@mastra/core 1.0.0-beta.1 → 1.0.0-beta.3
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 +171 -0
- package/dist/agent/agent-legacy.d.ts +2 -2
- package/dist/agent/agent-legacy.d.ts.map +1 -1
- package/dist/agent/agent.d.ts +1 -1
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.types.d.ts +3 -2
- package/dist/agent/agent.types.d.ts.map +1 -1
- package/dist/agent/index.cjs +9 -9
- package/dist/agent/index.js +2 -2
- package/dist/agent/message-list/index.cjs +3 -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/convert-file.d.ts +1 -1
- package/dist/agent/message-list/prompt/convert-file.d.ts.map +1 -1
- package/dist/agent/message-list/prompt/download-assets.d.ts.map +1 -1
- package/dist/agent/types.d.ts +1 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/utils.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/index.d.ts +2 -1
- package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +3 -1
- 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 +2 -1
- 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 +2 -1
- 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/chunk-3PSWNGBF.js +3 -0
- package/dist/{chunk-ZV5CC35D.js.map → chunk-3PSWNGBF.js.map} +1 -1
- package/dist/{chunk-IQO7ANVS.cjs → chunk-3VOUB4ZU.cjs} +10 -9
- package/dist/chunk-3VOUB4ZU.cjs.map +1 -0
- package/dist/{chunk-H6CZGPZD.js → chunk-4DWZ4Z6H.js} +157 -24
- package/dist/chunk-4DWZ4Z6H.js.map +1 -0
- package/dist/{chunk-ET6UOTTU.cjs → chunk-4IKJAKCD.cjs} +40 -4
- package/dist/chunk-4IKJAKCD.cjs.map +1 -0
- package/dist/{chunk-MA7TEM62.cjs → chunk-4RSHBKDJ.cjs} +244 -4
- package/dist/chunk-4RSHBKDJ.cjs.map +1 -0
- package/dist/{chunk-MV7KHWUT.js → chunk-5CWWU22H.js} +25 -4
- package/dist/chunk-5CWWU22H.js.map +1 -0
- package/dist/{chunk-JV2KH24V.js → chunk-BAMR7HKO.js} +18 -13
- package/dist/chunk-BAMR7HKO.js.map +1 -0
- package/dist/{chunk-JUBFO5J3.js → chunk-CKGIPST2.js} +829 -92
- package/dist/chunk-CKGIPST2.js.map +1 -0
- package/dist/{chunk-4CDL2QJT.js → chunk-D6EDHNGV.js} +53 -16
- package/dist/chunk-D6EDHNGV.js.map +1 -0
- package/dist/{chunk-CD56CXVE.cjs → chunk-EZVRSZMK.cjs} +13 -12
- package/dist/chunk-EZVRSZMK.cjs.map +1 -0
- package/dist/{chunk-ECFXGXWO.cjs → chunk-G36A2JRR.cjs} +18 -13
- package/dist/chunk-G36A2JRR.cjs.map +1 -0
- package/dist/{chunk-VOQ3ULMT.js → chunk-G3OOCXAI.js} +243 -3
- package/dist/chunk-G3OOCXAI.js.map +1 -0
- package/dist/{chunk-I4CXL4SR.js → chunk-GRGPQ32U.js} +5 -4
- package/dist/chunk-GRGPQ32U.js.map +1 -0
- package/dist/{chunk-WM6CK2F3.cjs → chunk-HBJPYQRN.cjs} +57 -19
- package/dist/chunk-HBJPYQRN.cjs.map +1 -0
- package/dist/{chunk-GGYKYORQ.cjs → chunk-JTXVR2RA.cjs} +27 -6
- package/dist/chunk-JTXVR2RA.cjs.map +1 -0
- package/dist/{chunk-XEVG546F.js → chunk-JXESKY4A.js} +3 -3
- package/dist/{chunk-XEVG546F.js.map → chunk-JXESKY4A.js.map} +1 -1
- package/dist/{chunk-7AHYOMHJ.js → chunk-KEURQGCQ.js} +40 -5
- package/dist/chunk-KEURQGCQ.js.map +1 -0
- package/dist/{chunk-JPGVRWWL.js → chunk-KOSW5PP5.js} +8 -2
- package/dist/chunk-KOSW5PP5.js.map +1 -0
- package/dist/chunk-MCUX2D5Q.js +420 -0
- package/dist/chunk-MCUX2D5Q.js.map +1 -0
- package/dist/chunk-N4SJ4YX7.cjs +424 -0
- package/dist/chunk-N4SJ4YX7.cjs.map +1 -0
- package/dist/{chunk-VOY2RXOC.cjs → chunk-O6NA3Z43.cjs} +6 -6
- package/dist/{chunk-VOY2RXOC.cjs.map → chunk-O6NA3Z43.cjs.map} +1 -1
- package/dist/{chunk-CINNK34N.js → chunk-OQF4H5Y2.js} +6 -5
- package/dist/chunk-OQF4H5Y2.js.map +1 -0
- package/dist/{chunk-MSWTA73A.cjs → chunk-OWX2PUFH.cjs} +866 -126
- package/dist/chunk-OWX2PUFH.cjs.map +1 -0
- package/dist/chunk-PE3V7GUL.cjs +4 -0
- package/dist/{chunk-LJFJTTZQ.cjs.map → chunk-PE3V7GUL.cjs.map} +1 -1
- package/dist/{chunk-HDJFSJCK.js → chunk-T3WZCEC4.js} +4 -3
- package/dist/chunk-T3WZCEC4.js.map +1 -0
- package/dist/{chunk-W7UH2PWL.js → chunk-VU6DVS7J.js} +179 -282
- package/dist/chunk-VU6DVS7J.js.map +1 -0
- package/dist/{chunk-DNEURYF3.cjs → chunk-VZGBVYXA.cjs} +175 -42
- package/dist/chunk-VZGBVYXA.cjs.map +1 -0
- package/dist/{chunk-2ZVKF4HP.cjs → chunk-XRIVPHXV.cjs} +184 -285
- package/dist/chunk-XRIVPHXV.cjs.map +1 -0
- package/dist/{chunk-LWBQ4P4N.cjs → chunk-YQ7NLZZ3.cjs} +54 -53
- package/dist/chunk-YQ7NLZZ3.cjs.map +1 -0
- package/dist/{chunk-CB575O6L.cjs → chunk-ZPMFINU2.cjs} +8 -2
- package/dist/chunk-ZPMFINU2.cjs.map +1 -0
- package/dist/evals/base.d.ts.map +1 -1
- package/dist/evals/index.cjs +4 -4
- package/dist/evals/index.js +1 -1
- package/dist/evals/scoreTraces/index.cjs +5 -4
- package/dist/evals/scoreTraces/index.cjs.map +1 -1
- package/dist/evals/scoreTraces/index.js +3 -2
- package/dist/evals/scoreTraces/index.js.map +1 -1
- package/dist/evals/scoreTraces/scoreTracesWorkflow.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 +26 -10
- package/dist/llm/index.d.ts +1 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +5 -1
- package/dist/llm/model/aisdk/v5/model.d.ts +47 -0
- package/dist/llm/model/aisdk/v5/model.d.ts.map +1 -0
- package/dist/llm/model/gateways/base.d.ts +8 -0
- package/dist/llm/model/gateways/base.d.ts.map +1 -1
- package/dist/llm/model/gateways/models-dev.d.ts +1 -0
- package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
- package/dist/llm/model/gateways/netlify.d.ts +2 -1
- package/dist/llm/model/gateways/netlify.d.ts.map +1 -1
- package/dist/llm/model/is-v2-model.d.ts +3 -0
- package/dist/llm/model/is-v2-model.d.ts.map +1 -0
- package/dist/llm/model/model-method-from-agent.d.ts +4 -0
- package/dist/llm/model/model-method-from-agent.d.ts.map +1 -0
- package/dist/llm/model/model.loop.d.ts +2 -2
- package/dist/llm/model/model.loop.d.ts.map +1 -1
- package/dist/llm/model/model.loop.types.d.ts +2 -0
- package/dist/llm/model/model.loop.types.d.ts.map +1 -1
- package/dist/llm/model/provider-registry.d.ts +11 -1
- package/dist/llm/model/provider-registry.d.ts.map +1 -1
- package/dist/llm/model/provider-types.generated.d.ts +56 -7
- package/dist/llm/model/registry-generator.d.ts.map +1 -1
- package/dist/llm/model/resolve-model.d.ts +1 -1
- package/dist/llm/model/resolve-model.d.ts.map +1 -1
- package/dist/llm/model/router.d.ts +12 -5
- package/dist/llm/model/router.d.ts.map +1 -1
- package/dist/llm/model/shared.types.d.ts +10 -4
- 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/network/index.d.ts.map +1 -1
- package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts +37 -0
- package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts.map +1 -0
- package/dist/loop/test-utils/fullStream.d.ts.map +1 -1
- package/dist/loop/test-utils/generateText.d.ts.map +1 -1
- package/dist/loop/test-utils/options.d.ts.map +1 -1
- package/dist/loop/test-utils/resultObject.d.ts.map +1 -1
- package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
- package/dist/loop/test-utils/textStream.d.ts.map +1 -1
- package/dist/loop/test-utils/toUIMessageStream.d.ts.map +1 -1
- package/dist/loop/test-utils/tools.d.ts.map +1 -1
- package/dist/loop/test-utils/utils.d.ts +1 -1
- package/dist/loop/test-utils/utils.d.ts.map +1 -1
- package/dist/loop/types.d.ts +8 -3
- package/dist/loop/types.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/index.d.ts +12 -12
- package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +9 -9
- 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 +4 -4
- package/dist/loop/workflows/agentic-loop/index.d.ts +13 -12
- 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 +4 -4
- package/dist/loop/workflows/stream.d.ts.map +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.d.ts +127 -3
- package/dist/mastra/index.d.ts.map +1 -1
- package/dist/mastra/index.js +1 -1
- package/dist/memory/index.cjs +8 -8
- package/dist/memory/index.js +4 -4
- package/dist/models-dev-GCVENVWA.js +3 -0
- package/dist/{models-dev-DNBKXHT4.js.map → models-dev-GCVENVWA.js.map} +1 -1
- package/dist/models-dev-TIBJR6IG.cjs +12 -0
- package/dist/{models-dev-YBEEQIX6.cjs.map → models-dev-TIBJR6IG.cjs.map} +1 -1
- package/dist/netlify-NTSNNT6F.cjs +12 -0
- package/dist/{netlify-GWNGSIRZ.cjs.map → netlify-NTSNNT6F.cjs.map} +1 -1
- package/dist/netlify-O5NJW7CF.js +3 -0
- package/dist/{netlify-7G2L5VSH.js.map → netlify-O5NJW7CF.js.map} +1 -1
- package/dist/processors/index.cjs +11 -11
- package/dist/processors/index.js +1 -1
- package/dist/provider-registry-74GMFZKT.js +3 -0
- package/dist/provider-registry-74GMFZKT.js.map +1 -0
- package/dist/provider-registry-BZP3DIIV.cjs +40 -0
- package/dist/provider-registry-BZP3DIIV.cjs.map +1 -0
- package/dist/provider-registry.json +140 -18
- package/dist/{registry-generator-MK63POJO.cjs → registry-generator-JPCV47SC.cjs} +6 -4
- package/dist/registry-generator-JPCV47SC.cjs.map +1 -0
- package/dist/{registry-generator-H4YNODDH.js → registry-generator-XD4FPZTU.js} +6 -4
- package/dist/registry-generator-XD4FPZTU.js.map +1 -0
- package/dist/relevance/index.cjs +2 -2
- package/dist/relevance/index.js +1 -1
- package/dist/server/index.cjs +2 -1
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.ts +4 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -1
- package/dist/server/index.js.map +1 -1
- package/dist/storage/domains/workflows/inmemory.d.ts +1 -1
- package/dist/storage/domains/workflows/inmemory.d.ts.map +1 -1
- package/dist/storage/index.cjs +29 -29
- package/dist/storage/index.js +1 -1
- package/dist/storage/types.d.ts +2 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/stream/RunOutput.d.ts +1 -1
- package/dist/stream/RunOutput.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/execute.d.ts +6 -3
- package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
- package/dist/stream/base/input.d.ts +1 -1
- package/dist/stream/base/output.d.ts.map +1 -1
- package/dist/stream/index.cjs +11 -11
- package/dist/stream/index.js +2 -2
- package/dist/stream/types.d.ts +4 -3
- package/dist/stream/types.d.ts.map +1 -1
- package/dist/test-utils/llm-mock.cjs +2 -2
- package/dist/test-utils/llm-mock.js +1 -1
- 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.map +1 -1
- package/dist/tools/tool.d.ts.map +1 -1
- package/dist/tools/types.d.ts +1 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/validation.d.ts +12 -0
- package/dist/tools/validation.d.ts.map +1 -1
- package/dist/utils.cjs +25 -21
- package/dist/utils.d.ts +4 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/workflows/default.d.ts +24 -8
- package/dist/workflows/default.d.ts.map +1 -1
- package/dist/workflows/evented/execution-engine.d.ts +3 -1
- 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.map +1 -1
- package/dist/workflows/evented/workflow-event-processor/index.d.ts +5 -4
- package/dist/workflows/evented/workflow-event-processor/index.d.ts.map +1 -1
- package/dist/workflows/evented/workflow-event-processor/loop.d.ts +1 -1
- package/dist/workflows/evented/workflow-event-processor/loop.d.ts.map +1 -1
- package/dist/workflows/evented/workflow-event-processor/parallel.d.ts +2 -2
- package/dist/workflows/evented/workflow-event-processor/parallel.d.ts.map +1 -1
- package/dist/workflows/evented/workflow-event-processor/sleep.d.ts +2 -2
- package/dist/workflows/evented/workflow-event-processor/sleep.d.ts.map +1 -1
- package/dist/workflows/evented/workflow.d.ts +2 -1
- package/dist/workflows/evented/workflow.d.ts.map +1 -1
- package/dist/workflows/execution-engine.d.ts +4 -2
- package/dist/workflows/execution-engine.d.ts.map +1 -1
- package/dist/workflows/index.cjs +28 -16
- package/dist/workflows/index.js +1 -1
- package/dist/workflows/step.d.ts +2 -1
- package/dist/workflows/step.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +64 -7
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/utils.d.ts +20 -0
- package/dist/workflows/utils.d.ts.map +1 -1
- package/dist/workflows/workflow.d.ts +109 -40
- package/dist/workflows/workflow.d.ts.map +1 -1
- package/package.json +12 -20
- package/src/llm/model/provider-types.generated.d.ts +56 -7
- package/dist/chunk-2ZVKF4HP.cjs.map +0 -1
- package/dist/chunk-4CDL2QJT.js.map +0 -1
- package/dist/chunk-7AHYOMHJ.js.map +0 -1
- package/dist/chunk-CB575O6L.cjs.map +0 -1
- package/dist/chunk-CD56CXVE.cjs.map +0 -1
- package/dist/chunk-CINNK34N.js.map +0 -1
- package/dist/chunk-DNEURYF3.cjs.map +0 -1
- package/dist/chunk-ECFXGXWO.cjs.map +0 -1
- package/dist/chunk-ET6UOTTU.cjs.map +0 -1
- package/dist/chunk-GGYKYORQ.cjs.map +0 -1
- package/dist/chunk-H6CZGPZD.js.map +0 -1
- package/dist/chunk-HDJFSJCK.js.map +0 -1
- package/dist/chunk-I4CXL4SR.js.map +0 -1
- package/dist/chunk-IQO7ANVS.cjs.map +0 -1
- package/dist/chunk-JPGVRWWL.js.map +0 -1
- package/dist/chunk-JUBFO5J3.js.map +0 -1
- package/dist/chunk-JV2KH24V.js.map +0 -1
- package/dist/chunk-LJFJTTZQ.cjs +0 -4
- package/dist/chunk-LWBQ4P4N.cjs.map +0 -1
- package/dist/chunk-MA7TEM62.cjs.map +0 -1
- package/dist/chunk-MSWTA73A.cjs.map +0 -1
- package/dist/chunk-MV7KHWUT.js.map +0 -1
- package/dist/chunk-VOQ3ULMT.js.map +0 -1
- package/dist/chunk-W7UH2PWL.js.map +0 -1
- package/dist/chunk-WM6CK2F3.cjs.map +0 -1
- package/dist/chunk-ZV5CC35D.js +0 -3
- package/dist/models-dev-DNBKXHT4.js +0 -3
- package/dist/models-dev-YBEEQIX6.cjs +0 -12
- package/dist/netlify-7G2L5VSH.js +0 -3
- package/dist/netlify-GWNGSIRZ.cjs +0 -12
- package/dist/registry-generator-H4YNODDH.js.map +0 -1
- package/dist/registry-generator-MK63POJO.cjs.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { validateStepInput, createDeprecationProxy, getStepResult, runCountDeprecationMessage, Workflow, Run, ExecutionEngine } from './chunk-
|
|
1
|
+
import { validateStepInput, createDeprecationProxy, getStepResult, runCountDeprecationMessage, createTimeTravelExecutionParams, validateStepResumeData, Workflow, Run, ExecutionEngine } from './chunk-CKGIPST2.js';
|
|
2
2
|
import { STREAM_FORMAT_SYMBOL, EMITTER_SYMBOL } from './chunk-NLNKQD2T.js';
|
|
3
3
|
import { getErrorFromUnknown, MastraError } from './chunk-JJ5O45LH.js';
|
|
4
|
-
import { Tool } from './chunk-
|
|
4
|
+
import { Tool } from './chunk-KEURQGCQ.js';
|
|
5
5
|
import { RequestContext } from './chunk-GRBGQ2GE.js';
|
|
6
6
|
import { MastraBase } from './chunk-S6URFGCZ.js';
|
|
7
7
|
import { RegisteredLogger } from './chunk-KJ2SW6VA.js';
|
|
@@ -27,7 +27,7 @@ var StepExecutor = class extends MastraBase {
|
|
|
27
27
|
const { inputData, validationError } = await validateStepInput({
|
|
28
28
|
prevOutput: typeof params.foreachIdx === "number" ? params.input?.[params.foreachIdx] : params.input,
|
|
29
29
|
step,
|
|
30
|
-
validateInputs: params.validateInputs ??
|
|
30
|
+
validateInputs: params.validateInputs ?? true
|
|
31
31
|
});
|
|
32
32
|
let stepInfo = {
|
|
33
33
|
...stepResults[step.id],
|
|
@@ -92,7 +92,8 @@ var StepExecutor = class extends MastraBase {
|
|
|
92
92
|
finalResult = {
|
|
93
93
|
...stepInfo,
|
|
94
94
|
status: "suspended",
|
|
95
|
-
suspendedAt: endedAt
|
|
95
|
+
suspendedAt: endedAt,
|
|
96
|
+
...stepResult ? { suspendOutput: stepResult } : {}
|
|
96
97
|
};
|
|
97
98
|
if (suspended.payload) {
|
|
98
99
|
finalResult.suspendPayload = suspended.payload;
|
|
@@ -472,6 +473,7 @@ async function processWorkflowForEach({
|
|
|
472
473
|
stepResults,
|
|
473
474
|
activeSteps,
|
|
474
475
|
resumeSteps,
|
|
476
|
+
timeTravel,
|
|
475
477
|
resumeData,
|
|
476
478
|
parentWorkflow,
|
|
477
479
|
requestContext
|
|
@@ -494,6 +496,7 @@ async function processWorkflowForEach({
|
|
|
494
496
|
executionPath: executionPath.slice(0, -1).concat([executionPath[executionPath.length - 1] + 1]),
|
|
495
497
|
resumeSteps,
|
|
496
498
|
stepResults,
|
|
499
|
+
timeTravel,
|
|
497
500
|
prevResult: currentResult,
|
|
498
501
|
resumeData,
|
|
499
502
|
activeSteps,
|
|
@@ -530,6 +533,7 @@ async function processWorkflowForEach({
|
|
|
530
533
|
executionPath: [executionPath[0], i],
|
|
531
534
|
resumeSteps,
|
|
532
535
|
stepResults,
|
|
536
|
+
timeTravel,
|
|
533
537
|
prevResult,
|
|
534
538
|
resumeData,
|
|
535
539
|
activeSteps,
|
|
@@ -561,6 +565,7 @@ async function processWorkflowForEach({
|
|
|
561
565
|
runId,
|
|
562
566
|
executionPath: [executionPath[0], idx],
|
|
563
567
|
resumeSteps,
|
|
568
|
+
timeTravel,
|
|
564
569
|
stepResults,
|
|
565
570
|
prevResult,
|
|
566
571
|
resumeData,
|
|
@@ -576,6 +581,7 @@ async function processWorkflowParallel({
|
|
|
576
581
|
stepResults,
|
|
577
582
|
activeSteps,
|
|
578
583
|
resumeSteps,
|
|
584
|
+
timeTravel,
|
|
579
585
|
prevResult,
|
|
580
586
|
resumeData,
|
|
581
587
|
parentWorkflow,
|
|
@@ -603,6 +609,7 @@ async function processWorkflowParallel({
|
|
|
603
609
|
stepResults,
|
|
604
610
|
prevResult,
|
|
605
611
|
resumeData,
|
|
612
|
+
timeTravel,
|
|
606
613
|
parentWorkflow,
|
|
607
614
|
activeSteps,
|
|
608
615
|
requestContext
|
|
@@ -618,6 +625,7 @@ async function processWorkflowConditional({
|
|
|
618
625
|
stepResults,
|
|
619
626
|
activeSteps,
|
|
620
627
|
resumeSteps,
|
|
628
|
+
timeTravel,
|
|
621
629
|
prevResult,
|
|
622
630
|
resumeData,
|
|
623
631
|
parentWorkflow,
|
|
@@ -660,6 +668,7 @@ async function processWorkflowConditional({
|
|
|
660
668
|
executionPath: executionPath.concat([idx]),
|
|
661
669
|
resumeSteps,
|
|
662
670
|
stepResults,
|
|
671
|
+
timeTravel,
|
|
663
672
|
prevResult,
|
|
664
673
|
resumeData,
|
|
665
674
|
parentWorkflow,
|
|
@@ -726,6 +735,7 @@ async function processWorkflowSleep({
|
|
|
726
735
|
stepResults,
|
|
727
736
|
activeSteps,
|
|
728
737
|
resumeSteps,
|
|
738
|
+
timeTravel,
|
|
729
739
|
prevResult,
|
|
730
740
|
resumeData,
|
|
731
741
|
parentWorkflow,
|
|
@@ -797,6 +807,7 @@ async function processWorkflowSleep({
|
|
|
797
807
|
runId,
|
|
798
808
|
executionPath: executionPath.slice(0, -1).concat([executionPath[executionPath.length - 1] + 1]),
|
|
799
809
|
resumeSteps,
|
|
810
|
+
timeTravel,
|
|
800
811
|
stepResults,
|
|
801
812
|
prevResult,
|
|
802
813
|
resumeData,
|
|
@@ -816,6 +827,7 @@ async function processWorkflowSleepUntil({
|
|
|
816
827
|
stepResults,
|
|
817
828
|
activeSteps,
|
|
818
829
|
resumeSteps,
|
|
830
|
+
timeTravel,
|
|
819
831
|
prevResult,
|
|
820
832
|
resumeData,
|
|
821
833
|
parentWorkflow,
|
|
@@ -887,6 +899,7 @@ async function processWorkflowSleepUntil({
|
|
|
887
899
|
runId,
|
|
888
900
|
executionPath: executionPath.slice(0, -1).concat([executionPath[executionPath.length - 1] + 1]),
|
|
889
901
|
resumeSteps,
|
|
902
|
+
timeTravel,
|
|
890
903
|
stepResults,
|
|
891
904
|
prevResult,
|
|
892
905
|
resumeData,
|
|
@@ -967,6 +980,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
967
980
|
resumeSteps,
|
|
968
981
|
prevResult,
|
|
969
982
|
resumeData,
|
|
983
|
+
timeTravel,
|
|
970
984
|
executionPath,
|
|
971
985
|
stepResults,
|
|
972
986
|
requestContext
|
|
@@ -979,13 +993,14 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
979
993
|
suspendedPaths: {},
|
|
980
994
|
resumeLabels: {},
|
|
981
995
|
waitingPaths: {},
|
|
996
|
+
activeStepsPath: {},
|
|
982
997
|
serializedStepGraph: workflow.serializedStepGraph,
|
|
983
998
|
timestamp: Date.now(),
|
|
984
999
|
runId,
|
|
985
|
-
status: "running",
|
|
986
1000
|
context: stepResults ?? {
|
|
987
1001
|
input: prevResult?.status === "success" ? prevResult.output : void 0
|
|
988
1002
|
},
|
|
1003
|
+
status: "running",
|
|
989
1004
|
value: {}
|
|
990
1005
|
}
|
|
991
1006
|
});
|
|
@@ -1002,6 +1017,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1002
1017
|
input: prevResult?.status === "success" ? prevResult.output : void 0
|
|
1003
1018
|
},
|
|
1004
1019
|
prevResult,
|
|
1020
|
+
timeTravel,
|
|
1005
1021
|
requestContext,
|
|
1006
1022
|
resumeData,
|
|
1007
1023
|
activeSteps: {}
|
|
@@ -1035,7 +1051,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1035
1051
|
});
|
|
1036
1052
|
}
|
|
1037
1053
|
async processWorkflowEnd(args) {
|
|
1038
|
-
const { resumeSteps, prevResult, resumeData, parentWorkflow, activeSteps, requestContext, runId } = args;
|
|
1054
|
+
const { resumeSteps, prevResult, resumeData, parentWorkflow, activeSteps, requestContext, runId, timeTravel } = args;
|
|
1039
1055
|
if (parentWorkflow) {
|
|
1040
1056
|
await this.mastra.pubsub.publish("workflows", {
|
|
1041
1057
|
type: "workflow.step.end",
|
|
@@ -1051,7 +1067,8 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1051
1067
|
activeSteps,
|
|
1052
1068
|
parentWorkflow: parentWorkflow.parentWorkflow,
|
|
1053
1069
|
parentContext: parentWorkflow,
|
|
1054
|
-
requestContext
|
|
1070
|
+
requestContext,
|
|
1071
|
+
timeTravel
|
|
1055
1072
|
}
|
|
1056
1073
|
});
|
|
1057
1074
|
}
|
|
@@ -1062,7 +1079,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1062
1079
|
});
|
|
1063
1080
|
}
|
|
1064
1081
|
async processWorkflowSuspend(args) {
|
|
1065
|
-
const { resumeSteps, prevResult, resumeData, parentWorkflow, activeSteps, runId, requestContext } = args;
|
|
1082
|
+
const { resumeSteps, prevResult, resumeData, parentWorkflow, activeSteps, runId, requestContext, timeTravel } = args;
|
|
1066
1083
|
if (parentWorkflow) {
|
|
1067
1084
|
await this.mastra.pubsub.publish("workflows", {
|
|
1068
1085
|
type: "workflow.step.end",
|
|
@@ -1083,6 +1100,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1083
1100
|
}
|
|
1084
1101
|
}
|
|
1085
1102
|
},
|
|
1103
|
+
timeTravel,
|
|
1086
1104
|
resumeData,
|
|
1087
1105
|
activeSteps,
|
|
1088
1106
|
requestContext,
|
|
@@ -1098,7 +1116,17 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1098
1116
|
});
|
|
1099
1117
|
}
|
|
1100
1118
|
async processWorkflowFail(args) {
|
|
1101
|
-
const {
|
|
1119
|
+
const {
|
|
1120
|
+
workflowId,
|
|
1121
|
+
runId,
|
|
1122
|
+
resumeSteps,
|
|
1123
|
+
prevResult,
|
|
1124
|
+
resumeData,
|
|
1125
|
+
parentWorkflow,
|
|
1126
|
+
activeSteps,
|
|
1127
|
+
requestContext,
|
|
1128
|
+
timeTravel
|
|
1129
|
+
} = args;
|
|
1102
1130
|
await this.mastra.getStorage()?.updateWorkflowState({
|
|
1103
1131
|
workflowName: workflowId,
|
|
1104
1132
|
runId,
|
|
@@ -1118,6 +1146,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1118
1146
|
resumeSteps,
|
|
1119
1147
|
stepResults: parentWorkflow.stepResults,
|
|
1120
1148
|
prevResult,
|
|
1149
|
+
timeTravel,
|
|
1121
1150
|
resumeData,
|
|
1122
1151
|
activeSteps,
|
|
1123
1152
|
requestContext,
|
|
@@ -1140,6 +1169,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1140
1169
|
stepResults,
|
|
1141
1170
|
activeSteps,
|
|
1142
1171
|
resumeSteps,
|
|
1172
|
+
timeTravel,
|
|
1143
1173
|
prevResult,
|
|
1144
1174
|
resumeData,
|
|
1145
1175
|
parentWorkflow,
|
|
@@ -1203,6 +1233,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1203
1233
|
stepResults,
|
|
1204
1234
|
activeSteps,
|
|
1205
1235
|
resumeSteps,
|
|
1236
|
+
timeTravel,
|
|
1206
1237
|
prevResult,
|
|
1207
1238
|
resumeData,
|
|
1208
1239
|
parentWorkflow,
|
|
@@ -1222,6 +1253,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1222
1253
|
stepResults,
|
|
1223
1254
|
activeSteps,
|
|
1224
1255
|
resumeSteps,
|
|
1256
|
+
timeTravel,
|
|
1225
1257
|
prevResult,
|
|
1226
1258
|
resumeData,
|
|
1227
1259
|
parentWorkflow,
|
|
@@ -1242,6 +1274,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1242
1274
|
stepResults,
|
|
1243
1275
|
activeSteps,
|
|
1244
1276
|
resumeSteps,
|
|
1277
|
+
timeTravel,
|
|
1245
1278
|
prevResult,
|
|
1246
1279
|
resumeData,
|
|
1247
1280
|
parentWorkflow,
|
|
@@ -1262,6 +1295,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1262
1295
|
stepResults,
|
|
1263
1296
|
activeSteps,
|
|
1264
1297
|
resumeSteps,
|
|
1298
|
+
timeTravel,
|
|
1265
1299
|
prevResult,
|
|
1266
1300
|
resumeData,
|
|
1267
1301
|
parentWorkflow,
|
|
@@ -1282,6 +1316,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1282
1316
|
stepResults,
|
|
1283
1317
|
activeSteps,
|
|
1284
1318
|
resumeSteps,
|
|
1319
|
+
timeTravel,
|
|
1285
1320
|
prevResult,
|
|
1286
1321
|
resumeData,
|
|
1287
1322
|
parentWorkflow,
|
|
@@ -1374,6 +1409,47 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1374
1409
|
requestContext
|
|
1375
1410
|
}
|
|
1376
1411
|
});
|
|
1412
|
+
} else if (timeTravel && timeTravel.steps?.length > 1 && timeTravel.steps[0] === step.step.id) {
|
|
1413
|
+
const snapshot = await this.mastra?.getStorage()?.loadWorkflowSnapshot({
|
|
1414
|
+
workflowName: step.step.id,
|
|
1415
|
+
runId
|
|
1416
|
+
}) ?? { context: {} };
|
|
1417
|
+
const timeTravelParams = createTimeTravelExecutionParams({
|
|
1418
|
+
steps: timeTravel.steps.slice(1),
|
|
1419
|
+
inputData: timeTravel.inputData,
|
|
1420
|
+
resumeData: timeTravel.resumeData,
|
|
1421
|
+
context: timeTravel.nestedStepResults?.[step.step.id] ?? {},
|
|
1422
|
+
nestedStepsContext: timeTravel.nestedStepResults ?? {},
|
|
1423
|
+
snapshot,
|
|
1424
|
+
graph: step.step.buildExecutionGraph()
|
|
1425
|
+
});
|
|
1426
|
+
const nestedPrevStep = getStep(step.step, timeTravelParams.executionPath);
|
|
1427
|
+
const nestedPrevResult = timeTravelParams.stepResults[nestedPrevStep?.id ?? "input"];
|
|
1428
|
+
await this.mastra.pubsub.publish("workflows", {
|
|
1429
|
+
type: "workflow.start",
|
|
1430
|
+
runId,
|
|
1431
|
+
data: {
|
|
1432
|
+
workflowId: step.step.id,
|
|
1433
|
+
parentWorkflow: {
|
|
1434
|
+
stepId: step.step.id,
|
|
1435
|
+
workflowId,
|
|
1436
|
+
runId,
|
|
1437
|
+
executionPath,
|
|
1438
|
+
resumeSteps,
|
|
1439
|
+
stepResults,
|
|
1440
|
+
timeTravel,
|
|
1441
|
+
input: prevResult,
|
|
1442
|
+
parentWorkflow
|
|
1443
|
+
},
|
|
1444
|
+
executionPath: timeTravelParams.executionPath,
|
|
1445
|
+
runId: randomUUID(),
|
|
1446
|
+
stepResults: timeTravelParams.stepResults,
|
|
1447
|
+
prevResult: { status: "success", output: nestedPrevResult?.payload },
|
|
1448
|
+
timeTravel: timeTravelParams,
|
|
1449
|
+
activeSteps,
|
|
1450
|
+
requestContext
|
|
1451
|
+
}
|
|
1452
|
+
});
|
|
1377
1453
|
} else {
|
|
1378
1454
|
await this.mastra.pubsub.publish("workflows", {
|
|
1379
1455
|
type: "workflow.start",
|
|
@@ -1429,6 +1505,21 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1429
1505
|
for (const [key, value] of Object.entries(requestContext)) {
|
|
1430
1506
|
rc.set(key, value);
|
|
1431
1507
|
}
|
|
1508
|
+
const { resumeData: timeTravelResumeData, validationError: timeTravelResumeValidationError } = await validateStepResumeData({
|
|
1509
|
+
resumeData: timeTravel?.stepResults[step.step.id]?.status === "suspended" ? timeTravel?.resumeData : void 0,
|
|
1510
|
+
step: step.step
|
|
1511
|
+
});
|
|
1512
|
+
let resumeDataToUse;
|
|
1513
|
+
if (timeTravelResumeData && !timeTravelResumeValidationError) {
|
|
1514
|
+
resumeDataToUse = timeTravelResumeData;
|
|
1515
|
+
} else if (timeTravelResumeData && timeTravelResumeValidationError) {
|
|
1516
|
+
this.mastra.getLogger()?.warn("Time travel resume data validation failed", {
|
|
1517
|
+
stepId: step.step.id,
|
|
1518
|
+
error: timeTravelResumeValidationError.message
|
|
1519
|
+
});
|
|
1520
|
+
} else if (resumeSteps?.length > 0 && resumeSteps?.[0] === step.step.id) {
|
|
1521
|
+
resumeDataToUse = resumeData;
|
|
1522
|
+
}
|
|
1432
1523
|
const stepResult = await this.stepExecutor.execute({
|
|
1433
1524
|
workflowId,
|
|
1434
1525
|
step: step.step,
|
|
@@ -1439,7 +1530,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1439
1530
|
emitter: ee,
|
|
1440
1531
|
requestContext: rc,
|
|
1441
1532
|
input: prevResult?.output,
|
|
1442
|
-
resumeData:
|
|
1533
|
+
resumeData: resumeDataToUse,
|
|
1443
1534
|
retryCount,
|
|
1444
1535
|
foreachIdx: step.type === "foreach" ? executionPath[1] : void 0,
|
|
1445
1536
|
validateInputs: workflow.options.validateInputs
|
|
@@ -1493,6 +1584,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1493
1584
|
executionPath,
|
|
1494
1585
|
resumeSteps,
|
|
1495
1586
|
stepResults,
|
|
1587
|
+
timeTravel,
|
|
1496
1588
|
prevResult,
|
|
1497
1589
|
activeSteps,
|
|
1498
1590
|
requestContext,
|
|
@@ -1533,6 +1625,8 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1533
1625
|
runId,
|
|
1534
1626
|
executionPath,
|
|
1535
1627
|
resumeSteps,
|
|
1628
|
+
timeTravel,
|
|
1629
|
+
//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.
|
|
1536
1630
|
stepResults,
|
|
1537
1631
|
prevResult: stepResult,
|
|
1538
1632
|
activeSteps,
|
|
@@ -1547,6 +1641,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1547
1641
|
runId,
|
|
1548
1642
|
executionPath,
|
|
1549
1643
|
resumeSteps,
|
|
1644
|
+
timeTravel,
|
|
1550
1645
|
prevResult,
|
|
1551
1646
|
parentWorkflow,
|
|
1552
1647
|
stepResults,
|
|
@@ -1636,6 +1731,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1636
1731
|
resumeSteps,
|
|
1637
1732
|
parentWorkflow,
|
|
1638
1733
|
stepResults,
|
|
1734
|
+
timeTravel,
|
|
1639
1735
|
prevResult,
|
|
1640
1736
|
activeSteps,
|
|
1641
1737
|
requestContext
|
|
@@ -1669,7 +1765,8 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1669
1765
|
stepResults,
|
|
1670
1766
|
prevResult,
|
|
1671
1767
|
activeSteps,
|
|
1672
|
-
requestContext
|
|
1768
|
+
requestContext,
|
|
1769
|
+
timeTravel
|
|
1673
1770
|
}
|
|
1674
1771
|
});
|
|
1675
1772
|
await this.mastra.pubsub.publish(`workflow.events.v2.${runId}`, {
|
|
@@ -1746,7 +1843,8 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1746
1843
|
stepResults,
|
|
1747
1844
|
prevResult: { status: "success", output: allResults },
|
|
1748
1845
|
activeSteps,
|
|
1749
|
-
requestContext
|
|
1846
|
+
requestContext,
|
|
1847
|
+
timeTravel
|
|
1750
1848
|
}
|
|
1751
1849
|
});
|
|
1752
1850
|
} else if (step?.type === "foreach") {
|
|
@@ -1762,7 +1860,8 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1762
1860
|
stepResults,
|
|
1763
1861
|
prevResult: { ...prevResult, output: prevResult?.payload },
|
|
1764
1862
|
activeSteps,
|
|
1765
|
-
requestContext
|
|
1863
|
+
requestContext,
|
|
1864
|
+
timeTravel
|
|
1766
1865
|
}
|
|
1767
1866
|
});
|
|
1768
1867
|
} else if (executionPath[0] >= workflow.stepGraph.length - 1) {
|
|
@@ -1791,7 +1890,8 @@ var WorkflowEventProcessor = class extends EventProcessor {
|
|
|
1791
1890
|
stepResults,
|
|
1792
1891
|
prevResult,
|
|
1793
1892
|
activeSteps,
|
|
1794
|
-
requestContext
|
|
1893
|
+
requestContext,
|
|
1894
|
+
timeTravel
|
|
1795
1895
|
}
|
|
1796
1896
|
});
|
|
1797
1897
|
}
|
|
@@ -1927,7 +2027,8 @@ function cloneWorkflow(workflow, opts) {
|
|
|
1927
2027
|
inputSchema: workflow.inputSchema,
|
|
1928
2028
|
outputSchema: workflow.outputSchema,
|
|
1929
2029
|
steps: workflow.stepDefs,
|
|
1930
|
-
mastra: workflow.mastra
|
|
2030
|
+
mastra: workflow.mastra,
|
|
2031
|
+
options: workflow.options
|
|
1931
2032
|
});
|
|
1932
2033
|
wf.setStepFlow(workflow.stepGraph);
|
|
1933
2034
|
wf.commit();
|
|
@@ -1939,7 +2040,12 @@ function cloneStep(step, opts) {
|
|
|
1939
2040
|
description: step.description,
|
|
1940
2041
|
inputSchema: step.inputSchema,
|
|
1941
2042
|
outputSchema: step.outputSchema,
|
|
2043
|
+
suspendSchema: step.suspendSchema,
|
|
2044
|
+
resumeSchema: step.resumeSchema,
|
|
2045
|
+
stateSchema: step.stateSchema,
|
|
1942
2046
|
execute: step.execute,
|
|
2047
|
+
retries: step.retries,
|
|
2048
|
+
scorers: step.scorers,
|
|
1943
2049
|
component: step.component
|
|
1944
2050
|
};
|
|
1945
2051
|
}
|
|
@@ -2070,7 +2176,7 @@ function createWorkflow(params) {
|
|
|
2070
2176
|
mastra: params.mastra,
|
|
2071
2177
|
eventProcessor,
|
|
2072
2178
|
options: {
|
|
2073
|
-
validateInputs: params.options?.validateInputs ??
|
|
2179
|
+
validateInputs: params.options?.validateInputs ?? true,
|
|
2074
2180
|
shouldPersistSnapshot: params.options?.shouldPersistSnapshot ?? (() => true),
|
|
2075
2181
|
tracingPolicy: params.options?.tracingPolicy
|
|
2076
2182
|
}
|
|
@@ -2083,6 +2189,7 @@ function createWorkflow(params) {
|
|
|
2083
2189
|
var EventedWorkflow = class extends Workflow {
|
|
2084
2190
|
constructor(params) {
|
|
2085
2191
|
super(params);
|
|
2192
|
+
this.engineType = "evented";
|
|
2086
2193
|
}
|
|
2087
2194
|
__registerMastra(mastra) {
|
|
2088
2195
|
super.__registerMastra(mastra);
|
|
@@ -2099,7 +2206,9 @@ var EventedWorkflow = class extends Workflow {
|
|
|
2099
2206
|
mastra: this.mastra,
|
|
2100
2207
|
retryConfig: this.retryConfig,
|
|
2101
2208
|
cleanup: () => this.runs.delete(runIdToUse),
|
|
2102
|
-
workflowSteps: this.steps
|
|
2209
|
+
workflowSteps: this.steps,
|
|
2210
|
+
validateInputs: this.options?.validateInputs,
|
|
2211
|
+
workflowEngineType: this.engineType
|
|
2103
2212
|
});
|
|
2104
2213
|
this.runs.set(runIdToUse, run);
|
|
2105
2214
|
const shouldPersistSnapshot = this.options?.shouldPersistSnapshot?.({
|
|
@@ -2118,6 +2227,7 @@ var EventedWorkflow = class extends Workflow {
|
|
|
2118
2227
|
context: {},
|
|
2119
2228
|
activePaths: [],
|
|
2120
2229
|
serializedStepGraph: this.serializedStepGraph,
|
|
2230
|
+
activeStepsPath: {},
|
|
2121
2231
|
suspendedPaths: {},
|
|
2122
2232
|
resumeLabels: {},
|
|
2123
2233
|
waitingPaths: {},
|
|
@@ -2156,15 +2266,16 @@ var EventedRun = class extends Run {
|
|
|
2156
2266
|
snapshot: {
|
|
2157
2267
|
runId: this.runId,
|
|
2158
2268
|
serializedStepGraph: this.serializedStepGraph,
|
|
2269
|
+
status: "running",
|
|
2159
2270
|
value: {},
|
|
2160
2271
|
context: {},
|
|
2161
2272
|
requestContext: Object.fromEntries(requestContext.entries()),
|
|
2162
2273
|
activePaths: [],
|
|
2274
|
+
activeStepsPath: {},
|
|
2163
2275
|
suspendedPaths: {},
|
|
2164
2276
|
resumeLabels: {},
|
|
2165
2277
|
waitingPaths: {},
|
|
2166
|
-
timestamp: Date.now()
|
|
2167
|
-
status: "running"
|
|
2278
|
+
timestamp: Date.now()
|
|
2168
2279
|
}
|
|
2169
2280
|
});
|
|
2170
2281
|
const inputDataToUse = await this._validateInput(inputData);
|
|
@@ -2202,9 +2313,14 @@ var EventedRun = class extends Run {
|
|
|
2202
2313
|
}
|
|
2203
2314
|
// TODO: stream
|
|
2204
2315
|
async resume(params) {
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2316
|
+
let steps = [];
|
|
2317
|
+
if (typeof params.step === "string") {
|
|
2318
|
+
steps = params.step.split(".");
|
|
2319
|
+
} else {
|
|
2320
|
+
steps = (Array.isArray(params.step) ? params.step : [params.step]).map(
|
|
2321
|
+
(step) => typeof step === "string" ? step : step?.id
|
|
2322
|
+
);
|
|
2323
|
+
}
|
|
2208
2324
|
if (steps.length === 0) {
|
|
2209
2325
|
throw new Error("No steps provided to resume");
|
|
2210
2326
|
}
|
|
@@ -2402,6 +2518,23 @@ var EventedExecutionEngine = class extends ExecutionEngine {
|
|
|
2402
2518
|
format: params.format
|
|
2403
2519
|
}
|
|
2404
2520
|
});
|
|
2521
|
+
} else if (params.timeTravel) {
|
|
2522
|
+
const prevStep = getStep(this.mastra.getWorkflow(params.workflowId), params.timeTravel.executionPath);
|
|
2523
|
+
const prevResult = params.timeTravel.stepResults[prevStep?.id ?? "input"];
|
|
2524
|
+
await pubsub.publish("workflows", {
|
|
2525
|
+
type: "workflow.start",
|
|
2526
|
+
runId: params.runId,
|
|
2527
|
+
data: {
|
|
2528
|
+
workflowId: params.workflowId,
|
|
2529
|
+
runId: params.runId,
|
|
2530
|
+
executionPath: params.timeTravel.executionPath,
|
|
2531
|
+
stepResults: params.timeTravel.stepResults,
|
|
2532
|
+
timeTravel: params.timeTravel,
|
|
2533
|
+
prevResult: { status: "success", output: prevResult?.payload },
|
|
2534
|
+
requestContext: Object.fromEntries(params.requestContext.entries()),
|
|
2535
|
+
format: params.format
|
|
2536
|
+
}
|
|
2537
|
+
});
|
|
2405
2538
|
} else {
|
|
2406
2539
|
await pubsub.publish("workflows", {
|
|
2407
2540
|
type: "workflow.start",
|
|
@@ -2460,5 +2593,5 @@ var EventedExecutionEngine = class extends ExecutionEngine {
|
|
|
2460
2593
|
};
|
|
2461
2594
|
|
|
2462
2595
|
export { EventedExecutionEngine, EventedRun, EventedWorkflow, StepExecutor, WorkflowEventProcessor, cloneStep, cloneWorkflow, createStep, createWorkflow };
|
|
2463
|
-
//# sourceMappingURL=chunk-
|
|
2464
|
-
//# sourceMappingURL=chunk-
|
|
2596
|
+
//# sourceMappingURL=chunk-4DWZ4Z6H.js.map
|
|
2597
|
+
//# sourceMappingURL=chunk-4DWZ4Z6H.js.map
|