From e5fe50d3ce4dc0e600e794502d8ce413ea1cbfe0 Mon Sep 17 00:00:00 2001 From: jif-oai Date: Mon, 22 Sep 2025 18:47:01 +0200 Subject: [PATCH] chore: unify cargo versions (#4044) Unify cargo versions at root --- codex-rs/Cargo.lock | 42 +------ codex-rs/Cargo.toml | 123 ++++++++++++++++++++ codex-rs/ansi-escape/Cargo.toml | 6 +- codex-rs/apply-patch/Cargo.toml | 18 +-- codex-rs/arg0/Cargo.toml | 14 +-- codex-rs/chatgpt/Cargo.toml | 16 +-- codex-rs/cli/Cargo.toml | 42 +++---- codex-rs/common/Cargo.toml | 10 +- codex-rs/core/Cargo.toml | 106 ++++++++--------- codex-rs/core/tests/common/Cargo.toml | 10 +- codex-rs/exec/Cargo.toml | 44 +++---- codex-rs/execpolicy/Cargo.toml | 28 ++--- codex-rs/file-search/Cargo.toml | 14 +-- codex-rs/linux-sandbox/Cargo.toml | 14 +-- codex-rs/login/Cargo.toml | 34 +++--- codex-rs/login/src/pkce.rs | 2 +- codex-rs/login/src/server.rs | 2 +- codex-rs/mcp-client/Cargo.toml | 14 +-- codex-rs/mcp-server/Cargo.toml | 48 ++++---- codex-rs/mcp-server/tests/common/Cargo.toml | 24 ++-- codex-rs/mcp-types/Cargo.toml | 6 +- codex-rs/ollama/Cargo.toml | 18 +-- codex-rs/protocol-ts/Cargo.toml | 10 +- codex-rs/protocol/Cargo.toml | 32 ++--- codex-rs/tui/Cargo.toml | 104 ++++++++--------- 25 files changed, 437 insertions(+), 344 deletions(-) diff --git a/codex-rs/Cargo.lock b/codex-rs/Cargo.lock index 653e205b..c618fb51 100644 --- a/codex-rs/Cargo.lock +++ b/codex-rs/Cargo.lock @@ -687,7 +687,7 @@ dependencies = [ "portable-pty", "predicates", "pretty_assertions", - "rand 0.9.2", + "rand", "regex-lite", "reqwest", "seccompiler", @@ -798,7 +798,7 @@ dependencies = [ "codex-core", "codex-protocol", "core_test_support", - "rand 0.8.5", + "rand", "reqwest", "serde", "serde_json", @@ -936,7 +936,7 @@ dependencies = [ "pathdiff", "pretty_assertions", "pulldown-cmark", - "rand 0.9.2", + "rand", "ratatui", "regex-lite", "serde", @@ -3454,35 +3454,14 @@ dependencies = [ "nibble_vec", ] -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - [[package]] name = "rand" version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.3", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", + "rand_chacha", + "rand_core", ] [[package]] @@ -3492,16 +3471,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.3", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.16", + "rand_core", ] [[package]] diff --git a/codex-rs/Cargo.toml b/codex-rs/Cargo.toml index 1502e62f..5850d09b 100644 --- a/codex-rs/Cargo.toml +++ b/codex-rs/Cargo.toml @@ -29,6 +29,124 @@ version = "0.0.0" # edition. edition = "2024" +[workspace.dependencies] +# Internal +codex-ansi-escape = { path = "ansi-escape" } +codex-apply-patch = { path = "apply-patch" } +codex-arg0 = { path = "arg0" } +codex-chatgpt = { path = "chatgpt" } +codex-common = { path = "common" } +codex-core = { path = "core" } +codex-exec = { path = "exec" } +codex-file-search = { path = "file-search" } +codex-linux-sandbox = { path = "linux-sandbox" } +codex-login = { path = "login" } +codex-mcp-client = { path = "mcp-client" } +codex-mcp-server = { path = "mcp-server" } +codex-ollama = { path = "ollama" } +codex-protocol = { path = "protocol" } +codex-protocol-ts = { path = "protocol-ts" } +codex-tui = { path = "tui" } +core_test_support = { path = "core/tests/common" } +mcp-types = { path = "mcp-types" } +mcp_test_support = { path = "mcp-server/tests/common" } + +# External +allocative = "0.3.3" +ansi-to-tui = "7.0.0" +anyhow = "1" +arboard = "3" +askama = "0.12" +assert_cmd = "2" +async-channel = "2.3.1" +async-stream = "0.3.6" +base64 = "0.22.1" +bytes = "1.10.1" +chrono = "0.4.40" +clap = "4" +clap_complete = "4" +color-eyre = "0.6.3" +crossterm = "0.28.1" +derive_more = "2" +diffy = "0.4.2" +dirs = "6" +dotenvy = "0.15.7" +env-flags = "0.1.1" +env_logger = "0.11.5" +eventsource-stream = "0.2.3" +futures = "0.3" +icu_decimal = "2.0.0" +icu_locale_core = "2.0.0" +ignore = "0.4.23" +image = { version = "^0.25.8", default-features = false } +insta = "1.43.2" +itertools = "0.14.0" +landlock = "0.4.1" +lazy_static = "1" +libc = "0.2.175" +log = "0.4" +maplit = "1.0.2" +mime_guess = "2.0.5" +multimap = "0.10.0" +nucleo-matcher = "0.3.1" +once_cell = "1" +openssl-sys = "*" +os_info = "3.12.0" +owo-colors = "4.2.0" +path-absolutize = "3.1.1" +path-clean = "1.0.1" +pathdiff = "0.2" +portable-pty = "0.9.0" +predicates = "3" +pretty_assertions = "1.4.1" +pulldown-cmark = "0.10" +rand = "0.9" +ratatui = "0.29.0" +regex-lite = "0.1.7" +reqwest = "0.12" +schemars = "0.8.22" +seccompiler = "0.5.0" +serde = "1" +serde_json = "1" +serde_with = "3.14" +sha1 = "0.10.6" +sha2 = "0.10" +shlex = "1.3.0" +similar = "2.7.0" +starlark = "0.13.0" +strum = "0.27.2" +strum_macros = "0.27.2" +supports-color = "3.0.2" +sys-locale = "0.3.2" +tempfile = "3.13.0" +textwrap = "0.16.2" +thiserror = "2.0.16" +time = "0.3" +tiny_http = "0.12" +tokio = "1" +tokio-stream = "0.1.17" +tokio-test = "0.4" +tokio-util = "0.7.16" +toml = "0.9.5" +toml_edit = "0.23.4" +tracing = "0.1.41" +tracing-appender = "0.2.3" +tracing-subscriber = "0.3.20" +tree-sitter = "0.25.9" +tree-sitter-bash = "0.25.0" +ts-rs = "11" +unicode-segmentation = "1.12.0" +unicode-width = "0.1" +url = "2" +urlencoding = "2.1" +uuid = "1" +vt100 = "0.16.2" +walkdir = "2.5.0" +webbrowser = "1.0" +which = "6" +wildmatch = "2.5.0" +wiremock = "0.6" + [workspace.lints] rust = {} @@ -38,6 +156,11 @@ redundant_clone = "deny" uninlined_format_args = "deny" unwrap_used = "deny" +# cargo-shear cannot see the platform-specific openssl-sys usage, so we +# silence the false positive here instead of deleting a real dependency. +[workspace.metadata.cargo-shear] +ignored = ["openssl-sys"] + [profile.release] lto = "fat" # Because we bundle some of these executables with the TypeScript CLI, we diff --git a/codex-rs/ansi-escape/Cargo.toml b/codex-rs/ansi-escape/Cargo.toml index ada67538..4107a727 100644 --- a/codex-rs/ansi-escape/Cargo.toml +++ b/codex-rs/ansi-escape/Cargo.toml @@ -8,9 +8,9 @@ name = "codex_ansi_escape" path = "src/lib.rs" [dependencies] -ansi-to-tui = "7.0.0" -ratatui = { version = "0.29.0", features = [ +ansi-to-tui = { workspace = true } +ratatui = { workspace = true, features = [ "unstable-rendered-line-info", "unstable-widget-ref", ] } -tracing = { version = "0.1.41", features = ["log"] } +tracing = { workspace = true, features = ["log"] } diff --git a/codex-rs/apply-patch/Cargo.toml b/codex-rs/apply-patch/Cargo.toml index 7b5919a3..d37404c1 100644 --- a/codex-rs/apply-patch/Cargo.toml +++ b/codex-rs/apply-patch/Cargo.toml @@ -15,14 +15,14 @@ path = "src/main.rs" workspace = true [dependencies] -anyhow = "1" -similar = "2.7.0" -thiserror = "2.0.16" -tree-sitter = "0.25.9" -tree-sitter-bash = "0.25.0" -once_cell = "1" +anyhow = { workspace = true } +similar = { workspace = true } +thiserror = { workspace = true } +tree-sitter = { workspace = true } +tree-sitter-bash = { workspace = true } +once_cell = { workspace = true } [dev-dependencies] -assert_cmd = "2" -pretty_assertions = "1.4.1" -tempfile = "3.13.0" +assert_cmd = { workspace = true } +pretty_assertions = { workspace = true } +tempfile = { workspace = true } diff --git a/codex-rs/arg0/Cargo.toml b/codex-rs/arg0/Cargo.toml index a01120b7..10d09e4a 100644 --- a/codex-rs/arg0/Cargo.toml +++ b/codex-rs/arg0/Cargo.toml @@ -11,10 +11,10 @@ path = "src/lib.rs" workspace = true [dependencies] -anyhow = "1" -codex-apply-patch = { path = "../apply-patch" } -codex-core = { path = "../core" } -codex-linux-sandbox = { path = "../linux-sandbox" } -dotenvy = "0.15.7" -tempfile = "3" -tokio = { version = "1", features = ["rt-multi-thread"] } +anyhow = { workspace = true } +codex-apply-patch = { workspace = true } +codex-core = { workspace = true } +codex-linux-sandbox = { workspace = true } +dotenvy = { workspace = true } +tempfile = { workspace = true } +tokio = { workspace = true, features = ["rt-multi-thread"] } diff --git a/codex-rs/chatgpt/Cargo.toml b/codex-rs/chatgpt/Cargo.toml index af5f910e..97e14d7f 100644 --- a/codex-rs/chatgpt/Cargo.toml +++ b/codex-rs/chatgpt/Cargo.toml @@ -7,13 +7,13 @@ version = { workspace = true } workspace = true [dependencies] -anyhow = "1" -clap = { version = "4", features = ["derive"] } -codex-common = { path = "../common", features = ["cli"] } -codex-core = { path = "../core" } -serde = { version = "1", features = ["derive"] } -serde_json = "1" -tokio = { version = "1", features = ["full"] } +anyhow = { workspace = true } +clap = { workspace = true, features = ["derive"] } +codex-common = { workspace = true, features = ["cli"] } +codex-core = { workspace = true } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +tokio = { workspace = true, features = ["full"] } [dev-dependencies] -tempfile = "3" +tempfile = { workspace = true } diff --git a/codex-rs/cli/Cargo.toml b/codex-rs/cli/Cargo.toml index 291ef477..0d151a90 100644 --- a/codex-rs/cli/Cargo.toml +++ b/codex-rs/cli/Cargo.toml @@ -15,32 +15,32 @@ path = "src/lib.rs" workspace = true [dependencies] -anyhow = "1" -clap = { version = "4", features = ["derive"] } -clap_complete = "4" -codex-arg0 = { path = "../arg0" } -codex-chatgpt = { path = "../chatgpt" } -codex-common = { path = "../common", features = ["cli"] } -codex-core = { path = "../core" } -codex-exec = { path = "../exec" } -codex-login = { path = "../login" } -codex-mcp-server = { path = "../mcp-server" } -codex-protocol = { path = "../protocol" } -codex-tui = { path = "../tui" } -serde_json = "1" -tokio = { version = "1", features = [ +anyhow = { workspace = true } +clap = { workspace = true, features = ["derive"] } +clap_complete = { workspace = true } +codex-arg0 = { workspace = true } +codex-chatgpt = { workspace = true } +codex-common = { workspace = true, features = ["cli"] } +codex-core = { workspace = true } +codex-exec = { workspace = true } +codex-login = { workspace = true } +codex-mcp-server = { workspace = true } +codex-protocol = { workspace = true } +codex-tui = { workspace = true } +serde_json = { workspace = true } +tokio = { workspace = true, features = [ "io-std", "macros", "process", "rt-multi-thread", "signal", ] } -tracing = "0.1.41" -tracing-subscriber = "0.3.20" -codex-protocol-ts = { path = "../protocol-ts" } +tracing = { workspace = true } +tracing-subscriber = { workspace = true } +codex-protocol-ts = { workspace = true } [dev-dependencies] -assert_cmd = "2" -predicates = "3" -pretty_assertions = "1" -tempfile = "3" +assert_cmd = { workspace = true } +predicates = { workspace = true } +pretty_assertions = { workspace = true } +tempfile = { workspace = true } diff --git a/codex-rs/common/Cargo.toml b/codex-rs/common/Cargo.toml index b1060057..3ce84a6f 100644 --- a/codex-rs/common/Cargo.toml +++ b/codex-rs/common/Cargo.toml @@ -7,11 +7,11 @@ version = { workspace = true } workspace = true [dependencies] -clap = { version = "4", features = ["derive", "wrap_help"], optional = true } -codex-core = { path = "../core" } -codex-protocol = { path = "../protocol" } -serde = { version = "1", optional = true } -toml = { version = "0.9", optional = true } +clap = { workspace = true, features = ["derive", "wrap_help"], optional = true } +codex-core = { workspace = true } +codex-protocol = { workspace = true } +serde = { workspace = true, optional = true } +toml = { workspace = true, optional = true } [features] # Separate feature so that `clap` is not a mandatory dependency. diff --git a/codex-rs/core/Cargo.toml b/codex-rs/core/Cargo.toml index 9973a004..d9ded082 100644 --- a/codex-rs/core/Cargo.toml +++ b/codex-rs/core/Cargo.toml @@ -12,81 +12,81 @@ path = "src/lib.rs" workspace = true [dependencies] -anyhow = "1" -askama = "0.12" -async-channel = "2.3.1" -base64 = "0.22" -bytes = "1.10.1" -chrono = { version = "0.4", features = ["serde"] } -codex-apply-patch = { path = "../apply-patch" } -codex-file-search = { path = "../file-search" } -codex-mcp-client = { path = "../mcp-client" } -codex-protocol = { path = "../protocol" } -dirs = "6" -env-flags = "0.1.1" -eventsource-stream = "0.2.3" -futures = "0.3" -libc = "0.2.175" -mcp-types = { path = "../mcp-types" } -os_info = "3.12.0" -portable-pty = "0.9.0" -rand = "0.9" -regex-lite = "0.1.7" -reqwest = { version = "0.12", features = ["json", "stream"] } -serde = { version = "1", features = ["derive"] } -serde_json = "1" -sha1 = "0.10.6" -shlex = "1.3.0" -similar = "2.7.0" -strum_macros = "0.27.2" -tempfile = "3" -thiserror = "2.0.16" -time = { version = "0.3", features = [ +anyhow = { workspace = true } +askama = { workspace = true } +async-channel = { workspace = true } +base64 = { workspace = true } +bytes = { workspace = true } +chrono = { workspace = true, features = ["serde"] } +codex-apply-patch = { workspace = true } +codex-file-search = { workspace = true } +codex-mcp-client = { workspace = true } +codex-protocol = { workspace = true } +dirs = { workspace = true } +env-flags = { workspace = true } +eventsource-stream = { workspace = true } +futures = { workspace = true } +libc = { workspace = true } +mcp-types = { workspace = true } +os_info = { workspace = true } +portable-pty = { workspace = true } +rand = { workspace = true } +regex-lite = { workspace = true } +reqwest = { workspace = true, features = ["json", "stream"] } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +sha1 = { workspace = true } +shlex = { workspace = true } +similar = { workspace = true } +strum_macros = { workspace = true } +tempfile = { workspace = true } +thiserror = { workspace = true } +time = { workspace = true, features = [ "formatting", "parsing", "local-offset", "macros", ] } -tokio = { version = "1", features = [ +tokio = { workspace = true, features = [ "io-std", "macros", "process", "rt-multi-thread", "signal", ] } -tokio-util = "0.7.16" -toml = "0.9.5" -toml_edit = "0.23.4" -tracing = { version = "0.1.41", features = ["log"] } -tree-sitter = "0.25.9" -tree-sitter-bash = "0.25.0" -uuid = { version = "1", features = ["serde", "v4"] } -which = "6" -wildmatch = "2.5.0" +tokio-util = { workspace = true } +toml = { workspace = true } +toml_edit = { workspace = true } +tracing = { workspace = true, features = ["log"] } +tree-sitter = { workspace = true } +tree-sitter-bash = { workspace = true } +uuid = { workspace = true, features = ["serde", "v4"] } +which = { workspace = true } +wildmatch = { workspace = true } [target.'cfg(target_os = "linux")'.dependencies] -landlock = "0.4.1" -seccompiler = "0.5.0" +landlock = { workspace = true } +seccompiler = { workspace = true } # Build OpenSSL from source for musl builds. [target.x86_64-unknown-linux-musl.dependencies] -openssl-sys = { version = "*", features = ["vendored"] } +openssl-sys = { workspace = true, features = ["vendored"] } # Build OpenSSL from source for musl builds. [target.aarch64-unknown-linux-musl.dependencies] -openssl-sys = { version = "*", features = ["vendored"] } +openssl-sys = { workspace = true, features = ["vendored"] } [dev-dependencies] -assert_cmd = "2" -core_test_support = { path = "tests/common" } -maplit = "1.0.2" -predicates = "3" -pretty_assertions = "1.4.1" -tempfile = "3" -tokio-test = "0.4" -walkdir = "2.5.0" -wiremock = "0.6" +assert_cmd = { workspace = true } +core_test_support = { workspace = true } +maplit = { workspace = true } +predicates = { workspace = true } +pretty_assertions = { workspace = true } +tempfile = { workspace = true } +tokio-test = { workspace = true } +walkdir = { workspace = true } +wiremock = { workspace = true } [package.metadata.cargo-shear] ignored = ["openssl-sys"] diff --git a/codex-rs/core/tests/common/Cargo.toml b/codex-rs/core/tests/common/Cargo.toml index 2d430519..0a33be39 100644 --- a/codex-rs/core/tests/common/Cargo.toml +++ b/codex-rs/core/tests/common/Cargo.toml @@ -7,8 +7,8 @@ edition = "2024" path = "lib.rs" [dependencies] -codex-core = { path = "../.." } -serde_json = "1" -tempfile = "3" -tokio = { version = "1", features = ["time"] } -wiremock = "0.6" +codex-core = { workspace = true } +serde_json = { workspace = true } +tempfile = { workspace = true } +tokio = { workspace = true, features = ["time"] } +wiremock = { workspace = true } diff --git a/codex-rs/exec/Cargo.toml b/codex-rs/exec/Cargo.toml index 2dd121c3..44281c73 100644 --- a/codex-rs/exec/Cargo.toml +++ b/codex-rs/exec/Cargo.toml @@ -15,37 +15,37 @@ path = "src/lib.rs" workspace = true [dependencies] -anyhow = "1" -chrono = "0.4.40" -clap = { version = "4", features = ["derive"] } -codex-arg0 = { path = "../arg0" } -codex-common = { path = "../common", features = [ +anyhow = { workspace = true } +chrono = { workspace = true } +clap = { workspace = true, features = ["derive"] } +codex-arg0 = { workspace = true } +codex-common = { workspace = true, features = [ "cli", "elapsed", "sandbox_summary", ] } -codex-core = { path = "../core" } -codex-ollama = { path = "../ollama" } -codex-protocol = { path = "../protocol" } -owo-colors = "4.2.0" -serde_json = "1" -shlex = "1.3.0" -tokio = { version = "1", features = [ +codex-core = { workspace = true } +codex-ollama = { workspace = true } +codex-protocol = { workspace = true } +owo-colors = { workspace = true } +serde_json = { workspace = true } +shlex = { workspace = true } +tokio = { workspace = true, features = [ "io-std", "macros", "process", "rt-multi-thread", "signal", ] } -tracing = { version = "0.1.41", features = ["log"] } -tracing-subscriber = { version = "0.3.20", features = ["env-filter"] } +tracing = { workspace = true, features = ["log"] } +tracing-subscriber = { workspace = true, features = ["env-filter"] } [dev-dependencies] -assert_cmd = "2" -core_test_support = { path = "../core/tests/common" } -libc = "0.2" -predicates = "3" -tempfile = "3.13.0" -uuid = "1" -walkdir = "2" -wiremock = "0.6" +assert_cmd = { workspace = true } +core_test_support = { workspace = true } +libc = { workspace = true } +predicates = { workspace = true } +tempfile = { workspace = true } +uuid = { workspace = true } +walkdir = { workspace = true } +wiremock = { workspace = true } diff --git a/codex-rs/execpolicy/Cargo.toml b/codex-rs/execpolicy/Cargo.toml index 9f0a25c4..0fe7cd48 100644 --- a/codex-rs/execpolicy/Cargo.toml +++ b/codex-rs/execpolicy/Cargo.toml @@ -15,19 +15,19 @@ path = "src/lib.rs" workspace = true [dependencies] -allocative = "0.3.3" -anyhow = "1" -clap = { version = "4", features = ["derive"] } -derive_more = { version = "2", features = ["display"] } -env_logger = "0.11.5" -log = "0.4" -multimap = "0.10.0" -path-absolutize = "3.1.1" -regex-lite = "0.1" -serde = { version = "1", features = ["derive"] } -serde_json = "1" -serde_with = { version = "3", features = ["macros"] } -starlark = "0.13.0" +allocative = { workspace = true } +anyhow = { workspace = true } +clap = { workspace = true, features = ["derive"] } +derive_more = { workspace = true, features = ["display"] } +env_logger = { workspace = true } +log = { workspace = true } +multimap = { workspace = true } +path-absolutize = { workspace = true } +regex-lite = { workspace = true } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +serde_with = { workspace = true, features = ["macros"] } +starlark = { workspace = true } [dev-dependencies] -tempfile = "3.13.0" +tempfile = { workspace = true } diff --git a/codex-rs/file-search/Cargo.toml b/codex-rs/file-search/Cargo.toml index 023e6936..40671389 100644 --- a/codex-rs/file-search/Cargo.toml +++ b/codex-rs/file-search/Cargo.toml @@ -12,10 +12,10 @@ name = "codex_file_search" path = "src/lib.rs" [dependencies] -anyhow = "1" -clap = { version = "4", features = ["derive"] } -ignore = "0.4.23" -nucleo-matcher = "0.3.1" -serde = { version = "1", features = ["derive"] } -serde_json = "1" -tokio = { version = "1", features = ["full"] } +anyhow = { workspace = true } +clap = { workspace = true, features = ["derive"] } +ignore = { workspace = true } +nucleo-matcher = { workspace = true } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +tokio = { workspace = true, features = ["full"] } diff --git a/codex-rs/linux-sandbox/Cargo.toml b/codex-rs/linux-sandbox/Cargo.toml index e7432357..264f15e7 100644 --- a/codex-rs/linux-sandbox/Cargo.toml +++ b/codex-rs/linux-sandbox/Cargo.toml @@ -15,15 +15,15 @@ path = "src/lib.rs" workspace = true [target.'cfg(target_os = "linux")'.dependencies] -clap = { version = "4", features = ["derive"] } -codex-core = { path = "../core" } -landlock = "0.4.1" -libc = "0.2.175" -seccompiler = "0.5.0" +clap = { workspace = true, features = ["derive"] } +codex-core = { workspace = true } +landlock = { workspace = true } +libc = { workspace = true } +seccompiler = { workspace = true } [target.'cfg(target_os = "linux")'.dev-dependencies] -tempfile = "3" -tokio = { version = "1", features = [ +tempfile = { workspace = true } +tokio = { workspace = true, features = [ "io-std", "macros", "process", diff --git a/codex-rs/login/Cargo.toml b/codex-rs/login/Cargo.toml index ea8095ff..c0f4a2dd 100644 --- a/codex-rs/login/Cargo.toml +++ b/codex-rs/login/Cargo.toml @@ -7,28 +7,28 @@ version = { workspace = true } workspace = true [dependencies] -base64 = "0.22" -chrono = { version = "0.4", features = ["serde"] } -codex-core = { path = "../core" } -codex-protocol = { path = "../protocol" } -rand = "0.8" -reqwest = { version = "0.12", features = ["json", "blocking"] } -serde = { version = "1", features = ["derive"] } -serde_json = "1" -sha2 = "0.10" -tempfile = "3" -tiny_http = "0.12" -tokio = { version = "1", features = [ +base64 = { workspace = true } +chrono = { workspace = true, features = ["serde"] } +codex-core = { workspace = true } +codex-protocol = { workspace = true } +rand = { workspace = true } +reqwest = { workspace = true, features = ["json", "blocking"] } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +sha2 = { workspace = true } +tempfile = { workspace = true } +tiny_http = { workspace = true } +tokio = { workspace = true, features = [ "io-std", "macros", "process", "rt-multi-thread", "signal", ] } -url = "2" -urlencoding = "2.1" -webbrowser = "1.0" +url = { workspace = true } +urlencoding = { workspace = true } +webbrowser = { workspace = true } [dev-dependencies] -tempfile = "3" -core_test_support = { path = "../core/tests/common" } +core_test_support = { workspace = true } +tempfile = { workspace = true } diff --git a/codex-rs/login/src/pkce.rs b/codex-rs/login/src/pkce.rs index 3c413b11..a0eacfc2 100644 --- a/codex-rs/login/src/pkce.rs +++ b/codex-rs/login/src/pkce.rs @@ -11,7 +11,7 @@ pub struct PkceCodes { pub fn generate_pkce() -> PkceCodes { let mut bytes = [0u8; 64]; - rand::thread_rng().fill_bytes(&mut bytes); + rand::rng().fill_bytes(&mut bytes); // Verifier: URL-safe base64 without padding (43..128 chars) let code_verifier = base64::engine::general_purpose::URL_SAFE_NO_PAD.encode(bytes); diff --git a/codex-rs/login/src/server.rs b/codex-rs/login/src/server.rs index 26f341b9..7255e468 100644 --- a/codex-rs/login/src/server.rs +++ b/codex-rs/login/src/server.rs @@ -326,7 +326,7 @@ fn build_authorize_url( fn generate_state() -> String { let mut bytes = [0u8; 32]; - rand::thread_rng().fill_bytes(&mut bytes); + rand::rng().fill_bytes(&mut bytes); base64::engine::general_purpose::URL_SAFE_NO_PAD.encode(bytes) } diff --git a/codex-rs/mcp-client/Cargo.toml b/codex-rs/mcp-client/Cargo.toml index 7c71d521..5025063b 100644 --- a/codex-rs/mcp-client/Cargo.toml +++ b/codex-rs/mcp-client/Cargo.toml @@ -7,13 +7,13 @@ edition = "2024" workspace = true [dependencies] -anyhow = "1" -mcp-types = { path = "../mcp-types" } -serde = { version = "1", features = ["derive"] } -serde_json = "1" -tracing = { version = "0.1.41", features = ["log"] } -tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] } -tokio = { version = "1", features = [ +anyhow = { workspace = true } +mcp-types = { workspace = true } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +tracing = { workspace = true, features = ["log"] } +tracing-subscriber = { workspace = true, features = ["fmt", "env-filter"] } +tokio = { workspace = true, features = [ "io-util", "macros", "process", diff --git a/codex-rs/mcp-server/Cargo.toml b/codex-rs/mcp-server/Cargo.toml index 0a0e938b..e40dd15d 100644 --- a/codex-rs/mcp-server/Cargo.toml +++ b/codex-rs/mcp-server/Cargo.toml @@ -15,35 +15,35 @@ path = "src/lib.rs" workspace = true [dependencies] -anyhow = "1" -codex-arg0 = { path = "../arg0" } -codex-common = { path = "../common", features = ["cli"] } -codex-core = { path = "../core" } -codex-login = { path = "../login" } -codex-protocol = { path = "../protocol" } -mcp-types = { path = "../mcp-types" } -schemars = "0.8.22" -serde = { version = "1", features = ["derive"] } -serde_json = "1" -shlex = "1.3.0" -tokio = { version = "1", features = [ +anyhow = { workspace = true } +codex-arg0 = { workspace = true } +codex-common = { workspace = true, features = ["cli"] } +codex-core = { workspace = true } +codex-login = { workspace = true } +codex-protocol = { workspace = true } +mcp-types = { workspace = true } +schemars = { workspace = true } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +shlex = { workspace = true } +tokio = { workspace = true, features = [ "io-std", "macros", "process", "rt-multi-thread", "signal", ] } -toml = "0.9" -tracing = { version = "0.1.41", features = ["log"] } -tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] } -uuid = { version = "1", features = ["serde", "v7"] } +toml = { workspace = true } +tracing = { workspace = true, features = ["log"] } +tracing-subscriber = { workspace = true, features = ["env-filter", "fmt"] } +uuid = { workspace = true, features = ["serde", "v7"] } [dev-dependencies] -assert_cmd = "2" -base64 = "0.22" -mcp_test_support = { path = "tests/common" } -os_info = "3.12.0" -pretty_assertions = "1.4.1" -tempfile = "3" -wiremock = "0.6" -core_test_support = { path = "../core/tests/common" } +assert_cmd = { workspace = true } +base64 = { workspace = true } +core_test_support = { workspace = true } +mcp_test_support = { workspace = true } +os_info = { workspace = true } +pretty_assertions = { workspace = true } +tempfile = { workspace = true } +wiremock = { workspace = true } diff --git a/codex-rs/mcp-server/tests/common/Cargo.toml b/codex-rs/mcp-server/tests/common/Cargo.toml index 6bdef423..e6f71172 100644 --- a/codex-rs/mcp-server/tests/common/Cargo.toml +++ b/codex-rs/mcp-server/tests/common/Cargo.toml @@ -7,20 +7,20 @@ version = { workspace = true } path = "lib.rs" [dependencies] -anyhow = "1" -assert_cmd = "2" -codex-core = { path = "../../../core" } -codex-mcp-server = { path = "../.." } -codex-protocol = { path = "../../../protocol" } -mcp-types = { path = "../../../mcp-types" } -os_info = "3.12.0" -pretty_assertions = "1.4.1" -serde = { version = "1" } -serde_json = "1" -tokio = { version = "1", features = [ +anyhow = { workspace = true } +assert_cmd = { workspace = true } +codex-core = { workspace = true } +codex-mcp-server = { workspace = true } +codex-protocol = { workspace = true } +mcp-types = { workspace = true } +os_info = { workspace = true } +pretty_assertions = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +tokio = { workspace = true, features = [ "io-std", "macros", "process", "rt-multi-thread", ] } -wiremock = "0.6" +wiremock = { workspace = true } diff --git a/codex-rs/mcp-types/Cargo.toml b/codex-rs/mcp-types/Cargo.toml index e39cb64d..c8dc5819 100644 --- a/codex-rs/mcp-types/Cargo.toml +++ b/codex-rs/mcp-types/Cargo.toml @@ -7,6 +7,6 @@ version = { workspace = true } workspace = true [dependencies] -serde = { version = "1", features = ["derive"] } -serde_json = "1" -ts-rs = { version = "11", features = ["serde-json-impl", "no-serde-warnings"] } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +ts-rs = { workspace = true, features = ["serde-json-impl", "no-serde-warnings"] } diff --git a/codex-rs/ollama/Cargo.toml b/codex-rs/ollama/Cargo.toml index e725c2a2..587a1930 100644 --- a/codex-rs/ollama/Cargo.toml +++ b/codex-rs/ollama/Cargo.toml @@ -11,20 +11,20 @@ path = "src/lib.rs" workspace = true [dependencies] -async-stream = "0.3" -bytes = "1.10.1" -codex-core = { path = "../core" } -futures = "0.3" -reqwest = { version = "0.12", features = ["json", "stream"] } -serde_json = "1" -tokio = { version = "1", features = [ +async-stream = { workspace = true } +bytes = { workspace = true } +codex-core = { workspace = true } +futures = { workspace = true } +reqwest = { workspace = true, features = ["json", "stream"] } +serde_json = { workspace = true } +tokio = { workspace = true, features = [ "io-std", "macros", "process", "rt-multi-thread", "signal", ] } -tracing = { version = "0.1.41", features = ["log"] } -wiremock = "0.6" +tracing = { workspace = true, features = ["log"] } +wiremock = { workspace = true } [dev-dependencies] diff --git a/codex-rs/protocol-ts/Cargo.toml b/codex-rs/protocol-ts/Cargo.toml index 1131a621..3a0233de 100644 --- a/codex-rs/protocol-ts/Cargo.toml +++ b/codex-rs/protocol-ts/Cargo.toml @@ -15,8 +15,8 @@ name = "codex-protocol-ts" path = "src/main.rs" [dependencies] -anyhow = "1" -mcp-types = { path = "../mcp-types" } -codex-protocol = { path = "../protocol" } -ts-rs = "11" -clap = { version = "4", features = ["derive"] } +anyhow = { workspace = true } +mcp-types = { workspace = true } +codex-protocol = { workspace = true } +ts-rs = { workspace = true } +clap = { workspace = true, features = ["derive"] } diff --git a/codex-rs/protocol/Cargo.toml b/codex-rs/protocol/Cargo.toml index bbe2ed3f..9b530712 100644 --- a/codex-rs/protocol/Cargo.toml +++ b/codex-rs/protocol/Cargo.toml @@ -11,28 +11,28 @@ path = "src/lib.rs" workspace = true [dependencies] -base64 = "0.22.1" -icu_decimal = "2.0.0" -icu_locale_core = "2.0.0" -mcp-types = { path = "../mcp-types" } -mime_guess = "2.0.5" -serde = { version = "1", features = ["derive"] } -serde_json = "1" -serde_with = { version = "3.14.0", features = ["macros", "base64"] } -strum = "0.27.2" -strum_macros = "0.27.2" -sys-locale = "0.3.2" -tracing = "0.1.41" -ts-rs = { version = "11", features = [ +base64 = { workspace = true } +icu_decimal = { workspace = true } +icu_locale_core = { workspace = true } +mcp-types = { workspace = true } +mime_guess = { workspace = true } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +serde_with = { workspace = true, features = ["macros", "base64"] } +strum = { workspace = true } +strum_macros = { workspace = true } +sys-locale = { workspace = true } +tracing = { workspace = true } +ts-rs = { workspace = true, features = [ "uuid-impl", "serde-json-impl", "no-serde-warnings", ] } -uuid = { version = "1", features = ["serde", "v7"] } +uuid = { workspace = true, features = ["serde", "v7"] } [dev-dependencies] -pretty_assertions = "1.4.1" -tempfile = "3" +pretty_assertions = { workspace = true } +tempfile = { workspace = true } [package.metadata.cargo-shear] # Required because the not imported as strum_macros in non-nightly builds. diff --git a/codex-rs/tui/Cargo.toml b/codex-rs/tui/Cargo.toml index c7a53158..b029f722 100644 --- a/codex-rs/tui/Cargo.toml +++ b/codex-rs/tui/Cargo.toml @@ -21,84 +21,84 @@ debug-logs = [] workspace = true [dependencies] -anyhow = "1" -async-stream = "0.3.6" -base64 = "0.22.1" -chrono = { version = "0.4", features = ["serde"] } -clap = { version = "4", features = ["derive"] } -codex-ansi-escape = { path = "../ansi-escape" } -codex-arg0 = { path = "../arg0" } -codex-common = { path = "../common", features = [ +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-arg0 = { workspace = true } +codex-common = { workspace = true, features = [ "cli", "elapsed", "sandbox_summary", ] } -codex-core = { path = "../core" } -codex-file-search = { path = "../file-search" } -codex-login = { path = "../login" } -codex-ollama = { path = "../ollama" } -codex-protocol = { path = "../protocol" } -color-eyre = "0.6.3" -crossterm = { version = "0.28.1", features = [ +codex-core = { 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", ] } -dirs = "6" -diffy = "0.4.2" -image = { version = "^0.25.8", default-features = false, features = [ +dirs = { workspace = true } +diffy = { workspace = true } +image = { workspace = true, features = [ "jpeg", "png", ] } -itertools = "0.14.0" -lazy_static = "1" -mcp-types = { path = "../mcp-types" } -once_cell = "1" -path-clean = "1.0.1" -rand = "0.9" -ratatui = { version = "0.29.0", features = [ +itertools = { workspace = true } +lazy_static = { workspace = true } +mcp-types = { workspace = true } +once_cell = { workspace = true } +path-clean = { workspace = true } +rand = { workspace = true } +ratatui = { workspace = true, features = [ "scrolling-regions", "unstable-rendered-line-info", "unstable-widget-ref", ] } -regex-lite = "0.1" -serde = { version = "1", features = ["derive"] } -serde_json = { version = "1", features = ["preserve_order"] } -shlex = "1.3.0" -strum = "0.27.2" -strum_macros = "0.27.2" -supports-color = "3.0.2" -tempfile = "3" -textwrap = "0.16.2" -tokio = { version = "1", features = [ +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 = "0.1.17" -tracing = { version = "0.1.41", features = ["log"] } -tracing-appender = "0.2.3" -tracing-subscriber = { version = "0.3.20", features = ["env-filter"] } -pulldown-cmark = "0.10" -unicode-segmentation = "1.12.0" -unicode-width = "0.1" -url = "2" -pathdiff = "0.2" -owo-colors = "4.2.0" +tokio-stream = { workspace = true } +tracing = { workspace = true, features = ["log"] } +tracing-appender = { workspace = true } +tracing-subscriber = { workspace = true, features = ["env-filter"] } +pulldown-cmark = { workspace = true } +unicode-segmentation = { workspace = true } +unicode-width = { workspace = true } +url = { workspace = true } +pathdiff = { workspace = true } +owo-colors = { workspace = true } [target.'cfg(unix)'.dependencies] -libc = "0.2" +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 = "3" +arboard = { workspace = true } [dev-dependencies] -chrono = { version = "0.4", features = ["serde"] } -insta = "1.43.2" -pretty_assertions = "1" -rand = "0.9" -vt100 = "0.16.2" +chrono = { workspace = true, features = ["serde"] } +insta = { workspace = true } +pretty_assertions = { workspace = true } +rand = { workspace = true } +vt100 = { workspace = true }