|
NeoGraph 0.16.0
A C++20 Graph Agent Engine Library — LangGraph for C++
|
Core data types for the Agent Client Protocol (ACP). More...
#include <neograph/api.h>#include <neograph/json.h>#include <cstdint>#include <optional>#include <string>#include <string_view>#include <vector>Go to the source code of this file.
Classes | |
| struct | neograph::acp::AgentCapabilities |
| Capabilities advertised in InitializeResponse. More... | |
| struct | neograph::acp::ClientCapabilities |
| Capabilities advertised by the editor in InitializeRequest. More... | |
| struct | neograph::acp::FsCapabilities |
| File-system access methods the client offers (agent→client direction). More... | |
| struct | neograph::acp::InitializeRequest |
| Sent once by the editor when the connection comes up. More... | |
| struct | neograph::acp::McpCapabilities |
| MCP server transports the agent supports (stdio is implicit / required). More... | |
| struct | neograph::acp::McpServerConfig |
| Single MCP server entry attached to the session. More... | |
| struct | neograph::acp::PromptCapabilities |
| Capabilities the agent advertises about which prompt content it accepts. More... | |
| struct | neograph::acp::ResumeSessionRequest |
| Reconnect to a persisted session without replaying conversation history. More... | |
| struct | neograph::acp::SessionCapabilities |
| Optional session-management features the agent supports. More... | |
| struct | neograph::acp::SessionUpdate |
| Streaming event the agent sends while a prompt is in flight. More... | |
Enumerations | |
| enum class | neograph::acp::PermissionOutcomeKind |
| The user's decision (or absence thereof). More... | |
| enum class | neograph::acp::StopReason { EndTurn , MaxTokens , MaxTurnRequests , Refusal , Cancelled } |
| Why the agent stopped responding for this turn. More... | |
Core data types for the Agent Client Protocol (ACP).
ACP standardises editor↔agent communication the way LSP standardised editor↔language-server communication: JSON-RPC over stdio (local agents) or HTTP/WebSocket (remote). NeoGraph implements the agent side — exposing a compiled graph as an ACP server that an Spec: https://agentclientprotocol.com/protocol/v1/schema
The wire contract is ACP protocol version 1, checked against the official schema v1.25.0 (github.com/agentclientprotocol/agent-client-protocol, schema/v1 at commit 4cf3dd85, 2026-10-09). ProtocolVersion remains an integer; optional fields are omitted when unsupported and unknown fields are kept in raw JSON where this API exposes a pass-through object. Coverage in this header:
Deferred (modelled as free-form json for forward-compat): session/load, session/list, session/close, session/set_config_option, session/set_mode, fs/* and terminal/* (these are agent→client requests — added when the engine wants to use them). The wildcards are HTML-entity-escaped because the literal slash-star token opens a nested comment inside this Doxygen block — backticks and backslash escape don't help (the tokenizer runs before markdown, and \ renders literally). HTML entities are the cleanest source-and-render fix.
Definition in file types.h.
|
strong |
|
strong |
Why the agent stopped responding for this turn.
Values mirror the official ACP schema (schema/v1/schema.json: StopReason). ACPServer emits EndTurn for a turn that succeeded, Cancelled after session/cancel, Refusal for a provider safety block (NG.SafetyBlocked), MaxTurnRequests when the run hit its step limit and MaxTokens when a node reported the run's model-token budget exhausted. Every other failure is a JSON-RPC error on session/prompt, never a stop reason.