ai 3.1.28 → 3.1.29

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
@@ -993,6 +993,7 @@ async function streamObject({
993
993
  messages,
994
994
  maxRetries,
995
995
  abortSignal,
996
+ onFinish,
996
997
  ...settings
997
998
  }) {
998
999
  const retry = retryWithExponentialBackoff({ maxRetries });
@@ -1108,7 +1109,8 @@ async function streamObject({
1108
1109
  stream: result.stream.pipeThrough(new TransformStream(transformer)),
1109
1110
  warnings: result.warnings,
1110
1111
  rawResponse: result.rawResponse,
1111
- schema
1112
+ schema,
1113
+ onFinish
1112
1114
  });
1113
1115
  }
1114
1116
  var StreamObjectResult = class {
@@ -1116,7 +1118,8 @@ var StreamObjectResult = class {
1116
1118
  stream,
1117
1119
  warnings,
1118
1120
  rawResponse,
1119
- schema
1121
+ schema,
1122
+ onFinish
1120
1123
  }) {
1121
1124
  this.warnings = warnings;
1122
1125
  this.rawResponse = rawResponse;
@@ -1131,6 +1134,8 @@ var StreamObjectResult = class {
1131
1134
  resolveUsage = resolve;
1132
1135
  });
1133
1136
  let usage;
1137
+ let object;
1138
+ let error;
1134
1139
  let accumulatedText = "";
1135
1140
  let latestObject = void 0;
1136
1141
  this.originalStream = stream.pipeThrough(
@@ -1157,9 +1162,11 @@ var StreamObjectResult = class {
1157
1162
  schema
1158
1163
  });
1159
1164
  if (validationResult.success) {
1160
- resolveObject(validationResult.value);
1165
+ object = validationResult.value;
1166
+ resolveObject(object);
1161
1167
  } else {
1162
- rejectObject(validationResult.error);
1168
+ error = validationResult.error;
1169
+ rejectObject(error);
1163
1170
  }
1164
1171
  break;
1165
1172
  }
@@ -1168,6 +1175,24 @@ var StreamObjectResult = class {
1168
1175
  break;
1169
1176
  }
1170
1177
  }
1178
+ },
1179
+ // invoke onFinish callback and resolve toolResults promise when the stream is about to close:
1180
+ async flush(controller) {
1181
+ try {
1182
+ await (onFinish == null ? void 0 : onFinish({
1183
+ usage: usage != null ? usage : {
1184
+ promptTokens: NaN,
1185
+ completionTokens: NaN,
1186
+ totalTokens: NaN
1187
+ },
1188
+ object,
1189
+ error,
1190
+ rawResponse,
1191
+ warnings
1192
+ }));
1193
+ } catch (error2) {
1194
+ controller.error(error2);
1195
+ }
1171
1196
  }
1172
1197
  })
1173
1198
  );