mirror of
https://github.com/openai/codex.git
synced 2026-11-07 20:30:33 +00:00
## Why Evidence capture previously reloaded the full history without tracking consumer progress. Live consumers need to read new originals from activation onward and acknowledge them after downstream writes succeed. ## What changed - Add an in-memory `EvidenceCursor` that starts at the current complete tail without backfilling, captures a fixed unread range, and supports partial acknowledgements. Reads leave progress unchanged. - Add `ThreadStore::read_original_history` to read original records and their source positions through a fixed cutoff. Local storage supports append-only paginated root histories, including compressed rollouts, and defers unfinished records. - Reject unsupported histories and invalid ranges, and retain source ordinals as evidence IDs. ## Testing Add coverage for partial records, compressed suffixes, fixed cutoffs, mismatched thread positions, and truncation. Extend evidence tests to cover activation without backfill, partial acknowledgements, later appends, stale captures, and unchanged cursor progress after capture errors. GitOrigin-RevId: c7a13749fedc4f44fadddc9dd9875043bccebd95
127 lines
4.5 KiB
Rust
127 lines
4.5 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 local_history_account;
|
|
mod original_history;
|
|
mod projects;
|
|
mod queue_store;
|
|
mod store;
|
|
mod thread_attachments;
|
|
mod thread_metadata_sync;
|
|
mod thread_sections;
|
|
mod types;
|
|
|
|
pub use codex_state::AddThreadAttachmentOutcome;
|
|
pub use codex_state::MAX_QUEUE_ITEMS;
|
|
pub use codex_state::MAX_THREAD_ATTACHMENT_PAYLOAD_BYTES;
|
|
pub use codex_state::ProjectSortKey;
|
|
pub use codex_state::QueuedUserSubmissionRecord;
|
|
pub use codex_state::RemoveThreadAttachmentOutcome;
|
|
pub use codex_state::ThreadAttachment;
|
|
pub use codex_state::ThreadAttachmentArchiveFilter;
|
|
pub use codex_state::ThreadAttachmentOwner;
|
|
pub use codex_state::ThreadAttachmentOwnerPage;
|
|
pub use codex_state::ThreadAttachmentPage;
|
|
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 local_history_account::LocalHistoryAccount;
|
|
pub use original_history::OriginalHistoryItem;
|
|
pub use original_history::OriginalHistoryRead;
|
|
pub use original_history::OriginalHistoryRequest;
|
|
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 store::ThreadStoreResumePreparation;
|
|
pub use thread_attachments::AddThreadAttachmentParams;
|
|
pub use thread_attachments::ListThreadAttachmentThreadsParams;
|
|
pub use thread_attachments::ListThreadAttachmentsParams;
|
|
pub use thread_attachments::RemoveThreadAttachmentParams;
|
|
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::ListItemsPosition;
|
|
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;
|