@atproto/api 0.17.7 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +0 -1
- package/dist/agent.js.map +1 -1
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +14 -5
- package/dist/client/index.js.map +1 -1
- package/dist/client/lexicons.d.ts +164 -28
- package/dist/client/lexicons.d.ts.map +1 -1
- package/dist/client/lexicons.js +85 -14
- package/dist/client/lexicons.js.map +1 -1
- package/dist/client/types/app/bsky/actor/defs.d.ts +0 -2
- package/dist/client/types/app/bsky/actor/defs.d.ts.map +1 -1
- package/dist/client/types/app/bsky/actor/defs.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getPostThreadOtherV2.d.ts +0 -2
- package/dist/client/types/app/bsky/unspecced/getPostThreadOtherV2.d.ts.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getPostThreadOtherV2.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getPostThreadV2.d.ts +0 -2
- package/dist/client/types/app/bsky/unspecced/getPostThreadV2.d.ts.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getPostThreadV2.js.map +1 -1
- package/dist/client/types/com/atproto/lexicon/resolveLexicon.d.ts +31 -0
- package/dist/client/types/com/atproto/lexicon/resolveLexicon.d.ts.map +1 -0
- package/dist/client/types/com/atproto/lexicon/resolveLexicon.js +26 -0
- package/dist/client/types/com/atproto/lexicon/resolveLexicon.js.map +1 -0
- package/dist/client/types/tools/ozone/moderation/defs.d.ts +4 -0
- package/dist/client/types/tools/ozone/moderation/defs.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/moderation/defs.js.map +1 -1
- package/dist/client/types/tools/ozone/moderation/scheduleAction.d.ts +10 -0
- package/dist/client/types/tools/ozone/moderation/scheduleAction.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/moderation/scheduleAction.js.map +1 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/src/agent.ts +0 -1
- package/src/client/index.ts +13 -0
- package/src/client/lexicons.ts +91 -16
- package/src/client/types/app/bsky/actor/defs.ts +0 -2
- package/src/client/types/app/bsky/unspecced/getPostThreadOtherV2.ts +0 -2
- package/src/client/types/app/bsky/unspecced/getPostThreadV2.ts +0 -2
- package/src/client/types/com/atproto/lexicon/resolveLexicon.ts +56 -0
- package/src/client/types/tools/ozone/moderation/defs.ts +4 -0
- package/src/client/types/tools/ozone/moderation/scheduleAction.ts +10 -0
- package/src/types.ts +0 -1
- package/tests/atp-agent.test.ts +0 -30
- package/tests/moderation-prefs.test.ts +0 -4
- package/tsconfig.build.tsbuildinfo +1 -1
|
@@ -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 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<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<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 | 'lex:tools.ozone.moderation.defs#reviewOpen'\n | 'lex:tools.ozone.moderation.defs#reviewEscalated'\n | 'lex:tools.ozone.moderation.defs#reviewClosed'\n | 'lex: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 /** 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 status of the age assurance process. */\n status: 'unknown' | 'pending' | 'assured' | (string & {})\n /** The unique identifier for this instance of the age assurance flow, in UUID format. */\n attemptId: 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 /** 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/** 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}\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 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<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<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 | 'lex:tools.ozone.moderation.defs#reviewOpen'\n | 'lex:tools.ozone.moderation.defs#reviewEscalated'\n | 'lex:tools.ozone.moderation.defs#reviewClosed'\n | 'lex: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 status of the age assurance process. */\n status: 'unknown' | 'pending' | 'assured' | (string & {})\n /** The unique identifier for this instance of the age assurance flow, in UUID format. */\n attemptId: 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 /** 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/** 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"]}
|
|
@@ -39,6 +39,16 @@ export interface Takedown {
|
|
|
39
39
|
acknowledgeAccountSubjects?: boolean;
|
|
40
40
|
/** Names/Keywords of the policies that drove the decision. */
|
|
41
41
|
policies?: string[];
|
|
42
|
+
/** Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.). */
|
|
43
|
+
severityLevel?: string;
|
|
44
|
+
/** Number of strikes to assign to the user when takedown is applied. */
|
|
45
|
+
strikeCount?: number;
|
|
46
|
+
/** When the strike should expire. If not provided, the strike never expires. */
|
|
47
|
+
strikeExpiresAt?: string;
|
|
48
|
+
/** Email content to be sent to the user upon takedown. */
|
|
49
|
+
emailContent?: string;
|
|
50
|
+
/** Subject of the email to be sent to the user upon takedown. */
|
|
51
|
+
emailSubject?: string;
|
|
42
52
|
}
|
|
43
53
|
export declare function isTakedown<V>(v: V): v is import("../../../../util").$TypedObject<V, "tools.ozone.moderation.scheduleAction", "takedown">;
|
|
44
54
|
export declare function validateTakedown<V>(v: V): ValidationResult<Takedown & V>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduleAction.d.ts","sourceRoot":"","sources":["../../../../../../src/client/types/tools/ozone/moderation/scheduleAction.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAa,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,kBAAkB,CAAA;AAGjE,OAAO,EACL,KAAK,MAAM,EAGZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,KAAK,wBAAwB,MAAM,WAAW,CAAA;AAM1D,MAAM,MAAM,WAAW,GAAG,EAAE,CAAA;AAE5B,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,uDAAuD;IACvD,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,gBAAgB,CAAA;IAC5B,OAAO,CAAC,EAAE,wBAAwB,CAAC,OAAO,CAAA;CAC3C;AAED,MAAM,MAAM,YAAY,GAAG,sBAAsB,CAAA;AAEjD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,EAAE,CAAC,EAAE,WAAW,CAAA;IAChB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;CAC9B;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,UAAU,CAAA;IACnB,IAAI,EAAE,YAAY,CAAA;CACnB;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,OAEhC;AAED,iCAAiC;AACjC,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,gDAAgD,CAAA;IACxD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yFAAyF;IACzF,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,sGAAsG;IACtG,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"scheduleAction.d.ts","sourceRoot":"","sources":["../../../../../../src/client/types/tools/ozone/moderation/scheduleAction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduleAction.js","sourceRoot":"","sources":["../../../../../../src/client/types/tools/ozone/moderation/scheduleAction.ts"],"names":[],"mappings":";;AA4CA,gCAEC;
|
|
1
|
+
{"version":3,"file":"scheduleAction.js","sourceRoot":"","sources":["../../../../../../src/client/types/tools/ozone/moderation/scheduleAction.ts"],"names":[],"mappings":";;AA4CA,gCAEC;AA0BD,gCAEC;AAED,4CAEC;AAeD,gDAEC;AAED,4DAEC;AAUD,4DAEC;AAED,wEAEC;AAWD,gDAEC;AAED,4DAEC;AA9HD,mDAA4D;AAC5D,2CAIyB;AAGzB,MAAM,QAAQ,GAAG,eAAS,EACxB,QAAQ,GAAG,mBAAS,CAAA;AACtB,MAAM,EAAE,GAAG,uCAAuC,CAAA;AA4BlD,SAAgB,UAAU,CAAC,CAAM;IAC/B,OAAO,CAAC,CAAA;AACV,CAAC;AAwBD,MAAM,YAAY,GAAG,UAAU,CAAA;AAE/B,SAAgB,UAAU,CAAI,CAAI;IAChC,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,CAAA;AACtC,CAAC;AAED,SAAgB,gBAAgB,CAAI,CAAI;IACtC,OAAO,QAAQ,CAAe,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,CAAA;AACpD,CAAC;AAaD,MAAM,oBAAoB,GAAG,kBAAkB,CAAA;AAE/C,SAAgB,kBAAkB,CAAI,CAAI;IACxC,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,oBAAoB,CAAC,CAAA;AAC9C,CAAC;AAED,SAAgB,wBAAwB,CAAI,CAAI;IAC9C,OAAO,QAAQ,CAAuB,CAAC,EAAE,EAAE,EAAE,oBAAoB,CAAC,CAAA;AACpE,CAAC;AAQD,MAAM,0BAA0B,GAAG,wBAAwB,CAAA;AAE3D,SAAgB,wBAAwB,CAAI,CAAI;IAC9C,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,0BAA0B,CAAC,CAAA;AACpD,CAAC;AAED,SAAgB,8BAA8B,CAAI,CAAI;IACpD,OAAO,QAAQ,CAA6B,CAAC,EAAE,EAAE,EAAE,0BAA0B,CAAC,CAAA;AAChF,CAAC;AASD,MAAM,oBAAoB,GAAG,kBAAkB,CAAA;AAE/C,SAAgB,kBAAkB,CAAI,CAAI;IACxC,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,oBAAoB,CAAC,CAAA;AAC9C,CAAC;AAED,SAAgB,wBAAwB,CAAI,CAAI;IAC9C,OAAO,QAAQ,CAAuB,CAAC,EAAE,EAAE,EAAE,oBAAoB,CAAC,CAAA;AACpE,CAAC","sourcesContent":["/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { HeadersMap, XRPCError } from '@atproto/xrpc'\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 ToolsOzoneModerationDefs from './defs.js'\n\nconst is$typed = _is$typed,\n validate = _validate\nconst id = 'tools.ozone.moderation.scheduleAction'\n\nexport type QueryParams = {}\n\nexport interface InputSchema {\n action: $Typed<Takedown> | { $type: string }\n /** Array of DID subjects to schedule the action for */\n subjects: string[]\n createdBy: string\n scheduling: SchedulingConfig\n modTool?: ToolsOzoneModerationDefs.ModTool\n}\n\nexport type OutputSchema = ScheduledActionResults\n\nexport interface CallOptions {\n signal?: AbortSignal\n headers?: HeadersMap\n qp?: QueryParams\n encoding?: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: HeadersMap\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n return e\n}\n\n/** Schedule a takedown action */\nexport interface Takedown {\n $type?: 'tools.ozone.moderation.scheduleAction#takedown'\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 /** Number of strikes to assign to the user when takedown is applied. */\n strikeCount?: number\n /** When the strike should expire. If not provided, the strike never expires. */\n strikeExpiresAt?: string\n /** Email content to be sent to the user upon takedown. */\n emailContent?: string\n /** Subject of the email to be sent to the user upon takedown. */\n emailSubject?: string\n}\n\nconst hashTakedown = 'takedown'\n\nexport function isTakedown<V>(v: V) {\n return is$typed(v, id, hashTakedown)\n}\n\nexport function validateTakedown<V>(v: V) {\n return validate<Takedown & V>(v, id, hashTakedown)\n}\n\n/** Configuration for when the action should be executed */\nexport interface SchedulingConfig {\n $type?: 'tools.ozone.moderation.scheduleAction#schedulingConfig'\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}\n\nconst hashSchedulingConfig = 'schedulingConfig'\n\nexport function isSchedulingConfig<V>(v: V) {\n return is$typed(v, id, hashSchedulingConfig)\n}\n\nexport function validateSchedulingConfig<V>(v: V) {\n return validate<SchedulingConfig & V>(v, id, hashSchedulingConfig)\n}\n\nexport interface ScheduledActionResults {\n $type?: 'tools.ozone.moderation.scheduleAction#scheduledActionResults'\n succeeded: string[]\n failed: FailedScheduling[]\n}\n\nconst hashScheduledActionResults = 'scheduledActionResults'\n\nexport function isScheduledActionResults<V>(v: V) {\n return is$typed(v, id, hashScheduledActionResults)\n}\n\nexport function validateScheduledActionResults<V>(v: V) {\n return validate<ScheduledActionResults & V>(v, id, hashScheduledActionResults)\n}\n\nexport interface FailedScheduling {\n $type?: 'tools.ozone.moderation.scheduleAction#failedScheduling'\n subject: string\n error: string\n errorCode?: string\n}\n\nconst hashFailedScheduling = 'failedScheduling'\n\nexport function isFailedScheduling<V>(v: V) {\n return is$typed(v, id, hashFailedScheduling)\n}\n\nexport function validateFailedScheduling<V>(v: V) {\n return validate<FailedScheduling & V>(v, id, hashFailedScheduling)\n}\n"]}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;AAC9D,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,kBAAkB,CAAA;AACvE,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACnD,KAAK,EAAE,CAAC,GACP,KAAK,IAAI,CAAC,GAAG,kBAAkB,CAEjC;AAGD,MAAM,MAAM,GAAG,GAAG,OAAO,MAAM,IAAI,MAAM,EAAE,CAAA;AAC3C,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,GAAG,CAMlE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAE7D;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,iCAG/C;AAED,MAAM,MAAM,YAAY,GAAG,GAAG,GAAG,IAAI,kBAAkB,EAAE,CAAA;AACzD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAGnE;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,KAAK,IAAI,YAAY,CAM/B;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,2GAGxD;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,eAAe,GACf,QAAQ,GACR,SAAS,GACT,eAAe,CAAA;AAEnB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,cAAc,GAAG,SAAS,KAChC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAEzB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAED;;GAEG;AAEH,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,OAAO,CAAA;IACpB,uBAAuB,EAAE,OAAO,CAAA;IAChC,sBAAsB,EAAE,MAAM,CAAA;IAC9B,WAAW,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,OAAO,CAAA;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;AAKA,oDAIC;AAID,sBAMC;AAED,8BAEC;AAED,sBAGC;AAGD,wCAGC;AAED,gDAQC;AAED,wCAGC;AA5CD,SAAgB,oBAAoB,CAClC,KAAQ;IAER,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACrD,CAAC;AAID,SAAgB,KAAK,CAAmB,KAAQ;IAC9C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAClC,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI;QAAE,OAAO,KAAK,CAAA;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACnC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;AAC9C,CAAC;AAED,SAAgB,SAAS,CAAC,KAAa;IACrC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAA;AACjE,CAAC;AAED,SAAgB,KAAK,CAAmB,KAAQ;IAC9C,SAAS,CAAC,KAAK,CAAC,CAAA;IAChB,OAAO,KAAK,CAAA;AACd,CAAC;AAGD,SAAgB,cAAc,CAAC,KAAa;IAC1C,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC3D,OAAO,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAA;AACpE,CAAC;AAED,SAAgB,kBAAkB,CAChC,KAAa;IAEb,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,SAAS,CACjB,0BAA0B,KAAK,kDAAkD,CAClF,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAgB,cAAc,CAAmB,KAAQ;IACvD,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACzB,OAAO,KAAK,CAAA;AACd,CAAC","sourcesContent":["import { AppBskyActorDefs } from './client'\nimport { ModerationPrefs } from './moderation/types'\n\nexport type UnknownServiceType = string & NonNullable<unknown>\nexport type AtprotoServiceType = 'atproto_labeler' | UnknownServiceType\nexport function isAtprotoServiceType<T extends string>(\n input: T,\n): input is T & AtprotoServiceType {\n return !input.includes(' ') && !input.includes('#')\n}\n\n// @TODO use tools from @atproto/did\nexport type Did = `did:${string}:${string}`\nexport function isDid<T extends string>(input: T): input is T & Did {\n if (!input.startsWith('did:')) return false\n if (input.length < 8) return false\n if (input.length > 2048) return false\n const msidx = input.indexOf(':', 4)\n return msidx > 4 && msidx < input.length - 1\n}\n\nexport function assertDid(input: string): asserts input is Did {\n if (!isDid(input)) throw new TypeError(`Invalid DID: ${input}`)\n}\n\nexport function asDid<T extends string>(input: T) {\n assertDid(input)\n return input\n}\n\nexport type AtprotoProxy = `${Did}#${AtprotoServiceType}`\nexport function isAtprotoProxy(input: string): input is AtprotoProxy {\n const { length, [0]: did, [1]: service } = input.split('#')\n return length === 2 && isDid(did) && isAtprotoServiceType(service)\n}\n\nexport function assertAtprotoProxy(\n input: string,\n): asserts input is AtprotoProxy {\n if (!isAtprotoProxy(input)) {\n throw new TypeError(\n `Invalid DID reference: ${input} (must be of the form did:example:alice#service)`,\n )\n }\n}\n\nexport function asAtprotoProxy<T extends string>(input: T) {\n assertAtprotoProxy(input)\n return input\n}\n\n/**\n * Used by the PersistSessionHandler to indicate what change occurred\n */\nexport type AtpSessionEvent =\n | 'create'\n | 'create-failed'\n | 'update'\n | 'expired'\n | 'network-error'\n\n/**\n * Used by AtpAgent to store active sessions\n */\nexport interface AtpSessionData {\n refreshJwt: string\n accessJwt: string\n handle: string\n did: string\n email?: string\n emailConfirmed?: boolean\n emailAuthFactor?: boolean\n active: boolean\n status?: string\n}\n\n/**\n * Handler signature passed to AtpAgent to store session data\n */\nexport type AtpPersistSessionHandler = (\n evt: AtpSessionEvent,\n session: AtpSessionData | undefined,\n) => void | Promise<void>\n\n/**\n * AtpAgent login() opts\n */\nexport interface AtpAgentLoginOpts {\n identifier: string\n password: string\n authFactorToken?: string | undefined\n allowTakendown?: boolean\n}\n\n/**\n * AtpAgent global config opts\n */\nexport interface AtpAgentGlobalOpts {\n appLabelers?: string[]\n}\n\n/**\n * Bluesky feed view preferences\n */\n\nexport interface BskyFeedViewPreference {\n hideReplies: boolean\n hideRepliesByUnfollowed: boolean\n hideRepliesByLikeCount: number\n hideReposts: boolean\n hideQuotePosts: boolean\n [key: string]: any\n}\n\n/**\n * Bluesky thread view preferences\n */\nexport interface BskyThreadViewPreference {\n sort: string\n
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;AAKA,oDAIC;AAID,sBAMC;AAED,8BAEC;AAED,sBAGC;AAGD,wCAGC;AAED,gDAQC;AAED,wCAGC;AA5CD,SAAgB,oBAAoB,CAClC,KAAQ;IAER,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACrD,CAAC;AAID,SAAgB,KAAK,CAAmB,KAAQ;IAC9C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAClC,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI;QAAE,OAAO,KAAK,CAAA;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACnC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;AAC9C,CAAC;AAED,SAAgB,SAAS,CAAC,KAAa;IACrC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAA;AACjE,CAAC;AAED,SAAgB,KAAK,CAAmB,KAAQ;IAC9C,SAAS,CAAC,KAAK,CAAC,CAAA;IAChB,OAAO,KAAK,CAAA;AACd,CAAC;AAGD,SAAgB,cAAc,CAAC,KAAa;IAC1C,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC3D,OAAO,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAA;AACpE,CAAC;AAED,SAAgB,kBAAkB,CAChC,KAAa;IAEb,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,SAAS,CACjB,0BAA0B,KAAK,kDAAkD,CAClF,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAgB,cAAc,CAAmB,KAAQ;IACvD,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACzB,OAAO,KAAK,CAAA;AACd,CAAC","sourcesContent":["import { AppBskyActorDefs } from './client'\nimport { ModerationPrefs } from './moderation/types'\n\nexport type UnknownServiceType = string & NonNullable<unknown>\nexport type AtprotoServiceType = 'atproto_labeler' | UnknownServiceType\nexport function isAtprotoServiceType<T extends string>(\n input: T,\n): input is T & AtprotoServiceType {\n return !input.includes(' ') && !input.includes('#')\n}\n\n// @TODO use tools from @atproto/did\nexport type Did = `did:${string}:${string}`\nexport function isDid<T extends string>(input: T): input is T & Did {\n if (!input.startsWith('did:')) return false\n if (input.length < 8) return false\n if (input.length > 2048) return false\n const msidx = input.indexOf(':', 4)\n return msidx > 4 && msidx < input.length - 1\n}\n\nexport function assertDid(input: string): asserts input is Did {\n if (!isDid(input)) throw new TypeError(`Invalid DID: ${input}`)\n}\n\nexport function asDid<T extends string>(input: T) {\n assertDid(input)\n return input\n}\n\nexport type AtprotoProxy = `${Did}#${AtprotoServiceType}`\nexport function isAtprotoProxy(input: string): input is AtprotoProxy {\n const { length, [0]: did, [1]: service } = input.split('#')\n return length === 2 && isDid(did) && isAtprotoServiceType(service)\n}\n\nexport function assertAtprotoProxy(\n input: string,\n): asserts input is AtprotoProxy {\n if (!isAtprotoProxy(input)) {\n throw new TypeError(\n `Invalid DID reference: ${input} (must be of the form did:example:alice#service)`,\n )\n }\n}\n\nexport function asAtprotoProxy<T extends string>(input: T) {\n assertAtprotoProxy(input)\n return input\n}\n\n/**\n * Used by the PersistSessionHandler to indicate what change occurred\n */\nexport type AtpSessionEvent =\n | 'create'\n | 'create-failed'\n | 'update'\n | 'expired'\n | 'network-error'\n\n/**\n * Used by AtpAgent to store active sessions\n */\nexport interface AtpSessionData {\n refreshJwt: string\n accessJwt: string\n handle: string\n did: string\n email?: string\n emailConfirmed?: boolean\n emailAuthFactor?: boolean\n active: boolean\n status?: string\n}\n\n/**\n * Handler signature passed to AtpAgent to store session data\n */\nexport type AtpPersistSessionHandler = (\n evt: AtpSessionEvent,\n session: AtpSessionData | undefined,\n) => void | Promise<void>\n\n/**\n * AtpAgent login() opts\n */\nexport interface AtpAgentLoginOpts {\n identifier: string\n password: string\n authFactorToken?: string | undefined\n allowTakendown?: boolean\n}\n\n/**\n * AtpAgent global config opts\n */\nexport interface AtpAgentGlobalOpts {\n appLabelers?: string[]\n}\n\n/**\n * Bluesky feed view preferences\n */\n\nexport interface BskyFeedViewPreference {\n hideReplies: boolean\n hideRepliesByUnfollowed: boolean\n hideRepliesByLikeCount: number\n hideReposts: boolean\n hideQuotePosts: boolean\n [key: string]: any\n}\n\n/**\n * Bluesky thread view preferences\n */\nexport interface BskyThreadViewPreference {\n sort: string\n [key: string]: any\n}\n\n/**\n * Bluesky interests preferences\n */\nexport interface BskyInterestsPreference {\n tags: string[]\n [key: string]: any\n}\n\n/**\n * Bluesky preferences\n */\nexport interface BskyPreferences {\n /**\n * @deprecated use `savedFeeds`\n */\n feeds: {\n saved?: string[]\n pinned?: string[]\n }\n savedFeeds: AppBskyActorDefs.SavedFeed[]\n feedViewPrefs: Record<string, BskyFeedViewPreference>\n threadViewPrefs: BskyThreadViewPreference\n moderationPrefs: ModerationPrefs\n birthDate: Date | undefined\n interests: BskyInterestsPreference\n bskyAppState: {\n queuedNudges: string[]\n activeProgressGuide: AppBskyActorDefs.BskyAppProgressGuide | undefined\n nuxs: AppBskyActorDefs.Nux[]\n }\n postInteractionSettings: AppBskyActorDefs.PostInteractionSettingsPref\n verificationPrefs: AppBskyActorDefs.VerificationPrefs\n}\n"]}
|
package/package.json
CHANGED
package/src/agent.ts
CHANGED
package/src/client/index.ts
CHANGED
|
@@ -182,6 +182,7 @@ import * as ComAtprotoIdentityUpdateHandle from './types/com/atproto/identity/up
|
|
|
182
182
|
import * as ComAtprotoLabelDefs from './types/com/atproto/label/defs.js'
|
|
183
183
|
import * as ComAtprotoLabelQueryLabels from './types/com/atproto/label/queryLabels.js'
|
|
184
184
|
import * as ComAtprotoLabelSubscribeLabels from './types/com/atproto/label/subscribeLabels.js'
|
|
185
|
+
import * as ComAtprotoLexiconResolveLexicon from './types/com/atproto/lexicon/resolveLexicon.js'
|
|
185
186
|
import * as ComAtprotoLexiconSchema from './types/com/atproto/lexicon/schema.js'
|
|
186
187
|
import * as ComAtprotoModerationCreateReport from './types/com/atproto/moderation/createReport.js'
|
|
187
188
|
import * as ComAtprotoModerationDefs from './types/com/atproto/moderation/defs.js'
|
|
@@ -475,6 +476,7 @@ export * as ComAtprotoIdentityUpdateHandle from './types/com/atproto/identity/up
|
|
|
475
476
|
export * as ComAtprotoLabelDefs from './types/com/atproto/label/defs.js'
|
|
476
477
|
export * as ComAtprotoLabelQueryLabels from './types/com/atproto/label/queryLabels.js'
|
|
477
478
|
export * as ComAtprotoLabelSubscribeLabels from './types/com/atproto/label/subscribeLabels.js'
|
|
479
|
+
export * as ComAtprotoLexiconResolveLexicon from './types/com/atproto/lexicon/resolveLexicon.js'
|
|
478
480
|
export * as ComAtprotoLexiconSchema from './types/com/atproto/lexicon/schema.js'
|
|
479
481
|
export * as ComAtprotoModerationCreateReport from './types/com/atproto/moderation/createReport.js'
|
|
480
482
|
export * as ComAtprotoModerationDefs from './types/com/atproto/moderation/defs.js'
|
|
@@ -3991,6 +3993,17 @@ export class ComAtprotoLexiconNS {
|
|
|
3991
3993
|
this._client = client
|
|
3992
3994
|
this.schema = new ComAtprotoLexiconSchemaRecord(client)
|
|
3993
3995
|
}
|
|
3996
|
+
|
|
3997
|
+
resolveLexicon(
|
|
3998
|
+
params?: ComAtprotoLexiconResolveLexicon.QueryParams,
|
|
3999
|
+
opts?: ComAtprotoLexiconResolveLexicon.CallOptions,
|
|
4000
|
+
): Promise<ComAtprotoLexiconResolveLexicon.Response> {
|
|
4001
|
+
return this._client
|
|
4002
|
+
.call('com.atproto.lexicon.resolveLexicon', params, undefined, opts)
|
|
4003
|
+
.catch((e) => {
|
|
4004
|
+
throw ComAtprotoLexiconResolveLexicon.toKnownErr(e)
|
|
4005
|
+
})
|
|
4006
|
+
}
|
|
3994
4007
|
}
|
|
3995
4008
|
|
|
3996
4009
|
export class ComAtprotoLexiconSchemaRecord {
|
package/src/client/lexicons.ts
CHANGED
|
@@ -555,10 +555,6 @@ export const schemaDict = {
|
|
|
555
555
|
'hotness',
|
|
556
556
|
],
|
|
557
557
|
},
|
|
558
|
-
prioritizeFollowedUsers: {
|
|
559
|
-
type: 'boolean',
|
|
560
|
-
description: 'Show followed users at the top of all replies.',
|
|
561
|
-
},
|
|
562
558
|
},
|
|
563
559
|
},
|
|
564
560
|
interestsPref: {
|
|
@@ -6799,12 +6795,6 @@ export const schemaDict = {
|
|
|
6799
6795
|
description:
|
|
6800
6796
|
'Reference (AT-URI) to post record. This is the anchor post.',
|
|
6801
6797
|
},
|
|
6802
|
-
prioritizeFollowedUsers: {
|
|
6803
|
-
type: 'boolean',
|
|
6804
|
-
description:
|
|
6805
|
-
'Whether to prioritize posts from followed users. It only has effect when the user is authenticated.',
|
|
6806
|
-
default: false,
|
|
6807
|
-
},
|
|
6808
6798
|
},
|
|
6809
6799
|
},
|
|
6810
6800
|
output: {
|
|
@@ -6886,12 +6876,6 @@ export const schemaDict = {
|
|
|
6886
6876
|
minimum: 0,
|
|
6887
6877
|
maximum: 100,
|
|
6888
6878
|
},
|
|
6889
|
-
prioritizeFollowedUsers: {
|
|
6890
|
-
type: 'boolean',
|
|
6891
|
-
description:
|
|
6892
|
-
'Whether to prioritize posts from followed users. It only has effect when the user is authenticated.',
|
|
6893
|
-
default: false,
|
|
6894
|
-
},
|
|
6895
6879
|
sort: {
|
|
6896
6880
|
type: 'string',
|
|
6897
6881
|
description: 'Sorting for the thread replies.',
|
|
@@ -10531,6 +10515,57 @@ export const schemaDict = {
|
|
|
10531
10515
|
},
|
|
10532
10516
|
},
|
|
10533
10517
|
},
|
|
10518
|
+
ComAtprotoLexiconResolveLexicon: {
|
|
10519
|
+
lexicon: 1,
|
|
10520
|
+
id: 'com.atproto.lexicon.resolveLexicon',
|
|
10521
|
+
defs: {
|
|
10522
|
+
main: {
|
|
10523
|
+
type: 'query',
|
|
10524
|
+
description: 'Resolves an atproto lexicon (NSID) to a schema.',
|
|
10525
|
+
parameters: {
|
|
10526
|
+
type: 'params',
|
|
10527
|
+
properties: {
|
|
10528
|
+
nsid: {
|
|
10529
|
+
format: 'nsid',
|
|
10530
|
+
type: 'string',
|
|
10531
|
+
description: 'The lexicon NSID to resolve.',
|
|
10532
|
+
},
|
|
10533
|
+
},
|
|
10534
|
+
required: ['nsid'],
|
|
10535
|
+
},
|
|
10536
|
+
output: {
|
|
10537
|
+
encoding: 'application/json',
|
|
10538
|
+
schema: {
|
|
10539
|
+
type: 'object',
|
|
10540
|
+
properties: {
|
|
10541
|
+
cid: {
|
|
10542
|
+
type: 'string',
|
|
10543
|
+
format: 'cid',
|
|
10544
|
+
description: 'The CID of the lexicon schema record.',
|
|
10545
|
+
},
|
|
10546
|
+
schema: {
|
|
10547
|
+
type: 'ref',
|
|
10548
|
+
ref: 'lex:com.atproto.lexicon.schema#main',
|
|
10549
|
+
description: 'The resolved lexicon schema record.',
|
|
10550
|
+
},
|
|
10551
|
+
uri: {
|
|
10552
|
+
type: 'string',
|
|
10553
|
+
format: 'at-uri',
|
|
10554
|
+
description: 'The AT-URI of the lexicon schema record.',
|
|
10555
|
+
},
|
|
10556
|
+
},
|
|
10557
|
+
required: ['uri', 'cid', 'schema'],
|
|
10558
|
+
},
|
|
10559
|
+
},
|
|
10560
|
+
errors: [
|
|
10561
|
+
{
|
|
10562
|
+
description: 'No lexicon was resolved for the NSID.',
|
|
10563
|
+
name: 'LexiconNotFound',
|
|
10564
|
+
},
|
|
10565
|
+
],
|
|
10566
|
+
},
|
|
10567
|
+
},
|
|
10568
|
+
},
|
|
10534
10569
|
ComAtprotoLexiconSchema: {
|
|
10535
10570
|
lexicon: 1,
|
|
10536
10571
|
id: 'com.atproto.lexicon.schema',
|
|
@@ -14854,6 +14889,15 @@ export const schemaDict = {
|
|
|
14854
14889
|
description:
|
|
14855
14890
|
"Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.).",
|
|
14856
14891
|
},
|
|
14892
|
+
targetServices: {
|
|
14893
|
+
type: 'array',
|
|
14894
|
+
items: {
|
|
14895
|
+
type: 'string',
|
|
14896
|
+
knownValues: ['appview', 'pds'],
|
|
14897
|
+
},
|
|
14898
|
+
description:
|
|
14899
|
+
'List of services where the takedown should be applied. If empty or not provided, takedown is applied on all configured services.',
|
|
14900
|
+
},
|
|
14857
14901
|
strikeCount: {
|
|
14858
14902
|
type: 'integer',
|
|
14859
14903
|
description:
|
|
@@ -15162,6 +15206,11 @@ export const schemaDict = {
|
|
|
15162
15206
|
description:
|
|
15163
15207
|
'When the strike should expire. If not provided, the strike never expires.',
|
|
15164
15208
|
},
|
|
15209
|
+
isDelivered: {
|
|
15210
|
+
type: 'boolean',
|
|
15211
|
+
description:
|
|
15212
|
+
"Indicates whether the email was successfully delivered to the user's inbox.",
|
|
15213
|
+
},
|
|
15165
15214
|
},
|
|
15166
15215
|
},
|
|
15167
15216
|
modEventDivert: {
|
|
@@ -16915,6 +16964,31 @@ export const schemaDict = {
|
|
|
16915
16964
|
description:
|
|
16916
16965
|
'Names/Keywords of the policies that drove the decision.',
|
|
16917
16966
|
},
|
|
16967
|
+
severityLevel: {
|
|
16968
|
+
type: 'string',
|
|
16969
|
+
description:
|
|
16970
|
+
"Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.).",
|
|
16971
|
+
},
|
|
16972
|
+
strikeCount: {
|
|
16973
|
+
type: 'integer',
|
|
16974
|
+
description:
|
|
16975
|
+
'Number of strikes to assign to the user when takedown is applied.',
|
|
16976
|
+
},
|
|
16977
|
+
strikeExpiresAt: {
|
|
16978
|
+
type: 'string',
|
|
16979
|
+
format: 'datetime',
|
|
16980
|
+
description:
|
|
16981
|
+
'When the strike should expire. If not provided, the strike never expires.',
|
|
16982
|
+
},
|
|
16983
|
+
emailContent: {
|
|
16984
|
+
type: 'string',
|
|
16985
|
+
description: 'Email content to be sent to the user upon takedown.',
|
|
16986
|
+
},
|
|
16987
|
+
emailSubject: {
|
|
16988
|
+
type: 'string',
|
|
16989
|
+
description:
|
|
16990
|
+
'Subject of the email to be sent to the user upon takedown.',
|
|
16991
|
+
},
|
|
16918
16992
|
},
|
|
16919
16993
|
},
|
|
16920
16994
|
schedulingConfig: {
|
|
@@ -19268,6 +19342,7 @@ export const ids = {
|
|
|
19268
19342
|
ComAtprotoLabelDefs: 'com.atproto.label.defs',
|
|
19269
19343
|
ComAtprotoLabelQueryLabels: 'com.atproto.label.queryLabels',
|
|
19270
19344
|
ComAtprotoLabelSubscribeLabels: 'com.atproto.label.subscribeLabels',
|
|
19345
|
+
ComAtprotoLexiconResolveLexicon: 'com.atproto.lexicon.resolveLexicon',
|
|
19271
19346
|
ComAtprotoLexiconSchema: 'com.atproto.lexicon.schema',
|
|
19272
19347
|
ComAtprotoModerationCreateReport: 'com.atproto.moderation.createReport',
|
|
19273
19348
|
ComAtprotoModerationDefs: 'com.atproto.moderation.defs',
|
|
@@ -19,8 +19,6 @@ const id = 'app.bsky.unspecced.getPostThreadOtherV2'
|
|
|
19
19
|
export type QueryParams = {
|
|
20
20
|
/** Reference (AT-URI) to post record. This is the anchor post. */
|
|
21
21
|
anchor: string
|
|
22
|
-
/** Whether to prioritize posts from followed users. It only has effect when the user is authenticated. */
|
|
23
|
-
prioritizeFollowedUsers?: boolean
|
|
24
22
|
}
|
|
25
23
|
export type InputSchema = undefined
|
|
26
24
|
|
|
@@ -26,8 +26,6 @@ export type QueryParams = {
|
|
|
26
26
|
below?: number
|
|
27
27
|
/** Maximum of replies to include at each level of the thread, except for the direct replies to the anchor, which are (NOTE: currently, during unspecced phase) all returned (NOTE: later they might be paginated). */
|
|
28
28
|
branchingFactor?: number
|
|
29
|
-
/** Whether to prioritize posts from followed users. It only has effect when the user is authenticated. */
|
|
30
|
-
prioritizeFollowedUsers?: boolean
|
|
31
29
|
/** Sorting for the thread replies. */
|
|
32
30
|
sort?: 'newest' | 'oldest' | 'top' | (string & {})
|
|
33
31
|
}
|