@mastra/ai-sdk 0.0.0-error-handler-fix-20251020202607 → 0.0.0-export-agent-memory-from-local-studio-20251112153946
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 +119 -3
- 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 +1 -2
- package/dist/helpers.d.ts.map +1 -1
- package/dist/index.cjs +193 -79
- 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 +193 -80
- 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"
|
|
@@ -332,6 +359,14 @@ function convertFullStreamChunkToUIMessageStream({
|
|
|
332
359
|
toolCallId: part.toolCallId,
|
|
333
360
|
payload: part.output
|
|
334
361
|
};
|
|
362
|
+
} else if (isDataChunkType(part.output)) {
|
|
363
|
+
if (!("data" in part.output)) {
|
|
364
|
+
throw new Error(
|
|
365
|
+
`UI Messages require a data property when using data- prefixed chunks
|
|
366
|
+
${JSON.stringify(part)}`
|
|
367
|
+
);
|
|
368
|
+
}
|
|
369
|
+
return part.output;
|
|
335
370
|
}
|
|
336
371
|
return;
|
|
337
372
|
}
|
|
@@ -383,7 +418,7 @@ function convertFullStreamChunkToUIMessageStream({
|
|
|
383
418
|
return;
|
|
384
419
|
}
|
|
385
420
|
default: {
|
|
386
|
-
if (
|
|
421
|
+
if (isDataChunkType(part)) {
|
|
387
422
|
if (!("data" in part)) {
|
|
388
423
|
throw new Error(
|
|
389
424
|
`UI Messages require a data property when using data- prefixed chunks
|
|
@@ -436,7 +471,7 @@ function AgentNetworkToAISDKTransformer() {
|
|
|
436
471
|
}
|
|
437
472
|
});
|
|
438
473
|
}
|
|
439
|
-
function AgentStreamToAISDKTransformer() {
|
|
474
|
+
function AgentStreamToAISDKTransformer(lastMessageId) {
|
|
440
475
|
let bufferedSteps = /* @__PURE__ */ new Map();
|
|
441
476
|
return new TransformStream({
|
|
442
477
|
transform(chunk, controller) {
|
|
@@ -447,9 +482,9 @@ function AgentStreamToAISDKTransformer() {
|
|
|
447
482
|
sendSources: false,
|
|
448
483
|
sendStart: true,
|
|
449
484
|
sendFinish: true,
|
|
450
|
-
responseMessageId:
|
|
451
|
-
onError() {
|
|
452
|
-
return
|
|
485
|
+
responseMessageId: lastMessageId,
|
|
486
|
+
onError(error) {
|
|
487
|
+
return safeParseErrorObject(error);
|
|
453
488
|
}
|
|
454
489
|
});
|
|
455
490
|
if (transformedChunk) {
|
|
@@ -631,7 +666,9 @@ function transformWorkflow(payload, bufferedWorkflows, isNested) {
|
|
|
631
666
|
name: payload.payload.id,
|
|
632
667
|
status: payload.payload.status,
|
|
633
668
|
input: payload.payload.payload ?? null,
|
|
634
|
-
output: null
|
|
669
|
+
output: null,
|
|
670
|
+
suspendPayload: null,
|
|
671
|
+
resumePayload: null
|
|
635
672
|
};
|
|
636
673
|
bufferedWorkflows.set(payload.runId, current);
|
|
637
674
|
return {
|
|
@@ -664,6 +701,27 @@ function transformWorkflow(payload, bufferedWorkflows, isNested) {
|
|
|
664
701
|
}
|
|
665
702
|
};
|
|
666
703
|
}
|
|
704
|
+
case "workflow-step-suspended": {
|
|
705
|
+
const current = bufferedWorkflows.get(payload.runId);
|
|
706
|
+
if (!current) return null;
|
|
707
|
+
current.steps[payload.payload.id] = {
|
|
708
|
+
...current.steps[payload.payload.id],
|
|
709
|
+
status: payload.payload.status,
|
|
710
|
+
suspendPayload: payload.payload.suspendPayload ?? null,
|
|
711
|
+
resumePayload: payload.payload.resumePayload ?? null,
|
|
712
|
+
output: null
|
|
713
|
+
};
|
|
714
|
+
return {
|
|
715
|
+
type: isNested ? "data-tool-workflow" : "data-workflow",
|
|
716
|
+
id: payload.runId,
|
|
717
|
+
data: {
|
|
718
|
+
name: current.name,
|
|
719
|
+
status: "suspended",
|
|
720
|
+
steps: current.steps,
|
|
721
|
+
output: null
|
|
722
|
+
}
|
|
723
|
+
};
|
|
724
|
+
}
|
|
667
725
|
case "workflow-finish": {
|
|
668
726
|
const current = bufferedWorkflows.get(payload.runId);
|
|
669
727
|
if (!current) return null;
|
|
@@ -678,26 +736,39 @@ function transformWorkflow(payload, bufferedWorkflows, isNested) {
|
|
|
678
736
|
}
|
|
679
737
|
};
|
|
680
738
|
}
|
|
681
|
-
default:
|
|
739
|
+
default: {
|
|
740
|
+
if (isDataChunkType(payload)) {
|
|
741
|
+
if (!("data" in payload)) {
|
|
742
|
+
throw new Error(
|
|
743
|
+
`UI Messages require a data property when using data- prefixed chunks
|
|
744
|
+
${JSON.stringify(payload)}`
|
|
745
|
+
);
|
|
746
|
+
}
|
|
747
|
+
return payload;
|
|
748
|
+
}
|
|
682
749
|
return null;
|
|
750
|
+
}
|
|
683
751
|
}
|
|
684
752
|
}
|
|
685
753
|
function transformNetwork(payload, bufferedNetworks, isNested) {
|
|
686
754
|
switch (payload.type) {
|
|
687
755
|
case "routing-agent-start": {
|
|
688
|
-
if (!bufferedNetworks.has(payload.
|
|
689
|
-
bufferedNetworks.set(payload.
|
|
756
|
+
if (!bufferedNetworks.has(payload.runId)) {
|
|
757
|
+
bufferedNetworks.set(payload.runId, {
|
|
690
758
|
name: payload.payload.agentId,
|
|
691
|
-
steps: []
|
|
759
|
+
steps: [],
|
|
760
|
+
usage: null,
|
|
761
|
+
output: null
|
|
692
762
|
});
|
|
693
763
|
}
|
|
694
764
|
return {
|
|
695
765
|
type: isNested ? "data-tool-network" : "data-network",
|
|
696
|
-
id: payload.
|
|
766
|
+
id: payload.runId,
|
|
697
767
|
data: {
|
|
698
|
-
name: bufferedNetworks.get(payload.
|
|
768
|
+
name: bufferedNetworks.get(payload.runId).name,
|
|
699
769
|
status: "running",
|
|
700
|
-
|
|
770
|
+
usage: null,
|
|
771
|
+
steps: bufferedNetworks.get(payload.runId).steps,
|
|
701
772
|
output: null
|
|
702
773
|
}
|
|
703
774
|
};
|
|
@@ -720,62 +791,62 @@ function transformNetwork(payload, bufferedNetworks, isNested) {
|
|
|
720
791
|
};
|
|
721
792
|
}
|
|
722
793
|
case "agent-execution-start": {
|
|
723
|
-
const current = bufferedNetworks.get(payload.
|
|
794
|
+
const current = bufferedNetworks.get(payload.runId) || { name: "", steps: [], usage: null, output: null };
|
|
724
795
|
current.steps.push({
|
|
725
796
|
name: payload.payload.agentId,
|
|
726
797
|
status: "running",
|
|
727
798
|
input: payload.payload.args || null,
|
|
728
|
-
output: null
|
|
799
|
+
output: null,
|
|
800
|
+
suspendPayload: null,
|
|
801
|
+
resumePayload: null
|
|
729
802
|
});
|
|
730
|
-
bufferedNetworks.set(payload.
|
|
803
|
+
bufferedNetworks.set(payload.runId, current);
|
|
731
804
|
return {
|
|
732
805
|
type: isNested ? "data-tool-network" : "data-network",
|
|
733
|
-
id: payload.
|
|
806
|
+
id: payload.runId,
|
|
734
807
|
data: {
|
|
735
|
-
|
|
736
|
-
status: "running"
|
|
737
|
-
steps: current.steps,
|
|
738
|
-
output: null
|
|
808
|
+
...current,
|
|
809
|
+
status: "running"
|
|
739
810
|
}
|
|
740
811
|
};
|
|
741
812
|
}
|
|
742
813
|
case "workflow-execution-start": {
|
|
743
|
-
const current = bufferedNetworks.get(payload.
|
|
814
|
+
const current = bufferedNetworks.get(payload.runId) || { name: "", steps: [], usage: null, output: null };
|
|
744
815
|
current.steps.push({
|
|
745
816
|
name: payload.payload.name,
|
|
746
817
|
status: "running",
|
|
747
818
|
input: payload.payload.args || null,
|
|
748
|
-
output: null
|
|
819
|
+
output: null,
|
|
820
|
+
suspendPayload: null,
|
|
821
|
+
resumePayload: null
|
|
749
822
|
});
|
|
750
|
-
bufferedNetworks.set(payload.
|
|
823
|
+
bufferedNetworks.set(payload.runId, current);
|
|
751
824
|
return {
|
|
752
825
|
type: isNested ? "data-tool-network" : "data-network",
|
|
753
|
-
id: payload.
|
|
826
|
+
id: payload.runId,
|
|
754
827
|
data: {
|
|
755
|
-
|
|
756
|
-
status: "running"
|
|
757
|
-
steps: current.steps,
|
|
758
|
-
output: null
|
|
828
|
+
...current,
|
|
829
|
+
status: "running"
|
|
759
830
|
}
|
|
760
831
|
};
|
|
761
832
|
}
|
|
762
833
|
case "tool-execution-start": {
|
|
763
|
-
const current = bufferedNetworks.get(payload.
|
|
834
|
+
const current = bufferedNetworks.get(payload.runId) || { name: "", steps: [], usage: null, output: null };
|
|
764
835
|
current.steps.push({
|
|
765
836
|
name: payload.payload.args?.toolName,
|
|
766
837
|
status: "running",
|
|
767
838
|
input: payload.payload.args?.args || null,
|
|
768
|
-
output: null
|
|
839
|
+
output: null,
|
|
840
|
+
suspendPayload: null,
|
|
841
|
+
resumePayload: null
|
|
769
842
|
});
|
|
770
|
-
bufferedNetworks.set(payload.
|
|
843
|
+
bufferedNetworks.set(payload.runId, current);
|
|
771
844
|
return {
|
|
772
845
|
type: isNested ? "data-tool-network" : "data-network",
|
|
773
|
-
id: payload.
|
|
846
|
+
id: payload.runId,
|
|
774
847
|
data: {
|
|
775
|
-
|
|
776
|
-
status: "running"
|
|
777
|
-
steps: current.steps,
|
|
778
|
-
output: null
|
|
848
|
+
...current,
|
|
849
|
+
status: "running"
|
|
779
850
|
}
|
|
780
851
|
};
|
|
781
852
|
}
|
|
@@ -786,16 +857,18 @@ function transformNetwork(payload, bufferedNetworks, isNested) {
|
|
|
786
857
|
name: payload.payload.agentId,
|
|
787
858
|
status: "success",
|
|
788
859
|
input: null,
|
|
789
|
-
output: payload.payload.result
|
|
860
|
+
output: payload.payload.result,
|
|
861
|
+
suspendPayload: null,
|
|
862
|
+
resumePayload: null
|
|
790
863
|
});
|
|
791
864
|
return {
|
|
792
865
|
type: isNested ? "data-tool-network" : "data-network",
|
|
793
866
|
id: payload.runId,
|
|
794
867
|
data: {
|
|
795
|
-
|
|
868
|
+
...current,
|
|
869
|
+
usage: payload.payload?.usage ?? current.usage,
|
|
796
870
|
status: "running",
|
|
797
|
-
|
|
798
|
-
output: payload.payload.result ?? null
|
|
871
|
+
output: payload.payload.result ?? current.output
|
|
799
872
|
}
|
|
800
873
|
};
|
|
801
874
|
}
|
|
@@ -806,16 +879,17 @@ function transformNetwork(payload, bufferedNetworks, isNested) {
|
|
|
806
879
|
name: payload.payload.toolName,
|
|
807
880
|
status: "success",
|
|
808
881
|
input: null,
|
|
809
|
-
output: payload.payload.result
|
|
882
|
+
output: payload.payload.result,
|
|
883
|
+
suspendPayload: null,
|
|
884
|
+
resumePayload: null
|
|
810
885
|
});
|
|
811
886
|
return {
|
|
812
887
|
type: isNested ? "data-tool-network" : "data-network",
|
|
813
888
|
id: payload.runId,
|
|
814
889
|
data: {
|
|
815
|
-
|
|
890
|
+
...current,
|
|
816
891
|
status: "running",
|
|
817
|
-
|
|
818
|
-
output: payload.payload.result ?? null
|
|
892
|
+
output: payload.payload.result ?? current.output
|
|
819
893
|
}
|
|
820
894
|
};
|
|
821
895
|
}
|
|
@@ -826,44 +900,45 @@ function transformNetwork(payload, bufferedNetworks, isNested) {
|
|
|
826
900
|
name: payload.payload.name,
|
|
827
901
|
status: "success",
|
|
828
902
|
input: null,
|
|
829
|
-
output: payload.payload.result
|
|
903
|
+
output: payload.payload.result,
|
|
904
|
+
suspendPayload: null,
|
|
905
|
+
resumePayload: null
|
|
830
906
|
});
|
|
831
907
|
return {
|
|
832
908
|
type: isNested ? "data-tool-network" : "data-network",
|
|
833
909
|
id: payload.runId,
|
|
834
910
|
data: {
|
|
835
|
-
|
|
911
|
+
...current,
|
|
912
|
+
usage: payload.payload?.usage ?? current.usage,
|
|
836
913
|
status: "running",
|
|
837
|
-
|
|
838
|
-
output: payload.payload.result ?? null
|
|
914
|
+
output: payload.payload.result ?? current.output
|
|
839
915
|
}
|
|
840
916
|
};
|
|
841
917
|
}
|
|
842
918
|
case "routing-agent-end": {
|
|
843
|
-
const current = bufferedNetworks.get(payload.
|
|
919
|
+
const current = bufferedNetworks.get(payload.runId);
|
|
844
920
|
if (!current) return null;
|
|
845
921
|
return {
|
|
846
922
|
type: isNested ? "data-tool-network" : "data-network",
|
|
847
|
-
id: payload.
|
|
923
|
+
id: payload.runId,
|
|
848
924
|
data: {
|
|
849
|
-
|
|
925
|
+
...current,
|
|
850
926
|
status: "finished",
|
|
851
|
-
|
|
852
|
-
output: payload.payload?.result ??
|
|
927
|
+
usage: payload.payload?.usage ?? current.usage,
|
|
928
|
+
output: payload.payload?.result ?? current.output
|
|
853
929
|
}
|
|
854
930
|
};
|
|
855
931
|
}
|
|
856
932
|
case "network-execution-event-step-finish": {
|
|
857
|
-
const current = bufferedNetworks.get(payload.
|
|
933
|
+
const current = bufferedNetworks.get(payload.runId);
|
|
858
934
|
if (!current) return null;
|
|
859
935
|
return {
|
|
860
936
|
type: isNested ? "data-tool-network" : "data-network",
|
|
861
|
-
id: payload.
|
|
937
|
+
id: payload.runId,
|
|
862
938
|
data: {
|
|
863
|
-
|
|
939
|
+
...current,
|
|
864
940
|
status: "finished",
|
|
865
|
-
|
|
866
|
-
output: payload.payload?.result ?? null
|
|
941
|
+
output: payload.payload?.result ?? current.output
|
|
867
942
|
}
|
|
868
943
|
};
|
|
869
944
|
}
|
|
@@ -874,20 +949,48 @@ function transformNetwork(payload, bufferedNetworks, isNested) {
|
|
|
874
949
|
type: isNested ? "data-tool-network" : "data-network",
|
|
875
950
|
id: payload.runId,
|
|
876
951
|
data: {
|
|
877
|
-
|
|
952
|
+
...current,
|
|
953
|
+
usage: payload.payload?.usage ?? current.usage,
|
|
878
954
|
status: "finished",
|
|
879
|
-
|
|
880
|
-
output: payload.payload?.result ?? null
|
|
955
|
+
output: payload.payload?.result ?? current.output
|
|
881
956
|
}
|
|
882
957
|
};
|
|
883
958
|
}
|
|
884
|
-
default:
|
|
959
|
+
default: {
|
|
960
|
+
if (isDataChunkType(payload)) {
|
|
961
|
+
if (!("data" in payload)) {
|
|
962
|
+
throw new Error(
|
|
963
|
+
`UI Messages require a data property when using data- prefixed chunks
|
|
964
|
+
${JSON.stringify(payload)}`
|
|
965
|
+
);
|
|
966
|
+
}
|
|
967
|
+
return payload;
|
|
968
|
+
}
|
|
969
|
+
if (isAgentExecutionDataChunkType(payload)) {
|
|
970
|
+
if (!("data" in payload.payload)) {
|
|
971
|
+
throw new Error(
|
|
972
|
+
`UI Messages require a data property when using data- prefixed chunks
|
|
973
|
+
${JSON.stringify(payload)}`
|
|
974
|
+
);
|
|
975
|
+
}
|
|
976
|
+
return payload.payload;
|
|
977
|
+
}
|
|
978
|
+
if (isWorkflowExecutionDataChunkType(payload)) {
|
|
979
|
+
if (!("data" in payload.payload)) {
|
|
980
|
+
throw new Error(
|
|
981
|
+
`UI Messages require a data property when using data- prefixed chunks
|
|
982
|
+
${JSON.stringify(payload)}`
|
|
983
|
+
);
|
|
984
|
+
}
|
|
985
|
+
return payload.payload;
|
|
986
|
+
}
|
|
885
987
|
return null;
|
|
988
|
+
}
|
|
886
989
|
}
|
|
887
990
|
}
|
|
888
991
|
|
|
889
|
-
// src/
|
|
890
|
-
function
|
|
992
|
+
// src/convert-streams.ts
|
|
993
|
+
function toAISdkV5Stream(stream, options = { from: "agent" }) {
|
|
891
994
|
const from = options?.from;
|
|
892
995
|
if (from === "workflow") {
|
|
893
996
|
return stream.pipeThrough(WorkflowStreamToAISDKTransformer());
|
|
@@ -896,7 +999,7 @@ function toAISdkFormat(stream, options = { from: "agent" }) {
|
|
|
896
999
|
return stream.pipeThrough(AgentNetworkToAISDKTransformer());
|
|
897
1000
|
}
|
|
898
1001
|
const agentReadable = "fullStream" in stream ? stream.fullStream : stream;
|
|
899
|
-
return agentReadable.pipeThrough(AgentStreamToAISDKTransformer());
|
|
1002
|
+
return agentReadable.pipeThrough(AgentStreamToAISDKTransformer(options?.lastMessageId));
|
|
900
1003
|
}
|
|
901
1004
|
|
|
902
1005
|
// src/chat-route.ts
|
|
@@ -1004,7 +1107,7 @@ function chatRoute({
|
|
|
1004
1107
|
handler: async (c) => {
|
|
1005
1108
|
const { messages, ...rest } = await c.req.json();
|
|
1006
1109
|
const mastra = c.get("mastra");
|
|
1007
|
-
const
|
|
1110
|
+
const requestContext = c.get("requestContext");
|
|
1008
1111
|
let agentToUse = agent;
|
|
1009
1112
|
if (!agent) {
|
|
1010
1113
|
const agentId = c.req.param("agentId");
|
|
@@ -1015,8 +1118,8 @@ function chatRoute({
|
|
|
1015
1118
|
`Fixed agent ID was set together with an agentId path parameter. This can lead to unexpected behavior.`
|
|
1016
1119
|
);
|
|
1017
1120
|
}
|
|
1018
|
-
if (
|
|
1019
|
-
mastra.getLogger()?.warn(`"
|
|
1121
|
+
if (requestContext && defaultOptions?.requestContext) {
|
|
1122
|
+
mastra.getLogger()?.warn(`"requestContext" set in the route options will be overridden by the request's "requestContext".`);
|
|
1020
1123
|
}
|
|
1021
1124
|
if (!agentToUse) {
|
|
1022
1125
|
throw new Error("Agent ID is required");
|
|
@@ -1028,12 +1131,16 @@ function chatRoute({
|
|
|
1028
1131
|
const result = await agentObj.stream(messages, {
|
|
1029
1132
|
...defaultOptions,
|
|
1030
1133
|
...rest,
|
|
1031
|
-
|
|
1134
|
+
requestContext: requestContext || defaultOptions?.requestContext
|
|
1032
1135
|
});
|
|
1136
|
+
let lastMessageId;
|
|
1137
|
+
if (messages.length > 0 && messages[messages.length - 1].role === "assistant") {
|
|
1138
|
+
lastMessageId = messages[messages.length - 1].id;
|
|
1139
|
+
}
|
|
1033
1140
|
const uiMessageStream = ai.createUIMessageStream({
|
|
1034
1141
|
originalMessages: messages,
|
|
1035
1142
|
execute: async ({ writer }) => {
|
|
1036
|
-
for await (const part of
|
|
1143
|
+
for await (const part of toAISdkV5Stream(result, { from: "agent", lastMessageId })) {
|
|
1037
1144
|
writer.write(part);
|
|
1038
1145
|
}
|
|
1039
1146
|
}
|
|
@@ -1074,7 +1181,7 @@ function workflowRoute({
|
|
|
1074
1181
|
type: "object",
|
|
1075
1182
|
properties: {
|
|
1076
1183
|
inputData: { type: "object", additionalProperties: true },
|
|
1077
|
-
|
|
1184
|
+
requestContext: { type: "object", additionalProperties: true },
|
|
1078
1185
|
tracingOptions: { type: "object", additionalProperties: true }
|
|
1079
1186
|
}
|
|
1080
1187
|
}
|
|
@@ -1093,7 +1200,7 @@ function workflowRoute({
|
|
|
1093
1200
|
}
|
|
1094
1201
|
},
|
|
1095
1202
|
handler: async (c) => {
|
|
1096
|
-
const { inputData, ...rest } = await c.req.json();
|
|
1203
|
+
const { inputData, resumeData, ...rest } = await c.req.json();
|
|
1097
1204
|
const mastra = c.get("mastra");
|
|
1098
1205
|
let workflowToUse = workflow;
|
|
1099
1206
|
if (!workflow) {
|
|
@@ -1112,11 +1219,11 @@ function workflowRoute({
|
|
|
1112
1219
|
if (!workflowObj) {
|
|
1113
1220
|
throw new Error(`Workflow ${workflowToUse} not found`);
|
|
1114
1221
|
}
|
|
1115
|
-
const run = await workflowObj.
|
|
1116
|
-
const stream = run.
|
|
1222
|
+
const run = await workflowObj.createRun();
|
|
1223
|
+
const stream = resumeData ? run.resumeStream({ resumeData, ...rest }) : run.stream({ inputData, ...rest });
|
|
1117
1224
|
const uiMessageStream = ai.createUIMessageStream({
|
|
1118
1225
|
execute: async ({ writer }) => {
|
|
1119
|
-
for await (const part of
|
|
1226
|
+
for await (const part of toAISdkV5Stream(stream, { from: "workflow" })) {
|
|
1120
1227
|
writer.write(part);
|
|
1121
1228
|
}
|
|
1122
1229
|
}
|
|
@@ -1156,13 +1263,12 @@ function networkRoute({
|
|
|
1156
1263
|
type: "object",
|
|
1157
1264
|
properties: {
|
|
1158
1265
|
messages: { type: "array", items: { type: "object" } },
|
|
1159
|
-
|
|
1266
|
+
requestContext: { type: "object", additionalProperties: true },
|
|
1160
1267
|
runId: { type: "string" },
|
|
1161
1268
|
maxSteps: { type: "number" },
|
|
1162
1269
|
threadId: { type: "string" },
|
|
1163
1270
|
resourceId: { type: "string" },
|
|
1164
1271
|
modelSettings: { type: "object", additionalProperties: true },
|
|
1165
|
-
telemetry: { type: "object", additionalProperties: true },
|
|
1166
1272
|
tools: { type: "array", items: { type: "object" } }
|
|
1167
1273
|
},
|
|
1168
1274
|
required: ["messages"]
|
|
@@ -1211,7 +1317,7 @@ function networkRoute({
|
|
|
1211
1317
|
});
|
|
1212
1318
|
const uiMessageStream = ai.createUIMessageStream({
|
|
1213
1319
|
execute: async ({ writer }) => {
|
|
1214
|
-
for await (const part of
|
|
1320
|
+
for await (const part of toAISdkV5Stream(result, { from: "network" })) {
|
|
1215
1321
|
writer.write(part);
|
|
1216
1322
|
}
|
|
1217
1323
|
}
|
|
@@ -1221,9 +1327,17 @@ function networkRoute({
|
|
|
1221
1327
|
});
|
|
1222
1328
|
}
|
|
1223
1329
|
|
|
1330
|
+
// src/to-ai-sdk-format.ts
|
|
1331
|
+
function toAISdkFormat() {
|
|
1332
|
+
throw new Error(
|
|
1333
|
+
'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.'
|
|
1334
|
+
);
|
|
1335
|
+
}
|
|
1336
|
+
|
|
1224
1337
|
exports.chatRoute = chatRoute;
|
|
1225
1338
|
exports.networkRoute = networkRoute;
|
|
1226
1339
|
exports.toAISdkFormat = toAISdkFormat;
|
|
1340
|
+
exports.toAISdkStream = toAISdkV5Stream;
|
|
1227
1341
|
exports.workflowRoute = workflowRoute;
|
|
1228
1342
|
//# sourceMappingURL=index.cjs.map
|
|
1229
1343
|
//# sourceMappingURL=index.cjs.map
|