pub mod auth;
pub mod config;
pub mod token_cache;
pub mod errors;
pub mod logging;
pub mod utils;
pub mod calendar_api;
pub mod gmail_api;
pub mod people_api;
pub mod cli;
pub mod oauth;
pub mod prompts;
pub mod server;
pub use crate::errors::{
error_codes, CalendarApiError, CalendarResult, ConfigError, GmailApiError, GmailResult,
PeopleApiError, PeopleResult,
};
pub use crate::config::{get_token_expiry_seconds, Config, GMAIL_API_BASE_URL, OAUTH_TOKEN_URL};
pub use crate::logging::setup_logging;
pub use crate::auth::TokenManager;
pub use crate::token_cache::{TokenCache, TokenCacheConfig, CachedToken};
pub use crate::gmail_api::{DraftEmail, EmailMessage, GmailService};
pub use crate::people_api::{
Contact, ContactList, EmailAddress, Organization, PeopleClient, PersonName, PhoneNumber, Photo,
};
pub use crate::calendar_api::{
Attendee, CalendarClient, CalendarEvent, CalendarInfo, CalendarList, ConferenceData,
ConferenceSolution, EntryPoint, EventOrganizer,
};
pub use crate::prompts::*;
pub use crate::utils::{
decode_base64, encode_base64_url_safe, error_codes as utils_error_codes, map_gmail_error,
parse_max_results, to_mcp_error,
};
pub use crate::server::GmailServer;