summaryrefslogtreecommitdiffhomepage
path: root/bun.lock
AgeCommit message (Collapse)Author
2026-06-07Slice 3 setup: Tailwind v4 + DaisyUI v5 (dracula enabled) + 'tab' vocabAdam Malczewski
- add tailwindcss@4 + @tailwindcss/vite + daisyui@5; vite tailwind plugin - src/app.css: @import tailwindcss + @plugin daisyui { themes: dracula --default } (theme BUNDLED, not just named); imported in main.ts - index.html: <html data-theme="dracula"> - biome.json: enable css tailwindDirectives so @plugin parses - GLOSSARY: define FE term 'tab' (workspace slot referencing a conversation; holds conversationId + model + title; close = local forget) Verified: dracula tokens bundled in CSS, svelte-check 0/0, vitest 222, biome clean, build ok.
2026-06-06Slice 2 unblock: pin wire + transport-contract; mirror contractsAdam Malczewski
- pin @dispatch/wire + @dispatch/transport-contract (+ ui-contract) as file: deps @0.1.0; overrides{} workaround for their workspace:* deps (bun can't resolve workspace: from outside the monorepo) - add fake-indexeddb (dev) for the upcoming IndexedDB adapter tests - mirror wire + transport-contract into .dispatch/*.reference.md for headless agents; point package-agent.md at all three references - backend-handoff.md: convert to a living FE<->backend seam doc Verified green: svelte-check 0/0, vitest 91, biome clean, build ok; contract import smoke-test passes.
2026-06-06Slice 1 follow-up: component-render interaction tests (CR-1/CR-2)Adam Malczewski
- vite: add @testing-library/svelte's svelteTesting() plugin so component render()/mount() resolves Svelte's browser build under vitest/jsdom - dep: @testing-library/user-event for realistic interaction tests - app: 7 component-render tests driving App.svelte through a fake socket (catalog render, subscribe-on-click, unsub/sub ordering, aria-current, error banner, action invoke) Verified green: svelte-check 0/0, vitest 91 passed, biome clean, vite build ok.
2026-06-06Slice 1: surface system + WS transport + composition rootAdam Malczewski
Pure-core feature libraries assembled at the composition root: - core/protocol: pure reducer over surface catalog/spec/error messages - features/surface-host: generic field-kind interpreter (toggle/progress/ selector/stat/button) + pure plan logic; no surface-id special-casing - adapters/ws: injected WebSocket client (effects at the edge) - app: composition root store (Svelte 5 runes over the pure reducer), host-relative surface WS URL resolution (resolveWsUrl), root App.svelte Verified green: svelte-check 0/0, vitest 84 passed, biome clean, vite build ok.