@mastra/core 1.0.0-beta.11 → 1.0.0-beta.14

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 (447) hide show
  1. package/CHANGELOG.md +343 -0
  2. package/dist/_types/@internal_ai-sdk-v4/dist/index.d.ts +7549 -0
  3. package/dist/_types/@internal_ai-sdk-v4/dist/test.d.ts +65 -0
  4. package/dist/_types/@internal_ai-sdk-v5/dist/index.d.ts +8396 -0
  5. package/dist/_types/@internal_ai-sdk-v5/dist/test.d.ts +1708 -0
  6. package/dist/_types/@internal_external-types/dist/index.d.ts +858 -0
  7. package/dist/agent/agent-legacy.d.ts +1 -1
  8. package/dist/agent/agent.d.ts +3 -3
  9. package/dist/agent/agent.d.ts.map +1 -1
  10. package/dist/agent/agent.types.d.ts +11 -8
  11. package/dist/agent/agent.types.d.ts.map +1 -1
  12. package/dist/agent/index.cjs +17 -9
  13. package/dist/agent/index.d.ts +1 -1
  14. package/dist/agent/index.d.ts.map +1 -1
  15. package/dist/agent/index.js +2 -2
  16. package/dist/agent/message-list/index.cjs +3 -3
  17. package/dist/agent/message-list/index.d.ts +4 -3
  18. package/dist/agent/message-list/index.d.ts.map +1 -1
  19. package/dist/agent/message-list/index.js +1 -1
  20. package/dist/agent/message-list/prompt/attachments-to-parts.d.ts +1 -1
  21. package/dist/agent/message-list/prompt/invalid-content-error.d.ts +1 -1
  22. package/dist/agent/message-list/types.d.ts +3 -3
  23. package/dist/agent/message-list/types.d.ts.map +1 -1
  24. package/dist/agent/message-list/utils/ai-v4-v5/core-model-message.d.ts +1 -1
  25. package/dist/agent/message-list/utils/ai-v4-v5/ui-message.d.ts +1 -1
  26. package/dist/agent/message-list/utils/ai-v5/gemini-compatibility.d.ts +2 -2
  27. package/dist/agent/message-list/utils/ai-v5/gemini-compatibility.d.ts.map +1 -1
  28. package/dist/agent/message-list/utils/convert-messages.d.ts +2 -2
  29. package/dist/agent/message-list/utils/convert-messages.d.ts.map +1 -1
  30. package/dist/agent/trip-wire.d.ts +2 -2
  31. package/dist/agent/trip-wire.d.ts.map +1 -1
  32. package/dist/agent/types.d.ts +3 -3
  33. package/dist/agent/utils.d.ts +7 -4
  34. package/dist/agent/utils.d.ts.map +1 -1
  35. package/dist/agent/workflows/prepare-stream/index.d.ts +4 -3
  36. package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
  37. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +3 -3
  38. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
  39. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +3 -3
  40. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts.map +1 -1
  41. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts +3 -3
  42. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
  43. package/dist/agent/workflows/prepare-stream/stream-step.d.ts +3 -1
  44. package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
  45. package/dist/bundler/types.d.ts +15 -1
  46. package/dist/bundler/types.d.ts.map +1 -1
  47. package/dist/chunk-2AU5ZHBL.js +79 -0
  48. package/dist/chunk-2AU5ZHBL.js.map +1 -0
  49. package/dist/chunk-2SQB3WBT.js +4574 -0
  50. package/dist/chunk-2SQB3WBT.js.map +1 -0
  51. package/dist/{chunk-THZTRBFS.js → chunk-373OC54J.js} +8 -8
  52. package/dist/chunk-373OC54J.js.map +1 -0
  53. package/dist/{chunk-US2U7ECW.js → chunk-3IP3DZ7G.js} +234 -101
  54. package/dist/chunk-3IP3DZ7G.js.map +1 -0
  55. package/dist/{chunk-SXNQRJQD.js → chunk-4AT6YQKZ.js} +26 -20
  56. package/dist/chunk-4AT6YQKZ.js.map +1 -0
  57. package/dist/{chunk-C36YRTZ6.js → chunk-4CMIJQF6.js} +117 -114
  58. package/dist/chunk-4CMIJQF6.js.map +1 -0
  59. package/dist/chunk-53SZJCBX.cjs +4888 -0
  60. package/dist/chunk-53SZJCBX.cjs.map +1 -0
  61. package/dist/chunk-55VPMN3N.js +250 -0
  62. package/dist/chunk-55VPMN3N.js.map +1 -0
  63. package/dist/{chunk-QM5SRDJX.js → chunk-5PTZG26U.js} +66 -84
  64. package/dist/chunk-5PTZG26U.js.map +1 -0
  65. package/dist/{chunk-U3XOLEPX.js → chunk-5UQ5TB6J.js} +6 -32
  66. package/dist/chunk-5UQ5TB6J.js.map +1 -0
  67. package/dist/{chunk-O2BJW7YA.js → chunk-67LM2UCT.js} +9 -9
  68. package/dist/chunk-67LM2UCT.js.map +1 -0
  69. package/dist/{chunk-YC6PJEPH.cjs → chunk-6CG7IY57.cjs} +266 -133
  70. package/dist/chunk-6CG7IY57.cjs.map +1 -0
  71. package/dist/chunk-6PMMP3FR.js +7 -0
  72. package/dist/chunk-6PMMP3FR.js.map +1 -0
  73. package/dist/{chunk-DZUJEN5N.cjs → chunk-6SZKM6EC.cjs} +10 -3
  74. package/dist/{chunk-DZUJEN5N.cjs.map → chunk-6SZKM6EC.cjs.map} +1 -1
  75. package/dist/{chunk-5Q6WAYEY.cjs → chunk-72E3YF6A.cjs} +35 -49
  76. package/dist/chunk-72E3YF6A.cjs.map +1 -0
  77. package/dist/{chunk-5WRI5ZAA.js → chunk-7D4SUZUM.js} +10 -4
  78. package/dist/{chunk-5WRI5ZAA.js.map → chunk-7D4SUZUM.js.map} +1 -1
  79. package/dist/{chunk-7P6BNIJH.js → chunk-AYBJ5GAD.js} +281 -35
  80. package/dist/chunk-AYBJ5GAD.js.map +1 -0
  81. package/dist/chunk-D22XABFZ.js +79 -0
  82. package/dist/chunk-D22XABFZ.js.map +1 -0
  83. package/dist/{chunk-SCUWP4II.cjs → chunk-DBW6S25C.cjs} +47 -74
  84. package/dist/chunk-DBW6S25C.cjs.map +1 -0
  85. package/dist/{chunk-MRFUISXC.cjs → chunk-EGHGFLL3.cjs} +2631 -179
  86. package/dist/chunk-EGHGFLL3.cjs.map +1 -0
  87. package/dist/{chunk-BJXKH4LG.cjs → chunk-ETWAR2YE.cjs} +43 -78
  88. package/dist/chunk-ETWAR2YE.cjs.map +1 -0
  89. package/dist/{chunk-CZEJQSWB.cjs → chunk-F75EQ574.cjs} +65 -6
  90. package/dist/chunk-F75EQ574.cjs.map +1 -0
  91. package/dist/{chunk-BUKY6CTR.cjs → chunk-FPDJ4XN6.cjs} +282 -36
  92. package/dist/chunk-FPDJ4XN6.cjs.map +1 -0
  93. package/dist/chunk-FST2G2FQ.cjs +84 -0
  94. package/dist/chunk-FST2G2FQ.cjs.map +1 -0
  95. package/dist/chunk-FVQTJUBD.cjs +2120 -0
  96. package/dist/chunk-FVQTJUBD.cjs.map +1 -0
  97. package/dist/chunk-G6E6V2Z4.js +2070 -0
  98. package/dist/chunk-G6E6V2Z4.js.map +1 -0
  99. package/dist/{chunk-JIGDJK2O.js → chunk-GBQXIVL6.js} +4 -39
  100. package/dist/chunk-GBQXIVL6.js.map +1 -0
  101. package/dist/{chunk-F2GAJSBI.js → chunk-GELVUDUY.js} +11 -8
  102. package/dist/chunk-GELVUDUY.js.map +1 -0
  103. package/dist/chunk-GVAPYQRO.cjs +252 -0
  104. package/dist/chunk-GVAPYQRO.cjs.map +1 -0
  105. package/dist/{chunk-TWH4PTDG.cjs → chunk-HWMMIRIF.cjs} +32 -27
  106. package/dist/chunk-HWMMIRIF.cjs.map +1 -0
  107. package/dist/{chunk-52RSUALV.cjs → chunk-JAGQZZ43.cjs} +1660 -1196
  108. package/dist/chunk-JAGQZZ43.cjs.map +1 -0
  109. package/dist/{chunk-PK2A5WBG.js → chunk-K66U47VL.js} +54 -7
  110. package/dist/chunk-K66U47VL.js.map +1 -0
  111. package/dist/chunk-L3NKIMF5.cjs +10 -0
  112. package/dist/chunk-L3NKIMF5.cjs.map +1 -0
  113. package/dist/chunk-L4JCRWDY.cjs +252 -0
  114. package/dist/chunk-L4JCRWDY.cjs.map +1 -0
  115. package/dist/{chunk-IVV5TOMD.js → chunk-LDXKZYOV.js} +31 -11
  116. package/dist/chunk-LDXKZYOV.js.map +1 -0
  117. package/dist/chunk-NESKUIRE.cjs +4586 -0
  118. package/dist/chunk-NESKUIRE.cjs.map +1 -0
  119. package/dist/{chunk-SVLMF4UZ.cjs → chunk-NIOEY3N3.cjs} +66 -85
  120. package/dist/chunk-NIOEY3N3.cjs.map +1 -0
  121. package/dist/{chunk-PG5H6QIO.cjs → chunk-O3ULBGV6.cjs} +40 -20
  122. package/dist/chunk-O3ULBGV6.cjs.map +1 -0
  123. package/dist/{chunk-WTSZBHIZ.cjs → chunk-O5BQBZEF.cjs} +28 -28
  124. package/dist/chunk-O5BQBZEF.cjs.map +1 -0
  125. package/dist/{chunk-4JKEUSCC.cjs → chunk-OOUFPYSX.cjs} +25 -22
  126. package/dist/chunk-OOUFPYSX.cjs.map +1 -0
  127. package/dist/chunk-QDVYP2T7.js +4883 -0
  128. package/dist/chunk-QDVYP2T7.js.map +1 -0
  129. package/dist/{chunk-2ULLRN4Y.js → chunk-QF4MHFSU.js} +1294 -834
  130. package/dist/chunk-QF4MHFSU.js.map +1 -0
  131. package/dist/{chunk-Z57R5WS4.js → chunk-SLBWA2F3.js} +4 -4
  132. package/dist/{chunk-Z57R5WS4.js.map → chunk-SLBWA2F3.js.map} +1 -1
  133. package/dist/chunk-ST7NBF4H.cjs +84 -0
  134. package/dist/chunk-ST7NBF4H.cjs.map +1 -0
  135. package/dist/{chunk-YWMMBIOM.cjs → chunk-TDM43G4I.cjs} +15 -15
  136. package/dist/{chunk-YWMMBIOM.cjs.map → chunk-TDM43G4I.cjs.map} +1 -1
  137. package/dist/{chunk-S73Z3PBJ.cjs → chunk-TRUNX3AX.cjs} +138 -134
  138. package/dist/chunk-TRUNX3AX.cjs.map +1 -0
  139. package/dist/chunk-VE6HQ7H6.js +250 -0
  140. package/dist/chunk-VE6HQ7H6.js.map +1 -0
  141. package/dist/{chunk-OEIVMCWX.js → chunk-VZJOEGQA.js} +2536 -84
  142. package/dist/chunk-VZJOEGQA.js.map +1 -0
  143. package/dist/{chunk-JJ5O45LH.js → chunk-YPLZDWG7.js} +32 -27
  144. package/dist/chunk-YPLZDWG7.js.map +1 -0
  145. package/dist/{chunk-MGCGWPQJ.cjs → chunk-Z55SJVEC.cjs} +8 -8
  146. package/dist/chunk-Z55SJVEC.cjs.map +1 -0
  147. package/dist/error/index.cjs +6 -6
  148. package/dist/error/index.d.ts +26 -20
  149. package/dist/error/index.d.ts.map +1 -1
  150. package/dist/error/index.js +1 -1
  151. package/dist/error/utils.d.ts +19 -5
  152. package/dist/error/utils.d.ts.map +1 -1
  153. package/dist/evals/index.cjs +4 -4
  154. package/dist/evals/index.js +1 -1
  155. package/dist/evals/run/index.d.ts +1 -1
  156. package/dist/evals/run/index.d.ts.map +1 -1
  157. package/dist/evals/scoreTraces/index.cjs +8 -8
  158. package/dist/evals/scoreTraces/index.js +2 -2
  159. package/dist/evals/types.d.ts +1 -1
  160. package/dist/events/event-emitter.d.ts +6 -1
  161. package/dist/events/event-emitter.d.ts.map +1 -1
  162. package/dist/index.cjs +2 -2
  163. package/dist/index.js +1 -1
  164. package/dist/integration/index.cjs +2 -2
  165. package/dist/integration/index.js +1 -1
  166. package/dist/llm/index.cjs +15 -15
  167. package/dist/llm/index.d.ts +2 -2
  168. package/dist/llm/index.d.ts.map +1 -1
  169. package/dist/llm/index.js +5 -5
  170. package/dist/llm/model/aisdk/generate-to-stream.d.ts +20 -0
  171. package/dist/llm/model/aisdk/generate-to-stream.d.ts.map +1 -0
  172. package/dist/llm/model/aisdk/v5/model.d.ts +5 -1
  173. package/dist/llm/model/aisdk/v5/model.d.ts.map +1 -1
  174. package/dist/llm/model/aisdk/v6/model.d.ts +51 -0
  175. package/dist/llm/model/aisdk/v6/model.d.ts.map +1 -0
  176. package/dist/llm/model/base.types.d.ts +2 -2
  177. package/dist/llm/model/model.d.ts +1 -1
  178. package/dist/llm/model/model.d.ts.map +1 -1
  179. package/dist/llm/model/model.loop.d.ts +3 -3
  180. package/dist/llm/model/model.loop.d.ts.map +1 -1
  181. package/dist/llm/model/model.loop.types.d.ts +1 -1
  182. package/dist/llm/model/model.loop.types.d.ts.map +1 -1
  183. package/dist/llm/model/provider-types.generated.d.ts +135 -11
  184. package/dist/llm/model/resolve-model.d.ts +2 -2
  185. package/dist/llm/model/resolve-model.d.ts.map +1 -1
  186. package/dist/llm/model/shared.types.d.ts +19 -8
  187. package/dist/llm/model/shared.types.d.ts.map +1 -1
  188. package/dist/loop/index.cjs +2 -2
  189. package/dist/loop/index.js +1 -1
  190. package/dist/loop/loop.d.ts +2 -2
  191. package/dist/loop/loop.d.ts.map +1 -1
  192. package/dist/loop/network/index.d.ts +2 -2
  193. package/dist/loop/network/index.d.ts.map +1 -1
  194. package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts +2 -2
  195. package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts.map +1 -1
  196. package/dist/loop/test-utils/MastraLanguageModelV3Mock.d.ts +37 -0
  197. package/dist/loop/test-utils/MastraLanguageModelV3Mock.d.ts.map +1 -0
  198. package/dist/loop/test-utils/fullStream.d.ts +2 -1
  199. package/dist/loop/test-utils/fullStream.d.ts.map +1 -1
  200. package/dist/loop/test-utils/options.d.ts.map +1 -1
  201. package/dist/loop/test-utils/resultObject.d.ts +2 -1
  202. package/dist/loop/test-utils/resultObject.d.ts.map +1 -1
  203. package/dist/loop/test-utils/streamObject.d.ts +1 -1
  204. package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
  205. package/dist/loop/test-utils/tools.d.ts.map +1 -1
  206. package/dist/loop/test-utils/utils-v3.d.ts +55 -0
  207. package/dist/loop/test-utils/utils-v3.d.ts.map +1 -0
  208. package/dist/loop/types.d.ts +8 -7
  209. package/dist/loop/types.d.ts.map +1 -1
  210. package/dist/loop/workflows/agentic-execution/index.d.ts +49 -49
  211. package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
  212. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +34 -34
  213. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  214. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +17 -17
  215. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
  216. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts +22 -21
  217. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  218. package/dist/loop/workflows/agentic-loop/index.d.ts +49 -49
  219. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  220. package/dist/loop/workflows/run-state.d.ts +2 -2
  221. package/dist/loop/workflows/run-state.d.ts.map +1 -1
  222. package/dist/loop/workflows/schema.d.ts +18 -18
  223. package/dist/loop/workflows/schema.d.ts.map +1 -1
  224. package/dist/loop/workflows/stream.d.ts +2 -2
  225. package/dist/loop/workflows/stream.d.ts.map +1 -1
  226. package/dist/mastra/index.cjs +2 -2
  227. package/dist/mastra/index.js +1 -1
  228. package/dist/mcp/index.cjs +4 -4
  229. package/dist/mcp/index.js +1 -1
  230. package/dist/memory/index.cjs +6 -6
  231. package/dist/memory/index.js +1 -1
  232. package/dist/memory/memory.d.ts +1 -1
  233. package/dist/memory/types.d.ts +3 -3
  234. package/dist/memory/types.d.ts.map +1 -1
  235. package/dist/models-dev-E3WWI7VA.js +3 -0
  236. package/dist/{models-dev-23RN2WHG.js.map → models-dev-E3WWI7VA.js.map} +1 -1
  237. package/dist/models-dev-PPS7X4JM.cjs +12 -0
  238. package/dist/{models-dev-EO3SUIY2.cjs.map → models-dev-PPS7X4JM.cjs.map} +1 -1
  239. package/dist/netlify-TY656UYF.js +3 -0
  240. package/dist/{netlify-GXJ5D5DD.js.map → netlify-TY656UYF.js.map} +1 -1
  241. package/dist/netlify-VZFM5UH3.cjs +12 -0
  242. package/dist/{netlify-KJLY3GFS.cjs.map → netlify-VZFM5UH3.cjs.map} +1 -1
  243. package/dist/processors/index.cjs +37 -37
  244. package/dist/processors/index.d.ts +9 -9
  245. package/dist/processors/index.d.ts.map +1 -1
  246. package/dist/processors/index.js +1 -1
  247. package/dist/processors/runner.d.ts.map +1 -1
  248. package/dist/processors/step-schema.d.ts +1293 -1293
  249. package/dist/processors/step-schema.d.ts.map +1 -1
  250. package/dist/provider-registry-NXVD764B.js +3 -0
  251. package/dist/{provider-registry-F67Y6OF2.js.map → provider-registry-NXVD764B.js.map} +1 -1
  252. package/dist/provider-registry-ZIWSEUQE.cjs +40 -0
  253. package/dist/{provider-registry-3TG2KUD2.cjs.map → provider-registry-ZIWSEUQE.cjs.map} +1 -1
  254. package/dist/provider-registry.json +276 -30
  255. package/dist/{registry-generator-UMTNPBJX.js → registry-generator-AVQXI3GX.js} +2 -2
  256. package/dist/{registry-generator-UMTNPBJX.js.map → registry-generator-AVQXI3GX.js.map} +1 -1
  257. package/dist/{registry-generator-34SC4TAU.cjs → registry-generator-KOFNIIWJ.cjs} +2 -2
  258. package/dist/{registry-generator-34SC4TAU.cjs.map → registry-generator-KOFNIIWJ.cjs.map} +1 -1
  259. package/dist/relevance/index.cjs +3 -3
  260. package/dist/relevance/index.cjs.map +1 -1
  261. package/dist/relevance/index.js +2 -2
  262. package/dist/relevance/index.js.map +1 -1
  263. package/dist/server/index.cjs +5 -5
  264. package/dist/server/index.js +1 -1
  265. package/dist/storage/base.d.ts +2 -10
  266. package/dist/storage/base.d.ts.map +1 -1
  267. package/dist/storage/domains/workflows/base.d.ts +2 -8
  268. package/dist/storage/domains/workflows/base.d.ts.map +1 -1
  269. package/dist/storage/domains/workflows/inmemory.d.ts +2 -8
  270. package/dist/storage/domains/workflows/inmemory.d.ts.map +1 -1
  271. package/dist/storage/index.cjs +38 -38
  272. package/dist/storage/index.js +1 -1
  273. package/dist/storage/mock.d.ts +2 -8
  274. package/dist/storage/mock.d.ts.map +1 -1
  275. package/dist/storage/types.d.ts +9 -1
  276. package/dist/storage/types.d.ts.map +1 -1
  277. package/dist/stream/RunOutput.d.ts +1 -1
  278. package/dist/stream/aisdk/v4/input.d.ts +1 -1
  279. package/dist/stream/aisdk/v5/compat/content.d.ts +1 -1
  280. package/dist/stream/aisdk/v5/compat/content.d.ts.map +1 -1
  281. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts +1 -1
  282. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
  283. package/dist/stream/aisdk/v5/compat/ui-message.d.ts +1 -1
  284. package/dist/stream/aisdk/v5/compat/ui-message.d.ts.map +1 -1
  285. package/dist/stream/aisdk/v5/compat/validation.d.ts +1 -1
  286. package/dist/stream/aisdk/v5/compat/validation.d.ts.map +1 -1
  287. package/dist/stream/aisdk/v5/execute.d.ts +6 -6
  288. package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
  289. package/dist/stream/aisdk/v5/input.d.ts +1 -1
  290. package/dist/stream/aisdk/v5/input.d.ts.map +1 -1
  291. package/dist/stream/aisdk/v5/output-helpers.d.ts +12 -27
  292. package/dist/stream/aisdk/v5/output-helpers.d.ts.map +1 -1
  293. package/dist/stream/aisdk/v5/output.d.ts +41 -91
  294. package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
  295. package/dist/stream/aisdk/v5/transform.d.ts +1 -1
  296. package/dist/stream/aisdk/v5/transform.d.ts.map +1 -1
  297. package/dist/stream/base/input.d.ts +1 -1
  298. package/dist/stream/base/output.d.ts +16 -36
  299. package/dist/stream/base/output.d.ts.map +1 -1
  300. package/dist/stream/base/schema.d.ts +2 -2
  301. package/dist/stream/base/schema.d.ts.map +1 -1
  302. package/dist/stream/index.cjs +12 -12
  303. package/dist/stream/index.js +2 -2
  304. package/dist/stream/types.d.ts +32 -23
  305. package/dist/stream/types.d.ts.map +1 -1
  306. package/dist/test-utils/llm-mock.cjs +14587 -14
  307. package/dist/test-utils/llm-mock.cjs.map +1 -1
  308. package/dist/test-utils/llm-mock.d.ts +3 -3
  309. package/dist/test-utils/llm-mock.d.ts.map +1 -1
  310. package/dist/test-utils/llm-mock.js +14577 -4
  311. package/dist/test-utils/llm-mock.js.map +1 -1
  312. package/dist/token-6GSAFR2W-LTZ7QQUP.js +61 -0
  313. package/dist/token-6GSAFR2W-LTZ7QQUP.js.map +1 -0
  314. package/dist/token-6GSAFR2W-SGVIXFCP.cjs +63 -0
  315. package/dist/token-6GSAFR2W-SGVIXFCP.cjs.map +1 -0
  316. package/dist/token-6GSAFR2W-SPYPLMBM.js +61 -0
  317. package/dist/token-6GSAFR2W-SPYPLMBM.js.map +1 -0
  318. package/dist/token-6GSAFR2W-UEEINYAN.cjs +63 -0
  319. package/dist/token-6GSAFR2W-UEEINYAN.cjs.map +1 -0
  320. package/dist/token-util-NEHG7TUY-7GMW5FXI.cjs +10 -0
  321. package/dist/token-util-NEHG7TUY-7GMW5FXI.cjs.map +1 -0
  322. package/dist/token-util-NEHG7TUY-JRJTGTAB.js +8 -0
  323. package/dist/token-util-NEHG7TUY-JRJTGTAB.js.map +1 -0
  324. package/dist/token-util-NEHG7TUY-QTFZ26EN.js +8 -0
  325. package/dist/token-util-NEHG7TUY-QTFZ26EN.js.map +1 -0
  326. package/dist/token-util-NEHG7TUY-WZL2DNCG.cjs +10 -0
  327. package/dist/token-util-NEHG7TUY-WZL2DNCG.cjs.map +1 -0
  328. package/dist/tools/index.cjs +4 -4
  329. package/dist/tools/index.js +1 -1
  330. package/dist/tools/is-vercel-tool.cjs +2 -2
  331. package/dist/tools/is-vercel-tool.js +1 -1
  332. package/dist/tools/tool-builder/builder.d.ts +2 -1
  333. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  334. package/dist/tools/tool.d.ts.map +1 -1
  335. package/dist/tools/types.d.ts +5 -5
  336. package/dist/tools/types.d.ts.map +1 -1
  337. package/dist/utils.cjs +22 -22
  338. package/dist/utils.d.ts +5 -5
  339. package/dist/utils.d.ts.map +1 -1
  340. package/dist/utils.js +1 -1
  341. package/dist/vector/embed.d.ts +3 -2
  342. package/dist/vector/embed.d.ts.map +1 -1
  343. package/dist/vector/index.cjs +5316 -16
  344. package/dist/vector/index.cjs.map +1 -1
  345. package/dist/vector/index.js +5282 -4
  346. package/dist/vector/index.js.map +1 -1
  347. package/dist/vector/vector.d.ts +15 -2
  348. package/dist/vector/vector.d.ts.map +1 -1
  349. package/dist/voice/aisdk/speech.d.ts +1 -1
  350. package/dist/voice/aisdk/speech.d.ts.map +1 -1
  351. package/dist/voice/aisdk/transcription.d.ts +1 -1
  352. package/dist/voice/aisdk/transcription.d.ts.map +1 -1
  353. package/dist/voice/composite-voice.d.ts +1 -1
  354. package/dist/voice/composite-voice.d.ts.map +1 -1
  355. package/dist/voice/index.cjs +6 -6
  356. package/dist/voice/index.js +1 -1
  357. package/dist/workflows/constants.cjs +4 -4
  358. package/dist/workflows/constants.d.ts +1 -1
  359. package/dist/workflows/constants.d.ts.map +1 -1
  360. package/dist/workflows/constants.js +1 -1
  361. package/dist/workflows/default.d.ts +9 -16
  362. package/dist/workflows/default.d.ts.map +1 -1
  363. package/dist/workflows/evented/execution-engine.d.ts +3 -2
  364. package/dist/workflows/evented/execution-engine.d.ts.map +1 -1
  365. package/dist/workflows/evented/index.cjs +10 -10
  366. package/dist/workflows/evented/index.js +1 -1
  367. package/dist/workflows/evented/step-executor.d.ts +5 -1
  368. package/dist/workflows/evented/step-executor.d.ts.map +1 -1
  369. package/dist/workflows/evented/workflow-event-processor/index.d.ts +16 -1
  370. package/dist/workflows/evented/workflow-event-processor/index.d.ts.map +1 -1
  371. package/dist/workflows/evented/workflow.d.ts +20 -0
  372. package/dist/workflows/evented/workflow.d.ts.map +1 -1
  373. package/dist/workflows/execution-engine.d.ts +25 -2
  374. package/dist/workflows/execution-engine.d.ts.map +1 -1
  375. package/dist/workflows/handlers/control-flow.d.ts +6 -5
  376. package/dist/workflows/handlers/control-flow.d.ts.map +1 -1
  377. package/dist/workflows/handlers/entry.d.ts +5 -3
  378. package/dist/workflows/handlers/entry.d.ts.map +1 -1
  379. package/dist/workflows/handlers/sleep.d.ts +4 -3
  380. package/dist/workflows/handlers/sleep.d.ts.map +1 -1
  381. package/dist/workflows/handlers/step.d.ts +5 -3
  382. package/dist/workflows/handlers/step.d.ts.map +1 -1
  383. package/dist/workflows/index.cjs +26 -22
  384. package/dist/workflows/index.js +1 -1
  385. package/dist/workflows/step.d.ts +5 -4
  386. package/dist/workflows/step.d.ts.map +1 -1
  387. package/dist/workflows/types.d.ts +66 -14
  388. package/dist/workflows/types.d.ts.map +1 -1
  389. package/dist/workflows/utils.d.ts +11 -0
  390. package/dist/workflows/utils.d.ts.map +1 -1
  391. package/dist/workflows/workflow.d.ts +30 -9
  392. package/dist/workflows/workflow.d.ts.map +1 -1
  393. package/package.json +13 -14
  394. package/src/llm/model/provider-types.generated.d.ts +135 -11
  395. package/dist/agent/__tests__/mock-model.d.ts +0 -8
  396. package/dist/agent/__tests__/mock-model.d.ts.map +0 -1
  397. package/dist/agent/agent-types.test-d.d.ts +0 -2
  398. package/dist/agent/agent-types.test-d.d.ts.map +0 -1
  399. package/dist/ai-sdk.types.d.ts +0 -4705
  400. package/dist/chunk-2ULLRN4Y.js.map +0 -1
  401. package/dist/chunk-3E3ILV6T.cjs +0 -518
  402. package/dist/chunk-3E3ILV6T.cjs.map +0 -1
  403. package/dist/chunk-4JKEUSCC.cjs.map +0 -1
  404. package/dist/chunk-52RSUALV.cjs.map +0 -1
  405. package/dist/chunk-5PAEYE3Q.js +0 -513
  406. package/dist/chunk-5PAEYE3Q.js.map +0 -1
  407. package/dist/chunk-5Q6WAYEY.cjs.map +0 -1
  408. package/dist/chunk-7P6BNIJH.js.map +0 -1
  409. package/dist/chunk-ABJOUEVA.cjs +0 -10
  410. package/dist/chunk-ABJOUEVA.cjs.map +0 -1
  411. package/dist/chunk-BJXKH4LG.cjs.map +0 -1
  412. package/dist/chunk-BUKY6CTR.cjs.map +0 -1
  413. package/dist/chunk-C36YRTZ6.js.map +0 -1
  414. package/dist/chunk-CZEJQSWB.cjs.map +0 -1
  415. package/dist/chunk-F2GAJSBI.js.map +0 -1
  416. package/dist/chunk-IVV5TOMD.js.map +0 -1
  417. package/dist/chunk-JIGDJK2O.js.map +0 -1
  418. package/dist/chunk-JJ5O45LH.js.map +0 -1
  419. package/dist/chunk-MGCGWPQJ.cjs.map +0 -1
  420. package/dist/chunk-MRFUISXC.cjs.map +0 -1
  421. package/dist/chunk-NLNKQD2T.js +0 -7
  422. package/dist/chunk-NLNKQD2T.js.map +0 -1
  423. package/dist/chunk-O2BJW7YA.js.map +0 -1
  424. package/dist/chunk-OEIVMCWX.js.map +0 -1
  425. package/dist/chunk-PG5H6QIO.cjs.map +0 -1
  426. package/dist/chunk-PK2A5WBG.js.map +0 -1
  427. package/dist/chunk-QM5SRDJX.js.map +0 -1
  428. package/dist/chunk-S73Z3PBJ.cjs.map +0 -1
  429. package/dist/chunk-SCUWP4II.cjs.map +0 -1
  430. package/dist/chunk-SVLMF4UZ.cjs.map +0 -1
  431. package/dist/chunk-SXNQRJQD.js.map +0 -1
  432. package/dist/chunk-THZTRBFS.js.map +0 -1
  433. package/dist/chunk-TWH4PTDG.cjs.map +0 -1
  434. package/dist/chunk-U3XOLEPX.js.map +0 -1
  435. package/dist/chunk-US2U7ECW.js.map +0 -1
  436. package/dist/chunk-WTSZBHIZ.cjs.map +0 -1
  437. package/dist/chunk-YC6PJEPH.cjs.map +0 -1
  438. package/dist/llm/model/is-v2-model.d.ts +0 -3
  439. package/dist/llm/model/is-v2-model.d.ts.map +0 -1
  440. package/dist/models-dev-23RN2WHG.js +0 -3
  441. package/dist/models-dev-EO3SUIY2.cjs +0 -12
  442. package/dist/netlify-GXJ5D5DD.js +0 -3
  443. package/dist/netlify-KJLY3GFS.cjs +0 -12
  444. package/dist/provider-registry-3TG2KUD2.cjs +0 -40
  445. package/dist/provider-registry-F67Y6OF2.js +0 -3
  446. package/dist/tools/tool-stream-types.test-d.d.ts +0 -2
  447. package/dist/tools/tool-stream-types.test-d.d.ts.map +0 -1
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunk52RSUALV_cjs = require('./chunk-52RSUALV.cjs');
4
- var chunkABJOUEVA_cjs = require('./chunk-ABJOUEVA.cjs');
5
- var chunkTWH4PTDG_cjs = require('./chunk-TWH4PTDG.cjs');
6
- var chunkMGCGWPQJ_cjs = require('./chunk-MGCGWPQJ.cjs');
3
+ var chunkJAGQZZ43_cjs = require('./chunk-JAGQZZ43.cjs');
4
+ var chunkL3NKIMF5_cjs = require('./chunk-L3NKIMF5.cjs');
5
+ var chunkHWMMIRIF_cjs = require('./chunk-HWMMIRIF.cjs');
6
+ var chunkZ55SJVEC_cjs = require('./chunk-Z55SJVEC.cjs');
7
7
  var chunkUVHSM2GU_cjs = require('./chunk-UVHSM2GU.cjs');
8
8
  var chunkDGV2FWB4_cjs = require('./chunk-DGV2FWB4.cjs');
9
9
  var chunkAF74UXR5_cjs = require('./chunk-AF74UXR5.cjs');
@@ -27,11 +27,11 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
27
27
  }
28
28
  async execute(params) {
29
29
  const { step, stepResults, runId, requestContext, retryCount = 0 } = params;
30
- const abortController = new AbortController();
30
+ const abortController = params.abortController ?? new AbortController();
31
31
  let suspended;
32
32
  let bailed;
33
33
  const startedAt = Date.now();
34
- const { inputData, validationError } = await chunk52RSUALV_cjs.validateStepInput({
34
+ const { inputData, validationError } = await chunkJAGQZZ43_cjs.validateStepInput({
35
35
  prevOutput: typeof params.foreachIdx === "number" ? params.input?.[params.foreachIdx] : params.input,
36
36
  step,
37
37
  validateInputs: params.validateInputs ?? true
@@ -56,7 +56,7 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
56
56
  throw validationError;
57
57
  }
58
58
  const stepResult = await step.execute(
59
- chunk52RSUALV_cjs.createDeprecationProxy(
59
+ chunkJAGQZZ43_cjs.createDeprecationProxy(
60
60
  {
61
61
  workflowId: params.workflowId,
62
62
  runId,
@@ -71,9 +71,9 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
71
71
  resumeData: params.resumeData,
72
72
  suspendData: suspendDataToUse,
73
73
  getInitData: () => stepResults?.input,
74
- getStepResult: chunk52RSUALV_cjs.getStepResult.bind(this, stepResults),
74
+ getStepResult: chunkJAGQZZ43_cjs.getStepResult.bind(this, stepResults),
75
75
  suspend: async (suspendPayload) => {
76
- const { suspendData, validationError: validationError2 } = await chunk52RSUALV_cjs.validateStepSuspendData({
76
+ const { suspendData, validationError: validationError2 } = await chunkJAGQZZ43_cjs.validateStepSuspendData({
77
77
  suspendData: suspendPayload,
78
78
  step,
79
79
  validateInputs: params.validateInputs ?? true
@@ -91,9 +91,8 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
91
91
  abort: () => {
92
92
  abortController?.abort();
93
93
  },
94
- [chunkABJOUEVA_cjs.EMITTER_SYMBOL]: params.emitter,
95
- // TODO: refactor this to use our PubSub actually
96
- [chunkABJOUEVA_cjs.STREAM_FORMAT_SYMBOL]: void 0,
94
+ [chunkL3NKIMF5_cjs.PUBSUB_SYMBOL]: this.mastra?.pubsub ?? new chunkJAGQZZ43_cjs.EventEmitterPubSub(params.emitter),
95
+ [chunkL3NKIMF5_cjs.STREAM_FORMAT_SYMBOL]: void 0,
97
96
  // TODO
98
97
  engine: {},
99
98
  abortSignal: abortController?.signal,
@@ -102,7 +101,7 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
102
101
  },
103
102
  {
104
103
  paramName: "runCount",
105
- deprecationMessage: chunk52RSUALV_cjs.runCountDeprecationMessage,
104
+ deprecationMessage: chunkJAGQZZ43_cjs.runCountDeprecationMessage,
106
105
  logger: this.logger
107
106
  }
108
107
  )
@@ -138,21 +137,21 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
138
137
  return finalResult;
139
138
  } catch (error) {
140
139
  const endedAt = Date.now();
141
- const errorInstance = chunkTWH4PTDG_cjs.getErrorFromUnknown(error, {
142
- includeStack: false,
140
+ const errorInstance = chunkHWMMIRIF_cjs.getErrorFromUnknown(error, {
141
+ serializeStack: false,
143
142
  fallbackMessage: "Unknown step execution error"
144
143
  });
145
144
  return {
146
145
  ...stepInfo,
147
146
  status: "failed",
148
147
  endedAt,
149
- error: `Error: ${errorInstance.message}`
148
+ error: errorInstance
150
149
  };
151
150
  }
152
151
  }
153
152
  async evaluateConditions(params) {
154
153
  const { step, stepResults, runId, requestContext, retryCount = 0 } = params;
155
- const abortController = new AbortController();
154
+ const abortController = params.abortController ?? new AbortController();
156
155
  const ee = new EventEmitter__default.default();
157
156
  const results = await Promise.all(
158
157
  step.conditions.map((condition) => {
@@ -200,7 +199,7 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
200
199
  iterationCount
201
200
  }) {
202
201
  return condition(
203
- chunk52RSUALV_cjs.createDeprecationProxy(
202
+ chunkJAGQZZ43_cjs.createDeprecationProxy(
204
203
  {
205
204
  workflowId,
206
205
  runId,
@@ -211,7 +210,7 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
211
210
  retryCount,
212
211
  resumeData,
213
212
  getInitData: () => stepResults?.input,
214
- getStepResult: chunk52RSUALV_cjs.getStepResult.bind(this, stepResults),
213
+ getStepResult: chunkJAGQZZ43_cjs.getStepResult.bind(this, stepResults),
215
214
  bail: (_result) => {
216
215
  throw new Error("Not implemented");
217
216
  },
@@ -220,9 +219,8 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
220
219
  abort: () => {
221
220
  abortController?.abort();
222
221
  },
223
- [chunkABJOUEVA_cjs.EMITTER_SYMBOL]: emitter,
224
- // TODO: refactor this to use our PubSub actually
225
- [chunkABJOUEVA_cjs.STREAM_FORMAT_SYMBOL]: void 0,
222
+ [chunkL3NKIMF5_cjs.PUBSUB_SYMBOL]: this.mastra?.pubsub ?? new chunkJAGQZZ43_cjs.EventEmitterPubSub(emitter),
223
+ [chunkL3NKIMF5_cjs.STREAM_FORMAT_SYMBOL]: void 0,
226
224
  // TODO
227
225
  engine: {},
228
226
  abortSignal: abortController?.signal,
@@ -232,7 +230,7 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
232
230
  },
233
231
  {
234
232
  paramName: "runCount",
235
- deprecationMessage: chunk52RSUALV_cjs.runCountDeprecationMessage,
233
+ deprecationMessage: chunkJAGQZZ43_cjs.runCountDeprecationMessage,
236
234
  logger: this.logger
237
235
  }
238
236
  )
@@ -240,7 +238,7 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
240
238
  }
241
239
  async resolveSleep(params) {
242
240
  const { step, stepResults, runId, requestContext, retryCount = 0 } = params;
243
- const abortController = new AbortController();
241
+ const abortController = params.abortController ?? new AbortController();
244
242
  const ee = new EventEmitter__default.default();
245
243
  if (step.duration) {
246
244
  return step.duration;
@@ -250,7 +248,7 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
250
248
  }
251
249
  try {
252
250
  return await step.fn(
253
- chunk52RSUALV_cjs.createDeprecationProxy(
251
+ chunkJAGQZZ43_cjs.createDeprecationProxy(
254
252
  {
255
253
  workflowId: params.workflowId,
256
254
  runId,
@@ -264,7 +262,7 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
264
262
  retryCount,
265
263
  resumeData: params.resumeData,
266
264
  getInitData: () => stepResults?.input,
267
- getStepResult: chunk52RSUALV_cjs.getStepResult.bind(this, stepResults),
265
+ getStepResult: chunkJAGQZZ43_cjs.getStepResult.bind(this, stepResults),
268
266
  suspend: async (_suspendPayload) => {
269
267
  throw new Error("Not implemented");
270
268
  },
@@ -276,9 +274,8 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
276
274
  },
277
275
  // TODO
278
276
  writer: void 0,
279
- [chunkABJOUEVA_cjs.EMITTER_SYMBOL]: ee,
280
- // TODO: refactor this to use our PubSub actually
281
- [chunkABJOUEVA_cjs.STREAM_FORMAT_SYMBOL]: void 0,
277
+ [chunkL3NKIMF5_cjs.PUBSUB_SYMBOL]: this.mastra?.pubsub ?? new chunkJAGQZZ43_cjs.EventEmitterPubSub(ee),
278
+ [chunkL3NKIMF5_cjs.STREAM_FORMAT_SYMBOL]: void 0,
282
279
  // TODO
283
280
  engine: {},
284
281
  abortSignal: abortController?.signal,
@@ -287,7 +284,7 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
287
284
  },
288
285
  {
289
286
  paramName: "runCount",
290
- deprecationMessage: chunk52RSUALV_cjs.runCountDeprecationMessage,
287
+ deprecationMessage: chunkJAGQZZ43_cjs.runCountDeprecationMessage,
291
288
  logger: this.logger
292
289
  }
293
290
  )
@@ -299,7 +296,7 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
299
296
  }
300
297
  async resolveSleepUntil(params) {
301
298
  const { step, stepResults, runId, requestContext, retryCount = 0 } = params;
302
- const abortController = new AbortController();
299
+ const abortController = params.abortController ?? new AbortController();
303
300
  const ee = new EventEmitter__default.default();
304
301
  if (step.date) {
305
302
  return step.date.getTime() - Date.now();
@@ -309,7 +306,7 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
309
306
  }
310
307
  try {
311
308
  const result = await step.fn(
312
- chunk52RSUALV_cjs.createDeprecationProxy(
309
+ chunkJAGQZZ43_cjs.createDeprecationProxy(
313
310
  {
314
311
  workflowId: params.workflowId,
315
312
  runId,
@@ -323,7 +320,7 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
323
320
  retryCount,
324
321
  resumeData: params.resumeData,
325
322
  getInitData: () => stepResults?.input,
326
- getStepResult: chunk52RSUALV_cjs.getStepResult.bind(this, stepResults),
323
+ getStepResult: chunkJAGQZZ43_cjs.getStepResult.bind(this, stepResults),
327
324
  suspend: async (_suspendPayload) => {
328
325
  throw new Error("Not implemented");
329
326
  },
@@ -335,9 +332,8 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
335
332
  },
336
333
  // TODO
337
334
  writer: void 0,
338
- [chunkABJOUEVA_cjs.EMITTER_SYMBOL]: ee,
339
- // TODO: refactor this to use our PubSub actually
340
- [chunkABJOUEVA_cjs.STREAM_FORMAT_SYMBOL]: void 0,
335
+ [chunkL3NKIMF5_cjs.PUBSUB_SYMBOL]: this.mastra?.pubsub ?? new chunkJAGQZZ43_cjs.EventEmitterPubSub(ee),
336
+ [chunkL3NKIMF5_cjs.STREAM_FORMAT_SYMBOL]: void 0,
341
337
  // TODO
342
338
  engine: {},
343
339
  abortSignal: abortController?.signal,
@@ -346,7 +342,7 @@ var StepExecutor = class extends chunkDGV2FWB4_cjs.MastraBase {
346
342
  },
347
343
  {
348
344
  paramName: "runCount",
349
- deprecationMessage: chunk52RSUALV_cjs.runCountDeprecationMessage,
345
+ deprecationMessage: chunkJAGQZZ43_cjs.runCountDeprecationMessage,
350
346
  logger: this.logger
351
347
  }
352
348
  )
@@ -932,10 +928,52 @@ async function processWorkflowSleepUntil({
932
928
  // src/workflows/evented/workflow-event-processor/index.ts
933
929
  var WorkflowEventProcessor = class extends EventProcessor {
934
930
  stepExecutor;
931
+ // Map of runId -> AbortController for active workflow runs
932
+ abortControllers = /* @__PURE__ */ new Map();
933
+ // Map of child runId -> parent runId for tracking nested workflows
934
+ parentChildRelationships = /* @__PURE__ */ new Map();
935
935
  constructor({ mastra }) {
936
936
  super({ mastra });
937
937
  this.stepExecutor = new StepExecutor({ mastra });
938
938
  }
939
+ /**
940
+ * Get or create an AbortController for a workflow run
941
+ */
942
+ getOrCreateAbortController(runId) {
943
+ let controller = this.abortControllers.get(runId);
944
+ if (!controller) {
945
+ controller = new AbortController();
946
+ this.abortControllers.set(runId, controller);
947
+ }
948
+ return controller;
949
+ }
950
+ /**
951
+ * Cancel a workflow run and all its nested child workflows
952
+ */
953
+ cancelRunAndChildren(runId) {
954
+ const controller = this.abortControllers.get(runId);
955
+ if (controller) {
956
+ controller.abort();
957
+ }
958
+ for (const [childRunId, parentRunId] of this.parentChildRelationships.entries()) {
959
+ if (parentRunId === runId) {
960
+ this.cancelRunAndChildren(childRunId);
961
+ }
962
+ }
963
+ }
964
+ /**
965
+ * Clean up abort controller and relationships when a workflow completes.
966
+ * Also cleans up any orphaned child entries that reference this run as parent.
967
+ */
968
+ cleanupRun(runId) {
969
+ this.abortControllers.delete(runId);
970
+ this.parentChildRelationships.delete(runId);
971
+ for (const [childRunId, parentRunId] of this.parentChildRelationships.entries()) {
972
+ if (parentRunId === runId) {
973
+ this.parentChildRelationships.delete(childRunId);
974
+ }
975
+ }
976
+ }
939
977
  __registerMastra(mastra) {
940
978
  super.__registerMastra(mastra);
941
979
  this.stepExecutor.__registerMastra(mastra);
@@ -958,7 +996,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
958
996
  executionPath: [],
959
997
  resumeSteps,
960
998
  stepResults,
961
- prevResult: { status: "failed", error: e.stack ?? e.message },
999
+ prevResult: { status: "failed", error: chunkHWMMIRIF_cjs.getErrorFromUnknown(e).toJSON() },
962
1000
  requestContext,
963
1001
  resumeData,
964
1002
  activeSteps: {},
@@ -967,26 +1005,28 @@ var WorkflowEventProcessor = class extends EventProcessor {
967
1005
  });
968
1006
  }
969
1007
  async processWorkflowCancel({ workflowId, runId }) {
970
- const currentState = await this.mastra.getStorage()?.updateWorkflowState({
1008
+ this.cancelRunAndChildren(runId);
1009
+ const storage = this.mastra.getStorage();
1010
+ const currentState = await storage?.loadWorkflowSnapshot({
971
1011
  workflowName: workflowId,
972
- runId,
973
- opts: {
974
- status: "canceled"
975
- }
976
- });
977
- await this.endWorkflow({
978
- workflow: void 0,
979
- workflowId,
980
- runId,
981
- stepResults: currentState?.context,
982
- prevResult: { status: "canceled" },
983
- requestContext: currentState?.requestContext,
984
- executionPath: [],
985
- activeSteps: {},
986
- resumeSteps: [],
987
- resumeData: void 0,
988
- parentWorkflow: void 0
1012
+ runId
989
1013
  });
1014
+ await this.endWorkflow(
1015
+ {
1016
+ workflow: void 0,
1017
+ workflowId,
1018
+ runId,
1019
+ stepResults: currentState?.context ?? {},
1020
+ prevResult: { status: "canceled" },
1021
+ requestContext: currentState?.requestContext ?? {},
1022
+ executionPath: [],
1023
+ activeSteps: {},
1024
+ resumeSteps: [],
1025
+ resumeData: void 0,
1026
+ parentWorkflow: void 0
1027
+ },
1028
+ "canceled"
1029
+ );
990
1030
  }
991
1031
  async processWorkflowStart({
992
1032
  workflow,
@@ -1001,9 +1041,16 @@ var WorkflowEventProcessor = class extends EventProcessor {
1001
1041
  stepResults,
1002
1042
  requestContext
1003
1043
  }) {
1044
+ this.getOrCreateAbortController(runId);
1045
+ if (parentWorkflow?.runId) {
1046
+ this.parentChildRelationships.set(runId, parentWorkflow.runId);
1047
+ }
1048
+ const existingRun = await this.mastra.getStorage()?.getWorkflowRunById({ runId, workflowName: workflow.id });
1049
+ const resourceId = existingRun?.resourceId;
1004
1050
  await this.mastra.getStorage()?.persistWorkflowSnapshot({
1005
1051
  workflowName: workflow.id,
1006
1052
  runId,
1053
+ resourceId,
1007
1054
  snapshot: {
1008
1055
  activePaths: [],
1009
1056
  suspendedPaths: {},
@@ -1040,13 +1087,13 @@ var WorkflowEventProcessor = class extends EventProcessor {
1040
1087
  }
1041
1088
  });
1042
1089
  }
1043
- async endWorkflow(args) {
1090
+ async endWorkflow(args, status = "success") {
1044
1091
  const { workflowId, runId, prevResult } = args;
1045
1092
  await this.mastra.getStorage()?.updateWorkflowState({
1046
1093
  workflowName: workflowId,
1047
1094
  runId,
1048
1095
  opts: {
1049
- status: "success",
1096
+ status,
1050
1097
  result: prevResult
1051
1098
  }
1052
1099
  });
@@ -1068,6 +1115,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
1068
1115
  }
1069
1116
  async processWorkflowEnd(args) {
1070
1117
  const { resumeSteps, prevResult, resumeData, parentWorkflow, activeSteps, requestContext, runId, timeTravel } = args;
1118
+ this.cleanupRun(runId);
1071
1119
  if (parentWorkflow) {
1072
1120
  await this.mastra.pubsub.publish("workflows", {
1073
1121
  type: "workflow.step.end",
@@ -1143,6 +1191,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
1143
1191
  requestContext,
1144
1192
  timeTravel
1145
1193
  } = args;
1194
+ this.cleanupRun(runId);
1146
1195
  await this.mastra.getStorage()?.updateWorkflowState({
1147
1196
  workflowName: workflowId,
1148
1197
  runId,
@@ -1207,7 +1256,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
1207
1256
  parentWorkflow,
1208
1257
  requestContext
1209
1258
  },
1210
- new chunkTWH4PTDG_cjs.MastraError({
1259
+ new chunkHWMMIRIF_cjs.MastraError({
1211
1260
  id: "MASTRA_WORKFLOW",
1212
1261
  text: `Execution path is empty: ${JSON.stringify(executionPath)}`,
1213
1262
  domain: "MASTRA_WORKFLOW" /* MASTRA_WORKFLOW */,
@@ -1230,7 +1279,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
1230
1279
  parentWorkflow,
1231
1280
  requestContext
1232
1281
  },
1233
- new chunkTWH4PTDG_cjs.MastraError({
1282
+ new chunkHWMMIRIF_cjs.MastraError({
1234
1283
  id: "MASTRA_WORKFLOW",
1235
1284
  text: `Step not found in step graph: ${JSON.stringify(executionPath)}`,
1236
1285
  domain: "MASTRA_WORKFLOW" /* MASTRA_WORKFLOW */,
@@ -1359,7 +1408,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
1359
1408
  parentWorkflow,
1360
1409
  requestContext
1361
1410
  },
1362
- new chunkTWH4PTDG_cjs.MastraError({
1411
+ new chunkHWMMIRIF_cjs.MastraError({
1363
1412
  id: "MASTRA_WORKFLOW",
1364
1413
  text: `Step is not executable: ${step?.type} -- ${JSON.stringify(executionPath)}`,
1365
1414
  domain: "MASTRA_WORKFLOW" /* MASTRA_WORKFLOW */,
@@ -1386,7 +1435,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
1386
1435
  parentWorkflow,
1387
1436
  requestContext
1388
1437
  },
1389
- new chunkTWH4PTDG_cjs.MastraError({
1438
+ new chunkHWMMIRIF_cjs.MastraError({
1390
1439
  id: "MASTRA_WORKFLOW",
1391
1440
  text: `Nested workflow run id not found: ${JSON.stringify(stepResults)}`,
1392
1441
  domain: "MASTRA_WORKFLOW" /* MASTRA_WORKFLOW */,
@@ -1430,7 +1479,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
1430
1479
  workflowName: step.step.id,
1431
1480
  runId
1432
1481
  }) ?? { context: {} };
1433
- const timeTravelParams = chunk52RSUALV_cjs.createTimeTravelExecutionParams({
1482
+ const timeTravelParams = chunkJAGQZZ43_cjs.createTimeTravelExecutionParams({
1434
1483
  steps: timeTravel.steps.slice(1),
1435
1484
  inputData: timeTravel.inputData,
1436
1485
  resumeData: timeTravel.resumeData,
@@ -1521,7 +1570,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
1521
1570
  for (const [key, value] of Object.entries(requestContext)) {
1522
1571
  rc.set(key, value);
1523
1572
  }
1524
- const { resumeData: timeTravelResumeData, validationError: timeTravelResumeValidationError } = await chunk52RSUALV_cjs.validateStepResumeData({
1573
+ const { resumeData: timeTravelResumeData, validationError: timeTravelResumeValidationError } = await chunkJAGQZZ43_cjs.validateStepResumeData({
1525
1574
  resumeData: timeTravel?.stepResults[step.step.id]?.status === "suspended" ? timeTravel?.resumeData : void 0,
1526
1575
  step: step.step
1527
1576
  });
@@ -1536,6 +1585,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
1536
1585
  } else if (resumeSteps?.length > 0 && resumeSteps?.[0] === step.step.id) {
1537
1586
  resumeDataToUse = resumeData;
1538
1587
  }
1588
+ const abortController = this.getOrCreateAbortController(runId);
1539
1589
  const stepResult = await this.stepExecutor.execute({
1540
1590
  workflowId,
1541
1591
  step: step.step,
@@ -1549,7 +1599,8 @@ var WorkflowEventProcessor = class extends EventProcessor {
1549
1599
  resumeData: resumeDataToUse,
1550
1600
  retryCount,
1551
1601
  foreachIdx: step.type === "foreach" ? executionPath[1] : void 0,
1552
- validateInputs: workflow.options.validateInputs
1602
+ validateInputs: workflow.options.validateInputs,
1603
+ abortController
1553
1604
  });
1554
1605
  requestContext = Object.fromEntries(rc.entries());
1555
1606
  if (stepResult.status === "bailed") {
@@ -1681,7 +1732,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
1681
1732
  activeSteps,
1682
1733
  requestContext
1683
1734
  },
1684
- new chunkTWH4PTDG_cjs.MastraError({
1735
+ new chunkHWMMIRIF_cjs.MastraError({
1685
1736
  id: "MASTRA_WORKFLOW",
1686
1737
  text: `Step not found: ${JSON.stringify(executionPath)}`,
1687
1738
  domain: "MASTRA_WORKFLOW" /* MASTRA_WORKFLOW */,
@@ -1929,7 +1980,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
1929
1980
  workflowId: workflowData.workflowId,
1930
1981
  runId: workflowData.runId
1931
1982
  });
1932
- if (currentState?.status === "canceled" && type !== "workflow.end") {
1983
+ if (currentState?.status === "canceled" && type !== "workflow.end" && type !== "workflow.cancel") {
1933
1984
  return;
1934
1985
  }
1935
1986
  if (type.startsWith("workflow.user-event.")) {
@@ -1957,7 +2008,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
1957
2008
  if (!workflow) {
1958
2009
  return this.errorWorkflow(
1959
2010
  workflowData,
1960
- new chunkTWH4PTDG_cjs.MastraError({
2011
+ new chunkHWMMIRIF_cjs.MastraError({
1961
2012
  id: "MASTRA_WORKFLOW",
1962
2013
  text: `Workflow not found: ${workflowData.workflowId}`,
1963
2014
  domain: "MASTRA_WORKFLOW" /* MASTRA_WORKFLOW */,
@@ -2038,7 +2089,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
2038
2089
 
2039
2090
  // src/workflows/evented/workflow.ts
2040
2091
  function cloneWorkflow(workflow, opts) {
2041
- const wf = new chunk52RSUALV_cjs.Workflow({
2092
+ const wf = new chunkJAGQZZ43_cjs.Workflow({
2042
2093
  id: opts.id,
2043
2094
  inputSchema: workflow.inputSchema,
2044
2095
  outputSchema: workflow.outputSchema,
@@ -2069,7 +2120,7 @@ function isAgent(params) {
2069
2120
  return params?.component === "AGENT";
2070
2121
  }
2071
2122
  function isTool(params) {
2072
- return params instanceof chunkMGCGWPQJ_cjs.Tool;
2123
+ return params instanceof chunkZ55SJVEC_cjs.Tool;
2073
2124
  }
2074
2125
  function createStep(params) {
2075
2126
  if (isAgent(params)) {
@@ -2086,7 +2137,7 @@ function createStep(params) {
2086
2137
  outputSchema: z__default.default.object({
2087
2138
  text: z__default.default.string()
2088
2139
  }),
2089
- execute: async ({ inputData, [chunkABJOUEVA_cjs.EMITTER_SYMBOL]: emitter, requestContext, abortSignal, abort }) => {
2140
+ execute: async ({ inputData, runId, [chunkL3NKIMF5_cjs.PUBSUB_SYMBOL]: pubsub, requestContext, abortSignal, abort }) => {
2090
2141
  let streamPromise = {};
2091
2142
  streamPromise.promise = new Promise((resolve, reject) => {
2092
2143
  streamPromise.resolve = resolve;
@@ -2108,22 +2159,24 @@ function createStep(params) {
2108
2159
  name: params.name,
2109
2160
  args: inputData
2110
2161
  };
2111
- await emitter.emit("watch", {
2112
- type: "tool-call-streaming-start",
2113
- ...toolData ?? {}
2162
+ await pubsub.publish(`workflow.events.v2.${runId}`, {
2163
+ type: "watch",
2164
+ runId,
2165
+ data: { type: "tool-call-streaming-start", ...toolData ?? {} }
2114
2166
  });
2115
2167
  for await (const chunk of fullStream) {
2116
2168
  if (chunk.type === "text-delta") {
2117
- await emitter.emit("watch", {
2118
- type: "tool-call-delta",
2119
- ...toolData ?? {},
2120
- argsTextDelta: chunk.textDelta
2169
+ await pubsub.publish(`workflow.events.v2.${runId}`, {
2170
+ type: "watch",
2171
+ runId,
2172
+ data: { type: "tool-call-delta", ...toolData ?? {}, argsTextDelta: chunk.textDelta }
2121
2173
  });
2122
2174
  }
2123
2175
  }
2124
- await emitter.emit("watch", {
2125
- type: "tool-call-streaming-finish",
2126
- ...toolData ?? {}
2176
+ await pubsub.publish(`workflow.events.v2.${runId}`, {
2177
+ type: "watch",
2178
+ runId,
2179
+ data: { type: "tool-call-streaming-finish", ...toolData ?? {} }
2127
2180
  });
2128
2181
  return {
2129
2182
  text: await streamPromise.promise
@@ -2194,7 +2247,9 @@ function createWorkflow(params) {
2194
2247
  options: {
2195
2248
  validateInputs: params.options?.validateInputs ?? true,
2196
2249
  shouldPersistSnapshot: params.options?.shouldPersistSnapshot ?? (() => true),
2197
- tracingPolicy: params.options?.tracingPolicy
2250
+ tracingPolicy: params.options?.tracingPolicy,
2251
+ onFinish: params.options?.onFinish,
2252
+ onError: params.options?.onError
2198
2253
  }
2199
2254
  });
2200
2255
  return new EventedWorkflow({
@@ -2202,7 +2257,7 @@ function createWorkflow(params) {
2202
2257
  executionEngine
2203
2258
  });
2204
2259
  }
2205
- var EventedWorkflow = class extends chunk52RSUALV_cjs.Workflow {
2260
+ var EventedWorkflow = class extends chunkJAGQZZ43_cjs.Workflow {
2206
2261
  constructor(params) {
2207
2262
  super(params);
2208
2263
  this.engineType = "evented";
@@ -2216,6 +2271,7 @@ var EventedWorkflow = class extends chunk52RSUALV_cjs.Workflow {
2216
2271
  const run = this.runs.get(runIdToUse) ?? new EventedRun({
2217
2272
  workflowId: this.id,
2218
2273
  runId: runIdToUse,
2274
+ resourceId: options?.resourceId,
2219
2275
  executionEngine: this.executionEngine,
2220
2276
  executionGraph: this.executionGraph,
2221
2277
  serializedStepGraph: this.serializedStepGraph,
@@ -2231,11 +2287,14 @@ var EventedWorkflow = class extends chunk52RSUALV_cjs.Workflow {
2231
2287
  workflowStatus: run.workflowRunStatus,
2232
2288
  stepResults: {}
2233
2289
  });
2234
- const workflowSnapshotInStorage = await this.getWorkflowRunExecutionResult(runIdToUse, false);
2290
+ const workflowSnapshotInStorage = await this.getWorkflowRunExecutionResult(runIdToUse, {
2291
+ withNestedWorkflows: false
2292
+ });
2235
2293
  if (!workflowSnapshotInStorage && shouldPersistSnapshot) {
2236
2294
  await this.mastra?.getStorage()?.persistWorkflowSnapshot({
2237
2295
  workflowName: this.id,
2238
2296
  runId: runIdToUse,
2297
+ resourceId: options?.resourceId,
2239
2298
  snapshot: {
2240
2299
  runId: runIdToUse,
2241
2300
  status: "pending",
@@ -2257,11 +2316,30 @@ var EventedWorkflow = class extends chunk52RSUALV_cjs.Workflow {
2257
2316
  return run;
2258
2317
  }
2259
2318
  };
2260
- var EventedRun = class extends chunk52RSUALV_cjs.Run {
2319
+ var EventedRun = class extends chunkJAGQZZ43_cjs.Run {
2261
2320
  constructor(params) {
2262
2321
  super(params);
2263
2322
  this.serializedStepGraph = params.serializedStepGraph;
2264
2323
  }
2324
+ /**
2325
+ * Set up abort signal handler to publish workflow.cancel event when abortController.abort() is called.
2326
+ * This ensures consistent cancellation behavior whether abort() is called directly or via cancel().
2327
+ */
2328
+ setupAbortHandler() {
2329
+ const abortHandler = () => {
2330
+ this.mastra?.pubsub.publish("workflows", {
2331
+ type: "workflow.cancel",
2332
+ runId: this.runId,
2333
+ data: {
2334
+ workflowId: this.workflowId,
2335
+ runId: this.runId
2336
+ }
2337
+ }).catch((err) => {
2338
+ console.error(`Failed to publish workflow.cancel for runId ${this.runId}:`, err);
2339
+ });
2340
+ };
2341
+ this.abortController.signal.addEventListener("abort", abortHandler, { once: true });
2342
+ }
2265
2343
  async start({
2266
2344
  inputData,
2267
2345
  initialState,
@@ -2279,6 +2357,7 @@ var EventedRun = class extends chunk52RSUALV_cjs.Run {
2279
2357
  await this.mastra?.getStorage()?.persistWorkflowSnapshot({
2280
2358
  workflowName: this.workflowId,
2281
2359
  runId: this.runId,
2360
+ resourceId: this.resourceId,
2282
2361
  snapshot: {
2283
2362
  runId: this.runId,
2284
2363
  serializedStepGraph: this.serializedStepGraph,
@@ -2296,6 +2375,10 @@ var EventedRun = class extends chunk52RSUALV_cjs.Run {
2296
2375
  });
2297
2376
  const inputDataToUse = await this._validateInput(inputData);
2298
2377
  const initialStateToUse = await this._validateInitialState(initialState ?? {});
2378
+ if (!this.mastra?.pubsub) {
2379
+ throw new Error("Mastra instance with pubsub is required for workflow execution");
2380
+ }
2381
+ this.setupAbortHandler();
2299
2382
  const result = await this.executionEngine.execute({
2300
2383
  workflowId: this.workflowId,
2301
2384
  runId: this.runId,
@@ -2303,20 +2386,7 @@ var EventedRun = class extends chunk52RSUALV_cjs.Run {
2303
2386
  serializedStepGraph: this.serializedStepGraph,
2304
2387
  input: inputDataToUse,
2305
2388
  initialState: initialStateToUse,
2306
- emitter: {
2307
- emit: async (event, data) => {
2308
- this.emitter.emit(event, data);
2309
- },
2310
- on: (event, callback) => {
2311
- this.emitter.on(event, callback);
2312
- },
2313
- off: (event, callback) => {
2314
- this.emitter.off(event, callback);
2315
- },
2316
- once: (event, callback) => {
2317
- this.emitter.once(event, callback);
2318
- }
2319
- },
2389
+ pubsub: this.mastra.pubsub,
2320
2390
  retryConfig: this.retryConfig,
2321
2391
  requestContext,
2322
2392
  abortController: this.abortController
@@ -2326,6 +2396,62 @@ var EventedRun = class extends chunk52RSUALV_cjs.Run {
2326
2396
  }
2327
2397
  return result;
2328
2398
  }
2399
+ /**
2400
+ * Starts the workflow execution without waiting for completion (fire-and-forget).
2401
+ * Returns immediately with the runId. The workflow executes in the background via pubsub.
2402
+ * Use this when you don't need to wait for the result or want to avoid polling failures.
2403
+ */
2404
+ async startAsync({
2405
+ inputData,
2406
+ initialState,
2407
+ requestContext
2408
+ }) {
2409
+ if (this.serializedStepGraph.length === 0) {
2410
+ throw new Error(
2411
+ "Execution flow of workflow is not defined. Add steps to the workflow via .then(), .branch(), etc."
2412
+ );
2413
+ }
2414
+ if (!this.executionGraph.steps) {
2415
+ throw new Error("Uncommitted step flow changes detected. Call .commit() to register the steps.");
2416
+ }
2417
+ requestContext = requestContext ?? new chunkUVHSM2GU_cjs.RequestContext();
2418
+ await this.mastra?.getStorage()?.persistWorkflowSnapshot({
2419
+ workflowName: this.workflowId,
2420
+ runId: this.runId,
2421
+ resourceId: this.resourceId,
2422
+ snapshot: {
2423
+ runId: this.runId,
2424
+ serializedStepGraph: this.serializedStepGraph,
2425
+ status: "running",
2426
+ value: {},
2427
+ context: {},
2428
+ requestContext: Object.fromEntries(requestContext.entries()),
2429
+ activePaths: [],
2430
+ activeStepsPath: {},
2431
+ suspendedPaths: {},
2432
+ resumeLabels: {},
2433
+ waitingPaths: {},
2434
+ timestamp: Date.now()
2435
+ }
2436
+ });
2437
+ const inputDataToUse = await this._validateInput(inputData);
2438
+ const initialStateToUse = await this._validateInitialState(initialState ?? {});
2439
+ if (!this.mastra?.pubsub) {
2440
+ throw new Error("Mastra instance with pubsub is required for workflow execution");
2441
+ }
2442
+ await this.mastra.pubsub.publish("workflows", {
2443
+ type: "workflow.start",
2444
+ runId: this.runId,
2445
+ data: {
2446
+ workflowId: this.workflowId,
2447
+ runId: this.runId,
2448
+ prevResult: { status: "success", output: inputDataToUse },
2449
+ requestContext: Object.fromEntries(requestContext.entries()),
2450
+ initialState: initialStateToUse
2451
+ }
2452
+ });
2453
+ return { runId: this.runId };
2454
+ }
2329
2455
  // TODO: stream
2330
2456
  async resume(params) {
2331
2457
  let steps = [];
@@ -2365,6 +2491,10 @@ var EventedRun = class extends chunk52RSUALV_cjs.Run {
2365
2491
  }
2366
2492
  const suspendedStep = this.workflowSteps[steps?.[0] ?? ""];
2367
2493
  const resumeDataToUse = await this._validateResumeData(params.resumeData, suspendedStep);
2494
+ if (!this.mastra?.pubsub) {
2495
+ throw new Error("Mastra instance with pubsub is required for workflow execution");
2496
+ }
2497
+ this.setupAbortHandler();
2368
2498
  const executionResultPromise = this.executionEngine.execute({
2369
2499
  workflowId: this.workflowId,
2370
2500
  runId: this.runId,
@@ -2377,21 +2507,7 @@ var EventedRun = class extends chunk52RSUALV_cjs.Run {
2377
2507
  resumePayload: resumeDataToUse,
2378
2508
  resumePath
2379
2509
  },
2380
- emitter: {
2381
- emit: (event, data) => {
2382
- this.emitter.emit(event, data);
2383
- return Promise.resolve();
2384
- },
2385
- on: (event, callback) => {
2386
- this.emitter.on(event, callback);
2387
- },
2388
- off: (event, callback) => {
2389
- this.emitter.off(event, callback);
2390
- },
2391
- once: (event, callback) => {
2392
- this.emitter.once(event, callback);
2393
- }
2394
- },
2510
+ pubsub: this.mastra.pubsub,
2395
2511
  requestContext,
2396
2512
  abortController: this.abortController
2397
2513
  }).then((result) => {
@@ -2435,14 +2551,14 @@ var EventedRun = class extends chunk52RSUALV_cjs.Run {
2435
2551
  };
2436
2552
  }
2437
2553
  async cancel() {
2438
- await this.mastra?.pubsub.publish("workflows", {
2439
- type: "workflow.cancel",
2554
+ await this.mastra?.getStorage()?.updateWorkflowState({
2555
+ workflowName: this.workflowId,
2440
2556
  runId: this.runId,
2441
- data: {
2442
- workflowId: this.workflowId,
2443
- runId: this.runId
2557
+ opts: {
2558
+ status: "canceled"
2444
2559
  }
2445
2560
  });
2561
+ this.abortController.abort();
2446
2562
  }
2447
2563
  };
2448
2564
 
@@ -2490,7 +2606,7 @@ function isExecutableStep(step) {
2490
2606
  }
2491
2607
 
2492
2608
  // src/workflows/evented/execution-engine.ts
2493
- var EventedExecutionEngine = class extends chunk52RSUALV_cjs.ExecutionEngine {
2609
+ var EventedExecutionEngine = class extends chunkJAGQZZ43_cjs.ExecutionEngine {
2494
2610
  eventProcessor;
2495
2611
  constructor({
2496
2612
  mastra,
@@ -2563,7 +2679,7 @@ var EventedExecutionEngine = class extends chunk52RSUALV_cjs.ExecutionEngine {
2563
2679
  }
2564
2680
  });
2565
2681
  }
2566
- const resultData = await new Promise((resolve) => {
2682
+ const resultData = await new Promise((resolve, reject) => {
2567
2683
  const finishCb = async (event, ack) => {
2568
2684
  if (event.runId !== params.runId) {
2569
2685
  await ack?.();
@@ -2572,38 +2688,55 @@ var EventedExecutionEngine = class extends chunk52RSUALV_cjs.ExecutionEngine {
2572
2688
  if (["workflow.end", "workflow.fail", "workflow.suspend"].includes(event.type)) {
2573
2689
  await ack?.();
2574
2690
  await pubsub.unsubscribe("workflows-finish", finishCb);
2691
+ if (event.type === "workflow.fail" && event.data.stepResults) {
2692
+ event.data.stepResults = chunkJAGQZZ43_cjs.hydrateSerializedStepErrors(event.data.stepResults);
2693
+ }
2575
2694
  resolve(event.data);
2576
2695
  return;
2577
2696
  }
2578
2697
  await ack?.();
2579
2698
  };
2580
- pubsub.subscribe("workflows-finish", finishCb).catch(() => {
2699
+ pubsub.subscribe("workflows-finish", finishCb).catch((err) => {
2700
+ console.error("Failed to subscribe to workflows-finish:", err);
2701
+ reject(err);
2581
2702
  });
2582
2703
  });
2704
+ let callbackArg;
2583
2705
  if (resultData.prevResult.status === "failed") {
2584
- return {
2706
+ callbackArg = {
2585
2707
  status: "failed",
2586
2708
  error: resultData.prevResult.error,
2587
2709
  steps: resultData.stepResults
2588
2710
  };
2589
2711
  } else if (resultData.prevResult.status === "suspended") {
2712
+ callbackArg = {
2713
+ status: "suspended",
2714
+ steps: resultData.stepResults
2715
+ };
2716
+ } else {
2717
+ callbackArg = {
2718
+ status: resultData.prevResult.status,
2719
+ result: resultData.prevResult?.output,
2720
+ steps: resultData.stepResults
2721
+ };
2722
+ }
2723
+ await this.invokeLifecycleCallbacks(callbackArg);
2724
+ let result;
2725
+ if (resultData.prevResult.status === "suspended") {
2590
2726
  const suspendedSteps = Object.entries(resultData.stepResults).map(([_stepId, stepResult]) => {
2591
2727
  if (stepResult.status === "suspended") {
2592
2728
  return stepResult.suspendPayload?.__workflow_meta?.path ?? [];
2593
2729
  }
2594
2730
  return null;
2595
2731
  }).filter(Boolean);
2596
- return {
2597
- status: "suspended",
2598
- steps: resultData.stepResults,
2732
+ result = {
2733
+ ...callbackArg,
2599
2734
  suspended: suspendedSteps
2600
2735
  };
2736
+ } else {
2737
+ result = callbackArg;
2601
2738
  }
2602
- return {
2603
- status: resultData.prevResult.status,
2604
- result: resultData.prevResult?.output,
2605
- steps: resultData.stepResults
2606
- };
2739
+ return result;
2607
2740
  }
2608
2741
  };
2609
2742
 
@@ -2616,5 +2749,5 @@ exports.cloneStep = cloneStep;
2616
2749
  exports.cloneWorkflow = cloneWorkflow;
2617
2750
  exports.createStep = createStep;
2618
2751
  exports.createWorkflow = createWorkflow;
2619
- //# sourceMappingURL=chunk-YC6PJEPH.cjs.map
2620
- //# sourceMappingURL=chunk-YC6PJEPH.cjs.map
2752
+ //# sourceMappingURL=chunk-6CG7IY57.cjs.map
2753
+ //# sourceMappingURL=chunk-6CG7IY57.cjs.map