-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpackage.json
More file actions
130 lines (130 loc) · 6.38 KB
/
package.json
File metadata and controls
130 lines (130 loc) · 6.38 KB
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
{
"name": "backend-switchai",
"version": "1.0.0",
"type": "module",
"scripts": {
"dev": "npx dotenvx run --env-file .env.local -- tsx watch src/index.ts",
"start": "npx dotenvx run --env-file .env.production -- node dist/index.js",
"build": "tsc",
"format": "prettier --write \"src/**/*.ts\"",
"format:check": "prettier --check \"src/**/*.ts\"",
"encrypt": "dotenvx encrypt",
"encrypt:local": "dotenvx encrypt -f .env.local",
"encrypt:prod": "dotenvx encrypt -f .env.production",
"decrypt": "dotenvx decrypt",
"decrypt:local": "dotenvx decrypt -f .env.local",
"decrypt:prod": "dotenvx decrypt -f .env.production",
"db:generate": "drizzle-kit generate",
"db:migrate": "drizzle-kit migrate",
"db:studio": "dotenvx run --env-file .env.local -- drizzle-kit studio --config drizzle.config.ts",
"db:drop": "drizzle-kit drop",
"db:reset": "pnpm db:drop && pnpm db:migrate",
"db:pull": "drizzle-kit pull",
"db:push": "drizzle-kit push",
"supabase:start": "supabase start",
"supabase:stop": "supabase stop",
"supabase:status": "supabase status",
"lint": "eslint src",
"lint:fix": "eslint src --fix",
"lint:fix:auto": "pnpm lint:fix && pnpm format",
"lint:unused": "pnpm lint:unused:vars && pnpm lint:unused:exports && pnpm lint:unused:files",
"lint:unused:vars": "eslint src",
"lint:unused:exports": "ts-unused-exports ts-unused-exports.config.json",
"lint:unused:files": "unimported",
"lint:all": "pnpm lint && pnpm lint:unused",
"lint:report": "pnpm lint:unused > lint-report.txt 2>&1 || true && echo 'Lint report saved to lint-report.txt'",
"lint:summary": "echo '=== Unused Variables/Imports ===' && pnpm lint:unused:vars --quiet | grep -E '(error|warning)' | wc -l && echo '=== Unused Exports ===' && pnpm lint:unused:exports 2>/dev/null | grep 'modules with unused exports' && echo '=== Unused Files ===' && pnpm lint:unused:files 2>/dev/null | grep -E '(unimported files|unused dependencies)' || true",
"test": "dotenvx run --env-file .env.local -- node testing/scripts/enhanced-test-runner.js",
"test:quick": "dotenvx run --env-file .env.local -- node testing/scripts/quick-test.js",
"test:status": "dotenvx run --env-file .env.local -- node testing/scripts/quick-test.js --status",
"test:intent": "dotenvx run --env-file .env.local -- node testing/scripts/quick-test.js intent-recognition",
"test:quality": "dotenvx run --env-file .env.local -- node testing/scripts/quick-test.js content-quality",
"test:structure": "dotenvx run --env-file .env.local -- node testing/scripts/quick-test.js response-structure",
"test:edge": "dotenvx run --env-file .env.local -- node testing/scripts/quick-test.js edge-cases",
"test:ux": "dotenvx run --env-file .env.local -- node testing/scripts/quick-test.js user-experience",
"test:db": "dotenvx run --env-file .env.local -- node testing/scripts/quick-test.js database-integration",
"test:regression": "dotenvx run --env-file .env.local -- node testing/scripts/quick-test.js regression",
"test:cleanup": "rm -rf testing/reports/* testing/data/* testing/temp/*",
"test:security": "tsx src/tests/security.test.ts",
"test:security:verbose": "tsx src/tests/security.test.ts --verbose",
"test:security:ci": "tsx src/tests/security.test.ts --ci",
"test:langchain": "dotenvx run --env-file .env.local -- tsx src/tests/langchain.test.ts",
"test:langchain:verbose": "dotenvx run --env-file .env.local -- tsx src/tests/langchain.test.ts --verbose",
"test:langchain:retriever": "dotenvx run --env-file .env.local -- tsx src/tests/langchain-retriever.test.ts",
"test:langchain:chain": "dotenvx run --env-file .env.local -- tsx src/tests/langchain-chain.test.ts",
"eval:setup": "dotenvx run --env-file .env.local -- tsx src/services/langchain/evaluation.ts setup",
"eval:quick": "dotenvx run --env-file .env.local -- tsx src/services/langchain/evaluation.ts quick",
"eval:list": "dotenvx run --env-file .env.local -- tsx src/services/langchain/evaluation.ts list",
"eval:comprehensive": "dotenvx run --env-file .env.local -- tsx src/services/langchain/evaluation.ts comprehensive",
"eval:filter": "dotenvx run --env-file .env.local -- tsx src/services/langchain/evaluation.ts filter",
"audit": "pnpm audit",
"audit:fix": "pnpm audit fix",
"audit:high": "pnpm audit --audit-level=high",
"audit:critical": "pnpm audit --audit-level=critical",
"audit:security": "pnpm audit --audit-level=high --json | node -e 'const audit = JSON.parse(require(\"fs\").readFileSync(0, \"utf8\")); const v = audit.metadata?.vulnerabilities || {}; console.log(\"Critical:\", v.critical || 0, \"High:\", v.high || 0); if ((v.critical || 0) > 0 || (v.high || 0) > 0) process.exit(1);'",
"audit:secrets": "node scripts/audit-secrets.js",
"audit:secrets:ci": "node scripts/audit-secrets.js --ci",
"mix": "npx repomix"
},
"devDependencies": {
"@dotenvx/dotenvx": "^1.44.1",
"@ianvs/prettier-plugin-sort-imports": "^4.4.1",
"@types/bcrypt": "^5.0.2",
"@types/cors": "^2.8.17",
"@types/express": "^5.0.2",
"@types/figlet": "^1.5.8",
"@types/jsonwebtoken": "^9.0.9",
"@types/node": "^22.15.23",
"@types/uuid": "^10.0.0",
"@typescript-eslint/eslint-plugin": "^8.33.1",
"@typescript-eslint/parser": "^8.33.1",
"chalk": "^5.4.1",
"cors": "^2.8.5",
"dotenv": "^16.5.0",
"drizzle-kit": "^0.31.1",
"drizzle-orm": "^0.44.0",
"eslint": "^9.28.0",
"eslint-plugin-unused-imports": "^4.1.4",
"figlet": "^1.7.0",
"gradient-string": "^3.0.0",
"node-fetch": "^3.3.2",
"postgres": "^3.4.7",
"prettier": "^3.5.3",
"prettier-plugin-tailwindcss": "^0.6.11",
"sharp": "^0.34.2",
"supabase": "^1.142.2",
"ts-unused-exports": "^11.0.1",
"tsx": "^4.7.1",
"typescript": "^5.4.2",
"unimported": "^1.31.1"
},
"dependencies": {
"@anthropic-ai/sdk": "^0.54.0",
"@google/generative-ai": "^0.24.1",
"@huggingface/transformers": "^3.5.1",
"@langchain/community": "^0.3.46",
"@langchain/core": "^0.3.59",
"@langchain/google-genai": "^0.2.12",
"@supabase/supabase-js": "^2.49.8",
"@tensorflow/tfjs": "^4.22.0",
"@types/express": "^5.0.2",
"@types/helmet": "^4.0.0",
"@xenova/transformers": "^2.17.2",
"bcrypt": "^6.0.0",
"express": "^5.1.0",
"express-rate-limit": "^7.4.1",
"google-auth-library": "^10.1.0",
"helmet": "^8.1.0",
"jsonwebtoken": "^9.0.2",
"langchain": "^0.3.28",
"langsmith": "^0.3.33",
"onnxruntime-node": "^1.22.0",
"uuid": "^11.1.0",
"zod": "^3.25.56"
},
"pnpm": {
"onlyBuiltDependencies": [
"sharp"
]
}
}