@atcute/bluesky 1.0.7 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +63 -2
  2. package/lib/lexicons.ts +2842 -0
  3. package/package.json +9 -5
@@ -0,0 +1,2842 @@
1
+ /* eslint-disable */
2
+ // This file is automatically generated, do not edit!
3
+
4
+ /**
5
+ * @module
6
+ * Contains type declarations for Bluesky lexicons
7
+ */
8
+
9
+ import '@atcute/client/lexicons';
10
+
11
+ declare module '@atcute/client/lexicons' {
12
+ namespace AppBskyActorDefs {
13
+ interface AdultContentPref {
14
+ [Brand.Type]?: 'app.bsky.actor.defs#adultContentPref';
15
+ /** @default false */
16
+ enabled: boolean;
17
+ }
18
+ /** If set, an active progress guide. Once completed, can be set to undefined. Should have unspecced fields tracking progress. */
19
+ interface BskyAppProgressGuide {
20
+ [Brand.Type]?: 'app.bsky.actor.defs#bskyAppProgressGuide';
21
+ /** Maximum string length: 100 */
22
+ guide: string;
23
+ }
24
+ /** A grab bag of state that's specific to the bsky.app program. Third-party apps shouldn't use this. */
25
+ interface BskyAppStatePref {
26
+ [Brand.Type]?: 'app.bsky.actor.defs#bskyAppStatePref';
27
+ activeProgressGuide?: BskyAppProgressGuide;
28
+ /**
29
+ * Storage for NUXs the user has encountered. \
30
+ * Maximum array length: 100
31
+ */
32
+ nuxs?: AppBskyActorDefs.Nux[];
33
+ /**
34
+ * An array of tokens which identify nudges (modals, popups, tours, highlight dots) that should be shown to the user. \
35
+ * Maximum array length: 1000 \
36
+ * Maximum string length: 100
37
+ */
38
+ queuedNudges?: string[];
39
+ }
40
+ interface ContentLabelPref {
41
+ [Brand.Type]?: 'app.bsky.actor.defs#contentLabelPref';
42
+ label: string;
43
+ visibility: 'hide' | 'ignore' | 'show' | 'warn' | (string & {});
44
+ /** Which labeler does this preference apply to? If undefined, applies globally. */
45
+ labelerDid?: At.DID;
46
+ }
47
+ interface FeedViewPref {
48
+ [Brand.Type]?: 'app.bsky.actor.defs#feedViewPref';
49
+ /** The URI of the feed, or an identifier which describes the feed. */
50
+ feed: string;
51
+ /** Hide quote posts in the feed. */
52
+ hideQuotePosts?: boolean;
53
+ /** Hide replies in the feed. */
54
+ hideReplies?: boolean;
55
+ /** Hide replies in the feed if they do not have this number of likes. */
56
+ hideRepliesByLikeCount?: number;
57
+ /**
58
+ * Hide replies in the feed if they are not by followed users.
59
+ * @default true
60
+ */
61
+ hideRepliesByUnfollowed?: boolean;
62
+ /** Hide reposts in the feed. */
63
+ hideReposts?: boolean;
64
+ }
65
+ interface HiddenPostsPref {
66
+ [Brand.Type]?: 'app.bsky.actor.defs#hiddenPostsPref';
67
+ /** A list of URIs of posts the account owner has hidden. */
68
+ items: At.Uri[];
69
+ }
70
+ interface InterestsPref {
71
+ [Brand.Type]?: 'app.bsky.actor.defs#interestsPref';
72
+ /**
73
+ * A list of tags which describe the account owner's interests gathered during onboarding. \
74
+ * Maximum array length: 100 \
75
+ * Maximum string length: 640 \
76
+ * Maximum grapheme length: 64
77
+ */
78
+ tags: string[];
79
+ }
80
+ /** The subject's followers whom you also follow */
81
+ interface KnownFollowers {
82
+ [Brand.Type]?: 'app.bsky.actor.defs#knownFollowers';
83
+ count: number;
84
+ /**
85
+ * Minimum array length: 0 \
86
+ * Maximum array length: 5
87
+ */
88
+ followers: ProfileViewBasic[];
89
+ }
90
+ interface LabelerPrefItem {
91
+ [Brand.Type]?: 'app.bsky.actor.defs#labelerPrefItem';
92
+ did: At.DID;
93
+ }
94
+ interface LabelersPref {
95
+ [Brand.Type]?: 'app.bsky.actor.defs#labelersPref';
96
+ labelers: LabelerPrefItem[];
97
+ }
98
+ /** A word that the account owner has muted. */
99
+ interface MutedWord {
100
+ [Brand.Type]?: 'app.bsky.actor.defs#mutedWord';
101
+ /** The intended targets of the muted word. */
102
+ targets: AppBskyActorDefs.MutedWordTarget[];
103
+ /**
104
+ * The muted word itself. \
105
+ * Maximum string length: 10000 \
106
+ * Maximum grapheme length: 1000
107
+ */
108
+ value: string;
109
+ /**
110
+ * Groups of users to apply the muted word to. If undefined, applies to all users.
111
+ * @default "all"
112
+ */
113
+ actorTarget?: 'all' | 'exclude-following' | (string & {});
114
+ /** The date and time at which the muted word will expire and no longer be applied. */
115
+ expiresAt?: string;
116
+ id?: string;
117
+ }
118
+ interface MutedWordsPref {
119
+ [Brand.Type]?: 'app.bsky.actor.defs#mutedWordsPref';
120
+ /** A list of words the account owner has muted. */
121
+ items: AppBskyActorDefs.MutedWord[];
122
+ }
123
+ /**
124
+ * Maximum string length: 640 \
125
+ * Maximum grapheme length: 64
126
+ */
127
+ type MutedWordTarget = 'content' | 'tag' | (string & {});
128
+ /** A new user experiences (NUX) storage object */
129
+ interface Nux {
130
+ [Brand.Type]?: 'app.bsky.actor.defs#nux';
131
+ /** @default false */
132
+ completed: boolean;
133
+ /** Maximum string length: 100 */
134
+ id: string;
135
+ /**
136
+ * Arbitrary data for the NUX. The structure is defined by the NUX itself. Limited to 300 characters. \
137
+ * Maximum string length: 3000 \
138
+ * Maximum grapheme length: 300
139
+ */
140
+ data?: string;
141
+ /** The date and time at which the NUX will expire and should be considered completed. */
142
+ expiresAt?: string;
143
+ }
144
+ interface PersonalDetailsPref {
145
+ [Brand.Type]?: 'app.bsky.actor.defs#personalDetailsPref';
146
+ /** The birth date of account owner. */
147
+ birthDate?: string;
148
+ }
149
+ type Preferences = Brand.Union<
150
+ | AdultContentPref
151
+ | BskyAppStatePref
152
+ | ContentLabelPref
153
+ | FeedViewPref
154
+ | HiddenPostsPref
155
+ | InterestsPref
156
+ | LabelersPref
157
+ | MutedWordsPref
158
+ | PersonalDetailsPref
159
+ | SavedFeedsPref
160
+ | SavedFeedsPrefV2
161
+ | ThreadViewPref
162
+ >[];
163
+ interface ProfileAssociated {
164
+ [Brand.Type]?: 'app.bsky.actor.defs#profileAssociated';
165
+ chat?: ProfileAssociatedChat;
166
+ feedgens?: number;
167
+ labeler?: boolean;
168
+ lists?: number;
169
+ starterPacks?: number;
170
+ }
171
+ interface ProfileAssociatedChat {
172
+ [Brand.Type]?: 'app.bsky.actor.defs#profileAssociatedChat';
173
+ allowIncoming: 'all' | 'following' | 'none' | (string & {});
174
+ }
175
+ interface ProfileView {
176
+ [Brand.Type]?: 'app.bsky.actor.defs#profileView';
177
+ did: At.DID;
178
+ handle: At.Handle;
179
+ associated?: ProfileAssociated;
180
+ avatar?: string;
181
+ createdAt?: string;
182
+ /**
183
+ * Maximum string length: 2560 \
184
+ * Maximum grapheme length: 256
185
+ */
186
+ description?: string;
187
+ /**
188
+ * Maximum string length: 640 \
189
+ * Maximum grapheme length: 64
190
+ */
191
+ displayName?: string;
192
+ indexedAt?: string;
193
+ labels?: ComAtprotoLabelDefs.Label[];
194
+ viewer?: ViewerState;
195
+ }
196
+ interface ProfileViewBasic {
197
+ [Brand.Type]?: 'app.bsky.actor.defs#profileViewBasic';
198
+ did: At.DID;
199
+ handle: At.Handle;
200
+ associated?: ProfileAssociated;
201
+ avatar?: string;
202
+ createdAt?: string;
203
+ /**
204
+ * Maximum string length: 640 \
205
+ * Maximum grapheme length: 64
206
+ */
207
+ displayName?: string;
208
+ labels?: ComAtprotoLabelDefs.Label[];
209
+ viewer?: ViewerState;
210
+ }
211
+ interface ProfileViewDetailed {
212
+ [Brand.Type]?: 'app.bsky.actor.defs#profileViewDetailed';
213
+ did: At.DID;
214
+ handle: At.Handle;
215
+ associated?: ProfileAssociated;
216
+ avatar?: string;
217
+ banner?: string;
218
+ createdAt?: string;
219
+ /**
220
+ * Maximum string length: 2560 \
221
+ * Maximum grapheme length: 256
222
+ */
223
+ description?: string;
224
+ /**
225
+ * Maximum string length: 640 \
226
+ * Maximum grapheme length: 64
227
+ */
228
+ displayName?: string;
229
+ followersCount?: number;
230
+ followsCount?: number;
231
+ indexedAt?: string;
232
+ joinedViaStarterPack?: AppBskyGraphDefs.StarterPackViewBasic;
233
+ labels?: ComAtprotoLabelDefs.Label[];
234
+ pinnedPost?: ComAtprotoRepoStrongRef.Main;
235
+ postsCount?: number;
236
+ viewer?: ViewerState;
237
+ }
238
+ interface SavedFeed {
239
+ [Brand.Type]?: 'app.bsky.actor.defs#savedFeed';
240
+ id: string;
241
+ pinned: boolean;
242
+ type: 'feed' | 'list' | 'timeline' | (string & {});
243
+ value: string;
244
+ }
245
+ interface SavedFeedsPref {
246
+ [Brand.Type]?: 'app.bsky.actor.defs#savedFeedsPref';
247
+ pinned: At.Uri[];
248
+ saved: At.Uri[];
249
+ timelineIndex?: number;
250
+ }
251
+ interface SavedFeedsPrefV2 {
252
+ [Brand.Type]?: 'app.bsky.actor.defs#savedFeedsPrefV2';
253
+ items: AppBskyActorDefs.SavedFeed[];
254
+ }
255
+ interface ThreadViewPref {
256
+ [Brand.Type]?: 'app.bsky.actor.defs#threadViewPref';
257
+ /** Show followed users at the top of all replies. */
258
+ prioritizeFollowedUsers?: boolean;
259
+ /** Sorting mode for threads. */
260
+ sort?: 'most-likes' | 'newest' | 'oldest' | 'random' | (string & {});
261
+ }
262
+ /** Metadata about the requesting account's relationship with the subject account. Only has meaningful content for authed requests. */
263
+ interface ViewerState {
264
+ [Brand.Type]?: 'app.bsky.actor.defs#viewerState';
265
+ blockedBy?: boolean;
266
+ blocking?: At.Uri;
267
+ blockingByList?: AppBskyGraphDefs.ListViewBasic;
268
+ followedBy?: At.Uri;
269
+ following?: At.Uri;
270
+ knownFollowers?: KnownFollowers;
271
+ muted?: boolean;
272
+ mutedByList?: AppBskyGraphDefs.ListViewBasic;
273
+ }
274
+ }
275
+
276
+ /** Get private preferences attached to the current account. Expected use is synchronization between multiple devices, and import/export during account migration. Requires auth. */
277
+ namespace AppBskyActorGetPreferences {
278
+ type Input = undefined;
279
+ interface Output {
280
+ preferences: AppBskyActorDefs.Preferences;
281
+ }
282
+ }
283
+
284
+ /** Get detailed profile view of an actor. Does not require auth, but contains relevant metadata with auth. */
285
+ namespace AppBskyActorGetProfile {
286
+ interface Params {
287
+ /** Handle or DID of account to fetch profile of. */
288
+ actor: string;
289
+ }
290
+ type Input = undefined;
291
+ type Output = AppBskyActorDefs.ProfileViewDetailed;
292
+ }
293
+
294
+ /** Get detailed profile views of multiple actors. */
295
+ namespace AppBskyActorGetProfiles {
296
+ interface Params {
297
+ /** Maximum array length: 25 */
298
+ actors: string[];
299
+ }
300
+ type Input = undefined;
301
+ interface Output {
302
+ profiles: AppBskyActorDefs.ProfileViewDetailed[];
303
+ }
304
+ }
305
+
306
+ /** Get a list of suggested actors. Expected use is discovery of accounts to follow during new account onboarding. */
307
+ namespace AppBskyActorGetSuggestions {
308
+ interface Params {
309
+ cursor?: string;
310
+ /**
311
+ * Minimum: 1 \
312
+ * Maximum: 100
313
+ * @default 50
314
+ */
315
+ limit?: number;
316
+ }
317
+ type Input = undefined;
318
+ interface Output {
319
+ actors: AppBskyActorDefs.ProfileView[];
320
+ cursor?: string;
321
+ }
322
+ }
323
+
324
+ namespace AppBskyActorProfile {
325
+ /** A declaration of a Bluesky account profile. */
326
+ interface Record {
327
+ $type: 'app.bsky.actor.profile';
328
+ /** Small image to be displayed next to posts from account. AKA, 'profile picture' */
329
+ avatar?: At.Blob;
330
+ /** Larger horizontal image to display behind profile view. */
331
+ banner?: At.Blob;
332
+ createdAt?: string;
333
+ /**
334
+ * Free-form profile description text. \
335
+ * Maximum string length: 2560 \
336
+ * Maximum grapheme length: 256
337
+ */
338
+ description?: string;
339
+ /**
340
+ * Maximum string length: 640 \
341
+ * Maximum grapheme length: 64
342
+ */
343
+ displayName?: string;
344
+ joinedViaStarterPack?: ComAtprotoRepoStrongRef.Main;
345
+ /** Self-label values, specific to the Bluesky application, on the overall account. */
346
+ labels?: Brand.Union<ComAtprotoLabelDefs.SelfLabels>;
347
+ pinnedPost?: ComAtprotoRepoStrongRef.Main;
348
+ }
349
+ }
350
+
351
+ /** Set the private preferences attached to the account. */
352
+ namespace AppBskyActorPutPreferences {
353
+ interface Params {}
354
+ interface Input {
355
+ preferences: AppBskyActorDefs.Preferences;
356
+ }
357
+ type Output = undefined;
358
+ }
359
+
360
+ /** Find actors (profiles) matching search criteria. Does not require auth. */
361
+ namespace AppBskyActorSearchActors {
362
+ interface Params {
363
+ cursor?: string;
364
+ /**
365
+ * Minimum: 1 \
366
+ * Maximum: 100
367
+ * @default 25
368
+ */
369
+ limit?: number;
370
+ /** Search query string. Syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. */
371
+ q?: string;
372
+ /**
373
+ * DEPRECATED: use 'q' instead.
374
+ * @deprecated
375
+ */
376
+ term?: string;
377
+ }
378
+ type Input = undefined;
379
+ interface Output {
380
+ actors: AppBskyActorDefs.ProfileView[];
381
+ cursor?: string;
382
+ }
383
+ }
384
+
385
+ /** Find actor suggestions for a prefix search term. Expected use is for auto-completion during text field entry. Does not require auth. */
386
+ namespace AppBskyActorSearchActorsTypeahead {
387
+ interface Params {
388
+ /**
389
+ * Minimum: 1 \
390
+ * Maximum: 100
391
+ * @default 10
392
+ */
393
+ limit?: number;
394
+ /** Search query prefix; not a full query string. */
395
+ q?: string;
396
+ /**
397
+ * DEPRECATED: use 'q' instead.
398
+ * @deprecated
399
+ */
400
+ term?: string;
401
+ }
402
+ type Input = undefined;
403
+ interface Output {
404
+ actors: AppBskyActorDefs.ProfileViewBasic[];
405
+ }
406
+ }
407
+
408
+ namespace AppBskyEmbedDefs {
409
+ /** width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit. */
410
+ interface AspectRatio {
411
+ [Brand.Type]?: 'app.bsky.embed.defs#aspectRatio';
412
+ /** Minimum: 1 */
413
+ height: number;
414
+ /** Minimum: 1 */
415
+ width: number;
416
+ }
417
+ }
418
+
419
+ namespace AppBskyEmbedExternal {
420
+ /** A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post). */
421
+ interface Main {
422
+ [Brand.Type]?: 'app.bsky.embed.external';
423
+ external: External;
424
+ }
425
+ interface External {
426
+ [Brand.Type]?: 'app.bsky.embed.external#external';
427
+ description: string;
428
+ title: string;
429
+ uri: string;
430
+ thumb?: At.Blob;
431
+ }
432
+ interface View {
433
+ [Brand.Type]?: 'app.bsky.embed.external#view';
434
+ external: ViewExternal;
435
+ }
436
+ interface ViewExternal {
437
+ [Brand.Type]?: 'app.bsky.embed.external#viewExternal';
438
+ description: string;
439
+ title: string;
440
+ uri: string;
441
+ thumb?: string;
442
+ }
443
+ }
444
+
445
+ namespace AppBskyEmbedImages {
446
+ interface Main {
447
+ [Brand.Type]?: 'app.bsky.embed.images';
448
+ /** Maximum array length: 4 */
449
+ images: Image[];
450
+ }
451
+ interface Image {
452
+ [Brand.Type]?: 'app.bsky.embed.images#image';
453
+ /** Alt text description of the image, for accessibility. */
454
+ alt: string;
455
+ image: At.Blob;
456
+ aspectRatio?: AppBskyEmbedDefs.AspectRatio;
457
+ }
458
+ interface View {
459
+ [Brand.Type]?: 'app.bsky.embed.images#view';
460
+ /** Maximum array length: 4 */
461
+ images: ViewImage[];
462
+ }
463
+ interface ViewImage {
464
+ [Brand.Type]?: 'app.bsky.embed.images#viewImage';
465
+ /** Alt text description of the image, for accessibility. */
466
+ alt: string;
467
+ /** Fully-qualified URL where a large version of the image can be fetched. May or may not be the exact original blob. For example, CDN location provided by the App View. */
468
+ fullsize: string;
469
+ /** Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View. */
470
+ thumb: string;
471
+ aspectRatio?: AppBskyEmbedDefs.AspectRatio;
472
+ }
473
+ }
474
+
475
+ namespace AppBskyEmbedRecord {
476
+ interface Main {
477
+ [Brand.Type]?: 'app.bsky.embed.record';
478
+ record: ComAtprotoRepoStrongRef.Main;
479
+ }
480
+ interface View {
481
+ [Brand.Type]?: 'app.bsky.embed.record#view';
482
+ record: Brand.Union<
483
+ | ViewBlocked
484
+ | ViewDetached
485
+ | ViewNotFound
486
+ | ViewRecord
487
+ | AppBskyFeedDefs.GeneratorView
488
+ | AppBskyGraphDefs.ListView
489
+ | AppBskyGraphDefs.StarterPackViewBasic
490
+ | AppBskyLabelerDefs.LabelerView
491
+ >;
492
+ }
493
+ interface ViewBlocked {
494
+ [Brand.Type]?: 'app.bsky.embed.record#viewBlocked';
495
+ author: AppBskyFeedDefs.BlockedAuthor;
496
+ blocked: boolean;
497
+ uri: At.Uri;
498
+ }
499
+ interface ViewDetached {
500
+ [Brand.Type]?: 'app.bsky.embed.record#viewDetached';
501
+ detached: boolean;
502
+ uri: At.Uri;
503
+ }
504
+ interface ViewNotFound {
505
+ [Brand.Type]?: 'app.bsky.embed.record#viewNotFound';
506
+ notFound: boolean;
507
+ uri: At.Uri;
508
+ }
509
+ interface ViewRecord {
510
+ [Brand.Type]?: 'app.bsky.embed.record#viewRecord';
511
+ author: AppBskyActorDefs.ProfileViewBasic;
512
+ cid: At.CID;
513
+ indexedAt: string;
514
+ uri: At.Uri;
515
+ /** The record data itself. */
516
+ value: unknown;
517
+ embeds?: Brand.Union<
518
+ | AppBskyEmbedExternal.View
519
+ | AppBskyEmbedImages.View
520
+ | AppBskyEmbedRecord.View
521
+ | AppBskyEmbedRecordWithMedia.View
522
+ | AppBskyEmbedVideo.View
523
+ >[];
524
+ labels?: ComAtprotoLabelDefs.Label[];
525
+ likeCount?: number;
526
+ quoteCount?: number;
527
+ replyCount?: number;
528
+ repostCount?: number;
529
+ }
530
+ }
531
+
532
+ namespace AppBskyEmbedRecordWithMedia {
533
+ interface Main {
534
+ [Brand.Type]?: 'app.bsky.embed.recordWithMedia';
535
+ media: Brand.Union<AppBskyEmbedExternal.Main | AppBskyEmbedImages.Main | AppBskyEmbedVideo.Main>;
536
+ record: AppBskyEmbedRecord.Main;
537
+ }
538
+ interface View {
539
+ [Brand.Type]?: 'app.bsky.embed.recordWithMedia#view';
540
+ media: Brand.Union<AppBskyEmbedExternal.View | AppBskyEmbedImages.View | AppBskyEmbedVideo.View>;
541
+ record: AppBskyEmbedRecord.View;
542
+ }
543
+ }
544
+
545
+ namespace AppBskyEmbedVideo {
546
+ interface Main {
547
+ [Brand.Type]?: 'app.bsky.embed.video';
548
+ video: At.Blob;
549
+ /**
550
+ * Alt text description of the video, for accessibility. \
551
+ * Maximum string length: 10000 \
552
+ * Maximum grapheme length: 1000
553
+ */
554
+ alt?: string;
555
+ aspectRatio?: AppBskyEmbedDefs.AspectRatio;
556
+ /** Maximum array length: 20 */
557
+ captions?: Caption[];
558
+ }
559
+ interface Caption {
560
+ [Brand.Type]?: 'app.bsky.embed.video#caption';
561
+ file: At.Blob;
562
+ lang: string;
563
+ }
564
+ interface View {
565
+ [Brand.Type]?: 'app.bsky.embed.video#view';
566
+ cid: At.CID;
567
+ playlist: string;
568
+ /**
569
+ * Maximum string length: 10000 \
570
+ * Maximum grapheme length: 1000
571
+ */
572
+ alt?: string;
573
+ aspectRatio?: AppBskyEmbedDefs.AspectRatio;
574
+ thumbnail?: string;
575
+ }
576
+ }
577
+
578
+ namespace AppBskyFeedDefs {
579
+ interface BlockedAuthor {
580
+ [Brand.Type]?: 'app.bsky.feed.defs#blockedAuthor';
581
+ did: At.DID;
582
+ viewer?: AppBskyActorDefs.ViewerState;
583
+ }
584
+ interface BlockedPost {
585
+ [Brand.Type]?: 'app.bsky.feed.defs#blockedPost';
586
+ author: BlockedAuthor;
587
+ blocked: boolean;
588
+ uri: At.Uri;
589
+ }
590
+ type ClickthroughAuthor = 'app.bsky.feed.defs#clickthroughAuthor';
591
+ type ClickthroughEmbed = 'app.bsky.feed.defs#clickthroughEmbed';
592
+ type ClickthroughItem = 'app.bsky.feed.defs#clickthroughItem';
593
+ type ClickthroughReposter = 'app.bsky.feed.defs#clickthroughReposter';
594
+ interface FeedViewPost {
595
+ [Brand.Type]?: 'app.bsky.feed.defs#feedViewPost';
596
+ post: PostView;
597
+ /**
598
+ * Context provided by feed generator that may be passed back alongside interactions. \
599
+ * Maximum string length: 2000
600
+ */
601
+ feedContext?: string;
602
+ reason?: Brand.Union<ReasonPin | ReasonRepost>;
603
+ reply?: ReplyRef;
604
+ }
605
+ interface GeneratorView {
606
+ [Brand.Type]?: 'app.bsky.feed.defs#generatorView';
607
+ cid: At.CID;
608
+ creator: AppBskyActorDefs.ProfileView;
609
+ did: At.DID;
610
+ displayName: string;
611
+ indexedAt: string;
612
+ uri: At.Uri;
613
+ acceptsInteractions?: boolean;
614
+ avatar?: string;
615
+ /**
616
+ * Maximum string length: 3000 \
617
+ * Maximum grapheme length: 300
618
+ */
619
+ description?: string;
620
+ descriptionFacets?: AppBskyRichtextFacet.Main[];
621
+ labels?: ComAtprotoLabelDefs.Label[];
622
+ /** Minimum: 0 */
623
+ likeCount?: number;
624
+ viewer?: GeneratorViewerState;
625
+ }
626
+ interface GeneratorViewerState {
627
+ [Brand.Type]?: 'app.bsky.feed.defs#generatorViewerState';
628
+ like?: At.Uri;
629
+ }
630
+ interface Interaction {
631
+ [Brand.Type]?: 'app.bsky.feed.defs#interaction';
632
+ event?:
633
+ | 'app.bsky.feed.defs#clickthroughAuthor'
634
+ | 'app.bsky.feed.defs#clickthroughEmbed'
635
+ | 'app.bsky.feed.defs#clickthroughItem'
636
+ | 'app.bsky.feed.defs#clickthroughReposter'
637
+ | 'app.bsky.feed.defs#interactionLike'
638
+ | 'app.bsky.feed.defs#interactionQuote'
639
+ | 'app.bsky.feed.defs#interactionReply'
640
+ | 'app.bsky.feed.defs#interactionRepost'
641
+ | 'app.bsky.feed.defs#interactionSeen'
642
+ | 'app.bsky.feed.defs#interactionShare'
643
+ | 'app.bsky.feed.defs#requestLess'
644
+ | 'app.bsky.feed.defs#requestMore'
645
+ | (string & {});
646
+ /**
647
+ * Context on a feed item that was originally supplied by the feed generator on getFeedSkeleton. \
648
+ * Maximum string length: 2000
649
+ */
650
+ feedContext?: string;
651
+ item?: At.Uri;
652
+ }
653
+ type InteractionLike = 'app.bsky.feed.defs#interactionLike';
654
+ type InteractionQuote = 'app.bsky.feed.defs#interactionQuote';
655
+ type InteractionReply = 'app.bsky.feed.defs#interactionReply';
656
+ type InteractionRepost = 'app.bsky.feed.defs#interactionRepost';
657
+ type InteractionSeen = 'app.bsky.feed.defs#interactionSeen';
658
+ type InteractionShare = 'app.bsky.feed.defs#interactionShare';
659
+ interface NotFoundPost {
660
+ [Brand.Type]?: 'app.bsky.feed.defs#notFoundPost';
661
+ notFound: boolean;
662
+ uri: At.Uri;
663
+ }
664
+ interface PostView {
665
+ [Brand.Type]?: 'app.bsky.feed.defs#postView';
666
+ author: AppBskyActorDefs.ProfileViewBasic;
667
+ cid: At.CID;
668
+ indexedAt: string;
669
+ record: unknown;
670
+ uri: At.Uri;
671
+ embed?: Brand.Union<
672
+ | AppBskyEmbedExternal.View
673
+ | AppBskyEmbedImages.View
674
+ | AppBskyEmbedRecord.View
675
+ | AppBskyEmbedRecordWithMedia.View
676
+ | AppBskyEmbedVideo.View
677
+ >;
678
+ labels?: ComAtprotoLabelDefs.Label[];
679
+ likeCount?: number;
680
+ quoteCount?: number;
681
+ replyCount?: number;
682
+ repostCount?: number;
683
+ threadgate?: ThreadgateView;
684
+ viewer?: ViewerState;
685
+ }
686
+ interface ReasonPin {
687
+ [Brand.Type]?: 'app.bsky.feed.defs#reasonPin';
688
+ }
689
+ interface ReasonRepost {
690
+ [Brand.Type]?: 'app.bsky.feed.defs#reasonRepost';
691
+ by: AppBskyActorDefs.ProfileViewBasic;
692
+ indexedAt: string;
693
+ }
694
+ interface ReplyRef {
695
+ [Brand.Type]?: 'app.bsky.feed.defs#replyRef';
696
+ parent: Brand.Union<BlockedPost | NotFoundPost | PostView>;
697
+ root: Brand.Union<BlockedPost | NotFoundPost | PostView>;
698
+ /** When parent is a reply to another post, this is the author of that post. */
699
+ grandparentAuthor?: AppBskyActorDefs.ProfileViewBasic;
700
+ }
701
+ type RequestLess = 'app.bsky.feed.defs#requestLess';
702
+ type RequestMore = 'app.bsky.feed.defs#requestMore';
703
+ interface SkeletonFeedPost {
704
+ [Brand.Type]?: 'app.bsky.feed.defs#skeletonFeedPost';
705
+ post: At.Uri;
706
+ /**
707
+ * Context that will be passed through to client and may be passed to feed generator back alongside interactions. \
708
+ * Maximum string length: 2000
709
+ */
710
+ feedContext?: string;
711
+ reason?: Brand.Union<SkeletonReasonPin | SkeletonReasonRepost>;
712
+ }
713
+ interface SkeletonReasonPin {
714
+ [Brand.Type]?: 'app.bsky.feed.defs#skeletonReasonPin';
715
+ }
716
+ interface SkeletonReasonRepost {
717
+ [Brand.Type]?: 'app.bsky.feed.defs#skeletonReasonRepost';
718
+ repost: At.Uri;
719
+ }
720
+ interface ThreadgateView {
721
+ [Brand.Type]?: 'app.bsky.feed.defs#threadgateView';
722
+ cid?: At.CID;
723
+ lists?: AppBskyGraphDefs.ListViewBasic[];
724
+ record?: unknown;
725
+ uri?: At.Uri;
726
+ }
727
+ interface ThreadViewPost {
728
+ [Brand.Type]?: 'app.bsky.feed.defs#threadViewPost';
729
+ post: PostView;
730
+ parent?: Brand.Union<BlockedPost | NotFoundPost | ThreadViewPost>;
731
+ replies?: Brand.Union<BlockedPost | NotFoundPost | ThreadViewPost>[];
732
+ }
733
+ /** Metadata about the requesting account's relationship with the subject content. Only has meaningful content for authed requests. */
734
+ interface ViewerState {
735
+ [Brand.Type]?: 'app.bsky.feed.defs#viewerState';
736
+ embeddingDisabled?: boolean;
737
+ like?: At.Uri;
738
+ pinned?: boolean;
739
+ replyDisabled?: boolean;
740
+ repost?: At.Uri;
741
+ threadMuted?: boolean;
742
+ }
743
+ }
744
+
745
+ /** Get information about a feed generator, including policies and offered feed URIs. Does not require auth; implemented by Feed Generator services (not App View). */
746
+ namespace AppBskyFeedDescribeFeedGenerator {
747
+ interface Params {}
748
+ type Input = undefined;
749
+ interface Output {
750
+ did: At.DID;
751
+ feeds: Feed[];
752
+ links?: Links;
753
+ }
754
+ interface Feed {
755
+ [Brand.Type]?: 'app.bsky.feed.describeFeedGenerator#feed';
756
+ uri: At.Uri;
757
+ }
758
+ interface Links {
759
+ [Brand.Type]?: 'app.bsky.feed.describeFeedGenerator#links';
760
+ privacyPolicy?: string;
761
+ termsOfService?: string;
762
+ }
763
+ }
764
+
765
+ namespace AppBskyFeedGenerator {
766
+ /** Record declaring of the existence of a feed generator, and containing metadata about it. The record can exist in any repository. */
767
+ interface Record {
768
+ $type: 'app.bsky.feed.generator';
769
+ createdAt: string;
770
+ did: At.DID;
771
+ /**
772
+ * Maximum string length: 240 \
773
+ * Maximum grapheme length: 24
774
+ */
775
+ displayName: string;
776
+ /** Declaration that a feed accepts feedback interactions from a client through app.bsky.feed.sendInteractions */
777
+ acceptsInteractions?: boolean;
778
+ avatar?: At.Blob;
779
+ /**
780
+ * Maximum string length: 3000 \
781
+ * Maximum grapheme length: 300
782
+ */
783
+ description?: string;
784
+ descriptionFacets?: AppBskyRichtextFacet.Main[];
785
+ /** Self-label values */
786
+ labels?: Brand.Union<ComAtprotoLabelDefs.SelfLabels>;
787
+ }
788
+ }
789
+
790
+ /** Get a list of feeds (feed generator records) created by the actor (in the actor's repo). */
791
+ namespace AppBskyFeedGetActorFeeds {
792
+ interface Params {
793
+ actor: string;
794
+ cursor?: string;
795
+ /**
796
+ * Minimum: 1 \
797
+ * Maximum: 100
798
+ * @default 50
799
+ */
800
+ limit?: number;
801
+ }
802
+ type Input = undefined;
803
+ interface Output {
804
+ feeds: AppBskyFeedDefs.GeneratorView[];
805
+ cursor?: string;
806
+ }
807
+ }
808
+
809
+ /** Get a list of posts liked by an actor. Requires auth, actor must be the requesting account. */
810
+ namespace AppBskyFeedGetActorLikes {
811
+ interface Params {
812
+ actor: string;
813
+ cursor?: string;
814
+ /**
815
+ * Minimum: 1 \
816
+ * Maximum: 100
817
+ * @default 50
818
+ */
819
+ limit?: number;
820
+ }
821
+ type Input = undefined;
822
+ interface Output {
823
+ feed: AppBskyFeedDefs.FeedViewPost[];
824
+ cursor?: string;
825
+ }
826
+ interface Errors {
827
+ BlockedActor: {};
828
+ BlockedByActor: {};
829
+ }
830
+ }
831
+
832
+ /** Get a view of an actor's 'author feed' (post and reposts by the author). Does not require auth. */
833
+ namespace AppBskyFeedGetAuthorFeed {
834
+ interface Params {
835
+ actor: string;
836
+ cursor?: string;
837
+ /**
838
+ * Combinations of post/repost types to include in response.
839
+ * @default "posts_with_replies"
840
+ */
841
+ filter?:
842
+ | 'posts_and_author_threads'
843
+ | 'posts_no_replies'
844
+ | 'posts_with_media'
845
+ | 'posts_with_replies'
846
+ | (string & {});
847
+ /** @default false */
848
+ includePins?: boolean;
849
+ /**
850
+ * Minimum: 1 \
851
+ * Maximum: 100
852
+ * @default 50
853
+ */
854
+ limit?: number;
855
+ }
856
+ type Input = undefined;
857
+ interface Output {
858
+ feed: AppBskyFeedDefs.FeedViewPost[];
859
+ cursor?: string;
860
+ }
861
+ interface Errors {
862
+ BlockedActor: {};
863
+ BlockedByActor: {};
864
+ }
865
+ }
866
+
867
+ /** Get a hydrated feed from an actor's selected feed generator. Implemented by App View. */
868
+ namespace AppBskyFeedGetFeed {
869
+ interface Params {
870
+ feed: At.Uri;
871
+ cursor?: string;
872
+ /**
873
+ * Minimum: 1 \
874
+ * Maximum: 100
875
+ * @default 50
876
+ */
877
+ limit?: number;
878
+ }
879
+ type Input = undefined;
880
+ interface Output {
881
+ feed: AppBskyFeedDefs.FeedViewPost[];
882
+ cursor?: string;
883
+ }
884
+ interface Errors {
885
+ UnknownFeed: {};
886
+ }
887
+ }
888
+
889
+ /** Get information about a feed generator. Implemented by AppView. */
890
+ namespace AppBskyFeedGetFeedGenerator {
891
+ interface Params {
892
+ /** AT-URI of the feed generator record. */
893
+ feed: At.Uri;
894
+ }
895
+ type Input = undefined;
896
+ interface Output {
897
+ /** Indicates whether the feed generator service has been online recently, or else seems to be inactive. */
898
+ isOnline: boolean;
899
+ /** Indicates whether the feed generator service is compatible with the record declaration. */
900
+ isValid: boolean;
901
+ view: AppBskyFeedDefs.GeneratorView;
902
+ }
903
+ }
904
+
905
+ /** Get information about a list of feed generators. */
906
+ namespace AppBskyFeedGetFeedGenerators {
907
+ interface Params {
908
+ feeds: At.Uri[];
909
+ }
910
+ type Input = undefined;
911
+ interface Output {
912
+ feeds: AppBskyFeedDefs.GeneratorView[];
913
+ }
914
+ }
915
+
916
+ /** Get a skeleton of a feed provided by a feed generator. Auth is optional, depending on provider requirements, and provides the DID of the requester. Implemented by Feed Generator Service. */
917
+ namespace AppBskyFeedGetFeedSkeleton {
918
+ interface Params {
919
+ /** Reference to feed generator record describing the specific feed being requested. */
920
+ feed: At.Uri;
921
+ cursor?: string;
922
+ /**
923
+ * Minimum: 1 \
924
+ * Maximum: 100
925
+ * @default 50
926
+ */
927
+ limit?: number;
928
+ }
929
+ type Input = undefined;
930
+ interface Output {
931
+ feed: AppBskyFeedDefs.SkeletonFeedPost[];
932
+ cursor?: string;
933
+ }
934
+ interface Errors {
935
+ UnknownFeed: {};
936
+ }
937
+ }
938
+
939
+ /** Get like records which reference a subject (by AT-URI and CID). */
940
+ namespace AppBskyFeedGetLikes {
941
+ interface Params {
942
+ /** AT-URI of the subject (eg, a post record). */
943
+ uri: At.Uri;
944
+ /** CID of the subject record (aka, specific version of record), to filter likes. */
945
+ cid?: At.CID;
946
+ cursor?: string;
947
+ /**
948
+ * Minimum: 1 \
949
+ * Maximum: 100
950
+ * @default 50
951
+ */
952
+ limit?: number;
953
+ }
954
+ type Input = undefined;
955
+ interface Output {
956
+ likes: Like[];
957
+ uri: At.Uri;
958
+ cid?: At.CID;
959
+ cursor?: string;
960
+ }
961
+ interface Like {
962
+ [Brand.Type]?: 'app.bsky.feed.getLikes#like';
963
+ actor: AppBskyActorDefs.ProfileView;
964
+ createdAt: string;
965
+ indexedAt: string;
966
+ }
967
+ }
968
+
969
+ /** Get a feed of recent posts from a list (posts and reposts from any actors on the list). Does not require auth. */
970
+ namespace AppBskyFeedGetListFeed {
971
+ interface Params {
972
+ /** Reference (AT-URI) to the list record. */
973
+ list: At.Uri;
974
+ cursor?: string;
975
+ /**
976
+ * Minimum: 1 \
977
+ * Maximum: 100
978
+ * @default 50
979
+ */
980
+ limit?: number;
981
+ }
982
+ type Input = undefined;
983
+ interface Output {
984
+ feed: AppBskyFeedDefs.FeedViewPost[];
985
+ cursor?: string;
986
+ }
987
+ interface Errors {
988
+ UnknownList: {};
989
+ }
990
+ }
991
+
992
+ /** Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'. */
993
+ namespace AppBskyFeedGetPosts {
994
+ interface Params {
995
+ /**
996
+ * List of post AT-URIs to return hydrated views for. \
997
+ * Maximum array length: 25
998
+ */
999
+ uris: At.Uri[];
1000
+ }
1001
+ type Input = undefined;
1002
+ interface Output {
1003
+ posts: AppBskyFeedDefs.PostView[];
1004
+ }
1005
+ }
1006
+
1007
+ /** Get posts in a thread. Does not require auth, but additional metadata and filtering will be applied for authed requests. */
1008
+ namespace AppBskyFeedGetPostThread {
1009
+ interface Params {
1010
+ /** Reference (AT-URI) to post record. */
1011
+ uri: At.Uri;
1012
+ /**
1013
+ * How many levels of reply depth should be included in response. \
1014
+ * Minimum: 0 \
1015
+ * Maximum: 1000
1016
+ * @default 6
1017
+ */
1018
+ depth?: number;
1019
+ /**
1020
+ * How many levels of parent (and grandparent, etc) post to include. \
1021
+ * Minimum: 0 \
1022
+ * Maximum: 1000
1023
+ * @default 80
1024
+ */
1025
+ parentHeight?: number;
1026
+ }
1027
+ type Input = undefined;
1028
+ interface Output {
1029
+ thread: Brand.Union<
1030
+ AppBskyFeedDefs.BlockedPost | AppBskyFeedDefs.NotFoundPost | AppBskyFeedDefs.ThreadViewPost
1031
+ >;
1032
+ threadgate?: AppBskyFeedDefs.ThreadgateView;
1033
+ }
1034
+ interface Errors {
1035
+ NotFound: {};
1036
+ }
1037
+ }
1038
+
1039
+ /** Get a list of quotes for a given post. */
1040
+ namespace AppBskyFeedGetQuotes {
1041
+ interface Params {
1042
+ /** Reference (AT-URI) of post record */
1043
+ uri: At.Uri;
1044
+ /** If supplied, filters to quotes of specific version (by CID) of the post record. */
1045
+ cid?: At.CID;
1046
+ cursor?: string;
1047
+ /**
1048
+ * Minimum: 1 \
1049
+ * Maximum: 100
1050
+ * @default 50
1051
+ */
1052
+ limit?: number;
1053
+ }
1054
+ type Input = undefined;
1055
+ interface Output {
1056
+ posts: AppBskyFeedDefs.PostView[];
1057
+ uri: At.Uri;
1058
+ cid?: At.CID;
1059
+ cursor?: string;
1060
+ }
1061
+ }
1062
+
1063
+ /** Get a list of reposts for a given post. */
1064
+ namespace AppBskyFeedGetRepostedBy {
1065
+ interface Params {
1066
+ /** Reference (AT-URI) of post record */
1067
+ uri: At.Uri;
1068
+ /** If supplied, filters to reposts of specific version (by CID) of the post record. */
1069
+ cid?: At.CID;
1070
+ cursor?: string;
1071
+ /**
1072
+ * Minimum: 1 \
1073
+ * Maximum: 100
1074
+ * @default 50
1075
+ */
1076
+ limit?: number;
1077
+ }
1078
+ type Input = undefined;
1079
+ interface Output {
1080
+ repostedBy: AppBskyActorDefs.ProfileView[];
1081
+ uri: At.Uri;
1082
+ cid?: At.CID;
1083
+ cursor?: string;
1084
+ }
1085
+ }
1086
+
1087
+ /** Get a list of suggested feeds (feed generators) for the requesting account. */
1088
+ namespace AppBskyFeedGetSuggestedFeeds {
1089
+ interface Params {
1090
+ cursor?: string;
1091
+ /**
1092
+ * Minimum: 1 \
1093
+ * Maximum: 100
1094
+ * @default 50
1095
+ */
1096
+ limit?: number;
1097
+ }
1098
+ type Input = undefined;
1099
+ interface Output {
1100
+ feeds: AppBskyFeedDefs.GeneratorView[];
1101
+ cursor?: string;
1102
+ }
1103
+ }
1104
+
1105
+ /** Get a view of the requesting account's home timeline. This is expected to be some form of reverse-chronological feed. */
1106
+ namespace AppBskyFeedGetTimeline {
1107
+ interface Params {
1108
+ /** Variant 'algorithm' for timeline. Implementation-specific. NOTE: most feed flexibility has been moved to feed generator mechanism. */
1109
+ algorithm?: string;
1110
+ cursor?: string;
1111
+ /**
1112
+ * Minimum: 1 \
1113
+ * Maximum: 100
1114
+ * @default 50
1115
+ */
1116
+ limit?: number;
1117
+ }
1118
+ type Input = undefined;
1119
+ interface Output {
1120
+ feed: AppBskyFeedDefs.FeedViewPost[];
1121
+ cursor?: string;
1122
+ }
1123
+ }
1124
+
1125
+ namespace AppBskyFeedLike {
1126
+ /** Record declaring a 'like' of a piece of subject content. */
1127
+ interface Record {
1128
+ $type: 'app.bsky.feed.like';
1129
+ createdAt: string;
1130
+ subject: ComAtprotoRepoStrongRef.Main;
1131
+ }
1132
+ }
1133
+
1134
+ namespace AppBskyFeedPost {
1135
+ /** Record containing a Bluesky post. */
1136
+ interface Record {
1137
+ $type: 'app.bsky.feed.post';
1138
+ /** Client-declared timestamp when this post was originally created. */
1139
+ createdAt: string;
1140
+ /**
1141
+ * The primary post content. May be an empty string, if there are embeds. \
1142
+ * Maximum string length: 3000 \
1143
+ * Maximum grapheme length: 300
1144
+ */
1145
+ text: string;
1146
+ embed?: Brand.Union<
1147
+ | AppBskyEmbedExternal.Main
1148
+ | AppBskyEmbedImages.Main
1149
+ | AppBskyEmbedRecord.Main
1150
+ | AppBskyEmbedRecordWithMedia.Main
1151
+ | AppBskyEmbedVideo.Main
1152
+ >;
1153
+ /**
1154
+ * DEPRECATED: replaced by app.bsky.richtext.facet.
1155
+ * @deprecated
1156
+ */
1157
+ entities?: Entity[];
1158
+ /** Annotations of text (mentions, URLs, hashtags, etc) */
1159
+ facets?: AppBskyRichtextFacet.Main[];
1160
+ /** Self-label values for this post. Effectively content warnings. */
1161
+ labels?: Brand.Union<ComAtprotoLabelDefs.SelfLabels>;
1162
+ /**
1163
+ * Indicates human language of post primary text content. \
1164
+ * Maximum array length: 3
1165
+ */
1166
+ langs?: string[];
1167
+ reply?: ReplyRef;
1168
+ /**
1169
+ * Additional hashtags, in addition to any included in post text and facets. \
1170
+ * Maximum array length: 8 \
1171
+ * Maximum string length: 640 \
1172
+ * Maximum grapheme length: 64
1173
+ */
1174
+ tags?: string[];
1175
+ }
1176
+ /**
1177
+ * Deprecated: use facets instead.
1178
+ * @deprecated
1179
+ */
1180
+ interface Entity {
1181
+ [Brand.Type]?: 'app.bsky.feed.post#entity';
1182
+ index: TextSlice;
1183
+ /** Expected values are 'mention' and 'link'. */
1184
+ type: string;
1185
+ value: string;
1186
+ }
1187
+ interface ReplyRef {
1188
+ [Brand.Type]?: 'app.bsky.feed.post#replyRef';
1189
+ parent: ComAtprotoRepoStrongRef.Main;
1190
+ root: ComAtprotoRepoStrongRef.Main;
1191
+ }
1192
+ /**
1193
+ * Deprecated. Use app.bsky.richtext instead -- A text segment. Start is inclusive, end is exclusive. Indices are for utf16-encoded strings.
1194
+ * @deprecated
1195
+ */
1196
+ interface TextSlice {
1197
+ [Brand.Type]?: 'app.bsky.feed.post#textSlice';
1198
+ /** Minimum: 0 */
1199
+ end: number;
1200
+ /** Minimum: 0 */
1201
+ start: number;
1202
+ }
1203
+ }
1204
+
1205
+ namespace AppBskyFeedPostgate {
1206
+ /** Record defining interaction rules for a post. The record key (rkey) of the postgate record must match the record key of the post, and that record must be in the same repository. */
1207
+ interface Record {
1208
+ $type: 'app.bsky.feed.postgate';
1209
+ createdAt: string;
1210
+ /** Reference (AT-URI) to the post record. */
1211
+ post: At.Uri;
1212
+ /**
1213
+ * List of AT-URIs embedding this post that the author has detached from. \
1214
+ * Maximum array length: 50
1215
+ */
1216
+ detachedEmbeddingUris?: At.Uri[];
1217
+ /** Maximum array length: 5 */
1218
+ embeddingRules?: Brand.Union<DisableRule>[];
1219
+ }
1220
+ /** Disables embedding of this post. */
1221
+ interface DisableRule {
1222
+ [Brand.Type]?: 'app.bsky.feed.postgate#disableRule';
1223
+ }
1224
+ }
1225
+
1226
+ namespace AppBskyFeedRepost {
1227
+ /** Record representing a 'repost' of an existing Bluesky post. */
1228
+ interface Record {
1229
+ $type: 'app.bsky.feed.repost';
1230
+ createdAt: string;
1231
+ subject: ComAtprotoRepoStrongRef.Main;
1232
+ }
1233
+ }
1234
+
1235
+ /** Find posts matching search criteria, returning views of those posts. */
1236
+ namespace AppBskyFeedSearchPosts {
1237
+ interface Params {
1238
+ /** Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. */
1239
+ q: string;
1240
+ /** Filter to posts by the given account. Handles are resolved to DID before query-time. */
1241
+ author?: string;
1242
+ /** Optional pagination mechanism; may not necessarily allow scrolling through entire result set. */
1243
+ cursor?: string;
1244
+ /** Filter to posts with URLs (facet links or embeds) linking to the given domain (hostname). Server may apply hostname normalization. */
1245
+ domain?: string;
1246
+ /** Filter to posts in the given language. Expected to be based on post language field, though server may override language detection. */
1247
+ lang?: string;
1248
+ /**
1249
+ * Minimum: 1 \
1250
+ * Maximum: 100
1251
+ * @default 25
1252
+ */
1253
+ limit?: number;
1254
+ /** Filter to posts which mention the given account. Handles are resolved to DID before query-time. Only matches rich-text facet mentions. */
1255
+ mentions?: string;
1256
+ /** Filter results for posts after the indicated datetime (inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYYY-MM-DD). */
1257
+ since?: string;
1258
+ /**
1259
+ * Specifies the ranking order of results.
1260
+ * @default "latest"
1261
+ */
1262
+ sort?: 'latest' | 'top' | (string & {});
1263
+ /**
1264
+ * Filter to posts with the given tag (hashtag), based on rich-text facet or tag field. Do not include the hash (#) prefix. Multiple tags can be specified, with 'AND' matching. \
1265
+ * Maximum string length: 640 \
1266
+ * Maximum grapheme length: 64
1267
+ */
1268
+ tag?: string[];
1269
+ /** Filter results for posts before the indicated datetime (not inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYY-MM-DD). */
1270
+ until?: string;
1271
+ /** Filter to posts with links (facet links or embeds) pointing to this URL. Server may apply URL normalization or fuzzy matching. */
1272
+ url?: string;
1273
+ }
1274
+ type Input = undefined;
1275
+ interface Output {
1276
+ posts: AppBskyFeedDefs.PostView[];
1277
+ cursor?: string;
1278
+ /** Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits. */
1279
+ hitsTotal?: number;
1280
+ }
1281
+ interface Errors {
1282
+ BadQueryString: {};
1283
+ }
1284
+ }
1285
+
1286
+ /** Send information about interactions with feed items back to the feed generator that served them. */
1287
+ namespace AppBskyFeedSendInteractions {
1288
+ interface Params {}
1289
+ interface Input {
1290
+ interactions: AppBskyFeedDefs.Interaction[];
1291
+ }
1292
+ interface Output {}
1293
+ }
1294
+
1295
+ namespace AppBskyFeedThreadgate {
1296
+ /** Record defining interaction gating rules for a thread (aka, reply controls). The record key (rkey) of the threadgate record must match the record key of the thread's root post, and that record must be in the same repository. */
1297
+ interface Record {
1298
+ $type: 'app.bsky.feed.threadgate';
1299
+ createdAt: string;
1300
+ /** Reference (AT-URI) to the post record. */
1301
+ post: At.Uri;
1302
+ /** Maximum array length: 5 */
1303
+ allow?: Brand.Union<FollowingRule | ListRule | MentionRule>[];
1304
+ /**
1305
+ * List of hidden reply URIs. \
1306
+ * Maximum array length: 50
1307
+ */
1308
+ hiddenReplies?: At.Uri[];
1309
+ }
1310
+ /** Allow replies from actors you follow. */
1311
+ interface FollowingRule {
1312
+ [Brand.Type]?: 'app.bsky.feed.threadgate#followingRule';
1313
+ }
1314
+ /** Allow replies from actors on a list. */
1315
+ interface ListRule {
1316
+ [Brand.Type]?: 'app.bsky.feed.threadgate#listRule';
1317
+ list: At.Uri;
1318
+ }
1319
+ /** Allow replies from actors mentioned in your post. */
1320
+ interface MentionRule {
1321
+ [Brand.Type]?: 'app.bsky.feed.threadgate#mentionRule';
1322
+ }
1323
+ }
1324
+
1325
+ namespace AppBskyGraphBlock {
1326
+ /** Record declaring a 'block' relationship against another account. NOTE: blocks are public in Bluesky; see blog posts for details. */
1327
+ interface Record {
1328
+ $type: 'app.bsky.graph.block';
1329
+ createdAt: string;
1330
+ /** DID of the account to be blocked. */
1331
+ subject: At.DID;
1332
+ }
1333
+ }
1334
+
1335
+ namespace AppBskyGraphDefs {
1336
+ type Curatelist = 'app.bsky.graph.defs#curatelist';
1337
+ interface ListItemView {
1338
+ [Brand.Type]?: 'app.bsky.graph.defs#listItemView';
1339
+ subject: AppBskyActorDefs.ProfileView;
1340
+ uri: At.Uri;
1341
+ }
1342
+ type ListPurpose =
1343
+ | 'app.bsky.graph.defs#curatelist'
1344
+ | 'app.bsky.graph.defs#modlist'
1345
+ | 'app.bsky.graph.defs#referencelist'
1346
+ | (string & {});
1347
+ interface ListView {
1348
+ [Brand.Type]?: 'app.bsky.graph.defs#listView';
1349
+ cid: At.CID;
1350
+ creator: AppBskyActorDefs.ProfileView;
1351
+ indexedAt: string;
1352
+ /**
1353
+ * Minimum string length: 1 \
1354
+ * Maximum string length: 64
1355
+ */
1356
+ name: string;
1357
+ purpose: ListPurpose;
1358
+ uri: At.Uri;
1359
+ avatar?: string;
1360
+ /**
1361
+ * Maximum string length: 3000 \
1362
+ * Maximum grapheme length: 300
1363
+ */
1364
+ description?: string;
1365
+ descriptionFacets?: AppBskyRichtextFacet.Main[];
1366
+ labels?: ComAtprotoLabelDefs.Label[];
1367
+ /** Minimum: 0 */
1368
+ listItemCount?: number;
1369
+ viewer?: ListViewerState;
1370
+ }
1371
+ interface ListViewBasic {
1372
+ [Brand.Type]?: 'app.bsky.graph.defs#listViewBasic';
1373
+ cid: At.CID;
1374
+ /**
1375
+ * Minimum string length: 1 \
1376
+ * Maximum string length: 64
1377
+ */
1378
+ name: string;
1379
+ purpose: ListPurpose;
1380
+ uri: At.Uri;
1381
+ avatar?: string;
1382
+ indexedAt?: string;
1383
+ labels?: ComAtprotoLabelDefs.Label[];
1384
+ /** Minimum: 0 */
1385
+ listItemCount?: number;
1386
+ viewer?: ListViewerState;
1387
+ }
1388
+ interface ListViewerState {
1389
+ [Brand.Type]?: 'app.bsky.graph.defs#listViewerState';
1390
+ blocked?: At.Uri;
1391
+ muted?: boolean;
1392
+ }
1393
+ type Modlist = 'app.bsky.graph.defs#modlist';
1394
+ /** indicates that a handle or DID could not be resolved */
1395
+ interface NotFoundActor {
1396
+ [Brand.Type]?: 'app.bsky.graph.defs#notFoundActor';
1397
+ actor: string;
1398
+ notFound: boolean;
1399
+ }
1400
+ type Referencelist = 'app.bsky.graph.defs#referencelist';
1401
+ /** lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object) */
1402
+ interface Relationship {
1403
+ [Brand.Type]?: 'app.bsky.graph.defs#relationship';
1404
+ did: At.DID;
1405
+ /** if the actor is followed by this DID, contains the AT-URI of the follow record */
1406
+ followedBy?: At.Uri;
1407
+ /** if the actor follows this DID, this is the AT-URI of the follow record */
1408
+ following?: At.Uri;
1409
+ }
1410
+ interface StarterPackView {
1411
+ [Brand.Type]?: 'app.bsky.graph.defs#starterPackView';
1412
+ cid: At.CID;
1413
+ creator: AppBskyActorDefs.ProfileViewBasic;
1414
+ indexedAt: string;
1415
+ record: unknown;
1416
+ uri: At.Uri;
1417
+ /** Maximum array length: 3 */
1418
+ feeds?: AppBskyFeedDefs.GeneratorView[];
1419
+ /** Minimum: 0 */
1420
+ joinedAllTimeCount?: number;
1421
+ /** Minimum: 0 */
1422
+ joinedWeekCount?: number;
1423
+ labels?: ComAtprotoLabelDefs.Label[];
1424
+ list?: ListViewBasic;
1425
+ /** Maximum array length: 12 */
1426
+ listItemsSample?: ListItemView[];
1427
+ }
1428
+ interface StarterPackViewBasic {
1429
+ [Brand.Type]?: 'app.bsky.graph.defs#starterPackViewBasic';
1430
+ cid: At.CID;
1431
+ creator: AppBskyActorDefs.ProfileViewBasic;
1432
+ indexedAt: string;
1433
+ record: unknown;
1434
+ uri: At.Uri;
1435
+ /** Minimum: 0 */
1436
+ joinedAllTimeCount?: number;
1437
+ /** Minimum: 0 */
1438
+ joinedWeekCount?: number;
1439
+ labels?: ComAtprotoLabelDefs.Label[];
1440
+ /** Minimum: 0 */
1441
+ listItemCount?: number;
1442
+ }
1443
+ }
1444
+
1445
+ namespace AppBskyGraphFollow {
1446
+ /** Record declaring a social 'follow' relationship of another account. Duplicate follows will be ignored by the AppView. */
1447
+ interface Record {
1448
+ $type: 'app.bsky.graph.follow';
1449
+ createdAt: string;
1450
+ subject: At.DID;
1451
+ }
1452
+ }
1453
+
1454
+ /** Get a list of starter packs created by the actor. */
1455
+ namespace AppBskyGraphGetActorStarterPacks {
1456
+ interface Params {
1457
+ actor: string;
1458
+ cursor?: string;
1459
+ /**
1460
+ * Minimum: 1 \
1461
+ * Maximum: 100
1462
+ * @default 50
1463
+ */
1464
+ limit?: number;
1465
+ }
1466
+ type Input = undefined;
1467
+ interface Output {
1468
+ starterPacks: AppBskyGraphDefs.StarterPackViewBasic[];
1469
+ cursor?: string;
1470
+ }
1471
+ }
1472
+
1473
+ /** Enumerates which accounts the requesting account is currently blocking. Requires auth. */
1474
+ namespace AppBskyGraphGetBlocks {
1475
+ interface Params {
1476
+ cursor?: string;
1477
+ /**
1478
+ * Minimum: 1 \
1479
+ * Maximum: 100
1480
+ * @default 50
1481
+ */
1482
+ limit?: number;
1483
+ }
1484
+ type Input = undefined;
1485
+ interface Output {
1486
+ blocks: AppBskyActorDefs.ProfileView[];
1487
+ cursor?: string;
1488
+ }
1489
+ }
1490
+
1491
+ /** Enumerates accounts which follow a specified account (actor). */
1492
+ namespace AppBskyGraphGetFollowers {
1493
+ interface Params {
1494
+ actor: string;
1495
+ cursor?: string;
1496
+ /**
1497
+ * Minimum: 1 \
1498
+ * Maximum: 100
1499
+ * @default 50
1500
+ */
1501
+ limit?: number;
1502
+ }
1503
+ type Input = undefined;
1504
+ interface Output {
1505
+ followers: AppBskyActorDefs.ProfileView[];
1506
+ subject: AppBskyActorDefs.ProfileView;
1507
+ cursor?: string;
1508
+ }
1509
+ }
1510
+
1511
+ /** Enumerates accounts which a specified account (actor) follows. */
1512
+ namespace AppBskyGraphGetFollows {
1513
+ interface Params {
1514
+ actor: string;
1515
+ cursor?: string;
1516
+ /**
1517
+ * Minimum: 1 \
1518
+ * Maximum: 100
1519
+ * @default 50
1520
+ */
1521
+ limit?: number;
1522
+ }
1523
+ type Input = undefined;
1524
+ interface Output {
1525
+ follows: AppBskyActorDefs.ProfileView[];
1526
+ subject: AppBskyActorDefs.ProfileView;
1527
+ cursor?: string;
1528
+ }
1529
+ }
1530
+
1531
+ /** Enumerates accounts which follow a specified account (actor) and are followed by the viewer. */
1532
+ namespace AppBskyGraphGetKnownFollowers {
1533
+ interface Params {
1534
+ actor: string;
1535
+ cursor?: string;
1536
+ /**
1537
+ * Minimum: 1 \
1538
+ * Maximum: 100
1539
+ * @default 50
1540
+ */
1541
+ limit?: number;
1542
+ }
1543
+ type Input = undefined;
1544
+ interface Output {
1545
+ followers: AppBskyActorDefs.ProfileView[];
1546
+ subject: AppBskyActorDefs.ProfileView;
1547
+ cursor?: string;
1548
+ }
1549
+ }
1550
+
1551
+ /** Gets a 'view' (with additional context) of a specified list. */
1552
+ namespace AppBskyGraphGetList {
1553
+ interface Params {
1554
+ /** Reference (AT-URI) of the list record to hydrate. */
1555
+ list: At.Uri;
1556
+ cursor?: string;
1557
+ /**
1558
+ * Minimum: 1 \
1559
+ * Maximum: 100
1560
+ * @default 50
1561
+ */
1562
+ limit?: number;
1563
+ }
1564
+ type Input = undefined;
1565
+ interface Output {
1566
+ items: AppBskyGraphDefs.ListItemView[];
1567
+ list: AppBskyGraphDefs.ListView;
1568
+ cursor?: string;
1569
+ }
1570
+ }
1571
+
1572
+ /** Get mod lists that the requesting account (actor) is blocking. Requires auth. */
1573
+ namespace AppBskyGraphGetListBlocks {
1574
+ interface Params {
1575
+ cursor?: string;
1576
+ /**
1577
+ * Minimum: 1 \
1578
+ * Maximum: 100
1579
+ * @default 50
1580
+ */
1581
+ limit?: number;
1582
+ }
1583
+ type Input = undefined;
1584
+ interface Output {
1585
+ lists: AppBskyGraphDefs.ListView[];
1586
+ cursor?: string;
1587
+ }
1588
+ }
1589
+
1590
+ /** Enumerates mod lists that the requesting account (actor) currently has muted. Requires auth. */
1591
+ namespace AppBskyGraphGetListMutes {
1592
+ interface Params {
1593
+ cursor?: string;
1594
+ /**
1595
+ * Minimum: 1 \
1596
+ * Maximum: 100
1597
+ * @default 50
1598
+ */
1599
+ limit?: number;
1600
+ }
1601
+ type Input = undefined;
1602
+ interface Output {
1603
+ lists: AppBskyGraphDefs.ListView[];
1604
+ cursor?: string;
1605
+ }
1606
+ }
1607
+
1608
+ /** Enumerates the lists created by a specified account (actor). */
1609
+ namespace AppBskyGraphGetLists {
1610
+ interface Params {
1611
+ /** The account (actor) to enumerate lists from. */
1612
+ actor: string;
1613
+ cursor?: string;
1614
+ /**
1615
+ * Minimum: 1 \
1616
+ * Maximum: 100
1617
+ * @default 50
1618
+ */
1619
+ limit?: number;
1620
+ }
1621
+ type Input = undefined;
1622
+ interface Output {
1623
+ lists: AppBskyGraphDefs.ListView[];
1624
+ cursor?: string;
1625
+ }
1626
+ }
1627
+
1628
+ /** Enumerates accounts that the requesting account (actor) currently has muted. Requires auth. */
1629
+ namespace AppBskyGraphGetMutes {
1630
+ interface Params {
1631
+ cursor?: string;
1632
+ /**
1633
+ * Minimum: 1 \
1634
+ * Maximum: 100
1635
+ * @default 50
1636
+ */
1637
+ limit?: number;
1638
+ }
1639
+ type Input = undefined;
1640
+ interface Output {
1641
+ mutes: AppBskyActorDefs.ProfileView[];
1642
+ cursor?: string;
1643
+ }
1644
+ }
1645
+
1646
+ /** Enumerates public relationships between one account, and a list of other accounts. Does not require auth. */
1647
+ namespace AppBskyGraphGetRelationships {
1648
+ interface Params {
1649
+ /** Primary account requesting relationships for. */
1650
+ actor: string;
1651
+ /**
1652
+ * List of 'other' accounts to be related back to the primary. \
1653
+ * Maximum array length: 30
1654
+ */
1655
+ others?: string[];
1656
+ }
1657
+ type Input = undefined;
1658
+ interface Output {
1659
+ relationships: Brand.Union<AppBskyGraphDefs.NotFoundActor | AppBskyGraphDefs.Relationship>[];
1660
+ actor?: At.DID;
1661
+ }
1662
+ interface Errors {
1663
+ ActorNotFound: {};
1664
+ }
1665
+ }
1666
+
1667
+ /** Gets a view of a starter pack. */
1668
+ namespace AppBskyGraphGetStarterPack {
1669
+ interface Params {
1670
+ /** Reference (AT-URI) of the starter pack record. */
1671
+ starterPack: At.Uri;
1672
+ }
1673
+ type Input = undefined;
1674
+ interface Output {
1675
+ starterPack: AppBskyGraphDefs.StarterPackView;
1676
+ }
1677
+ }
1678
+
1679
+ /** Get views for a list of starter packs. */
1680
+ namespace AppBskyGraphGetStarterPacks {
1681
+ interface Params {
1682
+ /** Maximum array length: 25 */
1683
+ uris: At.Uri[];
1684
+ }
1685
+ type Input = undefined;
1686
+ interface Output {
1687
+ starterPacks: AppBskyGraphDefs.StarterPackViewBasic[];
1688
+ }
1689
+ }
1690
+
1691
+ /** Enumerates follows similar to a given account (actor). Expected use is to recommend additional accounts immediately after following one account. */
1692
+ namespace AppBskyGraphGetSuggestedFollowsByActor {
1693
+ interface Params {
1694
+ actor: string;
1695
+ }
1696
+ type Input = undefined;
1697
+ interface Output {
1698
+ suggestions: AppBskyActorDefs.ProfileView[];
1699
+ /**
1700
+ * If true, response has fallen-back to generic results, and is not scoped using relativeToDid
1701
+ * @default false
1702
+ */
1703
+ isFallback?: boolean;
1704
+ }
1705
+ }
1706
+
1707
+ namespace AppBskyGraphList {
1708
+ /** Record representing a list of accounts (actors). Scope includes both moderation-oriented lists and curration-oriented lists. */
1709
+ interface Record {
1710
+ $type: 'app.bsky.graph.list';
1711
+ createdAt: string;
1712
+ /**
1713
+ * Display name for list; can not be empty. \
1714
+ * Minimum string length: 1 \
1715
+ * Maximum string length: 64
1716
+ */
1717
+ name: string;
1718
+ /** Defines the purpose of the list (aka, moderation-oriented or curration-oriented) */
1719
+ purpose: AppBskyGraphDefs.ListPurpose;
1720
+ avatar?: At.Blob;
1721
+ /**
1722
+ * Maximum string length: 3000 \
1723
+ * Maximum grapheme length: 300
1724
+ */
1725
+ description?: string;
1726
+ descriptionFacets?: AppBskyRichtextFacet.Main[];
1727
+ labels?: Brand.Union<ComAtprotoLabelDefs.SelfLabels>;
1728
+ }
1729
+ }
1730
+
1731
+ namespace AppBskyGraphListblock {
1732
+ /** Record representing a block relationship against an entire an entire list of accounts (actors). */
1733
+ interface Record {
1734
+ $type: 'app.bsky.graph.listblock';
1735
+ createdAt: string;
1736
+ /** Reference (AT-URI) to the mod list record. */
1737
+ subject: At.Uri;
1738
+ }
1739
+ }
1740
+
1741
+ namespace AppBskyGraphListitem {
1742
+ /** Record representing an account's inclusion on a specific list. The AppView will ignore duplicate listitem records. */
1743
+ interface Record {
1744
+ $type: 'app.bsky.graph.listitem';
1745
+ createdAt: string;
1746
+ /** Reference (AT-URI) to the list record (app.bsky.graph.list). */
1747
+ list: At.Uri;
1748
+ /** The account which is included on the list. */
1749
+ subject: At.DID;
1750
+ }
1751
+ }
1752
+
1753
+ /** Creates a mute relationship for the specified account. Mutes are private in Bluesky. Requires auth. */
1754
+ namespace AppBskyGraphMuteActor {
1755
+ interface Params {}
1756
+ interface Input {
1757
+ actor: string;
1758
+ }
1759
+ type Output = undefined;
1760
+ }
1761
+
1762
+ /** Creates a mute relationship for the specified list of accounts. Mutes are private in Bluesky. Requires auth. */
1763
+ namespace AppBskyGraphMuteActorList {
1764
+ interface Params {}
1765
+ interface Input {
1766
+ list: At.Uri;
1767
+ }
1768
+ type Output = undefined;
1769
+ }
1770
+
1771
+ /** Mutes a thread preventing notifications from the thread and any of its children. Mutes are private in Bluesky. Requires auth. */
1772
+ namespace AppBskyGraphMuteThread {
1773
+ interface Params {}
1774
+ interface Input {
1775
+ root: At.Uri;
1776
+ }
1777
+ type Output = undefined;
1778
+ }
1779
+
1780
+ namespace AppBskyGraphStarterpack {
1781
+ /** Record defining a starter pack of actors and feeds for new users. */
1782
+ interface Record {
1783
+ $type: 'app.bsky.graph.starterpack';
1784
+ createdAt: string;
1785
+ /** Reference (AT-URI) to the list record. */
1786
+ list: At.Uri;
1787
+ /**
1788
+ * Display name for starter pack; can not be empty. \
1789
+ * Minimum string length: 1 \
1790
+ * Maximum string length: 500 \
1791
+ * Maximum grapheme length: 50
1792
+ */
1793
+ name: string;
1794
+ /**
1795
+ * Maximum string length: 3000 \
1796
+ * Maximum grapheme length: 300
1797
+ */
1798
+ description?: string;
1799
+ descriptionFacets?: AppBskyRichtextFacet.Main[];
1800
+ /** Maximum array length: 3 */
1801
+ feeds?: FeedItem[];
1802
+ }
1803
+ interface FeedItem {
1804
+ [Brand.Type]?: 'app.bsky.graph.starterpack#feedItem';
1805
+ uri: At.Uri;
1806
+ }
1807
+ }
1808
+
1809
+ /** Unmutes the specified account. Requires auth. */
1810
+ namespace AppBskyGraphUnmuteActor {
1811
+ interface Params {}
1812
+ interface Input {
1813
+ actor: string;
1814
+ }
1815
+ type Output = undefined;
1816
+ }
1817
+
1818
+ /** Unmutes the specified list of accounts. Requires auth. */
1819
+ namespace AppBskyGraphUnmuteActorList {
1820
+ interface Params {}
1821
+ interface Input {
1822
+ list: At.Uri;
1823
+ }
1824
+ type Output = undefined;
1825
+ }
1826
+
1827
+ /** Unmutes the specified thread. Requires auth. */
1828
+ namespace AppBskyGraphUnmuteThread {
1829
+ interface Params {}
1830
+ interface Input {
1831
+ root: At.Uri;
1832
+ }
1833
+ type Output = undefined;
1834
+ }
1835
+
1836
+ namespace AppBskyLabelerDefs {
1837
+ interface LabelerPolicies {
1838
+ [Brand.Type]?: 'app.bsky.labeler.defs#labelerPolicies';
1839
+ /** The label values which this labeler publishes. May include global or custom labels. */
1840
+ labelValues: ComAtprotoLabelDefs.LabelValue[];
1841
+ /** Label values created by this labeler and scoped exclusively to it. Labels defined here will override global label definitions for this labeler. */
1842
+ labelValueDefinitions?: ComAtprotoLabelDefs.LabelValueDefinition[];
1843
+ }
1844
+ interface LabelerView {
1845
+ [Brand.Type]?: 'app.bsky.labeler.defs#labelerView';
1846
+ cid: At.CID;
1847
+ creator: AppBskyActorDefs.ProfileView;
1848
+ indexedAt: string;
1849
+ uri: At.Uri;
1850
+ labels?: ComAtprotoLabelDefs.Label[];
1851
+ /** Minimum: 0 */
1852
+ likeCount?: number;
1853
+ viewer?: LabelerViewerState;
1854
+ }
1855
+ interface LabelerViewDetailed {
1856
+ [Brand.Type]?: 'app.bsky.labeler.defs#labelerViewDetailed';
1857
+ cid: At.CID;
1858
+ creator: AppBskyActorDefs.ProfileView;
1859
+ indexedAt: string;
1860
+ policies: AppBskyLabelerDefs.LabelerPolicies;
1861
+ uri: At.Uri;
1862
+ labels?: ComAtprotoLabelDefs.Label[];
1863
+ /** Minimum: 0 */
1864
+ likeCount?: number;
1865
+ viewer?: LabelerViewerState;
1866
+ }
1867
+ interface LabelerViewerState {
1868
+ [Brand.Type]?: 'app.bsky.labeler.defs#labelerViewerState';
1869
+ like?: At.Uri;
1870
+ }
1871
+ }
1872
+
1873
+ /** Get information about a list of labeler services. */
1874
+ namespace AppBskyLabelerGetServices {
1875
+ interface Params {
1876
+ dids: At.DID[];
1877
+ /** @default false */
1878
+ detailed?: boolean;
1879
+ }
1880
+ type Input = undefined;
1881
+ interface Output {
1882
+ views: Brand.Union<AppBskyLabelerDefs.LabelerView | AppBskyLabelerDefs.LabelerViewDetailed>[];
1883
+ }
1884
+ }
1885
+
1886
+ namespace AppBskyLabelerService {
1887
+ /** A declaration of the existence of labeler service. */
1888
+ interface Record {
1889
+ $type: 'app.bsky.labeler.service';
1890
+ createdAt: string;
1891
+ policies: AppBskyLabelerDefs.LabelerPolicies;
1892
+ labels?: Brand.Union<ComAtprotoLabelDefs.SelfLabels>;
1893
+ }
1894
+ }
1895
+
1896
+ /** Count the number of unread notifications for the requesting account. Requires auth. */
1897
+ namespace AppBskyNotificationGetUnreadCount {
1898
+ interface Params {
1899
+ priority?: boolean;
1900
+ seenAt?: string;
1901
+ }
1902
+ type Input = undefined;
1903
+ interface Output {
1904
+ count: number;
1905
+ }
1906
+ }
1907
+
1908
+ /** Enumerate notifications for the requesting account. Requires auth. */
1909
+ namespace AppBskyNotificationListNotifications {
1910
+ interface Params {
1911
+ cursor?: string;
1912
+ /**
1913
+ * Minimum: 1 \
1914
+ * Maximum: 100
1915
+ * @default 50
1916
+ */
1917
+ limit?: number;
1918
+ priority?: boolean;
1919
+ seenAt?: string;
1920
+ }
1921
+ type Input = undefined;
1922
+ interface Output {
1923
+ notifications: Notification[];
1924
+ cursor?: string;
1925
+ priority?: boolean;
1926
+ seenAt?: string;
1927
+ }
1928
+ interface Notification {
1929
+ [Brand.Type]?: 'app.bsky.notification.listNotifications#notification';
1930
+ author: AppBskyActorDefs.ProfileView;
1931
+ cid: At.CID;
1932
+ indexedAt: string;
1933
+ isRead: boolean;
1934
+ /** Expected values are 'like', 'repost', 'follow', 'mention', 'reply', 'quote', and 'starterpack-joined'. */
1935
+ reason:
1936
+ | 'follow'
1937
+ | 'like'
1938
+ | 'mention'
1939
+ | 'quote'
1940
+ | 'reply'
1941
+ | 'repost'
1942
+ | 'starterpack-joined'
1943
+ | (string & {});
1944
+ record: unknown;
1945
+ uri: At.Uri;
1946
+ labels?: ComAtprotoLabelDefs.Label[];
1947
+ reasonSubject?: At.Uri;
1948
+ }
1949
+ }
1950
+
1951
+ /** Set notification-related preferences for an account. Requires auth. */
1952
+ namespace AppBskyNotificationPutPreferences {
1953
+ interface Params {}
1954
+ interface Input {
1955
+ priority: boolean;
1956
+ }
1957
+ type Output = undefined;
1958
+ }
1959
+
1960
+ /** Register to receive push notifications, via a specified service, for the requesting account. Requires auth. */
1961
+ namespace AppBskyNotificationRegisterPush {
1962
+ interface Params {}
1963
+ interface Input {
1964
+ appId: string;
1965
+ platform: 'android' | 'ios' | 'web' | (string & {});
1966
+ serviceDid: At.DID;
1967
+ token: string;
1968
+ }
1969
+ type Output = undefined;
1970
+ }
1971
+
1972
+ /** Notify server that the requesting account has seen notifications. Requires auth. */
1973
+ namespace AppBskyNotificationUpdateSeen {
1974
+ interface Params {}
1975
+ interface Input {
1976
+ seenAt: string;
1977
+ }
1978
+ type Output = undefined;
1979
+ }
1980
+
1981
+ namespace AppBskyRichtextFacet {
1982
+ /** Annotation of a sub-string within rich text. */
1983
+ interface Main {
1984
+ [Brand.Type]?: 'app.bsky.richtext.facet';
1985
+ features: Brand.Union<Link | Mention | Tag>[];
1986
+ index: ByteSlice;
1987
+ }
1988
+ /** 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. */
1989
+ interface ByteSlice {
1990
+ [Brand.Type]?: 'app.bsky.richtext.facet#byteSlice';
1991
+ /** Minimum: 0 */
1992
+ byteEnd: number;
1993
+ /** Minimum: 0 */
1994
+ byteStart: number;
1995
+ }
1996
+ /** Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL. */
1997
+ interface Link {
1998
+ [Brand.Type]?: 'app.bsky.richtext.facet#link';
1999
+ uri: string;
2000
+ }
2001
+ /** Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID. */
2002
+ interface Mention {
2003
+ [Brand.Type]?: 'app.bsky.richtext.facet#mention';
2004
+ did: At.DID;
2005
+ }
2006
+ /** 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'). */
2007
+ interface Tag {
2008
+ [Brand.Type]?: 'app.bsky.richtext.facet#tag';
2009
+ /**
2010
+ * Maximum string length: 640 \
2011
+ * Maximum grapheme length: 64
2012
+ */
2013
+ tag: string;
2014
+ }
2015
+ }
2016
+
2017
+ namespace AppBskyUnspeccedDefs {
2018
+ interface SkeletonSearchActor {
2019
+ [Brand.Type]?: 'app.bsky.unspecced.defs#skeletonSearchActor';
2020
+ did: At.DID;
2021
+ }
2022
+ interface SkeletonSearchPost {
2023
+ [Brand.Type]?: 'app.bsky.unspecced.defs#skeletonSearchPost';
2024
+ uri: At.Uri;
2025
+ }
2026
+ }
2027
+
2028
+ /** An unspecced view of globally popular feed generators. */
2029
+ namespace AppBskyUnspeccedGetPopularFeedGenerators {
2030
+ interface Params {
2031
+ cursor?: string;
2032
+ /**
2033
+ * Minimum: 1 \
2034
+ * Maximum: 100
2035
+ * @default 50
2036
+ */
2037
+ limit?: number;
2038
+ query?: string;
2039
+ }
2040
+ type Input = undefined;
2041
+ interface Output {
2042
+ feeds: AppBskyFeedDefs.GeneratorView[];
2043
+ cursor?: string;
2044
+ }
2045
+ }
2046
+
2047
+ /** Get a skeleton of suggested actors. Intended to be called and then hydrated through app.bsky.actor.getSuggestions */
2048
+ namespace AppBskyUnspeccedGetSuggestionsSkeleton {
2049
+ interface Params {
2050
+ cursor?: string;
2051
+ /**
2052
+ * Minimum: 1 \
2053
+ * Maximum: 100
2054
+ * @default 50
2055
+ */
2056
+ limit?: number;
2057
+ /** DID of the account to get suggestions relative to. If not provided, suggestions will be based on the viewer. */
2058
+ relativeToDid?: At.DID;
2059
+ /** DID of the account making the request (not included for public/unauthenticated queries). Used to boost followed accounts in ranking. */
2060
+ viewer?: At.DID;
2061
+ }
2062
+ type Input = undefined;
2063
+ interface Output {
2064
+ actors: AppBskyUnspeccedDefs.SkeletonSearchActor[];
2065
+ cursor?: string;
2066
+ /** DID of the account these suggestions are relative to. If this is returned undefined, suggestions are based on the viewer. */
2067
+ relativeToDid?: At.DID;
2068
+ }
2069
+ }
2070
+
2071
+ /** Get a list of suggestions (feeds and users) tagged with categories */
2072
+ namespace AppBskyUnspeccedGetTaggedSuggestions {
2073
+ type Input = undefined;
2074
+ interface Output {
2075
+ suggestions: Suggestion[];
2076
+ }
2077
+ interface Suggestion {
2078
+ [Brand.Type]?: 'app.bsky.unspecced.getTaggedSuggestions#suggestion';
2079
+ subject: string;
2080
+ subjectType: 'actor' | 'feed' | (string & {});
2081
+ tag: string;
2082
+ }
2083
+ }
2084
+
2085
+ /** Backend Actors (profile) search, returns only skeleton. */
2086
+ namespace AppBskyUnspeccedSearchActorsSkeleton {
2087
+ interface Params {
2088
+ /** Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. For typeahead search, only simple term match is supported, not full syntax. */
2089
+ q: string;
2090
+ /** Optional pagination mechanism; may not necessarily allow scrolling through entire result set. */
2091
+ cursor?: string;
2092
+ /**
2093
+ * Minimum: 1 \
2094
+ * Maximum: 100
2095
+ * @default 25
2096
+ */
2097
+ limit?: number;
2098
+ /** If true, acts as fast/simple 'typeahead' query. */
2099
+ typeahead?: boolean;
2100
+ /** DID of the account making the request (not included for public/unauthenticated queries). Used to boost followed accounts in ranking. */
2101
+ viewer?: At.DID;
2102
+ }
2103
+ type Input = undefined;
2104
+ interface Output {
2105
+ actors: AppBskyUnspeccedDefs.SkeletonSearchActor[];
2106
+ cursor?: string;
2107
+ /** Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits. */
2108
+ hitsTotal?: number;
2109
+ }
2110
+ interface Errors {
2111
+ BadQueryString: {};
2112
+ }
2113
+ }
2114
+
2115
+ /** Backend Posts search, returns only skeleton */
2116
+ namespace AppBskyUnspeccedSearchPostsSkeleton {
2117
+ interface Params {
2118
+ /** Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. */
2119
+ q: string;
2120
+ /** Filter to posts by the given account. Handles are resolved to DID before query-time. */
2121
+ author?: string;
2122
+ /** Optional pagination mechanism; may not necessarily allow scrolling through entire result set. */
2123
+ cursor?: string;
2124
+ /** Filter to posts with URLs (facet links or embeds) linking to the given domain (hostname). Server may apply hostname normalization. */
2125
+ domain?: string;
2126
+ /** Filter to posts in the given language. Expected to be based on post language field, though server may override language detection. */
2127
+ lang?: string;
2128
+ /**
2129
+ * Minimum: 1 \
2130
+ * Maximum: 100
2131
+ * @default 25
2132
+ */
2133
+ limit?: number;
2134
+ /** Filter to posts which mention the given account. Handles are resolved to DID before query-time. Only matches rich-text facet mentions. */
2135
+ mentions?: string;
2136
+ /** Filter results for posts after the indicated datetime (inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYYY-MM-DD). */
2137
+ since?: string;
2138
+ /**
2139
+ * Specifies the ranking order of results.
2140
+ * @default "latest"
2141
+ */
2142
+ sort?: 'latest' | 'top' | (string & {});
2143
+ /**
2144
+ * Filter to posts with the given tag (hashtag), based on rich-text facet or tag field. Do not include the hash (#) prefix. Multiple tags can be specified, with 'AND' matching. \
2145
+ * Maximum string length: 640 \
2146
+ * Maximum grapheme length: 64
2147
+ */
2148
+ tag?: string[];
2149
+ /** Filter results for posts before the indicated datetime (not inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYY-MM-DD). */
2150
+ until?: string;
2151
+ /** Filter to posts with links (facet links or embeds) pointing to this URL. Server may apply URL normalization or fuzzy matching. */
2152
+ url?: string;
2153
+ /** DID of the account making the request (not included for public/unauthenticated queries). Used for 'from:me' queries. */
2154
+ viewer?: At.DID;
2155
+ }
2156
+ type Input = undefined;
2157
+ interface Output {
2158
+ posts: AppBskyUnspeccedDefs.SkeletonSearchPost[];
2159
+ cursor?: string;
2160
+ /** Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits. */
2161
+ hitsTotal?: number;
2162
+ }
2163
+ interface Errors {
2164
+ BadQueryString: {};
2165
+ }
2166
+ }
2167
+
2168
+ namespace AppBskyVideoDefs {
2169
+ interface JobStatus {
2170
+ [Brand.Type]?: 'app.bsky.video.defs#jobStatus';
2171
+ did: At.DID;
2172
+ jobId: string;
2173
+ /** The state of the video processing job. All values not listed as a known value indicate that the job is in process. */
2174
+ state: 'JOB_STATE_COMPLETED' | 'JOB_STATE_FAILED' | (string & {});
2175
+ blob?: At.Blob;
2176
+ error?: string;
2177
+ message?: string;
2178
+ /**
2179
+ * Progress within the current processing state. \
2180
+ * Minimum: 0 \
2181
+ * Maximum: 100
2182
+ */
2183
+ progress?: number;
2184
+ }
2185
+ }
2186
+
2187
+ /** Get status details for a video processing job. */
2188
+ namespace AppBskyVideoGetJobStatus {
2189
+ interface Params {
2190
+ jobId: string;
2191
+ }
2192
+ type Input = undefined;
2193
+ interface Output {
2194
+ jobStatus: AppBskyVideoDefs.JobStatus;
2195
+ }
2196
+ }
2197
+
2198
+ /** Get video upload limits for the authenticated user. */
2199
+ namespace AppBskyVideoGetUploadLimits {
2200
+ interface Params {}
2201
+ type Input = undefined;
2202
+ interface Output {
2203
+ canUpload: boolean;
2204
+ error?: string;
2205
+ message?: string;
2206
+ remainingDailyBytes?: number;
2207
+ remainingDailyVideos?: number;
2208
+ }
2209
+ }
2210
+
2211
+ /** Upload a video to be processed then stored on the PDS. */
2212
+ namespace AppBskyVideoUploadVideo {
2213
+ interface Params {}
2214
+ type Input = Blob | ArrayBufferView;
2215
+ interface Output {
2216
+ jobStatus: AppBskyVideoDefs.JobStatus;
2217
+ }
2218
+ }
2219
+
2220
+ namespace ChatBskyActorDeclaration {
2221
+ /** A declaration of a Bluesky chat account. */
2222
+ interface Record {
2223
+ $type: 'chat.bsky.actor.declaration';
2224
+ allowIncoming: 'all' | 'following' | 'none' | (string & {});
2225
+ }
2226
+ }
2227
+
2228
+ namespace ChatBskyActorDefs {
2229
+ interface ProfileViewBasic {
2230
+ [Brand.Type]?: 'chat.bsky.actor.defs#profileViewBasic';
2231
+ did: At.DID;
2232
+ handle: At.Handle;
2233
+ associated?: AppBskyActorDefs.ProfileAssociated;
2234
+ avatar?: string;
2235
+ /** Set to true when the actor cannot actively participate in converations */
2236
+ chatDisabled?: boolean;
2237
+ /**
2238
+ * Maximum string length: 640 \
2239
+ * Maximum grapheme length: 64
2240
+ */
2241
+ displayName?: string;
2242
+ labels?: ComAtprotoLabelDefs.Label[];
2243
+ viewer?: AppBskyActorDefs.ViewerState;
2244
+ }
2245
+ }
2246
+
2247
+ namespace ChatBskyActorDeleteAccount {
2248
+ interface Params {}
2249
+ type Input = undefined;
2250
+ interface Output {}
2251
+ }
2252
+
2253
+ namespace ChatBskyActorExportAccountData {
2254
+ interface Params {}
2255
+ type Input = undefined;
2256
+ type Output = Uint8Array;
2257
+ }
2258
+
2259
+ namespace ChatBskyConvoDefs {
2260
+ interface ConvoView {
2261
+ [Brand.Type]?: 'chat.bsky.convo.defs#convoView';
2262
+ id: string;
2263
+ members: ChatBskyActorDefs.ProfileViewBasic[];
2264
+ muted: boolean;
2265
+ rev: string;
2266
+ unreadCount: number;
2267
+ lastMessage?: Brand.Union<DeletedMessageView | MessageView>;
2268
+ }
2269
+ interface DeletedMessageView {
2270
+ [Brand.Type]?: 'chat.bsky.convo.defs#deletedMessageView';
2271
+ id: string;
2272
+ rev: string;
2273
+ sender: MessageViewSender;
2274
+ sentAt: string;
2275
+ }
2276
+ interface LogBeginConvo {
2277
+ [Brand.Type]?: 'chat.bsky.convo.defs#logBeginConvo';
2278
+ convoId: string;
2279
+ rev: string;
2280
+ }
2281
+ interface LogCreateMessage {
2282
+ [Brand.Type]?: 'chat.bsky.convo.defs#logCreateMessage';
2283
+ convoId: string;
2284
+ message: Brand.Union<DeletedMessageView | MessageView>;
2285
+ rev: string;
2286
+ }
2287
+ interface LogDeleteMessage {
2288
+ [Brand.Type]?: 'chat.bsky.convo.defs#logDeleteMessage';
2289
+ convoId: string;
2290
+ message: Brand.Union<DeletedMessageView | MessageView>;
2291
+ rev: string;
2292
+ }
2293
+ interface LogLeaveConvo {
2294
+ [Brand.Type]?: 'chat.bsky.convo.defs#logLeaveConvo';
2295
+ convoId: string;
2296
+ rev: string;
2297
+ }
2298
+ interface MessageInput {
2299
+ [Brand.Type]?: 'chat.bsky.convo.defs#messageInput';
2300
+ /**
2301
+ * Maximum string length: 10000 \
2302
+ * Maximum grapheme length: 1000
2303
+ */
2304
+ text: string;
2305
+ embed?: Brand.Union<AppBskyEmbedRecord.Main>;
2306
+ /** Annotations of text (mentions, URLs, hashtags, etc) */
2307
+ facets?: AppBskyRichtextFacet.Main[];
2308
+ }
2309
+ interface MessageRef {
2310
+ [Brand.Type]?: 'chat.bsky.convo.defs#messageRef';
2311
+ convoId: string;
2312
+ did: At.DID;
2313
+ messageId: string;
2314
+ }
2315
+ interface MessageView {
2316
+ [Brand.Type]?: 'chat.bsky.convo.defs#messageView';
2317
+ id: string;
2318
+ rev: string;
2319
+ sender: MessageViewSender;
2320
+ sentAt: string;
2321
+ /**
2322
+ * Maximum string length: 10000 \
2323
+ * Maximum grapheme length: 1000
2324
+ */
2325
+ text: string;
2326
+ embed?: Brand.Union<AppBskyEmbedRecord.View>;
2327
+ /** Annotations of text (mentions, URLs, hashtags, etc) */
2328
+ facets?: AppBskyRichtextFacet.Main[];
2329
+ }
2330
+ interface MessageViewSender {
2331
+ [Brand.Type]?: 'chat.bsky.convo.defs#messageViewSender';
2332
+ did: At.DID;
2333
+ }
2334
+ }
2335
+
2336
+ namespace ChatBskyConvoDeleteMessageForSelf {
2337
+ interface Params {}
2338
+ interface Input {
2339
+ convoId: string;
2340
+ messageId: string;
2341
+ }
2342
+ type Output = ChatBskyConvoDefs.DeletedMessageView;
2343
+ }
2344
+
2345
+ namespace ChatBskyConvoGetConvo {
2346
+ interface Params {
2347
+ convoId: string;
2348
+ }
2349
+ type Input = undefined;
2350
+ interface Output {
2351
+ convo: ChatBskyConvoDefs.ConvoView;
2352
+ }
2353
+ }
2354
+
2355
+ namespace ChatBskyConvoGetConvoForMembers {
2356
+ interface Params {
2357
+ /**
2358
+ * Minimum array length: 1 \
2359
+ * Maximum array length: 10
2360
+ */
2361
+ members: At.DID[];
2362
+ }
2363
+ type Input = undefined;
2364
+ interface Output {
2365
+ convo: ChatBskyConvoDefs.ConvoView;
2366
+ }
2367
+ }
2368
+
2369
+ namespace ChatBskyConvoGetLog {
2370
+ interface Params {
2371
+ cursor?: string;
2372
+ }
2373
+ type Input = undefined;
2374
+ interface Output {
2375
+ logs: Brand.Union<
2376
+ | ChatBskyConvoDefs.LogBeginConvo
2377
+ | ChatBskyConvoDefs.LogCreateMessage
2378
+ | ChatBskyConvoDefs.LogDeleteMessage
2379
+ | ChatBskyConvoDefs.LogLeaveConvo
2380
+ >[];
2381
+ cursor?: string;
2382
+ }
2383
+ }
2384
+
2385
+ namespace ChatBskyConvoGetMessages {
2386
+ interface Params {
2387
+ convoId: string;
2388
+ cursor?: string;
2389
+ /**
2390
+ * Minimum: 1 \
2391
+ * Maximum: 100
2392
+ * @default 50
2393
+ */
2394
+ limit?: number;
2395
+ }
2396
+ type Input = undefined;
2397
+ interface Output {
2398
+ messages: Brand.Union<ChatBskyConvoDefs.DeletedMessageView | ChatBskyConvoDefs.MessageView>[];
2399
+ cursor?: string;
2400
+ }
2401
+ }
2402
+
2403
+ namespace ChatBskyConvoLeaveConvo {
2404
+ interface Params {}
2405
+ interface Input {
2406
+ convoId: string;
2407
+ }
2408
+ interface Output {
2409
+ convoId: string;
2410
+ rev: string;
2411
+ }
2412
+ }
2413
+
2414
+ namespace ChatBskyConvoListConvos {
2415
+ interface Params {
2416
+ cursor?: string;
2417
+ /**
2418
+ * Minimum: 1 \
2419
+ * Maximum: 100
2420
+ * @default 50
2421
+ */
2422
+ limit?: number;
2423
+ }
2424
+ type Input = undefined;
2425
+ interface Output {
2426
+ convos: ChatBskyConvoDefs.ConvoView[];
2427
+ cursor?: string;
2428
+ }
2429
+ }
2430
+
2431
+ namespace ChatBskyConvoMuteConvo {
2432
+ interface Params {}
2433
+ interface Input {
2434
+ convoId: string;
2435
+ }
2436
+ interface Output {
2437
+ convo: ChatBskyConvoDefs.ConvoView;
2438
+ }
2439
+ }
2440
+
2441
+ namespace ChatBskyConvoSendMessage {
2442
+ interface Params {}
2443
+ interface Input {
2444
+ convoId: string;
2445
+ message: ChatBskyConvoDefs.MessageInput;
2446
+ }
2447
+ type Output = ChatBskyConvoDefs.MessageView;
2448
+ }
2449
+
2450
+ namespace ChatBskyConvoSendMessageBatch {
2451
+ interface Params {}
2452
+ interface Input {
2453
+ /** Maximum array length: 100 */
2454
+ items: BatchItem[];
2455
+ }
2456
+ interface Output {
2457
+ items: ChatBskyConvoDefs.MessageView[];
2458
+ }
2459
+ interface BatchItem {
2460
+ [Brand.Type]?: 'chat.bsky.convo.sendMessageBatch#batchItem';
2461
+ convoId: string;
2462
+ message: ChatBskyConvoDefs.MessageInput;
2463
+ }
2464
+ }
2465
+
2466
+ namespace ChatBskyConvoUnmuteConvo {
2467
+ interface Params {}
2468
+ interface Input {
2469
+ convoId: string;
2470
+ }
2471
+ interface Output {
2472
+ convo: ChatBskyConvoDefs.ConvoView;
2473
+ }
2474
+ }
2475
+
2476
+ namespace ChatBskyConvoUpdateRead {
2477
+ interface Params {}
2478
+ interface Input {
2479
+ convoId: string;
2480
+ messageId?: string;
2481
+ }
2482
+ interface Output {
2483
+ convo: ChatBskyConvoDefs.ConvoView;
2484
+ }
2485
+ }
2486
+
2487
+ namespace ChatBskyModerationGetActorMetadata {
2488
+ interface Params {
2489
+ actor: At.DID;
2490
+ }
2491
+ type Input = undefined;
2492
+ interface Output {
2493
+ all: Metadata;
2494
+ day: Metadata;
2495
+ month: Metadata;
2496
+ }
2497
+ interface Metadata {
2498
+ [Brand.Type]?: 'chat.bsky.moderation.getActorMetadata#metadata';
2499
+ convos: number;
2500
+ convosStarted: number;
2501
+ messagesReceived: number;
2502
+ messagesSent: number;
2503
+ }
2504
+ }
2505
+
2506
+ namespace ChatBskyModerationGetMessageContext {
2507
+ interface Params {
2508
+ messageId: string;
2509
+ /** @default 5 */
2510
+ after?: number;
2511
+ /** @default 5 */
2512
+ before?: number;
2513
+ /** Conversation that the message is from. NOTE: this field will eventually be required. */
2514
+ convoId?: string;
2515
+ }
2516
+ type Input = undefined;
2517
+ interface Output {
2518
+ messages: Brand.Union<ChatBskyConvoDefs.DeletedMessageView | ChatBskyConvoDefs.MessageView>[];
2519
+ }
2520
+ }
2521
+
2522
+ namespace ChatBskyModerationUpdateActorAccess {
2523
+ interface Params {}
2524
+ interface Input {
2525
+ actor: At.DID;
2526
+ allowAccess: boolean;
2527
+ ref?: string;
2528
+ }
2529
+ type Output = undefined;
2530
+ }
2531
+
2532
+ interface Records {
2533
+ 'app.bsky.actor.profile': AppBskyActorProfile.Record;
2534
+ 'app.bsky.feed.generator': AppBskyFeedGenerator.Record;
2535
+ 'app.bsky.feed.like': AppBskyFeedLike.Record;
2536
+ 'app.bsky.feed.post': AppBskyFeedPost.Record;
2537
+ 'app.bsky.feed.postgate': AppBskyFeedPostgate.Record;
2538
+ 'app.bsky.feed.repost': AppBskyFeedRepost.Record;
2539
+ 'app.bsky.feed.threadgate': AppBskyFeedThreadgate.Record;
2540
+ 'app.bsky.graph.block': AppBskyGraphBlock.Record;
2541
+ 'app.bsky.graph.follow': AppBskyGraphFollow.Record;
2542
+ 'app.bsky.graph.list': AppBskyGraphList.Record;
2543
+ 'app.bsky.graph.listblock': AppBskyGraphListblock.Record;
2544
+ 'app.bsky.graph.listitem': AppBskyGraphListitem.Record;
2545
+ 'app.bsky.graph.starterpack': AppBskyGraphStarterpack.Record;
2546
+ 'app.bsky.labeler.service': AppBskyLabelerService.Record;
2547
+ 'chat.bsky.actor.declaration': ChatBskyActorDeclaration.Record;
2548
+ }
2549
+
2550
+ interface Queries {
2551
+ 'app.bsky.actor.getPreferences': {
2552
+ output: AppBskyActorGetPreferences.Output;
2553
+ };
2554
+ 'app.bsky.actor.getProfile': {
2555
+ params: AppBskyActorGetProfile.Params;
2556
+ output: AppBskyActorGetProfile.Output;
2557
+ };
2558
+ 'app.bsky.actor.getProfiles': {
2559
+ params: AppBskyActorGetProfiles.Params;
2560
+ output: AppBskyActorGetProfiles.Output;
2561
+ };
2562
+ 'app.bsky.actor.getSuggestions': {
2563
+ params: AppBskyActorGetSuggestions.Params;
2564
+ output: AppBskyActorGetSuggestions.Output;
2565
+ };
2566
+ 'app.bsky.actor.searchActors': {
2567
+ params: AppBskyActorSearchActors.Params;
2568
+ output: AppBskyActorSearchActors.Output;
2569
+ };
2570
+ 'app.bsky.actor.searchActorsTypeahead': {
2571
+ params: AppBskyActorSearchActorsTypeahead.Params;
2572
+ output: AppBskyActorSearchActorsTypeahead.Output;
2573
+ };
2574
+ 'app.bsky.feed.describeFeedGenerator': {
2575
+ output: AppBskyFeedDescribeFeedGenerator.Output;
2576
+ };
2577
+ 'app.bsky.feed.getActorFeeds': {
2578
+ params: AppBskyFeedGetActorFeeds.Params;
2579
+ output: AppBskyFeedGetActorFeeds.Output;
2580
+ };
2581
+ 'app.bsky.feed.getActorLikes': {
2582
+ params: AppBskyFeedGetActorLikes.Params;
2583
+ output: AppBskyFeedGetActorLikes.Output;
2584
+ };
2585
+ 'app.bsky.feed.getAuthorFeed': {
2586
+ params: AppBskyFeedGetAuthorFeed.Params;
2587
+ output: AppBskyFeedGetAuthorFeed.Output;
2588
+ };
2589
+ 'app.bsky.feed.getFeed': {
2590
+ params: AppBskyFeedGetFeed.Params;
2591
+ output: AppBskyFeedGetFeed.Output;
2592
+ };
2593
+ 'app.bsky.feed.getFeedGenerator': {
2594
+ params: AppBskyFeedGetFeedGenerator.Params;
2595
+ output: AppBskyFeedGetFeedGenerator.Output;
2596
+ };
2597
+ 'app.bsky.feed.getFeedGenerators': {
2598
+ params: AppBskyFeedGetFeedGenerators.Params;
2599
+ output: AppBskyFeedGetFeedGenerators.Output;
2600
+ };
2601
+ 'app.bsky.feed.getFeedSkeleton': {
2602
+ params: AppBskyFeedGetFeedSkeleton.Params;
2603
+ output: AppBskyFeedGetFeedSkeleton.Output;
2604
+ };
2605
+ 'app.bsky.feed.getLikes': {
2606
+ params: AppBskyFeedGetLikes.Params;
2607
+ output: AppBskyFeedGetLikes.Output;
2608
+ };
2609
+ 'app.bsky.feed.getListFeed': {
2610
+ params: AppBskyFeedGetListFeed.Params;
2611
+ output: AppBskyFeedGetListFeed.Output;
2612
+ };
2613
+ 'app.bsky.feed.getPosts': {
2614
+ params: AppBskyFeedGetPosts.Params;
2615
+ output: AppBskyFeedGetPosts.Output;
2616
+ };
2617
+ 'app.bsky.feed.getPostThread': {
2618
+ params: AppBskyFeedGetPostThread.Params;
2619
+ output: AppBskyFeedGetPostThread.Output;
2620
+ };
2621
+ 'app.bsky.feed.getQuotes': {
2622
+ params: AppBskyFeedGetQuotes.Params;
2623
+ output: AppBskyFeedGetQuotes.Output;
2624
+ };
2625
+ 'app.bsky.feed.getRepostedBy': {
2626
+ params: AppBskyFeedGetRepostedBy.Params;
2627
+ output: AppBskyFeedGetRepostedBy.Output;
2628
+ };
2629
+ 'app.bsky.feed.getSuggestedFeeds': {
2630
+ params: AppBskyFeedGetSuggestedFeeds.Params;
2631
+ output: AppBskyFeedGetSuggestedFeeds.Output;
2632
+ };
2633
+ 'app.bsky.feed.getTimeline': {
2634
+ params: AppBskyFeedGetTimeline.Params;
2635
+ output: AppBskyFeedGetTimeline.Output;
2636
+ };
2637
+ 'app.bsky.feed.searchPosts': {
2638
+ params: AppBskyFeedSearchPosts.Params;
2639
+ output: AppBskyFeedSearchPosts.Output;
2640
+ };
2641
+ 'app.bsky.graph.getActorStarterPacks': {
2642
+ params: AppBskyGraphGetActorStarterPacks.Params;
2643
+ output: AppBskyGraphGetActorStarterPacks.Output;
2644
+ };
2645
+ 'app.bsky.graph.getBlocks': {
2646
+ params: AppBskyGraphGetBlocks.Params;
2647
+ output: AppBskyGraphGetBlocks.Output;
2648
+ };
2649
+ 'app.bsky.graph.getFollowers': {
2650
+ params: AppBskyGraphGetFollowers.Params;
2651
+ output: AppBskyGraphGetFollowers.Output;
2652
+ };
2653
+ 'app.bsky.graph.getFollows': {
2654
+ params: AppBskyGraphGetFollows.Params;
2655
+ output: AppBskyGraphGetFollows.Output;
2656
+ };
2657
+ 'app.bsky.graph.getKnownFollowers': {
2658
+ params: AppBskyGraphGetKnownFollowers.Params;
2659
+ output: AppBskyGraphGetKnownFollowers.Output;
2660
+ };
2661
+ 'app.bsky.graph.getList': {
2662
+ params: AppBskyGraphGetList.Params;
2663
+ output: AppBskyGraphGetList.Output;
2664
+ };
2665
+ 'app.bsky.graph.getListBlocks': {
2666
+ params: AppBskyGraphGetListBlocks.Params;
2667
+ output: AppBskyGraphGetListBlocks.Output;
2668
+ };
2669
+ 'app.bsky.graph.getListMutes': {
2670
+ params: AppBskyGraphGetListMutes.Params;
2671
+ output: AppBskyGraphGetListMutes.Output;
2672
+ };
2673
+ 'app.bsky.graph.getLists': {
2674
+ params: AppBskyGraphGetLists.Params;
2675
+ output: AppBskyGraphGetLists.Output;
2676
+ };
2677
+ 'app.bsky.graph.getMutes': {
2678
+ params: AppBskyGraphGetMutes.Params;
2679
+ output: AppBskyGraphGetMutes.Output;
2680
+ };
2681
+ 'app.bsky.graph.getRelationships': {
2682
+ params: AppBskyGraphGetRelationships.Params;
2683
+ output: AppBskyGraphGetRelationships.Output;
2684
+ };
2685
+ 'app.bsky.graph.getStarterPack': {
2686
+ params: AppBskyGraphGetStarterPack.Params;
2687
+ output: AppBskyGraphGetStarterPack.Output;
2688
+ };
2689
+ 'app.bsky.graph.getStarterPacks': {
2690
+ params: AppBskyGraphGetStarterPacks.Params;
2691
+ output: AppBskyGraphGetStarterPacks.Output;
2692
+ };
2693
+ 'app.bsky.graph.getSuggestedFollowsByActor': {
2694
+ params: AppBskyGraphGetSuggestedFollowsByActor.Params;
2695
+ output: AppBskyGraphGetSuggestedFollowsByActor.Output;
2696
+ };
2697
+ 'app.bsky.labeler.getServices': {
2698
+ params: AppBskyLabelerGetServices.Params;
2699
+ output: AppBskyLabelerGetServices.Output;
2700
+ };
2701
+ 'app.bsky.notification.getUnreadCount': {
2702
+ params: AppBskyNotificationGetUnreadCount.Params;
2703
+ output: AppBskyNotificationGetUnreadCount.Output;
2704
+ };
2705
+ 'app.bsky.notification.listNotifications': {
2706
+ params: AppBskyNotificationListNotifications.Params;
2707
+ output: AppBskyNotificationListNotifications.Output;
2708
+ };
2709
+ 'app.bsky.unspecced.getPopularFeedGenerators': {
2710
+ params: AppBskyUnspeccedGetPopularFeedGenerators.Params;
2711
+ output: AppBskyUnspeccedGetPopularFeedGenerators.Output;
2712
+ };
2713
+ 'app.bsky.unspecced.getSuggestionsSkeleton': {
2714
+ params: AppBskyUnspeccedGetSuggestionsSkeleton.Params;
2715
+ output: AppBskyUnspeccedGetSuggestionsSkeleton.Output;
2716
+ };
2717
+ 'app.bsky.unspecced.getTaggedSuggestions': {
2718
+ output: AppBskyUnspeccedGetTaggedSuggestions.Output;
2719
+ };
2720
+ 'app.bsky.unspecced.searchActorsSkeleton': {
2721
+ params: AppBskyUnspeccedSearchActorsSkeleton.Params;
2722
+ output: AppBskyUnspeccedSearchActorsSkeleton.Output;
2723
+ };
2724
+ 'app.bsky.unspecced.searchPostsSkeleton': {
2725
+ params: AppBskyUnspeccedSearchPostsSkeleton.Params;
2726
+ output: AppBskyUnspeccedSearchPostsSkeleton.Output;
2727
+ };
2728
+ 'app.bsky.video.getJobStatus': {
2729
+ params: AppBskyVideoGetJobStatus.Params;
2730
+ output: AppBskyVideoGetJobStatus.Output;
2731
+ };
2732
+ 'app.bsky.video.getUploadLimits': {
2733
+ output: AppBskyVideoGetUploadLimits.Output;
2734
+ };
2735
+ 'chat.bsky.actor.exportAccountData': {
2736
+ output: ChatBskyActorExportAccountData.Output;
2737
+ };
2738
+ 'chat.bsky.convo.getConvo': {
2739
+ params: ChatBskyConvoGetConvo.Params;
2740
+ output: ChatBskyConvoGetConvo.Output;
2741
+ };
2742
+ 'chat.bsky.convo.getConvoForMembers': {
2743
+ params: ChatBskyConvoGetConvoForMembers.Params;
2744
+ output: ChatBskyConvoGetConvoForMembers.Output;
2745
+ };
2746
+ 'chat.bsky.convo.getLog': {
2747
+ params: ChatBskyConvoGetLog.Params;
2748
+ output: ChatBskyConvoGetLog.Output;
2749
+ };
2750
+ 'chat.bsky.convo.getMessages': {
2751
+ params: ChatBskyConvoGetMessages.Params;
2752
+ output: ChatBskyConvoGetMessages.Output;
2753
+ };
2754
+ 'chat.bsky.convo.listConvos': {
2755
+ params: ChatBskyConvoListConvos.Params;
2756
+ output: ChatBskyConvoListConvos.Output;
2757
+ };
2758
+ 'chat.bsky.moderation.getActorMetadata': {
2759
+ params: ChatBskyModerationGetActorMetadata.Params;
2760
+ output: ChatBskyModerationGetActorMetadata.Output;
2761
+ };
2762
+ 'chat.bsky.moderation.getMessageContext': {
2763
+ params: ChatBskyModerationGetMessageContext.Params;
2764
+ output: ChatBskyModerationGetMessageContext.Output;
2765
+ };
2766
+ }
2767
+
2768
+ interface Procedures {
2769
+ 'app.bsky.actor.putPreferences': {
2770
+ input: AppBskyActorPutPreferences.Input;
2771
+ };
2772
+ 'app.bsky.feed.sendInteractions': {
2773
+ input: AppBskyFeedSendInteractions.Input;
2774
+ output: AppBskyFeedSendInteractions.Output;
2775
+ };
2776
+ 'app.bsky.graph.muteActor': {
2777
+ input: AppBskyGraphMuteActor.Input;
2778
+ };
2779
+ 'app.bsky.graph.muteActorList': {
2780
+ input: AppBskyGraphMuteActorList.Input;
2781
+ };
2782
+ 'app.bsky.graph.muteThread': {
2783
+ input: AppBskyGraphMuteThread.Input;
2784
+ };
2785
+ 'app.bsky.graph.unmuteActor': {
2786
+ input: AppBskyGraphUnmuteActor.Input;
2787
+ };
2788
+ 'app.bsky.graph.unmuteActorList': {
2789
+ input: AppBskyGraphUnmuteActorList.Input;
2790
+ };
2791
+ 'app.bsky.graph.unmuteThread': {
2792
+ input: AppBskyGraphUnmuteThread.Input;
2793
+ };
2794
+ 'app.bsky.notification.putPreferences': {
2795
+ input: AppBskyNotificationPutPreferences.Input;
2796
+ };
2797
+ 'app.bsky.notification.registerPush': {
2798
+ input: AppBskyNotificationRegisterPush.Input;
2799
+ };
2800
+ 'app.bsky.notification.updateSeen': {
2801
+ input: AppBskyNotificationUpdateSeen.Input;
2802
+ };
2803
+ 'app.bsky.video.uploadVideo': {
2804
+ input: AppBskyVideoUploadVideo.Input;
2805
+ output: AppBskyVideoUploadVideo.Output;
2806
+ };
2807
+ 'chat.bsky.actor.deleteAccount': {
2808
+ output: ChatBskyActorDeleteAccount.Output;
2809
+ };
2810
+ 'chat.bsky.convo.deleteMessageForSelf': {
2811
+ input: ChatBskyConvoDeleteMessageForSelf.Input;
2812
+ output: ChatBskyConvoDeleteMessageForSelf.Output;
2813
+ };
2814
+ 'chat.bsky.convo.leaveConvo': {
2815
+ input: ChatBskyConvoLeaveConvo.Input;
2816
+ output: ChatBskyConvoLeaveConvo.Output;
2817
+ };
2818
+ 'chat.bsky.convo.muteConvo': {
2819
+ input: ChatBskyConvoMuteConvo.Input;
2820
+ output: ChatBskyConvoMuteConvo.Output;
2821
+ };
2822
+ 'chat.bsky.convo.sendMessage': {
2823
+ input: ChatBskyConvoSendMessage.Input;
2824
+ output: ChatBskyConvoSendMessage.Output;
2825
+ };
2826
+ 'chat.bsky.convo.sendMessageBatch': {
2827
+ input: ChatBskyConvoSendMessageBatch.Input;
2828
+ output: ChatBskyConvoSendMessageBatch.Output;
2829
+ };
2830
+ 'chat.bsky.convo.unmuteConvo': {
2831
+ input: ChatBskyConvoUnmuteConvo.Input;
2832
+ output: ChatBskyConvoUnmuteConvo.Output;
2833
+ };
2834
+ 'chat.bsky.convo.updateRead': {
2835
+ input: ChatBskyConvoUpdateRead.Input;
2836
+ output: ChatBskyConvoUpdateRead.Output;
2837
+ };
2838
+ 'chat.bsky.moderation.updateActorAccess': {
2839
+ input: ChatBskyModerationUpdateActorAccess.Input;
2840
+ };
2841
+ }
2842
+ }