Durable SQLite-backed sessions for dialogs, tool events, eval state, and usage.
Summary
Functions
Intentional facade for the public Vibe API boundary.
Intentional facade for the public Vibe API boundary.
Functions
@spec all_events() :: [Vibe.Trajectory.t()]
@spec append(Vibe.Trajectory.t()) :: :ok | {:error, term()}
@spec append_eval_state(Code.binding(), Macro.Env.t(), keyword()) :: :ok | {:error, term()}
@spec append_trajectory(atom(), map(), keyword()) :: Vibe.Trajectory.t()
@spec append_ui_event(Vibe.UI.Event.t(), non_neg_integer()) :: :ok | {:error, term()}
@spec append_ui_events( [{non_neg_integer(), Vibe.UI.Event.t()}], keyword() ) :: :ok | {:error, term()}
@spec branch(String.t(), non_neg_integer(), String.t()) :: :ok | {:error, term()}
@spec clear() :: :ok
@spec delete(String.t()) :: :ok | {:error, :live}
@spec dir() :: String.t()
@spec ensure_session(String.t(), DateTime.t(), keyword()) :: :ok
@spec eval_state(String.t()) :: %{binding: Code.binding(), env: Macro.Env.t()} | nil
@spec events(String.t()) :: [Vibe.Trajectory.t()]
Intentional facade for the public Vibe API boundary.
@spec list() :: [map()]
Intentional facade for the public Vibe API boundary.
@spec new_id() :: String.t()
@spec prune_empty() :: [String.t()]
@spec trajectory(keyword()) :: [Vibe.Trajectory.t()]
@spec ui_events(String.t()) :: [{non_neg_integer(), Vibe.UI.Event.t()}]
@spec ui_events_after(String.t(), non_neg_integer()) :: [ {non_neg_integer(), Vibe.UI.Event.t()} ]