The A2A protocol uses types from the a2a-sdk package for agent-to-agent communication. These types follow the A2A protocol v0.3.0 specification.
Core Types
JSONRPCRequest
Represents a JSON-RPC request in the A2A protocol.
Fields:
id - Unique identifier for the request
method - The RPC method to call (e.g., “message/send”, “message/stream”)
params - Parameters for the method
jsonrpc - Protocol version (“2.0”)
JSONRPCResponse
Represents a JSON-RPC response.
Fields:
id - Request identifier this response corresponds to
result - The result data (if successful)
error - Error information (if failed)
jsonrpc - Protocol version (“2.0”)
JSONRPCError
Represents an error in a JSON-RPC response.
Fields:
code - Numeric error code
message - Human-readable error message
data - Additional error details (optional)
AgentCard
The agent card manifest that describes the agent’s capabilities.
Fields:
name - Agent name
description - Agent description
url - Agent base URL
version - Agent version
skills - List of agent skills
capabilities - Supported capabilities
additionalInterfaces - Additional communication interfaces
securitySchemes - Authentication schemes
security - Security requirements
defaultInputModes - Default input content types
defaultOutputModes - Default output content types
supportsAuthenticatedExtendedCard - Whether extended card is supported
signatures - Cryptographic signatures
AgentSkill
Describes a specific skill or capability the agent can perform.
Fields:
name - Skill identifier
description - Skill description
tags - Categorization tags (optional)
examples - Usage examples (optional)
AgentCapabilities
Describes the technical capabilities supported by the agent.
Fields:
streaming - Whether the agent supports streaming responses
statefulness - Whether the agent maintains conversation state
asyncProcessing - Whether the agent supports asynchronous task processing
SendStreamingMessageRequest
A specialized request type for streaming messages.
Extends JSONRPCRequest with streaming-specific parameters.
Task
Represents an asynchronous task.
Fields:
id - Task identifier
status - Current task status
state - Task state information
created - Creation timestamp
updated - Last update timestamp
TaskState
Enum representing task state values.
Values:
pending - Task is queued
working - Task is in progress
completed - Task finished successfully
failed - Task encountered an error
cancelled - Task was cancelled
TaskStatus
Represents the current status details of a task.
Fields:
state - Current task state (TaskState)
progress - Progress percentage (0-100, optional)
message - Status message (optional)
Usage Example
Import Path
Source: /home/daytona/workspace/source/src/agentor/a2a.py:4 Last modified on May 5, 2026