Expand description
§A2A (Agent2Agent) Protocol Types
This crate provides the Rust data structures for the Agent2Agent (A2A) protocol,
generated from the canonical proto/a2a.proto definition via prost + pbjson.
All types are available directly as a2a_types::Foo.
Modules§
- o_
auth_ flows - Nested message and enum types in
OAuthFlows. - part
- Nested message and enum types in
Part. - security_
scheme - Nested message and enum types in
SecurityScheme. - send_
message_ response - Nested message and enum types in
SendMessageResponse. - stream_
response - Nested message and enum types in
StreamResponse.
Structs§
- Agent
Capabilities - Defines optional capabilities supported by an agent.
- Agent
Card - A self-describing manifest for an agent. It provides essential metadata including the agent’s identity, capabilities, skills, supported communication methods, and security requirements. Next ID: 20
- Agent
Card Signature - AgentCardSignature represents a JWS signature of an AgentCard. This follows the JSON format of an RFC 7515 JSON Web Signature (JWS).
- Agent
Extension - A declaration of a protocol extension supported by an Agent.
- Agent
Interface - Declares a combination of a target URL, transport and protocol version for interacting with the agent. This allows agents to expose the same functionality over multiple protocol binding mechanisms.
- Agent
Provider - Represents the service provider of an agent.
- Agent
Skill - Represents a distinct capability or function that an agent can perform.
- ApiKey
Security Scheme - Defines a security scheme using an API key.
- Artifact
- Artifacts represent task outputs.
- Authentication
Info - Defines authentication details, used for push notifications.
- Authorization
CodeO Auth Flow - Defines configuration details for the OAuth 2.0 Authorization Code flow.
- Cancel
Task Request - Represents a request for the
CancelTaskmethod. - Client
CredentialsO Auth Flow - Defines configuration details for the OAuth 2.0 Client Credentials flow.
- Delete
Task Push Notification Config Request - Represents a request for the
DeleteTaskPushNotificationConfigmethod. - Device
CodeO Auth Flow - Defines configuration details for the OAuth 2.0 Device Code flow (RFC 8628). This flow is designed for input-constrained devices such as IoT devices, and CLI tools where the user authenticates on a separate device.
- GetExtended
Agent Card Request - Represents a request for the
GetExtendedAgentCardmethod. - GetTask
Push Notification Config Request - Represents a request for the
GetTaskPushNotificationConfigmethod. - GetTask
Request - Represents a request for the
GetTaskmethod. - Http
Auth Security Scheme - Defines a security scheme using HTTP authentication.
- ImplicitO
Auth Flow - Deprecated: Use Authorization Code + PKCE instead.
- Internal
Error - An error indicating an internal error on the server.
- 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.
- 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.
- List
Task Push Notification Configs Request - Represents a request for the
ListTaskPushNotificationConfigsmethod. - List
Task Push Notification Configs Response - Represents a successful response for the
ListTaskPushNotificationConfigsmethod. - List
Tasks Request - Parameters for listing tasks with optional filtering criteria.
- List
Tasks Response - Result object for
ListTasksmethod containing an array of tasks and pagination information. - Message
Messageis one unit of communication between client and server. It can be associated with a context and/or a task. For server messages,context_idmust be provided, andtask_idonly if a task was created. For client messages, both fields are optional, with the caveat that if both are provided, they have to match (thecontext_idhas to be the one that is set on the task). If onlytask_idis provided, the server will infercontext_idfrom it.- Mutual
TlsSecurity 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.
- Part
Partrepresents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).- PasswordO
Auth Flow - Deprecated: Use Authorization Code + PKCE or Device Code.
- Security
Requirement - Defines the security requirements for an agent.
- Security
Scheme - Defines a security scheme that can be used to secure an agent’s endpoints. This is a discriminated union type based on the OpenAPI 3.2 Security Scheme Object. See: https://spec.openapis.org/oas/v3.2.0.html#security-scheme-object
- Send
Message Configuration - Configuration of a send message request.
- Send
Message Request - Represents a request for the
SendMessagemethod. - Send
Message Response - Represents the response for the
SendMessagemethod. - Stream
Response - A wrapper object used in streaming operations to encapsulate different types of response data.
- String
List - protolint:disable REPEATED_FIELD_NAMES_PLURALIZED A list of strings.
- Subscribe
ToTask Request - Represents a request for the
SubscribeToTaskmethod. - Task
Taskis the core unit of action for A2A. It has a current status and when results are created for the task they are stored in the artifact. If there are multiple turns for a task, these are stored in history.- Task
Artifact Update Event - A task delta where an artifact has been generated.
- 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
Status - A container for the status of a task
- 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.