From a9275c2d4aa27472bb14cc6b2807368dbe2243bb Mon Sep 17 00:00:00 2001 From: mlogclub Date: Fri, 24 Apr 2026 12:01:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- {dashboard => web}/.env.example | 0 {dashboard => web}/.gitignore | 0 {dashboard => web}/README.md | 0 .../app/dashboard/_components/alert-list.tsx | 0 .../app/dashboard/_components/dashboard-home.tsx | 0 .../app/dashboard/_components/summary-cards.tsx | 0 .../app/dashboard/_components/team-load-panel.tsx | 0 .../app/dashboard/_components/trend-panel.tsx | 0 .../dashboard/agent-run-logs/_components/detail.tsx | 0 .../app/dashboard/agent-run-logs/page.tsx | 0 .../agent-team-schedules/_components/edit.tsx | 0 .../app/dashboard/agent-team-schedules/page.tsx | 0 .../app/dashboard/agents/_components/edit.tsx | 0 .../app/dashboard/agents/_components/team-edit.tsx | 0 .../dashboard/agents/_components/team-sidebar.tsx | 0 {dashboard => web}/app/dashboard/agents/page.tsx | 0 .../app/dashboard/ai-agents/_components/edit.tsx | 0 {dashboard => web}/app/dashboard/ai-agents/page.tsx | 0 .../app/dashboard/ai-configs/_components/edit.tsx | 0 .../ai-configs/_components/option-combobox.tsx | 0 .../app/dashboard/ai-configs/page.tsx | 0 .../app/dashboard/channels/_components/edit.tsx | 0 {dashboard => web}/app/dashboard/channels/page.tsx | 0 .../app/dashboard/companies/_components/edit.tsx | 0 {dashboard => web}/app/dashboard/companies/page.tsx | 0 .../conversation-monitor/_components/detail.tsx | 0 .../app/dashboard/conversation-monitor/page.tsx | 0 .../conversations/_components/chat-panel.tsx | 0 .../_components/conversation-info-panel.tsx | 0 .../conversations/_components/conversation-list.tsx | 0 .../_components/conversation-tag-picker.tsx | 0 .../app/dashboard/conversations/page.tsx | 0 .../app/dashboard/customers/_components/edit.tsx | 0 {dashboard => web}/app/dashboard/customers/page.tsx | 0 {dashboard => web}/app/dashboard/help/page.tsx | 0 .../dashboard/knowledge/_components/debug-panel.tsx | 0 .../knowledge/_components/document-edit.tsx | 0 .../knowledge/_components/document-list.tsx | 0 .../dashboard/knowledge/_components/faq-edit.tsx | 0 .../knowledge/_components/faq-import-dialog.tsx | 0 .../dashboard/knowledge/_components/faq-list.tsx | 0 .../knowledge/_components/knowledge-base-edit.tsx | 0 .../knowledge/_components/knowledge-base-list.tsx | 0 .../knowledge/_components/retrieve-log-detail.tsx | 0 .../knowledge/_components/retrieve-log-list.tsx | 0 {dashboard => web}/app/dashboard/knowledge/page.tsx | 0 {dashboard => web}/app/dashboard/layout.tsx | 0 {dashboard => web}/app/dashboard/login/page.tsx | 0 .../app/dashboard/login/wxwork/callback/page.tsx | 0 {dashboard => web}/app/dashboard/mcp/page.tsx | 0 {dashboard => web}/app/dashboard/page.tsx | 0 .../app/dashboard/permissions/page.tsx | 0 .../dashboard/quick-replies/_components/edit.tsx | 0 .../app/dashboard/quick-replies/page.tsx | 0 .../roles/_components/assign-permissions.tsx | 0 .../app/dashboard/roles/_components/create.tsx | 0 {dashboard => web}/app/dashboard/roles/page.tsx | 0 {dashboard => web}/app/dashboard/settings/page.tsx | 0 .../skill-definition/_components/debug-dialog.tsx | 0 .../dashboard/skill-definition/_components/edit.tsx | 0 .../app/dashboard/skill-definition/page.tsx | 0 .../app/dashboard/tags/_components/edit.tsx | 0 {dashboard => web}/app/dashboard/tags/page.tsx | 0 .../app/dashboard/ticket-priorities/page.tsx | 0 .../app/dashboard/ticket-resolution-codes/page.tsx | 0 .../app/dashboard/ticket-risk/page.tsx | 0 .../create-ticket-from-conversation-dialog.tsx | 0 .../app/dashboard/tickets/_components/edit.tsx | 0 .../tickets/_components/ticket-assign-dialog.tsx | 0 .../_components/ticket-collaborator-dialog.tsx | 0 .../tickets/_components/ticket-customer-panel.tsx | 0 .../tickets/_components/ticket-priority-badge.tsx | 0 .../tickets/_components/ticket-reason-dialog.tsx | 0 .../tickets/_components/ticket-relation-dialog.tsx | 0 .../tickets/_components/ticket-reply-dialog.tsx | 0 .../tickets/_components/ticket-sla-badge.tsx | 0 .../tickets/_components/ticket-status-badge.tsx | 0 .../tickets/_components/ticket-status-dialog.tsx | 0 .../app/dashboard/tickets/detail/page.tsx | 0 {dashboard => web}/app/dashboard/tickets/page.tsx | 0 .../dashboard/users/_components/assign-roles.tsx | 0 .../app/dashboard/users/_components/create.tsx | 0 .../app/dashboard/users/_components/edit.tsx | 0 .../users/_components/initial-password-dialog.tsx | 0 .../dashboard/users/_components/reset-password.tsx | 0 {dashboard => web}/app/dashboard/users/page.tsx | 0 {dashboard => web}/app/favicon.ico | Bin {dashboard => web}/app/globals.css | 0 {dashboard => web}/app/layout.tsx | 0 {dashboard => web}/app/page.tsx | 0 {dashboard => web}/components.json | 0 {dashboard => web}/components/app-sidebar.tsx | 0 {dashboard => web}/components/auth-provider.tsx | 0 .../components/change-password-dialog.tsx | 0 .../components/chart-area-interactive.tsx | 0 {dashboard => web}/components/company-picker.tsx | 0 {dashboard => web}/components/confirm-provider.tsx | 0 .../components/content-editor/convert.ts | 0 .../content-editor/editor-mode-switch.tsx | 0 .../components/content-editor/html-editor.tsx | 0 .../components/content-editor/index.tsx | 0 .../components/content-editor/markdown-editor.css | 0 .../components/content-editor/markdown-editor.tsx | 0 .../components/content-editor/toolbar.css | 0 .../components/content-editor/toolbar.tsx | 0 .../components/content-editor/types.ts | 0 .../conversation-actions/close-dialog.tsx | 0 .../conversation-actions/transfer-dialog.tsx | 0 .../components/customer-form-dialog.tsx | 0 {dashboard => web}/components/customer-form.tsx | 0 .../components/customer-link-or-create-dialog.tsx | 0 .../components/dashboard-placeholder.tsx | 0 {dashboard => web}/components/data-table.tsx | 0 {dashboard => web}/components/editor/DESIGN.md | 0 {dashboard => web}/components/editor/html.tsx | 0 {dashboard => web}/components/editor/index.tsx | 0 {dashboard => web}/components/editor/markdown.tsx | 0 {dashboard => web}/components/editor/toolbar.tsx | 0 {dashboard => web}/components/editor/types.ts | 0 {dashboard => web}/components/im-message-editor.tsx | 0 {dashboard => web}/components/im-message-html.tsx | 0 {dashboard => web}/components/image-input.tsx | 0 {dashboard => web}/components/image-lightbox.tsx | 0 {dashboard => web}/components/json-code-editor.tsx | 0 {dashboard => web}/components/json-tree-viewer.tsx | 0 {dashboard => web}/components/json-viewer.tsx | 0 {dashboard => web}/components/list-pagination.tsx | 0 {dashboard => web}/components/login-form.tsx | 0 {dashboard => web}/components/nav-documents.tsx | 0 {dashboard => web}/components/nav-main.tsx | 0 {dashboard => web}/components/nav-secondary.tsx | 0 {dashboard => web}/components/nav-user.tsx | 0 {dashboard => web}/components/option-combobox.tsx | 0 {dashboard => web}/components/project-dialog.tsx | 0 .../components/realtime-connection-status.tsx | 0 {dashboard => web}/components/rich-text-editor.tsx | 0 {dashboard => web}/components/section-cards.tsx | 0 {dashboard => web}/components/site-header.tsx | 0 {dashboard => web}/components/theme-provider.tsx | 0 {dashboard => web}/components/theme-toggle.tsx | 0 {dashboard => web}/components/ui/avatar.tsx | 0 {dashboard => web}/components/ui/badge.tsx | 0 {dashboard => web}/components/ui/breadcrumb.tsx | 0 {dashboard => web}/components/ui/button-group.tsx | 0 {dashboard => web}/components/ui/button.tsx | 0 {dashboard => web}/components/ui/calendar.tsx | 0 {dashboard => web}/components/ui/card.tsx | 0 {dashboard => web}/components/ui/chart.tsx | 0 {dashboard => web}/components/ui/checkbox.tsx | 0 {dashboard => web}/components/ui/combobox.tsx | 0 {dashboard => web}/components/ui/command.tsx | 0 {dashboard => web}/components/ui/context-menu.tsx | 0 {dashboard => web}/components/ui/dialog.tsx | 0 {dashboard => web}/components/ui/drawer.tsx | 0 {dashboard => web}/components/ui/dropdown-menu.tsx | 0 {dashboard => web}/components/ui/field.tsx | 0 {dashboard => web}/components/ui/input-group.tsx | 0 {dashboard => web}/components/ui/input.tsx | 0 {dashboard => web}/components/ui/label.tsx | 0 {dashboard => web}/components/ui/menubar.tsx | 0 {dashboard => web}/components/ui/popover.tsx | 0 {dashboard => web}/components/ui/resizable.tsx | 0 {dashboard => web}/components/ui/scroll-area.tsx | 0 {dashboard => web}/components/ui/select.tsx | 0 {dashboard => web}/components/ui/separator.tsx | 0 {dashboard => web}/components/ui/sheet.tsx | 0 {dashboard => web}/components/ui/sidebar.tsx | 0 {dashboard => web}/components/ui/skeleton.tsx | 0 {dashboard => web}/components/ui/sonner.tsx | 0 {dashboard => web}/components/ui/switch.tsx | 0 {dashboard => web}/components/ui/table.tsx | 0 {dashboard => web}/components/ui/tabs.tsx | 0 {dashboard => web}/components/ui/textarea.tsx | 0 {dashboard => web}/components/ui/toggle-group.tsx | 0 {dashboard => web}/components/ui/toggle.tsx | 0 {dashboard => web}/components/ui/tooltip.tsx | 0 {dashboard => web}/eslint.config.mjs | 0 .../hooks/use-agent-conversation-realtime.ts | 0 {dashboard => web}/hooks/use-lg-media.ts | 0 {dashboard => web}/hooks/use-mobile.ts | 0 {dashboard => web}/lib/api/admin.ts | 0 {dashboard => web}/lib/api/agent.ts | 0 {dashboard => web}/lib/api/auth.ts | 0 {dashboard => web}/lib/api/client.ts | 0 {dashboard => web}/lib/api/company.ts | 0 {dashboard => web}/lib/api/customer-contact.ts | 0 {dashboard => web}/lib/api/customer.ts | 0 {dashboard => web}/lib/api/dashboard.ts | 0 {dashboard => web}/lib/api/im.ts | 0 {dashboard => web}/lib/api/ticket-config.ts | 0 {dashboard => web}/lib/api/ticket.ts | 0 {dashboard => web}/lib/api/websocket.ts | 0 {dashboard => web}/lib/auth.ts | 0 {dashboard => web}/lib/enums.ts | 0 {dashboard => web}/lib/generated/enums.ts | 0 {dashboard => web}/lib/im-message.ts | 0 {dashboard => web}/lib/navigation.tsx | 0 {dashboard => web}/lib/services/notification.ts | 0 .../lib/stores/agent-conversations.ts | 0 {dashboard => web}/lib/ticket-priority.ts | 0 {dashboard => web}/lib/utils.ts | 0 {dashboard => web}/next.config.ts | 0 {dashboard => web}/package.json | 0 {dashboard => web}/pnpm-lock.yaml | 0 {dashboard => web}/pnpm-workspace.yaml | 0 {dashboard => web}/postcss.config.mjs | 0 {dashboard => web}/public/wxwork.svg | 0 {dashboard => web}/styles/main.scss | 0 {dashboard => web}/tsconfig.json | 0 209 files changed, 0 insertions(+), 0 deletions(-) rename {dashboard => web}/.env.example (100%) rename {dashboard => web}/.gitignore (100%) rename {dashboard => web}/README.md (100%) rename {dashboard => web}/app/dashboard/_components/alert-list.tsx (100%) rename {dashboard => web}/app/dashboard/_components/dashboard-home.tsx (100%) rename {dashboard => web}/app/dashboard/_components/summary-cards.tsx (100%) rename {dashboard => web}/app/dashboard/_components/team-load-panel.tsx (100%) rename {dashboard => web}/app/dashboard/_components/trend-panel.tsx (100%) rename {dashboard => web}/app/dashboard/agent-run-logs/_components/detail.tsx (100%) rename {dashboard => web}/app/dashboard/agent-run-logs/page.tsx (100%) rename {dashboard => web}/app/dashboard/agent-team-schedules/_components/edit.tsx (100%) rename {dashboard => web}/app/dashboard/agent-team-schedules/page.tsx (100%) rename {dashboard => web}/app/dashboard/agents/_components/edit.tsx (100%) rename {dashboard => web}/app/dashboard/agents/_components/team-edit.tsx (100%) rename {dashboard => web}/app/dashboard/agents/_components/team-sidebar.tsx (100%) rename {dashboard => web}/app/dashboard/agents/page.tsx (100%) rename {dashboard => web}/app/dashboard/ai-agents/_components/edit.tsx (100%) rename {dashboard => web}/app/dashboard/ai-agents/page.tsx (100%) rename {dashboard => web}/app/dashboard/ai-configs/_components/edit.tsx (100%) rename {dashboard => web}/app/dashboard/ai-configs/_components/option-combobox.tsx (100%) rename {dashboard => web}/app/dashboard/ai-configs/page.tsx (100%) rename {dashboard => web}/app/dashboard/channels/_components/edit.tsx (100%) rename {dashboard => web}/app/dashboard/channels/page.tsx (100%) rename {dashboard => web}/app/dashboard/companies/_components/edit.tsx (100%) rename {dashboard => web}/app/dashboard/companies/page.tsx (100%) rename {dashboard => web}/app/dashboard/conversation-monitor/_components/detail.tsx (100%) rename {dashboard => web}/app/dashboard/conversation-monitor/page.tsx (100%) rename {dashboard => web}/app/dashboard/conversations/_components/chat-panel.tsx (100%) rename {dashboard => web}/app/dashboard/conversations/_components/conversation-info-panel.tsx (100%) rename {dashboard => web}/app/dashboard/conversations/_components/conversation-list.tsx (100%) rename {dashboard => web}/app/dashboard/conversations/_components/conversation-tag-picker.tsx (100%) rename {dashboard => web}/app/dashboard/conversations/page.tsx (100%) rename {dashboard => web}/app/dashboard/customers/_components/edit.tsx (100%) rename {dashboard => web}/app/dashboard/customers/page.tsx (100%) rename {dashboard => web}/app/dashboard/help/page.tsx (100%) rename {dashboard => web}/app/dashboard/knowledge/_components/debug-panel.tsx (100%) rename {dashboard => web}/app/dashboard/knowledge/_components/document-edit.tsx (100%) rename {dashboard => web}/app/dashboard/knowledge/_components/document-list.tsx (100%) rename {dashboard => web}/app/dashboard/knowledge/_components/faq-edit.tsx (100%) rename {dashboard => web}/app/dashboard/knowledge/_components/faq-import-dialog.tsx (100%) rename {dashboard => web}/app/dashboard/knowledge/_components/faq-list.tsx (100%) rename {dashboard => web}/app/dashboard/knowledge/_components/knowledge-base-edit.tsx (100%) rename {dashboard => web}/app/dashboard/knowledge/_components/knowledge-base-list.tsx (100%) rename {dashboard => web}/app/dashboard/knowledge/_components/retrieve-log-detail.tsx (100%) rename {dashboard => web}/app/dashboard/knowledge/_components/retrieve-log-list.tsx (100%) rename {dashboard => web}/app/dashboard/knowledge/page.tsx (100%) rename {dashboard => web}/app/dashboard/layout.tsx (100%) rename {dashboard => web}/app/dashboard/login/page.tsx (100%) rename {dashboard => web}/app/dashboard/login/wxwork/callback/page.tsx (100%) rename {dashboard => web}/app/dashboard/mcp/page.tsx (100%) rename {dashboard => web}/app/dashboard/page.tsx (100%) rename {dashboard => web}/app/dashboard/permissions/page.tsx (100%) rename {dashboard => web}/app/dashboard/quick-replies/_components/edit.tsx (100%) rename {dashboard => web}/app/dashboard/quick-replies/page.tsx (100%) rename {dashboard => web}/app/dashboard/roles/_components/assign-permissions.tsx (100%) rename {dashboard => web}/app/dashboard/roles/_components/create.tsx (100%) rename {dashboard => web}/app/dashboard/roles/page.tsx (100%) rename {dashboard => web}/app/dashboard/settings/page.tsx (100%) rename {dashboard => web}/app/dashboard/skill-definition/_components/debug-dialog.tsx (100%) rename {dashboard => web}/app/dashboard/skill-definition/_components/edit.tsx (100%) rename {dashboard => web}/app/dashboard/skill-definition/page.tsx (100%) rename {dashboard => web}/app/dashboard/tags/_components/edit.tsx (100%) rename {dashboard => web}/app/dashboard/tags/page.tsx (100%) rename {dashboard => web}/app/dashboard/ticket-priorities/page.tsx (100%) rename {dashboard => web}/app/dashboard/ticket-resolution-codes/page.tsx (100%) rename {dashboard => web}/app/dashboard/ticket-risk/page.tsx (100%) rename {dashboard => web}/app/dashboard/tickets/_components/create-ticket-from-conversation-dialog.tsx (100%) rename {dashboard => web}/app/dashboard/tickets/_components/edit.tsx (100%) rename {dashboard => web}/app/dashboard/tickets/_components/ticket-assign-dialog.tsx (100%) rename {dashboard => web}/app/dashboard/tickets/_components/ticket-collaborator-dialog.tsx (100%) rename {dashboard => web}/app/dashboard/tickets/_components/ticket-customer-panel.tsx (100%) rename {dashboard => web}/app/dashboard/tickets/_components/ticket-priority-badge.tsx (100%) rename {dashboard => web}/app/dashboard/tickets/_components/ticket-reason-dialog.tsx (100%) rename {dashboard => web}/app/dashboard/tickets/_components/ticket-relation-dialog.tsx (100%) rename {dashboard => web}/app/dashboard/tickets/_components/ticket-reply-dialog.tsx (100%) rename {dashboard => web}/app/dashboard/tickets/_components/ticket-sla-badge.tsx (100%) rename {dashboard => web}/app/dashboard/tickets/_components/ticket-status-badge.tsx (100%) rename {dashboard => web}/app/dashboard/tickets/_components/ticket-status-dialog.tsx (100%) rename {dashboard => web}/app/dashboard/tickets/detail/page.tsx (100%) rename {dashboard => web}/app/dashboard/tickets/page.tsx (100%) rename {dashboard => web}/app/dashboard/users/_components/assign-roles.tsx (100%) rename {dashboard => web}/app/dashboard/users/_components/create.tsx (100%) rename {dashboard => web}/app/dashboard/users/_components/edit.tsx (100%) rename {dashboard => web}/app/dashboard/users/_components/initial-password-dialog.tsx (100%) rename {dashboard => web}/app/dashboard/users/_components/reset-password.tsx (100%) rename {dashboard => web}/app/dashboard/users/page.tsx (100%) rename {dashboard => web}/app/favicon.ico (100%) rename {dashboard => web}/app/globals.css (100%) rename {dashboard => web}/app/layout.tsx (100%) rename {dashboard => web}/app/page.tsx (100%) rename {dashboard => web}/components.json (100%) rename {dashboard => web}/components/app-sidebar.tsx (100%) rename {dashboard => web}/components/auth-provider.tsx (100%) rename {dashboard => web}/components/change-password-dialog.tsx (100%) rename {dashboard => web}/components/chart-area-interactive.tsx (100%) rename {dashboard => web}/components/company-picker.tsx (100%) rename {dashboard => web}/components/confirm-provider.tsx (100%) rename {dashboard => web}/components/content-editor/convert.ts (100%) rename {dashboard => web}/components/content-editor/editor-mode-switch.tsx (100%) rename {dashboard => web}/components/content-editor/html-editor.tsx (100%) rename {dashboard => web}/components/content-editor/index.tsx (100%) rename {dashboard => web}/components/content-editor/markdown-editor.css (100%) rename {dashboard => web}/components/content-editor/markdown-editor.tsx (100%) rename {dashboard => web}/components/content-editor/toolbar.css (100%) rename {dashboard => web}/components/content-editor/toolbar.tsx (100%) rename {dashboard => web}/components/content-editor/types.ts (100%) rename {dashboard => web}/components/conversation-actions/close-dialog.tsx (100%) rename {dashboard => web}/components/conversation-actions/transfer-dialog.tsx (100%) rename {dashboard => web}/components/customer-form-dialog.tsx (100%) rename {dashboard => web}/components/customer-form.tsx (100%) rename {dashboard => web}/components/customer-link-or-create-dialog.tsx (100%) rename {dashboard => web}/components/dashboard-placeholder.tsx (100%) rename {dashboard => web}/components/data-table.tsx (100%) rename {dashboard => web}/components/editor/DESIGN.md (100%) rename {dashboard => web}/components/editor/html.tsx (100%) rename {dashboard => web}/components/editor/index.tsx (100%) rename {dashboard => web}/components/editor/markdown.tsx (100%) rename {dashboard => web}/components/editor/toolbar.tsx (100%) rename {dashboard => web}/components/editor/types.ts (100%) rename {dashboard => web}/components/im-message-editor.tsx (100%) rename {dashboard => web}/components/im-message-html.tsx (100%) rename {dashboard => web}/components/image-input.tsx (100%) rename {dashboard => web}/components/image-lightbox.tsx (100%) rename {dashboard => web}/components/json-code-editor.tsx (100%) rename {dashboard => web}/components/json-tree-viewer.tsx (100%) rename {dashboard => web}/components/json-viewer.tsx (100%) rename {dashboard => web}/components/list-pagination.tsx (100%) rename {dashboard => web}/components/login-form.tsx (100%) rename {dashboard => web}/components/nav-documents.tsx (100%) rename {dashboard => web}/components/nav-main.tsx (100%) rename {dashboard => web}/components/nav-secondary.tsx (100%) rename {dashboard => web}/components/nav-user.tsx (100%) rename {dashboard => web}/components/option-combobox.tsx (100%) rename {dashboard => web}/components/project-dialog.tsx (100%) rename {dashboard => web}/components/realtime-connection-status.tsx (100%) rename {dashboard => web}/components/rich-text-editor.tsx (100%) rename {dashboard => web}/components/section-cards.tsx (100%) rename {dashboard => web}/components/site-header.tsx (100%) rename {dashboard => web}/components/theme-provider.tsx (100%) rename {dashboard => web}/components/theme-toggle.tsx (100%) rename {dashboard => web}/components/ui/avatar.tsx (100%) rename {dashboard => web}/components/ui/badge.tsx (100%) rename {dashboard => web}/components/ui/breadcrumb.tsx (100%) rename {dashboard => web}/components/ui/button-group.tsx (100%) rename {dashboard => web}/components/ui/button.tsx (100%) rename {dashboard => web}/components/ui/calendar.tsx (100%) rename {dashboard => web}/components/ui/card.tsx (100%) rename {dashboard => web}/components/ui/chart.tsx (100%) rename {dashboard => web}/components/ui/checkbox.tsx (100%) rename {dashboard => web}/components/ui/combobox.tsx (100%) rename {dashboard => web}/components/ui/command.tsx (100%) rename {dashboard => web}/components/ui/context-menu.tsx (100%) rename {dashboard => web}/components/ui/dialog.tsx (100%) rename {dashboard => web}/components/ui/drawer.tsx (100%) rename {dashboard => web}/components/ui/dropdown-menu.tsx (100%) rename {dashboard => web}/components/ui/field.tsx (100%) rename {dashboard => web}/components/ui/input-group.tsx (100%) rename {dashboard => web}/components/ui/input.tsx (100%) rename {dashboard => web}/components/ui/label.tsx (100%) rename {dashboard => web}/components/ui/menubar.tsx (100%) rename {dashboard => web}/components/ui/popover.tsx (100%) rename {dashboard => web}/components/ui/resizable.tsx (100%) rename {dashboard => web}/components/ui/scroll-area.tsx (100%) rename {dashboard => web}/components/ui/select.tsx (100%) rename {dashboard => web}/components/ui/separator.tsx (100%) rename {dashboard => web}/components/ui/sheet.tsx (100%) rename {dashboard => web}/components/ui/sidebar.tsx (100%) rename {dashboard => web}/components/ui/skeleton.tsx (100%) rename {dashboard => web}/components/ui/sonner.tsx (100%) rename {dashboard => web}/components/ui/switch.tsx (100%) rename {dashboard => web}/components/ui/table.tsx (100%) rename {dashboard => web}/components/ui/tabs.tsx (100%) rename {dashboard => web}/components/ui/textarea.tsx (100%) rename {dashboard => web}/components/ui/toggle-group.tsx (100%) rename {dashboard => web}/components/ui/toggle.tsx (100%) rename {dashboard => web}/components/ui/tooltip.tsx (100%) rename {dashboard => web}/eslint.config.mjs (100%) rename {dashboard => web}/hooks/use-agent-conversation-realtime.ts (100%) rename {dashboard => web}/hooks/use-lg-media.ts (100%) rename {dashboard => web}/hooks/use-mobile.ts (100%) rename {dashboard => web}/lib/api/admin.ts (100%) rename {dashboard => web}/lib/api/agent.ts (100%) rename {dashboard => web}/lib/api/auth.ts (100%) rename {dashboard => web}/lib/api/client.ts (100%) rename {dashboard => web}/lib/api/company.ts (100%) rename {dashboard => web}/lib/api/customer-contact.ts (100%) rename {dashboard => web}/lib/api/customer.ts (100%) rename {dashboard => web}/lib/api/dashboard.ts (100%) rename {dashboard => web}/lib/api/im.ts (100%) rename {dashboard => web}/lib/api/ticket-config.ts (100%) rename {dashboard => web}/lib/api/ticket.ts (100%) rename {dashboard => web}/lib/api/websocket.ts (100%) rename {dashboard => web}/lib/auth.ts (100%) rename {dashboard => web}/lib/enums.ts (100%) rename {dashboard => web}/lib/generated/enums.ts (100%) rename {dashboard => web}/lib/im-message.ts (100%) rename {dashboard => web}/lib/navigation.tsx (100%) rename {dashboard => web}/lib/services/notification.ts (100%) rename {dashboard => web}/lib/stores/agent-conversations.ts (100%) rename {dashboard => web}/lib/ticket-priority.ts (100%) rename {dashboard => web}/lib/utils.ts (100%) rename {dashboard => web}/next.config.ts (100%) rename {dashboard => web}/package.json (100%) rename {dashboard => web}/pnpm-lock.yaml (100%) rename {dashboard => web}/pnpm-workspace.yaml (100%) rename {dashboard => web}/postcss.config.mjs (100%) rename {dashboard => web}/public/wxwork.svg (100%) rename {dashboard => web}/styles/main.scss (100%) rename {dashboard => web}/tsconfig.json (100%) diff --git a/dashboard/.env.example b/web/.env.example similarity index 100% rename from dashboard/.env.example rename to web/.env.example diff --git a/dashboard/.gitignore b/web/.gitignore similarity index 100% rename from dashboard/.gitignore rename to web/.gitignore diff --git a/dashboard/README.md b/web/README.md similarity index 100% rename from dashboard/README.md rename to web/README.md diff --git a/dashboard/app/dashboard/_components/alert-list.tsx b/web/app/dashboard/_components/alert-list.tsx similarity index 100% rename from dashboard/app/dashboard/_components/alert-list.tsx rename to web/app/dashboard/_components/alert-list.tsx diff --git a/dashboard/app/dashboard/_components/dashboard-home.tsx b/web/app/dashboard/_components/dashboard-home.tsx similarity index 100% rename from dashboard/app/dashboard/_components/dashboard-home.tsx rename to web/app/dashboard/_components/dashboard-home.tsx diff --git a/dashboard/app/dashboard/_components/summary-cards.tsx b/web/app/dashboard/_components/summary-cards.tsx similarity index 100% rename from dashboard/app/dashboard/_components/summary-cards.tsx rename to web/app/dashboard/_components/summary-cards.tsx diff --git a/dashboard/app/dashboard/_components/team-load-panel.tsx b/web/app/dashboard/_components/team-load-panel.tsx similarity index 100% rename from dashboard/app/dashboard/_components/team-load-panel.tsx rename to web/app/dashboard/_components/team-load-panel.tsx diff --git a/dashboard/app/dashboard/_components/trend-panel.tsx b/web/app/dashboard/_components/trend-panel.tsx similarity index 100% rename from dashboard/app/dashboard/_components/trend-panel.tsx rename to web/app/dashboard/_components/trend-panel.tsx diff --git a/dashboard/app/dashboard/agent-run-logs/_components/detail.tsx b/web/app/dashboard/agent-run-logs/_components/detail.tsx similarity index 100% rename from dashboard/app/dashboard/agent-run-logs/_components/detail.tsx rename to web/app/dashboard/agent-run-logs/_components/detail.tsx diff --git a/dashboard/app/dashboard/agent-run-logs/page.tsx b/web/app/dashboard/agent-run-logs/page.tsx similarity index 100% rename from dashboard/app/dashboard/agent-run-logs/page.tsx rename to web/app/dashboard/agent-run-logs/page.tsx diff --git a/dashboard/app/dashboard/agent-team-schedules/_components/edit.tsx b/web/app/dashboard/agent-team-schedules/_components/edit.tsx similarity index 100% rename from dashboard/app/dashboard/agent-team-schedules/_components/edit.tsx rename to web/app/dashboard/agent-team-schedules/_components/edit.tsx diff --git a/dashboard/app/dashboard/agent-team-schedules/page.tsx b/web/app/dashboard/agent-team-schedules/page.tsx similarity index 100% rename from dashboard/app/dashboard/agent-team-schedules/page.tsx rename to web/app/dashboard/agent-team-schedules/page.tsx diff --git a/dashboard/app/dashboard/agents/_components/edit.tsx b/web/app/dashboard/agents/_components/edit.tsx similarity index 100% rename from dashboard/app/dashboard/agents/_components/edit.tsx rename to web/app/dashboard/agents/_components/edit.tsx diff --git a/dashboard/app/dashboard/agents/_components/team-edit.tsx b/web/app/dashboard/agents/_components/team-edit.tsx similarity index 100% rename from dashboard/app/dashboard/agents/_components/team-edit.tsx rename to web/app/dashboard/agents/_components/team-edit.tsx diff --git a/dashboard/app/dashboard/agents/_components/team-sidebar.tsx b/web/app/dashboard/agents/_components/team-sidebar.tsx similarity index 100% rename from dashboard/app/dashboard/agents/_components/team-sidebar.tsx rename to web/app/dashboard/agents/_components/team-sidebar.tsx diff --git a/dashboard/app/dashboard/agents/page.tsx b/web/app/dashboard/agents/page.tsx similarity index 100% rename from dashboard/app/dashboard/agents/page.tsx rename to web/app/dashboard/agents/page.tsx diff --git a/dashboard/app/dashboard/ai-agents/_components/edit.tsx b/web/app/dashboard/ai-agents/_components/edit.tsx similarity index 100% rename from dashboard/app/dashboard/ai-agents/_components/edit.tsx rename to web/app/dashboard/ai-agents/_components/edit.tsx diff --git a/dashboard/app/dashboard/ai-agents/page.tsx b/web/app/dashboard/ai-agents/page.tsx similarity index 100% rename from dashboard/app/dashboard/ai-agents/page.tsx rename to web/app/dashboard/ai-agents/page.tsx diff --git a/dashboard/app/dashboard/ai-configs/_components/edit.tsx b/web/app/dashboard/ai-configs/_components/edit.tsx similarity index 100% rename from dashboard/app/dashboard/ai-configs/_components/edit.tsx rename to web/app/dashboard/ai-configs/_components/edit.tsx diff --git a/dashboard/app/dashboard/ai-configs/_components/option-combobox.tsx b/web/app/dashboard/ai-configs/_components/option-combobox.tsx similarity index 100% rename from dashboard/app/dashboard/ai-configs/_components/option-combobox.tsx rename to web/app/dashboard/ai-configs/_components/option-combobox.tsx diff --git a/dashboard/app/dashboard/ai-configs/page.tsx b/web/app/dashboard/ai-configs/page.tsx similarity index 100% rename from dashboard/app/dashboard/ai-configs/page.tsx rename to web/app/dashboard/ai-configs/page.tsx diff --git a/dashboard/app/dashboard/channels/_components/edit.tsx b/web/app/dashboard/channels/_components/edit.tsx similarity index 100% rename from dashboard/app/dashboard/channels/_components/edit.tsx rename to web/app/dashboard/channels/_components/edit.tsx diff --git a/dashboard/app/dashboard/channels/page.tsx b/web/app/dashboard/channels/page.tsx similarity index 100% rename from dashboard/app/dashboard/channels/page.tsx rename to web/app/dashboard/channels/page.tsx diff --git a/dashboard/app/dashboard/companies/_components/edit.tsx b/web/app/dashboard/companies/_components/edit.tsx similarity index 100% rename from dashboard/app/dashboard/companies/_components/edit.tsx rename to web/app/dashboard/companies/_components/edit.tsx diff --git a/dashboard/app/dashboard/companies/page.tsx b/web/app/dashboard/companies/page.tsx similarity index 100% rename from dashboard/app/dashboard/companies/page.tsx rename to web/app/dashboard/companies/page.tsx diff --git a/dashboard/app/dashboard/conversation-monitor/_components/detail.tsx b/web/app/dashboard/conversation-monitor/_components/detail.tsx similarity index 100% rename from dashboard/app/dashboard/conversation-monitor/_components/detail.tsx rename to web/app/dashboard/conversation-monitor/_components/detail.tsx diff --git a/dashboard/app/dashboard/conversation-monitor/page.tsx b/web/app/dashboard/conversation-monitor/page.tsx similarity index 100% rename from dashboard/app/dashboard/conversation-monitor/page.tsx rename to web/app/dashboard/conversation-monitor/page.tsx diff --git a/dashboard/app/dashboard/conversations/_components/chat-panel.tsx b/web/app/dashboard/conversations/_components/chat-panel.tsx similarity index 100% rename from dashboard/app/dashboard/conversations/_components/chat-panel.tsx rename to web/app/dashboard/conversations/_components/chat-panel.tsx diff --git a/dashboard/app/dashboard/conversations/_components/conversation-info-panel.tsx b/web/app/dashboard/conversations/_components/conversation-info-panel.tsx similarity index 100% rename from dashboard/app/dashboard/conversations/_components/conversation-info-panel.tsx rename to web/app/dashboard/conversations/_components/conversation-info-panel.tsx diff --git a/dashboard/app/dashboard/conversations/_components/conversation-list.tsx b/web/app/dashboard/conversations/_components/conversation-list.tsx similarity index 100% rename from dashboard/app/dashboard/conversations/_components/conversation-list.tsx rename to web/app/dashboard/conversations/_components/conversation-list.tsx diff --git a/dashboard/app/dashboard/conversations/_components/conversation-tag-picker.tsx b/web/app/dashboard/conversations/_components/conversation-tag-picker.tsx similarity index 100% rename from dashboard/app/dashboard/conversations/_components/conversation-tag-picker.tsx rename to web/app/dashboard/conversations/_components/conversation-tag-picker.tsx diff --git a/dashboard/app/dashboard/conversations/page.tsx b/web/app/dashboard/conversations/page.tsx similarity index 100% rename from dashboard/app/dashboard/conversations/page.tsx rename to web/app/dashboard/conversations/page.tsx diff --git a/dashboard/app/dashboard/customers/_components/edit.tsx b/web/app/dashboard/customers/_components/edit.tsx similarity index 100% rename from dashboard/app/dashboard/customers/_components/edit.tsx rename to web/app/dashboard/customers/_components/edit.tsx diff --git a/dashboard/app/dashboard/customers/page.tsx b/web/app/dashboard/customers/page.tsx similarity index 100% rename from dashboard/app/dashboard/customers/page.tsx rename to web/app/dashboard/customers/page.tsx diff --git a/dashboard/app/dashboard/help/page.tsx b/web/app/dashboard/help/page.tsx similarity index 100% rename from dashboard/app/dashboard/help/page.tsx rename to web/app/dashboard/help/page.tsx diff --git a/dashboard/app/dashboard/knowledge/_components/debug-panel.tsx b/web/app/dashboard/knowledge/_components/debug-panel.tsx similarity index 100% rename from dashboard/app/dashboard/knowledge/_components/debug-panel.tsx rename to web/app/dashboard/knowledge/_components/debug-panel.tsx diff --git a/dashboard/app/dashboard/knowledge/_components/document-edit.tsx b/web/app/dashboard/knowledge/_components/document-edit.tsx similarity index 100% rename from dashboard/app/dashboard/knowledge/_components/document-edit.tsx rename to web/app/dashboard/knowledge/_components/document-edit.tsx diff --git a/dashboard/app/dashboard/knowledge/_components/document-list.tsx b/web/app/dashboard/knowledge/_components/document-list.tsx similarity index 100% rename from dashboard/app/dashboard/knowledge/_components/document-list.tsx rename to web/app/dashboard/knowledge/_components/document-list.tsx diff --git a/dashboard/app/dashboard/knowledge/_components/faq-edit.tsx b/web/app/dashboard/knowledge/_components/faq-edit.tsx similarity index 100% rename from dashboard/app/dashboard/knowledge/_components/faq-edit.tsx rename to web/app/dashboard/knowledge/_components/faq-edit.tsx diff --git a/dashboard/app/dashboard/knowledge/_components/faq-import-dialog.tsx b/web/app/dashboard/knowledge/_components/faq-import-dialog.tsx similarity index 100% rename from dashboard/app/dashboard/knowledge/_components/faq-import-dialog.tsx rename to web/app/dashboard/knowledge/_components/faq-import-dialog.tsx diff --git a/dashboard/app/dashboard/knowledge/_components/faq-list.tsx b/web/app/dashboard/knowledge/_components/faq-list.tsx similarity index 100% rename from dashboard/app/dashboard/knowledge/_components/faq-list.tsx rename to web/app/dashboard/knowledge/_components/faq-list.tsx diff --git a/dashboard/app/dashboard/knowledge/_components/knowledge-base-edit.tsx b/web/app/dashboard/knowledge/_components/knowledge-base-edit.tsx similarity index 100% rename from dashboard/app/dashboard/knowledge/_components/knowledge-base-edit.tsx rename to web/app/dashboard/knowledge/_components/knowledge-base-edit.tsx diff --git a/dashboard/app/dashboard/knowledge/_components/knowledge-base-list.tsx b/web/app/dashboard/knowledge/_components/knowledge-base-list.tsx similarity index 100% rename from dashboard/app/dashboard/knowledge/_components/knowledge-base-list.tsx rename to web/app/dashboard/knowledge/_components/knowledge-base-list.tsx diff --git a/dashboard/app/dashboard/knowledge/_components/retrieve-log-detail.tsx b/web/app/dashboard/knowledge/_components/retrieve-log-detail.tsx similarity index 100% rename from dashboard/app/dashboard/knowledge/_components/retrieve-log-detail.tsx rename to web/app/dashboard/knowledge/_components/retrieve-log-detail.tsx diff --git a/dashboard/app/dashboard/knowledge/_components/retrieve-log-list.tsx b/web/app/dashboard/knowledge/_components/retrieve-log-list.tsx similarity index 100% rename from dashboard/app/dashboard/knowledge/_components/retrieve-log-list.tsx rename to web/app/dashboard/knowledge/_components/retrieve-log-list.tsx diff --git a/dashboard/app/dashboard/knowledge/page.tsx b/web/app/dashboard/knowledge/page.tsx similarity index 100% rename from dashboard/app/dashboard/knowledge/page.tsx rename to web/app/dashboard/knowledge/page.tsx diff --git a/dashboard/app/dashboard/layout.tsx b/web/app/dashboard/layout.tsx similarity index 100% rename from dashboard/app/dashboard/layout.tsx rename to web/app/dashboard/layout.tsx diff --git a/dashboard/app/dashboard/login/page.tsx b/web/app/dashboard/login/page.tsx similarity index 100% rename from dashboard/app/dashboard/login/page.tsx rename to web/app/dashboard/login/page.tsx diff --git a/dashboard/app/dashboard/login/wxwork/callback/page.tsx b/web/app/dashboard/login/wxwork/callback/page.tsx similarity index 100% rename from dashboard/app/dashboard/login/wxwork/callback/page.tsx rename to web/app/dashboard/login/wxwork/callback/page.tsx diff --git a/dashboard/app/dashboard/mcp/page.tsx b/web/app/dashboard/mcp/page.tsx similarity index 100% rename from dashboard/app/dashboard/mcp/page.tsx rename to web/app/dashboard/mcp/page.tsx diff --git a/dashboard/app/dashboard/page.tsx b/web/app/dashboard/page.tsx similarity index 100% rename from dashboard/app/dashboard/page.tsx rename to web/app/dashboard/page.tsx diff --git a/dashboard/app/dashboard/permissions/page.tsx b/web/app/dashboard/permissions/page.tsx similarity index 100% rename from dashboard/app/dashboard/permissions/page.tsx rename to web/app/dashboard/permissions/page.tsx diff --git a/dashboard/app/dashboard/quick-replies/_components/edit.tsx b/web/app/dashboard/quick-replies/_components/edit.tsx similarity index 100% rename from dashboard/app/dashboard/quick-replies/_components/edit.tsx rename to web/app/dashboard/quick-replies/_components/edit.tsx diff --git a/dashboard/app/dashboard/quick-replies/page.tsx b/web/app/dashboard/quick-replies/page.tsx similarity index 100% rename from dashboard/app/dashboard/quick-replies/page.tsx rename to web/app/dashboard/quick-replies/page.tsx diff --git a/dashboard/app/dashboard/roles/_components/assign-permissions.tsx b/web/app/dashboard/roles/_components/assign-permissions.tsx similarity index 100% rename from dashboard/app/dashboard/roles/_components/assign-permissions.tsx rename to web/app/dashboard/roles/_components/assign-permissions.tsx diff --git a/dashboard/app/dashboard/roles/_components/create.tsx b/web/app/dashboard/roles/_components/create.tsx similarity index 100% rename from dashboard/app/dashboard/roles/_components/create.tsx rename to web/app/dashboard/roles/_components/create.tsx diff --git a/dashboard/app/dashboard/roles/page.tsx b/web/app/dashboard/roles/page.tsx similarity index 100% rename from dashboard/app/dashboard/roles/page.tsx rename to web/app/dashboard/roles/page.tsx diff --git a/dashboard/app/dashboard/settings/page.tsx b/web/app/dashboard/settings/page.tsx similarity index 100% rename from dashboard/app/dashboard/settings/page.tsx rename to web/app/dashboard/settings/page.tsx diff --git a/dashboard/app/dashboard/skill-definition/_components/debug-dialog.tsx b/web/app/dashboard/skill-definition/_components/debug-dialog.tsx similarity index 100% rename from dashboard/app/dashboard/skill-definition/_components/debug-dialog.tsx rename to web/app/dashboard/skill-definition/_components/debug-dialog.tsx diff --git a/dashboard/app/dashboard/skill-definition/_components/edit.tsx b/web/app/dashboard/skill-definition/_components/edit.tsx similarity index 100% rename from dashboard/app/dashboard/skill-definition/_components/edit.tsx rename to web/app/dashboard/skill-definition/_components/edit.tsx diff --git a/dashboard/app/dashboard/skill-definition/page.tsx b/web/app/dashboard/skill-definition/page.tsx similarity index 100% rename from dashboard/app/dashboard/skill-definition/page.tsx rename to web/app/dashboard/skill-definition/page.tsx diff --git a/dashboard/app/dashboard/tags/_components/edit.tsx b/web/app/dashboard/tags/_components/edit.tsx similarity index 100% rename from dashboard/app/dashboard/tags/_components/edit.tsx rename to web/app/dashboard/tags/_components/edit.tsx diff --git a/dashboard/app/dashboard/tags/page.tsx b/web/app/dashboard/tags/page.tsx similarity index 100% rename from dashboard/app/dashboard/tags/page.tsx rename to web/app/dashboard/tags/page.tsx diff --git a/dashboard/app/dashboard/ticket-priorities/page.tsx b/web/app/dashboard/ticket-priorities/page.tsx similarity index 100% rename from dashboard/app/dashboard/ticket-priorities/page.tsx rename to web/app/dashboard/ticket-priorities/page.tsx diff --git a/dashboard/app/dashboard/ticket-resolution-codes/page.tsx b/web/app/dashboard/ticket-resolution-codes/page.tsx similarity index 100% rename from dashboard/app/dashboard/ticket-resolution-codes/page.tsx rename to web/app/dashboard/ticket-resolution-codes/page.tsx diff --git a/dashboard/app/dashboard/ticket-risk/page.tsx b/web/app/dashboard/ticket-risk/page.tsx similarity index 100% rename from dashboard/app/dashboard/ticket-risk/page.tsx rename to web/app/dashboard/ticket-risk/page.tsx diff --git a/dashboard/app/dashboard/tickets/_components/create-ticket-from-conversation-dialog.tsx b/web/app/dashboard/tickets/_components/create-ticket-from-conversation-dialog.tsx similarity index 100% rename from dashboard/app/dashboard/tickets/_components/create-ticket-from-conversation-dialog.tsx rename to web/app/dashboard/tickets/_components/create-ticket-from-conversation-dialog.tsx diff --git a/dashboard/app/dashboard/tickets/_components/edit.tsx b/web/app/dashboard/tickets/_components/edit.tsx similarity index 100% rename from dashboard/app/dashboard/tickets/_components/edit.tsx rename to web/app/dashboard/tickets/_components/edit.tsx diff --git a/dashboard/app/dashboard/tickets/_components/ticket-assign-dialog.tsx b/web/app/dashboard/tickets/_components/ticket-assign-dialog.tsx similarity index 100% rename from dashboard/app/dashboard/tickets/_components/ticket-assign-dialog.tsx rename to web/app/dashboard/tickets/_components/ticket-assign-dialog.tsx diff --git a/dashboard/app/dashboard/tickets/_components/ticket-collaborator-dialog.tsx b/web/app/dashboard/tickets/_components/ticket-collaborator-dialog.tsx similarity index 100% rename from dashboard/app/dashboard/tickets/_components/ticket-collaborator-dialog.tsx rename to web/app/dashboard/tickets/_components/ticket-collaborator-dialog.tsx diff --git a/dashboard/app/dashboard/tickets/_components/ticket-customer-panel.tsx b/web/app/dashboard/tickets/_components/ticket-customer-panel.tsx similarity index 100% rename from dashboard/app/dashboard/tickets/_components/ticket-customer-panel.tsx rename to web/app/dashboard/tickets/_components/ticket-customer-panel.tsx diff --git a/dashboard/app/dashboard/tickets/_components/ticket-priority-badge.tsx b/web/app/dashboard/tickets/_components/ticket-priority-badge.tsx similarity index 100% rename from dashboard/app/dashboard/tickets/_components/ticket-priority-badge.tsx rename to web/app/dashboard/tickets/_components/ticket-priority-badge.tsx diff --git a/dashboard/app/dashboard/tickets/_components/ticket-reason-dialog.tsx b/web/app/dashboard/tickets/_components/ticket-reason-dialog.tsx similarity index 100% rename from dashboard/app/dashboard/tickets/_components/ticket-reason-dialog.tsx rename to web/app/dashboard/tickets/_components/ticket-reason-dialog.tsx diff --git a/dashboard/app/dashboard/tickets/_components/ticket-relation-dialog.tsx b/web/app/dashboard/tickets/_components/ticket-relation-dialog.tsx similarity index 100% rename from dashboard/app/dashboard/tickets/_components/ticket-relation-dialog.tsx rename to web/app/dashboard/tickets/_components/ticket-relation-dialog.tsx diff --git a/dashboard/app/dashboard/tickets/_components/ticket-reply-dialog.tsx b/web/app/dashboard/tickets/_components/ticket-reply-dialog.tsx similarity index 100% rename from dashboard/app/dashboard/tickets/_components/ticket-reply-dialog.tsx rename to web/app/dashboard/tickets/_components/ticket-reply-dialog.tsx diff --git a/dashboard/app/dashboard/tickets/_components/ticket-sla-badge.tsx b/web/app/dashboard/tickets/_components/ticket-sla-badge.tsx similarity index 100% rename from dashboard/app/dashboard/tickets/_components/ticket-sla-badge.tsx rename to web/app/dashboard/tickets/_components/ticket-sla-badge.tsx diff --git a/dashboard/app/dashboard/tickets/_components/ticket-status-badge.tsx b/web/app/dashboard/tickets/_components/ticket-status-badge.tsx similarity index 100% rename from dashboard/app/dashboard/tickets/_components/ticket-status-badge.tsx rename to web/app/dashboard/tickets/_components/ticket-status-badge.tsx diff --git a/dashboard/app/dashboard/tickets/_components/ticket-status-dialog.tsx b/web/app/dashboard/tickets/_components/ticket-status-dialog.tsx similarity index 100% rename from dashboard/app/dashboard/tickets/_components/ticket-status-dialog.tsx rename to web/app/dashboard/tickets/_components/ticket-status-dialog.tsx diff --git a/dashboard/app/dashboard/tickets/detail/page.tsx b/web/app/dashboard/tickets/detail/page.tsx similarity index 100% rename from dashboard/app/dashboard/tickets/detail/page.tsx rename to web/app/dashboard/tickets/detail/page.tsx diff --git a/dashboard/app/dashboard/tickets/page.tsx b/web/app/dashboard/tickets/page.tsx similarity index 100% rename from dashboard/app/dashboard/tickets/page.tsx rename to web/app/dashboard/tickets/page.tsx diff --git a/dashboard/app/dashboard/users/_components/assign-roles.tsx b/web/app/dashboard/users/_components/assign-roles.tsx similarity index 100% rename from dashboard/app/dashboard/users/_components/assign-roles.tsx rename to web/app/dashboard/users/_components/assign-roles.tsx diff --git a/dashboard/app/dashboard/users/_components/create.tsx b/web/app/dashboard/users/_components/create.tsx similarity index 100% rename from dashboard/app/dashboard/users/_components/create.tsx rename to web/app/dashboard/users/_components/create.tsx diff --git a/dashboard/app/dashboard/users/_components/edit.tsx b/web/app/dashboard/users/_components/edit.tsx similarity index 100% rename from dashboard/app/dashboard/users/_components/edit.tsx rename to web/app/dashboard/users/_components/edit.tsx diff --git a/dashboard/app/dashboard/users/_components/initial-password-dialog.tsx b/web/app/dashboard/users/_components/initial-password-dialog.tsx similarity index 100% rename from dashboard/app/dashboard/users/_components/initial-password-dialog.tsx rename to web/app/dashboard/users/_components/initial-password-dialog.tsx diff --git a/dashboard/app/dashboard/users/_components/reset-password.tsx b/web/app/dashboard/users/_components/reset-password.tsx similarity index 100% rename from dashboard/app/dashboard/users/_components/reset-password.tsx rename to web/app/dashboard/users/_components/reset-password.tsx diff --git a/dashboard/app/dashboard/users/page.tsx b/web/app/dashboard/users/page.tsx similarity index 100% rename from dashboard/app/dashboard/users/page.tsx rename to web/app/dashboard/users/page.tsx diff --git a/dashboard/app/favicon.ico b/web/app/favicon.ico similarity index 100% rename from dashboard/app/favicon.ico rename to web/app/favicon.ico diff --git a/dashboard/app/globals.css b/web/app/globals.css similarity index 100% rename from dashboard/app/globals.css rename to web/app/globals.css diff --git a/dashboard/app/layout.tsx b/web/app/layout.tsx similarity index 100% rename from dashboard/app/layout.tsx rename to web/app/layout.tsx diff --git a/dashboard/app/page.tsx b/web/app/page.tsx similarity index 100% rename from dashboard/app/page.tsx rename to web/app/page.tsx diff --git a/dashboard/components.json b/web/components.json similarity index 100% rename from dashboard/components.json rename to web/components.json diff --git a/dashboard/components/app-sidebar.tsx b/web/components/app-sidebar.tsx similarity index 100% rename from dashboard/components/app-sidebar.tsx rename to web/components/app-sidebar.tsx diff --git a/dashboard/components/auth-provider.tsx b/web/components/auth-provider.tsx similarity index 100% rename from dashboard/components/auth-provider.tsx rename to web/components/auth-provider.tsx diff --git a/dashboard/components/change-password-dialog.tsx b/web/components/change-password-dialog.tsx similarity index 100% rename from dashboard/components/change-password-dialog.tsx rename to web/components/change-password-dialog.tsx diff --git a/dashboard/components/chart-area-interactive.tsx b/web/components/chart-area-interactive.tsx similarity index 100% rename from dashboard/components/chart-area-interactive.tsx rename to web/components/chart-area-interactive.tsx diff --git a/dashboard/components/company-picker.tsx b/web/components/company-picker.tsx similarity index 100% rename from dashboard/components/company-picker.tsx rename to web/components/company-picker.tsx diff --git a/dashboard/components/confirm-provider.tsx b/web/components/confirm-provider.tsx similarity index 100% rename from dashboard/components/confirm-provider.tsx rename to web/components/confirm-provider.tsx diff --git a/dashboard/components/content-editor/convert.ts b/web/components/content-editor/convert.ts similarity index 100% rename from dashboard/components/content-editor/convert.ts rename to web/components/content-editor/convert.ts diff --git a/dashboard/components/content-editor/editor-mode-switch.tsx b/web/components/content-editor/editor-mode-switch.tsx similarity index 100% rename from dashboard/components/content-editor/editor-mode-switch.tsx rename to web/components/content-editor/editor-mode-switch.tsx diff --git a/dashboard/components/content-editor/html-editor.tsx b/web/components/content-editor/html-editor.tsx similarity index 100% rename from dashboard/components/content-editor/html-editor.tsx rename to web/components/content-editor/html-editor.tsx diff --git a/dashboard/components/content-editor/index.tsx b/web/components/content-editor/index.tsx similarity index 100% rename from dashboard/components/content-editor/index.tsx rename to web/components/content-editor/index.tsx diff --git a/dashboard/components/content-editor/markdown-editor.css b/web/components/content-editor/markdown-editor.css similarity index 100% rename from dashboard/components/content-editor/markdown-editor.css rename to web/components/content-editor/markdown-editor.css diff --git a/dashboard/components/content-editor/markdown-editor.tsx b/web/components/content-editor/markdown-editor.tsx similarity index 100% rename from dashboard/components/content-editor/markdown-editor.tsx rename to web/components/content-editor/markdown-editor.tsx diff --git a/dashboard/components/content-editor/toolbar.css b/web/components/content-editor/toolbar.css similarity index 100% rename from dashboard/components/content-editor/toolbar.css rename to web/components/content-editor/toolbar.css diff --git a/dashboard/components/content-editor/toolbar.tsx b/web/components/content-editor/toolbar.tsx similarity index 100% rename from dashboard/components/content-editor/toolbar.tsx rename to web/components/content-editor/toolbar.tsx diff --git a/dashboard/components/content-editor/types.ts b/web/components/content-editor/types.ts similarity index 100% rename from dashboard/components/content-editor/types.ts rename to web/components/content-editor/types.ts diff --git a/dashboard/components/conversation-actions/close-dialog.tsx b/web/components/conversation-actions/close-dialog.tsx similarity index 100% rename from dashboard/components/conversation-actions/close-dialog.tsx rename to web/components/conversation-actions/close-dialog.tsx diff --git a/dashboard/components/conversation-actions/transfer-dialog.tsx b/web/components/conversation-actions/transfer-dialog.tsx similarity index 100% rename from dashboard/components/conversation-actions/transfer-dialog.tsx rename to web/components/conversation-actions/transfer-dialog.tsx diff --git a/dashboard/components/customer-form-dialog.tsx b/web/components/customer-form-dialog.tsx similarity index 100% rename from dashboard/components/customer-form-dialog.tsx rename to web/components/customer-form-dialog.tsx diff --git a/dashboard/components/customer-form.tsx b/web/components/customer-form.tsx similarity index 100% rename from dashboard/components/customer-form.tsx rename to web/components/customer-form.tsx diff --git a/dashboard/components/customer-link-or-create-dialog.tsx b/web/components/customer-link-or-create-dialog.tsx similarity index 100% rename from dashboard/components/customer-link-or-create-dialog.tsx rename to web/components/customer-link-or-create-dialog.tsx diff --git a/dashboard/components/dashboard-placeholder.tsx b/web/components/dashboard-placeholder.tsx similarity index 100% rename from dashboard/components/dashboard-placeholder.tsx rename to web/components/dashboard-placeholder.tsx diff --git a/dashboard/components/data-table.tsx b/web/components/data-table.tsx similarity index 100% rename from dashboard/components/data-table.tsx rename to web/components/data-table.tsx diff --git a/dashboard/components/editor/DESIGN.md b/web/components/editor/DESIGN.md similarity index 100% rename from dashboard/components/editor/DESIGN.md rename to web/components/editor/DESIGN.md diff --git a/dashboard/components/editor/html.tsx b/web/components/editor/html.tsx similarity index 100% rename from dashboard/components/editor/html.tsx rename to web/components/editor/html.tsx diff --git a/dashboard/components/editor/index.tsx b/web/components/editor/index.tsx similarity index 100% rename from dashboard/components/editor/index.tsx rename to web/components/editor/index.tsx diff --git a/dashboard/components/editor/markdown.tsx b/web/components/editor/markdown.tsx similarity index 100% rename from dashboard/components/editor/markdown.tsx rename to web/components/editor/markdown.tsx diff --git a/dashboard/components/editor/toolbar.tsx b/web/components/editor/toolbar.tsx similarity index 100% rename from dashboard/components/editor/toolbar.tsx rename to web/components/editor/toolbar.tsx diff --git a/dashboard/components/editor/types.ts b/web/components/editor/types.ts similarity index 100% rename from dashboard/components/editor/types.ts rename to web/components/editor/types.ts diff --git a/dashboard/components/im-message-editor.tsx b/web/components/im-message-editor.tsx similarity index 100% rename from dashboard/components/im-message-editor.tsx rename to web/components/im-message-editor.tsx diff --git a/dashboard/components/im-message-html.tsx b/web/components/im-message-html.tsx similarity index 100% rename from dashboard/components/im-message-html.tsx rename to web/components/im-message-html.tsx diff --git a/dashboard/components/image-input.tsx b/web/components/image-input.tsx similarity index 100% rename from dashboard/components/image-input.tsx rename to web/components/image-input.tsx diff --git a/dashboard/components/image-lightbox.tsx b/web/components/image-lightbox.tsx similarity index 100% rename from dashboard/components/image-lightbox.tsx rename to web/components/image-lightbox.tsx diff --git a/dashboard/components/json-code-editor.tsx b/web/components/json-code-editor.tsx similarity index 100% rename from dashboard/components/json-code-editor.tsx rename to web/components/json-code-editor.tsx diff --git a/dashboard/components/json-tree-viewer.tsx b/web/components/json-tree-viewer.tsx similarity index 100% rename from dashboard/components/json-tree-viewer.tsx rename to web/components/json-tree-viewer.tsx diff --git a/dashboard/components/json-viewer.tsx b/web/components/json-viewer.tsx similarity index 100% rename from dashboard/components/json-viewer.tsx rename to web/components/json-viewer.tsx diff --git a/dashboard/components/list-pagination.tsx b/web/components/list-pagination.tsx similarity index 100% rename from dashboard/components/list-pagination.tsx rename to web/components/list-pagination.tsx diff --git a/dashboard/components/login-form.tsx b/web/components/login-form.tsx similarity index 100% rename from dashboard/components/login-form.tsx rename to web/components/login-form.tsx diff --git a/dashboard/components/nav-documents.tsx b/web/components/nav-documents.tsx similarity index 100% rename from dashboard/components/nav-documents.tsx rename to web/components/nav-documents.tsx diff --git a/dashboard/components/nav-main.tsx b/web/components/nav-main.tsx similarity index 100% rename from dashboard/components/nav-main.tsx rename to web/components/nav-main.tsx diff --git a/dashboard/components/nav-secondary.tsx b/web/components/nav-secondary.tsx similarity index 100% rename from dashboard/components/nav-secondary.tsx rename to web/components/nav-secondary.tsx diff --git a/dashboard/components/nav-user.tsx b/web/components/nav-user.tsx similarity index 100% rename from dashboard/components/nav-user.tsx rename to web/components/nav-user.tsx diff --git a/dashboard/components/option-combobox.tsx b/web/components/option-combobox.tsx similarity index 100% rename from dashboard/components/option-combobox.tsx rename to web/components/option-combobox.tsx diff --git a/dashboard/components/project-dialog.tsx b/web/components/project-dialog.tsx similarity index 100% rename from dashboard/components/project-dialog.tsx rename to web/components/project-dialog.tsx diff --git a/dashboard/components/realtime-connection-status.tsx b/web/components/realtime-connection-status.tsx similarity index 100% rename from dashboard/components/realtime-connection-status.tsx rename to web/components/realtime-connection-status.tsx diff --git a/dashboard/components/rich-text-editor.tsx b/web/components/rich-text-editor.tsx similarity index 100% rename from dashboard/components/rich-text-editor.tsx rename to web/components/rich-text-editor.tsx diff --git a/dashboard/components/section-cards.tsx b/web/components/section-cards.tsx similarity index 100% rename from dashboard/components/section-cards.tsx rename to web/components/section-cards.tsx diff --git a/dashboard/components/site-header.tsx b/web/components/site-header.tsx similarity index 100% rename from dashboard/components/site-header.tsx rename to web/components/site-header.tsx diff --git a/dashboard/components/theme-provider.tsx b/web/components/theme-provider.tsx similarity index 100% rename from dashboard/components/theme-provider.tsx rename to web/components/theme-provider.tsx diff --git a/dashboard/components/theme-toggle.tsx b/web/components/theme-toggle.tsx similarity index 100% rename from dashboard/components/theme-toggle.tsx rename to web/components/theme-toggle.tsx diff --git a/dashboard/components/ui/avatar.tsx b/web/components/ui/avatar.tsx similarity index 100% rename from dashboard/components/ui/avatar.tsx rename to web/components/ui/avatar.tsx diff --git a/dashboard/components/ui/badge.tsx b/web/components/ui/badge.tsx similarity index 100% rename from dashboard/components/ui/badge.tsx rename to web/components/ui/badge.tsx diff --git a/dashboard/components/ui/breadcrumb.tsx b/web/components/ui/breadcrumb.tsx similarity index 100% rename from dashboard/components/ui/breadcrumb.tsx rename to web/components/ui/breadcrumb.tsx diff --git a/dashboard/components/ui/button-group.tsx b/web/components/ui/button-group.tsx similarity index 100% rename from dashboard/components/ui/button-group.tsx rename to web/components/ui/button-group.tsx diff --git a/dashboard/components/ui/button.tsx b/web/components/ui/button.tsx similarity index 100% rename from dashboard/components/ui/button.tsx rename to web/components/ui/button.tsx diff --git a/dashboard/components/ui/calendar.tsx b/web/components/ui/calendar.tsx similarity index 100% rename from dashboard/components/ui/calendar.tsx rename to web/components/ui/calendar.tsx diff --git a/dashboard/components/ui/card.tsx b/web/components/ui/card.tsx similarity index 100% rename from dashboard/components/ui/card.tsx rename to web/components/ui/card.tsx diff --git a/dashboard/components/ui/chart.tsx b/web/components/ui/chart.tsx similarity index 100% rename from dashboard/components/ui/chart.tsx rename to web/components/ui/chart.tsx diff --git a/dashboard/components/ui/checkbox.tsx b/web/components/ui/checkbox.tsx similarity index 100% rename from dashboard/components/ui/checkbox.tsx rename to web/components/ui/checkbox.tsx diff --git a/dashboard/components/ui/combobox.tsx b/web/components/ui/combobox.tsx similarity index 100% rename from dashboard/components/ui/combobox.tsx rename to web/components/ui/combobox.tsx diff --git a/dashboard/components/ui/command.tsx b/web/components/ui/command.tsx similarity index 100% rename from dashboard/components/ui/command.tsx rename to web/components/ui/command.tsx diff --git a/dashboard/components/ui/context-menu.tsx b/web/components/ui/context-menu.tsx similarity index 100% rename from dashboard/components/ui/context-menu.tsx rename to web/components/ui/context-menu.tsx diff --git a/dashboard/components/ui/dialog.tsx b/web/components/ui/dialog.tsx similarity index 100% rename from dashboard/components/ui/dialog.tsx rename to web/components/ui/dialog.tsx diff --git a/dashboard/components/ui/drawer.tsx b/web/components/ui/drawer.tsx similarity index 100% rename from dashboard/components/ui/drawer.tsx rename to web/components/ui/drawer.tsx diff --git a/dashboard/components/ui/dropdown-menu.tsx b/web/components/ui/dropdown-menu.tsx similarity index 100% rename from dashboard/components/ui/dropdown-menu.tsx rename to web/components/ui/dropdown-menu.tsx diff --git a/dashboard/components/ui/field.tsx b/web/components/ui/field.tsx similarity index 100% rename from dashboard/components/ui/field.tsx rename to web/components/ui/field.tsx diff --git a/dashboard/components/ui/input-group.tsx b/web/components/ui/input-group.tsx similarity index 100% rename from dashboard/components/ui/input-group.tsx rename to web/components/ui/input-group.tsx diff --git a/dashboard/components/ui/input.tsx b/web/components/ui/input.tsx similarity index 100% rename from dashboard/components/ui/input.tsx rename to web/components/ui/input.tsx diff --git a/dashboard/components/ui/label.tsx b/web/components/ui/label.tsx similarity index 100% rename from dashboard/components/ui/label.tsx rename to web/components/ui/label.tsx diff --git a/dashboard/components/ui/menubar.tsx b/web/components/ui/menubar.tsx similarity index 100% rename from dashboard/components/ui/menubar.tsx rename to web/components/ui/menubar.tsx diff --git a/dashboard/components/ui/popover.tsx b/web/components/ui/popover.tsx similarity index 100% rename from dashboard/components/ui/popover.tsx rename to web/components/ui/popover.tsx diff --git a/dashboard/components/ui/resizable.tsx b/web/components/ui/resizable.tsx similarity index 100% rename from dashboard/components/ui/resizable.tsx rename to web/components/ui/resizable.tsx diff --git a/dashboard/components/ui/scroll-area.tsx b/web/components/ui/scroll-area.tsx similarity index 100% rename from dashboard/components/ui/scroll-area.tsx rename to web/components/ui/scroll-area.tsx diff --git a/dashboard/components/ui/select.tsx b/web/components/ui/select.tsx similarity index 100% rename from dashboard/components/ui/select.tsx rename to web/components/ui/select.tsx diff --git a/dashboard/components/ui/separator.tsx b/web/components/ui/separator.tsx similarity index 100% rename from dashboard/components/ui/separator.tsx rename to web/components/ui/separator.tsx diff --git a/dashboard/components/ui/sheet.tsx b/web/components/ui/sheet.tsx similarity index 100% rename from dashboard/components/ui/sheet.tsx rename to web/components/ui/sheet.tsx diff --git a/dashboard/components/ui/sidebar.tsx b/web/components/ui/sidebar.tsx similarity index 100% rename from dashboard/components/ui/sidebar.tsx rename to web/components/ui/sidebar.tsx diff --git a/dashboard/components/ui/skeleton.tsx b/web/components/ui/skeleton.tsx similarity index 100% rename from dashboard/components/ui/skeleton.tsx rename to web/components/ui/skeleton.tsx diff --git a/dashboard/components/ui/sonner.tsx b/web/components/ui/sonner.tsx similarity index 100% rename from dashboard/components/ui/sonner.tsx rename to web/components/ui/sonner.tsx diff --git a/dashboard/components/ui/switch.tsx b/web/components/ui/switch.tsx similarity index 100% rename from dashboard/components/ui/switch.tsx rename to web/components/ui/switch.tsx diff --git a/dashboard/components/ui/table.tsx b/web/components/ui/table.tsx similarity index 100% rename from dashboard/components/ui/table.tsx rename to web/components/ui/table.tsx diff --git a/dashboard/components/ui/tabs.tsx b/web/components/ui/tabs.tsx similarity index 100% rename from dashboard/components/ui/tabs.tsx rename to web/components/ui/tabs.tsx diff --git a/dashboard/components/ui/textarea.tsx b/web/components/ui/textarea.tsx similarity index 100% rename from dashboard/components/ui/textarea.tsx rename to web/components/ui/textarea.tsx diff --git a/dashboard/components/ui/toggle-group.tsx b/web/components/ui/toggle-group.tsx similarity index 100% rename from dashboard/components/ui/toggle-group.tsx rename to web/components/ui/toggle-group.tsx diff --git a/dashboard/components/ui/toggle.tsx b/web/components/ui/toggle.tsx similarity index 100% rename from dashboard/components/ui/toggle.tsx rename to web/components/ui/toggle.tsx diff --git a/dashboard/components/ui/tooltip.tsx b/web/components/ui/tooltip.tsx similarity index 100% rename from dashboard/components/ui/tooltip.tsx rename to web/components/ui/tooltip.tsx diff --git a/dashboard/eslint.config.mjs b/web/eslint.config.mjs similarity index 100% rename from dashboard/eslint.config.mjs rename to web/eslint.config.mjs diff --git a/dashboard/hooks/use-agent-conversation-realtime.ts b/web/hooks/use-agent-conversation-realtime.ts similarity index 100% rename from dashboard/hooks/use-agent-conversation-realtime.ts rename to web/hooks/use-agent-conversation-realtime.ts diff --git a/dashboard/hooks/use-lg-media.ts b/web/hooks/use-lg-media.ts similarity index 100% rename from dashboard/hooks/use-lg-media.ts rename to web/hooks/use-lg-media.ts diff --git a/dashboard/hooks/use-mobile.ts b/web/hooks/use-mobile.ts similarity index 100% rename from dashboard/hooks/use-mobile.ts rename to web/hooks/use-mobile.ts diff --git a/dashboard/lib/api/admin.ts b/web/lib/api/admin.ts similarity index 100% rename from dashboard/lib/api/admin.ts rename to web/lib/api/admin.ts diff --git a/dashboard/lib/api/agent.ts b/web/lib/api/agent.ts similarity index 100% rename from dashboard/lib/api/agent.ts rename to web/lib/api/agent.ts diff --git a/dashboard/lib/api/auth.ts b/web/lib/api/auth.ts similarity index 100% rename from dashboard/lib/api/auth.ts rename to web/lib/api/auth.ts diff --git a/dashboard/lib/api/client.ts b/web/lib/api/client.ts similarity index 100% rename from dashboard/lib/api/client.ts rename to web/lib/api/client.ts diff --git a/dashboard/lib/api/company.ts b/web/lib/api/company.ts similarity index 100% rename from dashboard/lib/api/company.ts rename to web/lib/api/company.ts diff --git a/dashboard/lib/api/customer-contact.ts b/web/lib/api/customer-contact.ts similarity index 100% rename from dashboard/lib/api/customer-contact.ts rename to web/lib/api/customer-contact.ts diff --git a/dashboard/lib/api/customer.ts b/web/lib/api/customer.ts similarity index 100% rename from dashboard/lib/api/customer.ts rename to web/lib/api/customer.ts diff --git a/dashboard/lib/api/dashboard.ts b/web/lib/api/dashboard.ts similarity index 100% rename from dashboard/lib/api/dashboard.ts rename to web/lib/api/dashboard.ts diff --git a/dashboard/lib/api/im.ts b/web/lib/api/im.ts similarity index 100% rename from dashboard/lib/api/im.ts rename to web/lib/api/im.ts diff --git a/dashboard/lib/api/ticket-config.ts b/web/lib/api/ticket-config.ts similarity index 100% rename from dashboard/lib/api/ticket-config.ts rename to web/lib/api/ticket-config.ts diff --git a/dashboard/lib/api/ticket.ts b/web/lib/api/ticket.ts similarity index 100% rename from dashboard/lib/api/ticket.ts rename to web/lib/api/ticket.ts diff --git a/dashboard/lib/api/websocket.ts b/web/lib/api/websocket.ts similarity index 100% rename from dashboard/lib/api/websocket.ts rename to web/lib/api/websocket.ts diff --git a/dashboard/lib/auth.ts b/web/lib/auth.ts similarity index 100% rename from dashboard/lib/auth.ts rename to web/lib/auth.ts diff --git a/dashboard/lib/enums.ts b/web/lib/enums.ts similarity index 100% rename from dashboard/lib/enums.ts rename to web/lib/enums.ts diff --git a/dashboard/lib/generated/enums.ts b/web/lib/generated/enums.ts similarity index 100% rename from dashboard/lib/generated/enums.ts rename to web/lib/generated/enums.ts diff --git a/dashboard/lib/im-message.ts b/web/lib/im-message.ts similarity index 100% rename from dashboard/lib/im-message.ts rename to web/lib/im-message.ts diff --git a/dashboard/lib/navigation.tsx b/web/lib/navigation.tsx similarity index 100% rename from dashboard/lib/navigation.tsx rename to web/lib/navigation.tsx diff --git a/dashboard/lib/services/notification.ts b/web/lib/services/notification.ts similarity index 100% rename from dashboard/lib/services/notification.ts rename to web/lib/services/notification.ts diff --git a/dashboard/lib/stores/agent-conversations.ts b/web/lib/stores/agent-conversations.ts similarity index 100% rename from dashboard/lib/stores/agent-conversations.ts rename to web/lib/stores/agent-conversations.ts diff --git a/dashboard/lib/ticket-priority.ts b/web/lib/ticket-priority.ts similarity index 100% rename from dashboard/lib/ticket-priority.ts rename to web/lib/ticket-priority.ts diff --git a/dashboard/lib/utils.ts b/web/lib/utils.ts similarity index 100% rename from dashboard/lib/utils.ts rename to web/lib/utils.ts diff --git a/dashboard/next.config.ts b/web/next.config.ts similarity index 100% rename from dashboard/next.config.ts rename to web/next.config.ts diff --git a/dashboard/package.json b/web/package.json similarity index 100% rename from dashboard/package.json rename to web/package.json diff --git a/dashboard/pnpm-lock.yaml b/web/pnpm-lock.yaml similarity index 100% rename from dashboard/pnpm-lock.yaml rename to web/pnpm-lock.yaml diff --git a/dashboard/pnpm-workspace.yaml b/web/pnpm-workspace.yaml similarity index 100% rename from dashboard/pnpm-workspace.yaml rename to web/pnpm-workspace.yaml diff --git a/dashboard/postcss.config.mjs b/web/postcss.config.mjs similarity index 100% rename from dashboard/postcss.config.mjs rename to web/postcss.config.mjs diff --git a/dashboard/public/wxwork.svg b/web/public/wxwork.svg similarity index 100% rename from dashboard/public/wxwork.svg rename to web/public/wxwork.svg diff --git a/dashboard/styles/main.scss b/web/styles/main.scss similarity index 100% rename from dashboard/styles/main.scss rename to web/styles/main.scss diff --git a/dashboard/tsconfig.json b/web/tsconfig.json similarity index 100% rename from dashboard/tsconfig.json rename to web/tsconfig.json