@mastra/ai-sdk 0.0.0-ai-sdk-network-text-delta-20251017172601 → 0.0.0-allow-to-pass-a-mastra-url-instance-20251105224938
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 +85 -5
- package/dist/chat-route.d.ts.map +1 -1
- package/dist/convert-messages.d.ts +10 -0
- package/dist/convert-messages.d.ts.map +1 -0
- package/dist/convert-streams.d.ts +18 -0
- package/dist/convert-streams.d.ts.map +1 -0
- package/dist/helpers.d.ts +2 -3
- package/dist/helpers.d.ts.map +1 -1
- package/dist/index.cjs +198 -81
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +198 -82
- package/dist/index.js.map +1 -1
- package/dist/network-route.d.ts.map +1 -1
- package/dist/to-ai-sdk-format.d.ts +15 -13
- package/dist/to-ai-sdk-format.d.ts.map +1 -1
- package/dist/transformers.d.ts +50 -43
- package/dist/transformers.d.ts.map +1 -1
- package/dist/ui.cjs +16 -0
- package/dist/ui.cjs.map +1 -0
- package/dist/ui.d.ts +2 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +13 -0
- package/dist/ui.js.map +1 -0
- package/dist/utils.d.ts +10 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/workflow-route.d.ts.map +1 -1
- package/package.json +18 -5
package/dist/index.cjs
CHANGED
|
@@ -5,6 +5,33 @@ var ai = require('ai');
|
|
|
5
5
|
var stream = require('@mastra/core/stream');
|
|
6
6
|
|
|
7
7
|
// src/chat-route.ts
|
|
8
|
+
|
|
9
|
+
// src/utils.ts
|
|
10
|
+
var isDataChunkType = (chunk) => {
|
|
11
|
+
return chunk && typeof chunk === "object" && "type" in chunk && chunk.type?.startsWith("data-");
|
|
12
|
+
};
|
|
13
|
+
function safeParseErrorObject(obj) {
|
|
14
|
+
if (typeof obj !== "object" || obj === null) {
|
|
15
|
+
return String(obj);
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
const stringified = JSON.stringify(obj);
|
|
19
|
+
if (stringified === "{}") {
|
|
20
|
+
return String(obj);
|
|
21
|
+
}
|
|
22
|
+
return stringified;
|
|
23
|
+
} catch {
|
|
24
|
+
return String(obj);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
var isAgentExecutionDataChunkType = (chunk) => {
|
|
28
|
+
return chunk && typeof chunk === "object" && "type" in chunk && chunk.type?.startsWith("agent-execution-event-") && "payload" in chunk && typeof chunk.payload === "object" && "type" in chunk.payload && chunk.payload.type?.startsWith("data-");
|
|
29
|
+
};
|
|
30
|
+
var isWorkflowExecutionDataChunkType = (chunk) => {
|
|
31
|
+
return chunk && typeof chunk === "object" && "type" in chunk && chunk.type?.startsWith("workflow-execution-event-") && "payload" in chunk && typeof chunk.payload === "object" && "type" in chunk.payload && chunk.payload.type?.startsWith("data-");
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
// src/helpers.ts
|
|
8
35
|
function convertMastraChunkToAISDKv5({
|
|
9
36
|
chunk,
|
|
10
37
|
mode = "stream"
|
|
@@ -210,6 +237,9 @@ function convertMastraChunkToAISDKv5({
|
|
|
210
237
|
...chunk.payload || {}
|
|
211
238
|
};
|
|
212
239
|
}
|
|
240
|
+
if ("type" in chunk && chunk.type?.startsWith("data-")) {
|
|
241
|
+
return chunk;
|
|
242
|
+
}
|
|
213
243
|
return;
|
|
214
244
|
}
|
|
215
245
|
}
|
|
@@ -223,7 +253,7 @@ function convertFullStreamChunkToUIMessageStream({
|
|
|
223
253
|
sendFinish,
|
|
224
254
|
responseMessageId
|
|
225
255
|
}) {
|
|
226
|
-
const partType = part
|
|
256
|
+
const partType = part?.type;
|
|
227
257
|
switch (partType) {
|
|
228
258
|
case "text-start": {
|
|
229
259
|
return {
|
|
@@ -380,8 +410,16 @@ function convertFullStreamChunkToUIMessageStream({
|
|
|
380
410
|
return;
|
|
381
411
|
}
|
|
382
412
|
default: {
|
|
383
|
-
|
|
384
|
-
|
|
413
|
+
if (isDataChunkType(part)) {
|
|
414
|
+
if (!("data" in part)) {
|
|
415
|
+
throw new Error(
|
|
416
|
+
`UI Messages require a data property when using data- prefixed chunks
|
|
417
|
+
${JSON.stringify(part)}`
|
|
418
|
+
);
|
|
419
|
+
}
|
|
420
|
+
return part;
|
|
421
|
+
}
|
|
422
|
+
return;
|
|
385
423
|
}
|
|
386
424
|
}
|
|
387
425
|
}
|
|
@@ -425,7 +463,7 @@ function AgentNetworkToAISDKTransformer() {
|
|
|
425
463
|
}
|
|
426
464
|
});
|
|
427
465
|
}
|
|
428
|
-
function AgentStreamToAISDKTransformer() {
|
|
466
|
+
function AgentStreamToAISDKTransformer(lastMessageId) {
|
|
429
467
|
let bufferedSteps = /* @__PURE__ */ new Map();
|
|
430
468
|
return new TransformStream({
|
|
431
469
|
transform(chunk, controller) {
|
|
@@ -436,9 +474,9 @@ function AgentStreamToAISDKTransformer() {
|
|
|
436
474
|
sendSources: false,
|
|
437
475
|
sendStart: true,
|
|
438
476
|
sendFinish: true,
|
|
439
|
-
responseMessageId:
|
|
440
|
-
onError() {
|
|
441
|
-
return
|
|
477
|
+
responseMessageId: lastMessageId,
|
|
478
|
+
onError(error) {
|
|
479
|
+
return safeParseErrorObject(error);
|
|
442
480
|
}
|
|
443
481
|
});
|
|
444
482
|
if (transformedChunk) {
|
|
@@ -620,7 +658,9 @@ function transformWorkflow(payload, bufferedWorkflows, isNested) {
|
|
|
620
658
|
name: payload.payload.id,
|
|
621
659
|
status: payload.payload.status,
|
|
622
660
|
input: payload.payload.payload ?? null,
|
|
623
|
-
output: null
|
|
661
|
+
output: null,
|
|
662
|
+
suspendPayload: null,
|
|
663
|
+
resumePayload: null
|
|
624
664
|
};
|
|
625
665
|
bufferedWorkflows.set(payload.runId, current);
|
|
626
666
|
return {
|
|
@@ -653,6 +693,27 @@ function transformWorkflow(payload, bufferedWorkflows, isNested) {
|
|
|
653
693
|
}
|
|
654
694
|
};
|
|
655
695
|
}
|
|
696
|
+
case "workflow-step-suspended": {
|
|
697
|
+
const current = bufferedWorkflows.get(payload.runId);
|
|
698
|
+
if (!current) return null;
|
|
699
|
+
current.steps[payload.payload.id] = {
|
|
700
|
+
...current.steps[payload.payload.id],
|
|
701
|
+
status: payload.payload.status,
|
|
702
|
+
suspendPayload: payload.payload.suspendPayload ?? null,
|
|
703
|
+
resumePayload: payload.payload.resumePayload ?? null,
|
|
704
|
+
output: null
|
|
705
|
+
};
|
|
706
|
+
return {
|
|
707
|
+
type: isNested ? "data-tool-workflow" : "data-workflow",
|
|
708
|
+
id: payload.runId,
|
|
709
|
+
data: {
|
|
710
|
+
name: current.name,
|
|
711
|
+
status: "suspended",
|
|
712
|
+
steps: current.steps,
|
|
713
|
+
output: null
|
|
714
|
+
}
|
|
715
|
+
};
|
|
716
|
+
}
|
|
656
717
|
case "workflow-finish": {
|
|
657
718
|
const current = bufferedWorkflows.get(payload.runId);
|
|
658
719
|
if (!current) return null;
|
|
@@ -667,26 +728,39 @@ function transformWorkflow(payload, bufferedWorkflows, isNested) {
|
|
|
667
728
|
}
|
|
668
729
|
};
|
|
669
730
|
}
|
|
670
|
-
default:
|
|
731
|
+
default: {
|
|
732
|
+
if (isDataChunkType(payload)) {
|
|
733
|
+
if (!("data" in payload)) {
|
|
734
|
+
throw new Error(
|
|
735
|
+
`UI Messages require a data property when using data- prefixed chunks
|
|
736
|
+
${JSON.stringify(payload)}`
|
|
737
|
+
);
|
|
738
|
+
}
|
|
739
|
+
return payload;
|
|
740
|
+
}
|
|
671
741
|
return null;
|
|
742
|
+
}
|
|
672
743
|
}
|
|
673
744
|
}
|
|
674
745
|
function transformNetwork(payload, bufferedNetworks, isNested) {
|
|
675
746
|
switch (payload.type) {
|
|
676
747
|
case "routing-agent-start": {
|
|
677
|
-
if (!bufferedNetworks.has(payload.
|
|
678
|
-
bufferedNetworks.set(payload.
|
|
748
|
+
if (!bufferedNetworks.has(payload.runId)) {
|
|
749
|
+
bufferedNetworks.set(payload.runId, {
|
|
679
750
|
name: payload.payload.agentId,
|
|
680
|
-
steps: []
|
|
751
|
+
steps: [],
|
|
752
|
+
usage: null,
|
|
753
|
+
output: null
|
|
681
754
|
});
|
|
682
755
|
}
|
|
683
756
|
return {
|
|
684
757
|
type: isNested ? "data-tool-network" : "data-network",
|
|
685
|
-
id: payload.
|
|
758
|
+
id: payload.runId,
|
|
686
759
|
data: {
|
|
687
|
-
name: bufferedNetworks.get(payload.
|
|
760
|
+
name: bufferedNetworks.get(payload.runId).name,
|
|
688
761
|
status: "running",
|
|
689
|
-
|
|
762
|
+
usage: null,
|
|
763
|
+
steps: bufferedNetworks.get(payload.runId).steps,
|
|
690
764
|
output: null
|
|
691
765
|
}
|
|
692
766
|
};
|
|
@@ -709,62 +783,62 @@ function transformNetwork(payload, bufferedNetworks, isNested) {
|
|
|
709
783
|
};
|
|
710
784
|
}
|
|
711
785
|
case "agent-execution-start": {
|
|
712
|
-
const current = bufferedNetworks.get(payload.
|
|
786
|
+
const current = bufferedNetworks.get(payload.runId) || { name: "", steps: [], usage: null, output: null };
|
|
713
787
|
current.steps.push({
|
|
714
788
|
name: payload.payload.agentId,
|
|
715
789
|
status: "running",
|
|
716
790
|
input: payload.payload.args || null,
|
|
717
|
-
output: null
|
|
791
|
+
output: null,
|
|
792
|
+
suspendPayload: null,
|
|
793
|
+
resumePayload: null
|
|
718
794
|
});
|
|
719
|
-
bufferedNetworks.set(payload.
|
|
795
|
+
bufferedNetworks.set(payload.runId, current);
|
|
720
796
|
return {
|
|
721
797
|
type: isNested ? "data-tool-network" : "data-network",
|
|
722
|
-
id: payload.
|
|
798
|
+
id: payload.runId,
|
|
723
799
|
data: {
|
|
724
|
-
|
|
725
|
-
status: "running"
|
|
726
|
-
steps: current.steps,
|
|
727
|
-
output: null
|
|
800
|
+
...current,
|
|
801
|
+
status: "running"
|
|
728
802
|
}
|
|
729
803
|
};
|
|
730
804
|
}
|
|
731
805
|
case "workflow-execution-start": {
|
|
732
|
-
const current = bufferedNetworks.get(payload.
|
|
806
|
+
const current = bufferedNetworks.get(payload.runId) || { name: "", steps: [], usage: null, output: null };
|
|
733
807
|
current.steps.push({
|
|
734
808
|
name: payload.payload.name,
|
|
735
809
|
status: "running",
|
|
736
810
|
input: payload.payload.args || null,
|
|
737
|
-
output: null
|
|
811
|
+
output: null,
|
|
812
|
+
suspendPayload: null,
|
|
813
|
+
resumePayload: null
|
|
738
814
|
});
|
|
739
|
-
bufferedNetworks.set(payload.
|
|
815
|
+
bufferedNetworks.set(payload.runId, current);
|
|
740
816
|
return {
|
|
741
817
|
type: isNested ? "data-tool-network" : "data-network",
|
|
742
|
-
id: payload.
|
|
818
|
+
id: payload.runId,
|
|
743
819
|
data: {
|
|
744
|
-
|
|
745
|
-
status: "running"
|
|
746
|
-
steps: current.steps,
|
|
747
|
-
output: null
|
|
820
|
+
...current,
|
|
821
|
+
status: "running"
|
|
748
822
|
}
|
|
749
823
|
};
|
|
750
824
|
}
|
|
751
825
|
case "tool-execution-start": {
|
|
752
|
-
const current = bufferedNetworks.get(payload.
|
|
826
|
+
const current = bufferedNetworks.get(payload.runId) || { name: "", steps: [], usage: null, output: null };
|
|
753
827
|
current.steps.push({
|
|
754
828
|
name: payload.payload.args?.toolName,
|
|
755
829
|
status: "running",
|
|
756
830
|
input: payload.payload.args?.args || null,
|
|
757
|
-
output: null
|
|
831
|
+
output: null,
|
|
832
|
+
suspendPayload: null,
|
|
833
|
+
resumePayload: null
|
|
758
834
|
});
|
|
759
|
-
bufferedNetworks.set(payload.
|
|
835
|
+
bufferedNetworks.set(payload.runId, current);
|
|
760
836
|
return {
|
|
761
837
|
type: isNested ? "data-tool-network" : "data-network",
|
|
762
|
-
id: payload.
|
|
838
|
+
id: payload.runId,
|
|
763
839
|
data: {
|
|
764
|
-
|
|
765
|
-
status: "running"
|
|
766
|
-
steps: current.steps,
|
|
767
|
-
output: null
|
|
840
|
+
...current,
|
|
841
|
+
status: "running"
|
|
768
842
|
}
|
|
769
843
|
};
|
|
770
844
|
}
|
|
@@ -775,16 +849,18 @@ function transformNetwork(payload, bufferedNetworks, isNested) {
|
|
|
775
849
|
name: payload.payload.agentId,
|
|
776
850
|
status: "success",
|
|
777
851
|
input: null,
|
|
778
|
-
output: payload.payload.result
|
|
852
|
+
output: payload.payload.result,
|
|
853
|
+
suspendPayload: null,
|
|
854
|
+
resumePayload: null
|
|
779
855
|
});
|
|
780
856
|
return {
|
|
781
857
|
type: isNested ? "data-tool-network" : "data-network",
|
|
782
858
|
id: payload.runId,
|
|
783
859
|
data: {
|
|
784
|
-
|
|
860
|
+
...current,
|
|
861
|
+
usage: payload.payload?.usage ?? current.usage,
|
|
785
862
|
status: "running",
|
|
786
|
-
|
|
787
|
-
output: payload.payload.result ?? null
|
|
863
|
+
output: payload.payload.result ?? current.output
|
|
788
864
|
}
|
|
789
865
|
};
|
|
790
866
|
}
|
|
@@ -795,16 +871,17 @@ function transformNetwork(payload, bufferedNetworks, isNested) {
|
|
|
795
871
|
name: payload.payload.toolName,
|
|
796
872
|
status: "success",
|
|
797
873
|
input: null,
|
|
798
|
-
output: payload.payload.result
|
|
874
|
+
output: payload.payload.result,
|
|
875
|
+
suspendPayload: null,
|
|
876
|
+
resumePayload: null
|
|
799
877
|
});
|
|
800
878
|
return {
|
|
801
879
|
type: isNested ? "data-tool-network" : "data-network",
|
|
802
880
|
id: payload.runId,
|
|
803
881
|
data: {
|
|
804
|
-
|
|
882
|
+
...current,
|
|
805
883
|
status: "running",
|
|
806
|
-
|
|
807
|
-
output: payload.payload.result ?? null
|
|
884
|
+
output: payload.payload.result ?? current.output
|
|
808
885
|
}
|
|
809
886
|
};
|
|
810
887
|
}
|
|
@@ -815,44 +892,45 @@ function transformNetwork(payload, bufferedNetworks, isNested) {
|
|
|
815
892
|
name: payload.payload.name,
|
|
816
893
|
status: "success",
|
|
817
894
|
input: null,
|
|
818
|
-
output: payload.payload.result
|
|
895
|
+
output: payload.payload.result,
|
|
896
|
+
suspendPayload: null,
|
|
897
|
+
resumePayload: null
|
|
819
898
|
});
|
|
820
899
|
return {
|
|
821
900
|
type: isNested ? "data-tool-network" : "data-network",
|
|
822
901
|
id: payload.runId,
|
|
823
902
|
data: {
|
|
824
|
-
|
|
903
|
+
...current,
|
|
904
|
+
usage: payload.payload?.usage ?? current.usage,
|
|
825
905
|
status: "running",
|
|
826
|
-
|
|
827
|
-
output: payload.payload.result ?? null
|
|
906
|
+
output: payload.payload.result ?? current.output
|
|
828
907
|
}
|
|
829
908
|
};
|
|
830
909
|
}
|
|
831
910
|
case "routing-agent-end": {
|
|
832
|
-
const current = bufferedNetworks.get(payload.
|
|
911
|
+
const current = bufferedNetworks.get(payload.runId);
|
|
833
912
|
if (!current) return null;
|
|
834
913
|
return {
|
|
835
914
|
type: isNested ? "data-tool-network" : "data-network",
|
|
836
|
-
id: payload.
|
|
915
|
+
id: payload.runId,
|
|
837
916
|
data: {
|
|
838
|
-
|
|
917
|
+
...current,
|
|
839
918
|
status: "finished",
|
|
840
|
-
|
|
841
|
-
output: payload.payload?.result ??
|
|
919
|
+
usage: payload.payload?.usage ?? current.usage,
|
|
920
|
+
output: payload.payload?.result ?? current.output
|
|
842
921
|
}
|
|
843
922
|
};
|
|
844
923
|
}
|
|
845
924
|
case "network-execution-event-step-finish": {
|
|
846
|
-
const current = bufferedNetworks.get(payload.
|
|
925
|
+
const current = bufferedNetworks.get(payload.runId);
|
|
847
926
|
if (!current) return null;
|
|
848
927
|
return {
|
|
849
928
|
type: isNested ? "data-tool-network" : "data-network",
|
|
850
|
-
id: payload.
|
|
929
|
+
id: payload.runId,
|
|
851
930
|
data: {
|
|
852
|
-
|
|
931
|
+
...current,
|
|
853
932
|
status: "finished",
|
|
854
|
-
|
|
855
|
-
output: payload.payload?.result ?? null
|
|
933
|
+
output: payload.payload?.result ?? current.output
|
|
856
934
|
}
|
|
857
935
|
};
|
|
858
936
|
}
|
|
@@ -863,20 +941,48 @@ function transformNetwork(payload, bufferedNetworks, isNested) {
|
|
|
863
941
|
type: isNested ? "data-tool-network" : "data-network",
|
|
864
942
|
id: payload.runId,
|
|
865
943
|
data: {
|
|
866
|
-
|
|
944
|
+
...current,
|
|
945
|
+
usage: payload.payload?.usage ?? current.usage,
|
|
867
946
|
status: "finished",
|
|
868
|
-
|
|
869
|
-
output: payload.payload?.result ?? null
|
|
947
|
+
output: payload.payload?.result ?? current.output
|
|
870
948
|
}
|
|
871
949
|
};
|
|
872
950
|
}
|
|
873
|
-
default:
|
|
951
|
+
default: {
|
|
952
|
+
if (isDataChunkType(payload)) {
|
|
953
|
+
if (!("data" in payload)) {
|
|
954
|
+
throw new Error(
|
|
955
|
+
`UI Messages require a data property when using data- prefixed chunks
|
|
956
|
+
${JSON.stringify(payload)}`
|
|
957
|
+
);
|
|
958
|
+
}
|
|
959
|
+
return payload;
|
|
960
|
+
}
|
|
961
|
+
if (isAgentExecutionDataChunkType(payload)) {
|
|
962
|
+
if (!("data" in payload.payload)) {
|
|
963
|
+
throw new Error(
|
|
964
|
+
`UI Messages require a data property when using data- prefixed chunks
|
|
965
|
+
${JSON.stringify(payload)}`
|
|
966
|
+
);
|
|
967
|
+
}
|
|
968
|
+
return payload.payload;
|
|
969
|
+
}
|
|
970
|
+
if (isWorkflowExecutionDataChunkType(payload)) {
|
|
971
|
+
if (!("data" in payload.payload)) {
|
|
972
|
+
throw new Error(
|
|
973
|
+
`UI Messages require a data property when using data- prefixed chunks
|
|
974
|
+
${JSON.stringify(payload)}`
|
|
975
|
+
);
|
|
976
|
+
}
|
|
977
|
+
return payload.payload;
|
|
978
|
+
}
|
|
874
979
|
return null;
|
|
980
|
+
}
|
|
875
981
|
}
|
|
876
982
|
}
|
|
877
983
|
|
|
878
|
-
// src/
|
|
879
|
-
function
|
|
984
|
+
// src/convert-streams.ts
|
|
985
|
+
function toAISdkV5Stream(stream, options = { from: "agent" }) {
|
|
880
986
|
const from = options?.from;
|
|
881
987
|
if (from === "workflow") {
|
|
882
988
|
return stream.pipeThrough(WorkflowStreamToAISDKTransformer());
|
|
@@ -885,7 +991,7 @@ function toAISdkFormat(stream, options = { from: "agent" }) {
|
|
|
885
991
|
return stream.pipeThrough(AgentNetworkToAISDKTransformer());
|
|
886
992
|
}
|
|
887
993
|
const agentReadable = "fullStream" in stream ? stream.fullStream : stream;
|
|
888
|
-
return agentReadable.pipeThrough(AgentStreamToAISDKTransformer());
|
|
994
|
+
return agentReadable.pipeThrough(AgentStreamToAISDKTransformer(options?.lastMessageId));
|
|
889
995
|
}
|
|
890
996
|
|
|
891
997
|
// src/chat-route.ts
|
|
@@ -993,7 +1099,7 @@ function chatRoute({
|
|
|
993
1099
|
handler: async (c) => {
|
|
994
1100
|
const { messages, ...rest } = await c.req.json();
|
|
995
1101
|
const mastra = c.get("mastra");
|
|
996
|
-
const
|
|
1102
|
+
const requestContext = c.get("requestContext");
|
|
997
1103
|
let agentToUse = agent;
|
|
998
1104
|
if (!agent) {
|
|
999
1105
|
const agentId = c.req.param("agentId");
|
|
@@ -1004,8 +1110,8 @@ function chatRoute({
|
|
|
1004
1110
|
`Fixed agent ID was set together with an agentId path parameter. This can lead to unexpected behavior.`
|
|
1005
1111
|
);
|
|
1006
1112
|
}
|
|
1007
|
-
if (
|
|
1008
|
-
mastra.getLogger()?.warn(`"
|
|
1113
|
+
if (requestContext && defaultOptions?.requestContext) {
|
|
1114
|
+
mastra.getLogger()?.warn(`"requestContext" set in the route options will be overridden by the request's "requestContext".`);
|
|
1009
1115
|
}
|
|
1010
1116
|
if (!agentToUse) {
|
|
1011
1117
|
throw new Error("Agent ID is required");
|
|
@@ -1017,12 +1123,16 @@ function chatRoute({
|
|
|
1017
1123
|
const result = await agentObj.stream(messages, {
|
|
1018
1124
|
...defaultOptions,
|
|
1019
1125
|
...rest,
|
|
1020
|
-
|
|
1126
|
+
requestContext: requestContext || defaultOptions?.requestContext
|
|
1021
1127
|
});
|
|
1128
|
+
let lastMessageId;
|
|
1129
|
+
if (messages.length > 0 && messages[messages.length - 1].role === "assistant") {
|
|
1130
|
+
lastMessageId = messages[messages.length - 1].id;
|
|
1131
|
+
}
|
|
1022
1132
|
const uiMessageStream = ai.createUIMessageStream({
|
|
1023
1133
|
originalMessages: messages,
|
|
1024
1134
|
execute: async ({ writer }) => {
|
|
1025
|
-
for await (const part of
|
|
1135
|
+
for await (const part of toAISdkV5Stream(result, { from: "agent", lastMessageId })) {
|
|
1026
1136
|
writer.write(part);
|
|
1027
1137
|
}
|
|
1028
1138
|
}
|
|
@@ -1063,7 +1173,7 @@ function workflowRoute({
|
|
|
1063
1173
|
type: "object",
|
|
1064
1174
|
properties: {
|
|
1065
1175
|
inputData: { type: "object", additionalProperties: true },
|
|
1066
|
-
|
|
1176
|
+
requestContext: { type: "object", additionalProperties: true },
|
|
1067
1177
|
tracingOptions: { type: "object", additionalProperties: true }
|
|
1068
1178
|
}
|
|
1069
1179
|
}
|
|
@@ -1082,7 +1192,7 @@ function workflowRoute({
|
|
|
1082
1192
|
}
|
|
1083
1193
|
},
|
|
1084
1194
|
handler: async (c) => {
|
|
1085
|
-
const { inputData, ...rest } = await c.req.json();
|
|
1195
|
+
const { inputData, resumeData, ...rest } = await c.req.json();
|
|
1086
1196
|
const mastra = c.get("mastra");
|
|
1087
1197
|
let workflowToUse = workflow;
|
|
1088
1198
|
if (!workflow) {
|
|
@@ -1101,11 +1211,11 @@ function workflowRoute({
|
|
|
1101
1211
|
if (!workflowObj) {
|
|
1102
1212
|
throw new Error(`Workflow ${workflowToUse} not found`);
|
|
1103
1213
|
}
|
|
1104
|
-
const run = await workflowObj.
|
|
1105
|
-
const stream = run.
|
|
1214
|
+
const run = await workflowObj.createRun();
|
|
1215
|
+
const stream = resumeData ? run.resumeStream({ resumeData, ...rest }) : run.stream({ inputData, ...rest });
|
|
1106
1216
|
const uiMessageStream = ai.createUIMessageStream({
|
|
1107
1217
|
execute: async ({ writer }) => {
|
|
1108
|
-
for await (const part of
|
|
1218
|
+
for await (const part of toAISdkV5Stream(stream, { from: "workflow" })) {
|
|
1109
1219
|
writer.write(part);
|
|
1110
1220
|
}
|
|
1111
1221
|
}
|
|
@@ -1145,13 +1255,12 @@ function networkRoute({
|
|
|
1145
1255
|
type: "object",
|
|
1146
1256
|
properties: {
|
|
1147
1257
|
messages: { type: "array", items: { type: "object" } },
|
|
1148
|
-
|
|
1258
|
+
requestContext: { type: "object", additionalProperties: true },
|
|
1149
1259
|
runId: { type: "string" },
|
|
1150
1260
|
maxSteps: { type: "number" },
|
|
1151
1261
|
threadId: { type: "string" },
|
|
1152
1262
|
resourceId: { type: "string" },
|
|
1153
1263
|
modelSettings: { type: "object", additionalProperties: true },
|
|
1154
|
-
telemetry: { type: "object", additionalProperties: true },
|
|
1155
1264
|
tools: { type: "array", items: { type: "object" } }
|
|
1156
1265
|
},
|
|
1157
1266
|
required: ["messages"]
|
|
@@ -1200,7 +1309,7 @@ function networkRoute({
|
|
|
1200
1309
|
});
|
|
1201
1310
|
const uiMessageStream = ai.createUIMessageStream({
|
|
1202
1311
|
execute: async ({ writer }) => {
|
|
1203
|
-
for await (const part of
|
|
1312
|
+
for await (const part of toAISdkV5Stream(result, { from: "network" })) {
|
|
1204
1313
|
writer.write(part);
|
|
1205
1314
|
}
|
|
1206
1315
|
}
|
|
@@ -1210,9 +1319,17 @@ function networkRoute({
|
|
|
1210
1319
|
});
|
|
1211
1320
|
}
|
|
1212
1321
|
|
|
1322
|
+
// src/to-ai-sdk-format.ts
|
|
1323
|
+
function toAISdkFormat() {
|
|
1324
|
+
throw new Error(
|
|
1325
|
+
'toAISdkFormat() has been deprecated. Please use toAISdkStream() instead.\n\nMigration:\n import { toAISdkFormat } from "@mastra/ai-sdk";\n // Change to:\n import { toAISdkStream } from "@mastra/ai-sdk";\n\nThe function signature remains the same.'
|
|
1326
|
+
);
|
|
1327
|
+
}
|
|
1328
|
+
|
|
1213
1329
|
exports.chatRoute = chatRoute;
|
|
1214
1330
|
exports.networkRoute = networkRoute;
|
|
1215
1331
|
exports.toAISdkFormat = toAISdkFormat;
|
|
1332
|
+
exports.toAISdkStream = toAISdkV5Stream;
|
|
1216
1333
|
exports.workflowRoute = workflowRoute;
|
|
1217
1334
|
//# sourceMappingURL=index.cjs.map
|
|
1218
1335
|
//# sourceMappingURL=index.cjs.map
|