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