Enqueues durable workflow step execution.
The workflow contract stays declarative while this module bridges runtime intent into Oban-backed execution jobs.
Summary
Types
@type dispatch_error() :: Ecto.Changeset.t() | term()
@type dispatch_opts() :: [{:schedule_in, pos_integer()}]
@type dispatch_target() :: atom()
Functions
@spec dispatch_run(SquidMesh.Config.t(), SquidMesh.Run.t(), dispatch_opts()) :: {:ok, Oban.Job.t() | [Oban.Job.t()]} | {:error, dispatch_error()}
@spec dispatch_steps( SquidMesh.Config.t(), SquidMesh.Run.t(), [dispatch_target()], keyword() ) :: {:ok, Oban.Job.t() | [Oban.Job.t()]} | {:error, dispatch_error()}