Preserve typed gRPC code-mode session admission errors (#60496)

## Why

Session-opening failures were returned as strings, preventing callers from inspecting the terminal gRPC admission status directly.

## What changed

- Add `GrpcCodeModeSessionProvider::open_session` returning `GrpcSessionOpenError`, distinguishing admission status codes, admission timeouts, and other setup failures.
- Keep string errors for the existing `CodeModeSessionProvider` trait API.
- Re-export `ProcessOwnedGrpcCodeModeSessionProvider` from `codex-core`.

## Testing

Extend admission tests to assert terminal status codes, cover exhausted `ResourceExhausted` retries, and verify that `DeadlineExceeded` is not retried.

GitOrigin-RevId: 9d7f2e733e12b8bb7def368fa5fc5a09ea2a374e
This commit is contained in:
Sean Huang
2026-11-10 02:09:01 +00:00
committed by copyberry
parent e0370f0b06
commit 064b2d9bca
6 changed files with 88 additions and 29 deletions
+1
View File
@@ -273,6 +273,7 @@ pub use client::X_CODEX_TURN_METADATA_HEADER;
pub use client_common::Prompt;
pub use client_common::ResponseEvent;
pub use client_common::ResponseStream;
pub use code_mode_host::ProcessOwnedGrpcCodeModeSessionProvider;
pub use codex_prompts::REVIEW_PROMPT;
pub use codex_runtime_agent_instance::resolve_installation_id;
pub use compact::content_items_to_text;