Files
certifai/assets
Sharang Parnerkar 1a244f8f3d feat(chat): add LibreChat-inspired chat interface with MongoDB persistence
Implement full chat functionality with persistent sessions and messages
stored in MongoDB, LLM completion via Ollama (with multi-provider
dispatch support), markdown rendering, and a model selector.

- Add ChatSession/ChatMessage models with serde attributes for MongoDB
  ObjectId handling (skip_serializing_if empty, alias _id)
- Add CRUD server functions: list/create/rename/delete sessions,
  list/save messages, non-streaming chat completion
- Add raw Document collection accessor for BSON ObjectId -> String
  conversion in read paths
- Add SSE streaming endpoint (Axum handler) for future streaming support
- Add provider dispatch client (Ollama, OpenAI, Anthropic, HuggingFace)
- Add frontend components: ChatSidebar with namespace grouping,
  ChatModelSelector, ChatMessageList, ChatInputBar, ChatBubble with
  pulldown-cmark markdown rendering and StreamingBubble thinking indicator
- Rewrite ChatPage with full signal-based state management
- Add comprehensive CSS for chat UI, markdown prose, animations

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 19:40:31 +01:00
..