Expand description
Canonical A2A protobuf message types (lf.a2a.v1) and conversions.
The message structs in this module are generated by prost from the
canonical A2A v1.0 protobuf specification (proto/a2a_v1/a2a.proto,
kept byte-identical to the upstream spec file), making them
wire-compatible with the official Go, Python, and Java A2A SDKs.
The convert submodule provides conversions between these protobuf
types and the serde domain types in the rest of this crate. Both
directions are fallible with convert::ConvertError — hence TryFrom,
not From, on both sides:
TryFrom<Proto> for Domain— protobuf values can carry out-of-range enums, invalid timestamps, or missing required oneof fields.TryFrom<Domain> for Proto— domain values can carry data a protobuf message cannot faithfully hold: non-objectmetadata, a base64Rawpart that fails to decode, a count exceedingi32::MAX, or a number outside the exact-f64range ofgoogle.protobuf.Value.
This module is pure data, like the rest of the crate: no I/O and no
transport. The gRPC transports in the server and client crates generate
their tonic service stubs against these message types via extern_path.
Modules§
- convert
- Conversions between
lf.a2a.v1protobuf types and the serde domain types. - 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.
- 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
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.