mirror of
https://github.com/openai/codex.git
synced 2026-09-06 15:29:32 +00:00
## What changed - Include `recencyAt`, derived from the newest non-archived assigned thread, in project responses. - Let `project/list` sort by `position` or `recencyAt` in either direction, with recency as the default descending order for that key and projects without activity placed last. - Encode the sort key, direction, and millisecond-precision anchor in new cursors while retaining existing ascending-position cursors. - Add an index for project recency lookups and document the API's sorting and pagination behavior. ## Testing - Cover recency updates when threads are assigned, archived, unarchived, or deleted. - Cover ordering, null handling, tie-breaking, cursor pagination, invalid sort combinations, and cursor mismatches. GitOrigin-RevId: 6165e2b9976b0b45cfa16bcd42978b67811f6df5
106 lines
3.6 KiB
Rust
106 lines
3.6 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 projects;
|
|
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::ProjectSortKey;
|
|
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::RolloutMigrationFailureReason;
|
|
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 projects::CreateProjectParams;
|
|
pub use projects::CreatedProject;
|
|
pub use projects::DeletedProject;
|
|
pub use projects::ListProjectsParams;
|
|
pub use projects::MoveProjectParams;
|
|
pub use projects::ProjectMoveOutcome;
|
|
pub use projects::StoredProject;
|
|
pub use projects::StoredProjectRoot;
|
|
pub use projects::StoredProjectsPage;
|
|
pub use projects::UpdateProjectParams;
|
|
pub use projects::UpdatedProject;
|
|
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::ListTimelineParams;
|
|
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::RevertThreadParams;
|
|
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::TimelinePage;
|
|
pub use types::TurnPage;
|
|
pub use types::UpdateThreadMetadataParams;
|