social.colibri.beta.richtext.facet

colibri.social

Schema Diff

+6 -0

From

CID
bafyreidg37lfegk...
Indexed At
2026-08-23 12:32 UTC
View this version

To

CID
bafyreihx52ar274...
Indexed At
2026-08-25 14:45 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 2 non-breaking changes.

Non-Breaking Changes (2)
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.richtext.facet#list.indent" }
  • AddedEdge AddedEdge { src: "social.colibri.beta.richtext.facet#list", tgt: "social.colibri.beta.richtext.facet#list.indent", kind: "prop", name: Some("indent") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "social.colibri.beta.richtext.facet#list.indent" }

Additional Notes

  • Non-breaking: AddedEdge { src: "social.colibri.beta.richtext.facet#list", tgt: "social.colibri.beta.richtext.facet#list.indent", kind: "prop", name: Some("indent") }
1 1
{
2 2
  "id": "social.colibri.beta.richtext.facet",
3 3
  "defs": {
4 4
    "bold": {
5 5
      "type": "object",
6 6
      "properties": {},
7 7
      "description": "Bold text."
8 8
    },
9 9
    "code": {
10 10
      "type": "object",
11 11
      "properties": {},
12 12
      "description": "Inline code."
13 13
    },
14 14
    "link": {
15 15
      "type": "object",
16 16
      "required": [
17 17
        "uri"
18 18
      ],
19 19
      "properties": {
20 20
        "uri": {
21 21
          "type": "string",
22 22
          "format": "uri",
23 23
          "description": "Where the link points."
24 24
        }
25 25
      },
26 26
      "description": "A hyperlink."
27 27
    },
28 28
    "list": {
29 29
      "type": "object",
30 30
      "required": [
31 31
        "ordered"
32 32
      ],
33 33
      "properties": {
34 +
        "indent": {
35 +
          "type": "integer",
36 +
          "maximum": 10,
37 +
          "minimum": 0,
38 +
          "description": "The nesting depth of the item. 0 is the outermost level."
39 +
        },
34 40
        "ordered": {
35 41
          "type": "boolean",
36 42
          "description": "Whether the list is numbered."
37 43
        }
38 44
      },
39 45
      "description": "A list item line."
40 46
    },
41 47
    "main": {
42 48
      "type": "object",
43 49
      "required": [
44 50
        "index",
45 51
        "features"
46 52
      ],
47 53
      "properties": {
48 54
        "index": {
49 55
          "ref": "#byteSlice",
50 56
          "type": "ref",
51 57
          "description": "The range of the text this facet covers."
52 58
        },
53 59
        "features": {
54 60
          "type": "array",
55 61
          "items": {
56 62
            "refs": [
57 63
              "#bold",
58 64
              "#italic",
59 65
              "#underline",
60 66
              "#strikethrough",
61 67
              "#code",
62 68
              "#codeblock",
63 69
              "#quote",
64 70
              "#heading",
65 71
              "#list",
66 72
              "#subtext",
67 73
              "#spoiler",
68 74
              "#mention",
69 75
              "#role",
70 76
              "#channel",
71 77
              "#link",
72 78
              "#time"
73 79
            ],
74 80
            "type": "union"
75 81
          },
76 82
          "description": "What the range means. A range may carry more than one feature."
77 83
        }
78 84
      },
79 85
      "description": "An annotation over a range of a message's text."
80 86
    },
81 87
    "role": {
82 88
      "type": "object",
83 89
      "required": [
84 90
        "role"
85 91
      ],
86 92
      "properties": {
87 93
        "role": {
88 94
          "type": "string",
89 95
          "format": "record-key",
90 96
          "description": "The mentioned role."
91 97
        }
92 98
      },
93 99
      "description": "A role mention. Roles are only ever written by the community, and a channel space's authority is its community, so the role key alone is unambiguous."
94 100
    },
95 101
    "time": {
96 102
      "type": "object",
97 103
      "required": [
98 104
        "datetime"
99 105
      ],
100 106
      "properties": {
101 107
        "style": {
102 108
          "type": "string",
103 109
          "description": "How to render it.",
104 110
          "knownValues": [
105 111
            "time-short",
106 112
            "time-long",
107 113
            "date-short",
108 114
            "date-long",
109 115
            "datetime-short",
110 116
            "datetime-long",
111 117
            "relative"
112 118
          ]
113 119
        },
114 120
        "datetime": {
115 121
          "type": "string",
116 122
          "format": "datetime",
117 123
          "description": "The instant being referred to."
118 124
        }
119 125
      },
120 126
      "description": "A timestamp rendered in the reader's locale."
121 127
    },
122 128
    "quote": {
123 129
      "type": "object",
124 130
      "properties": {},
125 131
      "description": "A block quote."
126 132
    },
127 133
    "italic": {
128 134
      "type": "object",
129 135
      "properties": {},
130 136
      "description": "Italic text."
131 137
    },
132 138
    "channel": {
133 139
      "type": "object",
134 140
      "required": [
135 141
        "channel"
136 142
      ],
137 143
      "properties": {
138 144
        "channel": {
139 145
          "type": "string",
140 146
          "format": "record-key",
141 147
          "description": "The referenced channel."
142 148
        }
143 149
      },
144 150
      "description": "A channel reference, by the channel's space key within the same community."
145 151
    },
146 152
    "heading": {
147 153
      "type": "object",
148 154
      "required": [
149 155
        "level"
150 156
      ],
151 157
      "properties": {
152 158
        "level": {
153 159
          "type": "integer",
154 160
          "maximum": 3,
155 161
          "minimum": 1,
156 162
          "description": "Heading level, from 1 to 3."
157 163
        }
158 164
      },
159 165
      "description": "A heading line."
160 166
    },
161 167
    "mention": {
162 168
      "type": "object",
163 169
      "required": [
164 170
        "did"
165 171
      ],
166 172
      "properties": {
167 173
        "did": {
168 174
          "type": "string",
169 175
          "format": "did",
170 176
          "description": "The mentioned user."
171 177
        }
172 178
      },
173 179
      "description": "A user mention."
174 180
    },
175 181
    "spoiler": {
176 182
      "type": "object",
177 183
      "properties": {},
178 184
      "description": "Text hidden until revealed."
179 185
    },
180 186
    "subtext": {
181 187
      "type": "object",
182 188
      "properties": {},
183 189
      "description": "Small, muted text."
184 190
    },
185 191
    "byteSlice": {
186 192
      "type": "object",
187 193
      "required": [
188 194
        "byteStart",
189 195
        "byteEnd"
190 196
      ],
191 197
      "properties": {
192 198
        "byteEnd": {
193 199
          "type": "integer",
194 200
          "minimum": 0,
195 201
          "description": "Byte after the range, exclusive."
196 202
        },
197 203
        "byteStart": {
198 204
          "type": "integer",
199 205
          "minimum": 0,
200 206
          "description": "First byte of the range, inclusive."
201 207
        }
202 208
      },
203 209
      "description": "The range a feature applies to, as zero-based byte offsets into the UTF-8 encoded text. Start is inclusive, end is exclusive."
204 210
    },
205 211
    "codeblock": {
206 212
      "type": "object",
207 213
      "properties": {
208 214
        "lang": {
209 215
          "type": "string",
210 216
          "maxLength": 32,
211 217
          "description": "Language hint."
212 218
        }
213 219
      },
214 220
      "description": "A multi-line code block."
215 221
    },
216 222
    "underline": {
217 223
      "type": "object",
218 224
      "properties": {},
219 225
      "description": "Underlined text."
220 226
    },
221 227
    "strikethrough": {
222 228
      "type": "object",
223 229
      "properties": {},
224 230
      "description": "Struck-through text."
225 231
    }
226 232
  },
227 233
  "$type": "com.atproto.lexicon.schema",
228 234
  "lexicon": 1
229 235
}

Compare Other Versions

Lexicon Garden

@