summaryrefslogtreecommitdiffhomepage
path: root/src/features/conversation-cache/index.ts
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-07 00:02:32 +0900
committerAdam Malczewski <[email protected]>2026-06-07 00:02:32 +0900
commit312ed5a9fe0d7f2660a66d61baf429b8e021ffb1 (patch)
treedad46b8b88a6bc5629d50f18912ff944eaef4e95 /src/features/conversation-cache/index.ts
parenta062045579de1bd0903f0f2c7f3e742162bcb7cc (diff)
downloaddispatch-web-312ed5a9fe0d7f2660a66d61baf429b8e021ffb1.tar.gz
dispatch-web-312ed5a9fe0d7f2660a66d61baf429b8e021ffb1.zip
Slice 2 wave 1: transcript reducer, wire conformance, ws chat, cache core
- core/chunks: the one pure transcript reducer (foldEvent live deltas + applyHistory seq-keyed reconcile + selectChunks/selectMessages); 27 tests - core/wire: FE-side contract-conformance exhaustiveness guards + drift smoke tests over wire/transport-contract unions (ยง2.9 drift signal); 10 tests - adapters/ws: additively multiplex chat.send/chat.delta/chat.error on the existing surface socket (onChat + widened send); surface API unchanged - features/conversation-cache: pure reconcileCache/nextSinceSeq/selectEvictions + ConversationChunkStore port + injected createConversationCache; 26 tests Verified green: svelte-check 0/0, vitest 169, biome clean, build ok.
Diffstat (limited to 'src/features/conversation-cache/index.ts')
-rw-r--r--src/features/conversation-cache/index.ts8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/features/conversation-cache/index.ts b/src/features/conversation-cache/index.ts
new file mode 100644
index 0000000..ba3f69a
--- /dev/null
+++ b/src/features/conversation-cache/index.ts
@@ -0,0 +1,8 @@
+export type { ConversationCache, ConversationCacheOptions } from "./cache";
+export { createConversationCache } from "./cache";
+export { nextSinceSeq, reconcileCache, selectEvictions } from "./logic";
+export type {
+ ConversationCacheIndexEntry,
+ ConversationChunkStore,
+ ReconcileResult,
+} from "./types";