@atproto/bsky 0.0.15 → 0.0.17

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 (236) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/api/com/atproto/moderation/util.d.ts +4 -3
  3. package/dist/cache/read-through.d.ts +30 -0
  4. package/dist/config.d.ts +18 -0
  5. package/dist/context.d.ts +21 -6
  6. package/dist/daemon/config.d.ts +15 -0
  7. package/dist/daemon/context.d.ts +15 -0
  8. package/dist/daemon/index.d.ts +23 -0
  9. package/dist/daemon/logger.d.ts +3 -0
  10. package/dist/daemon/notifications.d.ts +18 -0
  11. package/dist/daemon/services.d.ts +11 -0
  12. package/dist/db/database-schema.d.ts +1 -2
  13. package/dist/db/index.js +41 -1
  14. package/dist/db/index.js.map +3 -3
  15. package/dist/db/migrations/20231003T202833377Z-create-moderation-subject-status.d.ts +3 -0
  16. package/dist/db/migrations/20231205T000257238Z-remove-did-cache.d.ts +3 -0
  17. package/dist/db/migrations/index.d.ts +2 -0
  18. package/dist/db/pagination.d.ts +2 -1
  19. package/dist/db/{periodic-moderation-action-reversal.d.ts → periodic-moderation-event-reversal.d.ts} +3 -5
  20. package/dist/db/tables/moderation.d.ts +24 -34
  21. package/dist/did-cache.d.ts +10 -7
  22. package/dist/feed-gen/types.d.ts +1 -1
  23. package/dist/index.d.ts +6 -1
  24. package/dist/index.js +4370 -2758
  25. package/dist/index.js.map +3 -3
  26. package/dist/indexer/context.d.ts +2 -0
  27. package/dist/indexer/index.d.ts +1 -0
  28. package/dist/lexicon/index.d.ts +23 -18
  29. package/dist/lexicon/lexicons.d.ts +561 -412
  30. package/dist/lexicon/types/app/bsky/feed/defs.d.ts +1 -7
  31. package/dist/lexicon/types/app/bsky/graph/defs.d.ts +1 -0
  32. package/dist/lexicon/types/com/atproto/admin/defs.d.ts +114 -48
  33. package/dist/lexicon/types/com/atproto/admin/{resolveModerationReports.d.ts → deleteAccount.d.ts} +2 -13
  34. package/dist/lexicon/types/com/atproto/admin/{takeModerationAction.d.ts → emitModerationEvent.d.ts} +5 -6
  35. package/dist/lexicon/types/com/atproto/admin/{getModerationAction.d.ts → getModerationEvent.d.ts} +1 -1
  36. package/dist/lexicon/types/com/atproto/admin/{getModerationActions.d.ts → queryModerationEvents.d.ts} +5 -1
  37. package/dist/lexicon/types/com/atproto/admin/{getModerationReports.d.ts → queryModerationStatuses.d.ts} +12 -6
  38. package/dist/lexicon/types/com/atproto/admin/sendEmail.d.ts +1 -0
  39. package/dist/lexicon/types/com/atproto/{admin/getModerationReport.d.ts → temp/importRepo.d.ts} +10 -7
  40. package/dist/lexicon/types/com/atproto/temp/pushBlob.d.ts +25 -0
  41. package/dist/lexicon/types/com/atproto/{admin/reverseModerationAction.d.ts → temp/transferAccount.d.ts} +11 -5
  42. package/dist/logger.d.ts +1 -0
  43. package/dist/migrate-moderation-data.d.ts +1 -0
  44. package/dist/redis.d.ts +10 -1
  45. package/dist/services/actor/index.d.ts +18 -4
  46. package/dist/services/actor/views.d.ts +6 -8
  47. package/dist/services/feed/index.d.ts +7 -4
  48. package/dist/services/feed/util.d.ts +9 -1
  49. package/dist/services/feed/views.d.ts +11 -21
  50. package/dist/services/graph/index.d.ts +5 -29
  51. package/dist/services/graph/types.d.ts +1 -0
  52. package/dist/services/index.d.ts +3 -7
  53. package/dist/services/label/index.d.ts +10 -4
  54. package/dist/services/moderation/index.d.ts +134 -72
  55. package/dist/services/moderation/pagination.d.ts +36 -0
  56. package/dist/services/moderation/status.d.ts +13 -0
  57. package/dist/services/moderation/types.d.ts +35 -0
  58. package/dist/services/moderation/views.d.ts +18 -14
  59. package/dist/services/types.d.ts +3 -0
  60. package/dist/services/util/notification.d.ts +5 -0
  61. package/dist/services/util/post.d.ts +6 -6
  62. package/dist/util/debug.d.ts +1 -1
  63. package/dist/util/retry.d.ts +1 -6
  64. package/package.json +11 -11
  65. package/src/api/app/bsky/feed/getActorFeeds.ts +2 -1
  66. package/src/api/app/bsky/feed/getActorLikes.ts +1 -3
  67. package/src/api/app/bsky/feed/getAuthorFeed.ts +1 -3
  68. package/src/api/app/bsky/feed/getFeed.ts +9 -9
  69. package/src/api/app/bsky/feed/getFeedGenerator.ts +3 -0
  70. package/src/api/app/bsky/feed/getFeedGenerators.ts +2 -1
  71. package/src/api/app/bsky/feed/getListFeed.ts +1 -3
  72. package/src/api/app/bsky/feed/getPostThread.ts +15 -54
  73. package/src/api/app/bsky/feed/getPosts.ts +21 -18
  74. package/src/api/app/bsky/feed/getSuggestedFeeds.ts +2 -1
  75. package/src/api/app/bsky/feed/getTimeline.ts +1 -3
  76. package/src/api/app/bsky/feed/searchPosts.ts +20 -17
  77. package/src/api/app/bsky/graph/getList.ts +6 -3
  78. package/src/api/app/bsky/graph/getListBlocks.ts +3 -2
  79. package/src/api/app/bsky/graph/getListMutes.ts +2 -1
  80. package/src/api/app/bsky/graph/getLists.ts +2 -1
  81. package/src/api/app/bsky/unspecced/getPopularFeedGenerators.ts +3 -1
  82. package/src/api/blob-resolver.ts +6 -11
  83. package/src/api/com/atproto/admin/emitModerationEvent.ts +220 -0
  84. package/src/api/com/atproto/admin/{getModerationActions.ts → getModerationEvent.ts} +5 -11
  85. package/src/api/com/atproto/admin/getRecord.ts +1 -0
  86. package/src/api/com/atproto/admin/{getModerationReports.ts → queryModerationEvents.ts} +13 -16
  87. package/src/api/com/atproto/admin/queryModerationStatuses.ts +55 -0
  88. package/src/api/com/atproto/moderation/createReport.ts +9 -7
  89. package/src/api/com/atproto/moderation/util.ts +38 -20
  90. package/src/api/index.ts +8 -14
  91. package/src/auth.ts +29 -21
  92. package/src/auto-moderator/index.ts +26 -19
  93. package/src/cache/read-through.ts +151 -0
  94. package/src/config.ts +90 -1
  95. package/src/context.ts +11 -7
  96. package/src/daemon/config.ts +60 -0
  97. package/src/daemon/context.ts +27 -0
  98. package/src/daemon/index.ts +78 -0
  99. package/src/daemon/logger.ts +6 -0
  100. package/src/daemon/notifications.ts +54 -0
  101. package/src/daemon/services.ts +22 -0
  102. package/src/db/database-schema.ts +0 -2
  103. package/src/db/migrations/20231003T202833377Z-create-moderation-subject-status.ts +123 -0
  104. package/src/db/migrations/20231205T000257238Z-remove-did-cache.ts +14 -0
  105. package/src/db/migrations/index.ts +2 -0
  106. package/src/db/pagination.ts +26 -3
  107. package/src/db/{periodic-moderation-action-reversal.ts → periodic-moderation-event-reversal.ts} +50 -46
  108. package/src/db/tables/moderation.ts +35 -52
  109. package/src/did-cache.ts +33 -56
  110. package/src/feed-gen/bsky-team.ts +1 -1
  111. package/src/feed-gen/hot-classic.ts +1 -1
  112. package/src/feed-gen/index.ts +0 -4
  113. package/src/feed-gen/mutuals.ts +6 -2
  114. package/src/feed-gen/types.ts +1 -1
  115. package/src/index.ts +57 -17
  116. package/src/indexer/context.ts +5 -0
  117. package/src/indexer/index.ts +10 -7
  118. package/src/lexicon/index.ts +80 -67
  119. package/src/lexicon/lexicons.ts +698 -507
  120. package/src/lexicon/types/app/bsky/feed/defs.ts +1 -18
  121. package/src/lexicon/types/app/bsky/graph/defs.ts +1 -0
  122. package/src/lexicon/types/com/atproto/admin/defs.ts +276 -84
  123. package/src/lexicon/types/com/atproto/admin/{resolveModerationReports.ts → deleteAccount.ts} +2 -13
  124. package/src/lexicon/types/com/atproto/admin/{takeModerationAction.ts → emitModerationEvent.ts} +13 -11
  125. package/src/lexicon/types/com/atproto/admin/{getModerationReport.ts → getModerationEvent.ts} +1 -1
  126. package/src/lexicon/types/com/atproto/admin/{getModerationActions.ts → queryModerationEvents.ts} +8 -1
  127. package/src/lexicon/types/com/atproto/admin/{getModerationReports.ts → queryModerationStatuses.ts} +21 -14
  128. package/src/lexicon/types/com/atproto/admin/sendEmail.ts +1 -0
  129. package/src/lexicon/types/com/atproto/{admin/getModerationAction.ts → temp/importRepo.ts} +11 -7
  130. package/src/lexicon/types/com/atproto/temp/pushBlob.ts +39 -0
  131. package/src/lexicon/types/com/atproto/{admin/reverseModerationAction.ts → temp/transferAccount.ts} +18 -5
  132. package/src/logger.ts +2 -0
  133. package/src/migrate-moderation-data.ts +414 -0
  134. package/src/redis.ts +43 -3
  135. package/src/services/actor/index.ts +55 -7
  136. package/src/services/actor/views.ts +18 -21
  137. package/src/services/feed/index.ts +52 -19
  138. package/src/services/feed/util.ts +47 -19
  139. package/src/services/feed/views.ts +87 -13
  140. package/src/services/graph/index.ts +21 -3
  141. package/src/services/graph/types.ts +1 -0
  142. package/src/services/index.ts +14 -14
  143. package/src/services/indexing/index.ts +7 -10
  144. package/src/services/indexing/plugins/block.ts +2 -3
  145. package/src/services/indexing/plugins/feed-generator.ts +2 -3
  146. package/src/services/indexing/plugins/follow.ts +2 -3
  147. package/src/services/indexing/plugins/like.ts +2 -3
  148. package/src/services/indexing/plugins/list-block.ts +2 -3
  149. package/src/services/indexing/plugins/list-item.ts +2 -3
  150. package/src/services/indexing/plugins/list.ts +2 -3
  151. package/src/services/indexing/plugins/post.ts +16 -4
  152. package/src/services/indexing/plugins/repost.ts +2 -3
  153. package/src/services/indexing/plugins/thread-gate.ts +2 -3
  154. package/src/services/label/index.ts +68 -25
  155. package/src/services/moderation/index.ts +380 -395
  156. package/src/services/moderation/pagination.ts +96 -0
  157. package/src/services/moderation/status.ts +241 -0
  158. package/src/services/moderation/types.ts +49 -0
  159. package/src/services/moderation/views.ts +278 -329
  160. package/src/services/types.ts +4 -0
  161. package/src/services/util/notification.ts +70 -0
  162. package/src/util/debug.ts +2 -2
  163. package/src/util/retry.ts +1 -44
  164. package/tests/__snapshots__/feed-generation.test.ts.snap +322 -6
  165. package/tests/__snapshots__/indexing.test.ts.snap +0 -6
  166. package/tests/admin/__snapshots__/get-record.test.ts.snap +30 -132
  167. package/tests/admin/__snapshots__/get-repo.test.ts.snap +14 -60
  168. package/tests/admin/__snapshots__/moderation-events.test.ts.snap +146 -0
  169. package/tests/admin/__snapshots__/moderation-statuses.test.ts.snap +64 -0
  170. package/tests/admin/__snapshots__/moderation.test.ts.snap +0 -125
  171. package/tests/admin/get-record.test.ts +5 -9
  172. package/tests/admin/get-repo.test.ts +10 -12
  173. package/tests/admin/moderation-events.test.ts +221 -0
  174. package/tests/admin/moderation-statuses.test.ts +145 -0
  175. package/tests/admin/moderation.test.ts +512 -860
  176. package/tests/admin/repo-search.test.ts +3 -3
  177. package/tests/algos/hot-classic.test.ts +1 -2
  178. package/tests/auth.test.ts +1 -1
  179. package/tests/auto-moderator/fuzzy-matcher.test.ts +2 -1
  180. package/tests/auto-moderator/labeler.test.ts +19 -20
  181. package/tests/auto-moderator/takedowns.test.ts +61 -28
  182. package/tests/blob-resolver.test.ts +4 -2
  183. package/tests/daemon.test.ts +191 -0
  184. package/tests/did-cache.test.ts +20 -5
  185. package/tests/feed-generation.test.ts +57 -9
  186. package/tests/handle-invalidation.test.ts +1 -5
  187. package/tests/indexing.test.ts +20 -13
  188. package/tests/redis-cache.test.ts +231 -0
  189. package/tests/seeds/basic.ts +3 -0
  190. package/tests/subscription/repo.test.ts +4 -7
  191. package/tests/views/__snapshots__/block-lists.test.ts.snap +3 -9
  192. package/tests/views/__snapshots__/blocks.test.ts.snap +0 -9
  193. package/tests/views/__snapshots__/mute-lists.test.ts.snap +5 -5
  194. package/tests/views/__snapshots__/mutes.test.ts.snap +0 -3
  195. package/tests/views/__snapshots__/thread.test.ts.snap +0 -30
  196. package/tests/views/actor-search.test.ts +2 -3
  197. package/tests/views/author-feed.test.ts +42 -36
  198. package/tests/views/follows.test.ts +40 -35
  199. package/tests/views/list-feed.test.ts +17 -9
  200. package/tests/views/notifications.test.ts +13 -9
  201. package/tests/views/profile.test.ts +20 -19
  202. package/tests/views/thread.test.ts +117 -94
  203. package/tests/views/threadgating.test.ts +89 -19
  204. package/tests/views/timeline.test.ts +21 -13
  205. package/dist/api/com/atproto/admin/resolveModerationReports.d.ts +0 -3
  206. package/dist/api/com/atproto/admin/reverseModerationAction.d.ts +0 -3
  207. package/dist/api/com/atproto/admin/takeModerationAction.d.ts +0 -3
  208. package/dist/db/tables/did-cache.d.ts +0 -10
  209. package/dist/feed-gen/best-of-follows.d.ts +0 -29
  210. package/dist/feed-gen/whats-hot.d.ts +0 -29
  211. package/dist/feed-gen/with-friends.d.ts +0 -3
  212. package/dist/label-cache.d.ts +0 -19
  213. package/src/api/com/atproto/admin/getModerationAction.ts +0 -44
  214. package/src/api/com/atproto/admin/getModerationReport.ts +0 -43
  215. package/src/api/com/atproto/admin/resolveModerationReports.ts +0 -24
  216. package/src/api/com/atproto/admin/reverseModerationAction.ts +0 -115
  217. package/src/api/com/atproto/admin/takeModerationAction.ts +0 -156
  218. package/src/db/tables/did-cache.ts +0 -13
  219. package/src/feed-gen/best-of-follows.ts +0 -74
  220. package/src/feed-gen/whats-hot.ts +0 -101
  221. package/src/feed-gen/with-friends.ts +0 -39
  222. package/src/label-cache.ts +0 -90
  223. package/tests/admin/__snapshots__/get-moderation-action.test.ts.snap +0 -172
  224. package/tests/admin/__snapshots__/get-moderation-actions.test.ts.snap +0 -178
  225. package/tests/admin/__snapshots__/get-moderation-report.test.ts.snap +0 -177
  226. package/tests/admin/__snapshots__/get-moderation-reports.test.ts.snap +0 -307
  227. package/tests/admin/get-moderation-action.test.ts +0 -100
  228. package/tests/admin/get-moderation-actions.test.ts +0 -164
  229. package/tests/admin/get-moderation-report.test.ts +0 -100
  230. package/tests/admin/get-moderation-reports.test.ts +0 -332
  231. package/tests/algos/whats-hot.test.ts +0 -118
  232. package/tests/algos/with-friends.test.ts +0 -145
  233. /package/dist/api/com/atproto/admin/{getModerationAction.d.ts → emitModerationEvent.d.ts} +0 -0
  234. /package/dist/api/com/atproto/admin/{getModerationActions.d.ts → getModerationEvent.d.ts} +0 -0
  235. /package/dist/api/com/atproto/admin/{getModerationReport.d.ts → queryModerationEvents.d.ts} +0 -0
  236. /package/dist/api/com/atproto/admin/{getModerationReports.d.ts → queryModerationStatuses.d.ts} +0 -0
@@ -0,0 +1,3 @@
1
+ import { Kysely } from 'kysely';
2
+ export declare function up(db: Kysely<unknown>): Promise<void>;
3
+ export declare function down(db: Kysely<unknown>): Promise<void>;
@@ -0,0 +1,3 @@
1
+ import { Kysely } from 'kysely';
2
+ export declare function up(db: Kysely<unknown>): Promise<void>;
3
+ export declare function down(db: Kysely<unknown>): Promise<void>;
@@ -26,3 +26,5 @@ export * as _20230904T211011773Z from './20230904T211011773Z-block-lists';
26
26
  export * as _20230906T222220386Z from './20230906T222220386Z-thread-gating';
27
27
  export * as _20230920T213858047Z from './20230920T213858047Z-add-tags-to-post';
28
28
  export * as _20230929T192920807Z from './20230929T192920807Z-record-cursor-indexes';
29
+ export * as _20231003T202833377Z from './20231003T202833377Z-create-moderation-subject-status';
30
+ export * as _20231205T000257238Z from './20231205T000257238Z-remove-did-cache';
@@ -40,8 +40,9 @@ export declare class TimeCidKeyset<TimeCidResult = SortAtCidResult> extends Gene
40
40
  export declare const paginate: <QB extends AnyQb, K extends GenericKeyset<unknown, any>>(qb: QB, opts: {
41
41
  limit?: number | undefined;
42
42
  cursor?: string | undefined;
43
- direction?: "asc" | "desc" | undefined;
43
+ direction?: "desc" | "asc" | undefined;
44
44
  keyset: K;
45
45
  tryIndex?: boolean | undefined;
46
+ nullsLast?: boolean | undefined;
46
47
  }) => QB;
47
48
  export {};
@@ -1,17 +1,15 @@
1
1
  import { Leader } from './leader';
2
2
  import AppContext from '../context';
3
+ import { ModerationSubjectStatusRow } from '../services/moderation/types';
3
4
  import AtpAgent from '@atproto/api';
4
- import { LabelService } from '../services/label';
5
- import { ModerationActionRow } from '../services/moderation';
6
5
  export declare const MODERATION_ACTION_REVERSAL_ID = 1011;
7
- export declare class PeriodicModerationActionReversal {
6
+ export declare class PeriodicModerationEventReversal {
8
7
  private appContext;
9
8
  leader: Leader;
10
9
  destroyed: boolean;
11
10
  pushAgent?: AtpAgent;
12
11
  constructor(appContext: AppContext);
13
- reverseLabels(labelTxn: LabelService, actionRow: ModerationActionRow): Promise<void>;
14
- revertAction(actionRow: ModerationActionRow): Promise<void>;
12
+ revertState(eventRow: ModerationSubjectStatusRow): Promise<void>;
15
13
  findAndRevertDueActions(): Promise<void>;
16
14
  run(): Promise<void>;
17
15
  destroy(): void;
@@ -1,52 +1,42 @@
1
1
  import { Generated } from 'kysely';
2
- import { ACKNOWLEDGE, FLAG, TAKEDOWN, ESCALATE } from '../../lexicon/types/com/atproto/admin/defs';
3
- import { REASONOTHER, REASONSPAM, REASONMISLEADING, REASONRUDE, REASONSEXUAL, REASONVIOLATION } from '../../lexicon/types/com/atproto/moderation/defs';
4
- export declare const actionTableName = "moderation_action";
5
- export declare const actionSubjectBlobTableName = "moderation_action_subject_blob";
6
- export declare const reportTableName = "moderation_report";
7
- export declare const reportResolutionTableName = "moderation_report_resolution";
8
- export interface ModerationAction {
2
+ import { REVIEWCLOSED, REVIEWOPEN, REVIEWESCALATED } from '../../lexicon/types/com/atproto/admin/defs';
3
+ export declare const eventTableName = "moderation_event";
4
+ export declare const subjectStatusTableName = "moderation_subject_status";
5
+ export interface ModerationEvent {
9
6
  id: Generated<number>;
10
- action: typeof TAKEDOWN | typeof FLAG | typeof ACKNOWLEDGE | typeof ESCALATE;
7
+ action: 'com.atproto.admin.defs#modEventTakedown' | 'com.atproto.admin.defs#modEventAcknowledge' | 'com.atproto.admin.defs#modEventEscalate' | 'com.atproto.admin.defs#modEventComment' | 'com.atproto.admin.defs#modEventLabel' | 'com.atproto.admin.defs#modEventReport' | 'com.atproto.admin.defs#modEventMute' | 'com.atproto.admin.defs#modEventReverseTakedown' | 'com.atproto.admin.defs#modEventEmail';
11
8
  subjectType: 'com.atproto.admin.defs#repoRef' | 'com.atproto.repo.strongRef';
12
9
  subjectDid: string;
13
10
  subjectUri: string | null;
14
11
  subjectCid: string | null;
15
12
  createLabelVals: string | null;
16
13
  negateLabelVals: string | null;
17
- reason: string;
14
+ comment: string | null;
18
15
  createdAt: string;
19
16
  createdBy: string;
20
- reversedAt: string | null;
21
- reversedBy: string | null;
22
- reversedReason: string | null;
23
17
  durationInHours: number | null;
24
18
  expiresAt: string | null;
19
+ meta: Record<string, string | boolean> | null;
20
+ legacyRefId: number | null;
25
21
  }
26
- export interface ModerationActionSubjectBlob {
27
- actionId: number;
28
- cid: string;
29
- }
30
- export interface ModerationReport {
22
+ export interface ModerationSubjectStatus {
31
23
  id: Generated<number>;
32
- subjectType: 'com.atproto.admin.defs#repoRef' | 'com.atproto.repo.strongRef';
33
- subjectDid: string;
34
- subjectUri: string | null;
35
- subjectCid: string | null;
36
- reasonType: typeof REASONSPAM | typeof REASONOTHER | typeof REASONMISLEADING | typeof REASONRUDE | typeof REASONSEXUAL | typeof REASONVIOLATION;
37
- reason: string | null;
38
- reportedByDid: string;
39
- createdAt: string;
40
- }
41
- export interface ModerationReportResolution {
42
- reportId: number;
43
- actionId: number;
24
+ did: string;
25
+ recordPath: string;
26
+ recordCid: string | null;
27
+ blobCids: string[] | null;
28
+ reviewState: typeof REVIEWCLOSED | typeof REVIEWOPEN | typeof REVIEWESCALATED;
44
29
  createdAt: string;
45
- createdBy: string;
30
+ updatedAt: string;
31
+ lastReviewedBy: string | null;
32
+ lastReviewedAt: string | null;
33
+ lastReportedAt: string | null;
34
+ muteUntil: string | null;
35
+ suspendUntil: string | null;
36
+ takendown: boolean;
37
+ comment: string | null;
46
38
  }
47
39
  export declare type PartialDB = {
48
- [actionTableName]: ModerationAction;
49
- [actionSubjectBlobTableName]: ModerationActionSubjectBlob;
50
- [reportTableName]: ModerationReport;
51
- [reportResolutionTableName]: ModerationReportResolution;
40
+ [eventTableName]: ModerationEvent;
41
+ [subjectStatusTableName]: ModerationSubjectStatus;
52
42
  };
@@ -1,18 +1,21 @@
1
1
  import PQueue from 'p-queue';
2
2
  import { CacheResult, DidCache, DidDocument } from '@atproto/identity';
3
- import { PrimaryDatabase } from './db';
4
- export declare class DidSqlCache implements DidCache {
5
- db: PrimaryDatabase;
3
+ import { Redis } from './redis';
4
+ declare type CacheOptions = {
6
5
  staleTTL: number;
7
6
  maxTTL: number;
7
+ };
8
+ export declare class DidRedisCache implements DidCache {
9
+ redis: Redis;
10
+ opts: CacheOptions;
8
11
  pQueue: PQueue | null;
9
- constructor(db: PrimaryDatabase, staleTTL: number, maxTTL: number);
10
- cacheDid(did: string, doc: DidDocument, prevResult?: CacheResult): Promise<void>;
11
- refreshCache(did: string, getDoc: () => Promise<DidDocument | null>, prevResult?: CacheResult): Promise<void>;
12
+ constructor(redis: Redis, opts: CacheOptions);
13
+ cacheDid(did: string, doc: DidDocument): Promise<void>;
14
+ refreshCache(did: string, getDoc: () => Promise<DidDocument | null>): Promise<void>;
12
15
  checkCache(did: string): Promise<CacheResult | null>;
13
16
  clearEntry(did: string): Promise<void>;
14
17
  clear(): Promise<void>;
15
18
  processAll(): Promise<void>;
16
19
  destroy(): Promise<void>;
17
20
  }
18
- export default DidSqlCache;
21
+ export default DidRedisCache;
@@ -6,7 +6,7 @@ export declare type AlgoResponse = {
6
6
  feedItems: FeedRow[];
7
7
  cursor?: string;
8
8
  };
9
- export declare type AlgoHandler = (ctx: AppContext, params: SkeletonParams, requester: string) => Promise<AlgoResponse>;
9
+ export declare type AlgoHandler = (ctx: AppContext, params: SkeletonParams, viewer: string | null) => Promise<AlgoResponse>;
10
10
  export declare type MountedAlgos = Record<string, AlgoHandler>;
11
11
  export declare const toSkeletonItem: (feedItem: {
12
12
  uri: string;
package/dist/index.d.ts CHANGED
@@ -7,17 +7,20 @@ import AppContext from './context';
7
7
  import { ImageInvalidator } from './image/invalidator';
8
8
  import { MountedAlgos } from './feed-gen/types';
9
9
  import { Keypair } from '@atproto/crypto';
10
+ import { Redis } from './redis';
10
11
  export type { ServerConfigValues } from './config';
11
12
  export type { MountedAlgos } from './feed-gen/types';
12
13
  export { ServerConfig } from './config';
13
14
  export { Database, PrimaryDatabase, DatabaseCoordinator } from './db';
14
- export { PeriodicModerationActionReversal } from './db/periodic-moderation-action-reversal';
15
+ export { PeriodicModerationEventReversal } from './db/periodic-moderation-event-reversal';
15
16
  export { Redis } from './redis';
16
17
  export { ViewMaintainer } from './db/views';
17
18
  export { AppContext } from './context';
18
19
  export { makeAlgos } from './feed-gen';
20
+ export * from './daemon';
19
21
  export * from './indexer';
20
22
  export * from './ingester';
23
+ export { MigrateModerationData } from './migrate-moderation-data';
21
24
  export declare class BskyAppView {
22
25
  ctx: AppContext;
23
26
  app: express.Application;
@@ -30,6 +33,7 @@ export declare class BskyAppView {
30
33
  });
31
34
  static create(opts: {
32
35
  db: DatabaseCoordinator;
36
+ redis: Redis;
33
37
  config: ServerConfig;
34
38
  signingKey: Keypair;
35
39
  imgInvalidator?: ImageInvalidator;
@@ -38,6 +42,7 @@ export declare class BskyAppView {
38
42
  start(): Promise<http.Server>;
39
43
  destroy(opts?: {
40
44
  skipDb: boolean;
45
+ skipRedis: boolean;
41
46
  }): Promise<void>;
42
47
  }
43
48
  export default BskyAppView;