mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
5c12034e42
## Why The token-budget context currently identifies a context window by its thread-local sequence number. A UUIDv7 gives the model a stable opaque identity that remains fixed for a window and rotates when compaction or `new_context` starts the next one. ## What changed - Preserve the existing monotonic value as `window_number` and add a UUIDv7 `window_id` to `CompactedItem`. - Generate and rotate the UUID with auto-compaction window state, persist it alongside the number, and reconstruct it on resume and rollback. - Accept legacy compacted rollout records where the numeric `window_id` represented the window number. - Use the UUID only in token-budget context; existing request headers and metadata continue using `thread_id:window_number`. ## Testing - `just test -p codex-protocol compacted_item::tests` - `just test -p codex-core token_budget`
34 lines
703 B
Rust
34 lines
703 B
Rust
pub mod account;
|
|
mod agent_path;
|
|
pub mod auth;
|
|
mod session_id;
|
|
mod thread_id;
|
|
mod tool_name;
|
|
pub use agent_path::AgentPath;
|
|
pub use session_id::SessionId;
|
|
pub use thread_id::ThreadId;
|
|
pub use tool_name::ToolName;
|
|
pub mod approvals;
|
|
pub mod capabilities;
|
|
mod compacted_item;
|
|
pub mod config_types;
|
|
pub mod dynamic_tools;
|
|
pub mod error;
|
|
pub mod exec_output;
|
|
pub mod items;
|
|
pub mod mcp;
|
|
pub mod mcp_approval_meta;
|
|
pub mod memory_citation;
|
|
pub mod models;
|
|
pub mod network_policy;
|
|
pub mod num_format;
|
|
pub mod openai_models;
|
|
pub mod parse_command;
|
|
pub mod permissions;
|
|
pub mod plan_tool;
|
|
pub mod protocol;
|
|
pub mod request_permissions;
|
|
pub mod request_user_input;
|
|
pub mod shell_environment;
|
|
pub mod user_input;
|