com.suibari.nagi.putDraft

suibari.com

Schema Diff

+0 -4

From

CID
bafyreihkxwege7j...
Indexed At
2026-08-27 00:10 UTC
View this version

To

CID
bafyreibw46my5a5...
Indexed At
2026-09-23 13:20 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 4 non-breaking changes.

Non-Breaking Changes (4)
  • ConstraintRemoved ConstraintRemoved { vertex_id: "com.suibari.nagi.putDraft#draftContent.text", sort: "maxGraphemes" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "com.suibari.nagi.putDraft#draftContent.text", sort: "maxLength" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "com.suibari.nagi.putDraft#draftView.text", sort: "maxLength" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "com.suibari.nagi.putDraft#draftView.text", sort: "maxGraphemes" }

Migration Guidance

Constraint Changes

  • ConstraintRemoved ConstraintRemoved { vertex_id: "com.suibari.nagi.putDraft#draftView.text", sort: "maxGraphemes" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "com.suibari.nagi.putDraft#draftView.text", sort: "maxLength" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "com.suibari.nagi.putDraft#draftContent.text", sort: "maxLength" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "com.suibari.nagi.putDraft#draftContent.text", sort: "maxGraphemes" }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "channel": {
5 5
      "properties": {
6 6
        "end": {
7 7
          "minimum": 0,
8 8
          "type": "integer"
9 9
        },
10 10
        "name": {
11 11
          "maxLength": 300,
12 12
          "type": "string"
13 13
        },
14 14
        "start": {
15 15
          "minimum": 0,
16 16
          "type": "integer"
17 17
        },
18 18
        "uri": {
19 19
          "format": "at-uri",
20 20
          "maxLength": 2048,
21 21
          "type": "string"
22 22
        }
23 23
      },
24 24
      "required": [
25 25
        "start",
26 26
        "end",
27 27
        "uri",
28 28
        "name"
29 29
      ],
30 30
      "type": "object"
31 31
    },
32 32
    "draftContent": {
33 33
      "properties": {
34 34
        "channels": {
35 35
          "items": {
36 36
            "ref": "#channel",
37 37
            "type": "ref"
38 38
          },
39 39
          "maxLength": 100,
40 40
          "type": "array"
41 41
        },
42 42
        "dismissedUrls": {
43 43
          "items": {
44 44
            "maxLength": 2048,
45 45
            "type": "string"
46 46
          },
47 47
          "maxLength": 100,
48 48
          "type": "array"
49 49
        },
50 50
        "emojis": {
51 51
          "items": {
52 52
            "ref": "#emoji",
53 53
            "type": "ref"
54 54
          },
55 55
          "maxLength": 100,
56 56
          "type": "array"
57 57
        },
58 58
        "linkCards": {
59 59
          "items": {
60 60
            "ref": "#linkCard",
61 61
            "type": "ref"
62 62
          },
63 63
          "maxLength": 4,
64 64
          "type": "array"
65 65
        },
66 66
        "mentions": {
67 67
          "items": {
68 68
            "ref": "#mention",
69 69
            "type": "ref"
70 70
          },
71 71
          "maxLength": 100,
72 72
          "type": "array"
73 73
        },
74 74
        "quoteUri": {
75 75
          "format": "at-uri",
76 76
          "maxLength": 2048,
77 77
          "type": "string"
78 78
        },
79 79
        "text": {
80 -
          "maxGraphemes": 3000,
81 -
          "maxLength": 30000,
82 80
          "type": "string"
83 81
        }
84 82
      },
85 83
      "required": [
86 84
        "text",
87 85
        "mentions",
88 86
        "channels",
89 87
        "emojis",
90 88
        "linkCards",
91 89
        "dismissedUrls"
92 90
      ],
93 91
      "type": "object"
94 92
    },
95 93
    "draftInput": {
96 94
      "properties": {
97 95
        "content": {
98 96
          "ref": "#draftContent",
99 97
          "type": "ref"
100 98
        },
101 99
        "createdAt": {
102 100
          "format": "datetime",
103 101
          "type": "string"
104 102
        },
105 103
        "id": {
106 104
          "maxLength": 36,
107 105
          "type": "string"
108 106
        },
109 107
        "updatedAt": {
110 108
          "format": "datetime",
111 109
          "type": "string"
112 110
        }
113 111
      },
114 112
      "required": [
115 113
        "id",
116 114
        "content",
117 115
        "createdAt",
118 116
        "updatedAt"
119 117
      ],
120 118
      "type": "object"
121 119
    },
122 120
    "draftView": {
123 121
      "properties": {
124 122
        "channels": {
125 123
          "items": {
126 124
            "ref": "#channel",
127 125
            "type": "ref"
128 126
          },
129 127
          "maxLength": 100,
130 128
          "type": "array"
131 129
        },
132 130
        "createdAt": {
133 131
          "format": "datetime",
134 132
          "type": "string"
135 133
        },
136 134
        "dismissedUrls": {
137 135
          "items": {
138 136
            "maxLength": 2048,
139 137
            "type": "string"
140 138
          },
141 139
          "maxLength": 100,
142 140
          "type": "array"
143 141
        },
144 142
        "emojis": {
145 143
          "items": {
146 144
            "ref": "#emoji",
147 145
            "type": "ref"
148 146
          },
149 147
          "maxLength": 100,
150 148
          "type": "array"
151 149
        },
152 150
        "id": {
153 151
          "maxLength": 36,
154 152
          "type": "string"
155 153
        },
156 154
        "linkCards": {
157 155
          "items": {
158 156
            "ref": "#linkCard",
159 157
            "type": "ref"
160 158
          },
161 159
          "maxLength": 4,
162 160
          "type": "array"
163 161
        },
164 162
        "mentions": {
165 163
          "items": {
166 164
            "ref": "#mention",
167 165
            "type": "ref"
168 166
          },
169 167
          "maxLength": 100,
170 168
          "type": "array"
171 169
        },
172 170
        "quoteUri": {
173 171
          "format": "at-uri",
174 172
          "maxLength": 2048,
175 173
          "type": "string"
176 174
        },
177 175
        "text": {
178 -
          "maxGraphemes": 3000,
179 -
          "maxLength": 30000,
180 176
          "type": "string"
181 177
        },
182 178
        "updatedAt": {
183 179
          "format": "datetime",
184 180
          "type": "string"
185 181
        }
186 182
      },
187 183
      "required": [
188 184
        "id",
189 185
        "text",
190 186
        "mentions",
191 187
        "channels",
192 188
        "emojis",
193 189
        "linkCards",
194 190
        "dismissedUrls",
195 191
        "createdAt",
196 192
        "updatedAt"
197 193
      ],
198 194
      "type": "object"
199 195
    },
200 196
    "emoji": {
201 197
      "properties": {
202 198
        "end": {
203 199
          "minimum": 0,
204 200
          "type": "integer"
205 201
        },
206 202
        "start": {
207 203
          "minimum": 0,
208 204
          "type": "integer"
209 205
        },
210 206
        "uri": {
211 207
          "format": "at-uri",
212 208
          "maxLength": 2048,
213 209
          "type": "string"
214 210
        }
215 211
      },
216 212
      "required": [
217 213
        "start",
218 214
        "end",
219 215
        "uri"
220 216
      ],
221 217
      "type": "object"
222 218
    },
223 219
    "linkCard": {
224 220
      "properties": {
225 221
        "description": {
226 222
          "maxLength": 30000,
227 223
          "type": "string"
228 224
        },
229 225
        "title": {
230 226
          "maxLength": 3000,
231 227
          "type": "string"
232 228
        },
233 229
        "uri": {
234 230
          "maxLength": 2048,
235 231
          "type": "string"
236 232
        }
237 233
      },
238 234
      "required": [
239 235
        "uri",
240 236
        "title"
241 237
      ],
242 238
      "type": "object"
243 239
    },
244 240
    "main": {
245 241
      "errors": [
246 242
        {
247 243
          "name": "AuthRequired"
248 244
        },
249 245
        {
250 246
          "name": "InvalidRequest"
251 247
        },
252 248
        {
253 249
          "name": "DraftLimit"
254 250
        }
255 251
      ],
256 252
      "input": {
257 253
        "encoding": "application/json",
258 254
        "schema": {
259 255
          "ref": "#draftInput",
260 256
          "type": "ref"
261 257
        }
262 258
      },
263 259
      "output": {
264 260
        "encoding": "application/json",
265 261
        "schema": {
266 262
          "ref": "#draftView",
267 263
          "type": "ref"
268 264
        }
269 265
      },
270 266
      "type": "procedure"
271 267
    },
272 268
    "mention": {
273 269
      "properties": {
274 270
        "did": {
275 271
          "format": "did",
276 272
          "type": "string"
277 273
        },
278 274
        "end": {
279 275
          "minimum": 0,
280 276
          "type": "integer"
281 277
        },
282 278
        "handle": {
283 279
          "format": "handle",
284 280
          "type": "string"
285 281
        },
286 282
        "start": {
287 283
          "minimum": 0,
288 284
          "type": "integer"
289 285
        }
290 286
      },
291 287
      "required": [
292 288
        "start",
293 289
        "end",
294 290
        "did",
295 291
        "handle"
296 292
      ],
297 293
      "type": "object"
298 294
    }
299 295
  },
300 296
  "id": "com.suibari.nagi.putDraft",
301 297
  "lexicon": 1
302 298
}

Compare Other Versions

Lexicon Garden

@