com.suibari.nagi.post

suibari.com

Schema Diff

+7 -0

From

CID
bafyreih5sy3jkyu...
Indexed At
2026-07-22 04:13 UTC
View this version

To

CID
bafyreib6yz54o4n...
Indexed At
2026-07-23 06:37 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 4 non-breaking changes.

Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "com.suibari.nagi.post:body.channel" }
  • AddedVertex AddedVertex { vertex_id: "com.suibari.nagi.post:body.channelOnly" }
  • AddedEdge AddedEdge { src: "com.suibari.nagi.post:body", tgt: "com.suibari.nagi.post:body.channel", kind: "prop", name: Some("channel") }
  • AddedEdge AddedEdge { src: "com.suibari.nagi.post:body", tgt: "com.suibari.nagi.post:body.channelOnly", kind: "prop", name: Some("channelOnly") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "com.suibari.nagi.post:body.channel" }
  • AddedVertex { vertex_id: "com.suibari.nagi.post:body.channelOnly" }

Additional Notes

  • Non-breaking: AddedEdge { src: "com.suibari.nagi.post:body", tgt: "com.suibari.nagi.post:body.channel", kind: "prop", name: Some("channel") }
  • Non-breaking: AddedEdge { src: "com.suibari.nagi.post:body", tgt: "com.suibari.nagi.post:body.channelOnly", kind: "prop", name: Some("channelOnly") }
1 1
{
2 2
  "id": "com.suibari.nagi.post",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "tid",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "text",
11 11
          "createdAt"
12 12
        ],
13 13
        "properties": {
14 14
          "text": {
15 15
            "type": "string",
16 16
            "maxLength": 30000,
17 17
            "maxGraphemes": 3000
18 18
          },
19 19
          "embed": {
20 20
            "refs": [
21 21
              "#images",
22 22
              "#quote"
23 23
            ],
24 24
            "type": "union"
25 25
          },
26 26
          "langs": {
27 27
            "type": "array",
28 28
            "items": {
29 29
              "type": "string",
30 30
              "format": "language"
31 31
            },
32 32
            "maxLength": 3
33 33
          },
34 34
          "reply": {
35 35
            "ref": "#replyRef",
36 36
            "type": "ref"
37 37
          },
38 38
          "facets": {
39 39
            "type": "array",
40 40
            "items": {
41 41
              "ref": "app.bsky.richtext.facet",
42 42
              "type": "ref"
43 43
            }
44 44
          },
45 +
          "channel": {
46 +
            "ref": "com.atproto.repo.strongRef",
47 +
            "type": "ref"
48 +
          },
45 49
          "kossori": {
46 50
            "type": "boolean"
47 51
          },
48 52
          "createdAt": {
49 53
            "type": "string",
50 54
            "format": "datetime"
51 55
          },
52 56
          "linkCards": {
53 57
            "type": "array",
54 58
            "items": {
55 59
              "ref": "#linkCard",
56 60
              "type": "ref"
57 61
            },
58 62
            "maxLength": 4
63 +
          },
64 +
          "channelOnly": {
65 +
            "type": "boolean"
59 66
          }
60 67
        }
61 68
      }
62 69
    },
63 70
    "image": {
64 71
      "type": "object",
65 72
      "required": [
66 73
        "image",
67 74
        "alt"
68 75
      ],
69 76
      "properties": {
70 77
        "alt": {
71 78
          "type": "string",
72 79
          "maxLength": 10000,
73 80
          "maxGraphemes": 1000
74 81
        },
75 82
        "image": {
76 83
          "type": "blob",
77 84
          "accept": [
78 85
            "image/jpeg",
79 86
            "image/png",
80 87
            "image/webp",
81 88
            "image/gif"
82 89
          ],
83 90
          "maxSize": 2000000
84 91
        },
85 92
        "aspectRatio": {
86 93
          "ref": "app.bsky.embed.defs#aspectRatio",
87 94
          "type": "ref"
88 95
        }
89 96
      }
90 97
    },
91 98
    "quote": {
92 99
      "type": "object",
93 100
      "required": [
94 101
        "record"
95 102
      ],
96 103
      "properties": {
97 104
        "images": {
98 105
          "type": "array",
99 106
          "items": {
100 107
            "ref": "#image",
101 108
            "type": "ref"
102 109
          },
103 110
          "maxLength": 4,
104 111
          "minLength": 1
105 112
        },
106 113
        "record": {
107 114
          "ref": "com.atproto.repo.strongRef",
108 115
          "type": "ref"
109 116
        }
110 117
      }
111 118
    },
112 119
    "images": {
113 120
      "type": "object",
114 121
      "required": [
115 122
        "images"
116 123
      ],
117 124
      "properties": {
118 125
        "images": {
119 126
          "type": "array",
120 127
          "items": {
121 128
            "ref": "#image",
122 129
            "type": "ref"
123 130
          },
124 131
          "maxLength": 4,
125 132
          "minLength": 1
126 133
        }
127 134
      }
128 135
    },
129 136
    "linkCard": {
130 137
      "type": "object",
131 138
      "required": [
132 139
        "uri",
133 140
        "title"
134 141
      ],
135 142
      "properties": {
136 143
        "uri": {
137 144
          "type": "string",
138 145
          "format": "uri",
139 146
          "maxLength": 2048
140 147
        },
141 148
        "thumb": {
142 149
          "type": "blob",
143 150
          "accept": [
144 151
            "image/jpeg",
145 152
            "image/png",
146 153
            "image/webp"
147 154
          ],
148 155
          "maxSize": 1000000
149 156
        },
150 157
        "title": {
151 158
          "type": "string",
152 159
          "maxLength": 3000,
153 160
          "maxGraphemes": 300
154 161
        },
155 162
        "description": {
156 163
          "type": "string",
157 164
          "maxLength": 10000,
158 165
          "maxGraphemes": 1000
159 166
        }
160 167
      }
161 168
    },
162 169
    "replyRef": {
163 170
      "type": "object",
164 171
      "required": [
165 172
        "root",
166 173
        "parent"
167 174
      ],
168 175
      "properties": {
169 176
        "root": {
170 177
          "ref": "com.atproto.repo.strongRef",
171 178
          "type": "ref"
172 179
        },
173 180
        "parent": {
174 181
          "ref": "com.atproto.repo.strongRef",
175 182
          "type": "ref"
176 183
        }
177 184
      }
178 185
    }
179 186
  },
180 187
  "$type": "com.atproto.lexicon.schema",
181 188
  "lexicon": 1
182 189
}

Compare Other Versions

Lexicon Garden

@