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

Immutable, owner-scoped Program modules and bounded child composition. More...

#include <neograph/program/admission.h>
#include <neograph/program/coordinate.h>
#include <neograph/program/store_call.h>
#include <neograph/program/version.h>
#include <asio/awaitable.hpp>
#include <cstdint>
#include <functional>
#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include <vector>
Include dependency graph for module.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  neograph::program::BlockingModuleStore
 A ModuleStore for a caller that cannot suspend. More...
 
struct  neograph::program::ChildProgramBinding
 A child version and its immutable bundle, paired before dispatch. More...
 
struct  neograph::program::ChildProgramDescriptor
 Child authority and budget are a strict attenuation of the parent module. More...
 
class  neograph::program::InMemoryModuleStore
 Small durable-boundary-compatible store used by the in-process resolver. More...
 
struct  neograph::program::ModuleLinkReceiptData
 Immutable proof that one child descriptor was linked to one exact admitted Program version. More...
 
struct  neograph::program::ModulePort
 Typed child port. More...
 
struct  neograph::program::ModuleResolution
 Result of resolving one module and its complete pinned dependency closure. More...
 
class  neograph::program::ModuleResolver
 Resolves exact, pinned modules. More...
 
class  neograph::program::ModuleStore
 The store of sealed Program modules, as the catalog uses it (#556). More...
 
struct  neograph::program::ProgramComposition
 Complete pre-dispatch composition proof for one parent Program. More...
 
class  neograph::program::ProgramModule
 Immutable module metadata. More...
 
struct  neograph::program::ProgramRuntimeChildBinding
 Runtime-only immutable child binding supplied by an owning resolver. More...
 
class  neograph::program::SyncModuleStore
 Base of a ModuleStore whose backend is synchronous. More...
 
class  neograph::program::VerifiedModuleResolver
 Immutable allowlist view over a verified ModuleResolution. More...
 

Functions

NEOGRAPH_PROGRAM_API ModuleLinkReceipt neograph::program::link_module_child (const ModuleResolution &resolution, const ProgramModule &parent, std::string_view child_name, const ProgramBundle &child_bundle, const ProgramVersion &child)
 Link one child descriptor from a verified module closure to an exact admitted ProgramVersion.
 
NEOGRAPH_PROGRAM_API void neograph::program::validate_module_resolution (const ModuleResolution &resolution)
 Validate a resolver-produced closure, including its pinned graph and receipts.
 
NEOGRAPH_PROGRAM_API void neograph::program::validate_program_composition (const ProgramBundle &parent_bundle, const ProgramComposition &composition)
 Validate the whole composed Program before any GraphEngine materialization.
 

Detailed Description

Immutable, owner-scoped Program modules and bounded child composition.

Definition in file module.h.

Function Documentation

◆ link_module_child()

NEOGRAPH_PROGRAM_API ModuleLinkReceipt neograph::program::link_module_child ( const ModuleResolution &  resolution,
const ProgramModule &  parent,
std::string_view  child_name,
const ProgramBundle &  child_bundle,
const ProgramVersion &  child 
)

Link one child descriptor from a verified module closure to an exact admitted ProgramVersion.

The operation is pure and fails closed on owner, lifecycle, port, capability, effect, identity, or budget mismatches.

References neograph::program::link_module_child().

Referenced by neograph::program::link_module_child().

◆ validate_program_composition()

NEOGRAPH_PROGRAM_API void neograph::program::validate_program_composition ( const ProgramBundle &  parent_bundle,
const ProgramComposition &  composition 
)

Validate the whole composed Program before any GraphEngine materialization.

This checks the module closure, all typed ports, exact child versions, authority/effect attenuation, bounded child budgets, and duplicate names or identities. It does not execute a child or create another executor.

References neograph::program::validate_program_composition().

Referenced by neograph::program::validate_program_composition().