Skip to main content

async_openai/
impls.rs

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