{
"id": "games.gamesgamesgamesgames.richtext.facet",
"defs": {
"tag": {
"type": "object",
"required": [
"tag"
],
"properties": {
"tag": {
"type": "string",
"maxLength": 640,
"maxGraphemes": 64
}
},
"description": "Facet feature for a hashtag."
},
"bold": {
"type": "object",
"properties": {},
"description": "Facet feature for bold text."
},
"link": {
"type": "object",
"required": [
"uri"
],
"properties": {
"uri": {
"type": "string",
"format": "uri"
}
},
"description": "Facet feature for a URL."
},
"main": {
"type": "object",
"required": [
"index",
"features"
],
"properties": {
"index": {
"ref": "#byteSlice",
"type": "ref"
},
"features": {
"type": "array",
"items": {
"refs": [
"#mention",
"#link",
"#tag",
"#bold",
"#italic",
"#heading",
"#listItem",
"#image",
"#video"
],
"type": "union"
}
}
},
"description": "Annotation of a sub-string within rich text."
},
"image": {
"type": "object",
"required": [
"blob"
],
"properties": {
"alt": {
"type": "string"
},
"blob": {
"type": "blob",
"accept": [
"image/*"
],
"maxSize": 10000000
},
"width": {
"type": "integer"
},
"height": {
"type": "integer"
}
},
"description": "Facet feature for an inline image."
},
"video": {
"type": "object",
"properties": {
"alt": {
"type": "string"
},
"uri": {
"type": "string",
"format": "uri"
},
"blob": {
"type": "blob",
"accept": [
"video/*"
],
"maxSize": 200000000
}
},
"description": "Facet feature for an inline video."
},
"italic": {
"type": "object",
"properties": {},
"description": "Facet feature for italic text."
},
"heading": {
"type": "object",
"required": [
"level"
],
"properties": {
"level": {
"type": "integer",
"maximum": 6,
"minimum": 1
}
},
"description": "Facet feature for a section heading."
},
"mention": {
"type": "object",
"required": [
"did"
],
"properties": {
"did": {
"type": "string",
"format": "did"
}
},
"description": "Facet feature for mention of another account."
},
"listItem": {
"type": "object",
"properties": {
"depth": {
"type": "integer",
"default": 0,
"minimum": 0
},
"ordered": {
"type": "boolean"
}
},
"description": "Facet feature marking text as a list item."
},
"byteSlice": {
"type": "object",
"required": [
"byteStart",
"byteEnd"
],
"properties": {
"byteEnd": {
"type": "integer",
"minimum": 0
},
"byteStart": {
"type": "integer",
"minimum": 0
}
},
"description": "Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}