@mastra/server 0.0.0-consolidate-changesets-20250904042643 → 0.0.0-cor235-20251008175106

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 (208) hide show
  1. package/CHANGELOG.md +523 -4
  2. package/README.md +0 -5
  3. package/dist/chunk-2PLXW4ZX.cjs +2777 -0
  4. package/dist/chunk-2PLXW4ZX.cjs.map +1 -0
  5. package/dist/{chunk-L265APUD.cjs → chunk-2S4IMB6E.cjs} +66 -5
  6. package/dist/chunk-2S4IMB6E.cjs.map +1 -0
  7. package/dist/{chunk-KLCYAQBL.cjs → chunk-3SNGNFUJ.cjs} +23 -15
  8. package/dist/chunk-3SNGNFUJ.cjs.map +1 -0
  9. package/dist/{chunk-OW4FX5TS.js → chunk-4QCXUEAT.js} +10 -3
  10. package/dist/chunk-4QCXUEAT.js.map +1 -0
  11. package/dist/{chunk-7QEJ5QG5.js → chunk-5BNQIYQN.js} +61 -23
  12. package/dist/chunk-5BNQIYQN.js.map +1 -0
  13. package/dist/{chunk-KV6VHX4V.js → chunk-67GYDFSB.js} +3 -3
  14. package/dist/{chunk-KV6VHX4V.js.map → chunk-67GYDFSB.js.map} +1 -1
  15. package/dist/{chunk-PWTXZZTR.cjs → chunk-6ZR275MD.cjs} +4 -4
  16. package/dist/{chunk-PWTXZZTR.cjs.map → chunk-6ZR275MD.cjs.map} +1 -1
  17. package/dist/chunk-7HDOBOGG.cjs +17517 -0
  18. package/dist/chunk-7HDOBOGG.cjs.map +1 -0
  19. package/dist/{chunk-ROA7BCHD.js → chunk-ABRFV4XP.js} +4 -4
  20. package/dist/{chunk-ROA7BCHD.js.map → chunk-ABRFV4XP.js.map} +1 -1
  21. package/dist/{chunk-A3ZHTDWB.js → chunk-AHB4JCIQ.js} +10 -6
  22. package/dist/chunk-AHB4JCIQ.js.map +1 -0
  23. package/dist/chunk-BATEJLED.js +124 -0
  24. package/dist/chunk-BATEJLED.js.map +1 -0
  25. package/dist/chunk-BZLZFHAT.cjs +682 -0
  26. package/dist/chunk-BZLZFHAT.cjs.map +1 -0
  27. package/dist/{chunk-OZGPYA7A.js → chunk-DB63UMTV.js} +201 -120
  28. package/dist/chunk-DB63UMTV.js.map +1 -0
  29. package/dist/{chunk-T3TIA3O6.cjs → chunk-EP3JQDPD.cjs} +4 -4
  30. package/dist/{chunk-T3TIA3O6.cjs.map → chunk-EP3JQDPD.cjs.map} +1 -1
  31. package/dist/chunk-FWO7VQDC.js +17481 -0
  32. package/dist/chunk-FWO7VQDC.js.map +1 -0
  33. package/dist/chunk-FZNS32WJ.js +46 -0
  34. package/dist/chunk-FZNS32WJ.js.map +1 -0
  35. package/dist/{chunk-4QSNRCOT.cjs → chunk-G4PUALCE.cjs} +10 -2
  36. package/dist/chunk-G4PUALCE.cjs.map +1 -0
  37. package/dist/{chunk-5QUKZCEF.js → chunk-HPXAM2PG.js} +5 -4
  38. package/dist/chunk-HPXAM2PG.js.map +1 -0
  39. package/dist/{chunk-KNGXRN26.cjs → chunk-I3C4ODGV.cjs} +4 -4
  40. package/dist/{chunk-KNGXRN26.cjs.map → chunk-I3C4ODGV.cjs.map} +1 -1
  41. package/dist/chunk-JSLAYFEW.js +662 -0
  42. package/dist/chunk-JSLAYFEW.js.map +1 -0
  43. package/dist/{chunk-TTHEEIZ3.js → chunk-LLUOPR3J.js} +3 -3
  44. package/dist/{chunk-TTHEEIZ3.js.map → chunk-LLUOPR3J.js.map} +1 -1
  45. package/dist/{chunk-GUI3CROV.cjs → chunk-LNT5N7XW.cjs} +62 -24
  46. package/dist/chunk-LNT5N7XW.cjs.map +1 -0
  47. package/dist/chunk-LPM6BBAX.cjs +1043 -0
  48. package/dist/chunk-LPM6BBAX.cjs.map +1 -0
  49. package/dist/{chunk-E64XEGXM.cjs → chunk-MQDBNHBT.cjs} +206 -124
  50. package/dist/chunk-MQDBNHBT.cjs.map +1 -0
  51. package/dist/{chunk-WHN4VX55.js → chunk-MYR4PVGN.js} +3 -3
  52. package/dist/{chunk-WHN4VX55.js.map → chunk-MYR4PVGN.js.map} +1 -1
  53. package/dist/{chunk-EMMSS5I5.cjs → chunk-O7I5CWRX.cjs} +10 -3
  54. package/dist/{chunk-EMMSS5I5.cjs.map → chunk-O7I5CWRX.cjs.map} +1 -1
  55. package/dist/chunk-OYL5TBJW.cjs +48 -0
  56. package/dist/chunk-OYL5TBJW.cjs.map +1 -0
  57. package/dist/{chunk-G3PMV62Z.js → chunk-PR4QN5HX.js} +10 -4
  58. package/dist/{chunk-G3PMV62Z.js.map → chunk-PR4QN5HX.js.map} +1 -1
  59. package/dist/{chunk-QBWF6U7Z.js → chunk-QQXMIP6C.js} +21 -13
  60. package/dist/chunk-QQXMIP6C.js.map +1 -0
  61. package/dist/chunk-RQK4FQUD.js +1012 -0
  62. package/dist/chunk-RQK4FQUD.js.map +1 -0
  63. package/dist/chunk-SIW6CYO3.js +254 -0
  64. package/dist/chunk-SIW6CYO3.js.map +1 -0
  65. package/dist/{chunk-3THIIWWW.cjs → chunk-TOP25AIO.cjs} +6 -5
  66. package/dist/chunk-TOP25AIO.cjs.map +1 -0
  67. package/dist/{chunk-YFLNLDQV.cjs → chunk-TRGAMKHX.cjs} +12 -8
  68. package/dist/chunk-TRGAMKHX.cjs.map +1 -0
  69. package/dist/chunk-VY4ENABS.cjs +135 -0
  70. package/dist/chunk-VY4ENABS.cjs.map +1 -0
  71. package/dist/{chunk-LUPY3MQY.js → chunk-WHABYJRY.js} +21 -41
  72. package/dist/chunk-WHABYJRY.js.map +1 -0
  73. package/dist/{chunk-NPE3X7FQ.cjs → chunk-XN74I6VW.cjs} +7 -7
  74. package/dist/{chunk-NPE3X7FQ.cjs.map → chunk-XN74I6VW.cjs.map} +1 -1
  75. package/dist/chunk-XVPBGW6Y.cjs +256 -0
  76. package/dist/chunk-XVPBGW6Y.cjs.map +1 -0
  77. package/dist/{chunk-UVKXRPMV.cjs → chunk-YJU744I4.cjs} +33 -53
  78. package/dist/chunk-YJU744I4.cjs.map +1 -0
  79. package/dist/chunk-YWOK4F5A.js +131 -0
  80. package/dist/chunk-YWOK4F5A.js.map +1 -0
  81. package/dist/chunk-ZULZ2752.js +2774 -0
  82. package/dist/chunk-ZULZ2752.js.map +1 -0
  83. package/dist/dist-4MVGNSRL.cjs +1150 -0
  84. package/dist/dist-4MVGNSRL.cjs.map +1 -0
  85. package/dist/dist-FZYCV3VB.cjs +940 -0
  86. package/dist/dist-FZYCV3VB.cjs.map +1 -0
  87. package/dist/dist-G2BYZJOC.cjs +928 -0
  88. package/dist/dist-G2BYZJOC.cjs.map +1 -0
  89. package/dist/dist-P4MXBQ3U.cjs +16 -0
  90. package/dist/dist-P4MXBQ3U.cjs.map +1 -0
  91. package/dist/dist-PQZUVLPC.js +937 -0
  92. package/dist/dist-PQZUVLPC.js.map +1 -0
  93. package/dist/dist-R7WYX6LC.js +925 -0
  94. package/dist/dist-R7WYX6LC.js.map +1 -0
  95. package/dist/dist-RFMYFILX.cjs +764 -0
  96. package/dist/dist-RFMYFILX.cjs.map +1 -0
  97. package/dist/dist-X7XR3M3Z.js +1147 -0
  98. package/dist/dist-X7XR3M3Z.js.map +1 -0
  99. package/dist/dist-XVBSOGFK.js +761 -0
  100. package/dist/dist-XVBSOGFK.js.map +1 -0
  101. package/dist/dist-YREX2TJT.js +3 -0
  102. package/dist/dist-YREX2TJT.js.map +1 -0
  103. package/dist/index.cjs +4 -0
  104. package/dist/index.cjs.map +1 -1
  105. package/dist/index.js +3 -0
  106. package/dist/index.js.map +1 -1
  107. package/dist/server/handlers/a2a.cjs +7 -7
  108. package/dist/server/handlers/a2a.d.ts.map +1 -1
  109. package/dist/server/handlers/a2a.js +1 -1
  110. package/dist/server/handlers/agent-builder.cjs +16 -16
  111. package/dist/server/handlers/agent-builder.d.ts +11 -4
  112. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  113. package/dist/server/handlers/agent-builder.js +1 -1
  114. package/dist/server/handlers/agents.cjs +39 -19
  115. package/dist/server/handlers/agents.d.ts +126 -51
  116. package/dist/server/handlers/agents.d.ts.map +1 -1
  117. package/dist/server/handlers/agents.js +1 -1
  118. package/dist/server/handlers/legacyWorkflows.cjs +11 -11
  119. package/dist/server/handlers/legacyWorkflows.js +1 -1
  120. package/dist/server/handlers/logs.cjs +4 -4
  121. package/dist/server/handlers/logs.js +1 -1
  122. package/dist/server/handlers/memory.cjs +16 -16
  123. package/dist/server/handlers/memory.d.ts +14 -15
  124. package/dist/server/handlers/memory.d.ts.map +1 -1
  125. package/dist/server/handlers/memory.js +1 -1
  126. package/dist/server/handlers/observability.cjs +11 -3
  127. package/dist/server/handlers/observability.d.ts +27 -1
  128. package/dist/server/handlers/observability.d.ts.map +1 -1
  129. package/dist/server/handlers/observability.js +1 -1
  130. package/dist/server/handlers/scores.cjs +7 -7
  131. package/dist/server/handlers/scores.d.ts +208 -6
  132. package/dist/server/handlers/scores.d.ts.map +1 -1
  133. package/dist/server/handlers/scores.js +1 -1
  134. package/dist/server/handlers/telemetry.cjs +4 -4
  135. package/dist/server/handlers/telemetry.js +1 -1
  136. package/dist/server/handlers/tools.cjs +6 -6
  137. package/dist/server/handlers/tools.d.ts.map +1 -1
  138. package/dist/server/handlers/tools.js +1 -1
  139. package/dist/server/handlers/utils.cjs +6 -2
  140. package/dist/server/handlers/utils.d.ts +6 -0
  141. package/dist/server/handlers/utils.d.ts.map +1 -1
  142. package/dist/server/handlers/utils.js +1 -1
  143. package/dist/server/handlers/vector.cjs +7 -7
  144. package/dist/server/handlers/vector.js +1 -1
  145. package/dist/server/handlers/voice.cjs +5 -5
  146. package/dist/server/handlers/voice.d.ts +6 -4
  147. package/dist/server/handlers/voice.d.ts.map +1 -1
  148. package/dist/server/handlers/voice.js +1 -1
  149. package/dist/server/handlers/workflows.cjs +28 -16
  150. package/dist/server/handlers/workflows.d.ts +30 -12
  151. package/dist/server/handlers/workflows.d.ts.map +1 -1
  152. package/dist/server/handlers/workflows.js +1 -1
  153. package/dist/server/handlers.cjs +29 -34
  154. package/dist/server/handlers.d.ts +0 -1
  155. package/dist/server/handlers.d.ts.map +1 -1
  156. package/dist/server/handlers.js +13 -14
  157. package/dist/server/utils.d.ts +3 -1
  158. package/dist/server/utils.d.ts.map +1 -1
  159. package/dist/token-53CFGXUO.cjs +64 -0
  160. package/dist/token-53CFGXUO.cjs.map +1 -0
  161. package/dist/token-WAEKDUVY.js +62 -0
  162. package/dist/token-WAEKDUVY.js.map +1 -0
  163. package/dist/token-util-LY37VCIN.js +7 -0
  164. package/dist/token-util-LY37VCIN.js.map +1 -0
  165. package/dist/token-util-S4A355II.cjs +9 -0
  166. package/dist/token-util-S4A355II.cjs.map +1 -0
  167. package/package.json +9 -17
  168. package/dist/chunk-3THIIWWW.cjs.map +0 -1
  169. package/dist/chunk-4QSNRCOT.cjs.map +0 -1
  170. package/dist/chunk-5N6646N2.cjs +0 -17638
  171. package/dist/chunk-5N6646N2.cjs.map +0 -1
  172. package/dist/chunk-5QUKZCEF.js.map +0 -1
  173. package/dist/chunk-7QEJ5QG5.js.map +0 -1
  174. package/dist/chunk-A3ZHTDWB.js.map +0 -1
  175. package/dist/chunk-B43YAQJR.js +0 -144
  176. package/dist/chunk-B43YAQJR.js.map +0 -1
  177. package/dist/chunk-E64XEGXM.cjs.map +0 -1
  178. package/dist/chunk-GGCXLQ4J.js +0 -17619
  179. package/dist/chunk-GGCXLQ4J.js.map +0 -1
  180. package/dist/chunk-GUI3CROV.cjs.map +0 -1
  181. package/dist/chunk-JGD42NME.cjs +0 -150
  182. package/dist/chunk-JGD42NME.cjs.map +0 -1
  183. package/dist/chunk-KLCYAQBL.cjs.map +0 -1
  184. package/dist/chunk-L265APUD.cjs.map +0 -1
  185. package/dist/chunk-LUPY3MQY.js.map +0 -1
  186. package/dist/chunk-ODGI2PKN.cjs +0 -143
  187. package/dist/chunk-ODGI2PKN.cjs.map +0 -1
  188. package/dist/chunk-OW4FX5TS.js.map +0 -1
  189. package/dist/chunk-OZGPYA7A.js.map +0 -1
  190. package/dist/chunk-QBWF6U7Z.js.map +0 -1
  191. package/dist/chunk-R7NOGUZG.js +0 -65
  192. package/dist/chunk-R7NOGUZG.js.map +0 -1
  193. package/dist/chunk-UVKXRPMV.cjs.map +0 -1
  194. package/dist/chunk-V7VWD2Y2.js +0 -126
  195. package/dist/chunk-V7VWD2Y2.js.map +0 -1
  196. package/dist/chunk-YFLNLDQV.cjs.map +0 -1
  197. package/dist/server/handlers/network.cjs +0 -24
  198. package/dist/server/handlers/network.cjs.map +0 -1
  199. package/dist/server/handlers/network.d.ts +0 -50
  200. package/dist/server/handlers/network.d.ts.map +0 -1
  201. package/dist/server/handlers/network.js +0 -3
  202. package/dist/server/handlers/network.js.map +0 -1
  203. package/dist/server/handlers/vNextNetwork.cjs +0 -220
  204. package/dist/server/handlers/vNextNetwork.cjs.map +0 -1
  205. package/dist/server/handlers/vNextNetwork.d.ts +0 -179
  206. package/dist/server/handlers/vNextNetwork.d.ts.map +0 -1
  207. package/dist/server/handlers/vNextNetwork.js +0 -213
  208. package/dist/server/handlers/vNextNetwork.js.map +0 -1
@@ -1,15 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var chunkGU4EWMZB_cjs = require('./chunk-GU4EWMZB.cjs');
3
+ var chunkVY4ENABS_cjs = require('./chunk-VY4ENABS.cjs');
4
4
  var chunkRE4RPXT2_cjs = require('./chunk-RE4RPXT2.cjs');
5
5
  var chunk7NADHFD2_cjs = require('./chunk-7NADHFD2.cjs');
6
- var chunkEMMSS5I5_cjs = require('./chunk-EMMSS5I5.cjs');
6
+ var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
7
7
  var web = require('stream/web');
8
- var zodToJson = require('@mastra/core/utils/zod-to-json');
9
8
 
10
9
  // src/server/handlers/workflows.ts
11
10
  var workflows_exports = {};
12
- chunkEMMSS5I5_cjs.__export(workflows_exports, {
11
+ chunkO7I5CWRX_cjs.__export(workflows_exports, {
13
12
  cancelWorkflowRunHandler: () => cancelWorkflowRunHandler,
14
13
  createWorkflowRunHandler: () => createWorkflowRunHandler,
15
14
  getWorkflowByIdHandler: () => getWorkflowByIdHandler,
@@ -17,7 +16,10 @@ chunkEMMSS5I5_cjs.__export(workflows_exports, {
17
16
  getWorkflowRunExecutionResultHandler: () => getWorkflowRunExecutionResultHandler,
18
17
  getWorkflowRunsHandler: () => getWorkflowRunsHandler,
19
18
  getWorkflowsHandler: () => getWorkflowsHandler,
19
+ observeStreamVNextWorkflowHandler: () => observeStreamVNextWorkflowHandler,
20
+ observeStreamWorkflowHandler: () => observeStreamWorkflowHandler,
20
21
  resumeAsyncWorkflowHandler: () => resumeAsyncWorkflowHandler,
22
+ resumeStreamWorkflowHandler: () => resumeStreamWorkflowHandler,
21
23
  resumeWorkflowHandler: () => resumeWorkflowHandler,
22
24
  sendWorkflowRunEventHandler: () => sendWorkflowRunEventHandler,
23
25
  startAsyncWorkflowHandler: () => startAsyncWorkflowHandler,
@@ -26,106 +28,11 @@ chunkEMMSS5I5_cjs.__export(workflows_exports, {
26
28
  streamWorkflowHandler: () => streamWorkflowHandler,
27
29
  watchWorkflowHandler: () => watchWorkflowHandler
28
30
  });
29
- function getSteps(steps, path) {
30
- return Object.entries(steps).reduce((acc, [key, step]) => {
31
- const fullKey = path ? `${path}.${key}` : key;
32
- acc[fullKey] = {
33
- id: step.id,
34
- description: step.description,
35
- inputSchema: step.inputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(step.inputSchema)) : void 0,
36
- outputSchema: step.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(step.outputSchema)) : void 0,
37
- resumeSchema: step.resumeSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(step.resumeSchema)) : void 0,
38
- suspendSchema: step.suspendSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(step.suspendSchema)) : void 0,
39
- isWorkflow: step.component === "WORKFLOW"
40
- };
41
- if (step.component === "WORKFLOW" && step.steps) {
42
- const nestedSteps = getSteps(step.steps, fullKey) || {};
43
- acc = { ...acc, ...nestedSteps };
44
- }
45
- return acc;
46
- }, {});
47
- }
48
- function getWorkflowInfo(workflow) {
49
- return {
50
- name: workflow.name,
51
- description: workflow.description,
52
- steps: Object.entries(workflow.steps).reduce((acc, [key, step]) => {
53
- acc[key] = {
54
- id: step.id,
55
- description: step.description,
56
- inputSchema: step.inputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(step.inputSchema)) : void 0,
57
- outputSchema: step.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(step.outputSchema)) : void 0,
58
- resumeSchema: step.resumeSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(step.resumeSchema)) : void 0,
59
- suspendSchema: step.suspendSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(step.suspendSchema)) : void 0
60
- };
61
- return acc;
62
- }, {}),
63
- allSteps: getSteps(workflow.steps) || {},
64
- stepGraph: workflow.serializedStepGraph,
65
- inputSchema: workflow.inputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(workflow.inputSchema)) : void 0,
66
- outputSchema: workflow.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(workflow.outputSchema)) : void 0
67
- };
68
- }
69
- var WorkflowRegistry = class {
70
- static additionalWorkflows = {};
71
- /**
72
- * Register a workflow temporarily
73
- */
74
- static registerTemporaryWorkflow(id, workflow) {
75
- this.additionalWorkflows[id] = workflow;
76
- }
77
- /**
78
- * Register all workflows from map
79
- */
80
- static registerTemporaryWorkflows(workflows) {
81
- for (const [id, workflow] of Object.entries(workflows)) {
82
- this.additionalWorkflows[id] = workflow;
83
- }
84
- }
85
- /**
86
- * Get a workflow by ID from the registry (returns undefined if not found)
87
- */
88
- static getWorkflow(workflowId) {
89
- return this.additionalWorkflows[workflowId];
90
- }
91
- /**
92
- * Get all workflows from the registry
93
- */
94
- static getAllWorkflows() {
95
- return { ...this.additionalWorkflows };
96
- }
97
- /**
98
- * Clean up a temporary workflow
99
- */
100
- static cleanupTemporaryWorkflow(workflowId) {
101
- delete this.additionalWorkflows[workflowId];
102
- }
103
- /**
104
- * Clean up all registered workflows
105
- */
106
- static cleanup() {
107
- this.additionalWorkflows = {};
108
- }
109
- /**
110
- * Check if a workflow ID is a valid agent-builder workflow
111
- */
112
- static isAgentBuilderWorkflow(workflowId) {
113
- return workflowId in this.additionalWorkflows;
114
- }
115
- /**
116
- * Get all registered temporary workflow IDs (for debugging)
117
- */
118
- static getRegisteredWorkflowIds() {
119
- return Object.keys(this.additionalWorkflows);
120
- }
121
- };
122
-
123
- // src/server/handlers/workflows.ts
124
31
  async function getWorkflowsHandler({ mastra }) {
125
32
  try {
126
33
  const workflows = mastra.getWorkflows({ serialized: false });
127
34
  const _workflows = Object.entries(workflows).reduce((acc, [key, workflow]) => {
128
- acc[key] = getWorkflowInfo(workflow);
35
+ acc[key] = chunkVY4ENABS_cjs.getWorkflowInfo(workflow);
129
36
  return acc;
130
37
  }, {});
131
38
  return _workflows;
@@ -139,7 +46,7 @@ async function getWorkflowsFromSystem({ mastra, workflowId }) {
139
46
  throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
140
47
  }
141
48
  let workflow;
142
- workflow = WorkflowRegistry.getWorkflow(workflowId);
49
+ workflow = chunkVY4ENABS_cjs.WorkflowRegistry.getWorkflow(workflowId);
143
50
  if (!workflow) {
144
51
  try {
145
52
  workflow = mastra.getWorkflow(workflowId);
@@ -179,7 +86,7 @@ async function getWorkflowByIdHandler({ mastra, workflowId }) {
179
86
  if (!workflow) {
180
87
  throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow not found" });
181
88
  }
182
- return getWorkflowInfo(workflow);
89
+ return chunkVY4ENABS_cjs.getWorkflowInfo(workflow);
183
90
  } catch (error) {
184
91
  return chunkRE4RPXT2_cjs.handleError(error, "Error getting workflow");
185
92
  }
@@ -258,7 +165,8 @@ async function startAsyncWorkflowHandler({
258
165
  runtimeContext,
259
166
  workflowId,
260
167
  runId,
261
- inputData
168
+ inputData,
169
+ tracingOptions
262
170
  }) {
263
171
  try {
264
172
  if (!workflowId) {
@@ -271,7 +179,8 @@ async function startAsyncWorkflowHandler({
271
179
  const _run = await workflow.createRunAsync({ runId });
272
180
  const result = await _run.start({
273
181
  inputData,
274
- runtimeContext
182
+ runtimeContext,
183
+ tracingOptions
275
184
  });
276
185
  return result;
277
186
  } catch (error) {
@@ -283,7 +192,8 @@ async function startWorkflowRunHandler({
283
192
  runtimeContext,
284
193
  workflowId,
285
194
  runId,
286
- inputData
195
+ inputData,
196
+ tracingOptions
287
197
  }) {
288
198
  try {
289
199
  if (!workflowId) {
@@ -300,10 +210,11 @@ async function startWorkflowRunHandler({
300
210
  if (!run) {
301
211
  throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
302
212
  }
303
- const _run = await workflow.createRunAsync({ runId });
213
+ const _run = await workflow.createRunAsync({ runId, resourceId: run.resourceId });
304
214
  void _run.start({
305
215
  inputData,
306
- runtimeContext
216
+ runtimeContext,
217
+ tracingOptions
307
218
  });
308
219
  return { message: "Workflow run started" };
309
220
  } catch (e) {
@@ -331,7 +242,7 @@ async function watchWorkflowHandler({
331
242
  if (!run) {
332
243
  throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
333
244
  }
334
- const _run = await workflow.createRunAsync({ runId });
245
+ const _run = await workflow.createRunAsync({ runId, resourceId: run.resourceId });
335
246
  let unwatch;
336
247
  let asyncRef = null;
337
248
  const stream = new web.ReadableStream({
@@ -370,7 +281,8 @@ async function streamWorkflowHandler({
370
281
  runtimeContext,
371
282
  workflowId,
372
283
  runId,
373
- inputData
284
+ inputData,
285
+ tracingOptions
374
286
  }) {
375
287
  try {
376
288
  if (!workflowId) {
@@ -383,22 +295,70 @@ async function streamWorkflowHandler({
383
295
  if (!workflow) {
384
296
  throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow not found" });
385
297
  }
298
+ const serverCache = mastra.getServerCache();
386
299
  const run = await workflow.createRunAsync({ runId });
387
300
  const result = run.stream({
388
301
  inputData,
389
- runtimeContext
302
+ runtimeContext,
303
+ onChunk: async (chunk) => {
304
+ if (serverCache) {
305
+ const cacheKey = runId;
306
+ await serverCache.listPush(cacheKey, chunk);
307
+ }
308
+ },
309
+ tracingOptions
390
310
  });
391
311
  return result;
392
312
  } catch (error) {
393
313
  return chunkRE4RPXT2_cjs.handleError(error, "Error executing workflow");
394
314
  }
395
315
  }
316
+ async function observeStreamWorkflowHandler({
317
+ mastra,
318
+ workflowId,
319
+ runId
320
+ }) {
321
+ try {
322
+ if (!workflowId) {
323
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
324
+ }
325
+ if (!runId) {
326
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "runId required to observe workflow stream" });
327
+ }
328
+ const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });
329
+ if (!workflow) {
330
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow not found" });
331
+ }
332
+ const run = await workflow.getWorkflowRunById(runId);
333
+ if (!run) {
334
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
335
+ }
336
+ const _run = await workflow.createRunAsync({ runId, resourceId: run.resourceId });
337
+ const serverCache = mastra.getServerCache();
338
+ if (!serverCache) {
339
+ throw new chunk7NADHFD2_cjs.HTTPException(500, { message: "Server cache not found" });
340
+ }
341
+ const transformStream = new web.TransformStream();
342
+ const writer = transformStream.writable.getWriter();
343
+ const cachedRunChunks = await serverCache.listFromTo(runId, 0);
344
+ for (const chunk of cachedRunChunks) {
345
+ await writer.write(chunk);
346
+ }
347
+ writer.releaseLock();
348
+ const result = _run.observeStream();
349
+ return result.stream?.pipeThrough(transformStream);
350
+ } catch (error) {
351
+ return chunkRE4RPXT2_cjs.handleError(error, "Error observing workflow stream");
352
+ }
353
+ }
396
354
  async function streamVNextWorkflowHandler({
397
355
  mastra,
398
356
  runtimeContext,
399
357
  workflowId,
400
358
  runId,
401
- inputData
359
+ inputData,
360
+ closeOnSuspend,
361
+ tracingOptions
402
362
  }) {
403
363
  try {
404
364
  if (!workflowId) {
@@ -411,22 +371,95 @@ async function streamVNextWorkflowHandler({
411
371
  if (!workflow) {
412
372
  throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow not found" });
413
373
  }
374
+ const serverCache = mastra.getServerCache();
414
375
  const run = await workflow.createRunAsync({ runId });
415
376
  const result = run.streamVNext({
416
377
  inputData,
417
- runtimeContext
378
+ runtimeContext,
379
+ closeOnSuspend,
380
+ onChunk: async (chunk) => {
381
+ if (serverCache) {
382
+ const cacheKey = runId;
383
+ await serverCache.listPush(cacheKey, chunk);
384
+ }
385
+ },
386
+ tracingOptions
418
387
  });
419
388
  return result;
420
389
  } catch (error) {
421
390
  return chunkRE4RPXT2_cjs.handleError(error, "Error streaming workflow");
422
391
  }
423
392
  }
393
+ async function observeStreamVNextWorkflowHandler({
394
+ mastra,
395
+ workflowId,
396
+ runId
397
+ }) {
398
+ try {
399
+ if (!workflowId) {
400
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
401
+ }
402
+ if (!runId) {
403
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "runId required to observe workflow stream" });
404
+ }
405
+ const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });
406
+ if (!workflow) {
407
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow not found" });
408
+ }
409
+ const run = await workflow.getWorkflowRunById(runId);
410
+ if (!run) {
411
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
412
+ }
413
+ const _run = await workflow.createRunAsync({ runId, resourceId: run.resourceId });
414
+ const serverCache = mastra.getServerCache();
415
+ if (!serverCache) {
416
+ throw new chunk7NADHFD2_cjs.HTTPException(500, { message: "Server cache not found" });
417
+ }
418
+ const cachedRunChunks = await serverCache.listFromTo(runId, 0);
419
+ const combinedStream = new web.ReadableStream({
420
+ start(controller) {
421
+ const emitCachedChunks = async () => {
422
+ for (const chunk of cachedRunChunks) {
423
+ controller.enqueue(chunk);
424
+ }
425
+ };
426
+ const liveStream = _run.observeStreamVNext();
427
+ const reader = liveStream.getReader();
428
+ const pump = async () => {
429
+ try {
430
+ while (true) {
431
+ const { done, value } = await reader.read();
432
+ if (done) {
433
+ controller.close();
434
+ break;
435
+ }
436
+ controller.enqueue(value);
437
+ }
438
+ } catch (error) {
439
+ controller.error(error);
440
+ } finally {
441
+ reader.releaseLock();
442
+ }
443
+ };
444
+ void emitCachedChunks().then(() => {
445
+ void pump();
446
+ }).catch((error) => {
447
+ controller.error(error);
448
+ });
449
+ }
450
+ });
451
+ return combinedStream;
452
+ } catch (error) {
453
+ return chunkRE4RPXT2_cjs.handleError(error, "Error observing workflow stream");
454
+ }
455
+ }
424
456
  async function resumeAsyncWorkflowHandler({
425
457
  mastra,
426
458
  workflowId,
427
459
  runId,
428
460
  body,
429
- runtimeContext
461
+ runtimeContext,
462
+ tracingOptions
430
463
  }) {
431
464
  try {
432
465
  if (!workflowId) {
@@ -446,11 +479,12 @@ async function resumeAsyncWorkflowHandler({
446
479
  if (!run) {
447
480
  throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
448
481
  }
449
- const _run = await workflow.createRunAsync({ runId });
482
+ const _run = await workflow.createRunAsync({ runId, resourceId: run.resourceId });
450
483
  const result = await _run.resume({
451
484
  step: body.step,
452
485
  resumeData: body.resumeData,
453
- runtimeContext
486
+ runtimeContext,
487
+ tracingOptions
454
488
  });
455
489
  return result;
456
490
  } catch (error) {
@@ -462,7 +496,8 @@ async function resumeWorkflowHandler({
462
496
  workflowId,
463
497
  runId,
464
498
  body,
465
- runtimeContext
499
+ runtimeContext,
500
+ tracingOptions
466
501
  }) {
467
502
  try {
468
503
  if (!workflowId) {
@@ -482,17 +517,63 @@ async function resumeWorkflowHandler({
482
517
  if (!run) {
483
518
  throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
484
519
  }
485
- const _run = await workflow.createRunAsync({ runId });
520
+ const _run = await workflow.createRunAsync({ runId, resourceId: run.resourceId });
486
521
  void _run.resume({
487
522
  step: body.step,
488
523
  resumeData: body.resumeData,
489
- runtimeContext
524
+ runtimeContext,
525
+ tracingOptions
490
526
  });
491
527
  return { message: "Workflow run resumed" };
492
528
  } catch (error) {
493
529
  return chunkRE4RPXT2_cjs.handleError(error, "Error resuming workflow");
494
530
  }
495
531
  }
532
+ async function resumeStreamWorkflowHandler({
533
+ mastra,
534
+ workflowId,
535
+ runId,
536
+ body,
537
+ runtimeContext,
538
+ tracingOptions
539
+ }) {
540
+ try {
541
+ if (!workflowId) {
542
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
543
+ }
544
+ if (!runId) {
545
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "runId required to resume workflow" });
546
+ }
547
+ if (!body.step) {
548
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "step required to resume workflow" });
549
+ }
550
+ const { workflow } = await getWorkflowsFromSystem({ mastra, workflowId });
551
+ if (!workflow) {
552
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow not found" });
553
+ }
554
+ const run = await workflow.getWorkflowRunById(runId);
555
+ if (!run) {
556
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
557
+ }
558
+ const _run = await workflow.createRunAsync({ runId, resourceId: run.resourceId });
559
+ const serverCache = mastra.getServerCache();
560
+ const stream = _run.resumeStreamVNext({
561
+ step: body.step,
562
+ resumeData: body.resumeData,
563
+ runtimeContext,
564
+ tracingOptions,
565
+ onChunk: async (chunk) => {
566
+ if (serverCache) {
567
+ const cacheKey = runId;
568
+ await serverCache.listPush(cacheKey, chunk);
569
+ }
570
+ }
571
+ });
572
+ return stream;
573
+ } catch (error) {
574
+ return chunkRE4RPXT2_cjs.handleError(error, "Error resuming workflow");
575
+ }
576
+ }
496
577
  async function getWorkflowRunsHandler({
497
578
  mastra,
498
579
  workflowId,
@@ -539,7 +620,7 @@ async function cancelWorkflowRunHandler({
539
620
  if (!run) {
540
621
  throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
541
622
  }
542
- const _run = await workflow.createRunAsync({ runId });
623
+ const _run = await workflow.createRunAsync({ runId, resourceId: run.resourceId });
543
624
  await _run.cancel();
544
625
  return { message: "Workflow run cancelled" };
545
626
  } catch (error) {
@@ -568,7 +649,7 @@ async function sendWorkflowRunEventHandler({
568
649
  if (!run) {
569
650
  throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
570
651
  }
571
- const _run = await workflow.createRunAsync({ runId });
652
+ const _run = await workflow.createRunAsync({ runId, resourceId: run.resourceId });
572
653
  await _run.sendEvent(event, data);
573
654
  return { message: "Workflow run event sent" };
574
655
  } catch (error) {
@@ -576,16 +657,17 @@ async function sendWorkflowRunEventHandler({
576
657
  }
577
658
  }
578
659
 
579
- exports.WorkflowRegistry = WorkflowRegistry;
580
660
  exports.cancelWorkflowRunHandler = cancelWorkflowRunHandler;
581
661
  exports.createWorkflowRunHandler = createWorkflowRunHandler;
582
662
  exports.getWorkflowByIdHandler = getWorkflowByIdHandler;
583
- exports.getWorkflowInfo = getWorkflowInfo;
584
663
  exports.getWorkflowRunByIdHandler = getWorkflowRunByIdHandler;
585
664
  exports.getWorkflowRunExecutionResultHandler = getWorkflowRunExecutionResultHandler;
586
665
  exports.getWorkflowRunsHandler = getWorkflowRunsHandler;
587
666
  exports.getWorkflowsHandler = getWorkflowsHandler;
667
+ exports.observeStreamVNextWorkflowHandler = observeStreamVNextWorkflowHandler;
668
+ exports.observeStreamWorkflowHandler = observeStreamWorkflowHandler;
588
669
  exports.resumeAsyncWorkflowHandler = resumeAsyncWorkflowHandler;
670
+ exports.resumeStreamWorkflowHandler = resumeStreamWorkflowHandler;
589
671
  exports.resumeWorkflowHandler = resumeWorkflowHandler;
590
672
  exports.sendWorkflowRunEventHandler = sendWorkflowRunEventHandler;
591
673
  exports.startAsyncWorkflowHandler = startAsyncWorkflowHandler;
@@ -594,5 +676,5 @@ exports.streamVNextWorkflowHandler = streamVNextWorkflowHandler;
594
676
  exports.streamWorkflowHandler = streamWorkflowHandler;
595
677
  exports.watchWorkflowHandler = watchWorkflowHandler;
596
678
  exports.workflows_exports = workflows_exports;
597
- //# sourceMappingURL=chunk-E64XEGXM.cjs.map
598
- //# sourceMappingURL=chunk-E64XEGXM.cjs.map
679
+ //# sourceMappingURL=chunk-MQDBNHBT.cjs.map
680
+ //# sourceMappingURL=chunk-MQDBNHBT.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/workflows.ts"],"names":["__export","getWorkflowInfo","handleError","HTTPException","WorkflowRegistry","ReadableStream","TransformStream"],"mappings":";;;;;;;;;AAAA,IAAA,iBAAA,GAAA;AAAAA,0BAAA,CAAA,iBAAA,EAAA;AAAA,EAAA,wBAAA,EAAA,MAAA,wBAAA;AAAA,EAAA,wBAAA,EAAA,MAAA,wBAAA;AAAA,EAAA,sBAAA,EAAA,MAAA,sBAAA;AAAA,EAAA,yBAAA,EAAA,MAAA,yBAAA;AAAA,EAAA,oCAAA,EAAA,MAAA,oCAAA;AAAA,EAAA,sBAAA,EAAA,MAAA,sBAAA;AAAA,EAAA,mBAAA,EAAA,MAAA,mBAAA;AAAA,EAAA,iCAAA,EAAA,MAAA,iCAAA;AAAA,EAAA,4BAAA,EAAA,MAAA,4BAAA;AAAA,EAAA,0BAAA,EAAA,MAAA,0BAAA;AAAA,EAAA,2BAAA,EAAA,MAAA,2BAAA;AAAA,EAAA,qBAAA,EAAA,MAAA,qBAAA;AAAA,EAAA,2BAAA,EAAA,MAAA,2BAAA;AAAA,EAAA,yBAAA,EAAA,MAAA,yBAAA;AAAA,EAAA,uBAAA,EAAA,MAAA,uBAAA;AAAA,EAAA,0BAAA,EAAA,MAAA,0BAAA;AAAA,EAAA,qBAAA,EAAA,MAAA,qBAAA;AAAA,EAAA,oBAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AAeA,eAAsB,mBAAA,CAAoB,EAAE,MAAA,EAAO,EAAoB;AACrE,EAAA,IAAI;AACF,IAAA,MAAM,YAAY,MAAA,CAAO,YAAA,CAAa,EAAE,UAAA,EAAY,OAAO,CAAA;AAC3D,IAAA,MAAM,UAAA,GAAa,MAAA,CAAO,OAAA,CAAQ,SAAS,CAAA,CAAE,MAAA,CAAqC,CAAC,GAAA,EAAK,CAAC,GAAA,EAAK,QAAQ,CAAA,KAAM;AAC1G,MAAA,GAAA,CAAI,GAAG,CAAA,GAAIC,iCAAA,CAAgB,QAAQ,CAAA;AACnC,MAAA,OAAO,GAAA;AAAA,IACT,CAAA,EAAG,EAAE,CAAA;AACL,IAAA,OAAO,UAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAOC,6BAAA,CAAY,OAAO,yBAAyB,CAAA;AAAA,EACrD;AACF;AAEA,eAAe,sBAAA,CAAuB,EAAE,MAAA,EAAQ,UAAA,EAAW,EAAoB;AAC7E,EAAA,MAAM,MAAA,GAAS,OAAO,SAAA,EAAU;AAEhC,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,EACrE;AAEA,EAAA,IAAI,QAAA;AAGJ,EAAA,QAAA,GAAWC,kCAAA,CAAiB,YAAY,UAAU,CAAA;AAElD,EAAA,IAAI,CAAC,QAAA,EAAU;AACb,IAAA,IAAI;AACF,MAAA,QAAA,GAAW,MAAA,CAAO,YAAY,UAAU,CAAA;AAAA,IAC1C,SAAS,KAAA,EAAO;AACd,MAAA,MAAA,CAAO,KAAA,CAAM,yDAAyD,KAAK,CAAA;AAAA,IAC7E;AAAA,EACF;AAEA,EAAA,IAAI,CAAC,QAAA,EAAU;AACb,IAAA,MAAA,CAAO,KAAA,CAAM,mDAAA,EAAqD,EAAE,UAAA,EAAY,CAAA;AAChF,IAAA,MAAM,MAAA,GAAS,OAAO,SAAA,EAAU;AAEhC,IAAA,IAAI,OAAO,IAAA,CAAK,MAAA,IAAU,EAAE,EAAE,MAAA,EAAQ;AACpC,MAAA,KAAA,MAAW,CAAC,CAAA,EAAG,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,MAAM,CAAA,EAAG;AAC/C,QAAA,IAAI;AACF,UAAA,MAAM,SAAA,GAAY,MAAM,KAAA,CAAM,YAAA,EAAa;AAE3C,UAAA,IAAI,SAAA,CAAU,UAAU,CAAA,EAAG;AACzB,YAAA,QAAA,GAAW,UAAU,UAAU,CAAA;AAC/B,YAAA;AAAA,UACF;AACA,UAAA;AAAA,QACF,SAAS,KAAA,EAAO;AACd,UAAA,MAAA,CAAO,KAAA,CAAM,qCAAqC,KAAK,CAAA;AAAA,QACzD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,EAAA,IAAI,CAAC,QAAA,EAAU;AACb,IAAA,MAAM,IAAID,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,EAChE;AAEA,EAAA,OAAO,EAAE,QAAA,EAAS;AACpB;AAEA,eAAsB,sBAAA,CAAuB,EAAE,MAAA,EAAQ,UAAA,EAAW,EAA2C;AAC3G,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,MAAM,EAAE,UAAS,GAAI,MAAM,uBAAuB,EAAE,MAAA,EAAQ,YAAY,CAAA;AAExE,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,OAAOF,kCAAgB,QAAQ,CAAA;AAAA,EACjC,SAAS,KAAA,EAAO;AACd,IAAA,OAAOC,6BAAA,CAAY,OAAO,wBAAwB,CAAA;AAAA,EACpD;AACF;AAEA,eAAsB,yBAAA,CAA0B;AAAA,EAC9C,MAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA,EAAkH;AAChH,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,EAAE,UAAS,GAAI,MAAM,uBAAuB,EAAE,MAAA,EAAQ,YAAY,CAAA;AAExE,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,GAAA,GAAM,MAAM,QAAA,CAAS,kBAAA,CAAmB,KAAK,CAAA;AAEnD,IAAA,IAAI,CAAC,GAAA,EAAK;AACR,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0BAA0B,CAAA;AAAA,IACpE;AAEA,IAAA,OAAO,GAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAOD,6BAAA,CAAY,OAAO,4BAA4B,CAAA;AAAA,EACxD;AACF;AAEA,eAAsB,oCAAA,CAAqC;AAAA,EACzD,MAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA,EAA8G;AAC5G,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,QAAA,GAAW,MAAA,CAAO,WAAA,CAAY,UAAU,CAAA;AAE9C,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,eAAA,GAAkB,MAAM,QAAA,CAAS,6BAAA,CAA8B,KAAK,CAAA;AAE1E,IAAA,IAAI,CAAC,eAAA,EAAiB;AACpB,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2CAA2C,CAAA;AAAA,IACrF;AAEA,IAAA,OAAO,eAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAOD,6BAAA,CAAY,OAAO,6CAA6C,CAAA;AAAA,EACzE;AACF;AAEA,eAAsB,wBAAA,CAAyB;AAAA,EAC7C,MAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA,EAAO;AACT,CAAA,EAA6D;AAC3D,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,MAAM,EAAE,UAAS,GAAI,MAAM,uBAAuB,EAAE,MAAA,EAAQ,YAAY,CAAA;AAExE,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,MAAM,MAAM,QAAA,CAAS,eAAe,EAAE,KAAA,EAAO,WAAW,CAAA;AAE9D,IAAA,OAAO,EAAE,KAAA,EAAO,GAAA,CAAI,KAAA,EAAM;AAAA,EAC5B,SAAS,KAAA,EAAO;AACd,IAAA,OAAOD,6BAAA,CAAY,OAAO,6BAA6B,CAAA;AAAA,EACzD;AACF;AAEA,eAAsB,yBAAA,CAA0B;AAAA,EAC9C,MAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAIG;AACD,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,MAAM,EAAE,UAAS,GAAI,MAAM,uBAAuB,EAAE,MAAA,EAAQ,YAAY,CAAA;AAExE,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,OAAO,MAAM,QAAA,CAAS,cAAA,CAAe,EAAE,OAAO,CAAA;AACpD,IAAA,MAAM,MAAA,GAAS,MAAM,IAAA,CAAK,KAAA,CAAM;AAAA,MAC9B,SAAA;AAAA,MACA,cAAA;AAAA,MACA;AAAA,KACD,CAAA;AACD,IAAA,OAAO,MAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAOD,6BAAA,CAAY,OAAO,+BAA+B,CAAA;AAAA,EAC3D;AACF;AAEA,eAAsB,uBAAA,CAAwB;AAAA,EAC5C,MAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAIG;AACD,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,+BAA+B,CAAA;AAAA,IACzE;AAEA,IAAA,MAAM,EAAE,UAAS,GAAI,MAAM,uBAAuB,EAAE,MAAA,EAAQ,YAAY,CAAA;AAExE,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,GAAA,GAAM,MAAM,QAAA,CAAS,kBAAA,CAAmB,KAAK,CAAA;AAEnD,IAAA,IAAI,CAAC,GAAA,EAAK;AACR,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0BAA0B,CAAA;AAAA,IACpE;AAEA,IAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,cAAA,CAAe,EAAE,KAAA,EAAO,UAAA,EAAY,GAAA,CAAI,UAAA,EAAY,CAAA;AAChF,IAAA,KAAK,KAAK,KAAA,CAAM;AAAA,MACd,SAAA;AAAA,MACA,cAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,OAAO,EAAE,SAAS,sBAAA,EAAuB;AAAA,EAC3C,SAAS,CAAA,EAAG;AACV,IAAA,OAAOD,6BAAA,CAAY,GAAG,6BAA6B,CAAA;AAAA,EACrD;AACF;AAEA,eAAsB,oBAAA,CAAqB;AAAA,EACzC,MAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA,GAAY;AACd,CAAA,EAEoC;AAClC,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,oCAAoC,CAAA;AAAA,IAC9E;AAEA,IAAA,MAAM,EAAE,UAAS,GAAI,MAAM,uBAAuB,EAAE,MAAA,EAAQ,YAAY,CAAA;AAExE,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,GAAA,GAAM,MAAM,QAAA,CAAS,kBAAA,CAAmB,KAAK,CAAA;AAEnD,IAAA,IAAI,CAAC,GAAA,EAAK;AACR,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0BAA0B,CAAA;AAAA,IACpE;AAEA,IAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,cAAA,CAAe,EAAE,KAAA,EAAO,UAAA,EAAY,GAAA,CAAI,UAAA,EAAY,CAAA;AAChF,IAAA,IAAI,OAAA;AACJ,IAAA,IAAI,QAAA,GAAoC,IAAA;AACxC,IAAA,MAAM,MAAA,GAAS,IAAIE,kBAAA,CAAuB;AAAA,MACxC,MAAM,UAAA,EAAY;AAChB,QAAA,OAAA,GAAU,IAAA,CAAK,KAAA,CAAM,CAAC,KAAA,KAAe;AACnC,UAAA,MAAM,EAAE,IAAA,EAAM,OAAA,EAAS,cAAA,EAAe,GAAI,KAAA;AAC1C,UAAA,UAAA,CAAW,OAAA,CAAQ,KAAK,SAAA,CAAU,EAAE,MAAM,OAAA,EAAS,cAAA,EAAgB,KAAA,EAAO,CAAC,CAAA;AAE3E,UAAA,IAAI,QAAA,EAAU;AACZ,YAAA,cAAA,CAAe,QAAQ,CAAA;AACvB,YAAA,QAAA,GAAW,IAAA;AAAA,UACb;AAGA,UAAA,QAAA,GAAW,aAAa,YAAY;AAClC,YAAA,MAAM,UAAU,SAAA,KAAc,OAAA,GAAU,QAAQ,aAAA,CAAc,MAAA,KAAW,YAAY,IAAA,KAAS,QAAA;AAC9F,YAAA,IAAI,OAAA,EAAS;AACX,cAAA,UAAA,CAAW,KAAA,EAAM;AACjB,cAAA,OAAA,IAAU;AAAA,YACZ;AAAA,UACF,CAAC,CAAA;AAAA,QACH,GAAG,SAAS,CAAA;AAAA,MACd,CAAA;AAAA,MACA,MAAA,GAAS;AACP,QAAA,IAAI,QAAA,EAAU;AACZ,UAAA,cAAA,CAAe,QAAQ,CAAA;AACvB,UAAA,QAAA,GAAW,IAAA;AAAA,QACb;AACA,QAAA,OAAA,IAAU;AAAA,MACZ;AAAA,KACD,CAAA;AAED,IAAA,OAAO,MAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAOH,6BAAA,CAAY,OAAO,yBAAyB,CAAA;AAAA,EACrD;AACF;AAEA,eAAsB,qBAAA,CAAsB;AAAA,EAC1C,MAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAIG;AACD,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,qCAAqC,CAAA;AAAA,IAC/E;AAEA,IAAA,MAAM,EAAE,UAAS,GAAI,MAAM,uBAAuB,EAAE,MAAA,EAAQ,YAAY,CAAA;AAExE,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,WAAA,GAAc,OAAO,cAAA,EAAe;AAE1C,IAAA,MAAM,MAAM,MAAM,QAAA,CAAS,cAAA,CAAe,EAAE,OAAO,CAAA;AACnD,IAAA,MAAM,MAAA,GAAS,IAAI,MAAA,CAAO;AAAA,MACxB,SAAA;AAAA,MACA,cAAA;AAAA,MACA,OAAA,EAAS,OAAM,KAAA,KAAS;AACtB,QAAA,IAAI,WAAA,EAAa;AACf,UAAA,MAAM,QAAA,GAAW,KAAA;AACjB,UAAA,MAAM,WAAA,CAAY,QAAA,CAAS,QAAA,EAAU,KAAK,CAAA;AAAA,QAC5C;AAAA,MACF,CAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,OAAO,MAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAOD,6BAAA,CAAY,OAAO,0BAA0B,CAAA;AAAA,EACtD;AACF;AAEA,eAAsB,4BAAA,CAA6B;AAAA,EACjD,MAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA,EAA6D;AAC3D,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,6CAA6C,CAAA;AAAA,IACvF;AAEA,IAAA,MAAM,EAAE,UAAS,GAAI,MAAM,uBAAuB,EAAE,MAAA,EAAQ,YAAY,CAAA;AAExE,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,GAAA,GAAM,MAAM,QAAA,CAAS,kBAAA,CAAmB,KAAK,CAAA;AAEnD,IAAA,IAAI,CAAC,GAAA,EAAK;AACR,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0BAA0B,CAAA;AAAA,IACpE;AAEA,IAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,cAAA,CAAe,EAAE,KAAA,EAAO,UAAA,EAAY,GAAA,CAAI,UAAA,EAAY,CAAA;AAChF,IAAA,MAAM,WAAA,GAAc,OAAO,cAAA,EAAe;AAC1C,IAAA,IAAI,CAAC,WAAA,EAAa;AAChB,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0BAA0B,CAAA;AAAA,IACpE;AAEA,IAAA,MAAM,eAAA,GAAkB,IAAIG,mBAAA,EAA0C;AAEtE,IAAA,MAAM,MAAA,GAAS,eAAA,CAAgB,QAAA,CAAS,SAAA,EAAU;AAElD,IAAA,MAAM,eAAA,GAAkB,MAAM,WAAA,CAAY,UAAA,CAAW,OAAO,CAAC,CAAA;AAE7D,IAAA,KAAA,MAAW,SAAS,eAAA,EAAiB;AACnC,MAAA,MAAM,MAAA,CAAO,MAAM,KAAY,CAAA;AAAA,IACjC;AAEA,IAAA,MAAA,CAAO,WAAA,EAAY;AAEnB,IAAA,MAAM,MAAA,GAAS,KAAK,aAAA,EAAc;AAClC,IAAA,OAAO,MAAA,CAAO,MAAA,EAAQ,WAAA,CAAY,eAAe,CAAA;AAAA,EACnD,SAAS,KAAA,EAAO;AACd,IAAA,OAAOJ,6BAAA,CAAY,OAAO,iCAAiC,CAAA;AAAA,EAC7D;AACF;AAEA,eAAsB,0BAAA,CAA2B;AAAA,EAC/C,MAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA,EAKG;AACD,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,qCAAqC,CAAA;AAAA,IAC/E;AAEA,IAAA,MAAM,EAAE,UAAS,GAAI,MAAM,uBAAuB,EAAE,MAAA,EAAQ,YAAY,CAAA;AAExE,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,WAAA,GAAc,OAAO,cAAA,EAAe;AAE1C,IAAA,MAAM,MAAM,MAAM,QAAA,CAAS,cAAA,CAAe,EAAE,OAAO,CAAA;AACnD,IAAA,MAAM,MAAA,GAAS,IAAI,WAAA,CAAY;AAAA,MAC7B,SAAA;AAAA,MACA,cAAA;AAAA,MACA,cAAA;AAAA,MACA,OAAA,EAAS,OAAM,KAAA,KAAS;AACtB,QAAA,IAAI,WAAA,EAAa;AACf,UAAA,MAAM,QAAA,GAAW,KAAA;AACjB,UAAA,MAAM,WAAA,CAAY,QAAA,CAAS,QAAA,EAAU,KAAK,CAAA;AAAA,QAC5C;AAAA,MACF,CAAA;AAAA,MACA;AAAA,KACD,CAAA;AACD,IAAA,OAAO,MAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAOD,6BAAA,CAAY,OAAO,0BAA0B,CAAA;AAAA,EACtD;AACF;AAEA,eAAsB,iCAAA,CAAkC;AAAA,EACtD,MAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA,EAA6D;AAC3D,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,6CAA6C,CAAA;AAAA,IACvF;AAEA,IAAA,MAAM,EAAE,UAAS,GAAI,MAAM,uBAAuB,EAAE,MAAA,EAAQ,YAAY,CAAA;AAExE,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,GAAA,GAAM,MAAM,QAAA,CAAS,kBAAA,CAAmB,KAAK,CAAA;AAEnD,IAAA,IAAI,CAAC,GAAA,EAAK;AACR,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0BAA0B,CAAA;AAAA,IACpE;AAEA,IAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,cAAA,CAAe,EAAE,KAAA,EAAO,UAAA,EAAY,GAAA,CAAI,UAAA,EAAY,CAAA;AAChF,IAAA,MAAM,WAAA,GAAc,OAAO,cAAA,EAAe;AAC1C,IAAA,IAAI,CAAC,WAAA,EAAa;AAChB,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0BAA0B,CAAA;AAAA,IACpE;AAGA,IAAA,MAAM,eAAA,GAAkB,MAAM,WAAA,CAAY,UAAA,CAAW,OAAO,CAAC,CAAA;AAG7D,IAAA,MAAM,cAAA,GAAiB,IAAIE,kBAAA,CAA0B;AAAA,MACnD,MAAM,UAAA,EAAY;AAEhB,QAAA,MAAM,mBAAmB,YAAY;AACnC,UAAA,KAAA,MAAW,SAAS,eAAA,EAAiB;AACnC,YAAA,UAAA,CAAW,QAAQ,KAAkB,CAAA;AAAA,UACvC;AAAA,QACF,CAAA;AAGA,QAAA,MAAM,UAAA,GAAa,KAAK,kBAAA,EAAmB;AAC3C,QAAA,MAAM,MAAA,GAAS,WAAW,SAAA,EAAU;AAEpC,QAAA,MAAM,OAAO,YAAY;AACvB,UAAA,IAAI;AACF,YAAA,OAAO,IAAA,EAAM;AACX,cAAA,MAAM,EAAE,IAAA,EAAM,KAAA,EAAM,GAAI,MAAM,OAAO,IAAA,EAAK;AAC1C,cAAA,IAAI,IAAA,EAAM;AACR,gBAAA,UAAA,CAAW,KAAA,EAAM;AACjB,gBAAA;AAAA,cACF;AACA,cAAA,UAAA,CAAW,QAAQ,KAAK,CAAA;AAAA,YAC1B;AAAA,UACF,SAAS,KAAA,EAAO;AACd,YAAA,UAAA,CAAW,MAAM,KAAK,CAAA;AAAA,UACxB,CAAA,SAAE;AACA,YAAA,MAAA,CAAO,WAAA,EAAY;AAAA,UACrB;AAAA,QACF,CAAA;AAGA,QAAA,KAAK,gBAAA,EAAiB,CACnB,IAAA,CAAK,MAAM;AACV,UAAA,KAAK,IAAA,EAAK;AAAA,QACZ,CAAC,CAAA,CACA,KAAA,CAAM,CAAA,KAAA,KAAS;AACd,UAAA,UAAA,CAAW,MAAM,KAAK,CAAA;AAAA,QACxB,CAAC,CAAA;AAAA,MACL;AAAA,KACD,CAAA;AAED,IAAA,OAAO,cAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAOH,6BAAA,CAAY,OAAO,iCAAiC,CAAA;AAAA,EAC7D;AACF;AAEA,eAAsB,0BAAA,CAA2B;AAAA,EAC/C,MAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA,EAIG;AACD,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,qCAAqC,CAAA;AAAA,IAC/E;AAEA,IAAA,IAAI,CAAC,KAAK,IAAA,EAAM;AACd,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,oCAAoC,CAAA;AAAA,IAC9E;AAEA,IAAA,MAAM,EAAE,UAAS,GAAI,MAAM,uBAAuB,EAAE,MAAA,EAAQ,YAAY,CAAA;AAExE,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,GAAA,GAAM,MAAM,QAAA,CAAS,kBAAA,CAAmB,KAAK,CAAA;AAEnD,IAAA,IAAI,CAAC,GAAA,EAAK;AACR,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0BAA0B,CAAA;AAAA,IACpE;AAEA,IAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,cAAA,CAAe,EAAE,KAAA,EAAO,UAAA,EAAY,GAAA,CAAI,UAAA,EAAY,CAAA;AAChF,IAAA,MAAM,MAAA,GAAS,MAAM,IAAA,CAAK,MAAA,CAAO;AAAA,MAC/B,MAAM,IAAA,CAAK,IAAA;AAAA,MACX,YAAY,IAAA,CAAK,UAAA;AAAA,MACjB,cAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,OAAO,MAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAOD,6BAAA,CAAY,OAAO,8BAA8B,CAAA;AAAA,EAC1D;AACF;AAEA,eAAsB,qBAAA,CAAsB;AAAA,EAC1C,MAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA,EAIG;AACD,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,qCAAqC,CAAA;AAAA,IAC/E;AAEA,IAAA,IAAI,CAAC,KAAK,IAAA,EAAM;AACd,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,oCAAoC,CAAA;AAAA,IAC9E;AAEA,IAAA,MAAM,EAAE,UAAS,GAAI,MAAM,uBAAuB,EAAE,MAAA,EAAQ,YAAY,CAAA;AAExE,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,GAAA,GAAM,MAAM,QAAA,CAAS,kBAAA,CAAmB,KAAK,CAAA;AAEnD,IAAA,IAAI,CAAC,GAAA,EAAK;AACR,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0BAA0B,CAAA;AAAA,IACpE;AAEA,IAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,cAAA,CAAe,EAAE,KAAA,EAAO,UAAA,EAAY,GAAA,CAAI,UAAA,EAAY,CAAA;AAEhF,IAAA,KAAK,KAAK,MAAA,CAAO;AAAA,MACf,MAAM,IAAA,CAAK,IAAA;AAAA,MACX,YAAY,IAAA,CAAK,UAAA;AAAA,MACjB,cAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,OAAO,EAAE,SAAS,sBAAA,EAAuB;AAAA,EAC3C,SAAS,KAAA,EAAO;AACd,IAAA,OAAOD,6BAAA,CAAY,OAAO,yBAAyB,CAAA;AAAA,EACrD;AACF;AAEA,eAAsB,2BAAA,CAA4B;AAAA,EAChD,MAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA,EAIG;AACD,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,qCAAqC,CAAA;AAAA,IAC/E;AAEA,IAAA,IAAI,CAAC,KAAK,IAAA,EAAM;AACd,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,oCAAoC,CAAA;AAAA,IAC9E;AAEA,IAAA,MAAM,EAAE,UAAS,GAAI,MAAM,uBAAuB,EAAE,MAAA,EAAQ,YAAY,CAAA;AAExE,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,GAAA,GAAM,MAAM,QAAA,CAAS,kBAAA,CAAmB,KAAK,CAAA;AAEnD,IAAA,IAAI,CAAC,GAAA,EAAK;AACR,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0BAA0B,CAAA;AAAA,IACpE;AAEA,IAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,cAAA,CAAe,EAAE,KAAA,EAAO,UAAA,EAAY,GAAA,CAAI,UAAA,EAAY,CAAA;AAChF,IAAA,MAAM,WAAA,GAAc,OAAO,cAAA,EAAe;AAE1C,IAAA,MAAM,MAAA,GAAS,KAAK,iBAAA,CAAkB;AAAA,MACpC,MAAM,IAAA,CAAK,IAAA;AAAA,MACX,YAAY,IAAA,CAAK,UAAA;AAAA,MACjB,cAAA;AAAA,MACA,cAAA;AAAA,MACA,OAAA,EAAS,OAAM,KAAA,KAAS;AACtB,QAAA,IAAI,WAAA,EAAa;AACf,UAAA,MAAM,QAAA,GAAW,KAAA;AACjB,UAAA,MAAM,WAAA,CAAY,QAAA,CAAS,QAAA,EAAU,KAAK,CAAA;AAAA,QAC5C;AAAA,MACF;AAAA,KACD,CAAA;AAED,IAAA,OAAO,MAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAOD,6BAAA,CAAY,OAAO,yBAAyB,CAAA;AAAA,EACrD;AACF;AAEA,eAAsB,sBAAA,CAAuB;AAAA,EAC3C,MAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,EAM0B;AACxB,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,MAAM,EAAE,UAAS,GAAI,MAAM,uBAAuB,EAAE,MAAA,EAAQ,YAAY,CAAA;AAExE,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,YAAA,GAAgB,MAAM,QAAA,CAAS,eAAA,CAAgB,EAAE,QAAA,EAAU,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAQ,UAAA,EAAY,CAAA,IAAM;AAAA,MACxG,MAAM,EAAC;AAAA,MACP,KAAA,EAAO;AAAA,KACT;AACA,IAAA,OAAO,YAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,OAAOD,6BAAA,CAAY,OAAO,6BAA6B,CAAA;AAAA,EACzD;AACF;AAEA,eAAsB,wBAAA,CAAyB;AAAA,EAC7C,MAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA,EAA6D;AAC3D,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,yCAAyC,CAAA;AAAA,IACnF;AAEA,IAAA,MAAM,EAAE,UAAS,GAAI,MAAM,uBAAuB,EAAE,MAAA,EAAQ,YAAY,CAAA;AAExE,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,GAAA,GAAM,MAAM,QAAA,CAAS,kBAAA,CAAmB,KAAK,CAAA;AAEnD,IAAA,IAAI,CAAC,GAAA,EAAK;AACR,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0BAA0B,CAAA;AAAA,IACpE;AAEA,IAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,cAAA,CAAe,EAAE,KAAA,EAAO,UAAA,EAAY,GAAA,CAAI,UAAA,EAAY,CAAA;AAEhF,IAAA,MAAM,KAAK,MAAA,EAAO;AAElB,IAAA,OAAO,EAAE,SAAS,wBAAA,EAAyB;AAAA,EAC7C,SAAS,KAAA,EAAO;AACd,IAAA,OAAOD,6BAAA,CAAY,OAAO,8BAA8B,CAAA;AAAA,EAC1D;AACF;AAEA,eAAsB,2BAAA,CAA4B;AAAA,EAChD,MAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAGG;AACD,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,6CAA6C,CAAA;AAAA,IACvF;AAEA,IAAA,MAAM,EAAE,UAAS,GAAI,MAAM,uBAAuB,EAAE,MAAA,EAAQ,YAAY,CAAA;AAExE,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,GAAA,GAAM,MAAM,QAAA,CAAS,kBAAA,CAAmB,KAAK,CAAA;AAEnD,IAAA,IAAI,CAAC,GAAA,EAAK;AACR,MAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0BAA0B,CAAA;AAAA,IACpE;AAEA,IAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,cAAA,CAAe,EAAE,KAAA,EAAO,UAAA,EAAY,GAAA,CAAI,UAAA,EAAY,CAAA;AAEhF,IAAA,MAAM,IAAA,CAAK,SAAA,CAAU,KAAA,EAAO,IAAI,CAAA;AAEhC,IAAA,OAAO,EAAE,SAAS,yBAAA,EAA0B;AAAA,EAC9C,SAAS,KAAA,EAAO;AACd,IAAA,OAAOD,6BAAA,CAAY,OAAO,kCAAkC,CAAA;AAAA,EAC9D;AACF","file":"chunk-MQDBNHBT.cjs","sourcesContent":["import { ReadableStream, TransformStream } from 'node:stream/web';\nimport type { TracingOptions } from '@mastra/core/ai-tracing';\nimport type { RuntimeContext } from '@mastra/core/di';\nimport type { WorkflowRuns } from '@mastra/core/storage';\nimport type { Workflow, WatchEvent, WorkflowInfo, StreamEvent, ChunkType } from '@mastra/core/workflows';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\nimport { getWorkflowInfo, WorkflowRegistry } from '../utils';\nimport { handleError } from './error';\n\nexport interface WorkflowContext extends Context {\n workflowId?: string;\n runId?: string;\n}\n\nexport async function getWorkflowsHandler({ mastra }: WorkflowContext) {\n try {\n const workflows = mastra.getWorkflows({ serialized: false });\n const _workflows = Object.entries(workflows).reduce<Record<string, WorkflowInfo>>((acc, [key, workflow]) => {\n acc[key] = getWorkflowInfo(workflow);\n return acc;\n }, {});\n return _workflows;\n } catch (error) {\n return handleError(error, 'Error getting workflows');\n }\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 // First check registry for temporary workflows\n workflow = WorkflowRegistry.getWorkflow(workflowId);\n\n if (!workflow) {\n try {\n workflow = mastra.getWorkflow(workflowId);\n } catch (error) {\n logger.debug('Error getting workflow, searching agents for workflow', error);\n }\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<WorkflowInfo> {\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 getWorkflowInfo(workflow);\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 tracingOptions,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {\n inputData?: unknown;\n runtimeContext?: RuntimeContext;\n tracingOptions?: TracingOptions;\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 tracingOptions,\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 tracingOptions,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {\n inputData?: unknown;\n runtimeContext?: RuntimeContext;\n tracingOptions?: TracingOptions;\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, resourceId: run.resourceId });\n void _run.start({\n inputData,\n runtimeContext,\n tracingOptions,\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 eventType = 'watch',\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {\n eventType?: 'watch' | 'watch-v2';\n}): 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, resourceId: run.resourceId });\n let unwatch: () => void;\n let asyncRef: NodeJS.Immediate | null = null;\n const stream = new ReadableStream<string>({\n start(controller) {\n unwatch = _run.watch((event: any) => {\n const { type, payload, eventTimestamp } = event;\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 = eventType === 'watch' ? payload.workflowState.status !== 'running' : type === 'finish';\n if (runDone) {\n controller.close();\n unwatch?.();\n }\n });\n }, eventType);\n },\n cancel() {\n if (asyncRef) {\n clearImmediate(asyncRef);\n asyncRef = null;\n }\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 tracingOptions,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {\n inputData?: unknown;\n runtimeContext?: RuntimeContext;\n tracingOptions?: TracingOptions;\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 serverCache = mastra.getServerCache();\n\n const run = await workflow.createRunAsync({ runId });\n const result = run.stream({\n inputData,\n runtimeContext,\n onChunk: async chunk => {\n if (serverCache) {\n const cacheKey = runId;\n await serverCache.listPush(cacheKey, chunk);\n }\n },\n tracingOptions,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing workflow');\n }\n}\n\nexport async function observeStreamWorkflowHandler({\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 observe workflow stream' });\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, resourceId: run.resourceId });\n const serverCache = mastra.getServerCache();\n if (!serverCache) {\n throw new HTTPException(500, { message: 'Server cache not found' });\n }\n\n const transformStream = new TransformStream<StreamEvent, StreamEvent>();\n\n const writer = transformStream.writable.getWriter();\n\n const cachedRunChunks = await serverCache.listFromTo(runId, 0);\n\n for (const chunk of cachedRunChunks) {\n await writer.write(chunk as any);\n }\n\n writer.releaseLock();\n\n const result = _run.observeStream();\n return result.stream?.pipeThrough(transformStream);\n } catch (error) {\n return handleError(error, 'Error observing workflow stream');\n }\n}\n\nexport async function streamVNextWorkflowHandler({\n mastra,\n runtimeContext,\n workflowId,\n runId,\n inputData,\n closeOnSuspend,\n tracingOptions,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {\n inputData?: unknown;\n runtimeContext?: RuntimeContext;\n closeOnSuspend?: boolean;\n tracingOptions?: TracingOptions;\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 serverCache = mastra.getServerCache();\n\n const run = await workflow.createRunAsync({ runId });\n const result = run.streamVNext({\n inputData,\n runtimeContext,\n closeOnSuspend,\n onChunk: async chunk => {\n if (serverCache) {\n const cacheKey = runId;\n await serverCache.listPush(cacheKey, chunk);\n }\n },\n tracingOptions,\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error streaming workflow');\n }\n}\n\nexport async function observeStreamVNextWorkflowHandler({\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 observe workflow stream' });\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, resourceId: run.resourceId });\n const serverCache = mastra.getServerCache();\n if (!serverCache) {\n throw new HTTPException(500, { message: 'Server cache not found' });\n }\n\n // Get cached chunks first\n const cachedRunChunks = await serverCache.listFromTo(runId, 0);\n\n // Create a readable stream that first emits cached chunks, then the live stream\n const combinedStream = new ReadableStream<ChunkType>({\n start(controller) {\n // First, emit all cached chunks\n const emitCachedChunks = async () => {\n for (const chunk of cachedRunChunks) {\n controller.enqueue(chunk as ChunkType);\n }\n };\n\n // Then, pipe the live stream\n const liveStream = _run.observeStreamVNext();\n const reader = liveStream.getReader();\n\n const pump = async () => {\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n controller.close();\n break;\n }\n controller.enqueue(value);\n }\n } catch (error) {\n controller.error(error);\n } finally {\n reader.releaseLock();\n }\n };\n\n // Start with cached chunks, then live stream\n void emitCachedChunks()\n .then(() => {\n void pump();\n })\n .catch(error => {\n controller.error(error);\n });\n },\n });\n\n return combinedStream;\n } catch (error) {\n return handleError(error, 'Error observing workflow stream');\n }\n}\n\nexport async function resumeAsyncWorkflowHandler({\n mastra,\n workflowId,\n runId,\n body,\n runtimeContext,\n tracingOptions,\n}: WorkflowContext & {\n body: { step: string | string[]; resumeData?: unknown };\n runtimeContext?: RuntimeContext;\n tracingOptions?: TracingOptions;\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, resourceId: run.resourceId });\n const result = await _run.resume({\n step: body.step,\n resumeData: body.resumeData,\n runtimeContext,\n tracingOptions,\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 tracingOptions,\n}: WorkflowContext & {\n body: { step: string | string[]; resumeData?: unknown };\n runtimeContext?: RuntimeContext;\n tracingOptions?: TracingOptions;\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, resourceId: run.resourceId });\n\n void _run.resume({\n step: body.step,\n resumeData: body.resumeData,\n runtimeContext,\n tracingOptions,\n });\n\n return { message: 'Workflow run resumed' };\n } catch (error) {\n return handleError(error, 'Error resuming workflow');\n }\n}\n\nexport async function resumeStreamWorkflowHandler({\n mastra,\n workflowId,\n runId,\n body,\n runtimeContext,\n tracingOptions,\n}: WorkflowContext & {\n body: { step: string | string[]; resumeData?: unknown };\n runtimeContext?: RuntimeContext;\n tracingOptions?: TracingOptions;\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, resourceId: run.resourceId });\n const serverCache = mastra.getServerCache();\n\n const stream = _run.resumeStreamVNext({\n step: body.step,\n resumeData: body.resumeData,\n runtimeContext,\n tracingOptions,\n onChunk: async chunk => {\n if (serverCache) {\n const cacheKey = runId;\n await serverCache.listPush(cacheKey, chunk);\n }\n },\n });\n\n return stream;\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, resourceId: run.resourceId });\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, resourceId: run.resourceId });\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"]}
@@ -1,6 +1,6 @@
1
1
  import { handleError } from './chunk-CY4TP3FK.js';
2
2
  import { HTTPException } from './chunk-MMROOK5J.js';
3
- import { __export } from './chunk-G3PMV62Z.js';
3
+ import { __export } from './chunk-PR4QN5HX.js';
4
4
 
5
5
  // src/server/handlers/vector.ts
6
6
  var vector_exports = {};
@@ -119,5 +119,5 @@ async function deleteIndex({
119
119
  }
120
120
 
121
121
  export { createIndex, deleteIndex, describeIndex, listIndexes, queryVectors, upsertVectors, vector_exports };
122
- //# sourceMappingURL=chunk-WHN4VX55.js.map
123
- //# sourceMappingURL=chunk-WHN4VX55.js.map
122
+ //# sourceMappingURL=chunk-MYR4PVGN.js.map
123
+ //# sourceMappingURL=chunk-MYR4PVGN.js.map