Vibe.Goals.Goal (vibe v0.2.3)

Copy Markdown View Source

Persisted long-running goal for a Vibe session.

Summary

Types

status()

@type status() ::
  :active | :paused | :blocked | :usage_limited | :budget_limited | :complete

t()

@type t() :: %Vibe.Goals.Goal{
  created_at: DateTime.t(),
  goal_id: String.t(),
  objective: String.t(),
  session_id: String.t(),
  status: status(),
  time_used_seconds: non_neg_integer(),
  token_budget: pos_integer() | nil,
  tokens_used: non_neg_integer(),
  updated_at: DateTime.t()
}

Functions

active?(goal)

@spec active?(t() | nil) :: boolean()

status(status)

@spec status(atom() | String.t()) :: {:ok, status()} | {:error, term()}

statuses()

@spec statuses() :: [status()]