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

Copy Markdown View Source

Persisted onboarding flow state.

Flow state is append-only with explicit transition history and persisted idempotency records so retries do not duplicate side effects.

Summary

Functions

Creates a new onboarding flow in the :started state.

Returns the Zoi schema.

Types

t()

@type t() :: %Jido.Messaging.Onboarding.Flow{
  completion_metadata: nil | nil | map(),
  directory_match: nil | nil | map(),
  idempotency: map(),
  inserted_at: %DateTime{
    calendar: term(),
    day: term(),
    hour: term(),
    microsecond: term(),
    minute: term(),
    month: term(),
    second: term(),
    std_offset: term(),
    time_zone: term(),
    utc_offset: term(),
    year: term(),
    zone_abbr: term()
  },
  onboarding_id: binary(),
  pairing: nil | nil | map(),
  request: map(),
  side_effects: [map()],
  status: :started | :directory_resolved | :paired | :completed | :cancelled,
  transitions: [map()],
  updated_at: %DateTime{
    calendar: term(),
    day: term(),
    hour: term(),
    microsecond: term(),
    minute: term(),
    month: term(),
    second: term(),
    std_offset: term(),
    time_zone: term(),
    utc_offset: term(),
    year: term(),
    zone_abbr: term()
  }
}

Functions

new(attrs)

@spec new(map()) :: t()

Creates a new onboarding flow in the :started state.

schema()

Returns the Zoi schema.