chore(app-server-protocol): split v2 API definitions into modules (#21251)

## Why

`codex-rs/app-server-protocol/src/protocol/v2.rs` had grown into a
single ~12k-line definition file for the entire app-server v2 API.

This is purely a mechanical refactor to break up the monolithic `v2.rs`
file that contains all app-server API v2 types into more modular files,
grouped by resource (e.g. account, thread, turn, etc.).

`just write-app-server-schema` shows no real changes, so we can be sure
that this is purely an internal organizational change.

## What changed

- Replaced the monolithic `protocol/v2.rs` with a `protocol/v2/` module
tree and a small `mod.rs` that only declares and reexports modules.
- Grouped v2 API definitions by conceptual owner, including `account`,
`apps`, `collaboration_mode`, `command_exec`, `config`, `device_key`,
`experimental_feature`, `feedback`, `fs`, `hook`, `item`, `mcp`,
`model`, `notification`, `permissions`, `plugin`, `process`, `realtime`,
`review`, `thread`, `thread_data`, `turn`, and `windows_sandbox`.
- Moved v2 tests into `protocol/v2/tests.rs` so `mod.rs` stays small.
- Kept shared protocol helpers in `protocol/v2/shared.rs`, including the
enum mirroring macro and common cross-resource types.
- Co-located resource-specific notifications and server-request payloads
with the modules that own those resources.
- Regenerated app-server protocol schema fixtures. The schema diffs are
non-semantic newline-only changes after the refactor.

## Verification

- `cargo check -p codex-app-server-protocol`
- `cargo test -p codex-app-server-protocol`
- `just write-app-server-schema`
This commit is contained in:
Owen Lin authored and GitHub committed 2026-05-05 16:46:51 -07:00
1 parent 332b8b2c74
commit d7de4dd3ac
32 files changed
+12200 -11958

No files matched your search

@@ -0,0 +1,53 @@
mod shared;
mod account;
mod apps;
mod collaboration_mode;
mod command_exec;
mod config;
mod device_key;
mod experimental_feature;
mod feedback;
mod fs;
mod hook;
mod item;
mod mcp;
mod model;
mod notification;
mod permissions;
mod plugin;
mod process;
mod realtime;
mod review;
mod thread;
mod thread_data;
mod turn;
mod windows_sandbox;
pub use account::*;
pub use apps::*;
pub use collaboration_mode::*;
pub use command_exec::*;
pub use config::*;
pub use device_key::*;
pub use experimental_feature::*;
pub use feedback::*;
pub use fs::*;
pub use hook::*;
pub use item::*;
pub use mcp::*;
pub use model::*;
pub use notification::*;
pub use permissions::*;
pub use plugin::*;
pub use process::*;
pub use realtime::*;
pub use review::*;
pub use shared::*;
pub use thread::*;
pub use thread_data::*;
pub use turn::*;
pub use windows_sandbox::*;
#[cfg(test)]
mod tests;