mirror of
https://github.com/openai/codex.git
synced 2026-11-03 08:22:30 +00:00
Update models.json (#31684)
Automated update of models.json. --------- Co-authored-by: sayan-oai <244841968+sayan-oai@users.noreply.github.com> Co-authored-by: sayan-oai <sayan@openai.com>
This commit is contained in:
33 files changed
+430
-66
No files matched your search
@@ -9,6 +9,24 @@ fn all_model_presets() -> Vec<ModelPreset> {
|
||||
crate::test_support::TEST_MODEL_PRESETS.clone()
|
||||
}
|
||||
|
||||
fn model_presets_with_test_upgrades() -> Vec<ModelPreset> {
|
||||
let mut presets = all_model_presets();
|
||||
for model in ["gpt-5.2", "gpt-5.4"] {
|
||||
let preset = presets
|
||||
.iter_mut()
|
||||
.find(|preset| preset.model == model)
|
||||
.unwrap_or_else(|| panic!("{model} preset present"));
|
||||
preset.upgrade = Some(ModelUpgrade {
|
||||
id: "gpt-5.5".to_string(),
|
||||
migration_config_key: "hide_test_migration_prompt".to_string(),
|
||||
model_link: None,
|
||||
upgrade_copy: None,
|
||||
migration_markdown: None,
|
||||
});
|
||||
}
|
||||
presets
|
||||
}
|
||||
|
||||
fn model_availability_nux_config(shown_count: &[(&str, u32)]) -> ModelAvailabilityNuxConfig {
|
||||
ModelAvailabilityNuxConfig {
|
||||
shown_count: shown_count
|
||||
@@ -40,23 +58,15 @@ fn model_migration_copy_to_plain_text(copy: &crate::model_migration::ModelMigrat
|
||||
#[tokio::test]
|
||||
async fn model_migration_prompt_only_shows_for_deprecated_models() {
|
||||
let seen = BTreeMap::new();
|
||||
let presets = model_presets_with_test_upgrades();
|
||||
assert!(should_show_model_migration_prompt(
|
||||
"gpt-5.2",
|
||||
"gpt-5.5",
|
||||
&seen,
|
||||
&all_model_presets()
|
||||
"gpt-5.2", "gpt-5.5", &seen, &presets
|
||||
));
|
||||
assert!(should_show_model_migration_prompt(
|
||||
"gpt-5.4",
|
||||
"gpt-5.5",
|
||||
&seen,
|
||||
&all_model_presets()
|
||||
"gpt-5.4", "gpt-5.5", &seen, &presets
|
||||
));
|
||||
assert!(!should_show_model_migration_prompt(
|
||||
"gpt-5.4",
|
||||
"gpt-5.4",
|
||||
&seen,
|
||||
&all_model_presets()
|
||||
"gpt-5.4", "gpt-5.4", &seen, &presets
|
||||
));
|
||||
}
|
||||
|
||||
@@ -339,7 +349,7 @@ async fn model_migration_prompt_shows_for_hidden_model() {
|
||||
.await
|
||||
.expect("config");
|
||||
|
||||
let mut available_models = all_model_presets();
|
||||
let mut available_models = model_presets_with_test_upgrades();
|
||||
let current = available_models
|
||||
.iter_mut()
|
||||
.find(|preset| preset.model == "gpt-5.2")
|
||||
|
||||
+4
-4
@@ -2,10 +2,10 @@
|
||||
source: tui/src/app/tests/model_catalog.rs
|
||||
expression: model_migration_copy_to_plain_text(©)
|
||||
---
|
||||
Introducing GPT-5.5
|
||||
Codex just got an upgrade. Introducing GPT-5.5.
|
||||
|
||||
GPT-5.5 is now available in Codex. It's our strongest agentic coding model yet, built to reason through large codebases, check assumptions with tools, and keep going until the work is done.
|
||||
We recommend switching from gpt-5.2 to gpt-5.5.
|
||||
|
||||
Learn more: https://openai.com/index/introducing-gpt-5-5/
|
||||
Frontier model for complex coding, research, and real-world work.
|
||||
|
||||
You can always keep using GPT-5.4 if you prefer.
|
||||
You can continue using gpt-5.2 if you prefer.
|
||||
+1
-1
@@ -17,4 +17,4 @@ expression: normalize_snapshot_paths(term.backend().vt100().screen().contents())
|
||||
|
||||
› Ask Codex to do anything
|
||||
|
||||
gpt-5.5 default · /tmp/project
|
||||
gpt-5.6-sol default · /tmp/project
|
||||
+1
-1
@@ -17,4 +17,4 @@ expression: normalize_snapshot_paths(term.backend().vt100().screen().contents())
|
||||
|
||||
› Ask Codex to do anything
|
||||
|
||||
gpt-5.5 default · /tmp/project
|
||||
gpt-5.6-sol default · /tmp/project
|
||||
+1
-1
@@ -11,4 +11,4 @@ expression: normalize_snapshot_paths(term.backend().vt100().screen().contents())
|
||||
|
||||
› Ask Codex to do anything
|
||||
|
||||
gpt-5.5 default · /tmp/project
|
||||
gpt-5.6-sol default · /tmp/project
|
||||
+1
-2
@@ -1,6 +1,5 @@
|
||||
---
|
||||
source: tui/src/chatwidget/tests/status_and_layout.rs
|
||||
assertion_line: 2288
|
||||
expression: normalize_snapshot_paths(term.backend().vt100().screen().contents())
|
||||
---
|
||||
|
||||
@@ -26,4 +25,4 @@ expression: normalize_snapshot_paths(term.backend().vt100().screen().contents())
|
||||
|
||||
› Ask Codex to do anything
|
||||
|
||||
gpt-5.5 default · /tmp/project
|
||||
gpt-5.6-sol default · /tmp/project
|
||||
+1
-1
@@ -19,4 +19,4 @@ expression: normalize_snapshot_paths(term.backend().vt100().screen().contents())
|
||||
|
||||
› Ask Codex to do anything
|
||||
|
||||
gpt-5.5 default · /tmp/project
|
||||
gpt-5.6-sol default · /tmp/project
|
||||
+1
-1
@@ -8,4 +8,4 @@ expression: snapshot
|
||||
" "
|
||||
"› Ask Codex to do anything "
|
||||
" "
|
||||
" gpt-5.5 default · /tmp/project Goal paused (/goal resume) "
|
||||
" gpt-5.6-sol default · /tmp/project Goal paused (/goal resume) "
|
||||
+1
-1
@@ -8,4 +8,4 @@ expression: snapshot
|
||||
" "
|
||||
"› Ask Codex to do anything "
|
||||
" "
|
||||
" gpt-5.5 default · /tmp/project Goal paused (/goal resume) "
|
||||
" gpt-5.6-sol default · /tmp/project Goal paused (/goal resume) "
|
||||
+1
-1
@@ -13,4 +13,4 @@ expression: normalize_snapshot_paths(term.backend().vt100().screen().contents())
|
||||
|
||||
› Ask Codex to do anything
|
||||
|
||||
gpt-5.5 default · /tmp/project
|
||||
gpt-5.6-sol default · /tmp/project
|
||||
+1
-1
@@ -13,4 +13,4 @@ expression: normalize_snapshot_paths(term.backend().vt100().screen().contents())
|
||||
|
||||
› Ask Codex to do anything
|
||||
|
||||
gpt-5.5 default · /tmp/project
|
||||
gpt-5.6-sol default · /tmp/project
|
||||
+1
-1
@@ -21,4 +21,4 @@ expression: normalize_snapshot_paths(term.backend().vt100().screen().contents())
|
||||
|
||||
› Ask Codex to do anything
|
||||
|
||||
gpt-5.5 default · /tmp/project
|
||||
gpt-5.6-sol default · /tmp/project
|
||||
+1
-1
@@ -9,4 +9,4 @@ expression: normalize_snapshot_paths(rendered)
|
||||
|
||||
› Ask Codex to do anything
|
||||
|
||||
gpt-5.5 default · /tmp/project
|
||||
gpt-5.6-sol default · /tmp/project
|
||||
+1
-1
@@ -21,4 +21,4 @@ expression: normalize_snapshot_paths(term.backend().vt100().screen().contents())
|
||||
|
||||
› Ask Codex to do anything
|
||||
|
||||
gpt-5.5 default · /tmp/project
|
||||
gpt-5.6-sol default · /tmp/project
|
||||
+1
-1
@@ -8,4 +8,4 @@ expression: normalized_backend_snapshot(terminal.backend())
|
||||
" "
|
||||
"› Ask Codex to do anything "
|
||||
" "
|
||||
" gpt-5.5 default · /tmp/project "
|
||||
" gpt-5.6-sol default · /tmp/project "
|
||||
+10
-7
@@ -5,12 +5,15 @@ expression: popup
|
||||
Select Model and Effort
|
||||
Access legacy models by running codex -m <model_name> or in your config.toml
|
||||
|
||||
1. gpt-5.5 (default) Frontier model for complex coding, research, and real-
|
||||
world work.
|
||||
2. gpt-5.4 Strong model for everyday coding.
|
||||
3. gpt-5.4-mini Small, fast, and cost-efficient model for simpler
|
||||
coding tasks.
|
||||
› 4. gpt-5.2 (current) Optimized for professional work and long-running
|
||||
agents.
|
||||
1. gpt-5.6-sol (default) Latest frontier agentic coding model.
|
||||
2. gpt-5.6-terra Balanced agentic coding model for everyday work.
|
||||
3. gpt-5.6-luna Fast and affordable agentic coding model.
|
||||
4. gpt-5.5 Frontier model for complex coding, research, and
|
||||
real-world work.
|
||||
5. gpt-5.4 Strong model for everyday coding.
|
||||
6. gpt-5.4-mini Small, fast, and cost-efficient model for simpler
|
||||
coding tasks.
|
||||
› 7. gpt-5.2 (current) Optimized for professional work and long-running
|
||||
agents.
|
||||
|
||||
Press enter to confirm or esc to go back
|
||||
+1
-1
@@ -11,4 +11,4 @@ expression: normalize_snapshot_paths(term.backend().vt100().screen().contents())
|
||||
|
||||
› Ask Codex to do anything
|
||||
|
||||
gpt-5.5 default · /tmp/project
|
||||
gpt-5.6-sol default · /tmp/project
|
||||
+1
-1
@@ -8,4 +8,4 @@ expression: normalized_backend_snapshot(terminal.backend())
|
||||
" "
|
||||
"› Ask Codex to do anything "
|
||||
" "
|
||||
" gpt-5.5 default · /tmp/project "
|
||||
" gpt-5.6-sol default · /tmp/project "
|
||||
+1
-1
@@ -19,4 +19,4 @@ expression: normalize_snapshot_paths(term.backend().vt100().screen().contents())
|
||||
|
||||
› Ask Codex to do anything
|
||||
|
||||
gpt-5.5 default · /tmp/project
|
||||
gpt-5.6-sol default · /tmp/project
|
||||
+1
-1
@@ -6,4 +6,4 @@ expression: terminal.backend()
|
||||
" "
|
||||
"› Check recently modified functions for compatibility "
|
||||
" "
|
||||
" gpt-5.5 Side from main thread · Ctrl+C to return "
|
||||
" gpt-5.6-sol Side from main thread · Ctrl+C to return "
|
||||
+1
-1
@@ -6,4 +6,4 @@ expression: terminal.backend()
|
||||
" "
|
||||
"› Check recently modified functions for compatibility "
|
||||
" "
|
||||
" gpt-5.5 default… Side from main thread · main needs input · Ctrl+C to return "
|
||||
" gpt-5.6-sol def… Side from main thread · main needs input · Ctrl+C to return "
|
||||
+1
-1
@@ -8,4 +8,4 @@ expression: normalized_backend_snapshot(terminal.backend())
|
||||
" "
|
||||
"› Ask Codex to do anything "
|
||||
" "
|
||||
" gpt-5.5 default Side starting... "
|
||||
" gpt-5.6-sol default Side starting... "
|
||||
+1
-1
@@ -8,4 +8,4 @@ expression: normalized_backend_snapshot(terminal.backend())
|
||||
" "
|
||||
"› Ask Codex to do anything "
|
||||
" "
|
||||
" gpt-5.5 default · /tmp/project "
|
||||
" gpt-5.6-sol default · /tmp/project "
|
||||
+1
-1
@@ -8,4 +8,4 @@ expression: normalized_backend_snapshot(terminal.backend())
|
||||
" "
|
||||
"› Ask Codex to do anything "
|
||||
" "
|
||||
" gpt-5.5 default · /tmp/project "
|
||||
" gpt-5.6-sol default · /tmp/project "
|
||||
+1
-1
@@ -8,4 +8,4 @@ expression: normalize_snapshot_paths(rendered)
|
||||
|
||||
› Ask Codex to do anything
|
||||
|
||||
gpt-5.5 default · /tmp/project
|
||||
gpt-5.6-sol default · /tmp/project
|
||||
@@ -1272,7 +1272,7 @@ async fn submit_user_message_emits_structured_plugin_mentions_from_bindings() {
|
||||
|
||||
#[tokio::test]
|
||||
async fn enter_submits_when_plan_stream_is_not_active() {
|
||||
let (mut chat, _rx, mut op_rx) = make_chatwidget_manual(/*model_override*/ None).await;
|
||||
let (mut chat, _rx, mut op_rx) = make_chatwidget_manual(Some("gpt-5.5")).await;
|
||||
chat.thread_id = Some(ThreadId::new());
|
||||
chat.set_feature_enabled(Feature::CollaborationModes, /*enabled*/ true);
|
||||
let plan_mask = collaboration_modes::mask_for_kind(chat.model_catalog.as_ref(), ModeKind::Plan)
|
||||
@@ -1562,7 +1562,7 @@ async fn set_reasoning_effort_does_not_override_active_plan_override() {
|
||||
|
||||
#[tokio::test]
|
||||
async fn collab_mode_is_sent_after_enabling() {
|
||||
let (mut chat, _rx, mut op_rx) = make_chatwidget_manual(/*model_override*/ None).await;
|
||||
let (mut chat, _rx, mut op_rx) = make_chatwidget_manual(Some("gpt-5.5")).await;
|
||||
chat.thread_id = Some(ThreadId::new());
|
||||
chat.set_feature_enabled(Feature::CollaborationModes, /*enabled*/ true);
|
||||
|
||||
@@ -1587,7 +1587,7 @@ async fn collab_mode_is_sent_after_enabling() {
|
||||
|
||||
#[tokio::test]
|
||||
async fn collab_mode_applies_default_preset() {
|
||||
let (mut chat, _rx, mut op_rx) = make_chatwidget_manual(/*model_override*/ None).await;
|
||||
let (mut chat, _rx, mut op_rx) = make_chatwidget_manual(Some("gpt-5.5")).await;
|
||||
chat.thread_id = Some(ThreadId::new());
|
||||
|
||||
chat.bottom_pane
|
||||
|
||||
Reference in new issue
Block a user