Files
codex/codex-rs/plugin-host/Cargo.toml
T
Joe Savona 16effdfc8c Add a plugin process host with bounded IPC and lifecycle management (#57290)
## What changed

- Add `codex-plugin-host` to launch a helper with a cleared environment, verify its readiness handshake, and expose framed stdin/stdout pipes with a 256 KiB frame limit and write backpressure.
- Support startup cancellation and process-group cleanup, retaining exit status and the last 16 KiB of stderr while omitting raw diagnostics from `Debug` output.
- Extend the Bazel crate macro to support test-only binaries and fixture entry points outside `src/`.

## Testing

Add process integration tests for framed communication, startup cancellation, helper and descendant cleanup, repeated close calls, and bounded diagnostics from startup and runtime failures.

GitOrigin-RevId: ed539e7899af06ee83a0d8c2d0ea8cec10f19afb
2026-10-26 22:11:01 +00:00

40 lines
976 B
TOML

[package]
name = "codex-plugin-host"
autotests = false
version.workspace = true
edition.workspace = true
license.workspace = true
[lib]
doctest = false
test = false
[[bin]]
name = "codex-plugin-test-helper"
path = "tests/fixtures/plugin_process.rs"
test = false
bench = false
doc = false
[[test]]
name = "process"
path = "tests/process.rs"
[lints]
workspace = true
[dependencies]
futures = { workspace = true, features = ["executor", "std"] }
tokio-util = { workspace = true, features = ["codec", "compat", "rt"] }
codex-utils-process = { workspace = true }
codex-utils-pty = { workspace = true }
libc = { workspace = true }
serde_json = { workspace = true }
tokio = { workspace = true, features = ["io-util", "macros", "process", "rt", "sync", "time"] }
[dev-dependencies]
codex-utils-cargo-bin = { workspace = true }
pretty_assertions = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true, features = ["macros", "net", "rt-multi-thread"] }