























@@ -73,6 +73,7 @@ import { AGENT_LANE_SUBAGENT } from "./lanes.js";
7373import { LiveSessionModelSwitchError } from "./live-model-switch.js";
7474import { loadManifestModelCatalog } from "./model-catalog.js";
7575import { runWithModelFallback } from "./model-fallback.js";
76+import type { ModelManifestNormalizationContext } from "./model-selection-normalize.js";
7677import {
7778buildConfiguredModelCatalog,
7879modelKey,
@@ -402,17 +403,19 @@ async function prepareAgentCommandExecution(
402403 workspaceDir,
403404env: process.env,
404405});
405-const manifestPlugins = manifestMetadataSnapshot.plugins;
406+const modelManifestContext = {
407+manifestPlugins: manifestMetadataSnapshot.plugins,
408+} satisfies ModelManifestNormalizationContext;
406409const configuredModel = resolveConfiguredModelRef({
407410 cfg,
408411defaultProvider: DEFAULT_PROVIDER,
409412defaultModel: DEFAULT_MODEL,
410-manifestPlugins,
413+...modelManifestContext,
411414});
412415const configuredThinkingCatalog = buildConfiguredModelCatalog({
413416 cfg,
414417 workspaceDir,
415-manifestPlugins,
418+...modelManifestContext,
416419});
417420const thinkingLevelsHint = formatThinkingLevels(
418421configuredModel.provider,
@@ -472,7 +475,7 @@ async function prepareAgentCommandExecution(
472475 outboundSession,
473476 workspaceDir,
474477 agentDir,
475-manifestPlugins,
478+modelManifestContext,
476479 runId,
477480 acpManager,
478481 acpResolution,
@@ -512,7 +515,7 @@ async function agentCommandInternal(
512515 runId,
513516 acpManager,
514517 acpResolution,
515-manifestPlugins,
518+modelManifestContext,
516519} = prepared;
517520let sessionEntry = prepared.sessionEntry;
518521@@ -764,12 +767,12 @@ async function agentCommandInternal(
764767const configuredDefaultRef = resolveDefaultModelForAgent({
765768 cfg,
766769agentId: sessionAgentId,
767-manifestPlugins,
770+...modelManifestContext,
768771});
769772const { provider: defaultProvider, model: defaultModel } = normalizeModelRef(
770773configuredDefaultRef.provider,
771774configuredDefaultRef.model,
772-{ manifestPlugins },
775+modelManifestContext,
773776);
774777let provider = defaultProvider;
775778let model = defaultModel;
@@ -802,7 +805,7 @@ async function agentCommandInternal(
802805catalog: [],
803806 defaultProvider,
804807 defaultModel,
805-manifestPlugins,
808+...modelManifestContext,
806809});
807810808811if (needsModelCatalog) {
@@ -813,7 +816,7 @@ async function agentCommandInternal(
813816 defaultProvider,
814817 defaultModel,
815818agentId: sessionAgentId,
816-manifestPlugins,
819+...modelManifestContext,
817820});
818821allowedModelCatalog = visibilityPolicy.allowedCatalog;
819822}
@@ -836,9 +839,11 @@ async function agentCommandInternal(
836839const overrideProvider = sessionEntry.providerOverride?.trim() || defaultProvider;
837840const overrideModel = sessionEntry.modelOverride?.trim();
838841if (overrideModel) {
839-const normalizedOverride = normalizeModelRef(overrideProvider, overrideModel, {
840- manifestPlugins,
841-});
842+const normalizedOverride = normalizeModelRef(
843+overrideProvider,
844+overrideModel,
845+modelManifestContext,
846+);
842847const key = modelKey(normalizedOverride.provider, normalizedOverride.model);
843848if (!visibilityPolicy.allowsKey(key)) {
844849const { updated } = applyModelOverrideToSessionEntry({
@@ -861,9 +866,11 @@ async function agentCommandInternal(
861866let storedModelOverride = sessionEntry?.modelOverride?.trim();
862867if (storedModelOverride) {
863868const candidateProvider = storedProviderOverride || defaultProvider;
864-const normalizedStored = normalizeModelRef(candidateProvider, storedModelOverride, {
865- manifestPlugins,
866-});
869+const normalizedStored = normalizeModelRef(
870+candidateProvider,
871+storedModelOverride,
872+modelManifestContext,
873+);
867874const key = modelKey(normalizedStored.provider, normalizedStored.model);
868875if (visibilityPolicy.allowsKey(key)) {
869876provider = normalizedStored.provider;
@@ -889,10 +896,10 @@ async function agentCommandInternal(
889896if (hasExplicitRunOverride) {
890897const explicitRef = explicitModelOverride
891898 ? explicitProviderOverride
892- ? normalizeModelRef(explicitProviderOverride, explicitModelOverride, { manifestPlugins })
893- : parseModelRef(explicitModelOverride, provider, { manifestPlugins })
899+ ? normalizeModelRef(explicitProviderOverride, explicitModelOverride, modelManifestContext)
900+ : parseModelRef(explicitModelOverride, provider, modelManifestContext)
894901 : explicitProviderOverride
895- ? normalizeModelRef(explicitProviderOverride, model, { manifestPlugins })
902+ ? normalizeModelRef(explicitProviderOverride, model, modelManifestContext)
896903 : null;
897904if (!explicitRef) {
898905throw new Error("Invalid model override.");
@@ -1107,7 +1114,7 @@ async function agentCommandInternal(
11071114 cfg,
11081115 provider,
11091116 model,
1110-manifestPlugins,
1117+...modelManifestContext,
11111118 runId,
11121119 agentDir,
11131120fallbacksOverride: effectiveFallbacksOverride,
@@ -1299,7 +1306,7 @@ async function agentCommandInternal(
12991306{ cause: err },
13001307);
13011308}
1302-const switchRef = normalizeModelRef(err.provider, err.model, { manifestPlugins });
1309+const switchRef = normalizeModelRef(err.provider, err.model, modelManifestContext);
13031310const switchKey = modelKey(switchRef.provider, switchRef.model);
13041311if (!visibilityPolicy.allowsKey(switchKey)) {
13051312log.info(
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。