OptionaldeadlineThe run's deadline, epoch milliseconds (10.1) — Date.now() + 120_000. Same effect as timeoutMs; when both
are given, the earlier wins. A deadline already past stops the run before its first stage. A resumed leg has
its own: pass it again to resume().
OptionalenvExecution environment — read-only infrastructure values that propagate
through nested executors (like process.env for flowcharts).
Accessible via scope.getEnv(). Inherited by subflows automatically.
OptionalinputRuntime input data for the pipeline.
Becomes the readOnlyContext accessible via scope.getArgs().
Stages cannot overwrite these keys with setValue().
OptionalmaxOverride the maximum nested executeNode depth for this run.
Defaults to FlowchartTraverser.MAX_EXECUTE_DEPTH (500).
Depth counts TREE nesting only — fork children, decider/selector branch dispatch, recursive composition. Linear chains and loop iterations run on a flat trampoline and never consume depth, so this rarely needs raising. Must be >= 1.
OptionalmaxOverride the maximum loop iterations per node for this run (the
ContinuationResolver infinite-loop guard). Defaults to 1000.
This is the binding constraint for loop-heavy pipelines — raise it for
legitimately long loops (loopTo chains run with a flat stack, so high
values are safe; memory for state/narrative still grows per iteration).
Also bounds the run-total chain of function-bearing dynamic next
continuations (fresh nodes returned from stages) — a runaway dynamic
chain errors instead of running forever.
Propagates to subflows. Must be >= 1.
OptionalsignalAbortSignal for cooperative cancellation. Composed with env.signal and the deadline (10.1).
OptionaltimeoutTimeout in milliseconds: the run's deadline is now + timeoutMs. The run aborts when it passes (rejecting with
Execution timed out after <timeoutMs>ms), stages read it as env.deadline, and every stage records its
attempt (StageSnapshot.attempts). Honoured beside a signal since 10.1 (it used to be ignored there).
Options for FlowChartExecutor.run().