Loads and validates host application configuration for Squid Mesh.
This contract is intentionally small so application teams only configure the runtime boundary once, while workflow authors stay focused on declarative workflow definitions and public API usage.
Summary
Types
@type execution_option() :: {:name, module() | atom()} | {:queue, atom()} | {:stale_step_timeout, stale_step_timeout()}
@type raw_config() :: [repo: module(), execution: [execution_option()] | nil]
@type stale_step_timeout() :: non_neg_integer() | :disabled
@type t() :: %SquidMesh.Config{ execution_name: module() | atom(), execution_queue: atom(), repo: module(), stale_step_timeout: stale_step_timeout() }
Functions
@spec load(keyword()) :: {:ok, t()} | {:error, config_error()}