Skip to main content

mermaid_cli/app/
mod.rs

1// Gateway module for app - follows the Train Station Pattern
2// All external access must go through this gateway
3
4// Private submodules - not directly accessible from outside
5mod config;
6pub mod event_source;
7pub mod instructions;
8pub mod lifecycle;
9pub mod memory;
10pub mod recorder;
11pub mod run;
12pub mod run_non_interactive;
13pub mod terminal;
14
15// Public re-exports - the ONLY way to access app functionality
16pub use config::{
17    CompactionConfig, Config, McpServerConfig, MemoryConfig, SafetyConfig, UserProviderConfig,
18    get_config_dir, init_config, load_config, load_config_or_warn, persist_default_reasoning,
19    persist_last_model, persist_ollama_allow_ram_offload, persist_ollama_num_ctx_for_model,
20    persist_reasoning_for_model, resolve_model_id, save_config,
21};
22pub use event_source::{event_to_msg, parse_slash_command};
23pub use lifecycle::RuntimeLifecycle;
24pub use recorder::{Recorder, Replay, ReplayEntry, record_msg_body};
25pub use run::{InteractiveOptions, run_interactive, run_interactive_with};
26pub use run_non_interactive::{
27    RunOptions, RunResult, format_result, run_non_interactive, run_non_interactive_with,
28};
29pub use terminal::TerminalGuard;