@getlatedev/node 0.2.326 → 0.2.327

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.
@@ -1492,6 +1492,38 @@ export type DiscordPlatformData = {
1492
1492
  */
1493
1493
  export type autoArchiveDuration = 60 | 1440 | 4320 | 10080;
1494
1494
 
1495
+ /**
1496
+ * A Discord guild role, returned verbatim from Discord's API.
1497
+ */
1498
+ export type DiscordRole = {
1499
+ /**
1500
+ * Role snowflake ID
1501
+ */
1502
+ id?: string;
1503
+ name?: string;
1504
+ /**
1505
+ * Decimal color (0 = no color). Convert to hex via .toString(16).
1506
+ */
1507
+ color?: number;
1508
+ /**
1509
+ * Position in role hierarchy (higher = more authority)
1510
+ */
1511
+ position?: number;
1512
+ /**
1513
+ * Permissions bitfield as a stringified integer
1514
+ */
1515
+ permissions?: string;
1516
+ /**
1517
+ * True for integration-managed roles (bot roles)
1518
+ */
1519
+ managed?: boolean;
1520
+ mentionable?: boolean;
1521
+ /**
1522
+ * True if role is displayed separately in member list
1523
+ */
1524
+ hoist?: boolean;
1525
+ };
1526
+
1495
1527
  /**
1496
1528
  * Discord guild scheduled event. Returned by /v1/discord/guilds/{guildId}/events endpoints.
1497
1529
  * Fields below are the subset Zernio consumes — Discord may return more (e.g. creator,
@@ -8249,11 +8281,11 @@ export type UnpublishPostError = (unknown | {
8249
8281
  export type EditPostData = {
8250
8282
  body: {
8251
8283
  /**
8252
- * The platform to edit the post on. Currently only twitter is supported.
8284
+ * The platform to edit the post on.
8253
8285
  */
8254
- platform: 'twitter';
8286
+ platform: 'twitter' | 'discord' | 'facebook' | 'reddit';
8255
8287
  /**
8256
- * The new tweet text content
8288
+ * The new post text content
8257
8289
  */
8258
8290
  content: string;
8259
8291
  };
@@ -8265,11 +8297,12 @@ export type EditPostData = {
8265
8297
  export type EditPostResponse = ({
8266
8298
  success?: boolean;
8267
8299
  /**
8268
- * New tweet ID assigned by X after edit
8300
+ * The platform post ID after the edit. X assigns a new ID; Discord, Facebook, and Reddit return the original ID unchanged.
8301
+ *
8269
8302
  */
8270
8303
  id?: string;
8271
8304
  /**
8272
- * URL of the edited tweet
8305
+ * URL of the edited post
8273
8306
  */
8274
8307
  url?: string;
8275
8308
  message?: string;
@@ -11673,6 +11706,34 @@ export type ListInstagramStoriesError = (unknown | {
11673
11706
  error?: string;
11674
11707
  });
11675
11708
 
11709
+ export type GetInstagramPublishingLimitData = {
11710
+ path: {
11711
+ /**
11712
+ * The ID of the Instagram account
11713
+ */
11714
+ accountId: string;
11715
+ };
11716
+ };
11717
+
11718
+ export type GetInstagramPublishingLimitResponse = ({
11719
+ /**
11720
+ * Containers published so far in the current window
11721
+ */
11722
+ quotaUsage?: number;
11723
+ /**
11724
+ * Maximum containers publishable per window
11725
+ */
11726
+ quotaTotal?: number;
11727
+ /**
11728
+ * Length of the rolling window in seconds
11729
+ */
11730
+ quotaDurationSeconds?: number;
11731
+ });
11732
+
11733
+ export type GetInstagramPublishingLimitError = (unknown | {
11734
+ error?: string;
11735
+ });
11736
+
11676
11737
  export type GetInstagramStoryInsightsData = {
11677
11738
  path: {
11678
11739
  /**
@@ -11878,6 +11939,49 @@ export type UpdateGmbLocationError = (unknown | {
11878
11939
  error?: string;
11879
11940
  });
11880
11941
 
11942
+ export type GetFacebookPostReactionsData = {
11943
+ path: {
11944
+ /**
11945
+ * The ID of the Facebook Page account
11946
+ */
11947
+ accountId: string;
11948
+ };
11949
+ query: {
11950
+ /**
11951
+ * The Facebook post ID
11952
+ */
11953
+ postId: string;
11954
+ };
11955
+ };
11956
+
11957
+ export type GetFacebookPostReactionsResponse = ({
11958
+ accountId?: string;
11959
+ platform?: string;
11960
+ username?: string;
11961
+ postId?: string;
11962
+ /**
11963
+ * Total reactions across all types
11964
+ */
11965
+ total?: number;
11966
+ /**
11967
+ * Count per reaction type. A type with no reactions returns 0.
11968
+ */
11969
+ breakdown?: {
11970
+ like?: number;
11971
+ love?: number;
11972
+ haha?: number;
11973
+ wow?: number;
11974
+ sad?: number;
11975
+ angry?: number;
11976
+ care?: number;
11977
+ };
11978
+ lastUpdated?: string;
11979
+ });
11980
+
11981
+ export type GetFacebookPostReactionsError = (unknown | {
11982
+ error?: string;
11983
+ });
11984
+
11881
11985
  export type GetRedditSubredditsData = {
11882
11986
  path: {
11883
11987
  accountId: string;
@@ -11934,6 +12038,84 @@ export type UpdateRedditSubredditsError = (unknown | {
11934
12038
  error?: string;
11935
12039
  });
11936
12040
 
12041
+ export type GetSubredditRulesData = {
12042
+ path: {
12043
+ /**
12044
+ * The ID of the Reddit account
12045
+ */
12046
+ accountId: string;
12047
+ /**
12048
+ * Subreddit name (without the "r/" prefix)
12049
+ */
12050
+ subreddit: string;
12051
+ };
12052
+ };
12053
+
12054
+ export type GetSubredditRulesResponse = ({
12055
+ rules?: Array<{
12056
+ /**
12057
+ * Scope of the rule: 'link', 'comment', or 'all'
12058
+ */
12059
+ kind?: string;
12060
+ /**
12061
+ * Short rule title shown in the subreddit sidebar
12062
+ */
12063
+ shortName?: string;
12064
+ /**
12065
+ * Full rule text
12066
+ */
12067
+ description?: string;
12068
+ /**
12069
+ * Reason shown to a user when the rule is enforced
12070
+ */
12071
+ violationReason?: string;
12072
+ /**
12073
+ * Unix timestamp when the rule was created
12074
+ */
12075
+ createdUtc?: number;
12076
+ /**
12077
+ * Display order of the rule
12078
+ */
12079
+ priority?: number;
12080
+ }>;
12081
+ /**
12082
+ * Reddit's site-wide content policy rules
12083
+ */
12084
+ siteRules?: Array<(string)>;
12085
+ });
12086
+
12087
+ export type GetSubredditRulesError = (unknown | {
12088
+ error?: string;
12089
+ });
12090
+
12091
+ export type VoteRedditThingData = {
12092
+ body: {
12093
+ /**
12094
+ * Reddit fullname of the target. Prefix "t3_" for a post and "t1_" for a comment. A bare id with no prefix is treated as a post ("t3_").
12095
+ *
12096
+ */
12097
+ thingId: string;
12098
+ /**
12099
+ * 1 to upvote, -1 to downvote, 0 to clear an existing vote
12100
+ */
12101
+ direction: 1 | 0 | -1;
12102
+ };
12103
+ path: {
12104
+ /**
12105
+ * The ID of the Reddit account casting the vote
12106
+ */
12107
+ accountId: string;
12108
+ };
12109
+ };
12110
+
12111
+ export type VoteRedditThingResponse = ({
12112
+ success?: boolean;
12113
+ });
12114
+
12115
+ export type VoteRedditThingError = (unknown | {
12116
+ error?: string;
12117
+ });
12118
+
11937
12119
  export type GetRedditFlairsData = {
11938
12120
  path: {
11939
12121
  accountId: string;
@@ -11971,6 +12153,41 @@ export type GetRedditFlairsError = (unknown | {
11971
12153
  error?: string;
11972
12154
  });
11973
12155
 
12156
+ export type SetRedditPostFlairData = {
12157
+ body: {
12158
+ /**
12159
+ * Subreddit name (without the "r/" prefix)
12160
+ */
12161
+ subreddit: string;
12162
+ /**
12163
+ * Reddit post id, with or without the t3_ prefix
12164
+ */
12165
+ postId: string;
12166
+ /**
12167
+ * Flair template id from the GET on this path
12168
+ */
12169
+ flairTemplateId: string;
12170
+ /**
12171
+ * Optional override text, only for editable flair templates
12172
+ */
12173
+ text?: string;
12174
+ };
12175
+ path: {
12176
+ /**
12177
+ * The ID of the Reddit account that owns the post
12178
+ */
12179
+ accountId: string;
12180
+ };
12181
+ };
12182
+
12183
+ export type SetRedditPostFlairResponse = ({
12184
+ success?: boolean;
12185
+ });
12186
+
12187
+ export type SetRedditPostFlairError = (unknown | {
12188
+ error?: string;
12189
+ });
12190
+
11974
12191
  export type GetDiscordSettingsData = {
11975
12192
  path: {
11976
12193
  accountId: string;
@@ -12208,6 +12425,112 @@ export type ListDiscordGuildRolesError = (unknown | {
12208
12425
  error?: string;
12209
12426
  });
12210
12427
 
12428
+ export type CreateDiscordGuildRoleData = {
12429
+ body: {
12430
+ name: string;
12431
+ /**
12432
+ * Decimal color (0 = no color). 0xFF0000 red is 16711680.
12433
+ */
12434
+ color?: number;
12435
+ /**
12436
+ * Display members with this role separately in the member list
12437
+ */
12438
+ hoist?: boolean;
12439
+ /**
12440
+ * Allow anyone to @mention this role
12441
+ */
12442
+ mentionable?: boolean;
12443
+ /**
12444
+ * Permissions bitfield as a stringified integer
12445
+ */
12446
+ permissions?: string;
12447
+ };
12448
+ path: {
12449
+ /**
12450
+ * Discord guild snowflake ID
12451
+ */
12452
+ guildId: string;
12453
+ };
12454
+ query: {
12455
+ /**
12456
+ * SocialAccount _id of the Discord account bound to this guild
12457
+ */
12458
+ accountId: string;
12459
+ };
12460
+ };
12461
+
12462
+ export type CreateDiscordGuildRoleResponse = ({
12463
+ data?: DiscordRole;
12464
+ });
12465
+
12466
+ export type CreateDiscordGuildRoleError = (unknown | {
12467
+ error?: string;
12468
+ });
12469
+
12470
+ export type EditDiscordGuildRoleData = {
12471
+ body: {
12472
+ name?: string;
12473
+ color?: number;
12474
+ hoist?: boolean;
12475
+ mentionable?: boolean;
12476
+ /**
12477
+ * Permissions bitfield as a stringified integer
12478
+ */
12479
+ permissions?: string;
12480
+ };
12481
+ path: {
12482
+ /**
12483
+ * Discord guild snowflake ID
12484
+ */
12485
+ guildId: string;
12486
+ /**
12487
+ * Discord role snowflake ID
12488
+ */
12489
+ roleId: string;
12490
+ };
12491
+ query: {
12492
+ /**
12493
+ * SocialAccount _id of the Discord account bound to this guild
12494
+ */
12495
+ accountId: string;
12496
+ };
12497
+ };
12498
+
12499
+ export type EditDiscordGuildRoleResponse = ({
12500
+ data?: DiscordRole;
12501
+ });
12502
+
12503
+ export type EditDiscordGuildRoleError = (unknown | {
12504
+ error?: string;
12505
+ });
12506
+
12507
+ export type DeleteDiscordGuildRoleData = {
12508
+ path: {
12509
+ /**
12510
+ * Discord guild snowflake ID
12511
+ */
12512
+ guildId: string;
12513
+ /**
12514
+ * Discord role snowflake ID
12515
+ */
12516
+ roleId: string;
12517
+ };
12518
+ query: {
12519
+ /**
12520
+ * SocialAccount _id of the Discord account bound to this guild
12521
+ */
12522
+ accountId: string;
12523
+ };
12524
+ };
12525
+
12526
+ export type DeleteDiscordGuildRoleResponse = ({
12527
+ success?: boolean;
12528
+ });
12529
+
12530
+ export type DeleteDiscordGuildRoleError = (unknown | {
12531
+ error?: string;
12532
+ });
12533
+
12211
12534
  export type ListDiscordGuildMembersData = {
12212
12535
  path: {
12213
12536
  guildId: string;
@@ -12316,6 +12639,108 @@ export type RemoveDiscordMemberRoleError = (unknown | {
12316
12639
  error?: string;
12317
12640
  });
12318
12641
 
12642
+ export type DeleteDiscordMessageData = {
12643
+ path: {
12644
+ /**
12645
+ * Discord channel snowflake ID
12646
+ */
12647
+ channelId: string;
12648
+ /**
12649
+ * Discord message snowflake ID
12650
+ */
12651
+ messageId: string;
12652
+ };
12653
+ query: {
12654
+ /**
12655
+ * SocialAccount _id of the Discord account bound to this channel's guild
12656
+ */
12657
+ accountId: string;
12658
+ };
12659
+ };
12660
+
12661
+ export type DeleteDiscordMessageResponse = ({
12662
+ success?: boolean;
12663
+ });
12664
+
12665
+ export type DeleteDiscordMessageError = (unknown | {
12666
+ error?: string;
12667
+ });
12668
+
12669
+ export type CrosspostDiscordMessageData = {
12670
+ path: {
12671
+ /**
12672
+ * Discord announcement channel snowflake ID
12673
+ */
12674
+ channelId: string;
12675
+ /**
12676
+ * Discord message snowflake ID
12677
+ */
12678
+ messageId: string;
12679
+ };
12680
+ query: {
12681
+ /**
12682
+ * SocialAccount _id of the Discord account bound to this channel's guild
12683
+ */
12684
+ accountId: string;
12685
+ };
12686
+ };
12687
+
12688
+ export type CrosspostDiscordMessageResponse = ({
12689
+ /**
12690
+ * The crossposted Discord message object.
12691
+ */
12692
+ data?: {
12693
+ [key: string]: unknown;
12694
+ };
12695
+ });
12696
+
12697
+ export type CrosspostDiscordMessageError = (unknown | {
12698
+ error?: string;
12699
+ });
12700
+
12701
+ export type CreateDiscordThreadData = {
12702
+ body: {
12703
+ /**
12704
+ * Thread name
12705
+ */
12706
+ name: string;
12707
+ /**
12708
+ * Optional message snowflake to start the thread from. Omit for a standalone thread.
12709
+ */
12710
+ messageId?: string;
12711
+ /**
12712
+ * Minutes of inactivity before the thread auto-archives. Discord accepts only these four values.
12713
+ */
12714
+ autoArchiveDuration?: 60 | 1440 | 4320 | 10080;
12715
+ };
12716
+ path: {
12717
+ /**
12718
+ * Discord channel snowflake ID
12719
+ */
12720
+ channelId: string;
12721
+ };
12722
+ query: {
12723
+ /**
12724
+ * SocialAccount _id of the Discord account bound to this channel's guild
12725
+ */
12726
+ accountId: string;
12727
+ };
12728
+ };
12729
+
12730
+ export type CreateDiscordThreadResponse = ({
12731
+ data?: {
12732
+ /**
12733
+ * Thread snowflake ID
12734
+ */
12735
+ id?: string;
12736
+ name?: string;
12737
+ };
12738
+ });
12739
+
12740
+ export type CreateDiscordThreadError = (unknown | {
12741
+ error?: string;
12742
+ });
12743
+
12319
12744
  export type ListDiscordPinnedMessagesData = {
12320
12745
  path: {
12321
12746
  /**
@@ -13921,7 +14346,7 @@ export type SendInboxMessageData = {
13921
14346
  */
13922
14347
  type?: string;
13923
14348
  /**
13924
- * Media cards only
14349
+ * Media cards only, required. Carries the card's image or video.
13925
14350
  */
13926
14351
  header?: {
13927
14352
  [key: string]: unknown;
@@ -14783,6 +15208,71 @@ export type DeleteInboxCommentError = ({
14783
15208
  error?: string;
14784
15209
  } | unknown);
14785
15210
 
15211
+ export type EditInboxCommentData = {
15212
+ body: {
15213
+ /**
15214
+ * The social account ID
15215
+ */
15216
+ accountId: string;
15217
+ /**
15218
+ * Only Reddit supports editing a comment
15219
+ */
15220
+ platform: 'reddit';
15221
+ /**
15222
+ * The new comment body
15223
+ */
15224
+ content: string;
15225
+ };
15226
+ path: {
15227
+ commentId: string;
15228
+ postId: string;
15229
+ };
15230
+ };
15231
+
15232
+ export type EditInboxCommentResponse = ({
15233
+ status?: string;
15234
+ commentId?: string;
15235
+ platform?: string;
15236
+ });
15237
+
15238
+ export type EditInboxCommentError = (unknown | {
15239
+ error?: string;
15240
+ });
15241
+
15242
+ export type SetCommentModerationData = {
15243
+ body: {
15244
+ /**
15245
+ * The social account ID
15246
+ */
15247
+ accountId: string;
15248
+ /**
15249
+ * Only YouTube supports comment moderation
15250
+ */
15251
+ platform: 'youtube';
15252
+ /**
15253
+ * published approves the comment, rejected removes it, heldForReview returns it to the queue.
15254
+ */
15255
+ moderationStatus: 'published' | 'rejected' | 'heldForReview';
15256
+ /**
15257
+ * Also ban the comment's author, auto-rejecting their future comments. Only valid when moderationStatus is "rejected"; any other pairing is a 400.
15258
+ *
15259
+ */
15260
+ banAuthor?: boolean;
15261
+ };
15262
+ path: {
15263
+ commentId: string;
15264
+ postId: string;
15265
+ };
15266
+ };
15267
+
15268
+ export type SetCommentModerationResponse = ({
15269
+ success?: boolean;
15270
+ });
15271
+
15272
+ export type SetCommentModerationError = (unknown | {
15273
+ error?: string;
15274
+ });
15275
+
14786
15276
  export type HideInboxCommentData = {
14787
15277
  body: {
14788
15278
  /**
@@ -15202,6 +15692,39 @@ export type ListInboxMentionsError = ({
15202
15692
  error?: string;
15203
15693
  } | unknown);
15204
15694
 
15695
+ export type ReplyToMentionData = {
15696
+ body: {
15697
+ /**
15698
+ * The Instagram social account ID
15699
+ */
15700
+ accountId: string;
15701
+ /**
15702
+ * The ID of the media the account was mentioned in
15703
+ */
15704
+ mediaId: string;
15705
+ /**
15706
+ * The mentioning comment's ID. Omit for a caption mention.
15707
+ */
15708
+ commentId?: string;
15709
+ /**
15710
+ * The reply text
15711
+ */
15712
+ message: string;
15713
+ };
15714
+ };
15715
+
15716
+ export type ReplyToMentionResponse = ({
15717
+ success?: boolean;
15718
+ /**
15719
+ * ID of the created reply or comment
15720
+ */
15721
+ id?: string;
15722
+ });
15723
+
15724
+ export type ReplyToMentionError = (unknown | {
15725
+ error?: string;
15726
+ });
15727
+
15205
15728
  export type ListInboxReviewsData = {
15206
15729
  query?: {
15207
15730
  /**