Files
codex/codex-rs/exec-server-protocol/Cargo.toml
jif 7790524d6b Preserve JSON number precision in exec-server RPC messages (#33031)
## Why

Exec-server JSON-RPC payloads can contain decimals, exponent notation, and
integers outside the native 64-bit range. Decoding these values should preserve
their original JSON representation without weakening the existing message
complexity limit.

## What changed

- Enable `serde_json` arbitrary-precision number and raw-value support for the
  exec-server protocol.
- Decode serde's number and raw-value wrappers in the bounded JSON visitor,
  charging nested raw values against the 256K-value limit.
- Select the JSON-RPC envelope variant from its fields after bounded decoding so
  arbitrary-precision values survive message deserialization.

## Testing

Add coverage for exact arbitrary-precision number round trips and for enforcing
the value limit inside raw-value wrappers.

GitOrigin-RevId: a6e0a3fba6f88e4e8a6ff414832f078beb2d2a70
2026-07-14 10:26:52 +00:00

27 lines
677 B
TOML

[package]
name = "codex-exec-server-protocol"
version.workspace = true
edition.workspace = true
license.workspace = true
[lib]
name = "codex_exec_server_protocol"
path = "src/lib.rs"
doctest = false
[lints]
workspace = true
[dependencies]
base64 = { workspace = true }
codex-file-system = { workspace = true }
codex-network-proxy = { workspace = true }
codex-protocol = { workspace = true }
codex-shell-command = { workspace = true }
codex-utils-path-uri = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true, features = ["arbitrary_precision", "raw_value"] }
[dev-dependencies]
pretty_assertions = { workspace = true }