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::Link;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 callsResolver::resolvethenPrincipal::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 A2ATask(spec shape,TASK_STATE_*). Tasks survive restarts (GetTaskworks across lives), stream status/artifact frames from run/turn events, and cascade-cancel per RFC 0027 §6.