

























@@ -984,30 +984,41 @@ function resolveConfiguredFallbackModel(params: {
984984const providerConfig = resolveConfiguredProviderConfig(cfg, provider);
985985const requestTimeoutMs = resolveProviderRequestTimeoutMs(providerConfig?.timeoutSeconds);
986986const configuredModel = findConfiguredProviderModel(providerConfig, provider, modelId);
987+if (!hasConfiguredFallbackSurface({ providerConfig, configuredModel, modelId })) {
988+return undefined;
989+}
990+const staticCatalogModel = configuredModel
991+ ? undefined
992+ : resolveBundledStaticCatalogModel({
993+ provider,
994+ modelId,
995+ cfg,
996+ workspaceDir,
997+includeRuntimeDiscovery: true,
998+});
999+const metadataModel = configuredModel ?? staticCatalogModel;
9871000const providerHeaders = sanitizeModelHeaders(providerConfig?.headers, {
9881001stripSecretRefMarkers: true,
9891002});
9901003const providerRequest = sanitizeConfiguredModelProviderRequest(providerConfig?.request);
991-const modelHeaders = sanitizeModelHeaders(configuredModel?.headers, {
1004+const modelHeaders = sanitizeModelHeaders(metadataModel?.headers, {
9921005stripSecretRefMarkers: true,
9931006});
9941007const resolvedParams = mergeConfiguredRuntimeModelParams({
9951008 cfg,
9961009 provider,
9971010 modelId,
9981011providerParams: providerConfig?.params,
999-configuredParams: configuredModel?.params,
1012+configuredParams: metadataModel?.params,
10001013});
1001-if (!hasConfiguredFallbackSurface({ providerConfig, configuredModel, modelId })) {
1002-return undefined;
1003-}
10041014const fallbackTransport = resolveProviderTransport({
10051015 provider,
10061016api:
10071017normalizeResolvedTransportApi(configuredModel?.api) ??
10081018resolveConfiguredProviderDefaultApi(providerConfig) ??
1019+normalizeResolvedTransportApi(staticCatalogModel?.api) ??
10091020"openai-responses",
1010-baseUrl: configuredModel?.baseUrl ?? providerConfig?.baseUrl,
1021+baseUrl: configuredModel?.baseUrl ?? providerConfig?.baseUrl ?? staticCatalogModel?.baseUrl,
10111022 cfg,
10121023 workspaceDir,
10131024 runtimeHooks,
@@ -1025,8 +1036,8 @@ function resolveConfiguredFallbackModel(params: {
10251036});
10261037const fallbackReasoning = resolveConfiguredFallbackReasoning({
10271038 provider,
1028-compat: configuredModel?.compat,
1029-reasoning: configuredModel?.reasoning,
1039+compat: metadataModel?.compat,
1040+reasoning: metadataModel?.reasoning,
10301041});
10311042return normalizeResolvedModel({
10321043 provider,
@@ -1037,37 +1048,40 @@ function resolveConfiguredFallbackModel(params: {
10371048attachModelProviderRequestTransport(
10381049{
10391050id: modelId,
1040-name: modelId,
1051+name: metadataModel?.name ?? modelId,
10411052api: requestConfig.api ?? "openai-responses",
10421053 provider,
10431054baseUrl: requestConfig.baseUrl,
10441055reasoning: fallbackReasoning,
10451056input: resolveProviderModelInput({
10461057 provider,
10471058 modelId,
1048-modelName: configuredModel?.name ?? modelId,
1049-input: configuredModel?.input,
1059+modelName: metadataModel?.name ?? modelId,
1060+input: metadataModel?.input,
10501061}),
1051-cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
1062+cost: metadataModel?.cost ?? { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
10521063contextWindow:
10531064configuredModel?.contextWindow ??
10541065providerConfig?.contextWindow ??
10551066providerConfig?.models?.[0]?.contextWindow ??
1067+staticCatalogModel?.contextWindow ??
10561068DEFAULT_CONTEXT_TOKENS,
10571069contextTokens:
10581070configuredModel?.contextTokens ??
10591071providerConfig?.contextTokens ??
1060-providerConfig?.models?.[0]?.contextTokens,
1072+providerConfig?.models?.[0]?.contextTokens ??
1073+staticCatalogModel?.contextTokens,
10611074maxTokens:
10621075configuredModel?.maxTokens ??
10631076providerConfig?.maxTokens ??
10641077providerConfig?.models?.[0]?.maxTokens ??
1078+staticCatalogModel?.maxTokens ??
10651079DEFAULT_CONTEXT_TOKENS,
10661080 ...(resolvedParams ? { params: resolvedParams } : {}),
10671081 ...(requestTimeoutMs !== undefined ? { requestTimeoutMs } : {}),
10681082headers: requestConfig.headers,
1069-compat: configuredModel?.compat,
1070-mediaInput: configuredModel?.mediaInput,
1083+compat: metadataModel?.compat,
1084+mediaInput: metadataModel?.mediaInput,
10711085} as Model,
10721086providerRequest,
10731087),
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。