{
  "name": "crewx",
  "version": "0.8.8",
  "description": "CrewX — AI agent team dashboard with Electron UI and CLI (Web + Electron + Global CLI)",
  "main": "server.js",
  "bin": {
    "crewx": "bin/crewx.js"
  },
  "files": [
    "dist",
    "dist-electron",
    "dist-server",
    "packages/cli/dist",
    "packages/cli/package.json",
    "packages/cli/templates",
    "server.js",
    "bin",
    "!**/__tests__",
    "!**/*.test.*",
    "!**/*.spec.*"
  ],
  "author": {
    "name": "Doha Park",
    "email": "doha.park@sowonlabs.com"
  },
  "license": "UNLICENSED",
  "dependencies": {
    "@dnd-kit/core": "^6.3.1",
    "@dnd-kit/sortable": "^10.0.0",
    "@dnd-kit/utilities": "^3.2.2",
    "@modelcontextprotocol/sdk": "1.27.0",
    "@nestjs/common": "11.1.21",
    "@nestjs/config": "4.0.3",
    "@nestjs/core": "11.1.21",
    "@nestjs/platform-express": "11.1.21",
    "@nestjs/swagger": "11.4.3",
    "@nestjs/throttler": "6.5.0",
    "@slack/bolt": "4.4.0",
    "@slack/web-api": "7.10.0",
    "@sowonai/nestjs-mcp-adapter": "0.1.3",
    "@xyflow/react": "^12.11.0",
    "ajv": "8.17.1",
    "ajv-formats": "3.0.1",
    "alasql": "4.17.0",
    "better-sqlite3": "12.8.0",
    "ccusage": "15.2.0",
    "chalk": "4.1.2",
    "citty": "0.2.2",
    "class-transformer": "0.5.1",
    "class-validator": "0.15.1",
    "cookie-parser": "1.4.7",
    "date-fns": "^4.3.0",
    "dotenv": "17.2.3",
    "elkjs": "^0.11.1",
    "execa": "8.0.1",
    "express": "4.21.2",
    "fast-glob": "3.3.0",
    "giget": "2.0.0",
    "handlebars": "4.7.9",
    "ignore": "5.2.0",
    "isomorphic-git": "1.37.1",
    "jose": "6.2.2",
    "js-tiktoken": "1.0.21",
    "js-yaml": "4.1.1",
    "md-to-slack": "1.0.0",
    "nanoid": "3.3.11",
    "node-forge": "1.4.0",
    "open": "11.0.0",
    "react-day-picker": "^10.0.1",
    "reflect-metadata": "0.2.2",
    "remark-parse": "11.0.0",
    "remark-stringify": "11.0.0",
    "rxjs": "^7.8.1",
    "swagger-ui-express": "5.0.1",
    "unified": "11.0.5",
    "unist-util-visit": "5.0.0",
    "wink-bm25-text-search": "3.1.2",
    "wink-nlp-utils": "2.1.0",
    "yargs": "17.7.0",
    "zod": "3.25.76",
    "@crewx/cli": "0.8.8",
    "@crewx/cron": "0.1.10",
    "@crewx/doc": "0.1.8",
    "@crewx/dreaming": "0.1.0",
    "@crewx/knowledge-core": "0.1.17",
    "@crewx/memory": "0.1.23",
    "@crewx/search": "0.1.10",
    "@crewx/chromex": "0.1.0",
    "@crewx/wbs": "0.1.10",
    "@crewx/sdk": "0.8.8",
    "@crewx/wi": "0.1.10",
    "@crewx/workflow": "0.3.22",
    "@crewx/shared": "0.0.5",
    "@crewx/skill": "0.1.20"
  },
  "devDependencies": {
    "@ccusage/codex": "0.0.1",
    "@huggingface/transformers": "^4.2.0",
    "@nestjs/cli": "11.0.21",
    "@nestjs/testing": "11.1.21",
    "@swc-node/register": "1.11.1",
    "@swc/core": "1.15.11",
    "@tailwindcss/typography": "0.5.19",
    "@testing-library/dom": "10.4.1",
    "@testing-library/jest-dom": "6.9.1",
    "@testing-library/react": "16.3.2",
    "@testing-library/user-event": "14.6.1",
    "@tiptap/extension-link": "3.22.4",
    "@tiptap/extension-mention": "3.22.3",
    "@tiptap/extension-placeholder": "3.22.3",
    "@tiptap/extension-table": "3.22.3",
    "@tiptap/extension-table-cell": "3.22.3",
    "@tiptap/extension-table-header": "3.22.3",
    "@tiptap/extension-table-row": "3.22.3",
    "@tiptap/react": "3.22.3",
    "@tiptap/starter-kit": "3.22.3",
    "@types/better-sqlite3": "7.6.12",
    "@types/cookie-parser": "1.4.10",
    "@types/d3": "7.4.3",
    "@types/express": "5.0.0",
    "@types/js-yaml": "4.0.9",
    "@types/node": "20.10.0",
    "@types/node-forge": "1.3.14",
    "@types/react": "18.2.0",
    "@types/react-dom": "18.2.0",
    "@types/supertest": "7.2.0",
    "@types/uuid": "9.0.0",
    "@vitejs/plugin-react": "4.2.0",
    "autoprefixer": "10.4.16",
    "chart.js": "4.5.1",
    "chartjs-plugin-annotation": "3.1.0",
    "concurrently": "8.2.2",
    "d3": "7.9.0",
    "dependency-cruiser": "17.4.0",
    "dompurify": "3.3.3",
    "electron": "39.8.10",
    "electron-builder": "25.1.8",
    "eslint": "8.55.0",
    "highlight.js": "11.11.1",
    "i18next": "25.8.11",
    "i18next-browser-languagedetector": "8.2.1",
    "jsdom": "28.1.0",
    "lucide-react": "0.563.0",
    "mermaid": "11.4.1",
    "postcss": "8.4.32",
    "react": "18.2.0",
    "react-chartjs-2": "5.3.1",
    "react-dom": "18.2.0",
    "react-i18next": "16.5.4",
    "react-markdown": "10.1.0",
    "react-router-dom": "7.13.0",
    "react-zoom-pan-pinch": "3.7.0",
    "rehype-highlight": "7.0.2",
    "remark-breaks": "4.0.0",
    "remark-gfm": "4.0.1",
    "supertest": "7.2.2",
    "tailwindcss": "3.3.6",
    "tiptap-markdown": "0.9.0",
    "tsup": "8.5.1",
    "tsx": "4.6.2",
    "typescript": "5.9.3",
    "vite": "5.0.12",
    "vite-plugin-electron": "0.29.0",
    "vitest": "3.2.4",
    "zustand": "4.5.0"
  },
  "optionalDependencies": {
    "electron": "39.8.10"
  },
  "overrides": {
    "@crewx/sdk": {
      "reflect-metadata": "$reflect-metadata"
    }
  },
  "build": {
    "appId": "com.sowonlabs.crewx-desktop",
    "productName": "CrewX Desktop",
    "directories": {
      "output": "release"
    },
    "files": [
      "dist/**/*",
      "dist-electron/**/*",
      "dist-server/**/*",
      "package.json"
    ],
    "mac": {
      "category": "public.app-category.developer-tools",
      "target": [
        "dmg",
        "zip"
      ]
    },
    "win": {
      "target": [
        "nsis",
        "portable"
      ]
    }
  },
  "scripts": {
    "dev": "pm2 start ecosystem.dev.config.cjs",
    "dev:stop": "pm2 stop crewx-server crewx-ui crewx-wireframe",
    "dev:restart": "pm2 restart crewx-server crewx-ui crewx-wireframe",
    "dev:logs": "pm2 logs crewx-server crewx-ui crewx-wireframe",
    "dev:status": "pm2 list | grep crewx",
    "dev:server": "nest start --watch",
    "dev:ui": "vite",
    "dev:electron": "ELECTRON=true vite",
    "build:sdk": "pnpm -F @crewx/sdk run build",
    "db:generate": "pnpm -F @crewx/sdk run db:generate",
    "db:check": "pnpm -F @crewx/sdk run db:check",
    "build:built-in": "pnpm -r --filter './packages/built-in/*' run build",
    "clean": "rm -rf dist/ dist-server/ packages/cli/dist/ packages/sdk/dist/",
    "build": "pnpm run build:sdk && pnpm run build:built-in && pnpm run build:cli && pnpm run build:server && pnpm run build:ui",
    "build:cli": "cd packages/cli && npm run build",
    "build:server": "tsc -p tsconfig.server.json && cp src/server/domain/market/default-marketplace.json dist-server/domain/market/ && node scripts/emit-dist-server-package-json.mjs",
    "build:ui": "vite build",
    "build:chromex": "pnpm -F @crewx/chromex-ext run build",
    "build:web": "npm run build",
    "build:electron": "ELECTRON=true vite build && npm run build:server && electron-builder",
    "preview": "vite preview",
    "lint": "eslint src --ext .ts,.tsx",
    "test": "vitest run --config vitest.packages.config.ts && vitest run --config vitest.server.config.ts",
    "test:all": "vitest run && vitest run --config vitest.server.config.ts",
    "test:watch": "vitest",
    "test:ui": "vitest run",
    "test:server": "vitest run --config vitest.server.config.ts",
    "type-check": "tsc --noEmit",
    "build:manual": "node scripts/build-manual.mjs"
  }
}