Skip to main content

Module a2a_gateway

Module a2a_gateway 

Source
Expand description

[route.action] type = "a2a": one public address for an A2A agent running elsewhere (18.18.0, #65).

[[route]]
  [route.match]
  path = "/agents/billing/*"

  [route.action]
  type = "a2a"

  [route.action.a2a]
  upstream    = "http://10.0.0.7:9000"     # the agent; its card at <upstream>/.well-known/agent-card.json
  timeout_ms  = 300000                     # per request (SendMessage may wait for its task)
  audit_log   = true
  headers_env = { Authorization = "BILLING_AGENT_AUTHORIZATION" }  # sent upstream, from the environment

GET <path>/.well-known/agent-card.json serves the agent’s card with its JSON-RPC interface pointing here (the agent’s own address stays private); a POST to <path> goes to the agent’s JSON-RPC endpoint, streams included. The route’s middleware (auth, rate limits, IP filter) applies as to any route; the caller’s Authorization isn’t passed on, the configured headers are.

Structs§

A2aGatewayConfig