@atproto/bsky 0.0.110 → 0.0.111

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 (72) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/api/app/bsky/feed/getAuthorFeed.d.ts.map +1 -1
  3. package/dist/api/app/bsky/feed/getAuthorFeed.js +1 -0
  4. package/dist/api/app/bsky/feed/getAuthorFeed.js.map +1 -1
  5. package/dist/data-plane/server/db/migrations/20250116T222618297Z-post-embed-video.d.ts +4 -0
  6. package/dist/data-plane/server/db/migrations/20250116T222618297Z-post-embed-video.d.ts.map +1 -0
  7. package/dist/data-plane/server/db/migrations/20250116T222618297Z-post-embed-video.js +19 -0
  8. package/dist/data-plane/server/db/migrations/20250116T222618297Z-post-embed-video.js.map +1 -0
  9. package/dist/data-plane/server/db/migrations/index.d.ts +1 -0
  10. package/dist/data-plane/server/db/migrations/index.d.ts.map +1 -1
  11. package/dist/data-plane/server/db/migrations/index.js +2 -1
  12. package/dist/data-plane/server/db/migrations/index.js.map +1 -1
  13. package/dist/data-plane/server/db/tables/post-embed.d.ts +7 -0
  14. package/dist/data-plane/server/db/tables/post-embed.d.ts.map +1 -1
  15. package/dist/data-plane/server/db/tables/post-embed.js +2 -1
  16. package/dist/data-plane/server/db/tables/post-embed.js.map +1 -1
  17. package/dist/data-plane/server/indexing/plugins/post.d.ts +2 -1
  18. package/dist/data-plane/server/indexing/plugins/post.d.ts.map +1 -1
  19. package/dist/data-plane/server/indexing/plugins/post.js +12 -0
  20. package/dist/data-plane/server/indexing/plugins/post.js.map +1 -1
  21. package/dist/data-plane/server/routes/feeds.d.ts.map +1 -1
  22. package/dist/data-plane/server/routes/feeds.js +10 -0
  23. package/dist/data-plane/server/routes/feeds.js.map +1 -1
  24. package/dist/hydration/feed.d.ts +5 -0
  25. package/dist/hydration/feed.d.ts.map +1 -1
  26. package/dist/hydration/feed.js +28 -0
  27. package/dist/hydration/feed.js.map +1 -1
  28. package/dist/hydration/hydrator.d.ts +2 -1
  29. package/dist/hydration/hydrator.d.ts.map +1 -1
  30. package/dist/hydration/hydrator.js +38 -11
  31. package/dist/hydration/hydrator.js.map +1 -1
  32. package/dist/lexicon/lexicons.d.ts +30 -2
  33. package/dist/lexicon/lexicons.d.ts.map +1 -1
  34. package/dist/lexicon/lexicons.js +15 -0
  35. package/dist/lexicon/lexicons.js.map +1 -1
  36. package/dist/lexicon/types/app/bsky/feed/defs.d.ts +8 -0
  37. package/dist/lexicon/types/app/bsky/feed/defs.d.ts.map +1 -1
  38. package/dist/lexicon/types/app/bsky/feed/defs.js +10 -0
  39. package/dist/lexicon/types/app/bsky/feed/defs.js.map +1 -1
  40. package/dist/lexicon/types/app/bsky/feed/getAuthorFeed.d.ts +1 -1
  41. package/dist/lexicon/types/app/bsky/feed/getAuthorFeed.d.ts.map +1 -1
  42. package/dist/proto/bsky_pb.d.ts +13 -1
  43. package/dist/proto/bsky_pb.d.ts.map +1 -1
  44. package/dist/proto/bsky_pb.js +30 -0
  45. package/dist/proto/bsky_pb.js.map +1 -1
  46. package/dist/views/index.d.ts.map +1 -1
  47. package/dist/views/index.js +9 -0
  48. package/dist/views/index.js.map +1 -1
  49. package/package.json +4 -4
  50. package/proto/bsky.proto +3 -0
  51. package/src/api/app/bsky/feed/getAuthorFeed.ts +1 -0
  52. package/src/data-plane/server/db/migrations/20250116T222618297Z-post-embed-video.ts +17 -0
  53. package/src/data-plane/server/db/migrations/index.ts +1 -0
  54. package/src/data-plane/server/db/tables/post-embed.ts +8 -0
  55. package/src/data-plane/server/indexing/plugins/post.ts +25 -2
  56. package/src/data-plane/server/routes/feeds.ts +11 -0
  57. package/src/hydration/feed.ts +50 -1
  58. package/src/hydration/hydrator.ts +68 -19
  59. package/src/lexicon/lexicons.ts +16 -0
  60. package/src/lexicon/types/app/bsky/feed/defs.ts +19 -0
  61. package/src/lexicon/types/app/bsky/feed/getAuthorFeed.ts +1 -0
  62. package/src/proto/bsky_pb.ts +23 -0
  63. package/src/views/index.ts +9 -0
  64. package/tests/data-plane/__snapshots__/indexing.test.ts.snap +2 -0
  65. package/tests/views/__snapshots__/block-lists.test.ts.snap +3 -0
  66. package/tests/views/__snapshots__/blocks.test.ts.snap +5 -0
  67. package/tests/views/__snapshots__/mute-lists.test.ts.snap +3 -0
  68. package/tests/views/__snapshots__/mutes.test.ts.snap +3 -0
  69. package/tests/views/__snapshots__/thread.test.ts.snap +79 -26
  70. package/tests/views/author-feed.test.ts +64 -0
  71. package/tests/views/thread.test.ts +4 -0
  72. package/tsconfig.build.tsbuildinfo +1 -1
@@ -5573,6 +5573,17 @@ export const schemaDict = {
5573
5573
  },
5574
5574
  },
5575
5575
  },
5576
+ threadContext: {
5577
+ type: 'object',
5578
+ description:
5579
+ 'Metadata about this post within the context of the thread it is in.',
5580
+ properties: {
5581
+ rootAuthorLike: {
5582
+ type: 'string',
5583
+ format: 'at-uri',
5584
+ },
5585
+ },
5586
+ },
5576
5587
  feedViewPost: {
5577
5588
  type: 'object',
5578
5589
  required: ['post'],
@@ -5673,6 +5684,10 @@ export const schemaDict = {
5673
5684
  ],
5674
5685
  },
5675
5686
  },
5687
+ threadContext: {
5688
+ type: 'ref',
5689
+ ref: 'lex:app.bsky.feed.defs#threadContext',
5690
+ },
5676
5691
  },
5677
5692
  },
5678
5693
  notFoundPost: {
@@ -6215,6 +6230,7 @@ export const schemaDict = {
6215
6230
  'posts_no_replies',
6216
6231
  'posts_with_media',
6217
6232
  'posts_and_author_threads',
6233
+ 'posts_with_video',
6218
6234
  ],
6219
6235
  default: 'posts_with_replies',
6220
6236
  },
@@ -71,6 +71,24 @@ export function validateViewerState(v: unknown): ValidationResult {
71
71
  return lexicons.validate('app.bsky.feed.defs#viewerState', v)
72
72
  }
73
73
 
74
+ /** Metadata about this post within the context of the thread it is in. */
75
+ export interface ThreadContext {
76
+ rootAuthorLike?: string
77
+ [k: string]: unknown
78
+ }
79
+
80
+ export function isThreadContext(v: unknown): v is ThreadContext {
81
+ return (
82
+ isObj(v) &&
83
+ hasProp(v, '$type') &&
84
+ v.$type === 'app.bsky.feed.defs#threadContext'
85
+ )
86
+ }
87
+
88
+ export function validateThreadContext(v: unknown): ValidationResult {
89
+ return lexicons.validate('app.bsky.feed.defs#threadContext', v)
90
+ }
91
+
74
92
  export interface FeedViewPost {
75
93
  post: PostView
76
94
  reply?: ReplyRef
@@ -164,6 +182,7 @@ export interface ThreadViewPost {
164
182
  | BlockedPost
165
183
  | { $type: string; [k: string]: unknown }
166
184
  )[]
185
+ threadContext?: ThreadContext
167
186
  [k: string]: unknown
168
187
  }
169
188
 
@@ -19,6 +19,7 @@ export interface QueryParams {
19
19
  | 'posts_no_replies'
20
20
  | 'posts_with_media'
21
21
  | 'posts_and_author_threads'
22
+ | 'posts_with_video'
22
23
  | (string & {})
23
24
  includePins: boolean
24
25
  }
@@ -36,6 +36,11 @@ export enum FeedType {
36
36
  * @generated from enum value: FEED_TYPE_POSTS_WITH_MEDIA = 3;
37
37
  */
38
38
  POSTS_WITH_MEDIA = 3,
39
+
40
+ /**
41
+ * @generated from enum value: FEED_TYPE_POSTS_WITH_VIDEO = 4;
42
+ */
43
+ POSTS_WITH_VIDEO = 4,
39
44
  }
40
45
  // Retrieve enum metadata with: proto3.getEnumType(FeedType)
41
46
  proto3.util.setEnumType(FeedType, 'bsky.FeedType', [
@@ -43,6 +48,7 @@ proto3.util.setEnumType(FeedType, 'bsky.FeedType', [
43
48
  { no: 1, name: 'FEED_TYPE_POSTS_AND_AUTHOR_THREADS' },
44
49
  { no: 2, name: 'FEED_TYPE_POSTS_NO_REPLIES' },
45
50
  { no: 3, name: 'FEED_TYPE_POSTS_WITH_MEDIA' },
51
+ { no: 4, name: 'FEED_TYPE_POSTS_WITH_VIDEO' },
46
52
  ])
47
53
 
48
54
  /**
@@ -975,6 +981,11 @@ export class PostRecordMeta extends Message<PostRecordMeta> {
975
981
  */
976
982
  hasThreadGate = false
977
983
 
984
+ /**
985
+ * @generated from field: bool has_video = 7;
986
+ */
987
+ hasVideo = false
988
+
978
989
  constructor(data?: PartialMessage<PostRecordMeta>) {
979
990
  super()
980
991
  proto3.util.initPartial(data, this)
@@ -1009,6 +1020,7 @@ export class PostRecordMeta extends Message<PostRecordMeta> {
1009
1020
  kind: 'scalar',
1010
1021
  T: 8 /* ScalarType.BOOL */,
1011
1022
  },
1023
+ { no: 7, name: 'has_video', kind: 'scalar', T: 8 /* ScalarType.BOOL */ },
1012
1024
  ])
1013
1025
 
1014
1026
  static fromBinary(
@@ -8540,6 +8552,11 @@ export class AuthorFeedItem extends Message<AuthorFeedItem> {
8540
8552
  */
8541
8553
  isQuotePost = false
8542
8554
 
8555
+ /**
8556
+ * @generated from field: bool posts_with_video = 11;
8557
+ */
8558
+ postsWithVideo = false
8559
+
8543
8560
  constructor(data?: PartialMessage<AuthorFeedItem>) {
8544
8561
  super()
8545
8562
  proto3.util.initPartial(data, this)
@@ -8578,6 +8595,12 @@ export class AuthorFeedItem extends Message<AuthorFeedItem> {
8578
8595
  kind: 'scalar',
8579
8596
  T: 8 /* ScalarType.BOOL */,
8580
8597
  },
8598
+ {
8599
+ no: 11,
8600
+ name: 'posts_with_video',
8601
+ kind: 'scalar',
8602
+ T: 8 /* ScalarType.BOOL */,
8603
+ },
8581
8604
  ])
8582
8605
 
8583
8606
  static fromBinary(
@@ -800,6 +800,9 @@ export class Views {
800
800
  opts.depth,
801
801
  )
802
802
  : undefined,
803
+ threadContext: {
804
+ rootAuthorLike: state.threadContexts?.get(post.uri)?.like,
805
+ },
803
806
  }
804
807
  }
805
808
 
@@ -829,6 +832,9 @@ export class Views {
829
832
  $type: 'app.bsky.feed.defs#threadViewPost',
830
833
  post,
831
834
  parent: this.threadParent(parentUri, rootUri, state, height - 1),
835
+ threadContext: {
836
+ rootAuthorLike: state.threadContexts?.get(post.uri)?.like,
837
+ },
832
838
  }
833
839
  }
834
840
 
@@ -873,6 +879,9 @@ export class Views {
873
879
  state,
874
880
  depth - 1,
875
881
  ),
882
+ threadContext: {
883
+ rootAuthorLike: state.threadContexts?.get(post.uri)?.like,
884
+ },
876
885
  }
877
886
  })
878
887
  }
@@ -599,6 +599,7 @@ Object {
599
599
  },
600
600
  },
601
601
  "replies": Array [],
602
+ "threadContext": Object {},
602
603
  },
603
604
  }
604
605
  `;
@@ -668,6 +669,7 @@ Object {
668
669
  },
669
670
  },
670
671
  "replies": Array [],
672
+ "threadContext": Object {},
671
673
  },
672
674
  }
673
675
  `;
@@ -137,6 +137,7 @@ Object {
137
137
  "threadMuted": false,
138
138
  },
139
139
  },
140
+ "threadContext": Object {},
140
141
  },
141
142
  }
142
143
  `;
@@ -215,6 +216,7 @@ Object {
215
216
  },
216
217
  },
217
218
  "replies": Array [],
219
+ "threadContext": Object {},
218
220
  },
219
221
  }
220
222
  `;
@@ -298,6 +300,7 @@ Object {
298
300
  "uri": "record(7)",
299
301
  },
300
302
  ],
303
+ "threadContext": Object {},
301
304
  },
302
305
  }
303
306
  `;
@@ -137,6 +137,7 @@ Object {
137
137
  "threadMuted": false,
138
138
  },
139
139
  },
140
+ "threadContext": Object {},
140
141
  },
141
142
  }
142
143
  `;
@@ -255,8 +256,10 @@ Object {
255
256
  "threadMuted": false,
256
257
  },
257
258
  },
259
+ "threadContext": Object {},
258
260
  },
259
261
  ],
262
+ "threadContext": Object {},
260
263
  },
261
264
  }
262
265
  `;
@@ -412,8 +415,10 @@ Object {
412
415
  "threadMuted": false,
413
416
  },
414
417
  },
418
+ "threadContext": Object {},
415
419
  },
416
420
  ],
421
+ "threadContext": Object {},
417
422
  },
418
423
  }
419
424
  `;
@@ -210,6 +210,7 @@ Object {
210
210
  "threadMuted": false,
211
211
  },
212
212
  },
213
+ "threadContext": Object {},
213
214
  },
214
215
  Object {
215
216
  "$type": "app.bsky.feed.defs#threadViewPost",
@@ -309,8 +310,10 @@ Object {
309
310
  "threadMuted": false,
310
311
  },
311
312
  },
313
+ "threadContext": Object {},
312
314
  },
313
315
  ],
316
+ "threadContext": Object {},
314
317
  }
315
318
  `;
316
319
 
@@ -196,6 +196,7 @@ Object {
196
196
  "threadMuted": false,
197
197
  },
198
198
  },
199
+ "threadContext": Object {},
199
200
  },
200
201
  Object {
201
202
  "$type": "app.bsky.feed.defs#threadViewPost",
@@ -283,7 +284,9 @@ Object {
283
284
  "threadMuted": false,
284
285
  },
285
286
  },
287
+ "threadContext": Object {},
286
288
  },
287
289
  ],
290
+ "threadContext": Object {},
288
291
  }
289
292
  `;
@@ -56,6 +56,7 @@ Object {
56
56
  "threadMuted": false,
57
57
  },
58
58
  },
59
+ "threadContext": Object {},
59
60
  },
60
61
  "post": Object {
61
62
  "author": Object {
@@ -98,7 +99,7 @@ Object {
98
99
  "val": "test-label-2",
99
100
  },
100
101
  ],
101
- "likeCount": 0,
102
+ "likeCount": 1,
102
103
  "quoteCount": 0,
103
104
  "record": Object {
104
105
  "$type": "app.bsky.feed.post",
@@ -139,6 +140,9 @@ Object {
139
140
  "threadMuted": false,
140
141
  },
141
142
  },
143
+ "threadContext": Object {
144
+ "rootAuthorLike": "record(8)",
145
+ },
142
146
  },
143
147
  "post": Object {
144
148
  "author": Object {
@@ -173,7 +177,7 @@ Object {
173
177
  "cid": "cids(0)",
174
178
  "indexedAt": "1970-01-01T00:00:00.000Z",
175
179
  "labels": Array [],
176
- "likeCount": 0,
180
+ "likeCount": 1,
177
181
  "quoteCount": 0,
178
182
  "record": Object {
179
183
  "$type": "app.bsky.feed.post",
@@ -200,6 +204,9 @@ Object {
200
204
  },
201
205
  },
202
206
  "replies": Array [],
207
+ "threadContext": Object {
208
+ "rootAuthorLike": "record(9)",
209
+ },
203
210
  }
204
211
  `;
205
212
 
@@ -272,7 +279,7 @@ Object {
272
279
  "cid": "cids(3)",
273
280
  "indexedAt": "1970-01-01T00:00:00.000Z",
274
281
  "labels": Array [],
275
- "likeCount": 0,
282
+ "likeCount": 1,
276
283
  "quoteCount": 0,
277
284
  "record": Object {
278
285
  "$type": "app.bsky.feed.post",
@@ -298,6 +305,9 @@ Object {
298
305
  },
299
306
  },
300
307
  "replies": Array [],
308
+ "threadContext": Object {
309
+ "rootAuthorLike": "record(7)",
310
+ },
301
311
  },
302
312
  Object {
303
313
  "$type": "app.bsky.feed.defs#threadViewPost",
@@ -331,18 +341,18 @@ Object {
331
341
  "cid": "cids(4)",
332
342
  "cts": "1970-01-01T00:00:00.000Z",
333
343
  "src": "did:example:labeler",
334
- "uri": "record(7)",
344
+ "uri": "record(8)",
335
345
  "val": "test-label",
336
346
  },
337
347
  Object {
338
348
  "cid": "cids(4)",
339
349
  "cts": "1970-01-01T00:00:00.000Z",
340
350
  "src": "did:example:labeler",
341
- "uri": "record(7)",
351
+ "uri": "record(8)",
342
352
  "val": "test-label-2",
343
353
  },
344
354
  ],
345
- "likeCount": 0,
355
+ "likeCount": 1,
346
356
  "quoteCount": 0,
347
357
  "record": Object {
348
358
  "$type": "app.bsky.feed.post",
@@ -377,7 +387,7 @@ Object {
377
387
  },
378
388
  "replyCount": 1,
379
389
  "repostCount": 0,
380
- "uri": "record(7)",
390
+ "uri": "record(8)",
381
391
  "viewer": Object {
382
392
  "embeddingDisabled": false,
383
393
  "threadMuted": false,
@@ -419,7 +429,7 @@ Object {
419
429
  "cid": "cids(6)",
420
430
  "indexedAt": "1970-01-01T00:00:00.000Z",
421
431
  "labels": Array [],
422
- "likeCount": 0,
432
+ "likeCount": 1,
423
433
  "quoteCount": 0,
424
434
  "record": Object {
425
435
  "$type": "app.bsky.feed.post",
@@ -427,7 +437,7 @@ Object {
427
437
  "reply": Object {
428
438
  "parent": Object {
429
439
  "cid": "cids(4)",
430
- "uri": "record(7)",
440
+ "uri": "record(8)",
431
441
  },
432
442
  "root": Object {
433
443
  "cid": "cids(0)",
@@ -438,18 +448,25 @@ Object {
438
448
  },
439
449
  "replyCount": 0,
440
450
  "repostCount": 2,
441
- "uri": "record(8)",
451
+ "uri": "record(9)",
442
452
  "viewer": Object {
443
453
  "embeddingDisabled": false,
444
- "repost": "record(9)",
454
+ "repost": "record(10)",
445
455
  "threadMuted": false,
446
456
  },
447
457
  },
448
458
  "replies": Array [],
459
+ "threadContext": Object {
460
+ "rootAuthorLike": "record(11)",
461
+ },
449
462
  },
450
463
  ],
464
+ "threadContext": Object {
465
+ "rootAuthorLike": "record(12)",
466
+ },
451
467
  },
452
468
  ],
469
+ "threadContext": Object {},
453
470
  }
454
471
  `;
455
472
 
@@ -522,7 +539,7 @@ Object {
522
539
  "cid": "cids(3)",
523
540
  "indexedAt": "1970-01-01T00:00:00.000Z",
524
541
  "labels": Array [],
525
- "likeCount": 0,
542
+ "likeCount": 1,
526
543
  "quoteCount": 0,
527
544
  "record": Object {
528
545
  "$type": "app.bsky.feed.post",
@@ -547,6 +564,9 @@ Object {
547
564
  "threadMuted": false,
548
565
  },
549
566
  },
567
+ "threadContext": Object {
568
+ "rootAuthorLike": "record(7)",
569
+ },
550
570
  },
551
571
  Object {
552
572
  "$type": "app.bsky.feed.defs#threadViewPost",
@@ -580,18 +600,18 @@ Object {
580
600
  "cid": "cids(4)",
581
601
  "cts": "1970-01-01T00:00:00.000Z",
582
602
  "src": "did:example:labeler",
583
- "uri": "record(7)",
603
+ "uri": "record(8)",
584
604
  "val": "test-label",
585
605
  },
586
606
  Object {
587
607
  "cid": "cids(4)",
588
608
  "cts": "1970-01-01T00:00:00.000Z",
589
609
  "src": "did:example:labeler",
590
- "uri": "record(7)",
610
+ "uri": "record(8)",
591
611
  "val": "test-label-2",
592
612
  },
593
613
  ],
594
- "likeCount": 0,
614
+ "likeCount": 1,
595
615
  "quoteCount": 0,
596
616
  "record": Object {
597
617
  "$type": "app.bsky.feed.post",
@@ -626,14 +646,18 @@ Object {
626
646
  },
627
647
  "replyCount": 1,
628
648
  "repostCount": 0,
629
- "uri": "record(7)",
649
+ "uri": "record(8)",
630
650
  "viewer": Object {
631
651
  "embeddingDisabled": false,
632
652
  "threadMuted": false,
633
653
  },
634
654
  },
655
+ "threadContext": Object {
656
+ "rootAuthorLike": "record(9)",
657
+ },
635
658
  },
636
659
  ],
660
+ "threadContext": Object {},
637
661
  }
638
662
  `;
639
663
 
@@ -706,7 +730,7 @@ Object {
706
730
  "cid": "cids(3)",
707
731
  "indexedAt": "1970-01-01T00:00:00.000Z",
708
732
  "labels": Array [],
709
- "likeCount": 0,
733
+ "likeCount": 1,
710
734
  "quoteCount": 0,
711
735
  "record": Object {
712
736
  "$type": "app.bsky.feed.post",
@@ -731,6 +755,9 @@ Object {
731
755
  "threadMuted": false,
732
756
  },
733
757
  },
758
+ "threadContext": Object {
759
+ "rootAuthorLike": "record(7)",
760
+ },
734
761
  },
735
762
  Object {
736
763
  "$type": "app.bsky.feed.defs#threadViewPost",
@@ -764,18 +791,18 @@ Object {
764
791
  "cid": "cids(4)",
765
792
  "cts": "1970-01-01T00:00:00.000Z",
766
793
  "src": "did:example:labeler",
767
- "uri": "record(7)",
794
+ "uri": "record(8)",
768
795
  "val": "test-label",
769
796
  },
770
797
  Object {
771
798
  "cid": "cids(4)",
772
799
  "cts": "1970-01-01T00:00:00.000Z",
773
800
  "src": "did:example:labeler",
774
- "uri": "record(7)",
801
+ "uri": "record(8)",
775
802
  "val": "test-label-2",
776
803
  },
777
804
  ],
778
- "likeCount": 0,
805
+ "likeCount": 1,
779
806
  "quoteCount": 0,
780
807
  "record": Object {
781
808
  "$type": "app.bsky.feed.post",
@@ -810,14 +837,18 @@ Object {
810
837
  },
811
838
  "replyCount": 1,
812
839
  "repostCount": 0,
813
- "uri": "record(7)",
840
+ "uri": "record(8)",
814
841
  "viewer": Object {
815
842
  "embeddingDisabled": false,
816
843
  "threadMuted": false,
817
844
  },
818
845
  },
846
+ "threadContext": Object {
847
+ "rootAuthorLike": "record(9)",
848
+ },
819
849
  },
820
850
  ],
851
+ "threadContext": Object {},
821
852
  }
822
853
  `;
823
854
 
@@ -978,10 +1009,13 @@ Object {
978
1009
  },
979
1010
  },
980
1011
  "replies": Array [],
1012
+ "threadContext": Object {},
981
1013
  },
982
1014
  ],
1015
+ "threadContext": Object {},
983
1016
  },
984
1017
  ],
1018
+ "threadContext": Object {},
985
1019
  }
986
1020
  `;
987
1021
 
@@ -1037,6 +1071,7 @@ Object {
1037
1071
  },
1038
1072
  },
1039
1073
  "replies": Array [],
1074
+ "threadContext": Object {},
1040
1075
  }
1041
1076
  `;
1042
1077
 
@@ -1107,6 +1142,7 @@ Object {
1107
1142
  },
1108
1143
  },
1109
1144
  "replies": Array [],
1145
+ "threadContext": Object {},
1110
1146
  }
1111
1147
  `;
1112
1148
 
@@ -1151,7 +1187,7 @@ Object {
1151
1187
  "cid": "cids(0)",
1152
1188
  "indexedAt": "1970-01-01T00:00:00.000Z",
1153
1189
  "labels": Array [],
1154
- "likeCount": 0,
1190
+ "likeCount": 1,
1155
1191
  "quoteCount": 0,
1156
1192
  "record": Object {
1157
1193
  "$type": "app.bsky.feed.post",
@@ -1178,6 +1214,9 @@ Object {
1178
1214
  },
1179
1215
  },
1180
1216
  "replies": Array [],
1217
+ "threadContext": Object {
1218
+ "rootAuthorLike": "record(7)",
1219
+ },
1181
1220
  }
1182
1221
  `;
1183
1222
 
@@ -1222,7 +1261,7 @@ Object {
1222
1261
  "cid": "cids(0)",
1223
1262
  "indexedAt": "1970-01-01T00:00:00.000Z",
1224
1263
  "labels": Array [],
1225
- "likeCount": 0,
1264
+ "likeCount": 1,
1226
1265
  "quoteCount": 0,
1227
1266
  "record": Object {
1228
1267
  "$type": "app.bsky.feed.post",
@@ -1249,6 +1288,9 @@ Object {
1249
1288
  },
1250
1289
  },
1251
1290
  "replies": Array [],
1291
+ "threadContext": Object {
1292
+ "rootAuthorLike": "record(7)",
1293
+ },
1252
1294
  }
1253
1295
  `;
1254
1296
 
@@ -1348,7 +1390,7 @@ Object {
1348
1390
  "val": "test-label-2",
1349
1391
  },
1350
1392
  ],
1351
- "likeCount": 0,
1393
+ "likeCount": 1,
1352
1394
  "quoteCount": 0,
1353
1395
  "record": Object {
1354
1396
  "$type": "app.bsky.feed.post",
@@ -1425,7 +1467,7 @@ Object {
1425
1467
  "cid": "cids(5)",
1426
1468
  "indexedAt": "1970-01-01T00:00:00.000Z",
1427
1469
  "labels": Array [],
1428
- "likeCount": 0,
1470
+ "likeCount": 1,
1429
1471
  "quoteCount": 0,
1430
1472
  "record": Object {
1431
1473
  "$type": "app.bsky.feed.post",
@@ -1452,10 +1494,17 @@ Object {
1452
1494
  },
1453
1495
  },
1454
1496
  "replies": Array [],
1497
+ "threadContext": Object {
1498
+ "rootAuthorLike": "record(8)",
1499
+ },
1455
1500
  },
1456
1501
  ],
1502
+ "threadContext": Object {
1503
+ "rootAuthorLike": "record(9)",
1504
+ },
1457
1505
  },
1458
1506
  ],
1507
+ "threadContext": Object {},
1459
1508
  }
1460
1509
  `;
1461
1510
 
@@ -1555,7 +1604,7 @@ Object {
1555
1604
  "val": "test-label-2",
1556
1605
  },
1557
1606
  ],
1558
- "likeCount": 0,
1607
+ "likeCount": 1,
1559
1608
  "quoteCount": 0,
1560
1609
  "record": Object {
1561
1610
  "$type": "app.bsky.feed.post",
@@ -1597,7 +1646,11 @@ Object {
1597
1646
  },
1598
1647
  },
1599
1648
  "replies": Array [],
1649
+ "threadContext": Object {
1650
+ "rootAuthorLike": "record(6)",
1651
+ },
1600
1652
  },
1601
1653
  ],
1654
+ "threadContext": Object {},
1602
1655
  }
1603
1656
  `;