@ai-sdk/amazon-bedrock 5.0.0-beta.7 → 5.0.0-beta.85

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/CHANGELOG.md +677 -4
  2. package/README.md +2 -0
  3. package/dist/anthropic/index.d.ts +10 -10
  4. package/dist/anthropic/index.js +151 -117
  5. package/dist/anthropic/index.js.map +1 -1
  6. package/dist/index.d.ts +36 -23
  7. package/dist/index.js +881 -604
  8. package/dist/index.js.map +1 -1
  9. package/dist/mantle/index.cjs +253 -0
  10. package/dist/mantle/index.cjs.map +1 -0
  11. package/dist/mantle/index.d.cts +99 -0
  12. package/dist/mantle/index.d.ts +99 -0
  13. package/dist/mantle/index.js +240 -0
  14. package/dist/mantle/index.js.map +1 -0
  15. package/docs/08-amazon-bedrock.mdx +310 -84
  16. package/mantle/index.d.ts +1 -0
  17. package/package.json +27 -20
  18. package/src/amazon-bedrock-api-types.ts +228 -0
  19. package/src/{bedrock-chat-options.ts → amazon-bedrock-chat-language-model-options.ts} +27 -8
  20. package/src/{bedrock-chat-language-model.ts → amazon-bedrock-chat-language-model.ts} +350 -180
  21. package/src/{bedrock-embedding-options.ts → amazon-bedrock-embedding-model-options.ts} +1 -1
  22. package/src/{bedrock-embedding-model.ts → amazon-bedrock-embedding-model.ts} +61 -29
  23. package/src/{bedrock-error.ts → amazon-bedrock-error.ts} +1 -1
  24. package/src/{bedrock-event-stream-decoder.ts → amazon-bedrock-event-stream-decoder.ts} +1 -1
  25. package/src/{bedrock-event-stream-response-handler.ts → amazon-bedrock-event-stream-response-handler.ts} +6 -6
  26. package/src/{bedrock-image-model.ts → amazon-bedrock-image-model.ts} +62 -38
  27. package/src/amazon-bedrock-image-settings.ts +9 -0
  28. package/src/{bedrock-prepare-tools.ts → amazon-bedrock-prepare-tools.ts} +22 -18
  29. package/src/{bedrock-provider.ts → amazon-bedrock-provider.ts} +53 -46
  30. package/src/amazon-bedrock-reasoning-metadata.ts +10 -0
  31. package/src/{bedrock-sigv4-fetch.ts → amazon-bedrock-sigv4-fetch.ts} +17 -9
  32. package/src/anthropic/amazon-bedrock-anthropic-fetch.ts +104 -0
  33. package/src/anthropic/{bedrock-anthropic-options.ts → amazon-bedrock-anthropic-options.ts} +7 -1
  34. package/src/anthropic/{bedrock-anthropic-provider.ts → amazon-bedrock-anthropic-provider.ts} +40 -24
  35. package/src/anthropic/index.ts +19 -7
  36. package/src/{convert-bedrock-usage.ts → convert-amazon-bedrock-usage.ts} +4 -4
  37. package/src/convert-to-amazon-bedrock-chat-messages.ts +556 -0
  38. package/src/index.ts +15 -8
  39. package/src/inject-fetch-headers.ts +1 -1
  40. package/src/mantle/bedrock-mantle-options.ts +15 -0
  41. package/src/mantle/bedrock-mantle-provider.ts +283 -0
  42. package/src/mantle/index.ts +6 -0
  43. package/src/{map-bedrock-finish-reason.ts → map-amazon-bedrock-finish-reason.ts} +4 -4
  44. package/src/reranking/{bedrock-reranking-api.ts → amazon-bedrock-reranking-api.ts} +3 -3
  45. package/src/reranking/{bedrock-reranking-options.ts → amazon-bedrock-reranking-model-options.ts} +1 -1
  46. package/src/reranking/{bedrock-reranking-model.ts → amazon-bedrock-reranking-model.ts} +32 -25
  47. package/dist/anthropic/index.d.mts +0 -91
  48. package/dist/anthropic/index.mjs +0 -397
  49. package/dist/anthropic/index.mjs.map +0 -1
  50. package/dist/index.d.mts +0 -194
  51. package/dist/index.mjs +0 -2329
  52. package/dist/index.mjs.map +0 -1
  53. package/src/anthropic/bedrock-anthropic-fetch.ts +0 -68
  54. package/src/bedrock-api-types.ts +0 -216
  55. package/src/bedrock-image-settings.ts +0 -6
  56. package/src/convert-to-bedrock-chat-messages.ts +0 -468
@@ -0,0 +1,253 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/mantle/index.ts
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
+ bedrockMantle: () => bedrockMantle,
24
+ createBedrockMantle: () => createBedrockMantle
25
+ });
26
+ module.exports = __toCommonJS(index_exports);
27
+
28
+ // src/mantle/bedrock-mantle-provider.ts
29
+ var import_internal = require("@ai-sdk/openai/internal");
30
+ var import_provider = require("@ai-sdk/provider");
31
+ var import_provider_utils2 = require("@ai-sdk/provider-utils");
32
+
33
+ // src/amazon-bedrock-sigv4-fetch.ts
34
+ var import_provider_utils = require("@ai-sdk/provider-utils");
35
+ var import_aws4fetch = require("aws4fetch");
36
+
37
+ // src/version.ts
38
+ var VERSION = true ? "5.0.0-beta.85" : "0.0.0-test";
39
+
40
+ // src/amazon-bedrock-sigv4-fetch.ts
41
+ function createSigV4FetchFunction(getCredentials, fetch, service = "bedrock") {
42
+ return async (input, init) => {
43
+ var _a, _b;
44
+ const effectiveFetch = fetch != null ? fetch : globalThis.fetch;
45
+ const request = input instanceof Request ? input : void 0;
46
+ const originalHeaders = (0, import_provider_utils.combineHeaders)(
47
+ (0, import_provider_utils.normalizeHeaders)(request == null ? void 0 : request.headers),
48
+ (0, import_provider_utils.normalizeHeaders)(init == null ? void 0 : init.headers)
49
+ );
50
+ const headersWithUserAgent = (0, import_provider_utils.withUserAgentSuffix)(
51
+ originalHeaders,
52
+ `ai-sdk/amazon-bedrock/${VERSION}`,
53
+ (0, import_provider_utils.getRuntimeEnvironmentUserAgent)()
54
+ );
55
+ let effectiveBody = (_a = init == null ? void 0 : init.body) != null ? _a : void 0;
56
+ if (effectiveBody === void 0 && request && request.body !== null) {
57
+ try {
58
+ effectiveBody = await request.clone().text();
59
+ } catch (e) {
60
+ }
61
+ }
62
+ const effectiveMethod = (_b = init == null ? void 0 : init.method) != null ? _b : request == null ? void 0 : request.method;
63
+ if ((effectiveMethod == null ? void 0 : effectiveMethod.toUpperCase()) !== "POST" || !effectiveBody) {
64
+ return effectiveFetch(input, {
65
+ ...init,
66
+ headers: headersWithUserAgent
67
+ });
68
+ }
69
+ const url = typeof input === "string" ? input : input instanceof URL ? input.href : input.url;
70
+ const body = prepareBodyString(effectiveBody);
71
+ const credentials = await getCredentials();
72
+ const signer = new import_aws4fetch.AwsV4Signer({
73
+ url,
74
+ method: "POST",
75
+ headers: Object.entries(headersWithUserAgent),
76
+ body,
77
+ region: credentials.region,
78
+ accessKeyId: credentials.accessKeyId,
79
+ secretAccessKey: credentials.secretAccessKey,
80
+ sessionToken: credentials.sessionToken,
81
+ service
82
+ });
83
+ const signingResult = await signer.sign();
84
+ const signedHeaders = (0, import_provider_utils.normalizeHeaders)(signingResult.headers);
85
+ const combinedHeaders = (0, import_provider_utils.combineHeaders)(headersWithUserAgent, signedHeaders);
86
+ return effectiveFetch(input, {
87
+ ...init,
88
+ body,
89
+ headers: combinedHeaders
90
+ });
91
+ };
92
+ }
93
+ function prepareBodyString(body) {
94
+ if (typeof body === "string") {
95
+ return body;
96
+ } else if (body instanceof Uint8Array) {
97
+ return new TextDecoder().decode(body);
98
+ } else if (body instanceof ArrayBuffer) {
99
+ return new TextDecoder().decode(new Uint8Array(body));
100
+ } else {
101
+ return JSON.stringify(body);
102
+ }
103
+ }
104
+ function createApiKeyFetchFunction(apiKey, fetch) {
105
+ return async (input, init) => {
106
+ const effectiveFetch = fetch != null ? fetch : globalThis.fetch;
107
+ const originalHeaders = (0, import_provider_utils.normalizeHeaders)(init == null ? void 0 : init.headers);
108
+ const headersWithUserAgent = (0, import_provider_utils.withUserAgentSuffix)(
109
+ originalHeaders,
110
+ `ai-sdk/amazon-bedrock/${VERSION}`,
111
+ (0, import_provider_utils.getRuntimeEnvironmentUserAgent)()
112
+ );
113
+ const finalHeaders = (0, import_provider_utils.combineHeaders)(headersWithUserAgent, {
114
+ Authorization: `Bearer ${apiKey}`
115
+ });
116
+ return effectiveFetch(input, {
117
+ ...init,
118
+ headers: finalHeaders
119
+ });
120
+ };
121
+ }
122
+
123
+ // src/mantle/bedrock-mantle-provider.ts
124
+ function createBedrockMantle(options = {}) {
125
+ const rawApiKey = (0, import_provider_utils2.loadOptionalSetting)({
126
+ settingValue: options.apiKey,
127
+ environmentVariableName: "AWS_BEARER_TOKEN_BEDROCK"
128
+ });
129
+ const apiKey = rawApiKey && rawApiKey.trim().length > 0 ? rawApiKey.trim() : void 0;
130
+ const fetchFunction = apiKey ? createApiKeyFetchFunction(apiKey, options.fetch) : createSigV4FetchFunction(
131
+ async () => {
132
+ const region = (0, import_provider_utils2.loadSetting)({
133
+ settingValue: options.region,
134
+ settingName: "region",
135
+ environmentVariableName: "AWS_REGION",
136
+ description: "AWS region"
137
+ });
138
+ if (options.credentialProvider) {
139
+ try {
140
+ return {
141
+ ...await options.credentialProvider(),
142
+ region
143
+ };
144
+ } catch (error) {
145
+ const errorMessage = error instanceof Error ? error.message : String(error);
146
+ throw new Error(
147
+ `AWS credential provider failed: ${errorMessage}. Please ensure your credential provider returns valid AWS credentials with accessKeyId and secretAccessKey properties.`
148
+ );
149
+ }
150
+ }
151
+ try {
152
+ return {
153
+ region,
154
+ accessKeyId: (0, import_provider_utils2.loadSetting)({
155
+ settingValue: options.accessKeyId,
156
+ settingName: "accessKeyId",
157
+ environmentVariableName: "AWS_ACCESS_KEY_ID",
158
+ description: "AWS access key ID"
159
+ }),
160
+ secretAccessKey: (0, import_provider_utils2.loadSetting)({
161
+ settingValue: options.secretAccessKey,
162
+ settingName: "secretAccessKey",
163
+ environmentVariableName: "AWS_SECRET_ACCESS_KEY",
164
+ description: "AWS secret access key"
165
+ }),
166
+ sessionToken: (0, import_provider_utils2.loadOptionalSetting)({
167
+ settingValue: options.sessionToken,
168
+ environmentVariableName: "AWS_SESSION_TOKEN"
169
+ })
170
+ };
171
+ } catch (error) {
172
+ const errorMessage = error instanceof Error ? error.message : String(error);
173
+ if (errorMessage.includes("AWS_ACCESS_KEY_ID") || errorMessage.includes("accessKeyId")) {
174
+ throw new Error(
175
+ `AWS SigV4 authentication requires AWS credentials. Please provide either:
176
+ 1. Set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables
177
+ 2. Provide accessKeyId and secretAccessKey in options
178
+ 3. Use a credentialProvider function
179
+ 4. Use API key authentication with AWS_BEARER_TOKEN_BEDROCK or apiKey option
180
+ Original error: ${errorMessage}`
181
+ );
182
+ }
183
+ if (errorMessage.includes("AWS_SECRET_ACCESS_KEY") || errorMessage.includes("secretAccessKey")) {
184
+ throw new Error(
185
+ `AWS SigV4 authentication requires both AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY. Please ensure both credentials are provided.
186
+ Original error: ${errorMessage}`
187
+ );
188
+ }
189
+ throw error;
190
+ }
191
+ },
192
+ options.fetch,
193
+ "bedrock-mantle"
194
+ );
195
+ const getBaseURL = () => {
196
+ var _a, _b;
197
+ return (_b = (0, import_provider_utils2.withoutTrailingSlash)(
198
+ (_a = options.baseURL) != null ? _a : `https://bedrock-mantle.${(0, import_provider_utils2.loadSetting)({
199
+ settingValue: options.region,
200
+ settingName: "region",
201
+ environmentVariableName: "AWS_REGION",
202
+ description: "AWS region"
203
+ })}.api.aws/v1`
204
+ )) != null ? _b : "https://bedrock-mantle.us-east-1.api.aws/v1";
205
+ };
206
+ const getHeaders = () => {
207
+ var _a;
208
+ return (0, import_provider_utils2.withUserAgentSuffix)(
209
+ (_a = options.headers) != null ? _a : {},
210
+ `ai-sdk/amazon-bedrock/${VERSION}`
211
+ );
212
+ };
213
+ const url = ({ path }) => `${getBaseURL()}${path}`;
214
+ const createChatModel = (modelId) => new import_internal.OpenAIChatLanguageModel(modelId, {
215
+ provider: "bedrock-mantle.chat",
216
+ url,
217
+ headers: getHeaders,
218
+ fetch: fetchFunction
219
+ });
220
+ const createResponsesModel = (modelId) => new import_internal.OpenAIResponsesLanguageModel(modelId, {
221
+ provider: "bedrock-mantle.responses",
222
+ url,
223
+ headers: getHeaders,
224
+ fetch: fetchFunction
225
+ });
226
+ const provider = function(modelId) {
227
+ if (new.target) {
228
+ throw new Error(
229
+ "The Bedrock Mantle model function cannot be called with the new keyword."
230
+ );
231
+ }
232
+ return createChatModel(modelId);
233
+ };
234
+ provider.specificationVersion = "v4";
235
+ provider.languageModel = createChatModel;
236
+ provider.chat = createChatModel;
237
+ provider.responses = createResponsesModel;
238
+ provider.embeddingModel = (modelId) => {
239
+ throw new import_provider.NoSuchModelError({ modelId, modelType: "embeddingModel" });
240
+ };
241
+ provider.textEmbeddingModel = provider.embeddingModel;
242
+ provider.imageModel = (modelId) => {
243
+ throw new import_provider.NoSuchModelError({ modelId, modelType: "imageModel" });
244
+ };
245
+ return provider;
246
+ }
247
+ var bedrockMantle = createBedrockMantle();
248
+ // Annotate the CommonJS export names for ESM import in node:
249
+ 0 && (module.exports = {
250
+ bedrockMantle,
251
+ createBedrockMantle
252
+ });
253
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/mantle/index.ts","../../src/mantle/bedrock-mantle-provider.ts","../../src/amazon-bedrock-sigv4-fetch.ts","../../src/version.ts"],"sourcesContent":["export { bedrockMantle, createBedrockMantle } from './bedrock-mantle-provider';\nexport type {\n BedrockMantleProvider,\n BedrockMantleProviderSettings,\n} from './bedrock-mantle-provider';\nexport type { BedrockMantleModelId } from './bedrock-mantle-options';\n","import {\n OpenAIChatLanguageModel,\n OpenAIResponsesLanguageModel,\n} from '@ai-sdk/openai/internal';\nimport {\n NoSuchModelError,\n type LanguageModelV4,\n type ProviderV4,\n} from '@ai-sdk/provider';\nimport {\n loadOptionalSetting,\n loadSetting,\n withoutTrailingSlash,\n withUserAgentSuffix,\n type FetchFunction,\n} from '@ai-sdk/provider-utils';\nimport {\n createApiKeyFetchFunction,\n createSigV4FetchFunction,\n type AmazonBedrockCredentials,\n} from '../amazon-bedrock-sigv4-fetch';\nimport type {\n BedrockMantleChatModelId,\n BedrockMantleResponsesModelId,\n} from './bedrock-mantle-options';\nimport { VERSION } from '../version';\n\nexport interface BedrockMantleProvider extends ProviderV4 {\n /**\n * Creates a model for text generation using the Chat Completions API.\n * Chat Completions has the broadest model support on Mantle.\n */\n (modelId: BedrockMantleChatModelId): LanguageModelV4;\n\n /**\n * Creates a model for text generation using the Chat Completions API.\n */\n languageModel(modelId: BedrockMantleChatModelId): LanguageModelV4;\n\n /**\n * Creates a model for text generation using the Chat Completions API.\n */\n chat(modelId: BedrockMantleChatModelId): LanguageModelV4;\n\n /**\n * Creates a model for text generation using the Responses API.\n * Not all Mantle models support this API. Notably, gpt-oss-safeguard models\n * are Chat-only.\n */\n responses(modelId: BedrockMantleResponsesModelId): LanguageModelV4;\n\n /**\n * @deprecated Mantle does not support embedding models.\n */\n textEmbeddingModel(modelId: string): never;\n}\n\nexport interface BedrockMantleProviderSettings {\n /**\n * The AWS region to use for the Bedrock Mantle endpoint. Defaults to the value of the\n * `AWS_REGION` environment variable.\n */\n region?: string;\n\n /**\n * API key for authenticating requests using Bearer token authentication.\n * When provided, this will be used instead of AWS SigV4 authentication.\n * Defaults to the value of the `AWS_BEARER_TOKEN_BEDROCK` environment variable.\n */\n apiKey?: string;\n\n /**\n * The AWS access key ID to use for SigV4 authentication. Defaults to the value of the\n * `AWS_ACCESS_KEY_ID` environment variable.\n */\n accessKeyId?: string;\n\n /**\n * The AWS secret access key to use for SigV4 authentication. Defaults to the value of the\n * `AWS_SECRET_ACCESS_KEY` environment variable.\n */\n secretAccessKey?: string;\n\n /**\n * The AWS session token to use for SigV4 authentication. Defaults to the value of the\n * `AWS_SESSION_TOKEN` environment variable.\n */\n sessionToken?: string;\n\n /**\n * Base URL for the Bedrock Mantle API calls.\n */\n baseURL?: string;\n\n /**\n * Custom headers to include in the requests.\n */\n headers?: Record<string, string | undefined>;\n\n /**\n * Custom fetch implementation. You can use it as a middleware to intercept requests,\n * or to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n\n /**\n * The AWS credential provider to use for SigV4 authentication to get dynamic\n * credentials similar to the AWS SDK. Setting a provider here will cause its\n * credential values to be used instead of the `accessKeyId`, `secretAccessKey`,\n * and `sessionToken` settings.\n */\n credentialProvider?: () => PromiseLike<\n Omit<AmazonBedrockCredentials, 'region'>\n >;\n}\n\n/**\n * Create an Amazon Bedrock Mantle provider instance.\n * This provider uses the OpenAI-compatible Mantle API for models that are\n * only available through the Mantle endpoint (e.g. openai.gpt-oss-20b).\n */\nexport function createBedrockMantle(\n options: BedrockMantleProviderSettings = {},\n): BedrockMantleProvider {\n // Check for API key authentication first\n const rawApiKey = loadOptionalSetting({\n settingValue: options.apiKey,\n environmentVariableName: 'AWS_BEARER_TOKEN_BEDROCK',\n });\n\n // Only use API key if it's a non-empty, non-whitespace string\n const apiKey =\n rawApiKey && rawApiKey.trim().length > 0 ? rawApiKey.trim() : undefined;\n\n // Use API key authentication if available, otherwise fall back to SigV4\n const fetchFunction = apiKey\n ? createApiKeyFetchFunction(apiKey, options.fetch)\n : createSigV4FetchFunction(\n async () => {\n const region = loadSetting({\n settingValue: options.region,\n settingName: 'region',\n environmentVariableName: 'AWS_REGION',\n description: 'AWS region',\n });\n\n // If a credential provider is provided, use it to get the credentials.\n if (options.credentialProvider) {\n try {\n return {\n ...(await options.credentialProvider()),\n region,\n };\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n throw new Error(\n `AWS credential provider failed: ${errorMessage}. ` +\n 'Please ensure your credential provider returns valid AWS credentials ' +\n 'with accessKeyId and secretAccessKey properties.',\n );\n }\n }\n\n try {\n return {\n region,\n accessKeyId: loadSetting({\n settingValue: options.accessKeyId,\n settingName: 'accessKeyId',\n environmentVariableName: 'AWS_ACCESS_KEY_ID',\n description: 'AWS access key ID',\n }),\n secretAccessKey: loadSetting({\n settingValue: options.secretAccessKey,\n settingName: 'secretAccessKey',\n environmentVariableName: 'AWS_SECRET_ACCESS_KEY',\n description: 'AWS secret access key',\n }),\n sessionToken: loadOptionalSetting({\n settingValue: options.sessionToken,\n environmentVariableName: 'AWS_SESSION_TOKEN',\n }),\n };\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n if (\n errorMessage.includes('AWS_ACCESS_KEY_ID') ||\n errorMessage.includes('accessKeyId')\n ) {\n throw new Error(\n 'AWS SigV4 authentication requires AWS credentials. Please provide either:\\n' +\n '1. Set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables\\n' +\n '2. Provide accessKeyId and secretAccessKey in options\\n' +\n '3. Use a credentialProvider function\\n' +\n '4. Use API key authentication with AWS_BEARER_TOKEN_BEDROCK or apiKey option\\n' +\n `Original error: ${errorMessage}`,\n );\n }\n if (\n errorMessage.includes('AWS_SECRET_ACCESS_KEY') ||\n errorMessage.includes('secretAccessKey')\n ) {\n throw new Error(\n 'AWS SigV4 authentication requires both AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY. ' +\n 'Please ensure both credentials are provided.\\n' +\n `Original error: ${errorMessage}`,\n );\n }\n throw error;\n }\n },\n options.fetch,\n 'bedrock-mantle',\n );\n\n const getBaseURL = (): string =>\n withoutTrailingSlash(\n options.baseURL ??\n `https://bedrock-mantle.${loadSetting({\n settingValue: options.region,\n settingName: 'region',\n environmentVariableName: 'AWS_REGION',\n description: 'AWS region',\n })}.api.aws/v1`,\n ) ?? 'https://bedrock-mantle.us-east-1.api.aws/v1';\n\n const getHeaders = (): Record<string, string | undefined> =>\n withUserAgentSuffix(\n options.headers ?? {},\n `ai-sdk/amazon-bedrock/${VERSION}`,\n );\n\n const url = ({ path }: { path: string; modelId: string }): string =>\n `${getBaseURL()}${path}`;\n\n const createChatModel = (modelId: BedrockMantleChatModelId) =>\n new OpenAIChatLanguageModel(modelId, {\n provider: 'bedrock-mantle.chat',\n url,\n headers: getHeaders,\n fetch: fetchFunction,\n });\n\n const createResponsesModel = (modelId: BedrockMantleResponsesModelId) =>\n new OpenAIResponsesLanguageModel(modelId, {\n provider: 'bedrock-mantle.responses',\n url,\n headers: getHeaders,\n fetch: fetchFunction,\n });\n\n const provider = function (modelId: BedrockMantleChatModelId) {\n if (new.target) {\n throw new Error(\n 'The Bedrock Mantle model function cannot be called with the new keyword.',\n );\n }\n\n return createChatModel(modelId);\n };\n\n provider.specificationVersion = 'v4' as const;\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n provider.responses = createResponsesModel;\n\n provider.embeddingModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'embeddingModel' });\n };\n provider.textEmbeddingModel = provider.embeddingModel;\n provider.imageModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'imageModel' });\n };\n\n return provider as BedrockMantleProvider;\n}\n\n/**\n * Default Bedrock Mantle provider instance.\n */\nexport const bedrockMantle = createBedrockMantle();\n","import {\n combineHeaders,\n normalizeHeaders,\n withUserAgentSuffix,\n getRuntimeEnvironmentUserAgent,\n type FetchFunction,\n} from '@ai-sdk/provider-utils';\nimport { AwsV4Signer } from 'aws4fetch';\nimport { VERSION } from './version';\n\nexport interface AmazonBedrockCredentials {\n region: string;\n accessKeyId: string;\n secretAccessKey: string;\n sessionToken?: string;\n}\n\n/**\n * Creates a fetch function that applies AWS Signature Version 4 signing.\n *\n * @param getCredentials - Function that returns the AWS credentials to use when signing.\n * @param fetch - Optional original fetch implementation to wrap. Defaults to global fetch.\n * @param service - The AWS service name to use for SigV4 signing scope. Defaults to 'bedrock'.\n * @returns A FetchFunction that signs requests before passing them to the underlying fetch.\n */\nexport function createSigV4FetchFunction(\n getCredentials: () =>\n | AmazonBedrockCredentials\n | PromiseLike<AmazonBedrockCredentials>,\n fetch?: FetchFunction,\n service: string = 'bedrock',\n): FetchFunction {\n return async (\n input: RequestInfo | URL,\n init?: RequestInit,\n ): Promise<Response> => {\n // avoid caching globalThis.fetch in case it is patched by other libraries\n const effectiveFetch = fetch ?? globalThis.fetch;\n const request = input instanceof Request ? input : undefined;\n const originalHeaders = combineHeaders(\n normalizeHeaders(request?.headers),\n normalizeHeaders(init?.headers),\n );\n const headersWithUserAgent = withUserAgentSuffix(\n originalHeaders,\n `ai-sdk/amazon-bedrock/${VERSION}`,\n getRuntimeEnvironmentUserAgent(),\n );\n\n let effectiveBody: BodyInit | undefined = init?.body ?? undefined;\n if (effectiveBody === undefined && request && request.body !== null) {\n try {\n effectiveBody = await request.clone().text();\n } catch {}\n }\n\n const effectiveMethod = init?.method ?? request?.method;\n\n if (effectiveMethod?.toUpperCase() !== 'POST' || !effectiveBody) {\n return effectiveFetch(input, {\n ...init,\n headers: headersWithUserAgent as HeadersInit,\n });\n }\n\n const url =\n typeof input === 'string'\n ? input\n : input instanceof URL\n ? input.href\n : input.url;\n\n const body = prepareBodyString(effectiveBody);\n const credentials = await getCredentials();\n const signer = new AwsV4Signer({\n url,\n method: 'POST',\n headers: Object.entries(headersWithUserAgent),\n body,\n region: credentials.region,\n accessKeyId: credentials.accessKeyId,\n secretAccessKey: credentials.secretAccessKey,\n sessionToken: credentials.sessionToken,\n service,\n });\n\n const signingResult = await signer.sign();\n const signedHeaders = normalizeHeaders(signingResult.headers);\n\n // Use the combined headers directly as HeadersInit\n const combinedHeaders = combineHeaders(headersWithUserAgent, signedHeaders);\n\n return effectiveFetch(input, {\n ...init,\n body,\n headers: combinedHeaders as HeadersInit,\n });\n };\n}\n\nfunction prepareBodyString(body: BodyInit | undefined): string {\n if (typeof body === 'string') {\n return body;\n } else if (body instanceof Uint8Array) {\n return new TextDecoder().decode(body);\n } else if (body instanceof ArrayBuffer) {\n return new TextDecoder().decode(new Uint8Array(body));\n } else {\n return JSON.stringify(body);\n }\n}\n\n/**\n * Creates a fetch function that applies Bearer token authentication.\n *\n * @param apiKey - The API key to use for Bearer token authentication.\n * @param fetch - Optional original fetch implementation to wrap. Defaults to global fetch.\n * @returns A FetchFunction that adds Authorization header with Bearer token to requests.\n */\nexport function createApiKeyFetchFunction(\n apiKey: string,\n fetch?: FetchFunction,\n): FetchFunction {\n return async (\n input: RequestInfo | URL,\n init?: RequestInit,\n ): Promise<Response> => {\n // avoid caching globalThis.fetch in case it is patched by other libraries\n const effectiveFetch = fetch ?? globalThis.fetch;\n const originalHeaders = normalizeHeaders(init?.headers);\n const headersWithUserAgent = withUserAgentSuffix(\n originalHeaders,\n `ai-sdk/amazon-bedrock/${VERSION}`,\n getRuntimeEnvironmentUserAgent(),\n );\n\n const finalHeaders = combineHeaders(headersWithUserAgent, {\n Authorization: `Bearer ${apiKey}`,\n });\n\n return effectiveFetch(input, {\n ...init,\n headers: finalHeaders as HeadersInit,\n });\n };\n}\n","// Version string of this package injected at build time.\ndeclare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":"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","names":["import_provider_utils"]}
@@ -0,0 +1,99 @@
1
+ import { ProviderV4, LanguageModelV4 } from '@ai-sdk/provider';
2
+ import { FetchFunction } from '@ai-sdk/provider-utils';
3
+
4
+ interface AmazonBedrockCredentials {
5
+ region: string;
6
+ accessKeyId: string;
7
+ secretAccessKey: string;
8
+ sessionToken?: string;
9
+ }
10
+
11
+ type BedrockMantleChatModelId = 'openai.gpt-oss-20b' | 'openai.gpt-oss-120b' | 'openai.gpt-oss-safeguard-20b' | 'openai.gpt-oss-safeguard-120b' | (string & {});
12
+ type BedrockMantleResponsesModelId = 'openai.gpt-oss-20b' | 'openai.gpt-oss-120b' | (string & {});
13
+ type BedrockMantleModelId = BedrockMantleChatModelId | BedrockMantleResponsesModelId;
14
+
15
+ interface BedrockMantleProvider extends ProviderV4 {
16
+ /**
17
+ * Creates a model for text generation using the Chat Completions API.
18
+ * Chat Completions has the broadest model support on Mantle.
19
+ */
20
+ (modelId: BedrockMantleChatModelId): LanguageModelV4;
21
+ /**
22
+ * Creates a model for text generation using the Chat Completions API.
23
+ */
24
+ languageModel(modelId: BedrockMantleChatModelId): LanguageModelV4;
25
+ /**
26
+ * Creates a model for text generation using the Chat Completions API.
27
+ */
28
+ chat(modelId: BedrockMantleChatModelId): LanguageModelV4;
29
+ /**
30
+ * Creates a model for text generation using the Responses API.
31
+ * Not all Mantle models support this API. Notably, gpt-oss-safeguard models
32
+ * are Chat-only.
33
+ */
34
+ responses(modelId: BedrockMantleResponsesModelId): LanguageModelV4;
35
+ /**
36
+ * @deprecated Mantle does not support embedding models.
37
+ */
38
+ textEmbeddingModel(modelId: string): never;
39
+ }
40
+ interface BedrockMantleProviderSettings {
41
+ /**
42
+ * The AWS region to use for the Bedrock Mantle endpoint. Defaults to the value of the
43
+ * `AWS_REGION` environment variable.
44
+ */
45
+ region?: string;
46
+ /**
47
+ * API key for authenticating requests using Bearer token authentication.
48
+ * When provided, this will be used instead of AWS SigV4 authentication.
49
+ * Defaults to the value of the `AWS_BEARER_TOKEN_BEDROCK` environment variable.
50
+ */
51
+ apiKey?: string;
52
+ /**
53
+ * The AWS access key ID to use for SigV4 authentication. Defaults to the value of the
54
+ * `AWS_ACCESS_KEY_ID` environment variable.
55
+ */
56
+ accessKeyId?: string;
57
+ /**
58
+ * The AWS secret access key to use for SigV4 authentication. Defaults to the value of the
59
+ * `AWS_SECRET_ACCESS_KEY` environment variable.
60
+ */
61
+ secretAccessKey?: string;
62
+ /**
63
+ * The AWS session token to use for SigV4 authentication. Defaults to the value of the
64
+ * `AWS_SESSION_TOKEN` environment variable.
65
+ */
66
+ sessionToken?: string;
67
+ /**
68
+ * Base URL for the Bedrock Mantle API calls.
69
+ */
70
+ baseURL?: string;
71
+ /**
72
+ * Custom headers to include in the requests.
73
+ */
74
+ headers?: Record<string, string | undefined>;
75
+ /**
76
+ * Custom fetch implementation. You can use it as a middleware to intercept requests,
77
+ * or to provide a custom fetch implementation for e.g. testing.
78
+ */
79
+ fetch?: FetchFunction;
80
+ /**
81
+ * The AWS credential provider to use for SigV4 authentication to get dynamic
82
+ * credentials similar to the AWS SDK. Setting a provider here will cause its
83
+ * credential values to be used instead of the `accessKeyId`, `secretAccessKey`,
84
+ * and `sessionToken` settings.
85
+ */
86
+ credentialProvider?: () => PromiseLike<Omit<AmazonBedrockCredentials, 'region'>>;
87
+ }
88
+ /**
89
+ * Create an Amazon Bedrock Mantle provider instance.
90
+ * This provider uses the OpenAI-compatible Mantle API for models that are
91
+ * only available through the Mantle endpoint (e.g. openai.gpt-oss-20b).
92
+ */
93
+ declare function createBedrockMantle(options?: BedrockMantleProviderSettings): BedrockMantleProvider;
94
+ /**
95
+ * Default Bedrock Mantle provider instance.
96
+ */
97
+ declare const bedrockMantle: BedrockMantleProvider;
98
+
99
+ export { type BedrockMantleModelId, type BedrockMantleProvider, type BedrockMantleProviderSettings, bedrockMantle, createBedrockMantle };
@@ -0,0 +1,99 @@
1
+ import { ProviderV4, LanguageModelV4 } from '@ai-sdk/provider';
2
+ import { FetchFunction } from '@ai-sdk/provider-utils';
3
+
4
+ interface AmazonBedrockCredentials {
5
+ region: string;
6
+ accessKeyId: string;
7
+ secretAccessKey: string;
8
+ sessionToken?: string;
9
+ }
10
+
11
+ type BedrockMantleChatModelId = 'openai.gpt-oss-20b' | 'openai.gpt-oss-120b' | 'openai.gpt-oss-safeguard-20b' | 'openai.gpt-oss-safeguard-120b' | (string & {});
12
+ type BedrockMantleResponsesModelId = 'openai.gpt-oss-20b' | 'openai.gpt-oss-120b' | (string & {});
13
+ type BedrockMantleModelId = BedrockMantleChatModelId | BedrockMantleResponsesModelId;
14
+
15
+ interface BedrockMantleProvider extends ProviderV4 {
16
+ /**
17
+ * Creates a model for text generation using the Chat Completions API.
18
+ * Chat Completions has the broadest model support on Mantle.
19
+ */
20
+ (modelId: BedrockMantleChatModelId): LanguageModelV4;
21
+ /**
22
+ * Creates a model for text generation using the Chat Completions API.
23
+ */
24
+ languageModel(modelId: BedrockMantleChatModelId): LanguageModelV4;
25
+ /**
26
+ * Creates a model for text generation using the Chat Completions API.
27
+ */
28
+ chat(modelId: BedrockMantleChatModelId): LanguageModelV4;
29
+ /**
30
+ * Creates a model for text generation using the Responses API.
31
+ * Not all Mantle models support this API. Notably, gpt-oss-safeguard models
32
+ * are Chat-only.
33
+ */
34
+ responses(modelId: BedrockMantleResponsesModelId): LanguageModelV4;
35
+ /**
36
+ * @deprecated Mantle does not support embedding models.
37
+ */
38
+ textEmbeddingModel(modelId: string): never;
39
+ }
40
+ interface BedrockMantleProviderSettings {
41
+ /**
42
+ * The AWS region to use for the Bedrock Mantle endpoint. Defaults to the value of the
43
+ * `AWS_REGION` environment variable.
44
+ */
45
+ region?: string;
46
+ /**
47
+ * API key for authenticating requests using Bearer token authentication.
48
+ * When provided, this will be used instead of AWS SigV4 authentication.
49
+ * Defaults to the value of the `AWS_BEARER_TOKEN_BEDROCK` environment variable.
50
+ */
51
+ apiKey?: string;
52
+ /**
53
+ * The AWS access key ID to use for SigV4 authentication. Defaults to the value of the
54
+ * `AWS_ACCESS_KEY_ID` environment variable.
55
+ */
56
+ accessKeyId?: string;
57
+ /**
58
+ * The AWS secret access key to use for SigV4 authentication. Defaults to the value of the
59
+ * `AWS_SECRET_ACCESS_KEY` environment variable.
60
+ */
61
+ secretAccessKey?: string;
62
+ /**
63
+ * The AWS session token to use for SigV4 authentication. Defaults to the value of the
64
+ * `AWS_SESSION_TOKEN` environment variable.
65
+ */
66
+ sessionToken?: string;
67
+ /**
68
+ * Base URL for the Bedrock Mantle API calls.
69
+ */
70
+ baseURL?: string;
71
+ /**
72
+ * Custom headers to include in the requests.
73
+ */
74
+ headers?: Record<string, string | undefined>;
75
+ /**
76
+ * Custom fetch implementation. You can use it as a middleware to intercept requests,
77
+ * or to provide a custom fetch implementation for e.g. testing.
78
+ */
79
+ fetch?: FetchFunction;
80
+ /**
81
+ * The AWS credential provider to use for SigV4 authentication to get dynamic
82
+ * credentials similar to the AWS SDK. Setting a provider here will cause its
83
+ * credential values to be used instead of the `accessKeyId`, `secretAccessKey`,
84
+ * and `sessionToken` settings.
85
+ */
86
+ credentialProvider?: () => PromiseLike<Omit<AmazonBedrockCredentials, 'region'>>;
87
+ }
88
+ /**
89
+ * Create an Amazon Bedrock Mantle provider instance.
90
+ * This provider uses the OpenAI-compatible Mantle API for models that are
91
+ * only available through the Mantle endpoint (e.g. openai.gpt-oss-20b).
92
+ */
93
+ declare function createBedrockMantle(options?: BedrockMantleProviderSettings): BedrockMantleProvider;
94
+ /**
95
+ * Default Bedrock Mantle provider instance.
96
+ */
97
+ declare const bedrockMantle: BedrockMantleProvider;
98
+
99
+ export { type BedrockMantleModelId, type BedrockMantleProvider, type BedrockMantleProviderSettings, bedrockMantle, createBedrockMantle };