[app-server] model/list API (#5382)

Adds a `model/list` paginated API that returns the list of models
supported by Codex.
This commit is contained in:
Owen Lin
2025-10-21 11:15:17 -07:00
committed by GitHub
parent da82153a8d
commit 26f314904a
13 changed files with 489 additions and 131 deletions

View File

@@ -1122,11 +1122,11 @@ fn model_reasoning_selection_popup_snapshot() {
chat.config.model = "gpt-5-codex".to_string();
chat.config.model_reasoning_effort = Some(ReasoningEffortConfig::High);
let presets = builtin_model_presets(None)
let preset = builtin_model_presets(None)
.into_iter()
.filter(|preset| preset.model == "gpt-5-codex")
.collect::<Vec<_>>();
chat.open_reasoning_popup("gpt-5-codex".to_string(), presets);
.find(|preset| preset.model == "gpt-5-codex")
.expect("gpt-5-codex preset");
chat.open_reasoning_popup(preset);
let popup = render_bottom_popup(&chat, 80);
assert_snapshot!("model_reasoning_selection_popup", popup);
@@ -1141,9 +1141,9 @@ fn reasoning_popup_escape_returns_to_model_popup() {
let presets = builtin_model_presets(None)
.into_iter()
.filter(|preset| preset.model == "gpt-5-codex")
.collect::<Vec<_>>();
chat.open_reasoning_popup("gpt-5-codex".to_string(), presets);
.find(|preset| preset.model == "gpt-5-codex")
.expect("gpt-5-codex preset");
chat.open_reasoning_popup(presets);
let before_escape = render_bottom_popup(&chat, 80);
assert!(before_escape.contains("Select Reasoning Level"));