Bring the chat surface to life.
The chat workspace now lives at `/chats` with streaming replies, model selection, conversation history, prompt starters, and a more product-ready interface.
Streaming UX
Responses render live so the chat feels active instead of waiting on a full payload.
Model-aware
The UI asks the backend for available models and falls back gracefully when needed.
Persistent
Recent conversations stay in local storage so the workspace still feels useful on refresh.