multica/packages/ui
Naiyuan Qing 583242baba feat(store,ui): add tool execution lifecycle and ContentBlock rendering
- Message.content is now ContentBlock[] (was string), supporting
  text, thinking, toolCall, and image blocks
- Add toolResult role with toolCallId, toolName, toolStatus, isError
- Add startToolExecution/endToolExecution to MessagesStore
- MessageList renders toolResult messages via ToolCallItem
- Extract text from ContentBlock[] for markdown rendering

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 17:30:37 +08:00
..
src feat(store,ui): add tool execution lifecycle and ContentBlock rendering 2026-02-04 17:30:37 +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): add QR code scanner to ConnectPrompt 2026-02-04 15:41:12 +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>