- Add React/TypeScript Chat UI frontend with sidebar, conversation management,
model selector, streaming indicator, and savings panel
- Wire up TelemetryStore in `jarvis serve` so TELEMETRY_RECORD events are
persisted to SQLite (matching the pattern from `jarvis ask`)
- Switch agents (orchestrator, react, openhands, openclaw_plugin) and the
direct route handler to use `instrumented_generate()` so token counts are
recorded and the /v1/savings endpoint returns real data
- Restyle savings panel model display with bordered card boxes (green accent
for local, orange for cloud) instead of plain text rows
- Add SGLang engine backend, dashboard routes, savings computation, and
agent-stream bridge for SSE streaming
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>