Files
buzz/crates
Joel Robotham 6de8baef0b keyless: add the client half of the broker (transport + backend)
Client-side [C1] of the agent broker (block/buzz#6790): lets the buzz
CLI run without an agent nsec, routing reads and writes through a host
so relay traffic looks like a normal Buzz client.

- broker_client.rs: HttpBrokerClient implements the BrokerClient
  transport primitive the contract crate omits — POST /v1/action with an
  opaque bearer credential, parse an envelope regardless of HTTP status,
  never interpret a verdict. Correlation stays in execute().
- backend.rs: AgentBackend trait spoken in broker vocabulary, with two
  impls behind a Backend enum — BrokerBackend (keyless) and LocalBackend
  (nsec + relay, today's path). LocalBackend reuses the shared
  buzz_sdk::build_message builder, so there is no parallel message path.
- lib.rs: register the two modules.

Not yet wired into the command surface or provisioning. 8/8 unit tests
pass (4 transport, 4 backend); clippy -D warnings clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Joel Robotham <jrobotham@squareup.com>
2026-08-31 11:12:45 -07:00
..