[TUI] add external config migration prompt when start TUI

This commit is contained in:
alexsong-oai
2026-04-14 21:33:02 -07:00
parent 522b8e5a51
commit 14ec2b0b8f
10 changed files with 547 additions and 46 deletions

View File

@@ -150,6 +150,8 @@ pub enum Feature {
ToolSuggest,
/// Enable plugins.
Plugins,
/// Show the startup prompt for migrating external agent config into Codex.
ExternalMigrate,
/// Allow the model to invoke the built-in image generation tool.
ImageGeneration,
/// Allow prompting and installing missing MCP dependencies.
@@ -795,6 +797,16 @@ pub const FEATURES: &[FeatureSpec] = &[
stage: Stage::Stable,
default_enabled: true,
},
FeatureSpec {
id: Feature::ExternalMigrate,
key: "external_migrate",
stage: Stage::Experimental {
name: "External migrate",
menu_description: "Show a startup prompt when Codex detects migratable external agent config for this machine or project.",
announcement: "",
},
default_enabled: false,
},
FeatureSpec {
id: Feature::ImageGeneration,
key: "image_generation",

View File

@@ -103,6 +103,23 @@ fn guardian_approval_is_experimental_and_user_toggleable() {
assert_eq!(Feature::GuardianApproval.default_enabled(), false);
}
#[test]
fn external_migrate_is_experimental_and_disabled_by_default() {
let spec = Feature::ExternalMigrate.info();
let stage = spec.stage;
assert!(matches!(stage, Stage::Experimental { .. }));
assert_eq!(stage.experimental_menu_name(), Some("External migrate"));
assert_eq!(
stage.experimental_menu_description(),
Some(
"Show a startup prompt when Codex detects migratable external agent config for this machine or project."
)
);
assert_eq!(stage.experimental_announcement(), None);
assert_eq!(Feature::ExternalMigrate.default_enabled(), false);
}
#[test]
fn request_permissions_is_under_development() {
assert_eq!(