@ai-sdk/provider 4.0.14 → 4.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/dist/index.d.ts +220 -10
- package/dist/index.js +126 -100
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/errors/evaluation-unsupported-question-type-error.ts +44 -0
- package/src/errors/index.ts +1 -0
- package/src/evaluation-model/v4/evaluation-model-v4-call-options.ts +14 -0
- package/src/evaluation-model/v4/evaluation-model-v4-question.ts +32 -0
- package/src/evaluation-model/v4/evaluation-model-v4-result.ts +56 -0
- package/src/evaluation-model/v4/evaluation-model-v4.ts +16 -0
- package/src/evaluation-model/v4/index.ts +10 -0
- package/src/index.ts +1 -0
- package/src/json-value/json-value.ts +2 -2
- package/src/realtime-model/v4/realtime-model-v4-client-event.ts +27 -0
- package/src/realtime-model/v4/realtime-model-v4-server-event.ts +49 -1
- package/src/realtime-model/v4/realtime-model-v4.ts +38 -2
package/dist/index.js
CHANGED
|
@@ -12,13 +12,13 @@ var AISDKError = class _AISDKError extends (_b = Error, _a = symbol, _b) {
|
|
|
12
12
|
* @param {unknown} [params.cause] - The underlying cause of the error.
|
|
13
13
|
*/
|
|
14
14
|
constructor({
|
|
15
|
-
name:
|
|
15
|
+
name: name16,
|
|
16
16
|
message,
|
|
17
17
|
cause
|
|
18
18
|
}) {
|
|
19
19
|
super(message);
|
|
20
20
|
this[_a] = true;
|
|
21
|
-
this.name =
|
|
21
|
+
this.name = name16;
|
|
22
22
|
this.cause = cause;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
@@ -29,8 +29,8 @@ var AISDKError = class _AISDKError extends (_b = Error, _a = symbol, _b) {
|
|
|
29
29
|
static isInstance(error) {
|
|
30
30
|
return _AISDKError.hasMarker(error, marker);
|
|
31
31
|
}
|
|
32
|
-
static hasMarker(error,
|
|
33
|
-
const markerSymbol = Symbol.for(
|
|
32
|
+
static hasMarker(error, marker17) {
|
|
33
|
+
const markerSymbol = Symbol.for(marker17);
|
|
34
34
|
return error != null && typeof error === "object" && markerSymbol in error && typeof error[markerSymbol] === "boolean" && error[markerSymbol] === true;
|
|
35
35
|
}
|
|
36
36
|
};
|
|
@@ -87,6 +87,31 @@ var EmptyResponseBodyError = class extends (_b3 = AISDKError, _a3 = symbol3, _b3
|
|
|
87
87
|
}
|
|
88
88
|
};
|
|
89
89
|
|
|
90
|
+
// src/errors/evaluation-unsupported-question-type-error.ts
|
|
91
|
+
var name3 = "AI_EvaluationUnsupportedQuestionTypeError";
|
|
92
|
+
var marker4 = `vercel.ai.error.${name3}`;
|
|
93
|
+
var symbol4 = Symbol.for(marker4);
|
|
94
|
+
var _a4, _b4;
|
|
95
|
+
var EvaluationUnsupportedQuestionTypeError = class extends (_b4 = AISDKError, _a4 = symbol4, _b4) {
|
|
96
|
+
constructor({
|
|
97
|
+
questionId,
|
|
98
|
+
questionType,
|
|
99
|
+
provider,
|
|
100
|
+
modelId,
|
|
101
|
+
message = `Question "${questionId}" has type "${questionType}", which is not supported by provider "${provider}" and model "${modelId}".`
|
|
102
|
+
}) {
|
|
103
|
+
super({ name: name3, message });
|
|
104
|
+
this[_a4] = true;
|
|
105
|
+
this.questionId = questionId;
|
|
106
|
+
this.questionType = questionType;
|
|
107
|
+
this.provider = provider;
|
|
108
|
+
this.modelId = modelId;
|
|
109
|
+
}
|
|
110
|
+
static isInstance(error) {
|
|
111
|
+
return AISDKError.hasMarker(error, marker4);
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
|
|
90
115
|
// src/errors/get-error-message.ts
|
|
91
116
|
function getErrorMessage(error) {
|
|
92
117
|
if (error == null) {
|
|
@@ -102,107 +127,91 @@ function getErrorMessage(error) {
|
|
|
102
127
|
}
|
|
103
128
|
|
|
104
129
|
// src/errors/invalid-argument-error.ts
|
|
105
|
-
var
|
|
106
|
-
var
|
|
107
|
-
var
|
|
108
|
-
var
|
|
109
|
-
var InvalidArgumentError = class extends (
|
|
130
|
+
var name4 = "AI_InvalidArgumentError";
|
|
131
|
+
var marker5 = `vercel.ai.error.${name4}`;
|
|
132
|
+
var symbol5 = Symbol.for(marker5);
|
|
133
|
+
var _a5, _b5;
|
|
134
|
+
var InvalidArgumentError = class extends (_b5 = AISDKError, _a5 = symbol5, _b5) {
|
|
110
135
|
constructor({
|
|
111
136
|
message,
|
|
112
137
|
cause,
|
|
113
138
|
argument
|
|
114
139
|
}) {
|
|
115
|
-
super({ name:
|
|
116
|
-
this[
|
|
140
|
+
super({ name: name4, message, cause });
|
|
141
|
+
this[_a5] = true;
|
|
117
142
|
this.argument = argument;
|
|
118
143
|
}
|
|
119
144
|
static isInstance(error) {
|
|
120
|
-
return AISDKError.hasMarker(error,
|
|
145
|
+
return AISDKError.hasMarker(error, marker5);
|
|
121
146
|
}
|
|
122
147
|
};
|
|
123
148
|
|
|
124
149
|
// src/errors/invalid-prompt-error.ts
|
|
125
|
-
var
|
|
126
|
-
var
|
|
127
|
-
var
|
|
128
|
-
var
|
|
129
|
-
var InvalidPromptError = class extends (
|
|
150
|
+
var name5 = "AI_InvalidPromptError";
|
|
151
|
+
var marker6 = `vercel.ai.error.${name5}`;
|
|
152
|
+
var symbol6 = Symbol.for(marker6);
|
|
153
|
+
var _a6, _b6;
|
|
154
|
+
var InvalidPromptError = class extends (_b6 = AISDKError, _a6 = symbol6, _b6) {
|
|
130
155
|
constructor({
|
|
131
156
|
prompt,
|
|
132
157
|
message,
|
|
133
158
|
cause
|
|
134
159
|
}) {
|
|
135
|
-
super({ name:
|
|
136
|
-
this[
|
|
160
|
+
super({ name: name5, message: `Invalid prompt: ${message}`, cause });
|
|
161
|
+
this[_a6] = true;
|
|
137
162
|
this.prompt = prompt;
|
|
138
163
|
}
|
|
139
164
|
static isInstance(error) {
|
|
140
|
-
return AISDKError.hasMarker(error,
|
|
165
|
+
return AISDKError.hasMarker(error, marker6);
|
|
141
166
|
}
|
|
142
167
|
};
|
|
143
168
|
|
|
144
169
|
// src/errors/invalid-response-data-error.ts
|
|
145
|
-
var
|
|
146
|
-
var
|
|
147
|
-
var
|
|
148
|
-
var
|
|
149
|
-
var InvalidResponseDataError = class extends (
|
|
170
|
+
var name6 = "AI_InvalidResponseDataError";
|
|
171
|
+
var marker7 = `vercel.ai.error.${name6}`;
|
|
172
|
+
var symbol7 = Symbol.for(marker7);
|
|
173
|
+
var _a7, _b7;
|
|
174
|
+
var InvalidResponseDataError = class extends (_b7 = AISDKError, _a7 = symbol7, _b7) {
|
|
150
175
|
constructor({
|
|
151
176
|
data,
|
|
152
177
|
message = `Invalid response data: ${JSON.stringify(data)}.`
|
|
153
178
|
}) {
|
|
154
|
-
super({ name:
|
|
155
|
-
this[
|
|
179
|
+
super({ name: name6, message });
|
|
180
|
+
this[_a7] = true;
|
|
156
181
|
this.data = data;
|
|
157
182
|
}
|
|
158
183
|
static isInstance(error) {
|
|
159
|
-
return AISDKError.hasMarker(error,
|
|
184
|
+
return AISDKError.hasMarker(error, marker7);
|
|
160
185
|
}
|
|
161
186
|
};
|
|
162
187
|
|
|
163
188
|
// src/errors/json-parse-error.ts
|
|
164
|
-
var
|
|
165
|
-
var
|
|
166
|
-
var
|
|
167
|
-
var
|
|
168
|
-
var JSONParseError = class extends (
|
|
189
|
+
var name7 = "AI_JSONParseError";
|
|
190
|
+
var marker8 = `vercel.ai.error.${name7}`;
|
|
191
|
+
var symbol8 = Symbol.for(marker8);
|
|
192
|
+
var _a8, _b8;
|
|
193
|
+
var JSONParseError = class extends (_b8 = AISDKError, _a8 = symbol8, _b8) {
|
|
169
194
|
constructor({ text, cause }) {
|
|
170
195
|
super({
|
|
171
|
-
name:
|
|
196
|
+
name: name7,
|
|
172
197
|
message: `JSON parsing failed: Text: ${text}.
|
|
173
198
|
Error message: ${getErrorMessage(cause)}`,
|
|
174
199
|
cause
|
|
175
200
|
});
|
|
176
|
-
this[_a7] = true;
|
|
177
|
-
this.text = text;
|
|
178
|
-
}
|
|
179
|
-
static isInstance(error) {
|
|
180
|
-
return AISDKError.hasMarker(error, marker7);
|
|
181
|
-
}
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
// src/errors/load-api-key-error.ts
|
|
185
|
-
var name7 = "AI_LoadAPIKeyError";
|
|
186
|
-
var marker8 = `vercel.ai.error.${name7}`;
|
|
187
|
-
var symbol8 = Symbol.for(marker8);
|
|
188
|
-
var _a8, _b8;
|
|
189
|
-
var LoadAPIKeyError = class extends (_b8 = AISDKError, _a8 = symbol8, _b8) {
|
|
190
|
-
// used in isInstance
|
|
191
|
-
constructor({ message }) {
|
|
192
|
-
super({ name: name7, message });
|
|
193
201
|
this[_a8] = true;
|
|
202
|
+
this.text = text;
|
|
194
203
|
}
|
|
195
204
|
static isInstance(error) {
|
|
196
205
|
return AISDKError.hasMarker(error, marker8);
|
|
197
206
|
}
|
|
198
207
|
};
|
|
199
208
|
|
|
200
|
-
// src/errors/load-
|
|
201
|
-
var name8 = "
|
|
209
|
+
// src/errors/load-api-key-error.ts
|
|
210
|
+
var name8 = "AI_LoadAPIKeyError";
|
|
202
211
|
var marker9 = `vercel.ai.error.${name8}`;
|
|
203
212
|
var symbol9 = Symbol.for(marker9);
|
|
204
213
|
var _a9, _b9;
|
|
205
|
-
var
|
|
214
|
+
var LoadAPIKeyError = class extends (_b9 = AISDKError, _a9 = symbol9, _b9) {
|
|
206
215
|
// used in isInstance
|
|
207
216
|
constructor({ message }) {
|
|
208
217
|
super({ name: name8, message });
|
|
@@ -213,16 +222,14 @@ var LoadSettingError = class extends (_b9 = AISDKError, _a9 = symbol9, _b9) {
|
|
|
213
222
|
}
|
|
214
223
|
};
|
|
215
224
|
|
|
216
|
-
// src/errors/
|
|
217
|
-
var name9 = "
|
|
225
|
+
// src/errors/load-setting-error.ts
|
|
226
|
+
var name9 = "AI_LoadSettingError";
|
|
218
227
|
var marker10 = `vercel.ai.error.${name9}`;
|
|
219
228
|
var symbol10 = Symbol.for(marker10);
|
|
220
229
|
var _a10, _b10;
|
|
221
|
-
var
|
|
230
|
+
var LoadSettingError = class extends (_b10 = AISDKError, _a10 = symbol10, _b10) {
|
|
222
231
|
// used in isInstance
|
|
223
|
-
constructor({
|
|
224
|
-
message = "No content generated."
|
|
225
|
-
} = {}) {
|
|
232
|
+
constructor({ message }) {
|
|
226
233
|
super({ name: name9, message });
|
|
227
234
|
this[_a10] = true;
|
|
228
235
|
}
|
|
@@ -231,77 +238,95 @@ var NoContentGeneratedError = class extends (_b10 = AISDKError, _a10 = symbol10,
|
|
|
231
238
|
}
|
|
232
239
|
};
|
|
233
240
|
|
|
234
|
-
// src/errors/no-
|
|
235
|
-
var name10 = "
|
|
241
|
+
// src/errors/no-content-generated-error.ts
|
|
242
|
+
var name10 = "AI_NoContentGeneratedError";
|
|
236
243
|
var marker11 = `vercel.ai.error.${name10}`;
|
|
237
244
|
var symbol11 = Symbol.for(marker11);
|
|
238
245
|
var _a11, _b11;
|
|
239
|
-
var
|
|
246
|
+
var NoContentGeneratedError = class extends (_b11 = AISDKError, _a11 = symbol11, _b11) {
|
|
247
|
+
// used in isInstance
|
|
240
248
|
constructor({
|
|
241
|
-
|
|
249
|
+
message = "No content generated."
|
|
250
|
+
} = {}) {
|
|
251
|
+
super({ name: name10, message });
|
|
252
|
+
this[_a11] = true;
|
|
253
|
+
}
|
|
254
|
+
static isInstance(error) {
|
|
255
|
+
return AISDKError.hasMarker(error, marker11);
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
// src/errors/no-such-model-error.ts
|
|
260
|
+
var name11 = "AI_NoSuchModelError";
|
|
261
|
+
var marker12 = `vercel.ai.error.${name11}`;
|
|
262
|
+
var symbol12 = Symbol.for(marker12);
|
|
263
|
+
var _a12, _b12;
|
|
264
|
+
var NoSuchModelError = class extends (_b12 = AISDKError, _a12 = symbol12, _b12) {
|
|
265
|
+
constructor({
|
|
266
|
+
errorName = name11,
|
|
242
267
|
modelId,
|
|
243
268
|
modelType,
|
|
244
269
|
message = `No such ${modelType}: ${modelId}`
|
|
245
270
|
}) {
|
|
246
271
|
super({ name: errorName, message });
|
|
247
|
-
this[
|
|
272
|
+
this[_a12] = true;
|
|
248
273
|
this.modelId = modelId;
|
|
249
274
|
this.modelType = modelType;
|
|
250
275
|
}
|
|
251
276
|
static isInstance(error) {
|
|
252
|
-
return AISDKError.hasMarker(error,
|
|
277
|
+
return AISDKError.hasMarker(error, marker12);
|
|
253
278
|
}
|
|
254
279
|
};
|
|
255
280
|
|
|
256
281
|
// src/errors/no-such-provider-reference-error.ts
|
|
257
|
-
var
|
|
258
|
-
var
|
|
259
|
-
var
|
|
260
|
-
var
|
|
261
|
-
var NoSuchProviderReferenceError = class extends (
|
|
282
|
+
var name12 = "AI_NoSuchProviderReferenceError";
|
|
283
|
+
var marker13 = `vercel.ai.error.${name12}`;
|
|
284
|
+
var symbol13 = Symbol.for(marker13);
|
|
285
|
+
var _a13, _b13;
|
|
286
|
+
var NoSuchProviderReferenceError = class extends (_b13 = AISDKError, _a13 = symbol13, _b13) {
|
|
262
287
|
constructor({
|
|
263
288
|
provider,
|
|
264
289
|
reference,
|
|
265
290
|
message = `No provider reference found for provider '${provider}'. Available providers: ${Object.keys(reference).join(", ")}`
|
|
266
291
|
}) {
|
|
267
|
-
super({ name:
|
|
268
|
-
this[
|
|
292
|
+
super({ name: name12, message });
|
|
293
|
+
this[_a13] = true;
|
|
269
294
|
this.provider = provider;
|
|
270
295
|
this.reference = reference;
|
|
271
296
|
}
|
|
272
297
|
static isInstance(error) {
|
|
273
|
-
return AISDKError.hasMarker(error,
|
|
298
|
+
return AISDKError.hasMarker(error, marker13);
|
|
274
299
|
}
|
|
275
300
|
};
|
|
276
301
|
|
|
277
302
|
// src/errors/too-many-embedding-values-for-call-error.ts
|
|
278
|
-
var
|
|
279
|
-
var
|
|
280
|
-
var
|
|
281
|
-
var
|
|
282
|
-
var TooManyEmbeddingValuesForCallError = class extends (
|
|
303
|
+
var name13 = "AI_TooManyEmbeddingValuesForCallError";
|
|
304
|
+
var marker14 = `vercel.ai.error.${name13}`;
|
|
305
|
+
var symbol14 = Symbol.for(marker14);
|
|
306
|
+
var _a14, _b14;
|
|
307
|
+
var TooManyEmbeddingValuesForCallError = class extends (_b14 = AISDKError, _a14 = symbol14, _b14) {
|
|
283
308
|
constructor(options) {
|
|
284
309
|
super({
|
|
285
|
-
name:
|
|
310
|
+
name: name13,
|
|
286
311
|
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.`
|
|
287
312
|
});
|
|
288
|
-
this[
|
|
313
|
+
this[_a14] = true;
|
|
289
314
|
this.provider = options.provider;
|
|
290
315
|
this.modelId = options.modelId;
|
|
291
316
|
this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;
|
|
292
317
|
this.values = options.values;
|
|
293
318
|
}
|
|
294
319
|
static isInstance(error) {
|
|
295
|
-
return AISDKError.hasMarker(error,
|
|
320
|
+
return AISDKError.hasMarker(error, marker14);
|
|
296
321
|
}
|
|
297
322
|
};
|
|
298
323
|
|
|
299
324
|
// src/errors/type-validation-error.ts
|
|
300
|
-
var
|
|
301
|
-
var
|
|
302
|
-
var
|
|
303
|
-
var
|
|
304
|
-
var TypeValidationError = class _TypeValidationError extends (
|
|
325
|
+
var name14 = "AI_TypeValidationError";
|
|
326
|
+
var marker15 = `vercel.ai.error.${name14}`;
|
|
327
|
+
var symbol15 = Symbol.for(marker15);
|
|
328
|
+
var _a15, _b15;
|
|
329
|
+
var TypeValidationError = class _TypeValidationError extends (_b15 = AISDKError, _a15 = symbol15, _b15) {
|
|
305
330
|
constructor({
|
|
306
331
|
value,
|
|
307
332
|
cause,
|
|
@@ -324,17 +349,17 @@ var TypeValidationError = class _TypeValidationError extends (_b14 = AISDKError,
|
|
|
324
349
|
contextPrefix += ")";
|
|
325
350
|
}
|
|
326
351
|
super({
|
|
327
|
-
name:
|
|
352
|
+
name: name14,
|
|
328
353
|
message: `${contextPrefix}: Value: ${JSON.stringify(value)}.
|
|
329
354
|
Error message: ${getErrorMessage(cause)}`,
|
|
330
355
|
cause
|
|
331
356
|
});
|
|
332
|
-
this[
|
|
357
|
+
this[_a15] = true;
|
|
333
358
|
this.value = value;
|
|
334
359
|
this.context = context;
|
|
335
360
|
}
|
|
336
361
|
static isInstance(error) {
|
|
337
|
-
return AISDKError.hasMarker(error,
|
|
362
|
+
return AISDKError.hasMarker(error, marker15);
|
|
338
363
|
}
|
|
339
364
|
/**
|
|
340
365
|
* Wraps an error into a TypeValidationError.
|
|
@@ -352,8 +377,8 @@ Error message: ${getErrorMessage(cause)}`,
|
|
|
352
377
|
cause,
|
|
353
378
|
context
|
|
354
379
|
}) {
|
|
355
|
-
var
|
|
356
|
-
if (_TypeValidationError.isInstance(cause) && cause.value === value && ((
|
|
380
|
+
var _a17, _b17, _c;
|
|
381
|
+
if (_TypeValidationError.isInstance(cause) && cause.value === value && ((_a17 = cause.context) == null ? void 0 : _a17.field) === (context == null ? void 0 : context.field) && ((_b17 = cause.context) == null ? void 0 : _b17.entityName) === (context == null ? void 0 : context.entityName) && ((_c = cause.context) == null ? void 0 : _c.entityId) === (context == null ? void 0 : context.entityId)) {
|
|
357
382
|
return cause;
|
|
358
383
|
}
|
|
359
384
|
return new _TypeValidationError({ value, cause, context });
|
|
@@ -361,21 +386,21 @@ Error message: ${getErrorMessage(cause)}`,
|
|
|
361
386
|
};
|
|
362
387
|
|
|
363
388
|
// src/errors/unsupported-functionality-error.ts
|
|
364
|
-
var
|
|
365
|
-
var
|
|
366
|
-
var
|
|
367
|
-
var
|
|
368
|
-
var UnsupportedFunctionalityError = class extends (
|
|
389
|
+
var name15 = "AI_UnsupportedFunctionalityError";
|
|
390
|
+
var marker16 = `vercel.ai.error.${name15}`;
|
|
391
|
+
var symbol16 = Symbol.for(marker16);
|
|
392
|
+
var _a16, _b16;
|
|
393
|
+
var UnsupportedFunctionalityError = class extends (_b16 = AISDKError, _a16 = symbol16, _b16) {
|
|
369
394
|
constructor({
|
|
370
395
|
functionality,
|
|
371
396
|
message = `'${functionality}' functionality not supported.`
|
|
372
397
|
}) {
|
|
373
|
-
super({ name:
|
|
374
|
-
this[
|
|
398
|
+
super({ name: name15, message });
|
|
399
|
+
this[_a16] = true;
|
|
375
400
|
this.functionality = functionality;
|
|
376
401
|
}
|
|
377
402
|
static isInstance(error) {
|
|
378
|
-
return AISDKError.hasMarker(error,
|
|
403
|
+
return AISDKError.hasMarker(error, marker16);
|
|
379
404
|
}
|
|
380
405
|
};
|
|
381
406
|
|
|
@@ -406,6 +431,7 @@ export {
|
|
|
406
431
|
AISDKError,
|
|
407
432
|
APICallError,
|
|
408
433
|
EmptyResponseBodyError,
|
|
434
|
+
EvaluationUnsupportedQuestionTypeError as Experimental_EvaluationUnsupportedQuestionTypeError,
|
|
409
435
|
InvalidArgumentError,
|
|
410
436
|
InvalidPromptError,
|
|
411
437
|
InvalidResponseDataError,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/errors/ai-sdk-error.ts","../src/errors/api-call-error.ts","../src/errors/empty-response-body-error.ts","../src/errors/get-error-message.ts","../src/errors/invalid-argument-error.ts","../src/errors/invalid-prompt-error.ts","../src/errors/invalid-response-data-error.ts","../src/errors/json-parse-error.ts","../src/errors/load-api-key-error.ts","../src/errors/load-setting-error.ts","../src/errors/no-content-generated-error.ts","../src/errors/no-such-model-error.ts","../src/errors/no-such-provider-reference-error.ts","../src/errors/too-many-embedding-values-for-call-error.ts","../src/errors/type-validation-error.ts","../src/errors/unsupported-functionality-error.ts","../src/json-value/is-json.ts"],"sourcesContent":["/**\n * Symbol used for identifying AI SDK Error instances.\n * Enables checking if an error is an instance of AISDKError across package versions.\n */\nconst marker = 'vercel.ai.error';\nconst symbol = Symbol.for(marker);\n\n/**\n * Custom error class for AI SDK related errors.\n * @extends Error\n */\nexport class AISDKError extends Error {\n private readonly [symbol] = true; // used in isInstance\n\n /**\n * The underlying cause of the error, if any.\n */\n readonly cause?: unknown;\n\n /**\n * Creates an AI SDK Error.\n *\n * @param {Object} params - The parameters for creating the error.\n * @param {string} params.name - The name of the error.\n * @param {string} params.message - The error message.\n * @param {unknown} [params.cause] - The underlying cause of the error.\n */\n constructor({\n name,\n message,\n cause,\n }: {\n name: string;\n message: string;\n cause?: unknown;\n }) {\n super(message);\n\n this.name = name;\n this.cause = cause;\n }\n\n /**\n * Checks if the given error is an AI SDK Error.\n * @param {unknown} error - The error to check.\n * @returns {boolean} True if the error is an AI SDK Error, false otherwise.\n */\n static isInstance(error: unknown): error is AISDKError {\n return AISDKError.hasMarker(error, marker);\n }\n\n protected static hasMarker(error: unknown, marker: string): boolean {\n const markerSymbol = Symbol.for(marker);\n return (\n error != null &&\n typeof error === 'object' &&\n markerSymbol in error &&\n typeof error[markerSymbol] === 'boolean' &&\n error[markerSymbol] === true\n );\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_APICallError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class APICallError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly url: string;\n readonly requestBodyValues: unknown;\n readonly statusCode?: number;\n\n readonly responseHeaders?: Record<string, string>;\n readonly responseBody?: string;\n\n readonly isRetryable: boolean;\n readonly data?: unknown;\n\n constructor({\n message,\n url,\n requestBodyValues,\n statusCode,\n responseHeaders,\n responseBody,\n cause,\n isRetryable = statusCode != null &&\n (statusCode === 408 || // request timeout\n statusCode === 409 || // conflict\n statusCode === 429 || // too many requests\n statusCode >= 500), // server error\n data,\n }: {\n message: string;\n url: string;\n requestBodyValues: unknown;\n statusCode?: number;\n responseHeaders?: Record<string, string>;\n responseBody?: string;\n cause?: unknown;\n isRetryable?: boolean;\n data?: unknown;\n }) {\n super({ name, message, cause });\n\n this.url = url;\n this.requestBodyValues = requestBodyValues;\n this.statusCode = statusCode;\n this.responseHeaders = responseHeaders;\n this.responseBody = responseBody;\n this.isRetryable = isRetryable;\n this.data = data;\n }\n\n static isInstance(error: unknown): error is APICallError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_EmptyResponseBodyError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class EmptyResponseBodyError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message = 'Empty response body' }: { message?: string } = {}) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is EmptyResponseBodyError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","export function getErrorMessage(error: unknown | undefined) {\n if (error == null) {\n return 'unknown error';\n }\n\n if (typeof error === 'string') {\n return error;\n }\n\n if (error instanceof Error) {\n return error.toString();\n }\n\n return JSON.stringify(error);\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidArgumentError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * A function argument is invalid.\n */\nexport class InvalidArgumentError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly argument: string;\n\n constructor({\n message,\n cause,\n argument,\n }: {\n argument: string;\n message: string;\n cause?: unknown;\n }) {\n super({ name, message, cause });\n\n this.argument = argument;\n }\n\n static isInstance(error: unknown): error is InvalidArgumentError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidPromptError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * A prompt is invalid. This error should be thrown by providers when they cannot\n * process a prompt.\n */\nexport class InvalidPromptError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly prompt: unknown;\n\n constructor({\n prompt,\n message,\n cause,\n }: {\n prompt: unknown;\n message: string;\n cause?: unknown;\n }) {\n super({ name, message: `Invalid prompt: ${message}`, cause });\n\n this.prompt = prompt;\n }\n\n static isInstance(error: unknown): error is InvalidPromptError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidResponseDataError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * Server returned a response with invalid data content.\n * This should be thrown by providers when they cannot parse the response from the API.\n */\nexport class InvalidResponseDataError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly data: unknown;\n\n constructor({\n data,\n message = `Invalid response data: ${JSON.stringify(data)}.`,\n }: {\n data: unknown;\n message?: string;\n }) {\n super({ name, message });\n\n this.data = data;\n }\n\n static isInstance(error: unknown): error is InvalidResponseDataError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\nimport { getErrorMessage } from './get-error-message';\n\nconst name = 'AI_JSONParseError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class JSONParseError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly text: string;\n\n constructor({ text, cause }: { text: string; cause: unknown }) {\n super({\n name,\n message:\n `JSON parsing failed: ` +\n `Text: ${text}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n cause,\n });\n\n this.text = text;\n }\n\n static isInstance(error: unknown): error is JSONParseError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_LoadAPIKeyError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class LoadAPIKeyError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message }: { message: string }) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is LoadAPIKeyError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_LoadSettingError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class LoadSettingError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message }: { message: string }) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is LoadSettingError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_NoContentGeneratedError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * Thrown when the AI provider fails to generate any content.\n */\nexport class NoContentGeneratedError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({\n message = 'No content generated.',\n }: { message?: string } = {}) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is NoContentGeneratedError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_NoSuchModelError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class NoSuchModelError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly modelId: string;\n readonly modelType:\n | 'languageModel'\n | 'embeddingModel'\n | 'imageModel'\n | 'transcriptionModel'\n | 'speechModel'\n | 'rerankingModel'\n | 'videoModel';\n\n constructor({\n errorName = name,\n modelId,\n modelType,\n message = `No such ${modelType}: ${modelId}`,\n }: {\n errorName?: string;\n modelId: string;\n modelType:\n | 'languageModel'\n | 'embeddingModel'\n | 'imageModel'\n | 'transcriptionModel'\n | 'speechModel'\n | 'rerankingModel'\n | 'videoModel';\n message?: string;\n }) {\n super({ name: errorName, message });\n\n this.modelId = modelId;\n this.modelType = modelType;\n }\n\n static isInstance(error: unknown): error is NoSuchModelError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import type { SharedV4ProviderReference } from '../shared/v4/shared-v4-provider-reference';\nimport { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_NoSuchProviderReferenceError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * Thrown when a provider reference cannot be resolved because the specified\n * provider is not found in the provider reference mapping.\n */\nexport class NoSuchProviderReferenceError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly provider: string;\n readonly reference: SharedV4ProviderReference;\n\n constructor({\n provider,\n reference,\n message = `No provider reference found for provider '${provider}'. Available providers: ${Object.keys(reference).join(', ')}`,\n }: {\n provider: string;\n reference: SharedV4ProviderReference;\n message?: string;\n }) {\n super({ name, message });\n this.provider = provider;\n this.reference = reference;\n }\n\n static isInstance(error: unknown): error is NoSuchProviderReferenceError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_TooManyEmbeddingValuesForCallError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class TooManyEmbeddingValuesForCallError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly provider: string;\n readonly modelId: string;\n readonly maxEmbeddingsPerCall: number;\n readonly values: Array<unknown>;\n\n constructor(options: {\n provider: string;\n modelId: string;\n maxEmbeddingsPerCall: number;\n values: Array<unknown>;\n }) {\n super({\n name,\n message:\n `Too many values for a single embedding call. ` +\n `The ${options.provider} model \"${options.modelId}\" can only embed up to ` +\n `${options.maxEmbeddingsPerCall} values per call, but ${options.values.length} values were provided.`,\n });\n\n this.provider = options.provider;\n this.modelId = options.modelId;\n this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;\n this.values = options.values;\n }\n\n static isInstance(\n error: unknown,\n ): error is TooManyEmbeddingValuesForCallError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\nimport { getErrorMessage } from './get-error-message';\n\nconst name = 'AI_TypeValidationError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport interface TypeValidationContext {\n /**\n * Field path in dot notation (e.g., \"message.metadata\", \"message.parts[3].data\")\n */\n field?: string;\n\n /**\n * Entity name (e.g., tool name, data type name)\n */\n entityName?: string;\n\n /**\n * Entity identifier (e.g., message ID, tool call ID)\n */\n entityId?: string;\n}\n\nexport class TypeValidationError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly value: unknown;\n readonly context?: TypeValidationContext;\n\n constructor({\n value,\n cause,\n context,\n }: {\n value: unknown;\n cause: unknown;\n context?: TypeValidationContext;\n }) {\n let contextPrefix = 'Type validation failed';\n\n if (context?.field) {\n contextPrefix += ` for ${context.field}`;\n }\n\n if (context?.entityName || context?.entityId) {\n contextPrefix += ' (';\n const parts: string[] = [];\n if (context.entityName) {\n parts.push(context.entityName);\n }\n if (context.entityId) {\n parts.push(`id: \"${context.entityId}\"`);\n }\n contextPrefix += parts.join(', ');\n contextPrefix += ')';\n }\n\n super({\n name,\n message:\n `${contextPrefix}: ` +\n `Value: ${JSON.stringify(value)}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n cause,\n });\n\n this.value = value;\n this.context = context;\n }\n\n static isInstance(error: unknown): error is TypeValidationError {\n return AISDKError.hasMarker(error, marker);\n }\n\n /**\n * Wraps an error into a TypeValidationError.\n * If the cause is already a TypeValidationError with the same value and context, it returns the cause.\n * Otherwise, it creates a new TypeValidationError.\n *\n * @param {Object} params - The parameters for wrapping the error.\n * @param {unknown} params.value - The value that failed validation.\n * @param {unknown} params.cause - The original error or cause of the validation failure.\n * @param {TypeValidationContext} params.context - Optional context about what is being validated.\n * @returns {TypeValidationError} A TypeValidationError instance.\n */\n static wrap({\n value,\n cause,\n context,\n }: {\n value: unknown;\n cause: unknown;\n context?: TypeValidationContext;\n }): TypeValidationError {\n if (\n TypeValidationError.isInstance(cause) &&\n cause.value === value &&\n cause.context?.field === context?.field &&\n cause.context?.entityName === context?.entityName &&\n cause.context?.entityId === context?.entityId\n ) {\n return cause;\n }\n\n return new TypeValidationError({ value, cause, context });\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_UnsupportedFunctionalityError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class UnsupportedFunctionalityError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly functionality: string;\n\n constructor({\n functionality,\n message = `'${functionality}' functionality not supported.`,\n }: {\n functionality: string;\n message?: string;\n }) {\n super({ name, message });\n this.functionality = functionality;\n }\n\n static isInstance(error: unknown): error is UnsupportedFunctionalityError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import type { JSONArray, JSONObject, JSONValue } from './json-value';\n\nexport function isJSONValue(value: unknown): value is JSONValue {\n if (\n value === null ||\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n return true;\n }\n\n if (Array.isArray(value)) {\n return value.every(isJSONValue);\n }\n\n if (typeof value === 'object') {\n return Object.entries(value).every(\n ([key, val]) =>\n typeof key === 'string' && (val === undefined || isJSONValue(val)),\n );\n }\n\n return false;\n}\n\nexport function isJSONArray(value: unknown): value is JSONArray {\n return Array.isArray(value) && value.every(isJSONValue);\n}\n\nexport function isJSONObject(value: unknown): value is JSONObject {\n return (\n value != null &&\n typeof value === 'object' &&\n Object.entries(value).every(\n ([key, val]) =>\n typeof key === 'string' && (val === undefined || isJSONValue(val)),\n )\n );\n}\n"],"mappings":"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","names":["name","marker","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b"]}
|
|
1
|
+
{"version":3,"sources":["../src/errors/ai-sdk-error.ts","../src/errors/api-call-error.ts","../src/errors/empty-response-body-error.ts","../src/errors/evaluation-unsupported-question-type-error.ts","../src/errors/get-error-message.ts","../src/errors/invalid-argument-error.ts","../src/errors/invalid-prompt-error.ts","../src/errors/invalid-response-data-error.ts","../src/errors/json-parse-error.ts","../src/errors/load-api-key-error.ts","../src/errors/load-setting-error.ts","../src/errors/no-content-generated-error.ts","../src/errors/no-such-model-error.ts","../src/errors/no-such-provider-reference-error.ts","../src/errors/too-many-embedding-values-for-call-error.ts","../src/errors/type-validation-error.ts","../src/errors/unsupported-functionality-error.ts","../src/json-value/is-json.ts"],"sourcesContent":["/**\n * Symbol used for identifying AI SDK Error instances.\n * Enables checking if an error is an instance of AISDKError across package versions.\n */\nconst marker = 'vercel.ai.error';\nconst symbol = Symbol.for(marker);\n\n/**\n * Custom error class for AI SDK related errors.\n * @extends Error\n */\nexport class AISDKError extends Error {\n private readonly [symbol] = true; // used in isInstance\n\n /**\n * The underlying cause of the error, if any.\n */\n readonly cause?: unknown;\n\n /**\n * Creates an AI SDK Error.\n *\n * @param {Object} params - The parameters for creating the error.\n * @param {string} params.name - The name of the error.\n * @param {string} params.message - The error message.\n * @param {unknown} [params.cause] - The underlying cause of the error.\n */\n constructor({\n name,\n message,\n cause,\n }: {\n name: string;\n message: string;\n cause?: unknown;\n }) {\n super(message);\n\n this.name = name;\n this.cause = cause;\n }\n\n /**\n * Checks if the given error is an AI SDK Error.\n * @param {unknown} error - The error to check.\n * @returns {boolean} True if the error is an AI SDK Error, false otherwise.\n */\n static isInstance(error: unknown): error is AISDKError {\n return AISDKError.hasMarker(error, marker);\n }\n\n protected static hasMarker(error: unknown, marker: string): boolean {\n const markerSymbol = Symbol.for(marker);\n return (\n error != null &&\n typeof error === 'object' &&\n markerSymbol in error &&\n typeof error[markerSymbol] === 'boolean' &&\n error[markerSymbol] === true\n );\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_APICallError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class APICallError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly url: string;\n readonly requestBodyValues: unknown;\n readonly statusCode?: number;\n\n readonly responseHeaders?: Record<string, string>;\n readonly responseBody?: string;\n\n readonly isRetryable: boolean;\n readonly data?: unknown;\n\n constructor({\n message,\n url,\n requestBodyValues,\n statusCode,\n responseHeaders,\n responseBody,\n cause,\n isRetryable = statusCode != null &&\n (statusCode === 408 || // request timeout\n statusCode === 409 || // conflict\n statusCode === 429 || // too many requests\n statusCode >= 500), // server error\n data,\n }: {\n message: string;\n url: string;\n requestBodyValues: unknown;\n statusCode?: number;\n responseHeaders?: Record<string, string>;\n responseBody?: string;\n cause?: unknown;\n isRetryable?: boolean;\n data?: unknown;\n }) {\n super({ name, message, cause });\n\n this.url = url;\n this.requestBodyValues = requestBodyValues;\n this.statusCode = statusCode;\n this.responseHeaders = responseHeaders;\n this.responseBody = responseBody;\n this.isRetryable = isRetryable;\n this.data = data;\n }\n\n static isInstance(error: unknown): error is APICallError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_EmptyResponseBodyError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class EmptyResponseBodyError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message = 'Empty response body' }: { message?: string } = {}) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is EmptyResponseBodyError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_EvaluationUnsupportedQuestionTypeError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * An evaluation model does not support the type of a requested question.\n */\nexport class EvaluationUnsupportedQuestionTypeError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly questionId: string;\n readonly questionType: string;\n readonly provider: string;\n readonly modelId: string;\n\n constructor({\n questionId,\n questionType,\n provider,\n modelId,\n message = `Question \"${questionId}\" has type \"${questionType}\", which is not supported by provider \"${provider}\" and model \"${modelId}\".`,\n }: {\n questionId: string;\n questionType: string;\n provider: string;\n modelId: string;\n message?: string;\n }) {\n super({ name, message });\n\n this.questionId = questionId;\n this.questionType = questionType;\n this.provider = provider;\n this.modelId = modelId;\n }\n\n static isInstance(\n error: unknown,\n ): error is EvaluationUnsupportedQuestionTypeError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","export function getErrorMessage(error: unknown | undefined) {\n if (error == null) {\n return 'unknown error';\n }\n\n if (typeof error === 'string') {\n return error;\n }\n\n if (error instanceof Error) {\n return error.toString();\n }\n\n return JSON.stringify(error);\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidArgumentError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * A function argument is invalid.\n */\nexport class InvalidArgumentError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly argument: string;\n\n constructor({\n message,\n cause,\n argument,\n }: {\n argument: string;\n message: string;\n cause?: unknown;\n }) {\n super({ name, message, cause });\n\n this.argument = argument;\n }\n\n static isInstance(error: unknown): error is InvalidArgumentError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidPromptError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * A prompt is invalid. This error should be thrown by providers when they cannot\n * process a prompt.\n */\nexport class InvalidPromptError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly prompt: unknown;\n\n constructor({\n prompt,\n message,\n cause,\n }: {\n prompt: unknown;\n message: string;\n cause?: unknown;\n }) {\n super({ name, message: `Invalid prompt: ${message}`, cause });\n\n this.prompt = prompt;\n }\n\n static isInstance(error: unknown): error is InvalidPromptError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidResponseDataError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * Server returned a response with invalid data content.\n * This should be thrown by providers when they cannot parse the response from the API.\n */\nexport class InvalidResponseDataError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly data: unknown;\n\n constructor({\n data,\n message = `Invalid response data: ${JSON.stringify(data)}.`,\n }: {\n data: unknown;\n message?: string;\n }) {\n super({ name, message });\n\n this.data = data;\n }\n\n static isInstance(error: unknown): error is InvalidResponseDataError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\nimport { getErrorMessage } from './get-error-message';\n\nconst name = 'AI_JSONParseError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class JSONParseError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly text: string;\n\n constructor({ text, cause }: { text: string; cause: unknown }) {\n super({\n name,\n message:\n `JSON parsing failed: ` +\n `Text: ${text}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n cause,\n });\n\n this.text = text;\n }\n\n static isInstance(error: unknown): error is JSONParseError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_LoadAPIKeyError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class LoadAPIKeyError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message }: { message: string }) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is LoadAPIKeyError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_LoadSettingError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class LoadSettingError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message }: { message: string }) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is LoadSettingError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_NoContentGeneratedError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * Thrown when the AI provider fails to generate any content.\n */\nexport class NoContentGeneratedError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({\n message = 'No content generated.',\n }: { message?: string } = {}) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is NoContentGeneratedError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_NoSuchModelError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class NoSuchModelError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly modelId: string;\n readonly modelType:\n | 'languageModel'\n | 'embeddingModel'\n | 'imageModel'\n | 'transcriptionModel'\n | 'speechModel'\n | 'rerankingModel'\n | 'videoModel';\n\n constructor({\n errorName = name,\n modelId,\n modelType,\n message = `No such ${modelType}: ${modelId}`,\n }: {\n errorName?: string;\n modelId: string;\n modelType:\n | 'languageModel'\n | 'embeddingModel'\n | 'imageModel'\n | 'transcriptionModel'\n | 'speechModel'\n | 'rerankingModel'\n | 'videoModel';\n message?: string;\n }) {\n super({ name: errorName, message });\n\n this.modelId = modelId;\n this.modelType = modelType;\n }\n\n static isInstance(error: unknown): error is NoSuchModelError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import type { SharedV4ProviderReference } from '../shared/v4/shared-v4-provider-reference';\nimport { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_NoSuchProviderReferenceError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * Thrown when a provider reference cannot be resolved because the specified\n * provider is not found in the provider reference mapping.\n */\nexport class NoSuchProviderReferenceError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly provider: string;\n readonly reference: SharedV4ProviderReference;\n\n constructor({\n provider,\n reference,\n message = `No provider reference found for provider '${provider}'. Available providers: ${Object.keys(reference).join(', ')}`,\n }: {\n provider: string;\n reference: SharedV4ProviderReference;\n message?: string;\n }) {\n super({ name, message });\n this.provider = provider;\n this.reference = reference;\n }\n\n static isInstance(error: unknown): error is NoSuchProviderReferenceError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_TooManyEmbeddingValuesForCallError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class TooManyEmbeddingValuesForCallError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly provider: string;\n readonly modelId: string;\n readonly maxEmbeddingsPerCall: number;\n readonly values: Array<unknown>;\n\n constructor(options: {\n provider: string;\n modelId: string;\n maxEmbeddingsPerCall: number;\n values: Array<unknown>;\n }) {\n super({\n name,\n message:\n `Too many values for a single embedding call. ` +\n `The ${options.provider} model \"${options.modelId}\" can only embed up to ` +\n `${options.maxEmbeddingsPerCall} values per call, but ${options.values.length} values were provided.`,\n });\n\n this.provider = options.provider;\n this.modelId = options.modelId;\n this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;\n this.values = options.values;\n }\n\n static isInstance(\n error: unknown,\n ): error is TooManyEmbeddingValuesForCallError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\nimport { getErrorMessage } from './get-error-message';\n\nconst name = 'AI_TypeValidationError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport interface TypeValidationContext {\n /**\n * Field path in dot notation (e.g., \"message.metadata\", \"message.parts[3].data\")\n */\n field?: string;\n\n /**\n * Entity name (e.g., tool name, data type name)\n */\n entityName?: string;\n\n /**\n * Entity identifier (e.g., message ID, tool call ID)\n */\n entityId?: string;\n}\n\nexport class TypeValidationError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly value: unknown;\n readonly context?: TypeValidationContext;\n\n constructor({\n value,\n cause,\n context,\n }: {\n value: unknown;\n cause: unknown;\n context?: TypeValidationContext;\n }) {\n let contextPrefix = 'Type validation failed';\n\n if (context?.field) {\n contextPrefix += ` for ${context.field}`;\n }\n\n if (context?.entityName || context?.entityId) {\n contextPrefix += ' (';\n const parts: string[] = [];\n if (context.entityName) {\n parts.push(context.entityName);\n }\n if (context.entityId) {\n parts.push(`id: \"${context.entityId}\"`);\n }\n contextPrefix += parts.join(', ');\n contextPrefix += ')';\n }\n\n super({\n name,\n message:\n `${contextPrefix}: ` +\n `Value: ${JSON.stringify(value)}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n cause,\n });\n\n this.value = value;\n this.context = context;\n }\n\n static isInstance(error: unknown): error is TypeValidationError {\n return AISDKError.hasMarker(error, marker);\n }\n\n /**\n * Wraps an error into a TypeValidationError.\n * If the cause is already a TypeValidationError with the same value and context, it returns the cause.\n * Otherwise, it creates a new TypeValidationError.\n *\n * @param {Object} params - The parameters for wrapping the error.\n * @param {unknown} params.value - The value that failed validation.\n * @param {unknown} params.cause - The original error or cause of the validation failure.\n * @param {TypeValidationContext} params.context - Optional context about what is being validated.\n * @returns {TypeValidationError} A TypeValidationError instance.\n */\n static wrap({\n value,\n cause,\n context,\n }: {\n value: unknown;\n cause: unknown;\n context?: TypeValidationContext;\n }): TypeValidationError {\n if (\n TypeValidationError.isInstance(cause) &&\n cause.value === value &&\n cause.context?.field === context?.field &&\n cause.context?.entityName === context?.entityName &&\n cause.context?.entityId === context?.entityId\n ) {\n return cause;\n }\n\n return new TypeValidationError({ value, cause, context });\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_UnsupportedFunctionalityError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class UnsupportedFunctionalityError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly functionality: string;\n\n constructor({\n functionality,\n message = `'${functionality}' functionality not supported.`,\n }: {\n functionality: string;\n message?: string;\n }) {\n super({ name, message });\n this.functionality = functionality;\n }\n\n static isInstance(error: unknown): error is UnsupportedFunctionalityError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import type { JSONArray, JSONObject, JSONValue } from './json-value';\n\nexport function isJSONValue(value: unknown): value is JSONValue {\n if (\n value === null ||\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n return true;\n }\n\n if (Array.isArray(value)) {\n return value.every(isJSONValue);\n }\n\n if (typeof value === 'object') {\n return Object.entries(value).every(\n ([key, val]) =>\n typeof key === 'string' && (val === undefined || isJSONValue(val)),\n );\n }\n\n return false;\n}\n\nexport function isJSONArray(value: unknown): value is JSONArray {\n return Array.isArray(value) && value.every(isJSONValue);\n}\n\nexport function isJSONObject(value: unknown): value is JSONObject {\n return (\n value != null &&\n typeof value === 'object' &&\n Object.entries(value).every(\n ([key, val]) =>\n typeof key === 'string' && (val === undefined || isJSONValue(val)),\n )\n );\n}\n"],"mappings":";AAIA,IAAM,SAAS;AACf,IAAM,SAAS,OAAO,IAAI,MAAM;AALhC;AAWO,IAAM,aAAN,MAAM,qBAAmB,YACZ,aADY,IAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBpC,YAAY;AAAA,IACV,MAAAA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAIG;AACD,UAAM,OAAO;AAxBf,SAAkB,MAAU;AA0B1B,SAAK,OAAOA;AACZ,SAAK,QAAQ;AAAA,EACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,WAAW,OAAqC;AACrD,WAAO,YAAW,UAAU,OAAO,MAAM;AAAA,EAC3C;AAAA,EAEA,OAAiB,UAAU,OAAgBC,UAAyB;AAClE,UAAM,eAAe,OAAO,IAAIA,QAAM;AACtC,WACE,SAAS,QACT,OAAO,UAAU,YACjB,gBAAgB,SAChB,OAAO,MAAM,YAAY,MAAM,aAC/B,MAAM,YAAY,MAAM;AAAA,EAE5B;AACF;;;AC3DA,IAAM,OAAO;AACb,IAAMC,UAAS,mBAAmB,IAAI;AACtC,IAAMC,UAAS,OAAO,IAAID,OAAM;AAJhC,IAAAE,KAAAC;AAMO,IAAM,eAAN,eAA2BA,MAAA,YACdD,MAAAD,SADcE,KAAW;AAAA,EAa3C,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc,cAAc,SACzB,eAAe;AAAA,IACd,eAAe;AAAA,IACf,eAAe;AAAA,IACf,cAAc;AAAA;AAAA,IAClB;AAAA,EACF,GAUG;AACD,UAAM,EAAE,MAAM,SAAS,MAAM,CAAC;AArChC,SAAkBD,OAAU;AAuC1B,SAAK,MAAM;AACX,SAAK,oBAAoB;AACzB,SAAK,aAAa;AAClB,SAAK,kBAAkB;AACvB,SAAK,eAAe;AACpB,SAAK,cAAc;AACnB,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,OAAO,WAAW,OAAuC;AACvD,WAAO,WAAW,UAAU,OAAOF,OAAM;AAAA,EAC3C;AACF;;;ACxDA,IAAMI,QAAO;AACb,IAAMC,UAAS,mBAAmBD,KAAI;AACtC,IAAME,UAAS,OAAO,IAAID,OAAM;AAJhC,IAAAE,KAAAC;AAMO,IAAM,yBAAN,eAAqCA,MAAA,YACxBD,MAAAD,SADwBE,KAAW;AAAA;AAAA,EAGrD,YAAY,EAAE,UAAU,sBAAsB,IAA0B,CAAC,GAAG;AAC1E,UAAM,EAAE,MAAAJ,OAAM,QAAQ,CAAC;AAHzB,SAAkBG,OAAU;AAAA,EAI5B;AAAA,EAEA,OAAO,WAAW,OAAiD;AACjE,WAAO,WAAW,UAAU,OAAOF,OAAM;AAAA,EAC3C;AACF;;;ACdA,IAAMI,QAAO;AACb,IAAMC,UAAS,mBAAmBD,KAAI;AACtC,IAAME,UAAS,OAAO,IAAID,OAAM;AAJhC,IAAAE,KAAAC;AASO,IAAM,yCAAN,eAAqDA,MAAA,YACxCD,MAAAD,SADwCE,KAAW;AAAA,EAQrE,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU,aAAa,UAAU,eAAe,YAAY,0CAA0C,QAAQ,gBAAgB,OAAO;AAAA,EACvI,GAMG;AACD,UAAM,EAAE,MAAAJ,OAAM,QAAQ,CAAC;AApBzB,SAAkBG,OAAU;AAsB1B,SAAK,aAAa;AAClB,SAAK,eAAe;AACpB,SAAK,WAAW;AAChB,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,OAAO,WACL,OACiD;AACjD,WAAO,WAAW,UAAU,OAAOF,OAAM;AAAA,EAC3C;AACF;;;AC3CO,SAAS,gBAAgB,OAA4B;AAC1D,MAAI,SAAS,MAAM;AACjB,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO;AAAA,EACT;AAEA,MAAI,iBAAiB,OAAO;AAC1B,WAAO,MAAM,SAAS;AAAA,EACxB;AAEA,SAAO,KAAK,UAAU,KAAK;AAC7B;;;ACZA,IAAMI,QAAO;AACb,IAAMC,UAAS,mBAAmBD,KAAI;AACtC,IAAME,UAAS,OAAO,IAAID,OAAM;AAJhC,IAAAE,KAAAC;AASO,IAAM,uBAAN,eAAmCA,MAAA,YACtBD,MAAAD,SADsBE,KAAW;AAAA,EAKnD,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAIG;AACD,UAAM,EAAE,MAAAJ,OAAM,SAAS,MAAM,CAAC;AAbhC,SAAkBG,OAAU;AAe1B,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,OAAO,WAAW,OAA+C;AAC/D,WAAO,WAAW,UAAU,OAAOF,OAAM;AAAA,EAC3C;AACF;;;AC7BA,IAAMI,QAAO;AACb,IAAMC,UAAS,mBAAmBD,KAAI;AACtC,IAAME,UAAS,OAAO,IAAID,OAAM;AAJhC,IAAAE,KAAAC;AAUO,IAAM,qBAAN,eAAiCA,MAAA,YACpBD,MAAAD,SADoBE,KAAW;AAAA,EAKjD,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAIG;AACD,UAAM,EAAE,MAAAJ,OAAM,SAAS,mBAAmB,OAAO,IAAI,MAAM,CAAC;AAb9D,SAAkBG,OAAU;AAe1B,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,OAAO,WAAW,OAA6C;AAC7D,WAAO,WAAW,UAAU,OAAOF,OAAM;AAAA,EAC3C;AACF;;;AC9BA,IAAMI,QAAO;AACb,IAAMC,UAAS,mBAAmBD,KAAI;AACtC,IAAME,UAAS,OAAO,IAAID,OAAM;AAJhC,IAAAE,KAAAC;AAUO,IAAM,2BAAN,eAAuCA,MAAA,YAC1BD,MAAAD,SAD0BE,KAAW;AAAA,EAKvD,YAAY;AAAA,IACV;AAAA,IACA,UAAU,0BAA0B,KAAK,UAAU,IAAI,CAAC;AAAA,EAC1D,GAGG;AACD,UAAM,EAAE,MAAAJ,OAAM,QAAQ,CAAC;AAXzB,SAAkBG,OAAU;AAa1B,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,OAAO,WAAW,OAAmD;AACnE,WAAO,WAAW,UAAU,OAAOF,OAAM;AAAA,EAC3C;AACF;;;AC3BA,IAAMI,QAAO;AACb,IAAMC,UAAS,mBAAmBD,KAAI;AACtC,IAAME,UAAS,OAAO,IAAID,OAAM;AALhC,IAAAE,KAAAC;AAOO,IAAM,iBAAN,eAA6BA,MAAA,YAChBD,MAAAD,SADgBE,KAAW;AAAA,EAK7C,YAAY,EAAE,MAAM,MAAM,GAAqC;AAC7D,UAAM;AAAA,MACJ,MAAAJ;AAAA,MACA,SACE,8BACS,IAAI;AAAA,iBACK,gBAAgB,KAAK,CAAC;AAAA,MAC1C;AAAA,IACF,CAAC;AAZH,SAAkBG,OAAU;AAc1B,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,OAAO,WAAW,OAAyC;AACzD,WAAO,WAAW,UAAU,OAAOF,OAAM;AAAA,EAC3C;AACF;;;AC1BA,IAAMI,QAAO;AACb,IAAMC,UAAS,mBAAmBD,KAAI;AACtC,IAAME,UAAS,OAAO,IAAID,OAAM;AAJhC,IAAAE,KAAAC;AAMO,IAAM,kBAAN,eAA8BA,MAAA,YACjBD,MAAAD,SADiBE,KAAW;AAAA;AAAA,EAG9C,YAAY,EAAE,QAAQ,GAAwB;AAC5C,UAAM,EAAE,MAAAJ,OAAM,QAAQ,CAAC;AAHzB,SAAkBG,OAAU;AAAA,EAI5B;AAAA,EAEA,OAAO,WAAW,OAA0C;AAC1D,WAAO,WAAW,UAAU,OAAOF,OAAM;AAAA,EAC3C;AACF;;;ACdA,IAAMI,QAAO;AACb,IAAMC,WAAS,mBAAmBD,KAAI;AACtC,IAAME,WAAS,OAAO,IAAID,QAAM;AAJhC,IAAAE,MAAAC;AAMO,IAAM,mBAAN,eAA+BA,OAAA,YAClBD,OAAAD,UADkBE,MAAW;AAAA;AAAA,EAG/C,YAAY,EAAE,QAAQ,GAAwB;AAC5C,UAAM,EAAE,MAAAJ,OAAM,QAAQ,CAAC;AAHzB,SAAkBG,QAAU;AAAA,EAI5B;AAAA,EAEA,OAAO,WAAW,OAA2C;AAC3D,WAAO,WAAW,UAAU,OAAOF,QAAM;AAAA,EAC3C;AACF;;;ACdA,IAAMI,SAAO;AACb,IAAMC,WAAS,mBAAmBD,MAAI;AACtC,IAAME,WAAS,OAAO,IAAID,QAAM;AAJhC,IAAAE,MAAAC;AASO,IAAM,0BAAN,eAAsCA,OAAA,YACzBD,OAAAD,UADyBE,MAAW;AAAA;AAAA,EAGtD,YAAY;AAAA,IACV,UAAU;AAAA,EACZ,IAA0B,CAAC,GAAG;AAC5B,UAAM,EAAE,MAAAJ,QAAM,QAAQ,CAAC;AALzB,SAAkBG,QAAU;AAAA,EAM5B;AAAA,EAEA,OAAO,WAAW,OAAkD;AAClE,WAAO,WAAW,UAAU,OAAOF,QAAM;AAAA,EAC3C;AACF;;;ACnBA,IAAMI,SAAO;AACb,IAAMC,WAAS,mBAAmBD,MAAI;AACtC,IAAME,WAAS,OAAO,IAAID,QAAM;AAJhC,IAAAE,MAAAC;AAMO,IAAM,mBAAN,eAA+BA,OAAA,YAClBD,OAAAD,UADkBE,MAAW;AAAA,EAa/C,YAAY;AAAA,IACV,YAAYJ;AAAA,IACZ;AAAA,IACA;AAAA,IACA,UAAU,WAAW,SAAS,KAAK,OAAO;AAAA,EAC5C,GAYG;AACD,UAAM,EAAE,MAAM,WAAW,QAAQ,CAAC;AA9BpC,SAAkBG,QAAU;AAgC1B,SAAK,UAAU;AACf,SAAK,YAAY;AAAA,EACnB;AAAA,EAEA,OAAO,WAAW,OAA2C;AAC3D,WAAO,WAAW,UAAU,OAAOF,QAAM;AAAA,EAC3C;AACF;;;AC3CA,IAAMI,SAAO;AACb,IAAMC,WAAS,mBAAmBD,MAAI;AACtC,IAAME,WAAS,OAAO,IAAID,QAAM;AALhC,IAAAE,MAAAC;AAWO,IAAM,+BAAN,eAA2CA,OAAA,YAC9BD,OAAAD,UAD8BE,MAAW;AAAA,EAM3D,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA,UAAU,6CAA6C,QAAQ,2BAA2B,OAAO,KAAK,SAAS,EAAE,KAAK,IAAI,CAAC;AAAA,EAC7H,GAIG;AACD,UAAM,EAAE,MAAAJ,QAAM,QAAQ,CAAC;AAdzB,SAAkBG,QAAU;AAe1B,SAAK,WAAW;AAChB,SAAK,YAAY;AAAA,EACnB;AAAA,EAEA,OAAO,WAAW,OAAuD;AACvE,WAAO,WAAW,UAAU,OAAOF,QAAM;AAAA,EAC3C;AACF;;;AChCA,IAAMI,SAAO;AACb,IAAMC,WAAS,mBAAmBD,MAAI;AACtC,IAAME,WAAS,OAAO,IAAID,QAAM;AAJhC,IAAAE,MAAAC;AAMO,IAAM,qCAAN,eAAiDA,OAAA,YACpCD,OAAAD,UADoCE,MAAW;AAAA,EAQjE,YAAY,SAKT;AACD,UAAM;AAAA,MACJ,MAAAJ;AAAA,MACA,SACE,oDACO,QAAQ,QAAQ,WAAW,QAAQ,OAAO,0BAC9C,QAAQ,oBAAoB,yBAAyB,QAAQ,OAAO,MAAM;AAAA,IACjF,CAAC;AAnBH,SAAkBG,QAAU;AAqB1B,SAAK,WAAW,QAAQ;AACxB,SAAK,UAAU,QAAQ;AACvB,SAAK,uBAAuB,QAAQ;AACpC,SAAK,SAAS,QAAQ;AAAA,EACxB;AAAA,EAEA,OAAO,WACL,OAC6C;AAC7C,WAAO,WAAW,UAAU,OAAOF,QAAM;AAAA,EAC3C;AACF;;;ACpCA,IAAMI,SAAO;AACb,IAAMC,WAAS,mBAAmBD,MAAI;AACtC,IAAME,WAAS,OAAO,IAAID,QAAM;AALhC,IAAAE,MAAAC;AAwBO,IAAM,sBAAN,MAAM,8BAA4BA,OAAA,YACrBD,OAAAD,UADqBE,MAAW;AAAA,EAMlD,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAIG;AACD,QAAI,gBAAgB;AAEpB,QAAI,mCAAS,OAAO;AAClB,uBAAiB,QAAQ,QAAQ,KAAK;AAAA,IACxC;AAEA,SAAI,mCAAS,gBAAc,mCAAS,WAAU;AAC5C,uBAAiB;AACjB,YAAM,QAAkB,CAAC;AACzB,UAAI,QAAQ,YAAY;AACtB,cAAM,KAAK,QAAQ,UAAU;AAAA,MAC/B;AACA,UAAI,QAAQ,UAAU;AACpB,cAAM,KAAK,QAAQ,QAAQ,QAAQ,GAAG;AAAA,MACxC;AACA,uBAAiB,MAAM,KAAK,IAAI;AAChC,uBAAiB;AAAA,IACnB;AAEA,UAAM;AAAA,MACJ,MAAAJ;AAAA,MACA,SACE,GAAG,aAAa,YACN,KAAK,UAAU,KAAK,CAAC;AAAA,iBACb,gBAAgB,KAAK,CAAC;AAAA,MAC1C;AAAA,IACF,CAAC;AAxCH,SAAkBG,QAAU;AA0C1B,SAAK,QAAQ;AACb,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,OAAO,WAAW,OAA8C;AAC9D,WAAO,WAAW,UAAU,OAAOF,QAAM;AAAA,EAC3C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,OAAO,KAAK;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAIwB;AA9F1B,QAAAE,MAAAC,MAAA;AA+FI,QACE,qBAAoB,WAAW,KAAK,KACpC,MAAM,UAAU,WAChBD,OAAA,MAAM,YAAN,gBAAAA,KAAe,YAAU,mCAAS,YAClCC,OAAA,MAAM,YAAN,gBAAAA,KAAe,iBAAe,mCAAS,iBACvC,WAAM,YAAN,mBAAe,eAAa,mCAAS,WACrC;AACA,aAAO;AAAA,IACT;AAEA,WAAO,IAAI,qBAAoB,EAAE,OAAO,OAAO,QAAQ,CAAC;AAAA,EAC1D;AACF;;;ACzGA,IAAMC,SAAO;AACb,IAAMC,WAAS,mBAAmBD,MAAI;AACtC,IAAME,WAAS,OAAO,IAAID,QAAM;AAJhC,IAAAE,MAAAC;AAMO,IAAM,gCAAN,eAA4CA,OAAA,YAC/BD,OAAAD,UAD+BE,MAAW;AAAA,EAK5D,YAAY;AAAA,IACV;AAAA,IACA,UAAU,IAAI,aAAa;AAAA,EAC7B,GAGG;AACD,UAAM,EAAE,MAAAJ,QAAM,QAAQ,CAAC;AAXzB,SAAkBG,QAAU;AAY1B,SAAK,gBAAgB;AAAA,EACvB;AAAA,EAEA,OAAO,WAAW,OAAwD;AACxE,WAAO,WAAW,UAAU,OAAOF,QAAM;AAAA,EAC3C;AACF;;;ACvBO,SAAS,YAAY,OAAoC;AAC9D,MACE,UAAU,QACV,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,OAAO,UAAU,WACjB;AACA,WAAO;AAAA,EACT;AAEA,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM,MAAM,WAAW;AAAA,EAChC;AAEA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,OAAO,QAAQ,KAAK,EAAE;AAAA,MAC3B,CAAC,CAAC,KAAK,GAAG,MACR,OAAO,QAAQ,aAAa,QAAQ,UAAa,YAAY,GAAG;AAAA,IACpE;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,YAAY,OAAoC;AAC9D,SAAO,MAAM,QAAQ,KAAK,KAAK,MAAM,MAAM,WAAW;AACxD;AAEO,SAAS,aAAa,OAAqC;AAChE,SACE,SAAS,QACT,OAAO,UAAU,YACjB,OAAO,QAAQ,KAAK,EAAE;AAAA,IACpB,CAAC,CAAC,KAAK,GAAG,MACR,OAAO,QAAQ,aAAa,QAAQ,UAAa,YAAY,GAAG;AAAA,EACpE;AAEJ;","names":["name","marker","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b"]}
|
package/package.json
CHANGED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { AISDKError } from './ai-sdk-error';
|
|
2
|
+
|
|
3
|
+
const name = 'AI_EvaluationUnsupportedQuestionTypeError';
|
|
4
|
+
const marker = `vercel.ai.error.${name}`;
|
|
5
|
+
const symbol = Symbol.for(marker);
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* An evaluation model does not support the type of a requested question.
|
|
9
|
+
*/
|
|
10
|
+
export class EvaluationUnsupportedQuestionTypeError extends AISDKError {
|
|
11
|
+
private readonly [symbol] = true; // used in isInstance
|
|
12
|
+
|
|
13
|
+
readonly questionId: string;
|
|
14
|
+
readonly questionType: string;
|
|
15
|
+
readonly provider: string;
|
|
16
|
+
readonly modelId: string;
|
|
17
|
+
|
|
18
|
+
constructor({
|
|
19
|
+
questionId,
|
|
20
|
+
questionType,
|
|
21
|
+
provider,
|
|
22
|
+
modelId,
|
|
23
|
+
message = `Question "${questionId}" has type "${questionType}", which is not supported by provider "${provider}" and model "${modelId}".`,
|
|
24
|
+
}: {
|
|
25
|
+
questionId: string;
|
|
26
|
+
questionType: string;
|
|
27
|
+
provider: string;
|
|
28
|
+
modelId: string;
|
|
29
|
+
message?: string;
|
|
30
|
+
}) {
|
|
31
|
+
super({ name, message });
|
|
32
|
+
|
|
33
|
+
this.questionId = questionId;
|
|
34
|
+
this.questionType = questionType;
|
|
35
|
+
this.provider = provider;
|
|
36
|
+
this.modelId = modelId;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
static isInstance(
|
|
40
|
+
error: unknown,
|
|
41
|
+
): error is EvaluationUnsupportedQuestionTypeError {
|
|
42
|
+
return AISDKError.hasMarker(error, marker);
|
|
43
|
+
}
|
|
44
|
+
}
|
package/src/errors/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { AISDKError } from './ai-sdk-error';
|
|
2
2
|
export { APICallError } from './api-call-error';
|
|
3
3
|
export { EmptyResponseBodyError } from './empty-response-body-error';
|
|
4
|
+
export { EvaluationUnsupportedQuestionTypeError as Experimental_EvaluationUnsupportedQuestionTypeError } from './evaluation-unsupported-question-type-error';
|
|
4
5
|
export { getErrorMessage } from './get-error-message';
|
|
5
6
|
export { InvalidArgumentError } from './invalid-argument-error';
|
|
6
7
|
export { InvalidPromptError } from './invalid-prompt-error';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SharedV4Headers, SharedV4ProviderOptions } from '../../shared/v4';
|
|
2
|
+
import type {
|
|
3
|
+
EvaluationModelV4Input,
|
|
4
|
+
EvaluationModelV4Question,
|
|
5
|
+
} from './evaluation-model-v4-question';
|
|
6
|
+
|
|
7
|
+
export type EvaluationModelV4CallOptions = {
|
|
8
|
+
/** One shared state, even when the value is an array. */
|
|
9
|
+
state: EvaluationModelV4Input;
|
|
10
|
+
questions: Readonly<Record<string, EvaluationModelV4Question>>;
|
|
11
|
+
abortSignal?: AbortSignal;
|
|
12
|
+
headers?: SharedV4Headers;
|
|
13
|
+
providerOptions?: SharedV4ProviderOptions;
|
|
14
|
+
};
|