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 extensions;
28pub mod llm;
29pub mod mcp;
30pub mod model;
31pub mod paths;
32pub mod permissions;
33pub mod protocol;
34pub mod session;
35pub mod settings;
36pub mod skills;
37#[cfg(feature = "test-support")]
38pub mod test_support;
39pub mod tools;
40pub mod user_message;
41
42pub use app::{App, AppBuilder, TurnStatsAccum};
43pub use auth::{load as load_auth, save_with_mode as save_auth, Auth, ProviderAuth};
44pub use config::Config;
45pub use context_files::{assemble_system_prompt, load_project_context_files, ContextFile};
46pub use error::{AppError, Result};
47pub use events::{
48 Command, CompactSource, PermissionChoice, PermissionResolution, ProgressChunk, UiEvent,
49 UiToolResult,
50};
51pub use extensions::{
52 load_extensions_manifest, Action as ExtensionAction, Event as ExtensionEvent,
53 EventName as ExtensionEventName, ExtensionDiagnostic, ExtensionEntry, ExtensionRegistry,
54 RegisteredExtension,
55};
56pub use mcp::{McpConfig, McpServerConfig};
57pub use model::ModelId;
58pub use motosan_agent_loop::{
59 new_message_id, AssistantContent, BranchNode, BranchTree, CompactionResult, ContentPart,
60 EntryId, Message, MessageMeta, Role,
61};
62pub use paths::agent_dir;
63pub use permissions::{
64 next_mode, Decision, NoOpPermissionGate, PermissionGate, PermissionMode, PermissionRequest,
65};
66pub use session::{encode_cwd, hydrate_read_files, SessionId, SessionLookup, SessionPaths};
67pub use settings::{
68 CliOverrides, LlmProviderKind, LoggingSettings, ModelSettings, SessionSettings, Settings,
69 UiSettings,
70};
71pub use skills::{
72 load_all as load_skills, load_from_dir as load_skills_from_dir, LoadSkillsResult, Skill,
73 SkillDiagnostic, SkillSource,
74};
75pub use user_message::{Attachment, AttachmentError, AttachmentErrorKind, UserMessage};