@ai-sdk/amazon-bedrock 5.0.0-beta.44 → 5.0.0-beta.46
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 +29 -0
- package/dist/anthropic/index.d.ts +10 -10
- package/dist/anthropic/index.js +58 -46
- package/dist/anthropic/index.js.map +1 -1
- package/dist/index.d.ts +25 -23
- package/dist/index.js +496 -436
- package/dist/index.js.map +1 -1
- package/docs/08-amazon-bedrock.mdx +80 -82
- package/package.json +5 -5
- package/src/amazon-bedrock-api-types.ts +224 -0
- package/src/{bedrock-chat-options.ts → amazon-bedrock-chat-language-model-options.ts} +7 -7
- package/src/{bedrock-chat-language-model.ts → amazon-bedrock-chat-language-model.ts} +217 -196
- package/src/{bedrock-embedding-options.ts → amazon-bedrock-embedding-model-options.ts} +1 -1
- package/src/{bedrock-embedding-model.ts → amazon-bedrock-embedding-model.ts} +34 -27
- package/src/{bedrock-error.ts → amazon-bedrock-error.ts} +1 -1
- package/src/{bedrock-event-stream-decoder.ts → amazon-bedrock-event-stream-decoder.ts} +1 -1
- package/src/{bedrock-event-stream-response-handler.ts → amazon-bedrock-event-stream-response-handler.ts} +6 -6
- package/src/{bedrock-image-model.ts → amazon-bedrock-image-model.ts} +43 -39
- package/src/amazon-bedrock-image-settings.ts +9 -0
- package/src/{bedrock-prepare-tools.ts → amazon-bedrock-prepare-tools.ts} +22 -18
- package/src/{bedrock-provider.ts → amazon-bedrock-provider.ts} +53 -46
- package/src/amazon-bedrock-reasoning-metadata.ts +10 -0
- package/src/{bedrock-sigv4-fetch.ts → amazon-bedrock-sigv4-fetch.ts} +5 -3
- package/src/anthropic/amazon-bedrock-anthropic-fetch.ts +104 -0
- package/src/anthropic/{bedrock-anthropic-options.ts → amazon-bedrock-anthropic-options.ts} +1 -1
- package/src/anthropic/{bedrock-anthropic-provider.ts → amazon-bedrock-anthropic-provider.ts} +22 -20
- package/src/anthropic/index.ts +19 -7
- package/src/{convert-bedrock-usage.ts → convert-amazon-bedrock-usage.ts} +4 -4
- package/src/{convert-to-bedrock-chat-messages.ts → convert-to-amazon-bedrock-chat-messages.ts} +146 -103
- package/src/index.ts +15 -8
- package/src/inject-fetch-headers.ts +1 -1
- package/src/{map-bedrock-finish-reason.ts → map-amazon-bedrock-finish-reason.ts} +4 -4
- package/src/reranking/{bedrock-reranking-api.ts → amazon-bedrock-reranking-api.ts} +3 -3
- package/src/reranking/{bedrock-reranking-options.ts → amazon-bedrock-reranking-model-options.ts} +1 -1
- package/src/reranking/{bedrock-reranking-model.ts → amazon-bedrock-reranking-model.ts} +32 -25
- package/src/anthropic/bedrock-anthropic-fetch.ts +0 -94
- package/src/bedrock-api-types.ts +0 -219
- package/src/bedrock-image-settings.ts +0 -6
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// src/bedrock-provider.ts
|
|
1
|
+
// src/amazon-bedrock-provider.ts
|
|
2
2
|
import { anthropicTools as anthropicTools2 } from "@ai-sdk/anthropic/internal";
|
|
3
3
|
import {
|
|
4
4
|
generateId,
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
withUserAgentSuffix as withUserAgentSuffix2
|
|
9
9
|
} from "@ai-sdk/provider-utils";
|
|
10
10
|
|
|
11
|
-
// src/bedrock-chat-language-model.ts
|
|
11
|
+
// src/amazon-bedrock-chat-language-model.ts
|
|
12
12
|
import {
|
|
13
13
|
combineHeaders,
|
|
14
14
|
createJsonErrorResponseHandler,
|
|
@@ -24,9 +24,9 @@ import {
|
|
|
24
24
|
WORKFLOW_DESERIALIZE
|
|
25
25
|
} from "@ai-sdk/provider-utils";
|
|
26
26
|
import { getModelCapabilities } from "@ai-sdk/anthropic/internal";
|
|
27
|
-
import { z as
|
|
27
|
+
import { z as z4 } from "zod/v4";
|
|
28
28
|
|
|
29
|
-
// src/bedrock-api-types.ts
|
|
29
|
+
// src/amazon-bedrock-api-types.ts
|
|
30
30
|
var BEDROCK_STOP_REASONS = [
|
|
31
31
|
"stop",
|
|
32
32
|
"stop_sequence",
|
|
@@ -57,9 +57,9 @@ var BEDROCK_DOCUMENT_MIME_TYPES = {
|
|
|
57
57
|
"text/markdown": "md"
|
|
58
58
|
};
|
|
59
59
|
|
|
60
|
-
// src/bedrock-chat-options.ts
|
|
60
|
+
// src/amazon-bedrock-chat-language-model-options.ts
|
|
61
61
|
import { z } from "zod/v4";
|
|
62
|
-
var
|
|
62
|
+
var amazonBedrockFilePartProviderOptions = z.object({
|
|
63
63
|
/**
|
|
64
64
|
* Citation configuration for this document.
|
|
65
65
|
* When enabled, this document will generate citations in the response.
|
|
@@ -71,7 +71,7 @@ var bedrockFilePartProviderOptions = z.object({
|
|
|
71
71
|
enabled: z.boolean()
|
|
72
72
|
}).optional()
|
|
73
73
|
});
|
|
74
|
-
var
|
|
74
|
+
var amazonBedrockLanguageModelChatOptions = z.object({
|
|
75
75
|
/**
|
|
76
76
|
* Additional inference parameters that the model supports,
|
|
77
77
|
* beyond the base set of inference parameters that Converse
|
|
@@ -104,14 +104,14 @@ var amazonBedrockLanguageModelOptions = z.object({
|
|
|
104
104
|
serviceTier: z.enum(["reserved", "priority", "default", "flex"]).optional()
|
|
105
105
|
});
|
|
106
106
|
|
|
107
|
-
// src/bedrock-error.ts
|
|
107
|
+
// src/amazon-bedrock-error.ts
|
|
108
108
|
import { z as z2 } from "zod/v4";
|
|
109
|
-
var
|
|
109
|
+
var AmazonBedrockErrorSchema = z2.object({
|
|
110
110
|
message: z2.string(),
|
|
111
111
|
type: z2.string().nullish()
|
|
112
112
|
});
|
|
113
113
|
|
|
114
|
-
// src/bedrock-event-stream-response-handler.ts
|
|
114
|
+
// src/amazon-bedrock-event-stream-response-handler.ts
|
|
115
115
|
import { EmptyResponseBodyError } from "@ai-sdk/provider";
|
|
116
116
|
import {
|
|
117
117
|
safeParseJSON,
|
|
@@ -119,10 +119,10 @@ import {
|
|
|
119
119
|
safeValidateTypes
|
|
120
120
|
} from "@ai-sdk/provider-utils";
|
|
121
121
|
|
|
122
|
-
// src/bedrock-event-stream-decoder.ts
|
|
122
|
+
// src/amazon-bedrock-event-stream-decoder.ts
|
|
123
123
|
import { EventStreamCodec } from "@smithy/eventstream-codec";
|
|
124
124
|
import { toUtf8, fromUtf8 } from "@smithy/util-utf8";
|
|
125
|
-
function
|
|
125
|
+
function createAmazonBedrockEventStreamDecoder(body, processEvent) {
|
|
126
126
|
const codec = new EventStreamCodec(toUtf8, fromUtf8);
|
|
127
127
|
let buffer = new Uint8Array(0);
|
|
128
128
|
const textDecoder = new TextDecoder();
|
|
@@ -160,15 +160,15 @@ function createBedrockEventStreamDecoder(body, processEvent) {
|
|
|
160
160
|
);
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
-
// src/bedrock-event-stream-response-handler.ts
|
|
164
|
-
var
|
|
163
|
+
// src/amazon-bedrock-event-stream-response-handler.ts
|
|
164
|
+
var createAmazonBedrockEventStreamResponseHandler = (chunkSchema) => async ({ response }) => {
|
|
165
165
|
const responseHeaders = extractResponseHeaders(response);
|
|
166
166
|
if (response.body == null) {
|
|
167
167
|
throw new EmptyResponseBodyError({});
|
|
168
168
|
}
|
|
169
169
|
return {
|
|
170
170
|
responseHeaders,
|
|
171
|
-
value:
|
|
171
|
+
value: createAmazonBedrockEventStreamDecoder(
|
|
172
172
|
response.body,
|
|
173
173
|
async (event, controller) => {
|
|
174
174
|
if (event.messageType === "event") {
|
|
@@ -200,7 +200,7 @@ var createBedrockEventStreamResponseHandler = (chunkSchema) => async ({ response
|
|
|
200
200
|
};
|
|
201
201
|
};
|
|
202
202
|
|
|
203
|
-
// src/bedrock-prepare-tools.ts
|
|
203
|
+
// src/amazon-bedrock-prepare-tools.ts
|
|
204
204
|
import {
|
|
205
205
|
UnsupportedFunctionalityError
|
|
206
206
|
} from "@ai-sdk/provider";
|
|
@@ -248,7 +248,7 @@ async function prepareTools({
|
|
|
248
248
|
const ProviderTools = supportedTools.filter((t) => t.type === "provider");
|
|
249
249
|
const functionTools = supportedTools.filter((t) => t.type === "function");
|
|
250
250
|
let additionalTools = void 0;
|
|
251
|
-
const
|
|
251
|
+
const amazonBedrockTools = [];
|
|
252
252
|
const usingAnthropicTools = isAnthropicModel && ProviderTools.length > 0;
|
|
253
253
|
if (usingAnthropicTools) {
|
|
254
254
|
const {
|
|
@@ -275,7 +275,7 @@ async function prepareTools({
|
|
|
275
275
|
});
|
|
276
276
|
if (toolFactory != null) {
|
|
277
277
|
const fullToolDefinition = toolFactory({});
|
|
278
|
-
|
|
278
|
+
amazonBedrockTools.push({
|
|
279
279
|
toolSpec: {
|
|
280
280
|
name: tool.name,
|
|
281
281
|
inputSchema: {
|
|
@@ -294,7 +294,7 @@ async function prepareTools({
|
|
|
294
294
|
}
|
|
295
295
|
const filteredFunctionTools = (toolChoice == null ? void 0 : toolChoice.type) === "tool" ? functionTools.filter((t) => t.name === toolChoice.toolName) : functionTools;
|
|
296
296
|
for (const tool of filteredFunctionTools) {
|
|
297
|
-
|
|
297
|
+
amazonBedrockTools.push({
|
|
298
298
|
toolSpec: {
|
|
299
299
|
name: tool.name,
|
|
300
300
|
...((_a = tool.description) == null ? void 0 : _a.trim()) !== "" ? { description: tool.description } : {},
|
|
@@ -305,22 +305,22 @@ async function prepareTools({
|
|
|
305
305
|
}
|
|
306
306
|
});
|
|
307
307
|
}
|
|
308
|
-
let
|
|
309
|
-
if (!usingAnthropicTools &&
|
|
308
|
+
let amazonBedrockToolChoice = void 0;
|
|
309
|
+
if (!usingAnthropicTools && amazonBedrockTools.length > 0 && toolChoice) {
|
|
310
310
|
const type = toolChoice.type;
|
|
311
311
|
switch (type) {
|
|
312
312
|
case "auto":
|
|
313
|
-
|
|
313
|
+
amazonBedrockToolChoice = { auto: {} };
|
|
314
314
|
break;
|
|
315
315
|
case "required":
|
|
316
|
-
|
|
316
|
+
amazonBedrockToolChoice = { any: {} };
|
|
317
317
|
break;
|
|
318
318
|
case "none":
|
|
319
|
-
|
|
320
|
-
|
|
319
|
+
amazonBedrockTools.length = 0;
|
|
320
|
+
amazonBedrockToolChoice = void 0;
|
|
321
321
|
break;
|
|
322
322
|
case "tool":
|
|
323
|
-
|
|
323
|
+
amazonBedrockToolChoice = { tool: { name: toolChoice.toolName } };
|
|
324
324
|
break;
|
|
325
325
|
default: {
|
|
326
326
|
const _exhaustiveCheck = type;
|
|
@@ -330,7 +330,7 @@ async function prepareTools({
|
|
|
330
330
|
}
|
|
331
331
|
}
|
|
332
332
|
}
|
|
333
|
-
const toolConfig =
|
|
333
|
+
const toolConfig = amazonBedrockTools.length > 0 ? { tools: amazonBedrockTools, toolChoice: amazonBedrockToolChoice } : {};
|
|
334
334
|
return {
|
|
335
335
|
toolConfig,
|
|
336
336
|
additionalTools,
|
|
@@ -339,8 +339,8 @@ async function prepareTools({
|
|
|
339
339
|
};
|
|
340
340
|
}
|
|
341
341
|
|
|
342
|
-
// src/convert-bedrock-usage.ts
|
|
343
|
-
function
|
|
342
|
+
// src/convert-amazon-bedrock-usage.ts
|
|
343
|
+
function convertAmazonBedrockUsage(usage) {
|
|
344
344
|
var _a, _b;
|
|
345
345
|
if (usage == null) {
|
|
346
346
|
return {
|
|
@@ -378,17 +378,26 @@ function convertBedrockUsage(usage) {
|
|
|
378
378
|
};
|
|
379
379
|
}
|
|
380
380
|
|
|
381
|
-
// src/convert-to-bedrock-chat-messages.ts
|
|
381
|
+
// src/convert-to-amazon-bedrock-chat-messages.ts
|
|
382
382
|
import {
|
|
383
383
|
UnsupportedFunctionalityError as UnsupportedFunctionalityError2
|
|
384
384
|
} from "@ai-sdk/provider";
|
|
385
385
|
import {
|
|
386
386
|
convertToBase64,
|
|
387
|
-
|
|
387
|
+
getTopLevelMediaType,
|
|
388
|
+
isFullMediaType,
|
|
388
389
|
parseProviderOptions,
|
|
390
|
+
resolveFullMediaType,
|
|
389
391
|
stripFileExtension
|
|
390
392
|
} from "@ai-sdk/provider-utils";
|
|
391
393
|
|
|
394
|
+
// src/amazon-bedrock-reasoning-metadata.ts
|
|
395
|
+
import { z as z3 } from "zod/v4";
|
|
396
|
+
var amazonBedrockReasoningMetadataSchema = z3.object({
|
|
397
|
+
signature: z3.string().optional(),
|
|
398
|
+
redactedData: z3.string().optional()
|
|
399
|
+
});
|
|
400
|
+
|
|
392
401
|
// src/normalize-tool-call-id.ts
|
|
393
402
|
function isMistralModel(modelId) {
|
|
394
403
|
return modelId.includes("mistral.");
|
|
@@ -401,26 +410,30 @@ function normalizeToolCallId(toolCallId, isMistral) {
|
|
|
401
410
|
return alphanumericChars.slice(0, 9);
|
|
402
411
|
}
|
|
403
412
|
|
|
404
|
-
// src/convert-to-bedrock-chat-messages.ts
|
|
413
|
+
// src/convert-to-amazon-bedrock-chat-messages.ts
|
|
405
414
|
function getCachePoint(providerMetadata) {
|
|
406
|
-
var _a;
|
|
407
|
-
const cachePointConfig = (_a = providerMetadata == null ? void 0 : providerMetadata.
|
|
415
|
+
var _a, _b, _c;
|
|
416
|
+
const cachePointConfig = (_c = (_a = providerMetadata == null ? void 0 : providerMetadata.amazonBedrock) == null ? void 0 : _a.cachePoint) != null ? _c : (_b = providerMetadata == null ? void 0 : providerMetadata.bedrock) == null ? void 0 : _b.cachePoint;
|
|
408
417
|
if (!cachePointConfig) {
|
|
409
418
|
return void 0;
|
|
410
419
|
}
|
|
411
420
|
return { cachePoint: cachePointConfig };
|
|
412
421
|
}
|
|
413
422
|
async function shouldEnableCitations(providerMetadata) {
|
|
414
|
-
var _a, _b;
|
|
415
|
-
const
|
|
423
|
+
var _a, _b, _c;
|
|
424
|
+
const amazonBedrockOptions = (_a = await parseProviderOptions({
|
|
425
|
+
provider: "amazonBedrock",
|
|
426
|
+
providerOptions: providerMetadata,
|
|
427
|
+
schema: amazonBedrockFilePartProviderOptions
|
|
428
|
+
})) != null ? _a : await parseProviderOptions({
|
|
416
429
|
provider: "bedrock",
|
|
417
430
|
providerOptions: providerMetadata,
|
|
418
|
-
schema:
|
|
431
|
+
schema: amazonBedrockFilePartProviderOptions
|
|
419
432
|
});
|
|
420
|
-
return (
|
|
433
|
+
return (_c = (_b = amazonBedrockOptions == null ? void 0 : amazonBedrockOptions.citations) == null ? void 0 : _b.enabled) != null ? _c : false;
|
|
421
434
|
}
|
|
422
|
-
async function
|
|
423
|
-
var _a;
|
|
435
|
+
async function convertToAmazonBedrockChatMessages(prompt, isMistral = false) {
|
|
436
|
+
var _a, _b;
|
|
424
437
|
const blocks = groupIntoBlocks(prompt);
|
|
425
438
|
let system = [];
|
|
426
439
|
const messages = [];
|
|
@@ -447,7 +460,7 @@ async function convertToBedrockChatMessages(prompt, isMistral = false) {
|
|
|
447
460
|
break;
|
|
448
461
|
}
|
|
449
462
|
case "user": {
|
|
450
|
-
const
|
|
463
|
+
const amazonBedrockContent = [];
|
|
451
464
|
for (const message of block.messages) {
|
|
452
465
|
const { role, content, providerOptions } = message;
|
|
453
466
|
switch (role) {
|
|
@@ -456,49 +469,74 @@ async function convertToBedrockChatMessages(prompt, isMistral = false) {
|
|
|
456
469
|
const part = content[j];
|
|
457
470
|
switch (part.type) {
|
|
458
471
|
case "text": {
|
|
459
|
-
|
|
472
|
+
amazonBedrockContent.push({
|
|
460
473
|
text: part.text
|
|
461
474
|
});
|
|
462
475
|
break;
|
|
463
476
|
}
|
|
464
477
|
case "file": {
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
functionality: "file parts with provider references"
|
|
468
|
-
});
|
|
469
|
-
}
|
|
470
|
-
if (part.data instanceof URL) {
|
|
471
|
-
throw new UnsupportedFunctionalityError2({
|
|
472
|
-
functionality: "File URL data"
|
|
473
|
-
});
|
|
474
|
-
}
|
|
475
|
-
if (part.mediaType.startsWith("image/")) {
|
|
476
|
-
bedrockContent.push({
|
|
477
|
-
image: {
|
|
478
|
-
format: getBedrockImageFormat(part.mediaType),
|
|
479
|
-
source: { bytes: convertToBase64(part.data) }
|
|
480
|
-
}
|
|
481
|
-
});
|
|
482
|
-
} else {
|
|
483
|
-
if (!part.mediaType) {
|
|
478
|
+
switch (part.data.type) {
|
|
479
|
+
case "reference": {
|
|
484
480
|
throw new UnsupportedFunctionalityError2({
|
|
485
|
-
functionality: "file
|
|
486
|
-
message: "File mime type is required in user message part content"
|
|
481
|
+
functionality: "file parts with provider references"
|
|
487
482
|
});
|
|
488
483
|
}
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
484
|
+
case "url": {
|
|
485
|
+
throw new UnsupportedFunctionalityError2({
|
|
486
|
+
functionality: "File URL data"
|
|
487
|
+
});
|
|
488
|
+
}
|
|
489
|
+
case "text": {
|
|
490
|
+
const textMediaType = isFullMediaType(part.mediaType) ? part.mediaType : "text/plain";
|
|
491
|
+
const enableCitations = await shouldEnableCitations(
|
|
492
|
+
part.providerOptions
|
|
493
|
+
);
|
|
494
|
+
amazonBedrockContent.push({
|
|
495
|
+
document: {
|
|
496
|
+
format: getAmazonBedrockDocumentFormat(textMediaType),
|
|
497
|
+
name: part.filename ? stripFileExtension(part.filename) : generateDocumentName(),
|
|
498
|
+
source: {
|
|
499
|
+
bytes: convertToBase64(
|
|
500
|
+
new TextEncoder().encode(part.data.text)
|
|
501
|
+
)
|
|
502
|
+
},
|
|
503
|
+
...enableCitations && {
|
|
504
|
+
citations: { enabled: true }
|
|
505
|
+
}
|
|
499
506
|
}
|
|
507
|
+
});
|
|
508
|
+
break;
|
|
509
|
+
}
|
|
510
|
+
case "data": {
|
|
511
|
+
const fullMediaType = resolveFullMediaType({ part });
|
|
512
|
+
if (getTopLevelMediaType(fullMediaType) === "image") {
|
|
513
|
+
amazonBedrockContent.push({
|
|
514
|
+
image: {
|
|
515
|
+
format: getAmazonBedrockImageFormat(fullMediaType),
|
|
516
|
+
source: {
|
|
517
|
+
bytes: convertToBase64(part.data.data)
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
});
|
|
521
|
+
} else {
|
|
522
|
+
const enableCitations = await shouldEnableCitations(
|
|
523
|
+
part.providerOptions
|
|
524
|
+
);
|
|
525
|
+
amazonBedrockContent.push({
|
|
526
|
+
document: {
|
|
527
|
+
format: getAmazonBedrockDocumentFormat(fullMediaType),
|
|
528
|
+
name: part.filename ? stripFileExtension(part.filename) : generateDocumentName(),
|
|
529
|
+
source: {
|
|
530
|
+
bytes: convertToBase64(part.data.data)
|
|
531
|
+
},
|
|
532
|
+
...enableCitations && {
|
|
533
|
+
citations: { enabled: true }
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
});
|
|
500
537
|
}
|
|
501
|
-
|
|
538
|
+
break;
|
|
539
|
+
}
|
|
502
540
|
}
|
|
503
541
|
break;
|
|
504
542
|
}
|
|
@@ -525,7 +563,7 @@ async function convertToBedrockChatMessages(prompt, isMistral = false) {
|
|
|
525
563
|
functionality: `media type: ${contentPart.mediaType}`
|
|
526
564
|
});
|
|
527
565
|
}
|
|
528
|
-
const format =
|
|
566
|
+
const format = getAmazonBedrockImageFormat(
|
|
529
567
|
contentPart.mediaType
|
|
530
568
|
);
|
|
531
569
|
return {
|
|
@@ -560,7 +598,7 @@ async function convertToBedrockChatMessages(prompt, isMistral = false) {
|
|
|
560
598
|
];
|
|
561
599
|
break;
|
|
562
600
|
}
|
|
563
|
-
|
|
601
|
+
amazonBedrockContent.push({
|
|
564
602
|
toolResult: {
|
|
565
603
|
toolUseId: normalizeToolCallId(part.toolCallId, isMistral),
|
|
566
604
|
content: toolResultContent
|
|
@@ -576,14 +614,14 @@ async function convertToBedrockChatMessages(prompt, isMistral = false) {
|
|
|
576
614
|
}
|
|
577
615
|
const cachePoint = getCachePoint(providerOptions);
|
|
578
616
|
if (cachePoint) {
|
|
579
|
-
|
|
617
|
+
amazonBedrockContent.push(cachePoint);
|
|
580
618
|
}
|
|
581
619
|
}
|
|
582
|
-
messages.push({ role: "user", content:
|
|
620
|
+
messages.push({ role: "user", content: amazonBedrockContent });
|
|
583
621
|
break;
|
|
584
622
|
}
|
|
585
623
|
case "assistant": {
|
|
586
|
-
const
|
|
624
|
+
const amazonBedrockContent = [];
|
|
587
625
|
for (let j = 0; j < block.messages.length; j++) {
|
|
588
626
|
const message = block.messages[j];
|
|
589
627
|
const isLastMessage = j === block.messages.length - 1;
|
|
@@ -599,7 +637,7 @@ async function convertToBedrockChatMessages(prompt, isMistral = false) {
|
|
|
599
637
|
if (!part.text.trim() && !hasReasoningBlocks) {
|
|
600
638
|
break;
|
|
601
639
|
}
|
|
602
|
-
|
|
640
|
+
amazonBedrockContent.push({
|
|
603
641
|
text: (
|
|
604
642
|
// trim the last text part if it's the last message in the block
|
|
605
643
|
// because Bedrock does not allow trailing whitespace
|
|
@@ -615,13 +653,17 @@ async function convertToBedrockChatMessages(prompt, isMistral = false) {
|
|
|
615
653
|
break;
|
|
616
654
|
}
|
|
617
655
|
case "reasoning": {
|
|
618
|
-
const reasoningMetadata = await parseProviderOptions({
|
|
656
|
+
const reasoningMetadata = (_b = await parseProviderOptions({
|
|
657
|
+
provider: "amazonBedrock",
|
|
658
|
+
providerOptions: part.providerOptions,
|
|
659
|
+
schema: amazonBedrockReasoningMetadataSchema
|
|
660
|
+
})) != null ? _b : await parseProviderOptions({
|
|
619
661
|
provider: "bedrock",
|
|
620
662
|
providerOptions: part.providerOptions,
|
|
621
|
-
schema:
|
|
663
|
+
schema: amazonBedrockReasoningMetadataSchema
|
|
622
664
|
});
|
|
623
665
|
if ((reasoningMetadata == null ? void 0 : reasoningMetadata.signature) != null) {
|
|
624
|
-
|
|
666
|
+
amazonBedrockContent.push({
|
|
625
667
|
reasoningContent: {
|
|
626
668
|
reasoningText: {
|
|
627
669
|
text: part.text,
|
|
@@ -630,7 +672,7 @@ async function convertToBedrockChatMessages(prompt, isMistral = false) {
|
|
|
630
672
|
}
|
|
631
673
|
});
|
|
632
674
|
} else if ((reasoningMetadata == null ? void 0 : reasoningMetadata.redactedData) != null) {
|
|
633
|
-
|
|
675
|
+
amazonBedrockContent.push({
|
|
634
676
|
reasoningContent: {
|
|
635
677
|
redactedReasoning: {
|
|
636
678
|
data: reasoningMetadata.redactedData
|
|
@@ -638,7 +680,7 @@ async function convertToBedrockChatMessages(prompt, isMistral = false) {
|
|
|
638
680
|
}
|
|
639
681
|
});
|
|
640
682
|
} else {
|
|
641
|
-
|
|
683
|
+
amazonBedrockContent.push({
|
|
642
684
|
reasoningContent: {
|
|
643
685
|
reasoningText: {
|
|
644
686
|
text: trimIfLast(
|
|
@@ -654,7 +696,7 @@ async function convertToBedrockChatMessages(prompt, isMistral = false) {
|
|
|
654
696
|
break;
|
|
655
697
|
}
|
|
656
698
|
case "tool-call": {
|
|
657
|
-
|
|
699
|
+
amazonBedrockContent.push({
|
|
658
700
|
toolUse: {
|
|
659
701
|
toolUseId: normalizeToolCallId(part.toolCallId, isMistral),
|
|
660
702
|
name: part.toolName,
|
|
@@ -667,10 +709,10 @@ async function convertToBedrockChatMessages(prompt, isMistral = false) {
|
|
|
667
709
|
}
|
|
668
710
|
const cachePoint = getCachePoint(message.providerOptions);
|
|
669
711
|
if (cachePoint) {
|
|
670
|
-
|
|
712
|
+
amazonBedrockContent.push(cachePoint);
|
|
671
713
|
}
|
|
672
714
|
}
|
|
673
|
-
messages.push({ role: "assistant", content:
|
|
715
|
+
messages.push({ role: "assistant", content: amazonBedrockContent });
|
|
674
716
|
break;
|
|
675
717
|
}
|
|
676
718
|
default: {
|
|
@@ -681,13 +723,7 @@ async function convertToBedrockChatMessages(prompt, isMistral = false) {
|
|
|
681
723
|
}
|
|
682
724
|
return { system, messages };
|
|
683
725
|
}
|
|
684
|
-
function
|
|
685
|
-
if (!mimeType) {
|
|
686
|
-
throw new UnsupportedFunctionalityError2({
|
|
687
|
-
functionality: "image without mime type",
|
|
688
|
-
message: "Image mime type is required in user message part content"
|
|
689
|
-
});
|
|
690
|
-
}
|
|
726
|
+
function getAmazonBedrockImageFormat(mimeType) {
|
|
691
727
|
const format = BEDROCK_IMAGE_MIME_TYPES[mimeType];
|
|
692
728
|
if (!format) {
|
|
693
729
|
throw new UnsupportedFunctionalityError2({
|
|
@@ -697,7 +733,7 @@ function getBedrockImageFormat(mimeType) {
|
|
|
697
733
|
}
|
|
698
734
|
return format;
|
|
699
735
|
}
|
|
700
|
-
function
|
|
736
|
+
function getAmazonBedrockDocumentFormat(mimeType) {
|
|
701
737
|
const format = BEDROCK_DOCUMENT_MIME_TYPES[mimeType];
|
|
702
738
|
if (!format) {
|
|
703
739
|
throw new UnsupportedFunctionalityError2({
|
|
@@ -757,8 +793,8 @@ function groupIntoBlocks(prompt) {
|
|
|
757
793
|
return blocks;
|
|
758
794
|
}
|
|
759
795
|
|
|
760
|
-
// src/map-bedrock-finish-reason.ts
|
|
761
|
-
function
|
|
796
|
+
// src/map-amazon-bedrock-finish-reason.ts
|
|
797
|
+
function mapAmazonBedrockFinishReason(finishReason, isJsonResponseFromTool) {
|
|
762
798
|
switch (finishReason) {
|
|
763
799
|
case "stop_sequence":
|
|
764
800
|
case "end_turn":
|
|
@@ -775,8 +811,8 @@ function mapBedrockFinishReason(finishReason, isJsonResponseFromTool) {
|
|
|
775
811
|
}
|
|
776
812
|
}
|
|
777
813
|
|
|
778
|
-
// src/bedrock-chat-language-model.ts
|
|
779
|
-
var
|
|
814
|
+
// src/amazon-bedrock-chat-language-model.ts
|
|
815
|
+
var AmazonBedrockChatLanguageModel = class _AmazonBedrockChatLanguageModel {
|
|
780
816
|
constructor(modelId, config) {
|
|
781
817
|
this.modelId = modelId;
|
|
782
818
|
this.config = config;
|
|
@@ -793,7 +829,7 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
793
829
|
});
|
|
794
830
|
}
|
|
795
831
|
static [WORKFLOW_DESERIALIZE](options) {
|
|
796
|
-
return new
|
|
832
|
+
return new _AmazonBedrockChatLanguageModel(options.modelId, options.config);
|
|
797
833
|
}
|
|
798
834
|
async getArgs({
|
|
799
835
|
prompt,
|
|
@@ -811,12 +847,16 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
811
847
|
reasoning,
|
|
812
848
|
providerOptions
|
|
813
849
|
}) {
|
|
814
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
|
|
815
|
-
let
|
|
850
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
|
|
851
|
+
let amazonBedrockOptions = (_b = (_a = await parseProviderOptions2({
|
|
852
|
+
provider: "amazonBedrock",
|
|
853
|
+
providerOptions,
|
|
854
|
+
schema: amazonBedrockLanguageModelChatOptions
|
|
855
|
+
})) != null ? _a : await parseProviderOptions2({
|
|
816
856
|
provider: "bedrock",
|
|
817
857
|
providerOptions,
|
|
818
|
-
schema:
|
|
819
|
-
})) != null ?
|
|
858
|
+
schema: amazonBedrockLanguageModelChatOptions
|
|
859
|
+
})) != null ? _b : {};
|
|
820
860
|
const warnings = [];
|
|
821
861
|
if (frequencyPenalty != null) {
|
|
822
862
|
warnings.push({
|
|
@@ -860,14 +900,14 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
860
900
|
}
|
|
861
901
|
const isAnthropicModel = this.modelId.includes("anthropic");
|
|
862
902
|
const isOpenAIModel = this.modelId.startsWith("openai.");
|
|
863
|
-
|
|
903
|
+
amazonBedrockOptions = resolveAmazonBedrockReasoningConfig({
|
|
864
904
|
reasoning,
|
|
865
|
-
|
|
905
|
+
amazonBedrockOptions,
|
|
866
906
|
warnings,
|
|
867
907
|
isAnthropicModel,
|
|
868
908
|
modelId: this.modelId
|
|
869
909
|
});
|
|
870
|
-
const isThinkingEnabled = ((
|
|
910
|
+
const isThinkingEnabled = ((_c = amazonBedrockOptions.reasoningConfig) == null ? void 0 : _c.type) === "enabled" || ((_d = amazonBedrockOptions.reasoningConfig) == null ? void 0 : _d.type) === "adaptive";
|
|
871
911
|
const { supportsStructuredOutput: modelSupportsStructuredOutput } = getModelCapabilities(this.modelId);
|
|
872
912
|
const useNativeStructuredOutput = isAnthropicModel && (modelSupportsStructuredOutput || isThinkingEnabled) && (responseFormat == null ? void 0 : responseFormat.type) === "json" && responseFormat.schema != null;
|
|
873
913
|
const jsonResponseTool = (responseFormat == null ? void 0 : responseFormat.type) === "json" && responseFormat.schema != null && !useNativeStructuredOutput ? {
|
|
@@ -883,22 +923,22 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
883
923
|
});
|
|
884
924
|
warnings.push(...toolWarnings);
|
|
885
925
|
if (additionalTools) {
|
|
886
|
-
|
|
887
|
-
...
|
|
926
|
+
amazonBedrockOptions.additionalModelRequestFields = {
|
|
927
|
+
...amazonBedrockOptions.additionalModelRequestFields,
|
|
888
928
|
...additionalTools
|
|
889
929
|
};
|
|
890
930
|
}
|
|
891
|
-
if (betas.size > 0 ||
|
|
892
|
-
const existingBetas = (
|
|
931
|
+
if (betas.size > 0 || amazonBedrockOptions.anthropicBeta) {
|
|
932
|
+
const existingBetas = (_e = amazonBedrockOptions.anthropicBeta) != null ? _e : [];
|
|
893
933
|
const mergedBetas = betas.size > 0 ? [...existingBetas, ...Array.from(betas)] : existingBetas;
|
|
894
|
-
|
|
895
|
-
...
|
|
934
|
+
amazonBedrockOptions.additionalModelRequestFields = {
|
|
935
|
+
...amazonBedrockOptions.additionalModelRequestFields,
|
|
896
936
|
anthropic_beta: mergedBetas
|
|
897
937
|
};
|
|
898
938
|
}
|
|
899
|
-
const thinkingType = (
|
|
900
|
-
const thinkingBudget = thinkingType === "enabled" ? (
|
|
901
|
-
const thinkingDisplay = thinkingType === "adaptive" ? (
|
|
939
|
+
const thinkingType = (_f = amazonBedrockOptions.reasoningConfig) == null ? void 0 : _f.type;
|
|
940
|
+
const thinkingBudget = thinkingType === "enabled" ? (_g = amazonBedrockOptions.reasoningConfig) == null ? void 0 : _g.budgetTokens : void 0;
|
|
941
|
+
const thinkingDisplay = thinkingType === "adaptive" ? (_h = amazonBedrockOptions.reasoningConfig) == null ? void 0 : _h.display : void 0;
|
|
902
942
|
const isAnthropicThinkingEnabled = isAnthropicModel && isThinkingEnabled;
|
|
903
943
|
const inferenceConfig = {
|
|
904
944
|
...maxOutputTokens != null && { maxTokens: maxOutputTokens },
|
|
@@ -914,16 +954,16 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
914
954
|
} else {
|
|
915
955
|
inferenceConfig.maxTokens = thinkingBudget + 4096;
|
|
916
956
|
}
|
|
917
|
-
|
|
918
|
-
...
|
|
957
|
+
amazonBedrockOptions.additionalModelRequestFields = {
|
|
958
|
+
...amazonBedrockOptions.additionalModelRequestFields,
|
|
919
959
|
thinking: {
|
|
920
960
|
type: "enabled",
|
|
921
961
|
budget_tokens: thinkingBudget
|
|
922
962
|
}
|
|
923
963
|
};
|
|
924
964
|
} else if (thinkingType === "adaptive") {
|
|
925
|
-
|
|
926
|
-
...
|
|
965
|
+
amazonBedrockOptions.additionalModelRequestFields = {
|
|
966
|
+
...amazonBedrockOptions.additionalModelRequestFields,
|
|
927
967
|
thinking: {
|
|
928
968
|
type: "adaptive",
|
|
929
969
|
...thinkingDisplay != null && { display: thinkingDisplay }
|
|
@@ -931,7 +971,7 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
931
971
|
};
|
|
932
972
|
}
|
|
933
973
|
} else if (!isAnthropicModel) {
|
|
934
|
-
if (((
|
|
974
|
+
if (((_i = amazonBedrockOptions.reasoningConfig) == null ? void 0 : _i.budgetTokens) != null) {
|
|
935
975
|
warnings.push({
|
|
936
976
|
type: "unsupported",
|
|
937
977
|
feature: "budgetTokens",
|
|
@@ -946,24 +986,24 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
946
986
|
});
|
|
947
987
|
}
|
|
948
988
|
}
|
|
949
|
-
const maxReasoningEffort = (
|
|
989
|
+
const maxReasoningEffort = (_j = amazonBedrockOptions.reasoningConfig) == null ? void 0 : _j.maxReasoningEffort;
|
|
950
990
|
if (maxReasoningEffort != null) {
|
|
951
991
|
if (isAnthropicModel) {
|
|
952
|
-
|
|
953
|
-
...
|
|
992
|
+
amazonBedrockOptions.additionalModelRequestFields = {
|
|
993
|
+
...amazonBedrockOptions.additionalModelRequestFields,
|
|
954
994
|
output_config: {
|
|
955
|
-
...(
|
|
995
|
+
...(_k = amazonBedrockOptions.additionalModelRequestFields) == null ? void 0 : _k.output_config,
|
|
956
996
|
effort: maxReasoningEffort
|
|
957
997
|
}
|
|
958
998
|
};
|
|
959
999
|
} else if (isOpenAIModel) {
|
|
960
|
-
|
|
961
|
-
...
|
|
1000
|
+
amazonBedrockOptions.additionalModelRequestFields = {
|
|
1001
|
+
...amazonBedrockOptions.additionalModelRequestFields,
|
|
962
1002
|
reasoning_effort: maxReasoningEffort
|
|
963
1003
|
};
|
|
964
1004
|
} else {
|
|
965
|
-
|
|
966
|
-
...
|
|
1005
|
+
amazonBedrockOptions.additionalModelRequestFields = {
|
|
1006
|
+
...amazonBedrockOptions.additionalModelRequestFields,
|
|
967
1007
|
reasoningConfig: {
|
|
968
1008
|
...thinkingType != null && thinkingType !== "adaptive" && { type: thinkingType },
|
|
969
1009
|
...thinkingBudget != null && { budgetTokens: thinkingBudget },
|
|
@@ -973,10 +1013,10 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
973
1013
|
}
|
|
974
1014
|
}
|
|
975
1015
|
if (useNativeStructuredOutput) {
|
|
976
|
-
|
|
977
|
-
...
|
|
1016
|
+
amazonBedrockOptions.additionalModelRequestFields = {
|
|
1017
|
+
...amazonBedrockOptions.additionalModelRequestFields,
|
|
978
1018
|
output_config: {
|
|
979
|
-
...(
|
|
1019
|
+
...(_l = amazonBedrockOptions.additionalModelRequestFields) == null ? void 0 : _l.output_config,
|
|
980
1020
|
format: {
|
|
981
1021
|
type: "json_schema",
|
|
982
1022
|
schema: responseFormat.schema
|
|
@@ -1008,7 +1048,7 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
1008
1048
|
details: "topK is not supported when thinking is enabled"
|
|
1009
1049
|
});
|
|
1010
1050
|
}
|
|
1011
|
-
const hasAnyTools = ((
|
|
1051
|
+
const hasAnyTools = ((_n = (_m = toolConfig.tools) == null ? void 0 : _m.length) != null ? _n : 0) > 0 || additionalTools;
|
|
1012
1052
|
let filteredPrompt = prompt;
|
|
1013
1053
|
if (!hasAnyTools) {
|
|
1014
1054
|
const hasToolContent = prompt.some(
|
|
@@ -1035,7 +1075,7 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
1035
1075
|
}
|
|
1036
1076
|
}
|
|
1037
1077
|
const isMistral = isMistralModel(this.modelId);
|
|
1038
|
-
const { system, messages } = await
|
|
1078
|
+
const { system, messages } = await convertToAmazonBedrockChatMessages(
|
|
1039
1079
|
filteredPrompt,
|
|
1040
1080
|
isMistral
|
|
1041
1081
|
);
|
|
@@ -1043,26 +1083,26 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
1043
1083
|
reasoningConfig: _,
|
|
1044
1084
|
additionalModelRequestFields: __,
|
|
1045
1085
|
serviceTier: ___,
|
|
1046
|
-
...
|
|
1047
|
-
} = (providerOptions == null ? void 0 : providerOptions.bedrock)
|
|
1086
|
+
...filteredAmazonBedrockOptions
|
|
1087
|
+
} = (_p = (_o = providerOptions == null ? void 0 : providerOptions.amazonBedrock) != null ? _o : providerOptions == null ? void 0 : providerOptions.bedrock) != null ? _p : {};
|
|
1048
1088
|
const additionalModelResponseFieldPaths = isAnthropicModel ? ["/delta/stop_sequence"] : void 0;
|
|
1049
1089
|
return {
|
|
1050
1090
|
command: {
|
|
1051
1091
|
system,
|
|
1052
1092
|
messages,
|
|
1053
|
-
additionalModelRequestFields:
|
|
1093
|
+
additionalModelRequestFields: amazonBedrockOptions.additionalModelRequestFields,
|
|
1054
1094
|
...additionalModelResponseFieldPaths && {
|
|
1055
1095
|
additionalModelResponseFieldPaths
|
|
1056
1096
|
},
|
|
1057
1097
|
...Object.keys(inferenceConfig).length > 0 && {
|
|
1058
1098
|
inferenceConfig
|
|
1059
1099
|
},
|
|
1060
|
-
...
|
|
1100
|
+
...amazonBedrockOptions.serviceTier != null && {
|
|
1061
1101
|
serviceTier: {
|
|
1062
|
-
type:
|
|
1102
|
+
type: amazonBedrockOptions.serviceTier
|
|
1063
1103
|
}
|
|
1064
1104
|
},
|
|
1065
|
-
...
|
|
1105
|
+
...filteredAmazonBedrockOptions,
|
|
1066
1106
|
...toolConfig.tools !== void 0 && toolConfig.tools.length > 0 ? { toolConfig } : {}
|
|
1067
1107
|
},
|
|
1068
1108
|
warnings,
|
|
@@ -1091,14 +1131,14 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
1091
1131
|
headers: await this.getHeaders({ headers: options.headers }),
|
|
1092
1132
|
body: args,
|
|
1093
1133
|
failedResponseHandler: createJsonErrorResponseHandler({
|
|
1094
|
-
errorSchema:
|
|
1134
|
+
errorSchema: AmazonBedrockErrorSchema,
|
|
1095
1135
|
errorToMessage: (error) => {
|
|
1096
1136
|
var _a2;
|
|
1097
1137
|
return `${(_a2 = error.message) != null ? _a2 : "Unknown error"}`;
|
|
1098
1138
|
}
|
|
1099
1139
|
}),
|
|
1100
1140
|
successfulResponseHandler: createJsonResponseHandler(
|
|
1101
|
-
|
|
1141
|
+
AmazonBedrockResponseSchema
|
|
1102
1142
|
),
|
|
1103
1143
|
abortSignal: options.abortSignal,
|
|
1104
1144
|
fetch: this.config.fetch
|
|
@@ -1116,21 +1156,25 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
1116
1156
|
text: part.reasoningContent.reasoningText.text
|
|
1117
1157
|
};
|
|
1118
1158
|
if (part.reasoningContent.reasoningText.signature) {
|
|
1159
|
+
const reasoningPayload = {
|
|
1160
|
+
signature: part.reasoningContent.reasoningText.signature
|
|
1161
|
+
};
|
|
1119
1162
|
reasoning.providerMetadata = {
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
}
|
|
1163
|
+
amazonBedrock: reasoningPayload,
|
|
1164
|
+
bedrock: reasoningPayload
|
|
1123
1165
|
};
|
|
1124
1166
|
}
|
|
1125
1167
|
content.push(reasoning);
|
|
1126
1168
|
} else if ("redactedReasoning" in part.reasoningContent) {
|
|
1169
|
+
const redactedPayload = {
|
|
1170
|
+
redactedData: (_a = part.reasoningContent.redactedReasoning.data) != null ? _a : ""
|
|
1171
|
+
};
|
|
1127
1172
|
content.push({
|
|
1128
1173
|
type: "reasoning",
|
|
1129
1174
|
text: "",
|
|
1130
1175
|
providerMetadata: {
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
}
|
|
1176
|
+
amazonBedrock: redactedPayload,
|
|
1177
|
+
bedrock: redactedPayload
|
|
1134
1178
|
}
|
|
1135
1179
|
});
|
|
1136
1180
|
}
|
|
@@ -1156,39 +1200,41 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
1156
1200
|
}
|
|
1157
1201
|
}
|
|
1158
1202
|
const stopSequence = (_j = (_i = (_h = response.additionalModelResponseFields) == null ? void 0 : _h.delta) == null ? void 0 : _i.stop_sequence) != null ? _j : null;
|
|
1159
|
-
const
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
usage
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
cacheDetails: response.usage.cacheDetails
|
|
1175
|
-
}
|
|
1203
|
+
const providerMetadataPayload = response.trace || response.usage || response.performanceConfig || response.serviceTier || isJsonResponseFromTool || stopSequence ? {
|
|
1204
|
+
...response.trace && typeof response.trace === "object" ? { trace: response.trace } : {},
|
|
1205
|
+
...response.performanceConfig && {
|
|
1206
|
+
performanceConfig: response.performanceConfig
|
|
1207
|
+
},
|
|
1208
|
+
...response.serviceTier && {
|
|
1209
|
+
serviceTier: response.serviceTier
|
|
1210
|
+
},
|
|
1211
|
+
...(((_k = response.usage) == null ? void 0 : _k.cacheWriteInputTokens) != null || ((_l = response.usage) == null ? void 0 : _l.cacheDetails) != null) && {
|
|
1212
|
+
usage: {
|
|
1213
|
+
...response.usage.cacheWriteInputTokens != null && {
|
|
1214
|
+
cacheWriteInputTokens: response.usage.cacheWriteInputTokens
|
|
1215
|
+
},
|
|
1216
|
+
...response.usage.cacheDetails != null && {
|
|
1217
|
+
cacheDetails: response.usage.cacheDetails
|
|
1176
1218
|
}
|
|
1177
|
-
}
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1219
|
+
}
|
|
1220
|
+
},
|
|
1221
|
+
...isJsonResponseFromTool && { isJsonResponseFromTool: true },
|
|
1222
|
+
stopSequence
|
|
1223
|
+
} : void 0;
|
|
1224
|
+
const providerMetadata = providerMetadataPayload ? {
|
|
1225
|
+
amazonBedrock: providerMetadataPayload,
|
|
1226
|
+
bedrock: providerMetadataPayload
|
|
1181
1227
|
} : void 0;
|
|
1182
1228
|
return {
|
|
1183
1229
|
content,
|
|
1184
1230
|
finishReason: {
|
|
1185
|
-
unified:
|
|
1231
|
+
unified: mapAmazonBedrockFinishReason(
|
|
1186
1232
|
response.stopReason,
|
|
1187
1233
|
isJsonResponseFromTool
|
|
1188
1234
|
),
|
|
1189
1235
|
raw: (_m = response.stopReason) != null ? _m : void 0
|
|
1190
1236
|
},
|
|
1191
|
-
usage:
|
|
1237
|
+
usage: convertAmazonBedrockUsage(response.usage),
|
|
1192
1238
|
response: {
|
|
1193
1239
|
id: (_n = responseHeaders == null ? void 0 : responseHeaders["x-amzn-requestid"]) != null ? _n : void 0,
|
|
1194
1240
|
timestamp: (responseHeaders == null ? void 0 : responseHeaders["date"]) != null ? new Date(responseHeaders["date"]) : void 0,
|
|
@@ -1213,10 +1259,12 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
1213
1259
|
headers: await this.getHeaders({ headers: options.headers }),
|
|
1214
1260
|
body: args,
|
|
1215
1261
|
failedResponseHandler: createJsonErrorResponseHandler({
|
|
1216
|
-
errorSchema:
|
|
1262
|
+
errorSchema: AmazonBedrockErrorSchema,
|
|
1217
1263
|
errorToMessage: (error) => `${error.type}: ${error.message}`
|
|
1218
1264
|
}),
|
|
1219
|
-
successfulResponseHandler:
|
|
1265
|
+
successfulResponseHandler: createAmazonBedrockEventStreamResponseHandler(
|
|
1266
|
+
AmazonBedrockStreamSchema
|
|
1267
|
+
),
|
|
1220
1268
|
abortSignal: options.abortSignal,
|
|
1221
1269
|
fetch: this.config.fetch
|
|
1222
1270
|
});
|
|
@@ -1244,9 +1292,9 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
1244
1292
|
},
|
|
1245
1293
|
transform(chunk, controller) {
|
|
1246
1294
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
|
|
1247
|
-
function enqueueError(
|
|
1295
|
+
function enqueueError(amazonBedrockError) {
|
|
1248
1296
|
finishReason = { unified: "error", raw: void 0 };
|
|
1249
|
-
controller.enqueue({ type: "error", error:
|
|
1297
|
+
controller.enqueue({ type: "error", error: amazonBedrockError });
|
|
1250
1298
|
}
|
|
1251
1299
|
if (options.includeRawChunks) {
|
|
1252
1300
|
controller.enqueue({ type: "raw", rawValue: chunk.rawValue });
|
|
@@ -1274,7 +1322,7 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
1274
1322
|
}
|
|
1275
1323
|
if (value.messageStop) {
|
|
1276
1324
|
finishReason = {
|
|
1277
|
-
unified:
|
|
1325
|
+
unified: mapAmazonBedrockFinishReason(
|
|
1278
1326
|
value.messageStop.stopReason,
|
|
1279
1327
|
isJsonResponseFromTool
|
|
1280
1328
|
),
|
|
@@ -1300,18 +1348,20 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
1300
1348
|
trace: value.metadata.trace
|
|
1301
1349
|
} : void 0;
|
|
1302
1350
|
if (cacheUsage || trace || value.metadata.performanceConfig || value.metadata.serviceTier) {
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
serviceTier: value.metadata.serviceTier
|
|
1312
|
-
}
|
|
1351
|
+
const metadataPayload = {
|
|
1352
|
+
...cacheUsage,
|
|
1353
|
+
...trace,
|
|
1354
|
+
...value.metadata.performanceConfig && {
|
|
1355
|
+
performanceConfig: value.metadata.performanceConfig
|
|
1356
|
+
},
|
|
1357
|
+
...value.metadata.serviceTier && {
|
|
1358
|
+
serviceTier: value.metadata.serviceTier
|
|
1313
1359
|
}
|
|
1314
1360
|
};
|
|
1361
|
+
providerMetadata = {
|
|
1362
|
+
amazonBedrock: metadataPayload,
|
|
1363
|
+
bedrock: metadataPayload
|
|
1364
|
+
};
|
|
1315
1365
|
}
|
|
1316
1366
|
}
|
|
1317
1367
|
if (((_i = value.contentBlockStart) == null ? void 0 : _i.contentBlockIndex) != null && !((_k = (_j = value.contentBlockStart) == null ? void 0 : _j.start) == null ? void 0 : _k.toolUse)) {
|
|
@@ -1407,16 +1457,20 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
1407
1457
|
id: String(blockIndex)
|
|
1408
1458
|
});
|
|
1409
1459
|
}
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1460
|
+
{
|
|
1461
|
+
const signaturePayload = {
|
|
1462
|
+
signature: reasoningContent.signature
|
|
1463
|
+
};
|
|
1464
|
+
controller.enqueue({
|
|
1465
|
+
type: "reasoning-delta",
|
|
1466
|
+
id: String(blockIndex),
|
|
1467
|
+
delta: "",
|
|
1468
|
+
providerMetadata: {
|
|
1469
|
+
amazonBedrock: signaturePayload,
|
|
1470
|
+
bedrock: signaturePayload
|
|
1417
1471
|
}
|
|
1418
|
-
}
|
|
1419
|
-
}
|
|
1472
|
+
});
|
|
1473
|
+
}
|
|
1420
1474
|
} else if ("data" in reasoningContent && reasoningContent.data) {
|
|
1421
1475
|
if (contentBlocks[blockIndex] == null) {
|
|
1422
1476
|
contentBlocks[blockIndex] = { type: "reasoning" };
|
|
@@ -1425,16 +1479,20 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
1425
1479
|
id: String(blockIndex)
|
|
1426
1480
|
});
|
|
1427
1481
|
}
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1482
|
+
{
|
|
1483
|
+
const redactedPayload = {
|
|
1484
|
+
redactedData: reasoningContent.data
|
|
1485
|
+
};
|
|
1486
|
+
controller.enqueue({
|
|
1487
|
+
type: "reasoning-delta",
|
|
1488
|
+
id: String(blockIndex),
|
|
1489
|
+
delta: "",
|
|
1490
|
+
providerMetadata: {
|
|
1491
|
+
amazonBedrock: redactedPayload,
|
|
1492
|
+
bedrock: redactedPayload
|
|
1435
1493
|
}
|
|
1436
|
-
}
|
|
1437
|
-
}
|
|
1494
|
+
});
|
|
1495
|
+
}
|
|
1438
1496
|
}
|
|
1439
1497
|
}
|
|
1440
1498
|
const contentBlockStart = value.contentBlockStart;
|
|
@@ -1479,30 +1537,25 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
1479
1537
|
}
|
|
1480
1538
|
},
|
|
1481
1539
|
flush(controller) {
|
|
1540
|
+
var _a;
|
|
1482
1541
|
if (isJsonResponseFromTool || stopSequence != null) {
|
|
1483
|
-
|
|
1484
|
-
providerMetadata.
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
isJsonResponseFromTool: true
|
|
1496
|
-
},
|
|
1497
|
-
stopSequence
|
|
1498
|
-
}
|
|
1499
|
-
};
|
|
1500
|
-
}
|
|
1542
|
+
const updatePayload = {
|
|
1543
|
+
...(_a = providerMetadata == null ? void 0 : providerMetadata.amazonBedrock) != null ? _a : providerMetadata == null ? void 0 : providerMetadata.bedrock,
|
|
1544
|
+
...isJsonResponseFromTool && {
|
|
1545
|
+
isJsonResponseFromTool: true
|
|
1546
|
+
},
|
|
1547
|
+
stopSequence
|
|
1548
|
+
};
|
|
1549
|
+
providerMetadata = {
|
|
1550
|
+
...providerMetadata,
|
|
1551
|
+
amazonBedrock: updatePayload,
|
|
1552
|
+
bedrock: updatePayload
|
|
1553
|
+
};
|
|
1501
1554
|
}
|
|
1502
1555
|
controller.enqueue({
|
|
1503
1556
|
type: "finish",
|
|
1504
1557
|
finishReason,
|
|
1505
|
-
usage:
|
|
1558
|
+
usage: convertAmazonBedrockUsage(usage),
|
|
1506
1559
|
...providerMetadata && { providerMetadata }
|
|
1507
1560
|
});
|
|
1508
1561
|
}
|
|
@@ -1517,136 +1570,132 @@ var BedrockChatLanguageModel = class _BedrockChatLanguageModel {
|
|
|
1517
1570
|
return `${this.config.baseUrl()}/model/${encodedModelId}`;
|
|
1518
1571
|
}
|
|
1519
1572
|
};
|
|
1520
|
-
var
|
|
1521
|
-
|
|
1522
|
-
|
|
1573
|
+
var AmazonBedrockStopReasonSchema = z4.union([
|
|
1574
|
+
z4.enum(BEDROCK_STOP_REASONS),
|
|
1575
|
+
z4.string()
|
|
1523
1576
|
]);
|
|
1524
|
-
var
|
|
1525
|
-
delta:
|
|
1526
|
-
stop_sequence:
|
|
1577
|
+
var AmazonBedrockAdditionalModelResponseFieldsSchema = z4.object({
|
|
1578
|
+
delta: z4.object({
|
|
1579
|
+
stop_sequence: z4.string().nullish()
|
|
1527
1580
|
}).nullish()
|
|
1528
|
-
}).catchall(
|
|
1529
|
-
var
|
|
1530
|
-
toolUseId:
|
|
1531
|
-
name:
|
|
1532
|
-
input:
|
|
1581
|
+
}).catchall(z4.unknown());
|
|
1582
|
+
var AmazonBedrockToolUseSchema = z4.object({
|
|
1583
|
+
toolUseId: z4.string(),
|
|
1584
|
+
name: z4.string(),
|
|
1585
|
+
input: z4.unknown()
|
|
1533
1586
|
});
|
|
1534
|
-
var
|
|
1535
|
-
signature:
|
|
1536
|
-
text:
|
|
1587
|
+
var AmazonBedrockReasoningTextSchema = z4.object({
|
|
1588
|
+
signature: z4.string().nullish(),
|
|
1589
|
+
text: z4.string()
|
|
1537
1590
|
});
|
|
1538
|
-
var
|
|
1539
|
-
data:
|
|
1591
|
+
var AmazonBedrockRedactedReasoningSchema = z4.object({
|
|
1592
|
+
data: z4.string()
|
|
1540
1593
|
});
|
|
1541
|
-
var
|
|
1542
|
-
metrics:
|
|
1543
|
-
latencyMs:
|
|
1594
|
+
var AmazonBedrockResponseSchema = z4.object({
|
|
1595
|
+
metrics: z4.object({
|
|
1596
|
+
latencyMs: z4.number()
|
|
1544
1597
|
}).nullish(),
|
|
1545
|
-
output:
|
|
1546
|
-
message:
|
|
1547
|
-
content:
|
|
1548
|
-
|
|
1549
|
-
text:
|
|
1550
|
-
toolUse:
|
|
1551
|
-
reasoningContent:
|
|
1552
|
-
|
|
1553
|
-
reasoningText:
|
|
1598
|
+
output: z4.object({
|
|
1599
|
+
message: z4.object({
|
|
1600
|
+
content: z4.array(
|
|
1601
|
+
z4.object({
|
|
1602
|
+
text: z4.string().nullish(),
|
|
1603
|
+
toolUse: AmazonBedrockToolUseSchema.nullish(),
|
|
1604
|
+
reasoningContent: z4.union([
|
|
1605
|
+
z4.object({
|
|
1606
|
+
reasoningText: AmazonBedrockReasoningTextSchema
|
|
1554
1607
|
}),
|
|
1555
|
-
|
|
1556
|
-
redactedReasoning:
|
|
1608
|
+
z4.object({
|
|
1609
|
+
redactedReasoning: AmazonBedrockRedactedReasoningSchema
|
|
1557
1610
|
})
|
|
1558
1611
|
]).nullish()
|
|
1559
1612
|
})
|
|
1560
1613
|
),
|
|
1561
|
-
role:
|
|
1614
|
+
role: z4.string()
|
|
1562
1615
|
})
|
|
1563
1616
|
}),
|
|
1564
|
-
stopReason:
|
|
1565
|
-
additionalModelResponseFields:
|
|
1566
|
-
trace:
|
|
1567
|
-
performanceConfig:
|
|
1568
|
-
serviceTier:
|
|
1569
|
-
usage:
|
|
1570
|
-
inputTokens:
|
|
1571
|
-
outputTokens:
|
|
1572
|
-
totalTokens:
|
|
1573
|
-
cacheReadInputTokens:
|
|
1574
|
-
cacheWriteInputTokens:
|
|
1575
|
-
cacheDetails:
|
|
1617
|
+
stopReason: AmazonBedrockStopReasonSchema,
|
|
1618
|
+
additionalModelResponseFields: AmazonBedrockAdditionalModelResponseFieldsSchema.nullish(),
|
|
1619
|
+
trace: z4.unknown().nullish(),
|
|
1620
|
+
performanceConfig: z4.object({ latency: z4.string() }).nullish(),
|
|
1621
|
+
serviceTier: z4.object({ type: z4.string() }).nullish(),
|
|
1622
|
+
usage: z4.object({
|
|
1623
|
+
inputTokens: z4.number(),
|
|
1624
|
+
outputTokens: z4.number(),
|
|
1625
|
+
totalTokens: z4.number(),
|
|
1626
|
+
cacheReadInputTokens: z4.number().nullish(),
|
|
1627
|
+
cacheWriteInputTokens: z4.number().nullish(),
|
|
1628
|
+
cacheDetails: z4.array(z4.object({ inputTokens: z4.number(), ttl: z4.string() })).nullish()
|
|
1576
1629
|
})
|
|
1577
1630
|
});
|
|
1578
|
-
var
|
|
1579
|
-
contentBlockDelta:
|
|
1580
|
-
contentBlockIndex:
|
|
1581
|
-
delta:
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
reasoningContent:
|
|
1631
|
+
var AmazonBedrockStreamSchema = z4.object({
|
|
1632
|
+
contentBlockDelta: z4.object({
|
|
1633
|
+
contentBlockIndex: z4.number(),
|
|
1634
|
+
delta: z4.union([
|
|
1635
|
+
z4.object({ text: z4.string() }),
|
|
1636
|
+
z4.object({ toolUse: z4.object({ input: z4.string() }) }),
|
|
1637
|
+
z4.object({
|
|
1638
|
+
reasoningContent: z4.object({ text: z4.string() })
|
|
1586
1639
|
}),
|
|
1587
|
-
|
|
1588
|
-
reasoningContent:
|
|
1589
|
-
signature:
|
|
1640
|
+
z4.object({
|
|
1641
|
+
reasoningContent: z4.object({
|
|
1642
|
+
signature: z4.string()
|
|
1590
1643
|
})
|
|
1591
1644
|
}),
|
|
1592
|
-
|
|
1593
|
-
reasoningContent:
|
|
1645
|
+
z4.object({
|
|
1646
|
+
reasoningContent: z4.object({ data: z4.string() })
|
|
1594
1647
|
})
|
|
1595
1648
|
]).nullish()
|
|
1596
1649
|
}).nullish(),
|
|
1597
|
-
contentBlockStart:
|
|
1598
|
-
contentBlockIndex:
|
|
1599
|
-
start:
|
|
1600
|
-
toolUse:
|
|
1650
|
+
contentBlockStart: z4.object({
|
|
1651
|
+
contentBlockIndex: z4.number(),
|
|
1652
|
+
start: z4.object({
|
|
1653
|
+
toolUse: AmazonBedrockToolUseSchema.nullish()
|
|
1601
1654
|
}).nullish()
|
|
1602
1655
|
}).nullish(),
|
|
1603
|
-
contentBlockStop:
|
|
1604
|
-
contentBlockIndex:
|
|
1656
|
+
contentBlockStop: z4.object({
|
|
1657
|
+
contentBlockIndex: z4.number()
|
|
1605
1658
|
}).nullish(),
|
|
1606
|
-
internalServerException:
|
|
1607
|
-
messageStop:
|
|
1608
|
-
additionalModelResponseFields:
|
|
1609
|
-
stopReason:
|
|
1659
|
+
internalServerException: z4.record(z4.string(), z4.unknown()).nullish(),
|
|
1660
|
+
messageStop: z4.object({
|
|
1661
|
+
additionalModelResponseFields: AmazonBedrockAdditionalModelResponseFieldsSchema.nullish(),
|
|
1662
|
+
stopReason: AmazonBedrockStopReasonSchema
|
|
1610
1663
|
}).nullish(),
|
|
1611
|
-
metadata:
|
|
1612
|
-
trace:
|
|
1613
|
-
performanceConfig:
|
|
1614
|
-
serviceTier:
|
|
1615
|
-
usage:
|
|
1616
|
-
cacheReadInputTokens:
|
|
1617
|
-
cacheWriteInputTokens:
|
|
1618
|
-
cacheDetails:
|
|
1619
|
-
inputTokens:
|
|
1620
|
-
outputTokens:
|
|
1664
|
+
metadata: z4.object({
|
|
1665
|
+
trace: z4.unknown().nullish(),
|
|
1666
|
+
performanceConfig: z4.object({ latency: z4.string() }).nullish(),
|
|
1667
|
+
serviceTier: z4.object({ type: z4.string() }).nullish(),
|
|
1668
|
+
usage: z4.object({
|
|
1669
|
+
cacheReadInputTokens: z4.number().nullish(),
|
|
1670
|
+
cacheWriteInputTokens: z4.number().nullish(),
|
|
1671
|
+
cacheDetails: z4.array(z4.object({ inputTokens: z4.number(), ttl: z4.string() })).nullish(),
|
|
1672
|
+
inputTokens: z4.number(),
|
|
1673
|
+
outputTokens: z4.number()
|
|
1621
1674
|
}).nullish()
|
|
1622
1675
|
}).nullish(),
|
|
1623
|
-
modelStreamErrorException:
|
|
1624
|
-
throttlingException:
|
|
1625
|
-
validationException:
|
|
1676
|
+
modelStreamErrorException: z4.record(z4.string(), z4.unknown()).nullish(),
|
|
1677
|
+
throttlingException: z4.record(z4.string(), z4.unknown()).nullish(),
|
|
1678
|
+
validationException: z4.record(z4.string(), z4.unknown()).nullish()
|
|
1626
1679
|
});
|
|
1627
|
-
var
|
|
1628
|
-
signature: z3.string().optional(),
|
|
1629
|
-
redactedData: z3.string().optional()
|
|
1630
|
-
});
|
|
1631
|
-
var bedrockReasoningEffortMap = {
|
|
1680
|
+
var amazonBedrockReasoningEffortMap = {
|
|
1632
1681
|
minimal: "low",
|
|
1633
1682
|
low: "low",
|
|
1634
1683
|
medium: "medium",
|
|
1635
1684
|
high: "high",
|
|
1636
1685
|
xhigh: "max"
|
|
1637
1686
|
};
|
|
1638
|
-
function
|
|
1687
|
+
function resolveAmazonBedrockReasoningConfig({
|
|
1639
1688
|
reasoning,
|
|
1640
|
-
|
|
1689
|
+
amazonBedrockOptions,
|
|
1641
1690
|
warnings,
|
|
1642
1691
|
isAnthropicModel,
|
|
1643
1692
|
modelId
|
|
1644
1693
|
}) {
|
|
1645
1694
|
var _a;
|
|
1646
1695
|
if (!isCustomReasoning(reasoning)) {
|
|
1647
|
-
return
|
|
1696
|
+
return amazonBedrockOptions;
|
|
1648
1697
|
}
|
|
1649
|
-
const result = { ...
|
|
1698
|
+
const result = { ...amazonBedrockOptions };
|
|
1650
1699
|
if (isAnthropicModel) {
|
|
1651
1700
|
const capabilities = getModelCapabilities(modelId);
|
|
1652
1701
|
if (reasoning === "none") {
|
|
@@ -1654,13 +1703,13 @@ function resolveBedrockReasoningConfig({
|
|
|
1654
1703
|
} else if (capabilities.supportsAdaptiveThinking) {
|
|
1655
1704
|
const effort = mapReasoningToProviderEffort({
|
|
1656
1705
|
reasoning,
|
|
1657
|
-
effortMap:
|
|
1706
|
+
effortMap: amazonBedrockReasoningEffortMap,
|
|
1658
1707
|
warnings
|
|
1659
1708
|
});
|
|
1660
1709
|
result.reasoningConfig = {
|
|
1661
1710
|
type: "adaptive",
|
|
1662
1711
|
maxReasoningEffort: effort,
|
|
1663
|
-
...
|
|
1712
|
+
...amazonBedrockOptions.reasoningConfig
|
|
1664
1713
|
};
|
|
1665
1714
|
} else {
|
|
1666
1715
|
const budgetTokens = mapReasoningToProviderBudget({
|
|
@@ -1673,19 +1722,19 @@ function resolveBedrockReasoningConfig({
|
|
|
1673
1722
|
result.reasoningConfig = {
|
|
1674
1723
|
type: "enabled",
|
|
1675
1724
|
budgetTokens,
|
|
1676
|
-
...
|
|
1725
|
+
...amazonBedrockOptions.reasoningConfig
|
|
1677
1726
|
};
|
|
1678
1727
|
}
|
|
1679
1728
|
}
|
|
1680
1729
|
} else if (reasoning !== "none") {
|
|
1681
1730
|
const effort = mapReasoningToProviderEffort({
|
|
1682
1731
|
reasoning,
|
|
1683
|
-
effortMap:
|
|
1732
|
+
effortMap: amazonBedrockReasoningEffortMap,
|
|
1684
1733
|
warnings
|
|
1685
1734
|
});
|
|
1686
1735
|
result.reasoningConfig = {
|
|
1687
1736
|
maxReasoningEffort: effort,
|
|
1688
|
-
...
|
|
1737
|
+
...amazonBedrockOptions.reasoningConfig
|
|
1689
1738
|
};
|
|
1690
1739
|
}
|
|
1691
1740
|
if (((_a = result.reasoningConfig) == null ? void 0 : _a.type) === "disabled") {
|
|
@@ -1695,7 +1744,7 @@ function resolveBedrockReasoningConfig({
|
|
|
1695
1744
|
return result;
|
|
1696
1745
|
}
|
|
1697
1746
|
|
|
1698
|
-
// src/bedrock-embedding-model.ts
|
|
1747
|
+
// src/amazon-bedrock-embedding-model.ts
|
|
1699
1748
|
import {
|
|
1700
1749
|
TooManyEmbeddingValuesForCallError
|
|
1701
1750
|
} from "@ai-sdk/provider";
|
|
@@ -1711,30 +1760,30 @@ import {
|
|
|
1711
1760
|
WORKFLOW_DESERIALIZE as WORKFLOW_DESERIALIZE2
|
|
1712
1761
|
} from "@ai-sdk/provider-utils";
|
|
1713
1762
|
|
|
1714
|
-
// src/bedrock-embedding-options.ts
|
|
1715
|
-
import { z as
|
|
1716
|
-
var amazonBedrockEmbeddingModelOptionsSchema =
|
|
1763
|
+
// src/amazon-bedrock-embedding-model-options.ts
|
|
1764
|
+
import { z as z5 } from "zod/v4";
|
|
1765
|
+
var amazonBedrockEmbeddingModelOptionsSchema = z5.object({
|
|
1717
1766
|
/**
|
|
1718
1767
|
* The number of dimensions the resulting output embeddings should have (defaults to 1024).
|
|
1719
1768
|
* Only supported in amazon.titan-embed-text-v2:0.
|
|
1720
1769
|
*/
|
|
1721
|
-
dimensions:
|
|
1770
|
+
dimensions: z5.union([z5.literal(1024), z5.literal(512), z5.literal(256)]).optional(),
|
|
1722
1771
|
/**
|
|
1723
1772
|
* Flag indicating whether or not to normalize the output embeddings. Defaults to true.
|
|
1724
1773
|
* Only supported in amazon.titan-embed-text-v2:0.
|
|
1725
1774
|
*/
|
|
1726
|
-
normalize:
|
|
1775
|
+
normalize: z5.boolean().optional(),
|
|
1727
1776
|
/**
|
|
1728
1777
|
* The number of dimensions for Nova embedding models (defaults to 1024).
|
|
1729
1778
|
* Supported values: 256, 384, 1024, 3072.
|
|
1730
1779
|
* Only supported in amazon.nova-* embedding models.
|
|
1731
1780
|
*/
|
|
1732
|
-
embeddingDimension:
|
|
1781
|
+
embeddingDimension: z5.union([z5.literal(256), z5.literal(384), z5.literal(1024), z5.literal(3072)]).optional(),
|
|
1733
1782
|
/**
|
|
1734
1783
|
* The purpose of the embedding. Defaults to 'GENERIC_INDEX'.
|
|
1735
1784
|
* Only supported in amazon.nova-* embedding models.
|
|
1736
1785
|
*/
|
|
1737
|
-
embeddingPurpose:
|
|
1786
|
+
embeddingPurpose: z5.enum([
|
|
1738
1787
|
"GENERIC_INDEX",
|
|
1739
1788
|
"TEXT_RETRIEVAL",
|
|
1740
1789
|
"IMAGE_RETRIEVAL",
|
|
@@ -1750,22 +1799,22 @@ var amazonBedrockEmbeddingModelOptionsSchema = z4.object({
|
|
|
1750
1799
|
* Common values: `search_document`, `search_query`, `classification`, `clustering`.
|
|
1751
1800
|
* If not set, the provider defaults to `search_query`.
|
|
1752
1801
|
*/
|
|
1753
|
-
inputType:
|
|
1802
|
+
inputType: z5.enum(["search_document", "search_query", "classification", "clustering"]).optional(),
|
|
1754
1803
|
/**
|
|
1755
1804
|
* Truncation behavior when input exceeds the model's context length.
|
|
1756
1805
|
* Supported in Cohere and Nova embedding models. Defaults to 'END' for Nova models.
|
|
1757
1806
|
*/
|
|
1758
|
-
truncate:
|
|
1807
|
+
truncate: z5.enum(["NONE", "START", "END"]).optional(),
|
|
1759
1808
|
/**
|
|
1760
1809
|
* The number of dimensions the resulting output embeddings should have (defaults to 1536).
|
|
1761
1810
|
* Only supported in cohere.embed-v4:0 and newer Cohere embedding models.
|
|
1762
1811
|
*/
|
|
1763
|
-
outputDimension:
|
|
1812
|
+
outputDimension: z5.union([z5.literal(256), z5.literal(512), z5.literal(1024), z5.literal(1536)]).optional()
|
|
1764
1813
|
});
|
|
1765
1814
|
|
|
1766
|
-
// src/bedrock-embedding-model.ts
|
|
1767
|
-
import { z as
|
|
1768
|
-
var
|
|
1815
|
+
// src/amazon-bedrock-embedding-model.ts
|
|
1816
|
+
import { z as z6 } from "zod/v4";
|
|
1817
|
+
var AmazonBedrockEmbeddingModel = class _AmazonBedrockEmbeddingModel {
|
|
1769
1818
|
constructor(modelId, config) {
|
|
1770
1819
|
this.modelId = modelId;
|
|
1771
1820
|
this.config = config;
|
|
@@ -1781,7 +1830,7 @@ var BedrockEmbeddingModel = class _BedrockEmbeddingModel {
|
|
|
1781
1830
|
});
|
|
1782
1831
|
}
|
|
1783
1832
|
static [WORKFLOW_DESERIALIZE2](options) {
|
|
1784
|
-
return new
|
|
1833
|
+
return new _AmazonBedrockEmbeddingModel(options.modelId, options.config);
|
|
1785
1834
|
}
|
|
1786
1835
|
getUrl(modelId) {
|
|
1787
1836
|
const encodedModelId = encodeURIComponent(modelId);
|
|
@@ -1793,7 +1842,7 @@ var BedrockEmbeddingModel = class _BedrockEmbeddingModel {
|
|
|
1793
1842
|
abortSignal,
|
|
1794
1843
|
providerOptions
|
|
1795
1844
|
}) {
|
|
1796
|
-
var _a, _b, _c, _d, _e, _f;
|
|
1845
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
1797
1846
|
if (values.length > this.maxEmbeddingsPerCall) {
|
|
1798
1847
|
throw new TooManyEmbeddingValuesForCallError({
|
|
1799
1848
|
provider: this.provider,
|
|
@@ -1802,34 +1851,38 @@ var BedrockEmbeddingModel = class _BedrockEmbeddingModel {
|
|
|
1802
1851
|
values
|
|
1803
1852
|
});
|
|
1804
1853
|
}
|
|
1805
|
-
const
|
|
1854
|
+
const amazonBedrockOptions = (_b = (_a = await parseProviderOptions3({
|
|
1855
|
+
provider: "amazonBedrock",
|
|
1856
|
+
providerOptions,
|
|
1857
|
+
schema: amazonBedrockEmbeddingModelOptionsSchema
|
|
1858
|
+
})) != null ? _a : await parseProviderOptions3({
|
|
1806
1859
|
provider: "bedrock",
|
|
1807
1860
|
providerOptions,
|
|
1808
1861
|
schema: amazonBedrockEmbeddingModelOptionsSchema
|
|
1809
|
-
})) != null ?
|
|
1862
|
+
})) != null ? _b : {};
|
|
1810
1863
|
const isNovaModel = this.modelId.startsWith("amazon.nova-") && this.modelId.includes("embed");
|
|
1811
1864
|
const isCohereModel = this.modelId.startsWith("cohere.embed-");
|
|
1812
1865
|
const args = isNovaModel ? {
|
|
1813
1866
|
taskType: "SINGLE_EMBEDDING",
|
|
1814
1867
|
singleEmbeddingParams: {
|
|
1815
|
-
embeddingPurpose: (
|
|
1816
|
-
embeddingDimension: (
|
|
1868
|
+
embeddingPurpose: (_c = amazonBedrockOptions.embeddingPurpose) != null ? _c : "GENERIC_INDEX",
|
|
1869
|
+
embeddingDimension: (_d = amazonBedrockOptions.embeddingDimension) != null ? _d : 1024,
|
|
1817
1870
|
text: {
|
|
1818
|
-
truncationMode: (
|
|
1871
|
+
truncationMode: (_e = amazonBedrockOptions.truncate) != null ? _e : "END",
|
|
1819
1872
|
value: values[0]
|
|
1820
1873
|
}
|
|
1821
1874
|
}
|
|
1822
1875
|
} : isCohereModel ? {
|
|
1823
1876
|
// Cohere embedding models on Bedrock require `input_type`.
|
|
1824
1877
|
// Without it, the service attempts other schema branches and rejects the request.
|
|
1825
|
-
input_type: (
|
|
1878
|
+
input_type: (_f = amazonBedrockOptions.inputType) != null ? _f : "search_query",
|
|
1826
1879
|
texts: [values[0]],
|
|
1827
|
-
truncate:
|
|
1828
|
-
output_dimension:
|
|
1880
|
+
truncate: amazonBedrockOptions.truncate,
|
|
1881
|
+
output_dimension: amazonBedrockOptions.outputDimension
|
|
1829
1882
|
} : {
|
|
1830
1883
|
inputText: values[0],
|
|
1831
|
-
dimensions:
|
|
1832
|
-
normalize:
|
|
1884
|
+
dimensions: amazonBedrockOptions.dimensions,
|
|
1885
|
+
normalize: amazonBedrockOptions.normalize
|
|
1833
1886
|
};
|
|
1834
1887
|
const url = this.getUrl(this.modelId);
|
|
1835
1888
|
const { value: response } = await postJsonToApi2({
|
|
@@ -1842,11 +1895,11 @@ var BedrockEmbeddingModel = class _BedrockEmbeddingModel {
|
|
|
1842
1895
|
),
|
|
1843
1896
|
body: args,
|
|
1844
1897
|
failedResponseHandler: createJsonErrorResponseHandler2({
|
|
1845
|
-
errorSchema:
|
|
1898
|
+
errorSchema: AmazonBedrockErrorSchema,
|
|
1846
1899
|
errorToMessage: (error) => `${error.type}: ${error.message}`
|
|
1847
1900
|
}),
|
|
1848
1901
|
successfulResponseHandler: createJsonResponseHandler2(
|
|
1849
|
-
|
|
1902
|
+
AmazonBedrockEmbeddingResponseSchema
|
|
1850
1903
|
),
|
|
1851
1904
|
fetch: this.config.fetch,
|
|
1852
1905
|
abortSignal
|
|
@@ -1864,7 +1917,7 @@ var BedrockEmbeddingModel = class _BedrockEmbeddingModel {
|
|
|
1864
1917
|
} else {
|
|
1865
1918
|
embedding = response.embeddings.float[0];
|
|
1866
1919
|
}
|
|
1867
|
-
const tokens = "inputTextTokenCount" in response ? response.inputTextTokenCount : "inputTokenCount" in response ? (
|
|
1920
|
+
const tokens = "inputTextTokenCount" in response ? response.inputTextTokenCount : "inputTokenCount" in response ? (_g = response.inputTokenCount) != null ? _g : 0 : NaN;
|
|
1868
1921
|
return {
|
|
1869
1922
|
embeddings: [embedding],
|
|
1870
1923
|
usage: { tokens },
|
|
@@ -1872,35 +1925,35 @@ var BedrockEmbeddingModel = class _BedrockEmbeddingModel {
|
|
|
1872
1925
|
};
|
|
1873
1926
|
}
|
|
1874
1927
|
};
|
|
1875
|
-
var
|
|
1928
|
+
var AmazonBedrockEmbeddingResponseSchema = z6.union([
|
|
1876
1929
|
// Titan-style response
|
|
1877
|
-
|
|
1878
|
-
embedding:
|
|
1879
|
-
inputTextTokenCount:
|
|
1930
|
+
z6.object({
|
|
1931
|
+
embedding: z6.array(z6.number()),
|
|
1932
|
+
inputTextTokenCount: z6.number()
|
|
1880
1933
|
}),
|
|
1881
1934
|
// Nova-style response
|
|
1882
|
-
|
|
1883
|
-
embeddings:
|
|
1884
|
-
|
|
1885
|
-
embeddingType:
|
|
1886
|
-
embedding:
|
|
1935
|
+
z6.object({
|
|
1936
|
+
embeddings: z6.array(
|
|
1937
|
+
z6.object({
|
|
1938
|
+
embeddingType: z6.string(),
|
|
1939
|
+
embedding: z6.array(z6.number())
|
|
1887
1940
|
})
|
|
1888
1941
|
),
|
|
1889
|
-
inputTokenCount:
|
|
1942
|
+
inputTokenCount: z6.number().optional()
|
|
1890
1943
|
}),
|
|
1891
1944
|
// Cohere v3-style response
|
|
1892
|
-
|
|
1893
|
-
embeddings:
|
|
1945
|
+
z6.object({
|
|
1946
|
+
embeddings: z6.array(z6.array(z6.number()))
|
|
1894
1947
|
}),
|
|
1895
1948
|
// Cohere v4-style response
|
|
1896
|
-
|
|
1897
|
-
embeddings:
|
|
1898
|
-
float:
|
|
1949
|
+
z6.object({
|
|
1950
|
+
embeddings: z6.object({
|
|
1951
|
+
float: z6.array(z6.array(z6.number()))
|
|
1899
1952
|
})
|
|
1900
1953
|
})
|
|
1901
1954
|
]);
|
|
1902
1955
|
|
|
1903
|
-
// src/bedrock-image-model.ts
|
|
1956
|
+
// src/amazon-bedrock-image-model.ts
|
|
1904
1957
|
import {
|
|
1905
1958
|
combineHeaders as combineHeaders3,
|
|
1906
1959
|
convertUint8ArrayToBase64,
|
|
@@ -1913,14 +1966,14 @@ import {
|
|
|
1913
1966
|
WORKFLOW_DESERIALIZE as WORKFLOW_DESERIALIZE3
|
|
1914
1967
|
} from "@ai-sdk/provider-utils";
|
|
1915
1968
|
|
|
1916
|
-
// src/bedrock-image-settings.ts
|
|
1969
|
+
// src/amazon-bedrock-image-settings.ts
|
|
1917
1970
|
var modelMaxImagesPerCall = {
|
|
1918
1971
|
"amazon.nova-canvas-v1:0": 5
|
|
1919
1972
|
};
|
|
1920
1973
|
|
|
1921
|
-
// src/bedrock-image-model.ts
|
|
1922
|
-
import { z as
|
|
1923
|
-
var
|
|
1974
|
+
// src/amazon-bedrock-image-model.ts
|
|
1975
|
+
import { z as z7 } from "zod/v4";
|
|
1976
|
+
var AmazonBedrockImageModel = class _AmazonBedrockImageModel {
|
|
1924
1977
|
constructor(modelId, config) {
|
|
1925
1978
|
this.modelId = modelId;
|
|
1926
1979
|
this.config = config;
|
|
@@ -1934,7 +1987,7 @@ var BedrockImageModel = class _BedrockImageModel {
|
|
|
1934
1987
|
});
|
|
1935
1988
|
}
|
|
1936
1989
|
static [WORKFLOW_DESERIALIZE3](options) {
|
|
1937
|
-
return new
|
|
1990
|
+
return new _AmazonBedrockImageModel(options.modelId, options.config);
|
|
1938
1991
|
}
|
|
1939
1992
|
get maxImagesPerCall() {
|
|
1940
1993
|
var _a;
|
|
@@ -1956,35 +2009,36 @@ var BedrockImageModel = class _BedrockImageModel {
|
|
|
1956
2009
|
files,
|
|
1957
2010
|
mask
|
|
1958
2011
|
}) {
|
|
1959
|
-
var _a, _b, _c, _d, _e, _f
|
|
2012
|
+
var _a, _b, _c, _d, _e, _f;
|
|
1960
2013
|
const warnings = [];
|
|
1961
2014
|
const [width, height] = size ? size.split("x").map(Number) : [];
|
|
1962
2015
|
const hasFiles = files != null && files.length > 0;
|
|
2016
|
+
const amazonBedrockOptions = (_a = providerOptions == null ? void 0 : providerOptions.amazonBedrock) != null ? _a : providerOptions == null ? void 0 : providerOptions.bedrock;
|
|
1963
2017
|
const imageGenerationConfig = {
|
|
1964
2018
|
...width ? { width } : {},
|
|
1965
2019
|
...height ? { height } : {},
|
|
1966
2020
|
...seed ? { seed } : {},
|
|
1967
2021
|
...n ? { numberOfImages: n } : {},
|
|
1968
|
-
...(
|
|
1969
|
-
...(
|
|
2022
|
+
...(amazonBedrockOptions == null ? void 0 : amazonBedrockOptions.quality) ? { quality: amazonBedrockOptions.quality } : {},
|
|
2023
|
+
...(amazonBedrockOptions == null ? void 0 : amazonBedrockOptions.cfgScale) ? { cfgScale: amazonBedrockOptions.cfgScale } : {}
|
|
1970
2024
|
};
|
|
1971
2025
|
let args;
|
|
1972
2026
|
if (hasFiles) {
|
|
1973
2027
|
const hasMask = (mask == null ? void 0 : mask.type) != null;
|
|
1974
|
-
const hasMaskPrompt = (
|
|
1975
|
-
const taskType = (
|
|
2028
|
+
const hasMaskPrompt = (amazonBedrockOptions == null ? void 0 : amazonBedrockOptions.maskPrompt) != null;
|
|
2029
|
+
const taskType = (_b = amazonBedrockOptions == null ? void 0 : amazonBedrockOptions.taskType) != null ? _b : hasMask || hasMaskPrompt ? "INPAINTING" : "IMAGE_VARIATION";
|
|
1976
2030
|
const sourceImageBase64 = getBase64Data(files[0]);
|
|
1977
2031
|
switch (taskType) {
|
|
1978
2032
|
case "INPAINTING": {
|
|
1979
2033
|
const inPaintingParams = {
|
|
1980
2034
|
image: sourceImageBase64,
|
|
1981
2035
|
...prompt ? { text: prompt } : {},
|
|
1982
|
-
...(
|
|
2036
|
+
...(amazonBedrockOptions == null ? void 0 : amazonBedrockOptions.negativeText) ? { negativeText: amazonBedrockOptions.negativeText } : {}
|
|
1983
2037
|
};
|
|
1984
2038
|
if (hasMask) {
|
|
1985
2039
|
inPaintingParams.maskImage = getBase64Data(mask);
|
|
1986
2040
|
} else if (hasMaskPrompt) {
|
|
1987
|
-
inPaintingParams.maskPrompt =
|
|
2041
|
+
inPaintingParams.maskPrompt = amazonBedrockOptions.maskPrompt;
|
|
1988
2042
|
}
|
|
1989
2043
|
args = {
|
|
1990
2044
|
taskType: "INPAINTING",
|
|
@@ -1997,13 +2051,13 @@ var BedrockImageModel = class _BedrockImageModel {
|
|
|
1997
2051
|
const outPaintingParams = {
|
|
1998
2052
|
image: sourceImageBase64,
|
|
1999
2053
|
...prompt ? { text: prompt } : {},
|
|
2000
|
-
...(
|
|
2001
|
-
...(
|
|
2054
|
+
...(amazonBedrockOptions == null ? void 0 : amazonBedrockOptions.negativeText) ? { negativeText: amazonBedrockOptions.negativeText } : {},
|
|
2055
|
+
...(amazonBedrockOptions == null ? void 0 : amazonBedrockOptions.outPaintingMode) ? { outPaintingMode: amazonBedrockOptions.outPaintingMode } : {}
|
|
2002
2056
|
};
|
|
2003
2057
|
if (hasMask) {
|
|
2004
2058
|
outPaintingParams.maskImage = getBase64Data(mask);
|
|
2005
2059
|
} else if (hasMaskPrompt) {
|
|
2006
|
-
outPaintingParams.maskPrompt =
|
|
2060
|
+
outPaintingParams.maskPrompt = amazonBedrockOptions.maskPrompt;
|
|
2007
2061
|
}
|
|
2008
2062
|
args = {
|
|
2009
2063
|
taskType: "OUTPAINTING",
|
|
@@ -2026,9 +2080,9 @@ var BedrockImageModel = class _BedrockImageModel {
|
|
|
2026
2080
|
const imageVariationParams = {
|
|
2027
2081
|
images,
|
|
2028
2082
|
...prompt ? { text: prompt } : {},
|
|
2029
|
-
...(
|
|
2030
|
-
...(
|
|
2031
|
-
similarityStrength:
|
|
2083
|
+
...(amazonBedrockOptions == null ? void 0 : amazonBedrockOptions.negativeText) ? { negativeText: amazonBedrockOptions.negativeText } : {},
|
|
2084
|
+
...(amazonBedrockOptions == null ? void 0 : amazonBedrockOptions.similarityStrength) != null ? {
|
|
2085
|
+
similarityStrength: amazonBedrockOptions.similarityStrength
|
|
2032
2086
|
} : {}
|
|
2033
2087
|
};
|
|
2034
2088
|
args = {
|
|
@@ -2046,11 +2100,11 @@ var BedrockImageModel = class _BedrockImageModel {
|
|
|
2046
2100
|
taskType: "TEXT_IMAGE",
|
|
2047
2101
|
textToImageParams: {
|
|
2048
2102
|
text: prompt,
|
|
2049
|
-
...(
|
|
2050
|
-
negativeText:
|
|
2103
|
+
...(amazonBedrockOptions == null ? void 0 : amazonBedrockOptions.negativeText) ? {
|
|
2104
|
+
negativeText: amazonBedrockOptions.negativeText
|
|
2051
2105
|
} : {},
|
|
2052
|
-
...(
|
|
2053
|
-
style:
|
|
2106
|
+
...(amazonBedrockOptions == null ? void 0 : amazonBedrockOptions.style) ? {
|
|
2107
|
+
style: amazonBedrockOptions.style
|
|
2054
2108
|
} : {}
|
|
2055
2109
|
},
|
|
2056
2110
|
imageGenerationConfig
|
|
@@ -2063,7 +2117,7 @@ var BedrockImageModel = class _BedrockImageModel {
|
|
|
2063
2117
|
details: "This model does not support aspect ratio. Use `size` instead."
|
|
2064
2118
|
});
|
|
2065
2119
|
}
|
|
2066
|
-
const currentDate = (
|
|
2120
|
+
const currentDate = (_e = (_d = (_c = this.config._internal) == null ? void 0 : _c.currentDate) == null ? void 0 : _d.call(_c)) != null ? _e : /* @__PURE__ */ new Date();
|
|
2067
2121
|
const { value: response, responseHeaders } = await postJsonToApi3({
|
|
2068
2122
|
url: this.getUrl(this.modelId),
|
|
2069
2123
|
headers: await resolve3(
|
|
@@ -2074,17 +2128,17 @@ var BedrockImageModel = class _BedrockImageModel {
|
|
|
2074
2128
|
),
|
|
2075
2129
|
body: args,
|
|
2076
2130
|
failedResponseHandler: createJsonErrorResponseHandler3({
|
|
2077
|
-
errorSchema:
|
|
2131
|
+
errorSchema: AmazonBedrockErrorSchema,
|
|
2078
2132
|
errorToMessage: (error) => `${error.type}: ${error.message}`
|
|
2079
2133
|
}),
|
|
2080
2134
|
successfulResponseHandler: createJsonResponseHandler3(
|
|
2081
|
-
|
|
2135
|
+
amazonBedrockImageResponseSchema
|
|
2082
2136
|
),
|
|
2083
2137
|
abortSignal,
|
|
2084
2138
|
fetch: this.config.fetch
|
|
2085
2139
|
});
|
|
2086
2140
|
if (response.status === "Request Moderated") {
|
|
2087
|
-
const moderationReasons = (
|
|
2141
|
+
const moderationReasons = (_f = response.details) == null ? void 0 : _f["Moderation Reasons"];
|
|
2088
2142
|
const reasons = Array.isArray(moderationReasons) ? moderationReasons : ["Unknown"];
|
|
2089
2143
|
throw new Error(
|
|
2090
2144
|
`Amazon Bedrock request was moderated: ${reasons.join(", ")}`
|
|
@@ -2117,19 +2171,19 @@ function getBase64Data(file) {
|
|
|
2117
2171
|
}
|
|
2118
2172
|
return file.data;
|
|
2119
2173
|
}
|
|
2120
|
-
var
|
|
2174
|
+
var amazonBedrockImageResponseSchema = z7.object({
|
|
2121
2175
|
// Normal successful response
|
|
2122
|
-
images:
|
|
2176
|
+
images: z7.array(z7.string()).optional(),
|
|
2123
2177
|
// Moderation response fields
|
|
2124
|
-
id:
|
|
2125
|
-
status:
|
|
2126
|
-
result:
|
|
2127
|
-
progress:
|
|
2128
|
-
details:
|
|
2129
|
-
preview:
|
|
2178
|
+
id: z7.string().optional(),
|
|
2179
|
+
status: z7.string().optional(),
|
|
2180
|
+
result: z7.unknown().optional(),
|
|
2181
|
+
progress: z7.unknown().optional(),
|
|
2182
|
+
details: z7.record(z7.string(), z7.unknown()).optional(),
|
|
2183
|
+
preview: z7.unknown().optional()
|
|
2130
2184
|
});
|
|
2131
2185
|
|
|
2132
|
-
// src/bedrock-sigv4-fetch.ts
|
|
2186
|
+
// src/amazon-bedrock-sigv4-fetch.ts
|
|
2133
2187
|
import {
|
|
2134
2188
|
combineHeaders as combineHeaders4,
|
|
2135
2189
|
normalizeHeaders,
|
|
@@ -2139,9 +2193,9 @@ import {
|
|
|
2139
2193
|
import { AwsV4Signer } from "aws4fetch";
|
|
2140
2194
|
|
|
2141
2195
|
// src/version.ts
|
|
2142
|
-
var VERSION = true ? "5.0.0-beta.
|
|
2196
|
+
var VERSION = true ? "5.0.0-beta.46" : "0.0.0-test";
|
|
2143
2197
|
|
|
2144
|
-
// src/bedrock-sigv4-fetch.ts
|
|
2198
|
+
// src/amazon-bedrock-sigv4-fetch.ts
|
|
2145
2199
|
function createSigV4FetchFunction(getCredentials, fetch = globalThis.fetch) {
|
|
2146
2200
|
return async (input, init) => {
|
|
2147
2201
|
var _a, _b;
|
|
@@ -2222,7 +2276,7 @@ function createApiKeyFetchFunction(apiKey, fetch = globalThis.fetch) {
|
|
|
2222
2276
|
};
|
|
2223
2277
|
}
|
|
2224
2278
|
|
|
2225
|
-
// src/reranking/bedrock-reranking-model.ts
|
|
2279
|
+
// src/reranking/amazon-bedrock-reranking-model.ts
|
|
2226
2280
|
import {
|
|
2227
2281
|
combineHeaders as combineHeaders5,
|
|
2228
2282
|
createJsonErrorResponseHandler as createJsonErrorResponseHandler4,
|
|
@@ -2232,43 +2286,43 @@ import {
|
|
|
2232
2286
|
resolve as resolve4
|
|
2233
2287
|
} from "@ai-sdk/provider-utils";
|
|
2234
2288
|
|
|
2235
|
-
// src/reranking/bedrock-reranking-api.ts
|
|
2289
|
+
// src/reranking/amazon-bedrock-reranking-api.ts
|
|
2236
2290
|
import { lazySchema, zodSchema } from "@ai-sdk/provider-utils";
|
|
2237
|
-
import { z as
|
|
2238
|
-
var
|
|
2291
|
+
import { z as z8 } from "zod/v4";
|
|
2292
|
+
var amazonBedrockRerankingResponseSchema = lazySchema(
|
|
2239
2293
|
() => zodSchema(
|
|
2240
|
-
|
|
2241
|
-
results:
|
|
2242
|
-
|
|
2243
|
-
index:
|
|
2244
|
-
relevanceScore:
|
|
2294
|
+
z8.object({
|
|
2295
|
+
results: z8.array(
|
|
2296
|
+
z8.object({
|
|
2297
|
+
index: z8.number(),
|
|
2298
|
+
relevanceScore: z8.number()
|
|
2245
2299
|
})
|
|
2246
2300
|
),
|
|
2247
|
-
nextToken:
|
|
2301
|
+
nextToken: z8.string().optional()
|
|
2248
2302
|
})
|
|
2249
2303
|
)
|
|
2250
2304
|
);
|
|
2251
2305
|
|
|
2252
|
-
// src/reranking/bedrock-reranking-options.ts
|
|
2306
|
+
// src/reranking/amazon-bedrock-reranking-model-options.ts
|
|
2253
2307
|
import { lazySchema as lazySchema2, zodSchema as zodSchema2 } from "@ai-sdk/provider-utils";
|
|
2254
|
-
import { z as
|
|
2308
|
+
import { z as z9 } from "zod/v4";
|
|
2255
2309
|
var amazonBedrockRerankingModelOptionsSchema = lazySchema2(
|
|
2256
2310
|
() => zodSchema2(
|
|
2257
|
-
|
|
2311
|
+
z9.object({
|
|
2258
2312
|
/**
|
|
2259
2313
|
* 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.
|
|
2260
2314
|
*/
|
|
2261
|
-
nextToken:
|
|
2315
|
+
nextToken: z9.string().optional(),
|
|
2262
2316
|
/**
|
|
2263
2317
|
* Additional model request fields to pass to the model.
|
|
2264
2318
|
*/
|
|
2265
|
-
additionalModelRequestFields:
|
|
2319
|
+
additionalModelRequestFields: z9.record(z9.string(), z9.any()).optional()
|
|
2266
2320
|
})
|
|
2267
2321
|
)
|
|
2268
2322
|
);
|
|
2269
2323
|
|
|
2270
|
-
// src/reranking/bedrock-reranking-model.ts
|
|
2271
|
-
var
|
|
2324
|
+
// src/reranking/amazon-bedrock-reranking-model.ts
|
|
2325
|
+
var AmazonBedrockRerankingModel = class {
|
|
2272
2326
|
constructor(modelId, config) {
|
|
2273
2327
|
this.modelId = modelId;
|
|
2274
2328
|
this.config = config;
|
|
@@ -2283,7 +2337,12 @@ var BedrockRerankingModel = class {
|
|
|
2283
2337
|
abortSignal,
|
|
2284
2338
|
providerOptions
|
|
2285
2339
|
}) {
|
|
2286
|
-
|
|
2340
|
+
var _a;
|
|
2341
|
+
const amazonBedrockOptions = (_a = await parseProviderOptions4({
|
|
2342
|
+
provider: "amazonBedrock",
|
|
2343
|
+
providerOptions,
|
|
2344
|
+
schema: amazonBedrockRerankingModelOptionsSchema
|
|
2345
|
+
})) != null ? _a : await parseProviderOptions4({
|
|
2287
2346
|
provider: "bedrock",
|
|
2288
2347
|
providerOptions,
|
|
2289
2348
|
schema: amazonBedrockRerankingModelOptionsSchema
|
|
@@ -2298,7 +2357,7 @@ var BedrockRerankingModel = class {
|
|
|
2298
2357
|
combineHeaders5(await resolve4(this.config.headers), headers)
|
|
2299
2358
|
),
|
|
2300
2359
|
body: {
|
|
2301
|
-
nextToken:
|
|
2360
|
+
nextToken: amazonBedrockOptions == null ? void 0 : amazonBedrockOptions.nextToken,
|
|
2302
2361
|
queries: [
|
|
2303
2362
|
{
|
|
2304
2363
|
textQuery: { text: query },
|
|
@@ -2306,10 +2365,10 @@ var BedrockRerankingModel = class {
|
|
|
2306
2365
|
}
|
|
2307
2366
|
],
|
|
2308
2367
|
rerankingConfiguration: {
|
|
2309
|
-
|
|
2368
|
+
amazonBedrockRerankingConfiguration: {
|
|
2310
2369
|
modelConfiguration: {
|
|
2311
2370
|
modelArn: `arn:aws:bedrock:${this.config.region}::foundation-model/${this.modelId}`,
|
|
2312
|
-
additionalModelRequestFields:
|
|
2371
|
+
additionalModelRequestFields: amazonBedrockOptions == null ? void 0 : amazonBedrockOptions.additionalModelRequestFields
|
|
2313
2372
|
},
|
|
2314
2373
|
numberOfResults: topN
|
|
2315
2374
|
},
|
|
@@ -2327,11 +2386,11 @@ var BedrockRerankingModel = class {
|
|
|
2327
2386
|
}))
|
|
2328
2387
|
},
|
|
2329
2388
|
failedResponseHandler: createJsonErrorResponseHandler4({
|
|
2330
|
-
errorSchema:
|
|
2389
|
+
errorSchema: AmazonBedrockErrorSchema,
|
|
2331
2390
|
errorToMessage: (error) => `${error.type}: ${error.message}`
|
|
2332
2391
|
}),
|
|
2333
2392
|
successfulResponseHandler: createJsonResponseHandler4(
|
|
2334
|
-
|
|
2393
|
+
amazonBedrockRerankingResponseSchema
|
|
2335
2394
|
),
|
|
2336
2395
|
fetch: this.config.fetch,
|
|
2337
2396
|
abortSignal
|
|
@@ -2346,7 +2405,7 @@ var BedrockRerankingModel = class {
|
|
|
2346
2405
|
}
|
|
2347
2406
|
};
|
|
2348
2407
|
|
|
2349
|
-
// src/bedrock-provider.ts
|
|
2408
|
+
// src/amazon-bedrock-provider.ts
|
|
2350
2409
|
function createAmazonBedrock(options = {}) {
|
|
2351
2410
|
const rawApiKey = loadOptionalSetting({
|
|
2352
2411
|
settingValue: options.apiKey,
|
|
@@ -2388,7 +2447,7 @@ function createAmazonBedrock(options = {}) {
|
|
|
2388
2447
|
environmentVariableName: "AWS_SECRET_ACCESS_KEY",
|
|
2389
2448
|
description: "AWS secret access key"
|
|
2390
2449
|
}),
|
|
2391
|
-
sessionToken: loadOptionalSetting({
|
|
2450
|
+
sessionToken: options.accessKeyId != null && options.secretAccessKey != null ? options.sessionToken : loadOptionalSetting({
|
|
2392
2451
|
settingValue: options.sessionToken,
|
|
2393
2452
|
environmentVariableName: "AWS_SESSION_TOKEN"
|
|
2394
2453
|
})
|
|
@@ -2419,7 +2478,7 @@ Original error: ${errorMessage}`
|
|
|
2419
2478
|
const baseHeaders = (_a = options.headers) != null ? _a : {};
|
|
2420
2479
|
return withUserAgentSuffix2(baseHeaders, `ai-sdk/amazon-bedrock/${VERSION}`);
|
|
2421
2480
|
};
|
|
2422
|
-
const
|
|
2481
|
+
const getAmazonBedrockRuntimeBaseUrl = () => {
|
|
2423
2482
|
var _a, _b;
|
|
2424
2483
|
return (_b = withoutTrailingSlash(
|
|
2425
2484
|
(_a = options.baseURL) != null ? _a : `https://bedrock-runtime.${loadSetting({
|
|
@@ -2430,7 +2489,7 @@ Original error: ${errorMessage}`
|
|
|
2430
2489
|
})}.amazonaws.com`
|
|
2431
2490
|
)) != null ? _b : `https://bedrock-runtime.us-east-1.amazonaws.com`;
|
|
2432
2491
|
};
|
|
2433
|
-
const
|
|
2492
|
+
const getAmazonBedrockAgentRuntimeBaseUrl = () => {
|
|
2434
2493
|
var _a, _b;
|
|
2435
2494
|
return (_b = withoutTrailingSlash(
|
|
2436
2495
|
(_a = options.baseURL) != null ? _a : `https://bedrock-agent-runtime.${loadSetting({
|
|
@@ -2441,8 +2500,8 @@ Original error: ${errorMessage}`
|
|
|
2441
2500
|
})}.amazonaws.com`
|
|
2442
2501
|
)) != null ? _b : `https://bedrock-agent-runtime.us-west-2.amazonaws.com`;
|
|
2443
2502
|
};
|
|
2444
|
-
const createChatModel = (modelId) => new
|
|
2445
|
-
baseUrl:
|
|
2503
|
+
const createChatModel = (modelId) => new AmazonBedrockChatLanguageModel(modelId, {
|
|
2504
|
+
baseUrl: getAmazonBedrockRuntimeBaseUrl,
|
|
2446
2505
|
headers: getHeaders,
|
|
2447
2506
|
fetch: fetchFunction,
|
|
2448
2507
|
generateId
|
|
@@ -2455,18 +2514,18 @@ Original error: ${errorMessage}`
|
|
|
2455
2514
|
}
|
|
2456
2515
|
return createChatModel(modelId);
|
|
2457
2516
|
};
|
|
2458
|
-
const createEmbeddingModel = (modelId) => new
|
|
2459
|
-
baseUrl:
|
|
2517
|
+
const createEmbeddingModel = (modelId) => new AmazonBedrockEmbeddingModel(modelId, {
|
|
2518
|
+
baseUrl: getAmazonBedrockRuntimeBaseUrl,
|
|
2460
2519
|
headers: getHeaders,
|
|
2461
2520
|
fetch: fetchFunction
|
|
2462
2521
|
});
|
|
2463
|
-
const createImageModel = (modelId) => new
|
|
2464
|
-
baseUrl:
|
|
2522
|
+
const createImageModel = (modelId) => new AmazonBedrockImageModel(modelId, {
|
|
2523
|
+
baseUrl: getAmazonBedrockRuntimeBaseUrl,
|
|
2465
2524
|
headers: getHeaders,
|
|
2466
2525
|
fetch: fetchFunction
|
|
2467
2526
|
});
|
|
2468
|
-
const createRerankingModel = (modelId) => new
|
|
2469
|
-
baseUrl:
|
|
2527
|
+
const createRerankingModel = (modelId) => new AmazonBedrockRerankingModel(modelId, {
|
|
2528
|
+
baseUrl: getAmazonBedrockAgentRuntimeBaseUrl,
|
|
2470
2529
|
region: loadSetting({
|
|
2471
2530
|
settingValue: options.region,
|
|
2472
2531
|
settingName: "region",
|
|
@@ -2489,10 +2548,11 @@ Original error: ${errorMessage}`
|
|
|
2489
2548
|
provider.tools = anthropicTools2;
|
|
2490
2549
|
return provider;
|
|
2491
2550
|
}
|
|
2492
|
-
var
|
|
2551
|
+
var amazonBedrock = createAmazonBedrock();
|
|
2493
2552
|
export {
|
|
2494
2553
|
VERSION,
|
|
2495
|
-
|
|
2554
|
+
amazonBedrock,
|
|
2555
|
+
amazonBedrock as bedrock,
|
|
2496
2556
|
createAmazonBedrock
|
|
2497
2557
|
};
|
|
2498
2558
|
//# sourceMappingURL=index.js.map
|