+36
.changeset/four-bees-double.md
+36
.changeset/four-bees-double.md
···
1
+
---
2
+
'@atcute/lex-cli': minor
3
+
---
4
+
5
+
add pull command functionality
6
+
7
+
this is useful if you're consuming someone else's lexicons
8
+
9
+
```js
10
+
// lex.config.js
11
+
import { defineLexiconConfig } from '@atcute/lex-cli';
12
+
13
+
export default defineLexiconConfig({
14
+
files: ['lexicons/**/*.json'],
15
+
outdir: 'lib/lexicons/',
16
+
imports: ['@atcute/atproto'],
17
+
18
+
pull: {
19
+
outdir: 'lexicons/',
20
+
clean: true,
21
+
sources: [
22
+
{
23
+
type: 'git',
24
+
remote: 'https://github.com/bluesky-social/atproto.git',
25
+
pattern: ['lexicons/app/bsky/**/*.json', 'lexicons/chat/bsky/**/*.json'],
26
+
},
27
+
],
28
+
},
29
+
});
30
+
```
31
+
32
+
then run
33
+
34
+
```
35
+
pnpm lex-cli pull -c lex.config.js
36
+
```
+10
.changeset/wet-rats-admire.md
+10
.changeset/wet-rats-admire.md
···
1
+
---
2
+
'@atcute/frontpage': major
3
+
---
4
+
5
+
pull latest Frontpage lexicons
6
+
7
+
normally this would've been a patch change, but this change alters Frontpage's types are exported to
8
+
accomodate for the new `fyi.frontpage.*` namespace.
9
+
10
+
another major change may occur if the old namespace is fully removed.
-1
lexdocs/bluemoji/README.md
-1
lexdocs/bluemoji/README.md
···
1
-
https://github.com/aendra-rininsland/bluemoji/tree/802a236415645e765a40fb02b6dc1e04344058f5/schema/
lexdocs/bluemoji/blue.moji/collection/defs.json
packages/definitions/bluemoji/lexicons/blue/moji/collection/defs.json
lexdocs/bluemoji/blue.moji/collection/defs.json
packages/definitions/bluemoji/lexicons/blue/moji/collection/defs.json
lexdocs/bluemoji/blue.moji/collection/getItem.json
packages/definitions/bluemoji/lexicons/blue/moji/collection/getItem.json
lexdocs/bluemoji/blue.moji/collection/getItem.json
packages/definitions/bluemoji/lexicons/blue/moji/collection/getItem.json
lexdocs/bluemoji/blue.moji/collection/item.json
packages/definitions/bluemoji/lexicons/blue/moji/collection/item.json
lexdocs/bluemoji/blue.moji/collection/item.json
packages/definitions/bluemoji/lexicons/blue/moji/collection/item.json
lexdocs/bluemoji/blue.moji/collection/listCollection.json
packages/definitions/bluemoji/lexicons/blue/moji/collection/listCollection.json
lexdocs/bluemoji/blue.moji/collection/listCollection.json
packages/definitions/bluemoji/lexicons/blue/moji/collection/listCollection.json
lexdocs/bluemoji/blue.moji/collection/putItem.json
packages/definitions/bluemoji/lexicons/blue/moji/collection/putItem.json
lexdocs/bluemoji/blue.moji/collection/putItem.json
packages/definitions/bluemoji/lexicons/blue/moji/collection/putItem.json
lexdocs/bluemoji/blue.moji/collection/saveToCollection.json
packages/definitions/bluemoji/lexicons/blue/moji/collection/saveToCollection.json
lexdocs/bluemoji/blue.moji/collection/saveToCollection.json
packages/definitions/bluemoji/lexicons/blue/moji/collection/saveToCollection.json
lexdocs/bluemoji/blue.moji/packs/defs.json
packages/definitions/bluemoji/lexicons/blue/moji/packs/defs.json
lexdocs/bluemoji/blue.moji/packs/defs.json
packages/definitions/bluemoji/lexicons/blue/moji/packs/defs.json
lexdocs/bluemoji/blue.moji/packs/getActorPacks.json
packages/definitions/bluemoji/lexicons/blue/moji/packs/getActorPacks.json
lexdocs/bluemoji/blue.moji/packs/getActorPacks.json
packages/definitions/bluemoji/lexicons/blue/moji/packs/getActorPacks.json
lexdocs/bluemoji/blue.moji/packs/getPack.json
packages/definitions/bluemoji/lexicons/blue/moji/packs/getPack.json
lexdocs/bluemoji/blue.moji/packs/getPack.json
packages/definitions/bluemoji/lexicons/blue/moji/packs/getPack.json
lexdocs/bluemoji/blue.moji/packs/getPacks.json
packages/definitions/bluemoji/lexicons/blue/moji/packs/getPacks.json
lexdocs/bluemoji/blue.moji/packs/getPacks.json
packages/definitions/bluemoji/lexicons/blue/moji/packs/getPacks.json
lexdocs/bluemoji/blue.moji/packs/pack.json
packages/definitions/bluemoji/lexicons/blue/moji/packs/pack.json
lexdocs/bluemoji/blue.moji/packs/pack.json
packages/definitions/bluemoji/lexicons/blue/moji/packs/pack.json
lexdocs/bluemoji/blue.moji/packs/packitem.json
packages/definitions/bluemoji/lexicons/blue/moji/packs/packitem.json
lexdocs/bluemoji/blue.moji/packs/packitem.json
packages/definitions/bluemoji/lexicons/blue/moji/packs/packitem.json
lexdocs/bluemoji/blue.moji/richtext/facet.json
packages/definitions/bluemoji/lexicons/blue/moji/richtext/facet.json
lexdocs/bluemoji/blue.moji/richtext/facet.json
packages/definitions/bluemoji/lexicons/blue/moji/richtext/facet.json
-1
lexdocs/bluesky/README.md
-1
lexdocs/bluesky/README.md
···
1
-
https://github.com/bluesky-social/atproto/tree/39b5c08e0799468eba0c3bf50f4f5a8104c35f34/lexicons/
+177
-48
lexdocs/bluesky/app/bsky/actor/defs.json
packages/definitions/bluesky/lexicons/app/bsky/actor/defs.json
+177
-48
lexdocs/bluesky/app/bsky/actor/defs.json
packages/definitions/bluesky/lexicons/app/bsky/actor/defs.json
···
6
6
"type": "object",
7
7
"required": ["did", "handle"],
8
8
"properties": {
9
-
"did": { "type": "string", "format": "did" },
10
-
"handle": { "type": "string", "format": "handle" },
9
+
"did": {
10
+
"type": "string",
11
+
"format": "did"
12
+
},
13
+
"handle": {
14
+
"type": "string",
15
+
"format": "handle"
16
+
},
11
17
"displayName": {
12
18
"type": "string",
13
19
"maxGraphemes": 64,
14
20
"maxLength": 640
15
21
},
16
-
"pronouns": { "type": "string" },
17
-
"avatar": { "type": "string", "format": "uri" },
22
+
"pronouns": {
23
+
"type": "string"
24
+
},
25
+
"avatar": {
26
+
"type": "string",
27
+
"format": "uri"
28
+
},
18
29
"associated": {
19
30
"type": "ref",
20
31
"ref": "#profileAssociated"
21
32
},
22
-
"viewer": { "type": "ref", "ref": "#viewerState" },
33
+
"viewer": {
34
+
"type": "ref",
35
+
"ref": "#viewerState"
36
+
},
23
37
"labels": {
24
38
"type": "array",
25
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
39
+
"items": {
40
+
"type": "ref",
41
+
"ref": "com.atproto.label.defs#label"
42
+
}
43
+
},
44
+
"createdAt": {
45
+
"type": "string",
46
+
"format": "datetime"
26
47
},
27
-
"createdAt": { "type": "string", "format": "datetime" },
28
48
"verification": {
29
49
"type": "ref",
30
50
"ref": "#verificationState"
···
43
63
"type": "object",
44
64
"required": ["did", "handle"],
45
65
"properties": {
46
-
"did": { "type": "string", "format": "did" },
47
-
"handle": { "type": "string", "format": "handle" },
66
+
"did": {
67
+
"type": "string",
68
+
"format": "did"
69
+
},
70
+
"handle": {
71
+
"type": "string",
72
+
"format": "handle"
73
+
},
48
74
"displayName": {
49
75
"type": "string",
50
76
"maxGraphemes": 64,
51
77
"maxLength": 640
52
78
},
53
-
"pronouns": { "type": "string" },
79
+
"pronouns": {
80
+
"type": "string"
81
+
},
54
82
"description": {
55
83
"type": "string",
56
84
"maxGraphemes": 256,
57
85
"maxLength": 2560
58
86
},
59
-
"avatar": { "type": "string", "format": "uri" },
87
+
"avatar": {
88
+
"type": "string",
89
+
"format": "uri"
90
+
},
60
91
"associated": {
61
92
"type": "ref",
62
93
"ref": "#profileAssociated"
63
94
},
64
-
"indexedAt": { "type": "string", "format": "datetime" },
65
-
"createdAt": { "type": "string", "format": "datetime" },
66
-
"viewer": { "type": "ref", "ref": "#viewerState" },
95
+
"indexedAt": {
96
+
"type": "string",
97
+
"format": "datetime"
98
+
},
99
+
"createdAt": {
100
+
"type": "string",
101
+
"format": "datetime"
102
+
},
103
+
"viewer": {
104
+
"type": "ref",
105
+
"ref": "#viewerState"
106
+
},
67
107
"labels": {
68
108
"type": "array",
69
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
109
+
"items": {
110
+
"type": "ref",
111
+
"ref": "com.atproto.label.defs#label"
112
+
}
70
113
},
71
114
"verification": {
72
115
"type": "ref",
···
86
129
"type": "object",
87
130
"required": ["did", "handle"],
88
131
"properties": {
89
-
"did": { "type": "string", "format": "did" },
90
-
"handle": { "type": "string", "format": "handle" },
132
+
"did": {
133
+
"type": "string",
134
+
"format": "did"
135
+
},
136
+
"handle": {
137
+
"type": "string",
138
+
"format": "handle"
139
+
},
91
140
"displayName": {
92
141
"type": "string",
93
142
"maxGraphemes": 64,
···
98
147
"maxGraphemes": 256,
99
148
"maxLength": 2560
100
149
},
101
-
"pronouns": { "type": "string" },
102
-
"website": { "type": "string", "format": "uri" },
103
-
"avatar": { "type": "string", "format": "uri" },
104
-
"banner": { "type": "string", "format": "uri" },
105
-
"followersCount": { "type": "integer" },
106
-
"followsCount": { "type": "integer" },
107
-
"postsCount": { "type": "integer" },
150
+
"pronouns": {
151
+
"type": "string"
152
+
},
153
+
"website": {
154
+
"type": "string",
155
+
"format": "uri"
156
+
},
157
+
"avatar": {
158
+
"type": "string",
159
+
"format": "uri"
160
+
},
161
+
"banner": {
162
+
"type": "string",
163
+
"format": "uri"
164
+
},
165
+
"followersCount": {
166
+
"type": "integer"
167
+
},
168
+
"followsCount": {
169
+
"type": "integer"
170
+
},
171
+
"postsCount": {
172
+
"type": "integer"
173
+
},
108
174
"associated": {
109
175
"type": "ref",
110
176
"ref": "#profileAssociated"
···
113
179
"type": "ref",
114
180
"ref": "app.bsky.graph.defs#starterPackViewBasic"
115
181
},
116
-
"indexedAt": { "type": "string", "format": "datetime" },
117
-
"createdAt": { "type": "string", "format": "datetime" },
118
-
"viewer": { "type": "ref", "ref": "#viewerState" },
182
+
"indexedAt": {
183
+
"type": "string",
184
+
"format": "datetime"
185
+
},
186
+
"createdAt": {
187
+
"type": "string",
188
+
"format": "datetime"
189
+
},
190
+
"viewer": {
191
+
"type": "ref",
192
+
"ref": "#viewerState"
193
+
},
119
194
"labels": {
120
195
"type": "array",
121
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
196
+
"items": {
197
+
"type": "ref",
198
+
"ref": "com.atproto.label.defs#label"
199
+
}
122
200
},
123
201
"pinnedPost": {
124
202
"type": "ref",
···
141
219
"profileAssociated": {
142
220
"type": "object",
143
221
"properties": {
144
-
"lists": { "type": "integer" },
145
-
"feedgens": { "type": "integer" },
146
-
"starterPacks": { "type": "integer" },
147
-
"labeler": { "type": "boolean" },
148
-
"chat": { "type": "ref", "ref": "#profileAssociatedChat" },
222
+
"lists": {
223
+
"type": "integer"
224
+
},
225
+
"feedgens": {
226
+
"type": "integer"
227
+
},
228
+
"starterPacks": {
229
+
"type": "integer"
230
+
},
231
+
"labeler": {
232
+
"type": "boolean"
233
+
},
234
+
"chat": {
235
+
"type": "ref",
236
+
"ref": "#profileAssociatedChat"
237
+
},
149
238
"activitySubscription": {
150
239
"type": "ref",
151
240
"ref": "#profileAssociatedActivitySubscription"
···
176
265
"type": "object",
177
266
"description": "Metadata about the requesting account's relationship with the subject account. Only has meaningful content for authed requests.",
178
267
"properties": {
179
-
"muted": { "type": "boolean" },
268
+
"muted": {
269
+
"type": "boolean"
270
+
},
180
271
"mutedByList": {
181
272
"type": "ref",
182
273
"ref": "app.bsky.graph.defs#listViewBasic"
183
274
},
184
-
"blockedBy": { "type": "boolean" },
185
-
"blocking": { "type": "string", "format": "at-uri" },
275
+
"blockedBy": {
276
+
"type": "boolean"
277
+
},
278
+
"blocking": {
279
+
"type": "string",
280
+
"format": "at-uri"
281
+
},
186
282
"blockingByList": {
187
283
"type": "ref",
188
284
"ref": "app.bsky.graph.defs#listViewBasic"
189
285
},
190
-
"following": { "type": "string", "format": "at-uri" },
191
-
"followedBy": { "type": "string", "format": "at-uri" },
286
+
"following": {
287
+
"type": "string",
288
+
"format": "at-uri"
289
+
},
290
+
"followedBy": {
291
+
"type": "string",
292
+
"format": "at-uri"
293
+
},
192
294
"knownFollowers": {
193
295
"description": "This property is present only in selected cases, as an optimization.",
194
296
"type": "ref",
···
206
308
"description": "The subject's followers whom you also follow",
207
309
"required": ["count", "followers"],
208
310
"properties": {
209
-
"count": { "type": "integer" },
311
+
"count": {
312
+
"type": "integer"
313
+
},
210
314
"followers": {
211
315
"type": "array",
212
316
"minLength": 0,
···
226
330
"verifications": {
227
331
"type": "array",
228
332
"description": "All verifications issued by trusted verifiers on behalf of this user. Verifications by untrusted verifiers are not included.",
229
-
"items": { "type": "ref", "ref": "#verificationView" }
333
+
"items": {
334
+
"type": "ref",
335
+
"ref": "#verificationView"
336
+
}
230
337
},
231
338
"verifiedStatus": {
232
339
"type": "string",
···
292
399
"type": "object",
293
400
"required": ["enabled"],
294
401
"properties": {
295
-
"enabled": { "type": "boolean", "default": false }
402
+
"enabled": {
403
+
"type": "boolean",
404
+
"default": false
405
+
}
296
406
}
297
407
},
298
408
"contentLabelPref": {
···
304
414
"description": "Which labeler does this preference apply to? If undefined, applies globally.",
305
415
"format": "did"
306
416
},
307
-
"label": { "type": "string" },
417
+
"label": {
418
+
"type": "string"
419
+
},
308
420
"visibility": {
309
421
"type": "string",
310
422
"knownValues": ["ignore", "show", "warn", "hide"]
···
424
536
"tags": {
425
537
"type": "array",
426
538
"maxLength": 100,
427
-
"items": { "type": "string", "maxLength": 640, "maxGraphemes": 64 },
539
+
"items": {
540
+
"type": "string",
541
+
"maxLength": 640,
542
+
"maxGraphemes": 64
543
+
},
428
544
"description": "A list of tags which describe the account owner's interests gathered during onboarding."
429
545
}
430
546
}
···
440
556
"description": "A word that the account owner has muted.",
441
557
"required": ["value", "targets"],
442
558
"properties": {
443
-
"id": { "type": "string" },
559
+
"id": {
560
+
"type": "string"
561
+
},
444
562
"value": {
445
563
"type": "string",
446
564
"description": "The muted word itself.",
···
488
606
"properties": {
489
607
"items": {
490
608
"type": "array",
491
-
"items": { "type": "string", "format": "at-uri" },
609
+
"items": {
610
+
"type": "string",
611
+
"format": "at-uri"
612
+
},
492
613
"description": "A list of URIs of posts the account owner has hidden."
493
614
}
494
615
}
···
528
649
"description": "An array of tokens which identify nudges (modals, popups, tours, highlight dots) that should be shown to the user.",
529
650
"type": "array",
530
651
"maxLength": 1000,
531
-
"items": { "type": "string", "maxLength": 100 }
652
+
"items": {
653
+
"type": "string",
654
+
"maxLength": 100
655
+
}
532
656
},
533
657
"nuxs": {
534
658
"description": "Storage for NUXs the user has encountered.",
···
546
670
"type": "object",
547
671
"required": ["guide"],
548
672
"properties": {
549
-
"guide": { "type": "string", "maxLength": 100 }
673
+
"guide": {
674
+
"type": "string",
675
+
"maxLength": 100
676
+
}
550
677
}
551
678
},
552
679
"nux": {
···
626
753
"description": "The status for the account.",
627
754
"knownValues": ["app.bsky.actor.status#live"]
628
755
},
629
-
"record": { "type": "unknown" },
756
+
"record": {
757
+
"type": "unknown"
758
+
},
630
759
"embed": {
631
760
"type": "union",
632
761
"description": "An optional embed associated with the status.",
lexdocs/bluesky/app/bsky/actor/getPreferences.json
packages/definitions/bluesky/lexicons/app/bsky/actor/getPreferences.json
lexdocs/bluesky/app/bsky/actor/getPreferences.json
packages/definitions/bluesky/lexicons/app/bsky/actor/getPreferences.json
lexdocs/bluesky/app/bsky/actor/getProfile.json
packages/definitions/bluesky/lexicons/app/bsky/actor/getProfile.json
lexdocs/bluesky/app/bsky/actor/getProfile.json
packages/definitions/bluesky/lexicons/app/bsky/actor/getProfile.json
+4
-1
lexdocs/bluesky/app/bsky/actor/getProfiles.json
packages/definitions/bluesky/lexicons/app/bsky/actor/getProfiles.json
+4
-1
lexdocs/bluesky/app/bsky/actor/getProfiles.json
packages/definitions/bluesky/lexicons/app/bsky/actor/getProfiles.json
+6
-2
lexdocs/bluesky/app/bsky/actor/getSuggestions.json
packages/definitions/bluesky/lexicons/app/bsky/actor/getSuggestions.json
+6
-2
lexdocs/bluesky/app/bsky/actor/getSuggestions.json
packages/definitions/bluesky/lexicons/app/bsky/actor/getSuggestions.json
···
14
14
"maximum": 100,
15
15
"default": 50
16
16
},
17
-
"cursor": { "type": "string" }
17
+
"cursor": {
18
+
"type": "string"
19
+
}
18
20
}
19
21
},
20
22
"output": {
···
23
25
"type": "object",
24
26
"required": ["actors"],
25
27
"properties": {
26
-
"cursor": { "type": "string" },
28
+
"cursor": {
29
+
"type": "string"
30
+
},
27
31
"actors": {
28
32
"type": "array",
29
33
"items": {
+8
-2
lexdocs/bluesky/app/bsky/actor/profile.json
packages/definitions/bluesky/lexicons/app/bsky/actor/profile.json
+8
-2
lexdocs/bluesky/app/bsky/actor/profile.json
packages/definitions/bluesky/lexicons/app/bsky/actor/profile.json
···
26
26
"maxGraphemes": 20,
27
27
"maxLength": 200
28
28
},
29
-
"website": { "type": "string", "format": "uri" },
29
+
"website": {
30
+
"type": "string",
31
+
"format": "uri"
32
+
},
30
33
"avatar": {
31
34
"type": "blob",
32
35
"description": "Small image to be displayed next to posts from account. AKA, 'profile picture'",
···
52
55
"type": "ref",
53
56
"ref": "com.atproto.repo.strongRef"
54
57
},
55
-
"createdAt": { "type": "string", "format": "datetime" }
58
+
"createdAt": {
59
+
"type": "string",
60
+
"format": "datetime"
61
+
}
56
62
}
57
63
}
58
64
}
lexdocs/bluesky/app/bsky/actor/putPreferences.json
packages/definitions/bluesky/lexicons/app/bsky/actor/putPreferences.json
lexdocs/bluesky/app/bsky/actor/putPreferences.json
packages/definitions/bluesky/lexicons/app/bsky/actor/putPreferences.json
+6
-2
lexdocs/bluesky/app/bsky/actor/searchActors.json
packages/definitions/bluesky/lexicons/app/bsky/actor/searchActors.json
+6
-2
lexdocs/bluesky/app/bsky/actor/searchActors.json
packages/definitions/bluesky/lexicons/app/bsky/actor/searchActors.json
···
22
22
"maximum": 100,
23
23
"default": 25
24
24
},
25
-
"cursor": { "type": "string" }
25
+
"cursor": {
26
+
"type": "string"
27
+
}
26
28
}
27
29
},
28
30
"output": {
···
31
33
"type": "object",
32
34
"required": ["actors"],
33
35
"properties": {
34
-
"cursor": { "type": "string" },
36
+
"cursor": {
37
+
"type": "string"
38
+
},
35
39
"actors": {
36
40
"type": "array",
37
41
"items": {
lexdocs/bluesky/app/bsky/actor/searchActorsTypeahead.json
packages/definitions/bluesky/lexicons/app/bsky/actor/searchActorsTypeahead.json
lexdocs/bluesky/app/bsky/actor/searchActorsTypeahead.json
packages/definitions/bluesky/lexicons/app/bsky/actor/searchActorsTypeahead.json
+4
-1
lexdocs/bluesky/app/bsky/actor/status.json
packages/definitions/bluesky/lexicons/app/bsky/actor/status.json
+4
-1
lexdocs/bluesky/app/bsky/actor/status.json
packages/definitions/bluesky/lexicons/app/bsky/actor/status.json
···
25
25
"description": "The duration of the status in minutes. Applications can choose to impose minimum and maximum limits.",
26
26
"minimum": 1
27
27
},
28
-
"createdAt": { "type": "string", "format": "datetime" }
28
+
"createdAt": {
29
+
"type": "string",
30
+
"format": "datetime"
31
+
}
29
32
}
30
33
}
31
34
},
+8
-2
lexdocs/bluesky/app/bsky/bookmark/createBookmark.json
packages/definitions/bluesky/lexicons/app/bsky/bookmark/createBookmark.json
+8
-2
lexdocs/bluesky/app/bsky/bookmark/createBookmark.json
packages/definitions/bluesky/lexicons/app/bsky/bookmark/createBookmark.json
···
11
11
"type": "object",
12
12
"required": ["uri", "cid"],
13
13
"properties": {
14
-
"uri": { "type": "string", "format": "at-uri" },
15
-
"cid": { "type": "string", "format": "cid" }
14
+
"uri": {
15
+
"type": "string",
16
+
"format": "at-uri"
17
+
},
18
+
"cid": {
19
+
"type": "string",
20
+
"format": "cid"
21
+
}
16
22
}
17
23
}
18
24
},
+4
-1
lexdocs/bluesky/app/bsky/bookmark/defs.json
packages/definitions/bluesky/lexicons/app/bsky/bookmark/defs.json
+4
-1
lexdocs/bluesky/app/bsky/bookmark/defs.json
packages/definitions/bluesky/lexicons/app/bsky/bookmark/defs.json
+4
-1
lexdocs/bluesky/app/bsky/bookmark/deleteBookmark.json
packages/definitions/bluesky/lexicons/app/bsky/bookmark/deleteBookmark.json
+4
-1
lexdocs/bluesky/app/bsky/bookmark/deleteBookmark.json
packages/definitions/bluesky/lexicons/app/bsky/bookmark/deleteBookmark.json
+6
-2
lexdocs/bluesky/app/bsky/bookmark/getBookmarks.json
packages/definitions/bluesky/lexicons/app/bsky/bookmark/getBookmarks.json
+6
-2
lexdocs/bluesky/app/bsky/bookmark/getBookmarks.json
packages/definitions/bluesky/lexicons/app/bsky/bookmark/getBookmarks.json
···
14
14
"maximum": 100,
15
15
"default": 50
16
16
},
17
-
"cursor": { "type": "string" }
17
+
"cursor": {
18
+
"type": "string"
19
+
}
18
20
}
19
21
},
20
22
"output": {
···
23
25
"type": "object",
24
26
"required": ["bookmarks"],
25
27
"properties": {
26
-
"cursor": { "type": "string" },
28
+
"cursor": {
29
+
"type": "string"
30
+
},
27
31
"bookmarks": {
28
32
"type": "array",
29
33
"items": {
+8
-2
lexdocs/bluesky/app/bsky/embed/defs.json
packages/definitions/bluesky/lexicons/app/bsky/embed/defs.json
+8
-2
lexdocs/bluesky/app/bsky/embed/defs.json
packages/definitions/bluesky/lexicons/app/bsky/embed/defs.json
···
7
7
"description": "width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit.",
8
8
"required": ["width", "height"],
9
9
"properties": {
10
-
"width": { "type": "integer", "minimum": 1 },
11
-
"height": { "type": "integer", "minimum": 1 }
10
+
"width": {
11
+
"type": "integer",
12
+
"minimum": 1
13
+
},
14
+
"height": {
15
+
"type": "integer",
16
+
"minimum": 1
17
+
}
12
18
}
13
19
}
14
20
}
+24
-7
lexdocs/bluesky/app/bsky/embed/external.json
packages/definitions/bluesky/lexicons/app/bsky/embed/external.json
+24
-7
lexdocs/bluesky/app/bsky/embed/external.json
packages/definitions/bluesky/lexicons/app/bsky/embed/external.json
···
17
17
"type": "object",
18
18
"required": ["uri", "title", "description"],
19
19
"properties": {
20
-
"uri": { "type": "string", "format": "uri" },
21
-
"title": { "type": "string" },
22
-
"description": { "type": "string" },
20
+
"uri": {
21
+
"type": "string",
22
+
"format": "uri"
23
+
},
24
+
"title": {
25
+
"type": "string"
26
+
},
27
+
"description": {
28
+
"type": "string"
29
+
},
23
30
"thumb": {
24
31
"type": "blob",
25
32
"accept": ["image/*"],
···
41
48
"type": "object",
42
49
"required": ["uri", "title", "description"],
43
50
"properties": {
44
-
"uri": { "type": "string", "format": "uri" },
45
-
"title": { "type": "string" },
46
-
"description": { "type": "string" },
47
-
"thumb": { "type": "string", "format": "uri" }
51
+
"uri": {
52
+
"type": "string",
53
+
"format": "uri"
54
+
},
55
+
"title": {
56
+
"type": "string"
57
+
},
58
+
"description": {
59
+
"type": "string"
60
+
},
61
+
"thumb": {
62
+
"type": "string",
63
+
"format": "uri"
64
+
}
48
65
}
49
66
}
50
67
}
+8
-2
lexdocs/bluesky/app/bsky/embed/images.json
packages/definitions/bluesky/lexicons/app/bsky/embed/images.json
+8
-2
lexdocs/bluesky/app/bsky/embed/images.json
packages/definitions/bluesky/lexicons/app/bsky/embed/images.json
···
9
9
"properties": {
10
10
"images": {
11
11
"type": "array",
12
-
"items": { "type": "ref", "ref": "#image" },
12
+
"items": {
13
+
"type": "ref",
14
+
"ref": "#image"
15
+
},
13
16
"maxLength": 4
14
17
}
15
18
}
···
39
42
"properties": {
40
43
"images": {
41
44
"type": "array",
42
-
"items": { "type": "ref", "ref": "#viewImage" },
45
+
"items": {
46
+
"type": "ref",
47
+
"ref": "#viewImage"
48
+
},
43
49
"maxLength": 4
44
50
}
45
51
}
+60
-16
lexdocs/bluesky/app/bsky/embed/record.json
packages/definitions/bluesky/lexicons/app/bsky/embed/record.json
+60
-16
lexdocs/bluesky/app/bsky/embed/record.json
packages/definitions/bluesky/lexicons/app/bsky/embed/record.json
···
7
7
"type": "object",
8
8
"required": ["record"],
9
9
"properties": {
10
-
"record": { "type": "ref", "ref": "com.atproto.repo.strongRef" }
10
+
"record": {
11
+
"type": "ref",
12
+
"ref": "com.atproto.repo.strongRef"
13
+
}
11
14
}
12
15
},
13
16
"view": {
···
33
36
"type": "object",
34
37
"required": ["uri", "cid", "author", "value", "indexedAt"],
35
38
"properties": {
36
-
"uri": { "type": "string", "format": "at-uri" },
37
-
"cid": { "type": "string", "format": "cid" },
39
+
"uri": {
40
+
"type": "string",
41
+
"format": "at-uri"
42
+
},
43
+
"cid": {
44
+
"type": "string",
45
+
"format": "cid"
46
+
},
38
47
"author": {
39
48
"type": "ref",
40
49
"ref": "app.bsky.actor.defs#profileViewBasic"
···
45
54
},
46
55
"labels": {
47
56
"type": "array",
48
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
57
+
"items": {
58
+
"type": "ref",
59
+
"ref": "com.atproto.label.defs#label"
60
+
}
61
+
},
62
+
"replyCount": {
63
+
"type": "integer"
64
+
},
65
+
"repostCount": {
66
+
"type": "integer"
67
+
},
68
+
"likeCount": {
69
+
"type": "integer"
49
70
},
50
-
"replyCount": { "type": "integer" },
51
-
"repostCount": { "type": "integer" },
52
-
"likeCount": { "type": "integer" },
53
-
"quoteCount": { "type": "integer" },
71
+
"quoteCount": {
72
+
"type": "integer"
73
+
},
54
74
"embeds": {
55
75
"type": "array",
56
76
"items": {
···
64
84
]
65
85
}
66
86
},
67
-
"indexedAt": { "type": "string", "format": "datetime" }
87
+
"indexedAt": {
88
+
"type": "string",
89
+
"format": "datetime"
90
+
}
68
91
}
69
92
},
70
93
"viewNotFound": {
71
94
"type": "object",
72
95
"required": ["uri", "notFound"],
73
96
"properties": {
74
-
"uri": { "type": "string", "format": "at-uri" },
75
-
"notFound": { "type": "boolean", "const": true }
97
+
"uri": {
98
+
"type": "string",
99
+
"format": "at-uri"
100
+
},
101
+
"notFound": {
102
+
"type": "boolean",
103
+
"const": true
104
+
}
76
105
}
77
106
},
78
107
"viewBlocked": {
79
108
"type": "object",
80
109
"required": ["uri", "blocked", "author"],
81
110
"properties": {
82
-
"uri": { "type": "string", "format": "at-uri" },
83
-
"blocked": { "type": "boolean", "const": true },
84
-
"author": { "type": "ref", "ref": "app.bsky.feed.defs#blockedAuthor" }
111
+
"uri": {
112
+
"type": "string",
113
+
"format": "at-uri"
114
+
},
115
+
"blocked": {
116
+
"type": "boolean",
117
+
"const": true
118
+
},
119
+
"author": {
120
+
"type": "ref",
121
+
"ref": "app.bsky.feed.defs#blockedAuthor"
122
+
}
85
123
}
86
124
},
87
125
"viewDetached": {
88
126
"type": "object",
89
127
"required": ["uri", "detached"],
90
128
"properties": {
91
-
"uri": { "type": "string", "format": "at-uri" },
92
-
"detached": { "type": "boolean", "const": true }
129
+
"uri": {
130
+
"type": "string",
131
+
"format": "at-uri"
132
+
},
133
+
"detached": {
134
+
"type": "boolean",
135
+
"const": true
136
+
}
93
137
}
94
138
}
95
139
}
lexdocs/bluesky/app/bsky/embed/recordWithMedia.json
packages/definitions/bluesky/lexicons/app/bsky/embed/recordWithMedia.json
lexdocs/bluesky/app/bsky/embed/recordWithMedia.json
packages/definitions/bluesky/lexicons/app/bsky/embed/recordWithMedia.json
+16
-4
lexdocs/bluesky/app/bsky/embed/video.json
packages/definitions/bluesky/lexicons/app/bsky/embed/video.json
+16
-4
lexdocs/bluesky/app/bsky/embed/video.json
packages/definitions/bluesky/lexicons/app/bsky/embed/video.json
···
15
15
},
16
16
"captions": {
17
17
"type": "array",
18
-
"items": { "type": "ref", "ref": "#caption" },
18
+
"items": {
19
+
"type": "ref",
20
+
"ref": "#caption"
21
+
},
19
22
"maxLength": 20
20
23
},
21
24
"alt": {
···
49
52
"type": "object",
50
53
"required": ["cid", "playlist"],
51
54
"properties": {
52
-
"cid": { "type": "string", "format": "cid" },
53
-
"playlist": { "type": "string", "format": "uri" },
54
-
"thumbnail": { "type": "string", "format": "uri" },
55
+
"cid": {
56
+
"type": "string",
57
+
"format": "cid"
58
+
},
59
+
"playlist": {
60
+
"type": "string",
61
+
"format": "uri"
62
+
},
63
+
"thumbnail": {
64
+
"type": "string",
65
+
"format": "uri"
66
+
},
55
67
"alt": {
56
68
"type": "string",
57
69
"maxGraphemes": 1000,
+210
-56
lexdocs/bluesky/app/bsky/feed/defs.json
packages/definitions/bluesky/lexicons/app/bsky/feed/defs.json
+210
-56
lexdocs/bluesky/app/bsky/feed/defs.json
packages/definitions/bluesky/lexicons/app/bsky/feed/defs.json
···
6
6
"type": "object",
7
7
"required": ["uri", "cid", "author", "record", "indexedAt"],
8
8
"properties": {
9
-
"uri": { "type": "string", "format": "at-uri" },
10
-
"cid": { "type": "string", "format": "cid" },
9
+
"uri": {
10
+
"type": "string",
11
+
"format": "at-uri"
12
+
},
13
+
"cid": {
14
+
"type": "string",
15
+
"format": "cid"
16
+
},
11
17
"author": {
12
18
"type": "ref",
13
19
"ref": "app.bsky.actor.defs#profileViewBasic"
14
20
},
15
-
"record": { "type": "unknown" },
21
+
"record": {
22
+
"type": "unknown"
23
+
},
16
24
"embed": {
17
25
"type": "union",
18
26
"refs": [
···
23
31
"app.bsky.embed.recordWithMedia#view"
24
32
]
25
33
},
26
-
"bookmarkCount": { "type": "integer" },
27
-
"replyCount": { "type": "integer" },
28
-
"repostCount": { "type": "integer" },
29
-
"likeCount": { "type": "integer" },
30
-
"quoteCount": { "type": "integer" },
31
-
"indexedAt": { "type": "string", "format": "datetime" },
32
-
"viewer": { "type": "ref", "ref": "#viewerState" },
34
+
"bookmarkCount": {
35
+
"type": "integer"
36
+
},
37
+
"replyCount": {
38
+
"type": "integer"
39
+
},
40
+
"repostCount": {
41
+
"type": "integer"
42
+
},
43
+
"likeCount": {
44
+
"type": "integer"
45
+
},
46
+
"quoteCount": {
47
+
"type": "integer"
48
+
},
49
+
"indexedAt": {
50
+
"type": "string",
51
+
"format": "datetime"
52
+
},
53
+
"viewer": {
54
+
"type": "ref",
55
+
"ref": "#viewerState"
56
+
},
33
57
"labels": {
34
58
"type": "array",
35
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
59
+
"items": {
60
+
"type": "ref",
61
+
"ref": "com.atproto.label.defs#label"
62
+
}
63
+
},
64
+
"threadgate": {
65
+
"type": "ref",
66
+
"ref": "#threadgateView"
36
67
},
37
-
"threadgate": { "type": "ref", "ref": "#threadgateView" },
38
68
"debug": {
39
69
"type": "unknown",
40
70
"description": "Debug information for internal development"
···
45
75
"type": "object",
46
76
"description": "Metadata about the requesting account's relationship with the subject content. Only has meaningful content for authed requests.",
47
77
"properties": {
48
-
"repost": { "type": "string", "format": "at-uri" },
49
-
"like": { "type": "string", "format": "at-uri" },
50
-
"bookmarked": { "type": "boolean" },
51
-
"threadMuted": { "type": "boolean" },
52
-
"replyDisabled": { "type": "boolean" },
53
-
"embeddingDisabled": { "type": "boolean" },
54
-
"pinned": { "type": "boolean" }
78
+
"repost": {
79
+
"type": "string",
80
+
"format": "at-uri"
81
+
},
82
+
"like": {
83
+
"type": "string",
84
+
"format": "at-uri"
85
+
},
86
+
"bookmarked": {
87
+
"type": "boolean"
88
+
},
89
+
"threadMuted": {
90
+
"type": "boolean"
91
+
},
92
+
"replyDisabled": {
93
+
"type": "boolean"
94
+
},
95
+
"embeddingDisabled": {
96
+
"type": "boolean"
97
+
},
98
+
"pinned": {
99
+
"type": "boolean"
100
+
}
55
101
}
56
102
},
57
103
"threadContext": {
58
104
"type": "object",
59
105
"description": "Metadata about this post within the context of the thread it is in.",
60
106
"properties": {
61
-
"rootAuthorLike": { "type": "string", "format": "at-uri" }
107
+
"rootAuthorLike": {
108
+
"type": "string",
109
+
"format": "at-uri"
110
+
}
62
111
}
63
112
},
64
113
"feedViewPost": {
65
114
"type": "object",
66
115
"required": ["post"],
67
116
"properties": {
68
-
"post": { "type": "ref", "ref": "#postView" },
69
-
"reply": { "type": "ref", "ref": "#replyRef" },
70
-
"reason": { "type": "union", "refs": ["#reasonRepost", "#reasonPin"] },
117
+
"post": {
118
+
"type": "ref",
119
+
"ref": "#postView"
120
+
},
121
+
"reply": {
122
+
"type": "ref",
123
+
"ref": "#replyRef"
124
+
},
125
+
"reason": {
126
+
"type": "union",
127
+
"refs": ["#reasonRepost", "#reasonPin"]
128
+
},
71
129
"feedContext": {
72
130
"type": "string",
73
131
"description": "Context provided by feed generator that may be passed back alongside interactions.",
···
103
161
"type": "object",
104
162
"required": ["by", "indexedAt"],
105
163
"properties": {
106
-
"by": { "type": "ref", "ref": "app.bsky.actor.defs#profileViewBasic" },
107
-
"uri": { "type": "string", "format": "at-uri" },
108
-
"cid": { "type": "string", "format": "cid" },
109
-
"indexedAt": { "type": "string", "format": "datetime" }
164
+
"by": {
165
+
"type": "ref",
166
+
"ref": "app.bsky.actor.defs#profileViewBasic"
167
+
},
168
+
"uri": {
169
+
"type": "string",
170
+
"format": "at-uri"
171
+
},
172
+
"cid": {
173
+
"type": "string",
174
+
"format": "cid"
175
+
},
176
+
"indexedAt": {
177
+
"type": "string",
178
+
"format": "datetime"
179
+
}
110
180
}
111
181
},
112
182
"reasonPin": {
···
117
187
"type": "object",
118
188
"required": ["post"],
119
189
"properties": {
120
-
"post": { "type": "ref", "ref": "#postView" },
190
+
"post": {
191
+
"type": "ref",
192
+
"ref": "#postView"
193
+
},
121
194
"parent": {
122
195
"type": "union",
123
196
"refs": ["#threadViewPost", "#notFoundPost", "#blockedPost"]
···
129
202
"refs": ["#threadViewPost", "#notFoundPost", "#blockedPost"]
130
203
}
131
204
},
132
-
"threadContext": { "type": "ref", "ref": "#threadContext" }
205
+
"threadContext": {
206
+
"type": "ref",
207
+
"ref": "#threadContext"
208
+
}
133
209
}
134
210
},
135
211
"notFoundPost": {
136
212
"type": "object",
137
213
"required": ["uri", "notFound"],
138
214
"properties": {
139
-
"uri": { "type": "string", "format": "at-uri" },
140
-
"notFound": { "type": "boolean", "const": true }
215
+
"uri": {
216
+
"type": "string",
217
+
"format": "at-uri"
218
+
},
219
+
"notFound": {
220
+
"type": "boolean",
221
+
"const": true
222
+
}
141
223
}
142
224
},
143
225
"blockedPost": {
144
226
"type": "object",
145
227
"required": ["uri", "blocked", "author"],
146
228
"properties": {
147
-
"uri": { "type": "string", "format": "at-uri" },
148
-
"blocked": { "type": "boolean", "const": true },
149
-
"author": { "type": "ref", "ref": "#blockedAuthor" }
229
+
"uri": {
230
+
"type": "string",
231
+
"format": "at-uri"
232
+
},
233
+
"blocked": {
234
+
"type": "boolean",
235
+
"const": true
236
+
},
237
+
"author": {
238
+
"type": "ref",
239
+
"ref": "#blockedAuthor"
240
+
}
150
241
}
151
242
},
152
243
"blockedAuthor": {
153
244
"type": "object",
154
245
"required": ["did"],
155
246
"properties": {
156
-
"did": { "type": "string", "format": "did" },
157
-
"viewer": { "type": "ref", "ref": "app.bsky.actor.defs#viewerState" }
247
+
"did": {
248
+
"type": "string",
249
+
"format": "did"
250
+
},
251
+
"viewer": {
252
+
"type": "ref",
253
+
"ref": "app.bsky.actor.defs#viewerState"
254
+
}
158
255
}
159
256
},
160
257
"generatorView": {
161
258
"type": "object",
162
259
"required": ["uri", "cid", "did", "creator", "displayName", "indexedAt"],
163
260
"properties": {
164
-
"uri": { "type": "string", "format": "at-uri" },
165
-
"cid": { "type": "string", "format": "cid" },
166
-
"did": { "type": "string", "format": "did" },
167
-
"creator": { "type": "ref", "ref": "app.bsky.actor.defs#profileView" },
168
-
"displayName": { "type": "string" },
261
+
"uri": {
262
+
"type": "string",
263
+
"format": "at-uri"
264
+
},
265
+
"cid": {
266
+
"type": "string",
267
+
"format": "cid"
268
+
},
269
+
"did": {
270
+
"type": "string",
271
+
"format": "did"
272
+
},
273
+
"creator": {
274
+
"type": "ref",
275
+
"ref": "app.bsky.actor.defs#profileView"
276
+
},
277
+
"displayName": {
278
+
"type": "string"
279
+
},
169
280
"description": {
170
281
"type": "string",
171
282
"maxGraphemes": 300,
···
173
284
},
174
285
"descriptionFacets": {
175
286
"type": "array",
176
-
"items": { "type": "ref", "ref": "app.bsky.richtext.facet" }
287
+
"items": {
288
+
"type": "ref",
289
+
"ref": "app.bsky.richtext.facet"
290
+
}
291
+
},
292
+
"avatar": {
293
+
"type": "string",
294
+
"format": "uri"
295
+
},
296
+
"likeCount": {
297
+
"type": "integer",
298
+
"minimum": 0
299
+
},
300
+
"acceptsInteractions": {
301
+
"type": "boolean"
177
302
},
178
-
"avatar": { "type": "string", "format": "uri" },
179
-
"likeCount": { "type": "integer", "minimum": 0 },
180
-
"acceptsInteractions": { "type": "boolean" },
181
303
"labels": {
182
304
"type": "array",
183
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
305
+
"items": {
306
+
"type": "ref",
307
+
"ref": "com.atproto.label.defs#label"
308
+
}
309
+
},
310
+
"viewer": {
311
+
"type": "ref",
312
+
"ref": "#generatorViewerState"
184
313
},
185
-
"viewer": { "type": "ref", "ref": "#generatorViewerState" },
186
314
"contentMode": {
187
315
"type": "string",
188
316
"knownValues": ["app.bsky.feed.defs#contentModeUnspecified", "app.bsky.feed.defs#contentModeVideo"]
189
317
},
190
-
"indexedAt": { "type": "string", "format": "datetime" }
318
+
"indexedAt": {
319
+
"type": "string",
320
+
"format": "datetime"
321
+
}
191
322
}
192
323
},
193
324
"generatorViewerState": {
194
325
"type": "object",
195
326
"properties": {
196
-
"like": { "type": "string", "format": "at-uri" }
327
+
"like": {
328
+
"type": "string",
329
+
"format": "at-uri"
330
+
}
197
331
}
198
332
},
199
333
"skeletonFeedPost": {
200
334
"type": "object",
201
335
"required": ["post"],
202
336
"properties": {
203
-
"post": { "type": "string", "format": "at-uri" },
337
+
"post": {
338
+
"type": "string",
339
+
"format": "at-uri"
340
+
},
204
341
"reason": {
205
342
"type": "union",
206
343
"refs": ["#skeletonReasonRepost", "#skeletonReasonPin"]
···
216
353
"type": "object",
217
354
"required": ["repost"],
218
355
"properties": {
219
-
"repost": { "type": "string", "format": "at-uri" }
356
+
"repost": {
357
+
"type": "string",
358
+
"format": "at-uri"
359
+
}
220
360
}
221
361
},
222
362
"skeletonReasonPin": {
···
226
366
"threadgateView": {
227
367
"type": "object",
228
368
"properties": {
229
-
"uri": { "type": "string", "format": "at-uri" },
230
-
"cid": { "type": "string", "format": "cid" },
231
-
"record": { "type": "unknown" },
369
+
"uri": {
370
+
"type": "string",
371
+
"format": "at-uri"
372
+
},
373
+
"cid": {
374
+
"type": "string",
375
+
"format": "cid"
376
+
},
377
+
"record": {
378
+
"type": "unknown"
379
+
},
232
380
"lists": {
233
381
"type": "array",
234
-
"items": { "type": "ref", "ref": "app.bsky.graph.defs#listViewBasic" }
382
+
"items": {
383
+
"type": "ref",
384
+
"ref": "app.bsky.graph.defs#listViewBasic"
385
+
}
235
386
}
236
387
}
237
388
},
238
389
"interaction": {
239
390
"type": "object",
240
391
"properties": {
241
-
"item": { "type": "string", "format": "at-uri" },
392
+
"item": {
393
+
"type": "string",
394
+
"format": "at-uri"
395
+
},
242
396
"event": {
243
397
"type": "string",
244
398
"knownValues": [
+22
-6
lexdocs/bluesky/app/bsky/feed/describeFeedGenerator.json
packages/definitions/bluesky/lexicons/app/bsky/feed/describeFeedGenerator.json
+22
-6
lexdocs/bluesky/app/bsky/feed/describeFeedGenerator.json
packages/definitions/bluesky/lexicons/app/bsky/feed/describeFeedGenerator.json
···
11
11
"type": "object",
12
12
"required": ["did", "feeds"],
13
13
"properties": {
14
-
"did": { "type": "string", "format": "did" },
14
+
"did": {
15
+
"type": "string",
16
+
"format": "did"
17
+
},
15
18
"feeds": {
16
19
"type": "array",
17
-
"items": { "type": "ref", "ref": "#feed" }
20
+
"items": {
21
+
"type": "ref",
22
+
"ref": "#feed"
23
+
}
18
24
},
19
-
"links": { "type": "ref", "ref": "#links" }
25
+
"links": {
26
+
"type": "ref",
27
+
"ref": "#links"
28
+
}
20
29
}
21
30
}
22
31
}
···
25
34
"type": "object",
26
35
"required": ["uri"],
27
36
"properties": {
28
-
"uri": { "type": "string", "format": "at-uri" }
37
+
"uri": {
38
+
"type": "string",
39
+
"format": "at-uri"
40
+
}
29
41
}
30
42
},
31
43
"links": {
32
44
"type": "object",
33
45
"properties": {
34
-
"privacyPolicy": { "type": "string" },
35
-
"termsOfService": { "type": "string" }
46
+
"privacyPolicy": {
47
+
"type": "string"
48
+
},
49
+
"termsOfService": {
50
+
"type": "string"
51
+
}
36
52
}
37
53
}
38
54
}
+12
-3
lexdocs/bluesky/app/bsky/feed/generator.json
packages/definitions/bluesky/lexicons/app/bsky/feed/generator.json
+12
-3
lexdocs/bluesky/app/bsky/feed/generator.json
packages/definitions/bluesky/lexicons/app/bsky/feed/generator.json
···
10
10
"type": "object",
11
11
"required": ["did", "displayName", "createdAt"],
12
12
"properties": {
13
-
"did": { "type": "string", "format": "did" },
13
+
"did": {
14
+
"type": "string",
15
+
"format": "did"
16
+
},
14
17
"displayName": {
15
18
"type": "string",
16
19
"maxGraphemes": 24,
···
23
26
},
24
27
"descriptionFacets": {
25
28
"type": "array",
26
-
"items": { "type": "ref", "ref": "app.bsky.richtext.facet" }
29
+
"items": {
30
+
"type": "ref",
31
+
"ref": "app.bsky.richtext.facet"
32
+
}
27
33
},
28
34
"avatar": {
29
35
"type": "blob",
···
46
52
"app.bsky.feed.defs#contentModeVideo"
47
53
]
48
54
},
49
-
"createdAt": { "type": "string", "format": "datetime" }
55
+
"createdAt": {
56
+
"type": "string",
57
+
"format": "datetime"
58
+
}
50
59
}
51
60
}
52
61
}
+10
-3
lexdocs/bluesky/app/bsky/feed/getActorFeeds.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getActorFeeds.json
+10
-3
lexdocs/bluesky/app/bsky/feed/getActorFeeds.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getActorFeeds.json
···
9
9
"type": "params",
10
10
"required": ["actor"],
11
11
"properties": {
12
-
"actor": { "type": "string", "format": "at-identifier" },
12
+
"actor": {
13
+
"type": "string",
14
+
"format": "at-identifier"
15
+
},
13
16
"limit": {
14
17
"type": "integer",
15
18
"minimum": 1,
16
19
"maximum": 100,
17
20
"default": 50
18
21
},
19
-
"cursor": { "type": "string" }
22
+
"cursor": {
23
+
"type": "string"
24
+
}
20
25
}
21
26
},
22
27
"output": {
···
25
30
"type": "object",
26
31
"required": ["feeds"],
27
32
"properties": {
28
-
"cursor": { "type": "string" },
33
+
"cursor": {
34
+
"type": "string"
35
+
},
29
36
"feeds": {
30
37
"type": "array",
31
38
"items": {
+18
-4
lexdocs/bluesky/app/bsky/feed/getActorLikes.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getActorLikes.json
+18
-4
lexdocs/bluesky/app/bsky/feed/getActorLikes.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getActorLikes.json
···
9
9
"type": "params",
10
10
"required": ["actor"],
11
11
"properties": {
12
-
"actor": { "type": "string", "format": "at-identifier" },
12
+
"actor": {
13
+
"type": "string",
14
+
"format": "at-identifier"
15
+
},
13
16
"limit": {
14
17
"type": "integer",
15
18
"minimum": 1,
16
19
"maximum": 100,
17
20
"default": 50
18
21
},
19
-
"cursor": { "type": "string" }
22
+
"cursor": {
23
+
"type": "string"
24
+
}
20
25
}
21
26
},
22
27
"output": {
···
25
30
"type": "object",
26
31
"required": ["feed"],
27
32
"properties": {
28
-
"cursor": { "type": "string" },
33
+
"cursor": {
34
+
"type": "string"
35
+
},
29
36
"feed": {
30
37
"type": "array",
31
38
"items": {
···
36
43
}
37
44
}
38
45
},
39
-
"errors": [{ "name": "BlockedActor" }, { "name": "BlockedByActor" }]
46
+
"errors": [
47
+
{
48
+
"name": "BlockedActor"
49
+
},
50
+
{
51
+
"name": "BlockedByActor"
52
+
}
53
+
]
40
54
}
41
55
}
42
56
}
+18
-4
lexdocs/bluesky/app/bsky/feed/getAuthorFeed.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getAuthorFeed.json
+18
-4
lexdocs/bluesky/app/bsky/feed/getAuthorFeed.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getAuthorFeed.json
···
9
9
"type": "params",
10
10
"required": ["actor"],
11
11
"properties": {
12
-
"actor": { "type": "string", "format": "at-identifier" },
12
+
"actor": {
13
+
"type": "string",
14
+
"format": "at-identifier"
15
+
},
13
16
"limit": {
14
17
"type": "integer",
15
18
"minimum": 1,
16
19
"maximum": 100,
17
20
"default": 50
18
21
},
19
-
"cursor": { "type": "string" },
22
+
"cursor": {
23
+
"type": "string"
24
+
},
20
25
"filter": {
21
26
"type": "string",
22
27
"description": "Combinations of post/repost types to include in response.",
···
41
46
"type": "object",
42
47
"required": ["feed"],
43
48
"properties": {
44
-
"cursor": { "type": "string" },
49
+
"cursor": {
50
+
"type": "string"
51
+
},
45
52
"feed": {
46
53
"type": "array",
47
54
"items": {
···
52
59
}
53
60
}
54
61
},
55
-
"errors": [{ "name": "BlockedActor" }, { "name": "BlockedByActor" }]
62
+
"errors": [
63
+
{
64
+
"name": "BlockedActor"
65
+
},
66
+
{
67
+
"name": "BlockedByActor"
68
+
}
69
+
]
56
70
}
57
71
}
58
72
}
+15
-4
lexdocs/bluesky/app/bsky/feed/getFeed.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getFeed.json
+15
-4
lexdocs/bluesky/app/bsky/feed/getFeed.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getFeed.json
···
9
9
"type": "params",
10
10
"required": ["feed"],
11
11
"properties": {
12
-
"feed": { "type": "string", "format": "at-uri" },
12
+
"feed": {
13
+
"type": "string",
14
+
"format": "at-uri"
15
+
},
13
16
"limit": {
14
17
"type": "integer",
15
18
"minimum": 1,
16
19
"maximum": 100,
17
20
"default": 50
18
21
},
19
-
"cursor": { "type": "string" }
22
+
"cursor": {
23
+
"type": "string"
24
+
}
20
25
}
21
26
},
22
27
"output": {
···
25
30
"type": "object",
26
31
"required": ["feed"],
27
32
"properties": {
28
-
"cursor": { "type": "string" },
33
+
"cursor": {
34
+
"type": "string"
35
+
},
29
36
"feed": {
30
37
"type": "array",
31
38
"items": {
···
36
43
}
37
44
}
38
45
},
39
-
"errors": [{ "name": "UnknownFeed" }]
46
+
"errors": [
47
+
{
48
+
"name": "UnknownFeed"
49
+
}
50
+
]
40
51
}
41
52
}
42
53
}
lexdocs/bluesky/app/bsky/feed/getFeedGenerator.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getFeedGenerator.json
lexdocs/bluesky/app/bsky/feed/getFeedGenerator.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getFeedGenerator.json
+4
-1
lexdocs/bluesky/app/bsky/feed/getFeedGenerators.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getFeedGenerators.json
+4
-1
lexdocs/bluesky/app/bsky/feed/getFeedGenerators.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getFeedGenerators.json
+11
-3
lexdocs/bluesky/app/bsky/feed/getFeedSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getFeedSkeleton.json
+11
-3
lexdocs/bluesky/app/bsky/feed/getFeedSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getFeedSkeleton.json
···
20
20
"maximum": 100,
21
21
"default": 50
22
22
},
23
-
"cursor": { "type": "string" }
23
+
"cursor": {
24
+
"type": "string"
25
+
}
24
26
}
25
27
},
26
28
"output": {
···
29
31
"type": "object",
30
32
"required": ["feed"],
31
33
"properties": {
32
-
"cursor": { "type": "string" },
34
+
"cursor": {
35
+
"type": "string"
36
+
},
33
37
"feed": {
34
38
"type": "array",
35
39
"items": {
···
45
49
}
46
50
}
47
51
},
48
-
"errors": [{ "name": "UnknownFeed" }]
52
+
"errors": [
53
+
{
54
+
"name": "UnknownFeed"
55
+
}
56
+
]
49
57
}
50
58
}
51
59
}
+30
-8
lexdocs/bluesky/app/bsky/feed/getLikes.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getLikes.json
+30
-8
lexdocs/bluesky/app/bsky/feed/getLikes.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getLikes.json
···
25
25
"maximum": 100,
26
26
"default": 50
27
27
},
28
-
"cursor": { "type": "string" }
28
+
"cursor": {
29
+
"type": "string"
30
+
}
29
31
}
30
32
},
31
33
"output": {
···
34
36
"type": "object",
35
37
"required": ["uri", "likes"],
36
38
"properties": {
37
-
"uri": { "type": "string", "format": "at-uri" },
38
-
"cid": { "type": "string", "format": "cid" },
39
-
"cursor": { "type": "string" },
39
+
"uri": {
40
+
"type": "string",
41
+
"format": "at-uri"
42
+
},
43
+
"cid": {
44
+
"type": "string",
45
+
"format": "cid"
46
+
},
47
+
"cursor": {
48
+
"type": "string"
49
+
},
40
50
"likes": {
41
51
"type": "array",
42
-
"items": { "type": "ref", "ref": "#like" }
52
+
"items": {
53
+
"type": "ref",
54
+
"ref": "#like"
55
+
}
43
56
}
44
57
}
45
58
}
···
49
62
"type": "object",
50
63
"required": ["indexedAt", "createdAt", "actor"],
51
64
"properties": {
52
-
"indexedAt": { "type": "string", "format": "datetime" },
53
-
"createdAt": { "type": "string", "format": "datetime" },
54
-
"actor": { "type": "ref", "ref": "app.bsky.actor.defs#profileView" }
65
+
"indexedAt": {
66
+
"type": "string",
67
+
"format": "datetime"
68
+
},
69
+
"createdAt": {
70
+
"type": "string",
71
+
"format": "datetime"
72
+
},
73
+
"actor": {
74
+
"type": "ref",
75
+
"ref": "app.bsky.actor.defs#profileView"
76
+
}
55
77
}
56
78
}
57
79
}
+11
-3
lexdocs/bluesky/app/bsky/feed/getListFeed.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getListFeed.json
+11
-3
lexdocs/bluesky/app/bsky/feed/getListFeed.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getListFeed.json
···
20
20
"maximum": 100,
21
21
"default": 50
22
22
},
23
-
"cursor": { "type": "string" }
23
+
"cursor": {
24
+
"type": "string"
25
+
}
24
26
}
25
27
},
26
28
"output": {
···
29
31
"type": "object",
30
32
"required": ["feed"],
31
33
"properties": {
32
-
"cursor": { "type": "string" },
34
+
"cursor": {
35
+
"type": "string"
36
+
},
33
37
"feed": {
34
38
"type": "array",
35
39
"items": {
···
40
44
}
41
45
}
42
46
},
43
-
"errors": [{ "name": "UnknownList" }]
47
+
"errors": [
48
+
{
49
+
"name": "UnknownList"
50
+
}
51
+
]
44
52
}
45
53
}
46
54
}
+5
-1
lexdocs/bluesky/app/bsky/feed/getPostThread.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getPostThread.json
+5
-1
lexdocs/bluesky/app/bsky/feed/getPostThread.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getPostThread.json
+8
-2
lexdocs/bluesky/app/bsky/feed/getPosts.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getPosts.json
+8
-2
lexdocs/bluesky/app/bsky/feed/getPosts.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getPosts.json
···
12
12
"uris": {
13
13
"type": "array",
14
14
"description": "List of post AT-URIs to return hydrated views for.",
15
-
"items": { "type": "string", "format": "at-uri" },
15
+
"items": {
16
+
"type": "string",
17
+
"format": "at-uri"
18
+
},
16
19
"maxLength": 25
17
20
}
18
21
}
···
25
28
"properties": {
26
29
"posts": {
27
30
"type": "array",
28
-
"items": { "type": "ref", "ref": "app.bsky.feed.defs#postView" }
31
+
"items": {
32
+
"type": "ref",
33
+
"ref": "app.bsky.feed.defs#postView"
34
+
}
29
35
}
30
36
}
31
37
}
+14
-4
lexdocs/bluesky/app/bsky/feed/getQuotes.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getQuotes.json
+14
-4
lexdocs/bluesky/app/bsky/feed/getQuotes.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getQuotes.json
···
25
25
"maximum": 100,
26
26
"default": 50
27
27
},
28
-
"cursor": { "type": "string" }
28
+
"cursor": {
29
+
"type": "string"
30
+
}
29
31
}
30
32
},
31
33
"output": {
···
34
36
"type": "object",
35
37
"required": ["uri", "posts"],
36
38
"properties": {
37
-
"uri": { "type": "string", "format": "at-uri" },
38
-
"cid": { "type": "string", "format": "cid" },
39
-
"cursor": { "type": "string" },
39
+
"uri": {
40
+
"type": "string",
41
+
"format": "at-uri"
42
+
},
43
+
"cid": {
44
+
"type": "string",
45
+
"format": "cid"
46
+
},
47
+
"cursor": {
48
+
"type": "string"
49
+
},
40
50
"posts": {
41
51
"type": "array",
42
52
"items": {
+14
-4
lexdocs/bluesky/app/bsky/feed/getRepostedBy.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getRepostedBy.json
+14
-4
lexdocs/bluesky/app/bsky/feed/getRepostedBy.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getRepostedBy.json
···
25
25
"maximum": 100,
26
26
"default": 50
27
27
},
28
-
"cursor": { "type": "string" }
28
+
"cursor": {
29
+
"type": "string"
30
+
}
29
31
}
30
32
},
31
33
"output": {
···
34
36
"type": "object",
35
37
"required": ["uri", "repostedBy"],
36
38
"properties": {
37
-
"uri": { "type": "string", "format": "at-uri" },
38
-
"cid": { "type": "string", "format": "cid" },
39
-
"cursor": { "type": "string" },
39
+
"uri": {
40
+
"type": "string",
41
+
"format": "at-uri"
42
+
},
43
+
"cid": {
44
+
"type": "string",
45
+
"format": "cid"
46
+
},
47
+
"cursor": {
48
+
"type": "string"
49
+
},
40
50
"repostedBy": {
41
51
"type": "array",
42
52
"items": {
+6
-2
lexdocs/bluesky/app/bsky/feed/getSuggestedFeeds.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getSuggestedFeeds.json
+6
-2
lexdocs/bluesky/app/bsky/feed/getSuggestedFeeds.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getSuggestedFeeds.json
···
14
14
"maximum": 100,
15
15
"default": 50
16
16
},
17
-
"cursor": { "type": "string" }
17
+
"cursor": {
18
+
"type": "string"
19
+
}
18
20
}
19
21
},
20
22
"output": {
···
23
25
"type": "object",
24
26
"required": ["feeds"],
25
27
"properties": {
26
-
"cursor": { "type": "string" },
28
+
"cursor": {
29
+
"type": "string"
30
+
},
27
31
"feeds": {
28
32
"type": "array",
29
33
"items": {
+6
-2
lexdocs/bluesky/app/bsky/feed/getTimeline.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getTimeline.json
+6
-2
lexdocs/bluesky/app/bsky/feed/getTimeline.json
packages/definitions/bluesky/lexicons/app/bsky/feed/getTimeline.json
···
18
18
"maximum": 100,
19
19
"default": 50
20
20
},
21
-
"cursor": { "type": "string" }
21
+
"cursor": {
22
+
"type": "string"
23
+
}
22
24
}
23
25
},
24
26
"output": {
···
27
29
"type": "object",
28
30
"required": ["feed"],
29
31
"properties": {
30
-
"cursor": { "type": "string" },
32
+
"cursor": {
33
+
"type": "string"
34
+
},
31
35
"feed": {
32
36
"type": "array",
33
37
"items": {
-20
lexdocs/bluesky/app/bsky/feed/like.json
-20
lexdocs/bluesky/app/bsky/feed/like.json
···
1
-
{
2
-
"lexicon": 1,
3
-
"id": "app.bsky.feed.like",
4
-
"defs": {
5
-
"main": {
6
-
"type": "record",
7
-
"description": "Record declaring a 'like' of a piece of subject content.",
8
-
"key": "tid",
9
-
"record": {
10
-
"type": "object",
11
-
"required": ["subject", "createdAt"],
12
-
"properties": {
13
-
"subject": { "type": "ref", "ref": "com.atproto.repo.strongRef" },
14
-
"createdAt": { "type": "string", "format": "datetime" },
15
-
"via": { "type": "ref", "ref": "com.atproto.repo.strongRef" }
16
-
}
17
-
}
18
-
}
19
-
}
20
-
}
+44
-11
lexdocs/bluesky/app/bsky/feed/post.json
packages/definitions/bluesky/lexicons/app/bsky/feed/post.json
+44
-11
lexdocs/bluesky/app/bsky/feed/post.json
packages/definitions/bluesky/lexicons/app/bsky/feed/post.json
···
19
19
"entities": {
20
20
"type": "array",
21
21
"description": "DEPRECATED: replaced by app.bsky.richtext.facet.",
22
-
"items": { "type": "ref", "ref": "#entity" }
22
+
"items": {
23
+
"type": "ref",
24
+
"ref": "#entity"
25
+
}
23
26
},
24
27
"facets": {
25
28
"type": "array",
26
29
"description": "Annotations of text (mentions, URLs, hashtags, etc)",
27
-
"items": { "type": "ref", "ref": "app.bsky.richtext.facet" }
30
+
"items": {
31
+
"type": "ref",
32
+
"ref": "app.bsky.richtext.facet"
33
+
}
28
34
},
29
-
"reply": { "type": "ref", "ref": "#replyRef" },
35
+
"reply": {
36
+
"type": "ref",
37
+
"ref": "#replyRef"
38
+
},
30
39
"embed": {
31
40
"type": "union",
32
41
"refs": [
···
41
50
"type": "array",
42
51
"description": "Indicates human language of post primary text content.",
43
52
"maxLength": 3,
44
-
"items": { "type": "string", "format": "language" }
53
+
"items": {
54
+
"type": "string",
55
+
"format": "language"
56
+
}
45
57
},
46
58
"labels": {
47
59
"type": "union",
···
52
64
"type": "array",
53
65
"description": "Additional hashtags, in addition to any included in post text and facets.",
54
66
"maxLength": 8,
55
-
"items": { "type": "string", "maxLength": 640, "maxGraphemes": 64 }
67
+
"items": {
68
+
"type": "string",
69
+
"maxLength": 640,
70
+
"maxGraphemes": 64
71
+
}
56
72
},
57
73
"createdAt": {
58
74
"type": "string",
···
66
82
"type": "object",
67
83
"required": ["root", "parent"],
68
84
"properties": {
69
-
"root": { "type": "ref", "ref": "com.atproto.repo.strongRef" },
70
-
"parent": { "type": "ref", "ref": "com.atproto.repo.strongRef" }
85
+
"root": {
86
+
"type": "ref",
87
+
"ref": "com.atproto.repo.strongRef"
88
+
},
89
+
"parent": {
90
+
"type": "ref",
91
+
"ref": "com.atproto.repo.strongRef"
92
+
}
71
93
}
72
94
},
73
95
"entity": {
···
75
97
"description": "Deprecated: use facets instead.",
76
98
"required": ["index", "type", "value"],
77
99
"properties": {
78
-
"index": { "type": "ref", "ref": "#textSlice" },
100
+
"index": {
101
+
"type": "ref",
102
+
"ref": "#textSlice"
103
+
},
79
104
"type": {
80
105
"type": "string",
81
106
"description": "Expected values are 'mention' and 'link'."
82
107
},
83
-
"value": { "type": "string" }
108
+
"value": {
109
+
"type": "string"
110
+
}
84
111
}
85
112
},
86
113
"textSlice": {
···
88
115
"description": "Deprecated. Use app.bsky.richtext instead -- A text segment. Start is inclusive, end is exclusive. Indices are for utf16-encoded strings.",
89
116
"required": ["start", "end"],
90
117
"properties": {
91
-
"start": { "type": "integer", "minimum": 0 },
92
-
"end": { "type": "integer", "minimum": 0 }
118
+
"start": {
119
+
"type": "integer",
120
+
"minimum": 0
121
+
},
122
+
"end": {
123
+
"type": "integer",
124
+
"minimum": 0
125
+
}
93
126
}
94
127
}
95
128
}
+4
-1
lexdocs/bluesky/app/bsky/feed/postgate.json
packages/definitions/bluesky/lexicons/app/bsky/feed/postgate.json
+4
-1
lexdocs/bluesky/app/bsky/feed/postgate.json
packages/definitions/bluesky/lexicons/app/bsky/feed/postgate.json
-20
lexdocs/bluesky/app/bsky/feed/repost.json
-20
lexdocs/bluesky/app/bsky/feed/repost.json
···
1
-
{
2
-
"lexicon": 1,
3
-
"id": "app.bsky.feed.repost",
4
-
"defs": {
5
-
"main": {
6
-
"description": "Record representing a 'repost' of an existing Bluesky post.",
7
-
"type": "record",
8
-
"key": "tid",
9
-
"record": {
10
-
"type": "object",
11
-
"required": ["subject", "createdAt"],
12
-
"properties": {
13
-
"subject": { "type": "ref", "ref": "com.atproto.repo.strongRef" },
14
-
"createdAt": { "type": "string", "format": "datetime" },
15
-
"via": { "type": "ref", "ref": "com.atproto.repo.strongRef" }
16
-
}
17
-
}
18
-
}
19
-
}
20
-
}
+8
-2
lexdocs/bluesky/app/bsky/feed/searchPosts.json
packages/definitions/bluesky/lexicons/app/bsky/feed/searchPosts.json
+8
-2
lexdocs/bluesky/app/bsky/feed/searchPosts.json
packages/definitions/bluesky/lexicons/app/bsky/feed/searchPosts.json
···
78
78
"type": "object",
79
79
"required": ["posts"],
80
80
"properties": {
81
-
"cursor": { "type": "string" },
81
+
"cursor": {
82
+
"type": "string"
83
+
},
82
84
"hitsTotal": {
83
85
"type": "integer",
84
86
"description": "Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits."
···
93
95
}
94
96
}
95
97
},
96
-
"errors": [{ "name": "BadQueryString" }]
98
+
"errors": [
99
+
{
100
+
"name": "BadQueryString"
101
+
}
102
+
]
97
103
}
98
104
}
99
105
}
lexdocs/bluesky/app/bsky/feed/sendInteractions.json
packages/definitions/bluesky/lexicons/app/bsky/feed/sendInteractions.json
lexdocs/bluesky/app/bsky/feed/sendInteractions.json
packages/definitions/bluesky/lexicons/app/bsky/feed/sendInteractions.json
+8
-2
lexdocs/bluesky/app/bsky/feed/threadgate.json
packages/definitions/bluesky/lexicons/app/bsky/feed/threadgate.json
+8
-2
lexdocs/bluesky/app/bsky/feed/threadgate.json
packages/definitions/bluesky/lexicons/app/bsky/feed/threadgate.json
···
24
24
"refs": ["#mentionRule", "#followerRule", "#followingRule", "#listRule"]
25
25
}
26
26
},
27
-
"createdAt": { "type": "string", "format": "datetime" },
27
+
"createdAt": {
28
+
"type": "string",
29
+
"format": "datetime"
30
+
},
28
31
"hiddenReplies": {
29
32
"type": "array",
30
33
"maxLength": 300,
···
57
60
"description": "Allow replies from actors on a list.",
58
61
"required": ["list"],
59
62
"properties": {
60
-
"list": { "type": "string", "format": "at-uri" }
63
+
"list": {
64
+
"type": "string",
65
+
"format": "at-uri"
66
+
}
61
67
}
62
68
}
63
69
}
+4
-1
lexdocs/bluesky/app/bsky/graph/block.json
packages/definitions/bluesky/lexicons/app/bsky/graph/block.json
+4
-1
lexdocs/bluesky/app/bsky/graph/block.json
packages/definitions/bluesky/lexicons/app/bsky/graph/block.json
-166
lexdocs/bluesky/app/bsky/graph/defs.json
-166
lexdocs/bluesky/app/bsky/graph/defs.json
···
1
-
{
2
-
"lexicon": 1,
3
-
"id": "app.bsky.graph.defs",
4
-
"defs": {
5
-
"listViewBasic": {
6
-
"type": "object",
7
-
"required": ["uri", "cid", "name", "purpose"],
8
-
"properties": {
9
-
"uri": { "type": "string", "format": "at-uri" },
10
-
"cid": { "type": "string", "format": "cid" },
11
-
"name": { "type": "string", "maxLength": 64, "minLength": 1 },
12
-
"purpose": { "type": "ref", "ref": "#listPurpose" },
13
-
"avatar": { "type": "string", "format": "uri" },
14
-
"listItemCount": { "type": "integer", "minimum": 0 },
15
-
"labels": {
16
-
"type": "array",
17
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
18
-
},
19
-
"viewer": { "type": "ref", "ref": "#listViewerState" },
20
-
"indexedAt": { "type": "string", "format": "datetime" }
21
-
}
22
-
},
23
-
"listView": {
24
-
"type": "object",
25
-
"required": ["uri", "cid", "creator", "name", "purpose", "indexedAt"],
26
-
"properties": {
27
-
"uri": { "type": "string", "format": "at-uri" },
28
-
"cid": { "type": "string", "format": "cid" },
29
-
"creator": { "type": "ref", "ref": "app.bsky.actor.defs#profileView" },
30
-
"name": { "type": "string", "maxLength": 64, "minLength": 1 },
31
-
"purpose": { "type": "ref", "ref": "#listPurpose" },
32
-
"description": {
33
-
"type": "string",
34
-
"maxGraphemes": 300,
35
-
"maxLength": 3000
36
-
},
37
-
"descriptionFacets": {
38
-
"type": "array",
39
-
"items": { "type": "ref", "ref": "app.bsky.richtext.facet" }
40
-
},
41
-
"avatar": { "type": "string", "format": "uri" },
42
-
"listItemCount": { "type": "integer", "minimum": 0 },
43
-
"labels": {
44
-
"type": "array",
45
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
46
-
},
47
-
"viewer": { "type": "ref", "ref": "#listViewerState" },
48
-
"indexedAt": { "type": "string", "format": "datetime" }
49
-
}
50
-
},
51
-
"listItemView": {
52
-
"type": "object",
53
-
"required": ["uri", "subject"],
54
-
"properties": {
55
-
"uri": { "type": "string", "format": "at-uri" },
56
-
"subject": { "type": "ref", "ref": "app.bsky.actor.defs#profileView" }
57
-
}
58
-
},
59
-
"starterPackView": {
60
-
"type": "object",
61
-
"required": ["uri", "cid", "record", "creator", "indexedAt"],
62
-
"properties": {
63
-
"uri": { "type": "string", "format": "at-uri" },
64
-
"cid": { "type": "string", "format": "cid" },
65
-
"record": { "type": "unknown" },
66
-
"creator": {
67
-
"type": "ref",
68
-
"ref": "app.bsky.actor.defs#profileViewBasic"
69
-
},
70
-
"list": { "type": "ref", "ref": "#listViewBasic" },
71
-
"listItemsSample": {
72
-
"type": "array",
73
-
"maxLength": 12,
74
-
"items": { "type": "ref", "ref": "#listItemView" }
75
-
},
76
-
"feeds": {
77
-
"type": "array",
78
-
"maxLength": 3,
79
-
"items": { "type": "ref", "ref": "app.bsky.feed.defs#generatorView" }
80
-
},
81
-
"joinedWeekCount": { "type": "integer", "minimum": 0 },
82
-
"joinedAllTimeCount": { "type": "integer", "minimum": 0 },
83
-
"labels": {
84
-
"type": "array",
85
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
86
-
},
87
-
"indexedAt": { "type": "string", "format": "datetime" }
88
-
}
89
-
},
90
-
"starterPackViewBasic": {
91
-
"type": "object",
92
-
"required": ["uri", "cid", "record", "creator", "indexedAt"],
93
-
"properties": {
94
-
"uri": { "type": "string", "format": "at-uri" },
95
-
"cid": { "type": "string", "format": "cid" },
96
-
"record": { "type": "unknown" },
97
-
"creator": {
98
-
"type": "ref",
99
-
"ref": "app.bsky.actor.defs#profileViewBasic"
100
-
},
101
-
"listItemCount": { "type": "integer", "minimum": 0 },
102
-
"joinedWeekCount": { "type": "integer", "minimum": 0 },
103
-
"joinedAllTimeCount": { "type": "integer", "minimum": 0 },
104
-
"labels": {
105
-
"type": "array",
106
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
107
-
},
108
-
"indexedAt": { "type": "string", "format": "datetime" }
109
-
}
110
-
},
111
-
"listPurpose": {
112
-
"type": "string",
113
-
"knownValues": [
114
-
"app.bsky.graph.defs#modlist",
115
-
"app.bsky.graph.defs#curatelist",
116
-
"app.bsky.graph.defs#referencelist"
117
-
]
118
-
},
119
-
"modlist": {
120
-
"type": "token",
121
-
"description": "A list of actors to apply an aggregate moderation action (mute/block) on."
122
-
},
123
-
"curatelist": {
124
-
"type": "token",
125
-
"description": "A list of actors used for curation purposes such as list feeds or interaction gating."
126
-
},
127
-
"referencelist": {
128
-
"type": "token",
129
-
"description": "A list of actors used for only for reference purposes such as within a starter pack."
130
-
},
131
-
"listViewerState": {
132
-
"type": "object",
133
-
"properties": {
134
-
"muted": { "type": "boolean" },
135
-
"blocked": { "type": "string", "format": "at-uri" }
136
-
}
137
-
},
138
-
"notFoundActor": {
139
-
"type": "object",
140
-
"description": "indicates that a handle or DID could not be resolved",
141
-
"required": ["actor", "notFound"],
142
-
"properties": {
143
-
"actor": { "type": "string", "format": "at-identifier" },
144
-
"notFound": { "type": "boolean", "const": true }
145
-
}
146
-
},
147
-
"relationship": {
148
-
"type": "object",
149
-
"description": "lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object)",
150
-
"required": ["did"],
151
-
"properties": {
152
-
"did": { "type": "string", "format": "did" },
153
-
"following": {
154
-
"type": "string",
155
-
"format": "at-uri",
156
-
"description": "if the actor follows this DID, this is the AT-URI of the follow record"
157
-
},
158
-
"followedBy": {
159
-
"type": "string",
160
-
"format": "at-uri",
161
-
"description": "if the actor is followed by this DID, contains the AT-URI of the follow record"
162
-
}
163
-
}
164
-
}
165
-
}
166
-
}
+12
-3
lexdocs/bluesky/app/bsky/graph/follow.json
packages/definitions/bluesky/lexicons/app/bsky/graph/follow.json
+12
-3
lexdocs/bluesky/app/bsky/graph/follow.json
packages/definitions/bluesky/lexicons/app/bsky/graph/follow.json
···
10
10
"type": "object",
11
11
"required": ["subject", "createdAt"],
12
12
"properties": {
13
-
"subject": { "type": "string", "format": "did" },
14
-
"createdAt": { "type": "string", "format": "datetime" },
15
-
"via": { "type": "ref", "ref": "com.atproto.repo.strongRef" }
13
+
"subject": {
14
+
"type": "string",
15
+
"format": "did"
16
+
},
17
+
"createdAt": {
18
+
"type": "string",
19
+
"format": "datetime"
20
+
},
21
+
"via": {
22
+
"type": "ref",
23
+
"ref": "com.atproto.repo.strongRef"
24
+
}
16
25
}
17
26
}
18
27
}
+10
-3
lexdocs/bluesky/app/bsky/graph/getActorStarterPacks.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getActorStarterPacks.json
+10
-3
lexdocs/bluesky/app/bsky/graph/getActorStarterPacks.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getActorStarterPacks.json
···
9
9
"type": "params",
10
10
"required": ["actor"],
11
11
"properties": {
12
-
"actor": { "type": "string", "format": "at-identifier" },
12
+
"actor": {
13
+
"type": "string",
14
+
"format": "at-identifier"
15
+
},
13
16
"limit": {
14
17
"type": "integer",
15
18
"minimum": 1,
16
19
"maximum": 100,
17
20
"default": 50
18
21
},
19
-
"cursor": { "type": "string" }
22
+
"cursor": {
23
+
"type": "string"
24
+
}
20
25
}
21
26
},
22
27
"output": {
···
25
30
"type": "object",
26
31
"required": ["starterPacks"],
27
32
"properties": {
28
-
"cursor": { "type": "string" },
33
+
"cursor": {
34
+
"type": "string"
35
+
},
29
36
"starterPacks": {
30
37
"type": "array",
31
38
"items": {
+6
-2
lexdocs/bluesky/app/bsky/graph/getBlocks.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getBlocks.json
+6
-2
lexdocs/bluesky/app/bsky/graph/getBlocks.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getBlocks.json
···
14
14
"maximum": 100,
15
15
"default": 50
16
16
},
17
-
"cursor": { "type": "string" }
17
+
"cursor": {
18
+
"type": "string"
19
+
}
18
20
}
19
21
},
20
22
"output": {
···
23
25
"type": "object",
24
26
"required": ["blocks"],
25
27
"properties": {
26
-
"cursor": { "type": "string" },
28
+
"cursor": {
29
+
"type": "string"
30
+
},
27
31
"blocks": {
28
32
"type": "array",
29
33
"items": {
+10
-3
lexdocs/bluesky/app/bsky/graph/getFollowers.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getFollowers.json
+10
-3
lexdocs/bluesky/app/bsky/graph/getFollowers.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getFollowers.json
···
9
9
"type": "params",
10
10
"required": ["actor"],
11
11
"properties": {
12
-
"actor": { "type": "string", "format": "at-identifier" },
12
+
"actor": {
13
+
"type": "string",
14
+
"format": "at-identifier"
15
+
},
13
16
"limit": {
14
17
"type": "integer",
15
18
"minimum": 1,
16
19
"maximum": 100,
17
20
"default": 50
18
21
},
19
-
"cursor": { "type": "string" }
22
+
"cursor": {
23
+
"type": "string"
24
+
}
20
25
}
21
26
},
22
27
"output": {
···
29
34
"type": "ref",
30
35
"ref": "app.bsky.actor.defs#profileView"
31
36
},
32
-
"cursor": { "type": "string" },
37
+
"cursor": {
38
+
"type": "string"
39
+
},
33
40
"followers": {
34
41
"type": "array",
35
42
"items": {
+10
-3
lexdocs/bluesky/app/bsky/graph/getFollows.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getFollows.json
+10
-3
lexdocs/bluesky/app/bsky/graph/getFollows.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getFollows.json
···
9
9
"type": "params",
10
10
"required": ["actor"],
11
11
"properties": {
12
-
"actor": { "type": "string", "format": "at-identifier" },
12
+
"actor": {
13
+
"type": "string",
14
+
"format": "at-identifier"
15
+
},
13
16
"limit": {
14
17
"type": "integer",
15
18
"minimum": 1,
16
19
"maximum": 100,
17
20
"default": 50
18
21
},
19
-
"cursor": { "type": "string" }
22
+
"cursor": {
23
+
"type": "string"
24
+
}
20
25
}
21
26
},
22
27
"output": {
···
29
34
"type": "ref",
30
35
"ref": "app.bsky.actor.defs#profileView"
31
36
},
32
-
"cursor": { "type": "string" },
37
+
"cursor": {
38
+
"type": "string"
39
+
},
33
40
"follows": {
34
41
"type": "array",
35
42
"items": {
+10
-3
lexdocs/bluesky/app/bsky/graph/getKnownFollowers.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getKnownFollowers.json
+10
-3
lexdocs/bluesky/app/bsky/graph/getKnownFollowers.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getKnownFollowers.json
···
9
9
"type": "params",
10
10
"required": ["actor"],
11
11
"properties": {
12
-
"actor": { "type": "string", "format": "at-identifier" },
12
+
"actor": {
13
+
"type": "string",
14
+
"format": "at-identifier"
15
+
},
13
16
"limit": {
14
17
"type": "integer",
15
18
"minimum": 1,
16
19
"maximum": 100,
17
20
"default": 50
18
21
},
19
-
"cursor": { "type": "string" }
22
+
"cursor": {
23
+
"type": "string"
24
+
}
20
25
}
21
26
},
22
27
"output": {
···
29
34
"type": "ref",
30
35
"ref": "app.bsky.actor.defs#profileView"
31
36
},
32
-
"cursor": { "type": "string" },
37
+
"cursor": {
38
+
"type": "string"
39
+
},
33
40
"followers": {
34
41
"type": "array",
35
42
"items": {
+10
-3
lexdocs/bluesky/app/bsky/graph/getList.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getList.json
+10
-3
lexdocs/bluesky/app/bsky/graph/getList.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getList.json
···
20
20
"maximum": 100,
21
21
"default": 50
22
22
},
23
-
"cursor": { "type": "string" }
23
+
"cursor": {
24
+
"type": "string"
25
+
}
24
26
}
25
27
},
26
28
"output": {
···
29
31
"type": "object",
30
32
"required": ["list", "items"],
31
33
"properties": {
32
-
"cursor": { "type": "string" },
33
-
"list": { "type": "ref", "ref": "app.bsky.graph.defs#listView" },
34
+
"cursor": {
35
+
"type": "string"
36
+
},
37
+
"list": {
38
+
"type": "ref",
39
+
"ref": "app.bsky.graph.defs#listView"
40
+
},
34
41
"items": {
35
42
"type": "array",
36
43
"items": {
+10
-3
lexdocs/bluesky/app/bsky/graph/getListBlocks.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getListBlocks.json
+10
-3
lexdocs/bluesky/app/bsky/graph/getListBlocks.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getListBlocks.json
···
14
14
"maximum": 100,
15
15
"default": 50
16
16
},
17
-
"cursor": { "type": "string" }
17
+
"cursor": {
18
+
"type": "string"
19
+
}
18
20
}
19
21
},
20
22
"output": {
···
23
25
"type": "object",
24
26
"required": ["lists"],
25
27
"properties": {
26
-
"cursor": { "type": "string" },
28
+
"cursor": {
29
+
"type": "string"
30
+
},
27
31
"lists": {
28
32
"type": "array",
29
-
"items": { "type": "ref", "ref": "app.bsky.graph.defs#listView" }
33
+
"items": {
34
+
"type": "ref",
35
+
"ref": "app.bsky.graph.defs#listView"
36
+
}
30
37
}
31
38
}
32
39
}
+10
-3
lexdocs/bluesky/app/bsky/graph/getListMutes.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getListMutes.json
+10
-3
lexdocs/bluesky/app/bsky/graph/getListMutes.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getListMutes.json
···
14
14
"maximum": 100,
15
15
"default": 50
16
16
},
17
-
"cursor": { "type": "string" }
17
+
"cursor": {
18
+
"type": "string"
19
+
}
18
20
}
19
21
},
20
22
"output": {
···
23
25
"type": "object",
24
26
"required": ["lists"],
25
27
"properties": {
26
-
"cursor": { "type": "string" },
28
+
"cursor": {
29
+
"type": "string"
30
+
},
27
31
"lists": {
28
32
"type": "array",
29
-
"items": { "type": "ref", "ref": "app.bsky.graph.defs#listView" }
33
+
"items": {
34
+
"type": "ref",
35
+
"ref": "app.bsky.graph.defs#listView"
36
+
}
30
37
}
31
38
}
32
39
}
+10
-3
lexdocs/bluesky/app/bsky/graph/getLists.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getLists.json
+10
-3
lexdocs/bluesky/app/bsky/graph/getLists.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getLists.json
···
20
20
"maximum": 100,
21
21
"default": 50
22
22
},
23
-
"cursor": { "type": "string" },
23
+
"cursor": {
24
+
"type": "string"
25
+
},
24
26
"purposes": {
25
27
"type": "array",
26
28
"description": "Optional filter by list purpose. If not specified, all supported types are returned.",
···
37
39
"type": "object",
38
40
"required": ["lists"],
39
41
"properties": {
40
-
"cursor": { "type": "string" },
42
+
"cursor": {
43
+
"type": "string"
44
+
},
41
45
"lists": {
42
46
"type": "array",
43
-
"items": { "type": "ref", "ref": "app.bsky.graph.defs#listView" }
47
+
"items": {
48
+
"type": "ref",
49
+
"ref": "app.bsky.graph.defs#listView"
50
+
}
44
51
}
45
52
}
46
53
}
+10
-3
lexdocs/bluesky/app/bsky/graph/getListsWithMembership.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getListsWithMembership.json
+10
-3
lexdocs/bluesky/app/bsky/graph/getListsWithMembership.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getListsWithMembership.json
···
20
20
"maximum": 100,
21
21
"default": 50
22
22
},
23
-
"cursor": { "type": "string" },
23
+
"cursor": {
24
+
"type": "string"
25
+
},
24
26
"purposes": {
25
27
"type": "array",
26
28
"description": "Optional filter by list purpose. If not specified, all supported types are returned.",
···
37
39
"type": "object",
38
40
"required": ["listsWithMembership"],
39
41
"properties": {
40
-
"cursor": { "type": "string" },
42
+
"cursor": {
43
+
"type": "string"
44
+
},
41
45
"listsWithMembership": {
42
46
"type": "array",
43
-
"items": { "type": "ref", "ref": "#listWithMembership" }
47
+
"items": {
48
+
"type": "ref",
49
+
"ref": "#listWithMembership"
50
+
}
44
51
}
45
52
}
46
53
}
+6
-2
lexdocs/bluesky/app/bsky/graph/getMutes.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getMutes.json
+6
-2
lexdocs/bluesky/app/bsky/graph/getMutes.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getMutes.json
···
14
14
"maximum": 100,
15
15
"default": 50
16
16
},
17
-
"cursor": { "type": "string" }
17
+
"cursor": {
18
+
"type": "string"
19
+
}
18
20
}
19
21
},
20
22
"output": {
···
23
25
"type": "object",
24
26
"required": ["mutes"],
25
27
"properties": {
26
-
"cursor": { "type": "string" },
28
+
"cursor": {
29
+
"type": "string"
30
+
},
27
31
"mutes": {
28
32
"type": "array",
29
33
"items": {
+4
-1
lexdocs/bluesky/app/bsky/graph/getRelationships.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getRelationships.json
+4
-1
lexdocs/bluesky/app/bsky/graph/getRelationships.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getRelationships.json
lexdocs/bluesky/app/bsky/graph/getStarterPack.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getStarterPack.json
lexdocs/bluesky/app/bsky/graph/getStarterPack.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getStarterPack.json
+4
-1
lexdocs/bluesky/app/bsky/graph/getStarterPacks.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getStarterPacks.json
+4
-1
lexdocs/bluesky/app/bsky/graph/getStarterPacks.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getStarterPacks.json
+10
-3
lexdocs/bluesky/app/bsky/graph/getStarterPacksWithMembership.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getStarterPacksWithMembership.json
+10
-3
lexdocs/bluesky/app/bsky/graph/getStarterPacksWithMembership.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getStarterPacksWithMembership.json
···
20
20
"maximum": 100,
21
21
"default": 50
22
22
},
23
-
"cursor": { "type": "string" }
23
+
"cursor": {
24
+
"type": "string"
25
+
}
24
26
}
25
27
},
26
28
"output": {
···
29
31
"type": "object",
30
32
"required": ["starterPacksWithMembership"],
31
33
"properties": {
32
-
"cursor": { "type": "string" },
34
+
"cursor": {
35
+
"type": "string"
36
+
},
33
37
"starterPacksWithMembership": {
34
38
"type": "array",
35
-
"items": { "type": "ref", "ref": "#starterPackWithMembership" }
39
+
"items": {
40
+
"type": "ref",
41
+
"ref": "#starterPackWithMembership"
42
+
}
36
43
}
37
44
}
38
45
}
+4
-1
lexdocs/bluesky/app/bsky/graph/getSuggestedFollowsByActor.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getSuggestedFollowsByActor.json
+4
-1
lexdocs/bluesky/app/bsky/graph/getSuggestedFollowsByActor.json
packages/definitions/bluesky/lexicons/app/bsky/graph/getSuggestedFollowsByActor.json
+8
-2
lexdocs/bluesky/app/bsky/graph/list.json
packages/definitions/bluesky/lexicons/app/bsky/graph/list.json
+8
-2
lexdocs/bluesky/app/bsky/graph/list.json
packages/definitions/bluesky/lexicons/app/bsky/graph/list.json
···
28
28
},
29
29
"descriptionFacets": {
30
30
"type": "array",
31
-
"items": { "type": "ref", "ref": "app.bsky.richtext.facet" }
31
+
"items": {
32
+
"type": "ref",
33
+
"ref": "app.bsky.richtext.facet"
34
+
}
32
35
},
33
36
"avatar": {
34
37
"type": "blob",
···
39
42
"type": "union",
40
43
"refs": ["com.atproto.label.defs#selfLabels"]
41
44
},
42
-
"createdAt": { "type": "string", "format": "datetime" }
45
+
"createdAt": {
46
+
"type": "string",
47
+
"format": "datetime"
48
+
}
43
49
}
44
50
}
45
51
}
+4
-1
lexdocs/bluesky/app/bsky/graph/listblock.json
packages/definitions/bluesky/lexicons/app/bsky/graph/listblock.json
+4
-1
lexdocs/bluesky/app/bsky/graph/listblock.json
packages/definitions/bluesky/lexicons/app/bsky/graph/listblock.json
+4
-1
lexdocs/bluesky/app/bsky/graph/listitem.json
packages/definitions/bluesky/lexicons/app/bsky/graph/listitem.json
+4
-1
lexdocs/bluesky/app/bsky/graph/listitem.json
packages/definitions/bluesky/lexicons/app/bsky/graph/listitem.json
+4
-1
lexdocs/bluesky/app/bsky/graph/muteActor.json
packages/definitions/bluesky/lexicons/app/bsky/graph/muteActor.json
+4
-1
lexdocs/bluesky/app/bsky/graph/muteActor.json
packages/definitions/bluesky/lexicons/app/bsky/graph/muteActor.json
+4
-1
lexdocs/bluesky/app/bsky/graph/muteActorList.json
packages/definitions/bluesky/lexicons/app/bsky/graph/muteActorList.json
+4
-1
lexdocs/bluesky/app/bsky/graph/muteActorList.json
packages/definitions/bluesky/lexicons/app/bsky/graph/muteActorList.json
+4
-1
lexdocs/bluesky/app/bsky/graph/muteThread.json
packages/definitions/bluesky/lexicons/app/bsky/graph/muteThread.json
+4
-1
lexdocs/bluesky/app/bsky/graph/muteThread.json
packages/definitions/bluesky/lexicons/app/bsky/graph/muteThread.json
lexdocs/bluesky/app/bsky/graph/searchStarterPacks.json
packages/definitions/bluesky/lexicons/app/bsky/graph/searchStarterPacks.json
lexdocs/bluesky/app/bsky/graph/searchStarterPacks.json
packages/definitions/bluesky/lexicons/app/bsky/graph/searchStarterPacks.json
+16
-4
lexdocs/bluesky/app/bsky/graph/starterpack.json
packages/definitions/bluesky/lexicons/app/bsky/graph/starterpack.json
+16
-4
lexdocs/bluesky/app/bsky/graph/starterpack.json
packages/definitions/bluesky/lexicons/app/bsky/graph/starterpack.json
···
24
24
},
25
25
"descriptionFacets": {
26
26
"type": "array",
27
-
"items": { "type": "ref", "ref": "app.bsky.richtext.facet" }
27
+
"items": {
28
+
"type": "ref",
29
+
"ref": "app.bsky.richtext.facet"
30
+
}
28
31
},
29
32
"list": {
30
33
"type": "string",
···
34
37
"feeds": {
35
38
"type": "array",
36
39
"maxLength": 3,
37
-
"items": { "type": "ref", "ref": "#feedItem" }
40
+
"items": {
41
+
"type": "ref",
42
+
"ref": "#feedItem"
43
+
}
38
44
},
39
-
"createdAt": { "type": "string", "format": "datetime" }
45
+
"createdAt": {
46
+
"type": "string",
47
+
"format": "datetime"
48
+
}
40
49
}
41
50
}
42
51
},
···
44
53
"type": "object",
45
54
"required": ["uri"],
46
55
"properties": {
47
-
"uri": { "type": "string", "format": "at-uri" }
56
+
"uri": {
57
+
"type": "string",
58
+
"format": "at-uri"
59
+
}
48
60
}
49
61
}
50
62
}
+4
-1
lexdocs/bluesky/app/bsky/graph/unmuteActor.json
packages/definitions/bluesky/lexicons/app/bsky/graph/unmuteActor.json
+4
-1
lexdocs/bluesky/app/bsky/graph/unmuteActor.json
packages/definitions/bluesky/lexicons/app/bsky/graph/unmuteActor.json
+4
-1
lexdocs/bluesky/app/bsky/graph/unmuteActorList.json
packages/definitions/bluesky/lexicons/app/bsky/graph/unmuteActorList.json
+4
-1
lexdocs/bluesky/app/bsky/graph/unmuteActorList.json
packages/definitions/bluesky/lexicons/app/bsky/graph/unmuteActorList.json
+4
-1
lexdocs/bluesky/app/bsky/graph/unmuteThread.json
packages/definitions/bluesky/lexicons/app/bsky/graph/unmuteThread.json
+4
-1
lexdocs/bluesky/app/bsky/graph/unmuteThread.json
packages/definitions/bluesky/lexicons/app/bsky/graph/unmuteThread.json
lexdocs/bluesky/app/bsky/graph/verification.json
packages/definitions/bluesky/lexicons/app/bsky/graph/verification.json
lexdocs/bluesky/app/bsky/graph/verification.json
packages/definitions/bluesky/lexicons/app/bsky/graph/verification.json
+64
-16
lexdocs/bluesky/app/bsky/labeler/defs.json
packages/definitions/bluesky/lexicons/app/bsky/labeler/defs.json
+64
-16
lexdocs/bluesky/app/bsky/labeler/defs.json
packages/definitions/bluesky/lexicons/app/bsky/labeler/defs.json
···
6
6
"type": "object",
7
7
"required": ["uri", "cid", "creator", "indexedAt"],
8
8
"properties": {
9
-
"uri": { "type": "string", "format": "at-uri" },
10
-
"cid": { "type": "string", "format": "cid" },
11
-
"creator": { "type": "ref", "ref": "app.bsky.actor.defs#profileView" },
12
-
"likeCount": { "type": "integer", "minimum": 0 },
13
-
"viewer": { "type": "ref", "ref": "#labelerViewerState" },
14
-
"indexedAt": { "type": "string", "format": "datetime" },
9
+
"uri": {
10
+
"type": "string",
11
+
"format": "at-uri"
12
+
},
13
+
"cid": {
14
+
"type": "string",
15
+
"format": "cid"
16
+
},
17
+
"creator": {
18
+
"type": "ref",
19
+
"ref": "app.bsky.actor.defs#profileView"
20
+
},
21
+
"likeCount": {
22
+
"type": "integer",
23
+
"minimum": 0
24
+
},
25
+
"viewer": {
26
+
"type": "ref",
27
+
"ref": "#labelerViewerState"
28
+
},
29
+
"indexedAt": {
30
+
"type": "string",
31
+
"format": "datetime"
32
+
},
15
33
"labels": {
16
34
"type": "array",
17
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
35
+
"items": {
36
+
"type": "ref",
37
+
"ref": "com.atproto.label.defs#label"
38
+
}
18
39
}
19
40
}
20
41
},
···
22
43
"type": "object",
23
44
"required": ["uri", "cid", "creator", "policies", "indexedAt"],
24
45
"properties": {
25
-
"uri": { "type": "string", "format": "at-uri" },
26
-
"cid": { "type": "string", "format": "cid" },
27
-
"creator": { "type": "ref", "ref": "app.bsky.actor.defs#profileView" },
46
+
"uri": {
47
+
"type": "string",
48
+
"format": "at-uri"
49
+
},
50
+
"cid": {
51
+
"type": "string",
52
+
"format": "cid"
53
+
},
54
+
"creator": {
55
+
"type": "ref",
56
+
"ref": "app.bsky.actor.defs#profileView"
57
+
},
28
58
"policies": {
29
59
"type": "ref",
30
60
"ref": "app.bsky.labeler.defs#labelerPolicies"
31
61
},
32
-
"likeCount": { "type": "integer", "minimum": 0 },
33
-
"viewer": { "type": "ref", "ref": "#labelerViewerState" },
34
-
"indexedAt": { "type": "string", "format": "datetime" },
62
+
"likeCount": {
63
+
"type": "integer",
64
+
"minimum": 0
65
+
},
66
+
"viewer": {
67
+
"type": "ref",
68
+
"ref": "#labelerViewerState"
69
+
},
70
+
"indexedAt": {
71
+
"type": "string",
72
+
"format": "datetime"
73
+
},
35
74
"labels": {
36
75
"type": "array",
37
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
76
+
"items": {
77
+
"type": "ref",
78
+
"ref": "com.atproto.label.defs#label"
79
+
}
38
80
},
39
81
"reasonTypes": {
40
82
"description": "The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed.",
···
55
97
"subjectCollections": {
56
98
"type": "array",
57
99
"description": "Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type.",
58
-
"items": { "type": "string", "format": "nsid" }
100
+
"items": {
101
+
"type": "string",
102
+
"format": "nsid"
103
+
}
59
104
}
60
105
}
61
106
},
62
107
"labelerViewerState": {
63
108
"type": "object",
64
109
"properties": {
65
-
"like": { "type": "string", "format": "at-uri" }
110
+
"like": {
111
+
"type": "string",
112
+
"format": "at-uri"
113
+
}
66
114
}
67
115
},
68
116
"labelerPolicies": {
+4
-1
lexdocs/bluesky/app/bsky/labeler/getServices.json
packages/definitions/bluesky/lexicons/app/bsky/labeler/getServices.json
+4
-1
lexdocs/bluesky/app/bsky/labeler/getServices.json
packages/definitions/bluesky/lexicons/app/bsky/labeler/getServices.json
+8
-2
lexdocs/bluesky/app/bsky/labeler/service.json
packages/definitions/bluesky/lexicons/app/bsky/labeler/service.json
+8
-2
lexdocs/bluesky/app/bsky/labeler/service.json
packages/definitions/bluesky/lexicons/app/bsky/labeler/service.json
···
18
18
"type": "union",
19
19
"refs": ["com.atproto.label.defs#selfLabels"]
20
20
},
21
-
"createdAt": { "type": "string", "format": "datetime" },
21
+
"createdAt": {
22
+
"type": "string",
23
+
"format": "datetime"
24
+
},
22
25
"reasonTypes": {
23
26
"description": "The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed.",
24
27
"type": "array",
···
38
41
"subjectCollections": {
39
42
"type": "array",
40
43
"description": "Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type.",
41
-
"items": { "type": "string", "format": "nsid" }
44
+
"items": {
45
+
"type": "string",
46
+
"format": "nsid"
47
+
}
42
48
}
43
49
}
44
50
}
lexdocs/bluesky/app/bsky/notification/declaration.json
packages/definitions/bluesky/lexicons/app/bsky/notification/declaration.json
lexdocs/bluesky/app/bsky/notification/declaration.json
packages/definitions/bluesky/lexicons/app/bsky/notification/declaration.json
-88
lexdocs/bluesky/app/bsky/notification/defs.json
-88
lexdocs/bluesky/app/bsky/notification/defs.json
···
1
-
{
2
-
"lexicon": 1,
3
-
"id": "app.bsky.notification.defs",
4
-
"defs": {
5
-
"recordDeleted": {
6
-
"type": "object",
7
-
"properties": {}
8
-
},
9
-
"chatPreference": {
10
-
"type": "object",
11
-
"required": ["include", "push"],
12
-
"properties": {
13
-
"include": { "type": "string", "knownValues": ["all", "accepted"] },
14
-
"push": { "type": "boolean" }
15
-
}
16
-
},
17
-
"filterablePreference": {
18
-
"type": "object",
19
-
"required": ["include", "list", "push"],
20
-
"properties": {
21
-
"include": { "type": "string", "knownValues": ["all", "follows"] },
22
-
"list": { "type": "boolean" },
23
-
"push": { "type": "boolean" }
24
-
}
25
-
},
26
-
"preference": {
27
-
"type": "object",
28
-
"required": ["list", "push"],
29
-
"properties": {
30
-
"list": { "type": "boolean" },
31
-
"push": { "type": "boolean" }
32
-
}
33
-
},
34
-
"preferences": {
35
-
"type": "object",
36
-
"required": [
37
-
"chat",
38
-
"follow",
39
-
"like",
40
-
"likeViaRepost",
41
-
"mention",
42
-
"quote",
43
-
"reply",
44
-
"repost",
45
-
"repostViaRepost",
46
-
"starterpackJoined",
47
-
"subscribedPost",
48
-
"unverified",
49
-
"verified"
50
-
],
51
-
"properties": {
52
-
"chat": { "type": "ref", "ref": "#chatPreference" },
53
-
"follow": { "type": "ref", "ref": "#filterablePreference" },
54
-
"like": { "type": "ref", "ref": "#filterablePreference" },
55
-
"likeViaRepost": { "type": "ref", "ref": "#filterablePreference" },
56
-
"mention": { "type": "ref", "ref": "#filterablePreference" },
57
-
"quote": { "type": "ref", "ref": "#filterablePreference" },
58
-
"reply": { "type": "ref", "ref": "#filterablePreference" },
59
-
"repost": { "type": "ref", "ref": "#filterablePreference" },
60
-
"repostViaRepost": { "type": "ref", "ref": "#filterablePreference" },
61
-
"starterpackJoined": { "type": "ref", "ref": "#preference" },
62
-
"subscribedPost": { "type": "ref", "ref": "#preference" },
63
-
"unverified": { "type": "ref", "ref": "#preference" },
64
-
"verified": { "type": "ref", "ref": "#preference" }
65
-
}
66
-
},
67
-
"activitySubscription": {
68
-
"type": "object",
69
-
"required": ["post", "reply"],
70
-
"properties": {
71
-
"post": { "type": "boolean" },
72
-
"reply": { "type": "boolean" }
73
-
}
74
-
},
75
-
"subjectActivitySubscription": {
76
-
"description": "Object used to store activity subscription data in stash.",
77
-
"type": "object",
78
-
"required": ["subject", "activitySubscription"],
79
-
"properties": {
80
-
"subject": { "type": "string", "format": "did" },
81
-
"activitySubscription": {
82
-
"type": "ref",
83
-
"ref": "#activitySubscription"
84
-
}
85
-
}
86
-
}
87
-
}
88
-
}
lexdocs/bluesky/app/bsky/notification/getPreferences.json
packages/definitions/bluesky/lexicons/app/bsky/notification/getPreferences.json
lexdocs/bluesky/app/bsky/notification/getPreferences.json
packages/definitions/bluesky/lexicons/app/bsky/notification/getPreferences.json
+10
-3
lexdocs/bluesky/app/bsky/notification/getUnreadCount.json
packages/definitions/bluesky/lexicons/app/bsky/notification/getUnreadCount.json
+10
-3
lexdocs/bluesky/app/bsky/notification/getUnreadCount.json
packages/definitions/bluesky/lexicons/app/bsky/notification/getUnreadCount.json
···
8
8
"parameters": {
9
9
"type": "params",
10
10
"properties": {
11
-
"priority": { "type": "boolean" },
12
-
"seenAt": { "type": "string", "format": "datetime" }
11
+
"priority": {
12
+
"type": "boolean"
13
+
},
14
+
"seenAt": {
15
+
"type": "string",
16
+
"format": "datetime"
17
+
}
13
18
}
14
19
},
15
20
"output": {
···
18
23
"type": "object",
19
24
"required": ["count"],
20
25
"properties": {
21
-
"count": { "type": "integer" }
26
+
"count": {
27
+
"type": "integer"
28
+
}
22
29
}
23
30
}
24
31
}
+6
-2
lexdocs/bluesky/app/bsky/notification/listActivitySubscriptions.json
packages/definitions/bluesky/lexicons/app/bsky/notification/listActivitySubscriptions.json
+6
-2
lexdocs/bluesky/app/bsky/notification/listActivitySubscriptions.json
packages/definitions/bluesky/lexicons/app/bsky/notification/listActivitySubscriptions.json
···
14
14
"maximum": 100,
15
15
"default": 50
16
16
},
17
-
"cursor": { "type": "string" }
17
+
"cursor": {
18
+
"type": "string"
19
+
}
18
20
}
19
21
},
20
22
"output": {
···
23
25
"type": "object",
24
26
"required": ["subscriptions"],
25
27
"properties": {
26
-
"cursor": { "type": "string" },
28
+
"cursor": {
29
+
"type": "string"
30
+
},
27
31
"subscriptions": {
28
32
"type": "array",
29
33
"items": {
+54
-15
lexdocs/bluesky/app/bsky/notification/listNotifications.json
packages/definitions/bluesky/lexicons/app/bsky/notification/listNotifications.json
+54
-15
lexdocs/bluesky/app/bsky/notification/listNotifications.json
packages/definitions/bluesky/lexicons/app/bsky/notification/listNotifications.json
···
22
22
"maximum": 100,
23
23
"default": 50
24
24
},
25
-
"priority": { "type": "boolean" },
26
-
"cursor": { "type": "string" },
27
-
"seenAt": { "type": "string", "format": "datetime" }
25
+
"priority": {
26
+
"type": "boolean"
27
+
},
28
+
"cursor": {
29
+
"type": "string"
30
+
},
31
+
"seenAt": {
32
+
"type": "string",
33
+
"format": "datetime"
34
+
}
28
35
}
29
36
},
30
37
"output": {
···
33
40
"type": "object",
34
41
"required": ["notifications"],
35
42
"properties": {
36
-
"cursor": { "type": "string" },
43
+
"cursor": {
44
+
"type": "string"
45
+
},
37
46
"notifications": {
38
47
"type": "array",
39
-
"items": { "type": "ref", "ref": "#notification" }
48
+
"items": {
49
+
"type": "ref",
50
+
"ref": "#notification"
51
+
}
52
+
},
53
+
"priority": {
54
+
"type": "boolean"
40
55
},
41
-
"priority": { "type": "boolean" },
42
-
"seenAt": { "type": "string", "format": "datetime" }
56
+
"seenAt": {
57
+
"type": "string",
58
+
"format": "datetime"
59
+
}
43
60
}
44
61
}
45
62
}
···
48
65
"type": "object",
49
66
"required": ["uri", "cid", "author", "reason", "record", "isRead", "indexedAt"],
50
67
"properties": {
51
-
"uri": { "type": "string", "format": "at-uri" },
52
-
"cid": { "type": "string", "format": "cid" },
53
-
"author": { "type": "ref", "ref": "app.bsky.actor.defs#profileView" },
68
+
"uri": {
69
+
"type": "string",
70
+
"format": "at-uri"
71
+
},
72
+
"cid": {
73
+
"type": "string",
74
+
"format": "cid"
75
+
},
76
+
"author": {
77
+
"type": "ref",
78
+
"ref": "app.bsky.actor.defs#profileView"
79
+
},
54
80
"reason": {
55
81
"type": "string",
56
82
"description": "The reason why this notification was delivered - e.g. your post was liked, or you received a new follower.",
···
69
95
"subscribed-post"
70
96
]
71
97
},
72
-
"reasonSubject": { "type": "string", "format": "at-uri" },
73
-
"record": { "type": "unknown" },
74
-
"isRead": { "type": "boolean" },
75
-
"indexedAt": { "type": "string", "format": "datetime" },
98
+
"reasonSubject": {
99
+
"type": "string",
100
+
"format": "at-uri"
101
+
},
102
+
"record": {
103
+
"type": "unknown"
104
+
},
105
+
"isRead": {
106
+
"type": "boolean"
107
+
},
108
+
"indexedAt": {
109
+
"type": "string",
110
+
"format": "datetime"
111
+
},
76
112
"labels": {
77
113
"type": "array",
78
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
114
+
"items": {
115
+
"type": "ref",
116
+
"ref": "com.atproto.label.defs#label"
117
+
}
79
118
}
80
119
}
81
120
}
+8
-2
lexdocs/bluesky/app/bsky/notification/putActivitySubscription.json
packages/definitions/bluesky/lexicons/app/bsky/notification/putActivitySubscription.json
+8
-2
lexdocs/bluesky/app/bsky/notification/putActivitySubscription.json
packages/definitions/bluesky/lexicons/app/bsky/notification/putActivitySubscription.json
···
11
11
"type": "object",
12
12
"required": ["subject", "activitySubscription"],
13
13
"properties": {
14
-
"subject": { "type": "string", "format": "did" },
14
+
"subject": {
15
+
"type": "string",
16
+
"format": "did"
17
+
},
15
18
"activitySubscription": {
16
19
"type": "ref",
17
20
"ref": "app.bsky.notification.defs#activitySubscription"
···
25
28
"type": "object",
26
29
"required": ["subject"],
27
30
"properties": {
28
-
"subject": { "type": "string", "format": "did" },
31
+
"subject": {
32
+
"type": "string",
33
+
"format": "did"
34
+
},
29
35
"activitySubscription": {
30
36
"type": "ref",
31
37
"ref": "app.bsky.notification.defs#activitySubscription"
+3
-1
lexdocs/bluesky/app/bsky/notification/putPreferences.json
packages/definitions/bluesky/lexicons/app/bsky/notification/putPreferences.json
+3
-1
lexdocs/bluesky/app/bsky/notification/putPreferences.json
packages/definitions/bluesky/lexicons/app/bsky/notification/putPreferences.json
lexdocs/bluesky/app/bsky/notification/putPreferencesV2.json
packages/definitions/bluesky/lexicons/app/bsky/notification/putPreferencesV2.json
lexdocs/bluesky/app/bsky/notification/putPreferencesV2.json
packages/definitions/bluesky/lexicons/app/bsky/notification/putPreferencesV2.json
+10
-3
lexdocs/bluesky/app/bsky/notification/registerPush.json
packages/definitions/bluesky/lexicons/app/bsky/notification/registerPush.json
+10
-3
lexdocs/bluesky/app/bsky/notification/registerPush.json
packages/definitions/bluesky/lexicons/app/bsky/notification/registerPush.json
···
11
11
"type": "object",
12
12
"required": ["serviceDid", "token", "platform", "appId"],
13
13
"properties": {
14
-
"serviceDid": { "type": "string", "format": "did" },
15
-
"token": { "type": "string" },
14
+
"serviceDid": {
15
+
"type": "string",
16
+
"format": "did"
17
+
},
18
+
"token": {
19
+
"type": "string"
20
+
},
16
21
"platform": {
17
22
"type": "string",
18
23
"knownValues": ["ios", "android", "web"]
19
24
},
20
-
"appId": { "type": "string" },
25
+
"appId": {
26
+
"type": "string"
27
+
},
21
28
"ageRestricted": {
22
29
"type": "boolean",
23
30
"description": "Set to true when the actor is age restricted"
+10
-3
lexdocs/bluesky/app/bsky/notification/unregisterPush.json
packages/definitions/bluesky/lexicons/app/bsky/notification/unregisterPush.json
+10
-3
lexdocs/bluesky/app/bsky/notification/unregisterPush.json
packages/definitions/bluesky/lexicons/app/bsky/notification/unregisterPush.json
···
11
11
"type": "object",
12
12
"required": ["serviceDid", "token", "platform", "appId"],
13
13
"properties": {
14
-
"serviceDid": { "type": "string", "format": "did" },
15
-
"token": { "type": "string" },
14
+
"serviceDid": {
15
+
"type": "string",
16
+
"format": "did"
17
+
},
18
+
"token": {
19
+
"type": "string"
20
+
},
16
21
"platform": {
17
22
"type": "string",
18
23
"knownValues": ["ios", "android", "web"]
19
24
},
20
-
"appId": { "type": "string" }
25
+
"appId": {
26
+
"type": "string"
27
+
}
21
28
}
22
29
}
23
30
}
+4
-1
lexdocs/bluesky/app/bsky/notification/updateSeen.json
packages/definitions/bluesky/lexicons/app/bsky/notification/updateSeen.json
+4
-1
lexdocs/bluesky/app/bsky/notification/updateSeen.json
packages/definitions/bluesky/lexicons/app/bsky/notification/updateSeen.json
+29
-7
lexdocs/bluesky/app/bsky/richtext/facet.json
packages/definitions/bluesky/lexicons/app/bsky/richtext/facet.json
+29
-7
lexdocs/bluesky/app/bsky/richtext/facet.json
packages/definitions/bluesky/lexicons/app/bsky/richtext/facet.json
···
7
7
"description": "Annotation of a sub-string within rich text.",
8
8
"required": ["index", "features"],
9
9
"properties": {
10
-
"index": { "type": "ref", "ref": "#byteSlice" },
10
+
"index": {
11
+
"type": "ref",
12
+
"ref": "#byteSlice"
13
+
},
11
14
"features": {
12
15
"type": "array",
13
-
"items": { "type": "union", "refs": ["#mention", "#link", "#tag"] }
16
+
"items": {
17
+
"type": "union",
18
+
"refs": ["#mention", "#link", "#tag"]
19
+
}
14
20
}
15
21
}
16
22
},
···
19
25
"description": "Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID.",
20
26
"required": ["did"],
21
27
"properties": {
22
-
"did": { "type": "string", "format": "did" }
28
+
"did": {
29
+
"type": "string",
30
+
"format": "did"
31
+
}
23
32
}
24
33
},
25
34
"link": {
···
27
36
"description": "Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.",
28
37
"required": ["uri"],
29
38
"properties": {
30
-
"uri": { "type": "string", "format": "uri" }
39
+
"uri": {
40
+
"type": "string",
41
+
"format": "uri"
42
+
}
31
43
}
32
44
},
33
45
"tag": {
···
35
47
"description": "Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags').",
36
48
"required": ["tag"],
37
49
"properties": {
38
-
"tag": { "type": "string", "maxLength": 640, "maxGraphemes": 64 }
50
+
"tag": {
51
+
"type": "string",
52
+
"maxLength": 640,
53
+
"maxGraphemes": 64
54
+
}
39
55
}
40
56
},
41
57
"byteSlice": {
···
43
59
"description": "Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.",
44
60
"required": ["byteStart", "byteEnd"],
45
61
"properties": {
46
-
"byteStart": { "type": "integer", "minimum": 0 },
47
-
"byteEnd": { "type": "integer", "minimum": 0 }
62
+
"byteStart": {
63
+
"type": "integer",
64
+
"minimum": 0
65
+
},
66
+
"byteEnd": {
67
+
"type": "integer",
68
+
"minimum": 0
69
+
}
48
70
}
49
71
}
50
72
}
+78
-23
lexdocs/bluesky/app/bsky/unspecced/defs.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/defs.json
+78
-23
lexdocs/bluesky/app/bsky/unspecced/defs.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/defs.json
···
6
6
"type": "object",
7
7
"required": ["uri"],
8
8
"properties": {
9
-
"uri": { "type": "string", "format": "at-uri" }
9
+
"uri": {
10
+
"type": "string",
11
+
"format": "at-uri"
12
+
}
10
13
}
11
14
},
12
15
"skeletonSearchActor": {
13
16
"type": "object",
14
17
"required": ["did"],
15
18
"properties": {
16
-
"did": { "type": "string", "format": "did" }
19
+
"did": {
20
+
"type": "string",
21
+
"format": "did"
22
+
}
17
23
}
18
24
},
19
25
"skeletonSearchStarterPack": {
20
26
"type": "object",
21
27
"required": ["uri"],
22
28
"properties": {
23
-
"uri": { "type": "string", "format": "at-uri" }
29
+
"uri": {
30
+
"type": "string",
31
+
"format": "at-uri"
32
+
}
24
33
}
25
34
},
26
35
"trendingTopic": {
27
36
"type": "object",
28
37
"required": ["topic", "link"],
29
38
"properties": {
30
-
"topic": { "type": "string" },
31
-
"displayName": { "type": "string" },
32
-
"description": { "type": "string" },
33
-
"link": { "type": "string" }
39
+
"topic": {
40
+
"type": "string"
41
+
},
42
+
"displayName": {
43
+
"type": "string"
44
+
},
45
+
"description": {
46
+
"type": "string"
47
+
},
48
+
"link": {
49
+
"type": "string"
50
+
}
34
51
}
35
52
},
36
53
"skeletonTrend": {
37
54
"type": "object",
38
55
"required": ["topic", "displayName", "link", "startedAt", "postCount", "dids"],
39
56
"properties": {
40
-
"topic": { "type": "string" },
41
-
"displayName": { "type": "string" },
42
-
"link": { "type": "string" },
43
-
"startedAt": { "type": "string", "format": "datetime" },
44
-
"postCount": { "type": "integer" },
45
-
"status": { "type": "string", "knownValues": ["hot"] },
46
-
"category": { "type": "string" },
57
+
"topic": {
58
+
"type": "string"
59
+
},
60
+
"displayName": {
61
+
"type": "string"
62
+
},
63
+
"link": {
64
+
"type": "string"
65
+
},
66
+
"startedAt": {
67
+
"type": "string",
68
+
"format": "datetime"
69
+
},
70
+
"postCount": {
71
+
"type": "integer"
72
+
},
73
+
"status": {
74
+
"type": "string",
75
+
"knownValues": ["hot"]
76
+
},
77
+
"category": {
78
+
"type": "string"
79
+
},
47
80
"dids": {
48
81
"type": "array",
49
82
"items": {
···
57
90
"type": "object",
58
91
"required": ["topic", "displayName", "link", "startedAt", "postCount", "actors"],
59
92
"properties": {
60
-
"topic": { "type": "string" },
61
-
"displayName": { "type": "string" },
62
-
"link": { "type": "string" },
63
-
"startedAt": { "type": "string", "format": "datetime" },
64
-
"postCount": { "type": "integer" },
65
-
"status": { "type": "string", "knownValues": ["hot"] },
66
-
"category": { "type": "string" },
93
+
"topic": {
94
+
"type": "string"
95
+
},
96
+
"displayName": {
97
+
"type": "string"
98
+
},
99
+
"link": {
100
+
"type": "string"
101
+
},
102
+
"startedAt": {
103
+
"type": "string",
104
+
"format": "datetime"
105
+
},
106
+
"postCount": {
107
+
"type": "integer"
108
+
},
109
+
"status": {
110
+
"type": "string",
111
+
"knownValues": ["hot"]
112
+
},
113
+
"category": {
114
+
"type": "string"
115
+
},
67
116
"actors": {
68
117
"type": "array",
69
118
"items": {
···
77
126
"type": "object",
78
127
"required": ["post", "moreParents", "moreReplies", "opThread", "hiddenByThreadgate", "mutedByViewer"],
79
128
"properties": {
80
-
"post": { "type": "ref", "ref": "app.bsky.feed.defs#postView" },
129
+
"post": {
130
+
"type": "ref",
131
+
"ref": "app.bsky.feed.defs#postView"
132
+
},
81
133
"moreParents": {
82
134
"type": "boolean",
83
135
"description": "This post has more parents that were not present in the response. This is just a boolean, without the number of parents."
···
112
164
"type": "object",
113
165
"required": ["author"],
114
166
"properties": {
115
-
"author": { "type": "ref", "ref": "app.bsky.feed.defs#blockedAuthor" }
167
+
"author": {
168
+
"type": "ref",
169
+
"ref": "app.bsky.feed.defs#blockedAuthor"
170
+
}
116
171
}
117
172
},
118
173
"ageAssuranceState": {
lexdocs/bluesky/app/bsky/unspecced/getAgeAssuranceState.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getAgeAssuranceState.json
lexdocs/bluesky/app/bsky/unspecced/getAgeAssuranceState.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getAgeAssuranceState.json
+11
-3
lexdocs/bluesky/app/bsky/unspecced/getConfig.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getConfig.json
+11
-3
lexdocs/bluesky/app/bsky/unspecced/getConfig.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getConfig.json
···
11
11
"type": "object",
12
12
"required": [],
13
13
"properties": {
14
-
"checkEmailConfirmed": { "type": "boolean" },
14
+
"checkEmailConfirmed": {
15
+
"type": "boolean"
16
+
},
15
17
"liveNow": {
16
18
"type": "array",
17
-
"items": { "type": "ref", "ref": "#liveNowConfig" }
19
+
"items": {
20
+
"type": "ref",
21
+
"ref": "#liveNowConfig"
22
+
}
18
23
}
19
24
}
20
25
}
···
24
29
"type": "object",
25
30
"required": ["did", "domains"],
26
31
"properties": {
27
-
"did": { "type": "string", "format": "did" },
32
+
"did": {
33
+
"type": "string",
34
+
"format": "did"
35
+
},
28
36
"domains": {
29
37
"type": "array",
30
38
"items": {
lexdocs/bluesky/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.json
lexdocs/bluesky/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.json
lexdocs/bluesky/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.json
lexdocs/bluesky/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.json
+9
-3
lexdocs/bluesky/app/bsky/unspecced/getPopularFeedGenerators.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getPopularFeedGenerators.json
+9
-3
lexdocs/bluesky/app/bsky/unspecced/getPopularFeedGenerators.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getPopularFeedGenerators.json
···
14
14
"maximum": 100,
15
15
"default": 50
16
16
},
17
-
"cursor": { "type": "string" },
18
-
"query": { "type": "string" }
17
+
"cursor": {
18
+
"type": "string"
19
+
},
20
+
"query": {
21
+
"type": "string"
22
+
}
19
23
}
20
24
},
21
25
"output": {
···
24
28
"type": "object",
25
29
"required": ["feeds"],
26
30
"properties": {
27
-
"cursor": { "type": "string" },
31
+
"cursor": {
32
+
"type": "string"
33
+
},
28
34
"feeds": {
29
35
"type": "array",
30
36
"items": {
lexdocs/bluesky/app/bsky/unspecced/getPostThreadOtherV2.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getPostThreadOtherV2.json
lexdocs/bluesky/app/bsky/unspecced/getPostThreadOtherV2.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getPostThreadOtherV2.json
lexdocs/bluesky/app/bsky/unspecced/getPostThreadV2.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getPostThreadV2.json
lexdocs/bluesky/app/bsky/unspecced/getPostThreadV2.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getPostThreadV2.json
lexdocs/bluesky/app/bsky/unspecced/getSuggestedFeeds.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getSuggestedFeeds.json
lexdocs/bluesky/app/bsky/unspecced/getSuggestedFeeds.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getSuggestedFeeds.json
lexdocs/bluesky/app/bsky/unspecced/getSuggestedFeedsSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getSuggestedFeedsSkeleton.json
lexdocs/bluesky/app/bsky/unspecced/getSuggestedFeedsSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getSuggestedFeedsSkeleton.json
lexdocs/bluesky/app/bsky/unspecced/getSuggestedStarterPacks.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getSuggestedStarterPacks.json
lexdocs/bluesky/app/bsky/unspecced/getSuggestedStarterPacks.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getSuggestedStarterPacks.json
lexdocs/bluesky/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.json
lexdocs/bluesky/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.json
lexdocs/bluesky/app/bsky/unspecced/getSuggestedUsers.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getSuggestedUsers.json
lexdocs/bluesky/app/bsky/unspecced/getSuggestedUsers.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getSuggestedUsers.json
lexdocs/bluesky/app/bsky/unspecced/getSuggestedUsersSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getSuggestedUsersSkeleton.json
lexdocs/bluesky/app/bsky/unspecced/getSuggestedUsersSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getSuggestedUsersSkeleton.json
+6
-2
lexdocs/bluesky/app/bsky/unspecced/getSuggestionsSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getSuggestionsSkeleton.json
+6
-2
lexdocs/bluesky/app/bsky/unspecced/getSuggestionsSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getSuggestionsSkeleton.json
···
19
19
"maximum": 100,
20
20
"default": 50
21
21
},
22
-
"cursor": { "type": "string" },
22
+
"cursor": {
23
+
"type": "string"
24
+
},
23
25
"relativeToDid": {
24
26
"type": "string",
25
27
"format": "did",
···
33
35
"type": "object",
34
36
"required": ["actors"],
35
37
"properties": {
36
-
"cursor": { "type": "string" },
38
+
"cursor": {
39
+
"type": "string"
40
+
},
37
41
"actors": {
38
42
"type": "array",
39
43
"items": {
+7
-2
lexdocs/bluesky/app/bsky/unspecced/getTaggedSuggestions.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getTaggedSuggestions.json
+7
-2
lexdocs/bluesky/app/bsky/unspecced/getTaggedSuggestions.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getTaggedSuggestions.json
···
30
30
"type": "object",
31
31
"required": ["tag", "subjectType", "subject"],
32
32
"properties": {
33
-
"tag": { "type": "string" },
33
+
"tag": {
34
+
"type": "string"
35
+
},
34
36
"subjectType": {
35
37
"type": "string",
36
38
"knownValues": ["actor", "feed"]
37
39
},
38
-
"subject": { "type": "string", "format": "uri" }
40
+
"subject": {
41
+
"type": "string",
42
+
"format": "uri"
43
+
}
39
44
}
40
45
}
41
46
}
lexdocs/bluesky/app/bsky/unspecced/getTrendingTopics.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getTrendingTopics.json
lexdocs/bluesky/app/bsky/unspecced/getTrendingTopics.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getTrendingTopics.json
lexdocs/bluesky/app/bsky/unspecced/getTrends.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getTrends.json
lexdocs/bluesky/app/bsky/unspecced/getTrends.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getTrends.json
lexdocs/bluesky/app/bsky/unspecced/getTrendsSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getTrendsSkeleton.json
lexdocs/bluesky/app/bsky/unspecced/getTrendsSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/getTrendsSkeleton.json
+11
-1
lexdocs/bluesky/app/bsky/unspecced/initAgeAssurance.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/initAgeAssurance.json
+11
-1
lexdocs/bluesky/app/bsky/unspecced/initAgeAssurance.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/initAgeAssurance.json
···
33
33
"ref": "app.bsky.unspecced.defs#ageAssuranceState"
34
34
}
35
35
},
36
-
"errors": [{ "name": "InvalidEmail" }, { "name": "DidTooLong" }, { "name": "InvalidInitiation" }]
36
+
"errors": [
37
+
{
38
+
"name": "InvalidEmail"
39
+
},
40
+
{
41
+
"name": "DidTooLong"
42
+
},
43
+
{
44
+
"name": "InvalidInitiation"
45
+
}
46
+
]
37
47
}
38
48
}
39
49
}
+8
-2
lexdocs/bluesky/app/bsky/unspecced/searchActorsSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/searchActorsSkeleton.json
+8
-2
lexdocs/bluesky/app/bsky/unspecced/searchActorsSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/searchActorsSkeleton.json
···
40
40
"type": "object",
41
41
"required": ["actors"],
42
42
"properties": {
43
-
"cursor": { "type": "string" },
43
+
"cursor": {
44
+
"type": "string"
45
+
},
44
46
"hitsTotal": {
45
47
"type": "integer",
46
48
"description": "Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits."
···
55
57
}
56
58
}
57
59
},
58
-
"errors": [{ "name": "BadQueryString" }]
60
+
"errors": [
61
+
{
62
+
"name": "BadQueryString"
63
+
}
64
+
]
59
65
}
60
66
}
61
67
}
+8
-2
lexdocs/bluesky/app/bsky/unspecced/searchPostsSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/searchPostsSkeleton.json
+8
-2
lexdocs/bluesky/app/bsky/unspecced/searchPostsSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/searchPostsSkeleton.json
···
83
83
"type": "object",
84
84
"required": ["posts"],
85
85
"properties": {
86
-
"cursor": { "type": "string" },
86
+
"cursor": {
87
+
"type": "string"
88
+
},
87
89
"hitsTotal": {
88
90
"type": "integer",
89
91
"description": "Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits."
···
98
100
}
99
101
}
100
102
},
101
-
"errors": [{ "name": "BadQueryString" }]
103
+
"errors": [
104
+
{
105
+
"name": "BadQueryString"
106
+
}
107
+
]
102
108
}
103
109
}
104
110
}
lexdocs/bluesky/app/bsky/unspecced/searchStarterPacksSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/searchStarterPacksSkeleton.json
lexdocs/bluesky/app/bsky/unspecced/searchStarterPacksSkeleton.json
packages/definitions/bluesky/lexicons/app/bsky/unspecced/searchStarterPacksSkeleton.json
+16
-5
lexdocs/bluesky/app/bsky/video/defs.json
packages/definitions/bluesky/lexicons/app/bsky/video/defs.json
+16
-5
lexdocs/bluesky/app/bsky/video/defs.json
packages/definitions/bluesky/lexicons/app/bsky/video/defs.json
···
6
6
"type": "object",
7
7
"required": ["jobId", "did", "state"],
8
8
"properties": {
9
-
"jobId": { "type": "string" },
10
-
"did": { "type": "string", "format": "did" },
9
+
"jobId": {
10
+
"type": "string"
11
+
},
12
+
"did": {
13
+
"type": "string",
14
+
"format": "did"
15
+
},
11
16
"state": {
12
17
"type": "string",
13
18
"description": "The state of the video processing job. All values not listed as a known value indicate that the job is in process.",
···
19
24
"maximum": 100,
20
25
"description": "Progress within the current processing state."
21
26
},
22
-
"blob": { "type": "blob" },
23
-
"error": { "type": "string" },
24
-
"message": { "type": "string" }
27
+
"blob": {
28
+
"type": "blob"
29
+
},
30
+
"error": {
31
+
"type": "string"
32
+
},
33
+
"message": {
34
+
"type": "string"
35
+
}
25
36
}
26
37
}
27
38
}
lexdocs/bluesky/app/bsky/video/getJobStatus.json
packages/definitions/bluesky/lexicons/app/bsky/video/getJobStatus.json
lexdocs/bluesky/app/bsky/video/getJobStatus.json
packages/definitions/bluesky/lexicons/app/bsky/video/getJobStatus.json
-24
lexdocs/bluesky/app/bsky/video/getUploadLimits.json
-24
lexdocs/bluesky/app/bsky/video/getUploadLimits.json
···
1
-
{
2
-
"lexicon": 1,
3
-
"id": "app.bsky.video.getUploadLimits",
4
-
"defs": {
5
-
"main": {
6
-
"type": "query",
7
-
"description": "Get video upload limits for the authenticated user.",
8
-
"output": {
9
-
"encoding": "application/json",
10
-
"schema": {
11
-
"type": "object",
12
-
"required": ["canUpload"],
13
-
"properties": {
14
-
"canUpload": { "type": "boolean" },
15
-
"remainingDailyVideos": { "type": "integer" },
16
-
"remainingDailyBytes": { "type": "integer" },
17
-
"message": { "type": "string" },
18
-
"error": { "type": "string" }
19
-
}
20
-
}
21
-
}
22
-
}
23
-
}
24
-
}
lexdocs/bluesky/app/bsky/video/uploadVideo.json
packages/definitions/bluesky/lexicons/app/bsky/video/uploadVideo.json
lexdocs/bluesky/app/bsky/video/uploadVideo.json
packages/definitions/bluesky/lexicons/app/bsky/video/uploadVideo.json
lexdocs/bluesky/chat/bsky/actor/declaration.json
packages/definitions/bluesky/lexicons/chat/bsky/actor/declaration.json
lexdocs/bluesky/chat/bsky/actor/declaration.json
packages/definitions/bluesky/lexicons/chat/bsky/actor/declaration.json
+20
-5
lexdocs/bluesky/chat/bsky/actor/defs.json
packages/definitions/bluesky/lexicons/chat/bsky/actor/defs.json
+20
-5
lexdocs/bluesky/chat/bsky/actor/defs.json
packages/definitions/bluesky/lexicons/chat/bsky/actor/defs.json
···
6
6
"type": "object",
7
7
"required": ["did", "handle"],
8
8
"properties": {
9
-
"did": { "type": "string", "format": "did" },
10
-
"handle": { "type": "string", "format": "handle" },
9
+
"did": {
10
+
"type": "string",
11
+
"format": "did"
12
+
},
13
+
"handle": {
14
+
"type": "string",
15
+
"format": "handle"
16
+
},
11
17
"displayName": {
12
18
"type": "string",
13
19
"maxGraphemes": 64,
14
20
"maxLength": 640
15
21
},
16
-
"avatar": { "type": "string", "format": "uri" },
22
+
"avatar": {
23
+
"type": "string",
24
+
"format": "uri"
25
+
},
17
26
"associated": {
18
27
"type": "ref",
19
28
"ref": "app.bsky.actor.defs#profileAssociated"
20
29
},
21
-
"viewer": { "type": "ref", "ref": "app.bsky.actor.defs#viewerState" },
30
+
"viewer": {
31
+
"type": "ref",
32
+
"ref": "app.bsky.actor.defs#viewerState"
33
+
},
22
34
"labels": {
23
35
"type": "array",
24
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
36
+
"items": {
37
+
"type": "ref",
38
+
"ref": "com.atproto.label.defs#label"
39
+
}
25
40
},
26
41
"chatDisabled": {
27
42
"type": "boolean",
lexdocs/bluesky/chat/bsky/actor/deleteAccount.json
packages/definitions/bluesky/lexicons/chat/bsky/actor/deleteAccount.json
lexdocs/bluesky/chat/bsky/actor/deleteAccount.json
packages/definitions/bluesky/lexicons/chat/bsky/actor/deleteAccount.json
lexdocs/bluesky/chat/bsky/actor/exportAccountData.json
packages/definitions/bluesky/lexicons/chat/bsky/actor/exportAccountData.json
lexdocs/bluesky/chat/bsky/actor/exportAccountData.json
packages/definitions/bluesky/lexicons/chat/bsky/actor/exportAccountData.json
+3
-1
lexdocs/bluesky/chat/bsky/convo/acceptConvo.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/acceptConvo.json
+3
-1
lexdocs/bluesky/chat/bsky/convo/acceptConvo.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/acceptConvo.json
+6
-2
lexdocs/bluesky/chat/bsky/convo/addReaction.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/addReaction.json
+6
-2
lexdocs/bluesky/chat/bsky/convo/addReaction.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/addReaction.json
···
11
11
"type": "object",
12
12
"required": ["convoId", "messageId", "value"],
13
13
"properties": {
14
-
"convoId": { "type": "string" },
15
-
"messageId": { "type": "string" },
14
+
"convoId": {
15
+
"type": "string"
16
+
},
17
+
"messageId": {
18
+
"type": "string"
19
+
},
16
20
"value": {
17
21
"type": "string",
18
22
"minLength": 1,
+157
-47
lexdocs/bluesky/chat/bsky/convo/defs.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/defs.json
+157
-47
lexdocs/bluesky/chat/bsky/convo/defs.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/defs.json
···
6
6
"type": "object",
7
7
"required": ["did", "messageId", "convoId"],
8
8
"properties": {
9
-
"did": { "type": "string", "format": "did" },
10
-
"convoId": { "type": "string" },
11
-
"messageId": { "type": "string" }
9
+
"did": {
10
+
"type": "string",
11
+
"format": "did"
12
+
},
13
+
"convoId": {
14
+
"type": "string"
15
+
},
16
+
"messageId": {
17
+
"type": "string"
18
+
}
12
19
}
13
20
},
14
21
"messageInput": {
···
23
30
"facets": {
24
31
"type": "array",
25
32
"description": "Annotations of text (mentions, URLs, hashtags, etc)",
26
-
"items": { "type": "ref", "ref": "app.bsky.richtext.facet" }
33
+
"items": {
34
+
"type": "ref",
35
+
"ref": "app.bsky.richtext.facet"
36
+
}
27
37
},
28
38
"embed": {
29
39
"type": "union",
···
35
45
"type": "object",
36
46
"required": ["id", "rev", "text", "sender", "sentAt"],
37
47
"properties": {
38
-
"id": { "type": "string" },
39
-
"rev": { "type": "string" },
48
+
"id": {
49
+
"type": "string"
50
+
},
51
+
"rev": {
52
+
"type": "string"
53
+
},
40
54
"text": {
41
55
"type": "string",
42
56
"maxLength": 10000,
···
45
59
"facets": {
46
60
"type": "array",
47
61
"description": "Annotations of text (mentions, URLs, hashtags, etc)",
48
-
"items": { "type": "ref", "ref": "app.bsky.richtext.facet" }
62
+
"items": {
63
+
"type": "ref",
64
+
"ref": "app.bsky.richtext.facet"
65
+
}
49
66
},
50
67
"embed": {
51
68
"type": "union",
···
54
71
"reactions": {
55
72
"type": "array",
56
73
"description": "Reactions to this message, in ascending order of creation time.",
57
-
"items": { "type": "ref", "ref": "#reactionView" }
74
+
"items": {
75
+
"type": "ref",
76
+
"ref": "#reactionView"
77
+
}
78
+
},
79
+
"sender": {
80
+
"type": "ref",
81
+
"ref": "#messageViewSender"
58
82
},
59
-
"sender": { "type": "ref", "ref": "#messageViewSender" },
60
-
"sentAt": { "type": "string", "format": "datetime" }
83
+
"sentAt": {
84
+
"type": "string",
85
+
"format": "datetime"
86
+
}
61
87
}
62
88
},
63
89
"deletedMessageView": {
64
90
"type": "object",
65
91
"required": ["id", "rev", "sender", "sentAt"],
66
92
"properties": {
67
-
"id": { "type": "string" },
68
-
"rev": { "type": "string" },
69
-
"sender": { "type": "ref", "ref": "#messageViewSender" },
70
-
"sentAt": { "type": "string", "format": "datetime" }
93
+
"id": {
94
+
"type": "string"
95
+
},
96
+
"rev": {
97
+
"type": "string"
98
+
},
99
+
"sender": {
100
+
"type": "ref",
101
+
"ref": "#messageViewSender"
102
+
},
103
+
"sentAt": {
104
+
"type": "string",
105
+
"format": "datetime"
106
+
}
71
107
}
72
108
},
73
109
"messageViewSender": {
74
110
"type": "object",
75
111
"required": ["did"],
76
112
"properties": {
77
-
"did": { "type": "string", "format": "did" }
113
+
"did": {
114
+
"type": "string",
115
+
"format": "did"
116
+
}
78
117
}
79
118
},
80
119
"reactionView": {
81
120
"type": "object",
82
121
"required": ["value", "sender", "createdAt"],
83
122
"properties": {
84
-
"value": { "type": "string" },
85
-
"sender": { "type": "ref", "ref": "#reactionViewSender" },
86
-
"createdAt": { "type": "string", "format": "datetime" }
123
+
"value": {
124
+
"type": "string"
125
+
},
126
+
"sender": {
127
+
"type": "ref",
128
+
"ref": "#reactionViewSender"
129
+
},
130
+
"createdAt": {
131
+
"type": "string",
132
+
"format": "datetime"
133
+
}
87
134
}
88
135
},
89
136
"reactionViewSender": {
90
137
"type": "object",
91
138
"required": ["did"],
92
139
"properties": {
93
-
"did": { "type": "string", "format": "did" }
140
+
"did": {
141
+
"type": "string",
142
+
"format": "did"
143
+
}
94
144
}
95
145
},
96
146
"messageAndReactionView": {
97
147
"type": "object",
98
148
"required": ["message", "reaction"],
99
149
"properties": {
100
-
"message": { "type": "ref", "ref": "#messageView" },
101
-
"reaction": { "type": "ref", "ref": "#reactionView" }
150
+
"message": {
151
+
"type": "ref",
152
+
"ref": "#messageView"
153
+
},
154
+
"reaction": {
155
+
"type": "ref",
156
+
"ref": "#reactionView"
157
+
}
102
158
}
103
159
},
104
160
"convoView": {
105
161
"type": "object",
106
162
"required": ["id", "rev", "members", "muted", "unreadCount"],
107
163
"properties": {
108
-
"id": { "type": "string" },
109
-
"rev": { "type": "string" },
164
+
"id": {
165
+
"type": "string"
166
+
},
167
+
"rev": {
168
+
"type": "string"
169
+
},
110
170
"members": {
111
171
"type": "array",
112
172
"items": {
···
122
182
"type": "union",
123
183
"refs": ["#messageAndReactionView"]
124
184
},
125
-
"muted": { "type": "boolean" },
185
+
"muted": {
186
+
"type": "boolean"
187
+
},
126
188
"status": {
127
189
"type": "string",
128
190
"knownValues": ["request", "accepted"]
129
191
},
130
-
"unreadCount": { "type": "integer" }
192
+
"unreadCount": {
193
+
"type": "integer"
194
+
}
131
195
}
132
196
},
133
197
"logBeginConvo": {
134
198
"type": "object",
135
199
"required": ["rev", "convoId"],
136
200
"properties": {
137
-
"rev": { "type": "string" },
138
-
"convoId": { "type": "string" }
201
+
"rev": {
202
+
"type": "string"
203
+
},
204
+
"convoId": {
205
+
"type": "string"
206
+
}
139
207
}
140
208
},
141
209
"logAcceptConvo": {
142
210
"type": "object",
143
211
"required": ["rev", "convoId"],
144
212
"properties": {
145
-
"rev": { "type": "string" },
146
-
"convoId": { "type": "string" }
213
+
"rev": {
214
+
"type": "string"
215
+
},
216
+
"convoId": {
217
+
"type": "string"
218
+
}
147
219
}
148
220
},
149
221
"logLeaveConvo": {
150
222
"type": "object",
151
223
"required": ["rev", "convoId"],
152
224
"properties": {
153
-
"rev": { "type": "string" },
154
-
"convoId": { "type": "string" }
225
+
"rev": {
226
+
"type": "string"
227
+
},
228
+
"convoId": {
229
+
"type": "string"
230
+
}
155
231
}
156
232
},
157
233
"logMuteConvo": {
158
234
"type": "object",
159
235
"required": ["rev", "convoId"],
160
236
"properties": {
161
-
"rev": { "type": "string" },
162
-
"convoId": { "type": "string" }
237
+
"rev": {
238
+
"type": "string"
239
+
},
240
+
"convoId": {
241
+
"type": "string"
242
+
}
163
243
}
164
244
},
165
245
"logUnmuteConvo": {
166
246
"type": "object",
167
247
"required": ["rev", "convoId"],
168
248
"properties": {
169
-
"rev": { "type": "string" },
170
-
"convoId": { "type": "string" }
249
+
"rev": {
250
+
"type": "string"
251
+
},
252
+
"convoId": {
253
+
"type": "string"
254
+
}
171
255
}
172
256
},
173
257
"logCreateMessage": {
174
258
"type": "object",
175
259
"required": ["rev", "convoId", "message"],
176
260
"properties": {
177
-
"rev": { "type": "string" },
178
-
"convoId": { "type": "string" },
261
+
"rev": {
262
+
"type": "string"
263
+
},
264
+
"convoId": {
265
+
"type": "string"
266
+
},
179
267
"message": {
180
268
"type": "union",
181
269
"refs": ["#messageView", "#deletedMessageView"]
···
186
274
"type": "object",
187
275
"required": ["rev", "convoId", "message"],
188
276
"properties": {
189
-
"rev": { "type": "string" },
190
-
"convoId": { "type": "string" },
277
+
"rev": {
278
+
"type": "string"
279
+
},
280
+
"convoId": {
281
+
"type": "string"
282
+
},
191
283
"message": {
192
284
"type": "union",
193
285
"refs": ["#messageView", "#deletedMessageView"]
···
198
290
"type": "object",
199
291
"required": ["rev", "convoId", "message"],
200
292
"properties": {
201
-
"rev": { "type": "string" },
202
-
"convoId": { "type": "string" },
293
+
"rev": {
294
+
"type": "string"
295
+
},
296
+
"convoId": {
297
+
"type": "string"
298
+
},
203
299
"message": {
204
300
"type": "union",
205
301
"refs": ["#messageView", "#deletedMessageView"]
···
210
306
"type": "object",
211
307
"required": ["rev", "convoId", "message", "reaction"],
212
308
"properties": {
213
-
"rev": { "type": "string" },
214
-
"convoId": { "type": "string" },
309
+
"rev": {
310
+
"type": "string"
311
+
},
312
+
"convoId": {
313
+
"type": "string"
314
+
},
215
315
"message": {
216
316
"type": "union",
217
317
"refs": ["#messageView", "#deletedMessageView"]
218
318
},
219
-
"reaction": { "type": "ref", "ref": "#reactionView" }
319
+
"reaction": {
320
+
"type": "ref",
321
+
"ref": "#reactionView"
322
+
}
220
323
}
221
324
},
222
325
"logRemoveReaction": {
223
326
"type": "object",
224
327
"required": ["rev", "convoId", "message", "reaction"],
225
328
"properties": {
226
-
"rev": { "type": "string" },
227
-
"convoId": { "type": "string" },
329
+
"rev": {
330
+
"type": "string"
331
+
},
332
+
"convoId": {
333
+
"type": "string"
334
+
},
228
335
"message": {
229
336
"type": "union",
230
337
"refs": ["#messageView", "#deletedMessageView"]
231
338
},
232
-
"reaction": { "type": "ref", "ref": "#reactionView" }
339
+
"reaction": {
340
+
"type": "ref",
341
+
"ref": "#reactionView"
342
+
}
233
343
}
234
344
}
235
345
}
+6
-2
lexdocs/bluesky/chat/bsky/convo/deleteMessageForSelf.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/deleteMessageForSelf.json
+6
-2
lexdocs/bluesky/chat/bsky/convo/deleteMessageForSelf.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/deleteMessageForSelf.json
+3
-1
lexdocs/bluesky/chat/bsky/convo/getConvo.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/getConvo.json
+3
-1
lexdocs/bluesky/chat/bsky/convo/getConvo.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/getConvo.json
lexdocs/bluesky/chat/bsky/convo/getConvoAvailability.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/getConvoAvailability.json
lexdocs/bluesky/chat/bsky/convo/getConvoAvailability.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/getConvoAvailability.json
lexdocs/bluesky/chat/bsky/convo/getConvoForMembers.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/getConvoForMembers.json
lexdocs/bluesky/chat/bsky/convo/getConvoForMembers.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/getConvoForMembers.json
+6
-2
lexdocs/bluesky/chat/bsky/convo/getLog.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/getLog.json
+6
-2
lexdocs/bluesky/chat/bsky/convo/getLog.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/getLog.json
···
8
8
"type": "params",
9
9
"required": [],
10
10
"properties": {
11
-
"cursor": { "type": "string" }
11
+
"cursor": {
12
+
"type": "string"
13
+
}
12
14
}
13
15
},
14
16
"output": {
···
17
19
"type": "object",
18
20
"required": ["logs"],
19
21
"properties": {
20
-
"cursor": { "type": "string" },
22
+
"cursor": {
23
+
"type": "string"
24
+
},
21
25
"logs": {
22
26
"type": "array",
23
27
"items": {
+9
-3
lexdocs/bluesky/chat/bsky/convo/getMessages.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/getMessages.json
+9
-3
lexdocs/bluesky/chat/bsky/convo/getMessages.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/getMessages.json
···
8
8
"type": "params",
9
9
"required": ["convoId"],
10
10
"properties": {
11
-
"convoId": { "type": "string" },
11
+
"convoId": {
12
+
"type": "string"
13
+
},
12
14
"limit": {
13
15
"type": "integer",
14
16
"minimum": 1,
15
17
"maximum": 100,
16
18
"default": 50
17
19
},
18
-
"cursor": { "type": "string" }
20
+
"cursor": {
21
+
"type": "string"
22
+
}
19
23
}
20
24
},
21
25
"output": {
···
24
28
"type": "object",
25
29
"required": ["messages"],
26
30
"properties": {
27
-
"cursor": { "type": "string" },
31
+
"cursor": {
32
+
"type": "string"
33
+
},
28
34
"messages": {
29
35
"type": "array",
30
36
"items": {
+9
-3
lexdocs/bluesky/chat/bsky/convo/leaveConvo.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/leaveConvo.json
+9
-3
lexdocs/bluesky/chat/bsky/convo/leaveConvo.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/leaveConvo.json
···
10
10
"type": "object",
11
11
"required": ["convoId"],
12
12
"properties": {
13
-
"convoId": { "type": "string" }
13
+
"convoId": {
14
+
"type": "string"
15
+
}
14
16
}
15
17
}
16
18
},
···
20
22
"type": "object",
21
23
"required": ["convoId", "rev"],
22
24
"properties": {
23
-
"convoId": { "type": "string" },
24
-
"rev": { "type": "string" }
25
+
"convoId": {
26
+
"type": "string"
27
+
},
28
+
"rev": {
29
+
"type": "string"
30
+
}
25
31
}
26
32
}
27
33
}
+6
-2
lexdocs/bluesky/chat/bsky/convo/listConvos.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/listConvos.json
+6
-2
lexdocs/bluesky/chat/bsky/convo/listConvos.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/listConvos.json
···
13
13
"maximum": 100,
14
14
"default": 50
15
15
},
16
-
"cursor": { "type": "string" },
16
+
"cursor": {
17
+
"type": "string"
18
+
},
17
19
"readState": {
18
20
"type": "string",
19
21
"knownValues": ["unread"]
···
30
32
"type": "object",
31
33
"required": ["convos"],
32
34
"properties": {
33
-
"cursor": { "type": "string" },
35
+
"cursor": {
36
+
"type": "string"
37
+
},
34
38
"convos": {
35
39
"type": "array",
36
40
"items": {
+3
-1
lexdocs/bluesky/chat/bsky/convo/muteConvo.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/muteConvo.json
+3
-1
lexdocs/bluesky/chat/bsky/convo/muteConvo.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/muteConvo.json
+6
-2
lexdocs/bluesky/chat/bsky/convo/removeReaction.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/removeReaction.json
+6
-2
lexdocs/bluesky/chat/bsky/convo/removeReaction.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/removeReaction.json
···
11
11
"type": "object",
12
12
"required": ["convoId", "messageId", "value"],
13
13
"properties": {
14
-
"convoId": { "type": "string" },
15
-
"messageId": { "type": "string" },
14
+
"convoId": {
15
+
"type": "string"
16
+
},
17
+
"messageId": {
18
+
"type": "string"
19
+
},
16
20
"value": {
17
21
"type": "string",
18
22
"minLength": 1,
+3
-1
lexdocs/bluesky/chat/bsky/convo/sendMessage.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/sendMessage.json
+3
-1
lexdocs/bluesky/chat/bsky/convo/sendMessage.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/sendMessage.json
+3
-1
lexdocs/bluesky/chat/bsky/convo/sendMessageBatch.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/sendMessageBatch.json
+3
-1
lexdocs/bluesky/chat/bsky/convo/sendMessageBatch.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/sendMessageBatch.json
+3
-1
lexdocs/bluesky/chat/bsky/convo/unmuteConvo.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/unmuteConvo.json
+3
-1
lexdocs/bluesky/chat/bsky/convo/unmuteConvo.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/unmuteConvo.json
lexdocs/bluesky/chat/bsky/convo/updateAllRead.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/updateAllRead.json
lexdocs/bluesky/chat/bsky/convo/updateAllRead.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/updateAllRead.json
+6
-2
lexdocs/bluesky/chat/bsky/convo/updateRead.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/updateRead.json
+6
-2
lexdocs/bluesky/chat/bsky/convo/updateRead.json
packages/definitions/bluesky/lexicons/chat/bsky/convo/updateRead.json
-38
lexdocs/bluesky/chat/bsky/moderation/getActorMetadata.json
-38
lexdocs/bluesky/chat/bsky/moderation/getActorMetadata.json
···
1
-
{
2
-
"lexicon": 1,
3
-
"id": "chat.bsky.moderation.getActorMetadata",
4
-
"defs": {
5
-
"main": {
6
-
"type": "query",
7
-
"parameters": {
8
-
"type": "params",
9
-
"required": ["actor"],
10
-
"properties": {
11
-
"actor": { "type": "string", "format": "did" }
12
-
}
13
-
},
14
-
"output": {
15
-
"encoding": "application/json",
16
-
"schema": {
17
-
"type": "object",
18
-
"required": ["day", "month", "all"],
19
-
"properties": {
20
-
"day": { "type": "ref", "ref": "#metadata" },
21
-
"month": { "type": "ref", "ref": "#metadata" },
22
-
"all": { "type": "ref", "ref": "#metadata" }
23
-
}
24
-
}
25
-
}
26
-
},
27
-
"metadata": {
28
-
"type": "object",
29
-
"required": ["messagesSent", "messagesReceived", "convos", "convosStarted"],
30
-
"properties": {
31
-
"messagesSent": { "type": "integer" },
32
-
"messagesReceived": { "type": "integer" },
33
-
"convos": { "type": "integer" },
34
-
"convosStarted": { "type": "integer" }
35
-
}
36
-
}
37
-
}
38
-
}
+11
-3
lexdocs/bluesky/chat/bsky/moderation/getMessageContext.json
packages/definitions/bluesky/lexicons/chat/bsky/moderation/getMessageContext.json
+11
-3
lexdocs/bluesky/chat/bsky/moderation/getMessageContext.json
packages/definitions/bluesky/lexicons/chat/bsky/moderation/getMessageContext.json
···
12
12
"type": "string",
13
13
"description": "Conversation that the message is from. NOTE: this field will eventually be required."
14
14
},
15
-
"messageId": { "type": "string" },
16
-
"before": { "type": "integer", "default": 5 },
17
-
"after": { "type": "integer", "default": 5 }
15
+
"messageId": {
16
+
"type": "string"
17
+
},
18
+
"before": {
19
+
"type": "integer",
20
+
"default": 5
21
+
},
22
+
"after": {
23
+
"type": "integer",
24
+
"default": 5
25
+
}
18
26
}
19
27
},
20
28
"output": {
+10
-3
lexdocs/bluesky/chat/bsky/moderation/updateActorAccess.json
packages/definitions/bluesky/lexicons/chat/bsky/moderation/updateActorAccess.json
+10
-3
lexdocs/bluesky/chat/bsky/moderation/updateActorAccess.json
packages/definitions/bluesky/lexicons/chat/bsky/moderation/updateActorAccess.json
···
10
10
"type": "object",
11
11
"required": ["actor", "allowAccess"],
12
12
"properties": {
13
-
"actor": { "type": "string", "format": "did" },
14
-
"allowAccess": { "type": "boolean" },
15
-
"ref": { "type": "string" }
13
+
"actor": {
14
+
"type": "string",
15
+
"format": "did"
16
+
},
17
+
"allowAccess": {
18
+
"type": "boolean"
19
+
},
20
+
"ref": {
21
+
"type": "string"
22
+
}
16
23
}
17
24
}
18
25
}
-71
lexdocs/bluesky/com/atproto/admin/defs.json
-71
lexdocs/bluesky/com/atproto/admin/defs.json
···
1
-
{
2
-
"lexicon": 1,
3
-
"id": "com.atproto.admin.defs",
4
-
"defs": {
5
-
"statusAttr": {
6
-
"type": "object",
7
-
"required": ["applied"],
8
-
"properties": {
9
-
"applied": { "type": "boolean" },
10
-
"ref": { "type": "string" }
11
-
}
12
-
},
13
-
"accountView": {
14
-
"type": "object",
15
-
"required": ["did", "handle", "indexedAt"],
16
-
"properties": {
17
-
"did": { "type": "string", "format": "did" },
18
-
"handle": { "type": "string", "format": "handle" },
19
-
"email": { "type": "string" },
20
-
"relatedRecords": { "type": "array", "items": { "type": "unknown" } },
21
-
"indexedAt": { "type": "string", "format": "datetime" },
22
-
"invitedBy": {
23
-
"type": "ref",
24
-
"ref": "com.atproto.server.defs#inviteCode"
25
-
},
26
-
"invites": {
27
-
"type": "array",
28
-
"items": {
29
-
"type": "ref",
30
-
"ref": "com.atproto.server.defs#inviteCode"
31
-
}
32
-
},
33
-
"invitesDisabled": { "type": "boolean" },
34
-
"emailConfirmedAt": { "type": "string", "format": "datetime" },
35
-
"inviteNote": { "type": "string" },
36
-
"deactivatedAt": { "type": "string", "format": "datetime" },
37
-
"threatSignatures": {
38
-
"type": "array",
39
-
"items": {
40
-
"type": "ref",
41
-
"ref": "#threatSignature"
42
-
}
43
-
}
44
-
}
45
-
},
46
-
"repoRef": {
47
-
"type": "object",
48
-
"required": ["did"],
49
-
"properties": {
50
-
"did": { "type": "string", "format": "did" }
51
-
}
52
-
},
53
-
"repoBlobRef": {
54
-
"type": "object",
55
-
"required": ["did", "cid"],
56
-
"properties": {
57
-
"did": { "type": "string", "format": "did" },
58
-
"cid": { "type": "string", "format": "cid" },
59
-
"recordUri": { "type": "string", "format": "at-uri" }
60
-
}
61
-
},
62
-
"threatSignature": {
63
-
"type": "object",
64
-
"required": ["property", "value"],
65
-
"properties": {
66
-
"property": { "type": "string" },
67
-
"value": { "type": "string" }
68
-
}
69
-
}
70
-
}
71
-
}
+4
-1
lexdocs/bluesky/com/atproto/admin/deleteAccount.json
packages/definitions/atproto/lexicons/com/atproto/admin/deleteAccount.json
+4
-1
lexdocs/bluesky/com/atproto/admin/deleteAccount.json
packages/definitions/atproto/lexicons/com/atproto/admin/deleteAccount.json
+4
-1
lexdocs/bluesky/com/atproto/admin/disableAccountInvites.json
packages/definitions/atproto/lexicons/com/atproto/admin/disableAccountInvites.json
+4
-1
lexdocs/bluesky/com/atproto/admin/disableAccountInvites.json
packages/definitions/atproto/lexicons/com/atproto/admin/disableAccountInvites.json
···
11
11
"type": "object",
12
12
"required": ["account"],
13
13
"properties": {
14
-
"account": { "type": "string", "format": "did" },
14
+
"account": {
15
+
"type": "string",
16
+
"format": "did"
17
+
},
15
18
"note": {
16
19
"type": "string",
17
20
"description": "Optional reason for disabled invites."
+6
-2
lexdocs/bluesky/com/atproto/admin/disableInviteCodes.json
packages/definitions/atproto/lexicons/com/atproto/admin/disableInviteCodes.json
+6
-2
lexdocs/bluesky/com/atproto/admin/disableInviteCodes.json
packages/definitions/atproto/lexicons/com/atproto/admin/disableInviteCodes.json
···
12
12
"properties": {
13
13
"codes": {
14
14
"type": "array",
15
-
"items": { "type": "string" }
15
+
"items": {
16
+
"type": "string"
17
+
}
16
18
},
17
19
"accounts": {
18
20
"type": "array",
19
-
"items": { "type": "string" }
21
+
"items": {
22
+
"type": "string"
23
+
}
20
24
}
21
25
}
22
26
}
+4
-1
lexdocs/bluesky/com/atproto/admin/enableAccountInvites.json
packages/definitions/atproto/lexicons/com/atproto/admin/enableAccountInvites.json
+4
-1
lexdocs/bluesky/com/atproto/admin/enableAccountInvites.json
packages/definitions/atproto/lexicons/com/atproto/admin/enableAccountInvites.json
···
11
11
"type": "object",
12
12
"required": ["account"],
13
13
"properties": {
14
-
"account": { "type": "string", "format": "did" },
14
+
"account": {
15
+
"type": "string",
16
+
"format": "did"
17
+
},
15
18
"note": {
16
19
"type": "string",
17
20
"description": "Optional reason for enabled invites."
+4
-1
lexdocs/bluesky/com/atproto/admin/getAccountInfo.json
packages/definitions/atproto/lexicons/com/atproto/admin/getAccountInfo.json
+4
-1
lexdocs/bluesky/com/atproto/admin/getAccountInfo.json
packages/definitions/atproto/lexicons/com/atproto/admin/getAccountInfo.json
+4
-1
lexdocs/bluesky/com/atproto/admin/getAccountInfos.json
packages/definitions/atproto/lexicons/com/atproto/admin/getAccountInfos.json
+4
-1
lexdocs/bluesky/com/atproto/admin/getAccountInfos.json
packages/definitions/atproto/lexicons/com/atproto/admin/getAccountInfos.json
+6
-2
lexdocs/bluesky/com/atproto/admin/getInviteCodes.json
packages/definitions/atproto/lexicons/com/atproto/admin/getInviteCodes.json
+6
-2
lexdocs/bluesky/com/atproto/admin/getInviteCodes.json
packages/definitions/atproto/lexicons/com/atproto/admin/getInviteCodes.json
···
19
19
"maximum": 500,
20
20
"default": 100
21
21
},
22
-
"cursor": { "type": "string" }
22
+
"cursor": {
23
+
"type": "string"
24
+
}
23
25
}
24
26
},
25
27
"output": {
···
28
30
"type": "object",
29
31
"required": ["codes"],
30
32
"properties": {
31
-
"cursor": { "type": "string" },
33
+
"cursor": {
34
+
"type": "string"
35
+
},
32
36
"codes": {
33
37
"type": "array",
34
38
"items": {
+12
-3
lexdocs/bluesky/com/atproto/admin/getSubjectStatus.json
packages/definitions/atproto/lexicons/com/atproto/admin/getSubjectStatus.json
+12
-3
lexdocs/bluesky/com/atproto/admin/getSubjectStatus.json
packages/definitions/atproto/lexicons/com/atproto/admin/getSubjectStatus.json
···
8
8
"parameters": {
9
9
"type": "params",
10
10
"properties": {
11
-
"did": { "type": "string", "format": "did" },
12
-
"uri": { "type": "string", "format": "at-uri" },
13
-
"blob": { "type": "string", "format": "cid" }
11
+
"did": {
12
+
"type": "string",
13
+
"format": "did"
14
+
},
15
+
"uri": {
16
+
"type": "string",
17
+
"format": "at-uri"
18
+
},
19
+
"blob": {
20
+
"type": "string",
21
+
"format": "cid"
22
+
}
14
23
}
15
24
},
16
25
"output": {
+9
-3
lexdocs/bluesky/com/atproto/admin/searchAccounts.json
packages/definitions/atproto/lexicons/com/atproto/admin/searchAccounts.json
+9
-3
lexdocs/bluesky/com/atproto/admin/searchAccounts.json
packages/definitions/atproto/lexicons/com/atproto/admin/searchAccounts.json
···
8
8
"parameters": {
9
9
"type": "params",
10
10
"properties": {
11
-
"email": { "type": "string" },
12
-
"cursor": { "type": "string" },
11
+
"email": {
12
+
"type": "string"
13
+
},
14
+
"cursor": {
15
+
"type": "string"
16
+
},
13
17
"limit": {
14
18
"type": "integer",
15
19
"minimum": 1,
···
24
28
"type": "object",
25
29
"required": ["accounts"],
26
30
"properties": {
27
-
"cursor": { "type": "string" },
31
+
"cursor": {
32
+
"type": "string"
33
+
},
28
34
"accounts": {
29
35
"type": "array",
30
36
"items": {
+17
-5
lexdocs/bluesky/com/atproto/admin/sendEmail.json
packages/definitions/atproto/lexicons/com/atproto/admin/sendEmail.json
+17
-5
lexdocs/bluesky/com/atproto/admin/sendEmail.json
packages/definitions/atproto/lexicons/com/atproto/admin/sendEmail.json
···
11
11
"type": "object",
12
12
"required": ["recipientDid", "content", "senderDid"],
13
13
"properties": {
14
-
"recipientDid": { "type": "string", "format": "did" },
15
-
"content": { "type": "string" },
16
-
"subject": { "type": "string" },
17
-
"senderDid": { "type": "string", "format": "did" },
14
+
"recipientDid": {
15
+
"type": "string",
16
+
"format": "did"
17
+
},
18
+
"content": {
19
+
"type": "string"
20
+
},
21
+
"subject": {
22
+
"type": "string"
23
+
},
24
+
"senderDid": {
25
+
"type": "string",
26
+
"format": "did"
27
+
},
18
28
"comment": {
19
29
"type": "string",
20
30
"description": "Additional comment by the sender that won't be used in the email itself but helpful to provide more context for moderators/reviewers"
···
28
38
"type": "object",
29
39
"required": ["sent"],
30
40
"properties": {
31
-
"sent": { "type": "boolean" }
41
+
"sent": {
42
+
"type": "boolean"
43
+
}
32
44
}
33
45
}
34
46
}
+3
-1
lexdocs/bluesky/com/atproto/admin/updateAccountEmail.json
packages/definitions/atproto/lexicons/com/atproto/admin/updateAccountEmail.json
+3
-1
lexdocs/bluesky/com/atproto/admin/updateAccountEmail.json
packages/definitions/atproto/lexicons/com/atproto/admin/updateAccountEmail.json
+8
-2
lexdocs/bluesky/com/atproto/admin/updateAccountHandle.json
packages/definitions/atproto/lexicons/com/atproto/admin/updateAccountHandle.json
+8
-2
lexdocs/bluesky/com/atproto/admin/updateAccountHandle.json
packages/definitions/atproto/lexicons/com/atproto/admin/updateAccountHandle.json
···
11
11
"type": "object",
12
12
"required": ["did", "handle"],
13
13
"properties": {
14
-
"did": { "type": "string", "format": "did" },
15
-
"handle": { "type": "string", "format": "handle" }
14
+
"did": {
15
+
"type": "string",
16
+
"format": "did"
17
+
},
18
+
"handle": {
19
+
"type": "string",
20
+
"format": "handle"
21
+
}
16
22
}
17
23
}
18
24
}
+7
-2
lexdocs/bluesky/com/atproto/admin/updateAccountPassword.json
packages/definitions/atproto/lexicons/com/atproto/admin/updateAccountPassword.json
+7
-2
lexdocs/bluesky/com/atproto/admin/updateAccountPassword.json
packages/definitions/atproto/lexicons/com/atproto/admin/updateAccountPassword.json
···
11
11
"type": "object",
12
12
"required": ["did", "password"],
13
13
"properties": {
14
-
"did": { "type": "string", "format": "did" },
15
-
"password": { "type": "string" }
14
+
"did": {
15
+
"type": "string",
16
+
"format": "did"
17
+
},
18
+
"password": {
19
+
"type": "string"
20
+
}
16
21
}
17
22
}
18
23
}
+4
-1
lexdocs/bluesky/com/atproto/admin/updateAccountSigningKey.json
packages/definitions/atproto/lexicons/com/atproto/admin/updateAccountSigningKey.json
+4
-1
lexdocs/bluesky/com/atproto/admin/updateAccountSigningKey.json
packages/definitions/atproto/lexicons/com/atproto/admin/updateAccountSigningKey.json
lexdocs/bluesky/com/atproto/admin/updateSubjectStatus.json
packages/definitions/atproto/lexicons/com/atproto/admin/updateSubjectStatus.json
lexdocs/bluesky/com/atproto/admin/updateSubjectStatus.json
packages/definitions/atproto/lexicons/com/atproto/admin/updateSubjectStatus.json
+4
-1
lexdocs/bluesky/com/atproto/identity/defs.json
packages/definitions/atproto/lexicons/com/atproto/identity/defs.json
+4
-1
lexdocs/bluesky/com/atproto/identity/defs.json
packages/definitions/atproto/lexicons/com/atproto/identity/defs.json
+12
-4
lexdocs/bluesky/com/atproto/identity/getRecommendedDidCredentials.json
packages/definitions/atproto/lexicons/com/atproto/identity/getRecommendedDidCredentials.json
+12
-4
lexdocs/bluesky/com/atproto/identity/getRecommendedDidCredentials.json
packages/definitions/atproto/lexicons/com/atproto/identity/getRecommendedDidCredentials.json
···
13
13
"rotationKeys": {
14
14
"description": "Recommended rotation keys for PLC dids. Should be undefined (or ignored) for did:webs.",
15
15
"type": "array",
16
-
"items": { "type": "string" }
16
+
"items": {
17
+
"type": "string"
18
+
}
17
19
},
18
20
"alsoKnownAs": {
19
21
"type": "array",
20
-
"items": { "type": "string" }
22
+
"items": {
23
+
"type": "string"
24
+
}
21
25
},
22
-
"verificationMethods": { "type": "unknown" },
23
-
"services": { "type": "unknown" }
26
+
"verificationMethods": {
27
+
"type": "unknown"
28
+
},
29
+
"services": {
30
+
"type": "unknown"
31
+
}
24
32
}
25
33
}
26
34
}
lexdocs/bluesky/com/atproto/identity/refreshIdentity.json
packages/definitions/atproto/lexicons/com/atproto/identity/refreshIdentity.json
lexdocs/bluesky/com/atproto/identity/refreshIdentity.json
packages/definitions/atproto/lexicons/com/atproto/identity/refreshIdentity.json
lexdocs/bluesky/com/atproto/identity/requestPlcOperationSignature.json
packages/definitions/atproto/lexicons/com/atproto/identity/requestPlcOperationSignature.json
lexdocs/bluesky/com/atproto/identity/requestPlcOperationSignature.json
packages/definitions/atproto/lexicons/com/atproto/identity/requestPlcOperationSignature.json
lexdocs/bluesky/com/atproto/identity/resolveDid.json
packages/definitions/atproto/lexicons/com/atproto/identity/resolveDid.json
lexdocs/bluesky/com/atproto/identity/resolveDid.json
packages/definitions/atproto/lexicons/com/atproto/identity/resolveDid.json
+4
-1
lexdocs/bluesky/com/atproto/identity/resolveHandle.json
packages/definitions/atproto/lexicons/com/atproto/identity/resolveHandle.json
+4
-1
lexdocs/bluesky/com/atproto/identity/resolveHandle.json
packages/definitions/atproto/lexicons/com/atproto/identity/resolveHandle.json
lexdocs/bluesky/com/atproto/identity/resolveIdentity.json
packages/definitions/atproto/lexicons/com/atproto/identity/resolveIdentity.json
lexdocs/bluesky/com/atproto/identity/resolveIdentity.json
packages/definitions/atproto/lexicons/com/atproto/identity/resolveIdentity.json
+12
-4
lexdocs/bluesky/com/atproto/identity/signPlcOperation.json
packages/definitions/atproto/lexicons/com/atproto/identity/signPlcOperation.json
+12
-4
lexdocs/bluesky/com/atproto/identity/signPlcOperation.json
packages/definitions/atproto/lexicons/com/atproto/identity/signPlcOperation.json
···
16
16
},
17
17
"rotationKeys": {
18
18
"type": "array",
19
-
"items": { "type": "string" }
19
+
"items": {
20
+
"type": "string"
21
+
}
20
22
},
21
23
"alsoKnownAs": {
22
24
"type": "array",
23
-
"items": { "type": "string" }
25
+
"items": {
26
+
"type": "string"
27
+
}
24
28
},
25
-
"verificationMethods": { "type": "unknown" },
26
-
"services": { "type": "unknown" }
29
+
"verificationMethods": {
30
+
"type": "unknown"
31
+
},
32
+
"services": {
33
+
"type": "unknown"
34
+
}
27
35
}
28
36
}
29
37
},
+3
-1
lexdocs/bluesky/com/atproto/identity/submitPlcOperation.json
packages/definitions/atproto/lexicons/com/atproto/identity/submitPlcOperation.json
+3
-1
lexdocs/bluesky/com/atproto/identity/submitPlcOperation.json
packages/definitions/atproto/lexicons/com/atproto/identity/submitPlcOperation.json
lexdocs/bluesky/com/atproto/identity/updateHandle.json
packages/definitions/atproto/lexicons/com/atproto/identity/updateHandle.json
lexdocs/bluesky/com/atproto/identity/updateHandle.json
packages/definitions/atproto/lexicons/com/atproto/identity/updateHandle.json
+8
-2
lexdocs/bluesky/com/atproto/label/defs.json
packages/definitions/atproto/lexicons/com/atproto/label/defs.json
+8
-2
lexdocs/bluesky/com/atproto/label/defs.json
packages/definitions/atproto/lexicons/com/atproto/label/defs.json
···
58
58
"properties": {
59
59
"values": {
60
60
"type": "array",
61
-
"items": { "type": "ref", "ref": "#selfLabel" },
61
+
"items": {
62
+
"type": "ref",
63
+
"ref": "#selfLabel"
64
+
},
62
65
"maxLength": 10
63
66
}
64
67
}
···
108
111
},
109
112
"locales": {
110
113
"type": "array",
111
-
"items": { "type": "ref", "ref": "#labelValueDefinitionStrings" }
114
+
"items": {
115
+
"type": "ref",
116
+
"ref": "#labelValueDefinitionStrings"
117
+
}
112
118
}
113
119
}
114
120
},
+17
-5
lexdocs/bluesky/com/atproto/label/queryLabels.json
packages/definitions/atproto/lexicons/com/atproto/label/queryLabels.json
+17
-5
lexdocs/bluesky/com/atproto/label/queryLabels.json
packages/definitions/atproto/lexicons/com/atproto/label/queryLabels.json
···
11
11
"properties": {
12
12
"uriPatterns": {
13
13
"type": "array",
14
-
"items": { "type": "string" },
14
+
"items": {
15
+
"type": "string"
16
+
},
15
17
"description": "List of AT URI patterns to match (boolean 'OR'). Each may be a prefix (ending with '*'; will match inclusive of the string leading to '*'), or a full URI."
16
18
},
17
19
"sources": {
18
20
"type": "array",
19
-
"items": { "type": "string", "format": "did" },
21
+
"items": {
22
+
"type": "string",
23
+
"format": "did"
24
+
},
20
25
"description": "Optional list of label sources (DIDs) to filter on."
21
26
},
22
27
"limit": {
···
25
30
"maximum": 250,
26
31
"default": 50
27
32
},
28
-
"cursor": { "type": "string" }
33
+
"cursor": {
34
+
"type": "string"
35
+
}
29
36
}
30
37
},
31
38
"output": {
···
34
41
"type": "object",
35
42
"required": ["labels"],
36
43
"properties": {
37
-
"cursor": { "type": "string" },
44
+
"cursor": {
45
+
"type": "string"
46
+
},
38
47
"labels": {
39
48
"type": "array",
40
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
49
+
"items": {
50
+
"type": "ref",
51
+
"ref": "com.atproto.label.defs#label"
52
+
}
41
53
}
42
54
}
43
55
}
+12
-3
lexdocs/bluesky/com/atproto/label/subscribeLabels.json
packages/definitions/atproto/lexicons/com/atproto/label/subscribeLabels.json
+12
-3
lexdocs/bluesky/com/atproto/label/subscribeLabels.json
packages/definitions/atproto/lexicons/com/atproto/label/subscribeLabels.json
···
20
20
"refs": ["#labels", "#info"]
21
21
}
22
22
},
23
-
"errors": [{ "name": "FutureCursor" }]
23
+
"errors": [
24
+
{
25
+
"name": "FutureCursor"
26
+
}
27
+
]
24
28
},
25
29
"labels": {
26
30
"type": "object",
27
31
"required": ["seq", "labels"],
28
32
"properties": {
29
-
"seq": { "type": "integer" },
33
+
"seq": {
34
+
"type": "integer"
35
+
},
30
36
"labels": {
31
37
"type": "array",
32
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
38
+
"items": {
39
+
"type": "ref",
40
+
"ref": "com.atproto.label.defs#label"
41
+
}
33
42
}
34
43
}
35
44
},
lexdocs/bluesky/com/atproto/lexicon/resolveLexicon.json
packages/definitions/atproto/lexicons/com/atproto/lexicon/resolveLexicon.json
lexdocs/bluesky/com/atproto/lexicon/resolveLexicon.json
packages/definitions/atproto/lexicons/com/atproto/lexicon/resolveLexicon.json
lexdocs/bluesky/com/atproto/lexicon/schema.json
packages/definitions/atproto/lexicons/com/atproto/lexicon/schema.json
lexdocs/bluesky/com/atproto/lexicon/schema.json
packages/definitions/atproto/lexicons/com/atproto/lexicon/schema.json
+11
-3
lexdocs/bluesky/com/atproto/moderation/createReport.json
packages/definitions/atproto/lexicons/com/atproto/moderation/createReport.json
+11
-3
lexdocs/bluesky/com/atproto/moderation/createReport.json
packages/definitions/atproto/lexicons/com/atproto/moderation/createReport.json
···
39
39
"type": "object",
40
40
"required": ["id", "reasonType", "subject", "reportedBy", "createdAt"],
41
41
"properties": {
42
-
"id": { "type": "integer" },
42
+
"id": {
43
+
"type": "integer"
44
+
},
43
45
"reasonType": {
44
46
"type": "ref",
45
47
"ref": "com.atproto.moderation.defs#reasonType"
···
53
55
"type": "union",
54
56
"refs": ["com.atproto.admin.defs#repoRef", "com.atproto.repo.strongRef"]
55
57
},
56
-
"reportedBy": { "type": "string", "format": "did" },
57
-
"createdAt": { "type": "string", "format": "datetime" }
58
+
"reportedBy": {
59
+
"type": "string",
60
+
"format": "did"
61
+
},
62
+
"createdAt": {
63
+
"type": "string",
64
+
"format": "datetime"
65
+
}
58
66
}
59
67
}
60
68
}
-8
lexdocs/bluesky/com/atproto/moderation/defs.json
packages/definitions/atproto/lexicons/com/atproto/moderation/defs.json
-8
lexdocs/bluesky/com/atproto/moderation/defs.json
packages/definitions/atproto/lexicons/com/atproto/moderation/defs.json
···
12
12
"com.atproto.moderation.defs#reasonRude",
13
13
"com.atproto.moderation.defs#reasonOther",
14
14
"com.atproto.moderation.defs#reasonAppeal",
15
-
16
15
"tools.ozone.report.defs#reasonAppeal",
17
16
"tools.ozone.report.defs#reasonOther",
18
-
19
17
"tools.ozone.report.defs#reasonViolenceAnimal",
20
18
"tools.ozone.report.defs#reasonViolenceThreats",
21
19
"tools.ozone.report.defs#reasonViolenceGraphicContent",
···
23
21
"tools.ozone.report.defs#reasonViolenceExtremistContent",
24
22
"tools.ozone.report.defs#reasonViolenceTrafficking",
25
23
"tools.ozone.report.defs#reasonViolenceOther",
26
-
27
24
"tools.ozone.report.defs#reasonSexualAbuseContent",
28
25
"tools.ozone.report.defs#reasonSexualNCII",
29
26
"tools.ozone.report.defs#reasonSexualDeepfake",
30
27
"tools.ozone.report.defs#reasonSexualAnimal",
31
28
"tools.ozone.report.defs#reasonSexualUnlabeled",
32
29
"tools.ozone.report.defs#reasonSexualOther",
33
-
34
30
"tools.ozone.report.defs#reasonChildSafetyCSAM",
35
31
"tools.ozone.report.defs#reasonChildSafetyGroom",
36
32
"tools.ozone.report.defs#reasonChildSafetyPrivacy",
37
33
"tools.ozone.report.defs#reasonChildSafetyHarassment",
38
34
"tools.ozone.report.defs#reasonChildSafetyOther",
39
-
40
35
"tools.ozone.report.defs#reasonHarassmentTroll",
41
36
"tools.ozone.report.defs#reasonHarassmentTargeted",
42
37
"tools.ozone.report.defs#reasonHarassmentHateSpeech",
43
38
"tools.ozone.report.defs#reasonHarassmentDoxxing",
44
39
"tools.ozone.report.defs#reasonHarassmentOther",
45
-
46
40
"tools.ozone.report.defs#reasonMisleadingBot",
47
41
"tools.ozone.report.defs#reasonMisleadingImpersonation",
48
42
"tools.ozone.report.defs#reasonMisleadingSpam",
49
43
"tools.ozone.report.defs#reasonMisleadingScam",
50
44
"tools.ozone.report.defs#reasonMisleadingElections",
51
45
"tools.ozone.report.defs#reasonMisleadingOther",
52
-
53
46
"tools.ozone.report.defs#reasonRuleSiteSecurity",
54
47
"tools.ozone.report.defs#reasonRuleProhibitedSales",
55
48
"tools.ozone.report.defs#reasonRuleBanEvasion",
56
49
"tools.ozone.report.defs#reasonRuleOther",
57
-
58
50
"tools.ozone.report.defs#reasonSelfHarmContent",
59
51
"tools.ozone.report.defs#reasonSelfHarmED",
60
52
"tools.ozone.report.defs#reasonSelfHarmStunts",
+42
-11
lexdocs/bluesky/com/atproto/repo/applyWrites.json
packages/definitions/atproto/lexicons/com/atproto/repo/applyWrites.json
+42
-11
lexdocs/bluesky/com/atproto/repo/applyWrites.json
packages/definitions/atproto/lexicons/com/atproto/repo/applyWrites.json
···
69
69
"description": "Operation which creates a new record.",
70
70
"required": ["collection", "value"],
71
71
"properties": {
72
-
"collection": { "type": "string", "format": "nsid" },
72
+
"collection": {
73
+
"type": "string",
74
+
"format": "nsid"
75
+
},
73
76
"rkey": {
74
77
"type": "string",
75
78
"maxLength": 512,
76
79
"format": "record-key",
77
80
"description": "NOTE: maxLength is redundant with record-key format. Keeping it temporarily to ensure backwards compatibility."
78
81
},
79
-
"value": { "type": "unknown" }
82
+
"value": {
83
+
"type": "unknown"
84
+
}
80
85
}
81
86
},
82
87
"update": {
···
84
89
"description": "Operation which updates an existing record.",
85
90
"required": ["collection", "rkey", "value"],
86
91
"properties": {
87
-
"collection": { "type": "string", "format": "nsid" },
88
-
"rkey": { "type": "string", "format": "record-key" },
89
-
"value": { "type": "unknown" }
92
+
"collection": {
93
+
"type": "string",
94
+
"format": "nsid"
95
+
},
96
+
"rkey": {
97
+
"type": "string",
98
+
"format": "record-key"
99
+
},
100
+
"value": {
101
+
"type": "unknown"
102
+
}
90
103
}
91
104
},
92
105
"delete": {
···
94
107
"description": "Operation which deletes an existing record.",
95
108
"required": ["collection", "rkey"],
96
109
"properties": {
97
-
"collection": { "type": "string", "format": "nsid" },
98
-
"rkey": { "type": "string", "format": "record-key" }
110
+
"collection": {
111
+
"type": "string",
112
+
"format": "nsid"
113
+
},
114
+
"rkey": {
115
+
"type": "string",
116
+
"format": "record-key"
117
+
}
99
118
}
100
119
},
101
120
"createResult": {
102
121
"type": "object",
103
122
"required": ["uri", "cid"],
104
123
"properties": {
105
-
"uri": { "type": "string", "format": "at-uri" },
106
-
"cid": { "type": "string", "format": "cid" },
124
+
"uri": {
125
+
"type": "string",
126
+
"format": "at-uri"
127
+
},
128
+
"cid": {
129
+
"type": "string",
130
+
"format": "cid"
131
+
},
107
132
"validationStatus": {
108
133
"type": "string",
109
134
"knownValues": ["valid", "unknown"]
···
114
139
"type": "object",
115
140
"required": ["uri", "cid"],
116
141
"properties": {
117
-
"uri": { "type": "string", "format": "at-uri" },
118
-
"cid": { "type": "string", "format": "cid" },
142
+
"uri": {
143
+
"type": "string",
144
+
"format": "at-uri"
145
+
},
146
+
"cid": {
147
+
"type": "string",
148
+
"format": "cid"
149
+
},
119
150
"validationStatus": {
120
151
"type": "string",
121
152
"knownValues": ["valid", "unknown"]
+8
-2
lexdocs/bluesky/com/atproto/repo/createRecord.json
packages/definitions/atproto/lexicons/com/atproto/repo/createRecord.json
+8
-2
lexdocs/bluesky/com/atproto/repo/createRecord.json
packages/definitions/atproto/lexicons/com/atproto/repo/createRecord.json
···
49
49
"type": "object",
50
50
"required": ["uri", "cid"],
51
51
"properties": {
52
-
"uri": { "type": "string", "format": "at-uri" },
53
-
"cid": { "type": "string", "format": "cid" },
52
+
"uri": {
53
+
"type": "string",
54
+
"format": "at-uri"
55
+
},
56
+
"cid": {
57
+
"type": "string",
58
+
"format": "cid"
59
+
},
54
60
"commit": {
55
61
"type": "ref",
56
62
"ref": "com.atproto.repo.defs#commitMeta"
-14
lexdocs/bluesky/com/atproto/repo/defs.json
-14
lexdocs/bluesky/com/atproto/repo/defs.json
+5
-1
lexdocs/bluesky/com/atproto/repo/deleteRecord.json
packages/definitions/atproto/lexicons/com/atproto/repo/deleteRecord.json
+5
-1
lexdocs/bluesky/com/atproto/repo/deleteRecord.json
packages/definitions/atproto/lexicons/com/atproto/repo/deleteRecord.json
+12
-3
lexdocs/bluesky/com/atproto/repo/describeRepo.json
packages/definitions/atproto/lexicons/com/atproto/repo/describeRepo.json
+12
-3
lexdocs/bluesky/com/atproto/repo/describeRepo.json
packages/definitions/atproto/lexicons/com/atproto/repo/describeRepo.json
···
22
22
"type": "object",
23
23
"required": ["handle", "did", "didDoc", "collections", "handleIsCorrect"],
24
24
"properties": {
25
-
"handle": { "type": "string", "format": "handle" },
26
-
"did": { "type": "string", "format": "did" },
25
+
"handle": {
26
+
"type": "string",
27
+
"format": "handle"
28
+
},
29
+
"did": {
30
+
"type": "string",
31
+
"format": "did"
32
+
},
27
33
"didDoc": {
28
34
"type": "unknown",
29
35
"description": "The complete DID document for this account."
···
31
37
"collections": {
32
38
"type": "array",
33
39
"description": "List of all the collections (NSIDs) for which this repo contains at least one record.",
34
-
"items": { "type": "string", "format": "nsid" }
40
+
"items": {
41
+
"type": "string",
42
+
"format": "nsid"
43
+
}
35
44
},
36
45
"handleIsCorrect": {
37
46
"type": "boolean",
+16
-4
lexdocs/bluesky/com/atproto/repo/getRecord.json
packages/definitions/atproto/lexicons/com/atproto/repo/getRecord.json
+16
-4
lexdocs/bluesky/com/atproto/repo/getRecord.json
packages/definitions/atproto/lexicons/com/atproto/repo/getRecord.json
···
37
37
"type": "object",
38
38
"required": ["uri", "value"],
39
39
"properties": {
40
-
"uri": { "type": "string", "format": "at-uri" },
41
-
"cid": { "type": "string", "format": "cid" },
42
-
"value": { "type": "unknown" }
40
+
"uri": {
41
+
"type": "string",
42
+
"format": "at-uri"
43
+
},
44
+
"cid": {
45
+
"type": "string",
46
+
"format": "cid"
47
+
},
48
+
"value": {
49
+
"type": "unknown"
50
+
}
43
51
}
44
52
}
45
53
},
46
-
"errors": [{ "name": "RecordNotFound" }]
54
+
"errors": [
55
+
{
56
+
"name": "RecordNotFound"
57
+
}
58
+
]
47
59
}
48
60
}
49
61
}
lexdocs/bluesky/com/atproto/repo/importRepo.json
packages/definitions/atproto/lexicons/com/atproto/repo/importRepo.json
lexdocs/bluesky/com/atproto/repo/importRepo.json
packages/definitions/atproto/lexicons/com/atproto/repo/importRepo.json
+18
-5
lexdocs/bluesky/com/atproto/repo/listMissingBlobs.json
packages/definitions/atproto/lexicons/com/atproto/repo/listMissingBlobs.json
+18
-5
lexdocs/bluesky/com/atproto/repo/listMissingBlobs.json
packages/definitions/atproto/lexicons/com/atproto/repo/listMissingBlobs.json
···
14
14
"maximum": 1000,
15
15
"default": 500
16
16
},
17
-
"cursor": { "type": "string" }
17
+
"cursor": {
18
+
"type": "string"
19
+
}
18
20
}
19
21
},
20
22
"output": {
···
23
25
"type": "object",
24
26
"required": ["blobs"],
25
27
"properties": {
26
-
"cursor": { "type": "string" },
28
+
"cursor": {
29
+
"type": "string"
30
+
},
27
31
"blobs": {
28
32
"type": "array",
29
-
"items": { "type": "ref", "ref": "#recordBlob" }
33
+
"items": {
34
+
"type": "ref",
35
+
"ref": "#recordBlob"
36
+
}
30
37
}
31
38
}
32
39
}
···
36
43
"type": "object",
37
44
"required": ["cid", "recordUri"],
38
45
"properties": {
39
-
"cid": { "type": "string", "format": "cid" },
40
-
"recordUri": { "type": "string", "format": "at-uri" }
46
+
"cid": {
47
+
"type": "string",
48
+
"format": "cid"
49
+
},
50
+
"recordUri": {
51
+
"type": "string",
52
+
"format": "at-uri"
53
+
}
41
54
}
42
55
}
43
56
}
+21
-6
lexdocs/bluesky/com/atproto/repo/listRecords.json
packages/definitions/atproto/lexicons/com/atproto/repo/listRecords.json
+21
-6
lexdocs/bluesky/com/atproto/repo/listRecords.json
packages/definitions/atproto/lexicons/com/atproto/repo/listRecords.json
···
26
26
"default": 50,
27
27
"description": "The number of records to return."
28
28
},
29
-
"cursor": { "type": "string" },
29
+
"cursor": {
30
+
"type": "string"
31
+
},
30
32
"reverse": {
31
33
"type": "boolean",
32
34
"description": "Flag to reverse the order of the returned records."
···
39
41
"type": "object",
40
42
"required": ["records"],
41
43
"properties": {
42
-
"cursor": { "type": "string" },
44
+
"cursor": {
45
+
"type": "string"
46
+
},
43
47
"records": {
44
48
"type": "array",
45
-
"items": { "type": "ref", "ref": "#record" }
49
+
"items": {
50
+
"type": "ref",
51
+
"ref": "#record"
52
+
}
46
53
}
47
54
}
48
55
}
···
52
59
"type": "object",
53
60
"required": ["uri", "cid", "value"],
54
61
"properties": {
55
-
"uri": { "type": "string", "format": "at-uri" },
56
-
"cid": { "type": "string", "format": "cid" },
57
-
"value": { "type": "unknown" }
62
+
"uri": {
63
+
"type": "string",
64
+
"format": "at-uri"
65
+
},
66
+
"cid": {
67
+
"type": "string",
68
+
"format": "cid"
69
+
},
70
+
"value": {
71
+
"type": "unknown"
72
+
}
58
73
}
59
74
}
60
75
}
+13
-3
lexdocs/bluesky/com/atproto/repo/putRecord.json
packages/definitions/atproto/lexicons/com/atproto/repo/putRecord.json
+13
-3
lexdocs/bluesky/com/atproto/repo/putRecord.json
packages/definitions/atproto/lexicons/com/atproto/repo/putRecord.json
···
55
55
"type": "object",
56
56
"required": ["uri", "cid"],
57
57
"properties": {
58
-
"uri": { "type": "string", "format": "at-uri" },
59
-
"cid": { "type": "string", "format": "cid" },
58
+
"uri": {
59
+
"type": "string",
60
+
"format": "at-uri"
61
+
},
62
+
"cid": {
63
+
"type": "string",
64
+
"format": "cid"
65
+
},
60
66
"commit": {
61
67
"type": "ref",
62
68
"ref": "com.atproto.repo.defs#commitMeta"
···
68
74
}
69
75
}
70
76
},
71
-
"errors": [{ "name": "InvalidSwap" }]
77
+
"errors": [
78
+
{
79
+
"name": "InvalidSwap"
80
+
}
81
+
]
72
82
}
73
83
}
74
84
}
+8
-2
lexdocs/bluesky/com/atproto/repo/strongRef.json
packages/definitions/atproto/lexicons/com/atproto/repo/strongRef.json
+8
-2
lexdocs/bluesky/com/atproto/repo/strongRef.json
packages/definitions/atproto/lexicons/com/atproto/repo/strongRef.json
···
7
7
"type": "object",
8
8
"required": ["uri", "cid"],
9
9
"properties": {
10
-
"uri": { "type": "string", "format": "at-uri" },
11
-
"cid": { "type": "string", "format": "cid" }
10
+
"uri": {
11
+
"type": "string",
12
+
"format": "at-uri"
13
+
},
14
+
"cid": {
15
+
"type": "string",
16
+
"format": "cid"
17
+
}
12
18
}
13
19
}
14
20
}
+3
-1
lexdocs/bluesky/com/atproto/repo/uploadBlob.json
packages/definitions/atproto/lexicons/com/atproto/repo/uploadBlob.json
+3
-1
lexdocs/bluesky/com/atproto/repo/uploadBlob.json
packages/definitions/atproto/lexicons/com/atproto/repo/uploadBlob.json
lexdocs/bluesky/com/atproto/server/activateAccount.json
packages/definitions/atproto/lexicons/com/atproto/server/activateAccount.json
lexdocs/bluesky/com/atproto/server/activateAccount.json
packages/definitions/atproto/lexicons/com/atproto/server/activateAccount.json
-38
lexdocs/bluesky/com/atproto/server/checkAccountStatus.json
-38
lexdocs/bluesky/com/atproto/server/checkAccountStatus.json
···
1
-
{
2
-
"lexicon": 1,
3
-
"id": "com.atproto.server.checkAccountStatus",
4
-
"defs": {
5
-
"main": {
6
-
"type": "query",
7
-
"description": "Returns the status of an account, especially as pertaining to import or recovery. Can be called many times over the course of an account migration. Requires auth and can only be called pertaining to oneself.",
8
-
"output": {
9
-
"encoding": "application/json",
10
-
"schema": {
11
-
"type": "object",
12
-
"required": [
13
-
"activated",
14
-
"validDid",
15
-
"repoCommit",
16
-
"repoRev",
17
-
"repoBlocks",
18
-
"indexedRecords",
19
-
"privateStateValues",
20
-
"expectedBlobs",
21
-
"importedBlobs"
22
-
],
23
-
"properties": {
24
-
"activated": { "type": "boolean" },
25
-
"validDid": { "type": "boolean" },
26
-
"repoCommit": { "type": "string", "format": "cid" },
27
-
"repoRev": { "type": "string" },
28
-
"repoBlocks": { "type": "integer" },
29
-
"indexedRecords": { "type": "integer" },
30
-
"privateStateValues": { "type": "integer" },
31
-
"expectedBlobs": { "type": "integer" },
32
-
"importedBlobs": { "type": "integer" }
33
-
}
34
-
}
35
-
}
36
-
}
37
-
}
38
-
}
+18
-6
lexdocs/bluesky/com/atproto/server/confirmEmail.json
packages/definitions/atproto/lexicons/com/atproto/server/confirmEmail.json
+18
-6
lexdocs/bluesky/com/atproto/server/confirmEmail.json
packages/definitions/atproto/lexicons/com/atproto/server/confirmEmail.json
···
11
11
"type": "object",
12
12
"required": ["email", "token"],
13
13
"properties": {
14
-
"email": { "type": "string" },
15
-
"token": { "type": "string" }
14
+
"email": {
15
+
"type": "string"
16
+
},
17
+
"token": {
18
+
"type": "string"
19
+
}
16
20
}
17
21
}
18
22
},
19
23
"errors": [
20
-
{ "name": "AccountNotFound" },
21
-
{ "name": "ExpiredToken" },
22
-
{ "name": "InvalidToken" },
23
-
{ "name": "InvalidEmail" }
24
+
{
25
+
"name": "AccountNotFound"
26
+
},
27
+
{
28
+
"name": "ExpiredToken"
29
+
},
30
+
{
31
+
"name": "InvalidToken"
32
+
},
33
+
{
34
+
"name": "InvalidEmail"
35
+
}
24
36
]
25
37
}
26
38
}
+43
-14
lexdocs/bluesky/com/atproto/server/createAccount.json
packages/definitions/atproto/lexicons/com/atproto/server/createAccount.json
+43
-14
lexdocs/bluesky/com/atproto/server/createAccount.json
packages/definitions/atproto/lexicons/com/atproto/server/createAccount.json
···
11
11
"type": "object",
12
12
"required": ["handle"],
13
13
"properties": {
14
-
"email": { "type": "string" },
14
+
"email": {
15
+
"type": "string"
16
+
},
15
17
"handle": {
16
18
"type": "string",
17
19
"format": "handle",
···
22
24
"format": "did",
23
25
"description": "Pre-existing atproto DID, being imported to a new account."
24
26
},
25
-
"inviteCode": { "type": "string" },
26
-
"verificationCode": { "type": "string" },
27
-
"verificationPhone": { "type": "string" },
27
+
"inviteCode": {
28
+
"type": "string"
29
+
},
30
+
"verificationCode": {
31
+
"type": "string"
32
+
},
33
+
"verificationPhone": {
34
+
"type": "string"
35
+
},
28
36
"password": {
29
37
"type": "string",
30
38
"description": "Initial account password. May need to meet instance-specific password strength requirements."
···
47
55
"description": "Account login session returned on successful account creation.",
48
56
"required": ["accessJwt", "refreshJwt", "handle", "did"],
49
57
"properties": {
50
-
"accessJwt": { "type": "string" },
51
-
"refreshJwt": { "type": "string" },
52
-
"handle": { "type": "string", "format": "handle" },
58
+
"accessJwt": {
59
+
"type": "string"
60
+
},
61
+
"refreshJwt": {
62
+
"type": "string"
63
+
},
64
+
"handle": {
65
+
"type": "string",
66
+
"format": "handle"
67
+
},
53
68
"did": {
54
69
"type": "string",
55
70
"format": "did",
···
63
78
}
64
79
},
65
80
"errors": [
66
-
{ "name": "InvalidHandle" },
67
-
{ "name": "InvalidPassword" },
68
-
{ "name": "InvalidInviteCode" },
69
-
{ "name": "HandleNotAvailable" },
70
-
{ "name": "UnsupportedDomain" },
71
-
{ "name": "UnresolvableDid" },
72
-
{ "name": "IncompatibleDidDoc" }
81
+
{
82
+
"name": "InvalidHandle"
83
+
},
84
+
{
85
+
"name": "InvalidPassword"
86
+
},
87
+
{
88
+
"name": "InvalidInviteCode"
89
+
},
90
+
{
91
+
"name": "HandleNotAvailable"
92
+
},
93
+
{
94
+
"name": "UnsupportedDomain"
95
+
},
96
+
{
97
+
"name": "UnresolvableDid"
98
+
},
99
+
{
100
+
"name": "IncompatibleDidDoc"
101
+
}
73
102
]
74
103
}
75
104
}
+18
-5
lexdocs/bluesky/com/atproto/server/createAppPassword.json
packages/definitions/atproto/lexicons/com/atproto/server/createAppPassword.json
+18
-5
lexdocs/bluesky/com/atproto/server/createAppPassword.json
packages/definitions/atproto/lexicons/com/atproto/server/createAppPassword.json
···
29
29
"ref": "#appPassword"
30
30
}
31
31
},
32
-
"errors": [{ "name": "AccountTakedown" }]
32
+
"errors": [
33
+
{
34
+
"name": "AccountTakedown"
35
+
}
36
+
]
33
37
},
34
38
"appPassword": {
35
39
"type": "object",
36
40
"required": ["name", "password", "createdAt"],
37
41
"properties": {
38
-
"name": { "type": "string" },
39
-
"password": { "type": "string" },
40
-
"createdAt": { "type": "string", "format": "datetime" },
41
-
"privileged": { "type": "boolean" }
42
+
"name": {
43
+
"type": "string"
44
+
},
45
+
"password": {
46
+
"type": "string"
47
+
},
48
+
"createdAt": {
49
+
"type": "string",
50
+
"format": "datetime"
51
+
},
52
+
"privileged": {
53
+
"type": "boolean"
54
+
}
42
55
}
43
56
}
44
57
}
+10
-3
lexdocs/bluesky/com/atproto/server/createInviteCode.json
packages/definitions/atproto/lexicons/com/atproto/server/createInviteCode.json
+10
-3
lexdocs/bluesky/com/atproto/server/createInviteCode.json
packages/definitions/atproto/lexicons/com/atproto/server/createInviteCode.json
···
11
11
"type": "object",
12
12
"required": ["useCount"],
13
13
"properties": {
14
-
"useCount": { "type": "integer" },
15
-
"forAccount": { "type": "string", "format": "did" }
14
+
"useCount": {
15
+
"type": "integer"
16
+
},
17
+
"forAccount": {
18
+
"type": "string",
19
+
"format": "did"
20
+
}
16
21
}
17
22
}
18
23
},
···
22
27
"type": "object",
23
28
"required": ["code"],
24
29
"properties": {
25
-
"code": { "type": "string" }
30
+
"code": {
31
+
"type": "string"
32
+
}
26
33
}
27
34
}
28
35
}
+21
-6
lexdocs/bluesky/com/atproto/server/createInviteCodes.json
packages/definitions/atproto/lexicons/com/atproto/server/createInviteCodes.json
+21
-6
lexdocs/bluesky/com/atproto/server/createInviteCodes.json
packages/definitions/atproto/lexicons/com/atproto/server/createInviteCodes.json
···
11
11
"type": "object",
12
12
"required": ["codeCount", "useCount"],
13
13
"properties": {
14
-
"codeCount": { "type": "integer", "default": 1 },
15
-
"useCount": { "type": "integer" },
14
+
"codeCount": {
15
+
"type": "integer",
16
+
"default": 1
17
+
},
18
+
"useCount": {
19
+
"type": "integer"
20
+
},
16
21
"forAccounts": {
17
22
"type": "array",
18
-
"items": { "type": "string", "format": "did" }
23
+
"items": {
24
+
"type": "string",
25
+
"format": "did"
26
+
}
19
27
}
20
28
}
21
29
}
···
28
36
"properties": {
29
37
"codes": {
30
38
"type": "array",
31
-
"items": { "type": "ref", "ref": "#accountCodes" }
39
+
"items": {
40
+
"type": "ref",
41
+
"ref": "#accountCodes"
42
+
}
32
43
}
33
44
}
34
45
}
···
38
49
"type": "object",
39
50
"required": ["account", "codes"],
40
51
"properties": {
41
-
"account": { "type": "string" },
52
+
"account": {
53
+
"type": "string"
54
+
},
42
55
"codes": {
43
56
"type": "array",
44
-
"items": { "type": "string" }
57
+
"items": {
58
+
"type": "string"
59
+
}
45
60
}
46
61
}
47
62
}
+43
-12
lexdocs/bluesky/com/atproto/server/createSession.json
packages/definitions/atproto/lexicons/com/atproto/server/createSession.json
+43
-12
lexdocs/bluesky/com/atproto/server/createSession.json
packages/definitions/atproto/lexicons/com/atproto/server/createSession.json
···
15
15
"type": "string",
16
16
"description": "Handle or other identifier supported by the server for the authenticating user."
17
17
},
18
-
"password": { "type": "string" },
19
-
"authFactorToken": { "type": "string" },
18
+
"password": {
19
+
"type": "string"
20
+
},
21
+
"authFactorToken": {
22
+
"type": "string"
23
+
},
20
24
"allowTakendown": {
21
25
"type": "boolean",
22
26
"description": "When true, instead of throwing error for takendown accounts, a valid response with a narrow scoped token will be returned"
···
30
34
"type": "object",
31
35
"required": ["accessJwt", "refreshJwt", "handle", "did"],
32
36
"properties": {
33
-
"accessJwt": { "type": "string" },
34
-
"refreshJwt": { "type": "string" },
35
-
"handle": { "type": "string", "format": "handle" },
36
-
"did": { "type": "string", "format": "did" },
37
-
"didDoc": { "type": "unknown" },
38
-
"email": { "type": "string" },
39
-
"emailConfirmed": { "type": "boolean" },
40
-
"emailAuthFactor": { "type": "boolean" },
41
-
"active": { "type": "boolean" },
37
+
"accessJwt": {
38
+
"type": "string"
39
+
},
40
+
"refreshJwt": {
41
+
"type": "string"
42
+
},
43
+
"handle": {
44
+
"type": "string",
45
+
"format": "handle"
46
+
},
47
+
"did": {
48
+
"type": "string",
49
+
"format": "did"
50
+
},
51
+
"didDoc": {
52
+
"type": "unknown"
53
+
},
54
+
"email": {
55
+
"type": "string"
56
+
},
57
+
"emailConfirmed": {
58
+
"type": "boolean"
59
+
},
60
+
"emailAuthFactor": {
61
+
"type": "boolean"
62
+
},
63
+
"active": {
64
+
"type": "boolean"
65
+
},
42
66
"status": {
43
67
"type": "string",
44
68
"description": "If active=false, this optional field indicates a possible reason for why the account is not active. If active=false and no status is supplied, then the host makes no claim for why the repository is no longer being hosted.",
···
47
71
}
48
72
}
49
73
},
50
-
"errors": [{ "name": "AccountTakedown" }, { "name": "AuthFactorTokenRequired" }]
74
+
"errors": [
75
+
{
76
+
"name": "AccountTakedown"
77
+
},
78
+
{
79
+
"name": "AuthFactorTokenRequired"
80
+
}
81
+
]
51
82
}
52
83
}
53
84
}
lexdocs/bluesky/com/atproto/server/deactivateAccount.json
packages/definitions/atproto/lexicons/com/atproto/server/deactivateAccount.json
lexdocs/bluesky/com/atproto/server/deactivateAccount.json
packages/definitions/atproto/lexicons/com/atproto/server/deactivateAccount.json
-30
lexdocs/bluesky/com/atproto/server/defs.json
-30
lexdocs/bluesky/com/atproto/server/defs.json
···
1
-
{
2
-
"lexicon": 1,
3
-
"id": "com.atproto.server.defs",
4
-
"defs": {
5
-
"inviteCode": {
6
-
"type": "object",
7
-
"required": ["code", "available", "disabled", "forAccount", "createdBy", "createdAt", "uses"],
8
-
"properties": {
9
-
"code": { "type": "string" },
10
-
"available": { "type": "integer" },
11
-
"disabled": { "type": "boolean" },
12
-
"forAccount": { "type": "string" },
13
-
"createdBy": { "type": "string" },
14
-
"createdAt": { "type": "string", "format": "datetime" },
15
-
"uses": {
16
-
"type": "array",
17
-
"items": { "type": "ref", "ref": "#inviteCodeUse" }
18
-
}
19
-
}
20
-
},
21
-
"inviteCodeUse": {
22
-
"type": "object",
23
-
"required": ["usedBy", "usedAt"],
24
-
"properties": {
25
-
"usedBy": { "type": "string", "format": "did" },
26
-
"usedAt": { "type": "string", "format": "datetime" }
27
-
}
28
-
}
29
-
}
30
-
}
+18
-4
lexdocs/bluesky/com/atproto/server/deleteAccount.json
packages/definitions/atproto/lexicons/com/atproto/server/deleteAccount.json
+18
-4
lexdocs/bluesky/com/atproto/server/deleteAccount.json
packages/definitions/atproto/lexicons/com/atproto/server/deleteAccount.json
···
11
11
"type": "object",
12
12
"required": ["did", "password", "token"],
13
13
"properties": {
14
-
"did": { "type": "string", "format": "did" },
15
-
"password": { "type": "string" },
16
-
"token": { "type": "string" }
14
+
"did": {
15
+
"type": "string",
16
+
"format": "did"
17
+
},
18
+
"password": {
19
+
"type": "string"
20
+
},
21
+
"token": {
22
+
"type": "string"
23
+
}
17
24
}
18
25
}
19
26
},
20
-
"errors": [{ "name": "ExpiredToken" }, { "name": "InvalidToken" }]
27
+
"errors": [
28
+
{
29
+
"name": "ExpiredToken"
30
+
},
31
+
{
32
+
"name": "InvalidToken"
33
+
}
34
+
]
21
35
}
22
36
}
23
37
}
lexdocs/bluesky/com/atproto/server/deleteSession.json
packages/definitions/atproto/lexicons/com/atproto/server/deleteSession.json
lexdocs/bluesky/com/atproto/server/deleteSession.json
packages/definitions/atproto/lexicons/com/atproto/server/deleteSession.json
+14
-4
lexdocs/bluesky/com/atproto/server/describeServer.json
packages/definitions/atproto/lexicons/com/atproto/server/describeServer.json
+14
-4
lexdocs/bluesky/com/atproto/server/describeServer.json
packages/definitions/atproto/lexicons/com/atproto/server/describeServer.json
···
22
22
"availableUserDomains": {
23
23
"type": "array",
24
24
"description": "List of domain suffixes that can be used in account handles.",
25
-
"items": { "type": "string" }
25
+
"items": {
26
+
"type": "string"
27
+
}
26
28
},
27
29
"links": {
28
30
"type": "ref",
···
45
47
"links": {
46
48
"type": "object",
47
49
"properties": {
48
-
"privacyPolicy": { "type": "string", "format": "uri" },
49
-
"termsOfService": { "type": "string", "format": "uri" }
50
+
"privacyPolicy": {
51
+
"type": "string",
52
+
"format": "uri"
53
+
},
54
+
"termsOfService": {
55
+
"type": "string",
56
+
"format": "uri"
57
+
}
50
58
}
51
59
},
52
60
"contact": {
53
61
"type": "object",
54
62
"properties": {
55
-
"email": { "type": "string" }
63
+
"email": {
64
+
"type": "string"
65
+
}
56
66
}
57
67
}
58
68
}
+9
-2
lexdocs/bluesky/com/atproto/server/getAccountInviteCodes.json
packages/definitions/atproto/lexicons/com/atproto/server/getAccountInviteCodes.json
+9
-2
lexdocs/bluesky/com/atproto/server/getAccountInviteCodes.json
packages/definitions/atproto/lexicons/com/atproto/server/getAccountInviteCodes.json
···
8
8
"parameters": {
9
9
"type": "params",
10
10
"properties": {
11
-
"includeUsed": { "type": "boolean", "default": true },
11
+
"includeUsed": {
12
+
"type": "boolean",
13
+
"default": true
14
+
},
12
15
"createAvailable": {
13
16
"type": "boolean",
14
17
"default": true,
···
32
35
}
33
36
}
34
37
},
35
-
"errors": [{ "name": "DuplicateCreate" }]
38
+
"errors": [
39
+
{
40
+
"name": "DuplicateCreate"
41
+
}
42
+
]
36
43
}
37
44
}
38
45
}
lexdocs/bluesky/com/atproto/server/getServiceAuth.json
packages/definitions/atproto/lexicons/com/atproto/server/getServiceAuth.json
lexdocs/bluesky/com/atproto/server/getServiceAuth.json
packages/definitions/atproto/lexicons/com/atproto/server/getServiceAuth.json
+23
-7
lexdocs/bluesky/com/atproto/server/getSession.json
packages/definitions/atproto/lexicons/com/atproto/server/getSession.json
+23
-7
lexdocs/bluesky/com/atproto/server/getSession.json
packages/definitions/atproto/lexicons/com/atproto/server/getSession.json
···
11
11
"type": "object",
12
12
"required": ["handle", "did"],
13
13
"properties": {
14
-
"handle": { "type": "string", "format": "handle" },
15
-
"did": { "type": "string", "format": "did" },
16
-
"email": { "type": "string" },
17
-
"emailConfirmed": { "type": "boolean" },
18
-
"emailAuthFactor": { "type": "boolean" },
19
-
"didDoc": { "type": "unknown" },
20
-
"active": { "type": "boolean" },
14
+
"handle": {
15
+
"type": "string",
16
+
"format": "handle"
17
+
},
18
+
"did": {
19
+
"type": "string",
20
+
"format": "did"
21
+
},
22
+
"email": {
23
+
"type": "string"
24
+
},
25
+
"emailConfirmed": {
26
+
"type": "boolean"
27
+
},
28
+
"emailAuthFactor": {
29
+
"type": "boolean"
30
+
},
31
+
"didDoc": {
32
+
"type": "unknown"
33
+
},
34
+
"active": {
35
+
"type": "boolean"
36
+
},
21
37
"status": {
22
38
"type": "string",
23
39
"description": "If active=false, this optional field indicates a possible reason for why the account is not active. If active=false and no status is supplied, then the host makes no claim for why the repository is no longer being hosted.",
+19
-5
lexdocs/bluesky/com/atproto/server/listAppPasswords.json
packages/definitions/atproto/lexicons/com/atproto/server/listAppPasswords.json
+19
-5
lexdocs/bluesky/com/atproto/server/listAppPasswords.json
packages/definitions/atproto/lexicons/com/atproto/server/listAppPasswords.json
···
13
13
"properties": {
14
14
"passwords": {
15
15
"type": "array",
16
-
"items": { "type": "ref", "ref": "#appPassword" }
16
+
"items": {
17
+
"type": "ref",
18
+
"ref": "#appPassword"
19
+
}
17
20
}
18
21
}
19
22
}
20
23
},
21
-
"errors": [{ "name": "AccountTakedown" }]
24
+
"errors": [
25
+
{
26
+
"name": "AccountTakedown"
27
+
}
28
+
]
22
29
},
23
30
"appPassword": {
24
31
"type": "object",
25
32
"required": ["name", "createdAt"],
26
33
"properties": {
27
-
"name": { "type": "string" },
28
-
"createdAt": { "type": "string", "format": "datetime" },
29
-
"privileged": { "type": "boolean" }
34
+
"name": {
35
+
"type": "string"
36
+
},
37
+
"createdAt": {
38
+
"type": "string",
39
+
"format": "datetime"
40
+
},
41
+
"privileged": {
42
+
"type": "boolean"
43
+
}
30
44
}
31
45
}
32
46
}
-31
lexdocs/bluesky/com/atproto/server/refreshSession.json
-31
lexdocs/bluesky/com/atproto/server/refreshSession.json
···
1
-
{
2
-
"lexicon": 1,
3
-
"id": "com.atproto.server.refreshSession",
4
-
"defs": {
5
-
"main": {
6
-
"type": "procedure",
7
-
"description": "Refresh an authentication session. Requires auth using the 'refreshJwt' (not the 'accessJwt').",
8
-
"output": {
9
-
"encoding": "application/json",
10
-
"schema": {
11
-
"type": "object",
12
-
"required": ["accessJwt", "refreshJwt", "handle", "did"],
13
-
"properties": {
14
-
"accessJwt": { "type": "string" },
15
-
"refreshJwt": { "type": "string" },
16
-
"handle": { "type": "string", "format": "handle" },
17
-
"did": { "type": "string", "format": "did" },
18
-
"didDoc": { "type": "unknown" },
19
-
"active": { "type": "boolean" },
20
-
"status": {
21
-
"type": "string",
22
-
"description": "Hosting status of the account. If not specified, then assume 'active'.",
23
-
"knownValues": ["takendown", "suspended", "deactivated"]
24
-
}
25
-
}
26
-
}
27
-
},
28
-
"errors": [{ "name": "AccountTakedown" }]
29
-
}
30
-
}
31
-
}
lexdocs/bluesky/com/atproto/server/requestAccountDelete.json
packages/definitions/atproto/lexicons/com/atproto/server/requestAccountDelete.json
lexdocs/bluesky/com/atproto/server/requestAccountDelete.json
packages/definitions/atproto/lexicons/com/atproto/server/requestAccountDelete.json
lexdocs/bluesky/com/atproto/server/requestEmailConfirmation.json
packages/definitions/atproto/lexicons/com/atproto/server/requestEmailConfirmation.json
lexdocs/bluesky/com/atproto/server/requestEmailConfirmation.json
packages/definitions/atproto/lexicons/com/atproto/server/requestEmailConfirmation.json
+3
-1
lexdocs/bluesky/com/atproto/server/requestEmailUpdate.json
packages/definitions/atproto/lexicons/com/atproto/server/requestEmailUpdate.json
+3
-1
lexdocs/bluesky/com/atproto/server/requestEmailUpdate.json
packages/definitions/atproto/lexicons/com/atproto/server/requestEmailUpdate.json
+3
-1
lexdocs/bluesky/com/atproto/server/requestPasswordReset.json
packages/definitions/atproto/lexicons/com/atproto/server/requestPasswordReset.json
+3
-1
lexdocs/bluesky/com/atproto/server/requestPasswordReset.json
packages/definitions/atproto/lexicons/com/atproto/server/requestPasswordReset.json
lexdocs/bluesky/com/atproto/server/reserveSigningKey.json
packages/definitions/atproto/lexicons/com/atproto/server/reserveSigningKey.json
lexdocs/bluesky/com/atproto/server/reserveSigningKey.json
packages/definitions/atproto/lexicons/com/atproto/server/reserveSigningKey.json
+14
-3
lexdocs/bluesky/com/atproto/server/resetPassword.json
packages/definitions/atproto/lexicons/com/atproto/server/resetPassword.json
+14
-3
lexdocs/bluesky/com/atproto/server/resetPassword.json
packages/definitions/atproto/lexicons/com/atproto/server/resetPassword.json
···
11
11
"type": "object",
12
12
"required": ["token", "password"],
13
13
"properties": {
14
-
"token": { "type": "string" },
15
-
"password": { "type": "string" }
14
+
"token": {
15
+
"type": "string"
16
+
},
17
+
"password": {
18
+
"type": "string"
19
+
}
16
20
}
17
21
}
18
22
},
19
-
"errors": [{ "name": "ExpiredToken" }, { "name": "InvalidToken" }]
23
+
"errors": [
24
+
{
25
+
"name": "ExpiredToken"
26
+
},
27
+
{
28
+
"name": "InvalidToken"
29
+
}
30
+
]
20
31
}
21
32
}
22
33
}
+3
-1
lexdocs/bluesky/com/atproto/server/revokeAppPassword.json
packages/definitions/atproto/lexicons/com/atproto/server/revokeAppPassword.json
+3
-1
lexdocs/bluesky/com/atproto/server/revokeAppPassword.json
packages/definitions/atproto/lexicons/com/atproto/server/revokeAppPassword.json
+17
-3
lexdocs/bluesky/com/atproto/server/updateEmail.json
packages/definitions/atproto/lexicons/com/atproto/server/updateEmail.json
+17
-3
lexdocs/bluesky/com/atproto/server/updateEmail.json
packages/definitions/atproto/lexicons/com/atproto/server/updateEmail.json
···
11
11
"type": "object",
12
12
"required": ["email"],
13
13
"properties": {
14
-
"email": { "type": "string" },
15
-
"emailAuthFactor": { "type": "boolean" },
14
+
"email": {
15
+
"type": "string"
16
+
},
17
+
"emailAuthFactor": {
18
+
"type": "boolean"
19
+
},
16
20
"token": {
17
21
"type": "string",
18
22
"description": "Requires a token from com.atproto.sever.requestEmailUpdate if the account's email has been confirmed."
···
20
24
}
21
25
}
22
26
},
23
-
"errors": [{ "name": "ExpiredToken" }, { "name": "InvalidToken" }, { "name": "TokenRequired" }]
27
+
"errors": [
28
+
{
29
+
"name": "ExpiredToken"
30
+
},
31
+
{
32
+
"name": "InvalidToken"
33
+
},
34
+
{
35
+
"name": "TokenRequired"
36
+
}
37
+
]
24
38
}
25
39
}
26
40
}
lexdocs/bluesky/com/atproto/sync/defs.json
packages/definitions/atproto/lexicons/com/atproto/sync/defs.json
lexdocs/bluesky/com/atproto/sync/defs.json
packages/definitions/atproto/lexicons/com/atproto/sync/defs.json
+15
-5
lexdocs/bluesky/com/atproto/sync/getBlob.json
packages/definitions/atproto/lexicons/com/atproto/sync/getBlob.json
+15
-5
lexdocs/bluesky/com/atproto/sync/getBlob.json
packages/definitions/atproto/lexicons/com/atproto/sync/getBlob.json
···
25
25
"encoding": "*/*"
26
26
},
27
27
"errors": [
28
-
{ "name": "BlobNotFound" },
29
-
{ "name": "RepoNotFound" },
30
-
{ "name": "RepoTakendown" },
31
-
{ "name": "RepoSuspended" },
32
-
{ "name": "RepoDeactivated" }
28
+
{
29
+
"name": "BlobNotFound"
30
+
},
31
+
{
32
+
"name": "RepoNotFound"
33
+
},
34
+
{
35
+
"name": "RepoTakendown"
36
+
},
37
+
{
38
+
"name": "RepoSuspended"
39
+
},
40
+
{
41
+
"name": "RepoDeactivated"
42
+
}
33
43
]
34
44
}
35
45
}
+19
-6
lexdocs/bluesky/com/atproto/sync/getBlocks.json
packages/definitions/atproto/lexicons/com/atproto/sync/getBlocks.json
+19
-6
lexdocs/bluesky/com/atproto/sync/getBlocks.json
packages/definitions/atproto/lexicons/com/atproto/sync/getBlocks.json
···
16
16
},
17
17
"cids": {
18
18
"type": "array",
19
-
"items": { "type": "string", "format": "cid" }
19
+
"items": {
20
+
"type": "string",
21
+
"format": "cid"
22
+
}
20
23
}
21
24
}
22
25
},
···
24
27
"encoding": "application/vnd.ipld.car"
25
28
},
26
29
"errors": [
27
-
{ "name": "BlockNotFound" },
28
-
{ "name": "RepoNotFound" },
29
-
{ "name": "RepoTakendown" },
30
-
{ "name": "RepoSuspended" },
31
-
{ "name": "RepoDeactivated" }
30
+
{
31
+
"name": "BlockNotFound"
32
+
},
33
+
{
34
+
"name": "RepoNotFound"
35
+
},
36
+
{
37
+
"name": "RepoTakendown"
38
+
},
39
+
{
40
+
"name": "RepoSuspended"
41
+
},
42
+
{
43
+
"name": "RepoDeactivated"
44
+
}
32
45
]
33
46
}
34
47
}
lexdocs/bluesky/com/atproto/sync/getCheckout.json
packages/definitions/atproto/lexicons/com/atproto/sync/getCheckout.json
lexdocs/bluesky/com/atproto/sync/getCheckout.json
packages/definitions/atproto/lexicons/com/atproto/sync/getCheckout.json
+9
-2
lexdocs/bluesky/com/atproto/sync/getHead.json
packages/definitions/atproto/lexicons/com/atproto/sync/getHead.json
+9
-2
lexdocs/bluesky/com/atproto/sync/getHead.json
packages/definitions/atproto/lexicons/com/atproto/sync/getHead.json
···
22
22
"type": "object",
23
23
"required": ["root"],
24
24
"properties": {
25
-
"root": { "type": "string", "format": "cid" }
25
+
"root": {
26
+
"type": "string",
27
+
"format": "cid"
28
+
}
26
29
}
27
30
}
28
31
},
29
-
"errors": [{ "name": "HeadNotFound" }]
32
+
"errors": [
33
+
{
34
+
"name": "HeadNotFound"
35
+
}
36
+
]
30
37
}
31
38
}
32
39
}
+8
-2
lexdocs/bluesky/com/atproto/sync/getHostStatus.json
packages/definitions/atproto/lexicons/com/atproto/sync/getHostStatus.json
+8
-2
lexdocs/bluesky/com/atproto/sync/getHostStatus.json
packages/definitions/atproto/lexicons/com/atproto/sync/getHostStatus.json
···
21
21
"type": "object",
22
22
"required": ["hostname"],
23
23
"properties": {
24
-
"hostname": { "type": "string" },
24
+
"hostname": {
25
+
"type": "string"
26
+
},
25
27
"seq": {
26
28
"type": "integer",
27
29
"description": "Recent repo stream event sequence number. May be delayed from actual stream processing (eg, persisted cursor not in-memory cursor)."
···
37
39
}
38
40
}
39
41
},
40
-
"errors": [{ "name": "HostNotFound" }]
42
+
"errors": [
43
+
{
44
+
"name": "HostNotFound"
45
+
}
46
+
]
41
47
}
42
48
}
43
49
}
+20
-6
lexdocs/bluesky/com/atproto/sync/getLatestCommit.json
packages/definitions/atproto/lexicons/com/atproto/sync/getLatestCommit.json
+20
-6
lexdocs/bluesky/com/atproto/sync/getLatestCommit.json
packages/definitions/atproto/lexicons/com/atproto/sync/getLatestCommit.json
···
22
22
"type": "object",
23
23
"required": ["cid", "rev"],
24
24
"properties": {
25
-
"cid": { "type": "string", "format": "cid" },
26
-
"rev": { "type": "string", "format": "tid" }
25
+
"cid": {
26
+
"type": "string",
27
+
"format": "cid"
28
+
},
29
+
"rev": {
30
+
"type": "string",
31
+
"format": "tid"
32
+
}
27
33
}
28
34
}
29
35
},
30
36
"errors": [
31
-
{ "name": "RepoNotFound" },
32
-
{ "name": "RepoTakendown" },
33
-
{ "name": "RepoSuspended" },
34
-
{ "name": "RepoDeactivated" }
37
+
{
38
+
"name": "RepoNotFound"
39
+
},
40
+
{
41
+
"name": "RepoTakendown"
42
+
},
43
+
{
44
+
"name": "RepoSuspended"
45
+
},
46
+
{
47
+
"name": "RepoDeactivated"
48
+
}
35
49
]
36
50
}
37
51
}
+19
-6
lexdocs/bluesky/com/atproto/sync/getRecord.json
packages/definitions/atproto/lexicons/com/atproto/sync/getRecord.json
+19
-6
lexdocs/bluesky/com/atproto/sync/getRecord.json
packages/definitions/atproto/lexicons/com/atproto/sync/getRecord.json
···
14
14
"format": "did",
15
15
"description": "The DID of the repo."
16
16
},
17
-
"collection": { "type": "string", "format": "nsid" },
17
+
"collection": {
18
+
"type": "string",
19
+
"format": "nsid"
20
+
},
18
21
"rkey": {
19
22
"type": "string",
20
23
"description": "Record Key",
···
26
29
"encoding": "application/vnd.ipld.car"
27
30
},
28
31
"errors": [
29
-
{ "name": "RecordNotFound" },
30
-
{ "name": "RepoNotFound" },
31
-
{ "name": "RepoTakendown" },
32
-
{ "name": "RepoSuspended" },
33
-
{ "name": "RepoDeactivated" }
32
+
{
33
+
"name": "RecordNotFound"
34
+
},
35
+
{
36
+
"name": "RepoNotFound"
37
+
},
38
+
{
39
+
"name": "RepoTakendown"
40
+
},
41
+
{
42
+
"name": "RepoSuspended"
43
+
},
44
+
{
45
+
"name": "RepoDeactivated"
46
+
}
34
47
]
35
48
}
36
49
}
+12
-4
lexdocs/bluesky/com/atproto/sync/getRepo.json
packages/definitions/atproto/lexicons/com/atproto/sync/getRepo.json
+12
-4
lexdocs/bluesky/com/atproto/sync/getRepo.json
packages/definitions/atproto/lexicons/com/atproto/sync/getRepo.json
···
25
25
"encoding": "application/vnd.ipld.car"
26
26
},
27
27
"errors": [
28
-
{ "name": "RepoNotFound" },
29
-
{ "name": "RepoTakendown" },
30
-
{ "name": "RepoSuspended" },
31
-
{ "name": "RepoDeactivated" }
28
+
{
29
+
"name": "RepoNotFound"
30
+
},
31
+
{
32
+
"name": "RepoTakendown"
33
+
},
34
+
{
35
+
"name": "RepoSuspended"
36
+
},
37
+
{
38
+
"name": "RepoDeactivated"
39
+
}
32
40
]
33
41
}
34
42
}
+12
-3
lexdocs/bluesky/com/atproto/sync/getRepoStatus.json
packages/definitions/atproto/lexicons/com/atproto/sync/getRepoStatus.json
+12
-3
lexdocs/bluesky/com/atproto/sync/getRepoStatus.json
packages/definitions/atproto/lexicons/com/atproto/sync/getRepoStatus.json
···
22
22
"type": "object",
23
23
"required": ["did", "active"],
24
24
"properties": {
25
-
"did": { "type": "string", "format": "did" },
26
-
"active": { "type": "boolean" },
25
+
"did": {
26
+
"type": "string",
27
+
"format": "did"
28
+
},
29
+
"active": {
30
+
"type": "boolean"
31
+
},
27
32
"status": {
28
33
"type": "string",
29
34
"description": "If active=false, this optional field indicates a possible reason for why the account is not active. If active=false and no status is supplied, then the host makes no claim for why the repository is no longer being hosted.",
···
44
49
}
45
50
}
46
51
},
47
-
"errors": [{ "name": "RepoNotFound" }]
52
+
"errors": [
53
+
{
54
+
"name": "RepoNotFound"
55
+
}
56
+
]
48
57
}
49
58
}
50
59
}
+22
-7
lexdocs/bluesky/com/atproto/sync/listBlobs.json
packages/definitions/atproto/lexicons/com/atproto/sync/listBlobs.json
+22
-7
lexdocs/bluesky/com/atproto/sync/listBlobs.json
packages/definitions/atproto/lexicons/com/atproto/sync/listBlobs.json
···
25
25
"maximum": 1000,
26
26
"default": 500
27
27
},
28
-
"cursor": { "type": "string" }
28
+
"cursor": {
29
+
"type": "string"
30
+
}
29
31
}
30
32
},
31
33
"output": {
···
34
36
"type": "object",
35
37
"required": ["cids"],
36
38
"properties": {
37
-
"cursor": { "type": "string" },
39
+
"cursor": {
40
+
"type": "string"
41
+
},
38
42
"cids": {
39
43
"type": "array",
40
-
"items": { "type": "string", "format": "cid" }
44
+
"items": {
45
+
"type": "string",
46
+
"format": "cid"
47
+
}
41
48
}
42
49
}
43
50
}
44
51
},
45
52
"errors": [
46
-
{ "name": "RepoNotFound" },
47
-
{ "name": "RepoTakendown" },
48
-
{ "name": "RepoSuspended" },
49
-
{ "name": "RepoDeactivated" }
53
+
{
54
+
"name": "RepoNotFound"
55
+
},
56
+
{
57
+
"name": "RepoTakendown"
58
+
},
59
+
{
60
+
"name": "RepoSuspended"
61
+
},
62
+
{
63
+
"name": "RepoDeactivated"
64
+
}
50
65
]
51
66
}
52
67
}
+13
-4
lexdocs/bluesky/com/atproto/sync/listHosts.json
packages/definitions/atproto/lexicons/com/atproto/sync/listHosts.json
+13
-4
lexdocs/bluesky/com/atproto/sync/listHosts.json
packages/definitions/atproto/lexicons/com/atproto/sync/listHosts.json
···
14
14
"maximum": 1000,
15
15
"default": 200
16
16
},
17
-
"cursor": { "type": "string" }
17
+
"cursor": {
18
+
"type": "string"
19
+
}
18
20
}
19
21
},
20
22
"output": {
···
23
25
"type": "object",
24
26
"required": ["hosts"],
25
27
"properties": {
26
-
"cursor": { "type": "string" },
28
+
"cursor": {
29
+
"type": "string"
30
+
},
27
31
"hosts": {
28
32
"type": "array",
29
-
"items": { "type": "ref", "ref": "#host" },
33
+
"items": {
34
+
"type": "ref",
35
+
"ref": "#host"
36
+
},
30
37
"description": "Sort order is not formally specified. Recommended order is by time host was first seen by the server, with oldest first."
31
38
}
32
39
}
···
45
52
"type": "integer",
46
53
"description": "Recent repo stream event sequence number. May be delayed from actual stream processing (eg, persisted cursor not in-memory cursor)."
47
54
},
48
-
"accountCount": { "type": "integer" },
55
+
"accountCount": {
56
+
"type": "integer"
57
+
},
49
58
"status": {
50
59
"type": "ref",
51
60
"ref": "com.atproto.sync.defs#hostStatus"
+21
-6
lexdocs/bluesky/com/atproto/sync/listRepos.json
packages/definitions/atproto/lexicons/com/atproto/sync/listRepos.json
+21
-6
lexdocs/bluesky/com/atproto/sync/listRepos.json
packages/definitions/atproto/lexicons/com/atproto/sync/listRepos.json
···
14
14
"maximum": 1000,
15
15
"default": 500
16
16
},
17
-
"cursor": { "type": "string" }
17
+
"cursor": {
18
+
"type": "string"
19
+
}
18
20
}
19
21
},
20
22
"output": {
···
23
25
"type": "object",
24
26
"required": ["repos"],
25
27
"properties": {
26
-
"cursor": { "type": "string" },
28
+
"cursor": {
29
+
"type": "string"
30
+
},
27
31
"repos": {
28
32
"type": "array",
29
-
"items": { "type": "ref", "ref": "#repo" }
33
+
"items": {
34
+
"type": "ref",
35
+
"ref": "#repo"
36
+
}
30
37
}
31
38
}
32
39
}
···
36
43
"type": "object",
37
44
"required": ["did", "head", "rev"],
38
45
"properties": {
39
-
"did": { "type": "string", "format": "did" },
46
+
"did": {
47
+
"type": "string",
48
+
"format": "did"
49
+
},
40
50
"head": {
41
51
"type": "string",
42
52
"format": "cid",
43
53
"description": "Current repo commit CID"
44
54
},
45
-
"rev": { "type": "string", "format": "tid" },
46
-
"active": { "type": "boolean" },
55
+
"rev": {
56
+
"type": "string",
57
+
"format": "tid"
58
+
},
59
+
"active": {
60
+
"type": "boolean"
61
+
},
47
62
"status": {
48
63
"type": "string",
49
64
"description": "If active=false, this optional field indicates a possible reason for why the account is not active. If active=false and no status is supplied, then the host makes no claim for why the repository is no longer being hosted.",
+18
-5
lexdocs/bluesky/com/atproto/sync/listReposByCollection.json
packages/definitions/atproto/lexicons/com/atproto/sync/listReposByCollection.json
+18
-5
lexdocs/bluesky/com/atproto/sync/listReposByCollection.json
packages/definitions/atproto/lexicons/com/atproto/sync/listReposByCollection.json
···
9
9
"type": "params",
10
10
"required": ["collection"],
11
11
"properties": {
12
-
"collection": { "type": "string", "format": "nsid" },
12
+
"collection": {
13
+
"type": "string",
14
+
"format": "nsid"
15
+
},
13
16
"limit": {
14
17
"type": "integer",
15
18
"description": "Maximum size of response set. Recommend setting a large maximum (1000+) when enumerating large DID lists.",
···
17
20
"maximum": 2000,
18
21
"default": 500
19
22
},
20
-
"cursor": { "type": "string" }
23
+
"cursor": {
24
+
"type": "string"
25
+
}
21
26
}
22
27
},
23
28
"output": {
···
26
31
"type": "object",
27
32
"required": ["repos"],
28
33
"properties": {
29
-
"cursor": { "type": "string" },
34
+
"cursor": {
35
+
"type": "string"
36
+
},
30
37
"repos": {
31
38
"type": "array",
32
-
"items": { "type": "ref", "ref": "#repo" }
39
+
"items": {
40
+
"type": "ref",
41
+
"ref": "#repo"
42
+
}
33
43
}
34
44
}
35
45
}
···
39
49
"type": "object",
40
50
"required": ["did"],
41
51
"properties": {
42
-
"did": { "type": "string", "format": "did" }
52
+
"did": {
53
+
"type": "string",
54
+
"format": "did"
55
+
}
43
56
}
44
57
}
45
58
}
lexdocs/bluesky/com/atproto/sync/notifyOfUpdate.json
packages/definitions/atproto/lexicons/com/atproto/sync/notifyOfUpdate.json
lexdocs/bluesky/com/atproto/sync/notifyOfUpdate.json
packages/definitions/atproto/lexicons/com/atproto/sync/notifyOfUpdate.json
+5
-1
lexdocs/bluesky/com/atproto/sync/requestCrawl.json
packages/definitions/atproto/lexicons/com/atproto/sync/requestCrawl.json
+5
-1
lexdocs/bluesky/com/atproto/sync/requestCrawl.json
packages/definitions/atproto/lexicons/com/atproto/sync/requestCrawl.json
+32
-9
lexdocs/bluesky/com/atproto/sync/subscribeRepos.json
packages/definitions/atproto/lexicons/com/atproto/sync/subscribeRepos.json
+32
-9
lexdocs/bluesky/com/atproto/sync/subscribeRepos.json
packages/definitions/atproto/lexicons/com/atproto/sync/subscribeRepos.json
···
21
21
}
22
22
},
23
23
"errors": [
24
-
{ "name": "FutureCursor" },
24
+
{
25
+
"name": "FutureCursor"
26
+
},
25
27
{
26
28
"name": "ConsumerTooSlow",
27
29
"description": "If the consumer of the stream can not keep up with events, and a backlog gets too large, the server will drop the connection."
···
50
52
"type": "integer",
51
53
"description": "The stream sequence number of this message."
52
54
},
53
-
"rebase": { "type": "boolean", "description": "DEPRECATED -- unused" },
55
+
"rebase": {
56
+
"type": "boolean",
57
+
"description": "DEPRECATED -- unused"
58
+
},
54
59
"tooBig": {
55
60
"type": "boolean",
56
61
"description": "DEPRECATED -- replaced by #sync event and data limits. Indicates that this commit contained too many ops, or data size was too large. Consumers will need to make a separate request to get missing data."
···
141
146
"description": "Represents a change to an account's identity. Could be an updated handle, signing key, or pds hosting endpoint. Serves as a prod to all downstream services to refresh their identity cache.",
142
147
"required": ["seq", "did", "time"],
143
148
"properties": {
144
-
"seq": { "type": "integer" },
145
-
"did": { "type": "string", "format": "did" },
146
-
"time": { "type": "string", "format": "datetime" },
149
+
"seq": {
150
+
"type": "integer"
151
+
},
152
+
"did": {
153
+
"type": "string",
154
+
"format": "did"
155
+
},
156
+
"time": {
157
+
"type": "string",
158
+
"format": "datetime"
159
+
},
147
160
"handle": {
148
161
"type": "string",
149
162
"format": "handle",
···
156
169
"description": "Represents a change to an account's status on a host (eg, PDS or Relay). The semantics of this event are that the status is at the host which emitted the event, not necessarily that at the currently active PDS. Eg, a Relay takedown would emit a takedown with active=false, even if the PDS is still active.",
157
170
"required": ["seq", "did", "time", "active"],
158
171
"properties": {
159
-
"seq": { "type": "integer" },
160
-
"did": { "type": "string", "format": "did" },
161
-
"time": { "type": "string", "format": "datetime" },
172
+
"seq": {
173
+
"type": "integer"
174
+
},
175
+
"did": {
176
+
"type": "string",
177
+
"format": "did"
178
+
},
179
+
"time": {
180
+
"type": "string",
181
+
"format": "datetime"
182
+
},
162
183
"active": {
163
184
"type": "boolean",
164
185
"description": "Indicates that the account has a repository which can be fetched from the host that emitted this event."
···
193
214
"type": "string",
194
215
"knownValues": ["create", "update", "delete"]
195
216
},
196
-
"path": { "type": "string" },
217
+
"path": {
218
+
"type": "string"
219
+
},
197
220
"cid": {
198
221
"type": "cid-link",
199
222
"description": "For creates and updates, the new record CID. For deletions, null."
+3
-1
lexdocs/bluesky/com/atproto/temp/addReservedHandle.json
packages/definitions/atproto/lexicons/com/atproto/temp/addReservedHandle.json
+3
-1
lexdocs/bluesky/com/atproto/temp/addReservedHandle.json
packages/definitions/atproto/lexicons/com/atproto/temp/addReservedHandle.json
lexdocs/bluesky/com/atproto/temp/checkHandleAvailability.json
packages/definitions/atproto/lexicons/com/atproto/temp/checkHandleAvailability.json
lexdocs/bluesky/com/atproto/temp/checkHandleAvailability.json
packages/definitions/atproto/lexicons/com/atproto/temp/checkHandleAvailability.json
+9
-3
lexdocs/bluesky/com/atproto/temp/checkSignupQueue.json
packages/definitions/atproto/lexicons/com/atproto/temp/checkSignupQueue.json
+9
-3
lexdocs/bluesky/com/atproto/temp/checkSignupQueue.json
packages/definitions/atproto/lexicons/com/atproto/temp/checkSignupQueue.json
···
11
11
"type": "object",
12
12
"required": ["activated"],
13
13
"properties": {
14
-
"activated": { "type": "boolean" },
15
-
"placeInQueue": { "type": "integer" },
16
-
"estimatedTimeMs": { "type": "integer" }
14
+
"activated": {
15
+
"type": "boolean"
16
+
},
17
+
"placeInQueue": {
18
+
"type": "integer"
19
+
},
20
+
"estimatedTimeMs": {
21
+
"type": "integer"
22
+
}
17
23
}
18
24
}
19
25
}
lexdocs/bluesky/com/atproto/temp/dereferenceScope.json
packages/definitions/atproto/lexicons/com/atproto/temp/dereferenceScope.json
lexdocs/bluesky/com/atproto/temp/dereferenceScope.json
packages/definitions/atproto/lexicons/com/atproto/temp/dereferenceScope.json
+7
-2
lexdocs/bluesky/com/atproto/temp/fetchLabels.json
packages/definitions/atproto/lexicons/com/atproto/temp/fetchLabels.json
+7
-2
lexdocs/bluesky/com/atproto/temp/fetchLabels.json
packages/definitions/atproto/lexicons/com/atproto/temp/fetchLabels.json
···
8
8
"parameters": {
9
9
"type": "params",
10
10
"properties": {
11
-
"since": { "type": "integer" },
11
+
"since": {
12
+
"type": "integer"
13
+
},
12
14
"limit": {
13
15
"type": "integer",
14
16
"minimum": 1,
···
25
27
"properties": {
26
28
"labels": {
27
29
"type": "array",
28
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
30
+
"items": {
31
+
"type": "ref",
32
+
"ref": "com.atproto.label.defs#label"
33
+
}
29
34
}
30
35
}
31
36
}
+3
-1
lexdocs/bluesky/com/atproto/temp/requestPhoneVerification.json
packages/definitions/atproto/lexicons/com/atproto/temp/requestPhoneVerification.json
+3
-1
lexdocs/bluesky/com/atproto/temp/requestPhoneVerification.json
packages/definitions/atproto/lexicons/com/atproto/temp/requestPhoneVerification.json
lexdocs/bluesky/com/atproto/temp/revokeAccountCredentials.json
packages/definitions/atproto/lexicons/com/atproto/temp/revokeAccountCredentials.json
lexdocs/bluesky/com/atproto/temp/revokeAccountCredentials.json
packages/definitions/atproto/lexicons/com/atproto/temp/revokeAccountCredentials.json
+5
-1
lexdocs/bluesky/tools/ozone/communication/createTemplate.json
packages/definitions/ozone/lexicons/tools/ozone/communication/createTemplate.json
+5
-1
lexdocs/bluesky/tools/ozone/communication/createTemplate.json
packages/definitions/ozone/lexicons/tools/ozone/communication/createTemplate.json
+18
-5
lexdocs/bluesky/tools/ozone/communication/defs.json
packages/definitions/ozone/lexicons/tools/ozone/communication/defs.json
+18
-5
lexdocs/bluesky/tools/ozone/communication/defs.json
packages/definitions/ozone/lexicons/tools/ozone/communication/defs.json
···
6
6
"type": "object",
7
7
"required": ["id", "name", "contentMarkdown", "disabled", "lastUpdatedBy", "createdAt", "updatedAt"],
8
8
"properties": {
9
-
"id": { "type": "string" },
10
-
"name": { "type": "string", "description": "Name of the template." },
9
+
"id": {
10
+
"type": "string"
11
+
},
12
+
"name": {
13
+
"type": "string",
14
+
"description": "Name of the template."
15
+
},
11
16
"subject": {
12
17
"type": "string",
13
18
"description": "Content of the template, can contain markdown and variable placeholders."
···
16
21
"type": "string",
17
22
"description": "Subject of the message, used in emails."
18
23
},
19
-
"disabled": { "type": "boolean" },
24
+
"disabled": {
25
+
"type": "boolean"
26
+
},
20
27
"lang": {
21
28
"type": "string",
22
29
"format": "language",
···
27
34
"format": "did",
28
35
"description": "DID of the user who last updated the template."
29
36
},
30
-
"createdAt": { "type": "string", "format": "datetime" },
31
-
"updatedAt": { "type": "string", "format": "datetime" }
37
+
"createdAt": {
38
+
"type": "string",
39
+
"format": "datetime"
40
+
},
41
+
"updatedAt": {
42
+
"type": "string",
43
+
"format": "datetime"
44
+
}
32
45
}
33
46
}
34
47
}
+3
-1
lexdocs/bluesky/tools/ozone/communication/deleteTemplate.json
packages/definitions/ozone/lexicons/tools/ozone/communication/deleteTemplate.json
+3
-1
lexdocs/bluesky/tools/ozone/communication/deleteTemplate.json
packages/definitions/ozone/lexicons/tools/ozone/communication/deleteTemplate.json
lexdocs/bluesky/tools/ozone/communication/listTemplates.json
packages/definitions/ozone/lexicons/tools/ozone/communication/listTemplates.json
lexdocs/bluesky/tools/ozone/communication/listTemplates.json
packages/definitions/ozone/lexicons/tools/ozone/communication/listTemplates.json
+5
-1
lexdocs/bluesky/tools/ozone/communication/updateTemplate.json
packages/definitions/ozone/lexicons/tools/ozone/communication/updateTemplate.json
+5
-1
lexdocs/bluesky/tools/ozone/communication/updateTemplate.json
packages/definitions/ozone/lexicons/tools/ozone/communication/updateTemplate.json
+34
-10
lexdocs/bluesky/tools/ozone/hosting/getAccountHistory.json
packages/definitions/ozone/lexicons/tools/ozone/hosting/getAccountHistory.json
+34
-10
lexdocs/bluesky/tools/ozone/hosting/getAccountHistory.json
packages/definitions/ozone/lexicons/tools/ozone/hosting/getAccountHistory.json
···
9
9
"type": "params",
10
10
"required": ["did"],
11
11
"properties": {
12
-
"did": { "type": "string", "format": "did" },
12
+
"did": {
13
+
"type": "string",
14
+
"format": "did"
15
+
},
13
16
"events": {
14
17
"type": "array",
15
18
"items": {
···
23
26
]
24
27
}
25
28
},
26
-
"cursor": { "type": "string" },
29
+
"cursor": {
30
+
"type": "string"
31
+
},
27
32
"limit": {
28
33
"type": "integer",
29
34
"minimum": 1,
···
38
43
"type": "object",
39
44
"required": ["events"],
40
45
"properties": {
41
-
"cursor": { "type": "string" },
46
+
"cursor": {
47
+
"type": "string"
48
+
},
42
49
"events": {
43
50
"type": "array",
44
51
"items": {
···
64
71
"#handleUpdated"
65
72
]
66
73
},
67
-
"createdBy": { "type": "string" },
68
-
"createdAt": { "type": "string", "format": "datetime" }
74
+
"createdBy": {
75
+
"type": "string"
76
+
},
77
+
"createdAt": {
78
+
"type": "string",
79
+
"format": "datetime"
80
+
}
69
81
}
70
82
},
71
83
"accountCreated": {
72
84
"type": "object",
73
85
"required": [],
74
86
"properties": {
75
-
"email": { "type": "string" },
76
-
"handle": { "type": "string", "format": "handle" }
87
+
"email": {
88
+
"type": "string"
89
+
},
90
+
"handle": {
91
+
"type": "string",
92
+
"format": "handle"
93
+
}
77
94
}
78
95
},
79
96
"emailUpdated": {
80
97
"type": "object",
81
98
"required": ["email"],
82
99
"properties": {
83
-
"email": { "type": "string" }
100
+
"email": {
101
+
"type": "string"
102
+
}
84
103
}
85
104
},
86
105
"emailConfirmed": {
87
106
"type": "object",
88
107
"required": ["email"],
89
108
"properties": {
90
-
"email": { "type": "string" }
109
+
"email": {
110
+
"type": "string"
111
+
}
91
112
}
92
113
},
93
114
"passwordUpdated": {
···
99
120
"type": "object",
100
121
"required": ["handle"],
101
122
"properties": {
102
-
"handle": { "type": "string", "format": "handle" }
123
+
"handle": {
124
+
"type": "string",
125
+
"format": "handle"
126
+
}
103
127
}
104
128
}
105
129
}
+18
-5
lexdocs/bluesky/tools/ozone/moderation/cancelScheduledActions.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/cancelScheduledActions.json
+18
-5
lexdocs/bluesky/tools/ozone/moderation/cancelScheduledActions.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/cancelScheduledActions.json
···
41
41
"properties": {
42
42
"succeeded": {
43
43
"type": "array",
44
-
"items": { "type": "string", "format": "did" },
44
+
"items": {
45
+
"type": "string",
46
+
"format": "did"
47
+
},
45
48
"description": "DIDs for which all pending scheduled actions were successfully cancelled"
46
49
},
47
50
"failed": {
48
51
"type": "array",
49
-
"items": { "type": "ref", "ref": "#failedCancellation" },
52
+
"items": {
53
+
"type": "ref",
54
+
"ref": "#failedCancellation"
55
+
},
50
56
"description": "DIDs for which cancellation failed with error details"
51
57
}
52
58
}
···
55
61
"type": "object",
56
62
"required": ["did", "error"],
57
63
"properties": {
58
-
"did": { "type": "string", "format": "did" },
59
-
"error": { "type": "string" },
60
-
"errorCode": { "type": "string" }
64
+
"did": {
65
+
"type": "string",
66
+
"format": "did"
67
+
},
68
+
"error": {
69
+
"type": "string"
70
+
},
71
+
"errorCode": {
72
+
"type": "string"
73
+
}
61
74
}
62
75
}
63
76
}
+334
-89
lexdocs/bluesky/tools/ozone/moderation/defs.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/defs.json
+334
-89
lexdocs/bluesky/tools/ozone/moderation/defs.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/defs.json
···
6
6
"type": "object",
7
7
"required": ["id", "event", "subject", "subjectBlobCids", "createdBy", "createdAt"],
8
8
"properties": {
9
-
"id": { "type": "integer" },
9
+
"id": {
10
+
"type": "integer"
11
+
},
10
12
"event": {
11
13
"type": "union",
12
14
"refs": [
···
44
46
"chat.bsky.convo.defs#messageRef"
45
47
]
46
48
},
47
-
"subjectBlobCids": { "type": "array", "items": { "type": "string" } },
48
-
"createdBy": { "type": "string", "format": "did" },
49
-
"createdAt": { "type": "string", "format": "datetime" },
50
-
"creatorHandle": { "type": "string" },
51
-
"subjectHandle": { "type": "string" },
52
-
"modTool": { "type": "ref", "ref": "#modTool" }
49
+
"subjectBlobCids": {
50
+
"type": "array",
51
+
"items": {
52
+
"type": "string"
53
+
}
54
+
},
55
+
"createdBy": {
56
+
"type": "string",
57
+
"format": "did"
58
+
},
59
+
"createdAt": {
60
+
"type": "string",
61
+
"format": "datetime"
62
+
},
63
+
"creatorHandle": {
64
+
"type": "string"
65
+
},
66
+
"subjectHandle": {
67
+
"type": "string"
68
+
},
69
+
"modTool": {
70
+
"type": "ref",
71
+
"ref": "#modTool"
72
+
}
53
73
}
54
74
},
55
75
"modEventViewDetail": {
56
76
"type": "object",
57
77
"required": ["id", "event", "subject", "subjectBlobs", "createdBy", "createdAt"],
58
78
"properties": {
59
-
"id": { "type": "integer" },
79
+
"id": {
80
+
"type": "integer"
81
+
},
60
82
"event": {
61
83
"type": "union",
62
84
"refs": [
···
92
114
},
93
115
"subjectBlobs": {
94
116
"type": "array",
95
-
"items": { "type": "ref", "ref": "#blobView" }
117
+
"items": {
118
+
"type": "ref",
119
+
"ref": "#blobView"
120
+
}
121
+
},
122
+
"createdBy": {
123
+
"type": "string",
124
+
"format": "did"
96
125
},
97
-
"createdBy": { "type": "string", "format": "did" },
98
-
"createdAt": { "type": "string", "format": "datetime" },
99
-
"modTool": { "type": "ref", "ref": "#modTool" }
126
+
"createdAt": {
127
+
"type": "string",
128
+
"format": "datetime"
129
+
},
130
+
"modTool": {
131
+
"type": "ref",
132
+
"ref": "#modTool"
133
+
}
100
134
}
101
135
},
102
136
"subjectStatusView": {
103
137
"type": "object",
104
138
"required": ["id", "subject", "createdAt", "updatedAt", "reviewState"],
105
139
"properties": {
106
-
"id": { "type": "integer" },
140
+
"id": {
141
+
"type": "integer"
142
+
},
107
143
"subject": {
108
144
"type": "union",
109
145
"refs": [
···
118
154
},
119
155
"subjectBlobCids": {
120
156
"type": "array",
121
-
"items": { "type": "string", "format": "cid" }
157
+
"items": {
158
+
"type": "string",
159
+
"format": "cid"
160
+
}
161
+
},
162
+
"subjectRepoHandle": {
163
+
"type": "string"
122
164
},
123
-
"subjectRepoHandle": { "type": "string" },
124
165
"updatedAt": {
125
166
"type": "string",
126
167
"format": "datetime",
···
183
224
},
184
225
"tags": {
185
226
"type": "array",
186
-
"items": { "type": "string" }
227
+
"items": {
228
+
"type": "string"
229
+
}
187
230
},
188
231
"accountStats": {
189
232
"description": "Statistics related to the account subject",
···
368
411
"policies": {
369
412
"type": "array",
370
413
"maxLength": 5,
371
-
"items": { "type": "string" },
414
+
"items": {
415
+
"type": "string"
416
+
},
372
417
"description": "Names/Keywords of the policies that drove the decision."
373
418
},
374
419
"severityLevel": {
375
420
"type": "string",
376
421
"description": "Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.)."
377
422
},
423
+
"targetServices": {
424
+
"type": "array",
425
+
"items": {
426
+
"type": "string",
427
+
"knownValues": ["appview", "pds"]
428
+
},
429
+
"description": "List of services where the takedown should be applied. If empty or not provided, takedown is applied on all configured services."
430
+
},
378
431
"strikeCount": {
379
432
"type": "integer",
380
433
"description": "Number of strikes to assign to the user for this violation."
···
397
450
"policies": {
398
451
"type": "array",
399
452
"maxLength": 5,
400
-
"items": { "type": "string" },
453
+
"items": {
454
+
"type": "string"
455
+
},
401
456
"description": "Names/Keywords of the policy infraction for which takedown is being reversed."
402
457
},
403
458
"severityLevel": {
···
461
516
},
462
517
"createLabelVals": {
463
518
"type": "array",
464
-
"items": { "type": "string" }
519
+
"items": {
520
+
"type": "string"
521
+
}
465
522
},
466
523
"negateLabelVals": {
467
524
"type": "array",
468
-
"items": { "type": "string" }
525
+
"items": {
526
+
"type": "string"
527
+
}
469
528
},
470
529
"durationInHours": {
471
530
"type": "integer",
···
555
614
"modEventAcknowledge": {
556
615
"type": "object",
557
616
"properties": {
558
-
"comment": { "type": "string" },
617
+
"comment": {
618
+
"type": "string"
619
+
},
559
620
"acknowledgeAccountSubjects": {
560
621
"type": "boolean",
561
622
"description": "If true, all other reports on content authored by this account will be resolved (acknowledged)."
···
565
626
"modEventEscalate": {
566
627
"type": "object",
567
628
"properties": {
568
-
"comment": { "type": "string" }
629
+
"comment": {
630
+
"type": "string"
631
+
}
569
632
}
570
633
},
571
634
"modEventMute": {
···
573
636
"description": "Mute incoming reports on a subject",
574
637
"required": ["durationInHours"],
575
638
"properties": {
576
-
"comment": { "type": "string" },
639
+
"comment": {
640
+
"type": "string"
641
+
},
577
642
"durationInHours": {
578
643
"type": "integer",
579
644
"description": "Indicates how long the subject should remain muted."
···
594
659
"type": "object",
595
660
"description": "Mute incoming reports from an account",
596
661
"properties": {
597
-
"comment": { "type": "string" },
662
+
"comment": {
663
+
"type": "string"
664
+
},
598
665
"durationInHours": {
599
666
"type": "integer",
600
667
"description": "Indicates how long the account should remain muted. Falsy value here means a permanent mute."
···
631
698
"policies": {
632
699
"type": "array",
633
700
"maxLength": 5,
634
-
"items": { "type": "string" },
701
+
"items": {
702
+
"type": "string"
703
+
},
635
704
"description": "Names/Keywords of the policies that necessitated the email."
636
705
},
637
706
"severityLevel": {
···
646
715
"type": "string",
647
716
"format": "datetime",
648
717
"description": "When the strike should expire. If not provided, the strike never expires."
718
+
},
719
+
"isDelivered": {
720
+
"type": "boolean",
721
+
"description": "Indicates whether the email was successfully delivered to the user's inbox."
649
722
}
650
723
}
651
724
},
···
653
726
"type": "object",
654
727
"description": "Divert a record's blobs to a 3rd party service for further scanning/tagging",
655
728
"properties": {
656
-
"comment": { "type": "string" }
729
+
"comment": {
730
+
"type": "string"
731
+
}
657
732
}
658
733
},
659
734
"modEventTag": {
···
663
738
"properties": {
664
739
"add": {
665
740
"type": "array",
666
-
"items": { "type": "string" },
741
+
"items": {
742
+
"type": "string"
743
+
},
667
744
"description": "Tags to be added to the subject. If already exists, won't be duplicated."
668
745
},
669
746
"remove": {
670
747
"type": "array",
671
-
"items": { "type": "string" },
748
+
"items": {
749
+
"type": "string"
750
+
},
672
751
"description": "Tags to be removed to the subject. Ignores a tag If it doesn't exist, won't be duplicated."
673
752
},
674
753
"comment": {
···
682
761
"description": "Logs account status related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking.",
683
762
"required": ["timestamp", "active"],
684
763
"properties": {
685
-
"comment": { "type": "string" },
764
+
"comment": {
765
+
"type": "string"
766
+
},
686
767
"active": {
687
768
"type": "boolean",
688
769
"description": "Indicates that the account has a repository which can be fetched from the host that emitted this event."
···
702
783
"description": "Logs identity related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking.",
703
784
"required": ["timestamp"],
704
785
"properties": {
705
-
"comment": { "type": "string" },
706
-
"handle": { "type": "string", "format": "handle" },
707
-
"pdsHost": { "type": "string", "format": "uri" },
708
-
"tombstone": { "type": "boolean" },
786
+
"comment": {
787
+
"type": "string"
788
+
},
789
+
"handle": {
790
+
"type": "string",
791
+
"format": "handle"
792
+
},
793
+
"pdsHost": {
794
+
"type": "string",
795
+
"format": "uri"
796
+
},
797
+
"tombstone": {
798
+
"type": "boolean"
799
+
},
709
800
"timestamp": {
710
801
"type": "string",
711
802
"format": "datetime"
···
717
808
"description": "Logs lifecycle event on a record subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking.",
718
809
"required": ["timestamp", "op"],
719
810
"properties": {
720
-
"comment": { "type": "string" },
811
+
"comment": {
812
+
"type": "string"
813
+
},
721
814
"op": {
722
815
"type": "string",
723
816
"knownValues": ["create", "update", "delete"]
724
817
},
725
-
"cid": { "type": "string", "format": "cid" },
726
-
"timestamp": { "type": "string", "format": "datetime" }
818
+
"cid": {
819
+
"type": "string",
820
+
"format": "cid"
821
+
},
822
+
"timestamp": {
823
+
"type": "string",
824
+
"format": "datetime"
825
+
}
727
826
}
728
827
},
729
828
"scheduleTakedownEvent": {
730
829
"type": "object",
731
830
"description": "Logs a scheduled takedown action for an account.",
732
831
"properties": {
733
-
"comment": { "type": "string" },
734
-
"executeAt": { "type": "string", "format": "datetime" },
735
-
"executeAfter": { "type": "string", "format": "datetime" },
736
-
"executeUntil": { "type": "string", "format": "datetime" }
832
+
"comment": {
833
+
"type": "string"
834
+
},
835
+
"executeAt": {
836
+
"type": "string",
837
+
"format": "datetime"
838
+
},
839
+
"executeAfter": {
840
+
"type": "string",
841
+
"format": "datetime"
842
+
},
843
+
"executeUntil": {
844
+
"type": "string",
845
+
"format": "datetime"
846
+
}
737
847
}
738
848
},
739
849
"cancelScheduledTakedownEvent": {
740
850
"type": "object",
741
851
"description": "Logs cancellation of a scheduled takedown action for an account.",
742
852
"properties": {
743
-
"comment": { "type": "string" }
853
+
"comment": {
854
+
"type": "string"
855
+
}
744
856
}
745
857
},
746
858
"repoView": {
747
859
"type": "object",
748
860
"required": ["did", "handle", "relatedRecords", "indexedAt", "moderation"],
749
861
"properties": {
750
-
"did": { "type": "string", "format": "did" },
751
-
"handle": { "type": "string", "format": "handle" },
752
-
"email": { "type": "string" },
753
-
"relatedRecords": { "type": "array", "items": { "type": "unknown" } },
754
-
"indexedAt": { "type": "string", "format": "datetime" },
755
-
"moderation": { "type": "ref", "ref": "#moderation" },
862
+
"did": {
863
+
"type": "string",
864
+
"format": "did"
865
+
},
866
+
"handle": {
867
+
"type": "string",
868
+
"format": "handle"
869
+
},
870
+
"email": {
871
+
"type": "string"
872
+
},
873
+
"relatedRecords": {
874
+
"type": "array",
875
+
"items": {
876
+
"type": "unknown"
877
+
}
878
+
},
879
+
"indexedAt": {
880
+
"type": "string",
881
+
"format": "datetime"
882
+
},
883
+
"moderation": {
884
+
"type": "ref",
885
+
"ref": "#moderation"
886
+
},
756
887
"invitedBy": {
757
888
"type": "ref",
758
889
"ref": "com.atproto.server.defs#inviteCode"
759
890
},
760
-
"invitesDisabled": { "type": "boolean" },
761
-
"inviteNote": { "type": "string" },
762
-
"deactivatedAt": { "type": "string", "format": "datetime" },
891
+
"invitesDisabled": {
892
+
"type": "boolean"
893
+
},
894
+
"inviteNote": {
895
+
"type": "string"
896
+
},
897
+
"deactivatedAt": {
898
+
"type": "string",
899
+
"format": "datetime"
900
+
},
763
901
"threatSignatures": {
764
902
"type": "array",
765
903
"items": {
···
773
911
"type": "object",
774
912
"required": ["did", "handle", "relatedRecords", "indexedAt", "moderation"],
775
913
"properties": {
776
-
"did": { "type": "string", "format": "did" },
777
-
"handle": { "type": "string", "format": "handle" },
778
-
"email": { "type": "string" },
779
-
"relatedRecords": { "type": "array", "items": { "type": "unknown" } },
780
-
"indexedAt": { "type": "string", "format": "datetime" },
781
-
"moderation": { "type": "ref", "ref": "#moderationDetail" },
914
+
"did": {
915
+
"type": "string",
916
+
"format": "did"
917
+
},
918
+
"handle": {
919
+
"type": "string",
920
+
"format": "handle"
921
+
},
922
+
"email": {
923
+
"type": "string"
924
+
},
925
+
"relatedRecords": {
926
+
"type": "array",
927
+
"items": {
928
+
"type": "unknown"
929
+
}
930
+
},
931
+
"indexedAt": {
932
+
"type": "string",
933
+
"format": "datetime"
934
+
},
935
+
"moderation": {
936
+
"type": "ref",
937
+
"ref": "#moderationDetail"
938
+
},
782
939
"labels": {
783
940
"type": "array",
784
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
941
+
"items": {
942
+
"type": "ref",
943
+
"ref": "com.atproto.label.defs#label"
944
+
}
785
945
},
786
946
"invitedBy": {
787
947
"type": "ref",
···
794
954
"ref": "com.atproto.server.defs#inviteCode"
795
955
}
796
956
},
797
-
"invitesDisabled": { "type": "boolean" },
798
-
"inviteNote": { "type": "string" },
799
-
"emailConfirmedAt": { "type": "string", "format": "datetime" },
800
-
"deactivatedAt": { "type": "string", "format": "datetime" },
957
+
"invitesDisabled": {
958
+
"type": "boolean"
959
+
},
960
+
"inviteNote": {
961
+
"type": "string"
962
+
},
963
+
"emailConfirmedAt": {
964
+
"type": "string",
965
+
"format": "datetime"
966
+
},
967
+
"deactivatedAt": {
968
+
"type": "string",
969
+
"format": "datetime"
970
+
},
801
971
"threatSignatures": {
802
972
"type": "array",
803
973
"items": {
···
811
981
"type": "object",
812
982
"required": ["did"],
813
983
"properties": {
814
-
"did": { "type": "string", "format": "did" }
984
+
"did": {
985
+
"type": "string",
986
+
"format": "did"
987
+
}
815
988
}
816
989
},
817
990
"recordView": {
818
991
"type": "object",
819
992
"required": ["uri", "cid", "value", "blobCids", "indexedAt", "moderation", "repo"],
820
993
"properties": {
821
-
"uri": { "type": "string", "format": "at-uri" },
822
-
"cid": { "type": "string", "format": "cid" },
823
-
"value": { "type": "unknown" },
994
+
"uri": {
995
+
"type": "string",
996
+
"format": "at-uri"
997
+
},
998
+
"cid": {
999
+
"type": "string",
1000
+
"format": "cid"
1001
+
},
1002
+
"value": {
1003
+
"type": "unknown"
1004
+
},
824
1005
"blobCids": {
825
1006
"type": "array",
826
-
"items": { "type": "string", "format": "cid" }
1007
+
"items": {
1008
+
"type": "string",
1009
+
"format": "cid"
1010
+
}
1011
+
},
1012
+
"indexedAt": {
1013
+
"type": "string",
1014
+
"format": "datetime"
827
1015
},
828
-
"indexedAt": { "type": "string", "format": "datetime" },
829
-
"moderation": { "type": "ref", "ref": "#moderation" },
830
-
"repo": { "type": "ref", "ref": "#repoView" }
1016
+
"moderation": {
1017
+
"type": "ref",
1018
+
"ref": "#moderation"
1019
+
},
1020
+
"repo": {
1021
+
"type": "ref",
1022
+
"ref": "#repoView"
1023
+
}
831
1024
}
832
1025
},
833
1026
"recordViewDetail": {
834
1027
"type": "object",
835
1028
"required": ["uri", "cid", "value", "blobs", "indexedAt", "moderation", "repo"],
836
1029
"properties": {
837
-
"uri": { "type": "string", "format": "at-uri" },
838
-
"cid": { "type": "string", "format": "cid" },
839
-
"value": { "type": "unknown" },
1030
+
"uri": {
1031
+
"type": "string",
1032
+
"format": "at-uri"
1033
+
},
1034
+
"cid": {
1035
+
"type": "string",
1036
+
"format": "cid"
1037
+
},
1038
+
"value": {
1039
+
"type": "unknown"
1040
+
},
840
1041
"blobs": {
841
1042
"type": "array",
842
-
"items": { "type": "ref", "ref": "#blobView" }
1043
+
"items": {
1044
+
"type": "ref",
1045
+
"ref": "#blobView"
1046
+
}
843
1047
},
844
1048
"labels": {
845
1049
"type": "array",
846
-
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
1050
+
"items": {
1051
+
"type": "ref",
1052
+
"ref": "com.atproto.label.defs#label"
1053
+
}
847
1054
},
848
-
"indexedAt": { "type": "string", "format": "datetime" },
849
-
"moderation": { "type": "ref", "ref": "#moderationDetail" },
850
-
"repo": { "type": "ref", "ref": "#repoView" }
1055
+
"indexedAt": {
1056
+
"type": "string",
1057
+
"format": "datetime"
1058
+
},
1059
+
"moderation": {
1060
+
"type": "ref",
1061
+
"ref": "#moderationDetail"
1062
+
},
1063
+
"repo": {
1064
+
"type": "ref",
1065
+
"ref": "#repoView"
1066
+
}
851
1067
}
852
1068
},
853
1069
"recordViewNotFound": {
854
1070
"type": "object",
855
1071
"required": ["uri"],
856
1072
"properties": {
857
-
"uri": { "type": "string", "format": "at-uri" }
1073
+
"uri": {
1074
+
"type": "string",
1075
+
"format": "at-uri"
1076
+
}
858
1077
}
859
1078
},
860
1079
"moderation": {
861
1080
"type": "object",
862
1081
"properties": {
863
-
"subjectStatus": { "type": "ref", "ref": "#subjectStatusView" }
1082
+
"subjectStatus": {
1083
+
"type": "ref",
1084
+
"ref": "#subjectStatusView"
1085
+
}
864
1086
}
865
1087
},
866
1088
"moderationDetail": {
···
876
1098
"type": "object",
877
1099
"required": ["cid", "mimeType", "size", "createdAt"],
878
1100
"properties": {
879
-
"cid": { "type": "string", "format": "cid" },
880
-
"mimeType": { "type": "string" },
881
-
"size": { "type": "integer" },
882
-
"createdAt": { "type": "string", "format": "datetime" },
1101
+
"cid": {
1102
+
"type": "string",
1103
+
"format": "cid"
1104
+
},
1105
+
"mimeType": {
1106
+
"type": "string"
1107
+
},
1108
+
"size": {
1109
+
"type": "integer"
1110
+
},
1111
+
"createdAt": {
1112
+
"type": "string",
1113
+
"format": "datetime"
1114
+
},
883
1115
"details": {
884
1116
"type": "union",
885
1117
"refs": ["#imageDetails", "#videoDetails"]
886
1118
},
887
-
"moderation": { "type": "ref", "ref": "#moderation" }
1119
+
"moderation": {
1120
+
"type": "ref",
1121
+
"ref": "#moderation"
1122
+
}
888
1123
}
889
1124
},
890
1125
"imageDetails": {
891
1126
"type": "object",
892
1127
"required": ["width", "height"],
893
1128
"properties": {
894
-
"width": { "type": "integer" },
895
-
"height": { "type": "integer" }
1129
+
"width": {
1130
+
"type": "integer"
1131
+
},
1132
+
"height": {
1133
+
"type": "integer"
1134
+
}
896
1135
}
897
1136
},
898
1137
"videoDetails": {
899
1138
"type": "object",
900
1139
"required": ["width", "height", "length"],
901
1140
"properties": {
902
-
"width": { "type": "integer" },
903
-
"height": { "type": "integer" },
904
-
"length": { "type": "integer" }
1141
+
"width": {
1142
+
"type": "integer"
1143
+
},
1144
+
"height": {
1145
+
"type": "integer"
1146
+
},
1147
+
"length": {
1148
+
"type": "integer"
1149
+
}
905
1150
}
906
1151
},
907
1152
"accountHosting": {
lexdocs/bluesky/tools/ozone/moderation/emitEvent.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/emitEvent.json
lexdocs/bluesky/tools/ozone/moderation/emitEvent.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/emitEvent.json
lexdocs/bluesky/tools/ozone/moderation/getAccountTimeline.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/getAccountTimeline.json
lexdocs/bluesky/tools/ozone/moderation/getAccountTimeline.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/getAccountTimeline.json
+3
-1
lexdocs/bluesky/tools/ozone/moderation/getEvent.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/getEvent.json
+3
-1
lexdocs/bluesky/tools/ozone/moderation/getEvent.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/getEvent.json
+13
-3
lexdocs/bluesky/tools/ozone/moderation/getRecord.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/getRecord.json
+13
-3
lexdocs/bluesky/tools/ozone/moderation/getRecord.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/getRecord.json
···
9
9
"type": "params",
10
10
"required": ["uri"],
11
11
"properties": {
12
-
"uri": { "type": "string", "format": "at-uri" },
13
-
"cid": { "type": "string", "format": "cid" }
12
+
"uri": {
13
+
"type": "string",
14
+
"format": "at-uri"
15
+
},
16
+
"cid": {
17
+
"type": "string",
18
+
"format": "cid"
19
+
}
14
20
}
15
21
},
16
22
"output": {
···
20
26
"ref": "tools.ozone.moderation.defs#recordViewDetail"
21
27
}
22
28
},
23
-
"errors": [{ "name": "RecordNotFound" }]
29
+
"errors": [
30
+
{
31
+
"name": "RecordNotFound"
32
+
}
33
+
]
24
34
}
25
35
}
26
36
}
lexdocs/bluesky/tools/ozone/moderation/getRecords.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/getRecords.json
lexdocs/bluesky/tools/ozone/moderation/getRecords.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/getRecords.json
+9
-2
lexdocs/bluesky/tools/ozone/moderation/getRepo.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/getRepo.json
+9
-2
lexdocs/bluesky/tools/ozone/moderation/getRepo.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/getRepo.json
···
9
9
"type": "params",
10
10
"required": ["did"],
11
11
"properties": {
12
-
"did": { "type": "string", "format": "did" }
12
+
"did": {
13
+
"type": "string",
14
+
"format": "did"
15
+
}
13
16
}
14
17
},
15
18
"output": {
···
19
22
"ref": "tools.ozone.moderation.defs#repoViewDetail"
20
23
}
21
24
},
22
-
"errors": [{ "name": "RepoNotFound" }]
25
+
"errors": [
26
+
{
27
+
"name": "RepoNotFound"
28
+
}
29
+
]
23
30
}
24
31
}
25
32
}
lexdocs/bluesky/tools/ozone/moderation/getReporterStats.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/getReporterStats.json
lexdocs/bluesky/tools/ozone/moderation/getReporterStats.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/getReporterStats.json
lexdocs/bluesky/tools/ozone/moderation/getRepos.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/getRepos.json
lexdocs/bluesky/tools/ozone/moderation/getRepos.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/getRepos.json
lexdocs/bluesky/tools/ozone/moderation/getSubjects.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/getSubjects.json
lexdocs/bluesky/tools/ozone/moderation/getSubjects.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/getSubjects.json
lexdocs/bluesky/tools/ozone/moderation/listScheduledActions.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/listScheduledActions.json
lexdocs/bluesky/tools/ozone/moderation/listScheduledActions.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/listScheduledActions.json
lexdocs/bluesky/tools/ozone/moderation/queryEvents.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/queryEvents.json
lexdocs/bluesky/tools/ozone/moderation/queryEvents.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/queryEvents.json
+7
-1
lexdocs/bluesky/tools/ozone/moderation/queryStatuses.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/queryStatuses.json
+7
-1
lexdocs/bluesky/tools/ozone/moderation/queryStatuses.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/queryStatuses.json
···
90
90
},
91
91
"reviewState": {
92
92
"type": "string",
93
-
"description": "Specify when fetching subjects in a certain state"
93
+
"description": "Specify when fetching subjects in a certain state",
94
+
"knownValues": [
95
+
"tools.ozone.moderation.defs#reviewOpen",
96
+
"tools.ozone.moderation.defs#reviewClosed",
97
+
"tools.ozone.moderation.defs#reviewEscalated",
98
+
"tools.ozone.moderation.defs#reviewNone"
99
+
]
94
100
},
95
101
"ignoreSubjects": {
96
102
"type": "array",
+21
lexdocs/bluesky/tools/ozone/moderation/scheduleAction.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/scheduleAction.json
+21
lexdocs/bluesky/tools/ozone/moderation/scheduleAction.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/scheduleAction.json
···
70
70
"type": "string"
71
71
},
72
72
"description": "Names/Keywords of the policies that drove the decision."
73
+
},
74
+
"severityLevel": {
75
+
"type": "string",
76
+
"description": "Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.)."
77
+
},
78
+
"strikeCount": {
79
+
"type": "integer",
80
+
"description": "Number of strikes to assign to the user when takedown is applied."
81
+
},
82
+
"strikeExpiresAt": {
83
+
"type": "string",
84
+
"format": "datetime",
85
+
"description": "When the strike should expire. If not provided, the strike never expires."
86
+
},
87
+
"emailContent": {
88
+
"type": "string",
89
+
"description": "Email content to be sent to the user upon takedown."
90
+
},
91
+
"emailSubject": {
92
+
"type": "string",
93
+
"description": "Subject of the email to be sent to the user upon takedown."
73
94
}
74
95
}
75
96
},
+9
-3
lexdocs/bluesky/tools/ozone/moderation/searchRepos.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/searchRepos.json
+9
-3
lexdocs/bluesky/tools/ozone/moderation/searchRepos.json
packages/definitions/ozone/lexicons/tools/ozone/moderation/searchRepos.json
···
12
12
"type": "string",
13
13
"description": "DEPRECATED: use 'q' instead"
14
14
},
15
-
"q": { "type": "string" },
15
+
"q": {
16
+
"type": "string"
17
+
},
16
18
"limit": {
17
19
"type": "integer",
18
20
"minimum": 1,
19
21
"maximum": 100,
20
22
"default": 50
21
23
},
22
-
"cursor": { "type": "string" }
24
+
"cursor": {
25
+
"type": "string"
26
+
}
23
27
}
24
28
},
25
29
"output": {
···
28
32
"type": "object",
29
33
"required": ["repos"],
30
34
"properties": {
31
-
"cursor": { "type": "string" },
35
+
"cursor": {
36
+
"type": "string"
37
+
},
32
38
"repos": {
33
39
"type": "array",
34
40
"items": {
-12
lexdocs/bluesky/tools/ozone/report/defs.json
packages/definitions/ozone/lexicons/tools/ozone/report/defs.json
-12
lexdocs/bluesky/tools/ozone/report/defs.json
packages/definitions/ozone/lexicons/tools/ozone/report/defs.json
···
7
7
"knownValues": [
8
8
"tools.ozone.report.defs#reasonAppeal",
9
9
"tools.ozone.report.defs#reasonOther",
10
-
11
10
"tools.ozone.report.defs#reasonViolenceAnimal",
12
11
"tools.ozone.report.defs#reasonViolenceThreats",
13
12
"tools.ozone.report.defs#reasonViolenceGraphicContent",
···
15
14
"tools.ozone.report.defs#reasonViolenceExtremistContent",
16
15
"tools.ozone.report.defs#reasonViolenceTrafficking",
17
16
"tools.ozone.report.defs#reasonViolenceOther",
18
-
19
17
"tools.ozone.report.defs#reasonSexualAbuseContent",
20
18
"tools.ozone.report.defs#reasonSexualNCII",
21
19
"tools.ozone.report.defs#reasonSexualDeepfake",
22
20
"tools.ozone.report.defs#reasonSexualAnimal",
23
21
"tools.ozone.report.defs#reasonSexualUnlabeled",
24
22
"tools.ozone.report.defs#reasonSexualOther",
25
-
26
23
"tools.ozone.report.defs#reasonChildSafetyCSAM",
27
24
"tools.ozone.report.defs#reasonChildSafetyGroom",
28
25
"tools.ozone.report.defs#reasonChildSafetyPrivacy",
29
26
"tools.ozone.report.defs#reasonChildSafetyHarassment",
30
27
"tools.ozone.report.defs#reasonChildSafetyOther",
31
-
32
28
"tools.ozone.report.defs#reasonHarassmentTroll",
33
29
"tools.ozone.report.defs#reasonHarassmentTargeted",
34
30
"tools.ozone.report.defs#reasonHarassmentHateSpeech",
35
31
"tools.ozone.report.defs#reasonHarassmentDoxxing",
36
32
"tools.ozone.report.defs#reasonHarassmentOther",
37
-
38
33
"tools.ozone.report.defs#reasonMisleadingBot",
39
34
"tools.ozone.report.defs#reasonMisleadingImpersonation",
40
35
"tools.ozone.report.defs#reasonMisleadingSpam",
41
36
"tools.ozone.report.defs#reasonMisleadingScam",
42
37
"tools.ozone.report.defs#reasonMisleadingElections",
43
38
"tools.ozone.report.defs#reasonMisleadingOther",
44
-
45
39
"tools.ozone.report.defs#reasonRuleSiteSecurity",
46
40
"tools.ozone.report.defs#reasonRuleProhibitedSales",
47
41
"tools.ozone.report.defs#reasonRuleBanEvasion",
48
42
"tools.ozone.report.defs#reasonRuleOther",
49
-
50
43
"tools.ozone.report.defs#reasonSelfHarmContent",
51
44
"tools.ozone.report.defs#reasonSelfHarmED",
52
45
"tools.ozone.report.defs#reasonSelfHarmStunts",
···
90
83
"type": "token",
91
84
"description": "Other violent content"
92
85
},
93
-
94
86
"reasonSexualAbuseContent": {
95
87
"type": "token",
96
88
"description": "Adult sexual abuse content"
···
115
107
"type": "token",
116
108
"description": "Other sexual violence content"
117
109
},
118
-
119
110
"reasonChildSafetyCSAM": {
120
111
"type": "token",
121
112
"description": "Child sexual abuse material (CSAM). These reports will be sent only be sent to the application's Moderation Authority."
···
136
127
"type": "token",
137
128
"description": "Other child safety. These reports will be sent only be sent to the application's Moderation Authority."
138
129
},
139
-
140
130
"reasonHarassmentTroll": {
141
131
"type": "token",
142
132
"description": "Trolling"
···
157
147
"type": "token",
158
148
"description": "Other harassing or hateful content"
159
149
},
160
-
161
150
"reasonMisleadingBot": {
162
151
"type": "token",
163
152
"description": "Fake account or bot"
···
182
171
"type": "token",
183
172
"description": "Other misleading content"
184
173
},
185
-
186
174
"reasonRuleSiteSecurity": {
187
175
"type": "token",
188
176
"description": "Hacking or system attacks"
lexdocs/bluesky/tools/ozone/safelink/addRule.json
packages/definitions/ozone/lexicons/tools/ozone/safelink/addRule.json
lexdocs/bluesky/tools/ozone/safelink/addRule.json
packages/definitions/ozone/lexicons/tools/ozone/safelink/addRule.json
lexdocs/bluesky/tools/ozone/safelink/defs.json
packages/definitions/ozone/lexicons/tools/ozone/safelink/defs.json
lexdocs/bluesky/tools/ozone/safelink/defs.json
packages/definitions/ozone/lexicons/tools/ozone/safelink/defs.json
lexdocs/bluesky/tools/ozone/safelink/queryEvents.json
packages/definitions/ozone/lexicons/tools/ozone/safelink/queryEvents.json
lexdocs/bluesky/tools/ozone/safelink/queryEvents.json
packages/definitions/ozone/lexicons/tools/ozone/safelink/queryEvents.json
lexdocs/bluesky/tools/ozone/safelink/queryRules.json
packages/definitions/ozone/lexicons/tools/ozone/safelink/queryRules.json
lexdocs/bluesky/tools/ozone/safelink/queryRules.json
packages/definitions/ozone/lexicons/tools/ozone/safelink/queryRules.json
lexdocs/bluesky/tools/ozone/safelink/removeRule.json
packages/definitions/ozone/lexicons/tools/ozone/safelink/removeRule.json
lexdocs/bluesky/tools/ozone/safelink/removeRule.json
packages/definitions/ozone/lexicons/tools/ozone/safelink/removeRule.json
lexdocs/bluesky/tools/ozone/safelink/updateRule.json
packages/definitions/ozone/lexicons/tools/ozone/safelink/updateRule.json
lexdocs/bluesky/tools/ozone/safelink/updateRule.json
packages/definitions/ozone/lexicons/tools/ozone/safelink/updateRule.json
lexdocs/bluesky/tools/ozone/server/getConfig.json
packages/definitions/ozone/lexicons/tools/ozone/server/getConfig.json
lexdocs/bluesky/tools/ozone/server/getConfig.json
packages/definitions/ozone/lexicons/tools/ozone/server/getConfig.json
lexdocs/bluesky/tools/ozone/set/addValues.json
packages/definitions/ozone/lexicons/tools/ozone/set/addValues.json
lexdocs/bluesky/tools/ozone/set/addValues.json
packages/definitions/ozone/lexicons/tools/ozone/set/addValues.json
lexdocs/bluesky/tools/ozone/set/defs.json
packages/definitions/ozone/lexicons/tools/ozone/set/defs.json
lexdocs/bluesky/tools/ozone/set/defs.json
packages/definitions/ozone/lexicons/tools/ozone/set/defs.json
lexdocs/bluesky/tools/ozone/set/deleteSet.json
packages/definitions/ozone/lexicons/tools/ozone/set/deleteSet.json
lexdocs/bluesky/tools/ozone/set/deleteSet.json
packages/definitions/ozone/lexicons/tools/ozone/set/deleteSet.json
lexdocs/bluesky/tools/ozone/set/deleteValues.json
packages/definitions/ozone/lexicons/tools/ozone/set/deleteValues.json
lexdocs/bluesky/tools/ozone/set/deleteValues.json
packages/definitions/ozone/lexicons/tools/ozone/set/deleteValues.json
lexdocs/bluesky/tools/ozone/set/getValues.json
packages/definitions/ozone/lexicons/tools/ozone/set/getValues.json
lexdocs/bluesky/tools/ozone/set/getValues.json
packages/definitions/ozone/lexicons/tools/ozone/set/getValues.json
lexdocs/bluesky/tools/ozone/set/querySets.json
packages/definitions/ozone/lexicons/tools/ozone/set/querySets.json
lexdocs/bluesky/tools/ozone/set/querySets.json
packages/definitions/ozone/lexicons/tools/ozone/set/querySets.json
lexdocs/bluesky/tools/ozone/set/upsertSet.json
packages/definitions/ozone/lexicons/tools/ozone/set/upsertSet.json
lexdocs/bluesky/tools/ozone/set/upsertSet.json
packages/definitions/ozone/lexicons/tools/ozone/set/upsertSet.json
lexdocs/bluesky/tools/ozone/setting/defs.json
packages/definitions/ozone/lexicons/tools/ozone/setting/defs.json
lexdocs/bluesky/tools/ozone/setting/defs.json
packages/definitions/ozone/lexicons/tools/ozone/setting/defs.json
lexdocs/bluesky/tools/ozone/setting/listOptions.json
packages/definitions/ozone/lexicons/tools/ozone/setting/listOptions.json
lexdocs/bluesky/tools/ozone/setting/listOptions.json
packages/definitions/ozone/lexicons/tools/ozone/setting/listOptions.json
lexdocs/bluesky/tools/ozone/setting/removeOptions.json
packages/definitions/ozone/lexicons/tools/ozone/setting/removeOptions.json
lexdocs/bluesky/tools/ozone/setting/removeOptions.json
packages/definitions/ozone/lexicons/tools/ozone/setting/removeOptions.json
lexdocs/bluesky/tools/ozone/setting/upsertOption.json
packages/definitions/ozone/lexicons/tools/ozone/setting/upsertOption.json
lexdocs/bluesky/tools/ozone/setting/upsertOption.json
packages/definitions/ozone/lexicons/tools/ozone/setting/upsertOption.json
+6
-2
lexdocs/bluesky/tools/ozone/signature/defs.json
packages/definitions/ozone/lexicons/tools/ozone/signature/defs.json
+6
-2
lexdocs/bluesky/tools/ozone/signature/defs.json
packages/definitions/ozone/lexicons/tools/ozone/signature/defs.json
lexdocs/bluesky/tools/ozone/signature/findCorrelation.json
packages/definitions/ozone/lexicons/tools/ozone/signature/findCorrelation.json
lexdocs/bluesky/tools/ozone/signature/findCorrelation.json
packages/definitions/ozone/lexicons/tools/ozone/signature/findCorrelation.json
+6
-2
lexdocs/bluesky/tools/ozone/signature/findRelatedAccounts.json
packages/definitions/ozone/lexicons/tools/ozone/signature/findRelatedAccounts.json
+6
-2
lexdocs/bluesky/tools/ozone/signature/findRelatedAccounts.json
packages/definitions/ozone/lexicons/tools/ozone/signature/findRelatedAccounts.json
···
13
13
"type": "string",
14
14
"format": "did"
15
15
},
16
-
"cursor": { "type": "string" },
16
+
"cursor": {
17
+
"type": "string"
18
+
},
17
19
"limit": {
18
20
"type": "integer",
19
21
"minimum": 1,
···
28
30
"type": "object",
29
31
"required": ["accounts"],
30
32
"properties": {
31
-
"cursor": { "type": "string" },
33
+
"cursor": {
34
+
"type": "string"
35
+
},
32
36
"accounts": {
33
37
"type": "array",
34
38
"items": {
+6
-2
lexdocs/bluesky/tools/ozone/signature/searchAccounts.json
packages/definitions/ozone/lexicons/tools/ozone/signature/searchAccounts.json
+6
-2
lexdocs/bluesky/tools/ozone/signature/searchAccounts.json
packages/definitions/ozone/lexicons/tools/ozone/signature/searchAccounts.json
···
15
15
"type": "string"
16
16
}
17
17
},
18
-
"cursor": { "type": "string" },
18
+
"cursor": {
19
+
"type": "string"
20
+
},
19
21
"limit": {
20
22
"type": "integer",
21
23
"minimum": 1,
···
30
32
"type": "object",
31
33
"required": ["accounts"],
32
34
"properties": {
33
-
"cursor": { "type": "string" },
35
+
"cursor": {
36
+
"type": "string"
37
+
},
34
38
"accounts": {
35
39
"type": "array",
36
40
"items": {
+4
-1
lexdocs/bluesky/tools/ozone/team/addMember.json
packages/definitions/ozone/lexicons/tools/ozone/team/addMember.json
+4
-1
lexdocs/bluesky/tools/ozone/team/addMember.json
packages/definitions/ozone/lexicons/tools/ozone/team/addMember.json
+18
-5
lexdocs/bluesky/tools/ozone/team/defs.json
packages/definitions/ozone/lexicons/tools/ozone/team/defs.json
+18
-5
lexdocs/bluesky/tools/ozone/team/defs.json
packages/definitions/ozone/lexicons/tools/ozone/team/defs.json
···
6
6
"type": "object",
7
7
"required": ["did", "role"],
8
8
"properties": {
9
-
"did": { "type": "string", "format": "did" },
10
-
"disabled": { "type": "boolean" },
9
+
"did": {
10
+
"type": "string",
11
+
"format": "did"
12
+
},
13
+
"disabled": {
14
+
"type": "boolean"
15
+
},
11
16
"profile": {
12
17
"type": "ref",
13
18
"ref": "app.bsky.actor.defs#profileViewDetailed"
14
19
},
15
-
"createdAt": { "type": "string", "format": "datetime" },
16
-
"updatedAt": { "type": "string", "format": "datetime" },
17
-
"lastUpdatedBy": { "type": "string" },
20
+
"createdAt": {
21
+
"type": "string",
22
+
"format": "datetime"
23
+
},
24
+
"updatedAt": {
25
+
"type": "string",
26
+
"format": "datetime"
27
+
},
28
+
"lastUpdatedBy": {
29
+
"type": "string"
30
+
},
18
31
"role": {
19
32
"type": "string",
20
33
"knownValues": ["#roleAdmin", "#roleModerator", "#roleTriage", "#roleVerifier"]
+4
-1
lexdocs/bluesky/tools/ozone/team/deleteMember.json
packages/definitions/ozone/lexicons/tools/ozone/team/deleteMember.json
+4
-1
lexdocs/bluesky/tools/ozone/team/deleteMember.json
packages/definitions/ozone/lexicons/tools/ozone/team/deleteMember.json
lexdocs/bluesky/tools/ozone/team/listMembers.json
packages/definitions/ozone/lexicons/tools/ozone/team/listMembers.json
lexdocs/bluesky/tools/ozone/team/listMembers.json
packages/definitions/ozone/lexicons/tools/ozone/team/listMembers.json
+7
-2
lexdocs/bluesky/tools/ozone/team/updateMember.json
packages/definitions/ozone/lexicons/tools/ozone/team/updateMember.json
+7
-2
lexdocs/bluesky/tools/ozone/team/updateMember.json
packages/definitions/ozone/lexicons/tools/ozone/team/updateMember.json
···
11
11
"type": "object",
12
12
"required": ["did"],
13
13
"properties": {
14
-
"did": { "type": "string", "format": "did" },
15
-
"disabled": { "type": "boolean" },
14
+
"did": {
15
+
"type": "string",
16
+
"format": "did"
17
+
},
18
+
"disabled": {
19
+
"type": "boolean"
20
+
},
16
21
"role": {
17
22
"type": "string",
18
23
"knownValues": [
lexdocs/bluesky/tools/ozone/verification/defs.json
packages/definitions/ozone/lexicons/tools/ozone/verification/defs.json
lexdocs/bluesky/tools/ozone/verification/defs.json
packages/definitions/ozone/lexicons/tools/ozone/verification/defs.json
lexdocs/bluesky/tools/ozone/verification/grantVerifications.json
packages/definitions/ozone/lexicons/tools/ozone/verification/grantVerifications.json
lexdocs/bluesky/tools/ozone/verification/grantVerifications.json
packages/definitions/ozone/lexicons/tools/ozone/verification/grantVerifications.json
lexdocs/bluesky/tools/ozone/verification/listVerifications.json
packages/definitions/ozone/lexicons/tools/ozone/verification/listVerifications.json
lexdocs/bluesky/tools/ozone/verification/listVerifications.json
packages/definitions/ozone/lexicons/tools/ozone/verification/listVerifications.json
lexdocs/bluesky/tools/ozone/verification/revokeVerifications.json
packages/definitions/ozone/lexicons/tools/ozone/verification/revokeVerifications.json
lexdocs/bluesky/tools/ozone/verification/revokeVerifications.json
packages/definitions/ozone/lexicons/tools/ozone/verification/revokeVerifications.json
-1
lexdocs/frontpage/README.md
-1
lexdocs/frontpage/README.md
···
1
-
https://github.com/likeandscribe/frontpage/tree/ad5d8e1a76ed8353afb3ccc0ef83a64ecd67c676/lexicons/fyi/unravel/frontpage/
+8
-2
lexdocs/frontpage/comment.json
packages/definitions/frontpage/lexicons/fyi/unravel/frontpage/comment.json
+8
-2
lexdocs/frontpage/comment.json
packages/definitions/frontpage/lexicons/fyi/unravel/frontpage/comment.json
···
21
21
"format": "datetime",
22
22
"description": "Client-declared timestamp when this comment was originally created."
23
23
},
24
-
"parent": { "type": "ref", "ref": "com.atproto.repo.strongRef" },
25
-
"post": { "type": "ref", "ref": "com.atproto.repo.strongRef" }
24
+
"parent": {
25
+
"type": "ref",
26
+
"ref": "com.atproto.repo.strongRef"
27
+
},
28
+
"post": {
29
+
"type": "ref",
30
+
"ref": "com.atproto.repo.strongRef"
31
+
}
26
32
}
27
33
}
28
34
}
lexdocs/frontpage/post.json
packages/definitions/frontpage/lexicons/fyi/unravel/frontpage/post.json
lexdocs/frontpage/post.json
packages/definitions/frontpage/lexicons/fyi/unravel/frontpage/post.json
+4
-1
lexdocs/frontpage/vote.json
packages/definitions/frontpage/lexicons/fyi/unravel/frontpage/vote.json
+4
-1
lexdocs/frontpage/vote.json
packages/definitions/frontpage/lexicons/fyi/unravel/frontpage/vote.json
···
10
10
"type": "object",
11
11
"required": ["subject", "createdAt"],
12
12
"properties": {
13
-
"subject": { "type": "ref", "ref": "com.atproto.repo.strongRef" },
13
+
"subject": {
14
+
"type": "ref",
15
+
"ref": "com.atproto.repo.strongRef"
16
+
},
14
17
"createdAt": {
15
18
"type": "string",
16
19
"format": "datetime",
-1
lexdocs/leaflet/README.md
-1
lexdocs/leaflet/README.md
···
1
-
https://github.com/hyperlink-academy/leaflet/tree/fb3fe27c3b8f8c0146899add899cc49a76673029/lexicons/pub/leaflet/
lexdocs/leaflet/blocks/blockquote.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/blockquote.json
lexdocs/leaflet/blocks/blockquote.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/blockquote.json
lexdocs/leaflet/blocks/bskyPost.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/bskyPost.json
lexdocs/leaflet/blocks/bskyPost.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/bskyPost.json
lexdocs/leaflet/blocks/code.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/code.json
lexdocs/leaflet/blocks/code.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/code.json
lexdocs/leaflet/blocks/header.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/header.json
lexdocs/leaflet/blocks/header.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/header.json
lexdocs/leaflet/blocks/horizontalRule.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/horizontalRule.json
lexdocs/leaflet/blocks/horizontalRule.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/horizontalRule.json
lexdocs/leaflet/blocks/iframe.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/iframe.json
lexdocs/leaflet/blocks/iframe.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/iframe.json
lexdocs/leaflet/blocks/image.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/image.json
lexdocs/leaflet/blocks/image.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/image.json
lexdocs/leaflet/blocks/math.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/math.json
lexdocs/leaflet/blocks/math.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/math.json
lexdocs/leaflet/blocks/page.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/page.json
lexdocs/leaflet/blocks/page.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/page.json
lexdocs/leaflet/blocks/poll.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/poll.json
lexdocs/leaflet/blocks/poll.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/poll.json
lexdocs/leaflet/blocks/text.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/text.json
lexdocs/leaflet/blocks/text.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/text.json
lexdocs/leaflet/blocks/unorderedList.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/unorderedList.json
lexdocs/leaflet/blocks/unorderedList.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/unorderedList.json
lexdocs/leaflet/blocks/website.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/website.json
lexdocs/leaflet/blocks/website.json
packages/definitions/leaflet/lexicons/pub/leaflet/blocks/website.json
lexdocs/leaflet/comment.json
packages/definitions/leaflet/lexicons/pub/leaflet/comment.json
lexdocs/leaflet/comment.json
packages/definitions/leaflet/lexicons/pub/leaflet/comment.json
lexdocs/leaflet/document.json
packages/definitions/leaflet/lexicons/pub/leaflet/document.json
lexdocs/leaflet/document.json
packages/definitions/leaflet/lexicons/pub/leaflet/document.json
lexdocs/leaflet/graph/subscription.json
packages/definitions/leaflet/lexicons/pub/leaflet/graph/subscription.json
lexdocs/leaflet/graph/subscription.json
packages/definitions/leaflet/lexicons/pub/leaflet/graph/subscription.json
lexdocs/leaflet/pages/canvas.json
packages/definitions/leaflet/lexicons/pub/leaflet/pages/canvas.json
lexdocs/leaflet/pages/canvas.json
packages/definitions/leaflet/lexicons/pub/leaflet/pages/canvas.json
lexdocs/leaflet/pages/linearDocument.json
packages/definitions/leaflet/lexicons/pub/leaflet/pages/linearDocument.json
lexdocs/leaflet/pages/linearDocument.json
packages/definitions/leaflet/lexicons/pub/leaflet/pages/linearDocument.json
lexdocs/leaflet/poll/definition.json
packages/definitions/leaflet/lexicons/pub/leaflet/poll/definition.json
lexdocs/leaflet/poll/definition.json
packages/definitions/leaflet/lexicons/pub/leaflet/poll/definition.json
lexdocs/leaflet/poll/vote.json
packages/definitions/leaflet/lexicons/pub/leaflet/poll/vote.json
lexdocs/leaflet/poll/vote.json
packages/definitions/leaflet/lexicons/pub/leaflet/poll/vote.json
lexdocs/leaflet/publication.json
packages/definitions/leaflet/lexicons/pub/leaflet/publication.json
lexdocs/leaflet/publication.json
packages/definitions/leaflet/lexicons/pub/leaflet/publication.json
lexdocs/leaflet/richtext/facet.json
packages/definitions/leaflet/lexicons/pub/leaflet/richtext/facet.json
lexdocs/leaflet/richtext/facet.json
packages/definitions/leaflet/lexicons/pub/leaflet/richtext/facet.json
lexdocs/leaflet/theme/backgroundImage.json
packages/definitions/leaflet/lexicons/pub/leaflet/theme/backgroundImage.json
lexdocs/leaflet/theme/backgroundImage.json
packages/definitions/leaflet/lexicons/pub/leaflet/theme/backgroundImage.json
lexdocs/leaflet/theme/color.json
packages/definitions/leaflet/lexicons/pub/leaflet/theme/color.json
lexdocs/leaflet/theme/color.json
packages/definitions/leaflet/lexicons/pub/leaflet/theme/color.json
-1
lexdocs/lexcom/README.md
-1
lexdocs/lexcom/README.md
···
1
-
https://github.com/lexicon-community/lexicon/tree/2bf2cbbfd3058d710f8c468307ef7e003bc22383/community/lexicon/
lexdocs/lexcom/bookmarks/bookmark.json
packages/definitions/lexicon-community/lexicons/community/lexicon/bookmarks/bookmark.json
lexdocs/lexcom/bookmarks/bookmark.json
packages/definitions/lexicon-community/lexicons/community/lexicon/bookmarks/bookmark.json
lexdocs/lexcom/bookmarks/getActorBookmarks.json
packages/definitions/lexicon-community/lexicons/community/lexicon/bookmarks/getActorBookmarks.json
lexdocs/lexcom/bookmarks/getActorBookmarks.json
packages/definitions/lexicon-community/lexicons/community/lexicon/bookmarks/getActorBookmarks.json
lexdocs/lexcom/calendar/event.json
packages/definitions/lexicon-community/lexicons/community/lexicon/calendar/event.json
lexdocs/lexcom/calendar/event.json
packages/definitions/lexicon-community/lexicons/community/lexicon/calendar/event.json
lexdocs/lexcom/calendar/rsvp.json
packages/definitions/lexicon-community/lexicons/community/lexicon/calendar/rsvp.json
lexdocs/lexcom/calendar/rsvp.json
packages/definitions/lexicon-community/lexicons/community/lexicon/calendar/rsvp.json
lexdocs/lexcom/interaction/like.json
packages/definitions/lexicon-community/lexicons/community/lexicon/interaction/like.json
lexdocs/lexcom/interaction/like.json
packages/definitions/lexicon-community/lexicons/community/lexicon/interaction/like.json
lexdocs/lexcom/location/address.json
packages/definitions/lexicon-community/lexicons/community/lexicon/location/address.json
lexdocs/lexcom/location/address.json
packages/definitions/lexicon-community/lexicons/community/lexicon/location/address.json
lexdocs/lexcom/location/fsq.json
packages/definitions/lexicon-community/lexicons/community/lexicon/location/fsq.json
lexdocs/lexcom/location/fsq.json
packages/definitions/lexicon-community/lexicons/community/lexicon/location/fsq.json
lexdocs/lexcom/location/geo.json
packages/definitions/lexicon-community/lexicons/community/lexicon/location/geo.json
lexdocs/lexcom/location/geo.json
packages/definitions/lexicon-community/lexicons/community/lexicon/location/geo.json
lexdocs/lexcom/location/hthree.json
packages/definitions/lexicon-community/lexicons/community/lexicon/location/hthree.json
lexdocs/lexcom/location/hthree.json
packages/definitions/lexicon-community/lexicons/community/lexicon/location/hthree.json
lexdocs/lexcom/payments/webMonetization.json
packages/definitions/lexicon-community/lexicons/community/lexicon/payments/webMonetization.json
lexdocs/lexcom/payments/webMonetization.json
packages/definitions/lexicon-community/lexicons/community/lexicon/payments/webMonetization.json
lexdocs/microcosm/blue.microcosm/links/getBacklinks.json
packages/definitions/microcosm/lexicons/blue/microcosm/links/getBacklinks.json
lexdocs/microcosm/blue.microcosm/links/getBacklinks.json
packages/definitions/microcosm/lexicons/blue/microcosm/links/getBacklinks.json
lexdocs/microcosm/blue.microcosm/links/getManyToManyCounts.json
packages/definitions/microcosm/lexicons/blue/microcosm/links/getManyToManyCounts.json
lexdocs/microcosm/blue.microcosm/links/getManyToManyCounts.json
packages/definitions/microcosm/lexicons/blue/microcosm/links/getManyToManyCounts.json
lexdocs/microcosm/com.bad-example/identity/resolveMiniDoc.json
packages/definitions/microcosm/lexicons/com/bad-example/identity/resolveMiniDoc.json
lexdocs/microcosm/com.bad-example/identity/resolveMiniDoc.json
packages/definitions/microcosm/lexicons/com/bad-example/identity/resolveMiniDoc.json
lexdocs/microcosm/com.bad-example/repo/getUriRecord.json
packages/definitions/microcosm/lexicons/com/bad-example/repo/getUriRecord.json
lexdocs/microcosm/com.bad-example/repo/getUriRecord.json
packages/definitions/microcosm/lexicons/com/bad-example/repo/getUriRecord.json
-1
lexdocs/tangled/README.md
-1
lexdocs/tangled/README.md
···
1
-
https://github.com/mary-ext/tangled.sh-mirror/tree/7ed8a10067d69edc97679e0f42eeb51e646dd893/lexicons/
lexdocs/tangled/actor/profile.json
packages/definitions/tangled/lexicons/sh/tangled/actor/profile.json
lexdocs/tangled/actor/profile.json
packages/definitions/tangled/lexicons/sh/tangled/actor/profile.json
lexdocs/tangled/feed/reaction.json
packages/definitions/tangled/lexicons/sh/tangled/feed/reaction.json
lexdocs/tangled/feed/reaction.json
packages/definitions/tangled/lexicons/sh/tangled/feed/reaction.json
lexdocs/tangled/feed/star.json
packages/definitions/tangled/lexicons/sh/tangled/feed/star.json
lexdocs/tangled/feed/star.json
packages/definitions/tangled/lexicons/sh/tangled/feed/star.json
lexdocs/tangled/git/refUpdate.json
packages/definitions/tangled/lexicons/sh/tangled/git/refUpdate.json
lexdocs/tangled/git/refUpdate.json
packages/definitions/tangled/lexicons/sh/tangled/git/refUpdate.json
lexdocs/tangled/graph/follow.json
packages/definitions/tangled/lexicons/sh/tangled/graph/follow.json
lexdocs/tangled/graph/follow.json
packages/definitions/tangled/lexicons/sh/tangled/graph/follow.json
lexdocs/tangled/issue/closed.json
packages/definitions/tangled/lexicons/sh/tangled/repo/issue/state/closed.json
lexdocs/tangled/issue/closed.json
packages/definitions/tangled/lexicons/sh/tangled/repo/issue/state/closed.json
lexdocs/tangled/issue/comment.json
packages/definitions/tangled/lexicons/sh/tangled/repo/issue/comment.json
lexdocs/tangled/issue/comment.json
packages/definitions/tangled/lexicons/sh/tangled/repo/issue/comment.json
lexdocs/tangled/issue/issue.json
packages/definitions/tangled/lexicons/sh/tangled/repo/issue.json
lexdocs/tangled/issue/issue.json
packages/definitions/tangled/lexicons/sh/tangled/repo/issue.json
lexdocs/tangled/issue/open.json
packages/definitions/tangled/lexicons/sh/tangled/repo/issue/state/open.json
lexdocs/tangled/issue/open.json
packages/definitions/tangled/lexicons/sh/tangled/repo/issue/state/open.json
lexdocs/tangled/issue/state.json
packages/definitions/tangled/lexicons/sh/tangled/repo/issue/state.json
lexdocs/tangled/issue/state.json
packages/definitions/tangled/lexicons/sh/tangled/repo/issue/state.json
lexdocs/tangled/knot/knot.json
packages/definitions/tangled/lexicons/sh/tangled/knot.json
lexdocs/tangled/knot/knot.json
packages/definitions/tangled/lexicons/sh/tangled/knot.json
lexdocs/tangled/knot/listKeys.json
packages/definitions/tangled/lexicons/sh/tangled/knot/listKeys.json
lexdocs/tangled/knot/listKeys.json
packages/definitions/tangled/lexicons/sh/tangled/knot/listKeys.json
lexdocs/tangled/knot/member.json
packages/definitions/tangled/lexicons/sh/tangled/knot/member.json
lexdocs/tangled/knot/member.json
packages/definitions/tangled/lexicons/sh/tangled/knot/member.json
lexdocs/tangled/knot/version.json
packages/definitions/tangled/lexicons/sh/tangled/knot/version.json
lexdocs/tangled/knot/version.json
packages/definitions/tangled/lexicons/sh/tangled/knot/version.json
lexdocs/tangled/label/definition.json
packages/definitions/tangled/lexicons/sh/tangled/label/definition.json
lexdocs/tangled/label/definition.json
packages/definitions/tangled/lexicons/sh/tangled/label/definition.json
lexdocs/tangled/label/op.json
packages/definitions/tangled/lexicons/sh/tangled/label/op.json
lexdocs/tangled/label/op.json
packages/definitions/tangled/lexicons/sh/tangled/label/op.json
lexdocs/tangled/owner.json
packages/definitions/tangled/lexicons/sh/tangled/owner.json
lexdocs/tangled/owner.json
packages/definitions/tangled/lexicons/sh/tangled/owner.json
lexdocs/tangled/pipeline/pipeline.json
packages/definitions/tangled/lexicons/sh/tangled/pipeline.json
lexdocs/tangled/pipeline/pipeline.json
packages/definitions/tangled/lexicons/sh/tangled/pipeline.json
lexdocs/tangled/pipeline/status.json
packages/definitions/tangled/lexicons/sh/tangled/pipeline/status.json
lexdocs/tangled/pipeline/status.json
packages/definitions/tangled/lexicons/sh/tangled/pipeline/status.json
lexdocs/tangled/publicKey.json
packages/definitions/tangled/lexicons/sh/tangled/publicKey.json
lexdocs/tangled/publicKey.json
packages/definitions/tangled/lexicons/sh/tangled/publicKey.json
lexdocs/tangled/pulls/closed.json
packages/definitions/tangled/lexicons/sh/tangled/repo/pull/status/closed.json
lexdocs/tangled/pulls/closed.json
packages/definitions/tangled/lexicons/sh/tangled/repo/pull/status/closed.json
lexdocs/tangled/pulls/comment.json
packages/definitions/tangled/lexicons/sh/tangled/repo/pull/comment.json
lexdocs/tangled/pulls/comment.json
packages/definitions/tangled/lexicons/sh/tangled/repo/pull/comment.json
lexdocs/tangled/pulls/merged.json
packages/definitions/tangled/lexicons/sh/tangled/repo/pull/status/merged.json
lexdocs/tangled/pulls/merged.json
packages/definitions/tangled/lexicons/sh/tangled/repo/pull/status/merged.json
lexdocs/tangled/pulls/open.json
packages/definitions/tangled/lexicons/sh/tangled/repo/pull/status/open.json
lexdocs/tangled/pulls/open.json
packages/definitions/tangled/lexicons/sh/tangled/repo/pull/status/open.json
lexdocs/tangled/pulls/pull.json
packages/definitions/tangled/lexicons/sh/tangled/repo/pull.json
lexdocs/tangled/pulls/pull.json
packages/definitions/tangled/lexicons/sh/tangled/repo/pull.json
lexdocs/tangled/pulls/state.json
packages/definitions/tangled/lexicons/sh/tangled/repo/pull/status.json
lexdocs/tangled/pulls/state.json
packages/definitions/tangled/lexicons/sh/tangled/repo/pull/status.json
lexdocs/tangled/repo/addSecret.json
packages/definitions/tangled/lexicons/sh/tangled/repo/addSecret.json
lexdocs/tangled/repo/addSecret.json
packages/definitions/tangled/lexicons/sh/tangled/repo/addSecret.json
lexdocs/tangled/repo/archive.json
packages/definitions/tangled/lexicons/sh/tangled/repo/archive.json
lexdocs/tangled/repo/archive.json
packages/definitions/tangled/lexicons/sh/tangled/repo/archive.json
lexdocs/tangled/repo/artifact.json
packages/definitions/tangled/lexicons/sh/tangled/repo/artifact.json
lexdocs/tangled/repo/artifact.json
packages/definitions/tangled/lexicons/sh/tangled/repo/artifact.json
lexdocs/tangled/repo/blob.json
packages/definitions/tangled/lexicons/sh/tangled/repo/blob.json
lexdocs/tangled/repo/blob.json
packages/definitions/tangled/lexicons/sh/tangled/repo/blob.json
lexdocs/tangled/repo/branch.json
packages/definitions/tangled/lexicons/sh/tangled/repo/branch.json
lexdocs/tangled/repo/branch.json
packages/definitions/tangled/lexicons/sh/tangled/repo/branch.json
lexdocs/tangled/repo/branches.json
packages/definitions/tangled/lexicons/sh/tangled/repo/branches.json
lexdocs/tangled/repo/branches.json
packages/definitions/tangled/lexicons/sh/tangled/repo/branches.json
lexdocs/tangled/repo/collaborator.json
packages/definitions/tangled/lexicons/sh/tangled/repo/collaborator.json
lexdocs/tangled/repo/collaborator.json
packages/definitions/tangled/lexicons/sh/tangled/repo/collaborator.json
lexdocs/tangled/repo/compare.json
packages/definitions/tangled/lexicons/sh/tangled/repo/compare.json
lexdocs/tangled/repo/compare.json
packages/definitions/tangled/lexicons/sh/tangled/repo/compare.json
lexdocs/tangled/repo/create.json
packages/definitions/tangled/lexicons/sh/tangled/repo/create.json
lexdocs/tangled/repo/create.json
packages/definitions/tangled/lexicons/sh/tangled/repo/create.json
lexdocs/tangled/repo/defaultBranch.json
packages/definitions/tangled/lexicons/sh/tangled/repo/setDefaultBranch.json
lexdocs/tangled/repo/defaultBranch.json
packages/definitions/tangled/lexicons/sh/tangled/repo/setDefaultBranch.json
lexdocs/tangled/repo/delete.json
packages/definitions/tangled/lexicons/sh/tangled/repo/delete.json
lexdocs/tangled/repo/delete.json
packages/definitions/tangled/lexicons/sh/tangled/repo/delete.json
lexdocs/tangled/repo/deleteBranch.json
packages/definitions/tangled/lexicons/sh/tangled/repo/deleteBranch.json
lexdocs/tangled/repo/deleteBranch.json
packages/definitions/tangled/lexicons/sh/tangled/repo/deleteBranch.json
lexdocs/tangled/repo/diff.json
packages/definitions/tangled/lexicons/sh/tangled/repo/diff.json
lexdocs/tangled/repo/diff.json
packages/definitions/tangled/lexicons/sh/tangled/repo/diff.json
lexdocs/tangled/repo/forkStatus.json
packages/definitions/tangled/lexicons/sh/tangled/repo/forkStatus.json
lexdocs/tangled/repo/forkStatus.json
packages/definitions/tangled/lexicons/sh/tangled/repo/forkStatus.json
lexdocs/tangled/repo/forkSync.json
packages/definitions/tangled/lexicons/sh/tangled/repo/forkSync.json
lexdocs/tangled/repo/forkSync.json
packages/definitions/tangled/lexicons/sh/tangled/repo/forkSync.json
lexdocs/tangled/repo/getDefaultBranch.json
packages/definitions/tangled/lexicons/sh/tangled/repo/getDefaultBranch.json
lexdocs/tangled/repo/getDefaultBranch.json
packages/definitions/tangled/lexicons/sh/tangled/repo/getDefaultBranch.json
lexdocs/tangled/repo/languages.json
packages/definitions/tangled/lexicons/sh/tangled/repo/languages.json
lexdocs/tangled/repo/languages.json
packages/definitions/tangled/lexicons/sh/tangled/repo/languages.json
lexdocs/tangled/repo/listSecrets.json
packages/definitions/tangled/lexicons/sh/tangled/repo/listSecrets.json
lexdocs/tangled/repo/listSecrets.json
packages/definitions/tangled/lexicons/sh/tangled/repo/listSecrets.json
lexdocs/tangled/repo/log.json
packages/definitions/tangled/lexicons/sh/tangled/repo/log.json
lexdocs/tangled/repo/log.json
packages/definitions/tangled/lexicons/sh/tangled/repo/log.json
lexdocs/tangled/repo/merge.json
packages/definitions/tangled/lexicons/sh/tangled/repo/merge.json
lexdocs/tangled/repo/merge.json
packages/definitions/tangled/lexicons/sh/tangled/repo/merge.json
lexdocs/tangled/repo/mergeCheck.json
packages/definitions/tangled/lexicons/sh/tangled/repo/mergeCheck.json
lexdocs/tangled/repo/mergeCheck.json
packages/definitions/tangled/lexicons/sh/tangled/repo/mergeCheck.json
lexdocs/tangled/repo/removeSecret.json
packages/definitions/tangled/lexicons/sh/tangled/repo/removeSecret.json
lexdocs/tangled/repo/removeSecret.json
packages/definitions/tangled/lexicons/sh/tangled/repo/removeSecret.json
lexdocs/tangled/repo/repo.json
packages/definitions/tangled/lexicons/sh/tangled/repo.json
lexdocs/tangled/repo/repo.json
packages/definitions/tangled/lexicons/sh/tangled/repo.json
lexdocs/tangled/repo/tree.json
packages/definitions/tangled/lexicons/sh/tangled/repo/tree.json
lexdocs/tangled/repo/tree.json
packages/definitions/tangled/lexicons/sh/tangled/repo/tree.json
lexdocs/tangled/spindle/member.json
packages/definitions/tangled/lexicons/sh/tangled/spindle/member.json
lexdocs/tangled/spindle/member.json
packages/definitions/tangled/lexicons/sh/tangled/spindle/member.json
lexdocs/tangled/spindle/spindle.json
packages/definitions/tangled/lexicons/sh/tangled/spindle.json
lexdocs/tangled/spindle/spindle.json
packages/definitions/tangled/lexicons/sh/tangled/spindle.json
lexdocs/tangled/string/string.json
packages/definitions/tangled/lexicons/sh/tangled/string.json
lexdocs/tangled/string/string.json
packages/definitions/tangled/lexicons/sh/tangled/string.json
-1
lexdocs/whtwnd/README.md
-1
lexdocs/whtwnd/README.md
···
1
-
https://github.com/whtwnd/whitewind-blog/tree/dc4b802154250b982191a52af1d1c9913c3b62e7/lexicons/com/whtwnd/
lexdocs/whtwnd/blog/defs.json
packages/definitions/whitewind/lexicons/com/whtwnd/blog/defs.json
lexdocs/whtwnd/blog/defs.json
packages/definitions/whitewind/lexicons/com/whtwnd/blog/defs.json
lexdocs/whtwnd/blog/entry.json
packages/definitions/whitewind/lexicons/com/whtwnd/blog/entry.json
lexdocs/whtwnd/blog/entry.json
packages/definitions/whitewind/lexicons/com/whtwnd/blog/entry.json
lexdocs/whtwnd/blog/getAuthorPosts.json
packages/definitions/whitewind/lexicons/com/whtwnd/blog/getAuthorPosts.json
lexdocs/whtwnd/blog/getAuthorPosts.json
packages/definitions/whitewind/lexicons/com/whtwnd/blog/getAuthorPosts.json
lexdocs/whtwnd/blog/getEntryMetadataByName.json
packages/definitions/whitewind/lexicons/com/whtwnd/blog/getEntryMetadataByName.json
lexdocs/whtwnd/blog/getEntryMetadataByName.json
packages/definitions/whitewind/lexicons/com/whtwnd/blog/getEntryMetadataByName.json
lexdocs/whtwnd/blog/getMentionsByEntry.json
packages/definitions/whitewind/lexicons/com/whtwnd/blog/getMentionsByEntry.json
lexdocs/whtwnd/blog/getMentionsByEntry.json
packages/definitions/whitewind/lexicons/com/whtwnd/blog/getMentionsByEntry.json
lexdocs/whtwnd/blog/notifyOfNewEntry.json
packages/definitions/whitewind/lexicons/com/whtwnd/blog/notifyOfNewEntry.json
lexdocs/whtwnd/blog/notifyOfNewEntry.json
packages/definitions/whitewind/lexicons/com/whtwnd/blog/notifyOfNewEntry.json
-7
package.json
-7
package.json
···
2
2
"private": true,
3
3
"type": "module",
4
4
"scripts": {
5
-
"pull": "node ./scripts/pull-lexicons.js",
6
-
"pull:bluemoji": "node ./scripts/pull-bluemoji-lexicons.js",
7
-
"pull:frontpage": "node ./scripts/pull-frontpage-lexicons.js",
8
-
"pull:leaflet": "node ./scripts/pull-leaflet-lexicons.js",
9
-
"pull:lexcom": "node ./scripts/pull-lexcom-lexicons.js",
10
-
"pull:tangled": "node ./scripts/pull-tangled-lexicons.js",
11
-
"pull:whtwnd": "node ./scripts/pull-whtwnd-lexicons.js",
12
5
"fmt": "PRETTIER_EXPERIMENTAL_CLI=1 prettier --cache --write ."
13
6
},
14
7
"devDependencies": {
+13
-1
packages/definitions/atproto/lex.config.js
+13
-1
packages/definitions/atproto/lex.config.js
···
1
1
import { defineLexiconConfig } from '@atcute/lex-cli';
2
2
3
3
export default defineLexiconConfig({
4
-
files: ['../../../lexdocs/bluesky/com/atproto/**/*.json'],
4
+
files: ['lexicons/**/*.json'],
5
5
outdir: 'lib/lexicons/',
6
+
7
+
pull: {
8
+
outdir: 'lexicons/',
9
+
clean: true,
10
+
sources: [
11
+
{
12
+
type: 'git',
13
+
remote: 'https://github.com/bluesky-social/atproto.git',
14
+
pattern: ['lexicons/com/atproto/**/*.json'],
15
+
},
16
+
],
17
+
},
6
18
});
+6
packages/definitions/atproto/lexicons/README.md
+6
packages/definitions/atproto/lexicons/README.md
+117
packages/definitions/atproto/lexicons/com/atproto/admin/defs.json
+117
packages/definitions/atproto/lexicons/com/atproto/admin/defs.json
···
1
+
{
2
+
"lexicon": 1,
3
+
"id": "com.atproto.admin.defs",
4
+
"defs": {
5
+
"statusAttr": {
6
+
"type": "object",
7
+
"required": ["applied"],
8
+
"properties": {
9
+
"applied": {
10
+
"type": "boolean"
11
+
},
12
+
"ref": {
13
+
"type": "string"
14
+
}
15
+
}
16
+
},
17
+
"accountView": {
18
+
"type": "object",
19
+
"required": ["did", "handle", "indexedAt"],
20
+
"properties": {
21
+
"did": {
22
+
"type": "string",
23
+
"format": "did"
24
+
},
25
+
"handle": {
26
+
"type": "string",
27
+
"format": "handle"
28
+
},
29
+
"email": {
30
+
"type": "string"
31
+
},
32
+
"relatedRecords": {
33
+
"type": "array",
34
+
"items": {
35
+
"type": "unknown"
36
+
}
37
+
},
38
+
"indexedAt": {
39
+
"type": "string",
40
+
"format": "datetime"
41
+
},
42
+
"invitedBy": {
43
+
"type": "ref",
44
+
"ref": "com.atproto.server.defs#inviteCode"
45
+
},
46
+
"invites": {
47
+
"type": "array",
48
+
"items": {
49
+
"type": "ref",
50
+
"ref": "com.atproto.server.defs#inviteCode"
51
+
}
52
+
},
53
+
"invitesDisabled": {
54
+
"type": "boolean"
55
+
},
56
+
"emailConfirmedAt": {
57
+
"type": "string",
58
+
"format": "datetime"
59
+
},
60
+
"inviteNote": {
61
+
"type": "string"
62
+
},
63
+
"deactivatedAt": {
64
+
"type": "string",
65
+
"format": "datetime"
66
+
},
67
+
"threatSignatures": {
68
+
"type": "array",
69
+
"items": {
70
+
"type": "ref",
71
+
"ref": "#threatSignature"
72
+
}
73
+
}
74
+
}
75
+
},
76
+
"repoRef": {
77
+
"type": "object",
78
+
"required": ["did"],
79
+
"properties": {
80
+
"did": {
81
+
"type": "string",
82
+
"format": "did"
83
+
}
84
+
}
85
+
},
86
+
"repoBlobRef": {
87
+
"type": "object",
88
+
"required": ["did", "cid"],
89
+
"properties": {
90
+
"did": {
91
+
"type": "string",
92
+
"format": "did"
93
+
},
94
+
"cid": {
95
+
"type": "string",
96
+
"format": "cid"
97
+
},
98
+
"recordUri": {
99
+
"type": "string",
100
+
"format": "at-uri"
101
+
}
102
+
}
103
+
},
104
+
"threatSignature": {
105
+
"type": "object",
106
+
"required": ["property", "value"],
107
+
"properties": {
108
+
"property": {
109
+
"type": "string"
110
+
},
111
+
"value": {
112
+
"type": "string"
113
+
}
114
+
}
115
+
}
116
+
}
117
+
}
+20
packages/definitions/atproto/lexicons/com/atproto/repo/defs.json
+20
packages/definitions/atproto/lexicons/com/atproto/repo/defs.json
···
1
+
{
2
+
"lexicon": 1,
3
+
"id": "com.atproto.repo.defs",
4
+
"defs": {
5
+
"commitMeta": {
6
+
"type": "object",
7
+
"required": ["cid", "rev"],
8
+
"properties": {
9
+
"cid": {
10
+
"type": "string",
11
+
"format": "cid"
12
+
},
13
+
"rev": {
14
+
"type": "string",
15
+
"format": "tid"
16
+
}
17
+
}
18
+
}
19
+
}
20
+
}
+57
packages/definitions/atproto/lexicons/com/atproto/server/checkAccountStatus.json
+57
packages/definitions/atproto/lexicons/com/atproto/server/checkAccountStatus.json
···
1
+
{
2
+
"lexicon": 1,
3
+
"id": "com.atproto.server.checkAccountStatus",
4
+
"defs": {
5
+
"main": {
6
+
"type": "query",
7
+
"description": "Returns the status of an account, especially as pertaining to import or recovery. Can be called many times over the course of an account migration. Requires auth and can only be called pertaining to oneself.",
8
+
"output": {
9
+
"encoding": "application/json",
10
+
"schema": {
11
+
"type": "object",
12
+
"required": [
13
+
"activated",
14
+
"validDid",
15
+
"repoCommit",
16
+
"repoRev",
17
+
"repoBlocks",
18
+
"indexedRecords",
19
+
"privateStateValues",
20
+
"expectedBlobs",
21
+
"importedBlobs"
22
+
],
23
+
"properties": {
24
+
"activated": {
25
+
"type": "boolean"
26
+
},
27
+
"validDid": {
28
+
"type": "boolean"
29
+
},
30
+
"repoCommit": {
31
+
"type": "string",
32
+
"format": "cid"
33
+
},
34
+
"repoRev": {
35
+
"type": "string"
36
+
},
37
+
"repoBlocks": {
38
+
"type": "integer"
39
+
},
40
+
"indexedRecords": {
41
+
"type": "integer"
42
+
},
43
+
"privateStateValues": {
44
+
"type": "integer"
45
+
},
46
+
"expectedBlobs": {
47
+
"type": "integer"
48
+
},
49
+
"importedBlobs": {
50
+
"type": "integer"
51
+
}
52
+
}
53
+
}
54
+
}
55
+
}
56
+
}
57
+
}
+52
packages/definitions/atproto/lexicons/com/atproto/server/defs.json
+52
packages/definitions/atproto/lexicons/com/atproto/server/defs.json
···
1
+
{
2
+
"lexicon": 1,
3
+
"id": "com.atproto.server.defs",
4
+
"defs": {
5
+
"inviteCode": {
6
+
"type": "object",
7
+
"required": ["code", "available", "disabled", "forAccount", "createdBy", "createdAt", "uses"],
8
+
"properties": {
9
+
"code": {
10
+
"type": "string"
11
+
},
12
+
"available": {
13
+
"type": "integer"
14
+
},
15
+
"disabled": {
16
+
"type": "boolean"
17
+
},
18
+
"forAccount": {
19
+
"type": "string"
20
+
},
21
+
"createdBy": {
22
+
"type": "string"
23
+
},
24
+
"createdAt": {
25
+
"type": "string",
26
+
"format": "datetime"
27
+
},
28
+
"uses": {
29
+
"type": "array",
30
+
"items": {
31
+
"type": "ref",
32
+
"ref": "#inviteCodeUse"
33
+
}
34
+
}
35
+
}
36
+
},
37
+
"inviteCodeUse": {
38
+
"type": "object",
39
+
"required": ["usedBy", "usedAt"],
40
+
"properties": {
41
+
"usedBy": {
42
+
"type": "string",
43
+
"format": "did"
44
+
},
45
+
"usedAt": {
46
+
"type": "string",
47
+
"format": "datetime"
48
+
}
49
+
}
50
+
}
51
+
}
52
+
}
+49
packages/definitions/atproto/lexicons/com/atproto/server/refreshSession.json
+49
packages/definitions/atproto/lexicons/com/atproto/server/refreshSession.json
···
1
+
{
2
+
"lexicon": 1,
3
+
"id": "com.atproto.server.refreshSession",
4
+
"defs": {
5
+
"main": {
6
+
"type": "procedure",
7
+
"description": "Refresh an authentication session. Requires auth using the 'refreshJwt' (not the 'accessJwt').",
8
+
"output": {
9
+
"encoding": "application/json",
10
+
"schema": {
11
+
"type": "object",
12
+
"required": ["accessJwt", "refreshJwt", "handle", "did"],
13
+
"properties": {
14
+
"accessJwt": {
15
+
"type": "string"
16
+
},
17
+
"refreshJwt": {
18
+
"type": "string"
19
+
},
20
+
"handle": {
21
+
"type": "string",
22
+
"format": "handle"
23
+
},
24
+
"did": {
25
+
"type": "string",
26
+
"format": "did"
27
+
},
28
+
"didDoc": {
29
+
"type": "unknown"
30
+
},
31
+
"active": {
32
+
"type": "boolean"
33
+
},
34
+
"status": {
35
+
"type": "string",
36
+
"description": "Hosting status of the account. If not specified, then assume 'active'.",
37
+
"knownValues": ["takendown", "suspended", "deactivated"]
38
+
}
39
+
}
40
+
}
41
+
},
42
+
"errors": [
43
+
{
44
+
"name": "AccountTakedown"
45
+
}
46
+
]
47
+
}
48
+
}
49
+
}
+1
packages/definitions/atproto/package.json
+1
packages/definitions/atproto/package.json
+13
-1
packages/definitions/bluemoji/lex.config.js
+13
-1
packages/definitions/bluemoji/lex.config.js
···
1
1
import { defineLexiconConfig } from '@atcute/lex-cli';
2
2
3
3
export default defineLexiconConfig({
4
-
files: ['../../../lexdocs/bluemoji/**/*.json'],
4
+
files: ['lexicons/**/*.json'],
5
5
outdir: 'lib/lexicons/',
6
6
imports: ['@atcute/atproto', '@atcute/bluesky'],
7
+
8
+
// pull: {
9
+
// outdir: 'lexicons/',
10
+
// clean: true,
11
+
// sources: [
12
+
// {
13
+
// type: 'git',
14
+
// remote: 'https://github.com/aendra-rininsland/bluemoji.git',
15
+
// pattern: ['schema/**/*.json'],
16
+
// },
17
+
// ],
18
+
// },
7
19
});
+13
-1
packages/definitions/bluesky/lex.config.js
+13
-1
packages/definitions/bluesky/lex.config.js
···
1
1
import { defineLexiconConfig } from '@atcute/lex-cli';
2
2
3
3
export default defineLexiconConfig({
4
-
files: ['../../../lexdocs/bluesky/app/bsky/**/*.json', '../../../lexdocs/bluesky/chat/bsky/**/*.json'],
4
+
files: ['lexicons/**/*.json'],
5
5
outdir: 'lib/lexicons/',
6
6
imports: ['@atcute/atproto'],
7
+
8
+
pull: {
9
+
outdir: 'lexicons/',
10
+
clean: true,
11
+
sources: [
12
+
{
13
+
type: 'git',
14
+
remote: 'https://github.com/bluesky-social/atproto.git',
15
+
pattern: ['lexicons/app/bsky/**/*.json', 'lexicons/chat/bsky/**/*.json'],
16
+
},
17
+
],
18
+
},
7
19
});
+6
packages/definitions/bluesky/lexicons/README.md
+6
packages/definitions/bluesky/lexicons/README.md
+29
packages/definitions/bluesky/lexicons/app/bsky/feed/like.json
+29
packages/definitions/bluesky/lexicons/app/bsky/feed/like.json
···
1
+
{
2
+
"lexicon": 1,
3
+
"id": "app.bsky.feed.like",
4
+
"defs": {
5
+
"main": {
6
+
"type": "record",
7
+
"description": "Record declaring a 'like' of a piece of subject content.",
8
+
"key": "tid",
9
+
"record": {
10
+
"type": "object",
11
+
"required": ["subject", "createdAt"],
12
+
"properties": {
13
+
"subject": {
14
+
"type": "ref",
15
+
"ref": "com.atproto.repo.strongRef"
16
+
},
17
+
"createdAt": {
18
+
"type": "string",
19
+
"format": "datetime"
20
+
},
21
+
"via": {
22
+
"type": "ref",
23
+
"ref": "com.atproto.repo.strongRef"
24
+
}
25
+
}
26
+
}
27
+
}
28
+
}
29
+
}
+29
packages/definitions/bluesky/lexicons/app/bsky/feed/repost.json
+29
packages/definitions/bluesky/lexicons/app/bsky/feed/repost.json
···
1
+
{
2
+
"lexicon": 1,
3
+
"id": "app.bsky.feed.repost",
4
+
"defs": {
5
+
"main": {
6
+
"description": "Record representing a 'repost' of an existing Bluesky post.",
7
+
"type": "record",
8
+
"key": "tid",
9
+
"record": {
10
+
"type": "object",
11
+
"required": ["subject", "createdAt"],
12
+
"properties": {
13
+
"subject": {
14
+
"type": "ref",
15
+
"ref": "com.atproto.repo.strongRef"
16
+
},
17
+
"createdAt": {
18
+
"type": "string",
19
+
"format": "datetime"
20
+
},
21
+
"via": {
22
+
"type": "ref",
23
+
"ref": "com.atproto.repo.strongRef"
24
+
}
25
+
}
26
+
}
27
+
}
28
+
}
29
+
}
+300
packages/definitions/bluesky/lexicons/app/bsky/graph/defs.json
+300
packages/definitions/bluesky/lexicons/app/bsky/graph/defs.json
···
1
+
{
2
+
"lexicon": 1,
3
+
"id": "app.bsky.graph.defs",
4
+
"defs": {
5
+
"listViewBasic": {
6
+
"type": "object",
7
+
"required": ["uri", "cid", "name", "purpose"],
8
+
"properties": {
9
+
"uri": {
10
+
"type": "string",
11
+
"format": "at-uri"
12
+
},
13
+
"cid": {
14
+
"type": "string",
15
+
"format": "cid"
16
+
},
17
+
"name": {
18
+
"type": "string",
19
+
"maxLength": 64,
20
+
"minLength": 1
21
+
},
22
+
"purpose": {
23
+
"type": "ref",
24
+
"ref": "#listPurpose"
25
+
},
26
+
"avatar": {
27
+
"type": "string",
28
+
"format": "uri"
29
+
},
30
+
"listItemCount": {
31
+
"type": "integer",
32
+
"minimum": 0
33
+
},
34
+
"labels": {
35
+
"type": "array",
36
+
"items": {
37
+
"type": "ref",
38
+
"ref": "com.atproto.label.defs#label"
39
+
}
40
+
},
41
+
"viewer": {
42
+
"type": "ref",
43
+
"ref": "#listViewerState"
44
+
},
45
+
"indexedAt": {
46
+
"type": "string",
47
+
"format": "datetime"
48
+
}
49
+
}
50
+
},
51
+
"listView": {
52
+
"type": "object",
53
+
"required": ["uri", "cid", "creator", "name", "purpose", "indexedAt"],
54
+
"properties": {
55
+
"uri": {
56
+
"type": "string",
57
+
"format": "at-uri"
58
+
},
59
+
"cid": {
60
+
"type": "string",
61
+
"format": "cid"
62
+
},
63
+
"creator": {
64
+
"type": "ref",
65
+
"ref": "app.bsky.actor.defs#profileView"
66
+
},
67
+
"name": {
68
+
"type": "string",
69
+
"maxLength": 64,
70
+
"minLength": 1
71
+
},
72
+
"purpose": {
73
+
"type": "ref",
74
+
"ref": "#listPurpose"
75
+
},
76
+
"description": {
77
+
"type": "string",
78
+
"maxGraphemes": 300,
79
+
"maxLength": 3000
80
+
},
81
+
"descriptionFacets": {
82
+
"type": "array",
83
+
"items": {
84
+
"type": "ref",
85
+
"ref": "app.bsky.richtext.facet"
86
+
}
87
+
},
88
+
"avatar": {
89
+
"type": "string",
90
+
"format": "uri"
91
+
},
92
+
"listItemCount": {
93
+
"type": "integer",
94
+
"minimum": 0
95
+
},
96
+
"labels": {
97
+
"type": "array",
98
+
"items": {
99
+
"type": "ref",
100
+
"ref": "com.atproto.label.defs#label"
101
+
}
102
+
},
103
+
"viewer": {
104
+
"type": "ref",
105
+
"ref": "#listViewerState"
106
+
},
107
+
"indexedAt": {
108
+
"type": "string",
109
+
"format": "datetime"
110
+
}
111
+
}
112
+
},
113
+
"listItemView": {
114
+
"type": "object",
115
+
"required": ["uri", "subject"],
116
+
"properties": {
117
+
"uri": {
118
+
"type": "string",
119
+
"format": "at-uri"
120
+
},
121
+
"subject": {
122
+
"type": "ref",
123
+
"ref": "app.bsky.actor.defs#profileView"
124
+
}
125
+
}
126
+
},
127
+
"starterPackView": {
128
+
"type": "object",
129
+
"required": ["uri", "cid", "record", "creator", "indexedAt"],
130
+
"properties": {
131
+
"uri": {
132
+
"type": "string",
133
+
"format": "at-uri"
134
+
},
135
+
"cid": {
136
+
"type": "string",
137
+
"format": "cid"
138
+
},
139
+
"record": {
140
+
"type": "unknown"
141
+
},
142
+
"creator": {
143
+
"type": "ref",
144
+
"ref": "app.bsky.actor.defs#profileViewBasic"
145
+
},
146
+
"list": {
147
+
"type": "ref",
148
+
"ref": "#listViewBasic"
149
+
},
150
+
"listItemsSample": {
151
+
"type": "array",
152
+
"maxLength": 12,
153
+
"items": {
154
+
"type": "ref",
155
+
"ref": "#listItemView"
156
+
}
157
+
},
158
+
"feeds": {
159
+
"type": "array",
160
+
"maxLength": 3,
161
+
"items": {
162
+
"type": "ref",
163
+
"ref": "app.bsky.feed.defs#generatorView"
164
+
}
165
+
},
166
+
"joinedWeekCount": {
167
+
"type": "integer",
168
+
"minimum": 0
169
+
},
170
+
"joinedAllTimeCount": {
171
+
"type": "integer",
172
+
"minimum": 0
173
+
},
174
+
"labels": {
175
+
"type": "array",
176
+
"items": {
177
+
"type": "ref",
178
+
"ref": "com.atproto.label.defs#label"
179
+
}
180
+
},
181
+
"indexedAt": {
182
+
"type": "string",
183
+
"format": "datetime"
184
+
}
185
+
}
186
+
},
187
+
"starterPackViewBasic": {
188
+
"type": "object",
189
+
"required": ["uri", "cid", "record", "creator", "indexedAt"],
190
+
"properties": {
191
+
"uri": {
192
+
"type": "string",
193
+
"format": "at-uri"
194
+
},
195
+
"cid": {
196
+
"type": "string",
197
+
"format": "cid"
198
+
},
199
+
"record": {
200
+
"type": "unknown"
201
+
},
202
+
"creator": {
203
+
"type": "ref",
204
+
"ref": "app.bsky.actor.defs#profileViewBasic"
205
+
},
206
+
"listItemCount": {
207
+
"type": "integer",
208
+
"minimum": 0
209
+
},
210
+
"joinedWeekCount": {
211
+
"type": "integer",
212
+
"minimum": 0
213
+
},
214
+
"joinedAllTimeCount": {
215
+
"type": "integer",
216
+
"minimum": 0
217
+
},
218
+
"labels": {
219
+
"type": "array",
220
+
"items": {
221
+
"type": "ref",
222
+
"ref": "com.atproto.label.defs#label"
223
+
}
224
+
},
225
+
"indexedAt": {
226
+
"type": "string",
227
+
"format": "datetime"
228
+
}
229
+
}
230
+
},
231
+
"listPurpose": {
232
+
"type": "string",
233
+
"knownValues": [
234
+
"app.bsky.graph.defs#modlist",
235
+
"app.bsky.graph.defs#curatelist",
236
+
"app.bsky.graph.defs#referencelist"
237
+
]
238
+
},
239
+
"modlist": {
240
+
"type": "token",
241
+
"description": "A list of actors to apply an aggregate moderation action (mute/block) on."
242
+
},
243
+
"curatelist": {
244
+
"type": "token",
245
+
"description": "A list of actors used for curation purposes such as list feeds or interaction gating."
246
+
},
247
+
"referencelist": {
248
+
"type": "token",
249
+
"description": "A list of actors used for only for reference purposes such as within a starter pack."
250
+
},
251
+
"listViewerState": {
252
+
"type": "object",
253
+
"properties": {
254
+
"muted": {
255
+
"type": "boolean"
256
+
},
257
+
"blocked": {
258
+
"type": "string",
259
+
"format": "at-uri"
260
+
}
261
+
}
262
+
},
263
+
"notFoundActor": {
264
+
"type": "object",
265
+
"description": "indicates that a handle or DID could not be resolved",
266
+
"required": ["actor", "notFound"],
267
+
"properties": {
268
+
"actor": {
269
+
"type": "string",
270
+
"format": "at-identifier"
271
+
},
272
+
"notFound": {
273
+
"type": "boolean",
274
+
"const": true
275
+
}
276
+
}
277
+
},
278
+
"relationship": {
279
+
"type": "object",
280
+
"description": "lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object)",
281
+
"required": ["did"],
282
+
"properties": {
283
+
"did": {
284
+
"type": "string",
285
+
"format": "did"
286
+
},
287
+
"following": {
288
+
"type": "string",
289
+
"format": "at-uri",
290
+
"description": "if the actor follows this DID, this is the AT-URI of the follow record"
291
+
},
292
+
"followedBy": {
293
+
"type": "string",
294
+
"format": "at-uri",
295
+
"description": "if the actor is followed by this DID, contains the AT-URI of the follow record"
296
+
}
297
+
}
298
+
}
299
+
}
300
+
}
+150
packages/definitions/bluesky/lexicons/app/bsky/notification/defs.json
+150
packages/definitions/bluesky/lexicons/app/bsky/notification/defs.json
···
1
+
{
2
+
"lexicon": 1,
3
+
"id": "app.bsky.notification.defs",
4
+
"defs": {
5
+
"recordDeleted": {
6
+
"type": "object",
7
+
"properties": {}
8
+
},
9
+
"chatPreference": {
10
+
"type": "object",
11
+
"required": ["include", "push"],
12
+
"properties": {
13
+
"include": {
14
+
"type": "string",
15
+
"knownValues": ["all", "accepted"]
16
+
},
17
+
"push": {
18
+
"type": "boolean"
19
+
}
20
+
}
21
+
},
22
+
"filterablePreference": {
23
+
"type": "object",
24
+
"required": ["include", "list", "push"],
25
+
"properties": {
26
+
"include": {
27
+
"type": "string",
28
+
"knownValues": ["all", "follows"]
29
+
},
30
+
"list": {
31
+
"type": "boolean"
32
+
},
33
+
"push": {
34
+
"type": "boolean"
35
+
}
36
+
}
37
+
},
38
+
"preference": {
39
+
"type": "object",
40
+
"required": ["list", "push"],
41
+
"properties": {
42
+
"list": {
43
+
"type": "boolean"
44
+
},
45
+
"push": {
46
+
"type": "boolean"
47
+
}
48
+
}
49
+
},
50
+
"preferences": {
51
+
"type": "object",
52
+
"required": [
53
+
"chat",
54
+
"follow",
55
+
"like",
56
+
"likeViaRepost",
57
+
"mention",
58
+
"quote",
59
+
"reply",
60
+
"repost",
61
+
"repostViaRepost",
62
+
"starterpackJoined",
63
+
"subscribedPost",
64
+
"unverified",
65
+
"verified"
66
+
],
67
+
"properties": {
68
+
"chat": {
69
+
"type": "ref",
70
+
"ref": "#chatPreference"
71
+
},
72
+
"follow": {
73
+
"type": "ref",
74
+
"ref": "#filterablePreference"
75
+
},
76
+
"like": {
77
+
"type": "ref",
78
+
"ref": "#filterablePreference"
79
+
},
80
+
"likeViaRepost": {
81
+
"type": "ref",
82
+
"ref": "#filterablePreference"
83
+
},
84
+
"mention": {
85
+
"type": "ref",
86
+
"ref": "#filterablePreference"
87
+
},
88
+
"quote": {
89
+
"type": "ref",
90
+
"ref": "#filterablePreference"
91
+
},
92
+
"reply": {
93
+
"type": "ref",
94
+
"ref": "#filterablePreference"
95
+
},
96
+
"repost": {
97
+
"type": "ref",
98
+
"ref": "#filterablePreference"
99
+
},
100
+
"repostViaRepost": {
101
+
"type": "ref",
102
+
"ref": "#filterablePreference"
103
+
},
104
+
"starterpackJoined": {
105
+
"type": "ref",
106
+
"ref": "#preference"
107
+
},
108
+
"subscribedPost": {
109
+
"type": "ref",
110
+
"ref": "#preference"
111
+
},
112
+
"unverified": {
113
+
"type": "ref",
114
+
"ref": "#preference"
115
+
},
116
+
"verified": {
117
+
"type": "ref",
118
+
"ref": "#preference"
119
+
}
120
+
}
121
+
},
122
+
"activitySubscription": {
123
+
"type": "object",
124
+
"required": ["post", "reply"],
125
+
"properties": {
126
+
"post": {
127
+
"type": "boolean"
128
+
},
129
+
"reply": {
130
+
"type": "boolean"
131
+
}
132
+
}
133
+
},
134
+
"subjectActivitySubscription": {
135
+
"description": "Object used to store activity subscription data in stash.",
136
+
"type": "object",
137
+
"required": ["subject", "activitySubscription"],
138
+
"properties": {
139
+
"subject": {
140
+
"type": "string",
141
+
"format": "did"
142
+
},
143
+
"activitySubscription": {
144
+
"type": "ref",
145
+
"ref": "#activitySubscription"
146
+
}
147
+
}
148
+
}
149
+
}
150
+
}
+34
packages/definitions/bluesky/lexicons/app/bsky/video/getUploadLimits.json
+34
packages/definitions/bluesky/lexicons/app/bsky/video/getUploadLimits.json
···
1
+
{
2
+
"lexicon": 1,
3
+
"id": "app.bsky.video.getUploadLimits",
4
+
"defs": {
5
+
"main": {
6
+
"type": "query",
7
+
"description": "Get video upload limits for the authenticated user.",
8
+
"output": {
9
+
"encoding": "application/json",
10
+
"schema": {
11
+
"type": "object",
12
+
"required": ["canUpload"],
13
+
"properties": {
14
+
"canUpload": {
15
+
"type": "boolean"
16
+
},
17
+
"remainingDailyVideos": {
18
+
"type": "integer"
19
+
},
20
+
"remainingDailyBytes": {
21
+
"type": "integer"
22
+
},
23
+
"message": {
24
+
"type": "string"
25
+
},
26
+
"error": {
27
+
"type": "string"
28
+
}
29
+
}
30
+
}
31
+
}
32
+
}
33
+
}
34
+
}
+58
packages/definitions/bluesky/lexicons/chat/bsky/moderation/getActorMetadata.json
+58
packages/definitions/bluesky/lexicons/chat/bsky/moderation/getActorMetadata.json
···
1
+
{
2
+
"lexicon": 1,
3
+
"id": "chat.bsky.moderation.getActorMetadata",
4
+
"defs": {
5
+
"main": {
6
+
"type": "query",
7
+
"parameters": {
8
+
"type": "params",
9
+
"required": ["actor"],
10
+
"properties": {
11
+
"actor": {
12
+
"type": "string",
13
+
"format": "did"
14
+
}
15
+
}
16
+
},
17
+
"output": {
18
+
"encoding": "application/json",
19
+
"schema": {
20
+
"type": "object",
21
+
"required": ["day", "month", "all"],
22
+
"properties": {
23
+
"day": {
24
+
"type": "ref",
25
+
"ref": "#metadata"
26
+
},
27
+
"month": {
28
+
"type": "ref",
29
+
"ref": "#metadata"
30
+
},
31
+
"all": {
32
+
"type": "ref",
33
+
"ref": "#metadata"
34
+
}
35
+
}
36
+
}
37
+
}
38
+
},
39
+
"metadata": {
40
+
"type": "object",
41
+
"required": ["messagesSent", "messagesReceived", "convos", "convosStarted"],
42
+
"properties": {
43
+
"messagesSent": {
44
+
"type": "integer"
45
+
},
46
+
"messagesReceived": {
47
+
"type": "integer"
48
+
},
49
+
"convos": {
50
+
"type": "integer"
51
+
},
52
+
"convosStarted": {
53
+
"type": "integer"
54
+
}
55
+
}
56
+
}
57
+
}
58
+
}
+1
packages/definitions/bluesky/package.json
+1
packages/definitions/bluesky/package.json
+13
-1
packages/definitions/frontpage/lex.config.js
+13
-1
packages/definitions/frontpage/lex.config.js
···
1
1
import { defineLexiconConfig } from '@atcute/lex-cli';
2
2
3
3
export default defineLexiconConfig({
4
-
files: ['../../../lexdocs/frontpage/**/*.json'],
4
+
files: ['lexicons/**/*.json'],
5
5
outdir: 'lib/lexicons/',
6
6
imports: ['@atcute/atproto'],
7
+
8
+
pull: {
9
+
outdir: 'lexicons/',
10
+
clean: true,
11
+
sources: [
12
+
{
13
+
type: 'git',
14
+
remote: 'https://github.com/frontpagefyi/frontpage.git',
15
+
pattern: ['lexicons/**/*.json', '!lexicons/com/atproto/**'],
16
+
},
17
+
],
18
+
},
7
19
});
+6
packages/definitions/frontpage/lexicons/README.md
+6
packages/definitions/frontpage/lexicons/README.md
+39
packages/definitions/frontpage/lexicons/fyi/frontpage/feed/comment.json
+39
packages/definitions/frontpage/lexicons/fyi/frontpage/feed/comment.json
···
1
+
{
2
+
"lexicon": 1,
3
+
"id": "fyi.frontpage.feed.comment",
4
+
"defs": {
5
+
"main": {
6
+
"type": "record",
7
+
"description": "Record containing a Frontpage comment.",
8
+
"key": "tid",
9
+
"record": {
10
+
"type": "object",
11
+
"required": ["createdAt", "post", "blocks"],
12
+
"properties": {
13
+
"blocks": {
14
+
"type": "array",
15
+
"maxLength": 200,
16
+
"description": "The content of the comment. Note, there are additional constraints placed on the total size of the content within the Frontpage AppView that are not possible to express in lexicon. Generally a comment can have a maximum length of 10,000 graphemes, the Frontpage AppView will enforce this limit.",
17
+
"items": {
18
+
"type": "ref",
19
+
"ref": "fyi.frontpage.richtext.block"
20
+
}
21
+
},
22
+
"createdAt": {
23
+
"type": "string",
24
+
"format": "datetime",
25
+
"description": "Client-declared timestamp when this comment was originally created."
26
+
},
27
+
"parent": {
28
+
"type": "ref",
29
+
"ref": "com.atproto.repo.strongRef"
30
+
},
31
+
"post": {
32
+
"type": "ref",
33
+
"ref": "com.atproto.repo.strongRef"
34
+
}
35
+
}
36
+
}
37
+
}
38
+
}
39
+
}
+43
packages/definitions/frontpage/lexicons/fyi/frontpage/feed/post.json
+43
packages/definitions/frontpage/lexicons/fyi/frontpage/feed/post.json
···
1
+
{
2
+
"lexicon": 1,
3
+
"id": "fyi.frontpage.feed.post",
4
+
"defs": {
5
+
"main": {
6
+
"type": "record",
7
+
"description": "Record containing a Frontpage post.",
8
+
"key": "tid",
9
+
"record": {
10
+
"type": "object",
11
+
"required": ["title", "createdAt", "subject"],
12
+
"properties": {
13
+
"title": {
14
+
"type": "string",
15
+
"maxLength": 3000,
16
+
"maxGraphemes": 300,
17
+
"description": "The title of the post."
18
+
},
19
+
"subject": {
20
+
"type": "union",
21
+
"description": "The piece of content that this Frontpage post is about.",
22
+
"refs": ["#urlSubject"]
23
+
},
24
+
"createdAt": {
25
+
"type": "string",
26
+
"format": "datetime",
27
+
"description": "Client-declared timestamp when this post was originally created."
28
+
}
29
+
}
30
+
}
31
+
},
32
+
"urlSubject": {
33
+
"type": "object",
34
+
"required": ["url"],
35
+
"properties": {
36
+
"url": {
37
+
"type": "string",
38
+
"format": "uri"
39
+
}
40
+
}
41
+
}
42
+
}
43
+
}
+27
packages/definitions/frontpage/lexicons/fyi/frontpage/feed/vote.json
+27
packages/definitions/frontpage/lexicons/fyi/frontpage/feed/vote.json
···
1
+
{
2
+
"lexicon": 1,
3
+
"id": "fyi.frontpage.feed.vote",
4
+
"defs": {
5
+
"main": {
6
+
"type": "record",
7
+
"description": "Record containing a Frontpage vote.",
8
+
"key": "tid",
9
+
"record": {
10
+
"type": "object",
11
+
"required": ["subject", "createdAt"],
12
+
"properties": {
13
+
"subject": {
14
+
"type": "ref",
15
+
"description": "The post or comment that this Frontpage vote is for.",
16
+
"ref": "com.atproto.repo.strongRef"
17
+
},
18
+
"createdAt": {
19
+
"type": "string",
20
+
"format": "datetime",
21
+
"description": "Client-declared timestamp when this vote was originally created."
22
+
}
23
+
}
24
+
}
25
+
}
26
+
}
27
+
}
+27
packages/definitions/frontpage/lexicons/fyi/frontpage/richtext/block.json
+27
packages/definitions/frontpage/lexicons/fyi/frontpage/richtext/block.json
···
1
+
{
2
+
"lexicon": 1,
3
+
"id": "fyi.frontpage.richtext.block",
4
+
"defs": {
5
+
"main": {
6
+
"type": "object",
7
+
"required": ["content"],
8
+
"properties": {
9
+
"content": {
10
+
"type": "union",
11
+
"refs": ["#plaintextParagraph"]
12
+
}
13
+
}
14
+
},
15
+
"plaintextParagraph": {
16
+
"type": "object",
17
+
"required": ["text"],
18
+
"properties": {
19
+
"text": {
20
+
"type": "string",
21
+
"maxLength": 100000,
22
+
"maxGraphemes": 10000
23
+
}
24
+
}
25
+
}
26
+
}
27
+
}
+4
packages/definitions/frontpage/lib/lexicons/index.ts
+4
packages/definitions/frontpage/lib/lexicons/index.ts
···
1
+
export * as FyiFrontpageFeedComment from './types/fyi/frontpage/feed/comment.js';
2
+
export * as FyiFrontpageFeedPost from './types/fyi/frontpage/feed/post.js';
3
+
export * as FyiFrontpageFeedVote from './types/fyi/frontpage/feed/vote.js';
4
+
export * as FyiFrontpageRichtextBlock from './types/fyi/frontpage/richtext/block.js';
1
5
export * as FyiUnravelFrontpageComment from './types/fyi/unravel/frontpage/comment.js';
2
6
export * as FyiUnravelFrontpagePost from './types/fyi/unravel/frontpage/post.js';
3
7
export * as FyiUnravelFrontpageVote from './types/fyi/unravel/frontpage/vote.js';
+45
packages/definitions/frontpage/lib/lexicons/types/fyi/frontpage/feed/comment.ts
+45
packages/definitions/frontpage/lib/lexicons/types/fyi/frontpage/feed/comment.ts
···
1
+
import type {} from '@atcute/lexicons';
2
+
import * as v from '@atcute/lexicons/validations';
3
+
import type {} from '@atcute/lexicons/ambient';
4
+
import * as ComAtprotoRepoStrongRef from '@atcute/atproto/types/repo/strongRef';
5
+
import * as FyiFrontpageRichtextBlock from '../richtext/block.js';
6
+
7
+
const _mainSchema = /*#__PURE__*/ v.record(
8
+
/*#__PURE__*/ v.tidString(),
9
+
/*#__PURE__*/ v.object({
10
+
$type: /*#__PURE__*/ v.literal('fyi.frontpage.feed.comment'),
11
+
/**
12
+
* The content of the comment. Note, there are additional constraints placed on the total size of the content within the Frontpage AppView that are not possible to express in lexicon. Generally a comment can have a maximum length of 10,000 graphemes, the Frontpage AppView will enforce this limit.
13
+
* @maxLength 200
14
+
*/
15
+
get blocks() {
16
+
return /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.array(FyiFrontpageRichtextBlock.mainSchema), [
17
+
/*#__PURE__*/ v.arrayLength(0, 200),
18
+
]);
19
+
},
20
+
/**
21
+
* Client-declared timestamp when this comment was originally created.
22
+
*/
23
+
createdAt: /*#__PURE__*/ v.datetimeString(),
24
+
get parent() {
25
+
return /*#__PURE__*/ v.optional(ComAtprotoRepoStrongRef.mainSchema);
26
+
},
27
+
get post() {
28
+
return ComAtprotoRepoStrongRef.mainSchema;
29
+
},
30
+
}),
31
+
);
32
+
33
+
type main$schematype = typeof _mainSchema;
34
+
35
+
export interface mainSchema extends main$schematype {}
36
+
37
+
export const mainSchema = _mainSchema as mainSchema;
38
+
39
+
export interface Main extends v.InferInput<typeof mainSchema> {}
40
+
41
+
declare module '@atcute/lexicons/ambient' {
42
+
interface Records {
43
+
'fyi.frontpage.feed.comment': mainSchema;
44
+
}
45
+
}
+51
packages/definitions/frontpage/lib/lexicons/types/fyi/frontpage/feed/post.ts
+51
packages/definitions/frontpage/lib/lexicons/types/fyi/frontpage/feed/post.ts
···
1
+
import type {} from '@atcute/lexicons';
2
+
import * as v from '@atcute/lexicons/validations';
3
+
import type {} from '@atcute/lexicons/ambient';
4
+
5
+
const _mainSchema = /*#__PURE__*/ v.record(
6
+
/*#__PURE__*/ v.tidString(),
7
+
/*#__PURE__*/ v.object({
8
+
$type: /*#__PURE__*/ v.literal('fyi.frontpage.feed.post'),
9
+
/**
10
+
* Client-declared timestamp when this post was originally created.
11
+
*/
12
+
createdAt: /*#__PURE__*/ v.datetimeString(),
13
+
/**
14
+
* The piece of content that this Frontpage post is about.
15
+
*/
16
+
get subject() {
17
+
return /*#__PURE__*/ v.variant([urlSubjectSchema]);
18
+
},
19
+
/**
20
+
* The title of the post.
21
+
* @maxLength 3000
22
+
* @maxGraphemes 300
23
+
*/
24
+
title: /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.string(), [
25
+
/*#__PURE__*/ v.stringLength(0, 3000),
26
+
/*#__PURE__*/ v.stringGraphemes(0, 300),
27
+
]),
28
+
}),
29
+
);
30
+
const _urlSubjectSchema = /*#__PURE__*/ v.object({
31
+
$type: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.literal('fyi.frontpage.feed.post#urlSubject')),
32
+
url: /*#__PURE__*/ v.genericUriString(),
33
+
});
34
+
35
+
type main$schematype = typeof _mainSchema;
36
+
type urlSubject$schematype = typeof _urlSubjectSchema;
37
+
38
+
export interface mainSchema extends main$schematype {}
39
+
export interface urlSubjectSchema extends urlSubject$schematype {}
40
+
41
+
export const mainSchema = _mainSchema as mainSchema;
42
+
export const urlSubjectSchema = _urlSubjectSchema as urlSubjectSchema;
43
+
44
+
export interface Main extends v.InferInput<typeof mainSchema> {}
45
+
export interface UrlSubject extends v.InferInput<typeof urlSubjectSchema> {}
46
+
47
+
declare module '@atcute/lexicons/ambient' {
48
+
interface Records {
49
+
'fyi.frontpage.feed.post': mainSchema;
50
+
}
51
+
}
+35
packages/definitions/frontpage/lib/lexicons/types/fyi/frontpage/feed/vote.ts
+35
packages/definitions/frontpage/lib/lexicons/types/fyi/frontpage/feed/vote.ts
···
1
+
import type {} from '@atcute/lexicons';
2
+
import * as v from '@atcute/lexicons/validations';
3
+
import type {} from '@atcute/lexicons/ambient';
4
+
import * as ComAtprotoRepoStrongRef from '@atcute/atproto/types/repo/strongRef';
5
+
6
+
const _mainSchema = /*#__PURE__*/ v.record(
7
+
/*#__PURE__*/ v.tidString(),
8
+
/*#__PURE__*/ v.object({
9
+
$type: /*#__PURE__*/ v.literal('fyi.frontpage.feed.vote'),
10
+
/**
11
+
* Client-declared timestamp when this vote was originally created.
12
+
*/
13
+
createdAt: /*#__PURE__*/ v.datetimeString(),
14
+
/**
15
+
* The post or comment that this Frontpage vote is for.
16
+
*/
17
+
get subject() {
18
+
return ComAtprotoRepoStrongRef.mainSchema;
19
+
},
20
+
}),
21
+
);
22
+
23
+
type main$schematype = typeof _mainSchema;
24
+
25
+
export interface mainSchema extends main$schematype {}
26
+
27
+
export const mainSchema = _mainSchema as mainSchema;
28
+
29
+
export interface Main extends v.InferInput<typeof mainSchema> {}
30
+
31
+
declare module '@atcute/lexicons/ambient' {
32
+
interface Records {
33
+
'fyi.frontpage.feed.vote': mainSchema;
34
+
}
35
+
}
+32
packages/definitions/frontpage/lib/lexicons/types/fyi/frontpage/richtext/block.ts
+32
packages/definitions/frontpage/lib/lexicons/types/fyi/frontpage/richtext/block.ts
···
1
+
import type {} from '@atcute/lexicons';
2
+
import * as v from '@atcute/lexicons/validations';
3
+
4
+
const _mainSchema = /*#__PURE__*/ v.object({
5
+
$type: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.literal('fyi.frontpage.richtext.block')),
6
+
get content() {
7
+
return /*#__PURE__*/ v.variant([plaintextParagraphSchema]);
8
+
},
9
+
});
10
+
const _plaintextParagraphSchema = /*#__PURE__*/ v.object({
11
+
$type: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.literal('fyi.frontpage.richtext.block#plaintextParagraph')),
12
+
/**
13
+
* @maxLength 100000
14
+
* @maxGraphemes 10000
15
+
*/
16
+
text: /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.string(), [
17
+
/*#__PURE__*/ v.stringLength(0, 100000),
18
+
/*#__PURE__*/ v.stringGraphemes(0, 10000),
19
+
]),
20
+
});
21
+
22
+
type main$schematype = typeof _mainSchema;
23
+
type plaintextParagraph$schematype = typeof _plaintextParagraphSchema;
24
+
25
+
export interface mainSchema extends main$schematype {}
26
+
export interface plaintextParagraphSchema extends plaintextParagraph$schematype {}
27
+
28
+
export const mainSchema = _mainSchema as mainSchema;
29
+
export const plaintextParagraphSchema = _plaintextParagraphSchema as plaintextParagraphSchema;
30
+
31
+
export interface Main extends v.InferInput<typeof mainSchema> {}
32
+
export interface PlaintextParagraph extends v.InferInput<typeof plaintextParagraphSchema> {}
+7
-2
packages/definitions/frontpage/package.json
+7
-2
packages/definitions/frontpage/package.json
···
21
21
],
22
22
"exports": {
23
23
".": "./dist/index.js",
24
-
"./types/*": "./dist/lexicons/types/fyi/unravel/frontpage/*.js"
24
+
"./types/*": "./dist/lexicons/types/*.js"
25
25
},
26
26
"scripts": {
27
27
"build": "tsc",
28
+
"pull": "lex-cli pull -c ./lex.config.js",
28
29
"generate": "rm -r ./lib/lexicons/; lex-cli generate -c ./lex.config.js",
29
30
"prepublish": "rm -rf dist; pnpm run build"
30
31
},
···
40
41
"mappings": {
41
42
"fyi.unravel.frontpage.*": {
42
43
"type": "namespace",
43
-
"path": "./types/{{nsid_remainder}}"
44
+
"path": "./types/{{nsid}}"
45
+
},
46
+
"fyi.frontpage.*": {
47
+
"type": "namespace",
48
+
"path": "./types/{{nsid}}"
44
49
}
45
50
}
46
51
}
+13
-1
packages/definitions/leaflet/lex.config.js
+13
-1
packages/definitions/leaflet/lex.config.js
···
1
1
import { defineLexiconConfig } from '@atcute/lex-cli';
2
2
3
3
export default defineLexiconConfig({
4
-
files: ['../../../lexdocs/leaflet/**/*.json'],
4
+
files: ['lexicons/**/*.json'],
5
5
outdir: 'lib/lexicons/',
6
6
imports: ['@atcute/atproto'],
7
+
8
+
pull: {
9
+
outdir: 'lexicons/',
10
+
clean: true,
11
+
sources: [
12
+
{
13
+
type: 'git',
14
+
remote: 'https://github.com/hyperlink-academy/leaflet.git',
15
+
pattern: ['lexicons/pub/leaflet/**/*.json'],
16
+
},
17
+
],
18
+
},
7
19
});
+6
packages/definitions/leaflet/lexicons/README.md
+6
packages/definitions/leaflet/lexicons/README.md
+1
packages/definitions/leaflet/package.json
+1
packages/definitions/leaflet/package.json
+13
-1
packages/definitions/lexicon-community/lex.config.js
+13
-1
packages/definitions/lexicon-community/lex.config.js
···
1
1
import { defineLexiconConfig } from '@atcute/lex-cli';
2
2
3
3
export default defineLexiconConfig({
4
-
files: ['../../../lexdocs/lexcom/**/*.json'],
4
+
files: ['lexicons/**/*.json'],
5
5
outdir: 'lib/lexicons/',
6
6
imports: ['@atcute/atproto'],
7
+
8
+
pull: {
9
+
outdir: 'lexicons/',
10
+
clean: true,
11
+
sources: [
12
+
{
13
+
type: 'git',
14
+
remote: 'https://github.com/lexicon-community/lexicon.git',
15
+
pattern: ['**/*.json'],
16
+
},
17
+
],
18
+
},
7
19
});
+6
packages/definitions/lexicon-community/lexicons/README.md
+6
packages/definitions/lexicon-community/lexicons/README.md
+1
packages/definitions/lexicon-community/package.json
+1
packages/definitions/lexicon-community/package.json
+1
-1
packages/definitions/microcosm/lex.config.js
+1
-1
packages/definitions/microcosm/lex.config.js
+13
-1
packages/definitions/ozone/lex.config.js
+13
-1
packages/definitions/ozone/lex.config.js
···
1
1
import { defineLexiconConfig } from '@atcute/lex-cli';
2
2
3
3
export default defineLexiconConfig({
4
-
files: ['../../../lexdocs/bluesky/tools/ozone/**/*.json'],
4
+
files: ['lexicons/**/*.json'],
5
5
outdir: 'lib/lexicons/',
6
6
imports: ['@atcute/atproto', '@atcute/bluesky'],
7
+
8
+
pull: {
9
+
outdir: 'lexicons/',
10
+
clean: true,
11
+
sources: [
12
+
{
13
+
type: 'git',
14
+
remote: 'https://github.com/bluesky-social/atproto.git',
15
+
pattern: ['lexicons/tools/ozone/**/*.json'],
16
+
},
17
+
],
18
+
},
7
19
});
+6
packages/definitions/ozone/lexicons/README.md
+6
packages/definitions/ozone/lexicons/README.md
+10
packages/definitions/ozone/lib/lexicons/types/tools/ozone/moderation/defs.ts
+10
packages/definitions/ozone/lib/lexicons/types/tools/ozone/moderation/defs.ts
···
181
181
*/
182
182
content: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
183
183
/**
184
+
* Indicates whether the email was successfully delivered to the user's inbox.
185
+
*/
186
+
isDelivered: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.boolean()),
187
+
/**
184
188
* Names/Keywords of the policies that necessitated the email.
185
189
* @maxLength 5
186
190
*/
···
342
346
* When the strike should expire. If not provided, the strike never expires.
343
347
*/
344
348
strikeExpiresAt: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.datetimeString()),
349
+
/**
350
+
* List of services where the takedown should be applied. If empty or not provided, takedown is applied on all configured services.
351
+
*/
352
+
targetServices: /*#__PURE__*/ v.optional(
353
+
/*#__PURE__*/ v.array(/*#__PURE__*/ v.string<'appview' | 'pds' | (string & {})>()),
354
+
),
345
355
});
346
356
const _modEventUnmuteSchema = /*#__PURE__*/ v.object({
347
357
$type: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.literal('tools.ozone.moderation.defs#modEventUnmute')),
+9
-1
packages/definitions/ozone/lib/lexicons/types/tools/ozone/moderation/queryStatuses.ts
+9
-1
packages/definitions/ozone/lib/lexicons/types/tools/ozone/moderation/queryStatuses.ts
···
126
126
/**
127
127
* Specify when fetching subjects in a certain state
128
128
*/
129
-
reviewState: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
129
+
reviewState: /*#__PURE__*/ v.optional(
130
+
/*#__PURE__*/ v.string<
131
+
| 'tools.ozone.moderation.defs#reviewClosed'
132
+
| 'tools.ozone.moderation.defs#reviewEscalated'
133
+
| 'tools.ozone.moderation.defs#reviewNone'
134
+
| 'tools.ozone.moderation.defs#reviewOpen'
135
+
| (string & {})
136
+
>(),
137
+
),
130
138
/**
131
139
* Search subjects reviewed after a given timestamp
132
140
*/
+20
packages/definitions/ozone/lib/lexicons/types/tools/ozone/moderation/scheduleAction.ts
+20
packages/definitions/ozone/lib/lexicons/types/tools/ozone/moderation/scheduleAction.ts
···
83
83
*/
84
84
durationInHours: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.integer()),
85
85
/**
86
+
* Email content to be sent to the user upon takedown.
87
+
*/
88
+
emailContent: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
89
+
/**
90
+
* Subject of the email to be sent to the user upon takedown.
91
+
*/
92
+
emailSubject: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
93
+
/**
86
94
* Names/Keywords of the policies that drove the decision.
87
95
* @maxLength 5
88
96
*/
···
91
99
/*#__PURE__*/ v.arrayLength(0, 5),
92
100
]),
93
101
),
102
+
/**
103
+
* Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.).
104
+
*/
105
+
severityLevel: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
106
+
/**
107
+
* Number of strikes to assign to the user when takedown is applied.
108
+
*/
109
+
strikeCount: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.integer()),
110
+
/**
111
+
* When the strike should expire. If not provided, the strike never expires.
112
+
*/
113
+
strikeExpiresAt: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.datetimeString()),
94
114
});
95
115
96
116
type failedScheduling$schematype = typeof _failedSchedulingSchema;
+1
packages/definitions/ozone/package.json
+1
packages/definitions/ozone/package.json
+13
-1
packages/definitions/tangled/lex.config.js
+13
-1
packages/definitions/tangled/lex.config.js
···
1
1
import { defineLexiconConfig } from '@atcute/lex-cli';
2
2
3
3
export default defineLexiconConfig({
4
-
files: ['../../../lexdocs/tangled/**/*.json'],
4
+
files: ['lexicons/**/*.json'],
5
5
outdir: 'lib/lexicons/',
6
6
imports: ['@atcute/atproto'],
7
+
8
+
pull: {
9
+
outdir: 'lexicons/',
10
+
clean: true,
11
+
sources: [
12
+
{
13
+
type: 'git',
14
+
remote: 'https://github.com/mary-ext/tangled.sh-mirror.git',
15
+
pattern: ['lexicons/**/*.json'],
16
+
},
17
+
],
18
+
},
7
19
});
+6
packages/definitions/tangled/lexicons/README.md
+6
packages/definitions/tangled/lexicons/README.md
+1
packages/definitions/tangled/package.json
+1
packages/definitions/tangled/package.json
+13
-1
packages/definitions/whitewind/lex.config.js
+13
-1
packages/definitions/whitewind/lex.config.js
···
1
1
import { defineLexiconConfig } from '@atcute/lex-cli';
2
2
3
3
export default defineLexiconConfig({
4
-
files: ['../../../lexdocs/whtwnd/**/*.json'],
4
+
files: ['lexicons/com/whtwnd/**/*.json'],
5
5
outdir: 'lib/lexicons/',
6
+
7
+
pull: {
8
+
outdir: 'lexicons/',
9
+
clean: true,
10
+
sources: [
11
+
{
12
+
type: 'git',
13
+
remote: 'https://github.com/whtwnd/whitewind-blog.git',
14
+
pattern: ['lexicons/com/whtwnd/**/*.json'],
15
+
},
16
+
],
17
+
},
6
18
});
+6
packages/definitions/whitewind/lexicons/README.md
+6
packages/definitions/whitewind/lexicons/README.md
+1
packages/definitions/whitewind/package.json
+1
packages/definitions/whitewind/package.json
+34
packages/lexicons/lex-cli/README.md
+34
packages/lexicons/lex-cli/README.md
···
23
23
npm exec lex-cli generate -c ./lex.config.js
24
24
```
25
25
26
+
## pulling lexicons
27
+
28
+
configure sources to be pulled locally before code generation. pulled files are written using their
29
+
nsids (e.g., `app.bsky.feed.post` becomes `app/bsky/feed/post.json`).
30
+
31
+
```ts
32
+
// file: lex.config.js
33
+
import { defineLexiconConfig } from '@atcute/lex-cli';
34
+
35
+
export default defineLexiconConfig({
36
+
pull: {
37
+
outdir: 'lexicons/',
38
+
clean: true,
39
+
sources: [
40
+
{
41
+
type: 'git',
42
+
remote: 'https://github.com/bluesky-social/atproto.git',
43
+
ref: 'main',
44
+
pattern: ['lexicons/**/*.json'],
45
+
},
46
+
],
47
+
},
48
+
files: ['lexicons/**/*.json'],
49
+
outdir: 'src/lexicons/',
50
+
});
51
+
```
52
+
53
+
pull the lexicons to disk, then generate types from them:
54
+
55
+
```
56
+
npm exec lex-cli pull -c ./lex.config.js
57
+
npm exec lex-cli generate -c ./lex.config.js
58
+
```
59
+
26
60
## publishing your schemas
27
61
28
62
if you're packaging your generated schemas as a publishable library, add the `atcute:lexicons`
+20
-6
packages/lexicons/lex-cli/src/cli.ts
+20
-6
packages/lexicons/lex-cli/src/cli.ts
···
5
5
6
6
import { object } from '@optique/core/constructs';
7
7
import { command, constant, option } from '@optique/core/primitives';
8
+
import { or } from '@optique/core/constructs';
8
9
import { run } from '@optique/run';
9
10
import { path as pathParser } from '@optique/run/valueparser';
10
11
import pc from 'picocolors';
···
12
13
import { generateLexiconApi, type ImportMapping } from './codegen.js';
13
14
import { loadConfig } from './config.js';
14
15
import { packageJsonSchema } from './lexicon-metadata.js';
16
+
import { runPull } from './pull.js';
15
17
16
18
/**
17
19
* Resolves package imports to ImportMapping[]
···
116
118
return mappings;
117
119
};
118
120
119
-
const parser = command(
120
-
'generate',
121
-
object({
122
-
type: constant('generate'),
123
-
config: option('-c', '--config', pathParser({ metavar: 'CONFIG' })),
124
-
}),
121
+
const parser = or(
122
+
command(
123
+
'generate',
124
+
object({
125
+
type: constant('generate'),
126
+
config: option('-c', '--config', pathParser({ metavar: 'CONFIG' })),
127
+
}),
128
+
),
129
+
command(
130
+
'pull',
131
+
object({
132
+
type: constant('pull'),
133
+
config: option('-c', '--config', pathParser({ metavar: 'CONFIG' })),
134
+
}),
135
+
),
125
136
);
126
137
127
138
const result = run(parser, { programName: 'lex-cli' });
···
202
213
await fs.mkdir(dirname, { recursive: true });
203
214
await fs.writeFile(filename, file.code);
204
215
}
216
+
} else if (result.type === 'pull') {
217
+
const config = await loadConfig(result.config);
218
+
await runPull(config);
205
219
}
+36
-27
packages/lexicons/lex-cli/src/config.ts
+36
-27
packages/lexicons/lex-cli/src/config.ts
···
8
8
9
9
import type { ImportMapping } from './codegen.js';
10
10
11
+
const gitSourceConfigSchema = v.object({
12
+
type: v.literal('git'),
13
+
remote: v.string().assert((value) => value.length > 0, `must not be empty`),
14
+
ref: v
15
+
.string()
16
+
.assert((value) => value.length > 0, `must not be empty`)
17
+
.optional(),
18
+
pattern: v
19
+
.array(v.string().assert((value) => value.length > 0, `must not be empty`))
20
+
.assert((value) => value.length > 0, `must include at least one glob pattern`),
21
+
});
22
+
23
+
const sourceConfigSchema = v.union(gitSourceConfigSchema);
24
+
25
+
const pullConfigSchema = v.object({
26
+
outdir: v.string().assert((value) => value.length > 0, `must not be empty`),
27
+
clean: v.boolean().optional(),
28
+
sources: v
29
+
.array(sourceConfigSchema)
30
+
.assert((value) => value.length > 0, `must include at least one source`),
31
+
});
32
+
33
+
export type GitSourceConfig = v.Infer<typeof gitSourceConfigSchema>;
34
+
export type SourceConfig = v.Infer<typeof sourceConfigSchema>;
35
+
export type PullConfig = v.Infer<typeof pullConfigSchema>;
36
+
11
37
const isValidLexiconPattern = (pattern: string): boolean => {
12
38
if (pattern.endsWith('.*')) {
13
39
return isNsid(`${pattern.slice(0, -2)}.x`);
···
19
45
const mappingImports: v.Type<ImportMapping['imports']> = v.unknown().chain((value) => {
20
46
if (typeof value === 'string') {
21
47
if (value.length === 0) {
22
-
return v.err({ message: 'imports must not be empty' });
48
+
return v.err('imports must not be empty');
23
49
}
24
50
25
51
return v.ok(value);
···
29
55
return v.ok(value as ImportMapping['imports']);
30
56
}
31
57
32
-
return v.err({ message: 'imports must be a string or function' });
58
+
return v.err('imports must be a string or function');
33
59
});
34
60
35
61
const importMappingSchema: v.Type<ImportMapping> = v.object({
···
37
63
.array(
38
64
v.string().chain((value) => {
39
65
if (!isValidLexiconPattern(value)) {
40
-
return v.err({
41
-
message: 'invalid NSID pattern (must be valid NSID or end with .*)',
42
-
});
66
+
return v.err(`invalid NSID pattern (must be valid NSID or end with .*)`);
43
67
}
44
68
45
69
return v.ok(value);
46
70
}),
47
71
)
48
-
.assert((patterns) => patterns.length > 0, {
49
-
message: 'nsid requires at least one pattern',
50
-
}),
72
+
.assert((patterns) => patterns.length > 0, `nsid requires at least one pattern`),
51
73
imports: mappingImports,
52
74
});
53
75
54
76
export const lexiconConfigSchema = v.object({
55
-
outdir: v.string().assert((value) => value.length > 0, {
56
-
message: 'outdir must not be empty',
57
-
}),
77
+
outdir: v.string().assert((value) => value.length > 0, `must not be empty`),
58
78
files: v
59
-
.array(
60
-
v.string().assert((value) => value.length > 0, {
61
-
message: 'files entries must not be empty',
62
-
}),
63
-
)
64
-
.assert((value) => value.length > 0, {
65
-
message: 'files must include at least one pattern',
66
-
}),
67
-
imports: v
68
-
.array(
69
-
v.string().assert((value) => value.length > 0, {
70
-
message: 'imports entries must not be empty',
71
-
}),
72
-
)
73
-
.optional(),
79
+
.array(v.string().assert((value) => value.length > 0, `must not be empty`))
80
+
.assert((value) => value.length > 0, `must include at least one glob pattern`),
81
+
imports: v.array(v.string().assert((value) => value.length > 0, `must not be empty`)).optional(),
74
82
mappings: v.array(importMappingSchema).optional(),
75
83
modules: v
76
84
.object({
77
85
importSuffix: v
78
86
.string()
79
-
.assert((value) => value.length > 0, { message: 'importSuffix must not be empty' })
87
+
.assert((value) => value.length > 0, `must not be empty`)
80
88
.optional(),
81
89
})
82
90
.partial()
83
91
.optional(),
92
+
pull: pullConfigSchema.optional(),
84
93
});
85
94
86
95
export type LexiconConfig = v.Infer<typeof lexiconConfigSchema>;
+104
packages/lexicons/lex-cli/src/git.ts
+104
packages/lexicons/lex-cli/src/git.ts
···
1
+
import { spawn } from 'node:child_process';
2
+
3
+
export interface GitCommandOptions {
4
+
cwd?: string;
5
+
env?: NodeJS.ProcessEnv;
6
+
stdin?: string;
7
+
timeoutMs?: number;
8
+
}
9
+
10
+
export interface GitResult {
11
+
stdout: string;
12
+
stderr: string;
13
+
}
14
+
15
+
export class GitError extends Error {
16
+
readonly args: readonly string[];
17
+
readonly code: number | null;
18
+
readonly signal: NodeJS.Signals | null;
19
+
readonly stdout: string;
20
+
readonly stderr: string;
21
+
22
+
constructor(
23
+
args: readonly string[],
24
+
stdout: string,
25
+
stderr: string,
26
+
code: number | null,
27
+
signal: NodeJS.Signals | null,
28
+
) {
29
+
const reason = code !== null ? `code ${code}` : `signal ${signal ?? 'unknown'}`;
30
+
super(`git ${args.join(' ')} failed with ${reason}`);
31
+
32
+
this.name = 'GitError';
33
+
this.args = args;
34
+
this.code = code;
35
+
this.signal = signal;
36
+
this.stdout = stdout;
37
+
this.stderr = stderr;
38
+
}
39
+
}
40
+
41
+
/**
42
+
* runs git with the provided arguments and throws when the command fails.
43
+
* @param args positional arguments for git
44
+
* @param options execution options
45
+
* @returns stdout and stderr from git
46
+
* @throws GitError when git exits with a non-zero status or is terminated
47
+
*/
48
+
export const runGit = (args: readonly string[], options: GitCommandOptions = {}): Promise<GitResult> => {
49
+
return new Promise((resolve, reject) => {
50
+
const child = spawn('git', args, {
51
+
cwd: options.cwd,
52
+
env: options.env,
53
+
stdio: ['pipe', 'pipe', 'pipe'],
54
+
});
55
+
56
+
let stdout = '';
57
+
let stderr = '';
58
+
59
+
child.stdout?.setEncoding('utf8');
60
+
child.stderr?.setEncoding('utf8');
61
+
62
+
child.stdout?.on('data', (chunk) => {
63
+
stdout += chunk;
64
+
});
65
+
66
+
child.stderr?.on('data', (chunk) => {
67
+
stderr += chunk;
68
+
});
69
+
70
+
let timer: NodeJS.Timeout | undefined;
71
+
if (options.timeoutMs !== undefined) {
72
+
timer = setTimeout(() => {
73
+
child.kill('SIGKILL');
74
+
}, options.timeoutMs);
75
+
}
76
+
77
+
child.on('error', (err) => {
78
+
if (timer) {
79
+
clearTimeout(timer);
80
+
}
81
+
82
+
reject(err);
83
+
});
84
+
85
+
child.on('close', (code, signal) => {
86
+
if (timer) {
87
+
clearTimeout(timer);
88
+
}
89
+
90
+
if (code === 0) {
91
+
resolve({ stdout, stderr });
92
+
return;
93
+
}
94
+
95
+
reject(new GitError(args, stdout, stderr, code, signal));
96
+
});
97
+
98
+
if (options.stdin !== undefined) {
99
+
child.stdin?.end(options.stdin);
100
+
} else {
101
+
child.stdin?.end();
102
+
}
103
+
});
104
+
};
+298
packages/lexicons/lex-cli/src/pull.ts
+298
packages/lexicons/lex-cli/src/pull.ts
···
1
+
import * as fs from 'node:fs/promises';
2
+
import * as os from 'node:os';
3
+
import * as path from 'node:path';
4
+
5
+
import { lexiconDoc, refineLexiconDoc, type LexiconDoc } from '@atcute/lexicon-doc';
6
+
import prettier from 'prettier';
7
+
import pc from 'picocolors';
8
+
9
+
import { runGit, GitError } from './git.js';
10
+
import type { NormalizedConfig, PullConfig, SourceConfig } from './config.js';
11
+
12
+
interface SourceRevision {
13
+
source: SourceConfig;
14
+
rev: string;
15
+
}
16
+
17
+
interface SourceLocation {
18
+
absolutePath: string;
19
+
relativePath: string;
20
+
sourceDescription: string;
21
+
}
22
+
23
+
interface PulledLexicon {
24
+
nsid: string;
25
+
doc: LexiconDoc;
26
+
location: SourceLocation;
27
+
}
28
+
29
+
interface PullResult {
30
+
pulled: Map<string, PulledLexicon>;
31
+
rev: string;
32
+
}
33
+
34
+
const ensurePullConfig = (config: NormalizedConfig): PullConfig => {
35
+
if (!config.pull) {
36
+
console.error(pc.bold(pc.red(`pull configuration missing`)));
37
+
process.exit(1);
38
+
}
39
+
40
+
return config.pull;
41
+
};
42
+
43
+
const parseLexiconFile = async (loc: SourceLocation): Promise<LexiconDoc> => {
44
+
let source: string;
45
+
46
+
try {
47
+
source = await fs.readFile(loc.absolutePath, 'utf8');
48
+
} catch (err) {
49
+
console.error(
50
+
pc.bold(pc.red(`file read error for ${loc.relativePath} when pulling ${loc.sourceDescription}`)),
51
+
);
52
+
console.error(`found in ${loc.absolutePath}`);
53
+
console.error(err);
54
+
process.exit(1);
55
+
}
56
+
57
+
let json: unknown;
58
+
try {
59
+
json = JSON.parse(source);
60
+
} catch (err) {
61
+
console.error(
62
+
pc.bold(pc.red(`json parse error in ${loc.relativePath} when pulling ${loc.sourceDescription}`)),
63
+
);
64
+
console.error(`found in ${loc.absolutePath}`);
65
+
console.error(err);
66
+
process.exit(1);
67
+
}
68
+
69
+
const result = lexiconDoc.try(json, { mode: 'passthrough' });
70
+
if (!result.ok) {
71
+
console.error(
72
+
pc.bold(
73
+
pc.red(`schema validation failed for ${loc.relativePath} when pulling ${loc.sourceDescription}`),
74
+
),
75
+
);
76
+
console.error(`found in ${loc.absolutePath}`);
77
+
console.error(result.message);
78
+
79
+
for (const issue of result.issues) {
80
+
console.log(`- ${issue.code} at .${issue.path.join('.')}`);
81
+
}
82
+
83
+
process.exit(1);
84
+
}
85
+
86
+
const issues = refineLexiconDoc(result.value, true);
87
+
if (issues.length > 0) {
88
+
console.error(
89
+
pc.bold(pc.red(`lint validation failed for ${loc.relativePath} when pulling ${loc.sourceDescription}`)),
90
+
);
91
+
console.error(`found in ${loc.absolutePath}`);
92
+
93
+
for (const issue of issues) {
94
+
console.log(`- ${issue.message} at .${issue.path.join('.')}`);
95
+
}
96
+
97
+
process.exit(1);
98
+
}
99
+
100
+
return result.value;
101
+
};
102
+
103
+
const writeLexicon = async (
104
+
outdir: string,
105
+
nsid: string,
106
+
doc: LexiconDoc,
107
+
prettierConfig: prettier.Options | null,
108
+
): Promise<void> => {
109
+
const nsidPath = nsid.replaceAll('.', '/');
110
+
const target = path.join(outdir, `${nsidPath}.json`);
111
+
const dirname = path.dirname(target);
112
+
113
+
const code = await prettier.format(JSON.stringify(doc, null, 2), {
114
+
...(prettierConfig ?? {}),
115
+
parser: 'json',
116
+
});
117
+
118
+
await fs.mkdir(dirname, { recursive: true });
119
+
await fs.writeFile(target, code);
120
+
};
121
+
122
+
/**
123
+
* pulls lexicon documents from a git repository source
124
+
* @param source git source configuration
125
+
* @returns pulled lexicons and commit hash
126
+
*/
127
+
const pullGitSource = async (source: SourceConfig & { type: 'git' }): Promise<PullResult> => {
128
+
const tempParent = await fs.mkdtemp(path.join(os.tmpdir(), 'lex-cli-pull-'));
129
+
130
+
const cloneDir = path.join(tempParent, 'repo');
131
+
132
+
try {
133
+
await runGit(
134
+
[
135
+
'clone',
136
+
'--filter=blob:none',
137
+
'--depth',
138
+
'1',
139
+
'--sparse',
140
+
...(source.ref ? ['--branch', source.ref, '--single-branch'] : []),
141
+
source.remote,
142
+
cloneDir,
143
+
],
144
+
{ timeoutMs: 60_000 },
145
+
);
146
+
} catch (err) {
147
+
if (err instanceof GitError) {
148
+
console.error(pc.bold(pc.red(`git clone failed for ${source.remote}:`)));
149
+
console.error(err.stderr || err.message);
150
+
process.exit(1);
151
+
}
152
+
153
+
throw err;
154
+
}
155
+
156
+
try {
157
+
await runGit(['-C', cloneDir, 'sparse-checkout', 'set', '--no-cone', ...source.pattern], {
158
+
timeoutMs: 30_000,
159
+
});
160
+
} catch (err) {
161
+
if (err instanceof GitError) {
162
+
console.error(pc.bold(pc.red(`git sparse-checkout failed for ${source.remote}:`)));
163
+
console.error(err.stderr || err.message);
164
+
process.exit(1);
165
+
}
166
+
167
+
throw err;
168
+
}
169
+
170
+
const pulled = new Map<string, PulledLexicon>();
171
+
172
+
for await (const filename of fs.glob(source.pattern, { cwd: cloneDir })) {
173
+
const absolute = path.join(cloneDir, filename);
174
+
const stat = await fs.stat(absolute);
175
+
176
+
if (!stat.isFile()) {
177
+
continue;
178
+
}
179
+
180
+
const location: SourceLocation = {
181
+
absolutePath: absolute,
182
+
relativePath: filename,
183
+
sourceDescription: source.remote,
184
+
};
185
+
186
+
const doc = await parseLexiconFile(location);
187
+
188
+
pulled.set(doc.id, { nsid: doc.id, doc, location });
189
+
}
190
+
191
+
// get the commit hash
192
+
let rev: string;
193
+
try {
194
+
const result = await runGit(['-C', cloneDir, 'rev-parse', 'HEAD'], { timeoutMs: 10_000 });
195
+
rev = result.stdout.trim();
196
+
} catch (err) {
197
+
if (err instanceof GitError) {
198
+
console.error(pc.bold(pc.red(`git rev-parse failed for ${source.remote}:`)));
199
+
console.error(err.stderr || err.message);
200
+
process.exit(1);
201
+
}
202
+
203
+
throw err;
204
+
}
205
+
206
+
await fs.rm(tempParent, { recursive: true, force: true });
207
+
208
+
return { pulled, rev };
209
+
};
210
+
211
+
const pullSource = async (source: SourceConfig): Promise<PullResult> => {
212
+
switch (source.type) {
213
+
case 'git': {
214
+
return pullGitSource(source);
215
+
}
216
+
}
217
+
};
218
+
219
+
const writeSourceReadme = async (
220
+
outdir: string,
221
+
revisions: SourceRevision[],
222
+
prettierConfig: prettier.Options | null,
223
+
): Promise<void> => {
224
+
const lines = [
225
+
'# lexicon sources',
226
+
'',
227
+
'this directory contains lexicon documents pulled from the following sources:',
228
+
'',
229
+
];
230
+
231
+
for (const { source, rev } of revisions) {
232
+
switch (source.type) {
233
+
case 'git': {
234
+
lines.push(`- ${source.remote}${source.ref ? ` (ref: ${source.ref})` : ``}`);
235
+
lines.push(` - commit: ${rev}`);
236
+
break;
237
+
}
238
+
}
239
+
}
240
+
241
+
lines.push('');
242
+
243
+
const content = lines.join('\n');
244
+
const formatted = await prettier.format(content, {
245
+
...(prettierConfig ?? {}),
246
+
parser: 'markdown',
247
+
});
248
+
249
+
await fs.writeFile(path.join(outdir, 'README.md'), formatted);
250
+
};
251
+
252
+
/**
253
+
* pulls lexicon documents from configured sources and writes them to disk using nsid-based paths.
254
+
* @param config normalized lex-cli configuration
255
+
*/
256
+
export const runPull = async (config: NormalizedConfig): Promise<void> => {
257
+
const pullConfig = ensurePullConfig(config);
258
+
const outdir = path.resolve(config.root, pullConfig.outdir);
259
+
const prettierConfig = await prettier.resolveConfig(config.root, { editorconfig: true });
260
+
261
+
const seen = new Map<string, SourceLocation>();
262
+
const collected: PulledLexicon[] = [];
263
+
const sourceRevisions: SourceRevision[] = [];
264
+
265
+
for (const source of pullConfig.sources) {
266
+
const result = await pullSource(source);
267
+
268
+
sourceRevisions.push({ source, rev: result.rev });
269
+
270
+
for (const [nsid, entry] of result.pulled) {
271
+
const existing = seen.get(nsid);
272
+
273
+
if (existing) {
274
+
console.error(pc.bold(pc.red(`duplicate lexicon "${nsid}"`)));
275
+
console.error(`- found ${entry.location.relativePath} from ${entry.location.sourceDescription}`);
276
+
console.error(` at ${entry.location.absolutePath}`);
277
+
console.error(`- already found ${existing.relativePath} from ${existing.sourceDescription}`);
278
+
console.error(` at ${existing.absolutePath}`);
279
+
process.exit(1);
280
+
}
281
+
282
+
seen.set(nsid, entry.location);
283
+
collected.push(entry);
284
+
}
285
+
}
286
+
287
+
if (pullConfig.clean) {
288
+
await fs.rm(outdir, { recursive: true, force: true });
289
+
}
290
+
291
+
await fs.mkdir(outdir, { recursive: true });
292
+
293
+
for (const entry of collected) {
294
+
await writeLexicon(outdir, entry.nsid, entry.doc, prettierConfig);
295
+
}
296
+
297
+
await writeSourceReadme(outdir, sourceRevisions, prettierConfig);
298
+
};
-96
scripts/pull-bluemoji-lexicons.js
-96
scripts/pull-bluemoji-lexicons.js
···
1
-
import * as path from 'node:path';
2
-
import * as fs from 'node:fs/promises';
3
-
4
-
import { untar } from '@mary/tar';
5
-
import prettier from 'prettier';
6
-
7
-
const config = {
8
-
repo: `aendra-rininsland/bluemoji`,
9
-
path: `schema/`,
10
-
out: `lexdocs/bluemoji/`,
11
-
};
12
-
13
-
async function main() {
14
-
const prettierConfig = await prettier.resolveConfig(process.cwd() + '/foo', { editorconfig: true });
15
-
16
-
let sha;
17
-
{
18
-
console.log(`retrieving latest commit`);
19
-
const response = await fetch(`https://api.github.com/repos/${config.repo}/commits?path=${config.path}/`);
20
-
21
-
if (!response.ok) {
22
-
console.log(` response error ${response.status}`);
23
-
return;
24
-
}
25
-
26
-
const json = await response.json();
27
-
const latest = json[0];
28
-
29
-
if (!latest) {
30
-
console.log(` latest commit missing?`);
31
-
return;
32
-
}
33
-
34
-
sha = latest.sha;
35
-
console.log(` got ${sha}`);
36
-
}
37
-
38
-
const tmpdir = `lexicons-tmp/`;
39
-
40
-
{
41
-
console.log(`retrieving zip file`);
42
-
const response = await fetch(`https://github.com/${config.repo}/archive/${sha}.tar.gz`);
43
-
44
-
if (!response.ok) {
45
-
console.log(` response error ${response.status}`);
46
-
return;
47
-
}
48
-
49
-
const reponame = config.repo.replace(/^.*?\//, '');
50
-
const basename = `${reponame}-${sha}/${config.path}`;
51
-
52
-
const ds = new DecompressionStream('gzip');
53
-
const stream = response.body.pipeThrough(ds);
54
-
55
-
const promises = [];
56
-
57
-
console.log(` reading`);
58
-
for await (const entry of untar(stream)) {
59
-
if (entry.type === 'file' && entry.name.startsWith(basename) && entry.name.endsWith('.json')) {
60
-
const name = entry.name.slice(basename.length);
61
-
const basedir = tmpdir + path.dirname(name);
62
-
63
-
const code = await entry.text();
64
-
65
-
const promise = (async () => {
66
-
const formatted = await prettier.format(code, { ...prettierConfig, parser: 'json' });
67
-
68
-
await fs.mkdir(basedir, { recursive: true });
69
-
await fs.writeFile(tmpdir + name, formatted);
70
-
})();
71
-
72
-
promises.push(promise);
73
-
}
74
-
}
75
-
76
-
console.log(` flushing writes`);
77
-
await Promise.all(promises);
78
-
}
79
-
80
-
{
81
-
const source = `https://github.com/${config.repo}/tree/${sha}/${config.path}\n`;
82
-
83
-
console.log(`writing readme file`);
84
-
85
-
await fs.writeFile(tmpdir + `README.md`, source);
86
-
}
87
-
88
-
{
89
-
console.log(`moving folder`);
90
-
91
-
await fs.rm(config.out, { recursive: true, force: true });
92
-
await fs.rename(tmpdir, config.out);
93
-
}
94
-
}
95
-
96
-
await main();
-96
scripts/pull-frontpage-lexicons.js
-96
scripts/pull-frontpage-lexicons.js
···
1
-
import * as path from 'node:path';
2
-
import * as fs from 'node:fs/promises';
3
-
4
-
import { untar } from '@mary/tar';
5
-
import prettier from 'prettier';
6
-
7
-
const config = {
8
-
repo: `likeandscribe/frontpage`,
9
-
path: `lexicons/fyi/unravel/frontpage/`,
10
-
out: `lexdocs/frontpage/`,
11
-
};
12
-
13
-
async function main() {
14
-
const prettierConfig = await prettier.resolveConfig(process.cwd() + '/foo', { editorconfig: true });
15
-
16
-
let sha;
17
-
{
18
-
console.log(`retrieving latest commit`);
19
-
const response = await fetch(`https://api.github.com/repos/${config.repo}/commits?path=${config.path}/`);
20
-
21
-
if (!response.ok) {
22
-
console.log(` response error ${response.status}`);
23
-
return;
24
-
}
25
-
26
-
const json = await response.json();
27
-
const latest = json[0];
28
-
29
-
if (!latest) {
30
-
console.log(` latest commit missing?`);
31
-
return;
32
-
}
33
-
34
-
sha = latest.sha;
35
-
console.log(` got ${sha}`);
36
-
}
37
-
38
-
const tmpdir = `lexicons-tmp/`;
39
-
40
-
{
41
-
console.log(`retrieving zip file`);
42
-
const response = await fetch(`https://github.com/${config.repo}/archive/${sha}.tar.gz`);
43
-
44
-
if (!response.ok) {
45
-
console.log(` response error ${response.status}`);
46
-
return;
47
-
}
48
-
49
-
const reponame = config.repo.replace(/^.*?\//, '');
50
-
const basename = `${reponame}-${sha}/${config.path}`;
51
-
52
-
const ds = new DecompressionStream('gzip');
53
-
const stream = response.body.pipeThrough(ds);
54
-
55
-
const promises = [];
56
-
57
-
console.log(` reading`);
58
-
for await (const entry of untar(stream)) {
59
-
if (entry.type === 'file' && entry.name.startsWith(basename) && entry.name.endsWith('.json')) {
60
-
const name = entry.name.slice(basename.length);
61
-
const basedir = tmpdir + path.dirname(name);
62
-
63
-
const code = await entry.text();
64
-
65
-
const promise = (async () => {
66
-
const formatted = await prettier.format(code, { ...prettierConfig, parser: 'json' });
67
-
68
-
await fs.mkdir(basedir, { recursive: true });
69
-
await fs.writeFile(tmpdir + name, formatted);
70
-
})();
71
-
72
-
promises.push(promise);
73
-
}
74
-
}
75
-
76
-
console.log(` flushing writes`);
77
-
await Promise.all(promises);
78
-
}
79
-
80
-
{
81
-
const source = `https://github.com/${config.repo}/tree/${sha}/${config.path}\n`;
82
-
83
-
console.log(`writing readme file`);
84
-
85
-
await fs.writeFile(tmpdir + `README.md`, source);
86
-
}
87
-
88
-
{
89
-
console.log(`moving folder`);
90
-
91
-
await fs.rm(config.out, { recursive: true, force: true });
92
-
await fs.rename(tmpdir, config.out);
93
-
}
94
-
}
95
-
96
-
await main();
-96
scripts/pull-leaflet-lexicons.js
-96
scripts/pull-leaflet-lexicons.js
···
1
-
import * as path from 'node:path';
2
-
import * as fs from 'node:fs/promises';
3
-
4
-
import { untar } from '@mary/tar';
5
-
import prettier from 'prettier';
6
-
7
-
const config = {
8
-
repo: `hyperlink-academy/leaflet`,
9
-
path: `lexicons/pub/leaflet/`,
10
-
out: `lexdocs/leaflet/`,
11
-
};
12
-
13
-
async function main() {
14
-
const prettierConfig = await prettier.resolveConfig(process.cwd() + '/foo', { editorconfig: true });
15
-
16
-
let sha;
17
-
{
18
-
console.log(`retrieving latest commit`);
19
-
const response = await fetch(`https://api.github.com/repos/${config.repo}/commits?path=${config.path}/`);
20
-
21
-
if (!response.ok) {
22
-
console.log(` response error ${response.status}`);
23
-
return;
24
-
}
25
-
26
-
const json = await response.json();
27
-
const latest = json[0];
28
-
29
-
if (!latest) {
30
-
console.log(` latest commit missing?`);
31
-
return;
32
-
}
33
-
34
-
sha = latest.sha;
35
-
console.log(` got ${sha}`);
36
-
}
37
-
38
-
const tmpdir = `lexicons-tmp/`;
39
-
40
-
{
41
-
console.log(`retrieving zip file`);
42
-
const response = await fetch(`https://github.com/${config.repo}/archive/${sha}.tar.gz`);
43
-
44
-
if (!response.ok) {
45
-
console.log(` response error ${response.status}`);
46
-
return;
47
-
}
48
-
49
-
const reponame = config.repo.replace(/^.*?\//, '');
50
-
const basename = `${reponame}-${sha}/${config.path}`;
51
-
52
-
const ds = new DecompressionStream('gzip');
53
-
const stream = response.body.pipeThrough(ds);
54
-
55
-
const promises = [];
56
-
57
-
console.log(` reading`);
58
-
for await (const entry of untar(stream)) {
59
-
if (entry.type === 'file' && entry.name.startsWith(basename) && entry.name.endsWith('.json')) {
60
-
const name = entry.name.slice(basename.length);
61
-
const basedir = tmpdir + path.dirname(name);
62
-
63
-
const code = await entry.text();
64
-
65
-
const promise = (async () => {
66
-
const formatted = await prettier.format(code, { ...prettierConfig, parser: 'json' });
67
-
68
-
await fs.mkdir(basedir, { recursive: true });
69
-
await fs.writeFile(tmpdir + name, formatted);
70
-
})();
71
-
72
-
promises.push(promise);
73
-
}
74
-
}
75
-
76
-
console.log(` flushing writes`);
77
-
await Promise.all(promises);
78
-
}
79
-
80
-
{
81
-
const source = `https://github.com/${config.repo}/tree/${sha}/${config.path}\n`;
82
-
83
-
console.log(`writing readme file`);
84
-
85
-
await fs.writeFile(tmpdir + `README.md`, source);
86
-
}
87
-
88
-
{
89
-
console.log(`moving folder`);
90
-
91
-
await fs.rm(config.out, { recursive: true, force: true });
92
-
await fs.rename(tmpdir, config.out);
93
-
}
94
-
}
95
-
96
-
await main();
-96
scripts/pull-lexcom-lexicons.js
-96
scripts/pull-lexcom-lexicons.js
···
1
-
import * as path from 'node:path';
2
-
import * as fs from 'node:fs/promises';
3
-
4
-
import { untar } from '@mary/tar';
5
-
import prettier from 'prettier';
6
-
7
-
const config = {
8
-
repo: `lexicon-community/lexicon`,
9
-
path: `community/lexicon/`,
10
-
out: `lexdocs/lexcom/`,
11
-
};
12
-
13
-
async function main() {
14
-
const prettierConfig = await prettier.resolveConfig(process.cwd() + '/foo', { editorconfig: true });
15
-
16
-
let sha;
17
-
{
18
-
console.log(`retrieving latest commit`);
19
-
const response = await fetch(`https://api.github.com/repos/${config.repo}/commits?path=${config.path}/`);
20
-
21
-
if (!response.ok) {
22
-
console.log(` response error ${response.status}`);
23
-
return;
24
-
}
25
-
26
-
const json = await response.json();
27
-
const latest = json[0];
28
-
29
-
if (!latest) {
30
-
console.log(` latest commit missing?`);
31
-
return;
32
-
}
33
-
34
-
sha = latest.sha;
35
-
console.log(` got ${sha}`);
36
-
}
37
-
38
-
const tmpdir = `lexicons-tmp/`;
39
-
40
-
{
41
-
console.log(`retrieving zip file`);
42
-
const response = await fetch(`https://github.com/${config.repo}/archive/${sha}.tar.gz`);
43
-
44
-
if (!response.ok) {
45
-
console.log(` response error ${response.status}`);
46
-
return;
47
-
}
48
-
49
-
const reponame = config.repo.replace(/^.*?\//, '');
50
-
const basename = `${reponame}-${sha}/${config.path}`;
51
-
52
-
const ds = new DecompressionStream('gzip');
53
-
const stream = response.body.pipeThrough(ds);
54
-
55
-
const promises = [];
56
-
57
-
console.log(` reading`);
58
-
for await (const entry of untar(stream)) {
59
-
if (entry.type === 'file' && entry.name.startsWith(basename) && entry.name.endsWith('.json')) {
60
-
const name = entry.name.slice(basename.length);
61
-
const basedir = tmpdir + path.dirname(name);
62
-
63
-
const code = await entry.text();
64
-
65
-
const promise = (async () => {
66
-
const formatted = await prettier.format(code, { ...prettierConfig, parser: 'json' });
67
-
68
-
await fs.mkdir(basedir, { recursive: true });
69
-
await fs.writeFile(tmpdir + name, formatted);
70
-
})();
71
-
72
-
promises.push(promise);
73
-
}
74
-
}
75
-
76
-
console.log(` flushing writes`);
77
-
await Promise.all(promises);
78
-
}
79
-
80
-
{
81
-
const source = `https://github.com/${config.repo}/tree/${sha}/${config.path}\n`;
82
-
83
-
console.log(`writing readme file`);
84
-
85
-
await fs.writeFile(tmpdir + `README.md`, source);
86
-
}
87
-
88
-
{
89
-
console.log(`moving folder`);
90
-
91
-
await fs.rm(config.out, { recursive: true, force: true });
92
-
await fs.rename(tmpdir, config.out);
93
-
}
94
-
}
95
-
96
-
await main();
-96
scripts/pull-lexicons.js
-96
scripts/pull-lexicons.js
···
1
-
import * as path from 'node:path';
2
-
import * as fs from 'node:fs/promises';
3
-
4
-
import { untar } from '@mary/tar';
5
-
import prettier from 'prettier';
6
-
7
-
const config = {
8
-
repo: `bluesky-social/atproto`,
9
-
path: `lexicons/`,
10
-
out: `lexdocs/bluesky/`,
11
-
};
12
-
13
-
async function main() {
14
-
const prettierConfig = await prettier.resolveConfig(process.cwd() + '/foo', { editorconfig: true });
15
-
16
-
let sha;
17
-
{
18
-
console.log(`retrieving latest commit`);
19
-
const response = await fetch(`https://api.github.com/repos/${config.repo}/commits?path=${config.path}/`);
20
-
21
-
if (!response.ok) {
22
-
console.log(` response error ${response.status}`);
23
-
return;
24
-
}
25
-
26
-
const json = await response.json();
27
-
const latest = json[0];
28
-
29
-
if (!latest) {
30
-
console.log(` latest commit missing?`);
31
-
return;
32
-
}
33
-
34
-
sha = latest.sha;
35
-
console.log(` got ${sha}`);
36
-
}
37
-
38
-
const tmpdir = `lexicons-tmp/`;
39
-
40
-
{
41
-
console.log(`retrieving zip file`);
42
-
const response = await fetch(`https://github.com/${config.repo}/archive/${sha}.tar.gz`);
43
-
44
-
if (!response.ok) {
45
-
console.log(` response error ${response.status}`);
46
-
return;
47
-
}
48
-
49
-
const reponame = config.repo.replace(/^.*?\//, '');
50
-
const basename = `${reponame}-${sha}/${config.path}`;
51
-
52
-
const ds = new DecompressionStream('gzip');
53
-
const stream = response.body.pipeThrough(ds);
54
-
55
-
const promises = [];
56
-
57
-
console.log(` reading`);
58
-
for await (const entry of untar(stream)) {
59
-
if (entry.type === 'file' && entry.name.startsWith(basename) && entry.name.endsWith('.json')) {
60
-
const name = entry.name.slice(basename.length);
61
-
const basedir = tmpdir + path.dirname(name);
62
-
63
-
const code = await entry.text();
64
-
65
-
const promise = (async () => {
66
-
const formatted = await prettier.format(code, { ...prettierConfig, parser: 'json' });
67
-
68
-
await fs.mkdir(basedir, { recursive: true });
69
-
await fs.writeFile(tmpdir + name, formatted);
70
-
})();
71
-
72
-
promises.push(promise);
73
-
}
74
-
}
75
-
76
-
console.log(` flushing writes`);
77
-
await Promise.all(promises);
78
-
}
79
-
80
-
{
81
-
const source = `https://github.com/${config.repo}/tree/${sha}/${config.path}\n`;
82
-
83
-
console.log(`writing readme file`);
84
-
85
-
await fs.writeFile(tmpdir + `README.md`, source);
86
-
}
87
-
88
-
{
89
-
console.log(`moving folder`);
90
-
91
-
await fs.rm(config.out, { recursive: true, force: true });
92
-
await fs.rename(tmpdir, config.out);
93
-
}
94
-
}
95
-
96
-
await main();
-96
scripts/pull-tangled-lexicons.js
-96
scripts/pull-tangled-lexicons.js
···
1
-
import * as path from 'node:path';
2
-
import * as fs from 'node:fs/promises';
3
-
4
-
import { untar } from '@mary/tar';
5
-
import prettier from 'prettier';
6
-
7
-
const config = {
8
-
repo: `mary-ext/tangled.sh-mirror`,
9
-
path: `lexicons/`,
10
-
out: `lexdocs/tangled/`,
11
-
};
12
-
13
-
async function main() {
14
-
const prettierConfig = await prettier.resolveConfig(process.cwd() + '/foo', { editorconfig: true });
15
-
16
-
let sha;
17
-
{
18
-
console.log(`retrieving latest commit`);
19
-
const response = await fetch(`https://api.github.com/repos/${config.repo}/commits?path=${config.path}/`);
20
-
21
-
if (!response.ok) {
22
-
console.log(` response error ${response.status}`);
23
-
return;
24
-
}
25
-
26
-
const json = await response.json();
27
-
const latest = json[0];
28
-
29
-
if (!latest) {
30
-
console.log(` latest commit missing?`);
31
-
return;
32
-
}
33
-
34
-
sha = latest.sha;
35
-
console.log(` got ${sha}`);
36
-
}
37
-
38
-
const tmpdir = `lexicons-tmp/`;
39
-
40
-
{
41
-
console.log(`retrieving zip file`);
42
-
const response = await fetch(`https://github.com/${config.repo}/archive/${sha}.tar.gz`);
43
-
44
-
if (!response.ok) {
45
-
console.log(` response error ${response.status}`);
46
-
return;
47
-
}
48
-
49
-
const reponame = config.repo.replace(/^.*?\//, '');
50
-
const basename = `${reponame}-${sha}/${config.path}`;
51
-
52
-
const ds = new DecompressionStream('gzip');
53
-
const stream = response.body.pipeThrough(ds);
54
-
55
-
const promises = [];
56
-
57
-
console.log(` reading`);
58
-
for await (const entry of untar(stream)) {
59
-
if (entry.type === 'file' && entry.name.startsWith(basename) && entry.name.endsWith('.json')) {
60
-
const name = entry.name.slice(basename.length);
61
-
const basedir = tmpdir + path.dirname(name);
62
-
63
-
const code = await entry.text();
64
-
65
-
const promise = (async () => {
66
-
const formatted = await prettier.format(code, { ...prettierConfig, parser: 'json' });
67
-
68
-
await fs.mkdir(basedir, { recursive: true });
69
-
await fs.writeFile(tmpdir + name, formatted);
70
-
})();
71
-
72
-
promises.push(promise);
73
-
}
74
-
}
75
-
76
-
console.log(` flushing writes`);
77
-
await Promise.all(promises);
78
-
}
79
-
80
-
{
81
-
const source = `https://github.com/${config.repo}/tree/${sha}/${config.path}\n`;
82
-
83
-
console.log(`writing readme file`);
84
-
85
-
await fs.writeFile(tmpdir + `README.md`, source);
86
-
}
87
-
88
-
{
89
-
console.log(`moving folder`);
90
-
91
-
await fs.rm(config.out, { recursive: true, force: true });
92
-
await fs.rename(tmpdir, config.out);
93
-
}
94
-
}
95
-
96
-
await main();
-96
scripts/pull-whtwnd-lexicons.js
-96
scripts/pull-whtwnd-lexicons.js
···
1
-
import * as path from 'node:path';
2
-
import * as fs from 'node:fs/promises';
3
-
4
-
import { untar } from '@mary/tar';
5
-
import prettier from 'prettier';
6
-
7
-
const config = {
8
-
repo: `whtwnd/whitewind-blog`,
9
-
path: `lexicons/com/whtwnd/`,
10
-
out: `lexdocs/whtwnd/`,
11
-
};
12
-
13
-
async function main() {
14
-
const prettierConfig = await prettier.resolveConfig(process.cwd() + '/foo', { editorconfig: true });
15
-
16
-
let sha;
17
-
{
18
-
console.log(`retrieving latest commit`);
19
-
const response = await fetch(`https://api.github.com/repos/${config.repo}/commits?path=${config.path}/`);
20
-
21
-
if (!response.ok) {
22
-
console.log(` response error ${response.status}`);
23
-
return;
24
-
}
25
-
26
-
const json = await response.json();
27
-
const latest = json[0];
28
-
29
-
if (!latest) {
30
-
console.log(` latest commit missing?`);
31
-
return;
32
-
}
33
-
34
-
sha = latest.sha;
35
-
console.log(` got ${sha}`);
36
-
}
37
-
38
-
const tmpdir = `lexicons-tmp/`;
39
-
40
-
{
41
-
console.log(`retrieving zip file`);
42
-
const response = await fetch(`https://github.com/${config.repo}/archive/${sha}.tar.gz`);
43
-
44
-
if (!response.ok) {
45
-
console.log(` response error ${response.status}`);
46
-
return;
47
-
}
48
-
49
-
const reponame = config.repo.replace(/^.*?\//, '');
50
-
const basename = `${reponame}-${sha}/${config.path}`;
51
-
52
-
const ds = new DecompressionStream('gzip');
53
-
const stream = response.body.pipeThrough(ds);
54
-
55
-
const promises = [];
56
-
57
-
console.log(` reading`);
58
-
for await (const entry of untar(stream)) {
59
-
if (entry.type === 'file' && entry.name.startsWith(basename) && entry.name.endsWith('.json')) {
60
-
const name = entry.name.slice(basename.length);
61
-
const basedir = tmpdir + path.dirname(name);
62
-
63
-
const code = await entry.text();
64
-
65
-
const promise = (async () => {
66
-
const formatted = await prettier.format(code, { ...prettierConfig, parser: 'json' });
67
-
68
-
await fs.mkdir(basedir, { recursive: true });
69
-
await fs.writeFile(tmpdir + name, formatted);
70
-
})();
71
-
72
-
promises.push(promise);
73
-
}
74
-
}
75
-
76
-
console.log(` flushing writes`);
77
-
await Promise.all(promises);
78
-
}
79
-
80
-
{
81
-
const source = `https://github.com/${config.repo}/tree/${sha}/${config.path}\n`;
82
-
83
-
console.log(`writing readme file`);
84
-
85
-
await fs.writeFile(tmpdir + `README.md`, source);
86
-
}
87
-
88
-
{
89
-
console.log(`moving folder`);
90
-
91
-
await fs.rm(config.out, { recursive: true, force: true });
92
-
await fs.rename(tmpdir, config.out);
93
-
}
94
-
}
95
-
96
-
await main();