






























@@ -4,6 +4,7 @@ import { hasSessionAutoModelFallbackProvenance } from "../../agents/agent-scope.
44import {
55modelKey,
66normalizeModelRef,
7+normalizeStoredOverrideModel,
78resolvePersistedOverrideModelRef,
89} from "../../agents/model-selection.js";
910import { resolveSessionParentSessionKey } from "../../channels/plugins/session-conversation.js";
@@ -39,10 +40,14 @@ export function resolveStoredModelOverride(params: {
3940parentSessionKey?: string;
4041defaultProvider: string;
4142}): StoredModelOverride | null {
43+const directOverride = normalizeStoredOverrideModel({
44+providerOverride: params.sessionEntry?.providerOverride,
45+modelOverride: params.sessionEntry?.modelOverride,
46+});
4247const direct = resolvePersistedOverrideModelRef({
4348defaultProvider: params.defaultProvider,
44-overrideProvider: params.sessionEntry?.providerOverride,
45-overrideModel: params.sessionEntry?.modelOverride,
49+overrideProvider: directOverride.providerOverride,
50+overrideModel: directOverride.modelOverride,
4651});
4752if (direct) {
4853return { ...direct, source: "session" };
@@ -55,10 +60,14 @@ export function resolveStoredModelOverride(params: {
5560return null;
5661}
5762const parentEntry = params.sessionStore[parentKey];
63+const normalizedParentOverride = normalizeStoredOverrideModel({
64+providerOverride: parentEntry?.providerOverride,
65+modelOverride: parentEntry?.modelOverride,
66+});
5867const parentOverride = resolvePersistedOverrideModelRef({
5968defaultProvider: params.defaultProvider,
60-overrideProvider: parentEntry?.providerOverride,
61-overrideModel: parentEntry?.modelOverride,
69+overrideProvider: normalizedParentOverride.providerOverride,
70+overrideModel: normalizedParentOverride.modelOverride,
6271});
6372if (!parentOverride) {
6473return null;
@@ -71,12 +80,20 @@ function resolveModelRefKey(params: {
7180overrideProvider?: string;
7281overrideModel?: string;
7382}): string | null {
74-const ref = resolvePersistedOverrideModelRef(params);
83+const normalizedOverride = normalizeStoredOverrideModel({
84+providerOverride: params.overrideProvider,
85+modelOverride: params.overrideModel,
86+});
87+const ref = resolvePersistedOverrideModelRef({
88+defaultProvider: params.defaultProvider,
89+overrideProvider: normalizedOverride.providerOverride,
90+overrideModel: normalizedOverride.modelOverride,
91+});
7592if (!ref) {
7693return null;
7794}
78-const normalized = normalizeModelRef(ref.provider, ref.model);
79-return modelKey(normalized.provider, normalized.model);
95+const normalizedRef = normalizeModelRef(ref.provider, ref.model);
96+return modelKey(normalizedRef.provider, normalizedRef.model);
8097}
81988299/** Detects heartbeat auto-fallback overrides that no longer match the primary model. */
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。