pub mod auth;
mod error;
pub mod graph;
pub mod mcp;
#[cfg(test)]
pub(crate) mod test_support;
pub mod unsubscribe;
pub use auth::AuthClient;
pub use error::ClientError;
pub use graph::{GraphClient, MailFolder, Outgoing};
pub use unsubscribe::{UnsubscribeMethod, mailto_subject, parse_unsubscribe};
pub mod cursor;
pub use cursor::{Cursor, CursorError};
pub(crate) fn base_config_dir() -> Result<std::path::PathBuf, ClientError> {
#[cfg(test)]
if let Some(base) = test_support::base_dir_override() {
return Ok(base);
}
dirs::config_dir().ok_or(ClientError::NoConfigDir)
}