Vibe.Goals (vibe v0.2.2)

Copy Markdown View Source

Persisted long-running session goals and model-facing goal helpers.

Summary

Functions

add_usage(session_id, usage)

@spec add_usage(String.t(), map() | nil) ::
  {:ok, Vibe.Goals.Goal.t()} | :ok | {:error, term()}

blocked(session_id \\ Vibe.Session.Current.session_id())

@spec blocked(String.t() | nil) :: {:ok, Vibe.Goals.Goal.t()} | {:error, term()}

clear(session_id \\ Vibe.Session.Current.session_id())

@spec clear(String.t() | nil) :: :ok | {:error, term()}

complete(session_id \\ Vibe.Session.Current.session_id())

@spec complete(String.t() | nil) :: {:ok, Vibe.Goals.Goal.t()} | {:error, term()}

context_block(session_id)

@spec context_block(String.t()) :: String.t()

get(session_id \\ Vibe.Session.Current.session_id())

@spec get(String.t() | nil) :: Vibe.Goals.Goal.t() | nil

pause(session_id \\ Vibe.Session.Current.session_id())

@spec pause(String.t() | nil) :: {:ok, Vibe.Goals.Goal.t()} | {:error, term()}

resume(session_id \\ Vibe.Session.Current.session_id())

@spec resume(String.t() | nil) :: {:ok, Vibe.Goals.Goal.t()} | {:error, term()}

set(session_id, objective, opts \\ [])

@spec set(String.t(), String.t(), keyword()) ::
  {:ok, Vibe.Goals.Goal.t()} | {:error, term()}

summary(goal)

@spec summary(Vibe.Goals.Goal.t() | nil) :: String.t()

update_status(session_id \\ Vibe.Session.Current.session_id(), status)

@spec update_status(String.t() | nil, Vibe.Goals.Goal.status() | String.t()) ::
  {:ok, Vibe.Goals.Goal.t()} | {:error, term()}

validate_objective(objective)

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