Repository navigation
Expand file tree
/
Copy pathmod.rs
More file actions
32 lines (29 loc) · 1.38 KB
/
Copy pathmod.rs
File metadata and controls
32 lines (29 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//! Tabbed terminal UI — bare `openhuman` or the explicit `tui` / `chat` subcommand.
//!
//! A [ratatui]-based agent cockpit with Chat, Logs, Config, and Settings,
//! persistent thread resume, command/file pickers, approvals, plan review,
//! task/goal/agent/skill/MCP/artifact views, Git review, and a multiline composer.
//! Chat uses the **same `web_chat` surface** the desktop app drives (`openhuman.channel_web_chat` /
//! `openhuman.channel_web_cancel` +
//! [`web_chat::subscribe_web_channel_events`](crate::openhuman::web_chat::subscribe_web_channel_events)).
//! It boots the core in-process — no HTTP, no sockets — via
//! `CoreBuilder::new(HostKind::Cli).domains(DomainSet::full()).services(ServiceSet::none())`
//! and streams a live transcript in the terminal.
//!
//! The entire module is gated at its crate-root declaration in `src/lib.rs`.
//! Slim builds therefore compile none of the terminal driver, renderer,
//! reducer, or event loop. The always-compiled CLI owns the disabled-feature
//! diagnostic for the `tui` and `chat` commands.
mod app;
mod cockpit;
mod composer;
mod controls;
mod render;
mod runner;
mod state;
mod terminal;
mod ui_state;
pub use runner::run_from_cli;
// State reducer is behaviour-only but has no terminal deps, so its tests run in
// feature-on builds. Exported for the sibling submodules + tests.
pub use state::{Entry, EntryKind, TranscriptState};