fix: treat human-interrupted paired runs as preempted

This commit is contained in:
ejclaw
2026-05-26 03:25:38 +09:00
parent 5a43cc531a
commit e20cd2f1b0
11 changed files with 317 additions and 52 deletions

View File

@@ -30,6 +30,7 @@ export interface GroupState {
runPhase: RunPhase;
runningTaskId: string | null;
currentRunId: string | null;
lastCloseRequest: { runId: string | null; reason: string | null } | null;
directTerminalDeliveries: Map<string, string>;
recentDirectTerminalDeliveries: Map<string, Map<string, string>>;
pendingMessages: boolean;
@@ -52,6 +53,7 @@ export function createGroupState(): GroupState {
runPhase: 'idle',
runningTaskId: null,
currentRunId: null,
lastCloseRequest: null,
directTerminalDeliveries: new Map(),
recentDirectTerminalDeliveries: new Map(),
pendingMessages: false,
@@ -139,6 +141,7 @@ export function transitionRunPhase(
export function resetRunState(state: GroupState, groupJid: string): void {
state.currentRunId = null;
state.runningTaskId = null;
state.lastCloseRequest = null;
state.startedAt = null;
state.process = null;
state.processName = null;