[package] edition = "2024" name = "codex-tui" version = { workspace = true } [[bin]] name = "codex-tui" path = "src/main.rs" [lib] name = "codex_tui" path = "src/lib.rs" [features] # Enable vt100-based tests (emulator) when running with `--features vt100-tests`. vt100-tests = [] # Gate verbose debug logging inside the TUI implementation. debug-logs = [] [lints] workspace = true [dependencies] anyhow = { workspace = true } async-stream = { workspace = true } base64 = { workspace = true } chrono = { workspace = true, features = ["serde"] } clap = { workspace = true, features = ["derive"] } codex-ansi-escape = { workspace = true } codex-app-server-protocol = { workspace = true } codex-arg0 = { workspace = true } codex-common = { workspace = true, features = [ "cli", "elapsed", "sandbox_summary", ] } codex-core = { workspace = true } codex-feedback = { workspace = true } codex-file-search = { workspace = true } codex-login = { workspace = true } codex-ollama = { workspace = true } codex-protocol = { workspace = true } color-eyre = { workspace = true } crossterm = { workspace = true, features = ["bracketed-paste", "event-stream"] } derive_more = { workspace = true, features = ["is_variant"] } diffy = { workspace = true } dirs = { workspace = true } dunce = { workspace = true } image = { workspace = true, features = ["jpeg", "png"] } itertools = { workspace = true } lazy_static = { workspace = true } mcp-types = { workspace = true } opentelemetry-appender-tracing = { workspace = true } pathdiff = { workspace = true } pulldown-cmark = { workspace = true } rand = { workspace = true } ratatui = { workspace = true, features = [ "scrolling-regions", "unstable-backend-writer", "unstable-rendered-line-info", "unstable-widget-ref", ] } ratatui-macros = { workspace = true } regex-lite = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true, features = ["preserve_order"] } shlex = { workspace = true } strum = { workspace = true } strum_macros = { workspace = true } supports-color = { workspace = true } tempfile = { workspace = true } textwrap = { workspace = true } tokio = { workspace = true, features = [ "io-std", "macros", "process", "rt-multi-thread", "signal", ] } tokio-stream = { workspace = true } toml = { workspace = true } tracing = { workspace = true, features = ["log"] } tracing-appender = { workspace = true } tracing-subscriber = { workspace = true, features = ["env-filter"] } tree-sitter-bash = { workspace = true } tree-sitter-highlight = { workspace = true } unicode-segmentation = { workspace = true } unicode-width = { workspace = true } url = { workspace = true } codex-windows-sandbox = { workspace = true } [target.'cfg(unix)'.dependencies] libc = { workspace = true } # Clipboard support via `arboard` is not available on Android/Termux. # Only include it for non-Android targets so the crate builds on Android. [target.'cfg(not(target_os = "android"))'.dependencies] arboard = { workspace = true } [dev-dependencies] assert_matches = { workspace = true } chrono = { workspace = true, features = ["serde"] } insta = { workspace = true } pretty_assertions = { workspace = true } rand = { workspace = true } serial_test = { workspace = true } vt100 = { workspace = true }