client-core: port the transcript cache

Ports app/.../TranscriptCache.kt (chunked JSONL directory, suffix/gap
tracking, backwards line reader, damage recovery, eviction) with the
full TranscriptCacheTest suite (18 cases). One correction the port
found in translation: SessionCache::guard's Err branch would have
disabled the whole cache on a single damaged chunk, since a damaged
suffix and a real I/O failure both arrived as Err from the same
closure -- separated so damage discards only the one session, matching
the Kotlin original's separate `catch (e: Damaged)` from
`catch (e: IOException)`.

cargo test (67 passed), clippy --all-targets and fmt clean.

Co-Authored-By: Claude Sonnet <noreply@anthropic.com>
This commit is contained in:
irisandClaude Sonnet committed 2026-09-04 22:52:32 -04:00
1 parent 762c1290a1
commit 26163b25b2
2 files changed
+1392

No files matched your search

+1
View File
@@ -4,5 +4,6 @@
pub mod ansi;
pub mod highlight;
pub mod transcript_cache;
pub use event_model::*;
File diff suppressed because it is too large. Load diff