pub mod client;
pub mod error;
pub mod provider;
pub mod providers;
pub mod registry;
pub mod types;
#[cfg(feature = "tracing")]
pub mod tracing;
pub use client::{Inference, InferenceConfig};
pub use error::{Error, Result};
pub use registry::{
ProviderRegistry,
models_dev::{
DEFAULT_CACHE_PATH, MODELS_DEV_URL, ProviderInfo, fetch_models_dev,
filter_configured_providers, get_available_models, load_available_models,
load_models_for_provider, load_models_for_provider_from_path, parse_models_dev,
},
};
pub use types::{
AnthropicCacheConfig,
AnthropicContentPartOptions,
AnthropicMessageOptions,
AnthropicOptions,
AnthropicToolOptions,
CacheContext,
CacheControl,
CacheControlValidator,
CacheStrategy,
CacheWarning,
CacheWarningType,
CompletionsConfig,
ContentPart,
ContentPartProviderOptions,
FinishReason,
FinishReasonKind,
GenerateOptions,
GenerateRequest,
GenerateResponse,
GenerateStream,
GoogleOptions,
Headers,
ImageDetail,
InputTokenDetails,
Message,
MessageContent,
MessageProviderOptions,
Model,
ModelCost,
ModelLimit,
OpenAIApiConfig,
OpenAIOptions,
OutputTokenDetails,
PromptCacheRetention,
ProviderOptions,
ReasoningEffort,
ReasoningSummary,
ResponseContent,
ResponseWarning,
ResponsesConfig,
Role,
StreamEvent,
SystemMessageMode,
ThinkingOptions,
Tool,
ToolCall,
ToolChoice,
ToolFunction,
ToolProviderOptions,
Usage,
};
pub mod prelude {
pub use crate::client::Inference;
pub use crate::error::{Error, Result};
pub use crate::provider::Provider;
pub use crate::types::*;
}