


























@@ -819,11 +819,16 @@ export async function runPreparedReply(
819819 ? piRuntime.resolveEmbeddedSessionLane(sessionKey ?? sessionIdFinal)
820820 : undefined;
821821const laneSize = sessionLaneKey ? getQueueSize(sessionLaneKey) : 0;
822-if (resolvedQueue.mode === "interrupt" && sessionLaneKey && laneSize > 0) {
822+const activeRunQueueMode = effectiveResetTriggered ? "interrupt" : resolvedQueue.mode;
823+const activeSessionIdForInterrupt = piRuntime?.resolveActiveEmbeddedRunSessionId(sessionKey);
824+if (
825+activeRunQueueMode === "interrupt" &&
826+sessionLaneKey &&
827+(laneSize > 0 || activeSessionIdForInterrupt)
828+) {
823829const cleared = clearCommandLane(sessionLaneKey);
824-const activeSessionId = piRuntime?.resolveActiveEmbeddedRunSessionId(sessionKey);
825830const aborted = piRuntime?.abortEmbeddedPiRun(
826-activeSessionId ?? preparedSessionState.sessionId,
831+activeSessionIdForInterrupt ?? preparedSessionState.sessionId,
827832);
828833logVerbose(`Interrupting ${sessionLaneKey} (cleared ${cleared}, aborted=${aborted})`);
829834}
@@ -856,22 +861,24 @@ export async function runPreparedReply(
856861};
857862};
858863let { activeSessionId, isActive, isStreaming } = resolveQueueBusyState();
859-const shouldSteer = isSteeringQueueMode(resolvedQueue.mode);
864+const shouldSteer = !effectiveResetTriggered && isSteeringQueueMode(resolvedQueue.mode);
860865const shouldFollowup =
861-resolvedQueue.mode === "followup" ||
862-resolvedQueue.mode === "collect" ||
863-resolvedQueue.mode === "steer-backlog";
866+!effectiveResetTriggered &&
867+(resolvedQueue.mode === "followup" ||
868+resolvedQueue.mode === "collect" ||
869+resolvedQueue.mode === "steer-backlog");
864870const activeRunQueueAction = resolveActiveRunQueueAction({
865871 isActive,
866872isHeartbeat: opts?.isHeartbeat === true,
867873 shouldFollowup,
868-queueMode: resolvedQueue.mode,
874+queueMode: activeRunQueueMode,
875+resetTriggered: effectiveResetTriggered,
869876});
870877if (isActive && activeRunQueueAction === "run-now") {
871878const queueState = await resolvePreparedReplyQueueState({
872879 activeRunQueueAction,
873880activeSessionId: activeSessionId ?? resolveActiveQueueSessionId(),
874-queueMode: resolvedQueue.mode,
881+queueMode: activeRunQueueMode,
875882 sessionKey,
876883sessionId: sessionIdFinal,
877884abortActiveRun: (activeRunSessionId) =>
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。