Skip to content

Commit b14ff96

Browse files
author
xin
committed
fix: resolve google provider default API to google-generative-ai (#88480)
When a configured Google provider/model row had no explicit but had a baseUrl set, the fallback defaulted to openai-completions, causing Gemini requests to route through the OpenAI Responses transport instead of the native @google/genai transport. Made resolveConfiguredProviderDefaultApi provider-aware: for the google provider, the default API is now google-generative-ai. Root cause: the generic fallback assumed any provider with a baseUrl should use openai-completions, which is incorrect for Google's native Gemini API.
1 parent e1a9817 commit b14ff96

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

  • src/agents/embedded-agent-runner

src/agents/embedded-agent-runner/model.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -339,12 +339,19 @@ function resolveProviderTransport(params: {
339339

340340
function resolveConfiguredProviderDefaultApi(
341341
providerConfig: InlineProviderConfig | undefined,
342+
provider?: string,
342343
): Api | undefined {
343344
const explicit = normalizeResolvedTransportApi(providerConfig?.api);
344345
if (explicit) {
345346
return explicit;
346347
}
347-
return providerConfig?.baseUrl ? "openai-completions" : undefined;
348+
if (!providerConfig?.baseUrl) {
349+
return undefined;
350+
}
351+
if (provider === "google") {
352+
return "google-generative-ai";
353+
}
354+
return "openai-completions";
348355
}
349356

350357
function resolveProviderRequestTimeoutMs(timeoutSeconds: unknown): number | undefined {
@@ -665,7 +672,7 @@ function applyConfiguredProviderOverrides(params: {
665672
metadataOverrideModel?.api ??
666673
providerConfig.api ??
667674
discoveredModel.api ??
668-
resolveConfiguredProviderDefaultApi(providerConfig),
675+
resolveConfiguredProviderDefaultApi(providerConfig, params.provider),
669676
baseUrl: metadataOverrideModel?.baseUrl ?? providerConfig.baseUrl ?? discoveredModel.baseUrl,
670677
cfg: params.cfg,
671678
workspaceDir: params.workspaceDir,
@@ -688,7 +695,7 @@ function applyConfiguredProviderOverrides(params: {
688695
api:
689696
resolvedTransport.api ??
690697
normalizeResolvedTransportApi(discoveredModel.api) ??
691-
resolveConfiguredProviderDefaultApi(providerConfig) ??
698+
resolveConfiguredProviderDefaultApi(providerConfig, params.provider) ??
692699
"openai-responses",
693700
baseUrl: resolvedTransport.baseUrl ?? discoveredModel.baseUrl,
694701
discoveredHeaders,
@@ -1031,7 +1038,7 @@ function resolveConfiguredFallbackModel(params: {
10311038
provider,
10321039
api:
10331040
normalizeResolvedTransportApi(configuredModel?.api) ??
1034-
resolveConfiguredProviderDefaultApi(providerConfig) ??
1041+
resolveConfiguredProviderDefaultApi(providerConfig, provider) ??
10351042
normalizeResolvedTransportApi(staticCatalogModel?.api) ??
10361043
"openai-responses",
10371044
baseUrl: configuredModel?.baseUrl ?? providerConfig?.baseUrl ?? staticCatalogModel?.baseUrl,

0 commit comments

Comments
 (0)