Refactor session manager: migration chain, validation, tests

- Add migrateV1ToV2/migrateToCurrentVersion for extensible migrations
- createSummaryMessage now takes timestamp from entry
- loadEntriesFromFile validates session header
- findMostRecentSession only returns valid session files (reads first 512 bytes)
- Remove ConversationEntry alias
- Fix mom context.ts TreeNode type

Tests:
- migration.test.ts: v1 migration, idempotency
- build-context.test.ts: 14 tests covering trivial, compaction, branches
- file-operations.test.ts: loadEntriesFromFile, findMostRecentSession
This commit is contained in:
Mario Zechner 2025-12-26 01:33:13 +01:00
parent 95312e00bb
commit beb70f126d
7 changed files with 606 additions and 102 deletions

View file

@ -112,8 +112,6 @@ export {
buildSessionContext,
type CompactionContent,
type CompactionEntry,
type ConversationContent,
type ConversationEntry,
CURRENT_SESSION_VERSION,
createSummaryMessage,
type FileEntry,
@ -123,6 +121,7 @@ export {
type ModelChangeEntry,
migrateSessionEntries,
parseSessionEntries,
type SessionContent as ConversationContent,
type SessionContext as LoadedSession,
type SessionEntry,
type SessionHeader,