Host-owned trust boundary for runtime-authored workflow actions.
Runtime-authored specs should reference stable action keys rather than raw
module atoms. The host application owns the registry and maps those keys to
approved Squidie.Step or explicit Jido.Action modules before a spec can
be activated.
Summary
Functions
Resolves :action step keys in a workflow spec to approved executable modules.
Resolves action keys and validates the resulting executable spec shape.
Types
@type action_validation_error() ::
:missing_action_key
| :invalid_action_key
| :unknown_action_key
| :disabled_action_key
| :incompatible_action_module
@type registry() :: %{optional(action_key()) => registry_entry()} | keyword(registry_entry())
@type validation_error() :: Squidie.Workflow.Spec.validation_error()
Functions
@spec resolve_spec(Squidie.Workflow.Spec.t() | map() | term(), registry()) :: {:ok, Squidie.Workflow.Spec.t() | map()} | {:error, {:invalid_workflow_spec, [validation_error()]}}
Resolves :action step keys in a workflow spec to approved executable modules.
The resolved spec preserves the stable action key in both :action and step
:metadata so later planner and inspection surfaces can expose identity
without trusting user-provided module values.
@spec validate_spec(Squidie.Workflow.Spec.t() | map() | term(), registry()) :: :ok | {:error, {:invalid_workflow_spec, [validation_error()]}}
Resolves action keys and validates the resulting executable spec shape.