File size: 3,073 Bytes
6bb2fbe
 
 
 
 
 
 
c66336a
6bb2fbe
 
 
 
ae4ceef
 
 
 
 
6bb2fbe
 
ae4ceef
 
 
6bb2fbe
ae4ceef
 
 
662ac2a
ae4ceef
 
 
6bb2fbe
ae4ceef
6bb2fbe
 
ae4ceef
6bb2fbe
 
ae4ceef
6bb2fbe
 
 
 
ae4ceef
6bb2fbe
ae4ceef
 
6bb2fbe
ae4ceef
 
 
10cc58c
6bb2fbe
 
ae4ceef
6bb2fbe
ae4ceef
6bb2fbe
 
ae4ceef
 
 
 
 
 
6bb2fbe
 
ae4ceef
6bb2fbe
 
 
ae4ceef
6bb2fbe
ae4ceef
 
 
6bb2fbe
 
ae4ceef
6bb2fbe
 
 
ae4ceef
 
6bb2fbe
662ac2a
6bb2fbe
 
 
 
 
 
 
 
662ac2a
 
6bb2fbe
 
 
 
662ac2a
6bb2fbe
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
{
  "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"
  }
}