Expand description
A2A protocol v1.0 — pure data types with serde support.
This crate provides all wire types for the A2A protocol with zero I/O
dependencies. Add a2a-client or a2a-server for HTTP transport.
§Module overview
| Module | Contents |
|---|---|
error | error::A2aError, error::ErrorCode, error::A2aResult |
task | task::Task, task::TaskStatus, task::TaskState, ID newtypes |
message | message::Message, message::Part, message::PartContent |
artifact | artifact::Artifact, artifact::ArtifactId |
agent_card | agent_card::AgentCard, capabilities, skills |
security | security::SecurityScheme variants, OAuth flows |
events | events::StreamResponse, status/artifact update events |
jsonrpc | jsonrpc::JsonRpcRequest, jsonrpc::JsonRpcResponse |
params | Method parameter structs |
push | push::TaskPushNotificationConfig |
extensions | extensions::AgentExtension, extensions::AgentCardSignature |
responses | responses::SendMessageResponse, responses::TaskListResponse |
Re-exports§
pub use agent_card::AgentCapabilities;pub use agent_card::AgentCard;pub use agent_card::AgentInterface;pub use agent_card::AgentProvider;pub use agent_card::AgentSkill;pub use artifact::Artifact;pub use artifact::ArtifactId;pub use error::A2aError;pub use error::A2aResult;pub use error::ErrorCode;pub use events::StreamResponse;pub use events::TaskArtifactUpdateEvent;pub use events::TaskStatusUpdateEvent;pub use extensions::AgentCardSignature;pub use extensions::AgentExtension;pub use jsonrpc::JsonRpcError;pub use jsonrpc::JsonRpcErrorResponse;pub use jsonrpc::JsonRpcId;pub use jsonrpc::JsonRpcRequest;pub use jsonrpc::JsonRpcResponse;pub use jsonrpc::JsonRpcSuccessResponse;pub use jsonrpc::JsonRpcVersion;pub use message::FileContent;pub use message::Message;pub use message::MessageId;pub use message::MessageRole;pub use message::Part;pub use message::PartContent;pub use params::CancelTaskParams;pub use params::DeletePushConfigParams;pub use params::GetExtendedAgentCardParams;pub use params::GetPushConfigParams;pub use params::ListPushConfigsParams;pub use params::ListTasksParams;pub use params::MessageSendParams;pub use params::SendMessageConfiguration;pub use params::TaskIdParams;pub use params::TaskQueryParams;pub use push::AuthenticationInfo;pub use push::TaskPushNotificationConfig;pub use responses::AuthenticatedExtendedCardResponse;pub use responses::ListPushConfigsResponse;pub use responses::SendMessageResponse;pub use responses::TaskListResponse;pub use security::ApiKeyLocation;pub use security::ApiKeySecurityScheme;pub use security::AuthorizationCodeFlow;pub use security::ClientCredentialsFlow;pub use security::DeviceCodeFlow;pub use security::HttpAuthSecurityScheme;pub use security::ImplicitFlow;pub use security::MutualTlsSecurityScheme;pub use security::NamedSecuritySchemes;pub use security::OAuth2SecurityScheme;pub use security::OAuthFlows;pub use security::OpenIdConnectSecurityScheme;pub use security::PasswordOAuthFlow;pub use security::SecurityRequirement;pub use security::SecurityScheme;pub use security::StringList;pub use task::ContextId;pub use task::Task;pub use task::TaskId;pub use task::TaskState;pub use task::TaskStatus;pub use task::TaskVersion;
Modules§
- agent_
card - Agent card and capability discovery types.
- artifact
- Artifact types for the A2A protocol.
- error
- A2A protocol error types.
- events
- Server-sent event types for A2A streaming.
- extensions
- Agent extension and card-signature types.
- jsonrpc
- JSON-RPC 2.0 envelope types.
- message
- Message types for the A2A protocol.
- params
- JSON-RPC method parameter types.
- push
- Push notification configuration types.
- responses
- RPC method response types.
- security
- Security scheme types for A2A agent authentication.
- signing
- Agent card signing and verification (spec §10).
- task
- Task types for the A2A protocol.
Constants§
- A2A_
CONTENT_ TYPE - A2A-specific content type for JSON payloads.
- A2A_
VERSION - A2A protocol version string.
- A2A_
VERSION_ HEADER - HTTP header name for the A2A protocol version.
Functions§
- utc_
now_ iso8601 - Returns the current UTC time as an ISO 8601 string (e.g.
"2026-03-15T12:00:00Z").