mirror of
https://github.com/hanzoai/dev.git
synced 2026-10-25 03:32:32 +00:00
fix(tui/model): surface gpt-5.3-codex-spark in /model
This commit is contained in:
@@ -77,6 +77,36 @@ static PRESETS: Lazy<Vec<ModelPreset>> = Lazy::new(|| {
|
||||
upgrade: None,
|
||||
show_in_picker: true,
|
||||
},
|
||||
ModelPreset {
|
||||
id: "gpt-5.3-codex-spark".to_string(),
|
||||
model: "gpt-5.3-codex-spark".to_string(),
|
||||
display_name: "gpt-5.3-codex-spark".to_string(),
|
||||
description: "Fast codex variant tuned for responsive coding loops and smaller edits."
|
||||
.to_string(),
|
||||
default_reasoning_effort: ReasoningEffort::Medium,
|
||||
supported_reasoning_efforts: vec![
|
||||
ReasoningEffortPreset {
|
||||
effort: ReasoningEffort::Low,
|
||||
description: "Fast responses with lighter reasoning".to_string(),
|
||||
},
|
||||
ReasoningEffortPreset {
|
||||
effort: ReasoningEffort::Medium,
|
||||
description: "Balances speed and reasoning depth for everyday tasks".to_string(),
|
||||
},
|
||||
ReasoningEffortPreset {
|
||||
effort: ReasoningEffort::High,
|
||||
description: "Maximizes reasoning depth for complex problems".to_string(),
|
||||
},
|
||||
ReasoningEffortPreset {
|
||||
effort: ReasoningEffort::XHigh,
|
||||
description: "Extra high reasoning depth for complex problems".to_string(),
|
||||
},
|
||||
],
|
||||
supported_text_verbosity: &[TextVerbosityConfig::Medium],
|
||||
is_default: false,
|
||||
upgrade: None,
|
||||
show_in_picker: true,
|
||||
},
|
||||
ModelPreset {
|
||||
id: "gpt-5.2-codex".to_string(),
|
||||
model: "gpt-5.2-codex".to_string(),
|
||||
@@ -434,7 +464,11 @@ pub fn builtin_model_presets(auth_mode: Option<AuthMode>) -> Vec<ModelPreset> {
|
||||
PRESETS
|
||||
.iter()
|
||||
.filter(|preset| match auth_mode {
|
||||
Some(AuthMode::ApiKey) => preset.id != "gpt-5.2-codex" && preset.id != "gpt-5.3-codex",
|
||||
Some(AuthMode::ApiKey) => {
|
||||
preset.id != "gpt-5.2-codex"
|
||||
&& preset.id != "gpt-5.3-codex"
|
||||
&& preset.id != "gpt-5.3-codex-spark"
|
||||
}
|
||||
_ => true,
|
||||
})
|
||||
.filter(|preset| preset.show_in_picker)
|
||||
@@ -515,9 +549,11 @@ mod tests {
|
||||
#[test]
|
||||
fn gpt_5_codex_hidden_for_api_key_auth() {
|
||||
let presets = builtin_model_presets(Some(AuthMode::ApiKey));
|
||||
assert!(presets
|
||||
.iter()
|
||||
.all(|preset| preset.id != "gpt-5.2-codex" && preset.id != "gpt-5.3-codex"));
|
||||
assert!(presets.iter().all(|preset| {
|
||||
preset.id != "gpt-5.2-codex"
|
||||
&& preset.id != "gpt-5.3-codex"
|
||||
&& preset.id != "gpt-5.3-codex-spark"
|
||||
}));
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
@@ -487,26 +487,30 @@ impl ModelSelectionView {
|
||||
fn model_rank(model: &str) -> u8 {
|
||||
if model.eq_ignore_ascii_case("gpt-5.3-codex") {
|
||||
0
|
||||
} else if model.eq_ignore_ascii_case("gpt-5.2-codex") {
|
||||
} else if model.eq_ignore_ascii_case("gpt-5.3-codex-spark") {
|
||||
1
|
||||
} else if model.eq_ignore_ascii_case("gpt-5.2") {
|
||||
} else if model.eq_ignore_ascii_case("gpt-5.2-codex") {
|
||||
2
|
||||
} else if model.eq_ignore_ascii_case("gpt-5.1-codex-max") {
|
||||
} else if model.eq_ignore_ascii_case("gpt-5.2") {
|
||||
3
|
||||
} else if model.eq_ignore_ascii_case("gpt-5.1-codex") {
|
||||
} else if model.eq_ignore_ascii_case("gpt-5.1-codex-max") {
|
||||
4
|
||||
} else if model.eq_ignore_ascii_case("gpt-5.1-codex-mini") {
|
||||
} else if model.eq_ignore_ascii_case("gpt-5.1-codex") {
|
||||
5
|
||||
} else if model.eq_ignore_ascii_case("gpt-5.1") {
|
||||
} else if model.eq_ignore_ascii_case("gpt-5.1-codex-mini") {
|
||||
6
|
||||
} else {
|
||||
} else if model.eq_ignore_ascii_case("gpt-5.1") {
|
||||
7
|
||||
} else {
|
||||
8
|
||||
}
|
||||
}
|
||||
|
||||
fn model_description(model: &str) -> Option<&'static str> {
|
||||
if model.eq_ignore_ascii_case("gpt-5.3-codex") {
|
||||
Some("Latest frontier agentic coding model.")
|
||||
} else if model.eq_ignore_ascii_case("gpt-5.3-codex-spark") {
|
||||
Some("Fast codex variant tuned for responsive coding loops and smaller edits.")
|
||||
} else if model.eq_ignore_ascii_case("gpt-5.2-codex") {
|
||||
Some("Frontier agentic coding model.")
|
||||
} else if model.eq_ignore_ascii_case("gpt-5.2") {
|
||||
|
||||
Reference in New Issue
Block a user