gproxy-protocol 2.4.2

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

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
pub enum ToolSearchExecution {
    #[serde(rename = "server")]
    Server,
    #[serde(rename = "client")]
    Client,
}

strict_string_enum!(ToolChoiceMode {
    None => "none",
    Auto => "auto",
    Required => "required",
});

strict_string_enum!(AllowedToolsMode {
    Auto => "auto",
    Required => "required",
});

strict_string_enum!(ToolCaller {
    Direct => "direct",
    Programmatic => "programmatic",
});

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
pub enum ChatToolCallType {
    #[serde(rename = "function")]
    Function,
    #[serde(rename = "custom")]
    Custom,
}

strict_string_enum!(CustomToolGrammarSyntax {
    Lark => "lark",
    Regex => "regex",
});

strict_string_enum!(CodeInterpreterContainerType {
    Auto => "auto",
});

strict_string_enum!(CodeInterpreterMemoryLimit {
    OneG => "1g",
    FourG => "4g",
    SixteenG => "16g",
    SixtyFourG => "64g",
});

strict_string_enum!(ImageGenerationAction {
    Generate => "generate",
    Edit => "edit",
    Auto => "auto",
});

strict_string_enum!(ToolType {
    Function => "function",
    Custom => "custom",
    FileSearch => "file_search",
    WebSearchPreview => "web_search_preview",
    WebSearchPreview20250311 => "web_search_preview_2025_03_11",
    WebSearch => "web_search",
    WebSearch20250826 => "web_search_2025_08_26",
    XSearch => "x_search",
    CollectionsSearch => "collections_search",
    Computer => "computer",
    ComputerUse => "computer_use",
    ComputerUsePreview => "computer_use_preview",
    CodeExecution => "code_execution",
    CodeInterpreter => "code_interpreter",
    ImageGeneration => "image_generation",
    Mcp => "mcp",
    ApplyPatch => "apply_patch",
    Shell => "shell",
    LocalShell => "local_shell",
    ToolSearch => "tool_search",
    Namespace => "namespace",
    ProgrammaticToolCalling => "programmatic_tool_calling",
});