WorkflowStem.Adapters.CapabilityRunner behaviour (workflow_stem v0.2.0)

Copy Markdown View Source

Interface adapter for capability execution.

Capabilities must be addressed by stable identifiers (not Elixir module names), and must always preserve tenant lineage (GR-001).

Summary

Types

capability_handle()

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

Callbacks

execute(tenant_id, capability_handle, map)

@callback execute(WorkflowStem.Types.tenant_id(), capability_handle(), map()) ::
  {:ok, term()} | {:wait, term()} | {:error, term()} | {:error, term(), map()}