Files
iceweasel-oaiandcopyberry 4aa94dce27 Migrate the Windows MXC sandbox to split MXC crates (#52707)
## Why

PSEC API symbols can be present on transitional Windows builds where MXC is not enabled. Availability detection needs to verify that a native process security environment can actually be created.

## What changed

- Replace `mxc-sdk` with pinned `appcontainer_common`, `learning_mode_windows`, and `wxc_common` dependencies, and update Cargo and Bazel dependency metadata.
- Use MXC's cached create/close probe for `is_available()` and query native deny-path support through `SecurityEnvironmentApi` before launching requests with denied paths.
- Adapt request construction and the existing policy test to the vector-based environment field, and update the sandbox documentation.

GitOrigin-RevId: e8cc6a35d46884d0a069b747d33e711512ec1596
2026-10-09 22:11:30 +00:00

45 lines
1.2 KiB
TOML

[package]
name = "codex-mxc-sandbox"
version.workspace = true
edition.workspace = true
license.workspace = true
[lib]
doctest = false
[lints]
workspace = true
# This direct dependency pins MXC's transitive ETW dependency for Windows GNU linking.
[package.metadata.cargo-shear]
ignored = ["tracelogging"]
[dependencies]
anyhow = { workspace = true }
codex-network-proxy = { workspace = true }
codex-protocol = { workspace = true }
codex-utils-absolute-path = { workspace = true }
codex-utils-path-uri = { workspace = true }
codex-windows-sandbox = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
thiserror = { workspace = true }
wxc_common = { workspace = true }
[target.'cfg(windows)'.dependencies]
appcontainer_common = { workspace = true }
learning_mode_windows = { workspace = true }
# 1.2.4 imports OneCore_apiset, which the GNU Windows toolchain does not ship.
tracelogging = "=1.2.3"
windows-sys = { workspace = true, features = [
"Win32_Foundation",
"Win32_Storage_FileSystem",
"Win32_System_Com",
"Win32_System_SystemInformation",
"Win32_UI_Shell",
] }
[dev-dependencies]
pretty_assertions = { workspace = true }
tempfile = { workspace = true }