com.suibari.nagi.post

suibari.com

Schema Diff

+7 -0

From

CID
bafyreieg2dqy3i2...
Indexed At
2026-07-29 11:42 UTC
View this version

To

CID
bafyreicxvzfevnh...
Indexed At
2026-08-28 15:58 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.botSilent" }
  • AddedVertex AddedVertex { vertex_id: "com.suibari.nagi.post:body.silentReply" }
  • AddedEdge AddedEdge { src: "com.suibari.nagi.post:body", tgt: "com.suibari.nagi.post:body.botSilent", kind: "prop", name: Some("botSilent") }
  • AddedEdge AddedEdge { src: "com.suibari.nagi.post:body", tgt: "com.suibari.nagi.post:body.silentReply", kind: "prop", name: Some("silentReply") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "com.suibari.nagi.post:body.botSilent" }
  • AddedVertex { vertex_id: "com.suibari.nagi.post:body.silentReply" }

Additional Notes

  • Non-breaking: AddedEdge { src: "com.suibari.nagi.post:body", tgt: "com.suibari.nagi.post:body.botSilent", kind: "prop", name: Some("botSilent") }
  • Non-breaking: AddedEdge { src: "com.suibari.nagi.post:body", tgt: "com.suibari.nagi.post:body.silentReply", kind: "prop", name: Some("silentReply") }
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 45
          "channel": {
46 46
            "ref": "com.atproto.repo.strongRef",
47 47
            "type": "ref"
48 48
          },
49 49
          "kossori": {
50 50
            "type": "boolean"
51 51
          },
52 +
          "botSilent": {
53 +
            "type": "boolean"
54 +
          },
52 55
          "createdAt": {
53 56
            "type": "string",
54 57
            "format": "datetime"
55 58
          },
56 59
          "linkCards": {
57 60
            "type": "array",
58 61
            "items": {
59 62
              "ref": "#linkCard",
60 63
              "type": "ref"
61 64
            },
62 65
            "maxLength": 4
63 66
          },
64 67
          "channelOnly": {
65 68
            "type": "boolean"
66 69
          },
70 +
          "silentReply": {
71 +
            "type": "boolean",
72 +
            "description": "true の返信は直接の返信先へ通知しない。返信以外では効果を持たない。"
73 +
          },
67 74
          "cwRestricted": {
68 75
            "type": "boolean"
69 76
          }
70 77
        }
71 78
      }
72 79
    },
73 80
    "image": {
74 81
      "type": "object",
75 82
      "required": [
76 83
        "image",
77 84
        "alt"
78 85
      ],
79 86
      "properties": {
80 87
        "alt": {
81 88
          "type": "string",
82 89
          "maxLength": 10000,
83 90
          "maxGraphemes": 1000
84 91
        },
85 92
        "image": {
86 93
          "type": "blob",
87 94
          "accept": [
88 95
            "image/jpeg",
89 96
            "image/png",
90 97
            "image/webp",
91 98
            "image/gif"
92 99
          ],
93 100
          "maxSize": 2000000
94 101
        },
95 102
        "aspectRatio": {
96 103
          "ref": "app.bsky.embed.defs#aspectRatio",
97 104
          "type": "ref"
98 105
        },
99 106
        "contentWarning": {
100 107
          "type": "boolean"
101 108
        }
102 109
      }
103 110
    },
104 111
    "quote": {
105 112
      "type": "object",
106 113
      "required": [
107 114
        "record"
108 115
      ],
109 116
      "properties": {
110 117
        "images": {
111 118
          "type": "array",
112 119
          "items": {
113 120
            "ref": "#image",
114 121
            "type": "ref"
115 122
          },
116 123
          "maxLength": 4,
117 124
          "minLength": 1
118 125
        },
119 126
        "record": {
120 127
          "ref": "com.atproto.repo.strongRef",
121 128
          "type": "ref"
122 129
        }
123 130
      }
124 131
    },
125 132
    "images": {
126 133
      "type": "object",
127 134
      "required": [
128 135
        "images"
129 136
      ],
130 137
      "properties": {
131 138
        "images": {
132 139
          "type": "array",
133 140
          "items": {
134 141
            "ref": "#image",
135 142
            "type": "ref"
136 143
          },
137 144
          "maxLength": 4,
138 145
          "minLength": 1
139 146
        }
140 147
      }
141 148
    },
142 149
    "linkCard": {
143 150
      "type": "object",
144 151
      "required": [
145 152
        "uri",
146 153
        "title"
147 154
      ],
148 155
      "properties": {
149 156
        "uri": {
150 157
          "type": "string",
151 158
          "format": "uri",
152 159
          "maxLength": 2048
153 160
        },
154 161
        "thumb": {
155 162
          "type": "blob",
156 163
          "accept": [
157 164
            "image/jpeg",
158 165
            "image/png",
159 166
            "image/webp"
160 167
          ],
161 168
          "maxSize": 1000000
162 169
        },
163 170
        "title": {
164 171
          "type": "string",
165 172
          "maxLength": 3000,
166 173
          "maxGraphemes": 300
167 174
        },
168 175
        "description": {
169 176
          "type": "string",
170 177
          "maxLength": 10000,
171 178
          "maxGraphemes": 1000
172 179
        }
173 180
      }
174 181
    },
175 182
    "replyRef": {
176 183
      "type": "object",
177 184
      "required": [
178 185
        "root",
179 186
        "parent"
180 187
      ],
181 188
      "properties": {
182 189
        "root": {
183 190
          "ref": "com.atproto.repo.strongRef",
184 191
          "type": "ref"
185 192
        },
186 193
        "parent": {
187 194
          "ref": "com.atproto.repo.strongRef",
188 195
          "type": "ref"
189 196
        }
190 197
      }
191 198
    }
192 199
  },
193 200
  "$type": "com.atproto.lexicon.schema",
194 201
  "lexicon": 1
195 202
}

Compare Other Versions

Lexicon Garden

@