fix(stop-continuation): clear stop state for native work-starting commands

This commit is contained in:
YeonGyu-Kim
2026-04-10 18:47:18 +09:00
parent 9532440cb2
commit de156578ea
2 changed files with 129 additions and 0 deletions
+15
View File
@@ -1,5 +1,6 @@
import type { CreatedHooks } from "../create-hooks"
import { parseRalphLoopArguments } from "../hooks/ralph-loop/command-arguments"
import { log } from "../shared/logger"
type CommandExecuteBeforeInput = {
command: string
@@ -45,6 +46,13 @@ export function createCommandExecuteBeforeHandler(args: {
})
output.message ??= {}
output.message[NATIVE_LOOP_TRIGGERED_FLAG] = true
if (hooks.stopContinuationGuard?.isStopped(sessionID)) {
hooks.stopContinuationGuard.clear(sessionID)
log("[stop-continuation] Stop state cleared by native command", {
sessionID,
command: normalizedCommand,
})
}
} else if (normalizedCommand === "cancel-ralph") {
hooks.ralphLoop.cancelLoop(sessionID)
output.message ??= {}
@@ -58,6 +66,13 @@ export function createCommandExecuteBeforeHandler(args: {
&& hasPartsOutput(output)
) {
await hooks.startWork["command.execute.before"]?.(input, output)
if (hooks.stopContinuationGuard?.isStopped(sessionID)) {
hooks.stopContinuationGuard.clear(sessionID)
log("[stop-continuation] Stop state cleared by native command", {
sessionID,
command: normalizedCommand,
})
}
}
}
}