@zernio/node 0.2.199 → 0.2.201

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.
@@ -1251,6 +1251,74 @@ export type DiscordPlatformData = {
1251
1251
  */
1252
1252
  export type autoArchiveDuration = 60 | 1440 | 4320 | 10080;
1253
1253
 
1254
+ /**
1255
+ * Discord guild scheduled event. Returned by /v1/discord/guilds/{guildId}/events endpoints.
1256
+ * Fields below are the subset Zernio consumes — Discord may return more (e.g. creator,
1257
+ * image hash) which we pass through verbatim.
1258
+ *
1259
+ */
1260
+ export type DiscordScheduledEvent = {
1261
+ /**
1262
+ * Event snowflake ID
1263
+ */
1264
+ id?: string;
1265
+ guild_id?: string;
1266
+ /**
1267
+ * Voice/stage channel ID; null for external events.
1268
+ */
1269
+ channel_id?: (string) | null;
1270
+ creator_id?: (string) | null;
1271
+ name?: string;
1272
+ description?: (string) | null;
1273
+ scheduled_start_time?: string;
1274
+ /**
1275
+ * Required for external events; optional for voice/stage.
1276
+ */
1277
+ scheduled_end_time?: (string) | null;
1278
+ /**
1279
+ * Always 2 (GUILD_ONLY) — Discord deprecated PUBLIC events.
1280
+ */
1281
+ privacy_level?: 2;
1282
+ /**
1283
+ * 1=SCHEDULED, 2=ACTIVE, 3=COMPLETED, 4=CANCELED
1284
+ */
1285
+ status?: 1 | 2 | 3 | 4;
1286
+ /**
1287
+ * 1=STAGE_INSTANCE, 2=VOICE, 3=EXTERNAL
1288
+ */
1289
+ entity_type?: 1 | 2 | 3;
1290
+ entity_id?: (string) | null;
1291
+ entity_metadata?: {
1292
+ /**
1293
+ * External event location string.
1294
+ */
1295
+ location?: string;
1296
+ } | null;
1297
+ /**
1298
+ * Number of members who RSVP'd. Only present when withUserCount=true on list.
1299
+ */
1300
+ user_count?: number;
1301
+ /**
1302
+ * Cover image hash; build URL via cdn.discordapp.com.
1303
+ */
1304
+ image?: (string) | null;
1305
+ };
1306
+
1307
+ /**
1308
+ * Always 2 (GUILD_ONLY) — Discord deprecated PUBLIC events.
1309
+ */
1310
+ export type privacy_level = 2;
1311
+
1312
+ /**
1313
+ * 1=SCHEDULED, 2=ACTIVE, 3=COMPLETED, 4=CANCELED
1314
+ */
1315
+ export type status3 = 1 | 2 | 3 | 4;
1316
+
1317
+ /**
1318
+ * 1=STAGE_INSTANCE, 2=VOICE, 3=EXTERNAL
1319
+ */
1320
+ export type entity_type = 1 | 2 | 3;
1321
+
1254
1322
  /**
1255
1323
  * A single inline button rendered inside an auto-DM via Meta's button_template.
1256
1324
  * Up to 3 buttons per automation. `url` and `postback` work on Instagram and
@@ -1586,7 +1654,7 @@ export type InboxWebhookConversation = {
1586
1654
  contactId?: string;
1587
1655
  };
1588
1656
 
1589
- export type status3 = 'active' | 'archived';
1657
+ export type status4 = 'active' | 'archived';
1590
1658
 
1591
1659
  /**
1592
1660
  * The message object included in inbox webhook payloads.
@@ -2130,7 +2198,7 @@ export type PlatformAnalytics = {
2130
2198
  errorMessage?: (string) | null;
2131
2199
  };
2132
2200
 
2133
- export type status4 = 'published' | 'failed';
2201
+ export type status5 = 'published' | 'failed';
2134
2202
 
2135
2203
  /**
2136
2204
  * Sync state of analytics for this platform
@@ -2240,7 +2308,7 @@ export type Post = {
2240
2308
  updatedAt?: string;
2241
2309
  };
2242
2310
 
2243
- export type status5 = 'draft' | 'scheduled' | 'publishing' | 'published' | 'failed' | 'partial';
2311
+ export type status6 = 'draft' | 'scheduled' | 'publishing' | 'published' | 'failed' | 'partial';
2244
2312
 
2245
2313
  export type visibility = 'public' | 'private' | 'unlisted';
2246
2314
 
@@ -3166,7 +3234,7 @@ export type UploadTokenResponse = {
3166
3234
  status?: 'pending' | 'completed' | 'expired';
3167
3235
  };
3168
3236
 
3169
- export type status6 = 'pending' | 'completed' | 'expired';
3237
+ export type status7 = 'pending' | 'completed' | 'expired';
3170
3238
 
3171
3239
  export type UploadTokenStatusResponse = {
3172
3240
  token?: string;
@@ -3485,7 +3553,7 @@ export type event = 'account.ads.initial_sync_completed';
3485
3553
  /**
3486
3554
  * Overall outcome of the initial sync.
3487
3555
  */
3488
- export type status7 = 'success' | 'failure';
3556
+ export type status8 = 'success' | 'failure';
3489
3557
 
3490
3558
  /**
3491
3559
  * Stable category for UX branching. New values may be added; existing ones are
@@ -4790,7 +4858,7 @@ export type platform10 = 'whatsapp';
4790
4858
  * request before the template is actually removed.
4791
4859
  *
4792
4860
  */
4793
- export type status8 = 'APPROVED' | 'REJECTED' | 'PENDING' | 'PAUSED' | 'DISABLED' | 'IN_APPEAL' | 'PENDING_DELETION';
4861
+ export type status9 = 'APPROVED' | 'REJECTED' | 'PENDING' | 'PAUSED' | 'DISABLED' | 'IN_APPEAL' | 'PENDING_DELETION';
4794
4862
 
4795
4863
  export type WhatsAppBodyComponent = {
4796
4864
  type: 'body';
@@ -4891,7 +4959,7 @@ export type WhatsAppSandboxSession = {
4891
4959
  * list responses.
4892
4960
  *
4893
4961
  */
4894
- export type status9 = 'pending' | 'active';
4962
+ export type status10 = 'pending' | 'active';
4895
4963
 
4896
4964
  export type WhatsAppTemplateButton = {
4897
4965
  type: 'quick_reply' | 'url' | 'phone_number' | 'otp' | 'flow' | 'mpm' | 'catalog';
@@ -5007,7 +5075,7 @@ export type WorkflowExecutionEvent = {
5007
5075
 
5008
5076
  export type action2 = 'execution_started' | 'execution_completed' | 'execution_exited' | 'execution_paused' | 'execution_resumed' | 'node_started' | 'node_completed' | 'node_failed' | 'node_skipped';
5009
5077
 
5010
- export type status10 = 'success' | 'failed' | 'pending';
5078
+ export type status11 = 'success' | 'failed' | 'pending';
5011
5079
 
5012
5080
  /**
5013
5081
  * A node in a workflow graph. `config` shape depends on `type`.
@@ -10442,6 +10510,450 @@ export type GetDiscordChannelsError = (unknown | {
10442
10510
  error?: string;
10443
10511
  });
10444
10512
 
10513
+ export type SendDiscordDirectMessageData = {
10514
+ body: {
10515
+ /**
10516
+ * SocialAccount _id of the connected Discord account the bot speaks as. Caller must own the account (directly or via team membership).
10517
+ */
10518
+ accountId: string;
10519
+ /**
10520
+ * Discord snowflake ID of the recipient (15-21 digits).
10521
+ */
10522
+ userId: string;
10523
+ /**
10524
+ * Message text, up to 2,000 characters.
10525
+ */
10526
+ content?: string;
10527
+ /**
10528
+ * Up to 10 Discord embeds. Same shape as channel-post embeds (title, description, color, fields, etc.). See DiscordPlatformData.embeds for the embed object schema.
10529
+ */
10530
+ embeds?: Array<{
10531
+ [key: string]: unknown;
10532
+ }>;
10533
+ /**
10534
+ * Up to 10 media attachments. Each is `{ type: image|video|gif|document, url, filename?, mimeType?, size? }`.
10535
+ */
10536
+ attachments?: Array<{
10537
+ type: 'image' | 'video' | 'gif' | 'document';
10538
+ url: string;
10539
+ filename?: string;
10540
+ mimeType?: string;
10541
+ size?: number;
10542
+ }>;
10543
+ /**
10544
+ * Send as text-to-speech message.
10545
+ */
10546
+ tts?: boolean;
10547
+ };
10548
+ };
10549
+
10550
+ export type SendDiscordDirectMessageResponse = ({
10551
+ /**
10552
+ * Discord message snowflake ID
10553
+ */
10554
+ messageId?: string;
10555
+ /**
10556
+ * DM channel snowflake (Discord auto-creates one per recipient pair)
10557
+ */
10558
+ channelId?: string;
10559
+ /**
10560
+ * Direct link to the message — uses Discord's @me path for DMs
10561
+ */
10562
+ url?: string;
10563
+ timestamp?: string;
10564
+ recipient?: {
10565
+ userId?: string;
10566
+ platform?: string;
10567
+ };
10568
+ account?: {
10569
+ id?: string;
10570
+ username?: string;
10571
+ displayName?: string;
10572
+ };
10573
+ });
10574
+
10575
+ export type SendDiscordDirectMessageError = (unknown | {
10576
+ error?: string;
10577
+ });
10578
+
10579
+ export type ListDiscordGuildRolesData = {
10580
+ path: {
10581
+ /**
10582
+ * Discord guild snowflake ID
10583
+ */
10584
+ guildId: string;
10585
+ };
10586
+ query: {
10587
+ /**
10588
+ * SocialAccount _id of the Discord account bound to this guild
10589
+ */
10590
+ accountId: string;
10591
+ };
10592
+ };
10593
+
10594
+ export type ListDiscordGuildRolesResponse = ({
10595
+ data?: Array<{
10596
+ /**
10597
+ * Role snowflake ID
10598
+ */
10599
+ id?: string;
10600
+ name?: string;
10601
+ /**
10602
+ * Decimal color (0 = no color). Convert to hex via .toString(16).
10603
+ */
10604
+ color?: number;
10605
+ /**
10606
+ * Position in role hierarchy (higher = more authority)
10607
+ */
10608
+ position?: number;
10609
+ /**
10610
+ * Permissions bitfield as a stringified integer
10611
+ */
10612
+ permissions?: string;
10613
+ /**
10614
+ * True for integration-managed roles (bot roles)
10615
+ */
10616
+ managed?: boolean;
10617
+ mentionable?: boolean;
10618
+ /**
10619
+ * True if role is displayed separately in member list
10620
+ */
10621
+ hoist?: boolean;
10622
+ }>;
10623
+ });
10624
+
10625
+ export type ListDiscordGuildRolesError = (unknown | {
10626
+ error?: string;
10627
+ });
10628
+
10629
+ export type ListDiscordGuildMembersData = {
10630
+ path: {
10631
+ guildId: string;
10632
+ };
10633
+ query: {
10634
+ accountId: string;
10635
+ /**
10636
+ * Snowflake of the last member from the previous page.
10637
+ */
10638
+ after?: string;
10639
+ /**
10640
+ * Page size (1-1000).
10641
+ */
10642
+ limit?: number;
10643
+ };
10644
+ };
10645
+
10646
+ export type ListDiscordGuildMembersResponse = ({
10647
+ data?: Array<{
10648
+ user?: {
10649
+ /**
10650
+ * User snowflake
10651
+ */
10652
+ id?: string;
10653
+ username?: string;
10654
+ discriminator?: string;
10655
+ avatar?: (string) | null;
10656
+ /**
10657
+ * User's display name (post-2023 Discord rebrand)
10658
+ */
10659
+ global_name?: (string) | null;
10660
+ };
10661
+ /**
10662
+ * Guild-specific nickname
10663
+ */
10664
+ nick?: (string) | null;
10665
+ /**
10666
+ * Snowflake IDs of roles assigned to this member
10667
+ */
10668
+ roles?: Array<(string)>;
10669
+ joined_at?: string;
10670
+ /**
10671
+ * When the user started boosting the server
10672
+ */
10673
+ premium_since?: (string) | null;
10674
+ }>;
10675
+ pagination?: {
10676
+ /**
10677
+ * Pass as `after` on the next call. Null when there are no more pages.
10678
+ */
10679
+ nextCursor?: (string) | null;
10680
+ hasMore?: boolean;
10681
+ };
10682
+ });
10683
+
10684
+ export type ListDiscordGuildMembersError = (unknown | {
10685
+ error?: string;
10686
+ });
10687
+
10688
+ export type AddDiscordMemberRoleData = {
10689
+ path: {
10690
+ guildId: string;
10691
+ roleId: string;
10692
+ /**
10693
+ * Discord user snowflake to assign the role to.
10694
+ */
10695
+ userId: string;
10696
+ };
10697
+ query: {
10698
+ accountId: string;
10699
+ };
10700
+ };
10701
+
10702
+ export type AddDiscordMemberRoleResponse = ({
10703
+ success?: boolean;
10704
+ operation?: 'role_assigned';
10705
+ guildId?: string;
10706
+ userId?: string;
10707
+ roleId?: string;
10708
+ });
10709
+
10710
+ export type AddDiscordMemberRoleError = (unknown | {
10711
+ error?: string;
10712
+ });
10713
+
10714
+ export type RemoveDiscordMemberRoleData = {
10715
+ path: {
10716
+ guildId: string;
10717
+ roleId: string;
10718
+ userId: string;
10719
+ };
10720
+ query: {
10721
+ accountId: string;
10722
+ };
10723
+ };
10724
+
10725
+ export type RemoveDiscordMemberRoleResponse = ({
10726
+ success?: boolean;
10727
+ operation?: 'role_removed';
10728
+ guildId?: string;
10729
+ userId?: string;
10730
+ roleId?: string;
10731
+ });
10732
+
10733
+ export type RemoveDiscordMemberRoleError = (unknown | {
10734
+ error?: string;
10735
+ });
10736
+
10737
+ export type ListDiscordPinnedMessagesData = {
10738
+ path: {
10739
+ /**
10740
+ * Discord channel snowflake.
10741
+ */
10742
+ channelId: string;
10743
+ };
10744
+ query: {
10745
+ /**
10746
+ * SocialAccount _id of any Discord account in the same guild.
10747
+ */
10748
+ accountId: string;
10749
+ };
10750
+ };
10751
+
10752
+ export type ListDiscordPinnedMessagesResponse = ({
10753
+ data?: Array<{
10754
+ id?: string;
10755
+ channel_id?: string;
10756
+ content?: string;
10757
+ timestamp?: string;
10758
+ author?: {
10759
+ [key: string]: unknown;
10760
+ };
10761
+ attachments?: Array<{
10762
+ [key: string]: unknown;
10763
+ }>;
10764
+ embeds?: Array<{
10765
+ [key: string]: unknown;
10766
+ }>;
10767
+ }>;
10768
+ });
10769
+
10770
+ export type ListDiscordPinnedMessagesError = (unknown | {
10771
+ error?: string;
10772
+ });
10773
+
10774
+ export type PinDiscordMessageData = {
10775
+ path: {
10776
+ channelId: string;
10777
+ messageId: string;
10778
+ };
10779
+ query: {
10780
+ accountId: string;
10781
+ };
10782
+ };
10783
+
10784
+ export type PinDiscordMessageResponse = ({
10785
+ success?: boolean;
10786
+ operation?: 'message_pinned';
10787
+ channelId?: string;
10788
+ messageId?: string;
10789
+ });
10790
+
10791
+ export type PinDiscordMessageError = (unknown | {
10792
+ error?: string;
10793
+ });
10794
+
10795
+ export type UnpinDiscordMessageData = {
10796
+ path: {
10797
+ channelId: string;
10798
+ messageId: string;
10799
+ };
10800
+ query: {
10801
+ accountId: string;
10802
+ };
10803
+ };
10804
+
10805
+ export type UnpinDiscordMessageResponse = ({
10806
+ success?: boolean;
10807
+ operation?: 'message_unpinned';
10808
+ channelId?: string;
10809
+ messageId?: string;
10810
+ });
10811
+
10812
+ export type UnpinDiscordMessageError = (unknown | {
10813
+ error?: string;
10814
+ });
10815
+
10816
+ export type ListDiscordScheduledEventsData = {
10817
+ path: {
10818
+ guildId: string;
10819
+ };
10820
+ query: {
10821
+ accountId: string;
10822
+ /**
10823
+ * Include user_count on each event.
10824
+ */
10825
+ withUserCount?: boolean;
10826
+ };
10827
+ };
10828
+
10829
+ export type ListDiscordScheduledEventsResponse = ({
10830
+ data?: Array<DiscordScheduledEvent>;
10831
+ });
10832
+
10833
+ export type ListDiscordScheduledEventsError = (unknown | {
10834
+ error?: string;
10835
+ });
10836
+
10837
+ export type CreateDiscordScheduledEventData = {
10838
+ body: {
10839
+ accountId: string;
10840
+ name: string;
10841
+ description?: string;
10842
+ /**
10843
+ * ISO 8601 start time. Must be in the future.
10844
+ */
10845
+ startsAt: string;
10846
+ entity: ({
10847
+ type: 'external';
10848
+ /**
10849
+ * Where the event takes place (e.g. "Zoom link", "123 Main St")
10850
+ */
10851
+ location: string;
10852
+ endsAt: string;
10853
+ } | {
10854
+ type: 'voice';
10855
+ /**
10856
+ * Voice channel snowflake.
10857
+ */
10858
+ channelId: string;
10859
+ endsAt?: string;
10860
+ } | {
10861
+ type: 'stage';
10862
+ /**
10863
+ * Stage channel snowflake.
10864
+ */
10865
+ channelId: string;
10866
+ endsAt?: string;
10867
+ });
10868
+ /**
10869
+ * Optional cover image as a base64 data URI.
10870
+ */
10871
+ imageDataUri?: string;
10872
+ };
10873
+ path: {
10874
+ guildId: string;
10875
+ };
10876
+ };
10877
+
10878
+ export type CreateDiscordScheduledEventResponse = ({
10879
+ data?: DiscordScheduledEvent;
10880
+ });
10881
+
10882
+ export type CreateDiscordScheduledEventError = (unknown | {
10883
+ error?: string;
10884
+ });
10885
+
10886
+ export type GetDiscordScheduledEventData = {
10887
+ path: {
10888
+ eventId: string;
10889
+ guildId: string;
10890
+ };
10891
+ query: {
10892
+ accountId: string;
10893
+ };
10894
+ };
10895
+
10896
+ export type GetDiscordScheduledEventResponse = ({
10897
+ data?: DiscordScheduledEvent;
10898
+ });
10899
+
10900
+ export type GetDiscordScheduledEventError = ({
10901
+ error?: string;
10902
+ } | unknown);
10903
+
10904
+ export type UpdateDiscordScheduledEventData = {
10905
+ body: {
10906
+ accountId: string;
10907
+ name?: string;
10908
+ description?: string;
10909
+ startsAt?: string;
10910
+ endsAt?: string;
10911
+ /**
10912
+ * For external events.
10913
+ */
10914
+ location?: string;
10915
+ /**
10916
+ * Status transition. Most common: 'cancelled' to cancel an event.
10917
+ */
10918
+ status?: 'scheduled' | 'active' | 'completed' | 'cancelled';
10919
+ imageDataUri?: string;
10920
+ };
10921
+ path: {
10922
+ eventId: string;
10923
+ guildId: string;
10924
+ };
10925
+ };
10926
+
10927
+ export type UpdateDiscordScheduledEventResponse = ({
10928
+ data?: DiscordScheduledEvent;
10929
+ });
10930
+
10931
+ export type UpdateDiscordScheduledEventError = (unknown | {
10932
+ error?: string;
10933
+ });
10934
+
10935
+ export type DeleteDiscordScheduledEventData = {
10936
+ path: {
10937
+ eventId: string;
10938
+ guildId: string;
10939
+ };
10940
+ query: {
10941
+ accountId: string;
10942
+ };
10943
+ };
10944
+
10945
+ export type DeleteDiscordScheduledEventResponse = ({
10946
+ success?: boolean;
10947
+ /**
10948
+ * The deleted event's snowflake.
10949
+ */
10950
+ deleted?: string;
10951
+ });
10952
+
10953
+ export type DeleteDiscordScheduledEventError = ({
10954
+ error?: string;
10955
+ } | unknown);
10956
+
10445
10957
  export type ListQueueSlotsData = {
10446
10958
  query: {
10447
10959
  /**