mirror of
https://github.com/BradGroux/veritas-kanban.git
synced 2026-09-07 08:55:57 +00:00
## New Features (4x10 cross-model verified) ### #122 — Task Dependencies Graph - Bidirectional dependency model (depends_on/blocks) - DFS cycle detection traversing both directions - Recursive dependency graph API - Batch-loaded traversal (eliminated N+1 queries) - Zod validation on dependency routes - Full keyboard + ARIA accessibility ### #123 — Crash-Recovery Checkpointing - Save/resume/clear API for sub-agent state persistence - Secret sanitization (20+ key patterns + regex value detection) - 1MB size limit, 24h expiry, resume counter - Array sanitization (nested objects + primitive strings) - NaN timestamp handling - ARIA-accessible checkpoint UI ### #124 — Observational Memory - CRUD observations per task (decision/blocker/insight/context) - Importance scoring (1-10) with paginated full-text search - XSS prevention via sanitizeCommentText() - ARIA-accessible range slider + decorative icon handling ### #125 — Agent Filter - GET /api/tasks?agent=name query parameter - Input sanitized (trim + 100 char cap) - JSDoc/OpenAPI documented All features scored 10/10 across security, reliability, performance, and accessibility. Cross-model verified (Sonnet authored, Codex reviewed).
79 lines
2.2 KiB
JSON
79 lines
2.2 KiB
JSON
{
|
|
"name": "@veritas-kanban/server",
|
|
"version": "3.3.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"main": "./dist/index.js",
|
|
"scripts": {
|
|
"dev": "tsx watch src/index.ts",
|
|
"build": "tsc",
|
|
"start": "node dist/index.js",
|
|
"typecheck": "tsc --noEmit",
|
|
"lint": "eslint src --ext .ts",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"clean": "rm -rf dist",
|
|
"reset-password": "tsx src/scripts/reset-password.ts"
|
|
},
|
|
"dependencies": {
|
|
"@veritas-kanban/shared": "workspace:*",
|
|
"ajv": "^8.17.1",
|
|
"bcrypt": "^6.0.0",
|
|
"compression": "^1.8.1",
|
|
"content-disposition": "^1.0.1",
|
|
"cookie-parser": "^1.4.7",
|
|
"cors": "^2.8.5",
|
|
"dotenv": "^17.2.3",
|
|
"exceljs": "^4.4.0",
|
|
"express": "^4.21.0",
|
|
"express-rate-limit": "^8.2.1",
|
|
"file-type": "^21.3.0",
|
|
"gray-matter": "^4.0.3",
|
|
"helmet": "^8.1.0",
|
|
"jsonwebtoken": "^9.0.3",
|
|
"mammoth": "^1.11.0",
|
|
"mime-types": "^3.0.2",
|
|
"multer": "^2.0.2",
|
|
"nanoid": "^5.0.9",
|
|
"pino": "^10.3.0",
|
|
"pino-pretty": "^13.1.3",
|
|
"sanitize-filename": "^1.6.3",
|
|
"sanitize-html": "^2.17.0",
|
|
"simple-git": "^3.27.0",
|
|
"swagger-jsdoc": "^6.2.8",
|
|
"swagger-ui-express": "^5.0.1",
|
|
"unpdf": "^1.4.0",
|
|
"ws": "^8.18.0",
|
|
"yaml": "^2.8.2",
|
|
"zod": "^3.24.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/bcrypt": "^6.0.0",
|
|
"@types/compression": "^1.8.1",
|
|
"@types/content-disposition": "^0.5.9",
|
|
"@types/cookie-parser": "^1.4.10",
|
|
"@types/cors": "^2.8.17",
|
|
"@types/exceljs": "^1.3.2",
|
|
"@types/express": "^5.0.0",
|
|
"@types/express-serve-static-core": "^5.1.1",
|
|
"@types/jsonwebtoken": "^9.0.10",
|
|
"@types/mime-types": "^3.0.1",
|
|
"@types/multer": "^2.0.0",
|
|
"@types/sanitize-html": "^2.16.0",
|
|
"@types/supertest": "^6.0.3",
|
|
"@types/swagger-jsdoc": "^6.0.4",
|
|
"@types/swagger-ui-express": "^4.1.8",
|
|
"@types/ws": "^8.5.13",
|
|
"@vitest/coverage-v8": "^4.0.18",
|
|
"eslint": "^9.17.0",
|
|
"supertest": "^7.2.2",
|
|
"tsx": "^4.19.0",
|
|
"typescript": "^5.7.0"
|
|
},
|
|
"license": "MIT",
|
|
"author": "Brad Groux <brad@digitalmeld.io>",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/BradGroux/veritas-kanban.git"
|
|
}
|
|
}
|