@ai-sdk/amazon-bedrock 4.0.0-beta.88 → 4.0.0-beta.89

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/dist/index.mjs CHANGED
@@ -92,6 +92,45 @@ var BedrockErrorSchema = z2.object({
92
92
  type: z2.string().nullish()
93
93
  });
94
94
 
95
+ // src/convert-bedrock-usage.ts
96
+ function convertBedrockUsage(usage) {
97
+ var _a, _b;
98
+ if (usage == null) {
99
+ return {
100
+ inputTokens: {
101
+ total: void 0,
102
+ noCache: void 0,
103
+ cacheRead: void 0,
104
+ cacheWrite: void 0
105
+ },
106
+ outputTokens: {
107
+ total: void 0,
108
+ text: void 0,
109
+ reasoning: void 0
110
+ },
111
+ raw: void 0
112
+ };
113
+ }
114
+ const inputTokens = usage.inputTokens;
115
+ const outputTokens = usage.outputTokens;
116
+ const cacheReadTokens = (_a = usage.cacheReadInputTokens) != null ? _a : 0;
117
+ const cacheWriteTokens = (_b = usage.cacheWriteInputTokens) != null ? _b : 0;
118
+ return {
119
+ inputTokens: {
120
+ total: inputTokens,
121
+ noCache: inputTokens - cacheReadTokens,
122
+ cacheRead: cacheReadTokens,
123
+ cacheWrite: cacheWriteTokens
124
+ },
125
+ outputTokens: {
126
+ total: outputTokens,
127
+ text: outputTokens,
128
+ reasoning: void 0
129
+ },
130
+ raw: usage
131
+ };
132
+ }
133
+
95
134
  // src/bedrock-event-stream-response-handler.ts
96
135
  import { EmptyResponseBodyError } from "@ai-sdk/provider";
97
136
  import {
@@ -893,7 +932,7 @@ var BedrockChatLanguageModel = class {
893
932
  return combineHeaders(await resolve(this.config.headers), headers);
894
933
  }
895
934
  async doGenerate(options) {
896
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
935
+ var _a, _b, _c, _d, _e, _f, _g, _h;
897
936
  const {
898
937
  command: args,
899
938
  warnings,
@@ -984,12 +1023,7 @@ var BedrockChatLanguageModel = class {
984
1023
  response.stopReason,
985
1024
  isJsonResponseFromTool
986
1025
  ),
987
- usage: {
988
- inputTokens: (_i = response.usage) == null ? void 0 : _i.inputTokens,
989
- outputTokens: (_j = response.usage) == null ? void 0 : _j.outputTokens,
990
- totalTokens: ((_k = response.usage) == null ? void 0 : _k.inputTokens) + ((_l = response.usage) == null ? void 0 : _l.outputTokens),
991
- cachedInputTokens: (_n = (_m = response.usage) == null ? void 0 : _m.cacheReadInputTokens) != null ? _n : void 0
992
- },
1026
+ usage: convertBedrockUsage(response.usage),
993
1027
  response: {
994
1028
  // TODO add id, timestamp, etc
995
1029
  headers: responseHeaders
@@ -1018,11 +1052,7 @@ var BedrockChatLanguageModel = class {
1018
1052
  fetch: this.config.fetch
1019
1053
  });
1020
1054
  let finishReason = "unknown";
1021
- const usage = {
1022
- inputTokens: void 0,
1023
- outputTokens: void 0,
1024
- totalTokens: void 0
1025
- };
1055
+ let usage = void 0;
1026
1056
  let providerMetadata = void 0;
1027
1057
  let isJsonResponseFromTool = false;
1028
1058
  const contentBlocks = {};
@@ -1033,7 +1063,7 @@ var BedrockChatLanguageModel = class {
1033
1063
  controller.enqueue({ type: "stream-start", warnings });
1034
1064
  },
1035
1065
  transform(chunk, controller) {
1036
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
1066
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
1037
1067
  function enqueueError(bedrockError) {
1038
1068
  finishReason = "error";
1039
1069
  controller.enqueue({ type: "error", error: bedrockError });
@@ -1069,11 +1099,10 @@ var BedrockChatLanguageModel = class {
1069
1099
  );
1070
1100
  }
1071
1101
  if (value.metadata) {
1072
- usage.inputTokens = (_b = (_a = value.metadata.usage) == null ? void 0 : _a.inputTokens) != null ? _b : usage.inputTokens;
1073
- usage.outputTokens = (_d = (_c = value.metadata.usage) == null ? void 0 : _c.outputTokens) != null ? _d : usage.outputTokens;
1074
- usage.totalTokens = ((_e = usage.inputTokens) != null ? _e : 0) + ((_f = usage.outputTokens) != null ? _f : 0);
1075
- usage.cachedInputTokens = (_h = (_g = value.metadata.usage) == null ? void 0 : _g.cacheReadInputTokens) != null ? _h : usage.cachedInputTokens;
1076
- const cacheUsage = ((_i = value.metadata.usage) == null ? void 0 : _i.cacheWriteInputTokens) != null ? {
1102
+ if (value.metadata.usage) {
1103
+ usage = value.metadata.usage;
1104
+ }
1105
+ const cacheUsage = ((_a = value.metadata.usage) == null ? void 0 : _a.cacheWriteInputTokens) != null ? {
1077
1106
  usage: {
1078
1107
  cacheWriteInputTokens: value.metadata.usage.cacheWriteInputTokens
1079
1108
  }
@@ -1090,7 +1119,7 @@ var BedrockChatLanguageModel = class {
1090
1119
  };
1091
1120
  }
1092
1121
  }
1093
- if (((_j = value.contentBlockStart) == null ? void 0 : _j.contentBlockIndex) != null && !((_l = (_k = value.contentBlockStart) == null ? void 0 : _k.start) == null ? void 0 : _l.toolUse)) {
1122
+ if (((_b = value.contentBlockStart) == null ? void 0 : _b.contentBlockIndex) != null && !((_d = (_c = value.contentBlockStart) == null ? void 0 : _c.start) == null ? void 0 : _d.toolUse)) {
1094
1123
  const blockIndex = value.contentBlockStart.contentBlockIndex;
1095
1124
  contentBlocks[blockIndex] = { type: "text" };
1096
1125
  controller.enqueue({
@@ -1098,7 +1127,7 @@ var BedrockChatLanguageModel = class {
1098
1127
  id: String(blockIndex)
1099
1128
  });
1100
1129
  }
1101
- if (((_m = value.contentBlockDelta) == null ? void 0 : _m.delta) && "text" in value.contentBlockDelta.delta && value.contentBlockDelta.delta.text) {
1130
+ if (((_e = value.contentBlockDelta) == null ? void 0 : _e.delta) && "text" in value.contentBlockDelta.delta && value.contentBlockDelta.delta.text) {
1102
1131
  const blockIndex = value.contentBlockDelta.contentBlockIndex || 0;
1103
1132
  if (contentBlocks[blockIndex] == null) {
1104
1133
  contentBlocks[blockIndex] = { type: "text" };
@@ -1113,7 +1142,7 @@ var BedrockChatLanguageModel = class {
1113
1142
  delta: value.contentBlockDelta.delta.text
1114
1143
  });
1115
1144
  }
1116
- if (((_n = value.contentBlockStop) == null ? void 0 : _n.contentBlockIndex) != null) {
1145
+ if (((_f = value.contentBlockStop) == null ? void 0 : _f.contentBlockIndex) != null) {
1117
1146
  const blockIndex = value.contentBlockStop.contentBlockIndex;
1118
1147
  const contentBlock = contentBlocks[blockIndex];
1119
1148
  if (contentBlock != null) {
@@ -1159,7 +1188,7 @@ var BedrockChatLanguageModel = class {
1159
1188
  delete contentBlocks[blockIndex];
1160
1189
  }
1161
1190
  }
1162
- if (((_o = value.contentBlockDelta) == null ? void 0 : _o.delta) && "reasoningContent" in value.contentBlockDelta.delta && value.contentBlockDelta.delta.reasoningContent) {
1191
+ if (((_g = value.contentBlockDelta) == null ? void 0 : _g.delta) && "reasoningContent" in value.contentBlockDelta.delta && value.contentBlockDelta.delta.reasoningContent) {
1163
1192
  const blockIndex = value.contentBlockDelta.contentBlockIndex || 0;
1164
1193
  const reasoningContent = value.contentBlockDelta.delta.reasoningContent;
1165
1194
  if ("text" in reasoningContent && reasoningContent.text) {
@@ -1200,7 +1229,7 @@ var BedrockChatLanguageModel = class {
1200
1229
  }
1201
1230
  }
1202
1231
  const contentBlockStart = value.contentBlockStart;
1203
- if (((_p = contentBlockStart == null ? void 0 : contentBlockStart.start) == null ? void 0 : _p.toolUse) != null) {
1232
+ if (((_h = contentBlockStart == null ? void 0 : contentBlockStart.start) == null ? void 0 : _h.toolUse) != null) {
1204
1233
  const toolUse = contentBlockStart.start.toolUse;
1205
1234
  const blockIndex = contentBlockStart.contentBlockIndex;
1206
1235
  const isJsonResponseTool = usesJsonResponseTool && toolUse.name === "json";
@@ -1224,7 +1253,7 @@ var BedrockChatLanguageModel = class {
1224
1253
  const blockIndex = contentBlockDelta.contentBlockIndex;
1225
1254
  const contentBlock = contentBlocks[blockIndex];
1226
1255
  if ((contentBlock == null ? void 0 : contentBlock.type) === "tool-call") {
1227
- const delta = (_q = contentBlockDelta.delta.toolUse.input) != null ? _q : "";
1256
+ const delta = (_i = contentBlockDelta.delta.toolUse.input) != null ? _i : "";
1228
1257
  if (!contentBlock.isJsonResponseTool) {
1229
1258
  controller.enqueue({
1230
1259
  type: "tool-input-delta",
@@ -1254,7 +1283,7 @@ var BedrockChatLanguageModel = class {
1254
1283
  controller.enqueue({
1255
1284
  type: "finish",
1256
1285
  finishReason,
1257
- usage,
1286
+ usage: convertBedrockUsage(usage),
1258
1287
  ...providerMetadata && { providerMetadata }
1259
1288
  });
1260
1289
  }
@@ -1579,7 +1608,7 @@ import {
1579
1608
  import { AwsV4Signer } from "aws4fetch";
1580
1609
 
1581
1610
  // src/version.ts
1582
- var VERSION = true ? "4.0.0-beta.88" : "0.0.0-test";
1611
+ var VERSION = true ? "4.0.0-beta.89" : "0.0.0-test";
1583
1612
 
1584
1613
  // src/bedrock-sigv4-fetch.ts
1585
1614
  function createSigV4FetchFunction(getCredentials, fetch = globalThis.fetch) {