From 8f670357faee7437463a54a959d7f59bd308475c Mon Sep 17 00:00:00 2001 From: Jerry-Xin Date: Mon, 16 Mar 2026 16:08:24 +0800 Subject: [PATCH] fix(agent): preserve modelIsFromFallback when callers omit isFromFallback Align modelIsFromFallback with the existing fallback pattern used by modelProvider and model fields: fall back to the existing entry value instead of hardcoding false when the caller does not supply the flag. This prevents a contextTokensUsed-only update from silently clearing a valid fallback state. --- src/auto-reply/reply/session-usage.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/auto-reply/reply/session-usage.ts b/src/auto-reply/reply/session-usage.ts index f6cb3071c08..9c0725c129f 100644 --- a/src/auto-reply/reply/session-usage.ts +++ b/src/auto-reply/reply/session-usage.ts @@ -88,7 +88,7 @@ export async function persistSessionUsageUpdate(params: { const patch: Partial = { modelProvider: params.providerUsed ?? entry.modelProvider, model: params.modelUsed ?? entry.model, - modelIsFromFallback: params.isFromFallback ?? false, + modelIsFromFallback: params.isFromFallback ?? entry.modelIsFromFallback, contextTokens: resolvedContextTokens, systemPromptReport: params.systemPromptReport ?? entry.systemPromptReport, updatedAt: Date.now(), @@ -124,7 +124,7 @@ export async function persistSessionUsageUpdate(params: { const patch: Partial = { modelProvider: params.providerUsed ?? entry.modelProvider, model: params.modelUsed ?? entry.model, - modelIsFromFallback: params.isFromFallback ?? false, + modelIsFromFallback: params.isFromFallback ?? entry.modelIsFromFallback, contextTokens: params.contextTokensUsed ?? entry.contextTokens, systemPromptReport: params.systemPromptReport ?? entry.systemPromptReport, updatedAt: Date.now(),