@atproto/ozone 0.0.16 → 0.0.17-next.1

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 (157) hide show
  1. package/dist/api/util.d.ts +10 -0
  2. package/dist/auth-verifier.d.ts +8 -12
  3. package/dist/communication-service/template.d.ts +2 -2
  4. package/dist/config/config.d.ts +6 -0
  5. package/dist/config/env.d.ts +3 -2
  6. package/dist/config/secrets.d.ts +0 -2
  7. package/dist/context.d.ts +6 -0
  8. package/dist/daemon/blob-diverter.d.ts +26 -0
  9. package/dist/daemon/event-pusher.d.ts +6 -0
  10. package/dist/daemon/index.d.ts +1 -0
  11. package/dist/db/index.js +21 -1
  12. package/dist/db/index.js.map +3 -3
  13. package/dist/db/migrations/20240228T003647759Z-add-label-sigs.d.ts +3 -0
  14. package/dist/db/migrations/index.d.ts +1 -0
  15. package/dist/db/schema/index.d.ts +2 -1
  16. package/dist/db/schema/label.d.ts +4 -0
  17. package/dist/db/schema/moderation_event.d.ts +1 -1
  18. package/dist/db/schema/moderation_subject_status.d.ts +2 -2
  19. package/dist/db/schema/signing_key.d.ts +9 -0
  20. package/dist/index.js +10400 -10313
  21. package/dist/index.js.map +3 -3
  22. package/dist/lexicon/index.d.ts +55 -27
  23. package/dist/lexicon/lexicons.d.ts +5046 -4757
  24. package/dist/lexicon/types/app/bsky/actor/defs.d.ts +23 -1
  25. package/dist/lexicon/types/app/bsky/embed/record.d.ts +2 -1
  26. package/dist/lexicon/types/app/bsky/feed/defs.d.ts +1 -0
  27. package/dist/lexicon/types/app/bsky/graph/defs.d.ts +3 -0
  28. package/dist/lexicon/types/app/bsky/labeler/defs.d.ts +41 -0
  29. package/dist/lexicon/types/app/bsky/labeler/getServices.d.ts +36 -0
  30. package/dist/lexicon/types/app/bsky/labeler/service.d.ts +14 -0
  31. package/dist/lexicon/types/com/atproto/admin/defs.d.ts +0 -304
  32. package/dist/lexicon/types/com/atproto/label/defs.d.ts +23 -0
  33. package/dist/lexicon/types/{com/atproto/admin/createCommunicationTemplate.d.ts → tools/ozone/communication/createTemplate.d.ts} +2 -2
  34. package/dist/lexicon/types/tools/ozone/communication/defs.d.ts +14 -0
  35. package/dist/lexicon/types/{com/atproto/admin/listCommunicationTemplates.d.ts → tools/ozone/communication/listTemplates.d.ts} +2 -2
  36. package/dist/lexicon/types/{com/atproto/admin/updateCommunicationTemplate.d.ts → tools/ozone/communication/updateTemplate.d.ts} +2 -2
  37. package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts +269 -0
  38. package/dist/lexicon/types/{com/atproto/admin/emitModerationEvent.d.ts → tools/ozone/moderation/emitEvent.d.ts} +5 -4
  39. package/dist/lexicon/types/{com/atproto/admin/getModerationEvent.d.ts → tools/ozone/moderation/getEvent.d.ts} +2 -2
  40. package/dist/lexicon/types/{com/atproto/admin → tools/ozone/moderation}/getRecord.d.ts +2 -2
  41. package/dist/lexicon/types/{com/atproto/admin → tools/ozone/moderation}/getRepo.d.ts +2 -2
  42. package/dist/lexicon/types/{com/atproto/admin/queryModerationEvents.d.ts → tools/ozone/moderation/queryEvents.d.ts} +2 -2
  43. package/dist/lexicon/types/{com/atproto/admin/queryModerationStatuses.d.ts → tools/ozone/moderation/queryStatuses.d.ts} +2 -2
  44. package/dist/lexicon/types/{com/atproto/admin → tools/ozone/moderation}/searchRepos.d.ts +2 -2
  45. package/dist/mod-service/index.d.ts +16 -15
  46. package/dist/mod-service/subject.d.ts +1 -1
  47. package/dist/mod-service/types.d.ts +2 -2
  48. package/dist/mod-service/util.d.ts +6 -0
  49. package/dist/mod-service/views.d.ts +9 -3
  50. package/dist/sequencer/sequencer.d.ts +6 -4
  51. package/dist/util.d.ts +2 -0
  52. package/package.json +9 -8
  53. package/src/api/{admin/createCommunicationTemplate.ts → communication/createTemplate.ts} +2 -2
  54. package/src/api/{admin/deleteCommunicationTemplate.ts → communication/deleteTemplate.ts} +2 -2
  55. package/src/api/{admin/listCommunicationTemplates.ts → communication/listTemplates.ts} +2 -2
  56. package/src/api/{admin/updateCommunicationTemplate.ts → communication/updateTemplate.ts} +2 -2
  57. package/src/api/index.ts +21 -21
  58. package/src/api/{temp → label}/fetchLabels.ts +5 -3
  59. package/src/api/label/queryLabels.ts +4 -2
  60. package/src/api/moderation/emitEvent.ts +218 -0
  61. package/src/api/{admin/getModerationEvent.ts → moderation/getEvent.ts} +2 -2
  62. package/src/api/{admin → moderation}/getRecord.ts +3 -3
  63. package/src/api/{admin → moderation}/getRepo.ts +3 -3
  64. package/src/api/{admin/queryModerationEvents.ts → moderation/queryEvents.ts} +3 -3
  65. package/src/api/{admin/queryModerationStatuses.ts → moderation/queryStatuses.ts} +3 -3
  66. package/src/api/{admin → moderation}/searchRepos.ts +2 -2
  67. package/src/api/proxied.ts +8 -8
  68. package/src/api/{moderation → report}/createReport.ts +2 -3
  69. package/src/api/util.ts +119 -0
  70. package/src/auth-verifier.ts +20 -30
  71. package/src/communication-service/template.ts +2 -2
  72. package/src/config/config.ts +24 -7
  73. package/src/config/env.ts +6 -4
  74. package/src/config/secrets.ts +0 -6
  75. package/src/context.ts +36 -12
  76. package/src/daemon/blob-diverter.ts +150 -0
  77. package/src/daemon/context.ts +11 -7
  78. package/src/daemon/event-pusher.ts +58 -15
  79. package/src/daemon/index.ts +1 -0
  80. package/src/db/migrations/20240228T003647759Z-add-label-sigs.ts +25 -0
  81. package/src/db/migrations/index.ts +1 -0
  82. package/src/db/schema/index.ts +2 -0
  83. package/src/db/schema/label.ts +3 -0
  84. package/src/db/schema/moderation_event.ts +11 -11
  85. package/src/db/schema/moderation_subject_status.ts +7 -2
  86. package/src/db/schema/signing_key.ts +10 -0
  87. package/src/lexicon/index.ts +200 -137
  88. package/src/lexicon/lexicons.ts +6310 -6012
  89. package/src/lexicon/types/app/bsky/actor/defs.ts +57 -1
  90. package/src/lexicon/types/app/bsky/embed/record.ts +2 -0
  91. package/src/lexicon/types/app/bsky/feed/defs.ts +1 -0
  92. package/src/lexicon/types/app/bsky/graph/defs.ts +3 -0
  93. package/src/lexicon/types/app/bsky/labeler/defs.ts +93 -0
  94. package/src/lexicon/types/app/bsky/labeler/getServices.ts +51 -0
  95. package/src/lexicon/types/app/bsky/labeler/service.ts +31 -0
  96. package/src/lexicon/types/com/atproto/admin/defs.ts +0 -694
  97. package/src/lexicon/types/com/atproto/label/defs.ts +78 -0
  98. package/src/lexicon/types/{com/atproto/admin/createCommunicationTemplate.ts → tools/ozone/communication/createTemplate.ts} +2 -2
  99. package/src/lexicon/types/tools/ozone/communication/defs.ts +35 -0
  100. package/src/lexicon/types/{com/atproto/admin/listCommunicationTemplates.ts → tools/ozone/communication/listTemplates.ts} +2 -2
  101. package/src/lexicon/types/{com/atproto/admin/updateCommunicationTemplate.ts → tools/ozone/communication/updateTemplate.ts} +2 -2
  102. package/src/lexicon/types/tools/ozone/moderation/defs.ts +641 -0
  103. package/src/lexicon/types/{com/atproto/admin/emitModerationEvent.ts → tools/ozone/moderation/emitEvent.ts} +15 -14
  104. package/src/lexicon/types/{com/atproto/admin/getModerationEvent.ts → tools/ozone/moderation/getEvent.ts} +2 -2
  105. package/src/lexicon/types/{com/atproto/admin → tools/ozone/moderation}/getRecord.ts +2 -2
  106. package/src/lexicon/types/{com/atproto/admin → tools/ozone/moderation}/getRepo.ts +2 -2
  107. package/src/lexicon/types/{com/atproto/admin/queryModerationEvents.ts → tools/ozone/moderation/queryEvents.ts} +3 -3
  108. package/src/lexicon/types/{com/atproto/admin/queryModerationStatuses.ts → tools/ozone/moderation/queryStatuses.ts} +2 -2
  109. package/src/lexicon/types/{com/atproto/admin → tools/ozone/moderation}/searchRepos.ts +2 -2
  110. package/src/mod-service/index.ts +46 -50
  111. package/src/mod-service/lang.ts +1 -1
  112. package/src/mod-service/status.ts +60 -41
  113. package/src/mod-service/subject.ts +1 -1
  114. package/src/mod-service/types.ts +10 -10
  115. package/src/mod-service/util.ts +49 -5
  116. package/src/mod-service/views.ts +45 -18
  117. package/src/sequencer/sequencer.ts +12 -11
  118. package/src/util.ts +21 -0
  119. package/tests/__snapshots__/blob-divert.test.ts.snap +22 -0
  120. package/tests/__snapshots__/get-record.test.ts.snap +14 -6
  121. package/tests/__snapshots__/get-repo.test.ts.snap +7 -3
  122. package/tests/__snapshots__/moderation-events.test.ts.snap +8 -8
  123. package/tests/__snapshots__/moderation-statuses.test.ts.snap +6 -6
  124. package/tests/_util.ts +5 -0
  125. package/tests/blob-divert.test.ts +87 -0
  126. package/tests/communication-templates.test.ts +33 -37
  127. package/tests/db.test.ts +6 -6
  128. package/tests/get-record.test.ts +22 -12
  129. package/tests/get-repo.test.ts +33 -21
  130. package/tests/moderation-appeals.test.ts +39 -67
  131. package/tests/moderation-events.test.ts +99 -142
  132. package/tests/moderation-status-tags.test.ts +20 -37
  133. package/tests/moderation-statuses.test.ts +132 -65
  134. package/tests/moderation.test.ts +147 -301
  135. package/tests/query-labels.test.ts +86 -10
  136. package/tests/repo-search.test.ts +18 -11
  137. package/tests/sequencer.test.ts +6 -3
  138. package/dist/api/admin/util.d.ts +0 -5
  139. package/dist/api/moderation/util.d.ts +0 -4
  140. package/src/api/admin/emitModerationEvent.ts +0 -170
  141. package/src/api/admin/util.ts +0 -54
  142. package/src/api/moderation/util.ts +0 -67
  143. /package/dist/api/{admin/createCommunicationTemplate.d.ts → communication/createTemplate.d.ts} +0 -0
  144. /package/dist/api/{admin/deleteCommunicationTemplate.d.ts → communication/deleteTemplate.d.ts} +0 -0
  145. /package/dist/api/{admin/emitModerationEvent.d.ts → communication/listTemplates.d.ts} +0 -0
  146. /package/dist/api/{admin/getModerationEvent.d.ts → communication/updateTemplate.d.ts} +0 -0
  147. /package/dist/api/{temp → label}/fetchLabels.d.ts +0 -0
  148. /package/dist/api/{admin/getRecord.d.ts → moderation/emitEvent.d.ts} +0 -0
  149. /package/dist/api/{admin/getRepo.d.ts → moderation/getEvent.d.ts} +0 -0
  150. /package/dist/api/{admin/listCommunicationTemplates.d.ts → moderation/getRecord.d.ts} +0 -0
  151. /package/dist/api/{admin/queryModerationEvents.d.ts → moderation/getRepo.d.ts} +0 -0
  152. /package/dist/api/{admin/queryModerationStatuses.d.ts → moderation/queryEvents.d.ts} +0 -0
  153. /package/dist/api/{admin/searchRepos.d.ts → moderation/queryStatuses.d.ts} +0 -0
  154. /package/dist/api/{admin/updateCommunicationTemplate.d.ts → moderation/searchRepos.d.ts} +0 -0
  155. /package/dist/api/{moderation → report}/createReport.d.ts +0 -0
  156. /package/dist/lexicon/types/{com/atproto/admin/deleteCommunicationTemplate.d.ts → tools/ozone/communication/deleteTemplate.d.ts} +0 -0
  157. /package/src/lexicon/types/{com/atproto/admin/deleteCommunicationTemplate.ts → tools/ozone/communication/deleteTemplate.ts} +0 -0
@@ -3,6 +3,7 @@ import DaemonContext from './context'
3
3
  import { AppContextOptions } from '../context'
4
4
 
5
5
  export { EventPusher } from './event-pusher'
6
+ export { BlobDiverter } from './blob-diverter'
6
7
  export { EventReverser } from './event-reverser'
7
8
 
8
9
  export class OzoneDaemon {
@@ -0,0 +1,25 @@
1
+ import { Kysely, sql } from 'kysely'
2
+
3
+ export async function up(db: Kysely<unknown>): Promise<void> {
4
+ await db.schema.alterTable('label').addColumn('exp', 'varchar').execute()
5
+ await db.schema
6
+ .alterTable('label')
7
+ .addColumn('sig', sql`bytea`)
8
+ .execute()
9
+ await db.schema
10
+ .alterTable('label')
11
+ .addColumn('signingKeyId', 'integer')
12
+ .execute()
13
+ await db.schema
14
+ .createTable('signing_key')
15
+ .addColumn('id', 'serial', (col) => col.primaryKey())
16
+ .addColumn('key', 'varchar', (col) => col.notNull().unique())
17
+ .execute()
18
+ }
19
+
20
+ export async function down(db: Kysely<unknown>): Promise<void> {
21
+ await db.schema.dropTable('signing_key')
22
+ await db.schema.alterTable('label').dropColumn('exp').execute()
23
+ await db.schema.alterTable('label').dropColumn('sig').execute()
24
+ await db.schema.alterTable('label').dropColumn('signingKey').execute()
25
+ }
@@ -6,3 +6,4 @@ export * as _20231219T205730722Z from './20231219T205730722Z-init'
6
6
  export * as _20240116T085607200Z from './20240116T085607200Z-communication-template'
7
7
  export * as _20240201T051104136Z from './20240201T051104136Z-mod-event-blobs'
8
8
  export * as _20240208T213404429Z from './20240208T213404429Z-add-tags-column-to-moderation-subject'
9
+ export * as _20240228T003647759Z from './20240228T003647759Z-add-label-sigs'
@@ -5,11 +5,13 @@ import * as repoPushEvent from './repo_push_event'
5
5
  import * as recordPushEvent from './record_push_event'
6
6
  import * as blobPushEvent from './blob_push_event'
7
7
  import * as label from './label'
8
+ import * as signingKey from './signing_key'
8
9
  import * as communicationTemplate from './communication_template'
9
10
 
10
11
  export type DatabaseSchemaType = modEvent.PartialDB &
11
12
  modSubjectStatus.PartialDB &
12
13
  label.PartialDB &
14
+ signingKey.PartialDB &
13
15
  repoPushEvent.PartialDB &
14
16
  recordPushEvent.PartialDB &
15
17
  blobPushEvent.PartialDB &
@@ -10,6 +10,9 @@ export interface Label {
10
10
  val: string
11
11
  neg: boolean
12
12
  cts: string
13
+ exp: string | null
14
+ sig: Buffer | null
15
+ signingKeyId: number | null
13
16
  }
14
17
 
15
18
  export type LabelRow = Selectable<Label>
@@ -5,17 +5,17 @@ export const eventTableName = 'moderation_event'
5
5
  export interface ModerationEvent {
6
6
  id: Generated<number>
7
7
  action:
8
- | 'com.atproto.admin.defs#modEventTakedown'
9
- | 'com.atproto.admin.defs#modEventAcknowledge'
10
- | 'com.atproto.admin.defs#modEventEscalate'
11
- | 'com.atproto.admin.defs#modEventComment'
12
- | 'com.atproto.admin.defs#modEventLabel'
13
- | 'com.atproto.admin.defs#modEventReport'
14
- | 'com.atproto.admin.defs#modEventMute'
15
- | 'com.atproto.admin.defs#modEventReverseTakedown'
16
- | 'com.atproto.admin.defs#modEventEmail'
17
- | 'com.atproto.admin.defs#modEventResolveAppeal'
18
- | 'com.atproto.admin.defs#modEventTag'
8
+ | 'tools.ozone.moderation.defs#modEventTakedown'
9
+ | 'tools.ozone.moderation.defs#modEventAcknowledge'
10
+ | 'tools.ozone.moderation.defs#modEventEscalate'
11
+ | 'tools.ozone.moderation.defs#modEventComment'
12
+ | 'tools.ozone.moderation.defs#modEventLabel'
13
+ | 'tools.ozone.moderation.defs#modEventReport'
14
+ | 'tools.ozone.moderation.defs#modEventMute'
15
+ | 'tools.ozone.moderation.defs#modEventReverseTakedown'
16
+ | 'tools.ozone.moderation.defs#modEventEmail'
17
+ | 'tools.ozone.moderation.defs#modEventResolveAppeal'
18
+ | 'tools.ozone.moderation.defs#modEventTag'
19
19
  subjectType: 'com.atproto.admin.defs#repoRef' | 'com.atproto.repo.strongRef'
20
20
  subjectDid: string
21
21
  subjectUri: string | null
@@ -3,7 +3,8 @@ import {
3
3
  REVIEWCLOSED,
4
4
  REVIEWOPEN,
5
5
  REVIEWESCALATED,
6
- } from '../../lexicon/types/com/atproto/admin/defs'
6
+ REVIEWNONE,
7
+ } from '../../lexicon/types/tools/ozone/moderation/defs'
7
8
 
8
9
  export const subjectStatusTableName = 'moderation_subject_status'
9
10
 
@@ -13,7 +14,11 @@ export interface ModerationSubjectStatus {
13
14
  recordPath: string
14
15
  recordCid: string | null
15
16
  blobCids: string[] | null
16
- reviewState: typeof REVIEWCLOSED | typeof REVIEWOPEN | typeof REVIEWESCALATED
17
+ reviewState:
18
+ | typeof REVIEWCLOSED
19
+ | typeof REVIEWOPEN
20
+ | typeof REVIEWESCALATED
21
+ | typeof REVIEWNONE
17
22
  createdAt: string
18
23
  updatedAt: string
19
24
  lastReviewedBy: string | null
@@ -0,0 +1,10 @@
1
+ import { Generated } from 'kysely'
2
+
3
+ export const tableName = 'signing_key'
4
+
5
+ export interface SigningKey {
6
+ id: Generated<number>
7
+ key: string
8
+ }
9
+
10
+ export type PartialDB = { [tableName]: SigningKey }
@@ -9,29 +9,18 @@ import {
9
9
  StreamAuthVerifier,
10
10
  } from '@atproto/xrpc-server'
11
11
  import { schemas } from './lexicons'
12
- import * as ComAtprotoAdminCreateCommunicationTemplate from './types/com/atproto/admin/createCommunicationTemplate'
13
12
  import * as ComAtprotoAdminDeleteAccount from './types/com/atproto/admin/deleteAccount'
14
- import * as ComAtprotoAdminDeleteCommunicationTemplate from './types/com/atproto/admin/deleteCommunicationTemplate'
15
13
  import * as ComAtprotoAdminDisableAccountInvites from './types/com/atproto/admin/disableAccountInvites'
16
14
  import * as ComAtprotoAdminDisableInviteCodes from './types/com/atproto/admin/disableInviteCodes'
17
- import * as ComAtprotoAdminEmitModerationEvent from './types/com/atproto/admin/emitModerationEvent'
18
15
  import * as ComAtprotoAdminEnableAccountInvites from './types/com/atproto/admin/enableAccountInvites'
19
16
  import * as ComAtprotoAdminGetAccountInfo from './types/com/atproto/admin/getAccountInfo'
20
17
  import * as ComAtprotoAdminGetAccountInfos from './types/com/atproto/admin/getAccountInfos'
21
18
  import * as ComAtprotoAdminGetInviteCodes from './types/com/atproto/admin/getInviteCodes'
22
- import * as ComAtprotoAdminGetModerationEvent from './types/com/atproto/admin/getModerationEvent'
23
- import * as ComAtprotoAdminGetRecord from './types/com/atproto/admin/getRecord'
24
- import * as ComAtprotoAdminGetRepo from './types/com/atproto/admin/getRepo'
25
19
  import * as ComAtprotoAdminGetSubjectStatus from './types/com/atproto/admin/getSubjectStatus'
26
- import * as ComAtprotoAdminListCommunicationTemplates from './types/com/atproto/admin/listCommunicationTemplates'
27
- import * as ComAtprotoAdminQueryModerationEvents from './types/com/atproto/admin/queryModerationEvents'
28
- import * as ComAtprotoAdminQueryModerationStatuses from './types/com/atproto/admin/queryModerationStatuses'
29
- import * as ComAtprotoAdminSearchRepos from './types/com/atproto/admin/searchRepos'
30
20
  import * as ComAtprotoAdminSendEmail from './types/com/atproto/admin/sendEmail'
31
21
  import * as ComAtprotoAdminUpdateAccountEmail from './types/com/atproto/admin/updateAccountEmail'
32
22
  import * as ComAtprotoAdminUpdateAccountHandle from './types/com/atproto/admin/updateAccountHandle'
33
23
  import * as ComAtprotoAdminUpdateAccountPassword from './types/com/atproto/admin/updateAccountPassword'
34
- import * as ComAtprotoAdminUpdateCommunicationTemplate from './types/com/atproto/admin/updateCommunicationTemplate'
35
24
  import * as ComAtprotoAdminUpdateSubjectStatus from './types/com/atproto/admin/updateSubjectStatus'
36
25
  import * as ComAtprotoIdentityGetRecommendedDidCredentials from './types/com/atproto/identity/getRecommendedDidCredentials'
37
26
  import * as ComAtprotoIdentityRequestPlcOperationSignature from './types/com/atproto/identity/requestPlcOperationSignature'
@@ -129,6 +118,7 @@ import * as AppBskyGraphMuteActor from './types/app/bsky/graph/muteActor'
129
118
  import * as AppBskyGraphMuteActorList from './types/app/bsky/graph/muteActorList'
130
119
  import * as AppBskyGraphUnmuteActor from './types/app/bsky/graph/unmuteActor'
131
120
  import * as AppBskyGraphUnmuteActorList from './types/app/bsky/graph/unmuteActorList'
121
+ import * as AppBskyLabelerGetServices from './types/app/bsky/labeler/getServices'
132
122
  import * as AppBskyNotificationGetUnreadCount from './types/app/bsky/notification/getUnreadCount'
133
123
  import * as AppBskyNotificationListNotifications from './types/app/bsky/notification/listNotifications'
134
124
  import * as AppBskyNotificationRegisterPush from './types/app/bsky/notification/registerPush'
@@ -137,12 +127,18 @@ import * as AppBskyUnspeccedGetPopularFeedGenerators from './types/app/bsky/unsp
137
127
  import * as AppBskyUnspeccedGetTaggedSuggestions from './types/app/bsky/unspecced/getTaggedSuggestions'
138
128
  import * as AppBskyUnspeccedSearchActorsSkeleton from './types/app/bsky/unspecced/searchActorsSkeleton'
139
129
  import * as AppBskyUnspeccedSearchPostsSkeleton from './types/app/bsky/unspecced/searchPostsSkeleton'
130
+ import * as ToolsOzoneCommunicationCreateTemplate from './types/tools/ozone/communication/createTemplate'
131
+ import * as ToolsOzoneCommunicationDeleteTemplate from './types/tools/ozone/communication/deleteTemplate'
132
+ import * as ToolsOzoneCommunicationListTemplates from './types/tools/ozone/communication/listTemplates'
133
+ import * as ToolsOzoneCommunicationUpdateTemplate from './types/tools/ozone/communication/updateTemplate'
134
+ import * as ToolsOzoneModerationEmitEvent from './types/tools/ozone/moderation/emitEvent'
135
+ import * as ToolsOzoneModerationGetEvent from './types/tools/ozone/moderation/getEvent'
136
+ import * as ToolsOzoneModerationGetRecord from './types/tools/ozone/moderation/getRecord'
137
+ import * as ToolsOzoneModerationGetRepo from './types/tools/ozone/moderation/getRepo'
138
+ import * as ToolsOzoneModerationQueryEvents from './types/tools/ozone/moderation/queryEvents'
139
+ import * as ToolsOzoneModerationQueryStatuses from './types/tools/ozone/moderation/queryStatuses'
140
+ import * as ToolsOzoneModerationSearchRepos from './types/tools/ozone/moderation/searchRepos'
140
141
 
141
- export const COM_ATPROTO_ADMIN = {
142
- DefsReviewOpen: 'com.atproto.admin.defs#reviewOpen',
143
- DefsReviewEscalated: 'com.atproto.admin.defs#reviewEscalated',
144
- DefsReviewClosed: 'com.atproto.admin.defs#reviewClosed',
145
- }
146
142
  export const COM_ATPROTO_MODERATION = {
147
143
  DefsReasonSpam: 'com.atproto.moderation.defs#reasonSpam',
148
144
  DefsReasonViolation: 'com.atproto.moderation.defs#reasonViolation',
@@ -156,6 +152,12 @@ export const APP_BSKY_GRAPH = {
156
152
  DefsModlist: 'app.bsky.graph.defs#modlist',
157
153
  DefsCuratelist: 'app.bsky.graph.defs#curatelist',
158
154
  }
155
+ export const TOOLS_OZONE_MODERATION = {
156
+ DefsReviewOpen: 'tools.ozone.moderation.defs#reviewOpen',
157
+ DefsReviewEscalated: 'tools.ozone.moderation.defs#reviewEscalated',
158
+ DefsReviewClosed: 'tools.ozone.moderation.defs#reviewClosed',
159
+ DefsReviewNone: 'tools.ozone.moderation.defs#reviewNone',
160
+ }
159
161
 
160
162
  export function createServer(options?: XrpcOptions): Server {
161
163
  return new Server(options)
@@ -165,11 +167,13 @@ export class Server {
165
167
  xrpc: XrpcServer
166
168
  com: ComNS
167
169
  app: AppNS
170
+ tools: ToolsNS
168
171
 
169
172
  constructor(options?: XrpcOptions) {
170
173
  this.xrpc = createXrpcServer(schemas, options)
171
174
  this.com = new ComNS(this)
172
175
  this.app = new AppNS(this)
176
+ this.tools = new ToolsNS(this)
173
177
  }
174
178
  }
175
179
 
@@ -214,17 +218,6 @@ export class ComAtprotoAdminNS {
214
218
  this._server = server
215
219
  }
216
220
 
217
- createCommunicationTemplate<AV extends AuthVerifier>(
218
- cfg: ConfigOf<
219
- AV,
220
- ComAtprotoAdminCreateCommunicationTemplate.Handler<ExtractAuth<AV>>,
221
- ComAtprotoAdminCreateCommunicationTemplate.HandlerReqCtx<ExtractAuth<AV>>
222
- >,
223
- ) {
224
- const nsid = 'com.atproto.admin.createCommunicationTemplate' // @ts-ignore
225
- return this._server.xrpc.method(nsid, cfg)
226
- }
227
-
228
221
  deleteAccount<AV extends AuthVerifier>(
229
222
  cfg: ConfigOf<
230
223
  AV,
@@ -236,17 +229,6 @@ export class ComAtprotoAdminNS {
236
229
  return this._server.xrpc.method(nsid, cfg)
237
230
  }
238
231
 
239
- deleteCommunicationTemplate<AV extends AuthVerifier>(
240
- cfg: ConfigOf<
241
- AV,
242
- ComAtprotoAdminDeleteCommunicationTemplate.Handler<ExtractAuth<AV>>,
243
- ComAtprotoAdminDeleteCommunicationTemplate.HandlerReqCtx<ExtractAuth<AV>>
244
- >,
245
- ) {
246
- const nsid = 'com.atproto.admin.deleteCommunicationTemplate' // @ts-ignore
247
- return this._server.xrpc.method(nsid, cfg)
248
- }
249
-
250
232
  disableAccountInvites<AV extends AuthVerifier>(
251
233
  cfg: ConfigOf<
252
234
  AV,
@@ -269,17 +251,6 @@ export class ComAtprotoAdminNS {
269
251
  return this._server.xrpc.method(nsid, cfg)
270
252
  }
271
253
 
272
- emitModerationEvent<AV extends AuthVerifier>(
273
- cfg: ConfigOf<
274
- AV,
275
- ComAtprotoAdminEmitModerationEvent.Handler<ExtractAuth<AV>>,
276
- ComAtprotoAdminEmitModerationEvent.HandlerReqCtx<ExtractAuth<AV>>
277
- >,
278
- ) {
279
- const nsid = 'com.atproto.admin.emitModerationEvent' // @ts-ignore
280
- return this._server.xrpc.method(nsid, cfg)
281
- }
282
-
283
254
  enableAccountInvites<AV extends AuthVerifier>(
284
255
  cfg: ConfigOf<
285
256
  AV,
@@ -324,39 +295,6 @@ export class ComAtprotoAdminNS {
324
295
  return this._server.xrpc.method(nsid, cfg)
325
296
  }
326
297
 
327
- getModerationEvent<AV extends AuthVerifier>(
328
- cfg: ConfigOf<
329
- AV,
330
- ComAtprotoAdminGetModerationEvent.Handler<ExtractAuth<AV>>,
331
- ComAtprotoAdminGetModerationEvent.HandlerReqCtx<ExtractAuth<AV>>
332
- >,
333
- ) {
334
- const nsid = 'com.atproto.admin.getModerationEvent' // @ts-ignore
335
- return this._server.xrpc.method(nsid, cfg)
336
- }
337
-
338
- getRecord<AV extends AuthVerifier>(
339
- cfg: ConfigOf<
340
- AV,
341
- ComAtprotoAdminGetRecord.Handler<ExtractAuth<AV>>,
342
- ComAtprotoAdminGetRecord.HandlerReqCtx<ExtractAuth<AV>>
343
- >,
344
- ) {
345
- const nsid = 'com.atproto.admin.getRecord' // @ts-ignore
346
- return this._server.xrpc.method(nsid, cfg)
347
- }
348
-
349
- getRepo<AV extends AuthVerifier>(
350
- cfg: ConfigOf<
351
- AV,
352
- ComAtprotoAdminGetRepo.Handler<ExtractAuth<AV>>,
353
- ComAtprotoAdminGetRepo.HandlerReqCtx<ExtractAuth<AV>>
354
- >,
355
- ) {
356
- const nsid = 'com.atproto.admin.getRepo' // @ts-ignore
357
- return this._server.xrpc.method(nsid, cfg)
358
- }
359
-
360
298
  getSubjectStatus<AV extends AuthVerifier>(
361
299
  cfg: ConfigOf<
362
300
  AV,
@@ -368,50 +306,6 @@ export class ComAtprotoAdminNS {
368
306
  return this._server.xrpc.method(nsid, cfg)
369
307
  }
370
308
 
371
- listCommunicationTemplates<AV extends AuthVerifier>(
372
- cfg: ConfigOf<
373
- AV,
374
- ComAtprotoAdminListCommunicationTemplates.Handler<ExtractAuth<AV>>,
375
- ComAtprotoAdminListCommunicationTemplates.HandlerReqCtx<ExtractAuth<AV>>
376
- >,
377
- ) {
378
- const nsid = 'com.atproto.admin.listCommunicationTemplates' // @ts-ignore
379
- return this._server.xrpc.method(nsid, cfg)
380
- }
381
-
382
- queryModerationEvents<AV extends AuthVerifier>(
383
- cfg: ConfigOf<
384
- AV,
385
- ComAtprotoAdminQueryModerationEvents.Handler<ExtractAuth<AV>>,
386
- ComAtprotoAdminQueryModerationEvents.HandlerReqCtx<ExtractAuth<AV>>
387
- >,
388
- ) {
389
- const nsid = 'com.atproto.admin.queryModerationEvents' // @ts-ignore
390
- return this._server.xrpc.method(nsid, cfg)
391
- }
392
-
393
- queryModerationStatuses<AV extends AuthVerifier>(
394
- cfg: ConfigOf<
395
- AV,
396
- ComAtprotoAdminQueryModerationStatuses.Handler<ExtractAuth<AV>>,
397
- ComAtprotoAdminQueryModerationStatuses.HandlerReqCtx<ExtractAuth<AV>>
398
- >,
399
- ) {
400
- const nsid = 'com.atproto.admin.queryModerationStatuses' // @ts-ignore
401
- return this._server.xrpc.method(nsid, cfg)
402
- }
403
-
404
- searchRepos<AV extends AuthVerifier>(
405
- cfg: ConfigOf<
406
- AV,
407
- ComAtprotoAdminSearchRepos.Handler<ExtractAuth<AV>>,
408
- ComAtprotoAdminSearchRepos.HandlerReqCtx<ExtractAuth<AV>>
409
- >,
410
- ) {
411
- const nsid = 'com.atproto.admin.searchRepos' // @ts-ignore
412
- return this._server.xrpc.method(nsid, cfg)
413
- }
414
-
415
309
  sendEmail<AV extends AuthVerifier>(
416
310
  cfg: ConfigOf<
417
311
  AV,
@@ -456,17 +350,6 @@ export class ComAtprotoAdminNS {
456
350
  return this._server.xrpc.method(nsid, cfg)
457
351
  }
458
352
 
459
- updateCommunicationTemplate<AV extends AuthVerifier>(
460
- cfg: ConfigOf<
461
- AV,
462
- ComAtprotoAdminUpdateCommunicationTemplate.Handler<ExtractAuth<AV>>,
463
- ComAtprotoAdminUpdateCommunicationTemplate.HandlerReqCtx<ExtractAuth<AV>>
464
- >,
465
- ) {
466
- const nsid = 'com.atproto.admin.updateCommunicationTemplate' // @ts-ignore
467
- return this._server.xrpc.method(nsid, cfg)
468
- }
469
-
470
353
  updateSubjectStatus<AV extends AuthVerifier>(
471
354
  cfg: ConfigOf<
472
355
  AV,
@@ -1204,6 +1087,7 @@ export class AppBskyNS {
1204
1087
  embed: AppBskyEmbedNS
1205
1088
  feed: AppBskyFeedNS
1206
1089
  graph: AppBskyGraphNS
1090
+ labeler: AppBskyLabelerNS
1207
1091
  notification: AppBskyNotificationNS
1208
1092
  richtext: AppBskyRichtextNS
1209
1093
  unspecced: AppBskyUnspeccedNS
@@ -1214,6 +1098,7 @@ export class AppBskyNS {
1214
1098
  this.embed = new AppBskyEmbedNS(server)
1215
1099
  this.feed = new AppBskyFeedNS(server)
1216
1100
  this.graph = new AppBskyGraphNS(server)
1101
+ this.labeler = new AppBskyLabelerNS(server)
1217
1102
  this.notification = new AppBskyNotificationNS(server)
1218
1103
  this.richtext = new AppBskyRichtextNS(server)
1219
1104
  this.unspecced = new AppBskyUnspeccedNS(server)
@@ -1659,6 +1544,25 @@ export class AppBskyGraphNS {
1659
1544
  }
1660
1545
  }
1661
1546
 
1547
+ export class AppBskyLabelerNS {
1548
+ _server: Server
1549
+
1550
+ constructor(server: Server) {
1551
+ this._server = server
1552
+ }
1553
+
1554
+ getServices<AV extends AuthVerifier>(
1555
+ cfg: ConfigOf<
1556
+ AV,
1557
+ AppBskyLabelerGetServices.Handler<ExtractAuth<AV>>,
1558
+ AppBskyLabelerGetServices.HandlerReqCtx<ExtractAuth<AV>>
1559
+ >,
1560
+ ) {
1561
+ const nsid = 'app.bsky.labeler.getServices' // @ts-ignore
1562
+ return this._server.xrpc.method(nsid, cfg)
1563
+ }
1564
+ }
1565
+
1662
1566
  export class AppBskyNotificationNS {
1663
1567
  _server: Server
1664
1568
 
@@ -1771,6 +1675,165 @@ export class AppBskyUnspeccedNS {
1771
1675
  }
1772
1676
  }
1773
1677
 
1678
+ export class ToolsNS {
1679
+ _server: Server
1680
+ ozone: ToolsOzoneNS
1681
+
1682
+ constructor(server: Server) {
1683
+ this._server = server
1684
+ this.ozone = new ToolsOzoneNS(server)
1685
+ }
1686
+ }
1687
+
1688
+ export class ToolsOzoneNS {
1689
+ _server: Server
1690
+ communication: ToolsOzoneCommunicationNS
1691
+ moderation: ToolsOzoneModerationNS
1692
+
1693
+ constructor(server: Server) {
1694
+ this._server = server
1695
+ this.communication = new ToolsOzoneCommunicationNS(server)
1696
+ this.moderation = new ToolsOzoneModerationNS(server)
1697
+ }
1698
+ }
1699
+
1700
+ export class ToolsOzoneCommunicationNS {
1701
+ _server: Server
1702
+
1703
+ constructor(server: Server) {
1704
+ this._server = server
1705
+ }
1706
+
1707
+ createTemplate<AV extends AuthVerifier>(
1708
+ cfg: ConfigOf<
1709
+ AV,
1710
+ ToolsOzoneCommunicationCreateTemplate.Handler<ExtractAuth<AV>>,
1711
+ ToolsOzoneCommunicationCreateTemplate.HandlerReqCtx<ExtractAuth<AV>>
1712
+ >,
1713
+ ) {
1714
+ const nsid = 'tools.ozone.communication.createTemplate' // @ts-ignore
1715
+ return this._server.xrpc.method(nsid, cfg)
1716
+ }
1717
+
1718
+ deleteTemplate<AV extends AuthVerifier>(
1719
+ cfg: ConfigOf<
1720
+ AV,
1721
+ ToolsOzoneCommunicationDeleteTemplate.Handler<ExtractAuth<AV>>,
1722
+ ToolsOzoneCommunicationDeleteTemplate.HandlerReqCtx<ExtractAuth<AV>>
1723
+ >,
1724
+ ) {
1725
+ const nsid = 'tools.ozone.communication.deleteTemplate' // @ts-ignore
1726
+ return this._server.xrpc.method(nsid, cfg)
1727
+ }
1728
+
1729
+ listTemplates<AV extends AuthVerifier>(
1730
+ cfg: ConfigOf<
1731
+ AV,
1732
+ ToolsOzoneCommunicationListTemplates.Handler<ExtractAuth<AV>>,
1733
+ ToolsOzoneCommunicationListTemplates.HandlerReqCtx<ExtractAuth<AV>>
1734
+ >,
1735
+ ) {
1736
+ const nsid = 'tools.ozone.communication.listTemplates' // @ts-ignore
1737
+ return this._server.xrpc.method(nsid, cfg)
1738
+ }
1739
+
1740
+ updateTemplate<AV extends AuthVerifier>(
1741
+ cfg: ConfigOf<
1742
+ AV,
1743
+ ToolsOzoneCommunicationUpdateTemplate.Handler<ExtractAuth<AV>>,
1744
+ ToolsOzoneCommunicationUpdateTemplate.HandlerReqCtx<ExtractAuth<AV>>
1745
+ >,
1746
+ ) {
1747
+ const nsid = 'tools.ozone.communication.updateTemplate' // @ts-ignore
1748
+ return this._server.xrpc.method(nsid, cfg)
1749
+ }
1750
+ }
1751
+
1752
+ export class ToolsOzoneModerationNS {
1753
+ _server: Server
1754
+
1755
+ constructor(server: Server) {
1756
+ this._server = server
1757
+ }
1758
+
1759
+ emitEvent<AV extends AuthVerifier>(
1760
+ cfg: ConfigOf<
1761
+ AV,
1762
+ ToolsOzoneModerationEmitEvent.Handler<ExtractAuth<AV>>,
1763
+ ToolsOzoneModerationEmitEvent.HandlerReqCtx<ExtractAuth<AV>>
1764
+ >,
1765
+ ) {
1766
+ const nsid = 'tools.ozone.moderation.emitEvent' // @ts-ignore
1767
+ return this._server.xrpc.method(nsid, cfg)
1768
+ }
1769
+
1770
+ getEvent<AV extends AuthVerifier>(
1771
+ cfg: ConfigOf<
1772
+ AV,
1773
+ ToolsOzoneModerationGetEvent.Handler<ExtractAuth<AV>>,
1774
+ ToolsOzoneModerationGetEvent.HandlerReqCtx<ExtractAuth<AV>>
1775
+ >,
1776
+ ) {
1777
+ const nsid = 'tools.ozone.moderation.getEvent' // @ts-ignore
1778
+ return this._server.xrpc.method(nsid, cfg)
1779
+ }
1780
+
1781
+ getRecord<AV extends AuthVerifier>(
1782
+ cfg: ConfigOf<
1783
+ AV,
1784
+ ToolsOzoneModerationGetRecord.Handler<ExtractAuth<AV>>,
1785
+ ToolsOzoneModerationGetRecord.HandlerReqCtx<ExtractAuth<AV>>
1786
+ >,
1787
+ ) {
1788
+ const nsid = 'tools.ozone.moderation.getRecord' // @ts-ignore
1789
+ return this._server.xrpc.method(nsid, cfg)
1790
+ }
1791
+
1792
+ getRepo<AV extends AuthVerifier>(
1793
+ cfg: ConfigOf<
1794
+ AV,
1795
+ ToolsOzoneModerationGetRepo.Handler<ExtractAuth<AV>>,
1796
+ ToolsOzoneModerationGetRepo.HandlerReqCtx<ExtractAuth<AV>>
1797
+ >,
1798
+ ) {
1799
+ const nsid = 'tools.ozone.moderation.getRepo' // @ts-ignore
1800
+ return this._server.xrpc.method(nsid, cfg)
1801
+ }
1802
+
1803
+ queryEvents<AV extends AuthVerifier>(
1804
+ cfg: ConfigOf<
1805
+ AV,
1806
+ ToolsOzoneModerationQueryEvents.Handler<ExtractAuth<AV>>,
1807
+ ToolsOzoneModerationQueryEvents.HandlerReqCtx<ExtractAuth<AV>>
1808
+ >,
1809
+ ) {
1810
+ const nsid = 'tools.ozone.moderation.queryEvents' // @ts-ignore
1811
+ return this._server.xrpc.method(nsid, cfg)
1812
+ }
1813
+
1814
+ queryStatuses<AV extends AuthVerifier>(
1815
+ cfg: ConfigOf<
1816
+ AV,
1817
+ ToolsOzoneModerationQueryStatuses.Handler<ExtractAuth<AV>>,
1818
+ ToolsOzoneModerationQueryStatuses.HandlerReqCtx<ExtractAuth<AV>>
1819
+ >,
1820
+ ) {
1821
+ const nsid = 'tools.ozone.moderation.queryStatuses' // @ts-ignore
1822
+ return this._server.xrpc.method(nsid, cfg)
1823
+ }
1824
+
1825
+ searchRepos<AV extends AuthVerifier>(
1826
+ cfg: ConfigOf<
1827
+ AV,
1828
+ ToolsOzoneModerationSearchRepos.Handler<ExtractAuth<AV>>,
1829
+ ToolsOzoneModerationSearchRepos.HandlerReqCtx<ExtractAuth<AV>>
1830
+ >,
1831
+ ) {
1832
+ const nsid = 'tools.ozone.moderation.searchRepos' // @ts-ignore
1833
+ return this._server.xrpc.method(nsid, cfg)
1834
+ }
1835
+ }
1836
+
1774
1837
  type SharedRateLimitOpts<T> = {
1775
1838
  name: string
1776
1839
  calcKey?: (ctx: T) => string