{
  "name": "automixsj88-codex",
  "version": "1.0.0",
  "description": "Standalone AutoMixSJ88 app generated in the codex workspace",
  "private": true,
  "main": "server/index.js",
  "scripts": {
    "start": "node server/index.js",
    "start:web": "node server/server-web.js",
    "start:worker": "node server/server-worker.js",
    "dev": "node --watch server/index.js",
    "local:start": "powershell -ExecutionPolicy Bypass -File ./scripts/local-stack/start-local.ps1",
    "local:stop": "powershell -ExecutionPolicy Bypass -File ./scripts/local-stack/stop-local.ps1",
    "local:status": "powershell -ExecutionPolicy Bypass -File ./scripts/local-stack/status-local.ps1",
    "smoke:full:no-audio": "node scripts/smoke/full_system_no_audio.js",
    "smoke:free1:voice-defaults": "node scripts/smoke/free1_voice_defaults_policy.js",
    "smoke:free1:admin-insights": "node scripts/smoke/free1_admin_insights_graph_pack.js",
    "smoke:tts:3.1:unit": "node scripts/smoke/tts_31_compat_unit.js",
    "smoke:tts:3.1:emotion:unit": "node scripts/smoke/tts_31_emotion_diversity_unit.js",
    "smoke:tts:3.1": "node scripts/smoke/tts_31_runtime_smoke.js"
  },
  "engines": {
    "node": ">=20"
  },
  "dependencies": {
    "archiver": "^7.0.1",
    "bcryptjs": "^2.4.3",
    "cors": "^2.8.5",
    "dotenv": "^16.6.1",
    "edge-tts": "^1.0.1",
    "express": "^4.21.2",
    "express-rate-limit": "^8.3.2",
    "ffmpeg-static": "^5.3.0",
    "ffprobe-static": "^3.1.0",
    "helmet": "^8.1.0",
    "jsonwebtoken": "^9.0.2",
    "multer": "^1.4.5-lts.2",
    "mysql2": "^3.15.3",
    "uuid": "^10.0.0"
  }
}
