@scoutqa/mastra-core 0.24.6-fork.1

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 (1064) hide show
  1. package/CHANGELOG.md +5844 -0
  2. package/LICENSE.md +15 -0
  3. package/README.md +59 -0
  4. package/a2a.d.ts +1 -0
  5. package/action.d.ts +1 -0
  6. package/agent/input-processor/processors.d.ts +1 -0
  7. package/agent.d.ts +1 -0
  8. package/ai-tracing.d.ts +1 -0
  9. package/base.d.ts +1 -0
  10. package/bundler.d.ts +1 -0
  11. package/cache.d.ts +1 -0
  12. package/deployer.d.ts +1 -0
  13. package/di.d.ts +1 -0
  14. package/dist/a2a/error.d.ts +24 -0
  15. package/dist/a2a/error.d.ts.map +1 -0
  16. package/dist/a2a/index.cjs +80 -0
  17. package/dist/a2a/index.cjs.map +1 -0
  18. package/dist/a2a/index.d.ts +4 -0
  19. package/dist/a2a/index.d.ts.map +1 -0
  20. package/dist/a2a/index.js +72 -0
  21. package/dist/a2a/index.js.map +1 -0
  22. package/dist/a2a/types.d.ts +93 -0
  23. package/dist/a2a/types.d.ts.map +1 -0
  24. package/dist/action/index.d.ts +36 -0
  25. package/dist/action/index.d.ts.map +1 -0
  26. package/dist/agent/__tests__/mock-model.d.ts +6 -0
  27. package/dist/agent/__tests__/mock-model.d.ts.map +1 -0
  28. package/dist/agent/agent.d.ts +728 -0
  29. package/dist/agent/agent.d.ts.map +1 -0
  30. package/dist/agent/agent.types.d.ts +130 -0
  31. package/dist/agent/agent.types.d.ts.map +1 -0
  32. package/dist/agent/index.cjs +53 -0
  33. package/dist/agent/index.cjs.map +1 -0
  34. package/dist/agent/index.d.ts +10 -0
  35. package/dist/agent/index.d.ts.map +1 -0
  36. package/dist/agent/index.js +4 -0
  37. package/dist/agent/index.js.map +1 -0
  38. package/dist/agent/index.warning.d.ts +13 -0
  39. package/dist/agent/index.warning.d.ts.map +1 -0
  40. package/dist/agent/input-processor/index.cjs +28 -0
  41. package/dist/agent/input-processor/index.cjs.map +1 -0
  42. package/dist/agent/input-processor/index.d.ts +10 -0
  43. package/dist/agent/input-processor/index.d.ts.map +1 -0
  44. package/dist/agent/input-processor/index.js +3 -0
  45. package/dist/agent/input-processor/index.js.map +1 -0
  46. package/dist/agent/input-processor/processors/index.d.ts +6 -0
  47. package/dist/agent/input-processor/processors/index.d.ts.map +1 -0
  48. package/dist/agent/input-processor/processors/language-detector.d.ts +18 -0
  49. package/dist/agent/input-processor/processors/language-detector.d.ts.map +1 -0
  50. package/dist/agent/input-processor/processors/moderation.d.ts +18 -0
  51. package/dist/agent/input-processor/processors/moderation.d.ts.map +1 -0
  52. package/dist/agent/input-processor/processors/pii-detector.d.ts +18 -0
  53. package/dist/agent/input-processor/processors/pii-detector.d.ts.map +1 -0
  54. package/dist/agent/input-processor/processors/prompt-injection-detector.d.ts +18 -0
  55. package/dist/agent/input-processor/processors/prompt-injection-detector.d.ts.map +1 -0
  56. package/dist/agent/input-processor/processors/unicode-normalizer.d.ts +18 -0
  57. package/dist/agent/input-processor/processors/unicode-normalizer.d.ts.map +1 -0
  58. package/dist/agent/message-list/index.d.ts +305 -0
  59. package/dist/agent/message-list/index.d.ts.map +1 -0
  60. package/dist/agent/message-list/prompt/attachments-to-parts.d.ts +11 -0
  61. package/dist/agent/message-list/prompt/attachments-to-parts.d.ts.map +1 -0
  62. package/dist/agent/message-list/prompt/convert-file.d.ts +7 -0
  63. package/dist/agent/message-list/prompt/convert-file.d.ts.map +1 -0
  64. package/dist/agent/message-list/prompt/convert-to-mastra-v1.d.ts +4 -0
  65. package/dist/agent/message-list/prompt/convert-to-mastra-v1.d.ts.map +1 -0
  66. package/dist/agent/message-list/prompt/data-content.d.ts +17 -0
  67. package/dist/agent/message-list/prompt/data-content.d.ts.map +1 -0
  68. package/dist/agent/message-list/prompt/download-assets.d.ts +15 -0
  69. package/dist/agent/message-list/prompt/download-assets.d.ts.map +1 -0
  70. package/dist/agent/message-list/prompt/image-utils.d.ts +86 -0
  71. package/dist/agent/message-list/prompt/image-utils.d.ts.map +1 -0
  72. package/dist/agent/message-list/prompt/invalid-content-error.d.ts +14 -0
  73. package/dist/agent/message-list/prompt/invalid-content-error.d.ts.map +1 -0
  74. package/dist/agent/message-list/types.d.ts +3 -0
  75. package/dist/agent/message-list/types.d.ts.map +1 -0
  76. package/dist/agent/message-list/utils/ai-v4-v5/core-model-message.d.ts +3 -0
  77. package/dist/agent/message-list/utils/ai-v4-v5/core-model-message.d.ts.map +1 -0
  78. package/dist/agent/message-list/utils/ai-v4-v5/ui-message.d.ts +3 -0
  79. package/dist/agent/message-list/utils/ai-v4-v5/ui-message.d.ts.map +1 -0
  80. package/dist/agent/message-list/utils/ai-v5/gemini-compatibility.d.ts +22 -0
  81. package/dist/agent/message-list/utils/ai-v5/gemini-compatibility.d.ts.map +1 -0
  82. package/dist/agent/message-list/utils/ai-v5/tool.d.ts +16 -0
  83. package/dist/agent/message-list/utils/ai-v5/tool.d.ts.map +1 -0
  84. package/dist/agent/message-list/utils/convert-messages.d.ts +91 -0
  85. package/dist/agent/message-list/utils/convert-messages.d.ts.map +1 -0
  86. package/dist/agent/save-queue/index.d.ts +68 -0
  87. package/dist/agent/save-queue/index.d.ts.map +1 -0
  88. package/dist/agent/test-utils.d.ts +82 -0
  89. package/dist/agent/test-utils.d.ts.map +1 -0
  90. package/dist/agent/trip-wire.d.ts +18 -0
  91. package/dist/agent/trip-wire.d.ts.map +1 -0
  92. package/dist/agent/types.d.ts +358 -0
  93. package/dist/agent/types.d.ts.map +1 -0
  94. package/dist/agent/utils.d.ts +104 -0
  95. package/dist/agent/utils.d.ts.map +1 -0
  96. package/dist/agent/workflows/prepare-stream/index.d.ts +158 -0
  97. package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -0
  98. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +35 -0
  99. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -0
  100. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +90 -0
  101. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts.map +1 -0
  102. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts +75 -0
  103. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -0
  104. package/dist/agent/workflows/prepare-stream/schema.d.ts +179 -0
  105. package/dist/agent/workflows/prepare-stream/schema.d.ts.map +1 -0
  106. package/dist/agent/workflows/prepare-stream/stream-step.d.ts +36 -0
  107. package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -0
  108. package/dist/ai-tracing/context.d.ts +21 -0
  109. package/dist/ai-tracing/context.d.ts.map +1 -0
  110. package/dist/ai-tracing/exporters/base.d.ts +111 -0
  111. package/dist/ai-tracing/exporters/base.d.ts.map +1 -0
  112. package/dist/ai-tracing/exporters/cloud.d.ts +30 -0
  113. package/dist/ai-tracing/exporters/cloud.d.ts.map +1 -0
  114. package/dist/ai-tracing/exporters/console.d.ts +10 -0
  115. package/dist/ai-tracing/exporters/console.d.ts.map +1 -0
  116. package/dist/ai-tracing/exporters/default.d.ts +98 -0
  117. package/dist/ai-tracing/exporters/default.d.ts.map +1 -0
  118. package/dist/ai-tracing/exporters/index.d.ts +9 -0
  119. package/dist/ai-tracing/exporters/index.d.ts.map +1 -0
  120. package/dist/ai-tracing/index.cjs +148 -0
  121. package/dist/ai-tracing/index.cjs.map +1 -0
  122. package/dist/ai-tracing/index.d.ts +13 -0
  123. package/dist/ai-tracing/index.d.ts.map +1 -0
  124. package/dist/ai-tracing/index.js +3 -0
  125. package/dist/ai-tracing/index.js.map +1 -0
  126. package/dist/ai-tracing/model-tracing.d.ts +63 -0
  127. package/dist/ai-tracing/model-tracing.d.ts.map +1 -0
  128. package/dist/ai-tracing/registry.d.ts +51 -0
  129. package/dist/ai-tracing/registry.d.ts.map +1 -0
  130. package/dist/ai-tracing/span_processors/index.d.ts +5 -0
  131. package/dist/ai-tracing/span_processors/index.d.ts.map +1 -0
  132. package/dist/ai-tracing/span_processors/sensitive-data-filter.d.ts +85 -0
  133. package/dist/ai-tracing/span_processors/sensitive-data-filter.d.ts.map +1 -0
  134. package/dist/ai-tracing/spans/base.d.ts +65 -0
  135. package/dist/ai-tracing/spans/base.d.ts.map +1 -0
  136. package/dist/ai-tracing/spans/default.d.ts +13 -0
  137. package/dist/ai-tracing/spans/default.d.ts.map +1 -0
  138. package/dist/ai-tracing/spans/index.d.ts +7 -0
  139. package/dist/ai-tracing/spans/index.d.ts.map +1 -0
  140. package/dist/ai-tracing/spans/no-op.d.ts +15 -0
  141. package/dist/ai-tracing/spans/no-op.d.ts.map +1 -0
  142. package/dist/ai-tracing/tracers/base.d.ts +105 -0
  143. package/dist/ai-tracing/tracers/base.d.ts.map +1 -0
  144. package/dist/ai-tracing/tracers/default.d.ts +7 -0
  145. package/dist/ai-tracing/tracers/default.d.ts.map +1 -0
  146. package/dist/ai-tracing/tracers/index.d.ts +6 -0
  147. package/dist/ai-tracing/tracers/index.d.ts.map +1 -0
  148. package/dist/ai-tracing/types.d.ts +696 -0
  149. package/dist/ai-tracing/types.d.ts.map +1 -0
  150. package/dist/ai-tracing/utils.d.ts +68 -0
  151. package/dist/ai-tracing/utils.d.ts.map +1 -0
  152. package/dist/base.cjs +12 -0
  153. package/dist/base.cjs.map +1 -0
  154. package/dist/base.d.ts +34 -0
  155. package/dist/base.d.ts.map +1 -0
  156. package/dist/base.js +3 -0
  157. package/dist/base.js.map +1 -0
  158. package/dist/base.warning.d.ts +9 -0
  159. package/dist/base.warning.d.ts.map +1 -0
  160. package/dist/bundler/index.cjs +12 -0
  161. package/dist/bundler/index.cjs.map +1 -0
  162. package/dist/bundler/index.d.ts +31 -0
  163. package/dist/bundler/index.d.ts.map +1 -0
  164. package/dist/bundler/index.js +3 -0
  165. package/dist/bundler/index.js.map +1 -0
  166. package/dist/bundler/index.warning.d.ts +9 -0
  167. package/dist/bundler/index.warning.d.ts.map +1 -0
  168. package/dist/bundler/types.d.ts +6 -0
  169. package/dist/bundler/types.d.ts.map +1 -0
  170. package/dist/cache/base.d.ts +14 -0
  171. package/dist/cache/base.d.ts.map +1 -0
  172. package/dist/cache/index.cjs +16 -0
  173. package/dist/cache/index.cjs.map +1 -0
  174. package/dist/cache/index.d.ts +3 -0
  175. package/dist/cache/index.d.ts.map +1 -0
  176. package/dist/cache/index.js +3 -0
  177. package/dist/cache/index.js.map +1 -0
  178. package/dist/cache/inmemory.d.ts +13 -0
  179. package/dist/cache/inmemory.d.ts.map +1 -0
  180. package/dist/chunk-3HXBPDKN.js +105 -0
  181. package/dist/chunk-3HXBPDKN.js.map +1 -0
  182. package/dist/chunk-3NTOFNIU.js +60 -0
  183. package/dist/chunk-3NTOFNIU.js.map +1 -0
  184. package/dist/chunk-3PSWNGBF.js +3 -0
  185. package/dist/chunk-3PSWNGBF.js.map +1 -0
  186. package/dist/chunk-42RUESSD.cjs +3203 -0
  187. package/dist/chunk-42RUESSD.cjs.map +1 -0
  188. package/dist/chunk-436FFEF6.js +34 -0
  189. package/dist/chunk-436FFEF6.js.map +1 -0
  190. package/dist/chunk-46XGIEXM.cjs +47 -0
  191. package/dist/chunk-46XGIEXM.cjs.map +1 -0
  192. package/dist/chunk-4D4KB75Y.cjs +9 -0
  193. package/dist/chunk-4D4KB75Y.cjs.map +1 -0
  194. package/dist/chunk-4L63C6E5.cjs +2554 -0
  195. package/dist/chunk-4L63C6E5.cjs.map +1 -0
  196. package/dist/chunk-4LSFAAZW.js +3 -0
  197. package/dist/chunk-4LSFAAZW.js.map +1 -0
  198. package/dist/chunk-4R2TBRS7.cjs +191 -0
  199. package/dist/chunk-4R2TBRS7.cjs.map +1 -0
  200. package/dist/chunk-4WQYXT2I.cjs +12 -0
  201. package/dist/chunk-4WQYXT2I.cjs.map +1 -0
  202. package/dist/chunk-5NTO7S5I.cjs +173 -0
  203. package/dist/chunk-5NTO7S5I.cjs.map +1 -0
  204. package/dist/chunk-5O52O25J.js +65 -0
  205. package/dist/chunk-5O52O25J.js.map +1 -0
  206. package/dist/chunk-5X4TQR6K.js +12 -0
  207. package/dist/chunk-5X4TQR6K.js.map +1 -0
  208. package/dist/chunk-6D2K2CAA.js +776 -0
  209. package/dist/chunk-6D2K2CAA.js.map +1 -0
  210. package/dist/chunk-6KOL2B3A.cjs +75 -0
  211. package/dist/chunk-6KOL2B3A.cjs.map +1 -0
  212. package/dist/chunk-6TEQIYXV.cjs +96 -0
  213. package/dist/chunk-6TEQIYXV.cjs.map +1 -0
  214. package/dist/chunk-6VOPKVYH.cjs +57 -0
  215. package/dist/chunk-6VOPKVYH.cjs.map +1 -0
  216. package/dist/chunk-6XCINXZ7.cjs +194 -0
  217. package/dist/chunk-6XCINXZ7.cjs.map +1 -0
  218. package/dist/chunk-7J5DS33F.js +3 -0
  219. package/dist/chunk-7J5DS33F.js.map +1 -0
  220. package/dist/chunk-A5KDVZDL.cjs +124 -0
  221. package/dist/chunk-A5KDVZDL.cjs.map +1 -0
  222. package/dist/chunk-AAYCOJUL.cjs +14 -0
  223. package/dist/chunk-AAYCOJUL.cjs.map +1 -0
  224. package/dist/chunk-ABJOUEVA.cjs +10 -0
  225. package/dist/chunk-ABJOUEVA.cjs.map +1 -0
  226. package/dist/chunk-AQGLVU53.cjs +603 -0
  227. package/dist/chunk-AQGLVU53.cjs.map +1 -0
  228. package/dist/chunk-B7V6NYWH.cjs +67 -0
  229. package/dist/chunk-B7V6NYWH.cjs.map +1 -0
  230. package/dist/chunk-BJ6XIEC6.js +13 -0
  231. package/dist/chunk-BJ6XIEC6.js.map +1 -0
  232. package/dist/chunk-BLUDYAPI.js +596 -0
  233. package/dist/chunk-BLUDYAPI.js.map +1 -0
  234. package/dist/chunk-BVUMKER5.js +7 -0
  235. package/dist/chunk-BVUMKER5.js.map +1 -0
  236. package/dist/chunk-BWYU7D33.js +192 -0
  237. package/dist/chunk-BWYU7D33.js.map +1 -0
  238. package/dist/chunk-CNMPROPI.js +24 -0
  239. package/dist/chunk-CNMPROPI.js.map +1 -0
  240. package/dist/chunk-CT2DMHGC.cjs +271 -0
  241. package/dist/chunk-CT2DMHGC.cjs.map +1 -0
  242. package/dist/chunk-CYEQK4PM.cjs +778 -0
  243. package/dist/chunk-CYEQK4PM.cjs.map +1 -0
  244. package/dist/chunk-DMBN72QF.cjs +39 -0
  245. package/dist/chunk-DMBN72QF.cjs.map +1 -0
  246. package/dist/chunk-EBVYYC2Q.cjs +111 -0
  247. package/dist/chunk-EBVYYC2Q.cjs.map +1 -0
  248. package/dist/chunk-F7GI2OYP.js +3 -0
  249. package/dist/chunk-F7GI2OYP.js.map +1 -0
  250. package/dist/chunk-FUVNHPNL.cjs +4 -0
  251. package/dist/chunk-FUVNHPNL.cjs.map +1 -0
  252. package/dist/chunk-FVIT6JZ5.cjs +4 -0
  253. package/dist/chunk-FVIT6JZ5.cjs.map +1 -0
  254. package/dist/chunk-G3KSVDML.cjs +1310 -0
  255. package/dist/chunk-G3KSVDML.cjs.map +1 -0
  256. package/dist/chunk-GPWMM745.cjs +80 -0
  257. package/dist/chunk-GPWMM745.cjs.map +1 -0
  258. package/dist/chunk-GXSERFAG.js +3 -0
  259. package/dist/chunk-GXSERFAG.js.map +1 -0
  260. package/dist/chunk-HCCXJ5YJ.js +466 -0
  261. package/dist/chunk-HCCXJ5YJ.js.map +1 -0
  262. package/dist/chunk-HLRWYUFN.js +78 -0
  263. package/dist/chunk-HLRWYUFN.js.map +1 -0
  264. package/dist/chunk-HQDX7PWJ.cjs +26 -0
  265. package/dist/chunk-HQDX7PWJ.cjs.map +1 -0
  266. package/dist/chunk-HSX2K7HB.js +164 -0
  267. package/dist/chunk-HSX2K7HB.js.map +1 -0
  268. package/dist/chunk-IAJHRFO4.cjs +2936 -0
  269. package/dist/chunk-IAJHRFO4.cjs.map +1 -0
  270. package/dist/chunk-INOOZ2A2.js +3144 -0
  271. package/dist/chunk-INOOZ2A2.js.map +1 -0
  272. package/dist/chunk-IWU4YSYT.cjs +166 -0
  273. package/dist/chunk-IWU4YSYT.cjs.map +1 -0
  274. package/dist/chunk-JQE3BLYA.js +3 -0
  275. package/dist/chunk-JQE3BLYA.js.map +1 -0
  276. package/dist/chunk-JVV5LREI.js +431 -0
  277. package/dist/chunk-JVV5LREI.js.map +1 -0
  278. package/dist/chunk-LZPOIBOR.js +87 -0
  279. package/dist/chunk-LZPOIBOR.js.map +1 -0
  280. package/dist/chunk-MKCC5K77.js +90 -0
  281. package/dist/chunk-MKCC5K77.js.map +1 -0
  282. package/dist/chunk-N2ILP2YD.js +2539 -0
  283. package/dist/chunk-N2ILP2YD.js.map +1 -0
  284. package/dist/chunk-NLNKQD2T.js +7 -0
  285. package/dist/chunk-NLNKQD2T.js.map +1 -0
  286. package/dist/chunk-NPNGPMT2.js +39 -0
  287. package/dist/chunk-NPNGPMT2.js.map +1 -0
  288. package/dist/chunk-NSIYMRY7.cjs +91 -0
  289. package/dist/chunk-NSIYMRY7.cjs.map +1 -0
  290. package/dist/chunk-OIT3PCWA.js +72 -0
  291. package/dist/chunk-OIT3PCWA.js.map +1 -0
  292. package/dist/chunk-PAOBGBU7.cjs +471 -0
  293. package/dist/chunk-PAOBGBU7.cjs.map +1 -0
  294. package/dist/chunk-PE3V7GUL.cjs +4 -0
  295. package/dist/chunk-PE3V7GUL.cjs.map +1 -0
  296. package/dist/chunk-PFXXH2RP.js +91 -0
  297. package/dist/chunk-PFXXH2RP.js.map +1 -0
  298. package/dist/chunk-PJKCPRYF.js +3 -0
  299. package/dist/chunk-PJKCPRYF.js.map +1 -0
  300. package/dist/chunk-PZUZNPFM.js +166 -0
  301. package/dist/chunk-PZUZNPFM.js.map +1 -0
  302. package/dist/chunk-Q6LWNLAJ.js +3177 -0
  303. package/dist/chunk-Q6LWNLAJ.js.map +1 -0
  304. package/dist/chunk-QLMWFSDC.js +653 -0
  305. package/dist/chunk-QLMWFSDC.js.map +1 -0
  306. package/dist/chunk-R6XC4DV5.js +170 -0
  307. package/dist/chunk-R6XC4DV5.js.map +1 -0
  308. package/dist/chunk-RJOVFHWN.cjs +3160 -0
  309. package/dist/chunk-RJOVFHWN.cjs.map +1 -0
  310. package/dist/chunk-SJMKDSRF.js +179 -0
  311. package/dist/chunk-SJMKDSRF.js.map +1 -0
  312. package/dist/chunk-TCHOIK53.cjs +4 -0
  313. package/dist/chunk-TCHOIK53.cjs.map +1 -0
  314. package/dist/chunk-TEORHM5O.js +1222 -0
  315. package/dist/chunk-TEORHM5O.js.map +1 -0
  316. package/dist/chunk-TSNDVBUU.cjs +90 -0
  317. package/dist/chunk-TSNDVBUU.cjs.map +1 -0
  318. package/dist/chunk-TTELJD4F.js +86 -0
  319. package/dist/chunk-TTELJD4F.js.map +1 -0
  320. package/dist/chunk-TX4TTPYJ.cjs +436 -0
  321. package/dist/chunk-TX4TTPYJ.cjs.map +1 -0
  322. package/dist/chunk-UCPGYU55.cjs +15 -0
  323. package/dist/chunk-UCPGYU55.cjs.map +1 -0
  324. package/dist/chunk-UWTYVVVZ.js +42 -0
  325. package/dist/chunk-UWTYVVVZ.js.map +1 -0
  326. package/dist/chunk-UXG7PYML.js +118 -0
  327. package/dist/chunk-UXG7PYML.js.map +1 -0
  328. package/dist/chunk-V3VLOOSW.cjs +36 -0
  329. package/dist/chunk-V3VLOOSW.cjs.map +1 -0
  330. package/dist/chunk-VED2OIYL.cjs +4 -0
  331. package/dist/chunk-VED2OIYL.cjs.map +1 -0
  332. package/dist/chunk-VF676YCO.cjs +150 -0
  333. package/dist/chunk-VF676YCO.cjs.map +1 -0
  334. package/dist/chunk-VHEA3YXS.js +72 -0
  335. package/dist/chunk-VHEA3YXS.js.map +1 -0
  336. package/dist/chunk-VQASQG5D.js +55 -0
  337. package/dist/chunk-VQASQG5D.js.map +1 -0
  338. package/dist/chunk-VXHOOZSK.js +446 -0
  339. package/dist/chunk-VXHOOZSK.js.map +1 -0
  340. package/dist/chunk-W4UVO3HL.cjs +82 -0
  341. package/dist/chunk-W4UVO3HL.cjs.map +1 -0
  342. package/dist/chunk-WIMFJ2BA.js +2880 -0
  343. package/dist/chunk-WIMFJ2BA.js.map +1 -0
  344. package/dist/chunk-WM4RO23J.js +145 -0
  345. package/dist/chunk-WM4RO23J.js.map +1 -0
  346. package/dist/chunk-WMTXUQC4.cjs +657 -0
  347. package/dist/chunk-WMTXUQC4.cjs.map +1 -0
  348. package/dist/chunk-WNV57BEW.cjs +1705 -0
  349. package/dist/chunk-WNV57BEW.cjs.map +1 -0
  350. package/dist/chunk-X4RMXTXF.cjs +4 -0
  351. package/dist/chunk-X4RMXTXF.cjs.map +1 -0
  352. package/dist/chunk-X7F4CSGR.cjs +67 -0
  353. package/dist/chunk-X7F4CSGR.cjs.map +1 -0
  354. package/dist/chunk-XWGHD4C7.cjs +450 -0
  355. package/dist/chunk-XWGHD4C7.cjs.map +1 -0
  356. package/dist/chunk-YFKTLS32.js +1700 -0
  357. package/dist/chunk-YFKTLS32.js.map +1 -0
  358. package/dist/chunk-ZABG3SZ2.cjs +93 -0
  359. package/dist/chunk-ZABG3SZ2.cjs.map +1 -0
  360. package/dist/chunk-ZIWN73GQ.js +267 -0
  361. package/dist/chunk-ZIWN73GQ.js.map +1 -0
  362. package/dist/chunk-ZOYE65RA.cjs +173 -0
  363. package/dist/chunk-ZOYE65RA.cjs.map +1 -0
  364. package/dist/deployer/index.cjs +12 -0
  365. package/dist/deployer/index.cjs.map +1 -0
  366. package/dist/deployer/index.d.ts +12 -0
  367. package/dist/deployer/index.d.ts.map +1 -0
  368. package/dist/deployer/index.js +3 -0
  369. package/dist/deployer/index.js.map +1 -0
  370. package/dist/deployer/index.warning.d.ts +9 -0
  371. package/dist/deployer/index.warning.d.ts.map +1 -0
  372. package/dist/di/index.cjs +12 -0
  373. package/dist/di/index.cjs.map +1 -0
  374. package/dist/di/index.d.ts +2 -0
  375. package/dist/di/index.d.ts.map +1 -0
  376. package/dist/di/index.js +3 -0
  377. package/dist/di/index.js.map +1 -0
  378. package/dist/error/index.cjs +28 -0
  379. package/dist/error/index.cjs.map +1 -0
  380. package/dist/error/index.d.ts +89 -0
  381. package/dist/error/index.d.ts.map +1 -0
  382. package/dist/error/index.js +3 -0
  383. package/dist/error/index.js.map +1 -0
  384. package/dist/error/utils.d.ts +36 -0
  385. package/dist/error/utils.d.ts.map +1 -0
  386. package/dist/eval/evaluation.d.ts +14 -0
  387. package/dist/eval/evaluation.d.ts.map +1 -0
  388. package/dist/eval/index.cjs +16 -0
  389. package/dist/eval/index.cjs.map +1 -0
  390. package/dist/eval/index.d.ts +4 -0
  391. package/dist/eval/index.d.ts.map +1 -0
  392. package/dist/eval/index.js +3 -0
  393. package/dist/eval/index.js.map +1 -0
  394. package/dist/eval/metric.d.ts +8 -0
  395. package/dist/eval/metric.d.ts.map +1 -0
  396. package/dist/eval/types.d.ts +9 -0
  397. package/dist/eval/types.d.ts.map +1 -0
  398. package/dist/events/event-emitter.d.ts +11 -0
  399. package/dist/events/event-emitter.d.ts.map +1 -0
  400. package/dist/events/index.cjs +12 -0
  401. package/dist/events/index.cjs.map +1 -0
  402. package/dist/events/index.d.ts +3 -0
  403. package/dist/events/index.d.ts.map +1 -0
  404. package/dist/events/index.js +3 -0
  405. package/dist/events/index.js.map +1 -0
  406. package/dist/events/processor.d.ts +11 -0
  407. package/dist/events/processor.d.ts.map +1 -0
  408. package/dist/events/pubsub.d.ts +8 -0
  409. package/dist/events/pubsub.d.ts.map +1 -0
  410. package/dist/events/types.d.ts +8 -0
  411. package/dist/events/types.d.ts.map +1 -0
  412. package/dist/hooks/index.cjs +20 -0
  413. package/dist/hooks/index.cjs.map +1 -0
  414. package/dist/hooks/index.d.ts +36 -0
  415. package/dist/hooks/index.d.ts.map +1 -0
  416. package/dist/hooks/index.js +3 -0
  417. package/dist/hooks/index.js.map +1 -0
  418. package/dist/hooks/mitt.d.ts +22 -0
  419. package/dist/hooks/mitt.d.ts.map +1 -0
  420. package/dist/index.cjs +371 -0
  421. package/dist/index.cjs.map +1 -0
  422. package/dist/index.d.ts +19 -0
  423. package/dist/index.d.ts.map +1 -0
  424. package/dist/index.js +120 -0
  425. package/dist/index.js.map +1 -0
  426. package/dist/integration/index.cjs +16 -0
  427. package/dist/integration/index.cjs.map +1 -0
  428. package/dist/integration/index.d.ts +3 -0
  429. package/dist/integration/index.d.ts.map +1 -0
  430. package/dist/integration/index.js +3 -0
  431. package/dist/integration/index.js.map +1 -0
  432. package/dist/integration/index.warning.d.ts +3 -0
  433. package/dist/integration/index.warning.d.ts.map +1 -0
  434. package/dist/integration/integration.d.ts +21 -0
  435. package/dist/integration/integration.d.ts.map +1 -0
  436. package/dist/integration/integration.warning.d.ts +5 -0
  437. package/dist/integration/integration.warning.d.ts.map +1 -0
  438. package/dist/integration/openapi-toolset.d.ts +16 -0
  439. package/dist/integration/openapi-toolset.d.ts.map +1 -0
  440. package/dist/integration/openapi-toolset.warning.d.ts +5 -0
  441. package/dist/integration/openapi-toolset.warning.d.ts.map +1 -0
  442. package/dist/llm/index.cjs +48 -0
  443. package/dist/llm/index.cjs.map +1 -0
  444. package/dist/llm/index.d.ts +83 -0
  445. package/dist/llm/index.d.ts.map +1 -0
  446. package/dist/llm/index.js +7 -0
  447. package/dist/llm/index.js.map +1 -0
  448. package/dist/llm/model/aisdk/v5/model.d.ts +47 -0
  449. package/dist/llm/model/aisdk/v5/model.d.ts.map +1 -0
  450. package/dist/llm/model/base.types.d.ts +100 -0
  451. package/dist/llm/model/base.types.d.ts.map +1 -0
  452. package/dist/llm/model/embedding-router.d.ts +50 -0
  453. package/dist/llm/model/embedding-router.d.ts.map +1 -0
  454. package/dist/llm/model/gateway-resolver.d.ts +11 -0
  455. package/dist/llm/model/gateway-resolver.d.ts.map +1 -0
  456. package/dist/llm/model/gateways/base.d.ts +50 -0
  457. package/dist/llm/model/gateways/base.d.ts.map +1 -0
  458. package/dist/llm/model/gateways/constants.d.ts +3 -0
  459. package/dist/llm/model/gateways/constants.d.ts.map +1 -0
  460. package/dist/llm/model/gateways/index.d.ts +11 -0
  461. package/dist/llm/model/gateways/index.d.ts.map +1 -0
  462. package/dist/llm/model/gateways/models-dev.d.ts +19 -0
  463. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -0
  464. package/dist/llm/model/gateways/netlify.d.ts +25 -0
  465. package/dist/llm/model/gateways/netlify.d.ts.map +1 -0
  466. package/dist/llm/model/index.d.ts +6 -0
  467. package/dist/llm/model/index.d.ts.map +1 -0
  468. package/dist/llm/model/is-v2-model.d.ts +3 -0
  469. package/dist/llm/model/is-v2-model.d.ts.map +1 -0
  470. package/dist/llm/model/model-method-from-agent.d.ts +4 -0
  471. package/dist/llm/model/model-method-from-agent.d.ts.map +1 -0
  472. package/dist/llm/model/model.d.ts +36 -0
  473. package/dist/llm/model/model.d.ts.map +1 -0
  474. package/dist/llm/model/model.loop.d.ts +26 -0
  475. package/dist/llm/model/model.loop.d.ts.map +1 -0
  476. package/dist/llm/model/model.loop.types.d.ts +31 -0
  477. package/dist/llm/model/model.loop.types.d.ts.map +1 -0
  478. package/dist/llm/model/provider-options.d.ts +42 -0
  479. package/dist/llm/model/provider-options.d.ts.map +1 -0
  480. package/dist/llm/model/provider-registry.d.ts +108 -0
  481. package/dist/llm/model/provider-registry.d.ts.map +1 -0
  482. package/dist/llm/model/provider-types.generated.d.ts +1205 -0
  483. package/dist/llm/model/registry-generator.d.ts +41 -0
  484. package/dist/llm/model/registry-generator.d.ts.map +1 -0
  485. package/dist/llm/model/resolve-model.d.ts +46 -0
  486. package/dist/llm/model/resolve-model.d.ts.map +1 -0
  487. package/dist/llm/model/router.d.ts +30 -0
  488. package/dist/llm/model/router.d.ts.map +1 -0
  489. package/dist/llm/model/shared.types.d.ts +40 -0
  490. package/dist/llm/model/shared.types.d.ts.map +1 -0
  491. package/dist/logger/constants.d.ts +28 -0
  492. package/dist/logger/constants.d.ts.map +1 -0
  493. package/dist/logger/default-logger.d.ts +49 -0
  494. package/dist/logger/default-logger.d.ts.map +1 -0
  495. package/dist/logger/index.cjs +45 -0
  496. package/dist/logger/index.cjs.map +1 -0
  497. package/dist/logger/index.d.ts +7 -0
  498. package/dist/logger/index.d.ts.map +1 -0
  499. package/dist/logger/index.js +4 -0
  500. package/dist/logger/index.js.map +1 -0
  501. package/dist/logger/logger.d.ts +88 -0
  502. package/dist/logger/logger.d.ts.map +1 -0
  503. package/dist/logger/multi-logger.d.ts +46 -0
  504. package/dist/logger/multi-logger.d.ts.map +1 -0
  505. package/dist/logger/noop-logger.d.ts +3 -0
  506. package/dist/logger/noop-logger.d.ts.map +1 -0
  507. package/dist/logger/transport.d.ts +46 -0
  508. package/dist/logger/transport.d.ts.map +1 -0
  509. package/dist/loop/index.cjs +12 -0
  510. package/dist/loop/index.cjs.map +1 -0
  511. package/dist/loop/index.d.ts +2 -0
  512. package/dist/loop/index.d.ts.map +1 -0
  513. package/dist/loop/index.js +3 -0
  514. package/dist/loop/index.js.map +1 -0
  515. package/dist/loop/loop.d.ts +6 -0
  516. package/dist/loop/loop.d.ts.map +1 -0
  517. package/dist/loop/network/index.d.ts +145 -0
  518. package/dist/loop/network/index.d.ts.map +1 -0
  519. package/dist/loop/telemetry/index.d.ts +36 -0
  520. package/dist/loop/telemetry/index.d.ts.map +1 -0
  521. package/dist/loop/telemetry/noop.d.ts +3 -0
  522. package/dist/loop/telemetry/noop.d.ts.map +1 -0
  523. package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts +37 -0
  524. package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts.map +1 -0
  525. package/dist/loop/test-utils/fullStream.d.ts +6 -0
  526. package/dist/loop/test-utils/fullStream.d.ts.map +1 -0
  527. package/dist/loop/test-utils/generateText.d.ts +6 -0
  528. package/dist/loop/test-utils/generateText.d.ts.map +1 -0
  529. package/dist/loop/test-utils/mock-server-response.d.ts +28 -0
  530. package/dist/loop/test-utils/mock-server-response.d.ts.map +1 -0
  531. package/dist/loop/test-utils/mockTracer.d.ts +47 -0
  532. package/dist/loop/test-utils/mockTracer.d.ts.map +1 -0
  533. package/dist/loop/test-utils/options.d.ts +6 -0
  534. package/dist/loop/test-utils/options.d.ts.map +1 -0
  535. package/dist/loop/test-utils/resultObject.d.ts +6 -0
  536. package/dist/loop/test-utils/resultObject.d.ts.map +1 -0
  537. package/dist/loop/test-utils/streamObject.d.ts +15 -0
  538. package/dist/loop/test-utils/streamObject.d.ts.map +1 -0
  539. package/dist/loop/test-utils/telemetry.d.ts +6 -0
  540. package/dist/loop/test-utils/telemetry.d.ts.map +1 -0
  541. package/dist/loop/test-utils/textStream.d.ts +6 -0
  542. package/dist/loop/test-utils/textStream.d.ts.map +1 -0
  543. package/dist/loop/test-utils/toUIMessageStream.d.ts +6 -0
  544. package/dist/loop/test-utils/toUIMessageStream.d.ts.map +1 -0
  545. package/dist/loop/test-utils/tools.d.ts +6 -0
  546. package/dist/loop/test-utils/tools.d.ts.map +1 -0
  547. package/dist/loop/test-utils/utils.d.ts +45 -0
  548. package/dist/loop/test-utils/utils.d.ts.map +1 -0
  549. package/dist/loop/types.d.ts +111 -0
  550. package/dist/loop/types.d.ts.map +1 -0
  551. package/dist/loop/workflows/agentic-execution/index.d.ts +939 -0
  552. package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -0
  553. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +629 -0
  554. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -0
  555. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +348 -0
  556. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -0
  557. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts +58 -0
  558. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -0
  559. package/dist/loop/workflows/agentic-loop/index.d.ts +945 -0
  560. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -0
  561. package/dist/loop/workflows/run-state.d.ts +29 -0
  562. package/dist/loop/workflows/run-state.d.ts.map +1 -0
  563. package/dist/loop/workflows/schema.d.ts +479 -0
  564. package/dist/loop/workflows/schema.d.ts.map +1 -0
  565. package/dist/loop/workflows/stream.d.ts +20 -0
  566. package/dist/loop/workflows/stream.d.ts.map +1 -0
  567. package/dist/mastra/hooks.d.ts +6 -0
  568. package/dist/mastra/hooks.d.ts.map +1 -0
  569. package/dist/mastra/index.cjs +12 -0
  570. package/dist/mastra/index.cjs.map +1 -0
  571. package/dist/mastra/index.d.ts +892 -0
  572. package/dist/mastra/index.d.ts.map +1 -0
  573. package/dist/mastra/index.js +3 -0
  574. package/dist/mastra/index.js.map +1 -0
  575. package/dist/mcp/index.cjs +112 -0
  576. package/dist/mcp/index.cjs.map +1 -0
  577. package/dist/mcp/index.d.ts +158 -0
  578. package/dist/mcp/index.d.ts.map +1 -0
  579. package/dist/mcp/index.js +106 -0
  580. package/dist/mcp/index.js.map +1 -0
  581. package/dist/mcp/types.d.ts +255 -0
  582. package/dist/mcp/types.d.ts.map +1 -0
  583. package/dist/memory/index.cjs +20 -0
  584. package/dist/memory/index.cjs.map +1 -0
  585. package/dist/memory/index.d.ts +3 -0
  586. package/dist/memory/index.d.ts.map +1 -0
  587. package/dist/memory/index.js +3 -0
  588. package/dist/memory/index.js.map +1 -0
  589. package/dist/memory/index.warning.d.ts +6 -0
  590. package/dist/memory/index.warning.d.ts.map +1 -0
  591. package/dist/memory/memory.d.ts +272 -0
  592. package/dist/memory/memory.d.ts.map +1 -0
  593. package/dist/memory/types.d.ts +393 -0
  594. package/dist/memory/types.d.ts.map +1 -0
  595. package/dist/models-dev-LJ4O6FNF.js +3 -0
  596. package/dist/models-dev-LJ4O6FNF.js.map +1 -0
  597. package/dist/models-dev-T2CXOEDH.cjs +12 -0
  598. package/dist/models-dev-T2CXOEDH.cjs.map +1 -0
  599. package/dist/netlify-BAEMIQNH.cjs +12 -0
  600. package/dist/netlify-BAEMIQNH.cjs.map +1 -0
  601. package/dist/netlify-L7AZ74PV.js +3 -0
  602. package/dist/netlify-L7AZ74PV.js.map +1 -0
  603. package/dist/processors/index.cjs +48 -0
  604. package/dist/processors/index.cjs.map +1 -0
  605. package/dist/processors/index.d.ts +43 -0
  606. package/dist/processors/index.d.ts.map +1 -0
  607. package/dist/processors/index.js +3 -0
  608. package/dist/processors/index.js.map +1 -0
  609. package/dist/processors/processors/batch-parts.d.ts +47 -0
  610. package/dist/processors/processors/batch-parts.d.ts.map +1 -0
  611. package/dist/processors/processors/index.d.ts +10 -0
  612. package/dist/processors/processors/index.d.ts.map +1 -0
  613. package/dist/processors/processors/language-detector.d.ts +153 -0
  614. package/dist/processors/processors/language-detector.d.ts.map +1 -0
  615. package/dist/processors/processors/moderation.d.ts +138 -0
  616. package/dist/processors/processors/moderation.d.ts.map +1 -0
  617. package/dist/processors/processors/pii-detector.d.ts +203 -0
  618. package/dist/processors/processors/pii-detector.d.ts.map +1 -0
  619. package/dist/processors/processors/prompt-injection-detector.d.ts +116 -0
  620. package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -0
  621. package/dist/processors/processors/structured-output.d.ts +53 -0
  622. package/dist/processors/processors/structured-output.d.ts.map +1 -0
  623. package/dist/processors/processors/system-prompt-scrubber.d.ts +105 -0
  624. package/dist/processors/processors/system-prompt-scrubber.d.ts.map +1 -0
  625. package/dist/processors/processors/token-limiter.d.ts +66 -0
  626. package/dist/processors/processors/token-limiter.d.ts.map +1 -0
  627. package/dist/processors/processors/unicode-normalizer.d.ts +34 -0
  628. package/dist/processors/processors/unicode-normalizer.d.ts.map +1 -0
  629. package/dist/processors/runner.d.ts +46 -0
  630. package/dist/processors/runner.d.ts.map +1 -0
  631. package/dist/provider-registry-RUDYHG7J.cjs +40 -0
  632. package/dist/provider-registry-RUDYHG7J.cjs.map +1 -0
  633. package/dist/provider-registry-THITZUJ7.js +3 -0
  634. package/dist/provider-registry-THITZUJ7.js.map +1 -0
  635. package/dist/provider-registry.json +2748 -0
  636. package/dist/registry-generator-DL42NMBM.cjs +134 -0
  637. package/dist/registry-generator-DL42NMBM.cjs.map +1 -0
  638. package/dist/registry-generator-I6S4ARS6.js +124 -0
  639. package/dist/registry-generator-I6S4ARS6.js.map +1 -0
  640. package/dist/relevance/cohere/index.d.ts +9 -0
  641. package/dist/relevance/cohere/index.d.ts.map +1 -0
  642. package/dist/relevance/index.cjs +20 -0
  643. package/dist/relevance/index.cjs.map +1 -0
  644. package/dist/relevance/index.d.ts +4 -0
  645. package/dist/relevance/index.d.ts.map +1 -0
  646. package/dist/relevance/index.js +3 -0
  647. package/dist/relevance/index.js.map +1 -0
  648. package/dist/relevance/mastra-agent/index.d.ts +8 -0
  649. package/dist/relevance/mastra-agent/index.d.ts.map +1 -0
  650. package/dist/relevance/relevance-score-provider.d.ts +5 -0
  651. package/dist/relevance/relevance-score-provider.d.ts.map +1 -0
  652. package/dist/run/types.d.ts +6 -0
  653. package/dist/run/types.d.ts.map +1 -0
  654. package/dist/runtime-context/index.cjs +12 -0
  655. package/dist/runtime-context/index.cjs.map +1 -0
  656. package/dist/runtime-context/index.d.ts +57 -0
  657. package/dist/runtime-context/index.d.ts.map +1 -0
  658. package/dist/runtime-context/index.js +3 -0
  659. package/dist/runtime-context/index.js.map +1 -0
  660. package/dist/scores/base.d.ts +141 -0
  661. package/dist/scores/base.d.ts.map +1 -0
  662. package/dist/scores/base.test-utils.d.ts +124 -0
  663. package/dist/scores/base.test-utils.d.ts.map +1 -0
  664. package/dist/scores/hooks.d.ts +19 -0
  665. package/dist/scores/hooks.d.ts.map +1 -0
  666. package/dist/scores/index.cjs +37 -0
  667. package/dist/scores/index.cjs.map +1 -0
  668. package/dist/scores/index.d.ts +4 -0
  669. package/dist/scores/index.d.ts.map +1 -0
  670. package/dist/scores/index.js +4 -0
  671. package/dist/scores/index.js.map +1 -0
  672. package/dist/scores/run-experiment/index.d.ts +61 -0
  673. package/dist/scores/run-experiment/index.d.ts.map +1 -0
  674. package/dist/scores/run-experiment/scorerAccumulator.d.ts +12 -0
  675. package/dist/scores/run-experiment/scorerAccumulator.d.ts.map +1 -0
  676. package/dist/scores/scoreTraces/index.cjs +431 -0
  677. package/dist/scores/scoreTraces/index.cjs.map +1 -0
  678. package/dist/scores/scoreTraces/index.d.ts +3 -0
  679. package/dist/scores/scoreTraces/index.d.ts.map +1 -0
  680. package/dist/scores/scoreTraces/index.js +423 -0
  681. package/dist/scores/scoreTraces/index.js.map +1 -0
  682. package/dist/scores/scoreTraces/scoreTraces.d.ts +10 -0
  683. package/dist/scores/scoreTraces/scoreTraces.d.ts.map +1 -0
  684. package/dist/scores/scoreTraces/scoreTracesWorkflow.d.ts +95 -0
  685. package/dist/scores/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -0
  686. package/dist/scores/scoreTraces/utils.d.ts +21 -0
  687. package/dist/scores/scoreTraces/utils.d.ts.map +1 -0
  688. package/dist/scores/types.d.ts +191 -0
  689. package/dist/scores/types.d.ts.map +1 -0
  690. package/dist/server/auth.d.ts +36 -0
  691. package/dist/server/auth.d.ts.map +1 -0
  692. package/dist/server/composite-auth.d.ts +9 -0
  693. package/dist/server/composite-auth.d.ts.map +1 -0
  694. package/dist/server/index.cjs +185 -0
  695. package/dist/server/index.cjs.map +1 -0
  696. package/dist/server/index.d.ts +37 -0
  697. package/dist/server/index.d.ts.map +1 -0
  698. package/dist/server/index.js +180 -0
  699. package/dist/server/index.js.map +1 -0
  700. package/dist/server/simple-auth.d.ts +32 -0
  701. package/dist/server/simple-auth.d.ts.map +1 -0
  702. package/dist/server/types.d.ts +140 -0
  703. package/dist/server/types.d.ts.map +1 -0
  704. package/dist/storage/base.d.ts +360 -0
  705. package/dist/storage/base.d.ts.map +1 -0
  706. package/dist/storage/base.warning.d.ts +8 -0
  707. package/dist/storage/base.warning.d.ts.map +1 -0
  708. package/dist/storage/constants.d.ts +14 -0
  709. package/dist/storage/constants.d.ts.map +1 -0
  710. package/dist/storage/domains/index.d.ts +8 -0
  711. package/dist/storage/domains/index.d.ts.map +1 -0
  712. package/dist/storage/domains/legacy-evals/base.d.ts +13 -0
  713. package/dist/storage/domains/legacy-evals/base.d.ts.map +1 -0
  714. package/dist/storage/domains/legacy-evals/index.d.ts +2 -0
  715. package/dist/storage/domains/legacy-evals/index.d.ts.map +1 -0
  716. package/dist/storage/domains/legacy-evals/inmemory.d.ts +17 -0
  717. package/dist/storage/domains/legacy-evals/inmemory.d.ts.map +1 -0
  718. package/dist/storage/domains/memory/base.d.ts +96 -0
  719. package/dist/storage/domains/memory/base.d.ts.map +1 -0
  720. package/dist/storage/domains/memory/index.d.ts +3 -0
  721. package/dist/storage/domains/memory/index.d.ts.map +1 -0
  722. package/dist/storage/domains/memory/inmemory.d.ts +85 -0
  723. package/dist/storage/domains/memory/inmemory.d.ts.map +1 -0
  724. package/dist/storage/domains/observability/base.d.ts +60 -0
  725. package/dist/storage/domains/observability/base.d.ts.map +1 -0
  726. package/dist/storage/domains/observability/index.d.ts +3 -0
  727. package/dist/storage/domains/observability/index.d.ts.map +1 -0
  728. package/dist/storage/domains/observability/inmemory.d.ts +48 -0
  729. package/dist/storage/domains/observability/inmemory.d.ts.map +1 -0
  730. package/dist/storage/domains/operations/base.d.ts +68 -0
  731. package/dist/storage/domains/operations/base.d.ts.map +1 -0
  732. package/dist/storage/domains/operations/index.d.ts +3 -0
  733. package/dist/storage/domains/operations/index.d.ts.map +1 -0
  734. package/dist/storage/domains/operations/inmemory.d.ts +37 -0
  735. package/dist/storage/domains/operations/inmemory.d.ts.map +1 -0
  736. package/dist/storage/domains/scores/base.d.ts +46 -0
  737. package/dist/storage/domains/scores/base.d.ts.map +1 -0
  738. package/dist/storage/domains/scores/index.d.ts +3 -0
  739. package/dist/storage/domains/scores/index.d.ts.map +1 -0
  740. package/dist/storage/domains/scores/inmemory.d.ts +50 -0
  741. package/dist/storage/domains/scores/inmemory.d.ts.map +1 -0
  742. package/dist/storage/domains/traces/base.d.ts +14 -0
  743. package/dist/storage/domains/traces/base.d.ts.map +1 -0
  744. package/dist/storage/domains/traces/index.d.ts +3 -0
  745. package/dist/storage/domains/traces/index.d.ts.map +1 -0
  746. package/dist/storage/domains/traces/inmemory.d.ts +22 -0
  747. package/dist/storage/domains/traces/inmemory.d.ts.map +1 -0
  748. package/dist/storage/domains/workflows/base.d.ts +47 -0
  749. package/dist/storage/domains/workflows/base.d.ts.map +1 -0
  750. package/dist/storage/domains/workflows/index.d.ts +3 -0
  751. package/dist/storage/domains/workflows/index.d.ts.map +1 -0
  752. package/dist/storage/domains/workflows/inmemory.d.ts +54 -0
  753. package/dist/storage/domains/workflows/inmemory.d.ts.map +1 -0
  754. package/dist/storage/index.cjs +1821 -0
  755. package/dist/storage/index.cjs.map +1 -0
  756. package/dist/storage/index.d.ts +7 -0
  757. package/dist/storage/index.d.ts.map +1 -0
  758. package/dist/storage/index.js +1746 -0
  759. package/dist/storage/index.js.map +1 -0
  760. package/dist/storage/index.warning.d.ts +3 -0
  761. package/dist/storage/index.warning.d.ts.map +1 -0
  762. package/dist/storage/mock.d.ts +242 -0
  763. package/dist/storage/mock.d.ts.map +1 -0
  764. package/dist/storage/storageWithInit.d.ts +3 -0
  765. package/dist/storage/storageWithInit.d.ts.map +1 -0
  766. package/dist/storage/types.d.ts +206 -0
  767. package/dist/storage/types.d.ts.map +1 -0
  768. package/dist/storage/utils.d.ts +2 -0
  769. package/dist/storage/utils.d.ts.map +1 -0
  770. package/dist/stream/MastraAgentNetworkStream.d.ts +22 -0
  771. package/dist/stream/MastraAgentNetworkStream.d.ts.map +1 -0
  772. package/dist/stream/MastraWorkflowStream.d.ts +19 -0
  773. package/dist/stream/MastraWorkflowStream.d.ts.map +1 -0
  774. package/dist/stream/RunOutput.d.ts +72 -0
  775. package/dist/stream/RunOutput.d.ts.map +1 -0
  776. package/dist/stream/aisdk/v4/input.d.ts +16 -0
  777. package/dist/stream/aisdk/v4/input.d.ts.map +1 -0
  778. package/dist/stream/aisdk/v4/transform.d.ts +5 -0
  779. package/dist/stream/aisdk/v4/transform.d.ts.map +1 -0
  780. package/dist/stream/aisdk/v5/compat/consume-stream.d.ts +8 -0
  781. package/dist/stream/aisdk/v5/compat/consume-stream.d.ts.map +1 -0
  782. package/dist/stream/aisdk/v5/compat/content.d.ts +7 -0
  783. package/dist/stream/aisdk/v5/compat/content.d.ts.map +1 -0
  784. package/dist/stream/aisdk/v5/compat/delayed-promise.d.ts +23 -0
  785. package/dist/stream/aisdk/v5/compat/delayed-promise.d.ts.map +1 -0
  786. package/dist/stream/aisdk/v5/compat/index.d.ts +8 -0
  787. package/dist/stream/aisdk/v5/compat/index.d.ts.map +1 -0
  788. package/dist/stream/aisdk/v5/compat/media.d.ts +91 -0
  789. package/dist/stream/aisdk/v5/compat/media.d.ts.map +1 -0
  790. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts +11 -0
  791. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -0
  792. package/dist/stream/aisdk/v5/compat/ui-message.d.ts +20 -0
  793. package/dist/stream/aisdk/v5/compat/ui-message.d.ts.map +1 -0
  794. package/dist/stream/aisdk/v5/compat/validation.d.ts +17 -0
  795. package/dist/stream/aisdk/v5/compat/validation.d.ts.map +1 -0
  796. package/dist/stream/aisdk/v5/execute.d.ts +41 -0
  797. package/dist/stream/aisdk/v5/execute.d.ts.map +1 -0
  798. package/dist/stream/aisdk/v5/file.d.ts +38 -0
  799. package/dist/stream/aisdk/v5/file.d.ts.map +1 -0
  800. package/dist/stream/aisdk/v5/input.d.ts +16 -0
  801. package/dist/stream/aisdk/v5/input.d.ts.map +1 -0
  802. package/dist/stream/aisdk/v5/output-helpers.d.ts +66 -0
  803. package/dist/stream/aisdk/v5/output-helpers.d.ts.map +1 -0
  804. package/dist/stream/aisdk/v5/output.d.ts +173 -0
  805. package/dist/stream/aisdk/v5/output.d.ts.map +1 -0
  806. package/dist/stream/aisdk/v5/test-utils.d.ts +19 -0
  807. package/dist/stream/aisdk/v5/test-utils.d.ts.map +1 -0
  808. package/dist/stream/aisdk/v5/transform.d.ts +27 -0
  809. package/dist/stream/aisdk/v5/transform.d.ts.map +1 -0
  810. package/dist/stream/base/base.d.ts +7 -0
  811. package/dist/stream/base/base.d.ts.map +1 -0
  812. package/dist/stream/base/consume-stream.d.ts +5 -0
  813. package/dist/stream/base/consume-stream.d.ts.map +1 -0
  814. package/dist/stream/base/index.d.ts +2 -0
  815. package/dist/stream/base/index.d.ts.map +1 -0
  816. package/dist/stream/base/input.d.ts +16 -0
  817. package/dist/stream/base/input.d.ts.map +1 -0
  818. package/dist/stream/base/output-format-handlers.d.ts +29 -0
  819. package/dist/stream/base/output-format-handlers.d.ts.map +1 -0
  820. package/dist/stream/base/output.d.ts +313 -0
  821. package/dist/stream/base/output.d.ts.map +1 -0
  822. package/dist/stream/base/schema.d.ts +31 -0
  823. package/dist/stream/base/schema.d.ts.map +1 -0
  824. package/dist/stream/index.cjs +45 -0
  825. package/dist/stream/index.cjs.map +1 -0
  826. package/dist/stream/index.d.ts +11 -0
  827. package/dist/stream/index.d.ts.map +1 -0
  828. package/dist/stream/index.js +4 -0
  829. package/dist/stream/index.js.map +1 -0
  830. package/dist/stream/types.d.ts +734 -0
  831. package/dist/stream/types.d.ts.map +1 -0
  832. package/dist/telemetry/composite-exporter.d.ts +10 -0
  833. package/dist/telemetry/composite-exporter.d.ts.map +1 -0
  834. package/dist/telemetry/index.cjs +32 -0
  835. package/dist/telemetry/index.cjs.map +1 -0
  836. package/dist/telemetry/index.d.ts +6 -0
  837. package/dist/telemetry/index.d.ts.map +1 -0
  838. package/dist/telemetry/index.js +3 -0
  839. package/dist/telemetry/index.js.map +1 -0
  840. package/dist/telemetry/otel-vendor.cjs +105 -0
  841. package/dist/telemetry/otel-vendor.cjs.map +1 -0
  842. package/dist/telemetry/otel-vendor.d.ts +11 -0
  843. package/dist/telemetry/otel-vendor.d.ts.map +1 -0
  844. package/dist/telemetry/otel-vendor.js +59 -0
  845. package/dist/telemetry/otel-vendor.js.map +1 -0
  846. package/dist/telemetry/storage-exporter.d.ts +21 -0
  847. package/dist/telemetry/storage-exporter.d.ts.map +1 -0
  848. package/dist/telemetry/telemetry.d.ts +59 -0
  849. package/dist/telemetry/telemetry.d.ts.map +1 -0
  850. package/dist/telemetry/telemetry.decorators.d.ts +15 -0
  851. package/dist/telemetry/telemetry.decorators.d.ts.map +1 -0
  852. package/dist/telemetry/types.d.ts +74 -0
  853. package/dist/telemetry/types.d.ts.map +1 -0
  854. package/dist/telemetry/utility.d.ts +15 -0
  855. package/dist/telemetry/utility.d.ts.map +1 -0
  856. package/dist/test-utils/llm-mock.cjs +181 -0
  857. package/dist/test-utils/llm-mock.cjs.map +1 -0
  858. package/dist/test-utils/llm-mock.d.ts +21 -0
  859. package/dist/test-utils/llm-mock.d.ts.map +1 -0
  860. package/dist/test-utils/llm-mock.js +178 -0
  861. package/dist/test-utils/llm-mock.js.map +1 -0
  862. package/dist/tools/index.cjs +25 -0
  863. package/dist/tools/index.cjs.map +1 -0
  864. package/dist/tools/index.d.ts +6 -0
  865. package/dist/tools/index.d.ts.map +1 -0
  866. package/dist/tools/index.js +4 -0
  867. package/dist/tools/index.js.map +1 -0
  868. package/dist/tools/index.warning.d.ts +8 -0
  869. package/dist/tools/index.warning.d.ts.map +1 -0
  870. package/dist/tools/is-vercel-tool.cjs +12 -0
  871. package/dist/tools/is-vercel-tool.cjs.map +1 -0
  872. package/dist/tools/is-vercel-tool.d.ts +2 -0
  873. package/dist/tools/is-vercel-tool.d.ts.map +1 -0
  874. package/dist/tools/is-vercel-tool.js +3 -0
  875. package/dist/tools/is-vercel-tool.js.map +1 -0
  876. package/dist/tools/stream.d.ts +19 -0
  877. package/dist/tools/stream.d.ts.map +1 -0
  878. package/dist/tools/tool-builder/builder.d.ts +28 -0
  879. package/dist/tools/tool-builder/builder.d.ts.map +1 -0
  880. package/dist/tools/tool.d.ts +186 -0
  881. package/dist/tools/tool.d.ts.map +1 -0
  882. package/dist/tools/toolchecks.d.ts +9 -0
  883. package/dist/tools/toolchecks.d.ts.map +1 -0
  884. package/dist/tools/types.d.ts +70 -0
  885. package/dist/tools/types.d.ts.map +1 -0
  886. package/dist/tools/ui-types.d.ts +39 -0
  887. package/dist/tools/ui-types.d.ts.map +1 -0
  888. package/dist/tools/validation.d.ts +19 -0
  889. package/dist/tools/validation.d.ts.map +1 -0
  890. package/dist/tts/index.cjs +12 -0
  891. package/dist/tts/index.cjs.map +1 -0
  892. package/dist/tts/index.d.ts +22 -0
  893. package/dist/tts/index.d.ts.map +1 -0
  894. package/dist/tts/index.js +3 -0
  895. package/dist/tts/index.js.map +1 -0
  896. package/dist/tts/index.warning.d.ts +7 -0
  897. package/dist/tts/index.warning.d.ts.map +1 -0
  898. package/dist/types/dynamic-argument.d.ts +9 -0
  899. package/dist/types/dynamic-argument.d.ts.map +1 -0
  900. package/dist/types/index.cjs +4 -0
  901. package/dist/types/index.cjs.map +1 -0
  902. package/dist/types/index.d.ts +2 -0
  903. package/dist/types/index.d.ts.map +1 -0
  904. package/dist/types/index.js +3 -0
  905. package/dist/types/index.js.map +1 -0
  906. package/dist/types/zod-compat.d.ts +23 -0
  907. package/dist/types/zod-compat.d.ts.map +1 -0
  908. package/dist/utils.cjs +72 -0
  909. package/dist/utils.cjs.map +1 -0
  910. package/dist/utils.d.ts +148 -0
  911. package/dist/utils.d.ts.map +1 -0
  912. package/dist/utils.js +3 -0
  913. package/dist/utils.js.map +1 -0
  914. package/dist/vector/embed.d.ts +3 -0
  915. package/dist/vector/embed.d.ts.map +1 -0
  916. package/dist/vector/filter/base.d.ts +128 -0
  917. package/dist/vector/filter/base.d.ts.map +1 -0
  918. package/dist/vector/filter/index.cjs +12 -0
  919. package/dist/vector/filter/index.cjs.map +1 -0
  920. package/dist/vector/filter/index.d.ts +2 -0
  921. package/dist/vector/filter/index.d.ts.map +1 -0
  922. package/dist/vector/filter/index.js +3 -0
  923. package/dist/vector/filter/index.js.map +1 -0
  924. package/dist/vector/index.cjs +25 -0
  925. package/dist/vector/index.cjs.map +1 -0
  926. package/dist/vector/index.d.ts +5 -0
  927. package/dist/vector/index.d.ts.map +1 -0
  928. package/dist/vector/index.js +4 -0
  929. package/dist/vector/index.js.map +1 -0
  930. package/dist/vector/index.warning.d.ts +6 -0
  931. package/dist/vector/index.warning.d.ts.map +1 -0
  932. package/dist/vector/types.d.ts +152 -0
  933. package/dist/vector/types.d.ts.map +1 -0
  934. package/dist/vector/vector.d.ts +57 -0
  935. package/dist/vector/vector.d.ts.map +1 -0
  936. package/dist/voice/aisdk/index.d.ts +3 -0
  937. package/dist/voice/aisdk/index.d.ts.map +1 -0
  938. package/dist/voice/aisdk/speech.d.ts +23 -0
  939. package/dist/voice/aisdk/speech.d.ts.map +1 -0
  940. package/dist/voice/aisdk/transcription.d.ts +22 -0
  941. package/dist/voice/aisdk/transcription.d.ts.map +1 -0
  942. package/dist/voice/composite-voice.d.ts +78 -0
  943. package/dist/voice/composite-voice.d.ts.map +1 -0
  944. package/dist/voice/default-voice.d.ts +13 -0
  945. package/dist/voice/default-voice.d.ts.map +1 -0
  946. package/dist/voice/index.cjs +28 -0
  947. package/dist/voice/index.cjs.map +1 -0
  948. package/dist/voice/index.d.ts +5 -0
  949. package/dist/voice/index.d.ts.map +1 -0
  950. package/dist/voice/index.js +3 -0
  951. package/dist/voice/index.js.map +1 -0
  952. package/dist/voice/voice.d.ts +132 -0
  953. package/dist/voice/voice.d.ts.map +1 -0
  954. package/dist/workflows/constants.cjs +16 -0
  955. package/dist/workflows/constants.cjs.map +1 -0
  956. package/dist/workflows/constants.d.ts +3 -0
  957. package/dist/workflows/constants.d.ts.map +1 -0
  958. package/dist/workflows/constants.js +3 -0
  959. package/dist/workflows/constants.js.map +1 -0
  960. package/dist/workflows/default.d.ts +345 -0
  961. package/dist/workflows/default.d.ts.map +1 -0
  962. package/dist/workflows/evented/execution-engine.d.ts +41 -0
  963. package/dist/workflows/evented/execution-engine.d.ts.map +1 -0
  964. package/dist/workflows/evented/index.cjs +44 -0
  965. package/dist/workflows/evented/index.cjs.map +1 -0
  966. package/dist/workflows/evented/index.d.ts +5 -0
  967. package/dist/workflows/evented/index.d.ts.map +1 -0
  968. package/dist/workflows/evented/index.js +3 -0
  969. package/dist/workflows/evented/index.js.map +1 -0
  970. package/dist/workflows/evented/step-executor.d.ts +90 -0
  971. package/dist/workflows/evented/step-executor.d.ts.map +1 -0
  972. package/dist/workflows/evented/workflow-event-processor/index.d.ts +54 -0
  973. package/dist/workflows/evented/workflow-event-processor/index.d.ts.map +1 -0
  974. package/dist/workflows/evented/workflow-event-processor/loop.d.ts +21 -0
  975. package/dist/workflows/evented/workflow-event-processor/loop.d.ts.map +1 -0
  976. package/dist/workflows/evented/workflow-event-processor/parallel.d.ts +18 -0
  977. package/dist/workflows/evented/workflow-event-processor/parallel.d.ts.map +1 -0
  978. package/dist/workflows/evented/workflow-event-processor/sleep.d.ts +24 -0
  979. package/dist/workflows/evented/workflow-event-processor/sleep.d.ts.map +1 -0
  980. package/dist/workflows/evented/workflow-event-processor/utils.d.ts +30 -0
  981. package/dist/workflows/evented/workflow-event-processor/utils.d.ts.map +1 -0
  982. package/dist/workflows/evented/workflow.d.ts +81 -0
  983. package/dist/workflows/evented/workflow.d.ts.map +1 -0
  984. package/dist/workflows/execution-engine.d.ts +75 -0
  985. package/dist/workflows/execution-engine.d.ts.map +1 -0
  986. package/dist/workflows/index.cjs +60 -0
  987. package/dist/workflows/index.cjs.map +1 -0
  988. package/dist/workflows/index.d.ts +7 -0
  989. package/dist/workflows/index.d.ts.map +1 -0
  990. package/dist/workflows/index.js +3 -0
  991. package/dist/workflows/index.js.map +1 -0
  992. package/dist/workflows/index.warning.d.ts +6 -0
  993. package/dist/workflows/index.warning.d.ts.map +1 -0
  994. package/dist/workflows/legacy/index.cjs +92 -0
  995. package/dist/workflows/legacy/index.cjs.map +1 -0
  996. package/dist/workflows/legacy/index.d.ts +5 -0
  997. package/dist/workflows/legacy/index.d.ts.map +1 -0
  998. package/dist/workflows/legacy/index.js +3 -0
  999. package/dist/workflows/legacy/index.js.map +1 -0
  1000. package/dist/workflows/legacy/machine.d.ts +386 -0
  1001. package/dist/workflows/legacy/machine.d.ts.map +1 -0
  1002. package/dist/workflows/legacy/step.d.ts +15 -0
  1003. package/dist/workflows/legacy/step.d.ts.map +1 -0
  1004. package/dist/workflows/legacy/types.d.ts +397 -0
  1005. package/dist/workflows/legacy/types.d.ts.map +1 -0
  1006. package/dist/workflows/legacy/utils.d.ts +68 -0
  1007. package/dist/workflows/legacy/utils.d.ts.map +1 -0
  1008. package/dist/workflows/legacy/workflow-instance.d.ts +97 -0
  1009. package/dist/workflows/legacy/workflow-instance.d.ts.map +1 -0
  1010. package/dist/workflows/legacy/workflow.d.ts +109 -0
  1011. package/dist/workflows/legacy/workflow.d.ts.map +1 -0
  1012. package/dist/workflows/step.d.ts +64 -0
  1013. package/dist/workflows/step.d.ts.map +1 -0
  1014. package/dist/workflows/types.d.ts +351 -0
  1015. package/dist/workflows/types.d.ts.map +1 -0
  1016. package/dist/workflows/utils.d.ts +19 -0
  1017. package/dist/workflows/utils.d.ts.map +1 -0
  1018. package/dist/workflows/workflow.d.ts +493 -0
  1019. package/dist/workflows/workflow.d.ts.map +1 -0
  1020. package/dist/workflows/workflow.warning.d.ts +9 -0
  1021. package/dist/workflows/workflow.warning.d.ts.map +1 -0
  1022. package/dist/zod-to-json.cjs +12 -0
  1023. package/dist/zod-to-json.cjs.map +1 -0
  1024. package/dist/zod-to-json.d.ts +2 -0
  1025. package/dist/zod-to-json.d.ts.map +1 -0
  1026. package/dist/zod-to-json.js +3 -0
  1027. package/dist/zod-to-json.js.map +1 -0
  1028. package/error.d.ts +1 -0
  1029. package/eval.d.ts +1 -0
  1030. package/events.d.ts +1 -0
  1031. package/hooks.d.ts +1 -0
  1032. package/integration.d.ts +1 -0
  1033. package/llm.d.ts +1 -0
  1034. package/logger.d.ts +1 -0
  1035. package/loop.d.ts +1 -0
  1036. package/mastra.d.ts +1 -0
  1037. package/mcp.d.ts +1 -0
  1038. package/memory.d.ts +1 -0
  1039. package/package.json +305 -0
  1040. package/processors.d.ts +1 -0
  1041. package/relevance.d.ts +1 -0
  1042. package/runtime-context.d.ts +1 -0
  1043. package/scores/scoreTraces.d.ts +1 -0
  1044. package/scores.d.ts +1 -0
  1045. package/server.d.ts +1 -0
  1046. package/src/llm/model/provider-types.generated.d.ts +1205 -0
  1047. package/storage.d.ts +1 -0
  1048. package/stream.d.ts +1 -0
  1049. package/telemetry/otel-vendor.d.ts +1 -0
  1050. package/telemetry.d.ts +1 -0
  1051. package/test-utils/llm-mock.d.ts +1 -0
  1052. package/tools/is-vercel-tool.d.ts +1 -0
  1053. package/tools.d.ts +1 -0
  1054. package/tts.d.ts +1 -0
  1055. package/types.d.ts +1 -0
  1056. package/utils/zod-to-json.d.ts +1 -0
  1057. package/utils.d.ts +1 -0
  1058. package/vector/filter.d.ts +1 -0
  1059. package/vector.d.ts +1 -0
  1060. package/voice.d.ts +1 -0
  1061. package/workflows/_constants.d.ts +1 -0
  1062. package/workflows/evented.d.ts +1 -0
  1063. package/workflows/legacy.d.ts +1 -0
  1064. package/workflows.d.ts +1 -0
@@ -0,0 +1,2554 @@
1
+ 'use strict';
2
+
3
+ var chunkG3KSVDML_cjs = require('./chunk-G3KSVDML.cjs');
4
+ var chunkABJOUEVA_cjs = require('./chunk-ABJOUEVA.cjs');
5
+ var chunkGPWMM745_cjs = require('./chunk-GPWMM745.cjs');
6
+ var chunk5NTO7S5I_cjs = require('./chunk-5NTO7S5I.cjs');
7
+ var chunkVF676YCO_cjs = require('./chunk-VF676YCO.cjs');
8
+ var chunk6VOPKVYH_cjs = require('./chunk-6VOPKVYH.cjs');
9
+ var chunkA5KDVZDL_cjs = require('./chunk-A5KDVZDL.cjs');
10
+ var EventEmitter = require('events');
11
+ var crypto = require('crypto');
12
+ var z = require('zod');
13
+
14
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
15
+
16
+ var EventEmitter__default = /*#__PURE__*/_interopDefault(EventEmitter);
17
+ var z__default = /*#__PURE__*/_interopDefault(z);
18
+
19
+ var StepExecutor = class extends chunk6VOPKVYH_cjs.MastraBase {
20
+ mastra;
21
+ constructor({ mastra }) {
22
+ super({ name: "StepExecutor", component: chunkA5KDVZDL_cjs.RegisteredLogger.WORKFLOW });
23
+ this.mastra = mastra;
24
+ }
25
+ __registerMastra(mastra) {
26
+ this.mastra = mastra;
27
+ }
28
+ async execute(params) {
29
+ const { step, stepResults, runId, runtimeContext, runCount = 0 } = params;
30
+ const abortController = new AbortController();
31
+ let suspended;
32
+ let bailed;
33
+ const startedAt = Date.now();
34
+ const { inputData, validationError } = await chunkG3KSVDML_cjs.validateStepInput({
35
+ prevOutput: typeof params.foreachIdx === "number" ? params.input?.[params.foreachIdx] : params.input,
36
+ step,
37
+ validateInputs: params.validateInputs ?? false
38
+ });
39
+ let stepInfo = {
40
+ ...stepResults[step.id],
41
+ startedAt,
42
+ payload: (typeof params.foreachIdx === "number" ? params.input : inputData) ?? {}
43
+ };
44
+ if (params.resumeData) {
45
+ delete stepInfo.suspendPayload?.["__workflow_meta"];
46
+ stepInfo.resumePayload = params.resumeData;
47
+ stepInfo.resumedAt = Date.now();
48
+ }
49
+ try {
50
+ if (validationError) {
51
+ throw validationError;
52
+ }
53
+ const stepResult = await step.execute({
54
+ workflowId: params.workflowId,
55
+ runId,
56
+ mastra: this.mastra,
57
+ runtimeContext,
58
+ inputData,
59
+ state: params.state,
60
+ setState: (state) => {
61
+ params.state = state;
62
+ },
63
+ runCount,
64
+ resumeData: params.resumeData,
65
+ getInitData: () => stepResults?.input,
66
+ getStepResult: chunkG3KSVDML_cjs.getStepResult.bind(this, stepResults),
67
+ suspend: async (suspendPayload) => {
68
+ suspended = { payload: { ...suspendPayload, __workflow_meta: { runId, path: [step.id] } } };
69
+ },
70
+ bail: (result) => {
71
+ bailed = { payload: result };
72
+ },
73
+ // TODO
74
+ writer: void 0,
75
+ abort: () => {
76
+ abortController?.abort();
77
+ },
78
+ [chunkABJOUEVA_cjs.EMITTER_SYMBOL]: params.emitter,
79
+ // TODO: refactor this to use our PubSub actually
80
+ [chunkABJOUEVA_cjs.STREAM_FORMAT_SYMBOL]: void 0,
81
+ // TODO
82
+ engine: {},
83
+ abortSignal: abortController?.signal,
84
+ // TODO
85
+ tracingContext: {}
86
+ });
87
+ const endedAt = Date.now();
88
+ let finalResult;
89
+ if (suspended) {
90
+ finalResult = {
91
+ ...stepInfo,
92
+ status: "suspended",
93
+ suspendedAt: endedAt
94
+ };
95
+ if (suspended.payload) {
96
+ finalResult.suspendPayload = suspended.payload;
97
+ }
98
+ } else if (bailed) {
99
+ finalResult = {
100
+ ...stepInfo,
101
+ // @ts-ignore
102
+ status: "bailed",
103
+ endedAt,
104
+ output: bailed.payload
105
+ };
106
+ } else {
107
+ finalResult = {
108
+ ...stepInfo,
109
+ status: "success",
110
+ endedAt,
111
+ output: stepResult
112
+ };
113
+ }
114
+ return finalResult;
115
+ } catch (error) {
116
+ const endedAt = Date.now();
117
+ return {
118
+ ...stepInfo,
119
+ status: "failed",
120
+ endedAt,
121
+ error: error instanceof Error ? error?.stack ?? error.message : error
122
+ };
123
+ }
124
+ }
125
+ async evaluateConditions(params) {
126
+ const { step, stepResults, runId, runtimeContext, runCount = 0 } = params;
127
+ const abortController = new AbortController();
128
+ const ee = new EventEmitter__default.default();
129
+ const results = await Promise.all(
130
+ step.conditions.map((condition) => {
131
+ try {
132
+ return this.evaluateCondition({
133
+ workflowId: params.workflowId,
134
+ condition,
135
+ runId,
136
+ runtimeContext,
137
+ inputData: params.input,
138
+ state: params.state,
139
+ runCount,
140
+ resumeData: params.resumeData,
141
+ abortController,
142
+ stepResults,
143
+ emitter: ee,
144
+ iterationCount: 0
145
+ });
146
+ } catch (e) {
147
+ console.error("error evaluating condition", e);
148
+ return false;
149
+ }
150
+ })
151
+ );
152
+ const idxs = results.reduce((acc, result, idx) => {
153
+ if (result) {
154
+ acc.push(idx);
155
+ }
156
+ return acc;
157
+ }, []);
158
+ return idxs;
159
+ }
160
+ async evaluateCondition({
161
+ workflowId,
162
+ condition,
163
+ runId,
164
+ inputData,
165
+ resumeData,
166
+ stepResults,
167
+ state,
168
+ runtimeContext,
169
+ emitter,
170
+ abortController,
171
+ runCount = 0,
172
+ iterationCount
173
+ }) {
174
+ return condition({
175
+ workflowId,
176
+ runId,
177
+ mastra: this.mastra,
178
+ runtimeContext,
179
+ inputData,
180
+ state,
181
+ setState: (_state) => {
182
+ },
183
+ runCount,
184
+ resumeData,
185
+ getInitData: () => stepResults?.input,
186
+ getStepResult: chunkG3KSVDML_cjs.getStepResult.bind(this, stepResults),
187
+ suspend: async (_suspendPayload) => {
188
+ throw new Error("Not implemented");
189
+ },
190
+ bail: (_result) => {
191
+ throw new Error("Not implemented");
192
+ },
193
+ // TODO
194
+ writer: void 0,
195
+ abort: () => {
196
+ abortController?.abort();
197
+ },
198
+ [chunkABJOUEVA_cjs.EMITTER_SYMBOL]: emitter,
199
+ // TODO: refactor this to use our PubSub actually
200
+ [chunkABJOUEVA_cjs.STREAM_FORMAT_SYMBOL]: void 0,
201
+ // TODO
202
+ engine: {},
203
+ abortSignal: abortController?.signal,
204
+ // TODO
205
+ tracingContext: {},
206
+ iterationCount
207
+ });
208
+ }
209
+ async resolveSleep(params) {
210
+ const { step, stepResults, runId, runtimeContext, runCount = 0 } = params;
211
+ const abortController = new AbortController();
212
+ const ee = new EventEmitter__default.default();
213
+ if (step.duration) {
214
+ return step.duration;
215
+ }
216
+ if (!step.fn) {
217
+ return 0;
218
+ }
219
+ try {
220
+ return await step.fn({
221
+ workflowId: params.workflowId,
222
+ runId,
223
+ mastra: this.mastra,
224
+ runtimeContext,
225
+ inputData: params.input,
226
+ // TODO: implement state
227
+ state: {},
228
+ setState: (_state) => {
229
+ },
230
+ runCount,
231
+ resumeData: params.resumeData,
232
+ getInitData: () => stepResults?.input,
233
+ getStepResult: chunkG3KSVDML_cjs.getStepResult.bind(this, stepResults),
234
+ suspend: async (_suspendPayload) => {
235
+ throw new Error("Not implemented");
236
+ },
237
+ bail: (_result) => {
238
+ throw new Error("Not implemented");
239
+ },
240
+ abort: () => {
241
+ abortController?.abort();
242
+ },
243
+ // TODO
244
+ writer: void 0,
245
+ [chunkABJOUEVA_cjs.EMITTER_SYMBOL]: ee,
246
+ // TODO: refactor this to use our PubSub actually
247
+ [chunkABJOUEVA_cjs.STREAM_FORMAT_SYMBOL]: void 0,
248
+ // TODO
249
+ engine: {},
250
+ abortSignal: abortController?.signal,
251
+ // TODO
252
+ tracingContext: {}
253
+ });
254
+ } catch (e) {
255
+ console.error("error evaluating condition", e);
256
+ return 0;
257
+ }
258
+ }
259
+ async resolveSleepUntil(params) {
260
+ const { step, stepResults, runId, runtimeContext, runCount = 0 } = params;
261
+ const abortController = new AbortController();
262
+ const ee = new EventEmitter__default.default();
263
+ if (step.date) {
264
+ return step.date.getTime() - Date.now();
265
+ }
266
+ if (!step.fn) {
267
+ return 0;
268
+ }
269
+ try {
270
+ const result = await step.fn({
271
+ workflowId: params.workflowId,
272
+ runId,
273
+ mastra: this.mastra,
274
+ runtimeContext,
275
+ inputData: params.input,
276
+ // TODO: implement state
277
+ state: {},
278
+ setState: (_state) => {
279
+ },
280
+ runCount,
281
+ resumeData: params.resumeData,
282
+ getInitData: () => stepResults?.input,
283
+ getStepResult: chunkG3KSVDML_cjs.getStepResult.bind(this, stepResults),
284
+ suspend: async (_suspendPayload) => {
285
+ throw new Error("Not implemented");
286
+ },
287
+ bail: (_result) => {
288
+ throw new Error("Not implemented");
289
+ },
290
+ abort: () => {
291
+ abortController?.abort();
292
+ },
293
+ // TODO
294
+ writer: void 0,
295
+ [chunkABJOUEVA_cjs.EMITTER_SYMBOL]: ee,
296
+ // TODO: refactor this to use our PubSub actually
297
+ [chunkABJOUEVA_cjs.STREAM_FORMAT_SYMBOL]: void 0,
298
+ // TODO
299
+ engine: {},
300
+ abortSignal: abortController?.signal,
301
+ // TODO
302
+ tracingContext: {}
303
+ });
304
+ return result.getTime() - Date.now();
305
+ } catch (e) {
306
+ console.error("error evaluating condition", e);
307
+ return 0;
308
+ }
309
+ }
310
+ };
311
+
312
+ // src/events/processor.ts
313
+ var EventProcessor = class {
314
+ mastra;
315
+ __registerMastra(mastra) {
316
+ this.mastra = mastra;
317
+ }
318
+ constructor({ mastra }) {
319
+ this.mastra = mastra;
320
+ }
321
+ };
322
+ async function processWorkflowLoop({
323
+ workflowId,
324
+ prevResult,
325
+ runId,
326
+ executionPath,
327
+ stepResults,
328
+ activeSteps,
329
+ resumeSteps,
330
+ resumeData,
331
+ parentWorkflow,
332
+ runtimeContext,
333
+ runCount = 0
334
+ }, {
335
+ pubsub,
336
+ stepExecutor,
337
+ step,
338
+ stepResult
339
+ }) {
340
+ const loopCondition = await stepExecutor.evaluateCondition({
341
+ workflowId,
342
+ condition: step.condition,
343
+ runId,
344
+ stepResults,
345
+ // TODO: implement state
346
+ state: {},
347
+ emitter: new EventEmitter__default.default(),
348
+ // TODO
349
+ runtimeContext: new chunkGPWMM745_cjs.RuntimeContext(),
350
+ // TODO
351
+ inputData: prevResult?.status === "success" ? prevResult.output : void 0,
352
+ resumeData,
353
+ abortController: new AbortController(),
354
+ runCount,
355
+ iterationCount: 0
356
+ //TODO: implement
357
+ });
358
+ if (step.loopType === "dountil") {
359
+ if (loopCondition) {
360
+ await pubsub.publish("workflows", {
361
+ type: "workflow.step.end",
362
+ runId,
363
+ data: {
364
+ parentWorkflow,
365
+ workflowId,
366
+ runId,
367
+ executionPath,
368
+ resumeSteps,
369
+ stepResults,
370
+ prevResult: stepResult,
371
+ resumeData,
372
+ activeSteps,
373
+ runtimeContext
374
+ }
375
+ });
376
+ } else {
377
+ await pubsub.publish("workflows", {
378
+ type: "workflow.step.run",
379
+ runId,
380
+ data: {
381
+ parentWorkflow,
382
+ workflowId,
383
+ runId,
384
+ executionPath,
385
+ resumeSteps,
386
+ stepResults,
387
+ prevResult: stepResult,
388
+ resumeData,
389
+ activeSteps,
390
+ runtimeContext,
391
+ runCount
392
+ }
393
+ });
394
+ }
395
+ } else {
396
+ if (loopCondition) {
397
+ await pubsub.publish("workflows", {
398
+ type: "workflow.step.run",
399
+ runId,
400
+ data: {
401
+ parentWorkflow,
402
+ workflowId,
403
+ runId,
404
+ executionPath,
405
+ resumeSteps,
406
+ stepResults,
407
+ prevResult: stepResult,
408
+ resumeData,
409
+ activeSteps,
410
+ runtimeContext,
411
+ runCount
412
+ }
413
+ });
414
+ } else {
415
+ await pubsub.publish("workflows", {
416
+ type: "workflow.step.end",
417
+ runId,
418
+ data: {
419
+ parentWorkflow,
420
+ workflowId,
421
+ runId,
422
+ executionPath,
423
+ resumeSteps,
424
+ stepResults,
425
+ prevResult: stepResult,
426
+ resumeData,
427
+ activeSteps,
428
+ runtimeContext
429
+ }
430
+ });
431
+ }
432
+ }
433
+ }
434
+ async function processWorkflowForEach({
435
+ workflowId,
436
+ prevResult,
437
+ runId,
438
+ executionPath,
439
+ stepResults,
440
+ activeSteps,
441
+ resumeSteps,
442
+ resumeData,
443
+ parentWorkflow,
444
+ runtimeContext
445
+ }, {
446
+ pubsub,
447
+ mastra,
448
+ step
449
+ }) {
450
+ const currentResult = stepResults[step.step.id];
451
+ const idx = currentResult?.output?.length ?? 0;
452
+ const targetLen = prevResult?.output?.length ?? 0;
453
+ if (idx >= targetLen && currentResult.output.filter((r) => r !== null).length >= targetLen) {
454
+ await pubsub.publish("workflows", {
455
+ type: "workflow.step.run",
456
+ runId,
457
+ data: {
458
+ parentWorkflow,
459
+ workflowId,
460
+ runId,
461
+ executionPath: executionPath.slice(0, -1).concat([executionPath[executionPath.length - 1] + 1]),
462
+ resumeSteps,
463
+ stepResults,
464
+ prevResult: currentResult,
465
+ resumeData,
466
+ activeSteps,
467
+ runtimeContext
468
+ }
469
+ });
470
+ return;
471
+ } else if (idx >= targetLen) {
472
+ return;
473
+ }
474
+ if (executionPath.length === 1 && idx === 0) {
475
+ const concurrency = Math.min(step.opts.concurrency ?? 1, targetLen);
476
+ const dummyResult = Array.from({ length: concurrency }, () => null);
477
+ await mastra.getStorage()?.updateWorkflowResults({
478
+ workflowName: workflowId,
479
+ runId,
480
+ stepId: step.step.id,
481
+ result: {
482
+ status: "succcess",
483
+ output: dummyResult,
484
+ startedAt: Date.now(),
485
+ payload: prevResult?.output
486
+ },
487
+ runtimeContext
488
+ });
489
+ for (let i = 0; i < concurrency; i++) {
490
+ await pubsub.publish("workflows", {
491
+ type: "workflow.step.run",
492
+ runId,
493
+ data: {
494
+ parentWorkflow,
495
+ workflowId,
496
+ runId,
497
+ executionPath: [executionPath[0], i],
498
+ resumeSteps,
499
+ stepResults,
500
+ prevResult,
501
+ resumeData,
502
+ activeSteps,
503
+ runtimeContext
504
+ }
505
+ });
506
+ }
507
+ return;
508
+ }
509
+ currentResult.output.push(null);
510
+ await mastra.getStorage()?.updateWorkflowResults({
511
+ workflowName: workflowId,
512
+ runId,
513
+ stepId: step.step.id,
514
+ result: {
515
+ status: "succcess",
516
+ output: currentResult.output,
517
+ startedAt: Date.now(),
518
+ payload: prevResult?.output
519
+ },
520
+ runtimeContext
521
+ });
522
+ await pubsub.publish("workflows", {
523
+ type: "workflow.step.run",
524
+ runId,
525
+ data: {
526
+ parentWorkflow,
527
+ workflowId,
528
+ runId,
529
+ executionPath: [executionPath[0], idx],
530
+ resumeSteps,
531
+ stepResults,
532
+ prevResult,
533
+ resumeData,
534
+ activeSteps,
535
+ runtimeContext
536
+ }
537
+ });
538
+ }
539
+ async function processWorkflowParallel({
540
+ workflowId,
541
+ runId,
542
+ executionPath,
543
+ stepResults,
544
+ activeSteps,
545
+ resumeSteps,
546
+ prevResult,
547
+ resumeData,
548
+ parentWorkflow,
549
+ runtimeContext
550
+ }, {
551
+ pubsub,
552
+ step
553
+ }) {
554
+ for (let i = 0; i < step.steps.length; i++) {
555
+ const nestedStep = step.steps[i];
556
+ if (nestedStep?.type === "step") {
557
+ activeSteps[nestedStep.step.id] = true;
558
+ }
559
+ }
560
+ await Promise.all(
561
+ step.steps.map(async (_step, idx) => {
562
+ return pubsub.publish("workflows", {
563
+ type: "workflow.step.run",
564
+ runId,
565
+ data: {
566
+ workflowId,
567
+ runId,
568
+ executionPath: executionPath.concat([idx]),
569
+ resumeSteps,
570
+ stepResults,
571
+ prevResult,
572
+ resumeData,
573
+ parentWorkflow,
574
+ activeSteps,
575
+ runtimeContext
576
+ }
577
+ });
578
+ })
579
+ );
580
+ }
581
+ async function processWorkflowConditional({
582
+ workflowId,
583
+ runId,
584
+ executionPath,
585
+ stepResults,
586
+ activeSteps,
587
+ resumeSteps,
588
+ prevResult,
589
+ resumeData,
590
+ parentWorkflow,
591
+ runtimeContext
592
+ }, {
593
+ pubsub,
594
+ stepExecutor,
595
+ step
596
+ }) {
597
+ const idxs = await stepExecutor.evaluateConditions({
598
+ workflowId,
599
+ step,
600
+ runId,
601
+ stepResults,
602
+ // TODO: implement state
603
+ state: {},
604
+ emitter: new EventEmitter__default.default(),
605
+ // TODO
606
+ runtimeContext: new chunkGPWMM745_cjs.RuntimeContext(),
607
+ // TODO
608
+ input: prevResult?.status === "success" ? prevResult.output : void 0,
609
+ resumeData
610
+ });
611
+ const truthyIdxs = {};
612
+ for (let i = 0; i < idxs.length; i++) {
613
+ truthyIdxs[idxs[i]] = true;
614
+ }
615
+ await Promise.all(
616
+ step.steps.map(async (step2, idx) => {
617
+ if (truthyIdxs[idx]) {
618
+ if (step2?.type === "step") {
619
+ activeSteps[step2.step.id] = true;
620
+ }
621
+ return pubsub.publish("workflows", {
622
+ type: "workflow.step.run",
623
+ runId,
624
+ data: {
625
+ workflowId,
626
+ runId,
627
+ executionPath: executionPath.concat([idx]),
628
+ resumeSteps,
629
+ stepResults,
630
+ prevResult,
631
+ resumeData,
632
+ parentWorkflow,
633
+ activeSteps,
634
+ runtimeContext
635
+ }
636
+ });
637
+ } else {
638
+ return pubsub.publish("workflows", {
639
+ type: "workflow.step.end",
640
+ runId,
641
+ data: {
642
+ workflowId,
643
+ runId,
644
+ executionPath: executionPath.concat([idx]),
645
+ resumeSteps,
646
+ stepResults,
647
+ prevResult: { status: "skipped" },
648
+ resumeData,
649
+ parentWorkflow,
650
+ activeSteps,
651
+ runtimeContext
652
+ }
653
+ });
654
+ }
655
+ })
656
+ );
657
+ }
658
+ async function processWorkflowWaitForEvent(workflowData, {
659
+ pubsub,
660
+ eventName,
661
+ currentState
662
+ }) {
663
+ const executionPath = currentState?.waitingPaths[eventName];
664
+ if (!executionPath) {
665
+ return;
666
+ }
667
+ const currentStep = getStep(workflowData.workflow, executionPath);
668
+ const prevResult = {
669
+ status: "success",
670
+ output: currentState?.context[currentStep?.id ?? "input"]?.payload
671
+ };
672
+ await pubsub.publish("workflows", {
673
+ type: "workflow.step.run",
674
+ runId: workflowData.runId,
675
+ data: {
676
+ workflowId: workflowData.workflowId,
677
+ runId: workflowData.runId,
678
+ executionPath,
679
+ resumeSteps: [],
680
+ resumeData: workflowData.resumeData,
681
+ parentWorkflow: workflowData.parentWorkflow,
682
+ stepResults: currentState?.context,
683
+ prevResult,
684
+ activeSteps: [],
685
+ runtimeContext: currentState?.runtimeContext
686
+ }
687
+ });
688
+ }
689
+ async function processWorkflowSleep({
690
+ workflowId,
691
+ runId,
692
+ executionPath,
693
+ stepResults,
694
+ activeSteps,
695
+ resumeSteps,
696
+ prevResult,
697
+ resumeData,
698
+ parentWorkflow,
699
+ runtimeContext
700
+ }, {
701
+ pubsub,
702
+ stepExecutor,
703
+ step
704
+ }) {
705
+ const startedAt = Date.now();
706
+ await pubsub.publish(`workflow.events.v2.${runId}`, {
707
+ type: "watch",
708
+ runId,
709
+ data: {
710
+ type: "workflow-step-waiting",
711
+ payload: {
712
+ id: step.id,
713
+ status: "waiting",
714
+ payload: prevResult.status === "success" ? prevResult.output : void 0,
715
+ startedAt
716
+ }
717
+ }
718
+ });
719
+ const duration = await stepExecutor.resolveSleep({
720
+ workflowId,
721
+ step,
722
+ runId,
723
+ stepResults,
724
+ emitter: new EventEmitter__default.default(),
725
+ // TODO
726
+ runtimeContext: new chunkGPWMM745_cjs.RuntimeContext(),
727
+ // TODO
728
+ input: prevResult?.status === "success" ? prevResult.output : void 0,
729
+ resumeData
730
+ });
731
+ setTimeout(
732
+ async () => {
733
+ await pubsub.publish(`workflow.events.v2.${runId}`, {
734
+ type: "watch",
735
+ runId,
736
+ data: {
737
+ type: "workflow-step-result",
738
+ payload: {
739
+ id: step.id,
740
+ status: "success",
741
+ payload: prevResult.status === "success" ? prevResult.output : void 0,
742
+ output: prevResult.status === "success" ? prevResult.output : void 0,
743
+ startedAt,
744
+ endedAt: Date.now()
745
+ }
746
+ }
747
+ });
748
+ await pubsub.publish(`workflow.events.v2.${runId}`, {
749
+ type: "watch",
750
+ runId,
751
+ data: {
752
+ type: "workflow-step-finish",
753
+ payload: {
754
+ id: step.id,
755
+ metadata: {}
756
+ }
757
+ }
758
+ });
759
+ await pubsub.publish("workflows", {
760
+ type: "workflow.step.run",
761
+ runId,
762
+ data: {
763
+ workflowId,
764
+ runId,
765
+ executionPath: executionPath.slice(0, -1).concat([executionPath[executionPath.length - 1] + 1]),
766
+ resumeSteps,
767
+ stepResults,
768
+ prevResult,
769
+ resumeData,
770
+ parentWorkflow,
771
+ activeSteps,
772
+ runtimeContext
773
+ }
774
+ });
775
+ },
776
+ duration < 0 ? 0 : duration
777
+ );
778
+ }
779
+ async function processWorkflowSleepUntil({
780
+ workflowId,
781
+ runId,
782
+ executionPath,
783
+ stepResults,
784
+ activeSteps,
785
+ resumeSteps,
786
+ prevResult,
787
+ resumeData,
788
+ parentWorkflow,
789
+ runtimeContext
790
+ }, {
791
+ pubsub,
792
+ stepExecutor,
793
+ step
794
+ }) {
795
+ const startedAt = Date.now();
796
+ const duration = await stepExecutor.resolveSleepUntil({
797
+ workflowId,
798
+ step,
799
+ runId,
800
+ stepResults,
801
+ emitter: new EventEmitter__default.default(),
802
+ // TODO
803
+ runtimeContext: new chunkGPWMM745_cjs.RuntimeContext(),
804
+ // TODO
805
+ input: prevResult?.status === "success" ? prevResult.output : void 0,
806
+ resumeData
807
+ });
808
+ await pubsub.publish(`workflow.events.v2.${runId}`, {
809
+ type: "watch",
810
+ runId,
811
+ data: {
812
+ type: "workflow-step-waiting",
813
+ payload: {
814
+ id: step.id,
815
+ status: "waiting",
816
+ payload: prevResult.status === "success" ? prevResult.output : void 0,
817
+ startedAt
818
+ }
819
+ }
820
+ });
821
+ setTimeout(
822
+ async () => {
823
+ await pubsub.publish(`workflow.events.v2.${runId}`, {
824
+ type: "watch",
825
+ runId,
826
+ data: {
827
+ type: "workflow-step-result",
828
+ payload: {
829
+ id: step.id,
830
+ status: "success",
831
+ payload: prevResult.status === "success" ? prevResult.output : void 0,
832
+ output: prevResult.status === "success" ? prevResult.output : void 0,
833
+ startedAt,
834
+ endedAt: Date.now()
835
+ }
836
+ }
837
+ });
838
+ await pubsub.publish(`workflow.events.v2.${runId}`, {
839
+ type: "watch",
840
+ runId,
841
+ data: {
842
+ type: "workflow-step-finish",
843
+ payload: {
844
+ id: step.id,
845
+ metadata: {}
846
+ }
847
+ }
848
+ });
849
+ await pubsub.publish("workflows", {
850
+ type: "workflow.step.run",
851
+ runId,
852
+ data: {
853
+ workflowId,
854
+ runId,
855
+ executionPath: executionPath.slice(0, -1).concat([executionPath[executionPath.length - 1] + 1]),
856
+ resumeSteps,
857
+ stepResults,
858
+ prevResult,
859
+ resumeData,
860
+ parentWorkflow,
861
+ activeSteps,
862
+ runtimeContext
863
+ }
864
+ });
865
+ },
866
+ duration < 0 ? 0 : duration
867
+ );
868
+ }
869
+
870
+ // src/workflows/evented/workflow-event-processor/index.ts
871
+ var WorkflowEventProcessor = class extends EventProcessor {
872
+ stepExecutor;
873
+ constructor({ mastra }) {
874
+ super({ mastra });
875
+ this.stepExecutor = new StepExecutor({ mastra });
876
+ }
877
+ __registerMastra(mastra) {
878
+ super.__registerMastra(mastra);
879
+ this.stepExecutor.__registerMastra(mastra);
880
+ }
881
+ async errorWorkflow({
882
+ parentWorkflow,
883
+ workflowId,
884
+ runId,
885
+ resumeSteps,
886
+ stepResults,
887
+ resumeData,
888
+ runtimeContext
889
+ }, e) {
890
+ await this.mastra.pubsub.publish("workflows", {
891
+ type: "workflow.fail",
892
+ runId,
893
+ data: {
894
+ workflowId,
895
+ runId,
896
+ executionPath: [],
897
+ resumeSteps,
898
+ stepResults,
899
+ prevResult: { status: "failed", error: e.stack ?? e.message },
900
+ runtimeContext,
901
+ resumeData,
902
+ activeSteps: {},
903
+ parentWorkflow
904
+ }
905
+ });
906
+ }
907
+ async processWorkflowCancel({ workflowId, runId }) {
908
+ const currentState = await this.mastra.getStorage()?.updateWorkflowState({
909
+ workflowName: workflowId,
910
+ runId,
911
+ opts: {
912
+ status: "canceled"
913
+ }
914
+ });
915
+ await this.endWorkflow({
916
+ workflow: void 0,
917
+ workflowId,
918
+ runId,
919
+ stepResults: currentState?.context,
920
+ prevResult: { status: "canceled" },
921
+ runtimeContext: currentState?.runtimeContext,
922
+ executionPath: [],
923
+ activeSteps: {},
924
+ resumeSteps: [],
925
+ resumeData: void 0,
926
+ parentWorkflow: void 0
927
+ });
928
+ }
929
+ async processWorkflowStart({
930
+ workflow,
931
+ parentWorkflow,
932
+ workflowId,
933
+ runId,
934
+ resumeSteps,
935
+ prevResult,
936
+ resumeData,
937
+ executionPath,
938
+ stepResults,
939
+ runtimeContext
940
+ }) {
941
+ await this.mastra.getStorage()?.persistWorkflowSnapshot({
942
+ workflowName: workflow.id,
943
+ runId,
944
+ snapshot: {
945
+ activePaths: [],
946
+ suspendedPaths: {},
947
+ resumeLabels: {},
948
+ waitingPaths: {},
949
+ serializedStepGraph: workflow.serializedStepGraph,
950
+ timestamp: Date.now(),
951
+ runId,
952
+ status: "running",
953
+ context: stepResults ?? {
954
+ input: prevResult?.status === "success" ? prevResult.output : void 0
955
+ },
956
+ value: {}
957
+ }
958
+ });
959
+ await this.mastra.pubsub.publish("workflows", {
960
+ type: "workflow.step.run",
961
+ runId,
962
+ data: {
963
+ parentWorkflow,
964
+ workflowId,
965
+ runId,
966
+ executionPath: executionPath ?? [0],
967
+ resumeSteps,
968
+ stepResults: stepResults ?? {
969
+ input: prevResult?.status === "success" ? prevResult.output : void 0
970
+ },
971
+ prevResult,
972
+ runtimeContext,
973
+ resumeData,
974
+ activeSteps: {}
975
+ }
976
+ });
977
+ }
978
+ async endWorkflow(args) {
979
+ const { stepResults, workflowId, runId, prevResult } = args;
980
+ await this.mastra.getStorage()?.updateWorkflowState({
981
+ workflowName: workflowId,
982
+ runId,
983
+ opts: {
984
+ status: "success",
985
+ result: prevResult
986
+ }
987
+ });
988
+ await this.mastra.pubsub.publish(`workflow.events.${runId}`, {
989
+ type: "watch",
990
+ runId,
991
+ data: {
992
+ type: "watch",
993
+ payload: {
994
+ currentStep: void 0,
995
+ workflowState: {
996
+ status: prevResult.status,
997
+ steps: stepResults,
998
+ result: prevResult.status === "success" ? prevResult.output : null,
999
+ error: prevResult.error ?? null
1000
+ }
1001
+ },
1002
+ eventTimestamp: Date.now()
1003
+ }
1004
+ });
1005
+ await this.mastra.pubsub.publish(`workflow.events.v2.${runId}`, {
1006
+ type: "watch",
1007
+ runId,
1008
+ data: {
1009
+ type: "workflow-finish",
1010
+ payload: {
1011
+ runId
1012
+ }
1013
+ }
1014
+ });
1015
+ await this.mastra.pubsub.publish("workflows", {
1016
+ type: "workflow.end",
1017
+ runId,
1018
+ data: { ...args, workflow: void 0 }
1019
+ });
1020
+ }
1021
+ async processWorkflowEnd(args) {
1022
+ const { resumeSteps, prevResult, resumeData, parentWorkflow, activeSteps, runtimeContext, runId } = args;
1023
+ if (parentWorkflow) {
1024
+ await this.mastra.pubsub.publish("workflows", {
1025
+ type: "workflow.step.end",
1026
+ runId,
1027
+ data: {
1028
+ workflowId: parentWorkflow.workflowId,
1029
+ runId: parentWorkflow.runId,
1030
+ executionPath: parentWorkflow.executionPath,
1031
+ resumeSteps,
1032
+ stepResults: parentWorkflow.stepResults,
1033
+ prevResult,
1034
+ resumeData,
1035
+ activeSteps,
1036
+ parentWorkflow: parentWorkflow.parentWorkflow,
1037
+ parentContext: parentWorkflow,
1038
+ runtimeContext
1039
+ }
1040
+ });
1041
+ }
1042
+ await this.mastra.pubsub.publish("workflows-finish", {
1043
+ type: "workflow.end",
1044
+ runId,
1045
+ data: { ...args, workflow: void 0 }
1046
+ });
1047
+ }
1048
+ async processWorkflowSuspend(args) {
1049
+ const { resumeSteps, prevResult, resumeData, parentWorkflow, activeSteps, runId, runtimeContext } = args;
1050
+ if (parentWorkflow) {
1051
+ await this.mastra.pubsub.publish("workflows", {
1052
+ type: "workflow.step.end",
1053
+ runId,
1054
+ data: {
1055
+ workflowId: parentWorkflow.workflowId,
1056
+ runId: parentWorkflow.runId,
1057
+ executionPath: parentWorkflow.executionPath,
1058
+ resumeSteps,
1059
+ stepResults: parentWorkflow.stepResults,
1060
+ prevResult: {
1061
+ ...prevResult,
1062
+ suspendPayload: {
1063
+ ...prevResult.suspendPayload,
1064
+ __workflow_meta: {
1065
+ runId,
1066
+ path: parentWorkflow?.stepId ? [parentWorkflow.stepId].concat(prevResult.suspendPayload?.__workflow_meta?.path ?? []) : prevResult.suspendPayload?.__workflow_meta?.path ?? []
1067
+ }
1068
+ }
1069
+ },
1070
+ resumeData,
1071
+ activeSteps,
1072
+ runtimeContext,
1073
+ parentWorkflow: parentWorkflow.parentWorkflow,
1074
+ parentContext: parentWorkflow
1075
+ }
1076
+ });
1077
+ }
1078
+ await this.mastra.pubsub.publish("workflows-finish", {
1079
+ type: "workflow.suspend",
1080
+ runId,
1081
+ data: { ...args, workflow: void 0 }
1082
+ });
1083
+ }
1084
+ async processWorkflowFail(args) {
1085
+ const { workflowId, runId, resumeSteps, prevResult, resumeData, parentWorkflow, activeSteps, runtimeContext } = args;
1086
+ await this.mastra.getStorage()?.updateWorkflowState({
1087
+ workflowName: workflowId,
1088
+ runId,
1089
+ opts: {
1090
+ status: "failed",
1091
+ error: prevResult.error
1092
+ }
1093
+ });
1094
+ if (parentWorkflow) {
1095
+ await this.mastra.pubsub.publish("workflows", {
1096
+ type: "workflow.step.end",
1097
+ runId,
1098
+ data: {
1099
+ workflowId: parentWorkflow.workflowId,
1100
+ runId: parentWorkflow.runId,
1101
+ executionPath: parentWorkflow.executionPath,
1102
+ resumeSteps,
1103
+ stepResults: parentWorkflow.stepResults,
1104
+ prevResult,
1105
+ resumeData,
1106
+ activeSteps,
1107
+ runtimeContext,
1108
+ parentWorkflow: parentWorkflow.parentWorkflow,
1109
+ parentContext: parentWorkflow
1110
+ }
1111
+ });
1112
+ }
1113
+ await this.mastra.pubsub.publish("workflows-finish", {
1114
+ type: "workflow.fail",
1115
+ runId,
1116
+ data: { ...args, workflow: void 0 }
1117
+ });
1118
+ }
1119
+ async processWorkflowStepRun({
1120
+ workflow,
1121
+ workflowId,
1122
+ runId,
1123
+ executionPath,
1124
+ stepResults,
1125
+ activeSteps,
1126
+ resumeSteps,
1127
+ prevResult,
1128
+ resumeData,
1129
+ parentWorkflow,
1130
+ runtimeContext,
1131
+ runCount = 0
1132
+ }) {
1133
+ let stepGraph = workflow.stepGraph;
1134
+ if (!executionPath?.length) {
1135
+ return this.errorWorkflow(
1136
+ {
1137
+ workflowId,
1138
+ runId,
1139
+ executionPath,
1140
+ stepResults,
1141
+ activeSteps,
1142
+ resumeSteps,
1143
+ prevResult,
1144
+ resumeData,
1145
+ parentWorkflow,
1146
+ runtimeContext
1147
+ },
1148
+ new chunk5NTO7S5I_cjs.MastraError({
1149
+ id: "MASTRA_WORKFLOW",
1150
+ text: `Execution path is empty: ${JSON.stringify(executionPath)}`,
1151
+ domain: "MASTRA_WORKFLOW" /* MASTRA_WORKFLOW */,
1152
+ category: "SYSTEM" /* SYSTEM */
1153
+ })
1154
+ );
1155
+ }
1156
+ let step = stepGraph[executionPath[0]];
1157
+ if (!step) {
1158
+ return this.errorWorkflow(
1159
+ {
1160
+ workflowId,
1161
+ runId,
1162
+ executionPath,
1163
+ stepResults,
1164
+ activeSteps,
1165
+ resumeSteps,
1166
+ prevResult,
1167
+ resumeData,
1168
+ parentWorkflow,
1169
+ runtimeContext
1170
+ },
1171
+ new chunk5NTO7S5I_cjs.MastraError({
1172
+ id: "MASTRA_WORKFLOW",
1173
+ text: `Step not found in step graph: ${JSON.stringify(executionPath)}`,
1174
+ domain: "MASTRA_WORKFLOW" /* MASTRA_WORKFLOW */,
1175
+ category: "SYSTEM" /* SYSTEM */
1176
+ })
1177
+ );
1178
+ }
1179
+ if ((step.type === "parallel" || step.type === "conditional") && executionPath.length > 1) {
1180
+ step = step.steps[executionPath[1]];
1181
+ } else if (step.type === "parallel") {
1182
+ return processWorkflowParallel(
1183
+ {
1184
+ workflowId,
1185
+ runId,
1186
+ executionPath,
1187
+ stepResults,
1188
+ activeSteps,
1189
+ resumeSteps,
1190
+ prevResult,
1191
+ resumeData,
1192
+ parentWorkflow,
1193
+ runtimeContext
1194
+ },
1195
+ {
1196
+ pubsub: this.mastra.pubsub,
1197
+ step
1198
+ }
1199
+ );
1200
+ } else if (step?.type === "conditional") {
1201
+ return processWorkflowConditional(
1202
+ {
1203
+ workflowId,
1204
+ runId,
1205
+ executionPath,
1206
+ stepResults,
1207
+ activeSteps,
1208
+ resumeSteps,
1209
+ prevResult,
1210
+ resumeData,
1211
+ parentWorkflow,
1212
+ runtimeContext
1213
+ },
1214
+ {
1215
+ pubsub: this.mastra.pubsub,
1216
+ stepExecutor: this.stepExecutor,
1217
+ step
1218
+ }
1219
+ );
1220
+ } else if (step?.type === "sleep") {
1221
+ return processWorkflowSleep(
1222
+ {
1223
+ workflowId,
1224
+ runId,
1225
+ executionPath,
1226
+ stepResults,
1227
+ activeSteps,
1228
+ resumeSteps,
1229
+ prevResult,
1230
+ resumeData,
1231
+ parentWorkflow,
1232
+ runtimeContext
1233
+ },
1234
+ {
1235
+ pubsub: this.mastra.pubsub,
1236
+ stepExecutor: this.stepExecutor,
1237
+ step
1238
+ }
1239
+ );
1240
+ } else if (step?.type === "sleepUntil") {
1241
+ return processWorkflowSleepUntil(
1242
+ {
1243
+ workflowId,
1244
+ runId,
1245
+ executionPath,
1246
+ stepResults,
1247
+ activeSteps,
1248
+ resumeSteps,
1249
+ prevResult,
1250
+ resumeData,
1251
+ parentWorkflow,
1252
+ runtimeContext
1253
+ },
1254
+ {
1255
+ pubsub: this.mastra.pubsub,
1256
+ stepExecutor: this.stepExecutor,
1257
+ step
1258
+ }
1259
+ );
1260
+ } else if (step?.type === "waitForEvent" && !resumeData) {
1261
+ await this.mastra.getStorage()?.updateWorkflowResults({
1262
+ workflowName: workflowId,
1263
+ runId,
1264
+ stepId: step.step.id,
1265
+ result: {
1266
+ startedAt: Date.now(),
1267
+ status: "waiting",
1268
+ payload: prevResult.status === "success" ? prevResult.output : void 0
1269
+ },
1270
+ runtimeContext
1271
+ });
1272
+ await this.mastra.getStorage()?.updateWorkflowState({
1273
+ workflowName: workflowId,
1274
+ runId,
1275
+ opts: {
1276
+ status: "waiting",
1277
+ waitingPaths: {
1278
+ [step.event]: executionPath
1279
+ }
1280
+ }
1281
+ });
1282
+ await this.mastra.pubsub.publish(`workflow.events.v2.${runId}`, {
1283
+ type: "watch",
1284
+ runId,
1285
+ data: {
1286
+ type: "workflow-step-waiting",
1287
+ payload: {
1288
+ id: step.step.id,
1289
+ status: "waiting",
1290
+ payload: prevResult.status === "success" ? prevResult.output : void 0,
1291
+ startedAt: Date.now()
1292
+ }
1293
+ }
1294
+ });
1295
+ return;
1296
+ } else if (step?.type === "foreach" && executionPath.length === 1) {
1297
+ return processWorkflowForEach(
1298
+ {
1299
+ workflowId,
1300
+ runId,
1301
+ executionPath,
1302
+ stepResults,
1303
+ activeSteps,
1304
+ resumeSteps,
1305
+ prevResult,
1306
+ resumeData,
1307
+ parentWorkflow,
1308
+ runtimeContext
1309
+ },
1310
+ {
1311
+ pubsub: this.mastra.pubsub,
1312
+ mastra: this.mastra,
1313
+ step
1314
+ }
1315
+ );
1316
+ }
1317
+ if (!isExecutableStep(step)) {
1318
+ return this.errorWorkflow(
1319
+ {
1320
+ workflowId,
1321
+ runId,
1322
+ executionPath,
1323
+ stepResults,
1324
+ activeSteps,
1325
+ resumeSteps,
1326
+ prevResult,
1327
+ resumeData,
1328
+ parentWorkflow,
1329
+ runtimeContext
1330
+ },
1331
+ new chunk5NTO7S5I_cjs.MastraError({
1332
+ id: "MASTRA_WORKFLOW",
1333
+ text: `Step is not executable: ${step?.type} -- ${JSON.stringify(executionPath)}`,
1334
+ domain: "MASTRA_WORKFLOW" /* MASTRA_WORKFLOW */,
1335
+ category: "SYSTEM" /* SYSTEM */
1336
+ })
1337
+ );
1338
+ }
1339
+ activeSteps[step.step.id] = true;
1340
+ if (step.step instanceof EventedWorkflow) {
1341
+ if (resumeSteps?.length > 1) {
1342
+ const stepData = stepResults[step.step.id];
1343
+ const nestedRunId = stepData?.suspendPayload?.__workflow_meta?.runId;
1344
+ if (!nestedRunId) {
1345
+ return this.errorWorkflow(
1346
+ {
1347
+ workflowId,
1348
+ runId,
1349
+ executionPath,
1350
+ stepResults,
1351
+ activeSteps,
1352
+ resumeSteps,
1353
+ prevResult,
1354
+ resumeData,
1355
+ parentWorkflow,
1356
+ runtimeContext
1357
+ },
1358
+ new chunk5NTO7S5I_cjs.MastraError({
1359
+ id: "MASTRA_WORKFLOW",
1360
+ text: `Nested workflow run id not found: ${JSON.stringify(stepResults)}`,
1361
+ domain: "MASTRA_WORKFLOW" /* MASTRA_WORKFLOW */,
1362
+ category: "SYSTEM" /* SYSTEM */
1363
+ })
1364
+ );
1365
+ }
1366
+ const snapshot = await this.mastra?.getStorage()?.loadWorkflowSnapshot({
1367
+ workflowName: step.step.id,
1368
+ runId: nestedRunId
1369
+ });
1370
+ const nestedStepResults = snapshot?.context;
1371
+ const nestedSteps = resumeSteps.slice(1);
1372
+ await this.mastra.pubsub.publish("workflows", {
1373
+ type: "workflow.resume",
1374
+ runId,
1375
+ data: {
1376
+ workflowId: step.step.id,
1377
+ parentWorkflow: {
1378
+ stepId: step.step.id,
1379
+ workflowId,
1380
+ runId,
1381
+ executionPath,
1382
+ resumeSteps,
1383
+ stepResults,
1384
+ input: prevResult,
1385
+ parentWorkflow
1386
+ },
1387
+ executionPath: snapshot?.suspendedPaths?.[nestedSteps[0]],
1388
+ runId: nestedRunId,
1389
+ resumeSteps: nestedSteps,
1390
+ stepResults: nestedStepResults,
1391
+ prevResult,
1392
+ resumeData,
1393
+ activeSteps,
1394
+ runtimeContext
1395
+ }
1396
+ });
1397
+ } else {
1398
+ await this.mastra.pubsub.publish("workflows", {
1399
+ type: "workflow.start",
1400
+ runId,
1401
+ data: {
1402
+ workflowId: step.step.id,
1403
+ parentWorkflow: {
1404
+ stepId: step.step.id,
1405
+ workflowId,
1406
+ runId,
1407
+ executionPath,
1408
+ resumeSteps,
1409
+ stepResults,
1410
+ input: prevResult,
1411
+ parentWorkflow
1412
+ },
1413
+ executionPath: [0],
1414
+ runId: crypto.randomUUID(),
1415
+ resumeSteps,
1416
+ prevResult,
1417
+ resumeData,
1418
+ activeSteps,
1419
+ runtimeContext
1420
+ }
1421
+ });
1422
+ }
1423
+ return;
1424
+ }
1425
+ if (step.type === "step" || step.type === "waitForEvent") {
1426
+ await this.mastra.pubsub.publish(`workflow.events.${runId}`, {
1427
+ type: "watch",
1428
+ runId,
1429
+ data: {
1430
+ type: "watch",
1431
+ payload: {
1432
+ currentStep: { id: step.step.id, status: "running" },
1433
+ workflowState: {
1434
+ status: "running",
1435
+ steps: stepResults,
1436
+ error: null,
1437
+ result: null
1438
+ }
1439
+ },
1440
+ eventTimestamp: Date.now()
1441
+ }
1442
+ });
1443
+ await this.mastra.pubsub.publish(`workflow.events.v2.${runId}`, {
1444
+ type: "watch",
1445
+ runId,
1446
+ data: {
1447
+ type: "workflow-step-start",
1448
+ payload: {
1449
+ id: step.step.id,
1450
+ startedAt: Date.now(),
1451
+ payload: prevResult.status === "success" ? prevResult.output : void 0,
1452
+ status: "running"
1453
+ }
1454
+ }
1455
+ });
1456
+ }
1457
+ const ee = new EventEmitter__default.default();
1458
+ ee.on("watch-v2", async (event) => {
1459
+ await this.mastra.pubsub.publish(`workflow.events.v2.${runId}`, {
1460
+ type: "watch",
1461
+ runId,
1462
+ data: event
1463
+ });
1464
+ });
1465
+ const rc = new chunkGPWMM745_cjs.RuntimeContext();
1466
+ for (const [key, value] of Object.entries(runtimeContext)) {
1467
+ rc.set(key, value);
1468
+ }
1469
+ const stepResult = await this.stepExecutor.execute({
1470
+ workflowId,
1471
+ step: step.step,
1472
+ runId,
1473
+ stepResults,
1474
+ // TODO: implement state
1475
+ state: {},
1476
+ emitter: ee,
1477
+ runtimeContext: rc,
1478
+ input: prevResult?.output,
1479
+ resumeData: step.type === "waitForEvent" || resumeSteps?.length === 1 && resumeSteps?.[0] === step.step.id ? resumeData : void 0,
1480
+ runCount,
1481
+ foreachIdx: step.type === "foreach" ? executionPath[1] : void 0,
1482
+ validateInputs: workflow.options.validateInputs
1483
+ });
1484
+ runtimeContext = Object.fromEntries(rc.entries());
1485
+ if (stepResult.status === "bailed") {
1486
+ stepResult.status = "success";
1487
+ await this.endWorkflow({
1488
+ workflow,
1489
+ resumeData,
1490
+ parentWorkflow,
1491
+ workflowId,
1492
+ runId,
1493
+ executionPath,
1494
+ resumeSteps,
1495
+ stepResults: {
1496
+ ...stepResults,
1497
+ [step.step.id]: stepResult
1498
+ },
1499
+ prevResult: stepResult,
1500
+ activeSteps,
1501
+ runtimeContext
1502
+ });
1503
+ return;
1504
+ }
1505
+ if (stepResult.status === "failed") {
1506
+ if (runCount >= (workflow.retryConfig.attempts ?? 0)) {
1507
+ await this.mastra.pubsub.publish("workflows", {
1508
+ type: "workflow.step.end",
1509
+ runId,
1510
+ data: {
1511
+ parentWorkflow,
1512
+ workflowId,
1513
+ runId,
1514
+ executionPath,
1515
+ resumeSteps,
1516
+ stepResults,
1517
+ prevResult: stepResult,
1518
+ activeSteps,
1519
+ runtimeContext
1520
+ }
1521
+ });
1522
+ } else {
1523
+ return this.mastra.pubsub.publish("workflows", {
1524
+ type: "workflow.step.run",
1525
+ runId,
1526
+ data: {
1527
+ parentWorkflow,
1528
+ workflowId,
1529
+ runId,
1530
+ executionPath,
1531
+ resumeSteps,
1532
+ stepResults,
1533
+ prevResult,
1534
+ activeSteps,
1535
+ runtimeContext,
1536
+ runCount: runCount + 1
1537
+ }
1538
+ });
1539
+ }
1540
+ }
1541
+ if (step.type === "loop") {
1542
+ await processWorkflowLoop(
1543
+ {
1544
+ workflowId,
1545
+ prevResult: stepResult,
1546
+ runId,
1547
+ executionPath,
1548
+ stepResults,
1549
+ activeSteps,
1550
+ resumeSteps,
1551
+ resumeData,
1552
+ parentWorkflow,
1553
+ runtimeContext,
1554
+ runCount: runCount + 1
1555
+ },
1556
+ {
1557
+ pubsub: this.mastra.pubsub,
1558
+ stepExecutor: this.stepExecutor,
1559
+ step,
1560
+ stepResult
1561
+ }
1562
+ );
1563
+ } else {
1564
+ await this.mastra.pubsub.publish("workflows", {
1565
+ type: "workflow.step.end",
1566
+ runId,
1567
+ data: {
1568
+ parentWorkflow,
1569
+ workflowId,
1570
+ runId,
1571
+ executionPath,
1572
+ resumeSteps,
1573
+ stepResults,
1574
+ prevResult: stepResult,
1575
+ activeSteps,
1576
+ runtimeContext
1577
+ }
1578
+ });
1579
+ }
1580
+ }
1581
+ async processWorkflowStepEnd({
1582
+ workflow,
1583
+ workflowId,
1584
+ runId,
1585
+ executionPath,
1586
+ resumeSteps,
1587
+ prevResult,
1588
+ parentWorkflow,
1589
+ stepResults,
1590
+ activeSteps,
1591
+ parentContext,
1592
+ runtimeContext
1593
+ }) {
1594
+ let step = workflow.stepGraph[executionPath[0]];
1595
+ if ((step?.type === "parallel" || step?.type === "conditional") && executionPath.length > 1) {
1596
+ step = step.steps[executionPath[1]];
1597
+ }
1598
+ if (!step) {
1599
+ return this.errorWorkflow(
1600
+ {
1601
+ workflowId,
1602
+ runId,
1603
+ executionPath,
1604
+ resumeSteps,
1605
+ prevResult,
1606
+ stepResults,
1607
+ activeSteps,
1608
+ runtimeContext
1609
+ },
1610
+ new chunk5NTO7S5I_cjs.MastraError({
1611
+ id: "MASTRA_WORKFLOW",
1612
+ text: `Step not found: ${JSON.stringify(executionPath)}`,
1613
+ domain: "MASTRA_WORKFLOW" /* MASTRA_WORKFLOW */,
1614
+ category: "SYSTEM" /* SYSTEM */
1615
+ })
1616
+ );
1617
+ }
1618
+ if (step.type === "foreach") {
1619
+ const snapshot = await this.mastra.getStorage()?.loadWorkflowSnapshot({
1620
+ workflowName: workflowId,
1621
+ runId
1622
+ });
1623
+ const currentIdx = executionPath[1];
1624
+ const currentResult = snapshot?.context?.[step.step.id]?.output;
1625
+ let newResult = prevResult;
1626
+ if (currentIdx !== void 0) {
1627
+ if (currentResult) {
1628
+ currentResult[currentIdx] = prevResult.output;
1629
+ newResult = { ...prevResult, output: currentResult };
1630
+ } else {
1631
+ newResult = { ...prevResult, output: [prevResult.output] };
1632
+ }
1633
+ }
1634
+ const newStepResults = await this.mastra.getStorage()?.updateWorkflowResults({
1635
+ workflowName: workflow.id,
1636
+ runId,
1637
+ stepId: step.step.id,
1638
+ result: newResult,
1639
+ runtimeContext
1640
+ });
1641
+ if (!newStepResults) {
1642
+ return;
1643
+ }
1644
+ stepResults = newStepResults;
1645
+ } else if (isExecutableStep(step)) {
1646
+ delete activeSteps[step.step.id];
1647
+ if (parentContext) {
1648
+ prevResult = stepResults[step.step.id] = {
1649
+ ...prevResult,
1650
+ payload: parentContext.input?.output ?? {}
1651
+ };
1652
+ }
1653
+ const newStepResults = await this.mastra.getStorage()?.updateWorkflowResults({
1654
+ workflowName: workflow.id,
1655
+ runId,
1656
+ stepId: step.step.id,
1657
+ result: prevResult,
1658
+ runtimeContext
1659
+ });
1660
+ if (!newStepResults) {
1661
+ return;
1662
+ }
1663
+ stepResults = newStepResults;
1664
+ }
1665
+ if (!prevResult?.status || prevResult.status === "failed") {
1666
+ await this.mastra.pubsub.publish("workflows", {
1667
+ type: "workflow.fail",
1668
+ runId,
1669
+ data: {
1670
+ workflowId,
1671
+ runId,
1672
+ executionPath,
1673
+ resumeSteps,
1674
+ parentWorkflow,
1675
+ stepResults,
1676
+ prevResult,
1677
+ activeSteps,
1678
+ runtimeContext
1679
+ }
1680
+ });
1681
+ return;
1682
+ } else if (prevResult.status === "suspended") {
1683
+ const suspendedPaths = {};
1684
+ const suspendedStep = getStep(workflow, executionPath);
1685
+ if (suspendedStep) {
1686
+ suspendedPaths[suspendedStep.id] = executionPath;
1687
+ }
1688
+ await this.mastra.getStorage()?.updateWorkflowState({
1689
+ workflowName: workflowId,
1690
+ runId,
1691
+ opts: {
1692
+ status: "suspended",
1693
+ result: prevResult,
1694
+ suspendedPaths
1695
+ }
1696
+ });
1697
+ await this.mastra.pubsub.publish("workflows", {
1698
+ type: "workflow.suspend",
1699
+ runId,
1700
+ data: {
1701
+ workflowId,
1702
+ runId,
1703
+ executionPath,
1704
+ resumeSteps,
1705
+ parentWorkflow,
1706
+ stepResults,
1707
+ prevResult,
1708
+ activeSteps,
1709
+ runtimeContext
1710
+ }
1711
+ });
1712
+ await this.mastra.pubsub.publish(`workflow.events.${runId}`, {
1713
+ type: "watch",
1714
+ runId,
1715
+ data: {
1716
+ type: "watch",
1717
+ payload: {
1718
+ currentStep: { ...prevResult, id: step?.step?.id },
1719
+ workflowState: {
1720
+ status: "suspended",
1721
+ steps: stepResults,
1722
+ suspendPayload: prevResult.suspendPayload
1723
+ }
1724
+ }
1725
+ }
1726
+ });
1727
+ await this.mastra.pubsub.publish(`workflow.events.v2.${runId}`, {
1728
+ type: "watch",
1729
+ runId,
1730
+ data: {
1731
+ type: "workflow-step-suspended",
1732
+ payload: {
1733
+ id: step?.step?.id,
1734
+ ...prevResult,
1735
+ suspendedAt: Date.now(),
1736
+ suspendPayload: prevResult.suspendPayload
1737
+ }
1738
+ }
1739
+ });
1740
+ return;
1741
+ }
1742
+ if (step?.type === "step" || step?.type === "waitForEvent") {
1743
+ await this.mastra.pubsub.publish(`workflow.events.${runId}`, {
1744
+ type: "watch",
1745
+ runId,
1746
+ data: {
1747
+ type: "watch",
1748
+ payload: {
1749
+ currentStep: { ...prevResult, id: step.step.id },
1750
+ workflowState: {
1751
+ status: "running",
1752
+ steps: stepResults,
1753
+ error: null,
1754
+ result: null
1755
+ }
1756
+ },
1757
+ eventTimestamp: Date.now()
1758
+ }
1759
+ });
1760
+ await this.mastra.pubsub.publish(`workflow.events.v2.${runId}`, {
1761
+ type: "watch",
1762
+ runId,
1763
+ data: {
1764
+ type: "workflow-step-result",
1765
+ payload: {
1766
+ id: step.step.id,
1767
+ ...prevResult
1768
+ }
1769
+ }
1770
+ });
1771
+ if (prevResult.status === "success") {
1772
+ await this.mastra.pubsub.publish(`workflow.events.v2.${runId}`, {
1773
+ type: "watch",
1774
+ runId,
1775
+ data: {
1776
+ type: "workflow-step-finish",
1777
+ payload: {
1778
+ id: step.step.id,
1779
+ metadata: {}
1780
+ }
1781
+ }
1782
+ });
1783
+ }
1784
+ }
1785
+ step = workflow.stepGraph[executionPath[0]];
1786
+ if ((step?.type === "parallel" || step?.type === "conditional") && executionPath.length > 1) {
1787
+ let skippedCount = 0;
1788
+ const allResults = step.steps.reduce(
1789
+ (acc, step2) => {
1790
+ if (isExecutableStep(step2)) {
1791
+ const res = stepResults?.[step2.step.id];
1792
+ if (res && res.status === "success") {
1793
+ acc[step2.step.id] = res?.output;
1794
+ } else if (res?.status === "skipped") {
1795
+ skippedCount++;
1796
+ }
1797
+ }
1798
+ return acc;
1799
+ },
1800
+ {}
1801
+ );
1802
+ const keys = Object.keys(allResults);
1803
+ if (keys.length + skippedCount < step.steps.length) {
1804
+ return;
1805
+ }
1806
+ await this.mastra.pubsub.publish("workflows", {
1807
+ type: "workflow.step.end",
1808
+ runId,
1809
+ data: {
1810
+ parentWorkflow,
1811
+ workflowId,
1812
+ runId,
1813
+ executionPath: executionPath.slice(0, -1),
1814
+ resumeSteps,
1815
+ stepResults,
1816
+ prevResult: { status: "success", output: allResults },
1817
+ activeSteps,
1818
+ runtimeContext
1819
+ }
1820
+ });
1821
+ } else if (step?.type === "foreach") {
1822
+ await this.mastra.pubsub.publish("workflows", {
1823
+ type: "workflow.step.run",
1824
+ runId,
1825
+ data: {
1826
+ workflowId,
1827
+ runId,
1828
+ executionPath: executionPath.slice(0, -1),
1829
+ resumeSteps,
1830
+ parentWorkflow,
1831
+ stepResults,
1832
+ prevResult: { ...prevResult, output: prevResult?.payload },
1833
+ activeSteps,
1834
+ runtimeContext
1835
+ }
1836
+ });
1837
+ } else if (executionPath[0] >= workflow.stepGraph.length - 1) {
1838
+ await this.endWorkflow({
1839
+ workflow,
1840
+ parentWorkflow,
1841
+ workflowId,
1842
+ runId,
1843
+ executionPath,
1844
+ resumeSteps,
1845
+ stepResults,
1846
+ prevResult,
1847
+ activeSteps,
1848
+ runtimeContext
1849
+ });
1850
+ } else {
1851
+ await this.mastra.pubsub.publish("workflows", {
1852
+ type: "workflow.step.run",
1853
+ runId,
1854
+ data: {
1855
+ workflowId,
1856
+ runId,
1857
+ executionPath: executionPath.slice(0, -1).concat([executionPath[executionPath.length - 1] + 1]),
1858
+ resumeSteps,
1859
+ parentWorkflow,
1860
+ stepResults,
1861
+ prevResult,
1862
+ activeSteps,
1863
+ runtimeContext
1864
+ }
1865
+ });
1866
+ }
1867
+ }
1868
+ async loadData({
1869
+ workflowId,
1870
+ runId
1871
+ }) {
1872
+ const snapshot = await this.mastra.getStorage()?.loadWorkflowSnapshot({
1873
+ workflowName: workflowId,
1874
+ runId
1875
+ });
1876
+ return snapshot;
1877
+ }
1878
+ async process(event, ack) {
1879
+ const { type, data } = event;
1880
+ const workflowData = data;
1881
+ const currentState = await this.loadData({
1882
+ workflowId: workflowData.workflowId,
1883
+ runId: workflowData.runId
1884
+ });
1885
+ if (currentState?.status === "canceled" && type !== "workflow.end") {
1886
+ return;
1887
+ }
1888
+ if (type.startsWith("workflow.user-event.")) {
1889
+ await processWorkflowWaitForEvent(
1890
+ {
1891
+ ...workflowData,
1892
+ workflow: this.mastra.getWorkflow(workflowData.workflowId)
1893
+ },
1894
+ {
1895
+ pubsub: this.mastra.pubsub,
1896
+ eventName: type.split(".").slice(2).join("."),
1897
+ currentState
1898
+ }
1899
+ );
1900
+ return;
1901
+ }
1902
+ let workflow;
1903
+ if (this.mastra.__hasInternalWorkflow(workflowData.workflowId)) {
1904
+ workflow = this.mastra.__getInternalWorkflow(workflowData.workflowId);
1905
+ } else if (workflowData.parentWorkflow) {
1906
+ workflow = getNestedWorkflow(this.mastra, workflowData.parentWorkflow);
1907
+ } else {
1908
+ workflow = this.mastra.getWorkflow(workflowData.workflowId);
1909
+ }
1910
+ if (!workflow) {
1911
+ return this.errorWorkflow(
1912
+ workflowData,
1913
+ new chunk5NTO7S5I_cjs.MastraError({
1914
+ id: "MASTRA_WORKFLOW",
1915
+ text: `Workflow not found: ${workflowData.workflowId}`,
1916
+ domain: "MASTRA_WORKFLOW" /* MASTRA_WORKFLOW */,
1917
+ category: "SYSTEM" /* SYSTEM */
1918
+ })
1919
+ );
1920
+ }
1921
+ if (type === "workflow.start" || type === "workflow.resume") {
1922
+ const { runId } = workflowData;
1923
+ await this.mastra.pubsub.publish(`workflow.events.v2.${runId}`, {
1924
+ type: "watch",
1925
+ runId,
1926
+ data: {
1927
+ type: "workflow-start",
1928
+ payload: {
1929
+ runId
1930
+ }
1931
+ }
1932
+ });
1933
+ }
1934
+ switch (type) {
1935
+ case "workflow.cancel":
1936
+ await this.processWorkflowCancel({
1937
+ workflow,
1938
+ ...workflowData
1939
+ });
1940
+ break;
1941
+ case "workflow.start":
1942
+ await this.processWorkflowStart({
1943
+ workflow,
1944
+ ...workflowData
1945
+ });
1946
+ break;
1947
+ case "workflow.resume":
1948
+ await this.processWorkflowStart({
1949
+ workflow,
1950
+ ...workflowData
1951
+ });
1952
+ break;
1953
+ case "workflow.end":
1954
+ await this.processWorkflowEnd({
1955
+ workflow,
1956
+ ...workflowData
1957
+ });
1958
+ break;
1959
+ case "workflow.step.end":
1960
+ await this.processWorkflowStepEnd({
1961
+ workflow,
1962
+ ...workflowData
1963
+ });
1964
+ break;
1965
+ case "workflow.step.run":
1966
+ await this.processWorkflowStepRun({
1967
+ workflow,
1968
+ ...workflowData
1969
+ });
1970
+ break;
1971
+ case "workflow.suspend":
1972
+ await this.processWorkflowSuspend({
1973
+ workflow,
1974
+ ...workflowData
1975
+ });
1976
+ break;
1977
+ case "workflow.fail":
1978
+ await this.processWorkflowFail({
1979
+ workflow,
1980
+ ...workflowData
1981
+ });
1982
+ break;
1983
+ }
1984
+ try {
1985
+ await ack?.();
1986
+ } catch (e) {
1987
+ console.error("Error acking event", e);
1988
+ }
1989
+ }
1990
+ };
1991
+
1992
+ // src/workflows/evented/workflow.ts
1993
+ function cloneWorkflow(workflow, opts) {
1994
+ const wf = new chunkG3KSVDML_cjs.Workflow({
1995
+ id: opts.id,
1996
+ inputSchema: workflow.inputSchema,
1997
+ outputSchema: workflow.outputSchema,
1998
+ steps: workflow.stepDefs,
1999
+ mastra: workflow.mastra
2000
+ });
2001
+ wf.setStepFlow(workflow.stepGraph);
2002
+ wf.commit();
2003
+ return wf;
2004
+ }
2005
+ function cloneStep(step, opts) {
2006
+ return {
2007
+ id: opts.id,
2008
+ description: step.description,
2009
+ inputSchema: step.inputSchema,
2010
+ outputSchema: step.outputSchema,
2011
+ execute: step.execute,
2012
+ component: step.component
2013
+ };
2014
+ }
2015
+ function isAgent(params) {
2016
+ return params?.component === "AGENT";
2017
+ }
2018
+ function isTool(params) {
2019
+ return params instanceof chunkVF676YCO_cjs.Tool;
2020
+ }
2021
+ function createStep(params) {
2022
+ if (isAgent(params)) {
2023
+ return {
2024
+ id: params.name,
2025
+ description: params.getDescription(),
2026
+ // @ts-ignore
2027
+ inputSchema: z__default.default.object({
2028
+ prompt: z__default.default.string()
2029
+ // resourceId: z.string().optional(),
2030
+ // threadId: z.string().optional(),
2031
+ }),
2032
+ // @ts-ignore
2033
+ outputSchema: z__default.default.object({
2034
+ text: z__default.default.string()
2035
+ }),
2036
+ execute: async ({ inputData, [chunkABJOUEVA_cjs.EMITTER_SYMBOL]: emitter, runtimeContext, abortSignal, abort }) => {
2037
+ let streamPromise = {};
2038
+ streamPromise.promise = new Promise((resolve, reject) => {
2039
+ streamPromise.resolve = resolve;
2040
+ streamPromise.reject = reject;
2041
+ });
2042
+ const { fullStream } = await params.streamLegacy(inputData.prompt, {
2043
+ // resourceId: inputData.resourceId,
2044
+ // threadId: inputData.threadId,
2045
+ runtimeContext,
2046
+ onFinish: (result) => {
2047
+ streamPromise.resolve(result.text);
2048
+ },
2049
+ abortSignal
2050
+ });
2051
+ if (abortSignal.aborted) {
2052
+ return abort();
2053
+ }
2054
+ const toolData = {
2055
+ name: params.name,
2056
+ args: inputData
2057
+ };
2058
+ await emitter.emit("watch-v2", {
2059
+ type: "tool-call-streaming-start",
2060
+ ...toolData ?? {}
2061
+ });
2062
+ for await (const chunk of fullStream) {
2063
+ if (chunk.type === "text-delta") {
2064
+ await emitter.emit("watch-v2", {
2065
+ type: "tool-call-delta",
2066
+ ...toolData ?? {},
2067
+ argsTextDelta: chunk.textDelta
2068
+ });
2069
+ }
2070
+ }
2071
+ await emitter.emit("watch-v2", {
2072
+ type: "tool-call-streaming-finish",
2073
+ ...toolData ?? {}
2074
+ });
2075
+ return {
2076
+ text: await streamPromise.promise
2077
+ };
2078
+ },
2079
+ component: params.component
2080
+ };
2081
+ }
2082
+ if (isTool(params)) {
2083
+ if (!params.inputSchema || !params.outputSchema) {
2084
+ throw new Error("Tool must have input and output schemas defined");
2085
+ }
2086
+ return {
2087
+ // TODO: tool probably should have strong id type
2088
+ // @ts-ignore
2089
+ id: params.id,
2090
+ description: params.description,
2091
+ inputSchema: params.inputSchema,
2092
+ outputSchema: params.outputSchema,
2093
+ suspendSchema: params.suspendSchema,
2094
+ resumeSchema: params.resumeSchema,
2095
+ execute: async ({ inputData, mastra, runtimeContext, suspend, resumeData }) => {
2096
+ return params.execute({
2097
+ context: inputData,
2098
+ mastra,
2099
+ runtimeContext,
2100
+ // TODO: Pass proper tracing context when evented workflows support tracing
2101
+ tracingContext: { currentSpan: void 0 },
2102
+ suspend,
2103
+ resumeData
2104
+ });
2105
+ },
2106
+ component: "TOOL"
2107
+ };
2108
+ }
2109
+ return {
2110
+ id: params.id,
2111
+ description: params.description,
2112
+ inputSchema: params.inputSchema,
2113
+ outputSchema: params.outputSchema,
2114
+ resumeSchema: params.resumeSchema,
2115
+ suspendSchema: params.suspendSchema,
2116
+ execute: params.execute
2117
+ };
2118
+ }
2119
+ function createWorkflow(params) {
2120
+ const eventProcessor = new WorkflowEventProcessor({ mastra: params.mastra });
2121
+ const executionEngine = new EventedExecutionEngine({
2122
+ mastra: params.mastra,
2123
+ eventProcessor,
2124
+ options: {
2125
+ validateInputs: params.options?.validateInputs ?? false,
2126
+ shouldPersistSnapshot: params.options?.shouldPersistSnapshot ?? (() => true),
2127
+ tracingPolicy: params.options?.tracingPolicy
2128
+ }
2129
+ });
2130
+ return new EventedWorkflow({
2131
+ ...params,
2132
+ executionEngine
2133
+ });
2134
+ }
2135
+ var EventedWorkflow = class extends chunkG3KSVDML_cjs.Workflow {
2136
+ constructor(params) {
2137
+ super(params);
2138
+ }
2139
+ __registerMastra(mastra) {
2140
+ super.__registerMastra(mastra);
2141
+ this.executionEngine.__registerMastra(mastra);
2142
+ }
2143
+ async createRunAsync(options) {
2144
+ const runIdToUse = options?.runId || crypto.randomUUID();
2145
+ const run = this.runs.get(runIdToUse) ?? new EventedRun({
2146
+ workflowId: this.id,
2147
+ runId: runIdToUse,
2148
+ executionEngine: this.executionEngine,
2149
+ executionGraph: this.executionGraph,
2150
+ serializedStepGraph: this.serializedStepGraph,
2151
+ mastra: this.mastra,
2152
+ retryConfig: this.retryConfig,
2153
+ cleanup: () => this.runs.delete(runIdToUse),
2154
+ workflowSteps: this.steps
2155
+ });
2156
+ this.runs.set(runIdToUse, run);
2157
+ const shouldPersistSnapshot = this.options?.shouldPersistSnapshot?.({
2158
+ workflowStatus: run.workflowRunStatus,
2159
+ stepResults: {}
2160
+ });
2161
+ const workflowSnapshotInStorage = await this.getWorkflowRunExecutionResult(runIdToUse, false);
2162
+ if (!workflowSnapshotInStorage && shouldPersistSnapshot) {
2163
+ await this.mastra?.getStorage()?.persistWorkflowSnapshot({
2164
+ workflowName: this.id,
2165
+ runId: runIdToUse,
2166
+ snapshot: {
2167
+ runId: runIdToUse,
2168
+ status: "pending",
2169
+ value: {},
2170
+ context: {},
2171
+ activePaths: [],
2172
+ serializedStepGraph: this.serializedStepGraph,
2173
+ suspendedPaths: {},
2174
+ resumeLabels: {},
2175
+ waitingPaths: {},
2176
+ result: void 0,
2177
+ error: void 0,
2178
+ // @ts-ignore
2179
+ timestamp: Date.now()
2180
+ }
2181
+ });
2182
+ }
2183
+ return run;
2184
+ }
2185
+ };
2186
+ var EventedRun = class extends chunkG3KSVDML_cjs.Run {
2187
+ constructor(params) {
2188
+ super(params);
2189
+ this.serializedStepGraph = params.serializedStepGraph;
2190
+ }
2191
+ async start({
2192
+ inputData,
2193
+ initialState,
2194
+ runtimeContext
2195
+ }) {
2196
+ if (this.serializedStepGraph.length === 0) {
2197
+ throw new Error(
2198
+ "Execution flow of workflow is not defined. Add steps to the workflow via .then(), .branch(), etc."
2199
+ );
2200
+ }
2201
+ if (!this.executionGraph.steps) {
2202
+ throw new Error("Uncommitted step flow changes detected. Call .commit() to register the steps.");
2203
+ }
2204
+ runtimeContext = runtimeContext ?? new chunkGPWMM745_cjs.RuntimeContext();
2205
+ await this.mastra?.getStorage()?.persistWorkflowSnapshot({
2206
+ workflowName: this.workflowId,
2207
+ runId: this.runId,
2208
+ snapshot: {
2209
+ runId: this.runId,
2210
+ serializedStepGraph: this.serializedStepGraph,
2211
+ value: {},
2212
+ context: {},
2213
+ runtimeContext: Object.fromEntries(runtimeContext.entries()),
2214
+ activePaths: [],
2215
+ suspendedPaths: {},
2216
+ resumeLabels: {},
2217
+ waitingPaths: {},
2218
+ timestamp: Date.now(),
2219
+ status: "running"
2220
+ }
2221
+ });
2222
+ const inputDataToUse = await this._validateInput(inputData);
2223
+ const initialStateToUse = await this._validateInitialState(initialState ?? {});
2224
+ const result = await this.executionEngine.execute({
2225
+ workflowId: this.workflowId,
2226
+ runId: this.runId,
2227
+ graph: this.executionGraph,
2228
+ serializedStepGraph: this.serializedStepGraph,
2229
+ input: inputDataToUse,
2230
+ initialState: initialStateToUse,
2231
+ emitter: {
2232
+ emit: async (event, data) => {
2233
+ this.emitter.emit(event, data);
2234
+ },
2235
+ on: (event, callback) => {
2236
+ this.emitter.on(event, callback);
2237
+ },
2238
+ off: (event, callback) => {
2239
+ this.emitter.off(event, callback);
2240
+ },
2241
+ once: (event, callback) => {
2242
+ this.emitter.once(event, callback);
2243
+ }
2244
+ },
2245
+ retryConfig: this.retryConfig,
2246
+ runtimeContext,
2247
+ abortController: this.abortController
2248
+ });
2249
+ if (result.status !== "suspended") {
2250
+ this.cleanup?.();
2251
+ }
2252
+ return result;
2253
+ }
2254
+ // TODO: stream
2255
+ async resume(params) {
2256
+ const steps = (Array.isArray(params.step) ? params.step : [params.step]).map(
2257
+ (step) => typeof step === "string" ? step : step?.id
2258
+ );
2259
+ if (steps.length === 0) {
2260
+ throw new Error("No steps provided to resume");
2261
+ }
2262
+ const snapshot = await this.mastra?.getStorage()?.loadWorkflowSnapshot({
2263
+ workflowName: this.workflowId,
2264
+ runId: this.runId
2265
+ });
2266
+ const resumePath = snapshot?.suspendedPaths?.[steps[0]];
2267
+ if (!resumePath) {
2268
+ throw new Error(
2269
+ `No resume path found for step ${JSON.stringify(steps)}, currently suspended paths are ${JSON.stringify(snapshot?.suspendedPaths)}`
2270
+ );
2271
+ }
2272
+ console.dir(
2273
+ { resume: { runtimeContextObj: snapshot?.runtimeContext, runtimeContext: params.runtimeContext } },
2274
+ { depth: null }
2275
+ );
2276
+ const runtimeContextObj = snapshot?.runtimeContext ?? {};
2277
+ const runtimeContext = new chunkGPWMM745_cjs.RuntimeContext();
2278
+ for (const [key, value] of Object.entries(runtimeContextObj)) {
2279
+ runtimeContext.set(key, value);
2280
+ }
2281
+ if (params.runtimeContext) {
2282
+ for (const [key, value] of params.runtimeContext.entries()) {
2283
+ runtimeContext.set(key, value);
2284
+ }
2285
+ }
2286
+ const suspendedStep = this.workflowSteps[steps?.[0] ?? ""];
2287
+ const resumeDataToUse = await this._validateResumeData(params.resumeData, suspendedStep);
2288
+ const executionResultPromise = this.executionEngine.execute({
2289
+ workflowId: this.workflowId,
2290
+ runId: this.runId,
2291
+ graph: this.executionGraph,
2292
+ serializedStepGraph: this.serializedStepGraph,
2293
+ input: resumeDataToUse,
2294
+ resume: {
2295
+ steps,
2296
+ stepResults: snapshot?.context,
2297
+ resumePayload: resumeDataToUse,
2298
+ resumePath
2299
+ },
2300
+ emitter: {
2301
+ emit: (event, data) => {
2302
+ this.emitter.emit(event, data);
2303
+ return Promise.resolve();
2304
+ },
2305
+ on: (event, callback) => {
2306
+ this.emitter.on(event, callback);
2307
+ },
2308
+ off: (event, callback) => {
2309
+ this.emitter.off(event, callback);
2310
+ },
2311
+ once: (event, callback) => {
2312
+ this.emitter.once(event, callback);
2313
+ }
2314
+ },
2315
+ runtimeContext,
2316
+ abortController: this.abortController
2317
+ }).then((result) => {
2318
+ if (result.status !== "suspended") {
2319
+ this.closeStreamAction?.().catch(() => {
2320
+ });
2321
+ }
2322
+ return result;
2323
+ });
2324
+ this.executionResults = executionResultPromise;
2325
+ return executionResultPromise;
2326
+ }
2327
+ watch(cb, type = "watch") {
2328
+ const watchCb = async (event, ack) => {
2329
+ if (event.runId !== this.runId) {
2330
+ return;
2331
+ }
2332
+ cb(event.data);
2333
+ await ack?.();
2334
+ };
2335
+ if (type === "watch-v2") {
2336
+ this.mastra?.pubsub.subscribe(`workflow.events.v2.${this.runId}`, watchCb).catch(() => {
2337
+ });
2338
+ } else {
2339
+ this.mastra?.pubsub.subscribe(`workflow.events.${this.runId}`, watchCb).catch(() => {
2340
+ });
2341
+ }
2342
+ return () => {
2343
+ if (type === "watch-v2") {
2344
+ this.mastra?.pubsub.unsubscribe(`workflow.events.v2.${this.runId}`, watchCb).catch(() => {
2345
+ });
2346
+ } else {
2347
+ this.mastra?.pubsub.unsubscribe(`workflow.events.${this.runId}`, watchCb).catch(() => {
2348
+ });
2349
+ }
2350
+ };
2351
+ }
2352
+ async watchAsync(cb, type = "watch") {
2353
+ const watchCb = async (event, ack) => {
2354
+ if (event.runId !== this.runId) {
2355
+ return;
2356
+ }
2357
+ cb(event.data);
2358
+ await ack?.();
2359
+ };
2360
+ if (type === "watch-v2") {
2361
+ await this.mastra?.pubsub.subscribe(`workflow.events.v2.${this.runId}`, watchCb).catch(() => {
2362
+ });
2363
+ } else {
2364
+ await this.mastra?.pubsub.subscribe(`workflow.events.${this.runId}`, watchCb).catch(() => {
2365
+ });
2366
+ }
2367
+ return async () => {
2368
+ if (type === "watch-v2") {
2369
+ await this.mastra?.pubsub.unsubscribe(`workflow.events.v2.${this.runId}`, watchCb).catch(() => {
2370
+ });
2371
+ } else {
2372
+ await this.mastra?.pubsub.unsubscribe(`workflow.events.${this.runId}`, watchCb).catch(() => {
2373
+ });
2374
+ }
2375
+ };
2376
+ }
2377
+ async cancel() {
2378
+ await this.mastra?.pubsub.publish("workflows", {
2379
+ type: "workflow.cancel",
2380
+ runId: this.runId,
2381
+ data: {
2382
+ workflowId: this.workflowId,
2383
+ runId: this.runId
2384
+ }
2385
+ });
2386
+ }
2387
+ async sendEvent(eventName, data) {
2388
+ await this.mastra?.pubsub.publish("workflows", {
2389
+ type: `workflow.user-event.${eventName}`,
2390
+ runId: this.runId,
2391
+ data: {
2392
+ workflowId: this.workflowId,
2393
+ runId: this.runId,
2394
+ resumeData: data
2395
+ }
2396
+ });
2397
+ }
2398
+ };
2399
+
2400
+ // src/workflows/evented/workflow-event-processor/utils.ts
2401
+ function getNestedWorkflow(mastra, { workflowId, executionPath, parentWorkflow }) {
2402
+ let workflow = null;
2403
+ if (parentWorkflow) {
2404
+ const nestedWorkflow = getNestedWorkflow(mastra, parentWorkflow);
2405
+ if (!nestedWorkflow) {
2406
+ return null;
2407
+ }
2408
+ workflow = nestedWorkflow;
2409
+ }
2410
+ workflow = workflow ?? mastra.getWorkflow(workflowId);
2411
+ const stepGraph = workflow.stepGraph;
2412
+ let parentStep = stepGraph[executionPath[0]];
2413
+ if (parentStep?.type === "parallel" || parentStep?.type === "conditional") {
2414
+ parentStep = parentStep.steps[executionPath[1]];
2415
+ }
2416
+ if (parentStep?.type === "step" || parentStep?.type === "loop") {
2417
+ return parentStep.step;
2418
+ }
2419
+ return null;
2420
+ }
2421
+ function getStep(workflow, executionPath) {
2422
+ let idx = 0;
2423
+ const stepGraph = workflow.stepGraph;
2424
+ let parentStep = stepGraph[executionPath[0]];
2425
+ if (parentStep?.type === "parallel" || parentStep?.type === "conditional") {
2426
+ parentStep = parentStep.steps[executionPath[1]];
2427
+ idx++;
2428
+ } else if (parentStep?.type === "foreach") {
2429
+ return parentStep.step;
2430
+ }
2431
+ if (!(parentStep?.type === "step" || parentStep?.type === "loop" || parentStep?.type === "waitForEvent")) {
2432
+ return null;
2433
+ }
2434
+ if (parentStep instanceof EventedWorkflow) {
2435
+ return getStep(parentStep, executionPath.slice(idx + 1));
2436
+ }
2437
+ return parentStep.step;
2438
+ }
2439
+ function isExecutableStep(step) {
2440
+ return step.type === "step" || step.type === "loop" || step.type === "waitForEvent" || step.type === "foreach";
2441
+ }
2442
+
2443
+ // src/workflows/evented/execution-engine.ts
2444
+ var EventedExecutionEngine = class extends chunkG3KSVDML_cjs.ExecutionEngine {
2445
+ eventProcessor;
2446
+ constructor({
2447
+ mastra,
2448
+ eventProcessor,
2449
+ options
2450
+ }) {
2451
+ super({ mastra, options });
2452
+ this.eventProcessor = eventProcessor;
2453
+ }
2454
+ __registerMastra(mastra) {
2455
+ this.mastra = mastra;
2456
+ this.eventProcessor.__registerMastra(mastra);
2457
+ }
2458
+ /**
2459
+ * Executes a workflow run with the provided execution graph and input
2460
+ * @param graph The execution graph to execute
2461
+ * @param input The input data for the workflow
2462
+ * @returns A promise that resolves to the workflow output
2463
+ */
2464
+ async execute(params) {
2465
+ const pubsub = this.mastra?.pubsub;
2466
+ if (!pubsub) {
2467
+ throw new Error("No Pubsub adapter configured on the Mastra instance");
2468
+ }
2469
+ if (params.resume) {
2470
+ const prevStep = getStep(this.mastra.getWorkflow(params.workflowId), params.resume.resumePath);
2471
+ const prevResult = params.resume.stepResults[prevStep?.id ?? "input"];
2472
+ await pubsub.publish("workflows", {
2473
+ type: "workflow.resume",
2474
+ runId: params.runId,
2475
+ data: {
2476
+ workflowId: params.workflowId,
2477
+ runId: params.runId,
2478
+ executionPath: params.resume.resumePath,
2479
+ stepResults: params.resume.stepResults,
2480
+ resumeSteps: params.resume.steps,
2481
+ prevResult: { status: "success", output: prevResult?.payload },
2482
+ resumeData: params.resume.resumePayload,
2483
+ runtimeContext: Object.fromEntries(params.runtimeContext.entries()),
2484
+ format: params.format
2485
+ }
2486
+ });
2487
+ } else {
2488
+ await pubsub.publish("workflows", {
2489
+ type: "workflow.start",
2490
+ runId: params.runId,
2491
+ data: {
2492
+ workflowId: params.workflowId,
2493
+ runId: params.runId,
2494
+ prevResult: { status: "success", output: params.input },
2495
+ runtimeContext: Object.fromEntries(params.runtimeContext.entries()),
2496
+ format: params.format
2497
+ }
2498
+ });
2499
+ }
2500
+ const resultData = await new Promise((resolve) => {
2501
+ const finishCb = async (event, ack) => {
2502
+ if (event.runId !== params.runId) {
2503
+ await ack?.();
2504
+ return;
2505
+ }
2506
+ if (["workflow.end", "workflow.fail", "workflow.suspend"].includes(event.type)) {
2507
+ await ack?.();
2508
+ await pubsub.unsubscribe("workflows-finish", finishCb);
2509
+ resolve(event.data);
2510
+ return;
2511
+ }
2512
+ await ack?.();
2513
+ };
2514
+ pubsub.subscribe("workflows-finish", finishCb).catch(() => {
2515
+ });
2516
+ });
2517
+ if (resultData.prevResult.status === "failed") {
2518
+ return {
2519
+ status: "failed",
2520
+ error: resultData.prevResult.error,
2521
+ steps: resultData.stepResults
2522
+ };
2523
+ } else if (resultData.prevResult.status === "suspended") {
2524
+ const suspendedSteps = Object.entries(resultData.stepResults).map(([_stepId, stepResult]) => {
2525
+ if (stepResult.status === "suspended") {
2526
+ return stepResult.suspendPayload?.__workflow_meta?.path ?? [];
2527
+ }
2528
+ return null;
2529
+ }).filter(Boolean);
2530
+ return {
2531
+ status: "suspended",
2532
+ steps: resultData.stepResults,
2533
+ suspended: suspendedSteps
2534
+ };
2535
+ }
2536
+ return {
2537
+ status: resultData.prevResult.status,
2538
+ result: resultData.prevResult?.output,
2539
+ steps: resultData.stepResults
2540
+ };
2541
+ }
2542
+ };
2543
+
2544
+ exports.EventedExecutionEngine = EventedExecutionEngine;
2545
+ exports.EventedRun = EventedRun;
2546
+ exports.EventedWorkflow = EventedWorkflow;
2547
+ exports.StepExecutor = StepExecutor;
2548
+ exports.WorkflowEventProcessor = WorkflowEventProcessor;
2549
+ exports.cloneStep = cloneStep;
2550
+ exports.cloneWorkflow = cloneWorkflow;
2551
+ exports.createStep = createStep;
2552
+ exports.createWorkflow = createWorkflow;
2553
+ //# sourceMappingURL=chunk-4L63C6E5.cjs.map
2554
+ //# sourceMappingURL=chunk-4L63C6E5.cjs.map