revert(chat-ui): restore the package deleted in #6435
Restores packages/chat-ui (40 files), deleted in #6435 as an "orphan package."
It was not an orphan. It depends on @superset/chat — the chat-v3 protocol package — which makes it the in-progress UI layer for chat-v3, not debris. The deletion was justified on the evidence that nothing imported it, and that was the wrong test: zero importers is exactly what unfinished-but-intended work looks like. The check that would have caught it is "what does this package depend on?", which points at chat-v3 and reveals intent.
Restores PromptInput (with its Lexical editor), ComposerDropZone, ScrollToBottomButton, their shared components, and the two storybook wiring lines in packages/ui. Verified byte-identical to the pre-deletion tree.
Everything else in #6435 stands — the chat-legacy hono server, the device-presence system, and the device_presence table were all genuinely dead.
Verification: lint exit 0 · typecheck exit 0 (38/38) · sherif exit 0.
Summary by cubic
Restore packages/chat-ui as the in‑progress UI for chat‑v3, reversing its removal in #6435. It depends on @superset/chat, so the package was not an orphan; restoring it unblocks chat‑v3 work without changing app behavior.
- Adds back
@superset/chat-ui(PromptInput, ComposerDropZone, ScrollToBottomButton, stories,tsconfig.json,svg.d.ts). - Updates
packages/uiStorybook to includechat-uistories and sources. - Updates
bun.lockto add@lexical/react,lexical,lucide-react,@shadcn/react, and workspace links. - Package is
privateand not imported by the app; runtime behavior is unchanged. Other removals from #6435 remain removed.
Summary by CodeRabbit
- New Features
- Added a reusable chat composer with rich prompt editing, mentions, slash commands, attachments, drag-and-drop uploads, dictation, and submission controls.
- Added attachment previews, removal controls, command and mention menus, context panels, and selectable mention chips.
- Added a scroll-to-bottom control for chat transcripts.
- Documentation
- Added Storybook examples covering chat, recording, dictation errors, browsing, and attachment workflows.