founder-schema 0.7.0 → 0.9.0

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 (64) hide show
  1. package/README.md +39 -0
  2. package/dist/access/capabilities.d.ts +34 -0
  3. package/dist/access/capabilities.d.ts.map +1 -0
  4. package/dist/access/capabilities.js +35 -0
  5. package/dist/access/capabilities.js.map +1 -0
  6. package/dist/access/permissions.d.ts +20 -1
  7. package/dist/access/permissions.d.ts.map +1 -1
  8. package/dist/access/permissions.js +4 -0
  9. package/dist/access/permissions.js.map +1 -1
  10. package/dist/core/errors.d.ts +39 -1
  11. package/dist/core/errors.d.ts.map +1 -1
  12. package/dist/core/errors.js +63 -0
  13. package/dist/core/errors.js.map +1 -1
  14. package/dist/core/limits.d.ts +12 -0
  15. package/dist/core/limits.d.ts.map +1 -1
  16. package/dist/core/limits.js +13 -0
  17. package/dist/core/limits.js.map +1 -1
  18. package/dist/core/responses.d.ts +53 -0
  19. package/dist/core/responses.d.ts.map +1 -1
  20. package/dist/core/responses.js +7 -0
  21. package/dist/core/responses.js.map +1 -1
  22. package/dist/core/validation.d.ts +6 -0
  23. package/dist/core/validation.d.ts.map +1 -1
  24. package/dist/core/validation.js +6 -0
  25. package/dist/core/validation.js.map +1 -1
  26. package/dist/domains/audit/audit.d.ts +47 -3
  27. package/dist/domains/audit/audit.d.ts.map +1 -1
  28. package/dist/domains/audit/audit.js +40 -4
  29. package/dist/domains/audit/audit.js.map +1 -1
  30. package/dist/domains/communities/communities.d.ts +1537 -0
  31. package/dist/domains/communities/communities.d.ts.map +1 -0
  32. package/dist/domains/communities/communities.js +464 -0
  33. package/dist/domains/communities/communities.js.map +1 -0
  34. package/dist/domains/feed/feed.d.ts +996 -45
  35. package/dist/domains/feed/feed.d.ts.map +1 -1
  36. package/dist/domains/feed/feed.js +197 -10
  37. package/dist/domains/feed/feed.js.map +1 -1
  38. package/dist/domains/media/media.d.ts +7 -1
  39. package/dist/domains/media/media.d.ts.map +1 -1
  40. package/dist/domains/media/media.js +5 -0
  41. package/dist/domains/media/media.js.map +1 -1
  42. package/dist/domains/members/members.d.ts +6 -0
  43. package/dist/domains/members/members.d.ts.map +1 -1
  44. package/dist/domains/members/members.js +5 -0
  45. package/dist/domains/members/members.js.map +1 -1
  46. package/dist/domains/moderation/moderation.d.ts +6 -4
  47. package/dist/domains/moderation/moderation.d.ts.map +1 -1
  48. package/dist/domains/moderation/moderation.js +9 -2
  49. package/dist/domains/moderation/moderation.js.map +1 -1
  50. package/dist/domains/notifications/notifications.d.ts +133 -4
  51. package/dist/domains/notifications/notifications.d.ts.map +1 -1
  52. package/dist/domains/notifications/notifications.js +80 -3
  53. package/dist/domains/notifications/notifications.js.map +1 -1
  54. package/dist/domains/team/team.d.ts +22 -0
  55. package/dist/domains/team/team.d.ts.map +1 -1
  56. package/dist/domains/team/team.js +22 -0
  57. package/dist/domains/team/team.js.map +1 -1
  58. package/dist/domains/uploads/uploads.d.ts +1 -0
  59. package/dist/domains/uploads/uploads.d.ts.map +1 -1
  60. package/dist/index.d.ts +5 -3
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +6 -3
  63. package/dist/index.js.map +1 -1
  64. package/package.json +1 -1
@@ -118,20 +118,44 @@ export declare const reportTargetKindSchema: z.ZodEnum<{
118
118
  }>;
119
119
  export type ReportTargetKind = z.infer<typeof reportTargetKindSchema>;
120
120
  /**
121
- * Reactions. Jansathi's `support` is dropped: it exists for reacting to a
122
- * civic complaint or a lost-and-found notice, which this feed does not carry.
121
+ * Every reaction a row can hold. The first four were Founder Circle's own;
122
+ * `love`, `support` and `haha` came from Jansathi in 0.8.0 (the user's set,
123
+ * 2026-10-07), so the feed feels like the community app members know.
123
124
  *
124
125
  * ⚠️ These values are stored per reaction row, so removing one orphans data.
125
- * Append only.
126
+ * Append only. A value that should no longer be OFFERED leaves
127
+ * `REACTION_PICKER_VALUES` instead, and stays here so old rows still read.
126
128
  */
127
- export declare const REACTION_TYPE_VALUES: readonly ["like", "celebrate", "insightful", "curious"];
129
+ export declare const REACTION_TYPE_VALUES: readonly ["like", "celebrate", "insightful", "curious", "love", "support", "haha"];
128
130
  export declare const reactionTypeSchema: z.ZodEnum<{
131
+ support: "support";
129
132
  like: "like";
130
133
  celebrate: "celebrate";
131
134
  insightful: "insightful";
132
135
  curious: "curious";
136
+ love: "love";
137
+ haha: "haha";
133
138
  }>;
134
139
  export type ReactionType = z.infer<typeof reactionTypeSchema>;
140
+ /**
141
+ * What the picker offers, IN ORDER (the user's set, 2026-10-07). A member can
142
+ * set only these; `curious` is no longer offered, but a member who chose it
143
+ * keeps it, sees it as their reaction, and can clear it.
144
+ *
145
+ * The order is the schema's, not a client literal: the backend accepts only
146
+ * these on a write (`setReactionBodySchema`), and two lists that must agree
147
+ * belong in one place.
148
+ */
149
+ export declare const REACTION_PICKER_VALUES: readonly ["like", "love", "celebrate", "insightful", "support", "haha"];
150
+ export declare const pickableReactionSchema: z.ZodEnum<{
151
+ support: "support";
152
+ like: "like";
153
+ celebrate: "celebrate";
154
+ insightful: "insightful";
155
+ love: "love";
156
+ haha: "haha";
157
+ }>;
158
+ export type PickableReaction = z.infer<typeof pickableReactionSchema>;
135
159
  /**
136
160
  * Feed ordering.
137
161
  *
@@ -159,10 +183,13 @@ export type FeedSort = z.infer<typeof feedSortSchema>;
159
183
  * unknown key like Jansathi's `support` is still refused.
160
184
  */
161
185
  export declare const reactionCountsSchema: z.ZodRecord<z.ZodEnum<{
186
+ support: "support";
162
187
  like: "like";
163
188
  celebrate: "celebrate";
164
189
  insightful: "insightful";
165
190
  curious: "curious";
191
+ love: "love";
192
+ haha: "haha";
166
193
  }> & z.core.$partial, z.ZodNumber>;
167
194
  export type ReactionCounts = z.infer<typeof reactionCountsSchema>;
168
195
  /**
@@ -283,10 +310,13 @@ export type LinkPreview = z.infer<typeof linkPreviewSchema>;
283
310
  */
284
311
  export declare const viewerStateSchema: z.ZodObject<{
285
312
  reaction: z.ZodNullable<z.ZodEnum<{
313
+ support: "support";
286
314
  like: "like";
287
315
  celebrate: "celebrate";
288
316
  insightful: "insightful";
289
317
  curious: "curious";
318
+ love: "love";
319
+ haha: "haha";
290
320
  }>>;
291
321
  bookmarked: z.ZodBoolean;
292
322
  isAuthor: z.ZodBoolean;
@@ -295,6 +325,92 @@ export declare const viewerStateSchema: z.ZodObject<{
295
325
  canReport: z.ZodBoolean;
296
326
  }, z.core.$strip>;
297
327
  export type ViewerState = z.infer<typeof viewerStateSchema>;
328
+ /**
329
+ * The viewer's state on a post or a poll: everything above, plus reposting
330
+ * (0.8.0). Comments cannot be reposted, so they keep `viewerStateSchema`.
331
+ */
332
+ export declare const contentViewerStateSchema: z.ZodObject<{
333
+ reaction: z.ZodNullable<z.ZodEnum<{
334
+ support: "support";
335
+ like: "like";
336
+ celebrate: "celebrate";
337
+ insightful: "insightful";
338
+ curious: "curious";
339
+ love: "love";
340
+ haha: "haha";
341
+ }>>;
342
+ bookmarked: z.ZodBoolean;
343
+ isAuthor: z.ZodBoolean;
344
+ canEdit: z.ZodBoolean;
345
+ canDelete: z.ZodBoolean;
346
+ canReport: z.ZodBoolean;
347
+ repostId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
348
+ canRepost: z.ZodBoolean;
349
+ canTakePart: z.ZodOptional<z.ZodBoolean>;
350
+ }, z.core.$strip>;
351
+ export type ContentViewerState = z.infer<typeof contentViewerStateSchema>;
352
+ /**
353
+ * What a repost carries of the item it shares (0.8.0), computed when READ:
354
+ * the byline is live, and an edit to the original shows in every repost of it.
355
+ *
356
+ * `unavailable` once the original is deleted, hidden by staff, or its
357
+ * author's account is gone. The repost stays (it is its author's post, with
358
+ * their words), and says the original is no longer there, rather than
359
+ * vanishing from under the people who commented on it.
360
+ */
361
+ export declare const repostedSourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
362
+ state: z.ZodLiteral<"available">;
363
+ contentKind: z.ZodEnum<{
364
+ post: "post";
365
+ poll: "poll";
366
+ }>;
367
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
368
+ author: z.ZodObject<{
369
+ userId: z.ZodString;
370
+ username: z.ZodString;
371
+ displayName: z.ZodString;
372
+ avatarUrl: z.ZodOptional<z.ZodURL>;
373
+ headline: z.ZodOptional<z.ZodString>;
374
+ }, z.core.$strip>;
375
+ text: z.ZodString;
376
+ media: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
377
+ id: z.ZodString;
378
+ url: z.ZodURL;
379
+ width: z.ZodNumber;
380
+ height: z.ZodNumber;
381
+ variants: z.ZodArray<z.ZodObject<{
382
+ width: z.ZodNumber;
383
+ height: z.ZodNumber;
384
+ url: z.ZodURL;
385
+ }, z.core.$strip>>;
386
+ placeholder: z.ZodOptional<z.ZodString>;
387
+ kind: z.ZodLiteral<"image">;
388
+ thumbnailUrl: z.ZodOptional<z.ZodURL>;
389
+ alt: z.ZodOptional<z.ZodString>;
390
+ }, z.core.$strip>, z.ZodObject<{
391
+ kind: z.ZodLiteral<"video">;
392
+ url: z.ZodURL;
393
+ thumbnailUrl: z.ZodURL;
394
+ width: z.ZodNumber;
395
+ height: z.ZodNumber;
396
+ duration: z.ZodNumber;
397
+ }, z.core.$strip>], "kind">>;
398
+ product: z.ZodOptional<z.ZodObject<{
399
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
400
+ slug: z.ZodString;
401
+ name: z.ZodString;
402
+ logoUrl: z.ZodOptional<z.ZodURL>;
403
+ }, z.core.$strip>>;
404
+ createdAt: z.ZodISODateTime;
405
+ }, z.core.$strip>, z.ZodObject<{
406
+ state: z.ZodLiteral<"unavailable">;
407
+ contentKind: z.ZodEnum<{
408
+ post: "post";
409
+ poll: "poll";
410
+ }>;
411
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
412
+ }, z.core.$strip>], "state">;
413
+ export type RepostedSource = z.infer<typeof repostedSourceSchema>;
298
414
  /**
299
415
  * A post as the feed and the single-post page receive it.
300
416
  *
@@ -429,27 +545,102 @@ export declare const feedPostSchema: z.ZodObject<{
429
545
  launch: "launch";
430
546
  ideas: "ideas";
431
547
  }>>;
548
+ community: z.ZodOptional<z.ZodObject<{
549
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
550
+ slug: z.ZodString;
551
+ name: z.ZodString;
552
+ iconUrl: z.ZodOptional<z.ZodURL>;
553
+ visibility: z.ZodEnum<{
554
+ public: "public";
555
+ private: "private";
556
+ hidden: "hidden";
557
+ }>;
558
+ archived: z.ZodOptional<z.ZodBoolean>;
559
+ }, z.core.$strip>>;
560
+ pinnedAt: z.ZodOptional<z.ZodISODateTime>;
561
+ repostOf: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
562
+ state: z.ZodLiteral<"available">;
563
+ contentKind: z.ZodEnum<{
564
+ post: "post";
565
+ poll: "poll";
566
+ }>;
567
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
568
+ author: z.ZodObject<{
569
+ userId: z.ZodString;
570
+ username: z.ZodString;
571
+ displayName: z.ZodString;
572
+ avatarUrl: z.ZodOptional<z.ZodURL>;
573
+ headline: z.ZodOptional<z.ZodString>;
574
+ }, z.core.$strip>;
575
+ text: z.ZodString;
576
+ media: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
577
+ id: z.ZodString;
578
+ url: z.ZodURL;
579
+ width: z.ZodNumber;
580
+ height: z.ZodNumber;
581
+ variants: z.ZodArray<z.ZodObject<{
582
+ width: z.ZodNumber;
583
+ height: z.ZodNumber;
584
+ url: z.ZodURL;
585
+ }, z.core.$strip>>;
586
+ placeholder: z.ZodOptional<z.ZodString>;
587
+ kind: z.ZodLiteral<"image">;
588
+ thumbnailUrl: z.ZodOptional<z.ZodURL>;
589
+ alt: z.ZodOptional<z.ZodString>;
590
+ }, z.core.$strip>, z.ZodObject<{
591
+ kind: z.ZodLiteral<"video">;
592
+ url: z.ZodURL;
593
+ thumbnailUrl: z.ZodURL;
594
+ width: z.ZodNumber;
595
+ height: z.ZodNumber;
596
+ duration: z.ZodNumber;
597
+ }, z.core.$strip>], "kind">>;
598
+ product: z.ZodOptional<z.ZodObject<{
599
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
600
+ slug: z.ZodString;
601
+ name: z.ZodString;
602
+ logoUrl: z.ZodOptional<z.ZodURL>;
603
+ }, z.core.$strip>>;
604
+ createdAt: z.ZodISODateTime;
605
+ }, z.core.$strip>, z.ZodObject<{
606
+ state: z.ZodLiteral<"unavailable">;
607
+ contentKind: z.ZodEnum<{
608
+ post: "post";
609
+ poll: "poll";
610
+ }>;
611
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
612
+ }, z.core.$strip>], "state">>;
432
613
  commentCount: z.ZodNumber;
433
614
  reactionCounts: z.ZodRecord<z.ZodEnum<{
615
+ support: "support";
434
616
  like: "like";
435
617
  celebrate: "celebrate";
436
618
  insightful: "insightful";
437
619
  curious: "curious";
620
+ love: "love";
621
+ haha: "haha";
438
622
  }> & z.core.$partial, z.ZodNumber>;
623
+ repostCount: z.ZodNumber;
439
624
  createdAt: z.ZodISODateTime;
440
625
  editedAt: z.ZodNullable<z.ZodISODateTime>;
441
626
  viewer: z.ZodOptional<z.ZodObject<{
442
627
  reaction: z.ZodNullable<z.ZodEnum<{
628
+ support: "support";
443
629
  like: "like";
444
630
  celebrate: "celebrate";
445
631
  insightful: "insightful";
446
632
  curious: "curious";
633
+ love: "love";
634
+ haha: "haha";
447
635
  }>>;
448
636
  bookmarked: z.ZodBoolean;
449
637
  isAuthor: z.ZodBoolean;
450
638
  canEdit: z.ZodBoolean;
451
639
  canDelete: z.ZodBoolean;
452
640
  canReport: z.ZodBoolean;
641
+ repostId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
642
+ canRepost: z.ZodBoolean;
643
+ canTakePart: z.ZodOptional<z.ZodBoolean>;
453
644
  }, z.core.$strip>>;
454
645
  }, z.core.$strip>;
455
646
  export type FeedPost = z.infer<typeof feedPostSchema>;
@@ -576,27 +767,50 @@ export declare const feedPollSchema: z.ZodObject<{
576
767
  launch: "launch";
577
768
  ideas: "ideas";
578
769
  }>>;
770
+ community: z.ZodOptional<z.ZodObject<{
771
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
772
+ slug: z.ZodString;
773
+ name: z.ZodString;
774
+ iconUrl: z.ZodOptional<z.ZodURL>;
775
+ visibility: z.ZodEnum<{
776
+ public: "public";
777
+ private: "private";
778
+ hidden: "hidden";
779
+ }>;
780
+ archived: z.ZodOptional<z.ZodBoolean>;
781
+ }, z.core.$strip>>;
782
+ pinnedAt: z.ZodOptional<z.ZodISODateTime>;
579
783
  commentCount: z.ZodNumber;
580
784
  reactionCounts: z.ZodRecord<z.ZodEnum<{
785
+ support: "support";
581
786
  like: "like";
582
787
  celebrate: "celebrate";
583
788
  insightful: "insightful";
584
789
  curious: "curious";
790
+ love: "love";
791
+ haha: "haha";
585
792
  }> & z.core.$partial, z.ZodNumber>;
793
+ repostCount: z.ZodNumber;
586
794
  createdAt: z.ZodISODateTime;
587
795
  editedAt: z.ZodNullable<z.ZodISODateTime>;
588
796
  viewer: z.ZodOptional<z.ZodObject<{
589
797
  reaction: z.ZodNullable<z.ZodEnum<{
798
+ support: "support";
590
799
  like: "like";
591
800
  celebrate: "celebrate";
592
801
  insightful: "insightful";
593
802
  curious: "curious";
803
+ love: "love";
804
+ haha: "haha";
594
805
  }>>;
595
806
  bookmarked: z.ZodBoolean;
596
807
  isAuthor: z.ZodBoolean;
597
808
  canEdit: z.ZodBoolean;
598
809
  canDelete: z.ZodBoolean;
599
810
  canReport: z.ZodBoolean;
811
+ repostId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
812
+ canRepost: z.ZodBoolean;
813
+ canTakePart: z.ZodOptional<z.ZodBoolean>;
600
814
  votedOptionIndices: z.ZodArray<z.ZodNumber>;
601
815
  }, z.core.$strip>>;
602
816
  }, z.core.$strip>;
@@ -729,27 +943,102 @@ export declare const feedItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
729
943
  launch: "launch";
730
944
  ideas: "ideas";
731
945
  }>>;
946
+ community: z.ZodOptional<z.ZodObject<{
947
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
948
+ slug: z.ZodString;
949
+ name: z.ZodString;
950
+ iconUrl: z.ZodOptional<z.ZodURL>;
951
+ visibility: z.ZodEnum<{
952
+ public: "public";
953
+ private: "private";
954
+ hidden: "hidden";
955
+ }>;
956
+ archived: z.ZodOptional<z.ZodBoolean>;
957
+ }, z.core.$strip>>;
958
+ pinnedAt: z.ZodOptional<z.ZodISODateTime>;
959
+ repostOf: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
960
+ state: z.ZodLiteral<"available">;
961
+ contentKind: z.ZodEnum<{
962
+ post: "post";
963
+ poll: "poll";
964
+ }>;
965
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
966
+ author: z.ZodObject<{
967
+ userId: z.ZodString;
968
+ username: z.ZodString;
969
+ displayName: z.ZodString;
970
+ avatarUrl: z.ZodOptional<z.ZodURL>;
971
+ headline: z.ZodOptional<z.ZodString>;
972
+ }, z.core.$strip>;
973
+ text: z.ZodString;
974
+ media: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
975
+ id: z.ZodString;
976
+ url: z.ZodURL;
977
+ width: z.ZodNumber;
978
+ height: z.ZodNumber;
979
+ variants: z.ZodArray<z.ZodObject<{
980
+ width: z.ZodNumber;
981
+ height: z.ZodNumber;
982
+ url: z.ZodURL;
983
+ }, z.core.$strip>>;
984
+ placeholder: z.ZodOptional<z.ZodString>;
985
+ kind: z.ZodLiteral<"image">;
986
+ thumbnailUrl: z.ZodOptional<z.ZodURL>;
987
+ alt: z.ZodOptional<z.ZodString>;
988
+ }, z.core.$strip>, z.ZodObject<{
989
+ kind: z.ZodLiteral<"video">;
990
+ url: z.ZodURL;
991
+ thumbnailUrl: z.ZodURL;
992
+ width: z.ZodNumber;
993
+ height: z.ZodNumber;
994
+ duration: z.ZodNumber;
995
+ }, z.core.$strip>], "kind">>;
996
+ product: z.ZodOptional<z.ZodObject<{
997
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
998
+ slug: z.ZodString;
999
+ name: z.ZodString;
1000
+ logoUrl: z.ZodOptional<z.ZodURL>;
1001
+ }, z.core.$strip>>;
1002
+ createdAt: z.ZodISODateTime;
1003
+ }, z.core.$strip>, z.ZodObject<{
1004
+ state: z.ZodLiteral<"unavailable">;
1005
+ contentKind: z.ZodEnum<{
1006
+ post: "post";
1007
+ poll: "poll";
1008
+ }>;
1009
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1010
+ }, z.core.$strip>], "state">>;
732
1011
  commentCount: z.ZodNumber;
733
1012
  reactionCounts: z.ZodRecord<z.ZodEnum<{
1013
+ support: "support";
734
1014
  like: "like";
735
1015
  celebrate: "celebrate";
736
1016
  insightful: "insightful";
737
1017
  curious: "curious";
1018
+ love: "love";
1019
+ haha: "haha";
738
1020
  }> & z.core.$partial, z.ZodNumber>;
1021
+ repostCount: z.ZodNumber;
739
1022
  createdAt: z.ZodISODateTime;
740
1023
  editedAt: z.ZodNullable<z.ZodISODateTime>;
741
1024
  viewer: z.ZodOptional<z.ZodObject<{
742
1025
  reaction: z.ZodNullable<z.ZodEnum<{
1026
+ support: "support";
743
1027
  like: "like";
744
1028
  celebrate: "celebrate";
745
1029
  insightful: "insightful";
746
1030
  curious: "curious";
1031
+ love: "love";
1032
+ haha: "haha";
747
1033
  }>>;
748
1034
  bookmarked: z.ZodBoolean;
749
1035
  isAuthor: z.ZodBoolean;
750
1036
  canEdit: z.ZodBoolean;
751
1037
  canDelete: z.ZodBoolean;
752
1038
  canReport: z.ZodBoolean;
1039
+ repostId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
1040
+ canRepost: z.ZodBoolean;
1041
+ canTakePart: z.ZodOptional<z.ZodBoolean>;
753
1042
  }, z.core.$strip>>;
754
1043
  }, z.core.$strip>, z.ZodObject<{
755
1044
  id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -855,27 +1144,50 @@ export declare const feedItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
855
1144
  launch: "launch";
856
1145
  ideas: "ideas";
857
1146
  }>>;
1147
+ community: z.ZodOptional<z.ZodObject<{
1148
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1149
+ slug: z.ZodString;
1150
+ name: z.ZodString;
1151
+ iconUrl: z.ZodOptional<z.ZodURL>;
1152
+ visibility: z.ZodEnum<{
1153
+ public: "public";
1154
+ private: "private";
1155
+ hidden: "hidden";
1156
+ }>;
1157
+ archived: z.ZodOptional<z.ZodBoolean>;
1158
+ }, z.core.$strip>>;
1159
+ pinnedAt: z.ZodOptional<z.ZodISODateTime>;
858
1160
  commentCount: z.ZodNumber;
859
1161
  reactionCounts: z.ZodRecord<z.ZodEnum<{
1162
+ support: "support";
860
1163
  like: "like";
861
1164
  celebrate: "celebrate";
862
1165
  insightful: "insightful";
863
1166
  curious: "curious";
1167
+ love: "love";
1168
+ haha: "haha";
864
1169
  }> & z.core.$partial, z.ZodNumber>;
1170
+ repostCount: z.ZodNumber;
865
1171
  createdAt: z.ZodISODateTime;
866
1172
  editedAt: z.ZodNullable<z.ZodISODateTime>;
867
1173
  viewer: z.ZodOptional<z.ZodObject<{
868
1174
  reaction: z.ZodNullable<z.ZodEnum<{
1175
+ support: "support";
869
1176
  like: "like";
870
1177
  celebrate: "celebrate";
871
1178
  insightful: "insightful";
872
1179
  curious: "curious";
1180
+ love: "love";
1181
+ haha: "haha";
873
1182
  }>>;
874
1183
  bookmarked: z.ZodBoolean;
875
1184
  isAuthor: z.ZodBoolean;
876
1185
  canEdit: z.ZodBoolean;
877
1186
  canDelete: z.ZodBoolean;
878
1187
  canReport: z.ZodBoolean;
1188
+ repostId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
1189
+ canRepost: z.ZodBoolean;
1190
+ canTakePart: z.ZodOptional<z.ZodBoolean>;
879
1191
  votedOptionIndices: z.ZodArray<z.ZodNumber>;
880
1192
  }, z.core.$strip>>;
881
1193
  }, z.core.$strip>], "contentKind">;
@@ -903,10 +1215,13 @@ export declare const feedCommentSchema: z.ZodObject<{
903
1215
  text: z.ZodString;
904
1216
  replyCount: z.ZodNumber;
905
1217
  reactionCounts: z.ZodRecord<z.ZodEnum<{
1218
+ support: "support";
906
1219
  like: "like";
907
1220
  celebrate: "celebrate";
908
1221
  insightful: "insightful";
909
1222
  curious: "curious";
1223
+ love: "love";
1224
+ haha: "haha";
910
1225
  }> & z.core.$partial, z.ZodNumber>;
911
1226
  helpfulAt: z.ZodNullable<z.ZodISODateTime>;
912
1227
  createdAt: z.ZodISODateTime;
@@ -916,10 +1231,13 @@ export declare const feedCommentSchema: z.ZodObject<{
916
1231
  canDelete: z.ZodBoolean;
917
1232
  canReport: z.ZodBoolean;
918
1233
  reaction: z.ZodNullable<z.ZodEnum<{
1234
+ support: "support";
919
1235
  like: "like";
920
1236
  celebrate: "celebrate";
921
1237
  insightful: "insightful";
922
1238
  curious: "curious";
1239
+ love: "love";
1240
+ haha: "haha";
923
1241
  }>>;
924
1242
  isAuthor: z.ZodBoolean;
925
1243
  canMarkHelpful: z.ZodBoolean;
@@ -958,6 +1276,26 @@ export declare const commentsQuerySchema: z.ZodObject<{
958
1276
  }, z.core.$strip>;
959
1277
  export type CommentsQuery = z.infer<typeof commentsQuerySchema>;
960
1278
  export type CommentsQueryInput = z.input<typeof commentsQuerySchema>;
1279
+ /**
1280
+ * `GET /api/v1/feed/:contentKind/:contentId/reactions` (0.8.0): who reacted,
1281
+ * newest first. `contentKind` is post, poll or comment, as for reacting.
1282
+ * `type` narrows to one reaction (a tab); absent lists every reaction (All).
1283
+ */
1284
+ export declare const reactionsQuerySchema: z.ZodObject<{
1285
+ limit: z.ZodPreprocess<z.ZodDefault<z.ZodCoercedNumber<unknown>>, unknown>;
1286
+ cursor: z.ZodOptional<z.ZodString>;
1287
+ type: z.ZodPreprocess<z.ZodOptional<z.ZodEnum<{
1288
+ support: "support";
1289
+ like: "like";
1290
+ celebrate: "celebrate";
1291
+ insightful: "insightful";
1292
+ curious: "curious";
1293
+ love: "love";
1294
+ haha: "haha";
1295
+ }>>, unknown>;
1296
+ }, z.core.$strip>;
1297
+ export type ReactionsQuery = z.infer<typeof reactionsQuerySchema>;
1298
+ export type ReactionsQueryInput = z.input<typeof reactionsQuerySchema>;
961
1299
  /**
962
1300
  * Every id and kind in a feed URL, as a schema, so a bad one answers exactly
963
1301
  * as a bad body field does: 400 `VALIDATION_ERROR`, the issue at
@@ -1137,27 +1475,102 @@ export declare const feedPageSchema: z.ZodObject<{
1137
1475
  launch: "launch";
1138
1476
  ideas: "ideas";
1139
1477
  }>>;
1478
+ community: z.ZodOptional<z.ZodObject<{
1479
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1480
+ slug: z.ZodString;
1481
+ name: z.ZodString;
1482
+ iconUrl: z.ZodOptional<z.ZodURL>;
1483
+ visibility: z.ZodEnum<{
1484
+ public: "public";
1485
+ private: "private";
1486
+ hidden: "hidden";
1487
+ }>;
1488
+ archived: z.ZodOptional<z.ZodBoolean>;
1489
+ }, z.core.$strip>>;
1490
+ pinnedAt: z.ZodOptional<z.ZodISODateTime>;
1491
+ repostOf: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1492
+ state: z.ZodLiteral<"available">;
1493
+ contentKind: z.ZodEnum<{
1494
+ post: "post";
1495
+ poll: "poll";
1496
+ }>;
1497
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1498
+ author: z.ZodObject<{
1499
+ userId: z.ZodString;
1500
+ username: z.ZodString;
1501
+ displayName: z.ZodString;
1502
+ avatarUrl: z.ZodOptional<z.ZodURL>;
1503
+ headline: z.ZodOptional<z.ZodString>;
1504
+ }, z.core.$strip>;
1505
+ text: z.ZodString;
1506
+ media: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1507
+ id: z.ZodString;
1508
+ url: z.ZodURL;
1509
+ width: z.ZodNumber;
1510
+ height: z.ZodNumber;
1511
+ variants: z.ZodArray<z.ZodObject<{
1512
+ width: z.ZodNumber;
1513
+ height: z.ZodNumber;
1514
+ url: z.ZodURL;
1515
+ }, z.core.$strip>>;
1516
+ placeholder: z.ZodOptional<z.ZodString>;
1517
+ kind: z.ZodLiteral<"image">;
1518
+ thumbnailUrl: z.ZodOptional<z.ZodURL>;
1519
+ alt: z.ZodOptional<z.ZodString>;
1520
+ }, z.core.$strip>, z.ZodObject<{
1521
+ kind: z.ZodLiteral<"video">;
1522
+ url: z.ZodURL;
1523
+ thumbnailUrl: z.ZodURL;
1524
+ width: z.ZodNumber;
1525
+ height: z.ZodNumber;
1526
+ duration: z.ZodNumber;
1527
+ }, z.core.$strip>], "kind">>;
1528
+ product: z.ZodOptional<z.ZodObject<{
1529
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1530
+ slug: z.ZodString;
1531
+ name: z.ZodString;
1532
+ logoUrl: z.ZodOptional<z.ZodURL>;
1533
+ }, z.core.$strip>>;
1534
+ createdAt: z.ZodISODateTime;
1535
+ }, z.core.$strip>, z.ZodObject<{
1536
+ state: z.ZodLiteral<"unavailable">;
1537
+ contentKind: z.ZodEnum<{
1538
+ post: "post";
1539
+ poll: "poll";
1540
+ }>;
1541
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1542
+ }, z.core.$strip>], "state">>;
1140
1543
  commentCount: z.ZodNumber;
1141
1544
  reactionCounts: z.ZodRecord<z.ZodEnum<{
1545
+ support: "support";
1142
1546
  like: "like";
1143
1547
  celebrate: "celebrate";
1144
1548
  insightful: "insightful";
1145
1549
  curious: "curious";
1550
+ love: "love";
1551
+ haha: "haha";
1146
1552
  }> & z.core.$partial, z.ZodNumber>;
1553
+ repostCount: z.ZodNumber;
1147
1554
  createdAt: z.ZodISODateTime;
1148
1555
  editedAt: z.ZodNullable<z.ZodISODateTime>;
1149
1556
  viewer: z.ZodOptional<z.ZodObject<{
1150
1557
  reaction: z.ZodNullable<z.ZodEnum<{
1558
+ support: "support";
1151
1559
  like: "like";
1152
1560
  celebrate: "celebrate";
1153
1561
  insightful: "insightful";
1154
1562
  curious: "curious";
1563
+ love: "love";
1564
+ haha: "haha";
1155
1565
  }>>;
1156
1566
  bookmarked: z.ZodBoolean;
1157
1567
  isAuthor: z.ZodBoolean;
1158
1568
  canEdit: z.ZodBoolean;
1159
1569
  canDelete: z.ZodBoolean;
1160
1570
  canReport: z.ZodBoolean;
1571
+ repostId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
1572
+ canRepost: z.ZodBoolean;
1573
+ canTakePart: z.ZodOptional<z.ZodBoolean>;
1161
1574
  }, z.core.$strip>>;
1162
1575
  }, z.core.$strip>, z.ZodObject<{
1163
1576
  id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -1263,43 +1676,64 @@ export declare const feedPageSchema: z.ZodObject<{
1263
1676
  launch: "launch";
1264
1677
  ideas: "ideas";
1265
1678
  }>>;
1679
+ community: z.ZodOptional<z.ZodObject<{
1680
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1681
+ slug: z.ZodString;
1682
+ name: z.ZodString;
1683
+ iconUrl: z.ZodOptional<z.ZodURL>;
1684
+ visibility: z.ZodEnum<{
1685
+ public: "public";
1686
+ private: "private";
1687
+ hidden: "hidden";
1688
+ }>;
1689
+ archived: z.ZodOptional<z.ZodBoolean>;
1690
+ }, z.core.$strip>>;
1691
+ pinnedAt: z.ZodOptional<z.ZodISODateTime>;
1266
1692
  commentCount: z.ZodNumber;
1267
1693
  reactionCounts: z.ZodRecord<z.ZodEnum<{
1694
+ support: "support";
1268
1695
  like: "like";
1269
1696
  celebrate: "celebrate";
1270
1697
  insightful: "insightful";
1271
1698
  curious: "curious";
1699
+ love: "love";
1700
+ haha: "haha";
1272
1701
  }> & z.core.$partial, z.ZodNumber>;
1702
+ repostCount: z.ZodNumber;
1273
1703
  createdAt: z.ZodISODateTime;
1274
1704
  editedAt: z.ZodNullable<z.ZodISODateTime>;
1275
1705
  viewer: z.ZodOptional<z.ZodObject<{
1276
1706
  reaction: z.ZodNullable<z.ZodEnum<{
1707
+ support: "support";
1277
1708
  like: "like";
1278
1709
  celebrate: "celebrate";
1279
1710
  insightful: "insightful";
1280
1711
  curious: "curious";
1712
+ love: "love";
1713
+ haha: "haha";
1281
1714
  }>>;
1282
1715
  bookmarked: z.ZodBoolean;
1283
1716
  isAuthor: z.ZodBoolean;
1284
1717
  canEdit: z.ZodBoolean;
1285
1718
  canDelete: z.ZodBoolean;
1286
1719
  canReport: z.ZodBoolean;
1720
+ repostId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
1721
+ canRepost: z.ZodBoolean;
1722
+ canTakePart: z.ZodOptional<z.ZodBoolean>;
1287
1723
  votedOptionIndices: z.ZodArray<z.ZodNumber>;
1288
1724
  }, z.core.$strip>>;
1289
1725
  }, z.core.$strip>], "contentKind">>;
1290
1726
  nextCursor: z.ZodNullable<z.ZodString>;
1291
1727
  }, z.core.$strip>;
1292
1728
  export type FeedPage = z.infer<typeof feedPageSchema>;
1293
- /** A page of a thread: top-level comments, or one comment's replies. */
1294
- export declare const commentPageSchema: z.ZodObject<{
1295
- items: z.ZodArray<z.ZodObject<{
1729
+ /**
1730
+ * A community's pinned announcements (0.9.0), most recently pinned first, at
1731
+ * most `COMMUNITY_PINS_MAX` (domains/communities). Never paged.
1732
+ */
1733
+ export declare const pinnedItemsSchema: z.ZodObject<{
1734
+ items: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1296
1735
  id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1297
- contentKind: z.ZodEnum<{
1298
- post: "post";
1299
- poll: "poll";
1300
- }>;
1301
- contentId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1302
- parentCommentId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
1736
+ contentKind: z.ZodLiteral<"post">;
1303
1737
  author: z.ZodObject<{
1304
1738
  userId: z.ZodString;
1305
1739
  username: z.ZodString;
@@ -1308,36 +1742,480 @@ export declare const commentPageSchema: z.ZodObject<{
1308
1742
  headline: z.ZodOptional<z.ZodString>;
1309
1743
  }, z.core.$strip>;
1310
1744
  text: z.ZodString;
1311
- replyCount: z.ZodNumber;
1312
- reactionCounts: z.ZodRecord<z.ZodEnum<{
1313
- like: "like";
1314
- celebrate: "celebrate";
1315
- insightful: "insightful";
1316
- curious: "curious";
1317
- }> & z.core.$partial, z.ZodNumber>;
1318
- helpfulAt: z.ZodNullable<z.ZodISODateTime>;
1319
- createdAt: z.ZodISODateTime;
1320
- editedAt: z.ZodNullable<z.ZodISODateTime>;
1321
- viewer: z.ZodOptional<z.ZodObject<{
1322
- canEdit: z.ZodBoolean;
1323
- canDelete: z.ZodBoolean;
1324
- canReport: z.ZodBoolean;
1325
- reaction: z.ZodNullable<z.ZodEnum<{
1326
- like: "like";
1327
- celebrate: "celebrate";
1328
- insightful: "insightful";
1329
- curious: "curious";
1330
- }>>;
1331
- isAuthor: z.ZodBoolean;
1332
- canMarkHelpful: z.ZodBoolean;
1333
- }, z.core.$strip>>;
1334
- }, z.core.$strip>>;
1335
- nextCursor: z.ZodNullable<z.ZodString>;
1336
- }, z.core.$strip>;
1337
- export type CommentPage = z.infer<typeof commentPageSchema>;
1338
- /**
1339
- * A comment on a product's Feedback tab (`GET /products/:id/feedback`): the
1340
- * comment as a thread shows it, plus whether its writer is already a
1745
+ media: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1746
+ id: z.ZodString;
1747
+ url: z.ZodURL;
1748
+ width: z.ZodNumber;
1749
+ height: z.ZodNumber;
1750
+ variants: z.ZodArray<z.ZodObject<{
1751
+ width: z.ZodNumber;
1752
+ height: z.ZodNumber;
1753
+ url: z.ZodURL;
1754
+ }, z.core.$strip>>;
1755
+ placeholder: z.ZodOptional<z.ZodString>;
1756
+ kind: z.ZodLiteral<"image">;
1757
+ thumbnailUrl: z.ZodOptional<z.ZodURL>;
1758
+ alt: z.ZodOptional<z.ZodString>;
1759
+ }, z.core.$strip>, z.ZodObject<{
1760
+ kind: z.ZodLiteral<"video">;
1761
+ url: z.ZodURL;
1762
+ thumbnailUrl: z.ZodURL;
1763
+ width: z.ZodNumber;
1764
+ height: z.ZodNumber;
1765
+ duration: z.ZodNumber;
1766
+ }, z.core.$strip>], "kind">>;
1767
+ linkPreview: z.ZodOptional<z.ZodObject<{
1768
+ url: z.ZodURL;
1769
+ title: z.ZodOptional<z.ZodString>;
1770
+ description: z.ZodOptional<z.ZodString>;
1771
+ imageUrl: z.ZodOptional<z.ZodURL>;
1772
+ }, z.core.$strip>>;
1773
+ topics: z.ZodArray<z.ZodEnum<{
1774
+ ai_ml: "ai_ml";
1775
+ b2b_saas: "b2b_saas";
1776
+ d2c: "d2c";
1777
+ deeptech: "deeptech";
1778
+ robotics: "robotics";
1779
+ growth: "growth";
1780
+ sales: "sales";
1781
+ marketing: "marketing";
1782
+ supply_chain: "supply_chain";
1783
+ fundraising: "fundraising";
1784
+ mentoring: "mentoring";
1785
+ leadership: "leadership";
1786
+ networking: "networking";
1787
+ public_speaking: "public_speaking";
1788
+ teaching: "teaching";
1789
+ hiring_talent: "hiring_talent";
1790
+ personal_branding: "personal_branding";
1791
+ career_transition: "career_transition";
1792
+ remote_work: "remote_work";
1793
+ blockchain: "blockchain";
1794
+ crypto_web3: "crypto_web3";
1795
+ data_science: "data_science";
1796
+ cybersecurity: "cybersecurity";
1797
+ game_dev: "game_dev";
1798
+ ux_design: "ux_design";
1799
+ app_development: "app_development";
1800
+ open_source: "open_source";
1801
+ electronics: "electronics";
1802
+ space_exploration: "space_exploration";
1803
+ green_tech: "green_tech";
1804
+ no_code: "no_code";
1805
+ entrepreneurship: "entrepreneurship";
1806
+ investing: "investing";
1807
+ stock_trading: "stock_trading";
1808
+ personal_finance: "personal_finance";
1809
+ consulting: "consulting";
1810
+ ecommerce: "ecommerce";
1811
+ retail: "retail";
1812
+ real_estate: "real_estate";
1813
+ product_management: "product_management";
1814
+ meditation: "meditation";
1815
+ journaling: "journaling";
1816
+ self_improvement: "self_improvement";
1817
+ productivity: "productivity";
1818
+ reading: "reading";
1819
+ online_courses: "online_courses";
1820
+ philosophy: "philosophy";
1821
+ psychology: "psychology";
1822
+ therapy: "therapy";
1823
+ sleep_optimization: "sleep_optimization";
1824
+ gym: "gym";
1825
+ yoga: "yoga";
1826
+ photography: "photography";
1827
+ writing: "writing";
1828
+ graphic_design: "graphic_design";
1829
+ filmmaking: "filmmaking";
1830
+ digital_art: "digital_art";
1831
+ content_creation: "content_creation";
1832
+ blogging: "blogging";
1833
+ vlogging: "vlogging";
1834
+ podcasts: "podcasts";
1835
+ animation: "animation";
1836
+ music_production: "music_production";
1837
+ volunteering: "volunteering";
1838
+ ngo_work: "ngo_work";
1839
+ environmental: "environmental";
1840
+ women_empowerment: "women_empowerment";
1841
+ community_service: "community_service";
1842
+ social_enterprise: "social_enterprise";
1843
+ education_access: "education_access";
1844
+ }>>;
1845
+ product: z.ZodOptional<z.ZodObject<{
1846
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1847
+ slug: z.ZodString;
1848
+ name: z.ZodString;
1849
+ logoUrl: z.ZodOptional<z.ZodURL>;
1850
+ }, z.core.$strip>>;
1851
+ ask: z.ZodOptional<z.ZodEnum<{
1852
+ feedback: "feedback";
1853
+ testers: "testers";
1854
+ launch: "launch";
1855
+ ideas: "ideas";
1856
+ }>>;
1857
+ community: z.ZodOptional<z.ZodObject<{
1858
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1859
+ slug: z.ZodString;
1860
+ name: z.ZodString;
1861
+ iconUrl: z.ZodOptional<z.ZodURL>;
1862
+ visibility: z.ZodEnum<{
1863
+ public: "public";
1864
+ private: "private";
1865
+ hidden: "hidden";
1866
+ }>;
1867
+ archived: z.ZodOptional<z.ZodBoolean>;
1868
+ }, z.core.$strip>>;
1869
+ pinnedAt: z.ZodOptional<z.ZodISODateTime>;
1870
+ repostOf: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1871
+ state: z.ZodLiteral<"available">;
1872
+ contentKind: z.ZodEnum<{
1873
+ post: "post";
1874
+ poll: "poll";
1875
+ }>;
1876
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1877
+ author: z.ZodObject<{
1878
+ userId: z.ZodString;
1879
+ username: z.ZodString;
1880
+ displayName: z.ZodString;
1881
+ avatarUrl: z.ZodOptional<z.ZodURL>;
1882
+ headline: z.ZodOptional<z.ZodString>;
1883
+ }, z.core.$strip>;
1884
+ text: z.ZodString;
1885
+ media: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1886
+ id: z.ZodString;
1887
+ url: z.ZodURL;
1888
+ width: z.ZodNumber;
1889
+ height: z.ZodNumber;
1890
+ variants: z.ZodArray<z.ZodObject<{
1891
+ width: z.ZodNumber;
1892
+ height: z.ZodNumber;
1893
+ url: z.ZodURL;
1894
+ }, z.core.$strip>>;
1895
+ placeholder: z.ZodOptional<z.ZodString>;
1896
+ kind: z.ZodLiteral<"image">;
1897
+ thumbnailUrl: z.ZodOptional<z.ZodURL>;
1898
+ alt: z.ZodOptional<z.ZodString>;
1899
+ }, z.core.$strip>, z.ZodObject<{
1900
+ kind: z.ZodLiteral<"video">;
1901
+ url: z.ZodURL;
1902
+ thumbnailUrl: z.ZodURL;
1903
+ width: z.ZodNumber;
1904
+ height: z.ZodNumber;
1905
+ duration: z.ZodNumber;
1906
+ }, z.core.$strip>], "kind">>;
1907
+ product: z.ZodOptional<z.ZodObject<{
1908
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1909
+ slug: z.ZodString;
1910
+ name: z.ZodString;
1911
+ logoUrl: z.ZodOptional<z.ZodURL>;
1912
+ }, z.core.$strip>>;
1913
+ createdAt: z.ZodISODateTime;
1914
+ }, z.core.$strip>, z.ZodObject<{
1915
+ state: z.ZodLiteral<"unavailable">;
1916
+ contentKind: z.ZodEnum<{
1917
+ post: "post";
1918
+ poll: "poll";
1919
+ }>;
1920
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1921
+ }, z.core.$strip>], "state">>;
1922
+ commentCount: z.ZodNumber;
1923
+ reactionCounts: z.ZodRecord<z.ZodEnum<{
1924
+ support: "support";
1925
+ like: "like";
1926
+ celebrate: "celebrate";
1927
+ insightful: "insightful";
1928
+ curious: "curious";
1929
+ love: "love";
1930
+ haha: "haha";
1931
+ }> & z.core.$partial, z.ZodNumber>;
1932
+ repostCount: z.ZodNumber;
1933
+ createdAt: z.ZodISODateTime;
1934
+ editedAt: z.ZodNullable<z.ZodISODateTime>;
1935
+ viewer: z.ZodOptional<z.ZodObject<{
1936
+ reaction: z.ZodNullable<z.ZodEnum<{
1937
+ support: "support";
1938
+ like: "like";
1939
+ celebrate: "celebrate";
1940
+ insightful: "insightful";
1941
+ curious: "curious";
1942
+ love: "love";
1943
+ haha: "haha";
1944
+ }>>;
1945
+ bookmarked: z.ZodBoolean;
1946
+ isAuthor: z.ZodBoolean;
1947
+ canEdit: z.ZodBoolean;
1948
+ canDelete: z.ZodBoolean;
1949
+ canReport: z.ZodBoolean;
1950
+ repostId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
1951
+ canRepost: z.ZodBoolean;
1952
+ canTakePart: z.ZodOptional<z.ZodBoolean>;
1953
+ }, z.core.$strip>>;
1954
+ }, z.core.$strip>, z.ZodObject<{
1955
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1956
+ contentKind: z.ZodLiteral<"poll">;
1957
+ author: z.ZodObject<{
1958
+ userId: z.ZodString;
1959
+ username: z.ZodString;
1960
+ displayName: z.ZodString;
1961
+ avatarUrl: z.ZodOptional<z.ZodURL>;
1962
+ headline: z.ZodOptional<z.ZodString>;
1963
+ }, z.core.$strip>;
1964
+ question: z.ZodString;
1965
+ options: z.ZodArray<z.ZodObject<{
1966
+ index: z.ZodNumber;
1967
+ label: z.ZodString;
1968
+ voteCount: z.ZodNumber;
1969
+ }, z.core.$strip>>;
1970
+ totalVoters: z.ZodNumber;
1971
+ allowsMultipleChoices: z.ZodBoolean;
1972
+ closesAt: z.ZodISODateTime;
1973
+ isClosed: z.ZodBoolean;
1974
+ topics: z.ZodArray<z.ZodEnum<{
1975
+ ai_ml: "ai_ml";
1976
+ b2b_saas: "b2b_saas";
1977
+ d2c: "d2c";
1978
+ deeptech: "deeptech";
1979
+ robotics: "robotics";
1980
+ growth: "growth";
1981
+ sales: "sales";
1982
+ marketing: "marketing";
1983
+ supply_chain: "supply_chain";
1984
+ fundraising: "fundraising";
1985
+ mentoring: "mentoring";
1986
+ leadership: "leadership";
1987
+ networking: "networking";
1988
+ public_speaking: "public_speaking";
1989
+ teaching: "teaching";
1990
+ hiring_talent: "hiring_talent";
1991
+ personal_branding: "personal_branding";
1992
+ career_transition: "career_transition";
1993
+ remote_work: "remote_work";
1994
+ blockchain: "blockchain";
1995
+ crypto_web3: "crypto_web3";
1996
+ data_science: "data_science";
1997
+ cybersecurity: "cybersecurity";
1998
+ game_dev: "game_dev";
1999
+ ux_design: "ux_design";
2000
+ app_development: "app_development";
2001
+ open_source: "open_source";
2002
+ electronics: "electronics";
2003
+ space_exploration: "space_exploration";
2004
+ green_tech: "green_tech";
2005
+ no_code: "no_code";
2006
+ entrepreneurship: "entrepreneurship";
2007
+ investing: "investing";
2008
+ stock_trading: "stock_trading";
2009
+ personal_finance: "personal_finance";
2010
+ consulting: "consulting";
2011
+ ecommerce: "ecommerce";
2012
+ retail: "retail";
2013
+ real_estate: "real_estate";
2014
+ product_management: "product_management";
2015
+ meditation: "meditation";
2016
+ journaling: "journaling";
2017
+ self_improvement: "self_improvement";
2018
+ productivity: "productivity";
2019
+ reading: "reading";
2020
+ online_courses: "online_courses";
2021
+ philosophy: "philosophy";
2022
+ psychology: "psychology";
2023
+ therapy: "therapy";
2024
+ sleep_optimization: "sleep_optimization";
2025
+ gym: "gym";
2026
+ yoga: "yoga";
2027
+ photography: "photography";
2028
+ writing: "writing";
2029
+ graphic_design: "graphic_design";
2030
+ filmmaking: "filmmaking";
2031
+ digital_art: "digital_art";
2032
+ content_creation: "content_creation";
2033
+ blogging: "blogging";
2034
+ vlogging: "vlogging";
2035
+ podcasts: "podcasts";
2036
+ animation: "animation";
2037
+ music_production: "music_production";
2038
+ volunteering: "volunteering";
2039
+ ngo_work: "ngo_work";
2040
+ environmental: "environmental";
2041
+ women_empowerment: "women_empowerment";
2042
+ community_service: "community_service";
2043
+ social_enterprise: "social_enterprise";
2044
+ education_access: "education_access";
2045
+ }>>;
2046
+ product: z.ZodOptional<z.ZodObject<{
2047
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
2048
+ slug: z.ZodString;
2049
+ name: z.ZodString;
2050
+ logoUrl: z.ZodOptional<z.ZodURL>;
2051
+ }, z.core.$strip>>;
2052
+ ask: z.ZodOptional<z.ZodEnum<{
2053
+ feedback: "feedback";
2054
+ testers: "testers";
2055
+ launch: "launch";
2056
+ ideas: "ideas";
2057
+ }>>;
2058
+ community: z.ZodOptional<z.ZodObject<{
2059
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
2060
+ slug: z.ZodString;
2061
+ name: z.ZodString;
2062
+ iconUrl: z.ZodOptional<z.ZodURL>;
2063
+ visibility: z.ZodEnum<{
2064
+ public: "public";
2065
+ private: "private";
2066
+ hidden: "hidden";
2067
+ }>;
2068
+ archived: z.ZodOptional<z.ZodBoolean>;
2069
+ }, z.core.$strip>>;
2070
+ pinnedAt: z.ZodOptional<z.ZodISODateTime>;
2071
+ commentCount: z.ZodNumber;
2072
+ reactionCounts: z.ZodRecord<z.ZodEnum<{
2073
+ support: "support";
2074
+ like: "like";
2075
+ celebrate: "celebrate";
2076
+ insightful: "insightful";
2077
+ curious: "curious";
2078
+ love: "love";
2079
+ haha: "haha";
2080
+ }> & z.core.$partial, z.ZodNumber>;
2081
+ repostCount: z.ZodNumber;
2082
+ createdAt: z.ZodISODateTime;
2083
+ editedAt: z.ZodNullable<z.ZodISODateTime>;
2084
+ viewer: z.ZodOptional<z.ZodObject<{
2085
+ reaction: z.ZodNullable<z.ZodEnum<{
2086
+ support: "support";
2087
+ like: "like";
2088
+ celebrate: "celebrate";
2089
+ insightful: "insightful";
2090
+ curious: "curious";
2091
+ love: "love";
2092
+ haha: "haha";
2093
+ }>>;
2094
+ bookmarked: z.ZodBoolean;
2095
+ isAuthor: z.ZodBoolean;
2096
+ canEdit: z.ZodBoolean;
2097
+ canDelete: z.ZodBoolean;
2098
+ canReport: z.ZodBoolean;
2099
+ repostId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
2100
+ canRepost: z.ZodBoolean;
2101
+ canTakePart: z.ZodOptional<z.ZodBoolean>;
2102
+ votedOptionIndices: z.ZodArray<z.ZodNumber>;
2103
+ }, z.core.$strip>>;
2104
+ }, z.core.$strip>], "contentKind">>;
2105
+ }, z.core.$strip>;
2106
+ export type PinnedItems = z.infer<typeof pinnedItemsSchema>;
2107
+ /** A page of a thread: top-level comments, or one comment's replies. */
2108
+ export declare const commentPageSchema: z.ZodObject<{
2109
+ items: z.ZodArray<z.ZodObject<{
2110
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
2111
+ contentKind: z.ZodEnum<{
2112
+ post: "post";
2113
+ poll: "poll";
2114
+ }>;
2115
+ contentId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
2116
+ parentCommentId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
2117
+ author: z.ZodObject<{
2118
+ userId: z.ZodString;
2119
+ username: z.ZodString;
2120
+ displayName: z.ZodString;
2121
+ avatarUrl: z.ZodOptional<z.ZodURL>;
2122
+ headline: z.ZodOptional<z.ZodString>;
2123
+ }, z.core.$strip>;
2124
+ text: z.ZodString;
2125
+ replyCount: z.ZodNumber;
2126
+ reactionCounts: z.ZodRecord<z.ZodEnum<{
2127
+ support: "support";
2128
+ like: "like";
2129
+ celebrate: "celebrate";
2130
+ insightful: "insightful";
2131
+ curious: "curious";
2132
+ love: "love";
2133
+ haha: "haha";
2134
+ }> & z.core.$partial, z.ZodNumber>;
2135
+ helpfulAt: z.ZodNullable<z.ZodISODateTime>;
2136
+ createdAt: z.ZodISODateTime;
2137
+ editedAt: z.ZodNullable<z.ZodISODateTime>;
2138
+ viewer: z.ZodOptional<z.ZodObject<{
2139
+ canEdit: z.ZodBoolean;
2140
+ canDelete: z.ZodBoolean;
2141
+ canReport: z.ZodBoolean;
2142
+ reaction: z.ZodNullable<z.ZodEnum<{
2143
+ support: "support";
2144
+ like: "like";
2145
+ celebrate: "celebrate";
2146
+ insightful: "insightful";
2147
+ curious: "curious";
2148
+ love: "love";
2149
+ haha: "haha";
2150
+ }>>;
2151
+ isAuthor: z.ZodBoolean;
2152
+ canMarkHelpful: z.ZodBoolean;
2153
+ }, z.core.$strip>>;
2154
+ }, z.core.$strip>>;
2155
+ nextCursor: z.ZodNullable<z.ZodString>;
2156
+ }, z.core.$strip>;
2157
+ export type CommentPage = z.infer<typeof commentPageSchema>;
2158
+ /**
2159
+ * One row of "who reacted" (0.8.0).
2160
+ *
2161
+ * `reactedAt` is when they reacted, and the list's order: CHANGING a
2162
+ * reaction updates it in place, so the row keeps its position (and moves from
2163
+ * one tab to another) instead of jumping to the top under a reader's cursor.
2164
+ * Taking it back and reacting again is a new reaction, from then.
2165
+ *
2166
+ * Only members who can be shown are listed: an erased account's reactions are
2167
+ * withdrawn with it, and a paused, suspended or never-onboarded member is
2168
+ * left out of the list.
2169
+ * `reactionCounts` still counts every reaction, so a tab can list fewer
2170
+ * people than its number says. That is deliberate: dropping a suspended
2171
+ * member's reaction from the count would make it jump back on reinstatement.
2172
+ */
2173
+ export declare const reactorSchema: z.ZodObject<{
2174
+ member: z.ZodObject<{
2175
+ userId: z.ZodString;
2176
+ username: z.ZodString;
2177
+ displayName: z.ZodString;
2178
+ avatarUrl: z.ZodOptional<z.ZodURL>;
2179
+ headline: z.ZodOptional<z.ZodString>;
2180
+ }, z.core.$strip>;
2181
+ reaction: z.ZodEnum<{
2182
+ support: "support";
2183
+ like: "like";
2184
+ celebrate: "celebrate";
2185
+ insightful: "insightful";
2186
+ curious: "curious";
2187
+ love: "love";
2188
+ haha: "haha";
2189
+ }>;
2190
+ reactedAt: z.ZodISODateTime;
2191
+ }, z.core.$strip>;
2192
+ export type Reactor = z.infer<typeof reactorSchema>;
2193
+ export declare const reactorPageSchema: z.ZodObject<{
2194
+ items: z.ZodArray<z.ZodObject<{
2195
+ member: z.ZodObject<{
2196
+ userId: z.ZodString;
2197
+ username: z.ZodString;
2198
+ displayName: z.ZodString;
2199
+ avatarUrl: z.ZodOptional<z.ZodURL>;
2200
+ headline: z.ZodOptional<z.ZodString>;
2201
+ }, z.core.$strip>;
2202
+ reaction: z.ZodEnum<{
2203
+ support: "support";
2204
+ like: "like";
2205
+ celebrate: "celebrate";
2206
+ insightful: "insightful";
2207
+ curious: "curious";
2208
+ love: "love";
2209
+ haha: "haha";
2210
+ }>;
2211
+ reactedAt: z.ZodISODateTime;
2212
+ }, z.core.$strip>>;
2213
+ nextCursor: z.ZodNullable<z.ZodString>;
2214
+ }, z.core.$strip>;
2215
+ export type ReactorPage = z.infer<typeof reactorPageSchema>;
2216
+ /**
2217
+ * A comment on a product's Feedback tab (`GET /products/:id/feedback`): the
2218
+ * comment as a thread shows it, plus whether its writer is already a
1341
2219
  * confirmed tester, so the team's "Confirm as tester" knows without paging
1342
2220
  * through `/testers`.
1343
2221
  */
@@ -1359,10 +2237,13 @@ export declare const productFeedbackItemSchema: z.ZodObject<{
1359
2237
  text: z.ZodString;
1360
2238
  replyCount: z.ZodNumber;
1361
2239
  reactionCounts: z.ZodRecord<z.ZodEnum<{
2240
+ support: "support";
1362
2241
  like: "like";
1363
2242
  celebrate: "celebrate";
1364
2243
  insightful: "insightful";
1365
2244
  curious: "curious";
2245
+ love: "love";
2246
+ haha: "haha";
1366
2247
  }> & z.core.$partial, z.ZodNumber>;
1367
2248
  helpfulAt: z.ZodNullable<z.ZodISODateTime>;
1368
2249
  createdAt: z.ZodISODateTime;
@@ -1372,10 +2253,13 @@ export declare const productFeedbackItemSchema: z.ZodObject<{
1372
2253
  canDelete: z.ZodBoolean;
1373
2254
  canReport: z.ZodBoolean;
1374
2255
  reaction: z.ZodNullable<z.ZodEnum<{
2256
+ support: "support";
1375
2257
  like: "like";
1376
2258
  celebrate: "celebrate";
1377
2259
  insightful: "insightful";
1378
2260
  curious: "curious";
2261
+ love: "love";
2262
+ haha: "haha";
1379
2263
  }>>;
1380
2264
  isAuthor: z.ZodBoolean;
1381
2265
  canMarkHelpful: z.ZodBoolean;
@@ -1402,10 +2286,13 @@ export declare const productFeedbackPageSchema: z.ZodObject<{
1402
2286
  text: z.ZodString;
1403
2287
  replyCount: z.ZodNumber;
1404
2288
  reactionCounts: z.ZodRecord<z.ZodEnum<{
2289
+ support: "support";
1405
2290
  like: "like";
1406
2291
  celebrate: "celebrate";
1407
2292
  insightful: "insightful";
1408
2293
  curious: "curious";
2294
+ love: "love";
2295
+ haha: "haha";
1409
2296
  }> & z.core.$partial, z.ZodNumber>;
1410
2297
  helpfulAt: z.ZodNullable<z.ZodISODateTime>;
1411
2298
  createdAt: z.ZodISODateTime;
@@ -1415,10 +2302,13 @@ export declare const productFeedbackPageSchema: z.ZodObject<{
1415
2302
  canDelete: z.ZodBoolean;
1416
2303
  canReport: z.ZodBoolean;
1417
2304
  reaction: z.ZodNullable<z.ZodEnum<{
2305
+ support: "support";
1418
2306
  like: "like";
1419
2307
  celebrate: "celebrate";
1420
2308
  insightful: "insightful";
1421
2309
  curious: "curious";
2310
+ love: "love";
2311
+ haha: "haha";
1422
2312
  }>>;
1423
2313
  isAuthor: z.ZodBoolean;
1424
2314
  canMarkHelpful: z.ZodBoolean;
@@ -1462,6 +2352,7 @@ export type AttachedMedia = z.infer<typeof attachedMediaSchema>;
1462
2352
  * refused here rather than reaching the feed as a blank card.
1463
2353
  */
1464
2354
  export declare const createPostBodySchema: z.ZodObject<{
2355
+ communityId: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
1465
2356
  productId: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
1466
2357
  ask: z.ZodOptional<z.ZodEnum<{
1467
2358
  feedback: "feedback";
@@ -1555,6 +2446,7 @@ export declare const updatePostBodySchema: z.ZodObject<{
1555
2446
  }, z.core.$strip>;
1556
2447
  export type UpdatePostBody = z.infer<typeof updatePostBodySchema>;
1557
2448
  export declare const createPollBodySchema: z.ZodObject<{
2449
+ communityId: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
1558
2450
  productId: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
1559
2451
  ask: z.ZodOptional<z.ZodEnum<{
1560
2452
  feedback: "feedback";
@@ -1653,17 +2545,47 @@ export declare const createCommentBodySchema: z.ZodObject<{
1653
2545
  parentCommentId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
1654
2546
  }, z.core.$strip>;
1655
2547
  export type CreateCommentBody = z.infer<typeof createCommentBodySchema>;
2548
+ /**
2549
+ * `PATCH /api/v1/feed/comments/:commentId` (route since 0.8.0): your own
2550
+ * comment, within `EDIT_WINDOW_MS` (`EDIT_WINDOW_CLOSED` after), answering
2551
+ * `IdResponse`. Sets `editedAt`.
2552
+ */
1656
2553
  export declare const updateCommentBodySchema: z.ZodObject<{
1657
2554
  text: z.ZodString;
1658
2555
  }, z.core.$strip>;
1659
2556
  export type UpdateCommentBody = z.infer<typeof updateCommentBodySchema>;
1660
- /** Set or clear a reaction. `null` clears it; at most one per viewer per item. */
2557
+ /**
2558
+ * `POST /api/v1/feed/reposts` (0.8.0), answering `IdResponse`: the new repost,
2559
+ * which is a post of yours carrying `repostOf`. Undo it by deleting that post.
2560
+ *
2561
+ * One ACTIVE repost per member per item (`ALREADY_REPOSTED`). Refused on your
2562
+ * own item (`CANNOT_REPOST_OWN`), on a repost (`CANNOT_REPOST_A_REPOST`: share
2563
+ * the original), on anything deleted or hidden (404), and from a member who
2564
+ * cannot write yet (`ONBOARDING_INCOMPLETE`). Undo: `DELETE
2565
+ * /api/v1/feed/:contentId` on the repost.
2566
+ */
2567
+ export declare const createRepostBodySchema: z.ZodObject<{
2568
+ sourceKind: z.ZodEnum<{
2569
+ post: "post";
2570
+ poll: "poll";
2571
+ }>;
2572
+ sourceId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
2573
+ caption: z.ZodOptional<z.ZodString>;
2574
+ }, z.core.$strip>;
2575
+ export type CreateRepostBody = z.infer<typeof createRepostBodySchema>;
2576
+ /**
2577
+ * Set or clear a reaction. `null` clears it; at most one per viewer per item.
2578
+ * Only an offered reaction can be SET (`REACTION_PICKER_VALUES`): a retired
2579
+ * one stays readable on old rows but is not chosen anew.
2580
+ */
1661
2581
  export declare const setReactionBodySchema: z.ZodObject<{
1662
2582
  reaction: z.ZodNullable<z.ZodEnum<{
2583
+ support: "support";
1663
2584
  like: "like";
1664
2585
  celebrate: "celebrate";
1665
2586
  insightful: "insightful";
1666
- curious: "curious";
2587
+ love: "love";
2588
+ haha: "haha";
1667
2589
  }>>;
1668
2590
  }, z.core.$strip>;
1669
2591
  export type SetReactionBody = z.infer<typeof setReactionBodySchema>;
@@ -1681,16 +2603,22 @@ export declare const setReactionResponseSchema: z.ZodObject<{
1681
2603
  }>;
1682
2604
  contentId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1683
2605
  reaction: z.ZodNullable<z.ZodEnum<{
2606
+ support: "support";
1684
2607
  like: "like";
1685
2608
  celebrate: "celebrate";
1686
2609
  insightful: "insightful";
1687
2610
  curious: "curious";
2611
+ love: "love";
2612
+ haha: "haha";
1688
2613
  }>>;
1689
2614
  reactionCounts: z.ZodRecord<z.ZodEnum<{
2615
+ support: "support";
1690
2616
  like: "like";
1691
2617
  celebrate: "celebrate";
1692
2618
  insightful: "insightful";
1693
2619
  curious: "curious";
2620
+ love: "love";
2621
+ haha: "haha";
1694
2622
  }> & z.core.$partial, z.ZodNumber>;
1695
2623
  }, z.core.$strip>;
1696
2624
  export type SetReactionResponse = z.infer<typeof setReactionResponseSchema>;
@@ -1890,27 +2818,50 @@ export declare const castVoteResponseSchema: z.ZodObject<{
1890
2818
  launch: "launch";
1891
2819
  ideas: "ideas";
1892
2820
  }>>;
2821
+ community: z.ZodOptional<z.ZodObject<{
2822
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
2823
+ slug: z.ZodString;
2824
+ name: z.ZodString;
2825
+ iconUrl: z.ZodOptional<z.ZodURL>;
2826
+ visibility: z.ZodEnum<{
2827
+ public: "public";
2828
+ private: "private";
2829
+ hidden: "hidden";
2830
+ }>;
2831
+ archived: z.ZodOptional<z.ZodBoolean>;
2832
+ }, z.core.$strip>>;
2833
+ pinnedAt: z.ZodOptional<z.ZodISODateTime>;
1893
2834
  commentCount: z.ZodNumber;
1894
2835
  reactionCounts: z.ZodRecord<z.ZodEnum<{
2836
+ support: "support";
1895
2837
  like: "like";
1896
2838
  celebrate: "celebrate";
1897
2839
  insightful: "insightful";
1898
2840
  curious: "curious";
2841
+ love: "love";
2842
+ haha: "haha";
1899
2843
  }> & z.core.$partial, z.ZodNumber>;
2844
+ repostCount: z.ZodNumber;
1900
2845
  createdAt: z.ZodISODateTime;
1901
2846
  editedAt: z.ZodNullable<z.ZodISODateTime>;
1902
2847
  viewer: z.ZodOptional<z.ZodObject<{
1903
2848
  reaction: z.ZodNullable<z.ZodEnum<{
2849
+ support: "support";
1904
2850
  like: "like";
1905
2851
  celebrate: "celebrate";
1906
2852
  insightful: "insightful";
1907
2853
  curious: "curious";
2854
+ love: "love";
2855
+ haha: "haha";
1908
2856
  }>>;
1909
2857
  bookmarked: z.ZodBoolean;
1910
2858
  isAuthor: z.ZodBoolean;
1911
2859
  canEdit: z.ZodBoolean;
1912
2860
  canDelete: z.ZodBoolean;
1913
2861
  canReport: z.ZodBoolean;
2862
+ repostId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
2863
+ canRepost: z.ZodBoolean;
2864
+ canTakePart: z.ZodOptional<z.ZodBoolean>;
1914
2865
  votedOptionIndices: z.ZodArray<z.ZodNumber>;
1915
2866
  }, z.core.$strip>>;
1916
2867
  }, z.core.$strip>;