mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-06-13 09:01:54 +00:00
Per-profile remote hosts (#39778) wired the chat/resume socket to a profile's remote backend, but session list + transcript reads still assumed every profile's state.db is a local file the primary can open. For a remote profile the local file is absent or stale, so the IDs the sidebar shows 404 the moment resume runs against the remote -- the "session not found -> new session" bug. Intercept the three session-read GETs in the hermes:api handler and route them to the owning remote backend (which serves its own state.db natively): GET /api/profiles/sessions -> splice each remote profile's real rows in GET /api/sessions/{id}[/messages] -> read from the remote for remote profiles No remote profiles configured -> untouched local fast path. A dead remote contributes nothing rather than breaking the sidebar. Verified end-to-end against a live remote backend: a remote-profile session resumes from remote history and continues on the remote across turns (history grows in place, no new session spawned). |
||
|---|---|---|
| .. | ||
| backend-probes.cjs | ||
| backend-probes.test.cjs | ||
| bootstrap-platform.cjs | ||
| bootstrap-platform.test.cjs | ||
| bootstrap-runner.cjs | ||
| bootstrap-runner.test.cjs | ||
| connection-config.cjs | ||
| connection-config.test.cjs | ||
| entitlements.mac.inherit.plist | ||
| entitlements.mac.plist | ||
| gateway-ws-probe.cjs | ||
| gateway-ws-probe.test.cjs | ||
| hardening.cjs | ||
| hardening.test.cjs | ||
| main.cjs | ||
| preload.cjs | ||