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    Flex => "flex",
33    Scale => "scale",
34    Priority => "priority",
35    OnDemand => "on_demand",
36});
37
38strict_string_enum!(TruncationStrategy {
39    Auto => "auto",
40    Disabled => "disabled",
41});
42
43strict_string_enum!(Verbosity {
44    Low => "low",
45    Medium => "medium",
46    High => "high",
47});
48
49strict_string_enum!(PromptCacheRetention {
50    InMemory => "in_memory",
51    TwentyFourHours => "24h",
52});
53
54strict_string_enum!(PromptCacheMode {
55    Implicit => "implicit",
56    Explicit => "explicit",
57});
58
59strict_string_enum!(PromptCacheBreakpointMode {
60    Explicit => "explicit",
61});
62
63strict_string_enum!(PromptCacheTtl {
64    ThirtyMinutes => "30m",
65});
66
67extensible_string_enum!(ResponsePersonality, ResponsePersonalityKnown {
68    Friendly => "friendly",
69    Pragmatic => "pragmatic",
70});
71
72extensible_string_enum!(ContextManagementType, ContextManagementTypeKnown {
73    Compaction => "compaction",
74});
75
76strict_string_enum!(SearchContextSize {
77    Low => "low",
78    Medium => "medium",
79    High => "high",
80});
81
82#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
83pub enum ApproximateLocationType {
84    #[serde(rename = "approximate")]
85    Approximate,
86}
87
88strict_string_enum!(TextOrAudioModality {
89    Text => "text",
90    Audio => "audio",
91});
92
93strict_string_enum!(InputAudioFormat {
94    Wav => "wav",
95    Mp3 => "mp3",
96});
97
98strict_string_enum!(AudioResponseFormat {
99    Wav => "wav",
100    Aac => "aac",
101    Mp3 => "mp3",
102    Flac => "flac",
103    Opus => "opus",
104    Pcm16 => "pcm16",
105});
106
107extensible_string_enum!(VoiceName, VoiceNameKnown {
108    Alloy => "alloy",
109    Ash => "ash",
110    Ballad => "ballad",
111    Coral => "coral",
112    Echo => "echo",
113    Fable => "fable",
114    Nova => "nova",
115    Onyx => "onyx",
116    Sage => "sage",
117    Shimmer => "shimmer",
118    Verse => "verse",
119    Marin => "marin",
120    Cedar => "cedar",
121});
122
123strict_string_enum!(DetailLevel {
124    Auto => "auto",
125    Low => "low",
126    High => "high",
127    Original => "original",
128});
129
130strict_string_enum!(ChatImageDetailLevel {
131    Auto => "auto",
132    Low => "low",
133    High => "high",
134});
135
136strict_string_enum!(InputFileDetailLevel {
137    Low => "low",
138    High => "high",
139});