@ai-sdk/amazon-bedrock 4.0.0-beta.104 → 4.0.0-beta.106

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,24 @@
1
1
  # @ai-sdk/amazon-bedrock
2
2
 
3
+ ## 4.0.0-beta.106
4
+
5
+ ### Patch Changes
6
+
7
+ - cbf52cd: feat: expose raw finish reason
8
+ - Updated dependencies [cbf52cd]
9
+ - @ai-sdk/anthropic@3.0.0-beta.95
10
+ - @ai-sdk/provider@3.0.0-beta.30
11
+ - @ai-sdk/provider-utils@4.0.0-beta.57
12
+
13
+ ## 4.0.0-beta.105
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies [9549c9e]
18
+ - @ai-sdk/provider@3.0.0-beta.29
19
+ - @ai-sdk/anthropic@3.0.0-beta.94
20
+ - @ai-sdk/provider-utils@4.0.0-beta.56
21
+
3
22
  ## 4.0.0-beta.104
4
23
 
5
24
  ### Patch Changes
package/dist/index.js CHANGED
@@ -107,45 +107,6 @@ var BedrockErrorSchema = import_v42.z.object({
107
107
  type: import_v42.z.string().nullish()
108
108
  });
109
109
 
110
- // src/convert-bedrock-usage.ts
111
- function convertBedrockUsage(usage) {
112
- var _a, _b;
113
- if (usage == null) {
114
- return {
115
- inputTokens: {
116
- total: void 0,
117
- noCache: void 0,
118
- cacheRead: void 0,
119
- cacheWrite: void 0
120
- },
121
- outputTokens: {
122
- total: void 0,
123
- text: void 0,
124
- reasoning: void 0
125
- },
126
- raw: void 0
127
- };
128
- }
129
- const inputTokens = usage.inputTokens;
130
- const outputTokens = usage.outputTokens;
131
- const cacheReadTokens = (_a = usage.cacheReadInputTokens) != null ? _a : 0;
132
- const cacheWriteTokens = (_b = usage.cacheWriteInputTokens) != null ? _b : 0;
133
- return {
134
- inputTokens: {
135
- total: inputTokens,
136
- noCache: inputTokens - cacheReadTokens,
137
- cacheRead: cacheReadTokens,
138
- cacheWrite: cacheWriteTokens
139
- },
140
- outputTokens: {
141
- total: outputTokens,
142
- text: outputTokens,
143
- reasoning: void 0
144
- },
145
- raw: usage
146
- };
147
- }
148
-
149
110
  // src/bedrock-event-stream-response-handler.ts
150
111
  var import_provider = require("@ai-sdk/provider");
151
112
  var import_provider_utils = require("@ai-sdk/provider-utils");
@@ -355,6 +316,45 @@ async function prepareTools({
355
316
  };
356
317
  }
357
318
 
319
+ // src/convert-bedrock-usage.ts
320
+ function convertBedrockUsage(usage) {
321
+ var _a, _b;
322
+ if (usage == null) {
323
+ return {
324
+ inputTokens: {
325
+ total: void 0,
326
+ noCache: void 0,
327
+ cacheRead: void 0,
328
+ cacheWrite: void 0
329
+ },
330
+ outputTokens: {
331
+ total: void 0,
332
+ text: void 0,
333
+ reasoning: void 0
334
+ },
335
+ raw: void 0
336
+ };
337
+ }
338
+ const inputTokens = usage.inputTokens;
339
+ const outputTokens = usage.outputTokens;
340
+ const cacheReadTokens = (_a = usage.cacheReadInputTokens) != null ? _a : 0;
341
+ const cacheWriteTokens = (_b = usage.cacheWriteInputTokens) != null ? _b : 0;
342
+ return {
343
+ inputTokens: {
344
+ total: inputTokens,
345
+ noCache: inputTokens - cacheReadTokens,
346
+ cacheRead: cacheReadTokens,
347
+ cacheWrite: cacheWriteTokens
348
+ },
349
+ outputTokens: {
350
+ total: outputTokens,
351
+ text: outputTokens,
352
+ reasoning: void 0
353
+ },
354
+ raw: usage
355
+ };
356
+ }
357
+
358
358
  // src/convert-to-bedrock-chat-messages.ts
359
359
  var import_provider3 = require("@ai-sdk/provider");
360
360
  var import_provider_utils3 = require("@ai-sdk/provider-utils");
@@ -706,7 +706,7 @@ function mapBedrockFinishReason(finishReason, isJsonResponseFromTool) {
706
706
  case "tool_use":
707
707
  return isJsonResponseFromTool ? "stop" : "tool-calls";
708
708
  default:
709
- return "unknown";
709
+ return "other";
710
710
  }
711
711
  }
712
712
 
@@ -937,7 +937,7 @@ var BedrockChatLanguageModel = class {
937
937
  return (0, import_provider_utils4.combineHeaders)(await (0, import_provider_utils4.resolve)(this.config.headers), headers);
938
938
  }
939
939
  async doGenerate(options) {
940
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
940
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
941
941
  const {
942
942
  command: args,
943
943
  warnings,
@@ -1026,10 +1026,13 @@ var BedrockChatLanguageModel = class {
1026
1026
  } : void 0;
1027
1027
  return {
1028
1028
  content,
1029
- finishReason: mapBedrockFinishReason(
1030
- response.stopReason,
1031
- isJsonResponseFromTool
1032
- ),
1029
+ finishReason: {
1030
+ unified: mapBedrockFinishReason(
1031
+ response.stopReason,
1032
+ isJsonResponseFromTool
1033
+ ),
1034
+ raw: (_k = response.stopReason) != null ? _k : void 0
1035
+ },
1033
1036
  usage: convertBedrockUsage(response.usage),
1034
1037
  response: {
1035
1038
  // TODO add id, timestamp, etc
@@ -1058,7 +1061,10 @@ var BedrockChatLanguageModel = class {
1058
1061
  abortSignal: options.abortSignal,
1059
1062
  fetch: this.config.fetch
1060
1063
  });
1061
- let finishReason = "unknown";
1064
+ let finishReason = {
1065
+ unified: "other",
1066
+ raw: void 0
1067
+ };
1062
1068
  let usage = void 0;
1063
1069
  let providerMetadata = void 0;
1064
1070
  let isJsonResponseFromTool = false;
@@ -1071,9 +1077,9 @@ var BedrockChatLanguageModel = class {
1071
1077
  controller.enqueue({ type: "stream-start", warnings });
1072
1078
  },
1073
1079
  transform(chunk, controller) {
1074
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
1080
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
1075
1081
  function enqueueError(bedrockError) {
1076
- finishReason = "error";
1082
+ finishReason = { unified: "error", raw: void 0 };
1077
1083
  controller.enqueue({ type: "error", error: bedrockError });
1078
1084
  }
1079
1085
  if (options.includeRawChunks) {
@@ -1101,17 +1107,20 @@ var BedrockChatLanguageModel = class {
1101
1107
  return;
1102
1108
  }
1103
1109
  if (value.messageStop) {
1104
- finishReason = mapBedrockFinishReason(
1105
- value.messageStop.stopReason,
1106
- isJsonResponseFromTool
1107
- );
1108
- stopSequence = (_b = (_a = value.messageStop.additionalModelResponseFields) == null ? void 0 : _a.stop_sequence) != null ? _b : null;
1110
+ finishReason = {
1111
+ unified: mapBedrockFinishReason(
1112
+ value.messageStop.stopReason,
1113
+ isJsonResponseFromTool
1114
+ ),
1115
+ raw: (_a = value.messageStop.stopReason) != null ? _a : void 0
1116
+ };
1117
+ stopSequence = (_c = (_b = value.messageStop.additionalModelResponseFields) == null ? void 0 : _b.stop_sequence) != null ? _c : null;
1109
1118
  }
1110
1119
  if (value.metadata) {
1111
1120
  if (value.metadata.usage) {
1112
1121
  usage = value.metadata.usage;
1113
1122
  }
1114
- const cacheUsage = ((_c = value.metadata.usage) == null ? void 0 : _c.cacheWriteInputTokens) != null ? {
1123
+ const cacheUsage = ((_d = value.metadata.usage) == null ? void 0 : _d.cacheWriteInputTokens) != null ? {
1115
1124
  usage: {
1116
1125
  cacheWriteInputTokens: value.metadata.usage.cacheWriteInputTokens
1117
1126
  }
@@ -1128,7 +1137,7 @@ var BedrockChatLanguageModel = class {
1128
1137
  };
1129
1138
  }
1130
1139
  }
1131
- if (((_d = value.contentBlockStart) == null ? void 0 : _d.contentBlockIndex) != null && !((_f = (_e = value.contentBlockStart) == null ? void 0 : _e.start) == null ? void 0 : _f.toolUse)) {
1140
+ if (((_e = value.contentBlockStart) == null ? void 0 : _e.contentBlockIndex) != null && !((_g = (_f = value.contentBlockStart) == null ? void 0 : _f.start) == null ? void 0 : _g.toolUse)) {
1132
1141
  const blockIndex = value.contentBlockStart.contentBlockIndex;
1133
1142
  contentBlocks[blockIndex] = { type: "text" };
1134
1143
  controller.enqueue({
@@ -1136,7 +1145,7 @@ var BedrockChatLanguageModel = class {
1136
1145
  id: String(blockIndex)
1137
1146
  });
1138
1147
  }
1139
- if (((_g = value.contentBlockDelta) == null ? void 0 : _g.delta) && "text" in value.contentBlockDelta.delta && value.contentBlockDelta.delta.text) {
1148
+ if (((_h = value.contentBlockDelta) == null ? void 0 : _h.delta) && "text" in value.contentBlockDelta.delta && value.contentBlockDelta.delta.text) {
1140
1149
  const blockIndex = value.contentBlockDelta.contentBlockIndex || 0;
1141
1150
  if (contentBlocks[blockIndex] == null) {
1142
1151
  contentBlocks[blockIndex] = { type: "text" };
@@ -1151,7 +1160,7 @@ var BedrockChatLanguageModel = class {
1151
1160
  delta: value.contentBlockDelta.delta.text
1152
1161
  });
1153
1162
  }
1154
- if (((_h = value.contentBlockStop) == null ? void 0 : _h.contentBlockIndex) != null) {
1163
+ if (((_i = value.contentBlockStop) == null ? void 0 : _i.contentBlockIndex) != null) {
1155
1164
  const blockIndex = value.contentBlockStop.contentBlockIndex;
1156
1165
  const contentBlock = contentBlocks[blockIndex];
1157
1166
  if (contentBlock != null) {
@@ -1197,7 +1206,7 @@ var BedrockChatLanguageModel = class {
1197
1206
  delete contentBlocks[blockIndex];
1198
1207
  }
1199
1208
  }
1200
- if (((_i = value.contentBlockDelta) == null ? void 0 : _i.delta) && "reasoningContent" in value.contentBlockDelta.delta && value.contentBlockDelta.delta.reasoningContent) {
1209
+ if (((_j = value.contentBlockDelta) == null ? void 0 : _j.delta) && "reasoningContent" in value.contentBlockDelta.delta && value.contentBlockDelta.delta.reasoningContent) {
1201
1210
  const blockIndex = value.contentBlockDelta.contentBlockIndex || 0;
1202
1211
  const reasoningContent = value.contentBlockDelta.delta.reasoningContent;
1203
1212
  if ("text" in reasoningContent && reasoningContent.text) {
@@ -1238,7 +1247,7 @@ var BedrockChatLanguageModel = class {
1238
1247
  }
1239
1248
  }
1240
1249
  const contentBlockStart = value.contentBlockStart;
1241
- if (((_j = contentBlockStart == null ? void 0 : contentBlockStart.start) == null ? void 0 : _j.toolUse) != null) {
1250
+ if (((_k = contentBlockStart == null ? void 0 : contentBlockStart.start) == null ? void 0 : _k.toolUse) != null) {
1242
1251
  const toolUse = contentBlockStart.start.toolUse;
1243
1252
  const blockIndex = contentBlockStart.contentBlockIndex;
1244
1253
  const isJsonResponseTool = usesJsonResponseTool && toolUse.name === "json";
@@ -1262,7 +1271,7 @@ var BedrockChatLanguageModel = class {
1262
1271
  const blockIndex = contentBlockDelta.contentBlockIndex;
1263
1272
  const contentBlock = contentBlocks[blockIndex];
1264
1273
  if ((contentBlock == null ? void 0 : contentBlock.type) === "tool-call") {
1265
- const delta = (_k = contentBlockDelta.delta.toolUse.input) != null ? _k : "";
1274
+ const delta = (_l = contentBlockDelta.delta.toolUse.input) != null ? _l : "";
1266
1275
  if (!contentBlock.isJsonResponseTool) {
1267
1276
  controller.enqueue({
1268
1277
  type: "tool-input-delta",
@@ -1717,7 +1726,7 @@ var import_provider_utils7 = require("@ai-sdk/provider-utils");
1717
1726
  var import_aws4fetch = require("aws4fetch");
1718
1727
 
1719
1728
  // src/version.ts
1720
- var VERSION = true ? "4.0.0-beta.104" : "0.0.0-test";
1729
+ var VERSION = true ? "4.0.0-beta.106" : "0.0.0-test";
1721
1730
 
1722
1731
  // src/bedrock-sigv4-fetch.ts
1723
1732
  function createSigV4FetchFunction(getCredentials, fetch = globalThis.fetch) {