1#![forbid(unsafe_code)]
40#![warn(missing_docs)]
41
42pub mod embedding_model;
43pub mod error;
44pub mod files_model;
45pub mod image_model;
46pub mod json;
47pub mod language_model;
48pub mod middleware;
49pub mod provider;
50pub mod reranking_model;
51pub mod shared;
52pub mod skills_model;
53pub mod speech_model;
54pub mod transcription_model;
55pub mod video_model;
56
57#[doc(inline)]
67pub use embedding_model::EmbeddingModel;
68#[doc(inline)]
69pub use files_model::FilesModel;
70#[doc(inline)]
71pub use image_model::ImageModel;
72#[doc(inline)]
73pub use language_model::LanguageModel;
74#[doc(inline)]
75pub use provider::Provider;
76#[doc(inline)]
77pub use reranking_model::RerankingModel;
78#[doc(inline)]
79pub use skills_model::SkillsModel;
80#[doc(inline)]
81pub use speech_model::SpeechModel;
82#[doc(inline)]
83pub use transcription_model::TranscriptionModel;
84#[doc(inline)]
85pub use video_model::VideoModel;
86
87#[doc(inline)]
89pub use error::{ApiCallErrorBuilder, ProviderError, Result};
90
91#[doc(inline)]
93pub use json::{JsonObject, JsonSchema, JsonValue};
94
95#[doc(inline)]
97pub use shared::{
98 FileBytes, FileData, Headers, ProviderMetadata, ProviderOptions, ProviderReference,
99 RequestInfo, ResponseInfo, Warning,
100};
101
102#[doc(inline)]
104pub use language_model::{
105 AssistantPart, BoxStream, CallOptions, Content, FilePart, FinishReason, FinishReasonKind,
106 FunctionTool, GenerateResponse, GenerateResult, InputTokenUsage, Message, OutputTokenUsage,
107 Prompt, ProviderTool, ReasoningEffort, ReasoningPart, ResponseFormat, ResponseMetadata, Source,
108 StreamPart, StreamResponse, StreamResult, SupportedUrls, TextPart, Tool, ToolApprovalRequest,
109 ToolApprovalResponsePart, ToolCallPart, ToolChoice, ToolInputExample, ToolMessagePart,
110 ToolOutputPart, ToolResult, ToolResultOutput, ToolResultPart, UrlPattern, Usage, UserPart,
111};
112
113#[doc(inline)]
115pub use embedding_model::{EmbedOptions, EmbedResult, Embedding, EmbeddingUsage};
116
117#[doc(inline)]
119pub use image_model::{
120 GeneratedImage, ImageOptions, ImageResult, ImageUsage, ImageUsageInputDetails,
121};
122
123#[doc(inline)]
125pub use video_model::{VideoData, VideoFile, VideoOptions, VideoResponseInfo, VideoResult};
126
127#[doc(inline)]
129pub use reranking_model::{RankingEntry, RerankingDocuments, RerankingOptions, RerankingResult};
130
131#[doc(inline)]
133pub use files_model::{UploadFileData, UploadFileOptions, UploadFileResult};
134
135#[doc(inline)]
137pub use skills_model::{SkillFile, UploadSkillOptions, UploadSkillResult};
138
139#[doc(inline)]
141pub use speech_model::{SpeechOptions, SpeechResponseInfo, SpeechResult};
142
143#[doc(inline)]
145pub use transcription_model::{
146 TranscriptionOptions, TranscriptionResponseInfo, TranscriptionResult, TranscriptionSegment,
147};
148
149#[doc(inline)]
151pub use provider::{DynEmbeddingModel, DynImageModel, DynLanguageModel};
152
153#[doc(inline)]
155pub use middleware::{
156 CacheMiddleware, CacheStore, CachedEntry, CallKind, EmbeddingModelMiddleware,
157 ImageModelMiddleware, LanguageModelMiddleware, Logger, LoggingMiddleware, MemoryCacheStore,
158 MemoryCacheStoreBuilder, MiddlewareContext, ProviderMiddlewareSet, RerankingModelMiddleware,
159 RetryMiddleware, RetryMiddlewareBuilder, StderrLogger, VideoModelMiddleware,
160 wrap_embedding_model, wrap_image_model, wrap_language_model, wrap_provider,
161 wrap_reranking_model, wrap_video_model,
162};
163
164pub const SPECIFICATION_VERSION: &str = "v4";