Files
codex/codex-rs/tui/src/test_support.rs
T
rhan-oai 12e82f44f8 Remove personality selection from the TUI (#44935)
## What changed

Remove the `/personality` command, selection popup, tooltip, and associated settings update and persistence handlers. Stop sending a personality override with TUI user turns.

GitOrigin-RevId: 0549a1f9dcfd8118340fad4b60fd24d4eee7f93a
2026-09-11 23:28:38 +00:00

56 lines
1.6 KiB
Rust

//! Test-only helpers shared across the TUI crate.
use std::sync::LazyLock;
use codex_models_manager::bundled_models_response;
use codex_protocol::openai_models::ModelPreset;
pub(crate) use codex_utils_absolute_path::test_support::PathBufExt;
pub(crate) use codex_utils_absolute_path::test_support::test_path_buf;
use serde::Serialize;
use serde::de::DeserializeOwned;
pub(crate) static TEST_MODEL_PRESETS: LazyLock<Vec<ModelPreset>> = LazyLock::new(|| {
let mut response = bundled_models_response()
.unwrap_or_else(|err| panic!("bundled models.json should parse: {err}"));
response.models.sort_by_key(|model| model.priority);
let mut presets: Vec<ModelPreset> = response.models.into_iter().map(Into::into).collect();
ModelPreset::mark_default_by_picker_visibility(&mut presets);
presets
});
pub(crate) fn test_path_display(path: &str) -> String {
test_path_buf(path).display().to_string()
}
pub(crate) fn session_source_cli<T>() -> T
where
T: DeserializeOwned,
{
from_app_server_wire(codex_app_server_protocol::SessionSource::Cli)
}
pub(crate) fn skill_scope_user<T>() -> T
where
T: DeserializeOwned,
{
from_app_server_wire(codex_app_server_protocol::SkillScope::User)
}
pub(crate) fn skill_scope_repo<T>() -> T
where
T: DeserializeOwned,
{
from_app_server_wire(codex_app_server_protocol::SkillScope::Repo)
}
fn from_app_server_wire<T>(value: impl Serialize) -> T
where
T: DeserializeOwned,
{
serde_json::to_value(value)
.and_then(serde_json::from_value)
.unwrap_or_else(|err| {
panic!("app-server wire value should map to legacy helper type: {err}")
})
}