fix(prompt-gate): harden internal prompt dispatch

This commit is contained in:
YeonGyu-Kim
2026-05-19 16:02:18 +09:00
parent 6c63372ef9
commit 1492bffd20
49 changed files with 1488 additions and 141 deletions
+7 -2
View File
@@ -1,10 +1,11 @@
import type { createOpencodeClient } from "@opencode-ai/sdk"
import {
createInternalAgentContinuationTextPart,
isAmbiguousPromptDispatchFailure,
isRealUserMessage,
resolveInheritedPromptTools,
} from "../../shared"
import { dispatchInternalPrompt } from "../shared/prompt-async-gate"
import { dispatchInternalPrompt, isInternalPromptDispatchAccepted } from "../shared/prompt-async-gate"
import type { MessageData, ResumeConfig } from "./types"
const RECOVERY_RESUME_TEXT = "[session recovered - continuing previous task]"
@@ -43,6 +44,7 @@ export async function resumeSession(client: Client, config: ResumeConfig): Promi
client,
sessionID: config.sessionID,
source: "session-recovery",
queueBehavior: "defer",
input: {
path: { id: config.sessionID },
body: {
@@ -54,7 +56,10 @@ export async function resumeSession(client: Client, config: ResumeConfig): Promi
},
},
})
return promptResult.status === "dispatched"
if (promptResult.status === "failed" && isAmbiguousPromptDispatchFailure(promptResult.error)) {
return true
}
return isInternalPromptDispatchAccepted(promptResult)
} catch {
return false
}