@ai-sdk/amazon-bedrock 3.0.140 → 3.0.142
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 +20 -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.js +180 -145
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +138 -87
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -27,17 +27,17 @@ __export(index_exports, {
|
|
|
27
27
|
module.exports = __toCommonJS(index_exports);
|
|
28
28
|
|
|
29
29
|
// src/bedrock-provider.ts
|
|
30
|
-
var
|
|
30
|
+
var import_provider_utils13 = require("@ai-sdk/provider-utils");
|
|
31
31
|
|
|
32
32
|
// src/version.ts
|
|
33
|
-
var VERSION = true ? "3.0.
|
|
33
|
+
var VERSION = true ? "3.0.142" : "0.0.0-test";
|
|
34
34
|
|
|
35
35
|
// src/bedrock-provider.ts
|
|
36
36
|
var import_internal3 = require("@ai-sdk/anthropic/internal");
|
|
37
37
|
|
|
38
38
|
// src/bedrock-chat-language-model.ts
|
|
39
39
|
var import_internal2 = require("@ai-sdk/anthropic/internal");
|
|
40
|
-
var
|
|
40
|
+
var import_provider_utils7 = require("@ai-sdk/provider-utils");
|
|
41
41
|
var import_v44 = require("zod/v4");
|
|
42
42
|
|
|
43
43
|
// src/bedrock-api-types.ts
|
|
@@ -75,19 +75,24 @@ var BEDROCK_DOCUMENT_MIME_TYPES = {
|
|
|
75
75
|
};
|
|
76
76
|
|
|
77
77
|
// src/bedrock-chat-options.ts
|
|
78
|
+
var import_provider_utils = require("@ai-sdk/provider-utils");
|
|
78
79
|
var import_v4 = require("zod/v4");
|
|
79
|
-
var bedrockFilePartProviderOptions =
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
80
|
+
var bedrockFilePartProviderOptions = (0, import_provider_utils.lazySchema)(
|
|
81
|
+
() => (0, import_provider_utils.zodSchema)(
|
|
82
|
+
import_v4.z.object({
|
|
83
|
+
/**
|
|
84
|
+
* Citation configuration for this document.
|
|
85
|
+
* When enabled, this document will generate citations in the response.
|
|
86
|
+
*/
|
|
87
|
+
citations: import_v4.z.object({
|
|
88
|
+
/**
|
|
89
|
+
* Enable citations for this document
|
|
90
|
+
*/
|
|
91
|
+
enabled: import_v4.z.boolean()
|
|
92
|
+
}).optional()
|
|
93
|
+
})
|
|
94
|
+
)
|
|
95
|
+
);
|
|
91
96
|
var bedrockProviderOptions = import_v4.z.object({
|
|
92
97
|
/**
|
|
93
98
|
* Determines how structured outputs are generated for Anthropic models.
|
|
@@ -139,20 +144,24 @@ function isAnthropicModel({
|
|
|
139
144
|
}
|
|
140
145
|
|
|
141
146
|
// src/bedrock-error.ts
|
|
142
|
-
var
|
|
147
|
+
var import_provider_utils2 = require("@ai-sdk/provider-utils");
|
|
143
148
|
var import_v42 = require("zod/v4");
|
|
144
|
-
var BedrockErrorSchema =
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
+
var BedrockErrorSchema = (0, import_provider_utils2.lazySchema)(
|
|
150
|
+
() => (0, import_provider_utils2.zodSchema)(
|
|
151
|
+
import_v42.z.object({
|
|
152
|
+
message: import_v42.z.string(),
|
|
153
|
+
type: import_v42.z.string().nullish()
|
|
154
|
+
})
|
|
155
|
+
)
|
|
156
|
+
);
|
|
157
|
+
var bedrockFailedResponseHandler = (0, import_provider_utils2.createJsonErrorResponseHandler)({
|
|
149
158
|
errorSchema: BedrockErrorSchema,
|
|
150
159
|
errorToMessage: (error) => error.type == null ? error.message : `${error.type}: ${error.message}`
|
|
151
160
|
});
|
|
152
161
|
|
|
153
162
|
// src/bedrock-event-stream-response-handler.ts
|
|
154
163
|
var import_provider = require("@ai-sdk/provider");
|
|
155
|
-
var
|
|
164
|
+
var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
|
156
165
|
|
|
157
166
|
// src/bedrock-event-stream-decoder.ts
|
|
158
167
|
var import_eventstream_codec = require("@smithy/eventstream-codec");
|
|
@@ -204,7 +213,7 @@ function createBedrockEventStreamDecoder(body, processEvent) {
|
|
|
204
213
|
|
|
205
214
|
// src/bedrock-event-stream-response-handler.ts
|
|
206
215
|
var createBedrockEventStreamResponseHandler = (chunkSchema) => async ({ response }) => {
|
|
207
|
-
const responseHeaders = (0,
|
|
216
|
+
const responseHeaders = (0, import_provider_utils3.extractResponseHeaders)(response);
|
|
208
217
|
if (response.body == null) {
|
|
209
218
|
throw new import_provider.EmptyResponseBodyError({});
|
|
210
219
|
}
|
|
@@ -217,7 +226,7 @@ var createBedrockEventStreamResponseHandler = (chunkSchema) => async ({ response
|
|
|
217
226
|
if (payloadType == null) {
|
|
218
227
|
return;
|
|
219
228
|
}
|
|
220
|
-
const parsedDataResult = await (0,
|
|
229
|
+
const parsedDataResult = await (0, import_provider_utils3.safeParseJSON)({ text: event.data });
|
|
221
230
|
if (!parsedDataResult.success) {
|
|
222
231
|
controller.enqueue(parsedDataResult);
|
|
223
232
|
return;
|
|
@@ -226,7 +235,7 @@ var createBedrockEventStreamResponseHandler = (chunkSchema) => async ({ response
|
|
|
226
235
|
const wrappedData = {
|
|
227
236
|
[payloadType]: parsedDataResult.value
|
|
228
237
|
};
|
|
229
|
-
const validatedWrappedData = await (0,
|
|
238
|
+
const validatedWrappedData = await (0, import_provider_utils3.safeValidateTypes)({
|
|
230
239
|
value: wrappedData,
|
|
231
240
|
schema: chunkSchema
|
|
232
241
|
});
|
|
@@ -246,7 +255,7 @@ var createBedrockEventStreamResponseHandler = (chunkSchema) => async ({ response
|
|
|
246
255
|
|
|
247
256
|
// src/bedrock-prepare-tools.ts
|
|
248
257
|
var import_provider2 = require("@ai-sdk/provider");
|
|
249
|
-
var
|
|
258
|
+
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
|
250
259
|
var import_internal = require("@ai-sdk/anthropic/internal");
|
|
251
260
|
async function prepareTools({
|
|
252
261
|
tools,
|
|
@@ -333,7 +342,7 @@ async function prepareTools({
|
|
|
333
342
|
toolSpec: {
|
|
334
343
|
name: tool.name,
|
|
335
344
|
inputSchema: {
|
|
336
|
-
json: (0,
|
|
345
|
+
json: (0, import_provider_utils4.asSchema)(fullToolDefinition.inputSchema).jsonSchema
|
|
337
346
|
}
|
|
338
347
|
}
|
|
339
348
|
});
|
|
@@ -402,15 +411,20 @@ async function prepareTools({
|
|
|
402
411
|
|
|
403
412
|
// src/convert-to-bedrock-chat-messages.ts
|
|
404
413
|
var import_provider3 = require("@ai-sdk/provider");
|
|
405
|
-
var
|
|
414
|
+
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
|
406
415
|
|
|
407
416
|
// src/bedrock-reasoning-metadata.ts
|
|
417
|
+
var import_provider_utils5 = require("@ai-sdk/provider-utils");
|
|
408
418
|
var import_v43 = require("zod/v4");
|
|
409
|
-
var bedrockReasoningMetadataSchema =
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
419
|
+
var bedrockReasoningMetadataSchema = (0, import_provider_utils5.lazySchema)(
|
|
420
|
+
() => (0, import_provider_utils5.zodSchema)(
|
|
421
|
+
import_v43.z.object({
|
|
422
|
+
signature: import_v43.z.string().optional(),
|
|
423
|
+
redactedData: import_v43.z.string().optional(),
|
|
424
|
+
redactedContent: import_v43.z.string().optional()
|
|
425
|
+
})
|
|
426
|
+
)
|
|
427
|
+
);
|
|
414
428
|
|
|
415
429
|
// src/convert-to-bedrock-chat-messages.ts
|
|
416
430
|
function getCachePoint(providerMetadata) {
|
|
@@ -419,7 +433,7 @@ function getCachePoint(providerMetadata) {
|
|
|
419
433
|
}
|
|
420
434
|
async function shouldEnableCitations(providerMetadata) {
|
|
421
435
|
var _a, _b;
|
|
422
|
-
const bedrockOptions = await (0,
|
|
436
|
+
const bedrockOptions = await (0, import_provider_utils6.parseProviderOptions)({
|
|
423
437
|
provider: "bedrock",
|
|
424
438
|
providerOptions: providerMetadata,
|
|
425
439
|
schema: bedrockFilePartProviderOptions
|
|
@@ -493,7 +507,7 @@ async function convertToBedrockChatMessages(prompt) {
|
|
|
493
507
|
bedrockContent.push({
|
|
494
508
|
image: {
|
|
495
509
|
format: getBedrockImageFormat(part.mediaType),
|
|
496
|
-
source: { bytes: (0,
|
|
510
|
+
source: { bytes: (0, import_provider_utils6.convertToBase64)(part.data) }
|
|
497
511
|
}
|
|
498
512
|
});
|
|
499
513
|
} else {
|
|
@@ -510,7 +524,7 @@ async function convertToBedrockChatMessages(prompt) {
|
|
|
510
524
|
document: {
|
|
511
525
|
format: getBedrockDocumentFormat(part.mediaType),
|
|
512
526
|
name: (_a = part.filename) != null ? _a : generateDocumentName(),
|
|
513
|
-
source: { bytes: (0,
|
|
527
|
+
source: { bytes: (0, import_provider_utils6.convertToBase64)(part.data) },
|
|
514
528
|
...enableCitations && {
|
|
515
529
|
citations: { enabled: true }
|
|
516
530
|
}
|
|
@@ -620,7 +634,7 @@ async function convertToBedrockChatMessages(prompt) {
|
|
|
620
634
|
break;
|
|
621
635
|
}
|
|
622
636
|
case "reasoning": {
|
|
623
|
-
const reasoningMetadata = await (0,
|
|
637
|
+
const reasoningMetadata = await (0, import_provider_utils6.parseProviderOptions)({
|
|
624
638
|
provider: "bedrock",
|
|
625
639
|
providerOptions: part.providerOptions,
|
|
626
640
|
schema: bedrockReasoningMetadataSchema
|
|
@@ -788,10 +802,14 @@ function mapBedrockFinishReason(finishReason, isJsonResponseFromTool) {
|
|
|
788
802
|
}
|
|
789
803
|
|
|
790
804
|
// src/bedrock-chat-language-model.ts
|
|
791
|
-
var anthropicProviderOptions =
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
805
|
+
var anthropicProviderOptions = (0, import_provider_utils7.lazySchema)(
|
|
806
|
+
() => (0, import_provider_utils7.zodSchema)(
|
|
807
|
+
import_v44.z.object({
|
|
808
|
+
disableParallelToolUse: import_v44.z.boolean().optional(),
|
|
809
|
+
structuredOutputMode: import_v44.z.enum(["outputFormat", "jsonTool", "auto"]).optional()
|
|
810
|
+
})
|
|
811
|
+
)
|
|
812
|
+
);
|
|
795
813
|
var BedrockChatLanguageModel = class {
|
|
796
814
|
constructor(modelId, config) {
|
|
797
815
|
this.modelId = modelId;
|
|
@@ -818,12 +836,12 @@ var BedrockChatLanguageModel = class {
|
|
|
818
836
|
providerOptions
|
|
819
837
|
}) {
|
|
820
838
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u;
|
|
821
|
-
const bedrockOptions = (_a = await (0,
|
|
839
|
+
const bedrockOptions = (_a = await (0, import_provider_utils7.parseProviderOptions)({
|
|
822
840
|
provider: "bedrock",
|
|
823
841
|
providerOptions,
|
|
824
842
|
schema: bedrockProviderOptions
|
|
825
843
|
})) != null ? _a : {};
|
|
826
|
-
const anthropicOptions = await (0,
|
|
844
|
+
const anthropicOptions = await (0, import_provider_utils7.parseProviderOptions)({
|
|
827
845
|
provider: "anthropic",
|
|
828
846
|
providerOptions,
|
|
829
847
|
schema: anthropicProviderOptions
|
|
@@ -1074,7 +1092,7 @@ var BedrockChatLanguageModel = class {
|
|
|
1074
1092
|
}
|
|
1075
1093
|
}
|
|
1076
1094
|
if (useJsonInstructionForStructuredOutput) {
|
|
1077
|
-
filteredPrompt = (0,
|
|
1095
|
+
filteredPrompt = (0, import_provider_utils7.injectJsonInstructionIntoMessages)({
|
|
1078
1096
|
messages: filteredPrompt,
|
|
1079
1097
|
schema: responseFormat.schema,
|
|
1080
1098
|
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."
|
|
@@ -1116,7 +1134,7 @@ var BedrockChatLanguageModel = class {
|
|
|
1116
1134
|
async getHeaders({
|
|
1117
1135
|
headers
|
|
1118
1136
|
}) {
|
|
1119
|
-
return (0,
|
|
1137
|
+
return (0, import_provider_utils7.combineHeaders)(await (0, import_provider_utils7.resolve)(this.config.headers), headers);
|
|
1120
1138
|
}
|
|
1121
1139
|
async doGenerate(options) {
|
|
1122
1140
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
|
|
@@ -1126,18 +1144,18 @@ var BedrockChatLanguageModel = class {
|
|
|
1126
1144
|
usesJsonResponseTool
|
|
1127
1145
|
} = await this.getArgs(options);
|
|
1128
1146
|
const url = `${this.getUrl(this.modelId)}/converse`;
|
|
1129
|
-
const { value: response, responseHeaders } = await (0,
|
|
1147
|
+
const { value: response, responseHeaders } = await (0, import_provider_utils7.postJsonToApi)({
|
|
1130
1148
|
url,
|
|
1131
1149
|
headers: await this.getHeaders({ headers: options.headers }),
|
|
1132
1150
|
body: args,
|
|
1133
|
-
failedResponseHandler: (0,
|
|
1151
|
+
failedResponseHandler: (0, import_provider_utils7.createJsonErrorResponseHandler)({
|
|
1134
1152
|
errorSchema: BedrockErrorSchema,
|
|
1135
1153
|
errorToMessage: (error) => {
|
|
1136
1154
|
var _a2;
|
|
1137
1155
|
return `${(_a2 = error.message) != null ? _a2 : "Unknown error"}`;
|
|
1138
1156
|
}
|
|
1139
1157
|
}),
|
|
1140
|
-
successfulResponseHandler: (0,
|
|
1158
|
+
successfulResponseHandler: (0, import_provider_utils7.createJsonResponseHandler)(
|
|
1141
1159
|
BedrockResponseSchema
|
|
1142
1160
|
),
|
|
1143
1161
|
abortSignal: options.abortSignal,
|
|
@@ -1249,7 +1267,7 @@ var BedrockChatLanguageModel = class {
|
|
|
1249
1267
|
usesJsonResponseTool
|
|
1250
1268
|
} = await this.getArgs(options);
|
|
1251
1269
|
const url = `${this.getUrl(this.modelId)}/converse-stream`;
|
|
1252
|
-
const { value: response, responseHeaders } = await (0,
|
|
1270
|
+
const { value: response, responseHeaders } = await (0, import_provider_utils7.postJsonToApi)({
|
|
1253
1271
|
url,
|
|
1254
1272
|
headers: await this.getHeaders({ headers: options.headers }),
|
|
1255
1273
|
body: args,
|
|
@@ -1581,62 +1599,66 @@ var BedrockToolUseSchema = import_v44.z.object({
|
|
|
1581
1599
|
name: import_v44.z.string(),
|
|
1582
1600
|
input: import_v44.z.unknown()
|
|
1583
1601
|
});
|
|
1584
|
-
var BedrockCitationsContentSchema = import_v44.z.object({
|
|
1602
|
+
var BedrockCitationsContentSchema = () => import_v44.z.object({
|
|
1585
1603
|
content: import_v44.z.array(
|
|
1586
1604
|
import_v44.z.object({
|
|
1587
1605
|
text: import_v44.z.string().nullish()
|
|
1588
1606
|
})
|
|
1589
1607
|
).nullish()
|
|
1590
1608
|
});
|
|
1591
|
-
var BedrockReasoningTextSchema = import_v44.z.object({
|
|
1609
|
+
var BedrockReasoningTextSchema = () => import_v44.z.object({
|
|
1592
1610
|
signature: import_v44.z.string().nullish(),
|
|
1593
1611
|
text: import_v44.z.string()
|
|
1594
1612
|
});
|
|
1595
|
-
var BedrockRedactedReasoningSchema = import_v44.z.object({
|
|
1613
|
+
var BedrockRedactedReasoningSchema = () => import_v44.z.object({
|
|
1596
1614
|
data: import_v44.z.string()
|
|
1597
1615
|
});
|
|
1598
|
-
var BedrockResponseSchema =
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
import_v44.z.object({
|
|
1606
|
-
|
|
1607
|
-
citationsContent: BedrockCitationsContentSchema.nullish(),
|
|
1608
|
-
toolUse: BedrockToolUseSchema.nullish(),
|
|
1609
|
-
reasoningContent: import_v44.z.union([
|
|
1610
|
-
import_v44.z.object({
|
|
1611
|
-
reasoningText: BedrockReasoningTextSchema
|
|
1612
|
-
}),
|
|
1613
|
-
import_v44.z.object({
|
|
1614
|
-
redactedReasoning: BedrockRedactedReasoningSchema
|
|
1615
|
-
}),
|
|
1616
|
-
// `redactedContent` is a member of the documented
|
|
1617
|
-
// ReasoningContentBlock union. OpenAI models on Bedrock
|
|
1618
|
-
// (e.g. `us.openai.gpt-5.6-luna`) return their encrypted
|
|
1619
|
-
// reasoning in this shape.
|
|
1616
|
+
var BedrockResponseSchema = (0, import_provider_utils7.lazySchema)(
|
|
1617
|
+
() => (0, import_provider_utils7.zodSchema)(
|
|
1618
|
+
import_v44.z.object({
|
|
1619
|
+
metrics: import_v44.z.object({
|
|
1620
|
+
latencyMs: import_v44.z.number()
|
|
1621
|
+
}).nullish(),
|
|
1622
|
+
output: import_v44.z.object({
|
|
1623
|
+
message: import_v44.z.object({
|
|
1624
|
+
content: import_v44.z.array(
|
|
1620
1625
|
import_v44.z.object({
|
|
1621
|
-
|
|
1626
|
+
text: import_v44.z.string().nullish(),
|
|
1627
|
+
citationsContent: BedrockCitationsContentSchema().nullish(),
|
|
1628
|
+
toolUse: BedrockToolUseSchema.nullish(),
|
|
1629
|
+
reasoningContent: import_v44.z.union([
|
|
1630
|
+
import_v44.z.object({
|
|
1631
|
+
reasoningText: BedrockReasoningTextSchema()
|
|
1632
|
+
}),
|
|
1633
|
+
import_v44.z.object({
|
|
1634
|
+
redactedReasoning: BedrockRedactedReasoningSchema()
|
|
1635
|
+
}),
|
|
1636
|
+
// `redactedContent` is a member of the documented
|
|
1637
|
+
// ReasoningContentBlock union. OpenAI models on Bedrock
|
|
1638
|
+
// (e.g. `us.openai.gpt-5.6-luna`) return their encrypted
|
|
1639
|
+
// reasoning in this shape.
|
|
1640
|
+
import_v44.z.object({
|
|
1641
|
+
redactedContent: import_v44.z.string()
|
|
1642
|
+
})
|
|
1643
|
+
]).nullish()
|
|
1622
1644
|
})
|
|
1623
|
-
|
|
1645
|
+
),
|
|
1646
|
+
role: import_v44.z.string()
|
|
1624
1647
|
})
|
|
1625
|
-
),
|
|
1626
|
-
|
|
1648
|
+
}),
|
|
1649
|
+
stopReason: BedrockStopReasonSchema,
|
|
1650
|
+
additionalModelResponseFields: BedrockAdditionalModelResponseFieldsSchema.nullish(),
|
|
1651
|
+
trace: import_v44.z.unknown().nullish(),
|
|
1652
|
+
usage: import_v44.z.object({
|
|
1653
|
+
inputTokens: import_v44.z.number(),
|
|
1654
|
+
outputTokens: import_v44.z.number(),
|
|
1655
|
+
totalTokens: import_v44.z.number(),
|
|
1656
|
+
cacheReadInputTokens: import_v44.z.number().nullish(),
|
|
1657
|
+
cacheWriteInputTokens: import_v44.z.number().nullish()
|
|
1658
|
+
})
|
|
1627
1659
|
})
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
additionalModelResponseFields: BedrockAdditionalModelResponseFieldsSchema.nullish(),
|
|
1631
|
-
trace: import_v44.z.unknown().nullish(),
|
|
1632
|
-
usage: import_v44.z.object({
|
|
1633
|
-
inputTokens: import_v44.z.number(),
|
|
1634
|
-
outputTokens: import_v44.z.number(),
|
|
1635
|
-
totalTokens: import_v44.z.number(),
|
|
1636
|
-
cacheReadInputTokens: import_v44.z.number().nullish(),
|
|
1637
|
-
cacheWriteInputTokens: import_v44.z.number().nullish()
|
|
1638
|
-
})
|
|
1639
|
-
});
|
|
1660
|
+
)
|
|
1661
|
+
);
|
|
1640
1662
|
var BedrockStreamSchema = import_v44.z.object({
|
|
1641
1663
|
contentBlockDelta: import_v44.z.object({
|
|
1642
1664
|
contentBlockIndex: import_v44.z.number(),
|
|
@@ -1696,22 +1718,27 @@ var BedrockStreamSchema = import_v44.z.object({
|
|
|
1696
1718
|
|
|
1697
1719
|
// src/bedrock-embedding-model.ts
|
|
1698
1720
|
var import_provider4 = require("@ai-sdk/provider");
|
|
1699
|
-
var
|
|
1721
|
+
var import_provider_utils9 = require("@ai-sdk/provider-utils");
|
|
1700
1722
|
|
|
1701
1723
|
// src/bedrock-embedding-options.ts
|
|
1724
|
+
var import_provider_utils8 = require("@ai-sdk/provider-utils");
|
|
1702
1725
|
var import_v45 = require("zod/v4");
|
|
1703
|
-
var bedrockEmbeddingProviderOptions =
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1726
|
+
var bedrockEmbeddingProviderOptions = (0, import_provider_utils8.lazySchema)(
|
|
1727
|
+
() => (0, import_provider_utils8.zodSchema)(
|
|
1728
|
+
import_v45.z.object({
|
|
1729
|
+
/**
|
|
1730
|
+
The number of dimensions the resulting output embeddings should have (defaults to 1024).
|
|
1731
|
+
Only supported in amazon.titan-embed-text-v2:0.
|
|
1732
|
+
*/
|
|
1733
|
+
dimensions: import_v45.z.union([import_v45.z.literal(1024), import_v45.z.literal(512), import_v45.z.literal(256)]).optional(),
|
|
1734
|
+
/**
|
|
1735
|
+
Flag indicating whether or not to normalize the output embeddings. Defaults to true
|
|
1736
|
+
Only supported in amazon.titan-embed-text-v2:0.
|
|
1737
|
+
*/
|
|
1738
|
+
normalize: import_v45.z.boolean().optional()
|
|
1739
|
+
})
|
|
1740
|
+
)
|
|
1741
|
+
);
|
|
1715
1742
|
|
|
1716
1743
|
// src/bedrock-embedding-model.ts
|
|
1717
1744
|
var import_v46 = require("zod/v4");
|
|
@@ -1743,7 +1770,7 @@ var BedrockEmbeddingModel = class {
|
|
|
1743
1770
|
values
|
|
1744
1771
|
});
|
|
1745
1772
|
}
|
|
1746
|
-
const bedrockOptions = (_a = await (0,
|
|
1773
|
+
const bedrockOptions = (_a = await (0, import_provider_utils9.parseProviderOptions)({
|
|
1747
1774
|
provider: "bedrock",
|
|
1748
1775
|
providerOptions,
|
|
1749
1776
|
schema: bedrockEmbeddingProviderOptions
|
|
@@ -1754,14 +1781,14 @@ var BedrockEmbeddingModel = class {
|
|
|
1754
1781
|
normalize: bedrockOptions.normalize
|
|
1755
1782
|
};
|
|
1756
1783
|
const url = this.getUrl(this.modelId);
|
|
1757
|
-
const { value: response } = await (0,
|
|
1784
|
+
const { value: response } = await (0, import_provider_utils9.postJsonToApi)({
|
|
1758
1785
|
url,
|
|
1759
|
-
headers: await (0,
|
|
1760
|
-
(0,
|
|
1786
|
+
headers: await (0, import_provider_utils9.resolve)(
|
|
1787
|
+
(0, import_provider_utils9.combineHeaders)(await (0, import_provider_utils9.resolve)(this.config.headers), headers)
|
|
1761
1788
|
),
|
|
1762
1789
|
body: args,
|
|
1763
1790
|
failedResponseHandler: bedrockFailedResponseHandler,
|
|
1764
|
-
successfulResponseHandler: (0,
|
|
1791
|
+
successfulResponseHandler: (0, import_provider_utils9.createJsonResponseHandler)(
|
|
1765
1792
|
BedrockEmbeddingResponseSchema
|
|
1766
1793
|
),
|
|
1767
1794
|
fetch: this.config.fetch,
|
|
@@ -1773,13 +1800,17 @@ var BedrockEmbeddingModel = class {
|
|
|
1773
1800
|
};
|
|
1774
1801
|
}
|
|
1775
1802
|
};
|
|
1776
|
-
var BedrockEmbeddingResponseSchema =
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1803
|
+
var BedrockEmbeddingResponseSchema = (0, import_provider_utils9.lazySchema)(
|
|
1804
|
+
() => (0, import_provider_utils9.zodSchema)(
|
|
1805
|
+
import_v46.z.object({
|
|
1806
|
+
embedding: import_v46.z.array(import_v46.z.number()),
|
|
1807
|
+
inputTextTokenCount: import_v46.z.number()
|
|
1808
|
+
})
|
|
1809
|
+
)
|
|
1810
|
+
);
|
|
1780
1811
|
|
|
1781
1812
|
// src/bedrock-image-model.ts
|
|
1782
|
-
var
|
|
1813
|
+
var import_provider_utils10 = require("@ai-sdk/provider-utils");
|
|
1783
1814
|
|
|
1784
1815
|
// src/bedrock-image-settings.ts
|
|
1785
1816
|
var modelMaxImagesPerCall = {
|
|
@@ -1844,14 +1875,14 @@ var BedrockImageModel = class {
|
|
|
1844
1875
|
});
|
|
1845
1876
|
}
|
|
1846
1877
|
const currentDate = (_g = (_f = (_e = this.config._internal) == null ? void 0 : _e.currentDate) == null ? void 0 : _f.call(_e)) != null ? _g : /* @__PURE__ */ new Date();
|
|
1847
|
-
const { value: response, responseHeaders } = await (0,
|
|
1878
|
+
const { value: response, responseHeaders } = await (0, import_provider_utils10.postJsonToApi)({
|
|
1848
1879
|
url: this.getUrl(this.modelId),
|
|
1849
|
-
headers: await (0,
|
|
1850
|
-
(0,
|
|
1880
|
+
headers: await (0, import_provider_utils10.resolve)(
|
|
1881
|
+
(0, import_provider_utils10.combineHeaders)(await (0, import_provider_utils10.resolve)(this.config.headers), headers)
|
|
1851
1882
|
),
|
|
1852
1883
|
body: args,
|
|
1853
1884
|
failedResponseHandler: bedrockFailedResponseHandler,
|
|
1854
|
-
successfulResponseHandler: (0,
|
|
1885
|
+
successfulResponseHandler: (0, import_provider_utils10.createJsonResponseHandler)(
|
|
1855
1886
|
bedrockImageResponseSchema
|
|
1856
1887
|
),
|
|
1857
1888
|
abortSignal,
|
|
@@ -1868,25 +1899,29 @@ var BedrockImageModel = class {
|
|
|
1868
1899
|
};
|
|
1869
1900
|
}
|
|
1870
1901
|
};
|
|
1871
|
-
var bedrockImageResponseSchema =
|
|
1872
|
-
|
|
1873
|
-
|
|
1902
|
+
var bedrockImageResponseSchema = (0, import_provider_utils10.lazySchema)(
|
|
1903
|
+
() => (0, import_provider_utils10.zodSchema)(
|
|
1904
|
+
import_v47.z.object({
|
|
1905
|
+
images: import_v47.z.array(import_v47.z.string())
|
|
1906
|
+
})
|
|
1907
|
+
)
|
|
1908
|
+
);
|
|
1874
1909
|
|
|
1875
1910
|
// src/bedrock-sigv4-fetch.ts
|
|
1876
|
-
var
|
|
1911
|
+
var import_provider_utils11 = require("@ai-sdk/provider-utils");
|
|
1877
1912
|
var import_aws4fetch = require("aws4fetch");
|
|
1878
1913
|
function createSigV4FetchFunction(getCredentials, fetch = globalThis.fetch) {
|
|
1879
1914
|
return async (input, init) => {
|
|
1880
1915
|
var _a, _b;
|
|
1881
1916
|
const request = input instanceof Request ? input : void 0;
|
|
1882
|
-
const originalHeaders = (0,
|
|
1883
|
-
(0,
|
|
1884
|
-
(0,
|
|
1917
|
+
const originalHeaders = (0, import_provider_utils11.combineHeaders)(
|
|
1918
|
+
(0, import_provider_utils11.normalizeHeaders)(request == null ? void 0 : request.headers),
|
|
1919
|
+
(0, import_provider_utils11.normalizeHeaders)(init == null ? void 0 : init.headers)
|
|
1885
1920
|
);
|
|
1886
|
-
const headersWithUserAgent = (0,
|
|
1921
|
+
const headersWithUserAgent = (0, import_provider_utils11.withUserAgentSuffix)(
|
|
1887
1922
|
originalHeaders,
|
|
1888
1923
|
`ai-sdk/amazon-bedrock/${VERSION}`,
|
|
1889
|
-
(0,
|
|
1924
|
+
(0, import_provider_utils11.getRuntimeEnvironmentUserAgent)()
|
|
1890
1925
|
);
|
|
1891
1926
|
let effectiveBody = (_a = init == null ? void 0 : init.body) != null ? _a : void 0;
|
|
1892
1927
|
if (effectiveBody === void 0 && request && request.body !== null) {
|
|
@@ -1919,8 +1954,8 @@ function createSigV4FetchFunction(getCredentials, fetch = globalThis.fetch) {
|
|
|
1919
1954
|
service: "bedrock"
|
|
1920
1955
|
});
|
|
1921
1956
|
const signingResult = await signer.sign();
|
|
1922
|
-
const signedHeaders = (0,
|
|
1923
|
-
const combinedHeaders = (0,
|
|
1957
|
+
const signedHeaders = (0, import_provider_utils11.normalizeHeaders)(signingResult.headers);
|
|
1958
|
+
const combinedHeaders = (0, import_provider_utils11.combineHeaders)(headersWithUserAgent, signedHeaders);
|
|
1924
1959
|
return fetch(input, {
|
|
1925
1960
|
...init,
|
|
1926
1961
|
body,
|
|
@@ -1944,13 +1979,13 @@ function isAscii(value) {
|
|
|
1944
1979
|
}
|
|
1945
1980
|
function createApiKeyFetchFunction(apiKey, fetch = globalThis.fetch) {
|
|
1946
1981
|
return async (input, init) => {
|
|
1947
|
-
const originalHeaders = (0,
|
|
1948
|
-
const headersWithUserAgent = (0,
|
|
1982
|
+
const originalHeaders = (0, import_provider_utils11.normalizeHeaders)(init == null ? void 0 : init.headers);
|
|
1983
|
+
const headersWithUserAgent = (0, import_provider_utils11.withUserAgentSuffix)(
|
|
1949
1984
|
originalHeaders,
|
|
1950
1985
|
`ai-sdk/amazon-bedrock/${VERSION}`,
|
|
1951
|
-
(0,
|
|
1986
|
+
(0, import_provider_utils11.getRuntimeEnvironmentUserAgent)()
|
|
1952
1987
|
);
|
|
1953
|
-
const finalHeaders = (0,
|
|
1988
|
+
const finalHeaders = (0, import_provider_utils11.combineHeaders)(headersWithUserAgent, {
|
|
1954
1989
|
Authorization: `Bearer ${apiKey}`
|
|
1955
1990
|
});
|
|
1956
1991
|
return fetch(input, {
|
|
@@ -1961,7 +1996,7 @@ function createApiKeyFetchFunction(apiKey, fetch = globalThis.fetch) {
|
|
|
1961
1996
|
}
|
|
1962
1997
|
|
|
1963
1998
|
// src/resolve-bedrock-base-url.ts
|
|
1964
|
-
var
|
|
1999
|
+
var import_provider_utils12 = require("@ai-sdk/provider-utils");
|
|
1965
2000
|
var AWS_PARTITION_DNS_SUFFIXES = [
|
|
1966
2001
|
{ regionPrefix: "cn-", dnsSuffix: "amazonaws.com.cn" },
|
|
1967
2002
|
{ regionPrefix: "us-iso-", dnsSuffix: "c2s.ic.gov" },
|
|
@@ -1977,33 +2012,33 @@ function resolveBedrockBaseURL({
|
|
|
1977
2012
|
serviceEndpointUrlEnvironmentVariableName
|
|
1978
2013
|
}) {
|
|
1979
2014
|
var _a, _b, _c, _d, _e;
|
|
1980
|
-
const resolvedBaseURL = (_a = baseURL != null ? baseURL : (0,
|
|
2015
|
+
const resolvedBaseURL = (_a = baseURL != null ? baseURL : (0, import_provider_utils12.loadOptionalSetting)({
|
|
1981
2016
|
settingValue: void 0,
|
|
1982
2017
|
environmentVariableName: serviceEndpointUrlEnvironmentVariableName
|
|
1983
|
-
})) != null ? _a : (0,
|
|
2018
|
+
})) != null ? _a : (0, import_provider_utils12.loadOptionalSetting)({
|
|
1984
2019
|
settingValue: void 0,
|
|
1985
2020
|
environmentVariableName: "AWS_ENDPOINT_URL"
|
|
1986
2021
|
});
|
|
1987
2022
|
if (resolvedBaseURL != null) {
|
|
1988
|
-
return (_b = (0,
|
|
2023
|
+
return (_b = (0, import_provider_utils12.withoutTrailingSlash)(resolvedBaseURL)) != null ? _b : resolvedBaseURL;
|
|
1989
2024
|
}
|
|
1990
2025
|
const region = getRegion();
|
|
1991
2026
|
const dnsSuffix = (_d = (_c = AWS_PARTITION_DNS_SUFFIXES.find(
|
|
1992
2027
|
({ regionPrefix }) => region.startsWith(regionPrefix)
|
|
1993
2028
|
)) == null ? void 0 : _c.dnsSuffix) != null ? _d : "amazonaws.com";
|
|
1994
2029
|
const generatedBaseURL = `https://${service}.${region}.${dnsSuffix}`;
|
|
1995
|
-
return (_e = (0,
|
|
2030
|
+
return (_e = (0, import_provider_utils12.withoutTrailingSlash)(generatedBaseURL)) != null ? _e : generatedBaseURL;
|
|
1996
2031
|
}
|
|
1997
2032
|
|
|
1998
2033
|
// src/bedrock-provider.ts
|
|
1999
2034
|
function createAmazonBedrock(options = {}) {
|
|
2000
|
-
const rawApiKey = (0,
|
|
2035
|
+
const rawApiKey = (0, import_provider_utils13.loadOptionalSetting)({
|
|
2001
2036
|
settingValue: options.apiKey,
|
|
2002
2037
|
environmentVariableName: "AWS_BEARER_TOKEN_BEDROCK"
|
|
2003
2038
|
});
|
|
2004
2039
|
const apiKey = rawApiKey && rawApiKey.trim().length > 0 ? rawApiKey.trim() : void 0;
|
|
2005
2040
|
const fetchFunction = apiKey ? createApiKeyFetchFunction(apiKey, options.fetch) : createSigV4FetchFunction(async () => {
|
|
2006
|
-
const region = (0,
|
|
2041
|
+
const region = (0, import_provider_utils13.loadSetting)({
|
|
2007
2042
|
settingValue: options.region,
|
|
2008
2043
|
settingName: "region",
|
|
2009
2044
|
environmentVariableName: "AWS_REGION",
|
|
@@ -2025,19 +2060,19 @@ function createAmazonBedrock(options = {}) {
|
|
|
2025
2060
|
try {
|
|
2026
2061
|
return {
|
|
2027
2062
|
region,
|
|
2028
|
-
accessKeyId: (0,
|
|
2063
|
+
accessKeyId: (0, import_provider_utils13.loadSetting)({
|
|
2029
2064
|
settingValue: options.accessKeyId,
|
|
2030
2065
|
settingName: "accessKeyId",
|
|
2031
2066
|
environmentVariableName: "AWS_ACCESS_KEY_ID",
|
|
2032
2067
|
description: "AWS access key ID"
|
|
2033
2068
|
}),
|
|
2034
|
-
secretAccessKey: (0,
|
|
2069
|
+
secretAccessKey: (0, import_provider_utils13.loadSetting)({
|
|
2035
2070
|
settingValue: options.secretAccessKey,
|
|
2036
2071
|
settingName: "secretAccessKey",
|
|
2037
2072
|
environmentVariableName: "AWS_SECRET_ACCESS_KEY",
|
|
2038
2073
|
description: "AWS secret access key"
|
|
2039
2074
|
}),
|
|
2040
|
-
sessionToken: (0,
|
|
2075
|
+
sessionToken: (0, import_provider_utils13.loadOptionalSetting)({
|
|
2041
2076
|
settingValue: options.sessionToken,
|
|
2042
2077
|
environmentVariableName: "AWS_SESSION_TOKEN"
|
|
2043
2078
|
})
|
|
@@ -2065,7 +2100,7 @@ Original error: ${errorMessage}`
|
|
|
2065
2100
|
}, options.fetch);
|
|
2066
2101
|
const getBaseUrl = () => resolveBedrockBaseURL({
|
|
2067
2102
|
baseURL: options.baseURL,
|
|
2068
|
-
getRegion: () => (0,
|
|
2103
|
+
getRegion: () => (0, import_provider_utils13.loadSetting)({
|
|
2069
2104
|
settingValue: options.region,
|
|
2070
2105
|
settingName: "region",
|
|
2071
2106
|
environmentVariableName: "AWS_REGION",
|
|
@@ -2077,13 +2112,13 @@ Original error: ${errorMessage}`
|
|
|
2077
2112
|
const getHeaders = () => {
|
|
2078
2113
|
var _a;
|
|
2079
2114
|
const baseHeaders = (_a = options.headers) != null ? _a : {};
|
|
2080
|
-
return (0,
|
|
2115
|
+
return (0, import_provider_utils13.withUserAgentSuffix)(baseHeaders, `ai-sdk/amazon-bedrock/${VERSION}`);
|
|
2081
2116
|
};
|
|
2082
2117
|
const createChatModel = (modelId, settings = {}) => new BedrockChatLanguageModel(modelId, {
|
|
2083
2118
|
baseUrl: getBaseUrl,
|
|
2084
2119
|
headers: getHeaders,
|
|
2085
2120
|
fetch: fetchFunction,
|
|
2086
|
-
generateId:
|
|
2121
|
+
generateId: import_provider_utils13.generateId,
|
|
2087
2122
|
modelFamily: settings.modelFamily
|
|
2088
2123
|
});
|
|
2089
2124
|
const provider = function(modelId, settings) {
|