{
  "name": "gadget-code",
  "version": "1.0.0",
  "description": "Gadget Code - A self-hosted Agentic Engineering Platform (AEP).",
  "type": "module",
  "bin": {
    "gadget-code": "./dist/web-cli.js",
    "gadget-code-web": "./dist/web-app.js"
  },
  "main": "index.js",
  "scripts": {
    "build": "pnpm build:backend",
    "build:backend": "pnpm tsc && pnpm tsc-alias",
    "build:frontend": "cd frontend && pnpm build",
    "dev": "tsx ./src/web-app.ts",
    "dev:backend": "tsx ./src/web-app.ts",
    "dev:backend:watch": "tsx watch ./src/web-app.ts",
    "dev:frontend": "cd frontend && vite",
    "cli": "NODE_ENV=production node ./dist/web-cli.js",
    "start": "NODE_ENV=production node ./dist/web-app.js",
    "test": "vitest"
  },
  "keywords": [],
  "author": "Robert Colbert <rob.colbert@openplatform.us>",
  "license": "Apache-2.0",
  "packageManager": "pnpm@10.12.3",
  "dependencies": {
    "@fortawesome/fontawesome-free": "^6.7.2",
    "@gadget/ai": "workspace:*",
    "@gadget/api": "workspace:*",
    "@gadget/config": "workspace:*",
    "@react-three/drei": "^10.7.7",
    "@react-three/fiber": "^9.6.1",
    "ansicolor": "^2.0.3",
    "bull": "^4.16.5",
    "chart.js": "^4.5.0",
    "compression": "^1.8.0",
    "connect-redis": "^8.0.2",
    "cookie-parser": "^1.4.7",
    "cron": "^4.3.1",
    "dayjs": "^1.11.13",
    "dtp-cleantext": "^1.0.0",
    "express": "^5.1.0",
    "express-rate-limit": "^7.5.1",
    "express-session": "^1.18.1",
    "geoip-lite": "^1.4.10",
    "has-flag": "^5.0.1",
    "ioredis": "^5.6.0",
    "jsonwebtoken": "^9.0.2",
    "marked": "^16.0.0",
    "method-override": "^3.0.0",
    "minio": "^8.0.5",
    "mongoose": "^8.16.1",
    "morgan": "^1.10.0",
    "multer": "^2.0.1",
    "nanoid": "^5.1.11",
    "nodemailer": "^7.0.3",
    "numeral": "^2.0.6",
    "pug": "^3.0.3",
    "react": "^19.2.5",
    "react-dom": "^19.2.5",
    "react-router-dom": "^7.14.2",
    "rotating-file-stream": "^3.2.6",
    "serve-favicon": "^2.5.1",
    "slug": "^11.0.1",
    "socket.io": "^4.8.3",
    "socket.io-client": "^4.8.3",
    "three": "^0.184.0",
    "uikit": "^3.23.11",
    "undici": "^8.1.0",
    "uuid": "^11.1.0"
  },
  "devDependencies": {
    "@playwright/test": "^1.59.1",
    "@tailwindcss/postcss": "^4.2.4",
    "@testing-library/jest-dom": "^6.9.1",
    "@testing-library/react": "^16.3.2",
    "@types/browser-sync": "^2.29.0",
    "@types/compression": "^1.8.1",
    "@types/cookie-parser": "^1.4.9",
    "@types/express": "^5.0.3",
    "@types/express-session": "^1.18.2",
    "@types/geoip-lite": "^1.4.4",
    "@types/jsonwebtoken": "^9.0.10",
    "@types/less": "^3.0.8",
    "@types/method-override": "^3.0.0",
    "@types/morgan": "^1.9.10",
    "@types/multer": "^1.4.13",
    "@types/node": "^24.0.4",
    "@types/nodemailer": "^6.4.17",
    "@types/numeral": "^2.0.5",
    "@types/react": "^19.2.14",
    "@types/serve-favicon": "^2.5.7",
    "@types/slug": "^5.0.9",
    "@types/uikit": "^3.14.5",
    "@types/uuid": "^10.0.0",
    "@vitejs/plugin-react": "^6.0.1",
    "autoprefixer": "^10.5.0",
    "browser-sync": "^3.0.4",
    "esbuild": "^0.25.5",
    "globals": "^16.2.0",
    "jsdom": "^29.0.2",
    "less": "^4.3.0",
    "postcss": "^8.5.10",
    "tailwindcss": "^4.2.4",
    "tsc-alias": "^1.0.7",
    "tslib": "^2.8.1",
    "tsx": "^4.19.2",
    "typescript": "^5.8.3",
    "vite": "^8.0.10",
    "vitest": "^4.1.5"
  }
}
