Skip to main content

Crate agent_tui

Crate agent_tui 

Source
Expand description

agent-tui — ratatui terminal UI layer. Depends on agent-core + agent-engine + render crates only. Never depends on bin.

Modules§

auth
OAuth 2.0 Authorization Code + PKCE flow for Anthropic (Claude Pro/Max).
chain
Chain pointer management — named bookmarks that auto-advance on compaction.
config
core
Core infrastructure — config, session, auth, logging, error types, protocol.
engine
Engine — shared business logic for both TUI and headless modes.
error
events
Event Bus — universal message ingestion for agent sessions.
extensions
Extension system for SynapsCLI.
help
logging
mcp
MCP (Model Context Protocol) integration — JSON-RPC client, tool bridging, lazy loading.
memory
Local-first memory store.
models
Curated list of Claude models known to work with this CLI. Centralized so the settings dropdown, defaults, and subagent hints agree.
pricing
Centralised pricing logic for Anthropic models.
protocol
runtime
session
sidecar
Sidecar plugin support: long-running plugin processes that stream events into the host over a JSONL line protocol.
skills
Skills and plugins subsystem.
toast
Public toast notification primitives for extensions and host UIs.
tools
Tool system — trait, registry, and built-in tool implementations.
tui
Chat TUI binary — event loop, terminal setup, module wiring.
watcher_types

Structs§

CancellationToken
A token which can be used to signal a cancellation request to one or more tasks.
Runtime
The core runtime — manages API communication, tool execution, authentication, and streaming for all SynapsCLI binaries (chat, chatui, server, agent, watcher).
Session
SessionInfo
Lightweight info for listing sessions without loading full message history
SynapsConfig
Parsed configuration from the config file.
ToolContext
Context passed to tool execution — composition of channels, capabilities, and limits.
ToolRegistry
Registry of available tools. Maintains a name→tool map and a cached JSON schema array that gets sent to the API. Thread-safe via Arc<RwLock<ToolRegistry>>.

Enums§

AgentEvent
LlmEvent
RuntimeError
SessionEvent
StreamEvent
Top-level stream event — grouped into concern-specific sub-enums.
Value
Represents any valid JSON value.

Traits§

Tool
The core trait for all tools. Implement this to add a new tool.

Functions§

epoch_millis
Current time as Unix epoch milliseconds. Panics only if system clock is before 1970.
find_session
Find a session by full or partial ID match
find_session_by_name
Find a session by its assigned name (not partial ID). Iterates session headers one file at a time and returns on first match, avoiding a full directory scan when the named session appears early.
latest_session
Load the most recently updated session
list_recent_sessions
The limit most-recently-modified sessions (by file mtime), most-recent first. Sorts the directory entries by mtime WITHOUT parsing, then reads only the top limit headers — so /sessions is O(limit) reads instead of O(#sessions). mtime is an exact proxy for updated_at (the file is rewritten on every save).
list_sessions
List all sessions, sorted by most recently updated.
load_config
Parse the config file at ~/.synaps-cli/config (or profile variant). Returns default config if file doesn’t exist or can’t be read.
resolve_session
Resolve a query string to a Session. Resolution order:
resolve_system_prompt
Resolve the system prompt from CLI flag, config file, or default. Priority: explicit value > ~/.synaps-cli/system.md > built-in default.
truncate_str
Truncate a string to at most max bytes at a valid UTF-8 boundary.
validate_name
Validate a session or chain name: [a-z0-9-]{1,40}.

Type Aliases§

Result