@atproto/ozone 0.1.73 → 0.1.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/bin/migration-create.ts +2 -2
  3. package/dist/api/chat/getActorMetadata.d.ts +1 -1
  4. package/dist/api/chat/getActorMetadata.d.ts.map +1 -1
  5. package/dist/api/chat/getActorMetadata.js.map +1 -1
  6. package/dist/api/chat/getMessageContext.d.ts +1 -1
  7. package/dist/api/chat/getMessageContext.d.ts.map +1 -1
  8. package/dist/api/chat/getMessageContext.js.map +1 -1
  9. package/dist/api/chat/index.d.ts +1 -1
  10. package/dist/api/chat/index.d.ts.map +1 -1
  11. package/dist/api/communication/createTemplate.d.ts +1 -1
  12. package/dist/api/communication/createTemplate.d.ts.map +1 -1
  13. package/dist/api/communication/createTemplate.js.map +1 -1
  14. package/dist/api/communication/deleteTemplate.d.ts +1 -1
  15. package/dist/api/communication/deleteTemplate.d.ts.map +1 -1
  16. package/dist/api/communication/listTemplates.d.ts +1 -1
  17. package/dist/api/communication/listTemplates.d.ts.map +1 -1
  18. package/dist/api/communication/updateTemplate.d.ts +1 -1
  19. package/dist/api/communication/updateTemplate.d.ts.map +1 -1
  20. package/dist/api/communication/updateTemplate.js.map +1 -1
  21. package/dist/api/health.d.ts +3 -3
  22. package/dist/api/health.d.ts.map +1 -1
  23. package/dist/api/health.js +2 -5
  24. package/dist/api/health.js.map +1 -1
  25. package/dist/api/index.d.ts +1 -1
  26. package/dist/api/index.d.ts.map +1 -1
  27. package/dist/api/index.js +20 -20
  28. package/dist/api/index.js.map +1 -1
  29. package/dist/api/label/fetchLabels.d.ts +1 -1
  30. package/dist/api/label/fetchLabels.d.ts.map +1 -1
  31. package/dist/api/label/queryLabels.d.ts +1 -1
  32. package/dist/api/label/queryLabels.d.ts.map +1 -1
  33. package/dist/api/label/queryLabels.js +1 -1
  34. package/dist/api/label/queryLabels.js.map +1 -1
  35. package/dist/api/label/subscribeLabels.d.ts +1 -1
  36. package/dist/api/label/subscribeLabels.d.ts.map +1 -1
  37. package/dist/api/label/subscribeLabels.js +2 -5
  38. package/dist/api/label/subscribeLabels.js.map +1 -1
  39. package/dist/api/moderation/emitEvent.d.ts +1 -1
  40. package/dist/api/moderation/emitEvent.d.ts.map +1 -1
  41. package/dist/api/moderation/emitEvent.js +6 -6
  42. package/dist/api/moderation/emitEvent.js.map +1 -1
  43. package/dist/api/moderation/getEvent.d.ts +1 -1
  44. package/dist/api/moderation/getEvent.d.ts.map +1 -1
  45. package/dist/api/moderation/getRecord.d.ts +1 -1
  46. package/dist/api/moderation/getRecord.d.ts.map +1 -1
  47. package/dist/api/moderation/getRecord.js +1 -1
  48. package/dist/api/moderation/getRecord.js.map +1 -1
  49. package/dist/api/moderation/getRecords.d.ts +1 -1
  50. package/dist/api/moderation/getRecords.d.ts.map +1 -1
  51. package/dist/api/moderation/getRecords.js +1 -1
  52. package/dist/api/moderation/getRecords.js.map +1 -1
  53. package/dist/api/moderation/getRepo.d.ts +1 -1
  54. package/dist/api/moderation/getRepo.d.ts.map +1 -1
  55. package/dist/api/moderation/getRepos.d.ts +1 -1
  56. package/dist/api/moderation/getRepos.d.ts.map +1 -1
  57. package/dist/api/moderation/queryEvents.d.ts +1 -1
  58. package/dist/api/moderation/queryEvents.d.ts.map +1 -1
  59. package/dist/api/moderation/queryStatuses.d.ts +1 -1
  60. package/dist/api/moderation/queryStatuses.d.ts.map +1 -1
  61. package/dist/api/moderation/searchRepos.d.ts +1 -1
  62. package/dist/api/moderation/searchRepos.d.ts.map +1 -1
  63. package/dist/api/moderation/searchRepos.js.map +1 -1
  64. package/dist/api/proxied.d.ts +1 -1
  65. package/dist/api/proxied.d.ts.map +1 -1
  66. package/dist/api/report/createReport.d.ts +1 -1
  67. package/dist/api/report/createReport.d.ts.map +1 -1
  68. package/dist/api/report/createReport.js +6 -6
  69. package/dist/api/report/createReport.js.map +1 -1
  70. package/dist/api/server/getConfig.d.ts +1 -1
  71. package/dist/api/server/getConfig.d.ts.map +1 -1
  72. package/dist/api/server/getConfig.js.map +1 -1
  73. package/dist/api/set/addValues.d.ts +1 -1
  74. package/dist/api/set/addValues.d.ts.map +1 -1
  75. package/dist/api/set/deleteSet.d.ts +1 -1
  76. package/dist/api/set/deleteSet.d.ts.map +1 -1
  77. package/dist/api/set/deleteValues.d.ts +1 -1
  78. package/dist/api/set/deleteValues.d.ts.map +1 -1
  79. package/dist/api/set/getValues.d.ts +1 -1
  80. package/dist/api/set/getValues.d.ts.map +1 -1
  81. package/dist/api/set/querySets.d.ts +1 -1
  82. package/dist/api/set/querySets.d.ts.map +1 -1
  83. package/dist/api/set/upsertSet.d.ts +1 -1
  84. package/dist/api/set/upsertSet.d.ts.map +1 -1
  85. package/dist/api/setting/listOptions.d.ts +1 -1
  86. package/dist/api/setting/listOptions.d.ts.map +1 -1
  87. package/dist/api/setting/removeOptions.d.ts +1 -1
  88. package/dist/api/setting/removeOptions.d.ts.map +1 -1
  89. package/dist/api/setting/upsertOption.d.ts +1 -1
  90. package/dist/api/setting/upsertOption.d.ts.map +1 -1
  91. package/dist/api/setting/upsertOption.js +2 -2
  92. package/dist/api/setting/upsertOption.js.map +1 -1
  93. package/dist/api/team/addMember.d.ts +1 -1
  94. package/dist/api/team/addMember.d.ts.map +1 -1
  95. package/dist/api/team/deleteMember.d.ts +1 -1
  96. package/dist/api/team/deleteMember.d.ts.map +1 -1
  97. package/dist/api/team/listMembers.d.ts +1 -1
  98. package/dist/api/team/listMembers.d.ts.map +1 -1
  99. package/dist/api/team/updateMember.d.ts +1 -1
  100. package/dist/api/team/updateMember.d.ts.map +1 -1
  101. package/dist/api/util.d.ts +4 -4
  102. package/dist/api/util.d.ts.map +1 -1
  103. package/dist/api/util.js +4 -1
  104. package/dist/api/util.js.map +1 -1
  105. package/dist/api/well-known.d.ts +3 -3
  106. package/dist/api/well-known.d.ts.map +1 -1
  107. package/dist/api/well-known.js +2 -5
  108. package/dist/api/well-known.js.map +1 -1
  109. package/dist/background.d.ts.map +1 -1
  110. package/dist/background.js +0 -2
  111. package/dist/background.js.map +1 -1
  112. package/dist/communication-service/template.d.ts +1 -1
  113. package/dist/communication-service/template.d.ts.map +1 -1
  114. package/dist/config/config.d.ts.map +1 -1
  115. package/dist/config/config.js.map +1 -1
  116. package/dist/config/secrets.js +3 -3
  117. package/dist/config/secrets.js.map +1 -1
  118. package/dist/context.d.ts +9 -10
  119. package/dist/context.d.ts.map +1 -1
  120. package/dist/context.js +11 -12
  121. package/dist/context.js.map +1 -1
  122. package/dist/daemon/blob-diverter.d.ts +2 -2
  123. package/dist/daemon/blob-diverter.d.ts.map +1 -1
  124. package/dist/daemon/blob-diverter.js +3 -3
  125. package/dist/daemon/blob-diverter.js.map +1 -1
  126. package/dist/daemon/context.d.ts +1 -2
  127. package/dist/daemon/context.d.ts.map +1 -1
  128. package/dist/daemon/context.js +6 -7
  129. package/dist/daemon/context.js.map +1 -1
  130. package/dist/daemon/event-pusher.d.ts +3 -3
  131. package/dist/daemon/event-pusher.d.ts.map +1 -1
  132. package/dist/daemon/event-pusher.js +2 -2
  133. package/dist/daemon/event-pusher.js.map +1 -1
  134. package/dist/daemon/event-reverser.d.ts +1 -1
  135. package/dist/daemon/event-reverser.d.ts.map +1 -1
  136. package/dist/daemon/event-reverser.js.map +1 -1
  137. package/dist/daemon/index.d.ts +1 -1
  138. package/dist/daemon/index.d.ts.map +1 -1
  139. package/dist/daemon/index.js +2 -5
  140. package/dist/daemon/index.js.map +1 -1
  141. package/dist/daemon/materialized-view-refresher.js +1 -1
  142. package/dist/daemon/materialized-view-refresher.js.map +1 -1
  143. package/dist/db/index.d.ts +2 -2
  144. package/dist/db/index.d.ts.map +1 -1
  145. package/dist/db/index.js +5 -5
  146. package/dist/db/index.js.map +1 -1
  147. package/dist/db/migrations/20241220T144630860Z-stats-materialized-views.d.ts.map +1 -1
  148. package/dist/db/migrations/20241220T144630860Z-stats-materialized-views.js.map +1 -1
  149. package/dist/db/schema/index.d.ts +11 -11
  150. package/dist/db/schema/index.d.ts.map +1 -1
  151. package/dist/db/schema/moderation_subject_status.d.ts +1 -1
  152. package/dist/db/schema/moderation_subject_status.d.ts.map +1 -1
  153. package/dist/db/types.d.ts +1 -1
  154. package/dist/db/types.d.ts.map +1 -1
  155. package/dist/db/types.js.map +1 -1
  156. package/dist/error.d.ts.map +1 -1
  157. package/dist/error.js.map +1 -1
  158. package/dist/index.d.ts +3 -3
  159. package/dist/index.d.ts.map +1 -1
  160. package/dist/index.js +9 -9
  161. package/dist/index.js.map +1 -1
  162. package/dist/lexicon/lexicons.d.ts +64 -2
  163. package/dist/lexicon/lexicons.d.ts.map +1 -1
  164. package/dist/lexicon/lexicons.js +36 -0
  165. package/dist/lexicon/lexicons.js.map +1 -1
  166. package/dist/lexicon/types/app/bsky/actor/defs.d.ts +19 -1
  167. package/dist/lexicon/types/app/bsky/actor/defs.d.ts.map +1 -1
  168. package/dist/lexicon/types/app/bsky/actor/defs.js +10 -0
  169. package/dist/lexicon/types/app/bsky/actor/defs.js.map +1 -1
  170. package/dist/lexicon/types/app/bsky/feed/postgate.d.ts +1 -0
  171. package/dist/lexicon/types/app/bsky/feed/postgate.d.ts.map +1 -1
  172. package/dist/lexicon/types/app/bsky/feed/postgate.js.map +1 -1
  173. package/dist/lexicon/types/app/bsky/feed/threadgate.d.ts +1 -0
  174. package/dist/lexicon/types/app/bsky/feed/threadgate.d.ts.map +1 -1
  175. package/dist/lexicon/types/app/bsky/feed/threadgate.js.map +1 -1
  176. package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts +2 -0
  177. package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts.map +1 -1
  178. package/dist/lexicon/types/tools/ozone/moderation/defs.js.map +1 -1
  179. package/dist/logger.js +2 -25
  180. package/dist/logger.js.map +1 -1
  181. package/dist/mod-service/index.d.ts +32 -32
  182. package/dist/mod-service/index.d.ts.map +1 -1
  183. package/dist/mod-service/index.js +19 -15
  184. package/dist/mod-service/index.js.map +1 -1
  185. package/dist/mod-service/status.d.ts +24 -24
  186. package/dist/mod-service/status.d.ts.map +1 -1
  187. package/dist/mod-service/status.js +2 -0
  188. package/dist/mod-service/status.js.map +1 -1
  189. package/dist/mod-service/subject.d.ts +3 -3
  190. package/dist/mod-service/subject.d.ts.map +1 -1
  191. package/dist/mod-service/subject.js.map +1 -1
  192. package/dist/mod-service/types.d.ts +2 -2
  193. package/dist/mod-service/types.d.ts.map +1 -1
  194. package/dist/mod-service/views.d.ts +6 -6
  195. package/dist/mod-service/views.d.ts.map +1 -1
  196. package/dist/mod-service/views.js +8 -8
  197. package/dist/mod-service/views.js.map +1 -1
  198. package/dist/sequencer/outbox.d.ts +1 -2
  199. package/dist/sequencer/outbox.d.ts.map +1 -1
  200. package/dist/sequencer/outbox.js +0 -1
  201. package/dist/sequencer/outbox.js.map +1 -1
  202. package/dist/sequencer/sequencer.d.ts +3 -4
  203. package/dist/sequencer/sequencer.d.ts.map +1 -1
  204. package/dist/sequencer/sequencer.js +3 -4
  205. package/dist/sequencer/sequencer.js.map +1 -1
  206. package/dist/set/service.d.ts +2 -2
  207. package/dist/set/service.d.ts.map +1 -1
  208. package/dist/set/service.js.map +1 -1
  209. package/dist/setting/service.d.ts +3 -3
  210. package/dist/setting/service.d.ts.map +1 -1
  211. package/dist/setting/service.js.map +1 -1
  212. package/dist/setting/validators.d.ts.map +1 -1
  213. package/dist/setting/validators.js +1 -1
  214. package/dist/setting/validators.js.map +1 -1
  215. package/dist/tag-service/embed-tagger.d.ts.map +1 -1
  216. package/dist/tag-service/embed-tagger.js +1 -1
  217. package/dist/tag-service/embed-tagger.js.map +1 -1
  218. package/dist/tag-service/index.d.ts.map +1 -1
  219. package/dist/tag-service/index.js +1 -1
  220. package/dist/tag-service/index.js.map +1 -1
  221. package/dist/tag-service/language-tagger.d.ts.map +1 -1
  222. package/dist/tag-service/language-tagger.js +1 -1
  223. package/dist/tag-service/language-tagger.js.map +1 -1
  224. package/dist/team/index.d.ts +3 -3
  225. package/dist/team/index.d.ts.map +1 -1
  226. package/dist/team/index.js +2 -2
  227. package/dist/team/index.js.map +1 -1
  228. package/dist/util.d.ts +1 -1
  229. package/dist/util.d.ts.map +1 -1
  230. package/dist/util.js +1 -1
  231. package/dist/util.js.map +1 -1
  232. package/package.json +14 -11
  233. package/src/api/chat/getActorMetadata.ts +2 -2
  234. package/src/api/chat/getMessageContext.ts +2 -2
  235. package/src/api/chat/index.ts +1 -1
  236. package/src/api/communication/createTemplate.ts +2 -2
  237. package/src/api/communication/deleteTemplate.ts +1 -1
  238. package/src/api/communication/listTemplates.ts +1 -1
  239. package/src/api/communication/updateTemplate.ts +2 -2
  240. package/src/api/health.ts +4 -4
  241. package/src/api/index.ts +21 -21
  242. package/src/api/label/fetchLabels.ts +1 -1
  243. package/src/api/label/queryLabels.ts +3 -3
  244. package/src/api/label/subscribeLabels.ts +3 -3
  245. package/src/api/moderation/emitEvent.ts +7 -6
  246. package/src/api/moderation/getEvent.ts +1 -1
  247. package/src/api/moderation/getRecord.ts +2 -2
  248. package/src/api/moderation/getRecords.ts +2 -2
  249. package/src/api/moderation/getRepo.ts +1 -1
  250. package/src/api/moderation/getRepos.ts +1 -1
  251. package/src/api/moderation/queryEvents.ts +1 -1
  252. package/src/api/moderation/queryStatuses.ts +1 -1
  253. package/src/api/moderation/searchRepos.ts +2 -2
  254. package/src/api/proxied.ts +1 -1
  255. package/src/api/report/createReport.ts +5 -5
  256. package/src/api/server/getConfig.ts +1 -1
  257. package/src/api/set/addValues.ts +1 -1
  258. package/src/api/set/deleteSet.ts +1 -1
  259. package/src/api/set/deleteValues.ts +1 -1
  260. package/src/api/set/getValues.ts +1 -1
  261. package/src/api/set/querySets.ts +1 -1
  262. package/src/api/set/upsertSet.ts +1 -1
  263. package/src/api/setting/listOptions.ts +1 -1
  264. package/src/api/setting/removeOptions.ts +2 -2
  265. package/src/api/setting/upsertOption.ts +5 -5
  266. package/src/api/team/addMember.ts +1 -1
  267. package/src/api/team/deleteMember.ts +1 -1
  268. package/src/api/team/listMembers.ts +1 -1
  269. package/src/api/team/updateMember.ts +1 -1
  270. package/src/api/util.ts +14 -11
  271. package/src/api/well-known.ts +4 -4
  272. package/src/background.ts +0 -2
  273. package/src/communication-service/template.ts +1 -1
  274. package/src/config/config.ts +1 -1
  275. package/src/config/secrets.ts +1 -1
  276. package/src/context.ts +13 -14
  277. package/src/daemon/blob-diverter.ts +7 -8
  278. package/src/daemon/context.ts +6 -8
  279. package/src/daemon/event-pusher.ts +6 -6
  280. package/src/daemon/event-reverser.ts +1 -1
  281. package/src/daemon/index.ts +1 -1
  282. package/src/daemon/materialized-view-refresher.ts +1 -1
  283. package/src/db/index.ts +8 -8
  284. package/src/db/migrations/20241220T144630860Z-stats-materialized-views.ts +1 -3
  285. package/src/db/pagination.ts +1 -1
  286. package/src/db/schema/index.ts +11 -12
  287. package/src/db/schema/moderation_subject_status.ts +1 -1
  288. package/src/db/types.ts +1 -1
  289. package/src/error.ts +1 -1
  290. package/src/index.ts +11 -11
  291. package/src/lexicon/lexicons.ts +42 -0
  292. package/src/lexicon/types/app/bsky/actor/defs.ts +36 -0
  293. package/src/lexicon/types/app/bsky/feed/postgate.ts +1 -0
  294. package/src/lexicon/types/app/bsky/feed/threadgate.ts +1 -0
  295. package/src/lexicon/types/tools/ozone/moderation/defs.ts +2 -0
  296. package/src/logger.ts +1 -1
  297. package/src/mod-service/index.ts +39 -33
  298. package/src/mod-service/status.ts +3 -1
  299. package/src/mod-service/subject.ts +4 -4
  300. package/src/mod-service/types.ts +2 -2
  301. package/src/mod-service/views.ts +18 -18
  302. package/src/sequencer/outbox.ts +1 -3
  303. package/src/sequencer/sequencer.ts +5 -7
  304. package/src/set/service.ts +2 -2
  305. package/src/setting/service.ts +5 -5
  306. package/src/setting/validators.ts +1 -1
  307. package/src/tag-service/embed-tagger.ts +3 -3
  308. package/src/tag-service/index.ts +3 -3
  309. package/src/tag-service/language-tagger.ts +1 -2
  310. package/src/team/index.ts +6 -6
  311. package/src/util.ts +2 -2
  312. package/tests/3p-labeler.test.ts +5 -5
  313. package/tests/__snapshots__/get-record.test.ts.snap +2 -2
  314. package/tests/__snapshots__/get-records.test.ts.snap +1 -1
  315. package/tests/__snapshots__/get-repo.test.ts.snap +1 -1
  316. package/tests/__snapshots__/get-repos.test.ts.snap +1 -1
  317. package/tests/__snapshots__/moderation-events.test.ts.snap +1 -1
  318. package/tests/__snapshots__/moderation-statuses.test.ts.snap +6 -6
  319. package/tests/_util.ts +4 -4
  320. package/tests/ack-all-subjects-of-account.test.ts +4 -4
  321. package/tests/blob-divert.test.ts +1 -1
  322. package/tests/communication-templates.test.ts +1 -1
  323. package/tests/content-tagger.test.ts +1 -1
  324. package/tests/get-config.test.ts +1 -1
  325. package/tests/get-lists.test.ts +4 -4
  326. package/tests/get-profiles.test.ts +2 -3
  327. package/tests/get-record.test.ts +4 -4
  328. package/tests/get-records.test.ts +4 -4
  329. package/tests/get-repo.test.ts +3 -3
  330. package/tests/get-repos.test.ts +3 -3
  331. package/tests/get-starter-pack.test.ts +5 -5
  332. package/tests/moderation-appeals.test.ts +6 -6
  333. package/tests/moderation-events.test.ts +4 -4
  334. package/tests/moderation-status-tags.test.ts +2 -2
  335. package/tests/moderation-statuses.test.ts +8 -8
  336. package/tests/moderation.test.ts +39 -13
  337. package/tests/protected-tags.test.ts +3 -3
  338. package/tests/query-labels.test.ts +3 -3
  339. package/tests/record-and-account-events.test.ts +8 -7
  340. package/tests/repo-search.test.ts +2 -2
  341. package/tests/report-muting.test.ts +6 -6
  342. package/tests/sequencer.test.ts +3 -3
  343. package/tests/server.test.ts +1 -1
  344. package/tests/sets.test.ts +2 -2
  345. package/tests/settings.test.ts +2 -2
  346. package/tests/takedown.test.ts +3 -12
  347. package/tests/team.test.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/ozone",
3
- "version": "0.1.73",
3
+ "version": "0.1.75",
4
4
  "license": "MIT",
5
5
  "description": "Backend service for moderating the Bluesky network.",
6
6
  "keywords": [
@@ -16,6 +16,9 @@
16
16
  "main": "dist/index.js",
17
17
  "types": "dist/index.d.ts",
18
18
  "bin": "dist/bin.js",
19
+ "engines": {
20
+ "node": ">=18.7.0"
21
+ },
19
22
  "dependencies": {
20
23
  "@did-plc/lib": "^0.0.1",
21
24
  "compression": "^1.7.4",
@@ -32,14 +35,14 @@
32
35
  "typed-emitter": "^2.1.0",
33
36
  "uint8arrays": "3.0.0",
34
37
  "undici": "^6.14.1",
35
- "@atproto/api": "^0.13.31",
36
- "@atproto/common": "^0.4.6",
37
- "@atproto/crypto": "^0.4.3",
38
- "@atproto/identity": "^0.4.5",
39
- "@atproto/lexicon": "^0.4.5",
40
- "@atproto/syntax": "^0.3.1",
41
- "@atproto/xrpc": "^0.6.6",
42
- "@atproto/xrpc-server": "^0.7.8"
38
+ "@atproto/api": "^0.13.33",
39
+ "@atproto/common": "^0.4.8",
40
+ "@atproto/crypto": "^0.4.4",
41
+ "@atproto/identity": "^0.4.6",
42
+ "@atproto/lexicon": "^0.4.6",
43
+ "@atproto/syntax": "^0.3.2",
44
+ "@atproto/xrpc": "^0.6.8",
45
+ "@atproto/xrpc-server": "^0.7.10"
43
46
  },
44
47
  "devDependencies": {
45
48
  "@did-plc/server": "^0.0.1",
@@ -51,8 +54,8 @@
51
54
  "jest": "^28.1.2",
52
55
  "ts-node": "^10.8.2",
53
56
  "typescript": "^5.6.3",
54
- "@atproto/lex-cli": "^0.5.6",
55
- "@atproto/pds": "^0.4.90"
57
+ "@atproto/lex-cli": "^0.5.7",
58
+ "@atproto/pds": "^0.4.92"
56
59
  },
57
60
  "scripts": {
58
61
  "codegen": "lex gen-server --yes ./src/lexicon ../../lexicons/com/atproto/*/* ../../lexicons/app/bsky/*/* ../../lexicons/chat/bsky/*/* ../../lexicons/tools/ozone/*/*",
@@ -1,6 +1,6 @@
1
- import { Server } from '../../lexicon'
2
- import AppContext from '../../context'
3
1
  import { InvalidRequestError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../../context'
3
+ import { Server } from '../../lexicon'
4
4
  import { ids } from '../../lexicon/lexicons'
5
5
 
6
6
  export default function (server: Server, ctx: AppContext) {
@@ -1,6 +1,6 @@
1
- import { Server } from '../../lexicon'
2
- import AppContext from '../../context'
3
1
  import { InvalidRequestError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../../context'
3
+ import { Server } from '../../lexicon'
4
4
  import { ids } from '../../lexicon/lexicons'
5
5
 
6
6
  export default function (server: Server, ctx: AppContext) {
@@ -1,5 +1,5 @@
1
+ import { AppContext } from '../../context'
1
2
  import { Server } from '../../lexicon'
2
- import AppContext from '../../context'
3
3
  import getActorMetadata from './getActorMetadata'
4
4
  import getMessageContext from './getMessageContext'
5
5
 
@@ -1,7 +1,7 @@
1
1
  import { AuthRequiredError, InvalidRequestError } from '@atproto/xrpc-server'
2
- import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
2
  import { isDuplicateTemplateNameError } from '../../communication-service/util'
3
+ import { AppContext } from '../../context'
4
+ import { Server } from '../../lexicon'
5
5
 
6
6
  export default function (server: Server, ctx: AppContext) {
7
7
  server.tools.ozone.communication.createTemplate({
@@ -1,6 +1,6 @@
1
1
  import { AuthRequiredError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../../context'
2
3
  import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
4
 
5
5
  export default function (server: Server, ctx: AppContext) {
6
6
  server.tools.ozone.communication.deleteTemplate({
@@ -1,6 +1,6 @@
1
1
  import { AuthRequiredError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../../context'
2
3
  import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
4
 
5
5
  export default function (server: Server, ctx: AppContext) {
6
6
  server.tools.ozone.communication.listTemplates({
@@ -1,7 +1,7 @@
1
1
  import { AuthRequiredError, InvalidRequestError } from '@atproto/xrpc-server'
2
- import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
2
  import { isDuplicateTemplateNameError } from '../../communication-service/util'
3
+ import { AppContext } from '../../context'
4
+ import { Server } from '../../lexicon'
5
5
 
6
6
  export default function (server: Server, ctx: AppContext) {
7
7
  server.tools.ozone.communication.updateTemplate({
package/src/api/health.ts CHANGED
@@ -1,9 +1,9 @@
1
- import express from 'express'
1
+ import { Router } from 'express'
2
2
  import { sql } from 'kysely'
3
- import AppContext from '../context'
3
+ import { AppContext } from '../context'
4
4
 
5
- export const createRouter = (ctx: AppContext): express.Router => {
6
- const router = express.Router()
5
+ export const createRouter = (ctx: AppContext): Router => {
6
+ const router = Router()
7
7
 
8
8
  router.get('/robots.txt', function (req, res) {
9
9
  res.type('text/plain')
package/src/api/index.ts CHANGED
@@ -1,38 +1,38 @@
1
+ import { AppContext } from '../context'
1
2
  import { Server } from '../lexicon'
2
- import AppContext from '../context'
3
- import createReport from './report/createReport'
3
+ import chat from './chat'
4
+ import createTemplate from './communication/createTemplate'
5
+ import deleteTemplate from './communication/deleteTemplate'
6
+ import listTemplates from './communication/listTemplates'
7
+ import updateTemplate from './communication/updateTemplate'
8
+ import fetchLabels from './label/fetchLabels'
9
+ import queryLabels from './label/queryLabels'
10
+ import subscribeLabels from './label/subscribeLabels'
4
11
  import emitEvent from './moderation/emitEvent'
5
- import searchRepos from './moderation/searchRepos'
12
+ import getEvent from './moderation/getEvent'
6
13
  import adminGetRecord from './moderation/getRecord'
7
14
  import adminGetRecords from './moderation/getRecords'
8
15
  import getRepo from './moderation/getRepo'
9
- import queryStatuses from './moderation/queryStatuses'
16
+ import getRepos from './moderation/getRepos'
10
17
  import queryEvents from './moderation/queryEvents'
11
- import getEvent from './moderation/getEvent'
12
- import queryLabels from './label/queryLabels'
13
- import subscribeLabels from './label/subscribeLabels'
14
- import fetchLabels from './label/fetchLabels'
15
- import createTemplate from './communication/createTemplate'
16
- import updateTemplate from './communication/updateTemplate'
17
- import deleteTemplate from './communication/deleteTemplate'
18
- import listTemplates from './communication/listTemplates'
19
- import addMember from './team/addMember'
20
- import updateMember from './team/updateMember'
21
- import deleteMember from './team/deleteMember'
22
- import listMembers from './team/listMembers'
23
- import getConfig from './server/getConfig'
24
- import chat from './chat'
18
+ import queryStatuses from './moderation/queryStatuses'
19
+ import searchRepos from './moderation/searchRepos'
25
20
  import proxied from './proxied'
21
+ import createReport from './report/createReport'
22
+ import getConfig from './server/getConfig'
26
23
  import setAddValues from './set/addValues'
24
+ import deleteSet from './set/deleteSet'
25
+ import setDeleteValues from './set/deleteValues'
27
26
  import setGetValues from './set/getValues'
28
27
  import querySets from './set/querySets'
29
28
  import upsertSet from './set/upsertSet'
30
- import setDeleteValues from './set/deleteValues'
31
- import deleteSet from './set/deleteSet'
32
- import getRepos from './moderation/getRepos'
33
29
  import listOptions from './setting/listOptions'
34
30
  import removeOptions from './setting/removeOptions'
35
31
  import upsertOption from './setting/upsertOption'
32
+ import addMember from './team/addMember'
33
+ import deleteMember from './team/deleteMember'
34
+ import listMembers from './team/listMembers'
35
+ import updateMember from './team/updateMember'
36
36
 
37
37
  export * as health from './health'
38
38
 
@@ -1,5 +1,5 @@
1
+ import { AppContext } from '../../context'
1
2
  import { Server } from '../../lexicon'
2
- import AppContext from '../../context'
3
3
 
4
4
  export default function (server: Server, ctx: AppContext) {
5
5
  server.com.atproto.temp.fetchLabels({
@@ -1,7 +1,7 @@
1
- import { Server } from '../../lexicon'
2
- import AppContext from '../../context'
3
- import { InvalidRequestError } from '@atproto/xrpc-server'
4
1
  import { sql } from 'kysely'
2
+ import { InvalidRequestError } from '@atproto/xrpc-server'
3
+ import { AppContext } from '../../context'
4
+ import { Server } from '../../lexicon'
5
5
 
6
6
  export default function (server: Server, ctx: AppContext) {
7
7
  server.com.atproto.label.queryLabels(async ({ params }) => {
@@ -1,7 +1,7 @@
1
- import { Server } from '../../lexicon'
2
- import AppContext from '../../context'
3
- import Outbox from '../../sequencer/outbox'
4
1
  import { InvalidRequestError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../../context'
3
+ import { Server } from '../../lexicon'
4
+ import { Outbox } from '../../sequencer/outbox'
5
5
 
6
6
  export default function (server: Server, ctx: AppContext) {
7
7
  server.com.atproto.label.subscribeLabels(async function* ({
@@ -1,7 +1,9 @@
1
1
  import { AuthRequiredError, InvalidRequestError } from '@atproto/xrpc-server'
2
+ import { AdminTokenOutput, ModeratorOutput } from '../../auth-verifier'
3
+ import { AppContext } from '../../context'
2
4
  import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
5
  import {
6
+ ModEventTag,
5
7
  isModEventAcknowledge,
6
8
  isModEventDivert,
7
9
  isModEventEmail,
@@ -12,17 +14,15 @@ import {
12
14
  isModEventTag,
13
15
  isModEventTakedown,
14
16
  isModEventUnmuteReporter,
15
- ModEventTag,
16
17
  } from '../../lexicon/types/tools/ozone/moderation/defs'
17
18
  import { HandlerInput } from '../../lexicon/types/tools/ozone/moderation/emitEvent'
18
19
  import { subjectFromInput } from '../../mod-service/subject'
19
- import { TagService } from '../../tag-service'
20
- import { retryHttp } from '../../util'
21
- import { ModeratorOutput, AdminTokenOutput } from '../../auth-verifier'
22
- import { SettingService } from '../../setting/service'
23
20
  import { ProtectedTagSettingKey } from '../../setting/constants'
21
+ import { SettingService } from '../../setting/service'
24
22
  import { ProtectedTagSetting } from '../../setting/types'
23
+ import { TagService } from '../../tag-service'
25
24
  import { getTagForReport } from '../../tag-service/util'
25
+ import { retryHttp } from '../../util'
26
26
 
27
27
  const handleModerationEvent = async ({
28
28
  ctx,
@@ -207,6 +207,7 @@ const handleModerationEvent = async ({
207
207
  ? result.event.negateLabelVals.split(' ')
208
208
  : undefined,
209
209
  },
210
+ result.event.durationInHours ?? undefined,
210
211
  )
211
212
  }
212
213
 
@@ -1,5 +1,5 @@
1
+ import { AppContext } from '../../context'
1
2
  import { Server } from '../../lexicon'
2
- import AppContext from '../../context'
3
3
 
4
4
  export default function (server: Server, ctx: AppContext) {
5
5
  server.tools.ozone.moderation.getEvent({
@@ -1,8 +1,8 @@
1
+ import { AtUri } from '@atproto/syntax'
1
2
  import { InvalidRequestError } from '@atproto/xrpc-server'
3
+ import { AppContext } from '../../context'
2
4
  import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
5
  import { addAccountInfoToRepoView, getPdsAccountInfos } from '../util'
5
- import { AtUri } from '@atproto/syntax'
6
6
 
7
7
  export default function (server: Server, ctx: AppContext) {
8
8
  server.tools.ozone.moderation.getRecord({
@@ -1,7 +1,7 @@
1
+ import { AtUri } from '@atproto/syntax'
2
+ import { AppContext } from '../../context'
1
3
  import { Server } from '../../lexicon'
2
- import AppContext from '../../context'
3
4
  import { addAccountInfoToRepoView, getPdsAccountInfos } from '../util'
4
- import { AtUri } from '@atproto/syntax'
5
5
 
6
6
  export default function (server: Server, ctx: AppContext) {
7
7
  server.tools.ozone.moderation.getRecords({
@@ -1,6 +1,6 @@
1
1
  import { InvalidRequestError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../../context'
2
3
  import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
4
  import { addAccountInfoToRepoViewDetail, getPdsAccountInfos } from '../util'
5
5
 
6
6
  export default function (server: Server, ctx: AppContext) {
@@ -1,5 +1,5 @@
1
+ import { AppContext } from '../../context'
1
2
  import { Server } from '../../lexicon'
2
- import AppContext from '../../context'
3
3
  import { addAccountInfoToRepoViewDetail, getPdsAccountInfos } from '../util'
4
4
 
5
5
  export default function (server: Server, ctx: AppContext) {
@@ -1,5 +1,5 @@
1
+ import { AppContext } from '../../context'
1
2
  import { Server } from '../../lexicon'
2
- import AppContext from '../../context'
3
3
  import { getEventType } from '../util'
4
4
 
5
5
  export default function (server: Server, ctx: AppContext) {
@@ -1,5 +1,5 @@
1
+ import { AppContext } from '../../context'
1
2
  import { Server } from '../../lexicon'
2
- import AppContext from '../../context'
3
3
 
4
4
  export default function (server: Server, ctx: AppContext) {
5
5
  server.tools.ozone.moderation.queryStatuses({
@@ -1,6 +1,6 @@
1
- import { Server } from '../../lexicon'
2
- import AppContext from '../../context'
3
1
  import { mapDefined } from '@atproto/common'
2
+ import { AppContext } from '../../context'
3
+ import { Server } from '../../lexicon'
4
4
  import { ids } from '../../lexicon/lexicons'
5
5
 
6
6
  export default function (server: Server, ctx: AppContext) {
@@ -1,5 +1,5 @@
1
+ import { AppContext } from '../context'
1
2
  import { Server } from '../lexicon'
2
- import AppContext from '../context'
3
3
  import { ids } from '../lexicon/lexicons'
4
4
 
5
5
  export default function (server: Server, ctx: AppContext) {
@@ -1,15 +1,15 @@
1
+ import { ForbiddenError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../../context'
1
3
  import { Server } from '../../lexicon'
2
- import AppContext from '../../context'
3
- import { getReasonType } from '../util'
4
- import { subjectFromInput } from '../../mod-service/subject'
5
4
  import {
6
5
  REASONAPPEAL,
7
6
  ReasonType,
8
7
  } from '../../lexicon/types/com/atproto/moderation/defs'
9
- import { ForbiddenError } from '@atproto/xrpc-server'
10
- import { TagService } from '../../tag-service'
11
8
  import { ModerationService } from '../../mod-service'
9
+ import { subjectFromInput } from '../../mod-service/subject'
10
+ import { TagService } from '../../tag-service'
12
11
  import { getTagForReport } from '../../tag-service/util'
12
+ import { getReasonType } from '../util'
13
13
 
14
14
  export default function (server: Server, ctx: AppContext) {
15
15
  server.com.atproto.moderation.createReport({
@@ -1,5 +1,5 @@
1
+ import { AppContext } from '../../context'
1
2
  import { Server, TOOLS_OZONE_TEAM } from '../../lexicon'
2
- import AppContext from '../../context'
3
3
 
4
4
  export default function (server: Server, ctx: AppContext) {
5
5
  server.tools.ozone.server.getConfig({
@@ -1,6 +1,6 @@
1
1
  import { AuthRequiredError, InvalidRequestError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../../context'
2
3
  import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
4
 
5
5
  export default function (server: Server, ctx: AppContext) {
6
6
  server.tools.ozone.set.addValues({
@@ -1,6 +1,6 @@
1
1
  import { AuthRequiredError, InvalidRequestError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../../context'
2
3
  import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
4
 
5
5
  export default function (server: Server, ctx: AppContext) {
6
6
  server.tools.ozone.set.deleteSet({
@@ -1,6 +1,6 @@
1
1
  import { AuthRequiredError, InvalidRequestError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../../context'
2
3
  import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
4
 
5
5
  export default function (server: Server, ctx: AppContext) {
6
6
  server.tools.ozone.set.deleteValues({
@@ -1,6 +1,6 @@
1
1
  import { AuthRequiredError, InvalidRequestError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../../context'
2
3
  import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
4
 
5
5
  export default function (server: Server, ctx: AppContext) {
6
6
  server.tools.ozone.set.getValues({
@@ -1,6 +1,6 @@
1
1
  import { AuthRequiredError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../../context'
2
3
  import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
4
 
5
5
  export default function (server: Server, ctx: AppContext) {
6
6
  server.tools.ozone.set.querySets({
@@ -1,6 +1,6 @@
1
1
  import { AuthRequiredError, InvalidRequestError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../../context'
2
3
  import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
4
 
5
5
  export default function (server: Server, ctx: AppContext) {
6
6
  server.tools.ozone.set.upsertSet({
@@ -1,6 +1,6 @@
1
1
  import { AuthRequiredError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../../context'
2
3
  import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
4
 
5
5
  export default function (server: Server, ctx: AppContext) {
6
6
  server.tools.ozone.setting.listOptions({
@@ -1,7 +1,7 @@
1
1
  import { AuthRequiredError } from '@atproto/xrpc-server'
2
- import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
2
+ import { AppContext } from '../../context'
4
3
  import { Member } from '../../db/schema/member'
4
+ import { Server } from '../../lexicon'
5
5
 
6
6
  export default function (server: Server, ctx: AppContext) {
7
7
  server.tools.ozone.setting.removeOptions({
@@ -1,11 +1,11 @@
1
+ import assert from 'node:assert'
2
+ import { ToolsOzoneTeamDefs } from '@atproto/api'
1
3
  import { AuthRequiredError } from '@atproto/xrpc-server'
2
- import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
4
  import { AdminTokenOutput, ModeratorOutput } from '../../auth-verifier'
5
- import { SettingService } from '../../setting/service'
5
+ import { AppContext } from '../../context'
6
6
  import { Member } from '../../db/schema/member'
7
- import { ToolsOzoneTeamDefs } from '@atproto/api'
8
- import assert from 'node:assert'
7
+ import { Server } from '../../lexicon'
8
+ import { SettingService } from '../../setting/service'
9
9
  import { settingValidators } from '../../setting/validators'
10
10
 
11
11
  export default function (server: Server, ctx: AppContext) {
@@ -1,6 +1,6 @@
1
1
  import { AuthRequiredError, InvalidRequestError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../../context'
2
3
  import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
4
  import { getMemberRole } from '../util'
5
5
 
6
6
  export default function (server: Server, ctx: AppContext) {
@@ -1,6 +1,6 @@
1
1
  import { AuthRequiredError, InvalidRequestError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../../context'
2
3
  import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
4
 
5
5
  export default function (server: Server, ctx: AppContext) {
6
6
  server.tools.ozone.team.deleteMember({
@@ -1,5 +1,5 @@
1
+ import { AppContext } from '../../context'
1
2
  import { Server } from '../../lexicon'
2
- import AppContext from '../../context'
3
3
 
4
4
  export default function (server: Server, ctx: AppContext) {
5
5
  server.tools.ozone.team.listMembers({
@@ -1,6 +1,6 @@
1
1
  import { AuthRequiredError, InvalidRequestError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../../context'
2
3
  import { Server } from '../../lexicon'
3
- import AppContext from '../../context'
4
4
  import { getMemberRole } from '../util'
5
5
 
6
6
  export default function (server: Server, ctx: AppContext) {
package/src/api/util.ts CHANGED
@@ -1,32 +1,32 @@
1
1
  import { InvalidRequestError } from '@atproto/xrpc-server'
2
+ import { AppContext } from '../context'
3
+ import { Member } from '../db/schema/member'
4
+ import { ModerationEvent } from '../db/schema/moderation_event'
5
+ import { ids } from '../lexicon/lexicons'
6
+ import { AccountView } from '../lexicon/types/com/atproto/admin/defs'
2
7
  import { InputSchema as ReportInput } from '../lexicon/types/com/atproto/moderation/createReport'
3
8
  import {
4
- REASONOTHER,
5
- REASONSPAM,
9
+ REASONAPPEAL,
6
10
  REASONMISLEADING,
11
+ REASONOTHER,
7
12
  REASONRUDE,
8
13
  REASONSEXUAL,
14
+ REASONSPAM,
9
15
  REASONVIOLATION,
10
- REASONAPPEAL,
11
16
  } from '../lexicon/types/com/atproto/moderation/defs'
12
- import { AccountView } from '../lexicon/types/com/atproto/admin/defs'
13
17
  import {
14
- RepoView,
15
- RepoViewDetail,
16
18
  REVIEWCLOSED,
17
19
  REVIEWESCALATED,
18
20
  REVIEWOPEN,
21
+ RepoView,
22
+ RepoViewDetail,
19
23
  } from '../lexicon/types/tools/ozone/moderation/defs'
20
- import { ModerationEvent } from '../db/schema/moderation_event'
21
- import { ModerationSubjectStatusRow } from '../mod-service/types'
22
- import AppContext from '../context'
23
- import { Member } from '../db/schema/member'
24
24
  import {
25
25
  ROLEADMIN,
26
26
  ROLEMODERATOR,
27
27
  ROLETRIAGE,
28
28
  } from '../lexicon/types/tools/ozone/team/defs'
29
- import { ids } from '../lexicon/lexicons'
29
+ import { ModerationSubjectStatusRow } from '../mod-service/types'
30
30
 
31
31
  export const getPdsAccountInfos = async (
32
32
  ctx: AppContext,
@@ -154,6 +154,9 @@ const eventTypes = new Set([
154
154
  'tools.ozone.moderation.defs#modEventResolveAppeal',
155
155
  'tools.ozone.moderation.defs#modEventTag',
156
156
  'tools.ozone.moderation.defs#modEventDivert',
157
+ 'tools.ozone.moderation.defs#accountEvent',
158
+ 'tools.ozone.moderation.defs#identityEvent',
159
+ 'tools.ozone.moderation.defs#recordEvent',
157
160
  ])
158
161
 
159
162
  export const getMemberRole = (role: string) => {
@@ -1,8 +1,8 @@
1
- import express from 'express'
2
- import AppContext from '../context'
1
+ import { Router } from 'express'
2
+ import { AppContext } from '../context'
3
3
 
4
- export const createRouter = (ctx: AppContext): express.Router => {
5
- const router = express.Router()
4
+ export const createRouter = (ctx: AppContext): Router => {
5
+ const router = Router()
6
6
 
7
7
  router.get('/.well-known/did.json', (_req, res) => {
8
8
  const hostname =
package/src/background.ts CHANGED
@@ -152,10 +152,8 @@ export class PeriodicBackgroundTask {
152
152
  // destroy it here.
153
153
 
154
154
  this.abortController.abort()
155
- console.error('ABOOOORT')
156
155
 
157
156
  await this.intervalPromise
158
157
  this.intervalPromise = undefined
159
- console.error('DONE -_-')
160
158
  }
161
159
  }
@@ -1,5 +1,5 @@
1
- import Database from '../db'
2
1
  import { Selectable } from 'kysely'
2
+ import { Database } from '../db'
3
3
  import { CommunicationTemplate } from '../db/schema/communication_template'
4
4
  import { TemplateView } from '../lexicon/types/tools/ozone/communication/defs'
5
5
 
@@ -1,6 +1,6 @@
1
1
  import assert from 'node:assert'
2
- import { OzoneEnvironment } from './env'
3
2
  import { DAY, HOUR } from '@atproto/common'
3
+ import { OzoneEnvironment } from './env'
4
4
 
5
5
  // off-config but still from env:
6
6
  // logging: LOG_LEVEL, LOG_SYSTEMS, LOG_ENABLED, LOG_DESTINATION
@@ -1,4 +1,4 @@
1
- import assert from 'assert'
1
+ import assert from 'node:assert'
2
2
  import { OzoneEnvironment } from './env'
3
3
 
4
4
  export const envToSecrets = (env: OzoneEnvironment): OzoneSecrets => {