1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
6pub enum Outcome {
7 OutcomeUnspecified,
8 OutcomeOk,
9 OutcomeFailed,
10 OutcomeDeadlineExceeded,
11}
12
13#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
15#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
16pub enum Language {
17 LanguageUnspecified,
18 Python,
19}
20
21#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
23#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
24pub enum FunctionResponseScheduling {
25 SchedulingUnspecified,
26 Silent,
27 WhenIdle,
28 Interrupt,
29}
30
31#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
33#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
34pub enum Type {
35 TypeUnspecified,
36 String,
37 Number,
38 Integer,
39 Boolean,
40 Array,
41 Object,
42 Null,
43}
44
45#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
47#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
48pub enum MediaModality {
49 ModalityUnspecified,
50 Text,
51 Image,
52 Video,
53 Audio,
54 Document,
55}
56
57#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
59#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
60pub enum VadSignalType {
61 VadSignalTypeUnspecified,
62 VadSignalTypeSos,
63 VadSignalTypeEos,
64}
65
66#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
68#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
69pub enum StartSensitivity {
70 StartSensitivityUnspecified,
71 StartSensitivityHigh,
72 StartSensitivityLow,
73}
74
75#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
77#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
78pub enum EndSensitivity {
79 EndSensitivityUnspecified,
80 EndSensitivityHigh,
81 EndSensitivityLow,
82}
83
84#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
86#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
87pub enum ActivityHandling {
88 ActivityHandlingUnspecified,
89 StartOfActivityInterrupts,
90 NoInterruption,
91}
92
93#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
95#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
96pub enum TurnCoverage {
97 TurnCoverageUnspecified,
98 TurnIncludesOnlyActivity,
99 TurnIncludesAllInput,
100}
101
102#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
104#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
105pub enum Modality {
106 ModalityUnspecified,
107 Text,
108 Image,
109 Audio,
110}
111
112#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
121#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
122pub enum MediaResolution {
123 MediaResolutionUnspecified,
124 MediaResolutionLow,
125 MediaResolutionMedium,
126 MediaResolutionHigh,
127 MediaResolutionUltraHigh,
128}
129
130#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
132#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
133pub enum SafetyFilterLevel {
134 BlockLowAndAbove,
135 BlockMediumAndAbove,
136 BlockOnlyHigh,
137 BlockNone,
138}
139
140#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
142#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
143pub enum PersonGeneration {
144 DontAllow,
145 AllowAdult,
146 AllowAll,
147}
148
149#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
151#[serde(rename_all = "lowercase")]
152pub enum ImagePromptLanguage {
153 Auto,
154 En,
155 Ja,
156 Ko,
157 Hi,
158 Zh,
159 Pt,
160 Es,
161}
162
163#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
165#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
166pub enum ReferenceImageType {
167 ReferenceTypeRaw,
168 ReferenceTypeMask,
169 ReferenceTypeControl,
170 ReferenceTypeStyle,
171 ReferenceTypeSubject,
172 ReferenceTypeContent,
173}
174
175#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
177#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
178pub enum MaskReferenceMode {
179 MaskModeDefault,
180 MaskModeUserProvided,
181 MaskModeBackground,
182 MaskModeForeground,
183 MaskModeSemantic,
184}
185
186#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
188#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
189pub enum ControlReferenceType {
190 ControlTypeDefault,
191 ControlTypeCanny,
192 ControlTypeScribble,
193 ControlTypeFaceMesh,
194}
195
196#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
198#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
199pub enum SubjectReferenceType {
200 SubjectTypeDefault,
201 SubjectTypePerson,
202 SubjectTypeAnimal,
203 SubjectTypeProduct,
204}
205
206#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
208#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
209pub enum EditMode {
210 EditModeDefault,
211 EditModeInpaintRemoval,
212 EditModeInpaintInsertion,
213 EditModeOutpaint,
214 EditModeControlledEditing,
215 EditModeStyle,
216 EditModeBgswap,
217 EditModeProductImage,
218}
219
220#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
222#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
223pub enum SegmentMode {
224 Foreground,
225 Background,
226 Prompt,
227 Semantic,
228 Interactive,
229}
230
231#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
233#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
234pub enum VideoGenerationReferenceType {
235 Asset,
236 Style,
237}
238
239#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
241#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
242pub enum VideoGenerationMaskMode {
243 Insert,
244 Remove,
245 RemoveStatic,
246 Outpaint,
247}
248
249#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
251#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
252pub enum VideoCompressionQuality {
253 Optimized,
254 Lossless,
255}
256
257#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
259#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
260pub enum PartMediaResolutionLevel {
261 MediaResolutionUnspecified,
262 MediaResolutionLow,
263 MediaResolutionMedium,
264 MediaResolutionHigh,
265 MediaResolutionUltraHigh,
266}
267
268#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
270#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
271pub enum Behavior {
272 Unspecified,
273 Blocking,
274 NonBlocking,
275}
276
277#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
279#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
280pub enum FunctionCallingMode {
281 ModeUnspecified,
282 Auto,
283 Any,
284 None,
285 Validated,
286}
287
288#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
290#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
291pub enum HarmCategory {
292 HarmCategoryUnspecified,
293 HarmCategoryHarassment,
294 HarmCategoryHateSpeech,
295 HarmCategorySexuallyExplicit,
296 HarmCategoryDangerousContent,
297 HarmCategoryCivicIntegrity,
298 HarmCategoryImageHate,
299 HarmCategoryImageDangerousContent,
300 HarmCategoryImageHarassment,
301 HarmCategoryImageSexuallyExplicit,
302 HarmCategoryJailbreak,
303}
304
305#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
307#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
308pub enum HarmBlockThreshold {
309 HarmBlockThresholdUnspecified,
310 BlockNone,
311 BlockOnlyHigh,
312 BlockMediumAndAbove,
313 BlockLowAndAbove,
314 Off,
315}
316
317#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
319#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
320pub enum HarmProbability {
321 HarmProbabilityUnspecified,
322 Negligible,
323 Low,
324 Medium,
325 High,
326}
327
328#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
330#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
331pub enum HarmBlockMethod {
332 HarmBlockMethodUnspecified,
333 Severity,
334 Probability,
335}
336
337#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
339#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
340pub enum JobState {
341 JobStateUnspecified,
342 JobStateQueued,
343 JobStatePending,
344 JobStateRunning,
345 JobStateSucceeded,
346 JobStateFailed,
347 JobStateCancelling,
348 JobStateCancelled,
349 JobStatePaused,
350 JobStateExpired,
351 JobStateUpdating,
352 JobStatePartiallySucceeded,
353}
354
355#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
357#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
358pub enum TuningMethod {
359 SupervisedFineTuning,
360 PreferenceTuning,
361 Distillation,
362}
363
364#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
366#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
367pub enum TuningMode {
368 TuningModeUnspecified,
369 TuningModeFull,
370 TuningModePeftAdapter,
371}
372
373#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
375#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
376pub enum AdapterSize {
377 AdapterSizeUnspecified,
378 AdapterSizeOne,
379 AdapterSizeTwo,
380 AdapterSizeFour,
381 AdapterSizeEight,
382 AdapterSizeSixteen,
383 AdapterSizeThirtyTwo,
384}
385
386#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
388#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
389pub enum BlockedReason {
390 BlockedReasonUnspecified,
391 Safety,
392 Other,
393 Blocklist,
394 ProhibitedContent,
395 ImageSafety,
396 ModelArmor,
397 Jailbreak,
398}
399
400#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
402#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
403pub enum FinishReason {
404 FinishReasonUnspecified,
405 Stop,
406 MaxTokens,
407 Safety,
408 Recitation,
409 Language,
410 Other,
411 Blocklist,
412 ProhibitedContent,
413 Spii,
414 MalformedFunctionCall,
415 ImageSafety,
416 UnexpectedToolCall,
417 ImageProhibitedContent,
418 NoImage,
419 ImageRecitation,
420 ImageOther,
421}
422
423#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
425#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
426pub enum ThinkingLevel {
427 ThinkingLevelUnspecified,
428 Low,
429 Medium,
430 High,
431 Minimal,
432}
433
434#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
436#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
437pub enum UrlRetrievalStatus {
438 UrlRetrievalStatusUnspecified,
439 UrlRetrievalStatusSuccess,
440 UrlRetrievalStatusError,
441 UrlRetrievalStatusPaywall,
442 UrlRetrievalStatusUnsafe,
443}
444
445#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
447#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
448pub enum HarmSeverity {
449 HarmSeverityUnspecified,
450 HarmSeverityNegligible,
451 HarmSeverityLow,
452 HarmSeverityMedium,
453 HarmSeverityHigh,
454}
455
456#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
458#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
459pub enum TrafficType {
460 TrafficTypeUnspecified,
461 OnDemand,
462 ProvisionedThroughput,
463}
464
465#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
467#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
468pub enum FileState {
469 #[serde(alias = "STATE_UNSPECIFIED")]
470 StateUnspecified,
471 #[serde(alias = "STATE_PROCESSING")]
472 Processing,
473 #[serde(alias = "STATE_ACTIVE")]
474 Active,
475 #[serde(alias = "STATE_FAILED")]
476 Failed,
477}
478
479#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
481#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
482pub enum DocumentState {
483 #[serde(alias = "STATE_UNSPECIFIED")]
484 StateUnspecified,
485 #[serde(alias = "STATE_PENDING")]
486 Pending,
487 #[serde(alias = "STATE_ACTIVE")]
488 Active,
489 #[serde(alias = "STATE_FAILED")]
490 Failed,
491}
492
493#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
495#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
496pub enum FileSource {
497 SourceUnspecified,
498 Uploaded,
499 Generated,
500}
501
502#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
504#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
505pub enum TurnCompleteReason {
506 TurnCompleteReasonUnspecified,
507 MalformedFunctionCall,
508 ResponseRejected,
509 NeedMoreInput,
510}
511
512#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
514#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
515pub enum DynamicRetrievalConfigMode {
516 ModeUnspecified,
517 ModeDynamic,
518}
519
520#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
522#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
523pub enum Environment {
524 EnvironmentUnspecified,
525 EnvironmentBrowser,
526}
527
528#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
530#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
531pub enum FeatureSelectionPreference {
532 FeatureSelectionPreferenceUnspecified,
533 PrioritizeQuality,
534 Balanced,
535 PrioritizeCost,
536}
537
538#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
540#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
541pub enum ApiSpec {
542 ApiSpecUnspecified,
543 SimpleSearch,
544 ElasticSearch,
545}
546
547#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
549#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
550pub enum AuthType {
551 AuthTypeUnspecified,
552 NoAuth,
553 ApiKeyAuth,
554 HttpBasicAuth,
555 GoogleServiceAccountAuth,
556 Oauth,
557 OidcAuth,
558}
559
560#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
562#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
563pub enum HttpElementLocation {
564 HttpInUnspecified,
565 HttpInQuery,
566 HttpInHeader,
567}
568
569#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
571#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
572pub enum PhishBlockThreshold {
573 PhishBlockThresholdUnspecified,
574 BlockLowAndAbove,
575 BlockMediumAndAbove,
576 BlockHighAndAbove,
577 BlockHigherAndAbove,
578 BlockVeryHighAndAbove,
579 BlockOnlyExtremelyHigh,
580}
581
582#[cfg(test)]
583mod tests {
584 use super::*;
585
586 #[test]
587 fn harm_category_serialization() {
588 let value = serde_json::to_string(&HarmCategory::HarmCategoryDangerousContent).unwrap();
589 assert_eq!(value, "\"HARM_CATEGORY_DANGEROUS_CONTENT\"");
590 }
591
592 #[test]
593 fn image_prompt_language_serialization() {
594 let value = serde_json::to_string(&ImagePromptLanguage::Zh).unwrap();
595 assert_eq!(value, "\"zh\"");
596 }
597}