@ai-sdk/provider 0.0.24 → 1.0.0-canary.0
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 +23 -0
- package/dist/index.d.mts +103 -161
- package/dist/index.d.ts +103 -161
- package/dist/index.js +99 -271
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +96 -269
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
@@ -12,13 +12,13 @@ var _AISDKError = class _AISDKError extends Error {
|
|
12
12
|
* @param {unknown} [params.cause] - The underlying cause of the error.
|
13
13
|
*/
|
14
14
|
constructor({
|
15
|
-
name:
|
15
|
+
name: name14,
|
16
16
|
message,
|
17
17
|
cause
|
18
18
|
}) {
|
19
19
|
super(message);
|
20
20
|
this[_a] = true;
|
21
|
-
this.name =
|
21
|
+
this.name = name14;
|
22
22
|
this.cause = cause;
|
23
23
|
}
|
24
24
|
/**
|
@@ -29,22 +29,10 @@ var _AISDKError = class _AISDKError extends Error {
|
|
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, marker15) {
|
33
|
+
const markerSymbol = Symbol.for(marker15);
|
34
34
|
return error != null && typeof error === "object" && markerSymbol in error && typeof error[markerSymbol] === "boolean" && error[markerSymbol] === true;
|
35
35
|
}
|
36
|
-
/**
|
37
|
-
* Returns a JSON representation of the error.
|
38
|
-
* @returns {Object} An object containing the error's name, message, and cause.
|
39
|
-
*
|
40
|
-
* @deprecated Do not use this method. It will be removed in the next major version.
|
41
|
-
*/
|
42
|
-
toJSON() {
|
43
|
-
return {
|
44
|
-
name: this.name,
|
45
|
-
message: this.message
|
46
|
-
};
|
47
|
-
}
|
48
36
|
};
|
49
37
|
_a = symbol;
|
50
38
|
var AISDKError = _AISDKError;
|
@@ -83,29 +71,6 @@ var APICallError = class extends AISDKError {
|
|
83
71
|
static isInstance(error) {
|
84
72
|
return AISDKError.hasMarker(error, marker2);
|
85
73
|
}
|
86
|
-
/**
|
87
|
-
* @deprecated Use isInstance instead.
|
88
|
-
*/
|
89
|
-
static isAPICallError(error) {
|
90
|
-
return error instanceof Error && error.name === name && typeof error.url === "string" && typeof error.requestBodyValues === "object" && (error.statusCode == null || typeof error.statusCode === "number") && (error.responseHeaders == null || typeof error.responseHeaders === "object") && (error.responseBody == null || typeof error.responseBody === "string") && (error.cause == null || typeof error.cause === "object") && typeof error.isRetryable === "boolean" && (error.data == null || typeof error.data === "object");
|
91
|
-
}
|
92
|
-
/**
|
93
|
-
* @deprecated Do not use this method. It will be removed in the next major version.
|
94
|
-
*/
|
95
|
-
toJSON() {
|
96
|
-
return {
|
97
|
-
name: this.name,
|
98
|
-
message: this.message,
|
99
|
-
url: this.url,
|
100
|
-
requestBodyValues: this.requestBodyValues,
|
101
|
-
statusCode: this.statusCode,
|
102
|
-
responseHeaders: this.responseHeaders,
|
103
|
-
responseBody: this.responseBody,
|
104
|
-
cause: this.cause,
|
105
|
-
isRetryable: this.isRetryable,
|
106
|
-
data: this.data
|
107
|
-
};
|
108
|
-
}
|
109
74
|
};
|
110
75
|
_a2 = symbol2;
|
111
76
|
|
@@ -123,12 +88,6 @@ var EmptyResponseBodyError = class extends AISDKError {
|
|
123
88
|
static isInstance(error) {
|
124
89
|
return AISDKError.hasMarker(error, marker3);
|
125
90
|
}
|
126
|
-
/**
|
127
|
-
* @deprecated use `isInstance` instead
|
128
|
-
*/
|
129
|
-
static isEmptyResponseBodyError(error) {
|
130
|
-
return error instanceof Error && error.name === name2;
|
131
|
-
}
|
132
91
|
};
|
133
92
|
_a3 = symbol3;
|
134
93
|
|
@@ -146,150 +105,96 @@ function getErrorMessage(error) {
|
|
146
105
|
return JSON.stringify(error);
|
147
106
|
}
|
148
107
|
|
149
|
-
// src/errors/invalid-
|
150
|
-
var name3 = "
|
108
|
+
// src/errors/invalid-argument-error.ts
|
109
|
+
var name3 = "AI_InvalidArgumentError";
|
151
110
|
var marker4 = `vercel.ai.error.${name3}`;
|
152
111
|
var symbol4 = Symbol.for(marker4);
|
153
112
|
var _a4;
|
154
|
-
var
|
113
|
+
var InvalidArgumentError = class extends AISDKError {
|
155
114
|
constructor({
|
156
|
-
prompt: prompt2,
|
157
115
|
message,
|
158
|
-
cause
|
116
|
+
cause,
|
117
|
+
argument
|
159
118
|
}) {
|
160
|
-
super({ name: name3, message
|
119
|
+
super({ name: name3, message, cause });
|
161
120
|
this[_a4] = true;
|
162
|
-
this.
|
121
|
+
this.argument = argument;
|
163
122
|
}
|
164
123
|
static isInstance(error) {
|
165
124
|
return AISDKError.hasMarker(error, marker4);
|
166
125
|
}
|
167
|
-
/**
|
168
|
-
* @deprecated use `isInstance` instead
|
169
|
-
*/
|
170
|
-
static isInvalidPromptError(error) {
|
171
|
-
return error instanceof Error && error.name === name3 && prompt != null;
|
172
|
-
}
|
173
|
-
/**
|
174
|
-
* @deprecated Do not use this method. It will be removed in the next major version.
|
175
|
-
*/
|
176
|
-
toJSON() {
|
177
|
-
return {
|
178
|
-
name: this.name,
|
179
|
-
message: this.message,
|
180
|
-
stack: this.stack,
|
181
|
-
prompt: this.prompt
|
182
|
-
};
|
183
|
-
}
|
184
126
|
};
|
185
127
|
_a4 = symbol4;
|
186
128
|
|
187
|
-
// src/errors/invalid-
|
188
|
-
var name4 = "
|
129
|
+
// src/errors/invalid-prompt-error.ts
|
130
|
+
var name4 = "AI_InvalidPromptError";
|
189
131
|
var marker5 = `vercel.ai.error.${name4}`;
|
190
132
|
var symbol5 = Symbol.for(marker5);
|
191
133
|
var _a5;
|
192
|
-
var
|
134
|
+
var InvalidPromptError = class extends AISDKError {
|
193
135
|
constructor({
|
194
|
-
|
195
|
-
message
|
136
|
+
prompt,
|
137
|
+
message,
|
138
|
+
cause
|
196
139
|
}) {
|
197
|
-
super({ name: name4, message });
|
140
|
+
super({ name: name4, message: `Invalid prompt: ${message}`, cause });
|
198
141
|
this[_a5] = true;
|
199
|
-
this.
|
142
|
+
this.prompt = prompt;
|
200
143
|
}
|
201
144
|
static isInstance(error) {
|
202
145
|
return AISDKError.hasMarker(error, marker5);
|
203
146
|
}
|
204
|
-
/**
|
205
|
-
* @deprecated use `isInstance` instead
|
206
|
-
*/
|
207
|
-
static isInvalidResponseDataError(error) {
|
208
|
-
return error instanceof Error && error.name === name4 && error.data != null;
|
209
|
-
}
|
210
|
-
/**
|
211
|
-
* @deprecated Do not use this method. It will be removed in the next major version.
|
212
|
-
*/
|
213
|
-
toJSON() {
|
214
|
-
return {
|
215
|
-
name: this.name,
|
216
|
-
message: this.message,
|
217
|
-
stack: this.stack,
|
218
|
-
data: this.data
|
219
|
-
};
|
220
|
-
}
|
221
147
|
};
|
222
148
|
_a5 = symbol5;
|
223
149
|
|
224
|
-
// src/errors/
|
225
|
-
var name5 = "
|
150
|
+
// src/errors/invalid-response-data-error.ts
|
151
|
+
var name5 = "AI_InvalidResponseDataError";
|
226
152
|
var marker6 = `vercel.ai.error.${name5}`;
|
227
153
|
var symbol6 = Symbol.for(marker6);
|
228
154
|
var _a6;
|
229
|
-
var
|
230
|
-
constructor({
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
cause
|
236
|
-
});
|
155
|
+
var InvalidResponseDataError = class extends AISDKError {
|
156
|
+
constructor({
|
157
|
+
data,
|
158
|
+
message = `Invalid response data: ${JSON.stringify(data)}.`
|
159
|
+
}) {
|
160
|
+
super({ name: name5, message });
|
237
161
|
this[_a6] = true;
|
238
|
-
this.
|
162
|
+
this.data = data;
|
239
163
|
}
|
240
164
|
static isInstance(error) {
|
241
165
|
return AISDKError.hasMarker(error, marker6);
|
242
166
|
}
|
243
|
-
/**
|
244
|
-
* @deprecated use `isInstance` instead
|
245
|
-
*/
|
246
|
-
static isJSONParseError(error) {
|
247
|
-
return error instanceof Error && error.name === name5 && "text" in error && typeof error.text === "string";
|
248
|
-
}
|
249
|
-
/**
|
250
|
-
* @deprecated Do not use this method. It will be removed in the next major version.
|
251
|
-
*/
|
252
|
-
toJSON() {
|
253
|
-
return {
|
254
|
-
name: this.name,
|
255
|
-
message: this.message,
|
256
|
-
cause: this.cause,
|
257
|
-
stack: this.stack,
|
258
|
-
valueText: this.text
|
259
|
-
};
|
260
|
-
}
|
261
167
|
};
|
262
168
|
_a6 = symbol6;
|
263
169
|
|
264
|
-
// src/errors/
|
265
|
-
var name6 = "
|
170
|
+
// src/errors/json-parse-error.ts
|
171
|
+
var name6 = "AI_JSONParseError";
|
266
172
|
var marker7 = `vercel.ai.error.${name6}`;
|
267
173
|
var symbol7 = Symbol.for(marker7);
|
268
174
|
var _a7;
|
269
|
-
var
|
270
|
-
|
271
|
-
|
272
|
-
|
175
|
+
var JSONParseError = class extends AISDKError {
|
176
|
+
constructor({ text, cause }) {
|
177
|
+
super({
|
178
|
+
name: name6,
|
179
|
+
message: `JSON parsing failed: Text: ${text}.
|
180
|
+
Error message: ${getErrorMessage(cause)}`,
|
181
|
+
cause
|
182
|
+
});
|
273
183
|
this[_a7] = true;
|
184
|
+
this.text = text;
|
274
185
|
}
|
275
186
|
static isInstance(error) {
|
276
187
|
return AISDKError.hasMarker(error, marker7);
|
277
188
|
}
|
278
|
-
/**
|
279
|
-
* @deprecated Use isInstance instead.
|
280
|
-
*/
|
281
|
-
static isLoadAPIKeyError(error) {
|
282
|
-
return error instanceof Error && error.name === name6;
|
283
|
-
}
|
284
189
|
};
|
285
190
|
_a7 = symbol7;
|
286
191
|
|
287
|
-
// src/errors/load-
|
288
|
-
var name7 = "
|
192
|
+
// src/errors/load-api-key-error.ts
|
193
|
+
var name7 = "AI_LoadAPIKeyError";
|
289
194
|
var marker8 = `vercel.ai.error.${name7}`;
|
290
195
|
var symbol8 = Symbol.for(marker8);
|
291
196
|
var _a8;
|
292
|
-
var
|
197
|
+
var LoadAPIKeyError = class extends AISDKError {
|
293
198
|
// used in isInstance
|
294
199
|
constructor({ message }) {
|
295
200
|
super({ name: name7, message });
|
@@ -298,153 +203,109 @@ var LoadSettingError = class extends AISDKError {
|
|
298
203
|
static isInstance(error) {
|
299
204
|
return AISDKError.hasMarker(error, marker8);
|
300
205
|
}
|
301
|
-
/**
|
302
|
-
* @deprecated Use isInstance instead.
|
303
|
-
*/
|
304
|
-
static isLoadSettingError(error) {
|
305
|
-
return error instanceof Error && error.name === name7;
|
306
|
-
}
|
307
206
|
};
|
308
207
|
_a8 = symbol8;
|
309
208
|
|
310
|
-
// src/errors/
|
311
|
-
var name8 = "
|
209
|
+
// src/errors/load-setting-error.ts
|
210
|
+
var name8 = "AI_LoadSettingError";
|
312
211
|
var marker9 = `vercel.ai.error.${name8}`;
|
313
212
|
var symbol9 = Symbol.for(marker9);
|
314
213
|
var _a9;
|
315
|
-
var
|
214
|
+
var LoadSettingError = class extends AISDKError {
|
316
215
|
// used in isInstance
|
317
|
-
constructor({
|
318
|
-
message = "No content generated."
|
319
|
-
} = {}) {
|
216
|
+
constructor({ message }) {
|
320
217
|
super({ name: name8, message });
|
321
218
|
this[_a9] = true;
|
322
219
|
}
|
323
220
|
static isInstance(error) {
|
324
221
|
return AISDKError.hasMarker(error, marker9);
|
325
222
|
}
|
326
|
-
/**
|
327
|
-
* @deprecated Use isInstance instead.
|
328
|
-
*/
|
329
|
-
static isNoContentGeneratedError(error) {
|
330
|
-
return error instanceof Error && error.name === name8;
|
331
|
-
}
|
332
|
-
/**
|
333
|
-
* @deprecated Do not use this method. It will be removed in the next major version.
|
334
|
-
*/
|
335
|
-
toJSON() {
|
336
|
-
return {
|
337
|
-
name: this.name,
|
338
|
-
cause: this.cause,
|
339
|
-
message: this.message,
|
340
|
-
stack: this.stack
|
341
|
-
};
|
342
|
-
}
|
343
223
|
};
|
344
224
|
_a9 = symbol9;
|
345
225
|
|
346
|
-
// src/errors/no-
|
347
|
-
var name9 = "
|
226
|
+
// src/errors/no-content-generated-error.ts
|
227
|
+
var name9 = "AI_NoContentGeneratedError";
|
348
228
|
var marker10 = `vercel.ai.error.${name9}`;
|
349
229
|
var symbol10 = Symbol.for(marker10);
|
350
230
|
var _a10;
|
231
|
+
var NoContentGeneratedError = class extends AISDKError {
|
232
|
+
// used in isInstance
|
233
|
+
constructor({
|
234
|
+
message = "No content generated."
|
235
|
+
} = {}) {
|
236
|
+
super({ name: name9, message });
|
237
|
+
this[_a10] = true;
|
238
|
+
}
|
239
|
+
static isInstance(error) {
|
240
|
+
return AISDKError.hasMarker(error, marker10);
|
241
|
+
}
|
242
|
+
};
|
243
|
+
_a10 = symbol10;
|
244
|
+
|
245
|
+
// src/errors/no-such-model-error.ts
|
246
|
+
var name10 = "AI_NoSuchModelError";
|
247
|
+
var marker11 = `vercel.ai.error.${name10}`;
|
248
|
+
var symbol11 = Symbol.for(marker11);
|
249
|
+
var _a11;
|
351
250
|
var NoSuchModelError = class extends AISDKError {
|
352
251
|
constructor({
|
353
|
-
errorName =
|
252
|
+
errorName = name10,
|
354
253
|
modelId,
|
355
254
|
modelType,
|
356
255
|
message = `No such ${modelType}: ${modelId}`
|
357
256
|
}) {
|
358
257
|
super({ name: errorName, message });
|
359
|
-
this[
|
258
|
+
this[_a11] = true;
|
360
259
|
this.modelId = modelId;
|
361
260
|
this.modelType = modelType;
|
362
261
|
}
|
363
262
|
static isInstance(error) {
|
364
|
-
return AISDKError.hasMarker(error,
|
365
|
-
}
|
366
|
-
/**
|
367
|
-
* @deprecated use `isInstance` instead
|
368
|
-
*/
|
369
|
-
static isNoSuchModelError(error) {
|
370
|
-
return error instanceof Error && error.name === name9 && typeof error.modelId === "string" && typeof error.modelType === "string";
|
371
|
-
}
|
372
|
-
/**
|
373
|
-
* @deprecated Do not use this method. It will be removed in the next major version.
|
374
|
-
*/
|
375
|
-
toJSON() {
|
376
|
-
return {
|
377
|
-
name: this.name,
|
378
|
-
message: this.message,
|
379
|
-
stack: this.stack,
|
380
|
-
modelId: this.modelId,
|
381
|
-
modelType: this.modelType
|
382
|
-
};
|
263
|
+
return AISDKError.hasMarker(error, marker11);
|
383
264
|
}
|
384
265
|
};
|
385
|
-
|
266
|
+
_a11 = symbol11;
|
386
267
|
|
387
268
|
// src/errors/too-many-embedding-values-for-call-error.ts
|
388
|
-
var
|
389
|
-
var
|
390
|
-
var
|
391
|
-
var
|
269
|
+
var name11 = "AI_TooManyEmbeddingValuesForCallError";
|
270
|
+
var marker12 = `vercel.ai.error.${name11}`;
|
271
|
+
var symbol12 = Symbol.for(marker12);
|
272
|
+
var _a12;
|
392
273
|
var TooManyEmbeddingValuesForCallError = class extends AISDKError {
|
393
274
|
constructor(options) {
|
394
275
|
super({
|
395
|
-
name:
|
276
|
+
name: name11,
|
396
277
|
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.`
|
397
278
|
});
|
398
|
-
this[
|
279
|
+
this[_a12] = true;
|
399
280
|
this.provider = options.provider;
|
400
281
|
this.modelId = options.modelId;
|
401
282
|
this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;
|
402
283
|
this.values = options.values;
|
403
284
|
}
|
404
285
|
static isInstance(error) {
|
405
|
-
return AISDKError.hasMarker(error,
|
406
|
-
}
|
407
|
-
/**
|
408
|
-
* @deprecated use `isInstance` instead
|
409
|
-
*/
|
410
|
-
static isTooManyEmbeddingValuesForCallError(error) {
|
411
|
-
return error instanceof Error && error.name === name10 && "provider" in error && typeof error.provider === "string" && "modelId" in error && typeof error.modelId === "string" && "maxEmbeddingsPerCall" in error && typeof error.maxEmbeddingsPerCall === "number" && "values" in error && Array.isArray(error.values);
|
412
|
-
}
|
413
|
-
/**
|
414
|
-
* @deprecated Do not use this method. It will be removed in the next major version.
|
415
|
-
*/
|
416
|
-
toJSON() {
|
417
|
-
return {
|
418
|
-
name: this.name,
|
419
|
-
message: this.message,
|
420
|
-
stack: this.stack,
|
421
|
-
provider: this.provider,
|
422
|
-
modelId: this.modelId,
|
423
|
-
maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,
|
424
|
-
values: this.values
|
425
|
-
};
|
286
|
+
return AISDKError.hasMarker(error, marker12);
|
426
287
|
}
|
427
288
|
};
|
428
|
-
|
289
|
+
_a12 = symbol12;
|
429
290
|
|
430
291
|
// src/errors/type-validation-error.ts
|
431
|
-
var
|
432
|
-
var
|
433
|
-
var
|
434
|
-
var
|
292
|
+
var name12 = "AI_TypeValidationError";
|
293
|
+
var marker13 = `vercel.ai.error.${name12}`;
|
294
|
+
var symbol13 = Symbol.for(marker13);
|
295
|
+
var _a13;
|
435
296
|
var _TypeValidationError = class _TypeValidationError extends AISDKError {
|
436
297
|
constructor({ value, cause }) {
|
437
298
|
super({
|
438
|
-
name:
|
299
|
+
name: name12,
|
439
300
|
message: `Type validation failed: Value: ${JSON.stringify(value)}.
|
440
301
|
Error message: ${getErrorMessage(cause)}`,
|
441
302
|
cause
|
442
303
|
});
|
443
|
-
this[
|
304
|
+
this[_a13] = true;
|
444
305
|
this.value = value;
|
445
306
|
}
|
446
307
|
static isInstance(error) {
|
447
|
-
return AISDKError.hasMarker(error,
|
308
|
+
return AISDKError.hasMarker(error, marker13);
|
448
309
|
}
|
449
310
|
/**
|
450
311
|
* Wraps an error into a TypeValidationError.
|
@@ -462,64 +323,29 @@ Error message: ${getErrorMessage(cause)}`,
|
|
462
323
|
}) {
|
463
324
|
return _TypeValidationError.isInstance(cause) && cause.value === value ? cause : new _TypeValidationError({ value, cause });
|
464
325
|
}
|
465
|
-
/**
|
466
|
-
* @deprecated use `isInstance` instead
|
467
|
-
*/
|
468
|
-
static isTypeValidationError(error) {
|
469
|
-
return error instanceof Error && error.name === name11;
|
470
|
-
}
|
471
|
-
/**
|
472
|
-
* @deprecated Do not use this method. It will be removed in the next major version.
|
473
|
-
*/
|
474
|
-
toJSON() {
|
475
|
-
return {
|
476
|
-
name: this.name,
|
477
|
-
message: this.message,
|
478
|
-
cause: this.cause,
|
479
|
-
stack: this.stack,
|
480
|
-
value: this.value
|
481
|
-
};
|
482
|
-
}
|
483
326
|
};
|
484
|
-
|
327
|
+
_a13 = symbol13;
|
485
328
|
var TypeValidationError = _TypeValidationError;
|
486
329
|
|
487
330
|
// src/errors/unsupported-functionality-error.ts
|
488
|
-
var
|
489
|
-
var
|
490
|
-
var
|
491
|
-
var
|
331
|
+
var name13 = "AI_UnsupportedFunctionalityError";
|
332
|
+
var marker14 = `vercel.ai.error.${name13}`;
|
333
|
+
var symbol14 = Symbol.for(marker14);
|
334
|
+
var _a14;
|
492
335
|
var UnsupportedFunctionalityError = class extends AISDKError {
|
493
336
|
constructor({ functionality }) {
|
494
337
|
super({
|
495
|
-
name:
|
338
|
+
name: name13,
|
496
339
|
message: `'${functionality}' functionality not supported.`
|
497
340
|
});
|
498
|
-
this[
|
341
|
+
this[_a14] = true;
|
499
342
|
this.functionality = functionality;
|
500
343
|
}
|
501
344
|
static isInstance(error) {
|
502
|
-
return AISDKError.hasMarker(error,
|
503
|
-
}
|
504
|
-
/**
|
505
|
-
* @deprecated Use isInstance instead.
|
506
|
-
*/
|
507
|
-
static isUnsupportedFunctionalityError(error) {
|
508
|
-
return error instanceof Error && error.name === name12 && typeof error.functionality === "string";
|
509
|
-
}
|
510
|
-
/**
|
511
|
-
* @deprecated Do not use this method. It will be removed in the next major version.
|
512
|
-
*/
|
513
|
-
toJSON() {
|
514
|
-
return {
|
515
|
-
name: this.name,
|
516
|
-
message: this.message,
|
517
|
-
stack: this.stack,
|
518
|
-
functionality: this.functionality
|
519
|
-
};
|
345
|
+
return AISDKError.hasMarker(error, marker14);
|
520
346
|
}
|
521
347
|
};
|
522
|
-
|
348
|
+
_a14 = symbol14;
|
523
349
|
|
524
350
|
// src/json-value/is-json.ts
|
525
351
|
function isJSONValue(value) {
|
@@ -548,6 +374,7 @@ export {
|
|
548
374
|
AISDKError,
|
549
375
|
APICallError,
|
550
376
|
EmptyResponseBodyError,
|
377
|
+
InvalidArgumentError,
|
551
378
|
InvalidPromptError,
|
552
379
|
InvalidResponseDataError,
|
553
380
|
JSONParseError,
|