mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
## Why `codex-app-server` currently owns both request-processing code and transport implementation details. Splitting the transport layer into its own crate makes that boundary explicit, reduces the amount of transport-specific dependency surface carried by `codex-app-server`, and gives future transport work a narrower place to evolve. ## What changed - Added `codex-app-server-transport` and moved the existing transport tree into it, including stdio, unix socket, websocket, remote-control transport, and websocket auth. - Moved shared transport-facing message types into the new crate so both the transport implementation and `codex-app-server` use the same definitions. - Kept processor-facing connection state and outbound routing in `codex-app-server`, with the routing tests moved next to that local wrapper. - Updated workspace metadata, Bazel crate metadata, and `codex-app-server` dependencies for the new crate boundary. ## Validation - `cargo metadata --locked --no-deps` - `git diff --check` - Attempted `cargo test -p codex-app-server-transport`, `cargo test -p codex-app-server`, `just fix -p codex-app-server-transport`, and `just fix -p codex-app-server`; all were blocked before compilation by the existing `packageproxy` resolution failure for locked `rustls-webpki = 0.103.13`. - Attempted Bazel build / lockfile validation; those were blocked by external fetch failures against BuildBuddy / GitHub while resolving `v8`.
21 lines
747 B
Rust
21 lines
747 B
Rust
mod outgoing_message;
|
|
mod transport;
|
|
|
|
pub use outgoing_message::ConnectionId;
|
|
pub use outgoing_message::OutgoingError;
|
|
pub use outgoing_message::OutgoingMessage;
|
|
pub use outgoing_message::OutgoingResponse;
|
|
pub use outgoing_message::QueuedOutgoingMessage;
|
|
pub use transport::AppServerTransport;
|
|
pub use transport::AppServerTransportParseError;
|
|
pub use transport::CHANNEL_CAPACITY;
|
|
pub use transport::ConnectionOrigin;
|
|
pub use transport::RemoteControlHandle;
|
|
pub use transport::TransportEvent;
|
|
pub use transport::app_server_control_socket_path;
|
|
pub use transport::auth;
|
|
pub use transport::start_control_socket_acceptor;
|
|
pub use transport::start_remote_control;
|
|
pub use transport::start_stdio_connection;
|
|
pub use transport::start_websocket_acceptor;
|