Repository navigation
Conversation
|
Independent verification + a trace of the adjacent paths (from a macOS host that runs a live Telegram gateway — these checks are the local suites plus a mock-adapter scenario, not a live-Telegram E2E): Suites (branch head
Scenario check (mock adapter; interim narration → 2 tool boundaries → final text different from the accumulated prefix):
Traced while reviewing:
Two small questions/suggestions:
Nice, and much smaller than I expected when I filed the feature request (#110564) — the one-line skip at the boundary is a clean shim onto the existing machinery. |
|
Thanks for the review notes — both are fair, and neither was a code bug. 1. Docs for Added a line in the same style as the neighboring
Commit: 2. Deliberate, not a missed case. The existing comments/PR wiring say as much:
So with |
|
@KoNit-K heads-up, no pressure: I packaged the small extensions from my review trace as a companion PR #110611 (quiet gate extended to |
…gate + docs (NousResearch#110564) Keeps one editable streaming preview alive for a whole agent turn — text on both sides of tool calls keeps updating the same message instead of sealing a new one at every boundary. Opt-in via display.platforms.telegram.streaming_single_message; Telegram-only; active while text tool-progress is quiet (off/log). Approach prototyped in NousResearch#110571 (@KoNit-K) — same config key and boundary skip — extended with: - quiet-progress gate also accepts tool_progress: log (no chat bubbles either; matches the gateway's own {"off", "log"} quiet definition); - mid-turn commentary no longer resets the evolving preview; - docs (messaging guide + cli-config.yaml.example) and boundary tests (2 tool boundaries, commentary continuity, quiet-mode gating). Tests: scripts/run_tests.sh tests/gateway/test_stream_consumer.py base: 3 failed → with change: 74 passed, 1 skipped; adjacent stream/display suites: 98 passed, 0 failed.
8991e7a to
97634e0
Compare
…gate + docs (NousResearch#110564) Keeps one editable streaming preview alive for a whole agent turn — text on both sides of tool calls keeps updating the same message instead of sealing a new one at every boundary. Opt-in via display.platforms.telegram.streaming_single_message; Telegram-only; active while text tool-progress is quiet (off/log). Approach prototyped in NousResearch#110571 (@KoNit-K) — same config key and boundary skip — extended with: - quiet-progress gate also accepts tool_progress: log (no chat bubbles either; matches the gateway's own {"off", "log"} quiet definition); - mid-turn commentary no longer resets the evolving preview; - docs (messaging guide + cli-config.yaml.example) and boundary tests (2 tool boundaries, commentary continuity, quiet-mode gating). Tests: scripts/run_tests.sh tests/gateway/test_stream_consumer.py base: 3 failed → with change: 74 passed, 1 skipped; adjacent stream/display suites: 98 passed, 0 failed.
|
The
This does not absorb the broader features in #110611. |
…gate + docs (NousResearch#110564) Keeps one editable streaming preview alive for a whole agent turn — text on both sides of tool calls keeps updating the same message instead of sealing a new one at every boundary. Opt-in via display.platforms.telegram.streaming_single_message; Telegram-only; active while text tool-progress is quiet (off/log). Approach prototyped in NousResearch#110571 (@KoNit-K) — same config key and boundary skip — extended with: - quiet-progress gate also accepts tool_progress: log (no chat bubbles either; matches the gateway's own {"off", "log"} quiet definition); - mid-turn commentary no longer resets the evolving preview; - docs (messaging guide + cli-config.yaml.example) and boundary tests (2 tool boundaries, commentary continuity, quiet-mode gating). Tests: scripts/run_tests.sh tests/gateway/test_stream_consumer.py base: 3 failed → with change: 74 passed, 1 skipped; adjacent stream/display suites: 98 passed, 0 failed.
What does this PR do?
Adds an opt-in Telegram streaming mode that keeps one draft message editable for an entire agent turn, including text emitted on both sides of tool calls.
Related Issue
Closes #110564
Type of Change
Changes Made
gateway/display_config.py— adds and normalizes the per-platform streaming single-message option, disabled by default.gateway/run_turn.py— enables the option only for Telegram turns with text tool progress disabled.gateway/stream_consumer.py— retains the active edit target at a tool boundary when the option is active.tests/gateway/test_stream_consumer.py— covers display resolution and a multi-segment turn that finalizes one message.How to Test
HERMES_PYTHON=/Users/blockkonit./Dev/hermes/hermes-agent/.venv/bin/python scripts/run_tests.sh tests/gateway/test_stream_consumer.py tests/gateway/test_display_config.py— 97 passed.display.platforms.telegram.streaming_single_message: trueandtool_progress: off; a turn with a tool boundary edits one Telegram message through the final response.off; the existing segmented message ordering remains in place.scripts/run_tests.sh tests/gateway/test_stream_consumer.py tests/gateway/test_display_config.pyEvidence
HERMES_PYTHON=/Users/blockkonit./Dev/hermes/hermes-agent/.venv/bin/python scripts/run_tests.sh tests/gateway/test_stream_consumer.py tests/gateway/test_display_config.py— 97 passed. — 97 passedChecklist
Code
Documentation & Housekeeping
cli-config.yaml.example: N/ACONTRIBUTING.mdorAGENTS.md: N/A