WorkflowStem.Projection (workflow_stem v0.2.0)

Copy Markdown View Source

Canonical UI projection contract returned by the stem runtime.

The projector layer in the host application must be able to render a workflow step and submit events without understanding workflow logic.

Summary

Types

t()

@type t() :: %WorkflowStem.Projection{
  artifacts: map(),
  available_events: [atom() | String.t()],
  blocked_reasons: map(),
  breakpoint_hits: list(),
  current_state: atom() | String.t() | nil,
  errors: [map()],
  execution_id: WorkflowStem.Types.execution_id(),
  extensions: map(),
  profile: WorkflowStem.Types.profile(),
  subscriptions: [String.t()],
  trace: list(),
  ui: ui_descriptor() | nil
}

ui_descriptor()

@type ui_descriptor() :: %{:key => atom() | String.t(), optional(:assigns) => map()}