{ "name": "@factory/api", "version": "0.1.0", "private": true, "type": "module", "description": "AI Software Factory REST API v1 \u2014 NestJS modular monolith (auth, tenancy, pages, blocks, databases, files, search, automations, AI, webhooks).", "scripts": { "dev": "tsx watch src/main.ts", "build": "tsc -p tsconfig.json", "start": "node dist/main.js", "typecheck": "tsc -p tsconfig.json --noEmit", "test": "vitest run" }, "dependencies": { "@factory/ai": "workspace:*", "@factory/database-engine": "workspace:*", "@factory/observability": "workspace:*", "@factory/search": "workspace:*", "@factory/shared": "workspace:*", "@factory/storage": "workspace:*", "@factory/whiteboard": "workspace:*", "@nestjs/common": "^10.4.0", "@nestjs/core": "^10.4.0", "@nestjs/platform-express": "^10.4.0", "@prisma/client": "^6.19.3", "@xmldom/xmldom": "^0.8.10", "bcryptjs": "^2.4.3", "bullmq": "^5.12.0", "ioredis": "^5.4.1", "pino": "^9.4.0", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.1", "samlify": "^2.8.14", "swagger-ui-dist": "5.17.14", "uuid": "^10.0.0", "xml-crypto": "^6.1.1", "yaml": "2.9.1", "zod": "^3.23.8" }, "devDependencies": { "@types/bcryptjs": "^2.4.6", "@types/express": "^4.17.21", "@types/node": "^20.16.5", "@types/supertest": "^6.0.2", "@types/uuid": "^10.0.0", "prisma": "^6.19.3", "supertest": "^7.0.0", "tsx": "^4.19.0", "typescript": "^5.6.2", "vitest": "^2.1.1" } }