mirror of
https://github.com/openai/codex.git
synced 2026-04-28 18:32:04 +03:00
cloud-tasks: split the mock client out of cloud-tasks-client (#16456)
## 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
This commit is contained in:
@@ -27,11 +27,6 @@ UTILITY_NAME_EXCEPTIONS = {
|
||||
"path-utils": "codex-utils-path",
|
||||
}
|
||||
MANIFEST_FEATURE_EXCEPTIONS = {
|
||||
"codex-rs/cloud-tasks-client/Cargo.toml": {
|
||||
"default": ("online",),
|
||||
"online": ("dep:codex-backend-client",),
|
||||
"mock": (),
|
||||
},
|
||||
"codex-rs/otel/Cargo.toml": {
|
||||
"disable-default-metrics-exporter": (),
|
||||
},
|
||||
@@ -43,11 +38,6 @@ MANIFEST_FEATURE_EXCEPTIONS = {
|
||||
},
|
||||
}
|
||||
OPTIONAL_DEPENDENCY_EXCEPTIONS = {
|
||||
(
|
||||
"codex-rs/cloud-tasks-client/Cargo.toml",
|
||||
"dependencies",
|
||||
"codex-backend-client",
|
||||
),
|
||||
(
|
||||
"codex-rs/tui/Cargo.toml",
|
||||
'target.cfg(not(target_os = "linux")).dependencies',
|
||||
@@ -55,11 +45,6 @@ OPTIONAL_DEPENDENCY_EXCEPTIONS = {
|
||||
),
|
||||
}
|
||||
INTERNAL_DEPENDENCY_FEATURE_EXCEPTIONS = {
|
||||
(
|
||||
"codex-rs/cloud-tasks/Cargo.toml",
|
||||
"dependencies",
|
||||
"codex-cloud-tasks-client",
|
||||
): ("mock", "online"),
|
||||
(
|
||||
"codex-rs/core/Cargo.toml",
|
||||
"dev-dependencies",
|
||||
|
||||
Reference in New Issue
Block a user