mirror of
https://github.com/openai/codex.git
synced 2026-10-23 18:08:45 +00:00
## Why A failed provider catalog refresh could discard model metadata and disable tool search on subsequent turns, even after a successful discovery. ## What changed Keep the last successful catalog, ETag, and original freshness when refreshes fail without an access rejection. Continue invalidating cached catalogs for HTTP `401`/`403`, rejected refresh tokens, and gateway credentials that require login. Distinguish `GatewayLoginRequired` from login in progress so only the former invalidates the catalog. Successful empty responses remain authoritative, and cached catalogs remain scoped to the provider and authentication identity. ## Testing Add regression coverage for catalog preservation across refresh errors and restarts, access rejection invalidation, identity isolation, and tool search and instruction stability on the next turn after a failed refresh. GitOrigin-RevId: 9dd7c73ac2cc1fd49664efd93b839baa94e05c49
codex-protocol
This crate defines the "types" for the protocol used by Codex CLI, which includes both "internal types" for communication between codex-core and codex-tui, as well as "external types" used with codex app-server.
This crate should have minimal dependencies.
Ideally, we should avoid "material business logic" in this crate, as we can always introduce Ext-style traits to add functionality to types in other crates.