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")]
24#[allow(deprecated)]
25use crate::video::Videos;
26#[cfg(feature = "administration")]
27use crate::{
28 admin::AdminAPIKeys, admin::AuditLogs, admin::Certificates, admin::GroupRoles,
29 admin::GroupUsers, admin::Groups, admin::Invites, admin::ProjectAPIKeys,
30 admin::ProjectCertificates, admin::ProjectGroupRoles, admin::ProjectGroups,
31 admin::ProjectRateLimits, admin::ProjectRoles, admin::ProjectServiceAccounts,
32 admin::ProjectUserRoles, admin::ProjectUsers, admin::Projects, admin::Roles, admin::Usage,
33 admin::UserRoles, admin::Users,
34};
35#[cfg(feature = "audio")]
36#[allow(deprecated)]
37use crate::{audio::Audio, audio::Speech, audio::Transcriptions, audio::Translations};
38#[cfg(feature = "container")]
39use crate::{containers::ContainerFiles, containers::Containers};
40#[cfg(feature = "evals")]
41use crate::{evals::EvalRunOutputItems, evals::EvalRuns, evals::Evals};
42#[cfg(feature = "responses")]
43use crate::{responses::ConversationItems, responses::Conversations, responses::Responses};
44#[cfg(feature = "skill")]
45use crate::{skills::SkillVersions, skills::Skills};
46#[cfg(feature = "vectorstore")]
47use crate::{
48 vectorstores::VectorStoreFileBatches, vectorstores::VectorStoreFiles,
49 vectorstores::VectorStores,
50};
51#[cfg(feature = "realtime")]
52use crate::{Realtime, RealtimeTranslations};
53
54#[cfg(feature = "_api")]
58#[allow(unused_macros)]
59macro_rules! impl_request_options_builder {
60 ($type:ident) => {
61 #[allow(deprecated)]
62 impl<'c, C: crate::config::Config> crate::traits::RequestOptionsBuilder for $type<'c, C> {
63 fn options_mut(&mut self) -> &mut crate::RequestOptions {
64 &mut self.request_options
65 }
66
67 fn options(&self) -> &crate::RequestOptions {
68 &self.request_options
69 }
70 }
71 };
72}
73
74#[cfg(feature = "administration")]
75impl_request_options_builder!(AdminAPIKeys);
76#[cfg(feature = "audio")]
77impl_request_options_builder!(Audio);
78#[cfg(feature = "administration")]
79impl_request_options_builder!(AuditLogs);
80#[cfg(feature = "batch")]
81impl_request_options_builder!(Batches);
82#[cfg(feature = "administration")]
83impl_request_options_builder!(Certificates);
84#[cfg(feature = "chat-completion")]
85impl_request_options_builder!(Chat);
86#[cfg(feature = "chatkit")]
87impl_request_options_builder!(Chatkit);
88#[cfg(feature = "chatkit")]
89impl_request_options_builder!(ChatkitSessions);
90#[cfg(feature = "chatkit")]
91impl_request_options_builder!(ChatkitThreads);
92#[cfg(feature = "completions")]
93impl_request_options_builder!(Completions);
94#[cfg(feature = "container")]
95impl_request_options_builder!(ContainerFiles);
96#[cfg(feature = "container")]
97impl_request_options_builder!(Containers);
98#[cfg(feature = "responses")]
99impl_request_options_builder!(ConversationItems);
100#[cfg(feature = "responses")]
101impl_request_options_builder!(Conversations);
102#[cfg(feature = "embedding")]
103impl_request_options_builder!(Embeddings);
104#[cfg(feature = "evals")]
105impl_request_options_builder!(Evals);
106#[cfg(feature = "evals")]
107impl_request_options_builder!(EvalRunOutputItems);
108#[cfg(feature = "evals")]
109impl_request_options_builder!(EvalRuns);
110#[cfg(feature = "file")]
111impl_request_options_builder!(Files);
112#[cfg(feature = "finetuning")]
113impl_request_options_builder!(FineTuning);
114#[cfg(feature = "administration")]
115impl_request_options_builder!(GroupRoles);
116#[cfg(feature = "administration")]
117impl_request_options_builder!(GroupUsers);
118#[cfg(feature = "administration")]
119impl_request_options_builder!(Groups);
120#[cfg(feature = "image")]
121impl_request_options_builder!(Images);
122#[cfg(feature = "administration")]
123impl_request_options_builder!(Invites);
124#[cfg(feature = "model")]
125impl_request_options_builder!(Models);
126#[cfg(feature = "moderation")]
127impl_request_options_builder!(Moderations);
128#[cfg(feature = "administration")]
129impl_request_options_builder!(Projects);
130#[cfg(feature = "administration")]
131impl_request_options_builder!(ProjectGroupRoles);
132#[cfg(feature = "administration")]
133impl_request_options_builder!(ProjectGroups);
134#[cfg(feature = "administration")]
135impl_request_options_builder!(ProjectRoles);
136#[cfg(feature = "administration")]
137impl_request_options_builder!(ProjectUserRoles);
138#[cfg(feature = "administration")]
139impl_request_options_builder!(ProjectUsers);
140#[cfg(feature = "administration")]
141impl_request_options_builder!(ProjectServiceAccounts);
142#[cfg(feature = "administration")]
143impl_request_options_builder!(ProjectAPIKeys);
144#[cfg(feature = "administration")]
145impl_request_options_builder!(ProjectRateLimits);
146#[cfg(feature = "administration")]
147impl_request_options_builder!(ProjectCertificates);
148#[cfg(feature = "administration")]
149impl_request_options_builder!(Roles);
150#[cfg(feature = "realtime")]
151impl_request_options_builder!(Realtime);
152#[cfg(feature = "realtime")]
153impl_request_options_builder!(RealtimeTranslations);
154#[cfg(feature = "responses")]
155impl_request_options_builder!(Responses);
156#[cfg(feature = "skill")]
157impl_request_options_builder!(SkillVersions);
158#[cfg(feature = "skill")]
159impl_request_options_builder!(Skills);
160#[cfg(feature = "audio")]
161impl_request_options_builder!(Speech);
162#[cfg(feature = "audio")]
163impl_request_options_builder!(Transcriptions);
164#[cfg(feature = "audio")]
165impl_request_options_builder!(Translations);
166#[cfg(feature = "upload")]
167impl_request_options_builder!(Uploads);
168#[cfg(feature = "administration")]
169impl_request_options_builder!(Usage);
170#[cfg(feature = "administration")]
171impl_request_options_builder!(UserRoles);
172#[cfg(feature = "administration")]
173impl_request_options_builder!(Users);
174#[cfg(feature = "vectorstore")]
175impl_request_options_builder!(VectorStoreFileBatches);
176#[cfg(feature = "vectorstore")]
177impl_request_options_builder!(VectorStoreFiles);
178#[cfg(feature = "vectorstore")]
179impl_request_options_builder!(VectorStores);
180#[cfg(feature = "video")]
181impl_request_options_builder!(Videos);
182
183#[cfg(feature = "administration")]
184use crate::OrganizationDataRetentions;
185#[cfg(feature = "administration")]
186impl_request_options_builder!(OrganizationDataRetentions);
187
188#[cfg(feature = "administration")]
189use crate::OrganizationSpendAlerts;
190#[cfg(feature = "administration")]
191impl_request_options_builder!(OrganizationSpendAlerts);
192
193#[cfg(feature = "administration")]
194use crate::OrganizationSpendLimit;
195#[cfg(feature = "administration")]
196impl_request_options_builder!(OrganizationSpendLimit);
197
198#[cfg(feature = "administration")]
199use crate::ProjectDataRetentions;
200#[cfg(feature = "administration")]
201impl_request_options_builder!(ProjectDataRetentions);
202
203#[cfg(feature = "administration")]
204use crate::ProjectSpendAlerts;
205#[cfg(feature = "administration")]
206impl_request_options_builder!(ProjectSpendAlerts);
207
208#[cfg(feature = "administration")]
209use crate::ProjectSpendLimit;
210#[cfg(feature = "administration")]
211impl_request_options_builder!(ProjectSpendLimit);
212
213#[cfg(feature = "administration")]
214use crate::ProjectHostedToolPermission;
215#[cfg(feature = "administration")]
216impl_request_options_builder!(ProjectHostedToolPermission);
217
218#[cfg(feature = "administration")]
219use crate::ProjectModelPermission;
220#[cfg(feature = "administration")]
221impl_request_options_builder!(ProjectModelPermission);
222
223#[cfg(feature = "safety")]
224use crate::SafetyAlerts;
225#[cfg(feature = "safety")]
226impl_request_options_builder!(SafetyAlerts);
227
228#[cfg(feature = "content-provenance-checks")]
229use crate::ContentProvenanceChecks;
230#[cfg(feature = "content-provenance-checks")]
231impl_request_options_builder!(ContentProvenanceChecks);
232
233#[cfg(feature = "decisions")]
234use crate::Decisions;
235#[cfg(feature = "decisions")]
236impl_request_options_builder!(Decisions);
237
238#[cfg(feature = "safety")]
239use crate::SafetyCases;
240#[cfg(feature = "safety")]
241impl_request_options_builder!(SafetyCases);
242
243#[cfg(feature = "administration")]
244use crate::ExternalKeys;
245#[cfg(feature = "administration")]
246impl_request_options_builder!(ExternalKeys);
247
248#[cfg(feature = "administration")]
249use crate::ExternalStorage;
250#[cfg(feature = "administration")]
251impl_request_options_builder!(ExternalStorage);