@pushwoosh/rpc-gateway-ai-assistant 0.1.151 → 0.1.153

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
@@ -621,6 +621,96 @@ export const data = {
621
621
  }
622
622
  }
623
623
  },
624
+ "pushwoosh.aibuilder.v1.EmailType": {
625
+ "type": "E",
626
+ "values": [
627
+ "EMAIL_TYPE_UNSPECIFIED",
628
+ "EMAIL_TYPE_MARKETING",
629
+ "EMAIL_TYPE_TRANSACTIONAL"
630
+ ]
631
+ },
632
+ "pushwoosh.aibuilder.v1.SocialPlatform": {
633
+ "type": "E",
634
+ "values": [
635
+ "SOCIAL_PLATFORM_UNSPECIFIED",
636
+ "SOCIAL_PLATFORM_FACEBOOK",
637
+ "SOCIAL_PLATFORM_X",
638
+ "SOCIAL_PLATFORM_INSTAGRAM",
639
+ "SOCIAL_PLATFORM_LINKEDIN",
640
+ "SOCIAL_PLATFORM_YOUTUBE",
641
+ "SOCIAL_PLATFORM_TIKTOK"
642
+ ]
643
+ },
644
+ "pushwoosh.aibuilder.v1.AppStorePlatform": {
645
+ "type": "E",
646
+ "values": [
647
+ "APP_STORE_PLATFORM_UNSPECIFIED",
648
+ "APP_STORE_PLATFORM_APP_STORE",
649
+ "APP_STORE_PLATFORM_GOOGLE_PLAY"
650
+ ]
651
+ },
652
+ "pushwoosh.aibuilder.v1.NavLink": {
653
+ "type": "I",
654
+ "fields": {
655
+ "label": {
656
+ "type": "string"
657
+ },
658
+ "url": {
659
+ "type": "string"
660
+ }
661
+ }
662
+ },
663
+ "pushwoosh.aibuilder.v1.SocialLink": {
664
+ "type": "I",
665
+ "fields": {
666
+ "platform": {
667
+ "type": "pushwoosh.aibuilder.v1.SocialPlatform"
668
+ },
669
+ "url": {
670
+ "type": "string"
671
+ }
672
+ }
673
+ },
674
+ "pushwoosh.aibuilder.v1.AppBadge": {
675
+ "type": "I",
676
+ "fields": {
677
+ "platform": {
678
+ "type": "pushwoosh.aibuilder.v1.AppStorePlatform"
679
+ },
680
+ "url": {
681
+ "type": "string"
682
+ }
683
+ }
684
+ },
685
+ "pushwoosh.aibuilder.v1.FooterContent": {
686
+ "type": "I",
687
+ "fields": {
688
+ "companyName": {
689
+ "type": "string"
690
+ },
691
+ "address": {
692
+ "type": "string"
693
+ },
694
+ "copyright": {
695
+ "type": "string"
696
+ },
697
+ "unsubscribeLabel": {
698
+ "type": "string"
699
+ },
700
+ "links": {
701
+ "type": "pushwoosh.aibuilder.v1.NavLink",
702
+ "array": true
703
+ },
704
+ "social": {
705
+ "type": "pushwoosh.aibuilder.v1.SocialLink",
706
+ "array": true
707
+ },
708
+ "appBadges": {
709
+ "type": "pushwoosh.aibuilder.v1.AppBadge",
710
+ "array": true
711
+ }
712
+ }
713
+ },
624
714
  "pushwoosh.aibuilder.v1.EmailSettings": {
625
715
  "type": "I",
626
716
  "fields": {
@@ -631,6 +721,17 @@ export const data = {
631
721
  "preheader": {
632
722
  "type": "string",
633
723
  "optional": true
724
+ },
725
+ "emailType": {
726
+ "type": "pushwoosh.aibuilder.v1.EmailType"
727
+ },
728
+ "footer": {
729
+ "type": "pushwoosh.aibuilder.v1.FooterContent",
730
+ "optional": true
731
+ },
732
+ "showWebVersion": {
733
+ "type": "boolean",
734
+ "optional": true
634
735
  }
635
736
  }
636
737
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pushwoosh/rpc-gateway-ai-assistant",
3
- "version": "0.1.151",
3
+ "version": "0.1.153",
4
4
  "description": "AI Assistant api gateway HTTP API Types and Data",
5
5
  "main": "index.js",
6
6
  "module": "index.js",
@@ -546,6 +546,41 @@ export type AiBuilderBlock = {
546
546
  export type Meta = {
547
547
  templateName: string;
548
548
  };
549
+ /**
550
+ * EmailType classifies a document as a commercial (marketing) message or a
551
+ * transactional / relationship message. It drives footer compliance: marketing
552
+ * emails must carry an unsubscribe link + postal address (CAN-SPAM), while
553
+ * transactional ones (receipts, password resets, policy updates) are exempt.
554
+ * The content generator classifies this from the campaign intent (see the
555
+ * content-fill _meta); the client may override.
556
+ */
557
+ export type EmailType =
558
+ /** treated as MARKETING (safe default) */
559
+ 'EMAIL_TYPE_UNSPECIFIED' | 'EMAIL_TYPE_MARKETING' | 'EMAIL_TYPE_TRANSACTIONAL';
560
+ export type SocialPlatform = 'SOCIAL_PLATFORM_UNSPECIFIED' | 'SOCIAL_PLATFORM_FACEBOOK' | 'SOCIAL_PLATFORM_X' | 'SOCIAL_PLATFORM_INSTAGRAM' | 'SOCIAL_PLATFORM_LINKEDIN' | 'SOCIAL_PLATFORM_YOUTUBE' | 'SOCIAL_PLATFORM_TIKTOK';
561
+ export type AppStorePlatform = 'APP_STORE_PLATFORM_UNSPECIFIED' | 'APP_STORE_PLATFORM_APP_STORE' | 'APP_STORE_PLATFORM_GOOGLE_PLAY';
562
+ export type NavLink = {
563
+ label: string;
564
+ url: string;
565
+ };
566
+ export type SocialLink = {
567
+ platform: SocialPlatform;
568
+ url: string;
569
+ };
570
+ export type AppBadge = {
571
+ platform: AppStorePlatform;
572
+ url: string;
573
+ };
574
+ /** Reusable brand footer data; never LLM-generated. */
575
+ export type FooterContent = {
576
+ companyName: string;
577
+ address: string;
578
+ copyright: string;
579
+ unsubscribeLabel: string;
580
+ links: NavLink[];
581
+ social: SocialLink[];
582
+ appBadges: AppBadge[];
583
+ };
549
584
  /**
550
585
  * EmailSettings holds the email-only document-level fields produced by
551
586
  * the meta generator under mode=EMAIL. Populated only when the
@@ -554,6 +589,23 @@ export type Meta = {
554
589
  export type EmailSettings = {
555
590
  subject?: string;
556
591
  preheader?: string;
592
+ /**
593
+ * Marketing vs transactional. Classified by the content generator from the
594
+ * campaign intent; drives footer compliance (see EmailType). The client may
595
+ * override.
596
+ */
597
+ emailType: EmailType;
598
+ /**
599
+ * Reusable brand footer (company / address / links / …). Client-managed —
600
+ * never LLM-generated. Absent = no footer configured yet.
601
+ */
602
+ footer?: FooterContent;
603
+ /**
604
+ * Thin "View in browser" strip at the top, linking %%PW_EMAIL_WEB_LINK%%.
605
+ * optional: needs presence so an unset value stays absent (client default on)
606
+ * instead of collapsing to proto3 false on save.
607
+ */
608
+ showWebVersion?: boolean;
557
609
  };
558
610
  /**
559
611
  * PopupAnimation chooses how a web-popup enters / exits the