+1
.gitignore
+1
.gitignore
···
1
+
node_modules/
index.ts
index.ts
This is a binary file and will not be displayed.
+348
package-lock.json
+348
package-lock.json
···
1
+
{
2
+
"name": "thanossnap",
3
+
"version": "1.0.0",
4
+
"lockfileVersion": 3,
5
+
"requires": true,
6
+
"packages": {
7
+
"": {
8
+
"name": "thanossnap",
9
+
"version": "1.0.0",
10
+
"license": "ISC",
11
+
"dependencies": {
12
+
"@atproto/api": "^0.17.7"
13
+
},
14
+
"devDependencies": {
15
+
"ts-node": "^10.9.2",
16
+
"typescript": "^5.9.3"
17
+
}
18
+
},
19
+
"node_modules/@atproto/api": {
20
+
"version": "0.17.7",
21
+
"resolved": "https://registry.npmjs.org/@atproto/api/-/api-0.17.7.tgz",
22
+
"integrity": "sha512-V+OJBZq9chcrD21xk1bUa6oc5DSKfQj5DmUPf5rmZncqL1w9ZEbS38H5cMyqqdhfgo2LWeDRdZHD0rvNyJsIaw==",
23
+
"license": "MIT",
24
+
"dependencies": {
25
+
"@atproto/common-web": "^0.4.3",
26
+
"@atproto/lexicon": "^0.5.1",
27
+
"@atproto/syntax": "^0.4.1",
28
+
"@atproto/xrpc": "^0.7.5",
29
+
"await-lock": "^2.2.2",
30
+
"multiformats": "^9.9.0",
31
+
"tlds": "^1.234.0",
32
+
"zod": "^3.23.8"
33
+
}
34
+
},
35
+
"node_modules/@atproto/common-web": {
36
+
"version": "0.4.3",
37
+
"resolved": "https://registry.npmjs.org/@atproto/common-web/-/common-web-0.4.3.tgz",
38
+
"integrity": "sha512-nRDINmSe4VycJzPo6fP/hEltBcULFxt9Kw7fQk6405FyAWZiTluYHlXOnU7GkQfeUK44OENG1qFTBcmCJ7e8pg==",
39
+
"license": "MIT",
40
+
"dependencies": {
41
+
"graphemer": "^1.4.0",
42
+
"multiformats": "^9.9.0",
43
+
"uint8arrays": "3.0.0",
44
+
"zod": "^3.23.8"
45
+
}
46
+
},
47
+
"node_modules/@atproto/lexicon": {
48
+
"version": "0.5.1",
49
+
"resolved": "https://registry.npmjs.org/@atproto/lexicon/-/lexicon-0.5.1.tgz",
50
+
"integrity": "sha512-y8AEtYmfgVl4fqFxqXAeGvhesiGkxiy3CWoJIfsFDDdTlZUC8DFnZrYhcqkIop3OlCkkljvpSJi1hbeC1tbi8A==",
51
+
"license": "MIT",
52
+
"dependencies": {
53
+
"@atproto/common-web": "^0.4.3",
54
+
"@atproto/syntax": "^0.4.1",
55
+
"iso-datestring-validator": "^2.2.2",
56
+
"multiformats": "^9.9.0",
57
+
"zod": "^3.23.8"
58
+
}
59
+
},
60
+
"node_modules/@atproto/syntax": {
61
+
"version": "0.4.1",
62
+
"resolved": "https://registry.npmjs.org/@atproto/syntax/-/syntax-0.4.1.tgz",
63
+
"integrity": "sha512-CJdImtLAiFO+0z3BWTtxwk6aY5w4t8orHTMVJgkf++QRJWTxPbIFko/0hrkADB7n2EruDxDSeAgfUGehpH6ngw==",
64
+
"license": "MIT"
65
+
},
66
+
"node_modules/@atproto/xrpc": {
67
+
"version": "0.7.5",
68
+
"resolved": "https://registry.npmjs.org/@atproto/xrpc/-/xrpc-0.7.5.tgz",
69
+
"integrity": "sha512-MUYNn5d2hv8yVegRL0ccHvTHAVj5JSnW07bkbiaz96UH45lvYNRVwt44z+yYVnb0/mvBzyD3/ZQ55TRGt7fHkA==",
70
+
"license": "MIT",
71
+
"dependencies": {
72
+
"@atproto/lexicon": "^0.5.1",
73
+
"zod": "^3.23.8"
74
+
}
75
+
},
76
+
"node_modules/@cspotcode/source-map-support": {
77
+
"version": "0.8.1",
78
+
"resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
79
+
"integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
80
+
"dev": true,
81
+
"license": "MIT",
82
+
"dependencies": {
83
+
"@jridgewell/trace-mapping": "0.3.9"
84
+
},
85
+
"engines": {
86
+
"node": ">=12"
87
+
}
88
+
},
89
+
"node_modules/@jridgewell/resolve-uri": {
90
+
"version": "3.1.2",
91
+
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
92
+
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
93
+
"dev": true,
94
+
"license": "MIT",
95
+
"engines": {
96
+
"node": ">=6.0.0"
97
+
}
98
+
},
99
+
"node_modules/@jridgewell/sourcemap-codec": {
100
+
"version": "1.5.5",
101
+
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
102
+
"integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
103
+
"dev": true,
104
+
"license": "MIT"
105
+
},
106
+
"node_modules/@jridgewell/trace-mapping": {
107
+
"version": "0.3.9",
108
+
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
109
+
"integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
110
+
"dev": true,
111
+
"license": "MIT",
112
+
"dependencies": {
113
+
"@jridgewell/resolve-uri": "^3.0.3",
114
+
"@jridgewell/sourcemap-codec": "^1.4.10"
115
+
}
116
+
},
117
+
"node_modules/@tsconfig/node10": {
118
+
"version": "1.0.11",
119
+
"resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
120
+
"integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==",
121
+
"dev": true,
122
+
"license": "MIT"
123
+
},
124
+
"node_modules/@tsconfig/node12": {
125
+
"version": "1.0.11",
126
+
"resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
127
+
"integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
128
+
"dev": true,
129
+
"license": "MIT"
130
+
},
131
+
"node_modules/@tsconfig/node14": {
132
+
"version": "1.0.3",
133
+
"resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
134
+
"integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
135
+
"dev": true,
136
+
"license": "MIT"
137
+
},
138
+
"node_modules/@tsconfig/node16": {
139
+
"version": "1.0.4",
140
+
"resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
141
+
"integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
142
+
"dev": true,
143
+
"license": "MIT"
144
+
},
145
+
"node_modules/@types/node": {
146
+
"version": "24.9.2",
147
+
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.2.tgz",
148
+
"integrity": "sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA==",
149
+
"dev": true,
150
+
"license": "MIT",
151
+
"peer": true,
152
+
"dependencies": {
153
+
"undici-types": "~7.16.0"
154
+
}
155
+
},
156
+
"node_modules/acorn": {
157
+
"version": "8.15.0",
158
+
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
159
+
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
160
+
"dev": true,
161
+
"license": "MIT",
162
+
"bin": {
163
+
"acorn": "bin/acorn"
164
+
},
165
+
"engines": {
166
+
"node": ">=0.4.0"
167
+
}
168
+
},
169
+
"node_modules/acorn-walk": {
170
+
"version": "8.3.4",
171
+
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
172
+
"integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
173
+
"dev": true,
174
+
"license": "MIT",
175
+
"dependencies": {
176
+
"acorn": "^8.11.0"
177
+
},
178
+
"engines": {
179
+
"node": ">=0.4.0"
180
+
}
181
+
},
182
+
"node_modules/arg": {
183
+
"version": "4.1.3",
184
+
"resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
185
+
"integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
186
+
"dev": true,
187
+
"license": "MIT"
188
+
},
189
+
"node_modules/await-lock": {
190
+
"version": "2.2.2",
191
+
"resolved": "https://registry.npmjs.org/await-lock/-/await-lock-2.2.2.tgz",
192
+
"integrity": "sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==",
193
+
"license": "MIT"
194
+
},
195
+
"node_modules/create-require": {
196
+
"version": "1.1.1",
197
+
"resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
198
+
"integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
199
+
"dev": true,
200
+
"license": "MIT"
201
+
},
202
+
"node_modules/diff": {
203
+
"version": "4.0.2",
204
+
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
205
+
"integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
206
+
"dev": true,
207
+
"license": "BSD-3-Clause",
208
+
"engines": {
209
+
"node": ">=0.3.1"
210
+
}
211
+
},
212
+
"node_modules/graphemer": {
213
+
"version": "1.4.0",
214
+
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
215
+
"integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
216
+
"license": "MIT"
217
+
},
218
+
"node_modules/iso-datestring-validator": {
219
+
"version": "2.2.2",
220
+
"resolved": "https://registry.npmjs.org/iso-datestring-validator/-/iso-datestring-validator-2.2.2.tgz",
221
+
"integrity": "sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==",
222
+
"license": "MIT"
223
+
},
224
+
"node_modules/make-error": {
225
+
"version": "1.3.6",
226
+
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
227
+
"integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
228
+
"dev": true,
229
+
"license": "ISC"
230
+
},
231
+
"node_modules/multiformats": {
232
+
"version": "9.9.0",
233
+
"resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz",
234
+
"integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==",
235
+
"license": "(Apache-2.0 AND MIT)"
236
+
},
237
+
"node_modules/tlds": {
238
+
"version": "1.261.0",
239
+
"resolved": "https://registry.npmjs.org/tlds/-/tlds-1.261.0.tgz",
240
+
"integrity": "sha512-QXqwfEl9ddlGBaRFXIvNKK6OhipSiLXuRuLJX5DErz0o0Q0rYxulWLdFryTkV5PkdZct5iMInwYEGe/eR++1AA==",
241
+
"license": "MIT",
242
+
"bin": {
243
+
"tlds": "bin.js"
244
+
}
245
+
},
246
+
"node_modules/ts-node": {
247
+
"version": "10.9.2",
248
+
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
249
+
"integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
250
+
"dev": true,
251
+
"license": "MIT",
252
+
"dependencies": {
253
+
"@cspotcode/source-map-support": "^0.8.0",
254
+
"@tsconfig/node10": "^1.0.7",
255
+
"@tsconfig/node12": "^1.0.7",
256
+
"@tsconfig/node14": "^1.0.0",
257
+
"@tsconfig/node16": "^1.0.2",
258
+
"acorn": "^8.4.1",
259
+
"acorn-walk": "^8.1.1",
260
+
"arg": "^4.1.0",
261
+
"create-require": "^1.1.0",
262
+
"diff": "^4.0.1",
263
+
"make-error": "^1.1.1",
264
+
"v8-compile-cache-lib": "^3.0.1",
265
+
"yn": "3.1.1"
266
+
},
267
+
"bin": {
268
+
"ts-node": "dist/bin.js",
269
+
"ts-node-cwd": "dist/bin-cwd.js",
270
+
"ts-node-esm": "dist/bin-esm.js",
271
+
"ts-node-script": "dist/bin-script.js",
272
+
"ts-node-transpile-only": "dist/bin-transpile.js",
273
+
"ts-script": "dist/bin-script-deprecated.js"
274
+
},
275
+
"peerDependencies": {
276
+
"@swc/core": ">=1.2.50",
277
+
"@swc/wasm": ">=1.2.50",
278
+
"@types/node": "*",
279
+
"typescript": ">=2.7"
280
+
},
281
+
"peerDependenciesMeta": {
282
+
"@swc/core": {
283
+
"optional": true
284
+
},
285
+
"@swc/wasm": {
286
+
"optional": true
287
+
}
288
+
}
289
+
},
290
+
"node_modules/typescript": {
291
+
"version": "5.9.3",
292
+
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
293
+
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
294
+
"dev": true,
295
+
"license": "Apache-2.0",
296
+
"bin": {
297
+
"tsc": "bin/tsc",
298
+
"tsserver": "bin/tsserver"
299
+
},
300
+
"engines": {
301
+
"node": ">=14.17"
302
+
}
303
+
},
304
+
"node_modules/uint8arrays": {
305
+
"version": "3.0.0",
306
+
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz",
307
+
"integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==",
308
+
"license": "MIT",
309
+
"dependencies": {
310
+
"multiformats": "^9.4.2"
311
+
}
312
+
},
313
+
"node_modules/undici-types": {
314
+
"version": "7.16.0",
315
+
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
316
+
"integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
317
+
"dev": true,
318
+
"license": "MIT",
319
+
"peer": true
320
+
},
321
+
"node_modules/v8-compile-cache-lib": {
322
+
"version": "3.0.1",
323
+
"resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
324
+
"integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
325
+
"dev": true,
326
+
"license": "MIT"
327
+
},
328
+
"node_modules/yn": {
329
+
"version": "3.1.1",
330
+
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
331
+
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
332
+
"dev": true,
333
+
"license": "MIT",
334
+
"engines": {
335
+
"node": ">=6"
336
+
}
337
+
},
338
+
"node_modules/zod": {
339
+
"version": "3.25.76",
340
+
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
341
+
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
342
+
"license": "MIT",
343
+
"funding": {
344
+
"url": "https://github.com/sponsors/colinhacks"
345
+
}
346
+
}
347
+
}
348
+
}
+23
package.json
+23
package.json
···
1
+
{
2
+
"name": "thanossnap",
3
+
"version": "1.0.0",
4
+
"description": "",
5
+
"repository": {
6
+
"type": "git",
7
+
"url": "git@tangled.sh:modamo.xyz/thanosSnap"
8
+
},
9
+
"license": "ISC",
10
+
"author": "",
11
+
"type": "commonjs",
12
+
"main": "index.ts",
13
+
"scripts": {
14
+
"test": "echo \"Error: no test specified\" && exit 1"
15
+
},
16
+
"dependencies": {
17
+
"@atproto/api": "^0.17.7"
18
+
},
19
+
"devDependencies": {
20
+
"ts-node": "^10.9.2",
21
+
"typescript": "^5.9.3"
22
+
}
23
+
}
+44
tsconfig.json
+44
tsconfig.json
···
1
+
{
2
+
// Visit https://aka.ms/tsconfig to read more about this file
3
+
"compilerOptions": {
4
+
// File Layout
5
+
// "rootDir": "./src",
6
+
// "outDir": "./dist",
7
+
8
+
// Environment Settings
9
+
// See also https://aka.ms/tsconfig/module
10
+
"module": "nodenext",
11
+
"target": "esnext",
12
+
"types": [],
13
+
// For nodejs:
14
+
// "lib": ["esnext"],
15
+
// "types": ["node"],
16
+
// and npm install -D @types/node
17
+
18
+
// Other Outputs
19
+
"sourceMap": true,
20
+
"declaration": true,
21
+
"declarationMap": true,
22
+
23
+
// Stricter Typechecking Options
24
+
"noUncheckedIndexedAccess": true,
25
+
"exactOptionalPropertyTypes": true,
26
+
27
+
// Style Options
28
+
// "noImplicitReturns": true,
29
+
// "noImplicitOverride": true,
30
+
// "noUnusedLocals": true,
31
+
// "noUnusedParameters": true,
32
+
// "noFallthroughCasesInSwitch": true,
33
+
// "noPropertyAccessFromIndexSignature": true,
34
+
35
+
// Recommended Options
36
+
"strict": true,
37
+
"jsx": "react-jsx",
38
+
"verbatimModuleSyntax": true,
39
+
"isolatedModules": true,
40
+
"noUncheckedSideEffectImports": true,
41
+
"moduleDetection": "force",
42
+
"skipLibCheck": true,
43
+
}
44
+
}