ai 5.0.0-canary.2 → 5.0.0-canary.4

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
@@ -62,7 +62,7 @@ __export(streams_exports, {
62
62
  cosineSimilarity: () => cosineSimilarity,
63
63
  createDataStream: () => createDataStream,
64
64
  createDataStreamResponse: () => createDataStreamResponse,
65
- createIdGenerator: () => import_provider_utils15.createIdGenerator,
65
+ createIdGenerator: () => import_provider_utils16.createIdGenerator,
66
66
  createProviderRegistry: () => createProviderRegistry,
67
67
  customProvider: () => customProvider,
68
68
  defaultSettingsMiddleware: () => defaultSettingsMiddleware,
@@ -72,10 +72,11 @@ __export(streams_exports, {
72
72
  experimental_createProviderRegistry: () => experimental_createProviderRegistry,
73
73
  experimental_customProvider: () => experimental_customProvider,
74
74
  experimental_generateImage: () => generateImage,
75
+ experimental_transcribe: () => transcribe,
75
76
  experimental_wrapLanguageModel: () => experimental_wrapLanguageModel,
76
77
  extractReasoningMiddleware: () => extractReasoningMiddleware,
77
78
  formatDataStreamPart: () => import_ui_utils11.formatDataStreamPart,
78
- generateId: () => import_provider_utils15.generateId,
79
+ generateId: () => import_provider_utils16.generateId,
79
80
  generateObject: () => generateObject,
80
81
  generateText: () => generateText,
81
82
  jsonSchema: () => import_ui_utils11.jsonSchema,
@@ -95,7 +96,7 @@ __export(streams_exports, {
95
96
  module.exports = __toCommonJS(streams_exports);
96
97
 
97
98
  // core/index.ts
98
- var import_provider_utils15 = require("@ai-sdk/provider-utils");
99
+ var import_provider_utils16 = require("@ai-sdk/provider-utils");
99
100
  var import_ui_utils11 = require("@ai-sdk/ui-utils");
100
101
 
101
102
  // core/data-stream/create-data-stream.ts
@@ -910,12 +911,12 @@ var import_provider_utils2 = require("@ai-sdk/provider-utils");
910
911
  var DefaultGeneratedFile = class {
911
912
  constructor({
912
913
  data,
913
- mimeType
914
+ mediaType
914
915
  }) {
915
916
  const isUint8Array = data instanceof Uint8Array;
916
917
  this.base64Data = isUint8Array ? void 0 : data;
917
918
  this.uint8ArrayData = isUint8Array ? data : void 0;
918
- this.mimeType = mimeType;
919
+ this.mediaType = mediaType;
919
920
  }
920
921
  // lazy conversion with caching to avoid unnecessary conversion overhead:
921
922
  get base64() {
@@ -939,45 +940,45 @@ var DefaultGeneratedFileWithType = class extends DefaultGeneratedFile {
939
940
  }
940
941
  };
941
942
 
942
- // core/util/detect-image-mimetype.ts
943
- var mimeTypeSignatures = [
943
+ // core/util/detect-media-type.ts
944
+ var imageMediaTypeSignatures = [
944
945
  {
945
- mimeType: "image/gif",
946
+ mediaType: "image/gif",
946
947
  bytesPrefix: [71, 73, 70],
947
948
  base64Prefix: "R0lG"
948
949
  },
949
950
  {
950
- mimeType: "image/png",
951
+ mediaType: "image/png",
951
952
  bytesPrefix: [137, 80, 78, 71],
952
953
  base64Prefix: "iVBORw"
953
954
  },
954
955
  {
955
- mimeType: "image/jpeg",
956
+ mediaType: "image/jpeg",
956
957
  bytesPrefix: [255, 216],
957
958
  base64Prefix: "/9j/"
958
959
  },
959
960
  {
960
- mimeType: "image/webp",
961
+ mediaType: "image/webp",
961
962
  bytesPrefix: [82, 73, 70, 70],
962
963
  base64Prefix: "UklGRg"
963
964
  },
964
965
  {
965
- mimeType: "image/bmp",
966
+ mediaType: "image/bmp",
966
967
  bytesPrefix: [66, 77],
967
968
  base64Prefix: "Qk"
968
969
  },
969
970
  {
970
- mimeType: "image/tiff",
971
+ mediaType: "image/tiff",
971
972
  bytesPrefix: [73, 73, 42, 0],
972
973
  base64Prefix: "SUkqAA"
973
974
  },
974
975
  {
975
- mimeType: "image/tiff",
976
+ mediaType: "image/tiff",
976
977
  bytesPrefix: [77, 77, 0, 42],
977
978
  base64Prefix: "TU0AKg"
978
979
  },
979
980
  {
980
- mimeType: "image/avif",
981
+ mediaType: "image/avif",
981
982
  bytesPrefix: [
982
983
  0,
983
984
  0,
@@ -995,7 +996,7 @@ var mimeTypeSignatures = [
995
996
  base64Prefix: "AAAAIGZ0eXBhdmlm"
996
997
  },
997
998
  {
998
- mimeType: "image/heic",
999
+ mediaType: "image/heic",
999
1000
  bytesPrefix: [
1000
1001
  0,
1001
1002
  0,
@@ -1013,10 +1014,45 @@ var mimeTypeSignatures = [
1013
1014
  base64Prefix: "AAAAIGZ0eXBoZWlj"
1014
1015
  }
1015
1016
  ];
1016
- function detectImageMimeType(image) {
1017
- for (const signature of mimeTypeSignatures) {
1018
- if (typeof image === "string" ? image.startsWith(signature.base64Prefix) : image.length >= signature.bytesPrefix.length && signature.bytesPrefix.every((byte, index) => image[index] === byte)) {
1019
- return signature.mimeType;
1017
+ var audioMediaTypeSignatures = [
1018
+ {
1019
+ mediaType: "audio/mpeg",
1020
+ bytesPrefix: [255, 251],
1021
+ base64Prefix: "//s="
1022
+ },
1023
+ {
1024
+ mediaType: "audio/wav",
1025
+ bytesPrefix: [82, 73, 70, 70],
1026
+ base64Prefix: "UklGR"
1027
+ },
1028
+ {
1029
+ mediaType: "audio/ogg",
1030
+ bytesPrefix: [79, 103, 103, 83],
1031
+ base64Prefix: "T2dnUw"
1032
+ },
1033
+ {
1034
+ mediaType: "audio/flac",
1035
+ bytesPrefix: [102, 76, 97, 67],
1036
+ base64Prefix: "ZkxhQw"
1037
+ },
1038
+ {
1039
+ mediaType: "audio/aac",
1040
+ bytesPrefix: [64, 21, 0, 0],
1041
+ base64Prefix: "QBUA"
1042
+ },
1043
+ {
1044
+ mediaType: "audio/mp4",
1045
+ bytesPrefix: [102, 116, 121, 112],
1046
+ base64Prefix: "ZnR5cA"
1047
+ }
1048
+ ];
1049
+ function detectMediaType({
1050
+ data,
1051
+ signatures
1052
+ }) {
1053
+ for (const signature of signatures) {
1054
+ if (typeof data === "string" ? data.startsWith(signature.base64Prefix) : data.length >= signature.bytesPrefix.length && signature.bytesPrefix.every((byte, index) => data[index] === byte)) {
1055
+ return signature.mediaType;
1020
1056
  }
1021
1057
  }
1022
1058
  return void 0;
@@ -1072,7 +1108,10 @@ async function generateImage({
1072
1108
  var _a18;
1073
1109
  return new DefaultGeneratedFile({
1074
1110
  data: image,
1075
- mimeType: (_a18 = detectImageMimeType(image)) != null ? _a18 : "image/png"
1111
+ mediaType: (_a18 = detectMediaType({
1112
+ data: image,
1113
+ signatures: imageMediaTypeSignatures
1114
+ })) != null ? _a18 : "image/png"
1076
1115
  });
1077
1116
  }
1078
1117
  )
@@ -1098,7 +1137,7 @@ var DefaultGenerateImageResult = class {
1098
1137
 
1099
1138
  // core/generate-object/generate-object.ts
1100
1139
  var import_provider12 = require("@ai-sdk/provider");
1101
- var import_provider_utils6 = require("@ai-sdk/provider-utils");
1140
+ var import_provider_utils7 = require("@ai-sdk/provider-utils");
1102
1141
 
1103
1142
  // errors/no-object-generated-error.ts
1104
1143
  var import_provider5 = require("@ai-sdk/provider");
@@ -1128,6 +1167,9 @@ var NoObjectGeneratedError = class extends import_provider5.AISDKError {
1128
1167
  };
1129
1168
  _a4 = symbol4;
1130
1169
 
1170
+ // core/prompt/convert-to-language-model-prompt.ts
1171
+ var import_provider_utils4 = require("@ai-sdk/provider-utils");
1172
+
1131
1173
  // util/download-error.ts
1132
1174
  var import_provider6 = require("@ai-sdk/provider");
1133
1175
  var name5 = "AI_DownloadError";
@@ -1169,7 +1211,7 @@ async function download({ url }) {
1169
1211
  }
1170
1212
  return {
1171
1213
  data: new Uint8Array(await response.arrayBuffer()),
1172
- mimeType: (_a17 = response.headers.get("content-type")) != null ? _a17 : void 0
1214
+ mediaType: (_a17 = response.headers.get("content-type")) != null ? _a17 : void 0
1173
1215
  };
1174
1216
  } catch (error) {
1175
1217
  if (DownloadError.isInstance(error)) {
@@ -1282,12 +1324,12 @@ function splitDataUrl(dataUrl) {
1282
1324
  try {
1283
1325
  const [header, base64Content] = dataUrl.split(",");
1284
1326
  return {
1285
- mimeType: header.split(";")[0].split(":")[1],
1327
+ mediaType: header.split(";")[0].split(":")[1],
1286
1328
  base64Content
1287
1329
  };
1288
1330
  } catch (error) {
1289
1331
  return {
1290
- mimeType: void 0,
1332
+ mediaType: void 0,
1291
1333
  base64Content: void 0
1292
1334
  };
1293
1335
  }
@@ -1321,7 +1363,7 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
1321
1363
  return {
1322
1364
  role: "system",
1323
1365
  content: message.content,
1324
- providerMetadata: (_a17 = message.providerOptions) != null ? _a17 : message.experimental_providerMetadata
1366
+ providerOptions: (_a17 = message.providerOptions) != null ? _a17 : message.experimental_providerMetadata
1325
1367
  };
1326
1368
  }
1327
1369
  case "user": {
@@ -1329,13 +1371,13 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
1329
1371
  return {
1330
1372
  role: "user",
1331
1373
  content: [{ type: "text", text: message.content }],
1332
- providerMetadata: (_b = message.providerOptions) != null ? _b : message.experimental_providerMetadata
1374
+ providerOptions: (_b = message.providerOptions) != null ? _b : message.experimental_providerMetadata
1333
1375
  };
1334
1376
  }
1335
1377
  return {
1336
1378
  role: "user",
1337
1379
  content: message.content.map((part) => convertPartToLanguageModelPart(part, downloadedAssets)).filter((part) => part.type !== "text" || part.text !== ""),
1338
- providerMetadata: (_c = message.providerOptions) != null ? _c : message.experimental_providerMetadata
1380
+ providerOptions: (_c = message.providerOptions) != null ? _c : message.experimental_providerMetadata
1339
1381
  };
1340
1382
  }
1341
1383
  case "assistant": {
@@ -1343,7 +1385,7 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
1343
1385
  return {
1344
1386
  role: "assistant",
1345
1387
  content: [{ type: "text", text: message.content }],
1346
- providerMetadata: (_d = message.providerOptions) != null ? _d : message.experimental_providerMetadata
1388
+ providerOptions: (_d = message.providerOptions) != null ? _d : message.experimental_providerMetadata
1347
1389
  };
1348
1390
  }
1349
1391
  return {
@@ -1352,7 +1394,7 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
1352
1394
  // remove empty text parts:
1353
1395
  (part) => part.type !== "text" || part.text !== ""
1354
1396
  ).map((part) => {
1355
- var _a18;
1397
+ var _a18, _b2;
1356
1398
  const providerOptions = (_a18 = part.providerOptions) != null ? _a18 : part.experimental_providerMetadata;
1357
1399
  switch (part.type) {
1358
1400
  case "file": {
@@ -1360,8 +1402,8 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
1360
1402
  type: "file",
1361
1403
  data: part.data instanceof URL ? part.data : convertDataContentToBase64String(part.data),
1362
1404
  filename: part.filename,
1363
- mimeType: part.mimeType,
1364
- providerMetadata: providerOptions
1405
+ mediaType: (_b2 = part.mediaType) != null ? _b2 : part.mimeType,
1406
+ providerOptions
1365
1407
  };
1366
1408
  }
1367
1409
  case "reasoning": {
@@ -1369,21 +1411,21 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
1369
1411
  type: "reasoning",
1370
1412
  text: part.text,
1371
1413
  signature: part.signature,
1372
- providerMetadata: providerOptions
1414
+ providerOptions
1373
1415
  };
1374
1416
  }
1375
1417
  case "redacted-reasoning": {
1376
1418
  return {
1377
1419
  type: "redacted-reasoning",
1378
1420
  data: part.data,
1379
- providerMetadata: providerOptions
1421
+ providerOptions
1380
1422
  };
1381
1423
  }
1382
1424
  case "text": {
1383
1425
  return {
1384
1426
  type: "text",
1385
1427
  text: part.text,
1386
- providerMetadata: providerOptions
1428
+ providerOptions
1387
1429
  };
1388
1430
  }
1389
1431
  case "tool-call": {
@@ -1392,12 +1434,12 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
1392
1434
  toolCallId: part.toolCallId,
1393
1435
  toolName: part.toolName,
1394
1436
  args: part.args,
1395
- providerMetadata: providerOptions
1437
+ providerOptions
1396
1438
  };
1397
1439
  }
1398
1440
  }
1399
1441
  }),
1400
- providerMetadata: (_e = message.providerOptions) != null ? _e : message.experimental_providerMetadata
1442
+ providerOptions: (_e = message.providerOptions) != null ? _e : message.experimental_providerMetadata
1401
1443
  };
1402
1444
  }
1403
1445
  case "tool": {
@@ -1412,10 +1454,10 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
1412
1454
  result: part.result,
1413
1455
  content: part.experimental_content,
1414
1456
  isError: part.isError,
1415
- providerMetadata: (_a18 = part.providerOptions) != null ? _a18 : part.experimental_providerMetadata
1457
+ providerOptions: (_a18 = part.providerOptions) != null ? _a18 : part.experimental_providerMetadata
1416
1458
  };
1417
1459
  }),
1418
- providerMetadata: (_f = message.providerOptions) != null ? _f : message.experimental_providerMetadata
1460
+ providerOptions: (_f = message.providerOptions) != null ? _f : message.experimental_providerMetadata
1419
1461
  };
1420
1462
  }
1421
1463
  default: {
@@ -1448,15 +1490,15 @@ async function downloadAssets(messages, downloadImplementation, modelSupportsIma
1448
1490
  );
1449
1491
  }
1450
1492
  function convertPartToLanguageModelPart(part, downloadedAssets) {
1451
- var _a17, _b, _c, _d;
1493
+ var _a17, _b, _c, _d, _e;
1452
1494
  if (part.type === "text") {
1453
1495
  return {
1454
1496
  type: "text",
1455
1497
  text: part.text,
1456
- providerMetadata: (_a17 = part.providerOptions) != null ? _a17 : part.experimental_providerMetadata
1498
+ providerOptions: (_a17 = part.providerOptions) != null ? _a17 : part.experimental_providerMetadata
1457
1499
  };
1458
1500
  }
1459
- let mimeType = part.mimeType;
1501
+ let mediaType = (_b = part.mediaType) != null ? _b : part.mimeType;
1460
1502
  let data;
1461
1503
  let content;
1462
1504
  let normalizedData;
@@ -1478,19 +1520,19 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
1478
1520
  }
1479
1521
  if (content instanceof URL) {
1480
1522
  if (content.protocol === "data:") {
1481
- const { mimeType: dataUrlMimeType, base64Content } = splitDataUrl(
1523
+ const { mediaType: dataUrlMediaType, base64Content } = splitDataUrl(
1482
1524
  content.toString()
1483
1525
  );
1484
- if (dataUrlMimeType == null || base64Content == null) {
1526
+ if (dataUrlMediaType == null || base64Content == null) {
1485
1527
  throw new Error(`Invalid data URL format in part ${type}`);
1486
1528
  }
1487
- mimeType = dataUrlMimeType;
1529
+ mediaType = dataUrlMediaType;
1488
1530
  normalizedData = convertDataContentToUint8Array(base64Content);
1489
1531
  } else {
1490
1532
  const downloadedFile = downloadedAssets[content.toString()];
1491
1533
  if (downloadedFile) {
1492
1534
  normalizedData = downloadedFile.data;
1493
- mimeType != null ? mimeType : mimeType = downloadedFile.mimeType;
1535
+ mediaType != null ? mediaType : mediaType = downloadedFile.mediaType;
1494
1536
  } else {
1495
1537
  normalizedData = content;
1496
1538
  }
@@ -1501,25 +1543,30 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
1501
1543
  switch (type) {
1502
1544
  case "image": {
1503
1545
  if (normalizedData instanceof Uint8Array) {
1504
- mimeType = (_b = detectImageMimeType(normalizedData)) != null ? _b : mimeType;
1546
+ mediaType = (_c = detectMediaType({
1547
+ data: normalizedData,
1548
+ signatures: imageMediaTypeSignatures
1549
+ })) != null ? _c : mediaType;
1505
1550
  }
1506
1551
  return {
1507
- type: "image",
1508
- image: normalizedData,
1509
- mimeType,
1510
- providerMetadata: (_c = part.providerOptions) != null ? _c : part.experimental_providerMetadata
1552
+ type: "file",
1553
+ mediaType: mediaType != null ? mediaType : "image/*",
1554
+ // any image
1555
+ filename: void 0,
1556
+ data: normalizedData instanceof Uint8Array ? (0, import_provider_utils4.convertUint8ArrayToBase64)(normalizedData) : normalizedData,
1557
+ providerOptions: (_d = part.providerOptions) != null ? _d : part.experimental_providerMetadata
1511
1558
  };
1512
1559
  }
1513
1560
  case "file": {
1514
- if (mimeType == null) {
1515
- throw new Error(`Mime type is missing for file part`);
1561
+ if (mediaType == null) {
1562
+ throw new Error(`Media type is missing for file part`);
1516
1563
  }
1517
1564
  return {
1518
1565
  type: "file",
1519
- data: normalizedData instanceof Uint8Array ? convertDataContentToBase64String(normalizedData) : normalizedData,
1566
+ mediaType,
1520
1567
  filename: part.filename,
1521
- mimeType,
1522
- providerMetadata: (_d = part.providerOptions) != null ? _d : part.experimental_providerMetadata
1568
+ data: normalizedData instanceof Uint8Array ? convertDataContentToBase64String(normalizedData) : normalizedData,
1569
+ providerOptions: (_e = part.providerOptions) != null ? _e : part.experimental_providerMetadata
1523
1570
  };
1524
1571
  }
1525
1572
  }
@@ -1621,7 +1668,7 @@ function prepareCallSettings({
1621
1668
 
1622
1669
  // core/prompt/standardize-prompt.ts
1623
1670
  var import_provider10 = require("@ai-sdk/provider");
1624
- var import_provider_utils4 = require("@ai-sdk/provider-utils");
1671
+ var import_provider_utils5 = require("@ai-sdk/provider-utils");
1625
1672
  var import_zod7 = require("zod");
1626
1673
 
1627
1674
  // core/prompt/attachments-to-parts.ts
@@ -1649,7 +1696,7 @@ function attachmentsToParts(attachments) {
1649
1696
  parts.push({
1650
1697
  type: "file",
1651
1698
  data: url,
1652
- mimeType: attachment.contentType
1699
+ mediaType: attachment.contentType
1653
1700
  });
1654
1701
  }
1655
1702
  break;
@@ -1657,14 +1704,14 @@ function attachmentsToParts(attachments) {
1657
1704
  case "data:": {
1658
1705
  let header;
1659
1706
  let base64Content;
1660
- let mimeType;
1707
+ let mediaType;
1661
1708
  try {
1662
1709
  [header, base64Content] = attachment.url.split(",");
1663
- mimeType = header.split(";")[0].split(":")[1];
1710
+ mediaType = header.split(";")[0].split(":")[1];
1664
1711
  } catch (error) {
1665
1712
  throw new Error(`Error processing data URL: ${attachment.url}`);
1666
1713
  }
1667
- if (mimeType == null || base64Content == null) {
1714
+ if (mediaType == null || base64Content == null) {
1668
1715
  throw new Error(`Invalid data URL format: ${attachment.url}`);
1669
1716
  }
1670
1717
  if ((_b = attachment.contentType) == null ? void 0 : _b.startsWith("image/")) {
@@ -1688,7 +1735,7 @@ function attachmentsToParts(attachments) {
1688
1735
  parts.push({
1689
1736
  type: "file",
1690
1737
  data: base64Content,
1691
- mimeType: attachment.contentType
1738
+ mediaType: attachment.contentType
1692
1739
  });
1693
1740
  }
1694
1741
  break;
@@ -1763,14 +1810,23 @@ function convertToCoreMessages(messages, options) {
1763
1810
  case "assistant": {
1764
1811
  if (message.parts != null) {
1765
1812
  let processBlock2 = function() {
1813
+ var _a18;
1766
1814
  const content2 = [];
1767
1815
  for (const part of block) {
1768
1816
  switch (part.type) {
1769
- case "file":
1770
1817
  case "text": {
1771
1818
  content2.push(part);
1772
1819
  break;
1773
1820
  }
1821
+ case "file": {
1822
+ content2.push({
1823
+ type: "file",
1824
+ data: part.data,
1825
+ mediaType: (_a18 = part.mediaType) != null ? _a18 : part.mimeType
1826
+ // TODO migration, remove
1827
+ });
1828
+ break;
1829
+ }
1774
1830
  case "reasoning": {
1775
1831
  for (const detail of part.details) {
1776
1832
  switch (detail.type) {
@@ -2027,7 +2083,7 @@ var toolResultContentSchema = import_zod4.z.array(
2027
2083
  import_zod4.z.object({
2028
2084
  type: import_zod4.z.literal("image"),
2029
2085
  data: import_zod4.z.string(),
2030
- mimeType: import_zod4.z.string().optional()
2086
+ mediaType: import_zod4.z.string().optional()
2031
2087
  })
2032
2088
  ])
2033
2089
  );
@@ -2042,6 +2098,7 @@ var textPartSchema = import_zod5.z.object({
2042
2098
  var imagePartSchema = import_zod5.z.object({
2043
2099
  type: import_zod5.z.literal("image"),
2044
2100
  image: import_zod5.z.union([dataContentSchema, import_zod5.z.instanceof(URL)]),
2101
+ mediaType: import_zod5.z.string().optional(),
2045
2102
  mimeType: import_zod5.z.string().optional(),
2046
2103
  providerOptions: providerMetadataSchema.optional(),
2047
2104
  experimental_providerMetadata: providerMetadataSchema.optional()
@@ -2050,7 +2107,8 @@ var filePartSchema = import_zod5.z.object({
2050
2107
  type: import_zod5.z.literal("file"),
2051
2108
  data: import_zod5.z.union([dataContentSchema, import_zod5.z.instanceof(URL)]),
2052
2109
  filename: import_zod5.z.string().optional(),
2053
- mimeType: import_zod5.z.string(),
2110
+ mediaType: import_zod5.z.string(),
2111
+ mimeType: import_zod5.z.string().optional(),
2054
2112
  providerOptions: providerMetadataSchema.optional(),
2055
2113
  experimental_providerMetadata: providerMetadataSchema.optional()
2056
2114
  });
@@ -2189,7 +2247,7 @@ function standardizePrompt({
2189
2247
  message: "messages must not be empty"
2190
2248
  });
2191
2249
  }
2192
- const validationResult = (0, import_provider_utils4.safeValidateTypes)({
2250
+ const validationResult = (0, import_provider_utils5.safeValidateTypes)({
2193
2251
  value: messages,
2194
2252
  schema: import_zod7.z.array(coreMessageSchema)
2195
2253
  });
@@ -2250,7 +2308,7 @@ function injectJsonInstruction({
2250
2308
 
2251
2309
  // core/generate-object/output-strategy.ts
2252
2310
  var import_provider11 = require("@ai-sdk/provider");
2253
- var import_provider_utils5 = require("@ai-sdk/provider-utils");
2311
+ var import_provider_utils6 = require("@ai-sdk/provider-utils");
2254
2312
  var import_ui_utils2 = require("@ai-sdk/ui-utils");
2255
2313
 
2256
2314
  // core/util/async-iterable-stream.ts
@@ -2307,7 +2365,7 @@ var objectOutputStrategy = (schema) => ({
2307
2365
  };
2308
2366
  },
2309
2367
  validateFinalResult(value) {
2310
- return (0, import_provider_utils5.safeValidateTypes)({ value, schema });
2368
+ return (0, import_provider_utils6.safeValidateTypes)({ value, schema });
2311
2369
  },
2312
2370
  createElementStream() {
2313
2371
  throw new import_provider11.UnsupportedFunctionalityError({
@@ -2346,7 +2404,7 @@ var arrayOutputStrategy = (schema) => {
2346
2404
  const resultArray = [];
2347
2405
  for (let i = 0; i < inputArray.length; i++) {
2348
2406
  const element = inputArray[i];
2349
- const result = (0, import_provider_utils5.safeValidateTypes)({ value: element, schema });
2407
+ const result = (0, import_provider_utils6.safeValidateTypes)({ value: element, schema });
2350
2408
  if (i === inputArray.length - 1 && !isFinalDelta) {
2351
2409
  continue;
2352
2410
  }
@@ -2387,7 +2445,7 @@ var arrayOutputStrategy = (schema) => {
2387
2445
  }
2388
2446
  const inputArray = value.elements;
2389
2447
  for (const element of inputArray) {
2390
- const result = (0, import_provider_utils5.safeValidateTypes)({ value: element, schema });
2448
+ const result = (0, import_provider_utils6.safeValidateTypes)({ value: element, schema });
2391
2449
  if (!result.success) {
2392
2450
  return result;
2393
2451
  }
@@ -2620,7 +2678,7 @@ function validateObjectGenerationInput({
2620
2678
  }
2621
2679
 
2622
2680
  // core/generate-object/generate-object.ts
2623
- var originalGenerateId = (0, import_provider_utils6.createIdGenerator)({ prefix: "aiobj", size: 24 });
2681
+ var originalGenerateId = (0, import_provider_utils7.createIdGenerator)({ prefix: "aiobj", size: 24 });
2624
2682
  async function generateObject({
2625
2683
  model,
2626
2684
  enum: enumValues,
@@ -2758,8 +2816,8 @@ async function generateObject({
2758
2816
  fn: async (span2) => {
2759
2817
  var _a18, _b2, _c2, _d2, _e, _f;
2760
2818
  const result2 = await model.doGenerate({
2761
- mode: {
2762
- type: "object-json",
2819
+ responseFormat: {
2820
+ type: "json",
2763
2821
  schema: outputStrategy.jsonSchema,
2764
2822
  name: schemaName,
2765
2823
  description: schemaDescription
@@ -2767,7 +2825,7 @@ async function generateObject({
2767
2825
  ...prepareCallSettings(settings),
2768
2826
  inputFormat: standardizedPrompt.type,
2769
2827
  prompt: promptMessages,
2770
- providerMetadata: providerOptions,
2828
+ providerOptions,
2771
2829
  abortSignal,
2772
2830
  headers
2773
2831
  });
@@ -2864,19 +2922,19 @@ async function generateObject({
2864
2922
  fn: async (span2) => {
2865
2923
  var _a18, _b2, _c2, _d2, _e, _f, _g, _h;
2866
2924
  const result2 = await model.doGenerate({
2867
- mode: {
2868
- type: "object-tool",
2869
- tool: {
2925
+ tools: [
2926
+ {
2870
2927
  type: "function",
2871
2928
  name: schemaName != null ? schemaName : "json",
2872
2929
  description: schemaDescription != null ? schemaDescription : "Respond with a JSON object.",
2873
2930
  parameters: outputStrategy.jsonSchema
2874
2931
  }
2875
- },
2932
+ ],
2933
+ toolChoice: { type: "required" },
2876
2934
  ...prepareCallSettings(settings),
2877
2935
  inputFormat,
2878
2936
  prompt: promptMessages,
2879
- providerMetadata: providerOptions,
2937
+ providerOptions,
2880
2938
  abortSignal,
2881
2939
  headers
2882
2940
  });
@@ -2940,7 +2998,7 @@ async function generateObject({
2940
2998
  }
2941
2999
  }
2942
3000
  function processResult(result2) {
2943
- const parseResult = (0, import_provider_utils6.safeParseJSON)({ text: result2 });
3001
+ const parseResult = (0, import_provider_utils7.safeParseJSON)({ text: result2 });
2944
3002
  if (!parseResult.success) {
2945
3003
  throw new NoObjectGeneratedError({
2946
3004
  message: "No object generated: could not parse the response.",
@@ -3042,7 +3100,7 @@ var DefaultGenerateObjectResult = class {
3042
3100
  };
3043
3101
 
3044
3102
  // core/generate-object/stream-object.ts
3045
- var import_provider_utils7 = require("@ai-sdk/provider-utils");
3103
+ var import_provider_utils8 = require("@ai-sdk/provider-utils");
3046
3104
  var import_ui_utils3 = require("@ai-sdk/ui-utils");
3047
3105
 
3048
3106
  // util/delayed-promise.ts
@@ -3187,7 +3245,7 @@ function now() {
3187
3245
  }
3188
3246
 
3189
3247
  // core/generate-object/stream-object.ts
3190
- var originalGenerateId2 = (0, import_provider_utils7.createIdGenerator)({ prefix: "aiobj", size: 24 });
3248
+ var originalGenerateId2 = (0, import_provider_utils8.createIdGenerator)({ prefix: "aiobj", size: 24 });
3191
3249
  function streamObject({
3192
3250
  model,
3193
3251
  schema: inputSchema,
@@ -3339,8 +3397,8 @@ var DefaultStreamObjectResult = class {
3339
3397
  tools: void 0
3340
3398
  });
3341
3399
  callOptions = {
3342
- mode: {
3343
- type: "object-json",
3400
+ responseFormat: {
3401
+ type: "json",
3344
3402
  schema: outputStrategy.jsonSchema,
3345
3403
  name: schemaName,
3346
3404
  description: schemaDescription
@@ -3353,7 +3411,7 @@ var DefaultStreamObjectResult = class {
3353
3411
  modelSupportsUrl: (_a17 = model.supportsUrl) == null ? void 0 : _a17.bind(model)
3354
3412
  // support 'this' context
3355
3413
  }),
3356
- providerMetadata: providerOptions,
3414
+ providerOptions,
3357
3415
  abortSignal,
3358
3416
  headers
3359
3417
  };
@@ -3379,15 +3437,15 @@ var DefaultStreamObjectResult = class {
3379
3437
  tools: void 0
3380
3438
  });
3381
3439
  callOptions = {
3382
- mode: {
3383
- type: "object-tool",
3384
- tool: {
3440
+ tools: [
3441
+ {
3385
3442
  type: "function",
3386
3443
  name: schemaName != null ? schemaName : "json",
3387
3444
  description: schemaDescription != null ? schemaDescription : "Respond with a JSON object.",
3388
3445
  parameters: outputStrategy.jsonSchema
3389
3446
  }
3390
- },
3447
+ ],
3448
+ toolChoice: { type: "required" },
3391
3449
  ...prepareCallSettings(settings),
3392
3450
  inputFormat: standardizedPrompt.type,
3393
3451
  prompt: await convertToLanguageModelPrompt({
@@ -3396,7 +3454,7 @@ var DefaultStreamObjectResult = class {
3396
3454
  modelSupportsUrl: (_b = model.supportsUrl) == null ? void 0 : _b.bind(model)
3397
3455
  // support 'this' context,
3398
3456
  }),
3399
- providerMetadata: providerOptions,
3457
+ providerOptions,
3400
3458
  abortSignal,
3401
3459
  headers
3402
3460
  };
@@ -3759,7 +3817,7 @@ var DefaultStreamObjectResult = class {
3759
3817
  };
3760
3818
 
3761
3819
  // core/generate-text/generate-text.ts
3762
- var import_provider_utils9 = require("@ai-sdk/provider-utils");
3820
+ var import_provider_utils10 = require("@ai-sdk/provider-utils");
3763
3821
 
3764
3822
  // errors/no-output-specified-error.ts
3765
3823
  var import_provider13 = require("@ai-sdk/provider");
@@ -3871,7 +3929,7 @@ function removeTextAfterLastWhitespace(text2) {
3871
3929
  }
3872
3930
 
3873
3931
  // core/generate-text/parse-tool-call.ts
3874
- var import_provider_utils8 = require("@ai-sdk/provider-utils");
3932
+ var import_provider_utils9 = require("@ai-sdk/provider-utils");
3875
3933
  var import_ui_utils5 = require("@ai-sdk/ui-utils");
3876
3934
 
3877
3935
  // errors/invalid-tool-arguments-error.ts
@@ -3997,7 +4055,7 @@ async function doParseToolCall({
3997
4055
  });
3998
4056
  }
3999
4057
  const schema = (0, import_ui_utils5.asSchema)(tool2.parameters);
4000
- const parseResult = toolCall.args.trim() === "" ? (0, import_provider_utils8.safeValidateTypes)({ value: {}, schema }) : (0, import_provider_utils8.safeParseJSON)({ text: toolCall.args, schema });
4058
+ const parseResult = toolCall.args.trim() === "" ? (0, import_provider_utils9.safeValidateTypes)({ value: {}, schema }) : (0, import_provider_utils9.safeParseJSON)({ text: toolCall.args, schema });
4001
4059
  if (parseResult.success === false) {
4002
4060
  throw new InvalidToolArgumentsError({
4003
4061
  toolName,
@@ -4041,7 +4099,7 @@ function toResponseMessages({
4041
4099
  ...files.map((file) => ({
4042
4100
  type: "file",
4043
4101
  data: file.base64,
4044
- mimeType: file.mimeType
4102
+ mediaType: file.mediaType
4045
4103
  })),
4046
4104
  { type: "text", text: text2 },
4047
4105
  ...toolCalls
@@ -4075,11 +4133,11 @@ function toResponseMessages({
4075
4133
  }
4076
4134
 
4077
4135
  // core/generate-text/generate-text.ts
4078
- var originalGenerateId3 = (0, import_provider_utils9.createIdGenerator)({
4136
+ var originalGenerateId3 = (0, import_provider_utils10.createIdGenerator)({
4079
4137
  prefix: "aitxt",
4080
4138
  size: 24
4081
4139
  });
4082
- var originalGenerateMessageId = (0, import_provider_utils9.createIdGenerator)({
4140
+ var originalGenerateMessageId = (0, import_provider_utils10.createIdGenerator)({
4083
4141
  prefix: "msg",
4084
4142
  size: 24
4085
4143
  });
@@ -4153,8 +4211,7 @@ async function generateText({
4153
4211
  tracer,
4154
4212
  fn: async (span) => {
4155
4213
  var _a18, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
4156
- const mode = {
4157
- type: "regular",
4214
+ const toolsAndToolChoice = {
4158
4215
  ...prepareToolsAndToolChoice({ tools, toolChoice, activeTools })
4159
4216
  };
4160
4217
  const callSettings = prepareCallSettings(settings);
@@ -4208,11 +4265,11 @@ async function generateText({
4208
4265
  // convert the language model level tools:
4209
4266
  input: () => {
4210
4267
  var _a19;
4211
- return (_a19 = mode.tools) == null ? void 0 : _a19.map((tool2) => JSON.stringify(tool2));
4268
+ return (_a19 = toolsAndToolChoice.tools) == null ? void 0 : _a19.map((tool2) => JSON.stringify(tool2));
4212
4269
  }
4213
4270
  },
4214
4271
  "ai.prompt.toolChoice": {
4215
- input: () => mode.toolChoice != null ? JSON.stringify(mode.toolChoice) : void 0
4272
+ input: () => toolsAndToolChoice.toolChoice != null ? JSON.stringify(toolsAndToolChoice.toolChoice) : void 0
4216
4273
  },
4217
4274
  // standardized gen-ai llm span attributes:
4218
4275
  "gen_ai.system": model.provider,
@@ -4230,12 +4287,12 @@ async function generateText({
4230
4287
  fn: async (span2) => {
4231
4288
  var _a19, _b2, _c2, _d2, _e2, _f2;
4232
4289
  const result = await model.doGenerate({
4233
- mode,
4234
4290
  ...callSettings,
4291
+ ...toolsAndToolChoice,
4235
4292
  inputFormat: promptFormat,
4236
4293
  responseFormat: output == null ? void 0 : output.responseFormat({ model }),
4237
4294
  prompt: promptMessages,
4238
- providerMetadata: providerOptions,
4295
+ providerOptions,
4239
4296
  abortSignal,
4240
4297
  headers
4241
4298
  });
@@ -4545,7 +4602,7 @@ __export(output_exports, {
4545
4602
  object: () => object,
4546
4603
  text: () => text
4547
4604
  });
4548
- var import_provider_utils10 = require("@ai-sdk/provider-utils");
4605
+ var import_provider_utils11 = require("@ai-sdk/provider-utils");
4549
4606
  var import_ui_utils6 = require("@ai-sdk/ui-utils");
4550
4607
 
4551
4608
  // errors/index.ts
@@ -4642,7 +4699,7 @@ var object = ({
4642
4699
  }
4643
4700
  },
4644
4701
  parseOutput({ text: text2 }, context) {
4645
- const parseResult = (0, import_provider_utils10.safeParseJSON)({ text: text2 });
4702
+ const parseResult = (0, import_provider_utils11.safeParseJSON)({ text: text2 });
4646
4703
  if (!parseResult.success) {
4647
4704
  throw new NoObjectGeneratedError({
4648
4705
  message: "No object generated: could not parse the response.",
@@ -4653,7 +4710,7 @@ var object = ({
4653
4710
  finishReason: context.finishReason
4654
4711
  });
4655
4712
  }
4656
- const validationResult = (0, import_provider_utils10.safeValidateTypes)({
4713
+ const validationResult = (0, import_provider_utils11.safeValidateTypes)({
4657
4714
  value: parseResult.value,
4658
4715
  schema
4659
4716
  });
@@ -4673,7 +4730,7 @@ var object = ({
4673
4730
  };
4674
4731
 
4675
4732
  // core/generate-text/smooth-stream.ts
4676
- var import_provider_utils11 = require("@ai-sdk/provider-utils");
4733
+ var import_provider_utils12 = require("@ai-sdk/provider-utils");
4677
4734
  var import_provider21 = require("@ai-sdk/provider");
4678
4735
  var CHUNKING_REGEXPS = {
4679
4736
  word: /\S+\s+/m,
@@ -4682,7 +4739,7 @@ var CHUNKING_REGEXPS = {
4682
4739
  function smoothStream({
4683
4740
  delayInMs = 10,
4684
4741
  chunking = "word",
4685
- _internal: { delay: delay2 = import_provider_utils11.delay } = {}
4742
+ _internal: { delay: delay2 = import_provider_utils12.delay } = {}
4686
4743
  } = {}) {
4687
4744
  let detectChunk;
4688
4745
  if (typeof chunking === "function") {
@@ -4743,7 +4800,7 @@ function smoothStream({
4743
4800
 
4744
4801
  // core/generate-text/stream-text.ts
4745
4802
  var import_provider22 = require("@ai-sdk/provider");
4746
- var import_provider_utils12 = require("@ai-sdk/provider-utils");
4803
+ var import_provider_utils13 = require("@ai-sdk/provider-utils");
4747
4804
  var import_ui_utils8 = require("@ai-sdk/ui-utils");
4748
4805
 
4749
4806
  // util/as-array.ts
@@ -4907,7 +4964,7 @@ function runToolsTransformation({
4907
4964
  controller.enqueue(
4908
4965
  new DefaultGeneratedFileWithType({
4909
4966
  data: chunk.data,
4910
- mimeType: chunk.mimeType
4967
+ mediaType: chunk.mediaType
4911
4968
  })
4912
4969
  );
4913
4970
  break;
@@ -5062,11 +5119,11 @@ function runToolsTransformation({
5062
5119
  }
5063
5120
 
5064
5121
  // core/generate-text/stream-text.ts
5065
- var originalGenerateId4 = (0, import_provider_utils12.createIdGenerator)({
5122
+ var originalGenerateId4 = (0, import_provider_utils13.createIdGenerator)({
5066
5123
  prefix: "aitxt",
5067
5124
  size: 24
5068
5125
  });
5069
- var originalGenerateMessageId2 = (0, import_provider_utils12.createIdGenerator)({
5126
+ var originalGenerateMessageId2 = (0, import_provider_utils13.createIdGenerator)({
5070
5127
  prefix: "msg",
5071
5128
  size: 24
5072
5129
  });
@@ -5525,8 +5582,7 @@ var DefaultStreamTextResult = class {
5525
5582
  modelSupportsUrl: (_a18 = model.supportsUrl) == null ? void 0 : _a18.bind(model)
5526
5583
  // support 'this' context
5527
5584
  });
5528
- const mode = {
5529
- type: "regular",
5585
+ const toolsAndToolChoice = {
5530
5586
  ...prepareToolsAndToolChoice({ tools, toolChoice, activeTools })
5531
5587
  };
5532
5588
  const {
@@ -5554,11 +5610,13 @@ var DefaultStreamTextResult = class {
5554
5610
  // convert the language model level tools:
5555
5611
  input: () => {
5556
5612
  var _a19;
5557
- return (_a19 = mode.tools) == null ? void 0 : _a19.map((tool2) => JSON.stringify(tool2));
5613
+ return (_a19 = toolsAndToolChoice.tools) == null ? void 0 : _a19.map(
5614
+ (tool2) => JSON.stringify(tool2)
5615
+ );
5558
5616
  }
5559
5617
  },
5560
5618
  "ai.prompt.toolChoice": {
5561
- input: () => mode.toolChoice != null ? JSON.stringify(mode.toolChoice) : void 0
5619
+ input: () => toolsAndToolChoice.toolChoice != null ? JSON.stringify(toolsAndToolChoice.toolChoice) : void 0
5562
5620
  },
5563
5621
  // standardized gen-ai llm span attributes:
5564
5622
  "gen_ai.system": model.provider,
@@ -5579,12 +5637,12 @@ var DefaultStreamTextResult = class {
5579
5637
  // get before the call
5580
5638
  doStreamSpan: doStreamSpan2,
5581
5639
  result: await model.doStream({
5582
- mode,
5583
5640
  ...prepareCallSettings(settings),
5641
+ ...toolsAndToolChoice,
5584
5642
  inputFormat: promptFormat,
5585
5643
  responseFormat: output == null ? void 0 : output.responseFormat({ model }),
5586
5644
  prompt: promptMessages,
5587
- providerMetadata: providerOptions,
5645
+ providerOptions,
5588
5646
  abortSignal,
5589
5647
  headers
5590
5648
  })
@@ -6086,7 +6144,7 @@ var DefaultStreamTextResult = class {
6086
6144
  case "file": {
6087
6145
  controller.enqueue(
6088
6146
  (0, import_ui_utils8.formatDataStreamPart)("file", {
6089
- mimeType: chunk.mimeType,
6147
+ mimeType: chunk.mediaType,
6090
6148
  data: chunk.base64
6091
6149
  })
6092
6150
  );
@@ -6290,6 +6348,70 @@ var DefaultStreamTextResult = class {
6290
6348
  }
6291
6349
  };
6292
6350
 
6351
+ // errors/no-transcript-generated-error.ts
6352
+ var import_provider23 = require("@ai-sdk/provider");
6353
+ var NoTranscriptGeneratedError = class extends import_provider23.AISDKError {
6354
+ constructor(options) {
6355
+ super({
6356
+ name: "AI_NoTranscriptGeneratedError",
6357
+ message: "No transcript generated."
6358
+ });
6359
+ this.responses = options.responses;
6360
+ }
6361
+ };
6362
+
6363
+ // core/transcribe/transcribe.ts
6364
+ async function transcribe({
6365
+ model,
6366
+ audio,
6367
+ providerOptions = {},
6368
+ maxRetries: maxRetriesArg,
6369
+ abortSignal,
6370
+ headers
6371
+ }) {
6372
+ const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
6373
+ const audioData = audio instanceof URL ? (await download({ url: audio })).data : convertDataContentToUint8Array(audio);
6374
+ const result = await retry(
6375
+ () => {
6376
+ var _a17;
6377
+ return model.doGenerate({
6378
+ audio: audioData,
6379
+ abortSignal,
6380
+ headers,
6381
+ providerOptions,
6382
+ mediaType: (_a17 = detectMediaType({
6383
+ data: audioData,
6384
+ signatures: audioMediaTypeSignatures
6385
+ })) != null ? _a17 : "audio/wav"
6386
+ });
6387
+ }
6388
+ );
6389
+ if (!result.text) {
6390
+ throw new NoTranscriptGeneratedError({ responses: [result.response] });
6391
+ }
6392
+ return new DefaultTranscriptionResult({
6393
+ text: result.text,
6394
+ segments: result.segments,
6395
+ language: result.language,
6396
+ durationInSeconds: result.durationInSeconds,
6397
+ warnings: result.warnings,
6398
+ responses: [result.response],
6399
+ providerMetadata: result.providerMetadata
6400
+ });
6401
+ }
6402
+ var DefaultTranscriptionResult = class {
6403
+ constructor(options) {
6404
+ var _a17;
6405
+ this.text = options.text;
6406
+ this.segments = options.segments;
6407
+ this.language = options.language;
6408
+ this.durationInSeconds = options.durationInSeconds;
6409
+ this.warnings = options.warnings;
6410
+ this.responses = options.responses;
6411
+ this.providerMetadata = (_a17 = options.providerMetadata) != null ? _a17 : {};
6412
+ }
6413
+ };
6414
+
6293
6415
  // core/util/merge-objects.ts
6294
6416
  function mergeObjects(target, source) {
6295
6417
  if (target === void 0 && source === void 0) {
@@ -6334,9 +6456,9 @@ function defaultSettingsMiddleware({
6334
6456
  return {
6335
6457
  ...settings,
6336
6458
  ...params,
6337
- providerMetadata: mergeObjects(
6338
- settings.providerMetadata,
6339
- params.providerMetadata
6459
+ providerOptions: mergeObjects(
6460
+ settings.providerOptions,
6461
+ params.providerOptions
6340
6462
  ),
6341
6463
  // special case for temperature 0
6342
6464
  // TODO remove when temperature defaults to undefined
@@ -6605,13 +6727,13 @@ function appendClientMessage({
6605
6727
 
6606
6728
  // core/prompt/append-response-messages.ts
6607
6729
  var import_ui_utils9 = require("@ai-sdk/ui-utils");
6608
- var import_provider23 = require("@ai-sdk/provider");
6730
+ var import_provider24 = require("@ai-sdk/provider");
6609
6731
  function appendResponseMessages({
6610
6732
  messages,
6611
6733
  responseMessages,
6612
6734
  _internal: { currentDate = () => /* @__PURE__ */ new Date() } = {}
6613
6735
  }) {
6614
- var _a17, _b, _c, _d;
6736
+ var _a17, _b, _c, _d, _e;
6615
6737
  const clonedMessages = structuredClone(messages);
6616
6738
  for (const message of responseMessages) {
6617
6739
  const role = message.role;
@@ -6688,14 +6810,14 @@ function appendResponseMessages({
6688
6810
  break;
6689
6811
  case "file":
6690
6812
  if (part.data instanceof URL) {
6691
- throw new import_provider23.AISDKError({
6813
+ throw new import_provider24.AISDKError({
6692
6814
  name: "InvalidAssistantFileData",
6693
6815
  message: "File data cannot be a URL"
6694
6816
  });
6695
6817
  }
6696
6818
  parts.push({
6697
6819
  type: "file",
6698
- mimeType: part.mimeType,
6820
+ mediaType: (_a17 = part.mediaType) != null ? _a17 : part.mimeType,
6699
6821
  data: convertDataContentToBase64String(part.data)
6700
6822
  });
6701
6823
  break;
@@ -6706,12 +6828,12 @@ function appendResponseMessages({
6706
6828
  const maxStep = (0, import_ui_utils9.extractMaxToolInvocationStep)(
6707
6829
  lastMessage.toolInvocations
6708
6830
  );
6709
- (_a17 = lastMessage.parts) != null ? _a17 : lastMessage.parts = [];
6831
+ (_b = lastMessage.parts) != null ? _b : lastMessage.parts = [];
6710
6832
  lastMessage.content = textContent;
6711
6833
  lastMessage.reasoning = reasoningTextContent;
6712
6834
  lastMessage.parts.push(...parts);
6713
6835
  lastMessage.toolInvocations = [
6714
- ...(_b = lastMessage.toolInvocations) != null ? _b : [],
6836
+ ...(_c = lastMessage.toolInvocations) != null ? _c : [],
6715
6837
  ...getToolInvocations2(maxStep === void 0 ? 0 : maxStep + 1)
6716
6838
  ];
6717
6839
  getToolInvocations2(maxStep === void 0 ? 0 : maxStep + 1).map((call) => ({
@@ -6741,13 +6863,13 @@ function appendResponseMessages({
6741
6863
  break;
6742
6864
  }
6743
6865
  case "tool": {
6744
- (_c = lastMessage.toolInvocations) != null ? _c : lastMessage.toolInvocations = [];
6866
+ (_d = lastMessage.toolInvocations) != null ? _d : lastMessage.toolInvocations = [];
6745
6867
  if (lastMessage.role !== "assistant") {
6746
6868
  throw new Error(
6747
6869
  `Tool result must follow an assistant message: ${lastMessage.role}`
6748
6870
  );
6749
6871
  }
6750
- (_d = lastMessage.parts) != null ? _d : lastMessage.parts = [];
6872
+ (_e = lastMessage.parts) != null ? _e : lastMessage.parts = [];
6751
6873
  for (const contentPart of message.content) {
6752
6874
  const toolCall = lastMessage.toolInvocations.find(
6753
6875
  (call) => call.toolCallId === contentPart.toolCallId
@@ -6782,7 +6904,7 @@ function appendResponseMessages({
6782
6904
  }
6783
6905
 
6784
6906
  // core/registry/custom-provider.ts
6785
- var import_provider24 = require("@ai-sdk/provider");
6907
+ var import_provider25 = require("@ai-sdk/provider");
6786
6908
  function customProvider({
6787
6909
  languageModels,
6788
6910
  textEmbeddingModels,
@@ -6797,7 +6919,7 @@ function customProvider({
6797
6919
  if (fallbackProvider) {
6798
6920
  return fallbackProvider.languageModel(modelId);
6799
6921
  }
6800
- throw new import_provider24.NoSuchModelError({ modelId, modelType: "languageModel" });
6922
+ throw new import_provider25.NoSuchModelError({ modelId, modelType: "languageModel" });
6801
6923
  },
6802
6924
  textEmbeddingModel(modelId) {
6803
6925
  if (textEmbeddingModels != null && modelId in textEmbeddingModels) {
@@ -6806,7 +6928,7 @@ function customProvider({
6806
6928
  if (fallbackProvider) {
6807
6929
  return fallbackProvider.textEmbeddingModel(modelId);
6808
6930
  }
6809
- throw new import_provider24.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" });
6931
+ throw new import_provider25.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" });
6810
6932
  },
6811
6933
  imageModel(modelId) {
6812
6934
  if (imageModels != null && modelId in imageModels) {
@@ -6815,19 +6937,19 @@ function customProvider({
6815
6937
  if (fallbackProvider == null ? void 0 : fallbackProvider.imageModel) {
6816
6938
  return fallbackProvider.imageModel(modelId);
6817
6939
  }
6818
- throw new import_provider24.NoSuchModelError({ modelId, modelType: "imageModel" });
6940
+ throw new import_provider25.NoSuchModelError({ modelId, modelType: "imageModel" });
6819
6941
  }
6820
6942
  };
6821
6943
  }
6822
6944
  var experimental_customProvider = customProvider;
6823
6945
 
6824
6946
  // core/registry/no-such-provider-error.ts
6825
- var import_provider25 = require("@ai-sdk/provider");
6947
+ var import_provider26 = require("@ai-sdk/provider");
6826
6948
  var name16 = "AI_NoSuchProviderError";
6827
6949
  var marker16 = `vercel.ai.error.${name16}`;
6828
6950
  var symbol16 = Symbol.for(marker16);
6829
6951
  var _a16;
6830
- var NoSuchProviderError = class extends import_provider25.NoSuchModelError {
6952
+ var NoSuchProviderError = class extends import_provider26.NoSuchModelError {
6831
6953
  constructor({
6832
6954
  modelId,
6833
6955
  modelType,
@@ -6841,13 +6963,13 @@ var NoSuchProviderError = class extends import_provider25.NoSuchModelError {
6841
6963
  this.availableProviders = availableProviders;
6842
6964
  }
6843
6965
  static isInstance(error) {
6844
- return import_provider25.AISDKError.hasMarker(error, marker16);
6966
+ return import_provider26.AISDKError.hasMarker(error, marker16);
6845
6967
  }
6846
6968
  };
6847
6969
  _a16 = symbol16;
6848
6970
 
6849
6971
  // core/registry/provider-registry.ts
6850
- var import_provider26 = require("@ai-sdk/provider");
6972
+ var import_provider27 = require("@ai-sdk/provider");
6851
6973
  function createProviderRegistry(providers, {
6852
6974
  separator = ":"
6853
6975
  } = {}) {
@@ -6886,7 +7008,7 @@ var DefaultProviderRegistry = class {
6886
7008
  splitId(id, modelType) {
6887
7009
  const index = id.indexOf(this.separator);
6888
7010
  if (index === -1) {
6889
- throw new import_provider26.NoSuchModelError({
7011
+ throw new import_provider27.NoSuchModelError({
6890
7012
  modelId: id,
6891
7013
  modelType,
6892
7014
  message: `Invalid ${modelType} id for registry: ${id} (must be in the format "providerId${this.separator}modelId")`
@@ -6899,7 +7021,7 @@ var DefaultProviderRegistry = class {
6899
7021
  const [providerId, modelId] = this.splitId(id, "languageModel");
6900
7022
  const model = (_b = (_a17 = this.getProvider(providerId)).languageModel) == null ? void 0 : _b.call(_a17, modelId);
6901
7023
  if (model == null) {
6902
- throw new import_provider26.NoSuchModelError({ modelId: id, modelType: "languageModel" });
7024
+ throw new import_provider27.NoSuchModelError({ modelId: id, modelType: "languageModel" });
6903
7025
  }
6904
7026
  return model;
6905
7027
  }
@@ -6909,7 +7031,7 @@ var DefaultProviderRegistry = class {
6909
7031
  const provider = this.getProvider(providerId);
6910
7032
  const model = (_a17 = provider.textEmbeddingModel) == null ? void 0 : _a17.call(provider, modelId);
6911
7033
  if (model == null) {
6912
- throw new import_provider26.NoSuchModelError({
7034
+ throw new import_provider27.NoSuchModelError({
6913
7035
  modelId: id,
6914
7036
  modelType: "textEmbeddingModel"
6915
7037
  });
@@ -6922,7 +7044,7 @@ var DefaultProviderRegistry = class {
6922
7044
  const provider = this.getProvider(providerId);
6923
7045
  const model = (_a17 = provider.imageModel) == null ? void 0 : _a17.call(provider, modelId);
6924
7046
  if (model == null) {
6925
- throw new import_provider26.NoSuchModelError({ modelId: id, modelType: "imageModel" });
7047
+ throw new import_provider27.NoSuchModelError({ modelId: id, modelType: "imageModel" });
6926
7048
  }
6927
7049
  return model;
6928
7050
  }
@@ -6937,7 +7059,7 @@ function tool(tool2) {
6937
7059
  }
6938
7060
 
6939
7061
  // core/tool/mcp/mcp-sse-transport.ts
6940
- var import_provider_utils13 = require("@ai-sdk/provider-utils");
7062
+ var import_provider_utils14 = require("@ai-sdk/provider-utils");
6941
7063
 
6942
7064
  // core/tool/mcp/json-rpc-message.ts
6943
7065
  var import_zod9 = require("zod");
@@ -7108,7 +7230,7 @@ var SseMCPTransport = class {
7108
7230
  (_b = this.onerror) == null ? void 0 : _b.call(this, error);
7109
7231
  return reject(error);
7110
7232
  }
7111
- const stream = response.body.pipeThrough(new TextDecoderStream()).pipeThrough((0, import_provider_utils13.createEventSourceParserStream)());
7233
+ const stream = response.body.pipeThrough(new TextDecoderStream()).pipeThrough((0, import_provider_utils14.createEventSourceParserStream)());
7112
7234
  const reader = stream.getReader();
7113
7235
  const processEvents = async () => {
7114
7236
  var _a18, _b2, _c2;
@@ -7515,7 +7637,7 @@ function cosineSimilarity(vector1, vector2, options) {
7515
7637
  }
7516
7638
 
7517
7639
  // core/util/simulate-readable-stream.ts
7518
- var import_provider_utils14 = require("@ai-sdk/provider-utils");
7640
+ var import_provider_utils15 = require("@ai-sdk/provider-utils");
7519
7641
  function simulateReadableStream({
7520
7642
  chunks,
7521
7643
  initialDelayInMs = 0,
@@ -7523,7 +7645,7 @@ function simulateReadableStream({
7523
7645
  _internal
7524
7646
  }) {
7525
7647
  var _a17;
7526
- const delay2 = (_a17 = _internal == null ? void 0 : _internal.delay) != null ? _a17 : import_provider_utils14.delay;
7648
+ const delay2 = (_a17 = _internal == null ? void 0 : _internal.delay) != null ? _a17 : import_provider_utils15.delay;
7527
7649
  let index = 0;
7528
7650
  return new ReadableStream({
7529
7651
  async pull(controller) {
@@ -7651,11 +7773,11 @@ __export(llamaindex_adapter_exports, {
7651
7773
  toDataStream: () => toDataStream2,
7652
7774
  toDataStreamResponse: () => toDataStreamResponse2
7653
7775
  });
7654
- var import_provider_utils16 = require("@ai-sdk/provider-utils");
7776
+ var import_provider_utils17 = require("@ai-sdk/provider-utils");
7655
7777
  var import_ui_utils13 = require("@ai-sdk/ui-utils");
7656
7778
  function toDataStreamInternal2(stream, callbacks) {
7657
7779
  const trimStart = trimStartOfStream();
7658
- return (0, import_provider_utils16.convertAsyncIteratorToReadableStream)(stream[Symbol.asyncIterator]()).pipeThrough(
7780
+ return (0, import_provider_utils17.convertAsyncIteratorToReadableStream)(stream[Symbol.asyncIterator]()).pipeThrough(
7659
7781
  new TransformStream({
7660
7782
  async transform(message, controller) {
7661
7783
  controller.enqueue(trimStart(message.delta));
@@ -7827,6 +7949,7 @@ var StreamData = class {
7827
7949
  experimental_createProviderRegistry,
7828
7950
  experimental_customProvider,
7829
7951
  experimental_generateImage,
7952
+ experimental_transcribe,
7830
7953
  experimental_wrapLanguageModel,
7831
7954
  extractReasoningMiddleware,
7832
7955
  formatDataStreamPart,