ai 5.1.0-beta.13 → 5.1.0-beta.14
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 +13 -0
- package/dist/index.d.mts +45 -35
- package/dist/index.d.ts +45 -35
- package/dist/index.js +109 -95
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +67 -54
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.d.mts +4 -4
- package/dist/internal/index.d.ts +4 -4
- package/dist/internal/index.js +4 -4
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +4 -4
- package/dist/internal/index.mjs.map +1 -1
- package/dist/test/index.d.mts +16 -16
- package/dist/test/index.d.ts +16 -16
- package/dist/test/index.js +5 -5
- package/dist/test/index.js.map +1 -1
- package/dist/test/index.mjs +4 -4
- package/dist/test/index.mjs.map +1 -1
- package/package.json +5 -5
package/dist/index.mjs
CHANGED
|
@@ -98,7 +98,7 @@ import { gateway } from "@ai-sdk/gateway";
|
|
|
98
98
|
|
|
99
99
|
// src/error/index.ts
|
|
100
100
|
import {
|
|
101
|
-
AISDKError as
|
|
101
|
+
AISDKError as AISDKError18,
|
|
102
102
|
APICallError,
|
|
103
103
|
EmptyResponseBodyError,
|
|
104
104
|
InvalidPromptError,
|
|
@@ -275,13 +275,25 @@ var NoOutputGeneratedError = class extends AISDKError8 {
|
|
|
275
275
|
};
|
|
276
276
|
_a8 = symbol8;
|
|
277
277
|
|
|
278
|
-
// src/error/no-
|
|
278
|
+
// src/error/no-speech-generated-error.ts
|
|
279
279
|
import { AISDKError as AISDKError9 } from "@ai-sdk/provider";
|
|
280
|
+
var NoSpeechGeneratedError = class extends AISDKError9 {
|
|
281
|
+
constructor(options) {
|
|
282
|
+
super({
|
|
283
|
+
name: "AI_NoSpeechGeneratedError",
|
|
284
|
+
message: "No speech audio generated."
|
|
285
|
+
});
|
|
286
|
+
this.responses = options.responses;
|
|
287
|
+
}
|
|
288
|
+
};
|
|
289
|
+
|
|
290
|
+
// src/error/no-such-tool-error.ts
|
|
291
|
+
import { AISDKError as AISDKError10 } from "@ai-sdk/provider";
|
|
280
292
|
var name9 = "AI_NoSuchToolError";
|
|
281
293
|
var marker9 = `vercel.ai.error.${name9}`;
|
|
282
294
|
var symbol9 = Symbol.for(marker9);
|
|
283
295
|
var _a9;
|
|
284
|
-
var NoSuchToolError = class extends
|
|
296
|
+
var NoSuchToolError = class extends AISDKError10 {
|
|
285
297
|
constructor({
|
|
286
298
|
toolName,
|
|
287
299
|
availableTools = void 0,
|
|
@@ -293,18 +305,18 @@ var NoSuchToolError = class extends AISDKError9 {
|
|
|
293
305
|
this.availableTools = availableTools;
|
|
294
306
|
}
|
|
295
307
|
static isInstance(error) {
|
|
296
|
-
return
|
|
308
|
+
return AISDKError10.hasMarker(error, marker9);
|
|
297
309
|
}
|
|
298
310
|
};
|
|
299
311
|
_a9 = symbol9;
|
|
300
312
|
|
|
301
313
|
// src/error/tool-call-repair-error.ts
|
|
302
|
-
import { AISDKError as
|
|
314
|
+
import { AISDKError as AISDKError11, getErrorMessage as getErrorMessage2 } from "@ai-sdk/provider";
|
|
303
315
|
var name10 = "AI_ToolCallRepairError";
|
|
304
316
|
var marker10 = `vercel.ai.error.${name10}`;
|
|
305
317
|
var symbol10 = Symbol.for(marker10);
|
|
306
318
|
var _a10;
|
|
307
|
-
var ToolCallRepairError = class extends
|
|
319
|
+
var ToolCallRepairError = class extends AISDKError11 {
|
|
308
320
|
constructor({
|
|
309
321
|
cause,
|
|
310
322
|
originalError,
|
|
@@ -315,14 +327,14 @@ var ToolCallRepairError = class extends AISDKError10 {
|
|
|
315
327
|
this.originalError = originalError;
|
|
316
328
|
}
|
|
317
329
|
static isInstance(error) {
|
|
318
|
-
return
|
|
330
|
+
return AISDKError11.hasMarker(error, marker10);
|
|
319
331
|
}
|
|
320
332
|
};
|
|
321
333
|
_a10 = symbol10;
|
|
322
334
|
|
|
323
335
|
// src/error/unsupported-model-version-error.ts
|
|
324
|
-
import { AISDKError as
|
|
325
|
-
var UnsupportedModelVersionError = class extends
|
|
336
|
+
import { AISDKError as AISDKError12 } from "@ai-sdk/provider";
|
|
337
|
+
var UnsupportedModelVersionError = class extends AISDKError12 {
|
|
326
338
|
constructor(options) {
|
|
327
339
|
super({
|
|
328
340
|
name: "AI_UnsupportedModelVersionError",
|
|
@@ -335,12 +347,12 @@ var UnsupportedModelVersionError = class extends AISDKError11 {
|
|
|
335
347
|
};
|
|
336
348
|
|
|
337
349
|
// src/prompt/invalid-data-content-error.ts
|
|
338
|
-
import { AISDKError as
|
|
350
|
+
import { AISDKError as AISDKError13 } from "@ai-sdk/provider";
|
|
339
351
|
var name11 = "AI_InvalidDataContentError";
|
|
340
352
|
var marker11 = `vercel.ai.error.${name11}`;
|
|
341
353
|
var symbol11 = Symbol.for(marker11);
|
|
342
354
|
var _a11;
|
|
343
|
-
var InvalidDataContentError = class extends
|
|
355
|
+
var InvalidDataContentError = class extends AISDKError13 {
|
|
344
356
|
constructor({
|
|
345
357
|
content,
|
|
346
358
|
cause,
|
|
@@ -351,18 +363,18 @@ var InvalidDataContentError = class extends AISDKError12 {
|
|
|
351
363
|
this.content = content;
|
|
352
364
|
}
|
|
353
365
|
static isInstance(error) {
|
|
354
|
-
return
|
|
366
|
+
return AISDKError13.hasMarker(error, marker11);
|
|
355
367
|
}
|
|
356
368
|
};
|
|
357
369
|
_a11 = symbol11;
|
|
358
370
|
|
|
359
371
|
// src/prompt/invalid-message-role-error.ts
|
|
360
|
-
import { AISDKError as
|
|
372
|
+
import { AISDKError as AISDKError14 } from "@ai-sdk/provider";
|
|
361
373
|
var name12 = "AI_InvalidMessageRoleError";
|
|
362
374
|
var marker12 = `vercel.ai.error.${name12}`;
|
|
363
375
|
var symbol12 = Symbol.for(marker12);
|
|
364
376
|
var _a12;
|
|
365
|
-
var InvalidMessageRoleError = class extends
|
|
377
|
+
var InvalidMessageRoleError = class extends AISDKError14 {
|
|
366
378
|
constructor({
|
|
367
379
|
role,
|
|
368
380
|
message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
|
|
@@ -372,18 +384,18 @@ var InvalidMessageRoleError = class extends AISDKError13 {
|
|
|
372
384
|
this.role = role;
|
|
373
385
|
}
|
|
374
386
|
static isInstance(error) {
|
|
375
|
-
return
|
|
387
|
+
return AISDKError14.hasMarker(error, marker12);
|
|
376
388
|
}
|
|
377
389
|
};
|
|
378
390
|
_a12 = symbol12;
|
|
379
391
|
|
|
380
392
|
// src/prompt/message-conversion-error.ts
|
|
381
|
-
import { AISDKError as
|
|
393
|
+
import { AISDKError as AISDKError15 } from "@ai-sdk/provider";
|
|
382
394
|
var name13 = "AI_MessageConversionError";
|
|
383
395
|
var marker13 = `vercel.ai.error.${name13}`;
|
|
384
396
|
var symbol13 = Symbol.for(marker13);
|
|
385
397
|
var _a13;
|
|
386
|
-
var MessageConversionError = class extends
|
|
398
|
+
var MessageConversionError = class extends AISDKError15 {
|
|
387
399
|
constructor({
|
|
388
400
|
originalMessage,
|
|
389
401
|
message
|
|
@@ -393,18 +405,18 @@ var MessageConversionError = class extends AISDKError14 {
|
|
|
393
405
|
this.originalMessage = originalMessage;
|
|
394
406
|
}
|
|
395
407
|
static isInstance(error) {
|
|
396
|
-
return
|
|
408
|
+
return AISDKError15.hasMarker(error, marker13);
|
|
397
409
|
}
|
|
398
410
|
};
|
|
399
411
|
_a13 = symbol13;
|
|
400
412
|
|
|
401
413
|
// src/util/download/download-error.ts
|
|
402
|
-
import { AISDKError as
|
|
414
|
+
import { AISDKError as AISDKError16 } from "@ai-sdk/provider";
|
|
403
415
|
var name14 = "AI_DownloadError";
|
|
404
416
|
var marker14 = `vercel.ai.error.${name14}`;
|
|
405
417
|
var symbol14 = Symbol.for(marker14);
|
|
406
418
|
var _a14;
|
|
407
|
-
var DownloadError = class extends
|
|
419
|
+
var DownloadError = class extends AISDKError16 {
|
|
408
420
|
constructor({
|
|
409
421
|
url,
|
|
410
422
|
statusCode,
|
|
@@ -419,18 +431,18 @@ var DownloadError = class extends AISDKError15 {
|
|
|
419
431
|
this.statusText = statusText;
|
|
420
432
|
}
|
|
421
433
|
static isInstance(error) {
|
|
422
|
-
return
|
|
434
|
+
return AISDKError16.hasMarker(error, marker14);
|
|
423
435
|
}
|
|
424
436
|
};
|
|
425
437
|
_a14 = symbol14;
|
|
426
438
|
|
|
427
439
|
// src/util/retry-error.ts
|
|
428
|
-
import { AISDKError as
|
|
440
|
+
import { AISDKError as AISDKError17 } from "@ai-sdk/provider";
|
|
429
441
|
var name15 = "AI_RetryError";
|
|
430
442
|
var marker15 = `vercel.ai.error.${name15}`;
|
|
431
443
|
var symbol15 = Symbol.for(marker15);
|
|
432
444
|
var _a15;
|
|
433
|
-
var RetryError = class extends
|
|
445
|
+
var RetryError = class extends AISDKError17 {
|
|
434
446
|
constructor({
|
|
435
447
|
message,
|
|
436
448
|
reason,
|
|
@@ -443,7 +455,7 @@ var RetryError = class extends AISDKError16 {
|
|
|
443
455
|
this.lastError = errors[errors.length - 1];
|
|
444
456
|
}
|
|
445
457
|
static isInstance(error) {
|
|
446
|
-
return
|
|
458
|
+
return AISDKError17.hasMarker(error, marker15);
|
|
447
459
|
}
|
|
448
460
|
};
|
|
449
461
|
_a15 = symbol15;
|
|
@@ -451,7 +463,7 @@ _a15 = symbol15;
|
|
|
451
463
|
// src/model/resolve-model.ts
|
|
452
464
|
function resolveLanguageModel(model) {
|
|
453
465
|
if (typeof model !== "string") {
|
|
454
|
-
if (model.specificationVersion !== "v2") {
|
|
466
|
+
if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
|
|
455
467
|
throw new UnsupportedModelVersionError({
|
|
456
468
|
version: model.specificationVersion,
|
|
457
469
|
provider: model.provider,
|
|
@@ -464,7 +476,7 @@ function resolveLanguageModel(model) {
|
|
|
464
476
|
}
|
|
465
477
|
function resolveEmbeddingModel(model) {
|
|
466
478
|
if (typeof model !== "string") {
|
|
467
|
-
if (model.specificationVersion !== "v3") {
|
|
479
|
+
if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
|
|
468
480
|
throw new UnsupportedModelVersionError({
|
|
469
481
|
version: model.specificationVersion,
|
|
470
482
|
provider: model.provider,
|
|
@@ -679,7 +691,7 @@ import {
|
|
|
679
691
|
} from "@ai-sdk/provider-utils";
|
|
680
692
|
|
|
681
693
|
// src/version.ts
|
|
682
|
-
var VERSION = true ? "5.1.0-beta.
|
|
694
|
+
var VERSION = true ? "5.1.0-beta.14" : "0.0.0-test";
|
|
683
695
|
|
|
684
696
|
// src/util/download/download.ts
|
|
685
697
|
var download = async ({ url }) => {
|
|
@@ -720,7 +732,7 @@ var createDefaultDownloadFunction = (download2 = download) => (requestedDownload
|
|
|
720
732
|
);
|
|
721
733
|
|
|
722
734
|
// src/prompt/data-content.ts
|
|
723
|
-
import { AISDKError as
|
|
735
|
+
import { AISDKError as AISDKError19 } from "@ai-sdk/provider";
|
|
724
736
|
import {
|
|
725
737
|
convertBase64ToUint8Array as convertBase64ToUint8Array2,
|
|
726
738
|
convertUint8ArrayToBase64
|
|
@@ -757,7 +769,7 @@ var dataContentSchema = z.union([
|
|
|
757
769
|
{ message: "Must be a Buffer" }
|
|
758
770
|
)
|
|
759
771
|
]);
|
|
760
|
-
function
|
|
772
|
+
function convertToLanguageModelV3DataContent(content) {
|
|
761
773
|
if (content instanceof Uint8Array) {
|
|
762
774
|
return { data: content, mediaType: void 0 };
|
|
763
775
|
}
|
|
@@ -775,7 +787,7 @@ function convertToLanguageModelV2DataContent(content) {
|
|
|
775
787
|
content.toString()
|
|
776
788
|
);
|
|
777
789
|
if (dataUrlMediaType == null || base64Content == null) {
|
|
778
|
-
throw new
|
|
790
|
+
throw new AISDKError19({
|
|
779
791
|
name: "InvalidDataContentError",
|
|
780
792
|
message: `Invalid data URL format in content ${content.toString()}`
|
|
781
793
|
});
|
|
@@ -876,7 +888,7 @@ function convertToLanguageModelMessage({
|
|
|
876
888
|
const providerOptions = part.providerOptions;
|
|
877
889
|
switch (part.type) {
|
|
878
890
|
case "file": {
|
|
879
|
-
const { data, mediaType } =
|
|
891
|
+
const { data, mediaType } = convertToLanguageModelV3DataContent(
|
|
880
892
|
part.data
|
|
881
893
|
);
|
|
882
894
|
return {
|
|
@@ -1001,7 +1013,7 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
|
|
|
1001
1013
|
default:
|
|
1002
1014
|
throw new Error(`Unsupported part type: ${type}`);
|
|
1003
1015
|
}
|
|
1004
|
-
const { data: convertedData, mediaType: convertedMediaType } =
|
|
1016
|
+
const { data: convertedData, mediaType: convertedMediaType } = convertToLanguageModelV3DataContent(originalData);
|
|
1005
1017
|
let mediaType = convertedMediaType != null ? convertedMediaType : part.mediaType;
|
|
1006
1018
|
let data = convertedData;
|
|
1007
1019
|
if (data instanceof URL) {
|
|
@@ -1402,10 +1414,10 @@ import {
|
|
|
1402
1414
|
GatewayAuthenticationError,
|
|
1403
1415
|
GatewayModelNotFoundError
|
|
1404
1416
|
} from "@ai-sdk/gateway";
|
|
1405
|
-
import { AISDKError as
|
|
1417
|
+
import { AISDKError as AISDKError20 } from "@ai-sdk/provider";
|
|
1406
1418
|
function wrapGatewayError(error) {
|
|
1407
1419
|
if (GatewayAuthenticationError.isInstance(error) || GatewayModelNotFoundError.isInstance(error)) {
|
|
1408
|
-
return new
|
|
1420
|
+
return new AISDKError20({
|
|
1409
1421
|
name: "GatewayError",
|
|
1410
1422
|
message: "Vercel AI Gateway access failed. If you want to use AI SDK providers directly, use the providers, e.g. @ai-sdk/openai, or register a different global default provider.",
|
|
1411
1423
|
cause: error
|
|
@@ -4593,7 +4605,7 @@ var DefaultStreamTextResult = class {
|
|
|
4593
4605
|
let activeReasoningContent = {};
|
|
4594
4606
|
const eventProcessor = new TransformStream({
|
|
4595
4607
|
async transform(chunk, controller) {
|
|
4596
|
-
var _a17, _b, _c;
|
|
4608
|
+
var _a17, _b, _c, _d;
|
|
4597
4609
|
controller.enqueue(chunk);
|
|
4598
4610
|
const { part } = chunk;
|
|
4599
4611
|
if (part.type === "text-delta" || part.type === "reasoning-delta" || part.type === "source" || part.type === "tool-call" || part.type === "tool-result" || part.type === "tool-input-start" || part.type === "tool-input-delta" || part.type === "raw") {
|
|
@@ -4626,6 +4638,18 @@ var DefaultStreamTextResult = class {
|
|
|
4626
4638
|
activeText.providerMetadata = (_a17 = part.providerMetadata) != null ? _a17 : activeText.providerMetadata;
|
|
4627
4639
|
}
|
|
4628
4640
|
if (part.type === "text-end") {
|
|
4641
|
+
const activeText = activeTextContent[part.id];
|
|
4642
|
+
if (activeText == null) {
|
|
4643
|
+
controller.enqueue({
|
|
4644
|
+
part: {
|
|
4645
|
+
type: "error",
|
|
4646
|
+
error: `text part ${part.id} not found`
|
|
4647
|
+
},
|
|
4648
|
+
partialOutput: void 0
|
|
4649
|
+
});
|
|
4650
|
+
return;
|
|
4651
|
+
}
|
|
4652
|
+
activeText.providerMetadata = (_b = part.providerMetadata) != null ? _b : activeText.providerMetadata;
|
|
4629
4653
|
delete activeTextContent[part.id];
|
|
4630
4654
|
}
|
|
4631
4655
|
if (part.type === "reasoning-start") {
|
|
@@ -4649,7 +4673,7 @@ var DefaultStreamTextResult = class {
|
|
|
4649
4673
|
return;
|
|
4650
4674
|
}
|
|
4651
4675
|
activeReasoning.text += part.text;
|
|
4652
|
-
activeReasoning.providerMetadata = (
|
|
4676
|
+
activeReasoning.providerMetadata = (_c = part.providerMetadata) != null ? _c : activeReasoning.providerMetadata;
|
|
4653
4677
|
}
|
|
4654
4678
|
if (part.type === "reasoning-end") {
|
|
4655
4679
|
const activeReasoning = activeReasoningContent[part.id];
|
|
@@ -4663,7 +4687,7 @@ var DefaultStreamTextResult = class {
|
|
|
4663
4687
|
});
|
|
4664
4688
|
return;
|
|
4665
4689
|
}
|
|
4666
|
-
activeReasoning.providerMetadata = (
|
|
4690
|
+
activeReasoning.providerMetadata = (_d = part.providerMetadata) != null ? _d : activeReasoning.providerMetadata;
|
|
4667
4691
|
delete activeReasoningContent[part.id];
|
|
4668
4692
|
}
|
|
4669
4693
|
if (part.type === "file") {
|
|
@@ -7798,18 +7822,6 @@ var DefaultStreamObjectResult = class {
|
|
|
7798
7822
|
// src/generate-speech/generate-speech.ts
|
|
7799
7823
|
import { withUserAgentSuffix as withUserAgentSuffix7 } from "@ai-sdk/provider-utils";
|
|
7800
7824
|
|
|
7801
|
-
// src/error/no-speech-generated-error.ts
|
|
7802
|
-
import { AISDKError as AISDKError20 } from "@ai-sdk/provider";
|
|
7803
|
-
var NoSpeechGeneratedError = class extends AISDKError20 {
|
|
7804
|
-
constructor(options) {
|
|
7805
|
-
super({
|
|
7806
|
-
name: "AI_NoSpeechGeneratedError",
|
|
7807
|
-
message: "No speech audio generated."
|
|
7808
|
-
});
|
|
7809
|
-
this.responses = options.responses;
|
|
7810
|
-
}
|
|
7811
|
-
};
|
|
7812
|
-
|
|
7813
7825
|
// src/generate-speech/generated-audio-file.ts
|
|
7814
7826
|
var DefaultGeneratedAudioFile = class extends DefaultGeneratedFile {
|
|
7815
7827
|
constructor({
|
|
@@ -8065,7 +8077,7 @@ function defaultSettingsMiddleware({
|
|
|
8065
8077
|
settings
|
|
8066
8078
|
}) {
|
|
8067
8079
|
return {
|
|
8068
|
-
middlewareVersion: "
|
|
8080
|
+
middlewareVersion: "v3",
|
|
8069
8081
|
transformParams: async ({ params }) => {
|
|
8070
8082
|
return mergeObjects(settings, params);
|
|
8071
8083
|
}
|
|
@@ -8099,7 +8111,7 @@ function extractReasoningMiddleware({
|
|
|
8099
8111
|
const openingTag = `<${tagName}>`;
|
|
8100
8112
|
const closingTag = `</${tagName}>`;
|
|
8101
8113
|
return {
|
|
8102
|
-
middlewareVersion: "
|
|
8114
|
+
middlewareVersion: "v3",
|
|
8103
8115
|
wrapGenerate: async ({ doGenerate }) => {
|
|
8104
8116
|
const { content, ...rest } = await doGenerate();
|
|
8105
8117
|
const transformedContent = [];
|
|
@@ -8245,7 +8257,7 @@ function extractReasoningMiddleware({
|
|
|
8245
8257
|
// src/middleware/simulate-streaming-middleware.ts
|
|
8246
8258
|
function simulateStreamingMiddleware() {
|
|
8247
8259
|
return {
|
|
8248
|
-
middlewareVersion: "
|
|
8260
|
+
middlewareVersion: "v3",
|
|
8249
8261
|
wrapStream: async ({ doGenerate }) => {
|
|
8250
8262
|
const result = await doGenerate();
|
|
8251
8263
|
let id = 0;
|
|
@@ -8342,7 +8354,7 @@ var doWrap = ({
|
|
|
8342
8354
|
return transformParams ? await transformParams({ params, type, model }) : params;
|
|
8343
8355
|
}
|
|
8344
8356
|
return {
|
|
8345
|
-
specificationVersion: "
|
|
8357
|
+
specificationVersion: "v3",
|
|
8346
8358
|
provider: (_a17 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a17 : model.provider,
|
|
8347
8359
|
modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
|
|
8348
8360
|
supportedUrls: (_c = overrideSupportedUrls == null ? void 0 : overrideSupportedUrls({ model })) != null ? _c : model.supportedUrls,
|
|
@@ -10368,7 +10380,7 @@ function readUIMessageStream({
|
|
|
10368
10380
|
return createAsyncIterableStream(outputStream);
|
|
10369
10381
|
}
|
|
10370
10382
|
export {
|
|
10371
|
-
|
|
10383
|
+
AISDKError18 as AISDKError,
|
|
10372
10384
|
APICallError,
|
|
10373
10385
|
AbstractChat,
|
|
10374
10386
|
DefaultChatTransport,
|
|
@@ -10393,6 +10405,7 @@ export {
|
|
|
10393
10405
|
NoObjectGeneratedError,
|
|
10394
10406
|
NoOutputGeneratedError,
|
|
10395
10407
|
NoOutputSpecifiedError,
|
|
10408
|
+
NoSpeechGeneratedError,
|
|
10396
10409
|
NoSuchModelError,
|
|
10397
10410
|
NoSuchProviderError,
|
|
10398
10411
|
NoSuchToolError,
|