A tool for parsing traffic on the jetstream and applying a moderation workstream based on regexp based rules
1{
2 "name": "skywatch-tools",
3 "version": "1.3.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 "prettier": "^3.6.2",
35 "supertest": "^7.1.4",
36 "tsx": "^4.20.5",
37 "typescript": "^5.9.2",
38 "typescript-eslint": "^8.42.0",
39 "vitest": "^1.6.0"
40 },
41 "dependencies": {
42 "@atproto/api": "^0.13.35",
43 "@atproto/bsky": "^0.0.101",
44 "@atproto/lexicon": "^0.4.14",
45 "@atproto/ozone": "^0.1.140",
46 "@atproto/repo": "^0.6.5",
47 "@atproto/xrpc-server": "^0.7.19",
48 "@clavata/sdk": "^0.3.0",
49 "@skyware/bot": "^0.3.12",
50 "@skyware/jetstream": "^0.2.5",
51 "@skyware/labeler": "^0.1.13",
52 "bottleneck": "^2.19.5",
53 "dotenv": "^16.6.1",
54 "express": "^4.21.2",
55 "franc": "^6.2.0",
56 "husky": "^9.1.7",
57 "lint-staged": "^15.5.2",
58 "p-ratelimit": "^1.0.1",
59 "pino": "^9.9.0",
60 "pino-pretty": "^13.1.1",
61 "prom-client": "^15.1.3",
62 "redis": "^4.7.0",
63 "undici": "^7.15.0"
64 },
65 "trustedDependencies": [
66 "protobufjs"
67 ]
68}