Skip to main content

gproxy_protocol/protocol/openai/common/enums/
content.rs

1use serde::{Deserialize, Serialize};
2
3strict_string_enum!(EmbeddingEncodingFormat {
4    Float => "float",
5    Base64 => "base64",
6});
7
8strict_string_enum!(ReasoningEffort {
9    None => "none",
10    Minimal => "minimal",
11    Low => "low",
12    Medium => "medium",
13    High => "high",
14    XHigh => "xhigh",
15    Max => "max",
16});
17
18strict_string_enum!(ReasoningSummary {
19    Auto => "auto",
20    Concise => "concise",
21    Detailed => "detailed",
22});
23
24extensible_string_enum!(ReasoningMode, ReasoningModeKnown {
25    Standard => "standard",
26    Pro => "pro",
27});
28
29strict_string_enum!(ServiceTier {
30    Auto => "auto",
31    Default => "default",
32    Fast => "fast",
33    Flex => "flex",
34    Scale => "scale",
35    Priority => "priority",
36    OnDemand => "on_demand",
37});
38
39strict_string_enum!(TruncationStrategy {
40    Auto => "auto",
41    Disabled => "disabled",
42});
43
44strict_string_enum!(Verbosity {
45    Low => "low",
46    Medium => "medium",
47    High => "high",
48});
49
50strict_string_enum!(PromptCacheRetention {
51    InMemory => "in_memory",
52    TwentyFourHours => "24h",
53});
54
55strict_string_enum!(PromptCacheMode {
56    Implicit => "implicit",
57    Explicit => "explicit",
58});
59
60strict_string_enum!(PromptCacheBreakpointMode {
61    Explicit => "explicit",
62});
63
64strict_string_enum!(PromptCacheTtl {
65    ThirtyMinutes => "30m",
66});
67
68extensible_string_enum!(ResponsePersonality, ResponsePersonalityKnown {
69    Friendly => "friendly",
70    Pragmatic => "pragmatic",
71});
72
73extensible_string_enum!(ContextManagementType, ContextManagementTypeKnown {
74    Compaction => "compaction",
75});
76
77strict_string_enum!(SearchContextSize {
78    Low => "low",
79    Medium => "medium",
80    High => "high",
81});
82
83#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
84pub enum ApproximateLocationType {
85    #[serde(rename = "approximate")]
86    Approximate,
87}
88
89strict_string_enum!(TextOrAudioModality {
90    Text => "text",
91    Audio => "audio",
92});
93
94strict_string_enum!(InputAudioFormat {
95    Wav => "wav",
96    Mp3 => "mp3",
97});
98
99strict_string_enum!(AudioResponseFormat {
100    Wav => "wav",
101    Aac => "aac",
102    Mp3 => "mp3",
103    Flac => "flac",
104    Opus => "opus",
105    Pcm16 => "pcm16",
106});
107
108extensible_string_enum!(VoiceName, VoiceNameKnown {
109    Alloy => "alloy",
110    Ash => "ash",
111    Ballad => "ballad",
112    Coral => "coral",
113    Echo => "echo",
114    Fable => "fable",
115    Nova => "nova",
116    Onyx => "onyx",
117    Sage => "sage",
118    Shimmer => "shimmer",
119    Verse => "verse",
120    Marin => "marin",
121    Cedar => "cedar",
122});
123
124strict_string_enum!(DetailLevel {
125    Auto => "auto",
126    Low => "low",
127    High => "high",
128    Original => "original",
129});
130
131strict_string_enum!(ChatImageDetailLevel {
132    Auto => "auto",
133    Low => "low",
134    High => "high",
135});
136
137strict_string_enum!(InputFileDetailLevel {
138    Low => "low",
139    High => "high",
140});