diff --git a/codex-rs/Cargo.lock b/codex-rs/Cargo.lock index 7f7f791b54..82dd05dab4 100644 --- a/codex-rs/Cargo.lock +++ b/codex-rs/Cargo.lock @@ -1667,7 +1667,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", @@ -1696,7 +1696,7 @@ dependencies = [ "async-trait", "bytes", "codex-config", - "codex-terminal", + "codex-terminal-detection", "codex-utils-cargo-bin", "codex-utils-rustls-provider", "eventsource-stream", @@ -1868,7 +1868,7 @@ dependencies = [ "codex-shell-escalation", "codex-skills", "codex-state", - "codex-terminal", + "codex-terminal-detection", "codex-test-macros", "codex-utils-absolute-path", "codex-utils-cache", @@ -2528,7 +2528,7 @@ dependencies = [ ] [[package]] -name = "codex-terminal" +name = "codex-terminal-detection" version = "0.0.0" dependencies = [ "pretty_assertions", @@ -2570,7 +2570,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", @@ -2662,7 +2662,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", @@ -5846,7 +5846,7 @@ dependencies = [ "codex-client", "codex-core", "codex-mcp-server", - "codex-terminal", + "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/codex-client/Cargo.toml b/codex-rs/codex-client/Cargo.toml index 5b0c09d033..c84ced1d2d 100644 --- a/codex-rs/codex-client/Cargo.toml +++ b/codex-rs/codex-client/Cargo.toml @@ -8,7 +8,7 @@ version.workspace = true async-trait = { workspace = true } bytes = { workspace = true } codex-config = { workspace = true } -codex-terminal = { workspace = true } +codex-terminal-detection = { workspace = true } codex-utils-rustls-provider = { workspace = true } eventsource-stream = { workspace = true } futures = { workspace = true } diff --git a/codex-rs/codex-client/src/create_client.rs b/codex-rs/codex-client/src/create_client.rs index 756b20120a..b9f508b989 100644 --- a/codex-rs/codex-client/src/create_client.rs +++ b/codex-rs/codex-client/src/create_client.rs @@ -2,7 +2,7 @@ use crate::custom_ca::BuildCustomCaTransportError; use crate::custom_ca::build_reqwest_client_with_custom_ca; use crate::default_client::CodexHttpClient; use codex_config::ResidencyRequirement; -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/core/Cargo.toml b/codex-rs/core/Cargo.toml index e78362e32a..92c1a0bff0 100644 --- a/codex-rs/core/Cargo.toml +++ b/codex-rs/core/Cargo.toml @@ -49,7 +49,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 cdd8f6852d..dcf792677c 100644 --- a/codex-rs/core/src/codex.rs +++ b/codex-rs/core/src/codex.rs @@ -117,7 +117,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/mcp-server/tests/common/Cargo.toml b/codex-rs/mcp-server/tests/common/Cargo.toml index fec95a0945..5bcbd7d985 100644 --- a/codex-rs/mcp-server/tests/common/Cargo.toml +++ b/codex-rs/mcp-server/tests/common/Cargo.toml @@ -12,7 +12,7 @@ anyhow = { workspace = true } codex-client = { workspace = true } codex-core = { workspace = true } codex-mcp-server = { workspace = true } -codex-terminal = { 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 47a78ae8bf..d25f96e07c 100644 --- a/codex-rs/mcp-server/tests/common/mcp_process.rs +++ b/codex-rs/mcp-server/tests/common/mcp_process.rs @@ -12,7 +12,7 @@ use tokio::process::ChildStdout; use anyhow::Context; use codex_client::originator; 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 3e4df002dc..2598933757 100644 --- a/codex-rs/tui/src/app.rs +++ b/codex-rs/tui/src/app.rs @@ -81,7 +81,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 617dca9443..5655229f73 100644 --- a/codex-rs/tui/src/lib.rs +++ b/codex-rs/tui/src/lib.rs @@ -43,8 +43,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 2e25dcd20b..c705f10437 100644 --- a/codex-rs/tui_app_server/src/app.rs +++ b/codex-rs/tui_app_server/src/app.rs @@ -97,7 +97,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 9f031dc48a..e892795a48 100644 --- a/codex-rs/tui_app_server/src/lib.rs +++ b/codex-rs/tui_app_server/src/lib.rs @@ -49,8 +49,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;