mirror of
https://github.com/block/buzz.git
synced 2026-10-30 05:51:46 +00:00
Extend the AgentBackend seam with reaction_add / profile_set and route two more command groups through it in keyless mode: - reactions add -> reaction.add (requires --channel, the host's scope; refuses --emoji-url, which is host-owned custom-emoji handling) - users set-profile -> profile.set (maps name/about/avatar; refuses --nip05, absent from the contract; requires >=1 field) BrokerBackend maps each to its ActionArgs and unwraps the EventPublished outcome, same as message.post. LocalBackend implements both for parity (reaction via build_reaction; profile as read-merge-write over the current kind:0, emulating the contract's 'absent fields left as-is'). Local command paths are untouched. Mock host and KEYLESS.md gain the two actions; two BrokerBackend round-trip tests added. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Joel Robotham <jrobotham@squareup.com>