hermes-agent/web/src
Hermes Agent 45595f4805 feat(dashboard): add HTTP health probe for cross-container gateway detection
The dashboard's gateway status detection relied solely on local PID checks
(os.kill + /proc), which fails when the gateway runs in a separate container.

Changes:
- web_server.py: Add _probe_gateway_health() that queries the gateway's HTTP
  /health/detailed endpoint when the local PID check fails. Activated by
  setting the GATEWAY_HEALTH_URL env var (e.g. http://gateway:8642/health).
  Falls back to standard PID check when the env var is not set.
- api_server.py: Add GET /health/detailed endpoint that returns full gateway
  state (platforms, gateway_state, active_agents, pid, etc.) without auth.
  The existing GET /health remains unchanged for backwards compatibility.
- StatusPage.tsx: Handle the case where gateway_pid is null but the gateway
  is running remotely, displaying 'Running (remote)' instead of 'PID null'.

Environment variables:
- GATEWAY_HEALTH_URL: URL of the gateway health endpoint (e.g.
  http://gateway-container:8642/health). Unset = local PID check only.
- GATEWAY_HEALTH_TIMEOUT: Probe timeout in seconds (default: 3).
2026-04-14 15:41:30 -07:00
..
components feat(web): re-apply dashboard UI improvements on top of i18n 2026-04-14 10:23:43 -04:00
hooks feat: web UI dashboard for managing Hermes Agent (#8756) 2026-04-12 22:26:28 -07:00
i18n feat(dashboard): add HTTP health probe for cross-container gateway detection 2026-04-14 15:41:30 -07:00
lib fix(security): harden dashboard API against unauthenticated access (#9800) 2026-04-14 10:57:56 -07:00
pages feat(dashboard): add HTTP health probe for cross-container gateway detection 2026-04-14 15:41:30 -07:00
App.tsx feat(web): re-apply dashboard UI improvements on top of i18n 2026-04-14 10:23:43 -04:00
index.css feat: react-router, sidebar layout, sticky header, dropdown component, remove emojis, rounded corners 2026-04-14 00:01:18 -04:00
main.tsx feat(web): re-apply dashboard UI improvements on top of i18n 2026-04-14 10:23:43 -04:00