fix(buzz): keep progress messages in thread
This commit is contained in:
+1
-1
@@ -1180,7 +1180,7 @@ def _resolve_progress_thread_id(
|
||||
return str(source_thread_id) if source_thread_id else None
|
||||
if source_thread_id:
|
||||
return str(source_thread_id)
|
||||
if platform_key in {"slack", "mattermost"} and event_message_id:
|
||||
if platform_key in {"slack", "mattermost", "buzz"} and event_message_id:
|
||||
return str(event_message_id)
|
||||
return None
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
"""Buzz progress/status thread-routing regressions."""
|
||||
|
||||
from gateway.run import _resolve_progress_thread_id
|
||||
|
||||
|
||||
def test_buzz_progress_without_source_thread_uses_triggering_event():
|
||||
"""Progress for a Buzz reply must inherit the triggering event anchor."""
|
||||
assert (
|
||||
_resolve_progress_thread_id(
|
||||
"buzz",
|
||||
source_thread_id=None,
|
||||
event_message_id="buzz-event-123",
|
||||
)
|
||||
== "buzz-event-123"
|
||||
)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
The Buzz adapter connects Hermes to a [Buzz](https://github.com/block/buzz) community — Block's open-source human+agent collaboration platform built on the Nostr protocol — and relays messages between Buzz channels (or DMs) and the agent. Outbound traffic shells out to the `buzz` CLI binary ("JSON in, JSON out"); inbound uses a native Nostr WebSocket subscription (via the already-bundled `websockets` package) with CLI polling as fallback. **No extra Python packages are required** — just the `buzz` binary.
|
||||
|
||||
Buzz renders markdown, so agent replies keep their formatting. Images are delivered as uploads (local files) or links (URLs). Replies can thread onto an existing message via its event id.
|
||||
Buzz renders markdown, so agent replies keep their formatting. Images are delivered as uploads (local files) or links (URLs). Replies can thread onto an existing message via its event id. When progress or status messages are enabled, they inherit the triggering Buzz event as their reply anchor instead of appearing as unrelated top-level channel posts.
|
||||
|
||||
Inbound messages arrive over a persistent NIP-42-authenticated Nostr WebSocket subscription by default (near-instant delivery), with automatic fallback to CLI polling when the WebSocket can't be established. Outbound messages always go through the `buzz` CLI. Control it with `transport` / `BUZZ_TRANSPORT`: `auto` (default), `websocket` (require WS, fail otherwise), or `poll`. If your relay membership uses NIP-OA owner attestation, set `BUZZ_AUTH_TAG` to the four-string auth tag JSON.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user