pub(crate) mod error;
pub mod model;
pub mod provider;
pub(crate) mod providers;
pub mod retry;
pub mod tier_map;
pub(crate) mod types;

pub use error::AgentError;
pub use model::{
    Model, ModelEntry, ModelError, ModelFamily, ModelPricing, ModelTier, TokenUsage,
    models_for_provider,
};
pub use providers::Timeouts;
pub use providers::copilot::auth as copilot_auth;
pub use providers::dynamic;
pub use providers::openai::auth as openai_auth;
pub use types::{
    ContentBlock, ImageMediaType, ImageSource, Message, ProviderEvent, Role, StopReason,
    StreamResponse, ThinkingConfig,
};
