532681d5c0
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
91 lines
2.4 KiB
JSON
91 lines
2.4 KiB
JSON
{
|
|
"id": "app.bsky.richtext.facet",
|
|
"defs": {
|
|
"tag": {
|
|
"type": "object",
|
|
"required": [
|
|
"tag"
|
|
],
|
|
"properties": {
|
|
"tag": {
|
|
"type": "string",
|
|
"maxLength": 640,
|
|
"maxGraphemes": 64
|
|
}
|
|
},
|
|
"description": "Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags')."
|
|
},
|
|
"link": {
|
|
"type": "object",
|
|
"required": [
|
|
"uri"
|
|
],
|
|
"properties": {
|
|
"uri": {
|
|
"type": "string",
|
|
"format": "uri"
|
|
}
|
|
},
|
|
"description": "Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL."
|
|
},
|
|
"main": {
|
|
"type": "object",
|
|
"required": [
|
|
"index",
|
|
"features"
|
|
],
|
|
"properties": {
|
|
"index": {
|
|
"ref": "#byteSlice",
|
|
"type": "ref"
|
|
},
|
|
"features": {
|
|
"type": "array",
|
|
"items": {
|
|
"refs": [
|
|
"#mention",
|
|
"#link",
|
|
"#tag"
|
|
],
|
|
"type": "union"
|
|
}
|
|
}
|
|
},
|
|
"description": "Annotation of a sub-string within rich text."
|
|
},
|
|
"mention": {
|
|
"type": "object",
|
|
"required": [
|
|
"did"
|
|
],
|
|
"properties": {
|
|
"did": {
|
|
"type": "string",
|
|
"format": "did"
|
|
}
|
|
},
|
|
"description": "Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID."
|
|
},
|
|
"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. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets."
|
|
}
|
|
},
|
|
"$type": "com.atproto.lexicon.schema",
|
|
"lexicon": 1
|
|
}
|