|
NeoGraph 0.16.0
A C++20 Graph Agent Engine Library — LangGraph for C++
|
Move-only builder for one sealed, process-local executable registry. More...
#include <registry.h>
Public Member Functions | |
| RegistrySnapshotBuilder & | add_core_endpoint_node (ExecutableManifest manifest, ExecutableRequirementResolver requirement_resolver) |
A built-in SchemaProvider endpoint node (#531): the manifest names its type (embed, image_generate, ..., job_collect). | |
| RegistrySnapshotBuilder & | add_core_llm_call (ExecutableManifest manifest, ExecutableRequirementResolver requirement_resolver) |
| Fixed NeoGraph implementations that may hold exact bound executables. | |
| RegistrySnapshotBuilder & | add_host_brokered_node (ExecutableManifest manifest, graph::NodeFactoryFn factory, json config_schema, json effects, ExecutableRequirementResolver requirement_resolver={}) |
| Host-reviewed broker nodes may retain only their exact declared bindings. | |
| RegistrySnapshotBuilder & | add_native (ExecutableManifest manifest, NativeControlBinding binding) & |
| Register a native callable for direct lookup without granting a JavaScript slot. | |
| RegistrySnapshotBuilder & | add_native (std::uint32_t import_slot, ExecutableManifest manifest, NativeControlBinding binding) & |
| Seal a native binding to one non-built-in JavaScript import slot. | |
Move-only builder for one sealed, process-local executable registry.
Node, reducer, and condition callables are copied into registry-owned std::function wrappers. Their capture graphs remain trusted embedding state: callers must keep borrowed captures valid and thread-safe. Requirement resolvers instead must deeply own immutable captures. Any callable semantic change requires a new implementation digest. Provider and tool entries contain metadata only; no runtime instance, transport client, or borrowed registry is retained.
Definition at line 110 of file registry.h.
| RegistrySnapshotBuilder & neograph::program::RegistrySnapshotBuilder::add_core_endpoint_node | ( | ExecutableManifest | manifest, |
| ExecutableRequirementResolver | requirement_resolver | ||
| ) |
A built-in SchemaProvider endpoint node (#531): the manifest names its type (embed, image_generate, ..., job_collect).
Its calls take the Core provider path, as llm_call's do: the host's provider call broker journals them, and a priced binding refuses them until the model catalogue can bound an endpoint call.
| RegistrySnapshotBuilder & neograph::program::RegistrySnapshotBuilder::add_core_llm_call | ( | ExecutableManifest | manifest, |
| ExecutableRequirementResolver | requirement_resolver | ||
| ) |
Fixed NeoGraph implementations that may hold exact bound executables.
Unlike arbitrary brokered C++ factories, these use the reviewed Core paths.
| RegistrySnapshotBuilder & neograph::program::RegistrySnapshotBuilder::add_host_brokered_node | ( | ExecutableManifest | manifest, |
| graph::NodeFactoryFn | factory, | ||
| json | config_schema, | ||
| json | effects, | ||
| ExecutableRequirementResolver | requirement_resolver = {} |
||
| ) |
Host-reviewed broker nodes may retain only their exact declared bindings.
The embedding host owns this native factory and its effect mediation; do not use this for model-authored or otherwise untrusted C++ factories.
| RegistrySnapshotBuilder & neograph::program::RegistrySnapshotBuilder::add_native | ( | std::uint32_t | import_slot, |
| ExecutableManifest | manifest, | ||
| NativeControlBinding | binding | ||
| ) | & |
Seal a native binding to one non-built-in JavaScript import slot.
The slot participates in the RegistrySnapshot fingerprint and is the only authority accepted by ng.hostCapability(slot, ...) at runtime.