agentd/a2a/mod.rs
1// SPDX-License-Identifier: AGPL-3.0-only
2//! The **A2A surface**: agentd's only external channel.
3//! Principals + roles + authorization ([`principals`]) and durable tasks +
4//! conversations ([`tasks`]). The transport binding — the HTTPS listener and
5//! the command/NL/gate routing into the runtime — lives in the runtime, so
6//! this module stays a pure model of who may call what and what a task is.
7
8/// Talking to another agent: the outbound half, in the spec's types.
9#[cfg(feature = "a2a")]
10pub mod peer;
11/// agentd's answers to the A2A specification's server ports.
12#[cfg(feature = "a2a")]
13pub mod ports;
14pub mod principals;
15/// Push notifications: telling a caller instead of making it watch.
16#[cfg(feature = "a2a")]
17pub mod push;
18/// The listener: identity in, protocol out.
19#[cfg(feature = "a2a")]
20pub mod serve;
21pub mod tasks;
22/// The wire projection, built from the specification's own types.
23#[cfg(feature = "a2a")]
24pub mod wire;
25
26pub use principals::{CallerIdentity, Principal, Resolver};
27pub use tasks::{Link, State, Task};