fix(dream): advance cursor when tool errors were recovered, and report why a run did not complete

This commit is contained in:
flobo3
2026-08-22 02:05:40 +08:00
committed by chengyongru
parent dd993b4f70
commit d853ac239f
4 changed files with 162 additions and 11 deletions
+7 -1
View File
@@ -462,6 +462,7 @@ async def cmd_dream(ctx: CommandContext) -> OutboundMessage:
completed = MemoryStore.dream_run_completed(
resp,
had_tool_errors=progress.had_tool_errors,
recovered_tool_errors=progress.recovered_from_tool_errors,
)
if completed:
store.set_last_dream_cursor(last_cursor)
@@ -470,8 +471,13 @@ async def cmd_dream(ctx: CommandContext) -> OutboundMessage:
else:
content = f"Dream completed in {elapsed:.1f}s; no memory changes."
else:
reason = MemoryStore.dream_incompletion_reason(
resp,
had_tool_errors=progress.had_tool_errors,
recovered_tool_errors=progress.recovered_from_tool_errors,
)
content = (
f"Dream did not complete after {elapsed:.1f}s; "
f"Dream did not complete after {elapsed:.1f}s ({reason}); "
"memory cursor was not advanced."
)
except Exception as e: