Skip to content

Latest commit

 

History

History
45 lines (31 loc) · 2.19 KB

File metadata and controls

45 lines (31 loc) · 2.19 KB

Quickstart

Pick a backend (or run both side by side - they coexist on different ports). All paths work identically through core's tracing.bootstrap().

Phoenix backend

uv sync --all-packages
make phoenix-up                   # docker compose, always-on (or `make phoenix-fg` for foreground)
make phoenix-bootstrap            # one-time annotation configs + datasets
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:6006 make luca-demo
python -m webbrowser http://localhost:6006   # Phoenix Sessions tab

Tempo + Grafana backend

uv sync --all-packages
make tempo-up                     # docker compose Tempo + Grafana
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 make luca-demo
python -m webbrowser http://localhost:3000/d/luca-flow/luca-flow

Other backends

tracing.bootstrap() ships standard OTLP/HTTP - point it at Honeycomb, Datadog, or any OTel-native backend by setting OTEL_EXPORTER_OTLP_ENDPOINT. The protocol attributes (session.id, agent.role, o2r.*) work everywhere; backend-specific UX (annotation configs in Phoenix, dashboards in Grafana) is added by extension packages.

Commands

Agents route through the cli-guard gate; see ../.ward/ward.yaml (the transition bridge ../.coily/coily.yaml runs locally today). Humans: make help for the full target list.

Methods

  • message/send - send a message, get a Task back. The originator sets metadata.agent.id (sender) and optionally metadata.agent.target (recipient).
  • message/stream - same envelope, but the response is text/event-stream carrying A2A status-update / artifact-update events; the relay emits one a2a.message.stream_chunk span event per artifact.
  • tasks/get - retrieve a Task by id from the relay's in-memory store.
  • tasks/cancel - mark a Task canceled and emit an a2a.task.cancel span.

The peer agent serves an A2A AgentCard at /.well-known/agent.json; the relay's GET /peers aggregates them for discovery.

See also