multica/packages/ui
Jiang Bohan 0e383f51ab feat(desktop): display agent errors in Chat UI instead of hanging
When the agent encounters an error (e.g. no API key configured),
the Chat UI now shows an error banner instead of silently hanging.
The user can still type and retry after fixing their configuration.

- Add AgentErrorEvent to SDK stream types
- Forward agent_error events through IPC to renderer
- Handle error events in useLocalChat hook
- Keep chat input enabled for AGENT_ERROR (retriable)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 22:23:53 +08:00
..
src feat(desktop): display agent errors in Chat UI instead of hanging 2026-02-06 22:23:53 +08:00
components.json refactor(ui): reorganize components into ui/ subdirectory and share layout 2026-01-30 11:34:09 +08:00
package.json feat(ui): replace ChatInput textarea with Tiptap editor 2026-02-05 07:56:11 +08:00
postcss.config.mjs feat(ui): create @multica/ui package skeleton 2026-01-30 11:34:05 +08:00
README.md feat(desktop): initialize electron app with routing and cleanup 2026-02-03 14:17:31 +08:00
tsconfig.json feat(ui): create @multica/ui package skeleton 2026-01-30 11:34:05 +08:00

@multica/ui

Shared UI component library. Shadcn + Tailwind CSS v4.

Usage

// UI components — subpath imports, no barrel
import { Button } from '@multica/ui/components/ui/button'
import { Card, CardContent } from '@multica/ui/components/ui/card'

// Feature components
import { ThemeProvider } from '@multica/ui/components/theme-provider'
import { Chat } from '@multica/ui/components/chat'
import { Markdown } from '@multica/ui/components/markdown'

// Hooks
import { useIsMobile } from '@multica/ui/hooks/use-mobile'
import { useAutoScroll } from '@multica/ui/hooks/use-auto-scroll'

// Utilities
import { cn } from '@multica/ui/lib/utils'

// Styles (app entry point)
import '@multica/ui/globals.css'

Adding Components

pnpm --filter @multica/ui dlx shadcn@latest add <component>