#[cfg(feature = "reqwest-012")]
extern crate reqwest012 as reqwest;
pub mod azure;
pub mod client;
pub mod cloudflare;
pub mod config;
pub mod error;
#[cfg(feature = "responses")]
pub mod hedged;
#[cfg(not(target_arch = "wasm32"))]
pub mod middleware;
pub mod pagination;
#[cfg(feature = "structured")]
pub mod parsing;
#[cfg(not(target_arch = "wasm32"))]
pub mod rate_limit;
pub mod request_options;
pub mod resources;
pub(crate) mod runtime;
pub mod schema;
pub mod stream_helpers;
pub mod streaming;
pub mod types;
pub use openai_types;
#[cfg(feature = "websocket")]
pub mod websocket;
#[cfg(feature = "websocket")]
pub mod ws_pool;
#[cfg(not(target_arch = "wasm32"))]
pub(crate) fn ensure_tls_provider() {
use std::sync::Once;
static INIT: Once = Once::new();
INIT.call_once(|| {
let _ = rustls::crypto::ring::default_provider().install_default();
});
}
pub use azure::AzureConfig;
pub use client::OpenAI;
pub use config::ClientConfig;
pub use error::OpenAIError;
#[cfg(feature = "responses")]
pub use hedged::{hedged_request, hedged_request_n, speculative};
pub use pagination::Paginator;
pub use request_options::RequestOptions;
pub use streaming::SseStream;
#[cfg(feature = "websocket")]
pub use websocket::{WsEventStream, WsSession};