Skip to main content

Module a2a

Module a2a 

Source
Expand description

a2a_call tool — invoke a remote A2A (Agent2Agent v1.0) agent.

A2A is an open protocol (Linux Foundation / originally Google) that lets agents built by different vendors delegate tasks to each other via HTTP+JSON.

§Protocol overview

  1. Client sends POST {base_url}/message:send with a SendMessageRequest.
  2. Server returns either a direct Message (synchronous) or a Task (async).
  3. If a Task is returned, the client polls GET {base_url}/tasks/{id} until the task reaches a terminal state (COMPLETED, FAILED, etc.).
  4. Artifacts from the completed task contain the final output.

Reference: https://a2a-protocol.org/v1.0.0/specification/

Structs§

A2aCallTool
Tool that calls a remote A2A v1.0 agent and returns its text output.
A2aCardTool
Tool that fetches and summarises a remote A2A Agent Card (GET /.well-known/agent.json).
A2aTaskCheckTool
Tool that checks the current state and artifacts of an A2A task.
AgentAuthentication
Authentication scheme described in the Agent Card.
AgentCapabilities
Capability flags from the A2A Agent Card.
AgentCard
Subset of the A2A v1.0 Agent Card returned by GET /.well-known/agent.json.
AgentSkill
One skill entry in the Agent Card.
Artifact
An artifact produced by the remote agent.
MessageResponse
A direct message response (no task tracking needed).
Part
A text, file, or data part inside a Message or Artifact.
Task
A task returned by POST /message:send or GET /tasks/{id}.
TaskStatus

Enums§

SendMessageResponse
Top-level response from POST /message:send.
TaskState
Task lifecycle state values from the A2A v1.0 spec.