@atproto/ozone 0.2.8 → 0.2.11
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.
- package/CHANGELOG.md +33 -0
- package/package.json +25 -21
- package/bin/migration-create.ts +0 -38
- package/jest.config.cjs +0 -22
- package/src/api/chat/getActorMetadata.ts +0 -23
- package/src/api/chat/getConvo.ts +0 -23
- package/src/api/chat/getConvoMembers.ts +0 -23
- package/src/api/chat/getConvos.ts +0 -23
- package/src/api/chat/getMessageContext.ts +0 -42
- package/src/api/chat/index.ts +0 -16
- package/src/api/communication/createTemplate.ts +0 -51
- package/src/api/communication/deleteTemplate.ts +0 -23
- package/src/api/communication/listTemplates.ts +0 -31
- package/src/api/communication/updateTemplate.ts +0 -51
- package/src/api/health.ts +0 -27
- package/src/api/index.ts +0 -146
- package/src/api/label/fetchLabels.ts +0 -32
- package/src/api/label/queryLabels.ts +0 -57
- package/src/api/label/subscribeLabels.ts +0 -25
- package/src/api/moderation/cancelScheduledActions.ts +0 -72
- package/src/api/moderation/emitEvent.ts +0 -475
- package/src/api/moderation/getAccountTimeline.ts +0 -160
- package/src/api/moderation/getEvent.ts +0 -19
- package/src/api/moderation/getRecord.ts +0 -40
- package/src/api/moderation/getRecords.ts +0 -50
- package/src/api/moderation/getRepo.ts +0 -34
- package/src/api/moderation/getReporterStats.ts +0 -18
- package/src/api/moderation/getRepos.ts +0 -41
- package/src/api/moderation/getSubjects.ts +0 -101
- package/src/api/moderation/listScheduledActions.ts +0 -45
- package/src/api/moderation/queryEvents.ts +0 -72
- package/src/api/moderation/queryStatuses.ts +0 -23
- package/src/api/moderation/scheduleAction.ts +0 -129
- package/src/api/moderation/searchRepos.ts +0 -46
- package/src/api/moderation/util.ts +0 -96
- package/src/api/proxied.ts +0 -327
- package/src/api/queue/assignModerator.ts +0 -31
- package/src/api/queue/createQueue.ts +0 -62
- package/src/api/queue/deleteQueue.ts +0 -56
- package/src/api/queue/getAssignments.ts +0 -19
- package/src/api/queue/listQueues.ts +0 -39
- package/src/api/queue/routeReports.ts +0 -44
- package/src/api/queue/unassignModerator.ts +0 -26
- package/src/api/queue/updateQueue.ts +0 -54
- package/src/api/report/assignModerator.ts +0 -36
- package/src/api/report/createActivity.ts +0 -57
- package/src/api/report/createReport.ts +0 -93
- package/src/api/report/getAssignments.ts +0 -20
- package/src/api/report/getHistoricalStats.ts +0 -41
- package/src/api/report/getLatestReport.ts +0 -44
- package/src/api/report/getLiveStats.ts +0 -26
- package/src/api/report/getReport.ts +0 -55
- package/src/api/report/listActivities.ts +0 -37
- package/src/api/report/queryActivities.ts +0 -64
- package/src/api/report/queryReports.ts +0 -44
- package/src/api/report/reassignQueue.ts +0 -68
- package/src/api/report/refreshStats.ts +0 -27
- package/src/api/report/unassignModerator.ts +0 -21
- package/src/api/safelink/addRule.ts +0 -48
- package/src/api/safelink/queryEvents.ts +0 -32
- package/src/api/safelink/queryRules.ts +0 -58
- package/src/api/safelink/removeRule.ts +0 -42
- package/src/api/safelink/updateRule.ts +0 -48
- package/src/api/server/getConfig.ts +0 -35
- package/src/api/set/addValues.ts +0 -28
- package/src/api/set/deleteSet.ts +0 -34
- package/src/api/set/deleteValues.ts +0 -31
- package/src/api/set/getValues.ts +0 -42
- package/src/api/set/querySets.ts +0 -36
- package/src/api/set/upsertSet.ts +0 -38
- package/src/api/setting/listOptions.ts +0 -44
- package/src/api/setting/removeOptions.ts +0 -64
- package/src/api/setting/upsertOption.ts +0 -156
- package/src/api/team/addMember.ts +0 -51
- package/src/api/team/deleteMember.ts +0 -29
- package/src/api/team/listMembers.ts +0 -20
- package/src/api/team/updateMember.ts +0 -47
- package/src/api/util.ts +0 -265
- package/src/api/verification/grantVerifications.ts +0 -90
- package/src/api/verification/listVerifications.ts +0 -44
- package/src/api/verification/revokeVerifications.ts +0 -43
- package/src/api/well-known.ts +0 -46
- package/src/assignment/index.ts +0 -728
- package/src/auth-verifier.ts +0 -227
- package/src/background.ts +0 -183
- package/src/communication-service/template.ts +0 -110
- package/src/communication-service/util.ts +0 -8
- package/src/config/config.ts +0 -211
- package/src/config/env.ts +0 -95
- package/src/config/index.ts +0 -3
- package/src/config/secrets.ts +0 -17
- package/src/context.ts +0 -399
- package/src/daemon/blob-diverter.ts +0 -186
- package/src/daemon/context.ts +0 -247
- package/src/daemon/event-pusher.ts +0 -363
- package/src/daemon/event-reverser.ts +0 -128
- package/src/daemon/index.ts +0 -33
- package/src/daemon/job-cursor.ts +0 -33
- package/src/daemon/materialized-view-refresher.ts +0 -33
- package/src/daemon/queue-router.ts +0 -101
- package/src/daemon/scheduled-action-processor.ts +0 -304
- package/src/daemon/stats-computer.ts +0 -101
- package/src/daemon/strike-expiry-processor.ts +0 -95
- package/src/daemon/team-profile-synchronizer.ts +0 -15
- package/src/daemon/verification-listener.ts +0 -169
- package/src/db/index.ts +0 -203
- package/src/db/migrations/20231219T205730722Z-init.ts +0 -170
- package/src/db/migrations/20240116T085607200Z-communication-template.ts +0 -23
- package/src/db/migrations/20240201T051104136Z-mod-event-blobs.ts +0 -15
- package/src/db/migrations/20240208T213404429Z-add-tags-column-to-moderation-subject.ts +0 -31
- package/src/db/migrations/20240228T003647759Z-add-label-sigs.ts +0 -25
- package/src/db/migrations/20240408T192432676Z-mute-reporting.ts +0 -15
- package/src/db/migrations/20240506T225055595Z-message-subject.ts +0 -21
- package/src/db/migrations/20240521T211332580Z-member.ts +0 -17
- package/src/db/migrations/20240814T003647759Z-event-created-at-index.ts +0 -13
- package/src/db/migrations/20240903T205730722Z-add-template-lang.ts +0 -12
- package/src/db/migrations/20240904T205730722Z-add-subject-did-index.ts +0 -13
- package/src/db/migrations/20241001T205730722Z-subject-status-review-state-index.ts +0 -15
- package/src/db/migrations/20241008T205730722Z-sets.ts +0 -53
- package/src/db/migrations/20241018T205730722Z-setting.ts +0 -27
- package/src/db/migrations/20241026T205730722Z-add-hosting-status-to-subject-status.ts +0 -57
- package/src/db/migrations/20241220T144630860Z-stats-materialized-views.ts +0 -215
- package/src/db/migrations/20250204T003647759Z-add-subject-priority-score.ts +0 -22
- package/src/db/migrations/20250211T003647759Z-add-reporter-stats-index.ts +0 -38
- package/src/db/migrations/20250211T132135150Z-moderation-event-message-partial-idx.ts +0 -26
- package/src/db/migrations/20250221T132135150Z-member-details.ts +0 -14
- package/src/db/migrations/20250404T201720309Z-subject-status-sort-idxs.ts +0 -18
- package/src/db/migrations/20250415T201720309Z-verification.ts +0 -34
- package/src/db/migrations/20250417T201720309Z-firehose-cursor.ts +0 -16
- package/src/db/migrations/20250609T110704000Z-safelink.ts +0 -53
- package/src/db/migrations/20250618T180246000Z-add-mod-tool-to-moderation-event.ts +0 -18
- package/src/db/migrations/20250701T000000000Z-add-age-assurance-state.ts +0 -25
- package/src/db/migrations/20250715T000000000Z-add-mod-event-external-id.ts +0 -15
- package/src/db/migrations/20250718T150931000Z-update-appeal-reason-stats.ts +0 -310
- package/src/db/migrations/20250813T000000000Z-mod-tool-batch-id-index.ts +0 -14
- package/src/db/migrations/20250923T000000000Z-scheduled-actions.ts +0 -56
- package/src/db/migrations/20251008T120000000Z-add-strike-system.ts +0 -87
- package/src/db/migrations/20260210T154806448Z-mod-event-created-by-indexes.ts +0 -22
- package/src/db/migrations/20260219T164523000Z-create-report-table.ts +0 -155
- package/src/db/migrations/20260219T165302248Z-moderator-assignment.ts +0 -42
- package/src/db/migrations/20260225T000000000Z-add-report-queue-table.ts +0 -41
- package/src/db/migrations/20260313T000000000Z-add-report-activity-table.ts +0 -48
- package/src/db/migrations/20260318T152058935Z-add-report-stat.ts +0 -35
- package/src/db/migrations/20260428T000000000Z-add-expiring-tag-table.ts +0 -32
- package/src/db/migrations/20260513T202941104Z-add-subject-convo-id.ts +0 -114
- package/src/db/migrations/20260602T120000000Z-add-report-activity-created-index.ts +0 -17
- package/src/db/migrations/index.ts +0 -44
- package/src/db/migrations/provider.ts +0 -26
- package/src/db/pagination.ts +0 -335
- package/src/db/schema/account_events_stats.ts +0 -16
- package/src/db/schema/account_record_events_stats.ts +0 -15
- package/src/db/schema/account_record_status_stats.ts +0 -15
- package/src/db/schema/account_strike.ts +0 -13
- package/src/db/schema/blob_push_event.ts +0 -21
- package/src/db/schema/communication_template.ts +0 -19
- package/src/db/schema/expiring_tag.ts +0 -18
- package/src/db/schema/firehose_cursor.ts +0 -13
- package/src/db/schema/index.ts +0 -60
- package/src/db/schema/job_cursor.ts +0 -13
- package/src/db/schema/label.ts +0 -22
- package/src/db/schema/member.ts +0 -22
- package/src/db/schema/moderation_event.ts +0 -61
- package/src/db/schema/moderation_subject_status.ts +0 -52
- package/src/db/schema/moderator_assignment.ts +0 -16
- package/src/db/schema/ozone_set.ts +0 -24
- package/src/db/schema/record_events_stats.ts +0 -15
- package/src/db/schema/record_push_event.ts +0 -21
- package/src/db/schema/repo_push_event.ts +0 -19
- package/src/db/schema/report.ts +0 -28
- package/src/db/schema/report_activity.ts +0 -22
- package/src/db/schema/report_queue.ts +0 -21
- package/src/db/schema/report_stat.ts +0 -27
- package/src/db/schema/safelink.ts +0 -39
- package/src/db/schema/scheduled-action.ts +0 -25
- package/src/db/schema/setting.ts +0 -24
- package/src/db/schema/signing_key.ts +0 -10
- package/src/db/schema/verification.ts +0 -21
- package/src/db/types.ts +0 -24
- package/src/error.ts +0 -12
- package/src/image-invalidator.ts +0 -7
- package/src/index.ts +0 -154
- package/src/jetstream/service.ts +0 -107
- package/src/logger.ts +0 -29
- package/src/mod-service/expiring-tags.ts +0 -104
- package/src/mod-service/index.ts +0 -1842
- package/src/mod-service/profile.ts +0 -139
- package/src/mod-service/report.ts +0 -429
- package/src/mod-service/status.ts +0 -549
- package/src/mod-service/strike.ts +0 -96
- package/src/mod-service/subject.ts +0 -311
- package/src/mod-service/types.ts +0 -96
- package/src/mod-service/util.ts +0 -99
- package/src/mod-service/views.ts +0 -912
- package/src/queue/service.ts +0 -603
- package/src/report/activity.ts +0 -281
- package/src/report/handle-report-update.ts +0 -209
- package/src/report/reassign.ts +0 -109
- package/src/report/stats.ts +0 -852
- package/src/report/views.ts +0 -239
- package/src/safelink/service.ts +0 -304
- package/src/scheduled-action/service.ts +0 -281
- package/src/scheduled-action/types.ts +0 -17
- package/src/sequencer/index.ts +0 -2
- package/src/sequencer/outbox.ts +0 -123
- package/src/sequencer/sequencer.ts +0 -147
- package/src/set/service.ts +0 -230
- package/src/setting/constants.ts +0 -3
- package/src/setting/service.ts +0 -148
- package/src/setting/types.ts +0 -3
- package/src/setting/validators.ts +0 -333
- package/src/tag-service/content-tagger.ts +0 -30
- package/src/tag-service/embed-tagger.ts +0 -70
- package/src/tag-service/index.ts +0 -70
- package/src/tag-service/language-data.ts +0 -561
- package/src/tag-service/language-tagger.ts +0 -101
- package/src/tag-service/util.ts +0 -13
- package/src/team/index.ts +0 -296
- package/src/util.ts +0 -230
- package/src/verification/issuer.ts +0 -146
- package/src/verification/service.ts +0 -208
- package/src/verification/util.ts +0 -53
- package/test.env +0 -2
- package/tests/3p-labeler.test.ts +0 -288
- package/tests/__snapshots__/account-strikes.test.ts.snap +0 -159
- package/tests/__snapshots__/age-assurance.test.ts.snap +0 -66
- package/tests/__snapshots__/blob-divert.test.ts.snap +0 -219
- package/tests/__snapshots__/get-account-timeline.test.ts.snap +0 -36
- package/tests/__snapshots__/get-record.test.ts.snap +0 -271
- package/tests/__snapshots__/get-records.test.ts.snap +0 -175
- package/tests/__snapshots__/get-repo.test.ts.snap +0 -91
- package/tests/__snapshots__/get-repos.test.ts.snap +0 -127
- package/tests/__snapshots__/get-starter-pack.test.ts.snap +0 -535
- package/tests/__snapshots__/get-subjects.test.ts.snap +0 -529
- package/tests/__snapshots__/moderation-events.test.ts.snap +0 -347
- package/tests/__snapshots__/moderation-statuses.test.ts.snap +0 -276
- package/tests/__snapshots__/moderation.test.ts.snap +0 -85
- package/tests/__snapshots__/report-reason.test.ts.snap +0 -14
- package/tests/__snapshots__/safelink.test.ts.snap +0 -179
- package/tests/__snapshots__/scheduled-action.test.ts.snap +0 -61
- package/tests/__snapshots__/sets.test.ts.snap +0 -46
- package/tests/__snapshots__/settings.test.ts.snap +0 -52
- package/tests/__snapshots__/team.test.ts.snap +0 -374
- package/tests/__snapshots__/verification-listener.test.ts.snap +0 -152
- package/tests/__snapshots__/verification.test.ts.snap +0 -302
- package/tests/_util.ts +0 -242
- package/tests/account-strikes.test.ts +0 -184
- package/tests/ack-all-subjects-of-account.test.ts +0 -177
- package/tests/age-assurance.test.ts +0 -372
- package/tests/blob-divert.test.ts +0 -106
- package/tests/communication-templates.test.ts +0 -149
- package/tests/content-tagger.test.ts +0 -170
- package/tests/db.test.ts +0 -184
- package/tests/expiring-label.test.ts +0 -72
- package/tests/expiring-tags.test.ts +0 -232
- package/tests/get-account-timeline.test.ts +0 -85
- package/tests/get-config.test.ts +0 -55
- package/tests/get-lists.test.ts +0 -111
- package/tests/get-profiles.test.ts +0 -70
- package/tests/get-record.test.ts +0 -130
- package/tests/get-records.test.ts +0 -91
- package/tests/get-repo.test.ts +0 -171
- package/tests/get-report.test.ts +0 -136
- package/tests/get-reporter-stats.test.ts +0 -132
- package/tests/get-repos.test.ts +0 -91
- package/tests/get-starter-pack.test.ts +0 -115
- package/tests/get-subjects.test.ts +0 -81
- package/tests/mod-tool.test.ts +0 -268
- package/tests/moderation-appeals.test.ts +0 -260
- package/tests/moderation-events.test.ts +0 -756
- package/tests/moderation-status-tags.test.ts +0 -140
- package/tests/moderation-statuses.test.ts +0 -495
- package/tests/moderation.test.ts +0 -992
- package/tests/protected-tags.test.ts +0 -218
- package/tests/query-labels.test.ts +0 -238
- package/tests/query-reports.test.ts +0 -608
- package/tests/queue-assignment.test.ts +0 -428
- package/tests/queue-router.test.ts +0 -306
- package/tests/queues.test.ts +0 -690
- package/tests/record-and-account-events.test.ts +0 -197
- package/tests/repo-search.test.ts +0 -136
- package/tests/report-action.test.ts +0 -308
- package/tests/report-activity.test.ts +0 -711
- package/tests/report-assignment.test.ts +0 -517
- package/tests/report-muting.test.ts +0 -100
- package/tests/report-reason.test.ts +0 -154
- package/tests/report-reassign-queue.test.ts +0 -340
- package/tests/report-routing.test.ts +0 -245
- package/tests/report-stats.test.ts +0 -545
- package/tests/revoke-account-credentials.test.ts +0 -54
- package/tests/safelink.test.ts +0 -534
- package/tests/scheduled-action-processor.test.ts +0 -488
- package/tests/scheduled-action.test.ts +0 -334
- package/tests/sequencer.test.ts +0 -227
- package/tests/server.test.ts +0 -62
- package/tests/sets.test.ts +0 -246
- package/tests/settings.test.ts +0 -308
- package/tests/strike-expiry-processor.test.ts +0 -299
- package/tests/subject-priority-score.test.ts +0 -96
- package/tests/takedown.test.ts +0 -105
- package/tests/team.test.ts +0 -216
- package/tests/verification-listener.test.ts +0 -129
- package/tests/verification.test.ts +0 -186
- package/tsconfig.build.json +0 -9
- package/tsconfig.build.tsbuildinfo +0 -1
- package/tsconfig.json +0 -7
- package/tsconfig.tests.json +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# @atproto/ozone
|
|
2
2
|
|
|
3
|
+
## 0.2.11
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`f6409db`](https://github.com/bluesky-social/atproto/commit/f6409dbcefdd5565b1ba23c52dc71ec7e791e2e9)]:
|
|
8
|
+
- @atproto/api@0.20.25
|
|
9
|
+
|
|
10
|
+
## 0.2.10
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- [#5099](https://github.com/bluesky-social/atproto/pull/5099) [`b43ec31`](https://github.com/bluesky-social/atproto/commit/b43ec31f247f4461725b01226885f88bd430ca07) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Update TypeScript build to rely on references to composite internal projects
|
|
15
|
+
|
|
16
|
+
- [#5099](https://github.com/bluesky-social/atproto/pull/5099) [`b43ec31`](https://github.com/bluesky-social/atproto/commit/b43ec31f247f4461725b01226885f88bd430ca07) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Bundle only necessary files in the NPM tarball, including the `CHANGELOG.md` and `README.md` files (if present).
|
|
17
|
+
|
|
18
|
+
- Updated dependencies [[`28a0b58`](https://github.com/bluesky-social/atproto/commit/28a0b588147863eaef948cd2bb8fc0f19d08cda9), [`b43ec31`](https://github.com/bluesky-social/atproto/commit/b43ec31f247f4461725b01226885f88bd430ca07), [`b43ec31`](https://github.com/bluesky-social/atproto/commit/b43ec31f247f4461725b01226885f88bd430ca07), [`b43ec31`](https://github.com/bluesky-social/atproto/commit/b43ec31f247f4461725b01226885f88bd430ca07), [`b43ec31`](https://github.com/bluesky-social/atproto/commit/b43ec31f247f4461725b01226885f88bd430ca07), [`b43ec31`](https://github.com/bluesky-social/atproto/commit/b43ec31f247f4461725b01226885f88bd430ca07)]:
|
|
19
|
+
- @atproto/syntax@0.6.4
|
|
20
|
+
- @atproto/identity@0.5.3
|
|
21
|
+
- @atproto/xrpc-server@0.11.6
|
|
22
|
+
- @atproto/ws-client@0.1.4
|
|
23
|
+
- @atproto/lexicon@0.7.4
|
|
24
|
+
- @atproto/common@0.6.5
|
|
25
|
+
- @atproto/crypto@0.5.3
|
|
26
|
+
- @atproto/xrpc@0.8.3
|
|
27
|
+
- @atproto/api@0.20.24
|
|
28
|
+
|
|
29
|
+
## 0.2.9
|
|
30
|
+
|
|
31
|
+
### Patch Changes
|
|
32
|
+
|
|
33
|
+
- Updated dependencies []:
|
|
34
|
+
- @atproto/xrpc-server@0.11.5
|
|
35
|
+
|
|
3
36
|
## 0.2.8
|
|
4
37
|
|
|
5
38
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atproto/ozone",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.11",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Backend service for moderating the Bluesky network.",
|
|
6
6
|
"keywords": [
|
|
@@ -13,6 +13,18 @@
|
|
|
13
13
|
"url": "https://github.com/bluesky-social/atproto",
|
|
14
14
|
"directory": "packages/ozone"
|
|
15
15
|
},
|
|
16
|
+
"files": [
|
|
17
|
+
"./dist",
|
|
18
|
+
"./README.md",
|
|
19
|
+
"./CHANGELOG.md"
|
|
20
|
+
],
|
|
21
|
+
"type": "module",
|
|
22
|
+
"exports": {
|
|
23
|
+
".": {
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
25
|
+
"default": "./dist/index.js"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
16
28
|
"engines": {
|
|
17
29
|
"node": ">=22"
|
|
18
30
|
},
|
|
@@ -33,15 +45,15 @@
|
|
|
33
45
|
"uint8arrays": "^5.0.0",
|
|
34
46
|
"undici": "^8.5.0",
|
|
35
47
|
"ws": "^8.12.0",
|
|
36
|
-
"@atproto/
|
|
37
|
-
"@atproto/
|
|
38
|
-
"@atproto/
|
|
39
|
-
"@atproto/
|
|
40
|
-
"@atproto/
|
|
41
|
-
"@atproto/ws-client": "^0.1.
|
|
42
|
-
"@atproto/
|
|
43
|
-
"@atproto/
|
|
44
|
-
"@atproto/
|
|
48
|
+
"@atproto/api": "^0.20.25",
|
|
49
|
+
"@atproto/common": "^0.6.5",
|
|
50
|
+
"@atproto/identity": "^0.5.3",
|
|
51
|
+
"@atproto/crypto": "^0.5.3",
|
|
52
|
+
"@atproto/syntax": "^0.6.4",
|
|
53
|
+
"@atproto/ws-client": "^0.1.4",
|
|
54
|
+
"@atproto/xrpc": "^0.8.3",
|
|
55
|
+
"@atproto/xrpc-server": "^0.11.6",
|
|
56
|
+
"@atproto/lexicon": "^0.7.4"
|
|
45
57
|
},
|
|
46
58
|
"devDependencies": {
|
|
47
59
|
"@did-plc/server": "^0.0.1",
|
|
@@ -53,16 +65,8 @@
|
|
|
53
65
|
"@types/qs": "^6.9.7",
|
|
54
66
|
"@types/ws": "^8.18.1",
|
|
55
67
|
"jest": "^30.0.0",
|
|
56
|
-
"
|
|
57
|
-
"@atproto/lex-cli": "^0.10.
|
|
58
|
-
"@atproto/pds": "^0.5.11"
|
|
59
|
-
},
|
|
60
|
-
"type": "module",
|
|
61
|
-
"exports": {
|
|
62
|
-
".": {
|
|
63
|
-
"types": "./dist/index.d.ts",
|
|
64
|
-
"default": "./dist/index.js"
|
|
65
|
-
}
|
|
68
|
+
"@atproto/pds": "^0.5.14",
|
|
69
|
+
"@atproto/lex-cli": "^0.10.3"
|
|
66
70
|
},
|
|
67
71
|
"scripts": {
|
|
68
72
|
"codegen:lex": "lex gen-server --yes ./src/lexicon ../../lexicons/com/atproto/*/* ../../lexicons/app/bsky/*/* ../../lexicons/chat/bsky/*/* ../../lexicons/tools/ozone/*/*",
|
|
@@ -72,6 +76,6 @@
|
|
|
72
76
|
"test": "NODE_OPTIONS=--experimental-vm-modules ../dev-infra/with-test-redis-and-db.sh jest",
|
|
73
77
|
"test:log": "tail -50 test.log | pino-pretty",
|
|
74
78
|
"test:updateSnapshot": "NODE_OPTIONS=--experimental-vm-modules ../dev-infra/with-test-redis-and-db.sh jest --updateSnapshot",
|
|
75
|
-
"migration:create": "
|
|
79
|
+
"migration:create": "node ./bin/migration-create.ts"
|
|
76
80
|
}
|
|
77
81
|
}
|
package/bin/migration-create.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ts-node
|
|
2
|
-
|
|
3
|
-
import * as fs from 'node:fs/promises'
|
|
4
|
-
import * as path from 'node:path'
|
|
5
|
-
|
|
6
|
-
export async function main() {
|
|
7
|
-
const now = new Date()
|
|
8
|
-
const prefix = now.toISOString().replace(/[^a-z0-9]/gi, '') // Order of migrations matches alphabetical order of their names
|
|
9
|
-
const name = process.argv[2]
|
|
10
|
-
if (!name || !name.match(/^[a-z0-9-]+$/)) {
|
|
11
|
-
process.exitCode = 1
|
|
12
|
-
return console.error(
|
|
13
|
-
'Must pass a migration name consisting of lowercase digits, numbers, and dashes.',
|
|
14
|
-
)
|
|
15
|
-
}
|
|
16
|
-
const filename = `${prefix}-${name}`
|
|
17
|
-
const dir = path.join(__dirname, '..', 'src', 'db', 'migrations')
|
|
18
|
-
|
|
19
|
-
await fs.writeFile(path.join(dir, `${filename}.ts`), template, { flag: 'wx' })
|
|
20
|
-
await fs.writeFile(
|
|
21
|
-
path.join(dir, 'index.ts'),
|
|
22
|
-
`export * as _${prefix} from './${filename}.js'\n`,
|
|
23
|
-
{ flag: 'a' },
|
|
24
|
-
)
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const template = `import { Kysely } from 'kysely'
|
|
28
|
-
|
|
29
|
-
export async function up(db: Kysely<unknown>): Promise<void> {
|
|
30
|
-
// Migration code
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export async function down(db: Kysely<unknown>): Promise<void> {
|
|
34
|
-
// Migration code
|
|
35
|
-
}
|
|
36
|
-
`
|
|
37
|
-
|
|
38
|
-
main()
|
package/jest.config.cjs
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/** @type {import('jest').Config} */
|
|
2
|
-
module.exports = {
|
|
3
|
-
displayName: 'Ozone',
|
|
4
|
-
transform: {
|
|
5
|
-
'^.+\\.ts$': [
|
|
6
|
-
'@swc/jest',
|
|
7
|
-
{
|
|
8
|
-
jsc: {
|
|
9
|
-
parser: { syntax: 'typescript', importAttributes: true },
|
|
10
|
-
experimental: { keepImportAttributes: true },
|
|
11
|
-
transform: {},
|
|
12
|
-
},
|
|
13
|
-
module: { type: 'es6' },
|
|
14
|
-
},
|
|
15
|
-
],
|
|
16
|
-
},
|
|
17
|
-
extensionsToTreatAsEsm: ['.ts'],
|
|
18
|
-
transformIgnorePatterns: [],
|
|
19
|
-
testTimeout: 60000,
|
|
20
|
-
setupFiles: ['<rootDir>/../../test.setup.ts'],
|
|
21
|
-
moduleNameMapper: { '^(\\.\\.?\\/.+)\\.js$': ['$1.ts', '$1.js'] },
|
|
22
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { InvalidRequestError } from '@atproto/xrpc-server'
|
|
2
|
-
import { AppContext } from '../../context.js'
|
|
3
|
-
import { Server } from '../../lexicon/index.js'
|
|
4
|
-
import { ids } from '../../lexicon/lexicons.js'
|
|
5
|
-
|
|
6
|
-
export default function (server: Server, ctx: AppContext) {
|
|
7
|
-
server.chat.bsky.moderation.getActorMetadata({
|
|
8
|
-
auth: ctx.authVerifier.modOrAdminToken,
|
|
9
|
-
handler: async ({ params }) => {
|
|
10
|
-
if (!ctx.chatAgent) {
|
|
11
|
-
throw new InvalidRequestError('No chat agent configured')
|
|
12
|
-
}
|
|
13
|
-
const res = await ctx.chatAgent.api.chat.bsky.moderation.getActorMetadata(
|
|
14
|
-
params,
|
|
15
|
-
await ctx.chatAuth(ids.ChatBskyModerationGetActorMetadata),
|
|
16
|
-
)
|
|
17
|
-
return {
|
|
18
|
-
encoding: 'application/json',
|
|
19
|
-
body: res.data,
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
})
|
|
23
|
-
}
|
package/src/api/chat/getConvo.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { InvalidRequestError } from '@atproto/xrpc-server'
|
|
2
|
-
import { AppContext } from '../../context.js'
|
|
3
|
-
import { Server } from '../../lexicon/index.js'
|
|
4
|
-
import { ids } from '../../lexicon/lexicons.js'
|
|
5
|
-
|
|
6
|
-
export default function (server: Server, ctx: AppContext) {
|
|
7
|
-
server.chat.bsky.moderation.getConvo({
|
|
8
|
-
auth: ctx.authVerifier.modOrAdminToken,
|
|
9
|
-
handler: async ({ params }) => {
|
|
10
|
-
if (!ctx.chatAgent) {
|
|
11
|
-
throw new InvalidRequestError('No chat agent configured')
|
|
12
|
-
}
|
|
13
|
-
const res = await ctx.chatAgent.api.chat.bsky.moderation.getConvo(
|
|
14
|
-
params,
|
|
15
|
-
await ctx.chatAuth(ids.ChatBskyModerationGetConvo),
|
|
16
|
-
)
|
|
17
|
-
return {
|
|
18
|
-
encoding: 'application/json',
|
|
19
|
-
body: res.data,
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
})
|
|
23
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { InvalidRequestError } from '@atproto/xrpc-server'
|
|
2
|
-
import { AppContext } from '../../context.js'
|
|
3
|
-
import { Server } from '../../lexicon/index.js'
|
|
4
|
-
import { ids } from '../../lexicon/lexicons.js'
|
|
5
|
-
|
|
6
|
-
export default function (server: Server, ctx: AppContext) {
|
|
7
|
-
server.chat.bsky.moderation.getConvoMembers({
|
|
8
|
-
auth: ctx.authVerifier.modOrAdminToken,
|
|
9
|
-
handler: async ({ params }) => {
|
|
10
|
-
if (!ctx.chatAgent) {
|
|
11
|
-
throw new InvalidRequestError('No chat agent configured')
|
|
12
|
-
}
|
|
13
|
-
const res = await ctx.chatAgent.api.chat.bsky.moderation.getConvoMembers(
|
|
14
|
-
params,
|
|
15
|
-
await ctx.chatAuth(ids.ChatBskyModerationGetConvoMembers),
|
|
16
|
-
)
|
|
17
|
-
return {
|
|
18
|
-
encoding: 'application/json',
|
|
19
|
-
body: res.data,
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
})
|
|
23
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { InvalidRequestError } from '@atproto/xrpc-server'
|
|
2
|
-
import { AppContext } from '../../context.js'
|
|
3
|
-
import { Server } from '../../lexicon/index.js'
|
|
4
|
-
import { ids } from '../../lexicon/lexicons.js'
|
|
5
|
-
|
|
6
|
-
export default function (server: Server, ctx: AppContext) {
|
|
7
|
-
server.chat.bsky.moderation.getConvos({
|
|
8
|
-
auth: ctx.authVerifier.modOrAdminToken,
|
|
9
|
-
handler: async ({ params }) => {
|
|
10
|
-
if (!ctx.chatAgent) {
|
|
11
|
-
throw new InvalidRequestError('No chat agent configured')
|
|
12
|
-
}
|
|
13
|
-
const res = await ctx.chatAgent.api.chat.bsky.moderation.getConvos(
|
|
14
|
-
params,
|
|
15
|
-
await ctx.chatAuth(ids.ChatBskyModerationGetConvos),
|
|
16
|
-
)
|
|
17
|
-
return {
|
|
18
|
-
encoding: 'application/json',
|
|
19
|
-
body: res.data,
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
})
|
|
23
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { InvalidRequestError } from '@atproto/xrpc-server'
|
|
2
|
-
import { AppContext } from '../../context.js'
|
|
3
|
-
import { Server } from '../../lexicon/index.js'
|
|
4
|
-
import { ids } from '../../lexicon/lexicons.js'
|
|
5
|
-
|
|
6
|
-
export default function (server: Server, ctx: AppContext) {
|
|
7
|
-
server.chat.bsky.moderation.getMessageContext({
|
|
8
|
-
auth: ctx.authVerifier.modOrAdminToken,
|
|
9
|
-
handler: async ({ params, auth }) => {
|
|
10
|
-
if (!ctx.chatAgent) {
|
|
11
|
-
throw new InvalidRequestError('No chat agent configured')
|
|
12
|
-
}
|
|
13
|
-
const maxWindowSize = auth.credentials.isModerator ? 5 : 0
|
|
14
|
-
const before = Math.min(maxWindowSize, params.before)
|
|
15
|
-
const after = Math.min(maxWindowSize, params.after)
|
|
16
|
-
|
|
17
|
-
// Ensure that the requested message was actually reported to prevent arbitrary lookups
|
|
18
|
-
const found = await ctx.db.db
|
|
19
|
-
.selectFrom('moderation_event')
|
|
20
|
-
.select('id')
|
|
21
|
-
.where('subjectMessageId', '=', params.messageId)
|
|
22
|
-
// uses "moderation_event_message_id_idx" index
|
|
23
|
-
.where('subjectMessageId', 'is not', null)
|
|
24
|
-
.where('action', '=', 'tools.ozone.moderation.defs#modEventReport')
|
|
25
|
-
.limit(1)
|
|
26
|
-
.executeTakeFirst()
|
|
27
|
-
if (!found) {
|
|
28
|
-
throw new InvalidRequestError('No report for requested message')
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const res =
|
|
32
|
-
await ctx.chatAgent.api.chat.bsky.moderation.getMessageContext(
|
|
33
|
-
{ ...params, before, after },
|
|
34
|
-
await ctx.chatAuth(ids.ChatBskyModerationGetMessageContext),
|
|
35
|
-
)
|
|
36
|
-
return {
|
|
37
|
-
encoding: 'application/json',
|
|
38
|
-
body: res.data,
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
})
|
|
42
|
-
}
|
package/src/api/chat/index.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { AppContext } from '../../context.js'
|
|
2
|
-
import { Server } from '../../lexicon/index.js'
|
|
3
|
-
import getActorMetadata from './getActorMetadata.js'
|
|
4
|
-
import getConvo from './getConvo.js'
|
|
5
|
-
import getConvoMembers from './getConvoMembers.js'
|
|
6
|
-
import getConvos from './getConvos.js'
|
|
7
|
-
import getMessageContext from './getMessageContext.js'
|
|
8
|
-
|
|
9
|
-
export default function (server: Server, ctx: AppContext) {
|
|
10
|
-
getActorMetadata(server, ctx)
|
|
11
|
-
getConvo(server, ctx)
|
|
12
|
-
getConvoMembers(server, ctx)
|
|
13
|
-
getConvos(server, ctx)
|
|
14
|
-
getMessageContext(server, ctx)
|
|
15
|
-
return server
|
|
16
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { AuthRequiredError, InvalidRequestError } from '@atproto/xrpc-server'
|
|
2
|
-
import { isDuplicateTemplateNameError } from '../../communication-service/util.js'
|
|
3
|
-
import { AppContext } from '../../context.js'
|
|
4
|
-
import { Server } from '../../lexicon/index.js'
|
|
5
|
-
|
|
6
|
-
export default function (server: Server, ctx: AppContext) {
|
|
7
|
-
server.tools.ozone.communication.createTemplate({
|
|
8
|
-
auth: ctx.authVerifier.modOrAdminToken,
|
|
9
|
-
handler: async ({ input, auth }) => {
|
|
10
|
-
const access = auth.credentials
|
|
11
|
-
const db = ctx.db
|
|
12
|
-
const { createdBy, lang, ...template } = input.body
|
|
13
|
-
|
|
14
|
-
if (!access.isModerator) {
|
|
15
|
-
throw new AuthRequiredError(
|
|
16
|
-
'Must be a moderator to create a communication template',
|
|
17
|
-
)
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// Once auth starts providing us with the caller's DID, we can get rid of this check
|
|
21
|
-
if (!createdBy) {
|
|
22
|
-
throw new InvalidRequestError('createdBy field is required')
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const communicationTemplate = ctx.communicationTemplateService(db)
|
|
26
|
-
|
|
27
|
-
try {
|
|
28
|
-
const newTemplate = await communicationTemplate.create({
|
|
29
|
-
...template,
|
|
30
|
-
// We are not using ?? here because we want to use null instead of potentially empty string
|
|
31
|
-
lang: lang || null,
|
|
32
|
-
disabled: false,
|
|
33
|
-
lastUpdatedBy: createdBy,
|
|
34
|
-
})
|
|
35
|
-
|
|
36
|
-
return {
|
|
37
|
-
encoding: 'application/json',
|
|
38
|
-
body: communicationTemplate.view(newTemplate),
|
|
39
|
-
}
|
|
40
|
-
} catch (err) {
|
|
41
|
-
if (isDuplicateTemplateNameError(err)) {
|
|
42
|
-
throw new InvalidRequestError(
|
|
43
|
-
`${template.name} already exists. Please choose a different name.`,
|
|
44
|
-
'DuplicateTemplateName',
|
|
45
|
-
)
|
|
46
|
-
}
|
|
47
|
-
throw err
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
})
|
|
51
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { AuthRequiredError } from '@atproto/xrpc-server'
|
|
2
|
-
import { AppContext } from '../../context.js'
|
|
3
|
-
import { Server } from '../../lexicon/index.js'
|
|
4
|
-
|
|
5
|
-
export default function (server: Server, ctx: AppContext) {
|
|
6
|
-
server.tools.ozone.communication.deleteTemplate({
|
|
7
|
-
auth: ctx.authVerifier.modOrAdminToken,
|
|
8
|
-
handler: async ({ input, auth }) => {
|
|
9
|
-
const access = auth.credentials
|
|
10
|
-
const db = ctx.db
|
|
11
|
-
const { id } = input.body
|
|
12
|
-
|
|
13
|
-
if (!access.isModerator) {
|
|
14
|
-
throw new AuthRequiredError(
|
|
15
|
-
'Must be a moderator to delete a communication template',
|
|
16
|
-
)
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const communicationTemplate = ctx.communicationTemplateService(db)
|
|
20
|
-
await communicationTemplate.delete(Number(id))
|
|
21
|
-
},
|
|
22
|
-
})
|
|
23
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { AuthRequiredError } from '@atproto/xrpc-server'
|
|
2
|
-
import { AppContext } from '../../context.js'
|
|
3
|
-
import { Server } from '../../lexicon/index.js'
|
|
4
|
-
|
|
5
|
-
export default function (server: Server, ctx: AppContext) {
|
|
6
|
-
server.tools.ozone.communication.listTemplates({
|
|
7
|
-
auth: ctx.authVerifier.modOrAdminToken,
|
|
8
|
-
handler: async ({ auth }) => {
|
|
9
|
-
const access = auth.credentials
|
|
10
|
-
const db = ctx.db
|
|
11
|
-
|
|
12
|
-
if (!access.isModerator) {
|
|
13
|
-
throw new AuthRequiredError(
|
|
14
|
-
'Must be a full moderator to view list of communication template',
|
|
15
|
-
)
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
const communicationTemplate = ctx.communicationTemplateService(db)
|
|
19
|
-
const list = await communicationTemplate.list()
|
|
20
|
-
|
|
21
|
-
return {
|
|
22
|
-
encoding: 'application/json',
|
|
23
|
-
body: {
|
|
24
|
-
communicationTemplates: list.map((item) =>
|
|
25
|
-
communicationTemplate.view(item),
|
|
26
|
-
),
|
|
27
|
-
},
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
})
|
|
31
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { AuthRequiredError, InvalidRequestError } from '@atproto/xrpc-server'
|
|
2
|
-
import { isDuplicateTemplateNameError } from '../../communication-service/util.js'
|
|
3
|
-
import { AppContext } from '../../context.js'
|
|
4
|
-
import { Server } from '../../lexicon/index.js'
|
|
5
|
-
|
|
6
|
-
export default function (server: Server, ctx: AppContext) {
|
|
7
|
-
server.tools.ozone.communication.updateTemplate({
|
|
8
|
-
auth: ctx.authVerifier.modOrAdminToken,
|
|
9
|
-
handler: async ({ input, auth }) => {
|
|
10
|
-
const access = auth.credentials
|
|
11
|
-
const db = ctx.db
|
|
12
|
-
const { id, updatedBy, ...template } = input.body
|
|
13
|
-
|
|
14
|
-
if (!access.isModerator) {
|
|
15
|
-
throw new AuthRequiredError(
|
|
16
|
-
'Must be a moderator to update a communication template',
|
|
17
|
-
)
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// Once auth starts providing us with the caller's DID, we can get rid of this check
|
|
21
|
-
if (!updatedBy) {
|
|
22
|
-
throw new InvalidRequestError('updatedBy field is required')
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
if (!Object.keys(template).length) {
|
|
26
|
-
throw new InvalidRequestError('Missing update data in request body')
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const communicationTemplate = ctx.communicationTemplateService(db)
|
|
30
|
-
try {
|
|
31
|
-
const updatedTemplate = await communicationTemplate.update(Number(id), {
|
|
32
|
-
...template,
|
|
33
|
-
lastUpdatedBy: updatedBy,
|
|
34
|
-
})
|
|
35
|
-
|
|
36
|
-
return {
|
|
37
|
-
encoding: 'application/json',
|
|
38
|
-
body: communicationTemplate.view(updatedTemplate),
|
|
39
|
-
}
|
|
40
|
-
} catch (err) {
|
|
41
|
-
if (isDuplicateTemplateNameError(err)) {
|
|
42
|
-
throw new InvalidRequestError(
|
|
43
|
-
`${template.name} already exists. Please choose a different name.`,
|
|
44
|
-
'DuplicateTemplateName',
|
|
45
|
-
)
|
|
46
|
-
}
|
|
47
|
-
throw err
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
})
|
|
51
|
-
}
|
package/src/api/health.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Router } from 'express'
|
|
2
|
-
import { sql } from 'kysely'
|
|
3
|
-
import { AppContext } from '../context.js'
|
|
4
|
-
|
|
5
|
-
export const createRouter = (ctx: AppContext): Router => {
|
|
6
|
-
const router = Router()
|
|
7
|
-
|
|
8
|
-
router.get('/robots.txt', function (req, res) {
|
|
9
|
-
res.type('text/plain')
|
|
10
|
-
res.send(
|
|
11
|
-
'# Hello Friends!\n\n# Crawling the public parts of the API is allowed. HTTP 429 ("backoff") status codes are used for rate-limiting. Up to a handful concurrent requests should be ok.\nUser-agent: *\nAllow: /',
|
|
12
|
-
)
|
|
13
|
-
})
|
|
14
|
-
|
|
15
|
-
router.get('/xrpc/_health', async function (req, res) {
|
|
16
|
-
const { version } = ctx.cfg.service
|
|
17
|
-
try {
|
|
18
|
-
await sql`select 1`.execute(ctx.db.db)
|
|
19
|
-
} catch (err) {
|
|
20
|
-
req.log.error({ err }, 'failed health check')
|
|
21
|
-
return res.status(503).send({ version, error: 'Service Unavailable' })
|
|
22
|
-
}
|
|
23
|
-
res.send({ version })
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
return router
|
|
27
|
-
}
|
package/src/api/index.ts
DELETED
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import { AppContext } from '../context.js'
|
|
2
|
-
import { Server } from '../lexicon/index.js'
|
|
3
|
-
import chat from './chat/index.js'
|
|
4
|
-
import createTemplate from './communication/createTemplate.js'
|
|
5
|
-
import deleteTemplate from './communication/deleteTemplate.js'
|
|
6
|
-
import listTemplates from './communication/listTemplates.js'
|
|
7
|
-
import updateTemplate from './communication/updateTemplate.js'
|
|
8
|
-
import fetchLabels from './label/fetchLabels.js'
|
|
9
|
-
import queryLabels from './label/queryLabels.js'
|
|
10
|
-
import subscribeLabels from './label/subscribeLabels.js'
|
|
11
|
-
import cancelScheduledActions from './moderation/cancelScheduledActions.js'
|
|
12
|
-
import emitEvent from './moderation/emitEvent.js'
|
|
13
|
-
import getAccountTimeline from './moderation/getAccountTimeline.js'
|
|
14
|
-
import getEvent from './moderation/getEvent.js'
|
|
15
|
-
import adminGetRecord from './moderation/getRecord.js'
|
|
16
|
-
import adminGetRecords from './moderation/getRecords.js'
|
|
17
|
-
import getRepo from './moderation/getRepo.js'
|
|
18
|
-
import getReporterStats from './moderation/getReporterStats.js'
|
|
19
|
-
import getRepos from './moderation/getRepos.js'
|
|
20
|
-
import getSubjects from './moderation/getSubjects.js'
|
|
21
|
-
import listScheduledActions from './moderation/listScheduledActions.js'
|
|
22
|
-
import queryEvents from './moderation/queryEvents.js'
|
|
23
|
-
import queryStatuses from './moderation/queryStatuses.js'
|
|
24
|
-
import scheduleAction from './moderation/scheduleAction.js'
|
|
25
|
-
import searchRepos from './moderation/searchRepos.js'
|
|
26
|
-
import proxied from './proxied.js'
|
|
27
|
-
import assignQueueModerator from './queue/assignModerator.js'
|
|
28
|
-
import createQueue from './queue/createQueue.js'
|
|
29
|
-
import deleteQueue from './queue/deleteQueue.js'
|
|
30
|
-
import getQueueAssignments from './queue/getAssignments.js'
|
|
31
|
-
import listQueues from './queue/listQueues.js'
|
|
32
|
-
import routeReports from './queue/routeReports.js'
|
|
33
|
-
import unassignQueueModerator from './queue/unassignModerator.js'
|
|
34
|
-
import updateQueue from './queue/updateQueue.js'
|
|
35
|
-
import assignReportModerator from './report/assignModerator.js'
|
|
36
|
-
import createActivity from './report/createActivity.js'
|
|
37
|
-
import createReport from './report/createReport.js'
|
|
38
|
-
import getReportAssignments from './report/getAssignments.js'
|
|
39
|
-
import getHistoricalStats from './report/getHistoricalStats.js'
|
|
40
|
-
import getLatestReport from './report/getLatestReport.js'
|
|
41
|
-
import getLiveStats from './report/getLiveStats.js'
|
|
42
|
-
import getReport from './report/getReport.js'
|
|
43
|
-
import listActivities from './report/listActivities.js'
|
|
44
|
-
import queryActivities from './report/queryActivities.js'
|
|
45
|
-
import queryReports from './report/queryReports.js'
|
|
46
|
-
import reassignQueue from './report/reassignQueue.js'
|
|
47
|
-
import refreshStats from './report/refreshStats.js'
|
|
48
|
-
import unassignReportModerator from './report/unassignModerator.js'
|
|
49
|
-
import addSafelinkRule from './safelink/addRule.js'
|
|
50
|
-
import querySafelinkEvents from './safelink/queryEvents.js'
|
|
51
|
-
import querySafelinkRules from './safelink/queryRules.js'
|
|
52
|
-
import removeSafelinkRule from './safelink/removeRule.js'
|
|
53
|
-
import updateSafelinkRule from './safelink/updateRule.js'
|
|
54
|
-
import getConfig from './server/getConfig.js'
|
|
55
|
-
import setAddValues from './set/addValues.js'
|
|
56
|
-
import deleteSet from './set/deleteSet.js'
|
|
57
|
-
import setDeleteValues from './set/deleteValues.js'
|
|
58
|
-
import setGetValues from './set/getValues.js'
|
|
59
|
-
import querySets from './set/querySets.js'
|
|
60
|
-
import upsertSet from './set/upsertSet.js'
|
|
61
|
-
import listOptions from './setting/listOptions.js'
|
|
62
|
-
import removeOptions from './setting/removeOptions.js'
|
|
63
|
-
import upsertOption from './setting/upsertOption.js'
|
|
64
|
-
import addMember from './team/addMember.js'
|
|
65
|
-
import deleteMember from './team/deleteMember.js'
|
|
66
|
-
import listMembers from './team/listMembers.js'
|
|
67
|
-
import updateMember from './team/updateMember.js'
|
|
68
|
-
import grantVerifications from './verification/grantVerifications.js'
|
|
69
|
-
import listVerifications from './verification/listVerifications.js'
|
|
70
|
-
import revokeVerifications from './verification/revokeVerifications.js'
|
|
71
|
-
|
|
72
|
-
export * as health from './health.js'
|
|
73
|
-
|
|
74
|
-
export * as wellKnown from './well-known.js'
|
|
75
|
-
|
|
76
|
-
export default function (server: Server, ctx: AppContext) {
|
|
77
|
-
createReport(server, ctx)
|
|
78
|
-
emitEvent(server, ctx)
|
|
79
|
-
searchRepos(server, ctx)
|
|
80
|
-
adminGetRecord(server, ctx)
|
|
81
|
-
adminGetRecords(server, ctx)
|
|
82
|
-
getRepo(server, ctx)
|
|
83
|
-
getRepos(server, ctx)
|
|
84
|
-
getEvent(server, ctx)
|
|
85
|
-
queryEvents(server, ctx)
|
|
86
|
-
getReport(server, ctx)
|
|
87
|
-
queryReports(server, ctx)
|
|
88
|
-
queryStatuses(server, ctx)
|
|
89
|
-
queryLabels(server, ctx)
|
|
90
|
-
subscribeLabels(server, ctx)
|
|
91
|
-
fetchLabels(server, ctx)
|
|
92
|
-
listTemplates(server, ctx)
|
|
93
|
-
createTemplate(server, ctx)
|
|
94
|
-
updateTemplate(server, ctx)
|
|
95
|
-
deleteTemplate(server, ctx)
|
|
96
|
-
listMembers(server, ctx)
|
|
97
|
-
addMember(server, ctx)
|
|
98
|
-
updateMember(server, ctx)
|
|
99
|
-
deleteMember(server, ctx)
|
|
100
|
-
chat(server, ctx)
|
|
101
|
-
proxied(server, ctx)
|
|
102
|
-
getConfig(server, ctx)
|
|
103
|
-
createQueue(server, ctx)
|
|
104
|
-
listQueues(server, ctx)
|
|
105
|
-
updateQueue(server, ctx)
|
|
106
|
-
deleteQueue(server, ctx)
|
|
107
|
-
setAddValues(server, ctx)
|
|
108
|
-
setGetValues(server, ctx)
|
|
109
|
-
querySets(server, ctx)
|
|
110
|
-
upsertSet(server, ctx)
|
|
111
|
-
setDeleteValues(server, ctx)
|
|
112
|
-
deleteSet(server, ctx)
|
|
113
|
-
upsertOption(server, ctx)
|
|
114
|
-
listOptions(server, ctx)
|
|
115
|
-
removeOptions(server, ctx)
|
|
116
|
-
getReporterStats(server, ctx)
|
|
117
|
-
getSubjects(server, ctx)
|
|
118
|
-
grantVerifications(server, ctx)
|
|
119
|
-
revokeVerifications(server, ctx)
|
|
120
|
-
listVerifications(server, ctx)
|
|
121
|
-
addSafelinkRule(server, ctx)
|
|
122
|
-
updateSafelinkRule(server, ctx)
|
|
123
|
-
removeSafelinkRule(server, ctx)
|
|
124
|
-
querySafelinkEvents(server, ctx)
|
|
125
|
-
querySafelinkRules(server, ctx)
|
|
126
|
-
getAccountTimeline(server, ctx)
|
|
127
|
-
scheduleAction(server, ctx)
|
|
128
|
-
listScheduledActions(server, ctx)
|
|
129
|
-
cancelScheduledActions(server, ctx)
|
|
130
|
-
routeReports(server, ctx)
|
|
131
|
-
getLiveStats(server, ctx)
|
|
132
|
-
getHistoricalStats(server, ctx)
|
|
133
|
-
refreshStats(server, ctx)
|
|
134
|
-
assignQueueModerator(server, ctx)
|
|
135
|
-
unassignQueueModerator(server, ctx)
|
|
136
|
-
getQueueAssignments(server, ctx)
|
|
137
|
-
getLatestReport(server, ctx)
|
|
138
|
-
assignReportModerator(server, ctx)
|
|
139
|
-
unassignReportModerator(server, ctx)
|
|
140
|
-
getReportAssignments(server, ctx)
|
|
141
|
-
createActivity(server, ctx)
|
|
142
|
-
listActivities(server, ctx)
|
|
143
|
-
queryActivities(server, ctx)
|
|
144
|
-
reassignQueue(server, ctx)
|
|
145
|
-
return server
|
|
146
|
-
}
|