Add collapsible sidebars with slide-in drawers on mobile, hamburger menu
for session sidebar, stacked layouts for screens under 768px, 44px touch
targets, and overflow prevention across all pages.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add theme switching with three modes (system/light/dark) using Tailwind v4
class-based dark mode. Theme preference is persisted in localStorage and
defaults to the system's prefers-color-scheme. All components updated with
dark: variants for consistent dark mode rendering including SVG elements.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add a dedicated /audit route displaying a chronological timeline of
orchestration events (state transitions, tool invocations, errors,
messages) grouped by session. Includes session selector, event type
filtering, URL deep-linking via ?session=id, and audit event capture
during chat streaming.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add a dedicated /lineage route with custom SVG-based tree visualization
of the agent spawn chain. Nodes are colored by agent type (orchestrator,
researcher, coder, sysadmin, assistant) and display agent ID, type, and
spawn depth. Clicking a node opens a detail panel. Uses sample data
since the API does not yet expose lineage information.
Closes#15
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add preset store with three built-in presets (Strict mode, Research only,
Full access) and localStorage persistence for custom presets. Integrate
preset selector into ConfigSidebar with load, save, and delete actions.
Built-in presets cannot be deleted.
Closes#14
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implements issue #13 — right sidebar for session configuration with
override level selection, disabled tools checkboxes, and granted
permissions input. Integrates config into chat page header with toggle
button and non-default indicator.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- SessionSidebar component listing past sessions sorted by recency
- Session title preview and relative date display
- Click to switch sessions, delete with confirmation
- Added deleteSession method to session store
- Integrated sidebar into chat page layout
Closes#12
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Session store with UUID v4 generation and localStorage persistence
- Session ID in URL params (?session=<id>) for deep linking
- "New Chat" button for creating fresh sessions
- Message history persisted per session
- Session title auto-generated from first user message
Closes#11
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- FinalResult component showing SubagentResult summary and artifacts
- Status badges: Success (green), Partial (amber), Failed (red)
- Quality and source badges (Verified/Inferred, Tool Output/Web/etc)
- Artifact list with file icons
- Integrated into chat page after stream completes
Closes#10
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- ThinkingSection component with expand/collapse toggle
- Displays intermediate_result from stream in amber-styled panel
- Positioned below orchestration progress indicator
- Updates in real-time as new intermediate results arrive
Closes#9
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- OrchestrationProgress stepper component with 5 phases
- Visual state: completed (green check), active (blue ring), pending (gray)
- Smooth CSS transitions between states
- Integrated into chat page, visible during streaming
Closes#8
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 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>
- Create src/lib/services/orchestrator.ts with Connect-Web transport
- Typed processRequest() async generator for server-streaming RPC
- OrchestratorError class mapping gRPC status codes to app errors
- Configurable endpoint with resetTransport() for reconfiguration
Closes#4
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Route gRPC-Web requests to Orchestrator via h2c transport
- Handle CORS preflight and response headers for cross-origin access
- Proxy remaining traffic to SvelteKit dev server
- Configurable via env vars: ORCHESTRATOR_HOST, UI_HOST, DOMAIN, CORS_ORIGIN
Closes#3
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add llm-multiverse repo as git submodule for proto files
- Configure buf with @bufbuild/protoc-gen-es for TypeScript codegen
- Generate typed Connect service stubs to src/lib/proto/
- Add `generate` npm script for proto regeneration
- Exclude generated proto files from ESLint
Closes#2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Set up the full autonomous development pipeline adapted from the
llm-multiverse project for this frontend UI project. Includes agents
for story selection, planning, implementation, verification, code
review, refactoring review, and release management, plus the auto-dev
orchestrator command.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>