1use crate::{
2 admin::AdminAPIKeys,
3 admin::AuditLogs,
4 admin::Certificates,
5 admin::GroupRoles,
6 admin::GroupUsers,
7 admin::Groups,
8 admin::Invites,
9 admin::ProjectAPIKeys,
10 admin::ProjectCertificates,
11 admin::ProjectGroupRoles,
12 admin::ProjectGroups,
13 admin::ProjectRateLimits,
14 admin::ProjectRoles,
15 admin::ProjectServiceAccounts,
16 admin::ProjectUserRoles,
17 admin::ProjectUsers,
18 admin::Projects,
19 admin::Roles,
20 admin::Usage,
21 admin::UserRoles,
22 admin::Users,
23 assistants::Assistants,
24 assistants::Messages,
25 assistants::Runs,
26 assistants::Steps,
27 assistants::Threads,
28 audio::Audio,
29 audio::Speech,
30 audio::Transcriptions,
31 audio::Translations,
32 batches::Batches,
33 chat::Chat,
34 chatkit::{Chatkit, ChatkitSessions, ChatkitThreads},
35 completion::Completions,
36 containers::ContainerFiles,
37 containers::Containers,
38 embedding::Embeddings,
39 evals::EvalRunOutputItems,
40 evals::EvalRuns,
41 evals::Evals,
42 file::Files,
43 fine_tuning::FineTuning,
44 image::Images,
45 model::Models,
46 moderation::Moderations,
47 responses::ConversationItems,
48 responses::Conversations,
49 responses::Responses,
50 uploads::Uploads,
51 vectorstores::VectorStoreFileBatches,
52 vectorstores::VectorStoreFiles,
53 vectorstores::VectorStores,
54 video::Videos,
55};
56
57macro_rules! impl_request_options_builder {
61 ($type:ident) => {
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 = "realtime")]
75use crate::Realtime;
76
77impl_request_options_builder!(AdminAPIKeys);
78impl_request_options_builder!(Assistants);
79impl_request_options_builder!(Audio);
80impl_request_options_builder!(AuditLogs);
81impl_request_options_builder!(Batches);
82impl_request_options_builder!(Certificates);
83impl_request_options_builder!(Chat);
84impl_request_options_builder!(Chatkit);
85impl_request_options_builder!(ChatkitSessions);
86impl_request_options_builder!(ChatkitThreads);
87impl_request_options_builder!(Completions);
88impl_request_options_builder!(ContainerFiles);
89impl_request_options_builder!(Containers);
90impl_request_options_builder!(ConversationItems);
91impl_request_options_builder!(Conversations);
92impl_request_options_builder!(Embeddings);
93impl_request_options_builder!(Evals);
94impl_request_options_builder!(EvalRunOutputItems);
95impl_request_options_builder!(EvalRuns);
96impl_request_options_builder!(Files);
97impl_request_options_builder!(FineTuning);
98impl_request_options_builder!(GroupRoles);
99impl_request_options_builder!(GroupUsers);
100impl_request_options_builder!(Groups);
101impl_request_options_builder!(Images);
102impl_request_options_builder!(Invites);
103impl_request_options_builder!(Messages);
104impl_request_options_builder!(Models);
105impl_request_options_builder!(Moderations);
106impl_request_options_builder!(Projects);
107impl_request_options_builder!(ProjectGroupRoles);
108impl_request_options_builder!(ProjectGroups);
109impl_request_options_builder!(ProjectRoles);
110impl_request_options_builder!(ProjectUserRoles);
111impl_request_options_builder!(ProjectUsers);
112impl_request_options_builder!(ProjectServiceAccounts);
113impl_request_options_builder!(ProjectAPIKeys);
114impl_request_options_builder!(ProjectRateLimits);
115impl_request_options_builder!(ProjectCertificates);
116impl_request_options_builder!(Roles);
117#[cfg(feature = "realtime")]
118impl_request_options_builder!(Realtime);
119impl_request_options_builder!(Responses);
120impl_request_options_builder!(Runs);
121impl_request_options_builder!(Speech);
122impl_request_options_builder!(Steps);
123impl_request_options_builder!(Threads);
124impl_request_options_builder!(Transcriptions);
125impl_request_options_builder!(Translations);
126impl_request_options_builder!(Uploads);
127impl_request_options_builder!(Usage);
128impl_request_options_builder!(UserRoles);
129impl_request_options_builder!(Users);
130impl_request_options_builder!(VectorStoreFileBatches);
131impl_request_options_builder!(VectorStoreFiles);
132impl_request_options_builder!(VectorStores);
133impl_request_options_builder!(Videos);