Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- Update AuthUser type in @mosaic/shared to include workspace fields - Update AuthGuard to support both cookie-based and Bearer token authentication - Add /auth/session endpoint for session validation - Install and configure cookie-parser middleware - Update CurrentUser decorator to use shared AuthUser type - Update tests for cookie and token authentication (20 tests passing) This ensures consistent authentication handling across API and web client, with proper type safety and support for both web browsers (cookies) and API clients (Bearer tokens). Fixes #193 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
98 lines
3.0 KiB
JSON
98 lines
3.0 KiB
JSON
{
|
|
"name": "@mosaic/api",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"scripts": {
|
|
"build": "nest build",
|
|
"dev": "nest start --watch",
|
|
"start": "node dist/main",
|
|
"start:debug": "nest start --debug --watch",
|
|
"start:prod": "node dist/main",
|
|
"lint": "eslint \"src/**/*.ts\"",
|
|
"lint:fix": "eslint \"src/**/*.ts\" --fix",
|
|
"typecheck": "tsc --noEmit",
|
|
"clean": "rm -rf dist",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:e2e": "vitest run --config ./vitest.e2e.config.ts",
|
|
"prisma:generate": "prisma generate",
|
|
"prisma:migrate": "prisma migrate dev",
|
|
"prisma:migrate:prod": "prisma migrate deploy",
|
|
"prisma:studio": "prisma studio",
|
|
"prisma:seed": "prisma db seed",
|
|
"prisma:reset": "prisma migrate reset"
|
|
},
|
|
"dependencies": {
|
|
"@anthropic-ai/sdk": "^0.72.1",
|
|
"@mosaic/shared": "workspace:*",
|
|
"@nestjs/axios": "^4.0.1",
|
|
"@nestjs/bullmq": "^11.0.4",
|
|
"@nestjs/common": "^11.1.12",
|
|
"@nestjs/config": "^4.0.2",
|
|
"@nestjs/core": "^11.1.12",
|
|
"@nestjs/mapped-types": "^2.1.0",
|
|
"@nestjs/platform-express": "^11.1.12",
|
|
"@nestjs/platform-socket.io": "^11.1.12",
|
|
"@nestjs/throttler": "^6.5.0",
|
|
"@nestjs/websockets": "^11.1.12",
|
|
"@opentelemetry/api": "^1.9.0",
|
|
"@opentelemetry/auto-instrumentations-node": "^0.55.0",
|
|
"@opentelemetry/exporter-trace-otlp-http": "^0.56.0",
|
|
"@opentelemetry/instrumentation-nestjs-core": "^0.44.0",
|
|
"@opentelemetry/resources": "^1.30.1",
|
|
"@opentelemetry/sdk-node": "^0.56.0",
|
|
"@opentelemetry/semantic-conventions": "^1.28.0",
|
|
"@prisma/client": "^6.19.2",
|
|
"@types/marked": "^6.0.0",
|
|
"@types/multer": "^2.0.0",
|
|
"adm-zip": "^0.5.16",
|
|
"archiver": "^7.0.1",
|
|
"axios": "^1.13.4",
|
|
"better-auth": "^1.4.17",
|
|
"bullmq": "^5.67.2",
|
|
"class-transformer": "^0.5.1",
|
|
"class-validator": "^0.14.3",
|
|
"cookie-parser": "^1.4.7",
|
|
"discord.js": "^14.25.1",
|
|
"gray-matter": "^4.0.3",
|
|
"highlight.js": "^11.11.1",
|
|
"ioredis": "^5.9.2",
|
|
"jose": "^6.1.3",
|
|
"marked": "^17.0.1",
|
|
"marked-gfm-heading-id": "^4.1.3",
|
|
"marked-highlight": "^2.2.3",
|
|
"ollama": "^0.6.3",
|
|
"openai": "^6.17.0",
|
|
"reflect-metadata": "^0.2.2",
|
|
"rxjs": "^7.8.1",
|
|
"sanitize-html": "^2.17.0",
|
|
"slugify": "^1.6.6",
|
|
"socket.io": "^4.8.3"
|
|
},
|
|
"devDependencies": {
|
|
"@better-auth/cli": "^1.4.17",
|
|
"@mosaic/config": "workspace:*",
|
|
"@nestjs/cli": "^11.0.6",
|
|
"@nestjs/schematics": "^11.0.1",
|
|
"@nestjs/testing": "^11.1.12",
|
|
"@swc/core": "^1.10.18",
|
|
"@types/adm-zip": "^0.5.7",
|
|
"@types/archiver": "^7.0.0",
|
|
"@types/cookie-parser": "^1.4.10",
|
|
"@types/express": "^5.0.1",
|
|
"@types/highlight.js": "^10.1.0",
|
|
"@types/node": "^22.13.4",
|
|
"@types/sanitize-html": "^2.16.0",
|
|
"@types/supertest": "^6.0.3",
|
|
"@vitest/coverage-v8": "^4.0.18",
|
|
"express": "^5.2.1",
|
|
"prisma": "^6.19.2",
|
|
"supertest": "^7.2.2",
|
|
"tsx": "^4.21.0",
|
|
"typescript": "^5.8.2",
|
|
"unplugin-swc": "^1.5.2",
|
|
"vitest": "^4.0.18"
|
|
}
|
|
}
|