@mastra/ai-sdk 0.0.0-ai-sdk-workflow-route-20251010135341 → 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/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.type;
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
- const exhaustiveCheck = partType;
384
- throw new Error(`Unknown chunk type: ${exhaustiveCheck}`);
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: chunk.runId,
440
- onError() {
441
- return "Error";
477
+ responseMessageId: lastMessageId,
478
+ onError(error) {
479
+ return safeParseErrorObject(error);
442
480
  }
443
481
  });
444
482
  if (transformedChunk) {
@@ -448,11 +486,11 @@ function AgentStreamToAISDKTransformer() {
448
486
  if (agentTransformed) controller.enqueue(agentTransformed);
449
487
  } else if (transformedChunk.type === "tool-workflow") {
450
488
  const payload = transformedChunk.payload;
451
- const workflowChunk = transformWorkflow(payload, bufferedSteps);
489
+ const workflowChunk = transformWorkflow(payload, bufferedSteps, true);
452
490
  if (workflowChunk) controller.enqueue(workflowChunk);
453
491
  } else if (transformedChunk.type === "tool-network") {
454
492
  const payload = transformedChunk.payload;
455
- const networkChunk = transformNetwork(payload, bufferedSteps);
493
+ const networkChunk = transformNetwork(payload, bufferedSteps, true);
456
494
  if (networkChunk) controller.enqueue(networkChunk);
457
495
  } else {
458
496
  controller.enqueue(transformedChunk);
@@ -597,7 +635,7 @@ function transformAgent(payload, bufferedSteps) {
597
635
  }
598
636
  return null;
599
637
  }
600
- function transformWorkflow(payload, bufferedWorkflows) {
638
+ function transformWorkflow(payload, bufferedWorkflows, isNested) {
601
639
  switch (payload.type) {
602
640
  case "workflow-start":
603
641
  bufferedWorkflows.set(payload.runId, {
@@ -605,7 +643,7 @@ function transformWorkflow(payload, bufferedWorkflows) {
605
643
  steps: {}
606
644
  });
607
645
  return {
608
- type: "data-workflow",
646
+ type: isNested ? "data-tool-workflow" : "data-workflow",
609
647
  id: payload.runId,
610
648
  data: {
611
649
  name: bufferedWorkflows.get(payload.runId).name,
@@ -620,11 +658,13 @@ function transformWorkflow(payload, bufferedWorkflows) {
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 {
627
- type: "data-workflow",
667
+ type: isNested ? "data-tool-workflow" : "data-workflow",
628
668
  id: payload.runId,
629
669
  data: {
630
670
  name: current.name,
@@ -643,7 +683,7 @@ function transformWorkflow(payload, bufferedWorkflows) {
643
683
  output: payload.payload.output ?? null
644
684
  };
645
685
  return {
646
- type: "data-workflow",
686
+ type: isNested ? "data-tool-workflow" : "data-workflow",
647
687
  id: payload.runId,
648
688
  data: {
649
689
  name: current.name,
@@ -653,11 +693,32 @@ function transformWorkflow(payload, bufferedWorkflows) {
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;
659
720
  return {
660
- type: "data-workflow",
721
+ type: isNested ? "data-tool-workflow" : "data-workflow",
661
722
  id: payload.runId,
662
723
  data: {
663
724
  name: current.name,
@@ -667,87 +728,117 @@ function transformWorkflow(payload, bufferedWorkflows) {
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
- function transformNetwork(payload, bufferedNetworks) {
745
+ function transformNetwork(payload, bufferedNetworks, isNested) {
675
746
  switch (payload.type) {
676
747
  case "routing-agent-start": {
677
- if (!bufferedNetworks.has(payload.payload.runId)) {
678
- bufferedNetworks.set(payload.payload.runId, {
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
- type: "data-network",
685
- id: payload.payload.runId,
757
+ type: isNested ? "data-tool-network" : "data-network",
758
+ id: payload.runId,
686
759
  data: {
687
- name: bufferedNetworks.get(payload.payload.runId).name,
760
+ name: bufferedNetworks.get(payload.runId).name,
688
761
  status: "running",
689
- steps: bufferedNetworks.get(payload.payload.runId).steps,
762
+ usage: null,
763
+ steps: bufferedNetworks.get(payload.runId).steps,
690
764
  output: null
691
765
  }
692
766
  };
693
767
  }
768
+ case "routing-agent-text-start": {
769
+ const current = bufferedNetworks.get(payload.runId);
770
+ if (!current) return null;
771
+ return {
772
+ type: "text-start",
773
+ id: payload.runId
774
+ };
775
+ }
776
+ case "routing-agent-text-delta": {
777
+ const current = bufferedNetworks.get(payload.runId);
778
+ if (!current) return null;
779
+ return {
780
+ type: "text-delta",
781
+ id: payload.runId,
782
+ delta: payload.payload.text
783
+ };
784
+ }
694
785
  case "agent-execution-start": {
695
- const current = bufferedNetworks.get(payload.payload.runId) || { name: "", steps: [] };
786
+ const current = bufferedNetworks.get(payload.runId) || { name: "", steps: [], usage: null, output: null };
696
787
  current.steps.push({
697
788
  name: payload.payload.agentId,
698
789
  status: "running",
699
790
  input: payload.payload.args || null,
700
- output: null
791
+ output: null,
792
+ suspendPayload: null,
793
+ resumePayload: null
701
794
  });
702
- bufferedNetworks.set(payload.payload.runId, current);
795
+ bufferedNetworks.set(payload.runId, current);
703
796
  return {
704
- type: "data-network",
705
- id: payload.payload.runId,
797
+ type: isNested ? "data-tool-network" : "data-network",
798
+ id: payload.runId,
706
799
  data: {
707
- name: current.name,
708
- status: "running",
709
- steps: current.steps,
710
- output: null
800
+ ...current,
801
+ status: "running"
711
802
  }
712
803
  };
713
804
  }
714
805
  case "workflow-execution-start": {
715
- const current = bufferedNetworks.get(payload.payload.runId) || { name: "", steps: [] };
806
+ const current = bufferedNetworks.get(payload.runId) || { name: "", steps: [], usage: null, output: null };
716
807
  current.steps.push({
717
808
  name: payload.payload.name,
718
809
  status: "running",
719
810
  input: payload.payload.args || null,
720
- output: null
811
+ output: null,
812
+ suspendPayload: null,
813
+ resumePayload: null
721
814
  });
722
- bufferedNetworks.set(payload.payload.runId, current);
815
+ bufferedNetworks.set(payload.runId, current);
723
816
  return {
724
- type: "data-network",
725
- id: payload.payload.runId,
817
+ type: isNested ? "data-tool-network" : "data-network",
818
+ id: payload.runId,
726
819
  data: {
727
- name: current.name,
728
- status: "running",
729
- steps: current.steps,
730
- output: null
820
+ ...current,
821
+ status: "running"
731
822
  }
732
823
  };
733
824
  }
734
825
  case "tool-execution-start": {
735
- const current = bufferedNetworks.get(payload.payload.runId) || { name: "", steps: [] };
826
+ const current = bufferedNetworks.get(payload.runId) || { name: "", steps: [], usage: null, output: null };
736
827
  current.steps.push({
737
828
  name: payload.payload.args?.toolName,
738
829
  status: "running",
739
830
  input: payload.payload.args?.args || null,
740
- output: null
831
+ output: null,
832
+ suspendPayload: null,
833
+ resumePayload: null
741
834
  });
742
- bufferedNetworks.set(payload.payload.runId, current);
835
+ bufferedNetworks.set(payload.runId, current);
743
836
  return {
744
- type: "data-network",
745
- id: payload.payload.runId,
837
+ type: isNested ? "data-tool-network" : "data-network",
838
+ id: payload.runId,
746
839
  data: {
747
- name: current.name,
748
- status: "running",
749
- steps: current.steps,
750
- output: null
840
+ ...current,
841
+ status: "running"
751
842
  }
752
843
  };
753
844
  }
@@ -758,16 +849,18 @@ function transformNetwork(payload, bufferedNetworks) {
758
849
  name: payload.payload.agentId,
759
850
  status: "success",
760
851
  input: null,
761
- output: payload.payload.result
852
+ output: payload.payload.result,
853
+ suspendPayload: null,
854
+ resumePayload: null
762
855
  });
763
856
  return {
764
- type: "data-network",
857
+ type: isNested ? "data-tool-network" : "data-network",
765
858
  id: payload.runId,
766
859
  data: {
767
- name: current.name,
860
+ ...current,
861
+ usage: payload.payload?.usage ?? current.usage,
768
862
  status: "running",
769
- steps: current.steps,
770
- output: payload.payload.result ?? null
863
+ output: payload.payload.result ?? current.output
771
864
  }
772
865
  };
773
866
  }
@@ -778,16 +871,17 @@ function transformNetwork(payload, bufferedNetworks) {
778
871
  name: payload.payload.toolName,
779
872
  status: "success",
780
873
  input: null,
781
- output: payload.payload.result
874
+ output: payload.payload.result,
875
+ suspendPayload: null,
876
+ resumePayload: null
782
877
  });
783
878
  return {
784
- type: "data-network",
879
+ type: isNested ? "data-tool-network" : "data-network",
785
880
  id: payload.runId,
786
881
  data: {
787
- name: current.name,
882
+ ...current,
788
883
  status: "running",
789
- steps: current.steps,
790
- output: payload.payload.result ?? null
884
+ output: payload.payload.result ?? current.output
791
885
  }
792
886
  };
793
887
  }
@@ -798,44 +892,45 @@ function transformNetwork(payload, bufferedNetworks) {
798
892
  name: payload.payload.name,
799
893
  status: "success",
800
894
  input: null,
801
- output: payload.payload.result
895
+ output: payload.payload.result,
896
+ suspendPayload: null,
897
+ resumePayload: null
802
898
  });
803
899
  return {
804
- type: "data-network",
900
+ type: isNested ? "data-tool-network" : "data-network",
805
901
  id: payload.runId,
806
902
  data: {
807
- name: current.name,
903
+ ...current,
904
+ usage: payload.payload?.usage ?? current.usage,
808
905
  status: "running",
809
- steps: current.steps,
810
- output: payload.payload.result ?? null
906
+ output: payload.payload.result ?? current.output
811
907
  }
812
908
  };
813
909
  }
814
910
  case "routing-agent-end": {
815
- const current = bufferedNetworks.get(payload.payload.runId);
911
+ const current = bufferedNetworks.get(payload.runId);
816
912
  if (!current) return null;
817
913
  return {
818
- type: "data-network",
819
- id: payload.payload.runId,
914
+ type: isNested ? "data-tool-network" : "data-network",
915
+ id: payload.runId,
820
916
  data: {
821
- name: current.name,
917
+ ...current,
822
918
  status: "finished",
823
- steps: current.steps,
824
- output: payload.payload?.result ?? null
919
+ usage: payload.payload?.usage ?? current.usage,
920
+ output: payload.payload?.result ?? current.output
825
921
  }
826
922
  };
827
923
  }
828
924
  case "network-execution-event-step-finish": {
829
- const current = bufferedNetworks.get(payload.payload.runId);
925
+ const current = bufferedNetworks.get(payload.runId);
830
926
  if (!current) return null;
831
927
  return {
832
- type: "data-network",
833
- id: payload.payload.runId,
928
+ type: isNested ? "data-tool-network" : "data-network",
929
+ id: payload.runId,
834
930
  data: {
835
- name: current.name,
931
+ ...current,
836
932
  status: "finished",
837
- steps: current.steps,
838
- output: payload.payload?.result ?? null
933
+ output: payload.payload?.result ?? current.output
839
934
  }
840
935
  };
841
936
  }
@@ -843,23 +938,51 @@ function transformNetwork(payload, bufferedNetworks) {
843
938
  const current = bufferedNetworks.get(payload.runId);
844
939
  if (!current) return null;
845
940
  return {
846
- type: "data-network",
941
+ type: isNested ? "data-tool-network" : "data-network",
847
942
  id: payload.runId,
848
943
  data: {
849
- name: current.name,
944
+ ...current,
945
+ usage: payload.payload?.usage ?? current.usage,
850
946
  status: "finished",
851
- steps: current.steps,
852
- output: payload.payload?.result ?? null
947
+ output: payload.payload?.result ?? current.output
853
948
  }
854
949
  };
855
950
  }
856
- 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
+ }
857
979
  return null;
980
+ }
858
981
  }
859
982
  }
860
983
 
861
- // src/to-ai-sdk-format.ts
862
- function toAISdkFormat(stream, options = { from: "agent" }) {
984
+ // src/convert-streams.ts
985
+ function toAISdkV5Stream(stream, options = { from: "agent" }) {
863
986
  const from = options?.from;
864
987
  if (from === "workflow") {
865
988
  return stream.pipeThrough(WorkflowStreamToAISDKTransformer());
@@ -868,7 +991,7 @@ function toAISdkFormat(stream, options = { from: "agent" }) {
868
991
  return stream.pipeThrough(AgentNetworkToAISDKTransformer());
869
992
  }
870
993
  const agentReadable = "fullStream" in stream ? stream.fullStream : stream;
871
- return agentReadable.pipeThrough(AgentStreamToAISDKTransformer());
994
+ return agentReadable.pipeThrough(AgentStreamToAISDKTransformer(options?.lastMessageId));
872
995
  }
873
996
 
874
997
  // src/chat-route.ts
@@ -976,6 +1099,7 @@ function chatRoute({
976
1099
  handler: async (c) => {
977
1100
  const { messages, ...rest } = await c.req.json();
978
1101
  const mastra = c.get("mastra");
1102
+ const requestContext = c.get("requestContext");
979
1103
  let agentToUse = agent;
980
1104
  if (!agent) {
981
1105
  const agentId = c.req.param("agentId");
@@ -986,6 +1110,9 @@ function chatRoute({
986
1110
  `Fixed agent ID was set together with an agentId path parameter. This can lead to unexpected behavior.`
987
1111
  );
988
1112
  }
1113
+ if (requestContext && defaultOptions?.requestContext) {
1114
+ mastra.getLogger()?.warn(`"requestContext" set in the route options will be overridden by the request's "requestContext".`);
1115
+ }
989
1116
  if (!agentToUse) {
990
1117
  throw new Error("Agent ID is required");
991
1118
  }
@@ -995,11 +1122,17 @@ function chatRoute({
995
1122
  }
996
1123
  const result = await agentObj.stream(messages, {
997
1124
  ...defaultOptions,
998
- ...rest
1125
+ ...rest,
1126
+ requestContext: requestContext || defaultOptions?.requestContext
999
1127
  });
1128
+ let lastMessageId;
1129
+ if (messages.length > 0 && messages[messages.length - 1].role === "assistant") {
1130
+ lastMessageId = messages[messages.length - 1].id;
1131
+ }
1000
1132
  const uiMessageStream = ai.createUIMessageStream({
1133
+ originalMessages: messages,
1001
1134
  execute: async ({ writer }) => {
1002
- for await (const part of toAISdkFormat(result, { from: "agent" })) {
1135
+ for await (const part of toAISdkV5Stream(result, { from: "agent", lastMessageId })) {
1003
1136
  writer.write(part);
1004
1137
  }
1005
1138
  }
@@ -1040,7 +1173,7 @@ function workflowRoute({
1040
1173
  type: "object",
1041
1174
  properties: {
1042
1175
  inputData: { type: "object", additionalProperties: true },
1043
- runtimeContext: { type: "object", additionalProperties: true },
1176
+ requestContext: { type: "object", additionalProperties: true },
1044
1177
  tracingOptions: { type: "object", additionalProperties: true }
1045
1178
  }
1046
1179
  }
@@ -1059,7 +1192,7 @@ function workflowRoute({
1059
1192
  }
1060
1193
  },
1061
1194
  handler: async (c) => {
1062
- const { inputData, ...rest } = await c.req.json();
1195
+ const { inputData, resumeData, ...rest } = await c.req.json();
1063
1196
  const mastra = c.get("mastra");
1064
1197
  let workflowToUse = workflow;
1065
1198
  if (!workflow) {
@@ -1078,11 +1211,11 @@ function workflowRoute({
1078
1211
  if (!workflowObj) {
1079
1212
  throw new Error(`Workflow ${workflowToUse} not found`);
1080
1213
  }
1081
- const run = await workflowObj.createRunAsync();
1082
- const stream = run.streamVNext({ inputData, ...rest });
1214
+ const run = await workflowObj.createRun();
1215
+ const stream = resumeData ? run.resumeStream({ resumeData, ...rest }) : run.stream({ inputData, ...rest });
1083
1216
  const uiMessageStream = ai.createUIMessageStream({
1084
1217
  execute: async ({ writer }) => {
1085
- for await (const part of toAISdkFormat(stream, { from: "workflow" })) {
1218
+ for await (const part of toAISdkV5Stream(stream, { from: "workflow" })) {
1086
1219
  writer.write(part);
1087
1220
  }
1088
1221
  }
@@ -1122,13 +1255,12 @@ function networkRoute({
1122
1255
  type: "object",
1123
1256
  properties: {
1124
1257
  messages: { type: "array", items: { type: "object" } },
1125
- runtimeContext: { type: "object", additionalProperties: true },
1258
+ requestContext: { type: "object", additionalProperties: true },
1126
1259
  runId: { type: "string" },
1127
1260
  maxSteps: { type: "number" },
1128
1261
  threadId: { type: "string" },
1129
1262
  resourceId: { type: "string" },
1130
1263
  modelSettings: { type: "object", additionalProperties: true },
1131
- telemetry: { type: "object", additionalProperties: true },
1132
1264
  tools: { type: "array", items: { type: "object" } }
1133
1265
  },
1134
1266
  required: ["messages"]
@@ -1177,7 +1309,7 @@ function networkRoute({
1177
1309
  });
1178
1310
  const uiMessageStream = ai.createUIMessageStream({
1179
1311
  execute: async ({ writer }) => {
1180
- for await (const part of toAISdkFormat(result, { from: "network" })) {
1312
+ for await (const part of toAISdkV5Stream(result, { from: "network" })) {
1181
1313
  writer.write(part);
1182
1314
  }
1183
1315
  }
@@ -1187,9 +1319,17 @@ function networkRoute({
1187
1319
  });
1188
1320
  }
1189
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
+
1190
1329
  exports.chatRoute = chatRoute;
1191
1330
  exports.networkRoute = networkRoute;
1192
1331
  exports.toAISdkFormat = toAISdkFormat;
1332
+ exports.toAISdkStream = toAISdkV5Stream;
1193
1333
  exports.workflowRoute = workflowRoute;
1194
1334
  //# sourceMappingURL=index.cjs.map
1195
1335
  //# sourceMappingURL=index.cjs.map