feat: add chat components from jarvis frontend

- Migrated Chat.tsx with message handling and UI structure
- Migrated ChatInput.tsx with character limits and keyboard shortcuts
- Migrated MessageList.tsx with thinking/reasoning display
- Migrated ConversationSidebar.tsx (simplified placeholder)
- Migrated BackendStatusBanner.tsx (simplified placeholder)
- Created components/chat/index.ts barrel export
- Created app/chat/page.tsx placeholder route

These components are adapted from jarvis-fe but not yet fully functional:
- API calls placeholder (need to wire up /api/brain/query)
- Auth hooks stubbed (need useAuth implementation)
- Project/conversation hooks stubbed (need implementation)
- Imports changed from @jarvis/* to @mosaic/*

Next steps:
- Implement missing hooks (useAuth, useProjects, useConversations, useApi)
- Wire up backend API endpoints
- Add proper TypeScript types
- Implement full conversation management
This commit is contained in:
Jason Woltje
2026-01-29 21:47:00 -06:00
parent aa267b56d8
commit d54714ea06
8 changed files with 1463 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
/**
* Chat Components
*
* Migrated from jarvis-fe. These components provide the chat interface
* for interacting with the AI brain service.
*
* Usage:
* ```tsx
* import { Chat, MessageList, ChatInput } from '@/components/chat';
* ```
*/
export { Chat, type ChatRef, type Message, type NewConversationData } from './Chat';
export { ChatInput } from './ChatInput';
export { MessageList } from './MessageList';
export { ConversationSidebar, type ConversationSidebarRef } from './ConversationSidebar';
export { BackendStatusBanner } from './BackendStatusBanner';