feat: chat interface with gateway WebSocket integration (HQ-21)

- GatewayClient class: WS connection, auto-reconnect, request/response, events
- ChatPage with thread list sidebar + message area
- Real-time streaming responses via chat events
- Thread management with localStorage persistence
- Message bubbles with user/assistant/system styles
- Build args for VITE_WS_URL and VITE_WS_TOKEN
- SPA routing already supported by nginx config
This commit is contained in:
2026-01-29 02:19:55 +00:00
parent 91bc69e178
commit ddaeb0c282
4 changed files with 647 additions and 17 deletions

View File

@@ -1,6 +1,11 @@
FROM oven/bun:1 AS build
WORKDIR /app
ARG VITE_WS_URL=""
ARG VITE_WS_TOKEN=""
ENV VITE_WS_URL=$VITE_WS_URL
ENV VITE_WS_TOKEN=$VITE_WS_TOKEN
COPY package.json bun.lock* ./
RUN bun install --frozen-lockfile 2>/dev/null || bun install