Skip to main content

agent_tui/
lib.rs

1//! `agent-tui` — ratatui terminal UI layer.
2//! Depends on `agent-core` + `agent-engine` + render crates only. Never depends on bin.
3
4// Allow intra-crate self-reference via `synaps_cli::` (mirrors root lib.rs trick).
5// tui/ has ~300 synaps_cli:: references — this resolves them all to agent_tui without
6// touching a single call site.
7extern crate self as synaps_cli;
8
9pub mod toast;
10pub mod tui;
11
12// ── agent-core re-exports ──────────────────────────────────────────────────────
13pub use agent_core::{
14    auth, chain, config, error, logging, models, protocol, session, watcher_types,
15};
16pub use agent_core::{core, memory, pricing};
17pub use agent_core::{epoch_millis, truncate_str, BoundedText};
18
19// ── agent-engine re-exports ────────────────────────────────────────────────────
20pub use agent_engine::{engine, events, extensions, help, mcp, runtime, sidecar, skills, tools};
21
22// ── item re-exports (tui uses these at crate root) ────────────────────────────
23pub use agent_engine::{
24    find_session, find_session_by_name, latest_session, list_recent_sessions, list_sessions,
25    resolve_session, validate_name, Session, SessionInfo,
26};
27pub use agent_engine::{load_config, resolve_system_prompt, SynapsConfig};
28pub use agent_engine::{AgentEvent, LlmEvent, Runtime, SessionEvent, SharedMessage, StreamEvent};
29pub use agent_engine::{Result, RuntimeError};
30pub use agent_engine::{Tool, ToolContext, ToolRegistry};
31pub use serde_json::Value;
32pub use tokio_util::sync::CancellationToken;