Commit Graph

3 Commits

  • [codex] extend code-mode host IPC transport (#30108)
    ## Summary
    
    - add an `EncodedFrame` type so IPC payloads are serialized and
    size-checked before entering bounded queues
    - add the V1 `operation/cancel` client-to-host message
    - pin the new wire shape with protocol tests
    
    ## Why
    
    The process-owned code-mode host needs bounded, pre-encoded outbound
    messages and a best-effort cancellation signal. Keeping these wire
    primitives in a protocol-only change lets their compatibility contract
    be reviewed independently from either endpoint.
    
    ## Stack
    
    This is **1 of 4** in the process-owned code-mode session stack. The
    next PR targets this branch.
    
    ## Validation
    
    - `just test -p codex-code-mode-protocol` — 22 passed
    - `just fix -p codex-code-mode-protocol`
    - `just fmt`
  • code-mode: define process host wire protocol (#29804)
    ## Why
    
    The process-owned code mode implementation needs an explicit, bounded
    wire contract before either side depends on it. Keeping framing and
    message semantics in `codex-code-mode-protocol` gives the client and
    sidecar one shared source of truth and makes compatibility failures
    detectable during connection setup.
    
    ## What changed
    
    - adds a versioned client/host handshake with required and optional
    capabilities
    - defines operation requests and responses for session lifecycle and
    cell control
    - defines reverse delegate request, response, cancellation, and
    cell-closure messages
    - adds a four-byte little-endian length-prefixed JSON codec with a hard
    frame cap
    - rejects malformed frames, unknown fields, invalid identifiers, and
    unsupported protocol states
    - locks the wire representation down with explicit JSON round-trip tests
    
    ## Testing
    
    - `just test -p codex-code-mode-protocol`
    
    ## Stack
    
    Part 1 of 6. Followed by
    [#29805](https://github.com/openai/codex/pull/29805).
  • [codex] define code mode host handshake protocol (#29515)
    ## Summary
    
    - add validated protocol-version, capability, and session identifier
    types
    - define explicit `ClientToHost` and `HostToClient` JSON envelopes for
    connection negotiation and session open/close acknowledgements
    - reject invalid states and unknown fields during decoding, with
    explicit wire-format and round-trip coverage
    
    ## Why
    
    This establishes the transport-neutral encoding shape needed to build
    and test the new code-mode host incrementally. Cell, tool callback, and
    failure-domain messages are intentionally deferred until their actors
    and behavior tests establish the required semantics.
    
    This is additive protocol scaffolding and does not change the current
    production code-mode implementation.
    
    ## Validation