@ai-sdk/amazon-bedrock 4.0.161 → 4.0.163

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 CHANGED
@@ -1,5 +1,19 @@
1
1
  # @ai-sdk/amazon-bedrock
2
2
 
3
+ ## 4.0.163
4
+
5
+ ### Patch Changes
6
+
7
+ - 1eb654d: Preserve complete Amazon Bedrock Converse usage objects in raw usage metadata.
8
+
9
+ ## 4.0.162
10
+
11
+ ### Patch Changes
12
+
13
+ - 46e5f91: Send nested reasoning effort for CRIS-prefixed OpenAI GPT-5.x Converse requests while preserving the flat gpt-oss format.
14
+ - Updated dependencies [087d7e2]
15
+ - @ai-sdk/openai@3.0.102
16
+
3
17
  ## 4.0.161
4
18
 
5
19
  ### Patch Changes
@@ -35,7 +35,7 @@ var import_provider_utils = require("@ai-sdk/provider-utils");
35
35
  var import_aws4fetch = require("aws4fetch");
36
36
 
37
37
  // src/version.ts
38
- var VERSION = true ? "4.0.161" : "0.0.0-test";
38
+ var VERSION = true ? "4.0.163" : "0.0.0-test";
39
39
 
40
40
  // src/bedrock-sigv4-fetch.ts
41
41
  function createSigV4FetchFunction(getCredentials, fetch, service = "bedrock") {
@@ -24,7 +24,7 @@ import {
24
24
  import { AwsV4Signer } from "aws4fetch";
25
25
 
26
26
  // src/version.ts
27
- var VERSION = true ? "4.0.161" : "0.0.0-test";
27
+ var VERSION = true ? "4.0.163" : "0.0.0-test";
28
28
 
29
29
  // src/bedrock-sigv4-fetch.ts
30
30
  function createSigV4FetchFunction(getCredentials, fetch, service = "bedrock") {
package/dist/index.js CHANGED
@@ -904,7 +904,7 @@ var BedrockChatLanguageModel = class {
904
904
  toolChoice,
905
905
  providerOptions
906
906
  }) {
907
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
907
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
908
908
  const bedrockOptions = (_a = await (0, import_provider_utils4.parseProviderOptions)({
909
909
  provider: "bedrock",
910
910
  providerOptions,
@@ -952,7 +952,10 @@ var BedrockChatLanguageModel = class {
952
952
  });
953
953
  }
954
954
  const isAnthropicModel = this.modelId.includes("anthropic");
955
- const isThinkingEnabled = ((_b = bedrockOptions.reasoningConfig) == null ? void 0 : _b.type) === "enabled" || ((_c = bedrockOptions.reasoningConfig) == null ? void 0 : _c.type) === "adaptive";
955
+ const openAIModelId = (_b = /^(?:[^.]+\.)?(openai\..+)$/.exec(this.modelId)) == null ? void 0 : _b[1];
956
+ const isOpenAIModel = openAIModelId != null;
957
+ const isOpenAIGptOssModel = (_c = openAIModelId == null ? void 0 : openAIModelId.startsWith("openai.gpt-oss-")) != null ? _c : false;
958
+ const isThinkingEnabled = ((_d = bedrockOptions.reasoningConfig) == null ? void 0 : _d.type) === "enabled" || ((_e = bedrockOptions.reasoningConfig) == null ? void 0 : _e.type) === "adaptive";
956
959
  const { supportsStructuredOutput: modelSupportsStructuredOutput } = (0, import_internal2.getModelCapabilities)(this.modelId);
957
960
  const useNativeStructuredOutput = isAnthropicModel && supportsNativeStructuredOutput(this.modelId) && (modelSupportsStructuredOutput || isThinkingEnabled) && (responseFormat == null ? void 0 : responseFormat.type) === "json" && responseFormat.schema != null;
958
961
  const useJsonInstructionForStructuredOutput = isAnthropicModel && !supportsStrictTools(this.modelId) && (responseFormat == null ? void 0 : responseFormat.type) === "json" && responseFormat.schema != null && tools != null && tools.length > 0;
@@ -975,16 +978,16 @@ var BedrockChatLanguageModel = class {
975
978
  };
976
979
  }
977
980
  if (betas.size > 0 || bedrockOptions.anthropicBeta) {
978
- const existingBetas = (_d = bedrockOptions.anthropicBeta) != null ? _d : [];
981
+ const existingBetas = (_f = bedrockOptions.anthropicBeta) != null ? _f : [];
979
982
  const mergedBetas = betas.size > 0 ? [...existingBetas, ...Array.from(betas)] : existingBetas;
980
983
  bedrockOptions.additionalModelRequestFields = {
981
984
  ...bedrockOptions.additionalModelRequestFields,
982
985
  anthropic_beta: mergedBetas
983
986
  };
984
987
  }
985
- const thinkingType = (_e = bedrockOptions.reasoningConfig) == null ? void 0 : _e.type;
986
- const thinkingBudget = thinkingType === "enabled" ? (_f = bedrockOptions.reasoningConfig) == null ? void 0 : _f.budgetTokens : void 0;
987
- const thinkingDisplay = thinkingType === "adaptive" ? (_g = bedrockOptions.reasoningConfig) == null ? void 0 : _g.display : void 0;
988
+ const thinkingType = (_g = bedrockOptions.reasoningConfig) == null ? void 0 : _g.type;
989
+ const thinkingBudget = thinkingType === "enabled" ? (_h = bedrockOptions.reasoningConfig) == null ? void 0 : _h.budgetTokens : void 0;
990
+ const thinkingDisplay = thinkingType === "adaptive" ? (_i = bedrockOptions.reasoningConfig) == null ? void 0 : _i.display : void 0;
988
991
  const isAnthropicThinkingEnabled = isAnthropicModel && isThinkingEnabled;
989
992
  const inferenceConfig = {
990
993
  ...maxOutputTokens != null && { maxTokens: maxOutputTokens },
@@ -1017,7 +1020,7 @@ var BedrockChatLanguageModel = class {
1017
1020
  };
1018
1021
  }
1019
1022
  } else if (!isAnthropicModel) {
1020
- if (((_h = bedrockOptions.reasoningConfig) == null ? void 0 : _h.budgetTokens) != null) {
1023
+ if (((_j = bedrockOptions.reasoningConfig) == null ? void 0 : _j.budgetTokens) != null) {
1021
1024
  warnings.push({
1022
1025
  type: "unsupported",
1023
1026
  feature: "budgetTokens",
@@ -1032,21 +1035,26 @@ var BedrockChatLanguageModel = class {
1032
1035
  });
1033
1036
  }
1034
1037
  }
1035
- const maxReasoningEffort = (_i = bedrockOptions.reasoningConfig) == null ? void 0 : _i.maxReasoningEffort;
1036
- const isOpenAIModel = this.modelId.startsWith("openai.");
1038
+ const maxReasoningEffort = (_k = bedrockOptions.reasoningConfig) == null ? void 0 : _k.maxReasoningEffort;
1037
1039
  if (maxReasoningEffort != null) {
1038
1040
  if (isAnthropicModel) {
1039
1041
  bedrockOptions.additionalModelRequestFields = {
1040
1042
  ...bedrockOptions.additionalModelRequestFields,
1041
1043
  output_config: {
1042
- ...(_j = bedrockOptions.additionalModelRequestFields) == null ? void 0 : _j.output_config,
1044
+ ...(_l = bedrockOptions.additionalModelRequestFields) == null ? void 0 : _l.output_config,
1043
1045
  effort: maxReasoningEffort
1044
1046
  }
1045
1047
  };
1046
1048
  } else if (isOpenAIModel) {
1047
- bedrockOptions.additionalModelRequestFields = {
1049
+ bedrockOptions.additionalModelRequestFields = isOpenAIGptOssModel ? {
1048
1050
  ...bedrockOptions.additionalModelRequestFields,
1049
1051
  reasoning_effort: maxReasoningEffort
1052
+ } : {
1053
+ ...bedrockOptions.additionalModelRequestFields,
1054
+ reasoning: {
1055
+ ...(_m = bedrockOptions.additionalModelRequestFields) == null ? void 0 : _m.reasoning,
1056
+ effort: maxReasoningEffort
1057
+ }
1050
1058
  };
1051
1059
  } else {
1052
1060
  bedrockOptions.additionalModelRequestFields = {
@@ -1063,7 +1071,7 @@ var BedrockChatLanguageModel = class {
1063
1071
  bedrockOptions.additionalModelRequestFields = {
1064
1072
  ...bedrockOptions.additionalModelRequestFields,
1065
1073
  output_config: {
1066
- ...(_k = bedrockOptions.additionalModelRequestFields) == null ? void 0 : _k.output_config,
1074
+ ...(_n = bedrockOptions.additionalModelRequestFields) == null ? void 0 : _n.output_config,
1067
1075
  format: {
1068
1076
  type: "json_schema",
1069
1077
  schema: (0, import_internal2.sanitizeJsonSchema)(responseFormat.schema)
@@ -1095,7 +1103,7 @@ var BedrockChatLanguageModel = class {
1095
1103
  details: "topK is not supported when thinking is enabled"
1096
1104
  });
1097
1105
  }
1098
- const hasAnyTools = ((_m = (_l = toolConfig.tools) == null ? void 0 : _l.length) != null ? _m : 0) > 0 || additionalTools;
1106
+ const hasAnyTools = ((_p = (_o = toolConfig.tools) == null ? void 0 : _o.length) != null ? _p : 0) > 0 || additionalTools;
1099
1107
  let filteredPrompt = prompt;
1100
1108
  if (!hasAnyTools) {
1101
1109
  const hasToolContent = prompt.some(
@@ -1725,6 +1733,10 @@ var BedrockReasoningTextSchema = import_v44.z.object({
1725
1733
  var BedrockRedactedReasoningSchema = import_v44.z.object({
1726
1734
  data: import_v44.z.string()
1727
1735
  });
1736
+ var AmazonBedrockCacheDetailSchema = import_v44.z.object({
1737
+ inputTokens: import_v44.z.number(),
1738
+ ttl: import_v44.z.string()
1739
+ }).catchall(import_v44.z.json());
1728
1740
  var BedrockResponseSchema = import_v44.z.object({
1729
1741
  metrics: import_v44.z.object({
1730
1742
  latencyMs: import_v44.z.number()
@@ -1766,8 +1778,8 @@ var BedrockResponseSchema = import_v44.z.object({
1766
1778
  totalTokens: import_v44.z.number(),
1767
1779
  cacheReadInputTokens: import_v44.z.number().nullish(),
1768
1780
  cacheWriteInputTokens: import_v44.z.number().nullish(),
1769
- cacheDetails: import_v44.z.array(import_v44.z.object({ inputTokens: import_v44.z.number(), ttl: import_v44.z.string() })).nullish()
1770
- })
1781
+ cacheDetails: import_v44.z.array(AmazonBedrockCacheDetailSchema).nullish()
1782
+ }).catchall(import_v44.z.json())
1771
1783
  });
1772
1784
  var BedrockStreamSchema = import_v44.z.object({
1773
1785
  contentBlockDelta: import_v44.z.object({
@@ -1815,10 +1827,11 @@ var BedrockStreamSchema = import_v44.z.object({
1815
1827
  usage: import_v44.z.object({
1816
1828
  cacheReadInputTokens: import_v44.z.number().nullish(),
1817
1829
  cacheWriteInputTokens: import_v44.z.number().nullish(),
1818
- cacheDetails: import_v44.z.array(import_v44.z.object({ inputTokens: import_v44.z.number(), ttl: import_v44.z.string() })).nullish(),
1830
+ cacheDetails: import_v44.z.array(AmazonBedrockCacheDetailSchema).nullish(),
1819
1831
  inputTokens: import_v44.z.number(),
1820
- outputTokens: import_v44.z.number()
1821
- }).nullish()
1832
+ outputTokens: import_v44.z.number(),
1833
+ totalTokens: import_v44.z.number().optional()
1834
+ }).catchall(import_v44.z.json()).nullish()
1822
1835
  }).nullish(),
1823
1836
  modelStreamErrorException: import_v44.z.record(import_v44.z.string(), import_v44.z.unknown()).nullish(),
1824
1837
  serviceUnavailableException: import_v44.z.record(import_v44.z.string(), import_v44.z.unknown()).nullish(),
@@ -2230,7 +2243,7 @@ var import_provider_utils7 = require("@ai-sdk/provider-utils");
2230
2243
  var import_aws4fetch = require("aws4fetch");
2231
2244
 
2232
2245
  // src/version.ts
2233
- var VERSION = true ? "4.0.161" : "0.0.0-test";
2246
+ var VERSION = true ? "4.0.163" : "0.0.0-test";
2234
2247
 
2235
2248
  // src/bedrock-sigv4-fetch.ts
2236
2249
  function createSigV4FetchFunction(getCredentials, fetch, service = "bedrock") {