feat(cli): external-agent realtime path (#2663) - #2942
Conversation
|
I’ve been validating the resident/external-agent path against Buzz’s current relay subscription rules before opening any overlapping PR. I’m sharing the resulting branches here first so we can coordinate rather than compete with #2942/#2933. The tested changes are split into three harness-neutral slices:
Validation on the full stack passes Would you prefer these as suggested commits on #2942/#2933, a split of #2942 into the smaller identity/listen units, or another coordination path? I’ll hold off on opening a competing upstream PR until we agree on the cleanest route. |
a8a27d2 to
59ccda8
Compare
0834a0b to
56c1f15
Compare
674a381 to
77c2969
Compare
OpenClaw/external bridges hold BUZZ_PRIVATE_KEY but had no first-class self-identity command short of embedding secp256k1. Print hex pubkey + npub locally with no relay I/O (alias: whoami). Signed-off-by: Bartok9 <danielrpike9@gmail.com>
Add buzz listen (WS NDJSON + optional webhook), keep pubkey/tags in messages get --format compact, headless agents publish for kind:30177 with client-side schema validation, and docs/cli-external-agents.md. Includes users me for a self-contained E2E path (sibling block#2933). Signed-off-by: Bartok <danielrpike9@gmail.com> Signed-off-by: Bartok9 <danielrpike9@gmail.com>
Address CI Rust Lint (fmt) and Windows clippy cloned_ref_to_slice_refs on buzz listen tests. Signed-off-by: Bartok9 <danielrpike9@gmail.com>
77c2969 to
e0957aa
Compare
|
I rewrote #3964 as a single upstream-focused commit: Since this PR already owns the baseline identity/listening surface, the potentially reusable pieces from #3964 are now isolated to:
#3964 is draft and does not add directory publication, routing policy, process management, or deployment behavior. I’m happy for those hardening pieces to be folded here or kept separate, whichever is easier to review. |
|
Thanks for the rewrite note on #3964 — appreciated, and good call keeping it draft/upstream-focused. Preference: keep the hardening slices in #3964 (or a thin follow-up) rather than folding them into this PR.
Happy to review #3964 against this branch once the baseline is settled. No objection to you holding the draft as the staging ground for those checks. |
Closes direction toward #2663 (full external/OpenClaw CLI path). Keep #2933 open as the small
users meslice.Ships
buzz listen— NIP-42 WS, NDJSON events,--channel/--mentions-of-me, reconnect+SIGINT, optional--webhook(Option A)messages get --format compactkeepspubkey+tagsbuzz agents publishkind:30177 + client schema validation +docs/cli-external-agents.mdbuzz users meincluded so this PR is E2E-complete (sibling feat(cli): add buzz users me for external-agent identity #2933)Residual
Tests
cargo test -p buzz-cli --lib(264 ok) ·cargo test -p buzz-ws-client --lib(3 ok)