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",
5    "gpt-5.2",
6    "gpt-5.4",
7    "gpt-5.4-pro",
8    "gpt-5-mini",
9    "gpt-5-nano",
10    "gpt-5.3-codex", // GPT-5.3 Codex optimized for agentic coding with reasoning effort support
11    "o3",
12    "o4-mini",
13    "gpt-oss-20b",
14    "gpt-oss-120b",
15];
16
17/// Models that require the OpenAI Responses API
18pub const RESPONSES_API_MODELS: &[&str] = &[
19    GPT,
20    GPT_5,
21    GPT_5_2,
22    GPT_5_4,
23    GPT_5_4_PRO,
24    GPT_5_MINI,
25    GPT_5_NANO,
26    GPT_5_3_CODEX,
27    O3,
28    O4_MINI,
29];
30
31/// Models that support the OpenAI reasoning parameter payload
32pub const REASONING_MODELS: &[&str] = &[
33    GPT,
34    GPT_5,
35    GPT_5_2,
36    GPT_5_4,
37    GPT_5_4_PRO,
38    GPT_5_MINI,
39    GPT_5_NANO,
40    GPT_5_3_CODEX,
41    O3,
42    O4_MINI,
43];
44
45/// Models that do not expose structured tool calling on the OpenAI platform
46pub const TOOL_UNAVAILABLE_MODELS: &[&str] = &[];
47
48/// GPT-OSS models that use harmony tokenization
49pub const HARMONY_MODELS: &[&str] = &[GPT_OSS_20B, GPT_OSS_120B];
50
51// Convenience constants for commonly used models
52pub const GPT: &str = "gpt";
53pub const GPT_5: &str = "gpt-5";
54pub const GPT_5_2: &str = "gpt-5.2";
55pub const GPT_5_4: &str = "gpt-5.4";
56pub const GPT_5_4_PRO: &str = "gpt-5.4-pro";
57pub const GPT_5_MINI: &str = "gpt-5-mini";
58pub const GPT_5_NANO: &str = "gpt-5-nano";
59pub const GPT_5_3_CODEX: &str = "gpt-5.3-codex"; // GPT-5.3 Codex optimized for agentic coding
60pub const O3: &str = "o3";
61pub const O4_MINI: &str = "o4-mini";
62pub const GPT_OSS_20B: &str = "gpt-oss-20b";
63pub const GPT_OSS_120B: &str = "gpt-oss-120b";