hermes-agent/gateway
Teknium 5438e9c629 fix(whatsapp): default-profile UnscopedSecretError fallback + full bridge env set
Follow-ups on the #75382 salvage (review findings):
- _wenv/_get_wsecret now catch UnscopedSecretError and fall back to
  os.getenv for the DEFAULT profile's adapter, which constructs and sends
  outside any _profile_runtime_scope under multiplexing — a bare
  get_secret would crash its WhatsApp path (fixing one profile by
  breaking another). Same pattern as Slack SLACK_APP_TOKEN (#59739) and
  the Matrix recovery key. Scoped misses still return the default — no
  cross-profile borrow.
- bridge_env overlay extended to the full WHATSAPP_* set bridge.js
  consumes (DEBUG, FORWARD_OWNER_MESSAGES, REPLY_PREFIX,
  MAX_MESSAGE_LENGTH, CHUNK_DELAY_MS, SEND_TIMEOUT_MS).
- Removed the always-true conditional on WHATSAPP_MODE injection.
2026-08-02 00:11:50 -07:00
..
assets
…
builtin_hooks
…
platforms fix(whatsapp): default-profile UnscopedSecretError fallback + full bridge env set 2026-08-02 00:11:50 -07:00
relay feat(gateway): key Discord auto-thread sessions on prospective_thread_id (#76513) 2026-08-01 18:42:53 -07:00
__init__.py
…
authz_mixin.py fix(gateway): apply WhatsApp identity aliases to cloud pairing revoke 2026-08-02 11:50:05 +05:30
cgroup_cleanup.py
…
channel_directory.py fix(slack): resolve channel IDs to human-readable names 2026-07-23 12:01:24 -07:00
code_skew.py
…
config.py chore: remove unused imports and dead locals (ruff F401/F841 sweep) 2026-07-29 11:53:39 -07:00
cwd_placeholder.py
…
dead_targets.py fix(gateway): add utf-8 encoding to dead target registry 2026-07-24 15:47:12 -07:00
delivery.py fix(gateway): pass encoding="utf-8" to read_text/write_text in update path (#37423) 2026-07-24 15:47:12 -07:00
delivery_ledger.py fix(gateway,tools,agent): close leaked SQLite connections in delivery, delegation, and verification ledgers 2026-07-24 15:55:08 -07:00
display_config.py fix(slack): quiet Slack display defaults — no heartbeat/busy-ack breadcrumbs in channels 2026-07-23 11:34:11 -07:00
drain_control.py
…
hooks.py
…
kanban_watchers.py fix(kanban): deliver notifications from non-dispatch gateways 2026-07-31 21:52:11 -07:00
lifecycle_ledger.py fix(gateway): treat pid=None lifecycle sentinel as unknown ownership in mark_exited 2026-07-28 22:41:09 -07:00
memory_monitor.py
…
message_timestamps.py
…
mirror.py
…
pairing.py fix(gateway): apply WhatsApp identity aliases to cloud pairing revoke 2026-08-02 11:50:05 +05:30
platform_registry.py fix(teams): suppress SDK import-time dotenv instead of clearing environ 2026-08-01 15:34:19 -07:00
profile_routing.py
…
readiness.py fix(gateway): close readiness-probe SQLite connection deterministically 2026-07-24 15:55:08 -07:00
response_filters.py refactor(gateway): promote autonomous silence matcher to shared response_filters helper 2026-07-26 16:55:42 -07:00
restart.py fix(test): hermetic env-detection tests — pin container/supervisor/HOME probes (#422) 2026-07-29 18:55:10 -07:00
restart_loop_guard.py
…
rich_sent_store.py
…
run.py fix(gateway): hydrate cold profile secret sources 2026-08-02 00:11:50 -07:00
runtime_footer.py
…
scale_to_zero.py
…
session.py fix(tools): isolate model tools by multiplex profile 2026-08-02 00:11:50 -07:00
session_context.py fix(delegation): prevent child HERMES_SESSION_ID leak into parent process env 2026-07-31 22:32:55 -07:00
session_state.py refactor(gateway): consolidate 19 session-keyed dicts into SessionState (turn/conversation/persistent scopes; eliminates wholesale-reset races) 2026-07-29 12:11:15 -07:00
shutdown_flush.py fix: consolidate agent-history preservation into shutdown_flush module 2026-07-29 16:45:35 +05:30
shutdown_forensics.py fix: add explicit UTF-8 encoding to all subprocess text=True calls (#53428) 2026-07-24 11:45:57 -07:00
shutdown_watchdog.py fix(gateway): detect and report unclean shutdowns via lifecycle ledger (NS-608) 2026-07-28 22:41:09 -07:00
slash_access.py
…
slash_commands.py fix(gateway): run manual /compress under the profile secret scope 2026-08-02 00:11:50 -07:00
status.py fix(windows): native Windows correctness for CLI, gateway status, banner, and WSL browser paths 2026-07-29 23:16:18 -07:00
status_phrases.py
…
sticker_cache.py
…
stream_consumer.py fix(gateway): stop stale streamed finalize from suppressing the complete Telegram response 2026-08-01 10:51:55 -07:00
stream_dispatch.py
…
stream_events.py
…
streaming_tts_consumer.py feat(gateway): streaming TTS adapter contract and consumer (#60671) 2026-07-28 22:31:40 -07:00
systemd_notify.py fix(gateway): recover Discord websocket and event-loop stalls 2026-07-18 20:01:55 +05:30
turn_context.py refactor(gateway): extract run_sync onto TurnRunner (completes the TurnContext seam; AST-identical body) 2026-07-29 16:21:46 -07:00
turn_lease.py fix(gateway): per-session turn lease + conversation-scope funnel (#64934) (#67401) 2026-07-19 03:49:29 -07:00
wake.py fix(gateway): deliver kanban/delegate wake-ups to api_server sessions 2026-07-23 11:55:17 -07:00
whatsapp_identity.py
…