Skip to main content

Crate a2a_protocol_types

Crate a2a_protocol_types 

Source
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

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").