Session aggregate root for run admission, approval routing, and cost totals.
Summary
Functions
Returns a specification to start this module under a supervisor.
Functions
@spec cancel_run(GenServer.server(), String.t()) :: :ok | {:error, ASM.Error.t()}
@spec checkpoint(GenServer.server()) :: {:ok, map() | nil} | {:error, ASM.Error.t()}
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec get_state(GenServer.server()) :: ASM.Session.State.t()
@spec intervene(GenServer.server(), String.t(), String.t(), keyword()) :: {:ok, String.t(), pid() | :queued} | {:error, ASM.Error.t()}
@spec pause_run(GenServer.server(), String.t()) :: :ok | {:error, ASM.Error.t()}
@spec resolve_approval(GenServer.server(), String.t(), :allow | :deny) :: :ok | {:error, ASM.Error.t()}
@spec resume_run(GenServer.server(), String.t(), keyword()) :: {:ok, String.t(), pid() | :queued} | {:error, ASM.Error.t()}
@spec start_link(keyword()) :: GenServer.on_start()
@spec submit_run(GenServer.server(), String.t(), keyword()) :: {:ok, String.t(), pid() | :queued} | {:error, ASM.Error.t()}