fix(prompt-gate): scope reservation releases

This commit is contained in:
YeonGyu-Kim
2026-05-15 21:52:29 +09:00
parent 2eec0d96d9
commit 2bd4944bad
8 changed files with 156 additions and 8 deletions
+4 -1
View File
@@ -2,6 +2,7 @@ import type { PluginInput } from "@opencode-ai/plugin"
import type { RalphLoopOptions, RalphLoopState } from "./types"
import { getTranscriptPath as getDefaultTranscriptPath } from "../claude-code-hooks/transcript"
import { releasePromptAsyncReservation } from "../shared/prompt-async-gate"
import { HOOK_NAME } from "./constants"
import { createLoopStateController } from "./loop-state-controller"
import { createRalphLoopEventHandler } from "./ralph-loop-event-handler"
@@ -71,7 +72,9 @@ export function createRalphLoopHook(
startLoop: (sessionID, prompt, loopOptions): boolean => {
const startSuccess = loopState.startLoop(sessionID, prompt, loopOptions)
if (startSuccess) {
releasePromptAsyncReservation(sessionID, "ralph-loop:start-loop")
releasePromptAsyncReservation(sessionID, "ralph-loop:start-loop", {
reservedBy: HOOK_NAME,
})
}
if (!startSuccess || typeof loopOptions?.messageCountAtStart === "number") {
return startSuccess