fix: remove mcp-types from app server protocol (#4537)
We continue the separation between `codex app-server` and `codex
mcp-server`.
In particular, we introduce a new crate, `codex-app-server-protocol`,
and migrate `codex-rs/protocol/src/mcp_protocol.rs` into it, renaming it
`codex-rs/app-server-protocol/src/protocol.rs`.
Because `ConversationId` was defined in `mcp_protocol.rs`, we move it
into its own file, `codex-rs/protocol/src/conversation_id.rs`, and
because it is referenced in a ton of places, we have to touch a lot of
files as part of this PR.
We also decide to get away from proper JSON-RPC 2.0 semantics, so we
also introduce `codex-rs/app-server-protocol/src/jsonrpc_lite.rs`, which
is basically the same `JSONRPCMessage` type defined in `mcp-types`
except with all of the `"jsonrpc": "2.0"` removed.
Getting rid of `"jsonrpc": "2.0"` makes our serialization logic
considerably simpler, as we can lean heavier on serde to serialize
directly into the wire format that we use now.
2025-09-30 19:16:26 -07:00
|
|
|
mod conversation_id;
|
|
|
|
|
pub use conversation_id::ConversationId;
|
2025-08-15 12:44:40 -07:00
|
|
|
pub mod config_types;
|
2025-08-28 19:16:39 -07:00
|
|
|
pub mod custom_prompts;
|
2025-08-15 12:44:40 -07:00
|
|
|
pub mod message_history;
|
2025-08-22 15:18:54 -07:00
|
|
|
pub mod models;
|
2025-09-08 14:48:48 -07:00
|
|
|
pub mod num_format;
|
2025-08-15 12:44:40 -07:00
|
|
|
pub mod parse_command;
|
|
|
|
|
pub mod plan_tool;
|
|
|
|
|
pub mod protocol;
|