- Wire processRequest() async generator to chat page
- Progressive message rendering as stream chunks arrive
- Animated loading dots while waiting for first chunk
- Error display with OrchestratorError code mapping
- Session ID management with crypto.randomUUID()
Closes#7
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- MessageInput component with textarea, send button, Enter-to-send
- Shift+Enter for newline, auto-resize textarea
- Disabled state while streaming, auto-focus after send
- Integrated into /chat page with user message handling
Closes#6
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Create /chat route with scrollable message list
- MessageBubble component with distinct user/assistant styles
- MessageList with auto-scroll-to-bottom on new messages
- Empty state display when no messages
- ChatMessage type definition in src/lib/types.ts
- Add browser globals to ESLint config for Svelte files
Closes#5
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>