Repository navigation
Conversation
2ef523c to
3c1277e
Compare
|
CI note: the previous run failed only in This was unrelated to the Bot Mode changes. The exact PR merge tree already passed GitHub would not allow me to rerun the failed job without upstream repository admin rights, so I pushed the empty commit The replacement run passed, including contributor attribution, the full Python suite, Windows-only tests, and the final required-check aggregate. |
|
Thanks @helix4u for the same-install Desktop relay alternative, especially the fresh-route guard and keeping ordinary local CLI delivery available. #105442 is now merged at Closing this alternative as superseded; your freshness and fallback analysis helped make the delivery boundary concrete. The exact relay implementation was not copied. Unowned targets retain their CLI lane, and CLI-only/non-advertising owners are not claimed as supported by this change. Restart older running backends after upgrading. |
What does this PR do?
Local
message_agentdeliveries normally open the target profile's canonicalBot Chatthrough a one-shot CLI process. When Desktop already owns that session, the single-owner lease correctly rejects the subprocess withalready has a live owner, but the message is not delivered.This keeps the existing CLI delivery as the first choice. Only after that exact refusal does the runner move the same message through Hermes' existing Desktop Bot relay and
prompt.submitpath.This is a narrower alternative to #101564. It reuses the relay already shipped for cross-connection Bot Mode delivery instead of adding another filesystem mailbox and Desktop/TUI polling subsystem.
Related Issue
Fixes #101060
Related: #101293, #101564
Type of Change
Changes Made
How to Test
Bot Chatin Desktop so Desktop owns its session lease.message_agentfor the receiving bot.Focused automated verification performed:
npm test -- src/plugins/hermes-bots/relay.test.ts(22 passed)npm run typecheck(passed)scripts/run_tests.sh tests/tools/test_bot_mode_dm.py tests/tools/test_bot_relay.py tests/tui_gateway/test_bot_relay_methods.py -q -j 4bot_mode_dmand gateway roster tests with the installed Hermes environment; all changed-path assertions passed.python -m py_compilefor all changed Python source and test files (passed)git diff --check origin/main(passed)python scripts/check-windows-footguns.py --diff origin/mainreported only four pre-existing test-file findings already present onorigin/main.Checklist
Code
fix(scope):,feat(scope):, etc.)pytest tests/ -qand all tests passDocumentation & Housekeeping
docs/, docstrings) — or N/Acli-config.yaml.exampleif I added/changed config keys — or N/ACONTRIBUTING.mdorAGENTS.mdif I changed architecture or workflows — or N/AScreenshots / Logs
N/A. The regression is covered by focused relay and delivery-path tests.