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 serde_helpers::deser_from_slice;
pub use serde_helpers::deser_from_str;
pub use serde_helpers::SerBuffer;
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.
serde_helpers
Serialization helpers for reducing allocation overhead.
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").