use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum Outcome {
OutcomeUnspecified,
OutcomeOk,
OutcomeFailed,
OutcomeDeadlineExceeded,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum Language {
LanguageUnspecified,
Python,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum FunctionResponseScheduling {
SchedulingUnspecified,
Silent,
WhenIdle,
Interrupt,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum Type {
TypeUnspecified,
String,
Number,
Integer,
Boolean,
Array,
Object,
Null,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum MediaModality {
ModalityUnspecified,
Text,
Image,
Video,
Audio,
Document,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum VadSignalType {
VadSignalTypeUnspecified,
VadSignalTypeSos,
VadSignalTypeEos,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum StartSensitivity {
StartSensitivityUnspecified,
StartSensitivityHigh,
StartSensitivityLow,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum EndSensitivity {
EndSensitivityUnspecified,
EndSensitivityHigh,
EndSensitivityLow,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum ActivityHandling {
ActivityHandlingUnspecified,
StartOfActivityInterrupts,
NoInterruption,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum TurnCoverage {
TurnCoverageUnspecified,
TurnIncludesOnlyActivity,
TurnIncludesAllInput,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum Modality {
ModalityUnspecified,
Text,
Image,
Audio,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum MediaResolution {
MediaResolutionUnspecified,
MediaResolutionLow,
MediaResolutionMedium,
MediaResolutionHigh,
MediaResolutionUltraHigh,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum SafetyFilterLevel {
BlockLowAndAbove,
BlockMediumAndAbove,
BlockOnlyHigh,
BlockNone,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum PersonGeneration {
DontAllow,
AllowAdult,
AllowAll,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum ImagePromptLanguage {
Auto,
En,
Ja,
Ko,
Hi,
Zh,
Pt,
Es,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum ReferenceImageType {
ReferenceTypeRaw,
ReferenceTypeMask,
ReferenceTypeControl,
ReferenceTypeStyle,
ReferenceTypeSubject,
ReferenceTypeContent,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum MaskReferenceMode {
MaskModeDefault,
MaskModeUserProvided,
MaskModeBackground,
MaskModeForeground,
MaskModeSemantic,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum ControlReferenceType {
ControlTypeDefault,
ControlTypeCanny,
ControlTypeScribble,
ControlTypeFaceMesh,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum SubjectReferenceType {
SubjectTypeDefault,
SubjectTypePerson,
SubjectTypeAnimal,
SubjectTypeProduct,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum EditMode {
EditModeDefault,
EditModeInpaintRemoval,
EditModeInpaintInsertion,
EditModeOutpaint,
EditModeControlledEditing,
EditModeStyle,
EditModeBgswap,
EditModeProductImage,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum SegmentMode {
Foreground,
Background,
Prompt,
Semantic,
Interactive,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum VideoGenerationReferenceType {
Asset,
Style,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum VideoGenerationMaskMode {
Insert,
Remove,
RemoveStatic,
Outpaint,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum VideoCompressionQuality {
Optimized,
Lossless,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum PartMediaResolutionLevel {
MediaResolutionUnspecified,
MediaResolutionLow,
MediaResolutionMedium,
MediaResolutionHigh,
MediaResolutionUltraHigh,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum Behavior {
Unspecified,
Blocking,
NonBlocking,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum FunctionCallingMode {
ModeUnspecified,
Auto,
Any,
None,
Validated,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum HarmCategory {
HarmCategoryUnspecified,
HarmCategoryHarassment,
HarmCategoryHateSpeech,
HarmCategorySexuallyExplicit,
HarmCategoryDangerousContent,
HarmCategoryCivicIntegrity,
HarmCategoryImageHate,
HarmCategoryImageDangerousContent,
HarmCategoryImageHarassment,
HarmCategoryImageSexuallyExplicit,
HarmCategoryJailbreak,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum HarmBlockThreshold {
HarmBlockThresholdUnspecified,
BlockNone,
BlockOnlyHigh,
BlockMediumAndAbove,
BlockLowAndAbove,
Off,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum HarmProbability {
HarmProbabilityUnspecified,
Negligible,
Low,
Medium,
High,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum HarmBlockMethod {
HarmBlockMethodUnspecified,
Severity,
Probability,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum JobState {
JobStateUnspecified,
JobStateQueued,
JobStatePending,
JobStateRunning,
JobStateSucceeded,
JobStateFailed,
JobStateCancelling,
JobStateCancelled,
JobStatePaused,
JobStateExpired,
JobStateUpdating,
JobStatePartiallySucceeded,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum TuningMethod {
SupervisedFineTuning,
PreferenceTuning,
Distillation,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum TuningMode {
TuningModeUnspecified,
TuningModeFull,
TuningModePeftAdapter,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum AdapterSize {
AdapterSizeUnspecified,
AdapterSizeOne,
AdapterSizeTwo,
AdapterSizeFour,
AdapterSizeEight,
AdapterSizeSixteen,
AdapterSizeThirtyTwo,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum BlockedReason {
BlockedReasonUnspecified,
Safety,
Other,
Blocklist,
ProhibitedContent,
ImageSafety,
ModelArmor,
Jailbreak,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum FinishReason {
FinishReasonUnspecified,
Stop,
MaxTokens,
Safety,
Recitation,
Language,
Other,
Blocklist,
ProhibitedContent,
Spii,
MalformedFunctionCall,
ImageSafety,
UnexpectedToolCall,
ImageProhibitedContent,
NoImage,
ImageRecitation,
ImageOther,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum ThinkingLevel {
ThinkingLevelUnspecified,
Low,
Medium,
High,
Minimal,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum UrlRetrievalStatus {
UrlRetrievalStatusUnspecified,
UrlRetrievalStatusSuccess,
UrlRetrievalStatusError,
UrlRetrievalStatusPaywall,
UrlRetrievalStatusUnsafe,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum HarmSeverity {
HarmSeverityUnspecified,
HarmSeverityNegligible,
HarmSeverityLow,
HarmSeverityMedium,
HarmSeverityHigh,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum TrafficType {
TrafficTypeUnspecified,
OnDemand,
ProvisionedThroughput,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum FileState {
#[serde(alias = "STATE_UNSPECIFIED")]
StateUnspecified,
#[serde(alias = "STATE_PROCESSING")]
Processing,
#[serde(alias = "STATE_ACTIVE")]
Active,
#[serde(alias = "STATE_FAILED")]
Failed,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum DocumentState {
#[serde(alias = "STATE_UNSPECIFIED")]
StateUnspecified,
#[serde(alias = "STATE_PENDING")]
Pending,
#[serde(alias = "STATE_ACTIVE")]
Active,
#[serde(alias = "STATE_FAILED")]
Failed,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum FileSource {
SourceUnspecified,
Uploaded,
Generated,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum TurnCompleteReason {
TurnCompleteReasonUnspecified,
MalformedFunctionCall,
ResponseRejected,
NeedMoreInput,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum DynamicRetrievalConfigMode {
ModeUnspecified,
ModeDynamic,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum Environment {
EnvironmentUnspecified,
EnvironmentBrowser,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum FeatureSelectionPreference {
FeatureSelectionPreferenceUnspecified,
PrioritizeQuality,
Balanced,
PrioritizeCost,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum ApiSpec {
ApiSpecUnspecified,
SimpleSearch,
ElasticSearch,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum AuthType {
AuthTypeUnspecified,
NoAuth,
ApiKeyAuth,
HttpBasicAuth,
GoogleServiceAccountAuth,
Oauth,
OidcAuth,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum HttpElementLocation {
HttpInUnspecified,
HttpInQuery,
HttpInHeader,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum PhishBlockThreshold {
PhishBlockThresholdUnspecified,
BlockLowAndAbove,
BlockMediumAndAbove,
BlockHighAndAbove,
BlockHigherAndAbove,
BlockVeryHighAndAbove,
BlockOnlyExtremelyHigh,
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn harm_category_serialization() {
let value = serde_json::to_string(&HarmCategory::HarmCategoryDangerousContent).unwrap();
assert_eq!(value, "\"HARM_CATEGORY_DANGEROUS_CONTENT\"");
}
#[test]
fn image_prompt_language_serialization() {
let value = serde_json::to_string(&ImagePromptLanguage::Zh).unwrap();
assert_eq!(value, "\"zh\"");
}
}