ai 7.0.83 → 7.0.85

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.js CHANGED
@@ -58,8 +58,8 @@ import { AISDKError } from "@ai-sdk/provider";
58
58
  var name = "AI_InvalidArgumentError";
59
59
  var marker = `vercel.ai.error.${name}`;
60
60
  var symbol = Symbol.for(marker);
61
- var _a;
62
- var InvalidArgumentError = class extends AISDKError {
61
+ var _a, _b;
62
+ var InvalidArgumentError = class extends (_b = AISDKError, _a = symbol, _b) {
63
63
  constructor({
64
64
  parameter,
65
65
  value,
@@ -77,15 +77,14 @@ var InvalidArgumentError = class extends AISDKError {
77
77
  return AISDKError.hasMarker(error, marker);
78
78
  }
79
79
  };
80
- _a = symbol;
81
80
 
82
81
  // src/error/invalid-stream-part-error.ts
83
82
  import { AISDKError as AISDKError2 } from "@ai-sdk/provider";
84
83
  var name2 = "AI_InvalidStreamPartError";
85
84
  var marker2 = `vercel.ai.error.${name2}`;
86
85
  var symbol2 = Symbol.for(marker2);
87
- var _a2;
88
- var InvalidStreamPartError = class extends AISDKError2 {
86
+ var _a2, _b2;
87
+ var InvalidStreamPartError = class extends (_b2 = AISDKError2, _a2 = symbol2, _b2) {
89
88
  constructor({
90
89
  chunk,
91
90
  message
@@ -98,15 +97,14 @@ var InvalidStreamPartError = class extends AISDKError2 {
98
97
  return AISDKError2.hasMarker(error, marker2);
99
98
  }
100
99
  };
101
- _a2 = symbol2;
102
100
 
103
101
  // src/error/invalid-tool-approval-error.ts
104
102
  import { AISDKError as AISDKError3 } from "@ai-sdk/provider";
105
103
  var name3 = "AI_InvalidToolApprovalError";
106
104
  var marker3 = `vercel.ai.error.${name3}`;
107
105
  var symbol3 = Symbol.for(marker3);
108
- var _a3;
109
- var InvalidToolApprovalError = class extends AISDKError3 {
106
+ var _a3, _b3;
107
+ var InvalidToolApprovalError = class extends (_b3 = AISDKError3, _a3 = symbol3, _b3) {
110
108
  constructor({ approvalId }) {
111
109
  super({
112
110
  name: name3,
@@ -119,15 +117,14 @@ var InvalidToolApprovalError = class extends AISDKError3 {
119
117
  return AISDKError3.hasMarker(error, marker3);
120
118
  }
121
119
  };
122
- _a3 = symbol3;
123
120
 
124
121
  // src/error/invalid-tool-approval-signature-error.ts
125
122
  import { AISDKError as AISDKError4 } from "@ai-sdk/provider";
126
123
  var name4 = "AI_InvalidToolApprovalSignatureError";
127
124
  var marker4 = `vercel.ai.error.${name4}`;
128
125
  var symbol4 = Symbol.for(marker4);
129
- var _a4;
130
- var InvalidToolApprovalSignatureError = class extends AISDKError4 {
126
+ var _a4, _b4;
127
+ var InvalidToolApprovalSignatureError = class extends (_b4 = AISDKError4, _a4 = symbol4, _b4) {
131
128
  constructor({
132
129
  approvalId,
133
130
  toolCallId,
@@ -145,15 +142,14 @@ var InvalidToolApprovalSignatureError = class extends AISDKError4 {
145
142
  return AISDKError4.hasMarker(error, marker4);
146
143
  }
147
144
  };
148
- _a4 = symbol4;
149
145
 
150
146
  // src/error/invalid-tool-input-error.ts
151
147
  import { AISDKError as AISDKError5, getErrorMessage } from "@ai-sdk/provider";
152
148
  var name5 = "AI_InvalidToolInputError";
153
149
  var marker5 = `vercel.ai.error.${name5}`;
154
150
  var symbol5 = Symbol.for(marker5);
155
- var _a5;
156
- var InvalidToolInputError = class extends AISDKError5 {
151
+ var _a5, _b5;
152
+ var InvalidToolInputError = class extends (_b5 = AISDKError5, _a5 = symbol5, _b5) {
157
153
  constructor({
158
154
  toolInput,
159
155
  toolName,
@@ -169,15 +165,14 @@ var InvalidToolInputError = class extends AISDKError5 {
169
165
  return AISDKError5.hasMarker(error, marker5);
170
166
  }
171
167
  };
172
- _a5 = symbol5;
173
168
 
174
169
  // src/error/tool-call-not-found-for-approval-error.ts
175
170
  import { AISDKError as AISDKError6 } from "@ai-sdk/provider";
176
171
  var name6 = "AI_ToolCallNotFoundForApprovalError";
177
172
  var marker6 = `vercel.ai.error.${name6}`;
178
173
  var symbol6 = Symbol.for(marker6);
179
- var _a6;
180
- var ToolCallNotFoundForApprovalError = class extends AISDKError6 {
174
+ var _a6, _b6;
175
+ var ToolCallNotFoundForApprovalError = class extends (_b6 = AISDKError6, _a6 = symbol6, _b6) {
181
176
  constructor({
182
177
  toolCallId,
183
178
  approvalId
@@ -194,15 +189,14 @@ var ToolCallNotFoundForApprovalError = class extends AISDKError6 {
194
189
  return AISDKError6.hasMarker(error, marker6);
195
190
  }
196
191
  };
197
- _a6 = symbol6;
198
192
 
199
193
  // src/error/missing-tool-result-error.ts
200
194
  import { AISDKError as AISDKError7 } from "@ai-sdk/provider";
201
195
  var name7 = "AI_MissingToolResultsError";
202
196
  var marker7 = `vercel.ai.error.${name7}`;
203
197
  var symbol7 = Symbol.for(marker7);
204
- var _a7;
205
- var MissingToolResultsError = class extends AISDKError7 {
198
+ var _a7, _b7;
199
+ var MissingToolResultsError = class extends (_b7 = AISDKError7, _a7 = symbol7, _b7) {
206
200
  constructor({ toolCallIds }) {
207
201
  super({
208
202
  name: name7,
@@ -217,15 +211,14 @@ var MissingToolResultsError = class extends AISDKError7 {
217
211
  return AISDKError7.hasMarker(error, marker7);
218
212
  }
219
213
  };
220
- _a7 = symbol7;
221
214
 
222
215
  // src/error/no-image-generated-error.ts
223
216
  import { AISDKError as AISDKError8 } from "@ai-sdk/provider";
224
217
  var name8 = "AI_NoImageGeneratedError";
225
218
  var marker8 = `vercel.ai.error.${name8}`;
226
219
  var symbol8 = Symbol.for(marker8);
227
- var _a8;
228
- var NoImageGeneratedError = class extends AISDKError8 {
220
+ var _a8, _b8;
221
+ var NoImageGeneratedError = class extends (_b8 = AISDKError8, _a8 = symbol8, _b8) {
229
222
  constructor({
230
223
  message = "No image generated.",
231
224
  cause,
@@ -239,15 +232,14 @@ var NoImageGeneratedError = class extends AISDKError8 {
239
232
  return AISDKError8.hasMarker(error, marker8);
240
233
  }
241
234
  };
242
- _a8 = symbol8;
243
235
 
244
236
  // src/error/no-object-generated-error.ts
245
237
  import { AISDKError as AISDKError9 } from "@ai-sdk/provider";
246
238
  var name9 = "AI_NoObjectGeneratedError";
247
239
  var marker9 = `vercel.ai.error.${name9}`;
248
240
  var symbol9 = Symbol.for(marker9);
249
- var _a9;
250
- var NoObjectGeneratedError = class extends AISDKError9 {
241
+ var _a9, _b9;
242
+ var NoObjectGeneratedError = class extends (_b9 = AISDKError9, _a9 = symbol9, _b9) {
251
243
  constructor({
252
244
  message = "No object generated.",
253
245
  cause,
@@ -267,15 +259,14 @@ var NoObjectGeneratedError = class extends AISDKError9 {
267
259
  return AISDKError9.hasMarker(error, marker9);
268
260
  }
269
261
  };
270
- _a9 = symbol9;
271
262
 
272
263
  // src/error/no-output-generated-error.ts
273
264
  import { AISDKError as AISDKError10 } from "@ai-sdk/provider";
274
265
  var name10 = "AI_NoOutputGeneratedError";
275
266
  var marker10 = `vercel.ai.error.${name10}`;
276
267
  var symbol10 = Symbol.for(marker10);
277
- var _a10;
278
- var NoOutputGeneratedError = class extends AISDKError10 {
268
+ var _a10, _b10;
269
+ var NoOutputGeneratedError = class extends (_b10 = AISDKError10, _a10 = symbol10, _b10) {
279
270
  // used in isInstance
280
271
  constructor({
281
272
  message = "No output generated.",
@@ -288,15 +279,14 @@ var NoOutputGeneratedError = class extends AISDKError10 {
288
279
  return AISDKError10.hasMarker(error, marker10);
289
280
  }
290
281
  };
291
- _a10 = symbol10;
292
282
 
293
283
  // src/error/no-speech-generated-error.ts
294
284
  import { AISDKError as AISDKError11 } from "@ai-sdk/provider";
295
285
  var name11 = "AI_NoSpeechGeneratedError";
296
286
  var marker11 = `vercel.ai.error.${name11}`;
297
287
  var symbol11 = Symbol.for(marker11);
298
- var _a11;
299
- var NoSpeechGeneratedError = class extends AISDKError11 {
288
+ var _a11, _b11;
289
+ var NoSpeechGeneratedError = class extends (_b11 = AISDKError11, _a11 = symbol11, _b11) {
300
290
  constructor(options) {
301
291
  super({
302
292
  name: name11,
@@ -309,15 +299,14 @@ var NoSpeechGeneratedError = class extends AISDKError11 {
309
299
  return AISDKError11.hasMarker(error, marker11);
310
300
  }
311
301
  };
312
- _a11 = symbol11;
313
302
 
314
303
  // src/error/no-transcript-generated-error.ts
315
304
  import { AISDKError as AISDKError12 } from "@ai-sdk/provider";
316
305
  var name12 = "AI_NoTranscriptGeneratedError";
317
306
  var marker12 = `vercel.ai.error.${name12}`;
318
307
  var symbol12 = Symbol.for(marker12);
319
- var _a12;
320
- var NoTranscriptGeneratedError = class extends AISDKError12 {
308
+ var _a12, _b12;
309
+ var NoTranscriptGeneratedError = class extends (_b12 = AISDKError12, _a12 = symbol12, _b12) {
321
310
  constructor(options) {
322
311
  super({
323
312
  name: name12,
@@ -330,15 +319,14 @@ var NoTranscriptGeneratedError = class extends AISDKError12 {
330
319
  return AISDKError12.hasMarker(error, marker12);
331
320
  }
332
321
  };
333
- _a12 = symbol12;
334
322
 
335
323
  // src/error/no-translation-generated-error.ts
336
324
  import { AISDKError as AISDKError13 } from "@ai-sdk/provider";
337
325
  var name13 = "AI_NoTranslationGeneratedError";
338
326
  var marker13 = `vercel.ai.error.${name13}`;
339
327
  var symbol13 = Symbol.for(marker13);
340
- var _a13;
341
- var NoTranslationGeneratedError = class extends AISDKError13 {
328
+ var _a13, _b13;
329
+ var NoTranslationGeneratedError = class extends (_b13 = AISDKError13, _a13 = symbol13, _b13) {
342
330
  constructor(options) {
343
331
  super({
344
332
  name: name13,
@@ -351,15 +339,14 @@ var NoTranslationGeneratedError = class extends AISDKError13 {
351
339
  return AISDKError13.hasMarker(error, marker13);
352
340
  }
353
341
  };
354
- _a13 = symbol13;
355
342
 
356
343
  // src/error/no-video-generated-error.ts
357
344
  import { AISDKError as AISDKError14 } from "@ai-sdk/provider";
358
345
  var name14 = "AI_NoVideoGeneratedError";
359
346
  var marker14 = `vercel.ai.error.${name14}`;
360
347
  var symbol14 = Symbol.for(marker14);
361
- var _a14;
362
- var NoVideoGeneratedError = class extends AISDKError14 {
348
+ var _a14, _b14;
349
+ var NoVideoGeneratedError = class extends (_b14 = AISDKError14, _a14 = symbol14, _b14) {
363
350
  constructor({
364
351
  message = "No video generated.",
365
352
  cause,
@@ -391,15 +378,14 @@ var NoVideoGeneratedError = class extends AISDKError14 {
391
378
  };
392
379
  }
393
380
  };
394
- _a14 = symbol14;
395
381
 
396
382
  // src/error/no-such-tool-error.ts
397
383
  import { AISDKError as AISDKError15 } from "@ai-sdk/provider";
398
384
  var name15 = "AI_NoSuchToolError";
399
385
  var marker15 = `vercel.ai.error.${name15}`;
400
386
  var symbol15 = Symbol.for(marker15);
401
- var _a15;
402
- var NoSuchToolError = class extends AISDKError15 {
387
+ var _a15, _b15;
388
+ var NoSuchToolError = class extends (_b15 = AISDKError15, _a15 = symbol15, _b15) {
403
389
  constructor({
404
390
  toolName,
405
391
  availableTools = void 0,
@@ -414,15 +400,14 @@ var NoSuchToolError = class extends AISDKError15 {
414
400
  return AISDKError15.hasMarker(error, marker15);
415
401
  }
416
402
  };
417
- _a15 = symbol15;
418
403
 
419
404
  // src/error/stream-provider-error.ts
420
405
  import { AISDKError as AISDKError16 } from "@ai-sdk/provider";
421
406
  var name16 = "AI_StreamProviderError";
422
407
  var marker16 = `vercel.ai.error.${name16}`;
423
408
  var symbol16 = Symbol.for(marker16);
424
- var _a16;
425
- var StreamProviderError = class extends AISDKError16 {
409
+ var _a16, _b16;
410
+ var StreamProviderError = class extends (_b16 = AISDKError16, _a16 = symbol16, _b16) {
426
411
  constructor({
427
412
  message,
428
413
  type,
@@ -444,7 +429,6 @@ var StreamProviderError = class extends AISDKError16 {
444
429
  return AISDKError16.hasMarker(error, marker16);
445
430
  }
446
431
  };
447
- _a16 = symbol16;
448
432
  function isRetryableStatusCode(statusCode) {
449
433
  return statusCode != null && (statusCode === 408 || statusCode === 409 || statusCode === 429 || statusCode >= 500);
450
434
  }
@@ -454,8 +438,8 @@ import { AISDKError as AISDKError17, getErrorMessage as getErrorMessage2 } from
454
438
  var name17 = "AI_ToolCallRepairError";
455
439
  var marker17 = `vercel.ai.error.${name17}`;
456
440
  var symbol17 = Symbol.for(marker17);
457
- var _a17;
458
- var ToolCallRepairError = class extends AISDKError17 {
441
+ var _a17, _b17;
442
+ var ToolCallRepairError = class extends (_b17 = AISDKError17, _a17 = symbol17, _b17) {
459
443
  constructor({
460
444
  cause,
461
445
  originalError,
@@ -469,7 +453,6 @@ var ToolCallRepairError = class extends AISDKError17 {
469
453
  return AISDKError17.hasMarker(error, marker17);
470
454
  }
471
455
  };
472
- _a17 = symbol17;
473
456
 
474
457
  // src/error/unsupported-model-version-error.ts
475
458
  import { AISDKError as AISDKError18 } from "@ai-sdk/provider";
@@ -490,8 +473,8 @@ import { AISDKError as AISDKError19 } from "@ai-sdk/provider";
490
473
  var name18 = "AI_UIMessageStreamError";
491
474
  var marker18 = `vercel.ai.error.${name18}`;
492
475
  var symbol18 = Symbol.for(marker18);
493
- var _a18;
494
- var UIMessageStreamError = class extends AISDKError19 {
476
+ var _a18, _b18;
477
+ var UIMessageStreamError = class extends (_b18 = AISDKError19, _a18 = symbol18, _b18) {
495
478
  constructor({
496
479
  chunkType,
497
480
  chunkId,
@@ -506,15 +489,14 @@ var UIMessageStreamError = class extends AISDKError19 {
506
489
  return AISDKError19.hasMarker(error, marker18);
507
490
  }
508
491
  };
509
- _a18 = symbol18;
510
492
 
511
493
  // src/prompt/invalid-data-content-error.ts
512
494
  import { AISDKError as AISDKError20 } from "@ai-sdk/provider";
513
495
  var name19 = "AI_InvalidDataContentError";
514
496
  var marker19 = `vercel.ai.error.${name19}`;
515
497
  var symbol19 = Symbol.for(marker19);
516
- var _a19;
517
- var InvalidDataContentError = class extends AISDKError20 {
498
+ var _a19, _b19;
499
+ var InvalidDataContentError = class extends (_b19 = AISDKError20, _a19 = symbol19, _b19) {
518
500
  constructor({
519
501
  content,
520
502
  cause,
@@ -528,15 +510,14 @@ var InvalidDataContentError = class extends AISDKError20 {
528
510
  return AISDKError20.hasMarker(error, marker19);
529
511
  }
530
512
  };
531
- _a19 = symbol19;
532
513
 
533
514
  // src/prompt/invalid-message-role-error.ts
534
515
  import { AISDKError as AISDKError21 } from "@ai-sdk/provider";
535
516
  var name20 = "AI_InvalidMessageRoleError";
536
517
  var marker20 = `vercel.ai.error.${name20}`;
537
518
  var symbol20 = Symbol.for(marker20);
538
- var _a20;
539
- var InvalidMessageRoleError = class extends AISDKError21 {
519
+ var _a20, _b20;
520
+ var InvalidMessageRoleError = class extends (_b20 = AISDKError21, _a20 = symbol20, _b20) {
540
521
  constructor({
541
522
  role,
542
523
  message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
@@ -549,15 +530,14 @@ var InvalidMessageRoleError = class extends AISDKError21 {
549
530
  return AISDKError21.hasMarker(error, marker20);
550
531
  }
551
532
  };
552
- _a20 = symbol20;
553
533
 
554
534
  // src/prompt/message-conversion-error.ts
555
535
  import { AISDKError as AISDKError22 } from "@ai-sdk/provider";
556
536
  var name21 = "AI_MessageConversionError";
557
537
  var marker21 = `vercel.ai.error.${name21}`;
558
538
  var symbol21 = Symbol.for(marker21);
559
- var _a21;
560
- var MessageConversionError = class extends AISDKError22 {
539
+ var _a21, _b21;
540
+ var MessageConversionError = class extends (_b21 = AISDKError22, _a21 = symbol21, _b21) {
561
541
  constructor({
562
542
  originalMessage,
563
543
  message
@@ -570,7 +550,6 @@ var MessageConversionError = class extends AISDKError22 {
570
550
  return AISDKError22.hasMarker(error, marker21);
571
551
  }
572
552
  };
573
- _a21 = symbol21;
574
553
 
575
554
  // src/error/index.ts
576
555
  import { DownloadError } from "@ai-sdk/provider-utils";
@@ -580,8 +559,8 @@ import { AISDKError as AISDKError23 } from "@ai-sdk/provider";
580
559
  var name22 = "AI_RetryError";
581
560
  var marker22 = `vercel.ai.error.${name22}`;
582
561
  var symbol22 = Symbol.for(marker22);
583
- var _a22;
584
- var RetryError = class extends AISDKError23 {
562
+ var _a22, _b22;
563
+ var RetryError = class extends (_b22 = AISDKError23, _a22 = symbol22, _b22) {
585
564
  constructor({
586
565
  message,
587
566
  reason,
@@ -597,7 +576,6 @@ var RetryError = class extends AISDKError23 {
597
576
  return AISDKError23.hasMarker(error, marker22);
598
577
  }
599
578
  };
600
- _a22 = symbol22;
601
579
 
602
580
  // src/logger/log-warnings.ts
603
581
  function formatWarning({
@@ -709,8 +687,7 @@ function asEmbeddingModelV3(model) {
709
687
  });
710
688
  return new Proxy(model, {
711
689
  get(target, prop) {
712
- if (prop === "specificationVersion")
713
- return "v3";
690
+ if (prop === "specificationVersion") return "v3";
714
691
  return target[prop];
715
692
  }
716
693
  });
@@ -724,8 +701,7 @@ function asEmbeddingModelV4(model) {
724
701
  const v3Model = model.specificationVersion === "v2" ? asEmbeddingModelV3(model) : model;
725
702
  return new Proxy(v3Model, {
726
703
  get(target, prop) {
727
- if (prop === "specificationVersion")
728
- return "v4";
704
+ if (prop === "specificationVersion") return "v4";
729
705
  return target[prop];
730
706
  }
731
707
  });
@@ -742,8 +718,7 @@ function asImageModelV3(model) {
742
718
  });
743
719
  return new Proxy(model, {
744
720
  get(target, prop) {
745
- if (prop === "specificationVersion")
746
- return "v3";
721
+ if (prop === "specificationVersion") return "v3";
747
722
  return target[prop];
748
723
  }
749
724
  });
@@ -757,8 +732,7 @@ function asImageModelV4(model) {
757
732
  const v3Model = model.specificationVersion === "v2" ? asImageModelV3(model) : model;
758
733
  return new Proxy(v3Model, {
759
734
  get(target, prop) {
760
- if (prop === "specificationVersion")
761
- return "v4";
735
+ if (prop === "specificationVersion") return "v4";
762
736
  return target[prop];
763
737
  }
764
738
  });
@@ -851,8 +825,7 @@ function asLanguageModelV4(model) {
851
825
  const v3Model = model.specificationVersion === "v2" ? asLanguageModelV3(model) : model;
852
826
  return new Proxy(v3Model, {
853
827
  get(target, prop) {
854
- if (prop === "specificationVersion")
855
- return "v4";
828
+ if (prop === "specificationVersion") return "v4";
856
829
  return target[prop];
857
830
  }
858
831
  });
@@ -865,8 +838,7 @@ function asRerankingModelV4(model) {
865
838
  }
866
839
  return new Proxy(model, {
867
840
  get(target, prop) {
868
- if (prop === "specificationVersion")
869
- return "v4";
841
+ if (prop === "specificationVersion") return "v4";
870
842
  return target[prop];
871
843
  }
872
844
  });
@@ -883,8 +855,7 @@ function asSpeechModelV3(model) {
883
855
  });
884
856
  return new Proxy(model, {
885
857
  get(target, prop) {
886
- if (prop === "specificationVersion")
887
- return "v3";
858
+ if (prop === "specificationVersion") return "v3";
888
859
  return target[prop];
889
860
  }
890
861
  });
@@ -898,8 +869,7 @@ function asSpeechModelV4(model) {
898
869
  const v3Model = model.specificationVersion === "v2" ? asSpeechModelV3(model) : model;
899
870
  return new Proxy(v3Model, {
900
871
  get(target, prop) {
901
- if (prop === "specificationVersion")
902
- return "v4";
872
+ if (prop === "specificationVersion") return "v4";
903
873
  return target[prop];
904
874
  }
905
875
  });
@@ -916,8 +886,7 @@ function asTranscriptionModelV3(model) {
916
886
  });
917
887
  return new Proxy(model, {
918
888
  get(target, prop) {
919
- if (prop === "specificationVersion")
920
- return "v3";
889
+ if (prop === "specificationVersion") return "v3";
921
890
  return target[prop];
922
891
  }
923
892
  });
@@ -931,8 +900,7 @@ function asTranscriptionModelV4(model) {
931
900
  const v3Model = model.specificationVersion === "v2" ? asTranscriptionModelV3(model) : model;
932
901
  return new Proxy(v3Model, {
933
902
  get(target, prop) {
934
- if (prop === "specificationVersion")
935
- return "v4";
903
+ if (prop === "specificationVersion") return "v4";
936
904
  return target[prop];
937
905
  }
938
906
  });
@@ -945,8 +913,7 @@ function asVideoModelV4(model) {
945
913
  }
946
914
  return new Proxy(model, {
947
915
  get(target, prop) {
948
- if (prop === "specificationVersion")
949
- return "v4";
916
+ if (prop === "specificationVersion") return "v4";
950
917
  return target[prop];
951
918
  }
952
919
  });
@@ -1017,9 +984,9 @@ function resolveEmbeddingModel(model) {
1017
984
  return asEmbeddingModelV4(model);
1018
985
  }
1019
986
  function resolveTranscriptionModel(model) {
1020
- var _a24, _b;
987
+ var _a24, _b24;
1021
988
  if (typeof model === "string") {
1022
- return (_b = (_a24 = getGlobalProvider()).transcriptionModel) == null ? void 0 : _b.call(_a24, model);
989
+ return (_b24 = (_a24 = getGlobalProvider()).transcriptionModel) == null ? void 0 : _b24.call(_a24, model);
1023
990
  }
1024
991
  if (!["v4", "v3", "v2"].includes(model.specificationVersion)) {
1025
992
  const unsupportedModel = model;
@@ -1054,9 +1021,9 @@ function resolveSpeechTranslationModel(model) {
1054
1021
  return model;
1055
1022
  }
1056
1023
  function resolveSpeechModel(model) {
1057
- var _a24, _b;
1024
+ var _a24, _b24;
1058
1025
  if (typeof model === "string") {
1059
- return (_b = (_a24 = getGlobalProvider()).speechModel) == null ? void 0 : _b.call(_a24, model);
1026
+ return (_b24 = (_a24 = getGlobalProvider()).speechModel) == null ? void 0 : _b24.call(_a24, model);
1060
1027
  }
1061
1028
  if (!["v4", "v3", "v2"].includes(model.specificationVersion)) {
1062
1029
  const unsupportedModel = model;
@@ -1179,7 +1146,7 @@ import {
1179
1146
  } from "@ai-sdk/provider-utils";
1180
1147
 
1181
1148
  // src/version.ts
1182
- var VERSION = true ? "7.0.83" : "0.0.0-test";
1149
+ var VERSION = true ? "7.0.85" : "0.0.0-test";
1183
1150
 
1184
1151
  // src/util/download/download.ts
1185
1152
  var download = async ({
@@ -1250,8 +1217,7 @@ function mergeObjects(base, overrides) {
1250
1217
  }
1251
1218
  if (Object.prototype.hasOwnProperty.call(overrides, key)) {
1252
1219
  const overridesValue = overrides[key];
1253
- if (overridesValue === void 0)
1254
- continue;
1220
+ if (overridesValue === void 0) continue;
1255
1221
  const baseValue = key in base ? base[key] : void 0;
1256
1222
  const isSourceObject = overridesValue !== null && typeof overridesValue === "object" && !Array.isArray(overridesValue) && !(overridesValue instanceof Date) && !(overridesValue instanceof RegExp);
1257
1223
  const isTargetObject = baseValue !== null && baseValue !== void 0 && typeof baseValue === "object" && !Array.isArray(baseValue) && !(baseValue instanceof Date) && !(baseValue instanceof RegExp);
@@ -1292,8 +1258,7 @@ function splitDataUrl(dataUrl) {
1292
1258
 
1293
1259
  // src/prompt/file-part-data.ts
1294
1260
  function isTaggedFileData(value) {
1295
- if (typeof value !== "object" || value === null)
1296
- return false;
1261
+ if (typeof value !== "object" || value === null) return false;
1297
1262
  const type = value.type;
1298
1263
  return type === "data" || type === "url" || type === "reference" || type === "text";
1299
1264
  }
@@ -1893,6 +1858,8 @@ function mapToolResultOutput({
1893
1858
  providerOptions: item.providerOptions
1894
1859
  };
1895
1860
  }
1861
+ // The "image-*" types are legacy and deprecated.
1862
+ // TODO: remove migration in v8 in combination with the removal of these types from the provider utils.
1896
1863
  case "image-data": {
1897
1864
  warnings.push({
1898
1865
  type: "deprecated",
@@ -2250,11 +2217,11 @@ function getChunkTimeoutMs(timeout) {
2250
2217
  return timeout.chunkMs;
2251
2218
  }
2252
2219
  function getToolTimeoutMs(timeout, toolName) {
2253
- var _a24, _b;
2220
+ var _a24, _b24;
2254
2221
  if (timeout == null || typeof timeout === "number") {
2255
2222
  return void 0;
2256
2223
  }
2257
- return (_b = (_a24 = timeout.tools) == null ? void 0 : _a24[`${toolName}Ms`]) != null ? _b : timeout.toolMs;
2224
+ return (_b24 = (_a24 = timeout.tools) == null ? void 0 : _a24[`${toolName}Ms`]) != null ? _b24 : timeout.toolMs;
2258
2225
  }
2259
2226
 
2260
2227
  // src/prompt/standardize-prompt.ts
@@ -2639,8 +2606,7 @@ async function standardizePrompt({
2639
2606
  import { GatewayAuthenticationError } from "@ai-sdk/gateway";
2640
2607
  import { AISDKError as AISDKError25 } from "@ai-sdk/provider";
2641
2608
  function wrapGatewayError(error) {
2642
- if (!GatewayAuthenticationError.isInstance(error))
2643
- return error;
2609
+ if (!GatewayAuthenticationError.isInstance(error)) return error;
2644
2610
  const isProductionEnv = (process == null ? void 0 : process.env.NODE_ENV) === "production";
2645
2611
  const moreInfoURL = "https://ai-sdk.dev/unauthenticated-ai-gateway";
2646
2612
  if (isProductionEnv) {
@@ -2702,13 +2668,13 @@ function createNullLanguageModelUsage() {
2702
2668
  };
2703
2669
  }
2704
2670
  function addLanguageModelUsage(usage1, usage2) {
2705
- var _a24, _b, _c, _d, _e, _f, _g, _h, _i, _j;
2671
+ var _a24, _b24, _c, _d, _e, _f, _g, _h, _i, _j;
2706
2672
  return {
2707
2673
  inputTokens: addTokenCounts(usage1.inputTokens, usage2.inputTokens),
2708
2674
  inputTokenDetails: {
2709
2675
  noCacheTokens: addTokenCounts(
2710
2676
  (_a24 = usage1.inputTokenDetails) == null ? void 0 : _a24.noCacheTokens,
2711
- (_b = usage2.inputTokenDetails) == null ? void 0 : _b.noCacheTokens
2677
+ (_b24 = usage2.inputTokenDetails) == null ? void 0 : _b24.noCacheTokens
2712
2678
  ),
2713
2679
  cacheReadTokens: addTokenCounts(
2714
2680
  (_c = usage1.inputTokenDetails) == null ? void 0 : _c.cacheReadTokens,
@@ -2760,8 +2726,8 @@ function mergeAbortSignals(...signals) {
2760
2726
 
2761
2727
  // src/util/now.ts
2762
2728
  function now() {
2763
- var _a24, _b;
2764
- return (_b = (_a24 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a24.now()) != null ? _b : Date.now();
2729
+ var _a24, _b24;
2730
+ return (_b24 = (_a24 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a24.now()) != null ? _b24 : Date.now();
2765
2731
  }
2766
2732
 
2767
2733
  // src/util/notify.ts
@@ -2788,8 +2754,7 @@ function getRetryDelayInMs({
2788
2754
  exponentialBackoffDelay
2789
2755
  }) {
2790
2756
  const headers = APICallError2.isInstance(error) ? error.responseHeaders : APICallError2.isInstance(error.cause) ? error.cause.responseHeaders : void 0;
2791
- if (!headers)
2792
- return exponentialBackoffDelay;
2757
+ if (!headers) return exponentialBackoffDelay;
2793
2758
  let ms;
2794
2759
  const retryAfterMs = headers["retry-after-ms"];
2795
2760
  if (retryAfterMs) {
@@ -2967,6 +2932,191 @@ function collectToolApprovals({
2967
2932
  return { approvedToolApprovals, deniedToolApprovals };
2968
2933
  }
2969
2934
 
2935
+ // src/generate-text/generated-file.ts
2936
+ import {
2937
+ convertBase64ToUint8Array,
2938
+ convertUint8ArrayToBase64
2939
+ } from "@ai-sdk/provider-utils";
2940
+ var DefaultGeneratedFile = class {
2941
+ constructor({
2942
+ data,
2943
+ mediaType,
2944
+ providerMetadata
2945
+ }) {
2946
+ const isUint8Array = data instanceof Uint8Array;
2947
+ this.base64Data = isUint8Array ? void 0 : data;
2948
+ this.uint8ArrayData = isUint8Array ? data : void 0;
2949
+ this.mediaType = mediaType;
2950
+ this.providerMetadata = providerMetadata;
2951
+ }
2952
+ // lazy conversion with caching to avoid unnecessary conversion overhead:
2953
+ get base64() {
2954
+ if (this.base64Data == null) {
2955
+ this.base64Data = convertUint8ArrayToBase64(this.uint8ArrayData);
2956
+ }
2957
+ return this.base64Data;
2958
+ }
2959
+ // lazy conversion with caching to avoid unnecessary conversion overhead:
2960
+ get uint8Array() {
2961
+ if (this.uint8ArrayData == null) {
2962
+ this.uint8ArrayData = convertBase64ToUint8Array(this.base64Data);
2963
+ }
2964
+ return this.uint8ArrayData;
2965
+ }
2966
+ };
2967
+ var DefaultGeneratedFileWithType = class extends DefaultGeneratedFile {
2968
+ constructor(options) {
2969
+ super(options);
2970
+ this.type = "file";
2971
+ }
2972
+ };
2973
+
2974
+ // src/generate-text/convert-language-model-content.ts
2975
+ function convertLanguageModelContent({
2976
+ content,
2977
+ toolCalls,
2978
+ toolOutputs,
2979
+ toolApprovalRequests,
2980
+ toolApprovalResponses,
2981
+ tools
2982
+ }) {
2983
+ const contentParts = [];
2984
+ const toolOutputsWithApprovalResponses = [];
2985
+ const toolOutputsWithoutApprovalResponses = [];
2986
+ const toolCallIdsWithApprovalResponses = new Set(
2987
+ toolApprovalResponses.map(
2988
+ (toolApprovalResponse) => toolApprovalResponse.toolCall.toolCallId
2989
+ )
2990
+ );
2991
+ for (const part of content) {
2992
+ switch (part.type) {
2993
+ case "text":
2994
+ case "reasoning":
2995
+ case "custom":
2996
+ case "source":
2997
+ contentParts.push(part);
2998
+ break;
2999
+ case "file":
3000
+ case "reasoning-file": {
3001
+ contentParts.push({
3002
+ type: part.type,
3003
+ file: new DefaultGeneratedFile({
3004
+ data: part.data.type === "data" ? part.data.data : part.data.url.toString(),
3005
+ mediaType: part.mediaType
3006
+ }),
3007
+ ...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}
3008
+ });
3009
+ break;
3010
+ }
3011
+ case "tool-call": {
3012
+ const toolCall = toolCalls.find(
3013
+ (toolCall2) => toolCall2.toolCallId === part.toolCallId
3014
+ );
3015
+ if (toolCall == null) {
3016
+ throw new Error(`Tool call ${part.toolCallId} not found.`);
3017
+ }
3018
+ contentParts.push(toolCall);
3019
+ break;
3020
+ }
3021
+ case "tool-result": {
3022
+ const toolCall = toolCalls.find(
3023
+ (toolCall2) => toolCall2.toolCallId === part.toolCallId
3024
+ );
3025
+ if (toolCall == null) {
3026
+ const tool2 = getOwn(tools, part.toolName);
3027
+ const supportsDeferredResults = (tool2 == null ? void 0 : tool2.type) === "provider" && tool2.supportsDeferredResults;
3028
+ if (!supportsDeferredResults) {
3029
+ throw new Error(`Tool call ${part.toolCallId} not found.`);
3030
+ }
3031
+ if (part.isError) {
3032
+ contentParts.push({
3033
+ type: "tool-error",
3034
+ toolCallId: part.toolCallId,
3035
+ toolName: part.toolName,
3036
+ input: void 0,
3037
+ error: part.result,
3038
+ providerExecuted: true,
3039
+ dynamic: part.dynamic,
3040
+ ...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
3041
+ ...(tool2 == null ? void 0 : tool2.metadata) != null ? { toolMetadata: tool2.metadata } : {}
3042
+ });
3043
+ } else {
3044
+ contentParts.push({
3045
+ type: "tool-result",
3046
+ toolCallId: part.toolCallId,
3047
+ toolName: part.toolName,
3048
+ input: void 0,
3049
+ output: part.result,
3050
+ providerExecuted: true,
3051
+ dynamic: part.dynamic,
3052
+ ...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
3053
+ ...(tool2 == null ? void 0 : tool2.metadata) != null ? { toolMetadata: tool2.metadata } : {}
3054
+ });
3055
+ }
3056
+ break;
3057
+ }
3058
+ if (part.isError) {
3059
+ contentParts.push({
3060
+ type: "tool-error",
3061
+ toolCallId: part.toolCallId,
3062
+ toolName: part.toolName,
3063
+ input: toolCall.input,
3064
+ error: part.result,
3065
+ providerExecuted: true,
3066
+ dynamic: toolCall.dynamic,
3067
+ ...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
3068
+ ...toolCall.toolMetadata != null ? { toolMetadata: toolCall.toolMetadata } : {}
3069
+ });
3070
+ } else {
3071
+ contentParts.push({
3072
+ type: "tool-result",
3073
+ toolCallId: part.toolCallId,
3074
+ toolName: part.toolName,
3075
+ input: toolCall.input,
3076
+ output: part.result,
3077
+ providerExecuted: true,
3078
+ dynamic: toolCall.dynamic,
3079
+ ...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
3080
+ ...toolCall.toolMetadata != null ? { toolMetadata: toolCall.toolMetadata } : {}
3081
+ });
3082
+ }
3083
+ break;
3084
+ }
3085
+ case "tool-approval-request": {
3086
+ const toolCall = toolCalls.find(
3087
+ (toolCall2) => toolCall2.toolCallId === part.toolCallId
3088
+ );
3089
+ if (toolCall == null) {
3090
+ throw new ToolCallNotFoundForApprovalError({
3091
+ toolCallId: part.toolCallId,
3092
+ approvalId: part.approvalId
3093
+ });
3094
+ }
3095
+ contentParts.push({
3096
+ type: "tool-approval-request",
3097
+ approvalId: part.approvalId,
3098
+ toolCall
3099
+ });
3100
+ break;
3101
+ }
3102
+ }
3103
+ }
3104
+ for (const toolOutput of toolOutputs) {
3105
+ if (toolCallIdsWithApprovalResponses.has(toolOutput.toolCallId)) {
3106
+ toolOutputsWithApprovalResponses.push(toolOutput);
3107
+ } else {
3108
+ toolOutputsWithoutApprovalResponses.push(toolOutput);
3109
+ }
3110
+ }
3111
+ return [
3112
+ ...contentParts,
3113
+ ...toolOutputsWithoutApprovalResponses,
3114
+ ...toolApprovalRequests,
3115
+ ...toolApprovalResponses,
3116
+ ...toolOutputsWithApprovalResponses
3117
+ ];
3118
+ }
3119
+
2970
3120
  // src/generate-text/execute-tool-call.ts
2971
3121
  import {
2972
3122
  executeTool,
@@ -3139,43 +3289,6 @@ function filterActiveTools({
3139
3289
  );
3140
3290
  }
3141
3291
 
3142
- // src/generate-text/generated-file.ts
3143
- import {
3144
- convertBase64ToUint8Array,
3145
- convertUint8ArrayToBase64
3146
- } from "@ai-sdk/provider-utils";
3147
- var DefaultGeneratedFile = class {
3148
- constructor({
3149
- data,
3150
- mediaType
3151
- }) {
3152
- const isUint8Array = data instanceof Uint8Array;
3153
- this.base64Data = isUint8Array ? void 0 : data;
3154
- this.uint8ArrayData = isUint8Array ? data : void 0;
3155
- this.mediaType = mediaType;
3156
- }
3157
- // lazy conversion with caching to avoid unnecessary conversion overhead:
3158
- get base64() {
3159
- if (this.base64Data == null) {
3160
- this.base64Data = convertUint8ArrayToBase64(this.uint8ArrayData);
3161
- }
3162
- return this.base64Data;
3163
- }
3164
- // lazy conversion with caching to avoid unnecessary conversion overhead:
3165
- get uint8Array() {
3166
- if (this.uint8ArrayData == null) {
3167
- this.uint8ArrayData = convertBase64ToUint8Array(this.base64Data);
3168
- }
3169
- return this.uint8ArrayData;
3170
- }
3171
- };
3172
- var DefaultGeneratedFileWithType = class extends DefaultGeneratedFile {
3173
- constructor(options) {
3174
- super(options);
3175
- this.type = "file";
3176
- }
3177
- };
3178
-
3179
3292
  // src/generate-text/is-tool-execution-allowed-finish-reason.ts
3180
3293
  function isToolExecutionAllowedFinishReason(finishReason) {
3181
3294
  return finishReason === "stop" || finishReason === "tool-calls";
@@ -4041,10 +4154,10 @@ function prepareStepCallSettings({
4041
4154
  callSettings,
4042
4155
  stepSettings
4043
4156
  }) {
4044
- var _a24, _b, _c, _d, _e, _f, _g, _h, _i;
4157
+ var _a24, _b24, _c, _d, _e, _f, _g, _h, _i;
4045
4158
  return prepareLanguageModelCallOptions({
4046
4159
  maxOutputTokens: (_a24 = stepSettings == null ? void 0 : stepSettings.maxOutputTokens) != null ? _a24 : callSettings.maxOutputTokens,
4047
- temperature: (_b = stepSettings == null ? void 0 : stepSettings.temperature) != null ? _b : callSettings.temperature,
4160
+ temperature: (_b24 = stepSettings == null ? void 0 : stepSettings.temperature) != null ? _b24 : callSettings.temperature,
4048
4161
  topP: (_c = stepSettings == null ? void 0 : stepSettings.topP) != null ? _c : callSettings.topP,
4049
4162
  topK: (_d = stepSettings == null ? void 0 : stepSettings.topK) != null ? _d : callSettings.topK,
4050
4163
  presencePenalty: (_e = stepSettings == null ? void 0 : stepSettings.presencePenalty) != null ? _e : callSettings.presencePenalty,
@@ -4351,7 +4464,7 @@ function createTelemetryDispatcher({
4351
4464
  var _a24;
4352
4465
  return (_a24 = integration[key]) == null ? void 0 : _a24.bind(integration);
4353
4466
  }).filter(Boolean).map(
4354
- (callback) => (event) => callback(augmentEvent(event, telemetryMetadata))
4467
+ (callback) => ((event) => callback(augmentEvent(event, telemetryMetadata)))
4355
4468
  );
4356
4469
  const mergedIntegrationCallback = mergeCallbacks(...integrationCallbacks);
4357
4470
  return async (event) => {
@@ -4740,8 +4853,8 @@ function isLoopFinished() {
4740
4853
  }
4741
4854
  function hasToolCall(...toolName) {
4742
4855
  return ({ steps }) => {
4743
- var _a24, _b, _c;
4744
- return (_c = (_b = (_a24 = steps[steps.length - 1]) == null ? void 0 : _a24.toolCalls) == null ? void 0 : _b.some(
4856
+ var _a24, _b24, _c;
4857
+ return (_c = (_b24 = (_a24 = steps[steps.length - 1]) == null ? void 0 : _a24.toolCalls) == null ? void 0 : _b24.some(
4745
4858
  (toolCall) => toolName.includes(toolCall.toolName)
4746
4859
  )) != null ? _c : false;
4747
4860
  };
@@ -5006,7 +5119,7 @@ function prepareToolsForToolCallers({
5006
5119
  tools,
5007
5120
  toolCallers
5008
5121
  }) {
5009
- var _a24, _b;
5122
+ var _a24, _b24;
5010
5123
  if (tools == null || toolCallers == null) {
5011
5124
  return { executionTools: tools, modelTools: tools };
5012
5125
  }
@@ -5056,7 +5169,7 @@ function prepareToolsForToolCallers({
5056
5169
  if ((caller == null ? void 0 : caller.type) !== "local") {
5057
5170
  continue;
5058
5171
  }
5059
- const boundCaller = caller.bind((_b = localToolsByCaller.get(callerName)) != null ? _b : {});
5172
+ const boundCaller = caller.bind((_b24 = localToolsByCaller.get(callerName)) != null ? _b24 : {});
5060
5173
  executionTools[callerName] = boundCaller;
5061
5174
  if (Object.prototype.hasOwnProperty.call(modelTools, callerName)) {
5062
5175
  modelTools[callerName] = boundCaller;
@@ -5079,7 +5192,7 @@ function canonicalJSON(value) {
5079
5192
  return JSON.stringify(value);
5080
5193
  }
5081
5194
  if (Array.isArray(value)) {
5082
- return `[${value.map(canonicalJSON).join(",")}]`;
5195
+ return `[${value.map((element) => element === void 0 ? "null" : canonicalJSON(element)).join(",")}]`;
5083
5196
  }
5084
5197
  const keys = Object.keys(value).sort();
5085
5198
  const entries = keys.map(
@@ -5178,8 +5291,7 @@ async function maybeSignApproval({
5178
5291
  toolName,
5179
5292
  input
5180
5293
  }) {
5181
- if (secret == null)
5182
- return void 0;
5294
+ if (secret == null) return void 0;
5183
5295
  return signToolApproval({ secret, approvalId, toolCallId, toolName, input });
5184
5296
  }
5185
5297
 
@@ -5339,10 +5451,10 @@ async function generateText({
5339
5451
  onEnd = onFinish,
5340
5452
  ...settings
5341
5453
  }) {
5342
- var _a24, _b, _c, _d;
5454
+ var _a24, _b24, _c, _d;
5343
5455
  include = {
5344
5456
  requestBody: (_a24 = include == null ? void 0 : include.requestBody) != null ? _a24 : false,
5345
- requestMessages: (_b = include == null ? void 0 : include.requestMessages) != null ? _b : false,
5457
+ requestMessages: (_b24 = include == null ? void 0 : include.requestMessages) != null ? _b24 : false,
5346
5458
  responseBody: (_c = include == null ? void 0 : include.responseBody) != null ? _c : false
5347
5459
  };
5348
5460
  const model = resolveLanguageModel(modelArg);
@@ -5410,7 +5522,7 @@ async function generateText({
5410
5522
  includeRuntimeContext: telemetry == null ? void 0 : telemetry.includeRuntimeContext,
5411
5523
  includeToolsContext: telemetry == null ? void 0 : telemetry.includeToolsContext
5412
5524
  });
5413
- const runInTracingChannelSpan = (_d = telemetryDispatcher.runInTracingChannelSpan) != null ? _d : async ({ execute }) => await execute();
5525
+ const runInTracingChannelSpan = (_d = telemetryDispatcher.runInTracingChannelSpan) != null ? _d : (async ({ execute }) => await execute());
5414
5526
  const generateTextStartEvent = {
5415
5527
  callId,
5416
5528
  operationId: "ai.generateText",
@@ -5586,7 +5698,7 @@ async function generateText({
5586
5698
  type: "step",
5587
5699
  event: { callId, stepNumber },
5588
5700
  execute: async () => {
5589
- var _a26, _b2, _c2, _d2, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
5701
+ var _a26, _b25, _c2, _d2, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
5590
5702
  const accumulatedResponseMessages = [
5591
5703
  ...initialResponseMessages,
5592
5704
  ...steps.flatMap((step) => step.response.messages)
@@ -5607,7 +5719,7 @@ async function generateText({
5607
5719
  }));
5608
5720
  const stepSandbox = (_a26 = prepareStepResult == null ? void 0 : prepareStepResult.experimental_sandbox) != null ? _a26 : sandbox;
5609
5721
  const stepModel = resolveLanguageModel(
5610
- (_b2 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _b2 : model
5722
+ (_b25 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _b25 : model
5611
5723
  );
5612
5724
  const stepInstructions = (_d2 = (_c2 = prepareStepResult == null ? void 0 : prepareStepResult.instructions) != null ? _c2 : prepareStepResult == null ? void 0 : prepareStepResult.system) != null ? _d2 : instructionsForNextStep;
5613
5725
  const promptMessages = await convertToLanguageModelPrompt({
@@ -5698,9 +5810,9 @@ async function generateText({
5698
5810
  telemetryDispatcher.onLanguageModelCallStart
5699
5811
  ]
5700
5812
  });
5701
- const executeLanguageModelCallInTelemetryContext = (_n = telemetryDispatcher.executeLanguageModelCall) != null ? _n : async ({ execute }) => await execute();
5813
+ const executeLanguageModelCallInTelemetryContext = (_n = telemetryDispatcher.executeLanguageModelCall) != null ? _n : (async ({ execute }) => await execute());
5702
5814
  currentModelResponse = await retry(async () => {
5703
- var _a27, _b3, _c3, _d3, _e2, _f2, _g2, _h2;
5815
+ var _a27, _b26, _c3, _d3, _e2, _f2, _g2, _h2;
5704
5816
  const result = await executeLanguageModelCallInTelemetryContext(
5705
5817
  {
5706
5818
  ...languageModelCallStartEvent,
@@ -5717,7 +5829,7 @@ async function generateText({
5717
5829
  }
5718
5830
  );
5719
5831
  const responseData = {
5720
- id: (_b3 = (_a27 = result.response) == null ? void 0 : _a27.id) != null ? _b3 : generateId4(),
5832
+ id: (_b26 = (_a27 = result.response) == null ? void 0 : _a27.id) != null ? _b26 : generateId4(),
5721
5833
  timestamp: (_d3 = (_c3 = result.response) == null ? void 0 : _c3.timestamp) != null ? _d3 : /* @__PURE__ */ new Date(),
5722
5834
  modelId: (_f2 = (_e2 = result.response) == null ? void 0 : _e2.modelId) != null ? _f2 : stepModel.modelId,
5723
5835
  headers: (_g2 = result.response) == null ? void 0 : _g2.headers,
@@ -5746,7 +5858,7 @@ async function generateText({
5746
5858
  const toolApprovalRequests = {};
5747
5859
  const stepToolApprovalResponses = {};
5748
5860
  const blockedToolCallIds = /* @__PURE__ */ new Set();
5749
- const modelCallContent = asContent({
5861
+ const modelCallContent = convertLanguageModelContent({
5750
5862
  content: currentModelResponse.content,
5751
5863
  toolCalls: stepToolCalls,
5752
5864
  toolOutputs: [],
@@ -5963,8 +6075,7 @@ async function generateText({
5963
6075
  timeToFirstOutputMs: void 0
5964
6076
  };
5965
6077
  for (const toolCall of stepToolCalls) {
5966
- if (!toolCall.providerExecuted)
5967
- continue;
6078
+ if (!toolCall.providerExecuted) continue;
5968
6079
  const tool2 = getOwn(stepExecutionTools, toolCall.toolName);
5969
6080
  if ((tool2 == null ? void 0 : tool2.type) === "provider" && tool2.supportsDeferredResults) {
5970
6081
  const hasResultInResponse = currentModelResponse.content.some(
@@ -5982,7 +6093,7 @@ async function generateText({
5982
6093
  pendingDeferredToolCalls.delete(part.toolCallId);
5983
6094
  }
5984
6095
  }
5985
- const stepContent = asContent({
6096
+ const stepContent = convertLanguageModelContent({
5986
6097
  content: currentModelResponse.content,
5987
6098
  toolCalls: stepToolCalls,
5988
6099
  toolOutputs: clientToolOutputs,
@@ -6266,146 +6377,6 @@ var DefaultGenerateTextResult = class {
6266
6377
  return this._output;
6267
6378
  }
6268
6379
  };
6269
- function asContent({
6270
- content,
6271
- toolCalls,
6272
- toolOutputs,
6273
- toolApprovalRequests,
6274
- toolApprovalResponses,
6275
- tools
6276
- }) {
6277
- const contentParts = [];
6278
- const toolOutputsWithApprovalResponses = [];
6279
- const toolOutputsWithoutApprovalResponses = [];
6280
- const toolCallIdsWithApprovalResponses = new Set(
6281
- toolApprovalResponses.map(
6282
- (toolApprovalResponse) => toolApprovalResponse.toolCall.toolCallId
6283
- )
6284
- );
6285
- for (const part of content) {
6286
- switch (part.type) {
6287
- case "text":
6288
- case "reasoning":
6289
- case "custom":
6290
- case "source":
6291
- contentParts.push(part);
6292
- break;
6293
- case "file":
6294
- case "reasoning-file": {
6295
- contentParts.push({
6296
- type: part.type,
6297
- file: new DefaultGeneratedFile({
6298
- data: part.data.type === "data" ? part.data.data : part.data.url.toString(),
6299
- mediaType: part.mediaType
6300
- }),
6301
- ...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}
6302
- });
6303
- break;
6304
- }
6305
- case "tool-call": {
6306
- contentParts.push(
6307
- toolCalls.find((toolCall) => toolCall.toolCallId === part.toolCallId)
6308
- );
6309
- break;
6310
- }
6311
- case "tool-result": {
6312
- const toolCall = toolCalls.find(
6313
- (toolCall2) => toolCall2.toolCallId === part.toolCallId
6314
- );
6315
- if (toolCall == null) {
6316
- const tool2 = getOwn(tools, part.toolName);
6317
- const supportsDeferredResults = (tool2 == null ? void 0 : tool2.type) === "provider" && tool2.supportsDeferredResults;
6318
- if (!supportsDeferredResults) {
6319
- throw new Error(`Tool call ${part.toolCallId} not found.`);
6320
- }
6321
- if (part.isError) {
6322
- contentParts.push({
6323
- type: "tool-error",
6324
- toolCallId: part.toolCallId,
6325
- toolName: part.toolName,
6326
- input: void 0,
6327
- error: part.result,
6328
- providerExecuted: true,
6329
- dynamic: part.dynamic,
6330
- ...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
6331
- ...(tool2 == null ? void 0 : tool2.metadata) != null ? { toolMetadata: tool2.metadata } : {}
6332
- });
6333
- } else {
6334
- contentParts.push({
6335
- type: "tool-result",
6336
- toolCallId: part.toolCallId,
6337
- toolName: part.toolName,
6338
- input: void 0,
6339
- output: part.result,
6340
- providerExecuted: true,
6341
- dynamic: part.dynamic,
6342
- ...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
6343
- ...(tool2 == null ? void 0 : tool2.metadata) != null ? { toolMetadata: tool2.metadata } : {}
6344
- });
6345
- }
6346
- break;
6347
- }
6348
- if (part.isError) {
6349
- contentParts.push({
6350
- type: "tool-error",
6351
- toolCallId: part.toolCallId,
6352
- toolName: part.toolName,
6353
- input: toolCall.input,
6354
- error: part.result,
6355
- providerExecuted: true,
6356
- dynamic: toolCall.dynamic,
6357
- ...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
6358
- ...toolCall.toolMetadata != null ? { toolMetadata: toolCall.toolMetadata } : {}
6359
- });
6360
- } else {
6361
- contentParts.push({
6362
- type: "tool-result",
6363
- toolCallId: part.toolCallId,
6364
- toolName: part.toolName,
6365
- input: toolCall.input,
6366
- output: part.result,
6367
- providerExecuted: true,
6368
- dynamic: toolCall.dynamic,
6369
- ...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
6370
- ...toolCall.toolMetadata != null ? { toolMetadata: toolCall.toolMetadata } : {}
6371
- });
6372
- }
6373
- break;
6374
- }
6375
- case "tool-approval-request": {
6376
- const toolCall = toolCalls.find(
6377
- (toolCall2) => toolCall2.toolCallId === part.toolCallId
6378
- );
6379
- if (toolCall == null) {
6380
- throw new ToolCallNotFoundForApprovalError({
6381
- toolCallId: part.toolCallId,
6382
- approvalId: part.approvalId
6383
- });
6384
- }
6385
- contentParts.push({
6386
- type: "tool-approval-request",
6387
- approvalId: part.approvalId,
6388
- toolCall
6389
- });
6390
- break;
6391
- }
6392
- }
6393
- }
6394
- for (const toolOutput of toolOutputs) {
6395
- if (toolCallIdsWithApprovalResponses.has(toolOutput.toolCallId)) {
6396
- toolOutputsWithApprovalResponses.push(toolOutput);
6397
- } else {
6398
- toolOutputsWithoutApprovalResponses.push(toolOutput);
6399
- }
6400
- }
6401
- return [
6402
- ...contentParts,
6403
- ...toolOutputsWithoutApprovalResponses,
6404
- ...toolApprovalRequests,
6405
- ...toolApprovalResponses,
6406
- ...toolOutputsWithApprovalResponses
6407
- ];
6408
- }
6409
6380
 
6410
6381
  // src/generate-text/stream-text.ts
6411
6382
  import {
@@ -6466,8 +6437,7 @@ function writeToServerResponse({
6466
6437
  try {
6467
6438
  while (true) {
6468
6439
  const { done, value } = await reader.read();
6469
- if (done)
6470
- break;
6440
+ if (done) break;
6471
6441
  const canContinue = response.write(value);
6472
6442
  const flush = response.flush;
6473
6443
  if (typeof flush === "function") {
@@ -6887,7 +6857,7 @@ function processUIMessageStream({
6887
6857
  new TransformStream({
6888
6858
  async transform(chunk, controller) {
6889
6859
  await runUpdateMessageJob(async ({ state, write }) => {
6890
- var _a24, _b, _c, _d;
6860
+ var _a24, _b24, _c, _d;
6891
6861
  function getCurrentStepParts() {
6892
6862
  const parts = state.message.parts;
6893
6863
  let currentStepStartIndex = parts.length - 1;
@@ -6989,7 +6959,7 @@ function processUIMessageStream({
6989
6959
  }
6990
6960
  }
6991
6961
  function updateDynamicToolPart(options, existingPart) {
6992
- var _a25, _b2;
6962
+ var _a25, _b25;
6993
6963
  const part = existingPart != null ? existingPart : getCurrentStepParts().find(
6994
6964
  (part2) => part2.type === "dynamic-tool" && part2.toolCallId === options.toolCallId
6995
6965
  );
@@ -7009,7 +6979,7 @@ function processUIMessageStream({
7009
6979
  if (options.toolMetadata !== void 0) {
7010
6980
  anyPart.toolMetadata = options.toolMetadata;
7011
6981
  }
7012
- anyPart.providerExecuted = (_b2 = anyOptions.providerExecuted) != null ? _b2 : part.providerExecuted;
6982
+ anyPart.providerExecuted = (_b25 = anyOptions.providerExecuted) != null ? _b25 : part.providerExecuted;
7013
6983
  const providerMetadata = anyOptions.providerMetadata;
7014
6984
  if (providerMetadata != null) {
7015
6985
  if (options.state === "output-available" || options.state === "output-error") {
@@ -7090,7 +7060,7 @@ function processUIMessageStream({
7090
7060
  });
7091
7061
  }
7092
7062
  textPart.state = "done";
7093
- textPart.providerMetadata = (_b = chunk.providerMetadata) != null ? _b : textPart.providerMetadata;
7063
+ textPart.providerMetadata = (_b24 = chunk.providerMetadata) != null ? _b24 : textPart.providerMetadata;
7094
7064
  delete state.activeTextParts[chunk.id];
7095
7065
  write();
7096
7066
  break;
@@ -8041,8 +8011,7 @@ function asAsyncIterableStream(stream) {
8041
8011
  let finished = false;
8042
8012
  async function cleanup(cancelStream) {
8043
8013
  var _a24;
8044
- if (finished)
8045
- return;
8014
+ if (finished) return;
8046
8015
  finished = true;
8047
8016
  try {
8048
8017
  if (cancelStream) {
@@ -8121,8 +8090,7 @@ async function consumeStream({
8121
8090
  try {
8122
8091
  while (true) {
8123
8092
  const { done } = await reader.read();
8124
- if (done)
8125
- break;
8093
+ if (done) break;
8126
8094
  }
8127
8095
  } catch (error) {
8128
8096
  onError == null ? void 0 : onError(error);
@@ -8428,8 +8396,7 @@ function invokeToolCallbacksFromStream({
8428
8396
  abortSignal,
8429
8397
  runtimeContext
8430
8398
  }) {
8431
- if (tools == null)
8432
- return stream;
8399
+ if (tools == null) return stream;
8433
8400
  const ongoingToolCallToolNames = createIdMap();
8434
8401
  return stream.pipeThrough(
8435
8402
  new TransformStream({
@@ -8495,7 +8462,7 @@ import {
8495
8462
  import { AISDKError as AISDKError26 } from "@ai-sdk/provider";
8496
8463
  import { isProviderStreamError } from "@ai-sdk/provider-utils";
8497
8464
  function normalizeStreamProviderError(error) {
8498
- var _a24, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
8465
+ var _a24, _b24, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
8499
8466
  if (isError(error) || AISDKError26.isInstance(error) || StreamProviderError.isInstance(error)) {
8500
8467
  return error;
8501
8468
  }
@@ -8504,7 +8471,7 @@ function normalizeStreamProviderError(error) {
8504
8471
  return error;
8505
8472
  }
8506
8473
  const providerStreamError = isProviderStreamError(error);
8507
- const details = providerStreamError ? outer : (_c = (_b = asRecord((_a24 = asRecord(outer.response)) == null ? void 0 : _a24.error)) != null ? _b : asRecord(outer.error)) != null ? _c : outer;
8474
+ const details = providerStreamError ? outer : (_c = (_b24 = asRecord((_a24 = asRecord(outer.response)) == null ? void 0 : _a24.error)) != null ? _b24 : asRecord(outer.error)) != null ? _c : outer;
8508
8475
  if (typeof details.message !== "string") {
8509
8476
  return error;
8510
8477
  }
@@ -8714,7 +8681,7 @@ function createLanguageModelV4StreamPartToLanguageModelStreamPartTransform({
8714
8681
  const timeBetweenOutputChunksMs = [];
8715
8682
  return new TransformStream({
8716
8683
  async transform(chunk, controller) {
8717
- var _a24, _b, _c;
8684
+ var _a24, _b24, _c;
8718
8685
  if (isOutputChunk(chunk)) {
8719
8686
  const outputChunkTimestampMs = now2();
8720
8687
  if (timeToFirstOutputMs == null) {
@@ -8973,7 +8940,7 @@ function createLanguageModelV4StreamPartToLanguageModelStreamPartTransform({
8973
8940
  break;
8974
8941
  }
8975
8942
  case "response-metadata": {
8976
- responseId = (_b = chunk.id) != null ? _b : responseId;
8943
+ responseId = (_b24 = chunk.id) != null ? _b24 : responseId;
8977
8944
  responseModelId = (_c = chunk.modelId) != null ? _c : responseModelId;
8978
8945
  controller.enqueue({
8979
8946
  type: "model-call-response-metadata",
@@ -9153,7 +9120,7 @@ function streamText({
9153
9120
  } = {},
9154
9121
  ...settings
9155
9122
  }) {
9156
- var _a24, _b, _c, _d;
9123
+ var _a24, _b24, _c, _d;
9157
9124
  const totalTimeoutMs = getTotalTimeoutMs(timeout);
9158
9125
  const stepTimeoutMs = getStepTimeoutMs(timeout);
9159
9126
  const firstChunkTimeoutMs = getFirstChunkTimeoutMs(timeout);
@@ -9228,7 +9195,7 @@ function streamText({
9228
9195
  // assign default values to include:
9229
9196
  include: {
9230
9197
  requestBody: (_a24 = include == null ? void 0 : include.requestBody) != null ? _a24 : false,
9231
- requestMessages: (_b = include == null ? void 0 : include.requestMessages) != null ? _b : false,
9198
+ requestMessages: (_b24 = include == null ? void 0 : include.requestMessages) != null ? _b24 : false,
9232
9199
  rawChunks: (_d = (_c = include == null ? void 0 : include.rawChunks) != null ? _c : includeRawChunks) != null ? _d : false
9233
9200
  }
9234
9201
  });
@@ -9412,7 +9379,7 @@ var DefaultStreamTextResult = class {
9412
9379
  let recordedNoOutputError;
9413
9380
  const eventProcessor = new TransformStream({
9414
9381
  async transform(chunk, controller) {
9415
- var _a24, _b, _c, _d;
9382
+ var _a24, _b24, _c, _d;
9416
9383
  controller.enqueue(chunk);
9417
9384
  const { part } = chunk;
9418
9385
  await notify({
@@ -9467,7 +9434,7 @@ var DefaultStreamTextResult = class {
9467
9434
  });
9468
9435
  return;
9469
9436
  }
9470
- activeText.providerMetadata = (_b = part.providerMetadata) != null ? _b : activeText.providerMetadata;
9437
+ activeText.providerMetadata = (_b24 = part.providerMetadata) != null ? _b24 : activeText.providerMetadata;
9471
9438
  delete activeTextContent[part.id];
9472
9439
  }
9473
9440
  if (part.type === "reasoning-start") {
@@ -9612,42 +9579,56 @@ var DefaultStreamTextResult = class {
9612
9579
  var _a24;
9613
9580
  return (_a24 = step.warnings) != null ? _a24 : [];
9614
9581
  });
9615
- await notify({
9616
- event: {
9617
- callId,
9618
- toolsContext: finalStep.toolsContext,
9619
- stepNumber: finalStep.stepNumber,
9620
- model: finalStep.model,
9621
- runtimeContext: finalStep.runtimeContext,
9622
- finishReason: finalStep.finishReason,
9623
- rawFinishReason: finalStep.rawFinishReason,
9624
- usage: totalUsage,
9625
- totalUsage,
9626
- content,
9627
- text: finalStep.text,
9628
- reasoning: finalStep.reasoning,
9629
- reasoningText: finalStep.reasoningText,
9630
- files,
9631
- sources,
9632
- toolCalls,
9633
- staticToolCalls,
9634
- dynamicToolCalls,
9635
- toolResults,
9636
- staticToolResults,
9637
- dynamicToolResults,
9638
- responseMessages: [
9639
- ...initialResponseMessages,
9640
- ...recordedSteps.flatMap((step) => step.response.messages)
9641
- ],
9642
- warnings,
9643
- request: finalStep.request,
9644
- response: finalStep.response,
9645
- providerMetadata: finalStep.providerMetadata,
9646
- steps: recordedSteps,
9647
- finalStep
9648
- },
9649
- callbacks: [onEnd, telemetryDispatcher.onEnd]
9650
- });
9582
+ const onEndWithOutput = onEnd == null ? void 0 : async (event) => {
9583
+ const parsedOutput = output == null ? void 0 : await self.getOutputPromise().catch(() => void 0);
9584
+ await onEnd({
9585
+ ...event,
9586
+ ...output != null ? { output: parsedOutput } : {}
9587
+ });
9588
+ };
9589
+ const onEndEvent = {
9590
+ callId,
9591
+ toolsContext: finalStep.toolsContext,
9592
+ stepNumber: finalStep.stepNumber,
9593
+ model: finalStep.model,
9594
+ runtimeContext: finalStep.runtimeContext,
9595
+ finishReason: finalStep.finishReason,
9596
+ rawFinishReason: finalStep.rawFinishReason,
9597
+ usage: totalUsage,
9598
+ totalUsage,
9599
+ content,
9600
+ text: finalStep.text,
9601
+ reasoning: finalStep.reasoning,
9602
+ reasoningText: finalStep.reasoningText,
9603
+ files,
9604
+ sources,
9605
+ toolCalls,
9606
+ staticToolCalls,
9607
+ dynamicToolCalls,
9608
+ toolResults,
9609
+ staticToolResults,
9610
+ dynamicToolResults,
9611
+ responseMessages: [
9612
+ ...initialResponseMessages,
9613
+ ...recordedSteps.flatMap((step) => step.response.messages)
9614
+ ],
9615
+ warnings,
9616
+ request: finalStep.request,
9617
+ response: finalStep.response,
9618
+ providerMetadata: finalStep.providerMetadata,
9619
+ steps: recordedSteps,
9620
+ finalStep
9621
+ };
9622
+ await Promise.all([
9623
+ notify({
9624
+ event: onEndEvent,
9625
+ callbacks: onEndWithOutput
9626
+ }),
9627
+ notify({
9628
+ event: onEndEvent,
9629
+ callbacks: telemetryDispatcher.onEnd
9630
+ })
9631
+ ]);
9651
9632
  } catch (error) {
9652
9633
  controller.error(error);
9653
9634
  }
@@ -9933,7 +9914,7 @@ var DefaultStreamTextResult = class {
9933
9914
  currentStep,
9934
9915
  usage
9935
9916
  }) {
9936
- var _a25, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
9917
+ var _a25, _b24, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
9937
9918
  const stepTimeoutId = setAbortTimeout({
9938
9919
  abortController: stepAbortController,
9939
9920
  label: "Step",
@@ -10025,7 +10006,7 @@ var DefaultStreamTextResult = class {
10025
10006
  runtimeContext,
10026
10007
  experimental_sandbox: sandbox
10027
10008
  }));
10028
- const stepSandbox = (_b = prepareStepResult == null ? void 0 : prepareStepResult.experimental_sandbox) != null ? _b : sandbox;
10009
+ const stepSandbox = (_b24 = prepareStepResult == null ? void 0 : prepareStepResult.experimental_sandbox) != null ? _b24 : sandbox;
10029
10010
  runtimeContext = (_c = prepareStepResult == null ? void 0 : prepareStepResult.runtimeContext) != null ? _c : runtimeContext;
10030
10011
  toolsContext = (_d = prepareStepResult == null ? void 0 : prepareStepResult.toolsContext) != null ? _d : toolsContext;
10031
10012
  const stepModel = resolveLanguageModel(
@@ -10074,12 +10055,12 @@ var DefaultStreamTextResult = class {
10074
10055
  } = await runInStepTracingChannelContext(
10075
10056
  () => retry(
10076
10057
  async () => {
10077
- var _a26, _b2;
10058
+ var _a26, _b25;
10078
10059
  return streamLanguageModelCall({
10079
10060
  model: (_a26 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a26 : model,
10080
10061
  tools: stepModelTools,
10081
10062
  toolOrder: stepToolOrder,
10082
- toolChoice: (_b2 = prepareStepResult == null ? void 0 : prepareStepResult.toolChoice) != null ? _b2 : toolChoice,
10063
+ toolChoice: (_b25 = prepareStepResult == null ? void 0 : prepareStepResult.toolChoice) != null ? _b25 : toolChoice,
10083
10064
  instructions: stepInstructions,
10084
10065
  messages: stepMessages,
10085
10066
  allowSystemInMessages,
@@ -10104,7 +10085,7 @@ var DefaultStreamTextResult = class {
10104
10085
  telemetryDispatcher.onLanguageModelCallEnd
10105
10086
  ),
10106
10087
  onStart: async ({ promptMessages }) => {
10107
- var _a27, _b3;
10088
+ var _a27, _b26;
10108
10089
  await notify({
10109
10090
  event: {
10110
10091
  callId,
@@ -10115,7 +10096,7 @@ var DefaultStreamTextResult = class {
10115
10096
  messages: stepMessages,
10116
10097
  tools,
10117
10098
  toolChoice: (_a27 = prepareStepResult == null ? void 0 : prepareStepResult.toolChoice) != null ? _a27 : toolChoice,
10118
- activeTools: (_b3 = prepareStepResult == null ? void 0 : prepareStepResult.activeTools) != null ? _b3 : activeTools,
10099
+ activeTools: (_b26 = prepareStepResult == null ? void 0 : prepareStepResult.activeTools) != null ? _b26 : activeTools,
10119
10100
  toolOrder: stepToolOrder,
10120
10101
  steps: [...recordedSteps],
10121
10102
  providerOptions: stepProviderOptions,
@@ -10212,7 +10193,7 @@ var DefaultStreamTextResult = class {
10212
10193
  streamWithToolResults.pipeThrough(
10213
10194
  new TransformStream({
10214
10195
  async transform(chunk, controller) {
10215
- var _a26, _b2, _c2, _d2, _e2, _f2, _g2;
10196
+ var _a26, _b25, _c2, _d2, _e2, _f2, _g2;
10216
10197
  if (chunk.type === "model-call-start") {
10217
10198
  warnings = chunk.warnings;
10218
10199
  return;
@@ -10263,7 +10244,7 @@ var DefaultStreamTextResult = class {
10263
10244
  case "text-end": {
10264
10245
  controller.enqueue({
10265
10246
  ...chunk,
10266
- id: (_b2 = textPartIds.get(chunk.id)) != null ? _b2 : chunk.id
10247
+ id: (_b25 = textPartIds.get(chunk.id)) != null ? _b25 : chunk.id
10267
10248
  });
10268
10249
  textPartIds.delete(chunk.id);
10269
10250
  break;
@@ -10393,8 +10374,7 @@ var DefaultStreamTextResult = class {
10393
10374
  (toolApprovalResponse) => toolApprovalResponse.approved === false
10394
10375
  );
10395
10376
  for (const toolCall of stepToolCalls) {
10396
- if (toolCall.providerExecuted !== true)
10397
- continue;
10377
+ if (toolCall.providerExecuted !== true) continue;
10398
10378
  const tool2 = getOwn(stepExecutionTools, toolCall.toolName);
10399
10379
  if ((tool2 == null ? void 0 : tool2.type) === "provider" && tool2.supportsDeferredResults) {
10400
10380
  const hasResultInStep = stepToolOutputs.some(
@@ -10657,28 +10637,34 @@ var DefaultStreamTextResult = class {
10657
10637
  );
10658
10638
  }
10659
10639
  get elementStream() {
10660
- var _a24, _b, _c;
10640
+ var _a24, _b24, _c;
10661
10641
  const transform = (_a24 = this.outputSpecification) == null ? void 0 : _a24.createElementStreamTransform();
10662
10642
  if (transform == null) {
10663
10643
  throw new UnsupportedFunctionalityError2({
10664
- functionality: `element streams in ${(_c = (_b = this.outputSpecification) == null ? void 0 : _b.name) != null ? _c : "text"} mode`
10644
+ functionality: `element streams in ${(_c = (_b24 = this.outputSpecification) == null ? void 0 : _b24.name) != null ? _c : "text"} mode`
10665
10645
  });
10666
10646
  }
10667
10647
  return createAsyncIterableStream(this.teeStream().pipeThrough(transform));
10668
10648
  }
10649
+ getOutputPromise() {
10650
+ if (this.outputPromise == null) {
10651
+ this.outputPromise = this.finalStep.then((step) => {
10652
+ var _a24;
10653
+ const output = (_a24 = this.outputSpecification) != null ? _a24 : text();
10654
+ return output.parseCompleteOutput(
10655
+ { text: step.text },
10656
+ {
10657
+ response: step.response,
10658
+ usage: step.usage,
10659
+ finishReason: step.finishReason
10660
+ }
10661
+ );
10662
+ });
10663
+ }
10664
+ return this.outputPromise;
10665
+ }
10669
10666
  get output() {
10670
- return this.finalStep.then((step) => {
10671
- var _a24;
10672
- const output = (_a24 = this.outputSpecification) != null ? _a24 : text();
10673
- return output.parseCompleteOutput(
10674
- { text: step.text },
10675
- {
10676
- response: step.response,
10677
- usage: step.usage,
10678
- finishReason: step.finishReason
10679
- }
10680
- );
10681
- });
10667
+ return this.getOutputPromise();
10682
10668
  }
10683
10669
  toUIMessageStream({
10684
10670
  originalMessages,
@@ -10800,7 +10786,7 @@ var ToolLoopAgent = class {
10800
10786
  return this.settings.tools;
10801
10787
  }
10802
10788
  async prepareCall(options) {
10803
- var _a24, _b, _c, _d;
10789
+ var _a24, _b24, _c, _d;
10804
10790
  if (this.settings.callOptionsSchema != null && options.options !== void 0) {
10805
10791
  const validatedOptions = await validateTypes3({
10806
10792
  value: options.options,
@@ -10827,8 +10813,8 @@ var ToolLoopAgent = class {
10827
10813
  stopWhen: (_a24 = this.settings.stopWhen) != null ? _a24 : isStepCount(20),
10828
10814
  ...options
10829
10815
  };
10830
- const preparedCallArgs = (_d = await ((_c = (_b = this.settings).prepareCall) == null ? void 0 : _c.call(
10831
- _b,
10816
+ const preparedCallArgs = (_d = await ((_c = (_b24 = this.settings).prepareCall) == null ? void 0 : _c.call(
10817
+ _b24,
10832
10818
  baseCallArgs
10833
10819
  ))) != null ? _d : baseCallArgs;
10834
10820
  const {
@@ -10888,7 +10874,7 @@ var ToolLoopAgent = class {
10888
10874
  onEnd = onFinish,
10889
10875
  ...options
10890
10876
  }) {
10891
- var _a24, _b, _c;
10877
+ var _a24, _b24, _c;
10892
10878
  const generate = generateText;
10893
10879
  const preparedCall = await this.prepareCall({
10894
10880
  ...options,
@@ -10903,7 +10889,7 @@ var ToolLoopAgent = class {
10903
10889
  onStart != null ? onStart : experimental_onStart
10904
10890
  ),
10905
10891
  onStepStart: mergeCallbacks(
10906
- (_b = this.settings.onStepStart) != null ? _b : this.settings.experimental_onStepStart,
10892
+ (_b24 = this.settings.onStepStart) != null ? _b24 : this.settings.experimental_onStepStart,
10907
10893
  onStepStart != null ? onStepStart : experimental_onStepStart
10908
10894
  ),
10909
10895
  onToolExecutionStart: mergeCallbacks(
@@ -10946,7 +10932,7 @@ var ToolLoopAgent = class {
10946
10932
  onEnd = onFinish,
10947
10933
  ...options
10948
10934
  }) {
10949
- var _a24, _b, _c;
10935
+ var _a24, _b24, _c;
10950
10936
  const stream = streamText;
10951
10937
  const preparedCall = await this.prepareCall({
10952
10938
  ...options,
@@ -10962,7 +10948,7 @@ var ToolLoopAgent = class {
10962
10948
  onStart != null ? onStart : experimental_onStart
10963
10949
  ),
10964
10950
  onStepStart: mergeCallbacks(
10965
- (_b = this.settings.onStepStart) != null ? _b : this.settings.experimental_onStepStart,
10951
+ (_b24 = this.settings.onStepStart) != null ? _b24 : this.settings.experimental_onStepStart,
10966
10952
  onStepStart != null ? onStepStart : experimental_onStepStart
10967
10953
  ),
10968
10954
  onToolExecutionStart: mergeCallbacks(
@@ -11057,8 +11043,7 @@ function createUIMessageStream({
11057
11043
  const reader = streamArg.getReader();
11058
11044
  while (true) {
11059
11045
  const { done, value } = await reader.read();
11060
- if (done)
11061
- break;
11046
+ if (done) break;
11062
11047
  safeEnqueue(value);
11063
11048
  }
11064
11049
  })().catch((error) => {
@@ -11242,7 +11227,7 @@ async function convertToModelMessages(messages, options) {
11242
11227
  if (message.parts != null) {
11243
11228
  let block = [];
11244
11229
  async function processBlock() {
11245
- var _a24, _b, _c, _d, _e, _f, _g;
11230
+ var _a24, _b24, _c, _d, _e, _f, _g;
11246
11231
  if (block.length === 0) {
11247
11232
  return;
11248
11233
  }
@@ -11306,7 +11291,7 @@ async function convertToModelMessages(messages, options) {
11306
11291
  });
11307
11292
  }
11308
11293
  if (part.providerExecuted === true && part.state !== "approval-responded" && (part.state === "output-available" || part.state === "output-error")) {
11309
- const resultProviderMetadata = (_b = part.resultProviderMetadata) != null ? _b : part.callProviderMetadata;
11294
+ const resultProviderMetadata = (_b24 = part.resultProviderMetadata) != null ? _b24 : part.callProviderMetadata;
11310
11295
  content.push({
11311
11296
  type: "tool-result",
11312
11297
  toolCallId: part.toolCallId,
@@ -11970,8 +11955,7 @@ async function safeValidateUIMessages(options) {
11970
11955
  }
11971
11956
  async function validateUIMessages(options) {
11972
11957
  const response = await safeValidateUIMessages(options);
11973
- if (!response.success)
11974
- throw response.error;
11958
+ if (!response.success) throw response.error;
11975
11959
  return response.data;
11976
11960
  }
11977
11961
  async function validateUIMessagesForAgent(options) {
@@ -11981,8 +11965,7 @@ async function validateUIMessagesForAgent(options) {
11981
11965
  // tool parts when those tools are no longer registered.
11982
11966
  convertMissingTerminalToolsToDynamic: true
11983
11967
  });
11984
- if (!response.success)
11985
- throw response.error;
11968
+ if (!response.success) throw response.error;
11986
11969
  return response.data;
11987
11970
  }
11988
11971
 
@@ -12191,8 +12174,8 @@ function getBatchResults({
12191
12174
  abortSignal: operationAbortSignal
12192
12175
  });
12193
12176
  const transformer = {
12194
- transform(item, controller) {
12195
- controller.enqueue(convertBatchItemResult(item));
12177
+ async transform(item, controller) {
12178
+ controller.enqueue(await convertBatchItemResult(item));
12196
12179
  },
12197
12180
  cancel(reason) {
12198
12181
  streamAbortController.abort(
@@ -12281,20 +12264,43 @@ function validateBatchReference({
12281
12264
  });
12282
12265
  }
12283
12266
  }
12284
- function convertBatchItemResult(item) {
12267
+ async function convertBatchItemResult(item) {
12285
12268
  if (item.status !== "succeeded") {
12286
12269
  return item;
12287
12270
  }
12288
12271
  return {
12289
12272
  id: item.id,
12290
12273
  status: "succeeded",
12291
- ...convertGenerateResult(item.result)
12274
+ ...await convertGenerateResult(item.result)
12292
12275
  };
12293
12276
  }
12294
- function convertGenerateResult(result) {
12277
+ async function convertGenerateResult(result) {
12295
12278
  var _a24;
12279
+ const toolCalls = await Promise.all(
12280
+ result.content.filter(
12281
+ (part) => part.type === "tool-call"
12282
+ ).map(
12283
+ (toolCall) => parseToolCall({
12284
+ toolCall,
12285
+ tools: void 0,
12286
+ repairToolCall: void 0,
12287
+ refineToolInput: void 0,
12288
+ instructions: void 0,
12289
+ messages: []
12290
+ })
12291
+ )
12292
+ );
12293
+ const content = convertLanguageModelContent({
12294
+ content: result.content,
12295
+ toolCalls,
12296
+ toolOutputs: [],
12297
+ toolApprovalRequests: [],
12298
+ toolApprovalResponses: [],
12299
+ tools: void 0
12300
+ });
12296
12301
  return {
12297
- text: result.content.filter(
12302
+ content,
12303
+ text: content.filter(
12298
12304
  (part) => part.type === "text"
12299
12305
  ).map((part) => part.text).join(""),
12300
12306
  finishReason: result.finishReason.unified,
@@ -12351,7 +12357,7 @@ async function embed({
12351
12357
  const telemetryDispatcher = createTelemetryDispatcher({
12352
12358
  telemetry
12353
12359
  });
12354
- const runInTracingChannelSpan = (_a24 = telemetryDispatcher.runInTracingChannelSpan) != null ? _a24 : async ({ execute }) => await execute();
12360
+ const runInTracingChannelSpan = (_a24 = telemetryDispatcher.runInTracingChannelSpan) != null ? _a24 : (async ({ execute }) => await execute());
12355
12361
  const startEvent = {
12356
12362
  callId,
12357
12363
  operationId: "ai.embed",
@@ -12373,7 +12379,7 @@ async function embed({
12373
12379
  });
12374
12380
  try {
12375
12381
  const { embedding, usage, warnings, response, providerMetadata } = await retry(async () => {
12376
- var _a26, _b;
12382
+ var _a26, _b24;
12377
12383
  const embedCallId = generateCallId();
12378
12384
  await notify({
12379
12385
  event: {
@@ -12410,7 +12416,7 @@ async function embed({
12410
12416
  return {
12411
12417
  embedding: embedding2,
12412
12418
  usage: usage2,
12413
- warnings: (_b = modelResponse.warnings) != null ? _b : [],
12419
+ warnings: (_b24 = modelResponse.warnings) != null ? _b24 : [],
12414
12420
  providerMetadata: modelResponse.providerMetadata,
12415
12421
  response: modelResponse.response
12416
12422
  };
@@ -12522,7 +12528,7 @@ async function embedMany({
12522
12528
  const telemetryDispatcher = createTelemetryDispatcher({
12523
12529
  telemetry
12524
12530
  });
12525
- const runInTracingChannelSpan = (_a24 = telemetryDispatcher.runInTracingChannelSpan) != null ? _a24 : async ({ execute }) => await execute();
12531
+ const runInTracingChannelSpan = (_a24 = telemetryDispatcher.runInTracingChannelSpan) != null ? _a24 : (async ({ execute }) => await execute());
12526
12532
  const startEvent = {
12527
12533
  callId,
12528
12534
  operationId: "ai.embedMany",
@@ -12537,7 +12543,7 @@ async function embedMany({
12537
12543
  type: "embedMany",
12538
12544
  event: startEvent,
12539
12545
  execute: async () => {
12540
- var _a25, _b;
12546
+ var _a25, _b24;
12541
12547
  await notify({
12542
12548
  event: startEvent,
12543
12549
  callbacks: [resolvedOnStart, telemetryDispatcher.onStart]
@@ -12556,7 +12562,7 @@ async function embedMany({
12556
12562
  const hasInputByteLimit = maxInputBytesPerCall != null && maxInputBytesPerCall !== Infinity;
12557
12563
  if (!hasEmbeddingLimit && !hasInputByteLimit) {
12558
12564
  const { embeddings: embeddings2, usage, warnings: warnings2, response, providerMetadata: providerMetadata2 } = await retry(async () => {
12559
- var _a26, _b2;
12565
+ var _a26, _b25;
12560
12566
  const embedCallId = generateCallId();
12561
12567
  await notify({
12562
12568
  event: {
@@ -12593,7 +12599,7 @@ async function embedMany({
12593
12599
  return {
12594
12600
  embeddings: embeddings3,
12595
12601
  usage: usage2,
12596
- warnings: (_b2 = modelResponse.warnings) != null ? _b2 : [],
12602
+ warnings: (_b25 = modelResponse.warnings) != null ? _b25 : [],
12597
12603
  providerMetadata: modelResponse.providerMetadata,
12598
12604
  response: modelResponse.response
12599
12605
  };
@@ -12645,7 +12651,7 @@ async function embedMany({
12645
12651
  const results = await Promise.all(
12646
12652
  parallelChunk.map((chunk) => {
12647
12653
  return retry(async () => {
12648
- var _a26, _b2;
12654
+ var _a26, _b25;
12649
12655
  const embedCallId = generateCallId();
12650
12656
  await notify({
12651
12657
  event: {
@@ -12682,7 +12688,7 @@ async function embedMany({
12682
12688
  return {
12683
12689
  embeddings: chunkEmbeddings,
12684
12690
  usage,
12685
- warnings: (_b2 = modelResponse.warnings) != null ? _b2 : [],
12691
+ warnings: (_b25 = modelResponse.warnings) != null ? _b25 : [],
12686
12692
  providerMetadata: modelResponse.providerMetadata,
12687
12693
  response: modelResponse.response
12688
12694
  };
@@ -12739,7 +12745,7 @@ async function embedMany({
12739
12745
  responses
12740
12746
  });
12741
12747
  } catch (error) {
12742
- await ((_b = telemetryDispatcher.onError) == null ? void 0 : _b.call(telemetryDispatcher, { callId, error }));
12748
+ await ((_b24 = telemetryDispatcher.onError) == null ? void 0 : _b24.call(telemetryDispatcher, { callId, error }));
12743
12749
  throw error;
12744
12750
  }
12745
12751
  }
@@ -12788,6 +12794,9 @@ var DefaultEmbedManyResult = class {
12788
12794
  };
12789
12795
 
12790
12796
  // src/generate-image/generate-image.ts
12797
+ import {
12798
+ isJSONObject
12799
+ } from "@ai-sdk/provider";
12791
12800
  import {
12792
12801
  convertBase64ToUint8Array as convertBase64ToUint8Array4,
12793
12802
  detectMediaType as detectMediaType2,
@@ -12830,6 +12839,15 @@ function convertDataContentToUint8Array(content) {
12830
12839
  }
12831
12840
 
12832
12841
  // src/generate-image/generate-image.ts
12842
+ var gatewayCostMetadataKeys = [
12843
+ "cost",
12844
+ "gatewayCost",
12845
+ "inferenceCost",
12846
+ "inputInferenceCost",
12847
+ "marketCost",
12848
+ "outputInferenceCost",
12849
+ "surchargeCost"
12850
+ ];
12833
12851
  async function generateImage({
12834
12852
  model: modelArg,
12835
12853
  prompt: promptArg,
@@ -12843,7 +12861,7 @@ async function generateImage({
12843
12861
  abortSignal,
12844
12862
  headers
12845
12863
  }) {
12846
- var _a24, _b;
12864
+ var _a24, _b24;
12847
12865
  const model = resolveImageModel(modelArg);
12848
12866
  const headersWithUserAgent = withUserAgentSuffix7(
12849
12867
  headers != null ? headers : {},
@@ -12882,6 +12900,7 @@ async function generateImage({
12882
12900
  )
12883
12901
  );
12884
12902
  const images = [];
12903
+ const calls = [];
12885
12904
  const warnings = [];
12886
12905
  const responses = [];
12887
12906
  const providerMetadata = {};
@@ -12891,45 +12910,68 @@ async function generateImage({
12891
12910
  totalTokens: void 0
12892
12911
  };
12893
12912
  for (const result of results) {
12894
- images.push(
12895
- ...result.images.map(
12896
- (image) => {
12897
- var _a25;
12898
- return new DefaultGeneratedFile({
12913
+ const callImages = result.images.map(
12914
+ (image, index) => {
12915
+ var _a25;
12916
+ return new DefaultGeneratedFile({
12917
+ data: image,
12918
+ mediaType: (_a25 = detectMediaType2({
12899
12919
  data: image,
12900
- mediaType: (_a25 = detectMediaType2({
12901
- data: image,
12902
- topLevelType: "image"
12903
- })) != null ? _a25 : "image/png"
12904
- });
12905
- }
12906
- )
12920
+ topLevelType: "image"
12921
+ })) != null ? _a25 : "image/png",
12922
+ providerMetadata: getImageProviderMetadata(
12923
+ result.providerMetadata,
12924
+ index
12925
+ )
12926
+ });
12927
+ }
12907
12928
  );
12929
+ images.push(...callImages);
12930
+ calls.push({
12931
+ images: callImages,
12932
+ providerMetadata: result.providerMetadata,
12933
+ response: result.response,
12934
+ warnings: result.warnings,
12935
+ usage: result.usage
12936
+ });
12908
12937
  warnings.push(...result.warnings);
12909
12938
  if (result.usage != null) {
12910
12939
  totalUsage = addImageModelUsage(totalUsage, result.usage);
12911
12940
  }
12912
12941
  if (result.providerMetadata) {
12913
- for (const [providerName, metadata] of Object.entries(result.providerMetadata)) {
12942
+ for (const [providerName, metadata] of Object.entries(
12943
+ result.providerMetadata
12944
+ )) {
12914
12945
  if (providerName === "gateway") {
12915
12946
  const currentEntry = providerMetadata[providerName];
12916
12947
  if (currentEntry != null && typeof currentEntry === "object") {
12948
+ const currentGatewayMetadata = currentEntry;
12949
+ const newGatewayMetadata = metadata;
12917
12950
  providerMetadata[providerName] = {
12918
12951
  ...currentEntry,
12919
- ...metadata
12952
+ ...metadata,
12953
+ ...Object.fromEntries(
12954
+ gatewayCostMetadataKeys.flatMap((key) => {
12955
+ const total = addDecimalStrings(
12956
+ currentGatewayMetadata[key],
12957
+ newGatewayMetadata[key]
12958
+ );
12959
+ return total == null ? [] : [[key, total]];
12960
+ })
12961
+ )
12920
12962
  };
12921
12963
  } else {
12922
- providerMetadata[providerName] = metadata;
12964
+ providerMetadata[providerName] = {
12965
+ ...metadata
12966
+ };
12923
12967
  }
12924
12968
  const imagesValue = providerMetadata[providerName].images;
12925
12969
  if (Array.isArray(imagesValue) && imagesValue.length === 0) {
12926
12970
  delete providerMetadata[providerName].images;
12927
12971
  }
12928
12972
  } else {
12929
- (_b = providerMetadata[providerName]) != null ? _b : providerMetadata[providerName] = { images: [] };
12930
- providerMetadata[providerName].images.push(
12931
- ...result.providerMetadata[providerName].images
12932
- );
12973
+ (_b24 = providerMetadata[providerName]) != null ? _b24 : providerMetadata[providerName] = { images: [] };
12974
+ providerMetadata[providerName].images.push(...metadata.images);
12933
12975
  }
12934
12976
  }
12935
12977
  }
@@ -12941,6 +12983,7 @@ async function generateImage({
12941
12983
  }
12942
12984
  return new DefaultGenerateImageResult({
12943
12985
  images,
12986
+ calls,
12944
12987
  warnings,
12945
12988
  responses,
12946
12989
  providerMetadata,
@@ -12950,6 +12993,7 @@ async function generateImage({
12950
12993
  var DefaultGenerateImageResult = class {
12951
12994
  constructor(options) {
12952
12995
  this.images = options.images;
12996
+ this.calls = options.calls;
12953
12997
  this.warnings = options.warnings;
12954
12998
  this.responses = options.responses;
12955
12999
  this.providerMetadata = options.providerMetadata;
@@ -12959,6 +13003,20 @@ var DefaultGenerateImageResult = class {
12959
13003
  return this.images[0];
12960
13004
  }
12961
13005
  };
13006
+ function getImageProviderMetadata(providerMetadata, imageIndex) {
13007
+ var _a24;
13008
+ if (providerMetadata == null) {
13009
+ return void 0;
13010
+ }
13011
+ let imageMetadata;
13012
+ for (const [providerName, metadata] of Object.entries(providerMetadata)) {
13013
+ const value = (_a24 = metadata.images) == null ? void 0 : _a24[imageIndex];
13014
+ if (isJSONObject(value) && !Array.isArray(value)) {
13015
+ (imageMetadata != null ? imageMetadata : imageMetadata = {})[providerName] = value;
13016
+ }
13017
+ }
13018
+ return imageMetadata;
13019
+ }
12962
13020
  async function invokeModelMaxImagesPerCall(model) {
12963
13021
  const isFunction = model.maxImagesPerCall instanceof Function;
12964
13022
  if (!isFunction) {
@@ -12968,6 +13026,19 @@ async function invokeModelMaxImagesPerCall(model) {
12968
13026
  modelId: model.modelId
12969
13027
  });
12970
13028
  }
13029
+ function addDecimalStrings(value1, value2) {
13030
+ if (typeof value1 !== "string" || typeof value2 !== "string" || !/^\d+(?:\.\d+)?$/.test(value1) || !/^\d+(?:\.\d+)?$/.test(value2)) {
13031
+ return void 0;
13032
+ }
13033
+ const [integer1, fraction1 = ""] = value1.split(".");
13034
+ const [integer2, fraction2 = ""] = value2.split(".");
13035
+ const precision = Math.max(fraction1.length, fraction2.length);
13036
+ const sum = BigInt(integer1 + fraction1.padEnd(precision, "0")) + BigInt(integer2 + fraction2.padEnd(precision, "0"));
13037
+ const sumString = sum.toString().padStart(precision + 1, "0");
13038
+ return precision === 0 ? sumString : `${sumString.slice(0, -precision)}.${sumString.slice(
13039
+ -precision
13040
+ )}`.replace(/\.?0+$/, "");
13041
+ }
12971
13042
  function normalizePrompt(prompt) {
12972
13043
  if (typeof prompt === "string") {
12973
13044
  return { prompt, files: void 0, mask: void 0 };
@@ -13038,7 +13109,7 @@ function extractTextContent(content) {
13038
13109
  // src/generate-object/output-strategy.ts
13039
13110
  import {
13040
13111
  isJSONArray,
13041
- isJSONObject,
13112
+ isJSONObject as isJSONObject2,
13042
13113
  TypeValidationError as TypeValidationError4,
13043
13114
  UnsupportedFunctionalityError as UnsupportedFunctionalityError4
13044
13115
  } from "@ai-sdk/provider";
@@ -13124,7 +13195,7 @@ var arrayOutputStrategy = (schema) => {
13124
13195
  isFinalDelta
13125
13196
  }) {
13126
13197
  var _a24;
13127
- if (!isJSONObject(value) || !isJSONArray(value.elements)) {
13198
+ if (!isJSONObject2(value) || !isJSONArray(value.elements)) {
13128
13199
  return {
13129
13200
  success: false,
13130
13201
  error: new TypeValidationError4({
@@ -13167,7 +13238,7 @@ var arrayOutputStrategy = (schema) => {
13167
13238
  };
13168
13239
  },
13169
13240
  async validateFinalResult(value) {
13170
- if (!isJSONObject(value) || !isJSONArray(value.elements)) {
13241
+ if (!isJSONObject2(value) || !isJSONArray(value.elements)) {
13171
13242
  return {
13172
13243
  success: false,
13173
13244
  error: new TypeValidationError4({
@@ -13235,7 +13306,7 @@ var enumOutputStrategy = (enumValues) => {
13235
13306
  additionalProperties: false
13236
13307
  }),
13237
13308
  async validateFinalResult(value) {
13238
- if (!isJSONObject(value) || typeof value.result !== "string") {
13309
+ if (!isJSONObject2(value) || typeof value.result !== "string") {
13239
13310
  return {
13240
13311
  success: false,
13241
13312
  error: new TypeValidationError4({
@@ -13254,7 +13325,7 @@ var enumOutputStrategy = (enumValues) => {
13254
13325
  };
13255
13326
  },
13256
13327
  async validatePartialResult({ value, textDelta }) {
13257
- if (!isJSONObject(value) || typeof value.result !== "string") {
13328
+ if (!isJSONObject2(value) || typeof value.result !== "string") {
13258
13329
  return {
13259
13330
  success: false,
13260
13331
  error: new TypeValidationError4({
@@ -13490,7 +13561,7 @@ function validateObjectGenerationInput({
13490
13561
  // src/generate-object/generate-object.ts
13491
13562
  var originalGenerateId4 = createIdGenerator6({ prefix: "aiobj", size: 24 });
13492
13563
  async function generateObject(options) {
13493
- var _a24, _b, _c, _d, _e, _f, _g, _h, _i, _j;
13564
+ var _a24, _b24, _c, _d, _e, _f, _g, _h, _i, _j;
13494
13565
  const {
13495
13566
  model: modelArg,
13496
13567
  output = "object",
@@ -13625,7 +13696,7 @@ async function generateObject(options) {
13625
13696
  })
13626
13697
  );
13627
13698
  const responseData = {
13628
- id: (_b = (_a24 = generateResult.response) == null ? void 0 : _a24.id) != null ? _b : generateId4(),
13699
+ id: (_b24 = (_a24 = generateResult.response) == null ? void 0 : _a24.id) != null ? _b24 : generateId4(),
13629
13700
  timestamp: (_d = (_c = generateResult.response) == null ? void 0 : _c.timestamp) != null ? _d : currentDate(),
13630
13701
  modelId: (_f = (_e = generateResult.response) == null ? void 0 : _e.modelId) != null ? _f : model.modelId,
13631
13702
  headers: (_g = generateResult.response) == null ? void 0 : _g.headers,
@@ -13786,35 +13857,27 @@ function getTextFromDataUrl(dataUrl) {
13786
13857
 
13787
13858
  // src/util/is-deep-equal-data.ts
13788
13859
  function isDeepEqualData(obj1, obj2) {
13789
- if (obj1 === obj2)
13790
- return true;
13791
- if (obj1 == null || obj2 == null)
13792
- return false;
13860
+ if (obj1 === obj2) return true;
13861
+ if (obj1 == null || obj2 == null) return false;
13793
13862
  if (typeof obj1 !== "object" && typeof obj2 !== "object")
13794
13863
  return obj1 === obj2;
13795
- if (obj1.constructor !== obj2.constructor)
13796
- return false;
13864
+ if (obj1.constructor !== obj2.constructor) return false;
13797
13865
  if (obj1 instanceof Date && obj2 instanceof Date) {
13798
13866
  return obj1.getTime() === obj2.getTime();
13799
13867
  }
13800
13868
  if (Array.isArray(obj1)) {
13801
- if (obj1.length !== obj2.length)
13802
- return false;
13869
+ if (obj1.length !== obj2.length) return false;
13803
13870
  for (let i = 0; i < obj1.length; i++) {
13804
- if (!isDeepEqualData(obj1[i], obj2[i]))
13805
- return false;
13871
+ if (!isDeepEqualData(obj1[i], obj2[i])) return false;
13806
13872
  }
13807
13873
  return true;
13808
13874
  }
13809
13875
  const keys1 = Object.keys(obj1);
13810
13876
  const keys2 = Object.keys(obj2);
13811
- if (keys1.length !== keys2.length)
13812
- return false;
13877
+ if (keys1.length !== keys2.length) return false;
13813
13878
  for (const key of keys1) {
13814
- if (!keys2.includes(key))
13815
- return false;
13816
- if (!isDeepEqualData(obj1[key], obj2[key]))
13817
- return false;
13879
+ if (!keys2.includes(key)) return false;
13880
+ if (!isDeepEqualData(obj1[key], obj2[key])) return false;
13818
13881
  }
13819
13882
  return true;
13820
13883
  }
@@ -14130,7 +14193,7 @@ var DefaultStreamObjectResult = class {
14130
14193
  const transformedStream = stream.pipeThrough(new TransformStream(transformer)).pipeThrough(
14131
14194
  new TransformStream({
14132
14195
  async transform(chunk, controller) {
14133
- var _a24, _b, _c;
14196
+ var _a24, _b24, _c;
14134
14197
  if (typeof chunk === "object" && chunk.type === "stream-start") {
14135
14198
  warnings = chunk.warnings;
14136
14199
  return;
@@ -14175,7 +14238,7 @@ var DefaultStreamObjectResult = class {
14175
14238
  case "response-metadata": {
14176
14239
  fullResponse = {
14177
14240
  id: (_a24 = chunk.id) != null ? _a24 : fullResponse.id,
14178
- timestamp: (_b = chunk.timestamp) != null ? _b : fullResponse.timestamp,
14241
+ timestamp: (_b24 = chunk.timestamp) != null ? _b24 : fullResponse.timestamp,
14179
14242
  modelId: (_c = chunk.modelId) != null ? _c : fullResponse.modelId
14180
14243
  };
14181
14244
  break;
@@ -14649,8 +14712,7 @@ function smoothStream({
14649
14712
  if (chunking != null && typeof chunking === "object" && "segment" in chunking && typeof chunking.segment === "function") {
14650
14713
  const segmenter = chunking;
14651
14714
  detectChunk = (buffer) => {
14652
- if (buffer.length === 0)
14653
- return null;
14715
+ if (buffer.length === 0) return null;
14654
14716
  const iterator = segmenter.segment(buffer)[Symbol.iterator]();
14655
14717
  const first = iterator.next().value;
14656
14718
  return (first == null ? void 0 : first.segment) || null;
@@ -14680,11 +14742,21 @@ function smoothStream({
14680
14742
  });
14681
14743
  }
14682
14744
  detectChunk = (buffer) => {
14683
- const match = chunkingRegex.exec(buffer);
14745
+ const lastIndex = chunkingRegex.lastIndex;
14746
+ chunkingRegex.lastIndex = 0;
14747
+ let match;
14748
+ try {
14749
+ match = chunkingRegex.exec(buffer);
14750
+ } finally {
14751
+ chunkingRegex.lastIndex = lastIndex;
14752
+ }
14684
14753
  if (!match) {
14685
14754
  return null;
14686
14755
  }
14687
- return buffer.slice(0, match.index) + (match == null ? void 0 : match[0]);
14756
+ if (!match[0].length) {
14757
+ throw new Error(`Chunking RegExp must not match an empty string.`);
14758
+ }
14759
+ return buffer.slice(0, match.index) + match[0];
14688
14760
  };
14689
14761
  }
14690
14762
  return () => {
@@ -14961,7 +15033,7 @@ async function executeStartStatusFlow({
14961
15033
  webhook: webhookFactory,
14962
15034
  retry
14963
15035
  }) {
14964
- var _a24, _b, _c, _d;
15036
+ var _a24, _b24, _c, _d;
14965
15037
  const earlyWarnings = [];
14966
15038
  let webhookUrl;
14967
15039
  let webhookReceived;
@@ -14994,7 +15066,7 @@ async function executeStartStatusFlow({
14994
15066
  const startResult = await retry(() => model.doStart(startCallOptions));
14995
15067
  const allWarnings = [...earlyWarnings, ...startResult.warnings];
14996
15068
  let operationProviderMetadata = startResult.providerMetadata == null ? void 0 : { ...startResult.providerMetadata };
14997
- const intervalMs = (_b = pollConfig == null ? void 0 : pollConfig.intervalMs) != null ? _b : 5e3;
15069
+ const intervalMs = (_b24 = pollConfig == null ? void 0 : pollConfig.intervalMs) != null ? _b24 : 5e3;
14998
15070
  const timeoutMs = (_c = pollConfig == null ? void 0 : pollConfig.timeoutMs) != null ? _c : 6e5;
14999
15071
  const delay = (_d = pollConfig == null ? void 0 : pollConfig.delay) != null ? _d : defaultDelay;
15000
15072
  const startTime = Date.now();
@@ -15808,7 +15880,7 @@ var doWrap = ({
15808
15880
  modelId,
15809
15881
  providerId
15810
15882
  }) => {
15811
- var _a24, _b, _c;
15883
+ var _a24, _b24, _c;
15812
15884
  async function doTransform({
15813
15885
  params,
15814
15886
  type
@@ -15818,7 +15890,7 @@ var doWrap = ({
15818
15890
  return {
15819
15891
  specificationVersion: "v4",
15820
15892
  provider: (_a24 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a24 : model.provider,
15821
- modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
15893
+ modelId: (_b24 = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b24 : model.modelId,
15822
15894
  supportedUrls: (_c = overrideSupportedUrls == null ? void 0 : overrideSupportedUrls({ model })) != null ? _c : model.supportedUrls,
15823
15895
  async doGenerate(params) {
15824
15896
  const transformedParams = await doTransform({ params, type: "generate" });
@@ -15874,7 +15946,7 @@ var doWrap2 = ({
15874
15946
  modelId,
15875
15947
  providerId
15876
15948
  }) => {
15877
- var _a24, _b, _c, _d;
15949
+ var _a24, _b24, _c, _d;
15878
15950
  async function doTransform({
15879
15951
  params
15880
15952
  }) {
@@ -15883,7 +15955,7 @@ var doWrap2 = ({
15883
15955
  return {
15884
15956
  specificationVersion: "v4",
15885
15957
  provider: (_a24 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a24 : model.provider,
15886
- modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
15958
+ modelId: (_b24 = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b24 : model.modelId,
15887
15959
  maxEmbeddingsPerCall: (_c = overrideMaxEmbeddingsPerCall == null ? void 0 : overrideMaxEmbeddingsPerCall({ model })) != null ? _c : model.maxEmbeddingsPerCall,
15888
15960
  [EXPERIMENTAL_EMBEDDING_MODEL_MAX_INPUT_BYTES_PER_CALL2]: getEmbeddingModelMaxInputBytesPerCall(model),
15889
15961
  supportsParallelCalls: (_d = overrideSupportsParallelCalls == null ? void 0 : overrideSupportsParallelCalls({ model })) != null ? _d : model.supportsParallelCalls,
@@ -15924,7 +15996,7 @@ var doWrap3 = ({
15924
15996
  modelId,
15925
15997
  providerId
15926
15998
  }) => {
15927
- var _a24, _b, _c;
15999
+ var _a24, _b24, _c;
15928
16000
  async function doTransform({ params }) {
15929
16001
  return transformParams ? await transformParams({ params, model }) : params;
15930
16002
  }
@@ -15932,7 +16004,7 @@ var doWrap3 = ({
15932
16004
  const maxImagesPerCall = maxImagesPerCallRaw instanceof Function ? maxImagesPerCallRaw.bind(model) : maxImagesPerCallRaw;
15933
16005
  return {
15934
16006
  specificationVersion: "v4",
15935
- provider: (_b = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _b : model.provider,
16007
+ provider: (_b24 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _b24 : model.provider,
15936
16008
  modelId: (_c = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _c : model.modelId,
15937
16009
  maxImagesPerCall,
15938
16010
  async doGenerate(params) {
@@ -16117,9 +16189,9 @@ var BrowserRealtimeAudio = class {
16117
16189
  this.onCapturingChange(true);
16118
16190
  }
16119
16191
  stopCapture() {
16120
- var _a24, _b, _c, _d;
16192
+ var _a24, _b24, _c, _d;
16121
16193
  (_a24 = this.captureProcessor) == null ? void 0 : _a24.disconnect();
16122
- (_b = this.captureSource) == null ? void 0 : _b.disconnect();
16194
+ (_b24 = this.captureSource) == null ? void 0 : _b24.disconnect();
16123
16195
  void ((_c = this.captureContext) == null ? void 0 : _c.close());
16124
16196
  (_d = this.captureStream) == null ? void 0 : _d.getTracks().forEach((track) => track.stop());
16125
16197
  this.captureProcessor = null;
@@ -16149,8 +16221,7 @@ var BrowserRealtimeAudio = class {
16149
16221
  }
16150
16222
  getPlaybackOffsetMs() {
16151
16223
  const ctx = this.playbackContext;
16152
- if (ctx == null)
16153
- return 0;
16224
+ if (ctx == null) return 0;
16154
16225
  return (ctx.currentTime - this.playbackStartTime) * 1e3;
16155
16226
  }
16156
16227
  dispose() {
@@ -16161,9 +16232,9 @@ var BrowserRealtimeAudio = class {
16161
16232
  this.playbackContext = null;
16162
16233
  }
16163
16234
  setPlaying(isPlaying) {
16164
- var _a24, _b;
16235
+ var _a24, _b24;
16165
16236
  if (isPlaying && !this.isPlaying) {
16166
- this.playbackStartTime = (_b = (_a24 = this.playbackContext) == null ? void 0 : _a24.currentTime) != null ? _b : 0;
16237
+ this.playbackStartTime = (_b24 = (_a24 = this.playbackContext) == null ? void 0 : _a24.currentTime) != null ? _b24 : 0;
16167
16238
  }
16168
16239
  if (this.isPlaying !== isPlaying) {
16169
16240
  this.isPlaying = isPlaying;
@@ -16172,8 +16243,7 @@ var BrowserRealtimeAudio = class {
16172
16243
  }
16173
16244
  schedulePlayback() {
16174
16245
  const ctx = this.playbackContext;
16175
- if (ctx == null || this.playbackQueue.length === 0)
16176
- return;
16246
+ if (ctx == null || this.playbackQueue.length === 0) return;
16177
16247
  while (this.playbackQueue.length > 0) {
16178
16248
  const samples = this.playbackQueue.shift();
16179
16249
  const buffer = ctx.createBuffer(
@@ -16223,8 +16293,7 @@ var BrowserRealtimeTransport = class {
16223
16293
  const ws = new WebSocket(wsConfig.url, wsConfig.protocols);
16224
16294
  this.ws = ws;
16225
16295
  ws.onopen = () => {
16226
- if (this.ws !== ws)
16227
- return;
16296
+ if (this.ws !== ws) return;
16228
16297
  onOpen();
16229
16298
  };
16230
16299
  ws.onmessage = (messageEvent) => {
@@ -16280,8 +16349,7 @@ var BrowserRealtimeTransport = class {
16280
16349
  text2 = new TextDecoder().decode(messageEvent.data);
16281
16350
  }
16282
16351
  const parseResult = await safeParseJSON5({ text: text2 });
16283
- if (!parseResult.success)
16284
- return;
16352
+ if (!parseResult.success) return;
16285
16353
  const rawEvent = parseResult.value;
16286
16354
  if (this.model.getHealthCheckResponse != null) {
16287
16355
  const autoResponse = this.model.getHealthCheckResponse(rawEvent);
@@ -16554,8 +16622,7 @@ var RealtimeEventReducer = class {
16554
16622
  return {
16555
16623
  ...stateWithMessage,
16556
16624
  messages: stateWithMessage.messages.map((message) => {
16557
- if (message.id !== messageId)
16558
- return message;
16625
+ if (message.id !== messageId) return message;
16559
16626
  const partIndex = message.parts.length;
16560
16627
  this.itemIdToPartLocation.set(itemId, { messageId, partIndex });
16561
16628
  return {
@@ -16573,8 +16640,7 @@ var RealtimeEventReducer = class {
16573
16640
  const text2 = (_a24 = finalText != null ? finalText : this.textAccumulators.get(itemId)) != null ? _a24 : "";
16574
16641
  this.textAccumulators.delete(itemId);
16575
16642
  const location = this.itemIdToPartLocation.get(itemId);
16576
- if (location == null)
16577
- return state;
16643
+ if (location == null) return state;
16578
16644
  this.itemIdToPartLocation.delete(itemId);
16579
16645
  return this.updateMessagePart(
16580
16646
  state,
@@ -16587,13 +16653,11 @@ var RealtimeEventReducer = class {
16587
16653
  return {
16588
16654
  ...state,
16589
16655
  messages: state.messages.map((message) => {
16590
- if (message.id !== messageId)
16591
- return message;
16656
+ if (message.id !== messageId) return message;
16592
16657
  const existingPart = message.parts.find(
16593
16658
  (part) => part.type === "dynamic-tool" && part.toolCallId === callId
16594
16659
  );
16595
- if (existingPart != null)
16596
- return message;
16660
+ if (existingPart != null) return message;
16597
16661
  return {
16598
16662
  ...message,
16599
16663
  parts: [
@@ -16614,16 +16678,13 @@ var RealtimeEventReducer = class {
16614
16678
  return {
16615
16679
  ...state,
16616
16680
  messages: state.messages.map((message) => {
16617
- if (message.id !== messageId)
16618
- return message;
16681
+ if (message.id !== messageId) return message;
16619
16682
  return {
16620
16683
  ...message,
16621
16684
  parts: message.parts.map((part) => {
16622
- if (part.type !== "dynamic-tool")
16623
- return part;
16685
+ if (part.type !== "dynamic-tool") return part;
16624
16686
  const toolPart = part;
16625
- if (toolPart.toolCallId !== callId)
16626
- return part;
16687
+ if (toolPart.toolCallId !== callId) return part;
16627
16688
  return {
16628
16689
  ...toolPart,
16629
16690
  toolName: name24,
@@ -16637,21 +16698,17 @@ var RealtimeEventReducer = class {
16637
16698
  }
16638
16699
  updateToolPartState(state, callId, result) {
16639
16700
  const messageId = this.toolCallIdToMessageId.get(callId);
16640
- if (messageId == null)
16641
- return state;
16701
+ if (messageId == null) return state;
16642
16702
  return {
16643
16703
  ...state,
16644
16704
  messages: state.messages.map((message) => {
16645
- if (message.id !== messageId)
16646
- return message;
16705
+ if (message.id !== messageId) return message;
16647
16706
  return {
16648
16707
  ...message,
16649
16708
  parts: message.parts.map((part) => {
16650
- if (part.type !== "dynamic-tool")
16651
- return part;
16709
+ if (part.type !== "dynamic-tool") return part;
16652
16710
  const toolPart = part;
16653
- if (toolPart.toolCallId !== callId)
16654
- return part;
16711
+ if (toolPart.toolCallId !== callId) return part;
16655
16712
  return {
16656
16713
  ...toolPart,
16657
16714
  state: "output-available",
@@ -16666,8 +16723,7 @@ var RealtimeEventReducer = class {
16666
16723
  return {
16667
16724
  ...state,
16668
16725
  messages: state.messages.map((message) => {
16669
- if (message.id !== messageId)
16670
- return message;
16726
+ if (message.id !== messageId) return message;
16671
16727
  const parts = [...message.parts];
16672
16728
  parts[partIndex] = part;
16673
16729
  return { ...message, parts };
@@ -16688,7 +16744,7 @@ var AbstractRealtimeSession = class {
16688
16744
  this.toolCallsInResponse = /* @__PURE__ */ new Set();
16689
16745
  this.submittedToolOutputs = /* @__PURE__ */ new Set();
16690
16746
  this.responseToolCallsClosed = false;
16691
- var _a24, _b, _c, _d, _e, _f, _g, _h;
16747
+ var _a24, _b24, _c, _d, _e, _f, _g, _h;
16692
16748
  this.model = options.model;
16693
16749
  this.api = options.api;
16694
16750
  this.sessionConfig = options.sessionConfig;
@@ -16697,7 +16753,7 @@ var AbstractRealtimeSession = class {
16697
16753
  this.onToolCall = options.onToolCall;
16698
16754
  this.onEvent = options.onEvent;
16699
16755
  this.onError = options.onError;
16700
- const sampleRate = (_b = options.sampleRate) != null ? _b : 24e3;
16756
+ const sampleRate = (_b24 = options.sampleRate) != null ? _b24 : 24e3;
16701
16757
  const captureSampleRate = (_e = (_d = (_c = options.sessionConfig) == null ? void 0 : _c.inputAudioFormat) == null ? void 0 : _d.rate) != null ? _e : sampleRate;
16702
16758
  const playbackSampleRate = (_h = (_g = (_f = options.sessionConfig) == null ? void 0 : _f.outputAudioFormat) == null ? void 0 : _g.rate) != null ? _h : sampleRate;
16703
16759
  this.transport = new BrowserRealtimeTransport({
@@ -16823,13 +16879,10 @@ var AbstractRealtimeSession = class {
16823
16879
  * without the full tool context on multi-tool turns.
16824
16880
  */
16825
16881
  maybeRequestToolResponse() {
16826
- if (!this.responseToolCallsClosed)
16827
- return;
16828
- if (this.toolCallsInResponse.size === 0)
16829
- return;
16882
+ if (!this.responseToolCallsClosed) return;
16883
+ if (this.toolCallsInResponse.size === 0) return;
16830
16884
  for (const callId of this.toolCallsInResponse) {
16831
- if (!this.submittedToolOutputs.has(callId))
16832
- return;
16885
+ if (!this.submittedToolOutputs.has(callId)) return;
16833
16886
  }
16834
16887
  this.sendEvent({ type: "response-create" });
16835
16888
  this.toolCallsInResponse.clear();
@@ -16886,7 +16939,7 @@ var AbstractRealtimeSession = class {
16886
16939
  args,
16887
16940
  callId
16888
16941
  }) {
16889
- var _a24, _b;
16942
+ var _a24, _b24;
16890
16943
  if (this.onToolCall == null) {
16891
16944
  (_a24 = this.onError) == null ? void 0 : _a24.call(this, new Error(`No handler provided for tool "${name24}"`));
16892
16945
  return;
@@ -16899,7 +16952,7 @@ var AbstractRealtimeSession = class {
16899
16952
  this.addToolOutput(callId, result);
16900
16953
  }
16901
16954
  } catch (error) {
16902
- (_b = this.onError) == null ? void 0 : _b.call(
16955
+ (_b24 = this.onError) == null ? void 0 : _b24.call(
16903
16956
  this,
16904
16957
  error instanceof Error ? error : new Error(`Client tool execution failed: ${String(error)}`)
16905
16958
  );
@@ -17068,8 +17121,8 @@ import { AISDKError as AISDKError27, NoSuchModelError as NoSuchModelError3 } fro
17068
17121
  var name23 = "AI_NoSuchProviderError";
17069
17122
  var marker23 = `vercel.ai.error.${name23}`;
17070
17123
  var symbol23 = Symbol.for(marker23);
17071
- var _a23;
17072
- var NoSuchProviderError = class extends NoSuchModelError3 {
17124
+ var _a23, _b23;
17125
+ var NoSuchProviderError = class extends (_b23 = NoSuchModelError3, _a23 = symbol23, _b23) {
17073
17126
  constructor({
17074
17127
  modelId,
17075
17128
  modelType,
@@ -17086,7 +17139,6 @@ var NoSuchProviderError = class extends NoSuchModelError3 {
17086
17139
  return AISDKError27.hasMarker(error, marker23);
17087
17140
  }
17088
17141
  };
17089
- _a23 = symbol23;
17090
17142
 
17091
17143
  // src/registry/provider-registry.ts
17092
17144
  import {
@@ -17155,9 +17207,9 @@ var DefaultProviderRegistry = class {
17155
17207
  return [id.slice(0, index), id.slice(index + this.separator.length)];
17156
17208
  }
17157
17209
  languageModel(id) {
17158
- var _a24, _b;
17210
+ var _a24, _b24;
17159
17211
  const [providerId, modelId] = this.splitId(id, "languageModel");
17160
- let model = (_b = (_a24 = this.getProvider(providerId, "languageModel")).languageModel) == null ? void 0 : _b.call(
17212
+ let model = (_b24 = (_a24 = this.getProvider(providerId, "languageModel")).languageModel) == null ? void 0 : _b24.call(
17161
17213
  _a24,
17162
17214
  modelId
17163
17215
  );
@@ -17301,7 +17353,7 @@ async function rerank({
17301
17353
  const telemetryDispatcher = createTelemetryDispatcher({
17302
17354
  telemetry
17303
17355
  });
17304
- const runInTracingChannelSpan = (_a24 = telemetryDispatcher.runInTracingChannelSpan) != null ? _a24 : async ({ execute }) => await execute();
17356
+ const runInTracingChannelSpan = (_a24 = telemetryDispatcher.runInTracingChannelSpan) != null ? _a24 : (async ({ execute }) => await execute());
17305
17357
  if (documents.length === 0) {
17306
17358
  await notify({
17307
17359
  event: {
@@ -17367,7 +17419,7 @@ async function rerank({
17367
17419
  type: "rerank",
17368
17420
  event: startEvent,
17369
17421
  execute: async () => {
17370
- var _a25, _b, _c, _d, _e;
17422
+ var _a25, _b24, _c, _d, _e;
17371
17423
  await notify({
17372
17424
  event: startEvent,
17373
17425
  callbacks: [resolvedOnStart, telemetryDispatcher.onStart]
@@ -17439,7 +17491,7 @@ async function rerank({
17439
17491
  response: {
17440
17492
  id: response == null ? void 0 : response.id,
17441
17493
  timestamp: (_a25 = response == null ? void 0 : response.timestamp) != null ? _a25 : /* @__PURE__ */ new Date(),
17442
- modelId: (_b = response == null ? void 0 : response.modelId) != null ? _b : model.modelId,
17494
+ modelId: (_b24 = response == null ? void 0 : response.modelId) != null ? _b24 : model.modelId,
17443
17495
  headers: response == null ? void 0 : response.headers,
17444
17496
  body: response == null ? void 0 : response.body
17445
17497
  }
@@ -17625,7 +17677,7 @@ function streamTranscribe({
17625
17677
  const pipeAbortController = new AbortController();
17626
17678
  const transformer = {
17627
17679
  transform(value, controller) {
17628
- var _a25, _b, _c, _d;
17680
+ var _a25, _b24, _c, _d;
17629
17681
  switch (value.type) {
17630
17682
  case "stream-start": {
17631
17683
  resolveWarnings(value.warnings);
@@ -17634,7 +17686,7 @@ function streamTranscribe({
17634
17686
  case "response-metadata": {
17635
17687
  response = {
17636
17688
  timestamp: (_a25 = value.timestamp) != null ? _a25 : currentResponseMetadata().timestamp,
17637
- modelId: (_b = value.modelId) != null ? _b : currentResponseMetadata().modelId,
17689
+ modelId: (_b24 = value.modelId) != null ? _b24 : currentResponseMetadata().modelId,
17638
17690
  headers: (_c = value.headers) != null ? _c : response == null ? void 0 : response.headers
17639
17691
  };
17640
17692
  break;
@@ -17681,7 +17733,7 @@ function streamTranscribe({
17681
17733
  };
17682
17734
  const transform = new TransformStream(transformer);
17683
17735
  void (async () => {
17684
- var _a25, _b, _c, _d, _e;
17736
+ var _a25, _b24, _c, _d, _e;
17685
17737
  const result = await doStream({
17686
17738
  audio,
17687
17739
  inputAudioFormat,
@@ -17692,7 +17744,7 @@ function streamTranscribe({
17692
17744
  includeRawChunks
17693
17745
  });
17694
17746
  response = {
17695
- timestamp: (_b = (_a25 = result.response) == null ? void 0 : _a25.timestamp) != null ? _b : startedAt,
17747
+ timestamp: (_b24 = (_a25 = result.response) == null ? void 0 : _a25.timestamp) != null ? _b24 : startedAt,
17696
17748
  modelId: (_d = (_c = result.response) == null ? void 0 : _c.modelId) != null ? _d : resolvedModel.modelId,
17697
17749
  headers: (_e = result.response) == null ? void 0 : _e.headers
17698
17750
  };
@@ -17828,7 +17880,7 @@ function streamTranslate({
17828
17880
  let hasAudioOutput = false;
17829
17881
  const transformer = {
17830
17882
  transform(value, controller) {
17831
- var _a24, _b, _c, _d;
17883
+ var _a24, _b24, _c, _d;
17832
17884
  switch (value.type) {
17833
17885
  case "stream-start": {
17834
17886
  resolveWarnings(value.warnings);
@@ -17837,7 +17889,7 @@ function streamTranslate({
17837
17889
  case "response-metadata": {
17838
17890
  response = {
17839
17891
  timestamp: (_a24 = value.timestamp) != null ? _a24 : currentResponseMetadata().timestamp,
17840
- modelId: (_b = value.modelId) != null ? _b : currentResponseMetadata().modelId,
17892
+ modelId: (_b24 = value.modelId) != null ? _b24 : currentResponseMetadata().modelId,
17841
17893
  headers: (_c = value.headers) != null ? _c : response == null ? void 0 : response.headers
17842
17894
  };
17843
17895
  break;
@@ -17895,7 +17947,7 @@ function streamTranslate({
17895
17947
  };
17896
17948
  const transform = new TransformStream(transformer);
17897
17949
  void (async () => {
17898
- var _a24, _b, _c, _d, _e;
17950
+ var _a24, _b24, _c, _d, _e;
17899
17951
  const result = await doStream({
17900
17952
  audio,
17901
17953
  inputAudioFormat,
@@ -17909,7 +17961,7 @@ function streamTranslate({
17909
17961
  includeRawChunks
17910
17962
  });
17911
17963
  response = {
17912
- timestamp: (_b = (_a24 = result.response) == null ? void 0 : _a24.timestamp) != null ? _b : startedAt,
17964
+ timestamp: (_b24 = (_a24 = result.response) == null ? void 0 : _a24.timestamp) != null ? _b24 : startedAt,
17913
17965
  modelId: (_d = (_c = result.response) == null ? void 0 : _c.modelId) != null ? _d : resolvedModel.modelId,
17914
17966
  headers: (_e = result.response) == null ? void 0 : _e.headers
17915
17967
  };
@@ -18184,7 +18236,7 @@ var HttpChatTransport = class {
18184
18236
  abortSignal,
18185
18237
  ...options
18186
18238
  }) {
18187
- var _a24, _b, _c, _d, _e;
18239
+ var _a24, _b24, _c, _d, _e;
18188
18240
  const resolvedBody = await resolve2(this.body);
18189
18241
  const resolvedHeaders = await resolve2(this.headers);
18190
18242
  const resolvedCredentials = await resolve2(this.credentials);
@@ -18203,7 +18255,7 @@ var HttpChatTransport = class {
18203
18255
  trigger: options.trigger,
18204
18256
  messageId: options.messageId
18205
18257
  }));
18206
- const api = (_b = preparedRequest == null ? void 0 : preparedRequest.api) != null ? _b : this.api;
18258
+ const api = (_b24 = preparedRequest == null ? void 0 : preparedRequest.api) != null ? _b24 : this.api;
18207
18259
  const headers = (preparedRequest == null ? void 0 : preparedRequest.headers) !== void 0 ? normalizeHeaders(preparedRequest.headers) : baseHeaders;
18208
18260
  const body = (preparedRequest == null ? void 0 : preparedRequest.body) !== void 0 ? preparedRequest.body : {
18209
18261
  ...resolvedBody,
@@ -18236,7 +18288,7 @@ var HttpChatTransport = class {
18236
18288
  return this.processResponseStream(response.body);
18237
18289
  }
18238
18290
  async reconnectToStream(options) {
18239
- var _a24, _b, _c, _d, _e;
18291
+ var _a24, _b24, _c, _d, _e;
18240
18292
  const resolvedBody = await resolve2(this.body);
18241
18293
  const resolvedHeaders = await resolve2(this.headers);
18242
18294
  const resolvedCredentials = await resolve2(this.credentials);
@@ -18252,7 +18304,7 @@ var HttpChatTransport = class {
18252
18304
  credentials: resolvedCredentials,
18253
18305
  requestMetadata: options.metadata
18254
18306
  }));
18255
- const api = (_b = preparedRequest == null ? void 0 : preparedRequest.api) != null ? _b : `${this.api}/${options.chatId}/stream`;
18307
+ const api = (_b24 = preparedRequest == null ? void 0 : preparedRequest.api) != null ? _b24 : `${this.api}/${options.chatId}/stream`;
18256
18308
  const headers = (preparedRequest == null ? void 0 : preparedRequest.headers) !== void 0 ? normalizeHeaders(preparedRequest.headers) : baseHeaders;
18257
18309
  const credentials = (_c = preparedRequest == null ? void 0 : preparedRequest.credentials) != null ? _c : resolvedCredentials;
18258
18310
  const fetch2 = (_d = this.fetch) != null ? _d : globalThis.fetch;
@@ -18325,7 +18377,7 @@ var AbstractChat = class {
18325
18377
  * If a messageId is provided, the message will be replaced.
18326
18378
  */
18327
18379
  this.sendMessage = async (message, options) => {
18328
- var _a24, _b, _c, _d;
18380
+ var _a24, _b24, _c, _d;
18329
18381
  if (message == null) {
18330
18382
  await this.makeRequest({
18331
18383
  trigger: "submit-message",
@@ -18372,7 +18424,7 @@ var AbstractChat = class {
18372
18424
  this.state.replaceMessage(messageIndex, {
18373
18425
  ...uiMessage,
18374
18426
  id: message.messageId,
18375
- role: (_b = uiMessage.role) != null ? _b : "user",
18427
+ role: (_b24 = uiMessage.role) != null ? _b24 : "user",
18376
18428
  metadata: message.metadata
18377
18429
  });
18378
18430
  } else {
@@ -18496,12 +18548,12 @@ var AbstractChat = class {
18496
18548
  * Abort the current request immediately, keep the generated tokens if any.
18497
18549
  */
18498
18550
  this.stop = async () => {
18499
- var _a24, _b;
18551
+ var _a24, _b24;
18500
18552
  for (const controller of this.pendingMessagePreparations) {
18501
18553
  controller.abort();
18502
18554
  }
18503
18555
  (_a24 = this.activeResumeRequest) == null ? void 0 : _a24.abortController.abort();
18504
- (_b = this.activeResponse) == null ? void 0 : _b.abortController.abort();
18556
+ (_b24 = this.activeResponse) == null ? void 0 : _b24.abortController.abort();
18505
18557
  };
18506
18558
  this.id = id;
18507
18559
  this.transport = transport;
@@ -18530,8 +18582,7 @@ var AbstractChat = class {
18530
18582
  status,
18531
18583
  error
18532
18584
  }) {
18533
- if (this.status === status)
18534
- return;
18585
+ if (this.status === status) return;
18535
18586
  this.state.status = status;
18536
18587
  this.state.error = error;
18537
18588
  }
@@ -18548,8 +18599,7 @@ var AbstractChat = class {
18548
18599
  this.state.messages = messages;
18549
18600
  }
18550
18601
  async shouldSendAutomatically() {
18551
- if (!this.sendAutomaticallyWhen)
18552
- return false;
18602
+ if (!this.sendAutomaticallyWhen) return false;
18553
18603
  const result = this.sendAutomaticallyWhen({
18554
18604
  messages: this.state.messages
18555
18605
  });
@@ -18565,7 +18615,7 @@ var AbstractChat = class {
18565
18615
  body,
18566
18616
  messageId
18567
18617
  }) {
18568
- var _a24, _b, _c;
18618
+ var _a24, _b24, _c;
18569
18619
  const abortController = new AbortController();
18570
18620
  const activeResumeRequest = trigger === "resume-stream" ? { abortController } : void 0;
18571
18621
  if (activeResumeRequest) {
@@ -18733,7 +18783,7 @@ var AbstractChat = class {
18733
18783
  } finally {
18734
18784
  try {
18735
18785
  if (activeResponse) {
18736
- (_b = this.onFinish) == null ? void 0 : _b.call(this, {
18786
+ (_b24 = this.onFinish) == null ? void 0 : _b24.call(this, {
18737
18787
  message: activeResponse.state.message,
18738
18788
  messages: this.state.messages,
18739
18789
  isAbort,
@@ -18936,8 +18986,7 @@ function isLikelyText(data) {
18936
18986
  data.substring(0, Math.min(data.length, BASE64_CHECK_LENGTH))
18937
18987
  ) : data;
18938
18988
  const checkLength = Math.min(bytes.length, CHECK_LENGTH);
18939
- if (checkLength === 0)
18940
- return false;
18989
+ if (checkLength === 0) return false;
18941
18990
  for (let i = 0; i < checkLength; i++) {
18942
18991
  const byte = bytes[i];
18943
18992
  if (byte === 0 || byte < 32 && byte !== 9 && byte !== 10 && byte !== 13) {