Skip to main content

a2a v1 specification

The system as a graph​

A command is accepted by the component that owns its context, emits the events one of its outcomes declares, and a dashed edge is a binding carrying an event into the next command. Design §9 begins one step earlier, at the actor who invokes the first command, and so does this graph: a solid edge out of an actor is a grant, and an actor drawn with no edge at all may invoke nothing — which is something the model says, not an arrow somebody forgot.

Bounded contexts​

  • Discovery (a2a.discovery) — The Agent Card an A2A agent publishes about itself: identity, interfaces, capabilities, skills and security schemes (A2A v1.0.1 section 4.4, proto messages AgentCard and below). 21 types, no entities, no views, one command, no events, four errors and one actor.
  • Tasks (a2a.tasks) — Tasks an A2A agent runs for its clients, the messages and artifacts they carry, and the push-notification configurations that follow them (A2A v1.0.1 sections 3 and 4.1-4.3, proto service A2AService). 16 types, two entities, four views, 16 commands, seven events, 12 errors and two actors.

Components​

A component is a unit of ownership, not a deployment. How many of each runs, and what each needs, is the topology.

a2a-agent — An A2A server agent, reached over JSON-RPC, gRPC or HTTP+JSON (A2A v1.0.1 section 5). It owns a2a.discovery and a2a.tasks. It accepts a2a.discovery.GetExtendedAgentCard, a2a.tasks.CancelTask, a2a.tasks.CompleteTask, a2a.tasks.CreateTaskPushNotificationConfig, a2a.tasks.DeleteTaskPushNotificationConfig, a2a.tasks.FailTask, a2a.tasks.GetTask, a2a.tasks.GetTaskPushNotificationConfig, a2a.tasks.ListTaskPushNotificationConfigs, a2a.tasks.RejectTask, a2a.tasks.RequireAuth, a2a.tasks.RequireInput, a2a.tasks.SendMessage, a2a.tasks.SendStreamingMessage, a2a.tasks.StartWorking, a2a.tasks.SubscribeToTask and a2a.tasks.UpdateArtifact. It publishes a2a.tasks.MessageStreamResponse, a2a.tasks.PushNotificationConfigCreated, a2a.tasks.PushNotificationConfigDeleted, a2a.tasks.TaskArtifactUpdated, a2a.tasks.TaskCreated, a2a.tasks.TaskStatusUpdated and a2a.tasks.TaskSubscriptionResponse.

The other pages​

pagewhat is on it
Discoverythe a2a.discovery vocabulary: its types, entities, views, commands, events, errors and actors
Tasksthe a2a.tasks vocabulary: its types, entities, views, commands, events, errors and actors
Interactionsevery binding, with what it guarantees and what happens when it fails
Type crossingsevery conversion this system permits, and the reason someone gave for it
Topologywhat each component needs in order to run

Generated from a2a v1 · model digest 911794dff39b27311ddc6db22aa294d7c70c823fd2310684ad996b6eab4c5cdf · contract digest f3a9f588bb74b749958999da8b7430eaf336cfa0d5e58a72b23699edc898a4dd. Do not edit this file; change the specification and regenerate it with task docs-generate.