Vibe.Plugin.UI (vibe v0.2.2)

Copy Markdown View Source

UI context exposed to plugins and plugin background workers.

Mirrors pi's small status-bar API: plugins set a keyed status string and Vibe renderers decide where/how to show it. Passing nil clears the status.

Summary

Types

session_id()

@type session_id() :: String.t()

status_key()

@type status_key() :: String.t() | atom()

Functions

clear_widget(session_id, key)

@spec clear_widget(session_id(), status_key()) :: :ok | {:error, :not_found}

notify(session_id, text, level \\ :info)

@spec notify(session_id(), String.t(), atom()) :: :ok | {:error, :not_found}

set_hidden_thinking_label(session_id, label)

@spec set_hidden_thinking_label(session_id(), String.t() | nil) ::
  :ok | {:error, :not_found}

set_progress(session_id, key, opts)

@spec set_progress(session_id(), status_key(), keyword()) ::
  :ok | {:error, :not_found}

set_status(session_id, key, text)

@spec set_status(session_id(), status_key(), String.t() | nil) ::
  :ok | {:error, :not_found}

set_title(session_id, title)

@spec set_title(session_id(), String.t() | nil) :: :ok | {:error, :not_found}

set_widget(session_id, widget)

@spec set_widget(session_id(), Vibe.Presentation.Widget.t()) ::
  :ok | {:error, :not_found}

set_widget(session_id, key, content)

@spec set_widget(session_id(), status_key(), [String.t()] | String.t()) ::
  :ok | {:error, :not_found}

set_widget(session_id, key, content, opts)

@spec set_widget(session_id(), status_key(), [String.t()] | String.t(), keyword()) ::
  :ok | {:error, :not_found}

set_working_message(session_id, message)

@spec set_working_message(session_id(), String.t() | nil) ::
  :ok | {:error, :not_found}