@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/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: name13,
15
+ name: name14,
16
16
  message,
17
17
  cause
18
18
  }) {
19
19
  super(message);
20
20
  this[_a] = true;
21
- this.name = name13;
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, marker14) {
33
- const markerSymbol = Symbol.for(marker14);
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-prompt-error.ts
150
- var name3 = "AI_InvalidPromptError";
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 InvalidPromptError = class extends AISDKError {
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: `Invalid prompt: ${message}`, cause });
119
+ super({ name: name3, message, cause });
161
120
  this[_a4] = true;
162
- this.prompt = prompt2;
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-response-data-error.ts
188
- var name4 = "AI_InvalidResponseDataError";
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 InvalidResponseDataError = class extends AISDKError {
134
+ var InvalidPromptError = class extends AISDKError {
193
135
  constructor({
194
- data,
195
- message = `Invalid response data: ${JSON.stringify(data)}.`
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.data = data;
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/json-parse-error.ts
225
- var name5 = "AI_JSONParseError";
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 JSONParseError = class extends AISDKError {
230
- constructor({ text, cause }) {
231
- super({
232
- name: name5,
233
- message: `JSON parsing failed: Text: ${text}.
234
- Error message: ${getErrorMessage(cause)}`,
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.text = text;
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/load-api-key-error.ts
265
- var name6 = "AI_LoadAPIKeyError";
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 LoadAPIKeyError = class extends AISDKError {
270
- // used in isInstance
271
- constructor({ message }) {
272
- super({ name: name6, message });
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-setting-error.ts
288
- var name7 = "AI_LoadSettingError";
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 LoadSettingError = class extends AISDKError {
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/no-content-generated-error.ts
311
- var name8 = "AI_NoContentGeneratedError";
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 NoContentGeneratedError = class extends AISDKError {
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-such-model-error.ts
347
- var name9 = "AI_NoSuchModelError";
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 = name9,
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[_a10] = true;
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, marker10);
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
- _a10 = symbol10;
266
+ _a11 = symbol11;
386
267
 
387
268
  // src/errors/too-many-embedding-values-for-call-error.ts
388
- var name10 = "AI_TooManyEmbeddingValuesForCallError";
389
- var marker11 = `vercel.ai.error.${name10}`;
390
- var symbol11 = Symbol.for(marker11);
391
- var _a11;
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: name10,
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[_a11] = true;
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, marker11);
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
- _a11 = symbol11;
289
+ _a12 = symbol12;
429
290
 
430
291
  // src/errors/type-validation-error.ts
431
- var name11 = "AI_TypeValidationError";
432
- var marker12 = `vercel.ai.error.${name11}`;
433
- var symbol12 = Symbol.for(marker12);
434
- var _a12;
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: name11,
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[_a12] = true;
304
+ this[_a13] = true;
444
305
  this.value = value;
445
306
  }
446
307
  static isInstance(error) {
447
- return AISDKError.hasMarker(error, marker12);
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
- _a12 = symbol12;
327
+ _a13 = symbol13;
485
328
  var TypeValidationError = _TypeValidationError;
486
329
 
487
330
  // src/errors/unsupported-functionality-error.ts
488
- var name12 = "AI_UnsupportedFunctionalityError";
489
- var marker13 = `vercel.ai.error.${name12}`;
490
- var symbol13 = Symbol.for(marker13);
491
- var _a13;
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: name12,
338
+ name: name13,
496
339
  message: `'${functionality}' functionality not supported.`
497
340
  });
498
- this[_a13] = true;
341
+ this[_a14] = true;
499
342
  this.functionality = functionality;
500
343
  }
501
344
  static isInstance(error) {
502
- return AISDKError.hasMarker(error, marker13);
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
- _a13 = symbol13;
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,