1pub use anyhow::Result;
6
7pub mod api;
8pub mod auth;
9pub mod images;
10pub mod logger;
11pub mod models;
12pub mod providers;
13pub mod session_resources;
14pub mod trace;
15pub mod types;
16pub mod utils;
17
18pub use api::codex_transport::CodexWebSocketDebugStats;
19pub use api::codex_transport::{close_codex_websocket_sessions, get_codex_websocket_debug_stats};
20pub use api::codex_transport::{get_codex_websocket_input_delta, reset_codex_websocket_debug_stats};
21pub use auth::oauth::OPENAI_CODEX_DEVICE_CODE_LOGIN_METHOD;
22pub use auth::oauth::unregister_oauth_provider;
23pub use auth::oauth::{OAuthApiKeyResult, OAuthProviderInterface, OPENAI_CODEX_BROWSER_LOGIN_METHOD};
24pub use auth::oauth::{anthropic_oauth, builtin_oauth_provider_ids, get_oauth_api_key, get_oauth_provider};
25pub use auth::oauth::{get_oauth_providers, github_copilot_oauth, oauth_provider_modify_models, openai_codex_oauth};
26pub use auth::oauth::{refresh_oauth_token, register_oauth_provider, reset_oauth_providers};
27pub use auth::{ApiKeyAuth, ApiKeyCredential, AuthContext, AuthResolveInput, AuthResult, BoxFuture, Credential};
28pub use auth::{CredentialStore, DefaultAuthContext, InMemoryCredentialStore, ModelAuth, ModelsError};
29pub use auth::{ModelsErrorCode, OAuthCredential, ProviderAuth};
30pub use auth::{default_auth_context, env_api_key_auth, resolve_provider_auth};
31pub use images::{CreateImagesModelsOptions, ImagesModels};
32pub use images::{builtin_images_models, generate_images};
33pub use models::{CreateModelsOptions, CreateProviderOptions, Models, MutableModels, Provider, ProviderApi};
34pub use models::{calculate_cost, clamp_thinking_level, create_models, create_provider};
35pub use models::{get_supported_thinking_levels, has_api, models_are_equal};
36pub use providers::faux::{FauxModelDefinition, FauxProviderHandle, FauxResponseStep, RegisterFauxProviderOptions};
37pub use providers::faux::{faux_assistant_message, faux_provider, faux_text, faux_thinking, faux_tool_call};
38pub use providers::{builtin_models, get_builtin_model, get_builtin_models, get_builtin_providers};
39pub use session_resources::SessionResourceCleanupRegistration;
40pub use session_resources::{cleanup_session_resources, register_session_resource_cleanup};
41pub use types::*;
42pub use utils::deferred_tools::split_deferred_tools;
43pub use utils::diagnostics::{append_assistant_message_diagnostic, create_assistant_message_diagnostic};
44pub use utils::event_stream::EventStreamIterator;
45pub use utils::{overflow, retry, validation};