NeoGraph 0.16.0
A C++20 Graph Agent Engine Library — LangGraph for C++
Loading...
Searching...
No Matches
compiler.h File Reference

JSON → declarative topology parsing and runtime node linking. More...

#include <neograph/api.h>
#include <neograph/graph/loader.h>
#include <neograph/graph/scheduler.h>
#include <neograph/graph/types.h>
#include <map>
#include <memory>
#include <optional>
#include <set>
#include <string>
#include <vector>
Include dependency graph for compiler.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  neograph::graph::ChannelDef
 Declarative configuration for a single state channel. More...
 
struct  neograph::graph::CompiledGraph
 Parsed graph definition, ready for the engine to run. More...
 
struct  neograph::graph::CompilerDiagnostic
 One stable, machine-readable compiler finding. More...
 
struct  neograph::graph::FailureEdge
 #364: where a node's routable failure goes instead of failing the run. More...
 
struct  neograph::graph::FailureExit
 #364: a node whose completion ends the run as failed. More...
 
class  neograph::graph::GraphCompiler
 Stateless JSON parser and node-instantiation linker. More...
 
struct  neograph::graph::NodeRetryPolicySpec
 #364: one node's retry fields exactly as the author wrote them. More...
 
struct  neograph::graph::ParseReport
 Total result of parsing a topology document. More...
 
struct  neograph::graph::RoundTripReport
 Total result of translation-validation. More...
 
struct  neograph::graph::TopologySpec
 Declarative graph topology with no live node instances or runtime state. More...
 

Variables

constexpr int neograph::graph::kMinAttemptTimeoutMs = 100
 #364 bounds of NodeRetryPolicySpec::attempt_timeout_ms (milliseconds).
 
constexpr int neograph::graph::TOPOLOGY_SCHEMA_VERSION = 1
 Latest topology schema accepted by GraphCompiler.
 

Detailed Description

JSON → declarative topology parsing and runtime node linking.

GraphCompiler first parses JSON into a TopologySpec with no live nodes, then links that topology into a CompiledGraph by invoking node factories. It has no knowledge of runtime threading, checkpointing, or execution and no dependency on GraphEngine.

Why a separate stage: parsing failures surface here cleanly (malformed edge, unknown reducer, missing node type) before any runtime state is constructed, and the resulting CompiledGraph can be inspected or mutated in tests without spinning up the engine.

Definition in file compiler.h.