Skip to content

Commit 14e448e

Browse files
committed
fix: carry fast mode fallback state through runners
1 parent aa3797c commit 14e448e

2 files changed

Lines changed: 14 additions & 0 deletions

File tree

src/auto-reply/reply/agent-runner-execution.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2381,6 +2381,7 @@ export async function runAgentTurnWithFallback(params: {
23812381
fastModeStartedAtMs,
23822382
fastModeAutoOnSeconds: candidateFastMode.fastModeAutoOnSeconds,
23832383
fastModeAutoProgressState,
2384+
isFinalFallbackAttempt: runOptions?.isFinalFallbackAttempt,
23842385
timeoutMs: params.followupRun.run.timeoutMs,
23852386
runTimeoutOverrideMs: params.followupRun.run.runTimeoutOverrideMs,
23862387
runId,
@@ -2516,6 +2517,7 @@ export async function runAgentTurnWithFallback(params: {
25162517
agentHarnessRuntimeOverride: embeddedRunHarnessOverride,
25172518
fastModeStartedAtMs,
25182519
fastModeAutoProgressState,
2520+
isFinalFallbackAttempt: runOptions?.isFinalFallbackAttempt,
25192521
sandboxSessionKey: params.runtimePolicySessionKey,
25202522
prompt: params.commandBody,
25212523
transcriptPrompt: params.transcriptCommandBody,

src/cron/isolated-agent/run-executor.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import { createHash } from "node:crypto";
33
import { normalizeOptionalString } from "@openclaw/normalization-core/string-coerce";
44
import type { BootstrapContextMode } from "../../agents/bootstrap-files.js";
5+
import type { FastModeAutoProgressState } from "../../agents/fast-mode.js";
56
import { resolveCliRuntimeExecutionProvider } from "../../agents/model-runtime-aliases.js";
67
import { wrapUntrustedPromptDataBlock } from "../../agents/sanitize-for-prompt.js";
78
import { normalizeToolName } from "../../agents/tool-policy.js";
@@ -239,6 +240,11 @@ export function createCronPromptExecutor(params: {
239240
let fallbackProvider = params.liveSelection.provider;
240241
let fallbackModel = params.liveSelection.model;
241242
let runEndedAt = Date.now();
243+
const fastModeStartedAtMs = Date.now();
244+
const fastModeAutoProgressState: FastModeAutoProgressState = {
245+
offAnnounced: false,
246+
resetAnnounced: false,
247+
};
242248
let bootstrapPromptWarningSignaturesSeen = resolveBootstrapWarningSignaturesSeen(
243249
params.cronSession.sessionEntry.systemPromptReport,
244250
);
@@ -328,6 +334,9 @@ export function createCronPromptExecutor(params: {
328334
bootstrapContextRunKind: "cron",
329335
bootstrapPromptWarningSignaturesSeen,
330336
bootstrapPromptWarningSignature,
337+
fastModeStartedAtMs,
338+
fastModeAutoProgressState,
339+
isFinalFallbackAttempt: runOptions?.isFinalFallbackAttempt,
331340
});
332341
bootstrapPromptWarningSignaturesSeen = resolveBootstrapWarningSignaturesSeen(
333342
result.meta?.systemPromptReport,
@@ -393,6 +402,9 @@ export function createCronPromptExecutor(params: {
393402
return {
394403
fastMode: fastModeState.mode,
395404
fastModeAutoOnSeconds: fastModeState.fastAutoOnSeconds,
405+
fastModeStartedAtMs,
406+
fastModeAutoProgressState,
407+
isFinalFallbackAttempt: runOptions?.isFinalFallbackAttempt,
396408
};
397409
})(),
398410
verboseLevel: params.resolvedVerboseLevel,

0 commit comments

Comments
 (0)