ai 6.0.271 → 6.0.273
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 +20 -0
- package/dist/index.d.mts +105 -46
- package/dist/index.d.ts +105 -46
- package/dist/index.js +445 -385
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +376 -315
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js +1 -1
- package/dist/internal/index.mjs +1 -1
- package/docs/03-ai-sdk-core/15-tools-and-tool-calling.mdx +26 -1
- package/docs/07-reference/01-ai-sdk-core/02-stream-text.mdx +7 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-tool-choice-violation-error.mdx +38 -0
- package/docs/07-reference/05-ai-sdk-errors/index.mdx +1 -0
- package/package.json +3 -3
- package/src/agent/tool-loop-agent-settings.ts +9 -0
- package/src/error/index.ts +1 -0
- package/src/error/tool-choice-violation-error.ts +80 -0
- package/src/generate-text/generate-text.ts +25 -1
- package/src/generate-text/index.ts +2 -0
- package/src/generate-text/stream-text.ts +99 -52
package/dist/index.js
CHANGED
|
@@ -4,8 +4,8 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
6
|
var __export = (target, all) => {
|
|
7
|
-
for (var
|
|
8
|
-
__defProp(target,
|
|
7
|
+
for (var name23 in all)
|
|
8
|
+
__defProp(target, name23, { get: all[name23], enumerable: true });
|
|
9
9
|
};
|
|
10
10
|
var __copyProps = (to, from, except, desc) => {
|
|
11
11
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
@@ -20,37 +20,37 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/index.ts
|
|
21
21
|
var src_exports = {};
|
|
22
22
|
__export(src_exports, {
|
|
23
|
-
AISDKError: () =>
|
|
24
|
-
APICallError: () =>
|
|
23
|
+
AISDKError: () => import_provider23.AISDKError,
|
|
24
|
+
APICallError: () => import_provider23.APICallError,
|
|
25
25
|
AbstractChat: () => AbstractChat,
|
|
26
26
|
DefaultChatTransport: () => DefaultChatTransport,
|
|
27
27
|
DefaultGeneratedFile: () => DefaultGeneratedFile,
|
|
28
28
|
DirectChatTransport: () => DirectChatTransport,
|
|
29
29
|
DownloadError: () => import_provider_utils.DownloadError,
|
|
30
|
-
EmptyResponseBodyError: () =>
|
|
30
|
+
EmptyResponseBodyError: () => import_provider23.EmptyResponseBodyError,
|
|
31
31
|
Experimental_Agent: () => ToolLoopAgent,
|
|
32
32
|
HttpChatTransport: () => HttpChatTransport,
|
|
33
33
|
InvalidArgumentError: () => InvalidArgumentError,
|
|
34
34
|
InvalidDataContentError: () => InvalidDataContentError,
|
|
35
35
|
InvalidMessageRoleError: () => InvalidMessageRoleError,
|
|
36
|
-
InvalidPromptError: () =>
|
|
37
|
-
InvalidResponseDataError: () =>
|
|
36
|
+
InvalidPromptError: () => import_provider23.InvalidPromptError,
|
|
37
|
+
InvalidResponseDataError: () => import_provider23.InvalidResponseDataError,
|
|
38
38
|
InvalidStreamPartError: () => InvalidStreamPartError,
|
|
39
39
|
InvalidToolApprovalError: () => InvalidToolApprovalError,
|
|
40
40
|
InvalidToolApprovalSignatureError: () => InvalidToolApprovalSignatureError,
|
|
41
41
|
InvalidToolInputError: () => InvalidToolInputError,
|
|
42
|
-
JSONParseError: () =>
|
|
42
|
+
JSONParseError: () => import_provider23.JSONParseError,
|
|
43
43
|
JsonToSseTransformStream: () => JsonToSseTransformStream,
|
|
44
|
-
LoadAPIKeyError: () =>
|
|
45
|
-
LoadSettingError: () =>
|
|
44
|
+
LoadAPIKeyError: () => import_provider23.LoadAPIKeyError,
|
|
45
|
+
LoadSettingError: () => import_provider23.LoadSettingError,
|
|
46
46
|
MessageConversionError: () => MessageConversionError,
|
|
47
47
|
MissingToolResultsError: () => MissingToolResultsError,
|
|
48
|
-
NoContentGeneratedError: () =>
|
|
48
|
+
NoContentGeneratedError: () => import_provider23.NoContentGeneratedError,
|
|
49
49
|
NoImageGeneratedError: () => NoImageGeneratedError,
|
|
50
50
|
NoObjectGeneratedError: () => NoObjectGeneratedError,
|
|
51
51
|
NoOutputGeneratedError: () => NoOutputGeneratedError,
|
|
52
52
|
NoSpeechGeneratedError: () => NoSpeechGeneratedError,
|
|
53
|
-
NoSuchModelError: () =>
|
|
53
|
+
NoSuchModelError: () => import_provider23.NoSuchModelError,
|
|
54
54
|
NoSuchProviderError: () => NoSuchProviderError,
|
|
55
55
|
NoSuchToolError: () => NoSuchToolError,
|
|
56
56
|
NoTranscriptGeneratedError: () => NoTranscriptGeneratedError,
|
|
@@ -59,14 +59,15 @@ __export(src_exports, {
|
|
|
59
59
|
RetryError: () => RetryError,
|
|
60
60
|
SerialJobExecutor: () => SerialJobExecutor,
|
|
61
61
|
TextStreamChatTransport: () => TextStreamChatTransport,
|
|
62
|
-
TooManyEmbeddingValuesForCallError: () =>
|
|
62
|
+
TooManyEmbeddingValuesForCallError: () => import_provider23.TooManyEmbeddingValuesForCallError,
|
|
63
63
|
ToolCallNotFoundForApprovalError: () => ToolCallNotFoundForApprovalError,
|
|
64
64
|
ToolCallRepairError: () => ToolCallRepairError,
|
|
65
|
+
ToolChoiceViolationError: () => ToolChoiceViolationError,
|
|
65
66
|
ToolLoopAgent: () => ToolLoopAgent,
|
|
66
|
-
TypeValidationError: () =>
|
|
67
|
+
TypeValidationError: () => import_provider23.TypeValidationError,
|
|
67
68
|
UIMessageStreamError: () => UIMessageStreamError,
|
|
68
69
|
UI_MESSAGE_STREAM_HEADERS: () => UI_MESSAGE_STREAM_HEADERS,
|
|
69
|
-
UnsupportedFunctionalityError: () =>
|
|
70
|
+
UnsupportedFunctionalityError: () => import_provider23.UnsupportedFunctionalityError,
|
|
70
71
|
UnsupportedModelVersionError: () => UnsupportedModelVersionError,
|
|
71
72
|
addToolInputExamplesMiddleware: () => addToolInputExamplesMiddleware,
|
|
72
73
|
asSchema: () => import_provider_utils43.asSchema,
|
|
@@ -163,7 +164,7 @@ var import_provider_utils21 = require("@ai-sdk/provider-utils");
|
|
|
163
164
|
var import_provider_utils16 = require("@ai-sdk/provider-utils");
|
|
164
165
|
|
|
165
166
|
// src/error/index.ts
|
|
166
|
-
var
|
|
167
|
+
var import_provider23 = require("@ai-sdk/provider");
|
|
167
168
|
|
|
168
169
|
// src/error/invalid-argument-error.ts
|
|
169
170
|
var import_provider = require("@ai-sdk/provider");
|
|
@@ -507,21 +508,28 @@ var NoSuchToolError = class extends import_provider14.AISDKError {
|
|
|
507
508
|
};
|
|
508
509
|
_a14 = symbol14;
|
|
509
510
|
|
|
510
|
-
// src/error/tool-
|
|
511
|
+
// src/error/tool-choice-violation-error.ts
|
|
511
512
|
var import_provider15 = require("@ai-sdk/provider");
|
|
512
|
-
var name15 = "
|
|
513
|
+
var name15 = "AI_ToolChoiceViolationError";
|
|
513
514
|
var marker15 = `vercel.ai.error.${name15}`;
|
|
514
515
|
var symbol15 = Symbol.for(marker15);
|
|
515
516
|
var _a15;
|
|
516
|
-
var
|
|
517
|
+
var ToolChoiceViolationError = class extends import_provider15.AISDKError {
|
|
517
518
|
constructor({
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
519
|
+
toolChoice,
|
|
520
|
+
finishReason,
|
|
521
|
+
provider,
|
|
522
|
+
modelId,
|
|
523
|
+
content,
|
|
524
|
+
message = toolChoice.type === "required" ? "Model response did not contain a tool call even though tool choice was required." : `Model response did not contain a call to the required tool '${toolChoice.toolName}'.`
|
|
521
525
|
}) {
|
|
522
|
-
super({ name: name15, message
|
|
526
|
+
super({ name: name15, message });
|
|
523
527
|
this[_a15] = true;
|
|
524
|
-
this.
|
|
528
|
+
this.toolChoice = toolChoice;
|
|
529
|
+
this.finishReason = finishReason;
|
|
530
|
+
this.provider = provider;
|
|
531
|
+
this.modelId = modelId;
|
|
532
|
+
this.content = content;
|
|
525
533
|
}
|
|
526
534
|
static isInstance(error) {
|
|
527
535
|
return import_provider15.AISDKError.hasMarker(error, marker15);
|
|
@@ -529,9 +537,31 @@ var ToolCallRepairError = class extends import_provider15.AISDKError {
|
|
|
529
537
|
};
|
|
530
538
|
_a15 = symbol15;
|
|
531
539
|
|
|
532
|
-
// src/error/
|
|
540
|
+
// src/error/tool-call-repair-error.ts
|
|
533
541
|
var import_provider16 = require("@ai-sdk/provider");
|
|
534
|
-
var
|
|
542
|
+
var name16 = "AI_ToolCallRepairError";
|
|
543
|
+
var marker16 = `vercel.ai.error.${name16}`;
|
|
544
|
+
var symbol16 = Symbol.for(marker16);
|
|
545
|
+
var _a16;
|
|
546
|
+
var ToolCallRepairError = class extends import_provider16.AISDKError {
|
|
547
|
+
constructor({
|
|
548
|
+
cause,
|
|
549
|
+
originalError,
|
|
550
|
+
message = `Error repairing tool call: ${(0, import_provider16.getErrorMessage)(cause)}`
|
|
551
|
+
}) {
|
|
552
|
+
super({ name: name16, message, cause });
|
|
553
|
+
this[_a16] = true;
|
|
554
|
+
this.originalError = originalError;
|
|
555
|
+
}
|
|
556
|
+
static isInstance(error) {
|
|
557
|
+
return import_provider16.AISDKError.hasMarker(error, marker16);
|
|
558
|
+
}
|
|
559
|
+
};
|
|
560
|
+
_a16 = symbol16;
|
|
561
|
+
|
|
562
|
+
// src/error/unsupported-model-version-error.ts
|
|
563
|
+
var import_provider17 = require("@ai-sdk/provider");
|
|
564
|
+
var UnsupportedModelVersionError = class extends import_provider17.AISDKError {
|
|
535
565
|
constructor(options) {
|
|
536
566
|
super({
|
|
537
567
|
name: "AI_UnsupportedModelVersionError",
|
|
@@ -544,118 +574,118 @@ var UnsupportedModelVersionError = class extends import_provider16.AISDKError {
|
|
|
544
574
|
};
|
|
545
575
|
|
|
546
576
|
// src/error/ui-message-stream-error.ts
|
|
547
|
-
var
|
|
548
|
-
var
|
|
549
|
-
var
|
|
550
|
-
var
|
|
551
|
-
var
|
|
552
|
-
var UIMessageStreamError = class extends
|
|
577
|
+
var import_provider18 = require("@ai-sdk/provider");
|
|
578
|
+
var name17 = "AI_UIMessageStreamError";
|
|
579
|
+
var marker17 = `vercel.ai.error.${name17}`;
|
|
580
|
+
var symbol17 = Symbol.for(marker17);
|
|
581
|
+
var _a17;
|
|
582
|
+
var UIMessageStreamError = class extends import_provider18.AISDKError {
|
|
553
583
|
constructor({
|
|
554
584
|
chunkType,
|
|
555
585
|
chunkId,
|
|
556
586
|
message
|
|
557
587
|
}) {
|
|
558
|
-
super({ name:
|
|
559
|
-
this[
|
|
588
|
+
super({ name: name17, message });
|
|
589
|
+
this[_a17] = true;
|
|
560
590
|
this.chunkType = chunkType;
|
|
561
591
|
this.chunkId = chunkId;
|
|
562
592
|
}
|
|
563
593
|
static isInstance(error) {
|
|
564
|
-
return
|
|
594
|
+
return import_provider18.AISDKError.hasMarker(error, marker17);
|
|
565
595
|
}
|
|
566
596
|
};
|
|
567
|
-
|
|
597
|
+
_a17 = symbol17;
|
|
568
598
|
|
|
569
599
|
// src/prompt/invalid-data-content-error.ts
|
|
570
|
-
var
|
|
571
|
-
var
|
|
572
|
-
var
|
|
573
|
-
var
|
|
574
|
-
var
|
|
575
|
-
var InvalidDataContentError = class extends
|
|
600
|
+
var import_provider19 = require("@ai-sdk/provider");
|
|
601
|
+
var name18 = "AI_InvalidDataContentError";
|
|
602
|
+
var marker18 = `vercel.ai.error.${name18}`;
|
|
603
|
+
var symbol18 = Symbol.for(marker18);
|
|
604
|
+
var _a18;
|
|
605
|
+
var InvalidDataContentError = class extends import_provider19.AISDKError {
|
|
576
606
|
constructor({
|
|
577
607
|
content,
|
|
578
608
|
cause,
|
|
579
609
|
message = `Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof content}.`
|
|
580
610
|
}) {
|
|
581
|
-
super({ name:
|
|
582
|
-
this[
|
|
611
|
+
super({ name: name18, message, cause });
|
|
612
|
+
this[_a18] = true;
|
|
583
613
|
this.content = content;
|
|
584
614
|
}
|
|
585
615
|
static isInstance(error) {
|
|
586
|
-
return
|
|
616
|
+
return import_provider19.AISDKError.hasMarker(error, marker18);
|
|
587
617
|
}
|
|
588
618
|
};
|
|
589
|
-
|
|
619
|
+
_a18 = symbol18;
|
|
590
620
|
|
|
591
621
|
// src/prompt/invalid-message-role-error.ts
|
|
592
|
-
var
|
|
593
|
-
var
|
|
594
|
-
var
|
|
595
|
-
var
|
|
596
|
-
var
|
|
597
|
-
var InvalidMessageRoleError = class extends
|
|
622
|
+
var import_provider20 = require("@ai-sdk/provider");
|
|
623
|
+
var name19 = "AI_InvalidMessageRoleError";
|
|
624
|
+
var marker19 = `vercel.ai.error.${name19}`;
|
|
625
|
+
var symbol19 = Symbol.for(marker19);
|
|
626
|
+
var _a19;
|
|
627
|
+
var InvalidMessageRoleError = class extends import_provider20.AISDKError {
|
|
598
628
|
constructor({
|
|
599
629
|
role,
|
|
600
630
|
message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
|
|
601
631
|
}) {
|
|
602
|
-
super({ name:
|
|
603
|
-
this[
|
|
632
|
+
super({ name: name19, message });
|
|
633
|
+
this[_a19] = true;
|
|
604
634
|
this.role = role;
|
|
605
635
|
}
|
|
606
636
|
static isInstance(error) {
|
|
607
|
-
return
|
|
637
|
+
return import_provider20.AISDKError.hasMarker(error, marker19);
|
|
608
638
|
}
|
|
609
639
|
};
|
|
610
|
-
|
|
640
|
+
_a19 = symbol19;
|
|
611
641
|
|
|
612
642
|
// src/prompt/message-conversion-error.ts
|
|
613
|
-
var
|
|
614
|
-
var
|
|
615
|
-
var
|
|
616
|
-
var
|
|
617
|
-
var
|
|
618
|
-
var MessageConversionError = class extends
|
|
643
|
+
var import_provider21 = require("@ai-sdk/provider");
|
|
644
|
+
var name20 = "AI_MessageConversionError";
|
|
645
|
+
var marker20 = `vercel.ai.error.${name20}`;
|
|
646
|
+
var symbol20 = Symbol.for(marker20);
|
|
647
|
+
var _a20;
|
|
648
|
+
var MessageConversionError = class extends import_provider21.AISDKError {
|
|
619
649
|
constructor({
|
|
620
650
|
originalMessage,
|
|
621
651
|
message
|
|
622
652
|
}) {
|
|
623
|
-
super({ name:
|
|
624
|
-
this[
|
|
653
|
+
super({ name: name20, message });
|
|
654
|
+
this[_a20] = true;
|
|
625
655
|
this.originalMessage = originalMessage;
|
|
626
656
|
}
|
|
627
657
|
static isInstance(error) {
|
|
628
|
-
return
|
|
658
|
+
return import_provider21.AISDKError.hasMarker(error, marker20);
|
|
629
659
|
}
|
|
630
660
|
};
|
|
631
|
-
|
|
661
|
+
_a20 = symbol20;
|
|
632
662
|
|
|
633
663
|
// src/error/index.ts
|
|
634
664
|
var import_provider_utils = require("@ai-sdk/provider-utils");
|
|
635
665
|
|
|
636
666
|
// src/util/retry-error.ts
|
|
637
|
-
var
|
|
638
|
-
var
|
|
639
|
-
var
|
|
640
|
-
var
|
|
641
|
-
var
|
|
642
|
-
var RetryError = class extends
|
|
667
|
+
var import_provider22 = require("@ai-sdk/provider");
|
|
668
|
+
var name21 = "AI_RetryError";
|
|
669
|
+
var marker21 = `vercel.ai.error.${name21}`;
|
|
670
|
+
var symbol21 = Symbol.for(marker21);
|
|
671
|
+
var _a21;
|
|
672
|
+
var RetryError = class extends import_provider22.AISDKError {
|
|
643
673
|
constructor({
|
|
644
674
|
message,
|
|
645
675
|
reason,
|
|
646
676
|
errors
|
|
647
677
|
}) {
|
|
648
|
-
super({ name:
|
|
649
|
-
this[
|
|
678
|
+
super({ name: name21, message });
|
|
679
|
+
this[_a21] = true;
|
|
650
680
|
this.reason = reason;
|
|
651
681
|
this.errors = errors;
|
|
652
682
|
this.lastError = errors[errors.length - 1];
|
|
653
683
|
}
|
|
654
684
|
static isInstance(error) {
|
|
655
|
-
return
|
|
685
|
+
return import_provider22.AISDKError.hasMarker(error, marker21);
|
|
656
686
|
}
|
|
657
687
|
};
|
|
658
|
-
|
|
688
|
+
_a21 = symbol21;
|
|
659
689
|
|
|
660
690
|
// src/util/as-array.ts
|
|
661
691
|
function asArray(value) {
|
|
@@ -935,7 +965,7 @@ function resolveEmbeddingModel(model) {
|
|
|
935
965
|
return getGlobalProvider().embeddingModel(model);
|
|
936
966
|
}
|
|
937
967
|
function resolveTranscriptionModel(model) {
|
|
938
|
-
var
|
|
968
|
+
var _a23, _b;
|
|
939
969
|
if (typeof model !== "string") {
|
|
940
970
|
if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
|
|
941
971
|
const unsupportedModel = model;
|
|
@@ -947,10 +977,10 @@ function resolveTranscriptionModel(model) {
|
|
|
947
977
|
}
|
|
948
978
|
return asTranscriptionModelV3(model);
|
|
949
979
|
}
|
|
950
|
-
return (_b = (
|
|
980
|
+
return (_b = (_a23 = getGlobalProvider()).transcriptionModel) == null ? void 0 : _b.call(_a23, model);
|
|
951
981
|
}
|
|
952
982
|
function resolveSpeechModel(model) {
|
|
953
|
-
var
|
|
983
|
+
var _a23, _b;
|
|
954
984
|
if (typeof model !== "string") {
|
|
955
985
|
if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
|
|
956
986
|
const unsupportedModel = model;
|
|
@@ -962,7 +992,7 @@ function resolveSpeechModel(model) {
|
|
|
962
992
|
}
|
|
963
993
|
return asSpeechModelV3(model);
|
|
964
994
|
}
|
|
965
|
-
return (_b = (
|
|
995
|
+
return (_b = (_a23 = getGlobalProvider()).speechModel) == null ? void 0 : _b.call(_a23, model);
|
|
966
996
|
}
|
|
967
997
|
function resolveImageModel(model) {
|
|
968
998
|
if (typeof model !== "string") {
|
|
@@ -1021,8 +1051,8 @@ function resolveRerankingModel(model) {
|
|
|
1021
1051
|
return model;
|
|
1022
1052
|
}
|
|
1023
1053
|
function getGlobalProvider() {
|
|
1024
|
-
var
|
|
1025
|
-
return (
|
|
1054
|
+
var _a23;
|
|
1055
|
+
return (_a23 = globalThis.AI_SDK_DEFAULT_PROVIDER) != null ? _a23 : import_gateway.gateway;
|
|
1026
1056
|
}
|
|
1027
1057
|
|
|
1028
1058
|
// src/prompt/call-settings.ts
|
|
@@ -1304,7 +1334,7 @@ function detectMediaType({
|
|
|
1304
1334
|
var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
|
1305
1335
|
|
|
1306
1336
|
// src/version.ts
|
|
1307
|
-
var VERSION = true ? "6.0.
|
|
1337
|
+
var VERSION = true ? "6.0.273" : "0.0.0-test";
|
|
1308
1338
|
|
|
1309
1339
|
// src/util/download/download.ts
|
|
1310
1340
|
var download = async ({
|
|
@@ -1312,7 +1342,7 @@ var download = async ({
|
|
|
1312
1342
|
maxBytes,
|
|
1313
1343
|
abortSignal
|
|
1314
1344
|
}) => {
|
|
1315
|
-
var
|
|
1345
|
+
var _a23;
|
|
1316
1346
|
const urlText = url.toString();
|
|
1317
1347
|
try {
|
|
1318
1348
|
const headers = (0, import_provider_utils3.withUserAgentSuffix)(
|
|
@@ -1340,7 +1370,7 @@ var download = async ({
|
|
|
1340
1370
|
});
|
|
1341
1371
|
return {
|
|
1342
1372
|
data,
|
|
1343
|
-
mediaType: (
|
|
1373
|
+
mediaType: (_a23 = response.headers.get("content-type")) != null ? _a23 : void 0
|
|
1344
1374
|
};
|
|
1345
1375
|
} catch (error) {
|
|
1346
1376
|
if (import_provider_utils3.DownloadError.isInstance(error)) {
|
|
@@ -1394,7 +1424,7 @@ function mergeObjects(base, overrides) {
|
|
|
1394
1424
|
}
|
|
1395
1425
|
|
|
1396
1426
|
// src/prompt/data-content.ts
|
|
1397
|
-
var
|
|
1427
|
+
var import_provider24 = require("@ai-sdk/provider");
|
|
1398
1428
|
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
|
1399
1429
|
var import_v4 = require("zod/v4");
|
|
1400
1430
|
|
|
@@ -1422,8 +1452,8 @@ var dataContentSchema = import_v4.z.union([
|
|
|
1422
1452
|
import_v4.z.custom(
|
|
1423
1453
|
// Buffer might not be available in some environments such as CloudFlare:
|
|
1424
1454
|
(value) => {
|
|
1425
|
-
var
|
|
1426
|
-
return (_b = (
|
|
1455
|
+
var _a23, _b;
|
|
1456
|
+
return (_b = (_a23 = globalThis.Buffer) == null ? void 0 : _a23.isBuffer(value)) != null ? _b : false;
|
|
1427
1457
|
},
|
|
1428
1458
|
{ message: "Must be a Buffer" }
|
|
1429
1459
|
)
|
|
@@ -1446,7 +1476,7 @@ function convertToLanguageModelV3DataContent(content) {
|
|
|
1446
1476
|
content.toString()
|
|
1447
1477
|
);
|
|
1448
1478
|
if (dataUrlMediaType == null || base64Content == null) {
|
|
1449
|
-
throw new
|
|
1479
|
+
throw new import_provider24.AISDKError({
|
|
1450
1480
|
name: "InvalidDataContentError",
|
|
1451
1481
|
message: `Invalid data URL format in content ${content.toString()}`
|
|
1452
1482
|
});
|
|
@@ -1737,7 +1767,7 @@ function convertToLanguageModelMessage({
|
|
|
1737
1767
|
}
|
|
1738
1768
|
}
|
|
1739
1769
|
async function downloadAssets(messages, download2, supportedUrls) {
|
|
1740
|
-
var
|
|
1770
|
+
var _a23;
|
|
1741
1771
|
const downloadableFiles = [];
|
|
1742
1772
|
for (const message of messages) {
|
|
1743
1773
|
if (message.role === "user" && Array.isArray(message.content)) {
|
|
@@ -1745,7 +1775,7 @@ async function downloadAssets(messages, download2, supportedUrls) {
|
|
|
1745
1775
|
if (part.type === "image" || part.type === "file") {
|
|
1746
1776
|
downloadableFiles.push({
|
|
1747
1777
|
data: part.type === "image" ? part.image : part.data,
|
|
1748
|
-
mediaType: (
|
|
1778
|
+
mediaType: (_a23 = part.mediaType) != null ? _a23 : part.type === "image" ? "image/*" : void 0
|
|
1749
1779
|
});
|
|
1750
1780
|
}
|
|
1751
1781
|
}
|
|
@@ -1797,7 +1827,7 @@ async function downloadAssets(messages, download2, supportedUrls) {
|
|
|
1797
1827
|
);
|
|
1798
1828
|
}
|
|
1799
1829
|
function convertPartToLanguageModelPart(part, downloadedAssets) {
|
|
1800
|
-
var
|
|
1830
|
+
var _a23;
|
|
1801
1831
|
if (part.type === "text") {
|
|
1802
1832
|
return {
|
|
1803
1833
|
type: "text",
|
|
@@ -1830,7 +1860,7 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
|
|
|
1830
1860
|
switch (type) {
|
|
1831
1861
|
case "image": {
|
|
1832
1862
|
if (data instanceof Uint8Array || typeof data === "string") {
|
|
1833
|
-
mediaType = (
|
|
1863
|
+
mediaType = (_a23 = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _a23 : mediaType;
|
|
1834
1864
|
}
|
|
1835
1865
|
return {
|
|
1836
1866
|
type: "file",
|
|
@@ -1865,14 +1895,14 @@ function mapToolResultOutput({
|
|
|
1865
1895
|
return {
|
|
1866
1896
|
type: "content",
|
|
1867
1897
|
value: output.value.map((item) => {
|
|
1868
|
-
var
|
|
1898
|
+
var _a23, _b;
|
|
1869
1899
|
if (item.type === "image-url") {
|
|
1870
1900
|
const downloadedFile = downloadedAssets[new URL(item.url).toString()];
|
|
1871
1901
|
if (downloadedFile) {
|
|
1872
1902
|
return {
|
|
1873
1903
|
type: "image-data",
|
|
1874
1904
|
data: convertDataContentToBase64String(downloadedFile.data),
|
|
1875
|
-
mediaType: (
|
|
1905
|
+
mediaType: (_a23 = downloadedFile.mediaType) != null ? _a23 : "image/*",
|
|
1876
1906
|
providerOptions: item.providerOptions
|
|
1877
1907
|
};
|
|
1878
1908
|
}
|
|
@@ -1910,7 +1940,7 @@ function mapToolResultOutput({
|
|
|
1910
1940
|
}
|
|
1911
1941
|
|
|
1912
1942
|
// src/prompt/create-tool-model-output.ts
|
|
1913
|
-
var
|
|
1943
|
+
var import_provider25 = require("@ai-sdk/provider");
|
|
1914
1944
|
async function createToolModelOutput({
|
|
1915
1945
|
toolCallId,
|
|
1916
1946
|
input,
|
|
@@ -1919,7 +1949,7 @@ async function createToolModelOutput({
|
|
|
1919
1949
|
errorMode
|
|
1920
1950
|
}) {
|
|
1921
1951
|
if (errorMode === "text") {
|
|
1922
|
-
return { type: "error-text", value: (0,
|
|
1952
|
+
return { type: "error-text", value: (0, import_provider25.getErrorMessage)(output) };
|
|
1923
1953
|
} else if (errorMode === "json") {
|
|
1924
1954
|
return { type: "error-json", value: toJSONValue(output) };
|
|
1925
1955
|
}
|
|
@@ -2046,10 +2076,10 @@ async function prepareToolsAndToolChoice({
|
|
|
2046
2076
|
};
|
|
2047
2077
|
}
|
|
2048
2078
|
const filteredTools = activeTools != null ? Object.entries(tools).filter(
|
|
2049
|
-
([
|
|
2079
|
+
([name23]) => activeTools.includes(name23)
|
|
2050
2080
|
) : Object.entries(tools);
|
|
2051
2081
|
const languageModelTools = [];
|
|
2052
|
-
for (const [
|
|
2082
|
+
for (const [name23, tool2] of filteredTools) {
|
|
2053
2083
|
const toolType = tool2.type;
|
|
2054
2084
|
switch (toolType) {
|
|
2055
2085
|
case void 0:
|
|
@@ -2057,7 +2087,7 @@ async function prepareToolsAndToolChoice({
|
|
|
2057
2087
|
case "function":
|
|
2058
2088
|
languageModelTools.push({
|
|
2059
2089
|
type: "function",
|
|
2060
|
-
name:
|
|
2090
|
+
name: name23,
|
|
2061
2091
|
description: tool2.description,
|
|
2062
2092
|
inputSchema: await (0, import_provider_utils6.asSchema)(tool2.inputSchema).jsonSchema,
|
|
2063
2093
|
...tool2.inputExamples != null ? { inputExamples: tool2.inputExamples } : {},
|
|
@@ -2068,7 +2098,7 @@ async function prepareToolsAndToolChoice({
|
|
|
2068
2098
|
case "provider":
|
|
2069
2099
|
languageModelTools.push({
|
|
2070
2100
|
type: "provider",
|
|
2071
|
-
name:
|
|
2101
|
+
name: name23,
|
|
2072
2102
|
id: tool2.id,
|
|
2073
2103
|
args: tool2.args
|
|
2074
2104
|
});
|
|
@@ -2086,7 +2116,7 @@ async function prepareToolsAndToolChoice({
|
|
|
2086
2116
|
}
|
|
2087
2117
|
|
|
2088
2118
|
// src/prompt/standardize-prompt.ts
|
|
2089
|
-
var
|
|
2119
|
+
var import_provider26 = require("@ai-sdk/provider");
|
|
2090
2120
|
var import_provider_utils7 = require("@ai-sdk/provider-utils");
|
|
2091
2121
|
var import_v46 = require("zod/v4");
|
|
2092
2122
|
|
|
@@ -2304,19 +2334,19 @@ async function standardizePrompt({
|
|
|
2304
2334
|
messages
|
|
2305
2335
|
}) {
|
|
2306
2336
|
if (prompt == null && messages == null) {
|
|
2307
|
-
throw new
|
|
2337
|
+
throw new import_provider26.InvalidPromptError({
|
|
2308
2338
|
prompt,
|
|
2309
2339
|
message: "prompt or messages must be defined"
|
|
2310
2340
|
});
|
|
2311
2341
|
}
|
|
2312
2342
|
if (prompt != null && messages != null) {
|
|
2313
|
-
throw new
|
|
2343
|
+
throw new import_provider26.InvalidPromptError({
|
|
2314
2344
|
prompt,
|
|
2315
2345
|
message: "prompt and messages cannot be defined at the same time"
|
|
2316
2346
|
});
|
|
2317
2347
|
}
|
|
2318
2348
|
if (typeof system !== "string" && !asArray(system).every((message) => message.role === "system")) {
|
|
2319
|
-
throw new
|
|
2349
|
+
throw new import_provider26.InvalidPromptError({
|
|
2320
2350
|
prompt,
|
|
2321
2351
|
message: "system must be a string, SystemModelMessage, or array of SystemModelMessage"
|
|
2322
2352
|
});
|
|
@@ -2326,20 +2356,20 @@ async function standardizePrompt({
|
|
|
2326
2356
|
} else if (prompt != null && Array.isArray(prompt)) {
|
|
2327
2357
|
messages = prompt;
|
|
2328
2358
|
} else if (messages == null) {
|
|
2329
|
-
throw new
|
|
2359
|
+
throw new import_provider26.InvalidPromptError({
|
|
2330
2360
|
prompt,
|
|
2331
2361
|
message: "prompt or messages must be defined"
|
|
2332
2362
|
});
|
|
2333
2363
|
}
|
|
2334
2364
|
if (messages.length === 0) {
|
|
2335
|
-
throw new
|
|
2365
|
+
throw new import_provider26.InvalidPromptError({
|
|
2336
2366
|
prompt,
|
|
2337
2367
|
message: "messages must not be empty"
|
|
2338
2368
|
});
|
|
2339
2369
|
}
|
|
2340
2370
|
if (messages.some((message) => message.role === "system")) {
|
|
2341
2371
|
if (allowSystemInMessages === false) {
|
|
2342
|
-
throw new
|
|
2372
|
+
throw new import_provider26.InvalidPromptError({
|
|
2343
2373
|
prompt,
|
|
2344
2374
|
message: "System messages are not allowed in the prompt or messages fields. Use the system option instead."
|
|
2345
2375
|
});
|
|
@@ -2355,7 +2385,7 @@ async function standardizePrompt({
|
|
|
2355
2385
|
schema: import_v46.z.array(modelMessageSchema)
|
|
2356
2386
|
});
|
|
2357
2387
|
if (!validationResult.success) {
|
|
2358
|
-
throw new
|
|
2388
|
+
throw new import_provider26.InvalidPromptError({
|
|
2359
2389
|
prompt,
|
|
2360
2390
|
message: "The messages do not match the ModelMessage[] schema.",
|
|
2361
2391
|
cause: validationResult.error
|
|
@@ -2366,14 +2396,14 @@ async function standardizePrompt({
|
|
|
2366
2396
|
|
|
2367
2397
|
// src/prompt/wrap-gateway-error.ts
|
|
2368
2398
|
var import_gateway2 = require("@ai-sdk/gateway");
|
|
2369
|
-
var
|
|
2399
|
+
var import_provider27 = require("@ai-sdk/provider");
|
|
2370
2400
|
function wrapGatewayError(error) {
|
|
2371
2401
|
if (!import_gateway2.GatewayAuthenticationError.isInstance(error))
|
|
2372
2402
|
return error;
|
|
2373
2403
|
const isProductionEnv = (process == null ? void 0 : process.env.NODE_ENV) === "production";
|
|
2374
2404
|
const moreInfoURL = "https://ai-sdk.dev/unauthenticated-ai-gateway";
|
|
2375
2405
|
if (isProductionEnv) {
|
|
2376
|
-
return new
|
|
2406
|
+
return new import_provider27.AISDKError({
|
|
2377
2407
|
name: "GatewayError",
|
|
2378
2408
|
message: `Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${moreInfoURL}`
|
|
2379
2409
|
});
|
|
@@ -2414,7 +2444,7 @@ function getBaseTelemetryAttributes({
|
|
|
2414
2444
|
telemetry,
|
|
2415
2445
|
headers
|
|
2416
2446
|
}) {
|
|
2417
|
-
var
|
|
2447
|
+
var _a23;
|
|
2418
2448
|
return {
|
|
2419
2449
|
"ai.model.provider": model.provider,
|
|
2420
2450
|
"ai.model.id": model.modelId,
|
|
@@ -2433,7 +2463,7 @@ function getBaseTelemetryAttributes({
|
|
|
2433
2463
|
return attributes;
|
|
2434
2464
|
}, {}),
|
|
2435
2465
|
// add metadata as attributes:
|
|
2436
|
-
...Object.entries((
|
|
2466
|
+
...Object.entries((_a23 = telemetry == null ? void 0 : telemetry.metadata) != null ? _a23 : {}).reduce(
|
|
2437
2467
|
(attributes, [key, value]) => {
|
|
2438
2468
|
attributes[`ai.telemetry.metadata.${key}`] = value;
|
|
2439
2469
|
return attributes;
|
|
@@ -2458,7 +2488,7 @@ var noopTracer = {
|
|
|
2458
2488
|
startSpan() {
|
|
2459
2489
|
return noopSpan;
|
|
2460
2490
|
},
|
|
2461
|
-
startActiveSpan(
|
|
2491
|
+
startActiveSpan(name23, arg1, arg2, arg3) {
|
|
2462
2492
|
if (typeof arg1 === "function") {
|
|
2463
2493
|
return arg1(noopSpan);
|
|
2464
2494
|
}
|
|
@@ -2528,7 +2558,7 @@ function getTracer({
|
|
|
2528
2558
|
// src/telemetry/record-span.ts
|
|
2529
2559
|
var import_api2 = require("@opentelemetry/api");
|
|
2530
2560
|
async function recordSpan({
|
|
2531
|
-
name:
|
|
2561
|
+
name: name23,
|
|
2532
2562
|
tracer,
|
|
2533
2563
|
attributes,
|
|
2534
2564
|
fn,
|
|
@@ -2536,7 +2566,7 @@ async function recordSpan({
|
|
|
2536
2566
|
endOnError = endWhenDone
|
|
2537
2567
|
}) {
|
|
2538
2568
|
return tracer.startActiveSpan(
|
|
2539
|
-
|
|
2569
|
+
name23,
|
|
2540
2570
|
{ attributes: await attributes },
|
|
2541
2571
|
async (span) => {
|
|
2542
2572
|
const ctx = import_api2.context.active();
|
|
@@ -2666,15 +2696,15 @@ function registerTelemetryIntegration(integration) {
|
|
|
2666
2696
|
globalThis.AI_SDK_TELEMETRY_INTEGRATIONS.push(integration);
|
|
2667
2697
|
}
|
|
2668
2698
|
function getGlobalTelemetryIntegrations() {
|
|
2669
|
-
var
|
|
2670
|
-
return (
|
|
2699
|
+
var _a23;
|
|
2700
|
+
return (_a23 = globalThis.AI_SDK_TELEMETRY_INTEGRATIONS) != null ? _a23 : [];
|
|
2671
2701
|
}
|
|
2672
2702
|
|
|
2673
2703
|
// src/telemetry/get-global-telemetry-integration.ts
|
|
2674
2704
|
function bindTelemetryIntegration(integration) {
|
|
2675
|
-
var
|
|
2705
|
+
var _a23, _b, _c, _d, _e, _f;
|
|
2676
2706
|
return {
|
|
2677
|
-
onStart: (
|
|
2707
|
+
onStart: (_a23 = integration.onStart) == null ? void 0 : _a23.bind(integration),
|
|
2678
2708
|
onStepStart: (_b = integration.onStepStart) == null ? void 0 : _b.bind(integration),
|
|
2679
2709
|
onToolCallStart: (_c = integration.onToolCallStart) == null ? void 0 : _c.bind(integration),
|
|
2680
2710
|
onToolCallFinish: (_d = integration.onToolCallFinish) == null ? void 0 : _d.bind(integration),
|
|
@@ -2758,12 +2788,12 @@ function createNullLanguageModelUsage() {
|
|
|
2758
2788
|
};
|
|
2759
2789
|
}
|
|
2760
2790
|
function addLanguageModelUsage(usage1, usage2) {
|
|
2761
|
-
var
|
|
2791
|
+
var _a23, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
2762
2792
|
return {
|
|
2763
2793
|
inputTokens: addTokenCounts(usage1.inputTokens, usage2.inputTokens),
|
|
2764
2794
|
inputTokenDetails: {
|
|
2765
2795
|
noCacheTokens: addTokenCounts(
|
|
2766
|
-
(
|
|
2796
|
+
(_a23 = usage1.inputTokenDetails) == null ? void 0 : _a23.noCacheTokens,
|
|
2767
2797
|
(_b = usage2.inputTokenDetails) == null ? void 0 : _b.noCacheTokens
|
|
2768
2798
|
),
|
|
2769
2799
|
cacheReadTokens: addTokenCounts(
|
|
@@ -2809,14 +2839,14 @@ function addImageModelUsage(usage1, usage2) {
|
|
|
2809
2839
|
}
|
|
2810
2840
|
|
|
2811
2841
|
// src/util/retry-with-exponential-backoff.ts
|
|
2812
|
-
var
|
|
2842
|
+
var import_provider28 = require("@ai-sdk/provider");
|
|
2813
2843
|
var import_gateway3 = require("@ai-sdk/gateway");
|
|
2814
2844
|
var import_provider_utils8 = require("@ai-sdk/provider-utils");
|
|
2815
2845
|
function getRetryDelayInMs({
|
|
2816
2846
|
error,
|
|
2817
2847
|
exponentialBackoffDelay
|
|
2818
2848
|
}) {
|
|
2819
|
-
const headers =
|
|
2849
|
+
const headers = import_provider28.APICallError.isInstance(error) ? error.responseHeaders : import_provider28.APICallError.isInstance(error.cause) ? error.cause.responseHeaders : void 0;
|
|
2820
2850
|
if (!headers)
|
|
2821
2851
|
return exponentialBackoffDelay;
|
|
2822
2852
|
let ms;
|
|
@@ -2851,7 +2881,7 @@ var retryWithExponentialBackoffRespectingRetryHeaders = ({
|
|
|
2851
2881
|
initialDelayInMs,
|
|
2852
2882
|
backoffFactor,
|
|
2853
2883
|
abortSignal,
|
|
2854
|
-
shouldRetry: (error) => error instanceof Error && (
|
|
2884
|
+
shouldRetry: (error) => error instanceof Error && (import_provider28.APICallError.isInstance(error) && error.isRetryable === true || import_gateway3.GatewayError.isInstance(error) && error.isRetryable === true),
|
|
2855
2885
|
getDelayInMs: ({ error, exponentialBackoffDelay }) => getRetryDelayInMs({
|
|
2856
2886
|
error,
|
|
2857
2887
|
exponentialBackoffDelay
|
|
@@ -2990,8 +3020,8 @@ var import_provider_utils9 = require("@ai-sdk/provider-utils");
|
|
|
2990
3020
|
|
|
2991
3021
|
// src/util/now.ts
|
|
2992
3022
|
function now() {
|
|
2993
|
-
var
|
|
2994
|
-
return (_b = (
|
|
3023
|
+
var _a23, _b;
|
|
3024
|
+
return (_b = (_a23 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a23.now()) != null ? _b : Date.now();
|
|
2995
3025
|
}
|
|
2996
3026
|
|
|
2997
3027
|
// src/generate-text/execute-tool-call.ts
|
|
@@ -3009,7 +3039,7 @@ async function executeToolCall({
|
|
|
3009
3039
|
onToolCallStart,
|
|
3010
3040
|
onToolCallFinish
|
|
3011
3041
|
}) {
|
|
3012
|
-
var
|
|
3042
|
+
var _a23;
|
|
3013
3043
|
const { toolName, toolCallId, input } = toolCall;
|
|
3014
3044
|
const tool2 = tools == null ? void 0 : tools[toolName];
|
|
3015
3045
|
if ((tool2 == null ? void 0 : tool2.execute) == null) {
|
|
@@ -3035,7 +3065,7 @@ async function executeToolCall({
|
|
|
3035
3065
|
telemetry
|
|
3036
3066
|
}),
|
|
3037
3067
|
...Object.fromEntries(
|
|
3038
|
-
Object.entries((
|
|
3068
|
+
Object.entries((_a23 = telemetry == null ? void 0 : telemetry.metadata) != null ? _a23 : {}).map(([key, value]) => [
|
|
3039
3069
|
`ai.telemetry.metadata.${key}`,
|
|
3040
3070
|
value
|
|
3041
3071
|
])
|
|
@@ -3164,7 +3194,7 @@ function filterActiveTools({
|
|
|
3164
3194
|
}
|
|
3165
3195
|
return Object.fromEntries(
|
|
3166
3196
|
Object.entries(tools).filter(
|
|
3167
|
-
([
|
|
3197
|
+
([name23]) => activeTools.includes(name23)
|
|
3168
3198
|
)
|
|
3169
3199
|
);
|
|
3170
3200
|
}
|
|
@@ -3327,7 +3357,7 @@ async function validateApprovedToolApprovals({
|
|
|
3327
3357
|
experimental_context,
|
|
3328
3358
|
toolApprovalSecret
|
|
3329
3359
|
}) {
|
|
3330
|
-
var
|
|
3360
|
+
var _a23;
|
|
3331
3361
|
const approved = [];
|
|
3332
3362
|
const denied = [];
|
|
3333
3363
|
const invalid = [];
|
|
@@ -3389,7 +3419,7 @@ async function validateApprovedToolApprovals({
|
|
|
3389
3419
|
approvalResponse: {
|
|
3390
3420
|
...approval.approvalResponse,
|
|
3391
3421
|
approved: false,
|
|
3392
|
-
reason: (
|
|
3422
|
+
reason: (_a23 = approval.approvalResponse.reason) != null ? _a23 : `Tool "${toolCall.toolName}" does not require approval`
|
|
3393
3423
|
}
|
|
3394
3424
|
});
|
|
3395
3425
|
}
|
|
@@ -3410,7 +3440,7 @@ __export(output_exports, {
|
|
|
3410
3440
|
object: () => object,
|
|
3411
3441
|
text: () => text
|
|
3412
3442
|
});
|
|
3413
|
-
var
|
|
3443
|
+
var import_provider29 = require("@ai-sdk/provider");
|
|
3414
3444
|
var import_provider_utils14 = require("@ai-sdk/provider-utils");
|
|
3415
3445
|
|
|
3416
3446
|
// src/util/parse-partial-json.ts
|
|
@@ -3785,7 +3815,7 @@ var text = () => ({
|
|
|
3785
3815
|
});
|
|
3786
3816
|
var object = ({
|
|
3787
3817
|
schema: inputSchema,
|
|
3788
|
-
name:
|
|
3818
|
+
name: name23,
|
|
3789
3819
|
description
|
|
3790
3820
|
}) => {
|
|
3791
3821
|
const schema = (0, import_provider_utils14.asSchema)(inputSchema);
|
|
@@ -3794,7 +3824,7 @@ var object = ({
|
|
|
3794
3824
|
responseFormat: (0, import_provider_utils14.resolve)(schema.jsonSchema).then((jsonSchema2) => ({
|
|
3795
3825
|
type: "json",
|
|
3796
3826
|
schema: jsonSchema2,
|
|
3797
|
-
...
|
|
3827
|
+
...name23 != null && { name: name23 },
|
|
3798
3828
|
...description != null && { description }
|
|
3799
3829
|
})),
|
|
3800
3830
|
async parseCompleteOutput({ text: text2 }, context2) {
|
|
@@ -3848,7 +3878,7 @@ var object = ({
|
|
|
3848
3878
|
};
|
|
3849
3879
|
var array = ({
|
|
3850
3880
|
element: inputElementSchema,
|
|
3851
|
-
name:
|
|
3881
|
+
name: name23,
|
|
3852
3882
|
description
|
|
3853
3883
|
}) => {
|
|
3854
3884
|
const elementSchema = (0, import_provider_utils14.asSchema)(inputElementSchema);
|
|
@@ -3868,7 +3898,7 @@ var array = ({
|
|
|
3868
3898
|
required: ["elements"],
|
|
3869
3899
|
additionalProperties: false
|
|
3870
3900
|
},
|
|
3871
|
-
...
|
|
3901
|
+
...name23 != null && { name: name23 },
|
|
3872
3902
|
...description != null && { description }
|
|
3873
3903
|
};
|
|
3874
3904
|
}),
|
|
@@ -3888,7 +3918,7 @@ var array = ({
|
|
|
3888
3918
|
if (outerValue == null || typeof outerValue !== "object" || !("elements" in outerValue) || !Array.isArray(outerValue.elements)) {
|
|
3889
3919
|
throw new NoObjectGeneratedError({
|
|
3890
3920
|
message: "No object generated: response did not match schema.",
|
|
3891
|
-
cause: new
|
|
3921
|
+
cause: new import_provider29.TypeValidationError({
|
|
3892
3922
|
value: outerValue,
|
|
3893
3923
|
cause: "response must be an object with an elements array"
|
|
3894
3924
|
}),
|
|
@@ -3962,7 +3992,7 @@ var array = ({
|
|
|
3962
3992
|
};
|
|
3963
3993
|
var choice = ({
|
|
3964
3994
|
options: choiceOptions,
|
|
3965
|
-
name:
|
|
3995
|
+
name: name23,
|
|
3966
3996
|
description
|
|
3967
3997
|
}) => {
|
|
3968
3998
|
return {
|
|
@@ -3979,7 +4009,7 @@ var choice = ({
|
|
|
3979
4009
|
required: ["result"],
|
|
3980
4010
|
additionalProperties: false
|
|
3981
4011
|
},
|
|
3982
|
-
...
|
|
4012
|
+
...name23 != null && { name: name23 },
|
|
3983
4013
|
...description != null && { description }
|
|
3984
4014
|
}),
|
|
3985
4015
|
async parseCompleteOutput({ text: text2 }, context2) {
|
|
@@ -3998,7 +4028,7 @@ var choice = ({
|
|
|
3998
4028
|
if (outerValue == null || typeof outerValue !== "object" || !("result" in outerValue) || typeof outerValue.result !== "string" || !choiceOptions.includes(outerValue.result)) {
|
|
3999
4029
|
throw new NoObjectGeneratedError({
|
|
4000
4030
|
message: "No object generated: response did not match schema.",
|
|
4001
|
-
cause: new
|
|
4031
|
+
cause: new import_provider29.TypeValidationError({
|
|
4002
4032
|
value: outerValue,
|
|
4003
4033
|
cause: "response must be an object that contains a choice value."
|
|
4004
4034
|
}),
|
|
@@ -4040,14 +4070,14 @@ var choice = ({
|
|
|
4040
4070
|
};
|
|
4041
4071
|
};
|
|
4042
4072
|
var json = ({
|
|
4043
|
-
name:
|
|
4073
|
+
name: name23,
|
|
4044
4074
|
description
|
|
4045
4075
|
} = {}) => {
|
|
4046
4076
|
return {
|
|
4047
4077
|
name: "json",
|
|
4048
4078
|
responseFormat: Promise.resolve({
|
|
4049
4079
|
type: "json",
|
|
4050
|
-
...
|
|
4080
|
+
...name23 != null && { name: name23 },
|
|
4051
4081
|
...description != null && { description }
|
|
4052
4082
|
}),
|
|
4053
4083
|
async parseCompleteOutput({ text: text2 }, context2) {
|
|
@@ -4218,9 +4248,9 @@ function prepareStepCallSettings({
|
|
|
4218
4248
|
callSettings,
|
|
4219
4249
|
stepSettings
|
|
4220
4250
|
}) {
|
|
4221
|
-
var
|
|
4251
|
+
var _a23, _b, _c, _d, _e, _f, _g, _h;
|
|
4222
4252
|
return prepareCallSettings({
|
|
4223
|
-
maxOutputTokens: (
|
|
4253
|
+
maxOutputTokens: (_a23 = stepSettings == null ? void 0 : stepSettings.maxOutputTokens) != null ? _a23 : callSettings.maxOutputTokens,
|
|
4224
4254
|
temperature: (_b = stepSettings == null ? void 0 : stepSettings.temperature) != null ? _b : callSettings.temperature,
|
|
4225
4255
|
topP: (_c = stepSettings == null ? void 0 : stepSettings.topP) != null ? _c : callSettings.topP,
|
|
4226
4256
|
topK: (_d = stepSettings == null ? void 0 : stepSettings.topK) != null ? _d : callSettings.topK,
|
|
@@ -4314,8 +4344,8 @@ function isLoopFinished() {
|
|
|
4314
4344
|
}
|
|
4315
4345
|
function hasToolCall(toolName) {
|
|
4316
4346
|
return ({ steps }) => {
|
|
4317
|
-
var
|
|
4318
|
-
return (_c = (_b = (
|
|
4347
|
+
var _a23, _b, _c;
|
|
4348
|
+
return (_c = (_b = (_a23 = steps[steps.length - 1]) == null ? void 0 : _a23.toolCalls) == null ? void 0 : _b.some(
|
|
4319
4349
|
(toolCall) => toolCall.toolName === toolName
|
|
4320
4350
|
)) != null ? _c : false;
|
|
4321
4351
|
};
|
|
@@ -4645,7 +4675,7 @@ async function generateText({
|
|
|
4645
4675
|
}),
|
|
4646
4676
|
tracer,
|
|
4647
4677
|
fn: async (span) => {
|
|
4648
|
-
var
|
|
4678
|
+
var _a23, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t;
|
|
4649
4679
|
const initialMessages = initialPrompt.messages;
|
|
4650
4680
|
const responseMessages = [];
|
|
4651
4681
|
const {
|
|
@@ -4770,7 +4800,7 @@ async function generateText({
|
|
|
4770
4800
|
experimental_context
|
|
4771
4801
|
}));
|
|
4772
4802
|
const stepModel = resolveLanguageModel(
|
|
4773
|
-
(
|
|
4803
|
+
(_a23 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a23 : model
|
|
4774
4804
|
);
|
|
4775
4805
|
const stepModelInfo = {
|
|
4776
4806
|
provider: stepModel.provider,
|
|
@@ -4870,7 +4900,7 @@ async function generateText({
|
|
|
4870
4900
|
}),
|
|
4871
4901
|
tracer,
|
|
4872
4902
|
fn: async (span2) => {
|
|
4873
|
-
var
|
|
4903
|
+
var _a24, _b2, _c2, _d2, _e2, _f2, _g2, _h2;
|
|
4874
4904
|
const result = await stepModel.doGenerate({
|
|
4875
4905
|
...stepCallSettings,
|
|
4876
4906
|
tools: stepTools,
|
|
@@ -4882,7 +4912,7 @@ async function generateText({
|
|
|
4882
4912
|
headers: headersWithUserAgent
|
|
4883
4913
|
});
|
|
4884
4914
|
const responseData = {
|
|
4885
|
-
id: (_b2 = (
|
|
4915
|
+
id: (_b2 = (_a24 = result.response) == null ? void 0 : _a24.id) != null ? _b2 : generateId2(),
|
|
4886
4916
|
timestamp: (_d2 = (_c2 = result.response) == null ? void 0 : _c2.timestamp) != null ? _d2 : /* @__PURE__ */ new Date(),
|
|
4887
4917
|
modelId: (_f2 = (_e2 = result.response) == null ? void 0 : _e2.modelId) != null ? _f2 : stepModel.modelId,
|
|
4888
4918
|
headers: (_g2 = result.response) == null ? void 0 : _g2.headers,
|
|
@@ -4950,6 +4980,18 @@ async function generateText({
|
|
|
4950
4980
|
})
|
|
4951
4981
|
)
|
|
4952
4982
|
);
|
|
4983
|
+
const enforcedToolChoice = (stepToolChoice == null ? void 0 : stepToolChoice.type) === "required" || (stepToolChoice == null ? void 0 : stepToolChoice.type) === "tool" ? stepToolChoice : void 0;
|
|
4984
|
+
if (enforcedToolChoice != null && !stepToolCalls.some(
|
|
4985
|
+
(toolCall) => enforcedToolChoice.type === "required" || toolCall.toolName === enforcedToolChoice.toolName
|
|
4986
|
+
)) {
|
|
4987
|
+
throw new ToolChoiceViolationError({
|
|
4988
|
+
toolChoice: enforcedToolChoice,
|
|
4989
|
+
finishReason: currentModelResponse.finishReason.unified,
|
|
4990
|
+
provider: stepModel.provider,
|
|
4991
|
+
modelId: stepModel.modelId,
|
|
4992
|
+
content: currentModelResponse.content
|
|
4993
|
+
});
|
|
4994
|
+
}
|
|
4953
4995
|
const toolApprovalRequests = {};
|
|
4954
4996
|
for (const toolCall of stepToolCalls) {
|
|
4955
4997
|
if (toolCall.invalid) {
|
|
@@ -5470,7 +5512,7 @@ function asContent({
|
|
|
5470
5512
|
}
|
|
5471
5513
|
|
|
5472
5514
|
// src/generate-text/stream-text.ts
|
|
5473
|
-
var
|
|
5515
|
+
var import_provider30 = require("@ai-sdk/provider");
|
|
5474
5516
|
var import_provider_utils20 = require("@ai-sdk/provider-utils");
|
|
5475
5517
|
|
|
5476
5518
|
// src/util/prepare-headers.ts
|
|
@@ -5867,7 +5909,7 @@ function processUIMessageStream({
|
|
|
5867
5909
|
new TransformStream({
|
|
5868
5910
|
async transform(chunk, controller) {
|
|
5869
5911
|
await runUpdateMessageJob(async ({ state, write }) => {
|
|
5870
|
-
var
|
|
5912
|
+
var _a23, _b, _c, _d;
|
|
5871
5913
|
function getCurrentStepParts() {
|
|
5872
5914
|
const parts = state.message.parts;
|
|
5873
5915
|
let currentStepStartIndex = parts.length - 1;
|
|
@@ -5904,7 +5946,7 @@ function processUIMessageStream({
|
|
|
5904
5946
|
return toolInvocation;
|
|
5905
5947
|
}
|
|
5906
5948
|
function updateToolPart(options, existingPart) {
|
|
5907
|
-
var
|
|
5949
|
+
var _a24;
|
|
5908
5950
|
const part = existingPart != null ? existingPart : getCurrentStepParts().find(
|
|
5909
5951
|
(part2) => isStaticToolUIPart(part2) && part2.toolCallId === options.toolCallId
|
|
5910
5952
|
);
|
|
@@ -5923,7 +5965,7 @@ function processUIMessageStream({
|
|
|
5923
5965
|
if (options.toolMetadata !== void 0) {
|
|
5924
5966
|
anyPart.toolMetadata = options.toolMetadata;
|
|
5925
5967
|
}
|
|
5926
|
-
anyPart.providerExecuted = (
|
|
5968
|
+
anyPart.providerExecuted = (_a24 = anyOptions.providerExecuted) != null ? _a24 : part.providerExecuted;
|
|
5927
5969
|
const providerMetadata = anyOptions.providerMetadata;
|
|
5928
5970
|
if (providerMetadata != null) {
|
|
5929
5971
|
if (options.state === "output-available" || options.state === "output-error") {
|
|
@@ -5952,7 +5994,7 @@ function processUIMessageStream({
|
|
|
5952
5994
|
}
|
|
5953
5995
|
}
|
|
5954
5996
|
function updateDynamicToolPart(options, existingPart) {
|
|
5955
|
-
var
|
|
5997
|
+
var _a24, _b2;
|
|
5956
5998
|
const part = existingPart != null ? existingPart : getCurrentStepParts().find(
|
|
5957
5999
|
(part2) => part2.type === "dynamic-tool" && part2.toolCallId === options.toolCallId
|
|
5958
6000
|
);
|
|
@@ -5964,7 +6006,7 @@ function processUIMessageStream({
|
|
|
5964
6006
|
anyPart.input = anyOptions.input;
|
|
5965
6007
|
anyPart.output = anyOptions.output;
|
|
5966
6008
|
anyPart.errorText = anyOptions.errorText;
|
|
5967
|
-
anyPart.rawInput = (
|
|
6009
|
+
anyPart.rawInput = (_a24 = anyOptions.rawInput) != null ? _a24 : anyPart.rawInput;
|
|
5968
6010
|
anyPart.preliminary = anyOptions.preliminary;
|
|
5969
6011
|
if (options.title !== void 0) {
|
|
5970
6012
|
anyPart.title = options.title;
|
|
@@ -6039,7 +6081,7 @@ function processUIMessageStream({
|
|
|
6039
6081
|
});
|
|
6040
6082
|
}
|
|
6041
6083
|
textPart.text += chunk.delta;
|
|
6042
|
-
textPart.providerMetadata = (
|
|
6084
|
+
textPart.providerMetadata = (_a23 = chunk.providerMetadata) != null ? _a23 : textPart.providerMetadata;
|
|
6043
6085
|
write();
|
|
6044
6086
|
break;
|
|
6045
6087
|
}
|
|
@@ -6506,13 +6548,13 @@ function handleUIMessageStreamFinish({
|
|
|
6506
6548
|
};
|
|
6507
6549
|
let finishCalled = false;
|
|
6508
6550
|
const callOnFinish = async () => {
|
|
6509
|
-
var
|
|
6551
|
+
var _a23;
|
|
6510
6552
|
if (finishCalled || !onFinish) {
|
|
6511
6553
|
return;
|
|
6512
6554
|
}
|
|
6513
6555
|
finishCalled = true;
|
|
6514
6556
|
const isContinuation = state.message.id === (lastMessage == null ? void 0 : lastMessage.id);
|
|
6515
|
-
const declaredOutcome = (
|
|
6557
|
+
const declaredOutcome = (_a23 = getOutcome == null ? void 0 : getOutcome()) != null ? _a23 : { status: "unknown" };
|
|
6516
6558
|
const outcome = hasProcessingFailure ? { status: "failed", error: processingError } : declaredOutcome.status === "unknown" && isAborted ? { status: "aborted" } : declaredOutcome;
|
|
6517
6559
|
await onFinish({
|
|
6518
6560
|
isAborted: isAborted || outcome.status === "aborted",
|
|
@@ -6606,13 +6648,13 @@ function createAsyncIterableStream(source) {
|
|
|
6606
6648
|
const reader = this.getReader();
|
|
6607
6649
|
let finished = false;
|
|
6608
6650
|
async function cleanup(cancelStream) {
|
|
6609
|
-
var
|
|
6651
|
+
var _a23;
|
|
6610
6652
|
if (finished)
|
|
6611
6653
|
return;
|
|
6612
6654
|
finished = true;
|
|
6613
6655
|
try {
|
|
6614
6656
|
if (cancelStream) {
|
|
6615
|
-
await ((
|
|
6657
|
+
await ((_a23 = reader.cancel) == null ? void 0 : _a23.call(reader));
|
|
6616
6658
|
}
|
|
6617
6659
|
} finally {
|
|
6618
6660
|
try {
|
|
@@ -6727,7 +6769,7 @@ function createStitchableStream() {
|
|
|
6727
6769
|
controller == null ? void 0 : controller.close();
|
|
6728
6770
|
};
|
|
6729
6771
|
const processPull = async () => {
|
|
6730
|
-
var
|
|
6772
|
+
var _a23;
|
|
6731
6773
|
if (isCancelled) {
|
|
6732
6774
|
return;
|
|
6733
6775
|
}
|
|
@@ -6760,7 +6802,7 @@ function createStitchableStream() {
|
|
|
6760
6802
|
if (isCancelled) {
|
|
6761
6803
|
return;
|
|
6762
6804
|
}
|
|
6763
|
-
(
|
|
6805
|
+
(_a23 = currentStream.onError) == null ? void 0 : _a23.call(currentStream, error);
|
|
6764
6806
|
controller == null ? void 0 : controller.error(error);
|
|
6765
6807
|
innerStreams.shift();
|
|
6766
6808
|
terminate();
|
|
@@ -6784,9 +6826,9 @@ function createStitchableStream() {
|
|
|
6784
6826
|
}
|
|
6785
6827
|
}),
|
|
6786
6828
|
addStream: (innerStream, callbacks) => {
|
|
6787
|
-
var
|
|
6829
|
+
var _a23;
|
|
6788
6830
|
if (isCancelled) {
|
|
6789
|
-
(
|
|
6831
|
+
(_a23 = callbacks == null ? void 0 : callbacks.onCancel) == null ? void 0 : _a23.call(callbacks);
|
|
6790
6832
|
void innerStream.cancel().catch(() => {
|
|
6791
6833
|
});
|
|
6792
6834
|
return;
|
|
@@ -7265,7 +7307,7 @@ function createOutputTransformStream(output) {
|
|
|
7265
7307
|
}
|
|
7266
7308
|
return new TransformStream({
|
|
7267
7309
|
async transform(chunk, controller) {
|
|
7268
|
-
var
|
|
7310
|
+
var _a23;
|
|
7269
7311
|
if (chunk.type === "finish-step" && textChunk.length > 0) {
|
|
7270
7312
|
publishTextChunk({ controller });
|
|
7271
7313
|
}
|
|
@@ -7292,7 +7334,7 @@ function createOutputTransformStream(output) {
|
|
|
7292
7334
|
}
|
|
7293
7335
|
text2 += chunk.text;
|
|
7294
7336
|
textChunk += chunk.text;
|
|
7295
|
-
textProviderMetadata = (
|
|
7337
|
+
textProviderMetadata = (_a23 = chunk.providerMetadata) != null ? _a23 : textProviderMetadata;
|
|
7296
7338
|
if (chunk.text.length === 0 && chunk.providerMetadata != null) {
|
|
7297
7339
|
controller.enqueue({ part: chunk, partialOutput: void 0 });
|
|
7298
7340
|
return;
|
|
@@ -7398,7 +7440,7 @@ var DefaultStreamTextResult = class {
|
|
|
7398
7440
|
let activeReasoningContent = createIdMap();
|
|
7399
7441
|
const eventProcessor = new TransformStream({
|
|
7400
7442
|
async transform(chunk, controller) {
|
|
7401
|
-
var
|
|
7443
|
+
var _a23, _b, _c, _d;
|
|
7402
7444
|
controller.enqueue(chunk);
|
|
7403
7445
|
const { part } = chunk;
|
|
7404
7446
|
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") {
|
|
@@ -7438,7 +7480,7 @@ var DefaultStreamTextResult = class {
|
|
|
7438
7480
|
return;
|
|
7439
7481
|
}
|
|
7440
7482
|
activeText.text += part.text;
|
|
7441
|
-
activeText.providerMetadata = (
|
|
7483
|
+
activeText.providerMetadata = (_a23 = part.providerMetadata) != null ? _a23 : activeText.providerMetadata;
|
|
7442
7484
|
}
|
|
7443
7485
|
if (part.type === "text-end") {
|
|
7444
7486
|
const activeText = activeTextContent[part.id];
|
|
@@ -7564,7 +7606,7 @@ var DefaultStreamTextResult = class {
|
|
|
7564
7606
|
}
|
|
7565
7607
|
},
|
|
7566
7608
|
async flush(controller) {
|
|
7567
|
-
var
|
|
7609
|
+
var _a23, _b, _c, _d, _e, _f, _g;
|
|
7568
7610
|
try {
|
|
7569
7611
|
if (recordedSteps.length === 0 || recordedNoOutputError != null) {
|
|
7570
7612
|
const error = (abortSignal == null ? void 0 : abortSignal.aborted) ? abortSignal.reason : recordedNoOutputError != null ? recordedNoOutputError : new NoOutputGeneratedError({
|
|
@@ -7583,40 +7625,51 @@ var DefaultStreamTextResult = class {
|
|
|
7583
7625
|
self._totalUsage.resolve(totalUsage);
|
|
7584
7626
|
self._steps.resolve(recordedSteps);
|
|
7585
7627
|
const finalStep = recordedSteps[recordedSteps.length - 1];
|
|
7586
|
-
|
|
7587
|
-
|
|
7588
|
-
|
|
7589
|
-
|
|
7590
|
-
|
|
7591
|
-
|
|
7592
|
-
|
|
7593
|
-
|
|
7594
|
-
|
|
7595
|
-
|
|
7596
|
-
|
|
7597
|
-
|
|
7598
|
-
|
|
7599
|
-
|
|
7600
|
-
|
|
7601
|
-
|
|
7602
|
-
|
|
7603
|
-
|
|
7604
|
-
|
|
7605
|
-
|
|
7606
|
-
|
|
7607
|
-
|
|
7608
|
-
|
|
7609
|
-
|
|
7610
|
-
|
|
7611
|
-
|
|
7612
|
-
|
|
7613
|
-
|
|
7614
|
-
|
|
7615
|
-
|
|
7616
|
-
|
|
7617
|
-
|
|
7618
|
-
|
|
7619
|
-
|
|
7628
|
+
const onFinishEvent = {
|
|
7629
|
+
stepNumber: finalStep.stepNumber,
|
|
7630
|
+
model: finalStep.model,
|
|
7631
|
+
functionId: finalStep.functionId,
|
|
7632
|
+
metadata: finalStep.metadata,
|
|
7633
|
+
experimental_context: finalStep.experimental_context,
|
|
7634
|
+
finishReason: finalStep.finishReason,
|
|
7635
|
+
rawFinishReason: finalStep.rawFinishReason,
|
|
7636
|
+
totalUsage,
|
|
7637
|
+
usage: finalStep.usage,
|
|
7638
|
+
content: finalStep.content,
|
|
7639
|
+
text: finalStep.text,
|
|
7640
|
+
reasoningText: finalStep.reasoningText,
|
|
7641
|
+
reasoning: finalStep.reasoning,
|
|
7642
|
+
files: finalStep.files,
|
|
7643
|
+
sources: finalStep.sources,
|
|
7644
|
+
toolCalls: finalStep.toolCalls,
|
|
7645
|
+
staticToolCalls: finalStep.staticToolCalls,
|
|
7646
|
+
dynamicToolCalls: finalStep.dynamicToolCalls,
|
|
7647
|
+
toolResults: finalStep.toolResults,
|
|
7648
|
+
staticToolResults: finalStep.staticToolResults,
|
|
7649
|
+
dynamicToolResults: finalStep.dynamicToolResults,
|
|
7650
|
+
request: finalStep.request,
|
|
7651
|
+
response: finalStep.response,
|
|
7652
|
+
warnings: finalStep.warnings,
|
|
7653
|
+
providerMetadata: finalStep.providerMetadata,
|
|
7654
|
+
steps: recordedSteps
|
|
7655
|
+
};
|
|
7656
|
+
const onFinishWithOutput = onFinish == null ? void 0 : async (event) => {
|
|
7657
|
+
const parsedOutput = output == null ? void 0 : await self.getOutputPromise().catch(() => void 0);
|
|
7658
|
+
await onFinish({
|
|
7659
|
+
...event,
|
|
7660
|
+
...output != null ? { output: parsedOutput } : {}
|
|
7661
|
+
});
|
|
7662
|
+
};
|
|
7663
|
+
await Promise.all([
|
|
7664
|
+
notify({
|
|
7665
|
+
event: onFinishEvent,
|
|
7666
|
+
callbacks: onFinishWithOutput
|
|
7667
|
+
}),
|
|
7668
|
+
notify({
|
|
7669
|
+
event: onFinishEvent,
|
|
7670
|
+
callbacks: globalTelemetry.onFinish
|
|
7671
|
+
})
|
|
7672
|
+
]);
|
|
7620
7673
|
rootSpan.setAttributes(
|
|
7621
7674
|
await selectTelemetryAttributes({
|
|
7622
7675
|
telemetry,
|
|
@@ -7628,15 +7681,15 @@ var DefaultStreamTextResult = class {
|
|
|
7628
7681
|
},
|
|
7629
7682
|
"ai.response.toolCalls": {
|
|
7630
7683
|
output: () => {
|
|
7631
|
-
var
|
|
7632
|
-
return ((
|
|
7684
|
+
var _a24;
|
|
7685
|
+
return ((_a24 = finalStep.toolCalls) == null ? void 0 : _a24.length) ? JSON.stringify(finalStep.toolCalls) : void 0;
|
|
7633
7686
|
}
|
|
7634
7687
|
},
|
|
7635
7688
|
"ai.response.providerMetadata": JSON.stringify(
|
|
7636
7689
|
finalStep.providerMetadata
|
|
7637
7690
|
),
|
|
7638
7691
|
"ai.usage.inputTokens": totalUsage.inputTokens,
|
|
7639
|
-
"ai.usage.inputTokenDetails.noCacheTokens": (
|
|
7692
|
+
"ai.usage.inputTokenDetails.noCacheTokens": (_a23 = totalUsage.inputTokenDetails) == null ? void 0 : _a23.noCacheTokens,
|
|
7640
7693
|
"ai.usage.inputTokenDetails.cacheReadTokens": (_b = totalUsage.inputTokenDetails) == null ? void 0 : _b.cacheReadTokens,
|
|
7641
7694
|
"ai.usage.inputTokenDetails.cacheWriteTokens": (_c = totalUsage.inputTokenDetails) == null ? void 0 : _c.cacheWriteTokens,
|
|
7642
7695
|
"ai.usage.outputTokens": totalUsage.outputTokens,
|
|
@@ -7671,7 +7724,7 @@ var DefaultStreamTextResult = class {
|
|
|
7671
7724
|
// The `reason` is usually of type DOMException, but it can also be of any type,
|
|
7672
7725
|
// so we use getErrorMessage for serialization because it is already designed to accept values of the unknown type.
|
|
7673
7726
|
// See: https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/reason
|
|
7674
|
-
...(abortSignal == null ? void 0 : abortSignal.reason) !== void 0 ? { reason: (0,
|
|
7727
|
+
...(abortSignal == null ? void 0 : abortSignal.reason) !== void 0 ? { reason: (0, import_provider30.getErrorMessage)(abortSignal.reason) } : {}
|
|
7675
7728
|
});
|
|
7676
7729
|
controller.close();
|
|
7677
7730
|
}
|
|
@@ -7833,7 +7886,7 @@ var DefaultStreamTextResult = class {
|
|
|
7833
7886
|
toolCallId: toolApproval.toolCall.toolCallId,
|
|
7834
7887
|
toolName: toolApproval.toolCall.toolName,
|
|
7835
7888
|
input: toolApproval.toolCall.input,
|
|
7836
|
-
error: (0,
|
|
7889
|
+
error: (0, import_provider30.getErrorMessage)(toolApproval.error),
|
|
7837
7890
|
title: toolApproval.toolCall.title,
|
|
7838
7891
|
...toolApproval.toolCall.dynamic === true ? { dynamic: true } : {},
|
|
7839
7892
|
...toolApproval.toolCall.toolMetadata != null ? { toolMetadata: toolApproval.toolCall.toolMetadata } : {}
|
|
@@ -7926,7 +7979,7 @@ var DefaultStreamTextResult = class {
|
|
|
7926
7979
|
responseMessages,
|
|
7927
7980
|
usage
|
|
7928
7981
|
}) {
|
|
7929
|
-
var
|
|
7982
|
+
var _a23, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
7930
7983
|
const includeRawChunks2 = self.includeRawChunks;
|
|
7931
7984
|
const stepTimeoutId = setAbortTimeout({
|
|
7932
7985
|
abortController: stepAbortController,
|
|
@@ -7977,7 +8030,7 @@ var DefaultStreamTextResult = class {
|
|
|
7977
8030
|
experimental_context
|
|
7978
8031
|
}));
|
|
7979
8032
|
const stepModel = resolveLanguageModel(
|
|
7980
|
-
(
|
|
8033
|
+
(_a23 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a23 : model
|
|
7981
8034
|
);
|
|
7982
8035
|
const stepModelInfo = {
|
|
7983
8036
|
provider: stepModel.provider,
|
|
@@ -8147,7 +8200,7 @@ var DefaultStreamTextResult = class {
|
|
|
8147
8200
|
streamWithToolResults.pipeThrough(
|
|
8148
8201
|
new TransformStream({
|
|
8149
8202
|
async transform(chunk, controller) {
|
|
8150
|
-
var
|
|
8203
|
+
var _a24, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i2;
|
|
8151
8204
|
resetChunkTimeout();
|
|
8152
8205
|
if (chunk.type === "stream-start") {
|
|
8153
8206
|
warnings = chunk.warnings;
|
|
@@ -8186,7 +8239,7 @@ var DefaultStreamTextResult = class {
|
|
|
8186
8239
|
case "text-end": {
|
|
8187
8240
|
controller.enqueue({
|
|
8188
8241
|
...chunk,
|
|
8189
|
-
id: (
|
|
8242
|
+
id: (_a24 = textPartIds.get(chunk.id)) != null ? _a24 : chunk.id
|
|
8190
8243
|
});
|
|
8191
8244
|
textPartIds.delete(chunk.id);
|
|
8192
8245
|
break;
|
|
@@ -8333,7 +8386,7 @@ var DefaultStreamTextResult = class {
|
|
|
8333
8386
|
},
|
|
8334
8387
|
// invoke onFinish callback and resolve toolResults promise when the stream is about to close:
|
|
8335
8388
|
async flush(controller) {
|
|
8336
|
-
var
|
|
8389
|
+
var _a24, _b2, _c2, _d2, _e2, _f2, _g2;
|
|
8337
8390
|
if (!hasReceivedTerminalChunk && !hasReceivedOutputChunk) {
|
|
8338
8391
|
controller.enqueue({
|
|
8339
8392
|
type: "error",
|
|
@@ -8360,7 +8413,7 @@ var DefaultStreamTextResult = class {
|
|
|
8360
8413
|
"ai.response.model": stepResponse.modelId,
|
|
8361
8414
|
"ai.response.timestamp": stepResponse.timestamp.toISOString(),
|
|
8362
8415
|
"ai.usage.inputTokens": stepUsage.inputTokens,
|
|
8363
|
-
"ai.usage.inputTokenDetails.noCacheTokens": (
|
|
8416
|
+
"ai.usage.inputTokenDetails.noCacheTokens": (_a24 = stepUsage.inputTokenDetails) == null ? void 0 : _a24.noCacheTokens,
|
|
8364
8417
|
"ai.usage.inputTokenDetails.cacheReadTokens": (_b2 = stepUsage.inputTokenDetails) == null ? void 0 : _b2.cacheReadTokens,
|
|
8365
8418
|
"ai.usage.inputTokenDetails.cacheWriteTokens": (_c2 = stepUsage.inputTokenDetails) == null ? void 0 : _c2.cacheWriteTokens,
|
|
8366
8419
|
"ai.usage.outputTokens": stepUsage.outputTokens,
|
|
@@ -8637,19 +8690,19 @@ var DefaultStreamTextResult = class {
|
|
|
8637
8690
|
this._steps.reject(error);
|
|
8638
8691
|
}
|
|
8639
8692
|
async consumeStream(options) {
|
|
8640
|
-
var
|
|
8693
|
+
var _a23;
|
|
8641
8694
|
try {
|
|
8642
8695
|
await consumeStream({
|
|
8643
8696
|
stream: this.fullStream,
|
|
8644
8697
|
onError: (error) => {
|
|
8645
|
-
var
|
|
8698
|
+
var _a24;
|
|
8646
8699
|
this.rejectResultPromises(error);
|
|
8647
|
-
(
|
|
8700
|
+
(_a24 = options == null ? void 0 : options.onError) == null ? void 0 : _a24.call(options, error);
|
|
8648
8701
|
}
|
|
8649
8702
|
});
|
|
8650
8703
|
} catch (error) {
|
|
8651
8704
|
this.rejectResultPromises(error);
|
|
8652
|
-
(
|
|
8705
|
+
(_a23 = options == null ? void 0 : options.onError) == null ? void 0 : _a23.call(options, error);
|
|
8653
8706
|
}
|
|
8654
8707
|
}
|
|
8655
8708
|
get experimental_partialOutputStream() {
|
|
@@ -8669,28 +8722,34 @@ var DefaultStreamTextResult = class {
|
|
|
8669
8722
|
);
|
|
8670
8723
|
}
|
|
8671
8724
|
get elementStream() {
|
|
8672
|
-
var
|
|
8673
|
-
const transform = (
|
|
8725
|
+
var _a23, _b, _c;
|
|
8726
|
+
const transform = (_a23 = this.outputSpecification) == null ? void 0 : _a23.createElementStreamTransform();
|
|
8674
8727
|
if (transform == null) {
|
|
8675
|
-
throw new
|
|
8728
|
+
throw new import_provider30.UnsupportedFunctionalityError({
|
|
8676
8729
|
functionality: `element streams in ${(_c = (_b = this.outputSpecification) == null ? void 0 : _b.name) != null ? _c : "text"} mode`
|
|
8677
8730
|
});
|
|
8678
8731
|
}
|
|
8679
8732
|
return createAsyncIterableStream(this.teeStream().pipeThrough(transform));
|
|
8680
8733
|
}
|
|
8734
|
+
getOutputPromise() {
|
|
8735
|
+
if (this.outputPromise == null) {
|
|
8736
|
+
this.outputPromise = this.finalStep.then((step) => {
|
|
8737
|
+
var _a23;
|
|
8738
|
+
const output = (_a23 = this.outputSpecification) != null ? _a23 : text();
|
|
8739
|
+
return output.parseCompleteOutput(
|
|
8740
|
+
{ text: step.text },
|
|
8741
|
+
{
|
|
8742
|
+
response: step.response,
|
|
8743
|
+
usage: step.usage,
|
|
8744
|
+
finishReason: step.finishReason
|
|
8745
|
+
}
|
|
8746
|
+
);
|
|
8747
|
+
});
|
|
8748
|
+
}
|
|
8749
|
+
return this.outputPromise;
|
|
8750
|
+
}
|
|
8681
8751
|
get output() {
|
|
8682
|
-
return this.
|
|
8683
|
-
var _a22;
|
|
8684
|
-
const output = (_a22 = this.outputSpecification) != null ? _a22 : text();
|
|
8685
|
-
return output.parseCompleteOutput(
|
|
8686
|
-
{ text: step.text },
|
|
8687
|
-
{
|
|
8688
|
-
response: step.response,
|
|
8689
|
-
usage: step.usage,
|
|
8690
|
-
finishReason: step.finishReason
|
|
8691
|
-
}
|
|
8692
|
-
);
|
|
8693
|
-
});
|
|
8752
|
+
return this.getOutputPromise();
|
|
8694
8753
|
}
|
|
8695
8754
|
toUIMessageStream({
|
|
8696
8755
|
originalMessages,
|
|
@@ -8720,8 +8779,8 @@ var DefaultStreamTextResult = class {
|
|
|
8720
8779
|
responseMessageId: generateMessageId
|
|
8721
8780
|
}) : void 0;
|
|
8722
8781
|
const isDynamic = (part) => {
|
|
8723
|
-
var
|
|
8724
|
-
const tool2 = (
|
|
8782
|
+
var _a23;
|
|
8783
|
+
const tool2 = (_a23 = this.tools) == null ? void 0 : _a23[part.toolName];
|
|
8725
8784
|
if (tool2 == null) {
|
|
8726
8785
|
return part.dynamic;
|
|
8727
8786
|
}
|
|
@@ -9119,7 +9178,7 @@ var ToolLoopAgent = class {
|
|
|
9119
9178
|
return this.settings.tools;
|
|
9120
9179
|
}
|
|
9121
9180
|
async prepareCall(options) {
|
|
9122
|
-
var
|
|
9181
|
+
var _a23, _b, _c, _d;
|
|
9123
9182
|
if (this.settings.callOptionsSchema != null && options.options !== void 0) {
|
|
9124
9183
|
const validatedOptions = await (0, import_provider_utils21.validateTypes)({
|
|
9125
9184
|
value: options.options,
|
|
@@ -9131,7 +9190,7 @@ var ToolLoopAgent = class {
|
|
|
9131
9190
|
const { onStepFinish: _settingsOnStepFinish, ...settingsWithoutCallback } = this.settings;
|
|
9132
9191
|
const baseCallArgs = {
|
|
9133
9192
|
...settingsWithoutCallback,
|
|
9134
|
-
stopWhen: (
|
|
9193
|
+
stopWhen: (_a23 = this.settings.stopWhen) != null ? _a23 : stepCountIs(20),
|
|
9135
9194
|
...options
|
|
9136
9195
|
};
|
|
9137
9196
|
const preparedCallArgs = (_d = await ((_c = (_b = this.settings).prepareCall) == null ? void 0 : _c.call(
|
|
@@ -9343,7 +9402,7 @@ function readUIMessageStream({
|
|
|
9343
9402
|
onError,
|
|
9344
9403
|
terminateOnError = false
|
|
9345
9404
|
}) {
|
|
9346
|
-
var
|
|
9405
|
+
var _a23;
|
|
9347
9406
|
let controller;
|
|
9348
9407
|
let hasErrored = false;
|
|
9349
9408
|
const outputStream = new ReadableStream({
|
|
@@ -9352,7 +9411,7 @@ function readUIMessageStream({
|
|
|
9352
9411
|
}
|
|
9353
9412
|
});
|
|
9354
9413
|
const state = createStreamingUIMessageState({
|
|
9355
|
-
messageId: (
|
|
9414
|
+
messageId: (_a23 = message == null ? void 0 : message.id) != null ? _a23 : "",
|
|
9356
9415
|
lastMessage: message
|
|
9357
9416
|
});
|
|
9358
9417
|
const handleError = (error) => {
|
|
@@ -9419,7 +9478,7 @@ async function convertToModelMessages(messages, options) {
|
|
|
9419
9478
|
modelMessages.push({
|
|
9420
9479
|
role: "user",
|
|
9421
9480
|
content: message.parts.map((part) => {
|
|
9422
|
-
var
|
|
9481
|
+
var _a23;
|
|
9423
9482
|
if (isTextUIPart(part)) {
|
|
9424
9483
|
return {
|
|
9425
9484
|
type: "text",
|
|
@@ -9437,7 +9496,7 @@ async function convertToModelMessages(messages, options) {
|
|
|
9437
9496
|
};
|
|
9438
9497
|
}
|
|
9439
9498
|
if (isDataUIPart(part)) {
|
|
9440
|
-
return (
|
|
9499
|
+
return (_a23 = options == null ? void 0 : options.convertDataPart) == null ? void 0 : _a23.call(
|
|
9441
9500
|
options,
|
|
9442
9501
|
part
|
|
9443
9502
|
);
|
|
@@ -9450,7 +9509,7 @@ async function convertToModelMessages(messages, options) {
|
|
|
9450
9509
|
if (message.parts != null) {
|
|
9451
9510
|
let block = [];
|
|
9452
9511
|
async function processBlock() {
|
|
9453
|
-
var
|
|
9512
|
+
var _a23, _b, _c, _d, _e, _f, _g, _h;
|
|
9454
9513
|
if (block.length === 0) {
|
|
9455
9514
|
return;
|
|
9456
9515
|
}
|
|
@@ -9483,7 +9542,7 @@ async function convertToModelMessages(messages, options) {
|
|
|
9483
9542
|
type: "tool-call",
|
|
9484
9543
|
toolCallId: part.toolCallId,
|
|
9485
9544
|
toolName,
|
|
9486
|
-
input: part.state === "output-error" ? (
|
|
9545
|
+
input: part.state === "output-error" ? (_a23 = part.input) != null ? _a23 : "rawInput" in part ? part.rawInput : void 0 : part.input,
|
|
9487
9546
|
providerExecuted: part.providerExecuted,
|
|
9488
9547
|
...part.callProviderMetadata != null ? { providerOptions: part.callProviderMetadata } : {}
|
|
9489
9548
|
});
|
|
@@ -9533,8 +9592,8 @@ async function convertToModelMessages(messages, options) {
|
|
|
9533
9592
|
}
|
|
9534
9593
|
const toolParts = block.filter(
|
|
9535
9594
|
(part) => {
|
|
9536
|
-
var
|
|
9537
|
-
return isToolUIPart(part) && (part.providerExecuted !== true || ((
|
|
9595
|
+
var _a24;
|
|
9596
|
+
return isToolUIPart(part) && (part.providerExecuted !== true || ((_a24 = part.approval) == null ? void 0 : _a24.approved) != null);
|
|
9538
9597
|
}
|
|
9539
9598
|
);
|
|
9540
9599
|
if (toolParts.length > 0) {
|
|
@@ -9622,7 +9681,7 @@ async function convertToModelMessages(messages, options) {
|
|
|
9622
9681
|
}
|
|
9623
9682
|
|
|
9624
9683
|
// src/ui/validate-ui-messages.ts
|
|
9625
|
-
var
|
|
9684
|
+
var import_provider31 = require("@ai-sdk/provider");
|
|
9626
9685
|
var import_provider_utils24 = require("@ai-sdk/provider-utils");
|
|
9627
9686
|
var import_v48 = require("zod/v4");
|
|
9628
9687
|
var toolMetadataSchema2 = import_v48.z.record(
|
|
@@ -9989,7 +10048,7 @@ async function safeValidateUIMessagesInternal({
|
|
|
9989
10048
|
if (!dataSchema) {
|
|
9990
10049
|
return {
|
|
9991
10050
|
success: false,
|
|
9992
|
-
error: new
|
|
10051
|
+
error: new import_provider31.TypeValidationError({
|
|
9993
10052
|
value: dataPart.data,
|
|
9994
10053
|
cause: `No data schema found for data part ${dataName}`,
|
|
9995
10054
|
context: {
|
|
@@ -10026,7 +10085,7 @@ async function safeValidateUIMessagesInternal({
|
|
|
10026
10085
|
if (!tool2) {
|
|
10027
10086
|
return {
|
|
10028
10087
|
success: false,
|
|
10029
|
-
error: new
|
|
10088
|
+
error: new import_provider31.TypeValidationError({
|
|
10030
10089
|
value: toolPart.input,
|
|
10031
10090
|
cause: `No tool schema found for tool part ${toolName}`,
|
|
10032
10091
|
context: {
|
|
@@ -10138,7 +10197,7 @@ async function createAgentUIStream({
|
|
|
10138
10197
|
onStepFinish,
|
|
10139
10198
|
...uiMessageStreamOptions
|
|
10140
10199
|
}) {
|
|
10141
|
-
var
|
|
10200
|
+
var _a23;
|
|
10142
10201
|
const validatedMessages = await validateUIMessagesForAgent({
|
|
10143
10202
|
messages: uiMessages,
|
|
10144
10203
|
tools: agent.tools
|
|
@@ -10157,7 +10216,7 @@ async function createAgentUIStream({
|
|
|
10157
10216
|
return result.toUIMessageStream({
|
|
10158
10217
|
...uiMessageStreamOptions,
|
|
10159
10218
|
// TODO reading `originalMessages` is here for bc, always use `validatedMessages` in v7
|
|
10160
|
-
originalMessages: (
|
|
10219
|
+
originalMessages: (_a23 = uiMessageStreamOptions.originalMessages) != null ? _a23 : validatedMessages
|
|
10161
10220
|
});
|
|
10162
10221
|
}
|
|
10163
10222
|
|
|
@@ -10255,7 +10314,7 @@ async function embed({
|
|
|
10255
10314
|
}),
|
|
10256
10315
|
tracer,
|
|
10257
10316
|
fn: async (doEmbedSpan) => {
|
|
10258
|
-
var
|
|
10317
|
+
var _a23, _b;
|
|
10259
10318
|
const modelResponse = await model.doEmbed({
|
|
10260
10319
|
values: [value],
|
|
10261
10320
|
abortSignal,
|
|
@@ -10263,7 +10322,7 @@ async function embed({
|
|
|
10263
10322
|
providerOptions
|
|
10264
10323
|
});
|
|
10265
10324
|
const embedding2 = modelResponse.embeddings[0];
|
|
10266
|
-
const usage2 = (
|
|
10325
|
+
const usage2 = (_a23 = modelResponse.usage) != null ? _a23 : { tokens: NaN };
|
|
10267
10326
|
doEmbedSpan.setAttributes(
|
|
10268
10327
|
await selectTelemetryAttributes({
|
|
10269
10328
|
telemetry,
|
|
@@ -10383,7 +10442,7 @@ async function embedMany({
|
|
|
10383
10442
|
}),
|
|
10384
10443
|
tracer,
|
|
10385
10444
|
fn: async (span) => {
|
|
10386
|
-
var
|
|
10445
|
+
var _a23;
|
|
10387
10446
|
const [
|
|
10388
10447
|
maxEmbeddingsPerCall,
|
|
10389
10448
|
maxInputBytesPerCall,
|
|
@@ -10415,7 +10474,7 @@ async function embedMany({
|
|
|
10415
10474
|
}),
|
|
10416
10475
|
tracer,
|
|
10417
10476
|
fn: async (doEmbedSpan) => {
|
|
10418
|
-
var
|
|
10477
|
+
var _a24, _b;
|
|
10419
10478
|
const modelResponse = await model.doEmbed({
|
|
10420
10479
|
values,
|
|
10421
10480
|
abortSignal,
|
|
@@ -10423,7 +10482,7 @@ async function embedMany({
|
|
|
10423
10482
|
providerOptions
|
|
10424
10483
|
});
|
|
10425
10484
|
const embeddings3 = modelResponse.embeddings;
|
|
10426
|
-
const usage2 = (
|
|
10485
|
+
const usage2 = (_a24 = modelResponse.usage) != null ? _a24 : { tokens: NaN };
|
|
10427
10486
|
doEmbedSpan.setAttributes(
|
|
10428
10487
|
await selectTelemetryAttributes({
|
|
10429
10488
|
telemetry,
|
|
@@ -10508,7 +10567,7 @@ async function embedMany({
|
|
|
10508
10567
|
}),
|
|
10509
10568
|
tracer,
|
|
10510
10569
|
fn: async (doEmbedSpan) => {
|
|
10511
|
-
var
|
|
10570
|
+
var _a24, _b;
|
|
10512
10571
|
const modelResponse = await model.doEmbed({
|
|
10513
10572
|
values: chunk,
|
|
10514
10573
|
abortSignal,
|
|
@@ -10516,7 +10575,7 @@ async function embedMany({
|
|
|
10516
10575
|
providerOptions
|
|
10517
10576
|
});
|
|
10518
10577
|
const embeddings2 = modelResponse.embeddings;
|
|
10519
|
-
const usage = (
|
|
10578
|
+
const usage = (_a24 = modelResponse.usage) != null ? _a24 : { tokens: NaN };
|
|
10520
10579
|
doEmbedSpan.setAttributes(
|
|
10521
10580
|
await selectTelemetryAttributes({
|
|
10522
10581
|
telemetry,
|
|
@@ -10555,7 +10614,7 @@ async function embedMany({
|
|
|
10555
10614
|
result.providerMetadata
|
|
10556
10615
|
)) {
|
|
10557
10616
|
providerMetadata[providerName] = {
|
|
10558
|
-
...(
|
|
10617
|
+
...(_a23 = providerMetadata[providerName]) != null ? _a23 : {},
|
|
10559
10618
|
...metadata
|
|
10560
10619
|
};
|
|
10561
10620
|
}
|
|
@@ -10647,7 +10706,7 @@ async function generateImage({
|
|
|
10647
10706
|
abortSignal,
|
|
10648
10707
|
headers
|
|
10649
10708
|
}) {
|
|
10650
|
-
var
|
|
10709
|
+
var _a23, _b;
|
|
10651
10710
|
const model = resolveImageModel(modelArg);
|
|
10652
10711
|
const headersWithUserAgent = (0, import_provider_utils28.withUserAgentSuffix)(
|
|
10653
10712
|
headers != null ? headers : {},
|
|
@@ -10657,7 +10716,7 @@ async function generateImage({
|
|
|
10657
10716
|
maxRetries: maxRetriesArg,
|
|
10658
10717
|
abortSignal
|
|
10659
10718
|
});
|
|
10660
|
-
const maxImagesPerCallWithDefault = (
|
|
10719
|
+
const maxImagesPerCallWithDefault = (_a23 = maxImagesPerCall != null ? maxImagesPerCall : await invokeModelMaxImagesPerCall(model)) != null ? _a23 : 1;
|
|
10661
10720
|
const callCount = Math.ceil(n / maxImagesPerCallWithDefault);
|
|
10662
10721
|
const callImageCounts = Array.from({ length: callCount }, (_, i) => {
|
|
10663
10722
|
if (i < callCount - 1) {
|
|
@@ -10698,13 +10757,13 @@ async function generateImage({
|
|
|
10698
10757
|
images.push(
|
|
10699
10758
|
...result.images.map(
|
|
10700
10759
|
(image) => {
|
|
10701
|
-
var
|
|
10760
|
+
var _a24;
|
|
10702
10761
|
return new DefaultGeneratedFile({
|
|
10703
10762
|
data: image,
|
|
10704
|
-
mediaType: (
|
|
10763
|
+
mediaType: (_a24 = detectMediaType({
|
|
10705
10764
|
data: image,
|
|
10706
10765
|
signatures: imageMediaTypeSignatures
|
|
10707
|
-
})) != null ?
|
|
10766
|
+
})) != null ? _a24 : "image/png"
|
|
10708
10767
|
});
|
|
10709
10768
|
}
|
|
10710
10769
|
)
|
|
@@ -10821,7 +10880,7 @@ var experimental_generateImage = generateImage;
|
|
|
10821
10880
|
var import_provider_utils31 = require("@ai-sdk/provider-utils");
|
|
10822
10881
|
|
|
10823
10882
|
// src/generate-object/output-strategy.ts
|
|
10824
|
-
var
|
|
10883
|
+
var import_provider32 = require("@ai-sdk/provider");
|
|
10825
10884
|
var import_provider_utils29 = require("@ai-sdk/provider-utils");
|
|
10826
10885
|
var noSchemaOutputStrategy = {
|
|
10827
10886
|
type: "no-schema",
|
|
@@ -10842,7 +10901,7 @@ var noSchemaOutputStrategy = {
|
|
|
10842
10901
|
} : { success: true, value };
|
|
10843
10902
|
},
|
|
10844
10903
|
createElementStream() {
|
|
10845
|
-
throw new
|
|
10904
|
+
throw new import_provider32.UnsupportedFunctionalityError({
|
|
10846
10905
|
functionality: "element streams in no-schema mode"
|
|
10847
10906
|
});
|
|
10848
10907
|
}
|
|
@@ -10864,7 +10923,7 @@ var objectOutputStrategy = (schema) => ({
|
|
|
10864
10923
|
return (0, import_provider_utils29.safeValidateTypes)({ value, schema });
|
|
10865
10924
|
},
|
|
10866
10925
|
createElementStream() {
|
|
10867
|
-
throw new
|
|
10926
|
+
throw new import_provider32.UnsupportedFunctionalityError({
|
|
10868
10927
|
functionality: "element streams in object mode"
|
|
10869
10928
|
});
|
|
10870
10929
|
}
|
|
@@ -10893,11 +10952,11 @@ var arrayOutputStrategy = (schema) => {
|
|
|
10893
10952
|
isFirstDelta,
|
|
10894
10953
|
isFinalDelta
|
|
10895
10954
|
}) {
|
|
10896
|
-
var
|
|
10897
|
-
if (!(0,
|
|
10955
|
+
var _a23;
|
|
10956
|
+
if (!(0, import_provider32.isJSONObject)(value) || !(0, import_provider32.isJSONArray)(value.elements)) {
|
|
10898
10957
|
return {
|
|
10899
10958
|
success: false,
|
|
10900
|
-
error: new
|
|
10959
|
+
error: new import_provider32.TypeValidationError({
|
|
10901
10960
|
value,
|
|
10902
10961
|
cause: "value must be an object that contains an array of elements"
|
|
10903
10962
|
})
|
|
@@ -10916,7 +10975,7 @@ var arrayOutputStrategy = (schema) => {
|
|
|
10916
10975
|
}
|
|
10917
10976
|
resultArray.push(result.value);
|
|
10918
10977
|
}
|
|
10919
|
-
const publishedElementCount = (
|
|
10978
|
+
const publishedElementCount = (_a23 = latestObject == null ? void 0 : latestObject.length) != null ? _a23 : 0;
|
|
10920
10979
|
let textDelta = "";
|
|
10921
10980
|
if (isFirstDelta) {
|
|
10922
10981
|
textDelta += "[";
|
|
@@ -10937,10 +10996,10 @@ var arrayOutputStrategy = (schema) => {
|
|
|
10937
10996
|
};
|
|
10938
10997
|
},
|
|
10939
10998
|
async validateFinalResult(value) {
|
|
10940
|
-
if (!(0,
|
|
10999
|
+
if (!(0, import_provider32.isJSONObject)(value) || !(0, import_provider32.isJSONArray)(value.elements)) {
|
|
10941
11000
|
return {
|
|
10942
11001
|
success: false,
|
|
10943
|
-
error: new
|
|
11002
|
+
error: new import_provider32.TypeValidationError({
|
|
10944
11003
|
value,
|
|
10945
11004
|
cause: "value must be an object that contains an array of elements"
|
|
10946
11005
|
})
|
|
@@ -11005,10 +11064,10 @@ var enumOutputStrategy = (enumValues) => {
|
|
|
11005
11064
|
additionalProperties: false
|
|
11006
11065
|
}),
|
|
11007
11066
|
async validateFinalResult(value) {
|
|
11008
|
-
if (!(0,
|
|
11067
|
+
if (!(0, import_provider32.isJSONObject)(value) || typeof value.result !== "string") {
|
|
11009
11068
|
return {
|
|
11010
11069
|
success: false,
|
|
11011
|
-
error: new
|
|
11070
|
+
error: new import_provider32.TypeValidationError({
|
|
11012
11071
|
value,
|
|
11013
11072
|
cause: 'value must be an object that contains a string in the "result" property.'
|
|
11014
11073
|
})
|
|
@@ -11017,17 +11076,17 @@ var enumOutputStrategy = (enumValues) => {
|
|
|
11017
11076
|
const result = value.result;
|
|
11018
11077
|
return enumValues.includes(result) ? { success: true, value: result } : {
|
|
11019
11078
|
success: false,
|
|
11020
|
-
error: new
|
|
11079
|
+
error: new import_provider32.TypeValidationError({
|
|
11021
11080
|
value,
|
|
11022
11081
|
cause: "value must be a string in the enum"
|
|
11023
11082
|
})
|
|
11024
11083
|
};
|
|
11025
11084
|
},
|
|
11026
11085
|
async validatePartialResult({ value, textDelta }) {
|
|
11027
|
-
if (!(0,
|
|
11086
|
+
if (!(0, import_provider32.isJSONObject)(value) || typeof value.result !== "string") {
|
|
11028
11087
|
return {
|
|
11029
11088
|
success: false,
|
|
11030
|
-
error: new
|
|
11089
|
+
error: new import_provider32.TypeValidationError({
|
|
11031
11090
|
value,
|
|
11032
11091
|
cause: 'value must be an object that contains a string in the "result" property.'
|
|
11033
11092
|
})
|
|
@@ -11040,7 +11099,7 @@ var enumOutputStrategy = (enumValues) => {
|
|
|
11040
11099
|
if (value.result.length === 0 || possibleEnumValues.length === 0) {
|
|
11041
11100
|
return {
|
|
11042
11101
|
success: false,
|
|
11043
|
-
error: new
|
|
11102
|
+
error: new import_provider32.TypeValidationError({
|
|
11044
11103
|
value,
|
|
11045
11104
|
cause: "value must be a string in the enum"
|
|
11046
11105
|
})
|
|
@@ -11055,7 +11114,7 @@ var enumOutputStrategy = (enumValues) => {
|
|
|
11055
11114
|
};
|
|
11056
11115
|
},
|
|
11057
11116
|
createElementStream() {
|
|
11058
|
-
throw new
|
|
11117
|
+
throw new import_provider32.UnsupportedFunctionalityError({
|
|
11059
11118
|
functionality: "element streams in enum mode"
|
|
11060
11119
|
});
|
|
11061
11120
|
}
|
|
@@ -11083,7 +11142,7 @@ function getOutputStrategy({
|
|
|
11083
11142
|
}
|
|
11084
11143
|
|
|
11085
11144
|
// src/generate-object/parse-and-validate-object-result.ts
|
|
11086
|
-
var
|
|
11145
|
+
var import_provider33 = require("@ai-sdk/provider");
|
|
11087
11146
|
var import_provider_utils30 = require("@ai-sdk/provider-utils");
|
|
11088
11147
|
async function parseAndValidateObjectResult(result, outputStrategy, context2) {
|
|
11089
11148
|
const parseResult = await (0, import_provider_utils30.safeParseJSON)({ text: result });
|
|
@@ -11121,7 +11180,7 @@ async function parseAndValidateObjectResultWithRepair(result, outputStrategy, re
|
|
|
11121
11180
|
try {
|
|
11122
11181
|
return await parseAndValidateObjectResult(result, outputStrategy, context2);
|
|
11123
11182
|
} catch (error) {
|
|
11124
|
-
if (repairText != null && NoObjectGeneratedError.isInstance(error) && (
|
|
11183
|
+
if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider33.JSONParseError.isInstance(error.cause) || import_provider33.TypeValidationError.isInstance(error.cause))) {
|
|
11125
11184
|
const repairedText = await repairText({
|
|
11126
11185
|
text: result,
|
|
11127
11186
|
error: error.cause
|
|
@@ -11339,7 +11398,7 @@ async function generateObject(options) {
|
|
|
11339
11398
|
}),
|
|
11340
11399
|
tracer,
|
|
11341
11400
|
fn: async (span) => {
|
|
11342
|
-
var
|
|
11401
|
+
var _a23;
|
|
11343
11402
|
let result;
|
|
11344
11403
|
let finishReason;
|
|
11345
11404
|
let usage;
|
|
@@ -11386,7 +11445,7 @@ async function generateObject(options) {
|
|
|
11386
11445
|
}),
|
|
11387
11446
|
tracer,
|
|
11388
11447
|
fn: async (span2) => {
|
|
11389
|
-
var
|
|
11448
|
+
var _a24, _b, _c, _d, _e, _f, _g, _h;
|
|
11390
11449
|
const result2 = await model.doGenerate({
|
|
11391
11450
|
responseFormat: {
|
|
11392
11451
|
type: "json",
|
|
@@ -11401,7 +11460,7 @@ async function generateObject(options) {
|
|
|
11401
11460
|
headers: headersWithUserAgent
|
|
11402
11461
|
});
|
|
11403
11462
|
const responseData = {
|
|
11404
|
-
id: (_b = (
|
|
11463
|
+
id: (_b = (_a24 = result2.response) == null ? void 0 : _a24.id) != null ? _b : generateId2(),
|
|
11405
11464
|
timestamp: (_d = (_c = result2.response) == null ? void 0 : _c.timestamp) != null ? _d : currentDate(),
|
|
11406
11465
|
modelId: (_f = (_e = result2.response) == null ? void 0 : _e.modelId) != null ? _f : model.modelId,
|
|
11407
11466
|
headers: (_g = result2.response) == null ? void 0 : _g.headers,
|
|
@@ -11457,7 +11516,7 @@ async function generateObject(options) {
|
|
|
11457
11516
|
usage = asLanguageModelUsage(generateResult.usage);
|
|
11458
11517
|
warnings = generateResult.warnings;
|
|
11459
11518
|
resultProviderMetadata = generateResult.providerMetadata;
|
|
11460
|
-
request = (
|
|
11519
|
+
request = (_a23 = generateResult.request) != null ? _a23 : {};
|
|
11461
11520
|
response = generateResult.responseData;
|
|
11462
11521
|
reasoning = generateResult.reasoning;
|
|
11463
11522
|
logWarnings({
|
|
@@ -11520,9 +11579,9 @@ var DefaultGenerateObjectResult = class {
|
|
|
11520
11579
|
this.reasoning = options.reasoning;
|
|
11521
11580
|
}
|
|
11522
11581
|
toJsonResponse(init) {
|
|
11523
|
-
var
|
|
11582
|
+
var _a23;
|
|
11524
11583
|
return new Response(JSON.stringify(this.object), {
|
|
11525
|
-
status: (
|
|
11584
|
+
status: (_a23 = init == null ? void 0 : init.status) != null ? _a23 : 200,
|
|
11526
11585
|
headers: prepareHeaders(init == null ? void 0 : init.headers, {
|
|
11527
11586
|
"content-type": "application/json; charset=utf-8"
|
|
11528
11587
|
})
|
|
@@ -11653,8 +11712,8 @@ function simulateReadableStream({
|
|
|
11653
11712
|
chunkDelayInMs = 0,
|
|
11654
11713
|
_internal
|
|
11655
11714
|
}) {
|
|
11656
|
-
var
|
|
11657
|
-
const delay = (
|
|
11715
|
+
var _a23;
|
|
11716
|
+
const delay = (_a23 = _internal == null ? void 0 : _internal.delay) != null ? _a23 : import_provider_utils32.delay;
|
|
11658
11717
|
let index = 0;
|
|
11659
11718
|
return new ReadableStream({
|
|
11660
11719
|
async pull(controller) {
|
|
@@ -11928,7 +11987,7 @@ var DefaultStreamObjectResult = class {
|
|
|
11928
11987
|
const transformedStream = stream.pipeThrough(new TransformStream(transformer)).pipeThrough(
|
|
11929
11988
|
new TransformStream({
|
|
11930
11989
|
async transform(chunk, controller) {
|
|
11931
|
-
var
|
|
11990
|
+
var _a23, _b, _c;
|
|
11932
11991
|
if (typeof chunk === "object" && chunk.type === "stream-start") {
|
|
11933
11992
|
warnings = chunk.warnings;
|
|
11934
11993
|
return;
|
|
@@ -11978,7 +12037,7 @@ var DefaultStreamObjectResult = class {
|
|
|
11978
12037
|
switch (chunk.type) {
|
|
11979
12038
|
case "response-metadata": {
|
|
11980
12039
|
fullResponse = {
|
|
11981
|
-
id: (
|
|
12040
|
+
id: (_a23 = chunk.id) != null ? _a23 : fullResponse.id,
|
|
11982
12041
|
timestamp: (_b = chunk.timestamp) != null ? _b : fullResponse.timestamp,
|
|
11983
12042
|
modelId: (_c = chunk.modelId) != null ? _c : fullResponse.modelId
|
|
11984
12043
|
};
|
|
@@ -12292,7 +12351,7 @@ async function generateSpeech({
|
|
|
12292
12351
|
abortSignal,
|
|
12293
12352
|
headers
|
|
12294
12353
|
}) {
|
|
12295
|
-
var
|
|
12354
|
+
var _a23;
|
|
12296
12355
|
const resolvedModel = resolveSpeechModel(model);
|
|
12297
12356
|
if (!resolvedModel) {
|
|
12298
12357
|
throw new Error("Model could not be resolved");
|
|
@@ -12329,10 +12388,10 @@ async function generateSpeech({
|
|
|
12329
12388
|
return new DefaultSpeechResult({
|
|
12330
12389
|
audio: new DefaultGeneratedAudioFile({
|
|
12331
12390
|
data: result.audio,
|
|
12332
|
-
mediaType: (
|
|
12391
|
+
mediaType: (_a23 = detectMediaType({
|
|
12333
12392
|
data: result.audio,
|
|
12334
12393
|
signatures: audioMediaTypeSignatures
|
|
12335
|
-
})) != null ?
|
|
12394
|
+
})) != null ? _a23 : "audio/mp3"
|
|
12336
12395
|
}),
|
|
12337
12396
|
warnings: result.warnings,
|
|
12338
12397
|
responses: [result.response],
|
|
@@ -12341,11 +12400,11 @@ async function generateSpeech({
|
|
|
12341
12400
|
}
|
|
12342
12401
|
var DefaultSpeechResult = class {
|
|
12343
12402
|
constructor(options) {
|
|
12344
|
-
var
|
|
12403
|
+
var _a23;
|
|
12345
12404
|
this.audio = options.audio;
|
|
12346
12405
|
this.warnings = options.warnings;
|
|
12347
12406
|
this.responses = options.responses;
|
|
12348
|
-
this.providerMetadata = (
|
|
12407
|
+
this.providerMetadata = (_a23 = options.providerMetadata) != null ? _a23 : {};
|
|
12349
12408
|
}
|
|
12350
12409
|
};
|
|
12351
12410
|
|
|
@@ -12445,7 +12504,7 @@ function pruneMessages({
|
|
|
12445
12504
|
|
|
12446
12505
|
// src/generate-text/smooth-stream.ts
|
|
12447
12506
|
var import_provider_utils35 = require("@ai-sdk/provider-utils");
|
|
12448
|
-
var
|
|
12507
|
+
var import_provider34 = require("@ai-sdk/provider");
|
|
12449
12508
|
var CHUNKING_REGEXPS = {
|
|
12450
12509
|
word: /\S+\s+/m,
|
|
12451
12510
|
line: /\n+/m
|
|
@@ -12484,7 +12543,7 @@ function smoothStream({
|
|
|
12484
12543
|
} else {
|
|
12485
12544
|
const chunkingRegex = typeof chunking === "string" ? CHUNKING_REGEXPS[chunking] : chunking instanceof RegExp ? chunking : void 0;
|
|
12486
12545
|
if (chunkingRegex == null) {
|
|
12487
|
-
throw new
|
|
12546
|
+
throw new import_provider34.InvalidArgumentError({
|
|
12488
12547
|
argument: "chunking",
|
|
12489
12548
|
message: `Chunking must be "word", "line", a RegExp, an Intl.Segmenter, or a ChunkDetector function. Received: ${chunking}`
|
|
12490
12549
|
});
|
|
@@ -12563,7 +12622,7 @@ async function experimental_generateVideo({
|
|
|
12563
12622
|
headers,
|
|
12564
12623
|
download: downloadFn = defaultDownload
|
|
12565
12624
|
}) {
|
|
12566
|
-
var
|
|
12625
|
+
var _a23, _b;
|
|
12567
12626
|
const model = resolveVideoModel(modelArg);
|
|
12568
12627
|
const headersWithUserAgent = (0, import_provider_utils36.withUserAgentSuffix)(
|
|
12569
12628
|
headers != null ? headers : {},
|
|
@@ -12590,9 +12649,9 @@ async function experimental_generateVideo({
|
|
|
12590
12649
|
message: "inputReferences were ignored because frameImages were provided; frameImages and inputReferences cannot be combined."
|
|
12591
12650
|
});
|
|
12592
12651
|
}
|
|
12593
|
-
const firstFrameImage = (
|
|
12652
|
+
const firstFrameImage = (_a23 = normalizedFrameImages == null ? void 0 : normalizedFrameImages.find(
|
|
12594
12653
|
(frame) => frame.frameType === "first_frame"
|
|
12595
|
-
)) == null ? void 0 :
|
|
12654
|
+
)) == null ? void 0 : _a23.image;
|
|
12596
12655
|
if (image != null && firstFrameImage != null) {
|
|
12597
12656
|
warnings.push({
|
|
12598
12657
|
type: "other",
|
|
@@ -12736,8 +12795,8 @@ function normalizePrompt2(promptArg) {
|
|
|
12736
12795
|
};
|
|
12737
12796
|
}
|
|
12738
12797
|
function detectFileMediaType(data, restrictToImages) {
|
|
12739
|
-
var
|
|
12740
|
-
const detected = restrictToImages ? detectMediaType({ data, signatures: imageMediaTypeSignatures }) : (
|
|
12798
|
+
var _a23;
|
|
12799
|
+
const detected = restrictToImages ? detectMediaType({ data, signatures: imageMediaTypeSignatures }) : (_a23 = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _a23 : detectMediaType({ data, signatures: videoMediaTypeSignatures });
|
|
12741
12800
|
return detected != null ? detected : "image/png";
|
|
12742
12801
|
}
|
|
12743
12802
|
function normalizeImageData(dataContent, { restrictToImages = true } = {}) {
|
|
@@ -12831,8 +12890,8 @@ function stripMarkdownCodeFenceSuffix(text2) {
|
|
|
12831
12890
|
return text2.replace(/\n?```\s*$/, "").trimEnd();
|
|
12832
12891
|
}
|
|
12833
12892
|
function extractJsonMiddleware(options) {
|
|
12834
|
-
var
|
|
12835
|
-
const transform = (
|
|
12893
|
+
var _a23;
|
|
12894
|
+
const transform = (_a23 = options == null ? void 0 : options.transform) != null ? _a23 : defaultTransform;
|
|
12836
12895
|
const hasCustomTransform = (options == null ? void 0 : options.transform) !== void 0;
|
|
12837
12896
|
return {
|
|
12838
12897
|
specificationVersion: "v3",
|
|
@@ -13208,13 +13267,13 @@ function addToolInputExamplesMiddleware({
|
|
|
13208
13267
|
return {
|
|
13209
13268
|
specificationVersion: "v3",
|
|
13210
13269
|
transformParams: async ({ params }) => {
|
|
13211
|
-
var
|
|
13212
|
-
if (!((
|
|
13270
|
+
var _a23;
|
|
13271
|
+
if (!((_a23 = params.tools) == null ? void 0 : _a23.length)) {
|
|
13213
13272
|
return params;
|
|
13214
13273
|
}
|
|
13215
13274
|
const transformedTools = params.tools.map((tool2) => {
|
|
13216
|
-
var
|
|
13217
|
-
if (tool2.type !== "function" || !((
|
|
13275
|
+
var _a24;
|
|
13276
|
+
if (tool2.type !== "function" || !((_a24 = tool2.inputExamples) == null ? void 0 : _a24.length)) {
|
|
13218
13277
|
return tool2;
|
|
13219
13278
|
}
|
|
13220
13279
|
const formattedExamples = tool2.inputExamples.map((example, index) => format(example, index)).join("\n");
|
|
@@ -13261,7 +13320,7 @@ var doWrap = ({
|
|
|
13261
13320
|
modelId,
|
|
13262
13321
|
providerId
|
|
13263
13322
|
}) => {
|
|
13264
|
-
var
|
|
13323
|
+
var _a23, _b, _c;
|
|
13265
13324
|
async function doTransform({
|
|
13266
13325
|
params,
|
|
13267
13326
|
type
|
|
@@ -13270,7 +13329,7 @@ var doWrap = ({
|
|
|
13270
13329
|
}
|
|
13271
13330
|
return {
|
|
13272
13331
|
specificationVersion: "v3",
|
|
13273
|
-
provider: (
|
|
13332
|
+
provider: (_a23 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a23 : model.provider,
|
|
13274
13333
|
modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
|
|
13275
13334
|
supportedUrls: (_c = overrideSupportedUrls == null ? void 0 : overrideSupportedUrls({ model })) != null ? _c : model.supportedUrls,
|
|
13276
13335
|
async doGenerate(params) {
|
|
@@ -13318,7 +13377,7 @@ var doWrap2 = ({
|
|
|
13318
13377
|
modelId,
|
|
13319
13378
|
providerId
|
|
13320
13379
|
}) => {
|
|
13321
|
-
var
|
|
13380
|
+
var _a23, _b, _c, _d;
|
|
13322
13381
|
async function doTransform({
|
|
13323
13382
|
params
|
|
13324
13383
|
}) {
|
|
@@ -13326,7 +13385,7 @@ var doWrap2 = ({
|
|
|
13326
13385
|
}
|
|
13327
13386
|
return {
|
|
13328
13387
|
specificationVersion: "v3",
|
|
13329
|
-
provider: (
|
|
13388
|
+
provider: (_a23 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a23 : model.provider,
|
|
13330
13389
|
modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
|
|
13331
13390
|
maxEmbeddingsPerCall: (_c = overrideMaxEmbeddingsPerCall == null ? void 0 : overrideMaxEmbeddingsPerCall({ model })) != null ? _c : model.maxEmbeddingsPerCall,
|
|
13332
13391
|
[import_provider_utils37.EXPERIMENTAL_EMBEDDING_MODEL_MAX_INPUT_BYTES_PER_CALL]: getEmbeddingModelMaxInputBytesPerCall(model),
|
|
@@ -13366,11 +13425,11 @@ var doWrap3 = ({
|
|
|
13366
13425
|
modelId,
|
|
13367
13426
|
providerId
|
|
13368
13427
|
}) => {
|
|
13369
|
-
var
|
|
13428
|
+
var _a23, _b, _c;
|
|
13370
13429
|
async function doTransform({ params }) {
|
|
13371
13430
|
return transformParams ? await transformParams({ params, model }) : params;
|
|
13372
13431
|
}
|
|
13373
|
-
const maxImagesPerCallRaw = (
|
|
13432
|
+
const maxImagesPerCallRaw = (_a23 = overrideMaxImagesPerCall == null ? void 0 : overrideMaxImagesPerCall({ model })) != null ? _a23 : model.maxImagesPerCall;
|
|
13374
13433
|
const maxImagesPerCall = maxImagesPerCallRaw instanceof Function ? maxImagesPerCallRaw.bind(model) : maxImagesPerCallRaw;
|
|
13375
13434
|
return {
|
|
13376
13435
|
specificationVersion: "v3",
|
|
@@ -13435,7 +13494,7 @@ function wrapProvider({
|
|
|
13435
13494
|
}
|
|
13436
13495
|
|
|
13437
13496
|
// src/registry/custom-provider.ts
|
|
13438
|
-
var
|
|
13497
|
+
var import_provider35 = require("@ai-sdk/provider");
|
|
13439
13498
|
function customProvider({
|
|
13440
13499
|
languageModels,
|
|
13441
13500
|
embeddingModels,
|
|
@@ -13456,7 +13515,7 @@ function customProvider({
|
|
|
13456
13515
|
if (fallbackProvider) {
|
|
13457
13516
|
return fallbackProvider.languageModel(modelId);
|
|
13458
13517
|
}
|
|
13459
|
-
throw new
|
|
13518
|
+
throw new import_provider35.NoSuchModelError({ modelId, modelType: "languageModel" });
|
|
13460
13519
|
},
|
|
13461
13520
|
embeddingModel(modelId) {
|
|
13462
13521
|
if (embeddingModels != null && modelId in embeddingModels) {
|
|
@@ -13465,7 +13524,7 @@ function customProvider({
|
|
|
13465
13524
|
if (fallbackProvider) {
|
|
13466
13525
|
return fallbackProvider.embeddingModel(modelId);
|
|
13467
13526
|
}
|
|
13468
|
-
throw new
|
|
13527
|
+
throw new import_provider35.NoSuchModelError({ modelId, modelType: "embeddingModel" });
|
|
13469
13528
|
},
|
|
13470
13529
|
imageModel(modelId) {
|
|
13471
13530
|
if (imageModels != null && modelId in imageModels) {
|
|
@@ -13474,7 +13533,7 @@ function customProvider({
|
|
|
13474
13533
|
if (fallbackProvider == null ? void 0 : fallbackProvider.imageModel) {
|
|
13475
13534
|
return fallbackProvider.imageModel(modelId);
|
|
13476
13535
|
}
|
|
13477
|
-
throw new
|
|
13536
|
+
throw new import_provider35.NoSuchModelError({ modelId, modelType: "imageModel" });
|
|
13478
13537
|
},
|
|
13479
13538
|
transcriptionModel(modelId) {
|
|
13480
13539
|
if (transcriptionModels != null && modelId in transcriptionModels) {
|
|
@@ -13483,7 +13542,7 @@ function customProvider({
|
|
|
13483
13542
|
if (fallbackProvider == null ? void 0 : fallbackProvider.transcriptionModel) {
|
|
13484
13543
|
return fallbackProvider.transcriptionModel(modelId);
|
|
13485
13544
|
}
|
|
13486
|
-
throw new
|
|
13545
|
+
throw new import_provider35.NoSuchModelError({ modelId, modelType: "transcriptionModel" });
|
|
13487
13546
|
},
|
|
13488
13547
|
speechModel(modelId) {
|
|
13489
13548
|
if (speechModels != null && modelId in speechModels) {
|
|
@@ -13492,7 +13551,7 @@ function customProvider({
|
|
|
13492
13551
|
if (fallbackProvider == null ? void 0 : fallbackProvider.speechModel) {
|
|
13493
13552
|
return fallbackProvider.speechModel(modelId);
|
|
13494
13553
|
}
|
|
13495
|
-
throw new
|
|
13554
|
+
throw new import_provider35.NoSuchModelError({ modelId, modelType: "speechModel" });
|
|
13496
13555
|
},
|
|
13497
13556
|
rerankingModel(modelId) {
|
|
13498
13557
|
if (rerankingModels != null && modelId in rerankingModels) {
|
|
@@ -13501,7 +13560,7 @@ function customProvider({
|
|
|
13501
13560
|
if (fallbackProvider == null ? void 0 : fallbackProvider.rerankingModel) {
|
|
13502
13561
|
return fallbackProvider.rerankingModel(modelId);
|
|
13503
13562
|
}
|
|
13504
|
-
throw new
|
|
13563
|
+
throw new import_provider35.NoSuchModelError({ modelId, modelType: "rerankingModel" });
|
|
13505
13564
|
},
|
|
13506
13565
|
videoModel(modelId) {
|
|
13507
13566
|
if (videoModels != null && modelId in videoModels) {
|
|
@@ -13511,19 +13570,19 @@ function customProvider({
|
|
|
13511
13570
|
if (videoModel) {
|
|
13512
13571
|
return videoModel(modelId);
|
|
13513
13572
|
}
|
|
13514
|
-
throw new
|
|
13573
|
+
throw new import_provider35.NoSuchModelError({ modelId, modelType: "videoModel" });
|
|
13515
13574
|
}
|
|
13516
13575
|
};
|
|
13517
13576
|
}
|
|
13518
13577
|
var experimental_customProvider = customProvider;
|
|
13519
13578
|
|
|
13520
13579
|
// src/registry/no-such-provider-error.ts
|
|
13521
|
-
var
|
|
13522
|
-
var
|
|
13523
|
-
var
|
|
13524
|
-
var
|
|
13525
|
-
var
|
|
13526
|
-
var NoSuchProviderError = class extends
|
|
13580
|
+
var import_provider36 = require("@ai-sdk/provider");
|
|
13581
|
+
var name22 = "AI_NoSuchProviderError";
|
|
13582
|
+
var marker22 = `vercel.ai.error.${name22}`;
|
|
13583
|
+
var symbol22 = Symbol.for(marker22);
|
|
13584
|
+
var _a22;
|
|
13585
|
+
var NoSuchProviderError = class extends import_provider36.NoSuchModelError {
|
|
13527
13586
|
constructor({
|
|
13528
13587
|
modelId,
|
|
13529
13588
|
modelType,
|
|
@@ -13531,19 +13590,19 @@ var NoSuchProviderError = class extends import_provider35.NoSuchModelError {
|
|
|
13531
13590
|
availableProviders,
|
|
13532
13591
|
message = `No such provider: ${providerId} (available providers: ${availableProviders.join()})`
|
|
13533
13592
|
}) {
|
|
13534
|
-
super({ errorName:
|
|
13535
|
-
this[
|
|
13593
|
+
super({ errorName: name22, modelId, modelType, message });
|
|
13594
|
+
this[_a22] = true;
|
|
13536
13595
|
this.providerId = providerId;
|
|
13537
13596
|
this.availableProviders = availableProviders;
|
|
13538
13597
|
}
|
|
13539
13598
|
static isInstance(error) {
|
|
13540
|
-
return
|
|
13599
|
+
return import_provider36.AISDKError.hasMarker(error, marker22);
|
|
13541
13600
|
}
|
|
13542
13601
|
};
|
|
13543
|
-
|
|
13602
|
+
_a22 = symbol22;
|
|
13544
13603
|
|
|
13545
13604
|
// src/registry/provider-registry.ts
|
|
13546
|
-
var
|
|
13605
|
+
var import_provider37 = require("@ai-sdk/provider");
|
|
13547
13606
|
function createProviderRegistry(providers, {
|
|
13548
13607
|
separator = ":",
|
|
13549
13608
|
languageModelMiddleware,
|
|
@@ -13592,7 +13651,7 @@ var DefaultProviderRegistry = class {
|
|
|
13592
13651
|
splitId(id, modelType) {
|
|
13593
13652
|
const index = id.indexOf(this.separator);
|
|
13594
13653
|
if (index === -1) {
|
|
13595
|
-
throw new
|
|
13654
|
+
throw new import_provider37.NoSuchModelError({
|
|
13596
13655
|
modelId: id,
|
|
13597
13656
|
modelType,
|
|
13598
13657
|
message: `Invalid ${modelType} id for registry: ${id} (must be in the format "providerId${this.separator}modelId")`
|
|
@@ -13601,14 +13660,14 @@ var DefaultProviderRegistry = class {
|
|
|
13601
13660
|
return [id.slice(0, index), id.slice(index + this.separator.length)];
|
|
13602
13661
|
}
|
|
13603
13662
|
languageModel(id) {
|
|
13604
|
-
var
|
|
13663
|
+
var _a23, _b;
|
|
13605
13664
|
const [providerId, modelId] = this.splitId(id, "languageModel");
|
|
13606
|
-
let model = (_b = (
|
|
13607
|
-
|
|
13665
|
+
let model = (_b = (_a23 = this.getProvider(providerId, "languageModel")).languageModel) == null ? void 0 : _b.call(
|
|
13666
|
+
_a23,
|
|
13608
13667
|
modelId
|
|
13609
13668
|
);
|
|
13610
13669
|
if (model == null) {
|
|
13611
|
-
throw new
|
|
13670
|
+
throw new import_provider37.NoSuchModelError({ modelId: id, modelType: "languageModel" });
|
|
13612
13671
|
}
|
|
13613
13672
|
if (this.languageModelMiddleware != null) {
|
|
13614
13673
|
model = wrapLanguageModel({
|
|
@@ -13619,12 +13678,12 @@ var DefaultProviderRegistry = class {
|
|
|
13619
13678
|
return model;
|
|
13620
13679
|
}
|
|
13621
13680
|
embeddingModel(id) {
|
|
13622
|
-
var
|
|
13681
|
+
var _a23;
|
|
13623
13682
|
const [providerId, modelId] = this.splitId(id, "embeddingModel");
|
|
13624
13683
|
const provider = this.getProvider(providerId, "embeddingModel");
|
|
13625
|
-
const model = (
|
|
13684
|
+
const model = (_a23 = provider.embeddingModel) == null ? void 0 : _a23.call(provider, modelId);
|
|
13626
13685
|
if (model == null) {
|
|
13627
|
-
throw new
|
|
13686
|
+
throw new import_provider37.NoSuchModelError({
|
|
13628
13687
|
modelId: id,
|
|
13629
13688
|
modelType: "embeddingModel"
|
|
13630
13689
|
});
|
|
@@ -13632,12 +13691,12 @@ var DefaultProviderRegistry = class {
|
|
|
13632
13691
|
return model;
|
|
13633
13692
|
}
|
|
13634
13693
|
imageModel(id) {
|
|
13635
|
-
var
|
|
13694
|
+
var _a23;
|
|
13636
13695
|
const [providerId, modelId] = this.splitId(id, "imageModel");
|
|
13637
13696
|
const provider = this.getProvider(providerId, "imageModel");
|
|
13638
|
-
let model = (
|
|
13697
|
+
let model = (_a23 = provider.imageModel) == null ? void 0 : _a23.call(provider, modelId);
|
|
13639
13698
|
if (model == null) {
|
|
13640
|
-
throw new
|
|
13699
|
+
throw new import_provider37.NoSuchModelError({ modelId: id, modelType: "imageModel" });
|
|
13641
13700
|
}
|
|
13642
13701
|
if (this.imageModelMiddleware != null) {
|
|
13643
13702
|
model = wrapImageModel({
|
|
@@ -13648,12 +13707,12 @@ var DefaultProviderRegistry = class {
|
|
|
13648
13707
|
return model;
|
|
13649
13708
|
}
|
|
13650
13709
|
transcriptionModel(id) {
|
|
13651
|
-
var
|
|
13710
|
+
var _a23;
|
|
13652
13711
|
const [providerId, modelId] = this.splitId(id, "transcriptionModel");
|
|
13653
13712
|
const provider = this.getProvider(providerId, "transcriptionModel");
|
|
13654
|
-
const model = (
|
|
13713
|
+
const model = (_a23 = provider.transcriptionModel) == null ? void 0 : _a23.call(provider, modelId);
|
|
13655
13714
|
if (model == null) {
|
|
13656
|
-
throw new
|
|
13715
|
+
throw new import_provider37.NoSuchModelError({
|
|
13657
13716
|
modelId: id,
|
|
13658
13717
|
modelType: "transcriptionModel"
|
|
13659
13718
|
});
|
|
@@ -13661,22 +13720,22 @@ var DefaultProviderRegistry = class {
|
|
|
13661
13720
|
return model;
|
|
13662
13721
|
}
|
|
13663
13722
|
speechModel(id) {
|
|
13664
|
-
var
|
|
13723
|
+
var _a23;
|
|
13665
13724
|
const [providerId, modelId] = this.splitId(id, "speechModel");
|
|
13666
13725
|
const provider = this.getProvider(providerId, "speechModel");
|
|
13667
|
-
const model = (
|
|
13726
|
+
const model = (_a23 = provider.speechModel) == null ? void 0 : _a23.call(provider, modelId);
|
|
13668
13727
|
if (model == null) {
|
|
13669
|
-
throw new
|
|
13728
|
+
throw new import_provider37.NoSuchModelError({ modelId: id, modelType: "speechModel" });
|
|
13670
13729
|
}
|
|
13671
13730
|
return model;
|
|
13672
13731
|
}
|
|
13673
13732
|
rerankingModel(id) {
|
|
13674
|
-
var
|
|
13733
|
+
var _a23;
|
|
13675
13734
|
const [providerId, modelId] = this.splitId(id, "rerankingModel");
|
|
13676
13735
|
const provider = this.getProvider(providerId, "rerankingModel");
|
|
13677
|
-
const model = (
|
|
13736
|
+
const model = (_a23 = provider.rerankingModel) == null ? void 0 : _a23.call(provider, modelId);
|
|
13678
13737
|
if (model == null) {
|
|
13679
|
-
throw new
|
|
13738
|
+
throw new import_provider37.NoSuchModelError({ modelId: id, modelType: "rerankingModel" });
|
|
13680
13739
|
}
|
|
13681
13740
|
return model;
|
|
13682
13741
|
}
|
|
@@ -13732,7 +13791,7 @@ async function rerank({
|
|
|
13732
13791
|
}),
|
|
13733
13792
|
tracer,
|
|
13734
13793
|
fn: async () => {
|
|
13735
|
-
var
|
|
13794
|
+
var _a23, _b;
|
|
13736
13795
|
const { ranking, response, providerMetadata, warnings } = await retry(
|
|
13737
13796
|
() => recordSpan({
|
|
13738
13797
|
name: "ai.rerank.doRerank",
|
|
@@ -13796,7 +13855,7 @@ async function rerank({
|
|
|
13796
13855
|
providerMetadata,
|
|
13797
13856
|
response: {
|
|
13798
13857
|
id: response == null ? void 0 : response.id,
|
|
13799
|
-
timestamp: (
|
|
13858
|
+
timestamp: (_a23 = response == null ? void 0 : response.timestamp) != null ? _a23 : /* @__PURE__ */ new Date(),
|
|
13800
13859
|
modelId: (_b = response == null ? void 0 : response.modelId) != null ? _b : model.modelId,
|
|
13801
13860
|
headers: response == null ? void 0 : response.headers,
|
|
13802
13861
|
body: response == null ? void 0 : response.body
|
|
@@ -13844,16 +13903,16 @@ async function transcribe({
|
|
|
13844
13903
|
const audioData = audio instanceof URL ? (await downloadFn({ url: audio, abortSignal })).data : convertDataContentToUint8Array(audio);
|
|
13845
13904
|
const result = await retry(
|
|
13846
13905
|
() => {
|
|
13847
|
-
var
|
|
13906
|
+
var _a23;
|
|
13848
13907
|
return resolvedModel.doGenerate({
|
|
13849
13908
|
audio: audioData,
|
|
13850
13909
|
abortSignal,
|
|
13851
13910
|
headers: headersWithUserAgent,
|
|
13852
13911
|
providerOptions,
|
|
13853
|
-
mediaType: (
|
|
13912
|
+
mediaType: (_a23 = detectMediaType({
|
|
13854
13913
|
data: audioData,
|
|
13855
13914
|
signatures: audioMediaTypeSignatures
|
|
13856
|
-
})) != null ?
|
|
13915
|
+
})) != null ? _a23 : "audio/wav"
|
|
13857
13916
|
});
|
|
13858
13917
|
}
|
|
13859
13918
|
);
|
|
@@ -13877,14 +13936,14 @@ async function transcribe({
|
|
|
13877
13936
|
}
|
|
13878
13937
|
var DefaultTranscriptionResult = class {
|
|
13879
13938
|
constructor(options) {
|
|
13880
|
-
var
|
|
13939
|
+
var _a23;
|
|
13881
13940
|
this.text = options.text;
|
|
13882
13941
|
this.segments = options.segments;
|
|
13883
13942
|
this.language = options.language;
|
|
13884
13943
|
this.durationInSeconds = options.durationInSeconds;
|
|
13885
13944
|
this.warnings = options.warnings;
|
|
13886
13945
|
this.responses = options.responses;
|
|
13887
|
-
this.providerMetadata = (
|
|
13946
|
+
this.providerMetadata = (_a23 = options.providerMetadata) != null ? _a23 : {};
|
|
13888
13947
|
}
|
|
13889
13948
|
};
|
|
13890
13949
|
|
|
@@ -13923,7 +13982,7 @@ async function callCompletionApi({
|
|
|
13923
13982
|
onError,
|
|
13924
13983
|
fetch: fetch2 = getOriginalFetch()
|
|
13925
13984
|
}) {
|
|
13926
|
-
var
|
|
13985
|
+
var _a23;
|
|
13927
13986
|
try {
|
|
13928
13987
|
setLoading(true);
|
|
13929
13988
|
setError(void 0);
|
|
@@ -13951,7 +14010,7 @@ async function callCompletionApi({
|
|
|
13951
14010
|
});
|
|
13952
14011
|
if (!response.ok) {
|
|
13953
14012
|
throw new Error(
|
|
13954
|
-
(
|
|
14013
|
+
(_a23 = await response.text()) != null ? _a23 : "Failed to fetch the chat response."
|
|
13955
14014
|
);
|
|
13956
14015
|
}
|
|
13957
14016
|
if (!response.body) {
|
|
@@ -14035,12 +14094,12 @@ async function convertFileListToFileUIParts(files) {
|
|
|
14035
14094
|
}
|
|
14036
14095
|
return Promise.all(
|
|
14037
14096
|
Array.from(files).map(async (file) => {
|
|
14038
|
-
const { name:
|
|
14097
|
+
const { name: name23, type } = file;
|
|
14039
14098
|
const dataUrl = await new Promise((resolve3, reject) => {
|
|
14040
14099
|
const reader = new FileReader();
|
|
14041
14100
|
reader.onload = (readerEvent) => {
|
|
14042
|
-
var
|
|
14043
|
-
resolve3((
|
|
14101
|
+
var _a23;
|
|
14102
|
+
resolve3((_a23 = readerEvent.target) == null ? void 0 : _a23.result);
|
|
14044
14103
|
};
|
|
14045
14104
|
reader.onerror = (error) => reject(error);
|
|
14046
14105
|
reader.readAsDataURL(file);
|
|
@@ -14048,7 +14107,7 @@ async function convertFileListToFileUIParts(files) {
|
|
|
14048
14107
|
return {
|
|
14049
14108
|
type: "file",
|
|
14050
14109
|
mediaType: type,
|
|
14051
|
-
filename:
|
|
14110
|
+
filename: name23,
|
|
14052
14111
|
url: dataUrl
|
|
14053
14112
|
};
|
|
14054
14113
|
})
|
|
@@ -14082,7 +14141,7 @@ var HttpChatTransport = class {
|
|
|
14082
14141
|
abortSignal,
|
|
14083
14142
|
...options
|
|
14084
14143
|
}) {
|
|
14085
|
-
var
|
|
14144
|
+
var _a23, _b, _c, _d, _e;
|
|
14086
14145
|
const resolvedBody = await (0, import_provider_utils40.resolve)(this.body);
|
|
14087
14146
|
const resolvedHeaders = await (0, import_provider_utils40.resolve)(this.headers);
|
|
14088
14147
|
const resolvedCredentials = await (0, import_provider_utils40.resolve)(this.credentials);
|
|
@@ -14090,7 +14149,7 @@ var HttpChatTransport = class {
|
|
|
14090
14149
|
...(0, import_provider_utils40.normalizeHeaders)(resolvedHeaders),
|
|
14091
14150
|
...(0, import_provider_utils40.normalizeHeaders)(options.headers)
|
|
14092
14151
|
};
|
|
14093
|
-
const preparedRequest = await ((
|
|
14152
|
+
const preparedRequest = await ((_a23 = this.prepareSendMessagesRequest) == null ? void 0 : _a23.call(this, {
|
|
14094
14153
|
api: this.api,
|
|
14095
14154
|
id: options.chatId,
|
|
14096
14155
|
messages: options.messages,
|
|
@@ -14134,7 +14193,7 @@ var HttpChatTransport = class {
|
|
|
14134
14193
|
return this.processResponseStream(response.body);
|
|
14135
14194
|
}
|
|
14136
14195
|
async reconnectToStream(options) {
|
|
14137
|
-
var
|
|
14196
|
+
var _a23, _b, _c, _d, _e;
|
|
14138
14197
|
const resolvedBody = await (0, import_provider_utils40.resolve)(this.body);
|
|
14139
14198
|
const resolvedHeaders = await (0, import_provider_utils40.resolve)(this.headers);
|
|
14140
14199
|
const resolvedCredentials = await (0, import_provider_utils40.resolve)(this.credentials);
|
|
@@ -14142,7 +14201,7 @@ var HttpChatTransport = class {
|
|
|
14142
14201
|
...(0, import_provider_utils40.normalizeHeaders)(resolvedHeaders),
|
|
14143
14202
|
...(0, import_provider_utils40.normalizeHeaders)(options.headers)
|
|
14144
14203
|
};
|
|
14145
|
-
const preparedRequest = await ((
|
|
14204
|
+
const preparedRequest = await ((_a23 = this.prepareReconnectToStreamRequest) == null ? void 0 : _a23.call(this, {
|
|
14146
14205
|
api: this.api,
|
|
14147
14206
|
id: options.chatId,
|
|
14148
14207
|
body: { ...resolvedBody, ...options.body },
|
|
@@ -14222,11 +14281,11 @@ var AbstractChat = class {
|
|
|
14222
14281
|
* If a messageId is provided, the message will be replaced.
|
|
14223
14282
|
*/
|
|
14224
14283
|
this.sendMessage = async (message, options) => {
|
|
14225
|
-
var
|
|
14284
|
+
var _a23, _b, _c, _d;
|
|
14226
14285
|
if (message == null) {
|
|
14227
14286
|
await this.makeRequest({
|
|
14228
14287
|
trigger: "submit-message",
|
|
14229
|
-
messageId: (
|
|
14288
|
+
messageId: (_a23 = this.lastMessage) == null ? void 0 : _a23.id,
|
|
14230
14289
|
...options
|
|
14231
14290
|
});
|
|
14232
14291
|
return;
|
|
@@ -14336,11 +14395,11 @@ var AbstractChat = class {
|
|
|
14336
14395
|
}
|
|
14337
14396
|
if (this.status !== "streaming" && this.status !== "submitted" && this.sendAutomaticallyWhen) {
|
|
14338
14397
|
this.shouldSendAutomatically().then((shouldSend) => {
|
|
14339
|
-
var
|
|
14398
|
+
var _a23;
|
|
14340
14399
|
if (shouldSend) {
|
|
14341
14400
|
this.makeRequest({
|
|
14342
14401
|
trigger: "submit-message",
|
|
14343
|
-
messageId: (
|
|
14402
|
+
messageId: (_a23 = this.lastMessage) == null ? void 0 : _a23.id,
|
|
14344
14403
|
...options
|
|
14345
14404
|
});
|
|
14346
14405
|
}
|
|
@@ -14366,11 +14425,11 @@ var AbstractChat = class {
|
|
|
14366
14425
|
}
|
|
14367
14426
|
if (this.status !== "streaming" && this.status !== "submitted" && this.sendAutomaticallyWhen) {
|
|
14368
14427
|
this.shouldSendAutomatically().then((shouldSend) => {
|
|
14369
|
-
var
|
|
14428
|
+
var _a23;
|
|
14370
14429
|
if (shouldSend) {
|
|
14371
14430
|
this.makeRequest({
|
|
14372
14431
|
trigger: "submit-message",
|
|
14373
|
-
messageId: (
|
|
14432
|
+
messageId: (_a23 = this.lastMessage) == null ? void 0 : _a23.id,
|
|
14374
14433
|
...options
|
|
14375
14434
|
});
|
|
14376
14435
|
}
|
|
@@ -14383,8 +14442,8 @@ var AbstractChat = class {
|
|
|
14383
14442
|
* Abort the current request immediately, keep the generated tokens if any.
|
|
14384
14443
|
*/
|
|
14385
14444
|
this.stop = async () => {
|
|
14386
|
-
var
|
|
14387
|
-
(
|
|
14445
|
+
var _a23, _b;
|
|
14446
|
+
(_a23 = this.activeResumeRequest) == null ? void 0 : _a23.abortController.abort();
|
|
14388
14447
|
(_b = this.activeResponse) == null ? void 0 : _b.abortController.abort();
|
|
14389
14448
|
};
|
|
14390
14449
|
this.id = id;
|
|
@@ -14449,11 +14508,11 @@ var AbstractChat = class {
|
|
|
14449
14508
|
body,
|
|
14450
14509
|
messageId
|
|
14451
14510
|
}) {
|
|
14452
|
-
var
|
|
14511
|
+
var _a23, _b, _c;
|
|
14453
14512
|
const abortController = new AbortController();
|
|
14454
14513
|
const activeResumeRequest = trigger === "resume-stream" ? { abortController } : void 0;
|
|
14455
14514
|
if (activeResumeRequest) {
|
|
14456
|
-
(
|
|
14515
|
+
(_a23 = this.activeResumeRequest) == null ? void 0 : _a23.abortController.abort();
|
|
14457
14516
|
this.activeResumeRequest = activeResumeRequest;
|
|
14458
14517
|
}
|
|
14459
14518
|
const isCurrentRequest = () => activeResumeRequest == null || this.activeResumeRequest === activeResumeRequest;
|
|
@@ -14549,14 +14608,14 @@ var AbstractChat = class {
|
|
|
14549
14608
|
return job({
|
|
14550
14609
|
state: response.state,
|
|
14551
14610
|
write: ({ updateStatus = true } = {}) => {
|
|
14552
|
-
var
|
|
14611
|
+
var _a24;
|
|
14553
14612
|
if (response.abortController.signal.aborted) {
|
|
14554
14613
|
return;
|
|
14555
14614
|
}
|
|
14556
14615
|
if (updateStatus) {
|
|
14557
14616
|
this.setStatus({ status: "streaming" });
|
|
14558
14617
|
}
|
|
14559
|
-
const replaceLastMessage = response.state.message.id === ((
|
|
14618
|
+
const replaceLastMessage = response.state.message.id === ((_a24 = this.lastMessage) == null ? void 0 : _a24.id);
|
|
14560
14619
|
if (replaceLastMessage) {
|
|
14561
14620
|
this.state.replaceMessage(
|
|
14562
14621
|
this.state.messages.length - 1,
|
|
@@ -14807,6 +14866,7 @@ var TextStreamChatTransport = class extends HttpChatTransport {
|
|
|
14807
14866
|
TooManyEmbeddingValuesForCallError,
|
|
14808
14867
|
ToolCallNotFoundForApprovalError,
|
|
14809
14868
|
ToolCallRepairError,
|
|
14869
|
+
ToolChoiceViolationError,
|
|
14810
14870
|
ToolLoopAgent,
|
|
14811
14871
|
TypeValidationError,
|
|
14812
14872
|
UIMessageStreamError,
|