#![cfg_attr(
not(any(feature = "async", feature = "blocking")),
allow(
dead_code,
unused_imports,
unused_macros,
reason = "support modules are only consumed when a client feature is enabled"
)
)]
mod auth;
mod client_routes;
mod error;
mod observability;
mod options;
mod routes;
mod spec;
mod transport;
pub mod types;
#[cfg(feature = "async")]
mod async_client;
#[cfg(feature = "blocking")]
mod blocking_client;
#[cfg(any(feature = "async", feature = "blocking"))]
pub mod streaming;
#[cfg(feature = "async")]
pub use async_client::AsyncOpenRouterClient;
pub use auth::ApiKey;
#[cfg(feature = "blocking")]
pub use blocking_client::BlockingOpenRouterClient;
pub use error::{ApiError, OpenRouterApiError, OpenRouterError};
pub use options::{RequestAuth, RequestOptions};
pub use routes::{HttpMethod, MultipartFile, RawJsonRequest, RawMultipartRequest};
pub use spec::{NON_DEPRECATED_ROUTES, RouteSpec, SPEC_SNAPSHOT_DATE};
pub use transport::{
DEFAULT_BASE_URL, IntoQueryParams, endpoint_url_from_base, normalize_base_url,
normalize_unchecked_base_url,
};
pub use types::*;