feat(gateway): add watcher notification modes - #593
Conversation
Add configurable background process watcher notifications for gateway chats.\n\nSupport all, result, error, and off modes while preserving the current default behavior. Add unit tests and document the new config in the local contributor guidance and config example.\n\nRefs NousResearch#592
Add display.background_process_notifications config option to control how chatty the gateway process watcher is when using terminal(background=true, check_interval=...) from messaging platforms. Modes: - all: running-output updates + final message (default, current behavior) - result: only the final completion message - error: only the final message when exit code != 0 - off: no watcher messages at all Also supports HERMES_BACKGROUND_NOTIFICATIONS env var override. Includes 12 tests (5 config loading + 7 watcher behavior). Inspired by @PeterFile's PR #593. Closes #592.
|
Thanks for the idea @PeterFile — this is a genuinely useful feature. Your branch was 253 commits behind main with merge conflicts in 3/4 files, so we reimplemented it on the current codebase in PR #840, crediting you in the commit message. The implementation follows the same mode design you proposed ( |
Thanks for handling the conflicts and the credit! Glad to see the feature is useful. |
…ne spam - feat(gateway): configurable background_process_notifications (off/result/error/all) - fix(display): rate-limit spinner flushes to prevent line spam under patch_stdout Background notifications inspired by @PeterFile (PR #593).
Add display.background_process_notifications config option to control how chatty the gateway process watcher is when using terminal(background=true, check_interval=...) from messaging platforms. Modes: - all: running-output updates + final message (default, current behavior) - result: only the final completion message - error: only the final message when exit code != 0 - off: no watcher messages at all Also supports HERMES_BACKGROUND_NOTIFICATIONS env var override. Includes 12 tests (5 config loading + 7 watcher behavior). Inspired by @PeterFile's PR NousResearch#593. Closes NousResearch#592.
…x spinner line spam - feat(gateway): configurable background_process_notifications (off/result/error/all) - fix(display): rate-limit spinner flushes to prevent line spam under patch_stdout Background notifications inspired by @PeterFile (PR NousResearch#593).
Add display.background_process_notifications config option to control how chatty the gateway process watcher is when using terminal(background=true, check_interval=...) from messaging platforms. Modes: - all: running-output updates + final message (default, current behavior) - result: only the final completion message - error: only the final message when exit code != 0 - off: no watcher messages at all Also supports HERMES_BACKGROUND_NOTIFICATIONS env var override. Includes 12 tests (5 config loading + 7 watcher behavior). Inspired by @PeterFile's PR NousResearch#593. Closes NousResearch#592.
…x spinner line spam - feat(gateway): configurable background_process_notifications (off/result/error/all) - fix(display): rate-limit spinner flushes to prevent line spam under patch_stdout Background notifications inspired by @PeterFile (PR NousResearch#593).
Add display.background_process_notifications config option to control how chatty the gateway process watcher is when using terminal(background=true, check_interval=...) from messaging platforms. Modes: - all: running-output updates + final message (default, current behavior) - result: only the final completion message - error: only the final message when exit code != 0 - off: no watcher messages at all Also supports HERMES_BACKGROUND_NOTIFICATIONS env var override. Includes 12 tests (5 config loading + 7 watcher behavior). Inspired by @PeterFile's PR NousResearch#593. Closes NousResearch#592.
…x spinner line spam - feat(gateway): configurable background_process_notifications (off/result/error/all) - fix(display): rate-limit spinner flushes to prevent line spam under patch_stdout Background notifications inspired by @PeterFile (PR NousResearch#593).
What changed
display.background_process_notificationsfor gateway watcher updatesoff,result,error, andallmodescli-config.yaml.exampleandAGENTS.mdWhy
How to test
display.background_process_notificationsto each modecheck_intervaloff: no watcher messagesresult: only final messageerror: only final non-zero exit messageall: running updates plus final messagepytest -q tests/gateway/test_background_process_notifications.py tests/gateway/test_config.pyPlatforms tested
Closes #592