Add config-backed stdio exec-server environments

Add a config-backed environment provider that loads environments from CODEX_HOME, supports both websocket and stdio-backed exec-server endpoints, and threads provider selection through EnvironmentManager. This also teaches the exec-server transport layer to own stdio subprocess lifecycle and adds stdio server listen support.

Validated remotely on dev with Bazel build targets for //codex-rs/cli:codex and //codex-rs/app-server:app-server, plus exec-server unit and integration test targets.

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
starr-openai
2026-04-30 16:24:52 -07:00
co-authored by Codex
parent 2686873e77
commit d4612c73c5
21 changed files with 910 additions and 101 deletions
+7 -2
View File
@@ -110,8 +110,13 @@ async fn run_main(arg0_paths: Arg0DispatchPaths) -> anyhow::Result<()> {
config.codex_linux_sandbox_exe.clone(),
)?;
let thread_store = thread_store_from_config(&config);
let environment_manager =
Arc::new(EnvironmentManager::new(EnvironmentManagerArgs::new(local_runtime_paths)).await);
let environment_manager = Arc::new(
EnvironmentManager::new(EnvironmentManagerArgs::new(
config.codex_home.clone(),
local_runtime_paths,
))
.await?,
);
let thread_manager = ThreadManager::new(
&config,
auth_manager,