Backplane. AiProtocol. Lifecycle
(backplane_ai_protocol v0.7.0)
Copy Markdown
Pure lifecycle transitions for one local execution handle.
Summary
Types
@type finish_status() :: :complete | :incomplete
@type status() :: :completed | :incomplete | :failed | :cancelled | :interrupted
@type t() :: %Backplane.AiProtocol.Lifecycle{terminal: map() | nil}
Functions
@spec cancel( t() | {:ok, t()} | {:error, Backplane.AiProtocol.Error.t()}, :known | :unknown ) :: {:ok, t()} | {:error, Backplane.AiProtocol.Error.t()}
@spec fail(t() | {:ok, t()} | {:error, Backplane.AiProtocol.Error.t()}, atom()) :: {:ok, t()} | {:error, Backplane.AiProtocol.Error.t()}
@spec finish( t() | {:ok, t()} | {:error, Backplane.AiProtocol.Error.t()}, finish_status(), atom() ) :: {:ok, t()} | {:error, Backplane.AiProtocol.Error.t()}
@spec interrupt( t() | {:ok, t()} | {:error, Backplane.AiProtocol.Error.t()}, :known | :unknown ) :: {:ok, t()} | {:error, Backplane.AiProtocol.Error.t()}
@spec new() :: t()
@spec start_attempt(t() | {:ok, t()} | {:error, Backplane.AiProtocol.Error.t()}) :: {:ok, t()} | {:error, Backplane.AiProtocol.Error.t()}
@spec terminal(t() | {:ok, t()} | {:error, Backplane.AiProtocol.Error.t()}) :: {:ok, map()} | {:error, Backplane.AiProtocol.Error.t()}