Skip to content

Commit da325e0

Browse files
fix: keep Bedrock live smoke on Bedrock runtime
1 parent 17c8884 commit da325e0

1 file changed

Lines changed: 35 additions & 2 deletions

File tree

src/gateway/gateway-models.profiles.live.test.ts

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1873,6 +1873,34 @@ describe("buildLiveGatewayConfig", () => {
18731873
}
18741874
});
18751875

1876+
it("keeps explicit Bedrock fallback models on the Bedrock runtime", () => {
1877+
const cfg = buildLiveGatewayConfig({
1878+
cfg: {
1879+
models: {
1880+
providers: {
1881+
"amazon-bedrock": {
1882+
api: "openai-responses",
1883+
auth: "api-key",
1884+
baseUrl: "https://bedrock-runtime.ap-south-1.amazonaws.com",
1885+
models: [],
1886+
},
1887+
},
1888+
},
1889+
},
1890+
candidates: [
1891+
createExplicitLiveFallbackModel("amazon-bedrock", "global.anthropic.claude-sonnet-4-6"),
1892+
],
1893+
liveAgentDir: GATEWAY_LIVE_CONFIG_TEST_AGENT_DIR,
1894+
liveAgentWorkspaceDir: GATEWAY_LIVE_CONFIG_TEST_WORKSPACE,
1895+
});
1896+
1897+
expect(cfg.models?.providers?.["amazon-bedrock"]).toMatchObject({
1898+
api: "bedrock-converse-stream",
1899+
auth: "aws-sdk",
1900+
baseUrl: "https://bedrock-runtime.ap-south-1.amazonaws.com",
1901+
});
1902+
});
1903+
18761904
it("uses configured Bedrock discovery regions for explicit fallback models", () => {
18771905
const previousAwsRegion = process.env.AWS_REGION;
18781906
setTestEnvValue("AWS_REGION", "eu-west-1");
@@ -3068,6 +3096,7 @@ function toLiveModelConfig(model: Model): NonNullable<ModelProviderConfig["model
30683096
}
30693097

30703098
function mergeLiveProviderConfig(params: {
3099+
provider: string;
30713100
base: ModelProviderConfig | undefined;
30723101
discovered: ModelProviderConfig;
30733102
}): ModelProviderConfig {
@@ -3084,10 +3113,14 @@ function mergeLiveProviderConfig(params: {
30843113
mergedModels.set(model.id, model);
30853114
}
30863115
}
3116+
const useDiscoveredRuntime = normalizeProviderId(params.provider) === "amazon-bedrock";
30873117
return {
30883118
...params.discovered,
30893119
...params.base,
3090-
api: params.base?.api ?? params.discovered.api,
3120+
api: useDiscoveredRuntime ? params.discovered.api : (params.base?.api ?? params.discovered.api),
3121+
auth: useDiscoveredRuntime
3122+
? params.discovered.auth
3123+
: (params.base?.auth ?? params.discovered.auth),
30913124
baseUrl: params.base?.baseUrl ?? params.discovered.baseUrl,
30923125
timeoutSeconds: Math.max(
30933126
params.base?.timeoutSeconds ?? 0,
@@ -3288,7 +3321,7 @@ function buildLiveGatewayConfig(params: {
32883321
const discoveredProviders = Object.fromEntries(
32893322
Object.entries(candidateProviders).map(([provider, discovered]) => [
32903323
provider,
3291-
mergeLiveProviderConfig({ base: baseProviders[provider], discovered }),
3324+
mergeLiveProviderConfig({ provider, base: baseProviders[provider], discovered }),
32923325
]),
32933326
);
32943327
const nextProviders = {

0 commit comments

Comments
 (0)