async_openai/
impls.rs

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
57// request builder impls macro
58
59/// Macro to implement `RequestOptionsBuilder` for wrapper types containing `RequestOptions`
60macro_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);