1pub mod config;
2pub mod connect_mcp;
3pub mod connection;
4pub mod error;
5pub mod manager;
6pub mod mcp_client;
7pub mod naming;
8pub use llm::oauth;
9pub mod roots;
10pub mod tool_proxy;
11pub mod variables;
12
13pub use config::*;
14pub use connection::ServerInstructions;
15pub use error::{McpError, Result};
16pub use manager::{
17 ElicitationRequest, McpClientEvent, McpManager, McpServerStatus, McpServerStatusEntry, UrlElicitationCompleteParams,
18};
19pub use mcp_client::{McpClient, cancel_result};
20pub use naming::split_on_server_name;
21pub use roots::root_from_path;
22pub use variables::{VarError, expand_env_vars};
23
24pub use rmcp::model::Root;
26
27use std::path::PathBuf;
28
29pub(crate) fn aether_home() -> Option<PathBuf> {
34 utils::SettingsStore::new("AETHER_HOME", ".aether").map(|s| s.home().to_path_buf())
35}