fix(anthropic-auto-compact): improve session recovery with Continue prompt

- Replace recursive retry mechanism with explicit session.prompt_async('Continue')
- Clear all compaction state after successful revert to prevent state corruption
- Prevents infinite retry loops and improves session reliability

🤖 Generated with assistance of oh-my-opencode
This commit is contained in:
YeonGyu-Kim
2025-12-19 19:37:36 +09:00
parent b9e373ab39
commit 12cd3382aa

View File

@@ -492,14 +492,19 @@ export async function executeCompact(
fallbackState.revertAttempt++ fallbackState.revertAttempt++
fallbackState.lastRevertedMessageID = pair.userMessageID fallbackState.lastRevertedMessageID = pair.userMessageID
retryState.attempt = 0 // Clear all state after successful revert - don't recurse
truncateState.truncateAttempt = 0 clearSessionState(autoCompactState, sessionID)
autoCompactState.compactionInProgress.delete(sessionID) // Send "Continue" prompt to resume session
setTimeout(async () => {
setTimeout(() => { try {
executeCompact(sessionID, msg, autoCompactState, client, directory, experimental) await (client as Client).session.prompt_async({
}, 1000) path: { sessionID },
body: { parts: [{ type: "text", text: "Continue" }] },
query: { directory },
})
} catch {}
}, 500)
return return
} catch {} } catch {}
} else { } else {