Skip to main content

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

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
4pub enum ToolSearchExecution {
5    #[serde(rename = "server")]
6    Server,
7    #[serde(rename = "client")]
8    Client,
9}
10
11strict_string_enum!(ToolChoiceMode {
12    None => "none",
13    Auto => "auto",
14    Required => "required",
15});
16
17strict_string_enum!(AllowedToolsMode {
18    Auto => "auto",
19    Required => "required",
20});
21
22strict_string_enum!(ToolCaller {
23    Direct => "direct",
24    Programmatic => "programmatic",
25});
26
27#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
28pub enum ChatToolCallType {
29    #[serde(rename = "function")]
30    Function,
31    #[serde(rename = "custom")]
32    Custom,
33}
34
35strict_string_enum!(CustomToolGrammarSyntax {
36    Lark => "lark",
37    Regex => "regex",
38});
39
40strict_string_enum!(CodeInterpreterContainerType {
41    Auto => "auto",
42});
43
44strict_string_enum!(CodeInterpreterMemoryLimit {
45    OneG => "1g",
46    FourG => "4g",
47    SixteenG => "16g",
48    SixtyFourG => "64g",
49});
50
51strict_string_enum!(ImageGenerationAction {
52    Generate => "generate",
53    Edit => "edit",
54    Auto => "auto",
55});
56
57strict_string_enum!(ToolType {
58    Function => "function",
59    Custom => "custom",
60    FileSearch => "file_search",
61    WebSearchPreview => "web_search_preview",
62    WebSearchPreview20250311 => "web_search_preview_2025_03_11",
63    WebSearch => "web_search",
64    WebSearch20250826 => "web_search_2025_08_26",
65    XSearch => "x_search",
66    CollectionsSearch => "collections_search",
67    Computer => "computer",
68    ComputerUse => "computer_use",
69    ComputerUsePreview => "computer_use_preview",
70    CodeExecution => "code_execution",
71    CodeInterpreter => "code_interpreter",
72    ImageGeneration => "image_generation",
73    Mcp => "mcp",
74    ApplyPatch => "apply_patch",
75    Shell => "shell",
76    LocalShell => "local_shell",
77    ToolSearch => "tool_search",
78    Namespace => "namespace",
79    ProgrammaticToolCalling => "programmatic_tool_calling",
80});