Validates portable flow definitions before compilation or execution.
Summary
Functions
Validate node types, dependency references, duplicate IDs, and cycles.
Types
@type error() :: {:unsupported_node_type, String.t(), String.t()} | {:invalid_step_binding, String.t(), String.t()} | {:invalid_transport, String.t(), transport_error()} | {:invalid_guards, String.t(), :not_an_llm_node} | Baton.DAG.validation_error()
@type transport_error() ::
:unsupported
| :not_an_llm_node
| :tuning_without_batch
| :sequential_fan_out
| :invalid_poll_interval
| :invalid_batch_deadline
Functions
@spec validate( Baton.Flow.Definition.t(), keyword() ) :: :ok | {:error, error()}
Validate node types, dependency references, duplicate IDs, and cycles.
Options
:seeded— step names whose results are supplied at compile time (Baton.Flow.Compiler'sseed_steps:). A dep naming a seeded step is satisfied even though no node in the definition carries that id — how a single-node or suffix-subgraph definition compiles. A seed colliding with a real node id is a duplicate-name error like any other.