From 1399ba17ef8526d59d1495713812d923d3e7583e Mon Sep 17 00:00:00 2001 From: financialvice <100445773+financialvice@users.noreply.github.com> Date: Wed, 24 Jun 2026 12:56:14 -0700 Subject: [PATCH] Add Bedrock AI Gateway provider route --- .changeset/smooth-beds-grab.md | 5 +++++ packages/ai-gateway-provider/README.md | 1 + packages/ai-gateway-provider/src/providers.ts | 15 +++++++++++++++ .../ai-gateway-provider/test/endpoint.test.ts | 6 ++++++ 4 files changed, 27 insertions(+) create mode 100644 .changeset/smooth-beds-grab.md diff --git a/.changeset/smooth-beds-grab.md b/.changeset/smooth-beds-grab.md new file mode 100644 index 0000000000..9a4b6dad63 --- /dev/null +++ b/.changeset/smooth-beds-grab.md @@ -0,0 +1,5 @@ +--- +"ai-gateway-provider": patch +--- + +Add Amazon Bedrock endpoint routing for AI Gateway provider requests. diff --git a/packages/ai-gateway-provider/README.md b/packages/ai-gateway-provider/README.md index b52f29eacf..97ac665ebb 100644 --- a/packages/ai-gateway-provider/README.md +++ b/packages/ai-gateway-provider/README.md @@ -184,6 +184,7 @@ const aigateway = createAiGateway({ - OpenAI - Anthropic +- Amazon Bedrock - DeepSeek - Google AI Studio - Grok diff --git a/packages/ai-gateway-provider/src/providers.ts b/packages/ai-gateway-provider/src/providers.ts index e326041534..b226ac2881 100644 --- a/packages/ai-gateway-provider/src/providers.ts +++ b/packages/ai-gateway-provider/src/providers.ts @@ -77,6 +77,21 @@ export const providers = [ }, headerKey: "api-key", }, + { + name: "aws-bedrock", + regex: /^https:\/\/bedrock-runtime\.(?[^.]+)\.amazonaws\.com\/(?.*)$/, + transformEndpoint: (url: string) => { + const match = url.match( + /^https:\/\/bedrock-runtime\.(?[^.]+)\.amazonaws\.com\/(?.*)$/, + ); + if (!match || !match.groups) return url; + const { region, rest } = match.groups; + if (!region || rest === undefined) { + throw new Error("Failed to parse Amazon Bedrock endpoint URL."); + } + return `bedrock-runtime/${region}/${rest}`; + }, + }, { name: "openrouter", regex: /^https:\/\/openrouter\.ai\/api\//, diff --git a/packages/ai-gateway-provider/test/endpoint.test.ts b/packages/ai-gateway-provider/test/endpoint.test.ts index 408ba1295e..dd0686972d 100644 --- a/packages/ai-gateway-provider/test/endpoint.test.ts +++ b/packages/ai-gateway-provider/test/endpoint.test.ts @@ -52,6 +52,12 @@ const testCases = [ name: "azure-openai", url: "https://myresource.openai.azure.com/openai/deployments/mydeployment/chat/completions?api-version=2024-02-15-preview", }, + { + expected: + "bedrock-runtime/us-east-1/model/us.anthropic.claude-haiku-4-5-20251001-v1:0/invoke", + name: "aws-bedrock", + url: "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-haiku-4-5-20251001-v1:0/invoke", + }, ]; describe("ProvidersConfigs endpoint parsing", () => {