mirror of
https://github.com/openai/codex.git
synced 2026-10-31 19:28:49 +00:00
## Why Bounding collected output also requires limiting the raw event backlog between V8 and the cell actor. Previously, runtime events and cell output accumulated in an unbounded channel and vector. ## What changed - Select the event transport and `OutputCollector` from the cell's `output_truncation` mode. Server mode uses an ordered, bounded channel with backpressure; client mode retains untruncated output. - Transfer the collector with each observation and restore it on failed delivery, preserving retained media and omission metadata. - Include server-mode script errors in the observation's output budget. Build completion output only after completion wins against termination, so a rejected error cannot evict output returned by termination. - Keep the public service on client-side truncation. ## Testing Add regression coverage for channel backpressure, event ordering, receiver closure, failed observation delivery, termination during completion commit, and oversized errors across UTF-8 and omission boundaries. GitOrigin-RevId: 7604b60416e33c636ca41138be65dc0fd452774a
16 lines
356 B
Rust
16 lines
356 B
Rust
mod cell_actor;
|
|
mod output;
|
|
mod runtime;
|
|
mod service;
|
|
mod session_runtime;
|
|
mod ui;
|
|
mod v8_init;
|
|
|
|
pub(crate) type TaskFailureHandler = std::sync::Arc<dyn Fn(String) + Send + Sync>;
|
|
|
|
pub use codex_code_mode_protocol::*;
|
|
pub use service::InProcessCodeModeSession;
|
|
pub use ui::run as run_ui_sandbox;
|
|
pub use v8_init::V8JitMode;
|
|
pub use v8_init::initialize_v8;
|