WorkflowStem.Loader (workflow_stem v0.2.0)

Copy Markdown View Source

Loads and compiles workflow specs (maps) into an internal IR (data).

This does not generate Elixir modules. For UI-authored workflows loaded from disk, the stem interprets the IR using static profile pipelines.

Summary

Functions

compile_to_ir(spec)

@spec compile_to_ir(WorkflowStem.Types.spec()) ::
  {:ok, WorkflowStem.Types.ir()} | {:error, term()}

get_or_compile(tenant_id, workflow_handle, artifact)

@spec get_or_compile(
  WorkflowStem.Types.tenant_id(),
  WorkflowStem.Types.workflow_handle(),
  map()
) ::
  {:ok, WorkflowStem.Types.ir()} | {:error, term()}

load_from_artifact(tenant_id, workflow_handle, arg3)

@spec load_from_artifact(
  WorkflowStem.Types.tenant_id(),
  WorkflowStem.Types.workflow_handle(),
  map()
) ::
  {:ok, WorkflowStem.Types.spec()} | {:error, term()}

validate_spec(spec)

@spec validate_spec(WorkflowStem.Types.spec()) :: :ok | {:error, term()}