ai 6.0.0-beta.159 → 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 +10 -0
- package/dist/index.d.mts +41 -42
- package/dist/index.d.ts +41 -42
- package/dist/index.js +457 -430
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +249 -220
- 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/internal/index.mjs
CHANGED
|
@@ -120,44 +120,19 @@ function detectMediaType({
|
|
|
120
120
|
return void 0;
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
-
// src/util/download/download-error.ts
|
|
124
|
-
import { AISDKError } from "@ai-sdk/provider";
|
|
125
|
-
var name = "AI_DownloadError";
|
|
126
|
-
var marker = `vercel.ai.error.${name}`;
|
|
127
|
-
var symbol = Symbol.for(marker);
|
|
128
|
-
var _a;
|
|
129
|
-
var DownloadError = class extends AISDKError {
|
|
130
|
-
constructor({
|
|
131
|
-
url,
|
|
132
|
-
statusCode,
|
|
133
|
-
statusText,
|
|
134
|
-
cause,
|
|
135
|
-
message = cause == null ? `Failed to download ${url}: ${statusCode} ${statusText}` : `Failed to download ${url}: ${cause}`
|
|
136
|
-
}) {
|
|
137
|
-
super({ name, message, cause });
|
|
138
|
-
this[_a] = true;
|
|
139
|
-
this.url = url;
|
|
140
|
-
this.statusCode = statusCode;
|
|
141
|
-
this.statusText = statusText;
|
|
142
|
-
}
|
|
143
|
-
static isInstance(error) {
|
|
144
|
-
return AISDKError.hasMarker(error, marker);
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
_a = symbol;
|
|
148
|
-
|
|
149
123
|
// src/util/download/download.ts
|
|
124
|
+
import { DownloadError } from "@ai-sdk/provider-utils";
|
|
150
125
|
import {
|
|
151
126
|
withUserAgentSuffix,
|
|
152
127
|
getRuntimeEnvironmentUserAgent
|
|
153
128
|
} from "@ai-sdk/provider-utils";
|
|
154
129
|
|
|
155
130
|
// src/version.ts
|
|
156
|
-
var VERSION = true ? "6.0.0-beta.
|
|
131
|
+
var VERSION = true ? "6.0.0-beta.160" : "0.0.0-test";
|
|
157
132
|
|
|
158
133
|
// src/util/download/download.ts
|
|
159
134
|
var download = async ({ url }) => {
|
|
160
|
-
var
|
|
135
|
+
var _a4;
|
|
161
136
|
const urlText = url.toString();
|
|
162
137
|
try {
|
|
163
138
|
const response = await fetch(urlText, {
|
|
@@ -176,7 +151,7 @@ var download = async ({ url }) => {
|
|
|
176
151
|
}
|
|
177
152
|
return {
|
|
178
153
|
data: new Uint8Array(await response.arrayBuffer()),
|
|
179
|
-
mediaType: (
|
|
154
|
+
mediaType: (_a4 = response.headers.get("content-type")) != null ? _a4 : void 0
|
|
180
155
|
};
|
|
181
156
|
} catch (error) {
|
|
182
157
|
if (DownloadError.isInstance(error)) {
|
|
@@ -194,7 +169,7 @@ var createDefaultDownloadFunction = (download2 = download) => (requestedDownload
|
|
|
194
169
|
);
|
|
195
170
|
|
|
196
171
|
// src/prompt/data-content.ts
|
|
197
|
-
import { AISDKError
|
|
172
|
+
import { AISDKError } from "@ai-sdk/provider";
|
|
198
173
|
import {
|
|
199
174
|
convertBase64ToUint8Array as convertBase64ToUint8Array2,
|
|
200
175
|
convertUint8ArrayToBase64
|
|
@@ -225,8 +200,8 @@ var dataContentSchema = z.union([
|
|
|
225
200
|
z.custom(
|
|
226
201
|
// Buffer might not be available in some environments such as CloudFlare:
|
|
227
202
|
(value) => {
|
|
228
|
-
var
|
|
229
|
-
return (_b = (
|
|
203
|
+
var _a4, _b;
|
|
204
|
+
return (_b = (_a4 = globalThis.Buffer) == null ? void 0 : _a4.isBuffer(value)) != null ? _b : false;
|
|
230
205
|
},
|
|
231
206
|
{ message: "Must be a Buffer" }
|
|
232
207
|
)
|
|
@@ -249,7 +224,7 @@ function convertToLanguageModelV3DataContent(content) {
|
|
|
249
224
|
content.toString()
|
|
250
225
|
);
|
|
251
226
|
if (dataUrlMediaType == null || base64Content == null) {
|
|
252
|
-
throw new
|
|
227
|
+
throw new AISDKError({
|
|
253
228
|
name: "InvalidDataContentError",
|
|
254
229
|
message: `Invalid data URL format in content ${content.toString()}`
|
|
255
230
|
});
|
|
@@ -260,25 +235,25 @@ function convertToLanguageModelV3DataContent(content) {
|
|
|
260
235
|
}
|
|
261
236
|
|
|
262
237
|
// src/prompt/invalid-message-role-error.ts
|
|
263
|
-
import { AISDKError as
|
|
264
|
-
var
|
|
265
|
-
var
|
|
266
|
-
var
|
|
267
|
-
var
|
|
268
|
-
var InvalidMessageRoleError = class extends
|
|
238
|
+
import { AISDKError as AISDKError2 } from "@ai-sdk/provider";
|
|
239
|
+
var name = "AI_InvalidMessageRoleError";
|
|
240
|
+
var marker = `vercel.ai.error.${name}`;
|
|
241
|
+
var symbol = Symbol.for(marker);
|
|
242
|
+
var _a;
|
|
243
|
+
var InvalidMessageRoleError = class extends AISDKError2 {
|
|
269
244
|
constructor({
|
|
270
245
|
role,
|
|
271
246
|
message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
|
|
272
247
|
}) {
|
|
273
|
-
super({ name
|
|
274
|
-
this[
|
|
248
|
+
super({ name, message });
|
|
249
|
+
this[_a] = true;
|
|
275
250
|
this.role = role;
|
|
276
251
|
}
|
|
277
252
|
static isInstance(error) {
|
|
278
|
-
return
|
|
253
|
+
return AISDKError2.hasMarker(error, marker);
|
|
279
254
|
}
|
|
280
255
|
};
|
|
281
|
-
|
|
256
|
+
_a = symbol;
|
|
282
257
|
|
|
283
258
|
// src/util/as-array.ts
|
|
284
259
|
function asArray(value) {
|
|
@@ -441,8 +416,8 @@ async function downloadAssets(messages, download2, supportedUrls) {
|
|
|
441
416
|
).flat().filter(
|
|
442
417
|
(part) => part.type === "image" || part.type === "file"
|
|
443
418
|
).map((part) => {
|
|
444
|
-
var
|
|
445
|
-
const mediaType = (
|
|
419
|
+
var _a4;
|
|
420
|
+
const mediaType = (_a4 = part.mediaType) != null ? _a4 : part.type === "image" ? "image/*" : void 0;
|
|
446
421
|
let data = part.type === "image" ? part.image : part.data;
|
|
447
422
|
if (typeof data === "string") {
|
|
448
423
|
try {
|
|
@@ -472,7 +447,7 @@ async function downloadAssets(messages, download2, supportedUrls) {
|
|
|
472
447
|
);
|
|
473
448
|
}
|
|
474
449
|
function convertPartToLanguageModelPart(part, downloadedAssets) {
|
|
475
|
-
var
|
|
450
|
+
var _a4;
|
|
476
451
|
if (part.type === "text") {
|
|
477
452
|
return {
|
|
478
453
|
type: "text",
|
|
@@ -505,7 +480,7 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
|
|
|
505
480
|
switch (type) {
|
|
506
481
|
case "image": {
|
|
507
482
|
if (data instanceof Uint8Array || typeof data === "string") {
|
|
508
|
-
mediaType = (
|
|
483
|
+
mediaType = (_a4 = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _a4 : mediaType;
|
|
509
484
|
}
|
|
510
485
|
return {
|
|
511
486
|
type: "file",
|
|
@@ -577,10 +552,10 @@ async function prepareToolsAndToolChoice({
|
|
|
577
552
|
};
|
|
578
553
|
}
|
|
579
554
|
const filteredTools = activeTools != null ? Object.entries(tools).filter(
|
|
580
|
-
([
|
|
555
|
+
([name4]) => activeTools.includes(name4)
|
|
581
556
|
) : Object.entries(tools);
|
|
582
557
|
const languageModelTools = [];
|
|
583
|
-
for (const [
|
|
558
|
+
for (const [name4, tool] of filteredTools) {
|
|
584
559
|
const toolType = tool.type;
|
|
585
560
|
switch (toolType) {
|
|
586
561
|
case void 0:
|
|
@@ -588,7 +563,7 @@ async function prepareToolsAndToolChoice({
|
|
|
588
563
|
case "function":
|
|
589
564
|
languageModelTools.push({
|
|
590
565
|
type: "function",
|
|
591
|
-
name:
|
|
566
|
+
name: name4,
|
|
592
567
|
description: tool.description,
|
|
593
568
|
inputSchema: await asSchema(tool.inputSchema).jsonSchema,
|
|
594
569
|
...tool.inputExamples != null ? { inputExamples: tool.inputExamples } : {},
|
|
@@ -599,7 +574,7 @@ async function prepareToolsAndToolChoice({
|
|
|
599
574
|
case "provider":
|
|
600
575
|
languageModelTools.push({
|
|
601
576
|
type: "provider",
|
|
602
|
-
name:
|
|
577
|
+
name: name4,
|
|
603
578
|
id: tool.id,
|
|
604
579
|
args: tool.args
|
|
605
580
|
});
|
|
@@ -888,30 +863,30 @@ async function standardizePrompt(prompt) {
|
|
|
888
863
|
}
|
|
889
864
|
|
|
890
865
|
// src/error/invalid-argument-error.ts
|
|
891
|
-
import { AISDKError as
|
|
892
|
-
var
|
|
893
|
-
var
|
|
894
|
-
var
|
|
895
|
-
var
|
|
896
|
-
var InvalidArgumentError = class extends
|
|
866
|
+
import { AISDKError as AISDKError3 } from "@ai-sdk/provider";
|
|
867
|
+
var name2 = "AI_InvalidArgumentError";
|
|
868
|
+
var marker2 = `vercel.ai.error.${name2}`;
|
|
869
|
+
var symbol2 = Symbol.for(marker2);
|
|
870
|
+
var _a2;
|
|
871
|
+
var InvalidArgumentError = class extends AISDKError3 {
|
|
897
872
|
constructor({
|
|
898
873
|
parameter,
|
|
899
874
|
value,
|
|
900
875
|
message
|
|
901
876
|
}) {
|
|
902
877
|
super({
|
|
903
|
-
name:
|
|
878
|
+
name: name2,
|
|
904
879
|
message: `Invalid argument for parameter ${parameter}: ${message}`
|
|
905
880
|
});
|
|
906
|
-
this[
|
|
881
|
+
this[_a2] = true;
|
|
907
882
|
this.parameter = parameter;
|
|
908
883
|
this.value = value;
|
|
909
884
|
}
|
|
910
885
|
static isInstance(error) {
|
|
911
|
-
return
|
|
886
|
+
return AISDKError3.hasMarker(error, marker2);
|
|
912
887
|
}
|
|
913
888
|
};
|
|
914
|
-
|
|
889
|
+
_a2 = symbol2;
|
|
915
890
|
|
|
916
891
|
// src/prompt/prepare-call-settings.ts
|
|
917
892
|
function prepareCallSettings({
|
|
@@ -1011,28 +986,28 @@ import { APICallError } from "@ai-sdk/provider";
|
|
|
1011
986
|
import { delay, getErrorMessage, isAbortError } from "@ai-sdk/provider-utils";
|
|
1012
987
|
|
|
1013
988
|
// src/util/retry-error.ts
|
|
1014
|
-
import { AISDKError as
|
|
1015
|
-
var
|
|
1016
|
-
var
|
|
1017
|
-
var
|
|
1018
|
-
var
|
|
1019
|
-
var RetryError = class extends
|
|
989
|
+
import { AISDKError as AISDKError4 } from "@ai-sdk/provider";
|
|
990
|
+
var name3 = "AI_RetryError";
|
|
991
|
+
var marker3 = `vercel.ai.error.${name3}`;
|
|
992
|
+
var symbol3 = Symbol.for(marker3);
|
|
993
|
+
var _a3;
|
|
994
|
+
var RetryError = class extends AISDKError4 {
|
|
1020
995
|
constructor({
|
|
1021
996
|
message,
|
|
1022
997
|
reason,
|
|
1023
998
|
errors
|
|
1024
999
|
}) {
|
|
1025
|
-
super({ name:
|
|
1026
|
-
this[
|
|
1000
|
+
super({ name: name3, message });
|
|
1001
|
+
this[_a3] = true;
|
|
1027
1002
|
this.reason = reason;
|
|
1028
1003
|
this.errors = errors;
|
|
1029
1004
|
this.lastError = errors[errors.length - 1];
|
|
1030
1005
|
}
|
|
1031
1006
|
static isInstance(error) {
|
|
1032
|
-
return
|
|
1007
|
+
return AISDKError4.hasMarker(error, marker3);
|
|
1033
1008
|
}
|
|
1034
1009
|
};
|
|
1035
|
-
|
|
1010
|
+
_a3 = symbol3;
|
|
1036
1011
|
|
|
1037
1012
|
// src/util/retry-with-exponential-backoff.ts
|
|
1038
1013
|
function getRetryDelayInMs({
|