@pushwoosh/rpc-gateway-ai-assistant 0.1.152 → 0.1.154

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.
package/data.js CHANGED
@@ -40,6 +40,15 @@ export const data = {
40
40
  "BUTTON_GROUP_ALIGN_RIGHT"
41
41
  ]
42
42
  },
43
+ "pushwoosh.aibuilder.v1.TextAlign": {
44
+ "type": "E",
45
+ "values": [
46
+ "TEXT_ALIGN_UNSPECIFIED",
47
+ "TEXT_ALIGN_LEFT",
48
+ "TEXT_ALIGN_CENTER",
49
+ "TEXT_ALIGN_RIGHT"
50
+ ]
51
+ },
43
52
  "pushwoosh.aibuilder.v1.GroupAlign": {
44
53
  "type": "E",
45
54
  "values": [
@@ -243,6 +252,9 @@ export const data = {
243
252
  "color": {
244
253
  "type": "string",
245
254
  "optional": true
255
+ },
256
+ "align": {
257
+ "type": "pushwoosh.aibuilder.v1.TextAlign"
246
258
  }
247
259
  }
248
260
  },
@@ -621,6 +633,96 @@ export const data = {
621
633
  }
622
634
  }
623
635
  },
636
+ "pushwoosh.aibuilder.v1.EmailType": {
637
+ "type": "E",
638
+ "values": [
639
+ "EMAIL_TYPE_UNSPECIFIED",
640
+ "EMAIL_TYPE_MARKETING",
641
+ "EMAIL_TYPE_TRANSACTIONAL"
642
+ ]
643
+ },
644
+ "pushwoosh.aibuilder.v1.SocialPlatform": {
645
+ "type": "E",
646
+ "values": [
647
+ "SOCIAL_PLATFORM_UNSPECIFIED",
648
+ "SOCIAL_PLATFORM_FACEBOOK",
649
+ "SOCIAL_PLATFORM_X",
650
+ "SOCIAL_PLATFORM_INSTAGRAM",
651
+ "SOCIAL_PLATFORM_LINKEDIN",
652
+ "SOCIAL_PLATFORM_YOUTUBE",
653
+ "SOCIAL_PLATFORM_TIKTOK"
654
+ ]
655
+ },
656
+ "pushwoosh.aibuilder.v1.AppStorePlatform": {
657
+ "type": "E",
658
+ "values": [
659
+ "APP_STORE_PLATFORM_UNSPECIFIED",
660
+ "APP_STORE_PLATFORM_APP_STORE",
661
+ "APP_STORE_PLATFORM_GOOGLE_PLAY"
662
+ ]
663
+ },
664
+ "pushwoosh.aibuilder.v1.NavLink": {
665
+ "type": "I",
666
+ "fields": {
667
+ "label": {
668
+ "type": "string"
669
+ },
670
+ "url": {
671
+ "type": "string"
672
+ }
673
+ }
674
+ },
675
+ "pushwoosh.aibuilder.v1.SocialLink": {
676
+ "type": "I",
677
+ "fields": {
678
+ "platform": {
679
+ "type": "pushwoosh.aibuilder.v1.SocialPlatform"
680
+ },
681
+ "url": {
682
+ "type": "string"
683
+ }
684
+ }
685
+ },
686
+ "pushwoosh.aibuilder.v1.AppBadge": {
687
+ "type": "I",
688
+ "fields": {
689
+ "platform": {
690
+ "type": "pushwoosh.aibuilder.v1.AppStorePlatform"
691
+ },
692
+ "url": {
693
+ "type": "string"
694
+ }
695
+ }
696
+ },
697
+ "pushwoosh.aibuilder.v1.FooterContent": {
698
+ "type": "I",
699
+ "fields": {
700
+ "companyName": {
701
+ "type": "string"
702
+ },
703
+ "address": {
704
+ "type": "string"
705
+ },
706
+ "copyright": {
707
+ "type": "string"
708
+ },
709
+ "unsubscribeLabel": {
710
+ "type": "string"
711
+ },
712
+ "links": {
713
+ "type": "pushwoosh.aibuilder.v1.NavLink",
714
+ "array": true
715
+ },
716
+ "social": {
717
+ "type": "pushwoosh.aibuilder.v1.SocialLink",
718
+ "array": true
719
+ },
720
+ "appBadges": {
721
+ "type": "pushwoosh.aibuilder.v1.AppBadge",
722
+ "array": true
723
+ }
724
+ }
725
+ },
624
726
  "pushwoosh.aibuilder.v1.EmailSettings": {
625
727
  "type": "I",
626
728
  "fields": {
@@ -631,6 +733,17 @@ export const data = {
631
733
  "preheader": {
632
734
  "type": "string",
633
735
  "optional": true
736
+ },
737
+ "emailType": {
738
+ "type": "pushwoosh.aibuilder.v1.EmailType"
739
+ },
740
+ "footer": {
741
+ "type": "pushwoosh.aibuilder.v1.FooterContent",
742
+ "optional": true
743
+ },
744
+ "showWebVersion": {
745
+ "type": "boolean",
746
+ "optional": true
634
747
  }
635
748
  }
636
749
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pushwoosh/rpc-gateway-ai-assistant",
3
- "version": "0.1.152",
3
+ "version": "0.1.154",
4
4
  "description": "AI Assistant api gateway HTTP API Types and Data",
5
5
  "main": "index.js",
6
6
  "module": "index.js",
@@ -45,6 +45,12 @@ export type DocumentBlockType = 'DOCUMENT_BLOCK_TYPE_UNSPECIFIED' | 'DOCUMENT_BL
45
45
  export type GroupDirection = 'GROUP_DIRECTION_UNSPECIFIED' | 'GROUP_DIRECTION_VERTICAL' | 'GROUP_DIRECTION_HORIZONTAL';
46
46
  export type CardLayout = 'CARD_LAYOUT_UNSPECIFIED' | 'CARD_LAYOUT_RIGHT' | 'CARD_LAYOUT_LEFT' | 'CARD_LAYOUT_TOP' | 'CARD_LAYOUT_NO' | 'CARD_LAYOUT_BACKGROUND';
47
47
  export type ButtonGroupAlign = 'BUTTON_GROUP_ALIGN_UNSPECIFIED' | 'BUTTON_GROUP_ALIGN_LEFT' | 'BUTTON_GROUP_ALIGN_CENTER' | 'BUTTON_GROUP_ALIGN_RIGHT';
48
+ /**
49
+ * TextAlign is the horizontal alignment of a single TextBlock's copy.
50
+ * UNSPECIFIED = inherit (renders left). LLM-managed: the content generator
51
+ * sets it for headline/caption centring; preserved verbatim on edit.
52
+ */
53
+ export type TextAlign = 'TEXT_ALIGN_UNSPECIFIED' | 'TEXT_ALIGN_LEFT' | 'TEXT_ALIGN_CENTER' | 'TEXT_ALIGN_RIGHT';
48
54
  /**
49
55
  * GroupAlign controls alignment of an AiBuilderGroup's children along
50
56
  * the perpendicular axis (for direction=VERTICAL → horizontal
@@ -269,6 +275,12 @@ export type TextBlock = {
269
275
  * it empty for body text so the document default applies.
270
276
  */
271
277
  color?: string;
278
+ /**
279
+ * Horizontal alignment of this text item. UNSPECIFIED = inherit (left).
280
+ * LLM-managed: the content generator centres headlines/captions where it
281
+ * fits the design; preserved verbatim on edit.
282
+ */
283
+ align: TextAlign;
272
284
  };
273
285
  export type ButtonActionHref = {
274
286
  url: string;
@@ -546,6 +558,41 @@ export type AiBuilderBlock = {
546
558
  export type Meta = {
547
559
  templateName: string;
548
560
  };
561
+ /**
562
+ * EmailType classifies a document as a commercial (marketing) message or a
563
+ * transactional / relationship message. It drives footer compliance: marketing
564
+ * emails must carry an unsubscribe link + postal address (CAN-SPAM), while
565
+ * transactional ones (receipts, password resets, policy updates) are exempt.
566
+ * The content generator classifies this from the campaign intent (see the
567
+ * content-fill _meta); the client may override.
568
+ */
569
+ export type EmailType =
570
+ /** treated as MARKETING (safe default) */
571
+ 'EMAIL_TYPE_UNSPECIFIED' | 'EMAIL_TYPE_MARKETING' | 'EMAIL_TYPE_TRANSACTIONAL';
572
+ export type SocialPlatform = 'SOCIAL_PLATFORM_UNSPECIFIED' | 'SOCIAL_PLATFORM_FACEBOOK' | 'SOCIAL_PLATFORM_X' | 'SOCIAL_PLATFORM_INSTAGRAM' | 'SOCIAL_PLATFORM_LINKEDIN' | 'SOCIAL_PLATFORM_YOUTUBE' | 'SOCIAL_PLATFORM_TIKTOK';
573
+ export type AppStorePlatform = 'APP_STORE_PLATFORM_UNSPECIFIED' | 'APP_STORE_PLATFORM_APP_STORE' | 'APP_STORE_PLATFORM_GOOGLE_PLAY';
574
+ export type NavLink = {
575
+ label: string;
576
+ url: string;
577
+ };
578
+ export type SocialLink = {
579
+ platform: SocialPlatform;
580
+ url: string;
581
+ };
582
+ export type AppBadge = {
583
+ platform: AppStorePlatform;
584
+ url: string;
585
+ };
586
+ /** Reusable brand footer data; never LLM-generated. */
587
+ export type FooterContent = {
588
+ companyName: string;
589
+ address: string;
590
+ copyright: string;
591
+ unsubscribeLabel: string;
592
+ links: NavLink[];
593
+ social: SocialLink[];
594
+ appBadges: AppBadge[];
595
+ };
549
596
  /**
550
597
  * EmailSettings holds the email-only document-level fields produced by
551
598
  * the meta generator under mode=EMAIL. Populated only when the
@@ -554,6 +601,23 @@ export type Meta = {
554
601
  export type EmailSettings = {
555
602
  subject?: string;
556
603
  preheader?: string;
604
+ /**
605
+ * Marketing vs transactional. Classified by the content generator from the
606
+ * campaign intent; drives footer compliance (see EmailType). The client may
607
+ * override.
608
+ */
609
+ emailType: EmailType;
610
+ /**
611
+ * Reusable brand footer (company / address / links / …). Client-managed —
612
+ * never LLM-generated. Absent = no footer configured yet.
613
+ */
614
+ footer?: FooterContent;
615
+ /**
616
+ * Thin "View in browser" strip at the top, linking %%PW_EMAIL_WEB_LINK%%.
617
+ * optional: needs presence so an unset value stays absent (client default on)
618
+ * instead of collapsing to proto3 false on save.
619
+ */
620
+ showWebVersion?: boolean;
557
621
  };
558
622
  /**
559
623
  * PopupAnimation chooses how a web-popup enters / exits the