apps/server/src/wsServer.ts | 27 +- apps/web/components.json | 27 ++ apps/web/package.json | 9 +- apps/web/src/App.tsx | 9 +- apps/web/src/components/BranchToolbar.tsx | 226 ++++----- apps/web/src/components/ChatView.tsx | 627 +++++++++++-------------- apps/web/src/components/DiffPanel.tsx | 11 +- apps/web/src/components/GitActionsControl.tsx | 806 ++++++-------------------------- apps/web/src/components/Icons.tsx | 6 + apps/web/src/components/ui/alert-dialog.tsx | 169 +++++++ apps/web/src/components/ui/alert.tsx | 80 ++++ apps/web/src/components/ui/autocomplete.tsx | 318 +++++++++++++ apps/web/src/components/ui/badge.tsx | 60 +++ apps/web/src/components/ui/button.tsx | 74 +++ apps/web/src/components/ui/card.tsx | 244 ++++++++++ apps/web/src/components/ui/checkbox.tsx | 60 +++ apps/web/src/components/ui/combobox.tsx | 372 +++++++++++++++ apps/web/src/components/ui/command.tsx | 264 +++++++++++ apps/web/src/components/ui/dialog.tsx | 196 ++++++++ apps/web/src/components/ui/empty.tsx | 127 +++++ apps/web/src/components/ui/field.tsx | 74 +++ apps/web/src/components/ui/fieldset.tsx | 29 ++ apps/web/src/components/ui/form.tsx | 17 + apps/web/src/components/ui/group.tsx | 93 ++++ apps/web/src/components/ui/input-group.tsx | 101 ++++ apps/web/src/components/ui/input.tsx | 66 +++ apps/web/src/components/ui/kbd.tsx | 28 ++ apps/web/src/components/ui/label.tsx | 28 ++ apps/web/src/components/ui/menu.tsx | 326 +++++++++++++ apps/web/src/components/ui/popover.tsx | 119 +++++ apps/web/src/components/ui/radio-group.tsx | 36 ++ apps/web/src/components/ui/scroll-area.tsx | 64 +++ apps/web/src/components/ui/select.tsx | 234 ++++++++++ apps/web/src/components/ui/separator.tsx | 23 + apps/web/src/components/ui/sheet.tsx | 203 ++++++++ apps/web/src/components/ui/skeleton.tsx | 16 + apps/web/src/components/ui/spinner.tsx | 18 + apps/web/src/components/ui/switch.tsx | 27 ++ apps/web/src/components/ui/textarea.tsx | 51 ++ apps/web/src/components/ui/toast.tsx | 269 +++++++++++ apps/web/src/index.css | 43 +- apps/web/src/lib/utils.ts | 6 + apps/web/src/model-logic.ts | 3 +- apps/web/tsconfig.json | 5 +- apps/web/vite.config.ts | 6 + bun.lock | 121 ++++- packages/contracts/src/model.test.ts | 2 +- packages/contracts/src/model.ts | 22 +- 48 files changed, 4540 insertions(+), 1202 deletions(-)