@ai-sdk/amazon-bedrock 4.0.199 → 4.0.201
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.
- package/CHANGELOG.md +22 -0
- package/dist/anthropic/index.js +8 -4
- package/dist/anthropic/index.js.map +1 -1
- package/dist/anthropic/index.mjs +10 -4
- package/dist/anthropic/index.mjs.map +1 -1
- package/dist/index.d.mts +12 -30
- package/dist/index.d.ts +12 -30
- package/dist/index.js +289 -239
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +236 -167
- package/dist/index.mjs.map +1 -1
- package/dist/mantle/index.js +1 -1
- package/dist/mantle/index.mjs +1 -1
- package/package.json +4 -4
- package/src/anthropic/bedrock-anthropic-fetch.ts +9 -3
- package/src/bedrock-chat-language-model.ts +82 -68
- package/src/bedrock-chat-options.ts +22 -13
- package/src/bedrock-embedding-model.ts +30 -24
- package/src/bedrock-embedding-options.ts +84 -60
- package/src/bedrock-error.ts +13 -5
- package/src/bedrock-image-model.ts +18 -12
- package/src/bedrock-reasoning-metadata.ts +15 -6
package/dist/index.js
CHANGED
|
@@ -28,10 +28,10 @@ module.exports = __toCommonJS(index_exports);
|
|
|
28
28
|
|
|
29
29
|
// src/bedrock-provider.ts
|
|
30
30
|
var import_internal3 = require("@ai-sdk/anthropic/internal");
|
|
31
|
-
var
|
|
31
|
+
var import_provider_utils16 = require("@ai-sdk/provider-utils");
|
|
32
32
|
|
|
33
33
|
// src/bedrock-chat-language-model.ts
|
|
34
|
-
var
|
|
34
|
+
var import_provider_utils7 = require("@ai-sdk/provider-utils");
|
|
35
35
|
var import_internal2 = require("@ai-sdk/anthropic/internal");
|
|
36
36
|
var import_v44 = require("zod/v4");
|
|
37
37
|
|
|
@@ -67,19 +67,24 @@ var BEDROCK_DOCUMENT_MIME_TYPES = {
|
|
|
67
67
|
};
|
|
68
68
|
|
|
69
69
|
// src/bedrock-chat-options.ts
|
|
70
|
+
var import_provider_utils = require("@ai-sdk/provider-utils");
|
|
70
71
|
var import_v4 = require("zod/v4");
|
|
71
|
-
var bedrockFilePartProviderOptions =
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
72
|
+
var bedrockFilePartProviderOptions = (0, import_provider_utils.lazySchema)(
|
|
73
|
+
() => (0, import_provider_utils.zodSchema)(
|
|
74
|
+
import_v4.z.object({
|
|
75
|
+
/**
|
|
76
|
+
* Citation configuration for this document.
|
|
77
|
+
* When enabled, this document will generate citations in the response.
|
|
78
|
+
*/
|
|
79
|
+
citations: import_v4.z.object({
|
|
80
|
+
/**
|
|
81
|
+
* Enable citations for this document
|
|
82
|
+
*/
|
|
83
|
+
enabled: import_v4.z.boolean()
|
|
84
|
+
}).optional()
|
|
85
|
+
})
|
|
86
|
+
)
|
|
87
|
+
);
|
|
83
88
|
var amazonBedrockLanguageModelOptions = import_v4.z.object({
|
|
84
89
|
/**
|
|
85
90
|
* Determines how structured outputs are generated for Anthropic models.
|
|
@@ -145,20 +150,24 @@ var MODELS_WITH_STRICT_TOOL_SUPPORT = [
|
|
|
145
150
|
];
|
|
146
151
|
|
|
147
152
|
// src/bedrock-error.ts
|
|
148
|
-
var
|
|
153
|
+
var import_provider_utils2 = require("@ai-sdk/provider-utils");
|
|
149
154
|
var import_v42 = require("zod/v4");
|
|
150
|
-
var BedrockErrorSchema =
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
+
var BedrockErrorSchema = (0, import_provider_utils2.lazySchema)(
|
|
156
|
+
() => (0, import_provider_utils2.zodSchema)(
|
|
157
|
+
import_v42.z.object({
|
|
158
|
+
message: import_v42.z.string(),
|
|
159
|
+
type: import_v42.z.string().nullish()
|
|
160
|
+
})
|
|
161
|
+
)
|
|
162
|
+
);
|
|
163
|
+
var bedrockFailedResponseHandler = (0, import_provider_utils2.createJsonErrorResponseHandler)({
|
|
155
164
|
errorSchema: BedrockErrorSchema,
|
|
156
165
|
errorToMessage: (error) => error.type == null ? error.message : `${error.type}: ${error.message}`
|
|
157
166
|
});
|
|
158
167
|
|
|
159
168
|
// src/bedrock-event-stream-response-handler.ts
|
|
160
169
|
var import_provider = require("@ai-sdk/provider");
|
|
161
|
-
var
|
|
170
|
+
var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
|
162
171
|
|
|
163
172
|
// src/bedrock-event-stream-decoder.ts
|
|
164
173
|
var import_eventstream_codec = require("@smithy/eventstream-codec");
|
|
@@ -210,7 +219,7 @@ function createBedrockEventStreamDecoder(body, processEvent) {
|
|
|
210
219
|
|
|
211
220
|
// src/bedrock-event-stream-response-handler.ts
|
|
212
221
|
var createBedrockEventStreamResponseHandler = (chunkSchema) => async ({ response }) => {
|
|
213
|
-
const responseHeaders = (0,
|
|
222
|
+
const responseHeaders = (0, import_provider_utils3.extractResponseHeaders)(response);
|
|
214
223
|
if (response.body == null) {
|
|
215
224
|
throw new import_provider.EmptyResponseBodyError({});
|
|
216
225
|
}
|
|
@@ -223,7 +232,7 @@ var createBedrockEventStreamResponseHandler = (chunkSchema) => async ({ response
|
|
|
223
232
|
if (payloadType == null) {
|
|
224
233
|
return;
|
|
225
234
|
}
|
|
226
|
-
const parsedDataResult = await (0,
|
|
235
|
+
const parsedDataResult = await (0, import_provider_utils3.safeParseJSON)({ text: event.data });
|
|
227
236
|
if (!parsedDataResult.success) {
|
|
228
237
|
controller.enqueue(parsedDataResult);
|
|
229
238
|
return;
|
|
@@ -232,7 +241,7 @@ var createBedrockEventStreamResponseHandler = (chunkSchema) => async ({ response
|
|
|
232
241
|
const wrappedData = {
|
|
233
242
|
[payloadType]: parsedDataResult.value
|
|
234
243
|
};
|
|
235
|
-
const validatedWrappedData = await (0,
|
|
244
|
+
const validatedWrappedData = await (0, import_provider_utils3.safeValidateTypes)({
|
|
236
245
|
value: wrappedData,
|
|
237
246
|
schema: chunkSchema
|
|
238
247
|
});
|
|
@@ -252,7 +261,7 @@ var createBedrockEventStreamResponseHandler = (chunkSchema) => async ({ response
|
|
|
252
261
|
|
|
253
262
|
// src/bedrock-prepare-tools.ts
|
|
254
263
|
var import_provider2 = require("@ai-sdk/provider");
|
|
255
|
-
var
|
|
264
|
+
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
|
256
265
|
var import_internal = require("@ai-sdk/anthropic/internal");
|
|
257
266
|
async function prepareTools({
|
|
258
267
|
tools,
|
|
@@ -332,7 +341,7 @@ async function prepareTools({
|
|
|
332
341
|
toolSpec: {
|
|
333
342
|
name: tool.name,
|
|
334
343
|
inputSchema: {
|
|
335
|
-
json: await (0,
|
|
344
|
+
json: await (0, import_provider_utils4.asSchema)(fullToolDefinition.inputSchema).jsonSchema
|
|
336
345
|
}
|
|
337
346
|
}
|
|
338
347
|
});
|
|
@@ -450,15 +459,20 @@ function convertBedrockUsage(usage) {
|
|
|
450
459
|
|
|
451
460
|
// src/convert-to-bedrock-chat-messages.ts
|
|
452
461
|
var import_provider3 = require("@ai-sdk/provider");
|
|
453
|
-
var
|
|
462
|
+
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
|
454
463
|
|
|
455
464
|
// src/bedrock-reasoning-metadata.ts
|
|
465
|
+
var import_provider_utils5 = require("@ai-sdk/provider-utils");
|
|
456
466
|
var import_v43 = require("zod/v4");
|
|
457
|
-
var bedrockReasoningMetadataSchema =
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
467
|
+
var bedrockReasoningMetadataSchema = (0, import_provider_utils5.lazySchema)(
|
|
468
|
+
() => (0, import_provider_utils5.zodSchema)(
|
|
469
|
+
import_v43.z.object({
|
|
470
|
+
signature: import_v43.z.string().optional(),
|
|
471
|
+
redactedData: import_v43.z.string().optional(),
|
|
472
|
+
redactedContent: import_v43.z.string().optional()
|
|
473
|
+
})
|
|
474
|
+
)
|
|
475
|
+
);
|
|
462
476
|
|
|
463
477
|
// src/normalize-tool-call-id.ts
|
|
464
478
|
function isMistralModel(modelId) {
|
|
@@ -504,7 +518,7 @@ function getBedrockImageSource({
|
|
|
504
518
|
}
|
|
505
519
|
};
|
|
506
520
|
}
|
|
507
|
-
return { bytes: (0,
|
|
521
|
+
return { bytes: (0, import_provider_utils6.convertToBase64)(data) };
|
|
508
522
|
}
|
|
509
523
|
function getBedrockImageFormatFromUrl(url) {
|
|
510
524
|
var _a;
|
|
@@ -515,7 +529,7 @@ function getBedrockImageFormatFromUrl(url) {
|
|
|
515
529
|
}
|
|
516
530
|
async function shouldEnableCitations(providerMetadata) {
|
|
517
531
|
var _a, _b;
|
|
518
|
-
const bedrockOptions = await (0,
|
|
532
|
+
const bedrockOptions = await (0, import_provider_utils6.parseProviderOptions)({
|
|
519
533
|
provider: "bedrock",
|
|
520
534
|
providerOptions: providerMetadata,
|
|
521
535
|
schema: bedrockFilePartProviderOptions
|
|
@@ -593,8 +607,8 @@ async function convertToBedrockChatMessages(prompt, isMistral = false) {
|
|
|
593
607
|
bedrockContent.push({
|
|
594
608
|
document: {
|
|
595
609
|
format: getBedrockDocumentFormat(part.mediaType),
|
|
596
|
-
name: part.filename ? (0,
|
|
597
|
-
source: { bytes: (0,
|
|
610
|
+
name: part.filename ? (0, import_provider_utils6.stripFileExtension)(part.filename) : generateDocumentName(),
|
|
611
|
+
source: { bytes: (0, import_provider_utils6.convertToBase64)(part.data) },
|
|
598
612
|
...enableCitations && {
|
|
599
613
|
citations: { enabled: true }
|
|
600
614
|
}
|
|
@@ -629,7 +643,7 @@ async function convertToBedrockChatMessages(prompt, isMistral = false) {
|
|
|
629
643
|
contentPart.mediaType
|
|
630
644
|
),
|
|
631
645
|
source: {
|
|
632
|
-
bytes: (0,
|
|
646
|
+
bytes: (0, import_provider_utils6.convertToBase64)(contentPart.data)
|
|
633
647
|
}
|
|
634
648
|
}
|
|
635
649
|
};
|
|
@@ -656,9 +670,9 @@ async function convertToBedrockChatMessages(prompt, isMistral = false) {
|
|
|
656
670
|
format: getBedrockDocumentFormat(
|
|
657
671
|
contentPart.mediaType
|
|
658
672
|
),
|
|
659
|
-
name: "filename" in contentPart && contentPart.filename ? (0,
|
|
673
|
+
name: "filename" in contentPart && contentPart.filename ? (0, import_provider_utils6.stripFileExtension)(contentPart.filename) : generateDocumentName(),
|
|
660
674
|
source: {
|
|
661
|
-
bytes: (0,
|
|
675
|
+
bytes: (0, import_provider_utils6.convertToBase64)(contentPart.data)
|
|
662
676
|
},
|
|
663
677
|
...enableCitations && {
|
|
664
678
|
citations: { enabled: true }
|
|
@@ -672,7 +686,7 @@ async function convertToBedrockChatMessages(prompt, isMistral = false) {
|
|
|
672
686
|
contentPart.mediaType
|
|
673
687
|
),
|
|
674
688
|
source: {
|
|
675
|
-
bytes: (0,
|
|
689
|
+
bytes: (0, import_provider_utils6.convertToBase64)(contentPart.data)
|
|
676
690
|
}
|
|
677
691
|
}
|
|
678
692
|
};
|
|
@@ -740,7 +754,7 @@ async function convertToBedrockChatMessages(prompt, isMistral = false) {
|
|
|
740
754
|
if (part.type !== "reasoning") {
|
|
741
755
|
return void 0;
|
|
742
756
|
}
|
|
743
|
-
const metadata = await (0,
|
|
757
|
+
const metadata = await (0, import_provider_utils6.parseProviderOptions)({
|
|
744
758
|
provider: "bedrock",
|
|
745
759
|
providerOptions: part.providerOptions,
|
|
746
760
|
schema: bedrockReasoningMetadataSchema
|
|
@@ -938,10 +952,14 @@ function mapBedrockFinishReason(finishReason, isJsonResponseFromTool) {
|
|
|
938
952
|
function isJsonResponseToolName(name) {
|
|
939
953
|
return name === "json" || name === "json<|channel|>commentary";
|
|
940
954
|
}
|
|
941
|
-
var anthropicProviderOptions =
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
955
|
+
var anthropicProviderOptions = (0, import_provider_utils7.lazySchema)(
|
|
956
|
+
() => (0, import_provider_utils7.zodSchema)(
|
|
957
|
+
import_v44.z.object({
|
|
958
|
+
disableParallelToolUse: import_v44.z.boolean().optional(),
|
|
959
|
+
structuredOutputMode: import_v44.z.enum(["outputFormat", "jsonTool", "auto"]).optional()
|
|
960
|
+
})
|
|
961
|
+
)
|
|
962
|
+
);
|
|
945
963
|
var BedrockChatLanguageModel = class {
|
|
946
964
|
constructor(modelId, config) {
|
|
947
965
|
this.modelId = modelId;
|
|
@@ -968,12 +986,12 @@ var BedrockChatLanguageModel = class {
|
|
|
968
986
|
providerOptions
|
|
969
987
|
}) {
|
|
970
988
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t;
|
|
971
|
-
const bedrockOptions = (_a = await (0,
|
|
989
|
+
const bedrockOptions = (_a = await (0, import_provider_utils7.parseProviderOptions)({
|
|
972
990
|
provider: "bedrock",
|
|
973
991
|
providerOptions,
|
|
974
992
|
schema: amazonBedrockLanguageModelOptions
|
|
975
993
|
})) != null ? _a : {};
|
|
976
|
-
const anthropicOptions = await (0,
|
|
994
|
+
const anthropicOptions = await (0, import_provider_utils7.parseProviderOptions)({
|
|
977
995
|
provider: "anthropic",
|
|
978
996
|
providerOptions,
|
|
979
997
|
schema: anthropicProviderOptions
|
|
@@ -1227,7 +1245,7 @@ var BedrockChatLanguageModel = class {
|
|
|
1227
1245
|
}
|
|
1228
1246
|
}
|
|
1229
1247
|
if (useJsonInstructionForStructuredOutput) {
|
|
1230
|
-
filteredPrompt = (0,
|
|
1248
|
+
filteredPrompt = (0, import_provider_utils7.injectJsonInstructionIntoMessages)({
|
|
1231
1249
|
messages: filteredPrompt,
|
|
1232
1250
|
schema: responseFormat.schema,
|
|
1233
1251
|
schemaSuffix: "You MUST answer with only a JSON object that matches the JSON schema above. Do not wrap it in markdown fences or include any other text."
|
|
@@ -1274,7 +1292,7 @@ var BedrockChatLanguageModel = class {
|
|
|
1274
1292
|
async getHeaders({
|
|
1275
1293
|
headers
|
|
1276
1294
|
}) {
|
|
1277
|
-
return (0,
|
|
1295
|
+
return (0, import_provider_utils7.combineHeaders)(await (0, import_provider_utils7.resolve)(this.config.headers), headers);
|
|
1278
1296
|
}
|
|
1279
1297
|
async doGenerate(options) {
|
|
1280
1298
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
|
|
@@ -1285,18 +1303,18 @@ var BedrockChatLanguageModel = class {
|
|
|
1285
1303
|
usesJsonResponseTool
|
|
1286
1304
|
} = await this.getArgs(options);
|
|
1287
1305
|
const url = `${this.getUrl(this.modelId)}/converse`;
|
|
1288
|
-
const { value: response, responseHeaders } = await (0,
|
|
1306
|
+
const { value: response, responseHeaders } = await (0, import_provider_utils7.postJsonToApi)({
|
|
1289
1307
|
url,
|
|
1290
1308
|
headers: await this.getHeaders({ headers: options.headers }),
|
|
1291
1309
|
body: args,
|
|
1292
|
-
failedResponseHandler: (0,
|
|
1310
|
+
failedResponseHandler: (0, import_provider_utils7.createJsonErrorResponseHandler)({
|
|
1293
1311
|
errorSchema: BedrockErrorSchema,
|
|
1294
1312
|
errorToMessage: (error) => {
|
|
1295
1313
|
var _a2;
|
|
1296
1314
|
return `${(_a2 = error.message) != null ? _a2 : "Unknown error"}`;
|
|
1297
1315
|
}
|
|
1298
1316
|
}),
|
|
1299
|
-
successfulResponseHandler: (0,
|
|
1317
|
+
successfulResponseHandler: (0, import_provider_utils7.createJsonResponseHandler)(
|
|
1300
1318
|
BedrockResponseSchema
|
|
1301
1319
|
),
|
|
1302
1320
|
abortSignal: options.abortSignal,
|
|
@@ -1425,7 +1443,7 @@ var BedrockChatLanguageModel = class {
|
|
|
1425
1443
|
const modelId = this.modelId;
|
|
1426
1444
|
const isMistral = isMistralModel(modelId);
|
|
1427
1445
|
const url = `${this.getUrl(modelId)}/converse-stream`;
|
|
1428
|
-
const { value: response, responseHeaders } = await (0,
|
|
1446
|
+
const { value: response, responseHeaders } = await (0, import_provider_utils7.postJsonToApi)({
|
|
1429
1447
|
url,
|
|
1430
1448
|
headers: await this.getHeaders({ headers: options.headers }),
|
|
1431
1449
|
body: args,
|
|
@@ -1823,68 +1841,72 @@ var BedrockToolUseSchema = import_v44.z.object({
|
|
|
1823
1841
|
name: import_v44.z.string(),
|
|
1824
1842
|
input: import_v44.z.unknown().optional()
|
|
1825
1843
|
});
|
|
1826
|
-
var BedrockReasoningTextSchema = import_v44.z.object({
|
|
1844
|
+
var BedrockReasoningTextSchema = () => import_v44.z.object({
|
|
1827
1845
|
signature: import_v44.z.string().nullish(),
|
|
1828
1846
|
text: import_v44.z.string()
|
|
1829
1847
|
});
|
|
1830
|
-
var BedrockRedactedReasoningSchema = import_v44.z.object({
|
|
1848
|
+
var BedrockRedactedReasoningSchema = () => import_v44.z.object({
|
|
1831
1849
|
data: import_v44.z.string()
|
|
1832
1850
|
});
|
|
1833
1851
|
var AmazonBedrockCacheDetailSchema = import_v44.z.object({
|
|
1834
1852
|
inputTokens: import_v44.z.number(),
|
|
1835
1853
|
ttl: import_v44.z.string()
|
|
1836
1854
|
}).catchall(import_v44.z.json());
|
|
1837
|
-
var BedrockResponseSchema =
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
import_v44.z.object({
|
|
1845
|
-
|
|
1846
|
-
citationsContent: import_v44.z.object({
|
|
1847
|
-
content: import_v44.z.array(
|
|
1848
|
-
import_v44.z.object({
|
|
1849
|
-
text: import_v44.z.string().nullish()
|
|
1850
|
-
})
|
|
1851
|
-
).nullish()
|
|
1852
|
-
}).nullish(),
|
|
1853
|
-
toolUse: BedrockToolUseSchema.nullish(),
|
|
1854
|
-
reasoningContent: import_v44.z.union([
|
|
1855
|
-
import_v44.z.object({
|
|
1856
|
-
reasoningText: BedrockReasoningTextSchema
|
|
1857
|
-
}),
|
|
1858
|
-
import_v44.z.object({
|
|
1859
|
-
redactedReasoning: BedrockRedactedReasoningSchema
|
|
1860
|
-
}),
|
|
1861
|
-
// `redactedContent` is a member of the documented
|
|
1862
|
-
// ReasoningContentBlock union. OpenAI models on Bedrock
|
|
1863
|
-
// (e.g. `us.openai.gpt-5.6-luna`) return their encrypted
|
|
1864
|
-
// reasoning in this shape.
|
|
1855
|
+
var BedrockResponseSchema = (0, import_provider_utils7.lazySchema)(
|
|
1856
|
+
() => (0, import_provider_utils7.zodSchema)(
|
|
1857
|
+
import_v44.z.object({
|
|
1858
|
+
metrics: import_v44.z.object({
|
|
1859
|
+
latencyMs: import_v44.z.number()
|
|
1860
|
+
}).nullish(),
|
|
1861
|
+
output: import_v44.z.object({
|
|
1862
|
+
message: import_v44.z.object({
|
|
1863
|
+
content: import_v44.z.array(
|
|
1865
1864
|
import_v44.z.object({
|
|
1866
|
-
|
|
1865
|
+
text: import_v44.z.string().nullish(),
|
|
1866
|
+
citationsContent: import_v44.z.object({
|
|
1867
|
+
content: import_v44.z.array(
|
|
1868
|
+
import_v44.z.object({
|
|
1869
|
+
text: import_v44.z.string().nullish()
|
|
1870
|
+
})
|
|
1871
|
+
).nullish()
|
|
1872
|
+
}).nullish(),
|
|
1873
|
+
toolUse: BedrockToolUseSchema.nullish(),
|
|
1874
|
+
reasoningContent: import_v44.z.union([
|
|
1875
|
+
import_v44.z.object({
|
|
1876
|
+
reasoningText: BedrockReasoningTextSchema()
|
|
1877
|
+
}),
|
|
1878
|
+
import_v44.z.object({
|
|
1879
|
+
redactedReasoning: BedrockRedactedReasoningSchema()
|
|
1880
|
+
}),
|
|
1881
|
+
// `redactedContent` is a member of the documented
|
|
1882
|
+
// ReasoningContentBlock union. OpenAI models on Bedrock
|
|
1883
|
+
// (e.g. `us.openai.gpt-5.6-luna`) return their encrypted
|
|
1884
|
+
// reasoning in this shape.
|
|
1885
|
+
import_v44.z.object({
|
|
1886
|
+
redactedContent: import_v44.z.string()
|
|
1887
|
+
})
|
|
1888
|
+
]).nullish()
|
|
1867
1889
|
})
|
|
1868
|
-
|
|
1890
|
+
),
|
|
1891
|
+
role: import_v44.z.string()
|
|
1869
1892
|
})
|
|
1870
|
-
),
|
|
1871
|
-
|
|
1893
|
+
}),
|
|
1894
|
+
stopReason: BedrockStopReasonSchema,
|
|
1895
|
+
additionalModelResponseFields: BedrockAdditionalModelResponseFieldsSchema.nullish(),
|
|
1896
|
+
trace: import_v44.z.unknown().nullish(),
|
|
1897
|
+
performanceConfig: import_v44.z.object({ latency: import_v44.z.string() }).nullish(),
|
|
1898
|
+
serviceTier: import_v44.z.object({ type: import_v44.z.string() }).nullish(),
|
|
1899
|
+
usage: import_v44.z.object({
|
|
1900
|
+
inputTokens: import_v44.z.number(),
|
|
1901
|
+
outputTokens: import_v44.z.number(),
|
|
1902
|
+
totalTokens: import_v44.z.number(),
|
|
1903
|
+
cacheReadInputTokens: import_v44.z.number().nullish(),
|
|
1904
|
+
cacheWriteInputTokens: import_v44.z.number().nullish(),
|
|
1905
|
+
cacheDetails: import_v44.z.array(AmazonBedrockCacheDetailSchema).nullish()
|
|
1906
|
+
}).catchall(import_v44.z.json())
|
|
1872
1907
|
})
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
additionalModelResponseFields: BedrockAdditionalModelResponseFieldsSchema.nullish(),
|
|
1876
|
-
trace: import_v44.z.unknown().nullish(),
|
|
1877
|
-
performanceConfig: import_v44.z.object({ latency: import_v44.z.string() }).nullish(),
|
|
1878
|
-
serviceTier: import_v44.z.object({ type: import_v44.z.string() }).nullish(),
|
|
1879
|
-
usage: import_v44.z.object({
|
|
1880
|
-
inputTokens: import_v44.z.number(),
|
|
1881
|
-
outputTokens: import_v44.z.number(),
|
|
1882
|
-
totalTokens: import_v44.z.number(),
|
|
1883
|
-
cacheReadInputTokens: import_v44.z.number().nullish(),
|
|
1884
|
-
cacheWriteInputTokens: import_v44.z.number().nullish(),
|
|
1885
|
-
cacheDetails: import_v44.z.array(AmazonBedrockCacheDetailSchema).nullish()
|
|
1886
|
-
}).catchall(import_v44.z.json())
|
|
1887
|
-
});
|
|
1908
|
+
)
|
|
1909
|
+
);
|
|
1888
1910
|
var BedrockStreamSchema = import_v44.z.object({
|
|
1889
1911
|
contentBlockDelta: import_v44.z.object({
|
|
1890
1912
|
contentBlockIndex: import_v44.z.number(),
|
|
@@ -1948,59 +1970,79 @@ var BedrockStreamSchema = import_v44.z.object({
|
|
|
1948
1970
|
|
|
1949
1971
|
// src/bedrock-embedding-model.ts
|
|
1950
1972
|
var import_provider4 = require("@ai-sdk/provider");
|
|
1951
|
-
var
|
|
1973
|
+
var import_provider_utils9 = require("@ai-sdk/provider-utils");
|
|
1952
1974
|
|
|
1953
1975
|
// src/bedrock-embedding-options.ts
|
|
1976
|
+
var import_provider_utils8 = require("@ai-sdk/provider-utils");
|
|
1954
1977
|
var import_v45 = require("zod/v4");
|
|
1955
|
-
var amazonBedrockEmbeddingModelOptionsSchema =
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
1978
|
+
var amazonBedrockEmbeddingModelOptionsSchema = (0, import_provider_utils8.lazySchema)(
|
|
1979
|
+
() => (0, import_provider_utils8.zodSchema)(
|
|
1980
|
+
import_v45.z.object({
|
|
1981
|
+
/**
|
|
1982
|
+
* The number of dimensions the resulting output embeddings should have (defaults to 1024).
|
|
1983
|
+
* Only supported in amazon.titan-embed-text-v2:0.
|
|
1984
|
+
*/
|
|
1985
|
+
dimensions: import_v45.z.union([import_v45.z.literal(1024), import_v45.z.literal(512), import_v45.z.literal(256)]).optional(),
|
|
1986
|
+
/**
|
|
1987
|
+
* Flag indicating whether or not to normalize the output embeddings. Defaults to true.
|
|
1988
|
+
* Only supported in amazon.titan-embed-text-v2:0.
|
|
1989
|
+
*/
|
|
1990
|
+
normalize: import_v45.z.boolean().optional(),
|
|
1991
|
+
/**
|
|
1992
|
+
* The number of dimensions for Nova embedding models (defaults to 1024).
|
|
1993
|
+
* Supported values: 256, 384, 1024, 3072.
|
|
1994
|
+
* Only supported in amazon.nova-* embedding models.
|
|
1995
|
+
*/
|
|
1996
|
+
embeddingDimension: import_v45.z.union([
|
|
1997
|
+
import_v45.z.literal(256),
|
|
1998
|
+
import_v45.z.literal(384),
|
|
1999
|
+
import_v45.z.literal(1024),
|
|
2000
|
+
import_v45.z.literal(3072)
|
|
2001
|
+
]).optional(),
|
|
2002
|
+
/**
|
|
2003
|
+
* The purpose of the embedding. Defaults to 'GENERIC_INDEX'.
|
|
2004
|
+
* Only supported in amazon.nova-* embedding models.
|
|
2005
|
+
*/
|
|
2006
|
+
embeddingPurpose: import_v45.z.enum([
|
|
2007
|
+
"GENERIC_INDEX",
|
|
2008
|
+
"TEXT_RETRIEVAL",
|
|
2009
|
+
"IMAGE_RETRIEVAL",
|
|
2010
|
+
"VIDEO_RETRIEVAL",
|
|
2011
|
+
"DOCUMENT_RETRIEVAL",
|
|
2012
|
+
"AUDIO_RETRIEVAL",
|
|
2013
|
+
"GENERIC_RETRIEVAL",
|
|
2014
|
+
"CLASSIFICATION",
|
|
2015
|
+
"CLUSTERING"
|
|
2016
|
+
]).optional(),
|
|
2017
|
+
/**
|
|
2018
|
+
* Input type for Cohere embedding models on Bedrock.
|
|
2019
|
+
* Common values: `search_document`, `search_query`, `classification`, `clustering`.
|
|
2020
|
+
* If not set, the provider defaults to `search_query`.
|
|
2021
|
+
*/
|
|
2022
|
+
inputType: import_v45.z.enum([
|
|
2023
|
+
"search_document",
|
|
2024
|
+
"search_query",
|
|
2025
|
+
"classification",
|
|
2026
|
+
"clustering"
|
|
2027
|
+
]).optional(),
|
|
2028
|
+
/**
|
|
2029
|
+
* Truncation behavior when input exceeds the model's context length.
|
|
2030
|
+
* Supported in Cohere and Nova embedding models. Defaults to 'END' for Nova models.
|
|
2031
|
+
*/
|
|
2032
|
+
truncate: import_v45.z.enum(["NONE", "START", "END"]).optional(),
|
|
2033
|
+
/**
|
|
2034
|
+
* The number of dimensions the resulting output embeddings should have (defaults to 1536).
|
|
2035
|
+
* Only supported in cohere.embed-v4:0 and newer Cohere embedding models.
|
|
2036
|
+
*/
|
|
2037
|
+
outputDimension: import_v45.z.union([
|
|
2038
|
+
import_v45.z.literal(256),
|
|
2039
|
+
import_v45.z.literal(512),
|
|
2040
|
+
import_v45.z.literal(1024),
|
|
2041
|
+
import_v45.z.literal(1536)
|
|
2042
|
+
]).optional()
|
|
2043
|
+
})
|
|
2044
|
+
)
|
|
2045
|
+
);
|
|
2004
2046
|
|
|
2005
2047
|
// src/bedrock-embedding-model.ts
|
|
2006
2048
|
var import_v46 = require("zod/v4");
|
|
@@ -2038,7 +2080,7 @@ var BedrockEmbeddingModel = class {
|
|
|
2038
2080
|
values
|
|
2039
2081
|
});
|
|
2040
2082
|
}
|
|
2041
|
-
const bedrockOptions = (_a = await (0,
|
|
2083
|
+
const bedrockOptions = (_a = await (0, import_provider_utils9.parseProviderOptions)({
|
|
2042
2084
|
provider: "bedrock",
|
|
2043
2085
|
providerOptions,
|
|
2044
2086
|
schema: amazonBedrockEmbeddingModelOptionsSchema
|
|
@@ -2067,14 +2109,14 @@ var BedrockEmbeddingModel = class {
|
|
|
2067
2109
|
normalize: bedrockOptions.normalize
|
|
2068
2110
|
};
|
|
2069
2111
|
const url = this.getUrl(this.modelId);
|
|
2070
|
-
const { value: response, responseHeaders } = await (0,
|
|
2112
|
+
const { value: response, responseHeaders } = await (0, import_provider_utils9.postJsonToApi)({
|
|
2071
2113
|
url,
|
|
2072
|
-
headers: await (0,
|
|
2073
|
-
(0,
|
|
2114
|
+
headers: await (0, import_provider_utils9.resolve)(
|
|
2115
|
+
(0, import_provider_utils9.combineHeaders)(await (0, import_provider_utils9.resolve)(this.config.headers), headers)
|
|
2074
2116
|
),
|
|
2075
2117
|
body: args,
|
|
2076
2118
|
failedResponseHandler: bedrockFailedResponseHandler,
|
|
2077
|
-
successfulResponseHandler: (0,
|
|
2119
|
+
successfulResponseHandler: (0, import_provider_utils9.createJsonResponseHandler)(
|
|
2078
2120
|
BedrockEmbeddingResponseSchema
|
|
2079
2121
|
),
|
|
2080
2122
|
fetch: this.config.fetch,
|
|
@@ -2113,36 +2155,40 @@ function isNovaEmbeddingModel(modelId) {
|
|
|
2113
2155
|
function detectEmbeddingModelFamily(modelId) {
|
|
2114
2156
|
return isNovaEmbeddingModel(modelId) ? "nova" : isCohereEmbeddingModel(modelId) ? "cohere" : "titan";
|
|
2115
2157
|
}
|
|
2116
|
-
var BedrockEmbeddingResponseSchema =
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
inputTextTokenCount: import_v46.z.number()
|
|
2121
|
-
}),
|
|
2122
|
-
// Nova-style response
|
|
2123
|
-
import_v46.z.object({
|
|
2124
|
-
embeddings: import_v46.z.array(
|
|
2158
|
+
var BedrockEmbeddingResponseSchema = (0, import_provider_utils9.lazySchema)(
|
|
2159
|
+
() => (0, import_provider_utils9.zodSchema)(
|
|
2160
|
+
import_v46.z.union([
|
|
2161
|
+
// Titan-style response
|
|
2125
2162
|
import_v46.z.object({
|
|
2126
|
-
|
|
2127
|
-
|
|
2163
|
+
embedding: import_v46.z.array(import_v46.z.number()),
|
|
2164
|
+
inputTextTokenCount: import_v46.z.number()
|
|
2165
|
+
}),
|
|
2166
|
+
// Nova-style response
|
|
2167
|
+
import_v46.z.object({
|
|
2168
|
+
embeddings: import_v46.z.array(
|
|
2169
|
+
import_v46.z.object({
|
|
2170
|
+
embeddingType: import_v46.z.string(),
|
|
2171
|
+
embedding: import_v46.z.array(import_v46.z.number())
|
|
2172
|
+
})
|
|
2173
|
+
),
|
|
2174
|
+
inputTokenCount: import_v46.z.number().optional()
|
|
2175
|
+
}),
|
|
2176
|
+
// Cohere v3-style response
|
|
2177
|
+
import_v46.z.object({
|
|
2178
|
+
embeddings: import_v46.z.array(import_v46.z.array(import_v46.z.number()))
|
|
2179
|
+
}),
|
|
2180
|
+
// Cohere v4-style response
|
|
2181
|
+
import_v46.z.object({
|
|
2182
|
+
embeddings: import_v46.z.object({
|
|
2183
|
+
float: import_v46.z.array(import_v46.z.array(import_v46.z.number()))
|
|
2184
|
+
})
|
|
2128
2185
|
})
|
|
2129
|
-
)
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
// Cohere v3-style response
|
|
2133
|
-
import_v46.z.object({
|
|
2134
|
-
embeddings: import_v46.z.array(import_v46.z.array(import_v46.z.number()))
|
|
2135
|
-
}),
|
|
2136
|
-
// Cohere v4-style response
|
|
2137
|
-
import_v46.z.object({
|
|
2138
|
-
embeddings: import_v46.z.object({
|
|
2139
|
-
float: import_v46.z.array(import_v46.z.array(import_v46.z.number()))
|
|
2140
|
-
})
|
|
2141
|
-
})
|
|
2142
|
-
]);
|
|
2186
|
+
])
|
|
2187
|
+
)
|
|
2188
|
+
);
|
|
2143
2189
|
|
|
2144
2190
|
// src/bedrock-image-model.ts
|
|
2145
|
-
var
|
|
2191
|
+
var import_provider_utils10 = require("@ai-sdk/provider-utils");
|
|
2146
2192
|
|
|
2147
2193
|
// src/bedrock-image-settings.ts
|
|
2148
2194
|
var modelMaxImagesPerCall = {
|
|
@@ -2286,14 +2332,14 @@ var BedrockImageModel = class {
|
|
|
2286
2332
|
});
|
|
2287
2333
|
}
|
|
2288
2334
|
const currentDate = (_o = (_n = (_m = this.config._internal) == null ? void 0 : _m.currentDate) == null ? void 0 : _n.call(_m)) != null ? _o : /* @__PURE__ */ new Date();
|
|
2289
|
-
const { value: response, responseHeaders } = await (0,
|
|
2335
|
+
const { value: response, responseHeaders } = await (0, import_provider_utils10.postJsonToApi)({
|
|
2290
2336
|
url: this.getUrl(this.modelId),
|
|
2291
|
-
headers: await (0,
|
|
2292
|
-
(0,
|
|
2337
|
+
headers: await (0, import_provider_utils10.resolve)(
|
|
2338
|
+
(0, import_provider_utils10.combineHeaders)(await (0, import_provider_utils10.resolve)(this.config.headers), headers)
|
|
2293
2339
|
),
|
|
2294
2340
|
body: args,
|
|
2295
2341
|
failedResponseHandler: bedrockFailedResponseHandler,
|
|
2296
|
-
successfulResponseHandler: (0,
|
|
2342
|
+
successfulResponseHandler: (0, import_provider_utils10.createJsonResponseHandler)(
|
|
2297
2343
|
bedrockImageResponseSchema
|
|
2298
2344
|
),
|
|
2299
2345
|
abortSignal,
|
|
@@ -2329,28 +2375,32 @@ function getBase64Data(file) {
|
|
|
2329
2375
|
);
|
|
2330
2376
|
}
|
|
2331
2377
|
if (file.data instanceof Uint8Array) {
|
|
2332
|
-
return (0,
|
|
2378
|
+
return (0, import_provider_utils10.convertUint8ArrayToBase64)(file.data);
|
|
2333
2379
|
}
|
|
2334
2380
|
return file.data;
|
|
2335
2381
|
}
|
|
2336
|
-
var bedrockImageResponseSchema =
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2382
|
+
var bedrockImageResponseSchema = (0, import_provider_utils10.lazySchema)(
|
|
2383
|
+
() => (0, import_provider_utils10.zodSchema)(
|
|
2384
|
+
import_v47.z.object({
|
|
2385
|
+
// Normal successful response
|
|
2386
|
+
images: import_v47.z.array(import_v47.z.string()).optional(),
|
|
2387
|
+
// Moderation response fields
|
|
2388
|
+
id: import_v47.z.string().optional(),
|
|
2389
|
+
status: import_v47.z.string().optional(),
|
|
2390
|
+
result: import_v47.z.unknown().optional(),
|
|
2391
|
+
progress: import_v47.z.unknown().optional(),
|
|
2392
|
+
details: import_v47.z.record(import_v47.z.string(), import_v47.z.unknown()).optional(),
|
|
2393
|
+
preview: import_v47.z.unknown().optional()
|
|
2394
|
+
})
|
|
2395
|
+
)
|
|
2396
|
+
);
|
|
2347
2397
|
|
|
2348
2398
|
// src/bedrock-sigv4-fetch.ts
|
|
2349
|
-
var
|
|
2399
|
+
var import_provider_utils11 = require("@ai-sdk/provider-utils");
|
|
2350
2400
|
var import_aws4fetch = require("aws4fetch");
|
|
2351
2401
|
|
|
2352
2402
|
// src/version.ts
|
|
2353
|
-
var VERSION = true ? "4.0.
|
|
2403
|
+
var VERSION = true ? "4.0.201" : "0.0.0-test";
|
|
2354
2404
|
|
|
2355
2405
|
// src/bedrock-sigv4-fetch.ts
|
|
2356
2406
|
function createSigV4FetchFunction(getCredentials, fetch, service = "bedrock") {
|
|
@@ -2358,14 +2408,14 @@ function createSigV4FetchFunction(getCredentials, fetch, service = "bedrock") {
|
|
|
2358
2408
|
var _a, _b;
|
|
2359
2409
|
const effectiveFetch = fetch != null ? fetch : globalThis.fetch;
|
|
2360
2410
|
const request = input instanceof Request ? input : void 0;
|
|
2361
|
-
const originalHeaders = (0,
|
|
2362
|
-
(0,
|
|
2363
|
-
(0,
|
|
2411
|
+
const originalHeaders = (0, import_provider_utils11.combineHeaders)(
|
|
2412
|
+
(0, import_provider_utils11.normalizeHeaders)(request == null ? void 0 : request.headers),
|
|
2413
|
+
(0, import_provider_utils11.normalizeHeaders)(init == null ? void 0 : init.headers)
|
|
2364
2414
|
);
|
|
2365
|
-
const headersWithUserAgent = (0,
|
|
2415
|
+
const headersWithUserAgent = (0, import_provider_utils11.withUserAgentSuffix)(
|
|
2366
2416
|
originalHeaders,
|
|
2367
2417
|
`ai-sdk/amazon-bedrock/${VERSION}`,
|
|
2368
|
-
(0,
|
|
2418
|
+
(0, import_provider_utils11.getRuntimeEnvironmentUserAgent)()
|
|
2369
2419
|
);
|
|
2370
2420
|
let effectiveBody = (_a = init == null ? void 0 : init.body) != null ? _a : void 0;
|
|
2371
2421
|
if (effectiveBody === void 0 && request && request.body !== null) {
|
|
@@ -2398,8 +2448,8 @@ function createSigV4FetchFunction(getCredentials, fetch, service = "bedrock") {
|
|
|
2398
2448
|
service
|
|
2399
2449
|
});
|
|
2400
2450
|
const signingResult = await signer.sign();
|
|
2401
|
-
const signedHeaders = (0,
|
|
2402
|
-
const combinedHeaders = (0,
|
|
2451
|
+
const signedHeaders = (0, import_provider_utils11.normalizeHeaders)(signingResult.headers);
|
|
2452
|
+
const combinedHeaders = (0, import_provider_utils11.combineHeaders)(headersWithUserAgent, signedHeaders);
|
|
2403
2453
|
return effectiveFetch(input, {
|
|
2404
2454
|
...init,
|
|
2405
2455
|
body,
|
|
@@ -2424,13 +2474,13 @@ function isAscii(value) {
|
|
|
2424
2474
|
function createApiKeyFetchFunction(apiKey, fetch) {
|
|
2425
2475
|
return async (input, init) => {
|
|
2426
2476
|
const effectiveFetch = fetch != null ? fetch : globalThis.fetch;
|
|
2427
|
-
const originalHeaders = (0,
|
|
2428
|
-
const headersWithUserAgent = (0,
|
|
2477
|
+
const originalHeaders = (0, import_provider_utils11.normalizeHeaders)(init == null ? void 0 : init.headers);
|
|
2478
|
+
const headersWithUserAgent = (0, import_provider_utils11.withUserAgentSuffix)(
|
|
2429
2479
|
originalHeaders,
|
|
2430
2480
|
`ai-sdk/amazon-bedrock/${VERSION}`,
|
|
2431
|
-
(0,
|
|
2481
|
+
(0, import_provider_utils11.getRuntimeEnvironmentUserAgent)()
|
|
2432
2482
|
);
|
|
2433
|
-
const finalHeaders = (0,
|
|
2483
|
+
const finalHeaders = (0, import_provider_utils11.combineHeaders)(headersWithUserAgent, {
|
|
2434
2484
|
Authorization: `Bearer ${apiKey}`
|
|
2435
2485
|
});
|
|
2436
2486
|
return effectiveFetch(input, {
|
|
@@ -2441,13 +2491,13 @@ function createApiKeyFetchFunction(apiKey, fetch) {
|
|
|
2441
2491
|
}
|
|
2442
2492
|
|
|
2443
2493
|
// src/reranking/bedrock-reranking-model.ts
|
|
2444
|
-
var
|
|
2494
|
+
var import_provider_utils14 = require("@ai-sdk/provider-utils");
|
|
2445
2495
|
|
|
2446
2496
|
// src/reranking/bedrock-reranking-api.ts
|
|
2447
|
-
var
|
|
2497
|
+
var import_provider_utils12 = require("@ai-sdk/provider-utils");
|
|
2448
2498
|
var import_v48 = require("zod/v4");
|
|
2449
|
-
var bedrockRerankingResponseSchema = (0,
|
|
2450
|
-
() => (0,
|
|
2499
|
+
var bedrockRerankingResponseSchema = (0, import_provider_utils12.lazySchema)(
|
|
2500
|
+
() => (0, import_provider_utils12.zodSchema)(
|
|
2451
2501
|
import_v48.z.object({
|
|
2452
2502
|
results: import_v48.z.array(
|
|
2453
2503
|
import_v48.z.object({
|
|
@@ -2461,10 +2511,10 @@ var bedrockRerankingResponseSchema = (0, import_provider_utils9.lazySchema)(
|
|
|
2461
2511
|
);
|
|
2462
2512
|
|
|
2463
2513
|
// src/reranking/bedrock-reranking-options.ts
|
|
2464
|
-
var
|
|
2514
|
+
var import_provider_utils13 = require("@ai-sdk/provider-utils");
|
|
2465
2515
|
var import_v49 = require("zod/v4");
|
|
2466
|
-
var amazonBedrockRerankingModelOptionsSchema = (0,
|
|
2467
|
-
() => (0,
|
|
2516
|
+
var amazonBedrockRerankingModelOptionsSchema = (0, import_provider_utils13.lazySchema)(
|
|
2517
|
+
() => (0, import_provider_utils13.zodSchema)(
|
|
2468
2518
|
import_v49.z.object({
|
|
2469
2519
|
/**
|
|
2470
2520
|
* If the total number of results was greater than could fit in a response, a token is returned in the nextToken field. You can enter that token in this field to return the next batch of results.
|
|
@@ -2494,7 +2544,7 @@ var BedrockRerankingModel = class {
|
|
|
2494
2544
|
abortSignal,
|
|
2495
2545
|
providerOptions
|
|
2496
2546
|
}) {
|
|
2497
|
-
const bedrockOptions = await (0,
|
|
2547
|
+
const bedrockOptions = await (0, import_provider_utils14.parseProviderOptions)({
|
|
2498
2548
|
provider: "bedrock",
|
|
2499
2549
|
providerOptions,
|
|
2500
2550
|
schema: amazonBedrockRerankingModelOptionsSchema
|
|
@@ -2503,10 +2553,10 @@ var BedrockRerankingModel = class {
|
|
|
2503
2553
|
value: response,
|
|
2504
2554
|
responseHeaders,
|
|
2505
2555
|
rawValue
|
|
2506
|
-
} = await (0,
|
|
2556
|
+
} = await (0, import_provider_utils14.postJsonToApi)({
|
|
2507
2557
|
url: `${this.config.baseUrl()}/rerank`,
|
|
2508
|
-
headers: await (0,
|
|
2509
|
-
(0,
|
|
2558
|
+
headers: await (0, import_provider_utils14.resolve)(
|
|
2559
|
+
(0, import_provider_utils14.combineHeaders)(await (0, import_provider_utils14.resolve)(this.config.headers), headers)
|
|
2510
2560
|
),
|
|
2511
2561
|
body: {
|
|
2512
2562
|
nextToken: bedrockOptions == null ? void 0 : bedrockOptions.nextToken,
|
|
@@ -2538,7 +2588,7 @@ var BedrockRerankingModel = class {
|
|
|
2538
2588
|
}))
|
|
2539
2589
|
},
|
|
2540
2590
|
failedResponseHandler: bedrockFailedResponseHandler,
|
|
2541
|
-
successfulResponseHandler: (0,
|
|
2591
|
+
successfulResponseHandler: (0, import_provider_utils14.createJsonResponseHandler)(
|
|
2542
2592
|
bedrockRerankingResponseSchema
|
|
2543
2593
|
),
|
|
2544
2594
|
fetch: this.config.fetch,
|
|
@@ -2555,7 +2605,7 @@ var BedrockRerankingModel = class {
|
|
|
2555
2605
|
};
|
|
2556
2606
|
|
|
2557
2607
|
// src/resolve-bedrock-base-url.ts
|
|
2558
|
-
var
|
|
2608
|
+
var import_provider_utils15 = require("@ai-sdk/provider-utils");
|
|
2559
2609
|
var AWS_PARTITION_DNS_SUFFIXES = [
|
|
2560
2610
|
{ regionPrefix: "cn-", dnsSuffix: "amazonaws.com.cn" },
|
|
2561
2611
|
{ regionPrefix: "us-iso-", dnsSuffix: "c2s.ic.gov" },
|
|
@@ -2571,33 +2621,33 @@ function resolveBedrockBaseURL({
|
|
|
2571
2621
|
serviceEndpointUrlEnvironmentVariableName
|
|
2572
2622
|
}) {
|
|
2573
2623
|
var _a, _b, _c, _d, _e;
|
|
2574
|
-
const resolvedBaseURL = (_a = baseURL != null ? baseURL : (0,
|
|
2624
|
+
const resolvedBaseURL = (_a = baseURL != null ? baseURL : (0, import_provider_utils15.loadOptionalSetting)({
|
|
2575
2625
|
settingValue: void 0,
|
|
2576
2626
|
environmentVariableName: serviceEndpointUrlEnvironmentVariableName
|
|
2577
|
-
})) != null ? _a : (0,
|
|
2627
|
+
})) != null ? _a : (0, import_provider_utils15.loadOptionalSetting)({
|
|
2578
2628
|
settingValue: void 0,
|
|
2579
2629
|
environmentVariableName: "AWS_ENDPOINT_URL"
|
|
2580
2630
|
});
|
|
2581
2631
|
if (resolvedBaseURL != null) {
|
|
2582
|
-
return (_b = (0,
|
|
2632
|
+
return (_b = (0, import_provider_utils15.withoutTrailingSlash)(resolvedBaseURL)) != null ? _b : resolvedBaseURL;
|
|
2583
2633
|
}
|
|
2584
2634
|
const region = getRegion();
|
|
2585
2635
|
const dnsSuffix = (_d = (_c = AWS_PARTITION_DNS_SUFFIXES.find(
|
|
2586
2636
|
({ regionPrefix }) => region.startsWith(regionPrefix)
|
|
2587
2637
|
)) == null ? void 0 : _c.dnsSuffix) != null ? _d : "amazonaws.com";
|
|
2588
2638
|
const generatedBaseURL = `https://${service}.${region}.${dnsSuffix}`;
|
|
2589
|
-
return (_e = (0,
|
|
2639
|
+
return (_e = (0, import_provider_utils15.withoutTrailingSlash)(generatedBaseURL)) != null ? _e : generatedBaseURL;
|
|
2590
2640
|
}
|
|
2591
2641
|
|
|
2592
2642
|
// src/bedrock-provider.ts
|
|
2593
2643
|
function createAmazonBedrock(options = {}) {
|
|
2594
|
-
const rawApiKey = (0,
|
|
2644
|
+
const rawApiKey = (0, import_provider_utils16.loadOptionalSetting)({
|
|
2595
2645
|
settingValue: options.apiKey,
|
|
2596
2646
|
environmentVariableName: "AWS_BEARER_TOKEN_BEDROCK"
|
|
2597
2647
|
});
|
|
2598
2648
|
const apiKey = rawApiKey && rawApiKey.trim().length > 0 ? rawApiKey.trim() : void 0;
|
|
2599
2649
|
const fetchFunction = apiKey ? createApiKeyFetchFunction(apiKey, options.fetch) : createSigV4FetchFunction(async () => {
|
|
2600
|
-
const region = (0,
|
|
2650
|
+
const region = (0, import_provider_utils16.loadSetting)({
|
|
2601
2651
|
settingValue: options.region,
|
|
2602
2652
|
settingName: "region",
|
|
2603
2653
|
environmentVariableName: "AWS_REGION",
|
|
@@ -2619,19 +2669,19 @@ function createAmazonBedrock(options = {}) {
|
|
|
2619
2669
|
try {
|
|
2620
2670
|
return {
|
|
2621
2671
|
region,
|
|
2622
|
-
accessKeyId: (0,
|
|
2672
|
+
accessKeyId: (0, import_provider_utils16.loadSetting)({
|
|
2623
2673
|
settingValue: options.accessKeyId,
|
|
2624
2674
|
settingName: "accessKeyId",
|
|
2625
2675
|
environmentVariableName: "AWS_ACCESS_KEY_ID",
|
|
2626
2676
|
description: "AWS access key ID"
|
|
2627
2677
|
}),
|
|
2628
|
-
secretAccessKey: (0,
|
|
2678
|
+
secretAccessKey: (0, import_provider_utils16.loadSetting)({
|
|
2629
2679
|
settingValue: options.secretAccessKey,
|
|
2630
2680
|
settingName: "secretAccessKey",
|
|
2631
2681
|
environmentVariableName: "AWS_SECRET_ACCESS_KEY",
|
|
2632
2682
|
description: "AWS secret access key"
|
|
2633
2683
|
}),
|
|
2634
|
-
sessionToken: options.accessKeyId != null && options.secretAccessKey != null ? options.sessionToken : (0,
|
|
2684
|
+
sessionToken: options.accessKeyId != null && options.secretAccessKey != null ? options.sessionToken : (0, import_provider_utils16.loadOptionalSetting)({
|
|
2635
2685
|
settingValue: options.sessionToken,
|
|
2636
2686
|
environmentVariableName: "AWS_SESSION_TOKEN"
|
|
2637
2687
|
})
|
|
@@ -2660,11 +2710,11 @@ Original error: ${errorMessage}`
|
|
|
2660
2710
|
const getHeaders = () => {
|
|
2661
2711
|
var _a;
|
|
2662
2712
|
const baseHeaders = (_a = options.headers) != null ? _a : {};
|
|
2663
|
-
return (0,
|
|
2713
|
+
return (0, import_provider_utils16.withUserAgentSuffix)(baseHeaders, `ai-sdk/amazon-bedrock/${VERSION}`);
|
|
2664
2714
|
};
|
|
2665
2715
|
const getBedrockRuntimeBaseUrl = () => resolveBedrockBaseURL({
|
|
2666
2716
|
baseURL: options.baseURL,
|
|
2667
|
-
getRegion: () => (0,
|
|
2717
|
+
getRegion: () => (0, import_provider_utils16.loadSetting)({
|
|
2668
2718
|
settingValue: options.region,
|
|
2669
2719
|
settingName: "region",
|
|
2670
2720
|
environmentVariableName: "AWS_REGION",
|
|
@@ -2675,7 +2725,7 @@ Original error: ${errorMessage}`
|
|
|
2675
2725
|
});
|
|
2676
2726
|
const getBedrockAgentRuntimeBaseUrl = () => resolveBedrockBaseURL({
|
|
2677
2727
|
baseURL: options.baseURL,
|
|
2678
|
-
getRegion: () => (0,
|
|
2728
|
+
getRegion: () => (0, import_provider_utils16.loadSetting)({
|
|
2679
2729
|
settingValue: options.region,
|
|
2680
2730
|
settingName: "region",
|
|
2681
2731
|
environmentVariableName: "AWS_REGION",
|
|
@@ -2688,7 +2738,7 @@ Original error: ${errorMessage}`
|
|
|
2688
2738
|
baseUrl: getBedrockRuntimeBaseUrl,
|
|
2689
2739
|
headers: getHeaders,
|
|
2690
2740
|
fetch: fetchFunction,
|
|
2691
|
-
generateId:
|
|
2741
|
+
generateId: import_provider_utils16.generateId,
|
|
2692
2742
|
modelFamily: settings.modelFamily
|
|
2693
2743
|
});
|
|
2694
2744
|
const provider = function(modelId, settings) {
|
|
@@ -2712,7 +2762,7 @@ Original error: ${errorMessage}`
|
|
|
2712
2762
|
});
|
|
2713
2763
|
const createRerankingModel = (modelId) => new BedrockRerankingModel(modelId, {
|
|
2714
2764
|
baseUrl: getBedrockAgentRuntimeBaseUrl,
|
|
2715
|
-
region: (0,
|
|
2765
|
+
region: (0, import_provider_utils16.loadSetting)({
|
|
2716
2766
|
settingValue: options.region,
|
|
2717
2767
|
settingName: "region",
|
|
2718
2768
|
environmentVariableName: "AWS_REGION",
|