mirror of
https://github.com/openai/codex.git
synced 2026-04-26 07:35:29 +00:00
## Why `codex-cloud-tasks-client` was mixing two different roles: the real HTTP client and the mock implementation used by tests and local mock mode. Keeping both in the same crate forced Cargo feature toggles and Bazel `crate_features` just to pick an implementation. This change keeps `codex-cloud-tasks-client` focused on the shared API surface and real backend client, and moves the mock implementation into its own crate so we can remove those feature permutations cleanly. ## What changed - add a new `codex-cloud-tasks-mock-client` crate that owns `MockClient` - remove the `mock` and `online` features from `codex-cloud-tasks-client` - make `codex-cloud-tasks-client` unconditionally depend on `codex-backend-client` and export `HttpClient` directly - gate the mock-mode path in `codex-cloud-tasks` behind `#[cfg(debug_assertions)]`, so release builds always initialize the real HTTP client - update `codex-cloud-tasks` and its tests to use `codex-cloud-tasks-mock-client::MockClient` wherever mock behavior is needed - remove the matching Bazel `crate_features` override and shrink the manifest verifier allowlist accordingly ## How tested - `cargo test -p codex-cloud-tasks-client` - `cargo test -p codex-cloud-tasks-mock-client` - `cargo test -p codex-cloud-tasks` --- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/openai/codex/pull/16456). * #16457 * __->__ #16456
46 lines
1.4 KiB
TOML
46 lines
1.4 KiB
TOML
[package]
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
name = "codex-cloud-tasks"
|
|
version.workspace = true
|
|
|
|
[lib]
|
|
name = "codex_cloud_tasks"
|
|
path = "src/lib.rs"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
anyhow = { workspace = true }
|
|
base64 = { workspace = true }
|
|
chrono = { workspace = true, features = ["serde"] }
|
|
clap = { workspace = true, features = ["derive"] }
|
|
codex-client = { workspace = true }
|
|
codex-cloud-tasks-client = { workspace = true }
|
|
# TODO: codex-cloud-tasks-mock-client should be in dev-dependencies.
|
|
codex-cloud-tasks-mock-client = { workspace = true }
|
|
codex-core = { workspace = true }
|
|
codex-git-utils = { workspace = true }
|
|
codex-login = { path = "../login" }
|
|
codex-tui = { workspace = true }
|
|
codex-utils-cli = { workspace = true }
|
|
crossterm = { workspace = true, features = ["event-stream"] }
|
|
owo-colors = { workspace = true, features = ["supports-colors"] }
|
|
ratatui = { workspace = true }
|
|
reqwest = { workspace = true, features = ["json"] }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
supports-color = { workspace = true }
|
|
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
|
|
tokio-stream = { workspace = true }
|
|
tracing = { workspace = true, features = ["log"] }
|
|
tracing-subscriber = { workspace = true, features = ["env-filter"] }
|
|
unicode-width = { workspace = true }
|
|
|
|
[dependencies.async-trait]
|
|
workspace = true
|
|
|
|
[dev-dependencies]
|
|
pretty_assertions = { workspace = true }
|