gproxy-protocol 2.3.2

GPROXY protocol types and endpoint metadata
Documentation
use serde::{Deserialize, Serialize};

strict_string_enum!(EmbeddingEncodingFormat {
    Float => "float",
    Base64 => "base64",
});

strict_string_enum!(ReasoningEffort {
    None => "none",
    Minimal => "minimal",
    Low => "low",
    Medium => "medium",
    High => "high",
    XHigh => "xhigh",
    Max => "max",
});

strict_string_enum!(ReasoningSummary {
    Auto => "auto",
    Concise => "concise",
    Detailed => "detailed",
});

extensible_string_enum!(ReasoningMode, ReasoningModeKnown {
    Standard => "standard",
    Pro => "pro",
});

strict_string_enum!(ServiceTier {
    Auto => "auto",
    Default => "default",
    Fast => "fast",
    Flex => "flex",
    Scale => "scale",
    Priority => "priority",
    OnDemand => "on_demand",
});

strict_string_enum!(TruncationStrategy {
    Auto => "auto",
    Disabled => "disabled",
});

strict_string_enum!(Verbosity {
    Low => "low",
    Medium => "medium",
    High => "high",
});

strict_string_enum!(PromptCacheRetention {
    InMemory => "in_memory",
    TwentyFourHours => "24h",
});

strict_string_enum!(PromptCacheMode {
    Implicit => "implicit",
    Explicit => "explicit",
});

strict_string_enum!(PromptCacheBreakpointMode {
    Explicit => "explicit",
});

strict_string_enum!(PromptCacheTtl {
    ThirtyMinutes => "30m",
});

extensible_string_enum!(ResponsePersonality, ResponsePersonalityKnown {
    Friendly => "friendly",
    Pragmatic => "pragmatic",
});

extensible_string_enum!(ContextManagementType, ContextManagementTypeKnown {
    Compaction => "compaction",
});

strict_string_enum!(SearchContextSize {
    Low => "low",
    Medium => "medium",
    High => "high",
});

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
pub enum ApproximateLocationType {
    #[serde(rename = "approximate")]
    Approximate,
}

strict_string_enum!(TextOrAudioModality {
    Text => "text",
    Audio => "audio",
});

strict_string_enum!(InputAudioFormat {
    Wav => "wav",
    Mp3 => "mp3",
});

strict_string_enum!(AudioResponseFormat {
    Wav => "wav",
    Aac => "aac",
    Mp3 => "mp3",
    Flac => "flac",
    Opus => "opus",
    Pcm16 => "pcm16",
});

extensible_string_enum!(VoiceName, VoiceNameKnown {
    Alloy => "alloy",
    Ash => "ash",
    Ballad => "ballad",
    Coral => "coral",
    Echo => "echo",
    Fable => "fable",
    Nova => "nova",
    Onyx => "onyx",
    Sage => "sage",
    Shimmer => "shimmer",
    Verse => "verse",
    Marin => "marin",
    Cedar => "cedar",
});

strict_string_enum!(DetailLevel {
    Auto => "auto",
    Low => "low",
    High => "high",
    Original => "original",
});

strict_string_enum!(ChatImageDetailLevel {
    Auto => "auto",
    Low => "low",
    High => "high",
});

strict_string_enum!(InputFileDetailLevel {
    Low => "low",
    High => "high",
});