[codex] Add rollout-backed thread content search (#23519)

## Summary
- add experimental `thread/search` for local rollout-backed thread
search using `rg` over JSONL rollouts
- return search-specific result rows with optional previews instead of
storing preview data on `StoredThread` or ordinary `Thread` responses
- keep `thread/list` separate from full-content search and document the
new app-server surface

## Testing
- `cargo test -p codex-app-server-protocol`
- `cargo test -p codex-app-server
thread_search_returns_content_and_title_matches -- --nocapture`
This commit is contained in:
Francis Chalissery authored and GitHub committed 2026-05-21 11:52:24 -07:00
1 parent 4acb456bfe
commit ac0bff27e7
22 files changed
+935 -2

No files matched your search

+10
View File
@@ -4,6 +4,7 @@ mod helpers;
mod list_threads;
mod live_writer;
mod read_thread;
mod search_threads;
mod unarchive_thread;
mod update_thread_metadata;
@@ -28,9 +29,11 @@ use crate::LoadThreadHistoryParams;
use crate::ReadThreadByRolloutPathParams;
use crate::ReadThreadParams;
use crate::ResumeThreadParams;
use crate::SearchThreadsParams;
use crate::StoredThread;
use crate::StoredThreadHistory;
use crate::ThreadPage;
use crate::ThreadSearchPage;
use crate::ThreadStore;
use crate::ThreadStoreError;
use crate::ThreadStoreResult;
@@ -261,6 +264,13 @@ impl ThreadStore for LocalThreadStore {
list_threads::list_threads(self, params).await
}
async fn search_threads(
&self,
params: SearchThreadsParams,
) -> ThreadStoreResult<ThreadSearchPage> {
search_threads::search_threads(self, params).await
}
async fn update_thread_metadata(
&self,
params: UpdateThreadMetadataParams,