mirror of
https://github.com/openai/codex.git
synced 2026-10-19 17:28:46 +00:00
Builds on top of #17659 Move the filesystem + sqlite thread listing-related operations inside of a local ThreadStore implementation and call ThreadStore from the places that used to perform these filesystem/sqlite operations. This is the first of a series of PRs that will implement the rest of the local ThreadStore. Testing: - added unit tests for the thread store implementation - adjusted some unit tests in the realtime + personality packages whose callsites changed. Specifically I'm trying to hide ThreadMetadata inside of the local implementation and make ThreadMetadata a sqlite implementation detail concern rather than a public interface, preferring the more generate StoredThread interface instead - added a corner case test for the personality migration package that wasn't covered by the existing test suite - adjust the behavior of searched thread listing to run the existing local rollout repair/backfill pass _before_ querying SQLite results, so callers using ThreadStore::list_threads do not miss matches after a partial metadata warm-up
70 lines
2.0 KiB
Rust
70 lines
2.0 KiB
Rust
use crate::config::Config;
|
|
pub use codex_rollout::ARCHIVED_SESSIONS_SUBDIR;
|
|
pub use codex_rollout::Cursor;
|
|
pub use codex_rollout::EventPersistenceMode;
|
|
pub use codex_rollout::INTERACTIVE_SESSION_SOURCES;
|
|
pub use codex_rollout::RolloutRecorder;
|
|
pub use codex_rollout::RolloutRecorderParams;
|
|
pub use codex_rollout::SESSIONS_SUBDIR;
|
|
pub use codex_rollout::SessionMeta;
|
|
pub use codex_rollout::ThreadItem;
|
|
pub use codex_rollout::ThreadSortKey;
|
|
pub use codex_rollout::ThreadsPage;
|
|
pub use codex_rollout::append_thread_name;
|
|
pub use codex_rollout::find_archived_thread_path_by_id_str;
|
|
#[deprecated(note = "use find_thread_path_by_id_str")]
|
|
pub use codex_rollout::find_conversation_path_by_id_str;
|
|
pub use codex_rollout::find_thread_meta_by_name_str;
|
|
pub use codex_rollout::find_thread_name_by_id;
|
|
pub use codex_rollout::find_thread_names_by_ids;
|
|
pub use codex_rollout::find_thread_path_by_id_str;
|
|
pub use codex_rollout::parse_cursor;
|
|
pub use codex_rollout::read_head_for_summary;
|
|
pub use codex_rollout::read_session_meta_line;
|
|
pub use codex_rollout::rollout_date_parts;
|
|
|
|
impl codex_rollout::RolloutConfigView for Config {
|
|
fn codex_home(&self) -> &std::path::Path {
|
|
self.codex_home.as_path()
|
|
}
|
|
|
|
fn sqlite_home(&self) -> &std::path::Path {
|
|
self.sqlite_home.as_path()
|
|
}
|
|
|
|
fn cwd(&self) -> &std::path::Path {
|
|
self.cwd.as_path()
|
|
}
|
|
|
|
fn model_provider_id(&self) -> &str {
|
|
self.model_provider_id.as_str()
|
|
}
|
|
|
|
fn generate_memories(&self) -> bool {
|
|
self.memories.generate_memories
|
|
}
|
|
}
|
|
|
|
pub(crate) mod list {
|
|
pub use codex_rollout::find_thread_path_by_id_str;
|
|
}
|
|
|
|
pub(crate) mod metadata {
|
|
pub(crate) use codex_rollout::builder_from_items;
|
|
}
|
|
|
|
pub(crate) mod policy {
|
|
pub use codex_rollout::EventPersistenceMode;
|
|
pub use codex_rollout::should_persist_response_item_for_memories;
|
|
}
|
|
|
|
pub(crate) mod recorder {
|
|
pub use codex_rollout::RolloutRecorder;
|
|
}
|
|
|
|
pub(crate) use crate::session_rollout_init_error::map_session_init_error;
|
|
|
|
pub(crate) mod truncation {
|
|
pub(crate) use crate::thread_rollout_truncation::*;
|
|
}
|