{
  "name": "audio-book-server",
  "version": "1.0.0",
  "description": "AI有声书生成工具后端服务",
  "main": "dist/app.js",
  "scripts": {
    "dev": "tsx watch src/app.ts",
    "build": "tsc",
    "start": "node dist/app.js",
    "test:unit": "vitest run --config vitest.config.mts",
    "test:unit:watch": "vitest --config vitest.config.mts",
    "test:coverage": "vitest run --config vitest.config.mts --coverage",
    "test:integration": "vitest run --config vitest.config.mts tests/integration",
    "test:smoke": "npx playwright test --project=smoke --config=../tests/playwright.config.ts",
    "test:regression": "npx playwright test --project=regression --config=../tests/playwright.config.ts",
    "test:all": "npx playwright test --config=../tests/playwright.config.ts",
    "test:report": "npx playwright show-report ../tests/test-results/report",
    "deploy:check": "npm run test:smoke"
  },
  "dependencies": {
    "@alicloud/credentials": "^2.4.4",
    "@alicloud/green20220302": "^3.2.4",
    "@alicloud/openapi-client": "^0.4.15",
    "@alicloud/tea-util": "^1.4.11",
    "@koa/bodyparser": "^6.1.0",
    "@koa/cors": "^5.0.0",
    "@koa/router": "^12.0.1",
    "@langchain/community": "^0.0.56",
    "@langchain/core": "^1.1.39",
    "@langchain/langgraph": "^1.2.8",
    "@prisma/client": "^6.19.3",
    "@sentry/node": "^10.49.0",
    "@sentry/profiling-node": "^10.49.0",
    "@types/ws": "^8.18.1",
    "ali-oss": "^6.23.0",
    "alipay-sdk": "^4.14.0",
    "axios": "^1.7.2",
    "bull": "^4.16.5",
    "crypto-js": "^4.2.0",
    "dotenv": "^16.4.5",
    "fluent-ffmpeg": "^2.1.2",
    "ioredis": "^5.10.1",
    "is-generator-function": "^1.1.2",
    "jsonrepair": "^3.14.0",
    "jsonwebtoken": "^9.0.2",
    "koa": "^3.1.2",
    "koa-body": "^7.0.1",
    "koa-mount": "^4.2.0",
    "koa-static": "^5.0.0",
    "langchain": "^0.1.36",
    "mammoth": "^1.12.0",
    "mysql2": "^3.20.0",
    "openai": "^6.34.0",
    "pdf-parse": "^1.1.1",
    "prisma": "^6.19.3",
    "rate-limiter-flexible": "^11.0.1",
    "uuid": "^9.0.1",
    "wechatpay-node-v3": "^2.2.1",
    "winston": "^3.19.0",
    "ws": "^8.20.0"
  },
  "devDependencies": {
    "@playwright/test": "^1.60.0",
    "@types/crypto-js": "^4.2.2",
    "@types/fluent-ffmpeg": "^2.1.24",
    "@types/jsonwebtoken": "^9.0.6",
    "@types/koa": "^2.15.0",
    "@types/koa__cors": "^5.0.0",
    "@types/koa__router": "^12.0.4",
    "@types/node": "^20.14.2",
    "@types/uuid": "^9.0.8",
    "@vitest/coverage-v8": "^2.0.0",
    "ts-node": "^10.9.2",
    "tsx": "^4.11.2",
    "typescript": "^5.4.5",
    "vitest": "^2.0.0"
  }
}
