ai 6.0.0-beta.157 → 6.0.0-beta.160
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 +27 -0
- package/dist/index.d.mts +41 -42
- package/dist/index.d.ts +41 -42
- package/dist/index.js +463 -431
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +255 -221
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js +75 -100
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +46 -71
- package/dist/internal/index.mjs.map +1 -1
- package/package.json +4 -4
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 name14 in all)
|
|
8
|
+
__defProp(target, name14, { get: all[name14], enumerable: true });
|
|
9
9
|
};
|
|
10
10
|
var __copyProps = (to, from, except, desc) => {
|
|
11
11
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
@@ -20,47 +20,47 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/index.ts
|
|
21
21
|
var src_exports = {};
|
|
22
22
|
__export(src_exports, {
|
|
23
|
-
AISDKError: () =>
|
|
24
|
-
APICallError: () =>
|
|
23
|
+
AISDKError: () => import_provider15.AISDKError,
|
|
24
|
+
APICallError: () => import_provider15.APICallError,
|
|
25
25
|
AbstractChat: () => AbstractChat,
|
|
26
26
|
DefaultChatTransport: () => DefaultChatTransport,
|
|
27
|
-
DownloadError: () => DownloadError,
|
|
28
|
-
EmptyResponseBodyError: () =>
|
|
27
|
+
DownloadError: () => import_provider_utils.DownloadError,
|
|
28
|
+
EmptyResponseBodyError: () => import_provider15.EmptyResponseBodyError,
|
|
29
29
|
Experimental_Agent: () => ToolLoopAgent,
|
|
30
30
|
HttpChatTransport: () => HttpChatTransport,
|
|
31
31
|
InvalidArgumentError: () => InvalidArgumentError,
|
|
32
32
|
InvalidDataContentError: () => InvalidDataContentError,
|
|
33
33
|
InvalidMessageRoleError: () => InvalidMessageRoleError,
|
|
34
|
-
InvalidPromptError: () =>
|
|
35
|
-
InvalidResponseDataError: () =>
|
|
34
|
+
InvalidPromptError: () => import_provider15.InvalidPromptError,
|
|
35
|
+
InvalidResponseDataError: () => import_provider15.InvalidResponseDataError,
|
|
36
36
|
InvalidStreamPartError: () => InvalidStreamPartError,
|
|
37
37
|
InvalidToolInputError: () => InvalidToolInputError,
|
|
38
|
-
JSONParseError: () =>
|
|
38
|
+
JSONParseError: () => import_provider15.JSONParseError,
|
|
39
39
|
JsonToSseTransformStream: () => JsonToSseTransformStream,
|
|
40
|
-
LoadAPIKeyError: () =>
|
|
41
|
-
LoadSettingError: () =>
|
|
40
|
+
LoadAPIKeyError: () => import_provider15.LoadAPIKeyError,
|
|
41
|
+
LoadSettingError: () => import_provider15.LoadSettingError,
|
|
42
42
|
MessageConversionError: () => MessageConversionError,
|
|
43
|
-
NoContentGeneratedError: () =>
|
|
43
|
+
NoContentGeneratedError: () => import_provider15.NoContentGeneratedError,
|
|
44
44
|
NoImageGeneratedError: () => NoImageGeneratedError,
|
|
45
45
|
NoObjectGeneratedError: () => NoObjectGeneratedError,
|
|
46
46
|
NoOutputGeneratedError: () => NoOutputGeneratedError,
|
|
47
47
|
NoSpeechGeneratedError: () => NoSpeechGeneratedError,
|
|
48
|
-
NoSuchModelError: () =>
|
|
48
|
+
NoSuchModelError: () => import_provider15.NoSuchModelError,
|
|
49
49
|
NoSuchProviderError: () => NoSuchProviderError,
|
|
50
50
|
NoSuchToolError: () => NoSuchToolError,
|
|
51
51
|
Output: () => output_exports,
|
|
52
52
|
RetryError: () => RetryError,
|
|
53
53
|
SerialJobExecutor: () => SerialJobExecutor,
|
|
54
54
|
TextStreamChatTransport: () => TextStreamChatTransport,
|
|
55
|
-
TooManyEmbeddingValuesForCallError: () =>
|
|
55
|
+
TooManyEmbeddingValuesForCallError: () => import_provider15.TooManyEmbeddingValuesForCallError,
|
|
56
56
|
ToolCallRepairError: () => ToolCallRepairError,
|
|
57
57
|
ToolLoopAgent: () => ToolLoopAgent,
|
|
58
|
-
TypeValidationError: () =>
|
|
58
|
+
TypeValidationError: () => import_provider15.TypeValidationError,
|
|
59
59
|
UI_MESSAGE_STREAM_HEADERS: () => UI_MESSAGE_STREAM_HEADERS,
|
|
60
|
-
UnsupportedFunctionalityError: () =>
|
|
60
|
+
UnsupportedFunctionalityError: () => import_provider15.UnsupportedFunctionalityError,
|
|
61
61
|
UnsupportedModelVersionError: () => UnsupportedModelVersionError,
|
|
62
62
|
addToolInputExamplesMiddleware: () => addToolInputExamplesMiddleware,
|
|
63
|
-
asSchema: () =>
|
|
63
|
+
asSchema: () => import_provider_utils38.asSchema,
|
|
64
64
|
assistantModelMessageSchema: () => assistantModelMessageSchema,
|
|
65
65
|
callCompletionApi: () => callCompletionApi,
|
|
66
66
|
consumeStream: () => consumeStream,
|
|
@@ -70,7 +70,7 @@ __export(src_exports, {
|
|
|
70
70
|
createAgentUIStream: () => createAgentUIStream,
|
|
71
71
|
createAgentUIStreamResponse: () => createAgentUIStreamResponse,
|
|
72
72
|
createGateway: () => import_gateway3.createGateway,
|
|
73
|
-
createIdGenerator: () =>
|
|
73
|
+
createIdGenerator: () => import_provider_utils38.createIdGenerator,
|
|
74
74
|
createProviderRegistry: () => createProviderRegistry,
|
|
75
75
|
createTextStreamResponse: () => createTextStreamResponse,
|
|
76
76
|
createUIMessageStream: () => createUIMessageStream,
|
|
@@ -78,17 +78,18 @@ __export(src_exports, {
|
|
|
78
78
|
customProvider: () => customProvider,
|
|
79
79
|
defaultEmbeddingSettingsMiddleware: () => defaultEmbeddingSettingsMiddleware,
|
|
80
80
|
defaultSettingsMiddleware: () => defaultSettingsMiddleware,
|
|
81
|
-
dynamicTool: () =>
|
|
81
|
+
dynamicTool: () => import_provider_utils38.dynamicTool,
|
|
82
82
|
embed: () => embed,
|
|
83
83
|
embedMany: () => embedMany,
|
|
84
84
|
experimental_createProviderRegistry: () => experimental_createProviderRegistry,
|
|
85
85
|
experimental_customProvider: () => experimental_customProvider,
|
|
86
|
-
experimental_generateImage: () =>
|
|
86
|
+
experimental_generateImage: () => experimental_generateImage,
|
|
87
87
|
experimental_generateSpeech: () => generateSpeech,
|
|
88
88
|
experimental_transcribe: () => transcribe,
|
|
89
89
|
extractReasoningMiddleware: () => extractReasoningMiddleware,
|
|
90
90
|
gateway: () => import_gateway3.gateway,
|
|
91
|
-
generateId: () =>
|
|
91
|
+
generateId: () => import_provider_utils38.generateId,
|
|
92
|
+
generateImage: () => generateImage,
|
|
92
93
|
generateObject: () => generateObject,
|
|
93
94
|
generateText: () => generateText,
|
|
94
95
|
getStaticToolName: () => getStaticToolName,
|
|
@@ -104,11 +105,11 @@ __export(src_exports, {
|
|
|
104
105
|
isTextUIPart: () => isTextUIPart,
|
|
105
106
|
isToolOrDynamicToolUIPart: () => isToolOrDynamicToolUIPart,
|
|
106
107
|
isToolUIPart: () => isToolUIPart,
|
|
107
|
-
jsonSchema: () =>
|
|
108
|
+
jsonSchema: () => import_provider_utils38.jsonSchema,
|
|
108
109
|
lastAssistantMessageIsCompleteWithApprovalResponses: () => lastAssistantMessageIsCompleteWithApprovalResponses,
|
|
109
110
|
lastAssistantMessageIsCompleteWithToolCalls: () => lastAssistantMessageIsCompleteWithToolCalls,
|
|
110
111
|
modelMessageSchema: () => modelMessageSchema,
|
|
111
|
-
parseJsonEventStream: () =>
|
|
112
|
+
parseJsonEventStream: () => import_provider_utils38.parseJsonEventStream,
|
|
112
113
|
parsePartialJson: () => parsePartialJson,
|
|
113
114
|
pipeAgentUIStreamToResponse: () => pipeAgentUIStreamToResponse,
|
|
114
115
|
pipeTextStreamToResponse: () => pipeTextStreamToResponse,
|
|
@@ -124,7 +125,7 @@ __export(src_exports, {
|
|
|
124
125
|
streamObject: () => streamObject,
|
|
125
126
|
streamText: () => streamText,
|
|
126
127
|
systemModelMessageSchema: () => systemModelMessageSchema,
|
|
127
|
-
tool: () =>
|
|
128
|
+
tool: () => import_provider_utils38.tool,
|
|
128
129
|
toolModelMessageSchema: () => toolModelMessageSchema,
|
|
129
130
|
uiMessageChunkSchema: () => uiMessageChunkSchema,
|
|
130
131
|
userModelMessageSchema: () => userModelMessageSchema,
|
|
@@ -132,14 +133,14 @@ __export(src_exports, {
|
|
|
132
133
|
wrapEmbeddingModel: () => wrapEmbeddingModel,
|
|
133
134
|
wrapLanguageModel: () => wrapLanguageModel,
|
|
134
135
|
wrapProvider: () => wrapProvider,
|
|
135
|
-
zodSchema: () =>
|
|
136
|
+
zodSchema: () => import_provider_utils38.zodSchema
|
|
136
137
|
});
|
|
137
138
|
module.exports = __toCommonJS(src_exports);
|
|
138
139
|
var import_gateway3 = require("@ai-sdk/gateway");
|
|
139
|
-
var
|
|
140
|
+
var import_provider_utils38 = require("@ai-sdk/provider-utils");
|
|
140
141
|
|
|
141
142
|
// src/generate-text/generate-text.ts
|
|
142
|
-
var
|
|
143
|
+
var import_provider_utils15 = require("@ai-sdk/provider-utils");
|
|
143
144
|
|
|
144
145
|
// src/logger/log-warnings.ts
|
|
145
146
|
function formatWarning({
|
|
@@ -204,7 +205,7 @@ var logWarnings = (options) => {
|
|
|
204
205
|
var import_gateway = require("@ai-sdk/gateway");
|
|
205
206
|
|
|
206
207
|
// src/error/index.ts
|
|
207
|
-
var
|
|
208
|
+
var import_provider15 = require("@ai-sdk/provider");
|
|
208
209
|
|
|
209
210
|
// src/error/invalid-argument-error.ts
|
|
210
211
|
var import_provider = require("@ai-sdk/provider");
|
|
@@ -483,55 +484,32 @@ var MessageConversionError = class extends import_provider13.AISDKError {
|
|
|
483
484
|
};
|
|
484
485
|
_a11 = symbol11;
|
|
485
486
|
|
|
486
|
-
// src/
|
|
487
|
+
// src/error/index.ts
|
|
488
|
+
var import_provider_utils = require("@ai-sdk/provider-utils");
|
|
489
|
+
|
|
490
|
+
// src/util/retry-error.ts
|
|
487
491
|
var import_provider14 = require("@ai-sdk/provider");
|
|
488
|
-
var name12 = "
|
|
492
|
+
var name12 = "AI_RetryError";
|
|
489
493
|
var marker12 = `vercel.ai.error.${name12}`;
|
|
490
494
|
var symbol12 = Symbol.for(marker12);
|
|
491
495
|
var _a12;
|
|
492
|
-
var
|
|
493
|
-
constructor({
|
|
494
|
-
url,
|
|
495
|
-
statusCode,
|
|
496
|
-
statusText,
|
|
497
|
-
cause,
|
|
498
|
-
message = cause == null ? `Failed to download ${url}: ${statusCode} ${statusText}` : `Failed to download ${url}: ${cause}`
|
|
499
|
-
}) {
|
|
500
|
-
super({ name: name12, message, cause });
|
|
501
|
-
this[_a12] = true;
|
|
502
|
-
this.url = url;
|
|
503
|
-
this.statusCode = statusCode;
|
|
504
|
-
this.statusText = statusText;
|
|
505
|
-
}
|
|
506
|
-
static isInstance(error) {
|
|
507
|
-
return import_provider14.AISDKError.hasMarker(error, marker12);
|
|
508
|
-
}
|
|
509
|
-
};
|
|
510
|
-
_a12 = symbol12;
|
|
511
|
-
|
|
512
|
-
// src/util/retry-error.ts
|
|
513
|
-
var import_provider15 = require("@ai-sdk/provider");
|
|
514
|
-
var name13 = "AI_RetryError";
|
|
515
|
-
var marker13 = `vercel.ai.error.${name13}`;
|
|
516
|
-
var symbol13 = Symbol.for(marker13);
|
|
517
|
-
var _a13;
|
|
518
|
-
var RetryError = class extends import_provider15.AISDKError {
|
|
496
|
+
var RetryError = class extends import_provider14.AISDKError {
|
|
519
497
|
constructor({
|
|
520
498
|
message,
|
|
521
499
|
reason,
|
|
522
500
|
errors
|
|
523
501
|
}) {
|
|
524
|
-
super({ name:
|
|
525
|
-
this[
|
|
502
|
+
super({ name: name12, message });
|
|
503
|
+
this[_a12] = true;
|
|
526
504
|
this.reason = reason;
|
|
527
505
|
this.errors = errors;
|
|
528
506
|
this.lastError = errors[errors.length - 1];
|
|
529
507
|
}
|
|
530
508
|
static isInstance(error) {
|
|
531
|
-
return
|
|
509
|
+
return import_provider14.AISDKError.hasMarker(error, marker12);
|
|
532
510
|
}
|
|
533
511
|
};
|
|
534
|
-
|
|
512
|
+
_a12 = symbol12;
|
|
535
513
|
|
|
536
514
|
// src/util/log-v2-compatibility-warning.ts
|
|
537
515
|
function logV2CompatibilityWarning({
|
|
@@ -724,7 +702,7 @@ function resolveEmbeddingModel(model) {
|
|
|
724
702
|
return getGlobalProvider().embeddingModel(model);
|
|
725
703
|
}
|
|
726
704
|
function resolveTranscriptionModel(model) {
|
|
727
|
-
var
|
|
705
|
+
var _a14, _b;
|
|
728
706
|
if (typeof model !== "string") {
|
|
729
707
|
if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
|
|
730
708
|
const unsupportedModel = model;
|
|
@@ -736,10 +714,10 @@ function resolveTranscriptionModel(model) {
|
|
|
736
714
|
}
|
|
737
715
|
return asTranscriptionModelV3(model);
|
|
738
716
|
}
|
|
739
|
-
return (_b = (
|
|
717
|
+
return (_b = (_a14 = getGlobalProvider()).transcriptionModel) == null ? void 0 : _b.call(_a14, model);
|
|
740
718
|
}
|
|
741
719
|
function resolveSpeechModel(model) {
|
|
742
|
-
var
|
|
720
|
+
var _a14, _b;
|
|
743
721
|
if (typeof model !== "string") {
|
|
744
722
|
if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
|
|
745
723
|
const unsupportedModel = model;
|
|
@@ -751,7 +729,7 @@ function resolveSpeechModel(model) {
|
|
|
751
729
|
}
|
|
752
730
|
return asSpeechModelV3(model);
|
|
753
731
|
}
|
|
754
|
-
return (_b = (
|
|
732
|
+
return (_b = (_a14 = getGlobalProvider()).speechModel) == null ? void 0 : _b.call(_a14, model);
|
|
755
733
|
}
|
|
756
734
|
function resolveImageModel(model) {
|
|
757
735
|
if (typeof model !== "string") {
|
|
@@ -768,15 +746,15 @@ function resolveImageModel(model) {
|
|
|
768
746
|
return getGlobalProvider().imageModel(model);
|
|
769
747
|
}
|
|
770
748
|
function getGlobalProvider() {
|
|
771
|
-
var
|
|
772
|
-
return (
|
|
749
|
+
var _a14;
|
|
750
|
+
return (_a14 = globalThis.AI_SDK_DEFAULT_PROVIDER) != null ? _a14 : import_gateway.gateway;
|
|
773
751
|
}
|
|
774
752
|
|
|
775
753
|
// src/prompt/convert-to-language-model-prompt.ts
|
|
776
|
-
var
|
|
754
|
+
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
|
777
755
|
|
|
778
756
|
// src/util/detect-media-type.ts
|
|
779
|
-
var
|
|
757
|
+
var import_provider_utils2 = require("@ai-sdk/provider-utils");
|
|
780
758
|
var imageMediaTypeSignatures = [
|
|
781
759
|
{
|
|
782
760
|
mediaType: "image/gif",
|
|
@@ -932,7 +910,7 @@ var audioMediaTypeSignatures = [
|
|
|
932
910
|
}
|
|
933
911
|
];
|
|
934
912
|
var stripID3 = (data) => {
|
|
935
|
-
const bytes = typeof data === "string" ? (0,
|
|
913
|
+
const bytes = typeof data === "string" ? (0, import_provider_utils2.convertBase64ToUint8Array)(data) : data;
|
|
936
914
|
const id3Size = (bytes[6] & 127) << 21 | (bytes[7] & 127) << 14 | (bytes[8] & 127) << 7 | bytes[9] & 127;
|
|
937
915
|
return bytes.slice(id3Size + 10);
|
|
938
916
|
};
|
|
@@ -947,7 +925,7 @@ function detectMediaType({
|
|
|
947
925
|
signatures
|
|
948
926
|
}) {
|
|
949
927
|
const processedData = stripID3TagsIfPresent(data);
|
|
950
|
-
const bytes = typeof processedData === "string" ? (0,
|
|
928
|
+
const bytes = typeof processedData === "string" ? (0, import_provider_utils2.convertBase64ToUint8Array)(
|
|
951
929
|
processedData.substring(0, Math.min(processedData.length, 24))
|
|
952
930
|
) : processedData;
|
|
953
931
|
for (const signature of signatures) {
|
|
@@ -961,25 +939,26 @@ function detectMediaType({
|
|
|
961
939
|
}
|
|
962
940
|
|
|
963
941
|
// src/util/download/download.ts
|
|
964
|
-
var
|
|
942
|
+
var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
|
943
|
+
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
|
965
944
|
|
|
966
945
|
// src/version.ts
|
|
967
|
-
var VERSION = true ? "6.0.0-beta.
|
|
946
|
+
var VERSION = true ? "6.0.0-beta.160" : "0.0.0-test";
|
|
968
947
|
|
|
969
948
|
// src/util/download/download.ts
|
|
970
949
|
var download = async ({ url }) => {
|
|
971
|
-
var
|
|
950
|
+
var _a14;
|
|
972
951
|
const urlText = url.toString();
|
|
973
952
|
try {
|
|
974
953
|
const response = await fetch(urlText, {
|
|
975
|
-
headers: (0,
|
|
954
|
+
headers: (0, import_provider_utils4.withUserAgentSuffix)(
|
|
976
955
|
{},
|
|
977
956
|
`ai-sdk/${VERSION}`,
|
|
978
|
-
(0,
|
|
957
|
+
(0, import_provider_utils4.getRuntimeEnvironmentUserAgent)()
|
|
979
958
|
)
|
|
980
959
|
});
|
|
981
960
|
if (!response.ok) {
|
|
982
|
-
throw new DownloadError({
|
|
961
|
+
throw new import_provider_utils3.DownloadError({
|
|
983
962
|
url: urlText,
|
|
984
963
|
statusCode: response.status,
|
|
985
964
|
statusText: response.statusText
|
|
@@ -987,13 +966,13 @@ var download = async ({ url }) => {
|
|
|
987
966
|
}
|
|
988
967
|
return {
|
|
989
968
|
data: new Uint8Array(await response.arrayBuffer()),
|
|
990
|
-
mediaType: (
|
|
969
|
+
mediaType: (_a14 = response.headers.get("content-type")) != null ? _a14 : void 0
|
|
991
970
|
};
|
|
992
971
|
} catch (error) {
|
|
993
|
-
if (DownloadError.isInstance(error)) {
|
|
972
|
+
if (import_provider_utils3.DownloadError.isInstance(error)) {
|
|
994
973
|
throw error;
|
|
995
974
|
}
|
|
996
|
-
throw new DownloadError({ url: urlText, cause: error });
|
|
975
|
+
throw new import_provider_utils3.DownloadError({ url: urlText, cause: error });
|
|
997
976
|
}
|
|
998
977
|
};
|
|
999
978
|
|
|
@@ -1005,8 +984,8 @@ var createDefaultDownloadFunction = (download2 = download) => (requestedDownload
|
|
|
1005
984
|
);
|
|
1006
985
|
|
|
1007
986
|
// src/prompt/data-content.ts
|
|
1008
|
-
var
|
|
1009
|
-
var
|
|
987
|
+
var import_provider16 = require("@ai-sdk/provider");
|
|
988
|
+
var import_provider_utils5 = require("@ai-sdk/provider-utils");
|
|
1010
989
|
var import_v4 = require("zod/v4");
|
|
1011
990
|
|
|
1012
991
|
// src/prompt/split-data-url.ts
|
|
@@ -1033,8 +1012,8 @@ var dataContentSchema = import_v4.z.union([
|
|
|
1033
1012
|
import_v4.z.custom(
|
|
1034
1013
|
// Buffer might not be available in some environments such as CloudFlare:
|
|
1035
1014
|
(value) => {
|
|
1036
|
-
var
|
|
1037
|
-
return (_b = (
|
|
1015
|
+
var _a14, _b;
|
|
1016
|
+
return (_b = (_a14 = globalThis.Buffer) == null ? void 0 : _a14.isBuffer(value)) != null ? _b : false;
|
|
1038
1017
|
},
|
|
1039
1018
|
{ message: "Must be a Buffer" }
|
|
1040
1019
|
)
|
|
@@ -1057,7 +1036,7 @@ function convertToLanguageModelV3DataContent(content) {
|
|
|
1057
1036
|
content.toString()
|
|
1058
1037
|
);
|
|
1059
1038
|
if (dataUrlMediaType == null || base64Content == null) {
|
|
1060
|
-
throw new
|
|
1039
|
+
throw new import_provider16.AISDKError({
|
|
1061
1040
|
name: "InvalidDataContentError",
|
|
1062
1041
|
message: `Invalid data URL format in content ${content.toString()}`
|
|
1063
1042
|
});
|
|
@@ -1071,9 +1050,9 @@ function convertDataContentToBase64String(content) {
|
|
|
1071
1050
|
return content;
|
|
1072
1051
|
}
|
|
1073
1052
|
if (content instanceof ArrayBuffer) {
|
|
1074
|
-
return (0,
|
|
1053
|
+
return (0, import_provider_utils5.convertUint8ArrayToBase64)(new Uint8Array(content));
|
|
1075
1054
|
}
|
|
1076
|
-
return (0,
|
|
1055
|
+
return (0, import_provider_utils5.convertUint8ArrayToBase64)(content);
|
|
1077
1056
|
}
|
|
1078
1057
|
function convertDataContentToUint8Array(content) {
|
|
1079
1058
|
if (content instanceof Uint8Array) {
|
|
@@ -1081,7 +1060,7 @@ function convertDataContentToUint8Array(content) {
|
|
|
1081
1060
|
}
|
|
1082
1061
|
if (typeof content === "string") {
|
|
1083
1062
|
try {
|
|
1084
|
-
return (0,
|
|
1063
|
+
return (0, import_provider_utils5.convertBase64ToUint8Array)(content);
|
|
1085
1064
|
} catch (error) {
|
|
1086
1065
|
throw new InvalidDataContentError({
|
|
1087
1066
|
message: "Invalid data content. Content string is not a base64-encoded media.",
|
|
@@ -1257,8 +1236,8 @@ async function downloadAssets(messages, download2, supportedUrls) {
|
|
|
1257
1236
|
).flat().filter(
|
|
1258
1237
|
(part) => part.type === "image" || part.type === "file"
|
|
1259
1238
|
).map((part) => {
|
|
1260
|
-
var
|
|
1261
|
-
const mediaType = (
|
|
1239
|
+
var _a14;
|
|
1240
|
+
const mediaType = (_a14 = part.mediaType) != null ? _a14 : part.type === "image" ? "image/*" : void 0;
|
|
1262
1241
|
let data = part.type === "image" ? part.image : part.data;
|
|
1263
1242
|
if (typeof data === "string") {
|
|
1264
1243
|
try {
|
|
@@ -1271,7 +1250,7 @@ async function downloadAssets(messages, download2, supportedUrls) {
|
|
|
1271
1250
|
(part) => part.data instanceof URL
|
|
1272
1251
|
).map((part) => ({
|
|
1273
1252
|
url: part.data,
|
|
1274
|
-
isUrlSupportedByModel: part.mediaType != null && (0,
|
|
1253
|
+
isUrlSupportedByModel: part.mediaType != null && (0, import_provider_utils6.isUrlSupported)({
|
|
1275
1254
|
url: part.data.toString(),
|
|
1276
1255
|
mediaType: part.mediaType,
|
|
1277
1256
|
supportedUrls
|
|
@@ -1288,7 +1267,7 @@ async function downloadAssets(messages, download2, supportedUrls) {
|
|
|
1288
1267
|
);
|
|
1289
1268
|
}
|
|
1290
1269
|
function convertPartToLanguageModelPart(part, downloadedAssets) {
|
|
1291
|
-
var
|
|
1270
|
+
var _a14;
|
|
1292
1271
|
if (part.type === "text") {
|
|
1293
1272
|
return {
|
|
1294
1273
|
type: "text",
|
|
@@ -1321,7 +1300,7 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
|
|
|
1321
1300
|
switch (type) {
|
|
1322
1301
|
case "image": {
|
|
1323
1302
|
if (data instanceof Uint8Array || typeof data === "string") {
|
|
1324
|
-
mediaType = (
|
|
1303
|
+
mediaType = (_a14 = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _a14 : mediaType;
|
|
1325
1304
|
}
|
|
1326
1305
|
return {
|
|
1327
1306
|
type: "file",
|
|
@@ -1373,7 +1352,7 @@ function mapToolResultOutput(output) {
|
|
|
1373
1352
|
}
|
|
1374
1353
|
|
|
1375
1354
|
// src/prompt/create-tool-model-output.ts
|
|
1376
|
-
var
|
|
1355
|
+
var import_provider17 = require("@ai-sdk/provider");
|
|
1377
1356
|
async function createToolModelOutput({
|
|
1378
1357
|
toolCallId,
|
|
1379
1358
|
input,
|
|
@@ -1382,7 +1361,7 @@ async function createToolModelOutput({
|
|
|
1382
1361
|
errorMode
|
|
1383
1362
|
}) {
|
|
1384
1363
|
if (errorMode === "text") {
|
|
1385
|
-
return { type: "error-text", value: (0,
|
|
1364
|
+
return { type: "error-text", value: (0, import_provider17.getErrorMessage)(output) };
|
|
1386
1365
|
} else if (errorMode === "json") {
|
|
1387
1366
|
return { type: "error-json", value: toJSONValue(output) };
|
|
1388
1367
|
}
|
|
@@ -1489,7 +1468,7 @@ function prepareCallSettings({
|
|
|
1489
1468
|
}
|
|
1490
1469
|
|
|
1491
1470
|
// src/prompt/prepare-tools-and-tool-choice.ts
|
|
1492
|
-
var
|
|
1471
|
+
var import_provider_utils7 = require("@ai-sdk/provider-utils");
|
|
1493
1472
|
|
|
1494
1473
|
// src/util/is-non-empty-object.ts
|
|
1495
1474
|
function isNonEmptyObject(object2) {
|
|
@@ -1509,10 +1488,10 @@ async function prepareToolsAndToolChoice({
|
|
|
1509
1488
|
};
|
|
1510
1489
|
}
|
|
1511
1490
|
const filteredTools = activeTools != null ? Object.entries(tools).filter(
|
|
1512
|
-
([
|
|
1491
|
+
([name14]) => activeTools.includes(name14)
|
|
1513
1492
|
) : Object.entries(tools);
|
|
1514
1493
|
const languageModelTools = [];
|
|
1515
|
-
for (const [
|
|
1494
|
+
for (const [name14, tool2] of filteredTools) {
|
|
1516
1495
|
const toolType = tool2.type;
|
|
1517
1496
|
switch (toolType) {
|
|
1518
1497
|
case void 0:
|
|
@@ -1520,9 +1499,9 @@ async function prepareToolsAndToolChoice({
|
|
|
1520
1499
|
case "function":
|
|
1521
1500
|
languageModelTools.push({
|
|
1522
1501
|
type: "function",
|
|
1523
|
-
name:
|
|
1502
|
+
name: name14,
|
|
1524
1503
|
description: tool2.description,
|
|
1525
|
-
inputSchema: await (0,
|
|
1504
|
+
inputSchema: await (0, import_provider_utils7.asSchema)(tool2.inputSchema).jsonSchema,
|
|
1526
1505
|
...tool2.inputExamples != null ? { inputExamples: tool2.inputExamples } : {},
|
|
1527
1506
|
providerOptions: tool2.providerOptions,
|
|
1528
1507
|
...tool2.strict != null ? { strict: tool2.strict } : {}
|
|
@@ -1531,7 +1510,7 @@ async function prepareToolsAndToolChoice({
|
|
|
1531
1510
|
case "provider":
|
|
1532
1511
|
languageModelTools.push({
|
|
1533
1512
|
type: "provider",
|
|
1534
|
-
name:
|
|
1513
|
+
name: name14,
|
|
1535
1514
|
id: tool2.id,
|
|
1536
1515
|
args: tool2.args
|
|
1537
1516
|
});
|
|
@@ -1549,8 +1528,8 @@ async function prepareToolsAndToolChoice({
|
|
|
1549
1528
|
}
|
|
1550
1529
|
|
|
1551
1530
|
// src/prompt/standardize-prompt.ts
|
|
1552
|
-
var
|
|
1553
|
-
var
|
|
1531
|
+
var import_provider18 = require("@ai-sdk/provider");
|
|
1532
|
+
var import_provider_utils8 = require("@ai-sdk/provider-utils");
|
|
1554
1533
|
var import_v46 = require("zod/v4");
|
|
1555
1534
|
|
|
1556
1535
|
// src/prompt/message.ts
|
|
@@ -1762,13 +1741,13 @@ var modelMessageSchema = import_v45.z.union([
|
|
|
1762
1741
|
// src/prompt/standardize-prompt.ts
|
|
1763
1742
|
async function standardizePrompt(prompt) {
|
|
1764
1743
|
if (prompt.prompt == null && prompt.messages == null) {
|
|
1765
|
-
throw new
|
|
1744
|
+
throw new import_provider18.InvalidPromptError({
|
|
1766
1745
|
prompt,
|
|
1767
1746
|
message: "prompt or messages must be defined"
|
|
1768
1747
|
});
|
|
1769
1748
|
}
|
|
1770
1749
|
if (prompt.prompt != null && prompt.messages != null) {
|
|
1771
|
-
throw new
|
|
1750
|
+
throw new import_provider18.InvalidPromptError({
|
|
1772
1751
|
prompt,
|
|
1773
1752
|
message: "prompt and messages cannot be defined at the same time"
|
|
1774
1753
|
});
|
|
@@ -1776,7 +1755,7 @@ async function standardizePrompt(prompt) {
|
|
|
1776
1755
|
if (prompt.system != null && typeof prompt.system !== "string" && !asArray(prompt.system).every(
|
|
1777
1756
|
(message) => typeof message === "object" && message !== null && "role" in message && message.role === "system"
|
|
1778
1757
|
)) {
|
|
1779
|
-
throw new
|
|
1758
|
+
throw new import_provider18.InvalidPromptError({
|
|
1780
1759
|
prompt,
|
|
1781
1760
|
message: "system must be a string, SystemModelMessage, or array of SystemModelMessage"
|
|
1782
1761
|
});
|
|
@@ -1789,23 +1768,23 @@ async function standardizePrompt(prompt) {
|
|
|
1789
1768
|
} else if (prompt.messages != null) {
|
|
1790
1769
|
messages = prompt.messages;
|
|
1791
1770
|
} else {
|
|
1792
|
-
throw new
|
|
1771
|
+
throw new import_provider18.InvalidPromptError({
|
|
1793
1772
|
prompt,
|
|
1794
1773
|
message: "prompt or messages must be defined"
|
|
1795
1774
|
});
|
|
1796
1775
|
}
|
|
1797
1776
|
if (messages.length === 0) {
|
|
1798
|
-
throw new
|
|
1777
|
+
throw new import_provider18.InvalidPromptError({
|
|
1799
1778
|
prompt,
|
|
1800
1779
|
message: "messages must not be empty"
|
|
1801
1780
|
});
|
|
1802
1781
|
}
|
|
1803
|
-
const validationResult = await (0,
|
|
1782
|
+
const validationResult = await (0, import_provider_utils8.safeValidateTypes)({
|
|
1804
1783
|
value: messages,
|
|
1805
1784
|
schema: import_v46.z.array(modelMessageSchema)
|
|
1806
1785
|
});
|
|
1807
1786
|
if (!validationResult.success) {
|
|
1808
|
-
throw new
|
|
1787
|
+
throw new import_provider18.InvalidPromptError({
|
|
1809
1788
|
prompt,
|
|
1810
1789
|
message: "The messages do not match the ModelMessage[] schema.",
|
|
1811
1790
|
cause: validationResult.error
|
|
@@ -1819,14 +1798,14 @@ async function standardizePrompt(prompt) {
|
|
|
1819
1798
|
|
|
1820
1799
|
// src/prompt/wrap-gateway-error.ts
|
|
1821
1800
|
var import_gateway2 = require("@ai-sdk/gateway");
|
|
1822
|
-
var
|
|
1801
|
+
var import_provider19 = require("@ai-sdk/provider");
|
|
1823
1802
|
function wrapGatewayError(error) {
|
|
1824
1803
|
if (!import_gateway2.GatewayAuthenticationError.isInstance(error))
|
|
1825
1804
|
return error;
|
|
1826
1805
|
const isProductionEnv = (process == null ? void 0 : process.env.NODE_ENV) === "production";
|
|
1827
1806
|
const moreInfoURL = "https://v6.ai-sdk.dev/unauthenticated-ai-gateway";
|
|
1828
1807
|
if (isProductionEnv) {
|
|
1829
|
-
return new
|
|
1808
|
+
return new import_provider19.AISDKError({
|
|
1830
1809
|
name: "GatewayError",
|
|
1831
1810
|
message: `Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${moreInfoURL}`
|
|
1832
1811
|
});
|
|
@@ -1867,7 +1846,7 @@ function getBaseTelemetryAttributes({
|
|
|
1867
1846
|
telemetry,
|
|
1868
1847
|
headers
|
|
1869
1848
|
}) {
|
|
1870
|
-
var
|
|
1849
|
+
var _a14;
|
|
1871
1850
|
return {
|
|
1872
1851
|
"ai.model.provider": model.provider,
|
|
1873
1852
|
"ai.model.id": model.modelId,
|
|
@@ -1877,7 +1856,7 @@ function getBaseTelemetryAttributes({
|
|
|
1877
1856
|
return attributes;
|
|
1878
1857
|
}, {}),
|
|
1879
1858
|
// add metadata as attributes:
|
|
1880
|
-
...Object.entries((
|
|
1859
|
+
...Object.entries((_a14 = telemetry == null ? void 0 : telemetry.metadata) != null ? _a14 : {}).reduce(
|
|
1881
1860
|
(attributes, [key, value]) => {
|
|
1882
1861
|
attributes[`ai.telemetry.metadata.${key}`] = value;
|
|
1883
1862
|
return attributes;
|
|
@@ -1902,7 +1881,7 @@ var noopTracer = {
|
|
|
1902
1881
|
startSpan() {
|
|
1903
1882
|
return noopSpan;
|
|
1904
1883
|
},
|
|
1905
|
-
startActiveSpan(
|
|
1884
|
+
startActiveSpan(name14, arg1, arg2, arg3) {
|
|
1906
1885
|
if (typeof arg1 === "function") {
|
|
1907
1886
|
return arg1(noopSpan);
|
|
1908
1887
|
}
|
|
@@ -1972,14 +1951,14 @@ function getTracer({
|
|
|
1972
1951
|
// src/telemetry/record-span.ts
|
|
1973
1952
|
var import_api2 = require("@opentelemetry/api");
|
|
1974
1953
|
async function recordSpan({
|
|
1975
|
-
name:
|
|
1954
|
+
name: name14,
|
|
1976
1955
|
tracer,
|
|
1977
1956
|
attributes,
|
|
1978
1957
|
fn,
|
|
1979
1958
|
endWhenDone = true
|
|
1980
1959
|
}) {
|
|
1981
1960
|
return tracer.startActiveSpan(
|
|
1982
|
-
|
|
1961
|
+
name14,
|
|
1983
1962
|
{ attributes: await attributes },
|
|
1984
1963
|
async (span) => {
|
|
1985
1964
|
try {
|
|
@@ -2109,12 +2088,12 @@ function createNullLanguageModelUsage() {
|
|
|
2109
2088
|
};
|
|
2110
2089
|
}
|
|
2111
2090
|
function addLanguageModelUsage(usage1, usage2) {
|
|
2112
|
-
var
|
|
2091
|
+
var _a14, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
2113
2092
|
return {
|
|
2114
2093
|
inputTokens: addTokenCounts(usage1.inputTokens, usage2.inputTokens),
|
|
2115
2094
|
inputTokenDetails: {
|
|
2116
2095
|
noCacheTokens: addTokenCounts(
|
|
2117
|
-
(
|
|
2096
|
+
(_a14 = usage1.inputTokenDetails) == null ? void 0 : _a14.noCacheTokens,
|
|
2118
2097
|
(_b = usage2.inputTokenDetails) == null ? void 0 : _b.noCacheTokens
|
|
2119
2098
|
),
|
|
2120
2099
|
cacheReadTokens: addTokenCounts(
|
|
@@ -2160,8 +2139,8 @@ function addImageModelUsage(usage1, usage2) {
|
|
|
2160
2139
|
}
|
|
2161
2140
|
|
|
2162
2141
|
// src/util/retry-with-exponential-backoff.ts
|
|
2163
|
-
var
|
|
2164
|
-
var
|
|
2142
|
+
var import_provider20 = require("@ai-sdk/provider");
|
|
2143
|
+
var import_provider_utils9 = require("@ai-sdk/provider-utils");
|
|
2165
2144
|
function getRetryDelayInMs({
|
|
2166
2145
|
error,
|
|
2167
2146
|
exponentialBackoffDelay
|
|
@@ -2211,13 +2190,13 @@ async function _retryWithExponentialBackoff(f, {
|
|
|
2211
2190
|
try {
|
|
2212
2191
|
return await f();
|
|
2213
2192
|
} catch (error) {
|
|
2214
|
-
if ((0,
|
|
2193
|
+
if ((0, import_provider_utils9.isAbortError)(error)) {
|
|
2215
2194
|
throw error;
|
|
2216
2195
|
}
|
|
2217
2196
|
if (maxRetries === 0) {
|
|
2218
2197
|
throw error;
|
|
2219
2198
|
}
|
|
2220
|
-
const errorMessage = (0,
|
|
2199
|
+
const errorMessage = (0, import_provider_utils9.getErrorMessage)(error);
|
|
2221
2200
|
const newErrors = [...errors, error];
|
|
2222
2201
|
const tryNumber = newErrors.length;
|
|
2223
2202
|
if (tryNumber > maxRetries) {
|
|
@@ -2227,8 +2206,8 @@ async function _retryWithExponentialBackoff(f, {
|
|
|
2227
2206
|
errors: newErrors
|
|
2228
2207
|
});
|
|
2229
2208
|
}
|
|
2230
|
-
if (error instanceof Error &&
|
|
2231
|
-
await (0,
|
|
2209
|
+
if (error instanceof Error && import_provider20.APICallError.isInstance(error) && error.isRetryable === true && tryNumber <= maxRetries) {
|
|
2210
|
+
await (0, import_provider_utils9.delay)(
|
|
2232
2211
|
getRetryDelayInMs({
|
|
2233
2212
|
error,
|
|
2234
2213
|
exponentialBackoffDelay: delayInMs
|
|
@@ -2352,7 +2331,7 @@ function collectToolApprovals({
|
|
|
2352
2331
|
}
|
|
2353
2332
|
|
|
2354
2333
|
// src/generate-text/execute-tool-call.ts
|
|
2355
|
-
var
|
|
2334
|
+
var import_provider_utils10 = require("@ai-sdk/provider-utils");
|
|
2356
2335
|
async function executeToolCall({
|
|
2357
2336
|
toolCall,
|
|
2358
2337
|
tools,
|
|
@@ -2388,7 +2367,7 @@ async function executeToolCall({
|
|
|
2388
2367
|
fn: async (span) => {
|
|
2389
2368
|
let output;
|
|
2390
2369
|
try {
|
|
2391
|
-
const stream = (0,
|
|
2370
|
+
const stream = (0, import_provider_utils10.executeTool)({
|
|
2392
2371
|
execute: tool2.execute.bind(tool2),
|
|
2393
2372
|
input,
|
|
2394
2373
|
options: {
|
|
@@ -2460,7 +2439,7 @@ function extractTextContent(content) {
|
|
|
2460
2439
|
}
|
|
2461
2440
|
|
|
2462
2441
|
// src/generate-text/generated-file.ts
|
|
2463
|
-
var
|
|
2442
|
+
var import_provider_utils11 = require("@ai-sdk/provider-utils");
|
|
2464
2443
|
var DefaultGeneratedFile = class {
|
|
2465
2444
|
constructor({
|
|
2466
2445
|
data,
|
|
@@ -2474,14 +2453,14 @@ var DefaultGeneratedFile = class {
|
|
|
2474
2453
|
// lazy conversion with caching to avoid unnecessary conversion overhead:
|
|
2475
2454
|
get base64() {
|
|
2476
2455
|
if (this.base64Data == null) {
|
|
2477
|
-
this.base64Data = (0,
|
|
2456
|
+
this.base64Data = (0, import_provider_utils11.convertUint8ArrayToBase64)(this.uint8ArrayData);
|
|
2478
2457
|
}
|
|
2479
2458
|
return this.base64Data;
|
|
2480
2459
|
}
|
|
2481
2460
|
// lazy conversion with caching to avoid unnecessary conversion overhead:
|
|
2482
2461
|
get uint8Array() {
|
|
2483
2462
|
if (this.uint8ArrayData == null) {
|
|
2484
|
-
this.uint8ArrayData = (0,
|
|
2463
|
+
this.uint8ArrayData = (0, import_provider_utils11.convertBase64ToUint8Array)(this.base64Data);
|
|
2485
2464
|
}
|
|
2486
2465
|
return this.uint8ArrayData;
|
|
2487
2466
|
}
|
|
@@ -2522,11 +2501,11 @@ __export(output_exports, {
|
|
|
2522
2501
|
object: () => object,
|
|
2523
2502
|
text: () => text
|
|
2524
2503
|
});
|
|
2525
|
-
var
|
|
2526
|
-
var
|
|
2504
|
+
var import_provider21 = require("@ai-sdk/provider");
|
|
2505
|
+
var import_provider_utils13 = require("@ai-sdk/provider-utils");
|
|
2527
2506
|
|
|
2528
2507
|
// src/util/parse-partial-json.ts
|
|
2529
|
-
var
|
|
2508
|
+
var import_provider_utils12 = require("@ai-sdk/provider-utils");
|
|
2530
2509
|
|
|
2531
2510
|
// src/util/fix-json.ts
|
|
2532
2511
|
function fixJson(input) {
|
|
@@ -2851,11 +2830,11 @@ async function parsePartialJson(jsonText) {
|
|
|
2851
2830
|
if (jsonText === void 0) {
|
|
2852
2831
|
return { value: void 0, state: "undefined-input" };
|
|
2853
2832
|
}
|
|
2854
|
-
let result = await (0,
|
|
2833
|
+
let result = await (0, import_provider_utils12.safeParseJSON)({ text: jsonText });
|
|
2855
2834
|
if (result.success) {
|
|
2856
2835
|
return { value: result.value, state: "successful-parse" };
|
|
2857
2836
|
}
|
|
2858
|
-
result = await (0,
|
|
2837
|
+
result = await (0, import_provider_utils12.safeParseJSON)({ text: fixJson(jsonText) });
|
|
2859
2838
|
if (result.success) {
|
|
2860
2839
|
return { value: result.value, state: "repaired-parse" };
|
|
2861
2840
|
}
|
|
@@ -2874,19 +2853,19 @@ var text = () => ({
|
|
|
2874
2853
|
});
|
|
2875
2854
|
var object = ({
|
|
2876
2855
|
schema: inputSchema,
|
|
2877
|
-
name:
|
|
2856
|
+
name: name14,
|
|
2878
2857
|
description
|
|
2879
2858
|
}) => {
|
|
2880
|
-
const schema = (0,
|
|
2859
|
+
const schema = (0, import_provider_utils13.asSchema)(inputSchema);
|
|
2881
2860
|
return {
|
|
2882
|
-
responseFormat: (0,
|
|
2861
|
+
responseFormat: (0, import_provider_utils13.resolve)(schema.jsonSchema).then((jsonSchema2) => ({
|
|
2883
2862
|
type: "json",
|
|
2884
2863
|
schema: jsonSchema2,
|
|
2885
|
-
...
|
|
2864
|
+
...name14 != null && { name: name14 },
|
|
2886
2865
|
...description != null && { description }
|
|
2887
2866
|
})),
|
|
2888
2867
|
async parseCompleteOutput({ text: text2 }, context) {
|
|
2889
|
-
const parseResult = await (0,
|
|
2868
|
+
const parseResult = await (0, import_provider_utils13.safeParseJSON)({ text: text2 });
|
|
2890
2869
|
if (!parseResult.success) {
|
|
2891
2870
|
throw new NoObjectGeneratedError({
|
|
2892
2871
|
message: "No object generated: could not parse the response.",
|
|
@@ -2897,7 +2876,7 @@ var object = ({
|
|
|
2897
2876
|
finishReason: context.finishReason
|
|
2898
2877
|
});
|
|
2899
2878
|
}
|
|
2900
|
-
const validationResult = await (0,
|
|
2879
|
+
const validationResult = await (0, import_provider_utils13.safeValidateTypes)({
|
|
2901
2880
|
value: parseResult.value,
|
|
2902
2881
|
schema
|
|
2903
2882
|
});
|
|
@@ -2933,13 +2912,13 @@ var object = ({
|
|
|
2933
2912
|
};
|
|
2934
2913
|
var array = ({
|
|
2935
2914
|
element: inputElementSchema,
|
|
2936
|
-
name:
|
|
2915
|
+
name: name14,
|
|
2937
2916
|
description
|
|
2938
2917
|
}) => {
|
|
2939
|
-
const elementSchema = (0,
|
|
2918
|
+
const elementSchema = (0, import_provider_utils13.asSchema)(inputElementSchema);
|
|
2940
2919
|
return {
|
|
2941
2920
|
// JSON schema that describes an array of elements:
|
|
2942
|
-
responseFormat: (0,
|
|
2921
|
+
responseFormat: (0, import_provider_utils13.resolve)(elementSchema.jsonSchema).then((jsonSchema2) => {
|
|
2943
2922
|
const { $schema, ...itemSchema } = jsonSchema2;
|
|
2944
2923
|
return {
|
|
2945
2924
|
type: "json",
|
|
@@ -2952,12 +2931,12 @@ var array = ({
|
|
|
2952
2931
|
required: ["elements"],
|
|
2953
2932
|
additionalProperties: false
|
|
2954
2933
|
},
|
|
2955
|
-
...
|
|
2934
|
+
...name14 != null && { name: name14 },
|
|
2956
2935
|
...description != null && { description }
|
|
2957
2936
|
};
|
|
2958
2937
|
}),
|
|
2959
2938
|
async parseCompleteOutput({ text: text2 }, context) {
|
|
2960
|
-
const parseResult = await (0,
|
|
2939
|
+
const parseResult = await (0, import_provider_utils13.safeParseJSON)({ text: text2 });
|
|
2961
2940
|
if (!parseResult.success) {
|
|
2962
2941
|
throw new NoObjectGeneratedError({
|
|
2963
2942
|
message: "No object generated: could not parse the response.",
|
|
@@ -2972,7 +2951,7 @@ var array = ({
|
|
|
2972
2951
|
if (outerValue == null || typeof outerValue !== "object" || !("elements" in outerValue) || !Array.isArray(outerValue.elements)) {
|
|
2973
2952
|
throw new NoObjectGeneratedError({
|
|
2974
2953
|
message: "No object generated: response did not match schema.",
|
|
2975
|
-
cause: new
|
|
2954
|
+
cause: new import_provider21.TypeValidationError({
|
|
2976
2955
|
value: outerValue,
|
|
2977
2956
|
cause: "response must be an object with an elements array"
|
|
2978
2957
|
}),
|
|
@@ -2983,7 +2962,7 @@ var array = ({
|
|
|
2983
2962
|
});
|
|
2984
2963
|
}
|
|
2985
2964
|
for (const element of outerValue.elements) {
|
|
2986
|
-
const validationResult = await (0,
|
|
2965
|
+
const validationResult = await (0, import_provider_utils13.safeValidateTypes)({
|
|
2987
2966
|
value: element,
|
|
2988
2967
|
schema: elementSchema
|
|
2989
2968
|
});
|
|
@@ -3016,7 +2995,7 @@ var array = ({
|
|
|
3016
2995
|
const rawElements = result.state === "repaired-parse" && outerValue.elements.length > 0 ? outerValue.elements.slice(0, -1) : outerValue.elements;
|
|
3017
2996
|
const parsedElements = [];
|
|
3018
2997
|
for (const rawElement of rawElements) {
|
|
3019
|
-
const validationResult = await (0,
|
|
2998
|
+
const validationResult = await (0, import_provider_utils13.safeValidateTypes)({
|
|
3020
2999
|
value: rawElement,
|
|
3021
3000
|
schema: elementSchema
|
|
3022
3001
|
});
|
|
@@ -3032,7 +3011,7 @@ var array = ({
|
|
|
3032
3011
|
};
|
|
3033
3012
|
var choice = ({
|
|
3034
3013
|
options: choiceOptions,
|
|
3035
|
-
name:
|
|
3014
|
+
name: name14,
|
|
3036
3015
|
description
|
|
3037
3016
|
}) => {
|
|
3038
3017
|
return {
|
|
@@ -3048,11 +3027,11 @@ var choice = ({
|
|
|
3048
3027
|
required: ["result"],
|
|
3049
3028
|
additionalProperties: false
|
|
3050
3029
|
},
|
|
3051
|
-
...
|
|
3030
|
+
...name14 != null && { name: name14 },
|
|
3052
3031
|
...description != null && { description }
|
|
3053
3032
|
}),
|
|
3054
3033
|
async parseCompleteOutput({ text: text2 }, context) {
|
|
3055
|
-
const parseResult = await (0,
|
|
3034
|
+
const parseResult = await (0, import_provider_utils13.safeParseJSON)({ text: text2 });
|
|
3056
3035
|
if (!parseResult.success) {
|
|
3057
3036
|
throw new NoObjectGeneratedError({
|
|
3058
3037
|
message: "No object generated: could not parse the response.",
|
|
@@ -3067,7 +3046,7 @@ var choice = ({
|
|
|
3067
3046
|
if (outerValue == null || typeof outerValue !== "object" || !("result" in outerValue) || typeof outerValue.result !== "string" || !choiceOptions.includes(outerValue.result)) {
|
|
3068
3047
|
throw new NoObjectGeneratedError({
|
|
3069
3048
|
message: "No object generated: response did not match schema.",
|
|
3070
|
-
cause: new
|
|
3049
|
+
cause: new import_provider21.TypeValidationError({
|
|
3071
3050
|
value: outerValue,
|
|
3072
3051
|
cause: "response must be an object that contains a choice value."
|
|
3073
3052
|
}),
|
|
@@ -3106,17 +3085,17 @@ var choice = ({
|
|
|
3106
3085
|
};
|
|
3107
3086
|
};
|
|
3108
3087
|
var json = ({
|
|
3109
|
-
name:
|
|
3088
|
+
name: name14,
|
|
3110
3089
|
description
|
|
3111
3090
|
} = {}) => {
|
|
3112
3091
|
return {
|
|
3113
3092
|
responseFormat: Promise.resolve({
|
|
3114
3093
|
type: "json",
|
|
3115
|
-
...
|
|
3094
|
+
...name14 != null && { name: name14 },
|
|
3116
3095
|
...description != null && { description }
|
|
3117
3096
|
}),
|
|
3118
3097
|
async parseCompleteOutput({ text: text2 }, context) {
|
|
3119
|
-
const parseResult = await (0,
|
|
3098
|
+
const parseResult = await (0, import_provider_utils13.safeParseJSON)({ text: text2 });
|
|
3120
3099
|
if (!parseResult.success) {
|
|
3121
3100
|
throw new NoObjectGeneratedError({
|
|
3122
3101
|
message: "No object generated: could not parse the response.",
|
|
@@ -3146,7 +3125,7 @@ var json = ({
|
|
|
3146
3125
|
};
|
|
3147
3126
|
|
|
3148
3127
|
// src/generate-text/parse-tool-call.ts
|
|
3149
|
-
var
|
|
3128
|
+
var import_provider_utils14 = require("@ai-sdk/provider-utils");
|
|
3150
3129
|
async function parseToolCall({
|
|
3151
3130
|
toolCall,
|
|
3152
3131
|
tools,
|
|
@@ -3154,7 +3133,7 @@ async function parseToolCall({
|
|
|
3154
3133
|
system,
|
|
3155
3134
|
messages
|
|
3156
3135
|
}) {
|
|
3157
|
-
var
|
|
3136
|
+
var _a14;
|
|
3158
3137
|
try {
|
|
3159
3138
|
if (tools == null) {
|
|
3160
3139
|
if (toolCall.providerExecuted && toolCall.dynamic) {
|
|
@@ -3175,7 +3154,7 @@ async function parseToolCall({
|
|
|
3175
3154
|
tools,
|
|
3176
3155
|
inputSchema: async ({ toolName }) => {
|
|
3177
3156
|
const { inputSchema } = tools[toolName];
|
|
3178
|
-
return await (0,
|
|
3157
|
+
return await (0, import_provider_utils14.asSchema)(inputSchema).jsonSchema;
|
|
3179
3158
|
},
|
|
3180
3159
|
system,
|
|
3181
3160
|
messages,
|
|
@@ -3193,7 +3172,7 @@ async function parseToolCall({
|
|
|
3193
3172
|
return await doParseToolCall({ toolCall: repairedToolCall, tools });
|
|
3194
3173
|
}
|
|
3195
3174
|
} catch (error) {
|
|
3196
|
-
const parsedInput = await (0,
|
|
3175
|
+
const parsedInput = await (0, import_provider_utils14.safeParseJSON)({ text: toolCall.input });
|
|
3197
3176
|
const input = parsedInput.success ? parsedInput.value : toolCall.input;
|
|
3198
3177
|
return {
|
|
3199
3178
|
type: "tool-call",
|
|
@@ -3203,14 +3182,14 @@ async function parseToolCall({
|
|
|
3203
3182
|
dynamic: true,
|
|
3204
3183
|
invalid: true,
|
|
3205
3184
|
error,
|
|
3206
|
-
title: (
|
|
3185
|
+
title: (_a14 = tools == null ? void 0 : tools[toolCall.toolName]) == null ? void 0 : _a14.title,
|
|
3207
3186
|
providerExecuted: toolCall.providerExecuted,
|
|
3208
3187
|
providerMetadata: toolCall.providerMetadata
|
|
3209
3188
|
};
|
|
3210
3189
|
}
|
|
3211
3190
|
}
|
|
3212
3191
|
async function parseProviderExecutedDynamicToolCall(toolCall) {
|
|
3213
|
-
const parseResult = toolCall.input.trim() === "" ? { success: true, value: {} } : await (0,
|
|
3192
|
+
const parseResult = toolCall.input.trim() === "" ? { success: true, value: {} } : await (0, import_provider_utils14.safeParseJSON)({ text: toolCall.input });
|
|
3214
3193
|
if (parseResult.success === false) {
|
|
3215
3194
|
throw new InvalidToolInputError({
|
|
3216
3195
|
toolName: toolCall.toolName,
|
|
@@ -3243,8 +3222,8 @@ async function doParseToolCall({
|
|
|
3243
3222
|
availableTools: Object.keys(tools)
|
|
3244
3223
|
});
|
|
3245
3224
|
}
|
|
3246
|
-
const schema = (0,
|
|
3247
|
-
const parseResult = toolCall.input.trim() === "" ? await (0,
|
|
3225
|
+
const schema = (0, import_provider_utils14.asSchema)(tool2.inputSchema);
|
|
3226
|
+
const parseResult = toolCall.input.trim() === "" ? await (0, import_provider_utils14.safeValidateTypes)({ value: {}, schema }) : await (0, import_provider_utils14.safeParseJSON)({ text: toolCall.input, schema });
|
|
3248
3227
|
if (parseResult.success === false) {
|
|
3249
3228
|
throw new InvalidToolInputError({
|
|
3250
3229
|
toolName,
|
|
@@ -3340,8 +3319,8 @@ function stepCountIs(stepCount) {
|
|
|
3340
3319
|
}
|
|
3341
3320
|
function hasToolCall(toolName) {
|
|
3342
3321
|
return ({ steps }) => {
|
|
3343
|
-
var
|
|
3344
|
-
return (_c = (_b = (
|
|
3322
|
+
var _a14, _b, _c;
|
|
3323
|
+
return (_c = (_b = (_a14 = steps[steps.length - 1]) == null ? void 0 : _a14.toolCalls) == null ? void 0 : _b.some(
|
|
3345
3324
|
(toolCall) => toolCall.toolName === toolName
|
|
3346
3325
|
)) != null ? _c : false;
|
|
3347
3326
|
};
|
|
@@ -3476,7 +3455,7 @@ async function toResponseMessages({
|
|
|
3476
3455
|
}
|
|
3477
3456
|
|
|
3478
3457
|
// src/generate-text/generate-text.ts
|
|
3479
|
-
var originalGenerateId = (0,
|
|
3458
|
+
var originalGenerateId = (0, import_provider_utils15.createIdGenerator)({
|
|
3480
3459
|
prefix: "aitxt",
|
|
3481
3460
|
size: 24
|
|
3482
3461
|
});
|
|
@@ -3517,7 +3496,7 @@ async function generateText({
|
|
|
3517
3496
|
abortSignal
|
|
3518
3497
|
});
|
|
3519
3498
|
const callSettings = prepareCallSettings(settings);
|
|
3520
|
-
const headersWithUserAgent = (0,
|
|
3499
|
+
const headersWithUserAgent = (0, import_provider_utils15.withUserAgentSuffix)(
|
|
3521
3500
|
headers != null ? headers : {},
|
|
3522
3501
|
`ai/${VERSION}`
|
|
3523
3502
|
);
|
|
@@ -3555,7 +3534,7 @@ async function generateText({
|
|
|
3555
3534
|
}),
|
|
3556
3535
|
tracer,
|
|
3557
3536
|
fn: async (span) => {
|
|
3558
|
-
var
|
|
3537
|
+
var _a14, _b, _c, _d, _e, _f, _g, _h;
|
|
3559
3538
|
const initialMessages = initialPrompt.messages;
|
|
3560
3539
|
const responseMessages = [];
|
|
3561
3540
|
const { approvedToolApprovals, deniedToolApprovals } = collectToolApprovals({ messages: initialMessages });
|
|
@@ -3618,7 +3597,7 @@ async function generateText({
|
|
|
3618
3597
|
experimental_context
|
|
3619
3598
|
}));
|
|
3620
3599
|
const stepModel = resolveLanguageModel(
|
|
3621
|
-
(
|
|
3600
|
+
(_a14 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a14 : model
|
|
3622
3601
|
);
|
|
3623
3602
|
const promptMessages = await convertToLanguageModelPrompt({
|
|
3624
3603
|
prompt: {
|
|
@@ -3636,7 +3615,7 @@ async function generateText({
|
|
|
3636
3615
|
});
|
|
3637
3616
|
currentModelResponse = await retry(
|
|
3638
3617
|
() => {
|
|
3639
|
-
var
|
|
3618
|
+
var _a15;
|
|
3640
3619
|
return recordSpan({
|
|
3641
3620
|
name: "ai.generateText.doGenerate",
|
|
3642
3621
|
attributes: selectTelemetryAttributes({
|
|
@@ -3668,14 +3647,14 @@ async function generateText({
|
|
|
3668
3647
|
"gen_ai.request.max_tokens": settings.maxOutputTokens,
|
|
3669
3648
|
"gen_ai.request.presence_penalty": settings.presencePenalty,
|
|
3670
3649
|
"gen_ai.request.stop_sequences": settings.stopSequences,
|
|
3671
|
-
"gen_ai.request.temperature": (
|
|
3650
|
+
"gen_ai.request.temperature": (_a15 = settings.temperature) != null ? _a15 : void 0,
|
|
3672
3651
|
"gen_ai.request.top_k": settings.topK,
|
|
3673
3652
|
"gen_ai.request.top_p": settings.topP
|
|
3674
3653
|
}
|
|
3675
3654
|
}),
|
|
3676
3655
|
tracer,
|
|
3677
3656
|
fn: async (span2) => {
|
|
3678
|
-
var
|
|
3657
|
+
var _a16, _b2, _c2, _d2, _e2, _f2, _g2, _h2;
|
|
3679
3658
|
const result = await stepModel.doGenerate({
|
|
3680
3659
|
...callSettings2,
|
|
3681
3660
|
tools: stepTools,
|
|
@@ -3687,7 +3666,7 @@ async function generateText({
|
|
|
3687
3666
|
headers: headersWithUserAgent
|
|
3688
3667
|
});
|
|
3689
3668
|
const responseData = {
|
|
3690
|
-
id: (_b2 = (
|
|
3669
|
+
id: (_b2 = (_a16 = result.response) == null ? void 0 : _a16.id) != null ? _b2 : generateId2(),
|
|
3691
3670
|
timestamp: (_d2 = (_c2 = result.response) == null ? void 0 : _c2.timestamp) != null ? _d2 : currentDate(),
|
|
3692
3671
|
modelId: (_f2 = (_e2 = result.response) == null ? void 0 : _e2.modelId) != null ? _f2 : stepModel.modelId,
|
|
3693
3672
|
headers: (_g2 = result.response) == null ? void 0 : _g2.headers,
|
|
@@ -3784,7 +3763,7 @@ async function generateText({
|
|
|
3784
3763
|
toolCallId: toolCall.toolCallId,
|
|
3785
3764
|
toolName: toolCall.toolName,
|
|
3786
3765
|
input: toolCall.input,
|
|
3787
|
-
error: (0,
|
|
3766
|
+
error: (0, import_provider_utils15.getErrorMessage)(toolCall.error),
|
|
3788
3767
|
dynamic: true
|
|
3789
3768
|
});
|
|
3790
3769
|
}
|
|
@@ -4099,8 +4078,8 @@ function asContent({
|
|
|
4099
4078
|
}
|
|
4100
4079
|
|
|
4101
4080
|
// src/generate-text/stream-text.ts
|
|
4102
|
-
var
|
|
4103
|
-
var
|
|
4081
|
+
var import_provider22 = require("@ai-sdk/provider");
|
|
4082
|
+
var import_provider_utils19 = require("@ai-sdk/provider-utils");
|
|
4104
4083
|
|
|
4105
4084
|
// src/util/prepare-headers.ts
|
|
4106
4085
|
function prepareHeaders(headers, defaultHeaders) {
|
|
@@ -4137,7 +4116,12 @@ function writeToServerResponse({
|
|
|
4137
4116
|
headers,
|
|
4138
4117
|
stream
|
|
4139
4118
|
}) {
|
|
4140
|
-
|
|
4119
|
+
const statusCode = status != null ? status : 200;
|
|
4120
|
+
if (statusText !== void 0) {
|
|
4121
|
+
response.writeHead(statusCode, statusText, headers);
|
|
4122
|
+
} else {
|
|
4123
|
+
response.writeHead(statusCode, headers);
|
|
4124
|
+
}
|
|
4141
4125
|
const reader = stream.getReader();
|
|
4142
4126
|
const read = async () => {
|
|
4143
4127
|
try {
|
|
@@ -4242,13 +4226,13 @@ function getResponseUIMessageId({
|
|
|
4242
4226
|
}
|
|
4243
4227
|
|
|
4244
4228
|
// src/ui/process-ui-message-stream.ts
|
|
4245
|
-
var
|
|
4229
|
+
var import_provider_utils17 = require("@ai-sdk/provider-utils");
|
|
4246
4230
|
|
|
4247
4231
|
// src/ui-message-stream/ui-message-chunks.ts
|
|
4248
4232
|
var import_v47 = require("zod/v4");
|
|
4249
|
-
var
|
|
4250
|
-
var uiMessageChunkSchema = (0,
|
|
4251
|
-
() => (0,
|
|
4233
|
+
var import_provider_utils16 = require("@ai-sdk/provider-utils");
|
|
4234
|
+
var uiMessageChunkSchema = (0, import_provider_utils16.lazySchema)(
|
|
4235
|
+
() => (0, import_provider_utils16.zodSchema)(
|
|
4252
4236
|
import_v47.z.union([
|
|
4253
4237
|
import_v47.z.strictObject({
|
|
4254
4238
|
type: import_v47.z.literal("text-start"),
|
|
@@ -4506,7 +4490,7 @@ function processUIMessageStream({
|
|
|
4506
4490
|
new TransformStream({
|
|
4507
4491
|
async transform(chunk, controller) {
|
|
4508
4492
|
await runUpdateMessageJob(async ({ state, write }) => {
|
|
4509
|
-
var
|
|
4493
|
+
var _a14, _b, _c, _d;
|
|
4510
4494
|
function getToolInvocation(toolCallId) {
|
|
4511
4495
|
const toolInvocations = state.message.parts.filter(isToolUIPart);
|
|
4512
4496
|
const toolInvocation = toolInvocations.find(
|
|
@@ -4520,7 +4504,7 @@ function processUIMessageStream({
|
|
|
4520
4504
|
return toolInvocation;
|
|
4521
4505
|
}
|
|
4522
4506
|
function updateToolPart(options) {
|
|
4523
|
-
var
|
|
4507
|
+
var _a15;
|
|
4524
4508
|
const part = state.message.parts.find(
|
|
4525
4509
|
(part2) => isStaticToolUIPart(part2) && part2.toolCallId === options.toolCallId
|
|
4526
4510
|
);
|
|
@@ -4536,7 +4520,7 @@ function processUIMessageStream({
|
|
|
4536
4520
|
if (options.title !== void 0) {
|
|
4537
4521
|
anyPart.title = options.title;
|
|
4538
4522
|
}
|
|
4539
|
-
anyPart.providerExecuted = (
|
|
4523
|
+
anyPart.providerExecuted = (_a15 = anyOptions.providerExecuted) != null ? _a15 : part.providerExecuted;
|
|
4540
4524
|
if (anyOptions.providerMetadata != null && part.state === "input-available") {
|
|
4541
4525
|
part.callProviderMetadata = anyOptions.providerMetadata;
|
|
4542
4526
|
}
|
|
@@ -4557,7 +4541,7 @@ function processUIMessageStream({
|
|
|
4557
4541
|
}
|
|
4558
4542
|
}
|
|
4559
4543
|
function updateDynamicToolPart(options) {
|
|
4560
|
-
var
|
|
4544
|
+
var _a15, _b2;
|
|
4561
4545
|
const part = state.message.parts.find(
|
|
4562
4546
|
(part2) => part2.type === "dynamic-tool" && part2.toolCallId === options.toolCallId
|
|
4563
4547
|
);
|
|
@@ -4569,7 +4553,7 @@ function processUIMessageStream({
|
|
|
4569
4553
|
anyPart.input = anyOptions.input;
|
|
4570
4554
|
anyPart.output = anyOptions.output;
|
|
4571
4555
|
anyPart.errorText = anyOptions.errorText;
|
|
4572
|
-
anyPart.rawInput = (
|
|
4556
|
+
anyPart.rawInput = (_a15 = anyOptions.rawInput) != null ? _a15 : anyPart.rawInput;
|
|
4573
4557
|
anyPart.preliminary = anyOptions.preliminary;
|
|
4574
4558
|
if (options.title !== void 0) {
|
|
4575
4559
|
anyPart.title = options.title;
|
|
@@ -4598,7 +4582,7 @@ function processUIMessageStream({
|
|
|
4598
4582
|
if (metadata != null) {
|
|
4599
4583
|
const mergedMetadata = state.message.metadata != null ? mergeObjects(state.message.metadata, metadata) : metadata;
|
|
4600
4584
|
if (messageMetadataSchema != null) {
|
|
4601
|
-
await (0,
|
|
4585
|
+
await (0, import_provider_utils17.validateTypes)({
|
|
4602
4586
|
value: mergedMetadata,
|
|
4603
4587
|
schema: messageMetadataSchema
|
|
4604
4588
|
});
|
|
@@ -4622,7 +4606,7 @@ function processUIMessageStream({
|
|
|
4622
4606
|
case "text-delta": {
|
|
4623
4607
|
const textPart = state.activeTextParts[chunk.id];
|
|
4624
4608
|
textPart.text += chunk.delta;
|
|
4625
|
-
textPart.providerMetadata = (
|
|
4609
|
+
textPart.providerMetadata = (_a14 = chunk.providerMetadata) != null ? _a14 : textPart.providerMetadata;
|
|
4626
4610
|
write();
|
|
4627
4611
|
break;
|
|
4628
4612
|
}
|
|
@@ -4917,7 +4901,7 @@ function processUIMessageStream({
|
|
|
4917
4901
|
default: {
|
|
4918
4902
|
if (isDataUIMessageChunk(chunk)) {
|
|
4919
4903
|
if ((dataPartSchemas == null ? void 0 : dataPartSchemas[chunk.type]) != null) {
|
|
4920
|
-
await (0,
|
|
4904
|
+
await (0, import_provider_utils17.validateTypes)({
|
|
4921
4905
|
value: chunk.data,
|
|
4922
4906
|
schema: dataPartSchemas[chunk.type]
|
|
4923
4907
|
});
|
|
@@ -5061,11 +5045,11 @@ function createAsyncIterableStream(source) {
|
|
|
5061
5045
|
const reader = this.getReader();
|
|
5062
5046
|
let finished = false;
|
|
5063
5047
|
async function cleanup(cancelStream) {
|
|
5064
|
-
var
|
|
5048
|
+
var _a14;
|
|
5065
5049
|
finished = true;
|
|
5066
5050
|
try {
|
|
5067
5051
|
if (cancelStream) {
|
|
5068
|
-
await ((
|
|
5052
|
+
await ((_a14 = reader.cancel) == null ? void 0 : _a14.call(reader));
|
|
5069
5053
|
}
|
|
5070
5054
|
} finally {
|
|
5071
5055
|
try {
|
|
@@ -5231,12 +5215,12 @@ function createStitchableStream() {
|
|
|
5231
5215
|
|
|
5232
5216
|
// src/util/now.ts
|
|
5233
5217
|
function now() {
|
|
5234
|
-
var
|
|
5235
|
-
return (_b = (
|
|
5218
|
+
var _a14, _b;
|
|
5219
|
+
return (_b = (_a14 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a14.now()) != null ? _b : Date.now();
|
|
5236
5220
|
}
|
|
5237
5221
|
|
|
5238
5222
|
// src/generate-text/run-tools-transformation.ts
|
|
5239
|
-
var
|
|
5223
|
+
var import_provider_utils18 = require("@ai-sdk/provider-utils");
|
|
5240
5224
|
function runToolsTransformation({
|
|
5241
5225
|
tools,
|
|
5242
5226
|
generatorStream,
|
|
@@ -5323,7 +5307,7 @@ function runToolsTransformation({
|
|
|
5323
5307
|
toolCallId: toolCall.toolCallId,
|
|
5324
5308
|
toolName: toolCall.toolName,
|
|
5325
5309
|
input: toolCall.input,
|
|
5326
|
-
error: (0,
|
|
5310
|
+
error: (0, import_provider_utils18.getErrorMessage)(toolCall.error),
|
|
5327
5311
|
dynamic: true,
|
|
5328
5312
|
title: toolCall.title
|
|
5329
5313
|
});
|
|
@@ -5445,7 +5429,7 @@ function runToolsTransformation({
|
|
|
5445
5429
|
}
|
|
5446
5430
|
|
|
5447
5431
|
// src/generate-text/stream-text.ts
|
|
5448
|
-
var originalGenerateId2 = (0,
|
|
5432
|
+
var originalGenerateId2 = (0, import_provider_utils19.createIdGenerator)({
|
|
5449
5433
|
prefix: "aitxt",
|
|
5450
5434
|
size: 24
|
|
5451
5435
|
});
|
|
@@ -5541,7 +5525,7 @@ function createOutputTransformStream(output) {
|
|
|
5541
5525
|
}
|
|
5542
5526
|
return new TransformStream({
|
|
5543
5527
|
async transform(chunk, controller) {
|
|
5544
|
-
var
|
|
5528
|
+
var _a14;
|
|
5545
5529
|
if (chunk.type === "finish-step" && textChunk.length > 0) {
|
|
5546
5530
|
publishTextChunk({ controller });
|
|
5547
5531
|
}
|
|
@@ -5568,7 +5552,7 @@ function createOutputTransformStream(output) {
|
|
|
5568
5552
|
}
|
|
5569
5553
|
text2 += chunk.text;
|
|
5570
5554
|
textChunk += chunk.text;
|
|
5571
|
-
textProviderMetadata = (
|
|
5555
|
+
textProviderMetadata = (_a14 = chunk.providerMetadata) != null ? _a14 : textProviderMetadata;
|
|
5572
5556
|
const result = await output.parsePartialOutput({ text: text2 });
|
|
5573
5557
|
if (result !== void 0) {
|
|
5574
5558
|
const currentJson = JSON.stringify(result.partial);
|
|
@@ -5612,9 +5596,9 @@ var DefaultStreamTextResult = class {
|
|
|
5612
5596
|
experimental_context,
|
|
5613
5597
|
download: download2
|
|
5614
5598
|
}) {
|
|
5615
|
-
this._totalUsage = new
|
|
5616
|
-
this._finishReason = new
|
|
5617
|
-
this._steps = new
|
|
5599
|
+
this._totalUsage = new import_provider_utils19.DelayedPromise();
|
|
5600
|
+
this._finishReason = new import_provider_utils19.DelayedPromise();
|
|
5601
|
+
this._steps = new import_provider_utils19.DelayedPromise();
|
|
5618
5602
|
this.outputSpecification = output;
|
|
5619
5603
|
this.includeRawChunks = includeRawChunks;
|
|
5620
5604
|
this.tools = tools;
|
|
@@ -5631,7 +5615,7 @@ var DefaultStreamTextResult = class {
|
|
|
5631
5615
|
let activeReasoningContent = {};
|
|
5632
5616
|
const eventProcessor = new TransformStream({
|
|
5633
5617
|
async transform(chunk, controller) {
|
|
5634
|
-
var
|
|
5618
|
+
var _a14, _b, _c, _d;
|
|
5635
5619
|
controller.enqueue(chunk);
|
|
5636
5620
|
const { part } = chunk;
|
|
5637
5621
|
if (part.type === "text-delta" || part.type === "reasoning-delta" || part.type === "source" || part.type === "tool-call" || part.type === "tool-result" || part.type === "tool-input-start" || part.type === "tool-input-delta" || part.type === "raw") {
|
|
@@ -5661,7 +5645,7 @@ var DefaultStreamTextResult = class {
|
|
|
5661
5645
|
return;
|
|
5662
5646
|
}
|
|
5663
5647
|
activeText.text += part.text;
|
|
5664
|
-
activeText.providerMetadata = (
|
|
5648
|
+
activeText.providerMetadata = (_a14 = part.providerMetadata) != null ? _a14 : activeText.providerMetadata;
|
|
5665
5649
|
}
|
|
5666
5650
|
if (part.type === "text-end") {
|
|
5667
5651
|
const activeText = activeTextContent[part.id];
|
|
@@ -5821,8 +5805,8 @@ var DefaultStreamTextResult = class {
|
|
|
5821
5805
|
"ai.response.text": { output: () => finalStep.text },
|
|
5822
5806
|
"ai.response.toolCalls": {
|
|
5823
5807
|
output: () => {
|
|
5824
|
-
var
|
|
5825
|
-
return ((
|
|
5808
|
+
var _a14;
|
|
5809
|
+
return ((_a14 = finalStep.toolCalls) == null ? void 0 : _a14.length) ? JSON.stringify(finalStep.toolCalls) : void 0;
|
|
5826
5810
|
}
|
|
5827
5811
|
},
|
|
5828
5812
|
"ai.response.providerMetadata": JSON.stringify(
|
|
@@ -5869,7 +5853,7 @@ var DefaultStreamTextResult = class {
|
|
|
5869
5853
|
}
|
|
5870
5854
|
controller.enqueue(value);
|
|
5871
5855
|
} catch (error) {
|
|
5872
|
-
if ((0,
|
|
5856
|
+
if ((0, import_provider_utils19.isAbortError)(error) && (abortSignal == null ? void 0 : abortSignal.aborted)) {
|
|
5873
5857
|
abort();
|
|
5874
5858
|
} else {
|
|
5875
5859
|
controller.error(error);
|
|
@@ -6006,9 +5990,9 @@ var DefaultStreamTextResult = class {
|
|
|
6006
5990
|
responseMessages,
|
|
6007
5991
|
usage
|
|
6008
5992
|
}) {
|
|
6009
|
-
var
|
|
5993
|
+
var _a14, _b, _c, _d, _e, _f;
|
|
6010
5994
|
const includeRawChunks2 = self.includeRawChunks;
|
|
6011
|
-
stepFinish = new
|
|
5995
|
+
stepFinish = new import_provider_utils19.DelayedPromise();
|
|
6012
5996
|
const stepInputMessages = [...initialMessages, ...responseMessages];
|
|
6013
5997
|
const prepareStepResult = await (prepareStep == null ? void 0 : prepareStep({
|
|
6014
5998
|
model,
|
|
@@ -6018,7 +6002,7 @@ var DefaultStreamTextResult = class {
|
|
|
6018
6002
|
experimental_context
|
|
6019
6003
|
}));
|
|
6020
6004
|
const stepModel = resolveLanguageModel(
|
|
6021
|
-
(
|
|
6005
|
+
(_a14 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a14 : model
|
|
6022
6006
|
);
|
|
6023
6007
|
const promptMessages = await convertToLanguageModelPrompt({
|
|
6024
6008
|
prompt: {
|
|
@@ -6126,7 +6110,7 @@ var DefaultStreamTextResult = class {
|
|
|
6126
6110
|
streamWithToolResults.pipeThrough(
|
|
6127
6111
|
new TransformStream({
|
|
6128
6112
|
async transform(chunk, controller) {
|
|
6129
|
-
var
|
|
6113
|
+
var _a15, _b2, _c2, _d2, _e2;
|
|
6130
6114
|
if (chunk.type === "stream-start") {
|
|
6131
6115
|
warnings = chunk.warnings;
|
|
6132
6116
|
return;
|
|
@@ -6199,7 +6183,7 @@ var DefaultStreamTextResult = class {
|
|
|
6199
6183
|
}
|
|
6200
6184
|
case "response-metadata": {
|
|
6201
6185
|
stepResponse = {
|
|
6202
|
-
id: (
|
|
6186
|
+
id: (_a15 = chunk.id) != null ? _a15 : stepResponse.id,
|
|
6203
6187
|
timestamp: (_b2 = chunk.timestamp) != null ? _b2 : stepResponse.timestamp,
|
|
6204
6188
|
modelId: (_c2 = chunk.modelId) != null ? _c2 : stepResponse.modelId
|
|
6205
6189
|
};
|
|
@@ -6498,14 +6482,14 @@ var DefaultStreamTextResult = class {
|
|
|
6498
6482
|
);
|
|
6499
6483
|
}
|
|
6500
6484
|
async consumeStream(options) {
|
|
6501
|
-
var
|
|
6485
|
+
var _a14;
|
|
6502
6486
|
try {
|
|
6503
6487
|
await consumeStream({
|
|
6504
6488
|
stream: this.fullStream,
|
|
6505
6489
|
onError: options == null ? void 0 : options.onError
|
|
6506
6490
|
});
|
|
6507
6491
|
} catch (error) {
|
|
6508
|
-
(
|
|
6492
|
+
(_a14 = options == null ? void 0 : options.onError) == null ? void 0 : _a14.call(options, error);
|
|
6509
6493
|
}
|
|
6510
6494
|
}
|
|
6511
6495
|
get experimental_partialOutputStream() {
|
|
@@ -6526,8 +6510,8 @@ var DefaultStreamTextResult = class {
|
|
|
6526
6510
|
}
|
|
6527
6511
|
get output() {
|
|
6528
6512
|
return this.finalStep.then((step) => {
|
|
6529
|
-
var
|
|
6530
|
-
const output = (
|
|
6513
|
+
var _a14;
|
|
6514
|
+
const output = (_a14 = this.outputSpecification) != null ? _a14 : text();
|
|
6531
6515
|
return output.parseCompleteOutput(
|
|
6532
6516
|
{ text: step.text },
|
|
6533
6517
|
{
|
|
@@ -6547,15 +6531,15 @@ var DefaultStreamTextResult = class {
|
|
|
6547
6531
|
sendSources = false,
|
|
6548
6532
|
sendStart = true,
|
|
6549
6533
|
sendFinish = true,
|
|
6550
|
-
onError =
|
|
6534
|
+
onError = import_provider22.getErrorMessage
|
|
6551
6535
|
} = {}) {
|
|
6552
6536
|
const responseMessageId = generateMessageId != null ? getResponseUIMessageId({
|
|
6553
6537
|
originalMessages,
|
|
6554
6538
|
responseMessageId: generateMessageId
|
|
6555
6539
|
}) : void 0;
|
|
6556
6540
|
const isDynamic = (part) => {
|
|
6557
|
-
var
|
|
6558
|
-
const tool2 = (
|
|
6541
|
+
var _a14;
|
|
6542
|
+
const tool2 = (_a14 = this.tools) == null ? void 0 : _a14[part.toolName];
|
|
6559
6543
|
if (tool2 == null) {
|
|
6560
6544
|
return part.dynamic;
|
|
6561
6545
|
}
|
|
@@ -6893,10 +6877,10 @@ var ToolLoopAgent = class {
|
|
|
6893
6877
|
return this.settings.tools;
|
|
6894
6878
|
}
|
|
6895
6879
|
async prepareCall(options) {
|
|
6896
|
-
var
|
|
6880
|
+
var _a14, _b, _c, _d;
|
|
6897
6881
|
const baseCallArgs = {
|
|
6898
6882
|
...this.settings,
|
|
6899
|
-
stopWhen: (
|
|
6883
|
+
stopWhen: (_a14 = this.settings.stopWhen) != null ? _a14 : stepCountIs(20),
|
|
6900
6884
|
...options
|
|
6901
6885
|
};
|
|
6902
6886
|
const preparedCallArgs = (_d = await ((_c = (_b = this.settings).prepareCall) == null ? void 0 : _c.call(_b, baseCallArgs))) != null ? _d : baseCallArgs;
|
|
@@ -6936,13 +6920,13 @@ var ToolLoopAgent = class {
|
|
|
6936
6920
|
};
|
|
6937
6921
|
|
|
6938
6922
|
// src/ui-message-stream/create-ui-message-stream.ts
|
|
6939
|
-
var
|
|
6923
|
+
var import_provider_utils20 = require("@ai-sdk/provider-utils");
|
|
6940
6924
|
function createUIMessageStream({
|
|
6941
6925
|
execute,
|
|
6942
|
-
onError =
|
|
6926
|
+
onError = import_provider_utils20.getErrorMessage,
|
|
6943
6927
|
originalMessages,
|
|
6944
6928
|
onFinish,
|
|
6945
|
-
generateId: generateId2 =
|
|
6929
|
+
generateId: generateId2 = import_provider_utils20.generateId
|
|
6946
6930
|
}) {
|
|
6947
6931
|
let controller;
|
|
6948
6932
|
const ongoingStreamPromises = [];
|
|
@@ -7028,7 +7012,7 @@ function readUIMessageStream({
|
|
|
7028
7012
|
onError,
|
|
7029
7013
|
terminateOnError = false
|
|
7030
7014
|
}) {
|
|
7031
|
-
var
|
|
7015
|
+
var _a14;
|
|
7032
7016
|
let controller;
|
|
7033
7017
|
let hasErrored = false;
|
|
7034
7018
|
const outputStream = new ReadableStream({
|
|
@@ -7037,7 +7021,7 @@ function readUIMessageStream({
|
|
|
7037
7021
|
}
|
|
7038
7022
|
});
|
|
7039
7023
|
const state = createStreamingUIMessageState({
|
|
7040
|
-
messageId: (
|
|
7024
|
+
messageId: (_a14 = message == null ? void 0 : message.id) != null ? _a14 : "",
|
|
7041
7025
|
lastMessage: message
|
|
7042
7026
|
});
|
|
7043
7027
|
const handleError = (error) => {
|
|
@@ -7070,7 +7054,7 @@ function readUIMessageStream({
|
|
|
7070
7054
|
}
|
|
7071
7055
|
|
|
7072
7056
|
// src/ui/convert-to-model-messages.ts
|
|
7073
|
-
var
|
|
7057
|
+
var import_provider_utils21 = require("@ai-sdk/provider-utils");
|
|
7074
7058
|
async function convertToModelMessages(messages, options) {
|
|
7075
7059
|
const modelMessages = [];
|
|
7076
7060
|
if (options == null ? void 0 : options.ignoreIncompleteToolCalls) {
|
|
@@ -7104,7 +7088,7 @@ async function convertToModelMessages(messages, options) {
|
|
|
7104
7088
|
modelMessages.push({
|
|
7105
7089
|
role: "user",
|
|
7106
7090
|
content: message.parts.map((part) => {
|
|
7107
|
-
var
|
|
7091
|
+
var _a14;
|
|
7108
7092
|
if (isTextUIPart(part)) {
|
|
7109
7093
|
return {
|
|
7110
7094
|
type: "text",
|
|
@@ -7122,12 +7106,12 @@ async function convertToModelMessages(messages, options) {
|
|
|
7122
7106
|
};
|
|
7123
7107
|
}
|
|
7124
7108
|
if (isDataUIPart(part)) {
|
|
7125
|
-
return (
|
|
7109
|
+
return (_a14 = options == null ? void 0 : options.convertDataPart) == null ? void 0 : _a14.call(
|
|
7126
7110
|
options,
|
|
7127
7111
|
part
|
|
7128
7112
|
);
|
|
7129
7113
|
}
|
|
7130
|
-
}).filter(
|
|
7114
|
+
}).filter(import_provider_utils21.isNonNullable)
|
|
7131
7115
|
});
|
|
7132
7116
|
break;
|
|
7133
7117
|
}
|
|
@@ -7135,7 +7119,7 @@ async function convertToModelMessages(messages, options) {
|
|
|
7135
7119
|
if (message.parts != null) {
|
|
7136
7120
|
let block = [];
|
|
7137
7121
|
async function processBlock() {
|
|
7138
|
-
var
|
|
7122
|
+
var _a14, _b, _c, _d, _e, _f;
|
|
7139
7123
|
if (block.length === 0) {
|
|
7140
7124
|
return;
|
|
7141
7125
|
}
|
|
@@ -7167,7 +7151,7 @@ async function convertToModelMessages(messages, options) {
|
|
|
7167
7151
|
type: "tool-call",
|
|
7168
7152
|
toolCallId: part.toolCallId,
|
|
7169
7153
|
toolName,
|
|
7170
|
-
input: part.state === "output-error" ? (
|
|
7154
|
+
input: part.state === "output-error" ? (_a14 = part.input) != null ? _a14 : "rawInput" in part ? part.rawInput : void 0 : part.input,
|
|
7171
7155
|
providerExecuted: part.providerExecuted,
|
|
7172
7156
|
...part.callProviderMetadata != null ? { providerOptions: part.callProviderMetadata } : {}
|
|
7173
7157
|
});
|
|
@@ -7293,11 +7277,11 @@ async function convertToModelMessages(messages, options) {
|
|
|
7293
7277
|
}
|
|
7294
7278
|
|
|
7295
7279
|
// src/ui/validate-ui-messages.ts
|
|
7296
|
-
var
|
|
7297
|
-
var
|
|
7280
|
+
var import_provider23 = require("@ai-sdk/provider");
|
|
7281
|
+
var import_provider_utils22 = require("@ai-sdk/provider-utils");
|
|
7298
7282
|
var import_v48 = require("zod/v4");
|
|
7299
|
-
var uiMessagesSchema = (0,
|
|
7300
|
-
() => (0,
|
|
7283
|
+
var uiMessagesSchema = (0, import_provider_utils22.lazySchema)(
|
|
7284
|
+
() => (0, import_provider_utils22.zodSchema)(
|
|
7301
7285
|
import_v48.z.array(
|
|
7302
7286
|
import_v48.z.object({
|
|
7303
7287
|
id: import_v48.z.string(),
|
|
@@ -7571,13 +7555,13 @@ async function safeValidateUIMessages({
|
|
|
7571
7555
|
})
|
|
7572
7556
|
};
|
|
7573
7557
|
}
|
|
7574
|
-
const validatedMessages = await (0,
|
|
7558
|
+
const validatedMessages = await (0, import_provider_utils22.validateTypes)({
|
|
7575
7559
|
value: messages,
|
|
7576
7560
|
schema: uiMessagesSchema
|
|
7577
7561
|
});
|
|
7578
7562
|
if (metadataSchema) {
|
|
7579
7563
|
for (const message of validatedMessages) {
|
|
7580
|
-
await (0,
|
|
7564
|
+
await (0, import_provider_utils22.validateTypes)({
|
|
7581
7565
|
value: message.metadata,
|
|
7582
7566
|
schema: metadataSchema
|
|
7583
7567
|
});
|
|
@@ -7594,13 +7578,13 @@ async function safeValidateUIMessages({
|
|
|
7594
7578
|
if (!dataSchema) {
|
|
7595
7579
|
return {
|
|
7596
7580
|
success: false,
|
|
7597
|
-
error: new
|
|
7581
|
+
error: new import_provider23.TypeValidationError({
|
|
7598
7582
|
value: dataPart.data,
|
|
7599
7583
|
cause: `No data schema found for data part ${dataName}`
|
|
7600
7584
|
})
|
|
7601
7585
|
};
|
|
7602
7586
|
}
|
|
7603
|
-
await (0,
|
|
7587
|
+
await (0, import_provider_utils22.validateTypes)({
|
|
7604
7588
|
value: dataPart.data,
|
|
7605
7589
|
schema: dataSchema
|
|
7606
7590
|
});
|
|
@@ -7618,20 +7602,20 @@ async function safeValidateUIMessages({
|
|
|
7618
7602
|
if (!tool2) {
|
|
7619
7603
|
return {
|
|
7620
7604
|
success: false,
|
|
7621
|
-
error: new
|
|
7605
|
+
error: new import_provider23.TypeValidationError({
|
|
7622
7606
|
value: toolPart.input,
|
|
7623
7607
|
cause: `No tool schema found for tool part ${toolName}`
|
|
7624
7608
|
})
|
|
7625
7609
|
};
|
|
7626
7610
|
}
|
|
7627
7611
|
if (toolPart.state === "input-available" || toolPart.state === "output-available" || toolPart.state === "output-error") {
|
|
7628
|
-
await (0,
|
|
7612
|
+
await (0, import_provider_utils22.validateTypes)({
|
|
7629
7613
|
value: toolPart.input,
|
|
7630
7614
|
schema: tool2.inputSchema
|
|
7631
7615
|
});
|
|
7632
7616
|
}
|
|
7633
7617
|
if (toolPart.state === "output-available" && tool2.outputSchema) {
|
|
7634
|
-
await (0,
|
|
7618
|
+
await (0, import_provider_utils22.validateTypes)({
|
|
7635
7619
|
value: toolPart.output,
|
|
7636
7620
|
schema: tool2.outputSchema
|
|
7637
7621
|
});
|
|
@@ -7730,7 +7714,7 @@ async function pipeAgentUIStreamToResponse({
|
|
|
7730
7714
|
}
|
|
7731
7715
|
|
|
7732
7716
|
// src/embed/embed.ts
|
|
7733
|
-
var
|
|
7717
|
+
var import_provider_utils23 = require("@ai-sdk/provider-utils");
|
|
7734
7718
|
async function embed({
|
|
7735
7719
|
model: modelArg,
|
|
7736
7720
|
value,
|
|
@@ -7745,7 +7729,7 @@ async function embed({
|
|
|
7745
7729
|
maxRetries: maxRetriesArg,
|
|
7746
7730
|
abortSignal
|
|
7747
7731
|
});
|
|
7748
|
-
const headersWithUserAgent = (0,
|
|
7732
|
+
const headersWithUserAgent = (0, import_provider_utils23.withUserAgentSuffix)(
|
|
7749
7733
|
headers != null ? headers : {},
|
|
7750
7734
|
`ai/${VERSION}`
|
|
7751
7735
|
);
|
|
@@ -7787,7 +7771,7 @@ async function embed({
|
|
|
7787
7771
|
}),
|
|
7788
7772
|
tracer,
|
|
7789
7773
|
fn: async (doEmbedSpan) => {
|
|
7790
|
-
var
|
|
7774
|
+
var _a14;
|
|
7791
7775
|
const modelResponse = await model.doEmbed({
|
|
7792
7776
|
values: [value],
|
|
7793
7777
|
abortSignal,
|
|
@@ -7795,7 +7779,7 @@ async function embed({
|
|
|
7795
7779
|
providerOptions
|
|
7796
7780
|
});
|
|
7797
7781
|
const embedding2 = modelResponse.embeddings[0];
|
|
7798
|
-
const usage2 = (
|
|
7782
|
+
const usage2 = (_a14 = modelResponse.usage) != null ? _a14 : { tokens: NaN };
|
|
7799
7783
|
doEmbedSpan.setAttributes(
|
|
7800
7784
|
await selectTelemetryAttributes({
|
|
7801
7785
|
telemetry,
|
|
@@ -7853,7 +7837,7 @@ var DefaultEmbedResult = class {
|
|
|
7853
7837
|
};
|
|
7854
7838
|
|
|
7855
7839
|
// src/embed/embed-many.ts
|
|
7856
|
-
var
|
|
7840
|
+
var import_provider_utils24 = require("@ai-sdk/provider-utils");
|
|
7857
7841
|
|
|
7858
7842
|
// src/util/split-array.ts
|
|
7859
7843
|
function splitArray(array2, chunkSize) {
|
|
@@ -7883,7 +7867,7 @@ async function embedMany({
|
|
|
7883
7867
|
maxRetries: maxRetriesArg,
|
|
7884
7868
|
abortSignal
|
|
7885
7869
|
});
|
|
7886
|
-
const headersWithUserAgent = (0,
|
|
7870
|
+
const headersWithUserAgent = (0, import_provider_utils24.withUserAgentSuffix)(
|
|
7887
7871
|
headers != null ? headers : {},
|
|
7888
7872
|
`ai/${VERSION}`
|
|
7889
7873
|
);
|
|
@@ -7909,7 +7893,7 @@ async function embedMany({
|
|
|
7909
7893
|
}),
|
|
7910
7894
|
tracer,
|
|
7911
7895
|
fn: async (span) => {
|
|
7912
|
-
var
|
|
7896
|
+
var _a14;
|
|
7913
7897
|
const [maxEmbeddingsPerCall, supportsParallelCalls] = await Promise.all([
|
|
7914
7898
|
model.maxEmbeddingsPerCall,
|
|
7915
7899
|
model.supportsParallelCalls
|
|
@@ -7934,7 +7918,7 @@ async function embedMany({
|
|
|
7934
7918
|
}),
|
|
7935
7919
|
tracer,
|
|
7936
7920
|
fn: async (doEmbedSpan) => {
|
|
7937
|
-
var
|
|
7921
|
+
var _a15;
|
|
7938
7922
|
const modelResponse = await model.doEmbed({
|
|
7939
7923
|
values,
|
|
7940
7924
|
abortSignal,
|
|
@@ -7942,7 +7926,7 @@ async function embedMany({
|
|
|
7942
7926
|
providerOptions
|
|
7943
7927
|
});
|
|
7944
7928
|
const embeddings3 = modelResponse.embeddings;
|
|
7945
|
-
const usage2 = (
|
|
7929
|
+
const usage2 = (_a15 = modelResponse.usage) != null ? _a15 : { tokens: NaN };
|
|
7946
7930
|
doEmbedSpan.setAttributes(
|
|
7947
7931
|
await selectTelemetryAttributes({
|
|
7948
7932
|
telemetry,
|
|
@@ -8023,7 +8007,7 @@ async function embedMany({
|
|
|
8023
8007
|
}),
|
|
8024
8008
|
tracer,
|
|
8025
8009
|
fn: async (doEmbedSpan) => {
|
|
8026
|
-
var
|
|
8010
|
+
var _a15;
|
|
8027
8011
|
const modelResponse = await model.doEmbed({
|
|
8028
8012
|
values: chunk,
|
|
8029
8013
|
abortSignal,
|
|
@@ -8031,7 +8015,7 @@ async function embedMany({
|
|
|
8031
8015
|
providerOptions
|
|
8032
8016
|
});
|
|
8033
8017
|
const embeddings2 = modelResponse.embeddings;
|
|
8034
|
-
const usage = (
|
|
8018
|
+
const usage = (_a15 = modelResponse.usage) != null ? _a15 : { tokens: NaN };
|
|
8035
8019
|
doEmbedSpan.setAttributes(
|
|
8036
8020
|
await selectTelemetryAttributes({
|
|
8037
8021
|
telemetry,
|
|
@@ -8070,7 +8054,7 @@ async function embedMany({
|
|
|
8070
8054
|
result.providerMetadata
|
|
8071
8055
|
)) {
|
|
8072
8056
|
providerMetadata[providerName] = {
|
|
8073
|
-
...(
|
|
8057
|
+
...(_a14 = providerMetadata[providerName]) != null ? _a14 : {},
|
|
8074
8058
|
...metadata
|
|
8075
8059
|
};
|
|
8076
8060
|
}
|
|
@@ -8117,10 +8101,10 @@ var DefaultEmbedManyResult = class {
|
|
|
8117
8101
|
};
|
|
8118
8102
|
|
|
8119
8103
|
// src/generate-image/generate-image.ts
|
|
8120
|
-
var
|
|
8104
|
+
var import_provider_utils25 = require("@ai-sdk/provider-utils");
|
|
8121
8105
|
async function generateImage({
|
|
8122
8106
|
model: modelArg,
|
|
8123
|
-
prompt,
|
|
8107
|
+
prompt: promptArg,
|
|
8124
8108
|
n = 1,
|
|
8125
8109
|
maxImagesPerCall,
|
|
8126
8110
|
size,
|
|
@@ -8131,9 +8115,9 @@ async function generateImage({
|
|
|
8131
8115
|
abortSignal,
|
|
8132
8116
|
headers
|
|
8133
8117
|
}) {
|
|
8134
|
-
var
|
|
8118
|
+
var _a14, _b;
|
|
8135
8119
|
const model = resolveImageModel(modelArg);
|
|
8136
|
-
const headersWithUserAgent = (0,
|
|
8120
|
+
const headersWithUserAgent = (0, import_provider_utils25.withUserAgentSuffix)(
|
|
8137
8121
|
headers != null ? headers : {},
|
|
8138
8122
|
`ai/${VERSION}`
|
|
8139
8123
|
);
|
|
@@ -8141,7 +8125,7 @@ async function generateImage({
|
|
|
8141
8125
|
maxRetries: maxRetriesArg,
|
|
8142
8126
|
abortSignal
|
|
8143
8127
|
});
|
|
8144
|
-
const maxImagesPerCallWithDefault = (
|
|
8128
|
+
const maxImagesPerCallWithDefault = (_a14 = maxImagesPerCall != null ? maxImagesPerCall : await invokeModelMaxImagesPerCall(model)) != null ? _a14 : 1;
|
|
8145
8129
|
const callCount = Math.ceil(n / maxImagesPerCallWithDefault);
|
|
8146
8130
|
const callImageCounts = Array.from({ length: callCount }, (_, i) => {
|
|
8147
8131
|
if (i < callCount - 1) {
|
|
@@ -8152,9 +8136,12 @@ async function generateImage({
|
|
|
8152
8136
|
});
|
|
8153
8137
|
const results = await Promise.all(
|
|
8154
8138
|
callImageCounts.map(
|
|
8155
|
-
async (callImageCount) => retry(
|
|
8156
|
-
|
|
8139
|
+
async (callImageCount) => retry(() => {
|
|
8140
|
+
const { prompt, files, mask } = normalizePrompt(promptArg);
|
|
8141
|
+
return model.doGenerate({
|
|
8157
8142
|
prompt,
|
|
8143
|
+
files,
|
|
8144
|
+
mask,
|
|
8158
8145
|
n: callImageCount,
|
|
8159
8146
|
abortSignal,
|
|
8160
8147
|
headers: headersWithUserAgent,
|
|
@@ -8162,8 +8149,8 @@ async function generateImage({
|
|
|
8162
8149
|
aspectRatio,
|
|
8163
8150
|
seed,
|
|
8164
8151
|
providerOptions: providerOptions != null ? providerOptions : {}
|
|
8165
|
-
})
|
|
8166
|
-
)
|
|
8152
|
+
});
|
|
8153
|
+
})
|
|
8167
8154
|
)
|
|
8168
8155
|
);
|
|
8169
8156
|
const images = [];
|
|
@@ -8179,13 +8166,13 @@ async function generateImage({
|
|
|
8179
8166
|
images.push(
|
|
8180
8167
|
...result.images.map(
|
|
8181
8168
|
(image) => {
|
|
8182
|
-
var
|
|
8169
|
+
var _a15;
|
|
8183
8170
|
return new DefaultGeneratedFile({
|
|
8184
8171
|
data: image,
|
|
8185
|
-
mediaType: (
|
|
8172
|
+
mediaType: (_a15 = detectMediaType({
|
|
8186
8173
|
data: image,
|
|
8187
8174
|
signatures: imageMediaTypeSignatures
|
|
8188
|
-
})) != null ?
|
|
8175
|
+
})) != null ? _a15 : "image/png"
|
|
8189
8176
|
});
|
|
8190
8177
|
}
|
|
8191
8178
|
)
|
|
@@ -8253,9 +8240,53 @@ async function invokeModelMaxImagesPerCall(model) {
|
|
|
8253
8240
|
modelId: model.modelId
|
|
8254
8241
|
});
|
|
8255
8242
|
}
|
|
8243
|
+
function normalizePrompt(prompt) {
|
|
8244
|
+
if (typeof prompt === "string") {
|
|
8245
|
+
return { prompt, files: void 0, mask: void 0 };
|
|
8246
|
+
}
|
|
8247
|
+
return {
|
|
8248
|
+
prompt: prompt.text,
|
|
8249
|
+
files: prompt.images.map(toImageModelV3File),
|
|
8250
|
+
mask: prompt.mask ? toImageModelV3File(prompt.mask) : void 0
|
|
8251
|
+
};
|
|
8252
|
+
}
|
|
8253
|
+
function toImageModelV3File(dataContent) {
|
|
8254
|
+
if (typeof dataContent === "string" && dataContent.startsWith("http")) {
|
|
8255
|
+
return {
|
|
8256
|
+
type: "url",
|
|
8257
|
+
url: dataContent
|
|
8258
|
+
};
|
|
8259
|
+
}
|
|
8260
|
+
if (typeof dataContent === "string" && dataContent.startsWith("data:")) {
|
|
8261
|
+
const { mediaType: dataUrlMediaType, base64Content } = splitDataUrl(dataContent);
|
|
8262
|
+
if (base64Content != null) {
|
|
8263
|
+
const uint8Data2 = (0, import_provider_utils25.convertBase64ToUint8Array)(base64Content);
|
|
8264
|
+
return {
|
|
8265
|
+
type: "file",
|
|
8266
|
+
data: uint8Data2,
|
|
8267
|
+
mediaType: dataUrlMediaType || detectMediaType({
|
|
8268
|
+
data: uint8Data2,
|
|
8269
|
+
signatures: imageMediaTypeSignatures
|
|
8270
|
+
}) || "image/png"
|
|
8271
|
+
};
|
|
8272
|
+
}
|
|
8273
|
+
}
|
|
8274
|
+
const uint8Data = convertDataContentToUint8Array(dataContent);
|
|
8275
|
+
return {
|
|
8276
|
+
type: "file",
|
|
8277
|
+
data: uint8Data,
|
|
8278
|
+
mediaType: detectMediaType({
|
|
8279
|
+
data: uint8Data,
|
|
8280
|
+
signatures: imageMediaTypeSignatures
|
|
8281
|
+
}) || "image/png"
|
|
8282
|
+
};
|
|
8283
|
+
}
|
|
8284
|
+
|
|
8285
|
+
// src/generate-image/index.ts
|
|
8286
|
+
var experimental_generateImage = generateImage;
|
|
8256
8287
|
|
|
8257
8288
|
// src/generate-object/generate-object.ts
|
|
8258
|
-
var
|
|
8289
|
+
var import_provider_utils28 = require("@ai-sdk/provider-utils");
|
|
8259
8290
|
|
|
8260
8291
|
// src/generate-text/extract-reasoning-content.ts
|
|
8261
8292
|
function extractReasoningContent(content) {
|
|
@@ -8266,8 +8297,8 @@ function extractReasoningContent(content) {
|
|
|
8266
8297
|
}
|
|
8267
8298
|
|
|
8268
8299
|
// src/generate-object/output-strategy.ts
|
|
8269
|
-
var
|
|
8270
|
-
var
|
|
8300
|
+
var import_provider24 = require("@ai-sdk/provider");
|
|
8301
|
+
var import_provider_utils26 = require("@ai-sdk/provider-utils");
|
|
8271
8302
|
var noSchemaOutputStrategy = {
|
|
8272
8303
|
type: "no-schema",
|
|
8273
8304
|
jsonSchema: async () => void 0,
|
|
@@ -8287,7 +8318,7 @@ var noSchemaOutputStrategy = {
|
|
|
8287
8318
|
} : { success: true, value };
|
|
8288
8319
|
},
|
|
8289
8320
|
createElementStream() {
|
|
8290
|
-
throw new
|
|
8321
|
+
throw new import_provider24.UnsupportedFunctionalityError({
|
|
8291
8322
|
functionality: "element streams in no-schema mode"
|
|
8292
8323
|
});
|
|
8293
8324
|
}
|
|
@@ -8306,10 +8337,10 @@ var objectOutputStrategy = (schema) => ({
|
|
|
8306
8337
|
};
|
|
8307
8338
|
},
|
|
8308
8339
|
async validateFinalResult(value) {
|
|
8309
|
-
return (0,
|
|
8340
|
+
return (0, import_provider_utils26.safeValidateTypes)({ value, schema });
|
|
8310
8341
|
},
|
|
8311
8342
|
createElementStream() {
|
|
8312
|
-
throw new
|
|
8343
|
+
throw new import_provider24.UnsupportedFunctionalityError({
|
|
8313
8344
|
functionality: "element streams in object mode"
|
|
8314
8345
|
});
|
|
8315
8346
|
}
|
|
@@ -8338,11 +8369,11 @@ var arrayOutputStrategy = (schema) => {
|
|
|
8338
8369
|
isFirstDelta,
|
|
8339
8370
|
isFinalDelta
|
|
8340
8371
|
}) {
|
|
8341
|
-
var
|
|
8342
|
-
if (!(0,
|
|
8372
|
+
var _a14;
|
|
8373
|
+
if (!(0, import_provider24.isJSONObject)(value) || !(0, import_provider24.isJSONArray)(value.elements)) {
|
|
8343
8374
|
return {
|
|
8344
8375
|
success: false,
|
|
8345
|
-
error: new
|
|
8376
|
+
error: new import_provider24.TypeValidationError({
|
|
8346
8377
|
value,
|
|
8347
8378
|
cause: "value must be an object that contains an array of elements"
|
|
8348
8379
|
})
|
|
@@ -8352,7 +8383,7 @@ var arrayOutputStrategy = (schema) => {
|
|
|
8352
8383
|
const resultArray = [];
|
|
8353
8384
|
for (let i = 0; i < inputArray.length; i++) {
|
|
8354
8385
|
const element = inputArray[i];
|
|
8355
|
-
const result = await (0,
|
|
8386
|
+
const result = await (0, import_provider_utils26.safeValidateTypes)({ value: element, schema });
|
|
8356
8387
|
if (i === inputArray.length - 1 && !isFinalDelta) {
|
|
8357
8388
|
continue;
|
|
8358
8389
|
}
|
|
@@ -8361,7 +8392,7 @@ var arrayOutputStrategy = (schema) => {
|
|
|
8361
8392
|
}
|
|
8362
8393
|
resultArray.push(result.value);
|
|
8363
8394
|
}
|
|
8364
|
-
const publishedElementCount = (
|
|
8395
|
+
const publishedElementCount = (_a14 = latestObject == null ? void 0 : latestObject.length) != null ? _a14 : 0;
|
|
8365
8396
|
let textDelta = "";
|
|
8366
8397
|
if (isFirstDelta) {
|
|
8367
8398
|
textDelta += "[";
|
|
@@ -8382,10 +8413,10 @@ var arrayOutputStrategy = (schema) => {
|
|
|
8382
8413
|
};
|
|
8383
8414
|
},
|
|
8384
8415
|
async validateFinalResult(value) {
|
|
8385
|
-
if (!(0,
|
|
8416
|
+
if (!(0, import_provider24.isJSONObject)(value) || !(0, import_provider24.isJSONArray)(value.elements)) {
|
|
8386
8417
|
return {
|
|
8387
8418
|
success: false,
|
|
8388
|
-
error: new
|
|
8419
|
+
error: new import_provider24.TypeValidationError({
|
|
8389
8420
|
value,
|
|
8390
8421
|
cause: "value must be an object that contains an array of elements"
|
|
8391
8422
|
})
|
|
@@ -8393,7 +8424,7 @@ var arrayOutputStrategy = (schema) => {
|
|
|
8393
8424
|
}
|
|
8394
8425
|
const inputArray = value.elements;
|
|
8395
8426
|
for (const element of inputArray) {
|
|
8396
|
-
const result = await (0,
|
|
8427
|
+
const result = await (0, import_provider_utils26.safeValidateTypes)({ value: element, schema });
|
|
8397
8428
|
if (!result.success) {
|
|
8398
8429
|
return result;
|
|
8399
8430
|
}
|
|
@@ -8448,10 +8479,10 @@ var enumOutputStrategy = (enumValues) => {
|
|
|
8448
8479
|
additionalProperties: false
|
|
8449
8480
|
}),
|
|
8450
8481
|
async validateFinalResult(value) {
|
|
8451
|
-
if (!(0,
|
|
8482
|
+
if (!(0, import_provider24.isJSONObject)(value) || typeof value.result !== "string") {
|
|
8452
8483
|
return {
|
|
8453
8484
|
success: false,
|
|
8454
|
-
error: new
|
|
8485
|
+
error: new import_provider24.TypeValidationError({
|
|
8455
8486
|
value,
|
|
8456
8487
|
cause: 'value must be an object that contains a string in the "result" property.'
|
|
8457
8488
|
})
|
|
@@ -8460,17 +8491,17 @@ var enumOutputStrategy = (enumValues) => {
|
|
|
8460
8491
|
const result = value.result;
|
|
8461
8492
|
return enumValues.includes(result) ? { success: true, value: result } : {
|
|
8462
8493
|
success: false,
|
|
8463
|
-
error: new
|
|
8494
|
+
error: new import_provider24.TypeValidationError({
|
|
8464
8495
|
value,
|
|
8465
8496
|
cause: "value must be a string in the enum"
|
|
8466
8497
|
})
|
|
8467
8498
|
};
|
|
8468
8499
|
},
|
|
8469
8500
|
async validatePartialResult({ value, textDelta }) {
|
|
8470
|
-
if (!(0,
|
|
8501
|
+
if (!(0, import_provider24.isJSONObject)(value) || typeof value.result !== "string") {
|
|
8471
8502
|
return {
|
|
8472
8503
|
success: false,
|
|
8473
|
-
error: new
|
|
8504
|
+
error: new import_provider24.TypeValidationError({
|
|
8474
8505
|
value,
|
|
8475
8506
|
cause: 'value must be an object that contains a string in the "result" property.'
|
|
8476
8507
|
})
|
|
@@ -8483,7 +8514,7 @@ var enumOutputStrategy = (enumValues) => {
|
|
|
8483
8514
|
if (value.result.length === 0 || possibleEnumValues.length === 0) {
|
|
8484
8515
|
return {
|
|
8485
8516
|
success: false,
|
|
8486
|
-
error: new
|
|
8517
|
+
error: new import_provider24.TypeValidationError({
|
|
8487
8518
|
value,
|
|
8488
8519
|
cause: "value must be a string in the enum"
|
|
8489
8520
|
})
|
|
@@ -8498,7 +8529,7 @@ var enumOutputStrategy = (enumValues) => {
|
|
|
8498
8529
|
};
|
|
8499
8530
|
},
|
|
8500
8531
|
createElementStream() {
|
|
8501
|
-
throw new
|
|
8532
|
+
throw new import_provider24.UnsupportedFunctionalityError({
|
|
8502
8533
|
functionality: "element streams in enum mode"
|
|
8503
8534
|
});
|
|
8504
8535
|
}
|
|
@@ -8511,9 +8542,9 @@ function getOutputStrategy({
|
|
|
8511
8542
|
}) {
|
|
8512
8543
|
switch (output) {
|
|
8513
8544
|
case "object":
|
|
8514
|
-
return objectOutputStrategy((0,
|
|
8545
|
+
return objectOutputStrategy((0, import_provider_utils26.asSchema)(schema));
|
|
8515
8546
|
case "array":
|
|
8516
|
-
return arrayOutputStrategy((0,
|
|
8547
|
+
return arrayOutputStrategy((0, import_provider_utils26.asSchema)(schema));
|
|
8517
8548
|
case "enum":
|
|
8518
8549
|
return enumOutputStrategy(enumValues);
|
|
8519
8550
|
case "no-schema":
|
|
@@ -8526,10 +8557,10 @@ function getOutputStrategy({
|
|
|
8526
8557
|
}
|
|
8527
8558
|
|
|
8528
8559
|
// src/generate-object/parse-and-validate-object-result.ts
|
|
8529
|
-
var
|
|
8530
|
-
var
|
|
8560
|
+
var import_provider25 = require("@ai-sdk/provider");
|
|
8561
|
+
var import_provider_utils27 = require("@ai-sdk/provider-utils");
|
|
8531
8562
|
async function parseAndValidateObjectResult(result, outputStrategy, context) {
|
|
8532
|
-
const parseResult = await (0,
|
|
8563
|
+
const parseResult = await (0, import_provider_utils27.safeParseJSON)({ text: result });
|
|
8533
8564
|
if (!parseResult.success) {
|
|
8534
8565
|
throw new NoObjectGeneratedError({
|
|
8535
8566
|
message: "No object generated: could not parse the response.",
|
|
@@ -8564,7 +8595,7 @@ async function parseAndValidateObjectResultWithRepair(result, outputStrategy, re
|
|
|
8564
8595
|
try {
|
|
8565
8596
|
return await parseAndValidateObjectResult(result, outputStrategy, context);
|
|
8566
8597
|
} catch (error) {
|
|
8567
|
-
if (repairText != null && NoObjectGeneratedError.isInstance(error) && (
|
|
8598
|
+
if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider25.JSONParseError.isInstance(error.cause) || import_provider25.TypeValidationError.isInstance(error.cause))) {
|
|
8568
8599
|
const repairedText = await repairText({
|
|
8569
8600
|
text: result,
|
|
8570
8601
|
error: error.cause
|
|
@@ -8701,7 +8732,7 @@ function validateObjectGenerationInput({
|
|
|
8701
8732
|
}
|
|
8702
8733
|
|
|
8703
8734
|
// src/generate-object/generate-object.ts
|
|
8704
|
-
var originalGenerateId3 = (0,
|
|
8735
|
+
var originalGenerateId3 = (0, import_provider_utils28.createIdGenerator)({ prefix: "aiobj", size: 24 });
|
|
8705
8736
|
async function generateObject(options) {
|
|
8706
8737
|
const {
|
|
8707
8738
|
model: modelArg,
|
|
@@ -8746,7 +8777,7 @@ async function generateObject(options) {
|
|
|
8746
8777
|
enumValues
|
|
8747
8778
|
});
|
|
8748
8779
|
const callSettings = prepareCallSettings(settings);
|
|
8749
|
-
const headersWithUserAgent = (0,
|
|
8780
|
+
const headersWithUserAgent = (0, import_provider_utils28.withUserAgentSuffix)(
|
|
8750
8781
|
headers != null ? headers : {},
|
|
8751
8782
|
`ai/${VERSION}`
|
|
8752
8783
|
);
|
|
@@ -8781,7 +8812,7 @@ async function generateObject(options) {
|
|
|
8781
8812
|
}),
|
|
8782
8813
|
tracer,
|
|
8783
8814
|
fn: async (span) => {
|
|
8784
|
-
var
|
|
8815
|
+
var _a14;
|
|
8785
8816
|
let result;
|
|
8786
8817
|
let finishReason;
|
|
8787
8818
|
let usage;
|
|
@@ -8827,7 +8858,7 @@ async function generateObject(options) {
|
|
|
8827
8858
|
}),
|
|
8828
8859
|
tracer,
|
|
8829
8860
|
fn: async (span2) => {
|
|
8830
|
-
var
|
|
8861
|
+
var _a15, _b, _c, _d, _e, _f, _g, _h;
|
|
8831
8862
|
const result2 = await model.doGenerate({
|
|
8832
8863
|
responseFormat: {
|
|
8833
8864
|
type: "json",
|
|
@@ -8842,7 +8873,7 @@ async function generateObject(options) {
|
|
|
8842
8873
|
headers: headersWithUserAgent
|
|
8843
8874
|
});
|
|
8844
8875
|
const responseData = {
|
|
8845
|
-
id: (_b = (
|
|
8876
|
+
id: (_b = (_a15 = result2.response) == null ? void 0 : _a15.id) != null ? _b : generateId2(),
|
|
8846
8877
|
timestamp: (_d = (_c = result2.response) == null ? void 0 : _c.timestamp) != null ? _d : currentDate(),
|
|
8847
8878
|
modelId: (_f = (_e = result2.response) == null ? void 0 : _e.modelId) != null ? _f : model.modelId,
|
|
8848
8879
|
headers: (_g = result2.response) == null ? void 0 : _g.headers,
|
|
@@ -8896,7 +8927,7 @@ async function generateObject(options) {
|
|
|
8896
8927
|
usage = asLanguageModelUsage(generateResult.usage);
|
|
8897
8928
|
warnings = generateResult.warnings;
|
|
8898
8929
|
resultProviderMetadata = generateResult.providerMetadata;
|
|
8899
|
-
request = (
|
|
8930
|
+
request = (_a14 = generateResult.request) != null ? _a14 : {};
|
|
8900
8931
|
response = generateResult.responseData;
|
|
8901
8932
|
reasoning = generateResult.reasoning;
|
|
8902
8933
|
logWarnings({
|
|
@@ -8959,9 +8990,9 @@ var DefaultGenerateObjectResult = class {
|
|
|
8959
8990
|
this.reasoning = options.reasoning;
|
|
8960
8991
|
}
|
|
8961
8992
|
toJsonResponse(init) {
|
|
8962
|
-
var
|
|
8993
|
+
var _a14;
|
|
8963
8994
|
return new Response(JSON.stringify(this.object), {
|
|
8964
|
-
status: (
|
|
8995
|
+
status: (_a14 = init == null ? void 0 : init.status) != null ? _a14 : 200,
|
|
8965
8996
|
headers: prepareHeaders(init == null ? void 0 : init.headers, {
|
|
8966
8997
|
"content-type": "application/json; charset=utf-8"
|
|
8967
8998
|
})
|
|
@@ -8970,7 +9001,7 @@ var DefaultGenerateObjectResult = class {
|
|
|
8970
9001
|
};
|
|
8971
9002
|
|
|
8972
9003
|
// src/generate-object/stream-object.ts
|
|
8973
|
-
var
|
|
9004
|
+
var import_provider_utils30 = require("@ai-sdk/provider-utils");
|
|
8974
9005
|
|
|
8975
9006
|
// src/util/cosine-similarity.ts
|
|
8976
9007
|
function cosineSimilarity(vector1, vector2) {
|
|
@@ -9080,15 +9111,15 @@ var SerialJobExecutor = class {
|
|
|
9080
9111
|
};
|
|
9081
9112
|
|
|
9082
9113
|
// src/util/simulate-readable-stream.ts
|
|
9083
|
-
var
|
|
9114
|
+
var import_provider_utils29 = require("@ai-sdk/provider-utils");
|
|
9084
9115
|
function simulateReadableStream({
|
|
9085
9116
|
chunks,
|
|
9086
9117
|
initialDelayInMs = 0,
|
|
9087
9118
|
chunkDelayInMs = 0,
|
|
9088
9119
|
_internal
|
|
9089
9120
|
}) {
|
|
9090
|
-
var
|
|
9091
|
-
const delay2 = (
|
|
9121
|
+
var _a14;
|
|
9122
|
+
const delay2 = (_a14 = _internal == null ? void 0 : _internal.delay) != null ? _a14 : import_provider_utils29.delay;
|
|
9092
9123
|
let index = 0;
|
|
9093
9124
|
return new ReadableStream({
|
|
9094
9125
|
async pull(controller) {
|
|
@@ -9103,7 +9134,7 @@ function simulateReadableStream({
|
|
|
9103
9134
|
}
|
|
9104
9135
|
|
|
9105
9136
|
// src/generate-object/stream-object.ts
|
|
9106
|
-
var originalGenerateId4 = (0,
|
|
9137
|
+
var originalGenerateId4 = (0, import_provider_utils30.createIdGenerator)({ prefix: "aiobj", size: 24 });
|
|
9107
9138
|
function streamObject(options) {
|
|
9108
9139
|
const {
|
|
9109
9140
|
model,
|
|
@@ -9193,13 +9224,13 @@ var DefaultStreamObjectResult = class {
|
|
|
9193
9224
|
currentDate,
|
|
9194
9225
|
now: now2
|
|
9195
9226
|
}) {
|
|
9196
|
-
this._object = new
|
|
9197
|
-
this._usage = new
|
|
9198
|
-
this._providerMetadata = new
|
|
9199
|
-
this._warnings = new
|
|
9200
|
-
this._request = new
|
|
9201
|
-
this._response = new
|
|
9202
|
-
this._finishReason = new
|
|
9227
|
+
this._object = new import_provider_utils30.DelayedPromise();
|
|
9228
|
+
this._usage = new import_provider_utils30.DelayedPromise();
|
|
9229
|
+
this._providerMetadata = new import_provider_utils30.DelayedPromise();
|
|
9230
|
+
this._warnings = new import_provider_utils30.DelayedPromise();
|
|
9231
|
+
this._request = new import_provider_utils30.DelayedPromise();
|
|
9232
|
+
this._response = new import_provider_utils30.DelayedPromise();
|
|
9233
|
+
this._finishReason = new import_provider_utils30.DelayedPromise();
|
|
9203
9234
|
const model = resolveLanguageModel(modelArg);
|
|
9204
9235
|
const { maxRetries, retry } = prepareRetries({
|
|
9205
9236
|
maxRetries: maxRetriesArg,
|
|
@@ -9346,7 +9377,7 @@ var DefaultStreamObjectResult = class {
|
|
|
9346
9377
|
const transformedStream = stream.pipeThrough(new TransformStream(transformer)).pipeThrough(
|
|
9347
9378
|
new TransformStream({
|
|
9348
9379
|
async transform(chunk, controller) {
|
|
9349
|
-
var
|
|
9380
|
+
var _a14, _b, _c;
|
|
9350
9381
|
if (typeof chunk === "object" && chunk.type === "stream-start") {
|
|
9351
9382
|
warnings = chunk.warnings;
|
|
9352
9383
|
return;
|
|
@@ -9396,7 +9427,7 @@ var DefaultStreamObjectResult = class {
|
|
|
9396
9427
|
switch (chunk.type) {
|
|
9397
9428
|
case "response-metadata": {
|
|
9398
9429
|
fullResponse = {
|
|
9399
|
-
id: (
|
|
9430
|
+
id: (_a14 = chunk.id) != null ? _a14 : fullResponse.id,
|
|
9400
9431
|
timestamp: (_b = chunk.timestamp) != null ? _b : fullResponse.timestamp,
|
|
9401
9432
|
modelId: (_c = chunk.modelId) != null ? _c : fullResponse.modelId
|
|
9402
9433
|
};
|
|
@@ -9626,7 +9657,7 @@ var DefaultStreamObjectResult = class {
|
|
|
9626
9657
|
};
|
|
9627
9658
|
|
|
9628
9659
|
// src/generate-speech/generate-speech.ts
|
|
9629
|
-
var
|
|
9660
|
+
var import_provider_utils31 = require("@ai-sdk/provider-utils");
|
|
9630
9661
|
|
|
9631
9662
|
// src/generate-speech/generated-audio-file.ts
|
|
9632
9663
|
var DefaultGeneratedAudioFile = class extends DefaultGeneratedFile {
|
|
@@ -9667,12 +9698,12 @@ async function generateSpeech({
|
|
|
9667
9698
|
abortSignal,
|
|
9668
9699
|
headers
|
|
9669
9700
|
}) {
|
|
9670
|
-
var
|
|
9701
|
+
var _a14;
|
|
9671
9702
|
const resolvedModel = resolveSpeechModel(model);
|
|
9672
9703
|
if (!resolvedModel) {
|
|
9673
9704
|
throw new Error("Model could not be resolved");
|
|
9674
9705
|
}
|
|
9675
|
-
const headersWithUserAgent = (0,
|
|
9706
|
+
const headersWithUserAgent = (0, import_provider_utils31.withUserAgentSuffix)(
|
|
9676
9707
|
headers != null ? headers : {},
|
|
9677
9708
|
`ai/${VERSION}`
|
|
9678
9709
|
);
|
|
@@ -9704,10 +9735,10 @@ async function generateSpeech({
|
|
|
9704
9735
|
return new DefaultSpeechResult({
|
|
9705
9736
|
audio: new DefaultGeneratedAudioFile({
|
|
9706
9737
|
data: result.audio,
|
|
9707
|
-
mediaType: (
|
|
9738
|
+
mediaType: (_a14 = detectMediaType({
|
|
9708
9739
|
data: result.audio,
|
|
9709
9740
|
signatures: audioMediaTypeSignatures
|
|
9710
|
-
})) != null ?
|
|
9741
|
+
})) != null ? _a14 : "audio/mp3"
|
|
9711
9742
|
}),
|
|
9712
9743
|
warnings: result.warnings,
|
|
9713
9744
|
responses: [result.response],
|
|
@@ -9716,11 +9747,11 @@ async function generateSpeech({
|
|
|
9716
9747
|
}
|
|
9717
9748
|
var DefaultSpeechResult = class {
|
|
9718
9749
|
constructor(options) {
|
|
9719
|
-
var
|
|
9750
|
+
var _a14;
|
|
9720
9751
|
this.audio = options.audio;
|
|
9721
9752
|
this.warnings = options.warnings;
|
|
9722
9753
|
this.responses = options.responses;
|
|
9723
|
-
this.providerMetadata = (
|
|
9754
|
+
this.providerMetadata = (_a14 = options.providerMetadata) != null ? _a14 : {};
|
|
9724
9755
|
}
|
|
9725
9756
|
};
|
|
9726
9757
|
|
|
@@ -9804,8 +9835,8 @@ function pruneMessages({
|
|
|
9804
9835
|
}
|
|
9805
9836
|
|
|
9806
9837
|
// src/generate-text/smooth-stream.ts
|
|
9807
|
-
var
|
|
9808
|
-
var
|
|
9838
|
+
var import_provider_utils32 = require("@ai-sdk/provider-utils");
|
|
9839
|
+
var import_provider26 = require("@ai-sdk/provider");
|
|
9809
9840
|
var CHUNKING_REGEXPS = {
|
|
9810
9841
|
word: /\S+\s+/m,
|
|
9811
9842
|
line: /\n+/m
|
|
@@ -9813,7 +9844,7 @@ var CHUNKING_REGEXPS = {
|
|
|
9813
9844
|
function smoothStream({
|
|
9814
9845
|
delayInMs = 10,
|
|
9815
9846
|
chunking = "word",
|
|
9816
|
-
_internal: { delay: delay2 =
|
|
9847
|
+
_internal: { delay: delay2 = import_provider_utils32.delay } = {}
|
|
9817
9848
|
} = {}) {
|
|
9818
9849
|
let detectChunk;
|
|
9819
9850
|
if (typeof chunking === "function") {
|
|
@@ -9835,7 +9866,7 @@ function smoothStream({
|
|
|
9835
9866
|
} else {
|
|
9836
9867
|
const chunkingRegex = typeof chunking === "string" ? CHUNKING_REGEXPS[chunking] : chunking;
|
|
9837
9868
|
if (chunkingRegex == null) {
|
|
9838
|
-
throw new
|
|
9869
|
+
throw new import_provider26.InvalidArgumentError({
|
|
9839
9870
|
argument: "chunking",
|
|
9840
9871
|
message: `Chunking must be "word" or "line" or a RegExp. Received: ${chunking}`
|
|
9841
9872
|
});
|
|
@@ -10152,13 +10183,13 @@ function addToolInputExamplesMiddleware({
|
|
|
10152
10183
|
return {
|
|
10153
10184
|
specificationVersion: "v3",
|
|
10154
10185
|
transformParams: async ({ params }) => {
|
|
10155
|
-
var
|
|
10156
|
-
if (!((
|
|
10186
|
+
var _a14;
|
|
10187
|
+
if (!((_a14 = params.tools) == null ? void 0 : _a14.length)) {
|
|
10157
10188
|
return params;
|
|
10158
10189
|
}
|
|
10159
10190
|
const transformedTools = params.tools.map((tool2) => {
|
|
10160
|
-
var
|
|
10161
|
-
if (tool2.type !== "function" || !((
|
|
10191
|
+
var _a15;
|
|
10192
|
+
if (tool2.type !== "function" || !((_a15 = tool2.inputExamples) == null ? void 0 : _a15.length)) {
|
|
10162
10193
|
return tool2;
|
|
10163
10194
|
}
|
|
10164
10195
|
const formattedExamples = tool2.inputExamples.map((example, index) => format(example, index)).join("\n");
|
|
@@ -10205,7 +10236,7 @@ var doWrap = ({
|
|
|
10205
10236
|
modelId,
|
|
10206
10237
|
providerId
|
|
10207
10238
|
}) => {
|
|
10208
|
-
var
|
|
10239
|
+
var _a14, _b, _c;
|
|
10209
10240
|
async function doTransform({
|
|
10210
10241
|
params,
|
|
10211
10242
|
type
|
|
@@ -10214,7 +10245,7 @@ var doWrap = ({
|
|
|
10214
10245
|
}
|
|
10215
10246
|
return {
|
|
10216
10247
|
specificationVersion: "v3",
|
|
10217
|
-
provider: (
|
|
10248
|
+
provider: (_a14 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a14 : model.provider,
|
|
10218
10249
|
modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
|
|
10219
10250
|
supportedUrls: (_c = overrideSupportedUrls == null ? void 0 : overrideSupportedUrls({ model })) != null ? _c : model.supportedUrls,
|
|
10220
10251
|
async doGenerate(params) {
|
|
@@ -10261,7 +10292,7 @@ var doWrap2 = ({
|
|
|
10261
10292
|
modelId,
|
|
10262
10293
|
providerId
|
|
10263
10294
|
}) => {
|
|
10264
|
-
var
|
|
10295
|
+
var _a14, _b, _c, _d;
|
|
10265
10296
|
async function doTransform({
|
|
10266
10297
|
params
|
|
10267
10298
|
}) {
|
|
@@ -10269,7 +10300,7 @@ var doWrap2 = ({
|
|
|
10269
10300
|
}
|
|
10270
10301
|
return {
|
|
10271
10302
|
specificationVersion: "v3",
|
|
10272
|
-
provider: (
|
|
10303
|
+
provider: (_a14 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a14 : model.provider,
|
|
10273
10304
|
modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
|
|
10274
10305
|
maxEmbeddingsPerCall: (_c = overrideMaxEmbeddingsPerCall == null ? void 0 : overrideMaxEmbeddingsPerCall({ model })) != null ? _c : model.maxEmbeddingsPerCall,
|
|
10275
10306
|
supportsParallelCalls: (_d = overrideSupportsParallelCalls == null ? void 0 : overrideSupportsParallelCalls({ model })) != null ? _d : model.supportsParallelCalls,
|
|
@@ -10324,7 +10355,7 @@ function wrapProvider({
|
|
|
10324
10355
|
}
|
|
10325
10356
|
|
|
10326
10357
|
// src/registry/custom-provider.ts
|
|
10327
|
-
var
|
|
10358
|
+
var import_provider27 = require("@ai-sdk/provider");
|
|
10328
10359
|
function customProvider({
|
|
10329
10360
|
languageModels,
|
|
10330
10361
|
embeddingModels,
|
|
@@ -10344,7 +10375,7 @@ function customProvider({
|
|
|
10344
10375
|
if (fallbackProvider) {
|
|
10345
10376
|
return fallbackProvider.languageModel(modelId);
|
|
10346
10377
|
}
|
|
10347
|
-
throw new
|
|
10378
|
+
throw new import_provider27.NoSuchModelError({ modelId, modelType: "languageModel" });
|
|
10348
10379
|
},
|
|
10349
10380
|
embeddingModel(modelId) {
|
|
10350
10381
|
if (embeddingModels != null && modelId in embeddingModels) {
|
|
@@ -10353,7 +10384,7 @@ function customProvider({
|
|
|
10353
10384
|
if (fallbackProvider) {
|
|
10354
10385
|
return fallbackProvider.embeddingModel(modelId);
|
|
10355
10386
|
}
|
|
10356
|
-
throw new
|
|
10387
|
+
throw new import_provider27.NoSuchModelError({ modelId, modelType: "embeddingModel" });
|
|
10357
10388
|
},
|
|
10358
10389
|
imageModel(modelId) {
|
|
10359
10390
|
if (imageModels != null && modelId in imageModels) {
|
|
@@ -10362,7 +10393,7 @@ function customProvider({
|
|
|
10362
10393
|
if (fallbackProvider == null ? void 0 : fallbackProvider.imageModel) {
|
|
10363
10394
|
return fallbackProvider.imageModel(modelId);
|
|
10364
10395
|
}
|
|
10365
|
-
throw new
|
|
10396
|
+
throw new import_provider27.NoSuchModelError({ modelId, modelType: "imageModel" });
|
|
10366
10397
|
},
|
|
10367
10398
|
transcriptionModel(modelId) {
|
|
10368
10399
|
if (transcriptionModels != null && modelId in transcriptionModels) {
|
|
@@ -10371,7 +10402,7 @@ function customProvider({
|
|
|
10371
10402
|
if (fallbackProvider == null ? void 0 : fallbackProvider.transcriptionModel) {
|
|
10372
10403
|
return fallbackProvider.transcriptionModel(modelId);
|
|
10373
10404
|
}
|
|
10374
|
-
throw new
|
|
10405
|
+
throw new import_provider27.NoSuchModelError({ modelId, modelType: "transcriptionModel" });
|
|
10375
10406
|
},
|
|
10376
10407
|
speechModel(modelId) {
|
|
10377
10408
|
if (speechModels != null && modelId in speechModels) {
|
|
@@ -10380,7 +10411,7 @@ function customProvider({
|
|
|
10380
10411
|
if (fallbackProvider == null ? void 0 : fallbackProvider.speechModel) {
|
|
10381
10412
|
return fallbackProvider.speechModel(modelId);
|
|
10382
10413
|
}
|
|
10383
|
-
throw new
|
|
10414
|
+
throw new import_provider27.NoSuchModelError({ modelId, modelType: "speechModel" });
|
|
10384
10415
|
},
|
|
10385
10416
|
rerankingModel(modelId) {
|
|
10386
10417
|
if (rerankingModels != null && modelId in rerankingModels) {
|
|
@@ -10389,19 +10420,19 @@ function customProvider({
|
|
|
10389
10420
|
if (fallbackProvider == null ? void 0 : fallbackProvider.rerankingModel) {
|
|
10390
10421
|
return fallbackProvider.rerankingModel(modelId);
|
|
10391
10422
|
}
|
|
10392
|
-
throw new
|
|
10423
|
+
throw new import_provider27.NoSuchModelError({ modelId, modelType: "rerankingModel" });
|
|
10393
10424
|
}
|
|
10394
10425
|
};
|
|
10395
10426
|
}
|
|
10396
10427
|
var experimental_customProvider = customProvider;
|
|
10397
10428
|
|
|
10398
10429
|
// src/registry/no-such-provider-error.ts
|
|
10399
|
-
var
|
|
10400
|
-
var
|
|
10401
|
-
var
|
|
10402
|
-
var
|
|
10403
|
-
var
|
|
10404
|
-
var NoSuchProviderError = class extends
|
|
10430
|
+
var import_provider28 = require("@ai-sdk/provider");
|
|
10431
|
+
var name13 = "AI_NoSuchProviderError";
|
|
10432
|
+
var marker13 = `vercel.ai.error.${name13}`;
|
|
10433
|
+
var symbol13 = Symbol.for(marker13);
|
|
10434
|
+
var _a13;
|
|
10435
|
+
var NoSuchProviderError = class extends import_provider28.NoSuchModelError {
|
|
10405
10436
|
constructor({
|
|
10406
10437
|
modelId,
|
|
10407
10438
|
modelType,
|
|
@@ -10409,19 +10440,19 @@ var NoSuchProviderError = class extends import_provider29.NoSuchModelError {
|
|
|
10409
10440
|
availableProviders,
|
|
10410
10441
|
message = `No such provider: ${providerId} (available providers: ${availableProviders.join()})`
|
|
10411
10442
|
}) {
|
|
10412
|
-
super({ errorName:
|
|
10413
|
-
this[
|
|
10443
|
+
super({ errorName: name13, modelId, modelType, message });
|
|
10444
|
+
this[_a13] = true;
|
|
10414
10445
|
this.providerId = providerId;
|
|
10415
10446
|
this.availableProviders = availableProviders;
|
|
10416
10447
|
}
|
|
10417
10448
|
static isInstance(error) {
|
|
10418
|
-
return
|
|
10449
|
+
return import_provider28.AISDKError.hasMarker(error, marker13);
|
|
10419
10450
|
}
|
|
10420
10451
|
};
|
|
10421
|
-
|
|
10452
|
+
_a13 = symbol13;
|
|
10422
10453
|
|
|
10423
10454
|
// src/registry/provider-registry.ts
|
|
10424
|
-
var
|
|
10455
|
+
var import_provider29 = require("@ai-sdk/provider");
|
|
10425
10456
|
function createProviderRegistry(providers, {
|
|
10426
10457
|
separator = ":",
|
|
10427
10458
|
languageModelMiddleware
|
|
@@ -10466,7 +10497,7 @@ var DefaultProviderRegistry = class {
|
|
|
10466
10497
|
splitId(id, modelType) {
|
|
10467
10498
|
const index = id.indexOf(this.separator);
|
|
10468
10499
|
if (index === -1) {
|
|
10469
|
-
throw new
|
|
10500
|
+
throw new import_provider29.NoSuchModelError({
|
|
10470
10501
|
modelId: id,
|
|
10471
10502
|
modelType,
|
|
10472
10503
|
message: `Invalid ${modelType} id for registry: ${id} (must be in the format "providerId${this.separator}modelId")`
|
|
@@ -10475,14 +10506,14 @@ var DefaultProviderRegistry = class {
|
|
|
10475
10506
|
return [id.slice(0, index), id.slice(index + this.separator.length)];
|
|
10476
10507
|
}
|
|
10477
10508
|
languageModel(id) {
|
|
10478
|
-
var
|
|
10509
|
+
var _a14, _b;
|
|
10479
10510
|
const [providerId, modelId] = this.splitId(id, "languageModel");
|
|
10480
|
-
let model = (_b = (
|
|
10481
|
-
|
|
10511
|
+
let model = (_b = (_a14 = this.getProvider(providerId, "languageModel")).languageModel) == null ? void 0 : _b.call(
|
|
10512
|
+
_a14,
|
|
10482
10513
|
modelId
|
|
10483
10514
|
);
|
|
10484
10515
|
if (model == null) {
|
|
10485
|
-
throw new
|
|
10516
|
+
throw new import_provider29.NoSuchModelError({ modelId: id, modelType: "languageModel" });
|
|
10486
10517
|
}
|
|
10487
10518
|
if (this.languageModelMiddleware != null) {
|
|
10488
10519
|
model = wrapLanguageModel({
|
|
@@ -10493,12 +10524,12 @@ var DefaultProviderRegistry = class {
|
|
|
10493
10524
|
return model;
|
|
10494
10525
|
}
|
|
10495
10526
|
embeddingModel(id) {
|
|
10496
|
-
var
|
|
10527
|
+
var _a14;
|
|
10497
10528
|
const [providerId, modelId] = this.splitId(id, "embeddingModel");
|
|
10498
10529
|
const provider = this.getProvider(providerId, "embeddingModel");
|
|
10499
|
-
const model = (
|
|
10530
|
+
const model = (_a14 = provider.embeddingModel) == null ? void 0 : _a14.call(provider, modelId);
|
|
10500
10531
|
if (model == null) {
|
|
10501
|
-
throw new
|
|
10532
|
+
throw new import_provider29.NoSuchModelError({
|
|
10502
10533
|
modelId: id,
|
|
10503
10534
|
modelType: "embeddingModel"
|
|
10504
10535
|
});
|
|
@@ -10506,22 +10537,22 @@ var DefaultProviderRegistry = class {
|
|
|
10506
10537
|
return model;
|
|
10507
10538
|
}
|
|
10508
10539
|
imageModel(id) {
|
|
10509
|
-
var
|
|
10540
|
+
var _a14;
|
|
10510
10541
|
const [providerId, modelId] = this.splitId(id, "imageModel");
|
|
10511
10542
|
const provider = this.getProvider(providerId, "imageModel");
|
|
10512
|
-
const model = (
|
|
10543
|
+
const model = (_a14 = provider.imageModel) == null ? void 0 : _a14.call(provider, modelId);
|
|
10513
10544
|
if (model == null) {
|
|
10514
|
-
throw new
|
|
10545
|
+
throw new import_provider29.NoSuchModelError({ modelId: id, modelType: "imageModel" });
|
|
10515
10546
|
}
|
|
10516
10547
|
return model;
|
|
10517
10548
|
}
|
|
10518
10549
|
transcriptionModel(id) {
|
|
10519
|
-
var
|
|
10550
|
+
var _a14;
|
|
10520
10551
|
const [providerId, modelId] = this.splitId(id, "transcriptionModel");
|
|
10521
10552
|
const provider = this.getProvider(providerId, "transcriptionModel");
|
|
10522
|
-
const model = (
|
|
10553
|
+
const model = (_a14 = provider.transcriptionModel) == null ? void 0 : _a14.call(provider, modelId);
|
|
10523
10554
|
if (model == null) {
|
|
10524
|
-
throw new
|
|
10555
|
+
throw new import_provider29.NoSuchModelError({
|
|
10525
10556
|
modelId: id,
|
|
10526
10557
|
modelType: "transcriptionModel"
|
|
10527
10558
|
});
|
|
@@ -10529,22 +10560,22 @@ var DefaultProviderRegistry = class {
|
|
|
10529
10560
|
return model;
|
|
10530
10561
|
}
|
|
10531
10562
|
speechModel(id) {
|
|
10532
|
-
var
|
|
10563
|
+
var _a14;
|
|
10533
10564
|
const [providerId, modelId] = this.splitId(id, "speechModel");
|
|
10534
10565
|
const provider = this.getProvider(providerId, "speechModel");
|
|
10535
|
-
const model = (
|
|
10566
|
+
const model = (_a14 = provider.speechModel) == null ? void 0 : _a14.call(provider, modelId);
|
|
10536
10567
|
if (model == null) {
|
|
10537
|
-
throw new
|
|
10568
|
+
throw new import_provider29.NoSuchModelError({ modelId: id, modelType: "speechModel" });
|
|
10538
10569
|
}
|
|
10539
10570
|
return model;
|
|
10540
10571
|
}
|
|
10541
10572
|
rerankingModel(id) {
|
|
10542
|
-
var
|
|
10573
|
+
var _a14;
|
|
10543
10574
|
const [providerId, modelId] = this.splitId(id, "rerankingModel");
|
|
10544
10575
|
const provider = this.getProvider(providerId, "rerankingModel");
|
|
10545
|
-
const model = (
|
|
10576
|
+
const model = (_a14 = provider.rerankingModel) == null ? void 0 : _a14.call(provider, modelId);
|
|
10546
10577
|
if (model == null) {
|
|
10547
|
-
throw new
|
|
10578
|
+
throw new import_provider29.NoSuchModelError({ modelId: id, modelType: "rerankingModel" });
|
|
10548
10579
|
}
|
|
10549
10580
|
return model;
|
|
10550
10581
|
}
|
|
@@ -10599,7 +10630,7 @@ async function rerank({
|
|
|
10599
10630
|
}),
|
|
10600
10631
|
tracer,
|
|
10601
10632
|
fn: async () => {
|
|
10602
|
-
var
|
|
10633
|
+
var _a14, _b;
|
|
10603
10634
|
const { ranking, response, providerMetadata, warnings } = await retry(
|
|
10604
10635
|
() => recordSpan({
|
|
10605
10636
|
name: "ai.rerank.doRerank",
|
|
@@ -10663,7 +10694,7 @@ async function rerank({
|
|
|
10663
10694
|
providerMetadata,
|
|
10664
10695
|
response: {
|
|
10665
10696
|
id: response == null ? void 0 : response.id,
|
|
10666
|
-
timestamp: (
|
|
10697
|
+
timestamp: (_a14 = response == null ? void 0 : response.timestamp) != null ? _a14 : /* @__PURE__ */ new Date(),
|
|
10667
10698
|
modelId: (_b = response == null ? void 0 : response.modelId) != null ? _b : model.modelId,
|
|
10668
10699
|
headers: response == null ? void 0 : response.headers,
|
|
10669
10700
|
body: response == null ? void 0 : response.body
|
|
@@ -10685,11 +10716,11 @@ var DefaultRerankResult = class {
|
|
|
10685
10716
|
};
|
|
10686
10717
|
|
|
10687
10718
|
// src/transcribe/transcribe.ts
|
|
10688
|
-
var
|
|
10719
|
+
var import_provider_utils33 = require("@ai-sdk/provider-utils");
|
|
10689
10720
|
|
|
10690
10721
|
// src/error/no-transcript-generated-error.ts
|
|
10691
|
-
var
|
|
10692
|
-
var NoTranscriptGeneratedError = class extends
|
|
10722
|
+
var import_provider30 = require("@ai-sdk/provider");
|
|
10723
|
+
var NoTranscriptGeneratedError = class extends import_provider30.AISDKError {
|
|
10693
10724
|
constructor(options) {
|
|
10694
10725
|
super({
|
|
10695
10726
|
name: "AI_NoTranscriptGeneratedError",
|
|
@@ -10716,23 +10747,23 @@ async function transcribe({
|
|
|
10716
10747
|
maxRetries: maxRetriesArg,
|
|
10717
10748
|
abortSignal
|
|
10718
10749
|
});
|
|
10719
|
-
const headersWithUserAgent = (0,
|
|
10750
|
+
const headersWithUserAgent = (0, import_provider_utils33.withUserAgentSuffix)(
|
|
10720
10751
|
headers != null ? headers : {},
|
|
10721
10752
|
`ai/${VERSION}`
|
|
10722
10753
|
);
|
|
10723
10754
|
const audioData = audio instanceof URL ? (await download({ url: audio })).data : convertDataContentToUint8Array(audio);
|
|
10724
10755
|
const result = await retry(
|
|
10725
10756
|
() => {
|
|
10726
|
-
var
|
|
10757
|
+
var _a14;
|
|
10727
10758
|
return resolvedModel.doGenerate({
|
|
10728
10759
|
audio: audioData,
|
|
10729
10760
|
abortSignal,
|
|
10730
10761
|
headers: headersWithUserAgent,
|
|
10731
10762
|
providerOptions,
|
|
10732
|
-
mediaType: (
|
|
10763
|
+
mediaType: (_a14 = detectMediaType({
|
|
10733
10764
|
data: audioData,
|
|
10734
10765
|
signatures: audioMediaTypeSignatures
|
|
10735
|
-
})) != null ?
|
|
10766
|
+
})) != null ? _a14 : "audio/wav"
|
|
10736
10767
|
});
|
|
10737
10768
|
}
|
|
10738
10769
|
);
|
|
@@ -10756,19 +10787,19 @@ async function transcribe({
|
|
|
10756
10787
|
}
|
|
10757
10788
|
var DefaultTranscriptionResult = class {
|
|
10758
10789
|
constructor(options) {
|
|
10759
|
-
var
|
|
10790
|
+
var _a14;
|
|
10760
10791
|
this.text = options.text;
|
|
10761
10792
|
this.segments = options.segments;
|
|
10762
10793
|
this.language = options.language;
|
|
10763
10794
|
this.durationInSeconds = options.durationInSeconds;
|
|
10764
10795
|
this.warnings = options.warnings;
|
|
10765
10796
|
this.responses = options.responses;
|
|
10766
|
-
this.providerMetadata = (
|
|
10797
|
+
this.providerMetadata = (_a14 = options.providerMetadata) != null ? _a14 : {};
|
|
10767
10798
|
}
|
|
10768
10799
|
};
|
|
10769
10800
|
|
|
10770
10801
|
// src/ui/call-completion-api.ts
|
|
10771
|
-
var
|
|
10802
|
+
var import_provider_utils34 = require("@ai-sdk/provider-utils");
|
|
10772
10803
|
|
|
10773
10804
|
// src/ui/process-text-stream.ts
|
|
10774
10805
|
async function processTextStream({
|
|
@@ -10802,7 +10833,7 @@ async function callCompletionApi({
|
|
|
10802
10833
|
onError,
|
|
10803
10834
|
fetch: fetch2 = getOriginalFetch()
|
|
10804
10835
|
}) {
|
|
10805
|
-
var
|
|
10836
|
+
var _a14;
|
|
10806
10837
|
try {
|
|
10807
10838
|
setLoading(true);
|
|
10808
10839
|
setError(void 0);
|
|
@@ -10816,13 +10847,13 @@ async function callCompletionApi({
|
|
|
10816
10847
|
...body
|
|
10817
10848
|
}),
|
|
10818
10849
|
credentials,
|
|
10819
|
-
headers: (0,
|
|
10850
|
+
headers: (0, import_provider_utils34.withUserAgentSuffix)(
|
|
10820
10851
|
{
|
|
10821
10852
|
"Content-Type": "application/json",
|
|
10822
10853
|
...headers
|
|
10823
10854
|
},
|
|
10824
10855
|
`ai-sdk/${VERSION}`,
|
|
10825
|
-
(0,
|
|
10856
|
+
(0, import_provider_utils34.getRuntimeEnvironmentUserAgent)()
|
|
10826
10857
|
),
|
|
10827
10858
|
signal: abortController.signal
|
|
10828
10859
|
}).catch((err) => {
|
|
@@ -10830,7 +10861,7 @@ async function callCompletionApi({
|
|
|
10830
10861
|
});
|
|
10831
10862
|
if (!response.ok) {
|
|
10832
10863
|
throw new Error(
|
|
10833
|
-
(
|
|
10864
|
+
(_a14 = await response.text()) != null ? _a14 : "Failed to fetch the chat response."
|
|
10834
10865
|
);
|
|
10835
10866
|
}
|
|
10836
10867
|
if (!response.body) {
|
|
@@ -10850,7 +10881,7 @@ async function callCompletionApi({
|
|
|
10850
10881
|
}
|
|
10851
10882
|
case "data": {
|
|
10852
10883
|
await consumeStream({
|
|
10853
|
-
stream: (0,
|
|
10884
|
+
stream: (0, import_provider_utils34.parseJsonEventStream)({
|
|
10854
10885
|
stream: response.body,
|
|
10855
10886
|
schema: uiMessageChunkSchema
|
|
10856
10887
|
}).pipeThrough(
|
|
@@ -10902,7 +10933,7 @@ async function callCompletionApi({
|
|
|
10902
10933
|
}
|
|
10903
10934
|
|
|
10904
10935
|
// src/ui/chat.ts
|
|
10905
|
-
var
|
|
10936
|
+
var import_provider_utils37 = require("@ai-sdk/provider-utils");
|
|
10906
10937
|
|
|
10907
10938
|
// src/ui/convert-file-list-to-file-ui-parts.ts
|
|
10908
10939
|
async function convertFileListToFileUIParts(files) {
|
|
@@ -10914,12 +10945,12 @@ async function convertFileListToFileUIParts(files) {
|
|
|
10914
10945
|
}
|
|
10915
10946
|
return Promise.all(
|
|
10916
10947
|
Array.from(files).map(async (file) => {
|
|
10917
|
-
const { name:
|
|
10948
|
+
const { name: name14, type } = file;
|
|
10918
10949
|
const dataUrl = await new Promise((resolve3, reject) => {
|
|
10919
10950
|
const reader = new FileReader();
|
|
10920
10951
|
reader.onload = (readerEvent) => {
|
|
10921
|
-
var
|
|
10922
|
-
resolve3((
|
|
10952
|
+
var _a14;
|
|
10953
|
+
resolve3((_a14 = readerEvent.target) == null ? void 0 : _a14.result);
|
|
10923
10954
|
};
|
|
10924
10955
|
reader.onerror = (error) => reject(error);
|
|
10925
10956
|
reader.readAsDataURL(file);
|
|
@@ -10927,7 +10958,7 @@ async function convertFileListToFileUIParts(files) {
|
|
|
10927
10958
|
return {
|
|
10928
10959
|
type: "file",
|
|
10929
10960
|
mediaType: type,
|
|
10930
|
-
filename:
|
|
10961
|
+
filename: name14,
|
|
10931
10962
|
url: dataUrl
|
|
10932
10963
|
};
|
|
10933
10964
|
})
|
|
@@ -10935,10 +10966,10 @@ async function convertFileListToFileUIParts(files) {
|
|
|
10935
10966
|
}
|
|
10936
10967
|
|
|
10937
10968
|
// src/ui/default-chat-transport.ts
|
|
10938
|
-
var
|
|
10969
|
+
var import_provider_utils36 = require("@ai-sdk/provider-utils");
|
|
10939
10970
|
|
|
10940
10971
|
// src/ui/http-chat-transport.ts
|
|
10941
|
-
var
|
|
10972
|
+
var import_provider_utils35 = require("@ai-sdk/provider-utils");
|
|
10942
10973
|
var HttpChatTransport = class {
|
|
10943
10974
|
constructor({
|
|
10944
10975
|
api = "/api/chat",
|
|
@@ -10961,15 +10992,15 @@ var HttpChatTransport = class {
|
|
|
10961
10992
|
abortSignal,
|
|
10962
10993
|
...options
|
|
10963
10994
|
}) {
|
|
10964
|
-
var
|
|
10965
|
-
const resolvedBody = await (0,
|
|
10966
|
-
const resolvedHeaders = await (0,
|
|
10967
|
-
const resolvedCredentials = await (0,
|
|
10995
|
+
var _a14, _b, _c, _d, _e;
|
|
10996
|
+
const resolvedBody = await (0, import_provider_utils35.resolve)(this.body);
|
|
10997
|
+
const resolvedHeaders = await (0, import_provider_utils35.resolve)(this.headers);
|
|
10998
|
+
const resolvedCredentials = await (0, import_provider_utils35.resolve)(this.credentials);
|
|
10968
10999
|
const baseHeaders = {
|
|
10969
|
-
...(0,
|
|
10970
|
-
...(0,
|
|
11000
|
+
...(0, import_provider_utils35.normalizeHeaders)(resolvedHeaders),
|
|
11001
|
+
...(0, import_provider_utils35.normalizeHeaders)(options.headers)
|
|
10971
11002
|
};
|
|
10972
|
-
const preparedRequest = await ((
|
|
11003
|
+
const preparedRequest = await ((_a14 = this.prepareSendMessagesRequest) == null ? void 0 : _a14.call(this, {
|
|
10973
11004
|
api: this.api,
|
|
10974
11005
|
id: options.chatId,
|
|
10975
11006
|
messages: options.messages,
|
|
@@ -10981,7 +11012,7 @@ var HttpChatTransport = class {
|
|
|
10981
11012
|
messageId: options.messageId
|
|
10982
11013
|
}));
|
|
10983
11014
|
const api = (_b = preparedRequest == null ? void 0 : preparedRequest.api) != null ? _b : this.api;
|
|
10984
|
-
const headers = (preparedRequest == null ? void 0 : preparedRequest.headers) !== void 0 ? (0,
|
|
11015
|
+
const headers = (preparedRequest == null ? void 0 : preparedRequest.headers) !== void 0 ? (0, import_provider_utils35.normalizeHeaders)(preparedRequest.headers) : baseHeaders;
|
|
10985
11016
|
const body = (preparedRequest == null ? void 0 : preparedRequest.body) !== void 0 ? preparedRequest.body : {
|
|
10986
11017
|
...resolvedBody,
|
|
10987
11018
|
...options.body,
|
|
@@ -10994,13 +11025,13 @@ var HttpChatTransport = class {
|
|
|
10994
11025
|
const fetch2 = (_d = this.fetch) != null ? _d : globalThis.fetch;
|
|
10995
11026
|
const response = await fetch2(api, {
|
|
10996
11027
|
method: "POST",
|
|
10997
|
-
headers: (0,
|
|
11028
|
+
headers: (0, import_provider_utils35.withUserAgentSuffix)(
|
|
10998
11029
|
{
|
|
10999
11030
|
"Content-Type": "application/json",
|
|
11000
11031
|
...headers
|
|
11001
11032
|
},
|
|
11002
11033
|
`ai-sdk/${VERSION}`,
|
|
11003
|
-
(0,
|
|
11034
|
+
(0, import_provider_utils35.getRuntimeEnvironmentUserAgent)()
|
|
11004
11035
|
),
|
|
11005
11036
|
body: JSON.stringify(body),
|
|
11006
11037
|
credentials,
|
|
@@ -11017,15 +11048,15 @@ var HttpChatTransport = class {
|
|
|
11017
11048
|
return this.processResponseStream(response.body);
|
|
11018
11049
|
}
|
|
11019
11050
|
async reconnectToStream(options) {
|
|
11020
|
-
var
|
|
11021
|
-
const resolvedBody = await (0,
|
|
11022
|
-
const resolvedHeaders = await (0,
|
|
11023
|
-
const resolvedCredentials = await (0,
|
|
11051
|
+
var _a14, _b, _c, _d, _e;
|
|
11052
|
+
const resolvedBody = await (0, import_provider_utils35.resolve)(this.body);
|
|
11053
|
+
const resolvedHeaders = await (0, import_provider_utils35.resolve)(this.headers);
|
|
11054
|
+
const resolvedCredentials = await (0, import_provider_utils35.resolve)(this.credentials);
|
|
11024
11055
|
const baseHeaders = {
|
|
11025
|
-
...(0,
|
|
11026
|
-
...(0,
|
|
11056
|
+
...(0, import_provider_utils35.normalizeHeaders)(resolvedHeaders),
|
|
11057
|
+
...(0, import_provider_utils35.normalizeHeaders)(options.headers)
|
|
11027
11058
|
};
|
|
11028
|
-
const preparedRequest = await ((
|
|
11059
|
+
const preparedRequest = await ((_a14 = this.prepareReconnectToStreamRequest) == null ? void 0 : _a14.call(this, {
|
|
11029
11060
|
api: this.api,
|
|
11030
11061
|
id: options.chatId,
|
|
11031
11062
|
body: { ...resolvedBody, ...options.body },
|
|
@@ -11034,15 +11065,15 @@ var HttpChatTransport = class {
|
|
|
11034
11065
|
requestMetadata: options.metadata
|
|
11035
11066
|
}));
|
|
11036
11067
|
const api = (_b = preparedRequest == null ? void 0 : preparedRequest.api) != null ? _b : `${this.api}/${options.chatId}/stream`;
|
|
11037
|
-
const headers = (preparedRequest == null ? void 0 : preparedRequest.headers) !== void 0 ? (0,
|
|
11068
|
+
const headers = (preparedRequest == null ? void 0 : preparedRequest.headers) !== void 0 ? (0, import_provider_utils35.normalizeHeaders)(preparedRequest.headers) : baseHeaders;
|
|
11038
11069
|
const credentials = (_c = preparedRequest == null ? void 0 : preparedRequest.credentials) != null ? _c : resolvedCredentials;
|
|
11039
11070
|
const fetch2 = (_d = this.fetch) != null ? _d : globalThis.fetch;
|
|
11040
11071
|
const response = await fetch2(api, {
|
|
11041
11072
|
method: "GET",
|
|
11042
|
-
headers: (0,
|
|
11073
|
+
headers: (0, import_provider_utils35.withUserAgentSuffix)(
|
|
11043
11074
|
headers,
|
|
11044
11075
|
`ai-sdk/${VERSION}`,
|
|
11045
|
-
(0,
|
|
11076
|
+
(0, import_provider_utils35.getRuntimeEnvironmentUserAgent)()
|
|
11046
11077
|
),
|
|
11047
11078
|
credentials
|
|
11048
11079
|
});
|
|
@@ -11067,7 +11098,7 @@ var DefaultChatTransport = class extends HttpChatTransport {
|
|
|
11067
11098
|
super(options);
|
|
11068
11099
|
}
|
|
11069
11100
|
processResponseStream(stream) {
|
|
11070
|
-
return (0,
|
|
11101
|
+
return (0, import_provider_utils36.parseJsonEventStream)({
|
|
11071
11102
|
stream,
|
|
11072
11103
|
schema: uiMessageChunkSchema
|
|
11073
11104
|
}).pipeThrough(
|
|
@@ -11086,7 +11117,7 @@ var DefaultChatTransport = class extends HttpChatTransport {
|
|
|
11086
11117
|
// src/ui/chat.ts
|
|
11087
11118
|
var AbstractChat = class {
|
|
11088
11119
|
constructor({
|
|
11089
|
-
generateId: generateId2 =
|
|
11120
|
+
generateId: generateId2 = import_provider_utils37.generateId,
|
|
11090
11121
|
id = generateId2(),
|
|
11091
11122
|
transport = new DefaultChatTransport(),
|
|
11092
11123
|
messageMetadataSchema,
|
|
@@ -11107,11 +11138,11 @@ var AbstractChat = class {
|
|
|
11107
11138
|
* If a messageId is provided, the message will be replaced.
|
|
11108
11139
|
*/
|
|
11109
11140
|
this.sendMessage = async (message, options) => {
|
|
11110
|
-
var
|
|
11141
|
+
var _a14, _b, _c, _d;
|
|
11111
11142
|
if (message == null) {
|
|
11112
11143
|
await this.makeRequest({
|
|
11113
11144
|
trigger: "submit-message",
|
|
11114
|
-
messageId: (
|
|
11145
|
+
messageId: (_a14 = this.lastMessage) == null ? void 0 : _a14.id,
|
|
11115
11146
|
...options
|
|
11116
11147
|
});
|
|
11117
11148
|
return;
|
|
@@ -11204,7 +11235,7 @@ var AbstractChat = class {
|
|
|
11204
11235
|
approved,
|
|
11205
11236
|
reason
|
|
11206
11237
|
}) => this.jobExecutor.run(async () => {
|
|
11207
|
-
var
|
|
11238
|
+
var _a14, _b;
|
|
11208
11239
|
const messages = this.state.messages;
|
|
11209
11240
|
const lastMessage = messages[messages.length - 1];
|
|
11210
11241
|
const updatePart = (part) => isToolUIPart(part) && part.state === "approval-requested" && part.approval.id === id ? {
|
|
@@ -11219,7 +11250,7 @@ var AbstractChat = class {
|
|
|
11219
11250
|
if (this.activeResponse) {
|
|
11220
11251
|
this.activeResponse.state.message.parts = this.activeResponse.state.message.parts.map(updatePart);
|
|
11221
11252
|
}
|
|
11222
|
-
if (this.status !== "streaming" && this.status !== "submitted" && ((
|
|
11253
|
+
if (this.status !== "streaming" && this.status !== "submitted" && ((_a14 = this.sendAutomaticallyWhen) == null ? void 0 : _a14.call(this, { messages: this.state.messages }))) {
|
|
11223
11254
|
this.makeRequest({
|
|
11224
11255
|
trigger: "submit-message",
|
|
11225
11256
|
messageId: (_b = this.lastMessage) == null ? void 0 : _b.id
|
|
@@ -11233,7 +11264,7 @@ var AbstractChat = class {
|
|
|
11233
11264
|
output,
|
|
11234
11265
|
errorText
|
|
11235
11266
|
}) => this.jobExecutor.run(async () => {
|
|
11236
|
-
var
|
|
11267
|
+
var _a14, _b;
|
|
11237
11268
|
const messages = this.state.messages;
|
|
11238
11269
|
const lastMessage = messages[messages.length - 1];
|
|
11239
11270
|
const updatePart = (part) => isToolUIPart(part) && part.toolCallId === toolCallId ? { ...part, state, output, errorText } : part;
|
|
@@ -11244,7 +11275,7 @@ var AbstractChat = class {
|
|
|
11244
11275
|
if (this.activeResponse) {
|
|
11245
11276
|
this.activeResponse.state.message.parts = this.activeResponse.state.message.parts.map(updatePart);
|
|
11246
11277
|
}
|
|
11247
|
-
if (this.status !== "streaming" && this.status !== "submitted" && ((
|
|
11278
|
+
if (this.status !== "streaming" && this.status !== "submitted" && ((_a14 = this.sendAutomaticallyWhen) == null ? void 0 : _a14.call(this, { messages: this.state.messages }))) {
|
|
11248
11279
|
this.makeRequest({
|
|
11249
11280
|
trigger: "submit-message",
|
|
11250
11281
|
messageId: (_b = this.lastMessage) == null ? void 0 : _b.id
|
|
@@ -11257,10 +11288,10 @@ var AbstractChat = class {
|
|
|
11257
11288
|
* Abort the current request immediately, keep the generated tokens if any.
|
|
11258
11289
|
*/
|
|
11259
11290
|
this.stop = async () => {
|
|
11260
|
-
var
|
|
11291
|
+
var _a14;
|
|
11261
11292
|
if (this.status !== "streaming" && this.status !== "submitted")
|
|
11262
11293
|
return;
|
|
11263
|
-
if ((
|
|
11294
|
+
if ((_a14 = this.activeResponse) == null ? void 0 : _a14.abortController) {
|
|
11264
11295
|
this.activeResponse.abortController.abort();
|
|
11265
11296
|
}
|
|
11266
11297
|
};
|
|
@@ -11315,7 +11346,7 @@ var AbstractChat = class {
|
|
|
11315
11346
|
body,
|
|
11316
11347
|
messageId
|
|
11317
11348
|
}) {
|
|
11318
|
-
var
|
|
11349
|
+
var _a14, _b, _c, _d;
|
|
11319
11350
|
this.setStatus({ status: "submitted", error: void 0 });
|
|
11320
11351
|
const lastMessage = this.lastMessage;
|
|
11321
11352
|
let isAbort = false;
|
|
@@ -11364,9 +11395,9 @@ var AbstractChat = class {
|
|
|
11364
11395
|
() => job({
|
|
11365
11396
|
state: activeResponse.state,
|
|
11366
11397
|
write: () => {
|
|
11367
|
-
var
|
|
11398
|
+
var _a15;
|
|
11368
11399
|
this.setStatus({ status: "streaming" });
|
|
11369
|
-
const replaceLastMessage = activeResponse.state.message.id === ((
|
|
11400
|
+
const replaceLastMessage = activeResponse.state.message.id === ((_a15 = this.lastMessage) == null ? void 0 : _a15.id);
|
|
11370
11401
|
if (replaceLastMessage) {
|
|
11371
11402
|
this.state.replaceMessage(
|
|
11372
11403
|
this.state.messages.length - 1,
|
|
@@ -11418,7 +11449,7 @@ var AbstractChat = class {
|
|
|
11418
11449
|
isAbort,
|
|
11419
11450
|
isDisconnect,
|
|
11420
11451
|
isError,
|
|
11421
|
-
finishReason: (
|
|
11452
|
+
finishReason: (_a14 = this.activeResponse) == null ? void 0 : _a14.state.finishReason
|
|
11422
11453
|
});
|
|
11423
11454
|
} catch (err) {
|
|
11424
11455
|
console.error(err);
|
|
@@ -11586,6 +11617,7 @@ var TextStreamChatTransport = class extends HttpChatTransport {
|
|
|
11586
11617
|
extractReasoningMiddleware,
|
|
11587
11618
|
gateway,
|
|
11588
11619
|
generateId,
|
|
11620
|
+
generateImage,
|
|
11589
11621
|
generateObject,
|
|
11590
11622
|
generateText,
|
|
11591
11623
|
getStaticToolName,
|