Security hardening release addressing CodeQL and Dependabot alerts: - Fix stack trace exposure in error responses - Add SSRF protection with DNS resolution checking - Implement proper URL hostname validation (replaces substring matching) - Add centralized path sanitization to prevent path traversal - Fix ReDoS vulnerability in email validation regex - Improve HTML sanitization in validation utilities - Fix capability wildcard matching in auth utilities - Update glob dependency to address CVE - Add CodeQL suppression comments for verified false positives 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
68 lines
3.0 KiB
JSON
68 lines
3.0 KiB
JSON
{
|
|
"name": "gt2",
|
|
"version": "1.0.0",
|
|
"description": "GT 2.0 - Enterprise AI as a Service Platform",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "concurrently \"npm run dev:control-panel\" \"npm run dev:tenant-app\" \"npm run dev:resource-cluster\"",
|
|
"dev:control-panel": "concurrently \"cd apps/control-panel-frontend && npm run dev\" \"cd apps/control-panel-backend && uvicorn app.main:app --reload --port 8001\"",
|
|
"dev:tenant-app": "concurrently \"cd apps/tenant-app && npm run dev --port 3001\" \"cd apps/tenant-backend && uvicorn app.main:app --reload --port 8002\"",
|
|
"dev:resource-cluster": "cd apps/resource-cluster && uvicorn app.main:app --reload --port 8003",
|
|
"build": "npm run build:packages && npm run build:apps",
|
|
"build:packages": "npm run build --workspace=packages/ui --workspace=packages/config --workspace=packages/types --workspace=packages/utils",
|
|
"build:apps": "npm run build --workspace=apps/control-panel-frontend --workspace=apps/tenant-app",
|
|
"test": "npm run test --workspaces --if-present",
|
|
"test:backend": "cd apps/control-panel-backend && pytest",
|
|
"test:frontend": "cd apps/control-panel-frontend && npm test",
|
|
"test:packages": "cd packages/utils && npm test",
|
|
"test:coverage": "npm run test:backend -- --cov && npm run test:frontend -- --coverage && npm run test:packages -- --coverage",
|
|
"test:watch": "concurrently \"npm run test:backend -- --watch\" \"npm run test:frontend -- --watch\" \"npm run test:packages -- --watch\"",
|
|
"lint": "npm run lint --workspaces --if-present",
|
|
"typecheck": "npm run typecheck --workspaces --if-present",
|
|
"docker:dev": "docker-compose -f infra/docker/docker-compose.dev.yml up -d",
|
|
"docker:down": "docker-compose -f infra/docker/docker-compose.dev.yml down",
|
|
"k8s:dev": "kubectl apply -f infra/kubernetes/dev/",
|
|
"mcp:playwright": "node .claude/mcp/servers/playwright/server.js",
|
|
"mcp:context7": "node .claude/mcp/servers/context7/server.js",
|
|
"mcp:dev": "concurrently \"npm run mcp:playwright\" \"npm run mcp:context7\"",
|
|
"claude": ".claude/scripts/start-claude-mcp.sh",
|
|
"claude:stop": ".claude/scripts/stop-mcp.sh"
|
|
},
|
|
"dependencies": {
|
|
"@modelcontextprotocol/sdk": "^1.24.3",
|
|
"@playwright/test": "^1.57.0",
|
|
"@types/node": "^24.2.1",
|
|
"@typescript-eslint/parser": "^8.39.1",
|
|
"acorn": "^8.15.0",
|
|
"acorn-walk": "^8.3.4",
|
|
"claude": "^0.1.1",
|
|
"concurrently": "^8.2.2",
|
|
"dotenv": "^17.2.1",
|
|
"fast-glob": "^3.3.3",
|
|
"fs-extra": "^11.3.1",
|
|
"glob": "^11.1.0",
|
|
"ignore": "^7.0.5",
|
|
"mime-types": "^3.0.1",
|
|
"playwright": "^1.57.0",
|
|
"ts-node": "^10.9.2",
|
|
"typescript": "^5.9.2"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/experimental-ct-react": "^1.57.0",
|
|
"@types/fs-extra": "^11.0.4",
|
|
"@types/mime-types": "^3.0.1",
|
|
"@typescript-eslint/eslint-plugin": "^8.41.0",
|
|
"eslint": "^9.34.0"
|
|
},
|
|
"keywords": [
|
|
"ai",
|
|
"saas",
|
|
"multi-tenant",
|
|
"enterprise",
|
|
"rag",
|
|
"kubernetes"
|
|
],
|
|
"author": "GT Edge AI",
|
|
"license": "MIT"
|
|
}
|