@getlatedev/node 0.2.325 → 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,
@@ -2003,10 +2035,6 @@ export type GoogleBusinessPlatformData = {
2003
2035
  * Offer details. Required when topicType is OFFER. All fields are optional per Google's API, but at least one is recommended.
2004
2036
  */
2005
2037
  offer?: {
2006
- /**
2007
- * Type of offer
2008
- */
2009
- offerType?: 'OFFER' | 'BUY_ONE_GET_ONE';
2010
2038
  /**
2011
2039
  * URL where the offer can be redeemed online
2012
2040
  */
@@ -2032,11 +2060,6 @@ export type topicType = 'STANDARD' | 'EVENT' | 'OFFER';
2032
2060
  */
2033
2061
  export type type5 = 'LEARN_MORE' | 'BOOK' | 'ORDER' | 'SHOP' | 'SIGN_UP' | 'CALL';
2034
2062
 
2035
- /**
2036
- * Type of offer
2037
- */
2038
- export type offerType = 'OFFER' | 'BUY_ONE_GET_ONE';
2039
-
2040
2063
  /**
2041
2064
  * The account context included in inbox webhook payloads.
2042
2065
  */
@@ -8258,11 +8281,11 @@ export type UnpublishPostError = (unknown | {
8258
8281
  export type EditPostData = {
8259
8282
  body: {
8260
8283
  /**
8261
- * The platform to edit the post on. Currently only twitter is supported.
8284
+ * The platform to edit the post on.
8262
8285
  */
8263
- platform: 'twitter';
8286
+ platform: 'twitter' | 'discord' | 'facebook' | 'reddit';
8264
8287
  /**
8265
- * The new tweet text content
8288
+ * The new post text content
8266
8289
  */
8267
8290
  content: string;
8268
8291
  };
@@ -8274,11 +8297,12 @@ export type EditPostData = {
8274
8297
  export type EditPostResponse = ({
8275
8298
  success?: boolean;
8276
8299
  /**
8277
- * 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
+ *
8278
8302
  */
8279
8303
  id?: string;
8280
8304
  /**
8281
- * URL of the edited tweet
8305
+ * URL of the edited post
8282
8306
  */
8283
8307
  url?: string;
8284
8308
  message?: string;
@@ -11682,6 +11706,34 @@ export type ListInstagramStoriesError = (unknown | {
11682
11706
  error?: string;
11683
11707
  });
11684
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
+
11685
11737
  export type GetInstagramStoryInsightsData = {
11686
11738
  path: {
11687
11739
  /**
@@ -11887,6 +11939,49 @@ export type UpdateGmbLocationError = (unknown | {
11887
11939
  error?: string;
11888
11940
  });
11889
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
+
11890
11985
  export type GetRedditSubredditsData = {
11891
11986
  path: {
11892
11987
  accountId: string;
@@ -11943,6 +12038,84 @@ export type UpdateRedditSubredditsError = (unknown | {
11943
12038
  error?: string;
11944
12039
  });
11945
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
+
11946
12119
  export type GetRedditFlairsData = {
11947
12120
  path: {
11948
12121
  accountId: string;
@@ -11980,6 +12153,41 @@ export type GetRedditFlairsError = (unknown | {
11980
12153
  error?: string;
11981
12154
  });
11982
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
+
11983
12191
  export type GetDiscordSettingsData = {
11984
12192
  path: {
11985
12193
  accountId: string;
@@ -12217,6 +12425,112 @@ export type ListDiscordGuildRolesError = (unknown | {
12217
12425
  error?: string;
12218
12426
  });
12219
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
+
12220
12534
  export type ListDiscordGuildMembersData = {
12221
12535
  path: {
12222
12536
  guildId: string;
@@ -12325,6 +12639,108 @@ export type RemoveDiscordMemberRoleError = (unknown | {
12325
12639
  error?: string;
12326
12640
  });
12327
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
+
12328
12744
  export type ListDiscordPinnedMessagesData = {
12329
12745
  path: {
12330
12746
  /**
@@ -13930,7 +14346,7 @@ export type SendInboxMessageData = {
13930
14346
  */
13931
14347
  type?: string;
13932
14348
  /**
13933
- * Media cards only
14349
+ * Media cards only, required. Carries the card's image or video.
13934
14350
  */
13935
14351
  header?: {
13936
14352
  [key: string]: unknown;
@@ -14792,6 +15208,71 @@ export type DeleteInboxCommentError = ({
14792
15208
  error?: string;
14793
15209
  } | unknown);
14794
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
+
14795
15276
  export type HideInboxCommentData = {
14796
15277
  body: {
14797
15278
  /**
@@ -15211,6 +15692,39 @@ export type ListInboxMentionsError = ({
15211
15692
  error?: string;
15212
15693
  } | unknown);
15213
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
+
15214
15728
  export type ListInboxReviewsData = {
15215
15729
  query?: {
15216
15730
  /**