Baton.Flow.Validator (Baton v0.27.4)

Copy Markdown View Source

Validates portable flow definitions before compilation or execution.

Summary

Functions

Validate node types, dependency references, duplicate IDs, and cycles.

Types

error()

@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()

transport_error()

@type transport_error() ::
  :unsupported
  | :not_an_llm_node
  | :tuning_without_batch
  | :sequential_fan_out
  | :invalid_poll_interval
  | :invalid_batch_deadline

Functions

validate(definition, opts \\ [])

@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's seed_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.