codex: persistent mcp-server driver + global config fix
- New CodexDriver (codex-driver.ts): spawns `codex mcp-server` as a long-running child process, drives multi-turn conversations via MCP JSON-RPC protocol using `codex` (start) and `codex-reply` (continue) tools. Replaces single-shot `codex exec` which exited after one turn. - Launcher: Codex agents now use CodexDriver instead of `codex exec`. The driver stays alive between turns, maintaining full thread history. Orchestrator pushes teammate messages as new turns via driver.reply(). - Orchestrator: added message forwarding loop (3s interval) that polls broker for undelivered messages to Codex slots, formats them, and pushes as new codex-reply turns. Codex is now reactive to teammates. - Global config fix: ensureMcpConfigs writes to ~/.codex/config.toml (global) instead of project-level .codex/config.toml which Codex ignores. Removed broken `-c mcp_servers.*` CLI overrides that Codex silently drops. Fixed TOML section regex for values containing `[`. - Tests updated for new Codex behavior (94/94 passing).
Z
zetbrush committed
07cfff8a8f95acbeca038bb258a0ade39b7419ee
Parent: c654f56