mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-31 19:16:29 +00:00
Persistent sessions survive gateway restarts, but thread replies posted while the gateway was DOWN never reached the session — and the adapter had no way to notice, so the conversation silently resumed with a hole in it. On the first ordinary reply per thread after a restart (tracked by a fresh-process _thread_rehydration_checked set), fetch the thread delta past the persisted per-session watermark and inject any missed messages as part of the new turn via channel_context. Exactly-once per thread per process; when the watermark is empty (pre-feature sessions) the check is a no-op. Steady-state replies keep advancing the watermark so rehydration never re-injects messages the session already carries as ordinary turns. Prior history is never rewritten (prompt caching safe). Builds on the persisted watermark introduced for #23918. Salvaged from #33215 by @vexclawx31, reworked from a repeated full-thread injection guard into a watermark-delta injection so rehydration adds only what the session actually missed. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| adapter.py | ||
| block_kit.py | ||
| plugin.yaml | ||