[package] name = "codex-parity-sidecar" version = "0.1.0" edition = "2024" [dependencies] anyhow = "1" # Pull the upstream Codex test-support crate straight from the public Codex # repository instead of vendoring Codex as a git submodule. Cargo can resolve # `core_test_support` even though the Rust workspace lives under `codex-rs/`, # and the revision pin keeps these tests reproducible. core_test_support = { git = "https://github.com/openai/codex.git", rev = "4c79527e31a0e2f77f727ae67e8e86a1233f2876" } serde = { version = "1", features = ["derive"] } serde_json = "1" tokio = { version = "1", features = ["io-std", "io-util", "macros", "rt-multi-thread", "time"] } # `core_test_support` is normally built inside the upstream Codex workspace. # That workspace patches websocket crates to OpenAI forks that expose the # `proxy` feature expected by Codex's networking stack. This sidecar is a # separate crate, so Cargo does not inherit the upstream workspace patches from # the fetched git dependency. Keep these patches in sync with # `codex-rs/Cargo.toml` at the pinned Codex revision; without them Cargo resolves # crates.io `tokio-tungstenite`, which does not provide the requested feature. [patch.crates-io] tokio-tungstenite = { git = "https://github.com/openai-oss-forks/tokio-tungstenite", rev = "132f5b39c862e3a970f731d709608b3e6276d5f6" } tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "9200079d3b54a1ff51072e24d81fd354f085156f" } # Some Codex crates reference the tungstenite fork through the SSH git URL. # Patch that source as well so every dependency edge resolves to the same # HTTPS-pinned revision in this standalone sidecar build. [patch."ssh://git@github.com/openai-oss-forks/tungstenite-rs.git"] tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "9200079d3b54a1ff51072e24d81fd354f085156f" }