API Reference vibe v#0.2.0

Copy Markdown View Source

Modules

Minimal BEAM-native coding-agent substrate.

Model-facing AST search and replace tool.

Model-facing file edit tool.

Model-facing Elixir eval tool.

Model-facing LSP interaction tool.

Model-facing file and image read tool.

Shared tool result formatting.

Tool result struct for Jido action outputs.

Model-facing file write tool.

Convenience helpers for starting Vibe's Jido-backed coding agent.

Minimal Jido.AI ReAct agent wired to Vibe's coding tools.

Injects image tool outputs as multimodal follow-up user content.

Ephemeral runtime memory scoped by running agent/subagent id.

Agent startup option resolution and validation.

User-editable agent role/model profiles backed by TOML.

Dispatches Jido streaming lifecycle signals to per-agent callbacks.

Jido plugin that translates runtime and tool signals into Vibe stream callbacks.

Opt-in NDJSON trace for assistant streaming order diagnostics.

OTP application supervisor.

Auth provider registry and dispatch.

ChatGPT/Codex OAuth login compatible with pi's OpenAI Codex flow.

Local HTTP server for OAuth redirect callbacks.

OpenCode API-key authentication for opencode and opencode-go providers.

OpenRouter API-key authentication.

Behaviour for authentication providers.

JSON-backed credential storage under ~/.vibe/auth.json.

Small immutable budget struct for recursive/subagent work.

Compile-time build metadata embedding.

CLI entrypoint for argv parsing and command dispatch.

CLI command dispatch and behaviour definition.

CLI attach command: connect to a live session.

CLI connect command: connect to a trusted remote Vibe node.

Default CLI entrypoint: prompt, TUI, eval, and flag dispatch.

CLI command for running external gateway backends.

CLI help command: built-in topic browser.

CLI new command: create a fresh server session.

CLI search command: FTS query shortcut.

CLI send command: dispatch a prompt to a session by ID.

CLI server command: start, stop, restart, status.

CLI sessions command: list and prune sessions.

CLI skill command: list, show, and manage skills.

CLI storage command: migrate, search, import, vacuum.

CLI subagents command: list and inspect subagent jobs.

CLI tui-trace command: replay TUI trace recordings.

Escript entrypoint for the standalone vibe binary.

Session-scoped log file management for CLI runs.

CLI output formatting: ok/error results, tables, JSON.

CLI argv parser using OptionParser strict mode.

Prompt execution for print mode and TUI startup.

Server subcommand dispatch: start, stop, restart, status.

Session listing, prune, and attach helpers for CLI.

Session list filtering by status, age, and flags.

Storage subcommand dispatch: migrate, search, import.

Subagent listing and inspection for CLI.

Single ExAST gateway for structural Elixir search, replace, and diff.

Structured AST operation result.

Line-level text diff for AST replace previews.

Validation gates Vibe can run before and after self-modification.

Single Expert LSP gateway.

LSP JSON-RPC client for language server communication.

Codex subscription usage/limit awareness.

Supervised OS command execution for eval sessions and agents.

Supervised background command job.

Structured result from a supervised command execution.

Streaming output capture for long-running commands.

Task-based command execution worker.

Context compaction for Vibe sessions.

LLM-driven context compaction for long sessions.

Retrieves relevant context from storage and memory for prompts.

Serializes session history for compaction and context injection.

Compile-time gated debug hooks.

Built-in task-focused documentation for Vibe users.

Runtime environment detection helpers.

Runtime Elixir evaluation with captured IO, timeouts, and session state.

Per-session stateful Elixir evaluator process.

Structured eval display result.

Sandboxed Elixir evaluation via Dune for untrusted input.

File read, write, and edit operations for agent tools.

Stores large tool artifacts outside inline session JSON payloads.

Durable reference to an image artifact stored outside inline JSON.

Typed result returned by file reads.

Shared human-readable formatting helpers.

Introspection helpers for external gateway runtimes.

Behaviour implemented by outbound messaging gateway adapters.

Behaviour for external chat gateway backends.

Dispatches normalized gateway messages into Vibe semantic sessions.

Normalized media attachment metadata from an external chat gateway.

Normalized inbound message from an external chat gateway.

Shared gateway option parsing helpers.

Generic runtime for external chat gateways.

Bridges Vibe session assistant stream events back to an external gateway.

Deterministic session keys for external gateway conversations.

Origin metadata for a message entering Vibe through an external gateway.

Converts streamed assistant text into throttled gateway message edits.

Supervisor for configured external gateway runtimes.

Convenience API for starting the Telegram gateway backend.

Outbound Telegram Bot API adapter for the generic Vibe gateway contract.

Authorization and group trigger rules for Telegram gateway messages.

Telegram implementation of the generic gateway backend contract.

Runtime configuration for the Telegram gateway.

Telegram long-polling inbound transport for the generic gateway runtime.

Telegram-specific assistant stream consumer.

Telegram-safe text rendering and splitting helpers.

Converts Telegram update maps/structs into Vibe gateway messages.

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

Persisted long-running goal for a Vibe session.

Image data helpers for model, eval, and renderer boundaries.

Pure Elixir image dimension parsers for supported inline image formats.

Resize images through pluggable supervised command backends.

Behaviour for image resize backends.

Shared helpers for command-backed image resize backends.

ImageMagick-backed image resize backend.

macOS sips-backed image resize backend.

Image resize backend powered by libvips' vips CLI.

JSON value normalization for Vibe domain encoders.

Jido agent server lifecycle bridge.

Eval-friendly Markdown rendering helpers.

Typed Markdown display value for eval and UI boundaries.

Converts structured Vibe/plugin data into Markdown for eval, TUI, and web rendering.

Curated, durable memory for profile, workspace, session, and agent scopes.

Default memory provider backed by SQLite storage.

Curated long-term memory lifecycle: turn hooks, sync, and recall.

Behaviour for memory providers managed by Vibe.Memory.Manager.

Model selection and provider discovery.

Provider-neutral model content parts.

Image content part with inline base64 data.

Text content part.

Direct LLM generation bypassing the Jido agent loop.

Model effort values used by agent profiles and sessions.

Normalizes model/provider failures into semantic UI errors.

Fuzzy model resolution with model:effort shorthand.

Model and effort switching helpers.

Applies provider transport policy to model request options.

Pools reusable ReqLLM Responses WebSocket sessions per Vibe session and model.

Normalized model usage extraction for session accounting.

Small OTP/runtime introspection helpers intended for Vibe.Eval.

Shared parameter coercion helpers.

Canonical filesystem paths for Vibe runtime data.

Behaviour for Vibe plugins.

Describes an Elixir API exposed by a plugin for stateful eval sessions.

Context passed to plugins and plugin workers.

Automatic plugin module discovery from loaded applications.

Supervised plugin lifecycle, discovery, and dispatch.

UI context exposed to plugins and plugin background workers.

ETS-backed session waiter registry for interactive plugins.

Plugin: desktop notification when the agent finishes or fails.

Desktop notifications via terminal OSC escape sequences.

Plugin: interactive question tool for the agent.

Model-facing action: ask the user a question with selectable options.

Plugin: load rule files from ~/.vibe/rules/ into the system prompt.

Load rule files from ~/.vibe/rules/ into the system prompt.

Plugin: block destructive commands until the user confirms.

Safety checks for potentially destructive commands.

Web search plugin providing the Web eval alias.

Backwards-compatible web API exposed by the WebSearch plugin.

Typed web search result for plugin UI.

Thin profiling helpers callable through Vibe.Eval.

Parses lightweight prompt file attachments such as @image.png.

Saves a PNG image from the system clipboard for prompt attachment.

Compile-time prompt embedding from priv/prompts/*.md.

Remote Vibe connection facade.

Persisted trusted remote endpoints at ~/.vibe/known-nodes.json.

Long-polling SSH attachment bridge for session UI events.

OTP SSH daemon for constrained remote Vibe operations.

SSH host key management for the Vibe OTP SSH daemon.

Versioned JSON command protocol for the Vibe SSH transport.

Trusted remote session lifecycle commands over Erlang distribution.

Behaviour for remote Vibe transports.

Trusted remote transport backed by Erlang distribution.

SSH transport for constrained remote Vibe commands.

Ecto repo for the local SQLite database.

Behaviour for stateful evaluation runtimes.

Renderer-neutral runtime alert surfaced by Vibe system services.

Optional JavaScript/TypeScript evaluation through QuickBEAM.

Optional Python evaluation through Pythonx.

Stateful standalone BEAM runtime for Livebook-style script evaluation.

Declarative isolation policy for Vibe evaluation runtimes.

Run Livebook-style Elixir scripts, including Mix.install/2.

Development-only helpers for patching Vibe and continuing in the same BEAM.

Background session server for tmux-style detached operation.

Erlang distribution cookie management for the background server.

Server node metadata persistence for client discovery.

TLS certificate management for Erlang distribution.

Server-owned Vibe session process.

Session list queries combining live processes and stored records.

Lightweight session preview extraction for dashboards.

Registry-backed live session process tracker.

Prompt submission, cancellation, memory injection, and result recording.

Durable SQLite-backed sessions for dialogs, tool events, eval state, and usage.

JSON codec for session event serialization and deserialization.

Session listing queries against SQLite storage.

Session summary extraction for dashboards and previews.

Procedural memory for Vibe.

Trusted executable Elixir skill evaluation.

YAML frontmatter parser for skill files.

Skill discovery from priv, project, and user directories.

Behaviour and tiny DSL for executable Vibe skills.

SQLite-backed durable state: sessions, events, memory, telemetry.

SQLite FTS5 full-text search query helpers.

FTS5 virtual table DDL helpers for migrations.

Session import dispatcher for external sources.

Pi JSONL session importer.

Behaviour for session import providers.

Ecto migration runner for the local SQLite database.

Migration: FTS5 virtual tables for session and memory search.

Migration: persisted session goals.

Migration: core storage tables for sessions, events, memory, telemetry.

Ecto schema: persisted eval session state snapshots.

Ecto schema: persisted session goals.

Ecto schema: imported session metadata.

Ecto schema: curated long-term memory entries.

Ecto schema: FTS5 virtual table for memory search.

Ecto schema: session metadata and message counts.

Ecto schema: subagent job records.

Ecto schema: subagent schedule definitions.

Ecto schema: local telemetry event storage.

Ecto schema: session trajectory events.

Ecto schema: session UI events.

Ecto schema: FTS5 virtual table for UI event search.

Local FTS search over Vibe sessions and curated memory.

Typed FTS search result with ranking and snippets.

Supervised subagent orchestration.

Supervised subagent job process.

Subagent job configuration builder.

Subagent job status and metadata.

Persistent subagent job storage.

Subagent lifecycle: start, cancel, list, and result retrieval.

Cron-like subagent schedule definition.

Scheduled subagent job execution.

JSONL-backed subagent schedule persistence.

DynamicSupervisor for subagent job processes.

Supervised worker process for individual subagent tasks.

Small list assembly helpers for append-heavy render/state paths.

Bridges BEAM/SASL alarms into Vibe's local telemetry stream.

:alarm_handler event adapter used by Vibe.SystemAlarms.

Declarative terminal UI helpers and constructors for Vibe's TUI node tree.

Minimal terminal app coordinator.

Native terminal recording and replay for Vibe TUI sessions.

Writer process for native Vibe TUI cast recordings.

Builds the shared semantic render tree for chat TUI renderers.

Calculates terminal cursor coordinates for rendered TUI frames.

Renders diff-like TUI lines with semantic coloring and intra-line word diff.

Human-readable duration formatting for tool timing.

Renders the TUI prompt editor section.

Composes full TUI render frames from semantic snapshots.

Terminal image protocol helpers for TUI renderers.

Routes semantic TUI input actions into editor and session commands.

Maps Ghostty keyboard events and fallback terminal bytes to Vibe editor actions.

Line list manipulation helpers for TUI rendering.

Terminal renderer for Markdown, including MDEx streaming documents.

Mermaid diagram detection and fallback rendering.

Declarative TUI node data.

Renderer-level partial rendering for semantic TUI view models.

Converts semantic picker state into TUI picker nodes.

Context passed to TUI renderable protocol implementations.

Rendered TUI frame with cursor position and renderer cache state.

Helpers for building stable TUI component render cache keys.

Renderer-owned cache for TUI component line output.

Semantic TUI render tree with stable component identities.

A semantic render tree node.

Protocol for rendering semantic UI values into TUI lines with stable cache keys.

Terminal renderer for Vibe's semantic UI view model.

Startable terminal runtime for Vibe's interactive TUI.

Supervisor for TUI runtime child processes.

Keybinding-to-action mapping for the TUI.

Renders source-like TUI lines with block-level syntax highlighting.

Small storybook for TUI widgets and views.

Terminal syntax highlighting via Lumis.

Terminal adapter for Vibe.TUI.App.

Pure terminal-diff state machine for Vibe's TUI runtime.

ANSI escape and control character sanitizer for display.

Line truncation with omission hints for tool output.

Semantic ANSI theme for Vibe's terminal UI.

Renders the shared card shell and title for TUI tool output.

Renders structured tool display body blocks for TUI tool cards.

Behaviour and dispatcher for built-in tool widgets.

Compile-time-gated TUI frame trace recording.

Formats generic values for TUI tool output.

Shared viewport math for TUI widgets.

TUI agent dashboard view — shows all sessions with status, preview, and dispatch.

Default declarative chat TUI view.

Behaviour, renderer dispatch, and shared helpers for declarative TUI widgets.

TUI widget: autocomplete dropdown overlay.

TUI widget: bordered box container.

TUI widget: yes/no confirmation dialog.

TUI widget: modal dialog with message and actions.

TUI widget: colored unified diff display.

TUI widget: status bar with model, usage, and session info.

TUI widget: titled frame with optional border.

TUI widget: horizontal layout container.

TUI widget for inline terminal images with text fallback.

TUI widget: single-line text input.

Shared framed list panel used by TUI pickers and autocomplete.

TUI widget: animated working/thinking indicator.

TUI widget: rendered Markdown content block.

TUI widget: chat message bubble with role styling.

TUI widget: model and effort status display.

TUI widget: transient notification stack.

TUI widget: floating overlay panel.

TUI widget: padding wrapper.

TUI widget: plugin-owned semantic content.

TUI widget: pre-rendered iodata passthrough.

TUI widget: labeled collapsible section.

TUI widget: navigable selection list.

TUI widget: vertical space.

TUI widget: colored status indicator.

TUI widget: styled text block.

TUI widget: multiline text editor display.

TUI widget: tool call card with summary and output.

TUI tool widget: AST search/replace results.

TUI tool widget: file edit diff.

TUI tool widget: eval output with ANSI.

TUI tool widget: shared file mutation display.

TUI tool widget: shared file path summary.

TUI tool widget: fallback for unrecognized tools.

TUI tool widget: LSP diagnostics and results.

TUI tool widget: file read with syntax and images.

TUI tool widget: file creation result.

TUI widget: content truncation with expand hint.

TUI widget: vertical layout container.

Width helpers for ANSI-styled terminal lines.

Local telemetry recorder and introspection API for Vibe.

Supervised terminal pane helpers.

Supervised Ghostty terminal + optional PTY pane.

Terminal-aware snapshots for ANSI/VT output.

Renderer-neutral semantic display document for tool results.

Semantic display document for AST tool results.

Semantic display builder for eval tool results.

Semantic display document for file mutation tools.

Fallback semantic display document for tools without specialized renderers.

Semantic display document for LSP tool results.

Semantic display builder for read tool results.

Renderer-neutral helpers for semantic tool display documents.

Context-safe limits for model-facing tool output.

Reusable line/byte windows for large model-facing tool output.

Structured session event capture for self-improvement.

Autocomplete state model shared by TUI and future LiveView adapters.

Single autocomplete suggestion with value, label, and optional detail.

Semantic UI blocks shared by TUI and future LiveView renderers.

Assistant response block with text, error, or streaming loader.

Footer state: model, effort, usage, session, and plugin statuses.

Transient notification stack.

Modal overlay state for selectors and dialogs.

Plugin-owned semantic widget rendered in the session UI.

Subagent job lifecycle event block.

Session history marker for local UI state changes.

Tool invocation block with args, status, and output.

Semantic content block types for UI state messages.

Registry-backed access point for UI sessions.

UI-neutral command dispatched by TUI or LiveView clients.

Renderer-neutral semantic UI document shared by plugins and renderers.

Pure multiline editor model shared by terminal and future LiveView adapters.

:gen_statem wrapper around Vibe.UI.Editor.

Semantic error payload shared by TUI, Web, previews, and persisted UI events.

UI-neutral event emitted by Vibe sessions.

File path autocomplete for prompt attachments and path-like input.

Semantic chat message in UI state.

Transient notification state for TUI and web UI.

Bridges plugin events into the session UI state loop.

Task-based prompt execution for interactive sessions.

Pure reducer for Vibe's UI-neutral event stream.

Renderer-neutral semantic UI document section.

Modal selector state for model/effort/session pickers.

Slash command dispatch and autocomplete.

Slash command: /attach — switch to an existing session.

Slash command: /bg — background the current session.

Slash command: /branch — branch the session from an earlier point.

Slash command: /clear — reset session history.

Slash command: /command — run a shell command.

Slash command: /commands — list available slash commands.

Slash command: /compact — trigger context compaction.

Slash command: /effort — set reasoning effort level.

Slash command: /goal — set, view, pause, resume, or clear a long-running goal.

Slash command: /help — show built-in help topics.

Slash command: /model — switch the active model.

Slash command: /new — start a fresh session.

Slash command registry: discovery and dispatch.

Slash command: /sessions — list active sessions.

Slash command: /skill — invoke executable skills.

Slash command metadata contract.

Slash command: /web — open the web console in the default browser.

UI-neutral session state shared by terminal and LiveView renderers.

Structured UI event payload for tool lifecycle updates.

Converts Vibe.UI.State into semantic blocks for renderers.

Semantic widget state shared by TUI and web renderers.

Phoenix endpoint, router, and asset configuration for the web console.

Serves local session artifact files to the web UI.

Builds web assets using Volt's configured JS bundler and Tailwind compiler.

Token-based authentication for the web console.

Imports shared component modules for Vibe Web.

Components for rendering plugin and skill eval API details.

Markdown, source, diff, and text rendering helpers for Vibe Web components.

Small reusable UI primitives for Vibe Web.

Conversation message components for Vibe Web.

Application shell and navigation components for Vibe Web.

Tool result components for Vibe Web.

LiveView browser for built-in Vibe documentation.

Phoenix endpoint configuration for the web console.

Error page renderer for the web console.

LiveView dashboard for external gateway runtimes and sessions.

LiveView page for supervised subagent jobs.

Phoenix layout components for the web console.

LiveView page for durable Vibe memory.

Components for rendering plugin-owned UI documents.

LiveView for Vibe plugin runtime capabilities.

Phoenix router: LiveView routes and artifact serving.

LiveView runtime dashboard for Vibe's BEAM process.

Compatibility route for the former /search page.

Components specific to the session workbench.

Builds displayable session messages from UI state and final stream events.

Status and activity helpers for the session workbench.

LiveView workbench for one Vibe agent session.

Components specific to the sessions index page.

Filtering, grouping, and pagination helpers for the sessions page.

LiveView landing page for Vibe session history and active runtime status.

LiveView for Vibe model, auth, and local configuration status.

LiveView for installed Markdown and executable Vibe skills.

LiveView for SQLite-backed storage search and maintenance status.

Provider-neutral web search and fetch API exposed to eval as Web.

Behaviour for URL fetch providers used by Vibe's Web eval API.

Normalized result for a URL fetch request.

HTML parsing and extraction helpers for Vibe.WebTools.

Shared Markdown rendering for URL-like search results.

Normalized web search result item.

Behaviour for web search providers used by Vibe's Web eval API.

Normalized result for a web search request.

Workspace path helpers for file operations.

Mix Tasks

Launches Vibe.

Builds and installs the local vibe escript.

Renders Vibe's TUI storybook.