Squidie.Step.Elixir (squidie v0.3.0)

Copy Markdown View Source

Native action for invoking host-approved Elixir adapters from runtime specs.

Hosts expose this module through the action registry and provide adapter definitions through registry-owned action_opts. Runtime-authored specs name stable adapter keys and params only; they never provide modules, functions, or executable code.

Summary

Functions

Validates planned Elixir action input with host-owned adapter options.

Types

adapter_definition()

@type adapter_definition() ::
  module()
  | {module(), atom()}
  | keyword()
  | %{optional(:module) => module(), optional(:function) => atom()}
  | %{optional(String.t()) => term()}

adapter_key()

@type adapter_key() :: atom() | String.t()

Functions

validate_action_input(input, opts)

@spec validate_action_input(
  term(),
  keyword()
) :: :ok | {:error, map()}

Validates planned Elixir action input with host-owned adapter options.