Skip to main content
This guide sets up one A2A agent with explicit tool permissions, then exercises both non-streaming and streaming execution.

Prerequisites

  • A working Hyperterse project
  • Hyperterse CLI installed
  • A model API key in env vars (for this guide, OPENAI_API_KEY)

Configure root defaults

Add agent discovery + conservative tool defaults in .hyperterse:
.hyperterse
allow_none is a good default: agents must opt in to tools explicitly.

Define a tool the agent can use

app/tools/get-orders/config.terse

Define an agent

Create app/agents/support/config.terse:
If you are unsure what openai_compatible covers, see OpenAI compatibility.

Start runtime

Verify the route is mounted

You should see an A2A agent card for support.

Execute non-streaming request

Send a v1 A2A JSON-RPC request:

Execute streaming request (SSE)

Get a task later

If SendMessage returns a task-shaped result, you can retrieve it later:

Common issues

If your model call fails, verify provider credentials (OPENAI_API_KEY, GOOGLE_API_KEY, or Vertex env vars) are present.
If tool invocation is unexpectedly blocked, verify the agent allowlist and root agents.tool_access defaults in .hyperterse.
Next: