hermes-agent/hermes_cli/subcommands
Ben Barclay 6e88f7b6f7
feat(relay): Phase 5 Unit C — wake primitive (gateway side) (#51595)
Register a per-instance wakeUrl and forward it to the connector at
self-provision so a suspended gateway can be poked awake when buffered
work arrives (pairs with the connector-side WakePoker).

- relay_wake_url() resolver (env GATEWAY_RELAY_WAKE_URL, then
  gateway.relay_wake_url in config.yaml), mirroring relay_instance_id()
- thread wake_url through _post_provision (adds wakeUrl to the body only
  when set) + self_provision_relay (resolve, forward, log)
- hermes gateway enroll --wake-url <url> persists GATEWAY_RELAY_WAKE_URL
- document the §5.2 wake poke in relay-connector-contract.md §3.3
- tests: relay_wake_url resolution (env/config/absent), provision
  forwarding, body-only-when-set (6 new; 130 relay tests pass)

The actual reconnect+drain on wake is Unit B's loop; this unit only
wires the wake SIGNAL. Opt-in: absent wakeUrl => connector never pokes.
2026-06-24 11:00:11 +10:00
..
__init__.py
…
_shared.py
…
acp.py refactor(cli): promote 9 closure handlers to top-level + extract their parsers (god-file Phase 2 follow-up) 2026-06-07 22:56:23 -07:00
auth.py
…
backup.py
…
claw.py refactor(cli): promote 9 closure handlers to top-level + extract their parsers (god-file Phase 2 follow-up) 2026-06-07 22:56:23 -07:00
config.py
…
cron.py revert(cron): return cron job storage to per-profile (reverts #32117 + #50993) (#51116) 2026-06-22 17:53:50 -07:00
dashboard.py fix(security): close hermes-0day MCP-persistence attack surface 2026-06-21 19:05:27 -07:00
debug.py
…
doctor.py
…
dump.py
…
gateway.py feat(relay): Phase 5 Unit C — wake primitive (gateway side) (#51595) 2026-06-24 11:00:11 +10:00
gui.py
…
hooks.py
…
import_cmd.py
…
insights.py refactor(cli): promote 9 closure handlers to top-level + extract their parsers (god-file Phase 2 follow-up) 2026-06-07 22:56:23 -07:00
login.py fix(cli): deprecated `hermes login` fails gracefully for any provider 2026-06-17 12:55:40 +05:30
logout.py
…
logs.py
…
mcp.py fix(mcp): preserve stdio argv passthrough 2026-06-11 08:59:55 -07:00
memory.py refactor(cli): promote 9 closure handlers to top-level + extract their parsers (god-file Phase 2 follow-up) 2026-06-07 22:56:23 -07:00
model.py
…
pairing.py refactor(cli): promote 9 closure handlers to top-level + extract their parsers (god-file Phase 2 follow-up) 2026-06-07 22:56:23 -07:00
plugins.py refactor(cli): promote 9 closure handlers to top-level + extract their parsers (god-file Phase 2 follow-up) 2026-06-07 22:56:23 -07:00
postinstall.py
…
profile.py fix(profile): make clone-from a full source selector 2026-06-13 07:33:58 -07:00
prompt_size.py
…
security.py
…
setup.py
…
skills.py feat(skills): find & diff user-modified bundled skills 2026-06-18 12:26:20 +05:30
slack.py feat(slack): add --no-assistant flag to manifest generation 2026-06-23 11:30:10 -07:00
status.py
…
tools.py refactor(cli): promote 9 closure handlers to top-level + extract their parsers (god-file Phase 2 follow-up) 2026-06-07 22:56:23 -07:00
uninstall.py
…
update.py
…
version.py
…
webhook.py
…
whatsapp.py
…