@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.js CHANGED
@@ -4,8 +4,8 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
6
  var __export = (target, all) => {
7
- for (var name13 in all)
8
- __defProp(target, name13, { get: all[name13], enumerable: true });
7
+ for (var name14 in all)
8
+ __defProp(target, name14, { get: all[name14], enumerable: true });
9
9
  };
10
10
  var __copyProps = (to, from, except, desc) => {
11
11
  if (from && typeof from === "object" || typeof from === "function") {
@@ -23,6 +23,7 @@ __export(src_exports, {
23
23
  AISDKError: () => AISDKError,
24
24
  APICallError: () => APICallError,
25
25
  EmptyResponseBodyError: () => EmptyResponseBodyError,
26
+ InvalidArgumentError: () => InvalidArgumentError,
26
27
  InvalidPromptError: () => InvalidPromptError,
27
28
  InvalidResponseDataError: () => InvalidResponseDataError,
28
29
  JSONParseError: () => JSONParseError,
@@ -54,13 +55,13 @@ var _AISDKError = class _AISDKError extends Error {
54
55
  * @param {unknown} [params.cause] - The underlying cause of the error.
55
56
  */
56
57
  constructor({
57
- name: name13,
58
+ name: name14,
58
59
  message,
59
60
  cause
60
61
  }) {
61
62
  super(message);
62
63
  this[_a] = true;
63
- this.name = name13;
64
+ this.name = name14;
64
65
  this.cause = cause;
65
66
  }
66
67
  /**
@@ -71,22 +72,10 @@ var _AISDKError = class _AISDKError extends Error {
71
72
  static isInstance(error) {
72
73
  return _AISDKError.hasMarker(error, marker);
73
74
  }
74
- static hasMarker(error, marker14) {
75
- const markerSymbol = Symbol.for(marker14);
75
+ static hasMarker(error, marker15) {
76
+ const markerSymbol = Symbol.for(marker15);
76
77
  return error != null && typeof error === "object" && markerSymbol in error && typeof error[markerSymbol] === "boolean" && error[markerSymbol] === true;
77
78
  }
78
- /**
79
- * Returns a JSON representation of the error.
80
- * @returns {Object} An object containing the error's name, message, and cause.
81
- *
82
- * @deprecated Do not use this method. It will be removed in the next major version.
83
- */
84
- toJSON() {
85
- return {
86
- name: this.name,
87
- message: this.message
88
- };
89
- }
90
79
  };
91
80
  _a = symbol;
92
81
  var AISDKError = _AISDKError;
@@ -125,29 +114,6 @@ var APICallError = class extends AISDKError {
125
114
  static isInstance(error) {
126
115
  return AISDKError.hasMarker(error, marker2);
127
116
  }
128
- /**
129
- * @deprecated Use isInstance instead.
130
- */
131
- static isAPICallError(error) {
132
- 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");
133
- }
134
- /**
135
- * @deprecated Do not use this method. It will be removed in the next major version.
136
- */
137
- toJSON() {
138
- return {
139
- name: this.name,
140
- message: this.message,
141
- url: this.url,
142
- requestBodyValues: this.requestBodyValues,
143
- statusCode: this.statusCode,
144
- responseHeaders: this.responseHeaders,
145
- responseBody: this.responseBody,
146
- cause: this.cause,
147
- isRetryable: this.isRetryable,
148
- data: this.data
149
- };
150
- }
151
117
  };
152
118
  _a2 = symbol2;
153
119
 
@@ -165,12 +131,6 @@ var EmptyResponseBodyError = class extends AISDKError {
165
131
  static isInstance(error) {
166
132
  return AISDKError.hasMarker(error, marker3);
167
133
  }
168
- /**
169
- * @deprecated use `isInstance` instead
170
- */
171
- static isEmptyResponseBodyError(error) {
172
- return error instanceof Error && error.name === name2;
173
- }
174
134
  };
175
135
  _a3 = symbol3;
176
136
 
@@ -188,150 +148,96 @@ function getErrorMessage(error) {
188
148
  return JSON.stringify(error);
189
149
  }
190
150
 
191
- // src/errors/invalid-prompt-error.ts
192
- var name3 = "AI_InvalidPromptError";
151
+ // src/errors/invalid-argument-error.ts
152
+ var name3 = "AI_InvalidArgumentError";
193
153
  var marker4 = `vercel.ai.error.${name3}`;
194
154
  var symbol4 = Symbol.for(marker4);
195
155
  var _a4;
196
- var InvalidPromptError = class extends AISDKError {
156
+ var InvalidArgumentError = class extends AISDKError {
197
157
  constructor({
198
- prompt: prompt2,
199
158
  message,
200
- cause
159
+ cause,
160
+ argument
201
161
  }) {
202
- super({ name: name3, message: `Invalid prompt: ${message}`, cause });
162
+ super({ name: name3, message, cause });
203
163
  this[_a4] = true;
204
- this.prompt = prompt2;
164
+ this.argument = argument;
205
165
  }
206
166
  static isInstance(error) {
207
167
  return AISDKError.hasMarker(error, marker4);
208
168
  }
209
- /**
210
- * @deprecated use `isInstance` instead
211
- */
212
- static isInvalidPromptError(error) {
213
- return error instanceof Error && error.name === name3 && prompt != null;
214
- }
215
- /**
216
- * @deprecated Do not use this method. It will be removed in the next major version.
217
- */
218
- toJSON() {
219
- return {
220
- name: this.name,
221
- message: this.message,
222
- stack: this.stack,
223
- prompt: this.prompt
224
- };
225
- }
226
169
  };
227
170
  _a4 = symbol4;
228
171
 
229
- // src/errors/invalid-response-data-error.ts
230
- var name4 = "AI_InvalidResponseDataError";
172
+ // src/errors/invalid-prompt-error.ts
173
+ var name4 = "AI_InvalidPromptError";
231
174
  var marker5 = `vercel.ai.error.${name4}`;
232
175
  var symbol5 = Symbol.for(marker5);
233
176
  var _a5;
234
- var InvalidResponseDataError = class extends AISDKError {
177
+ var InvalidPromptError = class extends AISDKError {
235
178
  constructor({
236
- data,
237
- message = `Invalid response data: ${JSON.stringify(data)}.`
179
+ prompt,
180
+ message,
181
+ cause
238
182
  }) {
239
- super({ name: name4, message });
183
+ super({ name: name4, message: `Invalid prompt: ${message}`, cause });
240
184
  this[_a5] = true;
241
- this.data = data;
185
+ this.prompt = prompt;
242
186
  }
243
187
  static isInstance(error) {
244
188
  return AISDKError.hasMarker(error, marker5);
245
189
  }
246
- /**
247
- * @deprecated use `isInstance` instead
248
- */
249
- static isInvalidResponseDataError(error) {
250
- return error instanceof Error && error.name === name4 && error.data != null;
251
- }
252
- /**
253
- * @deprecated Do not use this method. It will be removed in the next major version.
254
- */
255
- toJSON() {
256
- return {
257
- name: this.name,
258
- message: this.message,
259
- stack: this.stack,
260
- data: this.data
261
- };
262
- }
263
190
  };
264
191
  _a5 = symbol5;
265
192
 
266
- // src/errors/json-parse-error.ts
267
- var name5 = "AI_JSONParseError";
193
+ // src/errors/invalid-response-data-error.ts
194
+ var name5 = "AI_InvalidResponseDataError";
268
195
  var marker6 = `vercel.ai.error.${name5}`;
269
196
  var symbol6 = Symbol.for(marker6);
270
197
  var _a6;
271
- var JSONParseError = class extends AISDKError {
272
- constructor({ text, cause }) {
273
- super({
274
- name: name5,
275
- message: `JSON parsing failed: Text: ${text}.
276
- Error message: ${getErrorMessage(cause)}`,
277
- cause
278
- });
198
+ var InvalidResponseDataError = class extends AISDKError {
199
+ constructor({
200
+ data,
201
+ message = `Invalid response data: ${JSON.stringify(data)}.`
202
+ }) {
203
+ super({ name: name5, message });
279
204
  this[_a6] = true;
280
- this.text = text;
205
+ this.data = data;
281
206
  }
282
207
  static isInstance(error) {
283
208
  return AISDKError.hasMarker(error, marker6);
284
209
  }
285
- /**
286
- * @deprecated use `isInstance` instead
287
- */
288
- static isJSONParseError(error) {
289
- return error instanceof Error && error.name === name5 && "text" in error && typeof error.text === "string";
290
- }
291
- /**
292
- * @deprecated Do not use this method. It will be removed in the next major version.
293
- */
294
- toJSON() {
295
- return {
296
- name: this.name,
297
- message: this.message,
298
- cause: this.cause,
299
- stack: this.stack,
300
- valueText: this.text
301
- };
302
- }
303
210
  };
304
211
  _a6 = symbol6;
305
212
 
306
- // src/errors/load-api-key-error.ts
307
- var name6 = "AI_LoadAPIKeyError";
213
+ // src/errors/json-parse-error.ts
214
+ var name6 = "AI_JSONParseError";
308
215
  var marker7 = `vercel.ai.error.${name6}`;
309
216
  var symbol7 = Symbol.for(marker7);
310
217
  var _a7;
311
- var LoadAPIKeyError = class extends AISDKError {
312
- // used in isInstance
313
- constructor({ message }) {
314
- super({ name: name6, message });
218
+ var JSONParseError = class extends AISDKError {
219
+ constructor({ text, cause }) {
220
+ super({
221
+ name: name6,
222
+ message: `JSON parsing failed: Text: ${text}.
223
+ Error message: ${getErrorMessage(cause)}`,
224
+ cause
225
+ });
315
226
  this[_a7] = true;
227
+ this.text = text;
316
228
  }
317
229
  static isInstance(error) {
318
230
  return AISDKError.hasMarker(error, marker7);
319
231
  }
320
- /**
321
- * @deprecated Use isInstance instead.
322
- */
323
- static isLoadAPIKeyError(error) {
324
- return error instanceof Error && error.name === name6;
325
- }
326
232
  };
327
233
  _a7 = symbol7;
328
234
 
329
- // src/errors/load-setting-error.ts
330
- var name7 = "AI_LoadSettingError";
235
+ // src/errors/load-api-key-error.ts
236
+ var name7 = "AI_LoadAPIKeyError";
331
237
  var marker8 = `vercel.ai.error.${name7}`;
332
238
  var symbol8 = Symbol.for(marker8);
333
239
  var _a8;
334
- var LoadSettingError = class extends AISDKError {
240
+ var LoadAPIKeyError = class extends AISDKError {
335
241
  // used in isInstance
336
242
  constructor({ message }) {
337
243
  super({ name: name7, message });
@@ -340,153 +246,109 @@ var LoadSettingError = class extends AISDKError {
340
246
  static isInstance(error) {
341
247
  return AISDKError.hasMarker(error, marker8);
342
248
  }
343
- /**
344
- * @deprecated Use isInstance instead.
345
- */
346
- static isLoadSettingError(error) {
347
- return error instanceof Error && error.name === name7;
348
- }
349
249
  };
350
250
  _a8 = symbol8;
351
251
 
352
- // src/errors/no-content-generated-error.ts
353
- var name8 = "AI_NoContentGeneratedError";
252
+ // src/errors/load-setting-error.ts
253
+ var name8 = "AI_LoadSettingError";
354
254
  var marker9 = `vercel.ai.error.${name8}`;
355
255
  var symbol9 = Symbol.for(marker9);
356
256
  var _a9;
357
- var NoContentGeneratedError = class extends AISDKError {
257
+ var LoadSettingError = class extends AISDKError {
358
258
  // used in isInstance
359
- constructor({
360
- message = "No content generated."
361
- } = {}) {
259
+ constructor({ message }) {
362
260
  super({ name: name8, message });
363
261
  this[_a9] = true;
364
262
  }
365
263
  static isInstance(error) {
366
264
  return AISDKError.hasMarker(error, marker9);
367
265
  }
368
- /**
369
- * @deprecated Use isInstance instead.
370
- */
371
- static isNoContentGeneratedError(error) {
372
- return error instanceof Error && error.name === name8;
373
- }
374
- /**
375
- * @deprecated Do not use this method. It will be removed in the next major version.
376
- */
377
- toJSON() {
378
- return {
379
- name: this.name,
380
- cause: this.cause,
381
- message: this.message,
382
- stack: this.stack
383
- };
384
- }
385
266
  };
386
267
  _a9 = symbol9;
387
268
 
388
- // src/errors/no-such-model-error.ts
389
- var name9 = "AI_NoSuchModelError";
269
+ // src/errors/no-content-generated-error.ts
270
+ var name9 = "AI_NoContentGeneratedError";
390
271
  var marker10 = `vercel.ai.error.${name9}`;
391
272
  var symbol10 = Symbol.for(marker10);
392
273
  var _a10;
274
+ var NoContentGeneratedError = class extends AISDKError {
275
+ // used in isInstance
276
+ constructor({
277
+ message = "No content generated."
278
+ } = {}) {
279
+ super({ name: name9, message });
280
+ this[_a10] = true;
281
+ }
282
+ static isInstance(error) {
283
+ return AISDKError.hasMarker(error, marker10);
284
+ }
285
+ };
286
+ _a10 = symbol10;
287
+
288
+ // src/errors/no-such-model-error.ts
289
+ var name10 = "AI_NoSuchModelError";
290
+ var marker11 = `vercel.ai.error.${name10}`;
291
+ var symbol11 = Symbol.for(marker11);
292
+ var _a11;
393
293
  var NoSuchModelError = class extends AISDKError {
394
294
  constructor({
395
- errorName = name9,
295
+ errorName = name10,
396
296
  modelId,
397
297
  modelType,
398
298
  message = `No such ${modelType}: ${modelId}`
399
299
  }) {
400
300
  super({ name: errorName, message });
401
- this[_a10] = true;
301
+ this[_a11] = true;
402
302
  this.modelId = modelId;
403
303
  this.modelType = modelType;
404
304
  }
405
305
  static isInstance(error) {
406
- return AISDKError.hasMarker(error, marker10);
407
- }
408
- /**
409
- * @deprecated use `isInstance` instead
410
- */
411
- static isNoSuchModelError(error) {
412
- return error instanceof Error && error.name === name9 && typeof error.modelId === "string" && typeof error.modelType === "string";
413
- }
414
- /**
415
- * @deprecated Do not use this method. It will be removed in the next major version.
416
- */
417
- toJSON() {
418
- return {
419
- name: this.name,
420
- message: this.message,
421
- stack: this.stack,
422
- modelId: this.modelId,
423
- modelType: this.modelType
424
- };
306
+ return AISDKError.hasMarker(error, marker11);
425
307
  }
426
308
  };
427
- _a10 = symbol10;
309
+ _a11 = symbol11;
428
310
 
429
311
  // src/errors/too-many-embedding-values-for-call-error.ts
430
- var name10 = "AI_TooManyEmbeddingValuesForCallError";
431
- var marker11 = `vercel.ai.error.${name10}`;
432
- var symbol11 = Symbol.for(marker11);
433
- var _a11;
312
+ var name11 = "AI_TooManyEmbeddingValuesForCallError";
313
+ var marker12 = `vercel.ai.error.${name11}`;
314
+ var symbol12 = Symbol.for(marker12);
315
+ var _a12;
434
316
  var TooManyEmbeddingValuesForCallError = class extends AISDKError {
435
317
  constructor(options) {
436
318
  super({
437
- name: name10,
319
+ name: name11,
438
320
  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.`
439
321
  });
440
- this[_a11] = true;
322
+ this[_a12] = true;
441
323
  this.provider = options.provider;
442
324
  this.modelId = options.modelId;
443
325
  this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;
444
326
  this.values = options.values;
445
327
  }
446
328
  static isInstance(error) {
447
- return AISDKError.hasMarker(error, marker11);
448
- }
449
- /**
450
- * @deprecated use `isInstance` instead
451
- */
452
- static isTooManyEmbeddingValuesForCallError(error) {
453
- 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);
454
- }
455
- /**
456
- * @deprecated Do not use this method. It will be removed in the next major version.
457
- */
458
- toJSON() {
459
- return {
460
- name: this.name,
461
- message: this.message,
462
- stack: this.stack,
463
- provider: this.provider,
464
- modelId: this.modelId,
465
- maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,
466
- values: this.values
467
- };
329
+ return AISDKError.hasMarker(error, marker12);
468
330
  }
469
331
  };
470
- _a11 = symbol11;
332
+ _a12 = symbol12;
471
333
 
472
334
  // src/errors/type-validation-error.ts
473
- var name11 = "AI_TypeValidationError";
474
- var marker12 = `vercel.ai.error.${name11}`;
475
- var symbol12 = Symbol.for(marker12);
476
- var _a12;
335
+ var name12 = "AI_TypeValidationError";
336
+ var marker13 = `vercel.ai.error.${name12}`;
337
+ var symbol13 = Symbol.for(marker13);
338
+ var _a13;
477
339
  var _TypeValidationError = class _TypeValidationError extends AISDKError {
478
340
  constructor({ value, cause }) {
479
341
  super({
480
- name: name11,
342
+ name: name12,
481
343
  message: `Type validation failed: Value: ${JSON.stringify(value)}.
482
344
  Error message: ${getErrorMessage(cause)}`,
483
345
  cause
484
346
  });
485
- this[_a12] = true;
347
+ this[_a13] = true;
486
348
  this.value = value;
487
349
  }
488
350
  static isInstance(error) {
489
- return AISDKError.hasMarker(error, marker12);
351
+ return AISDKError.hasMarker(error, marker13);
490
352
  }
491
353
  /**
492
354
  * Wraps an error into a TypeValidationError.
@@ -504,64 +366,29 @@ Error message: ${getErrorMessage(cause)}`,
504
366
  }) {
505
367
  return _TypeValidationError.isInstance(cause) && cause.value === value ? cause : new _TypeValidationError({ value, cause });
506
368
  }
507
- /**
508
- * @deprecated use `isInstance` instead
509
- */
510
- static isTypeValidationError(error) {
511
- return error instanceof Error && error.name === name11;
512
- }
513
- /**
514
- * @deprecated Do not use this method. It will be removed in the next major version.
515
- */
516
- toJSON() {
517
- return {
518
- name: this.name,
519
- message: this.message,
520
- cause: this.cause,
521
- stack: this.stack,
522
- value: this.value
523
- };
524
- }
525
369
  };
526
- _a12 = symbol12;
370
+ _a13 = symbol13;
527
371
  var TypeValidationError = _TypeValidationError;
528
372
 
529
373
  // src/errors/unsupported-functionality-error.ts
530
- var name12 = "AI_UnsupportedFunctionalityError";
531
- var marker13 = `vercel.ai.error.${name12}`;
532
- var symbol13 = Symbol.for(marker13);
533
- var _a13;
374
+ var name13 = "AI_UnsupportedFunctionalityError";
375
+ var marker14 = `vercel.ai.error.${name13}`;
376
+ var symbol14 = Symbol.for(marker14);
377
+ var _a14;
534
378
  var UnsupportedFunctionalityError = class extends AISDKError {
535
379
  constructor({ functionality }) {
536
380
  super({
537
- name: name12,
381
+ name: name13,
538
382
  message: `'${functionality}' functionality not supported.`
539
383
  });
540
- this[_a13] = true;
384
+ this[_a14] = true;
541
385
  this.functionality = functionality;
542
386
  }
543
387
  static isInstance(error) {
544
- return AISDKError.hasMarker(error, marker13);
545
- }
546
- /**
547
- * @deprecated Use isInstance instead.
548
- */
549
- static isUnsupportedFunctionalityError(error) {
550
- return error instanceof Error && error.name === name12 && typeof error.functionality === "string";
551
- }
552
- /**
553
- * @deprecated Do not use this method. It will be removed in the next major version.
554
- */
555
- toJSON() {
556
- return {
557
- name: this.name,
558
- message: this.message,
559
- stack: this.stack,
560
- functionality: this.functionality
561
- };
388
+ return AISDKError.hasMarker(error, marker14);
562
389
  }
563
390
  };
564
- _a13 = symbol13;
391
+ _a14 = symbol14;
565
392
 
566
393
  // src/json-value/is-json.ts
567
394
  function isJSONValue(value) {
@@ -591,6 +418,7 @@ function isJSONObject(value) {
591
418
  AISDKError,
592
419
  APICallError,
593
420
  EmptyResponseBodyError,
421
+ InvalidArgumentError,
594
422
  InvalidPromptError,
595
423
  InvalidResponseDataError,
596
424
  JSONParseError,