Expand description
§A2A (Agent2Agent) Protocol Types
This crate provides the Rust data structures for the Agent2Agent (A2A) protocol,
a standard for interoperability between AI agents. The types are derived from the
official A2A JSON Schema for that specific release
and are designed for serialization and deserialization with serde.
The primary goal of A2A is to enable agents to:
- Discover each other’s capabilities via the
AgentCard. - Negotiate interaction modalities (text, files, structured data).
- Manage collaborative
Tasks. - Securely exchange information as
Messages.
Re-exports§
pub use agent_card::AgentCapabilities;pub use agent_card::AgentCard;pub use agent_card::AgentCardSignature;pub use agent_card::AgentExtension;pub use agent_card::AgentInterface;pub use agent_card::AgentProvider;pub use agent_card::AgentSkill;pub use agent_card::TransportProtocol;
Modules§
Structs§
- A2ARequest
- Represents a complete A2A JSON-RPC request, wrapping the payload with common fields.
- APIKey
Security Scheme - Defines a security scheme using an API key.
- Artifact
- Represents a file, data structure, or other resource generated by an agent during a task.
- Authenticated
Extended Card NotConfigured Error - An A2A-specific error indicating that the agent does not have an Authenticated Extended Card configured.
- Authorization
CodeO Auth Flow - Defines configuration details for the OAuth 2.0 Authorization Code flow.
- Cancel
Task Success Response - Represents a successful JSON-RPC response for the
tasks/cancelmethod. - Client
CredentialsO Auth Flow - Defines configuration details for the OAuth 2.0 Client Credentials flow.
- Content
Type NotSupported Error - An A2A-specific error indicating an incompatibility between the requested content types and the agent’s capabilities.
- Delete
Task Push Notification Config Params - Defines parameters for deleting a specific push notification configuration for a task.
- Delete
Task Push Notification Config Success Response - Represents a successful JSON-RPC response for the
tasks/pushNotificationConfig/deletemethod. - File
With Bytes - Represents a file with its content provided directly as a base64-encoded string.
- File
With Uri - Represents a file with its content located at a specific URI.
- GetAuthenticated
Extended Card Success Response - Represents a successful JSON-RPC response for the
agent/getAuthenticatedExtendedCardmethod. - GetTask
Push Notification Config Params With Id - Parameters for fetching a push notification configuration with a specific config ID.
- GetTask
Push Notification Config Success Response - Represents a successful JSON-RPC response for the
tasks/pushNotificationConfig/getmethod. - GetTask
Success Response - Represents a successful JSON-RPC response for the
tasks/getmethod. - HTTP
Auth Security Scheme - Defines a security scheme using HTTP authentication.
- ImplicitO
Auth Flow - Defines configuration details for the OAuth 2.0 Implicit flow.
- Internal
Error - An error indicating an internal error on the server.
- Invalid
Agent Response Error - An A2A-specific error indicating that the agent returned a response that does not conform to the specification for the current method.
- Invalid
Params Error - An error indicating that the method parameters are invalid.
- Invalid
Request Error - An error indicating that the JSON sent is not a valid Request object.
- JSON
Parse Error - An error indicating that the server received invalid JSON.
- JSONRPC
Error - Represents a JSON-RPC 2.0 Error object, included in an error response.
- JSONRPC
Error Response - Represents a JSON-RPC 2.0 Error Response object.
- JSONRPC
Message - Defines the base structure for any JSON-RPC 2.0 request, response, or notification.
- JSONRPC
Request - Represents a JSON-RPC 2.0 Request object.
- JSONRPC
Success Response - Represents a successful JSON-RPC 2.0 Response object.
- List
Task Push Notification Config Params - Defines parameters for listing all push notification configurations associated with a task.
- List
Task Push Notification Config Success Response - Represents a successful JSON-RPC response for the
tasks/pushNotificationConfig/listmethod. - Message
- Represents a single message in the conversation between a user and an agent.
- Message
Send Configuration - Defines configuration options for a
message/sendormessage/streamrequest. - Message
Send Params - Defines the parameters for a request to send a message to an agent.
- Method
NotFound Error - An error indicating that the requested method does not exist or is not available.
- MutualTLS
Security Scheme - Defines a security scheme using mTLS authentication.
- OAuth2
Security Scheme - Defines a security scheme using OAuth 2.0.
- OAuth
Flows - Defines the configuration for the supported OAuth 2.0 flows.
- Open
IdConnect Security Scheme - Defines a security scheme using OpenID Connect.
- PasswordO
Auth Flow - Defines configuration details for the OAuth 2.0 Resource Owner Password flow.
- Push
Notification Authentication Info - Defines authentication details for a push notification endpoint.
- Push
Notification Config - Defines the configuration for setting up push notifications for task updates.
- Push
Notification NotSupported Error - An A2A-specific error indicating that the agent does not support push notifications.
- Send
Message Success Response - Represents a successful JSON-RPC response for the
message/sendmethod. - Send
Streaming Message Success Response - Represents a successful JSON-RPC response for the
message/streammethod. - SetTask
Push Notification Config Success Response - Represents a successful JSON-RPC response for the
tasks/pushNotificationConfig/setmethod. - Task
- Represents a single, stateful operation or conversation between a client and an agent.
- Task
Artifact Update Event - An event sent by the agent to notify the client that an artifact has been generated or updated.
- Task
IdParams - Defines parameters containing a task ID, used for simple task operations.
- Task
NotCancelable Error - An A2A-specific error indicating that the task is in a state where it cannot be canceled.
- Task
NotFound Error - An A2A-specific error indicating that the requested task ID was not found.
- Task
Push Notification Config - A container associating a push notification configuration with a specific task.
- Task
Query Params - Defines parameters for querying a task, with an option to limit history length.
- Task
Status - Represents the status of a task at a specific point in time.
- Task
Status Update Event - An event sent by the agent to notify the client of a change in a task’s status.
- Unsupported
Operation Error - An A2A-specific error indicating that the requested operation is not supported by the agent.
Enums§
- A2AError
- A discriminated union of all standard JSON-RPC and A2A-specific error types.
- A2ARequest
Payload - A discriminated union of all possible A2A request payloads, tagged by the
methodfield. - APIKey
Location - The location of an API key.
- Agent
Response - Main agent response type that can be either a Task or Message.
- Cancel
Task Response - Represents a JSON-RPC response for the
tasks/cancelmethod. - Delete
Task Push Notification Config Response - Represents a JSON-RPC response for the
tasks/pushNotificationConfig/deletemethod. - File
Content - Represents file content, which can be provided either directly as bytes or as a URI.
- GetAuthenticated
Extended Card Response - Represents a JSON-RPC response for the
agent/getAuthenticatedExtendedCardmethod. - GetTask
Push Notification Config Params - Defines parameters for fetching a specific push notification configuration for a task.
- GetTask
Push Notification Config Response - Represents a JSON-RPC response for the
tasks/pushNotificationConfig/getmethod. - GetTask
Response - Represents a JSON-RPC response for the
tasks/getmethod. - JSONRPC
Id - Represents a JSON-RPC 2.0 identifier, which can be a string, number, or null.
- JSONRPC
Response - A discriminated union representing all possible JSON-RPC 2.0 responses for the A2A specification methods.
- List
Task Push Notification Config Response - Represents a JSON-RPC response for the
tasks/pushNotificationConfig/listmethod. - Message
Role - Identifies the sender of a message.
- Part
- A discriminated union representing a part of a message or artifact.
- Security
Scheme - Defines a security scheme that can be used to secure an agent’s endpoints.
- Send
Message Response - Represents a JSON-RPC response for the
message/sendmethod. - Send
Message Result - The result of a
message/sendcall, which can be a direct reply or a task object. - Send
Streaming Message Response - Represents a JSON-RPC response for the
message/streammethod. - Send
Streaming Message Result - The result of a
message/streamcall, which can be an initial object or a streaming event. - SetTask
Push Notification Config Response - Represents a JSON-RPC response for the
tasks/pushNotificationConfig/setmethod. - Task
State - Defines the lifecycle states of a Task.