···2071920719 "type": "integer",
2072020720 "minimum": 0,
2072120721 },
2072220722- "lookCount": {
2072320723- "type": "integer",
2072420724- "minimum": 0,
2072520725- },
2072620722 "viewer": {
2072720723 "type": "ref",
2072820724 "ref": "lex:so.sprk.labeler.defs#labelerViewerState",
···2077020766 "type": "integer",
2077120767 "minimum": 0,
2077220768 },
2077320773- "lookCount": {
2077420774- "type": "integer",
2077520775- "minimum": 0,
2077620776- },
2077720769 "viewer": {
2077820770 "type": "ref",
2077920771 "ref": "lex:so.sprk.labeler.defs#labelerViewerState",
···2078920781 "ref": "lex:com.atproto.label.defs#label",
2079020782 },
2079120783 },
2078420784+ "reasonTypes": {
2078520785+ "description":
2078620786+ "The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed.",
2078720787+ "type": "array",
2078820788+ "items": {
2078920789+ "type": "ref",
2079020790+ "ref": "lex:com.atproto.moderation.defs#reasonType",
2079120791+ },
2079220792+ },
2079320793+ "subjectTypes": {
2079420794+ "description":
2079520795+ "The set of subject types (account, record, etc) this service accepts reports on.",
2079620796+ "type": "array",
2079720797+ "items": {
2079820798+ "type": "ref",
2079920799+ "ref": "lex:com.atproto.moderation.defs#subjectType",
2080020800+ },
2080120801+ },
2080220802+ "subjectCollections": {
2080320803+ "type": "array",
2080420804+ "description":
2080520805+ "Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type.",
2080620806+ "items": {
2080720807+ "type": "string",
2080820808+ "format": "nsid",
2080920809+ },
2081020810+ },
2079220811 },
2079320812 },
2079420813 "labelerViewerState": {
2079520814 "type": "object",
2079620815 "properties": {
2079720816 "like": {
2079820798- "type": "string",
2079920799- "format": "at-uri",
2080020800- },
2080120801- "look": {
2080220817 "type": "string",
2080320818 "format": "at-uri",
2080420819 },
···2086020875 "createdAt": {
2086120876 "type": "string",
2086220877 "format": "datetime",
2087820878+ },
2087920879+ "reasonTypes": {
2088020880+ "description":
2088120881+ "The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed.",
2088220882+ "type": "array",
2088320883+ "items": {
2088420884+ "type": "ref",
2088520885+ "ref": "lex:com.atproto.moderation.defs#reasonType",
2088620886+ },
2088720887+ },
2088820888+ "subjectTypes": {
2088920889+ "description":
2089020890+ "The set of subject types (account, record, etc) this service accepts reports on.",
2089120891+ "type": "array",
2089220892+ "items": {
2089320893+ "type": "ref",
2089420894+ "ref": "lex:com.atproto.moderation.defs#subjectType",
2089520895+ },
2089620896+ },
2089720897+ "subjectCollections": {
2089820898+ "type": "array",
2089920899+ "description":
2090020900+ "Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type.",
2090120901+ "items": {
2090220902+ "type": "string",
2090320903+ "format": "nsid",
2090420904+ },
2086320905 },
2086420906 },
2086520907 },
+7-3
lex/types/so/sprk/labeler/defs.ts
···55import { is$typed as _is$typed } from "../../../../util.ts";
66import type * as SoSprkActorDefs from "../actor/defs.ts";
77import type * as ComAtprotoLabelDefs from "../../../com/atproto/label/defs.ts";
88+import type * as ComAtprotoModerationDefs from "../../../com/atproto/moderation/defs.ts";
89910const is$typed = _is$typed, validate = _validate;
1011const id = "so.sprk.labeler.defs";
···1516 cid: string;
1617 creator: SoSprkActorDefs.ProfileView;
1718 likeCount?: number;
1818- lookCount?: number;
1919 viewer?: LabelerViewerState;
2020 indexedAt: string;
2121 labels?: (ComAtprotoLabelDefs.Label)[];
···3838 creator: SoSprkActorDefs.ProfileView;
3939 policies: LabelerPolicies;
4040 likeCount?: number;
4141- lookCount?: number;
4241 viewer?: LabelerViewerState;
4342 indexedAt: string;
4443 labels?: (ComAtprotoLabelDefs.Label)[];
4444+ /** The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed. */
4545+ reasonTypes?: (ComAtprotoModerationDefs.ReasonType)[];
4646+ /** The set of subject types (account, record, etc) this service accepts reports on. */
4747+ subjectTypes?: (ComAtprotoModerationDefs.SubjectType)[];
4848+ /** Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type. */
4949+ subjectCollections?: (string)[];
4550}
46514752const hashLabelerViewDetailed = "labelerViewDetailed";
···5762export interface LabelerViewerState {
5863 $type?: "so.sprk.labeler.defs#labelerViewerState";
5964 like?: string;
6060- look?: string;
6165}
62666367const hashLabelerViewerState = "labelerViewerState";
+7
lex/types/so/sprk/labeler/service.ts
···55import { type $Typed, is$typed as _is$typed } from "../../../../util.ts";
66import type * as SoSprkLabelerDefs from "./defs.ts";
77import type * as ComAtprotoLabelDefs from "../../../com/atproto/label/defs.ts";
88+import type * as ComAtprotoModerationDefs from "../../../com/atproto/moderation/defs.ts";
89910const is$typed = _is$typed, validate = _validate;
1011const id = "so.sprk.labeler.service";
···1415 policies: SoSprkLabelerDefs.LabelerPolicies;
1516 labels?: $Typed<ComAtprotoLabelDefs.SelfLabels> | { $type: string };
1617 createdAt: string;
1818+ /** The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed. */
1919+ reasonTypes?: (ComAtprotoModerationDefs.ReasonType)[];
2020+ /** The set of subject types (account, record, etc) this service accepts reports on. */
2121+ subjectTypes?: (ComAtprotoModerationDefs.SubjectType)[];
2222+ /** Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type. */
2323+ subjectCollections?: (string)[];
1724 [k: string]: unknown;
1825}
1926
+22-4
lexicons/so/sprk/labeler/defs.json
···1010 "cid": { "type": "string", "format": "cid" },
1111 "creator": { "type": "ref", "ref": "so.sprk.actor.defs#profileView" },
1212 "likeCount": { "type": "integer", "minimum": 0 },
1313- "lookCount": { "type": "integer", "minimum": 0 },
1413 "viewer": { "type": "ref", "ref": "#labelerViewerState" },
1514 "indexedAt": { "type": "string", "format": "datetime" },
1615 "labels": {
···3130 "ref": "so.sprk.labeler.defs#labelerPolicies"
3231 },
3332 "likeCount": { "type": "integer", "minimum": 0 },
3434- "lookCount": { "type": "integer", "minimum": 0 },
3533 "viewer": { "type": "ref", "ref": "#labelerViewerState" },
3634 "indexedAt": { "type": "string", "format": "datetime" },
3735 "labels": {
3836 "type": "array",
3937 "items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
3838+ },
3939+ "reasonTypes": {
4040+ "description": "The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed.",
4141+ "type": "array",
4242+ "items": {
4343+ "type": "ref",
4444+ "ref": "com.atproto.moderation.defs#reasonType"
4545+ }
4646+ },
4747+ "subjectTypes": {
4848+ "description": "The set of subject types (account, record, etc) this service accepts reports on.",
4949+ "type": "array",
5050+ "items": {
5151+ "type": "ref",
5252+ "ref": "com.atproto.moderation.defs#subjectType"
5353+ }
5454+ },
5555+ "subjectCollections": {
5656+ "type": "array",
5757+ "description": "Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type.",
5858+ "items": { "type": "string", "format": "nsid" }
4059 }
4160 }
4261 },
4362 "labelerViewerState": {
4463 "type": "object",
4564 "properties": {
4646- "like": { "type": "string", "format": "at-uri" },
4747- "look": { "type": "string", "format": "at-uri" }
6565+ "like": { "type": "string", "format": "at-uri" }
4866 }
4967 },
5068 "labelerPolicies": {
+22-1
lexicons/so/sprk/labeler/service.json
···1818 "type": "union",
1919 "refs": ["com.atproto.label.defs#selfLabels"]
2020 },
2121- "createdAt": { "type": "string", "format": "datetime" }
2121+ "createdAt": { "type": "string", "format": "datetime" },
2222+ "reasonTypes": {
2323+ "description": "The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed.",
2424+ "type": "array",
2525+ "items": {
2626+ "type": "ref",
2727+ "ref": "com.atproto.moderation.defs#reasonType"
2828+ }
2929+ },
3030+ "subjectTypes": {
3131+ "description": "The set of subject types (account, record, etc) this service accepts reports on.",
3232+ "type": "array",
3333+ "items": {
3434+ "type": "ref",
3535+ "ref": "com.atproto.moderation.defs#subjectType"
3636+ }
3737+ },
3838+ "subjectCollections": {
3939+ "type": "array",
4040+ "description": "Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type.",
4141+ "items": { "type": "string", "format": "nsid" }
4242+ }
2243 }
2344 }
2445 }