fix(agents): honor explicit rate-limit cooldown probes in fallback runs

This commit is contained in:
Vignesh Natarajan
2026-03-05 20:02:36 -08:00
parent ce71fac7d6
commit d45353f95b
14 changed files with 150 additions and 25 deletions

View File

@@ -174,6 +174,7 @@ function runAgentAttempt(params: {
primaryProvider: string;
sessionStore?: Record<string, SessionEntry>;
storePath?: string;
allowRateLimitCooldownProbe?: boolean;
}) {
const effectivePrompt = resolveFallbackRetryPrompt({
body: params.body,
@@ -324,6 +325,7 @@ function runAgentAttempt(params: {
inputProvenance: params.opts.inputProvenance,
streamParams: params.opts.streamParams,
agentDir: params.agentDir,
allowRateLimitCooldownProbe: params.allowRateLimitCooldownProbe,
onAgentEvent: params.onAgentEvent,
bootstrapPromptWarningSignaturesSeen,
bootstrapPromptWarningSignature,
@@ -838,7 +840,7 @@ async function agentCommandInternal(
model,
agentDir,
fallbacksOverride: effectiveFallbacksOverride,
run: (providerOverride, modelOverride) => {
run: (providerOverride, modelOverride, runOptions) => {
const isFallbackRetry = fallbackAttemptIndex > 0;
fallbackAttemptIndex += 1;
return runAgentAttempt({
@@ -866,6 +868,7 @@ async function agentCommandInternal(
primaryProvider: provider,
sessionStore,
storePath,
allowRateLimitCooldownProbe: runOptions?.allowRateLimitCooldownProbe,
onAgentEvent: (evt) => {
// Track lifecycle end for fallback emission below.
if (