ai 5.0.0-beta.17 → 5.0.0-beta.19
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 +19 -0
- package/dist/bin/ai.js +4635 -0
- package/dist/bin/ai.js.map +1 -0
- package/dist/bin/ai.min.js +78 -0
- package/dist/index.d.mts +27 -4
- package/dist/index.d.ts +27 -4
- package/dist/index.js +333 -262
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +298 -228
- package/dist/index.mjs.map +1 -1
- package/package.json +10 -7
package/dist/index.mjs
CHANGED
@@ -871,8 +871,228 @@ function prepareToolsAndToolChoice({
|
|
871
871
|
|
872
872
|
// src/prompt/resolve-language-model.ts
|
873
873
|
import { gateway } from "@ai-sdk/gateway";
|
874
|
+
|
875
|
+
// src/error/index.ts
|
876
|
+
import {
|
877
|
+
AISDKError as AISDKError17,
|
878
|
+
APICallError as APICallError2,
|
879
|
+
EmptyResponseBodyError,
|
880
|
+
InvalidPromptError,
|
881
|
+
InvalidResponseDataError,
|
882
|
+
JSONParseError,
|
883
|
+
LoadAPIKeyError,
|
884
|
+
NoContentGeneratedError,
|
885
|
+
NoSuchModelError,
|
886
|
+
TypeValidationError,
|
887
|
+
UnsupportedFunctionalityError
|
888
|
+
} from "@ai-sdk/provider";
|
889
|
+
|
890
|
+
// src/error/invalid-stream-part-error.ts
|
891
|
+
import { AISDKError as AISDKError8 } from "@ai-sdk/provider";
|
892
|
+
var name7 = "AI_InvalidStreamPartError";
|
893
|
+
var marker7 = `vercel.ai.error.${name7}`;
|
894
|
+
var symbol7 = Symbol.for(marker7);
|
895
|
+
var _a7;
|
896
|
+
var InvalidStreamPartError = class extends AISDKError8 {
|
897
|
+
constructor({
|
898
|
+
chunk,
|
899
|
+
message
|
900
|
+
}) {
|
901
|
+
super({ name: name7, message });
|
902
|
+
this[_a7] = true;
|
903
|
+
this.chunk = chunk;
|
904
|
+
}
|
905
|
+
static isInstance(error) {
|
906
|
+
return AISDKError8.hasMarker(error, marker7);
|
907
|
+
}
|
908
|
+
};
|
909
|
+
_a7 = symbol7;
|
910
|
+
|
911
|
+
// src/error/invalid-tool-input-error.ts
|
912
|
+
import { AISDKError as AISDKError9, getErrorMessage as getErrorMessage2 } from "@ai-sdk/provider";
|
913
|
+
var name8 = "AI_InvalidToolInputError";
|
914
|
+
var marker8 = `vercel.ai.error.${name8}`;
|
915
|
+
var symbol8 = Symbol.for(marker8);
|
916
|
+
var _a8;
|
917
|
+
var InvalidToolInputError = class extends AISDKError9 {
|
918
|
+
constructor({
|
919
|
+
toolInput,
|
920
|
+
toolName,
|
921
|
+
cause,
|
922
|
+
message = `Invalid input for tool ${toolName}: ${getErrorMessage2(cause)}`
|
923
|
+
}) {
|
924
|
+
super({ name: name8, message, cause });
|
925
|
+
this[_a8] = true;
|
926
|
+
this.toolInput = toolInput;
|
927
|
+
this.toolName = toolName;
|
928
|
+
}
|
929
|
+
static isInstance(error) {
|
930
|
+
return AISDKError9.hasMarker(error, marker8);
|
931
|
+
}
|
932
|
+
};
|
933
|
+
_a8 = symbol8;
|
934
|
+
|
935
|
+
// src/error/mcp-client-error.ts
|
936
|
+
import { AISDKError as AISDKError10 } from "@ai-sdk/provider";
|
937
|
+
var name9 = "AI_MCPClientError";
|
938
|
+
var marker9 = `vercel.ai.error.${name9}`;
|
939
|
+
var symbol9 = Symbol.for(marker9);
|
940
|
+
var _a9;
|
941
|
+
var MCPClientError = class extends AISDKError10 {
|
942
|
+
constructor({
|
943
|
+
name: name16 = "MCPClientError",
|
944
|
+
message,
|
945
|
+
cause
|
946
|
+
}) {
|
947
|
+
super({ name: name16, message, cause });
|
948
|
+
this[_a9] = true;
|
949
|
+
}
|
950
|
+
static isInstance(error) {
|
951
|
+
return AISDKError10.hasMarker(error, marker9);
|
952
|
+
}
|
953
|
+
};
|
954
|
+
_a9 = symbol9;
|
955
|
+
|
956
|
+
// src/error/no-image-generated-error.ts
|
957
|
+
import { AISDKError as AISDKError11 } from "@ai-sdk/provider";
|
958
|
+
var name10 = "AI_NoImageGeneratedError";
|
959
|
+
var marker10 = `vercel.ai.error.${name10}`;
|
960
|
+
var symbol10 = Symbol.for(marker10);
|
961
|
+
var _a10;
|
962
|
+
var NoImageGeneratedError = class extends AISDKError11 {
|
963
|
+
constructor({
|
964
|
+
message = "No image generated.",
|
965
|
+
cause,
|
966
|
+
responses
|
967
|
+
}) {
|
968
|
+
super({ name: name10, message, cause });
|
969
|
+
this[_a10] = true;
|
970
|
+
this.responses = responses;
|
971
|
+
}
|
972
|
+
static isInstance(error) {
|
973
|
+
return AISDKError11.hasMarker(error, marker10);
|
974
|
+
}
|
975
|
+
};
|
976
|
+
_a10 = symbol10;
|
977
|
+
|
978
|
+
// src/error/no-object-generated-error.ts
|
979
|
+
import { AISDKError as AISDKError12 } from "@ai-sdk/provider";
|
980
|
+
var name11 = "AI_NoObjectGeneratedError";
|
981
|
+
var marker11 = `vercel.ai.error.${name11}`;
|
982
|
+
var symbol11 = Symbol.for(marker11);
|
983
|
+
var _a11;
|
984
|
+
var NoObjectGeneratedError = class extends AISDKError12 {
|
985
|
+
constructor({
|
986
|
+
message = "No object generated.",
|
987
|
+
cause,
|
988
|
+
text: text2,
|
989
|
+
response,
|
990
|
+
usage,
|
991
|
+
finishReason
|
992
|
+
}) {
|
993
|
+
super({ name: name11, message, cause });
|
994
|
+
this[_a11] = true;
|
995
|
+
this.text = text2;
|
996
|
+
this.response = response;
|
997
|
+
this.usage = usage;
|
998
|
+
this.finishReason = finishReason;
|
999
|
+
}
|
1000
|
+
static isInstance(error) {
|
1001
|
+
return AISDKError12.hasMarker(error, marker11);
|
1002
|
+
}
|
1003
|
+
};
|
1004
|
+
_a11 = symbol11;
|
1005
|
+
|
1006
|
+
// src/error/no-such-tool-error.ts
|
1007
|
+
import { AISDKError as AISDKError13 } from "@ai-sdk/provider";
|
1008
|
+
var name12 = "AI_NoSuchToolError";
|
1009
|
+
var marker12 = `vercel.ai.error.${name12}`;
|
1010
|
+
var symbol12 = Symbol.for(marker12);
|
1011
|
+
var _a12;
|
1012
|
+
var NoSuchToolError = class extends AISDKError13 {
|
1013
|
+
constructor({
|
1014
|
+
toolName,
|
1015
|
+
availableTools = void 0,
|
1016
|
+
message = `Model tried to call unavailable tool '${toolName}'. ${availableTools === void 0 ? "No tools are available." : `Available tools: ${availableTools.join(", ")}.`}`
|
1017
|
+
}) {
|
1018
|
+
super({ name: name12, message });
|
1019
|
+
this[_a12] = true;
|
1020
|
+
this.toolName = toolName;
|
1021
|
+
this.availableTools = availableTools;
|
1022
|
+
}
|
1023
|
+
static isInstance(error) {
|
1024
|
+
return AISDKError13.hasMarker(error, marker12);
|
1025
|
+
}
|
1026
|
+
};
|
1027
|
+
_a12 = symbol12;
|
1028
|
+
|
1029
|
+
// src/error/tool-call-repair-error.ts
|
1030
|
+
import { AISDKError as AISDKError14, getErrorMessage as getErrorMessage3 } from "@ai-sdk/provider";
|
1031
|
+
var name13 = "AI_ToolCallRepairError";
|
1032
|
+
var marker13 = `vercel.ai.error.${name13}`;
|
1033
|
+
var symbol13 = Symbol.for(marker13);
|
1034
|
+
var _a13;
|
1035
|
+
var ToolCallRepairError = class extends AISDKError14 {
|
1036
|
+
constructor({
|
1037
|
+
cause,
|
1038
|
+
originalError,
|
1039
|
+
message = `Error repairing tool call: ${getErrorMessage3(cause)}`
|
1040
|
+
}) {
|
1041
|
+
super({ name: name13, message, cause });
|
1042
|
+
this[_a13] = true;
|
1043
|
+
this.originalError = originalError;
|
1044
|
+
}
|
1045
|
+
static isInstance(error) {
|
1046
|
+
return AISDKError14.hasMarker(error, marker13);
|
1047
|
+
}
|
1048
|
+
};
|
1049
|
+
_a13 = symbol13;
|
1050
|
+
|
1051
|
+
// src/error/unsupported-model-version-error.ts
|
1052
|
+
import { AISDKError as AISDKError15 } from "@ai-sdk/provider";
|
1053
|
+
var UnsupportedModelVersionError = class extends AISDKError15 {
|
1054
|
+
constructor(options) {
|
1055
|
+
super({
|
1056
|
+
name: "AI_UnsupportedModelVersionError",
|
1057
|
+
message: `Unsupported model version ${options.version} for provider "${options.provider}" and model "${options.modelId}". AI SDK 5 only supports models that implement specification version "v2".`
|
1058
|
+
});
|
1059
|
+
this.version = options.version;
|
1060
|
+
this.provider = options.provider;
|
1061
|
+
this.modelId = options.modelId;
|
1062
|
+
}
|
1063
|
+
};
|
1064
|
+
|
1065
|
+
// src/prompt/message-conversion-error.ts
|
1066
|
+
import { AISDKError as AISDKError16 } from "@ai-sdk/provider";
|
1067
|
+
var name14 = "AI_MessageConversionError";
|
1068
|
+
var marker14 = `vercel.ai.error.${name14}`;
|
1069
|
+
var symbol14 = Symbol.for(marker14);
|
1070
|
+
var _a14;
|
1071
|
+
var MessageConversionError = class extends AISDKError16 {
|
1072
|
+
constructor({
|
1073
|
+
originalMessage,
|
1074
|
+
message
|
1075
|
+
}) {
|
1076
|
+
super({ name: name14, message });
|
1077
|
+
this[_a14] = true;
|
1078
|
+
this.originalMessage = originalMessage;
|
1079
|
+
}
|
1080
|
+
static isInstance(error) {
|
1081
|
+
return AISDKError16.hasMarker(error, marker14);
|
1082
|
+
}
|
1083
|
+
};
|
1084
|
+
_a14 = symbol14;
|
1085
|
+
|
1086
|
+
// src/prompt/resolve-language-model.ts
|
874
1087
|
function resolveLanguageModel(model) {
|
875
1088
|
if (typeof model !== "string") {
|
1089
|
+
if (model.specificationVersion !== "v2") {
|
1090
|
+
throw new UnsupportedModelVersionError({
|
1091
|
+
version: model.specificationVersion,
|
1092
|
+
provider: model.provider,
|
1093
|
+
modelId: model.modelId
|
1094
|
+
});
|
1095
|
+
}
|
876
1096
|
return model;
|
877
1097
|
}
|
878
1098
|
const globalProvider = globalThis.AI_SDK_DEFAULT_PROVIDER;
|
@@ -880,7 +1100,7 @@ function resolveLanguageModel(model) {
|
|
880
1100
|
}
|
881
1101
|
|
882
1102
|
// src/prompt/standardize-prompt.ts
|
883
|
-
import { InvalidPromptError } from "@ai-sdk/provider";
|
1103
|
+
import { InvalidPromptError as InvalidPromptError2 } from "@ai-sdk/provider";
|
884
1104
|
import { safeValidateTypes } from "@ai-sdk/provider-utils";
|
885
1105
|
import { z as z6 } from "zod/v4";
|
886
1106
|
|
@@ -1036,19 +1256,19 @@ var coreMessageSchema = modelMessageSchema;
|
|
1036
1256
|
// src/prompt/standardize-prompt.ts
|
1037
1257
|
async function standardizePrompt(prompt) {
|
1038
1258
|
if (prompt.prompt == null && prompt.messages == null) {
|
1039
|
-
throw new
|
1259
|
+
throw new InvalidPromptError2({
|
1040
1260
|
prompt,
|
1041
1261
|
message: "prompt or messages must be defined"
|
1042
1262
|
});
|
1043
1263
|
}
|
1044
1264
|
if (prompt.prompt != null && prompt.messages != null) {
|
1045
|
-
throw new
|
1265
|
+
throw new InvalidPromptError2({
|
1046
1266
|
prompt,
|
1047
1267
|
message: "prompt and messages cannot be defined at the same time"
|
1048
1268
|
});
|
1049
1269
|
}
|
1050
1270
|
if (prompt.system != null && typeof prompt.system !== "string") {
|
1051
|
-
throw new
|
1271
|
+
throw new InvalidPromptError2({
|
1052
1272
|
prompt,
|
1053
1273
|
message: "system must be a string"
|
1054
1274
|
});
|
@@ -1061,13 +1281,13 @@ async function standardizePrompt(prompt) {
|
|
1061
1281
|
} else if (prompt.messages != null) {
|
1062
1282
|
messages = prompt.messages;
|
1063
1283
|
} else {
|
1064
|
-
throw new
|
1284
|
+
throw new InvalidPromptError2({
|
1065
1285
|
prompt,
|
1066
1286
|
message: "prompt or messages must be defined"
|
1067
1287
|
});
|
1068
1288
|
}
|
1069
1289
|
if (messages.length === 0) {
|
1070
|
-
throw new
|
1290
|
+
throw new InvalidPromptError2({
|
1071
1291
|
prompt,
|
1072
1292
|
message: "messages must not be empty"
|
1073
1293
|
});
|
@@ -1077,7 +1297,7 @@ async function standardizePrompt(prompt) {
|
|
1077
1297
|
schema: z6.array(modelMessageSchema)
|
1078
1298
|
});
|
1079
1299
|
if (!validationResult.success) {
|
1080
|
-
throw new
|
1300
|
+
throw new InvalidPromptError2({
|
1081
1301
|
prompt,
|
1082
1302
|
message: "The messages must be a ModelMessage[]. If you have passed a UIMessage[], you can use convertToModelMessages to convert them.",
|
1083
1303
|
cause: validationResult.error
|
@@ -1094,10 +1314,10 @@ import {
|
|
1094
1314
|
GatewayAuthenticationError,
|
1095
1315
|
GatewayModelNotFoundError
|
1096
1316
|
} from "@ai-sdk/gateway";
|
1097
|
-
import { AISDKError as
|
1317
|
+
import { AISDKError as AISDKError18 } from "@ai-sdk/provider";
|
1098
1318
|
function wrapGatewayError(error) {
|
1099
1319
|
if (GatewayAuthenticationError.isInstance(error) || GatewayModelNotFoundError.isInstance(error)) {
|
1100
|
-
return new
|
1320
|
+
return new AISDKError18({
|
1101
1321
|
name: "GatewayError",
|
1102
1322
|
message: "Vercel AI Gateway access failed. If you want to use AI SDK providers directly, use the providers, e.g. @ai-sdk/openai, or register a different global default provider.",
|
1103
1323
|
cause: error
|
@@ -1281,7 +1501,7 @@ function selectTelemetryAttributes({
|
|
1281
1501
|
return {};
|
1282
1502
|
}
|
1283
1503
|
return Object.entries(attributes).reduce((attributes2, [key, value]) => {
|
1284
|
-
if (value
|
1504
|
+
if (value == null) {
|
1285
1505
|
return attributes2;
|
1286
1506
|
}
|
1287
1507
|
if (typeof value === "object" && "input" in value && typeof value.input === "function") {
|
@@ -1289,14 +1509,14 @@ function selectTelemetryAttributes({
|
|
1289
1509
|
return attributes2;
|
1290
1510
|
}
|
1291
1511
|
const result = value.input();
|
1292
|
-
return result
|
1512
|
+
return result == null ? attributes2 : { ...attributes2, [key]: result };
|
1293
1513
|
}
|
1294
1514
|
if (typeof value === "object" && "output" in value && typeof value.output === "function") {
|
1295
1515
|
if ((telemetry == null ? void 0 : telemetry.recordOutputs) === false) {
|
1296
1516
|
return attributes2;
|
1297
1517
|
}
|
1298
1518
|
const result = value.output();
|
1299
|
-
return result
|
1519
|
+
return result == null ? attributes2 : { ...attributes2, [key]: result };
|
1300
1520
|
}
|
1301
1521
|
return { ...attributes2, [key]: value };
|
1302
1522
|
}, {});
|
@@ -1391,77 +1611,6 @@ import {
|
|
1391
1611
|
safeParseJSON,
|
1392
1612
|
safeValidateTypes as safeValidateTypes2
|
1393
1613
|
} from "@ai-sdk/provider-utils";
|
1394
|
-
|
1395
|
-
// src/error/invalid-tool-input-error.ts
|
1396
|
-
import { AISDKError as AISDKError9, getErrorMessage as getErrorMessage2 } from "@ai-sdk/provider";
|
1397
|
-
var name7 = "AI_InvalidToolInputError";
|
1398
|
-
var marker7 = `vercel.ai.error.${name7}`;
|
1399
|
-
var symbol7 = Symbol.for(marker7);
|
1400
|
-
var _a7;
|
1401
|
-
var InvalidToolInputError = class extends AISDKError9 {
|
1402
|
-
constructor({
|
1403
|
-
toolInput,
|
1404
|
-
toolName,
|
1405
|
-
cause,
|
1406
|
-
message = `Invalid input for tool ${toolName}: ${getErrorMessage2(cause)}`
|
1407
|
-
}) {
|
1408
|
-
super({ name: name7, message, cause });
|
1409
|
-
this[_a7] = true;
|
1410
|
-
this.toolInput = toolInput;
|
1411
|
-
this.toolName = toolName;
|
1412
|
-
}
|
1413
|
-
static isInstance(error) {
|
1414
|
-
return AISDKError9.hasMarker(error, marker7);
|
1415
|
-
}
|
1416
|
-
};
|
1417
|
-
_a7 = symbol7;
|
1418
|
-
|
1419
|
-
// src/error/no-such-tool-error.ts
|
1420
|
-
import { AISDKError as AISDKError10 } from "@ai-sdk/provider";
|
1421
|
-
var name8 = "AI_NoSuchToolError";
|
1422
|
-
var marker8 = `vercel.ai.error.${name8}`;
|
1423
|
-
var symbol8 = Symbol.for(marker8);
|
1424
|
-
var _a8;
|
1425
|
-
var NoSuchToolError = class extends AISDKError10 {
|
1426
|
-
constructor({
|
1427
|
-
toolName,
|
1428
|
-
availableTools = void 0,
|
1429
|
-
message = `Model tried to call unavailable tool '${toolName}'. ${availableTools === void 0 ? "No tools are available." : `Available tools: ${availableTools.join(", ")}.`}`
|
1430
|
-
}) {
|
1431
|
-
super({ name: name8, message });
|
1432
|
-
this[_a8] = true;
|
1433
|
-
this.toolName = toolName;
|
1434
|
-
this.availableTools = availableTools;
|
1435
|
-
}
|
1436
|
-
static isInstance(error) {
|
1437
|
-
return AISDKError10.hasMarker(error, marker8);
|
1438
|
-
}
|
1439
|
-
};
|
1440
|
-
_a8 = symbol8;
|
1441
|
-
|
1442
|
-
// src/error/tool-call-repair-error.ts
|
1443
|
-
import { AISDKError as AISDKError11, getErrorMessage as getErrorMessage3 } from "@ai-sdk/provider";
|
1444
|
-
var name9 = "AI_ToolCallRepairError";
|
1445
|
-
var marker9 = `vercel.ai.error.${name9}`;
|
1446
|
-
var symbol9 = Symbol.for(marker9);
|
1447
|
-
var _a9;
|
1448
|
-
var ToolCallRepairError = class extends AISDKError11 {
|
1449
|
-
constructor({
|
1450
|
-
cause,
|
1451
|
-
originalError,
|
1452
|
-
message = `Error repairing tool call: ${getErrorMessage3(cause)}`
|
1453
|
-
}) {
|
1454
|
-
super({ name: name9, message, cause });
|
1455
|
-
this[_a9] = true;
|
1456
|
-
this.originalError = originalError;
|
1457
|
-
}
|
1458
|
-
static isInstance(error) {
|
1459
|
-
return AISDKError11.hasMarker(error, marker9);
|
1460
|
-
}
|
1461
|
-
};
|
1462
|
-
_a9 = symbol9;
|
1463
|
-
|
1464
|
-
// src/generate-text/parse-tool-call.ts
|
1465
1614
|
async function parseToolCall({
|
1466
1615
|
toolCall,
|
1467
1616
|
tools,
|
@@ -1529,7 +1678,8 @@ async function doParseToolCall({
|
|
1529
1678
|
toolCallId: toolCall.toolCallId,
|
1530
1679
|
toolName,
|
1531
1680
|
input: parseResult.value,
|
1532
|
-
providerExecuted: toolCall.providerExecuted
|
1681
|
+
providerExecuted: toolCall.providerExecuted,
|
1682
|
+
providerMetadata: toolCall.providerMetadata
|
1533
1683
|
};
|
1534
1684
|
}
|
1535
1685
|
|
@@ -1636,7 +1786,8 @@ function toResponseMessages({
|
|
1636
1786
|
return {
|
1637
1787
|
type: "file",
|
1638
1788
|
data: part.file.base64,
|
1639
|
-
mediaType: part.file.mediaType
|
1789
|
+
mediaType: part.file.mediaType,
|
1790
|
+
providerOptions: part.providerMetadata
|
1640
1791
|
};
|
1641
1792
|
case "tool-call":
|
1642
1793
|
return {
|
@@ -1644,7 +1795,8 @@ function toResponseMessages({
|
|
1644
1795
|
toolCallId: part.toolCallId,
|
1645
1796
|
toolName: part.toolName,
|
1646
1797
|
input: part.input,
|
1647
|
-
providerExecuted: part.providerExecuted
|
1798
|
+
providerExecuted: part.providerExecuted,
|
1799
|
+
providerOptions: part.providerMetadata
|
1648
1800
|
};
|
1649
1801
|
case "tool-result":
|
1650
1802
|
return {
|
@@ -1656,7 +1808,8 @@ function toResponseMessages({
|
|
1656
1808
|
output: part.output,
|
1657
1809
|
errorMode: "none"
|
1658
1810
|
}),
|
1659
|
-
providerExecuted: true
|
1811
|
+
providerExecuted: true,
|
1812
|
+
providerOptions: part.providerMetadata
|
1660
1813
|
};
|
1661
1814
|
case "tool-error":
|
1662
1815
|
return {
|
@@ -1667,7 +1820,8 @@ function toResponseMessages({
|
|
1667
1820
|
tool: tools == null ? void 0 : tools[part.toolName],
|
1668
1821
|
output: part.error,
|
1669
1822
|
errorMode: "json"
|
1670
|
-
})
|
1823
|
+
}),
|
1824
|
+
providerOptions: part.providerMetadata
|
1671
1825
|
};
|
1672
1826
|
}
|
1673
1827
|
});
|
@@ -4445,11 +4599,19 @@ var DefaultStreamTextResult = class {
|
|
4445
4599
|
tools
|
4446
4600
|
})
|
4447
4601
|
);
|
4448
|
-
|
4449
|
-
|
4450
|
-
|
4451
|
-
|
4452
|
-
|
4602
|
+
try {
|
4603
|
+
await streamStep({
|
4604
|
+
currentStep: currentStep + 1,
|
4605
|
+
responseMessages,
|
4606
|
+
usage: combinedUsage
|
4607
|
+
});
|
4608
|
+
} catch (error) {
|
4609
|
+
controller.enqueue({
|
4610
|
+
type: "error",
|
4611
|
+
error
|
4612
|
+
});
|
4613
|
+
self.closeStream();
|
4614
|
+
}
|
4453
4615
|
} else {
|
4454
4616
|
controller.enqueue({
|
4455
4617
|
type: "finish",
|
@@ -4894,6 +5056,13 @@ async function embed({
|
|
4894
5056
|
headers,
|
4895
5057
|
experimental_telemetry: telemetry
|
4896
5058
|
}) {
|
5059
|
+
if (model.specificationVersion !== "v2") {
|
5060
|
+
throw new UnsupportedModelVersionError({
|
5061
|
+
version: model.specificationVersion,
|
5062
|
+
provider: model.provider,
|
5063
|
+
modelId: model.modelId
|
5064
|
+
});
|
5065
|
+
}
|
4897
5066
|
const { maxRetries, retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
4898
5067
|
const baseTelemetryAttributes = getBaseTelemetryAttributes({
|
4899
5068
|
model,
|
@@ -5014,6 +5183,13 @@ async function embedMany({
|
|
5014
5183
|
providerOptions,
|
5015
5184
|
experimental_telemetry: telemetry
|
5016
5185
|
}) {
|
5186
|
+
if (model.specificationVersion !== "v2") {
|
5187
|
+
throw new UnsupportedModelVersionError({
|
5188
|
+
version: model.specificationVersion,
|
5189
|
+
provider: model.provider,
|
5190
|
+
modelId: model.modelId
|
5191
|
+
});
|
5192
|
+
}
|
5017
5193
|
const { maxRetries, retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
5018
5194
|
const baseTelemetryAttributes = getBaseTelemetryAttributes({
|
5019
5195
|
model,
|
@@ -5204,134 +5380,6 @@ var DefaultEmbedManyResult = class {
|
|
5204
5380
|
}
|
5205
5381
|
};
|
5206
5382
|
|
5207
|
-
// src/error/index.ts
|
5208
|
-
import {
|
5209
|
-
AISDKError as AISDKError17,
|
5210
|
-
APICallError as APICallError2,
|
5211
|
-
EmptyResponseBodyError,
|
5212
|
-
InvalidPromptError as InvalidPromptError2,
|
5213
|
-
InvalidResponseDataError,
|
5214
|
-
JSONParseError,
|
5215
|
-
LoadAPIKeyError,
|
5216
|
-
NoContentGeneratedError,
|
5217
|
-
NoSuchModelError,
|
5218
|
-
TypeValidationError,
|
5219
|
-
UnsupportedFunctionalityError
|
5220
|
-
} from "@ai-sdk/provider";
|
5221
|
-
|
5222
|
-
// src/error/invalid-stream-part-error.ts
|
5223
|
-
import { AISDKError as AISDKError12 } from "@ai-sdk/provider";
|
5224
|
-
var name10 = "AI_InvalidStreamPartError";
|
5225
|
-
var marker10 = `vercel.ai.error.${name10}`;
|
5226
|
-
var symbol10 = Symbol.for(marker10);
|
5227
|
-
var _a10;
|
5228
|
-
var InvalidStreamPartError = class extends AISDKError12 {
|
5229
|
-
constructor({
|
5230
|
-
chunk,
|
5231
|
-
message
|
5232
|
-
}) {
|
5233
|
-
super({ name: name10, message });
|
5234
|
-
this[_a10] = true;
|
5235
|
-
this.chunk = chunk;
|
5236
|
-
}
|
5237
|
-
static isInstance(error) {
|
5238
|
-
return AISDKError12.hasMarker(error, marker10);
|
5239
|
-
}
|
5240
|
-
};
|
5241
|
-
_a10 = symbol10;
|
5242
|
-
|
5243
|
-
// src/error/mcp-client-error.ts
|
5244
|
-
import { AISDKError as AISDKError13 } from "@ai-sdk/provider";
|
5245
|
-
var name11 = "AI_MCPClientError";
|
5246
|
-
var marker11 = `vercel.ai.error.${name11}`;
|
5247
|
-
var symbol11 = Symbol.for(marker11);
|
5248
|
-
var _a11;
|
5249
|
-
var MCPClientError = class extends AISDKError13 {
|
5250
|
-
constructor({
|
5251
|
-
name: name16 = "MCPClientError",
|
5252
|
-
message,
|
5253
|
-
cause
|
5254
|
-
}) {
|
5255
|
-
super({ name: name16, message, cause });
|
5256
|
-
this[_a11] = true;
|
5257
|
-
}
|
5258
|
-
static isInstance(error) {
|
5259
|
-
return AISDKError13.hasMarker(error, marker11);
|
5260
|
-
}
|
5261
|
-
};
|
5262
|
-
_a11 = symbol11;
|
5263
|
-
|
5264
|
-
// src/error/no-image-generated-error.ts
|
5265
|
-
import { AISDKError as AISDKError14 } from "@ai-sdk/provider";
|
5266
|
-
var name12 = "AI_NoImageGeneratedError";
|
5267
|
-
var marker12 = `vercel.ai.error.${name12}`;
|
5268
|
-
var symbol12 = Symbol.for(marker12);
|
5269
|
-
var _a12;
|
5270
|
-
var NoImageGeneratedError = class extends AISDKError14 {
|
5271
|
-
constructor({
|
5272
|
-
message = "No image generated.",
|
5273
|
-
cause,
|
5274
|
-
responses
|
5275
|
-
}) {
|
5276
|
-
super({ name: name12, message, cause });
|
5277
|
-
this[_a12] = true;
|
5278
|
-
this.responses = responses;
|
5279
|
-
}
|
5280
|
-
static isInstance(error) {
|
5281
|
-
return AISDKError14.hasMarker(error, marker12);
|
5282
|
-
}
|
5283
|
-
};
|
5284
|
-
_a12 = symbol12;
|
5285
|
-
|
5286
|
-
// src/error/no-object-generated-error.ts
|
5287
|
-
import { AISDKError as AISDKError15 } from "@ai-sdk/provider";
|
5288
|
-
var name13 = "AI_NoObjectGeneratedError";
|
5289
|
-
var marker13 = `vercel.ai.error.${name13}`;
|
5290
|
-
var symbol13 = Symbol.for(marker13);
|
5291
|
-
var _a13;
|
5292
|
-
var NoObjectGeneratedError = class extends AISDKError15 {
|
5293
|
-
constructor({
|
5294
|
-
message = "No object generated.",
|
5295
|
-
cause,
|
5296
|
-
text: text2,
|
5297
|
-
response,
|
5298
|
-
usage,
|
5299
|
-
finishReason
|
5300
|
-
}) {
|
5301
|
-
super({ name: name13, message, cause });
|
5302
|
-
this[_a13] = true;
|
5303
|
-
this.text = text2;
|
5304
|
-
this.response = response;
|
5305
|
-
this.usage = usage;
|
5306
|
-
this.finishReason = finishReason;
|
5307
|
-
}
|
5308
|
-
static isInstance(error) {
|
5309
|
-
return AISDKError15.hasMarker(error, marker13);
|
5310
|
-
}
|
5311
|
-
};
|
5312
|
-
_a13 = symbol13;
|
5313
|
-
|
5314
|
-
// src/prompt/message-conversion-error.ts
|
5315
|
-
import { AISDKError as AISDKError16 } from "@ai-sdk/provider";
|
5316
|
-
var name14 = "AI_MessageConversionError";
|
5317
|
-
var marker14 = `vercel.ai.error.${name14}`;
|
5318
|
-
var symbol14 = Symbol.for(marker14);
|
5319
|
-
var _a14;
|
5320
|
-
var MessageConversionError = class extends AISDKError16 {
|
5321
|
-
constructor({
|
5322
|
-
originalMessage,
|
5323
|
-
message
|
5324
|
-
}) {
|
5325
|
-
super({ name: name14, message });
|
5326
|
-
this[_a14] = true;
|
5327
|
-
this.originalMessage = originalMessage;
|
5328
|
-
}
|
5329
|
-
static isInstance(error) {
|
5330
|
-
return AISDKError16.hasMarker(error, marker14);
|
5331
|
-
}
|
5332
|
-
};
|
5333
|
-
_a14 = symbol14;
|
5334
|
-
|
5335
5383
|
// src/generate-image/generate-image.ts
|
5336
5384
|
async function generateImage({
|
5337
5385
|
model,
|
@@ -5347,6 +5395,13 @@ async function generateImage({
|
|
5347
5395
|
headers
|
5348
5396
|
}) {
|
5349
5397
|
var _a16, _b;
|
5398
|
+
if (model.specificationVersion !== "v2") {
|
5399
|
+
throw new UnsupportedModelVersionError({
|
5400
|
+
version: model.specificationVersion,
|
5401
|
+
provider: model.provider,
|
5402
|
+
modelId: model.modelId
|
5403
|
+
});
|
5404
|
+
}
|
5350
5405
|
const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
5351
5406
|
const maxImagesPerCallWithDefault = (_a16 = maxImagesPerCall != null ? maxImagesPerCall : await invokeModelMaxImagesPerCall(model)) != null ? _a16 : 1;
|
5352
5407
|
const callCount = Math.ceil(n / maxImagesPerCallWithDefault);
|
@@ -6758,8 +6813,8 @@ var DefaultStreamObjectResult = class {
|
|
6758
6813
|
};
|
6759
6814
|
|
6760
6815
|
// src/error/no-speech-generated-error.ts
|
6761
|
-
import { AISDKError as
|
6762
|
-
var NoSpeechGeneratedError = class extends
|
6816
|
+
import { AISDKError as AISDKError19 } from "@ai-sdk/provider";
|
6817
|
+
var NoSpeechGeneratedError = class extends AISDKError19 {
|
6763
6818
|
constructor(options) {
|
6764
6819
|
super({
|
6765
6820
|
name: "AI_NoSpeechGeneratedError",
|
@@ -6809,6 +6864,13 @@ async function generateSpeech({
|
|
6809
6864
|
headers
|
6810
6865
|
}) {
|
6811
6866
|
var _a16;
|
6867
|
+
if (model.specificationVersion !== "v2") {
|
6868
|
+
throw new UnsupportedModelVersionError({
|
6869
|
+
version: model.specificationVersion,
|
6870
|
+
provider: model.provider,
|
6871
|
+
modelId: model.modelId
|
6872
|
+
});
|
6873
|
+
}
|
6812
6874
|
const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
6813
6875
|
const result = await retry(
|
6814
6876
|
() => model.doGenerate({
|
@@ -7358,7 +7420,7 @@ function customProvider({
|
|
7358
7420
|
var experimental_customProvider = customProvider;
|
7359
7421
|
|
7360
7422
|
// src/registry/no-such-provider-error.ts
|
7361
|
-
import { AISDKError as
|
7423
|
+
import { AISDKError as AISDKError20, NoSuchModelError as NoSuchModelError3 } from "@ai-sdk/provider";
|
7362
7424
|
var name15 = "AI_NoSuchProviderError";
|
7363
7425
|
var marker15 = `vercel.ai.error.${name15}`;
|
7364
7426
|
var symbol15 = Symbol.for(marker15);
|
@@ -7377,7 +7439,7 @@ var NoSuchProviderError = class extends NoSuchModelError3 {
|
|
7377
7439
|
this.availableProviders = availableProviders;
|
7378
7440
|
}
|
7379
7441
|
static isInstance(error) {
|
7380
|
-
return
|
7442
|
+
return AISDKError20.hasMarker(error, marker15);
|
7381
7443
|
}
|
7382
7444
|
};
|
7383
7445
|
_a15 = symbol15;
|
@@ -8060,8 +8122,8 @@ import {
|
|
8060
8122
|
} from "@ai-sdk/provider-utils";
|
8061
8123
|
|
8062
8124
|
// src/error/no-transcript-generated-error.ts
|
8063
|
-
import { AISDKError as
|
8064
|
-
var NoTranscriptGeneratedError = class extends
|
8125
|
+
import { AISDKError as AISDKError21 } from "@ai-sdk/provider";
|
8126
|
+
var NoTranscriptGeneratedError = class extends AISDKError21 {
|
8065
8127
|
constructor(options) {
|
8066
8128
|
super({
|
8067
8129
|
name: "AI_NoTranscriptGeneratedError",
|
@@ -8080,6 +8142,13 @@ async function transcribe({
|
|
8080
8142
|
abortSignal,
|
8081
8143
|
headers
|
8082
8144
|
}) {
|
8145
|
+
if (model.specificationVersion !== "v2") {
|
8146
|
+
throw new UnsupportedModelVersionError({
|
8147
|
+
version: model.specificationVersion,
|
8148
|
+
provider: model.provider,
|
8149
|
+
modelId: model.modelId
|
8150
|
+
});
|
8151
|
+
}
|
8083
8152
|
const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
8084
8153
|
const audioData = audio instanceof URL ? (await download({ url: audio })).data : convertDataContentToUint8Array(audio);
|
8085
8154
|
const result = await retry(
|
@@ -9100,7 +9169,7 @@ export {
|
|
9100
9169
|
InvalidArgumentError,
|
9101
9170
|
InvalidDataContentError,
|
9102
9171
|
InvalidMessageRoleError,
|
9103
|
-
|
9172
|
+
InvalidPromptError,
|
9104
9173
|
InvalidResponseDataError,
|
9105
9174
|
InvalidStreamPartError,
|
9106
9175
|
InvalidToolInputError,
|
@@ -9124,6 +9193,7 @@ export {
|
|
9124
9193
|
TypeValidationError,
|
9125
9194
|
UI_MESSAGE_STREAM_HEADERS,
|
9126
9195
|
UnsupportedFunctionalityError,
|
9196
|
+
UnsupportedModelVersionError,
|
9127
9197
|
asSchema5 as asSchema,
|
9128
9198
|
assistantModelMessageSchema,
|
9129
9199
|
callCompletionApi,
|