NeoGraph 0.16.0
A C++20 Graph Agent Engine Library — LangGraph for C++
Loading...
Searching...
No Matches
neograph::RuntimeTurnAssembler Class Referencefinal

Hydrates and verifies a ContextEpoch before constructing a provider request. More...

#include <runtime_turn_assembler.h>

Static Public Member Functions

static std::uint64_t estimate_input_tokens (const PreparedProviderRequest &request)
 Provider-neutral heuristic: the encoded request body's bytes, three per token.
 
static std::string normalized_request_digest (const PreparedProviderRequest &request)
 Canonical digest of dispatch-relevant request data, excluding callback and cancellation identity.
 
static std::optional< std::string > tools_digest (std::string_view encoded_body)
 Digest of the tools member of an encoded request body, which every family names tools.
 

Detailed Description

Hydrates and verifies a ContextEpoch before constructing a provider request.

The supplied request is a transport template: its messages must be empty so every prompt message is bound to the epoch's raw feed or selected artifacts.

Definition at line 42 of file runtime_turn_assembler.h.

Member Function Documentation

◆ estimate_input_tokens()

static std::uint64_t neograph::RuntimeTurnAssembler::estimate_input_tokens ( const PreparedProviderRequest &  request)
static

Provider-neutral heuristic: the encoded request body's bytes, three per token.

It counts the whole encoded request (messages, tool schemas and provider framing), not only the visible text, and it is not a proven upper bound of the tokens a provider counts or bills.

◆ tools_digest()

static std::optional< std::string > neograph::RuntimeTurnAssembler::tools_digest ( std::string_view  encoded_body)
static

Digest of the tools member of an encoded request body, which every family names tools.

A body without that member has no tools and gives no digest. A body that is not a JSON object cannot be read, and that is an error and not the absence of tools: std::invalid_argument.


The documentation for this class was generated from the following file: