add @bsky.app/sdk + @atproto/lex, vendor lexicons, codegen via lex cli
This commit is contained in:
@@ -0,0 +1,159 @@
|
||||
{
|
||||
"lexicon": 1,
|
||||
"id": "com.atproto.label.defs",
|
||||
"defs": {
|
||||
"label": {
|
||||
"type": "object",
|
||||
"description": "Metadata tag on an atproto resource (eg, repo or record).",
|
||||
"required": ["src", "uri", "val", "cts"],
|
||||
"properties": {
|
||||
"ver": {
|
||||
"type": "integer",
|
||||
"description": "The AT Protocol version of the label object."
|
||||
},
|
||||
"src": {
|
||||
"type": "string",
|
||||
"format": "did",
|
||||
"description": "DID of the actor who created this label."
|
||||
},
|
||||
"uri": {
|
||||
"type": "string",
|
||||
"format": "uri",
|
||||
"description": "AT URI of the record, repository (account), or other resource that this label applies to."
|
||||
},
|
||||
"cid": {
|
||||
"type": "string",
|
||||
"format": "cid",
|
||||
"description": "Optionally, CID specifying the specific version of 'uri' resource this label applies to."
|
||||
},
|
||||
"val": {
|
||||
"type": "string",
|
||||
"maxLength": 128,
|
||||
"description": "The short string name of the value or type of this label."
|
||||
},
|
||||
"neg": {
|
||||
"type": "boolean",
|
||||
"description": "If true, this is a negation label, overwriting a previous label."
|
||||
},
|
||||
"cts": {
|
||||
"type": "string",
|
||||
"format": "datetime",
|
||||
"description": "Timestamp when this label was created."
|
||||
},
|
||||
"exp": {
|
||||
"type": "string",
|
||||
"format": "datetime",
|
||||
"description": "Timestamp at which this label expires (no longer applies)."
|
||||
},
|
||||
"sig": {
|
||||
"type": "bytes",
|
||||
"description": "Signature of dag-cbor encoded label."
|
||||
}
|
||||
}
|
||||
},
|
||||
"selfLabels": {
|
||||
"type": "object",
|
||||
"description": "Metadata tags on an atproto record, published by the author within the record.",
|
||||
"required": ["values"],
|
||||
"properties": {
|
||||
"values": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "ref",
|
||||
"ref": "#selfLabel"
|
||||
},
|
||||
"maxLength": 10
|
||||
}
|
||||
}
|
||||
},
|
||||
"selfLabel": {
|
||||
"type": "object",
|
||||
"description": "Metadata tag on an atproto record, published by the author within the record. Note that schemas should use #selfLabels, not #selfLabel.",
|
||||
"required": ["val"],
|
||||
"properties": {
|
||||
"val": {
|
||||
"type": "string",
|
||||
"maxLength": 128,
|
||||
"description": "The short string name of the value or type of this label."
|
||||
}
|
||||
}
|
||||
},
|
||||
"labelValueDefinition": {
|
||||
"type": "object",
|
||||
"description": "Declares a label value and its expected interpretations and behaviors.",
|
||||
"required": ["identifier", "severity", "blurs", "locales"],
|
||||
"properties": {
|
||||
"identifier": {
|
||||
"type": "string",
|
||||
"description": "The value of the label being defined. Must only include lowercase ascii and the '-' character ([a-z-]+).",
|
||||
"maxLength": 100,
|
||||
"maxGraphemes": 100
|
||||
},
|
||||
"severity": {
|
||||
"type": "string",
|
||||
"description": "How should a client visually convey this label? 'inform' means neutral and informational; 'alert' means negative and warning; 'none' means show nothing.",
|
||||
"knownValues": ["inform", "alert", "none"]
|
||||
},
|
||||
"blurs": {
|
||||
"type": "string",
|
||||
"description": "What should this label hide in the UI, if applied? 'content' hides all of the target; 'media' hides the images/video/audio; 'none' hides nothing.",
|
||||
"knownValues": ["content", "media", "none"]
|
||||
},
|
||||
"defaultSetting": {
|
||||
"type": "string",
|
||||
"description": "The default setting for this label.",
|
||||
"knownValues": ["ignore", "warn", "hide"],
|
||||
"default": "warn"
|
||||
},
|
||||
"adultOnly": {
|
||||
"type": "boolean",
|
||||
"description": "Does the user need to have adult content enabled in order to configure this label?"
|
||||
},
|
||||
"locales": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "ref",
|
||||
"ref": "#labelValueDefinitionStrings"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"labelValueDefinitionStrings": {
|
||||
"type": "object",
|
||||
"description": "Strings which describe the label in the UI, localized into a specific language.",
|
||||
"required": ["lang", "name", "description"],
|
||||
"properties": {
|
||||
"lang": {
|
||||
"type": "string",
|
||||
"description": "The code of the language these strings are written in.",
|
||||
"format": "language"
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "A short human-readable name for the label.",
|
||||
"maxGraphemes": 64,
|
||||
"maxLength": 640
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "A longer description of what the label means and why it might be applied.",
|
||||
"maxGraphemes": 10000,
|
||||
"maxLength": 100000
|
||||
}
|
||||
}
|
||||
},
|
||||
"labelValue": {
|
||||
"type": "string",
|
||||
"knownValues": [
|
||||
"!hide",
|
||||
"!warn",
|
||||
"!no-unauthenticated",
|
||||
"porn",
|
||||
"sexual",
|
||||
"nudity",
|
||||
"graphic-media",
|
||||
"bot"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"lexicon": 1,
|
||||
"id": "com.atproto.label.queryLabels",
|
||||
"defs": {
|
||||
"main": {
|
||||
"type": "query",
|
||||
"description": "Find labels relevant to the provided AT-URI patterns. Public endpoint for moderation services, though may return different or additional results with auth.",
|
||||
"parameters": {
|
||||
"type": "params",
|
||||
"required": ["uriPatterns"],
|
||||
"properties": {
|
||||
"uriPatterns": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "List of AT URI patterns to match (boolean 'OR'). Each may be a prefix (ending with '*'; will match inclusive of the string leading to '*'), or a full URI."
|
||||
},
|
||||
"sources": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"format": "did"
|
||||
},
|
||||
"description": "Optional list of label sources (DIDs) to filter on."
|
||||
},
|
||||
"limit": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 250,
|
||||
"default": 50
|
||||
},
|
||||
"cursor": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"output": {
|
||||
"encoding": "application/json",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"required": ["labels"],
|
||||
"properties": {
|
||||
"cursor": {
|
||||
"type": "string"
|
||||
},
|
||||
"labels": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "ref",
|
||||
"ref": "com.atproto.label.defs#label"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"lexicon": 1,
|
||||
"id": "com.atproto.label.subscribeLabels",
|
||||
"defs": {
|
||||
"main": {
|
||||
"type": "subscription",
|
||||
"description": "Subscribe to stream of labels (and negations). Public endpoint implemented by mod services. Uses same sequencing scheme as repo event stream.",
|
||||
"parameters": {
|
||||
"type": "params",
|
||||
"properties": {
|
||||
"cursor": {
|
||||
"type": "integer",
|
||||
"description": "The last known event seq number to backfill from."
|
||||
}
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
"schema": {
|
||||
"type": "union",
|
||||
"refs": ["#labels", "#info"]
|
||||
}
|
||||
},
|
||||
"errors": [
|
||||
{
|
||||
"name": "FutureCursor"
|
||||
}
|
||||
]
|
||||
},
|
||||
"labels": {
|
||||
"type": "object",
|
||||
"required": ["seq", "labels"],
|
||||
"properties": {
|
||||
"seq": {
|
||||
"type": "integer"
|
||||
},
|
||||
"labels": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "ref",
|
||||
"ref": "com.atproto.label.defs#label"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"info": {
|
||||
"type": "object",
|
||||
"required": ["name"],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"knownValues": ["OutdatedCursor"]
|
||||
},
|
||||
"message": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user