From 2faccf3482922385c2de47f210e48a8d2968762f Mon Sep 17 00:00:00 2001 From: Adam Malczewski Date: Sun, 7 Jun 2026 00:21:04 +0900 Subject: Slice 2 wave 2: IndexedDB cache adapter + chat feature - adapters/idb: createIdbChunkStore implements the ConversationChunkStore port over IndexedDB (compound [conversationId,seq] key, idempotent append, meta store for lastAccess); 8 tests with fake-indexeddb - features/chat: createChatStore (runes-thin over the core/chunks reducer, all effects injected via ChatTransport/HistorySync/ConversationCache ports) + ChatView/Composer svelte-thin UI; folds chat.delta, syncs on turn-sealed, hydrates from cache then catches up; 25 tests Verified green: svelte-check 0/0, vitest 202, biome clean, build ok. --- src/features/chat/index.ts | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 src/features/chat/index.ts (limited to 'src/features/chat/index.ts') diff --git a/src/features/chat/index.ts b/src/features/chat/index.ts new file mode 100644 index 0000000..71851de --- /dev/null +++ b/src/features/chat/index.ts @@ -0,0 +1,6 @@ +export type { RenderedChunk } from "../../core/chunks"; +export type { ChatTransport, HistorySync } from "./ports"; +export type { ChatStore, ChatStoreDependencies } from "./store.svelte"; +export { createChatStore } from "./store.svelte"; +export { default as ChatView } from "./ui/ChatView.svelte"; +export { default as Composer } from "./ui/Composer.svelte"; -- cgit v1.2.3