Skip to main content

Module a2a

Module a2a 

Source
Expand description

The A2A v2 surface (RFC 0029): agentd 2.0’s only external channel. Principals + roles + authorization (principals) and durable tasks + conversations (tasks). The transport binding (the HTTPS listener + the command/NL/gate routing into the runtime) is wired in the runtime at the P5 cut-over.

Re-exports§

pub use principals::CallerIdentity;
pub use principals::Principal;
pub use principals::Resolver;
pub use tasks::State;
pub use tasks::Task;

Modules§

principals
Principals, roles and authorization (RFC 0029 §2): every A2A caller is resolved to a principal (identity from mTLS SAN / bearer subject / AAuth agent id) with a role (operator | user | agent | anonymous), a set of granted tool patterns, and optional per-principal quotas. The authorization matrix — which methods/commands a role may call — is decided here; the served surface calls Resolver::resolve then Principal::may.
tasks
A2A tasks (RFC 0029 §4, RFC 0025 §3.3 task): a durable unit of work a principal started — a root-turn answer, a workflow run, or a subagent — projected as an A2A Task (spec shape, TASK_STATE_*). Tasks survive restarts (GetTask works across lives), stream status/artifact frames from run/turn events, and cascade-cancel per RFC 0027 §6.