@atproto/bsky 0.0.151 → 0.0.152

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 (60) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/api/app/bsky/unspecced/getPostThreadHiddenV2.d.ts +4 -0
  3. package/dist/api/app/bsky/unspecced/getPostThreadHiddenV2.d.ts.map +1 -0
  4. package/dist/api/app/bsky/unspecced/getPostThreadHiddenV2.js +76 -0
  5. package/dist/api/app/bsky/unspecced/getPostThreadHiddenV2.js.map +1 -0
  6. package/dist/api/app/bsky/unspecced/getPostThreadV2.d.ts +4 -0
  7. package/dist/api/app/bsky/unspecced/getPostThreadV2.d.ts.map +1 -0
  8. package/dist/api/app/bsky/unspecced/getPostThreadV2.js +86 -0
  9. package/dist/api/app/bsky/unspecced/getPostThreadV2.js.map +1 -0
  10. package/dist/api/index.d.ts.map +1 -1
  11. package/dist/api/index.js +4 -0
  12. package/dist/api/index.js.map +1 -1
  13. package/dist/config.d.ts +2 -0
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +7 -0
  16. package/dist/config.js.map +1 -1
  17. package/dist/hydration/feed.d.ts.map +1 -1
  18. package/dist/hydration/feed.js.map +1 -1
  19. package/dist/lexicon/index.d.ts +6 -2
  20. package/dist/lexicon/index.d.ts.map +1 -1
  21. package/dist/lexicon/index.js +12 -4
  22. package/dist/lexicon/index.js.map +1 -1
  23. package/dist/lexicon/lexicons.d.ts +498 -82
  24. package/dist/lexicon/lexicons.d.ts.map +1 -1
  25. package/dist/lexicon/lexicons.js +259 -42
  26. package/dist/lexicon/lexicons.js.map +1 -1
  27. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.d.ts +61 -0
  28. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.d.ts.map +1 -0
  29. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.js +25 -0
  30. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.js.map +1 -0
  31. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.d.ts +92 -0
  32. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.d.ts.map +1 -0
  33. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.js +52 -0
  34. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.js.map +1 -0
  35. package/dist/views/index.d.ts +35 -0
  36. package/dist/views/index.d.ts.map +1 -1
  37. package/dist/views/index.js +463 -0
  38. package/dist/views/index.js.map +1 -1
  39. package/dist/views/threads-v2.d.ts +62 -0
  40. package/dist/views/threads-v2.d.ts.map +1 -0
  41. package/dist/views/threads-v2.js +180 -0
  42. package/dist/views/threads-v2.js.map +1 -0
  43. package/package.json +4 -4
  44. package/src/api/app/bsky/unspecced/getPostThreadHiddenV2.ts +116 -0
  45. package/src/api/app/bsky/unspecced/getPostThreadV2.ts +130 -0
  46. package/src/api/index.ts +4 -0
  47. package/src/config.ts +9 -0
  48. package/src/hydration/feed.ts +1 -0
  49. package/src/lexicon/index.ts +33 -9
  50. package/src/lexicon/lexicons.ts +278 -43
  51. package/src/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.ts +93 -0
  52. package/src/lexicon/types/app/bsky/unspecced/getPostThreadV2.ts +160 -0
  53. package/src/views/index.ts +742 -0
  54. package/src/views/threads-v2.ts +351 -0
  55. package/tests/seed/thread-v2.ts +775 -0
  56. package/tests/seed/util.ts +52 -0
  57. package/tests/views/__snapshots__/thread-v2.test.ts.snap +1091 -0
  58. package/tests/views/thread-v2.test.ts +2009 -0
  59. package/tsconfig.build.tsbuildinfo +1 -1
  60. package/tsconfig.tests.tsbuildinfo +1 -1
@@ -6650,47 +6650,6 @@ export declare const schemaDict: {
6650
6650
  };
6651
6651
  };
6652
6652
  };
6653
- readonly AppBskyFeedGetPosts: {
6654
- readonly lexicon: 1;
6655
- readonly id: "app.bsky.feed.getPosts";
6656
- readonly defs: {
6657
- readonly main: {
6658
- readonly type: "query";
6659
- readonly description: "Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'.";
6660
- readonly parameters: {
6661
- readonly type: "params";
6662
- readonly required: ["uris"];
6663
- readonly properties: {
6664
- readonly uris: {
6665
- readonly type: "array";
6666
- readonly description: "List of post AT-URIs to return hydrated views for.";
6667
- readonly items: {
6668
- readonly type: "string";
6669
- readonly format: "at-uri";
6670
- };
6671
- readonly maxLength: 25;
6672
- };
6673
- };
6674
- };
6675
- readonly output: {
6676
- readonly encoding: "application/json";
6677
- readonly schema: {
6678
- readonly type: "object";
6679
- readonly required: ["posts"];
6680
- readonly properties: {
6681
- readonly posts: {
6682
- readonly type: "array";
6683
- readonly items: {
6684
- readonly type: "ref";
6685
- readonly ref: "lex:app.bsky.feed.defs#postView";
6686
- };
6687
- };
6688
- };
6689
- };
6690
- };
6691
- };
6692
- };
6693
- };
6694
6653
  readonly AppBskyFeedGetPostThread: {
6695
6654
  readonly lexicon: 1;
6696
6655
  readonly id: "app.bsky.feed.getPostThread";
@@ -6746,6 +6705,47 @@ export declare const schemaDict: {
6746
6705
  };
6747
6706
  };
6748
6707
  };
6708
+ readonly AppBskyFeedGetPosts: {
6709
+ readonly lexicon: 1;
6710
+ readonly id: "app.bsky.feed.getPosts";
6711
+ readonly defs: {
6712
+ readonly main: {
6713
+ readonly type: "query";
6714
+ readonly description: "Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'.";
6715
+ readonly parameters: {
6716
+ readonly type: "params";
6717
+ readonly required: ["uris"];
6718
+ readonly properties: {
6719
+ readonly uris: {
6720
+ readonly type: "array";
6721
+ readonly description: "List of post AT-URIs to return hydrated views for.";
6722
+ readonly items: {
6723
+ readonly type: "string";
6724
+ readonly format: "at-uri";
6725
+ };
6726
+ readonly maxLength: 25;
6727
+ };
6728
+ };
6729
+ };
6730
+ readonly output: {
6731
+ readonly encoding: "application/json";
6732
+ readonly schema: {
6733
+ readonly type: "object";
6734
+ readonly required: ["posts"];
6735
+ readonly properties: {
6736
+ readonly posts: {
6737
+ readonly type: "array";
6738
+ readonly items: {
6739
+ readonly type: "ref";
6740
+ readonly ref: "lex:app.bsky.feed.defs#postView";
6741
+ };
6742
+ };
6743
+ };
6744
+ };
6745
+ };
6746
+ };
6747
+ };
6748
+ };
6749
6749
  readonly AppBskyFeedGetQuotes: {
6750
6750
  readonly lexicon: 1;
6751
6751
  readonly id: "app.bsky.feed.getQuotes";
@@ -9545,6 +9545,214 @@ export declare const schemaDict: {
9545
9545
  };
9546
9546
  };
9547
9547
  };
9548
+ readonly AppBskyUnspeccedGetPostThreadHiddenV2: {
9549
+ readonly lexicon: 1;
9550
+ readonly id: "app.bsky.unspecced.getPostThreadHiddenV2";
9551
+ readonly defs: {
9552
+ readonly main: {
9553
+ readonly type: "query";
9554
+ readonly description: "(NOTE: this endpoint is under development and WILL change without notice. Don't use it until it is moved out of `unspecced` or your application WILL break) Get the hidden posts in a thread. It is based in an anchor post at any depth of the tree, and returns hidden replies (recursive replies, with branching to their replies) below the anchor. It does not include ancestors nor the anchor. This should be called after exhausting `app.bsky.unspecced.getPostThreadV2`. Does not require auth, but additional metadata and filtering will be applied for authed requests.";
9555
+ readonly parameters: {
9556
+ readonly type: "params";
9557
+ readonly required: ["anchor"];
9558
+ readonly properties: {
9559
+ readonly anchor: {
9560
+ readonly type: "string";
9561
+ readonly format: "at-uri";
9562
+ readonly description: "Reference (AT-URI) to post record. This is the anchor post.";
9563
+ };
9564
+ };
9565
+ };
9566
+ readonly output: {
9567
+ readonly encoding: "application/json";
9568
+ readonly schema: {
9569
+ readonly type: "object";
9570
+ readonly required: ["thread"];
9571
+ readonly properties: {
9572
+ readonly thread: {
9573
+ readonly type: "array";
9574
+ readonly description: "A flat list of thread hidden items. The depth of each item is indicated by the depth property inside the item.";
9575
+ readonly items: {
9576
+ readonly type: "ref";
9577
+ readonly ref: "lex:app.bsky.unspecced.getPostThreadHiddenV2#threadHiddenItem";
9578
+ };
9579
+ };
9580
+ };
9581
+ };
9582
+ };
9583
+ };
9584
+ readonly threadHiddenItem: {
9585
+ readonly type: "object";
9586
+ readonly required: ["uri", "depth", "value"];
9587
+ readonly properties: {
9588
+ readonly uri: {
9589
+ readonly type: "string";
9590
+ readonly format: "at-uri";
9591
+ };
9592
+ readonly depth: {
9593
+ readonly type: "integer";
9594
+ readonly description: "The nesting level of this item in the thread. Depth 0 means the anchor item. Items above have negative depths, items below have positive depths.";
9595
+ };
9596
+ readonly value: {
9597
+ readonly type: "union";
9598
+ readonly refs: ["lex:app.bsky.unspecced.getPostThreadHiddenV2#threadHiddenItemPost"];
9599
+ };
9600
+ };
9601
+ };
9602
+ readonly threadHiddenItemPost: {
9603
+ readonly type: "object";
9604
+ readonly required: ["post", "hiddenByThreadgate", "mutedByViewer"];
9605
+ readonly properties: {
9606
+ readonly post: {
9607
+ readonly type: "ref";
9608
+ readonly ref: "lex:app.bsky.feed.defs#postView";
9609
+ };
9610
+ readonly hiddenByThreadgate: {
9611
+ readonly type: "boolean";
9612
+ readonly description: "The threadgate created by the author indicates this post as a reply to be hidden for everyone consuming the thread.";
9613
+ };
9614
+ readonly mutedByViewer: {
9615
+ readonly type: "boolean";
9616
+ readonly description: "This is by an account muted by the viewer requesting it.";
9617
+ };
9618
+ };
9619
+ };
9620
+ };
9621
+ };
9622
+ readonly AppBskyUnspeccedGetPostThreadV2: {
9623
+ readonly lexicon: 1;
9624
+ readonly id: "app.bsky.unspecced.getPostThreadV2";
9625
+ readonly defs: {
9626
+ readonly main: {
9627
+ readonly type: "query";
9628
+ readonly description: "(NOTE: this endpoint is under development and WILL change without notice. Don't use it until it is moved out of `unspecced` or your application WILL break) Get posts in a thread. It is based in an anchor post at any depth of the tree, and returns posts above it (recursively resolving the parent, without further branching to their replies) and below it (recursive replies, with branching to their replies). Does not require auth, but additional metadata and filtering will be applied for authed requests.";
9629
+ readonly parameters: {
9630
+ readonly type: "params";
9631
+ readonly required: ["anchor"];
9632
+ readonly properties: {
9633
+ readonly anchor: {
9634
+ readonly type: "string";
9635
+ readonly format: "at-uri";
9636
+ readonly description: "Reference (AT-URI) to post record. This is the anchor post, and the thread will be built around it. It can be any post in the tree, not necessarily a root post.";
9637
+ };
9638
+ readonly above: {
9639
+ readonly type: "boolean";
9640
+ readonly description: "Whether to include parents above the anchor.";
9641
+ readonly default: true;
9642
+ };
9643
+ readonly below: {
9644
+ readonly type: "integer";
9645
+ readonly description: "How many levels of replies to include below the anchor.";
9646
+ readonly default: 6;
9647
+ readonly minimum: 0;
9648
+ readonly maximum: 20;
9649
+ };
9650
+ readonly branchingFactor: {
9651
+ readonly type: "integer";
9652
+ readonly description: "Maximum of replies to include at each level of the thread, except for the direct replies to the anchor, which are (NOTE: currently, during unspecced phase) all returned (NOTE: later they might be paginated).";
9653
+ readonly default: 10;
9654
+ readonly minimum: 0;
9655
+ readonly maximum: 100;
9656
+ };
9657
+ readonly prioritizeFollowedUsers: {
9658
+ readonly type: "boolean";
9659
+ readonly description: "Whether to prioritize posts from followed users. It only has effect when the user is authenticated.";
9660
+ readonly default: false;
9661
+ };
9662
+ readonly sort: {
9663
+ readonly type: "string";
9664
+ readonly description: "Sorting for the thread replies.";
9665
+ readonly knownValues: ["newest", "oldest", "top"];
9666
+ readonly default: "oldest";
9667
+ };
9668
+ };
9669
+ };
9670
+ readonly output: {
9671
+ readonly encoding: "application/json";
9672
+ readonly schema: {
9673
+ readonly type: "object";
9674
+ readonly required: ["thread", "hasHiddenReplies"];
9675
+ readonly properties: {
9676
+ readonly thread: {
9677
+ readonly type: "array";
9678
+ readonly description: "A flat list of thread items. The depth of each item is indicated by the depth property inside the item.";
9679
+ readonly items: {
9680
+ readonly type: "ref";
9681
+ readonly ref: "lex:app.bsky.unspecced.getPostThreadV2#threadItem";
9682
+ };
9683
+ };
9684
+ readonly threadgate: {
9685
+ readonly type: "ref";
9686
+ readonly ref: "lex:app.bsky.feed.defs#threadgateView";
9687
+ };
9688
+ readonly hasHiddenReplies: {
9689
+ readonly type: "boolean";
9690
+ readonly description: "Whether this thread has hidden replies. If true, a call can be made to the `getPostThreadHiddenV2` endpoint to retrieve them.";
9691
+ };
9692
+ };
9693
+ };
9694
+ };
9695
+ };
9696
+ readonly threadItem: {
9697
+ readonly type: "object";
9698
+ readonly required: ["uri", "depth", "value"];
9699
+ readonly properties: {
9700
+ readonly uri: {
9701
+ readonly type: "string";
9702
+ readonly format: "at-uri";
9703
+ };
9704
+ readonly depth: {
9705
+ readonly type: "integer";
9706
+ readonly description: "The nesting level of this item in the thread. Depth 0 means the anchor item. Items above have negative depths, items below have positive depths.";
9707
+ };
9708
+ readonly value: {
9709
+ readonly type: "union";
9710
+ readonly refs: ["lex:app.bsky.unspecced.getPostThreadV2#threadItemPost", "lex:app.bsky.unspecced.getPostThreadV2#threadItemNoUnauthenticated", "lex:app.bsky.unspecced.getPostThreadV2#threadItemNotFound", "lex:app.bsky.unspecced.getPostThreadV2#threadItemBlocked"];
9711
+ };
9712
+ };
9713
+ };
9714
+ readonly threadItemPost: {
9715
+ readonly type: "object";
9716
+ readonly required: ["post", "moreParents", "moreReplies", "opThread"];
9717
+ readonly properties: {
9718
+ readonly post: {
9719
+ readonly type: "ref";
9720
+ readonly ref: "lex:app.bsky.feed.defs#postView";
9721
+ };
9722
+ readonly moreParents: {
9723
+ readonly type: "boolean";
9724
+ readonly description: "This post has more parents that were not present in the response. This is just a boolean, without the number of parents.";
9725
+ };
9726
+ readonly moreReplies: {
9727
+ readonly type: "integer";
9728
+ readonly description: "This post has more replies that were not present in the response. This is a numeric value, which is best-effort and might not be accurate.";
9729
+ };
9730
+ readonly opThread: {
9731
+ readonly type: "boolean";
9732
+ readonly description: "This post is part of a contiguous thread by the OP from the thread root. Many different OP threads can happen in the same thread.";
9733
+ };
9734
+ };
9735
+ };
9736
+ readonly threadItemNoUnauthenticated: {
9737
+ readonly type: "object";
9738
+ readonly properties: {};
9739
+ };
9740
+ readonly threadItemNotFound: {
9741
+ readonly type: "object";
9742
+ readonly properties: {};
9743
+ };
9744
+ readonly threadItemBlocked: {
9745
+ readonly type: "object";
9746
+ readonly required: ["author"];
9747
+ readonly properties: {
9748
+ readonly author: {
9749
+ readonly type: "ref";
9750
+ readonly ref: "lex:app.bsky.feed.defs#blockedAuthor";
9751
+ };
9752
+ };
9753
+ };
9754
+ };
9755
+ };
9548
9756
  readonly AppBskyUnspeccedGetSuggestedFeeds: {
9549
9757
  readonly lexicon: 1;
9550
9758
  readonly id: "app.bsky.unspecced.getSuggestedFeeds";
@@ -18175,46 +18383,6 @@ export declare const schemas: ({
18175
18383
  }];
18176
18384
  };
18177
18385
  };
18178
- } | {
18179
- readonly lexicon: 1;
18180
- readonly id: "app.bsky.feed.getPosts";
18181
- readonly defs: {
18182
- readonly main: {
18183
- readonly type: "query";
18184
- readonly description: "Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'.";
18185
- readonly parameters: {
18186
- readonly type: "params";
18187
- readonly required: ["uris"];
18188
- readonly properties: {
18189
- readonly uris: {
18190
- readonly type: "array";
18191
- readonly description: "List of post AT-URIs to return hydrated views for.";
18192
- readonly items: {
18193
- readonly type: "string";
18194
- readonly format: "at-uri";
18195
- };
18196
- readonly maxLength: 25;
18197
- };
18198
- };
18199
- };
18200
- readonly output: {
18201
- readonly encoding: "application/json";
18202
- readonly schema: {
18203
- readonly type: "object";
18204
- readonly required: ["posts"];
18205
- readonly properties: {
18206
- readonly posts: {
18207
- readonly type: "array";
18208
- readonly items: {
18209
- readonly type: "ref";
18210
- readonly ref: "lex:app.bsky.feed.defs#postView";
18211
- };
18212
- };
18213
- };
18214
- };
18215
- };
18216
- };
18217
- };
18218
18386
  } | {
18219
18387
  readonly lexicon: 1;
18220
18388
  readonly id: "app.bsky.feed.getPostThread";
@@ -18269,6 +18437,46 @@ export declare const schemas: ({
18269
18437
  }];
18270
18438
  };
18271
18439
  };
18440
+ } | {
18441
+ readonly lexicon: 1;
18442
+ readonly id: "app.bsky.feed.getPosts";
18443
+ readonly defs: {
18444
+ readonly main: {
18445
+ readonly type: "query";
18446
+ readonly description: "Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'.";
18447
+ readonly parameters: {
18448
+ readonly type: "params";
18449
+ readonly required: ["uris"];
18450
+ readonly properties: {
18451
+ readonly uris: {
18452
+ readonly type: "array";
18453
+ readonly description: "List of post AT-URIs to return hydrated views for.";
18454
+ readonly items: {
18455
+ readonly type: "string";
18456
+ readonly format: "at-uri";
18457
+ };
18458
+ readonly maxLength: 25;
18459
+ };
18460
+ };
18461
+ };
18462
+ readonly output: {
18463
+ readonly encoding: "application/json";
18464
+ readonly schema: {
18465
+ readonly type: "object";
18466
+ readonly required: ["posts"];
18467
+ readonly properties: {
18468
+ readonly posts: {
18469
+ readonly type: "array";
18470
+ readonly items: {
18471
+ readonly type: "ref";
18472
+ readonly ref: "lex:app.bsky.feed.defs#postView";
18473
+ };
18474
+ };
18475
+ };
18476
+ };
18477
+ };
18478
+ };
18479
+ };
18272
18480
  } | {
18273
18481
  readonly lexicon: 1;
18274
18482
  readonly id: "app.bsky.feed.getQuotes";
@@ -21015,6 +21223,212 @@ export declare const schemas: ({
21015
21223
  };
21016
21224
  };
21017
21225
  };
21226
+ } | {
21227
+ readonly lexicon: 1;
21228
+ readonly id: "app.bsky.unspecced.getPostThreadHiddenV2";
21229
+ readonly defs: {
21230
+ readonly main: {
21231
+ readonly type: "query";
21232
+ readonly description: "(NOTE: this endpoint is under development and WILL change without notice. Don't use it until it is moved out of `unspecced` or your application WILL break) Get the hidden posts in a thread. It is based in an anchor post at any depth of the tree, and returns hidden replies (recursive replies, with branching to their replies) below the anchor. It does not include ancestors nor the anchor. This should be called after exhausting `app.bsky.unspecced.getPostThreadV2`. Does not require auth, but additional metadata and filtering will be applied for authed requests.";
21233
+ readonly parameters: {
21234
+ readonly type: "params";
21235
+ readonly required: ["anchor"];
21236
+ readonly properties: {
21237
+ readonly anchor: {
21238
+ readonly type: "string";
21239
+ readonly format: "at-uri";
21240
+ readonly description: "Reference (AT-URI) to post record. This is the anchor post.";
21241
+ };
21242
+ };
21243
+ };
21244
+ readonly output: {
21245
+ readonly encoding: "application/json";
21246
+ readonly schema: {
21247
+ readonly type: "object";
21248
+ readonly required: ["thread"];
21249
+ readonly properties: {
21250
+ readonly thread: {
21251
+ readonly type: "array";
21252
+ readonly description: "A flat list of thread hidden items. The depth of each item is indicated by the depth property inside the item.";
21253
+ readonly items: {
21254
+ readonly type: "ref";
21255
+ readonly ref: "lex:app.bsky.unspecced.getPostThreadHiddenV2#threadHiddenItem";
21256
+ };
21257
+ };
21258
+ };
21259
+ };
21260
+ };
21261
+ };
21262
+ readonly threadHiddenItem: {
21263
+ readonly type: "object";
21264
+ readonly required: ["uri", "depth", "value"];
21265
+ readonly properties: {
21266
+ readonly uri: {
21267
+ readonly type: "string";
21268
+ readonly format: "at-uri";
21269
+ };
21270
+ readonly depth: {
21271
+ readonly type: "integer";
21272
+ readonly description: "The nesting level of this item in the thread. Depth 0 means the anchor item. Items above have negative depths, items below have positive depths.";
21273
+ };
21274
+ readonly value: {
21275
+ readonly type: "union";
21276
+ readonly refs: ["lex:app.bsky.unspecced.getPostThreadHiddenV2#threadHiddenItemPost"];
21277
+ };
21278
+ };
21279
+ };
21280
+ readonly threadHiddenItemPost: {
21281
+ readonly type: "object";
21282
+ readonly required: ["post", "hiddenByThreadgate", "mutedByViewer"];
21283
+ readonly properties: {
21284
+ readonly post: {
21285
+ readonly type: "ref";
21286
+ readonly ref: "lex:app.bsky.feed.defs#postView";
21287
+ };
21288
+ readonly hiddenByThreadgate: {
21289
+ readonly type: "boolean";
21290
+ readonly description: "The threadgate created by the author indicates this post as a reply to be hidden for everyone consuming the thread.";
21291
+ };
21292
+ readonly mutedByViewer: {
21293
+ readonly type: "boolean";
21294
+ readonly description: "This is by an account muted by the viewer requesting it.";
21295
+ };
21296
+ };
21297
+ };
21298
+ };
21299
+ } | {
21300
+ readonly lexicon: 1;
21301
+ readonly id: "app.bsky.unspecced.getPostThreadV2";
21302
+ readonly defs: {
21303
+ readonly main: {
21304
+ readonly type: "query";
21305
+ readonly description: "(NOTE: this endpoint is under development and WILL change without notice. Don't use it until it is moved out of `unspecced` or your application WILL break) Get posts in a thread. It is based in an anchor post at any depth of the tree, and returns posts above it (recursively resolving the parent, without further branching to their replies) and below it (recursive replies, with branching to their replies). Does not require auth, but additional metadata and filtering will be applied for authed requests.";
21306
+ readonly parameters: {
21307
+ readonly type: "params";
21308
+ readonly required: ["anchor"];
21309
+ readonly properties: {
21310
+ readonly anchor: {
21311
+ readonly type: "string";
21312
+ readonly format: "at-uri";
21313
+ readonly description: "Reference (AT-URI) to post record. This is the anchor post, and the thread will be built around it. It can be any post in the tree, not necessarily a root post.";
21314
+ };
21315
+ readonly above: {
21316
+ readonly type: "boolean";
21317
+ readonly description: "Whether to include parents above the anchor.";
21318
+ readonly default: true;
21319
+ };
21320
+ readonly below: {
21321
+ readonly type: "integer";
21322
+ readonly description: "How many levels of replies to include below the anchor.";
21323
+ readonly default: 6;
21324
+ readonly minimum: 0;
21325
+ readonly maximum: 20;
21326
+ };
21327
+ readonly branchingFactor: {
21328
+ readonly type: "integer";
21329
+ readonly description: "Maximum of replies to include at each level of the thread, except for the direct replies to the anchor, which are (NOTE: currently, during unspecced phase) all returned (NOTE: later they might be paginated).";
21330
+ readonly default: 10;
21331
+ readonly minimum: 0;
21332
+ readonly maximum: 100;
21333
+ };
21334
+ readonly prioritizeFollowedUsers: {
21335
+ readonly type: "boolean";
21336
+ readonly description: "Whether to prioritize posts from followed users. It only has effect when the user is authenticated.";
21337
+ readonly default: false;
21338
+ };
21339
+ readonly sort: {
21340
+ readonly type: "string";
21341
+ readonly description: "Sorting for the thread replies.";
21342
+ readonly knownValues: ["newest", "oldest", "top"];
21343
+ readonly default: "oldest";
21344
+ };
21345
+ };
21346
+ };
21347
+ readonly output: {
21348
+ readonly encoding: "application/json";
21349
+ readonly schema: {
21350
+ readonly type: "object";
21351
+ readonly required: ["thread", "hasHiddenReplies"];
21352
+ readonly properties: {
21353
+ readonly thread: {
21354
+ readonly type: "array";
21355
+ readonly description: "A flat list of thread items. The depth of each item is indicated by the depth property inside the item.";
21356
+ readonly items: {
21357
+ readonly type: "ref";
21358
+ readonly ref: "lex:app.bsky.unspecced.getPostThreadV2#threadItem";
21359
+ };
21360
+ };
21361
+ readonly threadgate: {
21362
+ readonly type: "ref";
21363
+ readonly ref: "lex:app.bsky.feed.defs#threadgateView";
21364
+ };
21365
+ readonly hasHiddenReplies: {
21366
+ readonly type: "boolean";
21367
+ readonly description: "Whether this thread has hidden replies. If true, a call can be made to the `getPostThreadHiddenV2` endpoint to retrieve them.";
21368
+ };
21369
+ };
21370
+ };
21371
+ };
21372
+ };
21373
+ readonly threadItem: {
21374
+ readonly type: "object";
21375
+ readonly required: ["uri", "depth", "value"];
21376
+ readonly properties: {
21377
+ readonly uri: {
21378
+ readonly type: "string";
21379
+ readonly format: "at-uri";
21380
+ };
21381
+ readonly depth: {
21382
+ readonly type: "integer";
21383
+ readonly description: "The nesting level of this item in the thread. Depth 0 means the anchor item. Items above have negative depths, items below have positive depths.";
21384
+ };
21385
+ readonly value: {
21386
+ readonly type: "union";
21387
+ readonly refs: ["lex:app.bsky.unspecced.getPostThreadV2#threadItemPost", "lex:app.bsky.unspecced.getPostThreadV2#threadItemNoUnauthenticated", "lex:app.bsky.unspecced.getPostThreadV2#threadItemNotFound", "lex:app.bsky.unspecced.getPostThreadV2#threadItemBlocked"];
21388
+ };
21389
+ };
21390
+ };
21391
+ readonly threadItemPost: {
21392
+ readonly type: "object";
21393
+ readonly required: ["post", "moreParents", "moreReplies", "opThread"];
21394
+ readonly properties: {
21395
+ readonly post: {
21396
+ readonly type: "ref";
21397
+ readonly ref: "lex:app.bsky.feed.defs#postView";
21398
+ };
21399
+ readonly moreParents: {
21400
+ readonly type: "boolean";
21401
+ readonly description: "This post has more parents that were not present in the response. This is just a boolean, without the number of parents.";
21402
+ };
21403
+ readonly moreReplies: {
21404
+ readonly type: "integer";
21405
+ readonly description: "This post has more replies that were not present in the response. This is a numeric value, which is best-effort and might not be accurate.";
21406
+ };
21407
+ readonly opThread: {
21408
+ readonly type: "boolean";
21409
+ readonly description: "This post is part of a contiguous thread by the OP from the thread root. Many different OP threads can happen in the same thread.";
21410
+ };
21411
+ };
21412
+ };
21413
+ readonly threadItemNoUnauthenticated: {
21414
+ readonly type: "object";
21415
+ readonly properties: {};
21416
+ };
21417
+ readonly threadItemNotFound: {
21418
+ readonly type: "object";
21419
+ readonly properties: {};
21420
+ };
21421
+ readonly threadItemBlocked: {
21422
+ readonly type: "object";
21423
+ readonly required: ["author"];
21424
+ readonly properties: {
21425
+ readonly author: {
21426
+ readonly type: "ref";
21427
+ readonly ref: "lex:app.bsky.feed.defs#blockedAuthor";
21428
+ };
21429
+ };
21430
+ };
21431
+ };
21018
21432
  } | {
21019
21433
  readonly lexicon: 1;
21020
21434
  readonly id: "app.bsky.unspecced.getSuggestedFeeds";
@@ -23201,8 +23615,8 @@ export declare const ids: {
23201
23615
  readonly AppBskyFeedGetFeedSkeleton: "app.bsky.feed.getFeedSkeleton";
23202
23616
  readonly AppBskyFeedGetLikes: "app.bsky.feed.getLikes";
23203
23617
  readonly AppBskyFeedGetListFeed: "app.bsky.feed.getListFeed";
23204
- readonly AppBskyFeedGetPosts: "app.bsky.feed.getPosts";
23205
23618
  readonly AppBskyFeedGetPostThread: "app.bsky.feed.getPostThread";
23619
+ readonly AppBskyFeedGetPosts: "app.bsky.feed.getPosts";
23206
23620
  readonly AppBskyFeedGetQuotes: "app.bsky.feed.getQuotes";
23207
23621
  readonly AppBskyFeedGetRepostedBy: "app.bsky.feed.getRepostedBy";
23208
23622
  readonly AppBskyFeedGetSuggestedFeeds: "app.bsky.feed.getSuggestedFeeds";
@@ -23256,6 +23670,8 @@ export declare const ids: {
23256
23670
  readonly AppBskyUnspeccedDefs: "app.bsky.unspecced.defs";
23257
23671
  readonly AppBskyUnspeccedGetConfig: "app.bsky.unspecced.getConfig";
23258
23672
  readonly AppBskyUnspeccedGetPopularFeedGenerators: "app.bsky.unspecced.getPopularFeedGenerators";
23673
+ readonly AppBskyUnspeccedGetPostThreadHiddenV2: "app.bsky.unspecced.getPostThreadHiddenV2";
23674
+ readonly AppBskyUnspeccedGetPostThreadV2: "app.bsky.unspecced.getPostThreadV2";
23259
23675
  readonly AppBskyUnspeccedGetSuggestedFeeds: "app.bsky.unspecced.getSuggestedFeeds";
23260
23676
  readonly AppBskyUnspeccedGetSuggestedFeedsSkeleton: "app.bsky.unspecced.getSuggestedFeedsSkeleton";
23261
23677
  readonly AppBskyUnspeccedGetSuggestedStarterPacks: "app.bsky.unspecced.getSuggestedStarterPacks";