ai 5.1.0-beta.12 → 5.1.0-beta.14

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
@@ -20,43 +20,44 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var src_exports = {};
22
22
  __export(src_exports, {
23
- AISDKError: () => import_provider17.AISDKError,
24
- APICallError: () => import_provider17.APICallError,
23
+ AISDKError: () => import_provider18.AISDKError,
24
+ APICallError: () => import_provider18.APICallError,
25
25
  AbstractChat: () => AbstractChat,
26
26
  DefaultChatTransport: () => DefaultChatTransport,
27
27
  DownloadError: () => DownloadError,
28
- EmptyResponseBodyError: () => import_provider17.EmptyResponseBodyError,
28
+ EmptyResponseBodyError: () => import_provider18.EmptyResponseBodyError,
29
29
  Experimental_Agent: () => Agent,
30
30
  HttpChatTransport: () => HttpChatTransport,
31
31
  InvalidArgumentError: () => InvalidArgumentError,
32
32
  InvalidDataContentError: () => InvalidDataContentError,
33
33
  InvalidMessageRoleError: () => InvalidMessageRoleError,
34
- InvalidPromptError: () => import_provider17.InvalidPromptError,
35
- InvalidResponseDataError: () => import_provider17.InvalidResponseDataError,
34
+ InvalidPromptError: () => import_provider18.InvalidPromptError,
35
+ InvalidResponseDataError: () => import_provider18.InvalidResponseDataError,
36
36
  InvalidStreamPartError: () => InvalidStreamPartError,
37
37
  InvalidToolInputError: () => InvalidToolInputError,
38
- JSONParseError: () => import_provider17.JSONParseError,
38
+ JSONParseError: () => import_provider18.JSONParseError,
39
39
  JsonToSseTransformStream: () => JsonToSseTransformStream,
40
- LoadAPIKeyError: () => import_provider17.LoadAPIKeyError,
40
+ LoadAPIKeyError: () => import_provider18.LoadAPIKeyError,
41
41
  MCPClientError: () => MCPClientError,
42
42
  MessageConversionError: () => MessageConversionError,
43
- NoContentGeneratedError: () => import_provider17.NoContentGeneratedError,
43
+ NoContentGeneratedError: () => import_provider18.NoContentGeneratedError,
44
44
  NoImageGeneratedError: () => NoImageGeneratedError,
45
45
  NoObjectGeneratedError: () => NoObjectGeneratedError,
46
46
  NoOutputGeneratedError: () => NoOutputGeneratedError,
47
47
  NoOutputSpecifiedError: () => NoOutputSpecifiedError,
48
- NoSuchModelError: () => import_provider17.NoSuchModelError,
48
+ NoSpeechGeneratedError: () => NoSpeechGeneratedError,
49
+ NoSuchModelError: () => import_provider18.NoSuchModelError,
49
50
  NoSuchProviderError: () => NoSuchProviderError,
50
51
  NoSuchToolError: () => NoSuchToolError,
51
52
  Output: () => output_exports,
52
53
  RetryError: () => RetryError,
53
54
  SerialJobExecutor: () => SerialJobExecutor,
54
55
  TextStreamChatTransport: () => TextStreamChatTransport,
55
- TooManyEmbeddingValuesForCallError: () => import_provider17.TooManyEmbeddingValuesForCallError,
56
+ TooManyEmbeddingValuesForCallError: () => import_provider18.TooManyEmbeddingValuesForCallError,
56
57
  ToolCallRepairError: () => ToolCallRepairError,
57
- TypeValidationError: () => import_provider17.TypeValidationError,
58
+ TypeValidationError: () => import_provider18.TypeValidationError,
58
59
  UI_MESSAGE_STREAM_HEADERS: () => UI_MESSAGE_STREAM_HEADERS,
59
- UnsupportedFunctionalityError: () => import_provider17.UnsupportedFunctionalityError,
60
+ UnsupportedFunctionalityError: () => import_provider18.UnsupportedFunctionalityError,
60
61
  UnsupportedModelVersionError: () => UnsupportedModelVersionError,
61
62
  asSchema: () => import_provider_utils35.asSchema,
62
63
  assistantModelMessageSchema: () => assistantModelMessageSchema,
@@ -204,7 +205,7 @@ var logWarnings = (warnings) => {
204
205
  var import_gateway = require("@ai-sdk/gateway");
205
206
 
206
207
  // src/error/index.ts
207
- var import_provider17 = require("@ai-sdk/provider");
208
+ var import_provider18 = require("@ai-sdk/provider");
208
209
 
209
210
  // src/error/invalid-argument-error.ts
210
211
  var import_provider2 = require("@ai-sdk/provider");
@@ -369,13 +370,25 @@ var NoOutputGeneratedError = class extends import_provider8.AISDKError {
369
370
  };
370
371
  _a8 = symbol8;
371
372
 
372
- // src/error/no-such-tool-error.ts
373
+ // src/error/no-speech-generated-error.ts
373
374
  var import_provider9 = require("@ai-sdk/provider");
375
+ var NoSpeechGeneratedError = class extends import_provider9.AISDKError {
376
+ constructor(options) {
377
+ super({
378
+ name: "AI_NoSpeechGeneratedError",
379
+ message: "No speech audio generated."
380
+ });
381
+ this.responses = options.responses;
382
+ }
383
+ };
384
+
385
+ // src/error/no-such-tool-error.ts
386
+ var import_provider10 = require("@ai-sdk/provider");
374
387
  var name9 = "AI_NoSuchToolError";
375
388
  var marker9 = `vercel.ai.error.${name9}`;
376
389
  var symbol9 = Symbol.for(marker9);
377
390
  var _a9;
378
- var NoSuchToolError = class extends import_provider9.AISDKError {
391
+ var NoSuchToolError = class extends import_provider10.AISDKError {
379
392
  constructor({
380
393
  toolName,
381
394
  availableTools = void 0,
@@ -387,36 +400,36 @@ var NoSuchToolError = class extends import_provider9.AISDKError {
387
400
  this.availableTools = availableTools;
388
401
  }
389
402
  static isInstance(error) {
390
- return import_provider9.AISDKError.hasMarker(error, marker9);
403
+ return import_provider10.AISDKError.hasMarker(error, marker9);
391
404
  }
392
405
  };
393
406
  _a9 = symbol9;
394
407
 
395
408
  // src/error/tool-call-repair-error.ts
396
- var import_provider10 = require("@ai-sdk/provider");
409
+ var import_provider11 = require("@ai-sdk/provider");
397
410
  var name10 = "AI_ToolCallRepairError";
398
411
  var marker10 = `vercel.ai.error.${name10}`;
399
412
  var symbol10 = Symbol.for(marker10);
400
413
  var _a10;
401
- var ToolCallRepairError = class extends import_provider10.AISDKError {
414
+ var ToolCallRepairError = class extends import_provider11.AISDKError {
402
415
  constructor({
403
416
  cause,
404
417
  originalError,
405
- message = `Error repairing tool call: ${(0, import_provider10.getErrorMessage)(cause)}`
418
+ message = `Error repairing tool call: ${(0, import_provider11.getErrorMessage)(cause)}`
406
419
  }) {
407
420
  super({ name: name10, message, cause });
408
421
  this[_a10] = true;
409
422
  this.originalError = originalError;
410
423
  }
411
424
  static isInstance(error) {
412
- return import_provider10.AISDKError.hasMarker(error, marker10);
425
+ return import_provider11.AISDKError.hasMarker(error, marker10);
413
426
  }
414
427
  };
415
428
  _a10 = symbol10;
416
429
 
417
430
  // src/error/unsupported-model-version-error.ts
418
- var import_provider11 = require("@ai-sdk/provider");
419
- var UnsupportedModelVersionError = class extends import_provider11.AISDKError {
431
+ var import_provider12 = require("@ai-sdk/provider");
432
+ var UnsupportedModelVersionError = class extends import_provider12.AISDKError {
420
433
  constructor(options) {
421
434
  super({
422
435
  name: "AI_UnsupportedModelVersionError",
@@ -429,12 +442,12 @@ var UnsupportedModelVersionError = class extends import_provider11.AISDKError {
429
442
  };
430
443
 
431
444
  // src/prompt/invalid-data-content-error.ts
432
- var import_provider12 = require("@ai-sdk/provider");
445
+ var import_provider13 = require("@ai-sdk/provider");
433
446
  var name11 = "AI_InvalidDataContentError";
434
447
  var marker11 = `vercel.ai.error.${name11}`;
435
448
  var symbol11 = Symbol.for(marker11);
436
449
  var _a11;
437
- var InvalidDataContentError = class extends import_provider12.AISDKError {
450
+ var InvalidDataContentError = class extends import_provider13.AISDKError {
438
451
  constructor({
439
452
  content,
440
453
  cause,
@@ -445,18 +458,18 @@ var InvalidDataContentError = class extends import_provider12.AISDKError {
445
458
  this.content = content;
446
459
  }
447
460
  static isInstance(error) {
448
- return import_provider12.AISDKError.hasMarker(error, marker11);
461
+ return import_provider13.AISDKError.hasMarker(error, marker11);
449
462
  }
450
463
  };
451
464
  _a11 = symbol11;
452
465
 
453
466
  // src/prompt/invalid-message-role-error.ts
454
- var import_provider13 = require("@ai-sdk/provider");
467
+ var import_provider14 = require("@ai-sdk/provider");
455
468
  var name12 = "AI_InvalidMessageRoleError";
456
469
  var marker12 = `vercel.ai.error.${name12}`;
457
470
  var symbol12 = Symbol.for(marker12);
458
471
  var _a12;
459
- var InvalidMessageRoleError = class extends import_provider13.AISDKError {
472
+ var InvalidMessageRoleError = class extends import_provider14.AISDKError {
460
473
  constructor({
461
474
  role,
462
475
  message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
@@ -466,18 +479,18 @@ var InvalidMessageRoleError = class extends import_provider13.AISDKError {
466
479
  this.role = role;
467
480
  }
468
481
  static isInstance(error) {
469
- return import_provider13.AISDKError.hasMarker(error, marker12);
482
+ return import_provider14.AISDKError.hasMarker(error, marker12);
470
483
  }
471
484
  };
472
485
  _a12 = symbol12;
473
486
 
474
487
  // src/prompt/message-conversion-error.ts
475
- var import_provider14 = require("@ai-sdk/provider");
488
+ var import_provider15 = require("@ai-sdk/provider");
476
489
  var name13 = "AI_MessageConversionError";
477
490
  var marker13 = `vercel.ai.error.${name13}`;
478
491
  var symbol13 = Symbol.for(marker13);
479
492
  var _a13;
480
- var MessageConversionError = class extends import_provider14.AISDKError {
493
+ var MessageConversionError = class extends import_provider15.AISDKError {
481
494
  constructor({
482
495
  originalMessage,
483
496
  message
@@ -487,18 +500,18 @@ var MessageConversionError = class extends import_provider14.AISDKError {
487
500
  this.originalMessage = originalMessage;
488
501
  }
489
502
  static isInstance(error) {
490
- return import_provider14.AISDKError.hasMarker(error, marker13);
503
+ return import_provider15.AISDKError.hasMarker(error, marker13);
491
504
  }
492
505
  };
493
506
  _a13 = symbol13;
494
507
 
495
508
  // src/util/download/download-error.ts
496
- var import_provider15 = require("@ai-sdk/provider");
509
+ var import_provider16 = require("@ai-sdk/provider");
497
510
  var name14 = "AI_DownloadError";
498
511
  var marker14 = `vercel.ai.error.${name14}`;
499
512
  var symbol14 = Symbol.for(marker14);
500
513
  var _a14;
501
- var DownloadError = class extends import_provider15.AISDKError {
514
+ var DownloadError = class extends import_provider16.AISDKError {
502
515
  constructor({
503
516
  url,
504
517
  statusCode,
@@ -513,18 +526,18 @@ var DownloadError = class extends import_provider15.AISDKError {
513
526
  this.statusText = statusText;
514
527
  }
515
528
  static isInstance(error) {
516
- return import_provider15.AISDKError.hasMarker(error, marker14);
529
+ return import_provider16.AISDKError.hasMarker(error, marker14);
517
530
  }
518
531
  };
519
532
  _a14 = symbol14;
520
533
 
521
534
  // src/util/retry-error.ts
522
- var import_provider16 = require("@ai-sdk/provider");
535
+ var import_provider17 = require("@ai-sdk/provider");
523
536
  var name15 = "AI_RetryError";
524
537
  var marker15 = `vercel.ai.error.${name15}`;
525
538
  var symbol15 = Symbol.for(marker15);
526
539
  var _a15;
527
- var RetryError = class extends import_provider16.AISDKError {
540
+ var RetryError = class extends import_provider17.AISDKError {
528
541
  constructor({
529
542
  message,
530
543
  reason,
@@ -537,7 +550,7 @@ var RetryError = class extends import_provider16.AISDKError {
537
550
  this.lastError = errors[errors.length - 1];
538
551
  }
539
552
  static isInstance(error) {
540
- return import_provider16.AISDKError.hasMarker(error, marker15);
553
+ return import_provider17.AISDKError.hasMarker(error, marker15);
541
554
  }
542
555
  };
543
556
  _a15 = symbol15;
@@ -545,7 +558,7 @@ _a15 = symbol15;
545
558
  // src/model/resolve-model.ts
546
559
  function resolveLanguageModel(model) {
547
560
  if (typeof model !== "string") {
548
- if (model.specificationVersion !== "v2") {
561
+ if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
549
562
  throw new UnsupportedModelVersionError({
550
563
  version: model.specificationVersion,
551
564
  provider: model.provider,
@@ -558,7 +571,7 @@ function resolveLanguageModel(model) {
558
571
  }
559
572
  function resolveEmbeddingModel(model) {
560
573
  if (typeof model !== "string") {
561
- if (model.specificationVersion !== "v3") {
574
+ if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
562
575
  throw new UnsupportedModelVersionError({
563
576
  version: model.specificationVersion,
564
577
  provider: model.provider,
@@ -768,7 +781,7 @@ function detectMediaType({
768
781
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
769
782
 
770
783
  // src/version.ts
771
- var VERSION = true ? "5.1.0-beta.12" : "0.0.0-test";
784
+ var VERSION = true ? "5.1.0-beta.14" : "0.0.0-test";
772
785
 
773
786
  // src/util/download/download.ts
774
787
  var download = async ({ url }) => {
@@ -809,7 +822,7 @@ var createDefaultDownloadFunction = (download2 = download) => (requestedDownload
809
822
  );
810
823
 
811
824
  // src/prompt/data-content.ts
812
- var import_provider18 = require("@ai-sdk/provider");
825
+ var import_provider19 = require("@ai-sdk/provider");
813
826
  var import_provider_utils3 = require("@ai-sdk/provider-utils");
814
827
  var import_v4 = require("zod/v4");
815
828
 
@@ -843,7 +856,7 @@ var dataContentSchema = import_v4.z.union([
843
856
  { message: "Must be a Buffer" }
844
857
  )
845
858
  ]);
846
- function convertToLanguageModelV2DataContent(content) {
859
+ function convertToLanguageModelV3DataContent(content) {
847
860
  if (content instanceof Uint8Array) {
848
861
  return { data: content, mediaType: void 0 };
849
862
  }
@@ -861,7 +874,7 @@ function convertToLanguageModelV2DataContent(content) {
861
874
  content.toString()
862
875
  );
863
876
  if (dataUrlMediaType == null || base64Content == null) {
864
- throw new import_provider18.AISDKError({
877
+ throw new import_provider19.AISDKError({
865
878
  name: "InvalidDataContentError",
866
879
  message: `Invalid data URL format in content ${content.toString()}`
867
880
  });
@@ -962,7 +975,7 @@ function convertToLanguageModelMessage({
962
975
  const providerOptions = part.providerOptions;
963
976
  switch (part.type) {
964
977
  case "file": {
965
- const { data, mediaType } = convertToLanguageModelV2DataContent(
978
+ const { data, mediaType } = convertToLanguageModelV3DataContent(
966
979
  part.data
967
980
  );
968
981
  return {
@@ -1087,7 +1100,7 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
1087
1100
  default:
1088
1101
  throw new Error(`Unsupported part type: ${type}`);
1089
1102
  }
1090
- const { data: convertedData, mediaType: convertedMediaType } = convertToLanguageModelV2DataContent(originalData);
1103
+ const { data: convertedData, mediaType: convertedMediaType } = convertToLanguageModelV3DataContent(originalData);
1091
1104
  let mediaType = convertedMediaType != null ? convertedMediaType : part.mediaType;
1092
1105
  let data = convertedData;
1093
1106
  if (data instanceof URL) {
@@ -1274,7 +1287,7 @@ function prepareToolsAndToolChoice({
1274
1287
  }
1275
1288
 
1276
1289
  // src/prompt/standardize-prompt.ts
1277
- var import_provider19 = require("@ai-sdk/provider");
1290
+ var import_provider20 = require("@ai-sdk/provider");
1278
1291
  var import_provider_utils6 = require("@ai-sdk/provider-utils");
1279
1292
  var import_v46 = require("zod/v4");
1280
1293
 
@@ -1430,19 +1443,19 @@ var coreMessageSchema = modelMessageSchema;
1430
1443
  // src/prompt/standardize-prompt.ts
1431
1444
  async function standardizePrompt(prompt) {
1432
1445
  if (prompt.prompt == null && prompt.messages == null) {
1433
- throw new import_provider19.InvalidPromptError({
1446
+ throw new import_provider20.InvalidPromptError({
1434
1447
  prompt,
1435
1448
  message: "prompt or messages must be defined"
1436
1449
  });
1437
1450
  }
1438
1451
  if (prompt.prompt != null && prompt.messages != null) {
1439
- throw new import_provider19.InvalidPromptError({
1452
+ throw new import_provider20.InvalidPromptError({
1440
1453
  prompt,
1441
1454
  message: "prompt and messages cannot be defined at the same time"
1442
1455
  });
1443
1456
  }
1444
1457
  if (prompt.system != null && typeof prompt.system !== "string") {
1445
- throw new import_provider19.InvalidPromptError({
1458
+ throw new import_provider20.InvalidPromptError({
1446
1459
  prompt,
1447
1460
  message: "system must be a string"
1448
1461
  });
@@ -1455,13 +1468,13 @@ async function standardizePrompt(prompt) {
1455
1468
  } else if (prompt.messages != null) {
1456
1469
  messages = prompt.messages;
1457
1470
  } else {
1458
- throw new import_provider19.InvalidPromptError({
1471
+ throw new import_provider20.InvalidPromptError({
1459
1472
  prompt,
1460
1473
  message: "prompt or messages must be defined"
1461
1474
  });
1462
1475
  }
1463
1476
  if (messages.length === 0) {
1464
- throw new import_provider19.InvalidPromptError({
1477
+ throw new import_provider20.InvalidPromptError({
1465
1478
  prompt,
1466
1479
  message: "messages must not be empty"
1467
1480
  });
@@ -1471,7 +1484,7 @@ async function standardizePrompt(prompt) {
1471
1484
  schema: import_v46.z.array(modelMessageSchema)
1472
1485
  });
1473
1486
  if (!validationResult.success) {
1474
- throw new import_provider19.InvalidPromptError({
1487
+ throw new import_provider20.InvalidPromptError({
1475
1488
  prompt,
1476
1489
  message: "The messages must be a ModelMessage[]. If you have passed a UIMessage[], you can use convertToModelMessages to convert them.",
1477
1490
  cause: validationResult.error
@@ -1485,10 +1498,10 @@ async function standardizePrompt(prompt) {
1485
1498
 
1486
1499
  // src/prompt/wrap-gateway-error.ts
1487
1500
  var import_gateway2 = require("@ai-sdk/gateway");
1488
- var import_provider20 = require("@ai-sdk/provider");
1501
+ var import_provider21 = require("@ai-sdk/provider");
1489
1502
  function wrapGatewayError(error) {
1490
1503
  if (import_gateway2.GatewayAuthenticationError.isInstance(error) || import_gateway2.GatewayModelNotFoundError.isInstance(error)) {
1491
- return new import_provider20.AISDKError({
1504
+ return new import_provider21.AISDKError({
1492
1505
  name: "GatewayError",
1493
1506
  message: "Vercel AI Gateway access failed. If you want to use AI SDK providers directly, use the providers, e.g. @ai-sdk/openai, or register a different global default provider.",
1494
1507
  cause: error
@@ -1734,7 +1747,7 @@ function asArray(value) {
1734
1747
  }
1735
1748
 
1736
1749
  // src/util/retry-with-exponential-backoff.ts
1737
- var import_provider21 = require("@ai-sdk/provider");
1750
+ var import_provider22 = require("@ai-sdk/provider");
1738
1751
  var import_provider_utils7 = require("@ai-sdk/provider-utils");
1739
1752
  function getRetryDelayInMs({
1740
1753
  error,
@@ -1801,7 +1814,7 @@ async function _retryWithExponentialBackoff(f, {
1801
1814
  errors: newErrors
1802
1815
  });
1803
1816
  }
1804
- if (error instanceof Error && import_provider21.APICallError.isInstance(error) && error.isRetryable === true && tryNumber <= maxRetries) {
1817
+ if (error instanceof Error && import_provider22.APICallError.isInstance(error) && error.isRetryable === true && tryNumber <= maxRetries) {
1805
1818
  await (0, import_provider_utils7.delay)(
1806
1819
  getRetryDelayInMs({
1807
1820
  error,
@@ -2085,14 +2098,14 @@ async function isStopConditionMet({
2085
2098
  }
2086
2099
 
2087
2100
  // src/prompt/create-tool-model-output.ts
2088
- var import_provider22 = require("@ai-sdk/provider");
2101
+ var import_provider23 = require("@ai-sdk/provider");
2089
2102
  function createToolModelOutput({
2090
2103
  output,
2091
2104
  tool: tool3,
2092
2105
  errorMode
2093
2106
  }) {
2094
2107
  if (errorMode === "text") {
2095
- return { type: "error-text", value: (0, import_provider22.getErrorMessage)(output) };
2108
+ return { type: "error-text", value: (0, import_provider23.getErrorMessage)(output) };
2096
2109
  } else if (errorMode === "json") {
2097
2110
  return { type: "error-json", value: toJSONValue(output) };
2098
2111
  }
@@ -2781,7 +2794,7 @@ function asContent({
2781
2794
  }
2782
2795
 
2783
2796
  // src/generate-text/stream-text.ts
2784
- var import_provider23 = require("@ai-sdk/provider");
2797
+ var import_provider24 = require("@ai-sdk/provider");
2785
2798
  var import_provider_utils14 = require("@ai-sdk/provider-utils");
2786
2799
 
2787
2800
  // src/util/prepare-headers.ts
@@ -4656,7 +4669,7 @@ var DefaultStreamTextResult = class {
4656
4669
  let activeReasoningContent = {};
4657
4670
  const eventProcessor = new TransformStream({
4658
4671
  async transform(chunk, controller) {
4659
- var _a17, _b, _c;
4672
+ var _a17, _b, _c, _d;
4660
4673
  controller.enqueue(chunk);
4661
4674
  const { part } = chunk;
4662
4675
  if (part.type === "text-delta" || part.type === "reasoning-delta" || part.type === "source" || part.type === "tool-call" || part.type === "tool-result" || part.type === "tool-input-start" || part.type === "tool-input-delta" || part.type === "raw") {
@@ -4689,6 +4702,18 @@ var DefaultStreamTextResult = class {
4689
4702
  activeText.providerMetadata = (_a17 = part.providerMetadata) != null ? _a17 : activeText.providerMetadata;
4690
4703
  }
4691
4704
  if (part.type === "text-end") {
4705
+ const activeText = activeTextContent[part.id];
4706
+ if (activeText == null) {
4707
+ controller.enqueue({
4708
+ part: {
4709
+ type: "error",
4710
+ error: `text part ${part.id} not found`
4711
+ },
4712
+ partialOutput: void 0
4713
+ });
4714
+ return;
4715
+ }
4716
+ activeText.providerMetadata = (_b = part.providerMetadata) != null ? _b : activeText.providerMetadata;
4692
4717
  delete activeTextContent[part.id];
4693
4718
  }
4694
4719
  if (part.type === "reasoning-start") {
@@ -4712,7 +4737,7 @@ var DefaultStreamTextResult = class {
4712
4737
  return;
4713
4738
  }
4714
4739
  activeReasoning.text += part.text;
4715
- activeReasoning.providerMetadata = (_b = part.providerMetadata) != null ? _b : activeReasoning.providerMetadata;
4740
+ activeReasoning.providerMetadata = (_c = part.providerMetadata) != null ? _c : activeReasoning.providerMetadata;
4716
4741
  }
4717
4742
  if (part.type === "reasoning-end") {
4718
4743
  const activeReasoning = activeReasoningContent[part.id];
@@ -4726,7 +4751,7 @@ var DefaultStreamTextResult = class {
4726
4751
  });
4727
4752
  return;
4728
4753
  }
4729
- activeReasoning.providerMetadata = (_c = part.providerMetadata) != null ? _c : activeReasoning.providerMetadata;
4754
+ activeReasoning.providerMetadata = (_d = part.providerMetadata) != null ? _d : activeReasoning.providerMetadata;
4730
4755
  delete activeReasoningContent[part.id];
4731
4756
  }
4732
4757
  if (part.type === "file") {
@@ -5475,7 +5500,7 @@ var DefaultStreamTextResult = class {
5475
5500
  sendSources = false,
5476
5501
  sendStart = true,
5477
5502
  sendFinish = true,
5478
- onError = import_provider23.getErrorMessage
5503
+ onError = import_provider24.getErrorMessage
5479
5504
  } = {}) {
5480
5505
  const responseMessageId = generateMessageId != null ? getResponseUIMessageId({
5481
5506
  originalMessages,
@@ -6495,7 +6520,7 @@ function extractReasoningContent(content) {
6495
6520
  }
6496
6521
 
6497
6522
  // src/generate-object/output-strategy.ts
6498
- var import_provider24 = require("@ai-sdk/provider");
6523
+ var import_provider25 = require("@ai-sdk/provider");
6499
6524
  var import_provider_utils18 = require("@ai-sdk/provider-utils");
6500
6525
  var noSchemaOutputStrategy = {
6501
6526
  type: "no-schema",
@@ -6516,7 +6541,7 @@ var noSchemaOutputStrategy = {
6516
6541
  } : { success: true, value };
6517
6542
  },
6518
6543
  createElementStream() {
6519
- throw new import_provider24.UnsupportedFunctionalityError({
6544
+ throw new import_provider25.UnsupportedFunctionalityError({
6520
6545
  functionality: "element streams in no-schema mode"
6521
6546
  });
6522
6547
  }
@@ -6538,7 +6563,7 @@ var objectOutputStrategy = (schema) => ({
6538
6563
  return (0, import_provider_utils18.safeValidateTypes)({ value, schema });
6539
6564
  },
6540
6565
  createElementStream() {
6541
- throw new import_provider24.UnsupportedFunctionalityError({
6566
+ throw new import_provider25.UnsupportedFunctionalityError({
6542
6567
  functionality: "element streams in object mode"
6543
6568
  });
6544
6569
  }
@@ -6566,10 +6591,10 @@ var arrayOutputStrategy = (schema) => {
6566
6591
  isFinalDelta
6567
6592
  }) {
6568
6593
  var _a17;
6569
- if (!(0, import_provider24.isJSONObject)(value) || !(0, import_provider24.isJSONArray)(value.elements)) {
6594
+ if (!(0, import_provider25.isJSONObject)(value) || !(0, import_provider25.isJSONArray)(value.elements)) {
6570
6595
  return {
6571
6596
  success: false,
6572
- error: new import_provider24.TypeValidationError({
6597
+ error: new import_provider25.TypeValidationError({
6573
6598
  value,
6574
6599
  cause: "value must be an object that contains an array of elements"
6575
6600
  })
@@ -6609,10 +6634,10 @@ var arrayOutputStrategy = (schema) => {
6609
6634
  };
6610
6635
  },
6611
6636
  async validateFinalResult(value) {
6612
- if (!(0, import_provider24.isJSONObject)(value) || !(0, import_provider24.isJSONArray)(value.elements)) {
6637
+ if (!(0, import_provider25.isJSONObject)(value) || !(0, import_provider25.isJSONArray)(value.elements)) {
6613
6638
  return {
6614
6639
  success: false,
6615
- error: new import_provider24.TypeValidationError({
6640
+ error: new import_provider25.TypeValidationError({
6616
6641
  value,
6617
6642
  cause: "value must be an object that contains an array of elements"
6618
6643
  })
@@ -6675,10 +6700,10 @@ var enumOutputStrategy = (enumValues) => {
6675
6700
  additionalProperties: false
6676
6701
  },
6677
6702
  async validateFinalResult(value) {
6678
- if (!(0, import_provider24.isJSONObject)(value) || typeof value.result !== "string") {
6703
+ if (!(0, import_provider25.isJSONObject)(value) || typeof value.result !== "string") {
6679
6704
  return {
6680
6705
  success: false,
6681
- error: new import_provider24.TypeValidationError({
6706
+ error: new import_provider25.TypeValidationError({
6682
6707
  value,
6683
6708
  cause: 'value must be an object that contains a string in the "result" property.'
6684
6709
  })
@@ -6687,17 +6712,17 @@ var enumOutputStrategy = (enumValues) => {
6687
6712
  const result = value.result;
6688
6713
  return enumValues.includes(result) ? { success: true, value: result } : {
6689
6714
  success: false,
6690
- error: new import_provider24.TypeValidationError({
6715
+ error: new import_provider25.TypeValidationError({
6691
6716
  value,
6692
6717
  cause: "value must be a string in the enum"
6693
6718
  })
6694
6719
  };
6695
6720
  },
6696
6721
  async validatePartialResult({ value, textDelta }) {
6697
- if (!(0, import_provider24.isJSONObject)(value) || typeof value.result !== "string") {
6722
+ if (!(0, import_provider25.isJSONObject)(value) || typeof value.result !== "string") {
6698
6723
  return {
6699
6724
  success: false,
6700
- error: new import_provider24.TypeValidationError({
6725
+ error: new import_provider25.TypeValidationError({
6701
6726
  value,
6702
6727
  cause: 'value must be an object that contains a string in the "result" property.'
6703
6728
  })
@@ -6710,7 +6735,7 @@ var enumOutputStrategy = (enumValues) => {
6710
6735
  if (value.result.length === 0 || possibleEnumValues.length === 0) {
6711
6736
  return {
6712
6737
  success: false,
6713
- error: new import_provider24.TypeValidationError({
6738
+ error: new import_provider25.TypeValidationError({
6714
6739
  value,
6715
6740
  cause: "value must be a string in the enum"
6716
6741
  })
@@ -6725,7 +6750,7 @@ var enumOutputStrategy = (enumValues) => {
6725
6750
  };
6726
6751
  },
6727
6752
  createElementStream() {
6728
- throw new import_provider24.UnsupportedFunctionalityError({
6753
+ throw new import_provider25.UnsupportedFunctionalityError({
6729
6754
  functionality: "element streams in enum mode"
6730
6755
  });
6731
6756
  }
@@ -6753,7 +6778,7 @@ function getOutputStrategy({
6753
6778
  }
6754
6779
 
6755
6780
  // src/generate-object/parse-and-validate-object-result.ts
6756
- var import_provider25 = require("@ai-sdk/provider");
6781
+ var import_provider26 = require("@ai-sdk/provider");
6757
6782
  var import_provider_utils19 = require("@ai-sdk/provider-utils");
6758
6783
  async function parseAndValidateObjectResult(result, outputStrategy, context) {
6759
6784
  const parseResult = await (0, import_provider_utils19.safeParseJSON)({ text: result });
@@ -6791,7 +6816,7 @@ async function parseAndValidateObjectResultWithRepair(result, outputStrategy, re
6791
6816
  try {
6792
6817
  return await parseAndValidateObjectResult(result, outputStrategy, context);
6793
6818
  } catch (error) {
6794
- if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider25.JSONParseError.isInstance(error.cause) || import_provider25.TypeValidationError.isInstance(error.cause))) {
6819
+ if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider26.JSONParseError.isInstance(error.cause) || import_provider26.TypeValidationError.isInstance(error.cause))) {
6795
6820
  const repairedText = await repairText({
6796
6821
  text: result,
6797
6822
  error: error.cause
@@ -7848,18 +7873,6 @@ var DefaultStreamObjectResult = class {
7848
7873
  // src/generate-speech/generate-speech.ts
7849
7874
  var import_provider_utils23 = require("@ai-sdk/provider-utils");
7850
7875
 
7851
- // src/error/no-speech-generated-error.ts
7852
- var import_provider26 = require("@ai-sdk/provider");
7853
- var NoSpeechGeneratedError = class extends import_provider26.AISDKError {
7854
- constructor(options) {
7855
- super({
7856
- name: "AI_NoSpeechGeneratedError",
7857
- message: "No speech audio generated."
7858
- });
7859
- this.responses = options.responses;
7860
- }
7861
- };
7862
-
7863
7876
  // src/generate-speech/generated-audio-file.ts
7864
7877
  var DefaultGeneratedAudioFile = class extends DefaultGeneratedFile {
7865
7878
  constructor({
@@ -8111,7 +8124,7 @@ function defaultSettingsMiddleware({
8111
8124
  settings
8112
8125
  }) {
8113
8126
  return {
8114
- middlewareVersion: "v2",
8127
+ middlewareVersion: "v3",
8115
8128
  transformParams: async ({ params }) => {
8116
8129
  return mergeObjects(settings, params);
8117
8130
  }
@@ -8145,7 +8158,7 @@ function extractReasoningMiddleware({
8145
8158
  const openingTag = `<${tagName}>`;
8146
8159
  const closingTag = `</${tagName}>`;
8147
8160
  return {
8148
- middlewareVersion: "v2",
8161
+ middlewareVersion: "v3",
8149
8162
  wrapGenerate: async ({ doGenerate }) => {
8150
8163
  const { content, ...rest } = await doGenerate();
8151
8164
  const transformedContent = [];
@@ -8291,7 +8304,7 @@ function extractReasoningMiddleware({
8291
8304
  // src/middleware/simulate-streaming-middleware.ts
8292
8305
  function simulateStreamingMiddleware() {
8293
8306
  return {
8294
- middlewareVersion: "v2",
8307
+ middlewareVersion: "v3",
8295
8308
  wrapStream: async ({ doGenerate }) => {
8296
8309
  const result = await doGenerate();
8297
8310
  let id = 0;
@@ -8388,7 +8401,7 @@ var doWrap = ({
8388
8401
  return transformParams ? await transformParams({ params, type, model }) : params;
8389
8402
  }
8390
8403
  return {
8391
- specificationVersion: "v2",
8404
+ specificationVersion: "v3",
8392
8405
  provider: (_a17 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a17 : model.provider,
8393
8406
  modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
8394
8407
  supportedUrls: (_c = overrideSupportedUrls == null ? void 0 : overrideSupportedUrls({ model })) != null ? _c : model.supportedUrls,
@@ -10413,6 +10426,7 @@ function readUIMessageStream({
10413
10426
  NoObjectGeneratedError,
10414
10427
  NoOutputGeneratedError,
10415
10428
  NoOutputSpecifiedError,
10429
+ NoSpeechGeneratedError,
10416
10430
  NoSuchModelError,
10417
10431
  NoSuchProviderError,
10418
10432
  NoSuchToolError,