ai 2.2.31 → 2.2.32

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
@@ -114,6 +114,16 @@ var toolCallStreamPart = {
114
114
  };
115
115
  }
116
116
  };
117
+ var messageAnnotationsStreamPart = {
118
+ code: "8",
119
+ name: "message_annotations",
120
+ parse: (value) => {
121
+ if (!Array.isArray(value)) {
122
+ throw new Error('"message_annotations" parts expect an array value.');
123
+ }
124
+ return { type: "message_annotations", value };
125
+ }
126
+ };
117
127
  var streamParts = [
118
128
  textStreamPart,
119
129
  functionCallStreamPart,
@@ -122,7 +132,8 @@ var streamParts = [
122
132
  assistantMessageStreamPart,
123
133
  assistantControlDataStreamPart,
124
134
  dataMessageStreamPart,
125
- toolCallStreamPart
135
+ toolCallStreamPart,
136
+ messageAnnotationsStreamPart
126
137
  ];
127
138
  var streamPartsByCode = {
128
139
  [textStreamPart.code]: textStreamPart,
@@ -132,7 +143,8 @@ var streamPartsByCode = {
132
143
  [assistantMessageStreamPart.code]: assistantMessageStreamPart,
133
144
  [assistantControlDataStreamPart.code]: assistantControlDataStreamPart,
134
145
  [dataMessageStreamPart.code]: dataMessageStreamPart,
135
- [toolCallStreamPart.code]: toolCallStreamPart
146
+ [toolCallStreamPart.code]: toolCallStreamPart,
147
+ [messageAnnotationsStreamPart.code]: messageAnnotationsStreamPart
136
148
  };
137
149
  var StreamStringPrefixes = {
138
150
  [textStreamPart.name]: textStreamPart.code,
@@ -142,7 +154,8 @@ var StreamStringPrefixes = {
142
154
  [assistantMessageStreamPart.name]: assistantMessageStreamPart.code,
143
155
  [assistantControlDataStreamPart.name]: assistantControlDataStreamPart.code,
144
156
  [dataMessageStreamPart.name]: dataMessageStreamPart.code,
145
- [toolCallStreamPart.name]: toolCallStreamPart.code
157
+ [toolCallStreamPart.name]: toolCallStreamPart.code,
158
+ [messageAnnotationsStreamPart.name]: messageAnnotationsStreamPart.code
146
159
  };
147
160
  var validCodes = streamParts.map((part) => part.code);
148
161
  var parseStreamPart = (line) => {
@@ -208,7 +221,9 @@ function createEventStreamTransformer(customParser) {
208
221
  return;
209
222
  }
210
223
  if ("data" in event) {
211
- const parsedMessage = customParser ? customParser(event.data) : event.data;
224
+ const parsedMessage = customParser ? customParser(event.data, {
225
+ event: event.event
226
+ }) : event.data;
212
227
  if (parsedMessage)
213
228
  controller.enqueue(parsedMessage);
214
229
  }
@@ -320,6 +335,7 @@ var experimental_StreamData = class {
320
335
  this.isClosed = false;
321
336
  // array to store appended data
322
337
  this.data = [];
338
+ this.messageAnnotations = [];
323
339
  this.isClosedPromise = new Promise((resolve) => {
324
340
  this.isClosedPromiseResolver = resolve;
325
341
  });
@@ -336,6 +352,12 @@ var experimental_StreamData = class {
336
352
  self.data = [];
337
353
  controller.enqueue(encodedData);
338
354
  }
355
+ if (self.messageAnnotations.length) {
356
+ const encodedmessageAnnotations = self.encoder.encode(
357
+ formatStreamPart("message_annotations", self.messageAnnotations)
358
+ );
359
+ controller.enqueue(encodedmessageAnnotations);
360
+ }
339
361
  controller.enqueue(chunk);
340
362
  },
341
363
  async flush(controller) {
@@ -354,6 +376,12 @@ var experimental_StreamData = class {
354
376
  );
355
377
  controller.enqueue(encodedData);
356
378
  }
379
+ if (self.messageAnnotations.length) {
380
+ const encodedData = self.encoder.encode(
381
+ formatStreamPart("message_annotations", self.messageAnnotations)
382
+ );
383
+ controller.enqueue(encodedData);
384
+ }
357
385
  }
358
386
  });
359
387
  }
@@ -374,6 +402,12 @@ var experimental_StreamData = class {
374
402
  }
375
403
  this.data.push(value);
376
404
  }
405
+ appendMessageAnnotation(value) {
406
+ if (this.isClosed) {
407
+ throw new Error("Data Stream has already been closed.");
408
+ }
409
+ this.messageAnnotations.push(value);
410
+ }
377
411
  };
378
412
  function createStreamDataTransformer(experimental_streamData) {
379
413
  if (!experimental_streamData) {
@@ -1059,6 +1093,22 @@ async function parseComplexResponse({
1059
1093
  };
1060
1094
  }
1061
1095
  }
1096
+ if (type == "message_annotations") {
1097
+ if (prefixMap["text"]) {
1098
+ prefixMap["text"] = {
1099
+ ...prefixMap["text"],
1100
+ annotations: [...prefixMap["text"].annotations || [], ...value]
1101
+ };
1102
+ } else {
1103
+ prefixMap["text"] = {
1104
+ id: generateId(),
1105
+ role: "assistant",
1106
+ content: "",
1107
+ annotations: [...value],
1108
+ createdAt
1109
+ };
1110
+ }
1111
+ }
1062
1112
  let functionCallMessage = null;
1063
1113
  if (type === "function_call") {
1064
1114
  prefixMap["function_call"] = {