{ "name": "alf", "version": "1.0.0", "description": "ALF (Atproto Latency Fabric) — drafts store and scheduler for ATProto records", "license": "Apache-2.0", "main": "dist/index.js", "engines": { "node": ">=24" }, "scripts": { "dev": "tsx watch --clear-screen=false src/index.ts", "build": "tsc", "start": "node dist/index.js", "typecheck": "tsc --noEmit", "lint": "eslint src --config config/eslint.config.js", "test": "jest --config config/jest.config.js", "test:watch": "jest --watch --config config/jest.config.js", "test:coverage": "jest --coverage --config config/jest.config.js", "diagrams": "d2 --layout elk assets/diagram-lifecycle.d2 assets/diagram-lifecycle.svg && d2 --layout elk --scale 2 assets/diagram-flow.d2 assets/diagram-flow.png" }, "dependencies": { "@newpublic/recurrence": "file:packages/recurrence", "@atproto/api": "^0.19.0", "@atproto/common": "^0.5.13", "@atproto/crypto": "^0.4.5", "@atproto/identity": "^0.4.12", "@atproto/lexicon": "^0.6.1", "@atproto/oauth-client-node": "^0.3.17", "@atproto/repo": "^0.8.12", "@atproto/xrpc-server": "^0.10.14", "@types/luxon": "^3.7.1", "better-sqlite3": "^12.5.0", "cors": "^2.8.5", "dotenv": "^16.0.3", "express": "^4.21.2", "jose": "^5.9.6", "kysely": "^0.27.4", "luxon": "^3.7.2", "multiformats": "^9.9.0", "pg": "^8.13.1", "pino": "^8.21.0", "pino-http": "^9.0.0", "prom-client": "^15.1.3" }, "devDependencies": { "@mermaid-js/mermaid-cli": "^11.12.0", "@types/better-sqlite3": "^7.6.13", "@types/cors": "^2.8.17", "@types/express": "^5.0.0", "@types/jest": "^29.5.14", "@types/node": "^22.5.5", "@types/pg": "^8.11.10", "@types/supertest": "^6.0.3", "eslint": "^9.0.0", "jest": "^29.7.0", "supertest": "^7.2.2", "ts-jest": "^29.4.6", "tsx": "^4.19.0", "typescript": "^5.6.0", "typescript-eslint": "^8.0.0" } }