ai 3.1.26 → 3.1.28

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
@@ -983,6 +983,7 @@ function parsePartialJson(jsonText) {
983
983
  }
984
984
 
985
985
  // core/generate-object/stream-object.ts
986
+ import { safeValidateTypes } from "@ai-sdk/provider-utils";
986
987
  async function streamObject({
987
988
  model,
988
989
  schema,
@@ -1106,17 +1107,25 @@ async function streamObject({
1106
1107
  return new StreamObjectResult({
1107
1108
  stream: result.stream.pipeThrough(new TransformStream(transformer)),
1108
1109
  warnings: result.warnings,
1109
- rawResponse: result.rawResponse
1110
+ rawResponse: result.rawResponse,
1111
+ schema
1110
1112
  });
1111
1113
  }
1112
1114
  var StreamObjectResult = class {
1113
1115
  constructor({
1114
1116
  stream,
1115
1117
  warnings,
1116
- rawResponse
1118
+ rawResponse,
1119
+ schema
1117
1120
  }) {
1118
1121
  this.warnings = warnings;
1119
1122
  this.rawResponse = rawResponse;
1123
+ let resolveObject;
1124
+ let rejectObject;
1125
+ this.object = new Promise((resolve, reject) => {
1126
+ resolveObject = resolve;
1127
+ rejectObject = reject;
1128
+ });
1120
1129
  let resolveUsage;
1121
1130
  this.usage = new Promise((resolve) => {
1122
1131
  resolveUsage = resolve;
@@ -1141,11 +1150,17 @@ var StreamObjectResult = class {
1141
1150
  switch (chunk.type) {
1142
1151
  case "finish": {
1143
1152
  usage = calculateTokenUsage(chunk.usage);
1144
- controller.enqueue({
1145
- ...chunk,
1146
- usage
1147
- });
1153
+ controller.enqueue({ ...chunk, usage });
1148
1154
  resolveUsage(usage);
1155
+ const validationResult = safeValidateTypes({
1156
+ value: latestObject,
1157
+ schema
1158
+ });
1159
+ if (validationResult.success) {
1160
+ resolveObject(validationResult.value);
1161
+ } else {
1162
+ rejectObject(validationResult.error);
1163
+ }
1149
1164
  break;
1150
1165
  }
1151
1166
  default: {