@atproto/ozone 0.1.146 → 0.1.147
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 +9 -0
- package/dist/api/chat/getActorMetadata.js.map +1 -1
- package/dist/api/chat/getMessageContext.js.map +1 -1
- package/dist/api/chat/index.js.map +1 -1
- package/dist/api/communication/createTemplate.js.map +1 -1
- package/dist/api/communication/deleteTemplate.js.map +1 -1
- package/dist/api/communication/listTemplates.js.map +1 -1
- package/dist/api/communication/updateTemplate.js.map +1 -1
- package/dist/api/health.js.map +1 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +6 -0
- package/dist/api/index.js.map +1 -1
- package/dist/api/label/fetchLabels.js.map +1 -1
- package/dist/api/label/queryLabels.js.map +1 -1
- package/dist/api/label/subscribeLabels.js.map +1 -1
- package/dist/api/moderation/cancelScheduledActions.d.ts +4 -0
- package/dist/api/moderation/cancelScheduledActions.d.ts.map +1 -0
- package/dist/api/moderation/cancelScheduledActions.js +62 -0
- package/dist/api/moderation/cancelScheduledActions.js.map +1 -0
- package/dist/api/moderation/emitEvent.d.ts.map +1 -1
- package/dist/api/moderation/emitEvent.js +11 -47
- package/dist/api/moderation/emitEvent.js.map +1 -1
- package/dist/api/moderation/getAccountTimeline.js.map +1 -1
- package/dist/api/moderation/getEvent.js.map +1 -1
- package/dist/api/moderation/getRecord.js.map +1 -1
- package/dist/api/moderation/getRecords.js.map +1 -1
- package/dist/api/moderation/getRepo.js.map +1 -1
- package/dist/api/moderation/getReporterStats.js.map +1 -1
- package/dist/api/moderation/getRepos.js.map +1 -1
- package/dist/api/moderation/getSubjects.js.map +1 -1
- package/dist/api/moderation/listScheduledActions.d.ts +4 -0
- package/dist/api/moderation/listScheduledActions.d.ts.map +1 -0
- package/dist/api/moderation/listScheduledActions.js +31 -0
- package/dist/api/moderation/listScheduledActions.js.map +1 -0
- package/dist/api/moderation/queryEvents.js.map +1 -1
- package/dist/api/moderation/queryStatuses.js.map +1 -1
- package/dist/api/moderation/scheduleAction.d.ts +4 -0
- package/dist/api/moderation/scheduleAction.d.ts.map +1 -0
- package/dist/api/moderation/scheduleAction.js +115 -0
- package/dist/api/moderation/scheduleAction.js.map +1 -0
- package/dist/api/moderation/searchRepos.js.map +1 -1
- package/dist/api/moderation/util.d.ts +13 -0
- package/dist/api/moderation/util.d.ts.map +1 -0
- package/dist/api/moderation/util.js +52 -0
- package/dist/api/moderation/util.js.map +1 -0
- package/dist/api/proxied.js.map +1 -1
- package/dist/api/report/createReport.js.map +1 -1
- package/dist/api/safelink/addRule.js.map +1 -1
- package/dist/api/safelink/queryEvents.js.map +1 -1
- package/dist/api/safelink/queryRules.js.map +1 -1
- package/dist/api/safelink/removeRule.js.map +1 -1
- package/dist/api/safelink/updateRule.js.map +1 -1
- package/dist/api/server/getConfig.js.map +1 -1
- package/dist/api/set/addValues.js.map +1 -1
- package/dist/api/set/deleteSet.js.map +1 -1
- package/dist/api/set/deleteValues.js.map +1 -1
- package/dist/api/set/getValues.js.map +1 -1
- package/dist/api/set/querySets.js.map +1 -1
- package/dist/api/set/upsertSet.js.map +1 -1
- package/dist/api/setting/listOptions.js.map +1 -1
- package/dist/api/setting/removeOptions.js.map +1 -1
- package/dist/api/setting/upsertOption.js.map +1 -1
- package/dist/api/team/addMember.js.map +1 -1
- package/dist/api/team/deleteMember.js.map +1 -1
- package/dist/api/team/listMembers.js.map +1 -1
- package/dist/api/team/updateMember.js.map +1 -1
- package/dist/api/util.d.ts +4 -0
- package/dist/api/util.d.ts.map +1 -1
- package/dist/api/util.js +24 -1
- package/dist/api/util.js.map +1 -1
- package/dist/api/verification/grantVerifications.js.map +1 -1
- package/dist/api/verification/listVerifications.js.map +1 -1
- package/dist/api/verification/revokeVerifications.js.map +1 -1
- package/dist/api/well-known.js.map +1 -1
- package/dist/auth-verifier.js.map +1 -1
- package/dist/background.js.map +1 -1
- package/dist/communication-service/template.js.map +1 -1
- package/dist/communication-service/util.js.map +1 -1
- package/dist/config/config.js.map +1 -1
- package/dist/config/env.js.map +1 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/secrets.js.map +1 -1
- package/dist/context.d.ts +3 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +12 -6
- package/dist/context.js.map +1 -1
- package/dist/daemon/blob-diverter.js.map +1 -1
- package/dist/daemon/context.d.ts +3 -0
- package/dist/daemon/context.d.ts.map +1 -1
- package/dist/daemon/context.js +12 -0
- package/dist/daemon/context.js.map +1 -1
- package/dist/daemon/event-pusher.js.map +1 -1
- package/dist/daemon/event-reverser.js.map +1 -1
- package/dist/daemon/index.d.ts +1 -0
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +3 -1
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/materialized-view-refresher.js.map +1 -1
- package/dist/daemon/scheduled-action-processor.d.ts +35 -0
- package/dist/daemon/scheduled-action-processor.d.ts.map +1 -0
- package/dist/daemon/scheduled-action-processor.js +211 -0
- package/dist/daemon/scheduled-action-processor.js.map +1 -0
- package/dist/daemon/team-profile-synchronizer.js.map +1 -1
- package/dist/daemon/verification-listener.js.map +1 -1
- package/dist/db/index.js.map +1 -1
- package/dist/db/migrations/20231219T205730722Z-init.js.map +1 -1
- package/dist/db/migrations/20240116T085607200Z-communication-template.js.map +1 -1
- package/dist/db/migrations/20240201T051104136Z-mod-event-blobs.js.map +1 -1
- package/dist/db/migrations/20240208T213404429Z-add-tags-column-to-moderation-subject.js.map +1 -1
- package/dist/db/migrations/20240228T003647759Z-add-label-sigs.js.map +1 -1
- package/dist/db/migrations/20240408T192432676Z-mute-reporting.js.map +1 -1
- package/dist/db/migrations/20240506T225055595Z-message-subject.js.map +1 -1
- package/dist/db/migrations/20240521T211332580Z-member.js.map +1 -1
- package/dist/db/migrations/20240814T003647759Z-event-created-at-index.js.map +1 -1
- package/dist/db/migrations/20240903T205730722Z-add-template-lang.js.map +1 -1
- package/dist/db/migrations/20240904T205730722Z-add-subject-did-index.js.map +1 -1
- package/dist/db/migrations/20241001T205730722Z-subject-status-review-state-index.js.map +1 -1
- package/dist/db/migrations/20241008T205730722Z-sets.js.map +1 -1
- package/dist/db/migrations/20241018T205730722Z-setting.js.map +1 -1
- package/dist/db/migrations/20241026T205730722Z-add-hosting-status-to-subject-status.js.map +1 -1
- package/dist/db/migrations/20241220T144630860Z-stats-materialized-views.js.map +1 -1
- package/dist/db/migrations/20250204T003647759Z-add-subject-priority-score.js.map +1 -1
- package/dist/db/migrations/20250211T003647759Z-add-reporter-stats-index.js.map +1 -1
- package/dist/db/migrations/20250211T132135150Z-moderation-event-message-partial-idx.js.map +1 -1
- package/dist/db/migrations/20250221T132135150Z-member-details.js.map +1 -1
- package/dist/db/migrations/20250404T201720309Z-subject-status-sort-idxs.js.map +1 -1
- package/dist/db/migrations/20250415T201720309Z-verification.js.map +1 -1
- package/dist/db/migrations/20250417T201720309Z-firehose-cursor.js.map +1 -1
- package/dist/db/migrations/20250609T110704000Z-safelink.js.map +1 -1
- 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.map +1 -1
- package/dist/db/migrations/20250715T000000000Z-add-mod-event-external-id.js.map +1 -1
- package/dist/db/migrations/20250718T150931000Z-update-appeal-reason-stats.js.map +1 -1
- package/dist/db/migrations/20250813T000000000Z-mod-tool-batch-id-index.js.map +1 -1
- package/dist/db/migrations/20250923T000000000Z-scheduled-actions.d.ts +4 -0
- package/dist/db/migrations/20250923T000000000Z-scheduled-actions.d.ts.map +1 -0
- package/dist/db/migrations/20250923T000000000Z-scheduled-actions.js +53 -0
- package/dist/db/migrations/20250923T000000000Z-scheduled-actions.js.map +1 -0
- package/dist/db/migrations/index.d.ts +2 -0
- package/dist/db/migrations/index.d.ts.map +1 -1
- package/dist/db/migrations/index.js +3 -1
- package/dist/db/migrations/index.js.map +1 -1
- package/dist/db/migrations/provider.js.map +1 -1
- package/dist/db/pagination.js.map +1 -1
- package/dist/db/schema/account_events_stats.js.map +1 -1
- package/dist/db/schema/account_record_events_stats.js.map +1 -1
- package/dist/db/schema/account_record_status_stats.js.map +1 -1
- package/dist/db/schema/blob_push_event.js.map +1 -1
- package/dist/db/schema/communication_template.js.map +1 -1
- package/dist/db/schema/firehose_cursor.js.map +1 -1
- package/dist/db/schema/index.d.ts +2 -1
- package/dist/db/schema/index.d.ts.map +1 -1
- package/dist/db/schema/index.js.map +1 -1
- package/dist/db/schema/label.js.map +1 -1
- package/dist/db/schema/member.js.map +1 -1
- package/dist/db/schema/moderation_event.js.map +1 -1
- package/dist/db/schema/moderation_subject_status.js.map +1 -1
- package/dist/db/schema/ozone_set.js.map +1 -1
- package/dist/db/schema/record_events_stats.js.map +1 -1
- package/dist/db/schema/record_push_event.js.map +1 -1
- package/dist/db/schema/repo_push_event.js.map +1 -1
- package/dist/db/schema/safelink.js.map +1 -1
- package/dist/db/schema/scheduled-action.d.ts +23 -0
- package/dist/db/schema/scheduled-action.d.ts.map +1 -0
- package/dist/db/schema/scheduled-action.js +5 -0
- package/dist/db/schema/scheduled-action.js.map +1 -0
- package/dist/db/schema/setting.js.map +1 -1
- package/dist/db/schema/signing_key.js.map +1 -1
- package/dist/db/schema/verification.js.map +1 -1
- package/dist/db/types.js.map +1 -1
- package/dist/error.js.map +1 -1
- package/dist/image-invalidator.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/jetstream/service.js.map +1 -1
- package/dist/lexicon/index.d.ts +6 -0
- package/dist/lexicon/index.d.ts.map +1 -1
- package/dist/lexicon/index.js +12 -0
- package/dist/lexicon/index.js.map +1 -1
- package/dist/lexicon/lexicons.d.ts +835 -43
- package/dist/lexicon/lexicons.d.ts.map +1 -1
- package/dist/lexicon/lexicons.js +407 -0
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getPreferences.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getProfile.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getProfiles.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getSuggestions.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/profile.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/putPreferences.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/searchActors.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/searchActorsTypeahead.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/status.js.map +1 -1
- package/dist/lexicon/types/app/bsky/bookmark/createBookmark.js.map +1 -1
- package/dist/lexicon/types/app/bsky/bookmark/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/bookmark/deleteBookmark.js.map +1 -1
- package/dist/lexicon/types/app/bsky/bookmark/getBookmarks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/external.js.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/images.js.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/record.js.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/recordWithMedia.js.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/video.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/describeFeedGenerator.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/generator.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getActorFeeds.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getActorLikes.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getAuthorFeed.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeed.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeedGenerator.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeedGenerators.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeedSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getLikes.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getListFeed.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getPostThread.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getPosts.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getQuotes.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getRepostedBy.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getSuggestedFeeds.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getTimeline.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/like.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/post.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/postgate.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/repost.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/searchPosts.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/sendInteractions.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/threadgate.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/block.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/follow.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getActorStarterPacks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getBlocks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getFollowers.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getFollows.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getKnownFollowers.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getList.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getListBlocks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getListMutes.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getLists.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getListsWithMembership.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getMutes.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getRelationships.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getStarterPack.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getStarterPacks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getStarterPacksWithMembership.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/list.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/listblock.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/listitem.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/muteActor.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/muteActorList.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/muteThread.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/searchStarterPacks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/starterpack.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/unmuteActor.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/unmuteActorList.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/unmuteThread.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/verification.js.map +1 -1
- package/dist/lexicon/types/app/bsky/labeler/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/labeler/getServices.js.map +1 -1
- package/dist/lexicon/types/app/bsky/labeler/service.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/declaration.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/getPreferences.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/getUnreadCount.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/listActivitySubscriptions.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/listNotifications.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/putActivitySubscription.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/putPreferences.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/putPreferencesV2.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/registerPush.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/unregisterPush.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/updateSeen.js.map +1 -1
- package/dist/lexicon/types/app/bsky/richtext/facet.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getAgeAssuranceState.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getConfig.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedFeeds.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsers.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTrendingTopics.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTrends.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/initAgeAssurance.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/searchStarterPacksSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/video/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/video/getJobStatus.js.map +1 -1
- package/dist/lexicon/types/app/bsky/video/getUploadLimits.js.map +1 -1
- package/dist/lexicon/types/app/bsky/video/uploadVideo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/actor/declaration.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/actor/defs.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/actor/deleteAccount.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/actor/exportAccountData.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/acceptConvo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/addReaction.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/defs.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/deleteMessageForSelf.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvoAvailability.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getLog.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getMessages.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/leaveConvo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/listConvos.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/muteConvo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/removeReaction.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/sendMessage.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/unmuteConvo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/updateAllRead.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/updateRead.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/updateActorAccess.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/defs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/deleteAccount.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/disableAccountInvites.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/disableInviteCodes.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/enableAccountInvites.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getAccountInfo.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getAccountInfos.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getInviteCodes.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getSubjectStatus.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/searchAccounts.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/sendEmail.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountEmail.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountHandle.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountPassword.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountSigningKey.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateSubjectStatus.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/defs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/refreshIdentity.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/requestPlcOperationSignature.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/resolveDid.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/resolveHandle.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/resolveIdentity.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/signPlcOperation.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/submitPlcOperation.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/updateHandle.js.map +1 -1
- package/dist/lexicon/types/com/atproto/label/defs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/label/queryLabels.js.map +1 -1
- package/dist/lexicon/types/com/atproto/label/subscribeLabels.js.map +1 -1
- package/dist/lexicon/types/com/atproto/lexicon/schema.js.map +1 -1
- package/dist/lexicon/types/com/atproto/moderation/createReport.js.map +1 -1
- package/dist/lexicon/types/com/atproto/moderation/defs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/applyWrites.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/createRecord.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/defs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/deleteRecord.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/describeRepo.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/getRecord.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/importRepo.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/listMissingBlobs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/listRecords.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/putRecord.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/strongRef.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/uploadBlob.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/activateAccount.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/checkAccountStatus.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/confirmEmail.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createAccount.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createAppPassword.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createInviteCode.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createInviteCodes.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createSession.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/deactivateAccount.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/defs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/deleteAccount.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/deleteSession.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/describeServer.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/getAccountInviteCodes.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/getServiceAuth.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/getSession.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/listAppPasswords.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/refreshSession.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestAccountDelete.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestEmailConfirmation.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestEmailUpdate.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestPasswordReset.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/reserveSigningKey.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/resetPassword.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/revokeAppPassword.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/updateEmail.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/defs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getBlob.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getBlocks.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getCheckout.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getHead.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getHostStatus.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getLatestCommit.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getRecord.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getRepo.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getRepoStatus.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listBlobs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listHosts.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listRepos.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listReposByCollection.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/notifyOfUpdate.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/requestCrawl.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/subscribeRepos.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/addReservedHandle.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/checkHandleAvailability.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/checkSignupQueue.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/dereferenceScope.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/fetchLabels.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/requestPhoneVerification.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/revokeAccountCredentials.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/communication/createTemplate.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/communication/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/communication/deleteTemplate.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/communication/listTemplates.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/communication/updateTemplate.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/hosting/getAccountHistory.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/cancelScheduledActions.d.ts +46 -0
- package/dist/lexicon/types/tools/ozone/moderation/cancelScheduledActions.d.ts.map +1 -0
- package/dist/lexicon/types/tools/ozone/moderation/cancelScheduledActions.js +25 -0
- package/dist/lexicon/types/tools/ozone/moderation/cancelScheduledActions.js.map +1 -0
- package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts +57 -2
- package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/defs.js +27 -0
- package/dist/lexicon/types/tools/ozone/moderation/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/emitEvent.d.ts +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/emitEvent.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/emitEvent.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getAccountTimeline.d.ts +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getAccountTimeline.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getAccountTimeline.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getEvent.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getRecord.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getRecords.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getRepo.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getReporterStats.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getRepos.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/getSubjects.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/listScheduledActions.d.ts +38 -0
- package/dist/lexicon/types/tools/ozone/moderation/listScheduledActions.d.ts.map +1 -0
- package/dist/lexicon/types/tools/ozone/moderation/listScheduledActions.js +7 -0
- package/dist/lexicon/types/tools/ozone/moderation/listScheduledActions.js.map +1 -0
- package/dist/lexicon/types/tools/ozone/moderation/queryEvents.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/queryStatuses.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/scheduleAction.d.ts +75 -0
- package/dist/lexicon/types/tools/ozone/moderation/scheduleAction.d.ts.map +1 -0
- package/dist/lexicon/types/tools/ozone/moderation/scheduleAction.js +43 -0
- package/dist/lexicon/types/tools/ozone/moderation/scheduleAction.js.map +1 -0
- package/dist/lexicon/types/tools/ozone/moderation/searchRepos.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/report/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/safelink/addRule.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/safelink/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/safelink/queryEvents.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/safelink/queryRules.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/safelink/removeRule.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/safelink/updateRule.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/server/getConfig.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/set/addValues.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/set/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/set/deleteSet.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/set/deleteValues.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/set/getValues.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/set/querySets.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/set/upsertSet.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/setting/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/setting/listOptions.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/setting/removeOptions.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/setting/upsertOption.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/signature/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/signature/findCorrelation.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/signature/findRelatedAccounts.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/signature/searchAccounts.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/team/addMember.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/team/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/team/deleteMember.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/team/listMembers.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/team/updateMember.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/verification/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/verification/grantVerifications.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/verification/listVerifications.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/verification/revokeVerifications.js.map +1 -1
- package/dist/lexicon/util.js.map +1 -1
- package/dist/logger.js.map +1 -1
- package/dist/mod-service/index.d.ts.map +1 -1
- package/dist/mod-service/index.js +11 -0
- package/dist/mod-service/index.js.map +1 -1
- package/dist/mod-service/profile.js.map +1 -1
- package/dist/mod-service/status.d.ts +3 -0
- package/dist/mod-service/status.d.ts.map +1 -1
- package/dist/mod-service/status.js.map +1 -1
- package/dist/mod-service/subject.js.map +1 -1
- package/dist/mod-service/types.js.map +1 -1
- package/dist/mod-service/util.js.map +1 -1
- package/dist/mod-service/views.d.ts.map +1 -1
- package/dist/mod-service/views.js +5 -0
- package/dist/mod-service/views.js.map +1 -1
- package/dist/safelink/service.js.map +1 -1
- package/dist/scheduled-action/service.d.ts +39 -0
- package/dist/scheduled-action/service.d.ts.map +1 -0
- package/dist/scheduled-action/service.js +208 -0
- package/dist/scheduled-action/service.js.map +1 -0
- package/dist/scheduled-action/types.d.ts +14 -0
- package/dist/scheduled-action/types.d.ts.map +1 -0
- package/dist/scheduled-action/types.js +3 -0
- package/dist/scheduled-action/types.js.map +1 -0
- package/dist/sequencer/index.js.map +1 -1
- package/dist/sequencer/outbox.js.map +1 -1
- package/dist/sequencer/sequencer.js.map +1 -1
- package/dist/set/service.js.map +1 -1
- package/dist/setting/constants.js.map +1 -1
- package/dist/setting/service.js.map +1 -1
- package/dist/setting/types.js.map +1 -1
- package/dist/setting/validators.js.map +1 -1
- package/dist/tag-service/content-tagger.js.map +1 -1
- package/dist/tag-service/embed-tagger.js.map +1 -1
- package/dist/tag-service/index.js.map +1 -1
- package/dist/tag-service/language-data.js.map +1 -1
- package/dist/tag-service/language-tagger.js.map +1 -1
- package/dist/tag-service/util.js.map +1 -1
- package/dist/team/index.js.map +1 -1
- package/dist/util.js.map +1 -1
- package/dist/verification/issuer.js.map +1 -1
- package/dist/verification/service.js.map +1 -1
- package/dist/verification/util.js.map +1 -1
- package/package.json +3 -3
- package/src/api/index.ts +6 -0
- package/src/api/moderation/cancelScheduledActions.ts +72 -0
- package/src/api/moderation/emitEvent.ts +9 -84
- package/src/api/moderation/listScheduledActions.ts +45 -0
- package/src/api/moderation/scheduleAction.ts +129 -0
- package/src/api/moderation/util.ts +96 -0
- package/src/api/util.ts +33 -0
- package/src/context.ts +11 -0
- package/src/daemon/context.ts +21 -0
- package/src/daemon/index.ts +1 -0
- package/src/daemon/scheduled-action-processor.ts +243 -0
- package/src/db/migrations/20250923T000000000Z-scheduled-actions.ts +56 -0
- package/src/db/migrations/index.ts +2 -0
- package/src/db/schema/index.ts +3 -1
- package/src/db/schema/scheduled-action.ts +25 -0
- package/src/lexicon/index.ts +39 -0
- package/src/lexicon/lexicons.ts +430 -0
- package/src/lexicon/types/tools/ozone/moderation/cancelScheduledActions.ts +79 -0
- package/src/lexicon/types/tools/ozone/moderation/defs.ts +88 -0
- package/src/lexicon/types/tools/ozone/moderation/emitEvent.ts +2 -0
- package/src/lexicon/types/tools/ozone/moderation/getAccountTimeline.ts +2 -0
- package/src/lexicon/types/tools/ozone/moderation/listScheduledActions.ts +57 -0
- package/src/lexicon/types/tools/ozone/moderation/scheduleAction.ts +123 -0
- package/src/mod-service/index.ts +13 -0
- package/src/mod-service/views.ts +7 -0
- package/src/scheduled-action/service.ts +279 -0
- package/src/scheduled-action/types.ts +17 -0
- package/tests/__snapshots__/scheduled-action.test.ts.snap +61 -0
- package/tests/scheduled-action-processor.test.ts +464 -0
- package/tests/scheduled-action.test.ts +334 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/tsconfig.tests.tsbuildinfo +1 -1
package/dist/set/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/set/service.ts"],"names":[],"mappings":";;;AAEA,iDAAyD;AAMzD,MAAa,UAAU;IACrB,YAAmB,EAAY;QAAnB;;;;mBAAO,EAAE;WAAU;IAAG,CAAC;IAEnC,MAAM,CAAC,OAAO;QACZ,OAAO,CAAC,EAAY,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED,wBAAwB;QACtB,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC;YACrD,MAAM;YACN,QAAQ;YACR,eAAe;YACf,aAAa;YACb,aAAa;YACb,CAAC,EAAE,EAAE,EAAE,CACL,EAAE;iBACC,UAAU,CAAC,WAAW,CAAC;iBACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAS,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;iBACtD,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC;iBAC9B,EAAE,CAAC,SAAS,CAAC;SACnB,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EACV,KAAK,EACL,MAAM,EACN,UAAU,EACV,MAAM,EACN,aAAa,GAOd;QAIC,IAAI,EAAE,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAErD,IAAI,UAAU,EAAE,CAAC;YACf,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,CAAC,CAAA;QACnD,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YACtE,CAAC;iBAAM,CAAC;gBACN,EAAE,GAAG,EAAE,CAAC,KAAK,CACX,KAAK,MAAM,EAAE,EACb,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EACnC,IAAI,IAAI,CAAC,MAAM,CAAC,CACjB,CAAA;YACH,CAAC;QACH,CAAC;QAED,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,MAAM,EAAE,EAAE,aAAa,CAAC,CAAA;QAE7C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,EAAE,CAAA;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAE5B,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,QAAQ;gBACd,CAAC,CAAC,MAAM,KAAK,MAAM;oBACjB,CAAC,CAAC,QAAQ,EAAE,IAAI;oBAChB,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE;gBACpC,CAAC,CAAC,SAAS;SACd,CAAA;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE;aACrB,UAAU,CAAC,YAAY,CAAC;aACxB,SAAS,EAAE;aACX,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QAE3B,OAAO,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAAY;QAEZ,OAAO,MAAM,IAAI,CAAC,wBAAwB,EAAE;aACzC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC;aAC1B,gBAAgB,EAAE,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EACrB,IAAI,EACJ,KAAK,EACL,MAAM,GAKP;QAQC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAA;QAE1B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAA;QAClC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE;aAClB,UAAU,CAAC,WAAW,CAAC;aACvB,SAAS,EAAE;aACX,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;QAE9B,MAAM,MAAM,GAAG,IAAI,yBAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5D,MAAM,gBAAgB,GAAG,IAAA,qBAAQ,EAAC,EAAE,EAAE;YACpC,KAAK;YACL,MAAM;YACN,MAAM;YACN,SAAS,EAAE,KAAK;SACjB,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAA;QAE/C,OAAO;YACL,GAAG;YACH,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAClC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;SACtC,CAAA;IACH,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,EACX,IAAI,EACJ,WAAW,GAC6B;QACxC,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aACb,UAAU,CAAC,YAAY,CAAC;aACxB,MAAM,CAAC;YACN,IAAI;YACJ,WAAW;YACX,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;aACD,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE;YACjB,uEAAuE;YACvE,iDAAiD;YACjD,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAClC,OAAO,WAAW,KAAK,QAAQ;gBAC7B,CAAC,CAAC;oBACE,WAAW;oBACX,SAAS,EAAE,IAAI,IAAI,EAAE;iBACtB;gBACH,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAC9B,CAAA;QACH,CAAC,CAAC;aACD,OAAO,EAAE,CAAA;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,MAAgB;QAC7C,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;YACtB,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE;iBACjB,UAAU,CAAC,WAAW,CAAC;iBACvB,MAAM,CACL,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrB,KAAK;gBACL,KAAK;gBACL,SAAS,EAAE,GAAG;aACf,CAAC,CAAC,CACJ;iBACA,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAA;YAEjE,MAAM,KAAK,CAAC,OAAO,EAAE,CAAA;YAErB,uCAAuC;YACvC,MAAM,GAAG,CAAC,EAAE;iBACT,WAAW,CAAC,YAAY,CAAC;iBACzB,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;iBACvB,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC;iBACvB,OAAO,EAAE,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,MAAgB;QAChD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QACD,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE;iBACjB,UAAU,CAAC,WAAW,CAAC;iBACvB,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC;iBAC1B,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;YAE/B,MAAM,KAAK,CAAC,OAAO,EAAE,CAAA;YAErB,uCAAuC;YACvC,MAAM,GAAG,CAAC,EAAE;iBACT,WAAW,CAAC,YAAY,CAAC;iBACzB,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;iBAC9B,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC;iBACvB,OAAO,EAAE,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,MAAM,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;YACzE,MAAM,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;QACzE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,GAAgD;QACnD,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;YACzC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE;YACtC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE;SACvC,CAAA;IACH,CAAC;CACF;AA1ND,gCA0NC"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/set/service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Selectable } from 'kysely'\nimport { Database } from '../db'\nimport { TimeIdKeyset, paginate } from '../db/pagination'\nimport { SetDetail } from '../db/schema/ozone_set'\nimport { SetView } from '../lexicon/types/tools/ozone/set/defs'\n\nexport type SetServiceCreator = (db: Database) => SetService\n\nexport class SetService {\n constructor(public db: Database) {}\n\n static creator() {\n return (db: Database) => new SetService(db)\n }\n\n buildQueryForSetWithSize() {\n return this.db.db.selectFrom('set_detail as s').select([\n 's.id',\n 's.name',\n 's.description',\n 's.createdAt',\n 's.updatedAt',\n (eb) =>\n eb\n .selectFrom('set_value')\n .select((e) => e.fn.count<number>('setId').as('count'))\n .whereRef('setId', '=', 's.id')\n .as('setSize'),\n ])\n }\n\n async query({\n limit,\n cursor,\n namePrefix,\n sortBy,\n sortDirection,\n }: {\n limit: number\n cursor?: string\n namePrefix?: string\n sortBy: 'name' | 'createdAt' | 'updatedAt'\n sortDirection: 'asc' | 'desc'\n }): Promise<{\n sets: Selectable<SetDetail & { setSize: number }>[]\n cursor?: string\n }> {\n let qb = this.buildQueryForSetWithSize().limit(limit)\n\n if (namePrefix) {\n qb = qb.where('s.name', 'like', `${namePrefix}%`)\n }\n\n if (cursor) {\n if (sortBy === 'name') {\n qb = qb.where('s.name', sortDirection === 'asc' ? '>' : '<', cursor)\n } else {\n qb = qb.where(\n `s.${sortBy}`,\n sortDirection === 'asc' ? '>' : '<',\n new Date(cursor),\n )\n }\n }\n\n qb = qb.orderBy(`s.${sortBy}`, sortDirection)\n\n const sets = await qb.execute()\n const lastItem = sets.at(-1)\n\n return {\n sets,\n cursor: lastItem\n ? sortBy === 'name'\n ? lastItem?.name\n : lastItem?.[sortBy].toISOString()\n : undefined,\n }\n }\n\n async getByName(name: string): Promise<Selectable<SetDetail> | undefined> {\n const query = this.db.db\n .selectFrom('set_detail')\n .selectAll()\n .where('name', '=', name)\n\n return await query.executeTakeFirst()\n }\n\n async getByNameWithSize(\n name: string,\n ): Promise<Selectable<SetDetail & { setSize: number }> | undefined> {\n return await this.buildQueryForSetWithSize()\n .where('s.name', '=', name)\n .executeTakeFirst()\n }\n\n async getSetWithValues({\n name,\n limit,\n cursor,\n }: {\n name: string\n limit: number\n cursor?: string\n }): Promise<\n | {\n set: Selectable<SetDetail & { setSize: number }>\n values: string[]\n cursor?: string\n }\n | undefined\n > {\n const set = await this.getByNameWithSize(name)\n if (!set) return undefined\n\n const { ref } = this.db.db.dynamic\n const qb = this.db.db\n .selectFrom('set_value')\n .selectAll()\n .where('setId', '=', set.id)\n\n const keyset = new TimeIdKeyset(ref(`createdAt`), ref('id'))\n const paginatedBuilder = paginate(qb, {\n limit,\n cursor,\n keyset,\n direction: 'asc',\n })\n\n const result = await paginatedBuilder.execute()\n\n return {\n set,\n values: result.map((v) => v.value),\n cursor: keyset.packFromResult(result),\n }\n }\n async upsert({\n name,\n description,\n }: Pick<SetDetail, 'name' | 'description'>): Promise<void> {\n await this.db.db\n .insertInto('set_detail')\n .values({\n name,\n description,\n updatedAt: new Date(),\n })\n .onConflict((oc) => {\n // if description is provided as a string, even an empty one, update it\n // otherwise, just update the updatedAt timestamp\n return oc.column('name').doUpdateSet(\n typeof description === 'string'\n ? {\n description,\n updatedAt: new Date(),\n }\n : { updatedAt: new Date() },\n )\n })\n .execute()\n }\n\n async addValues(setId: number, values: string[]): Promise<void> {\n await this.db.transaction(async (txn) => {\n const now = new Date()\n const query = txn.db\n .insertInto('set_value')\n .values(\n values.map((value) => ({\n setId,\n value,\n createdAt: now,\n })),\n )\n .onConflict((oc) => oc.columns(['setId', 'value']).doNothing())\n\n await query.execute()\n\n // Update the set's updatedAt timestamp\n await txn.db\n .updateTable('set_detail')\n .set({ updatedAt: now })\n .where('id', '=', setId)\n .execute()\n })\n }\n\n async removeValues(setId: number, values: string[]): Promise<void> {\n if (values.length < 1) {\n return\n }\n await this.db.transaction(async (txn) => {\n const query = txn.db\n .deleteFrom('set_value')\n .where('setId', '=', setId)\n .where('value', 'in', values)\n\n await query.execute()\n\n // Update the set's updatedAt timestamp\n await txn.db\n .updateTable('set_detail')\n .set({ updatedAt: new Date() })\n .where('id', '=', setId)\n .execute()\n })\n }\n\n async removeSet(setId: number): Promise<void> {\n await this.db.transaction(async (txn) => {\n await txn.db.deleteFrom('set_value').where('setId', '=', setId).execute()\n await txn.db.deleteFrom('set_detail').where('id', '=', setId).execute()\n })\n }\n\n view(set: Selectable<SetDetail> & { setSize: number }): SetView {\n return {\n name: set.name,\n description: set.description || undefined,\n setSize: set.setSize,\n createdAt: set.createdAt.toISOString(),\n updatedAt: set.updatedAt.toISOString(),\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/setting/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,mCAAmC,CAAA;AAC5D,QAAA,oBAAoB,GAAG,gCAAgC,CAAA"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/setting/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,mCAAmC,CAAA;AAC5D,QAAA,oBAAoB,GAAG,gCAAgC,CAAA","sourcesContent":["export const ProtectedTagSettingKey = 'tools.ozone.setting.protectedTags'\nexport const PolicyListSettingKey = 'tools.ozone.setting.policyList'\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/setting/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/setting/service.ts"],"names":[],"mappings":"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","sourcesContent":["import assert from 'node:assert'\nimport { Selectable } from 'kysely'\nimport { InvalidRequestError } from '@atproto/xrpc-server'\nimport { Database } from '../db'\nimport { Member } from '../db/schema/member'\nimport { Setting, SettingScope } from '../db/schema/setting'\nimport { Option } from '../lexicon/types/tools/ozone/setting/defs'\n\nexport type SettingServiceCreator = (db: Database) => SettingService\n\nexport class SettingService {\n constructor(public db: Database) {}\n\n static creator() {\n return (db: Database) => new SettingService(db)\n }\n\n async query({\n limit = 100,\n scope,\n did,\n cursor,\n prefix,\n keys,\n }: {\n limit: number\n scope?: 'personal' | 'instance'\n did?: string\n cursor?: string\n prefix?: string\n keys?: string[]\n }): Promise<{\n options: Selectable<Setting>[]\n cursor?: string\n }> {\n let builder = this.db.db.selectFrom('setting').selectAll()\n\n if (prefix) {\n builder = builder.where('key', 'like', `${prefix}%`)\n } else if (keys?.length) {\n builder = builder.where('key', 'in', keys)\n }\n\n if (scope) {\n builder = builder.where('scope', '=', scope)\n }\n\n if (did) {\n builder = builder.where('did', '=', did)\n }\n\n if (cursor) {\n const cursorId = parseInt(cursor, 10)\n if (isNaN(cursorId)) {\n throw new InvalidRequestError('invalid cursor')\n }\n builder = builder.where('id', '<', cursorId)\n }\n\n const options = await builder.orderBy('id', 'desc').limit(limit).execute()\n\n return {\n options,\n cursor: options[options.length - 1]?.id.toString(),\n }\n }\n\n async upsert(\n option: Omit<Setting, 'id' | 'createdAt' | 'updatedAt'> & {\n createdAt: Date\n updatedAt: Date\n },\n ): Promise<void> {\n await this.db.db\n .insertInto('setting')\n .values(option)\n .onConflict((oc) => {\n return oc.columns(['key', 'scope', 'did']).doUpdateSet({\n value: option.value,\n updatedAt: option.updatedAt,\n description: option.description,\n managerRole: option.managerRole,\n lastUpdatedBy: option.lastUpdatedBy,\n })\n })\n .execute()\n }\n\n async removeOptions(\n keys: string[],\n filters: {\n did?: string\n scope: SettingScope\n managerRole: Member['role'][]\n },\n ): Promise<void> {\n if (!keys.length) return\n\n if (filters.scope === 'personal') {\n assert(filters.did, 'did is required for personal scope')\n }\n\n let qb = this.db.db\n .deleteFrom('setting')\n .where('key', 'in', keys)\n .where('scope', '=', filters.scope)\n\n if (filters.managerRole.length) {\n qb = qb.where('managerRole', 'in', filters.managerRole)\n } else {\n qb = qb.where('managerRole', 'is', null)\n }\n\n if (filters.did) {\n qb = qb.where('did', '=', filters.did)\n }\n\n await qb.execute()\n }\n\n view(setting: Selectable<Setting>): Option {\n const {\n key,\n value,\n did,\n description,\n createdAt,\n createdBy,\n updatedAt,\n lastUpdatedBy,\n managerRole,\n scope,\n } = setting\n\n return {\n key,\n value,\n did,\n scope,\n createdBy,\n lastUpdatedBy,\n managerRole: managerRole || undefined,\n description: description || undefined,\n createdAt: createdAt.toISOString(),\n updatedAt: updatedAt.toISOString(),\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/setting/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/setting/types.ts"],"names":[],"mappings":"","sourcesContent":["export type ProtectedTagSetting = {\n [key: string]: { roles?: string[]; moderators?: string[] }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/setting/validators.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/setting/validators.ts"],"names":[],"mappings":"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","sourcesContent":["import { Selectable } from 'kysely'\nimport { InvalidRequestError } from '@atproto/xrpc-server'\nimport { Setting } from '../db/schema/setting'\nimport { PolicyListSettingKey, ProtectedTagSettingKey } from './constants'\n\nexport const settingValidators = new Map<\n string,\n (setting: Partial<Selectable<Setting>>) => Promise<void>\n>([\n [\n ProtectedTagSettingKey,\n async (setting: Partial<Selectable<Setting>>) => {\n if (setting.managerRole !== 'tools.ozone.team.defs#roleAdmin') {\n throw new InvalidRequestError(\n 'Only admins should be able to configure protected tags',\n )\n }\n\n if (typeof setting.value !== 'object') {\n throw new InvalidRequestError('Invalid value')\n }\n for (const [key, val] of Object.entries(setting.value)) {\n if (!val || typeof val !== 'object') {\n throw new InvalidRequestError(`Invalid configuration for tag ${key}`)\n }\n\n if (!val['roles'] && !val['moderators']) {\n throw new InvalidRequestError(\n `Must define who a list of moderators or a role who can action subjects with ${key} tag`,\n )\n }\n\n if (val['roles']) {\n if (!Array.isArray(val['roles'])) {\n throw new InvalidRequestError(\n `Roles must be an array of moderator roles for tag ${key}`,\n )\n }\n if (!val['roles']?.length) {\n throw new InvalidRequestError(\n `Must define at least one role for tag ${key}`,\n )\n }\n }\n\n if (val['moderators']) {\n if (!Array.isArray(val['moderators'])) {\n throw new InvalidRequestError(\n `Moderators must be an array of moderator DIDs for tag ${key}`,\n )\n }\n if (!val['moderators']?.length) {\n throw new InvalidRequestError(\n `Must define at least one moderator DID for tag ${key}`,\n )\n }\n }\n }\n },\n ],\n [\n PolicyListSettingKey,\n async (setting: Partial<Selectable<Setting>>) => {\n if (setting.managerRole !== 'tools.ozone.team.defs#roleAdmin') {\n throw new InvalidRequestError(\n 'Only admins should be able to manage policy list',\n )\n }\n\n if (typeof setting.value !== 'object') {\n throw new InvalidRequestError('Invalid value')\n }\n for (const [key, val] of Object.entries(setting.value)) {\n if (!val || typeof val !== 'object') {\n throw new InvalidRequestError(\n `Invalid configuration for policy ${key}`,\n )\n }\n\n if (!val['name'] || !val['description']) {\n throw new InvalidRequestError(\n `Must define a name and description for policy ${key}`,\n )\n }\n }\n },\n ],\n])\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-tagger.js","sourceRoot":"","sources":["../../src/tag-service/content-tagger.ts"],"names":[],"mappings":";;;AAIA,MAAsB,aAAa;IACjC,YACY,OAAmB,EACnB,aAAgD,EAChD,iBAAoC;QAF9C;;;;mBAAU,OAAO;WAAY;QAC7B;;;;mBAAU,aAAa;WAAmC;QAC1D;;;;mBAAU,iBAAiB;WAAmB;IAC7C,CAAC;IAOJ,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,CAAA;QACX,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,EAAE,CAAA;IACzB,CAAC;IAES,gBAAgB;QACxB,OAAO,OAAO,CACZ,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CACxE,CAAA;IACH,CAAC;CACF;AAzBD,sCAyBC"}
|
|
1
|
+
{"version":3,"file":"content-tagger.js","sourceRoot":"","sources":["../../src/tag-service/content-tagger.ts"],"names":[],"mappings":";;;AAIA,MAAsB,aAAa;IACjC,YACY,OAAmB,EACnB,aAAgD,EAChD,iBAAoC;QAF9C;;;;mBAAU,OAAO;WAAY;QAC7B;;;;mBAAU,aAAa;WAAmC;QAC1D;;;;mBAAU,iBAAiB;WAAmB;IAC7C,CAAC;IAOJ,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,CAAA;QACX,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,EAAE,CAAA;IACzB,CAAC;IAES,gBAAgB;QACxB,OAAO,OAAO,CACZ,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CACxE,CAAA;IACH,CAAC;CACF;AAzBD,sCAyBC","sourcesContent":["import { ModerationService } from '../mod-service'\nimport { ModSubject } from '../mod-service/subject'\nimport { ModerationSubjectStatusRow } from '../mod-service/types'\n\nexport abstract class ContentTagger {\n constructor(\n protected subject: ModSubject,\n protected subjectStatus: ModerationSubjectStatusRow | null,\n protected moderationService: ModerationService,\n ) {}\n\n protected abstract tagPrefix: string\n\n protected abstract isApplicable(): boolean\n protected abstract buildTags(): Promise<string[]>\n\n async getTags(): Promise<string[]> {\n if (!this.isApplicable()) {\n return []\n }\n\n return this.buildTags()\n }\n\n protected tagAlreadyExists(): boolean {\n return Boolean(\n this.subjectStatus?.tags?.some((tag) => tag.startsWith(this.tagPrefix)),\n )\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embed-tagger.js","sourceRoot":"","sources":["../../src/tag-service/embed-tagger.ts"],"names":[],"mappings":";;;AAAA,sCAMqB;AACrB,kDAAyC;AACzC,sCAA6C;AAC7C,qDAAgD;AAEhD,MAAa,WAAY,SAAQ,8BAAa;IAA9C;;QACE;;;;mBAAY,QAAQ;WAAA;IAyDtB,CAAC;IAvDC,YAAY;QACV,OAAO,CACL,CAAC,CAAC,IAAI,CAAC,aAAa;YACpB,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACvB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,KAAK,cAAG,CAAC,eAAe,CAC1D,CAAA;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;YAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,EAAE,CAAA;YACX,CAAC;YACD,MAAM,IAAI,GAAa,EAAE,CAAA;YACzB,MAAM,MAAM,GAAG,qBAAe,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;YAE1D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,YAAY,GAAG,iCAA2B,CAAC,MAAM,CACrD,MAAM,CAAC,KAAK,CAAC,KAAK,CACnB;oBACC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK;oBAC1B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAA;gBAEtB,IAAI,wBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,CAAA;gBACrC,CAAC;gBAED,IAAI,uBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,CAAA;gBACrC,CAAC;gBAED,IAAI,0BAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC9C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,UAAU,CAAC,CAAA;gBACxC,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mBAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,4BAA4B,CAAC,CAAA;YACvE,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC;YAClE,IAAI,CAAC,OAAO;SACb,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAChD,OAAO,MAAM,EAAE,KAAK,CAAA;IACtB,CAAC;CACF;AA1DD,kCA0DC"}
|
|
1
|
+
{"version":3,"file":"embed-tagger.js","sourceRoot":"","sources":["../../src/tag-service/embed-tagger.ts"],"names":[],"mappings":";;;AAAA,sCAMqB;AACrB,kDAAyC;AACzC,sCAA6C;AAC7C,qDAAgD;AAEhD,MAAa,WAAY,SAAQ,8BAAa;IAA9C;;QACE;;;;mBAAY,QAAQ;WAAA;IAyDtB,CAAC;IAvDC,YAAY;QACV,OAAO,CACL,CAAC,CAAC,IAAI,CAAC,aAAa;YACpB,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACvB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,KAAK,cAAG,CAAC,eAAe,CAC1D,CAAA;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;YAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,EAAE,CAAA;YACX,CAAC;YACD,MAAM,IAAI,GAAa,EAAE,CAAA;YACzB,MAAM,MAAM,GAAG,qBAAe,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;YAE1D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,YAAY,GAAG,iCAA2B,CAAC,MAAM,CACrD,MAAM,CAAC,KAAK,CAAC,KAAK,CACnB;oBACC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK;oBAC1B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAA;gBAEtB,IAAI,wBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,CAAA;gBACrC,CAAC;gBAED,IAAI,uBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,CAAA;gBACrC,CAAC;gBAED,IAAI,0BAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC9C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,UAAU,CAAC,CAAA;gBACxC,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mBAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,4BAA4B,CAAC,CAAA;YACvE,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC;YAClE,IAAI,CAAC,OAAO;SACb,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAChD,OAAO,MAAM,EAAE,KAAK,CAAA;IACtB,CAAC;CACF;AA1DD,kCA0DC","sourcesContent":["import {\n AppBskyEmbedExternal,\n AppBskyEmbedImages,\n AppBskyEmbedRecordWithMedia,\n AppBskyEmbedVideo,\n AppBskyFeedPost,\n} from '@atproto/api'\nimport { ids } from '../lexicon/lexicons'\nimport { langLogger as log } from '../logger'\nimport { ContentTagger } from './content-tagger'\n\nexport class EmbedTagger extends ContentTagger {\n tagPrefix = 'embed:'\n\n isApplicable(): boolean {\n return (\n !!this.subjectStatus &&\n !this.tagAlreadyExists() &&\n this.subject.isRecord() &&\n this.subject.parsedUri.collection === ids.AppBskyFeedPost\n )\n }\n\n async buildTags(): Promise<string[]> {\n try {\n const recordValue = await this.getRecordValue()\n if (!recordValue) {\n return []\n }\n const tags: string[] = []\n const result = AppBskyFeedPost.validateRecord(recordValue)\n\n if (result.success) {\n const embedContent = AppBskyEmbedRecordWithMedia.isMain(\n result.value.embed,\n )\n ? result.value.embed.media\n : result.value.embed\n\n if (AppBskyEmbedImages.isMain(embedContent)) {\n tags.push(`${this.tagPrefix}image`)\n }\n\n if (AppBskyEmbedVideo.isMain(embedContent)) {\n tags.push(`${this.tagPrefix}video`)\n }\n\n if (AppBskyEmbedExternal.isMain(embedContent)) {\n tags.push(`${this.tagPrefix}external`)\n }\n }\n return tags\n } catch (err) {\n log.error({ subject: this.subject, err }, 'Error getting record langs')\n return []\n }\n }\n\n async getRecordValue(): Promise<Record<string, unknown> | undefined> {\n if (!this.subject.isRecord()) {\n return undefined\n }\n const recordByUri = await this.moderationService.views.fetchRecords([\n this.subject,\n ])\n\n const record = recordByUri.get(this.subject.uri)\n return record?.value\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tag-service/index.ts"],"names":[],"mappings":";;;AAAA,sCAA6C;AAK7C,iDAA4C;AAC5C,uDAAkD;AAElD,MAAa,UAAU;IAGrB,YACU,OAAmB,EACjB,aAAgD,EAClD,SAAiB,EACjB,iBAAoC;QAH5C;;;;mBAAQ,OAAO;WAAY;QAC3B;;;;mBAAU,aAAa;WAAmC;QAC1D;;;;mBAAQ,SAAS;WAAQ;QACzB;;;;mBAAQ,iBAAiB;WAAmB;QANtC;;;;;WAAwB;QAQ9B,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,gCAAc,CAAC,OAAO,EAAE,aAAa,EAAE,iBAAiB,CAAC;YAC7D,IAAI,0BAAW,CAAC,OAAO,EAAE,aAAa,EAAE,iBAAiB,CAAC;YAC1D,6BAA6B;SAC9B,CAAA;IACH,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,kBAAkB,CAAC,WAA8B;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAA;YAEjC,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAChC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;oBACtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;oBAClB,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,wDAAwD;oBACxD,mBAAG,CAAC,KAAK,CACP,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EACjC,uBAAuB,CACxB,CAAA;gBACH,CAAC;YACH,CAAC,CAAC,CACH,CAAA;YAED,qEAAqE;YACrE,wEAAwE;YACxE,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBACrC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;oBAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAClB,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;oBACpC,KAAK,EAAE;wBACL,KAAK,EAAE,yCAAyC;wBAChD,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;wBACd,MAAM,EAAE,EAAE;qBACX;oBACD,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mBAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,uBAAuB,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;CACF;AA7DD,gCA6DC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tag-service/index.ts"],"names":[],"mappings":";;;AAAA,sCAA6C;AAK7C,iDAA4C;AAC5C,uDAAkD;AAElD,MAAa,UAAU;IAGrB,YACU,OAAmB,EACjB,aAAgD,EAClD,SAAiB,EACjB,iBAAoC;QAH5C;;;;mBAAQ,OAAO;WAAY;QAC3B;;;;mBAAU,aAAa;WAAmC;QAC1D;;;;mBAAQ,SAAS;WAAQ;QACzB;;;;mBAAQ,iBAAiB;WAAmB;QANtC;;;;;WAAwB;QAQ9B,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,gCAAc,CAAC,OAAO,EAAE,aAAa,EAAE,iBAAiB,CAAC;YAC7D,IAAI,0BAAW,CAAC,OAAO,EAAE,aAAa,EAAE,iBAAiB,CAAC;YAC1D,6BAA6B;SAC9B,CAAA;IACH,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,kBAAkB,CAAC,WAA8B;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAA;YAEjC,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAChC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;oBACtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;oBAClB,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,wDAAwD;oBACxD,mBAAG,CAAC,KAAK,CACP,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EACjC,uBAAuB,CACxB,CAAA;gBACH,CAAC;YACH,CAAC,CAAC,CACH,CAAA;YAED,qEAAqE;YACrE,wEAAwE;YACxE,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBACrC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;oBAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAClB,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;oBACpC,KAAK,EAAE;wBACL,KAAK,EAAE,yCAAyC;wBAChD,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;wBACd,MAAM,EAAE,EAAE;qBACX;oBACD,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mBAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,uBAAuB,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;CACF;AA7DD,gCA6DC","sourcesContent":["import { langLogger as log } from '../logger'\nimport { ModerationService } from '../mod-service'\nimport { ModSubject } from '../mod-service/subject'\nimport { ModerationSubjectStatusRow } from '../mod-service/types'\nimport { ContentTagger } from './content-tagger'\nimport { EmbedTagger } from './embed-tagger'\nimport { LanguageTagger } from './language-tagger'\n\nexport class TagService {\n private taggers: ContentTagger[]\n\n constructor(\n private subject: ModSubject,\n protected subjectStatus: ModerationSubjectStatusRow | null,\n private taggerDid: string,\n private moderationService: ModerationService,\n ) {\n this.taggers = [\n new LanguageTagger(subject, subjectStatus, moderationService),\n new EmbedTagger(subject, subjectStatus, moderationService),\n // Add more taggers as needed\n ]\n }\n\n // Allow the caller to seed the initial tags\n async evaluateForSubject(initialTags?: Iterable<string>) {\n try {\n const tags = new Set(initialTags)\n\n await Promise.all(\n this.taggers.map(async (tagger) => {\n try {\n const newTags = await tagger.getTags()\n for (const newTag of newTags) {\n tags.add(newTag)\n }\n } catch (e) {\n // Don't let one tagger error stop the rest from running\n log.error(\n { subject: this.subject, err: e },\n 'Error applying tagger',\n )\n }\n }),\n )\n\n // Ensure that before inserting new tags, we discard any tag that may\n // have been evaluated to be added but is already present in the subject\n if (this.subjectStatus?.tags?.length) {\n for (const tag of this.subjectStatus.tags) {\n tags.delete(tag)\n }\n }\n\n if (tags.size) {\n await this.moderationService.logEvent({\n event: {\n $type: 'tools.ozone.moderation.defs#modEventTag',\n add: [...tags],\n remove: [],\n },\n subject: this.subject,\n createdBy: this.taggerDid,\n })\n }\n } catch (err) {\n log.error({ subject: this.subject, err }, 'Error tagging subject')\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-data.js","sourceRoot":"","sources":["../../src/tag-service/language-data.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"language-data.js","sourceRoot":"","sources":["../../src/tag-service/language-data.ts"],"names":[],"mappings":"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","sourcesContent":["// Also used in the client app https://github.com/bluesky-social/social-app/blob/main/src/locale/languages.ts\ninterface Language {\n code3: string\n code2: string\n name: string\n}\n\nexport const LANGUAGES: Language[] = [\n { code3: 'aar', code2: 'aa', name: 'Afar' },\n { code3: 'abk', code2: 'ab', name: 'Abkhazian' },\n { code3: 'ace', code2: '', name: 'Achinese' },\n { code3: 'ach', code2: '', name: 'Acoli' },\n { code3: 'ada', code2: '', name: 'Adangme' },\n { code3: 'ady', code2: '', name: 'Adyghe; Adygei' },\n { code3: 'afa', code2: '', name: 'Afro-Asiatic languages' },\n { code3: 'afh', code2: '', name: 'Afrihili' },\n { code3: 'afr', code2: 'af', name: 'Afrikaans' },\n { code3: 'ain', code2: '', name: 'Ainu' },\n { code3: 'aka', code2: 'ak', name: 'Akan' },\n { code3: 'akk', code2: '', name: 'Akkadian' },\n { code3: 'alb', code2: 'sq', name: 'Albanian' },\n { code3: 'ale', code2: '', name: 'Aleut' },\n { code3: 'alg', code2: '', name: 'Algonquian languages' },\n { code3: 'alt', code2: '', name: 'Southern Altai' },\n { code3: 'amh', code2: 'am', name: 'Amharic' },\n { code3: 'ang', code2: '', name: 'English, Old (ca.450-1100)' },\n { code3: 'anp ', code2: 'Angika', name: 'Angika' },\n { code3: 'apa', code2: '', name: 'Apache languages' },\n { code3: 'ara', code2: 'ar', name: 'Arabic' },\n {\n code3: 'arc',\n code2: '',\n name: 'Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE)',\n },\n { code3: 'arg', code2: 'an', name: 'Aragonese' },\n { code3: 'arm', code2: 'hy', name: 'Armenian' },\n { code3: 'arn', code2: '', name: 'Mapudungun; Mapuche' },\n { code3: 'arp', code2: '', name: 'Arapaho' },\n { code3: 'art', code2: '', name: 'Artificial languages' },\n { code3: 'arw', code2: '', name: 'Arawak' },\n { code3: 'asm', code2: 'as', name: 'Assamese' },\n { code3: 'ast', code2: '', name: 'Asturian; Bable; Leonese; Asturleonese' },\n { code3: 'ath', code2: '', name: 'Athapascan languages' },\n { code3: 'aus', code2: '', name: 'Australian languages' },\n { code3: 'ava', code2: 'av', name: 'Avaric' },\n { code3: 'ave', code2: 'ae', name: 'Avestan' },\n { code3: 'awa', code2: '', name: 'Awadhi' },\n { code3: 'aym', code2: 'ay', name: 'Aymara' },\n { code3: 'aze', code2: 'az', name: 'Azerbaijani' },\n { code3: 'bad', code2: '', name: 'Banda languages' },\n { code3: 'bai', code2: '', name: 'Bamileke languages' },\n { code3: 'bak', code2: 'ba', name: 'Bashkir' },\n { code3: 'bal', code2: '', name: 'Baluchi' },\n { code3: 'bam', code2: 'bm', name: 'Bambara' },\n { code3: 'ban', code2: '', name: 'Balinese' },\n { code3: 'baq', code2: 'eu', name: 'Basque' },\n { code3: 'bas', code2: '', name: 'Basa' },\n { code3: 'bat', code2: '', name: 'Baltic languages' },\n { code3: 'bej', code2: '', name: 'Beja; Bedawiyet' },\n { code3: 'bel', code2: 'be', name: 'Belarusian' },\n { code3: 'bem', code2: '', name: 'Bemba' },\n { code3: 'ben', code2: 'bn', name: 'Bengali' },\n { code3: 'ber', code2: '', name: 'Berber languages' },\n { code3: 'bho', code2: '', name: 'Bhojpuri' },\n { code3: 'bih', code2: 'bh', name: 'Bihari languages' },\n { code3: 'bik', code2: '', name: 'Bikol' },\n { code3: 'bin', code2: '', name: 'Bini; Edo' },\n { code3: 'bis', code2: 'bi', name: 'Bislama' },\n { code3: 'bla', code2: '', name: 'Siksika' },\n { code3: 'bnt', code2: '', name: 'Bantu languages' },\n { code3: 'bod', code2: 'bo', name: 'Tibetan' },\n { code3: 'bos', code2: 'bs', name: 'Bosnian' },\n { code3: 'bra', code2: '', name: 'Braj' },\n { code3: 'bre', code2: 'br', name: 'Breton' },\n { code3: 'btk', code2: '', name: 'Batak languages' },\n { code3: 'bua', code2: '', name: 'Buriat' },\n { code3: 'bug', code2: '', name: 'Buginese' },\n { code3: 'bul', code2: 'bg', name: 'Bulgarian' },\n { code3: 'bur', code2: 'my', name: 'Burmese' },\n { code3: 'byn', code2: '', name: 'Blin; Bilin' },\n { code3: 'cad', code2: '', name: 'Caddo' },\n { code3: 'cai', code2: '', name: 'Central American Indian languages' },\n { code3: 'car', code2: '', name: 'Galibi Carib' },\n { code3: 'cat', code2: 'ca', name: 'Catalan; Valencian' },\n { code3: 'cau', code2: '', name: 'Caucasian languages' },\n { code3: 'ceb', code2: '', name: 'Cebuano' },\n { code3: 'cel', code2: '', name: 'Celtic languages' },\n { code3: 'ces', code2: 'cs', name: 'Czech' },\n { code3: 'cha', code2: 'ch', name: 'Chamorro' },\n { code3: 'chb', code2: '', name: 'Chibcha' },\n { code3: 'che', code2: 'ce', name: 'Chechen' },\n { code3: 'chg', code2: '', name: 'Chagatai' },\n { code3: 'chi', code2: 'zh', name: 'Chinese' },\n { code3: 'chk', code2: '', name: 'Chuukese' },\n { code3: 'chm', code2: '', name: 'Mari' },\n { code3: 'chn', code2: '', name: 'Chinook jargon' },\n { code3: 'cho', code2: '', name: 'Choctaw' },\n { code3: 'chp', code2: '', name: 'Chipewyan; Dene Suline' },\n { code3: 'chr', code2: '', name: 'Cherokee' },\n {\n code3: 'chu',\n code2: 'cu',\n name: 'Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic',\n },\n { code3: 'chv', code2: 'cv', name: 'Chuvash' },\n { code3: 'chy', code2: '', name: 'Cheyenne' },\n { code3: 'cmc', code2: '', name: 'Chamic languages' },\n { code3: 'cnr', code2: '', name: 'Montenegrin' },\n { code3: 'cop', code2: '', name: 'Coptic' },\n { code3: 'cor', code2: 'kw', name: 'Cornish' },\n { code3: 'cos', code2: 'co', name: 'Corsican' },\n { code3: 'cpe', code2: '', name: 'Creoles and pidgins, English based' },\n { code3: 'cpf', code2: '', name: 'Creoles and pidgins, French-based' },\n { code3: 'cpp', code2: '', name: 'Creoles and pidgins, Portuguese-based' },\n { code3: 'cre', code2: 'cr', name: 'Cree' },\n { code3: 'crh', code2: '', name: 'Crimean Tatar; Crimean Turkish' },\n { code3: 'crp', code2: '', name: 'Creoles and pidgins' },\n { code3: 'csb', code2: '', name: 'Kashubian' },\n { code3: 'cus', code2: '', name: 'Cushitic languages' },\n { code3: 'cym', code2: 'cy', name: 'Welsh' },\n { code3: 'cze', code2: 'cs', name: 'Czech' },\n { code3: 'dak', code2: '', name: 'Dakota' },\n { code3: 'dan', code2: 'da', name: 'Danish' },\n { code3: 'dar', code2: '', name: 'Dargwa' },\n { code3: 'day', code2: '', name: 'Land Dayak languages' },\n { code3: 'del', code2: '', name: 'Delaware' },\n { code3: 'den', code2: '', name: 'Slave (Athapascan)' },\n { code3: 'deu', code2: 'de', name: 'German' },\n { code3: 'dgr', code2: '', name: 'Dogrib' },\n { code3: 'din', code2: '', name: 'Dinka' },\n { code3: 'div', code2: 'dv', name: 'Divehi; Dhivehi; Maldivian' },\n { code3: 'doi', code2: '', name: 'Dogri' },\n { code3: 'dra', code2: '', name: 'Dravidian languages' },\n { code3: 'dsb', code2: '', name: 'Lower Sorbian' },\n { code3: 'dua', code2: '', name: 'Duala' },\n { code3: 'dum', code2: '', name: 'Dutch, Middle (ca.1050-1350)' },\n { code3: 'dut', code2: 'nl', name: 'Dutch; Flemish' },\n { code3: 'dyu', code2: '', name: 'Dyula' },\n { code3: 'dzo', code2: 'dz', name: 'Dzongkha' },\n { code3: 'efi', code2: '', name: 'Efik' },\n { code3: 'egy', code2: '', name: 'Egyptian (Ancient)' },\n { code3: 'eka', code2: '', name: 'Ekajuk' },\n { code3: 'ell', code2: 'el', name: 'Greek, Modern (1453-)' },\n { code3: 'elx', code2: '', name: 'Elamite' },\n { code3: 'eng', code2: 'en', name: 'English' },\n { code3: 'enm', code2: '', name: 'English, Middle (1100-1500)' },\n { code3: 'epo', code2: 'eo', name: 'Esperanto' },\n { code3: 'est', code2: 'et', name: 'Estonian' },\n { code3: 'eus', code2: 'eu', name: 'Basque' },\n { code3: 'ewe', code2: 'ee', name: 'Ewe' },\n { code3: 'ewo', code2: '', name: 'Ewondo' },\n { code3: 'fan', code2: '', name: 'Fang' },\n { code3: 'fao', code2: 'fo', name: 'Faroese' },\n { code3: 'fas', code2: 'fa', name: 'Persian' },\n { code3: 'fat', code2: '', name: 'Fanti' },\n { code3: 'fij', code2: 'fj', name: 'Fijian' },\n { code3: 'fil', code2: '', name: 'Filipino; Pilipino' },\n { code3: 'fin', code2: 'fi', name: 'Finnish' },\n { code3: 'fiu', code2: '', name: 'Finno-Ugrian languages' },\n { code3: 'fon', code2: '', name: 'Fon' },\n { code3: 'fra', code2: 'fr', name: 'French' },\n { code3: 'fre', code2: 'fr', name: 'French' },\n { code3: 'frm', code2: '', name: 'French, Middle (ca.1400-1600)' },\n { code3: 'fro', code2: '', name: 'French, Old (842-ca.1400)' },\n { code3: 'frr', code2: '', name: 'Northern Frisian' },\n { code3: 'frs', code2: '', name: 'Eastern Frisian' },\n { code3: 'fry', code2: 'fy', name: 'Western Frisian' },\n { code3: 'ful', code2: 'ff', name: 'Fulah' },\n { code3: 'fur', code2: '', name: 'Friulian' },\n { code3: 'gaa', code2: '', name: 'Ga' },\n { code3: 'gay', code2: '', name: 'Gayo' },\n { code3: 'gba', code2: '', name: 'Gbaya' },\n { code3: 'gem', code2: '', name: 'Germanic languages' },\n { code3: 'geo', code2: 'ka', name: 'Georgian' },\n { code3: 'ger', code2: 'de', name: 'German' },\n { code3: 'gez', code2: '', name: 'Geez' },\n { code3: 'gil', code2: '', name: 'Gilbertese' },\n { code3: 'gla', code2: 'gd', name: 'Gaelic; Scottish Gaelic' },\n { code3: 'gle', code2: 'ga', name: 'Irish' },\n { code3: 'glg', code2: 'gl', name: 'Galician' },\n { code3: 'glv', code2: 'gv', name: 'Manx' },\n { code3: 'gmh', code2: '', name: 'German, Middle High (ca.1050-1500)' },\n { code3: 'goh', code2: '', name: 'German, Old High (ca.750-1050)' },\n { code3: 'gon', code2: '', name: 'Gondi' },\n { code3: 'gor', code2: '', name: 'Gorontalo' },\n { code3: 'got', code2: '', name: 'Gothic' },\n { code3: 'grb', code2: '', name: 'Grebo' },\n { code3: 'grc', code2: '', name: 'Greek, Ancient (to 1453)' },\n { code3: 'gre', code2: 'el', name: 'Greek, Modern (1453-)' },\n { code3: 'grn', code2: 'gn', name: 'Guarani' },\n { code3: 'gsw', code2: '', name: 'Swiss German; Alemannic; Alsatian' },\n { code3: 'gujgu', code2: 'Gujarati', name: 'goudjrati' },\n { code3: 'gwi', code2: '', name: \"Gwich'in\" },\n { code3: 'hai', code2: '', name: 'Haida' },\n { code3: 'hat', code2: 'ht', name: 'Haitian; Haitian Creole' },\n { code3: 'hau', code2: 'ha', name: 'Hausa' },\n { code3: 'haw', code2: '', name: 'Hawaiian' },\n { code3: 'heb', code2: 'he', name: 'Hebrew' },\n { code3: 'her', code2: 'hz', name: 'Herero' },\n { code3: 'hil', code2: '', name: 'Hiligaynon' },\n {\n code3: 'him',\n code2: '',\n name: 'Himachali languages; Western Pahari languages',\n },\n { code3: 'hin', code2: 'hi', name: 'Hindi' },\n { code3: 'hit', code2: '', name: 'Hittite' },\n { code3: 'hmn', code2: '', name: 'Hmong; Mong' },\n { code3: 'hmo', code2: 'ho', name: 'Hiri Motu' },\n { code3: 'hrv', code2: 'hr', name: 'Croatian' },\n { code3: 'hsb', code2: '', name: 'Upper Sorbian' },\n { code3: 'hun', code2: 'hu', name: 'Hungarian' },\n { code3: 'hup', code2: '', name: 'Hupa' },\n { code3: 'hye', code2: 'hy', name: 'Armenian' },\n { code3: 'iba', code2: '', name: 'Iban' },\n { code3: 'ibo', code2: 'ig', name: 'Igbo' },\n { code3: 'ice', code2: 'is', name: 'Icelandic' },\n { code3: 'ido', code2: 'io', name: 'Ido' },\n { code3: 'iii', code2: 'ii', name: 'Sichuan Yi; Nuosu' },\n { code3: 'ijo', code2: '', name: 'Ijo languages' },\n { code3: 'iku', code2: 'iu', name: 'Inuktitut' },\n { code3: 'ile', code2: 'ie', name: 'Interlingue; Occidental' },\n { code3: 'ilo', code2: '', name: 'Iloko' },\n {\n code3: 'ina',\n code2: 'ia',\n name: 'Interlingua (International Auxiliary Language Association)',\n },\n { code3: 'inc', code2: '', name: 'Indic languages' },\n { code3: 'ind', code2: 'id', name: 'Indonesian' },\n { code3: 'ine', code2: '', name: 'Indo-European languages' },\n { code3: 'inh', code2: '', name: 'Ingush' },\n { code3: 'ipk', code2: 'ik', name: 'Inupiaq' },\n { code3: 'ira', code2: '', name: 'Iranian languages' },\n { code3: 'iro', code2: '', name: 'Iroquoian languages' },\n { code3: 'isl', code2: 'is', name: 'Icelandic' },\n { code3: 'ita', code2: 'it', name: 'Italian' },\n { code3: 'jav', code2: 'jv', name: 'Javanese' },\n { code3: 'jbo', code2: '', name: 'Lojban' },\n { code3: 'jpn', code2: 'ja', name: 'Japanese' },\n { code3: 'jpr', code2: '', name: 'Judeo-Persian' },\n { code3: 'jrb', code2: '', name: 'Judeo-Arabic' },\n { code3: 'kaa', code2: '', name: 'Kara-Kalpak' },\n { code3: 'kab', code2: '', name: 'Kabyle' },\n { code3: 'kac', code2: '', name: 'Kachin; Jingpho' },\n { code3: 'kal', code2: 'kl', name: 'Kalaallisut; Greenlandic' },\n { code3: 'kam', code2: '', name: 'Kamba' },\n { code3: 'kan', code2: 'kn', name: 'Kannada' },\n { code3: 'kar', code2: '', name: 'Karen languages' },\n { code3: 'kas', code2: 'ks', name: 'Kashmiri' },\n { code3: 'kat', code2: 'ka', name: 'Georgian' },\n { code3: 'kau', code2: 'kr', name: 'Kanuri' },\n { code3: 'kaw', code2: '', name: 'Kawi' },\n { code3: 'kaz', code2: 'kk', name: 'Kazakh' },\n { code3: 'kbd', code2: '', name: 'Kabardian' },\n { code3: 'kha', code2: '', name: 'Khasi' },\n { code3: 'khi', code2: '', name: 'Khoisan languages' },\n { code3: 'khm', code2: 'km', name: 'Central Khmer' },\n { code3: 'kho', code2: '', name: 'Khotanese; Sakan' },\n { code3: 'kik', code2: 'ki', name: 'Kikuyu; Gikuyu' },\n { code3: 'kin', code2: 'rw', name: 'Kinyarwanda' },\n { code3: 'kir', code2: 'ky', name: 'Kirghiz; Kyrgyz' },\n { code3: 'kmb', code2: '', name: 'Kimbundu' },\n { code3: 'kok', code2: '', name: 'Konkani' },\n { code3: 'kom', code2: 'kv', name: 'Komi' },\n { code3: 'kon', code2: 'kg', name: 'Kongo' },\n { code3: 'kor', code2: 'ko', name: 'Korean' },\n { code3: 'kos', code2: '', name: 'Kosraean' },\n { code3: 'kpe', code2: '', name: 'Kpelle' },\n { code3: 'krc', code2: '', name: 'Karachay-Balkar' },\n { code3: 'krl', code2: '', name: 'Karelian' },\n { code3: 'kro', code2: '', name: 'Kru languages' },\n { code3: 'kru', code2: '', name: 'Kurukh' },\n { code3: 'kua', code2: 'kj', name: 'Kuanyama; Kwanyama' },\n { code3: 'kum', code2: '', name: 'Kumyk' },\n { code3: 'kur', code2: 'ku', name: 'Kurdish' },\n { code3: 'kut', code2: '', name: 'Kutenai' },\n { code3: 'lad', code2: '', name: 'Ladino' },\n { code3: 'lah', code2: '', name: 'Lahnda' },\n { code3: 'lam', code2: '', name: 'Lamba' },\n { code3: 'lao', code2: 'lo', name: 'Lao' },\n { code3: 'lat', code2: 'la', name: 'Latin' },\n { code3: 'lav', code2: 'lv', name: 'Latvian' },\n { code3: 'lez', code2: '', name: 'Lezghian' },\n { code3: 'lim', code2: 'li', name: 'Limburgan; Limburger; Limburgish' },\n { code3: 'lin', code2: 'ln', name: 'Lingala' },\n { code3: 'lit', code2: 'lt', name: 'Lithuanian' },\n { code3: 'lol', code2: '', name: 'Mongo' },\n { code3: 'loz', code2: '', name: 'Lozi' },\n { code3: 'ltz', code2: 'lb', name: 'Luxembourgish; Letzeburgesch' },\n { code3: 'lua', code2: '', name: 'Luba-Lulua' },\n { code3: 'lub', code2: 'lu', name: 'Luba-Katanga' },\n { code3: 'lug', code2: 'lg', name: 'Ganda' },\n { code3: 'lui', code2: '', name: 'Luiseno' },\n { code3: 'lun', code2: '', name: 'Lunda' },\n {\n code3: 'luo',\n code2: ' Luo (Kenya and Tanzania)',\n name: 'luo (Kenya et Tanzanie)',\n },\n { code3: 'lus', code2: '', name: 'Lushai' },\n { code3: 'mac', code2: 'mk', name: 'Macedonian' },\n { code3: 'mad', code2: '', name: 'Madurese' },\n { code3: 'mag', code2: '', name: 'Magahi' },\n { code3: 'mah', code2: 'mh', name: 'Marshallese' },\n { code3: 'mai', code2: '', name: 'Maithili' },\n { code3: 'mak', code2: '', name: 'Makasar' },\n { code3: 'mal', code2: 'ml', name: 'Malayalam' },\n { code3: 'man', code2: '', name: 'Mandingo' },\n { code3: 'mao', code2: 'mi', name: 'Maori' },\n { code3: 'map', code2: '', name: 'Austronesian languages' },\n { code3: 'mar', code2: 'mr', name: 'Marathi' },\n { code3: 'mas', code2: '', name: 'Masai' },\n { code3: 'may', code2: 'ms', name: 'Malay' },\n { code3: 'mdf', code2: '', name: 'Moksha' },\n { code3: 'mdr', code2: '', name: 'Mandar' },\n { code3: 'men', code2: '', name: 'Mende' },\n { code3: 'mga', code2: '', name: 'Irish, Middle (900-1200)' },\n { code3: 'mic', code2: '', name: \"Mi'kmaq; Micmac\" },\n { code3: 'min', code2: '', name: 'Minangkabau' },\n { code3: 'mis', code2: '', name: 'Uncoded languages' },\n { code3: 'mkd', code2: 'mk', name: 'Macedonian' },\n { code3: 'mkh', code2: '', name: 'Mon-Khmer languages' },\n { code3: 'mlg', code2: 'mg', name: 'Malagasy' },\n { code3: 'mlt', code2: 'mt', name: 'Maltese' },\n { code3: 'mnc', code2: '', name: 'Manchu' },\n { code3: 'mni', code2: '', name: 'Manipuri' },\n { code3: 'mno', code2: '', name: 'Manobo languages' },\n { code3: 'moh', code2: '', name: 'Mohawk' },\n { code3: 'mon', code2: 'mn', name: 'Mongolian' },\n { code3: 'mos', code2: '', name: 'Mossi' },\n { code3: 'mri', code2: 'mi', name: 'Maori' },\n { code3: 'msa', code2: 'ms', name: 'Malay' },\n { code3: 'mul', code2: '', name: 'Multiple languages' },\n { code3: 'mun', code2: '', name: 'Munda languages' },\n { code3: 'mus', code2: '', name: 'Creek' },\n { code3: 'mwl', code2: '', name: 'Mirandese' },\n { code3: 'mwr', code2: '', name: 'Marwari' },\n { code3: 'mya', code2: 'my', name: 'Burmese' },\n { code3: 'myn', code2: '', name: 'Mayan languages' },\n { code3: 'myv', code2: '', name: 'Erzya' },\n { code3: 'nah', code2: '', name: 'Nahuatl languages' },\n { code3: 'nai', code2: '', name: 'North American Indian languages' },\n { code3: 'nap', code2: '', name: 'Neapolitan' },\n { code3: 'nau', code2: 'na', name: 'Nauru' },\n { code3: 'nav', code2: 'nv', name: 'Navajo; Navaho' },\n { code3: 'nbl', code2: 'nr', name: 'Ndebele, South; South Ndebele' },\n { code3: 'nde', code2: 'nd', name: 'Ndebele, North; North Ndebele' },\n { code3: 'ndo', code2: 'ng', name: 'Ndonga' },\n {\n code3: 'nds',\n code2: '',\n name: 'Low German; Low Saxon; German, Low; Saxon, Low',\n },\n { code3: 'nep', code2: 'ne', name: 'Nepali' },\n { code3: 'new', code2: '', name: 'Nepal Bhasa; Newari' },\n { code3: 'nia', code2: '', name: 'Nias' },\n { code3: 'nic', code2: '', name: 'Niger-Kordofanian languages' },\n { code3: 'niu', code2: '', name: 'Niuean' },\n { code3: 'nld', code2: 'nl', name: 'Dutch; Flemish' },\n { code3: 'nno', code2: 'nn', name: 'Norwegian Nynorsk; Nynorsk, Norwegian' },\n { code3: 'nob', code2: 'nb', name: 'Bokmål, Norwegian; Norwegian Bokmål' },\n { code3: 'nog', code2: '', name: 'Nogai' },\n { code3: 'non', code2: '', name: 'Norse, Old' },\n { code3: 'nor', code2: 'no', name: 'Norwegian' },\n { code3: 'nqo', code2: '', name: \"N'Ko\" },\n { code3: 'nso', code2: '', name: 'Pedi; Sepedi; Northern Sotho' },\n { code3: 'nub', code2: '', name: 'Nubian languages' },\n {\n code3: 'nwc',\n code2: '',\n name: 'Classical Newari; Old Newari; Classical Nepal Bhasa',\n },\n { code3: 'nya', code2: 'ny', name: 'Chichewa; Chewa; Nyanja' },\n { code3: 'nym', code2: '', name: 'Nyamwezi' },\n { code3: 'nyn', code2: '', name: 'Nyankole' },\n { code3: 'nyo', code2: '', name: 'Nyoro' },\n { code3: 'nzi', code2: '', name: 'Nzima' },\n { code3: 'oci', code2: 'oc', name: 'Occitan (post 1500)' },\n { code3: 'oji', code2: 'oj', name: 'Ojibwa' },\n { code3: 'ori', code2: 'or', name: 'Oriya' },\n { code3: 'orm', code2: 'om', name: 'Oromo' },\n { code3: 'osa', code2: '', name: 'Osage' },\n { code3: 'oss', code2: 'os', name: 'Ossetian; Ossetic' },\n { code3: 'ota', code2: '', name: 'Turkish, Ottoman (1500-1928)' },\n { code3: 'oto', code2: '', name: 'Otomian languages' },\n { code3: 'paa', code2: '', name: 'Papuan languages' },\n { code3: 'pag', code2: '', name: 'Pangasinan' },\n { code3: 'pal', code2: ' ', name: 'Pahlavi' },\n { code3: 'pam', code2: ' ', name: 'Pampanga; Kapampangan' },\n { code3: 'pan', code2: 'paPanjabi; Punjabi', name: 'pendjabi' },\n { code3: 'pap', code2: ' ', name: 'Papiamento' },\n { code3: 'pau', code2: ' ', name: 'Palauan' },\n { code3: 'peo', code2: ' ', name: 'Persian, Old (ca.600-400 B.C.)' },\n { code3: 'per', code2: 'fa', name: 'Persian' },\n { code3: 'phi', code2: ' ', name: 'Philippine languages' },\n { code3: 'phn', code2: ' ', name: 'Phoenician' },\n { code3: 'pli', code2: 'pi', name: 'Pali' },\n { code3: 'pol', code2: 'pl', name: 'Polish' },\n { code3: 'pon', code2: ' ', name: 'Pohnpeian' },\n { code3: 'por', code2: 'pt', name: 'Portuguese' },\n { code3: 'pra', code2: ' ', name: 'Prakrit languages' },\n {\n code3: 'pro',\n code2: ' ',\n name: 'Provençal, Old (to 1500);Occitan, Old (to 1500)',\n },\n { code3: 'pus', code2: 'ps', name: 'Pushto; Pashto' },\n { code3: 'que', code2: 'qu', name: 'Quechua' },\n { code3: 'raj', code2: ' ', name: 'Rajasthani' },\n { code3: 'rap', code2: ' ', name: 'Rapanui' },\n { code3: 'rar', code2: ' ', name: 'Rarotongan; Cook Islands Maori' },\n { code3: 'roa', code2: ' ', name: 'Romance languages' },\n { code3: 'roh', code2: 'rm', name: 'Romansh' },\n { code3: 'rom', code2: ' ', name: 'Romany' },\n { code3: 'rum', code2: 'ro', name: 'Romanian; Moldavian; Moldovan' },\n { code3: 'ron', code2: 'ro', name: 'Romanian; Moldavian; Moldovan' },\n { code3: 'run', code2: 'rn', name: 'Rundi' },\n { code3: 'rup', code2: ' ', name: 'Aromanian; Arumanian; Macedo-Romanian' },\n { code3: 'rus', code2: 'ru', name: 'Russian' },\n { code3: 'sad', code2: ' ', name: 'Sandawe' },\n { code3: 'sag', code2: 'sg', name: 'Sango' },\n { code3: 'sah', code2: ' ', name: 'Yakut' },\n { code3: 'sai', code2: ' ', name: 'South American Indian languages' },\n { code3: 'sal', code2: ' ', name: 'Salishan languages' },\n { code3: 'sam', code2: ' ', name: 'Samaritan Aramaic' },\n { code3: 'san', code2: 'sa', name: 'Sanskrit' },\n { code3: 'sas', code2: ' ', name: 'Sasak' },\n { code3: 'sat', code2: ' ', name: 'Santali' },\n { code3: 'scn', code2: ' ', name: 'Sicilian' },\n { code3: 'sco', code2: ' ', name: 'Scots' },\n { code3: 'sel', code2: ' ', name: 'Selkup' },\n { code3: 'sem', code2: ' ', name: 'Semitic languages' },\n { code3: 'sga', code2: ' ', name: 'Irish, Old (to 900)' },\n { code3: 'sgn', code2: ' ', name: 'Sign Languages' },\n { code3: 'shn', code2: ' ', name: 'Shan' },\n { code3: 'sid', code2: ' ', name: 'Sidamo' },\n { code3: 'sin', code2: 'si', name: 'Sinhala; Sinhalese' },\n { code3: 'sio', code2: ' ', name: 'Siouan languages' },\n { code3: 'sit', code2: ' ', name: 'Sino-Tibetan languages' },\n { code3: 'sla', code2: ' ', name: 'Slavic languages' },\n { code3: 'slo', code2: 'sk', name: 'Slovak' },\n { code3: 'slk', code2: 'sk', name: 'Slovak' },\n { code3: 'slv', code2: 'sl', name: 'Slovenian' },\n { code3: 'sma', code2: ' ', name: 'Southern Sami' },\n { code3: 'sme', code2: 'se', name: 'Northern Sami' },\n { code3: 'smi', code2: ' ', name: 'Sami languages' },\n { code3: 'smj', code2: ' ', name: 'Lule Sami' },\n { code3: 'smn', code2: ' ', name: 'Inari Sami' },\n { code3: 'smo', code2: 'sm', name: 'Samoan' },\n { code3: 'sms', code2: ' ', name: 'Skolt Sami' },\n { code3: 'sna', code2: 'sn', name: 'Shona' },\n { code3: 'snd', code2: 'sd', name: 'Sindhi' },\n { code3: 'snk', code2: ' ', name: 'Soninke' },\n { code3: 'sog', code2: ' ', name: 'Sogdian' },\n { code3: 'som', code2: 'so', name: 'Somali' },\n { code3: 'son', code2: ' ', name: 'Songhai languages' },\n { code3: 'sot', code2: 'st', name: 'Sotho, Southern' },\n { code3: 'spa', code2: 'es', name: 'Spanish' },\n { code3: 'sqi', code2: 'sq', name: 'Albanian' },\n { code3: 'srd', code2: 'sc', name: 'Sardinian' },\n { code3: 'srn', code2: ' ', name: 'Sranan Tongo' },\n { code3: 'srp', code2: 'sr', name: 'Serbian' },\n { code3: 'srr', code2: ' ', name: 'Serer' },\n { code3: 'ssa', code2: ' ', name: 'Nilo-Saharan languages' },\n { code3: 'ssw', code2: 'ss', name: 'Swati' },\n { code3: 'suk', code2: ' ', name: 'Sukuma' },\n { code3: 'sun', code2: 'su', name: 'Sundanese' },\n { code3: 'sus', code2: ' ', name: 'Susu' },\n { code3: 'sux', code2: ' ', name: 'Sumerian' },\n { code3: 'swa', code2: 'sw', name: 'Swahili' },\n { code3: 'swe', code2: 'sv', name: 'Swedish' },\n { code3: 'syc', code2: ' ', name: 'Classical Syriac' },\n { code3: 'syr', code2: ' ', name: 'Syriac' },\n { code3: 'tah', code2: 'ty', name: 'Tahitian' },\n { code3: 'tai', code2: ' ', name: 'Tai languages' },\n { code3: 'tam', code2: 'ta', name: 'Tamil' },\n { code3: 'tat', code2: 'tt', name: 'Tatar' },\n { code3: 'tel', code2: 'te', name: 'Telugu' },\n { code3: 'tem', code2: ' ', name: 'Timne' },\n { code3: 'ter', code2: ' ', name: 'Tereno' },\n { code3: 'tet', code2: ' ', name: 'Tetum' },\n { code3: 'tgk', code2: 'tg', name: 'Tajik' },\n { code3: 'tgl', code2: 'tl', name: 'Tagalog' },\n { code3: 'tha', code2: 'th', name: 'Thai' },\n { code3: 'tib', code2: 'bo', name: 'Tibetan' },\n { code3: 'tig', code2: ' ', name: 'Tigre' },\n { code3: 'tir', code2: 'ti', name: 'Tigrinya' },\n { code3: 'tiv', code2: ' ', name: 'Tiv' },\n { code3: 'tkl', code2: ' ', name: 'Tokelau' },\n { code3: 'tlh', code2: ' ', name: 'Klingon; tlhIngan-Hol' },\n { code3: 'tli', code2: ' ', name: 'Tlingit' },\n { code3: 'tmh', code2: ' ', name: 'Tamashek' },\n { code3: 'tog', code2: ' ', name: 'Tonga (Nyasa)' },\n { code3: 'ton', code2: 'to', name: 'Tonga (Tonga Islands)' },\n { code3: 'tpi', code2: ' ', name: 'Tok Pisin' },\n { code3: 'tsi', code2: ' ', name: 'Tsimshian' },\n { code3: 'tsn', code2: 'tn', name: 'Tswana' },\n { code3: 'tso', code2: 'ts', name: 'Tsonga' },\n { code3: 'tuk', code2: 'tk', name: 'Turkmen' },\n { code3: 'tum', code2: ' ', name: 'Tumbuka' },\n { code3: 'tup', code2: ' ', name: 'Tupi languages' },\n { code3: 'tur', code2: 'tr', name: 'Turkish' },\n { code3: 'tut', code2: ' ', name: 'Altaic languages' },\n { code3: 'tvl', code2: ' ', name: 'Tuvalu' },\n { code3: 'twi', code2: 'tw', name: 'Twi' },\n { code3: 'tyv', code2: ' ', name: 'Tuvinian' },\n { code3: 'udm', code2: ' ', name: 'Udmurt' },\n { code3: 'uga', code2: ' ', name: 'Ugaritic' },\n { code3: 'uig', code2: 'ug', name: 'Uighur; Uyghur' },\n { code3: 'ukr', code2: 'uk', name: 'Ukrainian' },\n { code3: 'umb', code2: ' ', name: 'Umbundu' },\n { code3: 'und', code2: ' ', name: 'Undetermined' },\n { code3: 'urd', code2: 'ur', name: 'Urdu' },\n { code3: 'uzb', code2: 'uz', name: 'Uzbek' },\n { code3: 'vai', code2: ' ', name: 'Vai' },\n { code3: 'ven', code2: 've', name: 'Venda' },\n { code3: 'vie', code2: 'vi', name: 'Vietnamese' },\n { code3: 'vol', code2: 'vo', name: 'Volapük' },\n { code3: 'vot', code2: ' ', name: 'Votic' },\n { code3: 'wak', code2: ' ', name: 'Wakashan languages' },\n { code3: 'wal', code2: ' ', name: 'Wolaitta; Wolaytta' },\n { code3: 'war', code2: ' ', name: 'Waray' },\n { code3: 'was', code2: ' ', name: 'Washo' },\n { code3: 'wel', code2: 'cy', name: 'Welsh' },\n { code3: 'wen', code2: ' ', name: 'Sorbian languages' },\n { code3: 'wln', code2: 'wa', name: 'Walloon' },\n { code3: 'wol', code2: 'wo', name: 'Wolof' },\n { code3: 'xal', code2: ' ', name: 'Kalmyk; Oirat' },\n { code3: 'xho', code2: 'xh', name: 'Xhosa' },\n { code3: 'yao', code2: ' ', name: 'Yao' },\n { code3: 'yap', code2: ' ', name: 'Yapese' },\n { code3: 'yid', code2: 'yi', name: 'Yiddish' },\n { code3: 'yor', code2: 'yo', name: 'Yoruba' },\n { code3: 'ypk', code2: ' ', name: 'Yupik languages' },\n { code3: 'zap', code2: ' ', name: 'Zapotec' },\n { code3: 'zbl', code2: ' ', name: 'Blissymbols; Blissymbolics; Bliss' },\n { code3: 'zen', code2: ' ', name: 'Zenaga' },\n { code3: 'zgh', code2: ' ', name: 'Standard Moroccan Tamazight' },\n { code3: 'zha', code2: 'za', name: 'Zhuang; Chuang' },\n { code3: 'zho', code2: 'zh', name: 'Chinese' },\n { code3: 'znd', code2: ' ', name: 'Zande languages' },\n { code3: 'zul', code2: 'zu', name: 'Zulu' },\n { code3: 'zun', code2: ' ', name: 'Zuni' },\n {\n code3: 'zza',\n code2: '',\n name: 'Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki',\n },\n]\n\nexport const LANGUAGES_MAP_CODE3 = Object.fromEntries(\n LANGUAGES.map((lang) => [lang.code3, lang]),\n)\n\nexport function code3ToCode2(lang: string): string {\n if (lang.length === 3) {\n return LANGUAGES_MAP_CODE3[lang]?.code2 || lang\n }\n return lang\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-tagger.js","sourceRoot":"","sources":["../../src/tag-service/language-tagger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"language-tagger.js","sourceRoot":"","sources":["../../src/tag-service/language-tagger.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AppBskyActorProfile,\n AppBskyFeedGenerator,\n AppBskyFeedPost,\n AppBskyGraphList,\n} from '@atproto/api'\nimport { langLogger as log } from '../logger'\nimport { ContentTagger } from './content-tagger'\nimport { code3ToCode2 } from './language-data'\n\nconst ifString = (value: unknown): string | undefined =>\n typeof value === 'string' ? value : undefined\nconst isStringProp = (obj: object, prop: string): string | undefined =>\n prop in obj ? ifString(obj[prop]) : undefined\n\nexport class LanguageTagger extends ContentTagger {\n tagPrefix = 'lang:'\n\n isApplicable(): boolean {\n return !!this.subjectStatus && !this.tagAlreadyExists()\n }\n\n async buildTags(): Promise<string[]> {\n try {\n const recordLangs = await this.getRecordLang()\n return recordLangs\n ? recordLangs.map((lang) => `${this.tagPrefix}${lang}`)\n : [`${this.tagPrefix}und`]\n } catch (err) {\n log.error({ subject: this.subject, err }, 'Error getting record langs')\n return []\n }\n }\n\n getTextFromRecord(recordValue: Record<string, unknown>): string | undefined {\n let text: string | undefined\n\n if (AppBskyGraphList.isRecord(recordValue)) {\n text =\n isStringProp(recordValue, 'description') ||\n isStringProp(recordValue, 'name')\n } else if (\n AppBskyFeedGenerator.isRecord(recordValue) ||\n AppBskyActorProfile.isRecord(recordValue)\n ) {\n text =\n isStringProp(recordValue, 'description') ||\n isStringProp(recordValue, 'displayName')\n } else if (AppBskyFeedPost.isRecord(recordValue)) {\n text = isStringProp(recordValue, 'text')\n }\n\n return text?.trim()\n }\n\n async getRecordLang(): Promise<string[] | null> {\n const langs = new Set<string>()\n\n if (\n this.subject.isRepo() ||\n (this.subject.isRecord() &&\n this.subject.uri.endsWith('/app.bsky.actor.profile/self'))\n ) {\n const feed = await this.moderationService.views.fetchAuthorFeed(\n this.subject.did,\n )\n feed.forEach((item) => {\n const itemLangs = item.post.record['langs'] as string[] | null\n if (itemLangs?.length) {\n // Pick the first fragment of the lang code so that instead of `en-US` and `en-GB` we get `en`\n itemLangs.forEach((lang) => langs.add(lang.split('-')[0]))\n }\n })\n }\n\n if (this.subject.isRecord()) {\n const recordByUri = await this.moderationService.views.fetchRecords([\n this.subject,\n ])\n const record = recordByUri.get(this.subject.uri)\n const recordLang = record?.value.langs as string[] | null\n const recordText = record\n ? this.getTextFromRecord(record.value)\n : undefined\n if (recordLang?.length) {\n recordLang\n .map((lang) => lang.split('-')[0])\n .forEach((lang) => langs.add(lang))\n } else if (recordText) {\n // 'lande' is an esm module, so we need to import it dynamically\n const { default: lande } = await import('lande')\n const detectedLanguages = lande(recordText)\n if (detectedLanguages.length) {\n const langCode = code3ToCode2(detectedLanguages[0][0])\n if (langCode) langs.add(langCode)\n }\n }\n }\n\n return langs.size > 0 ? Array.from(langs) : null\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/tag-service/util.ts"],"names":[],"mappings":";;;AAEO,MAAM,eAAe,GAAG,CAAC,UAAsB,EAAE,EAAE;IACxD,MAAM,mBAAmB,GAAG,UAAU;SACnC,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC;SACjD,OAAO,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAA;IAEhD,MAAM,SAAS,GAAG,mBAAmB;SAClC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnC,WAAW,EAAE,CAAA;IAEhB,OAAO,UAAU,SAAS,EAAE,CAAA;AAC9B,CAAC,CAAA;AAVY,QAAA,eAAe,mBAU3B"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/tag-service/util.ts"],"names":[],"mappings":";;;AAEO,MAAM,eAAe,GAAG,CAAC,UAAsB,EAAE,EAAE;IACxD,MAAM,mBAAmB,GAAG,UAAU;SACnC,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC;SACjD,OAAO,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAA;IAEhD,MAAM,SAAS,GAAG,mBAAmB;SAClC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnC,WAAW,EAAE,CAAA;IAEhB,OAAO,UAAU,SAAS,EAAE,CAAA;AAC9B,CAAC,CAAA;AAVY,QAAA,eAAe,mBAU3B","sourcesContent":["import { ReasonType } from '../lexicon/types/com/atproto/moderation/defs'\n\nexport const getTagForReport = (reasonType: ReasonType) => {\n const reasonWithoutPrefix = reasonType\n .replace('com.atproto.moderation.defs#reason', '')\n .replace('tools.ozone.report.defs#reason', '')\n\n const kebabCase = reasonWithoutPrefix\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .toLowerCase()\n\n return `report:${kebabCase}`\n}\n"]}
|
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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"}
|
|
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 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.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issuer.js","sourceRoot":"","sources":["../../src/verification/issuer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"issuer.js","sourceRoot":"","sources":["../../src/verification/issuer.ts"],"names":[],"mappings":";;;AACA,sCAA8D;AAe9D,MAAa,kBAAkB;IAG7B,YAAoB,cAA8B;QAAtC;;;;mBAAQ,cAAc;WAAgB;QAF1C;;;;mBAAU,IAAI,uBAAiB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;WAAA;QACjE;;;;mBAAQ,IAAI,WAAK,CAAC,IAAI,CAAC,OAAO,CAAC;WAAA;IACc,CAAC;IAEtD,MAAM,CAAC,OAAO;QACZ,OAAO,CAAC,cAA8B,EAAE,EAAE,CACxC,IAAI,kBAAkB,CAAC,cAAc,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBACvB,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG;gBACnC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ;aACvC,CAAC,CAAA;QACJ,CAAC;QAED,6FAA6F;QAC7F,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAK,GAAW,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;oBACvB,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG;oBACnC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ;iBACvC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,aAAkC;QAC7C,MAAM,oBAAoB,GAA+B,EAAE,CAAA;QAC3D,MAAM,mBAAmB,GAInB,EAAE,CAAA;QACR,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QACpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QACnC,MAAM,OAAO,CAAC,UAAU,CACtB,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;YACtE,IAAI,CAAC;gBACH,MAAM,kBAAkB,GAAG;oBACzB,SAAS,EAAE,SAAS,IAAI,GAAG;oBAC3B,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG;oBAC/B,WAAW;oBACX,MAAM;oBACN,OAAO;iBACR,CAAA;gBACD,MAAM,EACJ,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GACnB,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC5C,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG;oBAC7B,MAAM,EAAE,kBAAkB;oBAC1B,UAAU,EAAE,6BAA6B;iBAC1C,CAAC,CAAA;gBACF,oBAAoB,CAAC,IAAI,CAAC;oBACxB,GAAG,kBAAkB;oBACrB,GAAG;oBACH,GAAG;oBACH,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,GAAG;oBACd,SAAS,EAAE,IAAI;oBACf,YAAY,EAAE,IAAI;iBACnB,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,mBAAmB,CAAC,IAAI,CAAC;oBACvB,KAAK,EAAE,wDAAwD;oBAC/D,KAAK,EAAG,GAAa,CAAC,OAAO;oBAC7B,OAAO;iBACR,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;QACH,CAAC,CAAC,CACH,CAAA;QAED,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAsB;QACvC,MAAM,oBAAoB,GAAa,EAAE,CAAA;QACzC,MAAM,iBAAiB,GAA0C,EAAE,CAAA;QAEnE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QAEnC,MAAM,OAAO,CAAC,UAAU,CACtB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACrB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,WAAK,CAAC,GAAG,CAAC,CAAA;gBAE5B,IAAI,KAAK,CAAC,UAAU,KAAK,6BAA6B,EAAE,CAAC;oBACvD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;gBAC7D,CAAC;gBAED,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;oBAC3C,MAAM,IAAI,KAAK,CACb,qCAAqC,GAAG,kBAAkB,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CACpF,CAAA;gBACH,CAAC;gBAED,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;oBACxC,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG;oBAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB,CAAC,CAAA;gBACF,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAChC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,iBAAiB,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAA;gBAC9D,OAAM;YACR,CAAC;QACH,CAAC,CAAC,CACH,CAAA;QAED,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAA;IACpD,CAAC;CACF;AAtHD,gDAsHC","sourcesContent":["import { Selectable } from 'kysely'\nimport { Agent, AtUri, CredentialSession } from '@atproto/api'\nimport { VerifierConfig } from '../config'\nimport { Verification } from '../db/schema/verification'\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\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 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"]}
|