From 3661c085ded4aa30083d374fc786681eeea044b0 Mon Sep 17 00:00:00 2001 From: Ahmed Ibrahim Date: Thu, 19 Mar 2026 13:13:26 -0700 Subject: [PATCH] Rename terminal crate to terminal-detection Co-authored-by: Codex --- codex-rs/Cargo.lock | 12 ++++++------ codex-rs/Cargo.toml | 4 ++-- codex-rs/cli/Cargo.toml | 2 +- codex-rs/cli/src/main.rs | 4 ++-- codex-rs/core/Cargo.toml | 2 +- codex-rs/core/src/codex.rs | 2 +- codex-rs/core/src/default_client.rs | 2 +- codex-rs/mcp-server/Cargo.toml | 1 - codex-rs/mcp-server/tests/common/Cargo.toml | 1 + codex-rs/mcp-server/tests/common/mcp_process.rs | 2 +- codex-rs/terminal-detection/BUILD.bazel | 6 ++++++ codex-rs/{terminal => terminal-detection}/Cargo.toml | 4 ++-- codex-rs/{terminal => terminal-detection}/src/lib.rs | 0 .../src/terminal_tests.rs | 0 codex-rs/terminal/BUILD.bazel | 6 ------ codex-rs/tui/Cargo.toml | 2 +- codex-rs/tui/src/app.rs | 2 +- codex-rs/tui/src/chatwidget.rs | 4 ++-- codex-rs/tui/src/chatwidget/tests.rs | 2 +- codex-rs/tui/src/diff_render.rs | 4 ++-- codex-rs/tui/src/lib.rs | 4 ++-- codex-rs/tui_app_server/Cargo.toml | 2 +- codex-rs/tui_app_server/src/app.rs | 2 +- codex-rs/tui_app_server/src/chatwidget.rs | 4 ++-- codex-rs/tui_app_server/src/chatwidget/tests.rs | 2 +- codex-rs/tui_app_server/src/diff_render.rs | 4 ++-- codex-rs/tui_app_server/src/lib.rs | 4 ++-- 27 files changed, 42 insertions(+), 42 deletions(-) create mode 100644 codex-rs/terminal-detection/BUILD.bazel rename codex-rs/{terminal => terminal-detection}/Cargo.toml (78%) rename codex-rs/{terminal => terminal-detection}/src/lib.rs (100%) rename codex-rs/{terminal => terminal-detection}/src/terminal_tests.rs (100%) delete mode 100644 codex-rs/terminal/BUILD.bazel diff --git a/codex-rs/Cargo.lock b/codex-rs/Cargo.lock index dbb812c768..d00aa45456 100644 --- a/codex-rs/Cargo.lock +++ b/codex-rs/Cargo.lock @@ -1664,7 +1664,7 @@ dependencies = [ "codex-rmcp-client", "codex-state", "codex-stdio-to-uds", - "codex-terminal", + "codex-terminal-detection", "codex-tui", "codex-tui-app-server", "codex-utils-cargo-bin", @@ -1859,7 +1859,7 @@ dependencies = [ "codex-shell-escalation", "codex-skills", "codex-state", - "codex-terminal", + "codex-terminal-detection", "codex-test-macros", "codex-utils-absolute-path", "codex-utils-cache", @@ -2203,7 +2203,6 @@ dependencies = [ "codex-core", "codex-protocol", "codex-shell-command", - "codex-terminal", "codex-utils-cli", "codex-utils-json-to-toml", "core_test_support", @@ -2511,7 +2510,7 @@ dependencies = [ ] [[package]] -name = "codex-terminal" +name = "codex-terminal-detection" version = "0.0.0" dependencies = [ "pretty_assertions", @@ -2553,7 +2552,7 @@ dependencies = [ "codex-protocol", "codex-shell-command", "codex-state", - "codex-terminal", + "codex-terminal-detection", "codex-tui-app-server", "codex-utils-absolute-path", "codex-utils-approval-presets", @@ -2645,7 +2644,7 @@ dependencies = [ "codex-protocol", "codex-shell-command", "codex-state", - "codex-terminal", + "codex-terminal-detection", "codex-utils-absolute-path", "codex-utils-approval-presets", "codex-utils-cargo-bin", @@ -5828,6 +5827,7 @@ dependencies = [ "anyhow", "codex-core", "codex-mcp-server", + "codex-terminal-detection", "codex-utils-cargo-bin", "core_test_support", "os_info", diff --git a/codex-rs/Cargo.toml b/codex-rs/Cargo.toml index 71c8facfe2..961c4ef9f9 100644 --- a/codex-rs/Cargo.toml +++ b/codex-rs/Cargo.toml @@ -66,7 +66,7 @@ members = [ "codex-client", "codex-api", "state", - "terminal", + "terminal-detection", "codex-experimental-api-macros", "test-macros", "package-manager", @@ -132,7 +132,7 @@ codex-skills = { path = "skills" } codex-state = { path = "state" } codex-stdio-to-uds = { path = "stdio-to-uds" } codex-test-macros = { path = "test-macros" } -codex-terminal = { path = "terminal" } +codex-terminal-detection = { path = "terminal-detection" } codex-tui = { path = "tui" } codex-tui-app-server = { path = "tui_app_server" } codex-utils-absolute-path = { path = "utils/absolute-path" } diff --git a/codex-rs/cli/Cargo.toml b/codex-rs/cli/Cargo.toml index 8975de8763..affc5ef8c2 100644 --- a/codex-rs/cli/Cargo.toml +++ b/codex-rs/cli/Cargo.toml @@ -37,7 +37,7 @@ codex-responses-api-proxy = { workspace = true } codex-rmcp-client = { workspace = true } codex-state = { workspace = true } codex-stdio-to-uds = { workspace = true } -codex-terminal = { workspace = true } +codex-terminal-detection = { workspace = true } codex-tui = { workspace = true } codex-tui-app-server = { workspace = true } libc = { workspace = true } diff --git a/codex-rs/cli/src/main.rs b/codex-rs/cli/src/main.rs index 31bd621312..e9f4d6f686 100644 --- a/codex-rs/cli/src/main.rs +++ b/codex-rs/cli/src/main.rs @@ -50,7 +50,7 @@ use codex_core::config::edit::ConfigEditsBuilder; use codex_core::config::find_codex_home; use codex_core::features::Stage; use codex_core::features::is_known_feature_key; -use codex_terminal::TerminalName; +use codex_terminal_detection::TerminalName; /// Codex CLI /// @@ -1049,7 +1049,7 @@ async fn run_interactive_tui( interactive.prompt = Some(prompt.replace("\r\n", "\n").replace('\r', "\n")); } - let terminal_info = codex_terminal::terminal_info(); + let terminal_info = codex_terminal_detection::terminal_info(); if terminal_info.name == TerminalName::Dumb { if !(std::io::stdin().is_terminal() && std::io::stderr().is_terminal()) { return Ok(AppExitInfo::fatal( diff --git a/codex-rs/core/Cargo.toml b/codex-rs/core/Cargo.toml index 9f0269537a..869f9dd9f4 100644 --- a/codex-rs/core/Cargo.toml +++ b/codex-rs/core/Cargo.toml @@ -48,7 +48,7 @@ codex-artifacts = { workspace = true } codex-protocol = { workspace = true } codex-rmcp-client = { workspace = true } codex-state = { workspace = true } -codex-terminal = { workspace = true } +codex-terminal-detection = { workspace = true } codex-utils-absolute-path = { workspace = true } codex-utils-cache = { workspace = true } codex-utils-image = { workspace = true } diff --git a/codex-rs/core/src/codex.rs b/codex-rs/core/src/codex.rs index 62a22e5712..505d25439c 100644 --- a/codex-rs/core/src/codex.rs +++ b/codex-rs/core/src/codex.rs @@ -116,7 +116,7 @@ use codex_protocol::request_user_input::RequestUserInputArgs; use codex_protocol::request_user_input::RequestUserInputResponse; use codex_rmcp_client::ElicitationResponse; use codex_rmcp_client::OAuthCredentialsStoreMode; -use codex_terminal::user_agent; +use codex_terminal_detection::user_agent; use codex_utils_stream_parser::AssistantTextChunk; use codex_utils_stream_parser::AssistantTextStreamParser; use codex_utils_stream_parser::ProposedPlanSegment; diff --git a/codex-rs/core/src/default_client.rs b/codex-rs/core/src/default_client.rs index 6b88ae9a9f..59c7bd2fb9 100644 --- a/codex-rs/core/src/default_client.rs +++ b/codex-rs/core/src/default_client.rs @@ -4,7 +4,7 @@ use codex_client::BuildCustomCaTransportError; use codex_client::CodexHttpClient; pub use codex_client::CodexRequestBuilder; use codex_client::build_reqwest_client_with_custom_ca; -use codex_terminal::user_agent; +use codex_terminal_detection::user_agent; use reqwest::header::HeaderMap; use reqwest::header::HeaderValue; use std::sync::LazyLock; diff --git a/codex-rs/mcp-server/Cargo.toml b/codex-rs/mcp-server/Cargo.toml index 9158a7b66e..2ecce383ce 100644 --- a/codex-rs/mcp-server/Cargo.toml +++ b/codex-rs/mcp-server/Cargo.toml @@ -40,7 +40,6 @@ tracing-subscriber = { workspace = true, features = ["env-filter", "fmt"] } [dev-dependencies] core_test_support = { workspace = true } -codex-terminal = { workspace = true } mcp_test_support = { workspace = true } os_info = { workspace = true } pretty_assertions = { workspace = true } diff --git a/codex-rs/mcp-server/tests/common/Cargo.toml b/codex-rs/mcp-server/tests/common/Cargo.toml index 1dec2d09ac..83f2c53697 100644 --- a/codex-rs/mcp-server/tests/common/Cargo.toml +++ b/codex-rs/mcp-server/tests/common/Cargo.toml @@ -11,6 +11,7 @@ path = "lib.rs" anyhow = { workspace = true } codex-core = { workspace = true } codex-mcp-server = { workspace = true } +codex-terminal-detection = { workspace = true } codex-utils-cargo-bin = { workspace = true } rmcp = { workspace = true } os_info = { workspace = true } diff --git a/codex-rs/mcp-server/tests/common/mcp_process.rs b/codex-rs/mcp-server/tests/common/mcp_process.rs index 5ff9e1788c..53925ca396 100644 --- a/codex-rs/mcp-server/tests/common/mcp_process.rs +++ b/codex-rs/mcp-server/tests/common/mcp_process.rs @@ -11,7 +11,7 @@ use tokio::process::ChildStdout; use anyhow::Context; use codex_mcp_server::CodexToolCallParam; -use codex_terminal::user_agent; +use codex_terminal_detection::user_agent; use pretty_assertions::assert_eq; use rmcp::model::CallToolRequestParams; diff --git a/codex-rs/terminal-detection/BUILD.bazel b/codex-rs/terminal-detection/BUILD.bazel new file mode 100644 index 0000000000..a41a762c18 --- /dev/null +++ b/codex-rs/terminal-detection/BUILD.bazel @@ -0,0 +1,6 @@ +load("//:defs.bzl", "codex_rust_crate") + +codex_rust_crate( + name = "terminal-detection", + crate_name = "codex_terminal_detection", +) diff --git a/codex-rs/terminal/Cargo.toml b/codex-rs/terminal-detection/Cargo.toml similarity index 78% rename from codex-rs/terminal/Cargo.toml rename to codex-rs/terminal-detection/Cargo.toml index 4816c40e70..f75e649d36 100644 --- a/codex-rs/terminal/Cargo.toml +++ b/codex-rs/terminal-detection/Cargo.toml @@ -1,11 +1,11 @@ [package] -name = "codex-terminal" +name = "codex-terminal-detection" version.workspace = true edition.workspace = true license.workspace = true [lib] -name = "codex_terminal" +name = "codex_terminal_detection" path = "src/lib.rs" [lints] diff --git a/codex-rs/terminal/src/lib.rs b/codex-rs/terminal-detection/src/lib.rs similarity index 100% rename from codex-rs/terminal/src/lib.rs rename to codex-rs/terminal-detection/src/lib.rs diff --git a/codex-rs/terminal/src/terminal_tests.rs b/codex-rs/terminal-detection/src/terminal_tests.rs similarity index 100% rename from codex-rs/terminal/src/terminal_tests.rs rename to codex-rs/terminal-detection/src/terminal_tests.rs diff --git a/codex-rs/terminal/BUILD.bazel b/codex-rs/terminal/BUILD.bazel deleted file mode 100644 index fde9e23090..0000000000 --- a/codex-rs/terminal/BUILD.bazel +++ /dev/null @@ -1,6 +0,0 @@ -load("//:defs.bzl", "codex_rust_crate") - -codex_rust_crate( - name = "terminal", - crate_name = "codex_terminal", -) diff --git a/codex-rs/tui/Cargo.toml b/codex-rs/tui/Cargo.toml index 5b62c86186..d4b6f25f01 100644 --- a/codex-rs/tui/Cargo.toml +++ b/codex-rs/tui/Cargo.toml @@ -43,7 +43,7 @@ codex-otel = { workspace = true } codex-protocol = { workspace = true } codex-shell-command = { workspace = true } codex-state = { workspace = true } -codex-terminal = { workspace = true } +codex-terminal-detection = { workspace = true } codex-tui-app-server = { workspace = true } codex-utils-approval-presets = { workspace = true } codex-utils-absolute-path = { workspace = true } diff --git a/codex-rs/tui/src/app.rs b/codex-rs/tui/src/app.rs index 98f2679ded..50b663162d 100644 --- a/codex-rs/tui/src/app.rs +++ b/codex-rs/tui/src/app.rs @@ -80,7 +80,7 @@ use codex_protocol::protocol::SessionConfiguredEvent; use codex_protocol::protocol::SessionSource; use codex_protocol::protocol::SkillErrorInfo; use codex_protocol::protocol::TokenUsage; -use codex_terminal::user_agent; +use codex_terminal_detection::user_agent; use codex_utils_absolute_path::AbsolutePathBuf; use color_eyre::eyre::Result; use color_eyre::eyre::WrapErr; diff --git a/codex-rs/tui/src/chatwidget.rs b/codex-rs/tui/src/chatwidget.rs index 8bc96c008b..897ec389ec 100644 --- a/codex-rs/tui/src/chatwidget.rs +++ b/codex-rs/tui/src/chatwidget.rs @@ -153,8 +153,8 @@ use codex_protocol::request_permissions::RequestPermissionsEvent; use codex_protocol::request_user_input::RequestUserInputEvent; use codex_protocol::user_input::TextElement; use codex_protocol::user_input::UserInput; -use codex_terminal::TerminalName; -use codex_terminal::terminal_info; +use codex_terminal_detection::TerminalName; +use codex_terminal_detection::terminal_info; use codex_utils_sleep_inhibitor::SleepInhibitor; use crossterm::event::KeyCode; use crossterm::event::KeyEvent; diff --git a/codex-rs/tui/src/chatwidget/tests.rs b/codex-rs/tui/src/chatwidget/tests.rs index ccf26dd231..97cdf7eeef 100644 --- a/codex-rs/tui/src/chatwidget/tests.rs +++ b/codex-rs/tui/src/chatwidget/tests.rs @@ -120,7 +120,7 @@ use codex_protocol::request_user_input::RequestUserInputQuestion; use codex_protocol::request_user_input::RequestUserInputQuestionOption; use codex_protocol::user_input::TextElement; use codex_protocol::user_input::UserInput; -use codex_terminal::TerminalName; +use codex_terminal_detection::TerminalName; use codex_utils_absolute_path::AbsolutePathBuf; use codex_utils_approval_presets::builtin_approval_presets; use crossterm::event::KeyCode; diff --git a/codex-rs/tui/src/diff_render.rs b/codex-rs/tui/src/diff_render.rs index 4b15cd27c5..684d76b1e0 100644 --- a/codex-rs/tui/src/diff_render.rs +++ b/codex-rs/tui/src/diff_render.rs @@ -94,8 +94,8 @@ use crate::terminal_palette::rgb_color; use crate::terminal_palette::stdout_color_level; use codex_core::git_info::get_git_repo_root; use codex_protocol::protocol::FileChange; -use codex_terminal::TerminalName; -use codex_terminal::terminal_info; +use codex_terminal_detection::TerminalName; +use codex_terminal_detection::terminal_info; /// Classifies a diff line for gutter sign rendering and style selection. /// diff --git a/codex-rs/tui/src/lib.rs b/codex-rs/tui/src/lib.rs index 2d75eb29de..8f015981c0 100644 --- a/codex-rs/tui/src/lib.rs +++ b/codex-rs/tui/src/lib.rs @@ -42,8 +42,8 @@ use codex_protocol::protocol::AskForApproval; use codex_protocol::protocol::RolloutItem; use codex_protocol::protocol::RolloutLine; use codex_state::log_db; -use codex_terminal::Multiplexer; -use codex_terminal::terminal_info; +use codex_terminal_detection::Multiplexer; +use codex_terminal_detection::terminal_info; use codex_utils_absolute_path::AbsolutePathBuf; use codex_utils_oss::ensure_oss_provider_ready; use codex_utils_oss::get_default_model_for_oss_provider; diff --git a/codex-rs/tui_app_server/Cargo.toml b/codex-rs/tui_app_server/Cargo.toml index 9b75c83ff4..4d9b268895 100644 --- a/codex-rs/tui_app_server/Cargo.toml +++ b/codex-rs/tui_app_server/Cargo.toml @@ -48,7 +48,7 @@ codex-otel = { workspace = true } codex-protocol = { workspace = true } codex-shell-command = { workspace = true } codex-state = { workspace = true } -codex-terminal = { workspace = true } +codex-terminal-detection = { workspace = true } codex-utils-approval-presets = { workspace = true } codex-utils-absolute-path = { workspace = true } codex-utils-cli = { workspace = true } diff --git a/codex-rs/tui_app_server/src/app.rs b/codex-rs/tui_app_server/src/app.rs index b404a6d73d..52b6db48bb 100644 --- a/codex-rs/tui_app_server/src/app.rs +++ b/codex-rs/tui_app_server/src/app.rs @@ -96,7 +96,7 @@ use codex_protocol::protocol::SandboxPolicy; use codex_protocol::protocol::SessionSource; use codex_protocol::protocol::SkillErrorInfo; use codex_protocol::protocol::TokenUsage; -use codex_terminal::user_agent; +use codex_terminal_detection::user_agent; use codex_utils_absolute_path::AbsolutePathBuf; use color_eyre::eyre::Result; use color_eyre::eyre::WrapErr; diff --git a/codex-rs/tui_app_server/src/chatwidget.rs b/codex-rs/tui_app_server/src/chatwidget.rs index 9a4523e5f1..eaf9ca1159 100644 --- a/codex-rs/tui_app_server/src/chatwidget.rs +++ b/codex-rs/tui_app_server/src/chatwidget.rs @@ -197,8 +197,8 @@ use codex_protocol::request_user_input::RequestUserInputEvent; use codex_protocol::request_user_input::RequestUserInputQuestionOption; use codex_protocol::user_input::TextElement; use codex_protocol::user_input::UserInput; -use codex_terminal::TerminalName; -use codex_terminal::terminal_info; +use codex_terminal_detection::TerminalName; +use codex_terminal_detection::terminal_info; use codex_utils_sleep_inhibitor::SleepInhibitor; use crossterm::event::KeyCode; use crossterm::event::KeyEvent; diff --git a/codex-rs/tui_app_server/src/chatwidget/tests.rs b/codex-rs/tui_app_server/src/chatwidget/tests.rs index 5c6077b52e..a08d56da8f 100644 --- a/codex-rs/tui_app_server/src/chatwidget/tests.rs +++ b/codex-rs/tui_app_server/src/chatwidget/tests.rs @@ -143,7 +143,7 @@ use codex_protocol::request_user_input::RequestUserInputQuestion; use codex_protocol::request_user_input::RequestUserInputQuestionOption; use codex_protocol::user_input::TextElement; use codex_protocol::user_input::UserInput; -use codex_terminal::TerminalName; +use codex_terminal_detection::TerminalName; use codex_utils_absolute_path::AbsolutePathBuf; use codex_utils_approval_presets::builtin_approval_presets; use crossterm::event::KeyCode; diff --git a/codex-rs/tui_app_server/src/diff_render.rs b/codex-rs/tui_app_server/src/diff_render.rs index 4b15cd27c5..684d76b1e0 100644 --- a/codex-rs/tui_app_server/src/diff_render.rs +++ b/codex-rs/tui_app_server/src/diff_render.rs @@ -94,8 +94,8 @@ use crate::terminal_palette::rgb_color; use crate::terminal_palette::stdout_color_level; use codex_core::git_info::get_git_repo_root; use codex_protocol::protocol::FileChange; -use codex_terminal::TerminalName; -use codex_terminal::terminal_info; +use codex_terminal_detection::TerminalName; +use codex_terminal_detection::terminal_info; /// Classifies a diff line for gutter sign rendering and style selection. /// diff --git a/codex-rs/tui_app_server/src/lib.rs b/codex-rs/tui_app_server/src/lib.rs index 7fdfc86b1e..5677806576 100644 --- a/codex-rs/tui_app_server/src/lib.rs +++ b/codex-rs/tui_app_server/src/lib.rs @@ -48,8 +48,8 @@ use codex_protocol::protocol::RolloutItem; use codex_protocol::protocol::RolloutLine; use codex_protocol::protocol::TurnContextItem; use codex_state::log_db; -use codex_terminal::Multiplexer; -use codex_terminal::terminal_info; +use codex_terminal_detection::Multiplexer; +use codex_terminal_detection::terminal_info; use codex_utils_absolute_path::AbsolutePathBuf; use codex_utils_oss::ensure_oss_provider_ready; use codex_utils_oss::get_default_model_for_oss_provider;