Each panel shows a friendly Result view first; switch to JSON for the raw response.
A2A 1.0 uses proto-style JSON: PascalCase methods (SendMessage, SendStreamingMessage),
role ROLE_USER, parts as { "text": … }. Every call below is a real JSON-RPC request.
Echo Agent
Replies Echo: <your text> as a single Message (the synchronous union-type response).
Text Stats Agent
Returns a Task (Submitted → Working → artifact → Completed). Computes character/word/line counts.
Long-Running Agent
Duration comes from the text: 30s, 10m, 2h, 1d (default 4s).
Split into 5–20 steps, each emitting a Working status update + a progress-log artifact chunk. Include the word
fail to force a failure. Cancellation is honored mid-step.
Rich Content Agent
One message bundling four part types: text, structured data (JSON),
an inline raw PNG, and a url reference.
Input-Required Agent
Turn 1 pauses in INPUT_REQUIRED asking for your name. Turn 2 sends the answer with the
same taskId/contextId to resume and complete.
Conversation Agent
A stateful conversation on one long-lived task. Each turn keeps the same task
INPUT_REQUIRED and grows its history; the agent recalls what you've said. Say
bye to finish with a transcript artifact.
Inspector Agent
Send a message with one or more part types and the agent reports each part's kind, media type, filename and size. Try a single part type, or all three at once.
Storyteller Agent
Picks one of five fantasy short stories at random and streams it paragraph by paragraph
(slowly) into one story artifact — the way an LLM streams tokens. The Result view
assembles the prose, paragraphs and all, as it arrives.
Markdown Agent
Returns a text part tagged text/markdown. The Result view renders it as
formatted Markdown; the JSON tab shows the raw part including its mediaType.
Faulty Agent
Shows how errors surface. Handled reports a terminal Failed task with a clear
message (the recommended pattern). Unhandled rethrows — preview2 collapses that into a generic
-32006 with no detail, which is why handled is preferred.
JSON-RPC method reference
Every agent endpoint accepts these methods (support varies by agent — see each card's tags).
| Method | Purpose | Key params |
|---|---|---|
SendMessage | Send a message; returns a Message or a Task | message, configuration? |
SendStreamingMessage | Same, but streams events over SSE | message |
GetTask | Fetch a task by id | id, historyLength? |
ListTasks | List tasks (pagination) | pageSize?, pageToken? |
CancelTask | Cancel a running task | id |
SubscribeToTask | Re-attach to an in-flight task's event stream | id |
Discovery: each agent's card is at /{agent}/.well-known/agent-card.json
(echo also at /.well-known/agent-card.json). Health: /health.
CreateTaskPushNotificationConfig & co.) returns -32003 — push is delivered via the
inline configuration.pushNotificationConfig instead. The extended agent card isn't configurable, so no
agent advertises it. configuration.returnImmediately: true runs a task in the background.Configurable simulated latency via A2A_WORK_DELAY_MS. See the
project agent cards and the README for details.