founder-schema 0.6.0 → 0.8.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 (44) hide show
  1. package/README.md +29 -0
  2. package/dist/core/common.d.ts +8 -1
  3. package/dist/core/common.d.ts.map +1 -1
  4. package/dist/core/common.js +27 -0
  5. package/dist/core/common.js.map +1 -1
  6. package/dist/core/errors.d.ts +7 -1
  7. package/dist/core/errors.d.ts.map +1 -1
  8. package/dist/core/errors.js +11 -1
  9. package/dist/core/errors.js.map +1 -1
  10. package/dist/core/limits.d.ts +5 -1
  11. package/dist/core/limits.d.ts.map +1 -1
  12. package/dist/core/limits.js +5 -1
  13. package/dist/core/limits.js.map +1 -1
  14. package/dist/core/responses.d.ts +6 -0
  15. package/dist/core/responses.d.ts.map +1 -1
  16. package/dist/domains/contributions/contributions.d.ts +9 -2
  17. package/dist/domains/contributions/contributions.d.ts.map +1 -1
  18. package/dist/domains/contributions/contributions.js +14 -4
  19. package/dist/domains/contributions/contributions.js.map +1 -1
  20. package/dist/domains/feed/feed.d.ts +478 -6
  21. package/dist/domains/feed/feed.d.ts.map +1 -1
  22. package/dist/domains/feed/feed.js +152 -9
  23. package/dist/domains/feed/feed.js.map +1 -1
  24. package/dist/domains/moderation/moderation.d.ts +2 -0
  25. package/dist/domains/moderation/moderation.d.ts.map +1 -1
  26. package/dist/domains/moderation/moderation.js +9 -2
  27. package/dist/domains/moderation/moderation.js.map +1 -1
  28. package/dist/domains/notifications/notifications.d.ts +53 -4
  29. package/dist/domains/notifications/notifications.d.ts.map +1 -1
  30. package/dist/domains/notifications/notifications.js +40 -4
  31. package/dist/domains/notifications/notifications.js.map +1 -1
  32. package/dist/domains/products/products.d.ts +21 -6
  33. package/dist/domains/products/products.d.ts.map +1 -1
  34. package/dist/domains/products/products.js +31 -10
  35. package/dist/domains/products/products.js.map +1 -1
  36. package/dist/domains/profile/founder-profile.d.ts +2 -1
  37. package/dist/domains/profile/founder-profile.d.ts.map +1 -1
  38. package/dist/domains/profile/founder-profile.js +2 -1
  39. package/dist/domains/profile/founder-profile.js.map +1 -1
  40. package/dist/index.d.ts +3 -3
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +3 -3
  43. package/dist/index.js.map +1 -1
  44. 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,91 @@ 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
+ }, z.core.$strip>;
350
+ export type ContentViewerState = z.infer<typeof contentViewerStateSchema>;
351
+ /**
352
+ * What a repost carries of the item it shares (0.8.0), computed when READ:
353
+ * the byline is live, and an edit to the original shows in every repost of it.
354
+ *
355
+ * `unavailable` once the original is deleted, hidden by staff, or its
356
+ * author's account is gone. The repost stays (it is its author's post, with
357
+ * their words), and says the original is no longer there, rather than
358
+ * vanishing from under the people who commented on it.
359
+ */
360
+ export declare const repostedSourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
361
+ state: z.ZodLiteral<"available">;
362
+ contentKind: z.ZodEnum<{
363
+ post: "post";
364
+ poll: "poll";
365
+ }>;
366
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
367
+ author: z.ZodObject<{
368
+ userId: z.ZodString;
369
+ username: z.ZodString;
370
+ displayName: z.ZodString;
371
+ avatarUrl: z.ZodOptional<z.ZodURL>;
372
+ headline: z.ZodOptional<z.ZodString>;
373
+ }, z.core.$strip>;
374
+ text: z.ZodString;
375
+ media: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
376
+ id: z.ZodString;
377
+ url: z.ZodURL;
378
+ width: z.ZodNumber;
379
+ height: z.ZodNumber;
380
+ variants: z.ZodArray<z.ZodObject<{
381
+ width: z.ZodNumber;
382
+ height: z.ZodNumber;
383
+ url: z.ZodURL;
384
+ }, z.core.$strip>>;
385
+ placeholder: z.ZodOptional<z.ZodString>;
386
+ kind: z.ZodLiteral<"image">;
387
+ thumbnailUrl: z.ZodOptional<z.ZodURL>;
388
+ alt: z.ZodOptional<z.ZodString>;
389
+ }, z.core.$strip>, z.ZodObject<{
390
+ kind: z.ZodLiteral<"video">;
391
+ url: z.ZodURL;
392
+ thumbnailUrl: z.ZodURL;
393
+ width: z.ZodNumber;
394
+ height: z.ZodNumber;
395
+ duration: z.ZodNumber;
396
+ }, z.core.$strip>], "kind">>;
397
+ product: z.ZodOptional<z.ZodObject<{
398
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
399
+ slug: z.ZodString;
400
+ name: z.ZodString;
401
+ logoUrl: z.ZodOptional<z.ZodURL>;
402
+ }, z.core.$strip>>;
403
+ createdAt: z.ZodISODateTime;
404
+ }, z.core.$strip>, z.ZodObject<{
405
+ state: z.ZodLiteral<"unavailable">;
406
+ contentKind: z.ZodEnum<{
407
+ post: "post";
408
+ poll: "poll";
409
+ }>;
410
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
411
+ }, z.core.$strip>], "state">;
412
+ export type RepostedSource = z.infer<typeof repostedSourceSchema>;
298
413
  /**
299
414
  * A post as the feed and the single-post page receive it.
300
415
  *
@@ -429,27 +544,88 @@ export declare const feedPostSchema: z.ZodObject<{
429
544
  launch: "launch";
430
545
  ideas: "ideas";
431
546
  }>>;
547
+ repostOf: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
548
+ state: z.ZodLiteral<"available">;
549
+ contentKind: z.ZodEnum<{
550
+ post: "post";
551
+ poll: "poll";
552
+ }>;
553
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
554
+ author: z.ZodObject<{
555
+ userId: z.ZodString;
556
+ username: z.ZodString;
557
+ displayName: z.ZodString;
558
+ avatarUrl: z.ZodOptional<z.ZodURL>;
559
+ headline: z.ZodOptional<z.ZodString>;
560
+ }, z.core.$strip>;
561
+ text: z.ZodString;
562
+ media: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
563
+ id: z.ZodString;
564
+ url: z.ZodURL;
565
+ width: z.ZodNumber;
566
+ height: z.ZodNumber;
567
+ variants: z.ZodArray<z.ZodObject<{
568
+ width: z.ZodNumber;
569
+ height: z.ZodNumber;
570
+ url: z.ZodURL;
571
+ }, z.core.$strip>>;
572
+ placeholder: z.ZodOptional<z.ZodString>;
573
+ kind: z.ZodLiteral<"image">;
574
+ thumbnailUrl: z.ZodOptional<z.ZodURL>;
575
+ alt: z.ZodOptional<z.ZodString>;
576
+ }, z.core.$strip>, z.ZodObject<{
577
+ kind: z.ZodLiteral<"video">;
578
+ url: z.ZodURL;
579
+ thumbnailUrl: z.ZodURL;
580
+ width: z.ZodNumber;
581
+ height: z.ZodNumber;
582
+ duration: z.ZodNumber;
583
+ }, z.core.$strip>], "kind">>;
584
+ product: z.ZodOptional<z.ZodObject<{
585
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
586
+ slug: z.ZodString;
587
+ name: z.ZodString;
588
+ logoUrl: z.ZodOptional<z.ZodURL>;
589
+ }, z.core.$strip>>;
590
+ createdAt: z.ZodISODateTime;
591
+ }, z.core.$strip>, z.ZodObject<{
592
+ state: z.ZodLiteral<"unavailable">;
593
+ contentKind: z.ZodEnum<{
594
+ post: "post";
595
+ poll: "poll";
596
+ }>;
597
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
598
+ }, z.core.$strip>], "state">>;
432
599
  commentCount: z.ZodNumber;
433
600
  reactionCounts: z.ZodRecord<z.ZodEnum<{
601
+ support: "support";
434
602
  like: "like";
435
603
  celebrate: "celebrate";
436
604
  insightful: "insightful";
437
605
  curious: "curious";
606
+ love: "love";
607
+ haha: "haha";
438
608
  }> & z.core.$partial, z.ZodNumber>;
609
+ repostCount: z.ZodNumber;
439
610
  createdAt: z.ZodISODateTime;
440
611
  editedAt: z.ZodNullable<z.ZodISODateTime>;
441
612
  viewer: z.ZodOptional<z.ZodObject<{
442
613
  reaction: z.ZodNullable<z.ZodEnum<{
614
+ support: "support";
443
615
  like: "like";
444
616
  celebrate: "celebrate";
445
617
  insightful: "insightful";
446
618
  curious: "curious";
619
+ love: "love";
620
+ haha: "haha";
447
621
  }>>;
448
622
  bookmarked: z.ZodBoolean;
449
623
  isAuthor: z.ZodBoolean;
450
624
  canEdit: z.ZodBoolean;
451
625
  canDelete: z.ZodBoolean;
452
626
  canReport: z.ZodBoolean;
627
+ repostId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
628
+ canRepost: z.ZodBoolean;
453
629
  }, z.core.$strip>>;
454
630
  }, z.core.$strip>;
455
631
  export type FeedPost = z.infer<typeof feedPostSchema>;
@@ -578,25 +754,34 @@ export declare const feedPollSchema: z.ZodObject<{
578
754
  }>>;
579
755
  commentCount: z.ZodNumber;
580
756
  reactionCounts: z.ZodRecord<z.ZodEnum<{
757
+ support: "support";
581
758
  like: "like";
582
759
  celebrate: "celebrate";
583
760
  insightful: "insightful";
584
761
  curious: "curious";
762
+ love: "love";
763
+ haha: "haha";
585
764
  }> & z.core.$partial, z.ZodNumber>;
765
+ repostCount: z.ZodNumber;
586
766
  createdAt: z.ZodISODateTime;
587
767
  editedAt: z.ZodNullable<z.ZodISODateTime>;
588
768
  viewer: z.ZodOptional<z.ZodObject<{
589
769
  reaction: z.ZodNullable<z.ZodEnum<{
770
+ support: "support";
590
771
  like: "like";
591
772
  celebrate: "celebrate";
592
773
  insightful: "insightful";
593
774
  curious: "curious";
775
+ love: "love";
776
+ haha: "haha";
594
777
  }>>;
595
778
  bookmarked: z.ZodBoolean;
596
779
  isAuthor: z.ZodBoolean;
597
780
  canEdit: z.ZodBoolean;
598
781
  canDelete: z.ZodBoolean;
599
782
  canReport: z.ZodBoolean;
783
+ repostId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
784
+ canRepost: z.ZodBoolean;
600
785
  votedOptionIndices: z.ZodArray<z.ZodNumber>;
601
786
  }, z.core.$strip>>;
602
787
  }, z.core.$strip>;
@@ -729,27 +914,88 @@ export declare const feedItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
729
914
  launch: "launch";
730
915
  ideas: "ideas";
731
916
  }>>;
917
+ repostOf: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
918
+ state: z.ZodLiteral<"available">;
919
+ contentKind: z.ZodEnum<{
920
+ post: "post";
921
+ poll: "poll";
922
+ }>;
923
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
924
+ author: z.ZodObject<{
925
+ userId: z.ZodString;
926
+ username: z.ZodString;
927
+ displayName: z.ZodString;
928
+ avatarUrl: z.ZodOptional<z.ZodURL>;
929
+ headline: z.ZodOptional<z.ZodString>;
930
+ }, z.core.$strip>;
931
+ text: z.ZodString;
932
+ media: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
933
+ id: z.ZodString;
934
+ url: z.ZodURL;
935
+ width: z.ZodNumber;
936
+ height: z.ZodNumber;
937
+ variants: z.ZodArray<z.ZodObject<{
938
+ width: z.ZodNumber;
939
+ height: z.ZodNumber;
940
+ url: z.ZodURL;
941
+ }, z.core.$strip>>;
942
+ placeholder: z.ZodOptional<z.ZodString>;
943
+ kind: z.ZodLiteral<"image">;
944
+ thumbnailUrl: z.ZodOptional<z.ZodURL>;
945
+ alt: z.ZodOptional<z.ZodString>;
946
+ }, z.core.$strip>, z.ZodObject<{
947
+ kind: z.ZodLiteral<"video">;
948
+ url: z.ZodURL;
949
+ thumbnailUrl: z.ZodURL;
950
+ width: z.ZodNumber;
951
+ height: z.ZodNumber;
952
+ duration: z.ZodNumber;
953
+ }, z.core.$strip>], "kind">>;
954
+ product: z.ZodOptional<z.ZodObject<{
955
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
956
+ slug: z.ZodString;
957
+ name: z.ZodString;
958
+ logoUrl: z.ZodOptional<z.ZodURL>;
959
+ }, z.core.$strip>>;
960
+ createdAt: z.ZodISODateTime;
961
+ }, z.core.$strip>, z.ZodObject<{
962
+ state: z.ZodLiteral<"unavailable">;
963
+ contentKind: z.ZodEnum<{
964
+ post: "post";
965
+ poll: "poll";
966
+ }>;
967
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
968
+ }, z.core.$strip>], "state">>;
732
969
  commentCount: z.ZodNumber;
733
970
  reactionCounts: z.ZodRecord<z.ZodEnum<{
971
+ support: "support";
734
972
  like: "like";
735
973
  celebrate: "celebrate";
736
974
  insightful: "insightful";
737
975
  curious: "curious";
976
+ love: "love";
977
+ haha: "haha";
738
978
  }> & z.core.$partial, z.ZodNumber>;
979
+ repostCount: z.ZodNumber;
739
980
  createdAt: z.ZodISODateTime;
740
981
  editedAt: z.ZodNullable<z.ZodISODateTime>;
741
982
  viewer: z.ZodOptional<z.ZodObject<{
742
983
  reaction: z.ZodNullable<z.ZodEnum<{
984
+ support: "support";
743
985
  like: "like";
744
986
  celebrate: "celebrate";
745
987
  insightful: "insightful";
746
988
  curious: "curious";
989
+ love: "love";
990
+ haha: "haha";
747
991
  }>>;
748
992
  bookmarked: z.ZodBoolean;
749
993
  isAuthor: z.ZodBoolean;
750
994
  canEdit: z.ZodBoolean;
751
995
  canDelete: z.ZodBoolean;
752
996
  canReport: z.ZodBoolean;
997
+ repostId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
998
+ canRepost: z.ZodBoolean;
753
999
  }, z.core.$strip>>;
754
1000
  }, z.core.$strip>, z.ZodObject<{
755
1001
  id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -857,25 +1103,34 @@ export declare const feedItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
857
1103
  }>>;
858
1104
  commentCount: z.ZodNumber;
859
1105
  reactionCounts: z.ZodRecord<z.ZodEnum<{
1106
+ support: "support";
860
1107
  like: "like";
861
1108
  celebrate: "celebrate";
862
1109
  insightful: "insightful";
863
1110
  curious: "curious";
1111
+ love: "love";
1112
+ haha: "haha";
864
1113
  }> & z.core.$partial, z.ZodNumber>;
1114
+ repostCount: z.ZodNumber;
865
1115
  createdAt: z.ZodISODateTime;
866
1116
  editedAt: z.ZodNullable<z.ZodISODateTime>;
867
1117
  viewer: z.ZodOptional<z.ZodObject<{
868
1118
  reaction: z.ZodNullable<z.ZodEnum<{
1119
+ support: "support";
869
1120
  like: "like";
870
1121
  celebrate: "celebrate";
871
1122
  insightful: "insightful";
872
1123
  curious: "curious";
1124
+ love: "love";
1125
+ haha: "haha";
873
1126
  }>>;
874
1127
  bookmarked: z.ZodBoolean;
875
1128
  isAuthor: z.ZodBoolean;
876
1129
  canEdit: z.ZodBoolean;
877
1130
  canDelete: z.ZodBoolean;
878
1131
  canReport: z.ZodBoolean;
1132
+ repostId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
1133
+ canRepost: z.ZodBoolean;
879
1134
  votedOptionIndices: z.ZodArray<z.ZodNumber>;
880
1135
  }, z.core.$strip>>;
881
1136
  }, z.core.$strip>], "contentKind">;
@@ -903,10 +1158,13 @@ export declare const feedCommentSchema: z.ZodObject<{
903
1158
  text: z.ZodString;
904
1159
  replyCount: z.ZodNumber;
905
1160
  reactionCounts: z.ZodRecord<z.ZodEnum<{
1161
+ support: "support";
906
1162
  like: "like";
907
1163
  celebrate: "celebrate";
908
1164
  insightful: "insightful";
909
1165
  curious: "curious";
1166
+ love: "love";
1167
+ haha: "haha";
910
1168
  }> & z.core.$partial, z.ZodNumber>;
911
1169
  helpfulAt: z.ZodNullable<z.ZodISODateTime>;
912
1170
  createdAt: z.ZodISODateTime;
@@ -916,10 +1174,13 @@ export declare const feedCommentSchema: z.ZodObject<{
916
1174
  canDelete: z.ZodBoolean;
917
1175
  canReport: z.ZodBoolean;
918
1176
  reaction: z.ZodNullable<z.ZodEnum<{
1177
+ support: "support";
919
1178
  like: "like";
920
1179
  celebrate: "celebrate";
921
1180
  insightful: "insightful";
922
1181
  curious: "curious";
1182
+ love: "love";
1183
+ haha: "haha";
923
1184
  }>>;
924
1185
  isAuthor: z.ZodBoolean;
925
1186
  canMarkHelpful: z.ZodBoolean;
@@ -958,6 +1219,26 @@ export declare const commentsQuerySchema: z.ZodObject<{
958
1219
  }, z.core.$strip>;
959
1220
  export type CommentsQuery = z.infer<typeof commentsQuerySchema>;
960
1221
  export type CommentsQueryInput = z.input<typeof commentsQuerySchema>;
1222
+ /**
1223
+ * `GET /api/v1/feed/:contentKind/:contentId/reactions` (0.8.0): who reacted,
1224
+ * newest first. `contentKind` is post, poll or comment, as for reacting.
1225
+ * `type` narrows to one reaction (a tab); absent lists every reaction (All).
1226
+ */
1227
+ export declare const reactionsQuerySchema: z.ZodObject<{
1228
+ limit: z.ZodPreprocess<z.ZodDefault<z.ZodCoercedNumber<unknown>>, unknown>;
1229
+ cursor: z.ZodOptional<z.ZodString>;
1230
+ type: z.ZodPreprocess<z.ZodOptional<z.ZodEnum<{
1231
+ support: "support";
1232
+ like: "like";
1233
+ celebrate: "celebrate";
1234
+ insightful: "insightful";
1235
+ curious: "curious";
1236
+ love: "love";
1237
+ haha: "haha";
1238
+ }>>, unknown>;
1239
+ }, z.core.$strip>;
1240
+ export type ReactionsQuery = z.infer<typeof reactionsQuerySchema>;
1241
+ export type ReactionsQueryInput = z.input<typeof reactionsQuerySchema>;
961
1242
  /**
962
1243
  * Every id and kind in a feed URL, as a schema, so a bad one answers exactly
963
1244
  * as a bad body field does: 400 `VALIDATION_ERROR`, the issue at
@@ -1137,27 +1418,88 @@ export declare const feedPageSchema: z.ZodObject<{
1137
1418
  launch: "launch";
1138
1419
  ideas: "ideas";
1139
1420
  }>>;
1421
+ repostOf: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1422
+ state: z.ZodLiteral<"available">;
1423
+ contentKind: z.ZodEnum<{
1424
+ post: "post";
1425
+ poll: "poll";
1426
+ }>;
1427
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1428
+ author: z.ZodObject<{
1429
+ userId: z.ZodString;
1430
+ username: z.ZodString;
1431
+ displayName: z.ZodString;
1432
+ avatarUrl: z.ZodOptional<z.ZodURL>;
1433
+ headline: z.ZodOptional<z.ZodString>;
1434
+ }, z.core.$strip>;
1435
+ text: z.ZodString;
1436
+ media: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1437
+ id: z.ZodString;
1438
+ url: z.ZodURL;
1439
+ width: z.ZodNumber;
1440
+ height: z.ZodNumber;
1441
+ variants: z.ZodArray<z.ZodObject<{
1442
+ width: z.ZodNumber;
1443
+ height: z.ZodNumber;
1444
+ url: z.ZodURL;
1445
+ }, z.core.$strip>>;
1446
+ placeholder: z.ZodOptional<z.ZodString>;
1447
+ kind: z.ZodLiteral<"image">;
1448
+ thumbnailUrl: z.ZodOptional<z.ZodURL>;
1449
+ alt: z.ZodOptional<z.ZodString>;
1450
+ }, z.core.$strip>, z.ZodObject<{
1451
+ kind: z.ZodLiteral<"video">;
1452
+ url: z.ZodURL;
1453
+ thumbnailUrl: z.ZodURL;
1454
+ width: z.ZodNumber;
1455
+ height: z.ZodNumber;
1456
+ duration: z.ZodNumber;
1457
+ }, z.core.$strip>], "kind">>;
1458
+ product: z.ZodOptional<z.ZodObject<{
1459
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1460
+ slug: z.ZodString;
1461
+ name: z.ZodString;
1462
+ logoUrl: z.ZodOptional<z.ZodURL>;
1463
+ }, z.core.$strip>>;
1464
+ createdAt: z.ZodISODateTime;
1465
+ }, z.core.$strip>, z.ZodObject<{
1466
+ state: z.ZodLiteral<"unavailable">;
1467
+ contentKind: z.ZodEnum<{
1468
+ post: "post";
1469
+ poll: "poll";
1470
+ }>;
1471
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1472
+ }, z.core.$strip>], "state">>;
1140
1473
  commentCount: z.ZodNumber;
1141
1474
  reactionCounts: z.ZodRecord<z.ZodEnum<{
1475
+ support: "support";
1142
1476
  like: "like";
1143
1477
  celebrate: "celebrate";
1144
1478
  insightful: "insightful";
1145
1479
  curious: "curious";
1480
+ love: "love";
1481
+ haha: "haha";
1146
1482
  }> & z.core.$partial, z.ZodNumber>;
1483
+ repostCount: z.ZodNumber;
1147
1484
  createdAt: z.ZodISODateTime;
1148
1485
  editedAt: z.ZodNullable<z.ZodISODateTime>;
1149
1486
  viewer: z.ZodOptional<z.ZodObject<{
1150
1487
  reaction: z.ZodNullable<z.ZodEnum<{
1488
+ support: "support";
1151
1489
  like: "like";
1152
1490
  celebrate: "celebrate";
1153
1491
  insightful: "insightful";
1154
1492
  curious: "curious";
1493
+ love: "love";
1494
+ haha: "haha";
1155
1495
  }>>;
1156
1496
  bookmarked: z.ZodBoolean;
1157
1497
  isAuthor: z.ZodBoolean;
1158
1498
  canEdit: z.ZodBoolean;
1159
1499
  canDelete: z.ZodBoolean;
1160
1500
  canReport: z.ZodBoolean;
1501
+ repostId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
1502
+ canRepost: z.ZodBoolean;
1161
1503
  }, z.core.$strip>>;
1162
1504
  }, z.core.$strip>, z.ZodObject<{
1163
1505
  id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -1265,25 +1607,34 @@ export declare const feedPageSchema: z.ZodObject<{
1265
1607
  }>>;
1266
1608
  commentCount: z.ZodNumber;
1267
1609
  reactionCounts: z.ZodRecord<z.ZodEnum<{
1610
+ support: "support";
1268
1611
  like: "like";
1269
1612
  celebrate: "celebrate";
1270
1613
  insightful: "insightful";
1271
1614
  curious: "curious";
1615
+ love: "love";
1616
+ haha: "haha";
1272
1617
  }> & z.core.$partial, z.ZodNumber>;
1618
+ repostCount: z.ZodNumber;
1273
1619
  createdAt: z.ZodISODateTime;
1274
1620
  editedAt: z.ZodNullable<z.ZodISODateTime>;
1275
1621
  viewer: z.ZodOptional<z.ZodObject<{
1276
1622
  reaction: z.ZodNullable<z.ZodEnum<{
1623
+ support: "support";
1277
1624
  like: "like";
1278
1625
  celebrate: "celebrate";
1279
1626
  insightful: "insightful";
1280
1627
  curious: "curious";
1628
+ love: "love";
1629
+ haha: "haha";
1281
1630
  }>>;
1282
1631
  bookmarked: z.ZodBoolean;
1283
1632
  isAuthor: z.ZodBoolean;
1284
1633
  canEdit: z.ZodBoolean;
1285
1634
  canDelete: z.ZodBoolean;
1286
1635
  canReport: z.ZodBoolean;
1636
+ repostId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
1637
+ canRepost: z.ZodBoolean;
1287
1638
  votedOptionIndices: z.ZodArray<z.ZodNumber>;
1288
1639
  }, z.core.$strip>>;
1289
1640
  }, z.core.$strip>], "contentKind">>;
@@ -1310,10 +1661,13 @@ export declare const commentPageSchema: z.ZodObject<{
1310
1661
  text: z.ZodString;
1311
1662
  replyCount: z.ZodNumber;
1312
1663
  reactionCounts: z.ZodRecord<z.ZodEnum<{
1664
+ support: "support";
1313
1665
  like: "like";
1314
1666
  celebrate: "celebrate";
1315
1667
  insightful: "insightful";
1316
1668
  curious: "curious";
1669
+ love: "love";
1670
+ haha: "haha";
1317
1671
  }> & z.core.$partial, z.ZodNumber>;
1318
1672
  helpfulAt: z.ZodNullable<z.ZodISODateTime>;
1319
1673
  createdAt: z.ZodISODateTime;
@@ -1323,10 +1677,13 @@ export declare const commentPageSchema: z.ZodObject<{
1323
1677
  canDelete: z.ZodBoolean;
1324
1678
  canReport: z.ZodBoolean;
1325
1679
  reaction: z.ZodNullable<z.ZodEnum<{
1680
+ support: "support";
1326
1681
  like: "like";
1327
1682
  celebrate: "celebrate";
1328
1683
  insightful: "insightful";
1329
1684
  curious: "curious";
1685
+ love: "love";
1686
+ haha: "haha";
1330
1687
  }>>;
1331
1688
  isAuthor: z.ZodBoolean;
1332
1689
  canMarkHelpful: z.ZodBoolean;
@@ -1335,6 +1692,64 @@ export declare const commentPageSchema: z.ZodObject<{
1335
1692
  nextCursor: z.ZodNullable<z.ZodString>;
1336
1693
  }, z.core.$strip>;
1337
1694
  export type CommentPage = z.infer<typeof commentPageSchema>;
1695
+ /**
1696
+ * One row of "who reacted" (0.8.0).
1697
+ *
1698
+ * `reactedAt` is when they reacted, and the list's order: CHANGING a
1699
+ * reaction updates it in place, so the row keeps its position (and moves from
1700
+ * one tab to another) instead of jumping to the top under a reader's cursor.
1701
+ * Taking it back and reacting again is a new reaction, from then.
1702
+ *
1703
+ * Only members who can be shown are listed: an erased account's reactions are
1704
+ * withdrawn with it, and a paused, suspended or never-onboarded member is
1705
+ * left out of the list.
1706
+ * `reactionCounts` still counts every reaction, so a tab can list fewer
1707
+ * people than its number says. That is deliberate: dropping a suspended
1708
+ * member's reaction from the count would make it jump back on reinstatement.
1709
+ */
1710
+ export declare const reactorSchema: z.ZodObject<{
1711
+ member: z.ZodObject<{
1712
+ userId: z.ZodString;
1713
+ username: z.ZodString;
1714
+ displayName: z.ZodString;
1715
+ avatarUrl: z.ZodOptional<z.ZodURL>;
1716
+ headline: z.ZodOptional<z.ZodString>;
1717
+ }, z.core.$strip>;
1718
+ reaction: z.ZodEnum<{
1719
+ support: "support";
1720
+ like: "like";
1721
+ celebrate: "celebrate";
1722
+ insightful: "insightful";
1723
+ curious: "curious";
1724
+ love: "love";
1725
+ haha: "haha";
1726
+ }>;
1727
+ reactedAt: z.ZodISODateTime;
1728
+ }, z.core.$strip>;
1729
+ export type Reactor = z.infer<typeof reactorSchema>;
1730
+ export declare const reactorPageSchema: z.ZodObject<{
1731
+ items: z.ZodArray<z.ZodObject<{
1732
+ member: z.ZodObject<{
1733
+ userId: z.ZodString;
1734
+ username: z.ZodString;
1735
+ displayName: z.ZodString;
1736
+ avatarUrl: z.ZodOptional<z.ZodURL>;
1737
+ headline: z.ZodOptional<z.ZodString>;
1738
+ }, z.core.$strip>;
1739
+ reaction: z.ZodEnum<{
1740
+ support: "support";
1741
+ like: "like";
1742
+ celebrate: "celebrate";
1743
+ insightful: "insightful";
1744
+ curious: "curious";
1745
+ love: "love";
1746
+ haha: "haha";
1747
+ }>;
1748
+ reactedAt: z.ZodISODateTime;
1749
+ }, z.core.$strip>>;
1750
+ nextCursor: z.ZodNullable<z.ZodString>;
1751
+ }, z.core.$strip>;
1752
+ export type ReactorPage = z.infer<typeof reactorPageSchema>;
1338
1753
  /**
1339
1754
  * A comment on a product's Feedback tab (`GET /products/:id/feedback`): the
1340
1755
  * comment as a thread shows it, plus whether its writer is already a
@@ -1359,10 +1774,13 @@ export declare const productFeedbackItemSchema: z.ZodObject<{
1359
1774
  text: z.ZodString;
1360
1775
  replyCount: z.ZodNumber;
1361
1776
  reactionCounts: z.ZodRecord<z.ZodEnum<{
1777
+ support: "support";
1362
1778
  like: "like";
1363
1779
  celebrate: "celebrate";
1364
1780
  insightful: "insightful";
1365
1781
  curious: "curious";
1782
+ love: "love";
1783
+ haha: "haha";
1366
1784
  }> & z.core.$partial, z.ZodNumber>;
1367
1785
  helpfulAt: z.ZodNullable<z.ZodISODateTime>;
1368
1786
  createdAt: z.ZodISODateTime;
@@ -1372,10 +1790,13 @@ export declare const productFeedbackItemSchema: z.ZodObject<{
1372
1790
  canDelete: z.ZodBoolean;
1373
1791
  canReport: z.ZodBoolean;
1374
1792
  reaction: z.ZodNullable<z.ZodEnum<{
1793
+ support: "support";
1375
1794
  like: "like";
1376
1795
  celebrate: "celebrate";
1377
1796
  insightful: "insightful";
1378
1797
  curious: "curious";
1798
+ love: "love";
1799
+ haha: "haha";
1379
1800
  }>>;
1380
1801
  isAuthor: z.ZodBoolean;
1381
1802
  canMarkHelpful: z.ZodBoolean;
@@ -1402,10 +1823,13 @@ export declare const productFeedbackPageSchema: z.ZodObject<{
1402
1823
  text: z.ZodString;
1403
1824
  replyCount: z.ZodNumber;
1404
1825
  reactionCounts: z.ZodRecord<z.ZodEnum<{
1826
+ support: "support";
1405
1827
  like: "like";
1406
1828
  celebrate: "celebrate";
1407
1829
  insightful: "insightful";
1408
1830
  curious: "curious";
1831
+ love: "love";
1832
+ haha: "haha";
1409
1833
  }> & z.core.$partial, z.ZodNumber>;
1410
1834
  helpfulAt: z.ZodNullable<z.ZodISODateTime>;
1411
1835
  createdAt: z.ZodISODateTime;
@@ -1415,10 +1839,13 @@ export declare const productFeedbackPageSchema: z.ZodObject<{
1415
1839
  canDelete: z.ZodBoolean;
1416
1840
  canReport: z.ZodBoolean;
1417
1841
  reaction: z.ZodNullable<z.ZodEnum<{
1842
+ support: "support";
1418
1843
  like: "like";
1419
1844
  celebrate: "celebrate";
1420
1845
  insightful: "insightful";
1421
1846
  curious: "curious";
1847
+ love: "love";
1848
+ haha: "haha";
1422
1849
  }>>;
1423
1850
  isAuthor: z.ZodBoolean;
1424
1851
  canMarkHelpful: z.ZodBoolean;
@@ -1653,17 +2080,47 @@ export declare const createCommentBodySchema: z.ZodObject<{
1653
2080
  parentCommentId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
1654
2081
  }, z.core.$strip>;
1655
2082
  export type CreateCommentBody = z.infer<typeof createCommentBodySchema>;
2083
+ /**
2084
+ * `PATCH /api/v1/feed/comments/:commentId` (route since 0.8.0): your own
2085
+ * comment, within `EDIT_WINDOW_MS` (`EDIT_WINDOW_CLOSED` after), answering
2086
+ * `IdResponse`. Sets `editedAt`.
2087
+ */
1656
2088
  export declare const updateCommentBodySchema: z.ZodObject<{
1657
2089
  text: z.ZodString;
1658
2090
  }, z.core.$strip>;
1659
2091
  export type UpdateCommentBody = z.infer<typeof updateCommentBodySchema>;
1660
- /** Set or clear a reaction. `null` clears it; at most one per viewer per item. */
2092
+ /**
2093
+ * `POST /api/v1/feed/reposts` (0.8.0), answering `IdResponse`: the new repost,
2094
+ * which is a post of yours carrying `repostOf`. Undo it by deleting that post.
2095
+ *
2096
+ * One ACTIVE repost per member per item (`ALREADY_REPOSTED`). Refused on your
2097
+ * own item (`CANNOT_REPOST_OWN`), on a repost (`CANNOT_REPOST_A_REPOST`: share
2098
+ * the original), on anything deleted or hidden (404), and from a member who
2099
+ * cannot write yet (`ONBOARDING_INCOMPLETE`). Undo: `DELETE
2100
+ * /api/v1/feed/:contentId` on the repost.
2101
+ */
2102
+ export declare const createRepostBodySchema: z.ZodObject<{
2103
+ sourceKind: z.ZodEnum<{
2104
+ post: "post";
2105
+ poll: "poll";
2106
+ }>;
2107
+ sourceId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
2108
+ caption: z.ZodOptional<z.ZodString>;
2109
+ }, z.core.$strip>;
2110
+ export type CreateRepostBody = z.infer<typeof createRepostBodySchema>;
2111
+ /**
2112
+ * Set or clear a reaction. `null` clears it; at most one per viewer per item.
2113
+ * Only an offered reaction can be SET (`REACTION_PICKER_VALUES`): a retired
2114
+ * one stays readable on old rows but is not chosen anew.
2115
+ */
1661
2116
  export declare const setReactionBodySchema: z.ZodObject<{
1662
2117
  reaction: z.ZodNullable<z.ZodEnum<{
2118
+ support: "support";
1663
2119
  like: "like";
1664
2120
  celebrate: "celebrate";
1665
2121
  insightful: "insightful";
1666
- curious: "curious";
2122
+ love: "love";
2123
+ haha: "haha";
1667
2124
  }>>;
1668
2125
  }, z.core.$strip>;
1669
2126
  export type SetReactionBody = z.infer<typeof setReactionBodySchema>;
@@ -1681,16 +2138,22 @@ export declare const setReactionResponseSchema: z.ZodObject<{
1681
2138
  }>;
1682
2139
  contentId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
1683
2140
  reaction: z.ZodNullable<z.ZodEnum<{
2141
+ support: "support";
1684
2142
  like: "like";
1685
2143
  celebrate: "celebrate";
1686
2144
  insightful: "insightful";
1687
2145
  curious: "curious";
2146
+ love: "love";
2147
+ haha: "haha";
1688
2148
  }>>;
1689
2149
  reactionCounts: z.ZodRecord<z.ZodEnum<{
2150
+ support: "support";
1690
2151
  like: "like";
1691
2152
  celebrate: "celebrate";
1692
2153
  insightful: "insightful";
1693
2154
  curious: "curious";
2155
+ love: "love";
2156
+ haha: "haha";
1694
2157
  }> & z.core.$partial, z.ZodNumber>;
1695
2158
  }, z.core.$strip>;
1696
2159
  export type SetReactionResponse = z.infer<typeof setReactionResponseSchema>;
@@ -1892,25 +2355,34 @@ export declare const castVoteResponseSchema: z.ZodObject<{
1892
2355
  }>>;
1893
2356
  commentCount: z.ZodNumber;
1894
2357
  reactionCounts: z.ZodRecord<z.ZodEnum<{
2358
+ support: "support";
1895
2359
  like: "like";
1896
2360
  celebrate: "celebrate";
1897
2361
  insightful: "insightful";
1898
2362
  curious: "curious";
2363
+ love: "love";
2364
+ haha: "haha";
1899
2365
  }> & z.core.$partial, z.ZodNumber>;
2366
+ repostCount: z.ZodNumber;
1900
2367
  createdAt: z.ZodISODateTime;
1901
2368
  editedAt: z.ZodNullable<z.ZodISODateTime>;
1902
2369
  viewer: z.ZodOptional<z.ZodObject<{
1903
2370
  reaction: z.ZodNullable<z.ZodEnum<{
2371
+ support: "support";
1904
2372
  like: "like";
1905
2373
  celebrate: "celebrate";
1906
2374
  insightful: "insightful";
1907
2375
  curious: "curious";
2376
+ love: "love";
2377
+ haha: "haha";
1908
2378
  }>>;
1909
2379
  bookmarked: z.ZodBoolean;
1910
2380
  isAuthor: z.ZodBoolean;
1911
2381
  canEdit: z.ZodBoolean;
1912
2382
  canDelete: z.ZodBoolean;
1913
2383
  canReport: z.ZodBoolean;
2384
+ repostId: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
2385
+ canRepost: z.ZodBoolean;
1914
2386
  votedOptionIndices: z.ZodArray<z.ZodNumber>;
1915
2387
  }, z.core.$strip>>;
1916
2388
  }, z.core.$strip>;