openai_rust_sdk/models/
mod.rs

1/// Common utilities for models
2pub mod common;
3/// Common builder patterns to reduce duplication
4pub mod common_builder;
5/// Shared traits and implementations to eliminate model duplication
6pub mod shared_traits;
7
8/// Assistants models for AI assistant creation and management  
9pub mod assistants;
10/// Audio models for text-to-speech, transcription, and translation
11pub mod audio;
12/// Container management models for Code Interpreter
13pub mod containers;
14/// Embeddings models for vector representations
15pub mod embeddings;
16/// Files models for file upload, management, and retrieval
17pub mod files;
18/// Fine-tuning models for custom model training and management
19pub mod fine_tuning;
20/// Function calling models and data structures
21pub mod functions;
22/// GPT-5 specific models and configuration
23pub mod gpt5;
24/// Images models for DALL-E image generation, editing, and variations
25pub mod images;
26/// Models API for listing and retrieving model information
27#[allow(clippy::module_inception)]
28pub mod models;
29/// Moderations models for content policy classification
30pub mod moderations;
31/// Modular moderations models for content policy classification
32pub mod moderations_modular;
33/// Real-time audio models for WebRTC streaming
34pub mod realtime_audio;
35/// Response models and data structures
36pub mod responses;
37/// Modern Responses API data structures
38pub mod responses_v2;
39/// Runs models for assistant execution and run steps management
40pub mod runs;
41/// Threads models for conversation thread and message management
42pub mod threads;
43/// Comprehensive tools support (web search, file search, MCP, etc.)
44pub mod tools;
45/// Vector stores models for RAG and knowledge management
46pub mod vector_stores;
47
48// Re-export commonly used types while avoiding conflicts
49// For conflicting types, users should import from specific modules
50
51// Assistants API
52pub use assistants::{
53    Assistant, AssistantRequest, AssistantTool, ListAssistantsParams, ListAssistantsResponse,
54};
55
56// Audio API - explicit exports to avoid conflicts
57pub use audio::builders as audio_builders;
58pub use audio::requests as audio_requests;
59pub use audio::types as audio_types;
60pub use audio::{
61    AudioFormat, AudioModels, AudioSpeechRequest, AudioSpeechResponse, AudioTranscriptionRequest,
62    AudioTranscriptionResponse, AudioTranslationRequest, AudioTranslationResponse,
63    TimestampGranularity, TranscriptionFormat, Voice,
64};
65
66// Containers API
67pub use containers::*;
68
69// Embeddings API
70pub use embeddings::*;
71
72// Files API
73pub use files::{
74    File, FileDeleteResponse, FilePurpose, FileStatus, FileUploadRequest, ListFilesParams,
75    ListFilesResponse, SortOrder as FileSortOrder,
76};
77
78// Fine-tuning API
79pub use fine_tuning::*;
80
81// Functions API
82pub use functions::{
83    CustomTool, FunctionCall as FunctionCallType, FunctionCallOutput, FunctionSelector,
84    FunctionTool as FunctionToolType, Grammar, Tool, ToolChoice as FunctionToolChoice,
85};
86
87// GPT-5 API
88pub use gpt5::*;
89
90// Images API - explicit exports to avoid conflicts
91pub use images::builders as image_builders;
92pub use images::requests as image_requests;
93pub use images::types as image_types;
94pub use images::{
95    ImageData, ImageEditRequest, ImageGenerationRequest, ImageModels, ImageQuality, ImageResponse,
96    ImageResponseFormat, ImageSize, ImageStyle, ImageVariationRequest,
97};
98
99// Models API - explicit exports to avoid conflicts
100pub use models::implementations as model_implementations;
101pub use models::{
102    ListModelsResponse, Model, ModelCapabilities, ModelPermission, ModelRequirements,
103};
104
105// Moderations API - explicit exports to avoid conflicts
106pub use moderations::builders as moderation_builders;
107pub use moderations::types as moderation_types;
108pub use moderations::{
109    CategoryScores, ModerationCategories, ModerationModels, ModerationRequest, ModerationResponse,
110    ModerationResult,
111};
112
113// Real-time Audio API
114pub use realtime_audio::*;
115
116// Responses API
117pub use responses::{
118    ImageContent, ImageDetail, ImageInput, ImageUrl, JsonSchemaSpec, MessageContent,
119    MessageContentInput, MessageRole, PromptTemplate, PromptVariable, ResponseFormat,
120    ResponseInput, ResponseOutput, ResponseRequest, SchemaValidationResult, TextContent, Usage,
121};
122pub use responses_v2::{
123    Annotation as ResponsesApiAnnotation,
124    CompletionTokenDetails as ResponsesApiCompletionTokenDetails,
125    ContentPart as ResponsesApiContentPart, ConversationObject as ResponsesApiConversationObject,
126    ConversationReference as ResponsesApiConversationReference, CreateResponseRequest,
127    Instructions as ResponsesApiInstructions, PromptTokenDetails as ResponsesApiPromptTokenDetails,
128    ResponseError as ResponsesApiError, ResponseInput as ResponsesApiInput,
129    ResponseItem as ResponsesApiItem, ResponseObject, ResponseStatus, ResponseStreamEvent,
130    ResponseUsage as ResponsesApiUsage, ServiceTier as ResponsesApiServiceTier,
131    StreamOptions as ResponsesApiStreamOptions,
132};
133
134// Runs API
135pub use runs::{
136    CreateThreadAndRunRequest, FunctionCall as RunFunctionCall, ListRunStepsParams,
137    ListRunStepsResponse, ListRunsParams, ListRunsResponse, RequiredAction, Run, RunError,
138    RunRequest, RunRequestBuilder, RunStatus, RunStep, RunStepStatus, StepDetails,
139    SubmitToolOutputsRequest, ToolOutput, Usage as RunUsage,
140};
141
142// Threads API
143pub use threads::{
144    Annotation, DeletionStatus, FileCitation, FilePathInfo, ImageFile, ListMessageFilesResponse,
145    ListMessagesParams, ListMessagesResponse, ListThreadsResponse, Message, MessageFile,
146    MessageRequest, MessageRequestBuilder, MessageRole as ThreadMessageRole,
147    SortOrder as ThreadSortOrder, Thread, ThreadRequest, ThreadRequestBuilder,
148};
149
150// Tools API
151pub use tools::{
152    CodeInterpreterBuilder, CodeInterpreterConfig, ComputerUseBuilder, ComputerUseConfig,
153    EnhancedTool, EnhancedToolChoice, FileSearchBuilder, FileSearchConfig, FunctionBuilder,
154    FunctionTool, ImageGenerationConfig, ImageGenerationToolBuilder, McpApproval, McpBuilder,
155    McpTool, SearchFilters, SpecificToolChoice, ToolBuilder, WebSearchBuilder, WebSearchConfig,
156};
157
158// Vector Stores API
159pub use vector_stores::{
160    ChunkingStrategy, ExpirationPolicy, FileCounts, ListVectorStoreFilesParams,
161    ListVectorStoreFilesResponse, ListVectorStoresParams, ListVectorStoresResponse, VectorStore,
162    VectorStoreDeleteResponse, VectorStoreFile, VectorStoreFileBatch, VectorStoreFileBatchRequest,
163    VectorStoreFileBatchStatus, VectorStoreFileDeleteResponse, VectorStoreFileError,
164    VectorStoreFileRequest, VectorStoreFileStatus, VectorStoreRequest, VectorStoreRequestBuilder,
165    VectorStoreStatus,
166};