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 = "skill")]
51use crate::{skills::SkillVersions, skills::Skills};
52#[cfg(feature = "vectorstore")]
53use crate::{
54 vectorstores::VectorStoreFileBatches, vectorstores::VectorStoreFiles,
55 vectorstores::VectorStores,
56};
57
58#[cfg(feature = "_api")]
62#[allow(unused_macros)]
63macro_rules! impl_request_options_builder {
64 ($type:ident) => {
65 #[allow(deprecated)]
66 impl<'c, C: crate::config::Config> crate::traits::RequestOptionsBuilder for $type<'c, C> {
67 fn options_mut(&mut self) -> &mut crate::RequestOptions {
68 &mut self.request_options
69 }
70
71 fn options(&self) -> &crate::RequestOptions {
72 &self.request_options
73 }
74 }
75 };
76}
77
78#[cfg(feature = "administration")]
79impl_request_options_builder!(AdminAPIKeys);
80#[cfg(feature = "assistant")]
81impl_request_options_builder!(Assistants);
82#[cfg(feature = "audio")]
83impl_request_options_builder!(Audio);
84#[cfg(feature = "administration")]
85impl_request_options_builder!(AuditLogs);
86#[cfg(feature = "batch")]
87impl_request_options_builder!(Batches);
88#[cfg(feature = "administration")]
89impl_request_options_builder!(Certificates);
90#[cfg(feature = "chat-completion")]
91impl_request_options_builder!(Chat);
92#[cfg(feature = "chatkit")]
93impl_request_options_builder!(Chatkit);
94#[cfg(feature = "chatkit")]
95impl_request_options_builder!(ChatkitSessions);
96#[cfg(feature = "chatkit")]
97impl_request_options_builder!(ChatkitThreads);
98#[cfg(feature = "completions")]
99impl_request_options_builder!(Completions);
100#[cfg(feature = "container")]
101impl_request_options_builder!(ContainerFiles);
102#[cfg(feature = "container")]
103impl_request_options_builder!(Containers);
104#[cfg(feature = "responses")]
105impl_request_options_builder!(ConversationItems);
106#[cfg(feature = "responses")]
107impl_request_options_builder!(Conversations);
108#[cfg(feature = "embedding")]
109impl_request_options_builder!(Embeddings);
110#[cfg(feature = "evals")]
111impl_request_options_builder!(Evals);
112#[cfg(feature = "evals")]
113impl_request_options_builder!(EvalRunOutputItems);
114#[cfg(feature = "evals")]
115impl_request_options_builder!(EvalRuns);
116#[cfg(feature = "file")]
117impl_request_options_builder!(Files);
118#[cfg(feature = "finetuning")]
119impl_request_options_builder!(FineTuning);
120#[cfg(feature = "administration")]
121impl_request_options_builder!(GroupRoles);
122#[cfg(feature = "administration")]
123impl_request_options_builder!(GroupUsers);
124#[cfg(feature = "administration")]
125impl_request_options_builder!(Groups);
126#[cfg(feature = "image")]
127impl_request_options_builder!(Images);
128#[cfg(feature = "administration")]
129impl_request_options_builder!(Invites);
130#[cfg(feature = "assistant")]
131impl_request_options_builder!(Messages);
132#[cfg(feature = "model")]
133impl_request_options_builder!(Models);
134#[cfg(feature = "moderation")]
135impl_request_options_builder!(Moderations);
136#[cfg(feature = "administration")]
137impl_request_options_builder!(Projects);
138#[cfg(feature = "administration")]
139impl_request_options_builder!(ProjectGroupRoles);
140#[cfg(feature = "administration")]
141impl_request_options_builder!(ProjectGroups);
142#[cfg(feature = "administration")]
143impl_request_options_builder!(ProjectRoles);
144#[cfg(feature = "administration")]
145impl_request_options_builder!(ProjectUserRoles);
146#[cfg(feature = "administration")]
147impl_request_options_builder!(ProjectUsers);
148#[cfg(feature = "administration")]
149impl_request_options_builder!(ProjectServiceAccounts);
150#[cfg(feature = "administration")]
151impl_request_options_builder!(ProjectAPIKeys);
152#[cfg(feature = "administration")]
153impl_request_options_builder!(ProjectRateLimits);
154#[cfg(feature = "administration")]
155impl_request_options_builder!(ProjectCertificates);
156#[cfg(feature = "administration")]
157impl_request_options_builder!(Roles);
158#[cfg(feature = "realtime")]
159impl_request_options_builder!(Realtime);
160#[cfg(feature = "responses")]
161impl_request_options_builder!(Responses);
162#[cfg(feature = "assistant")]
163impl_request_options_builder!(Runs);
164#[cfg(feature = "skill")]
165impl_request_options_builder!(SkillVersions);
166#[cfg(feature = "skill")]
167impl_request_options_builder!(Skills);
168#[cfg(feature = "audio")]
169impl_request_options_builder!(Speech);
170#[cfg(feature = "assistant")]
171impl_request_options_builder!(Steps);
172#[cfg(feature = "assistant")]
173impl_request_options_builder!(Threads);
174#[cfg(feature = "audio")]
175impl_request_options_builder!(Transcriptions);
176#[cfg(feature = "audio")]
177impl_request_options_builder!(Translations);
178#[cfg(feature = "upload")]
179impl_request_options_builder!(Uploads);
180#[cfg(feature = "administration")]
181impl_request_options_builder!(Usage);
182#[cfg(feature = "administration")]
183impl_request_options_builder!(UserRoles);
184#[cfg(feature = "administration")]
185impl_request_options_builder!(Users);
186#[cfg(feature = "vectorstore")]
187impl_request_options_builder!(VectorStoreFileBatches);
188#[cfg(feature = "vectorstore")]
189impl_request_options_builder!(VectorStoreFiles);
190#[cfg(feature = "vectorstore")]
191impl_request_options_builder!(VectorStores);
192#[cfg(feature = "video")]
193impl_request_options_builder!(Videos);