ai 4.1.1 → 4.1.3
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 +21 -0
- package/dist/index.d.mts +76 -11
- package/dist/index.d.ts +76 -11
- package/dist/index.js +302 -243
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +253 -201
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
- package/rsc/dist/rsc-server.mjs.map +1 -1
package/dist/index.js
CHANGED
@@ -4,8 +4,8 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
6
|
var __export = (target, all) => {
|
7
|
-
for (var
|
8
|
-
__defProp(target,
|
7
|
+
for (var name15 in all)
|
8
|
+
__defProp(target, name15, { get: all[name15], enumerable: true });
|
9
9
|
};
|
10
10
|
var __copyProps = (to, from, except, desc) => {
|
11
11
|
if (from && typeof from === "object" || typeof from === "function") {
|
@@ -20,26 +20,27 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
20
20
|
// streams/index.ts
|
21
21
|
var streams_exports = {};
|
22
22
|
__export(streams_exports, {
|
23
|
-
AISDKError: () =>
|
24
|
-
APICallError: () =>
|
23
|
+
AISDKError: () => import_provider17.AISDKError,
|
24
|
+
APICallError: () => import_provider17.APICallError,
|
25
25
|
AssistantResponse: () => AssistantResponse,
|
26
26
|
DownloadError: () => DownloadError,
|
27
|
-
EmptyResponseBodyError: () =>
|
27
|
+
EmptyResponseBodyError: () => import_provider17.EmptyResponseBodyError,
|
28
28
|
InvalidArgumentError: () => InvalidArgumentError,
|
29
29
|
InvalidDataContentError: () => InvalidDataContentError,
|
30
30
|
InvalidMessageRoleError: () => InvalidMessageRoleError,
|
31
|
-
InvalidPromptError: () =>
|
32
|
-
InvalidResponseDataError: () =>
|
31
|
+
InvalidPromptError: () => import_provider17.InvalidPromptError,
|
32
|
+
InvalidResponseDataError: () => import_provider17.InvalidResponseDataError,
|
33
33
|
InvalidToolArgumentsError: () => InvalidToolArgumentsError,
|
34
|
-
JSONParseError: () =>
|
34
|
+
JSONParseError: () => import_provider17.JSONParseError,
|
35
35
|
LangChainAdapter: () => langchain_adapter_exports,
|
36
36
|
LlamaIndexAdapter: () => llamaindex_adapter_exports,
|
37
|
-
LoadAPIKeyError: () =>
|
37
|
+
LoadAPIKeyError: () => import_provider17.LoadAPIKeyError,
|
38
38
|
MessageConversionError: () => MessageConversionError,
|
39
|
-
NoContentGeneratedError: () =>
|
39
|
+
NoContentGeneratedError: () => import_provider17.NoContentGeneratedError,
|
40
|
+
NoImageGeneratedError: () => NoImageGeneratedError,
|
40
41
|
NoObjectGeneratedError: () => NoObjectGeneratedError,
|
41
42
|
NoOutputSpecifiedError: () => NoOutputSpecifiedError,
|
42
|
-
NoSuchModelError: () =>
|
43
|
+
NoSuchModelError: () => import_provider17.NoSuchModelError,
|
43
44
|
NoSuchProviderError: () => NoSuchProviderError,
|
44
45
|
NoSuchToolError: () => NoSuchToolError,
|
45
46
|
Output: () => output_exports,
|
@@ -47,10 +48,16 @@ __export(streams_exports, {
|
|
47
48
|
StreamData: () => StreamData,
|
48
49
|
ToolCallRepairError: () => ToolCallRepairError,
|
49
50
|
ToolExecutionError: () => ToolExecutionError,
|
50
|
-
TypeValidationError: () =>
|
51
|
-
UnsupportedFunctionalityError: () =>
|
51
|
+
TypeValidationError: () => import_provider17.TypeValidationError,
|
52
|
+
UnsupportedFunctionalityError: () => import_provider17.UnsupportedFunctionalityError,
|
53
|
+
appendClientMessage: () => appendClientMessage,
|
52
54
|
appendResponseMessages: () => appendResponseMessages,
|
53
55
|
convertToCoreMessages: () => convertToCoreMessages,
|
56
|
+
coreAssistantMessageSchema: () => coreAssistantMessageSchema,
|
57
|
+
coreMessageSchema: () => coreMessageSchema,
|
58
|
+
coreSystemMessageSchema: () => coreSystemMessageSchema,
|
59
|
+
coreToolMessageSchema: () => coreToolMessageSchema,
|
60
|
+
coreUserMessageSchema: () => coreUserMessageSchema,
|
54
61
|
cosineSimilarity: () => cosineSimilarity,
|
55
62
|
createDataStream: () => createDataStream,
|
56
63
|
createDataStreamResponse: () => createDataStreamResponse,
|
@@ -420,7 +427,7 @@ function getBaseTelemetryAttributes({
|
|
420
427
|
telemetry,
|
421
428
|
headers
|
422
429
|
}) {
|
423
|
-
var
|
430
|
+
var _a15;
|
424
431
|
return {
|
425
432
|
"ai.model.provider": model.provider,
|
426
433
|
"ai.model.id": model.modelId,
|
@@ -430,7 +437,7 @@ function getBaseTelemetryAttributes({
|
|
430
437
|
return attributes;
|
431
438
|
}, {}),
|
432
439
|
// add metadata as attributes:
|
433
|
-
...Object.entries((
|
440
|
+
...Object.entries((_a15 = telemetry == null ? void 0 : telemetry.metadata) != null ? _a15 : {}).reduce(
|
434
441
|
(attributes, [key, value]) => {
|
435
442
|
attributes[`ai.telemetry.metadata.${key}`] = value;
|
436
443
|
return attributes;
|
@@ -455,7 +462,7 @@ var noopTracer = {
|
|
455
462
|
startSpan() {
|
456
463
|
return noopSpan;
|
457
464
|
},
|
458
|
-
startActiveSpan(
|
465
|
+
startActiveSpan(name15, arg1, arg2, arg3) {
|
459
466
|
if (typeof arg1 === "function") {
|
460
467
|
return arg1(noopSpan);
|
461
468
|
}
|
@@ -525,13 +532,13 @@ function getTracer({
|
|
525
532
|
// core/telemetry/record-span.ts
|
526
533
|
var import_api2 = require("@opentelemetry/api");
|
527
534
|
function recordSpan({
|
528
|
-
name:
|
535
|
+
name: name15,
|
529
536
|
tracer,
|
530
537
|
attributes,
|
531
538
|
fn,
|
532
539
|
endWhenDone = true
|
533
540
|
}) {
|
534
|
-
return tracer.startActiveSpan(
|
541
|
+
return tracer.startActiveSpan(name15, { attributes }, async (span) => {
|
535
542
|
try {
|
536
543
|
const result = await fn(span);
|
537
544
|
if (endWhenDone) {
|
@@ -639,14 +646,14 @@ async function embed({
|
|
639
646
|
}),
|
640
647
|
tracer,
|
641
648
|
fn: async (doEmbedSpan) => {
|
642
|
-
var
|
649
|
+
var _a15;
|
643
650
|
const modelResponse = await model.doEmbed({
|
644
651
|
values: [value],
|
645
652
|
abortSignal,
|
646
653
|
headers
|
647
654
|
});
|
648
655
|
const embedding2 = modelResponse.embeddings[0];
|
649
|
-
const usage2 = (
|
656
|
+
const usage2 = (_a15 = modelResponse.usage) != null ? _a15 : { tokens: NaN };
|
650
657
|
doEmbedSpan.setAttributes(
|
651
658
|
selectTelemetryAttributes({
|
652
659
|
telemetry,
|
@@ -756,14 +763,14 @@ async function embedMany({
|
|
756
763
|
}),
|
757
764
|
tracer,
|
758
765
|
fn: async (doEmbedSpan) => {
|
759
|
-
var
|
766
|
+
var _a15;
|
760
767
|
const modelResponse = await model.doEmbed({
|
761
768
|
values,
|
762
769
|
abortSignal,
|
763
770
|
headers
|
764
771
|
});
|
765
772
|
const embeddings3 = modelResponse.embeddings;
|
766
|
-
const usage2 = (
|
773
|
+
const usage2 = (_a15 = modelResponse.usage) != null ? _a15 : { tokens: NaN };
|
767
774
|
doEmbedSpan.setAttributes(
|
768
775
|
selectTelemetryAttributes({
|
769
776
|
telemetry,
|
@@ -815,14 +822,14 @@ async function embedMany({
|
|
815
822
|
}),
|
816
823
|
tracer,
|
817
824
|
fn: async (doEmbedSpan) => {
|
818
|
-
var
|
825
|
+
var _a15;
|
819
826
|
const modelResponse = await model.doEmbed({
|
820
827
|
values: chunk,
|
821
828
|
abortSignal,
|
822
829
|
headers
|
823
830
|
});
|
824
831
|
const embeddings2 = modelResponse.embeddings;
|
825
|
-
const usage2 = (
|
832
|
+
const usage2 = (_a15 = modelResponse.usage) != null ? _a15 : { tokens: NaN };
|
826
833
|
doEmbedSpan.setAttributes(
|
827
834
|
selectTelemetryAttributes({
|
828
835
|
telemetry,
|
@@ -870,6 +877,30 @@ var DefaultEmbedManyResult = class {
|
|
870
877
|
|
871
878
|
// core/generate-image/generate-image.ts
|
872
879
|
var import_provider_utils2 = require("@ai-sdk/provider-utils");
|
880
|
+
|
881
|
+
// errors/no-image-generated-error.ts
|
882
|
+
var import_provider4 = require("@ai-sdk/provider");
|
883
|
+
var name3 = "AI_NoImageGeneratedError";
|
884
|
+
var marker3 = `vercel.ai.error.${name3}`;
|
885
|
+
var symbol3 = Symbol.for(marker3);
|
886
|
+
var _a3;
|
887
|
+
var NoImageGeneratedError = class extends import_provider4.AISDKError {
|
888
|
+
constructor({
|
889
|
+
message = "No image generated.",
|
890
|
+
cause,
|
891
|
+
responses
|
892
|
+
}) {
|
893
|
+
super({ name: name3, message, cause });
|
894
|
+
this[_a3] = true;
|
895
|
+
this.responses = responses;
|
896
|
+
}
|
897
|
+
static isInstance(error) {
|
898
|
+
return import_provider4.AISDKError.hasMarker(error, marker3);
|
899
|
+
}
|
900
|
+
};
|
901
|
+
_a3 = symbol3;
|
902
|
+
|
903
|
+
// core/generate-image/generate-image.ts
|
873
904
|
async function generateImage({
|
874
905
|
model,
|
875
906
|
prompt,
|
@@ -880,11 +911,14 @@ async function generateImage({
|
|
880
911
|
providerOptions,
|
881
912
|
maxRetries: maxRetriesArg,
|
882
913
|
abortSignal,
|
883
|
-
headers
|
914
|
+
headers,
|
915
|
+
_internal = {
|
916
|
+
currentDate: () => /* @__PURE__ */ new Date()
|
917
|
+
}
|
884
918
|
}) {
|
885
|
-
var
|
919
|
+
var _a15;
|
886
920
|
const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
887
|
-
const maxImagesPerCall = (
|
921
|
+
const maxImagesPerCall = (_a15 = model.maxImagesPerCall) != null ? _a15 : 1;
|
888
922
|
const callCount = Math.ceil(n / maxImagesPerCall);
|
889
923
|
const callImageCounts = Array.from({ length: callCount }, (_, i) => {
|
890
924
|
if (i < callCount - 1) {
|
@@ -911,18 +945,24 @@ async function generateImage({
|
|
911
945
|
);
|
912
946
|
const images = [];
|
913
947
|
const warnings = [];
|
948
|
+
const responses = [];
|
914
949
|
for (const result of results) {
|
915
950
|
images.push(
|
916
951
|
...result.images.map((image) => new DefaultGeneratedImage({ image }))
|
917
952
|
);
|
918
953
|
warnings.push(...result.warnings);
|
954
|
+
responses.push(result.response);
|
955
|
+
}
|
956
|
+
if (!images.length) {
|
957
|
+
throw new NoImageGeneratedError({ responses });
|
919
958
|
}
|
920
|
-
return new DefaultGenerateImageResult({ images, warnings });
|
959
|
+
return new DefaultGenerateImageResult({ images, warnings, responses });
|
921
960
|
}
|
922
961
|
var DefaultGenerateImageResult = class {
|
923
962
|
constructor(options) {
|
924
963
|
this.images = options.images;
|
925
964
|
this.warnings = options.warnings;
|
965
|
+
this.responses = options.responses;
|
926
966
|
}
|
927
967
|
get image() {
|
928
968
|
return this.images[0];
|
@@ -954,12 +994,12 @@ var DefaultGeneratedImage = class {
|
|
954
994
|
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
955
995
|
|
956
996
|
// errors/no-object-generated-error.ts
|
957
|
-
var
|
958
|
-
var
|
959
|
-
var
|
960
|
-
var
|
961
|
-
var
|
962
|
-
var NoObjectGeneratedError = class extends
|
997
|
+
var import_provider5 = require("@ai-sdk/provider");
|
998
|
+
var name4 = "AI_NoObjectGeneratedError";
|
999
|
+
var marker4 = `vercel.ai.error.${name4}`;
|
1000
|
+
var symbol4 = Symbol.for(marker4);
|
1001
|
+
var _a4;
|
1002
|
+
var NoObjectGeneratedError = class extends import_provider5.AISDKError {
|
963
1003
|
constructor({
|
964
1004
|
message = "No object generated.",
|
965
1005
|
cause,
|
@@ -967,25 +1007,25 @@ var NoObjectGeneratedError = class extends import_provider4.AISDKError {
|
|
967
1007
|
response,
|
968
1008
|
usage
|
969
1009
|
}) {
|
970
|
-
super({ name:
|
971
|
-
this[
|
1010
|
+
super({ name: name4, message, cause });
|
1011
|
+
this[_a4] = true;
|
972
1012
|
this.text = text2;
|
973
1013
|
this.response = response;
|
974
1014
|
this.usage = usage;
|
975
1015
|
}
|
976
1016
|
static isInstance(error) {
|
977
|
-
return
|
1017
|
+
return import_provider5.AISDKError.hasMarker(error, marker4);
|
978
1018
|
}
|
979
1019
|
};
|
980
|
-
|
1020
|
+
_a4 = symbol4;
|
981
1021
|
|
982
1022
|
// util/download-error.ts
|
983
|
-
var
|
984
|
-
var
|
985
|
-
var
|
986
|
-
var
|
987
|
-
var
|
988
|
-
var DownloadError = class extends
|
1023
|
+
var import_provider6 = require("@ai-sdk/provider");
|
1024
|
+
var name5 = "AI_DownloadError";
|
1025
|
+
var marker5 = `vercel.ai.error.${name5}`;
|
1026
|
+
var symbol5 = Symbol.for(marker5);
|
1027
|
+
var _a5;
|
1028
|
+
var DownloadError = class extends import_provider6.AISDKError {
|
989
1029
|
constructor({
|
990
1030
|
url,
|
991
1031
|
statusCode,
|
@@ -993,24 +1033,24 @@ var DownloadError = class extends import_provider5.AISDKError {
|
|
993
1033
|
cause,
|
994
1034
|
message = cause == null ? `Failed to download ${url}: ${statusCode} ${statusText}` : `Failed to download ${url}: ${cause}`
|
995
1035
|
}) {
|
996
|
-
super({ name:
|
997
|
-
this[
|
1036
|
+
super({ name: name5, message, cause });
|
1037
|
+
this[_a5] = true;
|
998
1038
|
this.url = url;
|
999
1039
|
this.statusCode = statusCode;
|
1000
1040
|
this.statusText = statusText;
|
1001
1041
|
}
|
1002
1042
|
static isInstance(error) {
|
1003
|
-
return
|
1043
|
+
return import_provider6.AISDKError.hasMarker(error, marker5);
|
1004
1044
|
}
|
1005
1045
|
};
|
1006
|
-
|
1046
|
+
_a5 = symbol5;
|
1007
1047
|
|
1008
1048
|
// util/download.ts
|
1009
1049
|
async function download({
|
1010
1050
|
url,
|
1011
1051
|
fetchImplementation = fetch
|
1012
1052
|
}) {
|
1013
|
-
var
|
1053
|
+
var _a15;
|
1014
1054
|
const urlText = url.toString();
|
1015
1055
|
try {
|
1016
1056
|
const response = await fetchImplementation(urlText);
|
@@ -1023,7 +1063,7 @@ async function download({
|
|
1023
1063
|
}
|
1024
1064
|
return {
|
1025
1065
|
data: new Uint8Array(await response.arrayBuffer()),
|
1026
|
-
mimeType: (
|
1066
|
+
mimeType: (_a15 = response.headers.get("content-type")) != null ? _a15 : void 0
|
1027
1067
|
};
|
1028
1068
|
} catch (error) {
|
1029
1069
|
if (DownloadError.isInstance(error)) {
|
@@ -1053,26 +1093,26 @@ function detectImageMimeType(image) {
|
|
1053
1093
|
var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
1054
1094
|
|
1055
1095
|
// core/prompt/invalid-data-content-error.ts
|
1056
|
-
var
|
1057
|
-
var
|
1058
|
-
var
|
1059
|
-
var
|
1060
|
-
var
|
1061
|
-
var InvalidDataContentError = class extends
|
1096
|
+
var import_provider7 = require("@ai-sdk/provider");
|
1097
|
+
var name6 = "AI_InvalidDataContentError";
|
1098
|
+
var marker6 = `vercel.ai.error.${name6}`;
|
1099
|
+
var symbol6 = Symbol.for(marker6);
|
1100
|
+
var _a6;
|
1101
|
+
var InvalidDataContentError = class extends import_provider7.AISDKError {
|
1062
1102
|
constructor({
|
1063
1103
|
content,
|
1064
1104
|
cause,
|
1065
1105
|
message = `Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof content}.`
|
1066
1106
|
}) {
|
1067
|
-
super({ name:
|
1068
|
-
this[
|
1107
|
+
super({ name: name6, message, cause });
|
1108
|
+
this[_a6] = true;
|
1069
1109
|
this.content = content;
|
1070
1110
|
}
|
1071
1111
|
static isInstance(error) {
|
1072
|
-
return
|
1112
|
+
return import_provider7.AISDKError.hasMarker(error, marker6);
|
1073
1113
|
}
|
1074
1114
|
};
|
1075
|
-
|
1115
|
+
_a6 = symbol6;
|
1076
1116
|
|
1077
1117
|
// core/prompt/data-content.ts
|
1078
1118
|
var import_zod = require("zod");
|
@@ -1083,8 +1123,8 @@ var dataContentSchema = import_zod.z.union([
|
|
1083
1123
|
import_zod.z.custom(
|
1084
1124
|
// Buffer might not be available in some environments such as CloudFlare:
|
1085
1125
|
(value) => {
|
1086
|
-
var
|
1087
|
-
return (_b = (
|
1126
|
+
var _a15, _b;
|
1127
|
+
return (_b = (_a15 = globalThis.Buffer) == null ? void 0 : _a15.isBuffer(value)) != null ? _b : false;
|
1088
1128
|
},
|
1089
1129
|
{ message: "Must be a Buffer" }
|
1090
1130
|
)
|
@@ -1127,25 +1167,25 @@ function convertUint8ArrayToText(uint8Array) {
|
|
1127
1167
|
}
|
1128
1168
|
|
1129
1169
|
// core/prompt/invalid-message-role-error.ts
|
1130
|
-
var
|
1131
|
-
var
|
1132
|
-
var
|
1133
|
-
var
|
1134
|
-
var
|
1135
|
-
var InvalidMessageRoleError = class extends
|
1170
|
+
var import_provider8 = require("@ai-sdk/provider");
|
1171
|
+
var name7 = "AI_InvalidMessageRoleError";
|
1172
|
+
var marker7 = `vercel.ai.error.${name7}`;
|
1173
|
+
var symbol7 = Symbol.for(marker7);
|
1174
|
+
var _a7;
|
1175
|
+
var InvalidMessageRoleError = class extends import_provider8.AISDKError {
|
1136
1176
|
constructor({
|
1137
1177
|
role,
|
1138
1178
|
message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
|
1139
1179
|
}) {
|
1140
|
-
super({ name:
|
1141
|
-
this[
|
1180
|
+
super({ name: name7, message });
|
1181
|
+
this[_a7] = true;
|
1142
1182
|
this.role = role;
|
1143
1183
|
}
|
1144
1184
|
static isInstance(error) {
|
1145
|
-
return
|
1185
|
+
return import_provider8.AISDKError.hasMarker(error, marker7);
|
1146
1186
|
}
|
1147
1187
|
};
|
1148
|
-
|
1188
|
+
_a7 = symbol7;
|
1149
1189
|
|
1150
1190
|
// core/prompt/split-data-url.ts
|
1151
1191
|
function splitDataUrl(dataUrl) {
|
@@ -1275,7 +1315,7 @@ async function downloadAssets(messages, downloadImplementation, modelSupportsIma
|
|
1275
1315
|
);
|
1276
1316
|
}
|
1277
1317
|
function convertPartToLanguageModelPart(part, downloadedAssets) {
|
1278
|
-
var
|
1318
|
+
var _a15;
|
1279
1319
|
if (part.type === "text") {
|
1280
1320
|
return {
|
1281
1321
|
type: "text",
|
@@ -1328,7 +1368,7 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
|
|
1328
1368
|
switch (type) {
|
1329
1369
|
case "image": {
|
1330
1370
|
if (normalizedData instanceof Uint8Array) {
|
1331
|
-
mimeType = (
|
1371
|
+
mimeType = (_a15 = detectImageMimeType(normalizedData)) != null ? _a15 : mimeType;
|
1332
1372
|
}
|
1333
1373
|
return {
|
1334
1374
|
type: "image",
|
@@ -1445,7 +1485,7 @@ function prepareCallSettings({
|
|
1445
1485
|
}
|
1446
1486
|
|
1447
1487
|
// core/prompt/standardize-prompt.ts
|
1448
|
-
var
|
1488
|
+
var import_provider10 = require("@ai-sdk/provider");
|
1449
1489
|
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
1450
1490
|
var import_zod7 = require("zod");
|
1451
1491
|
|
@@ -1595,7 +1635,7 @@ function detectSingleMessageCharacteristics(message) {
|
|
1595
1635
|
|
1596
1636
|
// core/prompt/attachments-to-parts.ts
|
1597
1637
|
function attachmentsToParts(attachments) {
|
1598
|
-
var
|
1638
|
+
var _a15, _b, _c;
|
1599
1639
|
const parts = [];
|
1600
1640
|
for (const attachment of attachments) {
|
1601
1641
|
let url;
|
@@ -1607,7 +1647,7 @@ function attachmentsToParts(attachments) {
|
|
1607
1647
|
switch (url.protocol) {
|
1608
1648
|
case "http:":
|
1609
1649
|
case "https:": {
|
1610
|
-
if ((
|
1650
|
+
if ((_a15 = attachment.contentType) == null ? void 0 : _a15.startsWith("image/")) {
|
1611
1651
|
parts.push({ type: "image", image: url });
|
1612
1652
|
} else {
|
1613
1653
|
if (!attachment.contentType) {
|
@@ -1671,30 +1711,30 @@ function attachmentsToParts(attachments) {
|
|
1671
1711
|
}
|
1672
1712
|
|
1673
1713
|
// core/prompt/message-conversion-error.ts
|
1674
|
-
var
|
1675
|
-
var
|
1676
|
-
var
|
1677
|
-
var
|
1678
|
-
var
|
1679
|
-
var MessageConversionError = class extends
|
1714
|
+
var import_provider9 = require("@ai-sdk/provider");
|
1715
|
+
var name8 = "AI_MessageConversionError";
|
1716
|
+
var marker8 = `vercel.ai.error.${name8}`;
|
1717
|
+
var symbol8 = Symbol.for(marker8);
|
1718
|
+
var _a8;
|
1719
|
+
var MessageConversionError = class extends import_provider9.AISDKError {
|
1680
1720
|
constructor({
|
1681
1721
|
originalMessage,
|
1682
1722
|
message
|
1683
1723
|
}) {
|
1684
|
-
super({ name:
|
1685
|
-
this[
|
1724
|
+
super({ name: name8, message });
|
1725
|
+
this[_a8] = true;
|
1686
1726
|
this.originalMessage = originalMessage;
|
1687
1727
|
}
|
1688
1728
|
static isInstance(error) {
|
1689
|
-
return
|
1729
|
+
return import_provider9.AISDKError.hasMarker(error, marker8);
|
1690
1730
|
}
|
1691
1731
|
};
|
1692
|
-
|
1732
|
+
_a8 = symbol8;
|
1693
1733
|
|
1694
1734
|
// core/prompt/convert-to-core-messages.ts
|
1695
1735
|
function convertToCoreMessages(messages, options) {
|
1696
|
-
var
|
1697
|
-
const tools = (
|
1736
|
+
var _a15;
|
1737
|
+
const tools = (_a15 = options == null ? void 0 : options.tools) != null ? _a15 : {};
|
1698
1738
|
const coreMessages = [];
|
1699
1739
|
for (const message of messages) {
|
1700
1740
|
const { role, content, toolInvocations, experimental_attachments } = message;
|
@@ -1783,26 +1823,26 @@ function standardizePrompt({
|
|
1783
1823
|
tools
|
1784
1824
|
}) {
|
1785
1825
|
if (prompt.prompt == null && prompt.messages == null) {
|
1786
|
-
throw new
|
1826
|
+
throw new import_provider10.InvalidPromptError({
|
1787
1827
|
prompt,
|
1788
1828
|
message: "prompt or messages must be defined"
|
1789
1829
|
});
|
1790
1830
|
}
|
1791
1831
|
if (prompt.prompt != null && prompt.messages != null) {
|
1792
|
-
throw new
|
1832
|
+
throw new import_provider10.InvalidPromptError({
|
1793
1833
|
prompt,
|
1794
1834
|
message: "prompt and messages cannot be defined at the same time"
|
1795
1835
|
});
|
1796
1836
|
}
|
1797
1837
|
if (prompt.system != null && typeof prompt.system !== "string") {
|
1798
|
-
throw new
|
1838
|
+
throw new import_provider10.InvalidPromptError({
|
1799
1839
|
prompt,
|
1800
1840
|
message: "system must be a string"
|
1801
1841
|
});
|
1802
1842
|
}
|
1803
1843
|
if (prompt.prompt != null) {
|
1804
1844
|
if (typeof prompt.prompt !== "string") {
|
1805
|
-
throw new
|
1845
|
+
throw new import_provider10.InvalidPromptError({
|
1806
1846
|
prompt,
|
1807
1847
|
message: "prompt must be a string"
|
1808
1848
|
});
|
@@ -1821,7 +1861,7 @@ function standardizePrompt({
|
|
1821
1861
|
if (prompt.messages != null) {
|
1822
1862
|
const promptType = detectPromptType(prompt.messages);
|
1823
1863
|
if (promptType === "other") {
|
1824
|
-
throw new
|
1864
|
+
throw new import_provider10.InvalidPromptError({
|
1825
1865
|
prompt,
|
1826
1866
|
message: "messages must be an array of CoreMessage or UIMessage"
|
1827
1867
|
});
|
@@ -1834,7 +1874,7 @@ function standardizePrompt({
|
|
1834
1874
|
schema: import_zod7.z.array(coreMessageSchema)
|
1835
1875
|
});
|
1836
1876
|
if (!validationResult.success) {
|
1837
|
-
throw new
|
1877
|
+
throw new import_provider10.InvalidPromptError({
|
1838
1878
|
prompt,
|
1839
1879
|
message: "messages must be an array of CoreMessage or UIMessage",
|
1840
1880
|
cause: validationResult.error
|
@@ -1889,7 +1929,7 @@ function injectJsonInstruction({
|
|
1889
1929
|
}
|
1890
1930
|
|
1891
1931
|
// core/generate-object/output-strategy.ts
|
1892
|
-
var
|
1932
|
+
var import_provider11 = require("@ai-sdk/provider");
|
1893
1933
|
var import_provider_utils5 = require("@ai-sdk/provider-utils");
|
1894
1934
|
var import_ui_utils2 = require("@ai-sdk/ui-utils");
|
1895
1935
|
|
@@ -1927,7 +1967,7 @@ var noSchemaOutputStrategy = {
|
|
1927
1967
|
} : { success: true, value };
|
1928
1968
|
},
|
1929
1969
|
createElementStream() {
|
1930
|
-
throw new
|
1970
|
+
throw new import_provider11.UnsupportedFunctionalityError({
|
1931
1971
|
functionality: "element streams in no-schema mode"
|
1932
1972
|
});
|
1933
1973
|
}
|
@@ -1949,7 +1989,7 @@ var objectOutputStrategy = (schema) => ({
|
|
1949
1989
|
return (0, import_provider_utils5.safeValidateTypes)({ value, schema });
|
1950
1990
|
},
|
1951
1991
|
createElementStream() {
|
1952
|
-
throw new
|
1992
|
+
throw new import_provider11.UnsupportedFunctionalityError({
|
1953
1993
|
functionality: "element streams in object mode"
|
1954
1994
|
});
|
1955
1995
|
}
|
@@ -1971,11 +2011,11 @@ var arrayOutputStrategy = (schema) => {
|
|
1971
2011
|
additionalProperties: false
|
1972
2012
|
},
|
1973
2013
|
validatePartialResult({ value, latestObject, isFirstDelta, isFinalDelta }) {
|
1974
|
-
var
|
1975
|
-
if (!(0,
|
2014
|
+
var _a15;
|
2015
|
+
if (!(0, import_provider11.isJSONObject)(value) || !(0, import_provider11.isJSONArray)(value.elements)) {
|
1976
2016
|
return {
|
1977
2017
|
success: false,
|
1978
|
-
error: new
|
2018
|
+
error: new import_provider11.TypeValidationError({
|
1979
2019
|
value,
|
1980
2020
|
cause: "value must be an object that contains an array of elements"
|
1981
2021
|
})
|
@@ -1994,7 +2034,7 @@ var arrayOutputStrategy = (schema) => {
|
|
1994
2034
|
}
|
1995
2035
|
resultArray.push(result.value);
|
1996
2036
|
}
|
1997
|
-
const publishedElementCount = (
|
2037
|
+
const publishedElementCount = (_a15 = latestObject == null ? void 0 : latestObject.length) != null ? _a15 : 0;
|
1998
2038
|
let textDelta = "";
|
1999
2039
|
if (isFirstDelta) {
|
2000
2040
|
textDelta += "[";
|
@@ -2015,10 +2055,10 @@ var arrayOutputStrategy = (schema) => {
|
|
2015
2055
|
};
|
2016
2056
|
},
|
2017
2057
|
validateFinalResult(value) {
|
2018
|
-
if (!(0,
|
2058
|
+
if (!(0, import_provider11.isJSONObject)(value) || !(0, import_provider11.isJSONArray)(value.elements)) {
|
2019
2059
|
return {
|
2020
2060
|
success: false,
|
2021
|
-
error: new
|
2061
|
+
error: new import_provider11.TypeValidationError({
|
2022
2062
|
value,
|
2023
2063
|
cause: "value must be an object that contains an array of elements"
|
2024
2064
|
})
|
@@ -2083,10 +2123,10 @@ var enumOutputStrategy = (enumValues) => {
|
|
2083
2123
|
additionalProperties: false
|
2084
2124
|
},
|
2085
2125
|
validateFinalResult(value) {
|
2086
|
-
if (!(0,
|
2126
|
+
if (!(0, import_provider11.isJSONObject)(value) || typeof value.result !== "string") {
|
2087
2127
|
return {
|
2088
2128
|
success: false,
|
2089
|
-
error: new
|
2129
|
+
error: new import_provider11.TypeValidationError({
|
2090
2130
|
value,
|
2091
2131
|
cause: 'value must be an object that contains a string in the "result" property.'
|
2092
2132
|
})
|
@@ -2095,19 +2135,19 @@ var enumOutputStrategy = (enumValues) => {
|
|
2095
2135
|
const result = value.result;
|
2096
2136
|
return enumValues.includes(result) ? { success: true, value: result } : {
|
2097
2137
|
success: false,
|
2098
|
-
error: new
|
2138
|
+
error: new import_provider11.TypeValidationError({
|
2099
2139
|
value,
|
2100
2140
|
cause: "value must be a string in the enum"
|
2101
2141
|
})
|
2102
2142
|
};
|
2103
2143
|
},
|
2104
2144
|
validatePartialResult() {
|
2105
|
-
throw new
|
2145
|
+
throw new import_provider11.UnsupportedFunctionalityError({
|
2106
2146
|
functionality: "partial results in enum mode"
|
2107
2147
|
});
|
2108
2148
|
},
|
2109
2149
|
createElementStream() {
|
2110
|
-
throw new
|
2150
|
+
throw new import_provider11.UnsupportedFunctionalityError({
|
2111
2151
|
functionality: "element streams in enum mode"
|
2112
2152
|
});
|
2113
2153
|
}
|
@@ -2332,7 +2372,7 @@ async function generateObject({
|
|
2332
2372
|
}),
|
2333
2373
|
tracer,
|
2334
2374
|
fn: async (span) => {
|
2335
|
-
var
|
2375
|
+
var _a15, _b;
|
2336
2376
|
if (mode === "auto" || mode == null) {
|
2337
2377
|
mode = model.defaultObjectGenerationMode;
|
2338
2378
|
}
|
@@ -2394,7 +2434,7 @@ async function generateObject({
|
|
2394
2434
|
}),
|
2395
2435
|
tracer,
|
2396
2436
|
fn: async (span2) => {
|
2397
|
-
var
|
2437
|
+
var _a16, _b2, _c, _d, _e, _f;
|
2398
2438
|
const result2 = await model.doGenerate({
|
2399
2439
|
mode: {
|
2400
2440
|
type: "object-json",
|
@@ -2410,7 +2450,7 @@ async function generateObject({
|
|
2410
2450
|
headers
|
2411
2451
|
});
|
2412
2452
|
const responseData = {
|
2413
|
-
id: (_b2 = (
|
2453
|
+
id: (_b2 = (_a16 = result2.response) == null ? void 0 : _a16.id) != null ? _b2 : generateId3(),
|
2414
2454
|
timestamp: (_d = (_c = result2.response) == null ? void 0 : _c.timestamp) != null ? _d : currentDate(),
|
2415
2455
|
modelId: (_f = (_e = result2.response) == null ? void 0 : _e.modelId) != null ? _f : model.modelId
|
2416
2456
|
};
|
@@ -2452,7 +2492,7 @@ async function generateObject({
|
|
2452
2492
|
rawResponse = generateResult.rawResponse;
|
2453
2493
|
logprobs = generateResult.logprobs;
|
2454
2494
|
resultProviderMetadata = generateResult.providerMetadata;
|
2455
|
-
request = (
|
2495
|
+
request = (_a15 = generateResult.request) != null ? _a15 : {};
|
2456
2496
|
response = generateResult.responseData;
|
2457
2497
|
break;
|
2458
2498
|
}
|
@@ -2498,7 +2538,7 @@ async function generateObject({
|
|
2498
2538
|
}),
|
2499
2539
|
tracer,
|
2500
2540
|
fn: async (span2) => {
|
2501
|
-
var
|
2541
|
+
var _a16, _b2, _c, _d, _e, _f, _g, _h;
|
2502
2542
|
const result2 = await model.doGenerate({
|
2503
2543
|
mode: {
|
2504
2544
|
type: "object-tool",
|
@@ -2516,7 +2556,7 @@ async function generateObject({
|
|
2516
2556
|
abortSignal,
|
2517
2557
|
headers
|
2518
2558
|
});
|
2519
|
-
const objectText = (_b2 = (
|
2559
|
+
const objectText = (_b2 = (_a16 = result2.toolCalls) == null ? void 0 : _a16[0]) == null ? void 0 : _b2.args;
|
2520
2560
|
const responseData = {
|
2521
2561
|
id: (_d = (_c = result2.response) == null ? void 0 : _c.id) != null ? _d : generateId3(),
|
2522
2562
|
timestamp: (_f = (_e = result2.response) == null ? void 0 : _e.timestamp) != null ? _f : currentDate(),
|
@@ -2642,9 +2682,9 @@ var DefaultGenerateObjectResult = class {
|
|
2642
2682
|
this.logprobs = options.logprobs;
|
2643
2683
|
}
|
2644
2684
|
toJsonResponse(init) {
|
2645
|
-
var
|
2685
|
+
var _a15;
|
2646
2686
|
return new Response(JSON.stringify(this.object), {
|
2647
|
-
status: (
|
2687
|
+
status: (_a15 = init == null ? void 0 : init.status) != null ? _a15 : 200,
|
2648
2688
|
headers: prepareResponseHeaders(init == null ? void 0 : init.headers, {
|
2649
2689
|
contentType: "application/json; charset=utf-8"
|
2650
2690
|
})
|
@@ -2679,17 +2719,17 @@ var DelayedPromise = class {
|
|
2679
2719
|
return this.promise;
|
2680
2720
|
}
|
2681
2721
|
resolve(value) {
|
2682
|
-
var
|
2722
|
+
var _a15;
|
2683
2723
|
this.status = { type: "resolved", value };
|
2684
2724
|
if (this.promise) {
|
2685
|
-
(
|
2725
|
+
(_a15 = this._resolve) == null ? void 0 : _a15.call(this, value);
|
2686
2726
|
}
|
2687
2727
|
}
|
2688
2728
|
reject(error) {
|
2689
|
-
var
|
2729
|
+
var _a15;
|
2690
2730
|
this.status = { type: "rejected", error };
|
2691
2731
|
if (this.promise) {
|
2692
|
-
(
|
2732
|
+
(_a15 = this._reject) == null ? void 0 : _a15.call(this, error);
|
2693
2733
|
}
|
2694
2734
|
}
|
2695
2735
|
};
|
@@ -2793,8 +2833,8 @@ function createStitchableStream() {
|
|
2793
2833
|
|
2794
2834
|
// core/util/now.ts
|
2795
2835
|
function now() {
|
2796
|
-
var
|
2797
|
-
return (_b = (
|
2836
|
+
var _a15, _b;
|
2837
|
+
return (_b = (_a15 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a15.now()) != null ? _b : Date.now();
|
2798
2838
|
}
|
2799
2839
|
|
2800
2840
|
// core/generate-object/stream-object.ts
|
@@ -3083,7 +3123,7 @@ var DefaultStreamObjectResult = class {
|
|
3083
3123
|
const transformedStream = stream.pipeThrough(new TransformStream(transformer)).pipeThrough(
|
3084
3124
|
new TransformStream({
|
3085
3125
|
async transform(chunk, controller) {
|
3086
|
-
var
|
3126
|
+
var _a15, _b, _c;
|
3087
3127
|
if (isFirstChunk) {
|
3088
3128
|
const msToFirstChunk = now2() - startTimestampMs;
|
3089
3129
|
isFirstChunk = false;
|
@@ -3129,7 +3169,7 @@ var DefaultStreamObjectResult = class {
|
|
3129
3169
|
switch (chunk.type) {
|
3130
3170
|
case "response-metadata": {
|
3131
3171
|
response = {
|
3132
|
-
id: (
|
3172
|
+
id: (_a15 = chunk.id) != null ? _a15 : response.id,
|
3133
3173
|
timestamp: (_b = chunk.timestamp) != null ? _b : response.timestamp,
|
3134
3174
|
modelId: (_c = chunk.modelId) != null ? _c : response.modelId
|
3135
3175
|
};
|
@@ -3343,9 +3383,9 @@ var DefaultStreamObjectResult = class {
|
|
3343
3383
|
});
|
3344
3384
|
}
|
3345
3385
|
toTextStreamResponse(init) {
|
3346
|
-
var
|
3386
|
+
var _a15;
|
3347
3387
|
return new Response(this.textStream.pipeThrough(new TextEncoderStream()), {
|
3348
|
-
status: (
|
3388
|
+
status: (_a15 = init == null ? void 0 : init.status) != null ? _a15 : 200,
|
3349
3389
|
headers: prepareResponseHeaders(init == null ? void 0 : init.headers, {
|
3350
3390
|
contentType: "text/plain; charset=utf-8"
|
3351
3391
|
})
|
@@ -3357,48 +3397,48 @@ var DefaultStreamObjectResult = class {
|
|
3357
3397
|
var import_provider_utils9 = require("@ai-sdk/provider-utils");
|
3358
3398
|
|
3359
3399
|
// errors/no-output-specified-error.ts
|
3360
|
-
var
|
3361
|
-
var
|
3362
|
-
var
|
3363
|
-
var
|
3364
|
-
var
|
3365
|
-
var NoOutputSpecifiedError = class extends
|
3400
|
+
var import_provider12 = require("@ai-sdk/provider");
|
3401
|
+
var name9 = "AI_NoOutputSpecifiedError";
|
3402
|
+
var marker9 = `vercel.ai.error.${name9}`;
|
3403
|
+
var symbol9 = Symbol.for(marker9);
|
3404
|
+
var _a9;
|
3405
|
+
var NoOutputSpecifiedError = class extends import_provider12.AISDKError {
|
3366
3406
|
// used in isInstance
|
3367
3407
|
constructor({ message = "No output specified." } = {}) {
|
3368
|
-
super({ name:
|
3369
|
-
this[
|
3408
|
+
super({ name: name9, message });
|
3409
|
+
this[_a9] = true;
|
3370
3410
|
}
|
3371
3411
|
static isInstance(error) {
|
3372
|
-
return
|
3412
|
+
return import_provider12.AISDKError.hasMarker(error, marker9);
|
3373
3413
|
}
|
3374
3414
|
};
|
3375
|
-
|
3415
|
+
_a9 = symbol9;
|
3376
3416
|
|
3377
3417
|
// errors/tool-execution-error.ts
|
3378
|
-
var
|
3379
|
-
var
|
3380
|
-
var
|
3381
|
-
var
|
3382
|
-
var
|
3383
|
-
var ToolExecutionError = class extends
|
3418
|
+
var import_provider13 = require("@ai-sdk/provider");
|
3419
|
+
var name10 = "AI_ToolExecutionError";
|
3420
|
+
var marker10 = `vercel.ai.error.${name10}`;
|
3421
|
+
var symbol10 = Symbol.for(marker10);
|
3422
|
+
var _a10;
|
3423
|
+
var ToolExecutionError = class extends import_provider13.AISDKError {
|
3384
3424
|
constructor({
|
3385
3425
|
toolArgs,
|
3386
3426
|
toolName,
|
3387
3427
|
toolCallId,
|
3388
3428
|
cause,
|
3389
|
-
message = `Error executing tool ${toolName}: ${(0,
|
3429
|
+
message = `Error executing tool ${toolName}: ${(0, import_provider13.getErrorMessage)(cause)}`
|
3390
3430
|
}) {
|
3391
|
-
super({ name:
|
3392
|
-
this[
|
3431
|
+
super({ name: name10, message, cause });
|
3432
|
+
this[_a10] = true;
|
3393
3433
|
this.toolArgs = toolArgs;
|
3394
3434
|
this.toolName = toolName;
|
3395
3435
|
this.toolCallId = toolCallId;
|
3396
3436
|
}
|
3397
3437
|
static isInstance(error) {
|
3398
|
-
return
|
3438
|
+
return import_provider13.AISDKError.hasMarker(error, marker10);
|
3399
3439
|
}
|
3400
3440
|
};
|
3401
|
-
|
3441
|
+
_a10 = symbol10;
|
3402
3442
|
|
3403
3443
|
// core/prompt/prepare-tools-and-tool-choice.ts
|
3404
3444
|
var import_ui_utils4 = require("@ai-sdk/ui-utils");
|
@@ -3421,24 +3461,24 @@ function prepareToolsAndToolChoice({
|
|
3421
3461
|
};
|
3422
3462
|
}
|
3423
3463
|
const filteredTools = activeTools != null ? Object.entries(tools).filter(
|
3424
|
-
([
|
3464
|
+
([name15]) => activeTools.includes(name15)
|
3425
3465
|
) : Object.entries(tools);
|
3426
3466
|
return {
|
3427
|
-
tools: filteredTools.map(([
|
3467
|
+
tools: filteredTools.map(([name15, tool2]) => {
|
3428
3468
|
const toolType = tool2.type;
|
3429
3469
|
switch (toolType) {
|
3430
3470
|
case void 0:
|
3431
3471
|
case "function":
|
3432
3472
|
return {
|
3433
3473
|
type: "function",
|
3434
|
-
name:
|
3474
|
+
name: name15,
|
3435
3475
|
description: tool2.description,
|
3436
3476
|
parameters: (0, import_ui_utils4.asSchema)(tool2.parameters).jsonSchema
|
3437
3477
|
};
|
3438
3478
|
case "provider-defined":
|
3439
3479
|
return {
|
3440
3480
|
type: "provider-defined",
|
3441
|
-
name:
|
3481
|
+
name: name15,
|
3442
3482
|
id: tool2.id,
|
3443
3483
|
args: tool2.args
|
3444
3484
|
};
|
@@ -3470,75 +3510,75 @@ var import_provider_utils8 = require("@ai-sdk/provider-utils");
|
|
3470
3510
|
var import_ui_utils5 = require("@ai-sdk/ui-utils");
|
3471
3511
|
|
3472
3512
|
// errors/invalid-tool-arguments-error.ts
|
3473
|
-
var
|
3474
|
-
var
|
3475
|
-
var
|
3476
|
-
var
|
3477
|
-
var
|
3478
|
-
var InvalidToolArgumentsError = class extends
|
3513
|
+
var import_provider14 = require("@ai-sdk/provider");
|
3514
|
+
var name11 = "AI_InvalidToolArgumentsError";
|
3515
|
+
var marker11 = `vercel.ai.error.${name11}`;
|
3516
|
+
var symbol11 = Symbol.for(marker11);
|
3517
|
+
var _a11;
|
3518
|
+
var InvalidToolArgumentsError = class extends import_provider14.AISDKError {
|
3479
3519
|
constructor({
|
3480
3520
|
toolArgs,
|
3481
3521
|
toolName,
|
3482
3522
|
cause,
|
3483
|
-
message = `Invalid arguments for tool ${toolName}: ${(0,
|
3523
|
+
message = `Invalid arguments for tool ${toolName}: ${(0, import_provider14.getErrorMessage)(
|
3484
3524
|
cause
|
3485
3525
|
)}`
|
3486
3526
|
}) {
|
3487
|
-
super({ name:
|
3488
|
-
this[
|
3527
|
+
super({ name: name11, message, cause });
|
3528
|
+
this[_a11] = true;
|
3489
3529
|
this.toolArgs = toolArgs;
|
3490
3530
|
this.toolName = toolName;
|
3491
3531
|
}
|
3492
3532
|
static isInstance(error) {
|
3493
|
-
return
|
3533
|
+
return import_provider14.AISDKError.hasMarker(error, marker11);
|
3494
3534
|
}
|
3495
3535
|
};
|
3496
|
-
|
3536
|
+
_a11 = symbol11;
|
3497
3537
|
|
3498
3538
|
// errors/no-such-tool-error.ts
|
3499
|
-
var
|
3500
|
-
var
|
3501
|
-
var
|
3502
|
-
var
|
3503
|
-
var
|
3504
|
-
var NoSuchToolError = class extends
|
3539
|
+
var import_provider15 = require("@ai-sdk/provider");
|
3540
|
+
var name12 = "AI_NoSuchToolError";
|
3541
|
+
var marker12 = `vercel.ai.error.${name12}`;
|
3542
|
+
var symbol12 = Symbol.for(marker12);
|
3543
|
+
var _a12;
|
3544
|
+
var NoSuchToolError = class extends import_provider15.AISDKError {
|
3505
3545
|
constructor({
|
3506
3546
|
toolName,
|
3507
3547
|
availableTools = void 0,
|
3508
3548
|
message = `Model tried to call unavailable tool '${toolName}'. ${availableTools === void 0 ? "No tools are available." : `Available tools: ${availableTools.join(", ")}.`}`
|
3509
3549
|
}) {
|
3510
|
-
super({ name:
|
3511
|
-
this[
|
3550
|
+
super({ name: name12, message });
|
3551
|
+
this[_a12] = true;
|
3512
3552
|
this.toolName = toolName;
|
3513
3553
|
this.availableTools = availableTools;
|
3514
3554
|
}
|
3515
3555
|
static isInstance(error) {
|
3516
|
-
return
|
3556
|
+
return import_provider15.AISDKError.hasMarker(error, marker12);
|
3517
3557
|
}
|
3518
3558
|
};
|
3519
|
-
|
3559
|
+
_a12 = symbol12;
|
3520
3560
|
|
3521
3561
|
// errors/tool-call-repair-error.ts
|
3522
|
-
var
|
3523
|
-
var
|
3524
|
-
var
|
3525
|
-
var
|
3526
|
-
var
|
3527
|
-
var ToolCallRepairError = class extends
|
3562
|
+
var import_provider16 = require("@ai-sdk/provider");
|
3563
|
+
var name13 = "AI_ToolCallRepairError";
|
3564
|
+
var marker13 = `vercel.ai.error.${name13}`;
|
3565
|
+
var symbol13 = Symbol.for(marker13);
|
3566
|
+
var _a13;
|
3567
|
+
var ToolCallRepairError = class extends import_provider16.AISDKError {
|
3528
3568
|
constructor({
|
3529
3569
|
cause,
|
3530
3570
|
originalError,
|
3531
|
-
message = `Error repairing tool call: ${(0,
|
3571
|
+
message = `Error repairing tool call: ${(0, import_provider16.getErrorMessage)(cause)}`
|
3532
3572
|
}) {
|
3533
|
-
super({ name:
|
3534
|
-
this[
|
3573
|
+
super({ name: name13, message, cause });
|
3574
|
+
this[_a13] = true;
|
3535
3575
|
this.originalError = originalError;
|
3536
3576
|
}
|
3537
3577
|
static isInstance(error) {
|
3538
|
-
return
|
3578
|
+
return import_provider16.AISDKError.hasMarker(error, marker13);
|
3539
3579
|
}
|
3540
3580
|
};
|
3541
|
-
|
3581
|
+
_a13 = symbol13;
|
3542
3582
|
|
3543
3583
|
// core/generate-text/parse-tool-call.ts
|
3544
3584
|
async function parseToolCall({
|
@@ -3683,7 +3723,7 @@ async function generateText({
|
|
3683
3723
|
onStepFinish,
|
3684
3724
|
...settings
|
3685
3725
|
}) {
|
3686
|
-
var
|
3726
|
+
var _a15;
|
3687
3727
|
if (maxSteps < 1) {
|
3688
3728
|
throw new InvalidArgumentError({
|
3689
3729
|
parameter: "maxSteps",
|
@@ -3700,7 +3740,7 @@ async function generateText({
|
|
3700
3740
|
});
|
3701
3741
|
const initialPrompt = standardizePrompt({
|
3702
3742
|
prompt: {
|
3703
|
-
system: (
|
3743
|
+
system: (_a15 = output == null ? void 0 : output.injectIntoSystemPrompt({ system, model })) != null ? _a15 : system,
|
3704
3744
|
prompt,
|
3705
3745
|
messages
|
3706
3746
|
},
|
@@ -3726,7 +3766,7 @@ async function generateText({
|
|
3726
3766
|
}),
|
3727
3767
|
tracer,
|
3728
3768
|
fn: async (span) => {
|
3729
|
-
var
|
3769
|
+
var _a16, _b, _c, _d, _e, _f;
|
3730
3770
|
const mode = {
|
3731
3771
|
type: "regular",
|
3732
3772
|
...prepareToolsAndToolChoice({ tools, toolChoice, activeTools })
|
@@ -3778,8 +3818,8 @@ async function generateText({
|
|
3778
3818
|
"ai.prompt.tools": {
|
3779
3819
|
// convert the language model level tools:
|
3780
3820
|
input: () => {
|
3781
|
-
var
|
3782
|
-
return (
|
3821
|
+
var _a17;
|
3822
|
+
return (_a17 = mode.tools) == null ? void 0 : _a17.map((tool2) => JSON.stringify(tool2));
|
3783
3823
|
}
|
3784
3824
|
},
|
3785
3825
|
"ai.prompt.toolChoice": {
|
@@ -3799,7 +3839,7 @@ async function generateText({
|
|
3799
3839
|
}),
|
3800
3840
|
tracer,
|
3801
3841
|
fn: async (span2) => {
|
3802
|
-
var
|
3842
|
+
var _a17, _b2, _c2, _d2, _e2, _f2;
|
3803
3843
|
const result = await model.doGenerate({
|
3804
3844
|
mode,
|
3805
3845
|
...callSettings,
|
@@ -3811,7 +3851,7 @@ async function generateText({
|
|
3811
3851
|
headers
|
3812
3852
|
});
|
3813
3853
|
const responseData = {
|
3814
|
-
id: (_b2 = (
|
3854
|
+
id: (_b2 = (_a17 = result.response) == null ? void 0 : _a17.id) != null ? _b2 : generateId3(),
|
3815
3855
|
timestamp: (_d2 = (_c2 = result.response) == null ? void 0 : _c2.timestamp) != null ? _d2 : currentDate(),
|
3816
3856
|
modelId: (_f2 = (_e2 = result.response) == null ? void 0 : _e2.modelId) != null ? _f2 : model.modelId
|
3817
3857
|
};
|
@@ -3845,7 +3885,7 @@ async function generateText({
|
|
3845
3885
|
})
|
3846
3886
|
);
|
3847
3887
|
currentToolCalls = await Promise.all(
|
3848
|
-
((
|
3888
|
+
((_a16 = currentModelResponse.toolCalls) != null ? _a16 : []).map(
|
3849
3889
|
(toolCall) => parseToolCall({
|
3850
3890
|
toolCall,
|
3851
3891
|
tools,
|
@@ -4083,7 +4123,7 @@ var import_provider_utils10 = require("@ai-sdk/provider-utils");
|
|
4083
4123
|
var import_ui_utils6 = require("@ai-sdk/ui-utils");
|
4084
4124
|
|
4085
4125
|
// errors/index.ts
|
4086
|
-
var
|
4126
|
+
var import_provider17 = require("@ai-sdk/provider");
|
4087
4127
|
|
4088
4128
|
// core/generate-text/output.ts
|
4089
4129
|
var text = () => ({
|
@@ -4163,7 +4203,7 @@ var object = ({
|
|
4163
4203
|
};
|
4164
4204
|
|
4165
4205
|
// core/generate-text/smooth-stream.ts
|
4166
|
-
var
|
4206
|
+
var import_provider18 = require("@ai-sdk/provider");
|
4167
4207
|
var CHUNKING_REGEXPS = {
|
4168
4208
|
word: /\s*\S+\s+/m,
|
4169
4209
|
line: /[^\n]*\n/m
|
@@ -4175,7 +4215,7 @@ function smoothStream({
|
|
4175
4215
|
} = {}) {
|
4176
4216
|
const chunkingRegexp = typeof chunking === "string" ? CHUNKING_REGEXPS[chunking] : chunking;
|
4177
4217
|
if (chunkingRegexp == null) {
|
4178
|
-
throw new
|
4218
|
+
throw new import_provider18.InvalidArgumentError({
|
4179
4219
|
argument: "chunking",
|
4180
4220
|
message: `Chunking must be "word" or "line" or a RegExp. Received: ${chunking}`
|
4181
4221
|
});
|
@@ -4522,7 +4562,8 @@ function streamText({
|
|
4522
4562
|
experimental_continueSteps: continueSteps = false,
|
4523
4563
|
experimental_telemetry: telemetry,
|
4524
4564
|
experimental_providerMetadata: providerMetadata,
|
4525
|
-
experimental_toolCallStreaming
|
4565
|
+
experimental_toolCallStreaming = false,
|
4566
|
+
toolCallStreaming = experimental_toolCallStreaming,
|
4526
4567
|
experimental_activeTools: activeTools,
|
4527
4568
|
experimental_repairToolCall: repairToolCall,
|
4528
4569
|
experimental_transform: transform,
|
@@ -4656,7 +4697,7 @@ var DefaultStreamTextResult = class {
|
|
4656
4697
|
this.requestPromise = new DelayedPromise();
|
4657
4698
|
this.responsePromise = new DelayedPromise();
|
4658
4699
|
this.stepsPromise = new DelayedPromise();
|
4659
|
-
var
|
4700
|
+
var _a15;
|
4660
4701
|
if (maxSteps < 1) {
|
4661
4702
|
throw new InvalidArgumentError({
|
4662
4703
|
parameter: "maxSteps",
|
@@ -4767,7 +4808,7 @@ var DefaultStreamTextResult = class {
|
|
4767
4808
|
}
|
4768
4809
|
},
|
4769
4810
|
async flush(controller) {
|
4770
|
-
var
|
4811
|
+
var _a16;
|
4771
4812
|
try {
|
4772
4813
|
if (recordedSteps.length === 0) {
|
4773
4814
|
return;
|
@@ -4800,7 +4841,7 @@ var DefaultStreamTextResult = class {
|
|
4800
4841
|
reasoning: recordedReasoningText,
|
4801
4842
|
toolCalls: lastStep.toolCalls,
|
4802
4843
|
toolResults: lastStep.toolResults,
|
4803
|
-
request: (
|
4844
|
+
request: (_a16 = lastStep.request) != null ? _a16 : {},
|
4804
4845
|
response: lastStep.response,
|
4805
4846
|
warnings: lastStep.warnings,
|
4806
4847
|
experimental_providerMetadata: lastStep.experimental_providerMetadata,
|
@@ -4814,8 +4855,8 @@ var DefaultStreamTextResult = class {
|
|
4814
4855
|
"ai.response.text": { output: () => recordedFullText },
|
4815
4856
|
"ai.response.toolCalls": {
|
4816
4857
|
output: () => {
|
4817
|
-
var
|
4818
|
-
return ((
|
4858
|
+
var _a17;
|
4859
|
+
return ((_a17 = lastStep.toolCalls) == null ? void 0 : _a17.length) ? JSON.stringify(lastStep.toolCalls) : void 0;
|
4819
4860
|
}
|
4820
4861
|
},
|
4821
4862
|
"ai.usage.promptTokens": usage.promptTokens,
|
@@ -4857,7 +4898,7 @@ var DefaultStreamTextResult = class {
|
|
4857
4898
|
});
|
4858
4899
|
const initialPrompt = standardizePrompt({
|
4859
4900
|
prompt: {
|
4860
|
-
system: (
|
4901
|
+
system: (_a15 = output == null ? void 0 : output.injectIntoSystemPrompt({ system, model })) != null ? _a15 : system,
|
4861
4902
|
prompt,
|
4862
4903
|
messages
|
4863
4904
|
},
|
@@ -4933,8 +4974,8 @@ var DefaultStreamTextResult = class {
|
|
4933
4974
|
"ai.prompt.tools": {
|
4934
4975
|
// convert the language model level tools:
|
4935
4976
|
input: () => {
|
4936
|
-
var
|
4937
|
-
return (
|
4977
|
+
var _a16;
|
4978
|
+
return (_a16 = mode.tools) == null ? void 0 : _a16.map((tool2) => JSON.stringify(tool2));
|
4938
4979
|
}
|
4939
4980
|
},
|
4940
4981
|
"ai.prompt.toolChoice": {
|
@@ -5020,7 +5061,7 @@ var DefaultStreamTextResult = class {
|
|
5020
5061
|
transformedStream.pipeThrough(
|
5021
5062
|
new TransformStream({
|
5022
5063
|
async transform(chunk, controller) {
|
5023
|
-
var
|
5064
|
+
var _a16, _b, _c;
|
5024
5065
|
if (stepFirstChunk) {
|
5025
5066
|
const msToFirstChunk = now2() - startTimestampMs;
|
5026
5067
|
stepFirstChunk = false;
|
@@ -5083,7 +5124,7 @@ var DefaultStreamTextResult = class {
|
|
5083
5124
|
}
|
5084
5125
|
case "response-metadata": {
|
5085
5126
|
stepResponse = {
|
5086
|
-
id: (
|
5127
|
+
id: (_a16 = chunk.id) != null ? _a16 : stepResponse.id,
|
5087
5128
|
timestamp: (_b = chunk.timestamp) != null ? _b : stepResponse.timestamp,
|
5088
5129
|
modelId: (_c = chunk.modelId) != null ? _c : stepResponse.modelId
|
5089
5130
|
};
|
@@ -5536,9 +5577,9 @@ var DefaultStreamTextResult = class {
|
|
5536
5577
|
);
|
5537
5578
|
}
|
5538
5579
|
toTextStreamResponse(init) {
|
5539
|
-
var
|
5580
|
+
var _a15;
|
5540
5581
|
return new Response(this.textStream.pipeThrough(new TextEncoderStream()), {
|
5541
|
-
status: (
|
5582
|
+
status: (_a15 = init == null ? void 0 : init.status) != null ? _a15 : 200,
|
5542
5583
|
headers: prepareResponseHeaders(init == null ? void 0 : init.headers, {
|
5543
5584
|
contentType: "text/plain; charset=utf-8"
|
5544
5585
|
})
|
@@ -5580,12 +5621,23 @@ var experimental_wrapLanguageModel = ({
|
|
5580
5621
|
};
|
5581
5622
|
};
|
5582
5623
|
|
5624
|
+
// core/prompt/append-client-message.ts
|
5625
|
+
function appendClientMessage({
|
5626
|
+
messages,
|
5627
|
+
message
|
5628
|
+
}) {
|
5629
|
+
return [
|
5630
|
+
...messages.length > 0 && messages[messages.length - 1].id === message.id ? messages.slice(0, -1) : messages,
|
5631
|
+
message
|
5632
|
+
];
|
5633
|
+
}
|
5634
|
+
|
5583
5635
|
// core/prompt/append-response-messages.ts
|
5584
5636
|
function appendResponseMessages({
|
5585
5637
|
messages,
|
5586
5638
|
responseMessages
|
5587
5639
|
}) {
|
5588
|
-
var
|
5640
|
+
var _a15;
|
5589
5641
|
const clonedMessages = structuredClone(messages);
|
5590
5642
|
for (const message of responseMessages) {
|
5591
5643
|
const role = message.role;
|
@@ -5608,7 +5660,7 @@ function appendResponseMessages({
|
|
5608
5660
|
}
|
5609
5661
|
case "tool": {
|
5610
5662
|
const previousMessage = clonedMessages[clonedMessages.length - 1];
|
5611
|
-
(
|
5663
|
+
(_a15 = previousMessage.toolInvocations) != null ? _a15 : previousMessage.toolInvocations = [];
|
5612
5664
|
if (previousMessage.role !== "assistant") {
|
5613
5665
|
throw new Error(
|
5614
5666
|
`Tool result must follow an assistant message: ${previousMessage.role}`
|
@@ -5637,7 +5689,7 @@ function appendResponseMessages({
|
|
5637
5689
|
}
|
5638
5690
|
|
5639
5691
|
// core/registry/custom-provider.ts
|
5640
|
-
var
|
5692
|
+
var import_provider19 = require("@ai-sdk/provider");
|
5641
5693
|
function experimental_customProvider({
|
5642
5694
|
languageModels,
|
5643
5695
|
textEmbeddingModels,
|
@@ -5651,7 +5703,7 @@ function experimental_customProvider({
|
|
5651
5703
|
if (fallbackProvider) {
|
5652
5704
|
return fallbackProvider.languageModel(modelId);
|
5653
5705
|
}
|
5654
|
-
throw new
|
5706
|
+
throw new import_provider19.NoSuchModelError({ modelId, modelType: "languageModel" });
|
5655
5707
|
},
|
5656
5708
|
textEmbeddingModel(modelId) {
|
5657
5709
|
if (textEmbeddingModels != null && modelId in textEmbeddingModels) {
|
@@ -5660,18 +5712,18 @@ function experimental_customProvider({
|
|
5660
5712
|
if (fallbackProvider) {
|
5661
5713
|
return fallbackProvider.textEmbeddingModel(modelId);
|
5662
5714
|
}
|
5663
|
-
throw new
|
5715
|
+
throw new import_provider19.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" });
|
5664
5716
|
}
|
5665
5717
|
};
|
5666
5718
|
}
|
5667
5719
|
|
5668
5720
|
// core/registry/no-such-provider-error.ts
|
5669
|
-
var
|
5670
|
-
var
|
5671
|
-
var
|
5672
|
-
var
|
5673
|
-
var
|
5674
|
-
var NoSuchProviderError = class extends
|
5721
|
+
var import_provider20 = require("@ai-sdk/provider");
|
5722
|
+
var name14 = "AI_NoSuchProviderError";
|
5723
|
+
var marker14 = `vercel.ai.error.${name14}`;
|
5724
|
+
var symbol14 = Symbol.for(marker14);
|
5725
|
+
var _a14;
|
5726
|
+
var NoSuchProviderError = class extends import_provider20.NoSuchModelError {
|
5675
5727
|
constructor({
|
5676
5728
|
modelId,
|
5677
5729
|
modelType,
|
@@ -5679,19 +5731,19 @@ var NoSuchProviderError = class extends import_provider19.NoSuchModelError {
|
|
5679
5731
|
availableProviders,
|
5680
5732
|
message = `No such provider: ${providerId} (available providers: ${availableProviders.join()})`
|
5681
5733
|
}) {
|
5682
|
-
super({ errorName:
|
5683
|
-
this[
|
5734
|
+
super({ errorName: name14, modelId, modelType, message });
|
5735
|
+
this[_a14] = true;
|
5684
5736
|
this.providerId = providerId;
|
5685
5737
|
this.availableProviders = availableProviders;
|
5686
5738
|
}
|
5687
5739
|
static isInstance(error) {
|
5688
|
-
return
|
5740
|
+
return import_provider20.AISDKError.hasMarker(error, marker14);
|
5689
5741
|
}
|
5690
5742
|
};
|
5691
|
-
|
5743
|
+
_a14 = symbol14;
|
5692
5744
|
|
5693
5745
|
// core/registry/provider-registry.ts
|
5694
|
-
var
|
5746
|
+
var import_provider21 = require("@ai-sdk/provider");
|
5695
5747
|
function experimental_createProviderRegistry(providers) {
|
5696
5748
|
const registry = new DefaultProviderRegistry();
|
5697
5749
|
for (const [id, provider] of Object.entries(providers)) {
|
@@ -5721,7 +5773,7 @@ var DefaultProviderRegistry = class {
|
|
5721
5773
|
splitId(id, modelType) {
|
5722
5774
|
const index = id.indexOf(":");
|
5723
5775
|
if (index === -1) {
|
5724
|
-
throw new
|
5776
|
+
throw new import_provider21.NoSuchModelError({
|
5725
5777
|
modelId: id,
|
5726
5778
|
modelType,
|
5727
5779
|
message: `Invalid ${modelType} id for registry: ${id} (must be in the format "providerId:modelId")`
|
@@ -5730,21 +5782,21 @@ var DefaultProviderRegistry = class {
|
|
5730
5782
|
return [id.slice(0, index), id.slice(index + 1)];
|
5731
5783
|
}
|
5732
5784
|
languageModel(id) {
|
5733
|
-
var
|
5785
|
+
var _a15, _b;
|
5734
5786
|
const [providerId, modelId] = this.splitId(id, "languageModel");
|
5735
|
-
const model = (_b = (
|
5787
|
+
const model = (_b = (_a15 = this.getProvider(providerId)).languageModel) == null ? void 0 : _b.call(_a15, modelId);
|
5736
5788
|
if (model == null) {
|
5737
|
-
throw new
|
5789
|
+
throw new import_provider21.NoSuchModelError({ modelId: id, modelType: "languageModel" });
|
5738
5790
|
}
|
5739
5791
|
return model;
|
5740
5792
|
}
|
5741
5793
|
textEmbeddingModel(id) {
|
5742
|
-
var
|
5794
|
+
var _a15;
|
5743
5795
|
const [providerId, modelId] = this.splitId(id, "textEmbeddingModel");
|
5744
5796
|
const provider = this.getProvider(providerId);
|
5745
|
-
const model = (
|
5797
|
+
const model = (_a15 = provider.textEmbeddingModel) == null ? void 0 : _a15.call(provider, modelId);
|
5746
5798
|
if (model == null) {
|
5747
|
-
throw new
|
5799
|
+
throw new import_provider21.NoSuchModelError({
|
5748
5800
|
modelId: id,
|
5749
5801
|
modelType: "textEmbeddingModel"
|
5750
5802
|
});
|
@@ -5805,8 +5857,8 @@ function simulateReadableStream({
|
|
5805
5857
|
chunkDelayInMs = 0,
|
5806
5858
|
_internal
|
5807
5859
|
}) {
|
5808
|
-
var
|
5809
|
-
const delay2 = (
|
5860
|
+
var _a15;
|
5861
|
+
const delay2 = (_a15 = _internal == null ? void 0 : _internal.delay) != null ? _a15 : delay;
|
5810
5862
|
let index = 0;
|
5811
5863
|
return new ReadableStream({
|
5812
5864
|
async pull(controller) {
|
@@ -5825,7 +5877,7 @@ var import_ui_utils10 = require("@ai-sdk/ui-utils");
|
|
5825
5877
|
function AssistantResponse({ threadId, messageId }, process2) {
|
5826
5878
|
const stream = new ReadableStream({
|
5827
5879
|
async start(controller) {
|
5828
|
-
var
|
5880
|
+
var _a15;
|
5829
5881
|
const textEncoder = new TextEncoder();
|
5830
5882
|
const sendMessage = (message) => {
|
5831
5883
|
controller.enqueue(
|
@@ -5847,7 +5899,7 @@ function AssistantResponse({ threadId, messageId }, process2) {
|
|
5847
5899
|
);
|
5848
5900
|
};
|
5849
5901
|
const forwardStream = async (stream2) => {
|
5850
|
-
var
|
5902
|
+
var _a16, _b;
|
5851
5903
|
let result = void 0;
|
5852
5904
|
for await (const value of stream2) {
|
5853
5905
|
switch (value.event) {
|
@@ -5864,7 +5916,7 @@ function AssistantResponse({ threadId, messageId }, process2) {
|
|
5864
5916
|
break;
|
5865
5917
|
}
|
5866
5918
|
case "thread.message.delta": {
|
5867
|
-
const content = (
|
5919
|
+
const content = (_a16 = value.data.delta.content) == null ? void 0 : _a16[0];
|
5868
5920
|
if ((content == null ? void 0 : content.type) === "text" && ((_b = content.text) == null ? void 0 : _b.value) != null) {
|
5869
5921
|
controller.enqueue(
|
5870
5922
|
textEncoder.encode(
|
@@ -5898,7 +5950,7 @@ function AssistantResponse({ threadId, messageId }, process2) {
|
|
5898
5950
|
forwardStream
|
5899
5951
|
});
|
5900
5952
|
} catch (error) {
|
5901
|
-
sendError((
|
5953
|
+
sendError((_a15 = error.message) != null ? _a15 : `${error}`);
|
5902
5954
|
} finally {
|
5903
5955
|
controller.close();
|
5904
5956
|
}
|
@@ -5959,7 +6011,7 @@ function toDataStreamInternal(stream, callbacks) {
|
|
5959
6011
|
return stream.pipeThrough(
|
5960
6012
|
new TransformStream({
|
5961
6013
|
transform: async (value, controller) => {
|
5962
|
-
var
|
6014
|
+
var _a15;
|
5963
6015
|
if (typeof value === "string") {
|
5964
6016
|
controller.enqueue(value);
|
5965
6017
|
return;
|
@@ -5967,7 +6019,7 @@ function toDataStreamInternal(stream, callbacks) {
|
|
5967
6019
|
if ("event" in value) {
|
5968
6020
|
if (value.event === "on_chat_model_stream") {
|
5969
6021
|
forwardAIMessageChunk(
|
5970
|
-
(
|
6022
|
+
(_a15 = value.data) == null ? void 0 : _a15.chunk,
|
5971
6023
|
controller
|
5972
6024
|
);
|
5973
6025
|
}
|
@@ -5990,7 +6042,7 @@ function toDataStream(stream, callbacks) {
|
|
5990
6042
|
);
|
5991
6043
|
}
|
5992
6044
|
function toDataStreamResponse(stream, options) {
|
5993
|
-
var
|
6045
|
+
var _a15;
|
5994
6046
|
const dataStream = toDataStreamInternal(
|
5995
6047
|
stream,
|
5996
6048
|
options == null ? void 0 : options.callbacks
|
@@ -5999,7 +6051,7 @@ function toDataStreamResponse(stream, options) {
|
|
5999
6051
|
const init = options == null ? void 0 : options.init;
|
6000
6052
|
const responseStream = data ? mergeStreams(data.stream, dataStream) : dataStream;
|
6001
6053
|
return new Response(responseStream, {
|
6002
|
-
status: (
|
6054
|
+
status: (_a15 = init == null ? void 0 : init.status) != null ? _a15 : 200,
|
6003
6055
|
statusText: init == null ? void 0 : init.statusText,
|
6004
6056
|
headers: prepareResponseHeaders(init == null ? void 0 : init.headers, {
|
6005
6057
|
contentType: "text/plain; charset=utf-8",
|
@@ -6054,14 +6106,14 @@ function toDataStream2(stream, callbacks) {
|
|
6054
6106
|
);
|
6055
6107
|
}
|
6056
6108
|
function toDataStreamResponse2(stream, options = {}) {
|
6057
|
-
var
|
6109
|
+
var _a15;
|
6058
6110
|
const { init, data, callbacks } = options;
|
6059
6111
|
const dataStream = toDataStreamInternal2(stream, callbacks).pipeThrough(
|
6060
6112
|
new TextEncoderStream()
|
6061
6113
|
);
|
6062
6114
|
const responseStream = data ? mergeStreams(data.stream, dataStream) : dataStream;
|
6063
6115
|
return new Response(responseStream, {
|
6064
|
-
status: (
|
6116
|
+
status: (_a15 = init == null ? void 0 : init.status) != null ? _a15 : 200,
|
6065
6117
|
statusText: init == null ? void 0 : init.statusText,
|
6066
6118
|
headers: prepareResponseHeaders(init == null ? void 0 : init.headers, {
|
6067
6119
|
contentType: "text/plain; charset=utf-8",
|
@@ -6171,6 +6223,7 @@ var StreamData = class {
|
|
6171
6223
|
LoadAPIKeyError,
|
6172
6224
|
MessageConversionError,
|
6173
6225
|
NoContentGeneratedError,
|
6226
|
+
NoImageGeneratedError,
|
6174
6227
|
NoObjectGeneratedError,
|
6175
6228
|
NoOutputSpecifiedError,
|
6176
6229
|
NoSuchModelError,
|
@@ -6183,8 +6236,14 @@ var StreamData = class {
|
|
6183
6236
|
ToolExecutionError,
|
6184
6237
|
TypeValidationError,
|
6185
6238
|
UnsupportedFunctionalityError,
|
6239
|
+
appendClientMessage,
|
6186
6240
|
appendResponseMessages,
|
6187
6241
|
convertToCoreMessages,
|
6242
|
+
coreAssistantMessageSchema,
|
6243
|
+
coreMessageSchema,
|
6244
|
+
coreSystemMessageSchema,
|
6245
|
+
coreToolMessageSchema,
|
6246
|
+
coreUserMessageSchema,
|
6188
6247
|
cosineSimilarity,
|
6189
6248
|
createDataStream,
|
6190
6249
|
createDataStreamResponse,
|