mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-29 18:46:59 +00:00
A mid-stream steer/redirect cancels only the live model request and queues the correction for a rebuild. But the retry-wait, error-handling, and backoff-wait paths all treated the cancellation bit as a hard stop: clear_interrupt() destroyed the pending correction and the turn died with "Operation interrupted…" — the user's message silently lost. All three sites now preserve the redirect and rebuild the iteration from it, exactly like the InterruptedError handler. tui_gateway also gets the two suppressions its sibling surfaces already had: the "Operation interrupted: waiting for model response (…)" sentinel is cancellation metadata and no longer ships as assistant prose in message.complete (gateway/run.py and ACP already suppress it), and a leftover pending_steer returned by the turn is requeued as the next prompt instead of dropped (cli.py and gateway/run.py already do this). session.steer now records the correction on the inflight turn like session.redirect does, so a resume/reconnect mid-turn rebuilds the steered user bubble instead of losing it. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| _stdin_recovery.py | ||
| compute_host.py | ||
| entry.py | ||
| event_publisher.py | ||
| git_probe.py | ||
| host_supervisor.py | ||
| loop_noise.py | ||
| project_tree.py | ||
| render.py | ||
| server.py | ||
| slash_worker.py | ||
| synthetic_turn.py | ||
| transport.py | ||
| turn_marker.py | ||
| ws.py | ||