{
  "name": "server",
  "version": "1.0.0",
  "description": "BaoLife Node.js/TypeScript WebSocket game server",
  "main": "dist/index.js",
  "type": "module",
  "scripts": {
    "dev": "tsx watch src/index.ts",
    "build": "tsc",
    "start": "node dist/index.js",
    "test": "vitest",
    "test:run": "vitest run",
    "test:coverage": "vitest run --coverage",
    "test:contracts": "vitest run tests/contracts/",
    "contract:docs": "tsx scripts/generate-contract-docs.ts",
    "metrics": "vitest run tests/e2e/metrics.test.ts --reporter=verbose",
    "typecheck": "tsc --noEmit"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@types/jsonwebtoken": "^9.0.10",
    "dotenv": "^17.2.3",
    "jsonwebtoken": "^9.0.3",
    "mysql2": "^3.16.0",
    "openai": "^6.15.0",
    "uuid": "^13.0.0",
    "ws": "^8.18.3",
    "zod": "^4.2.1"
  },
  "devDependencies": {
    "@types/node": "^25.0.3",
    "@types/ws": "^8.18.1",
    "@vitest/coverage-v8": "^4.0.16",
    "tsx": "^4.21.0",
    "typescript": "^5.9.3",
    "vitest": "^4.0.16"
  }
}
