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

One admitted ProgramVersion exposed through A2A. More...

#include <program_adapter.h>

Public Member Functions

void acknowledge_task (std::string_view task_id) const
 A terminal projection acknowledges the accepted mailbox record, if any.
 
program::ProgramHandle reconnect (std::string_view task_id) const
 Reconnect a run from the ProgramTransitionStore without replaying input.
 
Task reconnect_task (std::string_view task_id, std::string_view context_id={}) const
 Reconnect and immediately project a durable run.
 
std::vector< program::ProgramHandle > recover_pending () const
 Recover accepted, typed mailbox requests for this exact ProgramVersion.
 
program::ProgramHandle start (const Message &inbound, std::string_view task_id, std::string_view context_id) const
 Admit and start one request through the existing ProgramRuntime.
 
Task task_snapshot (const program::ProgramHandle &handle, std::string_view task_id, std::string_view context_id) const
 Project a live or terminal Program handle into an A2A Task.
 

Detailed Description

One admitted ProgramVersion exposed through A2A.

The default invocation is { "prompt": <text> } with a conservative policy-bounded budget. Callers with a different input contract should supply an exact RunInvocation builder; runtime-only ProgramInvocation never crosses this transport boundary.

Definition at line 41 of file program_adapter.h.

Member Function Documentation

◆ reconnect_task()

Task neograph::a2a::ProgramAgentAdapter::reconnect_task ( std::string_view  task_id,
std::string_view  context_id = {} 
) const

Reconnect and immediately project a durable run.

Throws if no durable Program run exists for this owner/task identity.

◆ recover_pending()

std::vector< program::ProgramHandle > neograph::a2a::ProgramAgentAdapter::recover_pending ( ) const

Recover accepted, typed mailbox requests for this exact ProgramVersion.

The mailbox is the durable inbound-publication boundary. For every unacknowledged request, this either reconnects its exact persisted run or atomically claims the requested run ID with the persisted invocation. It never rebuilds an invocation from a message or acknowledges a record. Records for another admitted ProgramVersion are left for that adapter.

◆ start()

program::ProgramHandle neograph::a2a::ProgramAgentAdapter::start ( const Message &  inbound,
std::string_view  task_id,
std::string_view  context_id 
) const

Admit and start one request through the existing ProgramRuntime.

A repeated collaboration idempotency key recovers the exact persisted invocation if a crash occurred after mailbox publication.

◆ task_snapshot()

Task neograph::a2a::ProgramAgentAdapter::task_snapshot ( const program::ProgramHandle &  handle,
std::string_view  task_id,
std::string_view  context_id 
) const

Project a live or terminal Program handle into an A2A Task.

The output and artifact identifiers are deterministic, so this projection is safe to rebuild after a dropped stream or server restart.


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