- Turborepo monorepo structure (packages: api, db, types, jobs; services: darkwatch) - Prisma schema: User, WatchListItem, Exposure, Alert, ScanJob models - WatchListService: CRUD with normalization, dedup, tier-based limits - HIBPService: API integration with severity scoring - MatchingEngine: exact-match with content hash dedup - AlertPipeline: dedup window, email notifications - ScanService: orchestrates watch list -> HIBP -> match -> alert flow - BullMQ job workers for scan and alert processing - Fastify API routes: watchlist, exposures, alerts, scan - Docker Compose: PostgreSQL 16 + Redis 7 - 15 unit tests passing - Implementation plan document uploaded
22 lines
502 B
JSON
22 lines
502 B
JSON
{
|
|
"name": "@shieldai/api",
|
|
"version": "0.1.0",
|
|
"scripts": {
|
|
"dev": "tsx watch src/server.ts",
|
|
"build": "tsc",
|
|
"start": "node dist/server.js",
|
|
"test": "vitest run",
|
|
"lint": "eslint src/"
|
|
},
|
|
"dependencies": {
|
|
"@fastify/cors": "^10.0.1",
|
|
"@fastify/helmet": "^13.0.1",
|
|
"@fastify/rate-limit": "^9.0.0",
|
|
"@fastify/sensible": "^6.0.1",
|
|
"@shieldai/db": "0.1.0",
|
|
"@shieldai/types": "0.1.0",
|
|
"fastify": "^5.2.0",
|
|
"@shieldai/darkwatch": "0.1.0"
|
|
}
|
|
}
|