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::{core, memory, pricing};
14pub use agent_core::{config, session, auth, logging, protocol, error, watcher_types, models, chain};
15pub use agent_core::{epoch_millis, truncate_str};
16
17// ── agent-engine re-exports ────────────────────────────────────────────────────
18pub use agent_engine::{runtime, tools, mcp, skills, events, extensions, sidecar, engine, help};
19
20// ── item re-exports (tui uses these at crate root) ────────────────────────────
21pub use agent_engine::{Runtime, StreamEvent, LlmEvent, SessionEvent, AgentEvent};
22pub use agent_engine::{Tool, ToolContext, ToolRegistry};
23pub use agent_engine::{Session, SessionInfo, find_session, latest_session, list_sessions, list_recent_sessions, resolve_session, find_session_by_name, validate_name};
24pub use agent_engine::{RuntimeError, Result};
25pub use agent_engine::{SynapsConfig, load_config, resolve_system_prompt};
26pub use serde_json::Value;
27pub use tokio_util::sync::CancellationToken;