1#![forbid(unsafe_code)]
19
20pub mod agent;
21pub mod app;
22pub mod auth;
23pub mod config;
24pub mod context_files;
25pub mod error;
26pub mod events;
27pub mod llm;
28pub mod mcp;
29pub mod model;
30pub mod paths;
31pub mod permissions;
32pub mod protocol;
33pub mod session;
34pub mod settings;
35pub mod skills;
36#[cfg(feature = "test-support")]
37pub mod test_support;
38pub mod tools;
39
40pub use app::{App, AppBuilder};
41pub use auth::{load as load_auth, save_with_mode as save_auth, Auth, ProviderAuth};
42pub use config::Config;
43pub use context_files::{assemble_system_prompt, load_project_context_files, ContextFile};
44pub use error::{AppError, Result};
45pub use events::{
46 Command, PermissionChoice, PermissionResolution, ProgressChunk, UiEvent, UiToolResult,
47};
48pub use mcp::{McpConfig, McpServerConfig};
49pub use model::ModelId;
50pub use motosan_agent_loop::{BranchNode, BranchTree, EntryId, Message, Role};
51pub use paths::agent_dir;
52pub use permissions::{Decision, NoOpPermissionGate, PermissionGate, PermissionRequest};
53pub use session::{encode_cwd, hydrate_read_files, SessionId, SessionLookup, SessionPaths};
54pub use settings::{
55 CliOverrides, LlmProviderKind, LoggingSettings, ModelSettings, SessionSettings, Settings,
56 UiSettings,
57};
58pub use skills::{
59 load_all as load_skills, load_from_dir as load_skills_from_dir, LoadSkillsResult, Skill,
60 SkillDiagnostic, SkillSource,
61};