Skip to main content

vtcode_config/constants/models/
openai.rs

1pub const DEFAULT_MODEL: &str = "gpt-5";
2pub const SUPPORTED_MODELS: &[&str] = &[
3    "gpt-5",
4    "gpt-5-mini",
5    "gpt-5-nano",
6    "gpt-5.2",
7    "gpt-5.2-2025-12-11",
8    "gpt-5.2-codex",
9    "gpt-5.3-codex",     // GPT-5.3 Codex optimized for agentic coding with reasoning effort support
10    "gpt-oss-20b",
11    "gpt-oss-120b",
12];
13
14/// Models that require the OpenAI Responses API
15pub const RESPONSES_API_MODELS: &[&str] = &[
16    GPT_5,
17    GPT_5_MINI,
18    GPT_5_NANO,
19    GPT_5_2,
20    GPT_5_2_ALIAS,
21    GPT_5_2_CODEX,
22    GPT_5_3_CODEX,
23];
24
25/// Models that support the OpenAI reasoning parameter payload
26pub const REASONING_MODELS: &[&str] = &[
27    GPT_5,
28    GPT_5_MINI,
29    GPT_5_NANO,
30    GPT_5_2,
31    GPT_5_2_ALIAS,
32    GPT_5_2_CODEX,
33    GPT_5_3_CODEX,
34];
35
36/// Models that do not expose structured tool calling on the OpenAI platform
37pub const TOOL_UNAVAILABLE_MODELS: &[&str] = &[];
38
39/// GPT-OSS models that use harmony tokenization
40pub const HARMONY_MODELS: &[&str] = &[GPT_OSS_20B, GPT_OSS_120B];
41
42// Convenience constants for commonly used models
43pub const GPT_5: &str = "gpt-5";
44pub const GPT_5_MINI: &str = "gpt-5-mini";
45pub const GPT_5_NANO: &str = "gpt-5-nano";
46pub const GPT_5_2: &str = "gpt-5.2";
47pub const GPT_5_2_ALIAS: &str = "gpt-5.2-2025-12-11";
48pub const GPT_5_2_CODEX: &str = "gpt-5.2-codex";
49pub const GPT_5_3_CODEX: &str = "gpt-5.3-codex"; // GPT-5.3 Codex optimized for agentic coding
50pub const GPT_OSS_20B: &str = "gpt-oss-20b";
51pub const GPT_OSS_120B: &str = "gpt-oss-120b";