@mastra/memory 1.31.0 → 1.32.0-alpha.1
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/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/docs/references/docs-agents-human-in-the-loop.md +38 -1
- package/dist/docs/references/docs-memory-memory-processors.md +7 -1
- package/dist/docs/references/docs-memory-message-history.md +3 -1
- package/dist/docs/references/docs-memory-observational-memory.md +3 -1
- package/dist/docs/references/reference-memory-memory-class.md +2 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/processors/index.cjs +3 -1
- package/dist/processors/index.js +2 -2
- package/dist/processors/observational-memory/constants.d.ts +11 -0
- package/dist/processors/observational-memory/constants.d.ts.map +1 -1
- package/dist/processors/observational-memory/index.d.ts +1 -1
- package/dist/processors/observational-memory/index.d.ts.map +1 -1
- package/dist/processors/observational-memory/observation-strategies/async-buffer.d.ts.map +1 -1
- package/dist/processors/observational-memory/observation-strategies/sync.d.ts.map +1 -1
- package/dist/processors/observational-memory/observation-turn/load-memory-context.d.ts.map +1 -1
- package/dist/processors/observational-memory/observer-agent.d.ts +16 -11
- package/dist/processors/observational-memory/observer-agent.d.ts.map +1 -1
- package/dist/processors/observational-memory/observer-runner.d.ts.map +1 -1
- package/dist/processors/observational-memory/processor.d.ts.map +1 -1
- package/dist/{src-zTE4189S.js → src-B0ISVOJX.js} +1353 -511
- package/dist/src-B0ISVOJX.js.map +1 -0
- package/dist/{src-DcZ7iuK6.cjs → src-C7u5SaET.cjs} +1364 -510
- package/dist/src-C7u5SaET.cjs.map +1 -0
- package/dist/system-reminders.d.ts +3 -0
- package/dist/system-reminders.d.ts.map +1 -0
- package/package.json +7 -7
- package/dist/src-DcZ7iuK6.cjs.map +0 -1
- package/dist/src-zTE4189S.js.map +0 -1
|
@@ -60,9 +60,9 @@ let _mastra_core_error = require("@mastra/core/error");
|
|
|
60
60
|
let diff = require("diff");
|
|
61
61
|
let util = require("util");
|
|
62
62
|
//#region ../_vendored/ai_v4/dist/dist-Cm5DZgxA.js
|
|
63
|
-
var marker$
|
|
64
|
-
var symbol$
|
|
65
|
-
var _a$
|
|
63
|
+
var marker$7 = "vercel.ai.error";
|
|
64
|
+
var symbol$7 = Symbol.for(marker$7);
|
|
65
|
+
var _a$7;
|
|
66
66
|
var _AISDKError = class _AISDKError extends Error {
|
|
67
67
|
/**
|
|
68
68
|
* Creates an AI SDK Error.
|
|
@@ -74,7 +74,7 @@ var _AISDKError = class _AISDKError extends Error {
|
|
|
74
74
|
*/
|
|
75
75
|
constructor({ name: name14, message, cause }) {
|
|
76
76
|
super(message);
|
|
77
|
-
this[_a$
|
|
77
|
+
this[_a$7] = true;
|
|
78
78
|
this.name = name14;
|
|
79
79
|
this.cause = cause;
|
|
80
80
|
}
|
|
@@ -84,23 +84,23 @@ var _AISDKError = class _AISDKError extends Error {
|
|
|
84
84
|
* @returns {boolean} True if the error is an AI SDK Error, false otherwise.
|
|
85
85
|
*/
|
|
86
86
|
static isInstance(error) {
|
|
87
|
-
return _AISDKError.hasMarker(error, marker$
|
|
87
|
+
return _AISDKError.hasMarker(error, marker$7);
|
|
88
88
|
}
|
|
89
89
|
static hasMarker(error, marker15) {
|
|
90
90
|
const markerSymbol = Symbol.for(marker15);
|
|
91
91
|
return error != null && typeof error === "object" && markerSymbol in error && typeof error[markerSymbol] === "boolean" && error[markerSymbol] === true;
|
|
92
92
|
}
|
|
93
93
|
};
|
|
94
|
-
_a$
|
|
95
|
-
var AISDKError$
|
|
96
|
-
var name$
|
|
97
|
-
var marker2$6 = `vercel.ai.error.${name$
|
|
94
|
+
_a$7 = symbol$7;
|
|
95
|
+
var AISDKError$3 = _AISDKError;
|
|
96
|
+
var name$7 = "AI_APICallError";
|
|
97
|
+
var marker2$6 = `vercel.ai.error.${name$7}`;
|
|
98
98
|
var symbol2$6 = Symbol.for(marker2$6);
|
|
99
99
|
var _a2$6;
|
|
100
|
-
var APICallError$
|
|
100
|
+
var APICallError$3 = class extends AISDKError$3 {
|
|
101
101
|
constructor({ message, url, requestBodyValues, statusCode, responseHeaders, responseBody, cause, isRetryable = statusCode != null && (statusCode === 408 || statusCode === 409 || statusCode === 429 || statusCode >= 500), data }) {
|
|
102
102
|
super({
|
|
103
|
-
name: name$
|
|
103
|
+
name: name$7,
|
|
104
104
|
message,
|
|
105
105
|
cause
|
|
106
106
|
});
|
|
@@ -114,11 +114,11 @@ var APICallError$2 = class extends AISDKError$2 {
|
|
|
114
114
|
this.data = data;
|
|
115
115
|
}
|
|
116
116
|
static isInstance(error) {
|
|
117
|
-
return AISDKError$
|
|
117
|
+
return AISDKError$3.hasMarker(error, marker2$6);
|
|
118
118
|
}
|
|
119
119
|
};
|
|
120
120
|
_a2$6 = symbol2$6;
|
|
121
|
-
function getErrorMessage$
|
|
121
|
+
function getErrorMessage$5(error) {
|
|
122
122
|
if (error == null) return "unknown error";
|
|
123
123
|
if (typeof error === "string") return error;
|
|
124
124
|
if (error instanceof Error) return error.message;
|
|
@@ -128,7 +128,7 @@ var name3$6 = "AI_InvalidArgumentError";
|
|
|
128
128
|
var marker4$6 = `vercel.ai.error.${name3$6}`;
|
|
129
129
|
var symbol4$6 = Symbol.for(marker4$6);
|
|
130
130
|
var _a4$6;
|
|
131
|
-
var InvalidArgumentError$
|
|
131
|
+
var InvalidArgumentError$6 = class extends AISDKError$3 {
|
|
132
132
|
constructor({ message, cause, argument }) {
|
|
133
133
|
super({
|
|
134
134
|
name: name3$6,
|
|
@@ -139,7 +139,7 @@ var InvalidArgumentError$5 = class extends AISDKError$2 {
|
|
|
139
139
|
this.argument = argument;
|
|
140
140
|
}
|
|
141
141
|
static isInstance(error) {
|
|
142
|
-
return AISDKError$
|
|
142
|
+
return AISDKError$3.hasMarker(error, marker4$6);
|
|
143
143
|
}
|
|
144
144
|
};
|
|
145
145
|
_a4$6 = symbol4$6;
|
|
@@ -147,39 +147,39 @@ var name6$6 = "AI_JSONParseError";
|
|
|
147
147
|
var marker7$6 = `vercel.ai.error.${name6$6}`;
|
|
148
148
|
var symbol7$6 = Symbol.for(marker7$6);
|
|
149
149
|
var _a7$6;
|
|
150
|
-
var JSONParseError$
|
|
150
|
+
var JSONParseError$3 = class extends AISDKError$3 {
|
|
151
151
|
constructor({ text, cause }) {
|
|
152
152
|
super({
|
|
153
153
|
name: name6$6,
|
|
154
154
|
message: `JSON parsing failed: Text: ${text}.
|
|
155
|
-
Error message: ${getErrorMessage$
|
|
155
|
+
Error message: ${getErrorMessage$5(cause)}`,
|
|
156
156
|
cause
|
|
157
157
|
});
|
|
158
158
|
this[_a7$6] = true;
|
|
159
159
|
this.text = text;
|
|
160
160
|
}
|
|
161
161
|
static isInstance(error) {
|
|
162
|
-
return AISDKError$
|
|
162
|
+
return AISDKError$3.hasMarker(error, marker7$6);
|
|
163
163
|
}
|
|
164
164
|
};
|
|
165
165
|
_a7$6 = symbol7$6;
|
|
166
|
-
var name12$
|
|
167
|
-
var marker13$
|
|
168
|
-
var symbol13$
|
|
169
|
-
var _a13$
|
|
170
|
-
var _TypeValidationError = class _TypeValidationError extends AISDKError$
|
|
166
|
+
var name12$6 = "AI_TypeValidationError";
|
|
167
|
+
var marker13$6 = `vercel.ai.error.${name12$6}`;
|
|
168
|
+
var symbol13$6 = Symbol.for(marker13$6);
|
|
169
|
+
var _a13$6;
|
|
170
|
+
var _TypeValidationError = class _TypeValidationError extends AISDKError$3 {
|
|
171
171
|
constructor({ value, cause }) {
|
|
172
172
|
super({
|
|
173
|
-
name: name12$
|
|
173
|
+
name: name12$6,
|
|
174
174
|
message: `Type validation failed: Value: ${JSON.stringify(value)}.
|
|
175
|
-
Error message: ${getErrorMessage$
|
|
175
|
+
Error message: ${getErrorMessage$5(cause)}`,
|
|
176
176
|
cause
|
|
177
177
|
});
|
|
178
|
-
this[_a13$
|
|
178
|
+
this[_a13$6] = true;
|
|
179
179
|
this.value = value;
|
|
180
180
|
}
|
|
181
181
|
static isInstance(error) {
|
|
182
|
-
return AISDKError$
|
|
182
|
+
return AISDKError$3.hasMarker(error, marker13$6);
|
|
183
183
|
}
|
|
184
184
|
/**
|
|
185
185
|
* Wraps an error into a TypeValidationError.
|
|
@@ -198,8 +198,8 @@ Error message: ${getErrorMessage$4(cause)}`,
|
|
|
198
198
|
});
|
|
199
199
|
}
|
|
200
200
|
};
|
|
201
|
-
_a13$
|
|
202
|
-
var TypeValidationError$
|
|
201
|
+
_a13$6 = symbol13$6;
|
|
202
|
+
var TypeValidationError$3 = _TypeValidationError;
|
|
203
203
|
//#endregion
|
|
204
204
|
//#region ../_vendored/ai_v4/dist/index.js
|
|
205
205
|
var __create = Object.create;
|
|
@@ -339,14 +339,14 @@ async function delay$2(delayInMs) {
|
|
|
339
339
|
var createIdGenerator$2 = ({ prefix, size: defaultSize = 16, alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", separator = "-" } = {}) => {
|
|
340
340
|
const generator = customAlphabet(alphabet, defaultSize);
|
|
341
341
|
if (prefix == null) return generator;
|
|
342
|
-
if (alphabet.includes(separator)) throw new InvalidArgumentError$
|
|
342
|
+
if (alphabet.includes(separator)) throw new InvalidArgumentError$6({
|
|
343
343
|
argument: "separator",
|
|
344
344
|
message: `The separator "${separator}" must not be part of the alphabet "${alphabet}".`
|
|
345
345
|
});
|
|
346
346
|
return (size) => `${prefix}${separator}${generator(size)}`;
|
|
347
347
|
};
|
|
348
348
|
createIdGenerator$2();
|
|
349
|
-
function getErrorMessage$
|
|
349
|
+
function getErrorMessage$4(error) {
|
|
350
350
|
if (error == null) return "unknown error";
|
|
351
351
|
if (typeof error === "string") return error;
|
|
352
352
|
if (error instanceof Error) return error.message;
|
|
@@ -391,7 +391,7 @@ function safeValidateTypes$2({ value, schema }) {
|
|
|
391
391
|
if (result.success) return result;
|
|
392
392
|
return {
|
|
393
393
|
success: false,
|
|
394
|
-
error: TypeValidationError$
|
|
394
|
+
error: TypeValidationError$3.wrap({
|
|
395
395
|
value,
|
|
396
396
|
cause: result.error
|
|
397
397
|
})
|
|
@@ -399,7 +399,7 @@ function safeValidateTypes$2({ value, schema }) {
|
|
|
399
399
|
} catch (error) {
|
|
400
400
|
return {
|
|
401
401
|
success: false,
|
|
402
|
-
error: TypeValidationError$
|
|
402
|
+
error: TypeValidationError$3.wrap({
|
|
403
403
|
value,
|
|
404
404
|
cause: error
|
|
405
405
|
})
|
|
@@ -425,7 +425,7 @@ function safeParseJSON$2({ text, schema }) {
|
|
|
425
425
|
} catch (error) {
|
|
426
426
|
return {
|
|
427
427
|
success: false,
|
|
428
|
-
error: JSONParseError$
|
|
428
|
+
error: JSONParseError$3.isInstance(error) ? error : new JSONParseError$3({
|
|
429
429
|
text,
|
|
430
430
|
cause: error
|
|
431
431
|
})
|
|
@@ -2817,7 +2817,7 @@ function prepareResponseHeaders(headers, { contentType, dataStreamVersion }) {
|
|
|
2817
2817
|
if (dataStreamVersion !== void 0) responseHeaders.set("X-Vercel-AI-Data-Stream", dataStreamVersion);
|
|
2818
2818
|
return responseHeaders;
|
|
2819
2819
|
}
|
|
2820
|
-
var UnsupportedModelVersionError$2 = class extends AISDKError$
|
|
2820
|
+
var UnsupportedModelVersionError$2 = class extends AISDKError$3 {
|
|
2821
2821
|
constructor() {
|
|
2822
2822
|
super({
|
|
2823
2823
|
name: "AI_UnsupportedModelVersionError",
|
|
@@ -2826,10 +2826,10 @@ var UnsupportedModelVersionError$2 = class extends AISDKError$2 {
|
|
|
2826
2826
|
}
|
|
2827
2827
|
};
|
|
2828
2828
|
var name$5 = "AI_InvalidArgumentError";
|
|
2829
|
-
var marker$
|
|
2830
|
-
var symbol$5 = Symbol.for(marker$
|
|
2829
|
+
var marker$6 = `vercel.ai.error.${name$5}`;
|
|
2830
|
+
var symbol$5 = Symbol.for(marker$6);
|
|
2831
2831
|
var _a$5;
|
|
2832
|
-
var InvalidArgumentError$4 = class extends AISDKError$
|
|
2832
|
+
var InvalidArgumentError$4 = class extends AISDKError$3 {
|
|
2833
2833
|
constructor({ parameter, value, message }) {
|
|
2834
2834
|
super({
|
|
2835
2835
|
name: name$5,
|
|
@@ -2840,7 +2840,7 @@ var InvalidArgumentError$4 = class extends AISDKError$2 {
|
|
|
2840
2840
|
this.value = value;
|
|
2841
2841
|
}
|
|
2842
2842
|
static isInstance(error) {
|
|
2843
|
-
return AISDKError$
|
|
2843
|
+
return AISDKError$3.hasMarker(error, marker$6);
|
|
2844
2844
|
}
|
|
2845
2845
|
};
|
|
2846
2846
|
_a$5 = symbol$5;
|
|
@@ -2848,7 +2848,7 @@ var name2$5 = "AI_RetryError";
|
|
|
2848
2848
|
var marker2$5 = `vercel.ai.error.${name2$5}`;
|
|
2849
2849
|
var symbol2$5 = Symbol.for(marker2$5);
|
|
2850
2850
|
var _a2$5;
|
|
2851
|
-
var RetryError$2 = class extends AISDKError$
|
|
2851
|
+
var RetryError$2 = class extends AISDKError$3 {
|
|
2852
2852
|
constructor({ message, reason, errors }) {
|
|
2853
2853
|
super({
|
|
2854
2854
|
name: name2$5,
|
|
@@ -2860,7 +2860,7 @@ var RetryError$2 = class extends AISDKError$2 {
|
|
|
2860
2860
|
this.lastError = errors[errors.length - 1];
|
|
2861
2861
|
}
|
|
2862
2862
|
static isInstance(error) {
|
|
2863
|
-
return AISDKError$
|
|
2863
|
+
return AISDKError$3.hasMarker(error, marker2$5);
|
|
2864
2864
|
}
|
|
2865
2865
|
};
|
|
2866
2866
|
_a2$5 = symbol2$5;
|
|
@@ -2875,7 +2875,7 @@ async function _retryWithExponentialBackoff$1(f, { maxRetries, delayInMs, backof
|
|
|
2875
2875
|
} catch (error) {
|
|
2876
2876
|
if (isAbortError$4(error)) throw error;
|
|
2877
2877
|
if (maxRetries === 0) throw error;
|
|
2878
|
-
const errorMessage = getErrorMessage$
|
|
2878
|
+
const errorMessage = getErrorMessage$4(error);
|
|
2879
2879
|
const newErrors = [...errors, error];
|
|
2880
2880
|
const tryNumber = newErrors.length;
|
|
2881
2881
|
if (tryNumber > maxRetries) throw new RetryError$2({
|
|
@@ -2883,7 +2883,7 @@ async function _retryWithExponentialBackoff$1(f, { maxRetries, delayInMs, backof
|
|
|
2883
2883
|
reason: "maxRetriesExceeded",
|
|
2884
2884
|
errors: newErrors
|
|
2885
2885
|
});
|
|
2886
|
-
if (error instanceof Error && APICallError$
|
|
2886
|
+
if (error instanceof Error && APICallError$3.isInstance(error) && error.isRetryable === true && tryNumber <= maxRetries) {
|
|
2887
2887
|
await delay$2(delayInMs);
|
|
2888
2888
|
return _retryWithExponentialBackoff$1(f, {
|
|
2889
2889
|
maxRetries,
|
|
@@ -3210,7 +3210,7 @@ var name4$5 = "AI_NoObjectGeneratedError";
|
|
|
3210
3210
|
var marker4$5 = `vercel.ai.error.${name4$5}`;
|
|
3211
3211
|
var symbol4$5 = Symbol.for(marker4$5);
|
|
3212
3212
|
var _a4$5;
|
|
3213
|
-
var NoObjectGeneratedError$2 = class extends AISDKError$
|
|
3213
|
+
var NoObjectGeneratedError$2 = class extends AISDKError$3 {
|
|
3214
3214
|
constructor({ message = "No object generated.", cause, text: text2, response, usage, finishReason }) {
|
|
3215
3215
|
super({
|
|
3216
3216
|
name: name4$5,
|
|
@@ -3224,7 +3224,7 @@ var NoObjectGeneratedError$2 = class extends AISDKError$2 {
|
|
|
3224
3224
|
this.finishReason = finishReason;
|
|
3225
3225
|
}
|
|
3226
3226
|
static isInstance(error) {
|
|
3227
|
-
return AISDKError$
|
|
3227
|
+
return AISDKError$3.hasMarker(error, marker4$5);
|
|
3228
3228
|
}
|
|
3229
3229
|
};
|
|
3230
3230
|
_a4$5 = symbol4$5;
|
|
@@ -3734,12 +3734,12 @@ function trimStartOfStream() {
|
|
|
3734
3734
|
};
|
|
3735
3735
|
}
|
|
3736
3736
|
//#endregion
|
|
3737
|
-
//#region ../_vendored/ai_v5/dist/dist-
|
|
3738
|
-
var marker$
|
|
3739
|
-
var symbol$
|
|
3740
|
-
var _a$
|
|
3741
|
-
var _b$
|
|
3742
|
-
var AISDKError$1 = class _AISDKError extends (_b$
|
|
3737
|
+
//#region ../_vendored/ai_v5/dist/dist-DeQB2Mal.js
|
|
3738
|
+
var marker$2$4 = "vercel.ai.error";
|
|
3739
|
+
var symbol$2$4 = Symbol.for(marker$2$4);
|
|
3740
|
+
var _a$2$4;
|
|
3741
|
+
var _b$2$4;
|
|
3742
|
+
var AISDKError$1$1 = class _AISDKError extends (_b$2$4 = Error, _a$2$4 = symbol$2$4, _b$2$4) {
|
|
3743
3743
|
/**
|
|
3744
3744
|
* Creates an AI SDK Error.
|
|
3745
3745
|
*
|
|
@@ -3750,7 +3750,7 @@ var AISDKError$1 = class _AISDKError extends (_b$1$4 = Error, _a$1$3 = symbol$1$
|
|
|
3750
3750
|
*/
|
|
3751
3751
|
constructor({ name: name14, message, cause }) {
|
|
3752
3752
|
super(message);
|
|
3753
|
-
this[_a$
|
|
3753
|
+
this[_a$2$4] = true;
|
|
3754
3754
|
this.name = name14;
|
|
3755
3755
|
this.cause = cause;
|
|
3756
3756
|
}
|
|
@@ -3760,26 +3760,26 @@ var AISDKError$1 = class _AISDKError extends (_b$1$4 = Error, _a$1$3 = symbol$1$
|
|
|
3760
3760
|
* @returns {boolean} True if the error is an AI SDK Error, false otherwise.
|
|
3761
3761
|
*/
|
|
3762
3762
|
static isInstance(error) {
|
|
3763
|
-
return _AISDKError.hasMarker(error, marker$
|
|
3763
|
+
return _AISDKError.hasMarker(error, marker$2$4);
|
|
3764
3764
|
}
|
|
3765
3765
|
static hasMarker(error, marker15) {
|
|
3766
3766
|
const markerSymbol = Symbol.for(marker15);
|
|
3767
3767
|
return error != null && typeof error === "object" && markerSymbol in error && typeof error[markerSymbol] === "boolean" && error[markerSymbol] === true;
|
|
3768
3768
|
}
|
|
3769
3769
|
};
|
|
3770
|
-
var name$
|
|
3771
|
-
var marker2$
|
|
3772
|
-
var symbol2$
|
|
3773
|
-
var _a2$
|
|
3774
|
-
var _b2$
|
|
3775
|
-
var APICallError$1 = class extends (_b2$
|
|
3770
|
+
var name$2$4 = "AI_APICallError";
|
|
3771
|
+
var marker2$1$3 = `vercel.ai.error.${name$2$4}`;
|
|
3772
|
+
var symbol2$1$3 = Symbol.for(marker2$1$3);
|
|
3773
|
+
var _a2$1$3;
|
|
3774
|
+
var _b2$1$4;
|
|
3775
|
+
var APICallError$1$1 = class extends (_b2$1$4 = AISDKError$1$1, _a2$1$3 = symbol2$1$3, _b2$1$4) {
|
|
3776
3776
|
constructor({ message, url, requestBodyValues, statusCode, responseHeaders, responseBody, cause, isRetryable = statusCode != null && (statusCode === 408 || statusCode === 409 || statusCode === 429 || statusCode >= 500), data }) {
|
|
3777
3777
|
super({
|
|
3778
|
-
name: name$
|
|
3778
|
+
name: name$2$4,
|
|
3779
3779
|
message,
|
|
3780
3780
|
cause
|
|
3781
3781
|
});
|
|
3782
|
-
this[_a2$
|
|
3782
|
+
this[_a2$1$3] = true;
|
|
3783
3783
|
this.url = url;
|
|
3784
3784
|
this.requestBodyValues = requestBodyValues;
|
|
3785
3785
|
this.statusCode = statusCode;
|
|
@@ -3789,217 +3789,217 @@ var APICallError$1 = class extends (_b2$3 = AISDKError$1, _a2$4 = symbol2$4, _b2
|
|
|
3789
3789
|
this.data = data;
|
|
3790
3790
|
}
|
|
3791
3791
|
static isInstance(error) {
|
|
3792
|
-
return AISDKError$1.hasMarker(error, marker2$
|
|
3792
|
+
return AISDKError$1$1.hasMarker(error, marker2$1$3);
|
|
3793
3793
|
}
|
|
3794
3794
|
};
|
|
3795
|
-
var name2$
|
|
3796
|
-
var marker3$
|
|
3797
|
-
var symbol3$
|
|
3798
|
-
var _a3$
|
|
3799
|
-
var _b3$
|
|
3800
|
-
var EmptyResponseBodyError$1 = class extends (_b3$
|
|
3795
|
+
var name2$1$3 = "AI_EmptyResponseBodyError";
|
|
3796
|
+
var marker3$1$3 = `vercel.ai.error.${name2$1$3}`;
|
|
3797
|
+
var symbol3$1$3 = Symbol.for(marker3$1$3);
|
|
3798
|
+
var _a3$1$3;
|
|
3799
|
+
var _b3$1$4;
|
|
3800
|
+
var EmptyResponseBodyError$1$1 = class extends (_b3$1$4 = AISDKError$1$1, _a3$1$3 = symbol3$1$3, _b3$1$4) {
|
|
3801
3801
|
constructor({ message = "Empty response body" } = {}) {
|
|
3802
3802
|
super({
|
|
3803
|
-
name: name2$
|
|
3803
|
+
name: name2$1$3,
|
|
3804
3804
|
message
|
|
3805
3805
|
});
|
|
3806
|
-
this[_a3$
|
|
3806
|
+
this[_a3$1$3] = true;
|
|
3807
3807
|
}
|
|
3808
3808
|
static isInstance(error) {
|
|
3809
|
-
return AISDKError$1.hasMarker(error, marker3$
|
|
3809
|
+
return AISDKError$1$1.hasMarker(error, marker3$1$3);
|
|
3810
3810
|
}
|
|
3811
3811
|
};
|
|
3812
|
-
function getErrorMessage$
|
|
3812
|
+
function getErrorMessage$2$1(error) {
|
|
3813
3813
|
if (error == null) return "unknown error";
|
|
3814
3814
|
if (typeof error === "string") return error;
|
|
3815
3815
|
if (error instanceof Error) return error.message;
|
|
3816
3816
|
return JSON.stringify(error);
|
|
3817
3817
|
}
|
|
3818
|
-
var name3$
|
|
3819
|
-
var marker4$
|
|
3820
|
-
var symbol4$
|
|
3821
|
-
var _a4$
|
|
3822
|
-
var _b4$
|
|
3823
|
-
var InvalidArgumentError$
|
|
3818
|
+
var name3$1$3 = "AI_InvalidArgumentError";
|
|
3819
|
+
var marker4$1$3 = `vercel.ai.error.${name3$1$3}`;
|
|
3820
|
+
var symbol4$1$3 = Symbol.for(marker4$1$3);
|
|
3821
|
+
var _a4$1$3;
|
|
3822
|
+
var _b4$1$4;
|
|
3823
|
+
var InvalidArgumentError$1$4 = class extends (_b4$1$4 = AISDKError$1$1, _a4$1$3 = symbol4$1$3, _b4$1$4) {
|
|
3824
3824
|
constructor({ message, cause, argument }) {
|
|
3825
3825
|
super({
|
|
3826
|
-
name: name3$
|
|
3826
|
+
name: name3$1$3,
|
|
3827
3827
|
message,
|
|
3828
3828
|
cause
|
|
3829
3829
|
});
|
|
3830
|
-
this[_a4$
|
|
3830
|
+
this[_a4$1$3] = true;
|
|
3831
3831
|
this.argument = argument;
|
|
3832
3832
|
}
|
|
3833
3833
|
static isInstance(error) {
|
|
3834
|
-
return AISDKError$1.hasMarker(error, marker4$
|
|
3834
|
+
return AISDKError$1$1.hasMarker(error, marker4$1$3);
|
|
3835
3835
|
}
|
|
3836
3836
|
};
|
|
3837
|
-
var name4$
|
|
3838
|
-
var marker5$
|
|
3839
|
-
var symbol5$
|
|
3840
|
-
var _a5$
|
|
3841
|
-
var _b5$
|
|
3842
|
-
(class extends (_b5$
|
|
3837
|
+
var name4$1$3 = "AI_InvalidPromptError";
|
|
3838
|
+
var marker5$1$3 = `vercel.ai.error.${name4$1$3}`;
|
|
3839
|
+
var symbol5$1$3 = Symbol.for(marker5$1$3);
|
|
3840
|
+
var _a5$1$3;
|
|
3841
|
+
var _b5$1$4;
|
|
3842
|
+
(class extends (_b5$1$4 = AISDKError$1$1, _a5$1$3 = symbol5$1$3, _b5$1$4) {
|
|
3843
3843
|
constructor({ prompt, message, cause }) {
|
|
3844
3844
|
super({
|
|
3845
|
-
name: name4$
|
|
3845
|
+
name: name4$1$3,
|
|
3846
3846
|
message: `Invalid prompt: ${message}`,
|
|
3847
3847
|
cause
|
|
3848
3848
|
});
|
|
3849
|
-
this[_a5$
|
|
3849
|
+
this[_a5$1$3] = true;
|
|
3850
3850
|
this.prompt = prompt;
|
|
3851
3851
|
}
|
|
3852
3852
|
static isInstance(error) {
|
|
3853
|
-
return AISDKError$1.hasMarker(error, marker5$
|
|
3853
|
+
return AISDKError$1$1.hasMarker(error, marker5$1$3);
|
|
3854
3854
|
}
|
|
3855
3855
|
});
|
|
3856
|
-
var name5$
|
|
3857
|
-
var marker6$
|
|
3858
|
-
var symbol6$
|
|
3859
|
-
var _a6$
|
|
3860
|
-
var _b6$
|
|
3861
|
-
(class extends (_b6$
|
|
3856
|
+
var name5$1$3 = "AI_InvalidResponseDataError";
|
|
3857
|
+
var marker6$1$3 = `vercel.ai.error.${name5$1$3}`;
|
|
3858
|
+
var symbol6$1$3 = Symbol.for(marker6$1$3);
|
|
3859
|
+
var _a6$1$3;
|
|
3860
|
+
var _b6$1$4;
|
|
3861
|
+
(class extends (_b6$1$4 = AISDKError$1$1, _a6$1$3 = symbol6$1$3, _b6$1$4) {
|
|
3862
3862
|
constructor({ data, message = `Invalid response data: ${JSON.stringify(data)}.` }) {
|
|
3863
3863
|
super({
|
|
3864
|
-
name: name5$
|
|
3864
|
+
name: name5$1$3,
|
|
3865
3865
|
message
|
|
3866
3866
|
});
|
|
3867
|
-
this[_a6$
|
|
3867
|
+
this[_a6$1$3] = true;
|
|
3868
3868
|
this.data = data;
|
|
3869
3869
|
}
|
|
3870
3870
|
static isInstance(error) {
|
|
3871
|
-
return AISDKError$1.hasMarker(error, marker6$
|
|
3871
|
+
return AISDKError$1$1.hasMarker(error, marker6$1$3);
|
|
3872
3872
|
}
|
|
3873
3873
|
});
|
|
3874
|
-
var name6$
|
|
3875
|
-
var marker7$
|
|
3876
|
-
var symbol7$
|
|
3877
|
-
var _a7$
|
|
3878
|
-
var _b7$
|
|
3879
|
-
var JSONParseError$1 = class extends (_b7$
|
|
3874
|
+
var name6$1$3 = "AI_JSONParseError";
|
|
3875
|
+
var marker7$1$3 = `vercel.ai.error.${name6$1$3}`;
|
|
3876
|
+
var symbol7$1$3 = Symbol.for(marker7$1$3);
|
|
3877
|
+
var _a7$1$3;
|
|
3878
|
+
var _b7$1$4;
|
|
3879
|
+
var JSONParseError$1$1 = class extends (_b7$1$4 = AISDKError$1$1, _a7$1$3 = symbol7$1$3, _b7$1$4) {
|
|
3880
3880
|
constructor({ text, cause }) {
|
|
3881
3881
|
super({
|
|
3882
|
-
name: name6$
|
|
3882
|
+
name: name6$1$3,
|
|
3883
3883
|
message: `JSON parsing failed: Text: ${text}.
|
|
3884
|
-
Error message: ${getErrorMessage$
|
|
3884
|
+
Error message: ${getErrorMessage$2$1(cause)}`,
|
|
3885
3885
|
cause
|
|
3886
3886
|
});
|
|
3887
|
-
this[_a7$
|
|
3887
|
+
this[_a7$1$3] = true;
|
|
3888
3888
|
this.text = text;
|
|
3889
3889
|
}
|
|
3890
3890
|
static isInstance(error) {
|
|
3891
|
-
return AISDKError$1.hasMarker(error, marker7$
|
|
3891
|
+
return AISDKError$1$1.hasMarker(error, marker7$1$3);
|
|
3892
3892
|
}
|
|
3893
3893
|
};
|
|
3894
|
-
var name7$
|
|
3895
|
-
var marker8$
|
|
3896
|
-
var symbol8$
|
|
3897
|
-
var _a8$
|
|
3898
|
-
var _b8$
|
|
3899
|
-
(class extends (_b8$
|
|
3894
|
+
var name7$1$3 = "AI_LoadAPIKeyError";
|
|
3895
|
+
var marker8$1$3 = `vercel.ai.error.${name7$1$3}`;
|
|
3896
|
+
var symbol8$1$3 = Symbol.for(marker8$1$3);
|
|
3897
|
+
var _a8$1$3;
|
|
3898
|
+
var _b8$1$4;
|
|
3899
|
+
(class extends (_b8$1$4 = AISDKError$1$1, _a8$1$3 = symbol8$1$3, _b8$1$4) {
|
|
3900
3900
|
constructor({ message }) {
|
|
3901
3901
|
super({
|
|
3902
|
-
name: name7$
|
|
3902
|
+
name: name7$1$3,
|
|
3903
3903
|
message
|
|
3904
3904
|
});
|
|
3905
|
-
this[_a8$
|
|
3905
|
+
this[_a8$1$3] = true;
|
|
3906
3906
|
}
|
|
3907
3907
|
static isInstance(error) {
|
|
3908
|
-
return AISDKError$1.hasMarker(error, marker8$
|
|
3908
|
+
return AISDKError$1$1.hasMarker(error, marker8$1$3);
|
|
3909
3909
|
}
|
|
3910
3910
|
});
|
|
3911
|
-
var name8$
|
|
3912
|
-
var marker9$
|
|
3913
|
-
var symbol9$
|
|
3914
|
-
var _a9$
|
|
3915
|
-
var _b9$
|
|
3916
|
-
(class extends (_b9$
|
|
3911
|
+
var name8$1$3 = "AI_LoadSettingError";
|
|
3912
|
+
var marker9$1$3 = `vercel.ai.error.${name8$1$3}`;
|
|
3913
|
+
var symbol9$1$3 = Symbol.for(marker9$1$3);
|
|
3914
|
+
var _a9$1$3;
|
|
3915
|
+
var _b9$1$4;
|
|
3916
|
+
(class extends (_b9$1$4 = AISDKError$1$1, _a9$1$3 = symbol9$1$3, _b9$1$4) {
|
|
3917
3917
|
constructor({ message }) {
|
|
3918
3918
|
super({
|
|
3919
|
-
name: name8$
|
|
3919
|
+
name: name8$1$3,
|
|
3920
3920
|
message
|
|
3921
3921
|
});
|
|
3922
|
-
this[_a9$
|
|
3922
|
+
this[_a9$1$3] = true;
|
|
3923
3923
|
}
|
|
3924
3924
|
static isInstance(error) {
|
|
3925
|
-
return AISDKError$1.hasMarker(error, marker9$
|
|
3925
|
+
return AISDKError$1$1.hasMarker(error, marker9$1$3);
|
|
3926
3926
|
}
|
|
3927
3927
|
});
|
|
3928
|
-
var name9$
|
|
3929
|
-
var marker10$
|
|
3930
|
-
var symbol10$
|
|
3931
|
-
var _a10$
|
|
3932
|
-
var _b10$
|
|
3933
|
-
(class extends (_b10$
|
|
3928
|
+
var name9$1$2 = "AI_NoContentGeneratedError";
|
|
3929
|
+
var marker10$1$2 = `vercel.ai.error.${name9$1$2}`;
|
|
3930
|
+
var symbol10$1$2 = Symbol.for(marker10$1$2);
|
|
3931
|
+
var _a10$1$2;
|
|
3932
|
+
var _b10$1$3;
|
|
3933
|
+
(class extends (_b10$1$3 = AISDKError$1$1, _a10$1$2 = symbol10$1$2, _b10$1$3) {
|
|
3934
3934
|
constructor({ message = "No content generated." } = {}) {
|
|
3935
3935
|
super({
|
|
3936
|
-
name: name9$
|
|
3936
|
+
name: name9$1$2,
|
|
3937
3937
|
message
|
|
3938
3938
|
});
|
|
3939
|
-
this[_a10$
|
|
3939
|
+
this[_a10$1$2] = true;
|
|
3940
3940
|
}
|
|
3941
3941
|
static isInstance(error) {
|
|
3942
|
-
return AISDKError$1.hasMarker(error, marker10$
|
|
3942
|
+
return AISDKError$1$1.hasMarker(error, marker10$1$2);
|
|
3943
3943
|
}
|
|
3944
3944
|
});
|
|
3945
|
-
var name10$
|
|
3946
|
-
var marker11$
|
|
3947
|
-
var symbol11$
|
|
3948
|
-
var _a11$
|
|
3949
|
-
var _b11$1;
|
|
3950
|
-
(class extends (_b11$1 = AISDKError$1, _a11$
|
|
3951
|
-
constructor({ errorName = name10$
|
|
3945
|
+
var name10$1$4 = "AI_NoSuchModelError";
|
|
3946
|
+
var marker11$1$4 = `vercel.ai.error.${name10$1$4}`;
|
|
3947
|
+
var symbol11$1$4 = Symbol.for(marker11$1$4);
|
|
3948
|
+
var _a11$1$4;
|
|
3949
|
+
var _b11$1$1;
|
|
3950
|
+
(class extends (_b11$1$1 = AISDKError$1$1, _a11$1$4 = symbol11$1$4, _b11$1$1) {
|
|
3951
|
+
constructor({ errorName = name10$1$4, modelId, modelType, message = `No such ${modelType}: ${modelId}` }) {
|
|
3952
3952
|
super({
|
|
3953
3953
|
name: errorName,
|
|
3954
3954
|
message
|
|
3955
3955
|
});
|
|
3956
|
-
this[_a11$
|
|
3956
|
+
this[_a11$1$4] = true;
|
|
3957
3957
|
this.modelId = modelId;
|
|
3958
3958
|
this.modelType = modelType;
|
|
3959
3959
|
}
|
|
3960
3960
|
static isInstance(error) {
|
|
3961
|
-
return AISDKError$1.hasMarker(error, marker11$
|
|
3961
|
+
return AISDKError$1$1.hasMarker(error, marker11$1$4);
|
|
3962
3962
|
}
|
|
3963
3963
|
});
|
|
3964
|
-
var name11$
|
|
3965
|
-
var marker12$
|
|
3966
|
-
var symbol12$
|
|
3967
|
-
var _a12$
|
|
3968
|
-
var _b12$1;
|
|
3969
|
-
(class extends (_b12$1 = AISDKError$1, _a12$
|
|
3964
|
+
var name11$1$4 = "AI_TooManyEmbeddingValuesForCallError";
|
|
3965
|
+
var marker12$1$4 = `vercel.ai.error.${name11$1$4}`;
|
|
3966
|
+
var symbol12$1$4 = Symbol.for(marker12$1$4);
|
|
3967
|
+
var _a12$1$4;
|
|
3968
|
+
var _b12$1$1;
|
|
3969
|
+
(class extends (_b12$1$1 = AISDKError$1$1, _a12$1$4 = symbol12$1$4, _b12$1$1) {
|
|
3970
3970
|
constructor(options) {
|
|
3971
3971
|
super({
|
|
3972
|
-
name: name11$
|
|
3972
|
+
name: name11$1$4,
|
|
3973
3973
|
message: `Too many values for a single embedding call. The ${options.provider} model "${options.modelId}" can only embed up to ${options.maxEmbeddingsPerCall} values per call, but ${options.values.length} values were provided.`
|
|
3974
3974
|
});
|
|
3975
|
-
this[_a12$
|
|
3975
|
+
this[_a12$1$4] = true;
|
|
3976
3976
|
this.provider = options.provider;
|
|
3977
3977
|
this.modelId = options.modelId;
|
|
3978
3978
|
this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;
|
|
3979
3979
|
this.values = options.values;
|
|
3980
3980
|
}
|
|
3981
3981
|
static isInstance(error) {
|
|
3982
|
-
return AISDKError$1.hasMarker(error, marker12$
|
|
3982
|
+
return AISDKError$1$1.hasMarker(error, marker12$1$4);
|
|
3983
3983
|
}
|
|
3984
3984
|
});
|
|
3985
|
-
var name12$
|
|
3986
|
-
var marker13$
|
|
3987
|
-
var symbol13$
|
|
3988
|
-
var _a13$
|
|
3989
|
-
var _b13$1;
|
|
3990
|
-
var TypeValidationError$1 = class _TypeValidationError extends (_b13$1 = AISDKError$1, _a13$
|
|
3985
|
+
var name12$1$4 = "AI_TypeValidationError";
|
|
3986
|
+
var marker13$1$4 = `vercel.ai.error.${name12$1$4}`;
|
|
3987
|
+
var symbol13$1$4 = Symbol.for(marker13$1$4);
|
|
3988
|
+
var _a13$1$4;
|
|
3989
|
+
var _b13$1$1;
|
|
3990
|
+
var TypeValidationError$1$1 = class _TypeValidationError extends (_b13$1$1 = AISDKError$1$1, _a13$1$4 = symbol13$1$4, _b13$1$1) {
|
|
3991
3991
|
constructor({ value, cause }) {
|
|
3992
3992
|
super({
|
|
3993
|
-
name: name12$
|
|
3993
|
+
name: name12$1$4,
|
|
3994
3994
|
message: `Type validation failed: Value: ${JSON.stringify(value)}.
|
|
3995
|
-
Error message: ${getErrorMessage$
|
|
3995
|
+
Error message: ${getErrorMessage$2$1(cause)}`,
|
|
3996
3996
|
cause
|
|
3997
3997
|
});
|
|
3998
|
-
this[_a13$
|
|
3998
|
+
this[_a13$1$4] = true;
|
|
3999
3999
|
this.value = value;
|
|
4000
4000
|
}
|
|
4001
4001
|
static isInstance(error) {
|
|
4002
|
-
return AISDKError$1.hasMarker(error, marker13$
|
|
4002
|
+
return AISDKError$1$1.hasMarker(error, marker13$1$4);
|
|
4003
4003
|
}
|
|
4004
4004
|
/**
|
|
4005
4005
|
* Wraps an error into a TypeValidationError.
|
|
@@ -4018,22 +4018,22 @@ Error message: ${getErrorMessage$1$1(cause)}`,
|
|
|
4018
4018
|
});
|
|
4019
4019
|
}
|
|
4020
4020
|
};
|
|
4021
|
-
var name13$
|
|
4022
|
-
var marker14$
|
|
4023
|
-
var symbol14$
|
|
4024
|
-
var _a14$
|
|
4025
|
-
var _b14$1;
|
|
4026
|
-
(class extends (_b14$1 = AISDKError$1, _a14$
|
|
4021
|
+
var name13$1$4 = "AI_UnsupportedFunctionalityError";
|
|
4022
|
+
var marker14$1$4 = `vercel.ai.error.${name13$1$4}`;
|
|
4023
|
+
var symbol14$1$4 = Symbol.for(marker14$1$4);
|
|
4024
|
+
var _a14$1$4;
|
|
4025
|
+
var _b14$1$1;
|
|
4026
|
+
(class extends (_b14$1$1 = AISDKError$1$1, _a14$1$4 = symbol14$1$4, _b14$1$1) {
|
|
4027
4027
|
constructor({ functionality, message = `'${functionality}' functionality not supported.` }) {
|
|
4028
4028
|
super({
|
|
4029
|
-
name: name13$
|
|
4029
|
+
name: name13$1$4,
|
|
4030
4030
|
message
|
|
4031
4031
|
});
|
|
4032
|
-
this[_a14$
|
|
4032
|
+
this[_a14$1$4] = true;
|
|
4033
4033
|
this.functionality = functionality;
|
|
4034
4034
|
}
|
|
4035
4035
|
static isInstance(error) {
|
|
4036
|
-
return AISDKError$1.hasMarker(error, marker14$
|
|
4036
|
+
return AISDKError$1$1.hasMarker(error, marker14$1$4);
|
|
4037
4037
|
}
|
|
4038
4038
|
});
|
|
4039
4039
|
var ParseError$1 = class extends Error {
|
|
@@ -4257,25 +4257,25 @@ function createAbortError$1() {
|
|
|
4257
4257
|
function extractResponseHeaders$1(response) {
|
|
4258
4258
|
return Object.fromEntries([...response.headers]);
|
|
4259
4259
|
}
|
|
4260
|
-
var name$
|
|
4261
|
-
var marker$5 = `vercel.ai.error.${name$
|
|
4262
|
-
var symbol$
|
|
4263
|
-
var _a$
|
|
4264
|
-
var _b$5;
|
|
4265
|
-
var DownloadError$1 = class extends (_b$5 = AISDKError$1, _a$
|
|
4260
|
+
var name$1$5 = "AI_DownloadError";
|
|
4261
|
+
var marker$1$5 = `vercel.ai.error.${name$1$5}`;
|
|
4262
|
+
var symbol$1$5 = Symbol.for(marker$1$5);
|
|
4263
|
+
var _a$1$5;
|
|
4264
|
+
var _b$1$5;
|
|
4265
|
+
var DownloadError$1 = class extends (_b$1$5 = AISDKError$1$1, _a$1$5 = symbol$1$5, _b$1$5) {
|
|
4266
4266
|
constructor({ url, statusCode, statusText, cause, message = cause == null ? `Failed to download ${url}: ${statusCode} ${statusText}` : `Failed to download ${url}: ${cause}` }) {
|
|
4267
4267
|
super({
|
|
4268
|
-
name: name$
|
|
4268
|
+
name: name$1$5,
|
|
4269
4269
|
message,
|
|
4270
4270
|
cause
|
|
4271
4271
|
});
|
|
4272
|
-
this[_a$
|
|
4272
|
+
this[_a$1$5] = true;
|
|
4273
4273
|
this.url = url;
|
|
4274
4274
|
this.statusCode = statusCode;
|
|
4275
4275
|
this.statusText = statusText;
|
|
4276
4276
|
}
|
|
4277
4277
|
static isInstance(error) {
|
|
4278
|
-
return AISDKError$1.hasMarker(error, marker$5);
|
|
4278
|
+
return AISDKError$1$1.hasMarker(error, marker$1$5);
|
|
4279
4279
|
}
|
|
4280
4280
|
};
|
|
4281
4281
|
async function cancelResponseBody$1(response) {
|
|
@@ -4337,7 +4337,7 @@ async function readResponseWithSizeLimit$1({ response, url, maxBytes = DEFAULT_M
|
|
|
4337
4337
|
} finally {
|
|
4338
4338
|
try {
|
|
4339
4339
|
await reader.cancel();
|
|
4340
|
-
} finally {
|
|
4340
|
+
} catch (e) {} finally {
|
|
4341
4341
|
reader.releaseLock();
|
|
4342
4342
|
}
|
|
4343
4343
|
}
|
|
@@ -4357,14 +4357,14 @@ var createIdGenerator$1 = ({ prefix, size = 16, alphabet = "0123456789ABCDEFGHIJ
|
|
|
4357
4357
|
return chars.join("");
|
|
4358
4358
|
};
|
|
4359
4359
|
if (prefix == null) return generator;
|
|
4360
|
-
if (alphabet.includes(separator)) throw new InvalidArgumentError$
|
|
4360
|
+
if (alphabet.includes(separator)) throw new InvalidArgumentError$1$4({
|
|
4361
4361
|
argument: "separator",
|
|
4362
4362
|
message: `The separator "${separator}" must not be part of the alphabet "${alphabet}".`
|
|
4363
4363
|
});
|
|
4364
4364
|
return () => `${prefix}${separator}${generator()}`;
|
|
4365
4365
|
};
|
|
4366
4366
|
createIdGenerator$1();
|
|
4367
|
-
function getErrorMessage$
|
|
4367
|
+
function getErrorMessage$1$1(error) {
|
|
4368
4368
|
if (error == null) return "unknown error";
|
|
4369
4369
|
if (typeof error === "string") return error;
|
|
4370
4370
|
if (error instanceof Error) return error.message;
|
|
@@ -4374,11 +4374,34 @@ function isAbortError$3(error) {
|
|
|
4374
4374
|
return (error instanceof Error || error instanceof DOMException) && (error.name === "AbortError" || error.name === "ResponseAborted" || error.name === "TimeoutError");
|
|
4375
4375
|
}
|
|
4376
4376
|
var FETCH_FAILED_ERROR_MESSAGES$1 = ["fetch failed", "failed to fetch"];
|
|
4377
|
+
var RETRYABLE_NETWORK_ERROR_CODES$1 = /* @__PURE__ */ new Set([
|
|
4378
|
+
"ConnectionRefused",
|
|
4379
|
+
"ConnectionClosed",
|
|
4380
|
+
"FailedToOpenSocket",
|
|
4381
|
+
"ECONNRESET",
|
|
4382
|
+
"ECONNREFUSED",
|
|
4383
|
+
"ETIMEDOUT",
|
|
4384
|
+
"EPIPE",
|
|
4385
|
+
"UND_ERR_SOCKET",
|
|
4386
|
+
"UND_ERR_HEADERS_TIMEOUT",
|
|
4387
|
+
"UND_ERR_BODY_TIMEOUT",
|
|
4388
|
+
"UND_ERR_CONNECT_TIMEOUT"
|
|
4389
|
+
]);
|
|
4390
|
+
function findNetworkError$1(error) {
|
|
4391
|
+
const visited = /* @__PURE__ */ new Set();
|
|
4392
|
+
let current = error;
|
|
4393
|
+
while (current instanceof Error && !visited.has(current)) {
|
|
4394
|
+
visited.add(current);
|
|
4395
|
+
const errorWithCode = current;
|
|
4396
|
+
if (typeof errorWithCode.code === "string" && RETRYABLE_NETWORK_ERROR_CODES$1.has(errorWithCode.code)) return errorWithCode;
|
|
4397
|
+
current = current.cause;
|
|
4398
|
+
}
|
|
4399
|
+
}
|
|
4377
4400
|
function handleFetchError$1({ error, url, requestBodyValues }) {
|
|
4378
4401
|
if (isAbortError$3(error)) return error;
|
|
4379
4402
|
if (error instanceof TypeError && FETCH_FAILED_ERROR_MESSAGES$1.includes(error.message.toLowerCase())) {
|
|
4380
4403
|
const cause = error.cause;
|
|
4381
|
-
if (cause != null) return new APICallError$1({
|
|
4404
|
+
if (cause != null) return new APICallError$1$1({
|
|
4382
4405
|
message: `Cannot connect to API: ${cause.message}`,
|
|
4383
4406
|
cause,
|
|
4384
4407
|
url,
|
|
@@ -4386,6 +4409,27 @@ function handleFetchError$1({ error, url, requestBodyValues }) {
|
|
|
4386
4409
|
isRetryable: true
|
|
4387
4410
|
});
|
|
4388
4411
|
}
|
|
4412
|
+
const networkError = findNetworkError$1(error);
|
|
4413
|
+
if (networkError != null) {
|
|
4414
|
+
if (APICallError$1$1.isInstance(error)) return new APICallError$1$1({
|
|
4415
|
+
message: error.message,
|
|
4416
|
+
cause: error.cause,
|
|
4417
|
+
url: error.url,
|
|
4418
|
+
requestBodyValues: error.requestBodyValues,
|
|
4419
|
+
statusCode: error.statusCode,
|
|
4420
|
+
responseHeaders: error.responseHeaders,
|
|
4421
|
+
responseBody: error.responseBody,
|
|
4422
|
+
data: error.data,
|
|
4423
|
+
isRetryable: true
|
|
4424
|
+
});
|
|
4425
|
+
return new APICallError$1$1({
|
|
4426
|
+
message: `Cannot connect to API: ${error instanceof Error ? error.message : networkError.message}`,
|
|
4427
|
+
cause: error,
|
|
4428
|
+
url,
|
|
4429
|
+
requestBodyValues,
|
|
4430
|
+
isRetryable: true
|
|
4431
|
+
});
|
|
4432
|
+
}
|
|
4389
4433
|
return error;
|
|
4390
4434
|
}
|
|
4391
4435
|
function getRuntimeEnvironmentUserAgent$1(globalThisAny = globalThis) {
|
|
@@ -4414,7 +4458,7 @@ function withUserAgentSuffix$1(headers, ...userAgentSuffixParts) {
|
|
|
4414
4458
|
normalizedHeaders.set("user-agent", [currentUserAgentHeader, ...userAgentSuffixParts].filter(Boolean).join(" "));
|
|
4415
4459
|
return Object.fromEntries(normalizedHeaders.entries());
|
|
4416
4460
|
}
|
|
4417
|
-
var VERSION$4 = "3.0.
|
|
4461
|
+
var VERSION$4 = "3.0.38";
|
|
4418
4462
|
var getOriginalFetch$1 = () => globalThis.fetch;
|
|
4419
4463
|
var getFromApi$1 = async ({ url, headers = {}, successfulResponseHandler, failedResponseHandler, abortSignal, fetch = getOriginalFetch$1() }) => {
|
|
4420
4464
|
try {
|
|
@@ -4433,8 +4477,8 @@ var getFromApi$1 = async ({ url, headers = {}, successfulResponseHandler, failed
|
|
|
4433
4477
|
requestBodyValues: {}
|
|
4434
4478
|
});
|
|
4435
4479
|
} catch (error) {
|
|
4436
|
-
if (isAbortError$3(error) || APICallError$1.isInstance(error)) throw error;
|
|
4437
|
-
throw new APICallError$1({
|
|
4480
|
+
if (isAbortError$3(error) || APICallError$1$1.isInstance(error)) throw error;
|
|
4481
|
+
throw new APICallError$1$1({
|
|
4438
4482
|
message: "Failed to process error response",
|
|
4439
4483
|
cause: error,
|
|
4440
4484
|
statusCode: response.status,
|
|
@@ -4453,9 +4497,9 @@ var getFromApi$1 = async ({ url, headers = {}, successfulResponseHandler, failed
|
|
|
4453
4497
|
});
|
|
4454
4498
|
} catch (error) {
|
|
4455
4499
|
if (error instanceof Error) {
|
|
4456
|
-
if (isAbortError$3(error) || APICallError$1.isInstance(error)) throw error;
|
|
4500
|
+
if (isAbortError$3(error) || APICallError$1$1.isInstance(error)) throw error;
|
|
4457
4501
|
}
|
|
4458
|
-
throw new APICallError$1({
|
|
4502
|
+
throw new APICallError$1$1({
|
|
4459
4503
|
message: "Failed to process successful response",
|
|
4460
4504
|
cause: error,
|
|
4461
4505
|
statusCode: response.status,
|
|
@@ -4544,7 +4588,7 @@ function standardSchemaValidator(standardSchema) {
|
|
|
4544
4588
|
value: result.value
|
|
4545
4589
|
} : {
|
|
4546
4590
|
success: false,
|
|
4547
|
-
error: new TypeValidationError$1({
|
|
4591
|
+
error: new TypeValidationError$1$1({
|
|
4548
4592
|
value,
|
|
4549
4593
|
cause: result.issues
|
|
4550
4594
|
})
|
|
@@ -4556,7 +4600,7 @@ async function validateTypes$1({ value, schema }) {
|
|
|
4556
4600
|
value,
|
|
4557
4601
|
schema
|
|
4558
4602
|
});
|
|
4559
|
-
if (!result.success) throw TypeValidationError$1.wrap({
|
|
4603
|
+
if (!result.success) throw TypeValidationError$1$1.wrap({
|
|
4560
4604
|
value,
|
|
4561
4605
|
cause: result.error
|
|
4562
4606
|
});
|
|
@@ -4578,7 +4622,7 @@ async function safeValidateTypes$1({ value, schema }) {
|
|
|
4578
4622
|
};
|
|
4579
4623
|
return {
|
|
4580
4624
|
success: false,
|
|
4581
|
-
error: TypeValidationError$1.wrap({
|
|
4625
|
+
error: TypeValidationError$1$1.wrap({
|
|
4582
4626
|
value,
|
|
4583
4627
|
cause: result.error
|
|
4584
4628
|
}),
|
|
@@ -4587,7 +4631,7 @@ async function safeValidateTypes$1({ value, schema }) {
|
|
|
4587
4631
|
} catch (error) {
|
|
4588
4632
|
return {
|
|
4589
4633
|
success: false,
|
|
4590
|
-
error: TypeValidationError$1.wrap({
|
|
4634
|
+
error: TypeValidationError$1$1.wrap({
|
|
4591
4635
|
value,
|
|
4592
4636
|
cause: error
|
|
4593
4637
|
}),
|
|
@@ -4604,8 +4648,8 @@ async function parseJSON$1({ text, schema }) {
|
|
|
4604
4648
|
schema
|
|
4605
4649
|
});
|
|
4606
4650
|
} catch (error) {
|
|
4607
|
-
if (JSONParseError$1.isInstance(error) || TypeValidationError$1.isInstance(error)) throw error;
|
|
4608
|
-
throw new JSONParseError$1({
|
|
4651
|
+
if (JSONParseError$1$1.isInstance(error) || TypeValidationError$1$1.isInstance(error)) throw error;
|
|
4652
|
+
throw new JSONParseError$1$1({
|
|
4609
4653
|
text,
|
|
4610
4654
|
cause: error
|
|
4611
4655
|
});
|
|
@@ -4626,7 +4670,7 @@ async function safeParseJSON$1({ text, schema }) {
|
|
|
4626
4670
|
} catch (error) {
|
|
4627
4671
|
return {
|
|
4628
4672
|
success: false,
|
|
4629
|
-
error: JSONParseError$1.isInstance(error) ? error : new JSONParseError$1({
|
|
4673
|
+
error: JSONParseError$1$1.isInstance(error) ? error : new JSONParseError$1$1({
|
|
4630
4674
|
text,
|
|
4631
4675
|
cause: error
|
|
4632
4676
|
}),
|
|
@@ -4677,8 +4721,8 @@ var postToApi$1 = async ({ url, headers = {}, body, successfulResponseHandler, f
|
|
|
4677
4721
|
requestBodyValues: body.values
|
|
4678
4722
|
});
|
|
4679
4723
|
} catch (error) {
|
|
4680
|
-
if (isAbortError$3(error) || APICallError$1.isInstance(error)) throw error;
|
|
4681
|
-
throw new APICallError$1({
|
|
4724
|
+
if (isAbortError$3(error) || APICallError$1$1.isInstance(error)) throw error;
|
|
4725
|
+
throw new APICallError$1$1({
|
|
4682
4726
|
message: "Failed to process error response",
|
|
4683
4727
|
cause: error,
|
|
4684
4728
|
statusCode: response.status,
|
|
@@ -4697,9 +4741,9 @@ var postToApi$1 = async ({ url, headers = {}, body, successfulResponseHandler, f
|
|
|
4697
4741
|
});
|
|
4698
4742
|
} catch (error) {
|
|
4699
4743
|
if (error instanceof Error) {
|
|
4700
|
-
if (isAbortError$3(error) || APICallError$1.isInstance(error)) throw error;
|
|
4744
|
+
if (isAbortError$3(error) || APICallError$1$1.isInstance(error)) throw error;
|
|
4701
4745
|
}
|
|
4702
|
-
throw new APICallError$1({
|
|
4746
|
+
throw new APICallError$1$1({
|
|
4703
4747
|
message: "Failed to process successful response",
|
|
4704
4748
|
cause: error,
|
|
4705
4749
|
statusCode: response.status,
|
|
@@ -4739,6 +4783,52 @@ async function resolve$1(value) {
|
|
|
4739
4783
|
return Promise.resolve(value);
|
|
4740
4784
|
}
|
|
4741
4785
|
var textDecoder$1 = new TextDecoder();
|
|
4786
|
+
function wrapResponseBodyStream$1({ stream, url, requestBodyValues, statusCode, responseHeaders }) {
|
|
4787
|
+
const reader = stream.getReader();
|
|
4788
|
+
let readerReleased = false;
|
|
4789
|
+
const releaseReader = () => {
|
|
4790
|
+
if (!readerReleased) {
|
|
4791
|
+
reader.releaseLock();
|
|
4792
|
+
readerReleased = true;
|
|
4793
|
+
}
|
|
4794
|
+
};
|
|
4795
|
+
return new ReadableStream({
|
|
4796
|
+
async pull(controller) {
|
|
4797
|
+
try {
|
|
4798
|
+
const { done, value } = await reader.read();
|
|
4799
|
+
if (done) {
|
|
4800
|
+
releaseReader();
|
|
4801
|
+
controller.close();
|
|
4802
|
+
} else controller.enqueue(value);
|
|
4803
|
+
} catch (error) {
|
|
4804
|
+
releaseReader();
|
|
4805
|
+
if (isAbortError$3(error)) {
|
|
4806
|
+
controller.error(error);
|
|
4807
|
+
return;
|
|
4808
|
+
}
|
|
4809
|
+
controller.error(handleFetchError$1({
|
|
4810
|
+
error: new APICallError$1$1({
|
|
4811
|
+
message: "Failed to process successful response",
|
|
4812
|
+
cause: error,
|
|
4813
|
+
statusCode,
|
|
4814
|
+
url,
|
|
4815
|
+
responseHeaders,
|
|
4816
|
+
requestBodyValues
|
|
4817
|
+
}),
|
|
4818
|
+
url,
|
|
4819
|
+
requestBodyValues
|
|
4820
|
+
}));
|
|
4821
|
+
}
|
|
4822
|
+
},
|
|
4823
|
+
async cancel(reason) {
|
|
4824
|
+
try {
|
|
4825
|
+
await reader.cancel(reason);
|
|
4826
|
+
} finally {
|
|
4827
|
+
releaseReader();
|
|
4828
|
+
}
|
|
4829
|
+
}
|
|
4830
|
+
});
|
|
4831
|
+
}
|
|
4742
4832
|
async function readResponseBodyAsText$1({ response, url }) {
|
|
4743
4833
|
return textDecoder$1.decode(await readResponseWithSizeLimit$1({
|
|
4744
4834
|
response,
|
|
@@ -4753,7 +4843,7 @@ var createJsonErrorResponseHandler$1 = ({ errorSchema, errorToMessage, isRetryab
|
|
|
4753
4843
|
const responseHeaders = extractResponseHeaders$1(response);
|
|
4754
4844
|
if (responseBody.trim() === "") return {
|
|
4755
4845
|
responseHeaders,
|
|
4756
|
-
value: new APICallError$1({
|
|
4846
|
+
value: new APICallError$1$1({
|
|
4757
4847
|
message: response.statusText,
|
|
4758
4848
|
url,
|
|
4759
4849
|
requestBodyValues,
|
|
@@ -4770,7 +4860,7 @@ var createJsonErrorResponseHandler$1 = ({ errorSchema, errorToMessage, isRetryab
|
|
|
4770
4860
|
});
|
|
4771
4861
|
return {
|
|
4772
4862
|
responseHeaders,
|
|
4773
|
-
value: new APICallError$1({
|
|
4863
|
+
value: new APICallError$1$1({
|
|
4774
4864
|
message: errorToMessage(parsedError),
|
|
4775
4865
|
url,
|
|
4776
4866
|
requestBodyValues,
|
|
@@ -4784,7 +4874,7 @@ var createJsonErrorResponseHandler$1 = ({ errorSchema, errorToMessage, isRetryab
|
|
|
4784
4874
|
} catch (parseError) {
|
|
4785
4875
|
return {
|
|
4786
4876
|
responseHeaders,
|
|
4787
|
-
value: new APICallError$1({
|
|
4877
|
+
value: new APICallError$1$1({
|
|
4788
4878
|
message: response.statusText,
|
|
4789
4879
|
url,
|
|
4790
4880
|
requestBodyValues,
|
|
@@ -4796,13 +4886,19 @@ var createJsonErrorResponseHandler$1 = ({ errorSchema, errorToMessage, isRetryab
|
|
|
4796
4886
|
};
|
|
4797
4887
|
}
|
|
4798
4888
|
};
|
|
4799
|
-
var createEventSourceResponseHandler$1 = (chunkSchema) => async ({ response }) => {
|
|
4889
|
+
var createEventSourceResponseHandler$1 = (chunkSchema) => async ({ response, url, requestBodyValues }) => {
|
|
4800
4890
|
const responseHeaders = extractResponseHeaders$1(response);
|
|
4801
|
-
if (response.body == null) throw new EmptyResponseBodyError$1({});
|
|
4891
|
+
if (response.body == null) throw new EmptyResponseBodyError$1$1({});
|
|
4802
4892
|
return {
|
|
4803
4893
|
responseHeaders,
|
|
4804
4894
|
value: parseJsonEventStream$1({
|
|
4805
|
-
stream:
|
|
4895
|
+
stream: wrapResponseBodyStream$1({
|
|
4896
|
+
stream: response.body,
|
|
4897
|
+
url,
|
|
4898
|
+
requestBodyValues,
|
|
4899
|
+
statusCode: response.status,
|
|
4900
|
+
responseHeaders
|
|
4901
|
+
}),
|
|
4806
4902
|
schema: chunkSchema
|
|
4807
4903
|
})
|
|
4808
4904
|
};
|
|
@@ -4817,7 +4913,7 @@ var createJsonResponseHandler$1 = (responseSchema) => async ({ response, url, re
|
|
|
4817
4913
|
schema: responseSchema
|
|
4818
4914
|
});
|
|
4819
4915
|
const responseHeaders = extractResponseHeaders$1(response);
|
|
4820
|
-
if (!parsedResult.success) throw new APICallError$1({
|
|
4916
|
+
if (!parsedResult.success) throw new APICallError$1$1({
|
|
4821
4917
|
message: "Invalid JSON response",
|
|
4822
4918
|
cause: parsedResult.error,
|
|
4823
4919
|
statusCode: response.status,
|
|
@@ -4854,7 +4950,8 @@ function jsonSchema$1(jsonSchema2, { validate } = {}) {
|
|
|
4854
4950
|
}
|
|
4855
4951
|
function addAdditionalPropertiesToJsonSchema$1(jsonSchema2) {
|
|
4856
4952
|
if (jsonSchema2.type === "object") {
|
|
4857
|
-
|
|
4953
|
+
const { additionalProperties } = jsonSchema2;
|
|
4954
|
+
jsonSchema2.additionalProperties = additionalProperties != null && typeof additionalProperties !== "boolean" ? addAdditionalPropertiesToJsonSchema$1(additionalProperties) : false;
|
|
4858
4955
|
const properties = jsonSchema2.properties;
|
|
4859
4956
|
if (properties != null) for (const property in properties) properties[property] = addAdditionalPropertiesToJsonSchema$1(properties[property]);
|
|
4860
4957
|
}
|
|
@@ -5800,6 +5897,307 @@ var { btoa: btoa$1, atob: atob$1 } = globalThis;
|
|
|
5800
5897
|
function withoutTrailingSlash$1(url) {
|
|
5801
5898
|
return url == null ? void 0 : url.replace(/\/$/, "");
|
|
5802
5899
|
}
|
|
5900
|
+
var marker$5 = "vercel.ai.error";
|
|
5901
|
+
var symbol$6 = Symbol.for(marker$5);
|
|
5902
|
+
var _a$6;
|
|
5903
|
+
var _b$5;
|
|
5904
|
+
var AISDKError$2 = class _AISDKError extends (_b$5 = Error, _a$6 = symbol$6, _b$5) {
|
|
5905
|
+
/**
|
|
5906
|
+
* Creates an AI SDK Error.
|
|
5907
|
+
*
|
|
5908
|
+
* @param {Object} params - The parameters for creating the error.
|
|
5909
|
+
* @param {string} params.name - The name of the error.
|
|
5910
|
+
* @param {string} params.message - The error message.
|
|
5911
|
+
* @param {unknown} [params.cause] - The underlying cause of the error.
|
|
5912
|
+
*/
|
|
5913
|
+
constructor({ name: name14, message, cause }) {
|
|
5914
|
+
super(message);
|
|
5915
|
+
this[_a$6] = true;
|
|
5916
|
+
this.name = name14;
|
|
5917
|
+
this.cause = cause;
|
|
5918
|
+
}
|
|
5919
|
+
/**
|
|
5920
|
+
* Checks if the given error is an AI SDK Error.
|
|
5921
|
+
* @param {unknown} error - The error to check.
|
|
5922
|
+
* @returns {boolean} True if the error is an AI SDK Error, false otherwise.
|
|
5923
|
+
*/
|
|
5924
|
+
static isInstance(error) {
|
|
5925
|
+
return _AISDKError.hasMarker(error, marker$5);
|
|
5926
|
+
}
|
|
5927
|
+
static hasMarker(error, marker15) {
|
|
5928
|
+
const markerSymbol = Symbol.for(marker15);
|
|
5929
|
+
return error != null && typeof error === "object" && markerSymbol in error && typeof error[markerSymbol] === "boolean" && error[markerSymbol] === true;
|
|
5930
|
+
}
|
|
5931
|
+
};
|
|
5932
|
+
var name$6 = "AI_APICallError";
|
|
5933
|
+
var marker2$4 = `vercel.ai.error.${name$6}`;
|
|
5934
|
+
var symbol2$4 = Symbol.for(marker2$4);
|
|
5935
|
+
var _a2$4;
|
|
5936
|
+
var _b2$5;
|
|
5937
|
+
var APICallError$2 = class extends (_b2$5 = AISDKError$2, _a2$4 = symbol2$4, _b2$5) {
|
|
5938
|
+
constructor({ message, url, requestBodyValues, statusCode, responseHeaders, responseBody, cause, isRetryable = statusCode != null && (statusCode === 408 || statusCode === 409 || statusCode === 429 || statusCode >= 500), data }) {
|
|
5939
|
+
super({
|
|
5940
|
+
name: name$6,
|
|
5941
|
+
message,
|
|
5942
|
+
cause
|
|
5943
|
+
});
|
|
5944
|
+
this[_a2$4] = true;
|
|
5945
|
+
this.url = url;
|
|
5946
|
+
this.requestBodyValues = requestBodyValues;
|
|
5947
|
+
this.statusCode = statusCode;
|
|
5948
|
+
this.responseHeaders = responseHeaders;
|
|
5949
|
+
this.responseBody = responseBody;
|
|
5950
|
+
this.isRetryable = isRetryable;
|
|
5951
|
+
this.data = data;
|
|
5952
|
+
}
|
|
5953
|
+
static isInstance(error) {
|
|
5954
|
+
return AISDKError$2.hasMarker(error, marker2$4);
|
|
5955
|
+
}
|
|
5956
|
+
};
|
|
5957
|
+
var name2$4 = "AI_EmptyResponseBodyError";
|
|
5958
|
+
var marker3$4 = `vercel.ai.error.${name2$4}`;
|
|
5959
|
+
var symbol3$4 = Symbol.for(marker3$4);
|
|
5960
|
+
var _a3$4;
|
|
5961
|
+
var _b3$5;
|
|
5962
|
+
(class extends (_b3$5 = AISDKError$2, _a3$4 = symbol3$4, _b3$5) {
|
|
5963
|
+
constructor({ message = "Empty response body" } = {}) {
|
|
5964
|
+
super({
|
|
5965
|
+
name: name2$4,
|
|
5966
|
+
message
|
|
5967
|
+
});
|
|
5968
|
+
this[_a3$4] = true;
|
|
5969
|
+
}
|
|
5970
|
+
static isInstance(error) {
|
|
5971
|
+
return AISDKError$2.hasMarker(error, marker3$4);
|
|
5972
|
+
}
|
|
5973
|
+
});
|
|
5974
|
+
function getErrorMessage$3(error) {
|
|
5975
|
+
if (error == null) return "unknown error";
|
|
5976
|
+
if (typeof error === "string") return error;
|
|
5977
|
+
if (error instanceof Error) return error.message;
|
|
5978
|
+
return JSON.stringify(error);
|
|
5979
|
+
}
|
|
5980
|
+
var name3$4 = "AI_InvalidArgumentError";
|
|
5981
|
+
var marker4$4 = `vercel.ai.error.${name3$4}`;
|
|
5982
|
+
var symbol4$4 = Symbol.for(marker4$4);
|
|
5983
|
+
var _a4$4;
|
|
5984
|
+
var _b4$5;
|
|
5985
|
+
(class extends (_b4$5 = AISDKError$2, _a4$4 = symbol4$4, _b4$5) {
|
|
5986
|
+
constructor({ message, cause, argument }) {
|
|
5987
|
+
super({
|
|
5988
|
+
name: name3$4,
|
|
5989
|
+
message,
|
|
5990
|
+
cause
|
|
5991
|
+
});
|
|
5992
|
+
this[_a4$4] = true;
|
|
5993
|
+
this.argument = argument;
|
|
5994
|
+
}
|
|
5995
|
+
static isInstance(error) {
|
|
5996
|
+
return AISDKError$2.hasMarker(error, marker4$4);
|
|
5997
|
+
}
|
|
5998
|
+
});
|
|
5999
|
+
var name4$4 = "AI_InvalidPromptError";
|
|
6000
|
+
var marker5$4 = `vercel.ai.error.${name4$4}`;
|
|
6001
|
+
var symbol5$4 = Symbol.for(marker5$4);
|
|
6002
|
+
var _a5$4;
|
|
6003
|
+
var _b5$5;
|
|
6004
|
+
(class extends (_b5$5 = AISDKError$2, _a5$4 = symbol5$4, _b5$5) {
|
|
6005
|
+
constructor({ prompt, message, cause }) {
|
|
6006
|
+
super({
|
|
6007
|
+
name: name4$4,
|
|
6008
|
+
message: `Invalid prompt: ${message}`,
|
|
6009
|
+
cause
|
|
6010
|
+
});
|
|
6011
|
+
this[_a5$4] = true;
|
|
6012
|
+
this.prompt = prompt;
|
|
6013
|
+
}
|
|
6014
|
+
static isInstance(error) {
|
|
6015
|
+
return AISDKError$2.hasMarker(error, marker5$4);
|
|
6016
|
+
}
|
|
6017
|
+
});
|
|
6018
|
+
var name5$4 = "AI_InvalidResponseDataError";
|
|
6019
|
+
var marker6$4 = `vercel.ai.error.${name5$4}`;
|
|
6020
|
+
var symbol6$4 = Symbol.for(marker6$4);
|
|
6021
|
+
var _a6$4;
|
|
6022
|
+
var _b6$5;
|
|
6023
|
+
(class extends (_b6$5 = AISDKError$2, _a6$4 = symbol6$4, _b6$5) {
|
|
6024
|
+
constructor({ data, message = `Invalid response data: ${JSON.stringify(data)}.` }) {
|
|
6025
|
+
super({
|
|
6026
|
+
name: name5$4,
|
|
6027
|
+
message
|
|
6028
|
+
});
|
|
6029
|
+
this[_a6$4] = true;
|
|
6030
|
+
this.data = data;
|
|
6031
|
+
}
|
|
6032
|
+
static isInstance(error) {
|
|
6033
|
+
return AISDKError$2.hasMarker(error, marker6$4);
|
|
6034
|
+
}
|
|
6035
|
+
});
|
|
6036
|
+
var name6$4 = "AI_JSONParseError";
|
|
6037
|
+
var marker7$4 = `vercel.ai.error.${name6$4}`;
|
|
6038
|
+
var symbol7$4 = Symbol.for(marker7$4);
|
|
6039
|
+
var _a7$4;
|
|
6040
|
+
var _b7$5;
|
|
6041
|
+
(class extends (_b7$5 = AISDKError$2, _a7$4 = symbol7$4, _b7$5) {
|
|
6042
|
+
constructor({ text, cause }) {
|
|
6043
|
+
super({
|
|
6044
|
+
name: name6$4,
|
|
6045
|
+
message: `JSON parsing failed: Text: ${text}.
|
|
6046
|
+
Error message: ${getErrorMessage$3(cause)}`,
|
|
6047
|
+
cause
|
|
6048
|
+
});
|
|
6049
|
+
this[_a7$4] = true;
|
|
6050
|
+
this.text = text;
|
|
6051
|
+
}
|
|
6052
|
+
static isInstance(error) {
|
|
6053
|
+
return AISDKError$2.hasMarker(error, marker7$4);
|
|
6054
|
+
}
|
|
6055
|
+
});
|
|
6056
|
+
var name7$4 = "AI_LoadAPIKeyError";
|
|
6057
|
+
var marker8$4 = `vercel.ai.error.${name7$4}`;
|
|
6058
|
+
var symbol8$4 = Symbol.for(marker8$4);
|
|
6059
|
+
var _a8$4;
|
|
6060
|
+
var _b8$5;
|
|
6061
|
+
(class extends (_b8$5 = AISDKError$2, _a8$4 = symbol8$4, _b8$5) {
|
|
6062
|
+
constructor({ message }) {
|
|
6063
|
+
super({
|
|
6064
|
+
name: name7$4,
|
|
6065
|
+
message
|
|
6066
|
+
});
|
|
6067
|
+
this[_a8$4] = true;
|
|
6068
|
+
}
|
|
6069
|
+
static isInstance(error) {
|
|
6070
|
+
return AISDKError$2.hasMarker(error, marker8$4);
|
|
6071
|
+
}
|
|
6072
|
+
});
|
|
6073
|
+
var name8$4 = "AI_LoadSettingError";
|
|
6074
|
+
var marker9$4 = `vercel.ai.error.${name8$4}`;
|
|
6075
|
+
var symbol9$4 = Symbol.for(marker9$4);
|
|
6076
|
+
var _a9$4;
|
|
6077
|
+
var _b9$5;
|
|
6078
|
+
(class extends (_b9$5 = AISDKError$2, _a9$4 = symbol9$4, _b9$5) {
|
|
6079
|
+
constructor({ message }) {
|
|
6080
|
+
super({
|
|
6081
|
+
name: name8$4,
|
|
6082
|
+
message
|
|
6083
|
+
});
|
|
6084
|
+
this[_a9$4] = true;
|
|
6085
|
+
}
|
|
6086
|
+
static isInstance(error) {
|
|
6087
|
+
return AISDKError$2.hasMarker(error, marker9$4);
|
|
6088
|
+
}
|
|
6089
|
+
});
|
|
6090
|
+
var name9$4 = "AI_NoContentGeneratedError";
|
|
6091
|
+
var marker10$4 = `vercel.ai.error.${name9$4}`;
|
|
6092
|
+
var symbol10$4 = Symbol.for(marker10$4);
|
|
6093
|
+
var _a10$4;
|
|
6094
|
+
var _b10$4;
|
|
6095
|
+
(class extends (_b10$4 = AISDKError$2, _a10$4 = symbol10$4, _b10$4) {
|
|
6096
|
+
constructor({ message = "No content generated." } = {}) {
|
|
6097
|
+
super({
|
|
6098
|
+
name: name9$4,
|
|
6099
|
+
message
|
|
6100
|
+
});
|
|
6101
|
+
this[_a10$4] = true;
|
|
6102
|
+
}
|
|
6103
|
+
static isInstance(error) {
|
|
6104
|
+
return AISDKError$2.hasMarker(error, marker10$4);
|
|
6105
|
+
}
|
|
6106
|
+
});
|
|
6107
|
+
var name10$5 = "AI_NoSuchModelError";
|
|
6108
|
+
var marker11$5 = `vercel.ai.error.${name10$5}`;
|
|
6109
|
+
var symbol11$5 = Symbol.for(marker11$5);
|
|
6110
|
+
var _a11$5;
|
|
6111
|
+
var _b11$2;
|
|
6112
|
+
(class extends (_b11$2 = AISDKError$2, _a11$5 = symbol11$5, _b11$2) {
|
|
6113
|
+
constructor({ errorName = name10$5, modelId, modelType, message = `No such ${modelType}: ${modelId}` }) {
|
|
6114
|
+
super({
|
|
6115
|
+
name: errorName,
|
|
6116
|
+
message
|
|
6117
|
+
});
|
|
6118
|
+
this[_a11$5] = true;
|
|
6119
|
+
this.modelId = modelId;
|
|
6120
|
+
this.modelType = modelType;
|
|
6121
|
+
}
|
|
6122
|
+
static isInstance(error) {
|
|
6123
|
+
return AISDKError$2.hasMarker(error, marker11$5);
|
|
6124
|
+
}
|
|
6125
|
+
});
|
|
6126
|
+
var name11$5 = "AI_TooManyEmbeddingValuesForCallError";
|
|
6127
|
+
var marker12$5 = `vercel.ai.error.${name11$5}`;
|
|
6128
|
+
var symbol12$5 = Symbol.for(marker12$5);
|
|
6129
|
+
var _a12$5;
|
|
6130
|
+
var _b12$2;
|
|
6131
|
+
(class extends (_b12$2 = AISDKError$2, _a12$5 = symbol12$5, _b12$2) {
|
|
6132
|
+
constructor(options) {
|
|
6133
|
+
super({
|
|
6134
|
+
name: name11$5,
|
|
6135
|
+
message: `Too many values for a single embedding call. The ${options.provider} model "${options.modelId}" can only embed up to ${options.maxEmbeddingsPerCall} values per call, but ${options.values.length} values were provided.`
|
|
6136
|
+
});
|
|
6137
|
+
this[_a12$5] = true;
|
|
6138
|
+
this.provider = options.provider;
|
|
6139
|
+
this.modelId = options.modelId;
|
|
6140
|
+
this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;
|
|
6141
|
+
this.values = options.values;
|
|
6142
|
+
}
|
|
6143
|
+
static isInstance(error) {
|
|
6144
|
+
return AISDKError$2.hasMarker(error, marker12$5);
|
|
6145
|
+
}
|
|
6146
|
+
});
|
|
6147
|
+
var name12$5 = "AI_TypeValidationError";
|
|
6148
|
+
var marker13$5 = `vercel.ai.error.${name12$5}`;
|
|
6149
|
+
var symbol13$5 = Symbol.for(marker13$5);
|
|
6150
|
+
var _a13$5;
|
|
6151
|
+
var _b13$2;
|
|
6152
|
+
(class _TypeValidationError extends (_b13$2 = AISDKError$2, _a13$5 = symbol13$5, _b13$2) {
|
|
6153
|
+
constructor({ value, cause }) {
|
|
6154
|
+
super({
|
|
6155
|
+
name: name12$5,
|
|
6156
|
+
message: `Type validation failed: Value: ${JSON.stringify(value)}.
|
|
6157
|
+
Error message: ${getErrorMessage$3(cause)}`,
|
|
6158
|
+
cause
|
|
6159
|
+
});
|
|
6160
|
+
this[_a13$5] = true;
|
|
6161
|
+
this.value = value;
|
|
6162
|
+
}
|
|
6163
|
+
static isInstance(error) {
|
|
6164
|
+
return AISDKError$2.hasMarker(error, marker13$5);
|
|
6165
|
+
}
|
|
6166
|
+
/**
|
|
6167
|
+
* Wraps an error into a TypeValidationError.
|
|
6168
|
+
* If the cause is already a TypeValidationError with the same value, it returns the cause.
|
|
6169
|
+
* Otherwise, it creates a new TypeValidationError.
|
|
6170
|
+
*
|
|
6171
|
+
* @param {Object} params - The parameters for wrapping the error.
|
|
6172
|
+
* @param {unknown} params.value - The value that failed validation.
|
|
6173
|
+
* @param {unknown} params.cause - The original error or cause of the validation failure.
|
|
6174
|
+
* @returns {TypeValidationError} A TypeValidationError instance.
|
|
6175
|
+
*/
|
|
6176
|
+
static wrap({ value, cause }) {
|
|
6177
|
+
return _TypeValidationError.isInstance(cause) && cause.value === value ? cause : new _TypeValidationError({
|
|
6178
|
+
value,
|
|
6179
|
+
cause
|
|
6180
|
+
});
|
|
6181
|
+
}
|
|
6182
|
+
});
|
|
6183
|
+
var name13$5 = "AI_UnsupportedFunctionalityError";
|
|
6184
|
+
var marker14$5 = `vercel.ai.error.${name13$5}`;
|
|
6185
|
+
var symbol14$5 = Symbol.for(marker14$5);
|
|
6186
|
+
var _a14$5;
|
|
6187
|
+
var _b14$2;
|
|
6188
|
+
(class extends (_b14$2 = AISDKError$2, _a14$5 = symbol14$5, _b14$2) {
|
|
6189
|
+
constructor({ functionality, message = `'${functionality}' functionality not supported.` }) {
|
|
6190
|
+
super({
|
|
6191
|
+
name: name13$5,
|
|
6192
|
+
message
|
|
6193
|
+
});
|
|
6194
|
+
this[_a14$5] = true;
|
|
6195
|
+
this.functionality = functionality;
|
|
6196
|
+
}
|
|
6197
|
+
static isInstance(error) {
|
|
6198
|
+
return AISDKError$2.hasMarker(error, marker14$5);
|
|
6199
|
+
}
|
|
6200
|
+
});
|
|
5803
6201
|
//#endregion
|
|
5804
6202
|
//#region ../_vendored/ai_v5/dist/index.js
|
|
5805
6203
|
function getContext$1() {
|
|
@@ -5809,13 +6207,13 @@ async function getVercelOidcToken$1() {
|
|
|
5809
6207
|
if (process.env.VERCEL_OIDC_TOKEN) return process.env.VERCEL_OIDC_TOKEN ?? "";
|
|
5810
6208
|
throw new Error("@vercel/oidc is not available in the vendored @internal AI packages. Provide an API key instead.");
|
|
5811
6209
|
}
|
|
5812
|
-
var symbol$1$
|
|
5813
|
-
var _a$1$
|
|
5814
|
-
var _b$
|
|
5815
|
-
var GatewayError$1 = class _GatewayError extends (_b$
|
|
6210
|
+
var symbol$1$3 = Symbol.for("vercel.ai.gateway.error");
|
|
6211
|
+
var _a$1$3;
|
|
6212
|
+
var _b$4;
|
|
6213
|
+
var GatewayError$1 = class _GatewayError extends (_b$4 = Error, _a$1$3 = symbol$1$3, _b$4) {
|
|
5816
6214
|
constructor({ message, statusCode = 500, cause }) {
|
|
5817
6215
|
super(message);
|
|
5818
|
-
this[_a$1$
|
|
6216
|
+
this[_a$1$3] = true;
|
|
5819
6217
|
this.statusCode = statusCode;
|
|
5820
6218
|
this.cause = cause;
|
|
5821
6219
|
}
|
|
@@ -5828,27 +6226,27 @@ var GatewayError$1 = class _GatewayError extends (_b$3 = Error, _a$1$2 = symbol$
|
|
|
5828
6226
|
return _GatewayError.hasMarker(error);
|
|
5829
6227
|
}
|
|
5830
6228
|
static hasMarker(error) {
|
|
5831
|
-
return typeof error === "object" && error !== null && symbol$1$
|
|
6229
|
+
return typeof error === "object" && error !== null && symbol$1$3 in error && error[symbol$1$3] === true;
|
|
5832
6230
|
}
|
|
5833
6231
|
};
|
|
5834
|
-
var name$1$
|
|
5835
|
-
var marker2$1$
|
|
5836
|
-
var symbol2$1$
|
|
5837
|
-
var _a2$1$
|
|
5838
|
-
var _b2$
|
|
5839
|
-
var GatewayAuthenticationError$1 = class _GatewayAuthenticationError extends (_b2$
|
|
6232
|
+
var name$1$3 = "GatewayAuthenticationError";
|
|
6233
|
+
var marker2$1$2 = `vercel.ai.gateway.error.${name$1$3}`;
|
|
6234
|
+
var symbol2$1$2 = Symbol.for(marker2$1$2);
|
|
6235
|
+
var _a2$1$2;
|
|
6236
|
+
var _b2$3;
|
|
6237
|
+
var GatewayAuthenticationError$1 = class _GatewayAuthenticationError extends (_b2$3 = GatewayError$1, _a2$1$2 = symbol2$1$2, _b2$3) {
|
|
5840
6238
|
constructor({ message = "Authentication failed", statusCode = 401, cause } = {}) {
|
|
5841
6239
|
super({
|
|
5842
6240
|
message,
|
|
5843
6241
|
statusCode,
|
|
5844
6242
|
cause
|
|
5845
6243
|
});
|
|
5846
|
-
this[_a2$1$
|
|
5847
|
-
this.name = name$1$
|
|
6244
|
+
this[_a2$1$2] = true;
|
|
6245
|
+
this.name = name$1$3;
|
|
5848
6246
|
this.type = "authentication_error";
|
|
5849
6247
|
}
|
|
5850
6248
|
static isInstance(error) {
|
|
5851
|
-
return GatewayError$1.hasMarker(error) && symbol2$1$
|
|
6249
|
+
return GatewayError$1.hasMarker(error) && symbol2$1$2 in error;
|
|
5852
6250
|
}
|
|
5853
6251
|
/**
|
|
5854
6252
|
* Creates a contextual error message when authentication fails
|
|
@@ -5880,130 +6278,130 @@ Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the toke
|
|
|
5880
6278
|
});
|
|
5881
6279
|
}
|
|
5882
6280
|
};
|
|
5883
|
-
var name2$1$
|
|
5884
|
-
var marker3$1$
|
|
5885
|
-
var symbol3$1$
|
|
6281
|
+
var name2$1$2 = "GatewayForbiddenError";
|
|
6282
|
+
var marker3$1$2 = `vercel.ai.gateway.error.${name2$1$2}`;
|
|
6283
|
+
var symbol3$1$2 = Symbol.for(marker3$1$2);
|
|
5886
6284
|
var forbiddenParamSchema$1 = lazyValidator(() => zodSchema$1(zod_v4.z.object({ ruleId: zod_v4.z.string() })));
|
|
5887
|
-
var _a3$1$
|
|
5888
|
-
var _b3$
|
|
5889
|
-
var GatewayForbiddenError$1 = class extends (_b3$
|
|
6285
|
+
var _a3$1$2;
|
|
6286
|
+
var _b3$3;
|
|
6287
|
+
var GatewayForbiddenError$1 = class extends (_b3$3 = GatewayError$1, _a3$1$2 = symbol3$1$2, _b3$3) {
|
|
5890
6288
|
constructor({ message = "Forbidden", statusCode = 403, cause, ruleId } = {}) {
|
|
5891
6289
|
super({
|
|
5892
6290
|
message,
|
|
5893
6291
|
statusCode,
|
|
5894
6292
|
cause
|
|
5895
6293
|
});
|
|
5896
|
-
this[_a3$1$
|
|
5897
|
-
this.name = name2$1$
|
|
6294
|
+
this[_a3$1$2] = true;
|
|
6295
|
+
this.name = name2$1$2;
|
|
5898
6296
|
this.type = "forbidden";
|
|
5899
6297
|
this.ruleId = ruleId;
|
|
5900
6298
|
}
|
|
5901
6299
|
static isInstance(error) {
|
|
5902
|
-
return GatewayError$1.hasMarker(error) && symbol3$1$
|
|
6300
|
+
return GatewayError$1.hasMarker(error) && symbol3$1$2 in error;
|
|
5903
6301
|
}
|
|
5904
6302
|
};
|
|
5905
|
-
var name3$1$
|
|
5906
|
-
var marker4$1$
|
|
5907
|
-
var symbol4$1$
|
|
5908
|
-
var _a4$1$
|
|
5909
|
-
var _b4$
|
|
5910
|
-
var GatewayInvalidRequestError$1 = class extends (_b4$
|
|
6303
|
+
var name3$1$2 = "GatewayInvalidRequestError";
|
|
6304
|
+
var marker4$1$2 = `vercel.ai.gateway.error.${name3$1$2}`;
|
|
6305
|
+
var symbol4$1$2 = Symbol.for(marker4$1$2);
|
|
6306
|
+
var _a4$1$2;
|
|
6307
|
+
var _b4$3;
|
|
6308
|
+
var GatewayInvalidRequestError$1 = class extends (_b4$3 = GatewayError$1, _a4$1$2 = symbol4$1$2, _b4$3) {
|
|
5911
6309
|
constructor({ message = "Invalid request", statusCode = 400, cause } = {}) {
|
|
5912
6310
|
super({
|
|
5913
6311
|
message,
|
|
5914
6312
|
statusCode,
|
|
5915
6313
|
cause
|
|
5916
6314
|
});
|
|
5917
|
-
this[_a4$1$
|
|
5918
|
-
this.name = name3$1$
|
|
6315
|
+
this[_a4$1$2] = true;
|
|
6316
|
+
this.name = name3$1$2;
|
|
5919
6317
|
this.type = "invalid_request_error";
|
|
5920
6318
|
}
|
|
5921
6319
|
static isInstance(error) {
|
|
5922
|
-
return GatewayError$1.hasMarker(error) && symbol4$1$
|
|
6320
|
+
return GatewayError$1.hasMarker(error) && symbol4$1$2 in error;
|
|
5923
6321
|
}
|
|
5924
6322
|
};
|
|
5925
|
-
var name4$1$
|
|
5926
|
-
var marker5$1$
|
|
5927
|
-
var symbol5$1$
|
|
5928
|
-
var _a5$1$
|
|
5929
|
-
var _b5$
|
|
5930
|
-
var GatewayRateLimitError$1 = class extends (_b5$
|
|
6323
|
+
var name4$1$2 = "GatewayRateLimitError";
|
|
6324
|
+
var marker5$1$2 = `vercel.ai.gateway.error.${name4$1$2}`;
|
|
6325
|
+
var symbol5$1$2 = Symbol.for(marker5$1$2);
|
|
6326
|
+
var _a5$1$2;
|
|
6327
|
+
var _b5$3;
|
|
6328
|
+
var GatewayRateLimitError$1 = class extends (_b5$3 = GatewayError$1, _a5$1$2 = symbol5$1$2, _b5$3) {
|
|
5931
6329
|
constructor({ message = "Rate limit exceeded", statusCode = 429, cause } = {}) {
|
|
5932
6330
|
super({
|
|
5933
6331
|
message,
|
|
5934
6332
|
statusCode,
|
|
5935
6333
|
cause
|
|
5936
6334
|
});
|
|
5937
|
-
this[_a5$1$
|
|
5938
|
-
this.name = name4$1$
|
|
6335
|
+
this[_a5$1$2] = true;
|
|
6336
|
+
this.name = name4$1$2;
|
|
5939
6337
|
this.type = "rate_limit_exceeded";
|
|
5940
6338
|
}
|
|
5941
6339
|
static isInstance(error) {
|
|
5942
|
-
return GatewayError$1.hasMarker(error) && symbol5$1$
|
|
6340
|
+
return GatewayError$1.hasMarker(error) && symbol5$1$2 in error;
|
|
5943
6341
|
}
|
|
5944
6342
|
};
|
|
5945
|
-
var name5$1$
|
|
5946
|
-
var marker6$1$
|
|
5947
|
-
var symbol6$1$
|
|
6343
|
+
var name5$1$2 = "GatewayModelNotFoundError";
|
|
6344
|
+
var marker6$1$2 = `vercel.ai.gateway.error.${name5$1$2}`;
|
|
6345
|
+
var symbol6$1$2 = Symbol.for(marker6$1$2);
|
|
5948
6346
|
var modelNotFoundParamSchema$1 = lazyValidator(() => zodSchema$1(zod_v4.z.object({ modelId: zod_v4.z.string() })));
|
|
5949
|
-
var _a6$1$
|
|
5950
|
-
var _b6$
|
|
5951
|
-
var GatewayModelNotFoundError$1 = class extends (_b6$
|
|
6347
|
+
var _a6$1$2;
|
|
6348
|
+
var _b6$3;
|
|
6349
|
+
var GatewayModelNotFoundError$1 = class extends (_b6$3 = GatewayError$1, _a6$1$2 = symbol6$1$2, _b6$3) {
|
|
5952
6350
|
constructor({ message = "Model not found", statusCode = 404, modelId, cause } = {}) {
|
|
5953
6351
|
super({
|
|
5954
6352
|
message,
|
|
5955
6353
|
statusCode,
|
|
5956
6354
|
cause
|
|
5957
6355
|
});
|
|
5958
|
-
this[_a6$1$
|
|
5959
|
-
this.name = name5$1$
|
|
6356
|
+
this[_a6$1$2] = true;
|
|
6357
|
+
this.name = name5$1$2;
|
|
5960
6358
|
this.type = "model_not_found";
|
|
5961
6359
|
this.modelId = modelId;
|
|
5962
6360
|
}
|
|
5963
6361
|
static isInstance(error) {
|
|
5964
|
-
return GatewayError$1.hasMarker(error) && symbol6$1$
|
|
6362
|
+
return GatewayError$1.hasMarker(error) && symbol6$1$2 in error;
|
|
5965
6363
|
}
|
|
5966
6364
|
};
|
|
5967
|
-
var name6$1$
|
|
5968
|
-
var marker7$1$
|
|
5969
|
-
var symbol7$1$
|
|
5970
|
-
var _a7$1$
|
|
5971
|
-
var _b7$
|
|
5972
|
-
var GatewayInternalServerError$1 = class extends (_b7$
|
|
6365
|
+
var name6$1$2 = "GatewayInternalServerError";
|
|
6366
|
+
var marker7$1$2 = `vercel.ai.gateway.error.${name6$1$2}`;
|
|
6367
|
+
var symbol7$1$2 = Symbol.for(marker7$1$2);
|
|
6368
|
+
var _a7$1$2;
|
|
6369
|
+
var _b7$3;
|
|
6370
|
+
var GatewayInternalServerError$1 = class extends (_b7$3 = GatewayError$1, _a7$1$2 = symbol7$1$2, _b7$3) {
|
|
5973
6371
|
constructor({ message = "Internal server error", statusCode = 500, cause } = {}) {
|
|
5974
6372
|
super({
|
|
5975
6373
|
message,
|
|
5976
6374
|
statusCode,
|
|
5977
6375
|
cause
|
|
5978
6376
|
});
|
|
5979
|
-
this[_a7$1$
|
|
5980
|
-
this.name = name6$1$
|
|
6377
|
+
this[_a7$1$2] = true;
|
|
6378
|
+
this.name = name6$1$2;
|
|
5981
6379
|
this.type = "internal_server_error";
|
|
5982
6380
|
}
|
|
5983
6381
|
static isInstance(error) {
|
|
5984
|
-
return GatewayError$1.hasMarker(error) && symbol7$1$
|
|
6382
|
+
return GatewayError$1.hasMarker(error) && symbol7$1$2 in error;
|
|
5985
6383
|
}
|
|
5986
6384
|
};
|
|
5987
|
-
var name7$1$
|
|
5988
|
-
var marker8$1$
|
|
5989
|
-
var symbol8$1$
|
|
5990
|
-
var _a8$1$
|
|
5991
|
-
var _b8$
|
|
5992
|
-
var GatewayResponseError$1 = class extends (_b8$
|
|
6385
|
+
var name7$1$2 = "GatewayResponseError";
|
|
6386
|
+
var marker8$1$2 = `vercel.ai.gateway.error.${name7$1$2}`;
|
|
6387
|
+
var symbol8$1$2 = Symbol.for(marker8$1$2);
|
|
6388
|
+
var _a8$1$2;
|
|
6389
|
+
var _b8$3;
|
|
6390
|
+
var GatewayResponseError$1 = class extends (_b8$3 = GatewayError$1, _a8$1$2 = symbol8$1$2, _b8$3) {
|
|
5993
6391
|
constructor({ message = "Invalid response from Gateway", statusCode = 502, response, validationError, cause } = {}) {
|
|
5994
6392
|
super({
|
|
5995
6393
|
message,
|
|
5996
6394
|
statusCode,
|
|
5997
6395
|
cause
|
|
5998
6396
|
});
|
|
5999
|
-
this[_a8$1$
|
|
6000
|
-
this.name = name7$1$
|
|
6397
|
+
this[_a8$1$2] = true;
|
|
6398
|
+
this.name = name7$1$2;
|
|
6001
6399
|
this.type = "response_error";
|
|
6002
6400
|
this.response = response;
|
|
6003
6401
|
this.validationError = validationError;
|
|
6004
6402
|
}
|
|
6005
6403
|
static isInstance(error) {
|
|
6006
|
-
return GatewayError$1.hasMarker(error) && symbol8$1$
|
|
6404
|
+
return GatewayError$1.hasMarker(error) && symbol8$1$2 in error;
|
|
6007
6405
|
}
|
|
6008
6406
|
};
|
|
6009
6407
|
async function createGatewayErrorFromResponse$1({ response, statusCode, defaultMessage = "Gateway request failed", cause, authMethod }) {
|
|
@@ -6089,24 +6487,24 @@ function extractApiCallResponse$1(error) {
|
|
|
6089
6487
|
}
|
|
6090
6488
|
return {};
|
|
6091
6489
|
}
|
|
6092
|
-
var name8$1$
|
|
6093
|
-
var marker9$1$
|
|
6094
|
-
var symbol9$1$
|
|
6095
|
-
var _a9$1$
|
|
6096
|
-
var _b9$
|
|
6097
|
-
var GatewayTimeoutError$1 = class _GatewayTimeoutError extends (_b9$
|
|
6490
|
+
var name8$1$2 = "GatewayTimeoutError";
|
|
6491
|
+
var marker9$1$2 = `vercel.ai.gateway.error.${name8$1$2}`;
|
|
6492
|
+
var symbol9$1$2 = Symbol.for(marker9$1$2);
|
|
6493
|
+
var _a9$1$2;
|
|
6494
|
+
var _b9$3;
|
|
6495
|
+
var GatewayTimeoutError$1 = class _GatewayTimeoutError extends (_b9$3 = GatewayError$1, _a9$1$2 = symbol9$1$2, _b9$3) {
|
|
6098
6496
|
constructor({ message = "Request timed out", statusCode = 408, cause } = {}) {
|
|
6099
6497
|
super({
|
|
6100
6498
|
message,
|
|
6101
6499
|
statusCode,
|
|
6102
6500
|
cause
|
|
6103
6501
|
});
|
|
6104
|
-
this[_a9$1$
|
|
6105
|
-
this.name = name8$1$
|
|
6502
|
+
this[_a9$1$2] = true;
|
|
6503
|
+
this.name = name8$1$2;
|
|
6106
6504
|
this.type = "timeout_error";
|
|
6107
6505
|
}
|
|
6108
6506
|
static isInstance(error) {
|
|
6109
|
-
return GatewayError$1.hasMarker(error) && symbol9$1$
|
|
6507
|
+
return GatewayError$1.hasMarker(error) && symbol9$1$2 in error;
|
|
6110
6508
|
}
|
|
6111
6509
|
/**
|
|
6112
6510
|
* Creates a helpful timeout error message with troubleshooting guidance
|
|
@@ -6139,7 +6537,7 @@ async function asGatewayError$1(error, authMethod) {
|
|
|
6139
6537
|
originalMessage: error instanceof Error ? error.message : "Unknown error",
|
|
6140
6538
|
cause: error
|
|
6141
6539
|
});
|
|
6142
|
-
if (APICallError$
|
|
6540
|
+
if (APICallError$2.isInstance(error)) {
|
|
6143
6541
|
if (error.cause && isTimeoutError$1(error.cause)) return GatewayTimeoutError$1.createTimeoutError({
|
|
6144
6542
|
originalMessage: error.message,
|
|
6145
6543
|
cause: error
|
|
@@ -7674,7 +8072,7 @@ var name2$3 = "AI_InvalidArgumentError";
|
|
|
7674
8072
|
var marker2$3 = `vercel.ai.error.${name2$3}`;
|
|
7675
8073
|
var symbol2$3 = Symbol.for(marker2$3);
|
|
7676
8074
|
var _a2$3;
|
|
7677
|
-
var InvalidArgumentError$
|
|
8075
|
+
var InvalidArgumentError$3 = class extends AISDKError$2 {
|
|
7678
8076
|
constructor({ parameter, value, message }) {
|
|
7679
8077
|
super({
|
|
7680
8078
|
name: name2$3,
|
|
@@ -7685,7 +8083,7 @@ var InvalidArgumentError$2 = class extends AISDKError$1 {
|
|
|
7685
8083
|
this.value = value;
|
|
7686
8084
|
}
|
|
7687
8085
|
static isInstance(error) {
|
|
7688
|
-
return AISDKError$
|
|
8086
|
+
return AISDKError$2.hasMarker(error, marker2$3);
|
|
7689
8087
|
}
|
|
7690
8088
|
};
|
|
7691
8089
|
_a2$3 = symbol2$3;
|
|
@@ -7693,7 +8091,7 @@ var name6$3 = "AI_NoObjectGeneratedError";
|
|
|
7693
8091
|
var marker6$3 = `vercel.ai.error.${name6$3}`;
|
|
7694
8092
|
var symbol6$3 = Symbol.for(marker6$3);
|
|
7695
8093
|
var _a6$3;
|
|
7696
|
-
var NoObjectGeneratedError$1 = class extends AISDKError$
|
|
8094
|
+
var NoObjectGeneratedError$1 = class extends AISDKError$2 {
|
|
7697
8095
|
constructor({ message = "No object generated.", cause, text: text2, response, usage, finishReason }) {
|
|
7698
8096
|
super({
|
|
7699
8097
|
name: name6$3,
|
|
@@ -7707,11 +8105,11 @@ var NoObjectGeneratedError$1 = class extends AISDKError$1 {
|
|
|
7707
8105
|
this.finishReason = finishReason;
|
|
7708
8106
|
}
|
|
7709
8107
|
static isInstance(error) {
|
|
7710
|
-
return AISDKError$
|
|
8108
|
+
return AISDKError$2.hasMarker(error, marker6$3);
|
|
7711
8109
|
}
|
|
7712
8110
|
};
|
|
7713
8111
|
_a6$3 = symbol6$3;
|
|
7714
|
-
var UnsupportedModelVersionError$1 = class extends AISDKError$
|
|
8112
|
+
var UnsupportedModelVersionError$1 = class extends AISDKError$2 {
|
|
7715
8113
|
constructor(options) {
|
|
7716
8114
|
super({
|
|
7717
8115
|
name: "AI_UnsupportedModelVersionError",
|
|
@@ -7723,25 +8121,25 @@ var UnsupportedModelVersionError$1 = class extends AISDKError$1 {
|
|
|
7723
8121
|
}
|
|
7724
8122
|
};
|
|
7725
8123
|
var name14$1 = "AI_RetryError";
|
|
7726
|
-
var marker14$
|
|
7727
|
-
var symbol14$
|
|
7728
|
-
var _a14$
|
|
7729
|
-
var RetryError$1 = class extends AISDKError$
|
|
8124
|
+
var marker14$3 = `vercel.ai.error.${name14$1}`;
|
|
8125
|
+
var symbol14$3 = Symbol.for(marker14$3);
|
|
8126
|
+
var _a14$3;
|
|
8127
|
+
var RetryError$1 = class extends AISDKError$2 {
|
|
7730
8128
|
constructor({ message, reason, errors }) {
|
|
7731
8129
|
super({
|
|
7732
8130
|
name: name14$1,
|
|
7733
8131
|
message
|
|
7734
8132
|
});
|
|
7735
|
-
this[_a14$
|
|
8133
|
+
this[_a14$3] = true;
|
|
7736
8134
|
this.reason = reason;
|
|
7737
8135
|
this.errors = errors;
|
|
7738
8136
|
this.lastError = errors[errors.length - 1];
|
|
7739
8137
|
}
|
|
7740
8138
|
static isInstance(error) {
|
|
7741
|
-
return AISDKError$
|
|
8139
|
+
return AISDKError$2.hasMarker(error, marker14$3);
|
|
7742
8140
|
}
|
|
7743
8141
|
};
|
|
7744
|
-
_a14$
|
|
8142
|
+
_a14$3 = symbol14$3;
|
|
7745
8143
|
function resolveEmbeddingModel$1(model) {
|
|
7746
8144
|
if (typeof model !== "string") {
|
|
7747
8145
|
if (model.specificationVersion !== "v2") throw new UnsupportedModelVersionError$1({
|
|
@@ -8046,7 +8444,7 @@ async function _retryWithExponentialBackoff(f, { maxRetries, delayInMs, backoffF
|
|
|
8046
8444
|
} catch (error) {
|
|
8047
8445
|
if (isAbortError$3(error)) throw error;
|
|
8048
8446
|
if (maxRetries === 0) throw error;
|
|
8049
|
-
const errorMessage = getErrorMessage$
|
|
8447
|
+
const errorMessage = getErrorMessage$1$1(error);
|
|
8050
8448
|
const newErrors = [...errors, error];
|
|
8051
8449
|
const tryNumber = newErrors.length;
|
|
8052
8450
|
if (tryNumber > maxRetries) throw new RetryError$1({
|
|
@@ -8054,7 +8452,7 @@ async function _retryWithExponentialBackoff(f, { maxRetries, delayInMs, backoffF
|
|
|
8054
8452
|
reason: "maxRetriesExceeded",
|
|
8055
8453
|
errors: newErrors
|
|
8056
8454
|
});
|
|
8057
|
-
if (error instanceof Error && APICallError$
|
|
8455
|
+
if (error instanceof Error && APICallError$2.isInstance(error) && error.isRetryable === true && tryNumber <= maxRetries) {
|
|
8058
8456
|
await delay$1(getRetryDelayInMs$1({
|
|
8059
8457
|
error,
|
|
8060
8458
|
exponentialBackoffDelay: delayInMs
|
|
@@ -8076,12 +8474,12 @@ async function _retryWithExponentialBackoff(f, { maxRetries, delayInMs, backoffF
|
|
|
8076
8474
|
}
|
|
8077
8475
|
function prepareRetries$1({ maxRetries, abortSignal }) {
|
|
8078
8476
|
if (maxRetries != null) {
|
|
8079
|
-
if (!Number.isInteger(maxRetries)) throw new InvalidArgumentError$
|
|
8477
|
+
if (!Number.isInteger(maxRetries)) throw new InvalidArgumentError$3({
|
|
8080
8478
|
parameter: "maxRetries",
|
|
8081
8479
|
value: maxRetries,
|
|
8082
8480
|
message: "maxRetries must be an integer"
|
|
8083
8481
|
});
|
|
8084
|
-
if (maxRetries < 0) throw new InvalidArgumentError$
|
|
8482
|
+
if (maxRetries < 0) throw new InvalidArgumentError$3({
|
|
8085
8483
|
parameter: "maxRetries",
|
|
8086
8484
|
value: maxRetries,
|
|
8087
8485
|
message: "maxRetries must be >= 0"
|
|
@@ -8623,12 +9021,12 @@ var object$1 = ({ schema: inputSchema }) => {
|
|
|
8623
9021
|
};
|
|
8624
9022
|
};
|
|
8625
9023
|
//#endregion
|
|
8626
|
-
//#region ../_vendored/ai_v6/dist/dist
|
|
8627
|
-
var marker$
|
|
8628
|
-
var symbol$
|
|
8629
|
-
var _a$
|
|
8630
|
-
var _b$
|
|
8631
|
-
var AISDKError = class _AISDKError extends (_b$
|
|
9024
|
+
//#region ../_vendored/ai_v6/dist/dist--V1K8YWk.js
|
|
9025
|
+
var marker$2 = "vercel.ai.error";
|
|
9026
|
+
var symbol$2 = Symbol.for(marker$2);
|
|
9027
|
+
var _a$2;
|
|
9028
|
+
var _b$2;
|
|
9029
|
+
var AISDKError$1 = class _AISDKError extends (_b$2 = Error, _a$2 = symbol$2, _b$2) {
|
|
8632
9030
|
/**
|
|
8633
9031
|
* Creates an AI SDK Error.
|
|
8634
9032
|
*
|
|
@@ -8639,7 +9037,7 @@ var AISDKError = class _AISDKError extends (_b$1 = Error, _a$1$1 = symbol$1$1, _
|
|
|
8639
9037
|
*/
|
|
8640
9038
|
constructor({ name: name14, message, cause }) {
|
|
8641
9039
|
super(message);
|
|
8642
|
-
this[_a$
|
|
9040
|
+
this[_a$2] = true;
|
|
8643
9041
|
this.name = name14;
|
|
8644
9042
|
this.cause = cause;
|
|
8645
9043
|
}
|
|
@@ -8649,26 +9047,26 @@ var AISDKError = class _AISDKError extends (_b$1 = Error, _a$1$1 = symbol$1$1, _
|
|
|
8649
9047
|
* @returns {boolean} True if the error is an AI SDK Error, false otherwise.
|
|
8650
9048
|
*/
|
|
8651
9049
|
static isInstance(error) {
|
|
8652
|
-
return _AISDKError.hasMarker(error, marker$
|
|
9050
|
+
return _AISDKError.hasMarker(error, marker$2);
|
|
8653
9051
|
}
|
|
8654
9052
|
static hasMarker(error, marker15) {
|
|
8655
9053
|
const markerSymbol = Symbol.for(marker15);
|
|
8656
9054
|
return error != null && typeof error === "object" && markerSymbol in error && typeof error[markerSymbol] === "boolean" && error[markerSymbol] === true;
|
|
8657
9055
|
}
|
|
8658
9056
|
};
|
|
8659
|
-
var name$
|
|
8660
|
-
var marker2$
|
|
8661
|
-
var symbol2$
|
|
8662
|
-
var _a2$
|
|
9057
|
+
var name$2 = "AI_APICallError";
|
|
9058
|
+
var marker2$1$1 = `vercel.ai.error.${name$2}`;
|
|
9059
|
+
var symbol2$1$1 = Symbol.for(marker2$1$1);
|
|
9060
|
+
var _a2$1$1;
|
|
8663
9061
|
var _b2$1;
|
|
8664
|
-
var APICallError = class extends (_b2$1 = AISDKError, _a2$
|
|
9062
|
+
var APICallError$1 = class extends (_b2$1 = AISDKError$1, _a2$1$1 = symbol2$1$1, _b2$1) {
|
|
8665
9063
|
constructor({ message, url, requestBodyValues, statusCode, responseHeaders, responseBody, cause, isRetryable = statusCode != null && (statusCode === 408 || statusCode === 409 || statusCode === 429 || statusCode >= 500), data }) {
|
|
8666
9064
|
super({
|
|
8667
|
-
name: name$
|
|
9065
|
+
name: name$2,
|
|
8668
9066
|
message,
|
|
8669
9067
|
cause
|
|
8670
9068
|
});
|
|
8671
|
-
this[_a2$
|
|
9069
|
+
this[_a2$1$1] = true;
|
|
8672
9070
|
this.url = url;
|
|
8673
9071
|
this.requestBodyValues = requestBodyValues;
|
|
8674
9072
|
this.statusCode = statusCode;
|
|
@@ -8678,165 +9076,165 @@ var APICallError = class extends (_b2$1 = AISDKError, _a2$2 = symbol2$2, _b2$1)
|
|
|
8678
9076
|
this.data = data;
|
|
8679
9077
|
}
|
|
8680
9078
|
static isInstance(error) {
|
|
8681
|
-
return AISDKError.hasMarker(error, marker2$
|
|
9079
|
+
return AISDKError$1.hasMarker(error, marker2$1$1);
|
|
8682
9080
|
}
|
|
8683
9081
|
};
|
|
8684
|
-
var name2$
|
|
8685
|
-
var marker3$
|
|
8686
|
-
var symbol3$
|
|
8687
|
-
var _a3$
|
|
9082
|
+
var name2$1$1 = "AI_EmptyResponseBodyError";
|
|
9083
|
+
var marker3$1$1 = `vercel.ai.error.${name2$1$1}`;
|
|
9084
|
+
var symbol3$1$1 = Symbol.for(marker3$1$1);
|
|
9085
|
+
var _a3$1$1;
|
|
8688
9086
|
var _b3$1;
|
|
8689
|
-
var EmptyResponseBodyError = class extends (_b3$1 = AISDKError, _a3$
|
|
9087
|
+
var EmptyResponseBodyError$1 = class extends (_b3$1 = AISDKError$1, _a3$1$1 = symbol3$1$1, _b3$1) {
|
|
8690
9088
|
constructor({ message = "Empty response body" } = {}) {
|
|
8691
9089
|
super({
|
|
8692
|
-
name: name2$
|
|
9090
|
+
name: name2$1$1,
|
|
8693
9091
|
message
|
|
8694
9092
|
});
|
|
8695
|
-
this[_a3$
|
|
9093
|
+
this[_a3$1$1] = true;
|
|
8696
9094
|
}
|
|
8697
9095
|
static isInstance(error) {
|
|
8698
|
-
return AISDKError.hasMarker(error, marker3$
|
|
9096
|
+
return AISDKError$1.hasMarker(error, marker3$1$1);
|
|
8699
9097
|
}
|
|
8700
9098
|
};
|
|
8701
|
-
function getErrorMessage$
|
|
9099
|
+
function getErrorMessage$2(error) {
|
|
8702
9100
|
if (error == null) return "unknown error";
|
|
8703
9101
|
if (typeof error === "string") return error;
|
|
8704
9102
|
if (error instanceof Error) return error.message;
|
|
8705
9103
|
return JSON.stringify(error);
|
|
8706
9104
|
}
|
|
8707
|
-
var name3$
|
|
8708
|
-
var marker4$
|
|
8709
|
-
var symbol4$
|
|
8710
|
-
var _a4$
|
|
9105
|
+
var name3$1$1 = "AI_InvalidArgumentError";
|
|
9106
|
+
var marker4$1$1 = `vercel.ai.error.${name3$1$1}`;
|
|
9107
|
+
var symbol4$1$1 = Symbol.for(marker4$1$1);
|
|
9108
|
+
var _a4$1$1;
|
|
8711
9109
|
var _b4$1;
|
|
8712
|
-
var InvalidArgumentError$1 = class extends (_b4$1 = AISDKError, _a4$
|
|
9110
|
+
var InvalidArgumentError$1 = class extends (_b4$1 = AISDKError$1, _a4$1$1 = symbol4$1$1, _b4$1) {
|
|
8713
9111
|
constructor({ message, cause, argument }) {
|
|
8714
9112
|
super({
|
|
8715
|
-
name: name3$
|
|
9113
|
+
name: name3$1$1,
|
|
8716
9114
|
message,
|
|
8717
9115
|
cause
|
|
8718
9116
|
});
|
|
8719
|
-
this[_a4$
|
|
9117
|
+
this[_a4$1$1] = true;
|
|
8720
9118
|
this.argument = argument;
|
|
8721
9119
|
}
|
|
8722
9120
|
static isInstance(error) {
|
|
8723
|
-
return AISDKError.hasMarker(error, marker4$
|
|
9121
|
+
return AISDKError$1.hasMarker(error, marker4$1$1);
|
|
8724
9122
|
}
|
|
8725
9123
|
};
|
|
8726
|
-
var name4$
|
|
8727
|
-
var marker5$
|
|
8728
|
-
var symbol5$
|
|
8729
|
-
var _a5$
|
|
9124
|
+
var name4$1$1 = "AI_InvalidPromptError";
|
|
9125
|
+
var marker5$1$1 = `vercel.ai.error.${name4$1$1}`;
|
|
9126
|
+
var symbol5$1$1 = Symbol.for(marker5$1$1);
|
|
9127
|
+
var _a5$1$1;
|
|
8730
9128
|
var _b5$1;
|
|
8731
|
-
(class extends (_b5$1 = AISDKError, _a5$
|
|
9129
|
+
(class extends (_b5$1 = AISDKError$1, _a5$1$1 = symbol5$1$1, _b5$1) {
|
|
8732
9130
|
constructor({ prompt, message, cause }) {
|
|
8733
9131
|
super({
|
|
8734
|
-
name: name4$
|
|
9132
|
+
name: name4$1$1,
|
|
8735
9133
|
message: `Invalid prompt: ${message}`,
|
|
8736
9134
|
cause
|
|
8737
9135
|
});
|
|
8738
|
-
this[_a5$
|
|
9136
|
+
this[_a5$1$1] = true;
|
|
8739
9137
|
this.prompt = prompt;
|
|
8740
9138
|
}
|
|
8741
9139
|
static isInstance(error) {
|
|
8742
|
-
return AISDKError.hasMarker(error, marker5$
|
|
9140
|
+
return AISDKError$1.hasMarker(error, marker5$1$1);
|
|
8743
9141
|
}
|
|
8744
9142
|
});
|
|
8745
|
-
var name5$
|
|
8746
|
-
var marker6$
|
|
8747
|
-
var symbol6$
|
|
8748
|
-
var _a6$
|
|
9143
|
+
var name5$1$1 = "AI_InvalidResponseDataError";
|
|
9144
|
+
var marker6$1$1 = `vercel.ai.error.${name5$1$1}`;
|
|
9145
|
+
var symbol6$1$1 = Symbol.for(marker6$1$1);
|
|
9146
|
+
var _a6$1$1;
|
|
8749
9147
|
var _b6$1;
|
|
8750
|
-
(class extends (_b6$1 = AISDKError, _a6$
|
|
9148
|
+
(class extends (_b6$1 = AISDKError$1, _a6$1$1 = symbol6$1$1, _b6$1) {
|
|
8751
9149
|
constructor({ data, message = `Invalid response data: ${JSON.stringify(data)}.` }) {
|
|
8752
9150
|
super({
|
|
8753
|
-
name: name5$
|
|
9151
|
+
name: name5$1$1,
|
|
8754
9152
|
message
|
|
8755
9153
|
});
|
|
8756
|
-
this[_a6$
|
|
9154
|
+
this[_a6$1$1] = true;
|
|
8757
9155
|
this.data = data;
|
|
8758
9156
|
}
|
|
8759
9157
|
static isInstance(error) {
|
|
8760
|
-
return AISDKError.hasMarker(error, marker6$
|
|
9158
|
+
return AISDKError$1.hasMarker(error, marker6$1$1);
|
|
8761
9159
|
}
|
|
8762
9160
|
});
|
|
8763
|
-
var name6$
|
|
8764
|
-
var marker7$
|
|
8765
|
-
var symbol7$
|
|
8766
|
-
var _a7$
|
|
9161
|
+
var name6$1$1 = "AI_JSONParseError";
|
|
9162
|
+
var marker7$1$1 = `vercel.ai.error.${name6$1$1}`;
|
|
9163
|
+
var symbol7$1$1 = Symbol.for(marker7$1$1);
|
|
9164
|
+
var _a7$1$1;
|
|
8767
9165
|
var _b7$1;
|
|
8768
|
-
var JSONParseError = class extends (_b7$1 = AISDKError, _a7$
|
|
9166
|
+
var JSONParseError$1 = class extends (_b7$1 = AISDKError$1, _a7$1$1 = symbol7$1$1, _b7$1) {
|
|
8769
9167
|
constructor({ text, cause }) {
|
|
8770
9168
|
super({
|
|
8771
|
-
name: name6$
|
|
9169
|
+
name: name6$1$1,
|
|
8772
9170
|
message: `JSON parsing failed: Text: ${text}.
|
|
8773
|
-
Error message: ${getErrorMessage$
|
|
9171
|
+
Error message: ${getErrorMessage$2(cause)}`,
|
|
8774
9172
|
cause
|
|
8775
9173
|
});
|
|
8776
|
-
this[_a7$
|
|
9174
|
+
this[_a7$1$1] = true;
|
|
8777
9175
|
this.text = text;
|
|
8778
9176
|
}
|
|
8779
9177
|
static isInstance(error) {
|
|
8780
|
-
return AISDKError.hasMarker(error, marker7$
|
|
9178
|
+
return AISDKError$1.hasMarker(error, marker7$1$1);
|
|
8781
9179
|
}
|
|
8782
9180
|
};
|
|
8783
|
-
var name7$
|
|
8784
|
-
var marker8$
|
|
8785
|
-
var symbol8$
|
|
8786
|
-
var _a8$
|
|
9181
|
+
var name7$1$1 = "AI_LoadAPIKeyError";
|
|
9182
|
+
var marker8$1$1 = `vercel.ai.error.${name7$1$1}`;
|
|
9183
|
+
var symbol8$1$1 = Symbol.for(marker8$1$1);
|
|
9184
|
+
var _a8$1$1;
|
|
8787
9185
|
var _b8$1;
|
|
8788
|
-
(class extends (_b8$1 = AISDKError, _a8$
|
|
9186
|
+
(class extends (_b8$1 = AISDKError$1, _a8$1$1 = symbol8$1$1, _b8$1) {
|
|
8789
9187
|
constructor({ message }) {
|
|
8790
9188
|
super({
|
|
8791
|
-
name: name7$
|
|
9189
|
+
name: name7$1$1,
|
|
8792
9190
|
message
|
|
8793
9191
|
});
|
|
8794
|
-
this[_a8$
|
|
9192
|
+
this[_a8$1$1] = true;
|
|
8795
9193
|
}
|
|
8796
9194
|
static isInstance(error) {
|
|
8797
|
-
return AISDKError.hasMarker(error, marker8$
|
|
9195
|
+
return AISDKError$1.hasMarker(error, marker8$1$1);
|
|
8798
9196
|
}
|
|
8799
9197
|
});
|
|
8800
|
-
var name8$
|
|
8801
|
-
var marker9$
|
|
8802
|
-
var symbol9$
|
|
8803
|
-
var _a9$
|
|
9198
|
+
var name8$1$1 = "AI_LoadSettingError";
|
|
9199
|
+
var marker9$1$1 = `vercel.ai.error.${name8$1$1}`;
|
|
9200
|
+
var symbol9$1$1 = Symbol.for(marker9$1$1);
|
|
9201
|
+
var _a9$1$1;
|
|
8804
9202
|
var _b9$1;
|
|
8805
|
-
(class extends (_b9$1 = AISDKError, _a9$
|
|
9203
|
+
(class extends (_b9$1 = AISDKError$1, _a9$1$1 = symbol9$1$1, _b9$1) {
|
|
8806
9204
|
constructor({ message }) {
|
|
8807
9205
|
super({
|
|
8808
|
-
name: name8$
|
|
9206
|
+
name: name8$1$1,
|
|
8809
9207
|
message
|
|
8810
9208
|
});
|
|
8811
|
-
this[_a9$
|
|
9209
|
+
this[_a9$1$1] = true;
|
|
8812
9210
|
}
|
|
8813
9211
|
static isInstance(error) {
|
|
8814
|
-
return AISDKError.hasMarker(error, marker9$
|
|
9212
|
+
return AISDKError$1.hasMarker(error, marker9$1$1);
|
|
8815
9213
|
}
|
|
8816
9214
|
});
|
|
8817
|
-
var name9$
|
|
8818
|
-
var marker10$
|
|
8819
|
-
var symbol10$
|
|
8820
|
-
var _a10$
|
|
9215
|
+
var name9$1$1 = "AI_NoContentGeneratedError";
|
|
9216
|
+
var marker10$1$1 = `vercel.ai.error.${name9$1$1}`;
|
|
9217
|
+
var symbol10$1$1 = Symbol.for(marker10$1$1);
|
|
9218
|
+
var _a10$1$1;
|
|
8821
9219
|
var _b10$1;
|
|
8822
|
-
(class extends (_b10$1 = AISDKError, _a10$
|
|
9220
|
+
(class extends (_b10$1 = AISDKError$1, _a10$1$1 = symbol10$1$1, _b10$1) {
|
|
8823
9221
|
constructor({ message = "No content generated." } = {}) {
|
|
8824
9222
|
super({
|
|
8825
|
-
name: name9$
|
|
9223
|
+
name: name9$1$1,
|
|
8826
9224
|
message
|
|
8827
9225
|
});
|
|
8828
|
-
this[_a10$
|
|
9226
|
+
this[_a10$1$1] = true;
|
|
8829
9227
|
}
|
|
8830
9228
|
static isInstance(error) {
|
|
8831
|
-
return AISDKError.hasMarker(error, marker10$
|
|
9229
|
+
return AISDKError$1.hasMarker(error, marker10$1$1);
|
|
8832
9230
|
}
|
|
8833
9231
|
});
|
|
8834
9232
|
var name10$1 = "AI_NoSuchModelError";
|
|
8835
9233
|
var marker11$1 = `vercel.ai.error.${name10$1}`;
|
|
8836
9234
|
var symbol11$1 = Symbol.for(marker11$1);
|
|
8837
9235
|
var _a11$1;
|
|
8838
|
-
var _b11;
|
|
8839
|
-
(class extends (_b11 = AISDKError, _a11$1 = symbol11$1, _b11) {
|
|
9236
|
+
var _b11$1;
|
|
9237
|
+
(class extends (_b11$1 = AISDKError$1, _a11$1 = symbol11$1, _b11$1) {
|
|
8840
9238
|
constructor({ errorName = name10$1, modelId, modelType, message = `No such ${modelType}: ${modelId}` }) {
|
|
8841
9239
|
super({
|
|
8842
9240
|
name: errorName,
|
|
@@ -8847,15 +9245,15 @@ var _b11;
|
|
|
8847
9245
|
this.modelType = modelType;
|
|
8848
9246
|
}
|
|
8849
9247
|
static isInstance(error) {
|
|
8850
|
-
return AISDKError.hasMarker(error, marker11$1);
|
|
9248
|
+
return AISDKError$1.hasMarker(error, marker11$1);
|
|
8851
9249
|
}
|
|
8852
9250
|
});
|
|
8853
9251
|
var name11$1 = "AI_TooManyEmbeddingValuesForCallError";
|
|
8854
9252
|
var marker12$1 = `vercel.ai.error.${name11$1}`;
|
|
8855
9253
|
var symbol12$1 = Symbol.for(marker12$1);
|
|
8856
9254
|
var _a12$1;
|
|
8857
|
-
var _b12;
|
|
8858
|
-
(class extends (_b12 = AISDKError, _a12$1 = symbol12$1, _b12) {
|
|
9255
|
+
var _b12$1;
|
|
9256
|
+
(class extends (_b12$1 = AISDKError$1, _a12$1 = symbol12$1, _b12$1) {
|
|
8859
9257
|
constructor(options) {
|
|
8860
9258
|
super({
|
|
8861
9259
|
name: name11$1,
|
|
@@ -8868,15 +9266,15 @@ var _b12;
|
|
|
8868
9266
|
this.values = options.values;
|
|
8869
9267
|
}
|
|
8870
9268
|
static isInstance(error) {
|
|
8871
|
-
return AISDKError.hasMarker(error, marker12$1);
|
|
9269
|
+
return AISDKError$1.hasMarker(error, marker12$1);
|
|
8872
9270
|
}
|
|
8873
9271
|
});
|
|
8874
9272
|
var name12$1 = "AI_TypeValidationError";
|
|
8875
9273
|
var marker13$1 = `vercel.ai.error.${name12$1}`;
|
|
8876
9274
|
var symbol13$1 = Symbol.for(marker13$1);
|
|
8877
9275
|
var _a13$1;
|
|
8878
|
-
var _b13;
|
|
8879
|
-
var TypeValidationError = class _TypeValidationError extends (_b13 = AISDKError, _a13$1 = symbol13$1, _b13) {
|
|
9276
|
+
var _b13$1;
|
|
9277
|
+
var TypeValidationError$1 = class _TypeValidationError extends (_b13$1 = AISDKError$1, _a13$1 = symbol13$1, _b13$1) {
|
|
8880
9278
|
constructor({ value, cause, context }) {
|
|
8881
9279
|
let contextPrefix = "Type validation failed";
|
|
8882
9280
|
if (context == null ? void 0 : context.field) contextPrefix += ` for ${context.field}`;
|
|
@@ -8891,7 +9289,7 @@ var TypeValidationError = class _TypeValidationError extends (_b13 = AISDKError,
|
|
|
8891
9289
|
super({
|
|
8892
9290
|
name: name12$1,
|
|
8893
9291
|
message: `${contextPrefix}: Value: ${JSON.stringify(value)}.
|
|
8894
|
-
Error message: ${getErrorMessage$
|
|
9292
|
+
Error message: ${getErrorMessage$2(cause)}`,
|
|
8895
9293
|
cause
|
|
8896
9294
|
});
|
|
8897
9295
|
this[_a13$1] = true;
|
|
@@ -8899,7 +9297,7 @@ Error message: ${getErrorMessage$1(cause)}`,
|
|
|
8899
9297
|
this.context = context;
|
|
8900
9298
|
}
|
|
8901
9299
|
static isInstance(error) {
|
|
8902
|
-
return AISDKError.hasMarker(error, marker13$1);
|
|
9300
|
+
return AISDKError$1.hasMarker(error, marker13$1);
|
|
8903
9301
|
}
|
|
8904
9302
|
/**
|
|
8905
9303
|
* Wraps an error into a TypeValidationError.
|
|
@@ -8926,8 +9324,8 @@ var name13$1 = "AI_UnsupportedFunctionalityError";
|
|
|
8926
9324
|
var marker14$1 = `vercel.ai.error.${name13$1}`;
|
|
8927
9325
|
var symbol14$1 = Symbol.for(marker14$1);
|
|
8928
9326
|
var _a14$1;
|
|
8929
|
-
var _b14;
|
|
8930
|
-
(class extends (_b14 = AISDKError, _a14$1 = symbol14$1, _b14) {
|
|
9327
|
+
var _b14$1;
|
|
9328
|
+
(class extends (_b14$1 = AISDKError$1, _a14$1 = symbol14$1, _b14$1) {
|
|
8931
9329
|
constructor({ functionality, message = `'${functionality}' functionality not supported.` }) {
|
|
8932
9330
|
super({
|
|
8933
9331
|
name: name13$1,
|
|
@@ -8937,7 +9335,7 @@ var _b14;
|
|
|
8937
9335
|
this.functionality = functionality;
|
|
8938
9336
|
}
|
|
8939
9337
|
static isInstance(error) {
|
|
8940
|
-
return AISDKError.hasMarker(error, marker14$1);
|
|
9338
|
+
return AISDKError$1.hasMarker(error, marker14$1);
|
|
8941
9339
|
}
|
|
8942
9340
|
});
|
|
8943
9341
|
var ParseError = class extends Error {
|
|
@@ -9163,9 +9561,10 @@ function extractResponseHeaders(response) {
|
|
|
9163
9561
|
}
|
|
9164
9562
|
var { btoa, atob } = globalThis;
|
|
9165
9563
|
function convertUint8ArrayToBase64(array) {
|
|
9166
|
-
|
|
9167
|
-
|
|
9168
|
-
|
|
9564
|
+
const chunks = [];
|
|
9565
|
+
const chunkSize = 4096;
|
|
9566
|
+
for (let i = 0; i < array.length; i += chunkSize) chunks.push(String.fromCodePoint(...array.subarray(i, i + chunkSize)));
|
|
9567
|
+
return btoa(chunks.join(""));
|
|
9169
9568
|
}
|
|
9170
9569
|
async function cancelResponseBody(response) {
|
|
9171
9570
|
var _a2;
|
|
@@ -9173,25 +9572,25 @@ async function cancelResponseBody(response) {
|
|
|
9173
9572
|
await ((_a2 = response.body) == null ? void 0 : _a2.cancel());
|
|
9174
9573
|
} catch (e) {}
|
|
9175
9574
|
}
|
|
9176
|
-
var name$
|
|
9177
|
-
var marker$
|
|
9178
|
-
var symbol$
|
|
9179
|
-
var _a$
|
|
9180
|
-
var _b$
|
|
9181
|
-
var DownloadError = class extends (_b$
|
|
9575
|
+
var name$1$1 = "AI_DownloadError";
|
|
9576
|
+
var marker$1 = `vercel.ai.error.${name$1$1}`;
|
|
9577
|
+
var symbol$1$1 = Symbol.for(marker$1);
|
|
9578
|
+
var _a$1$1;
|
|
9579
|
+
var _b$1;
|
|
9580
|
+
var DownloadError = class extends (_b$1 = AISDKError$1, _a$1$1 = symbol$1$1, _b$1) {
|
|
9182
9581
|
constructor({ url, statusCode, statusText, cause, message = cause == null ? `Failed to download ${url}: ${statusCode} ${statusText}` : `Failed to download ${url}: ${cause}` }) {
|
|
9183
9582
|
super({
|
|
9184
|
-
name: name$
|
|
9583
|
+
name: name$1$1,
|
|
9185
9584
|
message,
|
|
9186
9585
|
cause
|
|
9187
9586
|
});
|
|
9188
|
-
this[_a$
|
|
9587
|
+
this[_a$1$1] = true;
|
|
9189
9588
|
this.url = url;
|
|
9190
9589
|
this.statusCode = statusCode;
|
|
9191
9590
|
this.statusText = statusText;
|
|
9192
9591
|
}
|
|
9193
9592
|
static isInstance(error) {
|
|
9194
|
-
return AISDKError.hasMarker(error, marker$
|
|
9593
|
+
return AISDKError$1.hasMarker(error, marker$1);
|
|
9195
9594
|
}
|
|
9196
9595
|
};
|
|
9197
9596
|
var initialGlobalFetch = globalThis.fetch;
|
|
@@ -9247,7 +9646,7 @@ async function readResponseWithSizeLimit({ response, url, maxBytes = DEFAULT_MAX
|
|
|
9247
9646
|
} finally {
|
|
9248
9647
|
try {
|
|
9249
9648
|
await reader.cancel();
|
|
9250
|
-
} finally {
|
|
9649
|
+
} catch (e) {} finally {
|
|
9251
9650
|
reader.releaseLock();
|
|
9252
9651
|
}
|
|
9253
9652
|
}
|
|
@@ -9274,7 +9673,7 @@ var createIdGenerator = ({ prefix, size = 16, alphabet = "0123456789ABCDEFGHIJKL
|
|
|
9274
9673
|
return () => `${prefix}${separator}${generator()}`;
|
|
9275
9674
|
};
|
|
9276
9675
|
createIdGenerator();
|
|
9277
|
-
function getErrorMessage(error) {
|
|
9676
|
+
function getErrorMessage$1(error) {
|
|
9278
9677
|
if (error == null) return "unknown error";
|
|
9279
9678
|
if (typeof error === "string") return error;
|
|
9280
9679
|
if (error instanceof Error) return error.message;
|
|
@@ -9284,26 +9683,34 @@ function isAbortError$2(error) {
|
|
|
9284
9683
|
return (error instanceof Error || error instanceof DOMException) && (error.name === "AbortError" || error.name === "ResponseAborted" || error.name === "TimeoutError");
|
|
9285
9684
|
}
|
|
9286
9685
|
var FETCH_FAILED_ERROR_MESSAGES = ["fetch failed", "failed to fetch"];
|
|
9287
|
-
var
|
|
9686
|
+
var RETRYABLE_NETWORK_ERROR_CODES = /* @__PURE__ */ new Set([
|
|
9288
9687
|
"ConnectionRefused",
|
|
9289
9688
|
"ConnectionClosed",
|
|
9290
9689
|
"FailedToOpenSocket",
|
|
9291
9690
|
"ECONNRESET",
|
|
9292
9691
|
"ECONNREFUSED",
|
|
9293
9692
|
"ETIMEDOUT",
|
|
9294
|
-
"EPIPE"
|
|
9295
|
-
|
|
9296
|
-
|
|
9297
|
-
|
|
9298
|
-
|
|
9299
|
-
|
|
9300
|
-
|
|
9693
|
+
"EPIPE",
|
|
9694
|
+
"UND_ERR_SOCKET",
|
|
9695
|
+
"UND_ERR_HEADERS_TIMEOUT",
|
|
9696
|
+
"UND_ERR_BODY_TIMEOUT",
|
|
9697
|
+
"UND_ERR_CONNECT_TIMEOUT"
|
|
9698
|
+
]);
|
|
9699
|
+
function findNetworkError(error) {
|
|
9700
|
+
const visited = /* @__PURE__ */ new Set();
|
|
9701
|
+
let current = error;
|
|
9702
|
+
while (current instanceof Error && !visited.has(current)) {
|
|
9703
|
+
visited.add(current);
|
|
9704
|
+
const errorWithCode = current;
|
|
9705
|
+
if (typeof errorWithCode.code === "string" && RETRYABLE_NETWORK_ERROR_CODES.has(errorWithCode.code)) return errorWithCode;
|
|
9706
|
+
current = current.cause;
|
|
9707
|
+
}
|
|
9301
9708
|
}
|
|
9302
9709
|
function handleFetchError({ error, url, requestBodyValues }) {
|
|
9303
9710
|
if (isAbortError$2(error)) return error;
|
|
9304
9711
|
if (error instanceof TypeError && FETCH_FAILED_ERROR_MESSAGES.includes(error.message.toLowerCase())) {
|
|
9305
9712
|
const cause = error.cause;
|
|
9306
|
-
if (cause != null) return new APICallError({
|
|
9713
|
+
if (cause != null) return new APICallError$1({
|
|
9307
9714
|
message: `Cannot connect to API: ${cause.message}`,
|
|
9308
9715
|
cause,
|
|
9309
9716
|
url,
|
|
@@ -9311,13 +9718,27 @@ function handleFetchError({ error, url, requestBodyValues }) {
|
|
|
9311
9718
|
isRetryable: true
|
|
9312
9719
|
});
|
|
9313
9720
|
}
|
|
9314
|
-
|
|
9315
|
-
|
|
9316
|
-
|
|
9317
|
-
|
|
9318
|
-
|
|
9319
|
-
|
|
9320
|
-
|
|
9721
|
+
const networkError = findNetworkError(error);
|
|
9722
|
+
if (networkError != null) {
|
|
9723
|
+
if (APICallError$1.isInstance(error)) return new APICallError$1({
|
|
9724
|
+
message: error.message,
|
|
9725
|
+
cause: error.cause,
|
|
9726
|
+
url: error.url,
|
|
9727
|
+
requestBodyValues: error.requestBodyValues,
|
|
9728
|
+
statusCode: error.statusCode,
|
|
9729
|
+
responseHeaders: error.responseHeaders,
|
|
9730
|
+
responseBody: error.responseBody,
|
|
9731
|
+
data: error.data,
|
|
9732
|
+
isRetryable: true
|
|
9733
|
+
});
|
|
9734
|
+
return new APICallError$1({
|
|
9735
|
+
message: `Cannot connect to API: ${error instanceof Error ? error.message : networkError.message}`,
|
|
9736
|
+
cause: error,
|
|
9737
|
+
url,
|
|
9738
|
+
requestBodyValues,
|
|
9739
|
+
isRetryable: true
|
|
9740
|
+
});
|
|
9741
|
+
}
|
|
9321
9742
|
return error;
|
|
9322
9743
|
}
|
|
9323
9744
|
function getRuntimeEnvironmentUserAgent(globalThisAny = globalThis) {
|
|
@@ -9346,7 +9767,7 @@ function withUserAgentSuffix(headers, ...userAgentSuffixParts) {
|
|
|
9346
9767
|
normalizedHeaders.set("user-agent", [currentUserAgentHeader, ...userAgentSuffixParts].filter(Boolean).join(" "));
|
|
9347
9768
|
return Object.fromEntries(normalizedHeaders.entries());
|
|
9348
9769
|
}
|
|
9349
|
-
var VERSION$3 = "4.0.
|
|
9770
|
+
var VERSION$3 = "4.0.53";
|
|
9350
9771
|
var getOriginalFetch = () => globalThis.fetch;
|
|
9351
9772
|
var getFromApi = async ({ url, headers = {}, successfulResponseHandler, failedResponseHandler, abortSignal, fetch = getOriginalFetch() }) => {
|
|
9352
9773
|
try {
|
|
@@ -9365,8 +9786,8 @@ var getFromApi = async ({ url, headers = {}, successfulResponseHandler, failedRe
|
|
|
9365
9786
|
requestBodyValues: {}
|
|
9366
9787
|
});
|
|
9367
9788
|
} catch (error) {
|
|
9368
|
-
if (isAbortError$2(error) || APICallError.isInstance(error)) throw error;
|
|
9369
|
-
throw new APICallError({
|
|
9789
|
+
if (isAbortError$2(error) || APICallError$1.isInstance(error)) throw error;
|
|
9790
|
+
throw new APICallError$1({
|
|
9370
9791
|
message: "Failed to process error response",
|
|
9371
9792
|
cause: error,
|
|
9372
9793
|
statusCode: response.status,
|
|
@@ -9385,9 +9806,9 @@ var getFromApi = async ({ url, headers = {}, successfulResponseHandler, failedRe
|
|
|
9385
9806
|
});
|
|
9386
9807
|
} catch (error) {
|
|
9387
9808
|
if (error instanceof Error) {
|
|
9388
|
-
if (isAbortError$2(error) || APICallError.isInstance(error)) throw error;
|
|
9809
|
+
if (isAbortError$2(error) || APICallError$1.isInstance(error)) throw error;
|
|
9389
9810
|
}
|
|
9390
|
-
throw new APICallError({
|
|
9811
|
+
throw new APICallError$1({
|
|
9391
9812
|
message: "Failed to process successful response",
|
|
9392
9813
|
cause: error,
|
|
9393
9814
|
statusCode: response.status,
|
|
@@ -9450,7 +9871,8 @@ function secureJsonParse(text) {
|
|
|
9450
9871
|
}
|
|
9451
9872
|
function addAdditionalPropertiesToJsonSchema(jsonSchema2) {
|
|
9452
9873
|
if (jsonSchema2.type === "object" || Array.isArray(jsonSchema2.type) && jsonSchema2.type.includes("object")) {
|
|
9453
|
-
|
|
9874
|
+
const { additionalProperties } = jsonSchema2;
|
|
9875
|
+
jsonSchema2.additionalProperties = additionalProperties != null && typeof additionalProperties !== "boolean" ? visit(additionalProperties) : false;
|
|
9454
9876
|
const { properties } = jsonSchema2;
|
|
9455
9877
|
if (properties != null) for (const key of Object.keys(properties)) properties[key] = visit(properties[key]);
|
|
9456
9878
|
}
|
|
@@ -10391,7 +10813,7 @@ function standardSchema(standardSchema2) {
|
|
|
10391
10813
|
value: result.value
|
|
10392
10814
|
} : {
|
|
10393
10815
|
success: false,
|
|
10394
|
-
error: new TypeValidationError({
|
|
10816
|
+
error: new TypeValidationError$1({
|
|
10395
10817
|
value,
|
|
10396
10818
|
cause: result.issues
|
|
10397
10819
|
})
|
|
@@ -10446,7 +10868,7 @@ async function validateTypes({ value, schema, context }) {
|
|
|
10446
10868
|
schema,
|
|
10447
10869
|
context
|
|
10448
10870
|
});
|
|
10449
|
-
if (!result.success) throw TypeValidationError.wrap({
|
|
10871
|
+
if (!result.success) throw TypeValidationError$1.wrap({
|
|
10450
10872
|
value,
|
|
10451
10873
|
cause: result.error,
|
|
10452
10874
|
context
|
|
@@ -10469,7 +10891,7 @@ async function safeValidateTypes({ value, schema, context }) {
|
|
|
10469
10891
|
};
|
|
10470
10892
|
return {
|
|
10471
10893
|
success: false,
|
|
10472
|
-
error: TypeValidationError.wrap({
|
|
10894
|
+
error: TypeValidationError$1.wrap({
|
|
10473
10895
|
value,
|
|
10474
10896
|
cause: result.error,
|
|
10475
10897
|
context
|
|
@@ -10479,7 +10901,7 @@ async function safeValidateTypes({ value, schema, context }) {
|
|
|
10479
10901
|
} catch (error) {
|
|
10480
10902
|
return {
|
|
10481
10903
|
success: false,
|
|
10482
|
-
error: TypeValidationError.wrap({
|
|
10904
|
+
error: TypeValidationError$1.wrap({
|
|
10483
10905
|
value,
|
|
10484
10906
|
cause: error,
|
|
10485
10907
|
context
|
|
@@ -10497,8 +10919,8 @@ async function parseJSON({ text, schema }) {
|
|
|
10497
10919
|
schema
|
|
10498
10920
|
});
|
|
10499
10921
|
} catch (error) {
|
|
10500
|
-
if (JSONParseError.isInstance(error) || TypeValidationError.isInstance(error)) throw error;
|
|
10501
|
-
throw new JSONParseError({
|
|
10922
|
+
if (JSONParseError$1.isInstance(error) || TypeValidationError$1.isInstance(error)) throw error;
|
|
10923
|
+
throw new JSONParseError$1({
|
|
10502
10924
|
text,
|
|
10503
10925
|
cause: error
|
|
10504
10926
|
});
|
|
@@ -10519,7 +10941,7 @@ async function safeParseJSON({ text, schema }) {
|
|
|
10519
10941
|
} catch (error) {
|
|
10520
10942
|
return {
|
|
10521
10943
|
success: false,
|
|
10522
|
-
error: JSONParseError.isInstance(error) ? error : new JSONParseError({
|
|
10944
|
+
error: JSONParseError$1.isInstance(error) ? error : new JSONParseError$1({
|
|
10523
10945
|
text,
|
|
10524
10946
|
cause: error
|
|
10525
10947
|
}),
|
|
@@ -10570,8 +10992,8 @@ var postToApi = async ({ url, headers = {}, body, successfulResponseHandler, fai
|
|
|
10570
10992
|
requestBodyValues: body.values
|
|
10571
10993
|
});
|
|
10572
10994
|
} catch (error) {
|
|
10573
|
-
if (isAbortError$2(error) || APICallError.isInstance(error)) throw error;
|
|
10574
|
-
throw new APICallError({
|
|
10995
|
+
if (isAbortError$2(error) || APICallError$1.isInstance(error)) throw error;
|
|
10996
|
+
throw new APICallError$1({
|
|
10575
10997
|
message: "Failed to process error response",
|
|
10576
10998
|
cause: error,
|
|
10577
10999
|
statusCode: response.status,
|
|
@@ -10590,9 +11012,9 @@ var postToApi = async ({ url, headers = {}, body, successfulResponseHandler, fai
|
|
|
10590
11012
|
});
|
|
10591
11013
|
} catch (error) {
|
|
10592
11014
|
if (error instanceof Error) {
|
|
10593
|
-
if (isAbortError$2(error) || APICallError.isInstance(error)) throw error;
|
|
11015
|
+
if (isAbortError$2(error) || APICallError$1.isInstance(error)) throw error;
|
|
10594
11016
|
}
|
|
10595
|
-
throw new APICallError({
|
|
11017
|
+
throw new APICallError$1({
|
|
10596
11018
|
message: "Failed to process successful response",
|
|
10597
11019
|
cause: error,
|
|
10598
11020
|
statusCode: response.status,
|
|
@@ -10647,7 +11069,7 @@ async function retryWithExponentialBackoffInternal(f, { maxRetries, delayInMs, b
|
|
|
10647
11069
|
} catch (error) {
|
|
10648
11070
|
if (isAbortError$2(error)) throw error;
|
|
10649
11071
|
if (maxRetries === 0) throw error;
|
|
10650
|
-
const errorMessage = getErrorMessage(error);
|
|
11072
|
+
const errorMessage = getErrorMessage$1(error);
|
|
10651
11073
|
const newErrors = [...errors, error];
|
|
10652
11074
|
const tryNumber = newErrors.length;
|
|
10653
11075
|
if (tryNumber > maxRetries) throw createRetryError({
|
|
@@ -10679,6 +11101,52 @@ async function retryWithExponentialBackoffInternal(f, { maxRetries, delayInMs, b
|
|
|
10679
11101
|
}
|
|
10680
11102
|
}
|
|
10681
11103
|
var textDecoder = new TextDecoder();
|
|
11104
|
+
function wrapResponseBodyStream({ stream, url, requestBodyValues, statusCode, responseHeaders }) {
|
|
11105
|
+
const reader = stream.getReader();
|
|
11106
|
+
let readerReleased = false;
|
|
11107
|
+
const releaseReader = () => {
|
|
11108
|
+
if (!readerReleased) {
|
|
11109
|
+
reader.releaseLock();
|
|
11110
|
+
readerReleased = true;
|
|
11111
|
+
}
|
|
11112
|
+
};
|
|
11113
|
+
return new ReadableStream({
|
|
11114
|
+
async pull(controller) {
|
|
11115
|
+
try {
|
|
11116
|
+
const { done, value } = await reader.read();
|
|
11117
|
+
if (done) {
|
|
11118
|
+
releaseReader();
|
|
11119
|
+
controller.close();
|
|
11120
|
+
} else controller.enqueue(value);
|
|
11121
|
+
} catch (error) {
|
|
11122
|
+
releaseReader();
|
|
11123
|
+
if (isAbortError$2(error)) {
|
|
11124
|
+
controller.error(error);
|
|
11125
|
+
return;
|
|
11126
|
+
}
|
|
11127
|
+
controller.error(handleFetchError({
|
|
11128
|
+
error: new APICallError$1({
|
|
11129
|
+
message: "Failed to process successful response",
|
|
11130
|
+
cause: error,
|
|
11131
|
+
statusCode,
|
|
11132
|
+
url,
|
|
11133
|
+
responseHeaders,
|
|
11134
|
+
requestBodyValues
|
|
11135
|
+
}),
|
|
11136
|
+
url,
|
|
11137
|
+
requestBodyValues
|
|
11138
|
+
}));
|
|
11139
|
+
}
|
|
11140
|
+
},
|
|
11141
|
+
async cancel(reason) {
|
|
11142
|
+
try {
|
|
11143
|
+
await reader.cancel(reason);
|
|
11144
|
+
} finally {
|
|
11145
|
+
releaseReader();
|
|
11146
|
+
}
|
|
11147
|
+
}
|
|
11148
|
+
});
|
|
11149
|
+
}
|
|
10682
11150
|
async function readResponseBodyAsText({ response, url }) {
|
|
10683
11151
|
return textDecoder.decode(await readResponseWithSizeLimit({
|
|
10684
11152
|
response,
|
|
@@ -10693,7 +11161,7 @@ var createJsonErrorResponseHandler = ({ errorSchema, errorToMessage, isRetryable
|
|
|
10693
11161
|
const responseHeaders = extractResponseHeaders(response);
|
|
10694
11162
|
if (responseBody.trim() === "") return {
|
|
10695
11163
|
responseHeaders,
|
|
10696
|
-
value: new APICallError({
|
|
11164
|
+
value: new APICallError$1({
|
|
10697
11165
|
message: response.statusText,
|
|
10698
11166
|
url,
|
|
10699
11167
|
requestBodyValues,
|
|
@@ -10710,7 +11178,7 @@ var createJsonErrorResponseHandler = ({ errorSchema, errorToMessage, isRetryable
|
|
|
10710
11178
|
});
|
|
10711
11179
|
return {
|
|
10712
11180
|
responseHeaders,
|
|
10713
|
-
value: new APICallError({
|
|
11181
|
+
value: new APICallError$1({
|
|
10714
11182
|
message: errorToMessage(parsedError),
|
|
10715
11183
|
url,
|
|
10716
11184
|
requestBodyValues,
|
|
@@ -10724,7 +11192,7 @@ var createJsonErrorResponseHandler = ({ errorSchema, errorToMessage, isRetryable
|
|
|
10724
11192
|
} catch (parseError) {
|
|
10725
11193
|
return {
|
|
10726
11194
|
responseHeaders,
|
|
10727
|
-
value: new APICallError({
|
|
11195
|
+
value: new APICallError$1({
|
|
10728
11196
|
message: response.statusText,
|
|
10729
11197
|
url,
|
|
10730
11198
|
requestBodyValues,
|
|
@@ -10736,13 +11204,19 @@ var createJsonErrorResponseHandler = ({ errorSchema, errorToMessage, isRetryable
|
|
|
10736
11204
|
};
|
|
10737
11205
|
}
|
|
10738
11206
|
};
|
|
10739
|
-
var createEventSourceResponseHandler = (chunkSchema) => async ({ response }) => {
|
|
11207
|
+
var createEventSourceResponseHandler = (chunkSchema) => async ({ response, url, requestBodyValues }) => {
|
|
10740
11208
|
const responseHeaders = extractResponseHeaders(response);
|
|
10741
|
-
if (response.body == null) throw new EmptyResponseBodyError({});
|
|
11209
|
+
if (response.body == null) throw new EmptyResponseBodyError$1({});
|
|
10742
11210
|
return {
|
|
10743
11211
|
responseHeaders,
|
|
10744
11212
|
value: parseJsonEventStream({
|
|
10745
|
-
stream:
|
|
11213
|
+
stream: wrapResponseBodyStream({
|
|
11214
|
+
stream: response.body,
|
|
11215
|
+
url,
|
|
11216
|
+
requestBodyValues,
|
|
11217
|
+
statusCode: response.status,
|
|
11218
|
+
responseHeaders
|
|
11219
|
+
}),
|
|
10746
11220
|
schema: chunkSchema
|
|
10747
11221
|
})
|
|
10748
11222
|
};
|
|
@@ -10757,7 +11231,7 @@ var createJsonResponseHandler = (responseSchema) => async ({ response, url, requ
|
|
|
10757
11231
|
schema: responseSchema
|
|
10758
11232
|
});
|
|
10759
11233
|
const responseHeaders = extractResponseHeaders(response);
|
|
10760
|
-
if (!parsedResult.success) throw new APICallError({
|
|
11234
|
+
if (!parsedResult.success) throw new APICallError$1({
|
|
10761
11235
|
message: "Invalid JSON response",
|
|
10762
11236
|
cause: parsedResult.error,
|
|
10763
11237
|
statusCode: response.status,
|
|
@@ -10775,8 +11249,324 @@ var createJsonResponseHandler = (responseSchema) => async ({ response, url, requ
|
|
|
10775
11249
|
function withoutTrailingSlash(url) {
|
|
10776
11250
|
return url == null ? void 0 : url.replace(/\/$/, "");
|
|
10777
11251
|
}
|
|
11252
|
+
var marker$3 = "vercel.ai.error";
|
|
11253
|
+
var symbol$3 = Symbol.for(marker$3);
|
|
11254
|
+
var _a$3;
|
|
11255
|
+
var _b$3;
|
|
11256
|
+
var AISDKError = class _AISDKError extends (_b$3 = Error, _a$3 = symbol$3, _b$3) {
|
|
11257
|
+
/**
|
|
11258
|
+
* Creates an AI SDK Error.
|
|
11259
|
+
*
|
|
11260
|
+
* @param {Object} params - The parameters for creating the error.
|
|
11261
|
+
* @param {string} params.name - The name of the error.
|
|
11262
|
+
* @param {string} params.message - The error message.
|
|
11263
|
+
* @param {unknown} [params.cause] - The underlying cause of the error.
|
|
11264
|
+
*/
|
|
11265
|
+
constructor({ name: name14, message, cause }) {
|
|
11266
|
+
super(message);
|
|
11267
|
+
this[_a$3] = true;
|
|
11268
|
+
this.name = name14;
|
|
11269
|
+
this.cause = cause;
|
|
11270
|
+
}
|
|
11271
|
+
/**
|
|
11272
|
+
* Checks if the given error is an AI SDK Error.
|
|
11273
|
+
* @param {unknown} error - The error to check.
|
|
11274
|
+
* @returns {boolean} True if the error is an AI SDK Error, false otherwise.
|
|
11275
|
+
*/
|
|
11276
|
+
static isInstance(error) {
|
|
11277
|
+
return _AISDKError.hasMarker(error, marker$3);
|
|
11278
|
+
}
|
|
11279
|
+
static hasMarker(error, marker15) {
|
|
11280
|
+
const markerSymbol = Symbol.for(marker15);
|
|
11281
|
+
return error != null && typeof error === "object" && markerSymbol in error && typeof error[markerSymbol] === "boolean" && error[markerSymbol] === true;
|
|
11282
|
+
}
|
|
11283
|
+
};
|
|
11284
|
+
var name$3 = "AI_APICallError";
|
|
11285
|
+
var marker2$2 = `vercel.ai.error.${name$3}`;
|
|
11286
|
+
var symbol2$2 = Symbol.for(marker2$2);
|
|
11287
|
+
var _a2$2;
|
|
11288
|
+
var _b2$2;
|
|
11289
|
+
var APICallError = class extends (_b2$2 = AISDKError, _a2$2 = symbol2$2, _b2$2) {
|
|
11290
|
+
constructor({ message, url, requestBodyValues, statusCode, responseHeaders, responseBody, cause, isRetryable = statusCode != null && (statusCode === 408 || statusCode === 409 || statusCode === 429 || statusCode >= 500), data }) {
|
|
11291
|
+
super({
|
|
11292
|
+
name: name$3,
|
|
11293
|
+
message,
|
|
11294
|
+
cause
|
|
11295
|
+
});
|
|
11296
|
+
this[_a2$2] = true;
|
|
11297
|
+
this.url = url;
|
|
11298
|
+
this.requestBodyValues = requestBodyValues;
|
|
11299
|
+
this.statusCode = statusCode;
|
|
11300
|
+
this.responseHeaders = responseHeaders;
|
|
11301
|
+
this.responseBody = responseBody;
|
|
11302
|
+
this.isRetryable = isRetryable;
|
|
11303
|
+
this.data = data;
|
|
11304
|
+
}
|
|
11305
|
+
static isInstance(error) {
|
|
11306
|
+
return AISDKError.hasMarker(error, marker2$2);
|
|
11307
|
+
}
|
|
11308
|
+
};
|
|
11309
|
+
var name2$2 = "AI_EmptyResponseBodyError";
|
|
11310
|
+
var marker3$2 = `vercel.ai.error.${name2$2}`;
|
|
11311
|
+
var symbol3$2 = Symbol.for(marker3$2);
|
|
11312
|
+
var _a3$2;
|
|
11313
|
+
var _b3$2;
|
|
11314
|
+
(class extends (_b3$2 = AISDKError, _a3$2 = symbol3$2, _b3$2) {
|
|
11315
|
+
constructor({ message = "Empty response body" } = {}) {
|
|
11316
|
+
super({
|
|
11317
|
+
name: name2$2,
|
|
11318
|
+
message
|
|
11319
|
+
});
|
|
11320
|
+
this[_a3$2] = true;
|
|
11321
|
+
}
|
|
11322
|
+
static isInstance(error) {
|
|
11323
|
+
return AISDKError.hasMarker(error, marker3$2);
|
|
11324
|
+
}
|
|
11325
|
+
});
|
|
11326
|
+
function getErrorMessage(error) {
|
|
11327
|
+
if (error == null) return "unknown error";
|
|
11328
|
+
if (typeof error === "string") return error;
|
|
11329
|
+
if (error instanceof Error) return error.message;
|
|
11330
|
+
return JSON.stringify(error);
|
|
11331
|
+
}
|
|
11332
|
+
var name3$2 = "AI_InvalidArgumentError";
|
|
11333
|
+
var marker4$2 = `vercel.ai.error.${name3$2}`;
|
|
11334
|
+
var symbol4$2 = Symbol.for(marker4$2);
|
|
11335
|
+
var _a4$2;
|
|
11336
|
+
var _b4$2;
|
|
11337
|
+
(class extends (_b4$2 = AISDKError, _a4$2 = symbol4$2, _b4$2) {
|
|
11338
|
+
constructor({ message, cause, argument }) {
|
|
11339
|
+
super({
|
|
11340
|
+
name: name3$2,
|
|
11341
|
+
message,
|
|
11342
|
+
cause
|
|
11343
|
+
});
|
|
11344
|
+
this[_a4$2] = true;
|
|
11345
|
+
this.argument = argument;
|
|
11346
|
+
}
|
|
11347
|
+
static isInstance(error) {
|
|
11348
|
+
return AISDKError.hasMarker(error, marker4$2);
|
|
11349
|
+
}
|
|
11350
|
+
});
|
|
11351
|
+
var name4$2 = "AI_InvalidPromptError";
|
|
11352
|
+
var marker5$2 = `vercel.ai.error.${name4$2}`;
|
|
11353
|
+
var symbol5$2 = Symbol.for(marker5$2);
|
|
11354
|
+
var _a5$2;
|
|
11355
|
+
var _b5$2;
|
|
11356
|
+
(class extends (_b5$2 = AISDKError, _a5$2 = symbol5$2, _b5$2) {
|
|
11357
|
+
constructor({ prompt, message, cause }) {
|
|
11358
|
+
super({
|
|
11359
|
+
name: name4$2,
|
|
11360
|
+
message: `Invalid prompt: ${message}`,
|
|
11361
|
+
cause
|
|
11362
|
+
});
|
|
11363
|
+
this[_a5$2] = true;
|
|
11364
|
+
this.prompt = prompt;
|
|
11365
|
+
}
|
|
11366
|
+
static isInstance(error) {
|
|
11367
|
+
return AISDKError.hasMarker(error, marker5$2);
|
|
11368
|
+
}
|
|
11369
|
+
});
|
|
11370
|
+
var name5$2 = "AI_InvalidResponseDataError";
|
|
11371
|
+
var marker6$2 = `vercel.ai.error.${name5$2}`;
|
|
11372
|
+
var symbol6$2 = Symbol.for(marker6$2);
|
|
11373
|
+
var _a6$2;
|
|
11374
|
+
var _b6$2;
|
|
11375
|
+
(class extends (_b6$2 = AISDKError, _a6$2 = symbol6$2, _b6$2) {
|
|
11376
|
+
constructor({ data, message = `Invalid response data: ${JSON.stringify(data)}.` }) {
|
|
11377
|
+
super({
|
|
11378
|
+
name: name5$2,
|
|
11379
|
+
message
|
|
11380
|
+
});
|
|
11381
|
+
this[_a6$2] = true;
|
|
11382
|
+
this.data = data;
|
|
11383
|
+
}
|
|
11384
|
+
static isInstance(error) {
|
|
11385
|
+
return AISDKError.hasMarker(error, marker6$2);
|
|
11386
|
+
}
|
|
11387
|
+
});
|
|
11388
|
+
var name6$2 = "AI_JSONParseError";
|
|
11389
|
+
var marker7$2 = `vercel.ai.error.${name6$2}`;
|
|
11390
|
+
var symbol7$2 = Symbol.for(marker7$2);
|
|
11391
|
+
var _a7$2;
|
|
11392
|
+
var _b7$2;
|
|
11393
|
+
(class extends (_b7$2 = AISDKError, _a7$2 = symbol7$2, _b7$2) {
|
|
11394
|
+
constructor({ text, cause }) {
|
|
11395
|
+
super({
|
|
11396
|
+
name: name6$2,
|
|
11397
|
+
message: `JSON parsing failed: Text: ${text}.
|
|
11398
|
+
Error message: ${getErrorMessage(cause)}`,
|
|
11399
|
+
cause
|
|
11400
|
+
});
|
|
11401
|
+
this[_a7$2] = true;
|
|
11402
|
+
this.text = text;
|
|
11403
|
+
}
|
|
11404
|
+
static isInstance(error) {
|
|
11405
|
+
return AISDKError.hasMarker(error, marker7$2);
|
|
11406
|
+
}
|
|
11407
|
+
});
|
|
11408
|
+
var name7$2 = "AI_LoadAPIKeyError";
|
|
11409
|
+
var marker8$2 = `vercel.ai.error.${name7$2}`;
|
|
11410
|
+
var symbol8$2 = Symbol.for(marker8$2);
|
|
11411
|
+
var _a8$2;
|
|
11412
|
+
var _b8$2;
|
|
11413
|
+
(class extends (_b8$2 = AISDKError, _a8$2 = symbol8$2, _b8$2) {
|
|
11414
|
+
constructor({ message }) {
|
|
11415
|
+
super({
|
|
11416
|
+
name: name7$2,
|
|
11417
|
+
message
|
|
11418
|
+
});
|
|
11419
|
+
this[_a8$2] = true;
|
|
11420
|
+
}
|
|
11421
|
+
static isInstance(error) {
|
|
11422
|
+
return AISDKError.hasMarker(error, marker8$2);
|
|
11423
|
+
}
|
|
11424
|
+
});
|
|
11425
|
+
var name8$2 = "AI_LoadSettingError";
|
|
11426
|
+
var marker9$2 = `vercel.ai.error.${name8$2}`;
|
|
11427
|
+
var symbol9$2 = Symbol.for(marker9$2);
|
|
11428
|
+
var _a9$2;
|
|
11429
|
+
var _b9$2;
|
|
11430
|
+
(class extends (_b9$2 = AISDKError, _a9$2 = symbol9$2, _b9$2) {
|
|
11431
|
+
constructor({ message }) {
|
|
11432
|
+
super({
|
|
11433
|
+
name: name8$2,
|
|
11434
|
+
message
|
|
11435
|
+
});
|
|
11436
|
+
this[_a9$2] = true;
|
|
11437
|
+
}
|
|
11438
|
+
static isInstance(error) {
|
|
11439
|
+
return AISDKError.hasMarker(error, marker9$2);
|
|
11440
|
+
}
|
|
11441
|
+
});
|
|
11442
|
+
var name9$2 = "AI_NoContentGeneratedError";
|
|
11443
|
+
var marker10$2 = `vercel.ai.error.${name9$2}`;
|
|
11444
|
+
var symbol10$2 = Symbol.for(marker10$2);
|
|
11445
|
+
var _a10$2;
|
|
11446
|
+
var _b10$2;
|
|
11447
|
+
(class extends (_b10$2 = AISDKError, _a10$2 = symbol10$2, _b10$2) {
|
|
11448
|
+
constructor({ message = "No content generated." } = {}) {
|
|
11449
|
+
super({
|
|
11450
|
+
name: name9$2,
|
|
11451
|
+
message
|
|
11452
|
+
});
|
|
11453
|
+
this[_a10$2] = true;
|
|
11454
|
+
}
|
|
11455
|
+
static isInstance(error) {
|
|
11456
|
+
return AISDKError.hasMarker(error, marker10$2);
|
|
11457
|
+
}
|
|
11458
|
+
});
|
|
11459
|
+
var name10$2 = "AI_NoSuchModelError";
|
|
11460
|
+
var marker11$2 = `vercel.ai.error.${name10$2}`;
|
|
11461
|
+
var symbol11$2 = Symbol.for(marker11$2);
|
|
11462
|
+
var _a11$2;
|
|
11463
|
+
var _b11;
|
|
11464
|
+
(class extends (_b11 = AISDKError, _a11$2 = symbol11$2, _b11) {
|
|
11465
|
+
constructor({ errorName = name10$2, modelId, modelType, message = `No such ${modelType}: ${modelId}` }) {
|
|
11466
|
+
super({
|
|
11467
|
+
name: errorName,
|
|
11468
|
+
message
|
|
11469
|
+
});
|
|
11470
|
+
this[_a11$2] = true;
|
|
11471
|
+
this.modelId = modelId;
|
|
11472
|
+
this.modelType = modelType;
|
|
11473
|
+
}
|
|
11474
|
+
static isInstance(error) {
|
|
11475
|
+
return AISDKError.hasMarker(error, marker11$2);
|
|
11476
|
+
}
|
|
11477
|
+
});
|
|
11478
|
+
var name11$2 = "AI_TooManyEmbeddingValuesForCallError";
|
|
11479
|
+
var marker12$2 = `vercel.ai.error.${name11$2}`;
|
|
11480
|
+
var symbol12$2 = Symbol.for(marker12$2);
|
|
11481
|
+
var _a12$2;
|
|
11482
|
+
var _b12;
|
|
11483
|
+
(class extends (_b12 = AISDKError, _a12$2 = symbol12$2, _b12) {
|
|
11484
|
+
constructor(options) {
|
|
11485
|
+
super({
|
|
11486
|
+
name: name11$2,
|
|
11487
|
+
message: `Too many values for a single embedding call. The ${options.provider} model "${options.modelId}" can only embed up to ${options.maxEmbeddingsPerCall} values per call, but ${options.values.length} values were provided.`
|
|
11488
|
+
});
|
|
11489
|
+
this[_a12$2] = true;
|
|
11490
|
+
this.provider = options.provider;
|
|
11491
|
+
this.modelId = options.modelId;
|
|
11492
|
+
this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;
|
|
11493
|
+
this.values = options.values;
|
|
11494
|
+
}
|
|
11495
|
+
static isInstance(error) {
|
|
11496
|
+
return AISDKError.hasMarker(error, marker12$2);
|
|
11497
|
+
}
|
|
11498
|
+
});
|
|
11499
|
+
var name12$2 = "AI_TypeValidationError";
|
|
11500
|
+
var marker13$2 = `vercel.ai.error.${name12$2}`;
|
|
11501
|
+
var symbol13$2 = Symbol.for(marker13$2);
|
|
11502
|
+
var _a13$2;
|
|
11503
|
+
var _b13;
|
|
11504
|
+
var TypeValidationError = class _TypeValidationError extends (_b13 = AISDKError, _a13$2 = symbol13$2, _b13) {
|
|
11505
|
+
constructor({ value, cause, context }) {
|
|
11506
|
+
let contextPrefix = "Type validation failed";
|
|
11507
|
+
if (context == null ? void 0 : context.field) contextPrefix += ` for ${context.field}`;
|
|
11508
|
+
if ((context == null ? void 0 : context.entityName) || (context == null ? void 0 : context.entityId)) {
|
|
11509
|
+
contextPrefix += " (";
|
|
11510
|
+
const parts = [];
|
|
11511
|
+
if (context.entityName) parts.push(context.entityName);
|
|
11512
|
+
if (context.entityId) parts.push(`id: "${context.entityId}"`);
|
|
11513
|
+
contextPrefix += parts.join(", ");
|
|
11514
|
+
contextPrefix += ")";
|
|
11515
|
+
}
|
|
11516
|
+
super({
|
|
11517
|
+
name: name12$2,
|
|
11518
|
+
message: `${contextPrefix}: Value: ${JSON.stringify(value)}.
|
|
11519
|
+
Error message: ${getErrorMessage(cause)}`,
|
|
11520
|
+
cause
|
|
11521
|
+
});
|
|
11522
|
+
this[_a13$2] = true;
|
|
11523
|
+
this.value = value;
|
|
11524
|
+
this.context = context;
|
|
11525
|
+
}
|
|
11526
|
+
static isInstance(error) {
|
|
11527
|
+
return AISDKError.hasMarker(error, marker13$2);
|
|
11528
|
+
}
|
|
11529
|
+
/**
|
|
11530
|
+
* Wraps an error into a TypeValidationError.
|
|
11531
|
+
* If the cause is already a TypeValidationError with the same value and context, it returns the cause.
|
|
11532
|
+
* Otherwise, it creates a new TypeValidationError.
|
|
11533
|
+
*
|
|
11534
|
+
* @param {Object} params - The parameters for wrapping the error.
|
|
11535
|
+
* @param {unknown} params.value - The value that failed validation.
|
|
11536
|
+
* @param {unknown} params.cause - The original error or cause of the validation failure.
|
|
11537
|
+
* @param {TypeValidationContext} params.context - Optional context about what is being validated.
|
|
11538
|
+
* @returns {TypeValidationError} A TypeValidationError instance.
|
|
11539
|
+
*/
|
|
11540
|
+
static wrap({ value, cause, context }) {
|
|
11541
|
+
var _a15, _b15, _c;
|
|
11542
|
+
if (_TypeValidationError.isInstance(cause) && cause.value === value && ((_a15 = cause.context) == null ? void 0 : _a15.field) === (context == null ? void 0 : context.field) && ((_b15 = cause.context) == null ? void 0 : _b15.entityName) === (context == null ? void 0 : context.entityName) && ((_c = cause.context) == null ? void 0 : _c.entityId) === (context == null ? void 0 : context.entityId)) return cause;
|
|
11543
|
+
return new _TypeValidationError({
|
|
11544
|
+
value,
|
|
11545
|
+
cause,
|
|
11546
|
+
context
|
|
11547
|
+
});
|
|
11548
|
+
}
|
|
11549
|
+
};
|
|
11550
|
+
var name13$2 = "AI_UnsupportedFunctionalityError";
|
|
11551
|
+
var marker14$2 = `vercel.ai.error.${name13$2}`;
|
|
11552
|
+
var symbol14$2 = Symbol.for(marker14$2);
|
|
11553
|
+
var _a14$2;
|
|
11554
|
+
var _b14;
|
|
11555
|
+
(class extends (_b14 = AISDKError, _a14$2 = symbol14$2, _b14) {
|
|
11556
|
+
constructor({ functionality, message = `'${functionality}' functionality not supported.` }) {
|
|
11557
|
+
super({
|
|
11558
|
+
name: name13$2,
|
|
11559
|
+
message
|
|
11560
|
+
});
|
|
11561
|
+
this[_a14$2] = true;
|
|
11562
|
+
this.functionality = functionality;
|
|
11563
|
+
}
|
|
11564
|
+
static isInstance(error) {
|
|
11565
|
+
return AISDKError.hasMarker(error, marker14$2);
|
|
11566
|
+
}
|
|
11567
|
+
});
|
|
10778
11568
|
//#endregion
|
|
10779
|
-
//#region ../_vendored/ai_v6/dist/dist-
|
|
11569
|
+
//#region ../_vendored/ai_v6/dist/dist-CWofJnzt.js
|
|
10780
11570
|
function getContext() {
|
|
10781
11571
|
return { headers: {} };
|
|
10782
11572
|
}
|
|
@@ -17587,7 +18377,9 @@ var constants_exports = /* @__PURE__ */ __exportAll({
|
|
|
17587
18377
|
OBSERVATIONAL_MEMORY_DEFAULTS: () => OBSERVATIONAL_MEMORY_DEFAULTS,
|
|
17588
18378
|
OBSERVATION_CONTEXT_INSTRUCTIONS: () => OBSERVATION_CONTEXT_INSTRUCTIONS,
|
|
17589
18379
|
OBSERVATION_CONTEXT_PROMPT: () => OBSERVATION_CONTEXT_PROMPT,
|
|
18380
|
+
OBSERVATION_CONTEXT_PROMPT_THREAD: () => OBSERVATION_CONTEXT_PROMPT_THREAD,
|
|
17590
18381
|
OBSERVATION_CONTINUATION_HINT: () => OBSERVATION_CONTINUATION_HINT,
|
|
18382
|
+
getObservationContextPrompt: () => getObservationContextPrompt,
|
|
17591
18383
|
getRetrievalInstructions: () => getRetrievalInstructions
|
|
17592
18384
|
});
|
|
17593
18385
|
/**
|
|
@@ -17637,6 +18429,19 @@ Any messages following this reminder are newer and should take priority.`;
|
|
|
17637
18429
|
*/
|
|
17638
18430
|
const OBSERVATION_CONTEXT_PROMPT = `The following observations block contains your memory of past conversations with this user.`;
|
|
17639
18431
|
/**
|
|
18432
|
+
* Preamble used when observations are thread-scoped: they describe earlier parts
|
|
18433
|
+
* of the current conversation, not other conversations.
|
|
18434
|
+
*/
|
|
18435
|
+
const OBSERVATION_CONTEXT_PROMPT_THREAD = `The following observations block contains your memory of earlier parts of this current conversation. Everything recorded here (including IDs, artifacts, and tool results) came from this conversation and is available for you to reuse.`;
|
|
18436
|
+
/**
|
|
18437
|
+
* Returns the observations preamble matching the memory scope.
|
|
18438
|
+
* - `'thread'`: observations are earlier parts of the current conversation.
|
|
18439
|
+
* - `'resource'`: observations span past conversations with this user.
|
|
18440
|
+
*/
|
|
18441
|
+
function getObservationContextPrompt(scope = "thread") {
|
|
18442
|
+
return scope === "resource" ? OBSERVATION_CONTEXT_PROMPT : OBSERVATION_CONTEXT_PROMPT_THREAD;
|
|
18443
|
+
}
|
|
18444
|
+
/**
|
|
17640
18445
|
* Instructions that tell the model how to interpret and use observations.
|
|
17641
18446
|
* Place AFTER the `<observations>` block so the model sees the data before the rules.
|
|
17642
18447
|
*/
|
|
@@ -17914,7 +18719,7 @@ async function applyExtractorHooks(opts) {
|
|
|
17914
18719
|
}
|
|
17915
18720
|
//#endregion
|
|
17916
18721
|
//#region src/processors/observational-memory/error.ts
|
|
17917
|
-
function isRecord$
|
|
18722
|
+
function isRecord$5(value) {
|
|
17918
18723
|
return typeof value === "object" && value !== null;
|
|
17919
18724
|
}
|
|
17920
18725
|
/** Keep provider diagnostics in streamed/persisted markers, not whole API request/response objects. */
|
|
@@ -17926,7 +18731,7 @@ function formatOmError(error) {
|
|
|
17926
18731
|
};
|
|
17927
18732
|
function collectErrorDetails(value, depth) {
|
|
17928
18733
|
if (depth > 5) return;
|
|
17929
|
-
if (!isRecord$
|
|
18734
|
+
if (!isRecord$5(value)) {
|
|
17930
18735
|
if (value !== void 0) add(String(value));
|
|
17931
18736
|
return;
|
|
17932
18737
|
}
|
|
@@ -17936,10 +18741,10 @@ function formatOmError(error) {
|
|
|
17936
18741
|
if (typeof value.statusCode === "number") add(`HTTP ${value.statusCode}`);
|
|
17937
18742
|
if (typeof value.responseBody === "string") try {
|
|
17938
18743
|
const body = JSON.parse(value.responseBody);
|
|
17939
|
-
if (isRecord$
|
|
18744
|
+
if (isRecord$5(body)) {
|
|
17940
18745
|
add(body.message);
|
|
17941
18746
|
add(body.detail);
|
|
17942
|
-
if (isRecord$
|
|
18747
|
+
if (isRecord$5(body.error)) add(body.error.message);
|
|
17943
18748
|
else add(body.error);
|
|
17944
18749
|
}
|
|
17945
18750
|
} catch {}
|
|
@@ -18045,6 +18850,21 @@ ${extractorInstructions}${priorLines.length > 0 ? `\n\n## Prior Extracted Values
|
|
|
18045
18850
|
};
|
|
18046
18851
|
}
|
|
18047
18852
|
//#endregion
|
|
18853
|
+
//#region src/system-reminders.ts
|
|
18854
|
+
const LEGACY_SYSTEM_REMINDER_METADATA_KEY = "dynamicAgentsMdReminder";
|
|
18855
|
+
function isRecord$4(value) {
|
|
18856
|
+
return typeof value === "object" && value !== null;
|
|
18857
|
+
}
|
|
18858
|
+
function isSystemReminderMessage(message) {
|
|
18859
|
+
if (!isRecord$4(message.content)) return false;
|
|
18860
|
+
const metadata = message.content.metadata;
|
|
18861
|
+
if (message.role === "signal") return isRecord$4(metadata) && isRecord$4(metadata.signal) && (metadata.signal.type === "system-reminder" || metadata.signal.type === "reactive");
|
|
18862
|
+
if (message.role !== "user") return false;
|
|
18863
|
+
if (isRecord$4(metadata) && (isRecord$4(metadata.systemReminder) || LEGACY_SYSTEM_REMINDER_METADATA_KEY in metadata)) return true;
|
|
18864
|
+
const firstTextPart = message.content.parts.find((part) => part.type === "text");
|
|
18865
|
+
return typeof firstTextPart?.text === "string" && firstTextPart.text.startsWith("<system-reminder");
|
|
18866
|
+
}
|
|
18867
|
+
//#endregion
|
|
18048
18868
|
//#region src/processors/observational-memory/anchor-ids.ts
|
|
18049
18869
|
const ANCHOR_ID_PATTERN = /^\[(O\d+(?:-N\d+)?)\]\s*/;
|
|
18050
18870
|
const OBSERVATION_DATE_HEADER_PATTERN = /^\s*Date:\s+/;
|
|
@@ -19541,11 +20361,23 @@ function formatObserverToolArguments(args, maxCharacters) {
|
|
|
19541
20361
|
if (args === void 0) return maybeTruncate("[arguments unavailable]", maxCharacters);
|
|
19542
20362
|
return formatToolArgumentsForObserver(args, { maxCharacters: maxCharacters || void 0 });
|
|
19543
20363
|
}
|
|
20364
|
+
/**
|
|
20365
|
+
* Labels signals and system reminders by their tag instead of as "User", so the Observer
|
|
20366
|
+
* does not record runtime instructions as things the user said (#22195).
|
|
20367
|
+
*/
|
|
20368
|
+
function getObserverMessageLabel(msg) {
|
|
20369
|
+
if (msg.role === "signal") {
|
|
20370
|
+
const signal = msg.content?.metadata?.signal;
|
|
20371
|
+
return signal?.type === "user" ? "User" : signal?.tagName ?? signal?.type ?? "Signal";
|
|
20372
|
+
}
|
|
20373
|
+
if (isSystemReminderMessage(msg)) return "system-reminder";
|
|
20374
|
+
return msg.role.charAt(0).toUpperCase() + msg.role.slice(1);
|
|
20375
|
+
}
|
|
19544
20376
|
function formatObserverMessage(msg, counter, toolFormatting, options) {
|
|
19545
20377
|
const maxLen = options?.maxPartLength;
|
|
19546
20378
|
const maxToolResultTokens = options?.maxToolResultTokens ?? 5e3;
|
|
19547
20379
|
const attachmentFilter = options?.attachmentFilter;
|
|
19548
|
-
const role =
|
|
20380
|
+
const role = getObserverMessageLabel(msg);
|
|
19549
20381
|
const attachments = [];
|
|
19550
20382
|
const messageCreatedAt = normalizeObserverCreatedAt(msg.createdAt);
|
|
19551
20383
|
let lines = [];
|
|
@@ -19719,7 +20551,36 @@ function buildMultiThreadObserverHistoryMessage(messagesByThread, threadOrder, o
|
|
|
19719
20551
|
content
|
|
19720
20552
|
};
|
|
19721
20553
|
}
|
|
19722
|
-
|
|
20554
|
+
/**
|
|
20555
|
+
* Build the Observer's single multi-thread request message: prior memory first, then the
|
|
20556
|
+
* thread histories, then the task. Keeping everything in one user message, with the task
|
|
20557
|
+
* after the history, stops the Observer from reading its own instructions as something
|
|
20558
|
+
* the user said (#22195).
|
|
20559
|
+
*/
|
|
20560
|
+
function buildMultiThreadObserverRequestMessage(existingObservations, messagesByThread, threadOrder, priorMetadataByThread, wasTruncated, includeThreadTitle, extractors = [], formatOptions) {
|
|
20561
|
+
return surroundObserverHistory(buildMultiThreadObserverHistoryMessage(messagesByThread, threadOrder, formatOptions), buildMultiThreadObserverContextPrompt(existingObservations, threadOrder, priorMetadataByThread, wasTruncated, includeThreadTitle, extractors), buildMultiThreadObserverTaskInstructions(includeThreadTitle));
|
|
20562
|
+
}
|
|
20563
|
+
function surroundObserverHistory(history, contextPrompt, taskInstructions) {
|
|
20564
|
+
const historyContent = history.content;
|
|
20565
|
+
return {
|
|
20566
|
+
role: "user",
|
|
20567
|
+
content: [
|
|
20568
|
+
...contextPrompt ? [{
|
|
20569
|
+
type: "text",
|
|
20570
|
+
text: contextPrompt
|
|
20571
|
+
}] : [],
|
|
20572
|
+
...historyContent,
|
|
20573
|
+
{
|
|
20574
|
+
type: "text",
|
|
20575
|
+
text: `\n\n---\n\n${taskInstructions}`
|
|
20576
|
+
}
|
|
20577
|
+
]
|
|
20578
|
+
};
|
|
20579
|
+
}
|
|
20580
|
+
function buildMultiThreadObserverTaskInstructions(includeThreadTitle) {
|
|
20581
|
+
return `## Your Task\n\nExtract new observations from each thread. Output your observations grouped by thread using <thread id="..."> tags inside your <observations> block. Each thread block should contain that thread's observations, current-task, suggested-response${includeThreadTitle ? ", and thread-title" : ""}, in the format specified in your instructions.`;
|
|
20582
|
+
}
|
|
20583
|
+
function buildMultiThreadObserverContextPrompt(existingObservations, threadOrder, priorMetadataByThread, wasTruncated, includeThreadTitle, extractors = []) {
|
|
19723
20584
|
let prompt = "";
|
|
19724
20585
|
if (existingObservations) {
|
|
19725
20586
|
prompt += `## Previous Observations\n\n${existingObservations}\n\n---\n\n`;
|
|
@@ -19745,25 +20606,6 @@ function buildMultiThreadObserverTaskPrompt(existingObservations, threadOrder, p
|
|
|
19745
20606
|
}
|
|
19746
20607
|
prompt += `Use each thread's prior current-task, suggested-response${includeThreadTitle ? ", and thread-title" : ""} as continuity hints, then update them based on that thread's new messages.\n\n---\n\n`;
|
|
19747
20608
|
}
|
|
19748
|
-
prompt += `## Your Task\n\n`;
|
|
19749
|
-
prompt += `Extract new observations from each thread. Output your observations grouped by thread using <thread id="..."> tags inside your <observations> block. Each thread block should contain that thread's observations, current-task, suggested-response${includeThreadTitle ? ", and thread-title" : ""}.\n\n`;
|
|
19750
|
-
prompt += `Example output format:\n`;
|
|
19751
|
-
prompt += `<observations>\n`;
|
|
19752
|
-
prompt += `<thread id="thread1">\n`;
|
|
19753
|
-
prompt += `Date: Dec 4, 2025\n`;
|
|
19754
|
-
prompt += `* 🔴 (14:30) User prefers direct answers\n`;
|
|
19755
|
-
prompt += `<current-task>Working on feature X</current-task>\n`;
|
|
19756
|
-
prompt += `<suggested-response>Continue with the implementation</suggested-response>\n`;
|
|
19757
|
-
if (includeThreadTitle) prompt += `<thread-title>Feature X implementation</thread-title>\n`;
|
|
19758
|
-
prompt += `</thread>\n`;
|
|
19759
|
-
prompt += `<thread id="thread2">\n`;
|
|
19760
|
-
prompt += `Date: Dec 5, 2025\n`;
|
|
19761
|
-
prompt += `* 🔴 (09:15) User asked about deployment\n`;
|
|
19762
|
-
prompt += `<current-task>Discussing deployment options</current-task>\n`;
|
|
19763
|
-
prompt += `<suggested-response>Explain the deployment process</suggested-response>\n`;
|
|
19764
|
-
if (includeThreadTitle) prompt += `<thread-title>Deployment setup</thread-title>\n`;
|
|
19765
|
-
prompt += `</thread>\n`;
|
|
19766
|
-
prompt += `</observations>`;
|
|
19767
20609
|
return prompt;
|
|
19768
20610
|
}
|
|
19769
20611
|
/**
|
|
@@ -19821,6 +20663,24 @@ function parseMultiThreadObserverOutput(output, extractors = []) {
|
|
|
19821
20663
|
};
|
|
19822
20664
|
}
|
|
19823
20665
|
function buildObserverTaskPrompt(existingObservations, options) {
|
|
20666
|
+
return buildObserverContextPrompt(existingObservations, options) + buildObserverTaskInstructions(options);
|
|
20667
|
+
}
|
|
20668
|
+
/**
|
|
20669
|
+
* Build the Observer's single request message: prior memory first, then the message
|
|
20670
|
+
* history, then the task. Keeping everything in one user message, with the task after
|
|
20671
|
+
* the history, stops the Observer from reading its own instructions as something the
|
|
20672
|
+
* user said (#22195).
|
|
20673
|
+
*/
|
|
20674
|
+
function buildObserverRequestMessage(existingObservations, messagesToObserve, options, formatOptions) {
|
|
20675
|
+
return surroundObserverHistory(buildObserverHistoryMessage(messagesToObserve, formatOptions), buildObserverContextPrompt(existingObservations, options), buildObserverTaskInstructions(options));
|
|
20676
|
+
}
|
|
20677
|
+
function buildObserverTaskInstructions(options) {
|
|
20678
|
+
let prompt = `## Your Task\n\n`;
|
|
20679
|
+
prompt += `Extract new observations from the message history above. Do not repeat observations that are already in the previous observations. Add your new observations in the format specified in your instructions.`;
|
|
20680
|
+
if (options?.skipContinuationHints) prompt += `\n\nOutput <observations> every time.`;
|
|
20681
|
+
return prompt;
|
|
20682
|
+
}
|
|
20683
|
+
function buildObserverContextPrompt(existingObservations, options) {
|
|
19824
20684
|
let prompt = "";
|
|
19825
20685
|
if (existingObservations) {
|
|
19826
20686
|
prompt += `## Previous Observations\n\n${existingObservations}\n\n---\n\n`;
|
|
@@ -19841,9 +20701,6 @@ function buildObserverTaskPrompt(existingObservations, options) {
|
|
|
19841
20701
|
const titleHint = options?.includeThreadTitle ? ", and thread-title" : "";
|
|
19842
20702
|
prompt += `Use the prior current-task, suggested-response${titleHint} as continuity hints, then update them based on the new messages.\n\n---\n\n`;
|
|
19843
20703
|
}
|
|
19844
|
-
prompt += `## Your Task\n\n`;
|
|
19845
|
-
prompt += `Extract new observations from the message history above. Do not repeat observations that are already in the previous observations. Add your new observations in the format specified in your instructions.`;
|
|
19846
|
-
if (options?.skipContinuationHints) prompt += `\n\nOutput <observations> every time.`;
|
|
19847
20704
|
return prompt;
|
|
19848
20705
|
}
|
|
19849
20706
|
/**
|
|
@@ -20482,14 +21339,11 @@ var ObserverRunner = class {
|
|
|
20482
21339
|
const agent = temporaryMemory ? this.createAgent(resolvedModel.model, false, temporaryMemory.memory, activeExtractors) : this.createAgent(resolvedModel.model, false, void 0, activeExtractors);
|
|
20483
21340
|
const internalRequestContext = withOmInternalThreadId(options?.requestContext, agent.id);
|
|
20484
21341
|
const attachmentFilter = this.resolveAttachmentFilter(resolvedModel.model, options?.requestContext);
|
|
20485
|
-
const observerMessages = [{
|
|
20486
|
-
|
|
20487
|
-
|
|
20488
|
-
|
|
20489
|
-
|
|
20490
|
-
extractors: activeExtractors
|
|
20491
|
-
})
|
|
20492
|
-
}, buildObserverHistoryMessage(messagesToObserve, { attachmentFilter })];
|
|
21342
|
+
const observerMessages = [buildObserverRequestMessage(existingObservations, messagesToObserve, {
|
|
21343
|
+
...options,
|
|
21344
|
+
includeThreadTitle: this.observationConfig.threadTitle,
|
|
21345
|
+
extractors: activeExtractors
|
|
21346
|
+
}, { attachmentFilter })];
|
|
20493
21347
|
const doGenerate = async () => {
|
|
20494
21348
|
return withRetry(() => withOmTracingSpan({
|
|
20495
21349
|
phase: "observer",
|
|
@@ -20689,10 +21543,7 @@ var ObserverRunner = class {
|
|
|
20689
21543
|
const agent = this.createAgent(resolvedModel.model, true, void 0, activeExtractors);
|
|
20690
21544
|
const internalRequestContext = withOmInternalThreadId(requestContext, agent.id);
|
|
20691
21545
|
const multiThreadAttachmentFilter = this.resolveAttachmentFilter(resolvedModel.model, requestContext);
|
|
20692
|
-
const observerMessages = [{
|
|
20693
|
-
role: "user",
|
|
20694
|
-
content: buildMultiThreadObserverTaskPrompt(existingObservations, threadOrder, priorMetadataByThread, void 0, this.observationConfig.threadTitle, activeExtractors)
|
|
20695
|
-
}, buildMultiThreadObserverHistoryMessage(messagesByThread, threadOrder, { attachmentFilter: multiThreadAttachmentFilter })];
|
|
21546
|
+
const observerMessages = [buildMultiThreadObserverRequestMessage(existingObservations, messagesByThread, threadOrder, priorMetadataByThread, void 0, this.observationConfig.threadTitle, activeExtractors, { attachmentFilter: multiThreadAttachmentFilter })];
|
|
20696
21547
|
for (const msgs of messagesByThread.values()) for (const msg of msgs) this.observedMessageIds.add(msg.id);
|
|
20697
21548
|
const doGenerate = async () => {
|
|
20698
21549
|
return withRetry(() => withOmTracingSpan({
|
|
@@ -25920,8 +26771,7 @@ async function loadMemoryContextMessages({ memory, messageList, threadId, resour
|
|
|
25920
26771
|
resourceId,
|
|
25921
26772
|
runState
|
|
25922
26773
|
});
|
|
25923
|
-
const
|
|
25924
|
-
for (const msg of ctx.messages) if (msg.role !== "system" && !existingIds.has(msg.id)) messageList.add(msg, "memory");
|
|
26774
|
+
for (const msg of ctx.messages) if (msg.role !== "system") messageList.add(msg, "memory");
|
|
25925
26775
|
return ctx;
|
|
25926
26776
|
}
|
|
25927
26777
|
//#endregion
|
|
@@ -28912,7 +29762,7 @@ var ObservationalMemory = class ObservationalMemory {
|
|
|
28912
29762
|
formatObservationsForContext(observations, currentTask, suggestedResponse, extractedValues, unobservedContextBlocks, currentDate, retrieval = false) {
|
|
28913
29763
|
let optimized = retrieval ? renderObservationGroupsForReflection(observations) ?? optimizeObservationsForContext(observations) : optimizeObservationsForContext(observations);
|
|
28914
29764
|
if (currentDate) optimized = addRelativeTimeToObservations(optimized, currentDate);
|
|
28915
|
-
const messages = [`${
|
|
29765
|
+
const messages = [`${getObservationContextPrompt(this.scope)}\n\n${OBSERVATION_CONTEXT_INSTRUCTIONS}${retrieval ? `\n\n${getRetrievalInstructions(this.retrievalScope, this.retrievalInstructions, this.retrievalSearch)}` : ""}`];
|
|
28916
29766
|
if (unobservedContextBlocks) messages.push(`The following content is from OTHER conversations different from the current conversation, they're here for reference, but they're not necessarily your focus:\nSTART_OTHER_CONVERSATIONS_BLOCK\n${unobservedContextBlocks}\nEND_OTHER_CONVERSATIONS_BLOCK`);
|
|
28917
29767
|
const observationChunks = this.splitObservationContextChunks(optimized);
|
|
28918
29768
|
if (observationChunks.length > 0) messages.push("<observations>", ...observationChunks);
|
|
@@ -30856,6 +31706,7 @@ var observational_memory_exports = /* @__PURE__ */ __exportAll({
|
|
|
30856
31706
|
OBSERVATIONAL_MEMORY_DEFAULTS: () => OBSERVATIONAL_MEMORY_DEFAULTS,
|
|
30857
31707
|
OBSERVATION_CONTEXT_INSTRUCTIONS: () => OBSERVATION_CONTEXT_INSTRUCTIONS,
|
|
30858
31708
|
OBSERVATION_CONTEXT_PROMPT: () => OBSERVATION_CONTEXT_PROMPT,
|
|
31709
|
+
OBSERVATION_CONTEXT_PROMPT_THREAD: () => OBSERVATION_CONTEXT_PROMPT_THREAD,
|
|
30859
31710
|
OBSERVATION_CONTINUATION_HINT: () => OBSERVATION_CONTINUATION_HINT,
|
|
30860
31711
|
OBSERVER_SYSTEM_PROMPT: () => OBSERVER_SYSTEM_PROMPT,
|
|
30861
31712
|
ObservationalMemory: () => ObservationalMemory,
|
|
@@ -30873,6 +31724,7 @@ var observational_memory_exports = /* @__PURE__ */ __exportAll({
|
|
|
30873
31724
|
deriveObservationGroupProvenance: () => deriveObservationGroupProvenance,
|
|
30874
31725
|
extractCurrentTask: () => extractCurrentTask,
|
|
30875
31726
|
formatMessagesForObserver: () => formatMessagesForObserver,
|
|
31727
|
+
getObservationContextPrompt: () => getObservationContextPrompt,
|
|
30876
31728
|
getObservationsAsOf: () => getObservationsAsOf,
|
|
30877
31729
|
hasCurrentTaskSection: () => hasCurrentTaskSection,
|
|
30878
31730
|
injectAnchorIds: () => injectAnchorIds,
|
|
@@ -30900,7 +31752,6 @@ var working_memory_state_exports = /* @__PURE__ */ __exportAll({
|
|
|
30900
31752
|
//#region src/index.ts
|
|
30901
31753
|
const WORKING_MEMORY_START_TAG = "<working_memory>";
|
|
30902
31754
|
const WORKING_MEMORY_END_TAG = "</working_memory>";
|
|
30903
|
-
const LEGACY_SYSTEM_REMINDER_METADATA_KEY = "dynamicAgentsMdReminder";
|
|
30904
31755
|
function isRecord(value) {
|
|
30905
31756
|
return typeof value === "object" && value !== null;
|
|
30906
31757
|
}
|
|
@@ -30944,15 +31795,6 @@ function extractWorkingMemoryContent(text) {
|
|
|
30944
31795
|
if (end === -1) return null;
|
|
30945
31796
|
return text.substring(contentStart, end);
|
|
30946
31797
|
}
|
|
30947
|
-
function isSystemReminderMessage(message) {
|
|
30948
|
-
if (!isRecord(message.content)) return false;
|
|
30949
|
-
const metadata = message.content.metadata;
|
|
30950
|
-
if (message.role === "signal") return isRecord(metadata) && isRecord(metadata.signal) && (metadata.signal.type === "system-reminder" || metadata.signal.type === "reactive");
|
|
30951
|
-
if (message.role !== "user") return false;
|
|
30952
|
-
if (isRecord(metadata) && (isRecord(metadata.systemReminder) || LEGACY_SYSTEM_REMINDER_METADATA_KEY in metadata)) return true;
|
|
30953
|
-
const firstTextPart = message.content.parts.find((part) => part.type === "text");
|
|
30954
|
-
return typeof firstTextPart?.text === "string" && firstTextPart.text.startsWith("<system-reminder");
|
|
30955
|
-
}
|
|
30956
31798
|
function isRecallSignalType(type) {
|
|
30957
31799
|
return type === "user" || type === "state" || type === "reactive" || type === "notification" || type === "user-message" || type === "system-reminder";
|
|
30958
31800
|
}
|
|
@@ -33232,6 +34074,12 @@ Object.defineProperty(exports, "OBSERVATION_CONTEXT_PROMPT", {
|
|
|
33232
34074
|
return OBSERVATION_CONTEXT_PROMPT;
|
|
33233
34075
|
}
|
|
33234
34076
|
});
|
|
34077
|
+
Object.defineProperty(exports, "OBSERVATION_CONTEXT_PROMPT_THREAD", {
|
|
34078
|
+
enumerable: true,
|
|
34079
|
+
get: function() {
|
|
34080
|
+
return OBSERVATION_CONTEXT_PROMPT_THREAD;
|
|
34081
|
+
}
|
|
34082
|
+
});
|
|
33235
34083
|
Object.defineProperty(exports, "OBSERVATION_CONTINUATION_HINT", {
|
|
33236
34084
|
enumerable: true,
|
|
33237
34085
|
get: function() {
|
|
@@ -33376,6 +34224,12 @@ Object.defineProperty(exports, "formatMessagesForObserver", {
|
|
|
33376
34224
|
return formatMessagesForObserver;
|
|
33377
34225
|
}
|
|
33378
34226
|
});
|
|
34227
|
+
Object.defineProperty(exports, "getObservationContextPrompt", {
|
|
34228
|
+
enumerable: true,
|
|
34229
|
+
get: function() {
|
|
34230
|
+
return getObservationContextPrompt;
|
|
34231
|
+
}
|
|
34232
|
+
});
|
|
33379
34233
|
Object.defineProperty(exports, "getObservationsAsOf", {
|
|
33380
34234
|
enumerable: true,
|
|
33381
34235
|
get: function() {
|
|
@@ -33473,4 +34327,4 @@ Object.defineProperty(exports, "wrapInObservationGroup", {
|
|
|
33473
34327
|
}
|
|
33474
34328
|
});
|
|
33475
34329
|
|
|
33476
|
-
//# sourceMappingURL=src-
|
|
34330
|
+
//# sourceMappingURL=src-C7u5SaET.cjs.map
|