@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/team/index.js
CHANGED
|
@@ -1,36 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const lexicons_1 = require("../lexicon/lexicons");
|
|
7
|
-
const logger_1 = require("../logger");
|
|
8
|
-
class TeamService {
|
|
1
|
+
import { chunkArray } from '@atproto/common';
|
|
2
|
+
import { InvalidRequestError } from '@atproto/xrpc-server';
|
|
3
|
+
import { ids } from '../lexicon/lexicons.js';
|
|
4
|
+
import { httpLogger } from '../logger.js';
|
|
5
|
+
export class TeamService {
|
|
9
6
|
constructor(db, appviewAgent, appviewDid, createAuthHeaders) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
value: db
|
|
15
|
-
});
|
|
16
|
-
Object.defineProperty(this, "appviewAgent", {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
configurable: true,
|
|
19
|
-
writable: true,
|
|
20
|
-
value: appviewAgent
|
|
21
|
-
});
|
|
22
|
-
Object.defineProperty(this, "appviewDid", {
|
|
23
|
-
enumerable: true,
|
|
24
|
-
configurable: true,
|
|
25
|
-
writable: true,
|
|
26
|
-
value: appviewDid
|
|
27
|
-
});
|
|
28
|
-
Object.defineProperty(this, "createAuthHeaders", {
|
|
29
|
-
enumerable: true,
|
|
30
|
-
configurable: true,
|
|
31
|
-
writable: true,
|
|
32
|
-
value: createAuthHeaders
|
|
33
|
-
});
|
|
7
|
+
this.db = db;
|
|
8
|
+
this.appviewAgent = appviewAgent;
|
|
9
|
+
this.appviewDid = appviewDid;
|
|
10
|
+
this.createAuthHeaders = createAuthHeaders;
|
|
34
11
|
}
|
|
35
12
|
static creator(appviewAgent, appviewDid, createAuthHeaders) {
|
|
36
13
|
return (db) => new TeamService(db, appviewAgent, appviewDid, createAuthHeaders);
|
|
@@ -117,7 +94,7 @@ class TeamService {
|
|
|
117
94
|
async assertCanDelete(did) {
|
|
118
95
|
const memberExists = await this.doesMemberExist(did);
|
|
119
96
|
if (!memberExists) {
|
|
120
|
-
throw new
|
|
97
|
+
throw new InvalidRequestError('member not found', 'MemberNotFound');
|
|
121
98
|
}
|
|
122
99
|
}
|
|
123
100
|
async doesMemberExist(did) {
|
|
@@ -152,8 +129,8 @@ class TeamService {
|
|
|
152
129
|
async getProfiles(dids) {
|
|
153
130
|
const profiles = new Map();
|
|
154
131
|
try {
|
|
155
|
-
const headers = await this.createAuthHeaders(this.appviewDid,
|
|
156
|
-
for (const actors of
|
|
132
|
+
const headers = await this.createAuthHeaders(this.appviewDid, ids.AppBskyActorGetProfiles);
|
|
133
|
+
for (const actors of chunkArray(dids, 25)) {
|
|
157
134
|
const { data } = await this.appviewAgent.getProfiles({ actors }, headers);
|
|
158
135
|
data.profiles.forEach((profile) => {
|
|
159
136
|
profiles.set(profile.did, profile);
|
|
@@ -161,7 +138,7 @@ class TeamService {
|
|
|
161
138
|
}
|
|
162
139
|
}
|
|
163
140
|
catch (err) {
|
|
164
|
-
|
|
141
|
+
httpLogger.error({ err, dids }, 'Failed to get profiles for team members');
|
|
165
142
|
}
|
|
166
143
|
return profiles;
|
|
167
144
|
}
|
|
@@ -217,5 +194,4 @@ class TeamService {
|
|
|
217
194
|
});
|
|
218
195
|
}
|
|
219
196
|
}
|
|
220
|
-
exports.TeamService = TeamService;
|
|
221
197
|
//# sourceMappingURL=index.js.map
|
package/dist/team/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/team/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Selectable } from 'kysely'\nimport AtpAgent from '@atproto/api'\nimport { chunkArray } from '@atproto/common'\nimport { InvalidRequestError } from '@atproto/xrpc-server'\nimport { Database } from '../db'\nimport { Member } from '../db/schema/member'\nimport { ids } from '../lexicon/lexicons'\nimport { ProfileViewDetailed } from '../lexicon/types/app/bsky/actor/defs'\nimport { Member as TeamMember } from '../lexicon/types/tools/ozone/team/defs'\nimport { httpLogger } from '../logger'\nimport { AuthHeaders } from '../mod-service/views'\n\nexport type TeamServiceCreator = (db: Database) => TeamService\n\nexport class TeamService {\n constructor(\n public db: Database,\n private appviewAgent: AtpAgent,\n private appviewDid: string,\n private createAuthHeaders: (\n aud: string,\n method: string,\n ) => Promise<AuthHeaders>,\n ) {}\n\n static creator(\n appviewAgent: AtpAgent,\n appviewDid: string,\n createAuthHeaders: (aud: string, method: string) => Promise<AuthHeaders>,\n ) {\n return (db: Database) =>\n new TeamService(db, appviewAgent, appviewDid, createAuthHeaders)\n }\n\n async list({\n cursor,\n limit = 25,\n roles,\n disabled,\n q,\n }: {\n q?: string\n cursor?: string\n limit?: number\n disabled?: boolean\n roles?: string[]\n }): Promise<{ members: Selectable<Member>[]; cursor?: string }> {\n let builder = this.db.db.selectFrom('member').selectAll()\n if (cursor) {\n builder = builder.where('createdAt', '>', new Date(cursor))\n }\n if (roles !== undefined) {\n const knownRoles = roles.filter(\n (r) =>\n r === 'tools.ozone.team.defs#roleAdmin' ||\n r === 'tools.ozone.team.defs#roleModerator' ||\n r === 'tools.ozone.team.defs#roleVerifier' ||\n r === 'tools.ozone.team.defs#roleTriage',\n )\n\n // Optimization: no need to query to know that no values will be returned\n if (!knownRoles.length) return { members: [] }\n\n builder = builder.where('role', 'in', knownRoles)\n }\n if (disabled !== undefined) {\n builder = builder.where('disabled', disabled ? 'is' : 'is not', true)\n }\n if (q) {\n builder = builder.where((qb) =>\n qb\n .orWhere('handle', 'ilike', `%${q}%`)\n .orWhere('displayName', 'ilike', `%${q}%`),\n )\n }\n\n const members = await builder\n .limit(limit)\n .orderBy('createdAt', 'asc')\n .orderBy('handle', 'asc')\n .execute()\n\n return { members, cursor: members.at(-1)?.createdAt.toISOString() }\n }\n\n async create({\n role,\n did,\n disabled,\n updatedAt,\n createdAt,\n lastUpdatedBy,\n }: Omit<Selectable<Member>, 'createdAt' | 'updatedAt'> & {\n createdAt?: Date\n updatedAt?: Date\n }): Promise<Selectable<Member>> {\n const now = new Date()\n const newMember = await this.db.db\n .insertInto('member')\n .values({\n role,\n did,\n disabled,\n lastUpdatedBy,\n updatedAt: updatedAt || now,\n createdAt: createdAt || now,\n })\n .returningAll()\n .executeTakeFirstOrThrow()\n\n return newMember\n }\n\n async upsert({\n role,\n did,\n lastUpdatedBy,\n }: Pick<\n Selectable<Member>,\n 'role' | 'did' | 'lastUpdatedBy'\n >): Promise<void> {\n const now = new Date()\n await this.db.db\n .insertInto('member')\n .values({\n role,\n did,\n lastUpdatedBy,\n disabled: false,\n updatedAt: now,\n createdAt: now,\n })\n .onConflict((oc) =>\n oc.column('did').doUpdateSet({ role, updatedAt: now, lastUpdatedBy }),\n )\n .execute()\n }\n\n async update(\n did: string,\n updates: Partial<\n Pick<\n Selectable<Member>,\n 'role' | 'disabled' | 'lastUpdatedBy' | 'updatedAt'\n >\n >,\n ): Promise<Selectable<Member>> {\n const { role, disabled, lastUpdatedBy, updatedAt = new Date() } = updates\n const updatedMember = await this.db.db\n .updateTable('member')\n .where('did', '=', did)\n .set({\n role,\n disabled,\n lastUpdatedBy,\n updatedAt,\n })\n .returningAll()\n .executeTakeFirstOrThrow()\n\n return updatedMember\n }\n\n async delete(did: string): Promise<void> {\n await this.db.db.deleteFrom('member').where('did', '=', did).execute()\n }\n\n async assertCanDelete(did: string): Promise<void> {\n const memberExists = await this.doesMemberExist(did)\n\n if (!memberExists) {\n throw new InvalidRequestError('member not found', 'MemberNotFound')\n }\n }\n\n async doesMemberExist(did: string): Promise<boolean> {\n const member = await this.db.db\n .selectFrom('member')\n .select('did')\n .where('did', '=', did)\n .executeTakeFirst()\n\n return !!member\n }\n\n async getMember(did: string): Promise<Selectable<Member> | undefined> {\n const member = await this.db.db\n .selectFrom('member')\n .selectAll()\n .where('did', '=', did)\n .executeTakeFirst()\n\n return member\n }\n\n getMemberRole(member?: Selectable<Member>) {\n const isAdmin = member?.role === 'tools.ozone.team.defs#roleAdmin'\n const isModerator =\n isAdmin || member?.role === 'tools.ozone.team.defs#roleModerator'\n const isTriage =\n isModerator || member?.role === 'tools.ozone.team.defs#roleTriage'\n const isVerifier =\n isAdmin || member?.role === 'tools.ozone.team.defs#roleVerifier'\n\n return {\n isModerator,\n isAdmin,\n isTriage,\n isVerifier,\n }\n }\n\n // getProfiles() only allows 25 DIDs at a time so we need to query in chunks\n async getProfiles(dids: string[]): Promise<Map<string, ProfileViewDetailed>> {\n const profiles = new Map<string, ProfileViewDetailed>()\n\n try {\n const headers = await this.createAuthHeaders(\n this.appviewDid,\n ids.AppBskyActorGetProfiles,\n )\n\n for (const actors of chunkArray(dids, 25)) {\n const { data } = await this.appviewAgent.getProfiles(\n { actors },\n headers,\n )\n\n data.profiles.forEach((profile) => {\n profiles.set(profile.did, profile)\n })\n }\n } catch (err) {\n httpLogger.error({ err, dids }, 'Failed to get profiles for team members')\n }\n\n return profiles\n }\n\n async syncMemberProfiles(): Promise<void> {\n let lastDid = ''\n // Max 25 profiles can be fetched at a time so let's pull 25 members at a time from the db and update their profile details\n do {\n const members = await this.db.db\n .selectFrom('member')\n .select(['did'])\n .limit(25)\n .if(!!lastDid, (q) => q.where('did', '>', lastDid))\n .orderBy('did', 'asc')\n .execute()\n\n const dids = members.map((member) => member.did)\n const profiles = await this.getProfiles(dids)\n\n for (const profile of profiles.values()) {\n await this.db.db\n .updateTable('member')\n .where('did', '=', profile.did)\n .set({\n handle: profile.handle,\n displayName: profile.displayName || null,\n })\n .execute()\n }\n\n lastDid = dids.at(-1) || ''\n } while (lastDid)\n }\n\n async viewByDids(dids: string[]): Promise<Map<string, TeamMember>> {\n if (!dids.length) return new Map()\n const members = await this.db.db\n .selectFrom('member')\n .selectAll()\n .where('did', 'in', dids)\n .execute()\n const memberViews = await this.view(members)\n return new Map(memberViews.map((m) => [m.did, m]))\n }\n\n async view(members: Selectable<Member>[]): Promise<TeamMember[]> {\n const profiles = await this.getProfiles(members.map(({ did }) => did))\n return members.map((member) => {\n return {\n did: member.did,\n role: member.role,\n disabled: member.disabled,\n profile: profiles.get(member.did),\n createdAt: member.createdAt.toISOString(),\n updatedAt: member.updatedAt.toISOString(),\n lastUpdatedBy: member.lastUpdatedBy,\n }\n })\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/team/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAG1D,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAG5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAKzC,MAAM,OAAO,WAAW;IACtB,YACS,EAAY,EACX,YAAsB,EACtB,UAAkB,EAClB,iBAGiB;QANlB,OAAE,GAAF,EAAE,CAAU;QACX,iBAAY,GAAZ,YAAY,CAAU;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,sBAAiB,GAAjB,iBAAiB,CAGA;IACxB,CAAC;IAEJ,MAAM,CAAC,OAAO,CACZ,YAAsB,EACtB,UAAkB,EAClB,iBAAwE;QAExE,OAAO,CAAC,EAAY,EAAE,EAAE,CACtB,IAAI,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAA;IACpE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EACT,MAAM,EACN,KAAK,GAAG,EAAE,EACV,KAAK,EACL,QAAQ,EACR,CAAC,GAOF;QACC,IAAI,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAA;QACzD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QAC7D,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAC7B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,KAAK,iCAAiC;gBACvC,CAAC,KAAK,qCAAqC;gBAC3C,CAAC,KAAK,oCAAoC;gBAC1C,CAAC,KAAK,kCAAkC,CAC3C,CAAA;YAED,yEAAyE;YACzE,IAAI,CAAC,UAAU,CAAC,MAAM;gBAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;YAE9C,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;QACnD,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,CAAC,EAAE,CAAC;YACN,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAC7B,EAAE;iBACC,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC;iBACpC,OAAO,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAC7C,CAAA;QACH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO;aAC1B,KAAK,CAAC,KAAK,CAAC;aACZ,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC;aAC3B,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC;aACxB,OAAO,EAAE,CAAA;QAEZ,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,CAAA;IACrE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EACX,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,SAAS,EACT,SAAS,EACT,aAAa,GAId;QACC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QACtB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aAC/B,UAAU,CAAC,QAAQ,CAAC;aACpB,MAAM,CAAC;YACN,IAAI;YACJ,GAAG;YACH,QAAQ;YACR,aAAa;YACb,SAAS,EAAE,SAAS,IAAI,GAAG;YAC3B,SAAS,EAAE,SAAS,IAAI,GAAG;SAC5B,CAAC;aACD,YAAY,EAAE;aACd,uBAAuB,EAAE,CAAA;QAE5B,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EACX,IAAI,EACJ,GAAG,EACH,aAAa,GAId;QACC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QACtB,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aACb,UAAU,CAAC,QAAQ,CAAC;aACpB,MAAM,CAAC;YACN,IAAI;YACJ,GAAG;YACH,aAAa;YACb,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAC;aACD,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CACjB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CACtE;aACA,OAAO,EAAE,CAAA;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CACV,GAAW,EACX,OAKC;QAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,OAAO,CAAA;QACzE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aACnC,WAAW,CAAC,QAAQ,CAAC;aACrB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC;aACtB,GAAG,CAAC;YACH,IAAI;YACJ,QAAQ;YACR,aAAa;YACb,SAAS;SACV,CAAC;aACD,YAAY,EAAE;aACd,uBAAuB,EAAE,CAAA;QAE5B,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;IACxE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAW;QAC/B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;QAEpD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,mBAAmB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAW;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aAC5B,UAAU,CAAC,QAAQ,CAAC;aACpB,MAAM,CAAC,KAAK,CAAC;aACb,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC;aACtB,gBAAgB,EAAE,CAAA;QAErB,OAAO,CAAC,CAAC,MAAM,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAW;QACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aAC5B,UAAU,CAAC,QAAQ,CAAC;aACpB,SAAS,EAAE;aACX,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC;aACtB,gBAAgB,EAAE,CAAA;QAErB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,aAAa,CAAC,MAA2B;QACvC,MAAM,OAAO,GAAG,MAAM,EAAE,IAAI,KAAK,iCAAiC,CAAA;QAClE,MAAM,WAAW,GACf,OAAO,IAAI,MAAM,EAAE,IAAI,KAAK,qCAAqC,CAAA;QACnE,MAAM,QAAQ,GACZ,WAAW,IAAI,MAAM,EAAE,IAAI,KAAK,kCAAkC,CAAA;QACpE,MAAM,UAAU,GACd,OAAO,IAAI,MAAM,EAAE,IAAI,KAAK,oCAAoC,CAAA;QAElE,OAAO;YACL,WAAW;YACX,OAAO;YACP,QAAQ;YACR,UAAU;SACX,CAAA;IACH,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,WAAW,CAAC,IAAc;QAC9B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAA;QAEvD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC1C,IAAI,CAAC,UAAU,EACf,GAAG,CAAC,uBAAuB,CAC5B,CAAA;YAED,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAClD,EAAE,MAAM,EAAE,EACV,OAAO,CACR,CAAA;gBAED,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAChC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;gBACpC,CAAC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,yCAAyC,CAAC,CAAA;QAC5E,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,2HAA2H;QAC3H,GAAG,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;iBAC7B,UAAU,CAAC,QAAQ,CAAC;iBACpB,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;iBACf,KAAK,CAAC,EAAE,CAAC;iBACT,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;iBAClD,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;iBACrB,OAAO,EAAE,CAAA;YAEZ,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;YAE7C,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBACxC,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;qBACb,WAAW,CAAC,QAAQ,CAAC;qBACrB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC;qBAC9B,GAAG,CAAC;oBACH,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;iBACzC,CAAC;qBACD,OAAO,EAAE,CAAA;YACd,CAAC;YAED,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC7B,CAAC,QAAQ,OAAO,EAAC;IACnB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAc;QAC7B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,GAAG,EAAE,CAAA;QAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aAC7B,UAAU,CAAC,QAAQ,CAAC;aACpB,SAAS,EAAE;aACX,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;aACxB,OAAO,EAAE,CAAA;QACZ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5C,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA6B;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;QACtE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5B,OAAO;gBACL,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;gBACjC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;gBACzC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;gBACzC,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF","sourcesContent":["import { Selectable } from 'kysely'\nimport AtpAgent from '@atproto/api'\nimport { chunkArray } from '@atproto/common'\nimport { InvalidRequestError } from '@atproto/xrpc-server'\nimport { Database } from '../db/index.js'\nimport { Member } from '../db/schema/member.js'\nimport { ids } from '../lexicon/lexicons.js'\nimport { ProfileViewDetailed } from '../lexicon/types/app/bsky/actor/defs.js'\nimport { Member as TeamMember } from '../lexicon/types/tools/ozone/team/defs.js'\nimport { httpLogger } from '../logger.js'\nimport { AuthHeaders } from '../mod-service/views.js'\n\nexport type TeamServiceCreator = (db: Database) => TeamService\n\nexport class TeamService {\n constructor(\n public db: Database,\n private appviewAgent: AtpAgent,\n private appviewDid: string,\n private createAuthHeaders: (\n aud: string,\n method: string,\n ) => Promise<AuthHeaders>,\n ) {}\n\n static creator(\n appviewAgent: AtpAgent,\n appviewDid: string,\n createAuthHeaders: (aud: string, method: string) => Promise<AuthHeaders>,\n ) {\n return (db: Database) =>\n new TeamService(db, appviewAgent, appviewDid, createAuthHeaders)\n }\n\n async list({\n cursor,\n limit = 25,\n roles,\n disabled,\n q,\n }: {\n q?: string\n cursor?: string\n limit?: number\n disabled?: boolean\n roles?: string[]\n }): Promise<{ members: Selectable<Member>[]; cursor?: string }> {\n let builder = this.db.db.selectFrom('member').selectAll()\n if (cursor) {\n builder = builder.where('createdAt', '>', new Date(cursor))\n }\n if (roles !== undefined) {\n const knownRoles = roles.filter(\n (r) =>\n r === 'tools.ozone.team.defs#roleAdmin' ||\n r === 'tools.ozone.team.defs#roleModerator' ||\n r === 'tools.ozone.team.defs#roleVerifier' ||\n r === 'tools.ozone.team.defs#roleTriage',\n )\n\n // Optimization: no need to query to know that no values will be returned\n if (!knownRoles.length) return { members: [] }\n\n builder = builder.where('role', 'in', knownRoles)\n }\n if (disabled !== undefined) {\n builder = builder.where('disabled', disabled ? 'is' : 'is not', true)\n }\n if (q) {\n builder = builder.where((qb) =>\n qb\n .orWhere('handle', 'ilike', `%${q}%`)\n .orWhere('displayName', 'ilike', `%${q}%`),\n )\n }\n\n const members = await builder\n .limit(limit)\n .orderBy('createdAt', 'asc')\n .orderBy('handle', 'asc')\n .execute()\n\n return { members, cursor: members.at(-1)?.createdAt.toISOString() }\n }\n\n async create({\n role,\n did,\n disabled,\n updatedAt,\n createdAt,\n lastUpdatedBy,\n }: Omit<Selectable<Member>, 'createdAt' | 'updatedAt'> & {\n createdAt?: Date\n updatedAt?: Date\n }): Promise<Selectable<Member>> {\n const now = new Date()\n const newMember = await this.db.db\n .insertInto('member')\n .values({\n role,\n did,\n disabled,\n lastUpdatedBy,\n updatedAt: updatedAt || now,\n createdAt: createdAt || now,\n })\n .returningAll()\n .executeTakeFirstOrThrow()\n\n return newMember\n }\n\n async upsert({\n role,\n did,\n lastUpdatedBy,\n }: Pick<\n Selectable<Member>,\n 'role' | 'did' | 'lastUpdatedBy'\n >): Promise<void> {\n const now = new Date()\n await this.db.db\n .insertInto('member')\n .values({\n role,\n did,\n lastUpdatedBy,\n disabled: false,\n updatedAt: now,\n createdAt: now,\n })\n .onConflict((oc) =>\n oc.column('did').doUpdateSet({ role, updatedAt: now, lastUpdatedBy }),\n )\n .execute()\n }\n\n async update(\n did: string,\n updates: Partial<\n Pick<\n Selectable<Member>,\n 'role' | 'disabled' | 'lastUpdatedBy' | 'updatedAt'\n >\n >,\n ): Promise<Selectable<Member>> {\n const { role, disabled, lastUpdatedBy, updatedAt = new Date() } = updates\n const updatedMember = await this.db.db\n .updateTable('member')\n .where('did', '=', did)\n .set({\n role,\n disabled,\n lastUpdatedBy,\n updatedAt,\n })\n .returningAll()\n .executeTakeFirstOrThrow()\n\n return updatedMember\n }\n\n async delete(did: string): Promise<void> {\n await this.db.db.deleteFrom('member').where('did', '=', did).execute()\n }\n\n async assertCanDelete(did: string): Promise<void> {\n const memberExists = await this.doesMemberExist(did)\n\n if (!memberExists) {\n throw new InvalidRequestError('member not found', 'MemberNotFound')\n }\n }\n\n async doesMemberExist(did: string): Promise<boolean> {\n const member = await this.db.db\n .selectFrom('member')\n .select('did')\n .where('did', '=', did)\n .executeTakeFirst()\n\n return !!member\n }\n\n async getMember(did: string): Promise<Selectable<Member> | undefined> {\n const member = await this.db.db\n .selectFrom('member')\n .selectAll()\n .where('did', '=', did)\n .executeTakeFirst()\n\n return member\n }\n\n getMemberRole(member?: Selectable<Member>) {\n const isAdmin = member?.role === 'tools.ozone.team.defs#roleAdmin'\n const isModerator =\n isAdmin || member?.role === 'tools.ozone.team.defs#roleModerator'\n const isTriage =\n isModerator || member?.role === 'tools.ozone.team.defs#roleTriage'\n const isVerifier =\n isAdmin || member?.role === 'tools.ozone.team.defs#roleVerifier'\n\n return {\n isModerator,\n isAdmin,\n isTriage,\n isVerifier,\n }\n }\n\n // getProfiles() only allows 25 DIDs at a time so we need to query in chunks\n async getProfiles(dids: string[]): Promise<Map<string, ProfileViewDetailed>> {\n const profiles = new Map<string, ProfileViewDetailed>()\n\n try {\n const headers = await this.createAuthHeaders(\n this.appviewDid,\n ids.AppBskyActorGetProfiles,\n )\n\n for (const actors of chunkArray(dids, 25)) {\n const { data } = await this.appviewAgent.getProfiles(\n { actors },\n headers,\n )\n\n data.profiles.forEach((profile) => {\n profiles.set(profile.did, profile)\n })\n }\n } catch (err) {\n httpLogger.error({ err, dids }, 'Failed to get profiles for team members')\n }\n\n return profiles\n }\n\n async syncMemberProfiles(): Promise<void> {\n let lastDid = ''\n // Max 25 profiles can be fetched at a time so let's pull 25 members at a time from the db and update their profile details\n do {\n const members = await this.db.db\n .selectFrom('member')\n .select(['did'])\n .limit(25)\n .if(!!lastDid, (q) => q.where('did', '>', lastDid))\n .orderBy('did', 'asc')\n .execute()\n\n const dids = members.map((member) => member.did)\n const profiles = await this.getProfiles(dids)\n\n for (const profile of profiles.values()) {\n await this.db.db\n .updateTable('member')\n .where('did', '=', profile.did)\n .set({\n handle: profile.handle,\n displayName: profile.displayName || null,\n })\n .execute()\n }\n\n lastDid = dids.at(-1) || ''\n } while (lastDid)\n }\n\n async viewByDids(dids: string[]): Promise<Map<string, TeamMember>> {\n if (!dids.length) return new Map()\n const members = await this.db.db\n .selectFrom('member')\n .selectAll()\n .where('did', 'in', dids)\n .execute()\n const memberViews = await this.view(members)\n return new Map(memberViews.map((m) => [m.did, m]))\n }\n\n async view(members: Selectable<Member>[]): Promise<TeamMember[]> {\n const profiles = await this.getProfiles(members.map(({ did }) => did))\n return members.map((member) => {\n return {\n did: member.did,\n role: member.role,\n disabled: member.disabled,\n profile: profiles.get(member.did),\n createdAt: member.createdAt.toISOString(),\n updatedAt: member.updatedAt.toISOString(),\n lastUpdatedBy: member.lastUpdatedBy,\n }\n })\n }\n}\n"]}
|
package/dist/util.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Database } from './db';
|
|
1
|
+
import { Database } from './db/index.js';
|
|
2
2
|
export declare const getSigningKeyId: (db: Database, signingKey: string) => Promise<number>;
|
|
3
3
|
export declare const RETRYABLE_HTTP_STATUS_CODES: Set<number>;
|
|
4
4
|
export declare const retryHttp: <T>(fn: () => Promise<T>, opts?: import("@atproto/common").RetryOptions) => Promise<T>;
|
package/dist/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,eAAO,MAAM,eAAe,GAC1B,IAAI,QAAQ,EACZ,YAAY,MAAM,KACjB,OAAO,CAAC,MAAM,CAehB,CAAA;AAED,eAAO,MAAM,2BAA2B,aAEtC,CAAA;AAEF,eAAO,MAAM,SAAS,wFAMpB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,mBAAmB,4BAA4B,CAAA;AAE5D,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,MAAM,GAAG,SAAS,EAC1B,YAAY,MAAM,KACjB,cAAc,GAAG,IAuBnB,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,EAAE,KAAG,cAKrD,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,QAAQ,cAAc,KAAG,MAK5D,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,aAAa,CACjC,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACjD,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,EACnB,cAAc,UAAQ,iBA+EvB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,WAOjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,OAAO,EAAE,SAAS,CAAC,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,GACtD,eAAe,CAejB"}
|
package/dist/util.js
CHANGED
|
@@ -1,17 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
exports.formatLabelerHeader = exports.defaultLabelerHeader = exports.parseLabelerHeader = exports.LABELER_HEADER_NAME = exports.retryHttp = exports.RETRYABLE_HTTP_STATUS_CODES = exports.getSigningKeyId = void 0;
|
|
7
|
-
exports.startInterval = startInterval;
|
|
8
|
-
exports.isCausedBySignal = isCausedBySignal;
|
|
9
|
-
exports.boundAbortController = boundAbortController;
|
|
10
|
-
const node_assert_1 = __importDefault(require("node:assert"));
|
|
11
|
-
const structured_headers_1 = require("structured-headers");
|
|
12
|
-
const common_1 = require("@atproto/common");
|
|
13
|
-
const xrpc_1 = require("@atproto/xrpc");
|
|
14
|
-
const getSigningKeyId = async (db, signingKey) => {
|
|
1
|
+
import assert from 'node:assert';
|
|
2
|
+
import { parseList } from 'structured-headers';
|
|
3
|
+
import { createRetryable } from '@atproto/common';
|
|
4
|
+
import { ResponseType, XRPCError } from '@atproto/xrpc';
|
|
5
|
+
export const getSigningKeyId = async (db, signingKey) => {
|
|
15
6
|
const selectRes = await db.db
|
|
16
7
|
.selectFrom('signing_key')
|
|
17
8
|
.selectAll()
|
|
@@ -27,25 +18,24 @@ const getSigningKeyId = async (db, signingKey) => {
|
|
|
27
18
|
.executeTakeFirstOrThrow();
|
|
28
19
|
return insertRes.id;
|
|
29
20
|
};
|
|
30
|
-
|
|
31
|
-
exports.RETRYABLE_HTTP_STATUS_CODES = new Set([
|
|
21
|
+
export const RETRYABLE_HTTP_STATUS_CODES = new Set([
|
|
32
22
|
408, 425, 429, 500, 502, 503, 504, 522, 524,
|
|
33
23
|
]);
|
|
34
|
-
|
|
35
|
-
if (err instanceof
|
|
36
|
-
if (err.status ===
|
|
24
|
+
export const retryHttp = createRetryable((err) => {
|
|
25
|
+
if (err instanceof XRPCError) {
|
|
26
|
+
if (err.status === ResponseType.Unknown)
|
|
37
27
|
return true;
|
|
38
|
-
return
|
|
28
|
+
return RETRYABLE_HTTP_STATUS_CODES.has(err.status);
|
|
39
29
|
}
|
|
40
30
|
return false;
|
|
41
31
|
});
|
|
42
|
-
|
|
43
|
-
const parseLabelerHeader = (header, ignoreDid) => {
|
|
32
|
+
export const LABELER_HEADER_NAME = 'atproto-accept-labelers';
|
|
33
|
+
export const parseLabelerHeader = (header, ignoreDid) => {
|
|
44
34
|
if (!header)
|
|
45
35
|
return null;
|
|
46
36
|
const labelerDids = new Set();
|
|
47
37
|
const redactDids = new Set();
|
|
48
|
-
const parsed =
|
|
38
|
+
const parsed = parseList(header);
|
|
49
39
|
for (const item of parsed) {
|
|
50
40
|
const did = item[0].toString();
|
|
51
41
|
if (!did) {
|
|
@@ -65,19 +55,16 @@ const parseLabelerHeader = (header, ignoreDid) => {
|
|
|
65
55
|
redact: redactDids,
|
|
66
56
|
};
|
|
67
57
|
};
|
|
68
|
-
|
|
69
|
-
const defaultLabelerHeader = (dids) => {
|
|
58
|
+
export const defaultLabelerHeader = (dids) => {
|
|
70
59
|
return {
|
|
71
60
|
dids,
|
|
72
61
|
redact: new Set(dids),
|
|
73
62
|
};
|
|
74
63
|
};
|
|
75
|
-
|
|
76
|
-
const formatLabelerHeader = (parsed) => {
|
|
64
|
+
export const formatLabelerHeader = (parsed) => {
|
|
77
65
|
const parts = parsed.dids.map((did) => parsed.redact.has(did) ? `${did};redact` : did);
|
|
78
66
|
return parts.join(',');
|
|
79
67
|
};
|
|
80
|
-
exports.formatLabelerHeader = formatLabelerHeader;
|
|
81
68
|
/**
|
|
82
69
|
* Utility function similar to `setInterval()`. The main difference is that the
|
|
83
70
|
* execution is controlled through a signal and that the function will wait for
|
|
@@ -97,7 +84,7 @@ exports.formatLabelerHeader = formatLabelerHeader;
|
|
|
97
84
|
* @throws {TypeError} if {@link fn} throws an unexpected error (with the
|
|
98
85
|
* unexpected error as the {@link Error.cause}).
|
|
99
86
|
*/
|
|
100
|
-
async function startInterval(fn, interval, signal, runImmediately = false) {
|
|
87
|
+
export async function startInterval(fn, interval, signal, runImmediately = false) {
|
|
101
88
|
signal.throwIfAborted();
|
|
102
89
|
// Renaming for clarity
|
|
103
90
|
const inputSignal = signal;
|
|
@@ -139,7 +126,7 @@ async function startInterval(fn, interval, signal, runImmediately = false) {
|
|
|
139
126
|
}
|
|
140
127
|
};
|
|
141
128
|
const schedule = () => {
|
|
142
|
-
(
|
|
129
|
+
assert(timer === undefined, 'unexpected state');
|
|
143
130
|
timer = setTimeout(() => {
|
|
144
131
|
timer = undefined; // "running" state
|
|
145
132
|
void run();
|
|
@@ -173,7 +160,7 @@ async function startInterval(fn, interval, signal, runImmediately = false) {
|
|
|
173
160
|
/**
|
|
174
161
|
* Determines whether the cause of an error is a signal's reason
|
|
175
162
|
*/
|
|
176
|
-
function isCausedBySignal(err, signal) {
|
|
163
|
+
export function isCausedBySignal(err, signal) {
|
|
177
164
|
if (!signal.aborted)
|
|
178
165
|
return false;
|
|
179
166
|
if (signal.reason == null)
|
|
@@ -190,7 +177,7 @@ function isCausedBySignal(err, signal) {
|
|
|
190
177
|
*
|
|
191
178
|
* @throws if any of the input signals is already aborted.
|
|
192
179
|
*/
|
|
193
|
-
function boundAbortController(...signals) {
|
|
180
|
+
export function boundAbortController(...signals) {
|
|
194
181
|
for (const signal of signals) {
|
|
195
182
|
signal?.throwIfAborted();
|
|
196
183
|
}
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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","sourcesContent":["import assert from 'node:assert'\nimport { parseList } from 'structured-headers'\nimport { createRetryable } from '@atproto/common'\nimport { ResponseType, XRPCError } from '@atproto/xrpc'\nimport { Database } from './db'\n\nexport const getSigningKeyId = async (\n db: Database,\n signingKey: string,\n): Promise<number> => {\n const selectRes = await db.db\n .selectFrom('signing_key')\n .selectAll()\n .where('key', '=', signingKey)\n .executeTakeFirst()\n if (selectRes) {\n return selectRes.id\n }\n const insertRes = await db.db\n .insertInto('signing_key')\n .values({ key: signingKey })\n .returningAll()\n .executeTakeFirstOrThrow()\n return insertRes.id\n}\n\nexport const RETRYABLE_HTTP_STATUS_CODES = new Set([\n 408, 425, 429, 500, 502, 503, 504, 522, 524,\n])\n\nexport const retryHttp = createRetryable((err: unknown) => {\n if (err instanceof XRPCError) {\n if (err.status === ResponseType.Unknown) return true\n return RETRYABLE_HTTP_STATUS_CODES.has(err.status)\n }\n return false\n})\n\nexport type ParsedLabelers = {\n dids: string[]\n redact: Set<string>\n}\n\nexport const LABELER_HEADER_NAME = 'atproto-accept-labelers'\n\nexport const parseLabelerHeader = (\n header: string | undefined,\n ignoreDid?: string,\n): ParsedLabelers | null => {\n if (!header) return null\n const labelerDids = new Set<string>()\n const redactDids = new Set<string>()\n const parsed = parseList(header)\n for (const item of parsed) {\n const did = item[0].toString()\n if (!did) {\n return null\n }\n if (did === ignoreDid) {\n continue\n }\n labelerDids.add(did)\n const redact = item[1].get('redact')?.valueOf()\n if (redact === true) {\n redactDids.add(did)\n }\n }\n return {\n dids: [...labelerDids],\n redact: redactDids,\n }\n}\n\nexport const defaultLabelerHeader = (dids: string[]): ParsedLabelers => {\n return {\n dids,\n redact: new Set(dids),\n }\n}\n\nexport const formatLabelerHeader = (parsed: ParsedLabelers): string => {\n const parts = parsed.dids.map((did) =>\n parsed.redact.has(did) ? `${did};redact` : did,\n )\n return parts.join(',')\n}\n\n/**\n * Utility function similar to `setInterval()`. The main difference is that the\n * execution is controlled through a signal and that the function will wait for\n * `interval` milliseconds *between* the end of the previous execution and the\n * start of the next one (instead of starting the execution every `interval`\n * milliseconds), ensuring that the function is not running concurrently.\n *\n * @param fn The function to execute. That function must not throw any error\n * other than {@link signal}'s {@link AbortSignal.reason} or an {@link Error}\n * that has the {@link signal}'s {@link AbortSignal.reason} as its\n * {@link Error.cause}.\n *\n * @returns A promise that resolves when the signal is aborted, and the last\n * execution is done.\n *\n * @throws {AbortSignal['reason']} if the {@link signal} is already aborted.\n * @throws {TypeError} if {@link fn} throws an unexpected error (with the\n * unexpected error as the {@link Error.cause}).\n */\nexport async function startInterval(\n fn: (signal: AbortSignal) => void | Promise<void>,\n interval: number,\n signal: AbortSignal,\n runImmediately = false,\n) {\n signal.throwIfAborted()\n\n // Renaming for clarity\n const inputSignal = signal\n\n const intervalController = new AbortController()\n const intervalSignal = intervalController.signal\n\n return new Promise<void>((resolve, reject) => {\n let timer: NodeJS.Timeout | undefined\n\n const run = async () => {\n // Cloning the signal for this particular run to prevent memory leaks\n const runController = boundAbortController(intervalSignal)\n const runSignal = runController.signal\n\n try {\n await fn(runSignal)\n } catch (err) {\n if (err != null && isCausedBySignal(err, runSignal)) {\n // Silently ignore the error if it is caused by the signal. At this\n // point, the interval controller was aborted, which will cause the\n // promise to resolve in the \"finally\" block bellow.\n } else {\n // Invalid behavior: stop the interval and reject the promise.\n const error = new TypeError('Unexpected error', { cause: err })\n\n // Rejecting here will make `resolve()` in the \"finally\" block to be a\n // no-op. Rejecting before aborting the controller to ensure the\n // promise does not get resolved by the `abort` event listeners.\n reject(error)\n\n // Using `error` as abort reason to avoid creating an AbortError.\n intervalController.abort(error)\n }\n } finally {\n // Cleanup the listeners added by `boundAbortController`\n runController.abort()\n\n if (intervalSignal.aborted) resolve()\n else schedule()\n }\n }\n\n const schedule = () => {\n assert(timer === undefined, 'unexpected state')\n timer = setTimeout(() => {\n timer = undefined // \"running\" state\n void run()\n }, interval)\n }\n\n inputSignal.addEventListener(\n 'abort',\n // This function will only be called if the `inputSignal` is aborted\n // before the interval controller is aborted.\n () => {\n // Stop the interval, using the input signal's reason\n intervalController.abort(inputSignal.reason)\n\n if (timer === undefined) {\n // `fn` is currently running; `run`'s finally block will resolve the\n // promise.\n } else {\n // The execution was scheduled but not started yet. Clear the timer\n // and resolve the promise.\n clearTimeout(timer)\n resolve()\n }\n },\n // Remove the listener whenever the interval is aborted.\n { signal: intervalSignal },\n )\n\n if (runImmediately) void run()\n else schedule()\n })\n}\n\n/**\n * Determines whether the cause of an error is a signal's reason\n */\nexport function isCausedBySignal(err: unknown, signal: AbortSignal) {\n if (!signal.aborted) return false\n if (signal.reason == null) return false // Ignore nullish reasons\n return (\n err === signal.reason ||\n (err instanceof Error && err.cause === signal.reason)\n )\n}\n\n/**\n * Creates an AbortController that will be aborted when any of the given signals\n * is aborted.\n *\n * @note Make sure to call `abortController.abort()` when you are done with\n * the controller to avoid memory leaks.\n *\n * @throws if any of the input signals is already aborted.\n */\nexport function boundAbortController(\n ...signals: readonly (AbortSignal | undefined | null)[]\n): AbortController {\n for (const signal of signals) {\n signal?.throwIfAborted()\n }\n\n const abortController = new AbortController()\n const abort = function (event: Event) {\n abortController.abort((event.target as AbortSignal)?.reason)\n }\n\n for (const signal of signals) {\n signal?.addEventListener('abort', abort, { signal: abortController.signal })\n }\n\n return abortController\n}\n"]}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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","sourcesContent":["import assert from 'node:assert'\nimport { parseList } from 'structured-headers'\nimport { createRetryable } from '@atproto/common'\nimport { ResponseType, XRPCError } from '@atproto/xrpc'\nimport { Database } from './db/index.js'\n\nexport const getSigningKeyId = async (\n db: Database,\n signingKey: string,\n): Promise<number> => {\n const selectRes = await db.db\n .selectFrom('signing_key')\n .selectAll()\n .where('key', '=', signingKey)\n .executeTakeFirst()\n if (selectRes) {\n return selectRes.id\n }\n const insertRes = await db.db\n .insertInto('signing_key')\n .values({ key: signingKey })\n .returningAll()\n .executeTakeFirstOrThrow()\n return insertRes.id\n}\n\nexport const RETRYABLE_HTTP_STATUS_CODES = new Set([\n 408, 425, 429, 500, 502, 503, 504, 522, 524,\n])\n\nexport const retryHttp = createRetryable((err: unknown) => {\n if (err instanceof XRPCError) {\n if (err.status === ResponseType.Unknown) return true\n return RETRYABLE_HTTP_STATUS_CODES.has(err.status)\n }\n return false\n})\n\nexport type ParsedLabelers = {\n dids: string[]\n redact: Set<string>\n}\n\nexport const LABELER_HEADER_NAME = 'atproto-accept-labelers'\n\nexport const parseLabelerHeader = (\n header: string | undefined,\n ignoreDid?: string,\n): ParsedLabelers | null => {\n if (!header) return null\n const labelerDids = new Set<string>()\n const redactDids = new Set<string>()\n const parsed = parseList(header)\n for (const item of parsed) {\n const did = item[0].toString()\n if (!did) {\n return null\n }\n if (did === ignoreDid) {\n continue\n }\n labelerDids.add(did)\n const redact = item[1].get('redact')?.valueOf()\n if (redact === true) {\n redactDids.add(did)\n }\n }\n return {\n dids: [...labelerDids],\n redact: redactDids,\n }\n}\n\nexport const defaultLabelerHeader = (dids: string[]): ParsedLabelers => {\n return {\n dids,\n redact: new Set(dids),\n }\n}\n\nexport const formatLabelerHeader = (parsed: ParsedLabelers): string => {\n const parts = parsed.dids.map((did) =>\n parsed.redact.has(did) ? `${did};redact` : did,\n )\n return parts.join(',')\n}\n\n/**\n * Utility function similar to `setInterval()`. The main difference is that the\n * execution is controlled through a signal and that the function will wait for\n * `interval` milliseconds *between* the end of the previous execution and the\n * start of the next one (instead of starting the execution every `interval`\n * milliseconds), ensuring that the function is not running concurrently.\n *\n * @param fn The function to execute. That function must not throw any error\n * other than {@link signal}'s {@link AbortSignal.reason} or an {@link Error}\n * that has the {@link signal}'s {@link AbortSignal.reason} as its\n * {@link Error.cause}.\n *\n * @returns A promise that resolves when the signal is aborted, and the last\n * execution is done.\n *\n * @throws {AbortSignal['reason']} if the {@link signal} is already aborted.\n * @throws {TypeError} if {@link fn} throws an unexpected error (with the\n * unexpected error as the {@link Error.cause}).\n */\nexport async function startInterval(\n fn: (signal: AbortSignal) => void | Promise<void>,\n interval: number,\n signal: AbortSignal,\n runImmediately = false,\n) {\n signal.throwIfAborted()\n\n // Renaming for clarity\n const inputSignal = signal\n\n const intervalController = new AbortController()\n const intervalSignal = intervalController.signal\n\n return new Promise<void>((resolve, reject) => {\n let timer: NodeJS.Timeout | undefined\n\n const run = async () => {\n // Cloning the signal for this particular run to prevent memory leaks\n const runController = boundAbortController(intervalSignal)\n const runSignal = runController.signal\n\n try {\n await fn(runSignal)\n } catch (err) {\n if (err != null && isCausedBySignal(err, runSignal)) {\n // Silently ignore the error if it is caused by the signal. At this\n // point, the interval controller was aborted, which will cause the\n // promise to resolve in the \"finally\" block bellow.\n } else {\n // Invalid behavior: stop the interval and reject the promise.\n const error = new TypeError('Unexpected error', { cause: err })\n\n // Rejecting here will make `resolve()` in the \"finally\" block to be a\n // no-op. Rejecting before aborting the controller to ensure the\n // promise does not get resolved by the `abort` event listeners.\n reject(error)\n\n // Using `error` as abort reason to avoid creating an AbortError.\n intervalController.abort(error)\n }\n } finally {\n // Cleanup the listeners added by `boundAbortController`\n runController.abort()\n\n if (intervalSignal.aborted) resolve()\n else schedule()\n }\n }\n\n const schedule = () => {\n assert(timer === undefined, 'unexpected state')\n timer = setTimeout(() => {\n timer = undefined // \"running\" state\n void run()\n }, interval)\n }\n\n inputSignal.addEventListener(\n 'abort',\n // This function will only be called if the `inputSignal` is aborted\n // before the interval controller is aborted.\n () => {\n // Stop the interval, using the input signal's reason\n intervalController.abort(inputSignal.reason)\n\n if (timer === undefined) {\n // `fn` is currently running; `run`'s finally block will resolve the\n // promise.\n } else {\n // The execution was scheduled but not started yet. Clear the timer\n // and resolve the promise.\n clearTimeout(timer)\n resolve()\n }\n },\n // Remove the listener whenever the interval is aborted.\n { signal: intervalSignal },\n )\n\n if (runImmediately) void run()\n else schedule()\n })\n}\n\n/**\n * Determines whether the cause of an error is a signal's reason\n */\nexport function isCausedBySignal(err: unknown, signal: AbortSignal) {\n if (!signal.aborted) return false\n if (signal.reason == null) return false // Ignore nullish reasons\n return (\n err === signal.reason ||\n (err instanceof Error && err.cause === signal.reason)\n )\n}\n\n/**\n * Creates an AbortController that will be aborted when any of the given signals\n * is aborted.\n *\n * @note Make sure to call `abortController.abort()` when you are done with\n * the controller to avoid memory leaks.\n *\n * @throws if any of the input signals is already aborted.\n */\nexport function boundAbortController(\n ...signals: readonly (AbortSignal | undefined | null)[]\n): AbortController {\n for (const signal of signals) {\n signal?.throwIfAborted()\n }\n\n const abortController = new AbortController()\n const abort = function (event: Event) {\n abortController.abort((event.target as AbortSignal)?.reason)\n }\n\n for (const signal of signals) {\n signal?.addEventListener('abort', abort, { signal: abortController.signal })\n }\n\n return abortController\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Selectable } from 'kysely';
|
|
2
2
|
import { Agent } from '@atproto/api';
|
|
3
|
-
import { VerifierConfig } from '../config';
|
|
4
|
-
import { Verification } from '../db/schema/verification';
|
|
3
|
+
import { VerifierConfig } from '../config/index.js';
|
|
4
|
+
import { Verification } from '../db/schema/verification.js';
|
|
5
5
|
export type VerificationInput = {
|
|
6
6
|
displayName: string;
|
|
7
7
|
handle: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issuer.d.ts","sourceRoot":"","sources":["../../src/verification/issuer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,KAAK,EAA4B,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"issuer.d.ts","sourceRoot":"","sources":["../../src/verification/issuer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,KAAK,EAA4B,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,CACtC,cAAc,EAAE,cAAc,KAC3B,kBAAkB,CAAA;AAIvB,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,cAAc;IAFlC,OAAO,CAAC,OAAO,CAA0D;IACzE,OAAO,CAAC,KAAK,CAA0B;gBACnB,cAAc,EAAE,cAAc;IAElD,MAAM,CAAC,OAAO,KACJ,gBAAgB,cAAc;IAIlC,QAAQ;IAuBR,MAAM,CAAC,aAAa,EAAE,iBAAiB,EAAE;;;mBAGpC,wDAAwD;qBACtD,MAAM;mBACR,MAAM;;;IAqDX,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE;;;iBAED,MAAM;mBAAS,MAAM;;;CAkC9D"}
|
|
@@ -1,28 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VerificationIssuer = void 0;
|
|
4
|
-
const api_1 = require("@atproto/api");
|
|
1
|
+
import { Agent, AtUri, CredentialSession } from '@atproto/api';
|
|
5
2
|
const HANDLE_INVALID = 'handle.invalid';
|
|
6
|
-
class VerificationIssuer {
|
|
3
|
+
export class VerificationIssuer {
|
|
7
4
|
constructor(verifierConfig) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
writable: true,
|
|
12
|
-
value: verifierConfig
|
|
13
|
-
});
|
|
14
|
-
Object.defineProperty(this, "session", {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
configurable: true,
|
|
17
|
-
writable: true,
|
|
18
|
-
value: new api_1.CredentialSession(new URL(this.verifierConfig.url))
|
|
19
|
-
});
|
|
20
|
-
Object.defineProperty(this, "agent", {
|
|
21
|
-
enumerable: true,
|
|
22
|
-
configurable: true,
|
|
23
|
-
writable: true,
|
|
24
|
-
value: new api_1.Agent(this.session)
|
|
25
|
-
});
|
|
5
|
+
this.verifierConfig = verifierConfig;
|
|
6
|
+
this.session = new CredentialSession(new URL(this.verifierConfig.url));
|
|
7
|
+
this.agent = new Agent(this.session);
|
|
26
8
|
}
|
|
27
9
|
static creator() {
|
|
28
10
|
return (verifierConfig) => new VerificationIssuer(verifierConfig);
|
|
@@ -102,7 +84,7 @@ class VerificationIssuer {
|
|
|
102
84
|
const agent = await this.getAgent();
|
|
103
85
|
await Promise.allSettled(uris.map(async (uri) => {
|
|
104
86
|
try {
|
|
105
|
-
const atUri = new
|
|
87
|
+
const atUri = new AtUri(uri);
|
|
106
88
|
if (atUri.collection !== 'app.bsky.graph.verification') {
|
|
107
89
|
throw new Error(`Only verification records can be revoked`);
|
|
108
90
|
}
|
|
@@ -124,5 +106,4 @@ class VerificationIssuer {
|
|
|
124
106
|
return { revokedVerifications, failedRevocations };
|
|
125
107
|
}
|
|
126
108
|
}
|
|
127
|
-
exports.VerificationIssuer = VerificationIssuer;
|
|
128
109
|
//# sourceMappingURL=issuer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issuer.js","sourceRoot":"","sources":["../../src/verification/issuer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"issuer.js","sourceRoot":"","sources":["../../src/verification/issuer.ts"],"names":[],"mappings":"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","sourcesContent":["import { Selectable } from 'kysely'\nimport { Agent, AtUri, CredentialSession } from '@atproto/api'\nimport { VerifierConfig } from '../config/index.js'\nimport { Verification } from '../db/schema/verification.js'\n\nexport type VerificationInput = {\n displayName: string\n handle: string\n subject: string\n createdAt?: string\n}\n\nexport type VerificationIssuerCreator = (\n verifierConfig: VerifierConfig,\n) => VerificationIssuer\n\nconst HANDLE_INVALID = 'handle.invalid'\n\nexport class VerificationIssuer {\n private session = new CredentialSession(new URL(this.verifierConfig.url))\n private agent = new Agent(this.session)\n constructor(private verifierConfig: VerifierConfig) {}\n\n static creator() {\n return (verifierConfig: VerifierConfig) =>\n new VerificationIssuer(verifierConfig)\n }\n\n async getAgent() {\n if (!this.session.hasSession) {\n await this.session.login({\n identifier: this.verifierConfig.did,\n password: this.verifierConfig.password,\n })\n }\n\n // Trigger a test request to check if the session is still valid, if not, we will login again\n try {\n await this.agent.com.atproto.server.getSession()\n } catch (err) {\n if ((err as any).status === 401) {\n await this.session.login({\n identifier: this.verifierConfig.did,\n password: this.verifierConfig.password,\n })\n }\n }\n\n return this.agent\n }\n\n async verify(verifications: VerificationInput[]) {\n const grantedVerifications: Selectable<Verification>[] = []\n const failedVerifications: {\n $type: 'tools.ozone.verification.grantVerifications#grantError'\n subject: string\n error: string\n }[] = []\n const now = new Date().toISOString()\n const agent = await this.getAgent()\n await Promise.allSettled(\n verifications.map(async ({ displayName, handle, subject, createdAt }) => {\n if (handle.toLowerCase() === HANDLE_INVALID) {\n failedVerifications.push({\n $type: 'tools.ozone.verification.grantVerifications#grantError',\n error: 'Cannot verify with invalid handle',\n subject,\n })\n return\n }\n\n try {\n const verificationRecord = {\n createdAt: createdAt || now,\n issuer: this.verifierConfig.did,\n displayName,\n handle,\n subject,\n }\n const {\n data: { uri, cid },\n } = await agent.com.atproto.repo.createRecord({\n repo: this.verifierConfig.did,\n record: verificationRecord,\n collection: 'app.bsky.graph.verification',\n })\n grantedVerifications.push({\n ...verificationRecord,\n uri,\n cid,\n revokedAt: null,\n updatedAt: now,\n revokedBy: null,\n revokeReason: null,\n })\n } catch (err) {\n failedVerifications.push({\n $type: 'tools.ozone.verification.grantVerifications#grantError',\n error: (err as Error).message,\n subject,\n })\n return\n }\n }),\n )\n\n return { grantedVerifications, failedVerifications }\n }\n\n async revoke({ uris }: { uris: string[] }) {\n const revokedVerifications: string[] = []\n const failedRevocations: Array<{ uri: string; error: string }> = []\n\n const agent = await this.getAgent()\n\n await Promise.allSettled(\n uris.map(async (uri) => {\n try {\n const atUri = new AtUri(uri)\n\n if (atUri.collection !== 'app.bsky.graph.verification') {\n throw new Error(`Only verification records can be revoked`)\n }\n\n if (atUri.host !== this.verifierConfig.did) {\n throw new Error(\n `Cannot revoke verification record ${uri} not issued by ${this.verifierConfig.did}`,\n )\n }\n\n await agent.com.atproto.repo.deleteRecord({\n collection: atUri.collection,\n repo: this.verifierConfig.did,\n rkey: atUri.rkey,\n })\n revokedVerifications.push(uri)\n } catch (err) {\n failedRevocations.push({ uri, error: (err as Error).message })\n return\n }\n }),\n )\n\n return { revokedVerifications, failedRevocations }\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Selectable } from 'kysely';
|
|
2
2
|
import { $Typed, AppBskyActorDefs, ToolsOzoneModerationDefs, ToolsOzoneVerificationDefs } from '@atproto/api';
|
|
3
|
-
import { Database } from '../db';
|
|
4
|
-
import { Verification } from '../db/schema/verification';
|
|
3
|
+
import { Database } from '../db/index.js';
|
|
4
|
+
import { Verification } from '../db/schema/verification.js';
|
|
5
5
|
export type VerificationServiceCreator = (db: Database) => VerificationService;
|
|
6
6
|
export declare class VerificationService {
|
|
7
7
|
db: Database;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/verification/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EACL,MAAM,EACN,gBAAgB,EAEhB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/verification/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EACL,MAAM,EACN,gBAAgB,EAEhB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,MAAM,MAAM,0BAA0B,GAAG,CAAC,EAAE,EAAE,QAAQ,KAAK,mBAAmB,CAAA;AAE9E,qBAAa,mBAAmB;IACX,EAAE,EAAE,QAAQ;gBAAZ,EAAE,EAAE,QAAQ;IAE/B,MAAM,CAAC,OAAO,KACJ,IAAI,QAAQ;IAGhB,MAAM,CACV,aAAa,EAAE,IAAI,CACjB,YAAY,EACV,KAAK,GACL,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,aAAa,GACb,WAAW,GACX,KAAK,CACR,EAAE;IAYC,WAAW,CAAC,EAChB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,YAAY,GACb,EAAE;QACD,IAAI,EAAE,MAAM,EAAE,CAAA;QACd,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB;IAoBK,IAAI,CAAC,EACT,aAAa,EACb,MAAM,EACN,YAAY,EACZ,aAAa,EACb,OAAY,EACZ,QAAa,EACb,SAAS,EACT,KAAW,GACZ,EAAE;QACD,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;QAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf;;;;;;;;;;;;;;;;IAsCD,IAAI,CACF,aAAa,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,EACzC,KAAK,EAAE,GAAG,CACR,MAAM,EACJ,MAAM,CAAC,wBAAwB,CAAC,cAAc,CAAC,GAC/C,MAAM,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CACpD,EACD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,GAC1D,MAAM,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,EAAE;IAoClD,iBAAiB;IAUvB,oBAAoB;IAWd,oBAAoB,CAAC,MAAM,EAAE,MAAM;CAa1C"}
|
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const api_1 = require("@atproto/api");
|
|
5
|
-
const pagination_1 = require("../db/pagination");
|
|
6
|
-
class VerificationService {
|
|
1
|
+
import { AtUri, } from '@atproto/api';
|
|
2
|
+
import { CreatedAtUriKeyset, paginate } from '../db/pagination.js';
|
|
3
|
+
export class VerificationService {
|
|
7
4
|
constructor(db) {
|
|
8
|
-
|
|
9
|
-
enumerable: true,
|
|
10
|
-
configurable: true,
|
|
11
|
-
writable: true,
|
|
12
|
-
value: db
|
|
13
|
-
});
|
|
5
|
+
this.db = db;
|
|
14
6
|
}
|
|
15
7
|
static creator() {
|
|
16
8
|
return (db) => new VerificationService(db);
|
|
@@ -36,7 +28,7 @@ class VerificationService {
|
|
|
36
28
|
updatedAt: now,
|
|
37
29
|
revokedAt: revokedAt || now,
|
|
38
30
|
// Allow setting revokedBy to a moderator/verifier DID and if it isn't set, default to the author of the verification record
|
|
39
|
-
revokedBy: revokedBy || new
|
|
31
|
+
revokedBy: revokedBy || new AtUri(uri).host,
|
|
40
32
|
})
|
|
41
33
|
.where('uri', '=', uri)
|
|
42
34
|
.where('revokedAt', 'is', null)
|
|
@@ -62,8 +54,8 @@ class VerificationService {
|
|
|
62
54
|
if (createdBefore) {
|
|
63
55
|
qb = qb.where('createdAt', '<=', createdBefore);
|
|
64
56
|
}
|
|
65
|
-
const keyset = new
|
|
66
|
-
const paginatedBuilder =
|
|
57
|
+
const keyset = new CreatedAtUriKeyset(ref(`createdAt`), ref('uri'));
|
|
58
|
+
const paginatedBuilder = paginate(qb, {
|
|
67
59
|
limit,
|
|
68
60
|
cursor,
|
|
69
61
|
keyset,
|
|
@@ -137,5 +129,4 @@ class VerificationService {
|
|
|
137
129
|
return updated?.cursor;
|
|
138
130
|
}
|
|
139
131
|
}
|
|
140
|
-
exports.VerificationService = VerificationService;
|
|
141
132
|
//# sourceMappingURL=service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/verification/service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Selectable } from 'kysely'\nimport {\n $Typed,\n AppBskyActorDefs,\n AtUri,\n ToolsOzoneModerationDefs,\n ToolsOzoneVerificationDefs,\n} from '@atproto/api'\nimport { Database } from '../db'\nimport { CreatedAtUriKeyset, paginate } from '../db/pagination'\nimport { Verification } from '../db/schema/verification'\n\nexport type VerificationServiceCreator = (db: Database) => VerificationService\n\nexport class VerificationService {\n constructor(public db: Database) {}\n\n static creator() {\n return (db: Database) => new VerificationService(db)\n }\n\n async create(\n verifications: Pick<\n Verification,\n | 'uri'\n | 'issuer'\n | 'subject'\n | 'handle'\n | 'displayName'\n | 'createdAt'\n | 'cid'\n >[],\n ) {\n return this.db.transaction(async (tx) => {\n return tx.db\n .insertInto('verification')\n .values(verifications)\n .onConflict((oc) => oc.doNothing())\n .returningAll()\n .execute()\n })\n }\n\n async markRevoked({\n uris,\n revokedBy,\n revokedAt,\n revokeReason,\n }: {\n uris: string[]\n revokedBy?: string\n revokedAt?: string\n revokeReason?: string\n }) {\n const now = new Date().toISOString()\n return this.db.transaction(async (tx) => {\n for (const uri of uris) {\n return tx.db\n .updateTable('verification')\n .set({\n revokeReason,\n updatedAt: now,\n revokedAt: revokedAt || now,\n // Allow setting revokedBy to a moderator/verifier DID and if it isn't set, default to the author of the verification record\n revokedBy: revokedBy || new AtUri(uri).host,\n })\n .where('uri', '=', uri)\n .where('revokedAt', 'is', null)\n .execute()\n }\n })\n }\n\n async list({\n sortDirection,\n cursor,\n createdAfter,\n createdBefore,\n issuers = [],\n subjects = [],\n isRevoked,\n limit = 100,\n }: {\n sortDirection?: 'asc' | 'desc'\n cursor?: string\n createdAfter?: string\n createdBefore?: string\n issuers?: string[]\n subjects?: string[]\n isRevoked?: boolean\n limit?: number\n }) {\n const { ref } = this.db.db.dynamic\n\n let qb = this.db.db.selectFrom('verification').selectAll()\n\n if (issuers.length) {\n qb = qb.where('issuer', 'in', issuers)\n }\n\n if (isRevoked !== undefined) {\n qb = qb.where('revokedAt', isRevoked ? 'is not' : 'is', null)\n }\n\n if (subjects.length) {\n qb = qb.where('subject', 'in', subjects)\n }\n\n if (createdAfter) {\n qb = qb.where('createdAt', '>=', createdAfter)\n }\n\n if (createdBefore) {\n qb = qb.where('createdAt', '<=', createdBefore)\n }\n\n const keyset = new CreatedAtUriKeyset(ref(`createdAt`), ref('uri'))\n const paginatedBuilder = paginate(qb, {\n limit,\n cursor,\n keyset,\n tryIndex: true,\n direction: sortDirection === 'desc' ? 'desc' : 'asc',\n })\n\n const result = await paginatedBuilder.execute()\n return { verifications: result, cursor: keyset.packFromResult(result) }\n }\n\n view(\n verifications: Selectable<Verification>[],\n repos: Map<\n string,\n | $Typed<ToolsOzoneModerationDefs.RepoViewDetail>\n | $Typed<ToolsOzoneModerationDefs.RepoViewNotFound>\n >,\n profiles: Map<string, AppBskyActorDefs.ProfileViewDetailed>,\n ): $Typed<ToolsOzoneVerificationDefs.VerificationView>[] {\n return verifications.map((verification) => {\n const issuerRepo = repos.get(verification.issuer)\n const subjectRepo = repos.get(verification.subject)\n const subjectProfile = profiles.get(verification.subject)\n const issuerProfile = profiles.get(verification.issuer)\n return {\n $type: 'tools.ozone.verification.defs#verificationView',\n uri: verification.uri,\n issuer: verification.issuer,\n subject: verification.subject,\n createdAt: verification.createdAt,\n displayName: verification.displayName,\n handle: verification.handle,\n updatedAt: verification.updatedAt || undefined,\n revokedAt: verification.revokedAt || undefined,\n revokedBy: verification.revokedBy || undefined,\n revokeReason: verification.revokeReason || undefined,\n issuerRepo,\n subjectRepo,\n subjectProfile: subjectProfile\n ? {\n $type: 'app.bsky.actor.defs#profileViewDetailed',\n ...subjectProfile,\n }\n : undefined,\n issuerProfile: issuerProfile\n ? {\n $type: 'app.bsky.actor.defs#profileViewDetailed',\n ...issuerProfile,\n }\n : undefined,\n }\n })\n }\n\n async getFirehoseCursor() {\n const entry = await this.db.db\n .selectFrom('firehose_cursor')\n .select('cursor')\n .where('service', '=', 'verification')\n .executeTakeFirst()\n\n return entry?.cursor || null\n }\n\n createFirehoseCursor() {\n return this.db.db\n .insertInto('firehose_cursor')\n .values({\n service: 'verification',\n cursor: null,\n })\n .onConflict((oc) => oc.doNothing())\n .execute()\n }\n\n async updateFirehoseCursor(cursor: number) {\n const updated = await this.db.db\n .updateTable('firehose_cursor')\n .set({ cursor })\n .where('service', '=', 'verification')\n .where((qb) =>\n qb.where('cursor', '<', cursor).orWhere('cursor', 'is', null),\n )\n .returningAll()\n .executeTakeFirst()\n\n return updated?.cursor\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/verification/service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Selectable } from 'kysely'\nimport {\n $Typed,\n AppBskyActorDefs,\n AtUri,\n ToolsOzoneModerationDefs,\n ToolsOzoneVerificationDefs,\n} from '@atproto/api'\nimport { Database } from '../db/index.js'\nimport { CreatedAtUriKeyset, paginate } from '../db/pagination.js'\nimport { Verification } from '../db/schema/verification.js'\n\nexport type VerificationServiceCreator = (db: Database) => VerificationService\n\nexport class VerificationService {\n constructor(public db: Database) {}\n\n static creator() {\n return (db: Database) => new VerificationService(db)\n }\n\n async create(\n verifications: Pick<\n Verification,\n | 'uri'\n | 'issuer'\n | 'subject'\n | 'handle'\n | 'displayName'\n | 'createdAt'\n | 'cid'\n >[],\n ) {\n return this.db.transaction(async (tx) => {\n return tx.db\n .insertInto('verification')\n .values(verifications)\n .onConflict((oc) => oc.doNothing())\n .returningAll()\n .execute()\n })\n }\n\n async markRevoked({\n uris,\n revokedBy,\n revokedAt,\n revokeReason,\n }: {\n uris: string[]\n revokedBy?: string\n revokedAt?: string\n revokeReason?: string\n }) {\n const now = new Date().toISOString()\n return this.db.transaction(async (tx) => {\n for (const uri of uris) {\n return tx.db\n .updateTable('verification')\n .set({\n revokeReason,\n updatedAt: now,\n revokedAt: revokedAt || now,\n // Allow setting revokedBy to a moderator/verifier DID and if it isn't set, default to the author of the verification record\n revokedBy: revokedBy || new AtUri(uri).host,\n })\n .where('uri', '=', uri)\n .where('revokedAt', 'is', null)\n .execute()\n }\n })\n }\n\n async list({\n sortDirection,\n cursor,\n createdAfter,\n createdBefore,\n issuers = [],\n subjects = [],\n isRevoked,\n limit = 100,\n }: {\n sortDirection?: 'asc' | 'desc'\n cursor?: string\n createdAfter?: string\n createdBefore?: string\n issuers?: string[]\n subjects?: string[]\n isRevoked?: boolean\n limit?: number\n }) {\n const { ref } = this.db.db.dynamic\n\n let qb = this.db.db.selectFrom('verification').selectAll()\n\n if (issuers.length) {\n qb = qb.where('issuer', 'in', issuers)\n }\n\n if (isRevoked !== undefined) {\n qb = qb.where('revokedAt', isRevoked ? 'is not' : 'is', null)\n }\n\n if (subjects.length) {\n qb = qb.where('subject', 'in', subjects)\n }\n\n if (createdAfter) {\n qb = qb.where('createdAt', '>=', createdAfter)\n }\n\n if (createdBefore) {\n qb = qb.where('createdAt', '<=', createdBefore)\n }\n\n const keyset = new CreatedAtUriKeyset(ref(`createdAt`), ref('uri'))\n const paginatedBuilder = paginate(qb, {\n limit,\n cursor,\n keyset,\n tryIndex: true,\n direction: sortDirection === 'desc' ? 'desc' : 'asc',\n })\n\n const result = await paginatedBuilder.execute()\n return { verifications: result, cursor: keyset.packFromResult(result) }\n }\n\n view(\n verifications: Selectable<Verification>[],\n repos: Map<\n string,\n | $Typed<ToolsOzoneModerationDefs.RepoViewDetail>\n | $Typed<ToolsOzoneModerationDefs.RepoViewNotFound>\n >,\n profiles: Map<string, AppBskyActorDefs.ProfileViewDetailed>,\n ): $Typed<ToolsOzoneVerificationDefs.VerificationView>[] {\n return verifications.map((verification) => {\n const issuerRepo = repos.get(verification.issuer)\n const subjectRepo = repos.get(verification.subject)\n const subjectProfile = profiles.get(verification.subject)\n const issuerProfile = profiles.get(verification.issuer)\n return {\n $type: 'tools.ozone.verification.defs#verificationView',\n uri: verification.uri,\n issuer: verification.issuer,\n subject: verification.subject,\n createdAt: verification.createdAt,\n displayName: verification.displayName,\n handle: verification.handle,\n updatedAt: verification.updatedAt || undefined,\n revokedAt: verification.revokedAt || undefined,\n revokedBy: verification.revokedBy || undefined,\n revokeReason: verification.revokeReason || undefined,\n issuerRepo,\n subjectRepo,\n subjectProfile: subjectProfile\n ? {\n $type: 'app.bsky.actor.defs#profileViewDetailed',\n ...subjectProfile,\n }\n : undefined,\n issuerProfile: issuerProfile\n ? {\n $type: 'app.bsky.actor.defs#profileViewDetailed',\n ...issuerProfile,\n }\n : undefined,\n }\n })\n }\n\n async getFirehoseCursor() {\n const entry = await this.db.db\n .selectFrom('firehose_cursor')\n .select('cursor')\n .where('service', '=', 'verification')\n .executeTakeFirst()\n\n return entry?.cursor || null\n }\n\n createFirehoseCursor() {\n return this.db.db\n .insertInto('firehose_cursor')\n .values({\n service: 'verification',\n cursor: null,\n })\n .onConflict((oc) => oc.doNothing())\n .execute()\n }\n\n async updateFirehoseCursor(cursor: number) {\n const updated = await this.db.db\n .updateTable('firehose_cursor')\n .set({ cursor })\n .where('service', '=', 'verification')\n .where((qb) =>\n qb.where('cursor', '<', cursor).orWhere('cursor', 'is', null),\n )\n .returningAll()\n .executeTakeFirst()\n\n return updated?.cursor\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { $Typed, ToolsOzoneModerationDefs } from '@atproto/api';
|
|
2
|
-
import { AppContext } from '../context';
|
|
3
|
-
import { ModerationService } from '../mod-service';
|
|
4
|
-
import { ParsedLabelers } from '../util';
|
|
2
|
+
import { AppContext } from '../context.js';
|
|
3
|
+
import { ModerationService } from '../mod-service/index.js';
|
|
4
|
+
import { ParsedLabelers } from '../util.js';
|
|
5
5
|
export declare const getReposForVerifications: (ctx: AppContext, labelers: ParsedLabelers, modService: ModerationService, dids: string[], isModerator: boolean) => Promise<Map<string, $Typed<ToolsOzoneModerationDefs.RepoViewDetail> | $Typed<ToolsOzoneModerationDefs.RepoViewNotFound>>>;
|
|
6
6
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/verification/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/verification/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAK/D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,eAAO,MAAM,wBAAwB,GACnC,KAAK,UAAU,EACf,UAAU,cAAc,EACxB,YAAY,iBAAiB,EAC7B,MAAM,MAAM,EAAE,EACd,aAAa,OAAO,8HAsCrB,CAAA"}
|