app.chronosky.schedule.listPosts

chronosky.app

Schema Diff

+48 -2

From

CID
bafyreibcyc4za2l...
Indexed At
2026-02-18 18:04 UTC
View this version

To

CID
bafyreidlhwepmds...
Indexed At
2026-03-19 20:24 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

7 breaking changes, 13 non-breaking changes.

Breaking Changes (7)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.chronosky.schedule.listPosts#imageView", src: "app.chronosky.schedule.listPosts#imageView", tgt: "app.chronosky.schedule.listPosts#imageView.images", kind: "prop", name: Some("images") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.chronosky.schedule.listPosts#imageViewImage", src: "app.chronosky.schedule.listPosts#imageViewImage", tgt: "app.chronosky.schedule.listPosts#imageViewImage.alt", kind: "prop", name: Some("alt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.chronosky.schedule.listPosts#imageViewImage", src: "app.chronosky.schedule.listPosts#imageViewImage", tgt: "app.chronosky.schedule.listPosts#imageViewImage.fullsize", kind: "prop", name: Some("fullsize") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.chronosky.schedule.listPosts#imageViewImage", src: "app.chronosky.schedule.listPosts#imageViewImage", tgt: "app.chronosky.schedule.listPosts#imageViewImage.thumb", kind: "prop", name: Some("thumb") }
  • RemovedVertex RemovedVertex { vertex_id: "app.bsky.embed.images#view" }
  • RemovedEdge RemovedEdge { src: "app.chronosky.schedule.listPosts#scheduledPost.embed", tgt: "app.chronosky.schedule.listPosts#scheduledPost.embed:variant1", kind: "variant", name: Some("app.bsky.embed.images#view") }
  • RemovedEdge RemovedEdge { src: "app.chronosky.schedule.listPosts#scheduledPost.embed:variant1", tgt: "app.bsky.embed.images#view", kind: "ref", name: None }
Non-Breaking Changes (13)
  • AddedVertex AddedVertex { vertex_id: "app.chronosky.schedule.listPosts#imageView" }
  • AddedVertex AddedVertex { vertex_id: "app.chronosky.schedule.listPosts#imageView.images" }
  • AddedVertex AddedVertex { vertex_id: "app.chronosky.schedule.listPosts#imageView.images:items" }
  • AddedVertex AddedVertex { vertex_id: "app.chronosky.schedule.listPosts#imageViewImage" }
  • AddedVertex AddedVertex { vertex_id: "app.chronosky.schedule.listPosts#imageViewImage.alt" }
  • AddedVertex AddedVertex { vertex_id: "app.chronosky.schedule.listPosts#imageViewImage.cid" }
  • AddedVertex AddedVertex { vertex_id: "app.chronosky.schedule.listPosts#imageViewImage.fullsize" }
  • AddedVertex AddedVertex { vertex_id: "app.chronosky.schedule.listPosts#imageViewImage.thumb" }
  • AddedEdge AddedEdge { src: "app.chronosky.schedule.listPosts#imageView.images", tgt: "app.chronosky.schedule.listPosts#imageView.images:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "app.chronosky.schedule.listPosts#imageView.images:items", tgt: "app.chronosky.schedule.listPosts#imageViewImage", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "app.chronosky.schedule.listPosts#imageViewImage", tgt: "app.chronosky.schedule.listPosts#imageViewImage.cid", kind: "prop", name: Some("cid") }
  • AddedEdge AddedEdge { src: "app.chronosky.schedule.listPosts#scheduledPost.embed", tgt: "app.chronosky.schedule.listPosts#scheduledPost.embed:variant1", kind: "variant", name: Some("#imageView") }
  • AddedEdge AddedEdge { src: "app.chronosky.schedule.listPosts#scheduledPost.embed:variant1", tgt: "app.chronosky.schedule.listPosts#imageView", kind: "ref", name: None }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "app.bsky.embed.images#view" }

Added Elements

  • AddedVertex { vertex_id: "app.chronosky.schedule.listPosts#imageView" }
  • AddedVertex { vertex_id: "app.chronosky.schedule.listPosts#imageView.images" }
  • AddedVertex { vertex_id: "app.chronosky.schedule.listPosts#imageView.images:items" }
  • AddedVertex { vertex_id: "app.chronosky.schedule.listPosts#imageViewImage" }
  • AddedVertex { vertex_id: "app.chronosky.schedule.listPosts#imageViewImage.alt" }
  • AddedVertex { vertex_id: "app.chronosky.schedule.listPosts#imageViewImage.cid" }
  • AddedVertex { vertex_id: "app.chronosky.schedule.listPosts#imageViewImage.fullsize" }
  • AddedVertex { vertex_id: "app.chronosky.schedule.listPosts#imageViewImage.thumb" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "app.chronosky.schedule.listPosts#imageViewImage", src: "app.chronosky.schedule.listPosts#imageViewImage", tgt: "app.chronosky.schedule.listPosts#imageViewImage.alt", kind: "prop", name: Some("alt") }
  • Breaking: RequiredEdgeAdded { vertex_id: "app.chronosky.schedule.listPosts#imageViewImage", src: "app.chronosky.schedule.listPosts#imageViewImage", tgt: "app.chronosky.schedule.listPosts#imageViewImage.fullsize", kind: "prop", name: Some("fullsize") }
  • Breaking: RequiredEdgeAdded { vertex_id: "app.chronosky.schedule.listPosts#imageViewImage", src: "app.chronosky.schedule.listPosts#imageViewImage", tgt: "app.chronosky.schedule.listPosts#imageViewImage.thumb", kind: "prop", name: Some("thumb") }
  • Breaking: RequiredEdgeAdded { vertex_id: "app.chronosky.schedule.listPosts#imageView", src: "app.chronosky.schedule.listPosts#imageView", tgt: "app.chronosky.schedule.listPosts#imageView.images", kind: "prop", name: Some("images") }
  • Breaking: RemovedEdge { src: "app.chronosky.schedule.listPosts#scheduledPost.embed", tgt: "app.chronosky.schedule.listPosts#scheduledPost.embed:variant1", kind: "variant", name: Some("app.bsky.embed.images#view") }
  • Breaking: RemovedEdge { src: "app.chronosky.schedule.listPosts#scheduledPost.embed:variant1", tgt: "app.bsky.embed.images#view", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "app.chronosky.schedule.listPosts#imageView.images", tgt: "app.chronosky.schedule.listPosts#imageView.images:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "app.chronosky.schedule.listPosts#imageView.images:items", tgt: "app.chronosky.schedule.listPosts#imageViewImage", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "app.chronosky.schedule.listPosts#imageViewImage", tgt: "app.chronosky.schedule.listPosts#imageViewImage.cid", kind: "prop", name: Some("cid") }
  • Non-breaking: AddedEdge { src: "app.chronosky.schedule.listPosts#scheduledPost.embed", tgt: "app.chronosky.schedule.listPosts#scheduledPost.embed:variant1", kind: "variant", name: Some("#imageView") }
  • Non-breaking: AddedEdge { src: "app.chronosky.schedule.listPosts#scheduledPost.embed:variant1", tgt: "app.chronosky.schedule.listPosts#imageView", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 +
    "imageView": {
5 +
      "description": "Image embed view with CID references. Similar to app.bsky.embed.images#view but includes cid on each image.",
6 +
      "properties": {
7 +
        "images": {
8 +
          "description": "List of image views with CID references.",
9 +
          "items": {
10 +
            "ref": "#imageViewImage",
11 +
            "type": "ref"
12 +
          },
13 +
          "maxLength": 4,
14 +
          "type": "array"
15 +
        }
16 +
      },
17 +
      "required": [
18 +
        "images"
19 +
      ],
20 +
      "type": "object"
21 +
    },
22 +
    "imageViewImage": {
23 +
      "description": "Image view with CID for referencing in updatePost. Extends app.bsky.embed.images#viewImage with cid field.",
24 +
      "properties": {
25 +
        "alt": {
26 +
          "description": "Alt text for the image.",
27 +
          "type": "string"
28 +
        },
29 +
        "cid": {
30 +
          "description": "CID of the image blob. Use this value with updatePost#imagesEmbed to reference this image without re-uploading.",
31 +
          "maxLength": 200,
32 +
          "type": "string"
33 +
        },
34 +
        "fullsize": {
35 +
          "description": "Full-size URL for the image.",
36 +
          "type": "string"
37 +
        },
38 +
        "thumb": {
39 +
          "description": "Thumbnail URL for the image.",
40 +
          "type": "string"
41 +
        }
42 +
      },
43 +
      "required": [
44 +
        "thumb",
45 +
        "fullsize",
46 +
        "alt"
47 +
      ],
48 +
      "type": "object"
49 +
    },
4 50
    "main": {
5 51
      "description": "List scheduled posts for the authenticated user with pagination and filtering.",
6 52
      "output": {
7 53
        "encoding": "application/json",
8 54
        "schema": {
9 55
          "properties": {
10 56
            "pagination": {
11 57
              "ref": "#pagination",
12 58
              "type": "ref"
13 59
            },
14 60
            "posts": {
15 61
              "items": {
16 62
                "ref": "#scheduledPost",
17 63
                "type": "ref"
18 64
              },
19 65
              "type": "array"
20 66
            }
21 67
          },
22 68
          "required": [
23 69
            "posts",
24 70
            "pagination"
25 71
          ],
26 72
          "type": "object"
27 73
        }
28 74
      },
29 75
      "parameters": {
30 76
        "properties": {
31 77
          "limit": {
32 78
            "default": 20,
33 79
            "description": "Number of parent posts per page. Thread posts always include all children regardless of limit (e.g., limit=100 returns up to 100 parent posts plus all their children).",
34 80
            "maximum": 100,
35 81
            "minimum": 1,
36 82
            "type": "integer"
37 83
          },
38 84
          "page": {
39 85
            "default": 1,
40 86
            "description": "Page number (1-indexed).",
41 87
            "minimum": 1,
42 88
            "type": "integer"
43 89
          },
44 90
          "status": {
45 91
            "description": "Filter by post status.",
46 92
            "enum": [
47 93
              "PENDING",
48 94
              "EXECUTING",
49 95
              "COMPLETED",
50 96
              "FAILED",
51 97
              "CANCELLED"
52 98
            ],
53 99
            "maxLength": 20,
54 100
            "type": "string"
55 101
          }
56 102
        },
57 103
        "type": "params"
58 104
      },
59 105
      "type": "query"
60 106
    },
61 107
    "pagination": {
62 108
      "description": "Pagination information.",
63 109
      "properties": {
64 110
        "limit": {
65 111
          "description": "Posts per page.",
66 112
          "minimum": 1,
67 113
          "type": "integer"
68 114
        },
69 115
        "page": {
70 116
          "description": "Current page number.",
71 117
          "minimum": 1,
72 118
          "type": "integer"
73 119
        },
74 120
        "total": {
75 121
          "description": "Total number of posts.",
76 122
          "minimum": 0,
77 123
          "type": "integer"
78 124
        },
79 125
        "totalPages": {
80 126
          "description": "Total number of pages.",
81 127
          "minimum": 0,
82 128
          "type": "integer"
83 129
        }
84 130
      },
85 131
      "required": [
86 132
        "page",
87 133
        "limit",
88 134
        "total",
89 135
        "totalPages"
90 136
      ],
91 137
      "type": "object"
92 138
    },
93 139
    "scheduledPost": {
94 140
      "description": "Scheduled post object with AT Protocol standard fields.",
95 141
      "properties": {
96 142
        "atRkey": {
97 143
          "description": "AT Protocol record key. Present after successful execution.",
98 144
          "maxLength": 100,
99 145
          "type": "string"
100 146
        },
101 147
        "atUri": {
102 148
          "description": "AT Protocol post URI (at://did:plc:.../app.bsky.feed.post/...). Present after successful execution.",
103 149
          "maxLength": 500,
104 150
          "type": "string"
105 151
        },
106 152
        "children": {
107 153
          "description": "Child posts in thread. Only present for parent posts with children.",
108 154
          "items": {
109 155
            "ref": "#scheduledPost",
110 156
            "type": "ref"
111 157
          },
112 158
          "type": "array"
113 159
        },
114 160
        "createdAt": {
115 161
          "description": "Post creation datetime (ISO 8601).",
116 162
          "format": "datetime",
117 163
          "maxLength": 100,
118 164
          "type": "string"
119 165
        },
120 166
        "embed": {
121 -
          "description": "Embedded content such as images, external links, or quoted posts (app.bsky.embed.*). For image embeds, may be returned as app.bsky.embed.images#view with thumb/fullsize URLs.",
167 +
          "description": "Embedded content such as images, external links, or quoted posts. For image embeds, returned as #imageView with thumb/fullsize URLs and CID references.",
122 168
          "refs": [
123 169
            "app.bsky.embed.images",
124 -
            "app.bsky.embed.images#view",
170 +
            "#imageView",
125 171
            "app.bsky.embed.external",
126 172
            "app.bsky.embed.record",
127 173
            "app.bsky.embed.video",
128 174
            "app.bsky.embed.recordWithMedia"
129 175
          ],
130 176
          "type": "union"
131 177
        },
132 178
        "errorMsg": {
133 179
          "description": "Error message if execution failed. Present only when status is FAILED.",
134 180
          "maxLength": 2000,
135 181
          "type": "string"
136 182
        },
137 183
        "executedAt": {
138 184
          "description": "Execution completion datetime (ISO 8601). Present only when status is COMPLETED or FAILED.",
139 185
          "format": "datetime",
140 186
          "maxLength": 100,
141 187
          "type": "string"
142 188
        },
143 189
        "facets": {
144 190
          "description": "Rich text facets for mentions, links, and hashtags (app.bsky.richtext.facet).",
145 191
          "items": {
146 192
            "ref": "app.bsky.richtext.facet",
147 193
            "type": "ref"
148 194
          },
149 195
          "type": "array"
150 196
        },
151 197
        "id": {
152 198
          "description": "Post ID.",
153 199
          "maxLength": 100,
154 200
          "type": "string"
155 201
        },
156 202
        "labels": {
157 203
          "description": "Self-applied content labels for content warnings (AT Protocol standard).",
158 204
          "ref": "com.atproto.label.defs#selfLabels",
159 205
          "type": "ref"
160 206
        },
161 207
        "langs": {
162 208
          "description": "Language codes for post content (app.bsky.feed.post#langs). ISO 639-1 or 639-3 codes.",
163 209
          "items": {
164 210
            "format": "language",
165 211
            "type": "string"
166 212
          },
167 213
          "maxLength": 3,
168 214
          "type": "array"
169 215
        },
170 216
        "parentPostId": {
171 217
          "description": "Parent post ID for thread posts. Null for root posts.",
172 218
          "maxLength": 100,
173 219
          "type": "string"
174 220
        },
175 221
        "postgateCid": {
176 222
          "description": "CID for postgate record. Present after successful execution with postgate settings.",
177 223
          "maxLength": 100,
178 224
          "type": "string"
179 225
        },
180 226
        "postgateDisableEmbedding": {
181 227
          "description": "Whether to disable quote posts and embeds for this post (app.bsky.feed.postgate).",
182 228
          "type": "boolean"
183 229
        },
184 230
        "postgateUri": {
185 231
          "description": "AT Protocol URI for postgate record. Present after successful execution with postgate settings.",
186 232
          "maxLength": 500,
187 233
          "type": "string"
188 234
        },
189 235
        "retryCount": {
190 236
          "description": "Number of execution retry attempts.",
191 237
          "minimum": 0,
192 238
          "type": "integer"
193 239
        },
194 240
        "scheduledAt": {
195 241
          "description": "Scheduled publication datetime (ISO 8601).",
196 242
          "format": "datetime",
197 243
          "maxLength": 100,
198 244
          "type": "string"
199 245
        },
200 246
        "status": {
201 247
          "description": "Post status.",
202 248
          "enum": [
203 249
            "PENDING",
204 250
            "EXECUTING",
205 251
            "COMPLETED",
206 252
            "FAILED",
207 253
            "CANCELLED"
208 254
          ],
209 255
          "maxLength": 20,
210 256
          "type": "string"
211 257
        },
212 258
        "text": {
213 259
          "description": "Post content text (app.bsky.feed.post#text). May be empty if embeds are present.",
214 260
          "maxGraphemes": 300,
215 261
          "maxLength": 3000,
216 262
          "type": "string"
217 263
        },
218 264
        "threadDepth": {
219 265
          "description": "Thread depth level (0 for root post, 1 for direct reply, etc.).",
220 266
          "minimum": 0,
221 267
          "type": "integer"
222 268
        },
223 269
        "threadPosition": {
224 270
          "description": "Position in thread (0-indexed). 0 for parent post, 1+ for children.",
225 271
          "minimum": 0,
226 272
          "type": "integer"
227 273
        },
228 274
        "threadgateCid": {
229 275
          "description": "CID for threadgate record. Present after successful execution with threadgate rules.",
230 276
          "maxLength": 100,
231 277
          "type": "string"
232 278
        },
233 279
        "threadgateRules": {
234 280
          "description": "Reply restriction rules (app.bsky.feed.threadgate). Defines who can reply to this post.",
235 281
          "items": {
236 282
            "refs": [
237 283
              "app.bsky.feed.threadgate#mentionRule",
238 284
              "app.bsky.feed.threadgate#followerRule",
239 285
              "app.bsky.feed.threadgate#followingRule",
240 286
              "app.bsky.feed.threadgate#listRule"
241 287
            ],
242 288
            "type": "union"
243 289
          },
244 290
          "maxLength": 5,
245 291
          "type": "array"
246 292
        },
247 293
        "threadgateUri": {
248 294
          "description": "AT Protocol URI for threadgate record. Present after successful execution with threadgate rules.",
249 295
          "maxLength": 500,
250 296
          "type": "string"
251 297
        },
252 298
        "updatedAt": {
253 299
          "description": "Post last update datetime (ISO 8601).",
254 300
          "format": "datetime",
255 301
          "maxLength": 100,
256 302
          "type": "string"
257 303
        },
258 304
        "userId": {
259 305
          "description": "User ID who created this post.",
260 306
          "maxLength": 200,
261 307
          "type": "string"
262 308
        }
263 309
      },
264 310
      "required": [
265 311
        "id",
266 312
        "userId",
267 313
        "text",
268 314
        "scheduledAt",
269 315
        "status",
270 316
        "createdAt",
271 317
        "updatedAt",
272 318
        "retryCount",
273 319
        "langs"
274 320
      ],
275 321
      "type": "object"
276 322
    }
277 323
  },
278 324
  "id": "app.chronosky.schedule.listPosts",
279 325
  "lexicon": 1
280 326
}

Compare Other Versions

Lexicon Garden

@