mirror of
https://github.com/openai/codex.git
synced 2026-10-26 18:38:47 +00:00
## What changed - Add a storage-neutral queue extension for listing, adding, editing, reordering, deleting, and explicitly starting queued user messages. - Dispatch queued messages in FIFO order when a thread becomes idle after a completed turn, while leaving them queued after interruptions or failures. - Wait for user input to be persisted before removing its queue item, and report hook rejection, task termination, and persistence failures distinctly. - Snapshot local image and audio attachments into validated data URLs before storing them, enforce input limits, and emit `ThreadQueueChanged` events after mutations. ## Testing - Cover queue mutations, automatic and explicit dispatch, interruption and failure behavior, hook rejection, invalid records, input limits, and local attachment snapshotting. GitOrigin-RevId: 14f39d7c8cbaccb767a6da84b82cced0edfcb4b9
20 lines
522 B
Rust
20 lines
522 B
Rust
//! Durable, storage-neutral user-message queue and idle dispatch.
|
|
|
|
use std::sync::Arc;
|
|
|
|
use codex_extension_api::ExtensionRegistryBuilder;
|
|
|
|
mod service;
|
|
|
|
pub use service::QueueServiceError;
|
|
pub use service::QueuedItem;
|
|
pub use service::QueuedItemService;
|
|
|
|
/// Registers the caller-owned queue before lower-priority idle contributors.
|
|
pub fn install<C>(registry: &mut ExtensionRegistryBuilder<C>, service: Arc<QueuedItemService>)
|
|
where
|
|
C: Send + Sync + 'static,
|
|
{
|
|
registry.thread_lifecycle_contributor(service);
|
|
}
|