fix(atlas): retry boulder after runtime errors

This commit is contained in:
YeonGyu-Kim
2026-05-07 11:27:44 +09:00
parent 8e1719968b
commit 6a2d19d605
6 changed files with 183 additions and 22 deletions
+13
View File
@@ -25,6 +25,16 @@ export function createAtlasEventHandler(input: {
state.lastEventWasAbortError = isAbort
log(`[${HOOK_NAME}] session.error`, { sessionID, isAbort })
if (!isAbort) {
const previousInjectedAt = state.lastContinuationInjectedAt
await handleAtlasSessionIdle({ ctx, options, getState, sessionID })
if (
state.lastContinuationInjectedAt !== undefined
&& state.lastContinuationInjectedAt !== previousInjectedAt
) {
state.skipNextIdleAfterRuntimeErrorRetry = true
}
}
return
}
@@ -44,6 +54,7 @@ export function createAtlasEventHandler(input: {
const state = sessions.get(sessionID)
if (state) {
state.lastEventWasAbortError = false
state.skipNextIdleAfterRuntimeErrorRetry = false
if (role === "user") {
state.waitingForFinalWaveApproval = false
}
@@ -60,6 +71,7 @@ export function createAtlasEventHandler(input: {
const state = sessions.get(sessionID)
if (state) {
state.lastEventWasAbortError = false
state.skipNextIdleAfterRuntimeErrorRetry = false
}
}
return
@@ -71,6 +83,7 @@ export function createAtlasEventHandler(input: {
const state = sessions.get(sessionID)
if (state) {
state.lastEventWasAbortError = false
state.skipNextIdleAfterRuntimeErrorRetry = false
}
}
return