{ "name": "@goodgo/api", "version": "0.0.1", "private": true, "scripts": { "dev": "nest start --watch", "build": "nest build", "start": "node dist/main", "start:prod": "node dist/main", "lint": "eslint src/", "test": "vitest run", "test:integration": "vitest run --config vitest.integration.config.ts", "typecheck": "tsc --noEmit" }, "dependencies": { "@anthropic-ai/sdk": "^0.89.0", "@aws-sdk/client-s3": "^3.1026.0", "@aws-sdk/s3-request-presigner": "^3.1026.0", "@goodgo/mcp-servers": "workspace:*", "@goodgo/contracts-events": "workspace:*", "@nest-lab/throttler-storage-redis": "^1.2.0", "@nestjs/bullmq": "^11.0.4", "@nestjs/common": "^11.0.0", "@nestjs/config": "^4.0.4", "@nestjs/core": "^11.0.0", "@nestjs/cqrs": "^11.0.0", "@nestjs/event-emitter": "^3.0.0", "@nestjs/jwt": "^11.0.2", "@nestjs/passport": "^11.0.5", "@nestjs/platform-express": "^11.0.0", "@nestjs/platform-socket.io": "^11.1.19", "@nestjs/schedule": "^6.1.1", "@nestjs/swagger": "^11.2.7", "@nestjs/terminus": "^11.1.1", "@nestjs/throttler": "^6.5.0", "@nestjs/websockets": "^11.1.19", "@paralleldrive/cuid2": "^3.3.0", "@prisma/adapter-pg": "^7.7.0", "@prisma/client": "^7.7.0", "@sentry/nestjs": "^10.47.0", "@sentry/profiling-node": "^10.47.0", "@socket.io/redis-adapter": "^8.3.0", "@willsoto/nestjs-prometheus": "^6.1.0", "bcrypt": "^6.0.0", "bullmq": "^5.74.1", "class-transformer": "^0.5.1", "class-validator": "^0.15.1", "cookie-parser": "^1.4.7", "firebase-admin": "^13.7.0", "handlebars": "^4.7.9", "helmet": "^8.1.0", "ioredis": "^5.4.0", "nodemailer": "^8.0.5", "otplib": "^13.4.0", "passport": "^0.7.0", "passport-google-oauth20": "^2.0.0", "passport-jwt": "^4.0.1", "passport-local": "^1.0.0", "pg": "^8.20.0", "pino": "^10.3.1", "pino-pretty": "^13.0.0", "prom-client": "^15.1.3", "puppeteer": "^24.41.0", "qrcode": "^1.5.4", "reflect-metadata": "^0.2.0", "rxjs": "^7.8.0", "sanitize-html": "^2.17.2", "socket.io": "^4.8.3", "swagger-ui-express": "^5.0.1", "typesense": "^3.0.5" }, "devDependencies": { "@nestjs/cli": "^11.0.0", "@nestjs/schematics": "^11.0.0", "@nestjs/testing": "^11.0.0", "@types/bcrypt": "^6.0.0", "@types/cookie-parser": "^1.4.10", "@types/express": "^5.0.0", "@types/node": "^25.5.2", "@types/nodemailer": "^8.0.0", "@types/passport-google-oauth20": "^2.0.17", "@types/passport-jwt": "^4.0.1", "@types/passport-local": "^1.0.38", "@types/pg": "^8.20.0", "@types/qrcode": "^1.5.6", "@types/sanitize-html": "^2.16.1", "@types/supertest": "^7.2.0", "prisma": "^7.7.0", "supertest": "^7.2.2", "typescript": "^6.0.2", "vitest": "^4.1.3" } }