1use crate::{
2 admin_api_keys::AdminAPIKeys,
3 assistants::Assistants,
4 audio::Audio,
5 audit_logs::AuditLogs,
6 batches::Batches,
7 certificates::Certificates,
8 chat::Chat,
9 chatkit::{Chatkit, ChatkitSessions, ChatkitThreads},
10 completion::Completions,
11 container_files::ContainerFiles,
12 containers::Containers,
13 conversation_items::ConversationItems,
14 conversations::Conversations,
15 embedding::Embeddings,
16 eval_run_output_items::EvalRunOutputItems,
17 eval_runs::EvalRuns,
18 evals::Evals,
19 file::Files,
20 fine_tuning::FineTuning,
21 group_roles::GroupRoles,
22 group_users::GroupUsers,
23 groups::Groups,
24 image::Images,
25 invites::Invites,
26 messages::Messages,
27 model::Models,
28 moderation::Moderations,
29 project_api_keys::ProjectAPIKeys,
30 project_certificates::ProjectCertificates,
31 project_group_roles::ProjectGroupRoles,
32 project_groups::ProjectGroups,
33 project_rate_limits::ProjectRateLimits,
34 project_roles::ProjectRoles,
35 project_service_accounts::ProjectServiceAccounts,
36 project_user_roles::ProjectUserRoles,
37 project_users::ProjectUsers,
38 projects::Projects,
39 responses::Responses,
40 roles::Roles,
41 runs::Runs,
42 speech::Speech,
43 steps::Steps,
44 threads::Threads,
45 transcriptions::Transcriptions,
46 translations::Translations,
47 uploads::Uploads,
48 usage::Usage,
49 user_roles::UserRoles,
50 users::Users,
51 vector_store_file_batches::VectorStoreFileBatches,
52 vector_store_files::VectorStoreFiles,
53 vector_stores::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);