- Phase 25.4: N shortcut for new exploration on dashboard (react-hotkeys-hook) - Phase 25.5: overflow-x-auto on tables, responsive padding (p-4 md:p-6) - Phase 26: SAML/OIDC/LDAP providers (build-fixed), TOTP/MFA service - Phase 26: KyselySSOConfigRepository + KyselyTOTPRepository - Phase 26: SSO HTTP controller (config CRUD + MFA setup/verify/disable) - Phase 26: Audit module index.ts + SSO module index.ts - Phase 26: Session management endpoints (findByUserId, deleteById, list/revoke) - Phase 26: SSO and audit routes feature-gated (auth:sso, audit:logs) - Phase 26: Frontend SSOSection (SAML/OIDC/LDAP config + TOTP setup) - Phase 26: Frontend SessionsSection (list/revoke active sessions) - Phase 26: Settings navigation updated with SSO & Sessions sections Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
82 lines
2.3 KiB
JSON
82 lines
2.3 KiB
JSON
{
|
|
"name": "abe",
|
|
"version": "0.1.0",
|
|
"description": "Autonomous Bug Explorer — an open-source framework that autonomously explores web apps, provokes failures, and generates reproducible bug reports",
|
|
"main": "dist/index.js",
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"test": "jest",
|
|
"typecheck": "tsc --noEmit",
|
|
"lint": "eslint src/ tests/",
|
|
"explore": "ts-node src/index.ts",
|
|
"replay": "ts-node src/replay.ts",
|
|
"server": "ts-node src/server/index.ts",
|
|
"abe": "ts-node src/cli/abe.ts",
|
|
"dev:all": "concurrently \"npm run server\" \"npm --prefix frontend run dev\"",
|
|
"db:migrate": "ts-node src/db/migrator.ts"
|
|
},
|
|
"keywords": [
|
|
"bug-explorer",
|
|
"testing",
|
|
"playwright",
|
|
"automation"
|
|
],
|
|
"license": "MIT",
|
|
"devDependencies": {
|
|
"@types/better-sqlite3": "^7.6.13",
|
|
"@types/cookie-parser": "^1.4.10",
|
|
"@types/jest": "^29.5.0",
|
|
"@types/ldapjs": "^3.0.6",
|
|
"@types/node": "^20.0.0",
|
|
"@types/nodemailer": "^7.0.11",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/supertest": "^7.2.0",
|
|
"@types/uuid": "^10.0.0",
|
|
"jest": "^29.5.0",
|
|
"supertest": "^7.2.2",
|
|
"ts-jest": "^29.1.0",
|
|
"ts-node": "^10.9.0",
|
|
"typescript": "^5.0.0"
|
|
},
|
|
"dependencies": {
|
|
"@asteasolutions/zod-to-openapi": "^8.4.3",
|
|
"@axe-core/playwright": "^4.11.1",
|
|
"@casl/ability": "^6.8.0",
|
|
"@node-saml/node-saml": "^5.1.0",
|
|
"@octokit/rest": "^22.0.1",
|
|
"@playwright/test": "^1.40.0",
|
|
"@scalar/express-api-reference": "^0.8.48",
|
|
"@slack/web-api": "^7.14.1",
|
|
"@types/cors": "^2.8.19",
|
|
"@types/express": "^5.0.6",
|
|
"@types/express-rate-limit": "^5.1.3",
|
|
"@types/node-cron": "^3.0.11",
|
|
"@types/pino": "^7.0.4",
|
|
"argon2": "^0.44.0",
|
|
"better-sqlite3": "^12.6.2",
|
|
"commander": "^14.0.3",
|
|
"cookie-parser": "^1.4.7",
|
|
"cors": "^2.8.6",
|
|
"dotenv": "^17.3.1",
|
|
"express": "^5.2.1",
|
|
"express-rate-limit": "^8.2.1",
|
|
"helmet": "^8.1.0",
|
|
"kysely": "^0.28.11",
|
|
"ldapjs": "^3.0.7",
|
|
"node-cron": "^4.2.1",
|
|
"nodemailer": "^8.0.1",
|
|
"openid-client": "^6.8.2",
|
|
"otpauth": "^9.5.0",
|
|
"pino": "^10.3.1",
|
|
"pino-pretty": "^13.1.3",
|
|
"pixelmatch": "^7.1.0",
|
|
"playwright": "^1.40.0",
|
|
"qrcode": "^1.5.4",
|
|
"recharts": "^3.7.0",
|
|
"sharp": "^0.34.5",
|
|
"socket.io": "^4.8.3",
|
|
"uuid": "^13.0.0",
|
|
"zod": "^4.3.6"
|
|
}
|
|
}
|