1#[cfg(feature = "batch")]
2use crate::batches::Batches;
3#[cfg(feature = "chat-completion")]
4use crate::chat::Chat;
5#[cfg(feature = "chatkit")]
6use crate::chatkit::{Chatkit, ChatkitSessions, ChatkitThreads};
7#[cfg(feature = "completions")]
8use crate::completion::Completions;
9#[cfg(feature = "embedding")]
10use crate::embedding::Embeddings;
11#[cfg(feature = "file")]
12use crate::file::Files;
13#[cfg(feature = "finetuning")]
14use crate::fine_tuning::FineTuning;
15#[cfg(feature = "image")]
16use crate::image::Images;
17#[cfg(feature = "model")]
18use crate::model::Models;
19#[cfg(feature = "moderation")]
20use crate::moderation::Moderations;
21#[cfg(feature = "upload")]
22use crate::uploads::Uploads;
23#[cfg(feature = "video")]
24use crate::video::Videos;
25#[cfg(feature = "realtime")]
26use crate::Realtime;
27#[cfg(feature = "administration")]
28use crate::{
29 admin::AdminAPIKeys, admin::AuditLogs, admin::Certificates, admin::GroupRoles,
30 admin::GroupUsers, admin::Groups, admin::Invites, admin::ProjectAPIKeys,
31 admin::ProjectCertificates, admin::ProjectGroupRoles, admin::ProjectGroups,
32 admin::ProjectRateLimits, admin::ProjectRoles, admin::ProjectServiceAccounts,
33 admin::ProjectUserRoles, admin::ProjectUsers, admin::Projects, admin::Roles, admin::Usage,
34 admin::UserRoles, admin::Users,
35};
36#[cfg(feature = "assistant")]
37#[allow(deprecated)]
38use crate::{
39 assistants::Assistants, assistants::Messages, assistants::Runs, assistants::Steps,
40 assistants::Threads,
41};
42#[cfg(feature = "audio")]
43use crate::{audio::Audio, audio::Speech, audio::Transcriptions, audio::Translations};
44#[cfg(feature = "container")]
45use crate::{containers::ContainerFiles, containers::Containers};
46#[cfg(feature = "evals")]
47use crate::{evals::EvalRunOutputItems, evals::EvalRuns, evals::Evals};
48#[cfg(feature = "responses")]
49use crate::{responses::ConversationItems, responses::Conversations, responses::Responses};
50#[cfg(feature = "vectorstore")]
51use crate::{
52 vectorstores::VectorStoreFileBatches, vectorstores::VectorStoreFiles,
53 vectorstores::VectorStores,
54};
55
56#[cfg(feature = "_api")]
60macro_rules! impl_request_options_builder {
61 ($type:ident) => {
62 #[allow(deprecated)]
63 impl<'c, C: crate::config::Config> crate::traits::RequestOptionsBuilder for $type<'c, C> {
64 fn options_mut(&mut self) -> &mut crate::RequestOptions {
65 &mut self.request_options
66 }
67
68 fn options(&self) -> &crate::RequestOptions {
69 &self.request_options
70 }
71 }
72 };
73}
74
75#[cfg(feature = "administration")]
76impl_request_options_builder!(AdminAPIKeys);
77#[cfg(feature = "assistant")]
78impl_request_options_builder!(Assistants);
79#[cfg(feature = "audio")]
80impl_request_options_builder!(Audio);
81#[cfg(feature = "administration")]
82impl_request_options_builder!(AuditLogs);
83#[cfg(feature = "batch")]
84impl_request_options_builder!(Batches);
85#[cfg(feature = "administration")]
86impl_request_options_builder!(Certificates);
87#[cfg(feature = "chat-completion")]
88impl_request_options_builder!(Chat);
89#[cfg(feature = "chatkit")]
90impl_request_options_builder!(Chatkit);
91#[cfg(feature = "chatkit")]
92impl_request_options_builder!(ChatkitSessions);
93#[cfg(feature = "chatkit")]
94impl_request_options_builder!(ChatkitThreads);
95#[cfg(feature = "completions")]
96impl_request_options_builder!(Completions);
97#[cfg(feature = "container")]
98impl_request_options_builder!(ContainerFiles);
99#[cfg(feature = "container")]
100impl_request_options_builder!(Containers);
101#[cfg(feature = "responses")]
102impl_request_options_builder!(ConversationItems);
103#[cfg(feature = "responses")]
104impl_request_options_builder!(Conversations);
105#[cfg(feature = "embedding")]
106impl_request_options_builder!(Embeddings);
107#[cfg(feature = "evals")]
108impl_request_options_builder!(Evals);
109#[cfg(feature = "evals")]
110impl_request_options_builder!(EvalRunOutputItems);
111#[cfg(feature = "evals")]
112impl_request_options_builder!(EvalRuns);
113#[cfg(feature = "file")]
114impl_request_options_builder!(Files);
115#[cfg(feature = "finetuning")]
116impl_request_options_builder!(FineTuning);
117#[cfg(feature = "administration")]
118impl_request_options_builder!(GroupRoles);
119#[cfg(feature = "administration")]
120impl_request_options_builder!(GroupUsers);
121#[cfg(feature = "administration")]
122impl_request_options_builder!(Groups);
123#[cfg(feature = "image")]
124impl_request_options_builder!(Images);
125#[cfg(feature = "administration")]
126impl_request_options_builder!(Invites);
127#[cfg(feature = "assistant")]
128impl_request_options_builder!(Messages);
129#[cfg(feature = "model")]
130impl_request_options_builder!(Models);
131#[cfg(feature = "moderation")]
132impl_request_options_builder!(Moderations);
133#[cfg(feature = "administration")]
134impl_request_options_builder!(Projects);
135#[cfg(feature = "administration")]
136impl_request_options_builder!(ProjectGroupRoles);
137#[cfg(feature = "administration")]
138impl_request_options_builder!(ProjectGroups);
139#[cfg(feature = "administration")]
140impl_request_options_builder!(ProjectRoles);
141#[cfg(feature = "administration")]
142impl_request_options_builder!(ProjectUserRoles);
143#[cfg(feature = "administration")]
144impl_request_options_builder!(ProjectUsers);
145#[cfg(feature = "administration")]
146impl_request_options_builder!(ProjectServiceAccounts);
147#[cfg(feature = "administration")]
148impl_request_options_builder!(ProjectAPIKeys);
149#[cfg(feature = "administration")]
150impl_request_options_builder!(ProjectRateLimits);
151#[cfg(feature = "administration")]
152impl_request_options_builder!(ProjectCertificates);
153#[cfg(feature = "administration")]
154impl_request_options_builder!(Roles);
155#[cfg(feature = "realtime")]
156impl_request_options_builder!(Realtime);
157#[cfg(feature = "responses")]
158impl_request_options_builder!(Responses);
159#[cfg(feature = "assistant")]
160impl_request_options_builder!(Runs);
161#[cfg(feature = "audio")]
162impl_request_options_builder!(Speech);
163#[cfg(feature = "assistant")]
164impl_request_options_builder!(Steps);
165#[cfg(feature = "assistant")]
166impl_request_options_builder!(Threads);
167#[cfg(feature = "audio")]
168impl_request_options_builder!(Transcriptions);
169#[cfg(feature = "audio")]
170impl_request_options_builder!(Translations);
171#[cfg(feature = "upload")]
172impl_request_options_builder!(Uploads);
173#[cfg(feature = "administration")]
174impl_request_options_builder!(Usage);
175#[cfg(feature = "administration")]
176impl_request_options_builder!(UserRoles);
177#[cfg(feature = "administration")]
178impl_request_options_builder!(Users);
179#[cfg(feature = "vectorstore")]
180impl_request_options_builder!(VectorStoreFileBatches);
181#[cfg(feature = "vectorstore")]
182impl_request_options_builder!(VectorStoreFiles);
183#[cfg(feature = "vectorstore")]
184impl_request_options_builder!(VectorStores);
185#[cfg(feature = "video")]
186impl_request_options_builder!(Videos);