@atproto/ozone 0.1.174 → 0.1.175
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 +23 -0
- package/bin/migration-create.ts +1 -1
- package/dist/api/chat/getActorMetadata.d.ts +2 -2
- package/dist/api/chat/getActorMetadata.d.ts.map +1 -1
- package/dist/api/chat/getActorMetadata.js +5 -8
- package/dist/api/chat/getActorMetadata.js.map +1 -1
- package/dist/api/chat/getMessageContext.d.ts +2 -2
- package/dist/api/chat/getMessageContext.d.ts.map +1 -1
- package/dist/api/chat/getMessageContext.js +6 -9
- package/dist/api/chat/getMessageContext.js.map +1 -1
- package/dist/api/chat/index.d.ts +2 -2
- package/dist/api/chat/index.d.ts.map +1 -1
- package/dist/api/chat/index.js +5 -11
- package/dist/api/chat/index.js.map +1 -1
- package/dist/api/communication/createTemplate.d.ts +2 -2
- package/dist/api/communication/createTemplate.d.ts.map +1 -1
- package/dist/api/communication/createTemplate.js +7 -10
- package/dist/api/communication/createTemplate.js.map +1 -1
- package/dist/api/communication/deleteTemplate.d.ts +2 -2
- package/dist/api/communication/deleteTemplate.d.ts.map +1 -1
- package/dist/api/communication/deleteTemplate.js +3 -6
- package/dist/api/communication/deleteTemplate.js.map +1 -1
- package/dist/api/communication/listTemplates.d.ts +2 -2
- package/dist/api/communication/listTemplates.d.ts.map +1 -1
- package/dist/api/communication/listTemplates.js +3 -6
- package/dist/api/communication/listTemplates.js.map +1 -1
- package/dist/api/communication/updateTemplate.d.ts +2 -2
- package/dist/api/communication/updateTemplate.d.ts.map +1 -1
- package/dist/api/communication/updateTemplate.js +8 -11
- package/dist/api/communication/updateTemplate.js.map +1 -1
- package/dist/api/health.d.ts +1 -1
- package/dist/api/health.d.ts.map +1 -1
- package/dist/api/health.js +5 -9
- package/dist/api/health.js.map +1 -1
- package/dist/api/index.d.ts +4 -4
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +137 -177
- package/dist/api/index.js.map +1 -1
- package/dist/api/label/fetchLabels.d.ts +2 -2
- package/dist/api/label/fetchLabels.d.ts.map +1 -1
- package/dist/api/label/fetchLabels.js +1 -4
- package/dist/api/label/fetchLabels.js.map +1 -1
- package/dist/api/label/queryLabels.d.ts +2 -2
- package/dist/api/label/queryLabels.d.ts.map +1 -1
- package/dist/api/label/queryLabels.js +6 -9
- package/dist/api/label/queryLabels.js.map +1 -1
- package/dist/api/label/subscribeLabels.d.ts +2 -2
- package/dist/api/label/subscribeLabels.d.ts.map +1 -1
- package/dist/api/label/subscribeLabels.js +5 -8
- package/dist/api/label/subscribeLabels.js.map +1 -1
- package/dist/api/moderation/cancelScheduledActions.d.ts +2 -2
- package/dist/api/moderation/cancelScheduledActions.d.ts.map +1 -1
- package/dist/api/moderation/cancelScheduledActions.js +8 -11
- package/dist/api/moderation/cancelScheduledActions.js.map +1 -1
- package/dist/api/moderation/emitEvent.d.ts +2 -2
- package/dist/api/moderation/emitEvent.d.ts.map +1 -1
- package/dist/api/moderation/emitEvent.js +62 -66
- package/dist/api/moderation/emitEvent.js.map +1 -1
- package/dist/api/moderation/getAccountTimeline.d.ts +2 -2
- package/dist/api/moderation/getAccountTimeline.d.ts.map +1 -1
- package/dist/api/moderation/getAccountTimeline.js +10 -15
- package/dist/api/moderation/getAccountTimeline.js.map +1 -1
- package/dist/api/moderation/getEvent.d.ts +2 -2
- package/dist/api/moderation/getEvent.d.ts.map +1 -1
- package/dist/api/moderation/getEvent.js +1 -4
- package/dist/api/moderation/getEvent.js.map +1 -1
- package/dist/api/moderation/getRecord.d.ts +2 -2
- package/dist/api/moderation/getRecord.d.ts.map +1 -1
- package/dist/api/moderation/getRecord.js +7 -10
- package/dist/api/moderation/getRecord.js.map +1 -1
- package/dist/api/moderation/getRecords.d.ts +2 -2
- package/dist/api/moderation/getRecords.d.ts.map +1 -1
- package/dist/api/moderation/getRecords.js +5 -8
- package/dist/api/moderation/getRecords.js.map +1 -1
- package/dist/api/moderation/getRepo.d.ts +2 -2
- package/dist/api/moderation/getRepo.d.ts.map +1 -1
- package/dist/api/moderation/getRepo.js +6 -9
- package/dist/api/moderation/getRepo.js.map +1 -1
- package/dist/api/moderation/getReporterStats.d.ts +2 -2
- package/dist/api/moderation/getReporterStats.d.ts.map +1 -1
- package/dist/api/moderation/getReporterStats.js +1 -4
- package/dist/api/moderation/getReporterStats.js.map +1 -1
- package/dist/api/moderation/getRepos.d.ts +2 -2
- package/dist/api/moderation/getRepos.d.ts.map +1 -1
- package/dist/api/moderation/getRepos.js +4 -7
- package/dist/api/moderation/getRepos.js.map +1 -1
- package/dist/api/moderation/getSubjects.d.ts +2 -2
- package/dist/api/moderation/getSubjects.d.ts.map +1 -1
- package/dist/api/moderation/getSubjects.js +7 -10
- package/dist/api/moderation/getSubjects.js.map +1 -1
- package/dist/api/moderation/listScheduledActions.d.ts +2 -2
- package/dist/api/moderation/listScheduledActions.d.ts.map +1 -1
- package/dist/api/moderation/listScheduledActions.js +3 -6
- package/dist/api/moderation/listScheduledActions.js.map +1 -1
- package/dist/api/moderation/queryEvents.d.ts +2 -2
- package/dist/api/moderation/queryEvents.d.ts.map +1 -1
- package/dist/api/moderation/queryEvents.js +3 -6
- package/dist/api/moderation/queryEvents.js.map +1 -1
- package/dist/api/moderation/queryStatuses.d.ts +2 -2
- package/dist/api/moderation/queryStatuses.d.ts.map +1 -1
- package/dist/api/moderation/queryStatuses.js +1 -4
- package/dist/api/moderation/queryStatuses.js.map +1 -1
- package/dist/api/moderation/scheduleAction.d.ts +2 -2
- package/dist/api/moderation/scheduleAction.d.ts.map +1 -1
- package/dist/api/moderation/scheduleAction.js +15 -18
- package/dist/api/moderation/scheduleAction.js.map +1 -1
- package/dist/api/moderation/searchRepos.d.ts +2 -2
- package/dist/api/moderation/searchRepos.d.ts.map +1 -1
- package/dist/api/moderation/searchRepos.js +5 -8
- package/dist/api/moderation/searchRepos.js.map +1 -1
- package/dist/api/moderation/util.d.ts +2 -2
- package/dist/api/moderation/util.d.ts.map +1 -1
- package/dist/api/moderation/util.js +10 -15
- package/dist/api/moderation/util.js.map +1 -1
- package/dist/api/proxied.d.ts +2 -2
- package/dist/api/proxied.d.ts.map +1 -1
- package/dist/api/proxied.js +24 -27
- package/dist/api/proxied.js.map +1 -1
- package/dist/api/queue/assignModerator.d.ts +2 -2
- package/dist/api/queue/assignModerator.d.ts.map +1 -1
- package/dist/api/queue/assignModerator.js +6 -9
- package/dist/api/queue/assignModerator.js.map +1 -1
- package/dist/api/queue/createQueue.d.ts +2 -2
- package/dist/api/queue/createQueue.d.ts.map +1 -1
- package/dist/api/queue/createQueue.js +5 -8
- package/dist/api/queue/createQueue.js.map +1 -1
- package/dist/api/queue/deleteQueue.d.ts +2 -2
- package/dist/api/queue/deleteQueue.d.ts.map +1 -1
- package/dist/api/queue/deleteQueue.js +5 -8
- package/dist/api/queue/deleteQueue.js.map +1 -1
- package/dist/api/queue/getAssignments.d.ts +2 -2
- package/dist/api/queue/getAssignments.d.ts.map +1 -1
- package/dist/api/queue/getAssignments.js +1 -4
- package/dist/api/queue/getAssignments.js.map +1 -1
- package/dist/api/queue/listQueues.d.ts +2 -2
- package/dist/api/queue/listQueues.d.ts.map +1 -1
- package/dist/api/queue/listQueues.js +1 -4
- package/dist/api/queue/listQueues.js.map +1 -1
- package/dist/api/queue/routeReports.d.ts +2 -2
- package/dist/api/queue/routeReports.d.ts.map +1 -1
- package/dist/api/queue/routeReports.js +5 -8
- package/dist/api/queue/routeReports.js.map +1 -1
- package/dist/api/queue/unassignModerator.d.ts +2 -2
- package/dist/api/queue/unassignModerator.d.ts.map +1 -1
- package/dist/api/queue/unassignModerator.js +6 -9
- package/dist/api/queue/unassignModerator.js.map +1 -1
- package/dist/api/queue/updateQueue.d.ts +2 -2
- package/dist/api/queue/updateQueue.d.ts.map +1 -1
- package/dist/api/queue/updateQueue.js +5 -8
- package/dist/api/queue/updateQueue.js.map +1 -1
- package/dist/api/report/assignModerator.d.ts +2 -2
- package/dist/api/report/assignModerator.d.ts.map +1 -1
- package/dist/api/report/assignModerator.js +6 -9
- package/dist/api/report/assignModerator.js.map +1 -1
- package/dist/api/report/createActivity.d.ts +2 -2
- package/dist/api/report/createActivity.d.ts.map +1 -1
- package/dist/api/report/createActivity.js +8 -11
- package/dist/api/report/createActivity.js.map +1 -1
- package/dist/api/report/createReport.d.ts +2 -2
- package/dist/api/report/createReport.d.ts.map +1 -1
- package/dist/api/report/createReport.js +14 -17
- package/dist/api/report/createReport.js.map +1 -1
- package/dist/api/report/getAssignments.d.ts +2 -2
- package/dist/api/report/getAssignments.d.ts.map +1 -1
- package/dist/api/report/getAssignments.js +1 -4
- package/dist/api/report/getAssignments.js.map +1 -1
- package/dist/api/report/getHistoricalStats.d.ts +2 -2
- package/dist/api/report/getHistoricalStats.d.ts.map +1 -1
- package/dist/api/report/getHistoricalStats.js +3 -6
- package/dist/api/report/getHistoricalStats.js.map +1 -1
- package/dist/api/report/getLatestReport.d.ts +2 -2
- package/dist/api/report/getLatestReport.d.ts.map +1 -1
- package/dist/api/report/getLatestReport.js +9 -12
- package/dist/api/report/getLatestReport.js.map +1 -1
- package/dist/api/report/getLiveStats.d.ts +2 -2
- package/dist/api/report/getLiveStats.d.ts.map +1 -1
- package/dist/api/report/getLiveStats.js +3 -6
- package/dist/api/report/getLiveStats.js.map +1 -1
- package/dist/api/report/getReport.d.ts +2 -2
- package/dist/api/report/getReport.d.ts.map +1 -1
- package/dist/api/report/getReport.js +9 -12
- package/dist/api/report/getReport.js.map +1 -1
- package/dist/api/report/listActivities.d.ts +2 -2
- package/dist/api/report/listActivities.d.ts.map +1 -1
- package/dist/api/report/listActivities.js +4 -7
- package/dist/api/report/listActivities.js.map +1 -1
- package/dist/api/report/queryReports.d.ts +2 -2
- package/dist/api/report/queryReports.d.ts.map +1 -1
- package/dist/api/report/queryReports.js +7 -10
- package/dist/api/report/queryReports.js.map +1 -1
- package/dist/api/report/reassignQueue.d.ts +2 -2
- package/dist/api/report/reassignQueue.d.ts.map +1 -1
- package/dist/api/report/reassignQueue.js +12 -15
- package/dist/api/report/reassignQueue.js.map +1 -1
- package/dist/api/report/refreshStats.d.ts +2 -2
- package/dist/api/report/refreshStats.d.ts.map +1 -1
- package/dist/api/report/refreshStats.js +1 -4
- package/dist/api/report/refreshStats.js.map +1 -1
- package/dist/api/report/unassignModerator.d.ts +2 -2
- package/dist/api/report/unassignModerator.d.ts.map +1 -1
- package/dist/api/report/unassignModerator.js +3 -6
- package/dist/api/report/unassignModerator.js.map +1 -1
- package/dist/api/safelink/addRule.d.ts +2 -2
- package/dist/api/safelink/addRule.d.ts.map +1 -1
- package/dist/api/safelink/addRule.js +8 -11
- package/dist/api/safelink/addRule.js.map +1 -1
- package/dist/api/safelink/queryEvents.d.ts +2 -2
- package/dist/api/safelink/queryEvents.d.ts.map +1 -1
- package/dist/api/safelink/queryEvents.js +3 -6
- package/dist/api/safelink/queryEvents.js.map +1 -1
- package/dist/api/safelink/queryRules.d.ts +2 -2
- package/dist/api/safelink/queryRules.d.ts.map +1 -1
- package/dist/api/safelink/queryRules.js +5 -8
- package/dist/api/safelink/queryRules.js.map +1 -1
- package/dist/api/safelink/removeRule.d.ts +2 -2
- package/dist/api/safelink/removeRule.d.ts.map +1 -1
- package/dist/api/safelink/removeRule.js +6 -9
- package/dist/api/safelink/removeRule.js.map +1 -1
- package/dist/api/safelink/updateRule.d.ts +2 -2
- package/dist/api/safelink/updateRule.d.ts.map +1 -1
- package/dist/api/safelink/updateRule.js +8 -11
- package/dist/api/safelink/updateRule.js.map +1 -1
- package/dist/api/server/getConfig.d.ts +2 -2
- package/dist/api/server/getConfig.d.ts.map +1 -1
- package/dist/api/server/getConfig.js +5 -8
- package/dist/api/server/getConfig.js.map +1 -1
- package/dist/api/set/addValues.d.ts +2 -2
- package/dist/api/set/addValues.d.ts.map +1 -1
- package/dist/api/set/addValues.js +4 -7
- package/dist/api/set/addValues.js.map +1 -1
- package/dist/api/set/deleteSet.d.ts +2 -2
- package/dist/api/set/deleteSet.d.ts.map +1 -1
- package/dist/api/set/deleteSet.js +4 -7
- package/dist/api/set/deleteSet.js.map +1 -1
- package/dist/api/set/deleteValues.d.ts +2 -2
- package/dist/api/set/deleteValues.d.ts.map +1 -1
- package/dist/api/set/deleteValues.js +4 -7
- package/dist/api/set/deleteValues.js.map +1 -1
- package/dist/api/set/getValues.d.ts +2 -2
- package/dist/api/set/getValues.d.ts.map +1 -1
- package/dist/api/set/getValues.js +4 -7
- package/dist/api/set/getValues.js.map +1 -1
- package/dist/api/set/querySets.d.ts +2 -2
- package/dist/api/set/querySets.d.ts.map +1 -1
- package/dist/api/set/querySets.js +3 -6
- package/dist/api/set/querySets.js.map +1 -1
- package/dist/api/set/upsertSet.d.ts +2 -2
- package/dist/api/set/upsertSet.d.ts.map +1 -1
- package/dist/api/set/upsertSet.js +4 -7
- package/dist/api/set/upsertSet.js.map +1 -1
- package/dist/api/setting/listOptions.d.ts +2 -2
- package/dist/api/setting/listOptions.d.ts.map +1 -1
- package/dist/api/setting/listOptions.js +3 -6
- package/dist/api/setting/listOptions.js.map +1 -1
- package/dist/api/setting/removeOptions.d.ts +2 -2
- package/dist/api/setting/removeOptions.d.ts.map +1 -1
- package/dist/api/setting/removeOptions.js +3 -6
- package/dist/api/setting/removeOptions.js.map +1 -1
- package/dist/api/setting/upsertOption.d.ts +2 -2
- package/dist/api/setting/upsertOption.d.ts.map +1 -1
- package/dist/api/setting/upsertOption.js +25 -31
- package/dist/api/setting/upsertOption.js.map +1 -1
- package/dist/api/team/addMember.d.ts +2 -2
- package/dist/api/team/addMember.d.ts.map +1 -1
- package/dist/api/team/addMember.js +6 -9
- package/dist/api/team/addMember.js.map +1 -1
- package/dist/api/team/deleteMember.d.ts +2 -2
- package/dist/api/team/deleteMember.d.ts.map +1 -1
- package/dist/api/team/deleteMember.js +4 -7
- package/dist/api/team/deleteMember.js.map +1 -1
- package/dist/api/team/listMembers.d.ts +2 -2
- package/dist/api/team/listMembers.d.ts.map +1 -1
- package/dist/api/team/listMembers.js +1 -4
- package/dist/api/team/listMembers.js.map +1 -1
- package/dist/api/team/updateMember.d.ts +2 -2
- package/dist/api/team/updateMember.d.ts.map +1 -1
- package/dist/api/team/updateMember.js +7 -10
- package/dist/api/team/updateMember.js.map +1 -1
- package/dist/api/util.d.ts +4 -4
- package/dist/api/util.d.ts.map +1 -1
- package/dist/api/util.js +39 -56
- package/dist/api/util.js.map +1 -1
- package/dist/api/verification/grantVerifications.d.ts +2 -2
- package/dist/api/verification/grantVerifications.d.ts.map +1 -1
- package/dist/api/verification/grantVerifications.js +6 -9
- package/dist/api/verification/grantVerifications.js.map +1 -1
- package/dist/api/verification/listVerifications.d.ts +2 -2
- package/dist/api/verification/listVerifications.d.ts.map +1 -1
- package/dist/api/verification/listVerifications.js +3 -6
- package/dist/api/verification/listVerifications.js.map +1 -1
- package/dist/api/verification/revokeVerifications.d.ts +2 -2
- package/dist/api/verification/revokeVerifications.d.ts.map +1 -1
- package/dist/api/verification/revokeVerifications.js +4 -7
- package/dist/api/verification/revokeVerifications.js.map +1 -1
- package/dist/api/well-known.d.ts +1 -1
- package/dist/api/well-known.d.ts.map +1 -1
- package/dist/api/well-known.js +3 -7
- package/dist/api/well-known.js.map +1 -1
- package/dist/assignment/index.d.ts +7 -7
- package/dist/assignment/index.d.ts.map +1 -1
- package/dist/assignment/index.js +23 -47
- package/dist/assignment/index.js.map +1 -1
- package/dist/auth-verifier.d.ts +1 -1
- package/dist/auth-verifier.d.ts.map +1 -1
- package/dist/auth-verifier.js +82 -174
- package/dist/auth-verifier.js.map +1 -1
- package/dist/background.d.ts +1 -1
- package/dist/background.d.ts.map +1 -1
- package/dist/background.js +17 -74
- package/dist/background.js.map +1 -1
- package/dist/communication-service/template.d.ts +3 -3
- package/dist/communication-service/template.d.ts.map +1 -1
- package/dist/communication-service/template.js +2 -11
- package/dist/communication-service/template.js.map +1 -1
- package/dist/communication-service/util.js +1 -5
- package/dist/communication-service/util.js.map +1 -1
- package/dist/config/config.d.ts +1 -1
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +18 -25
- package/dist/config/config.js.map +1 -1
- package/dist/config/env.js +42 -46
- package/dist/config/env.js.map +1 -1
- package/dist/config/index.d.ts +3 -3
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +3 -19
- package/dist/config/index.js.map +1 -1
- package/dist/config/secrets.d.ts +1 -1
- package/dist/config/secrets.d.ts.map +1 -1
- package/dist/config/secrets.js +4 -11
- package/dist/config/secrets.js.map +1 -1
- package/dist/context.d.ts +22 -22
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +63 -113
- package/dist/context.js.map +1 -1
- package/dist/daemon/blob-diverter.d.ts +2 -2
- package/dist/daemon/blob-diverter.d.ts.map +1 -1
- package/dist/daemon/blob-diverter.js +18 -72
- package/dist/daemon/blob-diverter.js.map +1 -1
- package/dist/daemon/context.d.ts +12 -12
- package/dist/daemon/context.d.ts.map +1 -1
- package/dist/daemon/context.js +50 -59
- package/dist/daemon/context.js.map +1 -1
- package/dist/daemon/event-pusher.d.ts +4 -4
- package/dist/daemon/event-pusher.d.ts.map +1 -1
- package/dist/daemon/event-pusher.js +29 -78
- package/dist/daemon/event-pusher.js.map +1 -1
- package/dist/daemon/event-reverser.d.ts +2 -2
- package/dist/daemon/event-reverser.d.ts.map +1 -1
- package/dist/daemon/event-reverser.js +14 -44
- package/dist/daemon/event-reverser.js.map +1 -1
- package/dist/daemon/index.d.ts +8 -8
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +9 -23
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/job-cursor.d.ts +1 -1
- package/dist/daemon/job-cursor.d.ts.map +1 -1
- package/dist/daemon/job-cursor.js +3 -8
- package/dist/daemon/job-cursor.js.map +1 -1
- package/dist/daemon/materialized-view-refresher.d.ts +1 -1
- package/dist/daemon/materialized-view-refresher.d.ts.map +1 -1
- package/dist/daemon/materialized-view-refresher.js +9 -13
- package/dist/daemon/materialized-view-refresher.js.map +1 -1
- package/dist/daemon/queue-router.d.ts +2 -2
- package/dist/daemon/queue-router.d.ts.map +1 -1
- package/dist/daemon/queue-router.js +13 -43
- package/dist/daemon/queue-router.js.map +1 -1
- package/dist/daemon/scheduled-action-processor.d.ts +9 -9
- package/dist/daemon/scheduled-action-processor.d.ts.map +1 -1
- package/dist/daemon/scheduled-action-processor.js +23 -68
- package/dist/daemon/scheduled-action-processor.js.map +1 -1
- package/dist/daemon/stats-computer.d.ts +2 -2
- package/dist/daemon/stats-computer.d.ts.map +1 -1
- package/dist/daemon/stats-computer.js +15 -50
- package/dist/daemon/stats-computer.js.map +1 -1
- package/dist/daemon/strike-expiry-processor.d.ts +2 -2
- package/dist/daemon/strike-expiry-processor.d.ts.map +1 -1
- package/dist/daemon/strike-expiry-processor.js +16 -46
- package/dist/daemon/strike-expiry-processor.js.map +1 -1
- package/dist/daemon/team-profile-synchronizer.d.ts +2 -2
- package/dist/daemon/team-profile-synchronizer.d.ts.map +1 -1
- package/dist/daemon/team-profile-synchronizer.js +4 -8
- package/dist/daemon/team-profile-synchronizer.js.map +1 -1
- package/dist/daemon/verification-listener.d.ts +2 -2
- package/dist/daemon/verification-listener.d.ts.map +1 -1
- package/dist/daemon/verification-listener.js +20 -70
- package/dist/daemon/verification-listener.js.map +1 -1
- package/dist/db/index.d.ts +7 -5
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +27 -107
- package/dist/db/index.js.map +1 -1
- package/dist/db/migrations/20231219T205730722Z-init.js +2 -6
- package/dist/db/migrations/20231219T205730722Z-init.js.map +1 -1
- package/dist/db/migrations/20240116T085607200Z-communication-template.js +2 -6
- package/dist/db/migrations/20240116T085607200Z-communication-template.js.map +1 -1
- package/dist/db/migrations/20240201T051104136Z-mod-event-blobs.js +2 -6
- package/dist/db/migrations/20240201T051104136Z-mod-event-blobs.js.map +1 -1
- package/dist/db/migrations/20240208T213404429Z-add-tags-column-to-moderation-subject.js +2 -6
- package/dist/db/migrations/20240208T213404429Z-add-tags-column-to-moderation-subject.js.map +1 -1
- package/dist/db/migrations/20240228T003647759Z-add-label-sigs.js +4 -8
- package/dist/db/migrations/20240228T003647759Z-add-label-sigs.js.map +1 -1
- package/dist/db/migrations/20240408T192432676Z-mute-reporting.js +2 -6
- package/dist/db/migrations/20240408T192432676Z-mute-reporting.js.map +1 -1
- package/dist/db/migrations/20240506T225055595Z-message-subject.js +2 -6
- package/dist/db/migrations/20240506T225055595Z-message-subject.js.map +1 -1
- package/dist/db/migrations/20240521T211332580Z-member.js +2 -6
- package/dist/db/migrations/20240521T211332580Z-member.js.map +1 -1
- package/dist/db/migrations/20240814T003647759Z-event-created-at-index.js +2 -6
- package/dist/db/migrations/20240814T003647759Z-event-created-at-index.js.map +1 -1
- package/dist/db/migrations/20240903T205730722Z-add-template-lang.js +2 -6
- package/dist/db/migrations/20240903T205730722Z-add-template-lang.js.map +1 -1
- package/dist/db/migrations/20240904T205730722Z-add-subject-did-index.js +2 -6
- package/dist/db/migrations/20240904T205730722Z-add-subject-did-index.js.map +1 -1
- package/dist/db/migrations/20241001T205730722Z-subject-status-review-state-index.js +2 -6
- package/dist/db/migrations/20241001T205730722Z-subject-status-review-state-index.js.map +1 -1
- package/dist/db/migrations/20241008T205730722Z-sets.js +6 -10
- package/dist/db/migrations/20241008T205730722Z-sets.js.map +1 -1
- package/dist/db/migrations/20241018T205730722Z-setting.js +5 -9
- package/dist/db/migrations/20241018T205730722Z-setting.js.map +1 -1
- package/dist/db/migrations/20241026T205730722Z-add-hosting-status-to-subject-status.js +2 -6
- package/dist/db/migrations/20241026T205730722Z-add-hosting-status-to-subject-status.js.map +1 -1
- package/dist/db/migrations/20241220T144630860Z-stats-materialized-views.d.ts +1 -1
- package/dist/db/migrations/20241220T144630860Z-stats-materialized-views.d.ts.map +1 -1
- package/dist/db/migrations/20241220T144630860Z-stats-materialized-views.js +27 -31
- package/dist/db/migrations/20241220T144630860Z-stats-materialized-views.js.map +1 -1
- package/dist/db/migrations/20250204T003647759Z-add-subject-priority-score.js +2 -6
- package/dist/db/migrations/20250204T003647759Z-add-subject-priority-score.js.map +1 -1
- package/dist/db/migrations/20250211T003647759Z-add-reporter-stats-index.js +7 -11
- package/dist/db/migrations/20250211T003647759Z-add-reporter-stats-index.js.map +1 -1
- package/dist/db/migrations/20250211T132135150Z-moderation-event-message-partial-idx.js +4 -8
- package/dist/db/migrations/20250211T132135150Z-moderation-event-message-partial-idx.js.map +1 -1
- package/dist/db/migrations/20250221T132135150Z-member-details.js +2 -6
- package/dist/db/migrations/20250221T132135150Z-member-details.js.map +1 -1
- package/dist/db/migrations/20250404T201720309Z-subject-status-sort-idxs.js +5 -9
- package/dist/db/migrations/20250404T201720309Z-subject-status-sort-idxs.js.map +1 -1
- package/dist/db/migrations/20250415T201720309Z-verification.js +4 -8
- package/dist/db/migrations/20250415T201720309Z-verification.js.map +1 -1
- package/dist/db/migrations/20250417T201720309Z-firehose-cursor.js +4 -8
- package/dist/db/migrations/20250417T201720309Z-firehose-cursor.js.map +1 -1
- package/dist/db/migrations/20250609T110704000Z-safelink.js +2 -6
- package/dist/db/migrations/20250609T110704000Z-safelink.js.map +1 -1
- package/dist/db/migrations/20250618T180246000Z-add-mod-tool-to-moderation-event.js +4 -8
- package/dist/db/migrations/20250618T180246000Z-add-mod-tool-to-moderation-event.js.map +1 -1
- package/dist/db/migrations/20250701T000000000Z-add-age-assurance-state.js +2 -6
- package/dist/db/migrations/20250701T000000000Z-add-age-assurance-state.js.map +1 -1
- package/dist/db/migrations/20250715T000000000Z-add-mod-event-external-id.js +2 -6
- package/dist/db/migrations/20250715T000000000Z-add-mod-event-external-id.js.map +1 -1
- package/dist/db/migrations/20250718T150931000Z-update-appeal-reason-stats.d.ts +1 -1
- package/dist/db/migrations/20250718T150931000Z-update-appeal-reason-stats.d.ts.map +1 -1
- package/dist/db/migrations/20250718T150931000Z-update-appeal-reason-stats.js +37 -41
- package/dist/db/migrations/20250718T150931000Z-update-appeal-reason-stats.js.map +1 -1
- package/dist/db/migrations/20250813T000000000Z-mod-tool-batch-id-index.js +4 -8
- package/dist/db/migrations/20250813T000000000Z-mod-tool-batch-id-index.js.map +1 -1
- package/dist/db/migrations/20250923T000000000Z-scheduled-actions.js +4 -8
- package/dist/db/migrations/20250923T000000000Z-scheduled-actions.js.map +1 -1
- package/dist/db/migrations/20251008T120000000Z-add-strike-system.js +5 -9
- package/dist/db/migrations/20251008T120000000Z-add-strike-system.js.map +1 -1
- package/dist/db/migrations/20260210T154806448Z-mod-event-created-by-indexes.js +2 -6
- package/dist/db/migrations/20260210T154806448Z-mod-event-created-by-indexes.js.map +1 -1
- package/dist/db/migrations/20260219T164523000Z-create-report-table.js +19 -23
- package/dist/db/migrations/20260219T164523000Z-create-report-table.js.map +1 -1
- package/dist/db/migrations/20260219T165302248Z-moderator-assignment.js +6 -10
- package/dist/db/migrations/20260219T165302248Z-moderator-assignment.js.map +1 -1
- package/dist/db/migrations/20260225T000000000Z-add-report-queue-table.js +5 -9
- package/dist/db/migrations/20260225T000000000Z-add-report-queue-table.js.map +1 -1
- package/dist/db/migrations/20260313T000000000Z-add-report-activity-table.js +4 -8
- package/dist/db/migrations/20260313T000000000Z-add-report-activity-table.js.map +1 -1
- package/dist/db/migrations/20260318T152058935Z-add-report-stat.js +4 -8
- package/dist/db/migrations/20260318T152058935Z-add-report-stat.js.map +1 -1
- package/dist/db/migrations/20260428T000000000Z-add-expiring-tag-table.js +2 -6
- package/dist/db/migrations/20260428T000000000Z-add-expiring-tag-table.js.map +1 -1
- package/dist/db/migrations/index.d.ts +38 -38
- package/dist/db/migrations/index.d.ts.map +1 -1
- package/dist/db/migrations/index.js +38 -74
- package/dist/db/migrations/index.js.map +1 -1
- package/dist/db/migrations/provider.js +3 -17
- package/dist/db/migrations/provider.js.map +1 -1
- package/dist/db/pagination.d.ts +1 -1
- package/dist/db/pagination.d.ts.map +1 -1
- package/dist/db/pagination.js +34 -54
- package/dist/db/pagination.js.map +1 -1
- package/dist/db/schema/account_events_stats.js +1 -4
- package/dist/db/schema/account_events_stats.js.map +1 -1
- package/dist/db/schema/account_record_events_stats.js +1 -4
- package/dist/db/schema/account_record_events_stats.js.map +1 -1
- package/dist/db/schema/account_record_status_stats.js +1 -4
- package/dist/db/schema/account_record_status_stats.js.map +1 -1
- package/dist/db/schema/account_strike.js +1 -4
- package/dist/db/schema/account_strike.js.map +1 -1
- package/dist/db/schema/blob_push_event.js +1 -4
- package/dist/db/schema/blob_push_event.js.map +1 -1
- package/dist/db/schema/communication_template.js +1 -4
- package/dist/db/schema/communication_template.js.map +1 -1
- package/dist/db/schema/expiring_tag.js +1 -4
- package/dist/db/schema/expiring_tag.js.map +1 -1
- package/dist/db/schema/firehose_cursor.js +1 -4
- package/dist/db/schema/firehose_cursor.js.map +1 -1
- package/dist/db/schema/index.d.ts +27 -27
- package/dist/db/schema/index.d.ts.map +1 -1
- package/dist/db/schema/index.js +1 -2
- package/dist/db/schema/index.js.map +1 -1
- package/dist/db/schema/job_cursor.js +1 -4
- package/dist/db/schema/job_cursor.js.map +1 -1
- package/dist/db/schema/label.js +2 -5
- package/dist/db/schema/label.js.map +1 -1
- package/dist/db/schema/member.js +1 -4
- package/dist/db/schema/member.js.map +1 -1
- package/dist/db/schema/moderation_event.js +1 -4
- package/dist/db/schema/moderation_event.js.map +1 -1
- package/dist/db/schema/moderation_subject_status.d.ts +1 -1
- package/dist/db/schema/moderation_subject_status.d.ts.map +1 -1
- package/dist/db/schema/moderation_subject_status.js +1 -4
- package/dist/db/schema/moderation_subject_status.js.map +1 -1
- package/dist/db/schema/moderator_assignment.js +1 -4
- package/dist/db/schema/moderator_assignment.js.map +1 -1
- package/dist/db/schema/ozone_set.js +2 -5
- package/dist/db/schema/ozone_set.js.map +1 -1
- package/dist/db/schema/record_events_stats.js +1 -4
- package/dist/db/schema/record_events_stats.js.map +1 -1
- package/dist/db/schema/record_push_event.js +1 -4
- package/dist/db/schema/record_push_event.js.map +1 -1
- package/dist/db/schema/repo_push_event.js +1 -4
- package/dist/db/schema/repo_push_event.js.map +1 -1
- package/dist/db/schema/report.js +1 -4
- package/dist/db/schema/report.js.map +1 -1
- package/dist/db/schema/report_activity.js +1 -4
- package/dist/db/schema/report_activity.js.map +1 -1
- package/dist/db/schema/report_queue.js +1 -4
- package/dist/db/schema/report_queue.js.map +1 -1
- package/dist/db/schema/report_stat.js +1 -4
- package/dist/db/schema/report_stat.js.map +1 -1
- package/dist/db/schema/safelink.d.ts +1 -1
- package/dist/db/schema/safelink.d.ts.map +1 -1
- package/dist/db/schema/safelink.js +2 -5
- package/dist/db/schema/safelink.js.map +1 -1
- package/dist/db/schema/scheduled-action.js +1 -4
- package/dist/db/schema/scheduled-action.js.map +1 -1
- package/dist/db/schema/setting.d.ts +1 -1
- package/dist/db/schema/setting.d.ts.map +1 -1
- package/dist/db/schema/setting.js +1 -4
- package/dist/db/schema/setting.js.map +1 -1
- package/dist/db/schema/signing_key.js +1 -4
- package/dist/db/schema/signing_key.js.map +1 -1
- package/dist/db/schema/verification.js +1 -4
- package/dist/db/schema/verification.js.map +1 -1
- package/dist/db/types.d.ts +3 -1
- package/dist/db/types.d.ts.map +1 -1
- package/dist/db/types.js +4 -8
- package/dist/db/types.js.map +1 -1
- package/dist/error.js +5 -9
- package/dist/error.js.map +1 -1
- package/dist/image-invalidator.js +1 -2
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -110
- package/dist/index.js.map +1 -1
- package/dist/jetstream/service.d.ts.map +1 -1
- package/dist/jetstream/service.js +4 -26
- package/dist/jetstream/service.js.map +1 -1
- package/dist/lexicon/index.d.ts +2 -2
- package/dist/lexicon/index.js +60 -670
- package/dist/lexicon/index.js.map +1 -1
- package/dist/lexicon/lexicons.d.ts +992 -28
- package/dist/lexicon/lexicons.d.ts.map +1 -1
- package/dist/lexicon/lexicons.js +621 -28
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/defs.d.ts +34 -34
- package/dist/lexicon/types/app/bsky/actor/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/defs.js +69 -137
- package/dist/lexicon/types/app/bsky/actor/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getPreferences.js +3 -5
- package/dist/lexicon/types/app/bsky/actor/getPreferences.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getProfile.js +3 -5
- package/dist/lexicon/types/app/bsky/actor/getProfile.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getProfiles.js +3 -5
- package/dist/lexicon/types/app/bsky/actor/getProfiles.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getSuggestions.js +3 -5
- package/dist/lexicon/types/app/bsky/actor/getSuggestions.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/profile.d.ts +2 -2
- package/dist/lexicon/types/app/bsky/actor/profile.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/profile.js +6 -11
- package/dist/lexicon/types/app/bsky/actor/profile.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/putPreferences.js +3 -5
- package/dist/lexicon/types/app/bsky/actor/putPreferences.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/searchActors.js +3 -5
- package/dist/lexicon/types/app/bsky/actor/searchActors.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/searchActorsTypeahead.js +3 -5
- package/dist/lexicon/types/app/bsky/actor/searchActorsTypeahead.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/status.d.ts +2 -2
- package/dist/lexicon/types/app/bsky/actor/status.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/status.js +7 -13
- package/dist/lexicon/types/app/bsky/actor/status.js.map +1 -1
- package/dist/lexicon/types/app/bsky/ageassurance/begin.js +3 -5
- package/dist/lexicon/types/app/bsky/ageassurance/begin.js.map +1 -1
- package/dist/lexicon/types/app/bsky/ageassurance/defs.d.ts +13 -13
- package/dist/lexicon/types/app/bsky/ageassurance/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/ageassurance/defs.js +27 -53
- package/dist/lexicon/types/app/bsky/ageassurance/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/ageassurance/getConfig.js +3 -5
- package/dist/lexicon/types/app/bsky/ageassurance/getConfig.js.map +1 -1
- package/dist/lexicon/types/app/bsky/ageassurance/getState.js +3 -5
- package/dist/lexicon/types/app/bsky/ageassurance/getState.js.map +1 -1
- package/dist/lexicon/types/app/bsky/bookmark/createBookmark.js +3 -5
- package/dist/lexicon/types/app/bsky/bookmark/createBookmark.js.map +1 -1
- package/dist/lexicon/types/app/bsky/bookmark/defs.d.ts +3 -3
- package/dist/lexicon/types/app/bsky/bookmark/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/bookmark/defs.js +7 -13
- package/dist/lexicon/types/app/bsky/bookmark/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/bookmark/deleteBookmark.js +3 -5
- package/dist/lexicon/types/app/bsky/bookmark/deleteBookmark.js.map +1 -1
- package/dist/lexicon/types/app/bsky/bookmark/getBookmarks.js +3 -5
- package/dist/lexicon/types/app/bsky/bookmark/getBookmarks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/contact/defs.d.ts +3 -3
- package/dist/lexicon/types/app/bsky/contact/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/contact/defs.js +9 -17
- package/dist/lexicon/types/app/bsky/contact/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/contact/dismissMatch.js +3 -5
- package/dist/lexicon/types/app/bsky/contact/dismissMatch.js.map +1 -1
- package/dist/lexicon/types/app/bsky/contact/getMatches.js +3 -5
- package/dist/lexicon/types/app/bsky/contact/getMatches.js.map +1 -1
- package/dist/lexicon/types/app/bsky/contact/getSyncStatus.js +3 -5
- package/dist/lexicon/types/app/bsky/contact/getSyncStatus.js.map +1 -1
- package/dist/lexicon/types/app/bsky/contact/importContacts.js +3 -5
- package/dist/lexicon/types/app/bsky/contact/importContacts.js.map +1 -1
- package/dist/lexicon/types/app/bsky/contact/removeData.js +3 -5
- package/dist/lexicon/types/app/bsky/contact/removeData.js.map +1 -1
- package/dist/lexicon/types/app/bsky/contact/sendNotification.js +3 -5
- package/dist/lexicon/types/app/bsky/contact/sendNotification.js.map +1 -1
- package/dist/lexicon/types/app/bsky/contact/startPhoneVerification.js +3 -5
- package/dist/lexicon/types/app/bsky/contact/startPhoneVerification.js.map +1 -1
- package/dist/lexicon/types/app/bsky/contact/verifyPhone.js +3 -5
- package/dist/lexicon/types/app/bsky/contact/verifyPhone.js.map +1 -1
- package/dist/lexicon/types/app/bsky/draft/createDraft.js +3 -5
- package/dist/lexicon/types/app/bsky/draft/createDraft.js.map +1 -1
- package/dist/lexicon/types/app/bsky/draft/defs.d.ts +11 -11
- package/dist/lexicon/types/app/bsky/draft/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/draft/defs.js +23 -45
- package/dist/lexicon/types/app/bsky/draft/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/draft/deleteDraft.js +3 -5
- package/dist/lexicon/types/app/bsky/draft/deleteDraft.js.map +1 -1
- package/dist/lexicon/types/app/bsky/draft/getDrafts.js +3 -5
- package/dist/lexicon/types/app/bsky/draft/getDrafts.js.map +1 -1
- package/dist/lexicon/types/app/bsky/draft/updateDraft.js +3 -5
- package/dist/lexicon/types/app/bsky/draft/updateDraft.js.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/defs.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/embed/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/defs.js +5 -9
- package/dist/lexicon/types/app/bsky/embed/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/external.d.ts +6 -5
- package/dist/lexicon/types/app/bsky/embed/external.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/external.js +11 -21
- package/dist/lexicon/types/app/bsky/embed/external.js.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/images.d.ts +4 -4
- package/dist/lexicon/types/app/bsky/embed/images.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/images.js +11 -21
- package/dist/lexicon/types/app/bsky/embed/images.js.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/record.d.ts +7 -7
- package/dist/lexicon/types/app/bsky/embed/record.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/record.js +15 -29
- package/dist/lexicon/types/app/bsky/embed/record.js.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/recordWithMedia.d.ts +3 -3
- package/dist/lexicon/types/app/bsky/embed/recordWithMedia.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/recordWithMedia.js +7 -13
- package/dist/lexicon/types/app/bsky/embed/recordWithMedia.js.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/video.d.ts +3 -3
- package/dist/lexicon/types/app/bsky/embed/video.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/video.js +9 -17
- package/dist/lexicon/types/app/bsky/embed/video.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/defs.d.ts +19 -19
- package/dist/lexicon/types/app/bsky/feed/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/defs.js +53 -92
- package/dist/lexicon/types/app/bsky/feed/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/describeFeedGenerator.d.ts +2 -2
- package/dist/lexicon/types/app/bsky/feed/describeFeedGenerator.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/describeFeedGenerator.js +7 -13
- package/dist/lexicon/types/app/bsky/feed/describeFeedGenerator.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/generator.d.ts +2 -2
- package/dist/lexicon/types/app/bsky/feed/generator.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/generator.js +6 -11
- package/dist/lexicon/types/app/bsky/feed/generator.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getActorFeeds.js +3 -5
- package/dist/lexicon/types/app/bsky/feed/getActorFeeds.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getActorLikes.js +3 -5
- package/dist/lexicon/types/app/bsky/feed/getActorLikes.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getAuthorFeed.js +3 -5
- package/dist/lexicon/types/app/bsky/feed/getAuthorFeed.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeed.js +3 -5
- package/dist/lexicon/types/app/bsky/feed/getFeed.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeedGenerator.js +3 -5
- package/dist/lexicon/types/app/bsky/feed/getFeedGenerator.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeedGenerators.js +3 -5
- package/dist/lexicon/types/app/bsky/feed/getFeedGenerators.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeedSkeleton.js +3 -5
- package/dist/lexicon/types/app/bsky/feed/getFeedSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getLikes.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/feed/getLikes.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getLikes.js +5 -9
- package/dist/lexicon/types/app/bsky/feed/getLikes.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getListFeed.js +3 -5
- package/dist/lexicon/types/app/bsky/feed/getListFeed.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getPostThread.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/feed/getPostThread.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getPostThread.js +3 -5
- package/dist/lexicon/types/app/bsky/feed/getPostThread.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getPosts.js +3 -5
- package/dist/lexicon/types/app/bsky/feed/getPosts.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getQuotes.js +3 -5
- package/dist/lexicon/types/app/bsky/feed/getQuotes.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getRepostedBy.js +3 -5
- package/dist/lexicon/types/app/bsky/feed/getRepostedBy.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getSuggestedFeeds.js +3 -5
- package/dist/lexicon/types/app/bsky/feed/getSuggestedFeeds.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getTimeline.js +3 -5
- package/dist/lexicon/types/app/bsky/feed/getTimeline.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/like.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/feed/like.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/like.js +6 -11
- package/dist/lexicon/types/app/bsky/feed/like.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/post.d.ts +5 -5
- package/dist/lexicon/types/app/bsky/feed/post.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/post.js +12 -23
- package/dist/lexicon/types/app/bsky/feed/post.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/postgate.d.ts +3 -3
- package/dist/lexicon/types/app/bsky/feed/postgate.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/postgate.js +8 -15
- package/dist/lexicon/types/app/bsky/feed/postgate.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/repost.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/feed/repost.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/repost.js +6 -11
- package/dist/lexicon/types/app/bsky/feed/repost.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/searchPosts.js +3 -5
- package/dist/lexicon/types/app/bsky/feed/searchPosts.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/sendInteractions.js +3 -5
- package/dist/lexicon/types/app/bsky/feed/sendInteractions.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/threadgate.d.ts +6 -6
- package/dist/lexicon/types/app/bsky/feed/threadgate.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/threadgate.js +14 -27
- package/dist/lexicon/types/app/bsky/feed/threadgate.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/block.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/graph/block.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/block.js +6 -11
- package/dist/lexicon/types/app/bsky/graph/block.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/defs.d.ts +8 -8
- package/dist/lexicon/types/app/bsky/graph/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/defs.js +22 -41
- package/dist/lexicon/types/app/bsky/graph/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/follow.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/graph/follow.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/follow.js +6 -11
- package/dist/lexicon/types/app/bsky/graph/follow.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getActorStarterPacks.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/getActorStarterPacks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getBlocks.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/getBlocks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getFollowers.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/getFollowers.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getFollows.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/getFollows.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getKnownFollowers.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/getKnownFollowers.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getList.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/getList.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getListBlocks.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/getListBlocks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getListMutes.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/getListMutes.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getLists.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/getLists.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getListsWithMembership.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/graph/getListsWithMembership.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getListsWithMembership.js +5 -9
- package/dist/lexicon/types/app/bsky/graph/getListsWithMembership.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getMutes.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/getMutes.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getRelationships.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/graph/getRelationships.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getRelationships.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/getRelationships.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getStarterPack.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/getStarterPack.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getStarterPacks.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/getStarterPacks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getStarterPacksWithMembership.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/graph/getStarterPacksWithMembership.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getStarterPacksWithMembership.js +5 -9
- package/dist/lexicon/types/app/bsky/graph/getStarterPacksWithMembership.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/list.d.ts +2 -2
- package/dist/lexicon/types/app/bsky/graph/list.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/list.js +6 -11
- package/dist/lexicon/types/app/bsky/graph/list.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/listblock.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/graph/listblock.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/listblock.js +6 -11
- package/dist/lexicon/types/app/bsky/graph/listblock.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/listitem.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/graph/listitem.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/listitem.js +6 -11
- package/dist/lexicon/types/app/bsky/graph/listitem.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/muteActor.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/muteActor.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/muteActorList.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/muteActorList.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/muteThread.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/muteThread.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/searchStarterPacks.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/searchStarterPacks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/starterpack.d.ts +2 -2
- package/dist/lexicon/types/app/bsky/graph/starterpack.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/starterpack.js +8 -15
- package/dist/lexicon/types/app/bsky/graph/starterpack.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/unmuteActor.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/unmuteActor.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/unmuteActorList.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/unmuteActorList.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/unmuteThread.js +3 -5
- package/dist/lexicon/types/app/bsky/graph/unmuteThread.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/verification.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/graph/verification.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/verification.js +6 -11
- package/dist/lexicon/types/app/bsky/graph/verification.js.map +1 -1
- package/dist/lexicon/types/app/bsky/labeler/defs.d.ts +4 -4
- package/dist/lexicon/types/app/bsky/labeler/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/labeler/defs.js +11 -21
- package/dist/lexicon/types/app/bsky/labeler/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/labeler/getServices.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/labeler/getServices.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/labeler/getServices.js +3 -5
- package/dist/lexicon/types/app/bsky/labeler/getServices.js.map +1 -1
- package/dist/lexicon/types/app/bsky/labeler/service.d.ts +2 -2
- package/dist/lexicon/types/app/bsky/labeler/service.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/labeler/service.js +6 -11
- package/dist/lexicon/types/app/bsky/labeler/service.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/declaration.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/notification/declaration.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/declaration.js +6 -11
- package/dist/lexicon/types/app/bsky/notification/declaration.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/defs.d.ts +7 -7
- package/dist/lexicon/types/app/bsky/notification/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/defs.js +17 -33
- package/dist/lexicon/types/app/bsky/notification/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/getPreferences.js +3 -5
- package/dist/lexicon/types/app/bsky/notification/getPreferences.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/getUnreadCount.js +3 -5
- package/dist/lexicon/types/app/bsky/notification/getUnreadCount.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/listActivitySubscriptions.js +3 -5
- package/dist/lexicon/types/app/bsky/notification/listActivitySubscriptions.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/listNotifications.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/notification/listNotifications.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/listNotifications.js +5 -9
- package/dist/lexicon/types/app/bsky/notification/listNotifications.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/putActivitySubscription.js +3 -5
- package/dist/lexicon/types/app/bsky/notification/putActivitySubscription.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/putPreferences.js +3 -5
- package/dist/lexicon/types/app/bsky/notification/putPreferences.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/putPreferencesV2.js +3 -5
- package/dist/lexicon/types/app/bsky/notification/putPreferencesV2.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/registerPush.js +3 -5
- package/dist/lexicon/types/app/bsky/notification/registerPush.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/unregisterPush.js +3 -5
- package/dist/lexicon/types/app/bsky/notification/unregisterPush.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/updateSeen.js +3 -5
- package/dist/lexicon/types/app/bsky/notification/updateSeen.js.map +1 -1
- package/dist/lexicon/types/app/bsky/richtext/facet.d.ts +6 -6
- package/dist/lexicon/types/app/bsky/richtext/facet.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/richtext/facet.js +13 -25
- package/dist/lexicon/types/app/bsky/richtext/facet.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/defs.d.ts +12 -12
- package/dist/lexicon/types/app/bsky/unspecced/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/defs.js +27 -53
- package/dist/lexicon/types/app/bsky/unspecced/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getAgeAssuranceState.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getAgeAssuranceState.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getConfig.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getConfig.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getConfig.js +5 -9
- package/dist/lexicon/types/app/bsky/unspecced/getConfig.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getOnboardingSuggestedUsersSkeleton.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getOnboardingSuggestedUsersSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.d.ts +2 -2
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.js +5 -9
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.d.ts +2 -2
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.js +5 -9
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedFeeds.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedFeeds.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedOnboardingUsers.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedOnboardingUsers.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsers.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsers.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersForDiscover.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersForDiscover.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersForDiscoverSkeleton.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersForDiscoverSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersForExplore.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersForExplore.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersForExploreSkeleton.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersForExploreSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersForSeeMore.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersForSeeMore.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersForSeeMoreSkeleton.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersForSeeMoreSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersSkeleton.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.js +5 -9
- package/dist/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTrendingTopics.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getTrendingTopics.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTrends.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getTrends.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/initAgeAssurance.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/initAgeAssurance.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/searchStarterPacksSkeleton.js +3 -5
- package/dist/lexicon/types/app/bsky/unspecced/searchStarterPacksSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/video/defs.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/video/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/video/defs.js +5 -9
- package/dist/lexicon/types/app/bsky/video/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/video/getJobStatus.js +3 -5
- package/dist/lexicon/types/app/bsky/video/getJobStatus.js.map +1 -1
- package/dist/lexicon/types/app/bsky/video/getUploadLimits.js +3 -5
- package/dist/lexicon/types/app/bsky/video/getUploadLimits.js.map +1 -1
- package/dist/lexicon/types/app/bsky/video/uploadVideo.js +3 -5
- package/dist/lexicon/types/app/bsky/video/uploadVideo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/actor/declaration.d.ts +1 -1
- package/dist/lexicon/types/chat/bsky/actor/declaration.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/actor/declaration.js +6 -11
- package/dist/lexicon/types/chat/bsky/actor/declaration.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/actor/defs.d.ts +5 -5
- package/dist/lexicon/types/chat/bsky/actor/defs.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/actor/defs.js +11 -21
- package/dist/lexicon/types/chat/bsky/actor/defs.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/actor/deleteAccount.js +3 -5
- package/dist/lexicon/types/chat/bsky/actor/deleteAccount.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/actor/exportAccountData.js +3 -5
- package/dist/lexicon/types/chat/bsky/actor/exportAccountData.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/acceptConvo.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/acceptConvo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/addReaction.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/addReaction.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/defs.d.ts +61 -54
- package/dist/lexicon/types/chat/bsky/convo/defs.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/defs.js +114 -213
- package/dist/lexicon/types/chat/bsky/convo/defs.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/deleteMessageForSelf.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/deleteMessageForSelf.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvo.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/getConvo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvoAvailability.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/getConvoAvailability.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvoMembers.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/getConvoMembers.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getLog.d.ts +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getLog.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getLog.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/getLog.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getMessages.d.ts +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getMessages.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getMessages.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/getMessages.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/leaveConvo.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/leaveConvo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/listConvoRequests.d.ts +1 -1
- package/dist/lexicon/types/chat/bsky/convo/listConvoRequests.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/listConvoRequests.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/listConvoRequests.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/listConvos.d.ts +2 -0
- package/dist/lexicon/types/chat/bsky/convo/listConvos.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/listConvos.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/listConvos.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/lockConvo.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/lockConvo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/muteConvo.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/muteConvo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/removeReaction.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/removeReaction.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/sendMessage.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/sendMessage.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.d.ts +1 -1
- package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.js +5 -9
- package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/unlockConvo.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/unlockConvo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/unmuteConvo.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/unmuteConvo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/updateAllRead.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/updateAllRead.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/updateRead.js +3 -5
- package/dist/lexicon/types/chat/bsky/convo/updateRead.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/addMembers.d.ts +1 -1
- package/dist/lexicon/types/chat/bsky/group/addMembers.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/addMembers.js +3 -5
- package/dist/lexicon/types/chat/bsky/group/addMembers.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/approveJoinRequest.js +3 -5
- package/dist/lexicon/types/chat/bsky/group/approveJoinRequest.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/createGroup.d.ts +1 -1
- package/dist/lexicon/types/chat/bsky/group/createGroup.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/createGroup.js +3 -5
- package/dist/lexicon/types/chat/bsky/group/createGroup.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/createJoinLink.js +3 -5
- package/dist/lexicon/types/chat/bsky/group/createJoinLink.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/defs.d.ts +8 -6
- package/dist/lexicon/types/chat/bsky/group/defs.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/defs.js +12 -20
- package/dist/lexicon/types/chat/bsky/group/defs.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/disableJoinLink.js +3 -5
- package/dist/lexicon/types/chat/bsky/group/disableJoinLink.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/editGroup.js +3 -5
- package/dist/lexicon/types/chat/bsky/group/editGroup.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/editJoinLink.js +3 -5
- package/dist/lexicon/types/chat/bsky/group/editJoinLink.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/enableJoinLink.js +3 -5
- package/dist/lexicon/types/chat/bsky/group/enableJoinLink.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/{getGroupPublicInfo.d.ts → getJoinLinkPreview.d.ts} +2 -2
- package/dist/lexicon/types/chat/bsky/group/getJoinLinkPreview.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/group/getJoinLinkPreview.js +5 -0
- package/dist/lexicon/types/chat/bsky/group/getJoinLinkPreview.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/group/listJoinRequests.js +3 -5
- package/dist/lexicon/types/chat/bsky/group/listJoinRequests.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/rejectJoinRequest.js +3 -5
- package/dist/lexicon/types/chat/bsky/group/rejectJoinRequest.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/removeMembers.js +3 -5
- package/dist/lexicon/types/chat/bsky/group/removeMembers.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/requestJoin.js +3 -5
- package/dist/lexicon/types/chat/bsky/group/requestJoin.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.d.ts +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.js +5 -9
- package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.d.ts +6 -2
- package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.js +3 -5
- package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/subscribeModEvents.d.ts +209 -3
- package/dist/lexicon/types/chat/bsky/moderation/subscribeModEvents.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/subscribeModEvents.js +68 -9
- package/dist/lexicon/types/chat/bsky/moderation/subscribeModEvents.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/updateActorAccess.js +3 -5
- package/dist/lexicon/types/chat/bsky/moderation/updateActorAccess.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/defs.d.ts +5 -5
- package/dist/lexicon/types/com/atproto/admin/defs.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/defs.js +13 -25
- package/dist/lexicon/types/com/atproto/admin/defs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/deleteAccount.js +3 -5
- package/dist/lexicon/types/com/atproto/admin/deleteAccount.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/disableAccountInvites.js +3 -5
- package/dist/lexicon/types/com/atproto/admin/disableAccountInvites.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/disableInviteCodes.js +3 -5
- package/dist/lexicon/types/com/atproto/admin/disableInviteCodes.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/enableAccountInvites.js +3 -5
- package/dist/lexicon/types/com/atproto/admin/enableAccountInvites.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getAccountInfo.js +3 -5
- package/dist/lexicon/types/com/atproto/admin/getAccountInfo.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getAccountInfos.js +3 -5
- package/dist/lexicon/types/com/atproto/admin/getAccountInfos.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getInviteCodes.js +3 -5
- package/dist/lexicon/types/com/atproto/admin/getInviteCodes.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getSubjectStatus.d.ts +1 -1
- package/dist/lexicon/types/com/atproto/admin/getSubjectStatus.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getSubjectStatus.js +3 -5
- package/dist/lexicon/types/com/atproto/admin/getSubjectStatus.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/searchAccounts.js +3 -5
- package/dist/lexicon/types/com/atproto/admin/searchAccounts.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/sendEmail.js +3 -5
- package/dist/lexicon/types/com/atproto/admin/sendEmail.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountEmail.js +3 -5
- package/dist/lexicon/types/com/atproto/admin/updateAccountEmail.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountHandle.js +3 -5
- package/dist/lexicon/types/com/atproto/admin/updateAccountHandle.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountPassword.js +3 -5
- package/dist/lexicon/types/com/atproto/admin/updateAccountPassword.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountSigningKey.js +3 -5
- package/dist/lexicon/types/com/atproto/admin/updateAccountSigningKey.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateSubjectStatus.d.ts +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateSubjectStatus.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateSubjectStatus.js +3 -5
- package/dist/lexicon/types/com/atproto/admin/updateSubjectStatus.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/defs.d.ts +1 -1
- package/dist/lexicon/types/com/atproto/identity/defs.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/defs.js +5 -9
- package/dist/lexicon/types/com/atproto/identity/defs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.js +3 -5
- package/dist/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/refreshIdentity.js +3 -5
- package/dist/lexicon/types/com/atproto/identity/refreshIdentity.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/requestPlcOperationSignature.js +3 -5
- package/dist/lexicon/types/com/atproto/identity/requestPlcOperationSignature.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/resolveDid.js +3 -5
- package/dist/lexicon/types/com/atproto/identity/resolveDid.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/resolveHandle.js +3 -5
- package/dist/lexicon/types/com/atproto/identity/resolveHandle.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/resolveIdentity.js +3 -5
- package/dist/lexicon/types/com/atproto/identity/resolveIdentity.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/signPlcOperation.js +3 -5
- package/dist/lexicon/types/com/atproto/identity/signPlcOperation.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/submitPlcOperation.js +3 -5
- package/dist/lexicon/types/com/atproto/identity/submitPlcOperation.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/updateHandle.js +3 -5
- package/dist/lexicon/types/com/atproto/identity/updateHandle.js.map +1 -1
- package/dist/lexicon/types/com/atproto/label/defs.d.ts +5 -5
- package/dist/lexicon/types/com/atproto/label/defs.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/label/defs.js +13 -25
- package/dist/lexicon/types/com/atproto/label/defs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/label/queryLabels.js +3 -5
- package/dist/lexicon/types/com/atproto/label/queryLabels.js.map +1 -1
- package/dist/lexicon/types/com/atproto/label/subscribeLabels.d.ts +3 -3
- package/dist/lexicon/types/com/atproto/label/subscribeLabels.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/label/subscribeLabels.js +7 -13
- package/dist/lexicon/types/com/atproto/label/subscribeLabels.js.map +1 -1
- package/dist/lexicon/types/com/atproto/lexicon/resolveLexicon.js +3 -5
- package/dist/lexicon/types/com/atproto/lexicon/resolveLexicon.js.map +1 -1
- package/dist/lexicon/types/com/atproto/lexicon/schema.d.ts +1 -1
- package/dist/lexicon/types/com/atproto/lexicon/schema.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/lexicon/schema.js +6 -11
- package/dist/lexicon/types/com/atproto/lexicon/schema.js.map +1 -1
- package/dist/lexicon/types/com/atproto/moderation/createReport.d.ts +2 -2
- package/dist/lexicon/types/com/atproto/moderation/createReport.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/moderation/createReport.js +5 -9
- package/dist/lexicon/types/com/atproto/moderation/createReport.js.map +1 -1
- package/dist/lexicon/types/com/atproto/moderation/defs.js +10 -13
- package/dist/lexicon/types/com/atproto/moderation/defs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/applyWrites.d.ts +7 -7
- package/dist/lexicon/types/com/atproto/repo/applyWrites.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/applyWrites.js +15 -29
- package/dist/lexicon/types/com/atproto/repo/applyWrites.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/createRecord.js +3 -5
- package/dist/lexicon/types/com/atproto/repo/createRecord.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/defs.d.ts +1 -1
- package/dist/lexicon/types/com/atproto/repo/defs.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/defs.js +5 -9
- package/dist/lexicon/types/com/atproto/repo/defs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/deleteRecord.js +3 -5
- package/dist/lexicon/types/com/atproto/repo/deleteRecord.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/describeRepo.js +3 -5
- package/dist/lexicon/types/com/atproto/repo/describeRepo.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/getRecord.js +3 -5
- package/dist/lexicon/types/com/atproto/repo/getRecord.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/importRepo.js +3 -5
- package/dist/lexicon/types/com/atproto/repo/importRepo.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/listMissingBlobs.d.ts +1 -1
- package/dist/lexicon/types/com/atproto/repo/listMissingBlobs.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/listMissingBlobs.js +5 -9
- package/dist/lexicon/types/com/atproto/repo/listMissingBlobs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/listRecords.d.ts +1 -1
- package/dist/lexicon/types/com/atproto/repo/listRecords.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/listRecords.js +5 -9
- package/dist/lexicon/types/com/atproto/repo/listRecords.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/putRecord.js +3 -5
- package/dist/lexicon/types/com/atproto/repo/putRecord.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/strongRef.d.ts +1 -1
- package/dist/lexicon/types/com/atproto/repo/strongRef.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/strongRef.js +5 -9
- package/dist/lexicon/types/com/atproto/repo/strongRef.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/uploadBlob.js +3 -5
- package/dist/lexicon/types/com/atproto/repo/uploadBlob.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/activateAccount.js +3 -5
- package/dist/lexicon/types/com/atproto/server/activateAccount.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/checkAccountStatus.js +3 -5
- package/dist/lexicon/types/com/atproto/server/checkAccountStatus.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/confirmEmail.js +3 -5
- package/dist/lexicon/types/com/atproto/server/confirmEmail.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createAccount.js +3 -5
- package/dist/lexicon/types/com/atproto/server/createAccount.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createAppPassword.d.ts +1 -1
- package/dist/lexicon/types/com/atproto/server/createAppPassword.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createAppPassword.js +5 -9
- package/dist/lexicon/types/com/atproto/server/createAppPassword.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createInviteCode.js +3 -5
- package/dist/lexicon/types/com/atproto/server/createInviteCode.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createInviteCodes.d.ts +1 -1
- package/dist/lexicon/types/com/atproto/server/createInviteCodes.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createInviteCodes.js +5 -9
- package/dist/lexicon/types/com/atproto/server/createInviteCodes.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createSession.js +3 -5
- package/dist/lexicon/types/com/atproto/server/createSession.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/deactivateAccount.js +3 -5
- package/dist/lexicon/types/com/atproto/server/deactivateAccount.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/defs.d.ts +2 -2
- package/dist/lexicon/types/com/atproto/server/defs.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/defs.js +7 -13
- package/dist/lexicon/types/com/atproto/server/defs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/deleteAccount.js +3 -5
- package/dist/lexicon/types/com/atproto/server/deleteAccount.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/deleteSession.js +3 -5
- package/dist/lexicon/types/com/atproto/server/deleteSession.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/describeServer.d.ts +2 -2
- package/dist/lexicon/types/com/atproto/server/describeServer.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/describeServer.js +7 -13
- package/dist/lexicon/types/com/atproto/server/describeServer.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/getAccountInviteCodes.js +3 -5
- package/dist/lexicon/types/com/atproto/server/getAccountInviteCodes.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/getServiceAuth.js +3 -5
- package/dist/lexicon/types/com/atproto/server/getServiceAuth.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/getSession.js +3 -5
- package/dist/lexicon/types/com/atproto/server/getSession.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/listAppPasswords.d.ts +1 -1
- package/dist/lexicon/types/com/atproto/server/listAppPasswords.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/listAppPasswords.js +5 -9
- package/dist/lexicon/types/com/atproto/server/listAppPasswords.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/refreshSession.js +3 -5
- package/dist/lexicon/types/com/atproto/server/refreshSession.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestAccountDelete.js +3 -5
- package/dist/lexicon/types/com/atproto/server/requestAccountDelete.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestEmailConfirmation.js +3 -5
- package/dist/lexicon/types/com/atproto/server/requestEmailConfirmation.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestEmailUpdate.js +3 -5
- package/dist/lexicon/types/com/atproto/server/requestEmailUpdate.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestPasswordReset.js +3 -5
- package/dist/lexicon/types/com/atproto/server/requestPasswordReset.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/reserveSigningKey.js +3 -5
- package/dist/lexicon/types/com/atproto/server/reserveSigningKey.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/resetPassword.js +3 -5
- package/dist/lexicon/types/com/atproto/server/resetPassword.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/revokeAppPassword.js +3 -5
- package/dist/lexicon/types/com/atproto/server/revokeAppPassword.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/updateEmail.js +3 -5
- package/dist/lexicon/types/com/atproto/server/updateEmail.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/defs.js +3 -5
- package/dist/lexicon/types/com/atproto/sync/defs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getBlob.js +3 -5
- package/dist/lexicon/types/com/atproto/sync/getBlob.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getBlocks.js +3 -5
- package/dist/lexicon/types/com/atproto/sync/getBlocks.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getCheckout.js +3 -5
- package/dist/lexicon/types/com/atproto/sync/getCheckout.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getHead.js +3 -5
- package/dist/lexicon/types/com/atproto/sync/getHead.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getHostStatus.js +3 -5
- package/dist/lexicon/types/com/atproto/sync/getHostStatus.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getLatestCommit.js +3 -5
- package/dist/lexicon/types/com/atproto/sync/getLatestCommit.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getRecord.js +3 -5
- package/dist/lexicon/types/com/atproto/sync/getRecord.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getRepo.js +3 -5
- package/dist/lexicon/types/com/atproto/sync/getRepo.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getRepoStatus.js +3 -5
- package/dist/lexicon/types/com/atproto/sync/getRepoStatus.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listBlobs.js +3 -5
- package/dist/lexicon/types/com/atproto/sync/listBlobs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listHosts.d.ts +1 -1
- package/dist/lexicon/types/com/atproto/sync/listHosts.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listHosts.js +5 -9
- package/dist/lexicon/types/com/atproto/sync/listHosts.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listRepos.d.ts +1 -1
- package/dist/lexicon/types/com/atproto/sync/listRepos.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listRepos.js +5 -9
- package/dist/lexicon/types/com/atproto/sync/listRepos.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listReposByCollection.d.ts +1 -1
- package/dist/lexicon/types/com/atproto/sync/listReposByCollection.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listReposByCollection.js +5 -9
- package/dist/lexicon/types/com/atproto/sync/listReposByCollection.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/notifyOfUpdate.js +3 -5
- package/dist/lexicon/types/com/atproto/sync/notifyOfUpdate.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/requestCrawl.js +3 -5
- package/dist/lexicon/types/com/atproto/sync/requestCrawl.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/subscribeRepos.d.ts +7 -7
- package/dist/lexicon/types/com/atproto/sync/subscribeRepos.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/subscribeRepos.js +15 -29
- package/dist/lexicon/types/com/atproto/sync/subscribeRepos.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/addReservedHandle.js +3 -5
- package/dist/lexicon/types/com/atproto/temp/addReservedHandle.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/checkHandleAvailability.d.ts +4 -4
- package/dist/lexicon/types/com/atproto/temp/checkHandleAvailability.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/checkHandleAvailability.js +9 -17
- package/dist/lexicon/types/com/atproto/temp/checkHandleAvailability.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/checkSignupQueue.js +3 -5
- package/dist/lexicon/types/com/atproto/temp/checkSignupQueue.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/dereferenceScope.js +3 -5
- package/dist/lexicon/types/com/atproto/temp/dereferenceScope.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/fetchLabels.js +3 -5
- package/dist/lexicon/types/com/atproto/temp/fetchLabels.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/requestPhoneVerification.js +3 -5
- package/dist/lexicon/types/com/atproto/temp/requestPhoneVerification.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/revokeAccountCredentials.js +3 -5
- package/dist/lexicon/types/com/atproto/temp/revokeAccountCredentials.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/communication/createTemplate.js +3 -5
- package/dist/lexicon/types/tools/ozone/communication/createTemplate.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/communication/defs.d.ts +1 -1
- package/dist/lexicon/types/tools/ozone/communication/defs.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/communication/defs.js +5 -9
- package/dist/lexicon/types/tools/ozone/communication/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/communication/deleteTemplate.js +3 -5
- package/dist/lexicon/types/tools/ozone/communication/deleteTemplate.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/communication/listTemplates.js +3 -5
- package/dist/lexicon/types/tools/ozone/communication/listTemplates.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/communication/updateTemplate.js +3 -5
- package/dist/lexicon/types/tools/ozone/communication/updateTemplate.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/hosting/getAccountHistory.d.ts +7 -7
- package/dist/lexicon/types/tools/ozone/hosting/getAccountHistory.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/hosting/getAccountHistory.js +15 -29
- package/dist/lexicon/types/tools/ozone/hosting/getAccountHistory.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/cancelScheduledActions.d.ts +2 -2
- package/dist/lexicon/types/tools/ozone/moderation/cancelScheduledActions.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/cancelScheduledActions.js +7 -13
- package/dist/lexicon/types/tools/ozone/moderation/cancelScheduledActions.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts +49 -49
- package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/defs.js +106 -205
- package/dist/lexicon/types/tools/ozone/moderation/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/emitEvent.d.ts +2 -2
- package/dist/lexicon/types/tools/ozone/moderation/emitEvent.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/emitEvent.js +5 -9
- package/dist/lexicon/types/tools/ozone/moderation/emitEvent.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getAccountTimeline.d.ts +2 -2
- package/dist/lexicon/types/tools/ozone/moderation/getAccountTimeline.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getAccountTimeline.js +7 -13
- package/dist/lexicon/types/tools/ozone/moderation/getAccountTimeline.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getEvent.js +3 -5
- package/dist/lexicon/types/tools/ozone/moderation/getEvent.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getRecord.js +3 -5
- package/dist/lexicon/types/tools/ozone/moderation/getRecord.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getRecords.d.ts +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getRecords.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getRecords.js +3 -5
- package/dist/lexicon/types/tools/ozone/moderation/getRecords.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getRepo.js +3 -5
- package/dist/lexicon/types/tools/ozone/moderation/getRepo.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getReporterStats.js +3 -5
- package/dist/lexicon/types/tools/ozone/moderation/getReporterStats.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getRepos.d.ts +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getRepos.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getRepos.js +3 -5
- package/dist/lexicon/types/tools/ozone/moderation/getRepos.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getSubjects.js +3 -5
- package/dist/lexicon/types/tools/ozone/moderation/getSubjects.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/listScheduledActions.js +3 -5
- package/dist/lexicon/types/tools/ozone/moderation/listScheduledActions.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/queryEvents.js +3 -5
- package/dist/lexicon/types/tools/ozone/moderation/queryEvents.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/queryStatuses.js +3 -5
- package/dist/lexicon/types/tools/ozone/moderation/queryStatuses.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/scheduleAction.d.ts +5 -5
- package/dist/lexicon/types/tools/ozone/moderation/scheduleAction.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/scheduleAction.js +11 -21
- package/dist/lexicon/types/tools/ozone/moderation/scheduleAction.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/searchRepos.js +3 -5
- package/dist/lexicon/types/tools/ozone/moderation/searchRepos.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/queue/assignModerator.js +3 -5
- package/dist/lexicon/types/tools/ozone/queue/assignModerator.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/queue/createQueue.js +3 -5
- package/dist/lexicon/types/tools/ozone/queue/createQueue.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/queue/defs.d.ts +3 -3
- package/dist/lexicon/types/tools/ozone/queue/defs.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/queue/defs.js +9 -17
- package/dist/lexicon/types/tools/ozone/queue/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/queue/deleteQueue.js +3 -5
- package/dist/lexicon/types/tools/ozone/queue/deleteQueue.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/queue/getAssignments.js +3 -5
- package/dist/lexicon/types/tools/ozone/queue/getAssignments.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/queue/listQueues.js +3 -5
- package/dist/lexicon/types/tools/ozone/queue/listQueues.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/queue/routeReports.js +3 -5
- package/dist/lexicon/types/tools/ozone/queue/routeReports.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/queue/unassignModerator.js +3 -5
- package/dist/lexicon/types/tools/ozone/queue/unassignModerator.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/queue/updateQueue.js +3 -5
- package/dist/lexicon/types/tools/ozone/queue/updateQueue.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/report/assignModerator.js +3 -5
- package/dist/lexicon/types/tools/ozone/report/assignModerator.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/report/createActivity.d.ts +1 -1
- package/dist/lexicon/types/tools/ozone/report/createActivity.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/report/createActivity.js +3 -5
- package/dist/lexicon/types/tools/ozone/report/createActivity.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/report/defs.d.ts +13 -13
- package/dist/lexicon/types/tools/ozone/report/defs.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/report/defs.js +67 -94
- package/dist/lexicon/types/tools/ozone/report/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/report/getAssignments.js +3 -5
- package/dist/lexicon/types/tools/ozone/report/getAssignments.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/report/getHistoricalStats.js +3 -5
- package/dist/lexicon/types/tools/ozone/report/getHistoricalStats.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/report/getLatestReport.js +3 -5
- package/dist/lexicon/types/tools/ozone/report/getLatestReport.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/report/getLiveStats.js +3 -5
- package/dist/lexicon/types/tools/ozone/report/getLiveStats.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/report/getReport.js +3 -5
- package/dist/lexicon/types/tools/ozone/report/getReport.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/report/listActivities.js +3 -5
- package/dist/lexicon/types/tools/ozone/report/listActivities.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/report/queryReports.js +3 -5
- package/dist/lexicon/types/tools/ozone/report/queryReports.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/report/reassignQueue.js +3 -5
- package/dist/lexicon/types/tools/ozone/report/reassignQueue.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/report/refreshStats.js +3 -5
- package/dist/lexicon/types/tools/ozone/report/refreshStats.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/report/unassignModerator.js +3 -5
- package/dist/lexicon/types/tools/ozone/report/unassignModerator.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/safelink/addRule.js +3 -5
- package/dist/lexicon/types/tools/ozone/safelink/addRule.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/safelink/defs.d.ts +2 -2
- package/dist/lexicon/types/tools/ozone/safelink/defs.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/safelink/defs.js +7 -13
- package/dist/lexicon/types/tools/ozone/safelink/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/safelink/queryEvents.js +3 -5
- package/dist/lexicon/types/tools/ozone/safelink/queryEvents.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/safelink/queryRules.js +3 -5
- package/dist/lexicon/types/tools/ozone/safelink/queryRules.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/safelink/removeRule.js +3 -5
- package/dist/lexicon/types/tools/ozone/safelink/removeRule.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/safelink/updateRule.js +3 -5
- package/dist/lexicon/types/tools/ozone/safelink/updateRule.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/server/getConfig.d.ts +2 -2
- package/dist/lexicon/types/tools/ozone/server/getConfig.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/server/getConfig.js +7 -13
- package/dist/lexicon/types/tools/ozone/server/getConfig.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/set/addValues.js +3 -5
- package/dist/lexicon/types/tools/ozone/set/addValues.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/set/defs.d.ts +2 -2
- package/dist/lexicon/types/tools/ozone/set/defs.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/set/defs.js +7 -13
- package/dist/lexicon/types/tools/ozone/set/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/set/deleteSet.js +3 -5
- package/dist/lexicon/types/tools/ozone/set/deleteSet.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/set/deleteValues.js +3 -5
- package/dist/lexicon/types/tools/ozone/set/deleteValues.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/set/getValues.js +3 -5
- package/dist/lexicon/types/tools/ozone/set/getValues.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/set/querySets.js +3 -5
- package/dist/lexicon/types/tools/ozone/set/querySets.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/set/upsertSet.js +3 -5
- package/dist/lexicon/types/tools/ozone/set/upsertSet.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/setting/defs.d.ts +1 -1
- package/dist/lexicon/types/tools/ozone/setting/defs.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/setting/defs.js +5 -9
- package/dist/lexicon/types/tools/ozone/setting/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/setting/listOptions.js +3 -5
- package/dist/lexicon/types/tools/ozone/setting/listOptions.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/setting/removeOptions.js +3 -5
- package/dist/lexicon/types/tools/ozone/setting/removeOptions.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/setting/upsertOption.js +3 -5
- package/dist/lexicon/types/tools/ozone/setting/upsertOption.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/signature/defs.d.ts +1 -1
- package/dist/lexicon/types/tools/ozone/signature/defs.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/signature/defs.js +5 -9
- package/dist/lexicon/types/tools/ozone/signature/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/signature/findCorrelation.js +3 -5
- package/dist/lexicon/types/tools/ozone/signature/findCorrelation.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/signature/findRelatedAccounts.d.ts +1 -1
- package/dist/lexicon/types/tools/ozone/signature/findRelatedAccounts.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/signature/findRelatedAccounts.js +5 -9
- package/dist/lexicon/types/tools/ozone/signature/findRelatedAccounts.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/signature/searchAccounts.js +3 -5
- package/dist/lexicon/types/tools/ozone/signature/searchAccounts.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/team/addMember.js +3 -5
- package/dist/lexicon/types/tools/ozone/team/addMember.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/team/defs.d.ts +1 -1
- package/dist/lexicon/types/tools/ozone/team/defs.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/team/defs.js +9 -14
- package/dist/lexicon/types/tools/ozone/team/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/team/deleteMember.js +3 -5
- package/dist/lexicon/types/tools/ozone/team/deleteMember.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/team/listMembers.js +3 -5
- package/dist/lexicon/types/tools/ozone/team/listMembers.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/team/updateMember.js +3 -5
- package/dist/lexicon/types/tools/ozone/team/updateMember.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/verification/defs.d.ts +2 -2
- package/dist/lexicon/types/tools/ozone/verification/defs.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/verification/defs.js +5 -9
- package/dist/lexicon/types/tools/ozone/verification/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/verification/grantVerifications.d.ts +2 -2
- package/dist/lexicon/types/tools/ozone/verification/grantVerifications.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/verification/grantVerifications.js +7 -13
- package/dist/lexicon/types/tools/ozone/verification/grantVerifications.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/verification/listVerifications.js +3 -5
- package/dist/lexicon/types/tools/ozone/verification/listVerifications.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/verification/revokeVerifications.d.ts +1 -1
- package/dist/lexicon/types/tools/ozone/verification/revokeVerifications.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/verification/revokeVerifications.js +5 -9
- package/dist/lexicon/types/tools/ozone/verification/revokeVerifications.js.map +1 -1
- package/dist/lexicon/util.js +3 -8
- package/dist/lexicon/util.js.map +1 -1
- package/dist/logger.js +11 -14
- package/dist/logger.js.map +1 -1
- package/dist/mod-service/expiring-tags.d.ts +2 -2
- package/dist/mod-service/expiring-tags.d.ts.map +1 -1
- package/dist/mod-service/expiring-tags.js +4 -10
- package/dist/mod-service/expiring-tags.js.map +1 -1
- package/dist/mod-service/index.d.ts +15 -15
- package/dist/mod-service/index.d.ts.map +1 -1
- package/dist/mod-service/index.js +126 -190
- package/dist/mod-service/index.js.map +1 -1
- package/dist/mod-service/profile.d.ts +1 -1
- package/dist/mod-service/profile.d.ts.map +1 -1
- package/dist/mod-service/profile.js +53 -78
- package/dist/mod-service/profile.js.map +1 -1
- package/dist/mod-service/report.d.ts +3 -3
- package/dist/mod-service/report.d.ts.map +1 -1
- package/dist/mod-service/report.js +22 -29
- package/dist/mod-service/report.js.map +1 -1
- package/dist/mod-service/status.d.ts +117 -117
- package/dist/mod-service/status.d.ts.map +1 -1
- package/dist/mod-service/status.js +30 -36
- package/dist/mod-service/status.js.map +1 -1
- package/dist/mod-service/strike.d.ts +1 -1
- package/dist/mod-service/strike.d.ts.map +1 -1
- package/dist/mod-service/strike.js +2 -11
- package/dist/mod-service/strike.js.map +1 -1
- package/dist/mod-service/subject.d.ts +7 -7
- package/dist/mod-service/subject.d.ts.map +1 -1
- package/dist/mod-service/subject.js +30 -145
- package/dist/mod-service/subject.js.map +1 -1
- package/dist/mod-service/types.d.ts +4 -4
- package/dist/mod-service/types.d.ts.map +1 -1
- package/dist/mod-service/types.js +1 -2
- package/dist/mod-service/types.js.map +1 -1
- package/dist/mod-service/util.d.ts +3 -3
- package/dist/mod-service/util.d.ts.map +1 -1
- package/dist/mod-service/util.js +18 -31
- package/dist/mod-service/util.js.map +1 -1
- package/dist/mod-service/views.d.ts +10 -10
- package/dist/mod-service/views.d.ts.map +1 -1
- package/dist/mod-service/views.js +76 -116
- package/dist/mod-service/views.js.map +1 -1
- package/dist/queue/service.d.ts +2 -2
- package/dist/queue/service.d.ts.map +1 -1
- package/dist/queue/service.js +23 -33
- package/dist/queue/service.js.map +1 -1
- package/dist/report/activity.d.ts +3 -3
- package/dist/report/activity.d.ts.map +1 -1
- package/dist/report/activity.js +12 -18
- package/dist/report/activity.js.map +1 -1
- package/dist/report/handle-report-update.js +9 -35
- package/dist/report/handle-report-update.js.map +1 -1
- package/dist/report/reassign.d.ts +2 -2
- package/dist/report/reassign.d.ts.map +1 -1
- package/dist/report/reassign.js +7 -10
- package/dist/report/reassign.js.map +1 -1
- package/dist/report/stats.d.ts +2 -2
- package/dist/report/stats.d.ts.map +1 -1
- package/dist/report/stats.js +41 -50
- package/dist/report/stats.js.map +1 -1
- package/dist/report/views.d.ts +20 -17
- package/dist/report/views.d.ts.map +1 -1
- package/dist/report/views.js +8 -15
- package/dist/report/views.js.map +1 -1
- package/dist/safelink/service.d.ts +3 -3
- package/dist/safelink/service.d.ts.map +1 -1
- package/dist/safelink/service.js +6 -15
- package/dist/safelink/service.js.map +1 -1
- package/dist/scheduled-action/service.d.ts +5 -5
- package/dist/scheduled-action/service.d.ts.map +1 -1
- package/dist/scheduled-action/service.js +7 -16
- package/dist/scheduled-action/service.js.map +1 -1
- package/dist/scheduled-action/types.d.ts +1 -1
- package/dist/scheduled-action/types.d.ts.map +1 -1
- package/dist/scheduled-action/types.js +1 -2
- package/dist/scheduled-action/types.js.map +1 -1
- package/dist/sequencer/index.d.ts +2 -2
- package/dist/sequencer/index.d.ts.map +1 -1
- package/dist/sequencer/index.js +2 -18
- package/dist/sequencer/index.js.map +1 -1
- package/dist/sequencer/outbox.d.ts +1 -1
- package/dist/sequencer/outbox.d.ts.map +1 -1
- package/dist/sequencer/outbox.js +9 -40
- package/dist/sequencer/outbox.js.map +1 -1
- package/dist/sequencer/sequencer.d.ts +9 -8
- package/dist/sequencer/sequencer.d.ts.map +1 -1
- package/dist/sequencer/sequencer.js +11 -56
- package/dist/sequencer/sequencer.js.map +1 -1
- package/dist/set/service.d.ts +4 -4
- package/dist/set/service.d.ts.map +1 -1
- package/dist/set/service.js +5 -14
- package/dist/set/service.js.map +1 -1
- package/dist/setting/constants.js +3 -6
- package/dist/setting/constants.js.map +1 -1
- package/dist/setting/service.d.ts +4 -4
- package/dist/setting/service.d.ts.map +1 -1
- package/dist/setting/service.js +6 -18
- package/dist/setting/service.js.map +1 -1
- package/dist/setting/types.js +1 -2
- package/dist/setting/validators.d.ts +1 -1
- package/dist/setting/validators.d.ts.map +1 -1
- package/dist/setting/validators.js +33 -36
- package/dist/setting/validators.js.map +1 -1
- package/dist/tag-service/content-tagger.d.ts +3 -3
- package/dist/tag-service/content-tagger.d.ts.map +1 -1
- package/dist/tag-service/content-tagger.js +4 -23
- package/dist/tag-service/content-tagger.js.map +1 -1
- package/dist/tag-service/embed-tagger.d.ts +1 -1
- package/dist/tag-service/embed-tagger.d.ts.map +1 -1
- package/dist/tag-service/embed-tagger.js +13 -22
- package/dist/tag-service/embed-tagger.js.map +1 -1
- package/dist/tag-service/index.d.ts +3 -3
- package/dist/tag-service/index.d.ts.map +1 -1
- package/dist/tag-service/index.js +12 -42
- package/dist/tag-service/index.js.map +1 -1
- package/dist/tag-service/language-data.js +4 -8
- package/dist/tag-service/language-data.js.map +1 -1
- package/dist/tag-service/language-tagger.d.ts +1 -1
- package/dist/tag-service/language-tagger.d.ts.map +1 -1
- package/dist/tag-service/language-tagger.js +13 -56
- package/dist/tag-service/language-tagger.js.map +1 -1
- package/dist/tag-service/util.d.ts +1 -1
- package/dist/tag-service/util.d.ts.map +1 -1
- package/dist/tag-service/util.js +1 -5
- package/dist/tag-service/util.js.map +1 -1
- package/dist/team/index.d.ts +5 -5
- package/dist/team/index.d.ts.map +1 -1
- package/dist/team/index.js +13 -37
- package/dist/team/index.js.map +1 -1
- package/dist/util.d.ts +1 -1
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +19 -32
- package/dist/util.js.map +1 -1
- package/dist/verification/issuer.d.ts +2 -2
- package/dist/verification/issuer.d.ts.map +1 -1
- package/dist/verification/issuer.js +6 -25
- package/dist/verification/issuer.js.map +1 -1
- package/dist/verification/service.d.ts +2 -2
- package/dist/verification/service.d.ts.map +1 -1
- package/dist/verification/service.js +7 -16
- package/dist/verification/service.js.map +1 -1
- package/dist/verification/util.d.ts +3 -3
- package/dist/verification/util.d.ts.map +1 -1
- package/dist/verification/util.js +4 -8
- package/dist/verification/util.js.map +1 -1
- package/jest.config.cjs +22 -0
- package/package.json +28 -22
- package/src/api/chat/getActorMetadata.ts +3 -3
- package/src/api/chat/getMessageContext.ts +3 -3
- package/src/api/chat/index.ts +4 -4
- package/src/api/communication/createTemplate.ts +3 -3
- package/src/api/communication/deleteTemplate.ts +2 -2
- package/src/api/communication/listTemplates.ts +2 -2
- package/src/api/communication/updateTemplate.ts +3 -3
- package/src/api/health.ts +1 -1
- package/src/api/index.ts +71 -71
- package/src/api/label/fetchLabels.ts +2 -2
- package/src/api/label/queryLabels.ts +2 -2
- package/src/api/label/subscribeLabels.ts +3 -3
- package/src/api/moderation/cancelScheduledActions.ts +4 -4
- package/src/api/moderation/emitEvent.ts +16 -16
- package/src/api/moderation/getAccountTimeline.ts +4 -4
- package/src/api/moderation/getEvent.ts +2 -2
- package/src/api/moderation/getRecord.ts +3 -3
- package/src/api/moderation/getRecords.ts +3 -3
- package/src/api/moderation/getRepo.ts +3 -3
- package/src/api/moderation/getReporterStats.ts +2 -2
- package/src/api/moderation/getRepos.ts +3 -3
- package/src/api/moderation/getSubjects.ts +4 -4
- package/src/api/moderation/listScheduledActions.ts +3 -3
- package/src/api/moderation/queryEvents.ts +3 -3
- package/src/api/moderation/queryStatuses.ts +2 -2
- package/src/api/moderation/scheduleAction.ts +6 -6
- package/src/api/moderation/searchRepos.ts +3 -3
- package/src/api/moderation/util.ts +3 -3
- package/src/api/proxied.ts +3 -3
- package/src/api/queue/assignModerator.ts +3 -3
- package/src/api/queue/createQueue.ts +2 -2
- package/src/api/queue/deleteQueue.ts +2 -2
- package/src/api/queue/getAssignments.ts +2 -2
- package/src/api/queue/listQueues.ts +2 -2
- package/src/api/queue/routeReports.ts +2 -2
- package/src/api/queue/unassignModerator.ts +3 -3
- package/src/api/queue/updateQueue.ts +2 -2
- package/src/api/report/assignModerator.ts +3 -3
- package/src/api/report/createActivity.ts +4 -4
- package/src/api/report/createReport.ts +8 -8
- package/src/api/report/getAssignments.ts +2 -2
- package/src/api/report/getHistoricalStats.ts +3 -3
- package/src/api/report/getLatestReport.ts +5 -5
- package/src/api/report/getLiveStats.ts +3 -3
- package/src/api/report/getReport.ts +5 -5
- package/src/api/report/listActivities.ts +6 -3
- package/src/api/report/queryReports.ts +5 -5
- package/src/api/report/reassignQueue.ts +6 -6
- package/src/api/report/refreshStats.ts +2 -2
- package/src/api/report/unassignModerator.ts +3 -3
- package/src/api/safelink/addRule.ts +3 -3
- package/src/api/safelink/queryEvents.ts +3 -3
- package/src/api/safelink/queryRules.ts +3 -3
- package/src/api/safelink/removeRule.ts +3 -3
- package/src/api/safelink/updateRule.ts +3 -3
- package/src/api/server/getConfig.ts +2 -2
- package/src/api/set/addValues.ts +2 -2
- package/src/api/set/deleteSet.ts +2 -2
- package/src/api/set/deleteValues.ts +2 -2
- package/src/api/set/getValues.ts +2 -2
- package/src/api/set/querySets.ts +2 -2
- package/src/api/set/upsertSet.ts +2 -2
- package/src/api/setting/listOptions.ts +2 -2
- package/src/api/setting/removeOptions.ts +3 -3
- package/src/api/setting/upsertOption.ts +6 -6
- package/src/api/team/addMember.ts +3 -3
- package/src/api/team/deleteMember.ts +2 -2
- package/src/api/team/listMembers.ts +2 -2
- package/src/api/team/updateMember.ts +3 -3
- package/src/api/util.ts +10 -10
- package/src/api/verification/grantVerifications.ts +4 -4
- package/src/api/verification/listVerifications.ts +3 -3
- package/src/api/verification/revokeVerifications.ts +2 -2
- package/src/api/well-known.ts +1 -1
- package/src/assignment/index.ts +9 -9
- package/src/auth-verifier.ts +1 -1
- package/src/background.ts +9 -5
- package/src/communication-service/template.ts +3 -3
- package/src/config/config.ts +1 -1
- package/src/config/index.ts +3 -3
- package/src/config/secrets.ts +1 -1
- package/src/context.ts +29 -23
- package/src/daemon/blob-diverter.ts +3 -3
- package/src/daemon/context.ts +20 -20
- package/src/daemon/event-pusher.ts +7 -7
- package/src/daemon/event-reverser.ts +8 -5
- package/src/daemon/index.ts +8 -8
- package/src/daemon/job-cursor.ts +1 -1
- package/src/daemon/materialized-view-refresher.ts +2 -2
- package/src/daemon/queue-router.ts +4 -4
- package/src/daemon/scheduled-action-processor.ts +14 -11
- package/src/daemon/stats-computer.ts +3 -3
- package/src/daemon/strike-expiry-processor.ts +4 -4
- package/src/daemon/team-profile-synchronizer.ts +2 -2
- package/src/daemon/verification-listener.ts +5 -5
- package/src/db/index.ts +13 -9
- package/src/db/migrations/20241220T144630860Z-stats-materialized-views.ts +6 -6
- package/src/db/migrations/20250718T150931000Z-update-appeal-reason-stats.ts +5 -5
- package/src/db/migrations/index.ts +38 -38
- package/src/db/pagination.ts +1 -1
- package/src/db/schema/index.ts +27 -27
- package/src/db/schema/moderation_subject_status.ts +1 -1
- package/src/db/schema/safelink.ts +1 -1
- package/src/db/schema/setting.ts +1 -1
- package/src/db/types.ts +3 -1
- package/src/error.ts +1 -1
- package/src/index.ts +19 -15
- package/src/jetstream/service.ts +1 -0
- package/src/lexicon/index.ts +6 -6
- package/src/lexicon/lexicons.ts +638 -14
- package/src/lexicon/types/app/bsky/actor/defs.ts +2 -2
- package/src/lexicon/types/app/bsky/actor/getPreferences.ts +2 -2
- package/src/lexicon/types/app/bsky/actor/getProfile.ts +2 -2
- package/src/lexicon/types/app/bsky/actor/getProfiles.ts +2 -2
- package/src/lexicon/types/app/bsky/actor/getSuggestions.ts +2 -2
- package/src/lexicon/types/app/bsky/actor/profile.ts +2 -2
- package/src/lexicon/types/app/bsky/actor/putPreferences.ts +2 -2
- package/src/lexicon/types/app/bsky/actor/searchActors.ts +2 -2
- package/src/lexicon/types/app/bsky/actor/searchActorsTypeahead.ts +2 -2
- package/src/lexicon/types/app/bsky/actor/status.ts +2 -2
- package/src/lexicon/types/app/bsky/ageassurance/begin.ts +2 -2
- package/src/lexicon/types/app/bsky/ageassurance/defs.ts +2 -2
- package/src/lexicon/types/app/bsky/ageassurance/getConfig.ts +2 -2
- package/src/lexicon/types/app/bsky/ageassurance/getState.ts +2 -2
- package/src/lexicon/types/app/bsky/bookmark/createBookmark.ts +2 -2
- package/src/lexicon/types/app/bsky/bookmark/defs.ts +2 -2
- package/src/lexicon/types/app/bsky/bookmark/deleteBookmark.ts +2 -2
- package/src/lexicon/types/app/bsky/bookmark/getBookmarks.ts +2 -2
- package/src/lexicon/types/app/bsky/contact/defs.ts +2 -2
- package/src/lexicon/types/app/bsky/contact/dismissMatch.ts +2 -2
- package/src/lexicon/types/app/bsky/contact/getMatches.ts +2 -2
- package/src/lexicon/types/app/bsky/contact/getSyncStatus.ts +2 -2
- package/src/lexicon/types/app/bsky/contact/importContacts.ts +2 -2
- package/src/lexicon/types/app/bsky/contact/removeData.ts +2 -2
- package/src/lexicon/types/app/bsky/contact/sendNotification.ts +2 -2
- package/src/lexicon/types/app/bsky/contact/startPhoneVerification.ts +2 -2
- package/src/lexicon/types/app/bsky/contact/verifyPhone.ts +2 -2
- package/src/lexicon/types/app/bsky/draft/createDraft.ts +2 -2
- package/src/lexicon/types/app/bsky/draft/defs.ts +2 -2
- package/src/lexicon/types/app/bsky/draft/deleteDraft.ts +2 -2
- package/src/lexicon/types/app/bsky/draft/getDrafts.ts +2 -2
- package/src/lexicon/types/app/bsky/draft/updateDraft.ts +2 -2
- package/src/lexicon/types/app/bsky/embed/defs.ts +2 -2
- package/src/lexicon/types/app/bsky/embed/external.ts +4 -3
- package/src/lexicon/types/app/bsky/embed/images.ts +2 -2
- package/src/lexicon/types/app/bsky/embed/record.ts +2 -2
- package/src/lexicon/types/app/bsky/embed/recordWithMedia.ts +2 -2
- package/src/lexicon/types/app/bsky/embed/video.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/defs.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/describeFeedGenerator.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/generator.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/getActorFeeds.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/getActorLikes.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/getAuthorFeed.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/getFeed.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/getFeedGenerator.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/getFeedGenerators.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/getFeedSkeleton.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/getLikes.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/getListFeed.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/getPostThread.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/getPosts.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/getQuotes.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/getRepostedBy.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/getSuggestedFeeds.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/getTimeline.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/like.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/post.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/postgate.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/repost.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/searchPosts.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/sendInteractions.ts +2 -2
- package/src/lexicon/types/app/bsky/feed/threadgate.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/block.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/defs.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/follow.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/getActorStarterPacks.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/getBlocks.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/getFollowers.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/getFollows.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/getKnownFollowers.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/getList.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/getListBlocks.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/getListMutes.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/getLists.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/getListsWithMembership.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/getMutes.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/getRelationships.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/getStarterPack.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/getStarterPacks.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/getStarterPacksWithMembership.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/list.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/listblock.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/listitem.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/muteActor.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/muteActorList.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/muteThread.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/searchStarterPacks.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/starterpack.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/unmuteActor.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/unmuteActorList.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/unmuteThread.ts +2 -2
- package/src/lexicon/types/app/bsky/graph/verification.ts +2 -2
- package/src/lexicon/types/app/bsky/labeler/defs.ts +2 -2
- package/src/lexicon/types/app/bsky/labeler/getServices.ts +2 -2
- package/src/lexicon/types/app/bsky/labeler/service.ts +2 -2
- package/src/lexicon/types/app/bsky/notification/declaration.ts +2 -2
- package/src/lexicon/types/app/bsky/notification/defs.ts +2 -2
- package/src/lexicon/types/app/bsky/notification/getPreferences.ts +2 -2
- package/src/lexicon/types/app/bsky/notification/getUnreadCount.ts +2 -2
- package/src/lexicon/types/app/bsky/notification/listActivitySubscriptions.ts +2 -2
- package/src/lexicon/types/app/bsky/notification/listNotifications.ts +2 -2
- package/src/lexicon/types/app/bsky/notification/putActivitySubscription.ts +2 -2
- package/src/lexicon/types/app/bsky/notification/putPreferences.ts +2 -2
- package/src/lexicon/types/app/bsky/notification/putPreferencesV2.ts +2 -2
- package/src/lexicon/types/app/bsky/notification/registerPush.ts +2 -2
- package/src/lexicon/types/app/bsky/notification/unregisterPush.ts +2 -2
- package/src/lexicon/types/app/bsky/notification/updateSeen.ts +2 -2
- package/src/lexicon/types/app/bsky/richtext/facet.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/defs.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getAgeAssuranceState.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getConfig.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getOnboardingSuggestedUsersSkeleton.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getPostThreadV2.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedFeeds.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedOnboardingUsers.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedUsers.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedUsersForDiscover.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedUsersForDiscoverSkeleton.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedUsersForExplore.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedUsersForExploreSkeleton.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedUsersForSeeMore.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedUsersForSeeMoreSkeleton.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedUsersSkeleton.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getTrendingTopics.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getTrends.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/initAgeAssurance.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.ts +2 -2
- package/src/lexicon/types/app/bsky/unspecced/searchStarterPacksSkeleton.ts +2 -2
- package/src/lexicon/types/app/bsky/video/defs.ts +2 -2
- package/src/lexicon/types/app/bsky/video/getJobStatus.ts +2 -2
- package/src/lexicon/types/app/bsky/video/getUploadLimits.ts +2 -2
- package/src/lexicon/types/app/bsky/video/uploadVideo.ts +2 -2
- package/src/lexicon/types/chat/bsky/actor/declaration.ts +2 -2
- package/src/lexicon/types/chat/bsky/actor/defs.ts +2 -2
- package/src/lexicon/types/chat/bsky/actor/deleteAccount.ts +2 -2
- package/src/lexicon/types/chat/bsky/actor/exportAccountData.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/acceptConvo.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/addReaction.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/defs.ts +19 -3
- package/src/lexicon/types/chat/bsky/convo/deleteMessageForSelf.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/getConvo.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/getConvoAvailability.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/getConvoForMembers.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/getConvoMembers.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/getLog.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/getMessages.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/leaveConvo.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/listConvoRequests.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/listConvos.ts +4 -2
- package/src/lexicon/types/chat/bsky/convo/lockConvo.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/muteConvo.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/removeReaction.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/sendMessage.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/sendMessageBatch.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/unlockConvo.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/unmuteConvo.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/updateAllRead.ts +2 -2
- package/src/lexicon/types/chat/bsky/convo/updateRead.ts +2 -2
- package/src/lexicon/types/chat/bsky/group/addMembers.ts +3 -3
- package/src/lexicon/types/chat/bsky/group/approveJoinRequest.ts +2 -2
- package/src/lexicon/types/chat/bsky/group/createGroup.ts +3 -3
- package/src/lexicon/types/chat/bsky/group/createJoinLink.ts +2 -2
- package/src/lexicon/types/chat/bsky/group/defs.ts +11 -9
- package/src/lexicon/types/chat/bsky/group/disableJoinLink.ts +2 -2
- package/src/lexicon/types/chat/bsky/group/editGroup.ts +2 -2
- package/src/lexicon/types/chat/bsky/group/editJoinLink.ts +2 -2
- package/src/lexicon/types/chat/bsky/group/enableJoinLink.ts +2 -2
- package/src/lexicon/types/chat/bsky/group/{getGroupPublicInfo.ts → getJoinLinkPreview.ts} +4 -4
- package/src/lexicon/types/chat/bsky/group/listJoinRequests.ts +2 -2
- package/src/lexicon/types/chat/bsky/group/rejectJoinRequest.ts +2 -2
- package/src/lexicon/types/chat/bsky/group/removeMembers.ts +2 -2
- package/src/lexicon/types/chat/bsky/group/requestJoin.ts +2 -2
- package/src/lexicon/types/chat/bsky/moderation/getActorMetadata.ts +2 -2
- package/src/lexicon/types/chat/bsky/moderation/getMessageContext.ts +6 -3
- package/src/lexicon/types/chat/bsky/moderation/subscribeModEvents.ts +342 -3
- package/src/lexicon/types/chat/bsky/moderation/updateActorAccess.ts +2 -2
- package/src/lexicon/types/com/atproto/admin/defs.ts +2 -2
- package/src/lexicon/types/com/atproto/admin/deleteAccount.ts +2 -2
- package/src/lexicon/types/com/atproto/admin/disableAccountInvites.ts +2 -2
- package/src/lexicon/types/com/atproto/admin/disableInviteCodes.ts +2 -2
- package/src/lexicon/types/com/atproto/admin/enableAccountInvites.ts +2 -2
- package/src/lexicon/types/com/atproto/admin/getAccountInfo.ts +2 -2
- package/src/lexicon/types/com/atproto/admin/getAccountInfos.ts +2 -2
- package/src/lexicon/types/com/atproto/admin/getInviteCodes.ts +2 -2
- package/src/lexicon/types/com/atproto/admin/getSubjectStatus.ts +2 -2
- package/src/lexicon/types/com/atproto/admin/searchAccounts.ts +2 -2
- package/src/lexicon/types/com/atproto/admin/sendEmail.ts +2 -2
- package/src/lexicon/types/com/atproto/admin/updateAccountEmail.ts +2 -2
- package/src/lexicon/types/com/atproto/admin/updateAccountHandle.ts +2 -2
- package/src/lexicon/types/com/atproto/admin/updateAccountPassword.ts +2 -2
- package/src/lexicon/types/com/atproto/admin/updateAccountSigningKey.ts +2 -2
- package/src/lexicon/types/com/atproto/admin/updateSubjectStatus.ts +2 -2
- package/src/lexicon/types/com/atproto/identity/defs.ts +2 -2
- package/src/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.ts +2 -2
- package/src/lexicon/types/com/atproto/identity/refreshIdentity.ts +2 -2
- package/src/lexicon/types/com/atproto/identity/requestPlcOperationSignature.ts +2 -2
- package/src/lexicon/types/com/atproto/identity/resolveDid.ts +2 -2
- package/src/lexicon/types/com/atproto/identity/resolveHandle.ts +2 -2
- package/src/lexicon/types/com/atproto/identity/resolveIdentity.ts +2 -2
- package/src/lexicon/types/com/atproto/identity/signPlcOperation.ts +2 -2
- package/src/lexicon/types/com/atproto/identity/submitPlcOperation.ts +2 -2
- package/src/lexicon/types/com/atproto/identity/updateHandle.ts +2 -2
- package/src/lexicon/types/com/atproto/label/defs.ts +2 -2
- package/src/lexicon/types/com/atproto/label/queryLabels.ts +2 -2
- package/src/lexicon/types/com/atproto/label/subscribeLabels.ts +2 -2
- package/src/lexicon/types/com/atproto/lexicon/resolveLexicon.ts +2 -2
- package/src/lexicon/types/com/atproto/lexicon/schema.ts +2 -2
- package/src/lexicon/types/com/atproto/moderation/createReport.ts +2 -2
- package/src/lexicon/types/com/atproto/moderation/defs.ts +2 -2
- package/src/lexicon/types/com/atproto/repo/applyWrites.ts +2 -2
- package/src/lexicon/types/com/atproto/repo/createRecord.ts +2 -2
- package/src/lexicon/types/com/atproto/repo/defs.ts +2 -2
- package/src/lexicon/types/com/atproto/repo/deleteRecord.ts +2 -2
- package/src/lexicon/types/com/atproto/repo/describeRepo.ts +2 -2
- package/src/lexicon/types/com/atproto/repo/getRecord.ts +2 -2
- package/src/lexicon/types/com/atproto/repo/importRepo.ts +2 -2
- package/src/lexicon/types/com/atproto/repo/listMissingBlobs.ts +2 -2
- package/src/lexicon/types/com/atproto/repo/listRecords.ts +2 -2
- package/src/lexicon/types/com/atproto/repo/putRecord.ts +2 -2
- package/src/lexicon/types/com/atproto/repo/strongRef.ts +2 -2
- package/src/lexicon/types/com/atproto/repo/uploadBlob.ts +2 -2
- package/src/lexicon/types/com/atproto/server/activateAccount.ts +2 -2
- package/src/lexicon/types/com/atproto/server/checkAccountStatus.ts +2 -2
- package/src/lexicon/types/com/atproto/server/confirmEmail.ts +2 -2
- package/src/lexicon/types/com/atproto/server/createAccount.ts +2 -2
- package/src/lexicon/types/com/atproto/server/createAppPassword.ts +2 -2
- package/src/lexicon/types/com/atproto/server/createInviteCode.ts +2 -2
- package/src/lexicon/types/com/atproto/server/createInviteCodes.ts +2 -2
- package/src/lexicon/types/com/atproto/server/createSession.ts +2 -2
- package/src/lexicon/types/com/atproto/server/deactivateAccount.ts +2 -2
- package/src/lexicon/types/com/atproto/server/defs.ts +2 -2
- package/src/lexicon/types/com/atproto/server/deleteAccount.ts +2 -2
- package/src/lexicon/types/com/atproto/server/deleteSession.ts +2 -2
- package/src/lexicon/types/com/atproto/server/describeServer.ts +2 -2
- package/src/lexicon/types/com/atproto/server/getAccountInviteCodes.ts +2 -2
- package/src/lexicon/types/com/atproto/server/getServiceAuth.ts +2 -2
- package/src/lexicon/types/com/atproto/server/getSession.ts +2 -2
- package/src/lexicon/types/com/atproto/server/listAppPasswords.ts +2 -2
- package/src/lexicon/types/com/atproto/server/refreshSession.ts +2 -2
- package/src/lexicon/types/com/atproto/server/requestAccountDelete.ts +2 -2
- package/src/lexicon/types/com/atproto/server/requestEmailConfirmation.ts +2 -2
- package/src/lexicon/types/com/atproto/server/requestEmailUpdate.ts +2 -2
- package/src/lexicon/types/com/atproto/server/requestPasswordReset.ts +2 -2
- package/src/lexicon/types/com/atproto/server/reserveSigningKey.ts +2 -2
- package/src/lexicon/types/com/atproto/server/resetPassword.ts +2 -2
- package/src/lexicon/types/com/atproto/server/revokeAppPassword.ts +2 -2
- package/src/lexicon/types/com/atproto/server/updateEmail.ts +2 -2
- package/src/lexicon/types/com/atproto/sync/defs.ts +2 -2
- package/src/lexicon/types/com/atproto/sync/getBlob.ts +2 -2
- package/src/lexicon/types/com/atproto/sync/getBlocks.ts +2 -2
- package/src/lexicon/types/com/atproto/sync/getCheckout.ts +2 -2
- package/src/lexicon/types/com/atproto/sync/getHead.ts +2 -2
- package/src/lexicon/types/com/atproto/sync/getHostStatus.ts +2 -2
- package/src/lexicon/types/com/atproto/sync/getLatestCommit.ts +2 -2
- package/src/lexicon/types/com/atproto/sync/getRecord.ts +2 -2
- package/src/lexicon/types/com/atproto/sync/getRepo.ts +2 -2
- package/src/lexicon/types/com/atproto/sync/getRepoStatus.ts +2 -2
- package/src/lexicon/types/com/atproto/sync/listBlobs.ts +2 -2
- package/src/lexicon/types/com/atproto/sync/listHosts.ts +2 -2
- package/src/lexicon/types/com/atproto/sync/listRepos.ts +2 -2
- package/src/lexicon/types/com/atproto/sync/listReposByCollection.ts +2 -2
- package/src/lexicon/types/com/atproto/sync/notifyOfUpdate.ts +2 -2
- package/src/lexicon/types/com/atproto/sync/requestCrawl.ts +2 -2
- package/src/lexicon/types/com/atproto/sync/subscribeRepos.ts +2 -2
- package/src/lexicon/types/com/atproto/temp/addReservedHandle.ts +2 -2
- package/src/lexicon/types/com/atproto/temp/checkHandleAvailability.ts +2 -2
- package/src/lexicon/types/com/atproto/temp/checkSignupQueue.ts +2 -2
- package/src/lexicon/types/com/atproto/temp/dereferenceScope.ts +2 -2
- package/src/lexicon/types/com/atproto/temp/fetchLabels.ts +2 -2
- package/src/lexicon/types/com/atproto/temp/requestPhoneVerification.ts +2 -2
- package/src/lexicon/types/com/atproto/temp/revokeAccountCredentials.ts +2 -2
- package/src/lexicon/types/tools/ozone/communication/createTemplate.ts +2 -2
- package/src/lexicon/types/tools/ozone/communication/defs.ts +2 -2
- package/src/lexicon/types/tools/ozone/communication/deleteTemplate.ts +2 -2
- package/src/lexicon/types/tools/ozone/communication/listTemplates.ts +2 -2
- package/src/lexicon/types/tools/ozone/communication/updateTemplate.ts +2 -2
- package/src/lexicon/types/tools/ozone/hosting/getAccountHistory.ts +2 -2
- package/src/lexicon/types/tools/ozone/moderation/cancelScheduledActions.ts +2 -2
- package/src/lexicon/types/tools/ozone/moderation/defs.ts +2 -2
- package/src/lexicon/types/tools/ozone/moderation/emitEvent.ts +2 -2
- package/src/lexicon/types/tools/ozone/moderation/getAccountTimeline.ts +2 -2
- package/src/lexicon/types/tools/ozone/moderation/getEvent.ts +2 -2
- package/src/lexicon/types/tools/ozone/moderation/getRecord.ts +2 -2
- package/src/lexicon/types/tools/ozone/moderation/getRecords.ts +2 -2
- package/src/lexicon/types/tools/ozone/moderation/getRepo.ts +2 -2
- package/src/lexicon/types/tools/ozone/moderation/getReporterStats.ts +2 -2
- package/src/lexicon/types/tools/ozone/moderation/getRepos.ts +2 -2
- package/src/lexicon/types/tools/ozone/moderation/getSubjects.ts +2 -2
- package/src/lexicon/types/tools/ozone/moderation/listScheduledActions.ts +2 -2
- package/src/lexicon/types/tools/ozone/moderation/queryEvents.ts +2 -2
- package/src/lexicon/types/tools/ozone/moderation/queryStatuses.ts +2 -2
- package/src/lexicon/types/tools/ozone/moderation/scheduleAction.ts +2 -2
- package/src/lexicon/types/tools/ozone/moderation/searchRepos.ts +2 -2
- package/src/lexicon/types/tools/ozone/queue/assignModerator.ts +2 -2
- package/src/lexicon/types/tools/ozone/queue/createQueue.ts +2 -2
- package/src/lexicon/types/tools/ozone/queue/defs.ts +2 -2
- package/src/lexicon/types/tools/ozone/queue/deleteQueue.ts +2 -2
- package/src/lexicon/types/tools/ozone/queue/getAssignments.ts +2 -2
- package/src/lexicon/types/tools/ozone/queue/listQueues.ts +2 -2
- package/src/lexicon/types/tools/ozone/queue/routeReports.ts +2 -2
- package/src/lexicon/types/tools/ozone/queue/unassignModerator.ts +2 -2
- package/src/lexicon/types/tools/ozone/queue/updateQueue.ts +2 -2
- package/src/lexicon/types/tools/ozone/report/assignModerator.ts +2 -2
- package/src/lexicon/types/tools/ozone/report/createActivity.ts +2 -2
- package/src/lexicon/types/tools/ozone/report/defs.ts +2 -2
- package/src/lexicon/types/tools/ozone/report/getAssignments.ts +2 -2
- package/src/lexicon/types/tools/ozone/report/getHistoricalStats.ts +2 -2
- package/src/lexicon/types/tools/ozone/report/getLatestReport.ts +2 -2
- package/src/lexicon/types/tools/ozone/report/getLiveStats.ts +2 -2
- package/src/lexicon/types/tools/ozone/report/getReport.ts +2 -2
- package/src/lexicon/types/tools/ozone/report/listActivities.ts +2 -2
- package/src/lexicon/types/tools/ozone/report/queryReports.ts +2 -2
- package/src/lexicon/types/tools/ozone/report/reassignQueue.ts +2 -2
- package/src/lexicon/types/tools/ozone/report/refreshStats.ts +2 -2
- package/src/lexicon/types/tools/ozone/report/unassignModerator.ts +2 -2
- package/src/lexicon/types/tools/ozone/safelink/addRule.ts +2 -2
- package/src/lexicon/types/tools/ozone/safelink/defs.ts +2 -2
- package/src/lexicon/types/tools/ozone/safelink/queryEvents.ts +2 -2
- package/src/lexicon/types/tools/ozone/safelink/queryRules.ts +2 -2
- package/src/lexicon/types/tools/ozone/safelink/removeRule.ts +2 -2
- package/src/lexicon/types/tools/ozone/safelink/updateRule.ts +2 -2
- package/src/lexicon/types/tools/ozone/server/getConfig.ts +2 -2
- package/src/lexicon/types/tools/ozone/set/addValues.ts +2 -2
- package/src/lexicon/types/tools/ozone/set/defs.ts +2 -2
- package/src/lexicon/types/tools/ozone/set/deleteSet.ts +2 -2
- package/src/lexicon/types/tools/ozone/set/deleteValues.ts +2 -2
- package/src/lexicon/types/tools/ozone/set/getValues.ts +2 -2
- package/src/lexicon/types/tools/ozone/set/querySets.ts +2 -2
- package/src/lexicon/types/tools/ozone/set/upsertSet.ts +2 -2
- package/src/lexicon/types/tools/ozone/setting/defs.ts +2 -2
- package/src/lexicon/types/tools/ozone/setting/listOptions.ts +2 -2
- package/src/lexicon/types/tools/ozone/setting/removeOptions.ts +2 -2
- package/src/lexicon/types/tools/ozone/setting/upsertOption.ts +2 -2
- package/src/lexicon/types/tools/ozone/signature/defs.ts +2 -2
- package/src/lexicon/types/tools/ozone/signature/findCorrelation.ts +2 -2
- package/src/lexicon/types/tools/ozone/signature/findRelatedAccounts.ts +2 -2
- package/src/lexicon/types/tools/ozone/signature/searchAccounts.ts +2 -2
- package/src/lexicon/types/tools/ozone/team/addMember.ts +2 -2
- package/src/lexicon/types/tools/ozone/team/defs.ts +2 -2
- package/src/lexicon/types/tools/ozone/team/deleteMember.ts +2 -2
- package/src/lexicon/types/tools/ozone/team/listMembers.ts +2 -2
- package/src/lexicon/types/tools/ozone/team/updateMember.ts +2 -2
- package/src/lexicon/types/tools/ozone/verification/defs.ts +2 -2
- package/src/lexicon/types/tools/ozone/verification/grantVerifications.ts +2 -2
- package/src/lexicon/types/tools/ozone/verification/listVerifications.ts +2 -2
- package/src/lexicon/types/tools/ozone/verification/revokeVerifications.ts +2 -2
- package/src/mod-service/expiring-tags.ts +2 -2
- package/src/mod-service/index.ts +30 -27
- package/src/mod-service/profile.ts +3 -3
- package/src/mod-service/report.ts +4 -4
- package/src/mod-service/status.ts +6 -6
- package/src/mod-service/strike.ts +1 -1
- package/src/mod-service/subject.ts +7 -7
- package/src/mod-service/types.ts +4 -4
- package/src/mod-service/util.ts +3 -3
- package/src/mod-service/views.ts +16 -16
- package/src/queue/service.ts +7 -7
- package/src/report/activity.ts +3 -3
- package/src/report/reassign.ts +2 -2
- package/src/report/stats.ts +5 -5
- package/src/report/views.ts +11 -13
- package/src/safelink/service.ts +3 -3
- package/src/scheduled-action/service.ts +6 -6
- package/src/scheduled-action/types.ts +1 -1
- package/src/sequencer/index.ts +2 -2
- package/src/sequencer/outbox.ts +1 -1
- package/src/sequencer/sequencer.ts +11 -9
- package/src/set/service.ts +4 -4
- package/src/setting/service.ts +4 -4
- package/src/setting/validators.ts +2 -2
- package/src/tag-service/content-tagger.ts +3 -3
- package/src/tag-service/embed-tagger.ts +3 -3
- package/src/tag-service/index.ts +7 -7
- package/src/tag-service/language-tagger.ts +4 -5
- package/src/tag-service/util.ts +1 -1
- package/src/team/index.ts +7 -7
- package/src/util.ts +1 -1
- package/src/verification/issuer.ts +2 -2
- package/src/verification/service.ts +3 -3
- package/src/verification/util.ts +7 -4
- package/tests/3p-labeler.test.ts +2 -2
- package/tests/__snapshots__/account-strikes.test.ts.snap +36 -36
- package/tests/__snapshots__/age-assurance.test.ts.snap +13 -13
- package/tests/__snapshots__/blob-divert.test.ts.snap +52 -52
- package/tests/__snapshots__/get-account-timeline.test.ts.snap +8 -8
- package/tests/__snapshots__/get-record.test.ts.snap +68 -68
- package/tests/__snapshots__/get-records.test.ts.snap +46 -46
- package/tests/__snapshots__/get-repo.test.ts.snap +22 -22
- package/tests/__snapshots__/get-repos.test.ts.snap +33 -33
- package/tests/__snapshots__/get-starter-pack.test.ts.snap +141 -141
- package/tests/__snapshots__/get-subjects.test.ts.snap +108 -108
- package/tests/__snapshots__/moderation-events.test.ts.snap +79 -79
- package/tests/__snapshots__/moderation-statuses.test.ts.snap +45 -45
- package/tests/__snapshots__/moderation.test.ts.snap +16 -16
- package/tests/__snapshots__/report-reason.test.ts.snap +3 -3
- package/tests/__snapshots__/safelink.test.ts.snap +19 -19
- package/tests/__snapshots__/scheduled-action.test.ts.snap +11 -11
- package/tests/__snapshots__/sets.test.ts.snap +7 -7
- package/tests/__snapshots__/settings.test.ts.snap +10 -10
- package/tests/__snapshots__/team.test.ts.snap +64 -64
- package/tests/__snapshots__/verification-listener.test.ts.snap +35 -35
- package/tests/__snapshots__/verification.test.ts.snap +71 -71
- package/tests/_util.ts +3 -3
- package/tests/account-strikes.test.ts +3 -3
- package/tests/ack-all-subjects-of-account.test.ts +3 -3
- package/tests/age-assurance.test.ts +1 -1
- package/tests/blob-divert.test.ts +2 -1
- package/tests/communication-templates.test.ts +1 -1
- package/tests/content-tagger.test.ts +2 -2
- package/tests/db.test.ts +1 -1
- package/tests/expiring-label.test.ts +1 -1
- package/tests/expiring-tags.test.ts +2 -2
- package/tests/get-account-timeline.test.ts +3 -3
- package/tests/get-config.test.ts +2 -2
- package/tests/get-lists.test.ts +2 -2
- package/tests/get-record.test.ts +3 -3
- package/tests/get-records.test.ts +3 -3
- package/tests/get-repo.test.ts +3 -3
- package/tests/get-report.test.ts +2 -2
- package/tests/get-repos.test.ts +3 -3
- package/tests/get-starter-pack.test.ts +3 -3
- package/tests/get-subjects.test.ts +3 -3
- package/tests/moderation-appeals.test.ts +2 -2
- package/tests/moderation-events.test.ts +4 -4
- package/tests/moderation-status-tags.test.ts +1 -1
- package/tests/moderation-statuses.test.ts +5 -5
- package/tests/moderation.test.ts +7 -7
- package/tests/protected-tags.test.ts +2 -2
- package/tests/query-labels.test.ts +5 -5
- package/tests/query-reports.test.ts +2 -2
- package/tests/queue-assignment.test.ts +1 -1
- package/tests/queue-router.test.ts +1 -1
- package/tests/queues.test.ts +1 -1
- package/tests/record-and-account-events.test.ts +5 -5
- package/tests/repo-search.test.ts +3 -3
- package/tests/report-action.test.ts +1 -1
- package/tests/report-activity.test.ts +2 -2
- package/tests/report-assignment.test.ts +1 -1
- package/tests/report-muting.test.ts +1 -1
- package/tests/report-reason.test.ts +3 -3
- package/tests/report-reassign-queue.test.ts +2 -2
- package/tests/report-routing.test.ts +1 -1
- package/tests/report-stats.test.ts +2 -2
- package/tests/safelink.test.ts +2 -2
- package/tests/scheduled-action-processor.test.ts +3 -3
- package/tests/scheduled-action.test.ts +2 -2
- package/tests/sequencer.test.ts +3 -3
- package/tests/server.test.ts +2 -2
- package/tests/sets.test.ts +2 -2
- package/tests/settings.test.ts +3 -3
- package/tests/strike-expiry-processor.test.ts +2 -2
- package/tests/subject-priority-score.test.ts +1 -1
- package/tests/team.test.ts +1 -1
- package/tests/verification-listener.test.ts +1 -1
- package/tests/verification.test.ts +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/dist/lexicon/types/chat/bsky/group/getGroupPublicInfo.d.ts.map +0 -1
- package/dist/lexicon/types/chat/bsky/group/getGroupPublicInfo.js +0 -7
- package/dist/lexicon/types/chat/bsky/group/getGroupPublicInfo.js.map +0 -1
- package/jest.config.js +0 -11
package/dist/daemon/context.js
CHANGED
|
@@ -1,78 +1,70 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const team_profile_synchronizer_1 = require("./team-profile-synchronizer");
|
|
27
|
-
const verification_listener_1 = require("./verification-listener");
|
|
28
|
-
class DaemonContext {
|
|
1
|
+
import { AtpAgent } from '@atproto/api';
|
|
2
|
+
import { allFulfilled } from '@atproto/common';
|
|
3
|
+
import { Secp256k1Keypair } from '@atproto/crypto';
|
|
4
|
+
import { IdResolver } from '@atproto/identity';
|
|
5
|
+
import { createServiceAuthHeaders } from '@atproto/xrpc-server';
|
|
6
|
+
import { BackgroundQueue } from '../background.js';
|
|
7
|
+
import { Database } from '../db/index.js';
|
|
8
|
+
import { ModerationService } from '../mod-service/index.js';
|
|
9
|
+
import { StrikeService } from '../mod-service/strike.js';
|
|
10
|
+
import { QueueService } from '../queue/service.js';
|
|
11
|
+
import { ReportStatsService } from '../report/stats.js';
|
|
12
|
+
import { ScheduledActionService } from '../scheduled-action/service.js';
|
|
13
|
+
import { SettingService } from '../setting/service.js';
|
|
14
|
+
import { TeamService } from '../team/index.js';
|
|
15
|
+
import { getSigningKeyId } from '../util.js';
|
|
16
|
+
import { EventPusher } from './event-pusher.js';
|
|
17
|
+
import { EventReverser } from './event-reverser.js';
|
|
18
|
+
import { MaterializedViewRefresher } from './materialized-view-refresher.js';
|
|
19
|
+
import { QueueRouter } from './queue-router.js';
|
|
20
|
+
import { ScheduledActionProcessor } from './scheduled-action-processor.js';
|
|
21
|
+
import { StatsComputer } from './stats-computer.js';
|
|
22
|
+
import { StrikeExpiryProcessor } from './strike-expiry-processor.js';
|
|
23
|
+
import { TeamProfileSynchronizer } from './team-profile-synchronizer.js';
|
|
24
|
+
import { VerificationListener } from './verification-listener.js';
|
|
25
|
+
export class DaemonContext {
|
|
29
26
|
constructor(opts) {
|
|
30
|
-
|
|
31
|
-
enumerable: true,
|
|
32
|
-
configurable: true,
|
|
33
|
-
writable: true,
|
|
34
|
-
value: opts
|
|
35
|
-
});
|
|
27
|
+
this.opts = opts;
|
|
36
28
|
}
|
|
37
29
|
static async fromConfig(cfg, secrets, overrides) {
|
|
38
|
-
const db = new
|
|
30
|
+
const db = new Database({
|
|
39
31
|
url: cfg.db.postgresUrl,
|
|
40
32
|
schema: cfg.db.postgresSchema,
|
|
41
33
|
});
|
|
42
|
-
const signingKey = await
|
|
43
|
-
const signingKeyId = await
|
|
44
|
-
const idResolver = new
|
|
34
|
+
const signingKey = await Secp256k1Keypair.import(secrets.signingKeyHex);
|
|
35
|
+
const signingKeyId = await getSigningKeyId(db, signingKey.did());
|
|
36
|
+
const idResolver = new IdResolver({
|
|
45
37
|
plcUrl: cfg.identity.plcUrl,
|
|
46
38
|
});
|
|
47
|
-
const appviewAgent = new
|
|
48
|
-
const createAuthHeaders = (aud, lxm) =>
|
|
39
|
+
const appviewAgent = new AtpAgent({ service: cfg.appview.url });
|
|
40
|
+
const createAuthHeaders = (aud, lxm) => createServiceAuthHeaders({
|
|
49
41
|
iss: `${cfg.service.did}#atproto_labeler`,
|
|
50
42
|
aud,
|
|
51
43
|
lxm,
|
|
52
44
|
keypair: signingKey,
|
|
53
45
|
});
|
|
54
|
-
const eventPusher = new
|
|
46
|
+
const eventPusher = new EventPusher(db, createAuthHeaders, {
|
|
55
47
|
appview: cfg.appview.pushEvents ? cfg.appview : undefined,
|
|
56
48
|
pds: cfg.pds ?? undefined,
|
|
57
49
|
});
|
|
58
|
-
const backgroundQueue = new
|
|
59
|
-
const settingService =
|
|
60
|
-
const strikeService =
|
|
61
|
-
const modService =
|
|
62
|
-
const scheduledActionService =
|
|
63
|
-
const teamService =
|
|
64
|
-
const teamProfileSynchronizer = new
|
|
65
|
-
const eventReverser = new
|
|
66
|
-
const materializedViewRefresher = new
|
|
67
|
-
const scheduledActionProcessor = new
|
|
68
|
-
const strikeExpiryProcessor = new
|
|
69
|
-
const queueService =
|
|
70
|
-
const queueRouter = new
|
|
71
|
-
const reportStatsService =
|
|
72
|
-
const statsComputer = new
|
|
50
|
+
const backgroundQueue = new BackgroundQueue(db);
|
|
51
|
+
const settingService = SettingService.creator();
|
|
52
|
+
const strikeService = StrikeService.creator();
|
|
53
|
+
const modService = ModerationService.creator(signingKey, signingKeyId, cfg, backgroundQueue, idResolver, eventPusher, appviewAgent, createAuthHeaders, strikeService);
|
|
54
|
+
const scheduledActionService = ScheduledActionService.creator();
|
|
55
|
+
const teamService = TeamService.creator(appviewAgent, cfg.appview.did, createAuthHeaders);
|
|
56
|
+
const teamProfileSynchronizer = new TeamProfileSynchronizer(backgroundQueue, teamService(db), cfg.db.teamProfileRefreshIntervalMs);
|
|
57
|
+
const eventReverser = new EventReverser(db, modService);
|
|
58
|
+
const materializedViewRefresher = new MaterializedViewRefresher(backgroundQueue, cfg.db.materializedViewRefreshIntervalMs);
|
|
59
|
+
const scheduledActionProcessor = new ScheduledActionProcessor(db, cfg.service.did, settingService, modService, scheduledActionService);
|
|
60
|
+
const strikeExpiryProcessor = new StrikeExpiryProcessor(db, strikeService);
|
|
61
|
+
const queueService = QueueService.creator();
|
|
62
|
+
const queueRouter = new QueueRouter(db, queueService);
|
|
63
|
+
const reportStatsService = ReportStatsService.creator();
|
|
64
|
+
const statsComputer = new StatsComputer(db, reportStatsService, cfg.stats.computerIntervalMinutes);
|
|
73
65
|
// Only spawn the listener if verifier config exists and a jetstream URL is provided
|
|
74
66
|
const verificationListener = cfg.verifier && cfg.jetstreamUrl
|
|
75
|
-
? new
|
|
67
|
+
? new VerificationListener(db, cfg.jetstreamUrl, cfg.verifier?.issuersToIndex)
|
|
76
68
|
: undefined;
|
|
77
69
|
return new DaemonContext({
|
|
78
70
|
db,
|
|
@@ -150,7 +142,7 @@ class DaemonContext {
|
|
|
150
142
|
}
|
|
151
143
|
async destroy() {
|
|
152
144
|
try {
|
|
153
|
-
await
|
|
145
|
+
await allFulfilled([
|
|
154
146
|
this.eventReverser.destroy(),
|
|
155
147
|
this.eventPusher.destroy(),
|
|
156
148
|
this.materializedViewRefresher.destroy(),
|
|
@@ -168,5 +160,4 @@ class DaemonContext {
|
|
|
168
160
|
}
|
|
169
161
|
}
|
|
170
162
|
}
|
|
171
|
-
exports.DaemonContext = DaemonContext;
|
|
172
163
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/daemon/context.ts"],"names":[],"mappings":"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","sourcesContent":["import { AtpAgent } from '@atproto/api'\nimport { allFulfilled } from '@atproto/common'\nimport { Keypair, Secp256k1Keypair } from '@atproto/crypto'\nimport { IdResolver } from '@atproto/identity'\nimport { createServiceAuthHeaders } from '@atproto/xrpc-server'\nimport { BackgroundQueue } from '../background'\nimport { OzoneConfig, OzoneSecrets } from '../config'\nimport { Database } from '../db'\nimport { ModerationService } from '../mod-service'\nimport { StrikeService } from '../mod-service/strike'\nimport { QueueService } from '../queue/service'\nimport { ReportStatsService } from '../report/stats'\nimport { ScheduledActionService } from '../scheduled-action/service'\nimport { SettingService } from '../setting/service'\nimport { TeamService } from '../team'\nimport { getSigningKeyId } from '../util'\nimport { EventPusher } from './event-pusher'\nimport { EventReverser } from './event-reverser'\nimport { MaterializedViewRefresher } from './materialized-view-refresher'\nimport { QueueRouter } from './queue-router'\nimport { ScheduledActionProcessor } from './scheduled-action-processor'\nimport { StatsComputer } from './stats-computer'\nimport { StrikeExpiryProcessor } from './strike-expiry-processor'\nimport { TeamProfileSynchronizer } from './team-profile-synchronizer'\nimport { VerificationListener } from './verification-listener'\n\nexport type DaemonContextOptions = {\n db: Database\n cfg: OzoneConfig\n backgroundQueue: BackgroundQueue\n signingKey: Keypair\n eventPusher: EventPusher\n eventReverser: EventReverser\n materializedViewRefresher: MaterializedViewRefresher\n teamProfileSynchronizer: TeamProfileSynchronizer\n scheduledActionProcessor: ScheduledActionProcessor\n strikeExpiryProcessor: StrikeExpiryProcessor\n queueRouter: QueueRouter\n verificationListener?: VerificationListener\n statsComputer?: StatsComputer\n}\n\nexport class DaemonContext {\n constructor(private opts: DaemonContextOptions) {}\n\n static async fromConfig(\n cfg: OzoneConfig,\n secrets: OzoneSecrets,\n overrides?: Partial<DaemonContextOptions>,\n ): Promise<DaemonContext> {\n const db = new Database({\n url: cfg.db.postgresUrl,\n schema: cfg.db.postgresSchema,\n })\n const signingKey = await Secp256k1Keypair.import(secrets.signingKeyHex)\n const signingKeyId = await getSigningKeyId(db, signingKey.did())\n\n const idResolver = new IdResolver({\n plcUrl: cfg.identity.plcUrl,\n })\n\n const appviewAgent = new AtpAgent({ service: cfg.appview.url })\n const createAuthHeaders = (aud: string, lxm: string) =>\n createServiceAuthHeaders({\n iss: `${cfg.service.did}#atproto_labeler`,\n aud,\n lxm,\n keypair: signingKey,\n })\n\n const eventPusher = new EventPusher(db, createAuthHeaders, {\n appview: cfg.appview.pushEvents ? cfg.appview : undefined,\n pds: cfg.pds ?? undefined,\n })\n\n const backgroundQueue = new BackgroundQueue(db)\n\n const settingService = SettingService.creator()\n const strikeService = StrikeService.creator()\n const modService = ModerationService.creator(\n signingKey,\n signingKeyId,\n cfg,\n backgroundQueue,\n idResolver,\n eventPusher,\n appviewAgent,\n createAuthHeaders,\n strikeService,\n )\n const scheduledActionService = ScheduledActionService.creator()\n const teamService = TeamService.creator(\n appviewAgent,\n cfg.appview.did,\n createAuthHeaders,\n )\n const teamProfileSynchronizer = new TeamProfileSynchronizer(\n backgroundQueue,\n teamService(db),\n cfg.db.teamProfileRefreshIntervalMs,\n )\n\n const eventReverser = new EventReverser(db, modService)\n\n const materializedViewRefresher = new MaterializedViewRefresher(\n backgroundQueue,\n cfg.db.materializedViewRefreshIntervalMs,\n )\n\n const scheduledActionProcessor = new ScheduledActionProcessor(\n db,\n cfg.service.did,\n settingService,\n modService,\n scheduledActionService,\n )\n\n const strikeExpiryProcessor = new StrikeExpiryProcessor(db, strikeService)\n\n const queueService = QueueService.creator()\n const queueRouter = new QueueRouter(db, queueService)\n\n const reportStatsService = ReportStatsService.creator()\n const statsComputer = new StatsComputer(\n db,\n reportStatsService,\n cfg.stats.computerIntervalMinutes,\n )\n\n // Only spawn the listener if verifier config exists and a jetstream URL is provided\n const verificationListener =\n cfg.verifier && cfg.jetstreamUrl\n ? new VerificationListener(\n db,\n cfg.jetstreamUrl,\n cfg.verifier?.issuersToIndex,\n )\n : undefined\n\n return new DaemonContext({\n db,\n cfg,\n backgroundQueue,\n signingKey,\n eventPusher,\n eventReverser,\n materializedViewRefresher,\n teamProfileSynchronizer,\n scheduledActionProcessor,\n strikeExpiryProcessor,\n queueRouter,\n verificationListener,\n statsComputer,\n ...(overrides ?? {}),\n })\n }\n\n get db(): Database {\n return this.opts.db\n }\n\n get cfg(): OzoneConfig {\n return this.opts.cfg\n }\n\n get backgroundQueue(): BackgroundQueue {\n return this.opts.backgroundQueue\n }\n\n get eventPusher(): EventPusher {\n return this.opts.eventPusher\n }\n\n get eventReverser(): EventReverser {\n return this.opts.eventReverser\n }\n\n get materializedViewRefresher(): MaterializedViewRefresher {\n return this.opts.materializedViewRefresher\n }\n\n get teamProfileSynchronizer(): TeamProfileSynchronizer {\n return this.opts.teamProfileSynchronizer\n }\n\n get scheduledActionProcessor(): ScheduledActionProcessor {\n return this.opts.scheduledActionProcessor\n }\n\n get strikeExpiryProcessor(): StrikeExpiryProcessor {\n return this.opts.strikeExpiryProcessor\n }\n\n get queueRouter(): QueueRouter {\n return this.opts.queueRouter\n }\n\n get verificationListener(): VerificationListener | undefined {\n return this.opts.verificationListener\n }\n\n get statsComputer(): StatsComputer | undefined {\n return this.opts.statsComputer\n }\n\n async start() {\n this.eventPusher.start()\n this.eventReverser.start()\n this.materializedViewRefresher.start()\n this.teamProfileSynchronizer.start()\n this.scheduledActionProcessor.start()\n this.strikeExpiryProcessor.start()\n this.queueRouter.start()\n this.verificationListener?.start()\n this.statsComputer?.start()\n }\n\n async processAll() {\n // Sequential because the materialized view values depend on the events.\n await this.eventPusher.processAll()\n // Drain pending modEventReport rows into the report table so test code\n // that calls processAll() after creating reports sees the report rows\n // immediately (in production this happens via the 1-min poll).\n await this.queueRouter.routeReports()\n await this.materializedViewRefresher.run()\n await this.teamProfileSynchronizer.run()\n }\n\n async destroy() {\n try {\n await allFulfilled([\n this.eventReverser.destroy(),\n this.eventPusher.destroy(),\n this.materializedViewRefresher.destroy(),\n this.teamProfileSynchronizer.destroy(),\n this.scheduledActionProcessor.destroy(),\n this.strikeExpiryProcessor.destroy(),\n this.queueRouter.destroy(),\n this.verificationListener?.stop(),\n this.statsComputer?.destroy(),\n ])\n } finally {\n await this.backgroundQueue.destroy()\n await this.db.close()\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/daemon/context.ts"],"names":[],"mappings":"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","sourcesContent":["import { AtpAgent } from '@atproto/api'\nimport { allFulfilled } from '@atproto/common'\nimport { Keypair, Secp256k1Keypair } from '@atproto/crypto'\nimport { IdResolver } from '@atproto/identity'\nimport { createServiceAuthHeaders } from '@atproto/xrpc-server'\nimport { BackgroundQueue } from '../background.js'\nimport { OzoneConfig, OzoneSecrets } from '../config/index.js'\nimport { Database } from '../db/index.js'\nimport { ModerationService } from '../mod-service/index.js'\nimport { StrikeService } from '../mod-service/strike.js'\nimport { QueueService } from '../queue/service.js'\nimport { ReportStatsService } from '../report/stats.js'\nimport { ScheduledActionService } from '../scheduled-action/service.js'\nimport { SettingService } from '../setting/service.js'\nimport { TeamService } from '../team/index.js'\nimport { getSigningKeyId } from '../util.js'\nimport { EventPusher } from './event-pusher.js'\nimport { EventReverser } from './event-reverser.js'\nimport { MaterializedViewRefresher } from './materialized-view-refresher.js'\nimport { QueueRouter } from './queue-router.js'\nimport { ScheduledActionProcessor } from './scheduled-action-processor.js'\nimport { StatsComputer } from './stats-computer.js'\nimport { StrikeExpiryProcessor } from './strike-expiry-processor.js'\nimport { TeamProfileSynchronizer } from './team-profile-synchronizer.js'\nimport { VerificationListener } from './verification-listener.js'\n\nexport type DaemonContextOptions = {\n db: Database\n cfg: OzoneConfig\n backgroundQueue: BackgroundQueue\n signingKey: Keypair\n eventPusher: EventPusher\n eventReverser: EventReverser\n materializedViewRefresher: MaterializedViewRefresher\n teamProfileSynchronizer: TeamProfileSynchronizer\n scheduledActionProcessor: ScheduledActionProcessor\n strikeExpiryProcessor: StrikeExpiryProcessor\n queueRouter: QueueRouter\n verificationListener?: VerificationListener\n statsComputer?: StatsComputer\n}\n\nexport class DaemonContext {\n constructor(private opts: DaemonContextOptions) {}\n\n static async fromConfig(\n cfg: OzoneConfig,\n secrets: OzoneSecrets,\n overrides?: Partial<DaemonContextOptions>,\n ): Promise<DaemonContext> {\n const db = new Database({\n url: cfg.db.postgresUrl,\n schema: cfg.db.postgresSchema,\n })\n const signingKey = await Secp256k1Keypair.import(secrets.signingKeyHex)\n const signingKeyId = await getSigningKeyId(db, signingKey.did())\n\n const idResolver = new IdResolver({\n plcUrl: cfg.identity.plcUrl,\n })\n\n const appviewAgent = new AtpAgent({ service: cfg.appview.url })\n const createAuthHeaders = (aud: string, lxm: string) =>\n createServiceAuthHeaders({\n iss: `${cfg.service.did}#atproto_labeler`,\n aud,\n lxm,\n keypair: signingKey,\n })\n\n const eventPusher = new EventPusher(db, createAuthHeaders, {\n appview: cfg.appview.pushEvents ? cfg.appview : undefined,\n pds: cfg.pds ?? undefined,\n })\n\n const backgroundQueue = new BackgroundQueue(db)\n\n const settingService = SettingService.creator()\n const strikeService = StrikeService.creator()\n const modService = ModerationService.creator(\n signingKey,\n signingKeyId,\n cfg,\n backgroundQueue,\n idResolver,\n eventPusher,\n appviewAgent,\n createAuthHeaders,\n strikeService,\n )\n const scheduledActionService = ScheduledActionService.creator()\n const teamService = TeamService.creator(\n appviewAgent,\n cfg.appview.did,\n createAuthHeaders,\n )\n const teamProfileSynchronizer = new TeamProfileSynchronizer(\n backgroundQueue,\n teamService(db),\n cfg.db.teamProfileRefreshIntervalMs,\n )\n\n const eventReverser = new EventReverser(db, modService)\n\n const materializedViewRefresher = new MaterializedViewRefresher(\n backgroundQueue,\n cfg.db.materializedViewRefreshIntervalMs,\n )\n\n const scheduledActionProcessor = new ScheduledActionProcessor(\n db,\n cfg.service.did,\n settingService,\n modService,\n scheduledActionService,\n )\n\n const strikeExpiryProcessor = new StrikeExpiryProcessor(db, strikeService)\n\n const queueService = QueueService.creator()\n const queueRouter = new QueueRouter(db, queueService)\n\n const reportStatsService = ReportStatsService.creator()\n const statsComputer = new StatsComputer(\n db,\n reportStatsService,\n cfg.stats.computerIntervalMinutes,\n )\n\n // Only spawn the listener if verifier config exists and a jetstream URL is provided\n const verificationListener =\n cfg.verifier && cfg.jetstreamUrl\n ? new VerificationListener(\n db,\n cfg.jetstreamUrl,\n cfg.verifier?.issuersToIndex,\n )\n : undefined\n\n return new DaemonContext({\n db,\n cfg,\n backgroundQueue,\n signingKey,\n eventPusher,\n eventReverser,\n materializedViewRefresher,\n teamProfileSynchronizer,\n scheduledActionProcessor,\n strikeExpiryProcessor,\n queueRouter,\n verificationListener,\n statsComputer,\n ...(overrides ?? {}),\n })\n }\n\n get db(): Database {\n return this.opts.db\n }\n\n get cfg(): OzoneConfig {\n return this.opts.cfg\n }\n\n get backgroundQueue(): BackgroundQueue {\n return this.opts.backgroundQueue\n }\n\n get eventPusher(): EventPusher {\n return this.opts.eventPusher\n }\n\n get eventReverser(): EventReverser {\n return this.opts.eventReverser\n }\n\n get materializedViewRefresher(): MaterializedViewRefresher {\n return this.opts.materializedViewRefresher\n }\n\n get teamProfileSynchronizer(): TeamProfileSynchronizer {\n return this.opts.teamProfileSynchronizer\n }\n\n get scheduledActionProcessor(): ScheduledActionProcessor {\n return this.opts.scheduledActionProcessor\n }\n\n get strikeExpiryProcessor(): StrikeExpiryProcessor {\n return this.opts.strikeExpiryProcessor\n }\n\n get queueRouter(): QueueRouter {\n return this.opts.queueRouter\n }\n\n get verificationListener(): VerificationListener | undefined {\n return this.opts.verificationListener\n }\n\n get statsComputer(): StatsComputer | undefined {\n return this.opts.statsComputer\n }\n\n async start() {\n this.eventPusher.start()\n this.eventReverser.start()\n this.materializedViewRefresher.start()\n this.teamProfileSynchronizer.start()\n this.scheduledActionProcessor.start()\n this.strikeExpiryProcessor.start()\n this.queueRouter.start()\n this.verificationListener?.start()\n this.statsComputer?.start()\n }\n\n async processAll() {\n // Sequential because the materialized view values depend on the events.\n await this.eventPusher.processAll()\n // Drain pending modEventReport rows into the report table so test code\n // that calls processAll() after creating reports sees the report rows\n // immediately (in production this happens via the 1-min poll).\n await this.queueRouter.routeReports()\n await this.materializedViewRefresher.run()\n await this.teamProfileSynchronizer.run()\n }\n\n async destroy() {\n try {\n await allFulfilled([\n this.eventReverser.destroy(),\n this.eventPusher.destroy(),\n this.materializedViewRefresher.destroy(),\n this.teamProfileSynchronizer.destroy(),\n this.scheduledActionProcessor.destroy(),\n this.strikeExpiryProcessor.destroy(),\n this.queueRouter.destroy(),\n this.verificationListener?.stop(),\n this.statsComputer?.destroy(),\n ])\n } finally {\n await this.backgroundQueue.destroy()\n await this.db.close()\n }\n }\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Insertable, Selectable } from 'kysely';
|
|
2
2
|
import { AtpAgent } from '@atproto/api';
|
|
3
|
-
import { Database } from '../db';
|
|
4
|
-
import { BlobPushEvent } from '../db/schema/blob_push_event';
|
|
5
|
-
import { RepoPushEventType } from '../db/schema/repo_push_event';
|
|
3
|
+
import { Database } from '../db/index.js';
|
|
4
|
+
import { BlobPushEvent } from '../db/schema/blob_push_event.js';
|
|
5
|
+
import { RepoPushEventType } from '../db/schema/repo_push_event.js';
|
|
6
6
|
type PollState = {
|
|
7
7
|
timer?: NodeJS.Timeout;
|
|
8
8
|
promise: Promise<void>;
|
|
@@ -48,7 +48,7 @@ export declare class EventPusher {
|
|
|
48
48
|
attemptRecordEvent(id: number): Promise<void>;
|
|
49
49
|
attemptBlobEvent(id: number): Promise<void>;
|
|
50
50
|
markBlobEventAttempt(dbTxn: Database, event: Selectable<BlobPushEvent>, succeeded: boolean): Promise<void>;
|
|
51
|
-
logBlobPushEvent(blobValues: Insertable<BlobPushEvent>[], takedownRef?: string | null): Promise<import("kysely").Selection<import("../db/schema").DatabaseSchemaType, "blob_push_event", "id" | "subjectDid" | "subjectUri" | "eventType" | "subjectBlobCid">[]>;
|
|
51
|
+
logBlobPushEvent(blobValues: Insertable<BlobPushEvent>[], takedownRef?: string | null): Promise<import("kysely").Selection<import("../db/schema/index.js").DatabaseSchemaType, "blob_push_event", "id" | "subjectDid" | "subjectUri" | "eventType" | "subjectBlobCid">[]>;
|
|
52
52
|
}
|
|
53
53
|
export {};
|
|
54
54
|
//# sourceMappingURL=event-pusher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-pusher.d.ts","sourceRoot":"","sources":["../../src/daemon/event-pusher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"event-pusher.d.ts","sourceRoot":"","sources":["../../src/daemon/event-pusher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAQnE,KAAK,SAAS,GAAG;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;IACtB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE;QACP,aAAa,EAAE,MAAM,CAAA;KACtB,CAAA;CACF,CAAA;AAED,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,QAAQ,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,qBAAa,WAAW;IAiBb,EAAE,EAAE,QAAQ;IACZ,iBAAiB,EAAE,CACxB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,WAAW,CAAC;IApB3B,SAAS,UAAQ;IAEjB,aAAa,EAAE,SAAS,CAEvB;IACD,eAAe,EAAE,SAAS,CAEzB;IACD,aAAa,EAAE,SAAS,CAEvB;IAED,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;IAC5B,GAAG,EAAE,OAAO,GAAG,SAAS,CAAA;gBAGf,EAAE,EAAE,QAAQ,EACZ,iBAAiB,EAAE,CACxB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,WAAW,CAAC,EACzB,QAAQ,EAAE;QACR,OAAO,CAAC,EAAE;YACR,GAAG,EAAE,MAAM,CAAA;YACX,GAAG,EAAE,MAAM,CAAA;SACZ,CAAA;QACD,GAAG,CAAC,EAAE;YACJ,GAAG,EAAE,MAAM,CAAA;YACX,GAAG,EAAE,MAAM,CAAA;SACZ,CAAA;KACF;IAgBH,KAAK;IASL,mBAAmB,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,iBAAiB,EAAE;IAqBrE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAWxC,UAAU;IAWV,OAAO;IAeP,cAAc;IAYd,gBAAgB;IAYhB,cAAc;YAYN,sBAAsB;IAgC9B,gBAAgB,CAAC,EAAE,EAAE,MAAM;IAsC3B,kBAAkB,CAAC,EAAE,EAAE,MAAM;IAuC7B,gBAAgB,CAAC,EAAE,EAAE,MAAM;IA4B3B,oBAAoB,CACxB,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,EAChC,SAAS,EAAE,OAAO;IAkBd,gBAAgB,CACpB,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,EACvC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;CAsB9B"}
|
|
@@ -1,80 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const api_1 = require("@atproto/api");
|
|
9
|
-
const common_1 = require("@atproto/common");
|
|
10
|
-
const lexicons_1 = require("../lexicon/lexicons");
|
|
11
|
-
const logger_1 = require("../logger");
|
|
12
|
-
const util_1 = require("../util");
|
|
13
|
-
class EventPusher {
|
|
1
|
+
import assert from 'node:assert';
|
|
2
|
+
import { AtpAgent } from '@atproto/api';
|
|
3
|
+
import { SECOND } from '@atproto/common';
|
|
4
|
+
import { ids } from '../lexicon/lexicons.js';
|
|
5
|
+
import { dbLogger } from '../logger.js';
|
|
6
|
+
import { retryHttp } from '../util.js';
|
|
7
|
+
export class EventPusher {
|
|
14
8
|
constructor(db, createAuthHeaders, services) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
Object.defineProperty(this, "destroyed", {
|
|
28
|
-
enumerable: true,
|
|
29
|
-
configurable: true,
|
|
30
|
-
writable: true,
|
|
31
|
-
value: false
|
|
32
|
-
});
|
|
33
|
-
Object.defineProperty(this, "repoPollState", {
|
|
34
|
-
enumerable: true,
|
|
35
|
-
configurable: true,
|
|
36
|
-
writable: true,
|
|
37
|
-
value: {
|
|
38
|
-
promise: Promise.resolve(),
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
Object.defineProperty(this, "recordPollState", {
|
|
42
|
-
enumerable: true,
|
|
43
|
-
configurable: true,
|
|
44
|
-
writable: true,
|
|
45
|
-
value: {
|
|
46
|
-
promise: Promise.resolve(),
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
Object.defineProperty(this, "blobPollState", {
|
|
50
|
-
enumerable: true,
|
|
51
|
-
configurable: true,
|
|
52
|
-
writable: true,
|
|
53
|
-
value: {
|
|
54
|
-
promise: Promise.resolve(),
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
Object.defineProperty(this, "appview", {
|
|
58
|
-
enumerable: true,
|
|
59
|
-
configurable: true,
|
|
60
|
-
writable: true,
|
|
61
|
-
value: void 0
|
|
62
|
-
});
|
|
63
|
-
Object.defineProperty(this, "pds", {
|
|
64
|
-
enumerable: true,
|
|
65
|
-
configurable: true,
|
|
66
|
-
writable: true,
|
|
67
|
-
value: void 0
|
|
68
|
-
});
|
|
9
|
+
this.db = db;
|
|
10
|
+
this.createAuthHeaders = createAuthHeaders;
|
|
11
|
+
this.destroyed = false;
|
|
12
|
+
this.repoPollState = {
|
|
13
|
+
promise: Promise.resolve(),
|
|
14
|
+
};
|
|
15
|
+
this.recordPollState = {
|
|
16
|
+
promise: Promise.resolve(),
|
|
17
|
+
};
|
|
18
|
+
this.blobPollState = {
|
|
19
|
+
promise: Promise.resolve(),
|
|
20
|
+
};
|
|
69
21
|
if (services.appview) {
|
|
70
22
|
this.appview = {
|
|
71
|
-
agent: new
|
|
23
|
+
agent: new AtpAgent({ service: services.appview.url }),
|
|
72
24
|
did: services.appview.did,
|
|
73
25
|
};
|
|
74
26
|
}
|
|
75
27
|
if (services.pds) {
|
|
76
28
|
this.pds = {
|
|
77
|
-
agent: new
|
|
29
|
+
agent: new AtpAgent({ service: services.pds.url }),
|
|
78
30
|
did: services.pds.did,
|
|
79
31
|
};
|
|
80
32
|
}
|
|
@@ -109,10 +61,10 @@ class EventPusher {
|
|
|
109
61
|
return;
|
|
110
62
|
state.promise = fn()
|
|
111
63
|
.catch((err) => {
|
|
112
|
-
|
|
64
|
+
dbLogger.error({ err }, 'event push failed');
|
|
113
65
|
})
|
|
114
66
|
.finally(() => {
|
|
115
|
-
state.timer = setTimeout(() => this.poll(state, fn), 30 *
|
|
67
|
+
state.timer = setTimeout(() => this.poll(state, fn), 30 * SECOND);
|
|
116
68
|
});
|
|
117
69
|
}
|
|
118
70
|
async processAll() {
|
|
@@ -173,9 +125,9 @@ class EventPusher {
|
|
|
173
125
|
await Promise.all(toPush.map((evt) => this.attemptBlobEvent(evt.id)));
|
|
174
126
|
}
|
|
175
127
|
async updateSubjectOnService(service, subject, takedownRef) {
|
|
176
|
-
const auth = await this.createAuthHeaders(service.did,
|
|
128
|
+
const auth = await this.createAuthHeaders(service.did, ids.ComAtprotoAdminUpdateSubjectStatus);
|
|
177
129
|
try {
|
|
178
|
-
await
|
|
130
|
+
await retryHttp(() => service.agent.com.atproto.admin.updateSubjectStatus({
|
|
179
131
|
subject,
|
|
180
132
|
takedown: {
|
|
181
133
|
applied: !!takedownRef,
|
|
@@ -188,7 +140,7 @@ class EventPusher {
|
|
|
188
140
|
return true;
|
|
189
141
|
}
|
|
190
142
|
catch (err) {
|
|
191
|
-
|
|
143
|
+
dbLogger.error({ err, subject, takedownRef }, 'failed to push out event');
|
|
192
144
|
return false;
|
|
193
145
|
}
|
|
194
146
|
}
|
|
@@ -205,7 +157,7 @@ class EventPusher {
|
|
|
205
157
|
if (!evt)
|
|
206
158
|
return;
|
|
207
159
|
const service = evt.eventType === 'pds_takedown' ? this.pds : this.appview;
|
|
208
|
-
(
|
|
160
|
+
assert(service);
|
|
209
161
|
const subject = {
|
|
210
162
|
$type: 'com.atproto.admin.defs#repoRef',
|
|
211
163
|
did: evt.subjectDid,
|
|
@@ -237,7 +189,7 @@ class EventPusher {
|
|
|
237
189
|
if (!evt)
|
|
238
190
|
return;
|
|
239
191
|
const service = evt.eventType === 'pds_takedown' ? this.pds : this.appview;
|
|
240
|
-
(
|
|
192
|
+
assert(service);
|
|
241
193
|
const subject = {
|
|
242
194
|
$type: 'com.atproto.repo.strongRef',
|
|
243
195
|
uri: evt.subjectUri,
|
|
@@ -270,7 +222,7 @@ class EventPusher {
|
|
|
270
222
|
if (!evt)
|
|
271
223
|
return;
|
|
272
224
|
const service = evt.eventType === 'pds_takedown' ? this.pds : this.appview;
|
|
273
|
-
(
|
|
225
|
+
assert(service);
|
|
274
226
|
const subject = {
|
|
275
227
|
$type: 'com.atproto.admin.defs#repoBlobRef',
|
|
276
228
|
did: evt.subjectDid,
|
|
@@ -314,5 +266,4 @@ class EventPusher {
|
|
|
314
266
|
.execute();
|
|
315
267
|
}
|
|
316
268
|
}
|
|
317
|
-
exports.EventPusher = EventPusher;
|
|
318
269
|
//# sourceMappingURL=event-pusher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-pusher.js","sourceRoot":"","sources":["../../src/daemon/event-pusher.ts"],"names":[],"mappings":"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","sourcesContent":["import assert from 'node:assert'\nimport { Insertable, Selectable } from 'kysely'\nimport { AtpAgent } from '@atproto/api'\nimport { SECOND } from '@atproto/common'\nimport { Database } from '../db'\nimport { BlobPushEvent } from '../db/schema/blob_push_event'\nimport { RepoPushEventType } from '../db/schema/repo_push_event'\nimport { ids } from '../lexicon/lexicons'\nimport { InputSchema } from '../lexicon/types/com/atproto/admin/updateSubjectStatus'\nimport { dbLogger } from '../logger'\nimport { retryHttp } from '../util'\n\ntype EventSubject = InputSchema['subject']\n\ntype PollState = {\n timer?: NodeJS.Timeout\n promise: Promise<void>\n}\n\ntype AuthHeaders = {\n headers: {\n authorization: string\n }\n}\n\ntype Service = {\n agent: AtpAgent\n did: string\n}\n\nexport class EventPusher {\n destroyed = false\n\n repoPollState: PollState = {\n promise: Promise.resolve(),\n }\n recordPollState: PollState = {\n promise: Promise.resolve(),\n }\n blobPollState: PollState = {\n promise: Promise.resolve(),\n }\n\n appview: Service | undefined\n pds: Service | undefined\n\n constructor(\n public db: Database,\n public createAuthHeaders: (\n aud: string,\n method: string,\n ) => Promise<AuthHeaders>,\n services: {\n appview?: {\n url: string\n did: string\n }\n pds?: {\n url: string\n did: string\n }\n },\n ) {\n if (services.appview) {\n this.appview = {\n agent: new AtpAgent({ service: services.appview.url }),\n did: services.appview.did,\n }\n }\n if (services.pds) {\n this.pds = {\n agent: new AtpAgent({ service: services.pds.url }),\n did: services.pds.did,\n }\n }\n }\n\n start() {\n this.poll(this.repoPollState, () => this.pushRepoEvents())\n this.poll(this.recordPollState, () => this.pushRecordEvents())\n this.poll(this.blobPollState, () => this.pushBlobEvents())\n }\n\n // event pusher may be configured with both appview and pds\n // but the takedown may particularly want only one of them\n // unless the target services are specified, we will push to all configured services\n getTakedownServices(targetServices: Set<string>): RepoPushEventType[] {\n let configured: RepoPushEventType[] = []\n if (this.pds) configured.push('pds_takedown')\n if (this.appview) configured.push('appview_takedown')\n\n if (!targetServices.size) {\n return configured\n }\n\n if (!targetServices.has('appview')) {\n configured = configured.filter(\n (service) => service !== 'appview_takedown',\n )\n }\n if (!targetServices.has('pds')) {\n configured = configured.filter((service) => service !== 'pds_takedown')\n }\n\n return configured\n }\n\n poll(state: PollState, fn: () => Promise<void>) {\n if (this.destroyed) return\n state.promise = fn()\n .catch((err) => {\n dbLogger.error({ err }, 'event push failed')\n })\n .finally(() => {\n state.timer = setTimeout(() => this.poll(state, fn), 30 * SECOND)\n })\n }\n\n async processAll() {\n await Promise.all([\n this.pushRepoEvents(),\n this.pushRecordEvents(),\n this.pushBlobEvents(),\n this.repoPollState.promise,\n this.recordPollState.promise,\n this.blobPollState.promise,\n ])\n }\n\n async destroy() {\n this.destroyed = true\n const destroyState = (state: PollState) => {\n if (state.timer) {\n clearTimeout(state.timer)\n }\n return state.promise\n }\n await Promise.all([\n destroyState(this.repoPollState),\n destroyState(this.recordPollState),\n destroyState(this.blobPollState),\n ])\n }\n\n async pushRepoEvents() {\n const toPush = await this.db.db\n .selectFrom('repo_push_event')\n .select('id')\n .forUpdate()\n .skipLocked()\n .where('confirmedAt', 'is', null)\n .where('attempts', '<', 10)\n .execute()\n await Promise.all(toPush.map((evt) => this.attemptRepoEvent(evt.id)))\n }\n\n async pushRecordEvents() {\n const toPush = await this.db.db\n .selectFrom('record_push_event')\n .select('id')\n .forUpdate()\n .skipLocked()\n .where('confirmedAt', 'is', null)\n .where('attempts', '<', 10)\n .execute()\n await Promise.all(toPush.map((evt) => this.attemptRecordEvent(evt.id)))\n }\n\n async pushBlobEvents() {\n const toPush = await this.db.db\n .selectFrom('blob_push_event')\n .select('id')\n .forUpdate()\n .skipLocked()\n .where('confirmedAt', 'is', null)\n .where('attempts', '<', 10)\n .execute()\n await Promise.all(toPush.map((evt) => this.attemptBlobEvent(evt.id)))\n }\n\n private async updateSubjectOnService(\n service: Service,\n subject: EventSubject,\n takedownRef: string | null,\n ): Promise<boolean> {\n const auth = await this.createAuthHeaders(\n service.did,\n ids.ComAtprotoAdminUpdateSubjectStatus,\n )\n try {\n await retryHttp(() =>\n service.agent.com.atproto.admin.updateSubjectStatus(\n {\n subject,\n takedown: {\n applied: !!takedownRef,\n ref: takedownRef ?? undefined,\n },\n },\n {\n ...auth,\n encoding: 'application/json',\n },\n ),\n )\n return true\n } catch (err) {\n dbLogger.error({ err, subject, takedownRef }, 'failed to push out event')\n return false\n }\n }\n\n async attemptRepoEvent(id: number) {\n await this.db.transaction(async (dbTxn) => {\n const evt = await dbTxn.db\n .selectFrom('repo_push_event')\n .selectAll()\n .forUpdate()\n .skipLocked()\n .where('id', '=', id)\n .where('confirmedAt', 'is', null)\n .executeTakeFirst()\n if (!evt) return\n const service = evt.eventType === 'pds_takedown' ? this.pds : this.appview\n assert(service)\n const subject = {\n $type: 'com.atproto.admin.defs#repoRef',\n did: evt.subjectDid,\n }\n const succeeded = await this.updateSubjectOnService(\n service,\n subject,\n evt.takedownRef,\n )\n await dbTxn.db\n .updateTable('repo_push_event')\n .set(\n succeeded\n ? { confirmedAt: new Date() }\n : {\n lastAttempted: new Date(),\n attempts: (evt.attempts ?? 0) + 1,\n },\n )\n .where('subjectDid', '=', evt.subjectDid)\n .where('eventType', '=', evt.eventType)\n .execute()\n })\n }\n\n async attemptRecordEvent(id: number) {\n await this.db.transaction(async (dbTxn) => {\n const evt = await dbTxn.db\n .selectFrom('record_push_event')\n .selectAll()\n .forUpdate()\n .skipLocked()\n .where('id', '=', id)\n .where('confirmedAt', 'is', null)\n .executeTakeFirst()\n if (!evt) return\n const service = evt.eventType === 'pds_takedown' ? this.pds : this.appview\n assert(service)\n const subject = {\n $type: 'com.atproto.repo.strongRef',\n uri: evt.subjectUri,\n cid: evt.subjectCid,\n }\n const succeeded = await this.updateSubjectOnService(\n service,\n subject,\n evt.takedownRef,\n )\n await dbTxn.db\n .updateTable('record_push_event')\n .set(\n succeeded\n ? { confirmedAt: new Date() }\n : {\n lastAttempted: new Date(),\n attempts: (evt.attempts ?? 0) + 1,\n },\n )\n .where('subjectUri', '=', evt.subjectUri)\n .where('eventType', '=', evt.eventType)\n .execute()\n })\n }\n\n async attemptBlobEvent(id: number) {\n await this.db.transaction(async (dbTxn) => {\n const evt = await dbTxn.db\n .selectFrom('blob_push_event')\n .selectAll()\n .forUpdate()\n .skipLocked()\n .where('id', '=', id)\n .where('confirmedAt', 'is', null)\n .executeTakeFirst()\n if (!evt) return\n\n const service = evt.eventType === 'pds_takedown' ? this.pds : this.appview\n assert(service)\n const subject = {\n $type: 'com.atproto.admin.defs#repoBlobRef',\n did: evt.subjectDid,\n cid: evt.subjectBlobCid,\n }\n const succeeded = await this.updateSubjectOnService(\n service,\n subject,\n evt.takedownRef,\n )\n await this.markBlobEventAttempt(dbTxn, evt, succeeded)\n })\n }\n\n async markBlobEventAttempt(\n dbTxn: Database,\n event: Selectable<BlobPushEvent>,\n succeeded: boolean,\n ) {\n await dbTxn.db\n .updateTable('blob_push_event')\n .set(\n succeeded\n ? { confirmedAt: new Date() }\n : {\n lastAttempted: new Date(),\n attempts: (event.attempts ?? 0) + 1,\n },\n )\n .where('subjectDid', '=', event.subjectDid)\n .where('subjectBlobCid', '=', event.subjectBlobCid)\n .where('eventType', '=', event.eventType)\n .execute()\n }\n\n async logBlobPushEvent(\n blobValues: Insertable<BlobPushEvent>[],\n takedownRef?: string | null,\n ) {\n return this.db.db\n .insertInto('blob_push_event')\n .values(blobValues)\n .onConflict((oc) =>\n oc.columns(['subjectDid', 'subjectBlobCid', 'eventType']).doUpdateSet({\n takedownRef,\n confirmedAt: null,\n attempts: 0,\n lastAttempted: null,\n }),\n )\n .returning([\n 'id',\n 'subjectDid',\n 'subjectUri',\n 'subjectBlobCid',\n 'eventType',\n ])\n .execute()\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"event-pusher.js","sourceRoot":"","sources":["../../src/daemon/event-pusher.ts"],"names":[],"mappings":"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","sourcesContent":["import assert from 'node:assert'\nimport { Insertable, Selectable } from 'kysely'\nimport { AtpAgent } from '@atproto/api'\nimport { SECOND } from '@atproto/common'\nimport { Database } from '../db/index.js'\nimport { BlobPushEvent } from '../db/schema/blob_push_event.js'\nimport { RepoPushEventType } from '../db/schema/repo_push_event.js'\nimport { ids } from '../lexicon/lexicons.js'\nimport { InputSchema } from '../lexicon/types/com/atproto/admin/updateSubjectStatus.js'\nimport { dbLogger } from '../logger.js'\nimport { retryHttp } from '../util.js'\n\ntype EventSubject = InputSchema['subject']\n\ntype PollState = {\n timer?: NodeJS.Timeout\n promise: Promise<void>\n}\n\ntype AuthHeaders = {\n headers: {\n authorization: string\n }\n}\n\ntype Service = {\n agent: AtpAgent\n did: string\n}\n\nexport class EventPusher {\n destroyed = false\n\n repoPollState: PollState = {\n promise: Promise.resolve(),\n }\n recordPollState: PollState = {\n promise: Promise.resolve(),\n }\n blobPollState: PollState = {\n promise: Promise.resolve(),\n }\n\n appview: Service | undefined\n pds: Service | undefined\n\n constructor(\n public db: Database,\n public createAuthHeaders: (\n aud: string,\n method: string,\n ) => Promise<AuthHeaders>,\n services: {\n appview?: {\n url: string\n did: string\n }\n pds?: {\n url: string\n did: string\n }\n },\n ) {\n if (services.appview) {\n this.appview = {\n agent: new AtpAgent({ service: services.appview.url }),\n did: services.appview.did,\n }\n }\n if (services.pds) {\n this.pds = {\n agent: new AtpAgent({ service: services.pds.url }),\n did: services.pds.did,\n }\n }\n }\n\n start() {\n this.poll(this.repoPollState, () => this.pushRepoEvents())\n this.poll(this.recordPollState, () => this.pushRecordEvents())\n this.poll(this.blobPollState, () => this.pushBlobEvents())\n }\n\n // event pusher may be configured with both appview and pds\n // but the takedown may particularly want only one of them\n // unless the target services are specified, we will push to all configured services\n getTakedownServices(targetServices: Set<string>): RepoPushEventType[] {\n let configured: RepoPushEventType[] = []\n if (this.pds) configured.push('pds_takedown')\n if (this.appview) configured.push('appview_takedown')\n\n if (!targetServices.size) {\n return configured\n }\n\n if (!targetServices.has('appview')) {\n configured = configured.filter(\n (service) => service !== 'appview_takedown',\n )\n }\n if (!targetServices.has('pds')) {\n configured = configured.filter((service) => service !== 'pds_takedown')\n }\n\n return configured\n }\n\n poll(state: PollState, fn: () => Promise<void>) {\n if (this.destroyed) return\n state.promise = fn()\n .catch((err) => {\n dbLogger.error({ err }, 'event push failed')\n })\n .finally(() => {\n state.timer = setTimeout(() => this.poll(state, fn), 30 * SECOND)\n })\n }\n\n async processAll() {\n await Promise.all([\n this.pushRepoEvents(),\n this.pushRecordEvents(),\n this.pushBlobEvents(),\n this.repoPollState.promise,\n this.recordPollState.promise,\n this.blobPollState.promise,\n ])\n }\n\n async destroy() {\n this.destroyed = true\n const destroyState = (state: PollState) => {\n if (state.timer) {\n clearTimeout(state.timer)\n }\n return state.promise\n }\n await Promise.all([\n destroyState(this.repoPollState),\n destroyState(this.recordPollState),\n destroyState(this.blobPollState),\n ])\n }\n\n async pushRepoEvents() {\n const toPush = await this.db.db\n .selectFrom('repo_push_event')\n .select('id')\n .forUpdate()\n .skipLocked()\n .where('confirmedAt', 'is', null)\n .where('attempts', '<', 10)\n .execute()\n await Promise.all(toPush.map((evt) => this.attemptRepoEvent(evt.id)))\n }\n\n async pushRecordEvents() {\n const toPush = await this.db.db\n .selectFrom('record_push_event')\n .select('id')\n .forUpdate()\n .skipLocked()\n .where('confirmedAt', 'is', null)\n .where('attempts', '<', 10)\n .execute()\n await Promise.all(toPush.map((evt) => this.attemptRecordEvent(evt.id)))\n }\n\n async pushBlobEvents() {\n const toPush = await this.db.db\n .selectFrom('blob_push_event')\n .select('id')\n .forUpdate()\n .skipLocked()\n .where('confirmedAt', 'is', null)\n .where('attempts', '<', 10)\n .execute()\n await Promise.all(toPush.map((evt) => this.attemptBlobEvent(evt.id)))\n }\n\n private async updateSubjectOnService(\n service: Service,\n subject: EventSubject,\n takedownRef: string | null,\n ): Promise<boolean> {\n const auth = await this.createAuthHeaders(\n service.did,\n ids.ComAtprotoAdminUpdateSubjectStatus,\n )\n try {\n await retryHttp(() =>\n service.agent.com.atproto.admin.updateSubjectStatus(\n {\n subject,\n takedown: {\n applied: !!takedownRef,\n ref: takedownRef ?? undefined,\n },\n },\n {\n ...auth,\n encoding: 'application/json',\n },\n ),\n )\n return true\n } catch (err) {\n dbLogger.error({ err, subject, takedownRef }, 'failed to push out event')\n return false\n }\n }\n\n async attemptRepoEvent(id: number) {\n await this.db.transaction(async (dbTxn) => {\n const evt = await dbTxn.db\n .selectFrom('repo_push_event')\n .selectAll()\n .forUpdate()\n .skipLocked()\n .where('id', '=', id)\n .where('confirmedAt', 'is', null)\n .executeTakeFirst()\n if (!evt) return\n const service = evt.eventType === 'pds_takedown' ? this.pds : this.appview\n assert(service)\n const subject = {\n $type: 'com.atproto.admin.defs#repoRef',\n did: evt.subjectDid,\n }\n const succeeded = await this.updateSubjectOnService(\n service,\n subject,\n evt.takedownRef,\n )\n await dbTxn.db\n .updateTable('repo_push_event')\n .set(\n succeeded\n ? { confirmedAt: new Date() }\n : {\n lastAttempted: new Date(),\n attempts: (evt.attempts ?? 0) + 1,\n },\n )\n .where('subjectDid', '=', evt.subjectDid)\n .where('eventType', '=', evt.eventType)\n .execute()\n })\n }\n\n async attemptRecordEvent(id: number) {\n await this.db.transaction(async (dbTxn) => {\n const evt = await dbTxn.db\n .selectFrom('record_push_event')\n .selectAll()\n .forUpdate()\n .skipLocked()\n .where('id', '=', id)\n .where('confirmedAt', 'is', null)\n .executeTakeFirst()\n if (!evt) return\n const service = evt.eventType === 'pds_takedown' ? this.pds : this.appview\n assert(service)\n const subject = {\n $type: 'com.atproto.repo.strongRef',\n uri: evt.subjectUri,\n cid: evt.subjectCid,\n }\n const succeeded = await this.updateSubjectOnService(\n service,\n subject,\n evt.takedownRef,\n )\n await dbTxn.db\n .updateTable('record_push_event')\n .set(\n succeeded\n ? { confirmedAt: new Date() }\n : {\n lastAttempted: new Date(),\n attempts: (evt.attempts ?? 0) + 1,\n },\n )\n .where('subjectUri', '=', evt.subjectUri)\n .where('eventType', '=', evt.eventType)\n .execute()\n })\n }\n\n async attemptBlobEvent(id: number) {\n await this.db.transaction(async (dbTxn) => {\n const evt = await dbTxn.db\n .selectFrom('blob_push_event')\n .selectAll()\n .forUpdate()\n .skipLocked()\n .where('id', '=', id)\n .where('confirmedAt', 'is', null)\n .executeTakeFirst()\n if (!evt) return\n\n const service = evt.eventType === 'pds_takedown' ? this.pds : this.appview\n assert(service)\n const subject = {\n $type: 'com.atproto.admin.defs#repoBlobRef',\n did: evt.subjectDid,\n cid: evt.subjectBlobCid,\n }\n const succeeded = await this.updateSubjectOnService(\n service,\n subject,\n evt.takedownRef,\n )\n await this.markBlobEventAttempt(dbTxn, evt, succeeded)\n })\n }\n\n async markBlobEventAttempt(\n dbTxn: Database,\n event: Selectable<BlobPushEvent>,\n succeeded: boolean,\n ) {\n await dbTxn.db\n .updateTable('blob_push_event')\n .set(\n succeeded\n ? { confirmedAt: new Date() }\n : {\n lastAttempted: new Date(),\n attempts: (event.attempts ?? 0) + 1,\n },\n )\n .where('subjectDid', '=', event.subjectDid)\n .where('subjectBlobCid', '=', event.subjectBlobCid)\n .where('eventType', '=', event.eventType)\n .execute()\n }\n\n async logBlobPushEvent(\n blobValues: Insertable<BlobPushEvent>[],\n takedownRef?: string | null,\n ) {\n return this.db.db\n .insertInto('blob_push_event')\n .values(blobValues)\n .onConflict((oc) =>\n oc.columns(['subjectDid', 'subjectBlobCid', 'eventType']).doUpdateSet({\n takedownRef,\n confirmedAt: null,\n attempts: 0,\n lastAttempted: null,\n }),\n )\n .returning([\n 'id',\n 'subjectDid',\n 'subjectUri',\n 'subjectBlobCid',\n 'eventType',\n ])\n .execute()\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Database } from '../db';
|
|
2
|
-
import { ModerationServiceCreator, ReversalSubject } from '../mod-service';
|
|
1
|
+
import { Database } from '../db/index.js';
|
|
2
|
+
import { ModerationServiceCreator, ReversalSubject } from '../mod-service/index.js';
|
|
3
3
|
export declare class EventReverser {
|
|
4
4
|
private db;
|
|
5
5
|
private modService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-reverser.d.ts","sourceRoot":"","sources":["../../src/daemon/event-reverser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"event-reverser.d.ts","sourceRoot":"","sources":["../../src/daemon/event-reverser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAMzC,OAAO,EACL,wBAAwB,EACxB,eAAe,EAChB,MAAM,yBAAyB,CAAA;AAGhC,qBAAa,aAAa;IAMtB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,UAAU;IANpB,SAAS,UAAQ;IACjB,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,CAAoB;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;gBAGZ,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,wBAAwB;IAG9C,KAAK;IAIL,IAAI;IAWE,OAAO;IASP,WAAW,CAAC,OAAO,EAAE,eAAe;IAkBpC,uBAAuB;IAavB,wBAAwB;CAwC/B"}
|
|
@@ -1,42 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const expiring_tags_1 = require("../mod-service/expiring-tags");
|
|
7
|
-
const subject_1 = require("../mod-service/subject");
|
|
8
|
-
class EventReverser {
|
|
1
|
+
import { MINUTE } from '@atproto/common';
|
|
2
|
+
import { dbLogger } from '../logger.js';
|
|
3
|
+
import { deleteExpiringTagsByIds, getExpiredTags, } from '../mod-service/expiring-tags.js';
|
|
4
|
+
import { subjectFromStatusRow } from '../mod-service/subject.js';
|
|
5
|
+
export class EventReverser {
|
|
9
6
|
constructor(db, modService) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
value: db
|
|
15
|
-
});
|
|
16
|
-
Object.defineProperty(this, "modService", {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
configurable: true,
|
|
19
|
-
writable: true,
|
|
20
|
-
value: modService
|
|
21
|
-
});
|
|
22
|
-
Object.defineProperty(this, "destroyed", {
|
|
23
|
-
enumerable: true,
|
|
24
|
-
configurable: true,
|
|
25
|
-
writable: true,
|
|
26
|
-
value: false
|
|
27
|
-
});
|
|
28
|
-
Object.defineProperty(this, "reversalPromise", {
|
|
29
|
-
enumerable: true,
|
|
30
|
-
configurable: true,
|
|
31
|
-
writable: true,
|
|
32
|
-
value: Promise.resolve()
|
|
33
|
-
});
|
|
34
|
-
Object.defineProperty(this, "timer", {
|
|
35
|
-
enumerable: true,
|
|
36
|
-
configurable: true,
|
|
37
|
-
writable: true,
|
|
38
|
-
value: void 0
|
|
39
|
-
});
|
|
7
|
+
this.db = db;
|
|
8
|
+
this.modService = modService;
|
|
9
|
+
this.destroyed = false;
|
|
10
|
+
this.reversalPromise = Promise.resolve();
|
|
40
11
|
}
|
|
41
12
|
start() {
|
|
42
13
|
this.poll();
|
|
@@ -45,7 +16,7 @@ class EventReverser {
|
|
|
45
16
|
if (this.destroyed)
|
|
46
17
|
return;
|
|
47
18
|
this.reversalPromise = this.findAndRevertDueActions()
|
|
48
|
-
.catch((err) =>
|
|
19
|
+
.catch((err) => dbLogger.error({ err }, 'moderation action reversal errored'))
|
|
49
20
|
.finally(() => {
|
|
50
21
|
this.timer = setTimeout(() => this.poll(), getInterval());
|
|
51
22
|
});
|
|
@@ -84,7 +55,7 @@ class EventReverser {
|
|
|
84
55
|
]);
|
|
85
56
|
}
|
|
86
57
|
async findAndRevertExpiredTags() {
|
|
87
|
-
const groups = await
|
|
58
|
+
const groups = await getExpiredTags(this.db);
|
|
88
59
|
if (!groups.length)
|
|
89
60
|
return;
|
|
90
61
|
for (const group of groups) {
|
|
@@ -99,10 +70,10 @@ class EventReverser {
|
|
|
99
70
|
const currentTags = status?.tags ?? [];
|
|
100
71
|
const tagsToRemove = group.tags.filter((t) => currentTags.includes(t));
|
|
101
72
|
// Delete the expiring_tag rows regardless
|
|
102
|
-
await
|
|
73
|
+
await deleteExpiringTagsByIds(dbTxn, group.ids);
|
|
103
74
|
// Only emit removal event if there are tags still present to remove
|
|
104
75
|
if (tagsToRemove.length > 0 && status) {
|
|
105
|
-
const subject =
|
|
76
|
+
const subject = subjectFromStatusRow(status);
|
|
106
77
|
const moderationTxn = this.modService(dbTxn);
|
|
107
78
|
await moderationTxn.logEvent({
|
|
108
79
|
event: {
|
|
@@ -120,11 +91,10 @@ class EventReverser {
|
|
|
120
91
|
}
|
|
121
92
|
}
|
|
122
93
|
}
|
|
123
|
-
exports.EventReverser = EventReverser;
|
|
124
94
|
const getInterval = () => {
|
|
125
95
|
// super basic synchronization by agreeing when the intervals land relative to unix timestamp
|
|
126
96
|
const now = Date.now();
|
|
127
|
-
const intervalMs =
|
|
97
|
+
const intervalMs = MINUTE;
|
|
128
98
|
const nextIteration = Math.ceil(now / intervalMs);
|
|
129
99
|
return nextIteration * intervalMs - now;
|
|
130
100
|
};
|