Jido.Messaging.Onboarding (Jido Messaging v1.0.0)

Copy Markdown View Source

Onboarding flow orchestration APIs.

Flows are persisted in the configured storage adapter and executed by supervisor-managed workers keyed by onboarding ID.

Summary

Functions

Advance an onboarding flow with a deterministic transition.

Fetch onboarding flow state without changing worker state.

Resume an onboarding flow from persisted state.

Start (or resume) an onboarding flow.

Returns the PID for a flow worker, if it is currently running.

Types

transition()

Functions

advance(instance_module, onboarding_id, transition, metadata \\ %{}, opts \\ [])

@spec advance(module(), String.t(), transition(), map(), keyword()) ::
  {:ok, %{flow: Jido.Messaging.Onboarding.Flow.t(), transition: map()}}
  | {:error, term()}

Advance an onboarding flow with a deterministic transition.

cancel(instance_module, onboarding_id, metadata \\ %{}, opts \\ [])

@spec cancel(module(), String.t(), map(), keyword()) ::
  {:ok, %{flow: Jido.Messaging.Onboarding.Flow.t(), transition: map()}}
  | {:error, term()}

Cancel an onboarding flow.

complete(instance_module, onboarding_id, metadata \\ %{}, opts \\ [])

@spec complete(module(), String.t(), map(), keyword()) ::
  {:ok, %{flow: Jido.Messaging.Onboarding.Flow.t(), transition: map()}}
  | {:error, term()}

Complete an onboarding flow.

get(instance_module, onboarding_id)

@spec get(module(), String.t()) ::
  {:ok, Jido.Messaging.Onboarding.Flow.t()} | {:error, term()}

Fetch onboarding flow state without changing worker state.

resume(instance_module, onboarding_id)

@spec resume(module(), String.t()) ::
  {:ok, Jido.Messaging.Onboarding.Flow.t()} | {:error, term()}

Resume an onboarding flow from persisted state.

start(instance_module, attrs, opts \\ [])

@spec start(module(), map(), keyword()) ::
  {:ok, Jido.Messaging.Onboarding.Flow.t()} | {:error, term()}

Start (or resume) an onboarding flow.

whereis_worker(instance_module, onboarding_id)

@spec whereis_worker(module(), String.t()) :: pid() | nil

Returns the PID for a flow worker, if it is currently running.