@mastra/server 0.0.0-commonjs-20250414101718 → 0.0.0-configure-project-root-for-private-packages-20250919100548

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 (322) hide show
  1. package/CHANGELOG.md +3722 -0
  2. package/LICENSE.md +11 -42
  3. package/README.md +45 -137
  4. package/dist/chunk-3THIIWWW.cjs +484 -0
  5. package/dist/chunk-3THIIWWW.cjs.map +1 -0
  6. package/dist/{chunk-L7XE5QTW.js → chunk-4QCXUEAT.js} +11 -2
  7. package/dist/chunk-4QCXUEAT.js.map +1 -0
  8. package/dist/chunk-4RRMWXQ2.js +3522 -0
  9. package/dist/chunk-4RRMWXQ2.js.map +1 -0
  10. package/dist/chunk-5DP5XZH6.cjs +928 -0
  11. package/dist/chunk-5DP5XZH6.cjs.map +1 -0
  12. package/dist/chunk-5QUKZCEF.js +476 -0
  13. package/dist/chunk-5QUKZCEF.js.map +1 -0
  14. package/dist/chunk-66YYHFGF.js +761 -0
  15. package/dist/chunk-66YYHFGF.js.map +1 -0
  16. package/dist/chunk-6GMFZ5LK.js +2774 -0
  17. package/dist/chunk-6GMFZ5LK.js.map +1 -0
  18. package/dist/chunk-743UIDHI.cjs +2013 -0
  19. package/dist/chunk-743UIDHI.cjs.map +1 -0
  20. package/dist/{chunk-FV45V6WC.cjs → chunk-7NADHFD2.cjs} +3 -7
  21. package/dist/chunk-7NADHFD2.cjs.map +1 -0
  22. package/dist/chunk-7QEJ5QG5.js +151 -0
  23. package/dist/chunk-7QEJ5QG5.js.map +1 -0
  24. package/dist/chunk-A3AL7EWJ.js +83 -0
  25. package/dist/chunk-A3AL7EWJ.js.map +1 -0
  26. package/dist/chunk-AK2FXLLB.cjs +849 -0
  27. package/dist/chunk-AK2FXLLB.cjs.map +1 -0
  28. package/dist/chunk-CY4TP3FK.js +16 -0
  29. package/dist/chunk-CY4TP3FK.js.map +1 -0
  30. package/dist/chunk-EMMSS5I5.cjs +37 -0
  31. package/dist/chunk-EMMSS5I5.cjs.map +1 -0
  32. package/dist/chunk-EMNGA4R4.js +845 -0
  33. package/dist/chunk-EMNGA4R4.js.map +1 -0
  34. package/dist/chunk-FALVL2VV.cjs +3525 -0
  35. package/dist/chunk-FALVL2VV.cjs.map +1 -0
  36. package/dist/chunk-FQNT7PI4.js +937 -0
  37. package/dist/chunk-FQNT7PI4.js.map +1 -0
  38. package/dist/chunk-G3PMV62Z.js +33 -0
  39. package/dist/chunk-G3PMV62Z.js.map +1 -0
  40. package/dist/chunk-G4PUALCE.cjs +28 -0
  41. package/dist/chunk-G4PUALCE.cjs.map +1 -0
  42. package/dist/chunk-G7PLDFT6.js +15711 -0
  43. package/dist/chunk-G7PLDFT6.js.map +1 -0
  44. package/dist/chunk-GU4EWMZB.cjs +769 -0
  45. package/dist/chunk-GU4EWMZB.cjs.map +1 -0
  46. package/dist/chunk-GUI3CROV.cjs +159 -0
  47. package/dist/chunk-GUI3CROV.cjs.map +1 -0
  48. package/dist/chunk-HJ4EQIE6.cjs +15747 -0
  49. package/dist/chunk-HJ4EQIE6.cjs.map +1 -0
  50. package/dist/chunk-HJQKWRKQ.cjs +764 -0
  51. package/dist/chunk-HJQKWRKQ.cjs.map +1 -0
  52. package/dist/chunk-HVBBFCDH.cjs +2321 -0
  53. package/dist/chunk-HVBBFCDH.cjs.map +1 -0
  54. package/dist/chunk-HZJRQ5L3.cjs +1411 -0
  55. package/dist/chunk-HZJRQ5L3.cjs.map +1 -0
  56. package/dist/chunk-IGFMAZZ5.cjs +1150 -0
  57. package/dist/chunk-IGFMAZZ5.cjs.map +1 -0
  58. package/dist/chunk-ILESGJ6N.js +524 -0
  59. package/dist/chunk-ILESGJ6N.js.map +1 -0
  60. package/dist/chunk-IOQGI4ML.js +931 -0
  61. package/dist/chunk-IOQGI4ML.js.map +1 -0
  62. package/dist/chunk-J7BPKKOG.cjs +163 -0
  63. package/dist/chunk-J7BPKKOG.cjs.map +1 -0
  64. package/dist/{chunk-3RVHWGWO.js → chunk-JRDEOHAJ.js} +49 -22
  65. package/dist/chunk-JRDEOHAJ.js.map +1 -0
  66. package/dist/chunk-K4GZBPXF.js +676 -0
  67. package/dist/chunk-K4GZBPXF.js.map +1 -0
  68. package/dist/chunk-KNGXRN26.cjs +335 -0
  69. package/dist/chunk-KNGXRN26.cjs.map +1 -0
  70. package/dist/{chunk-DVPP5S6I.js → chunk-KV6VHX4V.js} +35 -10
  71. package/dist/chunk-KV6VHX4V.js.map +1 -0
  72. package/dist/chunk-L265APUD.cjs +69 -0
  73. package/dist/chunk-L265APUD.cjs.map +1 -0
  74. package/dist/chunk-LF2ZLOFP.js +767 -0
  75. package/dist/chunk-LF2ZLOFP.js.map +1 -0
  76. package/dist/chunk-LYPU75T6.js +1147 -0
  77. package/dist/chunk-LYPU75T6.js.map +1 -0
  78. package/dist/{chunk-TRDNDNGQ.js → chunk-MMROOK5J.js} +4 -7
  79. package/dist/chunk-MMROOK5J.js.map +1 -0
  80. package/dist/chunk-N35YCWQ5.cjs +540 -0
  81. package/dist/chunk-N35YCWQ5.cjs.map +1 -0
  82. package/dist/chunk-N7F33WAD.js +2290 -0
  83. package/dist/chunk-N7F33WAD.js.map +1 -0
  84. package/dist/chunk-NG5IVLEZ.js +1012 -0
  85. package/dist/chunk-NG5IVLEZ.js.map +1 -0
  86. package/dist/chunk-NLWACBE7.cjs +128 -0
  87. package/dist/chunk-NLWACBE7.cjs.map +1 -0
  88. package/dist/chunk-NZMDHQVP.cjs +697 -0
  89. package/dist/chunk-NZMDHQVP.cjs.map +1 -0
  90. package/dist/chunk-OGW6HHVI.js +1408 -0
  91. package/dist/chunk-OGW6HHVI.js.map +1 -0
  92. package/dist/chunk-OZLRIVC4.cjs +588 -0
  93. package/dist/chunk-OZLRIVC4.cjs.map +1 -0
  94. package/dist/chunk-P7CIEIJ3.js +925 -0
  95. package/dist/chunk-P7CIEIJ3.js.map +1 -0
  96. package/dist/chunk-P7RBMCBE.cjs +934 -0
  97. package/dist/chunk-P7RBMCBE.cjs.map +1 -0
  98. package/dist/chunk-PPYGWINI.cjs +2777 -0
  99. package/dist/chunk-PPYGWINI.cjs.map +1 -0
  100. package/dist/{chunk-CWSDZEZG.cjs → chunk-PWTXZZTR.cjs} +39 -13
  101. package/dist/chunk-PWTXZZTR.cjs.map +1 -0
  102. package/dist/chunk-R7NOGUZG.js +65 -0
  103. package/dist/chunk-R7NOGUZG.js.map +1 -0
  104. package/dist/chunk-RCHEPTZZ.js +2006 -0
  105. package/dist/chunk-RCHEPTZZ.js.map +1 -0
  106. package/dist/chunk-RE4RPXT2.cjs +18 -0
  107. package/dist/chunk-RE4RPXT2.cjs.map +1 -0
  108. package/dist/chunk-SIGXR3JT.cjs +1043 -0
  109. package/dist/chunk-SIGXR3JT.cjs.map +1 -0
  110. package/dist/chunk-SPLSYTYW.cjs +88 -0
  111. package/dist/chunk-SPLSYTYW.cjs.map +1 -0
  112. package/dist/chunk-SQY4T6EJ.js +571 -0
  113. package/dist/chunk-SQY4T6EJ.js.map +1 -0
  114. package/dist/{chunk-YNSGUC2O.js → chunk-SYRRSBGL.js} +54 -14
  115. package/dist/chunk-SYRRSBGL.js.map +1 -0
  116. package/dist/{chunk-M56ECCHK.cjs → chunk-T3TIA3O6.cjs} +22 -19
  117. package/dist/chunk-T3TIA3O6.cjs.map +1 -0
  118. package/dist/{chunk-OPP7H5TW.js → chunk-TTHEEIZ3.js} +92 -74
  119. package/dist/chunk-TTHEEIZ3.js.map +1 -0
  120. package/dist/chunk-TVSIG4JE.cjs +940 -0
  121. package/dist/chunk-TVSIG4JE.cjs.map +1 -0
  122. package/dist/{chunk-4JINXASC.js → chunk-WHN4VX55.js} +7 -4
  123. package/dist/chunk-WHN4VX55.js.map +1 -0
  124. package/dist/dist-26HWEQY6.js +3 -0
  125. package/dist/dist-26HWEQY6.js.map +1 -0
  126. package/dist/dist-3A5DXB37.cjs +20 -0
  127. package/dist/dist-3A5DXB37.cjs.map +1 -0
  128. package/dist/dist-3SJKQJGY.cjs +16 -0
  129. package/dist/dist-3SJKQJGY.cjs.map +1 -0
  130. package/dist/dist-4ZQSPE5K.js +3 -0
  131. package/dist/dist-4ZQSPE5K.js.map +1 -0
  132. package/dist/dist-5W5QNRTD.js +3 -0
  133. package/dist/dist-5W5QNRTD.js.map +1 -0
  134. package/dist/dist-653SRMPL.js +3 -0
  135. package/dist/dist-653SRMPL.js.map +1 -0
  136. package/dist/dist-6U6EFC5C.cjs +16 -0
  137. package/dist/dist-6U6EFC5C.cjs.map +1 -0
  138. package/dist/dist-7IHNNYMF.cjs +16 -0
  139. package/dist/dist-7IHNNYMF.cjs.map +1 -0
  140. package/dist/dist-B5IPRF6W.js +3 -0
  141. package/dist/dist-B5IPRF6W.js.map +1 -0
  142. package/dist/dist-EOMYFT4Y.cjs +16 -0
  143. package/dist/dist-EOMYFT4Y.cjs.map +1 -0
  144. package/dist/dist-EZZMMMNT.cjs +16 -0
  145. package/dist/dist-EZZMMMNT.cjs.map +1 -0
  146. package/dist/dist-F2ET4MNO.cjs +16 -0
  147. package/dist/dist-F2ET4MNO.cjs.map +1 -0
  148. package/dist/dist-H64VX6DE.js +3 -0
  149. package/dist/dist-H64VX6DE.js.map +1 -0
  150. package/dist/dist-HY7RMLJQ.cjs +16 -0
  151. package/dist/dist-HY7RMLJQ.cjs.map +1 -0
  152. package/dist/dist-M6S4P3FJ.js +3 -0
  153. package/dist/dist-M6S4P3FJ.js.map +1 -0
  154. package/dist/dist-NR7QSCQT.js +3 -0
  155. package/dist/dist-NR7QSCQT.js.map +1 -0
  156. package/dist/dist-QLFMCMCX.js +3 -0
  157. package/dist/dist-QLFMCMCX.js.map +1 -0
  158. package/dist/dist-UY46BFRP.js +3 -0
  159. package/dist/dist-UY46BFRP.js.map +1 -0
  160. package/dist/dist-WCQDRTIV.cjs +16 -0
  161. package/dist/dist-WCQDRTIV.cjs.map +1 -0
  162. package/dist/dist-WKYB3LTJ.cjs +16 -0
  163. package/dist/dist-WKYB3LTJ.cjs.map +1 -0
  164. package/dist/index.cjs +6 -0
  165. package/dist/index.cjs.map +1 -0
  166. package/dist/index.d.ts +1 -0
  167. package/dist/index.d.ts.map +1 -0
  168. package/dist/index.js +5 -0
  169. package/dist/index.js.map +1 -0
  170. package/dist/server/a2a/protocol.d.ts +8 -0
  171. package/dist/server/a2a/protocol.d.ts.map +1 -0
  172. package/dist/server/a2a/store.cjs +25 -0
  173. package/dist/server/a2a/store.cjs.map +1 -0
  174. package/dist/server/a2a/store.d.ts +14 -0
  175. package/dist/server/a2a/store.d.ts.map +1 -0
  176. package/dist/server/a2a/store.js +23 -0
  177. package/dist/server/a2a/store.js.map +1 -0
  178. package/dist/server/a2a/tasks.d.ts +20 -0
  179. package/dist/server/a2a/tasks.d.ts.map +1 -0
  180. package/dist/server/handlers/a2a.cjs +32 -0
  181. package/dist/server/handlers/a2a.cjs.map +1 -0
  182. package/dist/server/handlers/a2a.d.ts +68 -0
  183. package/dist/server/handlers/a2a.d.ts.map +1 -0
  184. package/dist/server/handlers/a2a.js +3 -0
  185. package/dist/server/handlers/a2a.js.map +1 -0
  186. package/dist/server/handlers/agent-builder.cjs +68 -0
  187. package/dist/server/handlers/agent-builder.cjs.map +1 -0
  188. package/dist/server/handlers/agent-builder.d.ts +88 -0
  189. package/dist/server/handlers/agent-builder.d.ts.map +1 -0
  190. package/dist/server/handlers/agent-builder.js +3 -0
  191. package/dist/server/handlers/agent-builder.js.map +1 -0
  192. package/dist/server/handlers/agents.cjs +41 -7
  193. package/dist/server/handlers/agents.cjs.map +1 -0
  194. package/dist/server/handlers/agents.d.ts +139 -6
  195. package/dist/server/handlers/agents.d.ts.map +1 -0
  196. package/dist/server/handlers/agents.js +3 -1
  197. package/dist/server/handlers/agents.js.map +1 -0
  198. package/dist/server/handlers/error.cjs +4 -2
  199. package/dist/server/handlers/error.cjs.map +1 -0
  200. package/dist/server/handlers/error.d.ts +2 -1
  201. package/dist/server/handlers/error.d.ts.map +1 -0
  202. package/dist/server/handlers/error.js +3 -1
  203. package/dist/server/handlers/error.js.map +1 -0
  204. package/dist/server/handlers/legacyWorkflows.cjs +48 -0
  205. package/dist/server/handlers/legacyWorkflows.cjs.map +1 -0
  206. package/dist/server/handlers/legacyWorkflows.d.ts +59 -0
  207. package/dist/server/handlers/legacyWorkflows.d.ts.map +1 -0
  208. package/dist/server/handlers/legacyWorkflows.js +3 -0
  209. package/dist/server/handlers/legacyWorkflows.js.map +1 -0
  210. package/dist/server/handlers/logs.cjs +6 -4
  211. package/dist/server/handlers/logs.cjs.map +1 -0
  212. package/dist/server/handlers/logs.d.ts +34 -3
  213. package/dist/server/handlers/logs.d.ts.map +1 -0
  214. package/dist/server/handlers/logs.js +3 -1
  215. package/dist/server/handlers/logs.js.map +1 -0
  216. package/dist/server/handlers/memory.cjs +39 -9
  217. package/dist/server/handlers/memory.cjs.map +1 -0
  218. package/dist/server/handlers/memory.d.ts +118 -8
  219. package/dist/server/handlers/memory.d.ts.map +1 -0
  220. package/dist/server/handlers/memory.js +3 -1
  221. package/dist/server/handlers/memory.js.map +1 -0
  222. package/dist/server/handlers/observability.cjs +16 -0
  223. package/dist/server/handlers/observability.cjs.map +1 -0
  224. package/dist/server/handlers/observability.d.ts +23 -0
  225. package/dist/server/handlers/observability.d.ts.map +1 -0
  226. package/dist/server/handlers/observability.js +3 -0
  227. package/dist/server/handlers/observability.js.map +1 -0
  228. package/dist/server/handlers/scores.cjs +32 -0
  229. package/dist/server/handlers/scores.cjs.map +1 -0
  230. package/dist/server/handlers/scores.d.ts +49 -0
  231. package/dist/server/handlers/scores.d.ts.map +1 -0
  232. package/dist/server/handlers/scores.js +3 -0
  233. package/dist/server/handlers/scores.js.map +1 -0
  234. package/dist/server/handlers/telemetry.cjs +9 -3
  235. package/dist/server/handlers/telemetry.cjs.map +1 -0
  236. package/dist/server/handlers/telemetry.d.ts +33 -2
  237. package/dist/server/handlers/telemetry.d.ts.map +1 -0
  238. package/dist/server/handlers/telemetry.js +3 -1
  239. package/dist/server/handlers/telemetry.js.map +1 -0
  240. package/dist/server/handlers/tools.cjs +11 -5
  241. package/dist/server/handlers/tools.cjs.map +1 -0
  242. package/dist/server/handlers/tools.d.ts +25 -4
  243. package/dist/server/handlers/tools.d.ts.map +1 -0
  244. package/dist/server/handlers/tools.js +3 -1
  245. package/dist/server/handlers/tools.js.map +1 -0
  246. package/dist/server/handlers/utils.cjs +8 -2
  247. package/dist/server/handlers/utils.cjs.map +1 -0
  248. package/dist/server/handlers/utils.d.ts +8 -1
  249. package/dist/server/handlers/utils.d.ts.map +1 -0
  250. package/dist/server/handlers/utils.js +3 -1
  251. package/dist/server/handlers/utils.js.map +1 -0
  252. package/dist/server/handlers/vNextNetwork.cjs +220 -0
  253. package/dist/server/handlers/vNextNetwork.cjs.map +1 -0
  254. package/dist/server/handlers/vNextNetwork.d.ts +246 -0
  255. package/dist/server/handlers/vNextNetwork.d.ts.map +1 -0
  256. package/dist/server/handlers/vNextNetwork.js +213 -0
  257. package/dist/server/handlers/vNextNetwork.js.map +1 -0
  258. package/dist/server/handlers/vector.cjs +9 -7
  259. package/dist/server/handlers/vector.cjs.map +1 -0
  260. package/dist/server/handlers/vector.d.ts +51 -6
  261. package/dist/server/handlers/vector.d.ts.map +1 -0
  262. package/dist/server/handlers/vector.js +3 -1
  263. package/dist/server/handlers/vector.js.map +1 -0
  264. package/dist/server/handlers/voice.cjs +10 -4
  265. package/dist/server/handlers/voice.cjs.map +1 -0
  266. package/dist/server/handlers/voice.d.ts +41 -3
  267. package/dist/server/handlers/voice.d.ts.map +1 -0
  268. package/dist/server/handlers/voice.js +3 -1
  269. package/dist/server/handlers/voice.js.map +1 -0
  270. package/dist/server/handlers/workflows.cjs +43 -13
  271. package/dist/server/handlers/workflows.cjs.map +1 -0
  272. package/dist/server/handlers/workflows.d.ts +82 -10
  273. package/dist/server/handlers/workflows.d.ts.map +1 -0
  274. package/dist/server/handlers/workflows.js +3 -1
  275. package/dist/server/handlers/workflows.js.map +1 -0
  276. package/dist/server/handlers.cjs +49 -27
  277. package/dist/server/handlers.cjs.map +1 -0
  278. package/dist/server/handlers.d.ts +14 -9
  279. package/dist/server/handlers.d.ts.map +1 -0
  280. package/dist/server/handlers.js +15 -9
  281. package/dist/server/handlers.js.map +1 -0
  282. package/dist/server/http-exception.d.ts +87 -0
  283. package/dist/server/http-exception.d.ts.map +1 -0
  284. package/dist/server/types.d.ts +10 -0
  285. package/dist/server/types.d.ts.map +1 -0
  286. package/dist/server/utils.d.ts +42 -0
  287. package/dist/server/utils.d.ts.map +1 -0
  288. package/package.json +51 -19
  289. package/dist/_tsup-dts-rollup.d.cts +0 -571
  290. package/dist/_tsup-dts-rollup.d.ts +0 -571
  291. package/dist/chunk-2FJURXCL.cjs +0 -213
  292. package/dist/chunk-3AHQ5RGN.js +0 -11
  293. package/dist/chunk-3EJZQ6TQ.js +0 -49
  294. package/dist/chunk-4C3EPMMF.cjs +0 -122
  295. package/dist/chunk-67WTHYAV.js +0 -156
  296. package/dist/chunk-A7DF4ETD.cjs +0 -100
  297. package/dist/chunk-B64YROKU.cjs +0 -317
  298. package/dist/chunk-JLDXUWK7.cjs +0 -126
  299. package/dist/chunk-QH6XWSXP.cjs +0 -5579
  300. package/dist/chunk-QN4KF3BH.cjs +0 -18
  301. package/dist/chunk-RBQASTUP.js +0 -203
  302. package/dist/chunk-SKBVVI24.cjs +0 -54
  303. package/dist/chunk-VK6FX47H.js +0 -5576
  304. package/dist/chunk-YANVFOYA.js +0 -120
  305. package/dist/chunk-Z46X3YCB.cjs +0 -164
  306. package/dist/chunk-ZLBRQFDD.cjs +0 -13
  307. package/dist/index.d.cts +0 -1
  308. package/dist/server/handlers/agents.d.cts +0 -6
  309. package/dist/server/handlers/error.d.cts +0 -1
  310. package/dist/server/handlers/logs.d.cts +0 -3
  311. package/dist/server/handlers/memory.d.cts +0 -8
  312. package/dist/server/handlers/network.cjs +0 -22
  313. package/dist/server/handlers/network.d.cts +0 -4
  314. package/dist/server/handlers/network.d.ts +0 -4
  315. package/dist/server/handlers/network.js +0 -1
  316. package/dist/server/handlers/telemetry.d.cts +0 -2
  317. package/dist/server/handlers/tools.d.cts +0 -4
  318. package/dist/server/handlers/utils.d.cts +0 -1
  319. package/dist/server/handlers/vector.d.cts +0 -6
  320. package/dist/server/handlers/voice.d.cts +0 -3
  321. package/dist/server/handlers/workflows.d.cts +0 -10
  322. package/dist/server/handlers.d.cts +0 -9
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/workflows.ts","../src/server/utils.ts"],"names":[],"mappings":"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","file":"chunk-K4GZBPXF.js","sourcesContent":["import { ReadableStream, TransformStream } from 'node:stream/web';\nimport type { RuntimeContext } from '@mastra/core/di';\nimport type { WorkflowRuns } from '@mastra/core/storage';\nimport type { Workflow, WatchEvent, WorkflowInfo, StreamEvent } 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}: 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 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 });\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}: 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 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 });\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 });\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}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {\n inputData?: unknown;\n runtimeContext?: RuntimeContext;\n closeOnSuspend?: boolean;\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 closeOnSuspend,\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 resumeStreamWorkflowHandler({\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 const stream = await _run.resumeStreamVNext({\n step: body.step,\n resumeData: body.resumeData,\n runtimeContext,\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 });\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","import { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport type { StepWithComponent, Workflow, WorkflowInfo } from '@mastra/core/workflows';\nimport { stringify } from 'superjson';\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 function getWorkflowInfo(workflow: Workflow): WorkflowInfo {\n return {\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}\n\n/**\n * Workflow Registry for temporarily registering additional workflows\n * that are not part of the user's Mastra instance (e.g., internal template workflows)\n */\nexport class WorkflowRegistry {\n private static additionalWorkflows: Record<string, Workflow> = {};\n\n /**\n * Register a workflow temporarily\n */\n static registerTemporaryWorkflow(id: string, workflow: Workflow): void {\n this.additionalWorkflows[id] = workflow;\n }\n\n /**\n * Register all workflows from map\n */\n static registerTemporaryWorkflows(workflows: Record<string, Workflow>, mastra?: any): void {\n for (const [id, workflow] of Object.entries(workflows)) {\n // Register Mastra instance with the workflow if provided\n if (mastra) {\n workflow.__registerMastra(mastra);\n workflow.__registerPrimitives({\n logger: mastra.getLogger(),\n telemetry: mastra.getTelemetry(),\n storage: mastra.getStorage(),\n memory: mastra.getMemory(),\n agents: mastra.getAgents(),\n tts: mastra.getTTS(),\n vectors: mastra.getVectors(),\n });\n }\n this.additionalWorkflows[id] = workflow;\n }\n }\n\n /**\n * Get a workflow by ID from the registry (returns undefined if not found)\n */\n static getWorkflow(workflowId: string): Workflow | undefined {\n return this.additionalWorkflows[workflowId];\n }\n\n /**\n * Get all workflows from the registry\n */\n static getAllWorkflows(): Record<string, Workflow> {\n return { ...this.additionalWorkflows };\n }\n\n /**\n * Clean up a temporary workflow\n */\n static cleanupTemporaryWorkflow(workflowId: string): void {\n delete this.additionalWorkflows[workflowId];\n }\n /**\n * Clean up all registered workflows\n */\n static cleanup(): void {\n // Clear all workflows (since we register all agent-builder workflows each time)\n this.additionalWorkflows = {};\n }\n\n /**\n * Check if a workflow ID is a valid agent-builder workflow\n */\n static isAgentBuilderWorkflow(workflowId: string): boolean {\n return workflowId in this.additionalWorkflows;\n }\n\n /**\n * Get all registered temporary workflow IDs (for debugging)\n */\n static getRegisteredWorkflowIds(): string[] {\n return Object.keys(this.additionalWorkflows);\n }\n}\n"]}
@@ -0,0 +1,335 @@
1
+ 'use strict';
2
+
3
+ var chunkGU4EWMZB_cjs = require('./chunk-GU4EWMZB.cjs');
4
+ var chunkRE4RPXT2_cjs = require('./chunk-RE4RPXT2.cjs');
5
+ var chunk7NADHFD2_cjs = require('./chunk-7NADHFD2.cjs');
6
+ var chunkEMMSS5I5_cjs = require('./chunk-EMMSS5I5.cjs');
7
+ var web = require('stream/web');
8
+ var zodToJson = require('@mastra/core/utils/zod-to-json');
9
+
10
+ // src/server/handlers/legacyWorkflows.ts
11
+ var legacyWorkflows_exports = {};
12
+ chunkEMMSS5I5_cjs.__export(legacyWorkflows_exports, {
13
+ createLegacyWorkflowRunHandler: () => createLegacyWorkflowRunHandler,
14
+ getLegacyWorkflowByIdHandler: () => getLegacyWorkflowByIdHandler,
15
+ getLegacyWorkflowRunHandler: () => getLegacyWorkflowRunHandler,
16
+ getLegacyWorkflowRunsHandler: () => getLegacyWorkflowRunsHandler,
17
+ getLegacyWorkflowsHandler: () => getLegacyWorkflowsHandler,
18
+ resumeAsyncLegacyWorkflowHandler: () => resumeAsyncLegacyWorkflowHandler,
19
+ resumeLegacyWorkflowHandler: () => resumeLegacyWorkflowHandler,
20
+ startAsyncLegacyWorkflowHandler: () => startAsyncLegacyWorkflowHandler,
21
+ startLegacyWorkflowRunHandler: () => startLegacyWorkflowRunHandler,
22
+ watchLegacyWorkflowHandler: () => watchLegacyWorkflowHandler
23
+ });
24
+ async function getLegacyWorkflowsHandler({ mastra }) {
25
+ try {
26
+ const workflows = mastra.legacy_getWorkflows({ serialized: false });
27
+ const _workflows = Object.entries(workflows).reduce((acc, [key, workflow]) => {
28
+ if (workflow.isNested) return acc;
29
+ acc[key] = {
30
+ stepGraph: workflow.stepGraph,
31
+ stepSubscriberGraph: workflow.stepSubscriberGraph,
32
+ serializedStepGraph: workflow.serializedStepGraph,
33
+ serializedStepSubscriberGraph: workflow.serializedStepSubscriberGraph,
34
+ name: workflow.name,
35
+ triggerSchema: workflow.triggerSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(workflow.triggerSchema)) : void 0,
36
+ steps: Object.entries(workflow.steps).reduce((acc2, [key2, step]) => {
37
+ const _step = step;
38
+ acc2[key2] = {
39
+ id: _step.id,
40
+ description: _step.description,
41
+ workflowId: _step.workflowId,
42
+ inputSchema: _step.inputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(_step.inputSchema)) : void 0,
43
+ outputSchema: _step.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(_step.outputSchema)) : void 0
44
+ };
45
+ return acc2;
46
+ }, {})
47
+ };
48
+ return acc;
49
+ }, {});
50
+ return _workflows;
51
+ } catch (error) {
52
+ return chunkRE4RPXT2_cjs.handleError(error, "error getting workflows");
53
+ }
54
+ }
55
+ async function getLegacyWorkflowByIdHandler({ mastra, workflowId }) {
56
+ try {
57
+ if (!workflowId) {
58
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
59
+ }
60
+ const workflow = mastra.legacy_getWorkflow(workflowId);
61
+ if (!workflow) {
62
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow not found" });
63
+ }
64
+ return {
65
+ stepGraph: workflow.stepGraph,
66
+ stepSubscriberGraph: workflow.stepSubscriberGraph,
67
+ serializedStepGraph: workflow.serializedStepGraph,
68
+ serializedStepSubscriberGraph: workflow.serializedStepSubscriberGraph,
69
+ name: workflow.name,
70
+ triggerSchema: workflow.triggerSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(workflow.triggerSchema)) : void 0,
71
+ steps: Object.entries(workflow.steps).reduce((acc, [key, step]) => {
72
+ const _step = step;
73
+ acc[key] = {
74
+ id: _step.id,
75
+ description: _step.description,
76
+ workflowId: _step.workflowId,
77
+ inputSchema: _step.inputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(_step.inputSchema)) : void 0,
78
+ outputSchema: _step.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(_step.outputSchema)) : void 0
79
+ };
80
+ return acc;
81
+ }, {})
82
+ };
83
+ } catch (error) {
84
+ return chunkRE4RPXT2_cjs.handleError(error, "error getting workflow by id");
85
+ }
86
+ }
87
+ async function startAsyncLegacyWorkflowHandler({
88
+ mastra,
89
+ runtimeContext,
90
+ workflowId,
91
+ runId,
92
+ triggerData
93
+ }) {
94
+ try {
95
+ if (!workflowId) {
96
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
97
+ }
98
+ const workflow = mastra.legacy_getWorkflow(workflowId);
99
+ if (!workflow) {
100
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow not found" });
101
+ }
102
+ if (!runId) {
103
+ const newRun = workflow.createRun();
104
+ const result2 = await newRun.start({
105
+ triggerData,
106
+ runtimeContext
107
+ });
108
+ return result2;
109
+ }
110
+ const run = workflow.getMemoryRun(runId);
111
+ if (!run) {
112
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
113
+ }
114
+ const result = await run.start({
115
+ triggerData,
116
+ runtimeContext
117
+ });
118
+ return result;
119
+ } catch (error) {
120
+ return chunkRE4RPXT2_cjs.handleError(error, "error starting workflow");
121
+ }
122
+ }
123
+ async function getLegacyWorkflowRunHandler({
124
+ mastra,
125
+ workflowId,
126
+ runId
127
+ }) {
128
+ try {
129
+ if (!workflowId) {
130
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
131
+ }
132
+ if (!runId) {
133
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Run ID is required" });
134
+ }
135
+ const workflow = mastra.legacy_getWorkflow(workflowId);
136
+ if (!workflow) {
137
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow not found" });
138
+ }
139
+ const run = await workflow.getRun(runId);
140
+ if (!run) {
141
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
142
+ }
143
+ return run;
144
+ } catch (error) {
145
+ return chunkRE4RPXT2_cjs.handleError(error, "error getting workflow run");
146
+ }
147
+ }
148
+ async function createLegacyWorkflowRunHandler({
149
+ mastra,
150
+ workflowId,
151
+ runId: prevRunId
152
+ }) {
153
+ try {
154
+ if (!workflowId) {
155
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
156
+ }
157
+ const workflow = mastra.legacy_getWorkflow(workflowId);
158
+ if (!workflow) {
159
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow not found" });
160
+ }
161
+ const newRun = workflow.createRun({ runId: prevRunId });
162
+ return { runId: newRun.runId };
163
+ } catch (error) {
164
+ return chunkRE4RPXT2_cjs.handleError(error, "error creating workflow run");
165
+ }
166
+ }
167
+ async function startLegacyWorkflowRunHandler({
168
+ mastra,
169
+ runtimeContext,
170
+ workflowId,
171
+ runId,
172
+ triggerData
173
+ }) {
174
+ try {
175
+ if (!workflowId) {
176
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
177
+ }
178
+ if (!runId) {
179
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "runId required to start run" });
180
+ }
181
+ const workflow = mastra.legacy_getWorkflow(workflowId);
182
+ const run = workflow.getMemoryRun(runId);
183
+ if (!run) {
184
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
185
+ }
186
+ void run.start({
187
+ triggerData,
188
+ runtimeContext
189
+ });
190
+ return { message: "Workflow run started" };
191
+ } catch (e) {
192
+ return chunkRE4RPXT2_cjs.handleError(e, "Error starting workflow run");
193
+ }
194
+ }
195
+ async function watchLegacyWorkflowHandler({
196
+ mastra,
197
+ workflowId,
198
+ runId
199
+ }) {
200
+ try {
201
+ if (!workflowId) {
202
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
203
+ }
204
+ if (!runId) {
205
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "runId required to watch workflow" });
206
+ }
207
+ const workflow = mastra.legacy_getWorkflow(workflowId);
208
+ const run = workflow.getMemoryRun(runId);
209
+ if (!run) {
210
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
211
+ }
212
+ let unwatch;
213
+ let asyncRef = null;
214
+ const stream = new web.ReadableStream({
215
+ start(controller) {
216
+ unwatch = run.watch(({ activePaths, runId: runId2, timestamp, results }) => {
217
+ const activePathsObj = Object.fromEntries(activePaths);
218
+ controller.enqueue(JSON.stringify({ activePaths: activePathsObj, runId: runId2, timestamp, results }));
219
+ if (asyncRef) {
220
+ clearImmediate(asyncRef);
221
+ asyncRef = null;
222
+ }
223
+ asyncRef = setImmediate(() => {
224
+ const runDone = Object.values(activePathsObj).every((value) => value.status !== "executing");
225
+ if (runDone) {
226
+ controller.close();
227
+ unwatch?.();
228
+ }
229
+ });
230
+ });
231
+ },
232
+ cancel() {
233
+ unwatch?.();
234
+ }
235
+ });
236
+ return stream;
237
+ } catch (error) {
238
+ return chunkRE4RPXT2_cjs.handleError(error, "Error watching workflow");
239
+ }
240
+ }
241
+ async function resumeAsyncLegacyWorkflowHandler({
242
+ mastra,
243
+ workflowId,
244
+ runId,
245
+ body,
246
+ runtimeContext
247
+ }) {
248
+ try {
249
+ if (!workflowId) {
250
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
251
+ }
252
+ if (!runId) {
253
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "runId required to resume workflow" });
254
+ }
255
+ const workflow = mastra.legacy_getWorkflow(workflowId);
256
+ const run = workflow.getMemoryRun(runId);
257
+ if (!run) {
258
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
259
+ }
260
+ const result = await run.resume({
261
+ stepId: body.stepId,
262
+ context: body.context,
263
+ runtimeContext
264
+ });
265
+ return result;
266
+ } catch (error) {
267
+ return chunkRE4RPXT2_cjs.handleError(error, "Error resuming workflow step");
268
+ }
269
+ }
270
+ async function resumeLegacyWorkflowHandler({
271
+ mastra,
272
+ workflowId,
273
+ runId,
274
+ body,
275
+ runtimeContext
276
+ }) {
277
+ try {
278
+ if (!workflowId) {
279
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
280
+ }
281
+ if (!runId) {
282
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "runId required to resume workflow" });
283
+ }
284
+ const workflow = mastra.legacy_getWorkflow(workflowId);
285
+ const run = workflow.getMemoryRun(runId);
286
+ if (!run) {
287
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
288
+ }
289
+ void run.resume({
290
+ stepId: body.stepId,
291
+ context: body.context,
292
+ runtimeContext
293
+ });
294
+ return { message: "Workflow run resumed" };
295
+ } catch (error) {
296
+ return chunkRE4RPXT2_cjs.handleError(error, "Error resuming workflow");
297
+ }
298
+ }
299
+ async function getLegacyWorkflowRunsHandler({
300
+ mastra,
301
+ workflowId,
302
+ fromDate,
303
+ toDate,
304
+ limit,
305
+ offset,
306
+ resourceId
307
+ }) {
308
+ try {
309
+ if (!workflowId) {
310
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
311
+ }
312
+ const workflow = mastra.legacy_getWorkflow(workflowId);
313
+ const workflowRuns = await workflow.getWorkflowRuns({ fromDate, toDate, limit, offset, resourceId }) || {
314
+ runs: [],
315
+ total: 0
316
+ };
317
+ return workflowRuns;
318
+ } catch (error) {
319
+ return chunkRE4RPXT2_cjs.handleError(error, "Error getting workflow runs");
320
+ }
321
+ }
322
+
323
+ exports.createLegacyWorkflowRunHandler = createLegacyWorkflowRunHandler;
324
+ exports.getLegacyWorkflowByIdHandler = getLegacyWorkflowByIdHandler;
325
+ exports.getLegacyWorkflowRunHandler = getLegacyWorkflowRunHandler;
326
+ exports.getLegacyWorkflowRunsHandler = getLegacyWorkflowRunsHandler;
327
+ exports.getLegacyWorkflowsHandler = getLegacyWorkflowsHandler;
328
+ exports.legacyWorkflows_exports = legacyWorkflows_exports;
329
+ exports.resumeAsyncLegacyWorkflowHandler = resumeAsyncLegacyWorkflowHandler;
330
+ exports.resumeLegacyWorkflowHandler = resumeLegacyWorkflowHandler;
331
+ exports.startAsyncLegacyWorkflowHandler = startAsyncLegacyWorkflowHandler;
332
+ exports.startLegacyWorkflowRunHandler = startLegacyWorkflowRunHandler;
333
+ exports.watchLegacyWorkflowHandler = watchLegacyWorkflowHandler;
334
+ //# sourceMappingURL=chunk-KNGXRN26.cjs.map
335
+ //# sourceMappingURL=chunk-KNGXRN26.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/legacyWorkflows.ts"],"names":["__export","stringify","zodToJsonSchema","acc","key","handleError","HTTPException","result","ReadableStream","runId"],"mappings":"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","file":"chunk-KNGXRN26.cjs","sourcesContent":["import { ReadableStream } from 'node:stream/web';\nimport type { RuntimeContext } from '@mastra/core/runtime-context';\nimport type { LegacyWorkflowRuns } from '@mastra/core/storage';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport type { LegacyWorkflow } from '@mastra/core/workflows/legacy';\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\nexport async function getLegacyWorkflowsHandler({ mastra }: WorkflowContext) {\n try {\n const workflows = mastra.legacy_getWorkflows({ serialized: false });\n const _workflows = Object.entries(workflows).reduce<any>((acc, [key, workflow]) => {\n if (workflow.isNested) return acc;\n acc[key] = {\n stepGraph: workflow.stepGraph,\n stepSubscriberGraph: workflow.stepSubscriberGraph,\n serializedStepGraph: workflow.serializedStepGraph,\n serializedStepSubscriberGraph: workflow.serializedStepSubscriberGraph,\n name: workflow.name,\n triggerSchema: workflow.triggerSchema ? stringify(zodToJsonSchema(workflow.triggerSchema)) : undefined,\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n const _step = step as any;\n acc[key] = {\n id: _step.id,\n description: _step.description,\n workflowId: _step.workflowId,\n inputSchema: _step.inputSchema ? stringify(zodToJsonSchema(_step.inputSchema)) : undefined,\n outputSchema: _step.outputSchema ? stringify(zodToJsonSchema(_step.outputSchema)) : undefined,\n };\n return acc;\n }, {}),\n };\n return acc;\n }, {});\n return _workflows;\n } catch (error) {\n return handleError(error, 'error getting workflows');\n }\n}\n\nexport async function getLegacyWorkflowByIdHandler({ mastra, workflowId }: WorkflowContext) {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const workflow = mastra.legacy_getWorkflow(workflowId);\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n return {\n stepGraph: workflow.stepGraph,\n stepSubscriberGraph: workflow.stepSubscriberGraph,\n serializedStepGraph: workflow.serializedStepGraph,\n serializedStepSubscriberGraph: workflow.serializedStepSubscriberGraph,\n name: workflow.name,\n triggerSchema: workflow.triggerSchema ? stringify(zodToJsonSchema(workflow.triggerSchema)) : undefined,\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n const _step = step as any;\n acc[key] = {\n id: _step.id,\n description: _step.description,\n workflowId: _step.workflowId,\n inputSchema: _step.inputSchema ? stringify(zodToJsonSchema(_step.inputSchema)) : undefined,\n outputSchema: _step.outputSchema ? stringify(zodToJsonSchema(_step.outputSchema)) : undefined,\n };\n return acc;\n }, {}),\n };\n } catch (error) {\n return handleError(error, 'error getting workflow by id');\n }\n}\n\nexport async function startAsyncLegacyWorkflowHandler({\n mastra,\n runtimeContext,\n workflowId,\n runId,\n triggerData,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {\n triggerData?: 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 = mastra.legacy_getWorkflow(workflowId);\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n if (!runId) {\n const newRun = workflow.createRun();\n const result = await newRun.start({\n triggerData,\n runtimeContext,\n });\n return result;\n }\n\n const run = workflow.getMemoryRun(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n // const newRun = workflow.createRun({ runId });\n\n const result = await run.start({\n triggerData,\n runtimeContext,\n });\n return result;\n } catch (error) {\n return handleError(error, 'error starting workflow');\n }\n}\n\nexport async function getLegacyWorkflowRunHandler({\n mastra,\n workflowId,\n runId,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'>): Promise<ReturnType<LegacyWorkflow['getRun']>> {\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.legacy_getWorkflow(workflowId);\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getRun(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 createLegacyWorkflowRunHandler({\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 = mastra.legacy_getWorkflow(workflowId);\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const newRun = workflow.createRun({ runId: prevRunId });\n\n return { runId: newRun.runId };\n } catch (error) {\n return handleError(error, 'error creating workflow run');\n }\n}\n\nexport async function startLegacyWorkflowRunHandler({\n mastra,\n runtimeContext,\n workflowId,\n runId,\n triggerData,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {\n triggerData?: 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 = mastra.legacy_getWorkflow(workflowId);\n const run = workflow.getMemoryRun(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n void run.start({\n triggerData,\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 watchLegacyWorkflowHandler({\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 = mastra.legacy_getWorkflow(workflowId);\n const run = workflow.getMemoryRun(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n let unwatch: () => void;\n let asyncRef: NodeJS.Immediate | null = null;\n const stream = new ReadableStream<string>({\n start(controller) {\n unwatch = run.watch(({ activePaths, runId, timestamp, results }) => {\n const activePathsObj = Object.fromEntries(activePaths);\n controller.enqueue(JSON.stringify({ activePaths: activePathsObj, runId, timestamp, results }));\n\n if (asyncRef) {\n clearImmediate(asyncRef);\n asyncRef = null;\n }\n\n // a run is finished if none of the active paths is currently being executed\n asyncRef = setImmediate(() => {\n const runDone = Object.values(activePathsObj).every(value => value.status !== 'executing');\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 resumeAsyncLegacyWorkflowHandler({\n mastra,\n workflowId,\n runId,\n body,\n runtimeContext,\n}: WorkflowContext & { body: { stepId: string; context: any }; runtimeContext: RuntimeContext }) {\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 = mastra.legacy_getWorkflow(workflowId);\n const run = workflow.getMemoryRun(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n // const newRun = workflow.createRun({ runId });\n\n const result = await run.resume({\n stepId: body.stepId,\n context: body.context,\n runtimeContext,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error resuming workflow step');\n }\n}\n\nexport async function resumeLegacyWorkflowHandler({\n mastra,\n workflowId,\n runId,\n body,\n runtimeContext,\n}: WorkflowContext & { body: { stepId: string; context: any }; runtimeContext: RuntimeContext }) {\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 = mastra.legacy_getWorkflow(workflowId);\n const run = workflow.getMemoryRun(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n void run.resume({\n stepId: body.stepId,\n context: body.context,\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 getLegacyWorkflowRunsHandler({\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<LegacyWorkflowRuns> {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const workflow = mastra.legacy_getWorkflow(workflowId);\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"]}
@@ -1,9 +1,11 @@
1
- import { handleError } from './chunk-3AHQ5RGN.js';
2
- import { __export, HTTPException } from './chunk-TRDNDNGQ.js';
1
+ import { handleError } from './chunk-CY4TP3FK.js';
2
+ import { HTTPException } from './chunk-MMROOK5J.js';
3
+ import { __export } from './chunk-G3PMV62Z.js';
3
4
 
4
5
  // src/server/handlers/telemetry.ts
5
6
  var telemetry_exports = {};
6
7
  __export(telemetry_exports, {
8
+ collectParentSpanIds: () => collectParentSpanIds,
7
9
  getTelemetryHandler: () => getTelemetryHandler,
8
10
  storeTelemetryHandler: () => storeTelemetryHandler
9
11
  });
@@ -15,24 +17,26 @@ async function getTelemetryHandler({ mastra, body }) {
15
17
  throw new HTTPException(400, { message: "Telemetry is not initialized" });
16
18
  }
17
19
  if (!storage) {
18
- throw new HTTPException(400, { message: "Storage is not initialized" });
20
+ return [];
19
21
  }
20
22
  if (!body) {
21
23
  throw new HTTPException(400, { message: "Body is required" });
22
24
  }
23
- const { name, scope, page, perPage, attribute } = body;
25
+ const { name, scope, page, perPage, attribute, fromDate, toDate } = body;
24
26
  const attributes = attribute ? Object.fromEntries(
25
27
  (Array.isArray(attribute) ? attribute : [attribute]).map((attr) => {
26
28
  const [key, value] = attr.split(":");
27
29
  return [key, value];
28
30
  })
29
31
  ) : void 0;
30
- const traces = await storage.__getTraces({
32
+ const traces = await storage.getTraces({
31
33
  name,
32
34
  scope,
33
35
  page: Number(page ?? 0),
34
36
  perPage: Number(perPage ?? 100),
35
- attributes
37
+ attributes,
38
+ fromDate: fromDate ? new Date(fromDate) : void 0,
39
+ toDate: toDate ? new Date(toDate) : void 0
36
40
  });
37
41
  return traces;
38
42
  } catch (error2) {
@@ -44,7 +48,10 @@ async function storeTelemetryHandler({ mastra, body }) {
44
48
  const storage = mastra.getStorage();
45
49
  const logger = mastra.getLogger();
46
50
  if (!storage) {
47
- throw new HTTPException(400, { message: "Storage is not initialized" });
51
+ return {
52
+ status: "error",
53
+ message: "Storage is not initialized"
54
+ };
48
55
  }
49
56
  const now = /* @__PURE__ */ new Date();
50
57
  const items = body?.resourceSpans?.[0]?.scopeSpans;
@@ -59,8 +66,12 @@ async function storeTelemetryHandler({ mastra, body }) {
59
66
  traceCount: 0
60
67
  };
61
68
  }
69
+ const parentSpanIds = collectParentSpanIds(items);
62
70
  const allSpans = items.reduce((acc, scopedSpans) => {
63
71
  const { scope, spans } = scopedSpans;
72
+ if (scope.name === "@opentelemetry/instrumentation-http") {
73
+ return acc;
74
+ }
64
75
  for (const span of spans) {
65
76
  const {
66
77
  spanId,
@@ -80,7 +91,7 @@ async function storeTelemetryHandler({ mastra, body }) {
80
91
  const endTime = Number(BigInt(endTimeUnixNano) / 1000n);
81
92
  acc.push({
82
93
  id: spanId,
83
- parentSpanId,
94
+ parentSpanId: parentSpanIds.has(parentSpanId) ? null : parentSpanId,
84
95
  traceId,
85
96
  name,
86
97
  scope: scope.name,
@@ -105,7 +116,7 @@ async function storeTelemetryHandler({ mastra, body }) {
105
116
  }
106
117
  return acc;
107
118
  }, []);
108
- return storage.__batchTraceInsert({
119
+ return storage.batchTraceInsert({
109
120
  records: allSpans
110
121
  }).then(() => {
111
122
  return {
@@ -131,5 +142,19 @@ async function storeTelemetryHandler({ mastra, body }) {
131
142
  };
132
143
  }
133
144
  }
145
+ var collectParentSpanIds = (items) => {
146
+ const result = /* @__PURE__ */ new Set();
147
+ for (const { scope, spans } of items) {
148
+ if (scope.name !== "@opentelemetry/instrumentation-http") {
149
+ continue;
150
+ }
151
+ for (const span of spans) {
152
+ result.add(span.spanId);
153
+ }
154
+ }
155
+ return result;
156
+ };
134
157
 
135
- export { getTelemetryHandler, storeTelemetryHandler, telemetry_exports };
158
+ export { collectParentSpanIds, getTelemetryHandler, storeTelemetryHandler, telemetry_exports };
159
+ //# sourceMappingURL=chunk-KV6VHX4V.js.map
160
+ //# sourceMappingURL=chunk-KV6VHX4V.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/telemetry.ts"],"names":["error","acc"],"mappings":"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","file":"chunk-KV6VHX4V.js","sourcesContent":["import { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\n\ninterface TelemetryContext extends Context {\n body?: {\n name?: string;\n scope?: string;\n page?: number;\n perPage?: number;\n attribute?: string | string[];\n fromDate?: Date;\n toDate?: Date;\n };\n}\n\nexport async function getTelemetryHandler({ mastra, body }: TelemetryContext) {\n try {\n const telemetry = mastra.getTelemetry();\n const storage = mastra.getStorage();\n\n if (!telemetry) {\n throw new HTTPException(400, { message: 'Telemetry is not initialized' });\n }\n\n if (!storage) {\n return [];\n }\n\n if (!body) {\n throw new HTTPException(400, { message: 'Body is required' });\n }\n\n const { name, scope, page, perPage, attribute, fromDate, toDate } = body;\n\n // Parse attribute query parameter if present\n const attributes = attribute\n ? Object.fromEntries(\n (Array.isArray(attribute) ? attribute : [attribute]).map(attr => {\n const [key, value] = attr.split(':');\n return [key, value];\n }),\n )\n : undefined;\n\n const traces = await storage.getTraces({\n name,\n scope,\n page: Number(page ?? 0),\n perPage: Number(perPage ?? 100),\n attributes,\n fromDate: fromDate ? new Date(fromDate) : undefined,\n toDate: toDate ? new Date(toDate) : undefined,\n });\n\n return traces;\n } catch (error) {\n return handleError(error, 'Error getting telemetry');\n }\n}\n\nexport async function storeTelemetryHandler({ mastra, body }: Context & { body: { resourceSpans: any[] } }) {\n try {\n const storage = mastra.getStorage();\n const logger = mastra.getLogger();\n\n if (!storage) {\n return {\n status: 'error',\n message: 'Storage is not initialized',\n };\n }\n\n const now = new Date();\n\n const items = body?.resourceSpans?.[0]?.scopeSpans;\n logger.debug('[Telemetry Handler] Received spans:', {\n totalSpans: items?.reduce((acc: number, scope: { spans: any[] }) => acc + scope.spans.length, 0) || 0,\n timestamp: now.toISOString(),\n });\n if (!items?.length) {\n return {\n status: 'success',\n message: 'No spans to process',\n traceCount: 0,\n };\n }\n\n const parentSpanIds = collectParentSpanIds(items);\n const allSpans: any[] = items.reduce((acc: any, scopedSpans: any) => {\n const { scope, spans } = scopedSpans;\n\n // HTTP instrumentation spans are root spans but are not useful.\n // Remove them entirely and promote their direct children to root spans.\n if (scope.name === '@opentelemetry/instrumentation-http') {\n return acc;\n }\n\n for (const span of spans) {\n const {\n spanId,\n parentSpanId,\n traceId,\n name,\n kind,\n attributes,\n status,\n events,\n links,\n startTimeUnixNano,\n endTimeUnixNano,\n ...rest\n } = span;\n\n const startTime = Number(BigInt(startTimeUnixNano) / 1000n);\n const endTime = Number(BigInt(endTimeUnixNano) / 1000n);\n\n acc.push({\n id: spanId,\n parentSpanId: parentSpanIds.has(parentSpanId) ? null : parentSpanId,\n traceId,\n name,\n scope: scope.name,\n kind,\n status: JSON.stringify(status),\n events: JSON.stringify(events),\n links: JSON.stringify(links),\n attributes: JSON.stringify(\n attributes.reduce((acc: Record<string, any>, attr: any) => {\n const valueKey = Object.keys(attr.value)[0];\n if (valueKey) {\n acc[attr.key] = attr.value[valueKey];\n }\n return acc;\n }, {}),\n ),\n startTime,\n endTime,\n other: JSON.stringify(rest),\n createdAt: now,\n });\n }\n return acc;\n }, []);\n\n return storage\n .batchTraceInsert({\n records: allSpans,\n })\n .then(() => {\n return {\n status: 'success',\n message: 'Traces received and processed successfully',\n traceCount: body.resourceSpans?.length || 0,\n };\n })\n .catch(() => {\n return {\n status: 'error',\n message: 'Failed to process traces',\n // @ts-ignore\n error: error.message,\n };\n });\n\n // Return a simple response\n } catch (error) {\n console.error('Error processing traces:', error);\n return {\n status: 'error',\n message: 'Failed to process traces',\n // @ts-ignore\n error: error.message,\n };\n }\n}\n\nexport const collectParentSpanIds = (items: any[]) => {\n const result = new Set<string>();\n for (const { scope, spans } of items) {\n if (scope.name !== '@opentelemetry/instrumentation-http') {\n continue;\n }\n\n for (const span of spans) {\n result.add(span.spanId);\n }\n }\n\n return result;\n};\n"]}