A2A integration

gemini-cua speaks the Agent2Agent (A2A) protocol so peer agents can discover this service and delegate natural-language browser QA tasks.

Discovery

GET http://gemini-cua.apps2.povio.dev/.well-known/agent-card.json

The Agent Card describes skills, input/output modes, and the JSON-RPC endpoint.

JSON-RPC

POST http://gemini-cua.apps2.povio.dev/a2a

Standard A2A methods (message/send, task get/cancel, etc.) via the official a2a-sdk. When CUA_API_KEY is set, include Bearer / X-API-Key on RPC calls. The Agent Card itself stays public for discovery.

Skill

Sample client flow

# 1) Discover
curl -s http://gemini-cua.apps2.povio.dev/.well-known/agent-card.json | jq

# 2) Send a task (JSON-RPC message/send) — shape per A2A 1.0
# Use a2a-sdk client or inspector:
#   https://github.com/a2aproject/a2a-inspector

# Message text example:
#   url: https://www.povio.com
#   Open the site, reject cookies, open Work → Case Studies, summarize.

How it maps to jobs

Each A2A task creates an internal /v1/jobs record, waits for completion (up to ~15 minutes), then completes the A2A task with the job summary and links. Long browser runs stay async from the client’s perspective when using streaming/task polling.

Also available: MCP · Swagger.