ai 5.1.0-beta.2 → 5.1.0-beta.21
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 +159 -0
- package/README.md +128 -44
- package/dist/index.d.mts +229 -119
- package/dist/index.d.ts +229 -119
- package/dist/index.js +188 -124
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +144 -83
- 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 +10 -10
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +10 -10
- package/dist/internal/index.mjs.map +1 -1
- package/dist/test/index.d.mts +46 -46
- package/dist/test/index.d.ts +46 -46
- package/dist/test/index.js +19 -19
- package/dist/test/index.js.map +1 -1
- package/dist/test/index.mjs +15 -15
- package/dist/test/index.mjs.map +1 -1
- package/package.json +6 -6
package/dist/index.mjs
CHANGED
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
dynamicTool as dynamicTool2,
|
|
13
13
|
generateId as generateId2,
|
|
14
14
|
jsonSchema as jsonSchema2,
|
|
15
|
+
parseJsonEventStream as parseJsonEventStream3,
|
|
15
16
|
tool as tool2,
|
|
16
17
|
zodSchema
|
|
17
18
|
} from "@ai-sdk/provider-utils";
|
|
@@ -97,7 +98,7 @@ import { gateway } from "@ai-sdk/gateway";
|
|
|
97
98
|
|
|
98
99
|
// src/error/index.ts
|
|
99
100
|
import {
|
|
100
|
-
AISDKError as
|
|
101
|
+
AISDKError as AISDKError18,
|
|
101
102
|
APICallError,
|
|
102
103
|
EmptyResponseBodyError,
|
|
103
104
|
InvalidPromptError,
|
|
@@ -274,13 +275,25 @@ var NoOutputGeneratedError = class extends AISDKError8 {
|
|
|
274
275
|
};
|
|
275
276
|
_a8 = symbol8;
|
|
276
277
|
|
|
277
|
-
// src/error/no-
|
|
278
|
+
// src/error/no-speech-generated-error.ts
|
|
278
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";
|
|
279
292
|
var name9 = "AI_NoSuchToolError";
|
|
280
293
|
var marker9 = `vercel.ai.error.${name9}`;
|
|
281
294
|
var symbol9 = Symbol.for(marker9);
|
|
282
295
|
var _a9;
|
|
283
|
-
var NoSuchToolError = class extends
|
|
296
|
+
var NoSuchToolError = class extends AISDKError10 {
|
|
284
297
|
constructor({
|
|
285
298
|
toolName,
|
|
286
299
|
availableTools = void 0,
|
|
@@ -292,18 +305,18 @@ var NoSuchToolError = class extends AISDKError9 {
|
|
|
292
305
|
this.availableTools = availableTools;
|
|
293
306
|
}
|
|
294
307
|
static isInstance(error) {
|
|
295
|
-
return
|
|
308
|
+
return AISDKError10.hasMarker(error, marker9);
|
|
296
309
|
}
|
|
297
310
|
};
|
|
298
311
|
_a9 = symbol9;
|
|
299
312
|
|
|
300
313
|
// src/error/tool-call-repair-error.ts
|
|
301
|
-
import { AISDKError as
|
|
314
|
+
import { AISDKError as AISDKError11, getErrorMessage as getErrorMessage2 } from "@ai-sdk/provider";
|
|
302
315
|
var name10 = "AI_ToolCallRepairError";
|
|
303
316
|
var marker10 = `vercel.ai.error.${name10}`;
|
|
304
317
|
var symbol10 = Symbol.for(marker10);
|
|
305
318
|
var _a10;
|
|
306
|
-
var ToolCallRepairError = class extends
|
|
319
|
+
var ToolCallRepairError = class extends AISDKError11 {
|
|
307
320
|
constructor({
|
|
308
321
|
cause,
|
|
309
322
|
originalError,
|
|
@@ -314,14 +327,14 @@ var ToolCallRepairError = class extends AISDKError10 {
|
|
|
314
327
|
this.originalError = originalError;
|
|
315
328
|
}
|
|
316
329
|
static isInstance(error) {
|
|
317
|
-
return
|
|
330
|
+
return AISDKError11.hasMarker(error, marker10);
|
|
318
331
|
}
|
|
319
332
|
};
|
|
320
333
|
_a10 = symbol10;
|
|
321
334
|
|
|
322
335
|
// src/error/unsupported-model-version-error.ts
|
|
323
|
-
import { AISDKError as
|
|
324
|
-
var UnsupportedModelVersionError = class extends
|
|
336
|
+
import { AISDKError as AISDKError12 } from "@ai-sdk/provider";
|
|
337
|
+
var UnsupportedModelVersionError = class extends AISDKError12 {
|
|
325
338
|
constructor(options) {
|
|
326
339
|
super({
|
|
327
340
|
name: "AI_UnsupportedModelVersionError",
|
|
@@ -334,12 +347,12 @@ var UnsupportedModelVersionError = class extends AISDKError11 {
|
|
|
334
347
|
};
|
|
335
348
|
|
|
336
349
|
// src/prompt/invalid-data-content-error.ts
|
|
337
|
-
import { AISDKError as
|
|
350
|
+
import { AISDKError as AISDKError13 } from "@ai-sdk/provider";
|
|
338
351
|
var name11 = "AI_InvalidDataContentError";
|
|
339
352
|
var marker11 = `vercel.ai.error.${name11}`;
|
|
340
353
|
var symbol11 = Symbol.for(marker11);
|
|
341
354
|
var _a11;
|
|
342
|
-
var InvalidDataContentError = class extends
|
|
355
|
+
var InvalidDataContentError = class extends AISDKError13 {
|
|
343
356
|
constructor({
|
|
344
357
|
content,
|
|
345
358
|
cause,
|
|
@@ -350,18 +363,18 @@ var InvalidDataContentError = class extends AISDKError12 {
|
|
|
350
363
|
this.content = content;
|
|
351
364
|
}
|
|
352
365
|
static isInstance(error) {
|
|
353
|
-
return
|
|
366
|
+
return AISDKError13.hasMarker(error, marker11);
|
|
354
367
|
}
|
|
355
368
|
};
|
|
356
369
|
_a11 = symbol11;
|
|
357
370
|
|
|
358
371
|
// src/prompt/invalid-message-role-error.ts
|
|
359
|
-
import { AISDKError as
|
|
372
|
+
import { AISDKError as AISDKError14 } from "@ai-sdk/provider";
|
|
360
373
|
var name12 = "AI_InvalidMessageRoleError";
|
|
361
374
|
var marker12 = `vercel.ai.error.${name12}`;
|
|
362
375
|
var symbol12 = Symbol.for(marker12);
|
|
363
376
|
var _a12;
|
|
364
|
-
var InvalidMessageRoleError = class extends
|
|
377
|
+
var InvalidMessageRoleError = class extends AISDKError14 {
|
|
365
378
|
constructor({
|
|
366
379
|
role,
|
|
367
380
|
message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
|
|
@@ -371,18 +384,18 @@ var InvalidMessageRoleError = class extends AISDKError13 {
|
|
|
371
384
|
this.role = role;
|
|
372
385
|
}
|
|
373
386
|
static isInstance(error) {
|
|
374
|
-
return
|
|
387
|
+
return AISDKError14.hasMarker(error, marker12);
|
|
375
388
|
}
|
|
376
389
|
};
|
|
377
390
|
_a12 = symbol12;
|
|
378
391
|
|
|
379
392
|
// src/prompt/message-conversion-error.ts
|
|
380
|
-
import { AISDKError as
|
|
393
|
+
import { AISDKError as AISDKError15 } from "@ai-sdk/provider";
|
|
381
394
|
var name13 = "AI_MessageConversionError";
|
|
382
395
|
var marker13 = `vercel.ai.error.${name13}`;
|
|
383
396
|
var symbol13 = Symbol.for(marker13);
|
|
384
397
|
var _a13;
|
|
385
|
-
var MessageConversionError = class extends
|
|
398
|
+
var MessageConversionError = class extends AISDKError15 {
|
|
386
399
|
constructor({
|
|
387
400
|
originalMessage,
|
|
388
401
|
message
|
|
@@ -392,18 +405,18 @@ var MessageConversionError = class extends AISDKError14 {
|
|
|
392
405
|
this.originalMessage = originalMessage;
|
|
393
406
|
}
|
|
394
407
|
static isInstance(error) {
|
|
395
|
-
return
|
|
408
|
+
return AISDKError15.hasMarker(error, marker13);
|
|
396
409
|
}
|
|
397
410
|
};
|
|
398
411
|
_a13 = symbol13;
|
|
399
412
|
|
|
400
413
|
// src/util/download/download-error.ts
|
|
401
|
-
import { AISDKError as
|
|
414
|
+
import { AISDKError as AISDKError16 } from "@ai-sdk/provider";
|
|
402
415
|
var name14 = "AI_DownloadError";
|
|
403
416
|
var marker14 = `vercel.ai.error.${name14}`;
|
|
404
417
|
var symbol14 = Symbol.for(marker14);
|
|
405
418
|
var _a14;
|
|
406
|
-
var DownloadError = class extends
|
|
419
|
+
var DownloadError = class extends AISDKError16 {
|
|
407
420
|
constructor({
|
|
408
421
|
url,
|
|
409
422
|
statusCode,
|
|
@@ -418,18 +431,18 @@ var DownloadError = class extends AISDKError15 {
|
|
|
418
431
|
this.statusText = statusText;
|
|
419
432
|
}
|
|
420
433
|
static isInstance(error) {
|
|
421
|
-
return
|
|
434
|
+
return AISDKError16.hasMarker(error, marker14);
|
|
422
435
|
}
|
|
423
436
|
};
|
|
424
437
|
_a14 = symbol14;
|
|
425
438
|
|
|
426
439
|
// src/util/retry-error.ts
|
|
427
|
-
import { AISDKError as
|
|
440
|
+
import { AISDKError as AISDKError17 } from "@ai-sdk/provider";
|
|
428
441
|
var name15 = "AI_RetryError";
|
|
429
442
|
var marker15 = `vercel.ai.error.${name15}`;
|
|
430
443
|
var symbol15 = Symbol.for(marker15);
|
|
431
444
|
var _a15;
|
|
432
|
-
var RetryError = class extends
|
|
445
|
+
var RetryError = class extends AISDKError17 {
|
|
433
446
|
constructor({
|
|
434
447
|
message,
|
|
435
448
|
reason,
|
|
@@ -442,34 +455,60 @@ var RetryError = class extends AISDKError16 {
|
|
|
442
455
|
this.lastError = errors[errors.length - 1];
|
|
443
456
|
}
|
|
444
457
|
static isInstance(error) {
|
|
445
|
-
return
|
|
458
|
+
return AISDKError17.hasMarker(error, marker15);
|
|
446
459
|
}
|
|
447
460
|
};
|
|
448
461
|
_a15 = symbol15;
|
|
449
462
|
|
|
450
463
|
// src/model/resolve-model.ts
|
|
464
|
+
function transformToV3LanguageModel(model) {
|
|
465
|
+
return new Proxy(model, {
|
|
466
|
+
get(target, prop) {
|
|
467
|
+
if (prop === "specificationVersion")
|
|
468
|
+
return "v3";
|
|
469
|
+
return target[prop];
|
|
470
|
+
}
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
function transformToV3EmbeddingModel(model) {
|
|
474
|
+
return new Proxy(model, {
|
|
475
|
+
get(target, prop) {
|
|
476
|
+
if (prop === "specificationVersion")
|
|
477
|
+
return "v3";
|
|
478
|
+
return target[prop];
|
|
479
|
+
}
|
|
480
|
+
});
|
|
481
|
+
}
|
|
451
482
|
function resolveLanguageModel(model) {
|
|
452
483
|
if (typeof model !== "string") {
|
|
453
|
-
if (model.specificationVersion !== "v2") {
|
|
484
|
+
if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
|
|
485
|
+
const unsupportedModel = model;
|
|
454
486
|
throw new UnsupportedModelVersionError({
|
|
455
|
-
version:
|
|
456
|
-
provider:
|
|
457
|
-
modelId:
|
|
487
|
+
version: unsupportedModel.specificationVersion,
|
|
488
|
+
provider: unsupportedModel.provider,
|
|
489
|
+
modelId: unsupportedModel.modelId
|
|
458
490
|
});
|
|
459
491
|
}
|
|
492
|
+
if (model.specificationVersion === "v2") {
|
|
493
|
+
return transformToV3LanguageModel(model);
|
|
494
|
+
}
|
|
460
495
|
return model;
|
|
461
496
|
}
|
|
462
497
|
return getGlobalProvider().languageModel(model);
|
|
463
498
|
}
|
|
464
499
|
function resolveEmbeddingModel(model) {
|
|
465
500
|
if (typeof model !== "string") {
|
|
466
|
-
if (model.specificationVersion !== "v2") {
|
|
501
|
+
if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
|
|
502
|
+
const unsupportedModel = model;
|
|
467
503
|
throw new UnsupportedModelVersionError({
|
|
468
|
-
version:
|
|
469
|
-
provider:
|
|
470
|
-
modelId:
|
|
504
|
+
version: unsupportedModel.specificationVersion,
|
|
505
|
+
provider: unsupportedModel.provider,
|
|
506
|
+
modelId: unsupportedModel.modelId
|
|
471
507
|
});
|
|
472
508
|
}
|
|
509
|
+
if (model.specificationVersion === "v2") {
|
|
510
|
+
return transformToV3EmbeddingModel(model);
|
|
511
|
+
}
|
|
473
512
|
return model;
|
|
474
513
|
}
|
|
475
514
|
return getGlobalProvider().textEmbeddingModel(
|
|
@@ -678,7 +717,7 @@ import {
|
|
|
678
717
|
} from "@ai-sdk/provider-utils";
|
|
679
718
|
|
|
680
719
|
// src/version.ts
|
|
681
|
-
var VERSION = true ? "5.1.0-beta.
|
|
720
|
+
var VERSION = true ? "5.1.0-beta.21" : "0.0.0-test";
|
|
682
721
|
|
|
683
722
|
// src/util/download/download.ts
|
|
684
723
|
var download = async ({ url }) => {
|
|
@@ -719,7 +758,7 @@ var createDefaultDownloadFunction = (download2 = download) => (requestedDownload
|
|
|
719
758
|
);
|
|
720
759
|
|
|
721
760
|
// src/prompt/data-content.ts
|
|
722
|
-
import { AISDKError as
|
|
761
|
+
import { AISDKError as AISDKError19 } from "@ai-sdk/provider";
|
|
723
762
|
import {
|
|
724
763
|
convertBase64ToUint8Array as convertBase64ToUint8Array2,
|
|
725
764
|
convertUint8ArrayToBase64
|
|
@@ -756,7 +795,7 @@ var dataContentSchema = z.union([
|
|
|
756
795
|
{ message: "Must be a Buffer" }
|
|
757
796
|
)
|
|
758
797
|
]);
|
|
759
|
-
function
|
|
798
|
+
function convertToLanguageModelV3DataContent(content) {
|
|
760
799
|
if (content instanceof Uint8Array) {
|
|
761
800
|
return { data: content, mediaType: void 0 };
|
|
762
801
|
}
|
|
@@ -774,7 +813,7 @@ function convertToLanguageModelV2DataContent(content) {
|
|
|
774
813
|
content.toString()
|
|
775
814
|
);
|
|
776
815
|
if (dataUrlMediaType == null || base64Content == null) {
|
|
777
|
-
throw new
|
|
816
|
+
throw new AISDKError19({
|
|
778
817
|
name: "InvalidDataContentError",
|
|
779
818
|
message: `Invalid data URL format in content ${content.toString()}`
|
|
780
819
|
});
|
|
@@ -875,7 +914,7 @@ function convertToLanguageModelMessage({
|
|
|
875
914
|
const providerOptions = part.providerOptions;
|
|
876
915
|
switch (part.type) {
|
|
877
916
|
case "file": {
|
|
878
|
-
const { data, mediaType } =
|
|
917
|
+
const { data, mediaType } = convertToLanguageModelV3DataContent(
|
|
879
918
|
part.data
|
|
880
919
|
);
|
|
881
920
|
return {
|
|
@@ -971,12 +1010,12 @@ async function downloadAssets(messages, download2, supportedUrls) {
|
|
|
971
1010
|
}));
|
|
972
1011
|
const downloadedFiles = await download2(plannedDownloads);
|
|
973
1012
|
return Object.fromEntries(
|
|
974
|
-
downloadedFiles.
|
|
975
|
-
(
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
1013
|
+
downloadedFiles.map(
|
|
1014
|
+
(file, index) => file == null ? null : [
|
|
1015
|
+
plannedDownloads[index].url.toString(),
|
|
1016
|
+
{ data: file.data, mediaType: file.mediaType }
|
|
1017
|
+
]
|
|
1018
|
+
).filter((file) => file != null)
|
|
980
1019
|
);
|
|
981
1020
|
}
|
|
982
1021
|
function convertPartToLanguageModelPart(part, downloadedAssets) {
|
|
@@ -1000,7 +1039,7 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
|
|
|
1000
1039
|
default:
|
|
1001
1040
|
throw new Error(`Unsupported part type: ${type}`);
|
|
1002
1041
|
}
|
|
1003
|
-
const { data: convertedData, mediaType: convertedMediaType } =
|
|
1042
|
+
const { data: convertedData, mediaType: convertedMediaType } = convertToLanguageModelV3DataContent(originalData);
|
|
1004
1043
|
let mediaType = convertedMediaType != null ? convertedMediaType : part.mediaType;
|
|
1005
1044
|
let data = convertedData;
|
|
1006
1045
|
if (data instanceof URL) {
|
|
@@ -1401,10 +1440,10 @@ import {
|
|
|
1401
1440
|
GatewayAuthenticationError,
|
|
1402
1441
|
GatewayModelNotFoundError
|
|
1403
1442
|
} from "@ai-sdk/gateway";
|
|
1404
|
-
import { AISDKError as
|
|
1443
|
+
import { AISDKError as AISDKError20 } from "@ai-sdk/provider";
|
|
1405
1444
|
function wrapGatewayError(error) {
|
|
1406
1445
|
if (GatewayAuthenticationError.isInstance(error) || GatewayModelNotFoundError.isInstance(error)) {
|
|
1407
|
-
return new
|
|
1446
|
+
return new AISDKError20({
|
|
1408
1447
|
name: "GatewayError",
|
|
1409
1448
|
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.",
|
|
1410
1449
|
cause: error
|
|
@@ -2922,11 +2961,6 @@ var uiMessageChunkSchema = z7.union([
|
|
|
2922
2961
|
providerExecuted: z7.boolean().optional(),
|
|
2923
2962
|
dynamic: z7.boolean().optional()
|
|
2924
2963
|
}),
|
|
2925
|
-
z7.strictObject({
|
|
2926
|
-
type: z7.literal("reasoning"),
|
|
2927
|
-
text: z7.string(),
|
|
2928
|
-
providerMetadata: providerMetadataSchema.optional()
|
|
2929
|
-
}),
|
|
2930
2964
|
z7.strictObject({
|
|
2931
2965
|
type: z7.literal("reasoning-start"),
|
|
2932
2966
|
id: z7.string(),
|
|
@@ -2943,9 +2977,6 @@ var uiMessageChunkSchema = z7.union([
|
|
|
2943
2977
|
id: z7.string(),
|
|
2944
2978
|
providerMetadata: providerMetadataSchema.optional()
|
|
2945
2979
|
}),
|
|
2946
|
-
z7.strictObject({
|
|
2947
|
-
type: z7.literal("reasoning-part-finish")
|
|
2948
|
-
}),
|
|
2949
2980
|
z7.strictObject({
|
|
2950
2981
|
type: z7.literal("source-url"),
|
|
2951
2982
|
sourceId: z7.string(),
|
|
@@ -2968,7 +2999,10 @@ var uiMessageChunkSchema = z7.union([
|
|
|
2968
2999
|
providerMetadata: providerMetadataSchema.optional()
|
|
2969
3000
|
}),
|
|
2970
3001
|
z7.strictObject({
|
|
2971
|
-
type: z7.
|
|
3002
|
+
type: z7.custom(
|
|
3003
|
+
(value) => typeof value === "string" && value.startsWith("data-"),
|
|
3004
|
+
{ message: 'Type must start with "data-"' }
|
|
3005
|
+
),
|
|
2972
3006
|
id: z7.string().optional(),
|
|
2973
3007
|
data: z7.unknown(),
|
|
2974
3008
|
transient: z7.boolean().optional()
|
|
@@ -4597,7 +4631,7 @@ var DefaultStreamTextResult = class {
|
|
|
4597
4631
|
let activeReasoningContent = {};
|
|
4598
4632
|
const eventProcessor = new TransformStream({
|
|
4599
4633
|
async transform(chunk, controller) {
|
|
4600
|
-
var _a17, _b, _c;
|
|
4634
|
+
var _a17, _b, _c, _d;
|
|
4601
4635
|
controller.enqueue(chunk);
|
|
4602
4636
|
const { part } = chunk;
|
|
4603
4637
|
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") {
|
|
@@ -4630,6 +4664,18 @@ var DefaultStreamTextResult = class {
|
|
|
4630
4664
|
activeText.providerMetadata = (_a17 = part.providerMetadata) != null ? _a17 : activeText.providerMetadata;
|
|
4631
4665
|
}
|
|
4632
4666
|
if (part.type === "text-end") {
|
|
4667
|
+
const activeText = activeTextContent[part.id];
|
|
4668
|
+
if (activeText == null) {
|
|
4669
|
+
controller.enqueue({
|
|
4670
|
+
part: {
|
|
4671
|
+
type: "error",
|
|
4672
|
+
error: `text part ${part.id} not found`
|
|
4673
|
+
},
|
|
4674
|
+
partialOutput: void 0
|
|
4675
|
+
});
|
|
4676
|
+
return;
|
|
4677
|
+
}
|
|
4678
|
+
activeText.providerMetadata = (_b = part.providerMetadata) != null ? _b : activeText.providerMetadata;
|
|
4633
4679
|
delete activeTextContent[part.id];
|
|
4634
4680
|
}
|
|
4635
4681
|
if (part.type === "reasoning-start") {
|
|
@@ -4653,7 +4699,7 @@ var DefaultStreamTextResult = class {
|
|
|
4653
4699
|
return;
|
|
4654
4700
|
}
|
|
4655
4701
|
activeReasoning.text += part.text;
|
|
4656
|
-
activeReasoning.providerMetadata = (
|
|
4702
|
+
activeReasoning.providerMetadata = (_c = part.providerMetadata) != null ? _c : activeReasoning.providerMetadata;
|
|
4657
4703
|
}
|
|
4658
4704
|
if (part.type === "reasoning-end") {
|
|
4659
4705
|
const activeReasoning = activeReasoningContent[part.id];
|
|
@@ -4667,7 +4713,7 @@ var DefaultStreamTextResult = class {
|
|
|
4667
4713
|
});
|
|
4668
4714
|
return;
|
|
4669
4715
|
}
|
|
4670
|
-
activeReasoning.providerMetadata = (
|
|
4716
|
+
activeReasoning.providerMetadata = (_d = part.providerMetadata) != null ? _d : activeReasoning.providerMetadata;
|
|
4671
4717
|
delete activeReasoningContent[part.id];
|
|
4672
4718
|
}
|
|
4673
4719
|
if (part.type === "file") {
|
|
@@ -5919,14 +5965,33 @@ var Agent = class {
|
|
|
5919
5965
|
constructor(settings) {
|
|
5920
5966
|
this.settings = settings;
|
|
5921
5967
|
}
|
|
5968
|
+
/**
|
|
5969
|
+
* The name of the agent.
|
|
5970
|
+
*/
|
|
5971
|
+
get name() {
|
|
5972
|
+
return this.settings.name;
|
|
5973
|
+
}
|
|
5974
|
+
/**
|
|
5975
|
+
* The tools that the agent can use.
|
|
5976
|
+
*/
|
|
5922
5977
|
get tools() {
|
|
5923
5978
|
return this.settings.tools;
|
|
5924
5979
|
}
|
|
5925
5980
|
async generate(options) {
|
|
5926
|
-
|
|
5981
|
+
var _a17;
|
|
5982
|
+
return generateText({
|
|
5983
|
+
...this.settings,
|
|
5984
|
+
stopWhen: (_a17 = this.settings.stopWhen) != null ? _a17 : stepCountIs(20),
|
|
5985
|
+
...options
|
|
5986
|
+
});
|
|
5927
5987
|
}
|
|
5928
5988
|
stream(options) {
|
|
5929
|
-
|
|
5989
|
+
var _a17;
|
|
5990
|
+
return streamText({
|
|
5991
|
+
...this.settings,
|
|
5992
|
+
stopWhen: (_a17 = this.settings.stopWhen) != null ? _a17 : stepCountIs(20),
|
|
5993
|
+
...options
|
|
5994
|
+
});
|
|
5930
5995
|
}
|
|
5931
5996
|
/**
|
|
5932
5997
|
* Creates a response object that streams UI messages to the client.
|
|
@@ -6322,7 +6387,7 @@ async function generateImage({
|
|
|
6322
6387
|
headers
|
|
6323
6388
|
}) {
|
|
6324
6389
|
var _a17, _b;
|
|
6325
|
-
if (model.specificationVersion !== "
|
|
6390
|
+
if (model.specificationVersion !== "v3") {
|
|
6326
6391
|
throw new UnsupportedModelVersionError({
|
|
6327
6392
|
version: model.specificationVersion,
|
|
6328
6393
|
provider: model.provider,
|
|
@@ -7802,18 +7867,6 @@ var DefaultStreamObjectResult = class {
|
|
|
7802
7867
|
// src/generate-speech/generate-speech.ts
|
|
7803
7868
|
import { withUserAgentSuffix as withUserAgentSuffix7 } from "@ai-sdk/provider-utils";
|
|
7804
7869
|
|
|
7805
|
-
// src/error/no-speech-generated-error.ts
|
|
7806
|
-
import { AISDKError as AISDKError20 } from "@ai-sdk/provider";
|
|
7807
|
-
var NoSpeechGeneratedError = class extends AISDKError20 {
|
|
7808
|
-
constructor(options) {
|
|
7809
|
-
super({
|
|
7810
|
-
name: "AI_NoSpeechGeneratedError",
|
|
7811
|
-
message: "No speech audio generated."
|
|
7812
|
-
});
|
|
7813
|
-
this.responses = options.responses;
|
|
7814
|
-
}
|
|
7815
|
-
};
|
|
7816
|
-
|
|
7817
7870
|
// src/generate-speech/generated-audio-file.ts
|
|
7818
7871
|
var DefaultGeneratedAudioFile = class extends DefaultGeneratedFile {
|
|
7819
7872
|
constructor({
|
|
@@ -8069,7 +8122,7 @@ function defaultSettingsMiddleware({
|
|
|
8069
8122
|
settings
|
|
8070
8123
|
}) {
|
|
8071
8124
|
return {
|
|
8072
|
-
middlewareVersion: "
|
|
8125
|
+
middlewareVersion: "v3",
|
|
8073
8126
|
transformParams: async ({ params }) => {
|
|
8074
8127
|
return mergeObjects(settings, params);
|
|
8075
8128
|
}
|
|
@@ -8103,7 +8156,7 @@ function extractReasoningMiddleware({
|
|
|
8103
8156
|
const openingTag = `<${tagName}>`;
|
|
8104
8157
|
const closingTag = `</${tagName}>`;
|
|
8105
8158
|
return {
|
|
8106
|
-
middlewareVersion: "
|
|
8159
|
+
middlewareVersion: "v3",
|
|
8107
8160
|
wrapGenerate: async ({ doGenerate }) => {
|
|
8108
8161
|
const { content, ...rest } = await doGenerate();
|
|
8109
8162
|
const transformedContent = [];
|
|
@@ -8249,7 +8302,7 @@ function extractReasoningMiddleware({
|
|
|
8249
8302
|
// src/middleware/simulate-streaming-middleware.ts
|
|
8250
8303
|
function simulateStreamingMiddleware() {
|
|
8251
8304
|
return {
|
|
8252
|
-
middlewareVersion: "
|
|
8305
|
+
middlewareVersion: "v3",
|
|
8253
8306
|
wrapStream: async ({ doGenerate }) => {
|
|
8254
8307
|
const result = await doGenerate();
|
|
8255
8308
|
let id = 0;
|
|
@@ -8346,7 +8399,7 @@ var doWrap = ({
|
|
|
8346
8399
|
return transformParams ? await transformParams({ params, type, model }) : params;
|
|
8347
8400
|
}
|
|
8348
8401
|
return {
|
|
8349
|
-
specificationVersion: "
|
|
8402
|
+
specificationVersion: "v3",
|
|
8350
8403
|
provider: (_a17 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a17 : model.provider,
|
|
8351
8404
|
modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
|
|
8352
8405
|
supportedUrls: (_c = overrideSupportedUrls == null ? void 0 : overrideSupportedUrls({ model })) != null ? _c : model.supportedUrls,
|
|
@@ -9701,9 +9754,11 @@ var AbstractChat = class {
|
|
|
9701
9754
|
}
|
|
9702
9755
|
};
|
|
9703
9756
|
this.addToolResult = async ({
|
|
9757
|
+
state = "output-available",
|
|
9704
9758
|
tool: tool3,
|
|
9705
9759
|
toolCallId,
|
|
9706
|
-
output
|
|
9760
|
+
output,
|
|
9761
|
+
errorText
|
|
9707
9762
|
}) => this.jobExecutor.run(async () => {
|
|
9708
9763
|
var _a17, _b;
|
|
9709
9764
|
const messages = this.state.messages;
|
|
@@ -9711,16 +9766,16 @@ var AbstractChat = class {
|
|
|
9711
9766
|
this.state.replaceMessage(messages.length - 1, {
|
|
9712
9767
|
...lastMessage,
|
|
9713
9768
|
parts: lastMessage.parts.map(
|
|
9714
|
-
(part) => isToolOrDynamicToolUIPart(part) && part.toolCallId === toolCallId ? { ...part, state
|
|
9769
|
+
(part) => isToolOrDynamicToolUIPart(part) && part.toolCallId === toolCallId ? { ...part, state, output, errorText } : part
|
|
9715
9770
|
)
|
|
9716
9771
|
});
|
|
9717
9772
|
if (this.activeResponse) {
|
|
9718
9773
|
this.activeResponse.state.message.parts = this.activeResponse.state.message.parts.map(
|
|
9719
9774
|
(part) => isToolOrDynamicToolUIPart(part) && part.toolCallId === toolCallId ? {
|
|
9720
9775
|
...part,
|
|
9721
|
-
state
|
|
9776
|
+
state,
|
|
9722
9777
|
output,
|
|
9723
|
-
errorText
|
|
9778
|
+
errorText
|
|
9724
9779
|
} : part
|
|
9725
9780
|
);
|
|
9726
9781
|
}
|
|
@@ -9929,7 +9984,9 @@ function lastAssistantMessageIsCompleteWithToolCalls({
|
|
|
9929
9984
|
return part.type === "step-start" ? index : lastIndex;
|
|
9930
9985
|
}, -1);
|
|
9931
9986
|
const lastStepToolInvocations = message.parts.slice(lastStepStartIndex + 1).filter(isToolOrDynamicToolUIPart);
|
|
9932
|
-
return lastStepToolInvocations.length > 0 && lastStepToolInvocations.every(
|
|
9987
|
+
return lastStepToolInvocations.length > 0 && lastStepToolInvocations.every(
|
|
9988
|
+
(part) => part.state === "output-available" || part.state === "output-error"
|
|
9989
|
+
);
|
|
9933
9990
|
}
|
|
9934
9991
|
|
|
9935
9992
|
// src/ui/transform-text-to-ui-message-stream.ts
|
|
@@ -10368,9 +10425,10 @@ function readUIMessageStream({
|
|
|
10368
10425
|
return createAsyncIterableStream(outputStream);
|
|
10369
10426
|
}
|
|
10370
10427
|
export {
|
|
10371
|
-
|
|
10428
|
+
AISDKError18 as AISDKError,
|
|
10372
10429
|
APICallError,
|
|
10373
10430
|
AbstractChat,
|
|
10431
|
+
Agent,
|
|
10374
10432
|
DefaultChatTransport,
|
|
10375
10433
|
DownloadError,
|
|
10376
10434
|
EmptyResponseBodyError,
|
|
@@ -10393,6 +10451,7 @@ export {
|
|
|
10393
10451
|
NoObjectGeneratedError,
|
|
10394
10452
|
NoOutputGeneratedError,
|
|
10395
10453
|
NoOutputSpecifiedError,
|
|
10454
|
+
NoSpeechGeneratedError,
|
|
10396
10455
|
NoSuchModelError,
|
|
10397
10456
|
NoSuchProviderError,
|
|
10398
10457
|
NoSuchToolError,
|
|
@@ -10451,6 +10510,7 @@ export {
|
|
|
10451
10510
|
jsonSchema2 as jsonSchema,
|
|
10452
10511
|
lastAssistantMessageIsCompleteWithToolCalls,
|
|
10453
10512
|
modelMessageSchema,
|
|
10513
|
+
parseJsonEventStream3 as parseJsonEventStream,
|
|
10454
10514
|
parsePartialJson,
|
|
10455
10515
|
pipeTextStreamToResponse,
|
|
10456
10516
|
pipeUIMessageStreamToResponse,
|
|
@@ -10465,6 +10525,7 @@ export {
|
|
|
10465
10525
|
systemModelMessageSchema,
|
|
10466
10526
|
tool2 as tool,
|
|
10467
10527
|
toolModelMessageSchema,
|
|
10528
|
+
uiMessageChunkSchema,
|
|
10468
10529
|
userModelMessageSchema,
|
|
10469
10530
|
validateUIMessages,
|
|
10470
10531
|
wrapLanguageModel,
|