diff --git a/lex/lexicons.ts b/lex/lexicons.ts index 1c3fceb..fc7ba8f 100644 --- a/lex/lexicons.ts +++ b/lex/lexicons.ts @@ -20719,10 +20719,6 @@ export const schemaDict = { "type": "integer", "minimum": 0, }, - "lookCount": { - "type": "integer", - "minimum": 0, - }, "viewer": { "type": "ref", "ref": "lex:so.sprk.labeler.defs#labelerViewerState", @@ -20770,10 +20766,6 @@ export const schemaDict = { "type": "integer", "minimum": 0, }, - "lookCount": { - "type": "integer", - "minimum": 0, - }, "viewer": { "type": "ref", "ref": "lex:so.sprk.labeler.defs#labelerViewerState", @@ -20789,6 +20781,33 @@ export const schemaDict = { "ref": "lex:com.atproto.label.defs#label", }, }, + "reasonTypes": { + "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.", + "type": "array", + "items": { + "type": "ref", + "ref": "lex:com.atproto.moderation.defs#reasonType", + }, + }, + "subjectTypes": { + "description": + "The set of subject types (account, record, etc) this service accepts reports on.", + "type": "array", + "items": { + "type": "ref", + "ref": "lex:com.atproto.moderation.defs#subjectType", + }, + }, + "subjectCollections": { + "type": "array", + "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.", + "items": { + "type": "string", + "format": "nsid", + }, + }, }, }, "labelerViewerState": { @@ -20798,10 +20817,6 @@ export const schemaDict = { "type": "string", "format": "at-uri", }, - "look": { - "type": "string", - "format": "at-uri", - }, }, }, "labelerPolicies": { @@ -20861,6 +20876,33 @@ export const schemaDict = { "type": "string", "format": "datetime", }, + "reasonTypes": { + "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.", + "type": "array", + "items": { + "type": "ref", + "ref": "lex:com.atproto.moderation.defs#reasonType", + }, + }, + "subjectTypes": { + "description": + "The set of subject types (account, record, etc) this service accepts reports on.", + "type": "array", + "items": { + "type": "ref", + "ref": "lex:com.atproto.moderation.defs#subjectType", + }, + }, + "subjectCollections": { + "type": "array", + "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.", + "items": { + "type": "string", + "format": "nsid", + }, + }, }, }, }, diff --git a/lex/types/so/sprk/labeler/defs.ts b/lex/types/so/sprk/labeler/defs.ts index 2dcadb9..b3bdcc4 100644 --- a/lex/types/so/sprk/labeler/defs.ts +++ b/lex/types/so/sprk/labeler/defs.ts @@ -5,6 +5,7 @@ import { validate as _validate } from "../../../../lexicons.ts"; import { is$typed as _is$typed } from "../../../../util.ts"; import type * as SoSprkActorDefs from "../actor/defs.ts"; import type * as ComAtprotoLabelDefs from "../../../com/atproto/label/defs.ts"; +import type * as ComAtprotoModerationDefs from "../../../com/atproto/moderation/defs.ts"; const is$typed = _is$typed, validate = _validate; const id = "so.sprk.labeler.defs"; @@ -15,7 +16,6 @@ export interface LabelerView { cid: string; creator: SoSprkActorDefs.ProfileView; likeCount?: number; - lookCount?: number; viewer?: LabelerViewerState; indexedAt: string; labels?: (ComAtprotoLabelDefs.Label)[]; @@ -38,10 +38,15 @@ export interface LabelerViewDetailed { creator: SoSprkActorDefs.ProfileView; policies: LabelerPolicies; likeCount?: number; - lookCount?: number; viewer?: LabelerViewerState; indexedAt: string; labels?: (ComAtprotoLabelDefs.Label)[]; + /** 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. */ + reasonTypes?: (ComAtprotoModerationDefs.ReasonType)[]; + /** The set of subject types (account, record, etc) this service accepts reports on. */ + subjectTypes?: (ComAtprotoModerationDefs.SubjectType)[]; + /** 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. */ + subjectCollections?: (string)[]; } const hashLabelerViewDetailed = "labelerViewDetailed"; @@ -57,7 +62,6 @@ export function validateLabelerViewDetailed(v: V) { export interface LabelerViewerState { $type?: "so.sprk.labeler.defs#labelerViewerState"; like?: string; - look?: string; } const hashLabelerViewerState = "labelerViewerState"; diff --git a/lex/types/so/sprk/labeler/service.ts b/lex/types/so/sprk/labeler/service.ts index 26e3d9a..ae2a2b6 100644 --- a/lex/types/so/sprk/labeler/service.ts +++ b/lex/types/so/sprk/labeler/service.ts @@ -5,6 +5,7 @@ import { validate as _validate } from "../../../../lexicons.ts"; import { type $Typed, is$typed as _is$typed } from "../../../../util.ts"; import type * as SoSprkLabelerDefs from "./defs.ts"; import type * as ComAtprotoLabelDefs from "../../../com/atproto/label/defs.ts"; +import type * as ComAtprotoModerationDefs from "../../../com/atproto/moderation/defs.ts"; const is$typed = _is$typed, validate = _validate; const id = "so.sprk.labeler.service"; @@ -14,6 +15,12 @@ export interface Record { policies: SoSprkLabelerDefs.LabelerPolicies; labels?: $Typed | { $type: string }; createdAt: string; + /** 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. */ + reasonTypes?: (ComAtprotoModerationDefs.ReasonType)[]; + /** The set of subject types (account, record, etc) this service accepts reports on. */ + subjectTypes?: (ComAtprotoModerationDefs.SubjectType)[]; + /** 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. */ + subjectCollections?: (string)[]; [k: string]: unknown; } diff --git a/lexicons/so/sprk/labeler/defs.json b/lexicons/so/sprk/labeler/defs.json index cce8e7d..6a3807c 100644 --- a/lexicons/so/sprk/labeler/defs.json +++ b/lexicons/so/sprk/labeler/defs.json @@ -10,7 +10,6 @@ "cid": { "type": "string", "format": "cid" }, "creator": { "type": "ref", "ref": "so.sprk.actor.defs#profileView" }, "likeCount": { "type": "integer", "minimum": 0 }, - "lookCount": { "type": "integer", "minimum": 0 }, "viewer": { "type": "ref", "ref": "#labelerViewerState" }, "indexedAt": { "type": "string", "format": "datetime" }, "labels": { @@ -31,20 +30,39 @@ "ref": "so.sprk.labeler.defs#labelerPolicies" }, "likeCount": { "type": "integer", "minimum": 0 }, - "lookCount": { "type": "integer", "minimum": 0 }, "viewer": { "type": "ref", "ref": "#labelerViewerState" }, "indexedAt": { "type": "string", "format": "datetime" }, "labels": { "type": "array", "items": { "type": "ref", "ref": "com.atproto.label.defs#label" } + }, + "reasonTypes": { + "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.", + "type": "array", + "items": { + "type": "ref", + "ref": "com.atproto.moderation.defs#reasonType" + } + }, + "subjectTypes": { + "description": "The set of subject types (account, record, etc) this service accepts reports on.", + "type": "array", + "items": { + "type": "ref", + "ref": "com.atproto.moderation.defs#subjectType" + } + }, + "subjectCollections": { + "type": "array", + "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.", + "items": { "type": "string", "format": "nsid" } } } }, "labelerViewerState": { "type": "object", "properties": { - "like": { "type": "string", "format": "at-uri" }, - "look": { "type": "string", "format": "at-uri" } + "like": { "type": "string", "format": "at-uri" } } }, "labelerPolicies": { diff --git a/lexicons/so/sprk/labeler/service.json b/lexicons/so/sprk/labeler/service.json index 62d5de0..87c9a0c 100644 --- a/lexicons/so/sprk/labeler/service.json +++ b/lexicons/so/sprk/labeler/service.json @@ -18,7 +18,28 @@ "type": "union", "refs": ["com.atproto.label.defs#selfLabels"] }, - "createdAt": { "type": "string", "format": "datetime" } + "createdAt": { "type": "string", "format": "datetime" }, + "reasonTypes": { + "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.", + "type": "array", + "items": { + "type": "ref", + "ref": "com.atproto.moderation.defs#reasonType" + } + }, + "subjectTypes": { + "description": "The set of subject types (account, record, etc) this service accepts reports on.", + "type": "array", + "items": { + "type": "ref", + "ref": "com.atproto.moderation.defs#subjectType" + } + }, + "subjectCollections": { + "type": "array", + "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.", + "items": { "type": "string", "format": "nsid" } + } } } }