Public persistence extension API.
This domain adds optional persistence paths and async integration hooks without coupling core runtime modules to extension internals.
Summary
Types
Known persistence store implementations shipped by this extension.
Store process reference implementing the ASM.Store callbacks.
Types
Functions
@spec append_event(store_ref(), ASM.Event.t()) :: :ok | {:error, ASM.Error.t()}
@spec flush_writer(pid(), timeout()) :: :ok | {:error, ASM.Error.t()}
@spec list_events(store_ref(), String.t()) :: {:ok, [ASM.Event.t()]} | {:error, ASM.Error.t()}
@spec rebuild_run(store_ref(), String.t(), String.t()) :: {:ok, %{state: ASM.Run.State.t(), result: ASM.Result.t(), events: [ASM.Event.t()]}} | {:error, ASM.Error.t()}
@spec replay_session(store_ref(), String.t(), term(), (term(), ASM.Event.t() -> term())) :: {:ok, term()} | {:error, ASM.Error.t()}
@spec reset_session(store_ref(), String.t()) :: :ok | {:error, ASM.Error.t()}
@spec start_store( store_kind(), keyword() ) :: GenServer.on_start() | {:error, ASM.Error.t()}
@spec start_writer(keyword()) :: GenServer.on_start()