ai 6.0.271 → 6.0.273

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
@@ -4,8 +4,8 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
6
  var __export = (target, all) => {
7
- for (var name22 in all)
8
- __defProp(target, name22, { get: all[name22], enumerable: true });
7
+ for (var name23 in all)
8
+ __defProp(target, name23, { get: all[name23], enumerable: true });
9
9
  };
10
10
  var __copyProps = (to, from, except, desc) => {
11
11
  if (from && typeof from === "object" || typeof from === "function") {
@@ -20,37 +20,37 @@ 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_provider22.AISDKError,
24
- APICallError: () => import_provider22.APICallError,
23
+ AISDKError: () => import_provider23.AISDKError,
24
+ APICallError: () => import_provider23.APICallError,
25
25
  AbstractChat: () => AbstractChat,
26
26
  DefaultChatTransport: () => DefaultChatTransport,
27
27
  DefaultGeneratedFile: () => DefaultGeneratedFile,
28
28
  DirectChatTransport: () => DirectChatTransport,
29
29
  DownloadError: () => import_provider_utils.DownloadError,
30
- EmptyResponseBodyError: () => import_provider22.EmptyResponseBodyError,
30
+ EmptyResponseBodyError: () => import_provider23.EmptyResponseBodyError,
31
31
  Experimental_Agent: () => ToolLoopAgent,
32
32
  HttpChatTransport: () => HttpChatTransport,
33
33
  InvalidArgumentError: () => InvalidArgumentError,
34
34
  InvalidDataContentError: () => InvalidDataContentError,
35
35
  InvalidMessageRoleError: () => InvalidMessageRoleError,
36
- InvalidPromptError: () => import_provider22.InvalidPromptError,
37
- InvalidResponseDataError: () => import_provider22.InvalidResponseDataError,
36
+ InvalidPromptError: () => import_provider23.InvalidPromptError,
37
+ InvalidResponseDataError: () => import_provider23.InvalidResponseDataError,
38
38
  InvalidStreamPartError: () => InvalidStreamPartError,
39
39
  InvalidToolApprovalError: () => InvalidToolApprovalError,
40
40
  InvalidToolApprovalSignatureError: () => InvalidToolApprovalSignatureError,
41
41
  InvalidToolInputError: () => InvalidToolInputError,
42
- JSONParseError: () => import_provider22.JSONParseError,
42
+ JSONParseError: () => import_provider23.JSONParseError,
43
43
  JsonToSseTransformStream: () => JsonToSseTransformStream,
44
- LoadAPIKeyError: () => import_provider22.LoadAPIKeyError,
45
- LoadSettingError: () => import_provider22.LoadSettingError,
44
+ LoadAPIKeyError: () => import_provider23.LoadAPIKeyError,
45
+ LoadSettingError: () => import_provider23.LoadSettingError,
46
46
  MessageConversionError: () => MessageConversionError,
47
47
  MissingToolResultsError: () => MissingToolResultsError,
48
- NoContentGeneratedError: () => import_provider22.NoContentGeneratedError,
48
+ NoContentGeneratedError: () => import_provider23.NoContentGeneratedError,
49
49
  NoImageGeneratedError: () => NoImageGeneratedError,
50
50
  NoObjectGeneratedError: () => NoObjectGeneratedError,
51
51
  NoOutputGeneratedError: () => NoOutputGeneratedError,
52
52
  NoSpeechGeneratedError: () => NoSpeechGeneratedError,
53
- NoSuchModelError: () => import_provider22.NoSuchModelError,
53
+ NoSuchModelError: () => import_provider23.NoSuchModelError,
54
54
  NoSuchProviderError: () => NoSuchProviderError,
55
55
  NoSuchToolError: () => NoSuchToolError,
56
56
  NoTranscriptGeneratedError: () => NoTranscriptGeneratedError,
@@ -59,14 +59,15 @@ __export(src_exports, {
59
59
  RetryError: () => RetryError,
60
60
  SerialJobExecutor: () => SerialJobExecutor,
61
61
  TextStreamChatTransport: () => TextStreamChatTransport,
62
- TooManyEmbeddingValuesForCallError: () => import_provider22.TooManyEmbeddingValuesForCallError,
62
+ TooManyEmbeddingValuesForCallError: () => import_provider23.TooManyEmbeddingValuesForCallError,
63
63
  ToolCallNotFoundForApprovalError: () => ToolCallNotFoundForApprovalError,
64
64
  ToolCallRepairError: () => ToolCallRepairError,
65
+ ToolChoiceViolationError: () => ToolChoiceViolationError,
65
66
  ToolLoopAgent: () => ToolLoopAgent,
66
- TypeValidationError: () => import_provider22.TypeValidationError,
67
+ TypeValidationError: () => import_provider23.TypeValidationError,
67
68
  UIMessageStreamError: () => UIMessageStreamError,
68
69
  UI_MESSAGE_STREAM_HEADERS: () => UI_MESSAGE_STREAM_HEADERS,
69
- UnsupportedFunctionalityError: () => import_provider22.UnsupportedFunctionalityError,
70
+ UnsupportedFunctionalityError: () => import_provider23.UnsupportedFunctionalityError,
70
71
  UnsupportedModelVersionError: () => UnsupportedModelVersionError,
71
72
  addToolInputExamplesMiddleware: () => addToolInputExamplesMiddleware,
72
73
  asSchema: () => import_provider_utils43.asSchema,
@@ -163,7 +164,7 @@ var import_provider_utils21 = require("@ai-sdk/provider-utils");
163
164
  var import_provider_utils16 = require("@ai-sdk/provider-utils");
164
165
 
165
166
  // src/error/index.ts
166
- var import_provider22 = require("@ai-sdk/provider");
167
+ var import_provider23 = require("@ai-sdk/provider");
167
168
 
168
169
  // src/error/invalid-argument-error.ts
169
170
  var import_provider = require("@ai-sdk/provider");
@@ -507,21 +508,28 @@ var NoSuchToolError = class extends import_provider14.AISDKError {
507
508
  };
508
509
  _a14 = symbol14;
509
510
 
510
- // src/error/tool-call-repair-error.ts
511
+ // src/error/tool-choice-violation-error.ts
511
512
  var import_provider15 = require("@ai-sdk/provider");
512
- var name15 = "AI_ToolCallRepairError";
513
+ var name15 = "AI_ToolChoiceViolationError";
513
514
  var marker15 = `vercel.ai.error.${name15}`;
514
515
  var symbol15 = Symbol.for(marker15);
515
516
  var _a15;
516
- var ToolCallRepairError = class extends import_provider15.AISDKError {
517
+ var ToolChoiceViolationError = class extends import_provider15.AISDKError {
517
518
  constructor({
518
- cause,
519
- originalError,
520
- message = `Error repairing tool call: ${(0, import_provider15.getErrorMessage)(cause)}`
519
+ toolChoice,
520
+ finishReason,
521
+ provider,
522
+ modelId,
523
+ content,
524
+ message = toolChoice.type === "required" ? "Model response did not contain a tool call even though tool choice was required." : `Model response did not contain a call to the required tool '${toolChoice.toolName}'.`
521
525
  }) {
522
- super({ name: name15, message, cause });
526
+ super({ name: name15, message });
523
527
  this[_a15] = true;
524
- this.originalError = originalError;
528
+ this.toolChoice = toolChoice;
529
+ this.finishReason = finishReason;
530
+ this.provider = provider;
531
+ this.modelId = modelId;
532
+ this.content = content;
525
533
  }
526
534
  static isInstance(error) {
527
535
  return import_provider15.AISDKError.hasMarker(error, marker15);
@@ -529,9 +537,31 @@ var ToolCallRepairError = class extends import_provider15.AISDKError {
529
537
  };
530
538
  _a15 = symbol15;
531
539
 
532
- // src/error/unsupported-model-version-error.ts
540
+ // src/error/tool-call-repair-error.ts
533
541
  var import_provider16 = require("@ai-sdk/provider");
534
- var UnsupportedModelVersionError = class extends import_provider16.AISDKError {
542
+ var name16 = "AI_ToolCallRepairError";
543
+ var marker16 = `vercel.ai.error.${name16}`;
544
+ var symbol16 = Symbol.for(marker16);
545
+ var _a16;
546
+ var ToolCallRepairError = class extends import_provider16.AISDKError {
547
+ constructor({
548
+ cause,
549
+ originalError,
550
+ message = `Error repairing tool call: ${(0, import_provider16.getErrorMessage)(cause)}`
551
+ }) {
552
+ super({ name: name16, message, cause });
553
+ this[_a16] = true;
554
+ this.originalError = originalError;
555
+ }
556
+ static isInstance(error) {
557
+ return import_provider16.AISDKError.hasMarker(error, marker16);
558
+ }
559
+ };
560
+ _a16 = symbol16;
561
+
562
+ // src/error/unsupported-model-version-error.ts
563
+ var import_provider17 = require("@ai-sdk/provider");
564
+ var UnsupportedModelVersionError = class extends import_provider17.AISDKError {
535
565
  constructor(options) {
536
566
  super({
537
567
  name: "AI_UnsupportedModelVersionError",
@@ -544,118 +574,118 @@ var UnsupportedModelVersionError = class extends import_provider16.AISDKError {
544
574
  };
545
575
 
546
576
  // src/error/ui-message-stream-error.ts
547
- var import_provider17 = require("@ai-sdk/provider");
548
- var name16 = "AI_UIMessageStreamError";
549
- var marker16 = `vercel.ai.error.${name16}`;
550
- var symbol16 = Symbol.for(marker16);
551
- var _a16;
552
- var UIMessageStreamError = class extends import_provider17.AISDKError {
577
+ var import_provider18 = require("@ai-sdk/provider");
578
+ var name17 = "AI_UIMessageStreamError";
579
+ var marker17 = `vercel.ai.error.${name17}`;
580
+ var symbol17 = Symbol.for(marker17);
581
+ var _a17;
582
+ var UIMessageStreamError = class extends import_provider18.AISDKError {
553
583
  constructor({
554
584
  chunkType,
555
585
  chunkId,
556
586
  message
557
587
  }) {
558
- super({ name: name16, message });
559
- this[_a16] = true;
588
+ super({ name: name17, message });
589
+ this[_a17] = true;
560
590
  this.chunkType = chunkType;
561
591
  this.chunkId = chunkId;
562
592
  }
563
593
  static isInstance(error) {
564
- return import_provider17.AISDKError.hasMarker(error, marker16);
594
+ return import_provider18.AISDKError.hasMarker(error, marker17);
565
595
  }
566
596
  };
567
- _a16 = symbol16;
597
+ _a17 = symbol17;
568
598
 
569
599
  // src/prompt/invalid-data-content-error.ts
570
- var import_provider18 = require("@ai-sdk/provider");
571
- var name17 = "AI_InvalidDataContentError";
572
- var marker17 = `vercel.ai.error.${name17}`;
573
- var symbol17 = Symbol.for(marker17);
574
- var _a17;
575
- var InvalidDataContentError = class extends import_provider18.AISDKError {
600
+ var import_provider19 = require("@ai-sdk/provider");
601
+ var name18 = "AI_InvalidDataContentError";
602
+ var marker18 = `vercel.ai.error.${name18}`;
603
+ var symbol18 = Symbol.for(marker18);
604
+ var _a18;
605
+ var InvalidDataContentError = class extends import_provider19.AISDKError {
576
606
  constructor({
577
607
  content,
578
608
  cause,
579
609
  message = `Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof content}.`
580
610
  }) {
581
- super({ name: name17, message, cause });
582
- this[_a17] = true;
611
+ super({ name: name18, message, cause });
612
+ this[_a18] = true;
583
613
  this.content = content;
584
614
  }
585
615
  static isInstance(error) {
586
- return import_provider18.AISDKError.hasMarker(error, marker17);
616
+ return import_provider19.AISDKError.hasMarker(error, marker18);
587
617
  }
588
618
  };
589
- _a17 = symbol17;
619
+ _a18 = symbol18;
590
620
 
591
621
  // src/prompt/invalid-message-role-error.ts
592
- var import_provider19 = require("@ai-sdk/provider");
593
- var name18 = "AI_InvalidMessageRoleError";
594
- var marker18 = `vercel.ai.error.${name18}`;
595
- var symbol18 = Symbol.for(marker18);
596
- var _a18;
597
- var InvalidMessageRoleError = class extends import_provider19.AISDKError {
622
+ var import_provider20 = require("@ai-sdk/provider");
623
+ var name19 = "AI_InvalidMessageRoleError";
624
+ var marker19 = `vercel.ai.error.${name19}`;
625
+ var symbol19 = Symbol.for(marker19);
626
+ var _a19;
627
+ var InvalidMessageRoleError = class extends import_provider20.AISDKError {
598
628
  constructor({
599
629
  role,
600
630
  message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
601
631
  }) {
602
- super({ name: name18, message });
603
- this[_a18] = true;
632
+ super({ name: name19, message });
633
+ this[_a19] = true;
604
634
  this.role = role;
605
635
  }
606
636
  static isInstance(error) {
607
- return import_provider19.AISDKError.hasMarker(error, marker18);
637
+ return import_provider20.AISDKError.hasMarker(error, marker19);
608
638
  }
609
639
  };
610
- _a18 = symbol18;
640
+ _a19 = symbol19;
611
641
 
612
642
  // src/prompt/message-conversion-error.ts
613
- var import_provider20 = require("@ai-sdk/provider");
614
- var name19 = "AI_MessageConversionError";
615
- var marker19 = `vercel.ai.error.${name19}`;
616
- var symbol19 = Symbol.for(marker19);
617
- var _a19;
618
- var MessageConversionError = class extends import_provider20.AISDKError {
643
+ var import_provider21 = require("@ai-sdk/provider");
644
+ var name20 = "AI_MessageConversionError";
645
+ var marker20 = `vercel.ai.error.${name20}`;
646
+ var symbol20 = Symbol.for(marker20);
647
+ var _a20;
648
+ var MessageConversionError = class extends import_provider21.AISDKError {
619
649
  constructor({
620
650
  originalMessage,
621
651
  message
622
652
  }) {
623
- super({ name: name19, message });
624
- this[_a19] = true;
653
+ super({ name: name20, message });
654
+ this[_a20] = true;
625
655
  this.originalMessage = originalMessage;
626
656
  }
627
657
  static isInstance(error) {
628
- return import_provider20.AISDKError.hasMarker(error, marker19);
658
+ return import_provider21.AISDKError.hasMarker(error, marker20);
629
659
  }
630
660
  };
631
- _a19 = symbol19;
661
+ _a20 = symbol20;
632
662
 
633
663
  // src/error/index.ts
634
664
  var import_provider_utils = require("@ai-sdk/provider-utils");
635
665
 
636
666
  // src/util/retry-error.ts
637
- var import_provider21 = require("@ai-sdk/provider");
638
- var name20 = "AI_RetryError";
639
- var marker20 = `vercel.ai.error.${name20}`;
640
- var symbol20 = Symbol.for(marker20);
641
- var _a20;
642
- var RetryError = class extends import_provider21.AISDKError {
667
+ var import_provider22 = require("@ai-sdk/provider");
668
+ var name21 = "AI_RetryError";
669
+ var marker21 = `vercel.ai.error.${name21}`;
670
+ var symbol21 = Symbol.for(marker21);
671
+ var _a21;
672
+ var RetryError = class extends import_provider22.AISDKError {
643
673
  constructor({
644
674
  message,
645
675
  reason,
646
676
  errors
647
677
  }) {
648
- super({ name: name20, message });
649
- this[_a20] = true;
678
+ super({ name: name21, message });
679
+ this[_a21] = true;
650
680
  this.reason = reason;
651
681
  this.errors = errors;
652
682
  this.lastError = errors[errors.length - 1];
653
683
  }
654
684
  static isInstance(error) {
655
- return import_provider21.AISDKError.hasMarker(error, marker20);
685
+ return import_provider22.AISDKError.hasMarker(error, marker21);
656
686
  }
657
687
  };
658
- _a20 = symbol20;
688
+ _a21 = symbol21;
659
689
 
660
690
  // src/util/as-array.ts
661
691
  function asArray(value) {
@@ -935,7 +965,7 @@ function resolveEmbeddingModel(model) {
935
965
  return getGlobalProvider().embeddingModel(model);
936
966
  }
937
967
  function resolveTranscriptionModel(model) {
938
- var _a22, _b;
968
+ var _a23, _b;
939
969
  if (typeof model !== "string") {
940
970
  if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
941
971
  const unsupportedModel = model;
@@ -947,10 +977,10 @@ function resolveTranscriptionModel(model) {
947
977
  }
948
978
  return asTranscriptionModelV3(model);
949
979
  }
950
- return (_b = (_a22 = getGlobalProvider()).transcriptionModel) == null ? void 0 : _b.call(_a22, model);
980
+ return (_b = (_a23 = getGlobalProvider()).transcriptionModel) == null ? void 0 : _b.call(_a23, model);
951
981
  }
952
982
  function resolveSpeechModel(model) {
953
- var _a22, _b;
983
+ var _a23, _b;
954
984
  if (typeof model !== "string") {
955
985
  if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
956
986
  const unsupportedModel = model;
@@ -962,7 +992,7 @@ function resolveSpeechModel(model) {
962
992
  }
963
993
  return asSpeechModelV3(model);
964
994
  }
965
- return (_b = (_a22 = getGlobalProvider()).speechModel) == null ? void 0 : _b.call(_a22, model);
995
+ return (_b = (_a23 = getGlobalProvider()).speechModel) == null ? void 0 : _b.call(_a23, model);
966
996
  }
967
997
  function resolveImageModel(model) {
968
998
  if (typeof model !== "string") {
@@ -1021,8 +1051,8 @@ function resolveRerankingModel(model) {
1021
1051
  return model;
1022
1052
  }
1023
1053
  function getGlobalProvider() {
1024
- var _a22;
1025
- return (_a22 = globalThis.AI_SDK_DEFAULT_PROVIDER) != null ? _a22 : import_gateway.gateway;
1054
+ var _a23;
1055
+ return (_a23 = globalThis.AI_SDK_DEFAULT_PROVIDER) != null ? _a23 : import_gateway.gateway;
1026
1056
  }
1027
1057
 
1028
1058
  // src/prompt/call-settings.ts
@@ -1304,7 +1334,7 @@ function detectMediaType({
1304
1334
  var import_provider_utils3 = require("@ai-sdk/provider-utils");
1305
1335
 
1306
1336
  // src/version.ts
1307
- var VERSION = true ? "6.0.271" : "0.0.0-test";
1337
+ var VERSION = true ? "6.0.273" : "0.0.0-test";
1308
1338
 
1309
1339
  // src/util/download/download.ts
1310
1340
  var download = async ({
@@ -1312,7 +1342,7 @@ var download = async ({
1312
1342
  maxBytes,
1313
1343
  abortSignal
1314
1344
  }) => {
1315
- var _a22;
1345
+ var _a23;
1316
1346
  const urlText = url.toString();
1317
1347
  try {
1318
1348
  const headers = (0, import_provider_utils3.withUserAgentSuffix)(
@@ -1340,7 +1370,7 @@ var download = async ({
1340
1370
  });
1341
1371
  return {
1342
1372
  data,
1343
- mediaType: (_a22 = response.headers.get("content-type")) != null ? _a22 : void 0
1373
+ mediaType: (_a23 = response.headers.get("content-type")) != null ? _a23 : void 0
1344
1374
  };
1345
1375
  } catch (error) {
1346
1376
  if (import_provider_utils3.DownloadError.isInstance(error)) {
@@ -1394,7 +1424,7 @@ function mergeObjects(base, overrides) {
1394
1424
  }
1395
1425
 
1396
1426
  // src/prompt/data-content.ts
1397
- var import_provider23 = require("@ai-sdk/provider");
1427
+ var import_provider24 = require("@ai-sdk/provider");
1398
1428
  var import_provider_utils4 = require("@ai-sdk/provider-utils");
1399
1429
  var import_v4 = require("zod/v4");
1400
1430
 
@@ -1422,8 +1452,8 @@ var dataContentSchema = import_v4.z.union([
1422
1452
  import_v4.z.custom(
1423
1453
  // Buffer might not be available in some environments such as CloudFlare:
1424
1454
  (value) => {
1425
- var _a22, _b;
1426
- return (_b = (_a22 = globalThis.Buffer) == null ? void 0 : _a22.isBuffer(value)) != null ? _b : false;
1455
+ var _a23, _b;
1456
+ return (_b = (_a23 = globalThis.Buffer) == null ? void 0 : _a23.isBuffer(value)) != null ? _b : false;
1427
1457
  },
1428
1458
  { message: "Must be a Buffer" }
1429
1459
  )
@@ -1446,7 +1476,7 @@ function convertToLanguageModelV3DataContent(content) {
1446
1476
  content.toString()
1447
1477
  );
1448
1478
  if (dataUrlMediaType == null || base64Content == null) {
1449
- throw new import_provider23.AISDKError({
1479
+ throw new import_provider24.AISDKError({
1450
1480
  name: "InvalidDataContentError",
1451
1481
  message: `Invalid data URL format in content ${content.toString()}`
1452
1482
  });
@@ -1737,7 +1767,7 @@ function convertToLanguageModelMessage({
1737
1767
  }
1738
1768
  }
1739
1769
  async function downloadAssets(messages, download2, supportedUrls) {
1740
- var _a22;
1770
+ var _a23;
1741
1771
  const downloadableFiles = [];
1742
1772
  for (const message of messages) {
1743
1773
  if (message.role === "user" && Array.isArray(message.content)) {
@@ -1745,7 +1775,7 @@ async function downloadAssets(messages, download2, supportedUrls) {
1745
1775
  if (part.type === "image" || part.type === "file") {
1746
1776
  downloadableFiles.push({
1747
1777
  data: part.type === "image" ? part.image : part.data,
1748
- mediaType: (_a22 = part.mediaType) != null ? _a22 : part.type === "image" ? "image/*" : void 0
1778
+ mediaType: (_a23 = part.mediaType) != null ? _a23 : part.type === "image" ? "image/*" : void 0
1749
1779
  });
1750
1780
  }
1751
1781
  }
@@ -1797,7 +1827,7 @@ async function downloadAssets(messages, download2, supportedUrls) {
1797
1827
  );
1798
1828
  }
1799
1829
  function convertPartToLanguageModelPart(part, downloadedAssets) {
1800
- var _a22;
1830
+ var _a23;
1801
1831
  if (part.type === "text") {
1802
1832
  return {
1803
1833
  type: "text",
@@ -1830,7 +1860,7 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
1830
1860
  switch (type) {
1831
1861
  case "image": {
1832
1862
  if (data instanceof Uint8Array || typeof data === "string") {
1833
- mediaType = (_a22 = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _a22 : mediaType;
1863
+ mediaType = (_a23 = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _a23 : mediaType;
1834
1864
  }
1835
1865
  return {
1836
1866
  type: "file",
@@ -1865,14 +1895,14 @@ function mapToolResultOutput({
1865
1895
  return {
1866
1896
  type: "content",
1867
1897
  value: output.value.map((item) => {
1868
- var _a22, _b;
1898
+ var _a23, _b;
1869
1899
  if (item.type === "image-url") {
1870
1900
  const downloadedFile = downloadedAssets[new URL(item.url).toString()];
1871
1901
  if (downloadedFile) {
1872
1902
  return {
1873
1903
  type: "image-data",
1874
1904
  data: convertDataContentToBase64String(downloadedFile.data),
1875
- mediaType: (_a22 = downloadedFile.mediaType) != null ? _a22 : "image/*",
1905
+ mediaType: (_a23 = downloadedFile.mediaType) != null ? _a23 : "image/*",
1876
1906
  providerOptions: item.providerOptions
1877
1907
  };
1878
1908
  }
@@ -1910,7 +1940,7 @@ function mapToolResultOutput({
1910
1940
  }
1911
1941
 
1912
1942
  // src/prompt/create-tool-model-output.ts
1913
- var import_provider24 = require("@ai-sdk/provider");
1943
+ var import_provider25 = require("@ai-sdk/provider");
1914
1944
  async function createToolModelOutput({
1915
1945
  toolCallId,
1916
1946
  input,
@@ -1919,7 +1949,7 @@ async function createToolModelOutput({
1919
1949
  errorMode
1920
1950
  }) {
1921
1951
  if (errorMode === "text") {
1922
- return { type: "error-text", value: (0, import_provider24.getErrorMessage)(output) };
1952
+ return { type: "error-text", value: (0, import_provider25.getErrorMessage)(output) };
1923
1953
  } else if (errorMode === "json") {
1924
1954
  return { type: "error-json", value: toJSONValue(output) };
1925
1955
  }
@@ -2046,10 +2076,10 @@ async function prepareToolsAndToolChoice({
2046
2076
  };
2047
2077
  }
2048
2078
  const filteredTools = activeTools != null ? Object.entries(tools).filter(
2049
- ([name22]) => activeTools.includes(name22)
2079
+ ([name23]) => activeTools.includes(name23)
2050
2080
  ) : Object.entries(tools);
2051
2081
  const languageModelTools = [];
2052
- for (const [name22, tool2] of filteredTools) {
2082
+ for (const [name23, tool2] of filteredTools) {
2053
2083
  const toolType = tool2.type;
2054
2084
  switch (toolType) {
2055
2085
  case void 0:
@@ -2057,7 +2087,7 @@ async function prepareToolsAndToolChoice({
2057
2087
  case "function":
2058
2088
  languageModelTools.push({
2059
2089
  type: "function",
2060
- name: name22,
2090
+ name: name23,
2061
2091
  description: tool2.description,
2062
2092
  inputSchema: await (0, import_provider_utils6.asSchema)(tool2.inputSchema).jsonSchema,
2063
2093
  ...tool2.inputExamples != null ? { inputExamples: tool2.inputExamples } : {},
@@ -2068,7 +2098,7 @@ async function prepareToolsAndToolChoice({
2068
2098
  case "provider":
2069
2099
  languageModelTools.push({
2070
2100
  type: "provider",
2071
- name: name22,
2101
+ name: name23,
2072
2102
  id: tool2.id,
2073
2103
  args: tool2.args
2074
2104
  });
@@ -2086,7 +2116,7 @@ async function prepareToolsAndToolChoice({
2086
2116
  }
2087
2117
 
2088
2118
  // src/prompt/standardize-prompt.ts
2089
- var import_provider25 = require("@ai-sdk/provider");
2119
+ var import_provider26 = require("@ai-sdk/provider");
2090
2120
  var import_provider_utils7 = require("@ai-sdk/provider-utils");
2091
2121
  var import_v46 = require("zod/v4");
2092
2122
 
@@ -2304,19 +2334,19 @@ async function standardizePrompt({
2304
2334
  messages
2305
2335
  }) {
2306
2336
  if (prompt == null && messages == null) {
2307
- throw new import_provider25.InvalidPromptError({
2337
+ throw new import_provider26.InvalidPromptError({
2308
2338
  prompt,
2309
2339
  message: "prompt or messages must be defined"
2310
2340
  });
2311
2341
  }
2312
2342
  if (prompt != null && messages != null) {
2313
- throw new import_provider25.InvalidPromptError({
2343
+ throw new import_provider26.InvalidPromptError({
2314
2344
  prompt,
2315
2345
  message: "prompt and messages cannot be defined at the same time"
2316
2346
  });
2317
2347
  }
2318
2348
  if (typeof system !== "string" && !asArray(system).every((message) => message.role === "system")) {
2319
- throw new import_provider25.InvalidPromptError({
2349
+ throw new import_provider26.InvalidPromptError({
2320
2350
  prompt,
2321
2351
  message: "system must be a string, SystemModelMessage, or array of SystemModelMessage"
2322
2352
  });
@@ -2326,20 +2356,20 @@ async function standardizePrompt({
2326
2356
  } else if (prompt != null && Array.isArray(prompt)) {
2327
2357
  messages = prompt;
2328
2358
  } else if (messages == null) {
2329
- throw new import_provider25.InvalidPromptError({
2359
+ throw new import_provider26.InvalidPromptError({
2330
2360
  prompt,
2331
2361
  message: "prompt or messages must be defined"
2332
2362
  });
2333
2363
  }
2334
2364
  if (messages.length === 0) {
2335
- throw new import_provider25.InvalidPromptError({
2365
+ throw new import_provider26.InvalidPromptError({
2336
2366
  prompt,
2337
2367
  message: "messages must not be empty"
2338
2368
  });
2339
2369
  }
2340
2370
  if (messages.some((message) => message.role === "system")) {
2341
2371
  if (allowSystemInMessages === false) {
2342
- throw new import_provider25.InvalidPromptError({
2372
+ throw new import_provider26.InvalidPromptError({
2343
2373
  prompt,
2344
2374
  message: "System messages are not allowed in the prompt or messages fields. Use the system option instead."
2345
2375
  });
@@ -2355,7 +2385,7 @@ async function standardizePrompt({
2355
2385
  schema: import_v46.z.array(modelMessageSchema)
2356
2386
  });
2357
2387
  if (!validationResult.success) {
2358
- throw new import_provider25.InvalidPromptError({
2388
+ throw new import_provider26.InvalidPromptError({
2359
2389
  prompt,
2360
2390
  message: "The messages do not match the ModelMessage[] schema.",
2361
2391
  cause: validationResult.error
@@ -2366,14 +2396,14 @@ async function standardizePrompt({
2366
2396
 
2367
2397
  // src/prompt/wrap-gateway-error.ts
2368
2398
  var import_gateway2 = require("@ai-sdk/gateway");
2369
- var import_provider26 = require("@ai-sdk/provider");
2399
+ var import_provider27 = require("@ai-sdk/provider");
2370
2400
  function wrapGatewayError(error) {
2371
2401
  if (!import_gateway2.GatewayAuthenticationError.isInstance(error))
2372
2402
  return error;
2373
2403
  const isProductionEnv = (process == null ? void 0 : process.env.NODE_ENV) === "production";
2374
2404
  const moreInfoURL = "https://ai-sdk.dev/unauthenticated-ai-gateway";
2375
2405
  if (isProductionEnv) {
2376
- return new import_provider26.AISDKError({
2406
+ return new import_provider27.AISDKError({
2377
2407
  name: "GatewayError",
2378
2408
  message: `Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${moreInfoURL}`
2379
2409
  });
@@ -2414,7 +2444,7 @@ function getBaseTelemetryAttributes({
2414
2444
  telemetry,
2415
2445
  headers
2416
2446
  }) {
2417
- var _a22;
2447
+ var _a23;
2418
2448
  return {
2419
2449
  "ai.model.provider": model.provider,
2420
2450
  "ai.model.id": model.modelId,
@@ -2433,7 +2463,7 @@ function getBaseTelemetryAttributes({
2433
2463
  return attributes;
2434
2464
  }, {}),
2435
2465
  // add metadata as attributes:
2436
- ...Object.entries((_a22 = telemetry == null ? void 0 : telemetry.metadata) != null ? _a22 : {}).reduce(
2466
+ ...Object.entries((_a23 = telemetry == null ? void 0 : telemetry.metadata) != null ? _a23 : {}).reduce(
2437
2467
  (attributes, [key, value]) => {
2438
2468
  attributes[`ai.telemetry.metadata.${key}`] = value;
2439
2469
  return attributes;
@@ -2458,7 +2488,7 @@ var noopTracer = {
2458
2488
  startSpan() {
2459
2489
  return noopSpan;
2460
2490
  },
2461
- startActiveSpan(name22, arg1, arg2, arg3) {
2491
+ startActiveSpan(name23, arg1, arg2, arg3) {
2462
2492
  if (typeof arg1 === "function") {
2463
2493
  return arg1(noopSpan);
2464
2494
  }
@@ -2528,7 +2558,7 @@ function getTracer({
2528
2558
  // src/telemetry/record-span.ts
2529
2559
  var import_api2 = require("@opentelemetry/api");
2530
2560
  async function recordSpan({
2531
- name: name22,
2561
+ name: name23,
2532
2562
  tracer,
2533
2563
  attributes,
2534
2564
  fn,
@@ -2536,7 +2566,7 @@ async function recordSpan({
2536
2566
  endOnError = endWhenDone
2537
2567
  }) {
2538
2568
  return tracer.startActiveSpan(
2539
- name22,
2569
+ name23,
2540
2570
  { attributes: await attributes },
2541
2571
  async (span) => {
2542
2572
  const ctx = import_api2.context.active();
@@ -2666,15 +2696,15 @@ function registerTelemetryIntegration(integration) {
2666
2696
  globalThis.AI_SDK_TELEMETRY_INTEGRATIONS.push(integration);
2667
2697
  }
2668
2698
  function getGlobalTelemetryIntegrations() {
2669
- var _a22;
2670
- return (_a22 = globalThis.AI_SDK_TELEMETRY_INTEGRATIONS) != null ? _a22 : [];
2699
+ var _a23;
2700
+ return (_a23 = globalThis.AI_SDK_TELEMETRY_INTEGRATIONS) != null ? _a23 : [];
2671
2701
  }
2672
2702
 
2673
2703
  // src/telemetry/get-global-telemetry-integration.ts
2674
2704
  function bindTelemetryIntegration(integration) {
2675
- var _a22, _b, _c, _d, _e, _f;
2705
+ var _a23, _b, _c, _d, _e, _f;
2676
2706
  return {
2677
- onStart: (_a22 = integration.onStart) == null ? void 0 : _a22.bind(integration),
2707
+ onStart: (_a23 = integration.onStart) == null ? void 0 : _a23.bind(integration),
2678
2708
  onStepStart: (_b = integration.onStepStart) == null ? void 0 : _b.bind(integration),
2679
2709
  onToolCallStart: (_c = integration.onToolCallStart) == null ? void 0 : _c.bind(integration),
2680
2710
  onToolCallFinish: (_d = integration.onToolCallFinish) == null ? void 0 : _d.bind(integration),
@@ -2758,12 +2788,12 @@ function createNullLanguageModelUsage() {
2758
2788
  };
2759
2789
  }
2760
2790
  function addLanguageModelUsage(usage1, usage2) {
2761
- var _a22, _b, _c, _d, _e, _f, _g, _h, _i, _j;
2791
+ var _a23, _b, _c, _d, _e, _f, _g, _h, _i, _j;
2762
2792
  return {
2763
2793
  inputTokens: addTokenCounts(usage1.inputTokens, usage2.inputTokens),
2764
2794
  inputTokenDetails: {
2765
2795
  noCacheTokens: addTokenCounts(
2766
- (_a22 = usage1.inputTokenDetails) == null ? void 0 : _a22.noCacheTokens,
2796
+ (_a23 = usage1.inputTokenDetails) == null ? void 0 : _a23.noCacheTokens,
2767
2797
  (_b = usage2.inputTokenDetails) == null ? void 0 : _b.noCacheTokens
2768
2798
  ),
2769
2799
  cacheReadTokens: addTokenCounts(
@@ -2809,14 +2839,14 @@ function addImageModelUsage(usage1, usage2) {
2809
2839
  }
2810
2840
 
2811
2841
  // src/util/retry-with-exponential-backoff.ts
2812
- var import_provider27 = require("@ai-sdk/provider");
2842
+ var import_provider28 = require("@ai-sdk/provider");
2813
2843
  var import_gateway3 = require("@ai-sdk/gateway");
2814
2844
  var import_provider_utils8 = require("@ai-sdk/provider-utils");
2815
2845
  function getRetryDelayInMs({
2816
2846
  error,
2817
2847
  exponentialBackoffDelay
2818
2848
  }) {
2819
- const headers = import_provider27.APICallError.isInstance(error) ? error.responseHeaders : import_provider27.APICallError.isInstance(error.cause) ? error.cause.responseHeaders : void 0;
2849
+ const headers = import_provider28.APICallError.isInstance(error) ? error.responseHeaders : import_provider28.APICallError.isInstance(error.cause) ? error.cause.responseHeaders : void 0;
2820
2850
  if (!headers)
2821
2851
  return exponentialBackoffDelay;
2822
2852
  let ms;
@@ -2851,7 +2881,7 @@ var retryWithExponentialBackoffRespectingRetryHeaders = ({
2851
2881
  initialDelayInMs,
2852
2882
  backoffFactor,
2853
2883
  abortSignal,
2854
- shouldRetry: (error) => error instanceof Error && (import_provider27.APICallError.isInstance(error) && error.isRetryable === true || import_gateway3.GatewayError.isInstance(error) && error.isRetryable === true),
2884
+ shouldRetry: (error) => error instanceof Error && (import_provider28.APICallError.isInstance(error) && error.isRetryable === true || import_gateway3.GatewayError.isInstance(error) && error.isRetryable === true),
2855
2885
  getDelayInMs: ({ error, exponentialBackoffDelay }) => getRetryDelayInMs({
2856
2886
  error,
2857
2887
  exponentialBackoffDelay
@@ -2990,8 +3020,8 @@ var import_provider_utils9 = require("@ai-sdk/provider-utils");
2990
3020
 
2991
3021
  // src/util/now.ts
2992
3022
  function now() {
2993
- var _a22, _b;
2994
- return (_b = (_a22 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a22.now()) != null ? _b : Date.now();
3023
+ var _a23, _b;
3024
+ return (_b = (_a23 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a23.now()) != null ? _b : Date.now();
2995
3025
  }
2996
3026
 
2997
3027
  // src/generate-text/execute-tool-call.ts
@@ -3009,7 +3039,7 @@ async function executeToolCall({
3009
3039
  onToolCallStart,
3010
3040
  onToolCallFinish
3011
3041
  }) {
3012
- var _a22;
3042
+ var _a23;
3013
3043
  const { toolName, toolCallId, input } = toolCall;
3014
3044
  const tool2 = tools == null ? void 0 : tools[toolName];
3015
3045
  if ((tool2 == null ? void 0 : tool2.execute) == null) {
@@ -3035,7 +3065,7 @@ async function executeToolCall({
3035
3065
  telemetry
3036
3066
  }),
3037
3067
  ...Object.fromEntries(
3038
- Object.entries((_a22 = telemetry == null ? void 0 : telemetry.metadata) != null ? _a22 : {}).map(([key, value]) => [
3068
+ Object.entries((_a23 = telemetry == null ? void 0 : telemetry.metadata) != null ? _a23 : {}).map(([key, value]) => [
3039
3069
  `ai.telemetry.metadata.${key}`,
3040
3070
  value
3041
3071
  ])
@@ -3164,7 +3194,7 @@ function filterActiveTools({
3164
3194
  }
3165
3195
  return Object.fromEntries(
3166
3196
  Object.entries(tools).filter(
3167
- ([name22]) => activeTools.includes(name22)
3197
+ ([name23]) => activeTools.includes(name23)
3168
3198
  )
3169
3199
  );
3170
3200
  }
@@ -3327,7 +3357,7 @@ async function validateApprovedToolApprovals({
3327
3357
  experimental_context,
3328
3358
  toolApprovalSecret
3329
3359
  }) {
3330
- var _a22;
3360
+ var _a23;
3331
3361
  const approved = [];
3332
3362
  const denied = [];
3333
3363
  const invalid = [];
@@ -3389,7 +3419,7 @@ async function validateApprovedToolApprovals({
3389
3419
  approvalResponse: {
3390
3420
  ...approval.approvalResponse,
3391
3421
  approved: false,
3392
- reason: (_a22 = approval.approvalResponse.reason) != null ? _a22 : `Tool "${toolCall.toolName}" does not require approval`
3422
+ reason: (_a23 = approval.approvalResponse.reason) != null ? _a23 : `Tool "${toolCall.toolName}" does not require approval`
3393
3423
  }
3394
3424
  });
3395
3425
  }
@@ -3410,7 +3440,7 @@ __export(output_exports, {
3410
3440
  object: () => object,
3411
3441
  text: () => text
3412
3442
  });
3413
- var import_provider28 = require("@ai-sdk/provider");
3443
+ var import_provider29 = require("@ai-sdk/provider");
3414
3444
  var import_provider_utils14 = require("@ai-sdk/provider-utils");
3415
3445
 
3416
3446
  // src/util/parse-partial-json.ts
@@ -3785,7 +3815,7 @@ var text = () => ({
3785
3815
  });
3786
3816
  var object = ({
3787
3817
  schema: inputSchema,
3788
- name: name22,
3818
+ name: name23,
3789
3819
  description
3790
3820
  }) => {
3791
3821
  const schema = (0, import_provider_utils14.asSchema)(inputSchema);
@@ -3794,7 +3824,7 @@ var object = ({
3794
3824
  responseFormat: (0, import_provider_utils14.resolve)(schema.jsonSchema).then((jsonSchema2) => ({
3795
3825
  type: "json",
3796
3826
  schema: jsonSchema2,
3797
- ...name22 != null && { name: name22 },
3827
+ ...name23 != null && { name: name23 },
3798
3828
  ...description != null && { description }
3799
3829
  })),
3800
3830
  async parseCompleteOutput({ text: text2 }, context2) {
@@ -3848,7 +3878,7 @@ var object = ({
3848
3878
  };
3849
3879
  var array = ({
3850
3880
  element: inputElementSchema,
3851
- name: name22,
3881
+ name: name23,
3852
3882
  description
3853
3883
  }) => {
3854
3884
  const elementSchema = (0, import_provider_utils14.asSchema)(inputElementSchema);
@@ -3868,7 +3898,7 @@ var array = ({
3868
3898
  required: ["elements"],
3869
3899
  additionalProperties: false
3870
3900
  },
3871
- ...name22 != null && { name: name22 },
3901
+ ...name23 != null && { name: name23 },
3872
3902
  ...description != null && { description }
3873
3903
  };
3874
3904
  }),
@@ -3888,7 +3918,7 @@ var array = ({
3888
3918
  if (outerValue == null || typeof outerValue !== "object" || !("elements" in outerValue) || !Array.isArray(outerValue.elements)) {
3889
3919
  throw new NoObjectGeneratedError({
3890
3920
  message: "No object generated: response did not match schema.",
3891
- cause: new import_provider28.TypeValidationError({
3921
+ cause: new import_provider29.TypeValidationError({
3892
3922
  value: outerValue,
3893
3923
  cause: "response must be an object with an elements array"
3894
3924
  }),
@@ -3962,7 +3992,7 @@ var array = ({
3962
3992
  };
3963
3993
  var choice = ({
3964
3994
  options: choiceOptions,
3965
- name: name22,
3995
+ name: name23,
3966
3996
  description
3967
3997
  }) => {
3968
3998
  return {
@@ -3979,7 +4009,7 @@ var choice = ({
3979
4009
  required: ["result"],
3980
4010
  additionalProperties: false
3981
4011
  },
3982
- ...name22 != null && { name: name22 },
4012
+ ...name23 != null && { name: name23 },
3983
4013
  ...description != null && { description }
3984
4014
  }),
3985
4015
  async parseCompleteOutput({ text: text2 }, context2) {
@@ -3998,7 +4028,7 @@ var choice = ({
3998
4028
  if (outerValue == null || typeof outerValue !== "object" || !("result" in outerValue) || typeof outerValue.result !== "string" || !choiceOptions.includes(outerValue.result)) {
3999
4029
  throw new NoObjectGeneratedError({
4000
4030
  message: "No object generated: response did not match schema.",
4001
- cause: new import_provider28.TypeValidationError({
4031
+ cause: new import_provider29.TypeValidationError({
4002
4032
  value: outerValue,
4003
4033
  cause: "response must be an object that contains a choice value."
4004
4034
  }),
@@ -4040,14 +4070,14 @@ var choice = ({
4040
4070
  };
4041
4071
  };
4042
4072
  var json = ({
4043
- name: name22,
4073
+ name: name23,
4044
4074
  description
4045
4075
  } = {}) => {
4046
4076
  return {
4047
4077
  name: "json",
4048
4078
  responseFormat: Promise.resolve({
4049
4079
  type: "json",
4050
- ...name22 != null && { name: name22 },
4080
+ ...name23 != null && { name: name23 },
4051
4081
  ...description != null && { description }
4052
4082
  }),
4053
4083
  async parseCompleteOutput({ text: text2 }, context2) {
@@ -4218,9 +4248,9 @@ function prepareStepCallSettings({
4218
4248
  callSettings,
4219
4249
  stepSettings
4220
4250
  }) {
4221
- var _a22, _b, _c, _d, _e, _f, _g, _h;
4251
+ var _a23, _b, _c, _d, _e, _f, _g, _h;
4222
4252
  return prepareCallSettings({
4223
- maxOutputTokens: (_a22 = stepSettings == null ? void 0 : stepSettings.maxOutputTokens) != null ? _a22 : callSettings.maxOutputTokens,
4253
+ maxOutputTokens: (_a23 = stepSettings == null ? void 0 : stepSettings.maxOutputTokens) != null ? _a23 : callSettings.maxOutputTokens,
4224
4254
  temperature: (_b = stepSettings == null ? void 0 : stepSettings.temperature) != null ? _b : callSettings.temperature,
4225
4255
  topP: (_c = stepSettings == null ? void 0 : stepSettings.topP) != null ? _c : callSettings.topP,
4226
4256
  topK: (_d = stepSettings == null ? void 0 : stepSettings.topK) != null ? _d : callSettings.topK,
@@ -4314,8 +4344,8 @@ function isLoopFinished() {
4314
4344
  }
4315
4345
  function hasToolCall(toolName) {
4316
4346
  return ({ steps }) => {
4317
- var _a22, _b, _c;
4318
- return (_c = (_b = (_a22 = steps[steps.length - 1]) == null ? void 0 : _a22.toolCalls) == null ? void 0 : _b.some(
4347
+ var _a23, _b, _c;
4348
+ return (_c = (_b = (_a23 = steps[steps.length - 1]) == null ? void 0 : _a23.toolCalls) == null ? void 0 : _b.some(
4319
4349
  (toolCall) => toolCall.toolName === toolName
4320
4350
  )) != null ? _c : false;
4321
4351
  };
@@ -4645,7 +4675,7 @@ async function generateText({
4645
4675
  }),
4646
4676
  tracer,
4647
4677
  fn: async (span) => {
4648
- var _a22, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t;
4678
+ var _a23, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t;
4649
4679
  const initialMessages = initialPrompt.messages;
4650
4680
  const responseMessages = [];
4651
4681
  const {
@@ -4770,7 +4800,7 @@ async function generateText({
4770
4800
  experimental_context
4771
4801
  }));
4772
4802
  const stepModel = resolveLanguageModel(
4773
- (_a22 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a22 : model
4803
+ (_a23 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a23 : model
4774
4804
  );
4775
4805
  const stepModelInfo = {
4776
4806
  provider: stepModel.provider,
@@ -4870,7 +4900,7 @@ async function generateText({
4870
4900
  }),
4871
4901
  tracer,
4872
4902
  fn: async (span2) => {
4873
- var _a23, _b2, _c2, _d2, _e2, _f2, _g2, _h2;
4903
+ var _a24, _b2, _c2, _d2, _e2, _f2, _g2, _h2;
4874
4904
  const result = await stepModel.doGenerate({
4875
4905
  ...stepCallSettings,
4876
4906
  tools: stepTools,
@@ -4882,7 +4912,7 @@ async function generateText({
4882
4912
  headers: headersWithUserAgent
4883
4913
  });
4884
4914
  const responseData = {
4885
- id: (_b2 = (_a23 = result.response) == null ? void 0 : _a23.id) != null ? _b2 : generateId2(),
4915
+ id: (_b2 = (_a24 = result.response) == null ? void 0 : _a24.id) != null ? _b2 : generateId2(),
4886
4916
  timestamp: (_d2 = (_c2 = result.response) == null ? void 0 : _c2.timestamp) != null ? _d2 : /* @__PURE__ */ new Date(),
4887
4917
  modelId: (_f2 = (_e2 = result.response) == null ? void 0 : _e2.modelId) != null ? _f2 : stepModel.modelId,
4888
4918
  headers: (_g2 = result.response) == null ? void 0 : _g2.headers,
@@ -4950,6 +4980,18 @@ async function generateText({
4950
4980
  })
4951
4981
  )
4952
4982
  );
4983
+ const enforcedToolChoice = (stepToolChoice == null ? void 0 : stepToolChoice.type) === "required" || (stepToolChoice == null ? void 0 : stepToolChoice.type) === "tool" ? stepToolChoice : void 0;
4984
+ if (enforcedToolChoice != null && !stepToolCalls.some(
4985
+ (toolCall) => enforcedToolChoice.type === "required" || toolCall.toolName === enforcedToolChoice.toolName
4986
+ )) {
4987
+ throw new ToolChoiceViolationError({
4988
+ toolChoice: enforcedToolChoice,
4989
+ finishReason: currentModelResponse.finishReason.unified,
4990
+ provider: stepModel.provider,
4991
+ modelId: stepModel.modelId,
4992
+ content: currentModelResponse.content
4993
+ });
4994
+ }
4953
4995
  const toolApprovalRequests = {};
4954
4996
  for (const toolCall of stepToolCalls) {
4955
4997
  if (toolCall.invalid) {
@@ -5470,7 +5512,7 @@ function asContent({
5470
5512
  }
5471
5513
 
5472
5514
  // src/generate-text/stream-text.ts
5473
- var import_provider29 = require("@ai-sdk/provider");
5515
+ var import_provider30 = require("@ai-sdk/provider");
5474
5516
  var import_provider_utils20 = require("@ai-sdk/provider-utils");
5475
5517
 
5476
5518
  // src/util/prepare-headers.ts
@@ -5867,7 +5909,7 @@ function processUIMessageStream({
5867
5909
  new TransformStream({
5868
5910
  async transform(chunk, controller) {
5869
5911
  await runUpdateMessageJob(async ({ state, write }) => {
5870
- var _a22, _b, _c, _d;
5912
+ var _a23, _b, _c, _d;
5871
5913
  function getCurrentStepParts() {
5872
5914
  const parts = state.message.parts;
5873
5915
  let currentStepStartIndex = parts.length - 1;
@@ -5904,7 +5946,7 @@ function processUIMessageStream({
5904
5946
  return toolInvocation;
5905
5947
  }
5906
5948
  function updateToolPart(options, existingPart) {
5907
- var _a23;
5949
+ var _a24;
5908
5950
  const part = existingPart != null ? existingPart : getCurrentStepParts().find(
5909
5951
  (part2) => isStaticToolUIPart(part2) && part2.toolCallId === options.toolCallId
5910
5952
  );
@@ -5923,7 +5965,7 @@ function processUIMessageStream({
5923
5965
  if (options.toolMetadata !== void 0) {
5924
5966
  anyPart.toolMetadata = options.toolMetadata;
5925
5967
  }
5926
- anyPart.providerExecuted = (_a23 = anyOptions.providerExecuted) != null ? _a23 : part.providerExecuted;
5968
+ anyPart.providerExecuted = (_a24 = anyOptions.providerExecuted) != null ? _a24 : part.providerExecuted;
5927
5969
  const providerMetadata = anyOptions.providerMetadata;
5928
5970
  if (providerMetadata != null) {
5929
5971
  if (options.state === "output-available" || options.state === "output-error") {
@@ -5952,7 +5994,7 @@ function processUIMessageStream({
5952
5994
  }
5953
5995
  }
5954
5996
  function updateDynamicToolPart(options, existingPart) {
5955
- var _a23, _b2;
5997
+ var _a24, _b2;
5956
5998
  const part = existingPart != null ? existingPart : getCurrentStepParts().find(
5957
5999
  (part2) => part2.type === "dynamic-tool" && part2.toolCallId === options.toolCallId
5958
6000
  );
@@ -5964,7 +6006,7 @@ function processUIMessageStream({
5964
6006
  anyPart.input = anyOptions.input;
5965
6007
  anyPart.output = anyOptions.output;
5966
6008
  anyPart.errorText = anyOptions.errorText;
5967
- anyPart.rawInput = (_a23 = anyOptions.rawInput) != null ? _a23 : anyPart.rawInput;
6009
+ anyPart.rawInput = (_a24 = anyOptions.rawInput) != null ? _a24 : anyPart.rawInput;
5968
6010
  anyPart.preliminary = anyOptions.preliminary;
5969
6011
  if (options.title !== void 0) {
5970
6012
  anyPart.title = options.title;
@@ -6039,7 +6081,7 @@ function processUIMessageStream({
6039
6081
  });
6040
6082
  }
6041
6083
  textPart.text += chunk.delta;
6042
- textPart.providerMetadata = (_a22 = chunk.providerMetadata) != null ? _a22 : textPart.providerMetadata;
6084
+ textPart.providerMetadata = (_a23 = chunk.providerMetadata) != null ? _a23 : textPart.providerMetadata;
6043
6085
  write();
6044
6086
  break;
6045
6087
  }
@@ -6506,13 +6548,13 @@ function handleUIMessageStreamFinish({
6506
6548
  };
6507
6549
  let finishCalled = false;
6508
6550
  const callOnFinish = async () => {
6509
- var _a22;
6551
+ var _a23;
6510
6552
  if (finishCalled || !onFinish) {
6511
6553
  return;
6512
6554
  }
6513
6555
  finishCalled = true;
6514
6556
  const isContinuation = state.message.id === (lastMessage == null ? void 0 : lastMessage.id);
6515
- const declaredOutcome = (_a22 = getOutcome == null ? void 0 : getOutcome()) != null ? _a22 : { status: "unknown" };
6557
+ const declaredOutcome = (_a23 = getOutcome == null ? void 0 : getOutcome()) != null ? _a23 : { status: "unknown" };
6516
6558
  const outcome = hasProcessingFailure ? { status: "failed", error: processingError } : declaredOutcome.status === "unknown" && isAborted ? { status: "aborted" } : declaredOutcome;
6517
6559
  await onFinish({
6518
6560
  isAborted: isAborted || outcome.status === "aborted",
@@ -6606,13 +6648,13 @@ function createAsyncIterableStream(source) {
6606
6648
  const reader = this.getReader();
6607
6649
  let finished = false;
6608
6650
  async function cleanup(cancelStream) {
6609
- var _a22;
6651
+ var _a23;
6610
6652
  if (finished)
6611
6653
  return;
6612
6654
  finished = true;
6613
6655
  try {
6614
6656
  if (cancelStream) {
6615
- await ((_a22 = reader.cancel) == null ? void 0 : _a22.call(reader));
6657
+ await ((_a23 = reader.cancel) == null ? void 0 : _a23.call(reader));
6616
6658
  }
6617
6659
  } finally {
6618
6660
  try {
@@ -6727,7 +6769,7 @@ function createStitchableStream() {
6727
6769
  controller == null ? void 0 : controller.close();
6728
6770
  };
6729
6771
  const processPull = async () => {
6730
- var _a22;
6772
+ var _a23;
6731
6773
  if (isCancelled) {
6732
6774
  return;
6733
6775
  }
@@ -6760,7 +6802,7 @@ function createStitchableStream() {
6760
6802
  if (isCancelled) {
6761
6803
  return;
6762
6804
  }
6763
- (_a22 = currentStream.onError) == null ? void 0 : _a22.call(currentStream, error);
6805
+ (_a23 = currentStream.onError) == null ? void 0 : _a23.call(currentStream, error);
6764
6806
  controller == null ? void 0 : controller.error(error);
6765
6807
  innerStreams.shift();
6766
6808
  terminate();
@@ -6784,9 +6826,9 @@ function createStitchableStream() {
6784
6826
  }
6785
6827
  }),
6786
6828
  addStream: (innerStream, callbacks) => {
6787
- var _a22;
6829
+ var _a23;
6788
6830
  if (isCancelled) {
6789
- (_a22 = callbacks == null ? void 0 : callbacks.onCancel) == null ? void 0 : _a22.call(callbacks);
6831
+ (_a23 = callbacks == null ? void 0 : callbacks.onCancel) == null ? void 0 : _a23.call(callbacks);
6790
6832
  void innerStream.cancel().catch(() => {
6791
6833
  });
6792
6834
  return;
@@ -7265,7 +7307,7 @@ function createOutputTransformStream(output) {
7265
7307
  }
7266
7308
  return new TransformStream({
7267
7309
  async transform(chunk, controller) {
7268
- var _a22;
7310
+ var _a23;
7269
7311
  if (chunk.type === "finish-step" && textChunk.length > 0) {
7270
7312
  publishTextChunk({ controller });
7271
7313
  }
@@ -7292,7 +7334,7 @@ function createOutputTransformStream(output) {
7292
7334
  }
7293
7335
  text2 += chunk.text;
7294
7336
  textChunk += chunk.text;
7295
- textProviderMetadata = (_a22 = chunk.providerMetadata) != null ? _a22 : textProviderMetadata;
7337
+ textProviderMetadata = (_a23 = chunk.providerMetadata) != null ? _a23 : textProviderMetadata;
7296
7338
  if (chunk.text.length === 0 && chunk.providerMetadata != null) {
7297
7339
  controller.enqueue({ part: chunk, partialOutput: void 0 });
7298
7340
  return;
@@ -7398,7 +7440,7 @@ var DefaultStreamTextResult = class {
7398
7440
  let activeReasoningContent = createIdMap();
7399
7441
  const eventProcessor = new TransformStream({
7400
7442
  async transform(chunk, controller) {
7401
- var _a22, _b, _c, _d;
7443
+ var _a23, _b, _c, _d;
7402
7444
  controller.enqueue(chunk);
7403
7445
  const { part } = chunk;
7404
7446
  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") {
@@ -7438,7 +7480,7 @@ var DefaultStreamTextResult = class {
7438
7480
  return;
7439
7481
  }
7440
7482
  activeText.text += part.text;
7441
- activeText.providerMetadata = (_a22 = part.providerMetadata) != null ? _a22 : activeText.providerMetadata;
7483
+ activeText.providerMetadata = (_a23 = part.providerMetadata) != null ? _a23 : activeText.providerMetadata;
7442
7484
  }
7443
7485
  if (part.type === "text-end") {
7444
7486
  const activeText = activeTextContent[part.id];
@@ -7564,7 +7606,7 @@ var DefaultStreamTextResult = class {
7564
7606
  }
7565
7607
  },
7566
7608
  async flush(controller) {
7567
- var _a22, _b, _c, _d, _e, _f, _g;
7609
+ var _a23, _b, _c, _d, _e, _f, _g;
7568
7610
  try {
7569
7611
  if (recordedSteps.length === 0 || recordedNoOutputError != null) {
7570
7612
  const error = (abortSignal == null ? void 0 : abortSignal.aborted) ? abortSignal.reason : recordedNoOutputError != null ? recordedNoOutputError : new NoOutputGeneratedError({
@@ -7583,40 +7625,51 @@ var DefaultStreamTextResult = class {
7583
7625
  self._totalUsage.resolve(totalUsage);
7584
7626
  self._steps.resolve(recordedSteps);
7585
7627
  const finalStep = recordedSteps[recordedSteps.length - 1];
7586
- await notify({
7587
- event: {
7588
- stepNumber: finalStep.stepNumber,
7589
- model: finalStep.model,
7590
- functionId: finalStep.functionId,
7591
- metadata: finalStep.metadata,
7592
- experimental_context: finalStep.experimental_context,
7593
- finishReason: finalStep.finishReason,
7594
- rawFinishReason: finalStep.rawFinishReason,
7595
- totalUsage,
7596
- usage: finalStep.usage,
7597
- content: finalStep.content,
7598
- text: finalStep.text,
7599
- reasoningText: finalStep.reasoningText,
7600
- reasoning: finalStep.reasoning,
7601
- files: finalStep.files,
7602
- sources: finalStep.sources,
7603
- toolCalls: finalStep.toolCalls,
7604
- staticToolCalls: finalStep.staticToolCalls,
7605
- dynamicToolCalls: finalStep.dynamicToolCalls,
7606
- toolResults: finalStep.toolResults,
7607
- staticToolResults: finalStep.staticToolResults,
7608
- dynamicToolResults: finalStep.dynamicToolResults,
7609
- request: finalStep.request,
7610
- response: finalStep.response,
7611
- warnings: finalStep.warnings,
7612
- providerMetadata: finalStep.providerMetadata,
7613
- steps: recordedSteps
7614
- },
7615
- callbacks: [
7616
- onFinish,
7617
- globalTelemetry.onFinish
7618
- ]
7619
- });
7628
+ const onFinishEvent = {
7629
+ stepNumber: finalStep.stepNumber,
7630
+ model: finalStep.model,
7631
+ functionId: finalStep.functionId,
7632
+ metadata: finalStep.metadata,
7633
+ experimental_context: finalStep.experimental_context,
7634
+ finishReason: finalStep.finishReason,
7635
+ rawFinishReason: finalStep.rawFinishReason,
7636
+ totalUsage,
7637
+ usage: finalStep.usage,
7638
+ content: finalStep.content,
7639
+ text: finalStep.text,
7640
+ reasoningText: finalStep.reasoningText,
7641
+ reasoning: finalStep.reasoning,
7642
+ files: finalStep.files,
7643
+ sources: finalStep.sources,
7644
+ toolCalls: finalStep.toolCalls,
7645
+ staticToolCalls: finalStep.staticToolCalls,
7646
+ dynamicToolCalls: finalStep.dynamicToolCalls,
7647
+ toolResults: finalStep.toolResults,
7648
+ staticToolResults: finalStep.staticToolResults,
7649
+ dynamicToolResults: finalStep.dynamicToolResults,
7650
+ request: finalStep.request,
7651
+ response: finalStep.response,
7652
+ warnings: finalStep.warnings,
7653
+ providerMetadata: finalStep.providerMetadata,
7654
+ steps: recordedSteps
7655
+ };
7656
+ const onFinishWithOutput = onFinish == null ? void 0 : async (event) => {
7657
+ const parsedOutput = output == null ? void 0 : await self.getOutputPromise().catch(() => void 0);
7658
+ await onFinish({
7659
+ ...event,
7660
+ ...output != null ? { output: parsedOutput } : {}
7661
+ });
7662
+ };
7663
+ await Promise.all([
7664
+ notify({
7665
+ event: onFinishEvent,
7666
+ callbacks: onFinishWithOutput
7667
+ }),
7668
+ notify({
7669
+ event: onFinishEvent,
7670
+ callbacks: globalTelemetry.onFinish
7671
+ })
7672
+ ]);
7620
7673
  rootSpan.setAttributes(
7621
7674
  await selectTelemetryAttributes({
7622
7675
  telemetry,
@@ -7628,15 +7681,15 @@ var DefaultStreamTextResult = class {
7628
7681
  },
7629
7682
  "ai.response.toolCalls": {
7630
7683
  output: () => {
7631
- var _a23;
7632
- return ((_a23 = finalStep.toolCalls) == null ? void 0 : _a23.length) ? JSON.stringify(finalStep.toolCalls) : void 0;
7684
+ var _a24;
7685
+ return ((_a24 = finalStep.toolCalls) == null ? void 0 : _a24.length) ? JSON.stringify(finalStep.toolCalls) : void 0;
7633
7686
  }
7634
7687
  },
7635
7688
  "ai.response.providerMetadata": JSON.stringify(
7636
7689
  finalStep.providerMetadata
7637
7690
  ),
7638
7691
  "ai.usage.inputTokens": totalUsage.inputTokens,
7639
- "ai.usage.inputTokenDetails.noCacheTokens": (_a22 = totalUsage.inputTokenDetails) == null ? void 0 : _a22.noCacheTokens,
7692
+ "ai.usage.inputTokenDetails.noCacheTokens": (_a23 = totalUsage.inputTokenDetails) == null ? void 0 : _a23.noCacheTokens,
7640
7693
  "ai.usage.inputTokenDetails.cacheReadTokens": (_b = totalUsage.inputTokenDetails) == null ? void 0 : _b.cacheReadTokens,
7641
7694
  "ai.usage.inputTokenDetails.cacheWriteTokens": (_c = totalUsage.inputTokenDetails) == null ? void 0 : _c.cacheWriteTokens,
7642
7695
  "ai.usage.outputTokens": totalUsage.outputTokens,
@@ -7671,7 +7724,7 @@ var DefaultStreamTextResult = class {
7671
7724
  // The `reason` is usually of type DOMException, but it can also be of any type,
7672
7725
  // so we use getErrorMessage for serialization because it is already designed to accept values of the unknown type.
7673
7726
  // See: https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/reason
7674
- ...(abortSignal == null ? void 0 : abortSignal.reason) !== void 0 ? { reason: (0, import_provider29.getErrorMessage)(abortSignal.reason) } : {}
7727
+ ...(abortSignal == null ? void 0 : abortSignal.reason) !== void 0 ? { reason: (0, import_provider30.getErrorMessage)(abortSignal.reason) } : {}
7675
7728
  });
7676
7729
  controller.close();
7677
7730
  }
@@ -7833,7 +7886,7 @@ var DefaultStreamTextResult = class {
7833
7886
  toolCallId: toolApproval.toolCall.toolCallId,
7834
7887
  toolName: toolApproval.toolCall.toolName,
7835
7888
  input: toolApproval.toolCall.input,
7836
- error: (0, import_provider29.getErrorMessage)(toolApproval.error),
7889
+ error: (0, import_provider30.getErrorMessage)(toolApproval.error),
7837
7890
  title: toolApproval.toolCall.title,
7838
7891
  ...toolApproval.toolCall.dynamic === true ? { dynamic: true } : {},
7839
7892
  ...toolApproval.toolCall.toolMetadata != null ? { toolMetadata: toolApproval.toolCall.toolMetadata } : {}
@@ -7926,7 +7979,7 @@ var DefaultStreamTextResult = class {
7926
7979
  responseMessages,
7927
7980
  usage
7928
7981
  }) {
7929
- var _a22, _b, _c, _d, _e, _f, _g, _h, _i;
7982
+ var _a23, _b, _c, _d, _e, _f, _g, _h, _i;
7930
7983
  const includeRawChunks2 = self.includeRawChunks;
7931
7984
  const stepTimeoutId = setAbortTimeout({
7932
7985
  abortController: stepAbortController,
@@ -7977,7 +8030,7 @@ var DefaultStreamTextResult = class {
7977
8030
  experimental_context
7978
8031
  }));
7979
8032
  const stepModel = resolveLanguageModel(
7980
- (_a22 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a22 : model
8033
+ (_a23 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a23 : model
7981
8034
  );
7982
8035
  const stepModelInfo = {
7983
8036
  provider: stepModel.provider,
@@ -8147,7 +8200,7 @@ var DefaultStreamTextResult = class {
8147
8200
  streamWithToolResults.pipeThrough(
8148
8201
  new TransformStream({
8149
8202
  async transform(chunk, controller) {
8150
- var _a23, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i2;
8203
+ var _a24, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i2;
8151
8204
  resetChunkTimeout();
8152
8205
  if (chunk.type === "stream-start") {
8153
8206
  warnings = chunk.warnings;
@@ -8186,7 +8239,7 @@ var DefaultStreamTextResult = class {
8186
8239
  case "text-end": {
8187
8240
  controller.enqueue({
8188
8241
  ...chunk,
8189
- id: (_a23 = textPartIds.get(chunk.id)) != null ? _a23 : chunk.id
8242
+ id: (_a24 = textPartIds.get(chunk.id)) != null ? _a24 : chunk.id
8190
8243
  });
8191
8244
  textPartIds.delete(chunk.id);
8192
8245
  break;
@@ -8333,7 +8386,7 @@ var DefaultStreamTextResult = class {
8333
8386
  },
8334
8387
  // invoke onFinish callback and resolve toolResults promise when the stream is about to close:
8335
8388
  async flush(controller) {
8336
- var _a23, _b2, _c2, _d2, _e2, _f2, _g2;
8389
+ var _a24, _b2, _c2, _d2, _e2, _f2, _g2;
8337
8390
  if (!hasReceivedTerminalChunk && !hasReceivedOutputChunk) {
8338
8391
  controller.enqueue({
8339
8392
  type: "error",
@@ -8360,7 +8413,7 @@ var DefaultStreamTextResult = class {
8360
8413
  "ai.response.model": stepResponse.modelId,
8361
8414
  "ai.response.timestamp": stepResponse.timestamp.toISOString(),
8362
8415
  "ai.usage.inputTokens": stepUsage.inputTokens,
8363
- "ai.usage.inputTokenDetails.noCacheTokens": (_a23 = stepUsage.inputTokenDetails) == null ? void 0 : _a23.noCacheTokens,
8416
+ "ai.usage.inputTokenDetails.noCacheTokens": (_a24 = stepUsage.inputTokenDetails) == null ? void 0 : _a24.noCacheTokens,
8364
8417
  "ai.usage.inputTokenDetails.cacheReadTokens": (_b2 = stepUsage.inputTokenDetails) == null ? void 0 : _b2.cacheReadTokens,
8365
8418
  "ai.usage.inputTokenDetails.cacheWriteTokens": (_c2 = stepUsage.inputTokenDetails) == null ? void 0 : _c2.cacheWriteTokens,
8366
8419
  "ai.usage.outputTokens": stepUsage.outputTokens,
@@ -8637,19 +8690,19 @@ var DefaultStreamTextResult = class {
8637
8690
  this._steps.reject(error);
8638
8691
  }
8639
8692
  async consumeStream(options) {
8640
- var _a22;
8693
+ var _a23;
8641
8694
  try {
8642
8695
  await consumeStream({
8643
8696
  stream: this.fullStream,
8644
8697
  onError: (error) => {
8645
- var _a23;
8698
+ var _a24;
8646
8699
  this.rejectResultPromises(error);
8647
- (_a23 = options == null ? void 0 : options.onError) == null ? void 0 : _a23.call(options, error);
8700
+ (_a24 = options == null ? void 0 : options.onError) == null ? void 0 : _a24.call(options, error);
8648
8701
  }
8649
8702
  });
8650
8703
  } catch (error) {
8651
8704
  this.rejectResultPromises(error);
8652
- (_a22 = options == null ? void 0 : options.onError) == null ? void 0 : _a22.call(options, error);
8705
+ (_a23 = options == null ? void 0 : options.onError) == null ? void 0 : _a23.call(options, error);
8653
8706
  }
8654
8707
  }
8655
8708
  get experimental_partialOutputStream() {
@@ -8669,28 +8722,34 @@ var DefaultStreamTextResult = class {
8669
8722
  );
8670
8723
  }
8671
8724
  get elementStream() {
8672
- var _a22, _b, _c;
8673
- const transform = (_a22 = this.outputSpecification) == null ? void 0 : _a22.createElementStreamTransform();
8725
+ var _a23, _b, _c;
8726
+ const transform = (_a23 = this.outputSpecification) == null ? void 0 : _a23.createElementStreamTransform();
8674
8727
  if (transform == null) {
8675
- throw new import_provider29.UnsupportedFunctionalityError({
8728
+ throw new import_provider30.UnsupportedFunctionalityError({
8676
8729
  functionality: `element streams in ${(_c = (_b = this.outputSpecification) == null ? void 0 : _b.name) != null ? _c : "text"} mode`
8677
8730
  });
8678
8731
  }
8679
8732
  return createAsyncIterableStream(this.teeStream().pipeThrough(transform));
8680
8733
  }
8734
+ getOutputPromise() {
8735
+ if (this.outputPromise == null) {
8736
+ this.outputPromise = this.finalStep.then((step) => {
8737
+ var _a23;
8738
+ const output = (_a23 = this.outputSpecification) != null ? _a23 : text();
8739
+ return output.parseCompleteOutput(
8740
+ { text: step.text },
8741
+ {
8742
+ response: step.response,
8743
+ usage: step.usage,
8744
+ finishReason: step.finishReason
8745
+ }
8746
+ );
8747
+ });
8748
+ }
8749
+ return this.outputPromise;
8750
+ }
8681
8751
  get output() {
8682
- return this.finalStep.then((step) => {
8683
- var _a22;
8684
- const output = (_a22 = this.outputSpecification) != null ? _a22 : text();
8685
- return output.parseCompleteOutput(
8686
- { text: step.text },
8687
- {
8688
- response: step.response,
8689
- usage: step.usage,
8690
- finishReason: step.finishReason
8691
- }
8692
- );
8693
- });
8752
+ return this.getOutputPromise();
8694
8753
  }
8695
8754
  toUIMessageStream({
8696
8755
  originalMessages,
@@ -8720,8 +8779,8 @@ var DefaultStreamTextResult = class {
8720
8779
  responseMessageId: generateMessageId
8721
8780
  }) : void 0;
8722
8781
  const isDynamic = (part) => {
8723
- var _a22;
8724
- const tool2 = (_a22 = this.tools) == null ? void 0 : _a22[part.toolName];
8782
+ var _a23;
8783
+ const tool2 = (_a23 = this.tools) == null ? void 0 : _a23[part.toolName];
8725
8784
  if (tool2 == null) {
8726
8785
  return part.dynamic;
8727
8786
  }
@@ -9119,7 +9178,7 @@ var ToolLoopAgent = class {
9119
9178
  return this.settings.tools;
9120
9179
  }
9121
9180
  async prepareCall(options) {
9122
- var _a22, _b, _c, _d;
9181
+ var _a23, _b, _c, _d;
9123
9182
  if (this.settings.callOptionsSchema != null && options.options !== void 0) {
9124
9183
  const validatedOptions = await (0, import_provider_utils21.validateTypes)({
9125
9184
  value: options.options,
@@ -9131,7 +9190,7 @@ var ToolLoopAgent = class {
9131
9190
  const { onStepFinish: _settingsOnStepFinish, ...settingsWithoutCallback } = this.settings;
9132
9191
  const baseCallArgs = {
9133
9192
  ...settingsWithoutCallback,
9134
- stopWhen: (_a22 = this.settings.stopWhen) != null ? _a22 : stepCountIs(20),
9193
+ stopWhen: (_a23 = this.settings.stopWhen) != null ? _a23 : stepCountIs(20),
9135
9194
  ...options
9136
9195
  };
9137
9196
  const preparedCallArgs = (_d = await ((_c = (_b = this.settings).prepareCall) == null ? void 0 : _c.call(
@@ -9343,7 +9402,7 @@ function readUIMessageStream({
9343
9402
  onError,
9344
9403
  terminateOnError = false
9345
9404
  }) {
9346
- var _a22;
9405
+ var _a23;
9347
9406
  let controller;
9348
9407
  let hasErrored = false;
9349
9408
  const outputStream = new ReadableStream({
@@ -9352,7 +9411,7 @@ function readUIMessageStream({
9352
9411
  }
9353
9412
  });
9354
9413
  const state = createStreamingUIMessageState({
9355
- messageId: (_a22 = message == null ? void 0 : message.id) != null ? _a22 : "",
9414
+ messageId: (_a23 = message == null ? void 0 : message.id) != null ? _a23 : "",
9356
9415
  lastMessage: message
9357
9416
  });
9358
9417
  const handleError = (error) => {
@@ -9419,7 +9478,7 @@ async function convertToModelMessages(messages, options) {
9419
9478
  modelMessages.push({
9420
9479
  role: "user",
9421
9480
  content: message.parts.map((part) => {
9422
- var _a22;
9481
+ var _a23;
9423
9482
  if (isTextUIPart(part)) {
9424
9483
  return {
9425
9484
  type: "text",
@@ -9437,7 +9496,7 @@ async function convertToModelMessages(messages, options) {
9437
9496
  };
9438
9497
  }
9439
9498
  if (isDataUIPart(part)) {
9440
- return (_a22 = options == null ? void 0 : options.convertDataPart) == null ? void 0 : _a22.call(
9499
+ return (_a23 = options == null ? void 0 : options.convertDataPart) == null ? void 0 : _a23.call(
9441
9500
  options,
9442
9501
  part
9443
9502
  );
@@ -9450,7 +9509,7 @@ async function convertToModelMessages(messages, options) {
9450
9509
  if (message.parts != null) {
9451
9510
  let block = [];
9452
9511
  async function processBlock() {
9453
- var _a22, _b, _c, _d, _e, _f, _g, _h;
9512
+ var _a23, _b, _c, _d, _e, _f, _g, _h;
9454
9513
  if (block.length === 0) {
9455
9514
  return;
9456
9515
  }
@@ -9483,7 +9542,7 @@ async function convertToModelMessages(messages, options) {
9483
9542
  type: "tool-call",
9484
9543
  toolCallId: part.toolCallId,
9485
9544
  toolName,
9486
- input: part.state === "output-error" ? (_a22 = part.input) != null ? _a22 : "rawInput" in part ? part.rawInput : void 0 : part.input,
9545
+ input: part.state === "output-error" ? (_a23 = part.input) != null ? _a23 : "rawInput" in part ? part.rawInput : void 0 : part.input,
9487
9546
  providerExecuted: part.providerExecuted,
9488
9547
  ...part.callProviderMetadata != null ? { providerOptions: part.callProviderMetadata } : {}
9489
9548
  });
@@ -9533,8 +9592,8 @@ async function convertToModelMessages(messages, options) {
9533
9592
  }
9534
9593
  const toolParts = block.filter(
9535
9594
  (part) => {
9536
- var _a23;
9537
- return isToolUIPart(part) && (part.providerExecuted !== true || ((_a23 = part.approval) == null ? void 0 : _a23.approved) != null);
9595
+ var _a24;
9596
+ return isToolUIPart(part) && (part.providerExecuted !== true || ((_a24 = part.approval) == null ? void 0 : _a24.approved) != null);
9538
9597
  }
9539
9598
  );
9540
9599
  if (toolParts.length > 0) {
@@ -9622,7 +9681,7 @@ async function convertToModelMessages(messages, options) {
9622
9681
  }
9623
9682
 
9624
9683
  // src/ui/validate-ui-messages.ts
9625
- var import_provider30 = require("@ai-sdk/provider");
9684
+ var import_provider31 = require("@ai-sdk/provider");
9626
9685
  var import_provider_utils24 = require("@ai-sdk/provider-utils");
9627
9686
  var import_v48 = require("zod/v4");
9628
9687
  var toolMetadataSchema2 = import_v48.z.record(
@@ -9989,7 +10048,7 @@ async function safeValidateUIMessagesInternal({
9989
10048
  if (!dataSchema) {
9990
10049
  return {
9991
10050
  success: false,
9992
- error: new import_provider30.TypeValidationError({
10051
+ error: new import_provider31.TypeValidationError({
9993
10052
  value: dataPart.data,
9994
10053
  cause: `No data schema found for data part ${dataName}`,
9995
10054
  context: {
@@ -10026,7 +10085,7 @@ async function safeValidateUIMessagesInternal({
10026
10085
  if (!tool2) {
10027
10086
  return {
10028
10087
  success: false,
10029
- error: new import_provider30.TypeValidationError({
10088
+ error: new import_provider31.TypeValidationError({
10030
10089
  value: toolPart.input,
10031
10090
  cause: `No tool schema found for tool part ${toolName}`,
10032
10091
  context: {
@@ -10138,7 +10197,7 @@ async function createAgentUIStream({
10138
10197
  onStepFinish,
10139
10198
  ...uiMessageStreamOptions
10140
10199
  }) {
10141
- var _a22;
10200
+ var _a23;
10142
10201
  const validatedMessages = await validateUIMessagesForAgent({
10143
10202
  messages: uiMessages,
10144
10203
  tools: agent.tools
@@ -10157,7 +10216,7 @@ async function createAgentUIStream({
10157
10216
  return result.toUIMessageStream({
10158
10217
  ...uiMessageStreamOptions,
10159
10218
  // TODO reading `originalMessages` is here for bc, always use `validatedMessages` in v7
10160
- originalMessages: (_a22 = uiMessageStreamOptions.originalMessages) != null ? _a22 : validatedMessages
10219
+ originalMessages: (_a23 = uiMessageStreamOptions.originalMessages) != null ? _a23 : validatedMessages
10161
10220
  });
10162
10221
  }
10163
10222
 
@@ -10255,7 +10314,7 @@ async function embed({
10255
10314
  }),
10256
10315
  tracer,
10257
10316
  fn: async (doEmbedSpan) => {
10258
- var _a22, _b;
10317
+ var _a23, _b;
10259
10318
  const modelResponse = await model.doEmbed({
10260
10319
  values: [value],
10261
10320
  abortSignal,
@@ -10263,7 +10322,7 @@ async function embed({
10263
10322
  providerOptions
10264
10323
  });
10265
10324
  const embedding2 = modelResponse.embeddings[0];
10266
- const usage2 = (_a22 = modelResponse.usage) != null ? _a22 : { tokens: NaN };
10325
+ const usage2 = (_a23 = modelResponse.usage) != null ? _a23 : { tokens: NaN };
10267
10326
  doEmbedSpan.setAttributes(
10268
10327
  await selectTelemetryAttributes({
10269
10328
  telemetry,
@@ -10383,7 +10442,7 @@ async function embedMany({
10383
10442
  }),
10384
10443
  tracer,
10385
10444
  fn: async (span) => {
10386
- var _a22;
10445
+ var _a23;
10387
10446
  const [
10388
10447
  maxEmbeddingsPerCall,
10389
10448
  maxInputBytesPerCall,
@@ -10415,7 +10474,7 @@ async function embedMany({
10415
10474
  }),
10416
10475
  tracer,
10417
10476
  fn: async (doEmbedSpan) => {
10418
- var _a23, _b;
10477
+ var _a24, _b;
10419
10478
  const modelResponse = await model.doEmbed({
10420
10479
  values,
10421
10480
  abortSignal,
@@ -10423,7 +10482,7 @@ async function embedMany({
10423
10482
  providerOptions
10424
10483
  });
10425
10484
  const embeddings3 = modelResponse.embeddings;
10426
- const usage2 = (_a23 = modelResponse.usage) != null ? _a23 : { tokens: NaN };
10485
+ const usage2 = (_a24 = modelResponse.usage) != null ? _a24 : { tokens: NaN };
10427
10486
  doEmbedSpan.setAttributes(
10428
10487
  await selectTelemetryAttributes({
10429
10488
  telemetry,
@@ -10508,7 +10567,7 @@ async function embedMany({
10508
10567
  }),
10509
10568
  tracer,
10510
10569
  fn: async (doEmbedSpan) => {
10511
- var _a23, _b;
10570
+ var _a24, _b;
10512
10571
  const modelResponse = await model.doEmbed({
10513
10572
  values: chunk,
10514
10573
  abortSignal,
@@ -10516,7 +10575,7 @@ async function embedMany({
10516
10575
  providerOptions
10517
10576
  });
10518
10577
  const embeddings2 = modelResponse.embeddings;
10519
- const usage = (_a23 = modelResponse.usage) != null ? _a23 : { tokens: NaN };
10578
+ const usage = (_a24 = modelResponse.usage) != null ? _a24 : { tokens: NaN };
10520
10579
  doEmbedSpan.setAttributes(
10521
10580
  await selectTelemetryAttributes({
10522
10581
  telemetry,
@@ -10555,7 +10614,7 @@ async function embedMany({
10555
10614
  result.providerMetadata
10556
10615
  )) {
10557
10616
  providerMetadata[providerName] = {
10558
- ...(_a22 = providerMetadata[providerName]) != null ? _a22 : {},
10617
+ ...(_a23 = providerMetadata[providerName]) != null ? _a23 : {},
10559
10618
  ...metadata
10560
10619
  };
10561
10620
  }
@@ -10647,7 +10706,7 @@ async function generateImage({
10647
10706
  abortSignal,
10648
10707
  headers
10649
10708
  }) {
10650
- var _a22, _b;
10709
+ var _a23, _b;
10651
10710
  const model = resolveImageModel(modelArg);
10652
10711
  const headersWithUserAgent = (0, import_provider_utils28.withUserAgentSuffix)(
10653
10712
  headers != null ? headers : {},
@@ -10657,7 +10716,7 @@ async function generateImage({
10657
10716
  maxRetries: maxRetriesArg,
10658
10717
  abortSignal
10659
10718
  });
10660
- const maxImagesPerCallWithDefault = (_a22 = maxImagesPerCall != null ? maxImagesPerCall : await invokeModelMaxImagesPerCall(model)) != null ? _a22 : 1;
10719
+ const maxImagesPerCallWithDefault = (_a23 = maxImagesPerCall != null ? maxImagesPerCall : await invokeModelMaxImagesPerCall(model)) != null ? _a23 : 1;
10661
10720
  const callCount = Math.ceil(n / maxImagesPerCallWithDefault);
10662
10721
  const callImageCounts = Array.from({ length: callCount }, (_, i) => {
10663
10722
  if (i < callCount - 1) {
@@ -10698,13 +10757,13 @@ async function generateImage({
10698
10757
  images.push(
10699
10758
  ...result.images.map(
10700
10759
  (image) => {
10701
- var _a23;
10760
+ var _a24;
10702
10761
  return new DefaultGeneratedFile({
10703
10762
  data: image,
10704
- mediaType: (_a23 = detectMediaType({
10763
+ mediaType: (_a24 = detectMediaType({
10705
10764
  data: image,
10706
10765
  signatures: imageMediaTypeSignatures
10707
- })) != null ? _a23 : "image/png"
10766
+ })) != null ? _a24 : "image/png"
10708
10767
  });
10709
10768
  }
10710
10769
  )
@@ -10821,7 +10880,7 @@ var experimental_generateImage = generateImage;
10821
10880
  var import_provider_utils31 = require("@ai-sdk/provider-utils");
10822
10881
 
10823
10882
  // src/generate-object/output-strategy.ts
10824
- var import_provider31 = require("@ai-sdk/provider");
10883
+ var import_provider32 = require("@ai-sdk/provider");
10825
10884
  var import_provider_utils29 = require("@ai-sdk/provider-utils");
10826
10885
  var noSchemaOutputStrategy = {
10827
10886
  type: "no-schema",
@@ -10842,7 +10901,7 @@ var noSchemaOutputStrategy = {
10842
10901
  } : { success: true, value };
10843
10902
  },
10844
10903
  createElementStream() {
10845
- throw new import_provider31.UnsupportedFunctionalityError({
10904
+ throw new import_provider32.UnsupportedFunctionalityError({
10846
10905
  functionality: "element streams in no-schema mode"
10847
10906
  });
10848
10907
  }
@@ -10864,7 +10923,7 @@ var objectOutputStrategy = (schema) => ({
10864
10923
  return (0, import_provider_utils29.safeValidateTypes)({ value, schema });
10865
10924
  },
10866
10925
  createElementStream() {
10867
- throw new import_provider31.UnsupportedFunctionalityError({
10926
+ throw new import_provider32.UnsupportedFunctionalityError({
10868
10927
  functionality: "element streams in object mode"
10869
10928
  });
10870
10929
  }
@@ -10893,11 +10952,11 @@ var arrayOutputStrategy = (schema) => {
10893
10952
  isFirstDelta,
10894
10953
  isFinalDelta
10895
10954
  }) {
10896
- var _a22;
10897
- if (!(0, import_provider31.isJSONObject)(value) || !(0, import_provider31.isJSONArray)(value.elements)) {
10955
+ var _a23;
10956
+ if (!(0, import_provider32.isJSONObject)(value) || !(0, import_provider32.isJSONArray)(value.elements)) {
10898
10957
  return {
10899
10958
  success: false,
10900
- error: new import_provider31.TypeValidationError({
10959
+ error: new import_provider32.TypeValidationError({
10901
10960
  value,
10902
10961
  cause: "value must be an object that contains an array of elements"
10903
10962
  })
@@ -10916,7 +10975,7 @@ var arrayOutputStrategy = (schema) => {
10916
10975
  }
10917
10976
  resultArray.push(result.value);
10918
10977
  }
10919
- const publishedElementCount = (_a22 = latestObject == null ? void 0 : latestObject.length) != null ? _a22 : 0;
10978
+ const publishedElementCount = (_a23 = latestObject == null ? void 0 : latestObject.length) != null ? _a23 : 0;
10920
10979
  let textDelta = "";
10921
10980
  if (isFirstDelta) {
10922
10981
  textDelta += "[";
@@ -10937,10 +10996,10 @@ var arrayOutputStrategy = (schema) => {
10937
10996
  };
10938
10997
  },
10939
10998
  async validateFinalResult(value) {
10940
- if (!(0, import_provider31.isJSONObject)(value) || !(0, import_provider31.isJSONArray)(value.elements)) {
10999
+ if (!(0, import_provider32.isJSONObject)(value) || !(0, import_provider32.isJSONArray)(value.elements)) {
10941
11000
  return {
10942
11001
  success: false,
10943
- error: new import_provider31.TypeValidationError({
11002
+ error: new import_provider32.TypeValidationError({
10944
11003
  value,
10945
11004
  cause: "value must be an object that contains an array of elements"
10946
11005
  })
@@ -11005,10 +11064,10 @@ var enumOutputStrategy = (enumValues) => {
11005
11064
  additionalProperties: false
11006
11065
  }),
11007
11066
  async validateFinalResult(value) {
11008
- if (!(0, import_provider31.isJSONObject)(value) || typeof value.result !== "string") {
11067
+ if (!(0, import_provider32.isJSONObject)(value) || typeof value.result !== "string") {
11009
11068
  return {
11010
11069
  success: false,
11011
- error: new import_provider31.TypeValidationError({
11070
+ error: new import_provider32.TypeValidationError({
11012
11071
  value,
11013
11072
  cause: 'value must be an object that contains a string in the "result" property.'
11014
11073
  })
@@ -11017,17 +11076,17 @@ var enumOutputStrategy = (enumValues) => {
11017
11076
  const result = value.result;
11018
11077
  return enumValues.includes(result) ? { success: true, value: result } : {
11019
11078
  success: false,
11020
- error: new import_provider31.TypeValidationError({
11079
+ error: new import_provider32.TypeValidationError({
11021
11080
  value,
11022
11081
  cause: "value must be a string in the enum"
11023
11082
  })
11024
11083
  };
11025
11084
  },
11026
11085
  async validatePartialResult({ value, textDelta }) {
11027
- if (!(0, import_provider31.isJSONObject)(value) || typeof value.result !== "string") {
11086
+ if (!(0, import_provider32.isJSONObject)(value) || typeof value.result !== "string") {
11028
11087
  return {
11029
11088
  success: false,
11030
- error: new import_provider31.TypeValidationError({
11089
+ error: new import_provider32.TypeValidationError({
11031
11090
  value,
11032
11091
  cause: 'value must be an object that contains a string in the "result" property.'
11033
11092
  })
@@ -11040,7 +11099,7 @@ var enumOutputStrategy = (enumValues) => {
11040
11099
  if (value.result.length === 0 || possibleEnumValues.length === 0) {
11041
11100
  return {
11042
11101
  success: false,
11043
- error: new import_provider31.TypeValidationError({
11102
+ error: new import_provider32.TypeValidationError({
11044
11103
  value,
11045
11104
  cause: "value must be a string in the enum"
11046
11105
  })
@@ -11055,7 +11114,7 @@ var enumOutputStrategy = (enumValues) => {
11055
11114
  };
11056
11115
  },
11057
11116
  createElementStream() {
11058
- throw new import_provider31.UnsupportedFunctionalityError({
11117
+ throw new import_provider32.UnsupportedFunctionalityError({
11059
11118
  functionality: "element streams in enum mode"
11060
11119
  });
11061
11120
  }
@@ -11083,7 +11142,7 @@ function getOutputStrategy({
11083
11142
  }
11084
11143
 
11085
11144
  // src/generate-object/parse-and-validate-object-result.ts
11086
- var import_provider32 = require("@ai-sdk/provider");
11145
+ var import_provider33 = require("@ai-sdk/provider");
11087
11146
  var import_provider_utils30 = require("@ai-sdk/provider-utils");
11088
11147
  async function parseAndValidateObjectResult(result, outputStrategy, context2) {
11089
11148
  const parseResult = await (0, import_provider_utils30.safeParseJSON)({ text: result });
@@ -11121,7 +11180,7 @@ async function parseAndValidateObjectResultWithRepair(result, outputStrategy, re
11121
11180
  try {
11122
11181
  return await parseAndValidateObjectResult(result, outputStrategy, context2);
11123
11182
  } catch (error) {
11124
- if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider32.JSONParseError.isInstance(error.cause) || import_provider32.TypeValidationError.isInstance(error.cause))) {
11183
+ if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider33.JSONParseError.isInstance(error.cause) || import_provider33.TypeValidationError.isInstance(error.cause))) {
11125
11184
  const repairedText = await repairText({
11126
11185
  text: result,
11127
11186
  error: error.cause
@@ -11339,7 +11398,7 @@ async function generateObject(options) {
11339
11398
  }),
11340
11399
  tracer,
11341
11400
  fn: async (span) => {
11342
- var _a22;
11401
+ var _a23;
11343
11402
  let result;
11344
11403
  let finishReason;
11345
11404
  let usage;
@@ -11386,7 +11445,7 @@ async function generateObject(options) {
11386
11445
  }),
11387
11446
  tracer,
11388
11447
  fn: async (span2) => {
11389
- var _a23, _b, _c, _d, _e, _f, _g, _h;
11448
+ var _a24, _b, _c, _d, _e, _f, _g, _h;
11390
11449
  const result2 = await model.doGenerate({
11391
11450
  responseFormat: {
11392
11451
  type: "json",
@@ -11401,7 +11460,7 @@ async function generateObject(options) {
11401
11460
  headers: headersWithUserAgent
11402
11461
  });
11403
11462
  const responseData = {
11404
- id: (_b = (_a23 = result2.response) == null ? void 0 : _a23.id) != null ? _b : generateId2(),
11463
+ id: (_b = (_a24 = result2.response) == null ? void 0 : _a24.id) != null ? _b : generateId2(),
11405
11464
  timestamp: (_d = (_c = result2.response) == null ? void 0 : _c.timestamp) != null ? _d : currentDate(),
11406
11465
  modelId: (_f = (_e = result2.response) == null ? void 0 : _e.modelId) != null ? _f : model.modelId,
11407
11466
  headers: (_g = result2.response) == null ? void 0 : _g.headers,
@@ -11457,7 +11516,7 @@ async function generateObject(options) {
11457
11516
  usage = asLanguageModelUsage(generateResult.usage);
11458
11517
  warnings = generateResult.warnings;
11459
11518
  resultProviderMetadata = generateResult.providerMetadata;
11460
- request = (_a22 = generateResult.request) != null ? _a22 : {};
11519
+ request = (_a23 = generateResult.request) != null ? _a23 : {};
11461
11520
  response = generateResult.responseData;
11462
11521
  reasoning = generateResult.reasoning;
11463
11522
  logWarnings({
@@ -11520,9 +11579,9 @@ var DefaultGenerateObjectResult = class {
11520
11579
  this.reasoning = options.reasoning;
11521
11580
  }
11522
11581
  toJsonResponse(init) {
11523
- var _a22;
11582
+ var _a23;
11524
11583
  return new Response(JSON.stringify(this.object), {
11525
- status: (_a22 = init == null ? void 0 : init.status) != null ? _a22 : 200,
11584
+ status: (_a23 = init == null ? void 0 : init.status) != null ? _a23 : 200,
11526
11585
  headers: prepareHeaders(init == null ? void 0 : init.headers, {
11527
11586
  "content-type": "application/json; charset=utf-8"
11528
11587
  })
@@ -11653,8 +11712,8 @@ function simulateReadableStream({
11653
11712
  chunkDelayInMs = 0,
11654
11713
  _internal
11655
11714
  }) {
11656
- var _a22;
11657
- const delay = (_a22 = _internal == null ? void 0 : _internal.delay) != null ? _a22 : import_provider_utils32.delay;
11715
+ var _a23;
11716
+ const delay = (_a23 = _internal == null ? void 0 : _internal.delay) != null ? _a23 : import_provider_utils32.delay;
11658
11717
  let index = 0;
11659
11718
  return new ReadableStream({
11660
11719
  async pull(controller) {
@@ -11928,7 +11987,7 @@ var DefaultStreamObjectResult = class {
11928
11987
  const transformedStream = stream.pipeThrough(new TransformStream(transformer)).pipeThrough(
11929
11988
  new TransformStream({
11930
11989
  async transform(chunk, controller) {
11931
- var _a22, _b, _c;
11990
+ var _a23, _b, _c;
11932
11991
  if (typeof chunk === "object" && chunk.type === "stream-start") {
11933
11992
  warnings = chunk.warnings;
11934
11993
  return;
@@ -11978,7 +12037,7 @@ var DefaultStreamObjectResult = class {
11978
12037
  switch (chunk.type) {
11979
12038
  case "response-metadata": {
11980
12039
  fullResponse = {
11981
- id: (_a22 = chunk.id) != null ? _a22 : fullResponse.id,
12040
+ id: (_a23 = chunk.id) != null ? _a23 : fullResponse.id,
11982
12041
  timestamp: (_b = chunk.timestamp) != null ? _b : fullResponse.timestamp,
11983
12042
  modelId: (_c = chunk.modelId) != null ? _c : fullResponse.modelId
11984
12043
  };
@@ -12292,7 +12351,7 @@ async function generateSpeech({
12292
12351
  abortSignal,
12293
12352
  headers
12294
12353
  }) {
12295
- var _a22;
12354
+ var _a23;
12296
12355
  const resolvedModel = resolveSpeechModel(model);
12297
12356
  if (!resolvedModel) {
12298
12357
  throw new Error("Model could not be resolved");
@@ -12329,10 +12388,10 @@ async function generateSpeech({
12329
12388
  return new DefaultSpeechResult({
12330
12389
  audio: new DefaultGeneratedAudioFile({
12331
12390
  data: result.audio,
12332
- mediaType: (_a22 = detectMediaType({
12391
+ mediaType: (_a23 = detectMediaType({
12333
12392
  data: result.audio,
12334
12393
  signatures: audioMediaTypeSignatures
12335
- })) != null ? _a22 : "audio/mp3"
12394
+ })) != null ? _a23 : "audio/mp3"
12336
12395
  }),
12337
12396
  warnings: result.warnings,
12338
12397
  responses: [result.response],
@@ -12341,11 +12400,11 @@ async function generateSpeech({
12341
12400
  }
12342
12401
  var DefaultSpeechResult = class {
12343
12402
  constructor(options) {
12344
- var _a22;
12403
+ var _a23;
12345
12404
  this.audio = options.audio;
12346
12405
  this.warnings = options.warnings;
12347
12406
  this.responses = options.responses;
12348
- this.providerMetadata = (_a22 = options.providerMetadata) != null ? _a22 : {};
12407
+ this.providerMetadata = (_a23 = options.providerMetadata) != null ? _a23 : {};
12349
12408
  }
12350
12409
  };
12351
12410
 
@@ -12445,7 +12504,7 @@ function pruneMessages({
12445
12504
 
12446
12505
  // src/generate-text/smooth-stream.ts
12447
12506
  var import_provider_utils35 = require("@ai-sdk/provider-utils");
12448
- var import_provider33 = require("@ai-sdk/provider");
12507
+ var import_provider34 = require("@ai-sdk/provider");
12449
12508
  var CHUNKING_REGEXPS = {
12450
12509
  word: /\S+\s+/m,
12451
12510
  line: /\n+/m
@@ -12484,7 +12543,7 @@ function smoothStream({
12484
12543
  } else {
12485
12544
  const chunkingRegex = typeof chunking === "string" ? CHUNKING_REGEXPS[chunking] : chunking instanceof RegExp ? chunking : void 0;
12486
12545
  if (chunkingRegex == null) {
12487
- throw new import_provider33.InvalidArgumentError({
12546
+ throw new import_provider34.InvalidArgumentError({
12488
12547
  argument: "chunking",
12489
12548
  message: `Chunking must be "word", "line", a RegExp, an Intl.Segmenter, or a ChunkDetector function. Received: ${chunking}`
12490
12549
  });
@@ -12563,7 +12622,7 @@ async function experimental_generateVideo({
12563
12622
  headers,
12564
12623
  download: downloadFn = defaultDownload
12565
12624
  }) {
12566
- var _a22, _b;
12625
+ var _a23, _b;
12567
12626
  const model = resolveVideoModel(modelArg);
12568
12627
  const headersWithUserAgent = (0, import_provider_utils36.withUserAgentSuffix)(
12569
12628
  headers != null ? headers : {},
@@ -12590,9 +12649,9 @@ async function experimental_generateVideo({
12590
12649
  message: "inputReferences were ignored because frameImages were provided; frameImages and inputReferences cannot be combined."
12591
12650
  });
12592
12651
  }
12593
- const firstFrameImage = (_a22 = normalizedFrameImages == null ? void 0 : normalizedFrameImages.find(
12652
+ const firstFrameImage = (_a23 = normalizedFrameImages == null ? void 0 : normalizedFrameImages.find(
12594
12653
  (frame) => frame.frameType === "first_frame"
12595
- )) == null ? void 0 : _a22.image;
12654
+ )) == null ? void 0 : _a23.image;
12596
12655
  if (image != null && firstFrameImage != null) {
12597
12656
  warnings.push({
12598
12657
  type: "other",
@@ -12736,8 +12795,8 @@ function normalizePrompt2(promptArg) {
12736
12795
  };
12737
12796
  }
12738
12797
  function detectFileMediaType(data, restrictToImages) {
12739
- var _a22;
12740
- const detected = restrictToImages ? detectMediaType({ data, signatures: imageMediaTypeSignatures }) : (_a22 = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _a22 : detectMediaType({ data, signatures: videoMediaTypeSignatures });
12798
+ var _a23;
12799
+ const detected = restrictToImages ? detectMediaType({ data, signatures: imageMediaTypeSignatures }) : (_a23 = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _a23 : detectMediaType({ data, signatures: videoMediaTypeSignatures });
12741
12800
  return detected != null ? detected : "image/png";
12742
12801
  }
12743
12802
  function normalizeImageData(dataContent, { restrictToImages = true } = {}) {
@@ -12831,8 +12890,8 @@ function stripMarkdownCodeFenceSuffix(text2) {
12831
12890
  return text2.replace(/\n?```\s*$/, "").trimEnd();
12832
12891
  }
12833
12892
  function extractJsonMiddleware(options) {
12834
- var _a22;
12835
- const transform = (_a22 = options == null ? void 0 : options.transform) != null ? _a22 : defaultTransform;
12893
+ var _a23;
12894
+ const transform = (_a23 = options == null ? void 0 : options.transform) != null ? _a23 : defaultTransform;
12836
12895
  const hasCustomTransform = (options == null ? void 0 : options.transform) !== void 0;
12837
12896
  return {
12838
12897
  specificationVersion: "v3",
@@ -13208,13 +13267,13 @@ function addToolInputExamplesMiddleware({
13208
13267
  return {
13209
13268
  specificationVersion: "v3",
13210
13269
  transformParams: async ({ params }) => {
13211
- var _a22;
13212
- if (!((_a22 = params.tools) == null ? void 0 : _a22.length)) {
13270
+ var _a23;
13271
+ if (!((_a23 = params.tools) == null ? void 0 : _a23.length)) {
13213
13272
  return params;
13214
13273
  }
13215
13274
  const transformedTools = params.tools.map((tool2) => {
13216
- var _a23;
13217
- if (tool2.type !== "function" || !((_a23 = tool2.inputExamples) == null ? void 0 : _a23.length)) {
13275
+ var _a24;
13276
+ if (tool2.type !== "function" || !((_a24 = tool2.inputExamples) == null ? void 0 : _a24.length)) {
13218
13277
  return tool2;
13219
13278
  }
13220
13279
  const formattedExamples = tool2.inputExamples.map((example, index) => format(example, index)).join("\n");
@@ -13261,7 +13320,7 @@ var doWrap = ({
13261
13320
  modelId,
13262
13321
  providerId
13263
13322
  }) => {
13264
- var _a22, _b, _c;
13323
+ var _a23, _b, _c;
13265
13324
  async function doTransform({
13266
13325
  params,
13267
13326
  type
@@ -13270,7 +13329,7 @@ var doWrap = ({
13270
13329
  }
13271
13330
  return {
13272
13331
  specificationVersion: "v3",
13273
- provider: (_a22 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a22 : model.provider,
13332
+ provider: (_a23 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a23 : model.provider,
13274
13333
  modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
13275
13334
  supportedUrls: (_c = overrideSupportedUrls == null ? void 0 : overrideSupportedUrls({ model })) != null ? _c : model.supportedUrls,
13276
13335
  async doGenerate(params) {
@@ -13318,7 +13377,7 @@ var doWrap2 = ({
13318
13377
  modelId,
13319
13378
  providerId
13320
13379
  }) => {
13321
- var _a22, _b, _c, _d;
13380
+ var _a23, _b, _c, _d;
13322
13381
  async function doTransform({
13323
13382
  params
13324
13383
  }) {
@@ -13326,7 +13385,7 @@ var doWrap2 = ({
13326
13385
  }
13327
13386
  return {
13328
13387
  specificationVersion: "v3",
13329
- provider: (_a22 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a22 : model.provider,
13388
+ provider: (_a23 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a23 : model.provider,
13330
13389
  modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
13331
13390
  maxEmbeddingsPerCall: (_c = overrideMaxEmbeddingsPerCall == null ? void 0 : overrideMaxEmbeddingsPerCall({ model })) != null ? _c : model.maxEmbeddingsPerCall,
13332
13391
  [import_provider_utils37.EXPERIMENTAL_EMBEDDING_MODEL_MAX_INPUT_BYTES_PER_CALL]: getEmbeddingModelMaxInputBytesPerCall(model),
@@ -13366,11 +13425,11 @@ var doWrap3 = ({
13366
13425
  modelId,
13367
13426
  providerId
13368
13427
  }) => {
13369
- var _a22, _b, _c;
13428
+ var _a23, _b, _c;
13370
13429
  async function doTransform({ params }) {
13371
13430
  return transformParams ? await transformParams({ params, model }) : params;
13372
13431
  }
13373
- const maxImagesPerCallRaw = (_a22 = overrideMaxImagesPerCall == null ? void 0 : overrideMaxImagesPerCall({ model })) != null ? _a22 : model.maxImagesPerCall;
13432
+ const maxImagesPerCallRaw = (_a23 = overrideMaxImagesPerCall == null ? void 0 : overrideMaxImagesPerCall({ model })) != null ? _a23 : model.maxImagesPerCall;
13374
13433
  const maxImagesPerCall = maxImagesPerCallRaw instanceof Function ? maxImagesPerCallRaw.bind(model) : maxImagesPerCallRaw;
13375
13434
  return {
13376
13435
  specificationVersion: "v3",
@@ -13435,7 +13494,7 @@ function wrapProvider({
13435
13494
  }
13436
13495
 
13437
13496
  // src/registry/custom-provider.ts
13438
- var import_provider34 = require("@ai-sdk/provider");
13497
+ var import_provider35 = require("@ai-sdk/provider");
13439
13498
  function customProvider({
13440
13499
  languageModels,
13441
13500
  embeddingModels,
@@ -13456,7 +13515,7 @@ function customProvider({
13456
13515
  if (fallbackProvider) {
13457
13516
  return fallbackProvider.languageModel(modelId);
13458
13517
  }
13459
- throw new import_provider34.NoSuchModelError({ modelId, modelType: "languageModel" });
13518
+ throw new import_provider35.NoSuchModelError({ modelId, modelType: "languageModel" });
13460
13519
  },
13461
13520
  embeddingModel(modelId) {
13462
13521
  if (embeddingModels != null && modelId in embeddingModels) {
@@ -13465,7 +13524,7 @@ function customProvider({
13465
13524
  if (fallbackProvider) {
13466
13525
  return fallbackProvider.embeddingModel(modelId);
13467
13526
  }
13468
- throw new import_provider34.NoSuchModelError({ modelId, modelType: "embeddingModel" });
13527
+ throw new import_provider35.NoSuchModelError({ modelId, modelType: "embeddingModel" });
13469
13528
  },
13470
13529
  imageModel(modelId) {
13471
13530
  if (imageModels != null && modelId in imageModels) {
@@ -13474,7 +13533,7 @@ function customProvider({
13474
13533
  if (fallbackProvider == null ? void 0 : fallbackProvider.imageModel) {
13475
13534
  return fallbackProvider.imageModel(modelId);
13476
13535
  }
13477
- throw new import_provider34.NoSuchModelError({ modelId, modelType: "imageModel" });
13536
+ throw new import_provider35.NoSuchModelError({ modelId, modelType: "imageModel" });
13478
13537
  },
13479
13538
  transcriptionModel(modelId) {
13480
13539
  if (transcriptionModels != null && modelId in transcriptionModels) {
@@ -13483,7 +13542,7 @@ function customProvider({
13483
13542
  if (fallbackProvider == null ? void 0 : fallbackProvider.transcriptionModel) {
13484
13543
  return fallbackProvider.transcriptionModel(modelId);
13485
13544
  }
13486
- throw new import_provider34.NoSuchModelError({ modelId, modelType: "transcriptionModel" });
13545
+ throw new import_provider35.NoSuchModelError({ modelId, modelType: "transcriptionModel" });
13487
13546
  },
13488
13547
  speechModel(modelId) {
13489
13548
  if (speechModels != null && modelId in speechModels) {
@@ -13492,7 +13551,7 @@ function customProvider({
13492
13551
  if (fallbackProvider == null ? void 0 : fallbackProvider.speechModel) {
13493
13552
  return fallbackProvider.speechModel(modelId);
13494
13553
  }
13495
- throw new import_provider34.NoSuchModelError({ modelId, modelType: "speechModel" });
13554
+ throw new import_provider35.NoSuchModelError({ modelId, modelType: "speechModel" });
13496
13555
  },
13497
13556
  rerankingModel(modelId) {
13498
13557
  if (rerankingModels != null && modelId in rerankingModels) {
@@ -13501,7 +13560,7 @@ function customProvider({
13501
13560
  if (fallbackProvider == null ? void 0 : fallbackProvider.rerankingModel) {
13502
13561
  return fallbackProvider.rerankingModel(modelId);
13503
13562
  }
13504
- throw new import_provider34.NoSuchModelError({ modelId, modelType: "rerankingModel" });
13563
+ throw new import_provider35.NoSuchModelError({ modelId, modelType: "rerankingModel" });
13505
13564
  },
13506
13565
  videoModel(modelId) {
13507
13566
  if (videoModels != null && modelId in videoModels) {
@@ -13511,19 +13570,19 @@ function customProvider({
13511
13570
  if (videoModel) {
13512
13571
  return videoModel(modelId);
13513
13572
  }
13514
- throw new import_provider34.NoSuchModelError({ modelId, modelType: "videoModel" });
13573
+ throw new import_provider35.NoSuchModelError({ modelId, modelType: "videoModel" });
13515
13574
  }
13516
13575
  };
13517
13576
  }
13518
13577
  var experimental_customProvider = customProvider;
13519
13578
 
13520
13579
  // src/registry/no-such-provider-error.ts
13521
- var import_provider35 = require("@ai-sdk/provider");
13522
- var name21 = "AI_NoSuchProviderError";
13523
- var marker21 = `vercel.ai.error.${name21}`;
13524
- var symbol21 = Symbol.for(marker21);
13525
- var _a21;
13526
- var NoSuchProviderError = class extends import_provider35.NoSuchModelError {
13580
+ var import_provider36 = require("@ai-sdk/provider");
13581
+ var name22 = "AI_NoSuchProviderError";
13582
+ var marker22 = `vercel.ai.error.${name22}`;
13583
+ var symbol22 = Symbol.for(marker22);
13584
+ var _a22;
13585
+ var NoSuchProviderError = class extends import_provider36.NoSuchModelError {
13527
13586
  constructor({
13528
13587
  modelId,
13529
13588
  modelType,
@@ -13531,19 +13590,19 @@ var NoSuchProviderError = class extends import_provider35.NoSuchModelError {
13531
13590
  availableProviders,
13532
13591
  message = `No such provider: ${providerId} (available providers: ${availableProviders.join()})`
13533
13592
  }) {
13534
- super({ errorName: name21, modelId, modelType, message });
13535
- this[_a21] = true;
13593
+ super({ errorName: name22, modelId, modelType, message });
13594
+ this[_a22] = true;
13536
13595
  this.providerId = providerId;
13537
13596
  this.availableProviders = availableProviders;
13538
13597
  }
13539
13598
  static isInstance(error) {
13540
- return import_provider35.AISDKError.hasMarker(error, marker21);
13599
+ return import_provider36.AISDKError.hasMarker(error, marker22);
13541
13600
  }
13542
13601
  };
13543
- _a21 = symbol21;
13602
+ _a22 = symbol22;
13544
13603
 
13545
13604
  // src/registry/provider-registry.ts
13546
- var import_provider36 = require("@ai-sdk/provider");
13605
+ var import_provider37 = require("@ai-sdk/provider");
13547
13606
  function createProviderRegistry(providers, {
13548
13607
  separator = ":",
13549
13608
  languageModelMiddleware,
@@ -13592,7 +13651,7 @@ var DefaultProviderRegistry = class {
13592
13651
  splitId(id, modelType) {
13593
13652
  const index = id.indexOf(this.separator);
13594
13653
  if (index === -1) {
13595
- throw new import_provider36.NoSuchModelError({
13654
+ throw new import_provider37.NoSuchModelError({
13596
13655
  modelId: id,
13597
13656
  modelType,
13598
13657
  message: `Invalid ${modelType} id for registry: ${id} (must be in the format "providerId${this.separator}modelId")`
@@ -13601,14 +13660,14 @@ var DefaultProviderRegistry = class {
13601
13660
  return [id.slice(0, index), id.slice(index + this.separator.length)];
13602
13661
  }
13603
13662
  languageModel(id) {
13604
- var _a22, _b;
13663
+ var _a23, _b;
13605
13664
  const [providerId, modelId] = this.splitId(id, "languageModel");
13606
- let model = (_b = (_a22 = this.getProvider(providerId, "languageModel")).languageModel) == null ? void 0 : _b.call(
13607
- _a22,
13665
+ let model = (_b = (_a23 = this.getProvider(providerId, "languageModel")).languageModel) == null ? void 0 : _b.call(
13666
+ _a23,
13608
13667
  modelId
13609
13668
  );
13610
13669
  if (model == null) {
13611
- throw new import_provider36.NoSuchModelError({ modelId: id, modelType: "languageModel" });
13670
+ throw new import_provider37.NoSuchModelError({ modelId: id, modelType: "languageModel" });
13612
13671
  }
13613
13672
  if (this.languageModelMiddleware != null) {
13614
13673
  model = wrapLanguageModel({
@@ -13619,12 +13678,12 @@ var DefaultProviderRegistry = class {
13619
13678
  return model;
13620
13679
  }
13621
13680
  embeddingModel(id) {
13622
- var _a22;
13681
+ var _a23;
13623
13682
  const [providerId, modelId] = this.splitId(id, "embeddingModel");
13624
13683
  const provider = this.getProvider(providerId, "embeddingModel");
13625
- const model = (_a22 = provider.embeddingModel) == null ? void 0 : _a22.call(provider, modelId);
13684
+ const model = (_a23 = provider.embeddingModel) == null ? void 0 : _a23.call(provider, modelId);
13626
13685
  if (model == null) {
13627
- throw new import_provider36.NoSuchModelError({
13686
+ throw new import_provider37.NoSuchModelError({
13628
13687
  modelId: id,
13629
13688
  modelType: "embeddingModel"
13630
13689
  });
@@ -13632,12 +13691,12 @@ var DefaultProviderRegistry = class {
13632
13691
  return model;
13633
13692
  }
13634
13693
  imageModel(id) {
13635
- var _a22;
13694
+ var _a23;
13636
13695
  const [providerId, modelId] = this.splitId(id, "imageModel");
13637
13696
  const provider = this.getProvider(providerId, "imageModel");
13638
- let model = (_a22 = provider.imageModel) == null ? void 0 : _a22.call(provider, modelId);
13697
+ let model = (_a23 = provider.imageModel) == null ? void 0 : _a23.call(provider, modelId);
13639
13698
  if (model == null) {
13640
- throw new import_provider36.NoSuchModelError({ modelId: id, modelType: "imageModel" });
13699
+ throw new import_provider37.NoSuchModelError({ modelId: id, modelType: "imageModel" });
13641
13700
  }
13642
13701
  if (this.imageModelMiddleware != null) {
13643
13702
  model = wrapImageModel({
@@ -13648,12 +13707,12 @@ var DefaultProviderRegistry = class {
13648
13707
  return model;
13649
13708
  }
13650
13709
  transcriptionModel(id) {
13651
- var _a22;
13710
+ var _a23;
13652
13711
  const [providerId, modelId] = this.splitId(id, "transcriptionModel");
13653
13712
  const provider = this.getProvider(providerId, "transcriptionModel");
13654
- const model = (_a22 = provider.transcriptionModel) == null ? void 0 : _a22.call(provider, modelId);
13713
+ const model = (_a23 = provider.transcriptionModel) == null ? void 0 : _a23.call(provider, modelId);
13655
13714
  if (model == null) {
13656
- throw new import_provider36.NoSuchModelError({
13715
+ throw new import_provider37.NoSuchModelError({
13657
13716
  modelId: id,
13658
13717
  modelType: "transcriptionModel"
13659
13718
  });
@@ -13661,22 +13720,22 @@ var DefaultProviderRegistry = class {
13661
13720
  return model;
13662
13721
  }
13663
13722
  speechModel(id) {
13664
- var _a22;
13723
+ var _a23;
13665
13724
  const [providerId, modelId] = this.splitId(id, "speechModel");
13666
13725
  const provider = this.getProvider(providerId, "speechModel");
13667
- const model = (_a22 = provider.speechModel) == null ? void 0 : _a22.call(provider, modelId);
13726
+ const model = (_a23 = provider.speechModel) == null ? void 0 : _a23.call(provider, modelId);
13668
13727
  if (model == null) {
13669
- throw new import_provider36.NoSuchModelError({ modelId: id, modelType: "speechModel" });
13728
+ throw new import_provider37.NoSuchModelError({ modelId: id, modelType: "speechModel" });
13670
13729
  }
13671
13730
  return model;
13672
13731
  }
13673
13732
  rerankingModel(id) {
13674
- var _a22;
13733
+ var _a23;
13675
13734
  const [providerId, modelId] = this.splitId(id, "rerankingModel");
13676
13735
  const provider = this.getProvider(providerId, "rerankingModel");
13677
- const model = (_a22 = provider.rerankingModel) == null ? void 0 : _a22.call(provider, modelId);
13736
+ const model = (_a23 = provider.rerankingModel) == null ? void 0 : _a23.call(provider, modelId);
13678
13737
  if (model == null) {
13679
- throw new import_provider36.NoSuchModelError({ modelId: id, modelType: "rerankingModel" });
13738
+ throw new import_provider37.NoSuchModelError({ modelId: id, modelType: "rerankingModel" });
13680
13739
  }
13681
13740
  return model;
13682
13741
  }
@@ -13732,7 +13791,7 @@ async function rerank({
13732
13791
  }),
13733
13792
  tracer,
13734
13793
  fn: async () => {
13735
- var _a22, _b;
13794
+ var _a23, _b;
13736
13795
  const { ranking, response, providerMetadata, warnings } = await retry(
13737
13796
  () => recordSpan({
13738
13797
  name: "ai.rerank.doRerank",
@@ -13796,7 +13855,7 @@ async function rerank({
13796
13855
  providerMetadata,
13797
13856
  response: {
13798
13857
  id: response == null ? void 0 : response.id,
13799
- timestamp: (_a22 = response == null ? void 0 : response.timestamp) != null ? _a22 : /* @__PURE__ */ new Date(),
13858
+ timestamp: (_a23 = response == null ? void 0 : response.timestamp) != null ? _a23 : /* @__PURE__ */ new Date(),
13800
13859
  modelId: (_b = response == null ? void 0 : response.modelId) != null ? _b : model.modelId,
13801
13860
  headers: response == null ? void 0 : response.headers,
13802
13861
  body: response == null ? void 0 : response.body
@@ -13844,16 +13903,16 @@ async function transcribe({
13844
13903
  const audioData = audio instanceof URL ? (await downloadFn({ url: audio, abortSignal })).data : convertDataContentToUint8Array(audio);
13845
13904
  const result = await retry(
13846
13905
  () => {
13847
- var _a22;
13906
+ var _a23;
13848
13907
  return resolvedModel.doGenerate({
13849
13908
  audio: audioData,
13850
13909
  abortSignal,
13851
13910
  headers: headersWithUserAgent,
13852
13911
  providerOptions,
13853
- mediaType: (_a22 = detectMediaType({
13912
+ mediaType: (_a23 = detectMediaType({
13854
13913
  data: audioData,
13855
13914
  signatures: audioMediaTypeSignatures
13856
- })) != null ? _a22 : "audio/wav"
13915
+ })) != null ? _a23 : "audio/wav"
13857
13916
  });
13858
13917
  }
13859
13918
  );
@@ -13877,14 +13936,14 @@ async function transcribe({
13877
13936
  }
13878
13937
  var DefaultTranscriptionResult = class {
13879
13938
  constructor(options) {
13880
- var _a22;
13939
+ var _a23;
13881
13940
  this.text = options.text;
13882
13941
  this.segments = options.segments;
13883
13942
  this.language = options.language;
13884
13943
  this.durationInSeconds = options.durationInSeconds;
13885
13944
  this.warnings = options.warnings;
13886
13945
  this.responses = options.responses;
13887
- this.providerMetadata = (_a22 = options.providerMetadata) != null ? _a22 : {};
13946
+ this.providerMetadata = (_a23 = options.providerMetadata) != null ? _a23 : {};
13888
13947
  }
13889
13948
  };
13890
13949
 
@@ -13923,7 +13982,7 @@ async function callCompletionApi({
13923
13982
  onError,
13924
13983
  fetch: fetch2 = getOriginalFetch()
13925
13984
  }) {
13926
- var _a22;
13985
+ var _a23;
13927
13986
  try {
13928
13987
  setLoading(true);
13929
13988
  setError(void 0);
@@ -13951,7 +14010,7 @@ async function callCompletionApi({
13951
14010
  });
13952
14011
  if (!response.ok) {
13953
14012
  throw new Error(
13954
- (_a22 = await response.text()) != null ? _a22 : "Failed to fetch the chat response."
14013
+ (_a23 = await response.text()) != null ? _a23 : "Failed to fetch the chat response."
13955
14014
  );
13956
14015
  }
13957
14016
  if (!response.body) {
@@ -14035,12 +14094,12 @@ async function convertFileListToFileUIParts(files) {
14035
14094
  }
14036
14095
  return Promise.all(
14037
14096
  Array.from(files).map(async (file) => {
14038
- const { name: name22, type } = file;
14097
+ const { name: name23, type } = file;
14039
14098
  const dataUrl = await new Promise((resolve3, reject) => {
14040
14099
  const reader = new FileReader();
14041
14100
  reader.onload = (readerEvent) => {
14042
- var _a22;
14043
- resolve3((_a22 = readerEvent.target) == null ? void 0 : _a22.result);
14101
+ var _a23;
14102
+ resolve3((_a23 = readerEvent.target) == null ? void 0 : _a23.result);
14044
14103
  };
14045
14104
  reader.onerror = (error) => reject(error);
14046
14105
  reader.readAsDataURL(file);
@@ -14048,7 +14107,7 @@ async function convertFileListToFileUIParts(files) {
14048
14107
  return {
14049
14108
  type: "file",
14050
14109
  mediaType: type,
14051
- filename: name22,
14110
+ filename: name23,
14052
14111
  url: dataUrl
14053
14112
  };
14054
14113
  })
@@ -14082,7 +14141,7 @@ var HttpChatTransport = class {
14082
14141
  abortSignal,
14083
14142
  ...options
14084
14143
  }) {
14085
- var _a22, _b, _c, _d, _e;
14144
+ var _a23, _b, _c, _d, _e;
14086
14145
  const resolvedBody = await (0, import_provider_utils40.resolve)(this.body);
14087
14146
  const resolvedHeaders = await (0, import_provider_utils40.resolve)(this.headers);
14088
14147
  const resolvedCredentials = await (0, import_provider_utils40.resolve)(this.credentials);
@@ -14090,7 +14149,7 @@ var HttpChatTransport = class {
14090
14149
  ...(0, import_provider_utils40.normalizeHeaders)(resolvedHeaders),
14091
14150
  ...(0, import_provider_utils40.normalizeHeaders)(options.headers)
14092
14151
  };
14093
- const preparedRequest = await ((_a22 = this.prepareSendMessagesRequest) == null ? void 0 : _a22.call(this, {
14152
+ const preparedRequest = await ((_a23 = this.prepareSendMessagesRequest) == null ? void 0 : _a23.call(this, {
14094
14153
  api: this.api,
14095
14154
  id: options.chatId,
14096
14155
  messages: options.messages,
@@ -14134,7 +14193,7 @@ var HttpChatTransport = class {
14134
14193
  return this.processResponseStream(response.body);
14135
14194
  }
14136
14195
  async reconnectToStream(options) {
14137
- var _a22, _b, _c, _d, _e;
14196
+ var _a23, _b, _c, _d, _e;
14138
14197
  const resolvedBody = await (0, import_provider_utils40.resolve)(this.body);
14139
14198
  const resolvedHeaders = await (0, import_provider_utils40.resolve)(this.headers);
14140
14199
  const resolvedCredentials = await (0, import_provider_utils40.resolve)(this.credentials);
@@ -14142,7 +14201,7 @@ var HttpChatTransport = class {
14142
14201
  ...(0, import_provider_utils40.normalizeHeaders)(resolvedHeaders),
14143
14202
  ...(0, import_provider_utils40.normalizeHeaders)(options.headers)
14144
14203
  };
14145
- const preparedRequest = await ((_a22 = this.prepareReconnectToStreamRequest) == null ? void 0 : _a22.call(this, {
14204
+ const preparedRequest = await ((_a23 = this.prepareReconnectToStreamRequest) == null ? void 0 : _a23.call(this, {
14146
14205
  api: this.api,
14147
14206
  id: options.chatId,
14148
14207
  body: { ...resolvedBody, ...options.body },
@@ -14222,11 +14281,11 @@ var AbstractChat = class {
14222
14281
  * If a messageId is provided, the message will be replaced.
14223
14282
  */
14224
14283
  this.sendMessage = async (message, options) => {
14225
- var _a22, _b, _c, _d;
14284
+ var _a23, _b, _c, _d;
14226
14285
  if (message == null) {
14227
14286
  await this.makeRequest({
14228
14287
  trigger: "submit-message",
14229
- messageId: (_a22 = this.lastMessage) == null ? void 0 : _a22.id,
14288
+ messageId: (_a23 = this.lastMessage) == null ? void 0 : _a23.id,
14230
14289
  ...options
14231
14290
  });
14232
14291
  return;
@@ -14336,11 +14395,11 @@ var AbstractChat = class {
14336
14395
  }
14337
14396
  if (this.status !== "streaming" && this.status !== "submitted" && this.sendAutomaticallyWhen) {
14338
14397
  this.shouldSendAutomatically().then((shouldSend) => {
14339
- var _a22;
14398
+ var _a23;
14340
14399
  if (shouldSend) {
14341
14400
  this.makeRequest({
14342
14401
  trigger: "submit-message",
14343
- messageId: (_a22 = this.lastMessage) == null ? void 0 : _a22.id,
14402
+ messageId: (_a23 = this.lastMessage) == null ? void 0 : _a23.id,
14344
14403
  ...options
14345
14404
  });
14346
14405
  }
@@ -14366,11 +14425,11 @@ var AbstractChat = class {
14366
14425
  }
14367
14426
  if (this.status !== "streaming" && this.status !== "submitted" && this.sendAutomaticallyWhen) {
14368
14427
  this.shouldSendAutomatically().then((shouldSend) => {
14369
- var _a22;
14428
+ var _a23;
14370
14429
  if (shouldSend) {
14371
14430
  this.makeRequest({
14372
14431
  trigger: "submit-message",
14373
- messageId: (_a22 = this.lastMessage) == null ? void 0 : _a22.id,
14432
+ messageId: (_a23 = this.lastMessage) == null ? void 0 : _a23.id,
14374
14433
  ...options
14375
14434
  });
14376
14435
  }
@@ -14383,8 +14442,8 @@ var AbstractChat = class {
14383
14442
  * Abort the current request immediately, keep the generated tokens if any.
14384
14443
  */
14385
14444
  this.stop = async () => {
14386
- var _a22, _b;
14387
- (_a22 = this.activeResumeRequest) == null ? void 0 : _a22.abortController.abort();
14445
+ var _a23, _b;
14446
+ (_a23 = this.activeResumeRequest) == null ? void 0 : _a23.abortController.abort();
14388
14447
  (_b = this.activeResponse) == null ? void 0 : _b.abortController.abort();
14389
14448
  };
14390
14449
  this.id = id;
@@ -14449,11 +14508,11 @@ var AbstractChat = class {
14449
14508
  body,
14450
14509
  messageId
14451
14510
  }) {
14452
- var _a22, _b, _c;
14511
+ var _a23, _b, _c;
14453
14512
  const abortController = new AbortController();
14454
14513
  const activeResumeRequest = trigger === "resume-stream" ? { abortController } : void 0;
14455
14514
  if (activeResumeRequest) {
14456
- (_a22 = this.activeResumeRequest) == null ? void 0 : _a22.abortController.abort();
14515
+ (_a23 = this.activeResumeRequest) == null ? void 0 : _a23.abortController.abort();
14457
14516
  this.activeResumeRequest = activeResumeRequest;
14458
14517
  }
14459
14518
  const isCurrentRequest = () => activeResumeRequest == null || this.activeResumeRequest === activeResumeRequest;
@@ -14549,14 +14608,14 @@ var AbstractChat = class {
14549
14608
  return job({
14550
14609
  state: response.state,
14551
14610
  write: ({ updateStatus = true } = {}) => {
14552
- var _a23;
14611
+ var _a24;
14553
14612
  if (response.abortController.signal.aborted) {
14554
14613
  return;
14555
14614
  }
14556
14615
  if (updateStatus) {
14557
14616
  this.setStatus({ status: "streaming" });
14558
14617
  }
14559
- const replaceLastMessage = response.state.message.id === ((_a23 = this.lastMessage) == null ? void 0 : _a23.id);
14618
+ const replaceLastMessage = response.state.message.id === ((_a24 = this.lastMessage) == null ? void 0 : _a24.id);
14560
14619
  if (replaceLastMessage) {
14561
14620
  this.state.replaceMessage(
14562
14621
  this.state.messages.length - 1,
@@ -14807,6 +14866,7 @@ var TextStreamChatTransport = class extends HttpChatTransport {
14807
14866
  TooManyEmbeddingValuesForCallError,
14808
14867
  ToolCallNotFoundForApprovalError,
14809
14868
  ToolCallRepairError,
14869
+ ToolChoiceViolationError,
14810
14870
  ToolLoopAgent,
14811
14871
  TypeValidationError,
14812
14872
  UIMessageStreamError,