@atproto/ozone 0.1.52 → 0.1.54

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 (142) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/api/index.d.ts.map +1 -1
  3. package/dist/api/index.js +6 -0
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/moderation/queryStatuses.d.ts.map +1 -1
  6. package/dist/api/moderation/queryStatuses.js +6 -1
  7. package/dist/api/moderation/queryStatuses.js.map +1 -1
  8. package/dist/api/setting/listOptions.d.ts +4 -0
  9. package/dist/api/setting/listOptions.d.ts.map +1 -0
  10. package/dist/api/setting/listOptions.js +38 -0
  11. package/dist/api/setting/listOptions.js.map +1 -0
  12. package/dist/api/setting/removeOptions.d.ts +4 -0
  13. package/dist/api/setting/removeOptions.d.ts.map +1 -0
  14. package/dist/api/setting/removeOptions.js +55 -0
  15. package/dist/api/setting/removeOptions.js.map +1 -0
  16. package/dist/api/setting/upsertOption.d.ts +4 -0
  17. package/dist/api/setting/upsertOption.d.ts.map +1 -0
  18. package/dist/api/setting/upsertOption.js +109 -0
  19. package/dist/api/setting/upsertOption.js.map +1 -0
  20. package/dist/api/util.d.ts.map +1 -1
  21. package/dist/api/util.js +3 -1
  22. package/dist/api/util.js.map +1 -1
  23. package/dist/context.d.ts +3 -0
  24. package/dist/context.d.ts.map +1 -1
  25. package/dist/context.js +6 -0
  26. package/dist/context.js.map +1 -1
  27. package/dist/db/migrations/20241018T205730722Z-setting.d.ts +4 -0
  28. package/dist/db/migrations/20241018T205730722Z-setting.d.ts.map +1 -0
  29. package/dist/db/migrations/20241018T205730722Z-setting.js +26 -0
  30. package/dist/db/migrations/20241018T205730722Z-setting.js.map +1 -0
  31. package/dist/db/migrations/20241026T205730722Z-add-hosting-status-to-subject-status.d.ts +4 -0
  32. package/dist/db/migrations/20241026T205730722Z-add-hosting-status-to-subject-status.d.ts.map +1 -0
  33. package/dist/db/migrations/20241026T205730722Z-add-hosting-status-to-subject-status.js +57 -0
  34. package/dist/db/migrations/20241026T205730722Z-add-hosting-status-to-subject-status.js.map +1 -0
  35. package/dist/db/migrations/index.d.ts +2 -0
  36. package/dist/db/migrations/index.d.ts.map +1 -1
  37. package/dist/db/migrations/index.js +3 -1
  38. package/dist/db/migrations/index.js.map +1 -1
  39. package/dist/db/schema/index.d.ts +2 -1
  40. package/dist/db/schema/index.d.ts.map +1 -1
  41. package/dist/db/schema/moderation_event.d.ts +1 -1
  42. package/dist/db/schema/moderation_event.d.ts.map +1 -1
  43. package/dist/db/schema/moderation_subject_status.d.ts +6 -0
  44. package/dist/db/schema/moderation_subject_status.d.ts.map +1 -1
  45. package/dist/db/schema/setting.d.ts +21 -0
  46. package/dist/db/schema/setting.d.ts.map +1 -0
  47. package/dist/db/schema/setting.js +5 -0
  48. package/dist/db/schema/setting.js.map +1 -0
  49. package/dist/lexicon/index.d.ts +13 -0
  50. package/dist/lexicon/index.d.ts.map +1 -1
  51. package/dist/lexicon/index.js +36 -1
  52. package/dist/lexicon/index.js.map +1 -1
  53. package/dist/lexicon/lexicons.d.ts +396 -0
  54. package/dist/lexicon/lexicons.d.ts.map +1 -1
  55. package/dist/lexicon/lexicons.js +439 -3
  56. package/dist/lexicon/lexicons.js.map +1 -1
  57. package/dist/lexicon/types/app/bsky/unspecced/getConfig.d.ts +34 -0
  58. package/dist/lexicon/types/app/bsky/unspecced/getConfig.d.ts.map +1 -0
  59. package/dist/lexicon/types/app/bsky/unspecced/getConfig.js +3 -0
  60. package/dist/lexicon/types/app/bsky/unspecced/getConfig.js.map +1 -0
  61. package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts +60 -2
  62. package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts.map +1 -1
  63. package/dist/lexicon/types/tools/ozone/moderation/defs.js +50 -0
  64. package/dist/lexicon/types/tools/ozone/moderation/defs.js.map +1 -1
  65. package/dist/lexicon/types/tools/ozone/moderation/emitEvent.d.ts +1 -1
  66. package/dist/lexicon/types/tools/ozone/moderation/emitEvent.d.ts.map +1 -1
  67. package/dist/lexicon/types/tools/ozone/moderation/queryStatuses.d.ts +10 -0
  68. package/dist/lexicon/types/tools/ozone/moderation/queryStatuses.d.ts.map +1 -1
  69. package/dist/lexicon/types/tools/ozone/setting/defs.d.ts +20 -0
  70. package/dist/lexicon/types/tools/ozone/setting/defs.d.ts.map +1 -0
  71. package/dist/lexicon/types/tools/ozone/setting/defs.js +15 -0
  72. package/dist/lexicon/types/tools/ozone/setting/defs.js.map +1 -0
  73. package/dist/lexicon/types/tools/ozone/setting/listOptions.d.ts +43 -0
  74. package/dist/lexicon/types/tools/ozone/setting/listOptions.d.ts.map +1 -0
  75. package/dist/lexicon/types/tools/ozone/setting/listOptions.js +3 -0
  76. package/dist/lexicon/types/tools/ozone/setting/listOptions.js.map +1 -0
  77. package/dist/lexicon/types/tools/ozone/setting/removeOptions.d.ts +40 -0
  78. package/dist/lexicon/types/tools/ozone/setting/removeOptions.d.ts.map +1 -0
  79. package/dist/lexicon/types/tools/ozone/setting/removeOptions.js +3 -0
  80. package/dist/lexicon/types/tools/ozone/setting/removeOptions.js.map +1 -0
  81. package/dist/lexicon/types/tools/ozone/setting/upsertOption.d.ts +45 -0
  82. package/dist/lexicon/types/tools/ozone/setting/upsertOption.d.ts.map +1 -0
  83. package/dist/lexicon/types/tools/ozone/setting/upsertOption.js +3 -0
  84. package/dist/lexicon/types/tools/ozone/setting/upsertOption.js.map +1 -0
  85. package/dist/mod-service/index.d.ts +19 -2
  86. package/dist/mod-service/index.d.ts.map +1 -1
  87. package/dist/mod-service/index.js +37 -1
  88. package/dist/mod-service/index.js.map +1 -1
  89. package/dist/mod-service/status.d.ts +2 -22
  90. package/dist/mod-service/status.d.ts.map +1 -1
  91. package/dist/mod-service/status.js +91 -1
  92. package/dist/mod-service/status.js.map +1 -1
  93. package/dist/mod-service/types.d.ts +19 -1
  94. package/dist/mod-service/types.d.ts.map +1 -1
  95. package/dist/mod-service/views.d.ts.map +1 -1
  96. package/dist/mod-service/views.js +36 -1
  97. package/dist/mod-service/views.js.map +1 -1
  98. package/dist/setting/service.d.ts +33 -0
  99. package/dist/setting/service.d.ts.map +1 -0
  100. package/dist/setting/service.js +101 -0
  101. package/dist/setting/service.js.map +1 -0
  102. package/package.json +6 -6
  103. package/src/api/index.ts +6 -0
  104. package/src/api/moderation/queryStatuses.ts +10 -0
  105. package/src/api/setting/listOptions.ts +44 -0
  106. package/src/api/setting/removeOptions.ts +63 -0
  107. package/src/api/setting/upsertOption.ts +142 -0
  108. package/src/api/util.ts +3 -0
  109. package/src/context.ts +8 -0
  110. package/src/db/migrations/20241018T205730722Z-setting.ts +27 -0
  111. package/src/db/migrations/20241026T205730722Z-add-hosting-status-to-subject-status.ts +57 -0
  112. package/src/db/migrations/index.ts +2 -0
  113. package/src/db/schema/index.ts +3 -1
  114. package/src/db/schema/moderation_event.ts +3 -0
  115. package/src/db/schema/moderation_subject_status.ts +6 -0
  116. package/src/db/schema/setting.ts +24 -0
  117. package/src/lexicon/index.ts +58 -0
  118. package/src/lexicon/lexicons.ts +449 -3
  119. package/src/lexicon/types/app/bsky/unspecced/getConfig.ts +43 -0
  120. package/src/lexicon/types/tools/ozone/moderation/defs.ts +132 -0
  121. package/src/lexicon/types/tools/ozone/moderation/emitEvent.ts +3 -0
  122. package/src/lexicon/types/tools/ozone/moderation/queryStatuses.ts +10 -0
  123. package/src/lexicon/types/tools/ozone/setting/defs.ts +37 -0
  124. package/src/lexicon/types/tools/ozone/setting/listOptions.ts +53 -0
  125. package/src/lexicon/types/tools/ozone/setting/removeOptions.ts +49 -0
  126. package/src/lexicon/types/tools/ozone/setting/upsertOption.ts +58 -0
  127. package/src/mod-service/index.ts +52 -0
  128. package/src/mod-service/status.ts +114 -2
  129. package/src/mod-service/types.ts +25 -0
  130. package/src/mod-service/views.ts +45 -2
  131. package/src/setting/service.ts +148 -0
  132. package/tests/__snapshots__/get-record.test.ts.snap +8 -0
  133. package/tests/__snapshots__/get-records.test.ts.snap +4 -0
  134. package/tests/__snapshots__/get-repo.test.ts.snap +4 -0
  135. package/tests/__snapshots__/get-repos.test.ts.snap +4 -0
  136. package/tests/__snapshots__/moderation-events.test.ts.snap +4 -0
  137. package/tests/__snapshots__/moderation-statuses.test.ts.snap +24 -0
  138. package/tests/__snapshots__/settings.test.ts.snap +52 -0
  139. package/tests/record-and-account-events.test.ts +185 -0
  140. package/tests/settings.test.ts +310 -0
  141. package/tsconfig.build.tsbuildinfo +1 -1
  142. package/tsconfig.tests.tsbuildinfo +1 -1
@@ -0,0 +1,57 @@
1
+ import { Kysely } from 'kysely'
2
+
3
+ export async function up(db: Kysely<unknown>): Promise<void> {
4
+ await db.schema
5
+ .alterTable('moderation_subject_status')
6
+ .addColumn('hostingStatus', 'varchar', (col) =>
7
+ col.notNull().defaultTo('unknown'),
8
+ )
9
+ .execute()
10
+ await db.schema
11
+ .alterTable('moderation_subject_status')
12
+ .addColumn('hostingDeletedAt', 'varchar')
13
+ .execute()
14
+ await db.schema
15
+ .alterTable('moderation_subject_status')
16
+ .addColumn('hostingUpdatedAt', 'varchar')
17
+ .execute()
18
+ await db.schema
19
+ .alterTable('moderation_subject_status')
20
+ .addColumn('hostingCreatedAt', 'varchar')
21
+ .execute()
22
+ await db.schema
23
+ .alterTable('moderation_subject_status')
24
+ .addColumn('hostingDeactivatedAt', 'varchar')
25
+ .execute()
26
+ await db.schema
27
+ .alterTable('moderation_subject_status')
28
+ .addColumn('hostingReactivatedAt', 'varchar')
29
+ .execute()
30
+ }
31
+
32
+ export async function down(db: Kysely<unknown>): Promise<void> {
33
+ await db.schema
34
+ .alterTable('moderation_subject_status')
35
+ .dropColumn('hostingStatus')
36
+ .execute()
37
+ await db.schema
38
+ .alterTable('moderation_subject_status')
39
+ .dropColumn('hostingDeletedAt')
40
+ .execute()
41
+ await db.schema
42
+ .alterTable('moderation_subject_status')
43
+ .dropColumn('hostingUpdatedAt')
44
+ .execute()
45
+ await db.schema
46
+ .alterTable('moderation_subject_status')
47
+ .dropColumn('hostingCreatedAt')
48
+ .execute()
49
+ await db.schema
50
+ .alterTable('moderation_subject_status')
51
+ .dropColumn('hostingDeactivatedAt')
52
+ .execute()
53
+ await db.schema
54
+ .alterTable('moderation_subject_status')
55
+ .dropColumn('hostingReactivatedAt')
56
+ .execute()
57
+ }
@@ -15,3 +15,5 @@ export * as _20240903T205730722Z from './20240903T205730722Z-add-template-lang'
15
15
  export * as _20240904T205730722Z from './20240904T205730722Z-add-subject-did-index'
16
16
  export * as _20241001T205730722Z from './20241001T205730722Z-subject-status-review-state-index'
17
17
  export * as _20241008T205730722Z from './20241008T205730722Z-sets'
18
+ export * as _20241018T205730722Z from './20241018T205730722Z-setting'
19
+ export * as _20241026T205730722Z from './20241026T205730722Z-add-hosting-status-to-subject-status'
@@ -9,6 +9,7 @@ import * as signingKey from './signing_key'
9
9
  import * as communicationTemplate from './communication_template'
10
10
  import * as set from './ozone_set'
11
11
  import * as member from './member'
12
+ import * as setting from './setting'
12
13
 
13
14
  export type DatabaseSchemaType = modEvent.PartialDB &
14
15
  modSubjectStatus.PartialDB &
@@ -19,7 +20,8 @@ export type DatabaseSchemaType = modEvent.PartialDB &
19
20
  blobPushEvent.PartialDB &
20
21
  communicationTemplate.PartialDB &
21
22
  set.PartialDB &
22
- member.PartialDB
23
+ member.PartialDB &
24
+ setting.PartialDB
23
25
 
24
26
  export type DatabaseSchema = Kysely<DatabaseSchemaType>
25
27
 
@@ -19,6 +19,9 @@ export interface ModerationEvent {
19
19
  | 'tools.ozone.moderation.defs#modEventEmail'
20
20
  | 'tools.ozone.moderation.defs#modEventResolveAppeal'
21
21
  | 'tools.ozone.moderation.defs#modEventTag'
22
+ | 'tools.ozone.moderation.defs#accountEvent'
23
+ | 'tools.ozone.moderation.defs#identityEvent'
24
+ | 'tools.ozone.moderation.defs#recordEvent'
22
25
  subjectType:
23
26
  | 'com.atproto.admin.defs#repoRef'
24
27
  | 'com.atproto.repo.strongRef'
@@ -25,6 +25,12 @@ export interface ModerationSubjectStatus {
25
25
  lastReviewedAt: string | null
26
26
  lastReportedAt: string | null
27
27
  lastAppealedAt: string | null
28
+ hostingUpdatedAt: string | null
29
+ hostingDeletedAt: string | null
30
+ hostingCreatedAt: string | null
31
+ hostingDeactivatedAt: string | null
32
+ hostingReactivatedAt: string | null
33
+ hostingStatus: string | null
28
34
  muteUntil: string | null
29
35
  muteReportingUntil: string | null
30
36
  suspendUntil: string | null
@@ -0,0 +1,24 @@
1
+ import { Generated, GeneratedAlways } from 'kysely'
2
+ import { Member } from './member'
3
+
4
+ export const settingTableName = 'setting'
5
+
6
+ export type SettingScope = 'personal' | 'instance'
7
+
8
+ export interface Setting {
9
+ id: GeneratedAlways<number>
10
+ key: string
11
+ value: Record<string, unknown>
12
+ managerRole: Member['role'] | null
13
+ description: string | null
14
+ did: string
15
+ scope: SettingScope
16
+ lastUpdatedBy: string
17
+ createdBy: string
18
+ createdAt: Generated<Date>
19
+ updatedAt: Generated<Date>
20
+ }
21
+
22
+ export type PartialDB = {
23
+ [settingTableName]: Setting
24
+ }
@@ -134,6 +134,7 @@ import * as AppBskyNotificationListNotifications from './types/app/bsky/notifica
134
134
  import * as AppBskyNotificationPutPreferences from './types/app/bsky/notification/putPreferences'
135
135
  import * as AppBskyNotificationRegisterPush from './types/app/bsky/notification/registerPush'
136
136
  import * as AppBskyNotificationUpdateSeen from './types/app/bsky/notification/updateSeen'
137
+ import * as AppBskyUnspeccedGetConfig from './types/app/bsky/unspecced/getConfig'
137
138
  import * as AppBskyUnspeccedGetPopularFeedGenerators from './types/app/bsky/unspecced/getPopularFeedGenerators'
138
139
  import * as AppBskyUnspeccedGetSuggestionsSkeleton from './types/app/bsky/unspecced/getSuggestionsSkeleton'
139
140
  import * as AppBskyUnspeccedGetTaggedSuggestions from './types/app/bsky/unspecced/getTaggedSuggestions'
@@ -179,6 +180,9 @@ import * as ToolsOzoneSetDeleteValues from './types/tools/ozone/set/deleteValues
179
180
  import * as ToolsOzoneSetGetValues from './types/tools/ozone/set/getValues'
180
181
  import * as ToolsOzoneSetQuerySets from './types/tools/ozone/set/querySets'
181
182
  import * as ToolsOzoneSetUpsertSet from './types/tools/ozone/set/upsertSet'
183
+ import * as ToolsOzoneSettingListOptions from './types/tools/ozone/setting/listOptions'
184
+ import * as ToolsOzoneSettingRemoveOptions from './types/tools/ozone/setting/removeOptions'
185
+ import * as ToolsOzoneSettingUpsertOption from './types/tools/ozone/setting/upsertOption'
182
186
  import * as ToolsOzoneSignatureFindCorrelation from './types/tools/ozone/signature/findCorrelation'
183
187
  import * as ToolsOzoneSignatureFindRelatedAccounts from './types/tools/ozone/signature/findRelatedAccounts'
184
188
  import * as ToolsOzoneSignatureSearchAccounts from './types/tools/ozone/signature/searchAccounts'
@@ -1823,6 +1827,17 @@ export class AppBskyUnspeccedNS {
1823
1827
  this._server = server
1824
1828
  }
1825
1829
 
1830
+ getConfig<AV extends AuthVerifier>(
1831
+ cfg: ConfigOf<
1832
+ AV,
1833
+ AppBskyUnspeccedGetConfig.Handler<ExtractAuth<AV>>,
1834
+ AppBskyUnspeccedGetConfig.HandlerReqCtx<ExtractAuth<AV>>
1835
+ >,
1836
+ ) {
1837
+ const nsid = 'app.bsky.unspecced.getConfig' // @ts-ignore
1838
+ return this._server.xrpc.method(nsid, cfg)
1839
+ }
1840
+
1826
1841
  getPopularFeedGenerators<AV extends AuthVerifier>(
1827
1842
  cfg: ConfigOf<
1828
1843
  AV,
@@ -2171,6 +2186,7 @@ export class ToolsOzoneNS {
2171
2186
  moderation: ToolsOzoneModerationNS
2172
2187
  server: ToolsOzoneServerNS
2173
2188
  set: ToolsOzoneSetNS
2189
+ setting: ToolsOzoneSettingNS
2174
2190
  signature: ToolsOzoneSignatureNS
2175
2191
  team: ToolsOzoneTeamNS
2176
2192
 
@@ -2180,6 +2196,7 @@ export class ToolsOzoneNS {
2180
2196
  this.moderation = new ToolsOzoneModerationNS(server)
2181
2197
  this.server = new ToolsOzoneServerNS(server)
2182
2198
  this.set = new ToolsOzoneSetNS(server)
2199
+ this.setting = new ToolsOzoneSettingNS(server)
2183
2200
  this.signature = new ToolsOzoneSignatureNS(server)
2184
2201
  this.team = new ToolsOzoneTeamNS(server)
2185
2202
  }
@@ -2437,6 +2454,47 @@ export class ToolsOzoneSetNS {
2437
2454
  }
2438
2455
  }
2439
2456
 
2457
+ export class ToolsOzoneSettingNS {
2458
+ _server: Server
2459
+
2460
+ constructor(server: Server) {
2461
+ this._server = server
2462
+ }
2463
+
2464
+ listOptions<AV extends AuthVerifier>(
2465
+ cfg: ConfigOf<
2466
+ AV,
2467
+ ToolsOzoneSettingListOptions.Handler<ExtractAuth<AV>>,
2468
+ ToolsOzoneSettingListOptions.HandlerReqCtx<ExtractAuth<AV>>
2469
+ >,
2470
+ ) {
2471
+ const nsid = 'tools.ozone.setting.listOptions' // @ts-ignore
2472
+ return this._server.xrpc.method(nsid, cfg)
2473
+ }
2474
+
2475
+ removeOptions<AV extends AuthVerifier>(
2476
+ cfg: ConfigOf<
2477
+ AV,
2478
+ ToolsOzoneSettingRemoveOptions.Handler<ExtractAuth<AV>>,
2479
+ ToolsOzoneSettingRemoveOptions.HandlerReqCtx<ExtractAuth<AV>>
2480
+ >,
2481
+ ) {
2482
+ const nsid = 'tools.ozone.setting.removeOptions' // @ts-ignore
2483
+ return this._server.xrpc.method(nsid, cfg)
2484
+ }
2485
+
2486
+ upsertOption<AV extends AuthVerifier>(
2487
+ cfg: ConfigOf<
2488
+ AV,
2489
+ ToolsOzoneSettingUpsertOption.Handler<ExtractAuth<AV>>,
2490
+ ToolsOzoneSettingUpsertOption.HandlerReqCtx<ExtractAuth<AV>>
2491
+ >,
2492
+ ) {
2493
+ const nsid = 'tools.ozone.setting.upsertOption' // @ts-ignore
2494
+ return this._server.xrpc.method(nsid, cfg)
2495
+ }
2496
+ }
2497
+
2440
2498
  export class ToolsOzoneSignatureNS {
2441
2499
  _server: Server
2442
2500