apps/desktop/scripts/smoke-test.mjs | 4 +- apps/renderer/components.json | 25 + apps/renderer/index.html | 2 +- apps/renderer/package.json | 5 + apps/renderer/src/App.tsx | 6 +- apps/renderer/src/components/ChatMarkdown.tsx | 2 +- apps/renderer/src/components/ChatView.tsx | 1009 ++++++++------------------------ apps/renderer/src/components/DiffPanel.tsx | 28 +- apps/renderer/src/components/Sidebar.tsx | 214 +++---- apps/renderer/src/components/ui/accordion.tsx | 67 +++ apps/renderer/src/components/ui/alert-dialog.tsx | 167 ++++++ apps/renderer/src/components/ui/alert.tsx | 80 +++ apps/renderer/src/components/ui/autocomplete.tsx | 308 ++++++++++ apps/renderer/src/components/ui/avatar.tsx | 44 ++ apps/renderer/src/components/ui/badge.tsx | 58 ++ apps/renderer/src/components/ui/button.tsx | 71 +++ apps/renderer/src/components/ui/card.tsx | 242 ++++++++ apps/renderer/src/components/ui/checkbox-group.tsx | 14 + apps/renderer/src/components/ui/checkbox.tsx | 58 ++ apps/renderer/src/components/ui/collapsible.tsx | 43 ++ apps/renderer/src/components/ui/combobox.tsx | 422 +++++++++++++ apps/renderer/src/components/ui/command.tsx | 262 +++++++++ apps/renderer/src/components/ui/dialog.tsx | 194 ++++++ apps/renderer/src/components/ui/empty.tsx | 127 ++++ apps/renderer/src/components/ui/field.tsx | 72 +++ apps/renderer/src/components/ui/fieldset.tsx | 27 + apps/renderer/src/components/ui/form.tsx | 15 + apps/renderer/src/components/ui/input-group.tsx | 99 ++++ apps/renderer/src/components/ui/input.tsx | 64 ++ apps/renderer/src/components/ui/kbd.tsx | 28 + apps/renderer/src/components/ui/label.tsx | 26 + apps/renderer/src/components/ui/menu.tsx | 308 ++++++++++ apps/renderer/src/components/ui/popover.tsx | 102 ++++ apps/renderer/src/components/ui/progress.tsx | 79 +++ apps/renderer/src/components/ui/radio-group.tsx | 34 ++ apps/renderer/src/components/ui/scroll-area.tsx | 62 ++ apps/renderer/src/components/ui/select.tsx | 187 ++++++ apps/renderer/src/components/ui/separator.tsx | 23 + apps/renderer/src/components/ui/sheet.tsx | 201 +++++++ apps/renderer/src/components/ui/skeleton.tsx | 16 + apps/renderer/src/components/ui/spinner.tsx | 18 + apps/renderer/src/components/ui/switch.tsx | 25 + apps/renderer/src/components/ui/table.tsx | 126 ++++ apps/renderer/src/components/ui/tabs.tsx | 85 +++ apps/renderer/src/components/ui/textarea.tsx | 49 ++ apps/renderer/src/components/ui/toast.tsx | 267 +++++++++ apps/renderer/src/hooks/useTheme.ts | 90 +++ apps/renderer/src/index.css | 220 ++++++- apps/renderer/src/lib/utils.ts | 6 + apps/renderer/tsconfig.json | 6 +- apps/renderer/vite.config.ts | 6 + bun.lock | 97 ++- 52 files changed, 4872 insertions(+), 918 deletions(-)