@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.
- package/CHANGELOG.md +343 -0
- package/dist/_types/@internal_ai-sdk-v4/dist/index.d.ts +7549 -0
- package/dist/_types/@internal_ai-sdk-v4/dist/test.d.ts +65 -0
- package/dist/_types/@internal_ai-sdk-v5/dist/index.d.ts +8396 -0
- package/dist/_types/@internal_ai-sdk-v5/dist/test.d.ts +1708 -0
- package/dist/_types/@internal_external-types/dist/index.d.ts +858 -0
- package/dist/agent/agent-legacy.d.ts +1 -1
- package/dist/agent/agent.d.ts +3 -3
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.types.d.ts +11 -8
- package/dist/agent/agent.types.d.ts.map +1 -1
- package/dist/agent/index.cjs +17 -9
- package/dist/agent/index.d.ts +1 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +2 -2
- package/dist/agent/message-list/index.cjs +3 -3
- package/dist/agent/message-list/index.d.ts +4 -3
- package/dist/agent/message-list/index.d.ts.map +1 -1
- package/dist/agent/message-list/index.js +1 -1
- package/dist/agent/message-list/prompt/attachments-to-parts.d.ts +1 -1
- package/dist/agent/message-list/prompt/invalid-content-error.d.ts +1 -1
- package/dist/agent/message-list/types.d.ts +3 -3
- package/dist/agent/message-list/types.d.ts.map +1 -1
- package/dist/agent/message-list/utils/ai-v4-v5/core-model-message.d.ts +1 -1
- package/dist/agent/message-list/utils/ai-v4-v5/ui-message.d.ts +1 -1
- package/dist/agent/message-list/utils/ai-v5/gemini-compatibility.d.ts +2 -2
- package/dist/agent/message-list/utils/ai-v5/gemini-compatibility.d.ts.map +1 -1
- package/dist/agent/message-list/utils/convert-messages.d.ts +2 -2
- package/dist/agent/message-list/utils/convert-messages.d.ts.map +1 -1
- package/dist/agent/trip-wire.d.ts +2 -2
- package/dist/agent/trip-wire.d.ts.map +1 -1
- package/dist/agent/types.d.ts +3 -3
- package/dist/agent/utils.d.ts +7 -4
- package/dist/agent/utils.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/index.d.ts +4 -3
- package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +3 -3
- package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +3 -3
- package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts +3 -3
- package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/stream-step.d.ts +3 -1
- package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
- package/dist/bundler/types.d.ts +15 -1
- package/dist/bundler/types.d.ts.map +1 -1
- package/dist/chunk-2AU5ZHBL.js +79 -0
- package/dist/chunk-2AU5ZHBL.js.map +1 -0
- package/dist/chunk-2SQB3WBT.js +4574 -0
- package/dist/chunk-2SQB3WBT.js.map +1 -0
- package/dist/{chunk-THZTRBFS.js → chunk-373OC54J.js} +8 -8
- package/dist/chunk-373OC54J.js.map +1 -0
- package/dist/{chunk-US2U7ECW.js → chunk-3IP3DZ7G.js} +234 -101
- package/dist/chunk-3IP3DZ7G.js.map +1 -0
- package/dist/{chunk-SXNQRJQD.js → chunk-4AT6YQKZ.js} +26 -20
- package/dist/chunk-4AT6YQKZ.js.map +1 -0
- package/dist/{chunk-C36YRTZ6.js → chunk-4CMIJQF6.js} +117 -114
- package/dist/chunk-4CMIJQF6.js.map +1 -0
- package/dist/chunk-53SZJCBX.cjs +4888 -0
- package/dist/chunk-53SZJCBX.cjs.map +1 -0
- package/dist/chunk-55VPMN3N.js +250 -0
- package/dist/chunk-55VPMN3N.js.map +1 -0
- package/dist/{chunk-QM5SRDJX.js → chunk-5PTZG26U.js} +66 -84
- package/dist/chunk-5PTZG26U.js.map +1 -0
- package/dist/{chunk-U3XOLEPX.js → chunk-5UQ5TB6J.js} +6 -32
- package/dist/chunk-5UQ5TB6J.js.map +1 -0
- package/dist/{chunk-O2BJW7YA.js → chunk-67LM2UCT.js} +9 -9
- package/dist/chunk-67LM2UCT.js.map +1 -0
- package/dist/{chunk-YC6PJEPH.cjs → chunk-6CG7IY57.cjs} +266 -133
- package/dist/chunk-6CG7IY57.cjs.map +1 -0
- package/dist/chunk-6PMMP3FR.js +7 -0
- package/dist/chunk-6PMMP3FR.js.map +1 -0
- package/dist/{chunk-DZUJEN5N.cjs → chunk-6SZKM6EC.cjs} +10 -3
- package/dist/{chunk-DZUJEN5N.cjs.map → chunk-6SZKM6EC.cjs.map} +1 -1
- package/dist/{chunk-5Q6WAYEY.cjs → chunk-72E3YF6A.cjs} +35 -49
- package/dist/chunk-72E3YF6A.cjs.map +1 -0
- package/dist/{chunk-5WRI5ZAA.js → chunk-7D4SUZUM.js} +10 -4
- package/dist/{chunk-5WRI5ZAA.js.map → chunk-7D4SUZUM.js.map} +1 -1
- package/dist/{chunk-7P6BNIJH.js → chunk-AYBJ5GAD.js} +281 -35
- package/dist/chunk-AYBJ5GAD.js.map +1 -0
- package/dist/chunk-D22XABFZ.js +79 -0
- package/dist/chunk-D22XABFZ.js.map +1 -0
- package/dist/{chunk-SCUWP4II.cjs → chunk-DBW6S25C.cjs} +47 -74
- package/dist/chunk-DBW6S25C.cjs.map +1 -0
- package/dist/{chunk-MRFUISXC.cjs → chunk-EGHGFLL3.cjs} +2631 -179
- package/dist/chunk-EGHGFLL3.cjs.map +1 -0
- package/dist/{chunk-BJXKH4LG.cjs → chunk-ETWAR2YE.cjs} +43 -78
- package/dist/chunk-ETWAR2YE.cjs.map +1 -0
- package/dist/{chunk-CZEJQSWB.cjs → chunk-F75EQ574.cjs} +65 -6
- package/dist/chunk-F75EQ574.cjs.map +1 -0
- package/dist/{chunk-BUKY6CTR.cjs → chunk-FPDJ4XN6.cjs} +282 -36
- package/dist/chunk-FPDJ4XN6.cjs.map +1 -0
- package/dist/chunk-FST2G2FQ.cjs +84 -0
- package/dist/chunk-FST2G2FQ.cjs.map +1 -0
- package/dist/chunk-FVQTJUBD.cjs +2120 -0
- package/dist/chunk-FVQTJUBD.cjs.map +1 -0
- package/dist/chunk-G6E6V2Z4.js +2070 -0
- package/dist/chunk-G6E6V2Z4.js.map +1 -0
- package/dist/{chunk-JIGDJK2O.js → chunk-GBQXIVL6.js} +4 -39
- package/dist/chunk-GBQXIVL6.js.map +1 -0
- package/dist/{chunk-F2GAJSBI.js → chunk-GELVUDUY.js} +11 -8
- package/dist/chunk-GELVUDUY.js.map +1 -0
- package/dist/chunk-GVAPYQRO.cjs +252 -0
- package/dist/chunk-GVAPYQRO.cjs.map +1 -0
- package/dist/{chunk-TWH4PTDG.cjs → chunk-HWMMIRIF.cjs} +32 -27
- package/dist/chunk-HWMMIRIF.cjs.map +1 -0
- package/dist/{chunk-52RSUALV.cjs → chunk-JAGQZZ43.cjs} +1660 -1196
- package/dist/chunk-JAGQZZ43.cjs.map +1 -0
- package/dist/{chunk-PK2A5WBG.js → chunk-K66U47VL.js} +54 -7
- package/dist/chunk-K66U47VL.js.map +1 -0
- package/dist/chunk-L3NKIMF5.cjs +10 -0
- package/dist/chunk-L3NKIMF5.cjs.map +1 -0
- package/dist/chunk-L4JCRWDY.cjs +252 -0
- package/dist/chunk-L4JCRWDY.cjs.map +1 -0
- package/dist/{chunk-IVV5TOMD.js → chunk-LDXKZYOV.js} +31 -11
- package/dist/chunk-LDXKZYOV.js.map +1 -0
- package/dist/chunk-NESKUIRE.cjs +4586 -0
- package/dist/chunk-NESKUIRE.cjs.map +1 -0
- package/dist/{chunk-SVLMF4UZ.cjs → chunk-NIOEY3N3.cjs} +66 -85
- package/dist/chunk-NIOEY3N3.cjs.map +1 -0
- package/dist/{chunk-PG5H6QIO.cjs → chunk-O3ULBGV6.cjs} +40 -20
- package/dist/chunk-O3ULBGV6.cjs.map +1 -0
- package/dist/{chunk-WTSZBHIZ.cjs → chunk-O5BQBZEF.cjs} +28 -28
- package/dist/chunk-O5BQBZEF.cjs.map +1 -0
- package/dist/{chunk-4JKEUSCC.cjs → chunk-OOUFPYSX.cjs} +25 -22
- package/dist/chunk-OOUFPYSX.cjs.map +1 -0
- package/dist/chunk-QDVYP2T7.js +4883 -0
- package/dist/chunk-QDVYP2T7.js.map +1 -0
- package/dist/{chunk-2ULLRN4Y.js → chunk-QF4MHFSU.js} +1294 -834
- package/dist/chunk-QF4MHFSU.js.map +1 -0
- package/dist/{chunk-Z57R5WS4.js → chunk-SLBWA2F3.js} +4 -4
- package/dist/{chunk-Z57R5WS4.js.map → chunk-SLBWA2F3.js.map} +1 -1
- package/dist/chunk-ST7NBF4H.cjs +84 -0
- package/dist/chunk-ST7NBF4H.cjs.map +1 -0
- package/dist/{chunk-YWMMBIOM.cjs → chunk-TDM43G4I.cjs} +15 -15
- package/dist/{chunk-YWMMBIOM.cjs.map → chunk-TDM43G4I.cjs.map} +1 -1
- package/dist/{chunk-S73Z3PBJ.cjs → chunk-TRUNX3AX.cjs} +138 -134
- package/dist/chunk-TRUNX3AX.cjs.map +1 -0
- package/dist/chunk-VE6HQ7H6.js +250 -0
- package/dist/chunk-VE6HQ7H6.js.map +1 -0
- package/dist/{chunk-OEIVMCWX.js → chunk-VZJOEGQA.js} +2536 -84
- package/dist/chunk-VZJOEGQA.js.map +1 -0
- package/dist/{chunk-JJ5O45LH.js → chunk-YPLZDWG7.js} +32 -27
- package/dist/chunk-YPLZDWG7.js.map +1 -0
- package/dist/{chunk-MGCGWPQJ.cjs → chunk-Z55SJVEC.cjs} +8 -8
- package/dist/chunk-Z55SJVEC.cjs.map +1 -0
- package/dist/error/index.cjs +6 -6
- package/dist/error/index.d.ts +26 -20
- package/dist/error/index.d.ts.map +1 -1
- package/dist/error/index.js +1 -1
- package/dist/error/utils.d.ts +19 -5
- package/dist/error/utils.d.ts.map +1 -1
- package/dist/evals/index.cjs +4 -4
- package/dist/evals/index.js +1 -1
- package/dist/evals/run/index.d.ts +1 -1
- package/dist/evals/run/index.d.ts.map +1 -1
- package/dist/evals/scoreTraces/index.cjs +8 -8
- package/dist/evals/scoreTraces/index.js +2 -2
- package/dist/evals/types.d.ts +1 -1
- package/dist/events/event-emitter.d.ts +6 -1
- package/dist/events/event-emitter.d.ts.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/dist/integration/index.cjs +2 -2
- package/dist/integration/index.js +1 -1
- package/dist/llm/index.cjs +15 -15
- package/dist/llm/index.d.ts +2 -2
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +5 -5
- package/dist/llm/model/aisdk/generate-to-stream.d.ts +20 -0
- package/dist/llm/model/aisdk/generate-to-stream.d.ts.map +1 -0
- package/dist/llm/model/aisdk/v5/model.d.ts +5 -1
- package/dist/llm/model/aisdk/v5/model.d.ts.map +1 -1
- package/dist/llm/model/aisdk/v6/model.d.ts +51 -0
- package/dist/llm/model/aisdk/v6/model.d.ts.map +1 -0
- package/dist/llm/model/base.types.d.ts +2 -2
- package/dist/llm/model/model.d.ts +1 -1
- package/dist/llm/model/model.d.ts.map +1 -1
- package/dist/llm/model/model.loop.d.ts +3 -3
- package/dist/llm/model/model.loop.d.ts.map +1 -1
- package/dist/llm/model/model.loop.types.d.ts +1 -1
- package/dist/llm/model/model.loop.types.d.ts.map +1 -1
- package/dist/llm/model/provider-types.generated.d.ts +135 -11
- package/dist/llm/model/resolve-model.d.ts +2 -2
- package/dist/llm/model/resolve-model.d.ts.map +1 -1
- package/dist/llm/model/shared.types.d.ts +19 -8
- package/dist/llm/model/shared.types.d.ts.map +1 -1
- package/dist/loop/index.cjs +2 -2
- package/dist/loop/index.js +1 -1
- package/dist/loop/loop.d.ts +2 -2
- package/dist/loop/loop.d.ts.map +1 -1
- package/dist/loop/network/index.d.ts +2 -2
- package/dist/loop/network/index.d.ts.map +1 -1
- package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts +2 -2
- package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts.map +1 -1
- package/dist/loop/test-utils/MastraLanguageModelV3Mock.d.ts +37 -0
- package/dist/loop/test-utils/MastraLanguageModelV3Mock.d.ts.map +1 -0
- package/dist/loop/test-utils/fullStream.d.ts +2 -1
- package/dist/loop/test-utils/fullStream.d.ts.map +1 -1
- package/dist/loop/test-utils/options.d.ts.map +1 -1
- package/dist/loop/test-utils/resultObject.d.ts +2 -1
- package/dist/loop/test-utils/resultObject.d.ts.map +1 -1
- package/dist/loop/test-utils/streamObject.d.ts +1 -1
- package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
- package/dist/loop/test-utils/tools.d.ts.map +1 -1
- package/dist/loop/test-utils/utils-v3.d.ts +55 -0
- package/dist/loop/test-utils/utils-v3.d.ts.map +1 -0
- package/dist/loop/types.d.ts +8 -7
- package/dist/loop/types.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/index.d.ts +49 -49
- package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +34 -34
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +17 -17
- package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts +22 -21
- package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-loop/index.d.ts +49 -49
- package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
- package/dist/loop/workflows/run-state.d.ts +2 -2
- package/dist/loop/workflows/run-state.d.ts.map +1 -1
- package/dist/loop/workflows/schema.d.ts +18 -18
- package/dist/loop/workflows/schema.d.ts.map +1 -1
- package/dist/loop/workflows/stream.d.ts +2 -2
- package/dist/loop/workflows/stream.d.ts.map +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.js +1 -1
- package/dist/mcp/index.cjs +4 -4
- package/dist/mcp/index.js +1 -1
- package/dist/memory/index.cjs +6 -6
- package/dist/memory/index.js +1 -1
- package/dist/memory/memory.d.ts +1 -1
- package/dist/memory/types.d.ts +3 -3
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/models-dev-E3WWI7VA.js +3 -0
- package/dist/{models-dev-23RN2WHG.js.map → models-dev-E3WWI7VA.js.map} +1 -1
- package/dist/models-dev-PPS7X4JM.cjs +12 -0
- package/dist/{models-dev-EO3SUIY2.cjs.map → models-dev-PPS7X4JM.cjs.map} +1 -1
- package/dist/netlify-TY656UYF.js +3 -0
- package/dist/{netlify-GXJ5D5DD.js.map → netlify-TY656UYF.js.map} +1 -1
- package/dist/netlify-VZFM5UH3.cjs +12 -0
- package/dist/{netlify-KJLY3GFS.cjs.map → netlify-VZFM5UH3.cjs.map} +1 -1
- package/dist/processors/index.cjs +37 -37
- package/dist/processors/index.d.ts +9 -9
- package/dist/processors/index.d.ts.map +1 -1
- package/dist/processors/index.js +1 -1
- package/dist/processors/runner.d.ts.map +1 -1
- package/dist/processors/step-schema.d.ts +1293 -1293
- package/dist/processors/step-schema.d.ts.map +1 -1
- package/dist/provider-registry-NXVD764B.js +3 -0
- package/dist/{provider-registry-F67Y6OF2.js.map → provider-registry-NXVD764B.js.map} +1 -1
- package/dist/provider-registry-ZIWSEUQE.cjs +40 -0
- package/dist/{provider-registry-3TG2KUD2.cjs.map → provider-registry-ZIWSEUQE.cjs.map} +1 -1
- package/dist/provider-registry.json +276 -30
- package/dist/{registry-generator-UMTNPBJX.js → registry-generator-AVQXI3GX.js} +2 -2
- package/dist/{registry-generator-UMTNPBJX.js.map → registry-generator-AVQXI3GX.js.map} +1 -1
- package/dist/{registry-generator-34SC4TAU.cjs → registry-generator-KOFNIIWJ.cjs} +2 -2
- package/dist/{registry-generator-34SC4TAU.cjs.map → registry-generator-KOFNIIWJ.cjs.map} +1 -1
- package/dist/relevance/index.cjs +3 -3
- package/dist/relevance/index.cjs.map +1 -1
- package/dist/relevance/index.js +2 -2
- package/dist/relevance/index.js.map +1 -1
- package/dist/server/index.cjs +5 -5
- package/dist/server/index.js +1 -1
- package/dist/storage/base.d.ts +2 -10
- package/dist/storage/base.d.ts.map +1 -1
- package/dist/storage/domains/workflows/base.d.ts +2 -8
- package/dist/storage/domains/workflows/base.d.ts.map +1 -1
- package/dist/storage/domains/workflows/inmemory.d.ts +2 -8
- package/dist/storage/domains/workflows/inmemory.d.ts.map +1 -1
- package/dist/storage/index.cjs +38 -38
- package/dist/storage/index.js +1 -1
- package/dist/storage/mock.d.ts +2 -8
- package/dist/storage/mock.d.ts.map +1 -1
- package/dist/storage/types.d.ts +9 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/stream/RunOutput.d.ts +1 -1
- package/dist/stream/aisdk/v4/input.d.ts +1 -1
- package/dist/stream/aisdk/v5/compat/content.d.ts +1 -1
- package/dist/stream/aisdk/v5/compat/content.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts +1 -1
- package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/compat/ui-message.d.ts +1 -1
- package/dist/stream/aisdk/v5/compat/ui-message.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/compat/validation.d.ts +1 -1
- package/dist/stream/aisdk/v5/compat/validation.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/execute.d.ts +6 -6
- package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/input.d.ts +1 -1
- package/dist/stream/aisdk/v5/input.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/output-helpers.d.ts +12 -27
- package/dist/stream/aisdk/v5/output-helpers.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/output.d.ts +41 -91
- package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/transform.d.ts +1 -1
- package/dist/stream/aisdk/v5/transform.d.ts.map +1 -1
- package/dist/stream/base/input.d.ts +1 -1
- package/dist/stream/base/output.d.ts +16 -36
- package/dist/stream/base/output.d.ts.map +1 -1
- package/dist/stream/base/schema.d.ts +2 -2
- package/dist/stream/base/schema.d.ts.map +1 -1
- package/dist/stream/index.cjs +12 -12
- package/dist/stream/index.js +2 -2
- package/dist/stream/types.d.ts +32 -23
- package/dist/stream/types.d.ts.map +1 -1
- package/dist/test-utils/llm-mock.cjs +14587 -14
- package/dist/test-utils/llm-mock.cjs.map +1 -1
- package/dist/test-utils/llm-mock.d.ts +3 -3
- package/dist/test-utils/llm-mock.d.ts.map +1 -1
- package/dist/test-utils/llm-mock.js +14577 -4
- package/dist/test-utils/llm-mock.js.map +1 -1
- package/dist/token-6GSAFR2W-LTZ7QQUP.js +61 -0
- package/dist/token-6GSAFR2W-LTZ7QQUP.js.map +1 -0
- package/dist/token-6GSAFR2W-SGVIXFCP.cjs +63 -0
- package/dist/token-6GSAFR2W-SGVIXFCP.cjs.map +1 -0
- package/dist/token-6GSAFR2W-SPYPLMBM.js +61 -0
- package/dist/token-6GSAFR2W-SPYPLMBM.js.map +1 -0
- package/dist/token-6GSAFR2W-UEEINYAN.cjs +63 -0
- package/dist/token-6GSAFR2W-UEEINYAN.cjs.map +1 -0
- package/dist/token-util-NEHG7TUY-7GMW5FXI.cjs +10 -0
- package/dist/token-util-NEHG7TUY-7GMW5FXI.cjs.map +1 -0
- package/dist/token-util-NEHG7TUY-JRJTGTAB.js +8 -0
- package/dist/token-util-NEHG7TUY-JRJTGTAB.js.map +1 -0
- package/dist/token-util-NEHG7TUY-QTFZ26EN.js +8 -0
- package/dist/token-util-NEHG7TUY-QTFZ26EN.js.map +1 -0
- package/dist/token-util-NEHG7TUY-WZL2DNCG.cjs +10 -0
- package/dist/token-util-NEHG7TUY-WZL2DNCG.cjs.map +1 -0
- package/dist/tools/index.cjs +4 -4
- package/dist/tools/index.js +1 -1
- package/dist/tools/is-vercel-tool.cjs +2 -2
- package/dist/tools/is-vercel-tool.js +1 -1
- package/dist/tools/tool-builder/builder.d.ts +2 -1
- package/dist/tools/tool-builder/builder.d.ts.map +1 -1
- package/dist/tools/tool.d.ts.map +1 -1
- package/dist/tools/types.d.ts +5 -5
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils.cjs +22 -22
- package/dist/utils.d.ts +5 -5
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/vector/embed.d.ts +3 -2
- package/dist/vector/embed.d.ts.map +1 -1
- package/dist/vector/index.cjs +5316 -16
- package/dist/vector/index.cjs.map +1 -1
- package/dist/vector/index.js +5282 -4
- package/dist/vector/index.js.map +1 -1
- package/dist/vector/vector.d.ts +15 -2
- package/dist/vector/vector.d.ts.map +1 -1
- package/dist/voice/aisdk/speech.d.ts +1 -1
- package/dist/voice/aisdk/speech.d.ts.map +1 -1
- package/dist/voice/aisdk/transcription.d.ts +1 -1
- package/dist/voice/aisdk/transcription.d.ts.map +1 -1
- package/dist/voice/composite-voice.d.ts +1 -1
- package/dist/voice/composite-voice.d.ts.map +1 -1
- package/dist/voice/index.cjs +6 -6
- package/dist/voice/index.js +1 -1
- package/dist/workflows/constants.cjs +4 -4
- package/dist/workflows/constants.d.ts +1 -1
- package/dist/workflows/constants.d.ts.map +1 -1
- package/dist/workflows/constants.js +1 -1
- package/dist/workflows/default.d.ts +9 -16
- package/dist/workflows/default.d.ts.map +1 -1
- package/dist/workflows/evented/execution-engine.d.ts +3 -2
- package/dist/workflows/evented/execution-engine.d.ts.map +1 -1
- package/dist/workflows/evented/index.cjs +10 -10
- package/dist/workflows/evented/index.js +1 -1
- package/dist/workflows/evented/step-executor.d.ts +5 -1
- package/dist/workflows/evented/step-executor.d.ts.map +1 -1
- package/dist/workflows/evented/workflow-event-processor/index.d.ts +16 -1
- package/dist/workflows/evented/workflow-event-processor/index.d.ts.map +1 -1
- package/dist/workflows/evented/workflow.d.ts +20 -0
- package/dist/workflows/evented/workflow.d.ts.map +1 -1
- package/dist/workflows/execution-engine.d.ts +25 -2
- package/dist/workflows/execution-engine.d.ts.map +1 -1
- package/dist/workflows/handlers/control-flow.d.ts +6 -5
- package/dist/workflows/handlers/control-flow.d.ts.map +1 -1
- package/dist/workflows/handlers/entry.d.ts +5 -3
- package/dist/workflows/handlers/entry.d.ts.map +1 -1
- package/dist/workflows/handlers/sleep.d.ts +4 -3
- package/dist/workflows/handlers/sleep.d.ts.map +1 -1
- package/dist/workflows/handlers/step.d.ts +5 -3
- package/dist/workflows/handlers/step.d.ts.map +1 -1
- package/dist/workflows/index.cjs +26 -22
- package/dist/workflows/index.js +1 -1
- package/dist/workflows/step.d.ts +5 -4
- package/dist/workflows/step.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +66 -14
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/utils.d.ts +11 -0
- package/dist/workflows/utils.d.ts.map +1 -1
- package/dist/workflows/workflow.d.ts +30 -9
- package/dist/workflows/workflow.d.ts.map +1 -1
- package/package.json +13 -14
- package/src/llm/model/provider-types.generated.d.ts +135 -11
- package/dist/agent/__tests__/mock-model.d.ts +0 -8
- package/dist/agent/__tests__/mock-model.d.ts.map +0 -1
- package/dist/agent/agent-types.test-d.d.ts +0 -2
- package/dist/agent/agent-types.test-d.d.ts.map +0 -1
- package/dist/ai-sdk.types.d.ts +0 -4705
- package/dist/chunk-2ULLRN4Y.js.map +0 -1
- package/dist/chunk-3E3ILV6T.cjs +0 -518
- package/dist/chunk-3E3ILV6T.cjs.map +0 -1
- package/dist/chunk-4JKEUSCC.cjs.map +0 -1
- package/dist/chunk-52RSUALV.cjs.map +0 -1
- package/dist/chunk-5PAEYE3Q.js +0 -513
- package/dist/chunk-5PAEYE3Q.js.map +0 -1
- package/dist/chunk-5Q6WAYEY.cjs.map +0 -1
- package/dist/chunk-7P6BNIJH.js.map +0 -1
- package/dist/chunk-ABJOUEVA.cjs +0 -10
- package/dist/chunk-ABJOUEVA.cjs.map +0 -1
- package/dist/chunk-BJXKH4LG.cjs.map +0 -1
- package/dist/chunk-BUKY6CTR.cjs.map +0 -1
- package/dist/chunk-C36YRTZ6.js.map +0 -1
- package/dist/chunk-CZEJQSWB.cjs.map +0 -1
- package/dist/chunk-F2GAJSBI.js.map +0 -1
- package/dist/chunk-IVV5TOMD.js.map +0 -1
- package/dist/chunk-JIGDJK2O.js.map +0 -1
- package/dist/chunk-JJ5O45LH.js.map +0 -1
- package/dist/chunk-MGCGWPQJ.cjs.map +0 -1
- package/dist/chunk-MRFUISXC.cjs.map +0 -1
- package/dist/chunk-NLNKQD2T.js +0 -7
- package/dist/chunk-NLNKQD2T.js.map +0 -1
- package/dist/chunk-O2BJW7YA.js.map +0 -1
- package/dist/chunk-OEIVMCWX.js.map +0 -1
- package/dist/chunk-PG5H6QIO.cjs.map +0 -1
- package/dist/chunk-PK2A5WBG.js.map +0 -1
- package/dist/chunk-QM5SRDJX.js.map +0 -1
- package/dist/chunk-S73Z3PBJ.cjs.map +0 -1
- package/dist/chunk-SCUWP4II.cjs.map +0 -1
- package/dist/chunk-SVLMF4UZ.cjs.map +0 -1
- package/dist/chunk-SXNQRJQD.js.map +0 -1
- package/dist/chunk-THZTRBFS.js.map +0 -1
- package/dist/chunk-TWH4PTDG.cjs.map +0 -1
- package/dist/chunk-U3XOLEPX.js.map +0 -1
- package/dist/chunk-US2U7ECW.js.map +0 -1
- package/dist/chunk-WTSZBHIZ.cjs.map +0 -1
- package/dist/chunk-YC6PJEPH.cjs.map +0 -1
- package/dist/llm/model/is-v2-model.d.ts +0 -3
- package/dist/llm/model/is-v2-model.d.ts.map +0 -1
- package/dist/models-dev-23RN2WHG.js +0 -3
- package/dist/models-dev-EO3SUIY2.cjs +0 -12
- package/dist/netlify-GXJ5D5DD.js +0 -3
- package/dist/netlify-KJLY3GFS.cjs +0 -12
- package/dist/provider-registry-3TG2KUD2.cjs +0 -40
- package/dist/provider-registry-F67Y6OF2.js +0 -3
- package/dist/tools/tool-stream-types.test-d.d.ts +0 -2
- 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
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
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
|
|
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
|
-
|
|
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:
|
|
74
|
+
getStepResult: chunkJAGQZZ43_cjs.getStepResult.bind(this, stepResults),
|
|
75
75
|
suspend: async (suspendPayload) => {
|
|
76
|
-
const { suspendData, validationError: validationError2 } = await
|
|
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
|
-
[
|
|
95
|
-
|
|
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:
|
|
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 =
|
|
142
|
-
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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
|
-
[
|
|
224
|
-
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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
|
-
[
|
|
280
|
-
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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
|
-
[
|
|
339
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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, [
|
|
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
|
|
2112
|
-
type: "
|
|
2113
|
-
|
|
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
|
|
2118
|
-
type: "
|
|
2119
|
-
|
|
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
|
|
2125
|
-
type: "
|
|
2126
|
-
|
|
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
|
|
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,
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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?.
|
|
2439
|
-
|
|
2554
|
+
await this.mastra?.getStorage()?.updateWorkflowState({
|
|
2555
|
+
workflowName: this.workflowId,
|
|
2440
2556
|
runId: this.runId,
|
|
2441
|
-
|
|
2442
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
2597
|
-
|
|
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-
|
|
2620
|
-
//# sourceMappingURL=chunk-
|
|
2752
|
+
//# sourceMappingURL=chunk-6CG7IY57.cjs.map
|
|
2753
|
+
//# sourceMappingURL=chunk-6CG7IY57.cjs.map
|