ai 6.0.320 → 6.0.322
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +19 -16
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +21 -16
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js +124 -78
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +113 -65
- package/dist/internal/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/generate-text/generated-file.ts +7 -4
- package/src/prompt/data-content.ts +18 -13
package/dist/internal/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 name6 in all)
|
|
8
|
+
__defProp(target, name6, { get: all[name6], enumerable: true });
|
|
9
9
|
};
|
|
10
10
|
var __copyProps = (to, from, except, desc) => {
|
|
11
11
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
@@ -164,7 +164,7 @@ function detectMediaType({
|
|
|
164
164
|
var import_provider_utils2 = require("@ai-sdk/provider-utils");
|
|
165
165
|
|
|
166
166
|
// src/version.ts
|
|
167
|
-
var VERSION = true ? "6.0.
|
|
167
|
+
var VERSION = true ? "6.0.322" : "0.0.0-test";
|
|
168
168
|
|
|
169
169
|
// src/util/download/download.ts
|
|
170
170
|
var download = async ({
|
|
@@ -172,7 +172,7 @@ var download = async ({
|
|
|
172
172
|
maxBytes,
|
|
173
173
|
abortSignal
|
|
174
174
|
}) => {
|
|
175
|
-
var
|
|
175
|
+
var _a6;
|
|
176
176
|
const urlText = url.toString();
|
|
177
177
|
try {
|
|
178
178
|
const headers = (0, import_provider_utils2.withUserAgentSuffix)(
|
|
@@ -200,7 +200,7 @@ var download = async ({
|
|
|
200
200
|
});
|
|
201
201
|
return {
|
|
202
202
|
data,
|
|
203
|
-
mediaType: (
|
|
203
|
+
mediaType: (_a6 = response.headers.get("content-type")) != null ? _a6 : void 0
|
|
204
204
|
};
|
|
205
205
|
} catch (error) {
|
|
206
206
|
if (import_provider_utils2.DownloadError.isInstance(error)) {
|
|
@@ -254,10 +254,32 @@ function mergeObjects(base, overrides) {
|
|
|
254
254
|
}
|
|
255
255
|
|
|
256
256
|
// src/prompt/data-content.ts
|
|
257
|
-
var
|
|
257
|
+
var import_provider2 = require("@ai-sdk/provider");
|
|
258
258
|
var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
|
259
259
|
var import_v4 = require("zod/v4");
|
|
260
260
|
|
|
261
|
+
// src/prompt/invalid-data-content-error.ts
|
|
262
|
+
var import_provider = require("@ai-sdk/provider");
|
|
263
|
+
var name = "AI_InvalidDataContentError";
|
|
264
|
+
var marker = `vercel.ai.error.${name}`;
|
|
265
|
+
var symbol = Symbol.for(marker);
|
|
266
|
+
var _a;
|
|
267
|
+
var InvalidDataContentError = class extends import_provider.AISDKError {
|
|
268
|
+
constructor({
|
|
269
|
+
content,
|
|
270
|
+
cause,
|
|
271
|
+
message = `Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof content}.`
|
|
272
|
+
}) {
|
|
273
|
+
super({ name, message, cause });
|
|
274
|
+
this[_a] = true;
|
|
275
|
+
this.content = content;
|
|
276
|
+
}
|
|
277
|
+
static isInstance(error) {
|
|
278
|
+
return import_provider.AISDKError.hasMarker(error, marker);
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
_a = symbol;
|
|
282
|
+
|
|
261
283
|
// src/prompt/split-data-url.ts
|
|
262
284
|
function splitDataUrl(dataUrl) {
|
|
263
285
|
try {
|
|
@@ -277,23 +299,26 @@ function splitDataUrl(dataUrl) {
|
|
|
277
299
|
// src/prompt/data-content.ts
|
|
278
300
|
var dataContentSchema = import_v4.z.union([
|
|
279
301
|
import_v4.z.string(),
|
|
280
|
-
import_v4.z.
|
|
281
|
-
import_v4.z.
|
|
302
|
+
import_v4.z.custom(import_provider_utils3.isUint8Array, { message: "Must be a Uint8Array" }),
|
|
303
|
+
import_v4.z.custom(import_provider_utils3.isArrayBuffer, { message: "Must be an ArrayBuffer" }),
|
|
282
304
|
import_v4.z.custom(
|
|
283
305
|
// Buffer might not be available in some environments such as CloudFlare:
|
|
284
306
|
(value) => {
|
|
285
|
-
var
|
|
286
|
-
return (_b = (
|
|
307
|
+
var _a6, _b;
|
|
308
|
+
return (_b = (_a6 = globalThis.Buffer) == null ? void 0 : _a6.isBuffer(value)) != null ? _b : false;
|
|
287
309
|
},
|
|
288
310
|
{ message: "Must be a Buffer" }
|
|
289
311
|
)
|
|
290
312
|
]);
|
|
291
313
|
function convertToLanguageModelV3DataContent(content) {
|
|
292
314
|
let originalUrl;
|
|
293
|
-
if (
|
|
294
|
-
return {
|
|
315
|
+
if ((0, import_provider_utils3.isUint8Array)(content)) {
|
|
316
|
+
return {
|
|
317
|
+
data: convertDataContentToUint8Array(content),
|
|
318
|
+
mediaType: void 0
|
|
319
|
+
};
|
|
295
320
|
}
|
|
296
|
-
if (
|
|
321
|
+
if ((0, import_provider_utils3.isArrayBuffer)(content)) {
|
|
297
322
|
return { data: new Uint8Array(content), mediaType: void 0 };
|
|
298
323
|
}
|
|
299
324
|
if (typeof content === "string") {
|
|
@@ -309,7 +334,7 @@ function convertToLanguageModelV3DataContent(content) {
|
|
|
309
334
|
content.toString()
|
|
310
335
|
);
|
|
311
336
|
if (dataUrlMediaType == null || base64Content == null) {
|
|
312
|
-
throw new
|
|
337
|
+
throw new import_provider2.AISDKError({
|
|
313
338
|
name: "InvalidDataContentError",
|
|
314
339
|
message: `Invalid data URL format in content ${content.toString()}`
|
|
315
340
|
});
|
|
@@ -326,32 +351,53 @@ function convertDataContentToBase64String(content) {
|
|
|
326
351
|
if (typeof content === "string") {
|
|
327
352
|
return content;
|
|
328
353
|
}
|
|
329
|
-
|
|
330
|
-
|
|
354
|
+
return (0, import_provider_utils3.convertUint8ArrayToBase64)(convertDataContentToUint8Array(content));
|
|
355
|
+
}
|
|
356
|
+
function convertDataContentToUint8Array(content) {
|
|
357
|
+
if ((0, import_provider_utils3.isUint8Array)(content)) {
|
|
358
|
+
if (content instanceof Uint8Array) {
|
|
359
|
+
return content;
|
|
360
|
+
}
|
|
361
|
+
const { buffer, byteOffset, byteLength } = content;
|
|
362
|
+
return new Uint8Array(buffer, byteOffset, byteLength);
|
|
331
363
|
}
|
|
332
|
-
|
|
364
|
+
if (typeof content === "string") {
|
|
365
|
+
try {
|
|
366
|
+
return (0, import_provider_utils3.convertBase64ToUint8Array)(content);
|
|
367
|
+
} catch (error) {
|
|
368
|
+
throw new InvalidDataContentError({
|
|
369
|
+
message: "Invalid data content. Content string is not a base64-encoded media.",
|
|
370
|
+
content,
|
|
371
|
+
cause: error
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
if ((0, import_provider_utils3.isArrayBuffer)(content)) {
|
|
376
|
+
return new Uint8Array(content);
|
|
377
|
+
}
|
|
378
|
+
throw new InvalidDataContentError({ content });
|
|
333
379
|
}
|
|
334
380
|
|
|
335
381
|
// src/prompt/invalid-message-role-error.ts
|
|
336
|
-
var
|
|
337
|
-
var
|
|
338
|
-
var
|
|
339
|
-
var
|
|
340
|
-
var
|
|
341
|
-
var InvalidMessageRoleError = class extends
|
|
382
|
+
var import_provider3 = require("@ai-sdk/provider");
|
|
383
|
+
var name2 = "AI_InvalidMessageRoleError";
|
|
384
|
+
var marker2 = `vercel.ai.error.${name2}`;
|
|
385
|
+
var symbol2 = Symbol.for(marker2);
|
|
386
|
+
var _a2;
|
|
387
|
+
var InvalidMessageRoleError = class extends import_provider3.AISDKError {
|
|
342
388
|
constructor({
|
|
343
389
|
role,
|
|
344
390
|
message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
|
|
345
391
|
}) {
|
|
346
|
-
super({ name, message });
|
|
347
|
-
this[
|
|
392
|
+
super({ name: name2, message });
|
|
393
|
+
this[_a2] = true;
|
|
348
394
|
this.role = role;
|
|
349
395
|
}
|
|
350
396
|
static isInstance(error) {
|
|
351
|
-
return
|
|
397
|
+
return import_provider3.AISDKError.hasMarker(error, marker2);
|
|
352
398
|
}
|
|
353
399
|
};
|
|
354
|
-
|
|
400
|
+
_a2 = symbol2;
|
|
355
401
|
|
|
356
402
|
// src/util/as-array.ts
|
|
357
403
|
function asArray(value) {
|
|
@@ -359,27 +405,27 @@ function asArray(value) {
|
|
|
359
405
|
}
|
|
360
406
|
|
|
361
407
|
// src/error/missing-tool-result-error.ts
|
|
362
|
-
var
|
|
363
|
-
var
|
|
364
|
-
var
|
|
365
|
-
var
|
|
366
|
-
var
|
|
367
|
-
var MissingToolResultsError = class extends
|
|
408
|
+
var import_provider4 = require("@ai-sdk/provider");
|
|
409
|
+
var name3 = "AI_MissingToolResultsError";
|
|
410
|
+
var marker3 = `vercel.ai.error.${name3}`;
|
|
411
|
+
var symbol3 = Symbol.for(marker3);
|
|
412
|
+
var _a3;
|
|
413
|
+
var MissingToolResultsError = class extends import_provider4.AISDKError {
|
|
368
414
|
constructor({ toolCallIds }) {
|
|
369
415
|
super({
|
|
370
|
-
name:
|
|
416
|
+
name: name3,
|
|
371
417
|
message: `Tool result${toolCallIds.length > 1 ? "s are" : " is"} missing for tool call${toolCallIds.length > 1 ? "s" : ""} ${toolCallIds.join(
|
|
372
418
|
", "
|
|
373
419
|
)}.`
|
|
374
420
|
});
|
|
375
|
-
this[
|
|
421
|
+
this[_a3] = true;
|
|
376
422
|
this.toolCallIds = toolCallIds;
|
|
377
423
|
}
|
|
378
424
|
static isInstance(error) {
|
|
379
|
-
return
|
|
425
|
+
return import_provider4.AISDKError.hasMarker(error, marker3);
|
|
380
426
|
}
|
|
381
427
|
};
|
|
382
|
-
|
|
428
|
+
_a3 = symbol3;
|
|
383
429
|
|
|
384
430
|
// src/prompt/convert-to-language-model-prompt.ts
|
|
385
431
|
async function convertToLanguageModelPrompt({
|
|
@@ -602,7 +648,7 @@ function convertToLanguageModelMessage({
|
|
|
602
648
|
}
|
|
603
649
|
}
|
|
604
650
|
async function downloadAssets(messages, download2, supportedUrls) {
|
|
605
|
-
var
|
|
651
|
+
var _a6;
|
|
606
652
|
const downloadableFiles = [];
|
|
607
653
|
for (const message of messages) {
|
|
608
654
|
if (message.role === "user" && Array.isArray(message.content)) {
|
|
@@ -610,7 +656,7 @@ async function downloadAssets(messages, download2, supportedUrls) {
|
|
|
610
656
|
if (part.type === "image" || part.type === "file") {
|
|
611
657
|
downloadableFiles.push({
|
|
612
658
|
data: part.type === "image" ? part.image : part.data,
|
|
613
|
-
mediaType: (
|
|
659
|
+
mediaType: (_a6 = part.mediaType) != null ? _a6 : part.type === "image" ? "image/*" : void 0
|
|
614
660
|
});
|
|
615
661
|
}
|
|
616
662
|
}
|
|
@@ -662,7 +708,7 @@ async function downloadAssets(messages, download2, supportedUrls) {
|
|
|
662
708
|
);
|
|
663
709
|
}
|
|
664
710
|
function convertPartToLanguageModelPart(part, downloadedAssets) {
|
|
665
|
-
var
|
|
711
|
+
var _a6;
|
|
666
712
|
if (part.type === "text") {
|
|
667
713
|
return {
|
|
668
714
|
type: "text",
|
|
@@ -699,7 +745,7 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
|
|
|
699
745
|
switch (type) {
|
|
700
746
|
case "image": {
|
|
701
747
|
if (data instanceof Uint8Array || typeof data === "string") {
|
|
702
|
-
mediaType = (
|
|
748
|
+
mediaType = (_a6 = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _a6 : mediaType;
|
|
703
749
|
}
|
|
704
750
|
return {
|
|
705
751
|
type: "file",
|
|
@@ -736,14 +782,14 @@ function mapToolResultOutput({
|
|
|
736
782
|
return {
|
|
737
783
|
type: "content",
|
|
738
784
|
value: output.value.map((item) => {
|
|
739
|
-
var
|
|
785
|
+
var _a6, _b;
|
|
740
786
|
if (item.type === "image-url") {
|
|
741
787
|
const downloadedFile = downloadedAssets[new URL(item.url).toString()];
|
|
742
788
|
if (downloadedFile) {
|
|
743
789
|
return {
|
|
744
790
|
type: "image-data",
|
|
745
791
|
data: convertDataContentToBase64String(downloadedFile.data),
|
|
746
|
-
mediaType: (
|
|
792
|
+
mediaType: (_a6 = downloadedFile.mediaType) != null ? _a6 : "image/*",
|
|
747
793
|
providerOptions: item.providerOptions
|
|
748
794
|
};
|
|
749
795
|
}
|
|
@@ -801,10 +847,10 @@ async function prepareToolsAndToolChoice({
|
|
|
801
847
|
};
|
|
802
848
|
}
|
|
803
849
|
const filteredTools = activeTools != null ? Object.entries(tools).filter(
|
|
804
|
-
([
|
|
850
|
+
([name6]) => activeTools.includes(name6)
|
|
805
851
|
) : Object.entries(tools);
|
|
806
852
|
const languageModelTools = [];
|
|
807
|
-
for (const [
|
|
853
|
+
for (const [name6, tool] of filteredTools) {
|
|
808
854
|
const toolType = tool.type;
|
|
809
855
|
switch (toolType) {
|
|
810
856
|
case void 0:
|
|
@@ -812,7 +858,7 @@ async function prepareToolsAndToolChoice({
|
|
|
812
858
|
case "function":
|
|
813
859
|
languageModelTools.push({
|
|
814
860
|
type: "function",
|
|
815
|
-
name:
|
|
861
|
+
name: name6,
|
|
816
862
|
description: tool.description,
|
|
817
863
|
inputSchema: await (0, import_provider_utils5.asSchema)(tool.inputSchema).jsonSchema,
|
|
818
864
|
...tool.inputExamples != null ? { inputExamples: tool.inputExamples } : {},
|
|
@@ -823,7 +869,7 @@ async function prepareToolsAndToolChoice({
|
|
|
823
869
|
case "provider":
|
|
824
870
|
languageModelTools.push({
|
|
825
871
|
type: "provider",
|
|
826
|
-
name:
|
|
872
|
+
name: name6,
|
|
827
873
|
id: tool.id,
|
|
828
874
|
args: tool.args
|
|
829
875
|
});
|
|
@@ -841,7 +887,7 @@ async function prepareToolsAndToolChoice({
|
|
|
841
887
|
}
|
|
842
888
|
|
|
843
889
|
// src/prompt/standardize-prompt.ts
|
|
844
|
-
var
|
|
890
|
+
var import_provider5 = require("@ai-sdk/provider");
|
|
845
891
|
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
|
846
892
|
var import_v46 = require("zod/v4");
|
|
847
893
|
|
|
@@ -1062,19 +1108,19 @@ async function standardizePrompt({
|
|
|
1062
1108
|
messages
|
|
1063
1109
|
}) {
|
|
1064
1110
|
if (prompt == null && messages == null) {
|
|
1065
|
-
throw new
|
|
1111
|
+
throw new import_provider5.InvalidPromptError({
|
|
1066
1112
|
prompt,
|
|
1067
1113
|
message: "prompt or messages must be defined"
|
|
1068
1114
|
});
|
|
1069
1115
|
}
|
|
1070
1116
|
if (prompt != null && messages != null) {
|
|
1071
|
-
throw new
|
|
1117
|
+
throw new import_provider5.InvalidPromptError({
|
|
1072
1118
|
prompt,
|
|
1073
1119
|
message: "prompt and messages cannot be defined at the same time"
|
|
1074
1120
|
});
|
|
1075
1121
|
}
|
|
1076
1122
|
if (typeof system !== "string" && !asArray(system).every((message) => message.role === "system")) {
|
|
1077
|
-
throw new
|
|
1123
|
+
throw new import_provider5.InvalidPromptError({
|
|
1078
1124
|
prompt,
|
|
1079
1125
|
message: "system must be a string, SystemModelMessage, or array of SystemModelMessage"
|
|
1080
1126
|
});
|
|
@@ -1084,20 +1130,20 @@ async function standardizePrompt({
|
|
|
1084
1130
|
} else if (prompt != null && Array.isArray(prompt)) {
|
|
1085
1131
|
messages = prompt;
|
|
1086
1132
|
} else if (messages == null) {
|
|
1087
|
-
throw new
|
|
1133
|
+
throw new import_provider5.InvalidPromptError({
|
|
1088
1134
|
prompt,
|
|
1089
1135
|
message: "prompt or messages must be defined"
|
|
1090
1136
|
});
|
|
1091
1137
|
}
|
|
1092
1138
|
if (messages.length === 0) {
|
|
1093
|
-
throw new
|
|
1139
|
+
throw new import_provider5.InvalidPromptError({
|
|
1094
1140
|
prompt,
|
|
1095
1141
|
message: "messages must not be empty"
|
|
1096
1142
|
});
|
|
1097
1143
|
}
|
|
1098
1144
|
if (messages.some((message) => message.role === "system")) {
|
|
1099
1145
|
if (allowSystemInMessages === false) {
|
|
1100
|
-
throw new
|
|
1146
|
+
throw new import_provider5.InvalidPromptError({
|
|
1101
1147
|
prompt,
|
|
1102
1148
|
message: "System messages are not allowed in the prompt or messages fields. Use the system option instead."
|
|
1103
1149
|
});
|
|
@@ -1113,7 +1159,7 @@ async function standardizePrompt({
|
|
|
1113
1159
|
schema: import_v46.z.array(modelMessageSchema)
|
|
1114
1160
|
});
|
|
1115
1161
|
if (!validationResult.success) {
|
|
1116
|
-
throw new
|
|
1162
|
+
throw new import_provider5.InvalidPromptError({
|
|
1117
1163
|
prompt,
|
|
1118
1164
|
message: "The messages do not match the ModelMessage[] schema.",
|
|
1119
1165
|
cause: validationResult.error
|
|
@@ -1123,30 +1169,30 @@ async function standardizePrompt({
|
|
|
1123
1169
|
}
|
|
1124
1170
|
|
|
1125
1171
|
// src/error/invalid-argument-error.ts
|
|
1126
|
-
var
|
|
1127
|
-
var
|
|
1128
|
-
var
|
|
1129
|
-
var
|
|
1130
|
-
var
|
|
1131
|
-
var InvalidArgumentError = class extends
|
|
1172
|
+
var import_provider6 = require("@ai-sdk/provider");
|
|
1173
|
+
var name4 = "AI_InvalidArgumentError";
|
|
1174
|
+
var marker4 = `vercel.ai.error.${name4}`;
|
|
1175
|
+
var symbol4 = Symbol.for(marker4);
|
|
1176
|
+
var _a4;
|
|
1177
|
+
var InvalidArgumentError = class extends import_provider6.AISDKError {
|
|
1132
1178
|
constructor({
|
|
1133
1179
|
parameter,
|
|
1134
1180
|
value,
|
|
1135
1181
|
message
|
|
1136
1182
|
}) {
|
|
1137
1183
|
super({
|
|
1138
|
-
name:
|
|
1184
|
+
name: name4,
|
|
1139
1185
|
message: `Invalid argument for parameter ${parameter}: ${message}`
|
|
1140
1186
|
});
|
|
1141
|
-
this[
|
|
1187
|
+
this[_a4] = true;
|
|
1142
1188
|
this.parameter = parameter;
|
|
1143
1189
|
this.value = value;
|
|
1144
1190
|
}
|
|
1145
1191
|
static isInstance(error) {
|
|
1146
|
-
return
|
|
1192
|
+
return import_provider6.AISDKError.hasMarker(error, marker4);
|
|
1147
1193
|
}
|
|
1148
1194
|
};
|
|
1149
|
-
|
|
1195
|
+
_a4 = symbol4;
|
|
1150
1196
|
|
|
1151
1197
|
// src/prompt/prepare-call-settings.ts
|
|
1152
1198
|
function prepareCallSettings({
|
|
@@ -1242,40 +1288,40 @@ function prepareCallSettings({
|
|
|
1242
1288
|
}
|
|
1243
1289
|
|
|
1244
1290
|
// src/util/retry-with-exponential-backoff.ts
|
|
1245
|
-
var
|
|
1291
|
+
var import_provider8 = require("@ai-sdk/provider");
|
|
1246
1292
|
var import_gateway = require("@ai-sdk/gateway");
|
|
1247
1293
|
var import_provider_utils7 = require("@ai-sdk/provider-utils");
|
|
1248
1294
|
|
|
1249
1295
|
// src/util/retry-error.ts
|
|
1250
|
-
var
|
|
1251
|
-
var
|
|
1252
|
-
var
|
|
1253
|
-
var
|
|
1254
|
-
var
|
|
1255
|
-
var RetryError = class extends
|
|
1296
|
+
var import_provider7 = require("@ai-sdk/provider");
|
|
1297
|
+
var name5 = "AI_RetryError";
|
|
1298
|
+
var marker5 = `vercel.ai.error.${name5}`;
|
|
1299
|
+
var symbol5 = Symbol.for(marker5);
|
|
1300
|
+
var _a5;
|
|
1301
|
+
var RetryError = class extends import_provider7.AISDKError {
|
|
1256
1302
|
constructor({
|
|
1257
1303
|
message,
|
|
1258
1304
|
reason,
|
|
1259
1305
|
errors
|
|
1260
1306
|
}) {
|
|
1261
|
-
super({ name:
|
|
1262
|
-
this[
|
|
1307
|
+
super({ name: name5, message });
|
|
1308
|
+
this[_a5] = true;
|
|
1263
1309
|
this.reason = reason;
|
|
1264
1310
|
this.errors = errors;
|
|
1265
1311
|
this.lastError = errors[errors.length - 1];
|
|
1266
1312
|
}
|
|
1267
1313
|
static isInstance(error) {
|
|
1268
|
-
return
|
|
1314
|
+
return import_provider7.AISDKError.hasMarker(error, marker5);
|
|
1269
1315
|
}
|
|
1270
1316
|
};
|
|
1271
|
-
|
|
1317
|
+
_a5 = symbol5;
|
|
1272
1318
|
|
|
1273
1319
|
// src/util/retry-with-exponential-backoff.ts
|
|
1274
1320
|
function getRetryDelayInMs({
|
|
1275
1321
|
error,
|
|
1276
1322
|
exponentialBackoffDelay
|
|
1277
1323
|
}) {
|
|
1278
|
-
const headers =
|
|
1324
|
+
const headers = import_provider8.APICallError.isInstance(error) ? error.responseHeaders : import_provider8.APICallError.isInstance(error.cause) ? error.cause.responseHeaders : void 0;
|
|
1279
1325
|
if (!headers)
|
|
1280
1326
|
return exponentialBackoffDelay;
|
|
1281
1327
|
let ms;
|
|
@@ -1311,7 +1357,7 @@ var retryWithExponentialBackoffRespectingRetryHeaders = ({
|
|
|
1311
1357
|
initialDelayInMs,
|
|
1312
1358
|
backoffFactor,
|
|
1313
1359
|
abortSignal,
|
|
1314
|
-
shouldRetry: async (error) => error instanceof Error && (
|
|
1360
|
+
shouldRetry: async (error) => error instanceof Error && (import_provider8.APICallError.isInstance(error) && error.isRetryable === true || import_gateway.GatewayError.isInstance(error) && error.isRetryable === true) || additionalRetryableError != null && await additionalRetryableError(error),
|
|
1315
1361
|
getDelayInMs: ({ error, exponentialBackoffDelay }) => getRetryDelayInMs({
|
|
1316
1362
|
error,
|
|
1317
1363
|
exponentialBackoffDelay
|