@mastra/server 0.0.0-working-memory-per-user-20250620161509 → 0.0.0-zod-v4-compat-part-2-20250820135355

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.
Files changed (206) hide show
  1. package/LICENSE.md +11 -42
  2. package/dist/{chunk-VPNDC2DI.cjs → chunk-4CEZIJWJ.cjs} +16 -14
  3. package/dist/chunk-4CEZIJWJ.cjs.map +1 -0
  4. package/dist/{chunk-QLG2PFHE.js → chunk-4MQU6AJN.js} +5 -3
  5. package/dist/chunk-4MQU6AJN.js.map +1 -0
  6. package/dist/{chunk-57CJTIPW.cjs → chunk-4QSNRCOT.cjs} +4 -2
  7. package/dist/chunk-4QSNRCOT.cjs.map +1 -0
  8. package/dist/{chunk-WJY57THV.cjs → chunk-4US5W7PH.cjs} +26 -24
  9. package/dist/chunk-4US5W7PH.cjs.map +1 -0
  10. package/dist/chunk-57W7TS7P.cjs +547 -0
  11. package/dist/chunk-57W7TS7P.cjs.map +1 -0
  12. package/dist/{chunk-OCWPVYNI.cjs → chunk-7NADHFD2.cjs} +3 -0
  13. package/dist/chunk-7NADHFD2.cjs.map +1 -0
  14. package/dist/{chunk-IMBY5XUG.cjs → chunk-BED2O446.cjs} +11 -9
  15. package/dist/chunk-BED2O446.cjs.map +1 -0
  16. package/dist/chunk-CY4TP3FK.js +16 -0
  17. package/dist/chunk-CY4TP3FK.js.map +1 -0
  18. package/dist/{chunk-55DOQLP6.js → chunk-G7NVCO5M.js} +5 -3
  19. package/dist/chunk-G7NVCO5M.js.map +1 -0
  20. package/dist/{chunk-SDPGVWQJ.cjs → chunk-GASWM5HJ.cjs} +4 -2
  21. package/dist/chunk-GASWM5HJ.cjs.map +1 -0
  22. package/dist/{chunk-5UV7XQ4G.js → chunk-GBL4JYW7.js} +52 -16
  23. package/dist/chunk-GBL4JYW7.js.map +1 -0
  24. package/dist/chunk-GU4EWMZB.cjs +769 -0
  25. package/dist/chunk-GU4EWMZB.cjs.map +1 -0
  26. package/dist/chunk-GX25CWC7.cjs +588 -0
  27. package/dist/chunk-GX25CWC7.cjs.map +1 -0
  28. package/dist/{chunk-N2YBMSO2.js → chunk-HNYYFKON.js} +18 -15
  29. package/dist/chunk-HNYYFKON.js.map +1 -0
  30. package/dist/{chunk-R5VGYBV6.js → chunk-HWHKM67I.js} +6 -4
  31. package/dist/chunk-HWHKM67I.js.map +1 -0
  32. package/dist/{chunk-B4MQFJ7G.cjs → chunk-ILCWPBYQ.cjs} +9 -7
  33. package/dist/chunk-ILCWPBYQ.cjs.map +1 -0
  34. package/dist/{chunk-2GOU7Q4O.js → chunk-ITZX6VPI.js} +146 -73
  35. package/dist/chunk-ITZX6VPI.js.map +1 -0
  36. package/dist/chunk-LF2ZLOFP.js +767 -0
  37. package/dist/chunk-LF2ZLOFP.js.map +1 -0
  38. package/dist/{chunk-NYN7KFXL.js → chunk-MMROOK5J.js} +3 -0
  39. package/dist/chunk-MMROOK5J.js.map +1 -0
  40. package/dist/{chunk-BNEY4P4P.cjs → chunk-NCS2OXX6.cjs} +20 -18
  41. package/dist/chunk-NCS2OXX6.cjs.map +1 -0
  42. package/dist/{chunk-H5PTF3Y4.js → chunk-OW4FX5TS.js} +3 -1
  43. package/dist/chunk-OW4FX5TS.js.map +1 -0
  44. package/dist/{chunk-MLKGABMK.js → chunk-PZ5AY32C.js} +2 -0
  45. package/dist/chunk-PZ5AY32C.js.map +1 -0
  46. package/dist/{chunk-75ZPJI57.cjs → chunk-Q7SFCCGT.cjs} +2 -0
  47. package/dist/chunk-Q7SFCCGT.cjs.map +1 -0
  48. package/dist/chunk-RE4RPXT2.cjs +18 -0
  49. package/dist/chunk-RE4RPXT2.cjs.map +1 -0
  50. package/dist/{chunk-CPPYMJX5.cjs → chunk-RTI33BGT.cjs} +25 -22
  51. package/dist/chunk-RTI33BGT.cjs.map +1 -0
  52. package/dist/{chunk-E5IRS3XH.cjs → chunk-SKWJUK3M.cjs} +63 -26
  53. package/dist/chunk-SKWJUK3M.cjs.map +1 -0
  54. package/dist/{chunk-4DTDPTQC.cjs → chunk-SOIOAAJ4.cjs} +48 -45
  55. package/dist/chunk-SOIOAAJ4.cjs.map +1 -0
  56. package/dist/{chunk-BFOA2QQY.js → chunk-SQ7KKIH3.js} +5 -3
  57. package/dist/chunk-SQ7KKIH3.js.map +1 -0
  58. package/dist/{chunk-GHC4YV6R.js → chunk-TRWPUPGD.js} +3 -1
  59. package/dist/chunk-TRWPUPGD.js.map +1 -0
  60. package/dist/chunk-TXAQU2XN.js +151 -0
  61. package/dist/chunk-TXAQU2XN.js.map +1 -0
  62. package/dist/chunk-VIGPWTDA.cjs +159 -0
  63. package/dist/chunk-VIGPWTDA.cjs.map +1 -0
  64. package/dist/{chunk-XR7VJOOP.js → chunk-WHQZT6R2.js} +12 -9
  65. package/dist/chunk-WHQZT6R2.js.map +1 -0
  66. package/dist/{chunk-C7564HUT.js → chunk-Y3J45CVZ.js} +6 -4
  67. package/dist/chunk-Y3J45CVZ.js.map +1 -0
  68. package/dist/chunk-ZKJZQN24.js +571 -0
  69. package/dist/chunk-ZKJZQN24.js.map +1 -0
  70. package/dist/index.cjs +2 -0
  71. package/dist/index.cjs.map +1 -0
  72. package/dist/index.d.ts +1 -0
  73. package/dist/index.d.ts.map +1 -0
  74. package/dist/index.js +2 -0
  75. package/dist/index.js.map +1 -0
  76. package/dist/server/a2a/protocol.d.ts +8 -0
  77. package/dist/server/a2a/protocol.d.ts.map +1 -0
  78. package/dist/server/a2a/store.d.ts +14 -0
  79. package/dist/server/a2a/store.d.ts.map +1 -0
  80. package/dist/server/a2a/tasks.d.ts +20 -0
  81. package/dist/server/a2a/tasks.d.ts.map +1 -0
  82. package/dist/server/handlers/a2a.cjs +9 -7
  83. package/dist/server/handlers/a2a.cjs.map +1 -0
  84. package/dist/server/handlers/a2a.d.ts +66 -6
  85. package/dist/server/handlers/a2a.d.ts.map +1 -0
  86. package/dist/server/handlers/a2a.js +3 -1
  87. package/dist/server/handlers/a2a.js.map +1 -0
  88. package/dist/server/handlers/agents.cjs +13 -7
  89. package/dist/server/handlers/agents.cjs.map +1 -0
  90. package/dist/server/handlers/agents.d.ts +81 -6
  91. package/dist/server/handlers/agents.d.ts.map +1 -0
  92. package/dist/server/handlers/agents.js +3 -1
  93. package/dist/server/handlers/agents.js.map +1 -0
  94. package/dist/server/handlers/error.cjs +4 -2
  95. package/dist/server/handlers/error.cjs.map +1 -0
  96. package/dist/server/handlers/error.d.ts +2 -1
  97. package/dist/server/handlers/error.d.ts.map +1 -0
  98. package/dist/server/handlers/error.js +3 -1
  99. package/dist/server/handlers/error.js.map +1 -0
  100. package/dist/server/handlers/legacyWorkflows.cjs +13 -11
  101. package/dist/server/handlers/legacyWorkflows.cjs.map +1 -0
  102. package/dist/server/handlers/legacyWorkflows.d.ts +59 -10
  103. package/dist/server/handlers/legacyWorkflows.d.ts.map +1 -0
  104. package/dist/server/handlers/legacyWorkflows.js +3 -1
  105. package/dist/server/handlers/legacyWorkflows.js.map +1 -0
  106. package/dist/server/handlers/logs.cjs +6 -4
  107. package/dist/server/handlers/logs.cjs.map +1 -0
  108. package/dist/server/handlers/logs.d.ts +34 -3
  109. package/dist/server/handlers/logs.d.ts.map +1 -0
  110. package/dist/server/handlers/logs.js +3 -1
  111. package/dist/server/handlers/logs.js.map +1 -0
  112. package/dist/server/handlers/memory.cjs +39 -9
  113. package/dist/server/handlers/memory.cjs.map +1 -0
  114. package/dist/server/handlers/memory.d.ts +119 -8
  115. package/dist/server/handlers/memory.d.ts.map +1 -0
  116. package/dist/server/handlers/memory.js +3 -1
  117. package/dist/server/handlers/memory.js.map +1 -0
  118. package/dist/server/handlers/network.cjs +7 -5
  119. package/dist/server/handlers/network.cjs.map +1 -0
  120. package/dist/server/handlers/network.d.ts +50 -4
  121. package/dist/server/handlers/network.d.ts.map +1 -0
  122. package/dist/server/handlers/network.js +3 -1
  123. package/dist/server/handlers/network.js.map +1 -0
  124. package/dist/server/handlers/scores.cjs +32 -0
  125. package/dist/server/handlers/scores.cjs.map +1 -0
  126. package/dist/server/handlers/scores.d.ts +49 -0
  127. package/dist/server/handlers/scores.d.ts.map +1 -0
  128. package/dist/server/handlers/scores.js +3 -0
  129. package/dist/server/handlers/scores.js.map +1 -0
  130. package/dist/server/handlers/telemetry.cjs +5 -3
  131. package/dist/server/handlers/telemetry.cjs.map +1 -0
  132. package/dist/server/handlers/telemetry.d.ts +32 -2
  133. package/dist/server/handlers/telemetry.d.ts.map +1 -0
  134. package/dist/server/handlers/telemetry.js +3 -1
  135. package/dist/server/handlers/telemetry.js.map +1 -0
  136. package/dist/server/handlers/tools.cjs +7 -5
  137. package/dist/server/handlers/tools.cjs.map +1 -0
  138. package/dist/server/handlers/tools.d.ts +21 -4
  139. package/dist/server/handlers/tools.d.ts.map +1 -0
  140. package/dist/server/handlers/tools.js +3 -1
  141. package/dist/server/handlers/tools.js.map +1 -0
  142. package/dist/server/handlers/utils.cjs +4 -2
  143. package/dist/server/handlers/utils.cjs.map +1 -0
  144. package/dist/server/handlers/utils.d.ts +2 -1
  145. package/dist/server/handlers/utils.d.ts.map +1 -0
  146. package/dist/server/handlers/utils.js +3 -1
  147. package/dist/server/handlers/utils.js.map +1 -0
  148. package/dist/server/handlers/vNextNetwork.cjs +220 -0
  149. package/dist/server/handlers/vNextNetwork.cjs.map +1 -0
  150. package/dist/server/handlers/vNextNetwork.d.ts +179 -0
  151. package/dist/server/handlers/vNextNetwork.d.ts.map +1 -0
  152. package/dist/server/handlers/vNextNetwork.js +213 -0
  153. package/dist/server/handlers/vNextNetwork.js.map +1 -0
  154. package/dist/server/handlers/vector.cjs +9 -7
  155. package/dist/server/handlers/vector.cjs.map +1 -0
  156. package/dist/server/handlers/vector.d.ts +51 -6
  157. package/dist/server/handlers/vector.d.ts.map +1 -0
  158. package/dist/server/handlers/vector.js +3 -1
  159. package/dist/server/handlers/vector.js.map +1 -0
  160. package/dist/server/handlers/voice.cjs +7 -5
  161. package/dist/server/handlers/voice.cjs.map +1 -0
  162. package/dist/server/handlers/voice.d.ts +39 -4
  163. package/dist/server/handlers/voice.d.ts.map +1 -0
  164. package/dist/server/handlers/voice.js +3 -1
  165. package/dist/server/handlers/voice.js.map +1 -0
  166. package/dist/server/handlers/workflows.cjs +27 -13
  167. package/dist/server/handlers/workflows.cjs.map +1 -0
  168. package/dist/server/handlers/workflows.d.ts +88 -12
  169. package/dist/server/handlers/workflows.d.ts.map +1 -0
  170. package/dist/server/handlers/workflows.js +3 -1
  171. package/dist/server/handlers/workflows.js.map +1 -0
  172. package/dist/server/handlers.cjs +32 -25
  173. package/dist/server/handlers.cjs.map +1 -0
  174. package/dist/server/handlers.d.ts +13 -11
  175. package/dist/server/handlers.d.ts.map +1 -0
  176. package/dist/server/handlers.js +14 -11
  177. package/dist/server/handlers.js.map +1 -0
  178. package/dist/server/http-exception.d.ts +87 -0
  179. package/dist/server/http-exception.d.ts.map +1 -0
  180. package/dist/server/types.d.ts +10 -0
  181. package/dist/server/types.d.ts.map +1 -0
  182. package/package.json +11 -11
  183. package/dist/_tsup-dts-rollup.d.cts +0 -864
  184. package/dist/_tsup-dts-rollup.d.ts +0 -864
  185. package/dist/chunk-64U3UDTH.cjs +0 -13
  186. package/dist/chunk-6TJSHFCJ.cjs +0 -221
  187. package/dist/chunk-7TB34RLZ.cjs +0 -471
  188. package/dist/chunk-I7KJZNX5.js +0 -211
  189. package/dist/chunk-M5ABIP7D.js +0 -11
  190. package/dist/chunk-MN6F4D5A.cjs +0 -2004
  191. package/dist/chunk-OSZM4EAY.js +0 -2001
  192. package/dist/index.d.cts +0 -1
  193. package/dist/server/handlers/a2a.d.cts +0 -6
  194. package/dist/server/handlers/agents.d.cts +0 -6
  195. package/dist/server/handlers/error.d.cts +0 -1
  196. package/dist/server/handlers/legacyWorkflows.d.cts +0 -10
  197. package/dist/server/handlers/logs.d.cts +0 -3
  198. package/dist/server/handlers/memory.d.cts +0 -8
  199. package/dist/server/handlers/network.d.cts +0 -4
  200. package/dist/server/handlers/telemetry.d.cts +0 -2
  201. package/dist/server/handlers/tools.d.cts +0 -4
  202. package/dist/server/handlers/utils.d.cts +0 -1
  203. package/dist/server/handlers/vector.d.cts +0 -6
  204. package/dist/server/handlers/voice.d.cts +0 -4
  205. package/dist/server/handlers/workflows.d.cts +0 -12
  206. package/dist/server/handlers.d.cts +0 -11
@@ -1,13 +1,14 @@
1
- import { stringify, esm_default } from './chunk-OSZM4EAY.js';
2
- import { handleError } from './chunk-M5ABIP7D.js';
3
- import { HTTPException } from './chunk-NYN7KFXL.js';
4
- import { __export } from './chunk-MLKGABMK.js';
1
+ import { stringify } from './chunk-LF2ZLOFP.js';
2
+ import { handleError } from './chunk-CY4TP3FK.js';
3
+ import { HTTPException } from './chunk-MMROOK5J.js';
4
+ import { __export } from './chunk-PZ5AY32C.js';
5
5
  import { ReadableStream } from 'stream/web';
6
- import { RuntimeContext } from '@mastra/core/di';
6
+ import { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';
7
7
 
8
8
  // src/server/handlers/workflows.ts
9
9
  var workflows_exports = {};
10
10
  __export(workflows_exports, {
11
+ cancelWorkflowRunHandler: () => cancelWorkflowRunHandler,
11
12
  createWorkflowRunHandler: () => createWorkflowRunHandler,
12
13
  getWorkflowByIdHandler: () => getWorkflowByIdHandler,
13
14
  getWorkflowRunByIdHandler: () => getWorkflowRunByIdHandler,
@@ -16,11 +17,32 @@ __export(workflows_exports, {
16
17
  getWorkflowsHandler: () => getWorkflowsHandler,
17
18
  resumeAsyncWorkflowHandler: () => resumeAsyncWorkflowHandler,
18
19
  resumeWorkflowHandler: () => resumeWorkflowHandler,
20
+ sendWorkflowRunEventHandler: () => sendWorkflowRunEventHandler,
19
21
  startAsyncWorkflowHandler: () => startAsyncWorkflowHandler,
20
22
  startWorkflowRunHandler: () => startWorkflowRunHandler,
23
+ streamVNextWorkflowHandler: () => streamVNextWorkflowHandler,
21
24
  streamWorkflowHandler: () => streamWorkflowHandler,
22
25
  watchWorkflowHandler: () => watchWorkflowHandler
23
26
  });
27
+ function getSteps(steps, path) {
28
+ return Object.entries(steps).reduce((acc, [key, step]) => {
29
+ const fullKey = path ? `${path}.${key}` : key;
30
+ acc[fullKey] = {
31
+ id: step.id,
32
+ description: step.description,
33
+ inputSchema: step.inputSchema ? stringify(zodToJsonSchema(step.inputSchema)) : void 0,
34
+ outputSchema: step.outputSchema ? stringify(zodToJsonSchema(step.outputSchema)) : void 0,
35
+ resumeSchema: step.resumeSchema ? stringify(zodToJsonSchema(step.resumeSchema)) : void 0,
36
+ suspendSchema: step.suspendSchema ? stringify(zodToJsonSchema(step.suspendSchema)) : void 0,
37
+ isWorkflow: step.component === "WORKFLOW"
38
+ };
39
+ if (step.component === "WORKFLOW" && step.steps) {
40
+ const nestedSteps = getSteps(step.steps, fullKey) || {};
41
+ acc = { ...acc, ...nestedSteps };
42
+ }
43
+ return acc;
44
+ }, {});
45
+ }
24
46
  async function getWorkflowsHandler({ mastra }) {
25
47
  try {
26
48
  const workflows = mastra.getWorkflows({ serialized: false });
@@ -32,22 +54,23 @@ async function getWorkflowsHandler({ mastra }) {
32
54
  acc2[key2] = {
33
55
  id: step.id,
34
56
  description: step.description,
35
- inputSchema: step.inputSchema ? stringify(esm_default(step.inputSchema)) : void 0,
36
- outputSchema: step.outputSchema ? stringify(esm_default(step.outputSchema)) : void 0,
37
- resumeSchema: step.resumeSchema ? stringify(esm_default(step.resumeSchema)) : void 0,
38
- suspendSchema: step.suspendSchema ? stringify(esm_default(step.suspendSchema)) : void 0
57
+ inputSchema: step.inputSchema ? stringify(zodToJsonSchema(step.inputSchema)) : void 0,
58
+ outputSchema: step.outputSchema ? stringify(zodToJsonSchema(step.outputSchema)) : void 0,
59
+ resumeSchema: step.resumeSchema ? stringify(zodToJsonSchema(step.resumeSchema)) : void 0,
60
+ suspendSchema: step.suspendSchema ? stringify(zodToJsonSchema(step.suspendSchema)) : void 0
39
61
  };
40
62
  return acc2;
41
63
  }, {}),
64
+ allSteps: getSteps(workflow.steps) || {},
42
65
  stepGraph: workflow.serializedStepGraph,
43
- inputSchema: workflow.inputSchema ? stringify(esm_default(workflow.inputSchema)) : void 0,
44
- outputSchema: workflow.outputSchema ? stringify(esm_default(workflow.outputSchema)) : void 0
66
+ inputSchema: workflow.inputSchema ? stringify(zodToJsonSchema(workflow.inputSchema)) : void 0,
67
+ outputSchema: workflow.outputSchema ? stringify(zodToJsonSchema(workflow.outputSchema)) : void 0
45
68
  };
46
69
  return acc;
47
70
  }, {});
48
71
  return _workflows;
49
72
  } catch (error) {
50
- throw new HTTPException(500, { message: error?.message || "Error getting workflows" });
73
+ return handleError(error, "Error getting workflows");
51
74
  }
52
75
  }
53
76
  async function getWorkflowsFromSystem({ mastra, workflowId }) {
@@ -98,21 +121,22 @@ async function getWorkflowByIdHandler({ mastra, workflowId }) {
98
121
  acc[key] = {
99
122
  id: step.id,
100
123
  description: step.description,
101
- inputSchema: step.inputSchema ? stringify(esm_default(step.inputSchema)) : void 0,
102
- outputSchema: step.outputSchema ? stringify(esm_default(step.outputSchema)) : void 0,
103
- resumeSchema: step.resumeSchema ? stringify(esm_default(step.resumeSchema)) : void 0,
104
- suspendSchema: step.suspendSchema ? stringify(esm_default(step.suspendSchema)) : void 0
124
+ inputSchema: step.inputSchema ? stringify(zodToJsonSchema(step.inputSchema)) : void 0,
125
+ outputSchema: step.outputSchema ? stringify(zodToJsonSchema(step.outputSchema)) : void 0,
126
+ resumeSchema: step.resumeSchema ? stringify(zodToJsonSchema(step.resumeSchema)) : void 0,
127
+ suspendSchema: step.suspendSchema ? stringify(zodToJsonSchema(step.suspendSchema)) : void 0
105
128
  };
106
129
  return acc;
107
130
  }, {}),
131
+ allSteps: getSteps(workflow.steps) || {},
108
132
  name: workflow.name,
109
133
  description: workflow.description,
110
134
  stepGraph: workflow.serializedStepGraph,
111
- inputSchema: workflow.inputSchema ? stringify(esm_default(workflow.inputSchema)) : void 0,
112
- outputSchema: workflow.outputSchema ? stringify(esm_default(workflow.outputSchema)) : void 0
135
+ inputSchema: workflow.inputSchema ? stringify(zodToJsonSchema(workflow.inputSchema)) : void 0,
136
+ outputSchema: workflow.outputSchema ? stringify(zodToJsonSchema(workflow.outputSchema)) : void 0
113
137
  };
114
138
  } catch (error) {
115
- throw new HTTPException(500, { message: error?.message || "Error getting workflow" });
139
+ return handleError(error, "Error getting workflow");
116
140
  }
117
141
  }
118
142
  async function getWorkflowRunByIdHandler({
@@ -137,7 +161,7 @@ async function getWorkflowRunByIdHandler({
137
161
  }
138
162
  return run;
139
163
  } catch (error) {
140
- throw new HTTPException(500, { message: error?.message || "Error getting workflow run" });
164
+ return handleError(error, "Error getting workflow run");
141
165
  }
142
166
  }
143
167
  async function getWorkflowRunExecutionResultHandler({
@@ -162,9 +186,7 @@ async function getWorkflowRunExecutionResultHandler({
162
186
  }
163
187
  return executionResult;
164
188
  } catch (error) {
165
- throw new HTTPException(500, {
166
- message: error?.message || "Error getting workflow run execution result"
167
- });
189
+ return handleError(error, "Error getting workflow run execution result");
168
190
  }
169
191
  }
170
192
  async function createWorkflowRunHandler({
@@ -180,15 +202,15 @@ async function createWorkflowRunHandler({
180
202
  if (!workflow) {
181
203
  throw new HTTPException(404, { message: "Workflow not found" });
182
204
  }
183
- const run = workflow.createRun({ runId: prevRunId });
205
+ const run = await workflow.createRunAsync({ runId: prevRunId });
184
206
  return { runId: run.runId };
185
207
  } catch (error) {
186
- throw new HTTPException(500, { message: error?.message || "Error creating workflow run" });
208
+ return handleError(error, "Error creating workflow run");
187
209
  }
188
210
  }
189
211
  async function startAsyncWorkflowHandler({
190
212
  mastra,
191
- runtimeContext: payloadRuntimeContext,
213
+ runtimeContext,
192
214
  workflowId,
193
215
  runId,
194
216
  inputData
@@ -201,26 +223,19 @@ async function startAsyncWorkflowHandler({
201
223
  if (!workflow) {
202
224
  throw new HTTPException(404, { message: "Workflow not found" });
203
225
  }
204
- let runtimeContext;
205
- if (payloadRuntimeContext) {
206
- runtimeContext = new RuntimeContext();
207
- Object.entries(payloadRuntimeContext || {}).forEach(([key, value]) => {
208
- runtimeContext.set(key, value);
209
- });
210
- }
211
- const _run = workflow.createRun({ runId });
226
+ const _run = await workflow.createRunAsync({ runId });
212
227
  const result = await _run.start({
213
228
  inputData,
214
229
  runtimeContext
215
230
  });
216
231
  return result;
217
232
  } catch (error) {
218
- throw new HTTPException(500, { message: error?.message || "Error executing workflow" });
233
+ return handleError(error, "Error starting async workflow");
219
234
  }
220
235
  }
221
236
  async function startWorkflowRunHandler({
222
237
  mastra,
223
- runtimeContext: payloadRuntimeContext,
238
+ runtimeContext,
224
239
  workflowId,
225
240
  runId,
226
241
  inputData
@@ -240,14 +255,7 @@ async function startWorkflowRunHandler({
240
255
  if (!run) {
241
256
  throw new HTTPException(404, { message: "Workflow run not found" });
242
257
  }
243
- let runtimeContext;
244
- if (payloadRuntimeContext) {
245
- runtimeContext = new RuntimeContext();
246
- Object.entries(payloadRuntimeContext || {}).forEach(([key, value]) => {
247
- runtimeContext.set(key, value);
248
- });
249
- }
250
- const _run = workflow.createRun({ runId });
258
+ const _run = await workflow.createRunAsync({ runId });
251
259
  void _run.start({
252
260
  inputData,
253
261
  runtimeContext
@@ -277,7 +285,7 @@ async function watchWorkflowHandler({
277
285
  if (!run) {
278
286
  throw new HTTPException(404, { message: "Workflow run not found" });
279
287
  }
280
- const _run = workflow.createRun({ runId });
288
+ const _run = await workflow.createRunAsync({ runId });
281
289
  let unwatch;
282
290
  let asyncRef = null;
283
291
  const stream = new ReadableStream({
@@ -308,7 +316,7 @@ async function watchWorkflowHandler({
308
316
  }
309
317
  async function streamWorkflowHandler({
310
318
  mastra,
311
- runtimeContext: payloadRuntimeContext,
319
+ runtimeContext,
312
320
  workflowId,
313
321
  runId,
314
322
  inputData
@@ -324,14 +332,7 @@ async function streamWorkflowHandler({
324
332
  if (!workflow) {
325
333
  throw new HTTPException(404, { message: "Workflow not found" });
326
334
  }
327
- let runtimeContext;
328
- if (payloadRuntimeContext) {
329
- runtimeContext = new RuntimeContext();
330
- Object.entries(payloadRuntimeContext || {}).forEach(([key, value]) => {
331
- runtimeContext.set(key, value);
332
- });
333
- }
334
- const run = workflow.createRun({ runId });
335
+ const run = await workflow.createRunAsync({ runId });
335
336
  const result = run.stream({
336
337
  inputData,
337
338
  runtimeContext
@@ -341,12 +342,40 @@ async function streamWorkflowHandler({
341
342
  return handleError(error, "Error executing workflow");
342
343
  }
343
344
  }
345
+ async function streamVNextWorkflowHandler({
346
+ mastra,
347
+ runtimeContext,
348
+ workflowId,
349
+ runId,
350
+ inputData
351
+ }) {
352
+ try {
353
+ if (!workflowId) {
354
+ throw new HTTPException(400, { message: "Workflow ID is required" });
355
+ }
356
+ if (!runId) {
357
+ throw new HTTPException(400, { message: "runId required to stream workflow" });
358
+ }
359
+ const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });
360
+ if (!workflow) {
361
+ throw new HTTPException(404, { message: "Workflow not found" });
362
+ }
363
+ const run = await workflow.createRunAsync({ runId });
364
+ const result = run.streamVNext({
365
+ inputData,
366
+ runtimeContext
367
+ });
368
+ return result;
369
+ } catch (error) {
370
+ return handleError(error, "Error streaming workflow");
371
+ }
372
+ }
344
373
  async function resumeAsyncWorkflowHandler({
345
374
  mastra,
346
375
  workflowId,
347
376
  runId,
348
377
  body,
349
- runtimeContext: payloadRuntimeContext
378
+ runtimeContext
350
379
  }) {
351
380
  try {
352
381
  if (!workflowId) {
@@ -366,14 +395,7 @@ async function resumeAsyncWorkflowHandler({
366
395
  if (!run) {
367
396
  throw new HTTPException(404, { message: "Workflow run not found" });
368
397
  }
369
- let runtimeContext;
370
- if (payloadRuntimeContext) {
371
- runtimeContext = new RuntimeContext();
372
- Object.entries(payloadRuntimeContext || {}).forEach(([key, value]) => {
373
- runtimeContext.set(key, value);
374
- });
375
- }
376
- const _run = workflow.createRun({ runId });
398
+ const _run = await workflow.createRunAsync({ runId });
377
399
  const result = await _run.resume({
378
400
  step: body.step,
379
401
  resumeData: body.resumeData,
@@ -389,7 +411,7 @@ async function resumeWorkflowHandler({
389
411
  workflowId,
390
412
  runId,
391
413
  body,
392
- runtimeContext: payloadRuntimeContext
414
+ runtimeContext
393
415
  }) {
394
416
  try {
395
417
  if (!workflowId) {
@@ -409,14 +431,7 @@ async function resumeWorkflowHandler({
409
431
  if (!run) {
410
432
  throw new HTTPException(404, { message: "Workflow run not found" });
411
433
  }
412
- let runtimeContext;
413
- if (payloadRuntimeContext) {
414
- runtimeContext = new RuntimeContext();
415
- Object.entries(payloadRuntimeContext || {}).forEach(([key, value]) => {
416
- runtimeContext.set(key, value);
417
- });
418
- }
419
- const _run = workflow.createRun({ runId });
434
+ const _run = await workflow.createRunAsync({ runId });
420
435
  void _run.resume({
421
436
  step: body.step,
422
437
  resumeData: body.resumeData,
@@ -453,5 +468,63 @@ async function getWorkflowRunsHandler({
453
468
  return handleError(error, "Error getting workflow runs");
454
469
  }
455
470
  }
471
+ async function cancelWorkflowRunHandler({
472
+ mastra,
473
+ workflowId,
474
+ runId
475
+ }) {
476
+ try {
477
+ if (!workflowId) {
478
+ throw new HTTPException(400, { message: "Workflow ID is required" });
479
+ }
480
+ if (!runId) {
481
+ throw new HTTPException(400, { message: "runId required to cancel workflow run" });
482
+ }
483
+ const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });
484
+ if (!workflow) {
485
+ throw new HTTPException(404, { message: "Workflow not found" });
486
+ }
487
+ const run = await workflow.getWorkflowRunById(runId);
488
+ if (!run) {
489
+ throw new HTTPException(404, { message: "Workflow run not found" });
490
+ }
491
+ const _run = await workflow.createRunAsync({ runId });
492
+ await _run.cancel();
493
+ return { message: "Workflow run cancelled" };
494
+ } catch (error) {
495
+ return handleError(error, "Error canceling workflow run");
496
+ }
497
+ }
498
+ async function sendWorkflowRunEventHandler({
499
+ mastra,
500
+ workflowId,
501
+ runId,
502
+ event,
503
+ data
504
+ }) {
505
+ try {
506
+ if (!workflowId) {
507
+ throw new HTTPException(400, { message: "Workflow ID is required" });
508
+ }
509
+ if (!runId) {
510
+ throw new HTTPException(400, { message: "runId required to send workflow run event" });
511
+ }
512
+ const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });
513
+ if (!workflow) {
514
+ throw new HTTPException(404, { message: "Workflow not found" });
515
+ }
516
+ const run = await workflow.getWorkflowRunById(runId);
517
+ if (!run) {
518
+ throw new HTTPException(404, { message: "Workflow run not found" });
519
+ }
520
+ const _run = await workflow.createRunAsync({ runId });
521
+ await _run.sendEvent(event, data);
522
+ return { message: "Workflow run event sent" };
523
+ } catch (error) {
524
+ return handleError(error, "Error sending workflow run event");
525
+ }
526
+ }
456
527
 
457
- export { createWorkflowRunHandler, getWorkflowByIdHandler, getWorkflowRunByIdHandler, getWorkflowRunExecutionResultHandler, getWorkflowRunsHandler, getWorkflowsHandler, resumeAsyncWorkflowHandler, resumeWorkflowHandler, startAsyncWorkflowHandler, startWorkflowRunHandler, streamWorkflowHandler, watchWorkflowHandler, workflows_exports };
528
+ export { cancelWorkflowRunHandler, createWorkflowRunHandler, getWorkflowByIdHandler, getWorkflowRunByIdHandler, getWorkflowRunExecutionResultHandler, getWorkflowRunsHandler, getWorkflowsHandler, resumeAsyncWorkflowHandler, resumeWorkflowHandler, sendWorkflowRunEventHandler, startAsyncWorkflowHandler, startWorkflowRunHandler, streamVNextWorkflowHandler, streamWorkflowHandler, watchWorkflowHandler, workflows_exports };
529
+ //# sourceMappingURL=chunk-ITZX6VPI.js.map
530
+ //# sourceMappingURL=chunk-ITZX6VPI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/workflows.ts"],"names":["acc","key"],"mappings":"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","file":"chunk-ITZX6VPI.js","sourcesContent":["import { ReadableStream } from 'node:stream/web';\nimport type { RuntimeContext } from '@mastra/core/di';\nimport type { WorkflowRuns } from '@mastra/core/storage';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport type { Workflow, SerializedStepFlowEntry, WatchEvent, StepWithComponent } from '@mastra/core/workflows';\nimport { stringify } from 'superjson';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\nimport { handleError } from './error';\n\ninterface WorkflowContext extends Context {\n workflowId?: string;\n runId?: string;\n}\n\nfunction getSteps(steps: Record<string, StepWithComponent>, path?: string) {\n return Object.entries(steps).reduce<any>((acc, [key, step]) => {\n const fullKey = path ? `${path}.${key}` : key;\n acc[fullKey] = {\n id: step.id,\n description: step.description,\n inputSchema: step.inputSchema ? stringify(zodToJsonSchema(step.inputSchema)) : undefined,\n outputSchema: step.outputSchema ? stringify(zodToJsonSchema(step.outputSchema)) : undefined,\n resumeSchema: step.resumeSchema ? stringify(zodToJsonSchema(step.resumeSchema)) : undefined,\n suspendSchema: step.suspendSchema ? stringify(zodToJsonSchema(step.suspendSchema)) : undefined,\n isWorkflow: step.component === 'WORKFLOW',\n };\n\n if (step.component === 'WORKFLOW' && step.steps) {\n const nestedSteps = getSteps(step.steps, fullKey) || {};\n acc = { ...acc, ...nestedSteps };\n }\n\n return acc;\n }, {});\n}\n\nexport async function getWorkflowsHandler({ mastra }: WorkflowContext) {\n try {\n const workflows = mastra.getWorkflows({ serialized: false });\n const _workflows = Object.entries(workflows).reduce<any>((acc, [key, workflow]) => {\n acc[key] = {\n name: workflow.name,\n description: workflow.description,\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n acc[key] = {\n id: step.id,\n description: step.description,\n inputSchema: step.inputSchema ? stringify(zodToJsonSchema(step.inputSchema)) : undefined,\n outputSchema: step.outputSchema ? stringify(zodToJsonSchema(step.outputSchema)) : undefined,\n resumeSchema: step.resumeSchema ? stringify(zodToJsonSchema(step.resumeSchema)) : undefined,\n suspendSchema: step.suspendSchema ? stringify(zodToJsonSchema(step.suspendSchema)) : undefined,\n };\n return acc;\n }, {}),\n allSteps: getSteps(workflow.steps) || {},\n stepGraph: workflow.serializedStepGraph,\n inputSchema: workflow.inputSchema ? stringify(zodToJsonSchema(workflow.inputSchema)) : undefined,\n outputSchema: workflow.outputSchema ? stringify(zodToJsonSchema(workflow.outputSchema)) : undefined,\n };\n return acc;\n }, {});\n return _workflows;\n } catch (error) {\n return handleError(error, 'Error getting workflows');\n }\n}\n\ntype SerializedStep = {\n id: string;\n description: string;\n inputSchema: string | undefined;\n outputSchema: string | undefined;\n resumeSchema: string | undefined;\n suspendSchema: string | undefined;\n};\n\nasync function getWorkflowsFromSystem({ mastra, workflowId }: WorkflowContext) {\n const logger = mastra.getLogger();\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n let workflow;\n\n try {\n workflow = mastra.getWorkflow(workflowId);\n } catch (error) {\n logger.debug('Error getting workflow, searching agents for workflow', error);\n }\n\n if (!workflow) {\n logger.debug('Workflow not found, searching agents for workflow', { workflowId });\n const agents = mastra.getAgents();\n\n if (Object.keys(agents || {}).length) {\n for (const [_, agent] of Object.entries(agents)) {\n try {\n const workflows = await agent.getWorkflows();\n\n if (workflows[workflowId]) {\n workflow = workflows[workflowId];\n break;\n }\n break;\n } catch (error) {\n logger.debug('Error getting workflow from agent', error);\n }\n }\n }\n }\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n return { workflow };\n}\n\nexport async function getWorkflowByIdHandler({ mastra, workflowId }: WorkflowContext): Promise<{\n steps: Record<string, SerializedStep>;\n allSteps: Record<string, SerializedStep>;\n name: string | undefined;\n description: string | undefined;\n stepGraph: SerializedStepFlowEntry[];\n inputSchema: string | undefined;\n outputSchema: string | undefined;\n}> {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n return {\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n acc[key] = {\n id: step.id,\n description: step.description,\n inputSchema: step.inputSchema ? stringify(zodToJsonSchema(step.inputSchema)) : undefined,\n outputSchema: step.outputSchema ? stringify(zodToJsonSchema(step.outputSchema)) : undefined,\n resumeSchema: step.resumeSchema ? stringify(zodToJsonSchema(step.resumeSchema)) : undefined,\n suspendSchema: step.suspendSchema ? stringify(zodToJsonSchema(step.suspendSchema)) : undefined,\n };\n return acc;\n }, {}),\n allSteps: getSteps(workflow.steps) || {},\n name: workflow.name,\n description: workflow.description,\n stepGraph: workflow.serializedStepGraph,\n inputSchema: workflow.inputSchema ? stringify(zodToJsonSchema(workflow.inputSchema)) : undefined,\n outputSchema: workflow.outputSchema ? stringify(zodToJsonSchema(workflow.outputSchema)) : undefined,\n };\n } catch (error) {\n return handleError(error, 'Error getting workflow');\n }\n}\n\nexport async function getWorkflowRunByIdHandler({\n mastra,\n workflowId,\n runId,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'>): Promise<ReturnType<Workflow['getWorkflowRunById']>> {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'Run ID is required' });\n }\n\n const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n return run;\n } catch (error) {\n return handleError(error, 'Error getting workflow run');\n }\n}\n\nexport async function getWorkflowRunExecutionResultHandler({\n mastra,\n workflowId,\n runId,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'>): Promise<WatchEvent['payload']['workflowState']> {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'Run ID is required' });\n }\n\n const workflow = mastra.getWorkflow(workflowId);\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const executionResult = await workflow.getWorkflowRunExecutionResult(runId);\n\n if (!executionResult) {\n throw new HTTPException(404, { message: 'Workflow run execution result not found' });\n }\n\n return executionResult;\n } catch (error) {\n return handleError(error, 'Error getting workflow run execution result');\n }\n}\n\nexport async function createWorkflowRunHandler({\n mastra,\n workflowId,\n runId: prevRunId,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'>) {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.createRunAsync({ runId: prevRunId });\n\n return { runId: run.runId };\n } catch (error) {\n return handleError(error, 'Error creating workflow run');\n }\n}\n\nexport async function startAsyncWorkflowHandler({\n mastra,\n runtimeContext,\n workflowId,\n runId,\n inputData,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {\n inputData?: unknown;\n runtimeContext?: RuntimeContext;\n}) {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const _run = await workflow.createRunAsync({ runId });\n const result = await _run.start({\n inputData,\n runtimeContext,\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error starting async workflow');\n }\n}\n\nexport async function startWorkflowRunHandler({\n mastra,\n runtimeContext,\n workflowId,\n runId,\n inputData,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {\n inputData?: unknown;\n runtimeContext?: RuntimeContext;\n}) {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to start run' });\n }\n\n const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n const _run = await workflow.createRunAsync({ runId });\n void _run.start({\n inputData,\n runtimeContext,\n });\n\n return { message: 'Workflow run started' };\n } catch (e) {\n return handleError(e, 'Error starting workflow run');\n }\n}\n\nexport async function watchWorkflowHandler({\n mastra,\n workflowId,\n runId,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'>): Promise<ReadableStream<string>> {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to watch workflow' });\n }\n\n const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n const _run = await workflow.createRunAsync({ runId });\n let unwatch: () => void;\n let asyncRef: NodeJS.Immediate | null = null;\n const stream = new ReadableStream<string>({\n start(controller) {\n unwatch = _run.watch(({ type, payload, eventTimestamp }) => {\n controller.enqueue(JSON.stringify({ type, payload, eventTimestamp, runId }));\n\n if (asyncRef) {\n clearImmediate(asyncRef);\n asyncRef = null;\n }\n\n // a run is finished if the status is not running\n asyncRef = setImmediate(async () => {\n const runDone = payload.workflowState.status !== 'running';\n if (runDone) {\n controller.close();\n unwatch?.();\n }\n });\n });\n },\n cancel() {\n unwatch?.();\n },\n });\n\n return stream;\n } catch (error) {\n return handleError(error, 'Error watching workflow');\n }\n}\n\nexport async function streamWorkflowHandler({\n mastra,\n runtimeContext,\n workflowId,\n runId,\n inputData,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {\n inputData?: unknown;\n runtimeContext?: RuntimeContext;\n}) {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to resume workflow' });\n }\n\n const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.createRunAsync({ runId });\n const result = run.stream({\n inputData,\n runtimeContext,\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error executing workflow');\n }\n}\n\nexport async function streamVNextWorkflowHandler({\n mastra,\n runtimeContext,\n workflowId,\n runId,\n inputData,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {\n inputData?: unknown;\n runtimeContext?: RuntimeContext;\n}) {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to stream workflow' });\n }\n\n const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.createRunAsync({ runId });\n const result = run.streamVNext({\n inputData,\n runtimeContext,\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error streaming workflow');\n }\n}\n\nexport async function resumeAsyncWorkflowHandler({\n mastra,\n workflowId,\n runId,\n body,\n runtimeContext,\n}: WorkflowContext & {\n body: { step: string | string[]; resumeData?: unknown };\n runtimeContext?: RuntimeContext;\n}) {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to resume workflow' });\n }\n\n if (!body.step) {\n throw new HTTPException(400, { message: 'step required to resume workflow' });\n }\n\n const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n const _run = await workflow.createRunAsync({ runId });\n const result = await _run.resume({\n step: body.step,\n resumeData: body.resumeData,\n runtimeContext,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error resuming workflow step');\n }\n}\n\nexport async function resumeWorkflowHandler({\n mastra,\n workflowId,\n runId,\n body,\n runtimeContext,\n}: WorkflowContext & {\n body: { step: string | string[]; resumeData?: unknown };\n runtimeContext?: RuntimeContext;\n}) {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to resume workflow' });\n }\n\n if (!body.step) {\n throw new HTTPException(400, { message: 'step required to resume workflow' });\n }\n\n const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n const _run = await workflow.createRunAsync({ runId });\n\n void _run.resume({\n step: body.step,\n resumeData: body.resumeData,\n runtimeContext,\n });\n\n return { message: 'Workflow run resumed' };\n } catch (error) {\n return handleError(error, 'Error resuming workflow');\n }\n}\n\nexport async function getWorkflowRunsHandler({\n mastra,\n workflowId,\n fromDate,\n toDate,\n limit,\n offset,\n resourceId,\n}: WorkflowContext & {\n fromDate?: Date;\n toDate?: Date;\n limit?: number;\n offset?: number;\n resourceId?: string;\n}): Promise<WorkflowRuns> {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const workflowRuns = (await workflow.getWorkflowRuns({ fromDate, toDate, limit, offset, resourceId })) || {\n runs: [],\n total: 0,\n };\n return workflowRuns;\n } catch (error) {\n return handleError(error, 'Error getting workflow runs');\n }\n}\n\nexport async function cancelWorkflowRunHandler({\n mastra,\n workflowId,\n runId,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'>) {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to cancel workflow run' });\n }\n\n const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n const _run = await workflow.createRunAsync({ runId });\n\n await _run.cancel();\n\n return { message: 'Workflow run cancelled' };\n } catch (error) {\n return handleError(error, 'Error canceling workflow run');\n }\n}\n\nexport async function sendWorkflowRunEventHandler({\n mastra,\n workflowId,\n runId,\n event,\n data,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {\n event: string;\n data: unknown;\n}) {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to send workflow run event' });\n }\n\n const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n const _run = await workflow.createRunAsync({ runId });\n\n await _run.sendEvent(event, data);\n\n return { message: 'Workflow run event sent' };\n } catch (error) {\n return handleError(error, 'Error sending workflow run event');\n }\n}\n"]}