Commit Graph

5 Commits

  • 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.
  • fix: clean up TypeScript exports (#4518)
    Fixes:
    
    - Removed overdeclaration of types that were unnecessary because they
    were already included by induction.
    - Reordered list of response types to match the enum order, making it
    easier to identify what was missing.
    - Added `ExecArbitraryCommandResponse` because it was missing.
    - Leveraged `use codex_protocol::mcp_protocol::*;` to make the file more
    readable.
    - Removed crate dependency on `mcp-types` now that we have separate the
    app server from the MCP server:
    https://github.com/openai/codex/pull/4471
    
    My next move is to come up with some scheme that ensures request types
    always have a response type and that the response type is automatically
    included with the output of `codex generate-ts`.
  • chore: unify cargo versions (#4044)
    Unify cargo versions at root
  • Set a user agent suffix when used as a mcp server (#3395)
    This automatically adds a user agent suffix whenever the CLI is used as
    a MCP server