hermes-agent/acp_adapter
Junass1 5795b3be4e fix(acp): use SessionDB.replace_messages for atomic history rewrite
ACP's save_session() did a non-atomic clear_messages() + append_message()
loop. If any message hit an exception mid-loop (bad tool_call shape, etc.),
the DELETE had already committed and the persisted conversation was lost.

SessionDB.replace_messages() wraps DELETE + bulk INSERT in a single
BEGIN IMMEDIATE transaction that rolls back on any exception, so a bad
message can no longer clobber previously-persisted history.

Salvages @Awsh1's PR #13675 — uses the existing replace_messages()
helper (which covers more message fields than the PR's own copy)
instead of adding a duplicate.
2026-05-05 10:05:23 -07:00
..
__init__.py
__main__.py
auth.py
entry.py fix(mcp): move discovery out of model_tools import side effect (#16856) (#16899) 2026-04-28 01:17:58 -07:00
events.py
permissions.py
server.py Schedule ACP history replay and fence file output 2026-05-03 01:44:23 -07:00
session.py fix(acp): use SessionDB.replace_messages for atomic history rewrite 2026-05-05 10:05:23 -07:00
tools.py fix(acp): compact Zed tool replay rendering 2026-05-03 01:44:23 -07:00