@mastra/core 1.5.0 → 1.6.0

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 (237) hide show
  1. package/CHANGELOG.md +386 -0
  2. package/dist/agent/index.cjs +13 -13
  3. package/dist/agent/index.js +2 -2
  4. package/dist/agent/message-list/adapters/AIV5Adapter.d.ts.map +1 -1
  5. package/dist/agent/message-list/conversion/output-converter.d.ts.map +1 -1
  6. package/dist/agent/message-list/index.cjs +18 -18
  7. package/dist/agent/message-list/index.js +1 -1
  8. package/dist/agent/workflows/prepare-stream/index.d.ts +7 -7
  9. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +7 -7
  10. package/dist/agent/workflows/prepare-stream/schema.d.ts +11 -11
  11. package/dist/{chunk-CQ4Z6ZAV.cjs → chunk-3U3XFMGJ.cjs} +7 -7
  12. package/dist/{chunk-CQ4Z6ZAV.cjs.map → chunk-3U3XFMGJ.cjs.map} +1 -1
  13. package/dist/{chunk-D57U4II4.js → chunk-4WG5K4CK.js} +9 -8
  14. package/dist/chunk-4WG5K4CK.js.map +1 -0
  15. package/dist/{chunk-UZFGMMKU.js → chunk-5K45E5VE.js} +37 -3
  16. package/dist/chunk-5K45E5VE.js.map +1 -0
  17. package/dist/{chunk-OQ5LZ6OV.cjs → chunk-5VQPSWPG.cjs} +149 -61
  18. package/dist/chunk-5VQPSWPG.cjs.map +1 -0
  19. package/dist/{chunk-AIRMLZ43.js → chunk-7EXW4AAG.js} +4 -4
  20. package/dist/{chunk-AIRMLZ43.js.map → chunk-7EXW4AAG.js.map} +1 -1
  21. package/dist/{chunk-S4VVZI4E.cjs → chunk-AYHSPIT6.cjs} +326 -5
  22. package/dist/chunk-AYHSPIT6.cjs.map +1 -0
  23. package/dist/{chunk-YW54RH77.cjs → chunk-DB7U2C5B.cjs} +12 -5
  24. package/dist/chunk-DB7U2C5B.cjs.map +1 -0
  25. package/dist/{chunk-DST75PA4.js → chunk-DGS2KGDI.js} +4 -4
  26. package/dist/{chunk-DST75PA4.js.map → chunk-DGS2KGDI.js.map} +1 -1
  27. package/dist/{chunk-YIN5F7VO.js → chunk-EEU5NHHU.js} +4254 -3958
  28. package/dist/chunk-EEU5NHHU.js.map +1 -0
  29. package/dist/{chunk-A6EWCOGA.cjs → chunk-H5S4PS44.cjs} +197 -27
  30. package/dist/chunk-H5S4PS44.cjs.map +1 -0
  31. package/dist/{chunk-3YMDR4OL.cjs → chunk-HTAUP7ER.cjs} +4 -4
  32. package/dist/{chunk-3YMDR4OL.cjs.map → chunk-HTAUP7ER.cjs.map} +1 -1
  33. package/dist/{chunk-OHLVZVIK.js → chunk-IC5OUWKJ.js} +12 -5
  34. package/dist/chunk-IC5OUWKJ.js.map +1 -0
  35. package/dist/{chunk-MZIMV2BB.js → chunk-IHDE4CJV.js} +244 -213
  36. package/dist/chunk-IHDE4CJV.js.map +1 -0
  37. package/dist/{chunk-3KJW4EMO.js → chunk-IHEYJDJP.js} +3 -3
  38. package/dist/{chunk-3KJW4EMO.js.map → chunk-IHEYJDJP.js.map} +1 -1
  39. package/dist/{chunk-CXVMDV2B.js → chunk-IOY7Y5GV.js} +197 -27
  40. package/dist/chunk-IOY7Y5GV.js.map +1 -0
  41. package/dist/{chunk-MDC6VYA6.cjs → chunk-KAVAKMOQ.cjs} +4 -8
  42. package/dist/chunk-KAVAKMOQ.cjs.map +1 -0
  43. package/dist/{chunk-7WC7ALDW.cjs → chunk-LNKS4TJ6.cjs} +6 -6
  44. package/dist/{chunk-7WC7ALDW.cjs.map → chunk-LNKS4TJ6.cjs.map} +1 -1
  45. package/dist/{chunk-R3364RAL.js → chunk-MWGGSA5Q.js} +4 -4
  46. package/dist/{chunk-R3364RAL.js.map → chunk-MWGGSA5Q.js.map} +1 -1
  47. package/dist/{chunk-QSN5KQXZ.cjs → chunk-O7PZ4VOO.cjs} +11 -11
  48. package/dist/{chunk-QSN5KQXZ.cjs.map → chunk-O7PZ4VOO.cjs.map} +1 -1
  49. package/dist/chunk-OQDRPRKM.cjs +46 -0
  50. package/dist/chunk-OQDRPRKM.cjs.map +1 -0
  51. package/dist/{chunk-YV2YGQRY.js → chunk-RHKNKJNM.js} +101 -13
  52. package/dist/chunk-RHKNKJNM.js.map +1 -0
  53. package/dist/{chunk-TPDMP7OD.js → chunk-RHYZ6CQN.js} +4 -8
  54. package/dist/chunk-RHYZ6CQN.js.map +1 -0
  55. package/dist/{chunk-G5JVVFIG.cjs → chunk-RZNHRIM7.cjs} +9 -9
  56. package/dist/{chunk-G5JVVFIG.cjs.map → chunk-RZNHRIM7.cjs.map} +1 -1
  57. package/dist/{chunk-JZ6TH4HQ.cjs → chunk-TL2TTA4X.cjs} +4260 -3962
  58. package/dist/chunk-TL2TTA4X.cjs.map +1 -0
  59. package/dist/{chunk-KNXZ7KYL.cjs → chunk-TVPANHLE.cjs} +40 -2
  60. package/dist/chunk-TVPANHLE.cjs.map +1 -0
  61. package/dist/{chunk-7S6LA43E.cjs → chunk-VJWRJWSC.cjs} +278 -248
  62. package/dist/chunk-VJWRJWSC.cjs.map +1 -0
  63. package/dist/chunk-X2HAI3OX.js +39 -0
  64. package/dist/chunk-X2HAI3OX.js.map +1 -0
  65. package/dist/{chunk-FZ5DRHKE.js → chunk-XB3DA67Q.js} +325 -5
  66. package/dist/chunk-XB3DA67Q.js.map +1 -0
  67. package/dist/{chunk-NUV3BLRH.cjs → chunk-XWZAKKFT.cjs} +17 -16
  68. package/dist/chunk-XWZAKKFT.cjs.map +1 -0
  69. package/dist/{chunk-4GB2GS4S.js → chunk-YM6245EM.js} +5 -5
  70. package/dist/{chunk-4GB2GS4S.js.map → chunk-YM6245EM.js.map} +1 -1
  71. package/dist/datasets/index.cjs +17 -17
  72. package/dist/datasets/index.js +2 -2
  73. package/dist/docs/SKILL.md +2 -1
  74. package/dist/docs/assets/SOURCE_MAP.json +417 -391
  75. package/dist/docs/references/docs-memory-observational-memory.md +2 -0
  76. package/dist/docs/references/docs-streaming-tool-streaming.md +6 -0
  77. package/dist/docs/references/docs-workspace-filesystem.md +21 -1
  78. package/dist/docs/references/reference-harness-harness-class.md +645 -0
  79. package/dist/docs/references/reference-memory-memory-class.md +1 -1
  80. package/dist/docs/references/reference-memory-observational-memory.md +1 -0
  81. package/dist/docs/references/reference-workspace-local-filesystem.md +25 -0
  82. package/dist/docs/references/reference-workspace-workspace-class.md +1 -24
  83. package/dist/docs/references/reference.md +1 -0
  84. package/dist/editor/types.d.ts +20 -1
  85. package/dist/editor/types.d.ts.map +1 -1
  86. package/dist/evals/base.d.ts.map +1 -1
  87. package/dist/evals/index.cjs +20 -20
  88. package/dist/evals/index.js +3 -3
  89. package/dist/evals/scoreTraces/index.cjs +5 -5
  90. package/dist/evals/scoreTraces/index.js +2 -2
  91. package/dist/events/index.cjs +6 -2
  92. package/dist/events/index.d.ts +1 -0
  93. package/dist/events/index.d.ts.map +1 -1
  94. package/dist/events/index.js +1 -1
  95. package/dist/harness/harness.d.ts +105 -35
  96. package/dist/harness/harness.d.ts.map +1 -1
  97. package/dist/harness/index.cjs +472 -64
  98. package/dist/harness/index.cjs.map +1 -1
  99. package/dist/harness/index.d.ts +2 -1
  100. package/dist/harness/index.d.ts.map +1 -1
  101. package/dist/harness/index.js +468 -62
  102. package/dist/harness/index.js.map +1 -1
  103. package/dist/harness/tools.d.ts +38 -0
  104. package/dist/harness/tools.d.ts.map +1 -1
  105. package/dist/harness/types.d.ts +64 -9
  106. package/dist/harness/types.d.ts.map +1 -1
  107. package/dist/index.cjs +2 -2
  108. package/dist/index.js +1 -1
  109. package/dist/llm/index.cjs +12 -12
  110. package/dist/llm/index.js +3 -3
  111. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
  112. package/dist/loop/index.cjs +12 -12
  113. package/dist/loop/index.js +1 -1
  114. package/dist/loop/network/index.d.ts +6 -6
  115. package/dist/loop/network/index.d.ts.map +1 -1
  116. package/dist/loop/test-utils/options.d.ts.map +1 -1
  117. package/dist/loop/workflows/agentic-execution/index.d.ts +21 -21
  118. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +14 -14
  119. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  120. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +7 -7
  121. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
  122. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  123. package/dist/loop/workflows/agentic-loop/index.d.ts +21 -21
  124. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  125. package/dist/loop/workflows/schema.d.ts +30 -30
  126. package/dist/loop/workflows/stream.d.ts +0 -13
  127. package/dist/loop/workflows/stream.d.ts.map +1 -1
  128. package/dist/mastra/index.cjs +2 -2
  129. package/dist/mastra/index.js +1 -1
  130. package/dist/memory/index.cjs +14 -14
  131. package/dist/memory/index.js +1 -1
  132. package/dist/models-dev-6P4CM74H.js +3 -0
  133. package/dist/{models-dev-MDI5E2YA.js.map → models-dev-6P4CM74H.js.map} +1 -1
  134. package/dist/models-dev-CLLSNT5L.cjs +12 -0
  135. package/dist/{models-dev-BW2GAM3K.cjs.map → models-dev-CLLSNT5L.cjs.map} +1 -1
  136. package/dist/processor-provider/index.cjs +256 -0
  137. package/dist/processor-provider/index.cjs.map +1 -0
  138. package/dist/processor-provider/index.d.ts +5 -0
  139. package/dist/processor-provider/index.d.ts.map +1 -0
  140. package/dist/processor-provider/index.js +243 -0
  141. package/dist/processor-provider/index.js.map +1 -0
  142. package/dist/processor-provider/phase-filtered-processor.d.ts +22 -0
  143. package/dist/processor-provider/phase-filtered-processor.d.ts.map +1 -0
  144. package/dist/processor-provider/providers/index.d.ts +12 -0
  145. package/dist/processor-provider/providers/index.d.ts.map +1 -0
  146. package/dist/processor-provider/types.d.ts +65 -0
  147. package/dist/processor-provider/types.d.ts.map +1 -0
  148. package/dist/processors/index.cjs +41 -41
  149. package/dist/processors/index.js +1 -1
  150. package/dist/processors/memory/message-history.d.ts.map +1 -1
  151. package/dist/processors/step-schema.d.ts +14 -14
  152. package/dist/provider-registry-HMTFO5FV.cjs +40 -0
  153. package/dist/{provider-registry-4PH2JPIA.cjs.map → provider-registry-HMTFO5FV.cjs.map} +1 -1
  154. package/dist/provider-registry-TTZ2WN2P.js +3 -0
  155. package/dist/{provider-registry-VEJ3PN4S.js.map → provider-registry-TTZ2WN2P.js.map} +1 -1
  156. package/dist/relevance/index.cjs +3 -3
  157. package/dist/relevance/index.js +1 -1
  158. package/dist/storage/base.d.ts +2 -1
  159. package/dist/storage/base.d.ts.map +1 -1
  160. package/dist/storage/constants.cjs +68 -52
  161. package/dist/storage/constants.d.ts +6 -2
  162. package/dist/storage/constants.d.ts.map +1 -1
  163. package/dist/storage/constants.js +1 -1
  164. package/dist/storage/domains/index.d.ts +1 -0
  165. package/dist/storage/domains/index.d.ts.map +1 -1
  166. package/dist/storage/domains/inmemory-db.d.ts +4 -1
  167. package/dist/storage/domains/inmemory-db.d.ts.map +1 -1
  168. package/dist/storage/domains/mcp-servers/base.d.ts +47 -0
  169. package/dist/storage/domains/mcp-servers/base.d.ts.map +1 -0
  170. package/dist/storage/domains/mcp-servers/index.d.ts +3 -0
  171. package/dist/storage/domains/mcp-servers/index.d.ts.map +1 -0
  172. package/dist/storage/domains/mcp-servers/inmemory.d.ts +31 -0
  173. package/dist/storage/domains/mcp-servers/inmemory.d.ts.map +1 -0
  174. package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
  175. package/dist/storage/domains/observability/types.d.ts +44 -44
  176. package/dist/storage/domains/operations/inmemory.d.ts.map +1 -1
  177. package/dist/storage/index.cjs +178 -154
  178. package/dist/storage/index.js +2 -2
  179. package/dist/storage/mock.d.ts.map +1 -1
  180. package/dist/storage/types.d.ts +220 -6
  181. package/dist/storage/types.d.ts.map +1 -1
  182. package/dist/stream/MastraAgentNetworkStream.d.ts +1 -1
  183. package/dist/stream/MastraWorkflowStream.d.ts +1 -1
  184. package/dist/stream/aisdk/v5/input.d.ts.map +1 -1
  185. package/dist/stream/base/input.d.ts +19 -0
  186. package/dist/stream/base/input.d.ts.map +1 -1
  187. package/dist/stream/base/output.d.ts.map +1 -1
  188. package/dist/stream/index.cjs +11 -11
  189. package/dist/stream/index.js +2 -2
  190. package/dist/tool-loop-agent/index.cjs +4 -4
  191. package/dist/tool-loop-agent/index.js +1 -1
  192. package/dist/vector/index.cjs +9 -9
  193. package/dist/vector/index.js +2 -2
  194. package/dist/workflows/evented/execution-engine.d.ts.map +1 -1
  195. package/dist/workflows/evented/index.cjs +10 -10
  196. package/dist/workflows/evented/index.js +1 -1
  197. package/dist/workflows/evented/step-executor.d.ts.map +1 -1
  198. package/dist/workflows/evented/workflow-event-processor/index.d.ts.map +1 -1
  199. package/dist/workflows/index.cjs +25 -25
  200. package/dist/workflows/index.js +1 -1
  201. package/dist/workflows/step.d.ts.map +1 -1
  202. package/dist/workspace/constants/index.d.ts +1 -0
  203. package/dist/workspace/constants/index.d.ts.map +1 -1
  204. package/dist/workspace/index.cjs +64 -64
  205. package/dist/workspace/index.js +1 -1
  206. package/dist/workspace/tools/ast-edit.d.ts +97 -0
  207. package/dist/workspace/tools/ast-edit.d.ts.map +1 -0
  208. package/dist/workspace/tools/search.d.ts +1 -1
  209. package/dist/workspace/tools/tools.d.ts.map +1 -1
  210. package/package.json +12 -11
  211. package/processor-provider.d.ts +1 -0
  212. package/dist/chunk-4D4KB75Y.cjs +0 -9
  213. package/dist/chunk-4D4KB75Y.cjs.map +0 -1
  214. package/dist/chunk-7S6LA43E.cjs.map +0 -1
  215. package/dist/chunk-A6EWCOGA.cjs.map +0 -1
  216. package/dist/chunk-BVUMKER5.js +0 -7
  217. package/dist/chunk-BVUMKER5.js.map +0 -1
  218. package/dist/chunk-CXVMDV2B.js.map +0 -1
  219. package/dist/chunk-D57U4II4.js.map +0 -1
  220. package/dist/chunk-FZ5DRHKE.js.map +0 -1
  221. package/dist/chunk-JZ6TH4HQ.cjs.map +0 -1
  222. package/dist/chunk-KNXZ7KYL.cjs.map +0 -1
  223. package/dist/chunk-MDC6VYA6.cjs.map +0 -1
  224. package/dist/chunk-MZIMV2BB.js.map +0 -1
  225. package/dist/chunk-NUV3BLRH.cjs.map +0 -1
  226. package/dist/chunk-OHLVZVIK.js.map +0 -1
  227. package/dist/chunk-OQ5LZ6OV.cjs.map +0 -1
  228. package/dist/chunk-S4VVZI4E.cjs.map +0 -1
  229. package/dist/chunk-TPDMP7OD.js.map +0 -1
  230. package/dist/chunk-UZFGMMKU.js.map +0 -1
  231. package/dist/chunk-YIN5F7VO.js.map +0 -1
  232. package/dist/chunk-YV2YGQRY.js.map +0 -1
  233. package/dist/chunk-YW54RH77.cjs.map +0 -1
  234. package/dist/models-dev-BW2GAM3K.cjs +0 -12
  235. package/dist/models-dev-MDI5E2YA.js +0 -3
  236. package/dist/provider-registry-4PH2JPIA.cjs +0 -40
  237. package/dist/provider-registry-VEJ3PN4S.js +0 -3
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ var EventEmitter = require('events');
4
+
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var EventEmitter__default = /*#__PURE__*/_interopDefault(EventEmitter);
8
+
9
+ // src/events/pubsub.ts
10
+ var PubSub = class {
11
+ };
12
+ var EventEmitterPubSub = class extends PubSub {
13
+ emitter;
14
+ constructor(existingEmitter) {
15
+ super();
16
+ this.emitter = existingEmitter ?? new EventEmitter__default.default();
17
+ }
18
+ async publish(topic, event) {
19
+ const id = crypto.randomUUID();
20
+ const createdAt = /* @__PURE__ */ new Date();
21
+ this.emitter.emit(topic, {
22
+ ...event,
23
+ id,
24
+ createdAt
25
+ });
26
+ }
27
+ async subscribe(topic, cb) {
28
+ this.emitter.on(topic, cb);
29
+ }
30
+ async unsubscribe(topic, cb) {
31
+ this.emitter.off(topic, cb);
32
+ }
33
+ async flush() {
34
+ }
35
+ /**
36
+ * Clean up all listeners during graceful shutdown.
37
+ */
38
+ async close() {
39
+ this.emitter.removeAllListeners();
40
+ }
41
+ };
42
+
43
+ exports.EventEmitterPubSub = EventEmitterPubSub;
44
+ exports.PubSub = PubSub;
45
+ //# sourceMappingURL=chunk-OQDRPRKM.cjs.map
46
+ //# sourceMappingURL=chunk-OQDRPRKM.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/events/pubsub.ts","../src/events/event-emitter.ts"],"names":["EventEmitter"],"mappings":";;;;;;;;;AAEO,IAAe,SAAf,MAAsB;AAK7B;ACHO,IAAM,kBAAA,GAAN,cAAiC,MAAA,CAAO;AAAA,EACrC,OAAA;AAAA,EAER,YAAY,eAAA,EAAgC;AAC1C,IAAA,KAAA,EAAM;AACN,IAAA,IAAA,CAAK,OAAA,GAAU,eAAA,IAAmB,IAAIA,6BAAA,EAAa;AAAA,EACrD;AAAA,EAEA,MAAM,OAAA,CAAQ,KAAA,EAAe,KAAA,EAAuD;AAClF,IAAA,MAAM,EAAA,GAAK,OAAO,UAAA,EAAW;AAC7B,IAAA,MAAM,SAAA,uBAAgB,IAAA,EAAK;AAC3B,IAAA,IAAA,CAAK,OAAA,CAAQ,KAAK,KAAA,EAAO;AAAA,MACvB,GAAG,KAAA;AAAA,MACH,EAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,SAAA,CAAU,KAAA,EAAe,EAAA,EAAsE;AACnG,IAAA,IAAA,CAAK,OAAA,CAAQ,EAAA,CAAG,KAAA,EAAO,EAAE,CAAA;AAAA,EAC3B;AAAA,EAEA,MAAM,WAAA,CAAY,KAAA,EAAe,EAAA,EAAsE;AACrG,IAAA,IAAA,CAAK,OAAA,CAAQ,GAAA,CAAI,KAAA,EAAO,EAAE,CAAA;AAAA,EAC5B;AAAA,EAEA,MAAM,KAAA,GAAuB;AAAA,EAE7B;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,KAAA,GAAuB;AAC3B,IAAA,IAAA,CAAK,QAAQ,kBAAA,EAAmB;AAAA,EAClC;AACF","file":"chunk-OQDRPRKM.cjs","sourcesContent":["import type { Event } from './types';\n\nexport abstract class PubSub {\n abstract publish(topic: string, event: Omit<Event, 'id' | 'createdAt'>): Promise<void>;\n abstract subscribe(topic: string, cb: (event: Event, ack?: () => Promise<void>) => void): Promise<void>;\n abstract unsubscribe(topic: string, cb: (event: Event, ack?: () => Promise<void>) => void): Promise<void>;\n abstract flush(): Promise<void>;\n}\n","import EventEmitter from 'node:events';\nimport { PubSub } from './pubsub';\nimport type { Event } from './types';\n\nexport class EventEmitterPubSub extends PubSub {\n private emitter: EventEmitter;\n\n constructor(existingEmitter?: EventEmitter) {\n super();\n this.emitter = existingEmitter ?? new EventEmitter();\n }\n\n async publish(topic: string, event: Omit<Event, 'id' | 'createdAt'>): Promise<void> {\n const id = crypto.randomUUID();\n const createdAt = new Date();\n this.emitter.emit(topic, {\n ...event,\n id,\n createdAt,\n });\n }\n\n async subscribe(topic: string, cb: (event: Event, ack?: () => Promise<void>) => void): Promise<void> {\n this.emitter.on(topic, cb);\n }\n\n async unsubscribe(topic: string, cb: (event: Event, ack?: () => Promise<void>) => void): Promise<void> {\n this.emitter.off(topic, cb);\n }\n\n async flush(): Promise<void> {\n // no-op\n }\n\n /**\n * Clean up all listeners during graceful shutdown.\n */\n async close(): Promise<void> {\n this.emitter.removeAllListeners();\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
- import { validateStepInput, createDeprecationProxy, getStepResult, validateStepSuspendData, runCountDeprecationMessage, TripWire, createTimeTravelExecutionParams, validateStepResumeData, Workflow, isSupportedLanguageModel, ProcessorStepOutputSchema, ProcessorStepSchema, Run, WorkflowRunOutput, ExecutionEngine, cleanStepResult, hydrateSerializedStepErrors, Agent, ProcessorRunner } from './chunk-MZIMV2BB.js';
1
+ import { validateStepInput, createDeprecationProxy, getStepResult, validateStepSuspendData, runCountDeprecationMessage, TripWire, createTimeTravelExecutionParams, validateStepResumeData, Workflow, isSupportedLanguageModel, ProcessorStepOutputSchema, ProcessorStepSchema, Run, WorkflowRunOutput, ExecutionEngine, cleanStepResult, hydrateSerializedStepErrors, Agent, ProcessorRunner } from './chunk-IHDE4CJV.js';
2
2
  import { STREAM_FORMAT_SYMBOL, PUBSUB_SYMBOL } from './chunk-2QXNHEDL.js';
3
- import { createPendingMarker } from './chunk-YIN5F7VO.js';
4
- import { MessageList } from './chunk-OHLVZVIK.js';
3
+ import { createPendingMarker } from './chunk-EEU5NHHU.js';
4
+ import { MessageList } from './chunk-IC5OUWKJ.js';
5
5
  import { ToolStream } from './chunk-DD2VNRQM.js';
6
6
  import { Tool } from './chunk-BQHWJLXU.js';
7
7
  import { RequestContext } from './chunk-CCLV5CAA.js';
@@ -75,6 +75,7 @@ var StepExecutor = class extends MastraBase {
75
75
  const { __workflow_meta, ...userSuspendData } = suspendDataToUse;
76
76
  suspendDataToUse = userSuspendData;
77
77
  }
78
+ let stateUpdate;
78
79
  try {
79
80
  if (validationError) {
80
81
  throw validationError;
@@ -91,7 +92,7 @@ var StepExecutor = class extends MastraBase {
91
92
  inputData,
92
93
  state: params.state,
93
94
  setState: async (newState) => {
94
- Object.assign(params.state, newState);
95
+ stateUpdate = { ...stateUpdate ?? params.state, ...newState };
95
96
  },
96
97
  retryCount,
97
98
  resumeData: params.resumeData,
@@ -162,6 +163,7 @@ var StepExecutor = class extends MastraBase {
162
163
  const isNestedWorkflowStep = step.component === "WORKFLOW";
163
164
  const nestedWflowStepPaused = isNestedWorkflowStep && perStep;
164
165
  const endedAt = Date.now();
166
+ const finalState = stateUpdate ?? params.state;
165
167
  let finalResult;
166
168
  if (suspended) {
167
169
  finalResult = {
@@ -169,7 +171,7 @@ var StepExecutor = class extends MastraBase {
169
171
  status: "suspended",
170
172
  suspendedAt: endedAt,
171
173
  ...stepOutput ? { suspendOutput: stepOutput } : {},
172
- __state: params.state
174
+ __state: finalState
173
175
  };
174
176
  if (suspended.payload) {
175
177
  finalResult.suspendPayload = suspended.payload;
@@ -181,13 +183,13 @@ var StepExecutor = class extends MastraBase {
181
183
  status: "bailed",
182
184
  endedAt,
183
185
  output: bailed.payload,
184
- __state: params.state
186
+ __state: finalState
185
187
  };
186
188
  } else if (nestedWflowStepPaused) {
187
189
  finalResult = {
188
190
  ...stepInfo,
189
191
  status: "paused",
190
- __state: params.state
192
+ __state: finalState
191
193
  };
192
194
  } else {
193
195
  finalResult = {
@@ -195,7 +197,7 @@ var StepExecutor = class extends MastraBase {
195
197
  status: "success",
196
198
  endedAt,
197
199
  output: stepOutput,
198
- __state: params.state
200
+ __state: finalState
199
201
  };
200
202
  }
201
203
  return finalResult;
@@ -1933,7 +1935,91 @@ var WorkflowEventProcessor = class extends EventProcessor {
1933
1935
  activeSteps[step.step.id] = true;
1934
1936
  const workflowsStore = await this.mastra?.getStorage()?.getStore("workflows");
1935
1937
  if (step.step instanceof EventedWorkflow || step.step.component === "WORKFLOW") {
1936
- if (resumeSteps?.length > 1) {
1938
+ if (resumeSteps?.length === 1 && resumeSteps[0] === step.step.id) {
1939
+ const stepData = stepResults[step.step.id];
1940
+ const nestedRunId = stepData?.suspendPayload?.__workflow_meta?.runId;
1941
+ if (!nestedRunId) {
1942
+ return this.errorWorkflow(
1943
+ {
1944
+ workflowId,
1945
+ runId,
1946
+ executionPath,
1947
+ stepResults,
1948
+ activeSteps,
1949
+ resumeSteps,
1950
+ prevResult,
1951
+ resumeData,
1952
+ parentWorkflow,
1953
+ requestContext
1954
+ },
1955
+ new MastraError({
1956
+ id: "MASTRA_WORKFLOW",
1957
+ text: `Nested workflow run id not found for auto-detection: ${JSON.stringify(stepResults)}`,
1958
+ domain: "MASTRA_WORKFLOW" /* MASTRA_WORKFLOW */,
1959
+ category: "SYSTEM" /* SYSTEM */
1960
+ })
1961
+ );
1962
+ }
1963
+ const snapshot = await workflowsStore?.loadWorkflowSnapshot({
1964
+ workflowName: step.step.id,
1965
+ runId: nestedRunId
1966
+ });
1967
+ const suspendedStepId = Object.keys(snapshot?.suspendedPaths ?? {})?.[0];
1968
+ if (!suspendedStepId) {
1969
+ return this.errorWorkflow(
1970
+ {
1971
+ workflowId,
1972
+ runId,
1973
+ executionPath,
1974
+ stepResults,
1975
+ activeSteps,
1976
+ resumeSteps,
1977
+ prevResult,
1978
+ resumeData,
1979
+ parentWorkflow,
1980
+ requestContext
1981
+ },
1982
+ new MastraError({
1983
+ id: "MASTRA_WORKFLOW",
1984
+ text: `No suspended step found in nested workflow: ${step.step.id}`,
1985
+ domain: "MASTRA_WORKFLOW" /* MASTRA_WORKFLOW */,
1986
+ category: "SYSTEM" /* SYSTEM */
1987
+ })
1988
+ );
1989
+ }
1990
+ const nestedExecutionPath = snapshot?.suspendedPaths?.[suspendedStepId];
1991
+ const nestedStepResults = snapshot?.context;
1992
+ await this.mastra.pubsub.publish("workflows", {
1993
+ type: "workflow.resume",
1994
+ runId,
1995
+ data: {
1996
+ workflowId: step.step.id,
1997
+ parentWorkflow: {
1998
+ stepId: step.step.id,
1999
+ workflowId,
2000
+ runId,
2001
+ executionPath,
2002
+ resumeSteps,
2003
+ stepResults,
2004
+ input: prevResult,
2005
+ parentWorkflow
2006
+ },
2007
+ executionPath: nestedExecutionPath,
2008
+ runId: nestedRunId,
2009
+ resumeSteps: [suspendedStepId],
2010
+ // Resume the auto-detected inner step
2011
+ stepResults: nestedStepResults,
2012
+ prevResult,
2013
+ resumeData,
2014
+ activeSteps,
2015
+ requestContext,
2016
+ perStep,
2017
+ initialState: currentState,
2018
+ state: currentState,
2019
+ outputOptions
2020
+ }
2021
+ });
2022
+ } else if (resumeSteps?.length > 1) {
1937
2023
  const stepData = stepResults[step.step.id];
1938
2024
  const nestedRunId = stepData?.suspendPayload?.__workflow_meta?.runId;
1939
2025
  if (!nestedRunId) {
@@ -2233,6 +2319,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
2233
2319
  //timeTravel is passed in as workflow.step.end ends the step, not the workflow, the timeTravel info is passed to the next step to run.
2234
2320
  stepResults: {
2235
2321
  ...stepResults,
2322
+ [step.step.id]: stepResult,
2236
2323
  __state: updatedState
2237
2324
  },
2238
2325
  prevResult: stepResult,
@@ -4401,9 +4488,10 @@ var EventedExecutionEngine = class extends ExecutionEngine {
4401
4488
  }
4402
4489
  let result;
4403
4490
  if (resultData.prevResult.status === "suspended") {
4404
- const suspendedSteps = Object.entries(resultData.stepResults).map(([_stepId, stepResult]) => {
4491
+ const suspendedSteps = Object.entries(resultData.stepResults).map(([stepId, stepResult]) => {
4405
4492
  if (stepResult.status === "suspended") {
4406
- return stepResult.suspendPayload?.__workflow_meta?.path ?? [];
4493
+ const existingPath = stepResult.suspendPayload?.__workflow_meta?.path ?? [];
4494
+ return [stepId, ...existingPath];
4407
4495
  }
4408
4496
  return null;
4409
4497
  }).filter(Boolean);
@@ -4446,5 +4534,5 @@ var EventedExecutionEngine = class extends ExecutionEngine {
4446
4534
  };
4447
4535
 
4448
4536
  export { EventedExecutionEngine, EventedRun, EventedWorkflow, StepExecutor, WorkflowEventProcessor, cloneStep, cloneWorkflow, createStep, createWorkflow };
4449
- //# sourceMappingURL=chunk-YV2YGQRY.js.map
4450
- //# sourceMappingURL=chunk-YV2YGQRY.js.map
4537
+ //# sourceMappingURL=chunk-RHKNKJNM.js.map
4538
+ //# sourceMappingURL=chunk-RHKNKJNM.js.map