ai 5.1.0-beta.14 → 5.1.0-beta.2

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,44 +20,43 @@ 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_provider18.AISDKError,
24
- APICallError: () => import_provider18.APICallError,
23
+ AISDKError: () => import_provider17.AISDKError,
24
+ APICallError: () => import_provider17.APICallError,
25
25
  AbstractChat: () => AbstractChat,
26
26
  DefaultChatTransport: () => DefaultChatTransport,
27
27
  DownloadError: () => DownloadError,
28
- EmptyResponseBodyError: () => import_provider18.EmptyResponseBodyError,
28
+ EmptyResponseBodyError: () => import_provider17.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_provider18.InvalidPromptError,
35
- InvalidResponseDataError: () => import_provider18.InvalidResponseDataError,
34
+ InvalidPromptError: () => import_provider17.InvalidPromptError,
35
+ InvalidResponseDataError: () => import_provider17.InvalidResponseDataError,
36
36
  InvalidStreamPartError: () => InvalidStreamPartError,
37
37
  InvalidToolInputError: () => InvalidToolInputError,
38
- JSONParseError: () => import_provider18.JSONParseError,
38
+ JSONParseError: () => import_provider17.JSONParseError,
39
39
  JsonToSseTransformStream: () => JsonToSseTransformStream,
40
- LoadAPIKeyError: () => import_provider18.LoadAPIKeyError,
40
+ LoadAPIKeyError: () => import_provider17.LoadAPIKeyError,
41
41
  MCPClientError: () => MCPClientError,
42
42
  MessageConversionError: () => MessageConversionError,
43
- NoContentGeneratedError: () => import_provider18.NoContentGeneratedError,
43
+ NoContentGeneratedError: () => import_provider17.NoContentGeneratedError,
44
44
  NoImageGeneratedError: () => NoImageGeneratedError,
45
45
  NoObjectGeneratedError: () => NoObjectGeneratedError,
46
46
  NoOutputGeneratedError: () => NoOutputGeneratedError,
47
47
  NoOutputSpecifiedError: () => NoOutputSpecifiedError,
48
- NoSpeechGeneratedError: () => NoSpeechGeneratedError,
49
- NoSuchModelError: () => import_provider18.NoSuchModelError,
48
+ NoSuchModelError: () => import_provider17.NoSuchModelError,
50
49
  NoSuchProviderError: () => NoSuchProviderError,
51
50
  NoSuchToolError: () => NoSuchToolError,
52
51
  Output: () => output_exports,
53
52
  RetryError: () => RetryError,
54
53
  SerialJobExecutor: () => SerialJobExecutor,
55
54
  TextStreamChatTransport: () => TextStreamChatTransport,
56
- TooManyEmbeddingValuesForCallError: () => import_provider18.TooManyEmbeddingValuesForCallError,
55
+ TooManyEmbeddingValuesForCallError: () => import_provider17.TooManyEmbeddingValuesForCallError,
57
56
  ToolCallRepairError: () => ToolCallRepairError,
58
- TypeValidationError: () => import_provider18.TypeValidationError,
57
+ TypeValidationError: () => import_provider17.TypeValidationError,
59
58
  UI_MESSAGE_STREAM_HEADERS: () => UI_MESSAGE_STREAM_HEADERS,
60
- UnsupportedFunctionalityError: () => import_provider18.UnsupportedFunctionalityError,
59
+ UnsupportedFunctionalityError: () => import_provider17.UnsupportedFunctionalityError,
61
60
  UnsupportedModelVersionError: () => UnsupportedModelVersionError,
62
61
  asSchema: () => import_provider_utils35.asSchema,
63
62
  assistantModelMessageSchema: () => assistantModelMessageSchema,
@@ -104,7 +103,6 @@ __export(src_exports, {
104
103
  jsonSchema: () => import_provider_utils35.jsonSchema,
105
104
  lastAssistantMessageIsCompleteWithToolCalls: () => lastAssistantMessageIsCompleteWithToolCalls,
106
105
  modelMessageSchema: () => modelMessageSchema,
107
- parseJsonEventStream: () => import_provider_utils35.parseJsonEventStream,
108
106
  parsePartialJson: () => parsePartialJson,
109
107
  pipeTextStreamToResponse: () => pipeTextStreamToResponse,
110
108
  pipeUIMessageStreamToResponse: () => pipeUIMessageStreamToResponse,
@@ -119,7 +117,6 @@ __export(src_exports, {
119
117
  systemModelMessageSchema: () => systemModelMessageSchema,
120
118
  tool: () => import_provider_utils35.tool,
121
119
  toolModelMessageSchema: () => toolModelMessageSchema,
122
- uiMessageChunkSchema: () => uiMessageChunkSchema,
123
120
  userModelMessageSchema: () => userModelMessageSchema,
124
121
  validateUIMessages: () => validateUIMessages,
125
122
  wrapLanguageModel: () => wrapLanguageModel,
@@ -205,7 +202,7 @@ var logWarnings = (warnings) => {
205
202
  var import_gateway = require("@ai-sdk/gateway");
206
203
 
207
204
  // src/error/index.ts
208
- var import_provider18 = require("@ai-sdk/provider");
205
+ var import_provider17 = require("@ai-sdk/provider");
209
206
 
210
207
  // src/error/invalid-argument-error.ts
211
208
  var import_provider2 = require("@ai-sdk/provider");
@@ -370,25 +367,13 @@ var NoOutputGeneratedError = class extends import_provider8.AISDKError {
370
367
  };
371
368
  _a8 = symbol8;
372
369
 
373
- // src/error/no-speech-generated-error.ts
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
370
  // src/error/no-such-tool-error.ts
386
- var import_provider10 = require("@ai-sdk/provider");
371
+ var import_provider9 = require("@ai-sdk/provider");
387
372
  var name9 = "AI_NoSuchToolError";
388
373
  var marker9 = `vercel.ai.error.${name9}`;
389
374
  var symbol9 = Symbol.for(marker9);
390
375
  var _a9;
391
- var NoSuchToolError = class extends import_provider10.AISDKError {
376
+ var NoSuchToolError = class extends import_provider9.AISDKError {
392
377
  constructor({
393
378
  toolName,
394
379
  availableTools = void 0,
@@ -400,36 +385,36 @@ var NoSuchToolError = class extends import_provider10.AISDKError {
400
385
  this.availableTools = availableTools;
401
386
  }
402
387
  static isInstance(error) {
403
- return import_provider10.AISDKError.hasMarker(error, marker9);
388
+ return import_provider9.AISDKError.hasMarker(error, marker9);
404
389
  }
405
390
  };
406
391
  _a9 = symbol9;
407
392
 
408
393
  // src/error/tool-call-repair-error.ts
409
- var import_provider11 = require("@ai-sdk/provider");
394
+ var import_provider10 = require("@ai-sdk/provider");
410
395
  var name10 = "AI_ToolCallRepairError";
411
396
  var marker10 = `vercel.ai.error.${name10}`;
412
397
  var symbol10 = Symbol.for(marker10);
413
398
  var _a10;
414
- var ToolCallRepairError = class extends import_provider11.AISDKError {
399
+ var ToolCallRepairError = class extends import_provider10.AISDKError {
415
400
  constructor({
416
401
  cause,
417
402
  originalError,
418
- message = `Error repairing tool call: ${(0, import_provider11.getErrorMessage)(cause)}`
403
+ message = `Error repairing tool call: ${(0, import_provider10.getErrorMessage)(cause)}`
419
404
  }) {
420
405
  super({ name: name10, message, cause });
421
406
  this[_a10] = true;
422
407
  this.originalError = originalError;
423
408
  }
424
409
  static isInstance(error) {
425
- return import_provider11.AISDKError.hasMarker(error, marker10);
410
+ return import_provider10.AISDKError.hasMarker(error, marker10);
426
411
  }
427
412
  };
428
413
  _a10 = symbol10;
429
414
 
430
415
  // src/error/unsupported-model-version-error.ts
431
- var import_provider12 = require("@ai-sdk/provider");
432
- var UnsupportedModelVersionError = class extends import_provider12.AISDKError {
416
+ var import_provider11 = require("@ai-sdk/provider");
417
+ var UnsupportedModelVersionError = class extends import_provider11.AISDKError {
433
418
  constructor(options) {
434
419
  super({
435
420
  name: "AI_UnsupportedModelVersionError",
@@ -442,12 +427,12 @@ var UnsupportedModelVersionError = class extends import_provider12.AISDKError {
442
427
  };
443
428
 
444
429
  // src/prompt/invalid-data-content-error.ts
445
- var import_provider13 = require("@ai-sdk/provider");
430
+ var import_provider12 = require("@ai-sdk/provider");
446
431
  var name11 = "AI_InvalidDataContentError";
447
432
  var marker11 = `vercel.ai.error.${name11}`;
448
433
  var symbol11 = Symbol.for(marker11);
449
434
  var _a11;
450
- var InvalidDataContentError = class extends import_provider13.AISDKError {
435
+ var InvalidDataContentError = class extends import_provider12.AISDKError {
451
436
  constructor({
452
437
  content,
453
438
  cause,
@@ -458,18 +443,18 @@ var InvalidDataContentError = class extends import_provider13.AISDKError {
458
443
  this.content = content;
459
444
  }
460
445
  static isInstance(error) {
461
- return import_provider13.AISDKError.hasMarker(error, marker11);
446
+ return import_provider12.AISDKError.hasMarker(error, marker11);
462
447
  }
463
448
  };
464
449
  _a11 = symbol11;
465
450
 
466
451
  // src/prompt/invalid-message-role-error.ts
467
- var import_provider14 = require("@ai-sdk/provider");
452
+ var import_provider13 = require("@ai-sdk/provider");
468
453
  var name12 = "AI_InvalidMessageRoleError";
469
454
  var marker12 = `vercel.ai.error.${name12}`;
470
455
  var symbol12 = Symbol.for(marker12);
471
456
  var _a12;
472
- var InvalidMessageRoleError = class extends import_provider14.AISDKError {
457
+ var InvalidMessageRoleError = class extends import_provider13.AISDKError {
473
458
  constructor({
474
459
  role,
475
460
  message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
@@ -479,18 +464,18 @@ var InvalidMessageRoleError = class extends import_provider14.AISDKError {
479
464
  this.role = role;
480
465
  }
481
466
  static isInstance(error) {
482
- return import_provider14.AISDKError.hasMarker(error, marker12);
467
+ return import_provider13.AISDKError.hasMarker(error, marker12);
483
468
  }
484
469
  };
485
470
  _a12 = symbol12;
486
471
 
487
472
  // src/prompt/message-conversion-error.ts
488
- var import_provider15 = require("@ai-sdk/provider");
473
+ var import_provider14 = require("@ai-sdk/provider");
489
474
  var name13 = "AI_MessageConversionError";
490
475
  var marker13 = `vercel.ai.error.${name13}`;
491
476
  var symbol13 = Symbol.for(marker13);
492
477
  var _a13;
493
- var MessageConversionError = class extends import_provider15.AISDKError {
478
+ var MessageConversionError = class extends import_provider14.AISDKError {
494
479
  constructor({
495
480
  originalMessage,
496
481
  message
@@ -500,18 +485,18 @@ var MessageConversionError = class extends import_provider15.AISDKError {
500
485
  this.originalMessage = originalMessage;
501
486
  }
502
487
  static isInstance(error) {
503
- return import_provider15.AISDKError.hasMarker(error, marker13);
488
+ return import_provider14.AISDKError.hasMarker(error, marker13);
504
489
  }
505
490
  };
506
491
  _a13 = symbol13;
507
492
 
508
493
  // src/util/download/download-error.ts
509
- var import_provider16 = require("@ai-sdk/provider");
494
+ var import_provider15 = require("@ai-sdk/provider");
510
495
  var name14 = "AI_DownloadError";
511
496
  var marker14 = `vercel.ai.error.${name14}`;
512
497
  var symbol14 = Symbol.for(marker14);
513
498
  var _a14;
514
- var DownloadError = class extends import_provider16.AISDKError {
499
+ var DownloadError = class extends import_provider15.AISDKError {
515
500
  constructor({
516
501
  url,
517
502
  statusCode,
@@ -526,18 +511,18 @@ var DownloadError = class extends import_provider16.AISDKError {
526
511
  this.statusText = statusText;
527
512
  }
528
513
  static isInstance(error) {
529
- return import_provider16.AISDKError.hasMarker(error, marker14);
514
+ return import_provider15.AISDKError.hasMarker(error, marker14);
530
515
  }
531
516
  };
532
517
  _a14 = symbol14;
533
518
 
534
519
  // src/util/retry-error.ts
535
- var import_provider17 = require("@ai-sdk/provider");
520
+ var import_provider16 = require("@ai-sdk/provider");
536
521
  var name15 = "AI_RetryError";
537
522
  var marker15 = `vercel.ai.error.${name15}`;
538
523
  var symbol15 = Symbol.for(marker15);
539
524
  var _a15;
540
- var RetryError = class extends import_provider17.AISDKError {
525
+ var RetryError = class extends import_provider16.AISDKError {
541
526
  constructor({
542
527
  message,
543
528
  reason,
@@ -550,7 +535,7 @@ var RetryError = class extends import_provider17.AISDKError {
550
535
  this.lastError = errors[errors.length - 1];
551
536
  }
552
537
  static isInstance(error) {
553
- return import_provider17.AISDKError.hasMarker(error, marker15);
538
+ return import_provider16.AISDKError.hasMarker(error, marker15);
554
539
  }
555
540
  };
556
541
  _a15 = symbol15;
@@ -558,7 +543,7 @@ _a15 = symbol15;
558
543
  // src/model/resolve-model.ts
559
544
  function resolveLanguageModel(model) {
560
545
  if (typeof model !== "string") {
561
- if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
546
+ if (model.specificationVersion !== "v2") {
562
547
  throw new UnsupportedModelVersionError({
563
548
  version: model.specificationVersion,
564
549
  provider: model.provider,
@@ -571,7 +556,7 @@ function resolveLanguageModel(model) {
571
556
  }
572
557
  function resolveEmbeddingModel(model) {
573
558
  if (typeof model !== "string") {
574
- if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
559
+ if (model.specificationVersion !== "v2") {
575
560
  throw new UnsupportedModelVersionError({
576
561
  version: model.specificationVersion,
577
562
  provider: model.provider,
@@ -781,7 +766,7 @@ function detectMediaType({
781
766
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
782
767
 
783
768
  // src/version.ts
784
- var VERSION = true ? "5.1.0-beta.14" : "0.0.0-test";
769
+ var VERSION = true ? "5.1.0-beta.2" : "0.0.0-test";
785
770
 
786
771
  // src/util/download/download.ts
787
772
  var download = async ({ url }) => {
@@ -822,7 +807,7 @@ var createDefaultDownloadFunction = (download2 = download) => (requestedDownload
822
807
  );
823
808
 
824
809
  // src/prompt/data-content.ts
825
- var import_provider19 = require("@ai-sdk/provider");
810
+ var import_provider18 = require("@ai-sdk/provider");
826
811
  var import_provider_utils3 = require("@ai-sdk/provider-utils");
827
812
  var import_v4 = require("zod/v4");
828
813
 
@@ -856,7 +841,7 @@ var dataContentSchema = import_v4.z.union([
856
841
  { message: "Must be a Buffer" }
857
842
  )
858
843
  ]);
859
- function convertToLanguageModelV3DataContent(content) {
844
+ function convertToLanguageModelV2DataContent(content) {
860
845
  if (content instanceof Uint8Array) {
861
846
  return { data: content, mediaType: void 0 };
862
847
  }
@@ -874,7 +859,7 @@ function convertToLanguageModelV3DataContent(content) {
874
859
  content.toString()
875
860
  );
876
861
  if (dataUrlMediaType == null || base64Content == null) {
877
- throw new import_provider19.AISDKError({
862
+ throw new import_provider18.AISDKError({
878
863
  name: "InvalidDataContentError",
879
864
  message: `Invalid data URL format in content ${content.toString()}`
880
865
  });
@@ -975,7 +960,7 @@ function convertToLanguageModelMessage({
975
960
  const providerOptions = part.providerOptions;
976
961
  switch (part.type) {
977
962
  case "file": {
978
- const { data, mediaType } = convertToLanguageModelV3DataContent(
963
+ const { data, mediaType } = convertToLanguageModelV2DataContent(
979
964
  part.data
980
965
  );
981
966
  return {
@@ -1071,12 +1056,12 @@ async function downloadAssets(messages, download2, supportedUrls) {
1071
1056
  }));
1072
1057
  const downloadedFiles = await download2(plannedDownloads);
1073
1058
  return Object.fromEntries(
1074
- downloadedFiles.map(
1075
- (file, index) => file == null ? null : [
1076
- plannedDownloads[index].url.toString(),
1077
- { data: file.data, mediaType: file.mediaType }
1078
- ]
1079
- ).filter((file) => file != null)
1059
+ downloadedFiles.filter(
1060
+ (downloadedFile) => (downloadedFile == null ? void 0 : downloadedFile.data) != null
1061
+ ).map(({ data, mediaType }, index) => [
1062
+ plannedDownloads[index].url.toString(),
1063
+ { data, mediaType }
1064
+ ])
1080
1065
  );
1081
1066
  }
1082
1067
  function convertPartToLanguageModelPart(part, downloadedAssets) {
@@ -1100,7 +1085,7 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
1100
1085
  default:
1101
1086
  throw new Error(`Unsupported part type: ${type}`);
1102
1087
  }
1103
- const { data: convertedData, mediaType: convertedMediaType } = convertToLanguageModelV3DataContent(originalData);
1088
+ const { data: convertedData, mediaType: convertedMediaType } = convertToLanguageModelV2DataContent(originalData);
1104
1089
  let mediaType = convertedMediaType != null ? convertedMediaType : part.mediaType;
1105
1090
  let data = convertedData;
1106
1091
  if (data instanceof URL) {
@@ -1287,7 +1272,7 @@ function prepareToolsAndToolChoice({
1287
1272
  }
1288
1273
 
1289
1274
  // src/prompt/standardize-prompt.ts
1290
- var import_provider20 = require("@ai-sdk/provider");
1275
+ var import_provider19 = require("@ai-sdk/provider");
1291
1276
  var import_provider_utils6 = require("@ai-sdk/provider-utils");
1292
1277
  var import_v46 = require("zod/v4");
1293
1278
 
@@ -1443,19 +1428,19 @@ var coreMessageSchema = modelMessageSchema;
1443
1428
  // src/prompt/standardize-prompt.ts
1444
1429
  async function standardizePrompt(prompt) {
1445
1430
  if (prompt.prompt == null && prompt.messages == null) {
1446
- throw new import_provider20.InvalidPromptError({
1431
+ throw new import_provider19.InvalidPromptError({
1447
1432
  prompt,
1448
1433
  message: "prompt or messages must be defined"
1449
1434
  });
1450
1435
  }
1451
1436
  if (prompt.prompt != null && prompt.messages != null) {
1452
- throw new import_provider20.InvalidPromptError({
1437
+ throw new import_provider19.InvalidPromptError({
1453
1438
  prompt,
1454
1439
  message: "prompt and messages cannot be defined at the same time"
1455
1440
  });
1456
1441
  }
1457
1442
  if (prompt.system != null && typeof prompt.system !== "string") {
1458
- throw new import_provider20.InvalidPromptError({
1443
+ throw new import_provider19.InvalidPromptError({
1459
1444
  prompt,
1460
1445
  message: "system must be a string"
1461
1446
  });
@@ -1468,13 +1453,13 @@ async function standardizePrompt(prompt) {
1468
1453
  } else if (prompt.messages != null) {
1469
1454
  messages = prompt.messages;
1470
1455
  } else {
1471
- throw new import_provider20.InvalidPromptError({
1456
+ throw new import_provider19.InvalidPromptError({
1472
1457
  prompt,
1473
1458
  message: "prompt or messages must be defined"
1474
1459
  });
1475
1460
  }
1476
1461
  if (messages.length === 0) {
1477
- throw new import_provider20.InvalidPromptError({
1462
+ throw new import_provider19.InvalidPromptError({
1478
1463
  prompt,
1479
1464
  message: "messages must not be empty"
1480
1465
  });
@@ -1484,7 +1469,7 @@ async function standardizePrompt(prompt) {
1484
1469
  schema: import_v46.z.array(modelMessageSchema)
1485
1470
  });
1486
1471
  if (!validationResult.success) {
1487
- throw new import_provider20.InvalidPromptError({
1472
+ throw new import_provider19.InvalidPromptError({
1488
1473
  prompt,
1489
1474
  message: "The messages must be a ModelMessage[]. If you have passed a UIMessage[], you can use convertToModelMessages to convert them.",
1490
1475
  cause: validationResult.error
@@ -1498,10 +1483,10 @@ async function standardizePrompt(prompt) {
1498
1483
 
1499
1484
  // src/prompt/wrap-gateway-error.ts
1500
1485
  var import_gateway2 = require("@ai-sdk/gateway");
1501
- var import_provider21 = require("@ai-sdk/provider");
1486
+ var import_provider20 = require("@ai-sdk/provider");
1502
1487
  function wrapGatewayError(error) {
1503
1488
  if (import_gateway2.GatewayAuthenticationError.isInstance(error) || import_gateway2.GatewayModelNotFoundError.isInstance(error)) {
1504
- return new import_provider21.AISDKError({
1489
+ return new import_provider20.AISDKError({
1505
1490
  name: "GatewayError",
1506
1491
  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.",
1507
1492
  cause: error
@@ -1747,7 +1732,7 @@ function asArray(value) {
1747
1732
  }
1748
1733
 
1749
1734
  // src/util/retry-with-exponential-backoff.ts
1750
- var import_provider22 = require("@ai-sdk/provider");
1735
+ var import_provider21 = require("@ai-sdk/provider");
1751
1736
  var import_provider_utils7 = require("@ai-sdk/provider-utils");
1752
1737
  function getRetryDelayInMs({
1753
1738
  error,
@@ -1814,7 +1799,7 @@ async function _retryWithExponentialBackoff(f, {
1814
1799
  errors: newErrors
1815
1800
  });
1816
1801
  }
1817
- if (error instanceof Error && import_provider22.APICallError.isInstance(error) && error.isRetryable === true && tryNumber <= maxRetries) {
1802
+ if (error instanceof Error && import_provider21.APICallError.isInstance(error) && error.isRetryable === true && tryNumber <= maxRetries) {
1818
1803
  await (0, import_provider_utils7.delay)(
1819
1804
  getRetryDelayInMs({
1820
1805
  error,
@@ -2098,14 +2083,14 @@ async function isStopConditionMet({
2098
2083
  }
2099
2084
 
2100
2085
  // src/prompt/create-tool-model-output.ts
2101
- var import_provider23 = require("@ai-sdk/provider");
2086
+ var import_provider22 = require("@ai-sdk/provider");
2102
2087
  function createToolModelOutput({
2103
2088
  output,
2104
2089
  tool: tool3,
2105
2090
  errorMode
2106
2091
  }) {
2107
2092
  if (errorMode === "text") {
2108
- return { type: "error-text", value: (0, import_provider23.getErrorMessage)(output) };
2093
+ return { type: "error-text", value: (0, import_provider22.getErrorMessage)(output) };
2109
2094
  } else if (errorMode === "json") {
2110
2095
  return { type: "error-json", value: toJSONValue(output) };
2111
2096
  }
@@ -2794,7 +2779,7 @@ function asContent({
2794
2779
  }
2795
2780
 
2796
2781
  // src/generate-text/stream-text.ts
2797
- var import_provider24 = require("@ai-sdk/provider");
2782
+ var import_provider23 = require("@ai-sdk/provider");
2798
2783
  var import_provider_utils14 = require("@ai-sdk/provider-utils");
2799
2784
 
2800
2785
  // src/util/prepare-headers.ts
@@ -3003,6 +2988,11 @@ var uiMessageChunkSchema = import_v47.z.union([
3003
2988
  providerExecuted: import_v47.z.boolean().optional(),
3004
2989
  dynamic: import_v47.z.boolean().optional()
3005
2990
  }),
2991
+ import_v47.z.strictObject({
2992
+ type: import_v47.z.literal("reasoning"),
2993
+ text: import_v47.z.string(),
2994
+ providerMetadata: providerMetadataSchema.optional()
2995
+ }),
3006
2996
  import_v47.z.strictObject({
3007
2997
  type: import_v47.z.literal("reasoning-start"),
3008
2998
  id: import_v47.z.string(),
@@ -3019,6 +3009,9 @@ var uiMessageChunkSchema = import_v47.z.union([
3019
3009
  id: import_v47.z.string(),
3020
3010
  providerMetadata: providerMetadataSchema.optional()
3021
3011
  }),
3012
+ import_v47.z.strictObject({
3013
+ type: import_v47.z.literal("reasoning-part-finish")
3014
+ }),
3022
3015
  import_v47.z.strictObject({
3023
3016
  type: import_v47.z.literal("source-url"),
3024
3017
  sourceId: import_v47.z.string(),
@@ -3041,10 +3034,7 @@ var uiMessageChunkSchema = import_v47.z.union([
3041
3034
  providerMetadata: providerMetadataSchema.optional()
3042
3035
  }),
3043
3036
  import_v47.z.strictObject({
3044
- type: import_v47.z.custom(
3045
- (value) => typeof value === "string" && value.startsWith("data-"),
3046
- { message: 'Type must start with "data-"' }
3047
- ),
3037
+ type: import_v47.z.string().startsWith("data-"),
3048
3038
  id: import_v47.z.string().optional(),
3049
3039
  data: import_v47.z.unknown(),
3050
3040
  transient: import_v47.z.boolean().optional()
@@ -4669,7 +4659,7 @@ var DefaultStreamTextResult = class {
4669
4659
  let activeReasoningContent = {};
4670
4660
  const eventProcessor = new TransformStream({
4671
4661
  async transform(chunk, controller) {
4672
- var _a17, _b, _c, _d;
4662
+ var _a17, _b, _c;
4673
4663
  controller.enqueue(chunk);
4674
4664
  const { part } = chunk;
4675
4665
  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") {
@@ -4702,18 +4692,6 @@ var DefaultStreamTextResult = class {
4702
4692
  activeText.providerMetadata = (_a17 = part.providerMetadata) != null ? _a17 : activeText.providerMetadata;
4703
4693
  }
4704
4694
  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;
4717
4695
  delete activeTextContent[part.id];
4718
4696
  }
4719
4697
  if (part.type === "reasoning-start") {
@@ -4737,7 +4715,7 @@ var DefaultStreamTextResult = class {
4737
4715
  return;
4738
4716
  }
4739
4717
  activeReasoning.text += part.text;
4740
- activeReasoning.providerMetadata = (_c = part.providerMetadata) != null ? _c : activeReasoning.providerMetadata;
4718
+ activeReasoning.providerMetadata = (_b = part.providerMetadata) != null ? _b : activeReasoning.providerMetadata;
4741
4719
  }
4742
4720
  if (part.type === "reasoning-end") {
4743
4721
  const activeReasoning = activeReasoningContent[part.id];
@@ -4751,7 +4729,7 @@ var DefaultStreamTextResult = class {
4751
4729
  });
4752
4730
  return;
4753
4731
  }
4754
- activeReasoning.providerMetadata = (_d = part.providerMetadata) != null ? _d : activeReasoning.providerMetadata;
4732
+ activeReasoning.providerMetadata = (_c = part.providerMetadata) != null ? _c : activeReasoning.providerMetadata;
4755
4733
  delete activeReasoningContent[part.id];
4756
4734
  }
4757
4735
  if (part.type === "file") {
@@ -5500,7 +5478,7 @@ var DefaultStreamTextResult = class {
5500
5478
  sendSources = false,
5501
5479
  sendStart = true,
5502
5480
  sendFinish = true,
5503
- onError = import_provider24.getErrorMessage
5481
+ onError = import_provider23.getErrorMessage
5504
5482
  } = {}) {
5505
5483
  const responseMessageId = generateMessageId != null ? getResponseUIMessageId({
5506
5484
  originalMessages,
@@ -6406,7 +6384,7 @@ async function generateImage({
6406
6384
  headers
6407
6385
  }) {
6408
6386
  var _a17, _b;
6409
- if (model.specificationVersion !== "v3") {
6387
+ if (model.specificationVersion !== "v2") {
6410
6388
  throw new UnsupportedModelVersionError({
6411
6389
  version: model.specificationVersion,
6412
6390
  provider: model.provider,
@@ -6520,7 +6498,7 @@ function extractReasoningContent(content) {
6520
6498
  }
6521
6499
 
6522
6500
  // src/generate-object/output-strategy.ts
6523
- var import_provider25 = require("@ai-sdk/provider");
6501
+ var import_provider24 = require("@ai-sdk/provider");
6524
6502
  var import_provider_utils18 = require("@ai-sdk/provider-utils");
6525
6503
  var noSchemaOutputStrategy = {
6526
6504
  type: "no-schema",
@@ -6541,7 +6519,7 @@ var noSchemaOutputStrategy = {
6541
6519
  } : { success: true, value };
6542
6520
  },
6543
6521
  createElementStream() {
6544
- throw new import_provider25.UnsupportedFunctionalityError({
6522
+ throw new import_provider24.UnsupportedFunctionalityError({
6545
6523
  functionality: "element streams in no-schema mode"
6546
6524
  });
6547
6525
  }
@@ -6563,7 +6541,7 @@ var objectOutputStrategy = (schema) => ({
6563
6541
  return (0, import_provider_utils18.safeValidateTypes)({ value, schema });
6564
6542
  },
6565
6543
  createElementStream() {
6566
- throw new import_provider25.UnsupportedFunctionalityError({
6544
+ throw new import_provider24.UnsupportedFunctionalityError({
6567
6545
  functionality: "element streams in object mode"
6568
6546
  });
6569
6547
  }
@@ -6591,10 +6569,10 @@ var arrayOutputStrategy = (schema) => {
6591
6569
  isFinalDelta
6592
6570
  }) {
6593
6571
  var _a17;
6594
- if (!(0, import_provider25.isJSONObject)(value) || !(0, import_provider25.isJSONArray)(value.elements)) {
6572
+ if (!(0, import_provider24.isJSONObject)(value) || !(0, import_provider24.isJSONArray)(value.elements)) {
6595
6573
  return {
6596
6574
  success: false,
6597
- error: new import_provider25.TypeValidationError({
6575
+ error: new import_provider24.TypeValidationError({
6598
6576
  value,
6599
6577
  cause: "value must be an object that contains an array of elements"
6600
6578
  })
@@ -6634,10 +6612,10 @@ var arrayOutputStrategy = (schema) => {
6634
6612
  };
6635
6613
  },
6636
6614
  async validateFinalResult(value) {
6637
- if (!(0, import_provider25.isJSONObject)(value) || !(0, import_provider25.isJSONArray)(value.elements)) {
6615
+ if (!(0, import_provider24.isJSONObject)(value) || !(0, import_provider24.isJSONArray)(value.elements)) {
6638
6616
  return {
6639
6617
  success: false,
6640
- error: new import_provider25.TypeValidationError({
6618
+ error: new import_provider24.TypeValidationError({
6641
6619
  value,
6642
6620
  cause: "value must be an object that contains an array of elements"
6643
6621
  })
@@ -6700,10 +6678,10 @@ var enumOutputStrategy = (enumValues) => {
6700
6678
  additionalProperties: false
6701
6679
  },
6702
6680
  async validateFinalResult(value) {
6703
- if (!(0, import_provider25.isJSONObject)(value) || typeof value.result !== "string") {
6681
+ if (!(0, import_provider24.isJSONObject)(value) || typeof value.result !== "string") {
6704
6682
  return {
6705
6683
  success: false,
6706
- error: new import_provider25.TypeValidationError({
6684
+ error: new import_provider24.TypeValidationError({
6707
6685
  value,
6708
6686
  cause: 'value must be an object that contains a string in the "result" property.'
6709
6687
  })
@@ -6712,17 +6690,17 @@ var enumOutputStrategy = (enumValues) => {
6712
6690
  const result = value.result;
6713
6691
  return enumValues.includes(result) ? { success: true, value: result } : {
6714
6692
  success: false,
6715
- error: new import_provider25.TypeValidationError({
6693
+ error: new import_provider24.TypeValidationError({
6716
6694
  value,
6717
6695
  cause: "value must be a string in the enum"
6718
6696
  })
6719
6697
  };
6720
6698
  },
6721
6699
  async validatePartialResult({ value, textDelta }) {
6722
- if (!(0, import_provider25.isJSONObject)(value) || typeof value.result !== "string") {
6700
+ if (!(0, import_provider24.isJSONObject)(value) || typeof value.result !== "string") {
6723
6701
  return {
6724
6702
  success: false,
6725
- error: new import_provider25.TypeValidationError({
6703
+ error: new import_provider24.TypeValidationError({
6726
6704
  value,
6727
6705
  cause: 'value must be an object that contains a string in the "result" property.'
6728
6706
  })
@@ -6735,7 +6713,7 @@ var enumOutputStrategy = (enumValues) => {
6735
6713
  if (value.result.length === 0 || possibleEnumValues.length === 0) {
6736
6714
  return {
6737
6715
  success: false,
6738
- error: new import_provider25.TypeValidationError({
6716
+ error: new import_provider24.TypeValidationError({
6739
6717
  value,
6740
6718
  cause: "value must be a string in the enum"
6741
6719
  })
@@ -6750,7 +6728,7 @@ var enumOutputStrategy = (enumValues) => {
6750
6728
  };
6751
6729
  },
6752
6730
  createElementStream() {
6753
- throw new import_provider25.UnsupportedFunctionalityError({
6731
+ throw new import_provider24.UnsupportedFunctionalityError({
6754
6732
  functionality: "element streams in enum mode"
6755
6733
  });
6756
6734
  }
@@ -6778,7 +6756,7 @@ function getOutputStrategy({
6778
6756
  }
6779
6757
 
6780
6758
  // src/generate-object/parse-and-validate-object-result.ts
6781
- var import_provider26 = require("@ai-sdk/provider");
6759
+ var import_provider25 = require("@ai-sdk/provider");
6782
6760
  var import_provider_utils19 = require("@ai-sdk/provider-utils");
6783
6761
  async function parseAndValidateObjectResult(result, outputStrategy, context) {
6784
6762
  const parseResult = await (0, import_provider_utils19.safeParseJSON)({ text: result });
@@ -6816,7 +6794,7 @@ async function parseAndValidateObjectResultWithRepair(result, outputStrategy, re
6816
6794
  try {
6817
6795
  return await parseAndValidateObjectResult(result, outputStrategy, context);
6818
6796
  } catch (error) {
6819
- if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider26.JSONParseError.isInstance(error.cause) || import_provider26.TypeValidationError.isInstance(error.cause))) {
6797
+ if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider25.JSONParseError.isInstance(error.cause) || import_provider25.TypeValidationError.isInstance(error.cause))) {
6820
6798
  const repairedText = await repairText({
6821
6799
  text: result,
6822
6800
  error: error.cause
@@ -7873,6 +7851,18 @@ var DefaultStreamObjectResult = class {
7873
7851
  // src/generate-speech/generate-speech.ts
7874
7852
  var import_provider_utils23 = require("@ai-sdk/provider-utils");
7875
7853
 
7854
+ // src/error/no-speech-generated-error.ts
7855
+ var import_provider26 = require("@ai-sdk/provider");
7856
+ var NoSpeechGeneratedError = class extends import_provider26.AISDKError {
7857
+ constructor(options) {
7858
+ super({
7859
+ name: "AI_NoSpeechGeneratedError",
7860
+ message: "No speech audio generated."
7861
+ });
7862
+ this.responses = options.responses;
7863
+ }
7864
+ };
7865
+
7876
7866
  // src/generate-speech/generated-audio-file.ts
7877
7867
  var DefaultGeneratedAudioFile = class extends DefaultGeneratedFile {
7878
7868
  constructor({
@@ -8124,7 +8114,7 @@ function defaultSettingsMiddleware({
8124
8114
  settings
8125
8115
  }) {
8126
8116
  return {
8127
- middlewareVersion: "v3",
8117
+ middlewareVersion: "v2",
8128
8118
  transformParams: async ({ params }) => {
8129
8119
  return mergeObjects(settings, params);
8130
8120
  }
@@ -8158,7 +8148,7 @@ function extractReasoningMiddleware({
8158
8148
  const openingTag = `<${tagName}>`;
8159
8149
  const closingTag = `</${tagName}>`;
8160
8150
  return {
8161
- middlewareVersion: "v3",
8151
+ middlewareVersion: "v2",
8162
8152
  wrapGenerate: async ({ doGenerate }) => {
8163
8153
  const { content, ...rest } = await doGenerate();
8164
8154
  const transformedContent = [];
@@ -8304,7 +8294,7 @@ function extractReasoningMiddleware({
8304
8294
  // src/middleware/simulate-streaming-middleware.ts
8305
8295
  function simulateStreamingMiddleware() {
8306
8296
  return {
8307
- middlewareVersion: "v3",
8297
+ middlewareVersion: "v2",
8308
8298
  wrapStream: async ({ doGenerate }) => {
8309
8299
  const result = await doGenerate();
8310
8300
  let id = 0;
@@ -8401,7 +8391,7 @@ var doWrap = ({
8401
8391
  return transformParams ? await transformParams({ params, type, model }) : params;
8402
8392
  }
8403
8393
  return {
8404
- specificationVersion: "v3",
8394
+ specificationVersion: "v2",
8405
8395
  provider: (_a17 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a17 : model.provider,
8406
8396
  modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
8407
8397
  supportedUrls: (_c = overrideSupportedUrls == null ? void 0 : overrideSupportedUrls({ model })) != null ? _c : model.supportedUrls,
@@ -9734,11 +9724,9 @@ var AbstractChat = class {
9734
9724
  }
9735
9725
  };
9736
9726
  this.addToolResult = async ({
9737
- state = "output-available",
9738
9727
  tool: tool3,
9739
9728
  toolCallId,
9740
- output,
9741
- errorText
9729
+ output
9742
9730
  }) => this.jobExecutor.run(async () => {
9743
9731
  var _a17, _b;
9744
9732
  const messages = this.state.messages;
@@ -9746,16 +9734,16 @@ var AbstractChat = class {
9746
9734
  this.state.replaceMessage(messages.length - 1, {
9747
9735
  ...lastMessage,
9748
9736
  parts: lastMessage.parts.map(
9749
- (part) => isToolOrDynamicToolUIPart(part) && part.toolCallId === toolCallId ? { ...part, state, output, errorText } : part
9737
+ (part) => isToolOrDynamicToolUIPart(part) && part.toolCallId === toolCallId ? { ...part, state: "output-available", output } : part
9750
9738
  )
9751
9739
  });
9752
9740
  if (this.activeResponse) {
9753
9741
  this.activeResponse.state.message.parts = this.activeResponse.state.message.parts.map(
9754
9742
  (part) => isToolOrDynamicToolUIPart(part) && part.toolCallId === toolCallId ? {
9755
9743
  ...part,
9756
- state,
9744
+ state: "output-available",
9757
9745
  output,
9758
- errorText
9746
+ errorText: void 0
9759
9747
  } : part
9760
9748
  );
9761
9749
  }
@@ -9964,9 +9952,7 @@ function lastAssistantMessageIsCompleteWithToolCalls({
9964
9952
  return part.type === "step-start" ? index : lastIndex;
9965
9953
  }, -1);
9966
9954
  const lastStepToolInvocations = message.parts.slice(lastStepStartIndex + 1).filter(isToolOrDynamicToolUIPart);
9967
- return lastStepToolInvocations.length > 0 && lastStepToolInvocations.every(
9968
- (part) => part.state === "output-available" || part.state === "output-error"
9969
- );
9955
+ return lastStepToolInvocations.length > 0 && lastStepToolInvocations.every((part) => part.state === "output-available");
9970
9956
  }
9971
9957
 
9972
9958
  // src/ui/transform-text-to-ui-message-stream.ts
@@ -10426,7 +10412,6 @@ function readUIMessageStream({
10426
10412
  NoObjectGeneratedError,
10427
10413
  NoOutputGeneratedError,
10428
10414
  NoOutputSpecifiedError,
10429
- NoSpeechGeneratedError,
10430
10415
  NoSuchModelError,
10431
10416
  NoSuchProviderError,
10432
10417
  NoSuchToolError,
@@ -10485,7 +10470,6 @@ function readUIMessageStream({
10485
10470
  jsonSchema,
10486
10471
  lastAssistantMessageIsCompleteWithToolCalls,
10487
10472
  modelMessageSchema,
10488
- parseJsonEventStream,
10489
10473
  parsePartialJson,
10490
10474
  pipeTextStreamToResponse,
10491
10475
  pipeUIMessageStreamToResponse,
@@ -10500,7 +10484,6 @@ function readUIMessageStream({
10500
10484
  systemModelMessageSchema,
10501
10485
  tool,
10502
10486
  toolModelMessageSchema,
10503
- uiMessageChunkSchema,
10504
10487
  userModelMessageSchema,
10505
10488
  validateUIMessages,
10506
10489
  wrapLanguageModel,