Skip to main content

async_openai/types/
mod.rs

1//! Types used in OpenAI API requests and responses.
2//! These types are created from component schemas in the [OpenAPI spec](https://github.com/openai/openai-openapi)
3#[cfg(feature = "administration-types")]
4pub mod admin;
5#[cfg(feature = "assistant-types")]
6pub mod assistants;
7#[cfg(feature = "audio-types")]
8pub mod audio;
9#[cfg(feature = "batch-types")]
10pub mod batches;
11#[cfg(feature = "chat-completion-types")]
12pub mod chat;
13#[cfg(feature = "chatkit-types")]
14pub mod chatkit;
15#[cfg(feature = "completion-types")]
16pub mod completions;
17#[cfg(feature = "container-types")]
18pub mod containers;
19#[cfg(feature = "embedding-types")]
20pub mod embeddings;
21#[cfg(feature = "eval-types")]
22pub mod evals;
23#[cfg(feature = "file-types")]
24pub mod files;
25#[cfg(feature = "finetuning-types")]
26pub mod finetuning;
27#[cfg(feature = "grader-types")]
28pub mod graders;
29#[cfg(feature = "image-types")]
30pub mod images;
31#[cfg(any(
32    feature = "audio-types",
33    feature = "file-types",
34    feature = "upload-types",
35    feature = "image-types",
36    feature = "video-types",
37    feature = "container-types",
38    feature = "skill-types",
39    feature = "chat-completion-types",
40    feature = "realtime-types"
41))]
42mod input_source;
43#[cfg(any(feature = "response-types", feature = "realtime-types"))]
44pub mod mcp;
45#[cfg(any(
46    feature = "response-types",
47    feature = "audio-types",
48    feature = "video-types",
49    feature = "image-types",
50    feature = "batch-types",
51    feature = "file-types",
52    feature = "upload-types",
53    feature = "vectorstore-types",
54    feature = "container-types",
55    feature = "chat-completion-types",
56    feature = "realtime-types"
57))]
58mod metadata;
59#[cfg(feature = "model-types")]
60pub mod models;
61#[cfg(feature = "moderation-types")]
62pub mod moderations;
63#[cfg_attr(docsrs, doc(cfg(feature = "realtime-types")))]
64#[cfg(feature = "realtime-types")]
65pub mod realtime;
66#[cfg(feature = "response-types")]
67pub mod responses;
68#[cfg(any(
69    feature = "response-types",
70    feature = "video-types",
71    feature = "vectorstore-types",
72    feature = "chat-completion-types",
73    feature = "assistant-types",
74    feature = "batch-types",
75    feature = "audio-types",
76    feature = "realtime-types",
77    feature = "image-types"
78))]
79mod shared;
80#[cfg(feature = "skill-types")]
81pub mod skills;
82#[cfg(feature = "upload-types")]
83pub mod uploads;
84#[cfg(feature = "vectorstore-types")]
85pub mod vectorstores;
86#[cfg(feature = "video-types")]
87pub mod videos;
88#[cfg_attr(docsrs, doc(cfg(feature = "webhook-types")))]
89#[cfg(feature = "webhook-types")]
90pub mod webhooks;
91
92#[cfg(any(
93    feature = "audio-types",
94    feature = "file-types",
95    feature = "upload-types",
96    feature = "image-types",
97    feature = "video-types",
98    feature = "container-types",
99    feature = "skill-types",
100    feature = "chat-completion-types",
101    feature = "realtime-types"
102))]
103pub use input_source::*;
104
105#[cfg(any(
106    feature = "audio-types",
107    feature = "batch-types",
108    feature = "file-types",
109    feature = "upload-types",
110    feature = "image-types",
111    feature = "video-types",
112    feature = "vectorstore-types",
113    feature = "container-types",
114    feature = "response-types",
115    feature = "chat-completion-types",
116    feature = "realtime-types"
117))]
118pub use metadata::*;
119
120#[cfg(any(
121    feature = "audio-types",
122    feature = "file-types",
123    feature = "image-types",
124    feature = "chat-completion-types",
125    feature = "completion-types",
126    feature = "embedding-types",
127    feature = "moderation-types",
128    feature = "video-types"
129))]
130mod impls;
131
132#[cfg(any(
133    feature = "response-types",
134    feature = "audio-types",
135    feature = "file-types",
136    feature = "image-types",
137    feature = "chat-completion-types",
138    feature = "completion-types",
139    feature = "embedding-types",
140    feature = "moderation-types",
141    feature = "administration-types",
142))]
143impl From<derive_builder::UninitializedFieldError> for crate::error::OpenAIError {
144    fn from(value: derive_builder::UninitializedFieldError) -> Self {
145        crate::error::OpenAIError::InvalidArgument(value.to_string())
146    }
147}