@atproto/api 0.19.12 → 0.19.14

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.
@@ -1 +1 @@
1
- {"version":3,"file":"defs.js","sourceRoot":"","sources":["../../../../../../src/client/types/tools/ozone/moderation/defs.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { type ValidationResult, BlobRef } from '@atproto/lexicon'\nimport { CID } from 'multiformats/cid'\nimport { validate as _validate } from '../../../../lexicons'\nimport {\n type $Typed,\n is$typed as _is$typed,\n type OmitKey,\n} from '../../../../util'\nimport type * as ComAtprotoAdminDefs from '../../../com/atproto/admin/defs.js'\nimport type * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef.js'\nimport type * as ChatBskyConvoDefs from '../../../chat/bsky/convo/defs.js'\nimport type * as ComAtprotoModerationDefs from '../../../com/atproto/moderation/defs.js'\nimport type * as AppBskyAgeassuranceDefs from '../../../app/bsky/ageassurance/defs.js'\nimport type * as ComAtprotoServerDefs from '../../../com/atproto/server/defs.js'\nimport type * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs.js'\n\nconst is$typed = _is$typed,\n validate = _validate\nconst id = 'tools.ozone.moderation.defs'\n\nexport interface ModEventView {\n $type?: 'tools.ozone.moderation.defs#modEventView'\n id: number\n event:\n | $Typed<ModEventTakedown>\n | $Typed<ModEventReverseTakedown>\n | $Typed<ModEventComment>\n | $Typed<ModEventReport>\n | $Typed<ModEventLabel>\n | $Typed<ModEventAcknowledge>\n | $Typed<ModEventEscalate>\n | $Typed<ModEventMute>\n | $Typed<ModEventUnmute>\n | $Typed<ModEventMuteReporter>\n | $Typed<ModEventUnmuteReporter>\n | $Typed<ModEventEmail>\n | $Typed<ModEventResolveAppeal>\n | $Typed<ModEventDivert>\n | $Typed<ModEventTag>\n | $Typed<AccountEvent>\n | $Typed<IdentityEvent>\n | $Typed<RecordEvent>\n | $Typed<ModEventPriorityScore>\n | $Typed<AgeAssuranceEvent>\n | $Typed<AgeAssuranceOverrideEvent>\n | $Typed<AgeAssurancePurgeEvent>\n | $Typed<RevokeAccountCredentialsEvent>\n | $Typed<ScheduleTakedownEvent>\n | $Typed<CancelScheduledTakedownEvent>\n | { $type: string }\n subject:\n | $Typed<ComAtprotoAdminDefs.RepoRef>\n | $Typed<ComAtprotoRepoStrongRef.Main>\n | $Typed<ChatBskyConvoDefs.MessageRef>\n | { $type: string }\n subjectBlobCids: string[]\n createdBy: string\n createdAt: string\n creatorHandle?: string\n subjectHandle?: string\n modTool?: ModTool\n}\n\nconst hashModEventView = 'modEventView'\n\nexport function isModEventView<V>(v: V) {\n return is$typed(v, id, hashModEventView)\n}\n\nexport function validateModEventView<V>(v: V) {\n return validate<ModEventView & V>(v, id, hashModEventView)\n}\n\nexport interface ModEventViewDetail {\n $type?: 'tools.ozone.moderation.defs#modEventViewDetail'\n id: number\n event:\n | $Typed<ModEventTakedown>\n | $Typed<ModEventReverseTakedown>\n | $Typed<ModEventComment>\n | $Typed<ModEventReport>\n | $Typed<ModEventLabel>\n | $Typed<ModEventAcknowledge>\n | $Typed<ModEventEscalate>\n | $Typed<ModEventMute>\n | $Typed<ModEventUnmute>\n | $Typed<ModEventMuteReporter>\n | $Typed<ModEventUnmuteReporter>\n | $Typed<ModEventEmail>\n | $Typed<ModEventResolveAppeal>\n | $Typed<ModEventDivert>\n | $Typed<ModEventTag>\n | $Typed<AccountEvent>\n | $Typed<IdentityEvent>\n | $Typed<RecordEvent>\n | $Typed<ModEventPriorityScore>\n | $Typed<AgeAssuranceEvent>\n | $Typed<AgeAssuranceOverrideEvent>\n | $Typed<AgeAssurancePurgeEvent>\n | $Typed<RevokeAccountCredentialsEvent>\n | $Typed<ScheduleTakedownEvent>\n | $Typed<CancelScheduledTakedownEvent>\n | { $type: string }\n subject:\n | $Typed<RepoView>\n | $Typed<RepoViewNotFound>\n | $Typed<RecordView>\n | $Typed<RecordViewNotFound>\n | { $type: string }\n subjectBlobs: BlobView[]\n createdBy: string\n createdAt: string\n modTool?: ModTool\n}\n\nconst hashModEventViewDetail = 'modEventViewDetail'\n\nexport function isModEventViewDetail<V>(v: V) {\n return is$typed(v, id, hashModEventViewDetail)\n}\n\nexport function validateModEventViewDetail<V>(v: V) {\n return validate<ModEventViewDetail & V>(v, id, hashModEventViewDetail)\n}\n\nexport interface SubjectStatusView {\n $type?: 'tools.ozone.moderation.defs#subjectStatusView'\n id: number\n subject:\n | $Typed<ComAtprotoAdminDefs.RepoRef>\n | $Typed<ComAtprotoRepoStrongRef.Main>\n | $Typed<ChatBskyConvoDefs.MessageRef>\n | { $type: string }\n hosting?: $Typed<AccountHosting> | $Typed<RecordHosting> | { $type: string }\n subjectBlobCids?: string[]\n subjectRepoHandle?: string\n /** Timestamp referencing when the last update was made to the moderation status of the subject */\n updatedAt: string\n /** Timestamp referencing the first moderation status impacting event was emitted on the subject */\n createdAt: string\n reviewState: SubjectReviewState\n /** Sticky comment on the subject. */\n comment?: string\n /** Numeric value representing the level of priority. Higher score means higher priority. */\n priorityScore?: number\n muteUntil?: string\n muteReportingUntil?: string\n lastReviewedBy?: string\n lastReviewedAt?: string\n lastReportedAt?: string\n /** Timestamp referencing when the author of the subject appealed a moderation action */\n lastAppealedAt?: string\n takendown?: boolean\n /** True indicates that the a previously taken moderator action was appealed against, by the author of the content. False indicates last appeal was resolved by moderators. */\n appealed?: boolean\n suspendUntil?: string\n tags?: string[]\n accountStats?: AccountStats\n recordsStats?: RecordsStats\n accountStrike?: AccountStrike\n /** Current age assurance state of the subject. */\n ageAssuranceState?:\n | 'pending'\n | 'assured'\n | 'unknown'\n | 'reset'\n | 'blocked'\n | (string & {})\n /** Whether or not the last successful update to age assurance was made by the user or admin. */\n ageAssuranceUpdatedBy?: 'admin' | 'user' | (string & {})\n}\n\nconst hashSubjectStatusView = 'subjectStatusView'\n\nexport function isSubjectStatusView<V>(v: V) {\n return is$typed(v, id, hashSubjectStatusView)\n}\n\nexport function validateSubjectStatusView<V>(v: V) {\n return validate<SubjectStatusView & V>(v, id, hashSubjectStatusView)\n}\n\n/** Detailed view of a subject. For record subjects, the author's repo and profile will be returned. */\nexport interface SubjectView {\n $type?: 'tools.ozone.moderation.defs#subjectView'\n type: ComAtprotoModerationDefs.SubjectType\n subject: string\n status?: SubjectStatusView\n repo?: RepoViewDetail\n profile?: { $type: string }\n record?: RecordViewDetail\n}\n\nconst hashSubjectView = 'subjectView'\n\nexport function isSubjectView<V>(v: V) {\n return is$typed(v, id, hashSubjectView)\n}\n\nexport function validateSubjectView<V>(v: V) {\n return validate<SubjectView & V>(v, id, hashSubjectView)\n}\n\n/** Statistics about a particular account subject */\nexport interface AccountStats {\n $type?: 'tools.ozone.moderation.defs#accountStats'\n /** Total number of reports on the account */\n reportCount?: number\n /** Total number of appeals against a moderation action on the account */\n appealCount?: number\n /** Number of times the account was suspended */\n suspendCount?: number\n /** Number of times the account was escalated */\n escalateCount?: number\n /** Number of times the account was taken down */\n takedownCount?: number\n}\n\nconst hashAccountStats = 'accountStats'\n\nexport function isAccountStats<V>(v: V) {\n return is$typed(v, id, hashAccountStats)\n}\n\nexport function validateAccountStats<V>(v: V) {\n return validate<AccountStats & V>(v, id, hashAccountStats)\n}\n\n/** Statistics about a set of record subject items */\nexport interface RecordsStats {\n $type?: 'tools.ozone.moderation.defs#recordsStats'\n /** Cumulative sum of the number of reports on the items in the set */\n totalReports?: number\n /** Number of items that were reported at least once */\n reportedCount?: number\n /** Number of items that were escalated at least once */\n escalatedCount?: number\n /** Number of items that were appealed at least once */\n appealedCount?: number\n /** Total number of item in the set */\n subjectCount?: number\n /** Number of item currently in \"reviewOpen\" or \"reviewEscalated\" state */\n pendingCount?: number\n /** Number of item currently in \"reviewNone\" or \"reviewClosed\" state */\n processedCount?: number\n /** Number of item currently taken down */\n takendownCount?: number\n}\n\nconst hashRecordsStats = 'recordsStats'\n\nexport function isRecordsStats<V>(v: V) {\n return is$typed(v, id, hashRecordsStats)\n}\n\nexport function validateRecordsStats<V>(v: V) {\n return validate<RecordsStats & V>(v, id, hashRecordsStats)\n}\n\n/** Strike information for an account */\nexport interface AccountStrike {\n $type?: 'tools.ozone.moderation.defs#accountStrike'\n /** Current number of active strikes (excluding expired strikes) */\n activeStrikeCount?: number\n /** Total number of strikes ever received (including expired strikes) */\n totalStrikeCount?: number\n /** Timestamp of the first strike received */\n firstStrikeAt?: string\n /** Timestamp of the most recent strike received */\n lastStrikeAt?: string\n}\n\nconst hashAccountStrike = 'accountStrike'\n\nexport function isAccountStrike<V>(v: V) {\n return is$typed(v, id, hashAccountStrike)\n}\n\nexport function validateAccountStrike<V>(v: V) {\n return validate<AccountStrike & V>(v, id, hashAccountStrike)\n}\n\nexport type SubjectReviewState =\n | 'tools.ozone.moderation.defs#reviewOpen'\n | 'tools.ozone.moderation.defs#reviewEscalated'\n | 'tools.ozone.moderation.defs#reviewClosed'\n | 'tools.ozone.moderation.defs#reviewNone'\n | (string & {})\n\n/** Moderator review status of a subject: Open. Indicates that the subject needs to be reviewed by a moderator */\nexport const REVIEWOPEN = `${id}#reviewOpen`\n/** Moderator review status of a subject: Escalated. Indicates that the subject was escalated for review by a moderator */\nexport const REVIEWESCALATED = `${id}#reviewEscalated`\n/** Moderator review status of a subject: Closed. Indicates that the subject was already reviewed and resolved by a moderator */\nexport const REVIEWCLOSED = `${id}#reviewClosed`\n/** Moderator review status of a subject: Unnecessary. Indicates that the subject does not need a review at the moment but there is probably some moderation related metadata available for it */\nexport const REVIEWNONE = `${id}#reviewNone`\n\n/** Take down a subject permanently or temporarily */\nexport interface ModEventTakedown {\n $type?: 'tools.ozone.moderation.defs#modEventTakedown'\n comment?: string\n /** Indicates how long the takedown should be in effect before automatically expiring. */\n durationInHours?: number\n /** If true, all other reports on content authored by this account will be resolved (acknowledged). */\n acknowledgeAccountSubjects?: boolean\n /** Names/Keywords of the policies that drove the decision. */\n policies?: string[]\n /** Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.). */\n severityLevel?: string\n /** List of services where the takedown should be applied. If empty or not provided, takedown is applied on all configured services. */\n targetServices?: ('appview' | 'pds' | (string & {}))[]\n /** Number of strikes to assign to the user for this violation. */\n strikeCount?: number\n /** When the strike should expire. If not provided, the strike never expires. */\n strikeExpiresAt?: string\n}\n\nconst hashModEventTakedown = 'modEventTakedown'\n\nexport function isModEventTakedown<V>(v: V) {\n return is$typed(v, id, hashModEventTakedown)\n}\n\nexport function validateModEventTakedown<V>(v: V) {\n return validate<ModEventTakedown & V>(v, id, hashModEventTakedown)\n}\n\n/** Revert take down action on a subject */\nexport interface ModEventReverseTakedown {\n $type?: 'tools.ozone.moderation.defs#modEventReverseTakedown'\n /** Describe reasoning behind the reversal. */\n comment?: string\n /** Names/Keywords of the policy infraction for which takedown is being reversed. */\n policies?: string[]\n /** Severity level of the violation. Usually set from the last policy infraction's severity. */\n severityLevel?: string\n /** Number of strikes to subtract from the user's strike count. Usually set from the last policy infraction's severity. */\n strikeCount?: number\n}\n\nconst hashModEventReverseTakedown = 'modEventReverseTakedown'\n\nexport function isModEventReverseTakedown<V>(v: V) {\n return is$typed(v, id, hashModEventReverseTakedown)\n}\n\nexport function validateModEventReverseTakedown<V>(v: V) {\n return validate<ModEventReverseTakedown & V>(\n v,\n id,\n hashModEventReverseTakedown,\n )\n}\n\n/** Resolve appeal on a subject */\nexport interface ModEventResolveAppeal {\n $type?: 'tools.ozone.moderation.defs#modEventResolveAppeal'\n /** Describe resolution. */\n comment?: string\n}\n\nconst hashModEventResolveAppeal = 'modEventResolveAppeal'\n\nexport function isModEventResolveAppeal<V>(v: V) {\n return is$typed(v, id, hashModEventResolveAppeal)\n}\n\nexport function validateModEventResolveAppeal<V>(v: V) {\n return validate<ModEventResolveAppeal & V>(v, id, hashModEventResolveAppeal)\n}\n\n/** Add a comment to a subject. An empty comment will clear any previously set sticky comment. */\nexport interface ModEventComment {\n $type?: 'tools.ozone.moderation.defs#modEventComment'\n comment?: string\n /** Make the comment persistent on the subject */\n sticky?: boolean\n}\n\nconst hashModEventComment = 'modEventComment'\n\nexport function isModEventComment<V>(v: V) {\n return is$typed(v, id, hashModEventComment)\n}\n\nexport function validateModEventComment<V>(v: V) {\n return validate<ModEventComment & V>(v, id, hashModEventComment)\n}\n\n/** Report a subject */\nexport interface ModEventReport {\n $type?: 'tools.ozone.moderation.defs#modEventReport'\n comment?: string\n /** Set to true if the reporter was muted from reporting at the time of the event. These reports won't impact the reviewState of the subject. */\n isReporterMuted?: boolean\n reportType: ComAtprotoModerationDefs.ReasonType\n}\n\nconst hashModEventReport = 'modEventReport'\n\nexport function isModEventReport<V>(v: V) {\n return is$typed(v, id, hashModEventReport)\n}\n\nexport function validateModEventReport<V>(v: V) {\n return validate<ModEventReport & V>(v, id, hashModEventReport)\n}\n\n/** Apply/Negate labels on a subject */\nexport interface ModEventLabel {\n $type?: 'tools.ozone.moderation.defs#modEventLabel'\n comment?: string\n createLabelVals: string[]\n negateLabelVals: string[]\n /** Indicates how long the label will remain on the subject. Only applies on labels that are being added. */\n durationInHours?: number\n}\n\nconst hashModEventLabel = 'modEventLabel'\n\nexport function isModEventLabel<V>(v: V) {\n return is$typed(v, id, hashModEventLabel)\n}\n\nexport function validateModEventLabel<V>(v: V) {\n return validate<ModEventLabel & V>(v, id, hashModEventLabel)\n}\n\n/** Set priority score of the subject. Higher score means higher priority. */\nexport interface ModEventPriorityScore {\n $type?: 'tools.ozone.moderation.defs#modEventPriorityScore'\n comment?: string\n score: number\n}\n\nconst hashModEventPriorityScore = 'modEventPriorityScore'\n\nexport function isModEventPriorityScore<V>(v: V) {\n return is$typed(v, id, hashModEventPriorityScore)\n}\n\nexport function validateModEventPriorityScore<V>(v: V) {\n return validate<ModEventPriorityScore & V>(v, id, hashModEventPriorityScore)\n}\n\n/** Age assurance info coming directly from users. Only works on DID subjects. */\nexport interface AgeAssuranceEvent {\n $type?: 'tools.ozone.moderation.defs#ageAssuranceEvent'\n /** The date and time of this write operation. */\n createdAt: string\n /** The unique identifier for this instance of the age assurance flow, in UUID format. */\n attemptId: string\n /** The status of the Age Assurance process. */\n status: 'unknown' | 'pending' | 'assured' | (string & {})\n access?: AppBskyAgeassuranceDefs.Access\n /** The ISO 3166-1 alpha-2 country code provided when beginning the Age Assurance flow. */\n countryCode?: string\n /** The ISO 3166-2 region code provided when beginning the Age Assurance flow. */\n regionCode?: string\n /** The IP address used when initiating the AA flow. */\n initIp?: string\n /** The user agent used when initiating the AA flow. */\n initUa?: string\n /** The IP address used when completing the AA flow. */\n completeIp?: string\n /** The user agent used when completing the AA flow. */\n completeUa?: string\n}\n\nconst hashAgeAssuranceEvent = 'ageAssuranceEvent'\n\nexport function isAgeAssuranceEvent<V>(v: V) {\n return is$typed(v, id, hashAgeAssuranceEvent)\n}\n\nexport function validateAgeAssuranceEvent<V>(v: V) {\n return validate<AgeAssuranceEvent & V>(v, id, hashAgeAssuranceEvent)\n}\n\n/** Age assurance status override by moderators. Only works on DID subjects. */\nexport interface AgeAssuranceOverrideEvent {\n $type?: 'tools.ozone.moderation.defs#ageAssuranceOverrideEvent'\n /** The status to be set for the user decided by a moderator, overriding whatever value the user had previously. Use reset to default to original state. */\n status: 'assured' | 'reset' | 'blocked' | (string & {})\n access?: AppBskyAgeassuranceDefs.Access\n /** Comment describing the reason for the override. */\n comment: string\n}\n\nconst hashAgeAssuranceOverrideEvent = 'ageAssuranceOverrideEvent'\n\nexport function isAgeAssuranceOverrideEvent<V>(v: V) {\n return is$typed(v, id, hashAgeAssuranceOverrideEvent)\n}\n\nexport function validateAgeAssuranceOverrideEvent<V>(v: V) {\n return validate<AgeAssuranceOverrideEvent & V>(\n v,\n id,\n hashAgeAssuranceOverrideEvent,\n )\n}\n\n/** Purges all age assurance events for the subject. Only works on DID subjects. Moderator-only. */\nexport interface AgeAssurancePurgeEvent {\n $type?: 'tools.ozone.moderation.defs#ageAssurancePurgeEvent'\n /** Comment describing the reason for the purge. */\n comment: string\n}\n\nconst hashAgeAssurancePurgeEvent = 'ageAssurancePurgeEvent'\n\nexport function isAgeAssurancePurgeEvent<V>(v: V) {\n return is$typed(v, id, hashAgeAssurancePurgeEvent)\n}\n\nexport function validateAgeAssurancePurgeEvent<V>(v: V) {\n return validate<AgeAssurancePurgeEvent & V>(v, id, hashAgeAssurancePurgeEvent)\n}\n\n/** Account credentials revocation by moderators. Only works on DID subjects. */\nexport interface RevokeAccountCredentialsEvent {\n $type?: 'tools.ozone.moderation.defs#revokeAccountCredentialsEvent'\n /** Comment describing the reason for the revocation. */\n comment: string\n}\n\nconst hashRevokeAccountCredentialsEvent = 'revokeAccountCredentialsEvent'\n\nexport function isRevokeAccountCredentialsEvent<V>(v: V) {\n return is$typed(v, id, hashRevokeAccountCredentialsEvent)\n}\n\nexport function validateRevokeAccountCredentialsEvent<V>(v: V) {\n return validate<RevokeAccountCredentialsEvent & V>(\n v,\n id,\n hashRevokeAccountCredentialsEvent,\n )\n}\n\nexport interface ModEventAcknowledge {\n $type?: 'tools.ozone.moderation.defs#modEventAcknowledge'\n comment?: string\n /** If true, all other reports on content authored by this account will be resolved (acknowledged). */\n acknowledgeAccountSubjects?: boolean\n}\n\nconst hashModEventAcknowledge = 'modEventAcknowledge'\n\nexport function isModEventAcknowledge<V>(v: V) {\n return is$typed(v, id, hashModEventAcknowledge)\n}\n\nexport function validateModEventAcknowledge<V>(v: V) {\n return validate<ModEventAcknowledge & V>(v, id, hashModEventAcknowledge)\n}\n\nexport interface ModEventEscalate {\n $type?: 'tools.ozone.moderation.defs#modEventEscalate'\n comment?: string\n}\n\nconst hashModEventEscalate = 'modEventEscalate'\n\nexport function isModEventEscalate<V>(v: V) {\n return is$typed(v, id, hashModEventEscalate)\n}\n\nexport function validateModEventEscalate<V>(v: V) {\n return validate<ModEventEscalate & V>(v, id, hashModEventEscalate)\n}\n\n/** Mute incoming reports on a subject */\nexport interface ModEventMute {\n $type?: 'tools.ozone.moderation.defs#modEventMute'\n comment?: string\n /** Indicates how long the subject should remain muted. */\n durationInHours: number\n}\n\nconst hashModEventMute = 'modEventMute'\n\nexport function isModEventMute<V>(v: V) {\n return is$typed(v, id, hashModEventMute)\n}\n\nexport function validateModEventMute<V>(v: V) {\n return validate<ModEventMute & V>(v, id, hashModEventMute)\n}\n\n/** Unmute action on a subject */\nexport interface ModEventUnmute {\n $type?: 'tools.ozone.moderation.defs#modEventUnmute'\n /** Describe reasoning behind the reversal. */\n comment?: string\n}\n\nconst hashModEventUnmute = 'modEventUnmute'\n\nexport function isModEventUnmute<V>(v: V) {\n return is$typed(v, id, hashModEventUnmute)\n}\n\nexport function validateModEventUnmute<V>(v: V) {\n return validate<ModEventUnmute & V>(v, id, hashModEventUnmute)\n}\n\n/** Mute incoming reports from an account */\nexport interface ModEventMuteReporter {\n $type?: 'tools.ozone.moderation.defs#modEventMuteReporter'\n comment?: string\n /** Indicates how long the account should remain muted. Falsy value here means a permanent mute. */\n durationInHours?: number\n}\n\nconst hashModEventMuteReporter = 'modEventMuteReporter'\n\nexport function isModEventMuteReporter<V>(v: V) {\n return is$typed(v, id, hashModEventMuteReporter)\n}\n\nexport function validateModEventMuteReporter<V>(v: V) {\n return validate<ModEventMuteReporter & V>(v, id, hashModEventMuteReporter)\n}\n\n/** Unmute incoming reports from an account */\nexport interface ModEventUnmuteReporter {\n $type?: 'tools.ozone.moderation.defs#modEventUnmuteReporter'\n /** Describe reasoning behind the reversal. */\n comment?: string\n}\n\nconst hashModEventUnmuteReporter = 'modEventUnmuteReporter'\n\nexport function isModEventUnmuteReporter<V>(v: V) {\n return is$typed(v, id, hashModEventUnmuteReporter)\n}\n\nexport function validateModEventUnmuteReporter<V>(v: V) {\n return validate<ModEventUnmuteReporter & V>(v, id, hashModEventUnmuteReporter)\n}\n\n/** Keep a log of outgoing email to a user */\nexport interface ModEventEmail {\n $type?: 'tools.ozone.moderation.defs#modEventEmail'\n /** The subject line of the email sent to the user. */\n subjectLine: string\n /** The content of the email sent to the user. */\n content?: string\n /** Additional comment about the outgoing comm. */\n comment?: string\n /** Names/Keywords of the policies that necessitated the email. */\n policies?: string[]\n /** Severity level of the violation. Normally 'sev-1' that adds strike on repeat offense */\n severityLevel?: string\n /** Number of strikes to assign to the user for this violation. Normally 0 as an indicator of a warning and only added as a strike on a repeat offense. */\n strikeCount?: number\n /** When the strike should expire. If not provided, the strike never expires. */\n strikeExpiresAt?: string\n /** Indicates whether the email was successfully delivered to the user's inbox. */\n isDelivered?: boolean\n}\n\nconst hashModEventEmail = 'modEventEmail'\n\nexport function isModEventEmail<V>(v: V) {\n return is$typed(v, id, hashModEventEmail)\n}\n\nexport function validateModEventEmail<V>(v: V) {\n return validate<ModEventEmail & V>(v, id, hashModEventEmail)\n}\n\n/** Divert a record's blobs to a 3rd party service for further scanning/tagging */\nexport interface ModEventDivert {\n $type?: 'tools.ozone.moderation.defs#modEventDivert'\n comment?: string\n}\n\nconst hashModEventDivert = 'modEventDivert'\n\nexport function isModEventDivert<V>(v: V) {\n return is$typed(v, id, hashModEventDivert)\n}\n\nexport function validateModEventDivert<V>(v: V) {\n return validate<ModEventDivert & V>(v, id, hashModEventDivert)\n}\n\n/** Add/Remove a tag on a subject */\nexport interface ModEventTag {\n $type?: 'tools.ozone.moderation.defs#modEventTag'\n /** Tags to be added to the subject. If already exists, won't be duplicated. */\n add: string[]\n /** Tags to be removed to the subject. Ignores a tag If it doesn't exist, won't be duplicated. */\n remove: string[]\n /** Additional comment about added/removed tags. */\n comment?: string\n}\n\nconst hashModEventTag = 'modEventTag'\n\nexport function isModEventTag<V>(v: V) {\n return is$typed(v, id, hashModEventTag)\n}\n\nexport function validateModEventTag<V>(v: V) {\n return validate<ModEventTag & V>(v, id, hashModEventTag)\n}\n\n/** Logs account status related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking. */\nexport interface AccountEvent {\n $type?: 'tools.ozone.moderation.defs#accountEvent'\n comment?: string\n /** Indicates that the account has a repository which can be fetched from the host that emitted this event. */\n active: boolean\n status?:\n | 'unknown'\n | 'deactivated'\n | 'deleted'\n | 'takendown'\n | 'suspended'\n | 'tombstoned'\n | (string & {})\n timestamp: string\n}\n\nconst hashAccountEvent = 'accountEvent'\n\nexport function isAccountEvent<V>(v: V) {\n return is$typed(v, id, hashAccountEvent)\n}\n\nexport function validateAccountEvent<V>(v: V) {\n return validate<AccountEvent & V>(v, id, hashAccountEvent)\n}\n\n/** Logs identity related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking. */\nexport interface IdentityEvent {\n $type?: 'tools.ozone.moderation.defs#identityEvent'\n comment?: string\n handle?: string\n pdsHost?: string\n tombstone?: boolean\n timestamp: string\n}\n\nconst hashIdentityEvent = 'identityEvent'\n\nexport function isIdentityEvent<V>(v: V) {\n return is$typed(v, id, hashIdentityEvent)\n}\n\nexport function validateIdentityEvent<V>(v: V) {\n return validate<IdentityEvent & V>(v, id, hashIdentityEvent)\n}\n\n/** Logs lifecycle event on a record subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking. */\nexport interface RecordEvent {\n $type?: 'tools.ozone.moderation.defs#recordEvent'\n comment?: string\n op: 'create' | 'update' | 'delete' | (string & {})\n cid?: string\n timestamp: string\n}\n\nconst hashRecordEvent = 'recordEvent'\n\nexport function isRecordEvent<V>(v: V) {\n return is$typed(v, id, hashRecordEvent)\n}\n\nexport function validateRecordEvent<V>(v: V) {\n return validate<RecordEvent & V>(v, id, hashRecordEvent)\n}\n\n/** Logs a scheduled takedown action for an account. */\nexport interface ScheduleTakedownEvent {\n $type?: 'tools.ozone.moderation.defs#scheduleTakedownEvent'\n comment?: string\n executeAt?: string\n executeAfter?: string\n executeUntil?: string\n}\n\nconst hashScheduleTakedownEvent = 'scheduleTakedownEvent'\n\nexport function isScheduleTakedownEvent<V>(v: V) {\n return is$typed(v, id, hashScheduleTakedownEvent)\n}\n\nexport function validateScheduleTakedownEvent<V>(v: V) {\n return validate<ScheduleTakedownEvent & V>(v, id, hashScheduleTakedownEvent)\n}\n\n/** Logs cancellation of a scheduled takedown action for an account. */\nexport interface CancelScheduledTakedownEvent {\n $type?: 'tools.ozone.moderation.defs#cancelScheduledTakedownEvent'\n comment?: string\n}\n\nconst hashCancelScheduledTakedownEvent = 'cancelScheduledTakedownEvent'\n\nexport function isCancelScheduledTakedownEvent<V>(v: V) {\n return is$typed(v, id, hashCancelScheduledTakedownEvent)\n}\n\nexport function validateCancelScheduledTakedownEvent<V>(v: V) {\n return validate<CancelScheduledTakedownEvent & V>(\n v,\n id,\n hashCancelScheduledTakedownEvent,\n )\n}\n\nexport interface RepoView {\n $type?: 'tools.ozone.moderation.defs#repoView'\n did: string\n handle: string\n email?: string\n relatedRecords: { [_ in string]: unknown }[]\n indexedAt: string\n moderation: Moderation\n invitedBy?: ComAtprotoServerDefs.InviteCode\n invitesDisabled?: boolean\n inviteNote?: string\n deactivatedAt?: string\n threatSignatures?: ComAtprotoAdminDefs.ThreatSignature[]\n}\n\nconst hashRepoView = 'repoView'\n\nexport function isRepoView<V>(v: V) {\n return is$typed(v, id, hashRepoView)\n}\n\nexport function validateRepoView<V>(v: V) {\n return validate<RepoView & V>(v, id, hashRepoView)\n}\n\nexport interface RepoViewDetail {\n $type?: 'tools.ozone.moderation.defs#repoViewDetail'\n did: string\n handle: string\n email?: string\n relatedRecords: { [_ in string]: unknown }[]\n indexedAt: string\n moderation: ModerationDetail\n labels?: ComAtprotoLabelDefs.Label[]\n invitedBy?: ComAtprotoServerDefs.InviteCode\n invites?: ComAtprotoServerDefs.InviteCode[]\n invitesDisabled?: boolean\n inviteNote?: string\n emailConfirmedAt?: string\n deactivatedAt?: string\n threatSignatures?: ComAtprotoAdminDefs.ThreatSignature[]\n}\n\nconst hashRepoViewDetail = 'repoViewDetail'\n\nexport function isRepoViewDetail<V>(v: V) {\n return is$typed(v, id, hashRepoViewDetail)\n}\n\nexport function validateRepoViewDetail<V>(v: V) {\n return validate<RepoViewDetail & V>(v, id, hashRepoViewDetail)\n}\n\nexport interface RepoViewNotFound {\n $type?: 'tools.ozone.moderation.defs#repoViewNotFound'\n did: string\n}\n\nconst hashRepoViewNotFound = 'repoViewNotFound'\n\nexport function isRepoViewNotFound<V>(v: V) {\n return is$typed(v, id, hashRepoViewNotFound)\n}\n\nexport function validateRepoViewNotFound<V>(v: V) {\n return validate<RepoViewNotFound & V>(v, id, hashRepoViewNotFound)\n}\n\nexport interface RecordView {\n $type?: 'tools.ozone.moderation.defs#recordView'\n uri: string\n cid: string\n value: { [_ in string]: unknown }\n blobCids: string[]\n indexedAt: string\n moderation: Moderation\n repo: RepoView\n}\n\nconst hashRecordView = 'recordView'\n\nexport function isRecordView<V>(v: V) {\n return is$typed(v, id, hashRecordView)\n}\n\nexport function validateRecordView<V>(v: V) {\n return validate<RecordView & V>(v, id, hashRecordView)\n}\n\nexport interface RecordViewDetail {\n $type?: 'tools.ozone.moderation.defs#recordViewDetail'\n uri: string\n cid: string\n value: { [_ in string]: unknown }\n blobs: BlobView[]\n labels?: ComAtprotoLabelDefs.Label[]\n indexedAt: string\n moderation: ModerationDetail\n repo: RepoView\n}\n\nconst hashRecordViewDetail = 'recordViewDetail'\n\nexport function isRecordViewDetail<V>(v: V) {\n return is$typed(v, id, hashRecordViewDetail)\n}\n\nexport function validateRecordViewDetail<V>(v: V) {\n return validate<RecordViewDetail & V>(v, id, hashRecordViewDetail)\n}\n\nexport interface RecordViewNotFound {\n $type?: 'tools.ozone.moderation.defs#recordViewNotFound'\n uri: string\n}\n\nconst hashRecordViewNotFound = 'recordViewNotFound'\n\nexport function isRecordViewNotFound<V>(v: V) {\n return is$typed(v, id, hashRecordViewNotFound)\n}\n\nexport function validateRecordViewNotFound<V>(v: V) {\n return validate<RecordViewNotFound & V>(v, id, hashRecordViewNotFound)\n}\n\nexport interface Moderation {\n $type?: 'tools.ozone.moderation.defs#moderation'\n subjectStatus?: SubjectStatusView\n}\n\nconst hashModeration = 'moderation'\n\nexport function isModeration<V>(v: V) {\n return is$typed(v, id, hashModeration)\n}\n\nexport function validateModeration<V>(v: V) {\n return validate<Moderation & V>(v, id, hashModeration)\n}\n\nexport interface ModerationDetail {\n $type?: 'tools.ozone.moderation.defs#moderationDetail'\n subjectStatus?: SubjectStatusView\n}\n\nconst hashModerationDetail = 'moderationDetail'\n\nexport function isModerationDetail<V>(v: V) {\n return is$typed(v, id, hashModerationDetail)\n}\n\nexport function validateModerationDetail<V>(v: V) {\n return validate<ModerationDetail & V>(v, id, hashModerationDetail)\n}\n\nexport interface BlobView {\n $type?: 'tools.ozone.moderation.defs#blobView'\n cid: string\n mimeType: string\n size: number\n createdAt: string\n details?: $Typed<ImageDetails> | $Typed<VideoDetails> | { $type: string }\n moderation?: Moderation\n}\n\nconst hashBlobView = 'blobView'\n\nexport function isBlobView<V>(v: V) {\n return is$typed(v, id, hashBlobView)\n}\n\nexport function validateBlobView<V>(v: V) {\n return validate<BlobView & V>(v, id, hashBlobView)\n}\n\nexport interface ImageDetails {\n $type?: 'tools.ozone.moderation.defs#imageDetails'\n width: number\n height: number\n}\n\nconst hashImageDetails = 'imageDetails'\n\nexport function isImageDetails<V>(v: V) {\n return is$typed(v, id, hashImageDetails)\n}\n\nexport function validateImageDetails<V>(v: V) {\n return validate<ImageDetails & V>(v, id, hashImageDetails)\n}\n\nexport interface VideoDetails {\n $type?: 'tools.ozone.moderation.defs#videoDetails'\n width: number\n height: number\n length: number\n}\n\nconst hashVideoDetails = 'videoDetails'\n\nexport function isVideoDetails<V>(v: V) {\n return is$typed(v, id, hashVideoDetails)\n}\n\nexport function validateVideoDetails<V>(v: V) {\n return validate<VideoDetails & V>(v, id, hashVideoDetails)\n}\n\nexport interface AccountHosting {\n $type?: 'tools.ozone.moderation.defs#accountHosting'\n status:\n | 'takendown'\n | 'suspended'\n | 'deleted'\n | 'deactivated'\n | 'unknown'\n | (string & {})\n updatedAt?: string\n createdAt?: string\n deletedAt?: string\n deactivatedAt?: string\n reactivatedAt?: string\n}\n\nconst hashAccountHosting = 'accountHosting'\n\nexport function isAccountHosting<V>(v: V) {\n return is$typed(v, id, hashAccountHosting)\n}\n\nexport function validateAccountHosting<V>(v: V) {\n return validate<AccountHosting & V>(v, id, hashAccountHosting)\n}\n\nexport interface RecordHosting {\n $type?: 'tools.ozone.moderation.defs#recordHosting'\n status: 'deleted' | 'unknown' | (string & {})\n updatedAt?: string\n createdAt?: string\n deletedAt?: string\n}\n\nconst hashRecordHosting = 'recordHosting'\n\nexport function isRecordHosting<V>(v: V) {\n return is$typed(v, id, hashRecordHosting)\n}\n\nexport function validateRecordHosting<V>(v: V) {\n return validate<RecordHosting & V>(v, id, hashRecordHosting)\n}\n\nexport interface ReporterStats {\n $type?: 'tools.ozone.moderation.defs#reporterStats'\n did: string\n /** The total number of reports made by the user on accounts. */\n accountReportCount: number\n /** The total number of reports made by the user on records. */\n recordReportCount: number\n /** The total number of accounts reported by the user. */\n reportedAccountCount: number\n /** The total number of records reported by the user. */\n reportedRecordCount: number\n /** The total number of accounts taken down as a result of the user's reports. */\n takendownAccountCount: number\n /** The total number of records taken down as a result of the user's reports. */\n takendownRecordCount: number\n /** The total number of accounts labeled as a result of the user's reports. */\n labeledAccountCount: number\n /** The total number of records labeled as a result of the user's reports. */\n labeledRecordCount: number\n}\n\nconst hashReporterStats = 'reporterStats'\n\nexport function isReporterStats<V>(v: V) {\n return is$typed(v, id, hashReporterStats)\n}\n\nexport function validateReporterStats<V>(v: V) {\n return validate<ReporterStats & V>(v, id, hashReporterStats)\n}\n\n/** Moderation tool information for tracing the source of the action */\nexport interface ModTool {\n $type?: 'tools.ozone.moderation.defs#modTool'\n /** Name/identifier of the source (e.g., 'automod', 'ozone/workspace') */\n name: string\n /** Additional arbitrary metadata about the source */\n meta?: { [_ in string]: unknown }\n}\n\nconst hashModTool = 'modTool'\n\nexport function isModTool<V>(v: V) {\n return is$typed(v, id, hashModTool)\n}\n\nexport function validateModTool<V>(v: V) {\n return validate<ModTool & V>(v, id, hashModTool)\n}\n\n/** Moderation event timeline event for a PLC create operation */\nexport const TIMELINEEVENTPLCCREATE = `${id}#timelineEventPlcCreate`\n/** Moderation event timeline event for generic PLC operation */\nexport const TIMELINEEVENTPLCOPERATION = `${id}#timelineEventPlcOperation`\n/** Moderation event timeline event for a PLC tombstone operation */\nexport const TIMELINEEVENTPLCTOMBSTONE = `${id}#timelineEventPlcTombstone`\n\n/** View of a scheduled moderation action */\nexport interface ScheduledActionView {\n $type?: 'tools.ozone.moderation.defs#scheduledActionView'\n /** Auto-incrementing row ID */\n id: number\n /** Type of action to be executed */\n action: 'takedown' | (string & {})\n /** Serialized event object that will be propagated to the event when performed */\n eventData?: { [_ in string]: unknown }\n /** Subject DID for the action */\n did: string\n /** Exact time to execute the action */\n executeAt?: string\n /** Earliest time to execute the action (for randomized scheduling) */\n executeAfter?: string\n /** Latest time to execute the action (for randomized scheduling) */\n executeUntil?: string\n /** Whether execution time should be randomized within the specified range */\n randomizeExecution?: boolean\n /** DID of the user who created this scheduled action */\n createdBy: string\n /** When the scheduled action was created */\n createdAt: string\n /** When the scheduled action was last updated */\n updatedAt?: string\n /** Current status of the scheduled action */\n status: 'pending' | 'executed' | 'cancelled' | 'failed' | (string & {})\n /** When the action was last attempted to be executed */\n lastExecutedAt?: string\n /** Reason for the last execution failure */\n lastFailureReason?: string\n /** ID of the moderation event created when action was successfully executed */\n executionEventId?: number\n}\n\nconst hashScheduledActionView = 'scheduledActionView'\n\nexport function isScheduledActionView<V>(v: V) {\n return is$typed(v, id, hashScheduledActionView)\n}\n\nexport function validateScheduledActionView<V>(v: V) {\n return validate<ScheduledActionView & V>(v, id, hashScheduledActionView)\n}\n"]}
1
+ {"version":3,"file":"defs.js","sourceRoot":"","sources":["../../../../../../src/client/types/tools/ozone/moderation/defs.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { type ValidationResult, BlobRef } from '@atproto/lexicon'\nimport { CID } from 'multiformats/cid'\nimport { validate as _validate } from '../../../../lexicons'\nimport {\n type $Typed,\n is$typed as _is$typed,\n type OmitKey,\n} from '../../../../util'\nimport type * as ComAtprotoAdminDefs from '../../../com/atproto/admin/defs.js'\nimport type * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef.js'\nimport type * as ChatBskyConvoDefs from '../../../chat/bsky/convo/defs.js'\nimport type * as ComAtprotoModerationDefs from '../../../com/atproto/moderation/defs.js'\nimport type * as AppBskyAgeassuranceDefs from '../../../app/bsky/ageassurance/defs.js'\nimport type * as ComAtprotoServerDefs from '../../../com/atproto/server/defs.js'\nimport type * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs.js'\n\nconst is$typed = _is$typed,\n validate = _validate\nconst id = 'tools.ozone.moderation.defs'\n\nexport interface ModEventView {\n $type?: 'tools.ozone.moderation.defs#modEventView'\n id: number\n event:\n | $Typed<ModEventTakedown>\n | $Typed<ModEventReverseTakedown>\n | $Typed<ModEventComment>\n | $Typed<ModEventReport>\n | $Typed<ModEventLabel>\n | $Typed<ModEventAcknowledge>\n | $Typed<ModEventEscalate>\n | $Typed<ModEventMute>\n | $Typed<ModEventUnmute>\n | $Typed<ModEventMuteReporter>\n | $Typed<ModEventUnmuteReporter>\n | $Typed<ModEventEmail>\n | $Typed<ModEventResolveAppeal>\n | $Typed<ModEventDivert>\n | $Typed<ModEventTag>\n | $Typed<AccountEvent>\n | $Typed<IdentityEvent>\n | $Typed<RecordEvent>\n | $Typed<ModEventPriorityScore>\n | $Typed<AgeAssuranceEvent>\n | $Typed<AgeAssuranceOverrideEvent>\n | $Typed<AgeAssurancePurgeEvent>\n | $Typed<RevokeAccountCredentialsEvent>\n | $Typed<ScheduleTakedownEvent>\n | $Typed<CancelScheduledTakedownEvent>\n | { $type: string }\n subject:\n | $Typed<ComAtprotoAdminDefs.RepoRef>\n | $Typed<ComAtprotoRepoStrongRef.Main>\n | $Typed<ChatBskyConvoDefs.MessageRef>\n | { $type: string }\n subjectBlobCids: string[]\n createdBy: string\n createdAt: string\n creatorHandle?: string\n subjectHandle?: string\n modTool?: ModTool\n}\n\nconst hashModEventView = 'modEventView'\n\nexport function isModEventView<V>(v: V) {\n return is$typed(v, id, hashModEventView)\n}\n\nexport function validateModEventView<V>(v: V) {\n return validate<ModEventView & V>(v, id, hashModEventView)\n}\n\nexport interface ModEventViewDetail {\n $type?: 'tools.ozone.moderation.defs#modEventViewDetail'\n id: number\n event:\n | $Typed<ModEventTakedown>\n | $Typed<ModEventReverseTakedown>\n | $Typed<ModEventComment>\n | $Typed<ModEventReport>\n | $Typed<ModEventLabel>\n | $Typed<ModEventAcknowledge>\n | $Typed<ModEventEscalate>\n | $Typed<ModEventMute>\n | $Typed<ModEventUnmute>\n | $Typed<ModEventMuteReporter>\n | $Typed<ModEventUnmuteReporter>\n | $Typed<ModEventEmail>\n | $Typed<ModEventResolveAppeal>\n | $Typed<ModEventDivert>\n | $Typed<ModEventTag>\n | $Typed<AccountEvent>\n | $Typed<IdentityEvent>\n | $Typed<RecordEvent>\n | $Typed<ModEventPriorityScore>\n | $Typed<AgeAssuranceEvent>\n | $Typed<AgeAssuranceOverrideEvent>\n | $Typed<AgeAssurancePurgeEvent>\n | $Typed<RevokeAccountCredentialsEvent>\n | $Typed<ScheduleTakedownEvent>\n | $Typed<CancelScheduledTakedownEvent>\n | { $type: string }\n subject:\n | $Typed<RepoView>\n | $Typed<RepoViewNotFound>\n | $Typed<RecordView>\n | $Typed<RecordViewNotFound>\n | { $type: string }\n subjectBlobs: BlobView[]\n createdBy: string\n createdAt: string\n modTool?: ModTool\n}\n\nconst hashModEventViewDetail = 'modEventViewDetail'\n\nexport function isModEventViewDetail<V>(v: V) {\n return is$typed(v, id, hashModEventViewDetail)\n}\n\nexport function validateModEventViewDetail<V>(v: V) {\n return validate<ModEventViewDetail & V>(v, id, hashModEventViewDetail)\n}\n\nexport interface SubjectStatusView {\n $type?: 'tools.ozone.moderation.defs#subjectStatusView'\n id: number\n subject:\n | $Typed<ComAtprotoAdminDefs.RepoRef>\n | $Typed<ComAtprotoRepoStrongRef.Main>\n | $Typed<ChatBskyConvoDefs.MessageRef>\n | { $type: string }\n hosting?: $Typed<AccountHosting> | $Typed<RecordHosting> | { $type: string }\n subjectBlobCids?: string[]\n subjectRepoHandle?: string\n /** Timestamp referencing when the last update was made to the moderation status of the subject */\n updatedAt: string\n /** Timestamp referencing the first moderation status impacting event was emitted on the subject */\n createdAt: string\n reviewState: SubjectReviewState\n /** Sticky comment on the subject. */\n comment?: string\n /** Numeric value representing the level of priority. Higher score means higher priority. */\n priorityScore?: number\n muteUntil?: string\n muteReportingUntil?: string\n lastReviewedBy?: string\n lastReviewedAt?: string\n lastReportedAt?: string\n /** Timestamp referencing when the author of the subject appealed a moderation action */\n lastAppealedAt?: string\n takendown?: boolean\n /** True indicates that the a previously taken moderator action was appealed against, by the author of the content. False indicates last appeal was resolved by moderators. */\n appealed?: boolean\n suspendUntil?: string\n tags?: string[]\n accountStats?: AccountStats\n recordsStats?: RecordsStats\n accountStrike?: AccountStrike\n /** Current age assurance state of the subject. */\n ageAssuranceState?:\n | 'pending'\n | 'assured'\n | 'unknown'\n | 'reset'\n | 'blocked'\n | (string & {})\n /** Whether or not the last successful update to age assurance was made by the user or admin. */\n ageAssuranceUpdatedBy?: 'admin' | 'user' | (string & {})\n}\n\nconst hashSubjectStatusView = 'subjectStatusView'\n\nexport function isSubjectStatusView<V>(v: V) {\n return is$typed(v, id, hashSubjectStatusView)\n}\n\nexport function validateSubjectStatusView<V>(v: V) {\n return validate<SubjectStatusView & V>(v, id, hashSubjectStatusView)\n}\n\n/** Detailed view of a subject. For record subjects, the author's repo and profile will be returned. */\nexport interface SubjectView {\n $type?: 'tools.ozone.moderation.defs#subjectView'\n type: ComAtprotoModerationDefs.SubjectType\n subject: string\n status?: SubjectStatusView\n repo?: RepoViewDetail\n profile?: { $type: string }\n record?: RecordViewDetail\n}\n\nconst hashSubjectView = 'subjectView'\n\nexport function isSubjectView<V>(v: V) {\n return is$typed(v, id, hashSubjectView)\n}\n\nexport function validateSubjectView<V>(v: V) {\n return validate<SubjectView & V>(v, id, hashSubjectView)\n}\n\n/** Statistics about a particular account subject */\nexport interface AccountStats {\n $type?: 'tools.ozone.moderation.defs#accountStats'\n /** Total number of reports on the account */\n reportCount?: number\n /** Total number of appeals against a moderation action on the account */\n appealCount?: number\n /** Number of times the account was suspended */\n suspendCount?: number\n /** Number of times the account was escalated */\n escalateCount?: number\n /** Number of times the account was taken down */\n takedownCount?: number\n}\n\nconst hashAccountStats = 'accountStats'\n\nexport function isAccountStats<V>(v: V) {\n return is$typed(v, id, hashAccountStats)\n}\n\nexport function validateAccountStats<V>(v: V) {\n return validate<AccountStats & V>(v, id, hashAccountStats)\n}\n\n/** Statistics about a set of record subject items */\nexport interface RecordsStats {\n $type?: 'tools.ozone.moderation.defs#recordsStats'\n /** Cumulative sum of the number of reports on the items in the set */\n totalReports?: number\n /** Number of items that were reported at least once */\n reportedCount?: number\n /** Number of items that were escalated at least once */\n escalatedCount?: number\n /** Number of items that were appealed at least once */\n appealedCount?: number\n /** Total number of item in the set */\n subjectCount?: number\n /** Number of item currently in \"reviewOpen\" or \"reviewEscalated\" state */\n pendingCount?: number\n /** Number of item currently in \"reviewNone\" or \"reviewClosed\" state */\n processedCount?: number\n /** Number of item currently taken down */\n takendownCount?: number\n}\n\nconst hashRecordsStats = 'recordsStats'\n\nexport function isRecordsStats<V>(v: V) {\n return is$typed(v, id, hashRecordsStats)\n}\n\nexport function validateRecordsStats<V>(v: V) {\n return validate<RecordsStats & V>(v, id, hashRecordsStats)\n}\n\n/** Strike information for an account */\nexport interface AccountStrike {\n $type?: 'tools.ozone.moderation.defs#accountStrike'\n /** Current number of active strikes (excluding expired strikes) */\n activeStrikeCount?: number\n /** Total number of strikes ever received (including expired strikes) */\n totalStrikeCount?: number\n /** Timestamp of the first strike received */\n firstStrikeAt?: string\n /** Timestamp of the most recent strike received */\n lastStrikeAt?: string\n}\n\nconst hashAccountStrike = 'accountStrike'\n\nexport function isAccountStrike<V>(v: V) {\n return is$typed(v, id, hashAccountStrike)\n}\n\nexport function validateAccountStrike<V>(v: V) {\n return validate<AccountStrike & V>(v, id, hashAccountStrike)\n}\n\nexport type SubjectReviewState =\n | 'tools.ozone.moderation.defs#reviewOpen'\n | 'tools.ozone.moderation.defs#reviewEscalated'\n | 'tools.ozone.moderation.defs#reviewClosed'\n | 'tools.ozone.moderation.defs#reviewNone'\n | (string & {})\n\n/** Moderator review status of a subject: Open. Indicates that the subject needs to be reviewed by a moderator */\nexport const REVIEWOPEN = `${id}#reviewOpen`\n/** Moderator review status of a subject: Escalated. Indicates that the subject was escalated for review by a moderator */\nexport const REVIEWESCALATED = `${id}#reviewEscalated`\n/** Moderator review status of a subject: Closed. Indicates that the subject was already reviewed and resolved by a moderator */\nexport const REVIEWCLOSED = `${id}#reviewClosed`\n/** Moderator review status of a subject: Unnecessary. Indicates that the subject does not need a review at the moment but there is probably some moderation related metadata available for it */\nexport const REVIEWNONE = `${id}#reviewNone`\n\n/** Take down a subject permanently or temporarily */\nexport interface ModEventTakedown {\n $type?: 'tools.ozone.moderation.defs#modEventTakedown'\n comment?: string\n /** Indicates how long the takedown should be in effect before automatically expiring. */\n durationInHours?: number\n /** If true, all other reports on content authored by this account will be resolved (acknowledged). */\n acknowledgeAccountSubjects?: boolean\n /** Names/Keywords of the policies that drove the decision. */\n policies?: string[]\n /** Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.). */\n severityLevel?: string\n /** List of services where the takedown should be applied. If empty or not provided, takedown is applied on all configured services. */\n targetServices?: ('appview' | 'pds' | (string & {}))[]\n /** Number of strikes to assign to the user for this violation. */\n strikeCount?: number\n /** When the strike should expire. If not provided, the strike never expires. */\n strikeExpiresAt?: string\n}\n\nconst hashModEventTakedown = 'modEventTakedown'\n\nexport function isModEventTakedown<V>(v: V) {\n return is$typed(v, id, hashModEventTakedown)\n}\n\nexport function validateModEventTakedown<V>(v: V) {\n return validate<ModEventTakedown & V>(v, id, hashModEventTakedown)\n}\n\n/** Revert take down action on a subject */\nexport interface ModEventReverseTakedown {\n $type?: 'tools.ozone.moderation.defs#modEventReverseTakedown'\n /** Describe reasoning behind the reversal. */\n comment?: string\n /** Names/Keywords of the policy infraction for which takedown is being reversed. */\n policies?: string[]\n /** Severity level of the violation. Usually set from the last policy infraction's severity. */\n severityLevel?: string\n /** Number of strikes to subtract from the user's strike count. Usually set from the last policy infraction's severity. */\n strikeCount?: number\n}\n\nconst hashModEventReverseTakedown = 'modEventReverseTakedown'\n\nexport function isModEventReverseTakedown<V>(v: V) {\n return is$typed(v, id, hashModEventReverseTakedown)\n}\n\nexport function validateModEventReverseTakedown<V>(v: V) {\n return validate<ModEventReverseTakedown & V>(\n v,\n id,\n hashModEventReverseTakedown,\n )\n}\n\n/** Resolve appeal on a subject */\nexport interface ModEventResolveAppeal {\n $type?: 'tools.ozone.moderation.defs#modEventResolveAppeal'\n /** Describe resolution. */\n comment?: string\n}\n\nconst hashModEventResolveAppeal = 'modEventResolveAppeal'\n\nexport function isModEventResolveAppeal<V>(v: V) {\n return is$typed(v, id, hashModEventResolveAppeal)\n}\n\nexport function validateModEventResolveAppeal<V>(v: V) {\n return validate<ModEventResolveAppeal & V>(v, id, hashModEventResolveAppeal)\n}\n\n/** Add a comment to a subject. An empty comment will clear any previously set sticky comment. */\nexport interface ModEventComment {\n $type?: 'tools.ozone.moderation.defs#modEventComment'\n comment?: string\n /** Make the comment persistent on the subject */\n sticky?: boolean\n}\n\nconst hashModEventComment = 'modEventComment'\n\nexport function isModEventComment<V>(v: V) {\n return is$typed(v, id, hashModEventComment)\n}\n\nexport function validateModEventComment<V>(v: V) {\n return validate<ModEventComment & V>(v, id, hashModEventComment)\n}\n\n/** Report a subject */\nexport interface ModEventReport {\n $type?: 'tools.ozone.moderation.defs#modEventReport'\n comment?: string\n /** Set to true if the reporter was muted from reporting at the time of the event. These reports won't impact the reviewState of the subject. */\n isReporterMuted?: boolean\n reportType: ComAtprotoModerationDefs.ReasonType\n}\n\nconst hashModEventReport = 'modEventReport'\n\nexport function isModEventReport<V>(v: V) {\n return is$typed(v, id, hashModEventReport)\n}\n\nexport function validateModEventReport<V>(v: V) {\n return validate<ModEventReport & V>(v, id, hashModEventReport)\n}\n\n/** Apply/Negate labels on a subject */\nexport interface ModEventLabel {\n $type?: 'tools.ozone.moderation.defs#modEventLabel'\n comment?: string\n createLabelVals: string[]\n negateLabelVals: string[]\n /** Indicates how long the label will remain on the subject. Only applies on labels that are being added. */\n durationInHours?: number\n}\n\nconst hashModEventLabel = 'modEventLabel'\n\nexport function isModEventLabel<V>(v: V) {\n return is$typed(v, id, hashModEventLabel)\n}\n\nexport function validateModEventLabel<V>(v: V) {\n return validate<ModEventLabel & V>(v, id, hashModEventLabel)\n}\n\n/** Set priority score of the subject. Higher score means higher priority. */\nexport interface ModEventPriorityScore {\n $type?: 'tools.ozone.moderation.defs#modEventPriorityScore'\n comment?: string\n score: number\n}\n\nconst hashModEventPriorityScore = 'modEventPriorityScore'\n\nexport function isModEventPriorityScore<V>(v: V) {\n return is$typed(v, id, hashModEventPriorityScore)\n}\n\nexport function validateModEventPriorityScore<V>(v: V) {\n return validate<ModEventPriorityScore & V>(v, id, hashModEventPriorityScore)\n}\n\n/** Age assurance info coming directly from users. Only works on DID subjects. */\nexport interface AgeAssuranceEvent {\n $type?: 'tools.ozone.moderation.defs#ageAssuranceEvent'\n /** The date and time of this write operation. */\n createdAt: string\n /** The unique identifier for this instance of the age assurance flow, in UUID format. */\n attemptId: string\n /** The status of the Age Assurance process. */\n status: 'unknown' | 'pending' | 'assured' | (string & {})\n access?: AppBskyAgeassuranceDefs.Access\n /** The ISO 3166-1 alpha-2 country code provided when beginning the Age Assurance flow. */\n countryCode?: string\n /** The ISO 3166-2 region code provided when beginning the Age Assurance flow. */\n regionCode?: string\n /** The IP address used when initiating the AA flow. */\n initIp?: string\n /** The user agent used when initiating the AA flow. */\n initUa?: string\n /** The IP address used when completing the AA flow. */\n completeIp?: string\n /** The user agent used when completing the AA flow. */\n completeUa?: string\n}\n\nconst hashAgeAssuranceEvent = 'ageAssuranceEvent'\n\nexport function isAgeAssuranceEvent<V>(v: V) {\n return is$typed(v, id, hashAgeAssuranceEvent)\n}\n\nexport function validateAgeAssuranceEvent<V>(v: V) {\n return validate<AgeAssuranceEvent & V>(v, id, hashAgeAssuranceEvent)\n}\n\n/** Age assurance status override by moderators. Only works on DID subjects. */\nexport interface AgeAssuranceOverrideEvent {\n $type?: 'tools.ozone.moderation.defs#ageAssuranceOverrideEvent'\n /** The status to be set for the user decided by a moderator, overriding whatever value the user had previously. Use reset to default to original state. */\n status: 'assured' | 'reset' | 'blocked' | (string & {})\n access?: AppBskyAgeassuranceDefs.Access\n /** Comment describing the reason for the override. */\n comment: string\n}\n\nconst hashAgeAssuranceOverrideEvent = 'ageAssuranceOverrideEvent'\n\nexport function isAgeAssuranceOverrideEvent<V>(v: V) {\n return is$typed(v, id, hashAgeAssuranceOverrideEvent)\n}\n\nexport function validateAgeAssuranceOverrideEvent<V>(v: V) {\n return validate<AgeAssuranceOverrideEvent & V>(\n v,\n id,\n hashAgeAssuranceOverrideEvent,\n )\n}\n\n/** Purges all age assurance events for the subject. Only works on DID subjects. Moderator-only. */\nexport interface AgeAssurancePurgeEvent {\n $type?: 'tools.ozone.moderation.defs#ageAssurancePurgeEvent'\n /** Comment describing the reason for the purge. */\n comment: string\n}\n\nconst hashAgeAssurancePurgeEvent = 'ageAssurancePurgeEvent'\n\nexport function isAgeAssurancePurgeEvent<V>(v: V) {\n return is$typed(v, id, hashAgeAssurancePurgeEvent)\n}\n\nexport function validateAgeAssurancePurgeEvent<V>(v: V) {\n return validate<AgeAssurancePurgeEvent & V>(v, id, hashAgeAssurancePurgeEvent)\n}\n\n/** Account credentials revocation by moderators. Only works on DID subjects. */\nexport interface RevokeAccountCredentialsEvent {\n $type?: 'tools.ozone.moderation.defs#revokeAccountCredentialsEvent'\n /** Comment describing the reason for the revocation. */\n comment: string\n}\n\nconst hashRevokeAccountCredentialsEvent = 'revokeAccountCredentialsEvent'\n\nexport function isRevokeAccountCredentialsEvent<V>(v: V) {\n return is$typed(v, id, hashRevokeAccountCredentialsEvent)\n}\n\nexport function validateRevokeAccountCredentialsEvent<V>(v: V) {\n return validate<RevokeAccountCredentialsEvent & V>(\n v,\n id,\n hashRevokeAccountCredentialsEvent,\n )\n}\n\nexport interface ModEventAcknowledge {\n $type?: 'tools.ozone.moderation.defs#modEventAcknowledge'\n comment?: string\n /** If true, all other reports on content authored by this account will be resolved (acknowledged). */\n acknowledgeAccountSubjects?: boolean\n}\n\nconst hashModEventAcknowledge = 'modEventAcknowledge'\n\nexport function isModEventAcknowledge<V>(v: V) {\n return is$typed(v, id, hashModEventAcknowledge)\n}\n\nexport function validateModEventAcknowledge<V>(v: V) {\n return validate<ModEventAcknowledge & V>(v, id, hashModEventAcknowledge)\n}\n\nexport interface ModEventEscalate {\n $type?: 'tools.ozone.moderation.defs#modEventEscalate'\n comment?: string\n}\n\nconst hashModEventEscalate = 'modEventEscalate'\n\nexport function isModEventEscalate<V>(v: V) {\n return is$typed(v, id, hashModEventEscalate)\n}\n\nexport function validateModEventEscalate<V>(v: V) {\n return validate<ModEventEscalate & V>(v, id, hashModEventEscalate)\n}\n\n/** Mute incoming reports on a subject */\nexport interface ModEventMute {\n $type?: 'tools.ozone.moderation.defs#modEventMute'\n comment?: string\n /** Indicates how long the subject should remain muted. */\n durationInHours: number\n}\n\nconst hashModEventMute = 'modEventMute'\n\nexport function isModEventMute<V>(v: V) {\n return is$typed(v, id, hashModEventMute)\n}\n\nexport function validateModEventMute<V>(v: V) {\n return validate<ModEventMute & V>(v, id, hashModEventMute)\n}\n\n/** Unmute action on a subject */\nexport interface ModEventUnmute {\n $type?: 'tools.ozone.moderation.defs#modEventUnmute'\n /** Describe reasoning behind the reversal. */\n comment?: string\n}\n\nconst hashModEventUnmute = 'modEventUnmute'\n\nexport function isModEventUnmute<V>(v: V) {\n return is$typed(v, id, hashModEventUnmute)\n}\n\nexport function validateModEventUnmute<V>(v: V) {\n return validate<ModEventUnmute & V>(v, id, hashModEventUnmute)\n}\n\n/** Mute incoming reports from an account */\nexport interface ModEventMuteReporter {\n $type?: 'tools.ozone.moderation.defs#modEventMuteReporter'\n comment?: string\n /** Indicates how long the account should remain muted. Falsy value here means a permanent mute. */\n durationInHours?: number\n}\n\nconst hashModEventMuteReporter = 'modEventMuteReporter'\n\nexport function isModEventMuteReporter<V>(v: V) {\n return is$typed(v, id, hashModEventMuteReporter)\n}\n\nexport function validateModEventMuteReporter<V>(v: V) {\n return validate<ModEventMuteReporter & V>(v, id, hashModEventMuteReporter)\n}\n\n/** Unmute incoming reports from an account */\nexport interface ModEventUnmuteReporter {\n $type?: 'tools.ozone.moderation.defs#modEventUnmuteReporter'\n /** Describe reasoning behind the reversal. */\n comment?: string\n}\n\nconst hashModEventUnmuteReporter = 'modEventUnmuteReporter'\n\nexport function isModEventUnmuteReporter<V>(v: V) {\n return is$typed(v, id, hashModEventUnmuteReporter)\n}\n\nexport function validateModEventUnmuteReporter<V>(v: V) {\n return validate<ModEventUnmuteReporter & V>(v, id, hashModEventUnmuteReporter)\n}\n\n/** Keep a log of outgoing email to a user */\nexport interface ModEventEmail {\n $type?: 'tools.ozone.moderation.defs#modEventEmail'\n /** The subject line of the email sent to the user. */\n subjectLine: string\n /** The content of the email sent to the user. */\n content?: string\n /** Additional comment about the outgoing comm. */\n comment?: string\n /** Names/Keywords of the policies that necessitated the email. */\n policies?: string[]\n /** Severity level of the violation. Normally 'sev-1' that adds strike on repeat offense */\n severityLevel?: string\n /** Number of strikes to assign to the user for this violation. Normally 0 as an indicator of a warning and only added as a strike on a repeat offense. */\n strikeCount?: number\n /** When the strike should expire. If not provided, the strike never expires. */\n strikeExpiresAt?: string\n /** Indicates whether the email was successfully delivered to the user's inbox. */\n isDelivered?: boolean\n}\n\nconst hashModEventEmail = 'modEventEmail'\n\nexport function isModEventEmail<V>(v: V) {\n return is$typed(v, id, hashModEventEmail)\n}\n\nexport function validateModEventEmail<V>(v: V) {\n return validate<ModEventEmail & V>(v, id, hashModEventEmail)\n}\n\n/** Divert a record's blobs to a 3rd party service for further scanning/tagging */\nexport interface ModEventDivert {\n $type?: 'tools.ozone.moderation.defs#modEventDivert'\n comment?: string\n}\n\nconst hashModEventDivert = 'modEventDivert'\n\nexport function isModEventDivert<V>(v: V) {\n return is$typed(v, id, hashModEventDivert)\n}\n\nexport function validateModEventDivert<V>(v: V) {\n return validate<ModEventDivert & V>(v, id, hashModEventDivert)\n}\n\n/** Add/Remove a tag on a subject */\nexport interface ModEventTag {\n $type?: 'tools.ozone.moderation.defs#modEventTag'\n /** Tags to be added to the subject. If already exists, won't be duplicated. */\n add: string[]\n /** Tags to be removed to the subject. Ignores a tag If it doesn't exist, won't be duplicated. */\n remove: string[]\n /** Additional comment about added/removed tags. */\n comment?: string\n /** Indicates how long the tags being added should remain before automatically being removed. Only applies to tags being added. */\n durationInHours?: number\n}\n\nconst hashModEventTag = 'modEventTag'\n\nexport function isModEventTag<V>(v: V) {\n return is$typed(v, id, hashModEventTag)\n}\n\nexport function validateModEventTag<V>(v: V) {\n return validate<ModEventTag & V>(v, id, hashModEventTag)\n}\n\n/** Logs account status related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking. */\nexport interface AccountEvent {\n $type?: 'tools.ozone.moderation.defs#accountEvent'\n comment?: string\n /** Indicates that the account has a repository which can be fetched from the host that emitted this event. */\n active: boolean\n status?:\n | 'unknown'\n | 'deactivated'\n | 'deleted'\n | 'takendown'\n | 'suspended'\n | 'tombstoned'\n | (string & {})\n timestamp: string\n}\n\nconst hashAccountEvent = 'accountEvent'\n\nexport function isAccountEvent<V>(v: V) {\n return is$typed(v, id, hashAccountEvent)\n}\n\nexport function validateAccountEvent<V>(v: V) {\n return validate<AccountEvent & V>(v, id, hashAccountEvent)\n}\n\n/** Logs identity related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking. */\nexport interface IdentityEvent {\n $type?: 'tools.ozone.moderation.defs#identityEvent'\n comment?: string\n handle?: string\n pdsHost?: string\n tombstone?: boolean\n timestamp: string\n}\n\nconst hashIdentityEvent = 'identityEvent'\n\nexport function isIdentityEvent<V>(v: V) {\n return is$typed(v, id, hashIdentityEvent)\n}\n\nexport function validateIdentityEvent<V>(v: V) {\n return validate<IdentityEvent & V>(v, id, hashIdentityEvent)\n}\n\n/** Logs lifecycle event on a record subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking. */\nexport interface RecordEvent {\n $type?: 'tools.ozone.moderation.defs#recordEvent'\n comment?: string\n op: 'create' | 'update' | 'delete' | (string & {})\n cid?: string\n timestamp: string\n}\n\nconst hashRecordEvent = 'recordEvent'\n\nexport function isRecordEvent<V>(v: V) {\n return is$typed(v, id, hashRecordEvent)\n}\n\nexport function validateRecordEvent<V>(v: V) {\n return validate<RecordEvent & V>(v, id, hashRecordEvent)\n}\n\n/** Logs a scheduled takedown action for an account. */\nexport interface ScheduleTakedownEvent {\n $type?: 'tools.ozone.moderation.defs#scheduleTakedownEvent'\n comment?: string\n executeAt?: string\n executeAfter?: string\n executeUntil?: string\n}\n\nconst hashScheduleTakedownEvent = 'scheduleTakedownEvent'\n\nexport function isScheduleTakedownEvent<V>(v: V) {\n return is$typed(v, id, hashScheduleTakedownEvent)\n}\n\nexport function validateScheduleTakedownEvent<V>(v: V) {\n return validate<ScheduleTakedownEvent & V>(v, id, hashScheduleTakedownEvent)\n}\n\n/** Logs cancellation of a scheduled takedown action for an account. */\nexport interface CancelScheduledTakedownEvent {\n $type?: 'tools.ozone.moderation.defs#cancelScheduledTakedownEvent'\n comment?: string\n}\n\nconst hashCancelScheduledTakedownEvent = 'cancelScheduledTakedownEvent'\n\nexport function isCancelScheduledTakedownEvent<V>(v: V) {\n return is$typed(v, id, hashCancelScheduledTakedownEvent)\n}\n\nexport function validateCancelScheduledTakedownEvent<V>(v: V) {\n return validate<CancelScheduledTakedownEvent & V>(\n v,\n id,\n hashCancelScheduledTakedownEvent,\n )\n}\n\nexport interface RepoView {\n $type?: 'tools.ozone.moderation.defs#repoView'\n did: string\n handle: string\n email?: string\n relatedRecords: { [_ in string]: unknown }[]\n indexedAt: string\n moderation: Moderation\n invitedBy?: ComAtprotoServerDefs.InviteCode\n invitesDisabled?: boolean\n inviteNote?: string\n deactivatedAt?: string\n threatSignatures?: ComAtprotoAdminDefs.ThreatSignature[]\n}\n\nconst hashRepoView = 'repoView'\n\nexport function isRepoView<V>(v: V) {\n return is$typed(v, id, hashRepoView)\n}\n\nexport function validateRepoView<V>(v: V) {\n return validate<RepoView & V>(v, id, hashRepoView)\n}\n\nexport interface RepoViewDetail {\n $type?: 'tools.ozone.moderation.defs#repoViewDetail'\n did: string\n handle: string\n email?: string\n relatedRecords: { [_ in string]: unknown }[]\n indexedAt: string\n moderation: ModerationDetail\n labels?: ComAtprotoLabelDefs.Label[]\n invitedBy?: ComAtprotoServerDefs.InviteCode\n invites?: ComAtprotoServerDefs.InviteCode[]\n invitesDisabled?: boolean\n inviteNote?: string\n emailConfirmedAt?: string\n deactivatedAt?: string\n threatSignatures?: ComAtprotoAdminDefs.ThreatSignature[]\n}\n\nconst hashRepoViewDetail = 'repoViewDetail'\n\nexport function isRepoViewDetail<V>(v: V) {\n return is$typed(v, id, hashRepoViewDetail)\n}\n\nexport function validateRepoViewDetail<V>(v: V) {\n return validate<RepoViewDetail & V>(v, id, hashRepoViewDetail)\n}\n\nexport interface RepoViewNotFound {\n $type?: 'tools.ozone.moderation.defs#repoViewNotFound'\n did: string\n}\n\nconst hashRepoViewNotFound = 'repoViewNotFound'\n\nexport function isRepoViewNotFound<V>(v: V) {\n return is$typed(v, id, hashRepoViewNotFound)\n}\n\nexport function validateRepoViewNotFound<V>(v: V) {\n return validate<RepoViewNotFound & V>(v, id, hashRepoViewNotFound)\n}\n\nexport interface RecordView {\n $type?: 'tools.ozone.moderation.defs#recordView'\n uri: string\n cid: string\n value: { [_ in string]: unknown }\n blobCids: string[]\n indexedAt: string\n moderation: Moderation\n repo: RepoView\n}\n\nconst hashRecordView = 'recordView'\n\nexport function isRecordView<V>(v: V) {\n return is$typed(v, id, hashRecordView)\n}\n\nexport function validateRecordView<V>(v: V) {\n return validate<RecordView & V>(v, id, hashRecordView)\n}\n\nexport interface RecordViewDetail {\n $type?: 'tools.ozone.moderation.defs#recordViewDetail'\n uri: string\n cid: string\n value: { [_ in string]: unknown }\n blobs: BlobView[]\n labels?: ComAtprotoLabelDefs.Label[]\n indexedAt: string\n moderation: ModerationDetail\n repo: RepoView\n}\n\nconst hashRecordViewDetail = 'recordViewDetail'\n\nexport function isRecordViewDetail<V>(v: V) {\n return is$typed(v, id, hashRecordViewDetail)\n}\n\nexport function validateRecordViewDetail<V>(v: V) {\n return validate<RecordViewDetail & V>(v, id, hashRecordViewDetail)\n}\n\nexport interface RecordViewNotFound {\n $type?: 'tools.ozone.moderation.defs#recordViewNotFound'\n uri: string\n}\n\nconst hashRecordViewNotFound = 'recordViewNotFound'\n\nexport function isRecordViewNotFound<V>(v: V) {\n return is$typed(v, id, hashRecordViewNotFound)\n}\n\nexport function validateRecordViewNotFound<V>(v: V) {\n return validate<RecordViewNotFound & V>(v, id, hashRecordViewNotFound)\n}\n\nexport interface Moderation {\n $type?: 'tools.ozone.moderation.defs#moderation'\n subjectStatus?: SubjectStatusView\n}\n\nconst hashModeration = 'moderation'\n\nexport function isModeration<V>(v: V) {\n return is$typed(v, id, hashModeration)\n}\n\nexport function validateModeration<V>(v: V) {\n return validate<Moderation & V>(v, id, hashModeration)\n}\n\nexport interface ModerationDetail {\n $type?: 'tools.ozone.moderation.defs#moderationDetail'\n subjectStatus?: SubjectStatusView\n}\n\nconst hashModerationDetail = 'moderationDetail'\n\nexport function isModerationDetail<V>(v: V) {\n return is$typed(v, id, hashModerationDetail)\n}\n\nexport function validateModerationDetail<V>(v: V) {\n return validate<ModerationDetail & V>(v, id, hashModerationDetail)\n}\n\nexport interface BlobView {\n $type?: 'tools.ozone.moderation.defs#blobView'\n cid: string\n mimeType: string\n size: number\n createdAt: string\n details?: $Typed<ImageDetails> | $Typed<VideoDetails> | { $type: string }\n moderation?: Moderation\n}\n\nconst hashBlobView = 'blobView'\n\nexport function isBlobView<V>(v: V) {\n return is$typed(v, id, hashBlobView)\n}\n\nexport function validateBlobView<V>(v: V) {\n return validate<BlobView & V>(v, id, hashBlobView)\n}\n\nexport interface ImageDetails {\n $type?: 'tools.ozone.moderation.defs#imageDetails'\n width: number\n height: number\n}\n\nconst hashImageDetails = 'imageDetails'\n\nexport function isImageDetails<V>(v: V) {\n return is$typed(v, id, hashImageDetails)\n}\n\nexport function validateImageDetails<V>(v: V) {\n return validate<ImageDetails & V>(v, id, hashImageDetails)\n}\n\nexport interface VideoDetails {\n $type?: 'tools.ozone.moderation.defs#videoDetails'\n width: number\n height: number\n length: number\n}\n\nconst hashVideoDetails = 'videoDetails'\n\nexport function isVideoDetails<V>(v: V) {\n return is$typed(v, id, hashVideoDetails)\n}\n\nexport function validateVideoDetails<V>(v: V) {\n return validate<VideoDetails & V>(v, id, hashVideoDetails)\n}\n\nexport interface AccountHosting {\n $type?: 'tools.ozone.moderation.defs#accountHosting'\n status:\n | 'takendown'\n | 'suspended'\n | 'deleted'\n | 'deactivated'\n | 'unknown'\n | (string & {})\n updatedAt?: string\n createdAt?: string\n deletedAt?: string\n deactivatedAt?: string\n reactivatedAt?: string\n}\n\nconst hashAccountHosting = 'accountHosting'\n\nexport function isAccountHosting<V>(v: V) {\n return is$typed(v, id, hashAccountHosting)\n}\n\nexport function validateAccountHosting<V>(v: V) {\n return validate<AccountHosting & V>(v, id, hashAccountHosting)\n}\n\nexport interface RecordHosting {\n $type?: 'tools.ozone.moderation.defs#recordHosting'\n status: 'deleted' | 'unknown' | (string & {})\n updatedAt?: string\n createdAt?: string\n deletedAt?: string\n}\n\nconst hashRecordHosting = 'recordHosting'\n\nexport function isRecordHosting<V>(v: V) {\n return is$typed(v, id, hashRecordHosting)\n}\n\nexport function validateRecordHosting<V>(v: V) {\n return validate<RecordHosting & V>(v, id, hashRecordHosting)\n}\n\nexport interface ReporterStats {\n $type?: 'tools.ozone.moderation.defs#reporterStats'\n did: string\n /** The total number of reports made by the user on accounts. */\n accountReportCount: number\n /** The total number of reports made by the user on records. */\n recordReportCount: number\n /** The total number of accounts reported by the user. */\n reportedAccountCount: number\n /** The total number of records reported by the user. */\n reportedRecordCount: number\n /** The total number of accounts taken down as a result of the user's reports. */\n takendownAccountCount: number\n /** The total number of records taken down as a result of the user's reports. */\n takendownRecordCount: number\n /** The total number of accounts labeled as a result of the user's reports. */\n labeledAccountCount: number\n /** The total number of records labeled as a result of the user's reports. */\n labeledRecordCount: number\n}\n\nconst hashReporterStats = 'reporterStats'\n\nexport function isReporterStats<V>(v: V) {\n return is$typed(v, id, hashReporterStats)\n}\n\nexport function validateReporterStats<V>(v: V) {\n return validate<ReporterStats & V>(v, id, hashReporterStats)\n}\n\n/** Moderation tool information for tracing the source of the action */\nexport interface ModTool {\n $type?: 'tools.ozone.moderation.defs#modTool'\n /** Name/identifier of the source (e.g., 'automod', 'ozone/workspace') */\n name: string\n /** Additional arbitrary metadata about the source */\n meta?: { [_ in string]: unknown }\n}\n\nconst hashModTool = 'modTool'\n\nexport function isModTool<V>(v: V) {\n return is$typed(v, id, hashModTool)\n}\n\nexport function validateModTool<V>(v: V) {\n return validate<ModTool & V>(v, id, hashModTool)\n}\n\n/** Moderation event timeline event for a PLC create operation */\nexport const TIMELINEEVENTPLCCREATE = `${id}#timelineEventPlcCreate`\n/** Moderation event timeline event for generic PLC operation */\nexport const TIMELINEEVENTPLCOPERATION = `${id}#timelineEventPlcOperation`\n/** Moderation event timeline event for a PLC tombstone operation */\nexport const TIMELINEEVENTPLCTOMBSTONE = `${id}#timelineEventPlcTombstone`\n\n/** View of a scheduled moderation action */\nexport interface ScheduledActionView {\n $type?: 'tools.ozone.moderation.defs#scheduledActionView'\n /** Auto-incrementing row ID */\n id: number\n /** Type of action to be executed */\n action: 'takedown' | (string & {})\n /** Serialized event object that will be propagated to the event when performed */\n eventData?: { [_ in string]: unknown }\n /** Subject DID for the action */\n did: string\n /** Exact time to execute the action */\n executeAt?: string\n /** Earliest time to execute the action (for randomized scheduling) */\n executeAfter?: string\n /** Latest time to execute the action (for randomized scheduling) */\n executeUntil?: string\n /** Whether execution time should be randomized within the specified range */\n randomizeExecution?: boolean\n /** DID of the user who created this scheduled action */\n createdBy: string\n /** When the scheduled action was created */\n createdAt: string\n /** When the scheduled action was last updated */\n updatedAt?: string\n /** Current status of the scheduled action */\n status: 'pending' | 'executed' | 'cancelled' | 'failed' | (string & {})\n /** When the action was last attempted to be executed */\n lastExecutedAt?: string\n /** Reason for the last execution failure */\n lastFailureReason?: string\n /** ID of the moderation event created when action was successfully executed */\n executionEventId?: number\n}\n\nconst hashScheduledActionView = 'scheduledActionView'\n\nexport function isScheduledActionView<V>(v: V) {\n return is$typed(v, id, hashScheduledActionView)\n}\n\nexport function validateScheduledActionView<V>(v: V) {\n return validate<ScheduledActionView & V>(v, id, hashScheduledActionView)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../../src/moderation/const/labels.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,OAAO,EAAE,+BAA+B,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE3E,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,OAAO,GACP,qBAAqB,GACrB,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,eAAe,GACf,MAAM,CAAA;AAEV,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAKlE,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,+BAA+B,CAuMzE,CAAA"}
1
+ {"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../../src/moderation/const/labels.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,OAAO,EAAE,+BAA+B,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE3E,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,OAAO,GACP,qBAAqB,GACrB,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,eAAe,GACf,MAAM,CAAA;AAEV,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAKlE,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,+BAA+B,CA4NzE,CAAA"}
@@ -105,6 +105,11 @@ exports.LABELS = {
105
105
  account: {
106
106
  avatar: 'blur',
107
107
  banner: 'blur',
108
+ profileList: 'blur',
109
+ profileView: 'blur',
110
+ contentList: 'blur',
111
+ contentView: 'blur',
112
+ contentMedia: 'blur',
108
113
  },
109
114
  profile: {
110
115
  avatar: 'blur',
@@ -127,6 +132,11 @@ exports.LABELS = {
127
132
  account: {
128
133
  avatar: 'blur',
129
134
  banner: 'blur',
135
+ profileList: 'blur',
136
+ profileView: 'blur',
137
+ contentList: 'blur',
138
+ contentView: 'blur',
139
+ contentMedia: 'blur',
130
140
  },
131
141
  profile: {
132
142
  avatar: 'blur',
@@ -149,6 +159,7 @@ exports.LABELS = {
149
159
  account: {
150
160
  avatar: 'blur',
151
161
  banner: 'blur',
162
+ contentMedia: 'blur',
152
163
  },
153
164
  profile: {
154
165
  avatar: 'blur',
@@ -171,6 +182,11 @@ exports.LABELS = {
171
182
  account: {
172
183
  avatar: 'blur',
173
184
  banner: 'blur',
185
+ profileList: 'blur',
186
+ profileView: 'blur',
187
+ contentList: 'blur',
188
+ contentView: 'blur',
189
+ contentMedia: 'blur',
174
190
  },
175
191
  profile: {
176
192
  avatar: 'blur',
@@ -194,6 +210,11 @@ exports.LABELS = {
194
210
  account: {
195
211
  avatar: 'blur',
196
212
  banner: 'blur',
213
+ profileList: 'blur',
214
+ profileView: 'blur',
215
+ contentList: 'blur',
216
+ contentView: 'blur',
217
+ contentMedia: 'blur',
197
218
  },
198
219
  profile: {
199
220
  avatar: 'blur',
@@ -1 +1 @@
1
- {"version":3,"file":"labels.js","sourceRoot":"","sources":["../../../src/moderation/const/labels.ts"],"names":[],"mappings":"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","sourcesContent":["/** this doc is generated by ./scripts/code/labels.mjs **/\nimport { InterpretedLabelValueDefinition, LabelPreference } from '../types'\n\nexport type KnownLabelValue =\n | '!hide'\n | '!warn'\n | '!no-unauthenticated'\n | 'porn'\n | 'sexual'\n | 'nudity'\n | 'graphic-media'\n | 'gore'\n\nexport const DEFAULT_LABEL_SETTINGS: Record<string, LabelPreference> = {\n porn: 'hide',\n sexual: 'warn',\n nudity: 'ignore',\n 'graphic-media': 'warn',\n}\n\nexport const LABELS: Record<KnownLabelValue, InterpretedLabelValueDefinition> =\n {\n '!hide': {\n identifier: '!hide',\n configurable: false,\n defaultSetting: 'hide',\n flags: ['no-override', 'no-self'],\n severity: 'alert',\n blurs: 'content',\n behaviors: {\n account: {\n profileList: 'blur',\n profileView: 'blur',\n avatar: 'blur',\n banner: 'blur',\n displayName: 'blur',\n contentList: 'blur',\n contentView: 'blur',\n },\n profile: {\n avatar: 'blur',\n banner: 'blur',\n displayName: 'blur',\n },\n content: {\n contentList: 'blur',\n contentView: 'blur',\n },\n },\n locales: [],\n },\n '!warn': {\n identifier: '!warn',\n configurable: false,\n defaultSetting: 'warn',\n flags: ['no-self'],\n severity: 'none',\n blurs: 'content',\n behaviors: {\n account: {\n profileList: 'blur',\n profileView: 'blur',\n avatar: 'blur',\n banner: 'blur',\n contentList: 'blur',\n contentView: 'blur',\n },\n profile: {\n avatar: 'blur',\n banner: 'blur',\n displayName: 'blur',\n },\n content: {\n contentList: 'blur',\n contentView: 'blur',\n },\n },\n locales: [],\n },\n '!no-unauthenticated': {\n identifier: '!no-unauthenticated',\n configurable: false,\n defaultSetting: 'hide',\n flags: ['no-override', 'unauthed'],\n severity: 'none',\n blurs: 'content',\n behaviors: {\n account: {\n profileList: 'blur',\n profileView: 'blur',\n avatar: 'blur',\n banner: 'blur',\n displayName: 'blur',\n contentList: 'blur',\n contentView: 'blur',\n },\n profile: {\n avatar: 'blur',\n banner: 'blur',\n displayName: 'blur',\n },\n content: {\n contentList: 'blur',\n contentView: 'blur',\n },\n },\n locales: [],\n },\n porn: {\n identifier: 'porn',\n configurable: true,\n defaultSetting: 'hide',\n flags: ['adult'],\n severity: 'none',\n blurs: 'media',\n behaviors: {\n account: {\n avatar: 'blur',\n banner: 'blur',\n },\n profile: {\n avatar: 'blur',\n banner: 'blur',\n },\n content: {\n contentMedia: 'blur',\n },\n },\n locales: [],\n },\n sexual: {\n identifier: 'sexual',\n configurable: true,\n defaultSetting: 'warn',\n flags: ['adult'],\n severity: 'none',\n blurs: 'media',\n behaviors: {\n account: {\n avatar: 'blur',\n banner: 'blur',\n },\n profile: {\n avatar: 'blur',\n banner: 'blur',\n },\n content: {\n contentMedia: 'blur',\n },\n },\n locales: [],\n },\n nudity: {\n identifier: 'nudity',\n configurable: true,\n defaultSetting: 'ignore',\n flags: [],\n severity: 'none',\n blurs: 'media',\n behaviors: {\n account: {\n avatar: 'blur',\n banner: 'blur',\n },\n profile: {\n avatar: 'blur',\n banner: 'blur',\n },\n content: {\n contentMedia: 'blur',\n },\n },\n locales: [],\n },\n 'graphic-media': {\n identifier: 'graphic-media',\n flags: ['adult'],\n configurable: true,\n defaultSetting: 'warn',\n severity: 'none',\n blurs: 'media',\n behaviors: {\n account: {\n avatar: 'blur',\n banner: 'blur',\n },\n profile: {\n avatar: 'blur',\n banner: 'blur',\n },\n content: {\n contentMedia: 'blur',\n },\n },\n locales: [],\n },\n /** @deprecated alias for `graphic-media` */\n gore: {\n identifier: 'gore',\n flags: ['adult'],\n configurable: true,\n defaultSetting: 'warn',\n severity: 'none',\n blurs: 'media',\n behaviors: {\n account: {\n avatar: 'blur',\n banner: 'blur',\n },\n profile: {\n avatar: 'blur',\n banner: 'blur',\n },\n content: {\n contentMedia: 'blur',\n },\n },\n locales: [],\n },\n }\n"]}
1
+ {"version":3,"file":"labels.js","sourceRoot":"","sources":["../../../src/moderation/const/labels.ts"],"names":[],"mappings":"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","sourcesContent":["/** this doc is generated by ./scripts/code/labels.mjs **/\nimport { InterpretedLabelValueDefinition, LabelPreference } from '../types'\n\nexport type KnownLabelValue =\n | '!hide'\n | '!warn'\n | '!no-unauthenticated'\n | 'porn'\n | 'sexual'\n | 'nudity'\n | 'graphic-media'\n | 'gore'\n\nexport const DEFAULT_LABEL_SETTINGS: Record<string, LabelPreference> = {\n porn: 'hide',\n sexual: 'warn',\n nudity: 'ignore',\n 'graphic-media': 'warn',\n}\n\nexport const LABELS: Record<KnownLabelValue, InterpretedLabelValueDefinition> =\n {\n '!hide': {\n identifier: '!hide',\n configurable: false,\n defaultSetting: 'hide',\n flags: ['no-override', 'no-self'],\n severity: 'alert',\n blurs: 'content',\n behaviors: {\n account: {\n profileList: 'blur',\n profileView: 'blur',\n avatar: 'blur',\n banner: 'blur',\n displayName: 'blur',\n contentList: 'blur',\n contentView: 'blur',\n },\n profile: {\n avatar: 'blur',\n banner: 'blur',\n displayName: 'blur',\n },\n content: {\n contentList: 'blur',\n contentView: 'blur',\n },\n },\n locales: [],\n },\n '!warn': {\n identifier: '!warn',\n configurable: false,\n defaultSetting: 'warn',\n flags: ['no-self'],\n severity: 'none',\n blurs: 'content',\n behaviors: {\n account: {\n profileList: 'blur',\n profileView: 'blur',\n avatar: 'blur',\n banner: 'blur',\n contentList: 'blur',\n contentView: 'blur',\n },\n profile: {\n avatar: 'blur',\n banner: 'blur',\n displayName: 'blur',\n },\n content: {\n contentList: 'blur',\n contentView: 'blur',\n },\n },\n locales: [],\n },\n '!no-unauthenticated': {\n identifier: '!no-unauthenticated',\n configurable: false,\n defaultSetting: 'hide',\n flags: ['no-override', 'unauthed'],\n severity: 'none',\n blurs: 'content',\n behaviors: {\n account: {\n profileList: 'blur',\n profileView: 'blur',\n avatar: 'blur',\n banner: 'blur',\n displayName: 'blur',\n contentList: 'blur',\n contentView: 'blur',\n },\n profile: {\n avatar: 'blur',\n banner: 'blur',\n displayName: 'blur',\n },\n content: {\n contentList: 'blur',\n contentView: 'blur',\n },\n },\n locales: [],\n },\n porn: {\n identifier: 'porn',\n configurable: true,\n defaultSetting: 'hide',\n flags: ['adult'],\n severity: 'none',\n blurs: 'media',\n behaviors: {\n account: {\n avatar: 'blur',\n banner: 'blur',\n profileList: 'blur',\n profileView: 'blur',\n contentList: 'blur',\n contentView: 'blur',\n contentMedia: 'blur',\n },\n profile: {\n avatar: 'blur',\n banner: 'blur',\n },\n content: {\n contentMedia: 'blur',\n },\n },\n locales: [],\n },\n sexual: {\n identifier: 'sexual',\n configurable: true,\n defaultSetting: 'warn',\n flags: ['adult'],\n severity: 'none',\n blurs: 'media',\n behaviors: {\n account: {\n avatar: 'blur',\n banner: 'blur',\n profileList: 'blur',\n profileView: 'blur',\n contentList: 'blur',\n contentView: 'blur',\n contentMedia: 'blur',\n },\n profile: {\n avatar: 'blur',\n banner: 'blur',\n },\n content: {\n contentMedia: 'blur',\n },\n },\n locales: [],\n },\n nudity: {\n identifier: 'nudity',\n configurable: true,\n defaultSetting: 'ignore',\n flags: [],\n severity: 'none',\n blurs: 'media',\n behaviors: {\n account: {\n avatar: 'blur',\n banner: 'blur',\n contentMedia: 'blur',\n },\n profile: {\n avatar: 'blur',\n banner: 'blur',\n },\n content: {\n contentMedia: 'blur',\n },\n },\n locales: [],\n },\n 'graphic-media': {\n identifier: 'graphic-media',\n flags: ['adult'],\n configurable: true,\n defaultSetting: 'warn',\n severity: 'none',\n blurs: 'media',\n behaviors: {\n account: {\n avatar: 'blur',\n banner: 'blur',\n profileList: 'blur',\n profileView: 'blur',\n contentList: 'blur',\n contentView: 'blur',\n contentMedia: 'blur',\n },\n profile: {\n avatar: 'blur',\n banner: 'blur',\n },\n content: {\n contentMedia: 'blur',\n },\n },\n locales: [],\n },\n /** @deprecated alias for `graphic-media` */\n gore: {\n identifier: 'gore',\n flags: ['adult'],\n configurable: true,\n defaultSetting: 'warn',\n severity: 'none',\n blurs: 'media',\n behaviors: {\n account: {\n avatar: 'blur',\n banner: 'blur',\n profileList: 'blur',\n profileView: 'blur',\n contentList: 'blur',\n contentView: 'blur',\n contentMedia: 'blur',\n },\n profile: {\n avatar: 'blur',\n banner: 'blur',\n },\n content: {\n contentMedia: 'blur',\n },\n },\n locales: [],\n },\n }\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/api",
3
- "version": "0.19.12",
3
+ "version": "0.19.14",
4
4
  "license": "MIT",
5
5
  "description": "Client library for atproto and Bluesky",
6
6
  "keywords": [
@@ -21,9 +21,9 @@
21
21
  "multiformats": "^9.9.0",
22
22
  "tlds": "^1.234.0",
23
23
  "zod": "^3.23.8",
24
- "@atproto/common-web": "^0.4.21",
25
- "@atproto/syntax": "^0.5.4",
26
24
  "@atproto/lexicon": "^0.6.2",
25
+ "@atproto/syntax": "^0.5.4",
26
+ "@atproto/common-web": "^0.4.21",
27
27
  "@atproto/xrpc": "^0.7.7"
28
28
  },
29
29
  "devDependencies": {
@@ -10473,6 +10473,15 @@ export const schemaDict = {
10473
10473
  'lex:chat.bsky.convo.defs#deletedMessageView',
10474
10474
  ],
10475
10475
  },
10476
+ relatedProfiles: {
10477
+ description:
10478
+ "Profiles referred to in the message view. This isn't required for compatibility, because it was added later, but should generally be present.",
10479
+ type: 'array',
10480
+ items: {
10481
+ type: 'ref',
10482
+ ref: 'lex:chat.bsky.actor.defs#profileViewBasic',
10483
+ },
10484
+ },
10476
10485
  },
10477
10486
  },
10478
10487
  logDeleteMessage: {
@@ -10540,6 +10549,15 @@ export const schemaDict = {
10540
10549
  type: 'ref',
10541
10550
  ref: 'lex:chat.bsky.convo.defs#reactionView',
10542
10551
  },
10552
+ relatedProfiles: {
10553
+ description:
10554
+ "Profiles referred in the message and reaction views. This isn't required for compatibility, because it was added later, but should generally be present.",
10555
+ type: 'array',
10556
+ items: {
10557
+ type: 'ref',
10558
+ ref: 'lex:chat.bsky.actor.defs#profileViewBasic',
10559
+ },
10560
+ },
10543
10561
  },
10544
10562
  },
10545
10563
  logRemoveReaction: {
@@ -10564,6 +10582,15 @@ export const schemaDict = {
10564
10582
  type: 'ref',
10565
10583
  ref: 'lex:chat.bsky.convo.defs#reactionView',
10566
10584
  },
10585
+ relatedProfiles: {
10586
+ description:
10587
+ "Profiles referred in the message and reaction views. This isn't required for compatibility, because it was added later, but should generally be present.",
10588
+ type: 'array',
10589
+ items: {
10590
+ type: 'ref',
10591
+ ref: 'lex:chat.bsky.actor.defs#profileViewBasic',
10592
+ },
10593
+ },
10567
10594
  },
10568
10595
  },
10569
10596
  logReadConvo: {
@@ -19076,6 +19103,11 @@ export const schemaDict = {
19076
19103
  type: 'string',
19077
19104
  description: 'Additional comment about added/removed tags.',
19078
19105
  },
19106
+ durationInHours: {
19107
+ type: 'integer',
19108
+ description:
19109
+ 'Indicates how long the tags being added should remain before automatically being removed. Only applies to tags being added.',
19110
+ },
19079
19111
  },
19080
19112
  },
19081
19113
  accountEvent: {
@@ -618,6 +618,8 @@ export interface LogCreateMessage {
618
618
  rev: string
619
619
  convoId: string
620
620
  message: $Typed<MessageView> | $Typed<DeletedMessageView> | { $type: string }
621
+ /** Profiles referred to in the message view. This isn't required for compatibility, because it was added later, but should generally be present. */
622
+ relatedProfiles?: ChatBskyActorDefs.ProfileViewBasic[]
621
623
  }
622
624
 
623
625
  const hashLogCreateMessage = 'logCreateMessage'
@@ -677,6 +679,8 @@ export interface LogAddReaction {
677
679
  convoId: string
678
680
  message: $Typed<MessageView> | $Typed<DeletedMessageView> | { $type: string }
679
681
  reaction: ReactionView
682
+ /** Profiles referred in the message and reaction views. This isn't required for compatibility, because it was added later, but should generally be present. */
683
+ relatedProfiles?: ChatBskyActorDefs.ProfileViewBasic[]
680
684
  }
681
685
 
682
686
  const hashLogAddReaction = 'logAddReaction'
@@ -696,6 +700,8 @@ export interface LogRemoveReaction {
696
700
  convoId: string
697
701
  message: $Typed<MessageView> | $Typed<DeletedMessageView> | { $type: string }
698
702
  reaction: ReactionView
703
+ /** Profiles referred in the message and reaction views. This isn't required for compatibility, because it was added later, but should generally be present. */
704
+ relatedProfiles?: ChatBskyActorDefs.ProfileViewBasic[]
699
705
  }
700
706
 
701
707
  const hashLogRemoveReaction = 'logRemoveReaction'
@@ -701,6 +701,8 @@ export interface ModEventTag {
701
701
  remove: string[]
702
702
  /** Additional comment about added/removed tags. */
703
703
  comment?: string
704
+ /** Indicates how long the tags being added should remain before automatically being removed. Only applies to tags being added. */
705
+ durationInHours?: number
704
706
  }
705
707
 
706
708
  const hashModEventTag = 'modEventTag'
@@ -339,10 +339,13 @@ const SCENARIOS: SuiteScenarios = {
339
339
  author: 'alice',
340
340
  labels: { account: ['porn'] },
341
341
  behaviors: {
342
- profileList: ['filter'],
342
+ profileList: ['filter', 'blur'],
343
+ profileView: ['blur'],
343
344
  avatar: ['blur'],
344
345
  banner: ['blur'],
345
- contentList: ['filter'],
346
+ contentList: ['filter', 'blur'],
347
+ contentView: ['blur'],
348
+ contentMedia: ['blur'],
346
349
  },
347
350
  },
348
351
  "Blur-media label ('porn') on profile (hide)": {
@@ -381,10 +384,11 @@ const SCENARIOS: SuiteScenarios = {
381
384
  author: 'alice',
382
385
  labels: { account: ['porn'] },
383
386
  behaviors: {
384
- profileList: ['filter'],
385
387
  avatar: ['blur'],
386
388
  banner: ['blur'],
387
- contentList: ['filter'],
389
+ contentList: ['filter', 'blur'],
390
+ contentView: ['blur'],
391
+ contentMedia: ['blur'],
388
392
  },
389
393
  },
390
394
 
@@ -394,8 +398,13 @@ const SCENARIOS: SuiteScenarios = {
394
398
  author: 'alice',
395
399
  labels: { account: ['porn'] },
396
400
  behaviors: {
401
+ profileList: ['blur'],
402
+ profileView: ['blur'],
397
403
  avatar: ['blur'],
398
404
  banner: ['blur'],
405
+ contentList: ['blur'],
406
+ contentView: ['blur'],
407
+ contentMedia: ['blur'],
399
408
  },
400
409
  },
401
410
  "Blur-media label ('porn') on profile (warn)": {
@@ -435,6 +444,9 @@ const SCENARIOS: SuiteScenarios = {
435
444
  behaviors: {
436
445
  avatar: ['blur'],
437
446
  banner: ['blur'],
447
+ contentList: ['blur'],
448
+ contentView: ['blur'],
449
+ contentMedia: ['blur'],
438
450
  },
439
451
  },
440
452
 
@@ -480,10 +492,13 @@ const SCENARIOS: SuiteScenarios = {
480
492
  author: 'alice',
481
493
  labels: { account: ['porn'] },
482
494
  behaviors: {
483
- profileList: ['filter'],
495
+ profileList: ['filter', 'blur', 'noOverride'],
496
+ profileView: ['blur', 'noOverride'],
484
497
  avatar: ['blur', 'noOverride'],
485
498
  banner: ['blur', 'noOverride'],
486
- contentList: ['filter'],
499
+ contentList: ['filter', 'blur', 'noOverride'],
500
+ contentView: ['blur', 'noOverride'],
501
+ contentMedia: ['blur', 'noOverride'],
487
502
  },
488
503
  },
489
504
  'Adult-only label on profile when adult content is disabled': {
@@ -527,7 +542,9 @@ const SCENARIOS: SuiteScenarios = {
527
542
  behaviors: {
528
543
  avatar: ['blur', 'noOverride'],
529
544
  banner: ['blur', 'noOverride'],
530
- contentList: ['filter'],
545
+ contentList: ['filter', 'blur', 'noOverride'],
546
+ contentView: ['blur', 'noOverride'],
547
+ contentMedia: ['blur', 'noOverride'],
531
548
  },
532
549
  },
533
550
 
@@ -787,6 +804,7 @@ const SCENARIOS: SuiteScenarios = {
787
804
  displayName: ['blur', 'noOverride'],
788
805
  contentList: ['filter', 'blur', 'noOverride'],
789
806
  contentView: ['blur', 'noOverride'],
807
+ contentMedia: ['blur'],
790
808
  },
791
809
  },
792
810
  "Merging: '!warn' and 'porn' labels on account (hide)": {
@@ -801,6 +819,7 @@ const SCENARIOS: SuiteScenarios = {
801
819
  banner: ['blur'],
802
820
  contentList: ['filter', 'blur'],
803
821
  contentView: ['blur'],
822
+ contentMedia: ['blur'],
804
823
  },
805
824
  },
806
825
  'Merging: !hide on account, !warn on profile': {