A tool for parsing traffic on the jetstream and applying a moderation workstream based on regexp based rules
1{
2 "name": "skywatch-automod",
3 "version": "2.1.0",
4 "type": "module",
5 "scripts": {
6 "start": "npx tsx src/main.ts",
7 "dev": "npx tsx --watch src/main.ts",
8 "test": "vitest",
9 "test:ui": "vitest --ui",
10 "test:run": "vitest run",
11 "test:coverage": "vitest run --coverage",
12 "type-check": "tsc --noEmit",
13 "format": "bunx prettier --write .",
14 "lint": "bunx eslint .",
15 "lint:fix": "bunx eslint --fix .",
16 "prepare": "bunx husky install"
17 },
18 "lint-staged": {
19 "*": "prettier --ignore-unknown --write"
20 },
21 "devDependencies": {
22 "@eslint/js": "^9.34.0",
23 "@stylistic/eslint-plugin": "^5.5.0",
24 "@trivago/prettier-plugin-sort-imports": "^4.3.0",
25 "@types/better-sqlite3": "^7.6.13",
26 "@types/eslint__js": "^8.42.3",
27 "@types/express": "^4.17.23",
28 "@types/node": "^22.18.0",
29 "@types/supertest": "^6.0.3",
30 "@vitest/coverage-v8": "^1.6.0",
31 "@vitest/ui": "^1.6.0",
32 "eslint": "^9.34.0",
33 "eslint-config-prettier": "^10.1.8",
34 "eslint-plugin-import": "^2.32.0",
35 "prettier": "^3.6.2",
36 "supertest": "^7.1.4",
37 "tsx": "^4.20.5",
38 "typescript": "^5.9.2",
39 "typescript-eslint": "^8.42.0",
40 "vitest": "^1.6.0"
41 },
42 "dependencies": {
43 "@atproto/api": "^0.13.35",
44 "@atproto/bsky": "^0.0.101",
45 "@atproto/lexicon": "^0.4.14",
46 "@atproto/ozone": "^0.1.140",
47 "@atproto/repo": "^0.6.5",
48 "@atproto/xrpc-server": "^0.7.19",
49 "@clavata/sdk": "^0.3.0",
50 "@skyware/bot": "^0.3.12",
51 "@skyware/jetstream": "^0.2.5",
52 "@skyware/labeler": "^0.1.13",
53 "bottleneck": "^2.19.5",
54 "dotenv": "^16.6.1",
55 "express": "^4.21.2",
56 "franc": "^6.2.0",
57 "husky": "^9.1.7",
58 "lint-staged": "^15.5.2",
59 "p-ratelimit": "^1.0.1",
60 "pino": "^9.9.0",
61 "pino-pretty": "^13.1.1",
62 "prom-client": "^15.1.3",
63 "redis": "^4.7.0",
64 "undici": "^7.15.0"
65 },
66 "trustedDependencies": [
67 "protobufjs"
68 ]
69}