{ "name": "ai-chatbot", "version": "3.1.0", "private": true, "scripts": { "dev": "next dev --turbo", "postinstall": "node scripts/security/auto-enable-perf-guard.mjs", "prebuild": "node scripts/security/auto-enable-perf-guard.mjs", "build": "tsx lib/db/migrate && next build", "postbuild": "find .next/static -type f -name '*.map' -delete 2>/dev/null || true", "build:skip-prerender": "tsx lib/db/migrate && next build --no-lint || (echo 'Build with errors, creating fallback...' && mkdir -p .next && echo '{}' > .next/prerender-manifest.json && echo 'Build fallback created')", "start": "next start", "lint": "npx ultracite@latest check", "format": "npx ultracite@latest fix", "db:generate": "drizzle-kit generate", "db:migrate": "npx tsx lib/db/migrate.ts", "db:studio": "drizzle-kit studio", "db:push": "drizzle-kit push", "db:pull": "drizzle-kit pull", "db:check": "drizzle-kit check", "db:up": "drizzle-kit up", "poc:nanobanana": "pnpm exec tsx scripts/nanobanana-browser-poc.ts", "test": "export PLAYWRIGHT=True && pnpm exec playwright test" }, "dependencies": { "@ai-sdk/gateway": "^1.0.15", "@ai-sdk/openai": "2.0.13", "@ai-sdk/provider": "2.0.0", "@ai-sdk/react": "2.0.26", "@ai-sdk/xai": "2.0.13", "@aws-sdk/client-s3": "^3.679.0", "@codemirror/lang-javascript": "^6.2.2", "@codemirror/lang-python": "^6.1.6", "@codemirror/state": "^6.5.0", "@codemirror/theme-one-dark": "^6.1.2", "@codemirror/view": "^6.35.3", "@drawnix/drawnix": "0.4.0-2", "@fal-ai/client": "^1.10.0", "@fal-ai/serverless-client": "^0.15.0", "@icons-pack/react-simple-icons": "^13.7.0", "@langchain/core": "^1.1.19", "@langchain/langgraph": "^1.1.3", "@opentelemetry/api": "^1.9.0", "@opentelemetry/api-logs": "^0.200.0", "@plait-board/markdown-to-drawnix": "0.0.7", "@plait-board/react-board": "0.4.0-2", "@plait-board/react-text": "0.4.0-2", "@plait/common": "^0.92.1", "@plait/core": "^0.92.1", "@plait/draw": "^0.92.1", "@plait/layouts": "^0.92.1", "@plait/mind": "^0.92.1", "@plait/text-plugins": "^0.92.1", "@radix-ui/react-dialog": "^1.1.4", "@radix-ui/react-icons": "^1.3.0", "@radix-ui/react-popover": "^1.1.15", "@radix-ui/react-select": "^2.2.6", "@radix-ui/react-slider": "^1.3.6", "@radix-ui/react-switch": "^1.1.2", "@radix-ui/react-tabs": "^1.1.13", "@radix-ui/react-use-controllable-state": "^1.2.2", "@radix-ui/react-visually-hidden": "^1.1.0", "@react-three/drei": "^10.7.7", "@react-three/fiber": "^9.5.0", "@sparkjsdev/spark": "^2.0.0", "@tanstack/react-virtual": "^3.13.24", "@types/form-data": "^2.5.2", "@vercel/analytics": "^1.3.1", "@vercel/blob": "^0.24.1", "@vercel/functions": "^2.0.0", "@vercel/otel": "^1.12.0", "@webtoon/psd": "^0.4.0", "@xenova/transformers": "^2.17.0", "ai": "^5.0.52", "bcrypt-ts": "^5.0.2", "bson": "^6.10.4", "class-variance-authority": "^0.7.1", "classnames": "^2.5.1", "clsx": "^2.1.1", "codemirror": "^6.0.1", "date-fns": "^4.1.0", "diff-match-patch": "^1.0.5", "dotenv": "^16.4.5", "drizzle-orm": "^0.34.0", "embla-carousel-react": "^8.6.0", "exceljs": "^4.4.0", "fast-deep-equal": "^3.1.3", "form-data": "^4.0.5", "framer-motion": "^11.18.2", "geist": "^1.3.1", "immer": "^11.1.3", "is-hotkey": "^0.2.0", "jszip": "^3.10.1", "katex": "^0.16.25", "lucide-react": "^0.446.0", "matter-js": "^0.20.0", "mssql": "^12.2.1", "mysql2": "^3.22.3", "nanoid": "^5.0.8", "next": "^16.0.9", "next-auth": "^5.0.0-beta.30", "next-themes": "^0.3.0", "orderedmap": "^2.1.1", "papaparse": "^5.5.2", "postgres": "^3.4.4", "prosemirror-example-setup": "^1.2.3", "prosemirror-inputrules": "^1.4.0", "prosemirror-markdown": "^1.13.1", "prosemirror-model": "^1.23.0", "prosemirror-schema-basic": "^1.2.3", "prosemirror-schema-list": "^1.4.1", "prosemirror-state": "^1.4.3", "prosemirror-view": "^1.34.3", "radix-ui": "^1.4.3", "react": "19.0.0-rc-45804af1-20241021", "react-data-grid": "7.0.0-beta.47", "react-dom": "19.0.0-rc-45804af1-20241021", "react-resizable-panels": "^2.1.7", "react-rnd": "^10.5.2", "react-syntax-highlighter": "^15.6.6", "redis": "^5.0.0", "resumable-stream": "^2.0.0", "server-only": "^0.0.1", "sharp": "^0.34.5", "shiki": "^3.12.2", "slate": "^0.124.0", "slate-dom": "^0.124.0", "slate-history": "^0.115.0", "slate-react": "^0.124.0", "sonner": "^1.5.0", "streamdown": "^1.3.0", "swr": "^2.2.5", "tailwind-merge": "^2.5.2", "tailwindcss-animate": "^1.0.7", "three": "^0.182.0", "three-stdlib": "^2.36.1", "tokenlens": "1.3.0", "use-stick-to-bottom": "^1.1.1", "usehooks-ts": "^3.1.0", "ws": "^8.18.3", "xlsx": "^0.18.5", "zod": "^3.25.76", "zustand": "5.0.4" }, "devDependencies": { "@biomejs/biome": "2.2.2", "@playwright/test": "^1.55.1", "@tailwindcss/postcss": "^4.1.13", "@tailwindcss/typography": "^0.5.15", "@types/d3-scale": "^4.0.8", "@types/mssql": "^9.1.9", "@types/node": "^22.8.6", "@types/papaparse": "^5.3.15", "@types/pdf-parse": "^1.1.4", "@types/react": "^18", "@types/react-dom": "^18", "@types/react-syntax-highlighter": "^15.5.13", "@types/sharp": "^0.32.0", "@types/three": "^0.182.0", "@types/ws": "^8.18.1", "drizzle-kit": "^0.25.0", "postcss": "^8", "tailwindcss": "^4.1.13", "tsx": "^4.19.1", "typescript": "^5.6.3", "ultracite": "5.3.9" }, "packageManager": "pnpm@9.12.3", "pnpm": { "overrides": { "sharp": "^0.34.5" } } }