#![forbid(unsafe_code)]
#![warn(missing_docs)]
pub mod embedding_model;
pub mod error;
pub mod files_model;
pub mod image_model;
pub mod json;
pub mod language_model;
pub mod middleware;
pub mod provider;
pub mod reranking_model;
pub mod shared;
pub mod skills_model;
pub mod speech_model;
pub mod transcription_model;
pub mod video_model;
#[doc(inline)]
pub use embedding_model::EmbeddingModel;
#[doc(inline)]
pub use files_model::FilesModel;
#[doc(inline)]
pub use image_model::ImageModel;
#[doc(inline)]
pub use language_model::LanguageModel;
#[doc(inline)]
pub use provider::Provider;
#[doc(inline)]
pub use reranking_model::RerankingModel;
#[doc(inline)]
pub use skills_model::SkillsModel;
#[doc(inline)]
pub use speech_model::SpeechModel;
#[doc(inline)]
pub use transcription_model::TranscriptionModel;
#[doc(inline)]
pub use video_model::VideoModel;
#[doc(inline)]
pub use error::{ApiCallErrorBuilder, ProviderError, Result};
#[doc(inline)]
pub use json::{JsonObject, JsonSchema, JsonValue};
#[doc(inline)]
pub use shared::{
FileBytes, FileData, Headers, ProviderMetadata, ProviderOptions, ProviderReference,
RequestInfo, ResponseInfo, Warning,
};
#[doc(inline)]
pub use language_model::{
AssistantPart, BoxStream, CallOptions, Content, FilePart, FinishReason, FinishReasonKind,
FunctionTool, GenerateResponse, GenerateResult, InputTokenUsage, Message, OutputTokenUsage,
Prompt, ProviderTool, ReasoningEffort, ReasoningPart, ResponseFormat, ResponseMetadata, Source,
StreamPart, StreamResponse, StreamResult, SupportedUrls, TextPart, Tool, ToolApprovalRequest,
ToolApprovalResponsePart, ToolCallPart, ToolChoice, ToolInputExample, ToolMessagePart,
ToolOutputPart, ToolResult, ToolResultOutput, ToolResultPart, UrlPattern, Usage, UserPart,
};
#[doc(inline)]
pub use embedding_model::{EmbedOptions, EmbedResult, Embedding, EmbeddingUsage};
#[doc(inline)]
pub use image_model::{
GeneratedImage, ImageOptions, ImageResult, ImageUsage, ImageUsageInputDetails,
};
#[doc(inline)]
pub use video_model::{VideoData, VideoFile, VideoOptions, VideoResponseInfo, VideoResult};
#[doc(inline)]
pub use reranking_model::{RankingEntry, RerankingDocuments, RerankingOptions, RerankingResult};
#[doc(inline)]
pub use files_model::{UploadFileData, UploadFileOptions, UploadFileResult};
#[doc(inline)]
pub use skills_model::{SkillFile, UploadSkillOptions, UploadSkillResult};
#[doc(inline)]
pub use speech_model::{SpeechOptions, SpeechResponseInfo, SpeechResult};
#[doc(inline)]
pub use transcription_model::{
TranscriptionOptions, TranscriptionResponseInfo, TranscriptionResult, TranscriptionSegment,
};
#[doc(inline)]
pub use provider::{DynEmbeddingModel, DynImageModel, DynLanguageModel};
#[doc(inline)]
pub use middleware::{
CacheMiddleware, CacheStore, CachedEntry, CallKind, EmbeddingModelMiddleware,
ImageModelMiddleware, LanguageModelMiddleware, Logger, LoggingMiddleware, MemoryCacheStore,
MemoryCacheStoreBuilder, MiddlewareContext, ProviderMiddlewareSet, RerankingModelMiddleware,
RetryMiddleware, RetryMiddlewareBuilder, StderrLogger, VideoModelMiddleware,
wrap_embedding_model, wrap_image_model, wrap_language_model, wrap_provider,
wrap_reranking_model, wrap_video_model,
};
pub const SPECIFICATION_VERSION: &str = "v4";