Skip to main content

vtcode_config/constants/models/
openai.rs

1pub const DEFAULT_MODEL: &str = "gpt-5.4";
2pub const SUPPORTED_MODELS: &[&str] = &[
3    GPT,
4    "gpt-5.4",
5    "gpt-5.4-pro",
6    "gpt-5.4-nano",
7    "gpt-5.4-mini",
8    "gpt-5.3-codex", // GPT-5.3 Codex optimized for agentic coding with xhigh reasoning support
9    "gpt-5.2-codex", // GPT-5.2 Codex optimized for agentic coding with xhigh reasoning support
10    "gpt-5.1-codex", // GPT-5.1 Codex optimized for agentic coding
11    "gpt-5.1-codex-max", // GPT-5.1 Codex Max higher-compute coding variant
12    "gpt-5-codex",   // GPT-5 Codex optimized for agentic coding
13    "gpt-5.2",
14    "gpt-5",
15    "gpt-5-mini",
16    "gpt-5-nano",
17    "o3",
18    "o4-mini",
19    "gpt-oss-20b",
20    "gpt-oss-120b",
21];
22
23/// Models that require the OpenAI Responses API
24pub const RESPONSES_API_MODELS: &[&str] = &[
25    GPT,
26    GPT_5,
27    GPT_5_2,
28    GPT_5_4,
29    GPT_5_4_PRO,
30    GPT_5_3_CODEX,
31    GPT_5_2_CODEX,
32    GPT_5_1_CODEX,
33    GPT_5_1_CODEX_MAX,
34    GPT_5_CODEX,
35    GPT_5_MINI,
36    GPT_5_NANO,
37    O3,
38    O4_MINI,
39];
40
41/// Models that support the OpenAI reasoning parameter payload
42pub const REASONING_MODELS: &[&str] = &[
43    GPT,
44    GPT_5,
45    GPT_5_2,
46    GPT_5_4,
47    GPT_5_4_PRO,
48    GPT_5_3_CODEX,
49    GPT_5_2_CODEX,
50    GPT_5_1_CODEX,
51    GPT_5_1_CODEX_MAX,
52    GPT_5_CODEX,
53    GPT_5_MINI,
54    GPT_5_NANO,
55    O3,
56    O4_MINI,
57];
58
59/// Models that support the native OpenAI `service_tier` request parameter.
60pub const SERVICE_TIER_MODELS: &[&str] = RESPONSES_API_MODELS;
61
62/// Models that do not expose structured tool calling on the OpenAI platform
63pub const TOOL_UNAVAILABLE_MODELS: &[&str] = &[];
64
65/// GPT-OSS models that use harmony tokenization
66pub const HARMONY_MODELS: &[&str] = &[GPT_OSS_20B, GPT_OSS_120B];
67
68// Convenience constants for commonly used models
69pub const GPT: &str = "gpt";
70pub const GPT_5: &str = "gpt-5";
71pub const GPT_5_2: &str = "gpt-5.2";
72pub const GPT_5_4: &str = "gpt-5.4";
73pub const GPT_5_4_PRO: &str = "gpt-5.4-pro";
74pub const GPT_5_4_NANO: &str = "gpt-5.4-nano";
75pub const GPT_5_4_MINI: &str = "gpt-5.4-mini";
76pub const GPT_5_3_CODEX: &str = "gpt-5.3-codex"; // GPT-5.3 Codex optimized for agentic coding
77pub const GPT_5_2_CODEX: &str = "gpt-5.2-codex"; // GPT-5.2 Codex optimized for agentic coding
78pub const GPT_5_1_CODEX: &str = "gpt-5.1-codex"; // GPT-5.1 Codex optimized for agentic coding
79pub const GPT_5_1_CODEX_MAX: &str = "gpt-5.1-codex-max"; // GPT-5.1 Codex Max optimized for longer-running coding tasks
80pub const GPT_5_CODEX: &str = "gpt-5-codex"; // GPT-5 Codex optimized for agentic coding
81pub const GPT_5_MINI: &str = "gpt-5-mini";
82pub const GPT_5_NANO: &str = "gpt-5-nano";
83pub const O3: &str = "o3";
84pub const O4_MINI: &str = "o4-mini";
85pub const GPT_OSS_20B: &str = "gpt-oss-20b";
86pub const GPT_OSS_120B: &str = "gpt-oss-120b";