@ai-sdk/amazon-bedrock 5.0.86 → 5.0.88
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 +25 -0
- package/dist/anthropic/index.js +1 -1
- package/dist/index.js +66 -23
- package/dist/index.js.map +1 -1
- package/dist/mantle/index.cjs +1 -1
- package/dist/mantle/index.js +1 -1
- package/package.json +4 -4
- package/src/amazon-bedrock-chat-language-model.ts +5 -5
- package/src/amazon-bedrock-embedding-model.ts +2 -6
- package/src/amazon-bedrock-error.ts +8 -0
- package/src/amazon-bedrock-image-model.ts +2 -6
- package/src/amazon-bedrock-prepare-tools.ts +90 -1
- package/src/reranking/amazon-bedrock-reranking-model.ts +2 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# @ai-sdk/amazon-bedrock
|
|
2
2
|
|
|
3
|
+
## 5.0.88
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [2973485]
|
|
8
|
+
- Updated dependencies [e76a0a3]
|
|
9
|
+
- Updated dependencies [a4db5ea]
|
|
10
|
+
- Updated dependencies [2937ea2]
|
|
11
|
+
- @ai-sdk/provider-utils@5.0.45
|
|
12
|
+
- @ai-sdk/openai@4.0.71
|
|
13
|
+
- @ai-sdk/anthropic@4.0.58
|
|
14
|
+
|
|
15
|
+
## 5.0.87
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- d746e16: fix(amazon-bedrock): avoid strict mode for open tool schemas
|
|
20
|
+
- c559a12: fix(amazon-bedrock): preserve API error messages when the error type is omitted
|
|
21
|
+
- Updated dependencies [fd75cee]
|
|
22
|
+
- Updated dependencies [1f5bb62]
|
|
23
|
+
- Updated dependencies [0455398]
|
|
24
|
+
- @ai-sdk/openai@4.0.70
|
|
25
|
+
- @ai-sdk/provider-utils@5.0.44
|
|
26
|
+
- @ai-sdk/anthropic@4.0.57
|
|
27
|
+
|
|
3
28
|
## 5.0.86
|
|
4
29
|
|
|
5
30
|
### Patch Changes
|
package/dist/anthropic/index.js
CHANGED
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
import { AwsV4Signer } from "aws4fetch";
|
|
24
24
|
|
|
25
25
|
// src/version.ts
|
|
26
|
-
var VERSION = true ? "5.0.
|
|
26
|
+
var VERSION = true ? "5.0.88" : "0.0.0-test";
|
|
27
27
|
|
|
28
28
|
// src/amazon-bedrock-sigv4-fetch.ts
|
|
29
29
|
function createSigV4FetchFunction(getCredentials, fetch, service = "bedrock") {
|
package/dist/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
import {
|
|
12
12
|
combineHeaders,
|
|
13
13
|
createProviderStreamError,
|
|
14
|
-
createJsonErrorResponseHandler,
|
|
14
|
+
createJsonErrorResponseHandler as createJsonErrorResponseHandler2,
|
|
15
15
|
createJsonResponseHandler,
|
|
16
16
|
injectJsonInstructionIntoMessages,
|
|
17
17
|
isCustomReasoning,
|
|
@@ -169,11 +169,16 @@ function matchesModel(modelId, models) {
|
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
// src/amazon-bedrock-error.ts
|
|
172
|
+
import { createJsonErrorResponseHandler } from "@ai-sdk/provider-utils";
|
|
172
173
|
import { z as z2 } from "zod/v4";
|
|
173
174
|
var AmazonBedrockErrorSchema = z2.object({
|
|
174
175
|
message: z2.string(),
|
|
175
176
|
type: z2.string().nullish()
|
|
176
177
|
});
|
|
178
|
+
var amazonBedrockFailedResponseHandler = createJsonErrorResponseHandler({
|
|
179
|
+
errorSchema: AmazonBedrockErrorSchema,
|
|
180
|
+
errorToMessage: (error) => error.type == null ? error.message : `${error.type}: ${error.message}`
|
|
181
|
+
});
|
|
177
182
|
|
|
178
183
|
// src/amazon-bedrock-event-stream-response-handler.ts
|
|
179
184
|
import { EmptyResponseBodyError } from "@ai-sdk/provider";
|
|
@@ -399,18 +404,25 @@ async function prepareTools({
|
|
|
399
404
|
const filteredFunctionTools = (toolChoice == null ? void 0 : toolChoice.type) === "tool" ? functionTools.filter((t) => t.name === toolChoice.toolName) : functionTools;
|
|
400
405
|
const supportsStrictOnTools = supportsStrictTools(modelId);
|
|
401
406
|
for (const tool of filteredFunctionTools) {
|
|
407
|
+
const supportsStrictForTool = supportsStrictOnTools && (tool.strict !== true || isStrictToolSchemaCompatible(tool.inputSchema));
|
|
402
408
|
if (!supportsStrictOnTools && tool.strict != null) {
|
|
403
409
|
toolWarnings.push({
|
|
404
410
|
type: "unsupported",
|
|
405
411
|
feature: "strict",
|
|
406
412
|
details: `Tool '${tool.name}' has strict: ${tool.strict}, but strict mode is not supported by this model on Amazon Bedrock. The strict property will be ignored.`
|
|
407
413
|
});
|
|
414
|
+
} else if (tool.strict === true && !supportsStrictForTool) {
|
|
415
|
+
toolWarnings.push({
|
|
416
|
+
type: "unsupported",
|
|
417
|
+
feature: "strict",
|
|
418
|
+
details: `Tool '${tool.name}' has strict: true, but Amazon Bedrock requires every object in a strict tool schema to set additionalProperties: false. The strict property will be ignored.`
|
|
419
|
+
});
|
|
408
420
|
}
|
|
409
421
|
amazonBedrockTools.push({
|
|
410
422
|
toolSpec: {
|
|
411
423
|
name: tool.name,
|
|
412
424
|
...((_a = tool.description) == null ? void 0 : _a.trim()) !== "" ? { description: tool.description } : {},
|
|
413
|
-
...tool.strict != null &&
|
|
425
|
+
...tool.strict != null && supportsStrictForTool ? { strict: tool.strict } : {},
|
|
414
426
|
inputSchema: {
|
|
415
427
|
json: tool.inputSchema
|
|
416
428
|
}
|
|
@@ -459,6 +471,52 @@ async function prepareTools({
|
|
|
459
471
|
toolWarnings
|
|
460
472
|
};
|
|
461
473
|
}
|
|
474
|
+
function isStrictToolSchemaCompatible(schema) {
|
|
475
|
+
if (typeof schema === "boolean") {
|
|
476
|
+
return true;
|
|
477
|
+
}
|
|
478
|
+
const schemaWithDefs = schema;
|
|
479
|
+
if ((schema.type === "object" || Array.isArray(schema.type) && schema.type.includes("object")) && schema.additionalProperties !== false) {
|
|
480
|
+
return false;
|
|
481
|
+
}
|
|
482
|
+
const schemaMaps = [
|
|
483
|
+
schema.properties,
|
|
484
|
+
schema.patternProperties,
|
|
485
|
+
schema.definitions,
|
|
486
|
+
schemaWithDefs.$defs
|
|
487
|
+
];
|
|
488
|
+
for (const schemaMap of schemaMaps) {
|
|
489
|
+
if (schemaMap != null && Object.values(schemaMap).some(
|
|
490
|
+
(definition) => !isStrictToolSchemaCompatible(definition)
|
|
491
|
+
)) {
|
|
492
|
+
return false;
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
if (schema.dependencies != null && Object.values(schema.dependencies).some(
|
|
496
|
+
(dependency) => !Array.isArray(dependency) && !isStrictToolSchemaCompatible(dependency)
|
|
497
|
+
)) {
|
|
498
|
+
return false;
|
|
499
|
+
}
|
|
500
|
+
const nestedSchemas = [
|
|
501
|
+
schema.propertyNames,
|
|
502
|
+
schema.contains,
|
|
503
|
+
schema.not,
|
|
504
|
+
schema.if,
|
|
505
|
+
schema.then,
|
|
506
|
+
schema.else
|
|
507
|
+
];
|
|
508
|
+
if (nestedSchemas.some(
|
|
509
|
+
(nestedSchema) => nestedSchema != null && !isStrictToolSchemaCompatible(nestedSchema)
|
|
510
|
+
)) {
|
|
511
|
+
return false;
|
|
512
|
+
}
|
|
513
|
+
if (schema.items != null && (Array.isArray(schema.items) ? schema.items.some((item) => !isStrictToolSchemaCompatible(item)) : !isStrictToolSchemaCompatible(schema.items))) {
|
|
514
|
+
return false;
|
|
515
|
+
}
|
|
516
|
+
return [schema.anyOf, schema.allOf, schema.oneOf].every(
|
|
517
|
+
(alternatives) => alternatives == null || alternatives.every(isStrictToolSchemaCompatible)
|
|
518
|
+
);
|
|
519
|
+
}
|
|
462
520
|
|
|
463
521
|
// src/convert-amazon-bedrock-usage.ts
|
|
464
522
|
import { createNullLanguageModelUsage } from "@ai-sdk/provider-utils";
|
|
@@ -1525,7 +1583,7 @@ var AmazonBedrockChatLanguageModel = class _AmazonBedrockChatLanguageModel {
|
|
|
1525
1583
|
url,
|
|
1526
1584
|
headers: await this.getHeaders({ headers: options.headers }),
|
|
1527
1585
|
body: args,
|
|
1528
|
-
failedResponseHandler:
|
|
1586
|
+
failedResponseHandler: createJsonErrorResponseHandler2({
|
|
1529
1587
|
errorSchema: AmazonBedrockErrorSchema,
|
|
1530
1588
|
errorToMessage: (error) => {
|
|
1531
1589
|
var _a2;
|
|
@@ -1674,10 +1732,7 @@ var AmazonBedrockChatLanguageModel = class _AmazonBedrockChatLanguageModel {
|
|
|
1674
1732
|
url,
|
|
1675
1733
|
headers: await this.getHeaders({ headers: options.headers }),
|
|
1676
1734
|
body: args,
|
|
1677
|
-
failedResponseHandler:
|
|
1678
|
-
errorSchema: AmazonBedrockErrorSchema,
|
|
1679
|
-
errorToMessage: (error) => `${error.type}: ${error.message}`
|
|
1680
|
-
}),
|
|
1735
|
+
failedResponseHandler: amazonBedrockFailedResponseHandler,
|
|
1681
1736
|
successfulResponseHandler: createAmazonBedrockEventStreamResponseHandler(
|
|
1682
1737
|
AmazonBedrockStreamSchema
|
|
1683
1738
|
),
|
|
@@ -2291,7 +2346,6 @@ import {
|
|
|
2291
2346
|
} from "@ai-sdk/provider";
|
|
2292
2347
|
import {
|
|
2293
2348
|
combineHeaders as combineHeaders2,
|
|
2294
|
-
createJsonErrorResponseHandler as createJsonErrorResponseHandler2,
|
|
2295
2349
|
createJsonResponseHandler as createJsonResponseHandler2,
|
|
2296
2350
|
parseProviderOptions as parseProviderOptions3,
|
|
2297
2351
|
postJsonToApi as postJsonToApi2,
|
|
@@ -2440,10 +2494,7 @@ var AmazonBedrockEmbeddingModel = class _AmazonBedrockEmbeddingModel {
|
|
|
2440
2494
|
)
|
|
2441
2495
|
),
|
|
2442
2496
|
body: args,
|
|
2443
|
-
failedResponseHandler:
|
|
2444
|
-
errorSchema: AmazonBedrockErrorSchema,
|
|
2445
|
-
errorToMessage: (error) => `${error.type}: ${error.message}`
|
|
2446
|
-
}),
|
|
2497
|
+
failedResponseHandler: amazonBedrockFailedResponseHandler,
|
|
2447
2498
|
successfulResponseHandler: createJsonResponseHandler2(
|
|
2448
2499
|
AmazonBedrockEmbeddingResponseSchema
|
|
2449
2500
|
),
|
|
@@ -2515,7 +2566,6 @@ var AmazonBedrockEmbeddingResponseSchema = z6.union([
|
|
|
2515
2566
|
import {
|
|
2516
2567
|
combineHeaders as combineHeaders3,
|
|
2517
2568
|
convertUint8ArrayToBase64,
|
|
2518
|
-
createJsonErrorResponseHandler as createJsonErrorResponseHandler3,
|
|
2519
2569
|
createJsonResponseHandler as createJsonResponseHandler3,
|
|
2520
2570
|
parseProviderOptions as parseProviderOptions4,
|
|
2521
2571
|
postJsonToApi as postJsonToApi3,
|
|
@@ -2730,10 +2780,7 @@ var AmazonBedrockImageModel = class _AmazonBedrockImageModel {
|
|
|
2730
2780
|
)
|
|
2731
2781
|
),
|
|
2732
2782
|
body: args,
|
|
2733
|
-
failedResponseHandler:
|
|
2734
|
-
errorSchema: AmazonBedrockErrorSchema,
|
|
2735
|
-
errorToMessage: (error) => `${error.type}: ${error.message}`
|
|
2736
|
-
}),
|
|
2783
|
+
failedResponseHandler: amazonBedrockFailedResponseHandler,
|
|
2737
2784
|
successfulResponseHandler: createJsonResponseHandler3(
|
|
2738
2785
|
amazonBedrockImageResponseSchema
|
|
2739
2786
|
),
|
|
@@ -2796,7 +2843,7 @@ import {
|
|
|
2796
2843
|
import { AwsV4Signer } from "aws4fetch";
|
|
2797
2844
|
|
|
2798
2845
|
// src/version.ts
|
|
2799
|
-
var VERSION = true ? "5.0.
|
|
2846
|
+
var VERSION = true ? "5.0.88" : "0.0.0-test";
|
|
2800
2847
|
|
|
2801
2848
|
// src/amazon-bedrock-sigv4-fetch.ts
|
|
2802
2849
|
function createSigV4FetchFunction(getCredentials, fetch, service = "bedrock") {
|
|
@@ -2884,7 +2931,6 @@ function createApiKeyFetchFunction(apiKey, fetch) {
|
|
|
2884
2931
|
// src/reranking/amazon-bedrock-reranking-model.ts
|
|
2885
2932
|
import {
|
|
2886
2933
|
combineHeaders as combineHeaders5,
|
|
2887
|
-
createJsonErrorResponseHandler as createJsonErrorResponseHandler4,
|
|
2888
2934
|
createJsonResponseHandler as createJsonResponseHandler4,
|
|
2889
2935
|
parseProviderOptions as parseProviderOptions5,
|
|
2890
2936
|
postJsonToApi as postJsonToApi4,
|
|
@@ -2990,10 +3036,7 @@ var AmazonBedrockRerankingModel = class {
|
|
|
2990
3036
|
}
|
|
2991
3037
|
}))
|
|
2992
3038
|
},
|
|
2993
|
-
failedResponseHandler:
|
|
2994
|
-
errorSchema: AmazonBedrockErrorSchema,
|
|
2995
|
-
errorToMessage: (error) => `${error.type}: ${error.message}`
|
|
2996
|
-
}),
|
|
3039
|
+
failedResponseHandler: amazonBedrockFailedResponseHandler,
|
|
2997
3040
|
successfulResponseHandler: createJsonResponseHandler4(
|
|
2998
3041
|
amazonBedrockRerankingResponseSchema
|
|
2999
3042
|
),
|