- Bug 1 [CRITICAL]: drop `import type` on BootstrapSetupDto in bootstrap.controller.ts so NestJS preserves the class reference for design:paramtypes; ValidationPipe now correctly validates the DTO instead of 400ing on every field. Add e2e integration test (bootstrap.e2e.spec.ts) via @nestjs/testing + supertest that exercises the real DI/Fastify binding path to guard against regressions. Configure vitest to use unplugin-swc with decoratorMetadata:true. - Bug 2: remove `&& headlessRun` guard in wizard.ts so bootstrap failure (completed:false) aborts with process.exit(1) in both interactive and headless modes — no more silent '✔ Wizard complete' after a 400. - Bug 3: add `initialValue` to WizardPrompter.text() interface, ClackPrompter, and HeadlessPrompter; use it in gateway-config.ts promptPort() so 14242 prefills the input buffer and users can press Enter to accept. Apply same pattern to other gateway config prompts (databaseUrl, valkeyUrl, corsOrigin). - Bug 4: add Pi SDK to the 'What is Mosaic?' intro copy in welcome.ts. - Bump @mosaicstack/mosaic 0.0.25 → 0.0.26. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
89 lines
2.7 KiB
JSON
89 lines
2.7 KiB
JSON
{
|
|
"name": "@mosaicstack/gateway",
|
|
"version": "0.0.6",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://git.mosaicstack.dev/mosaicstack/mosaic-stack.git",
|
|
"directory": "apps/gateway"
|
|
},
|
|
"type": "module",
|
|
"main": "dist/main.js",
|
|
"bin": {
|
|
"mosaic-gateway": "dist/main.js"
|
|
},
|
|
"files": [
|
|
"dist"
|
|
],
|
|
"publishConfig": {
|
|
"registry": "https://git.mosaicstack.dev/api/packages/mosaicstack/npm/",
|
|
"access": "public"
|
|
},
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"dev": "tsx watch src/main.ts",
|
|
"lint": "eslint src",
|
|
"typecheck": "tsc --noEmit -p tsconfig.typecheck.json",
|
|
"test": "vitest run --passWithNoTests"
|
|
},
|
|
"dependencies": {
|
|
"@anthropic-ai/sdk": "^0.80.0",
|
|
"@fastify/helmet": "^13.0.2",
|
|
"@mariozechner/pi-ai": "^0.65.0",
|
|
"@mariozechner/pi-coding-agent": "^0.65.0",
|
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
"@mosaicstack/auth": "workspace:^",
|
|
"@mosaicstack/brain": "workspace:^",
|
|
"@mosaicstack/config": "workspace:^",
|
|
"@mosaicstack/coord": "workspace:^",
|
|
"@mosaicstack/db": "workspace:^",
|
|
"@mosaicstack/discord-plugin": "workspace:^",
|
|
"@mosaicstack/log": "workspace:^",
|
|
"@mosaicstack/memory": "workspace:^",
|
|
"@mosaicstack/queue": "workspace:^",
|
|
"@mosaicstack/storage": "workspace:^",
|
|
"@mosaicstack/telegram-plugin": "workspace:^",
|
|
"@mosaicstack/types": "workspace:^",
|
|
"@nestjs/common": "^11.0.0",
|
|
"@nestjs/core": "^11.0.0",
|
|
"@nestjs/platform-fastify": "^11.0.0",
|
|
"@nestjs/platform-socket.io": "^11.0.0",
|
|
"@nestjs/throttler": "^6.5.0",
|
|
"@nestjs/websockets": "^11.0.0",
|
|
"@opentelemetry/auto-instrumentations-node": "^0.72.0",
|
|
"@opentelemetry/exporter-metrics-otlp-http": "^0.213.0",
|
|
"@opentelemetry/exporter-trace-otlp-http": "^0.213.0",
|
|
"@opentelemetry/resources": "^2.6.0",
|
|
"@opentelemetry/sdk-metrics": "^2.6.0",
|
|
"@opentelemetry/sdk-node": "^0.213.0",
|
|
"@opentelemetry/semantic-conventions": "^1.40.0",
|
|
"@sinclair/typebox": "^0.34.48",
|
|
"better-auth": "^1.5.5",
|
|
"bullmq": "^5.71.0",
|
|
"class-transformer": "^0.5.1",
|
|
"class-validator": "^0.15.1",
|
|
"dotenv": "^17.3.1",
|
|
"fastify": "^5.0.0",
|
|
"node-cron": "^4.2.1",
|
|
"openai": "^6.32.0",
|
|
"reflect-metadata": "^0.2.0",
|
|
"rxjs": "^7.8.0",
|
|
"socket.io": "^4.8.0",
|
|
"uuid": "^11.0.0",
|
|
"zod": "^4.3.6"
|
|
},
|
|
"devDependencies": {
|
|
"@nestjs/testing": "^11.1.18",
|
|
"@swc/core": "^1.15.24",
|
|
"@swc/helpers": "^0.5.21",
|
|
"@types/node": "^22.0.0",
|
|
"@types/node-cron": "^3.0.11",
|
|
"@types/supertest": "^7.2.0",
|
|
"@types/uuid": "^10.0.0",
|
|
"supertest": "^7.2.2",
|
|
"tsx": "^4.0.0",
|
|
"typescript": "^5.8.0",
|
|
"unplugin-swc": "^1.5.9",
|
|
"vitest": "^2.0.0"
|
|
}
|
|
}
|