mirror of
https://github.com/openai/codex.git
synced 2026-09-14 11:57:03 +00:00
## What changed - Add `PersistContext` to the thread-store persistence contract so stores can identify persistence requested immediately before model sampling. A `TurnStart` request may be enqueued in the background when later flush and shutdown operations fence it and report any failure; all other persistence remains synchronous. - Use the turn-start context only for the initial input of a regular turn, while admission acknowledgments, steered input, and other persistence paths keep the standard durability behavior. - Flush pending metadata before turn-start persistence and ensure shutdown is still attempted if that metadata update fails. ## Testing - Verify that developer instructions and user input are persisted before the model request completes for a default paginated-history thread. GitOrigin-RevId: 162f0ec796a61aebe66ca0b909fbcccec3047b85
89 lines
3.0 KiB
Rust
89 lines
3.0 KiB
Rust
//! Storage-neutral thread persistence interfaces.
|
|
//!
|
|
//! Application code should treat [`codex_protocol::ThreadId`] as the only durable thread handle.
|
|
//! Implementations are responsible for resolving that id to local rollout files, RPC requests, or
|
|
//! any other backing store.
|
|
|
|
mod error;
|
|
mod in_memory;
|
|
mod live_thread;
|
|
mod local;
|
|
mod queue_store;
|
|
mod store;
|
|
mod thread_metadata_sync;
|
|
mod thread_sections;
|
|
mod types;
|
|
|
|
pub use codex_state::MAX_QUEUE_ITEMS;
|
|
pub use codex_state::QueuedUserSubmissionRecord;
|
|
pub use error::ThreadStoreError;
|
|
pub use error::ThreadStoreResult;
|
|
pub use in_memory::InMemoryThreadStore;
|
|
pub use in_memory::InMemoryThreadStoreCalls;
|
|
pub use live_thread::LiveThread;
|
|
pub use live_thread::LiveThreadInitGuard;
|
|
pub use local::LocalThreadStore;
|
|
pub use local::LocalThreadStoreConfig;
|
|
pub use local::RolloutMigrationMode;
|
|
pub use local::RolloutMigrationOptions;
|
|
pub use local::RolloutMigrationOutcome;
|
|
pub use local::RolloutMigrationProgress;
|
|
pub use local::RolloutMigrationReport;
|
|
pub use local::RolloutMigrationStatus;
|
|
pub use queue_store::LocalQueueStore;
|
|
pub use queue_store::QueueStore;
|
|
pub use store::PersistContext;
|
|
pub use store::ThreadStore;
|
|
pub use store::ThreadStoreFuture;
|
|
pub use thread_sections::CreateThreadSectionParams;
|
|
pub use thread_sections::DeleteThreadSectionParams;
|
|
pub use thread_sections::ListThreadSectionsParams;
|
|
pub use thread_sections::RenameThreadSectionParams;
|
|
pub use thread_sections::StoredThreadSection;
|
|
pub use thread_sections::StoredThreadSectionsPage;
|
|
pub use types::AppendThreadItemsParams;
|
|
pub use types::ArchiveThreadParams;
|
|
pub use types::ArchiveThreadsParams;
|
|
pub use types::ClearableField;
|
|
pub use types::CreateThreadParams;
|
|
pub use types::DeleteThreadParams;
|
|
pub use types::DeleteThreadsParams;
|
|
pub use types::ExtraConfig;
|
|
pub use types::ForkBoundary;
|
|
pub use types::GitInfoPatch;
|
|
pub use types::ItemPage;
|
|
pub use types::ItemSortKey;
|
|
pub use types::ListItemsParams;
|
|
pub use types::ListThreadsParams;
|
|
pub use types::ListTurnsParams;
|
|
pub use types::LoadThreadHistoryParams;
|
|
pub use types::MoveThreadToSectionParams;
|
|
pub use types::PrepareForkParams;
|
|
pub use types::PreparedFork;
|
|
pub use types::ReadThreadByRolloutPathParams;
|
|
pub use types::ReadThreadParams;
|
|
pub use types::ResumeThreadParams;
|
|
pub use types::SearchTextRange;
|
|
pub use types::SearchThreadOccurrencesParams;
|
|
pub use types::SearchThreadsParams;
|
|
pub use types::SortDirection;
|
|
pub use types::StoredModelContext;
|
|
pub use types::StoredThread;
|
|
pub use types::StoredThreadHistory;
|
|
pub use types::StoredThreadItem;
|
|
pub use types::StoredThreadOccurrence;
|
|
pub use types::StoredThreadSearchResult;
|
|
pub use types::StoredTurn;
|
|
pub use types::StoredTurnError;
|
|
pub use types::StoredTurnItemsView;
|
|
pub use types::StoredTurnStatus;
|
|
pub use types::ThreadMetadataPatch;
|
|
pub use types::ThreadOccurrenceSearchPage;
|
|
pub use types::ThreadPage;
|
|
pub use types::ThreadPersistenceMetadata;
|
|
pub use types::ThreadRelationFilter;
|
|
pub use types::ThreadSearchPage;
|
|
pub use types::ThreadSortKey;
|
|
pub use types::TurnPage;
|
|
pub use types::UpdateThreadMetadataParams;
|