ai 6.0.271 → 6.0.272

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.272" : "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({
@@ -7628,15 +7670,15 @@ var DefaultStreamTextResult = class {
7628
7670
  },
7629
7671
  "ai.response.toolCalls": {
7630
7672
  output: () => {
7631
- var _a23;
7632
- return ((_a23 = finalStep.toolCalls) == null ? void 0 : _a23.length) ? JSON.stringify(finalStep.toolCalls) : void 0;
7673
+ var _a24;
7674
+ return ((_a24 = finalStep.toolCalls) == null ? void 0 : _a24.length) ? JSON.stringify(finalStep.toolCalls) : void 0;
7633
7675
  }
7634
7676
  },
7635
7677
  "ai.response.providerMetadata": JSON.stringify(
7636
7678
  finalStep.providerMetadata
7637
7679
  ),
7638
7680
  "ai.usage.inputTokens": totalUsage.inputTokens,
7639
- "ai.usage.inputTokenDetails.noCacheTokens": (_a22 = totalUsage.inputTokenDetails) == null ? void 0 : _a22.noCacheTokens,
7681
+ "ai.usage.inputTokenDetails.noCacheTokens": (_a23 = totalUsage.inputTokenDetails) == null ? void 0 : _a23.noCacheTokens,
7640
7682
  "ai.usage.inputTokenDetails.cacheReadTokens": (_b = totalUsage.inputTokenDetails) == null ? void 0 : _b.cacheReadTokens,
7641
7683
  "ai.usage.inputTokenDetails.cacheWriteTokens": (_c = totalUsage.inputTokenDetails) == null ? void 0 : _c.cacheWriteTokens,
7642
7684
  "ai.usage.outputTokens": totalUsage.outputTokens,
@@ -7671,7 +7713,7 @@ var DefaultStreamTextResult = class {
7671
7713
  // The `reason` is usually of type DOMException, but it can also be of any type,
7672
7714
  // so we use getErrorMessage for serialization because it is already designed to accept values of the unknown type.
7673
7715
  // 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) } : {}
7716
+ ...(abortSignal == null ? void 0 : abortSignal.reason) !== void 0 ? { reason: (0, import_provider30.getErrorMessage)(abortSignal.reason) } : {}
7675
7717
  });
7676
7718
  controller.close();
7677
7719
  }
@@ -7833,7 +7875,7 @@ var DefaultStreamTextResult = class {
7833
7875
  toolCallId: toolApproval.toolCall.toolCallId,
7834
7876
  toolName: toolApproval.toolCall.toolName,
7835
7877
  input: toolApproval.toolCall.input,
7836
- error: (0, import_provider29.getErrorMessage)(toolApproval.error),
7878
+ error: (0, import_provider30.getErrorMessage)(toolApproval.error),
7837
7879
  title: toolApproval.toolCall.title,
7838
7880
  ...toolApproval.toolCall.dynamic === true ? { dynamic: true } : {},
7839
7881
  ...toolApproval.toolCall.toolMetadata != null ? { toolMetadata: toolApproval.toolCall.toolMetadata } : {}
@@ -7926,7 +7968,7 @@ var DefaultStreamTextResult = class {
7926
7968
  responseMessages,
7927
7969
  usage
7928
7970
  }) {
7929
- var _a22, _b, _c, _d, _e, _f, _g, _h, _i;
7971
+ var _a23, _b, _c, _d, _e, _f, _g, _h, _i;
7930
7972
  const includeRawChunks2 = self.includeRawChunks;
7931
7973
  const stepTimeoutId = setAbortTimeout({
7932
7974
  abortController: stepAbortController,
@@ -7977,7 +8019,7 @@ var DefaultStreamTextResult = class {
7977
8019
  experimental_context
7978
8020
  }));
7979
8021
  const stepModel = resolveLanguageModel(
7980
- (_a22 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a22 : model
8022
+ (_a23 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a23 : model
7981
8023
  );
7982
8024
  const stepModelInfo = {
7983
8025
  provider: stepModel.provider,
@@ -8147,7 +8189,7 @@ var DefaultStreamTextResult = class {
8147
8189
  streamWithToolResults.pipeThrough(
8148
8190
  new TransformStream({
8149
8191
  async transform(chunk, controller) {
8150
- var _a23, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i2;
8192
+ var _a24, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i2;
8151
8193
  resetChunkTimeout();
8152
8194
  if (chunk.type === "stream-start") {
8153
8195
  warnings = chunk.warnings;
@@ -8186,7 +8228,7 @@ var DefaultStreamTextResult = class {
8186
8228
  case "text-end": {
8187
8229
  controller.enqueue({
8188
8230
  ...chunk,
8189
- id: (_a23 = textPartIds.get(chunk.id)) != null ? _a23 : chunk.id
8231
+ id: (_a24 = textPartIds.get(chunk.id)) != null ? _a24 : chunk.id
8190
8232
  });
8191
8233
  textPartIds.delete(chunk.id);
8192
8234
  break;
@@ -8333,7 +8375,7 @@ var DefaultStreamTextResult = class {
8333
8375
  },
8334
8376
  // invoke onFinish callback and resolve toolResults promise when the stream is about to close:
8335
8377
  async flush(controller) {
8336
- var _a23, _b2, _c2, _d2, _e2, _f2, _g2;
8378
+ var _a24, _b2, _c2, _d2, _e2, _f2, _g2;
8337
8379
  if (!hasReceivedTerminalChunk && !hasReceivedOutputChunk) {
8338
8380
  controller.enqueue({
8339
8381
  type: "error",
@@ -8360,7 +8402,7 @@ var DefaultStreamTextResult = class {
8360
8402
  "ai.response.model": stepResponse.modelId,
8361
8403
  "ai.response.timestamp": stepResponse.timestamp.toISOString(),
8362
8404
  "ai.usage.inputTokens": stepUsage.inputTokens,
8363
- "ai.usage.inputTokenDetails.noCacheTokens": (_a23 = stepUsage.inputTokenDetails) == null ? void 0 : _a23.noCacheTokens,
8405
+ "ai.usage.inputTokenDetails.noCacheTokens": (_a24 = stepUsage.inputTokenDetails) == null ? void 0 : _a24.noCacheTokens,
8364
8406
  "ai.usage.inputTokenDetails.cacheReadTokens": (_b2 = stepUsage.inputTokenDetails) == null ? void 0 : _b2.cacheReadTokens,
8365
8407
  "ai.usage.inputTokenDetails.cacheWriteTokens": (_c2 = stepUsage.inputTokenDetails) == null ? void 0 : _c2.cacheWriteTokens,
8366
8408
  "ai.usage.outputTokens": stepUsage.outputTokens,
@@ -8637,19 +8679,19 @@ var DefaultStreamTextResult = class {
8637
8679
  this._steps.reject(error);
8638
8680
  }
8639
8681
  async consumeStream(options) {
8640
- var _a22;
8682
+ var _a23;
8641
8683
  try {
8642
8684
  await consumeStream({
8643
8685
  stream: this.fullStream,
8644
8686
  onError: (error) => {
8645
- var _a23;
8687
+ var _a24;
8646
8688
  this.rejectResultPromises(error);
8647
- (_a23 = options == null ? void 0 : options.onError) == null ? void 0 : _a23.call(options, error);
8689
+ (_a24 = options == null ? void 0 : options.onError) == null ? void 0 : _a24.call(options, error);
8648
8690
  }
8649
8691
  });
8650
8692
  } catch (error) {
8651
8693
  this.rejectResultPromises(error);
8652
- (_a22 = options == null ? void 0 : options.onError) == null ? void 0 : _a22.call(options, error);
8694
+ (_a23 = options == null ? void 0 : options.onError) == null ? void 0 : _a23.call(options, error);
8653
8695
  }
8654
8696
  }
8655
8697
  get experimental_partialOutputStream() {
@@ -8669,10 +8711,10 @@ var DefaultStreamTextResult = class {
8669
8711
  );
8670
8712
  }
8671
8713
  get elementStream() {
8672
- var _a22, _b, _c;
8673
- const transform = (_a22 = this.outputSpecification) == null ? void 0 : _a22.createElementStreamTransform();
8714
+ var _a23, _b, _c;
8715
+ const transform = (_a23 = this.outputSpecification) == null ? void 0 : _a23.createElementStreamTransform();
8674
8716
  if (transform == null) {
8675
- throw new import_provider29.UnsupportedFunctionalityError({
8717
+ throw new import_provider30.UnsupportedFunctionalityError({
8676
8718
  functionality: `element streams in ${(_c = (_b = this.outputSpecification) == null ? void 0 : _b.name) != null ? _c : "text"} mode`
8677
8719
  });
8678
8720
  }
@@ -8680,8 +8722,8 @@ var DefaultStreamTextResult = class {
8680
8722
  }
8681
8723
  get output() {
8682
8724
  return this.finalStep.then((step) => {
8683
- var _a22;
8684
- const output = (_a22 = this.outputSpecification) != null ? _a22 : text();
8725
+ var _a23;
8726
+ const output = (_a23 = this.outputSpecification) != null ? _a23 : text();
8685
8727
  return output.parseCompleteOutput(
8686
8728
  { text: step.text },
8687
8729
  {
@@ -8720,8 +8762,8 @@ var DefaultStreamTextResult = class {
8720
8762
  responseMessageId: generateMessageId
8721
8763
  }) : void 0;
8722
8764
  const isDynamic = (part) => {
8723
- var _a22;
8724
- const tool2 = (_a22 = this.tools) == null ? void 0 : _a22[part.toolName];
8765
+ var _a23;
8766
+ const tool2 = (_a23 = this.tools) == null ? void 0 : _a23[part.toolName];
8725
8767
  if (tool2 == null) {
8726
8768
  return part.dynamic;
8727
8769
  }
@@ -9119,7 +9161,7 @@ var ToolLoopAgent = class {
9119
9161
  return this.settings.tools;
9120
9162
  }
9121
9163
  async prepareCall(options) {
9122
- var _a22, _b, _c, _d;
9164
+ var _a23, _b, _c, _d;
9123
9165
  if (this.settings.callOptionsSchema != null && options.options !== void 0) {
9124
9166
  const validatedOptions = await (0, import_provider_utils21.validateTypes)({
9125
9167
  value: options.options,
@@ -9131,7 +9173,7 @@ var ToolLoopAgent = class {
9131
9173
  const { onStepFinish: _settingsOnStepFinish, ...settingsWithoutCallback } = this.settings;
9132
9174
  const baseCallArgs = {
9133
9175
  ...settingsWithoutCallback,
9134
- stopWhen: (_a22 = this.settings.stopWhen) != null ? _a22 : stepCountIs(20),
9176
+ stopWhen: (_a23 = this.settings.stopWhen) != null ? _a23 : stepCountIs(20),
9135
9177
  ...options
9136
9178
  };
9137
9179
  const preparedCallArgs = (_d = await ((_c = (_b = this.settings).prepareCall) == null ? void 0 : _c.call(
@@ -9343,7 +9385,7 @@ function readUIMessageStream({
9343
9385
  onError,
9344
9386
  terminateOnError = false
9345
9387
  }) {
9346
- var _a22;
9388
+ var _a23;
9347
9389
  let controller;
9348
9390
  let hasErrored = false;
9349
9391
  const outputStream = new ReadableStream({
@@ -9352,7 +9394,7 @@ function readUIMessageStream({
9352
9394
  }
9353
9395
  });
9354
9396
  const state = createStreamingUIMessageState({
9355
- messageId: (_a22 = message == null ? void 0 : message.id) != null ? _a22 : "",
9397
+ messageId: (_a23 = message == null ? void 0 : message.id) != null ? _a23 : "",
9356
9398
  lastMessage: message
9357
9399
  });
9358
9400
  const handleError = (error) => {
@@ -9419,7 +9461,7 @@ async function convertToModelMessages(messages, options) {
9419
9461
  modelMessages.push({
9420
9462
  role: "user",
9421
9463
  content: message.parts.map((part) => {
9422
- var _a22;
9464
+ var _a23;
9423
9465
  if (isTextUIPart(part)) {
9424
9466
  return {
9425
9467
  type: "text",
@@ -9437,7 +9479,7 @@ async function convertToModelMessages(messages, options) {
9437
9479
  };
9438
9480
  }
9439
9481
  if (isDataUIPart(part)) {
9440
- return (_a22 = options == null ? void 0 : options.convertDataPart) == null ? void 0 : _a22.call(
9482
+ return (_a23 = options == null ? void 0 : options.convertDataPart) == null ? void 0 : _a23.call(
9441
9483
  options,
9442
9484
  part
9443
9485
  );
@@ -9450,7 +9492,7 @@ async function convertToModelMessages(messages, options) {
9450
9492
  if (message.parts != null) {
9451
9493
  let block = [];
9452
9494
  async function processBlock() {
9453
- var _a22, _b, _c, _d, _e, _f, _g, _h;
9495
+ var _a23, _b, _c, _d, _e, _f, _g, _h;
9454
9496
  if (block.length === 0) {
9455
9497
  return;
9456
9498
  }
@@ -9483,7 +9525,7 @@ async function convertToModelMessages(messages, options) {
9483
9525
  type: "tool-call",
9484
9526
  toolCallId: part.toolCallId,
9485
9527
  toolName,
9486
- input: part.state === "output-error" ? (_a22 = part.input) != null ? _a22 : "rawInput" in part ? part.rawInput : void 0 : part.input,
9528
+ input: part.state === "output-error" ? (_a23 = part.input) != null ? _a23 : "rawInput" in part ? part.rawInput : void 0 : part.input,
9487
9529
  providerExecuted: part.providerExecuted,
9488
9530
  ...part.callProviderMetadata != null ? { providerOptions: part.callProviderMetadata } : {}
9489
9531
  });
@@ -9533,8 +9575,8 @@ async function convertToModelMessages(messages, options) {
9533
9575
  }
9534
9576
  const toolParts = block.filter(
9535
9577
  (part) => {
9536
- var _a23;
9537
- return isToolUIPart(part) && (part.providerExecuted !== true || ((_a23 = part.approval) == null ? void 0 : _a23.approved) != null);
9578
+ var _a24;
9579
+ return isToolUIPart(part) && (part.providerExecuted !== true || ((_a24 = part.approval) == null ? void 0 : _a24.approved) != null);
9538
9580
  }
9539
9581
  );
9540
9582
  if (toolParts.length > 0) {
@@ -9622,7 +9664,7 @@ async function convertToModelMessages(messages, options) {
9622
9664
  }
9623
9665
 
9624
9666
  // src/ui/validate-ui-messages.ts
9625
- var import_provider30 = require("@ai-sdk/provider");
9667
+ var import_provider31 = require("@ai-sdk/provider");
9626
9668
  var import_provider_utils24 = require("@ai-sdk/provider-utils");
9627
9669
  var import_v48 = require("zod/v4");
9628
9670
  var toolMetadataSchema2 = import_v48.z.record(
@@ -9989,7 +10031,7 @@ async function safeValidateUIMessagesInternal({
9989
10031
  if (!dataSchema) {
9990
10032
  return {
9991
10033
  success: false,
9992
- error: new import_provider30.TypeValidationError({
10034
+ error: new import_provider31.TypeValidationError({
9993
10035
  value: dataPart.data,
9994
10036
  cause: `No data schema found for data part ${dataName}`,
9995
10037
  context: {
@@ -10026,7 +10068,7 @@ async function safeValidateUIMessagesInternal({
10026
10068
  if (!tool2) {
10027
10069
  return {
10028
10070
  success: false,
10029
- error: new import_provider30.TypeValidationError({
10071
+ error: new import_provider31.TypeValidationError({
10030
10072
  value: toolPart.input,
10031
10073
  cause: `No tool schema found for tool part ${toolName}`,
10032
10074
  context: {
@@ -10138,7 +10180,7 @@ async function createAgentUIStream({
10138
10180
  onStepFinish,
10139
10181
  ...uiMessageStreamOptions
10140
10182
  }) {
10141
- var _a22;
10183
+ var _a23;
10142
10184
  const validatedMessages = await validateUIMessagesForAgent({
10143
10185
  messages: uiMessages,
10144
10186
  tools: agent.tools
@@ -10157,7 +10199,7 @@ async function createAgentUIStream({
10157
10199
  return result.toUIMessageStream({
10158
10200
  ...uiMessageStreamOptions,
10159
10201
  // TODO reading `originalMessages` is here for bc, always use `validatedMessages` in v7
10160
- originalMessages: (_a22 = uiMessageStreamOptions.originalMessages) != null ? _a22 : validatedMessages
10202
+ originalMessages: (_a23 = uiMessageStreamOptions.originalMessages) != null ? _a23 : validatedMessages
10161
10203
  });
10162
10204
  }
10163
10205
 
@@ -10255,7 +10297,7 @@ async function embed({
10255
10297
  }),
10256
10298
  tracer,
10257
10299
  fn: async (doEmbedSpan) => {
10258
- var _a22, _b;
10300
+ var _a23, _b;
10259
10301
  const modelResponse = await model.doEmbed({
10260
10302
  values: [value],
10261
10303
  abortSignal,
@@ -10263,7 +10305,7 @@ async function embed({
10263
10305
  providerOptions
10264
10306
  });
10265
10307
  const embedding2 = modelResponse.embeddings[0];
10266
- const usage2 = (_a22 = modelResponse.usage) != null ? _a22 : { tokens: NaN };
10308
+ const usage2 = (_a23 = modelResponse.usage) != null ? _a23 : { tokens: NaN };
10267
10309
  doEmbedSpan.setAttributes(
10268
10310
  await selectTelemetryAttributes({
10269
10311
  telemetry,
@@ -10383,7 +10425,7 @@ async function embedMany({
10383
10425
  }),
10384
10426
  tracer,
10385
10427
  fn: async (span) => {
10386
- var _a22;
10428
+ var _a23;
10387
10429
  const [
10388
10430
  maxEmbeddingsPerCall,
10389
10431
  maxInputBytesPerCall,
@@ -10415,7 +10457,7 @@ async function embedMany({
10415
10457
  }),
10416
10458
  tracer,
10417
10459
  fn: async (doEmbedSpan) => {
10418
- var _a23, _b;
10460
+ var _a24, _b;
10419
10461
  const modelResponse = await model.doEmbed({
10420
10462
  values,
10421
10463
  abortSignal,
@@ -10423,7 +10465,7 @@ async function embedMany({
10423
10465
  providerOptions
10424
10466
  });
10425
10467
  const embeddings3 = modelResponse.embeddings;
10426
- const usage2 = (_a23 = modelResponse.usage) != null ? _a23 : { tokens: NaN };
10468
+ const usage2 = (_a24 = modelResponse.usage) != null ? _a24 : { tokens: NaN };
10427
10469
  doEmbedSpan.setAttributes(
10428
10470
  await selectTelemetryAttributes({
10429
10471
  telemetry,
@@ -10508,7 +10550,7 @@ async function embedMany({
10508
10550
  }),
10509
10551
  tracer,
10510
10552
  fn: async (doEmbedSpan) => {
10511
- var _a23, _b;
10553
+ var _a24, _b;
10512
10554
  const modelResponse = await model.doEmbed({
10513
10555
  values: chunk,
10514
10556
  abortSignal,
@@ -10516,7 +10558,7 @@ async function embedMany({
10516
10558
  providerOptions
10517
10559
  });
10518
10560
  const embeddings2 = modelResponse.embeddings;
10519
- const usage = (_a23 = modelResponse.usage) != null ? _a23 : { tokens: NaN };
10561
+ const usage = (_a24 = modelResponse.usage) != null ? _a24 : { tokens: NaN };
10520
10562
  doEmbedSpan.setAttributes(
10521
10563
  await selectTelemetryAttributes({
10522
10564
  telemetry,
@@ -10555,7 +10597,7 @@ async function embedMany({
10555
10597
  result.providerMetadata
10556
10598
  )) {
10557
10599
  providerMetadata[providerName] = {
10558
- ...(_a22 = providerMetadata[providerName]) != null ? _a22 : {},
10600
+ ...(_a23 = providerMetadata[providerName]) != null ? _a23 : {},
10559
10601
  ...metadata
10560
10602
  };
10561
10603
  }
@@ -10647,7 +10689,7 @@ async function generateImage({
10647
10689
  abortSignal,
10648
10690
  headers
10649
10691
  }) {
10650
- var _a22, _b;
10692
+ var _a23, _b;
10651
10693
  const model = resolveImageModel(modelArg);
10652
10694
  const headersWithUserAgent = (0, import_provider_utils28.withUserAgentSuffix)(
10653
10695
  headers != null ? headers : {},
@@ -10657,7 +10699,7 @@ async function generateImage({
10657
10699
  maxRetries: maxRetriesArg,
10658
10700
  abortSignal
10659
10701
  });
10660
- const maxImagesPerCallWithDefault = (_a22 = maxImagesPerCall != null ? maxImagesPerCall : await invokeModelMaxImagesPerCall(model)) != null ? _a22 : 1;
10702
+ const maxImagesPerCallWithDefault = (_a23 = maxImagesPerCall != null ? maxImagesPerCall : await invokeModelMaxImagesPerCall(model)) != null ? _a23 : 1;
10661
10703
  const callCount = Math.ceil(n / maxImagesPerCallWithDefault);
10662
10704
  const callImageCounts = Array.from({ length: callCount }, (_, i) => {
10663
10705
  if (i < callCount - 1) {
@@ -10698,13 +10740,13 @@ async function generateImage({
10698
10740
  images.push(
10699
10741
  ...result.images.map(
10700
10742
  (image) => {
10701
- var _a23;
10743
+ var _a24;
10702
10744
  return new DefaultGeneratedFile({
10703
10745
  data: image,
10704
- mediaType: (_a23 = detectMediaType({
10746
+ mediaType: (_a24 = detectMediaType({
10705
10747
  data: image,
10706
10748
  signatures: imageMediaTypeSignatures
10707
- })) != null ? _a23 : "image/png"
10749
+ })) != null ? _a24 : "image/png"
10708
10750
  });
10709
10751
  }
10710
10752
  )
@@ -10821,7 +10863,7 @@ var experimental_generateImage = generateImage;
10821
10863
  var import_provider_utils31 = require("@ai-sdk/provider-utils");
10822
10864
 
10823
10865
  // src/generate-object/output-strategy.ts
10824
- var import_provider31 = require("@ai-sdk/provider");
10866
+ var import_provider32 = require("@ai-sdk/provider");
10825
10867
  var import_provider_utils29 = require("@ai-sdk/provider-utils");
10826
10868
  var noSchemaOutputStrategy = {
10827
10869
  type: "no-schema",
@@ -10842,7 +10884,7 @@ var noSchemaOutputStrategy = {
10842
10884
  } : { success: true, value };
10843
10885
  },
10844
10886
  createElementStream() {
10845
- throw new import_provider31.UnsupportedFunctionalityError({
10887
+ throw new import_provider32.UnsupportedFunctionalityError({
10846
10888
  functionality: "element streams in no-schema mode"
10847
10889
  });
10848
10890
  }
@@ -10864,7 +10906,7 @@ var objectOutputStrategy = (schema) => ({
10864
10906
  return (0, import_provider_utils29.safeValidateTypes)({ value, schema });
10865
10907
  },
10866
10908
  createElementStream() {
10867
- throw new import_provider31.UnsupportedFunctionalityError({
10909
+ throw new import_provider32.UnsupportedFunctionalityError({
10868
10910
  functionality: "element streams in object mode"
10869
10911
  });
10870
10912
  }
@@ -10893,11 +10935,11 @@ var arrayOutputStrategy = (schema) => {
10893
10935
  isFirstDelta,
10894
10936
  isFinalDelta
10895
10937
  }) {
10896
- var _a22;
10897
- if (!(0, import_provider31.isJSONObject)(value) || !(0, import_provider31.isJSONArray)(value.elements)) {
10938
+ var _a23;
10939
+ if (!(0, import_provider32.isJSONObject)(value) || !(0, import_provider32.isJSONArray)(value.elements)) {
10898
10940
  return {
10899
10941
  success: false,
10900
- error: new import_provider31.TypeValidationError({
10942
+ error: new import_provider32.TypeValidationError({
10901
10943
  value,
10902
10944
  cause: "value must be an object that contains an array of elements"
10903
10945
  })
@@ -10916,7 +10958,7 @@ var arrayOutputStrategy = (schema) => {
10916
10958
  }
10917
10959
  resultArray.push(result.value);
10918
10960
  }
10919
- const publishedElementCount = (_a22 = latestObject == null ? void 0 : latestObject.length) != null ? _a22 : 0;
10961
+ const publishedElementCount = (_a23 = latestObject == null ? void 0 : latestObject.length) != null ? _a23 : 0;
10920
10962
  let textDelta = "";
10921
10963
  if (isFirstDelta) {
10922
10964
  textDelta += "[";
@@ -10937,10 +10979,10 @@ var arrayOutputStrategy = (schema) => {
10937
10979
  };
10938
10980
  },
10939
10981
  async validateFinalResult(value) {
10940
- if (!(0, import_provider31.isJSONObject)(value) || !(0, import_provider31.isJSONArray)(value.elements)) {
10982
+ if (!(0, import_provider32.isJSONObject)(value) || !(0, import_provider32.isJSONArray)(value.elements)) {
10941
10983
  return {
10942
10984
  success: false,
10943
- error: new import_provider31.TypeValidationError({
10985
+ error: new import_provider32.TypeValidationError({
10944
10986
  value,
10945
10987
  cause: "value must be an object that contains an array of elements"
10946
10988
  })
@@ -11005,10 +11047,10 @@ var enumOutputStrategy = (enumValues) => {
11005
11047
  additionalProperties: false
11006
11048
  }),
11007
11049
  async validateFinalResult(value) {
11008
- if (!(0, import_provider31.isJSONObject)(value) || typeof value.result !== "string") {
11050
+ if (!(0, import_provider32.isJSONObject)(value) || typeof value.result !== "string") {
11009
11051
  return {
11010
11052
  success: false,
11011
- error: new import_provider31.TypeValidationError({
11053
+ error: new import_provider32.TypeValidationError({
11012
11054
  value,
11013
11055
  cause: 'value must be an object that contains a string in the "result" property.'
11014
11056
  })
@@ -11017,17 +11059,17 @@ var enumOutputStrategy = (enumValues) => {
11017
11059
  const result = value.result;
11018
11060
  return enumValues.includes(result) ? { success: true, value: result } : {
11019
11061
  success: false,
11020
- error: new import_provider31.TypeValidationError({
11062
+ error: new import_provider32.TypeValidationError({
11021
11063
  value,
11022
11064
  cause: "value must be a string in the enum"
11023
11065
  })
11024
11066
  };
11025
11067
  },
11026
11068
  async validatePartialResult({ value, textDelta }) {
11027
- if (!(0, import_provider31.isJSONObject)(value) || typeof value.result !== "string") {
11069
+ if (!(0, import_provider32.isJSONObject)(value) || typeof value.result !== "string") {
11028
11070
  return {
11029
11071
  success: false,
11030
- error: new import_provider31.TypeValidationError({
11072
+ error: new import_provider32.TypeValidationError({
11031
11073
  value,
11032
11074
  cause: 'value must be an object that contains a string in the "result" property.'
11033
11075
  })
@@ -11040,7 +11082,7 @@ var enumOutputStrategy = (enumValues) => {
11040
11082
  if (value.result.length === 0 || possibleEnumValues.length === 0) {
11041
11083
  return {
11042
11084
  success: false,
11043
- error: new import_provider31.TypeValidationError({
11085
+ error: new import_provider32.TypeValidationError({
11044
11086
  value,
11045
11087
  cause: "value must be a string in the enum"
11046
11088
  })
@@ -11055,7 +11097,7 @@ var enumOutputStrategy = (enumValues) => {
11055
11097
  };
11056
11098
  },
11057
11099
  createElementStream() {
11058
- throw new import_provider31.UnsupportedFunctionalityError({
11100
+ throw new import_provider32.UnsupportedFunctionalityError({
11059
11101
  functionality: "element streams in enum mode"
11060
11102
  });
11061
11103
  }
@@ -11083,7 +11125,7 @@ function getOutputStrategy({
11083
11125
  }
11084
11126
 
11085
11127
  // src/generate-object/parse-and-validate-object-result.ts
11086
- var import_provider32 = require("@ai-sdk/provider");
11128
+ var import_provider33 = require("@ai-sdk/provider");
11087
11129
  var import_provider_utils30 = require("@ai-sdk/provider-utils");
11088
11130
  async function parseAndValidateObjectResult(result, outputStrategy, context2) {
11089
11131
  const parseResult = await (0, import_provider_utils30.safeParseJSON)({ text: result });
@@ -11121,7 +11163,7 @@ async function parseAndValidateObjectResultWithRepair(result, outputStrategy, re
11121
11163
  try {
11122
11164
  return await parseAndValidateObjectResult(result, outputStrategy, context2);
11123
11165
  } catch (error) {
11124
- if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider32.JSONParseError.isInstance(error.cause) || import_provider32.TypeValidationError.isInstance(error.cause))) {
11166
+ if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider33.JSONParseError.isInstance(error.cause) || import_provider33.TypeValidationError.isInstance(error.cause))) {
11125
11167
  const repairedText = await repairText({
11126
11168
  text: result,
11127
11169
  error: error.cause
@@ -11339,7 +11381,7 @@ async function generateObject(options) {
11339
11381
  }),
11340
11382
  tracer,
11341
11383
  fn: async (span) => {
11342
- var _a22;
11384
+ var _a23;
11343
11385
  let result;
11344
11386
  let finishReason;
11345
11387
  let usage;
@@ -11386,7 +11428,7 @@ async function generateObject(options) {
11386
11428
  }),
11387
11429
  tracer,
11388
11430
  fn: async (span2) => {
11389
- var _a23, _b, _c, _d, _e, _f, _g, _h;
11431
+ var _a24, _b, _c, _d, _e, _f, _g, _h;
11390
11432
  const result2 = await model.doGenerate({
11391
11433
  responseFormat: {
11392
11434
  type: "json",
@@ -11401,7 +11443,7 @@ async function generateObject(options) {
11401
11443
  headers: headersWithUserAgent
11402
11444
  });
11403
11445
  const responseData = {
11404
- id: (_b = (_a23 = result2.response) == null ? void 0 : _a23.id) != null ? _b : generateId2(),
11446
+ id: (_b = (_a24 = result2.response) == null ? void 0 : _a24.id) != null ? _b : generateId2(),
11405
11447
  timestamp: (_d = (_c = result2.response) == null ? void 0 : _c.timestamp) != null ? _d : currentDate(),
11406
11448
  modelId: (_f = (_e = result2.response) == null ? void 0 : _e.modelId) != null ? _f : model.modelId,
11407
11449
  headers: (_g = result2.response) == null ? void 0 : _g.headers,
@@ -11457,7 +11499,7 @@ async function generateObject(options) {
11457
11499
  usage = asLanguageModelUsage(generateResult.usage);
11458
11500
  warnings = generateResult.warnings;
11459
11501
  resultProviderMetadata = generateResult.providerMetadata;
11460
- request = (_a22 = generateResult.request) != null ? _a22 : {};
11502
+ request = (_a23 = generateResult.request) != null ? _a23 : {};
11461
11503
  response = generateResult.responseData;
11462
11504
  reasoning = generateResult.reasoning;
11463
11505
  logWarnings({
@@ -11520,9 +11562,9 @@ var DefaultGenerateObjectResult = class {
11520
11562
  this.reasoning = options.reasoning;
11521
11563
  }
11522
11564
  toJsonResponse(init) {
11523
- var _a22;
11565
+ var _a23;
11524
11566
  return new Response(JSON.stringify(this.object), {
11525
- status: (_a22 = init == null ? void 0 : init.status) != null ? _a22 : 200,
11567
+ status: (_a23 = init == null ? void 0 : init.status) != null ? _a23 : 200,
11526
11568
  headers: prepareHeaders(init == null ? void 0 : init.headers, {
11527
11569
  "content-type": "application/json; charset=utf-8"
11528
11570
  })
@@ -11653,8 +11695,8 @@ function simulateReadableStream({
11653
11695
  chunkDelayInMs = 0,
11654
11696
  _internal
11655
11697
  }) {
11656
- var _a22;
11657
- const delay = (_a22 = _internal == null ? void 0 : _internal.delay) != null ? _a22 : import_provider_utils32.delay;
11698
+ var _a23;
11699
+ const delay = (_a23 = _internal == null ? void 0 : _internal.delay) != null ? _a23 : import_provider_utils32.delay;
11658
11700
  let index = 0;
11659
11701
  return new ReadableStream({
11660
11702
  async pull(controller) {
@@ -11928,7 +11970,7 @@ var DefaultStreamObjectResult = class {
11928
11970
  const transformedStream = stream.pipeThrough(new TransformStream(transformer)).pipeThrough(
11929
11971
  new TransformStream({
11930
11972
  async transform(chunk, controller) {
11931
- var _a22, _b, _c;
11973
+ var _a23, _b, _c;
11932
11974
  if (typeof chunk === "object" && chunk.type === "stream-start") {
11933
11975
  warnings = chunk.warnings;
11934
11976
  return;
@@ -11978,7 +12020,7 @@ var DefaultStreamObjectResult = class {
11978
12020
  switch (chunk.type) {
11979
12021
  case "response-metadata": {
11980
12022
  fullResponse = {
11981
- id: (_a22 = chunk.id) != null ? _a22 : fullResponse.id,
12023
+ id: (_a23 = chunk.id) != null ? _a23 : fullResponse.id,
11982
12024
  timestamp: (_b = chunk.timestamp) != null ? _b : fullResponse.timestamp,
11983
12025
  modelId: (_c = chunk.modelId) != null ? _c : fullResponse.modelId
11984
12026
  };
@@ -12292,7 +12334,7 @@ async function generateSpeech({
12292
12334
  abortSignal,
12293
12335
  headers
12294
12336
  }) {
12295
- var _a22;
12337
+ var _a23;
12296
12338
  const resolvedModel = resolveSpeechModel(model);
12297
12339
  if (!resolvedModel) {
12298
12340
  throw new Error("Model could not be resolved");
@@ -12329,10 +12371,10 @@ async function generateSpeech({
12329
12371
  return new DefaultSpeechResult({
12330
12372
  audio: new DefaultGeneratedAudioFile({
12331
12373
  data: result.audio,
12332
- mediaType: (_a22 = detectMediaType({
12374
+ mediaType: (_a23 = detectMediaType({
12333
12375
  data: result.audio,
12334
12376
  signatures: audioMediaTypeSignatures
12335
- })) != null ? _a22 : "audio/mp3"
12377
+ })) != null ? _a23 : "audio/mp3"
12336
12378
  }),
12337
12379
  warnings: result.warnings,
12338
12380
  responses: [result.response],
@@ -12341,11 +12383,11 @@ async function generateSpeech({
12341
12383
  }
12342
12384
  var DefaultSpeechResult = class {
12343
12385
  constructor(options) {
12344
- var _a22;
12386
+ var _a23;
12345
12387
  this.audio = options.audio;
12346
12388
  this.warnings = options.warnings;
12347
12389
  this.responses = options.responses;
12348
- this.providerMetadata = (_a22 = options.providerMetadata) != null ? _a22 : {};
12390
+ this.providerMetadata = (_a23 = options.providerMetadata) != null ? _a23 : {};
12349
12391
  }
12350
12392
  };
12351
12393
 
@@ -12445,7 +12487,7 @@ function pruneMessages({
12445
12487
 
12446
12488
  // src/generate-text/smooth-stream.ts
12447
12489
  var import_provider_utils35 = require("@ai-sdk/provider-utils");
12448
- var import_provider33 = require("@ai-sdk/provider");
12490
+ var import_provider34 = require("@ai-sdk/provider");
12449
12491
  var CHUNKING_REGEXPS = {
12450
12492
  word: /\S+\s+/m,
12451
12493
  line: /\n+/m
@@ -12484,7 +12526,7 @@ function smoothStream({
12484
12526
  } else {
12485
12527
  const chunkingRegex = typeof chunking === "string" ? CHUNKING_REGEXPS[chunking] : chunking instanceof RegExp ? chunking : void 0;
12486
12528
  if (chunkingRegex == null) {
12487
- throw new import_provider33.InvalidArgumentError({
12529
+ throw new import_provider34.InvalidArgumentError({
12488
12530
  argument: "chunking",
12489
12531
  message: `Chunking must be "word", "line", a RegExp, an Intl.Segmenter, or a ChunkDetector function. Received: ${chunking}`
12490
12532
  });
@@ -12563,7 +12605,7 @@ async function experimental_generateVideo({
12563
12605
  headers,
12564
12606
  download: downloadFn = defaultDownload
12565
12607
  }) {
12566
- var _a22, _b;
12608
+ var _a23, _b;
12567
12609
  const model = resolveVideoModel(modelArg);
12568
12610
  const headersWithUserAgent = (0, import_provider_utils36.withUserAgentSuffix)(
12569
12611
  headers != null ? headers : {},
@@ -12590,9 +12632,9 @@ async function experimental_generateVideo({
12590
12632
  message: "inputReferences were ignored because frameImages were provided; frameImages and inputReferences cannot be combined."
12591
12633
  });
12592
12634
  }
12593
- const firstFrameImage = (_a22 = normalizedFrameImages == null ? void 0 : normalizedFrameImages.find(
12635
+ const firstFrameImage = (_a23 = normalizedFrameImages == null ? void 0 : normalizedFrameImages.find(
12594
12636
  (frame) => frame.frameType === "first_frame"
12595
- )) == null ? void 0 : _a22.image;
12637
+ )) == null ? void 0 : _a23.image;
12596
12638
  if (image != null && firstFrameImage != null) {
12597
12639
  warnings.push({
12598
12640
  type: "other",
@@ -12736,8 +12778,8 @@ function normalizePrompt2(promptArg) {
12736
12778
  };
12737
12779
  }
12738
12780
  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 });
12781
+ var _a23;
12782
+ const detected = restrictToImages ? detectMediaType({ data, signatures: imageMediaTypeSignatures }) : (_a23 = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _a23 : detectMediaType({ data, signatures: videoMediaTypeSignatures });
12741
12783
  return detected != null ? detected : "image/png";
12742
12784
  }
12743
12785
  function normalizeImageData(dataContent, { restrictToImages = true } = {}) {
@@ -12831,8 +12873,8 @@ function stripMarkdownCodeFenceSuffix(text2) {
12831
12873
  return text2.replace(/\n?```\s*$/, "").trimEnd();
12832
12874
  }
12833
12875
  function extractJsonMiddleware(options) {
12834
- var _a22;
12835
- const transform = (_a22 = options == null ? void 0 : options.transform) != null ? _a22 : defaultTransform;
12876
+ var _a23;
12877
+ const transform = (_a23 = options == null ? void 0 : options.transform) != null ? _a23 : defaultTransform;
12836
12878
  const hasCustomTransform = (options == null ? void 0 : options.transform) !== void 0;
12837
12879
  return {
12838
12880
  specificationVersion: "v3",
@@ -13208,13 +13250,13 @@ function addToolInputExamplesMiddleware({
13208
13250
  return {
13209
13251
  specificationVersion: "v3",
13210
13252
  transformParams: async ({ params }) => {
13211
- var _a22;
13212
- if (!((_a22 = params.tools) == null ? void 0 : _a22.length)) {
13253
+ var _a23;
13254
+ if (!((_a23 = params.tools) == null ? void 0 : _a23.length)) {
13213
13255
  return params;
13214
13256
  }
13215
13257
  const transformedTools = params.tools.map((tool2) => {
13216
- var _a23;
13217
- if (tool2.type !== "function" || !((_a23 = tool2.inputExamples) == null ? void 0 : _a23.length)) {
13258
+ var _a24;
13259
+ if (tool2.type !== "function" || !((_a24 = tool2.inputExamples) == null ? void 0 : _a24.length)) {
13218
13260
  return tool2;
13219
13261
  }
13220
13262
  const formattedExamples = tool2.inputExamples.map((example, index) => format(example, index)).join("\n");
@@ -13261,7 +13303,7 @@ var doWrap = ({
13261
13303
  modelId,
13262
13304
  providerId
13263
13305
  }) => {
13264
- var _a22, _b, _c;
13306
+ var _a23, _b, _c;
13265
13307
  async function doTransform({
13266
13308
  params,
13267
13309
  type
@@ -13270,7 +13312,7 @@ var doWrap = ({
13270
13312
  }
13271
13313
  return {
13272
13314
  specificationVersion: "v3",
13273
- provider: (_a22 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a22 : model.provider,
13315
+ provider: (_a23 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a23 : model.provider,
13274
13316
  modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
13275
13317
  supportedUrls: (_c = overrideSupportedUrls == null ? void 0 : overrideSupportedUrls({ model })) != null ? _c : model.supportedUrls,
13276
13318
  async doGenerate(params) {
@@ -13318,7 +13360,7 @@ var doWrap2 = ({
13318
13360
  modelId,
13319
13361
  providerId
13320
13362
  }) => {
13321
- var _a22, _b, _c, _d;
13363
+ var _a23, _b, _c, _d;
13322
13364
  async function doTransform({
13323
13365
  params
13324
13366
  }) {
@@ -13326,7 +13368,7 @@ var doWrap2 = ({
13326
13368
  }
13327
13369
  return {
13328
13370
  specificationVersion: "v3",
13329
- provider: (_a22 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a22 : model.provider,
13371
+ provider: (_a23 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a23 : model.provider,
13330
13372
  modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
13331
13373
  maxEmbeddingsPerCall: (_c = overrideMaxEmbeddingsPerCall == null ? void 0 : overrideMaxEmbeddingsPerCall({ model })) != null ? _c : model.maxEmbeddingsPerCall,
13332
13374
  [import_provider_utils37.EXPERIMENTAL_EMBEDDING_MODEL_MAX_INPUT_BYTES_PER_CALL]: getEmbeddingModelMaxInputBytesPerCall(model),
@@ -13366,11 +13408,11 @@ var doWrap3 = ({
13366
13408
  modelId,
13367
13409
  providerId
13368
13410
  }) => {
13369
- var _a22, _b, _c;
13411
+ var _a23, _b, _c;
13370
13412
  async function doTransform({ params }) {
13371
13413
  return transformParams ? await transformParams({ params, model }) : params;
13372
13414
  }
13373
- const maxImagesPerCallRaw = (_a22 = overrideMaxImagesPerCall == null ? void 0 : overrideMaxImagesPerCall({ model })) != null ? _a22 : model.maxImagesPerCall;
13415
+ const maxImagesPerCallRaw = (_a23 = overrideMaxImagesPerCall == null ? void 0 : overrideMaxImagesPerCall({ model })) != null ? _a23 : model.maxImagesPerCall;
13374
13416
  const maxImagesPerCall = maxImagesPerCallRaw instanceof Function ? maxImagesPerCallRaw.bind(model) : maxImagesPerCallRaw;
13375
13417
  return {
13376
13418
  specificationVersion: "v3",
@@ -13435,7 +13477,7 @@ function wrapProvider({
13435
13477
  }
13436
13478
 
13437
13479
  // src/registry/custom-provider.ts
13438
- var import_provider34 = require("@ai-sdk/provider");
13480
+ var import_provider35 = require("@ai-sdk/provider");
13439
13481
  function customProvider({
13440
13482
  languageModels,
13441
13483
  embeddingModels,
@@ -13456,7 +13498,7 @@ function customProvider({
13456
13498
  if (fallbackProvider) {
13457
13499
  return fallbackProvider.languageModel(modelId);
13458
13500
  }
13459
- throw new import_provider34.NoSuchModelError({ modelId, modelType: "languageModel" });
13501
+ throw new import_provider35.NoSuchModelError({ modelId, modelType: "languageModel" });
13460
13502
  },
13461
13503
  embeddingModel(modelId) {
13462
13504
  if (embeddingModels != null && modelId in embeddingModels) {
@@ -13465,7 +13507,7 @@ function customProvider({
13465
13507
  if (fallbackProvider) {
13466
13508
  return fallbackProvider.embeddingModel(modelId);
13467
13509
  }
13468
- throw new import_provider34.NoSuchModelError({ modelId, modelType: "embeddingModel" });
13510
+ throw new import_provider35.NoSuchModelError({ modelId, modelType: "embeddingModel" });
13469
13511
  },
13470
13512
  imageModel(modelId) {
13471
13513
  if (imageModels != null && modelId in imageModels) {
@@ -13474,7 +13516,7 @@ function customProvider({
13474
13516
  if (fallbackProvider == null ? void 0 : fallbackProvider.imageModel) {
13475
13517
  return fallbackProvider.imageModel(modelId);
13476
13518
  }
13477
- throw new import_provider34.NoSuchModelError({ modelId, modelType: "imageModel" });
13519
+ throw new import_provider35.NoSuchModelError({ modelId, modelType: "imageModel" });
13478
13520
  },
13479
13521
  transcriptionModel(modelId) {
13480
13522
  if (transcriptionModels != null && modelId in transcriptionModels) {
@@ -13483,7 +13525,7 @@ function customProvider({
13483
13525
  if (fallbackProvider == null ? void 0 : fallbackProvider.transcriptionModel) {
13484
13526
  return fallbackProvider.transcriptionModel(modelId);
13485
13527
  }
13486
- throw new import_provider34.NoSuchModelError({ modelId, modelType: "transcriptionModel" });
13528
+ throw new import_provider35.NoSuchModelError({ modelId, modelType: "transcriptionModel" });
13487
13529
  },
13488
13530
  speechModel(modelId) {
13489
13531
  if (speechModels != null && modelId in speechModels) {
@@ -13492,7 +13534,7 @@ function customProvider({
13492
13534
  if (fallbackProvider == null ? void 0 : fallbackProvider.speechModel) {
13493
13535
  return fallbackProvider.speechModel(modelId);
13494
13536
  }
13495
- throw new import_provider34.NoSuchModelError({ modelId, modelType: "speechModel" });
13537
+ throw new import_provider35.NoSuchModelError({ modelId, modelType: "speechModel" });
13496
13538
  },
13497
13539
  rerankingModel(modelId) {
13498
13540
  if (rerankingModels != null && modelId in rerankingModels) {
@@ -13501,7 +13543,7 @@ function customProvider({
13501
13543
  if (fallbackProvider == null ? void 0 : fallbackProvider.rerankingModel) {
13502
13544
  return fallbackProvider.rerankingModel(modelId);
13503
13545
  }
13504
- throw new import_provider34.NoSuchModelError({ modelId, modelType: "rerankingModel" });
13546
+ throw new import_provider35.NoSuchModelError({ modelId, modelType: "rerankingModel" });
13505
13547
  },
13506
13548
  videoModel(modelId) {
13507
13549
  if (videoModels != null && modelId in videoModels) {
@@ -13511,19 +13553,19 @@ function customProvider({
13511
13553
  if (videoModel) {
13512
13554
  return videoModel(modelId);
13513
13555
  }
13514
- throw new import_provider34.NoSuchModelError({ modelId, modelType: "videoModel" });
13556
+ throw new import_provider35.NoSuchModelError({ modelId, modelType: "videoModel" });
13515
13557
  }
13516
13558
  };
13517
13559
  }
13518
13560
  var experimental_customProvider = customProvider;
13519
13561
 
13520
13562
  // 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 {
13563
+ var import_provider36 = require("@ai-sdk/provider");
13564
+ var name22 = "AI_NoSuchProviderError";
13565
+ var marker22 = `vercel.ai.error.${name22}`;
13566
+ var symbol22 = Symbol.for(marker22);
13567
+ var _a22;
13568
+ var NoSuchProviderError = class extends import_provider36.NoSuchModelError {
13527
13569
  constructor({
13528
13570
  modelId,
13529
13571
  modelType,
@@ -13531,19 +13573,19 @@ var NoSuchProviderError = class extends import_provider35.NoSuchModelError {
13531
13573
  availableProviders,
13532
13574
  message = `No such provider: ${providerId} (available providers: ${availableProviders.join()})`
13533
13575
  }) {
13534
- super({ errorName: name21, modelId, modelType, message });
13535
- this[_a21] = true;
13576
+ super({ errorName: name22, modelId, modelType, message });
13577
+ this[_a22] = true;
13536
13578
  this.providerId = providerId;
13537
13579
  this.availableProviders = availableProviders;
13538
13580
  }
13539
13581
  static isInstance(error) {
13540
- return import_provider35.AISDKError.hasMarker(error, marker21);
13582
+ return import_provider36.AISDKError.hasMarker(error, marker22);
13541
13583
  }
13542
13584
  };
13543
- _a21 = symbol21;
13585
+ _a22 = symbol22;
13544
13586
 
13545
13587
  // src/registry/provider-registry.ts
13546
- var import_provider36 = require("@ai-sdk/provider");
13588
+ var import_provider37 = require("@ai-sdk/provider");
13547
13589
  function createProviderRegistry(providers, {
13548
13590
  separator = ":",
13549
13591
  languageModelMiddleware,
@@ -13592,7 +13634,7 @@ var DefaultProviderRegistry = class {
13592
13634
  splitId(id, modelType) {
13593
13635
  const index = id.indexOf(this.separator);
13594
13636
  if (index === -1) {
13595
- throw new import_provider36.NoSuchModelError({
13637
+ throw new import_provider37.NoSuchModelError({
13596
13638
  modelId: id,
13597
13639
  modelType,
13598
13640
  message: `Invalid ${modelType} id for registry: ${id} (must be in the format "providerId${this.separator}modelId")`
@@ -13601,14 +13643,14 @@ var DefaultProviderRegistry = class {
13601
13643
  return [id.slice(0, index), id.slice(index + this.separator.length)];
13602
13644
  }
13603
13645
  languageModel(id) {
13604
- var _a22, _b;
13646
+ var _a23, _b;
13605
13647
  const [providerId, modelId] = this.splitId(id, "languageModel");
13606
- let model = (_b = (_a22 = this.getProvider(providerId, "languageModel")).languageModel) == null ? void 0 : _b.call(
13607
- _a22,
13648
+ let model = (_b = (_a23 = this.getProvider(providerId, "languageModel")).languageModel) == null ? void 0 : _b.call(
13649
+ _a23,
13608
13650
  modelId
13609
13651
  );
13610
13652
  if (model == null) {
13611
- throw new import_provider36.NoSuchModelError({ modelId: id, modelType: "languageModel" });
13653
+ throw new import_provider37.NoSuchModelError({ modelId: id, modelType: "languageModel" });
13612
13654
  }
13613
13655
  if (this.languageModelMiddleware != null) {
13614
13656
  model = wrapLanguageModel({
@@ -13619,12 +13661,12 @@ var DefaultProviderRegistry = class {
13619
13661
  return model;
13620
13662
  }
13621
13663
  embeddingModel(id) {
13622
- var _a22;
13664
+ var _a23;
13623
13665
  const [providerId, modelId] = this.splitId(id, "embeddingModel");
13624
13666
  const provider = this.getProvider(providerId, "embeddingModel");
13625
- const model = (_a22 = provider.embeddingModel) == null ? void 0 : _a22.call(provider, modelId);
13667
+ const model = (_a23 = provider.embeddingModel) == null ? void 0 : _a23.call(provider, modelId);
13626
13668
  if (model == null) {
13627
- throw new import_provider36.NoSuchModelError({
13669
+ throw new import_provider37.NoSuchModelError({
13628
13670
  modelId: id,
13629
13671
  modelType: "embeddingModel"
13630
13672
  });
@@ -13632,12 +13674,12 @@ var DefaultProviderRegistry = class {
13632
13674
  return model;
13633
13675
  }
13634
13676
  imageModel(id) {
13635
- var _a22;
13677
+ var _a23;
13636
13678
  const [providerId, modelId] = this.splitId(id, "imageModel");
13637
13679
  const provider = this.getProvider(providerId, "imageModel");
13638
- let model = (_a22 = provider.imageModel) == null ? void 0 : _a22.call(provider, modelId);
13680
+ let model = (_a23 = provider.imageModel) == null ? void 0 : _a23.call(provider, modelId);
13639
13681
  if (model == null) {
13640
- throw new import_provider36.NoSuchModelError({ modelId: id, modelType: "imageModel" });
13682
+ throw new import_provider37.NoSuchModelError({ modelId: id, modelType: "imageModel" });
13641
13683
  }
13642
13684
  if (this.imageModelMiddleware != null) {
13643
13685
  model = wrapImageModel({
@@ -13648,12 +13690,12 @@ var DefaultProviderRegistry = class {
13648
13690
  return model;
13649
13691
  }
13650
13692
  transcriptionModel(id) {
13651
- var _a22;
13693
+ var _a23;
13652
13694
  const [providerId, modelId] = this.splitId(id, "transcriptionModel");
13653
13695
  const provider = this.getProvider(providerId, "transcriptionModel");
13654
- const model = (_a22 = provider.transcriptionModel) == null ? void 0 : _a22.call(provider, modelId);
13696
+ const model = (_a23 = provider.transcriptionModel) == null ? void 0 : _a23.call(provider, modelId);
13655
13697
  if (model == null) {
13656
- throw new import_provider36.NoSuchModelError({
13698
+ throw new import_provider37.NoSuchModelError({
13657
13699
  modelId: id,
13658
13700
  modelType: "transcriptionModel"
13659
13701
  });
@@ -13661,22 +13703,22 @@ var DefaultProviderRegistry = class {
13661
13703
  return model;
13662
13704
  }
13663
13705
  speechModel(id) {
13664
- var _a22;
13706
+ var _a23;
13665
13707
  const [providerId, modelId] = this.splitId(id, "speechModel");
13666
13708
  const provider = this.getProvider(providerId, "speechModel");
13667
- const model = (_a22 = provider.speechModel) == null ? void 0 : _a22.call(provider, modelId);
13709
+ const model = (_a23 = provider.speechModel) == null ? void 0 : _a23.call(provider, modelId);
13668
13710
  if (model == null) {
13669
- throw new import_provider36.NoSuchModelError({ modelId: id, modelType: "speechModel" });
13711
+ throw new import_provider37.NoSuchModelError({ modelId: id, modelType: "speechModel" });
13670
13712
  }
13671
13713
  return model;
13672
13714
  }
13673
13715
  rerankingModel(id) {
13674
- var _a22;
13716
+ var _a23;
13675
13717
  const [providerId, modelId] = this.splitId(id, "rerankingModel");
13676
13718
  const provider = this.getProvider(providerId, "rerankingModel");
13677
- const model = (_a22 = provider.rerankingModel) == null ? void 0 : _a22.call(provider, modelId);
13719
+ const model = (_a23 = provider.rerankingModel) == null ? void 0 : _a23.call(provider, modelId);
13678
13720
  if (model == null) {
13679
- throw new import_provider36.NoSuchModelError({ modelId: id, modelType: "rerankingModel" });
13721
+ throw new import_provider37.NoSuchModelError({ modelId: id, modelType: "rerankingModel" });
13680
13722
  }
13681
13723
  return model;
13682
13724
  }
@@ -13732,7 +13774,7 @@ async function rerank({
13732
13774
  }),
13733
13775
  tracer,
13734
13776
  fn: async () => {
13735
- var _a22, _b;
13777
+ var _a23, _b;
13736
13778
  const { ranking, response, providerMetadata, warnings } = await retry(
13737
13779
  () => recordSpan({
13738
13780
  name: "ai.rerank.doRerank",
@@ -13796,7 +13838,7 @@ async function rerank({
13796
13838
  providerMetadata,
13797
13839
  response: {
13798
13840
  id: response == null ? void 0 : response.id,
13799
- timestamp: (_a22 = response == null ? void 0 : response.timestamp) != null ? _a22 : /* @__PURE__ */ new Date(),
13841
+ timestamp: (_a23 = response == null ? void 0 : response.timestamp) != null ? _a23 : /* @__PURE__ */ new Date(),
13800
13842
  modelId: (_b = response == null ? void 0 : response.modelId) != null ? _b : model.modelId,
13801
13843
  headers: response == null ? void 0 : response.headers,
13802
13844
  body: response == null ? void 0 : response.body
@@ -13844,16 +13886,16 @@ async function transcribe({
13844
13886
  const audioData = audio instanceof URL ? (await downloadFn({ url: audio, abortSignal })).data : convertDataContentToUint8Array(audio);
13845
13887
  const result = await retry(
13846
13888
  () => {
13847
- var _a22;
13889
+ var _a23;
13848
13890
  return resolvedModel.doGenerate({
13849
13891
  audio: audioData,
13850
13892
  abortSignal,
13851
13893
  headers: headersWithUserAgent,
13852
13894
  providerOptions,
13853
- mediaType: (_a22 = detectMediaType({
13895
+ mediaType: (_a23 = detectMediaType({
13854
13896
  data: audioData,
13855
13897
  signatures: audioMediaTypeSignatures
13856
- })) != null ? _a22 : "audio/wav"
13898
+ })) != null ? _a23 : "audio/wav"
13857
13899
  });
13858
13900
  }
13859
13901
  );
@@ -13877,14 +13919,14 @@ async function transcribe({
13877
13919
  }
13878
13920
  var DefaultTranscriptionResult = class {
13879
13921
  constructor(options) {
13880
- var _a22;
13922
+ var _a23;
13881
13923
  this.text = options.text;
13882
13924
  this.segments = options.segments;
13883
13925
  this.language = options.language;
13884
13926
  this.durationInSeconds = options.durationInSeconds;
13885
13927
  this.warnings = options.warnings;
13886
13928
  this.responses = options.responses;
13887
- this.providerMetadata = (_a22 = options.providerMetadata) != null ? _a22 : {};
13929
+ this.providerMetadata = (_a23 = options.providerMetadata) != null ? _a23 : {};
13888
13930
  }
13889
13931
  };
13890
13932
 
@@ -13923,7 +13965,7 @@ async function callCompletionApi({
13923
13965
  onError,
13924
13966
  fetch: fetch2 = getOriginalFetch()
13925
13967
  }) {
13926
- var _a22;
13968
+ var _a23;
13927
13969
  try {
13928
13970
  setLoading(true);
13929
13971
  setError(void 0);
@@ -13951,7 +13993,7 @@ async function callCompletionApi({
13951
13993
  });
13952
13994
  if (!response.ok) {
13953
13995
  throw new Error(
13954
- (_a22 = await response.text()) != null ? _a22 : "Failed to fetch the chat response."
13996
+ (_a23 = await response.text()) != null ? _a23 : "Failed to fetch the chat response."
13955
13997
  );
13956
13998
  }
13957
13999
  if (!response.body) {
@@ -14035,12 +14077,12 @@ async function convertFileListToFileUIParts(files) {
14035
14077
  }
14036
14078
  return Promise.all(
14037
14079
  Array.from(files).map(async (file) => {
14038
- const { name: name22, type } = file;
14080
+ const { name: name23, type } = file;
14039
14081
  const dataUrl = await new Promise((resolve3, reject) => {
14040
14082
  const reader = new FileReader();
14041
14083
  reader.onload = (readerEvent) => {
14042
- var _a22;
14043
- resolve3((_a22 = readerEvent.target) == null ? void 0 : _a22.result);
14084
+ var _a23;
14085
+ resolve3((_a23 = readerEvent.target) == null ? void 0 : _a23.result);
14044
14086
  };
14045
14087
  reader.onerror = (error) => reject(error);
14046
14088
  reader.readAsDataURL(file);
@@ -14048,7 +14090,7 @@ async function convertFileListToFileUIParts(files) {
14048
14090
  return {
14049
14091
  type: "file",
14050
14092
  mediaType: type,
14051
- filename: name22,
14093
+ filename: name23,
14052
14094
  url: dataUrl
14053
14095
  };
14054
14096
  })
@@ -14082,7 +14124,7 @@ var HttpChatTransport = class {
14082
14124
  abortSignal,
14083
14125
  ...options
14084
14126
  }) {
14085
- var _a22, _b, _c, _d, _e;
14127
+ var _a23, _b, _c, _d, _e;
14086
14128
  const resolvedBody = await (0, import_provider_utils40.resolve)(this.body);
14087
14129
  const resolvedHeaders = await (0, import_provider_utils40.resolve)(this.headers);
14088
14130
  const resolvedCredentials = await (0, import_provider_utils40.resolve)(this.credentials);
@@ -14090,7 +14132,7 @@ var HttpChatTransport = class {
14090
14132
  ...(0, import_provider_utils40.normalizeHeaders)(resolvedHeaders),
14091
14133
  ...(0, import_provider_utils40.normalizeHeaders)(options.headers)
14092
14134
  };
14093
- const preparedRequest = await ((_a22 = this.prepareSendMessagesRequest) == null ? void 0 : _a22.call(this, {
14135
+ const preparedRequest = await ((_a23 = this.prepareSendMessagesRequest) == null ? void 0 : _a23.call(this, {
14094
14136
  api: this.api,
14095
14137
  id: options.chatId,
14096
14138
  messages: options.messages,
@@ -14134,7 +14176,7 @@ var HttpChatTransport = class {
14134
14176
  return this.processResponseStream(response.body);
14135
14177
  }
14136
14178
  async reconnectToStream(options) {
14137
- var _a22, _b, _c, _d, _e;
14179
+ var _a23, _b, _c, _d, _e;
14138
14180
  const resolvedBody = await (0, import_provider_utils40.resolve)(this.body);
14139
14181
  const resolvedHeaders = await (0, import_provider_utils40.resolve)(this.headers);
14140
14182
  const resolvedCredentials = await (0, import_provider_utils40.resolve)(this.credentials);
@@ -14142,7 +14184,7 @@ var HttpChatTransport = class {
14142
14184
  ...(0, import_provider_utils40.normalizeHeaders)(resolvedHeaders),
14143
14185
  ...(0, import_provider_utils40.normalizeHeaders)(options.headers)
14144
14186
  };
14145
- const preparedRequest = await ((_a22 = this.prepareReconnectToStreamRequest) == null ? void 0 : _a22.call(this, {
14187
+ const preparedRequest = await ((_a23 = this.prepareReconnectToStreamRequest) == null ? void 0 : _a23.call(this, {
14146
14188
  api: this.api,
14147
14189
  id: options.chatId,
14148
14190
  body: { ...resolvedBody, ...options.body },
@@ -14222,11 +14264,11 @@ var AbstractChat = class {
14222
14264
  * If a messageId is provided, the message will be replaced.
14223
14265
  */
14224
14266
  this.sendMessage = async (message, options) => {
14225
- var _a22, _b, _c, _d;
14267
+ var _a23, _b, _c, _d;
14226
14268
  if (message == null) {
14227
14269
  await this.makeRequest({
14228
14270
  trigger: "submit-message",
14229
- messageId: (_a22 = this.lastMessage) == null ? void 0 : _a22.id,
14271
+ messageId: (_a23 = this.lastMessage) == null ? void 0 : _a23.id,
14230
14272
  ...options
14231
14273
  });
14232
14274
  return;
@@ -14336,11 +14378,11 @@ var AbstractChat = class {
14336
14378
  }
14337
14379
  if (this.status !== "streaming" && this.status !== "submitted" && this.sendAutomaticallyWhen) {
14338
14380
  this.shouldSendAutomatically().then((shouldSend) => {
14339
- var _a22;
14381
+ var _a23;
14340
14382
  if (shouldSend) {
14341
14383
  this.makeRequest({
14342
14384
  trigger: "submit-message",
14343
- messageId: (_a22 = this.lastMessage) == null ? void 0 : _a22.id,
14385
+ messageId: (_a23 = this.lastMessage) == null ? void 0 : _a23.id,
14344
14386
  ...options
14345
14387
  });
14346
14388
  }
@@ -14366,11 +14408,11 @@ var AbstractChat = class {
14366
14408
  }
14367
14409
  if (this.status !== "streaming" && this.status !== "submitted" && this.sendAutomaticallyWhen) {
14368
14410
  this.shouldSendAutomatically().then((shouldSend) => {
14369
- var _a22;
14411
+ var _a23;
14370
14412
  if (shouldSend) {
14371
14413
  this.makeRequest({
14372
14414
  trigger: "submit-message",
14373
- messageId: (_a22 = this.lastMessage) == null ? void 0 : _a22.id,
14415
+ messageId: (_a23 = this.lastMessage) == null ? void 0 : _a23.id,
14374
14416
  ...options
14375
14417
  });
14376
14418
  }
@@ -14383,8 +14425,8 @@ var AbstractChat = class {
14383
14425
  * Abort the current request immediately, keep the generated tokens if any.
14384
14426
  */
14385
14427
  this.stop = async () => {
14386
- var _a22, _b;
14387
- (_a22 = this.activeResumeRequest) == null ? void 0 : _a22.abortController.abort();
14428
+ var _a23, _b;
14429
+ (_a23 = this.activeResumeRequest) == null ? void 0 : _a23.abortController.abort();
14388
14430
  (_b = this.activeResponse) == null ? void 0 : _b.abortController.abort();
14389
14431
  };
14390
14432
  this.id = id;
@@ -14449,11 +14491,11 @@ var AbstractChat = class {
14449
14491
  body,
14450
14492
  messageId
14451
14493
  }) {
14452
- var _a22, _b, _c;
14494
+ var _a23, _b, _c;
14453
14495
  const abortController = new AbortController();
14454
14496
  const activeResumeRequest = trigger === "resume-stream" ? { abortController } : void 0;
14455
14497
  if (activeResumeRequest) {
14456
- (_a22 = this.activeResumeRequest) == null ? void 0 : _a22.abortController.abort();
14498
+ (_a23 = this.activeResumeRequest) == null ? void 0 : _a23.abortController.abort();
14457
14499
  this.activeResumeRequest = activeResumeRequest;
14458
14500
  }
14459
14501
  const isCurrentRequest = () => activeResumeRequest == null || this.activeResumeRequest === activeResumeRequest;
@@ -14549,14 +14591,14 @@ var AbstractChat = class {
14549
14591
  return job({
14550
14592
  state: response.state,
14551
14593
  write: ({ updateStatus = true } = {}) => {
14552
- var _a23;
14594
+ var _a24;
14553
14595
  if (response.abortController.signal.aborted) {
14554
14596
  return;
14555
14597
  }
14556
14598
  if (updateStatus) {
14557
14599
  this.setStatus({ status: "streaming" });
14558
14600
  }
14559
- const replaceLastMessage = response.state.message.id === ((_a23 = this.lastMessage) == null ? void 0 : _a23.id);
14601
+ const replaceLastMessage = response.state.message.id === ((_a24 = this.lastMessage) == null ? void 0 : _a24.id);
14560
14602
  if (replaceLastMessage) {
14561
14603
  this.state.replaceMessage(
14562
14604
  this.state.messages.length - 1,
@@ -14807,6 +14849,7 @@ var TextStreamChatTransport = class extends HttpChatTransport {
14807
14849
  TooManyEmbeddingValuesForCallError,
14808
14850
  ToolCallNotFoundForApprovalError,
14809
14851
  ToolCallRepairError,
14852
+ ToolChoiceViolationError,
14810
14853
  ToolLoopAgent,
14811
14854
  TypeValidationError,
14812
14855
  UIMessageStreamError,