@atproto/bsky 0.0.150 → 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 (105) hide show
  1. package/CHANGELOG.md +16 -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/data-plane/server/db/migrations/20250526T023712742Z-like-repost-via.d.ts +4 -0
  18. package/dist/data-plane/server/db/migrations/20250526T023712742Z-like-repost-via.d.ts.map +1 -0
  19. package/dist/data-plane/server/db/migrations/20250526T023712742Z-like-repost-via.js +17 -0
  20. package/dist/data-plane/server/db/migrations/20250526T023712742Z-like-repost-via.js.map +1 -0
  21. package/dist/data-plane/server/db/migrations/index.d.ts +1 -0
  22. package/dist/data-plane/server/db/migrations/index.d.ts.map +1 -1
  23. package/dist/data-plane/server/db/migrations/index.js +2 -1
  24. package/dist/data-plane/server/db/migrations/index.js.map +1 -1
  25. package/dist/data-plane/server/db/tables/like.d.ts +2 -0
  26. package/dist/data-plane/server/db/tables/like.d.ts.map +1 -1
  27. package/dist/data-plane/server/db/tables/repost.d.ts +2 -0
  28. package/dist/data-plane/server/db/tables/repost.d.ts.map +1 -1
  29. package/dist/data-plane/server/indexing/plugins/like.d.ts.map +1 -1
  30. package/dist/data-plane/server/indexing/plugins/like.js +32 -9
  31. package/dist/data-plane/server/indexing/plugins/like.js.map +1 -1
  32. package/dist/data-plane/server/indexing/plugins/repost.d.ts.map +1 -1
  33. package/dist/data-plane/server/indexing/plugins/repost.js +32 -9
  34. package/dist/data-plane/server/indexing/plugins/repost.js.map +1 -1
  35. package/dist/hydration/feed.d.ts.map +1 -1
  36. package/dist/hydration/feed.js.map +1 -1
  37. package/dist/lexicon/index.d.ts +6 -2
  38. package/dist/lexicon/index.d.ts.map +1 -1
  39. package/dist/lexicon/index.js +12 -4
  40. package/dist/lexicon/index.js.map +1 -1
  41. package/dist/lexicon/lexicons.d.ts +536 -88
  42. package/dist/lexicon/lexicons.d.ts.map +1 -1
  43. package/dist/lexicon/lexicons.js +279 -44
  44. package/dist/lexicon/lexicons.js.map +1 -1
  45. package/dist/lexicon/types/app/bsky/feed/defs.d.ts +2 -0
  46. package/dist/lexicon/types/app/bsky/feed/defs.d.ts.map +1 -1
  47. package/dist/lexicon/types/app/bsky/feed/defs.js.map +1 -1
  48. package/dist/lexicon/types/app/bsky/feed/like.d.ts +1 -0
  49. package/dist/lexicon/types/app/bsky/feed/like.d.ts.map +1 -1
  50. package/dist/lexicon/types/app/bsky/feed/like.js.map +1 -1
  51. package/dist/lexicon/types/app/bsky/feed/repost.d.ts +1 -0
  52. package/dist/lexicon/types/app/bsky/feed/repost.d.ts.map +1 -1
  53. package/dist/lexicon/types/app/bsky/feed/repost.js.map +1 -1
  54. package/dist/lexicon/types/app/bsky/notification/listNotifications.d.ts +2 -2
  55. package/dist/lexicon/types/app/bsky/notification/listNotifications.d.ts.map +1 -1
  56. package/dist/lexicon/types/app/bsky/notification/listNotifications.js.map +1 -1
  57. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.d.ts +61 -0
  58. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.d.ts.map +1 -0
  59. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.js +25 -0
  60. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.js.map +1 -0
  61. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.d.ts +92 -0
  62. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.d.ts.map +1 -0
  63. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.js +52 -0
  64. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.js.map +1 -0
  65. package/dist/views/index.d.ts +36 -1
  66. package/dist/views/index.d.ts.map +1 -1
  67. package/dist/views/index.js +468 -2
  68. package/dist/views/index.js.map +1 -1
  69. package/dist/views/threads-v2.d.ts +62 -0
  70. package/dist/views/threads-v2.d.ts.map +1 -0
  71. package/dist/views/threads-v2.js +180 -0
  72. package/dist/views/threads-v2.js.map +1 -0
  73. package/package.json +4 -4
  74. package/src/api/app/bsky/unspecced/getPostThreadHiddenV2.ts +116 -0
  75. package/src/api/app/bsky/unspecced/getPostThreadV2.ts +130 -0
  76. package/src/api/index.ts +4 -0
  77. package/src/config.ts +9 -0
  78. package/src/data-plane/server/db/migrations/20250526T023712742Z-like-repost-via.ts +17 -0
  79. package/src/data-plane/server/db/migrations/index.ts +1 -0
  80. package/src/data-plane/server/db/tables/like.ts +2 -0
  81. package/src/data-plane/server/db/tables/repost.ts +2 -0
  82. package/src/data-plane/server/indexing/plugins/like.ts +39 -9
  83. package/src/data-plane/server/indexing/plugins/repost.ts +38 -9
  84. package/src/hydration/feed.ts +1 -0
  85. package/src/lexicon/index.ts +33 -9
  86. package/src/lexicon/lexicons.ts +298 -45
  87. package/src/lexicon/types/app/bsky/feed/defs.ts +2 -0
  88. package/src/lexicon/types/app/bsky/feed/like.ts +1 -0
  89. package/src/lexicon/types/app/bsky/feed/repost.ts +1 -0
  90. package/src/lexicon/types/app/bsky/notification/listNotifications.ts +3 -1
  91. package/src/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.ts +93 -0
  92. package/src/lexicon/types/app/bsky/unspecced/getPostThreadV2.ts +160 -0
  93. package/src/views/index.ts +747 -2
  94. package/src/views/threads-v2.ts +351 -0
  95. package/tests/__snapshots__/feed-generation.test.ts.snap +2 -0
  96. package/tests/seed/thread-v2.ts +775 -0
  97. package/tests/seed/util.ts +52 -0
  98. package/tests/views/__snapshots__/author-feed.test.ts.snap +30 -24
  99. package/tests/views/__snapshots__/notifications.test.ts.snap +1164 -229
  100. package/tests/views/__snapshots__/thread-v2.test.ts.snap +1091 -0
  101. package/tests/views/__snapshots__/timeline.test.ts.snap +398 -376
  102. package/tests/views/notifications.test.ts +177 -0
  103. package/tests/views/thread-v2.test.ts +2009 -0
  104. package/tsconfig.build.tsbuildinfo +1 -1
  105. package/tsconfig.tests.tsbuildinfo +1 -1
@@ -5748,6 +5748,14 @@ export declare const schemaDict: {
5748
5748
  readonly type: "ref";
5749
5749
  readonly ref: "lex:app.bsky.actor.defs#profileViewBasic";
5750
5750
  };
5751
+ readonly uri: {
5752
+ readonly type: "string";
5753
+ readonly format: "at-uri";
5754
+ };
5755
+ readonly cid: {
5756
+ readonly type: "string";
5757
+ readonly format: "cid";
5758
+ };
5751
5759
  readonly indexedAt: {
5752
5760
  readonly type: "string";
5753
5761
  readonly format: "datetime";
@@ -6642,47 +6650,6 @@ export declare const schemaDict: {
6642
6650
  };
6643
6651
  };
6644
6652
  };
6645
- readonly AppBskyFeedGetPosts: {
6646
- readonly lexicon: 1;
6647
- readonly id: "app.bsky.feed.getPosts";
6648
- readonly defs: {
6649
- readonly main: {
6650
- readonly type: "query";
6651
- readonly description: "Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'.";
6652
- readonly parameters: {
6653
- readonly type: "params";
6654
- readonly required: ["uris"];
6655
- readonly properties: {
6656
- readonly uris: {
6657
- readonly type: "array";
6658
- readonly description: "List of post AT-URIs to return hydrated views for.";
6659
- readonly items: {
6660
- readonly type: "string";
6661
- readonly format: "at-uri";
6662
- };
6663
- readonly maxLength: 25;
6664
- };
6665
- };
6666
- };
6667
- readonly output: {
6668
- readonly encoding: "application/json";
6669
- readonly schema: {
6670
- readonly type: "object";
6671
- readonly required: ["posts"];
6672
- readonly properties: {
6673
- readonly posts: {
6674
- readonly type: "array";
6675
- readonly items: {
6676
- readonly type: "ref";
6677
- readonly ref: "lex:app.bsky.feed.defs#postView";
6678
- };
6679
- };
6680
- };
6681
- };
6682
- };
6683
- };
6684
- };
6685
- };
6686
6653
  readonly AppBskyFeedGetPostThread: {
6687
6654
  readonly lexicon: 1;
6688
6655
  readonly id: "app.bsky.feed.getPostThread";
@@ -6738,6 +6705,47 @@ export declare const schemaDict: {
6738
6705
  };
6739
6706
  };
6740
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
+ };
6741
6749
  readonly AppBskyFeedGetQuotes: {
6742
6750
  readonly lexicon: 1;
6743
6751
  readonly id: "app.bsky.feed.getQuotes";
@@ -6972,6 +6980,10 @@ export declare const schemaDict: {
6972
6980
  readonly type: "string";
6973
6981
  readonly format: "datetime";
6974
6982
  };
6983
+ readonly via: {
6984
+ readonly type: "ref";
6985
+ readonly ref: "lex:com.atproto.repo.strongRef";
6986
+ };
6975
6987
  };
6976
6988
  };
6977
6989
  };
@@ -7169,6 +7181,10 @@ export declare const schemaDict: {
7169
7181
  readonly type: "string";
7170
7182
  readonly format: "datetime";
7171
7183
  };
7184
+ readonly via: {
7185
+ readonly type: "ref";
7186
+ readonly ref: "lex:com.atproto.repo.strongRef";
7187
+ };
7172
7188
  };
7173
7189
  };
7174
7190
  };
@@ -7180,7 +7196,7 @@ export declare const schemaDict: {
7180
7196
  readonly defs: {
7181
7197
  readonly main: {
7182
7198
  readonly type: "query";
7183
- readonly description: "Find posts matching search criteria, returning views of those posts.";
7199
+ readonly description: "Find posts matching search criteria, returning views of those posts. Note that this API endpoint may require authentication (eg, not public) for some service providers and implementations.";
7184
7200
  readonly parameters: {
7185
7201
  readonly type: "params";
7186
7202
  readonly required: ["q"];
@@ -9133,8 +9149,8 @@ export declare const schemaDict: {
9133
9149
  };
9134
9150
  readonly reason: {
9135
9151
  readonly type: "string";
9136
- readonly description: "Expected values are 'like', 'repost', 'follow', 'mention', 'reply', 'quote', 'starterpack-joined', 'verified', and 'unverified'.";
9137
- readonly knownValues: ["like", "repost", "follow", "mention", "reply", "quote", "starterpack-joined", "verified", "unverified"];
9152
+ readonly description: "The reason why this notification was delivered - e.g. your post was liked, or you received a new follower.";
9153
+ readonly knownValues: ["like", "repost", "follow", "mention", "reply", "quote", "starterpack-joined", "verified", "unverified", "like-via-repost", "repost-via-repost"];
9138
9154
  };
9139
9155
  readonly reasonSubject: {
9140
9156
  readonly type: "string";
@@ -9529,6 +9545,214 @@ export declare const schemaDict: {
9529
9545
  };
9530
9546
  };
9531
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
+ };
9532
9756
  readonly AppBskyUnspeccedGetSuggestedFeeds: {
9533
9757
  readonly lexicon: 1;
9534
9758
  readonly id: "app.bsky.unspecced.getSuggestedFeeds";
@@ -17269,6 +17493,14 @@ export declare const schemas: ({
17269
17493
  readonly type: "ref";
17270
17494
  readonly ref: "lex:app.bsky.actor.defs#profileViewBasic";
17271
17495
  };
17496
+ readonly uri: {
17497
+ readonly type: "string";
17498
+ readonly format: "at-uri";
17499
+ };
17500
+ readonly cid: {
17501
+ readonly type: "string";
17502
+ readonly format: "cid";
17503
+ };
17272
17504
  readonly indexedAt: {
17273
17505
  readonly type: "string";
17274
17506
  readonly format: "datetime";
@@ -18151,46 +18383,6 @@ export declare const schemas: ({
18151
18383
  }];
18152
18384
  };
18153
18385
  };
18154
- } | {
18155
- readonly lexicon: 1;
18156
- readonly id: "app.bsky.feed.getPosts";
18157
- readonly defs: {
18158
- readonly main: {
18159
- readonly type: "query";
18160
- readonly description: "Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'.";
18161
- readonly parameters: {
18162
- readonly type: "params";
18163
- readonly required: ["uris"];
18164
- readonly properties: {
18165
- readonly uris: {
18166
- readonly type: "array";
18167
- readonly description: "List of post AT-URIs to return hydrated views for.";
18168
- readonly items: {
18169
- readonly type: "string";
18170
- readonly format: "at-uri";
18171
- };
18172
- readonly maxLength: 25;
18173
- };
18174
- };
18175
- };
18176
- readonly output: {
18177
- readonly encoding: "application/json";
18178
- readonly schema: {
18179
- readonly type: "object";
18180
- readonly required: ["posts"];
18181
- readonly properties: {
18182
- readonly posts: {
18183
- readonly type: "array";
18184
- readonly items: {
18185
- readonly type: "ref";
18186
- readonly ref: "lex:app.bsky.feed.defs#postView";
18187
- };
18188
- };
18189
- };
18190
- };
18191
- };
18192
- };
18193
- };
18194
18386
  } | {
18195
18387
  readonly lexicon: 1;
18196
18388
  readonly id: "app.bsky.feed.getPostThread";
@@ -18245,6 +18437,46 @@ export declare const schemas: ({
18245
18437
  }];
18246
18438
  };
18247
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
+ };
18248
18480
  } | {
18249
18481
  readonly lexicon: 1;
18250
18482
  readonly id: "app.bsky.feed.getQuotes";
@@ -18475,6 +18707,10 @@ export declare const schemas: ({
18475
18707
  readonly type: "string";
18476
18708
  readonly format: "datetime";
18477
18709
  };
18710
+ readonly via: {
18711
+ readonly type: "ref";
18712
+ readonly ref: "lex:com.atproto.repo.strongRef";
18713
+ };
18478
18714
  };
18479
18715
  };
18480
18716
  };
@@ -18669,6 +18905,10 @@ export declare const schemas: ({
18669
18905
  readonly type: "string";
18670
18906
  readonly format: "datetime";
18671
18907
  };
18908
+ readonly via: {
18909
+ readonly type: "ref";
18910
+ readonly ref: "lex:com.atproto.repo.strongRef";
18911
+ };
18672
18912
  };
18673
18913
  };
18674
18914
  };
@@ -18679,7 +18919,7 @@ export declare const schemas: ({
18679
18919
  readonly defs: {
18680
18920
  readonly main: {
18681
18921
  readonly type: "query";
18682
- readonly description: "Find posts matching search criteria, returning views of those posts.";
18922
+ readonly description: "Find posts matching search criteria, returning views of those posts. Note that this API endpoint may require authentication (eg, not public) for some service providers and implementations.";
18683
18923
  readonly parameters: {
18684
18924
  readonly type: "params";
18685
18925
  readonly required: ["q"];
@@ -20595,8 +20835,8 @@ export declare const schemas: ({
20595
20835
  };
20596
20836
  readonly reason: {
20597
20837
  readonly type: "string";
20598
- readonly description: "Expected values are 'like', 'repost', 'follow', 'mention', 'reply', 'quote', 'starterpack-joined', 'verified', and 'unverified'.";
20599
- readonly knownValues: ["like", "repost", "follow", "mention", "reply", "quote", "starterpack-joined", "verified", "unverified"];
20838
+ readonly description: "The reason why this notification was delivered - e.g. your post was liked, or you received a new follower.";
20839
+ readonly knownValues: ["like", "repost", "follow", "mention", "reply", "quote", "starterpack-joined", "verified", "unverified", "like-via-repost", "repost-via-repost"];
20600
20840
  };
20601
20841
  readonly reasonSubject: {
20602
20842
  readonly type: "string";
@@ -20983,6 +21223,212 @@ export declare const schemas: ({
20983
21223
  };
20984
21224
  };
20985
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
+ };
20986
21432
  } | {
20987
21433
  readonly lexicon: 1;
20988
21434
  readonly id: "app.bsky.unspecced.getSuggestedFeeds";
@@ -23169,8 +23615,8 @@ export declare const ids: {
23169
23615
  readonly AppBskyFeedGetFeedSkeleton: "app.bsky.feed.getFeedSkeleton";
23170
23616
  readonly AppBskyFeedGetLikes: "app.bsky.feed.getLikes";
23171
23617
  readonly AppBskyFeedGetListFeed: "app.bsky.feed.getListFeed";
23172
- readonly AppBskyFeedGetPosts: "app.bsky.feed.getPosts";
23173
23618
  readonly AppBskyFeedGetPostThread: "app.bsky.feed.getPostThread";
23619
+ readonly AppBskyFeedGetPosts: "app.bsky.feed.getPosts";
23174
23620
  readonly AppBskyFeedGetQuotes: "app.bsky.feed.getQuotes";
23175
23621
  readonly AppBskyFeedGetRepostedBy: "app.bsky.feed.getRepostedBy";
23176
23622
  readonly AppBskyFeedGetSuggestedFeeds: "app.bsky.feed.getSuggestedFeeds";
@@ -23224,6 +23670,8 @@ export declare const ids: {
23224
23670
  readonly AppBskyUnspeccedDefs: "app.bsky.unspecced.defs";
23225
23671
  readonly AppBskyUnspeccedGetConfig: "app.bsky.unspecced.getConfig";
23226
23672
  readonly AppBskyUnspeccedGetPopularFeedGenerators: "app.bsky.unspecced.getPopularFeedGenerators";
23673
+ readonly AppBskyUnspeccedGetPostThreadHiddenV2: "app.bsky.unspecced.getPostThreadHiddenV2";
23674
+ readonly AppBskyUnspeccedGetPostThreadV2: "app.bsky.unspecced.getPostThreadV2";
23227
23675
  readonly AppBskyUnspeccedGetSuggestedFeeds: "app.bsky.unspecced.getSuggestedFeeds";
23228
23676
  readonly AppBskyUnspeccedGetSuggestedFeedsSkeleton: "app.bsky.unspecced.getSuggestedFeedsSkeleton";
23229
23677
  readonly AppBskyUnspeccedGetSuggestedStarterPacks: "app.bsky.unspecced.getSuggestedStarterPacks";