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)]
84#[non_exhaustive]
85pub enum ApproximateLocationType {
86    #[serde(rename = "approximate")]
87    Approximate,
88}
89
90strict_string_enum!(TextOrAudioModality {
91    Text => "text",
92    Audio => "audio",
93});
94
95strict_string_enum!(InputAudioFormat {
96    Wav => "wav",
97    Mp3 => "mp3",
98});
99
100strict_string_enum!(AudioResponseFormat {
101    Wav => "wav",
102    Aac => "aac",
103    Mp3 => "mp3",
104    Flac => "flac",
105    Opus => "opus",
106    Pcm16 => "pcm16",
107});
108
109extensible_string_enum!(VoiceName, VoiceNameKnown {
110    Alloy => "alloy",
111    Ash => "ash",
112    Ballad => "ballad",
113    Coral => "coral",
114    Echo => "echo",
115    Fable => "fable",
116    Nova => "nova",
117    Onyx => "onyx",
118    Sage => "sage",
119    Shimmer => "shimmer",
120    Verse => "verse",
121    Marin => "marin",
122    Cedar => "cedar",
123});
124
125strict_string_enum!(DetailLevel {
126    Auto => "auto",
127    Low => "low",
128    High => "high",
129    Original => "original",
130});
131
132strict_string_enum!(ChatImageDetailLevel {
133    Auto => "auto",
134    Low => "low",
135    High => "high",
136});
137
138strict_string_enum!(InputFileDetailLevel {
139    Low => "low",
140    High => "high",
141});