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

Transport-neutral, owner-scoped Program invocation contracts. More...

#include <neograph/api.h>
#include <neograph/json.h>
#include <neograph/program/activation.h>
#include <neograph/program/result.h>
#include <cstdint>
#include <optional>
#include <string>
#include <string_view>
#include <vector>
Include dependency graph for invocation.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  neograph::program::InvocationArtifactReference
 A transport-neutral artifact witness attached to one invocation. More...
 
struct  neograph::program::InvocationDiagnostic
 A diagnostic is retained even when its severity is not known locally. More...
 
struct  neograph::program::InvocationTerminal
 Terminal publication is separate from the request. More...
 
struct  neograph::program::RunInvocation
 One owner-scoped Program request. More...
 

Enumerations

enum class  neograph::program::InvocationDiagnosticSeverity : std::uint8_t
 Severity is also open-ended on the wire; unknown values remain unknown.
 
enum class  neograph::program::InvocationIdempotencyResult : std::uint8_t
 Strict result for comparing one idempotency key in an owner mailbox.
 
enum class  neograph::program::InvocationTerminalStatus : std::uint8_t
 Terminal states accepted by the invocation contract.
 

Functions

NEOGRAPH_PROGRAM_API InvocationIdempotencyResult neograph::program::compare_invocations (const RunInvocation &existing, const RunInvocation &incoming)
 Compare requests at the durable boundary.
 
NEOGRAPH_PROGRAM_API InvocationTerminalStatus neograph::program::invocation_terminal_status_from_string (std::string_view value) noexcept
 Unknown wire values return Unknown; callers must not treat that as success.
 

Detailed Description

Transport-neutral, owner-scoped Program invocation contracts.

This value contract deliberately contains no transport/session or executor types. Adapters may map it to their wire envelopes, but the canonical bytes and idempotency decision remain owned by Program.

Definition in file invocation.h.

Function Documentation

◆ compare_invocations()

NEOGRAPH_PROGRAM_API InvocationIdempotencyResult neograph::program::compare_invocations ( const RunInvocation &  existing,
const RunInvocation &  incoming 
)

Compare requests at the durable boundary.

Different/empty keys are Distinct. Equal keys require byte-identical canonical payloads; any owner, sequence, identity, budget, input, correlation, or artifact change is a Conflict.

References neograph::program::compare_invocations().

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