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/CHANGELOG.md +30 -0
- package/dist/index.d.mts +154 -10
- package/dist/index.d.ts +154 -10
- package/dist/index.js +270 -147
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +226 -104
- package/dist/index.mjs.map +1 -1
- package/{rsc/dist/rsc-server.d.mts → dist/internal/index.d.mts} +212 -368
- package/dist/internal/index.d.ts +592 -0
- package/dist/internal/index.js +1429 -0
- package/dist/internal/index.js.map +1 -0
- package/{rsc/dist/rsc-server.mjs → dist/internal/index.mjs} +1034 -1777
- package/dist/internal/index.mjs.map +1 -0
- package/mcp-stdio/dist/index.js +1 -1
- package/mcp-stdio/dist/index.js.map +1 -1
- package/mcp-stdio/dist/index.mjs +1 -1
- package/mcp-stdio/dist/index.mjs.map +1 -1
- package/mcp-stdio/get-environment.test.ts +13 -0
- package/mcp-stdio/get-environment.ts +1 -1
- package/package.json +12 -27
- package/rsc/dist/index.d.ts +0 -813
- package/rsc/dist/index.mjs +0 -18
- package/rsc/dist/rsc-client.d.mts +0 -1
- package/rsc/dist/rsc-client.mjs +0 -18
- package/rsc/dist/rsc-client.mjs.map +0 -1
- package/rsc/dist/rsc-server.mjs.map +0 -1
- package/rsc/dist/rsc-shared.d.mts +0 -101
- package/rsc/dist/rsc-shared.mjs +0 -308
- package/rsc/dist/rsc-shared.mjs.map +0 -1
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: () =>
|
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: () =>
|
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
|
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
|
-
|
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.
|
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-
|
943
|
-
var
|
943
|
+
// core/util/detect-media-type.ts
|
944
|
+
var imageMediaTypeSignatures = [
|
944
945
|
{
|
945
|
-
|
946
|
+
mediaType: "image/gif",
|
946
947
|
bytesPrefix: [71, 73, 70],
|
947
948
|
base64Prefix: "R0lG"
|
948
949
|
},
|
949
950
|
{
|
950
|
-
|
951
|
+
mediaType: "image/png",
|
951
952
|
bytesPrefix: [137, 80, 78, 71],
|
952
953
|
base64Prefix: "iVBORw"
|
953
954
|
},
|
954
955
|
{
|
955
|
-
|
956
|
+
mediaType: "image/jpeg",
|
956
957
|
bytesPrefix: [255, 216],
|
957
958
|
base64Prefix: "/9j/"
|
958
959
|
},
|
959
960
|
{
|
960
|
-
|
961
|
+
mediaType: "image/webp",
|
961
962
|
bytesPrefix: [82, 73, 70, 70],
|
962
963
|
base64Prefix: "UklGRg"
|
963
964
|
},
|
964
965
|
{
|
965
|
-
|
966
|
+
mediaType: "image/bmp",
|
966
967
|
bytesPrefix: [66, 77],
|
967
968
|
base64Prefix: "Qk"
|
968
969
|
},
|
969
970
|
{
|
970
|
-
|
971
|
+
mediaType: "image/tiff",
|
971
972
|
bytesPrefix: [73, 73, 42, 0],
|
972
973
|
base64Prefix: "SUkqAA"
|
973
974
|
},
|
974
975
|
{
|
975
|
-
|
976
|
+
mediaType: "image/tiff",
|
976
977
|
bytesPrefix: [77, 77, 0, 42],
|
977
978
|
base64Prefix: "TU0AKg"
|
978
979
|
},
|
979
980
|
{
|
980
|
-
|
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
|
-
|
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
|
-
|
1017
|
-
|
1018
|
-
|
1019
|
-
|
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
|
-
|
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
|
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
|
-
|
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
|
-
|
1327
|
+
mediaType: header.split(";")[0].split(":")[1],
|
1286
1328
|
base64Content
|
1287
1329
|
};
|
1288
1330
|
} catch (error) {
|
1289
1331
|
return {
|
1290
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
1364
|
-
|
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
|
-
|
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
|
-
|
1421
|
+
providerOptions
|
1380
1422
|
};
|
1381
1423
|
}
|
1382
1424
|
case "text": {
|
1383
1425
|
return {
|
1384
1426
|
type: "text",
|
1385
1427
|
text: part.text,
|
1386
|
-
|
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
|
-
|
1437
|
+
providerOptions
|
1396
1438
|
};
|
1397
1439
|
}
|
1398
1440
|
}
|
1399
1441
|
}),
|
1400
|
-
|
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
|
-
|
1457
|
+
providerOptions: (_a18 = part.providerOptions) != null ? _a18 : part.experimental_providerMetadata
|
1416
1458
|
};
|
1417
1459
|
}),
|
1418
|
-
|
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
|
-
|
1498
|
+
providerOptions: (_a17 = part.providerOptions) != null ? _a17 : part.experimental_providerMetadata
|
1457
1499
|
};
|
1458
1500
|
}
|
1459
|
-
let
|
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 {
|
1523
|
+
const { mediaType: dataUrlMediaType, base64Content } = splitDataUrl(
|
1482
1524
|
content.toString()
|
1483
1525
|
);
|
1484
|
-
if (
|
1526
|
+
if (dataUrlMediaType == null || base64Content == null) {
|
1485
1527
|
throw new Error(`Invalid data URL format in part ${type}`);
|
1486
1528
|
}
|
1487
|
-
|
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
|
-
|
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
|
-
|
1546
|
+
mediaType = (_c = detectMediaType({
|
1547
|
+
data: normalizedData,
|
1548
|
+
signatures: imageMediaTypeSignatures
|
1549
|
+
})) != null ? _c : mediaType;
|
1505
1550
|
}
|
1506
1551
|
return {
|
1507
|
-
type: "
|
1508
|
-
|
1509
|
-
|
1510
|
-
|
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 (
|
1515
|
-
throw new Error(`
|
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
|
-
|
1566
|
+
mediaType,
|
1520
1567
|
filename: part.filename,
|
1521
|
-
|
1522
|
-
|
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
|
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
|
-
|
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
|
1707
|
+
let mediaType;
|
1661
1708
|
try {
|
1662
1709
|
[header, base64Content] = attachment.url.split(",");
|
1663
|
-
|
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 (
|
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
|
-
|
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
|
-
|
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
|
-
|
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,
|
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
|
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,
|
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,
|
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,
|
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,
|
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
|
-
|
2762
|
-
type: "
|
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
|
-
|
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
|
-
|
2868
|
-
|
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
|
-
|
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,
|
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
|
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,
|
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
|
-
|
3343
|
-
type: "
|
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
|
-
|
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
|
-
|
3383
|
-
|
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
|
-
|
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
|
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
|
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,
|
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
|
-
|
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,
|
4136
|
+
var originalGenerateId3 = (0, import_provider_utils10.createIdGenerator)({
|
4079
4137
|
prefix: "aitxt",
|
4080
4138
|
size: 24
|
4081
4139
|
});
|
4082
|
-
var originalGenerateMessageId = (0,
|
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
|
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 =
|
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: () =>
|
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
|
-
|
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
|
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,
|
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,
|
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
|
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 =
|
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
|
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
|
-
|
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,
|
5122
|
+
var originalGenerateId4 = (0, import_provider_utils13.createIdGenerator)({
|
5066
5123
|
prefix: "aitxt",
|
5067
5124
|
size: 24
|
5068
5125
|
});
|
5069
|
-
var originalGenerateMessageId2 = (0,
|
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
|
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 =
|
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: () =>
|
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
|
-
|
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.
|
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
|
-
|
6338
|
-
settings.
|
6339
|
-
params.
|
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
|
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
|
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
|
-
|
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
|
-
(
|
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
|
-
...(
|
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
|
-
(
|
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
|
-
(
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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,
|
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
|
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 :
|
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
|
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,
|
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,
|