{ "name": "codex-ai-platform", "private": true, "version": "0.0.0", "type": "module", "scripts": { "client:dev": "vite", "build": "tsc -b && vite build && tsc -p tsconfig.server.json", "lint": "eslint .", "preview": "vite preview", "check": "tsc --noEmit", "server:dev": "nodemon", "dev": "concurrently \"pnpm run client:dev\" \"pnpm run server:dev\"", "tauri": "tauri", "cap:sync": "cap sync", "cap:open:ios": "cap open ios", "cap:open:android": "cap open android" }, "dependencies": { "@capacitor/android": "^8.2.0", "@capacitor/core": "^8.2.0", "@capacitor/ios": "^8.2.0", "@supabase/supabase-js": "^2.45.4", "@tauri-apps/api": "^2.10.1", "@tauri-apps/plugin-shell": "^2.3.5", "@types/pg": "^8.18.0", "alipay-sdk": "^4.14.0", "axios": "^1.13.6", "bcryptjs": "^3.0.3", "better-sqlite3": "^12.6.2", "bullmq": "^5.12.0", "cheerio": "^1.2.0", "clsx": "^2.1.1", "cors": "^2.8.5", "dexie": "^4.3.0", "dotenv": "^17.2.1", "express": "^4.21.2", "express-rate-limit": "^8.3.1", "framer-motion": "^11.11.11", "i18next": "^23.11.5", "i18next-browser-languagedetector": "^8.0.0", "ioredis": "^5.4.1", "jsonwebtoken": "^9.0.3", "lucide-react": "^0.511.0", "mammoth": "^1.12.0", "multer": "^2.1.1", "openai": "^4.71.1", "pdf-parse": "^2.4.5", "pg": "^8.20.0", "pouchdb-adapter-idb": "^9.0.0", "qrcode.react": "^4.2.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-helmet-async": "^3.0.0", "react-i18next": "^14.1.2", "react-markdown": "^10.1.0", "react-router-dom": "^7.3.0", "reactflow": "^11.11.4", "recharts": "^3.8.0", "remark-gfm": "^4.0.1", "rxdb": "^16.21.1", "rxjs": "^7.8.2", "socket.io": "^4.8.3", "socket.io-client": "^4.8.3", "stripe": "^17.3.0", "tailwind-merge": "^3.0.2", "zod": "^4.3.6", "zustand": "^5.0.3" }, "devDependencies": { "@capacitor/cli": "^8.2.0", "@eslint/js": "^9.25.0", "@tauri-apps/cli": "^2.10.1", "@types/bcryptjs": "^3.0.0", "@types/better-sqlite3": "^7.6.13", "@types/cors": "^2.8.19", "@types/express": "^4.17.21", "@types/jsonwebtoken": "^9.0.10", "@types/node": "^22.15.30", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@types/socket.io": "^3.0.2", "@types/socket.io-client": "^3.0.0", "@vercel/node": "^5.3.6", "@vitejs/plugin-react": "^4.4.1", "autoprefixer": "^10.4.21", "babel-plugin-react-dev-locator": "^1.0.0", "concurrently": "^9.2.0", "eslint": "^9.25.0", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.19", "globals": "^16.0.0", "nodemon": "^3.1.10", "postcss": "^8.5.3", "tailwindcss": "^3.4.17", "tsx": "^4.20.3", "typescript": "~5.8.3", "typescript-eslint": "^8.30.1", "vite": "^6.3.5", "vite-plugin-pwa": "^0.21.1", "vite-plugin-trae-solo-badge": "^1.0.0", "vite-tsconfig-paths": "^5.1.4" } }