@zenning/ai 5.0.43 → 5.1.1
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 +43 -0
- package/dist/index.d.mts +10 -8
- package/dist/index.d.ts +10 -8
- package/dist/index.js +314 -201
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +241 -111
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.d.mts +1 -1
- package/dist/internal/index.d.ts +1 -1
- package/dist/internal/index.js +68 -43
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +58 -30
- package/dist/internal/index.mjs.map +1 -1
- package/dist/mcp-stdio/index.d.mts +1 -1
- package/dist/mcp-stdio/index.d.ts +1 -1
- package/dist/mcp-stdio/index.js +1 -1
- package/dist/mcp-stdio/index.js.map +1 -1
- package/dist/mcp-stdio/index.mjs +1 -1
- package/dist/mcp-stdio/index.mjs.map +1 -1
- package/dist/test/index.d.mts +1 -1
- package/dist/test/index.d.ts +1 -1
- package/dist/test/index.js +1 -1
- package/dist/test/index.js.map +1 -1
- package/dist/test/index.mjs +1 -1
- package/dist/test/index.mjs.map +1 -1
- package/package.json +4 -3
package/dist/index.js
CHANGED
|
@@ -58,7 +58,7 @@ __export(src_exports, {
|
|
|
58
58
|
UI_MESSAGE_STREAM_HEADERS: () => UI_MESSAGE_STREAM_HEADERS,
|
|
59
59
|
UnsupportedFunctionalityError: () => import_provider17.UnsupportedFunctionalityError,
|
|
60
60
|
UnsupportedModelVersionError: () => UnsupportedModelVersionError,
|
|
61
|
-
asSchema: () =>
|
|
61
|
+
asSchema: () => import_provider_utils35.asSchema,
|
|
62
62
|
assistantModelMessageSchema: () => assistantModelMessageSchema,
|
|
63
63
|
callCompletionApi: () => callCompletionApi,
|
|
64
64
|
consumeStream: () => consumeStream,
|
|
@@ -72,14 +72,14 @@ __export(src_exports, {
|
|
|
72
72
|
coreUserMessageSchema: () => coreUserMessageSchema,
|
|
73
73
|
cosineSimilarity: () => cosineSimilarity,
|
|
74
74
|
createGateway: () => import_gateway3.createGateway,
|
|
75
|
-
createIdGenerator: () =>
|
|
75
|
+
createIdGenerator: () => import_provider_utils35.createIdGenerator,
|
|
76
76
|
createProviderRegistry: () => createProviderRegistry,
|
|
77
77
|
createTextStreamResponse: () => createTextStreamResponse,
|
|
78
78
|
createUIMessageStream: () => createUIMessageStream,
|
|
79
79
|
createUIMessageStreamResponse: () => createUIMessageStreamResponse,
|
|
80
80
|
customProvider: () => customProvider,
|
|
81
81
|
defaultSettingsMiddleware: () => defaultSettingsMiddleware,
|
|
82
|
-
dynamicTool: () =>
|
|
82
|
+
dynamicTool: () => import_provider_utils35.dynamicTool,
|
|
83
83
|
embed: () => embed,
|
|
84
84
|
embedMany: () => embedMany,
|
|
85
85
|
experimental_createMCPClient: () => createMCPClient,
|
|
@@ -90,7 +90,7 @@ __export(src_exports, {
|
|
|
90
90
|
experimental_transcribe: () => transcribe,
|
|
91
91
|
extractReasoningMiddleware: () => extractReasoningMiddleware,
|
|
92
92
|
gateway: () => import_gateway3.gateway,
|
|
93
|
-
generateId: () =>
|
|
93
|
+
generateId: () => import_provider_utils35.generateId,
|
|
94
94
|
generateObject: () => generateObject,
|
|
95
95
|
generateText: () => generateText,
|
|
96
96
|
getTextFromDataUrl: () => getTextFromDataUrl,
|
|
@@ -100,7 +100,7 @@ __export(src_exports, {
|
|
|
100
100
|
isDeepEqualData: () => isDeepEqualData,
|
|
101
101
|
isToolOrDynamicToolUIPart: () => isToolOrDynamicToolUIPart,
|
|
102
102
|
isToolUIPart: () => isToolUIPart,
|
|
103
|
-
jsonSchema: () =>
|
|
103
|
+
jsonSchema: () => import_provider_utils35.jsonSchema,
|
|
104
104
|
lastAssistantMessageIsCompleteWithToolCalls: () => lastAssistantMessageIsCompleteWithToolCalls,
|
|
105
105
|
modelMessageSchema: () => modelMessageSchema,
|
|
106
106
|
parsePartialJson: () => parsePartialJson,
|
|
@@ -114,23 +114,23 @@ __export(src_exports, {
|
|
|
114
114
|
streamObject: () => streamObject,
|
|
115
115
|
streamText: () => streamText,
|
|
116
116
|
systemModelMessageSchema: () => systemModelMessageSchema,
|
|
117
|
-
tool: () =>
|
|
117
|
+
tool: () => import_provider_utils35.tool,
|
|
118
118
|
toolModelMessageSchema: () => toolModelMessageSchema,
|
|
119
119
|
userModelMessageSchema: () => userModelMessageSchema,
|
|
120
120
|
validateUIMessages: () => validateUIMessages,
|
|
121
121
|
wrapLanguageModel: () => wrapLanguageModel,
|
|
122
122
|
wrapProvider: () => wrapProvider,
|
|
123
|
-
zodSchema: () =>
|
|
123
|
+
zodSchema: () => import_provider_utils35.zodSchema
|
|
124
124
|
});
|
|
125
125
|
module.exports = __toCommonJS(src_exports);
|
|
126
126
|
var import_gateway3 = require("@ai-sdk/gateway");
|
|
127
|
-
var
|
|
127
|
+
var import_provider_utils35 = require("@ai-sdk/provider-utils");
|
|
128
128
|
|
|
129
129
|
// src/generate-text/generate-text.ts
|
|
130
|
-
var
|
|
130
|
+
var import_provider_utils10 = require("@ai-sdk/provider-utils");
|
|
131
131
|
|
|
132
132
|
// src/error/no-output-specified-error.ts
|
|
133
|
-
var import_provider = require("@
|
|
133
|
+
var import_provider = require("@zenning/provider");
|
|
134
134
|
var name = "AI_NoOutputSpecifiedError";
|
|
135
135
|
var marker = `vercel.ai.error.${name}`;
|
|
136
136
|
var symbol = Symbol.for(marker);
|
|
@@ -201,10 +201,10 @@ var logWarnings = (warnings) => {
|
|
|
201
201
|
var import_gateway = require("@ai-sdk/gateway");
|
|
202
202
|
|
|
203
203
|
// src/error/index.ts
|
|
204
|
-
var import_provider17 = require("@
|
|
204
|
+
var import_provider17 = require("@zenning/provider");
|
|
205
205
|
|
|
206
206
|
// src/error/invalid-argument-error.ts
|
|
207
|
-
var import_provider2 = require("@
|
|
207
|
+
var import_provider2 = require("@zenning/provider");
|
|
208
208
|
var name2 = "AI_InvalidArgumentError";
|
|
209
209
|
var marker2 = `vercel.ai.error.${name2}`;
|
|
210
210
|
var symbol2 = Symbol.for(marker2);
|
|
@@ -230,7 +230,7 @@ var InvalidArgumentError = class extends import_provider2.AISDKError {
|
|
|
230
230
|
_a2 = symbol2;
|
|
231
231
|
|
|
232
232
|
// src/error/invalid-stream-part-error.ts
|
|
233
|
-
var import_provider3 = require("@
|
|
233
|
+
var import_provider3 = require("@zenning/provider");
|
|
234
234
|
var name3 = "AI_InvalidStreamPartError";
|
|
235
235
|
var marker3 = `vercel.ai.error.${name3}`;
|
|
236
236
|
var symbol3 = Symbol.for(marker3);
|
|
@@ -251,7 +251,7 @@ var InvalidStreamPartError = class extends import_provider3.AISDKError {
|
|
|
251
251
|
_a3 = symbol3;
|
|
252
252
|
|
|
253
253
|
// src/error/invalid-tool-input-error.ts
|
|
254
|
-
var import_provider4 = require("@
|
|
254
|
+
var import_provider4 = require("@zenning/provider");
|
|
255
255
|
var name4 = "AI_InvalidToolInputError";
|
|
256
256
|
var marker4 = `vercel.ai.error.${name4}`;
|
|
257
257
|
var symbol4 = Symbol.for(marker4);
|
|
@@ -275,7 +275,7 @@ var InvalidToolInputError = class extends import_provider4.AISDKError {
|
|
|
275
275
|
_a4 = symbol4;
|
|
276
276
|
|
|
277
277
|
// src/error/mcp-client-error.ts
|
|
278
|
-
var import_provider5 = require("@
|
|
278
|
+
var import_provider5 = require("@zenning/provider");
|
|
279
279
|
var name5 = "AI_MCPClientError";
|
|
280
280
|
var marker5 = `vercel.ai.error.${name5}`;
|
|
281
281
|
var symbol5 = Symbol.for(marker5);
|
|
@@ -296,7 +296,7 @@ var MCPClientError = class extends import_provider5.AISDKError {
|
|
|
296
296
|
_a5 = symbol5;
|
|
297
297
|
|
|
298
298
|
// src/error/no-image-generated-error.ts
|
|
299
|
-
var import_provider6 = require("@
|
|
299
|
+
var import_provider6 = require("@zenning/provider");
|
|
300
300
|
var name6 = "AI_NoImageGeneratedError";
|
|
301
301
|
var marker6 = `vercel.ai.error.${name6}`;
|
|
302
302
|
var symbol6 = Symbol.for(marker6);
|
|
@@ -318,7 +318,7 @@ var NoImageGeneratedError = class extends import_provider6.AISDKError {
|
|
|
318
318
|
_a6 = symbol6;
|
|
319
319
|
|
|
320
320
|
// src/error/no-object-generated-error.ts
|
|
321
|
-
var import_provider7 = require("@
|
|
321
|
+
var import_provider7 = require("@zenning/provider");
|
|
322
322
|
var name7 = "AI_NoObjectGeneratedError";
|
|
323
323
|
var marker7 = `vercel.ai.error.${name7}`;
|
|
324
324
|
var symbol7 = Symbol.for(marker7);
|
|
@@ -346,7 +346,7 @@ var NoObjectGeneratedError = class extends import_provider7.AISDKError {
|
|
|
346
346
|
_a7 = symbol7;
|
|
347
347
|
|
|
348
348
|
// src/error/no-output-generated-error.ts
|
|
349
|
-
var import_provider8 = require("@
|
|
349
|
+
var import_provider8 = require("@zenning/provider");
|
|
350
350
|
var name8 = "AI_NoOutputGeneratedError";
|
|
351
351
|
var marker8 = `vercel.ai.error.${name8}`;
|
|
352
352
|
var symbol8 = Symbol.for(marker8);
|
|
@@ -367,7 +367,7 @@ var NoOutputGeneratedError = class extends import_provider8.AISDKError {
|
|
|
367
367
|
_a8 = symbol8;
|
|
368
368
|
|
|
369
369
|
// src/error/no-such-tool-error.ts
|
|
370
|
-
var import_provider9 = require("@
|
|
370
|
+
var import_provider9 = require("@zenning/provider");
|
|
371
371
|
var name9 = "AI_NoSuchToolError";
|
|
372
372
|
var marker9 = `vercel.ai.error.${name9}`;
|
|
373
373
|
var symbol9 = Symbol.for(marker9);
|
|
@@ -390,7 +390,7 @@ var NoSuchToolError = class extends import_provider9.AISDKError {
|
|
|
390
390
|
_a9 = symbol9;
|
|
391
391
|
|
|
392
392
|
// src/error/tool-call-repair-error.ts
|
|
393
|
-
var import_provider10 = require("@
|
|
393
|
+
var import_provider10 = require("@zenning/provider");
|
|
394
394
|
var name10 = "AI_ToolCallRepairError";
|
|
395
395
|
var marker10 = `vercel.ai.error.${name10}`;
|
|
396
396
|
var symbol10 = Symbol.for(marker10);
|
|
@@ -412,7 +412,7 @@ var ToolCallRepairError = class extends import_provider10.AISDKError {
|
|
|
412
412
|
_a10 = symbol10;
|
|
413
413
|
|
|
414
414
|
// src/error/unsupported-model-version-error.ts
|
|
415
|
-
var import_provider11 = require("@
|
|
415
|
+
var import_provider11 = require("@zenning/provider");
|
|
416
416
|
var UnsupportedModelVersionError = class extends import_provider11.AISDKError {
|
|
417
417
|
constructor(options) {
|
|
418
418
|
super({
|
|
@@ -426,7 +426,7 @@ var UnsupportedModelVersionError = class extends import_provider11.AISDKError {
|
|
|
426
426
|
};
|
|
427
427
|
|
|
428
428
|
// src/prompt/invalid-data-content-error.ts
|
|
429
|
-
var import_provider12 = require("@
|
|
429
|
+
var import_provider12 = require("@zenning/provider");
|
|
430
430
|
var name11 = "AI_InvalidDataContentError";
|
|
431
431
|
var marker11 = `vercel.ai.error.${name11}`;
|
|
432
432
|
var symbol11 = Symbol.for(marker11);
|
|
@@ -448,7 +448,7 @@ var InvalidDataContentError = class extends import_provider12.AISDKError {
|
|
|
448
448
|
_a11 = symbol11;
|
|
449
449
|
|
|
450
450
|
// src/prompt/invalid-message-role-error.ts
|
|
451
|
-
var import_provider13 = require("@
|
|
451
|
+
var import_provider13 = require("@zenning/provider");
|
|
452
452
|
var name12 = "AI_InvalidMessageRoleError";
|
|
453
453
|
var marker12 = `vercel.ai.error.${name12}`;
|
|
454
454
|
var symbol12 = Symbol.for(marker12);
|
|
@@ -469,7 +469,7 @@ var InvalidMessageRoleError = class extends import_provider13.AISDKError {
|
|
|
469
469
|
_a12 = symbol12;
|
|
470
470
|
|
|
471
471
|
// src/prompt/message-conversion-error.ts
|
|
472
|
-
var import_provider14 = require("@
|
|
472
|
+
var import_provider14 = require("@zenning/provider");
|
|
473
473
|
var name13 = "AI_MessageConversionError";
|
|
474
474
|
var marker13 = `vercel.ai.error.${name13}`;
|
|
475
475
|
var symbol13 = Symbol.for(marker13);
|
|
@@ -490,7 +490,7 @@ var MessageConversionError = class extends import_provider14.AISDKError {
|
|
|
490
490
|
_a13 = symbol13;
|
|
491
491
|
|
|
492
492
|
// src/util/download/download-error.ts
|
|
493
|
-
var import_provider15 = require("@
|
|
493
|
+
var import_provider15 = require("@zenning/provider");
|
|
494
494
|
var name14 = "AI_DownloadError";
|
|
495
495
|
var marker14 = `vercel.ai.error.${name14}`;
|
|
496
496
|
var symbol14 = Symbol.for(marker14);
|
|
@@ -516,7 +516,7 @@ var DownloadError = class extends import_provider15.AISDKError {
|
|
|
516
516
|
_a14 = symbol14;
|
|
517
517
|
|
|
518
518
|
// src/util/retry-error.ts
|
|
519
|
-
var import_provider16 = require("@
|
|
519
|
+
var import_provider16 = require("@zenning/provider");
|
|
520
520
|
var name15 = "AI_RetryError";
|
|
521
521
|
var marker15 = `vercel.ai.error.${name15}`;
|
|
522
522
|
var symbol15 = Symbol.for(marker15);
|
|
@@ -574,45 +574,57 @@ function getGlobalProvider() {
|
|
|
574
574
|
}
|
|
575
575
|
|
|
576
576
|
// src/prompt/convert-to-language-model-prompt.ts
|
|
577
|
-
var
|
|
577
|
+
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
|
578
578
|
|
|
579
579
|
// src/util/detect-media-type.ts
|
|
580
580
|
var import_provider_utils = require("@ai-sdk/provider-utils");
|
|
581
581
|
var imageMediaTypeSignatures = [
|
|
582
582
|
{
|
|
583
583
|
mediaType: "image/gif",
|
|
584
|
-
bytesPrefix: [71, 73, 70]
|
|
585
|
-
|
|
584
|
+
bytesPrefix: [71, 73, 70]
|
|
585
|
+
// GIF
|
|
586
586
|
},
|
|
587
587
|
{
|
|
588
588
|
mediaType: "image/png",
|
|
589
|
-
bytesPrefix: [137, 80, 78, 71]
|
|
590
|
-
|
|
589
|
+
bytesPrefix: [137, 80, 78, 71]
|
|
590
|
+
// PNG
|
|
591
591
|
},
|
|
592
592
|
{
|
|
593
593
|
mediaType: "image/jpeg",
|
|
594
|
-
bytesPrefix: [255, 216]
|
|
595
|
-
|
|
594
|
+
bytesPrefix: [255, 216]
|
|
595
|
+
// JPEG
|
|
596
596
|
},
|
|
597
597
|
{
|
|
598
598
|
mediaType: "image/webp",
|
|
599
|
-
bytesPrefix: [
|
|
600
|
-
|
|
599
|
+
bytesPrefix: [
|
|
600
|
+
82,
|
|
601
|
+
73,
|
|
602
|
+
70,
|
|
603
|
+
70,
|
|
604
|
+
// "RIFF"
|
|
605
|
+
null,
|
|
606
|
+
null,
|
|
607
|
+
null,
|
|
608
|
+
null,
|
|
609
|
+
// file size (variable)
|
|
610
|
+
87,
|
|
611
|
+
69,
|
|
612
|
+
66,
|
|
613
|
+
80
|
|
614
|
+
// "WEBP"
|
|
615
|
+
]
|
|
601
616
|
},
|
|
602
617
|
{
|
|
603
618
|
mediaType: "image/bmp",
|
|
604
|
-
bytesPrefix: [66, 77]
|
|
605
|
-
base64Prefix: "Qk"
|
|
619
|
+
bytesPrefix: [66, 77]
|
|
606
620
|
},
|
|
607
621
|
{
|
|
608
622
|
mediaType: "image/tiff",
|
|
609
|
-
bytesPrefix: [73, 73, 42, 0]
|
|
610
|
-
base64Prefix: "SUkqAA"
|
|
623
|
+
bytesPrefix: [73, 73, 42, 0]
|
|
611
624
|
},
|
|
612
625
|
{
|
|
613
626
|
mediaType: "image/tiff",
|
|
614
|
-
bytesPrefix: [77, 77, 0, 42]
|
|
615
|
-
base64Prefix: "TU0AKg"
|
|
627
|
+
bytesPrefix: [77, 77, 0, 42]
|
|
616
628
|
},
|
|
617
629
|
{
|
|
618
630
|
mediaType: "image/avif",
|
|
@@ -629,8 +641,7 @@ var imageMediaTypeSignatures = [
|
|
|
629
641
|
118,
|
|
630
642
|
105,
|
|
631
643
|
102
|
|
632
|
-
]
|
|
633
|
-
base64Prefix: "AAAAIGZ0eXBhdmlm"
|
|
644
|
+
]
|
|
634
645
|
},
|
|
635
646
|
{
|
|
636
647
|
mediaType: "image/heic",
|
|
@@ -647,70 +658,78 @@ var imageMediaTypeSignatures = [
|
|
|
647
658
|
101,
|
|
648
659
|
105,
|
|
649
660
|
99
|
|
650
|
-
]
|
|
651
|
-
base64Prefix: "AAAAIGZ0eXBoZWlj"
|
|
661
|
+
]
|
|
652
662
|
}
|
|
653
663
|
];
|
|
654
664
|
var audioMediaTypeSignatures = [
|
|
655
665
|
{
|
|
656
666
|
mediaType: "audio/mpeg",
|
|
657
|
-
bytesPrefix: [255, 251]
|
|
658
|
-
base64Prefix: "//s="
|
|
667
|
+
bytesPrefix: [255, 251]
|
|
659
668
|
},
|
|
660
669
|
{
|
|
661
670
|
mediaType: "audio/mpeg",
|
|
662
|
-
bytesPrefix: [255, 250]
|
|
663
|
-
base64Prefix: "//o="
|
|
671
|
+
bytesPrefix: [255, 250]
|
|
664
672
|
},
|
|
665
673
|
{
|
|
666
674
|
mediaType: "audio/mpeg",
|
|
667
|
-
bytesPrefix: [255, 243]
|
|
668
|
-
base64Prefix: "//M="
|
|
675
|
+
bytesPrefix: [255, 243]
|
|
669
676
|
},
|
|
670
677
|
{
|
|
671
678
|
mediaType: "audio/mpeg",
|
|
672
|
-
bytesPrefix: [255, 242]
|
|
673
|
-
base64Prefix: "//I="
|
|
679
|
+
bytesPrefix: [255, 242]
|
|
674
680
|
},
|
|
675
681
|
{
|
|
676
682
|
mediaType: "audio/mpeg",
|
|
677
|
-
bytesPrefix: [255, 227]
|
|
678
|
-
base64Prefix: "/+M="
|
|
683
|
+
bytesPrefix: [255, 227]
|
|
679
684
|
},
|
|
680
685
|
{
|
|
681
686
|
mediaType: "audio/mpeg",
|
|
682
|
-
bytesPrefix: [255, 226]
|
|
683
|
-
base64Prefix: "/+I="
|
|
687
|
+
bytesPrefix: [255, 226]
|
|
684
688
|
},
|
|
685
689
|
{
|
|
686
690
|
mediaType: "audio/wav",
|
|
687
|
-
bytesPrefix: [
|
|
688
|
-
|
|
691
|
+
bytesPrefix: [
|
|
692
|
+
82,
|
|
693
|
+
// R
|
|
694
|
+
73,
|
|
695
|
+
// I
|
|
696
|
+
70,
|
|
697
|
+
// F
|
|
698
|
+
70,
|
|
699
|
+
// F
|
|
700
|
+
null,
|
|
701
|
+
null,
|
|
702
|
+
null,
|
|
703
|
+
null,
|
|
704
|
+
87,
|
|
705
|
+
// W
|
|
706
|
+
65,
|
|
707
|
+
// A
|
|
708
|
+
86,
|
|
709
|
+
// V
|
|
710
|
+
69
|
|
711
|
+
// E
|
|
712
|
+
]
|
|
689
713
|
},
|
|
690
714
|
{
|
|
691
715
|
mediaType: "audio/ogg",
|
|
692
|
-
bytesPrefix: [79, 103, 103, 83]
|
|
693
|
-
base64Prefix: "T2dnUw"
|
|
716
|
+
bytesPrefix: [79, 103, 103, 83]
|
|
694
717
|
},
|
|
695
718
|
{
|
|
696
719
|
mediaType: "audio/flac",
|
|
697
|
-
bytesPrefix: [102, 76, 97, 67]
|
|
698
|
-
base64Prefix: "ZkxhQw"
|
|
720
|
+
bytesPrefix: [102, 76, 97, 67]
|
|
699
721
|
},
|
|
700
722
|
{
|
|
701
723
|
mediaType: "audio/aac",
|
|
702
|
-
bytesPrefix: [64, 21, 0, 0]
|
|
703
|
-
base64Prefix: "QBUA"
|
|
724
|
+
bytesPrefix: [64, 21, 0, 0]
|
|
704
725
|
},
|
|
705
726
|
{
|
|
706
727
|
mediaType: "audio/mp4",
|
|
707
|
-
bytesPrefix: [102, 116, 121, 112]
|
|
708
|
-
base64Prefix: "ZnR5cA"
|
|
728
|
+
bytesPrefix: [102, 116, 121, 112]
|
|
709
729
|
},
|
|
710
730
|
{
|
|
711
731
|
mediaType: "audio/webm",
|
|
712
|
-
bytesPrefix: [26, 69, 223, 163]
|
|
713
|
-
base64Prefix: "GkXf"
|
|
732
|
+
bytesPrefix: [26, 69, 223, 163]
|
|
714
733
|
}
|
|
715
734
|
];
|
|
716
735
|
var stripID3 = (data) => {
|
|
@@ -729,9 +748,12 @@ function detectMediaType({
|
|
|
729
748
|
signatures
|
|
730
749
|
}) {
|
|
731
750
|
const processedData = stripID3TagsIfPresent(data);
|
|
751
|
+
const bytes = typeof processedData === "string" ? (0, import_provider_utils.convertBase64ToUint8Array)(
|
|
752
|
+
processedData.substring(0, Math.min(processedData.length, 24))
|
|
753
|
+
) : processedData;
|
|
732
754
|
for (const signature of signatures) {
|
|
733
|
-
if (
|
|
734
|
-
(byte, index) =>
|
|
755
|
+
if (bytes.length >= signature.bytesPrefix.length && signature.bytesPrefix.every(
|
|
756
|
+
(byte, index) => byte === null || bytes[index] === byte
|
|
735
757
|
)) {
|
|
736
758
|
return signature.mediaType;
|
|
737
759
|
}
|
|
@@ -739,12 +761,24 @@ function detectMediaType({
|
|
|
739
761
|
return void 0;
|
|
740
762
|
}
|
|
741
763
|
|
|
764
|
+
// src/util/download/download.ts
|
|
765
|
+
var import_provider_utils2 = require("@ai-sdk/provider-utils");
|
|
766
|
+
|
|
767
|
+
// src/version.ts
|
|
768
|
+
var VERSION = true ? "5.1.1" : "0.0.0-test";
|
|
769
|
+
|
|
742
770
|
// src/util/download/download.ts
|
|
743
771
|
var download = async ({ url }) => {
|
|
744
772
|
var _a17;
|
|
745
773
|
const urlText = url.toString();
|
|
746
774
|
try {
|
|
747
|
-
const response = await fetch(urlText
|
|
775
|
+
const response = await fetch(urlText, {
|
|
776
|
+
headers: (0, import_provider_utils2.withUserAgentSuffix)(
|
|
777
|
+
{},
|
|
778
|
+
`ai-sdk/${VERSION}`,
|
|
779
|
+
(0, import_provider_utils2.getRuntimeEnvironmentUserAgent)()
|
|
780
|
+
)
|
|
781
|
+
});
|
|
748
782
|
if (!response.ok) {
|
|
749
783
|
throw new DownloadError({
|
|
750
784
|
url: urlText,
|
|
@@ -772,8 +806,8 @@ var createDefaultDownloadFunction = (download2 = download) => (requestedDownload
|
|
|
772
806
|
);
|
|
773
807
|
|
|
774
808
|
// src/prompt/data-content.ts
|
|
775
|
-
var import_provider18 = require("@
|
|
776
|
-
var
|
|
809
|
+
var import_provider18 = require("@zenning/provider");
|
|
810
|
+
var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
|
777
811
|
var import_v4 = require("zod/v4");
|
|
778
812
|
|
|
779
813
|
// src/prompt/split-data-url.ts
|
|
@@ -838,9 +872,9 @@ function convertDataContentToBase64String(content) {
|
|
|
838
872
|
return content;
|
|
839
873
|
}
|
|
840
874
|
if (content instanceof ArrayBuffer) {
|
|
841
|
-
return (0,
|
|
875
|
+
return (0, import_provider_utils3.convertUint8ArrayToBase64)(new Uint8Array(content));
|
|
842
876
|
}
|
|
843
|
-
return (0,
|
|
877
|
+
return (0, import_provider_utils3.convertUint8ArrayToBase64)(content);
|
|
844
878
|
}
|
|
845
879
|
function convertDataContentToUint8Array(content) {
|
|
846
880
|
if (content instanceof Uint8Array) {
|
|
@@ -848,7 +882,7 @@ function convertDataContentToUint8Array(content) {
|
|
|
848
882
|
}
|
|
849
883
|
if (typeof content === "string") {
|
|
850
884
|
try {
|
|
851
|
-
return (0,
|
|
885
|
+
return (0, import_provider_utils3.convertBase64ToUint8Array)(content);
|
|
852
886
|
} catch (error) {
|
|
853
887
|
throw new InvalidDataContentError({
|
|
854
888
|
message: "Invalid data content. Content string is not a base64-encoded media.",
|
|
@@ -919,8 +953,8 @@ function convertToLanguageModelMessage({
|
|
|
919
953
|
return {
|
|
920
954
|
role: "assistant",
|
|
921
955
|
content: message.content.filter(
|
|
922
|
-
// remove empty text parts:
|
|
923
|
-
(part) => part.type !== "text" || part.text !== ""
|
|
956
|
+
// remove empty text parts (no text, and no provider options):
|
|
957
|
+
(part) => part.type !== "text" || part.text !== "" || part.providerOptions != null
|
|
924
958
|
).map((part) => {
|
|
925
959
|
const providerOptions = part.providerOptions;
|
|
926
960
|
switch (part.type) {
|
|
@@ -1013,7 +1047,7 @@ async function downloadAssets(messages, download2, supportedUrls) {
|
|
|
1013
1047
|
(part) => part.data instanceof URL
|
|
1014
1048
|
).map((part) => ({
|
|
1015
1049
|
url: part.data,
|
|
1016
|
-
isUrlSupportedByModel: part.mediaType != null && (0,
|
|
1050
|
+
isUrlSupportedByModel: part.mediaType != null && (0, import_provider_utils4.isUrlSupported)({
|
|
1017
1051
|
url: part.data.toString(),
|
|
1018
1052
|
mediaType: part.mediaType,
|
|
1019
1053
|
supportedUrls
|
|
@@ -1183,7 +1217,7 @@ function prepareCallSettings({
|
|
|
1183
1217
|
}
|
|
1184
1218
|
|
|
1185
1219
|
// src/prompt/prepare-tools-and-tool-choice.ts
|
|
1186
|
-
var
|
|
1220
|
+
var import_provider_utils5 = require("@ai-sdk/provider-utils");
|
|
1187
1221
|
|
|
1188
1222
|
// src/util/is-non-empty-object.ts
|
|
1189
1223
|
function isNonEmptyObject(object2) {
|
|
@@ -1216,7 +1250,7 @@ function prepareToolsAndToolChoice({
|
|
|
1216
1250
|
type: "function",
|
|
1217
1251
|
name: name17,
|
|
1218
1252
|
description: tool3.description,
|
|
1219
|
-
inputSchema: (0,
|
|
1253
|
+
inputSchema: (0, import_provider_utils5.asSchema)(tool3.inputSchema).jsonSchema,
|
|
1220
1254
|
providerOptions: tool3.providerOptions
|
|
1221
1255
|
};
|
|
1222
1256
|
case "provider-defined":
|
|
@@ -1237,8 +1271,8 @@ function prepareToolsAndToolChoice({
|
|
|
1237
1271
|
}
|
|
1238
1272
|
|
|
1239
1273
|
// src/prompt/standardize-prompt.ts
|
|
1240
|
-
var import_provider19 = require("@
|
|
1241
|
-
var
|
|
1274
|
+
var import_provider19 = require("@zenning/provider");
|
|
1275
|
+
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
|
1242
1276
|
var import_v46 = require("zod/v4");
|
|
1243
1277
|
|
|
1244
1278
|
// src/prompt/message.ts
|
|
@@ -1429,7 +1463,7 @@ async function standardizePrompt(prompt) {
|
|
|
1429
1463
|
message: "messages must not be empty"
|
|
1430
1464
|
});
|
|
1431
1465
|
}
|
|
1432
|
-
const validationResult = await (0,
|
|
1466
|
+
const validationResult = await (0, import_provider_utils6.safeValidateTypes)({
|
|
1433
1467
|
value: messages,
|
|
1434
1468
|
schema: import_v46.z.array(modelMessageSchema)
|
|
1435
1469
|
});
|
|
@@ -1448,7 +1482,7 @@ async function standardizePrompt(prompt) {
|
|
|
1448
1482
|
|
|
1449
1483
|
// src/prompt/wrap-gateway-error.ts
|
|
1450
1484
|
var import_gateway2 = require("@ai-sdk/gateway");
|
|
1451
|
-
var import_provider20 = require("@
|
|
1485
|
+
var import_provider20 = require("@zenning/provider");
|
|
1452
1486
|
function wrapGatewayError(error) {
|
|
1453
1487
|
if (import_gateway2.GatewayAuthenticationError.isInstance(error) || import_gateway2.GatewayModelNotFoundError.isInstance(error)) {
|
|
1454
1488
|
return new import_provider20.AISDKError({
|
|
@@ -1697,8 +1731,8 @@ function asArray(value) {
|
|
|
1697
1731
|
}
|
|
1698
1732
|
|
|
1699
1733
|
// src/util/retry-with-exponential-backoff.ts
|
|
1700
|
-
var import_provider21 = require("@
|
|
1701
|
-
var
|
|
1734
|
+
var import_provider21 = require("@zenning/provider");
|
|
1735
|
+
var import_provider_utils7 = require("@ai-sdk/provider-utils");
|
|
1702
1736
|
function getRetryDelayInMs({
|
|
1703
1737
|
error,
|
|
1704
1738
|
exponentialBackoffDelay
|
|
@@ -1748,13 +1782,13 @@ async function _retryWithExponentialBackoff(f, {
|
|
|
1748
1782
|
try {
|
|
1749
1783
|
return await f();
|
|
1750
1784
|
} catch (error) {
|
|
1751
|
-
if ((0,
|
|
1785
|
+
if ((0, import_provider_utils7.isAbortError)(error)) {
|
|
1752
1786
|
throw error;
|
|
1753
1787
|
}
|
|
1754
1788
|
if (maxRetries === 0) {
|
|
1755
1789
|
throw error;
|
|
1756
1790
|
}
|
|
1757
|
-
const errorMessage = (0,
|
|
1791
|
+
const errorMessage = (0, import_provider_utils7.getErrorMessage)(error);
|
|
1758
1792
|
const newErrors = [...errors, error];
|
|
1759
1793
|
const tryNumber = newErrors.length;
|
|
1760
1794
|
if (tryNumber > maxRetries) {
|
|
@@ -1765,7 +1799,7 @@ async function _retryWithExponentialBackoff(f, {
|
|
|
1765
1799
|
});
|
|
1766
1800
|
}
|
|
1767
1801
|
if (error instanceof Error && import_provider21.APICallError.isInstance(error) && error.isRetryable === true && tryNumber <= maxRetries) {
|
|
1768
|
-
await (0,
|
|
1802
|
+
await (0, import_provider_utils7.delay)(
|
|
1769
1803
|
getRetryDelayInMs({
|
|
1770
1804
|
error,
|
|
1771
1805
|
exponentialBackoffDelay: delayInMs
|
|
@@ -1837,7 +1871,7 @@ function extractTextContent(content) {
|
|
|
1837
1871
|
}
|
|
1838
1872
|
|
|
1839
1873
|
// src/generate-text/generated-file.ts
|
|
1840
|
-
var
|
|
1874
|
+
var import_provider_utils8 = require("@ai-sdk/provider-utils");
|
|
1841
1875
|
var DefaultGeneratedFile = class {
|
|
1842
1876
|
constructor({
|
|
1843
1877
|
data,
|
|
@@ -1851,14 +1885,14 @@ var DefaultGeneratedFile = class {
|
|
|
1851
1885
|
// lazy conversion with caching to avoid unnecessary conversion overhead:
|
|
1852
1886
|
get base64() {
|
|
1853
1887
|
if (this.base64Data == null) {
|
|
1854
|
-
this.base64Data = (0,
|
|
1888
|
+
this.base64Data = (0, import_provider_utils8.convertUint8ArrayToBase64)(this.uint8ArrayData);
|
|
1855
1889
|
}
|
|
1856
1890
|
return this.base64Data;
|
|
1857
1891
|
}
|
|
1858
1892
|
// lazy conversion with caching to avoid unnecessary conversion overhead:
|
|
1859
1893
|
get uint8Array() {
|
|
1860
1894
|
if (this.uint8ArrayData == null) {
|
|
1861
|
-
this.uint8ArrayData = (0,
|
|
1895
|
+
this.uint8ArrayData = (0, import_provider_utils8.convertBase64ToUint8Array)(this.base64Data);
|
|
1862
1896
|
}
|
|
1863
1897
|
return this.uint8ArrayData;
|
|
1864
1898
|
}
|
|
@@ -1871,7 +1905,7 @@ var DefaultGeneratedFileWithType = class extends DefaultGeneratedFile {
|
|
|
1871
1905
|
};
|
|
1872
1906
|
|
|
1873
1907
|
// src/generate-text/parse-tool-call.ts
|
|
1874
|
-
var
|
|
1908
|
+
var import_provider_utils9 = require("@ai-sdk/provider-utils");
|
|
1875
1909
|
async function parseToolCall({
|
|
1876
1910
|
toolCall,
|
|
1877
1911
|
tools,
|
|
@@ -1896,7 +1930,7 @@ async function parseToolCall({
|
|
|
1896
1930
|
tools,
|
|
1897
1931
|
inputSchema: ({ toolName }) => {
|
|
1898
1932
|
const { inputSchema } = tools[toolName];
|
|
1899
|
-
return (0,
|
|
1933
|
+
return (0, import_provider_utils9.asSchema)(inputSchema).jsonSchema;
|
|
1900
1934
|
},
|
|
1901
1935
|
system,
|
|
1902
1936
|
messages,
|
|
@@ -1914,7 +1948,7 @@ async function parseToolCall({
|
|
|
1914
1948
|
return await doParseToolCall({ toolCall: repairedToolCall, tools });
|
|
1915
1949
|
}
|
|
1916
1950
|
} catch (error) {
|
|
1917
|
-
const parsedInput = await (0,
|
|
1951
|
+
const parsedInput = await (0, import_provider_utils9.safeParseJSON)({ text: toolCall.input });
|
|
1918
1952
|
const input = parsedInput.success ? parsedInput.value : toolCall.input;
|
|
1919
1953
|
return {
|
|
1920
1954
|
type: "tool-call",
|
|
@@ -1939,8 +1973,8 @@ async function doParseToolCall({
|
|
|
1939
1973
|
availableTools: Object.keys(tools)
|
|
1940
1974
|
});
|
|
1941
1975
|
}
|
|
1942
|
-
const schema = (0,
|
|
1943
|
-
const parseResult = toolCall.input.trim() === "" ? await (0,
|
|
1976
|
+
const schema = (0, import_provider_utils9.asSchema)(tool3.inputSchema);
|
|
1977
|
+
const parseResult = toolCall.input.trim() === "" ? await (0, import_provider_utils9.safeValidateTypes)({ value: {}, schema }) : await (0, import_provider_utils9.safeParseJSON)({ text: toolCall.input, schema });
|
|
1944
1978
|
if (parseResult.success === false) {
|
|
1945
1979
|
throw new InvalidToolInputError({
|
|
1946
1980
|
toolName,
|
|
@@ -2005,7 +2039,7 @@ var DefaultStepResult = class {
|
|
|
2005
2039
|
}
|
|
2006
2040
|
get staticToolCalls() {
|
|
2007
2041
|
return this.toolCalls.filter(
|
|
2008
|
-
(toolCall) => toolCall.dynamic
|
|
2042
|
+
(toolCall) => toolCall.dynamic !== true
|
|
2009
2043
|
);
|
|
2010
2044
|
}
|
|
2011
2045
|
get dynamicToolCalls() {
|
|
@@ -2018,7 +2052,7 @@ var DefaultStepResult = class {
|
|
|
2018
2052
|
}
|
|
2019
2053
|
get staticToolResults() {
|
|
2020
2054
|
return this.toolResults.filter(
|
|
2021
|
-
(toolResult) => toolResult.dynamic
|
|
2055
|
+
(toolResult) => toolResult.dynamic !== true
|
|
2022
2056
|
);
|
|
2023
2057
|
}
|
|
2024
2058
|
get dynamicToolResults() {
|
|
@@ -2048,7 +2082,7 @@ async function isStopConditionMet({
|
|
|
2048
2082
|
}
|
|
2049
2083
|
|
|
2050
2084
|
// src/prompt/create-tool-model-output.ts
|
|
2051
|
-
var import_provider22 = require("@
|
|
2085
|
+
var import_provider22 = require("@zenning/provider");
|
|
2052
2086
|
function createToolModelOutput({
|
|
2053
2087
|
output,
|
|
2054
2088
|
tool: tool3,
|
|
@@ -2159,7 +2193,7 @@ function toResponseMessages({
|
|
|
2159
2193
|
}
|
|
2160
2194
|
|
|
2161
2195
|
// src/generate-text/generate-text.ts
|
|
2162
|
-
var originalGenerateId = (0,
|
|
2196
|
+
var originalGenerateId = (0, import_provider_utils10.createIdGenerator)({
|
|
2163
2197
|
prefix: "aitxt",
|
|
2164
2198
|
size: 24
|
|
2165
2199
|
});
|
|
@@ -2198,10 +2232,14 @@ async function generateText({
|
|
|
2198
2232
|
abortSignal
|
|
2199
2233
|
});
|
|
2200
2234
|
const callSettings = prepareCallSettings(settings);
|
|
2235
|
+
const headersWithUserAgent = (0, import_provider_utils10.withUserAgentSuffix)(
|
|
2236
|
+
headers != null ? headers : {},
|
|
2237
|
+
`ai/${VERSION}`
|
|
2238
|
+
);
|
|
2201
2239
|
const baseTelemetryAttributes = getBaseTelemetryAttributes({
|
|
2202
2240
|
model,
|
|
2203
2241
|
telemetry,
|
|
2204
|
-
headers,
|
|
2242
|
+
headers: headersWithUserAgent,
|
|
2205
2243
|
settings: { ...callSettings, maxRetries }
|
|
2206
2244
|
});
|
|
2207
2245
|
const initialPrompt = await standardizePrompt({
|
|
@@ -2316,7 +2354,7 @@ async function generateText({
|
|
|
2316
2354
|
prompt: promptMessages,
|
|
2317
2355
|
providerOptions,
|
|
2318
2356
|
abortSignal,
|
|
2319
|
-
headers
|
|
2357
|
+
headers: headersWithUserAgent
|
|
2320
2358
|
});
|
|
2321
2359
|
const responseData = {
|
|
2322
2360
|
id: (_b2 = (_a19 = result.response) == null ? void 0 : _a19.id) != null ? _b2 : generateId3(),
|
|
@@ -2400,7 +2438,7 @@ async function generateText({
|
|
|
2400
2438
|
toolCallId: toolCall.toolCallId,
|
|
2401
2439
|
toolName: toolCall.toolName,
|
|
2402
2440
|
input: toolCall.input,
|
|
2403
|
-
error: (0,
|
|
2441
|
+
error: (0, import_provider_utils10.getErrorMessage)(toolCall.error),
|
|
2404
2442
|
dynamic: true
|
|
2405
2443
|
});
|
|
2406
2444
|
}
|
|
@@ -2530,7 +2568,7 @@ async function executeTools({
|
|
|
2530
2568
|
tracer,
|
|
2531
2569
|
fn: async (span) => {
|
|
2532
2570
|
try {
|
|
2533
|
-
const stream = (0,
|
|
2571
|
+
const stream = (0, import_provider_utils10.executeTool)({
|
|
2534
2572
|
execute: tool3.execute.bind(tool3),
|
|
2535
2573
|
input,
|
|
2536
2574
|
options: {
|
|
@@ -2740,8 +2778,8 @@ function asContent({
|
|
|
2740
2778
|
}
|
|
2741
2779
|
|
|
2742
2780
|
// src/generate-text/stream-text.ts
|
|
2743
|
-
var import_provider23 = require("@
|
|
2744
|
-
var
|
|
2781
|
+
var import_provider23 = require("@zenning/provider");
|
|
2782
|
+
var import_provider_utils14 = require("@ai-sdk/provider-utils");
|
|
2745
2783
|
|
|
2746
2784
|
// src/util/prepare-headers.ts
|
|
2747
2785
|
function prepareHeaders(headers, defaultHeaders) {
|
|
@@ -2878,7 +2916,7 @@ function getResponseUIMessageId({
|
|
|
2878
2916
|
}
|
|
2879
2917
|
|
|
2880
2918
|
// src/ui/process-ui-message-stream.ts
|
|
2881
|
-
var
|
|
2919
|
+
var import_provider_utils12 = require("@ai-sdk/provider-utils");
|
|
2882
2920
|
|
|
2883
2921
|
// src/ui-message-stream/ui-message-chunks.ts
|
|
2884
2922
|
var import_v47 = require("zod/v4");
|
|
@@ -2984,6 +3022,9 @@ var uiMessageChunkSchema = import_v47.z.union([
|
|
|
2984
3022
|
type: import_v47.z.literal("source-document"),
|
|
2985
3023
|
sourceId: import_v47.z.string(),
|
|
2986
3024
|
mediaType: import_v47.z.string(),
|
|
3025
|
+
fileId: import_v47.z.string().optional(),
|
|
3026
|
+
startIndex: import_v47.z.number().optional(),
|
|
3027
|
+
endIndex: import_v47.z.number().optional(),
|
|
2987
3028
|
title: import_v47.z.string(),
|
|
2988
3029
|
filename: import_v47.z.string().optional(),
|
|
2989
3030
|
providerMetadata: providerMetadataSchema.optional()
|
|
@@ -3061,7 +3102,7 @@ function mergeObjects(base, overrides) {
|
|
|
3061
3102
|
}
|
|
3062
3103
|
|
|
3063
3104
|
// src/util/parse-partial-json.ts
|
|
3064
|
-
var
|
|
3105
|
+
var import_provider_utils11 = require("@ai-sdk/provider-utils");
|
|
3065
3106
|
|
|
3066
3107
|
// src/util/fix-json.ts
|
|
3067
3108
|
function fixJson(input) {
|
|
@@ -3386,11 +3427,11 @@ async function parsePartialJson(jsonText) {
|
|
|
3386
3427
|
if (jsonText === void 0) {
|
|
3387
3428
|
return { value: void 0, state: "undefined-input" };
|
|
3388
3429
|
}
|
|
3389
|
-
let result = await (0,
|
|
3430
|
+
let result = await (0, import_provider_utils11.safeParseJSON)({ text: jsonText });
|
|
3390
3431
|
if (result.success) {
|
|
3391
3432
|
return { value: result.value, state: "successful-parse" };
|
|
3392
3433
|
}
|
|
3393
|
-
result = await (0,
|
|
3434
|
+
result = await (0, import_provider_utils11.safeParseJSON)({ text: fixJson(jsonText) });
|
|
3394
3435
|
if (result.success) {
|
|
3395
3436
|
return { value: result.value, state: "repaired-parse" };
|
|
3396
3437
|
}
|
|
@@ -3542,7 +3583,7 @@ function processUIMessageStream({
|
|
|
3542
3583
|
if (metadata != null) {
|
|
3543
3584
|
const mergedMetadata = state.message.metadata != null ? mergeObjects(state.message.metadata, metadata) : metadata;
|
|
3544
3585
|
if (messageMetadataSchema != null) {
|
|
3545
|
-
await (0,
|
|
3586
|
+
await (0, import_provider_utils12.validateTypes)({
|
|
3546
3587
|
value: mergedMetadata,
|
|
3547
3588
|
schema: messageMetadataSchema
|
|
3548
3589
|
});
|
|
@@ -3632,6 +3673,9 @@ function processUIMessageStream({
|
|
|
3632
3673
|
mediaType: chunk.mediaType,
|
|
3633
3674
|
title: chunk.title,
|
|
3634
3675
|
filename: chunk.filename,
|
|
3676
|
+
fileId: chunk.fileId,
|
|
3677
|
+
startIndex: chunk.startIndex,
|
|
3678
|
+
endIndex: chunk.endIndex,
|
|
3635
3679
|
providerMetadata: chunk.providerMetadata
|
|
3636
3680
|
});
|
|
3637
3681
|
write();
|
|
@@ -3863,7 +3907,7 @@ function processUIMessageStream({
|
|
|
3863
3907
|
default: {
|
|
3864
3908
|
if (isDataUIMessageChunk(chunk)) {
|
|
3865
3909
|
if ((dataPartSchemas == null ? void 0 : dataPartSchemas[chunk.type]) != null) {
|
|
3866
|
-
await (0,
|
|
3910
|
+
await (0, import_provider_utils12.validateTypes)({
|
|
3867
3911
|
value: chunk.data,
|
|
3868
3912
|
schema: dataPartSchemas[chunk.type]
|
|
3869
3913
|
});
|
|
@@ -4219,7 +4263,7 @@ function now() {
|
|
|
4219
4263
|
}
|
|
4220
4264
|
|
|
4221
4265
|
// src/generate-text/run-tools-transformation.ts
|
|
4222
|
-
var
|
|
4266
|
+
var import_provider_utils13 = require("@ai-sdk/provider-utils");
|
|
4223
4267
|
function runToolsTransformation({
|
|
4224
4268
|
tools,
|
|
4225
4269
|
generatorStream,
|
|
@@ -4305,7 +4349,7 @@ function runToolsTransformation({
|
|
|
4305
4349
|
toolCallId: toolCall.toolCallId,
|
|
4306
4350
|
toolName: toolCall.toolName,
|
|
4307
4351
|
input: toolCall.input,
|
|
4308
|
-
error: (0,
|
|
4352
|
+
error: (0, import_provider_utils13.getErrorMessage)(toolCall.error),
|
|
4309
4353
|
dynamic: true
|
|
4310
4354
|
});
|
|
4311
4355
|
break;
|
|
@@ -4322,7 +4366,7 @@ function runToolsTransformation({
|
|
|
4322
4366
|
});
|
|
4323
4367
|
}
|
|
4324
4368
|
if (tool3.execute != null && toolCall.providerExecuted !== true) {
|
|
4325
|
-
const toolExecutionId = (0,
|
|
4369
|
+
const toolExecutionId = (0, import_provider_utils13.generateId)();
|
|
4326
4370
|
outstandingToolResults.add(toolExecutionId);
|
|
4327
4371
|
recordSpan({
|
|
4328
4372
|
name: "ai.toolCall",
|
|
@@ -4344,7 +4388,7 @@ function runToolsTransformation({
|
|
|
4344
4388
|
fn: async (span) => {
|
|
4345
4389
|
let output;
|
|
4346
4390
|
try {
|
|
4347
|
-
const stream = (0,
|
|
4391
|
+
const stream = (0, import_provider_utils13.executeTool)({
|
|
4348
4392
|
execute: tool3.execute.bind(tool3),
|
|
4349
4393
|
input: toolCall.input,
|
|
4350
4394
|
options: {
|
|
@@ -4463,7 +4507,7 @@ function runToolsTransformation({
|
|
|
4463
4507
|
}
|
|
4464
4508
|
|
|
4465
4509
|
// src/generate-text/stream-text.ts
|
|
4466
|
-
var originalGenerateId2 = (0,
|
|
4510
|
+
var originalGenerateId2 = (0, import_provider_utils14.createIdGenerator)({
|
|
4467
4511
|
prefix: "aitxt",
|
|
4468
4512
|
size: 24
|
|
4469
4513
|
});
|
|
@@ -4873,7 +4917,7 @@ var DefaultStreamTextResult = class {
|
|
|
4873
4917
|
}
|
|
4874
4918
|
controller.enqueue(value);
|
|
4875
4919
|
} catch (error) {
|
|
4876
|
-
if ((0,
|
|
4920
|
+
if ((0, import_provider_utils14.isAbortError)(error) && (abortSignal == null ? void 0 : abortSignal.aborted)) {
|
|
4877
4921
|
abort();
|
|
4878
4922
|
} else {
|
|
4879
4923
|
controller.error(error);
|
|
@@ -5566,6 +5610,9 @@ var DefaultStreamTextResult = class {
|
|
|
5566
5610
|
mediaType: part.mediaType,
|
|
5567
5611
|
title: part.title,
|
|
5568
5612
|
filename: part.filename,
|
|
5613
|
+
fileId: part.fileId,
|
|
5614
|
+
startIndex: part.startIndex,
|
|
5615
|
+
endIndex: part.endIndex,
|
|
5569
5616
|
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}
|
|
5570
5617
|
});
|
|
5571
5618
|
}
|
|
@@ -5993,6 +6040,7 @@ var Agent = class {
|
|
|
5993
6040
|
};
|
|
5994
6041
|
|
|
5995
6042
|
// src/embed/embed.ts
|
|
6043
|
+
var import_provider_utils15 = require("@ai-sdk/provider-utils");
|
|
5996
6044
|
async function embed({
|
|
5997
6045
|
model: modelArg,
|
|
5998
6046
|
value,
|
|
@@ -6007,10 +6055,14 @@ async function embed({
|
|
|
6007
6055
|
maxRetries: maxRetriesArg,
|
|
6008
6056
|
abortSignal
|
|
6009
6057
|
});
|
|
6058
|
+
const headersWithUserAgent = (0, import_provider_utils15.withUserAgentSuffix)(
|
|
6059
|
+
headers != null ? headers : {},
|
|
6060
|
+
`ai/${VERSION}`
|
|
6061
|
+
);
|
|
6010
6062
|
const baseTelemetryAttributes = getBaseTelemetryAttributes({
|
|
6011
6063
|
model,
|
|
6012
6064
|
telemetry,
|
|
6013
|
-
headers,
|
|
6065
|
+
headers: headersWithUserAgent,
|
|
6014
6066
|
settings: { maxRetries }
|
|
6015
6067
|
});
|
|
6016
6068
|
const tracer = getTracer(telemetry);
|
|
@@ -6049,7 +6101,7 @@ async function embed({
|
|
|
6049
6101
|
const modelResponse = await model.doEmbed({
|
|
6050
6102
|
values: [value],
|
|
6051
6103
|
abortSignal,
|
|
6052
|
-
headers,
|
|
6104
|
+
headers: headersWithUserAgent,
|
|
6053
6105
|
providerOptions
|
|
6054
6106
|
});
|
|
6055
6107
|
const embedding2 = modelResponse.embeddings[0];
|
|
@@ -6106,6 +6158,9 @@ var DefaultEmbedResult = class {
|
|
|
6106
6158
|
}
|
|
6107
6159
|
};
|
|
6108
6160
|
|
|
6161
|
+
// src/embed/embed-many.ts
|
|
6162
|
+
var import_provider_utils16 = require("@ai-sdk/provider-utils");
|
|
6163
|
+
|
|
6109
6164
|
// src/util/split-array.ts
|
|
6110
6165
|
function splitArray(array, chunkSize) {
|
|
6111
6166
|
if (chunkSize <= 0) {
|
|
@@ -6134,10 +6189,14 @@ async function embedMany({
|
|
|
6134
6189
|
maxRetries: maxRetriesArg,
|
|
6135
6190
|
abortSignal
|
|
6136
6191
|
});
|
|
6192
|
+
const headersWithUserAgent = (0, import_provider_utils16.withUserAgentSuffix)(
|
|
6193
|
+
headers != null ? headers : {},
|
|
6194
|
+
`ai/${VERSION}`
|
|
6195
|
+
);
|
|
6137
6196
|
const baseTelemetryAttributes = getBaseTelemetryAttributes({
|
|
6138
6197
|
model,
|
|
6139
6198
|
telemetry,
|
|
6140
|
-
headers,
|
|
6199
|
+
headers: headersWithUserAgent,
|
|
6141
6200
|
settings: { maxRetries }
|
|
6142
6201
|
});
|
|
6143
6202
|
const tracer = getTracer(telemetry);
|
|
@@ -6186,7 +6245,7 @@ async function embedMany({
|
|
|
6186
6245
|
const modelResponse = await model.doEmbed({
|
|
6187
6246
|
values,
|
|
6188
6247
|
abortSignal,
|
|
6189
|
-
headers,
|
|
6248
|
+
headers: headersWithUserAgent,
|
|
6190
6249
|
providerOptions
|
|
6191
6250
|
});
|
|
6192
6251
|
const embeddings3 = modelResponse.embeddings;
|
|
@@ -6268,7 +6327,7 @@ async function embedMany({
|
|
|
6268
6327
|
const modelResponse = await model.doEmbed({
|
|
6269
6328
|
values: chunk,
|
|
6270
6329
|
abortSignal,
|
|
6271
|
-
headers,
|
|
6330
|
+
headers: headersWithUserAgent,
|
|
6272
6331
|
providerOptions
|
|
6273
6332
|
});
|
|
6274
6333
|
const embeddings2 = modelResponse.embeddings;
|
|
@@ -6349,6 +6408,7 @@ var DefaultEmbedManyResult = class {
|
|
|
6349
6408
|
};
|
|
6350
6409
|
|
|
6351
6410
|
// src/generate-image/generate-image.ts
|
|
6411
|
+
var import_provider_utils17 = require("@ai-sdk/provider-utils");
|
|
6352
6412
|
async function generateImage({
|
|
6353
6413
|
model,
|
|
6354
6414
|
prompt,
|
|
@@ -6370,6 +6430,10 @@ async function generateImage({
|
|
|
6370
6430
|
modelId: model.modelId
|
|
6371
6431
|
});
|
|
6372
6432
|
}
|
|
6433
|
+
const headersWithUserAgent = (0, import_provider_utils17.withUserAgentSuffix)(
|
|
6434
|
+
headers != null ? headers : {},
|
|
6435
|
+
`ai/${VERSION}`
|
|
6436
|
+
);
|
|
6373
6437
|
const { retry } = prepareRetries({
|
|
6374
6438
|
maxRetries: maxRetriesArg,
|
|
6375
6439
|
abortSignal
|
|
@@ -6390,7 +6454,7 @@ async function generateImage({
|
|
|
6390
6454
|
prompt,
|
|
6391
6455
|
n: callImageCount,
|
|
6392
6456
|
abortSignal,
|
|
6393
|
-
headers,
|
|
6457
|
+
headers: headersWithUserAgent,
|
|
6394
6458
|
size,
|
|
6395
6459
|
aspectRatio,
|
|
6396
6460
|
seed,
|
|
@@ -6462,7 +6526,7 @@ async function invokeModelMaxImagesPerCall(model) {
|
|
|
6462
6526
|
}
|
|
6463
6527
|
|
|
6464
6528
|
// src/generate-object/generate-object.ts
|
|
6465
|
-
var
|
|
6529
|
+
var import_provider_utils20 = require("@ai-sdk/provider-utils");
|
|
6466
6530
|
|
|
6467
6531
|
// src/generate-text/extract-reasoning-content.ts
|
|
6468
6532
|
function extractReasoningContent(content) {
|
|
@@ -6473,8 +6537,8 @@ function extractReasoningContent(content) {
|
|
|
6473
6537
|
}
|
|
6474
6538
|
|
|
6475
6539
|
// src/generate-object/output-strategy.ts
|
|
6476
|
-
var import_provider24 = require("@
|
|
6477
|
-
var
|
|
6540
|
+
var import_provider24 = require("@zenning/provider");
|
|
6541
|
+
var import_provider_utils18 = require("@ai-sdk/provider-utils");
|
|
6478
6542
|
var noSchemaOutputStrategy = {
|
|
6479
6543
|
type: "no-schema",
|
|
6480
6544
|
jsonSchema: void 0,
|
|
@@ -6513,7 +6577,7 @@ var objectOutputStrategy = (schema) => ({
|
|
|
6513
6577
|
};
|
|
6514
6578
|
},
|
|
6515
6579
|
async validateFinalResult(value) {
|
|
6516
|
-
return (0,
|
|
6580
|
+
return (0, import_provider_utils18.safeValidateTypes)({ value, schema });
|
|
6517
6581
|
},
|
|
6518
6582
|
createElementStream() {
|
|
6519
6583
|
throw new import_provider24.UnsupportedFunctionalityError({
|
|
@@ -6557,7 +6621,7 @@ var arrayOutputStrategy = (schema) => {
|
|
|
6557
6621
|
const resultArray = [];
|
|
6558
6622
|
for (let i = 0; i < inputArray.length; i++) {
|
|
6559
6623
|
const element = inputArray[i];
|
|
6560
|
-
const result = await (0,
|
|
6624
|
+
const result = await (0, import_provider_utils18.safeValidateTypes)({ value: element, schema });
|
|
6561
6625
|
if (i === inputArray.length - 1 && !isFinalDelta) {
|
|
6562
6626
|
continue;
|
|
6563
6627
|
}
|
|
@@ -6598,7 +6662,7 @@ var arrayOutputStrategy = (schema) => {
|
|
|
6598
6662
|
}
|
|
6599
6663
|
const inputArray = value.elements;
|
|
6600
6664
|
for (const element of inputArray) {
|
|
6601
|
-
const result = await (0,
|
|
6665
|
+
const result = await (0, import_provider_utils18.safeValidateTypes)({ value: element, schema });
|
|
6602
6666
|
if (!result.success) {
|
|
6603
6667
|
return result;
|
|
6604
6668
|
}
|
|
@@ -6716,9 +6780,9 @@ function getOutputStrategy({
|
|
|
6716
6780
|
}) {
|
|
6717
6781
|
switch (output) {
|
|
6718
6782
|
case "object":
|
|
6719
|
-
return objectOutputStrategy((0,
|
|
6783
|
+
return objectOutputStrategy((0, import_provider_utils18.asSchema)(schema));
|
|
6720
6784
|
case "array":
|
|
6721
|
-
return arrayOutputStrategy((0,
|
|
6785
|
+
return arrayOutputStrategy((0, import_provider_utils18.asSchema)(schema));
|
|
6722
6786
|
case "enum":
|
|
6723
6787
|
return enumOutputStrategy(enumValues);
|
|
6724
6788
|
case "no-schema":
|
|
@@ -6731,10 +6795,10 @@ function getOutputStrategy({
|
|
|
6731
6795
|
}
|
|
6732
6796
|
|
|
6733
6797
|
// src/generate-object/parse-and-validate-object-result.ts
|
|
6734
|
-
var import_provider25 = require("@
|
|
6735
|
-
var
|
|
6798
|
+
var import_provider25 = require("@zenning/provider");
|
|
6799
|
+
var import_provider_utils19 = require("@ai-sdk/provider-utils");
|
|
6736
6800
|
async function parseAndValidateObjectResult(result, outputStrategy, context) {
|
|
6737
|
-
const parseResult = await (0,
|
|
6801
|
+
const parseResult = await (0, import_provider_utils19.safeParseJSON)({ text: result });
|
|
6738
6802
|
if (!parseResult.success) {
|
|
6739
6803
|
throw new NoObjectGeneratedError({
|
|
6740
6804
|
message: "No object generated: could not parse the response.",
|
|
@@ -6906,7 +6970,7 @@ function validateObjectGenerationInput({
|
|
|
6906
6970
|
}
|
|
6907
6971
|
|
|
6908
6972
|
// src/generate-object/generate-object.ts
|
|
6909
|
-
var originalGenerateId3 = (0,
|
|
6973
|
+
var originalGenerateId3 = (0, import_provider_utils20.createIdGenerator)({ prefix: "aiobj", size: 24 });
|
|
6910
6974
|
async function generateObject(options) {
|
|
6911
6975
|
const {
|
|
6912
6976
|
model: modelArg,
|
|
@@ -6951,10 +7015,14 @@ async function generateObject(options) {
|
|
|
6951
7015
|
enumValues
|
|
6952
7016
|
});
|
|
6953
7017
|
const callSettings = prepareCallSettings(settings);
|
|
7018
|
+
const headersWithUserAgent = (0, import_provider_utils20.withUserAgentSuffix)(
|
|
7019
|
+
headers != null ? headers : {},
|
|
7020
|
+
`ai/${VERSION}`
|
|
7021
|
+
);
|
|
6954
7022
|
const baseTelemetryAttributes = getBaseTelemetryAttributes({
|
|
6955
7023
|
model,
|
|
6956
7024
|
telemetry,
|
|
6957
|
-
headers,
|
|
7025
|
+
headers: headersWithUserAgent,
|
|
6958
7026
|
settings: { ...callSettings, maxRetries }
|
|
6959
7027
|
});
|
|
6960
7028
|
const tracer = getTracer(telemetry);
|
|
@@ -7039,7 +7107,7 @@ async function generateObject(options) {
|
|
|
7039
7107
|
prompt: promptMessages,
|
|
7040
7108
|
providerOptions,
|
|
7041
7109
|
abortSignal,
|
|
7042
|
-
headers
|
|
7110
|
+
headers: headersWithUserAgent
|
|
7043
7111
|
});
|
|
7044
7112
|
const responseData = {
|
|
7045
7113
|
id: (_b = (_a18 = result2.response) == null ? void 0 : _a18.id) != null ? _b : generateId3(),
|
|
@@ -7166,7 +7234,7 @@ var DefaultGenerateObjectResult = class {
|
|
|
7166
7234
|
};
|
|
7167
7235
|
|
|
7168
7236
|
// src/generate-object/stream-object.ts
|
|
7169
|
-
var
|
|
7237
|
+
var import_provider_utils22 = require("@ai-sdk/provider-utils");
|
|
7170
7238
|
|
|
7171
7239
|
// src/util/cosine-similarity.ts
|
|
7172
7240
|
function cosineSimilarity(vector1, vector2) {
|
|
@@ -7276,7 +7344,7 @@ var SerialJobExecutor = class {
|
|
|
7276
7344
|
};
|
|
7277
7345
|
|
|
7278
7346
|
// src/util/simulate-readable-stream.ts
|
|
7279
|
-
var
|
|
7347
|
+
var import_provider_utils21 = require("@ai-sdk/provider-utils");
|
|
7280
7348
|
function simulateReadableStream({
|
|
7281
7349
|
chunks,
|
|
7282
7350
|
initialDelayInMs = 0,
|
|
@@ -7284,7 +7352,7 @@ function simulateReadableStream({
|
|
|
7284
7352
|
_internal
|
|
7285
7353
|
}) {
|
|
7286
7354
|
var _a17;
|
|
7287
|
-
const delay2 = (_a17 = _internal == null ? void 0 : _internal.delay) != null ? _a17 :
|
|
7355
|
+
const delay2 = (_a17 = _internal == null ? void 0 : _internal.delay) != null ? _a17 : import_provider_utils21.delay;
|
|
7288
7356
|
let index = 0;
|
|
7289
7357
|
return new ReadableStream({
|
|
7290
7358
|
async pull(controller) {
|
|
@@ -7299,7 +7367,7 @@ function simulateReadableStream({
|
|
|
7299
7367
|
}
|
|
7300
7368
|
|
|
7301
7369
|
// src/generate-object/stream-object.ts
|
|
7302
|
-
var originalGenerateId4 = (0,
|
|
7370
|
+
var originalGenerateId4 = (0, import_provider_utils22.createIdGenerator)({ prefix: "aiobj", size: 24 });
|
|
7303
7371
|
function streamObject(options) {
|
|
7304
7372
|
const {
|
|
7305
7373
|
model,
|
|
@@ -7819,8 +7887,11 @@ var DefaultStreamObjectResult = class {
|
|
|
7819
7887
|
}
|
|
7820
7888
|
};
|
|
7821
7889
|
|
|
7890
|
+
// src/generate-speech/generate-speech.ts
|
|
7891
|
+
var import_provider_utils23 = require("@ai-sdk/provider-utils");
|
|
7892
|
+
|
|
7822
7893
|
// src/error/no-speech-generated-error.ts
|
|
7823
|
-
var import_provider26 = require("@
|
|
7894
|
+
var import_provider26 = require("@zenning/provider");
|
|
7824
7895
|
var NoSpeechGeneratedError = class extends import_provider26.AISDKError {
|
|
7825
7896
|
constructor(options) {
|
|
7826
7897
|
super({
|
|
@@ -7878,6 +7949,10 @@ async function generateSpeech({
|
|
|
7878
7949
|
modelId: model.modelId
|
|
7879
7950
|
});
|
|
7880
7951
|
}
|
|
7952
|
+
const headersWithUserAgent = (0, import_provider_utils23.withUserAgentSuffix)(
|
|
7953
|
+
headers != null ? headers : {},
|
|
7954
|
+
`ai/${VERSION}`
|
|
7955
|
+
);
|
|
7881
7956
|
const { retry } = prepareRetries({
|
|
7882
7957
|
maxRetries: maxRetriesArg,
|
|
7883
7958
|
abortSignal
|
|
@@ -7891,7 +7966,7 @@ async function generateSpeech({
|
|
|
7891
7966
|
speed,
|
|
7892
7967
|
language,
|
|
7893
7968
|
abortSignal,
|
|
7894
|
-
headers,
|
|
7969
|
+
headers: headersWithUserAgent,
|
|
7895
7970
|
providerOptions
|
|
7896
7971
|
})
|
|
7897
7972
|
);
|
|
@@ -7928,7 +8003,7 @@ __export(output_exports, {
|
|
|
7928
8003
|
object: () => object,
|
|
7929
8004
|
text: () => text
|
|
7930
8005
|
});
|
|
7931
|
-
var
|
|
8006
|
+
var import_provider_utils24 = require("@ai-sdk/provider-utils");
|
|
7932
8007
|
var text = () => ({
|
|
7933
8008
|
type: "text",
|
|
7934
8009
|
responseFormat: { type: "text" },
|
|
@@ -7942,7 +8017,7 @@ var text = () => ({
|
|
|
7942
8017
|
var object = ({
|
|
7943
8018
|
schema: inputSchema
|
|
7944
8019
|
}) => {
|
|
7945
|
-
const schema = (0,
|
|
8020
|
+
const schema = (0, import_provider_utils24.asSchema)(inputSchema);
|
|
7946
8021
|
return {
|
|
7947
8022
|
type: "object",
|
|
7948
8023
|
responseFormat: {
|
|
@@ -7968,7 +8043,7 @@ var object = ({
|
|
|
7968
8043
|
}
|
|
7969
8044
|
},
|
|
7970
8045
|
async parseOutput({ text: text2 }, context) {
|
|
7971
|
-
const parseResult = await (0,
|
|
8046
|
+
const parseResult = await (0, import_provider_utils24.safeParseJSON)({ text: text2 });
|
|
7972
8047
|
if (!parseResult.success) {
|
|
7973
8048
|
throw new NoObjectGeneratedError({
|
|
7974
8049
|
message: "No object generated: could not parse the response.",
|
|
@@ -7979,7 +8054,7 @@ var object = ({
|
|
|
7979
8054
|
finishReason: context.finishReason
|
|
7980
8055
|
});
|
|
7981
8056
|
}
|
|
7982
|
-
const validationResult = await (0,
|
|
8057
|
+
const validationResult = await (0, import_provider_utils24.safeValidateTypes)({
|
|
7983
8058
|
value: parseResult.value,
|
|
7984
8059
|
schema
|
|
7985
8060
|
});
|
|
@@ -7999,8 +8074,8 @@ var object = ({
|
|
|
7999
8074
|
};
|
|
8000
8075
|
|
|
8001
8076
|
// src/generate-text/smooth-stream.ts
|
|
8002
|
-
var
|
|
8003
|
-
var import_provider27 = require("@
|
|
8077
|
+
var import_provider_utils25 = require("@ai-sdk/provider-utils");
|
|
8078
|
+
var import_provider27 = require("@zenning/provider");
|
|
8004
8079
|
var CHUNKING_REGEXPS = {
|
|
8005
8080
|
word: /\S+\s+/m,
|
|
8006
8081
|
line: /\n+/m
|
|
@@ -8008,7 +8083,7 @@ var CHUNKING_REGEXPS = {
|
|
|
8008
8083
|
function smoothStream({
|
|
8009
8084
|
delayInMs = 10,
|
|
8010
8085
|
chunking = "word",
|
|
8011
|
-
_internal: { delay: delay2 =
|
|
8086
|
+
_internal: { delay: delay2 = import_provider_utils25.delay } = {}
|
|
8012
8087
|
} = {}) {
|
|
8013
8088
|
let detectChunk;
|
|
8014
8089
|
if (typeof chunking === "function") {
|
|
@@ -8402,7 +8477,7 @@ function wrapProvider({
|
|
|
8402
8477
|
}
|
|
8403
8478
|
|
|
8404
8479
|
// src/registry/custom-provider.ts
|
|
8405
|
-
var import_provider28 = require("@
|
|
8480
|
+
var import_provider28 = require("@zenning/provider");
|
|
8406
8481
|
function customProvider({
|
|
8407
8482
|
languageModels,
|
|
8408
8483
|
textEmbeddingModels,
|
|
@@ -8462,7 +8537,7 @@ function customProvider({
|
|
|
8462
8537
|
var experimental_customProvider = customProvider;
|
|
8463
8538
|
|
|
8464
8539
|
// src/registry/no-such-provider-error.ts
|
|
8465
|
-
var import_provider29 = require("@
|
|
8540
|
+
var import_provider29 = require("@zenning/provider");
|
|
8466
8541
|
var name16 = "AI_NoSuchProviderError";
|
|
8467
8542
|
var marker16 = `vercel.ai.error.${name16}`;
|
|
8468
8543
|
var symbol16 = Symbol.for(marker16);
|
|
@@ -8487,7 +8562,7 @@ var NoSuchProviderError = class extends import_provider29.NoSuchModelError {
|
|
|
8487
8562
|
_a16 = symbol16;
|
|
8488
8563
|
|
|
8489
8564
|
// src/registry/provider-registry.ts
|
|
8490
|
-
var import_provider30 = require("@
|
|
8565
|
+
var import_provider30 = require("@zenning/provider");
|
|
8491
8566
|
function createProviderRegistry(providers, {
|
|
8492
8567
|
separator = ":",
|
|
8493
8568
|
languageModelMiddleware
|
|
@@ -8607,10 +8682,10 @@ var DefaultProviderRegistry = class {
|
|
|
8607
8682
|
};
|
|
8608
8683
|
|
|
8609
8684
|
// src/tool/mcp/mcp-client.ts
|
|
8610
|
-
var
|
|
8685
|
+
var import_provider_utils27 = require("@ai-sdk/provider-utils");
|
|
8611
8686
|
|
|
8612
8687
|
// src/tool/mcp/mcp-sse-transport.ts
|
|
8613
|
-
var
|
|
8688
|
+
var import_provider_utils26 = require("@ai-sdk/provider-utils");
|
|
8614
8689
|
|
|
8615
8690
|
// src/tool/mcp/json-rpc-message.ts
|
|
8616
8691
|
var import_v49 = require("zod/v4");
|
|
@@ -8769,8 +8844,14 @@ var SseMCPTransport = class {
|
|
|
8769
8844
|
const establishConnection = async () => {
|
|
8770
8845
|
var _a17, _b, _c;
|
|
8771
8846
|
try {
|
|
8772
|
-
const headers =
|
|
8773
|
-
|
|
8847
|
+
const headers = (0, import_provider_utils26.withUserAgentSuffix)(
|
|
8848
|
+
{
|
|
8849
|
+
...this.headers,
|
|
8850
|
+
Accept: "text/event-stream"
|
|
8851
|
+
},
|
|
8852
|
+
`ai-sdk/${VERSION}`,
|
|
8853
|
+
(0, import_provider_utils26.getRuntimeEnvironmentUserAgent)()
|
|
8854
|
+
);
|
|
8774
8855
|
const response = await fetch(this.url.href, {
|
|
8775
8856
|
headers,
|
|
8776
8857
|
signal: (_a17 = this.abortController) == null ? void 0 : _a17.signal
|
|
@@ -8782,7 +8863,7 @@ var SseMCPTransport = class {
|
|
|
8782
8863
|
(_b = this.onerror) == null ? void 0 : _b.call(this, error);
|
|
8783
8864
|
return reject(error);
|
|
8784
8865
|
}
|
|
8785
|
-
const stream = response.body.pipeThrough(new TextDecoderStream()).pipeThrough(new
|
|
8866
|
+
const stream = response.body.pipeThrough(new TextDecoderStream()).pipeThrough(new import_provider_utils26.EventSourceParserStream());
|
|
8786
8867
|
const reader = stream.getReader();
|
|
8787
8868
|
const processEvents = async () => {
|
|
8788
8869
|
var _a18, _b2, _c2;
|
|
@@ -8861,8 +8942,14 @@ var SseMCPTransport = class {
|
|
|
8861
8942
|
});
|
|
8862
8943
|
}
|
|
8863
8944
|
try {
|
|
8864
|
-
const headers =
|
|
8865
|
-
|
|
8945
|
+
const headers = (0, import_provider_utils26.withUserAgentSuffix)(
|
|
8946
|
+
{
|
|
8947
|
+
...this.headers,
|
|
8948
|
+
"Content-Type": "application/json"
|
|
8949
|
+
},
|
|
8950
|
+
`ai-sdk/${VERSION}`,
|
|
8951
|
+
(0, import_provider_utils26.getRuntimeEnvironmentUserAgent)()
|
|
8952
|
+
);
|
|
8866
8953
|
const init = {
|
|
8867
8954
|
method: "POST",
|
|
8868
8955
|
headers,
|
|
@@ -9112,15 +9199,15 @@ var DefaultMCPClient = class {
|
|
|
9112
9199
|
(_a18 = options == null ? void 0 : options.abortSignal) == null ? void 0 : _a18.throwIfAborted();
|
|
9113
9200
|
return self.callTool({ name: name17, args, options });
|
|
9114
9201
|
};
|
|
9115
|
-
const toolWithExecute = schemas === "automatic" ? (0,
|
|
9202
|
+
const toolWithExecute = schemas === "automatic" ? (0, import_provider_utils27.dynamicTool)({
|
|
9116
9203
|
description,
|
|
9117
|
-
inputSchema: (0,
|
|
9204
|
+
inputSchema: (0, import_provider_utils27.jsonSchema)({
|
|
9118
9205
|
...inputSchema,
|
|
9119
9206
|
properties: (_a17 = inputSchema.properties) != null ? _a17 : {},
|
|
9120
9207
|
additionalProperties: false
|
|
9121
9208
|
}),
|
|
9122
9209
|
execute
|
|
9123
|
-
}) : (0,
|
|
9210
|
+
}) : (0, import_provider_utils27.tool)({
|
|
9124
9211
|
description,
|
|
9125
9212
|
inputSchema: schemas[name17].inputSchema,
|
|
9126
9213
|
execute
|
|
@@ -9169,8 +9256,11 @@ var DefaultMCPClient = class {
|
|
|
9169
9256
|
}
|
|
9170
9257
|
};
|
|
9171
9258
|
|
|
9259
|
+
// src/transcribe/transcribe.ts
|
|
9260
|
+
var import_provider_utils28 = require("@ai-sdk/provider-utils");
|
|
9261
|
+
|
|
9172
9262
|
// src/error/no-transcript-generated-error.ts
|
|
9173
|
-
var import_provider31 = require("@
|
|
9263
|
+
var import_provider31 = require("@zenning/provider");
|
|
9174
9264
|
var NoTranscriptGeneratedError = class extends import_provider31.AISDKError {
|
|
9175
9265
|
constructor(options) {
|
|
9176
9266
|
super({
|
|
@@ -9201,6 +9291,10 @@ async function transcribe({
|
|
|
9201
9291
|
maxRetries: maxRetriesArg,
|
|
9202
9292
|
abortSignal
|
|
9203
9293
|
});
|
|
9294
|
+
const headersWithUserAgent = (0, import_provider_utils28.withUserAgentSuffix)(
|
|
9295
|
+
headers != null ? headers : {},
|
|
9296
|
+
`ai/${VERSION}`
|
|
9297
|
+
);
|
|
9204
9298
|
const audioData = audio instanceof URL ? (await download({ url: audio })).data : convertDataContentToUint8Array(audio);
|
|
9205
9299
|
const result = await retry(
|
|
9206
9300
|
() => {
|
|
@@ -9208,7 +9302,7 @@ async function transcribe({
|
|
|
9208
9302
|
return model.doGenerate({
|
|
9209
9303
|
audio: audioData,
|
|
9210
9304
|
abortSignal,
|
|
9211
|
-
headers,
|
|
9305
|
+
headers: headersWithUserAgent,
|
|
9212
9306
|
providerOptions,
|
|
9213
9307
|
mediaType: (_a17 = detectMediaType({
|
|
9214
9308
|
data: audioData,
|
|
@@ -9245,7 +9339,7 @@ var DefaultTranscriptionResult = class {
|
|
|
9245
9339
|
};
|
|
9246
9340
|
|
|
9247
9341
|
// src/ui/call-completion-api.ts
|
|
9248
|
-
var
|
|
9342
|
+
var import_provider_utils29 = require("@ai-sdk/provider-utils");
|
|
9249
9343
|
|
|
9250
9344
|
// src/ui/process-text-stream.ts
|
|
9251
9345
|
async function processTextStream({
|
|
@@ -9293,10 +9387,14 @@ async function callCompletionApi({
|
|
|
9293
9387
|
...body
|
|
9294
9388
|
}),
|
|
9295
9389
|
credentials,
|
|
9296
|
-
headers:
|
|
9297
|
-
|
|
9298
|
-
|
|
9299
|
-
|
|
9390
|
+
headers: (0, import_provider_utils29.withUserAgentSuffix)(
|
|
9391
|
+
{
|
|
9392
|
+
"Content-Type": "application/json",
|
|
9393
|
+
...headers
|
|
9394
|
+
},
|
|
9395
|
+
`ai-sdk/${VERSION}`,
|
|
9396
|
+
(0, import_provider_utils29.getRuntimeEnvironmentUserAgent)()
|
|
9397
|
+
),
|
|
9300
9398
|
signal: abortController.signal
|
|
9301
9399
|
}).catch((err) => {
|
|
9302
9400
|
throw err;
|
|
@@ -9323,7 +9421,7 @@ async function callCompletionApi({
|
|
|
9323
9421
|
}
|
|
9324
9422
|
case "data": {
|
|
9325
9423
|
await consumeStream({
|
|
9326
|
-
stream: (0,
|
|
9424
|
+
stream: (0, import_provider_utils29.parseJsonEventStream)({
|
|
9327
9425
|
stream: response.body,
|
|
9328
9426
|
schema: uiMessageChunkSchema
|
|
9329
9427
|
}).pipeThrough(
|
|
@@ -9375,7 +9473,7 @@ async function callCompletionApi({
|
|
|
9375
9473
|
}
|
|
9376
9474
|
|
|
9377
9475
|
// src/ui/chat.ts
|
|
9378
|
-
var
|
|
9476
|
+
var import_provider_utils32 = require("@ai-sdk/provider-utils");
|
|
9379
9477
|
|
|
9380
9478
|
// src/ui/convert-file-list-to-file-ui-parts.ts
|
|
9381
9479
|
async function convertFileListToFileUIParts(files) {
|
|
@@ -9408,10 +9506,10 @@ async function convertFileListToFileUIParts(files) {
|
|
|
9408
9506
|
}
|
|
9409
9507
|
|
|
9410
9508
|
// src/ui/default-chat-transport.ts
|
|
9411
|
-
var
|
|
9509
|
+
var import_provider_utils31 = require("@ai-sdk/provider-utils");
|
|
9412
9510
|
|
|
9413
9511
|
// src/ui/http-chat-transport.ts
|
|
9414
|
-
var
|
|
9512
|
+
var import_provider_utils30 = require("@ai-sdk/provider-utils");
|
|
9415
9513
|
var HttpChatTransport = class {
|
|
9416
9514
|
constructor({
|
|
9417
9515
|
api = "/api/chat",
|
|
@@ -9435,9 +9533,9 @@ var HttpChatTransport = class {
|
|
|
9435
9533
|
...options
|
|
9436
9534
|
}) {
|
|
9437
9535
|
var _a17, _b, _c, _d, _e;
|
|
9438
|
-
const resolvedBody = await (0,
|
|
9439
|
-
const resolvedHeaders = await (0,
|
|
9440
|
-
const resolvedCredentials = await (0,
|
|
9536
|
+
const resolvedBody = await (0, import_provider_utils30.resolve)(this.body);
|
|
9537
|
+
const resolvedHeaders = await (0, import_provider_utils30.resolve)(this.headers);
|
|
9538
|
+
const resolvedCredentials = await (0, import_provider_utils30.resolve)(this.credentials);
|
|
9441
9539
|
const preparedRequest = await ((_a17 = this.prepareSendMessagesRequest) == null ? void 0 : _a17.call(this, {
|
|
9442
9540
|
api: this.api,
|
|
9443
9541
|
id: options.chatId,
|
|
@@ -9463,10 +9561,14 @@ var HttpChatTransport = class {
|
|
|
9463
9561
|
const fetch2 = (_d = this.fetch) != null ? _d : globalThis.fetch;
|
|
9464
9562
|
const response = await fetch2(api, {
|
|
9465
9563
|
method: "POST",
|
|
9466
|
-
headers:
|
|
9467
|
-
|
|
9468
|
-
|
|
9469
|
-
|
|
9564
|
+
headers: (0, import_provider_utils30.withUserAgentSuffix)(
|
|
9565
|
+
{
|
|
9566
|
+
"Content-Type": "application/json",
|
|
9567
|
+
...headers
|
|
9568
|
+
},
|
|
9569
|
+
`ai-sdk/${VERSION}`,
|
|
9570
|
+
(0, import_provider_utils30.getRuntimeEnvironmentUserAgent)()
|
|
9571
|
+
),
|
|
9470
9572
|
body: JSON.stringify(body),
|
|
9471
9573
|
credentials,
|
|
9472
9574
|
signal: abortSignal
|
|
@@ -9483,9 +9585,9 @@ var HttpChatTransport = class {
|
|
|
9483
9585
|
}
|
|
9484
9586
|
async reconnectToStream(options) {
|
|
9485
9587
|
var _a17, _b, _c, _d, _e;
|
|
9486
|
-
const resolvedBody = await (0,
|
|
9487
|
-
const resolvedHeaders = await (0,
|
|
9488
|
-
const resolvedCredentials = await (0,
|
|
9588
|
+
const resolvedBody = await (0, import_provider_utils30.resolve)(this.body);
|
|
9589
|
+
const resolvedHeaders = await (0, import_provider_utils30.resolve)(this.headers);
|
|
9590
|
+
const resolvedCredentials = await (0, import_provider_utils30.resolve)(this.credentials);
|
|
9489
9591
|
const preparedRequest = await ((_a17 = this.prepareReconnectToStreamRequest) == null ? void 0 : _a17.call(this, {
|
|
9490
9592
|
api: this.api,
|
|
9491
9593
|
id: options.chatId,
|
|
@@ -9500,7 +9602,11 @@ var HttpChatTransport = class {
|
|
|
9500
9602
|
const fetch2 = (_d = this.fetch) != null ? _d : globalThis.fetch;
|
|
9501
9603
|
const response = await fetch2(api, {
|
|
9502
9604
|
method: "GET",
|
|
9503
|
-
headers,
|
|
9605
|
+
headers: (0, import_provider_utils30.withUserAgentSuffix)(
|
|
9606
|
+
headers,
|
|
9607
|
+
`ai-sdk/${VERSION}`,
|
|
9608
|
+
(0, import_provider_utils30.getRuntimeEnvironmentUserAgent)()
|
|
9609
|
+
),
|
|
9504
9610
|
credentials
|
|
9505
9611
|
});
|
|
9506
9612
|
if (response.status === 204) {
|
|
@@ -9524,7 +9630,7 @@ var DefaultChatTransport = class extends HttpChatTransport {
|
|
|
9524
9630
|
super(options);
|
|
9525
9631
|
}
|
|
9526
9632
|
processResponseStream(stream) {
|
|
9527
|
-
return (0,
|
|
9633
|
+
return (0, import_provider_utils31.parseJsonEventStream)({
|
|
9528
9634
|
stream,
|
|
9529
9635
|
schema: uiMessageChunkSchema
|
|
9530
9636
|
}).pipeThrough(
|
|
@@ -9543,7 +9649,7 @@ var DefaultChatTransport = class extends HttpChatTransport {
|
|
|
9543
9649
|
// src/ui/chat.ts
|
|
9544
9650
|
var AbstractChat = class {
|
|
9545
9651
|
constructor({
|
|
9546
|
-
generateId: generateId3 =
|
|
9652
|
+
generateId: generateId3 = import_provider_utils32.generateId,
|
|
9547
9653
|
id = generateId3(),
|
|
9548
9654
|
transport = new DefaultChatTransport(),
|
|
9549
9655
|
messageMetadataSchema,
|
|
@@ -9973,8 +10079,8 @@ var TextStreamChatTransport = class extends HttpChatTransport {
|
|
|
9973
10079
|
};
|
|
9974
10080
|
|
|
9975
10081
|
// src/ui/validate-ui-messages.ts
|
|
9976
|
-
var import_provider32 = require("@
|
|
9977
|
-
var
|
|
10082
|
+
var import_provider32 = require("@zenning/provider");
|
|
10083
|
+
var import_provider_utils33 = require("@ai-sdk/provider-utils");
|
|
9978
10084
|
var import_v410 = require("zod/v4");
|
|
9979
10085
|
var textUIPartSchema = import_v410.z.object({
|
|
9980
10086
|
type: import_v410.z.literal("text"),
|
|
@@ -10001,6 +10107,9 @@ var sourceDocumentUIPartSchema = import_v410.z.object({
|
|
|
10001
10107
|
mediaType: import_v410.z.string(),
|
|
10002
10108
|
title: import_v410.z.string(),
|
|
10003
10109
|
filename: import_v410.z.string().optional(),
|
|
10110
|
+
fileId: import_v410.z.string().optional(),
|
|
10111
|
+
startIndex: import_v410.z.number().optional(),
|
|
10112
|
+
endIndex: import_v410.z.number().optional(),
|
|
10004
10113
|
providerMetadata: providerMetadataSchema.optional()
|
|
10005
10114
|
});
|
|
10006
10115
|
var fileUIPartSchema = import_v410.z.object({
|
|
@@ -10065,6 +10174,7 @@ var toolUIPartSchemas = [
|
|
|
10065
10174
|
type: import_v410.z.string().startsWith("tool-"),
|
|
10066
10175
|
toolCallId: import_v410.z.string(),
|
|
10067
10176
|
state: import_v410.z.literal("input-streaming"),
|
|
10177
|
+
providerExecuted: import_v410.z.boolean().optional(),
|
|
10068
10178
|
input: import_v410.z.unknown().optional(),
|
|
10069
10179
|
output: import_v410.z.never().optional(),
|
|
10070
10180
|
errorText: import_v410.z.never().optional()
|
|
@@ -10073,6 +10183,7 @@ var toolUIPartSchemas = [
|
|
|
10073
10183
|
type: import_v410.z.string().startsWith("tool-"),
|
|
10074
10184
|
toolCallId: import_v410.z.string(),
|
|
10075
10185
|
state: import_v410.z.literal("input-available"),
|
|
10186
|
+
providerExecuted: import_v410.z.boolean().optional(),
|
|
10076
10187
|
input: import_v410.z.unknown(),
|
|
10077
10188
|
output: import_v410.z.never().optional(),
|
|
10078
10189
|
errorText: import_v410.z.never().optional(),
|
|
@@ -10082,6 +10193,7 @@ var toolUIPartSchemas = [
|
|
|
10082
10193
|
type: import_v410.z.string().startsWith("tool-"),
|
|
10083
10194
|
toolCallId: import_v410.z.string(),
|
|
10084
10195
|
state: import_v410.z.literal("output-available"),
|
|
10196
|
+
providerExecuted: import_v410.z.boolean().optional(),
|
|
10085
10197
|
input: import_v410.z.unknown(),
|
|
10086
10198
|
output: import_v410.z.unknown(),
|
|
10087
10199
|
errorText: import_v410.z.never().optional(),
|
|
@@ -10092,6 +10204,7 @@ var toolUIPartSchemas = [
|
|
|
10092
10204
|
type: import_v410.z.string().startsWith("tool-"),
|
|
10093
10205
|
toolCallId: import_v410.z.string(),
|
|
10094
10206
|
state: import_v410.z.literal("output-error"),
|
|
10207
|
+
providerExecuted: import_v410.z.boolean().optional(),
|
|
10095
10208
|
input: import_v410.z.unknown(),
|
|
10096
10209
|
output: import_v410.z.never().optional(),
|
|
10097
10210
|
errorText: import_v410.z.string(),
|
|
@@ -10129,13 +10242,13 @@ async function validateUIMessages({
|
|
|
10129
10242
|
message: "messages parameter must be provided"
|
|
10130
10243
|
});
|
|
10131
10244
|
}
|
|
10132
|
-
const validatedMessages = await (0,
|
|
10245
|
+
const validatedMessages = await (0, import_provider_utils33.validateTypes)({
|
|
10133
10246
|
value: messages,
|
|
10134
10247
|
schema: import_v410.z.array(uiMessageSchema)
|
|
10135
10248
|
});
|
|
10136
10249
|
if (metadataSchema) {
|
|
10137
10250
|
for (const message of validatedMessages) {
|
|
10138
|
-
await (0,
|
|
10251
|
+
await (0, import_provider_utils33.validateTypes)({
|
|
10139
10252
|
value: message.metadata,
|
|
10140
10253
|
schema: metadataSchema
|
|
10141
10254
|
});
|
|
@@ -10155,7 +10268,7 @@ async function validateUIMessages({
|
|
|
10155
10268
|
cause: `No data schema found for data part ${dataName}`
|
|
10156
10269
|
});
|
|
10157
10270
|
}
|
|
10158
|
-
await (0,
|
|
10271
|
+
await (0, import_provider_utils33.validateTypes)({
|
|
10159
10272
|
value: dataPart.data,
|
|
10160
10273
|
schema: dataSchema
|
|
10161
10274
|
});
|
|
@@ -10177,13 +10290,13 @@ async function validateUIMessages({
|
|
|
10177
10290
|
});
|
|
10178
10291
|
}
|
|
10179
10292
|
if (toolPart.state === "input-available" || toolPart.state === "output-available" || toolPart.state === "output-error") {
|
|
10180
|
-
await (0,
|
|
10293
|
+
await (0, import_provider_utils33.validateTypes)({
|
|
10181
10294
|
value: toolPart.input,
|
|
10182
10295
|
schema: tool3.inputSchema
|
|
10183
10296
|
});
|
|
10184
10297
|
}
|
|
10185
10298
|
if (toolPart.state === "output-available" && tool3.outputSchema) {
|
|
10186
|
-
await (0,
|
|
10299
|
+
await (0, import_provider_utils33.validateTypes)({
|
|
10187
10300
|
value: toolPart.output,
|
|
10188
10301
|
schema: tool3.outputSchema
|
|
10189
10302
|
});
|
|
@@ -10195,13 +10308,13 @@ async function validateUIMessages({
|
|
|
10195
10308
|
}
|
|
10196
10309
|
|
|
10197
10310
|
// src/ui-message-stream/create-ui-message-stream.ts
|
|
10198
|
-
var
|
|
10311
|
+
var import_provider_utils34 = require("@ai-sdk/provider-utils");
|
|
10199
10312
|
function createUIMessageStream({
|
|
10200
10313
|
execute,
|
|
10201
|
-
onError =
|
|
10314
|
+
onError = import_provider_utils34.getErrorMessage,
|
|
10202
10315
|
originalMessages,
|
|
10203
10316
|
onFinish,
|
|
10204
|
-
generateId: generateId3 =
|
|
10317
|
+
generateId: generateId3 = import_provider_utils34.generateId
|
|
10205
10318
|
}) {
|
|
10206
10319
|
let controller;
|
|
10207
10320
|
const ongoingStreamPromises = [];
|