summaryrefslogtreecommitdiffhomepage
path: root/src/features/chat/index.ts
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-07 00:21:04 +0900
committerAdam Malczewski <[email protected]>2026-06-07 00:21:04 +0900
commit2faccf3482922385c2de47f210e48a8d2968762f (patch)
tree215c4d6e690bc542e24b8ede2b55ea7381c3998a /src/features/chat/index.ts
parent312ed5a9fe0d7f2660a66d61baf429b8e021ffb1 (diff)
downloaddispatch-web-2faccf3482922385c2de47f210e48a8d2968762f.tar.gz
dispatch-web-2faccf3482922385c2de47f210e48a8d2968762f.zip
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.
Diffstat (limited to 'src/features/chat/index.ts')
-rw-r--r--src/features/chat/index.ts6
1 files changed, 6 insertions, 0 deletions
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";