{ "name": "Suggest-Bet-BE", "version": "0.0.1", "description": "Generated by Antigravity CLI", "private": true, "license": "UNLICENSED", "scripts": { "build": "nest build", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", "start:prod": "node dist/main", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", "test": "jest", "test:watch": "jest --watch", "test:cov": "jest --coverage", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", "test:e2e": "jest --config ./test/jest-e2e.json", "full:run": "ts-node src/scripts/run-full-stack.ts", "run:all": "ts-node src/scripts/run-all-fe-compatible.ts", "ai:backtest": "python ai-engine/scripts/backtest_v2_runtime.py", "ai:train:vqwen": "python ai-engine/scripts/train_vqwen_v3.py", "feeder:historical": "ts-node -r tsconfig-paths/register src/scripts/run-feeder.ts", "feeder:repair": "ts-node -r tsconfig-paths/register src/scripts/run-feeder-repair.ts", "feeder:previous-day": "ts-node -r tsconfig-paths/register src/scripts/run-feeder-previous-day.ts", "feeder:fill-gaps": "ts-node -r tsconfig-paths/register src/scripts/run-feeder-filtered.ts", "feeder:basketball": "ts-node -r tsconfig-paths/register src/scripts/run-feeder-basketball.ts", "feeder:live": "ts-node -r tsconfig-paths/register src/scripts/run-live-feeder.ts", "cleanup:live": "ts-node -r tsconfig-paths/register src/scripts/cleanup-live-matches.ts", "swagger:summary": "ts-node -r tsconfig-paths/register src/scripts/export-swagger-endpoints-summary.ts", "postman:export": "ts-node -r tsconfig-paths/register src/scripts/export-postman-collection.ts", "predictions:backfill": "ts-node --transpile-only -r tsconfig-paths/register src/scripts/backfill-prediction-runs.ts", "predictions:report": "ts-node --transpile-only -r tsconfig-paths/register src/scripts/print-backtest-report.ts", "features:enrich": "ts-node --transpile-only -r tsconfig-paths/register src/scripts/run-feature-enrichment.ts", "features:enrich:heavy": "python ai-engine/scripts/enrich_ai_features.py", "ai:extract:v26": "python3 ai-engine/scripts/extract_training_data_v26.py", "ai:train:v26": "python3 ai-engine/scripts/train_v26_shadow.py", "ai:backtest:v26": "python3 ai-engine/scripts/backtest_v26_shadow.py", "ai:backtest:v26:roi": "python3 ai-engine/scripts/backtest_v26_shadow_roi_detail.py", "ai:backtest:v26:htft": "python3 ai-engine/scripts/backtest_v26_shadow_htft_upset.py", "ai:test": "python3 -m pytest ai-engine/tests/test_main_api.py ai-engine/tests/test_single_match_orchestrator.py ai-engine/tests/test_v26_shadow_engine.py" }, "dependencies": { "@aws-sdk/client-s3": "^3.964.0", "@google/genai": "^1.35.0", "@nestjs/axios": "^4.0.1", "@nestjs/bullmq": "^11.0.4", "@nestjs/cache-manager": "^3.1.0", "@nestjs/common": "^11.0.1", "@nestjs/config": "^4.0.2", "@nestjs/core": "^11.0.1", "@nestjs/jwt": "^11.0.2", "@nestjs/passport": "^11.0.5", "@nestjs/platform-express": "^11.0.1", "@nestjs/platform-socket.io": "^11.1.11", "@nestjs/schedule": "^6.1.0", "@nestjs/serve-static": "^5.0.4", "@nestjs/swagger": "^11.2.4", "@nestjs/terminus": "^11.0.0", "@nestjs/throttler": "^6.5.0", "@prisma/client": "^6.19.3", "axios": "^1.13.6", "bcrypt": "^6.0.0", "bullmq": "^5.66.4", "cache-manager": "^7.2.7", "cache-manager-redis-yet": "^5.1.5", "canvas": "^3.2.1", "cheerio": "^1.1.2", "class-transformer": "^0.5.1", "class-validator": "^0.14.3", "helmet": "^8.1.0", "ioredis": "^5.9.0", "nestjs-i18n": "^10.6.0", "nestjs-pino": "^4.5.0", "nodemailer": "^7.0.12", "p-limit": "^3.1.0", "passport": "^0.7.0", "passport-jwt": "^4.0.1", "pino": "^10.1.0", "pino-http": "^11.0.0", "prisma": "^6.19.3", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.1", "twitter-api-v2": "^1.29.0", "zod": "^4.3.5" }, "devDependencies": { "@eslint/eslintrc": "^3.2.0", "@eslint/js": "^9.18.0", "@nestjs/cli": "^11.0.0", "@nestjs/schematics": "^11.0.0", "@nestjs/testing": "^11.0.1", "@types/bcrypt": "^6.0.0", "@types/express": "^5.0.6", "@types/jest": "^30.0.0", "@types/node": "^22.10.7", "@types/nodemailer": "^7.0.4", "@types/passport-jwt": "^4.0.1", "@types/supertest": "^6.0.2", "eslint": "^9.18.0", "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.2", "globals": "^16.0.0", "jest": "^30.0.0", "pino-pretty": "^13.1.3", "prettier": "^3.4.2", "source-map-support": "^0.5.21", "supertest": "^7.0.0", "ts-jest": "^29.2.5", "ts-loader": "^9.5.2", "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", "typescript": "^5.7.3", "typescript-eslint": "^8.20.0" }, "jest": { "moduleFileExtensions": [ "js", "json", "ts" ], "rootDir": "src", "testRegex": ".*\\.spec\\.ts$", "transform": { "^.+\\.(t|j)s$": "ts-jest" }, "collectCoverageFrom": [ "**/*.(t|j)s" ], "coverageDirectory": "../coverage", "testEnvironment": "node" }, "prisma": { "seed": "ts-node prisma/seed.ts" } }