1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
17#[serde(untagged)]
18pub enum CreateAssistantDtoModel {
19 AnthropicModel(models::AnthropicModel),
20 AnyscaleModel(models::AnyscaleModel),
21 CerebrasModel(models::CerebrasModel),
22 CustomLlmModel(models::CustomLlmModel),
23 DeepInfraModel(models::DeepInfraModel),
24 DeepSeekModel(models::DeepSeekModel),
25 GoogleModel(models::GoogleModel),
26 GroqModel(models::GroqModel),
27 InflectionAiModel(models::InflectionAiModel),
28 OpenAiModel(models::OpenAiModel),
29 OpenRouterModel(models::OpenRouterModel),
30 PerplexityAiModel(models::PerplexityAiModel),
31 TogetherAiModel(models::TogetherAiModel),
32 XaiModel(models::XaiModel),
33}
34
35impl Default for CreateAssistantDtoModel {
36 fn default() -> Self {
37 Self::AnthropicModel(Default::default())
38 }
39}
40#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
42pub enum ModelTrue {
43 #[serde(rename = "grok-beta")]
44 GrokBeta,
45 #[serde(rename = "grok-2")]
46 Grok2,
47 #[serde(rename = "grok-3")]
48 Grok3,
49}
50
51impl Default for ModelTrue {
52 fn default() -> ModelTrue {
53 Self::GrokBeta
54 }
55}
56#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
58pub enum ProviderTrue {
59 #[serde(rename = "xai")]
60 Xai,
61}
62
63impl Default for ProviderTrue {
64 fn default() -> ProviderTrue {
65 Self::Xai
66 }
67}
68#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
70pub enum MetadataSendModeTrue {
71 #[serde(rename = "off")]
72 Off,
73 #[serde(rename = "variable")]
74 Variable,
75 #[serde(rename = "destructured")]
76 Destructured,
77}
78
79impl Default for MetadataSendModeTrue {
80 fn default() -> MetadataSendModeTrue {
81 Self::Off
82 }
83}
84#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
86pub enum FallbackModelsTrue {
87 #[serde(rename = "gpt-4.1-2025-04-14")]
88 Gpt4Period120250414,
89 #[serde(rename = "gpt-4.1-mini-2025-04-14")]
90 Gpt4Period1Mini20250414,
91 #[serde(rename = "gpt-4.1-nano-2025-04-14")]
92 Gpt4Period1Nano20250414,
93 #[serde(rename = "gpt-4.1")]
94 Gpt4Period1,
95 #[serde(rename = "gpt-4.1-mini")]
96 Gpt4Period1Mini,
97 #[serde(rename = "gpt-4.1-nano")]
98 Gpt4Period1Nano,
99 #[serde(rename = "gpt-4.5-preview")]
100 Gpt4Period5Preview,
101 #[serde(rename = "chatgpt-4o-latest")]
102 Chatgpt4oLatest,
103 #[serde(rename = "o3")]
104 O3,
105 #[serde(rename = "o3-mini")]
106 O3Mini,
107 #[serde(rename = "o4-mini")]
108 O4Mini,
109 #[serde(rename = "o1-preview")]
110 O1Preview,
111 #[serde(rename = "o1-preview-2024-09-12")]
112 O1Preview20240912,
113 #[serde(rename = "o1-mini")]
114 O1Mini,
115 #[serde(rename = "o1-mini-2024-09-12")]
116 O1Mini20240912,
117 #[serde(rename = "gpt-4o-realtime-preview-2024-10-01")]
118 Gpt4oRealtimePreview20241001,
119 #[serde(rename = "gpt-4o-realtime-preview-2024-12-17")]
120 Gpt4oRealtimePreview20241217,
121 #[serde(rename = "gpt-4o-mini-realtime-preview-2024-12-17")]
122 Gpt4oMiniRealtimePreview20241217,
123 #[serde(rename = "gpt-4o-mini-2024-07-18")]
124 Gpt4oMini20240718,
125 #[serde(rename = "gpt-4o-mini")]
126 Gpt4oMini,
127 #[serde(rename = "gpt-4o")]
128 Gpt4o,
129 #[serde(rename = "gpt-4o-2024-05-13")]
130 Gpt4o20240513,
131 #[serde(rename = "gpt-4o-2024-08-06")]
132 Gpt4o20240806,
133 #[serde(rename = "gpt-4o-2024-11-20")]
134 Gpt4o20241120,
135 #[serde(rename = "gpt-4-turbo")]
136 Gpt4Turbo,
137 #[serde(rename = "gpt-4-turbo-2024-04-09")]
138 Gpt4Turbo20240409,
139 #[serde(rename = "gpt-4-turbo-preview")]
140 Gpt4TurboPreview,
141 #[serde(rename = "gpt-4-0125-preview")]
142 Gpt40125Preview,
143 #[serde(rename = "gpt-4-1106-preview")]
144 Gpt41106Preview,
145 #[serde(rename = "gpt-4")]
146 Gpt4,
147 #[serde(rename = "gpt-4-0613")]
148 Gpt40613,
149 #[serde(rename = "gpt-3.5-turbo")]
150 Gpt3Period5Turbo,
151 #[serde(rename = "gpt-3.5-turbo-0125")]
152 Gpt3Period5Turbo0125,
153 #[serde(rename = "gpt-3.5-turbo-1106")]
154 Gpt3Period5Turbo1106,
155 #[serde(rename = "gpt-3.5-turbo-16k")]
156 Gpt3Period5Turbo16k,
157 #[serde(rename = "gpt-3.5-turbo-0613")]
158 Gpt3Period5Turbo0613,
159 #[serde(rename = "gpt-4.1-2025-04-14:westus")]
160 Gpt4Period120250414ColonWestus,
161 #[serde(rename = "gpt-4.1-2025-04-14:eastus2")]
162 Gpt4Period120250414ColonEastus2,
163 #[serde(rename = "gpt-4.1-2025-04-14:eastus")]
164 Gpt4Period120250414ColonEastus,
165 #[serde(rename = "gpt-4.1-2025-04-14:westus3")]
166 Gpt4Period120250414ColonWestus3,
167 #[serde(rename = "gpt-4.1-2025-04-14:northcentralus")]
168 Gpt4Period120250414ColonNorthcentralus,
169 #[serde(rename = "gpt-4.1-2025-04-14:southcentralus")]
170 Gpt4Period120250414ColonSouthcentralus,
171 #[serde(rename = "gpt-4.1-mini-2025-04-14:westus")]
172 Gpt4Period1Mini20250414ColonWestus,
173 #[serde(rename = "gpt-4.1-mini-2025-04-14:eastus2")]
174 Gpt4Period1Mini20250414ColonEastus2,
175 #[serde(rename = "gpt-4.1-mini-2025-04-14:eastus")]
176 Gpt4Period1Mini20250414ColonEastus,
177 #[serde(rename = "gpt-4.1-mini-2025-04-14:westus3")]
178 Gpt4Period1Mini20250414ColonWestus3,
179 #[serde(rename = "gpt-4.1-mini-2025-04-14:northcentralus")]
180 Gpt4Period1Mini20250414ColonNorthcentralus,
181 #[serde(rename = "gpt-4.1-mini-2025-04-14:southcentralus")]
182 Gpt4Period1Mini20250414ColonSouthcentralus,
183 #[serde(rename = "gpt-4.1-nano-2025-04-14:westus")]
184 Gpt4Period1Nano20250414ColonWestus,
185 #[serde(rename = "gpt-4.1-nano-2025-04-14:eastus2")]
186 Gpt4Period1Nano20250414ColonEastus2,
187 #[serde(rename = "gpt-4.1-nano-2025-04-14:westus3")]
188 Gpt4Period1Nano20250414ColonWestus3,
189 #[serde(rename = "gpt-4.1-nano-2025-04-14:northcentralus")]
190 Gpt4Period1Nano20250414ColonNorthcentralus,
191 #[serde(rename = "gpt-4.1-nano-2025-04-14:southcentralus")]
192 Gpt4Period1Nano20250414ColonSouthcentralus,
193 #[serde(rename = "gpt-4o-2024-11-20:swedencentral")]
194 Gpt4o20241120ColonSwedencentral,
195 #[serde(rename = "gpt-4o-2024-11-20:westus")]
196 Gpt4o20241120ColonWestus,
197 #[serde(rename = "gpt-4o-2024-11-20:eastus2")]
198 Gpt4o20241120ColonEastus2,
199 #[serde(rename = "gpt-4o-2024-11-20:eastus")]
200 Gpt4o20241120ColonEastus,
201 #[serde(rename = "gpt-4o-2024-11-20:westus3")]
202 Gpt4o20241120ColonWestus3,
203 #[serde(rename = "gpt-4o-2024-11-20:southcentralus")]
204 Gpt4o20241120ColonSouthcentralus,
205 #[serde(rename = "gpt-4o-2024-08-06:westus")]
206 Gpt4o20240806ColonWestus,
207 #[serde(rename = "gpt-4o-2024-08-06:westus3")]
208 Gpt4o20240806ColonWestus3,
209 #[serde(rename = "gpt-4o-2024-08-06:eastus")]
210 Gpt4o20240806ColonEastus,
211 #[serde(rename = "gpt-4o-2024-08-06:eastus2")]
212 Gpt4o20240806ColonEastus2,
213 #[serde(rename = "gpt-4o-2024-08-06:northcentralus")]
214 Gpt4o20240806ColonNorthcentralus,
215 #[serde(rename = "gpt-4o-2024-08-06:southcentralus")]
216 Gpt4o20240806ColonSouthcentralus,
217 #[serde(rename = "gpt-4o-mini-2024-07-18:westus")]
218 Gpt4oMini20240718ColonWestus,
219 #[serde(rename = "gpt-4o-mini-2024-07-18:westus3")]
220 Gpt4oMini20240718ColonWestus3,
221 #[serde(rename = "gpt-4o-mini-2024-07-18:eastus")]
222 Gpt4oMini20240718ColonEastus,
223 #[serde(rename = "gpt-4o-mini-2024-07-18:eastus2")]
224 Gpt4oMini20240718ColonEastus2,
225 #[serde(rename = "gpt-4o-mini-2024-07-18:northcentralus")]
226 Gpt4oMini20240718ColonNorthcentralus,
227 #[serde(rename = "gpt-4o-mini-2024-07-18:southcentralus")]
228 Gpt4oMini20240718ColonSouthcentralus,
229 #[serde(rename = "gpt-4o-2024-05-13:eastus2")]
230 Gpt4o20240513ColonEastus2,
231 #[serde(rename = "gpt-4o-2024-05-13:eastus")]
232 Gpt4o20240513ColonEastus,
233 #[serde(rename = "gpt-4o-2024-05-13:northcentralus")]
234 Gpt4o20240513ColonNorthcentralus,
235 #[serde(rename = "gpt-4o-2024-05-13:southcentralus")]
236 Gpt4o20240513ColonSouthcentralus,
237 #[serde(rename = "gpt-4o-2024-05-13:westus3")]
238 Gpt4o20240513ColonWestus3,
239 #[serde(rename = "gpt-4o-2024-05-13:westus")]
240 Gpt4o20240513ColonWestus,
241 #[serde(rename = "gpt-4-turbo-2024-04-09:eastus2")]
242 Gpt4Turbo20240409ColonEastus2,
243 #[serde(rename = "gpt-4-0125-preview:eastus")]
244 Gpt40125PreviewColonEastus,
245 #[serde(rename = "gpt-4-0125-preview:northcentralus")]
246 Gpt40125PreviewColonNorthcentralus,
247 #[serde(rename = "gpt-4-0125-preview:southcentralus")]
248 Gpt40125PreviewColonSouthcentralus,
249 #[serde(rename = "gpt-4-1106-preview:australia")]
250 Gpt41106PreviewColonAustralia,
251 #[serde(rename = "gpt-4-1106-preview:canadaeast")]
252 Gpt41106PreviewColonCanadaeast,
253 #[serde(rename = "gpt-4-1106-preview:france")]
254 Gpt41106PreviewColonFrance,
255 #[serde(rename = "gpt-4-1106-preview:india")]
256 Gpt41106PreviewColonIndia,
257 #[serde(rename = "gpt-4-1106-preview:norway")]
258 Gpt41106PreviewColonNorway,
259 #[serde(rename = "gpt-4-1106-preview:swedencentral")]
260 Gpt41106PreviewColonSwedencentral,
261 #[serde(rename = "gpt-4-1106-preview:uk")]
262 Gpt41106PreviewColonUk,
263 #[serde(rename = "gpt-4-1106-preview:westus")]
264 Gpt41106PreviewColonWestus,
265 #[serde(rename = "gpt-4-1106-preview:westus3")]
266 Gpt41106PreviewColonWestus3,
267 #[serde(rename = "gpt-4-0613:canadaeast")]
268 Gpt40613ColonCanadaeast,
269 #[serde(rename = "gpt-3.5-turbo-0125:canadaeast")]
270 Gpt3Period5Turbo0125ColonCanadaeast,
271 #[serde(rename = "gpt-3.5-turbo-0125:northcentralus")]
272 Gpt3Period5Turbo0125ColonNorthcentralus,
273 #[serde(rename = "gpt-3.5-turbo-0125:southcentralus")]
274 Gpt3Period5Turbo0125ColonSouthcentralus,
275 #[serde(rename = "gpt-3.5-turbo-1106:canadaeast")]
276 Gpt3Period5Turbo1106ColonCanadaeast,
277 #[serde(rename = "gpt-3.5-turbo-1106:westus")]
278 Gpt3Period5Turbo1106ColonWestus,
279}
280
281impl Default for FallbackModelsTrue {
282 fn default() -> FallbackModelsTrue {
283 Self::Gpt4Period120250414
284 }
285}
286#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
288pub enum ToolStrictCompatibilityModeTrue {
289 #[serde(rename = "strip-parameters-with-unsupported-validation")]
290 StripParametersWithUnsupportedValidation,
291 #[serde(rename = "strip-unsupported-validation")]
292 StripUnsupportedValidation,
293}
294
295impl Default for ToolStrictCompatibilityModeTrue {
296 fn default() -> ToolStrictCompatibilityModeTrue {
297 Self::StripParametersWithUnsupportedValidation
298 }
299}