@pushwoosh/rpc-gateway-ai-assistant 0.1.218 → 0.1.220

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
@@ -112,6 +112,10 @@ export const data = {
112
112
  "fontFamily": {
113
113
  "type": "string",
114
114
  "optional": true
115
+ },
116
+ "color": {
117
+ "type": "string",
118
+ "optional": true
115
119
  }
116
120
  }
117
121
  },
@@ -165,6 +169,10 @@ export const data = {
165
169
  "borderRadiusCss": {
166
170
  "type": "string",
167
171
  "optional": true
172
+ },
173
+ "backgroundImage": {
174
+ "type": "string",
175
+ "optional": true
168
176
  }
169
177
  }
170
178
  },
@@ -285,6 +293,14 @@ export const data = {
285
293
  "translations": {
286
294
  "type": "string",
287
295
  "mapKeyType": "string"
296
+ },
297
+ "fontSize": {
298
+ "type": "number",
299
+ "optional": true
300
+ },
301
+ "fontFamily": {
302
+ "type": "string",
303
+ "optional": true
288
304
  }
289
305
  }
290
306
  },
@@ -534,6 +550,12 @@ export const data = {
534
550
  },
535
551
  "labelFontFamily": {
536
552
  "type": "string"
553
+ },
554
+ "digitFontWeight": {
555
+ "type": "number"
556
+ },
557
+ "labelFontWeight": {
558
+ "type": "number"
537
559
  }
538
560
  }
539
561
  },
@@ -941,7 +963,12 @@ export const data = {
941
963
  "SOCIAL_PLATFORM_INSTAGRAM",
942
964
  "SOCIAL_PLATFORM_LINKEDIN",
943
965
  "SOCIAL_PLATFORM_YOUTUBE",
944
- "SOCIAL_PLATFORM_TIKTOK"
966
+ "SOCIAL_PLATFORM_TIKTOK",
967
+ "SOCIAL_PLATFORM_DISCORD",
968
+ "SOCIAL_PLATFORM_GITHUB",
969
+ "SOCIAL_PLATFORM_TELEGRAM",
970
+ "SOCIAL_PLATFORM_THREADS",
971
+ "SOCIAL_PLATFORM_WHATSAPP"
945
972
  ]
946
973
  },
947
974
  "pushwoosh.aibuilder.v1.AppStorePlatform": {
@@ -1035,6 +1062,38 @@ export const data = {
1035
1062
  "addressTranslations": {
1036
1063
  "type": "string",
1037
1064
  "mapKeyType": "string"
1065
+ },
1066
+ "logoUrl": {
1067
+ "type": "string",
1068
+ "optional": true
1069
+ },
1070
+ "logoWidth": {
1071
+ "type": "number",
1072
+ "optional": true
1073
+ },
1074
+ "logoLink": {
1075
+ "type": "string",
1076
+ "optional": true
1077
+ }
1078
+ }
1079
+ },
1080
+ "pushwoosh.aibuilder.v1.FooterStyle": {
1081
+ "type": "I",
1082
+ "fields": {
1083
+ "textColor": {
1084
+ "type": "string",
1085
+ "optional": true
1086
+ },
1087
+ "fontSize": {
1088
+ "type": "number",
1089
+ "optional": true
1090
+ },
1091
+ "align": {
1092
+ "type": "pushwoosh.aibuilder.v1.TextAlign"
1093
+ },
1094
+ "underlineLinks": {
1095
+ "type": "boolean",
1096
+ "optional": true
1038
1097
  }
1039
1098
  }
1040
1099
  },
@@ -1071,6 +1130,10 @@ export const data = {
1071
1130
  "showUnsubscribe": {
1072
1131
  "type": "boolean",
1073
1132
  "optional": true
1133
+ },
1134
+ "footerStyle": {
1135
+ "type": "pushwoosh.aibuilder.v1.FooterStyle",
1136
+ "optional": true
1074
1137
  }
1075
1138
  }
1076
1139
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pushwoosh/rpc-gateway-ai-assistant",
3
- "version": "0.1.218",
3
+ "version": "0.1.220",
4
4
  "description": "AI Assistant api gateway HTTP API Types and Data",
5
5
  "main": "index.js",
6
6
  "module": "index.js",
@@ -43,7 +43,12 @@ export type DocumentBlockType = 'DOCUMENT_BLOCK_TYPE_UNSPECIFIED' | 'DOCUMENT_BL
43
43
  * shared between the document model and the AiGen wire types.
44
44
  */
45
45
  export type GroupDirection = 'GROUP_DIRECTION_UNSPECIFIED' | 'GROUP_DIRECTION_VERTICAL' | 'GROUP_DIRECTION_HORIZONTAL';
46
- export type CardLayout = 'CARD_LAYOUT_UNSPECIFIED' | 'CARD_LAYOUT_RIGHT' | 'CARD_LAYOUT_LEFT' | 'CARD_LAYOUT_TOP' | 'CARD_LAYOUT_NO' | 'CARD_LAYOUT_BACKGROUND';
46
+ export type CardLayout = 'CARD_LAYOUT_UNSPECIFIED' | 'CARD_LAYOUT_RIGHT' | 'CARD_LAYOUT_LEFT' | 'CARD_LAYOUT_TOP' | 'CARD_LAYOUT_NO'
47
+ /**
48
+ * The card image renders as the card backdrop (dark overlay + light text).
49
+ * Takes precedence over BlockStyles.background_image on the same block.
50
+ */
51
+ | 'CARD_LAYOUT_BACKGROUND';
47
52
  export type ButtonGroupAlign = 'BUTTON_GROUP_ALIGN_UNSPECIFIED' | 'BUTTON_GROUP_ALIGN_LEFT' | 'BUTTON_GROUP_ALIGN_CENTER' | 'BUTTON_GROUP_ALIGN_RIGHT';
48
53
  /**
49
54
  * TextAlign is the horizontal alignment of a single TextBlock's copy.
@@ -150,6 +155,18 @@ export type TextVariantStyle = {
150
155
  * - Client-managed: the LLM never selects fonts.
151
156
  */
152
157
  fontFamily?: string;
158
+ /**
159
+ * Colour for text rendered with this variant (e.g. one colour for
160
+ * headings, another for body copy).
161
+ *
162
+ * Wire contract:
163
+ * - #RGB or #RRGGBB hex.
164
+ * - Unset (or empty string) = inherit. Cascade: TextBlock.color →
165
+ * this field → DocumentSettings.text_color → renderer default.
166
+ * - Client-managed: the LLM picks per-item colours via TextBlock.color;
167
+ * variant colours are user preferences, round-tripped verbatim.
168
+ */
169
+ color?: string;
153
170
  };
154
171
  export type ColorSchemeItem = {
155
172
  color: string;
@@ -187,8 +204,9 @@ export type EdgeInsets = {
187
204
  * LLM-managed: background_color, border_color, border_radius — the
188
205
  * block generator may emit these via AiGenBlockStyles and the
189
206
  * pipeline lifts them into BlockStyles.
190
- * Client-managed: border_width and border_radius_css the LLM never sees
191
- * them, the backend preserves them verbatim across edits.
207
+ * Client-managed: border_width, border_radius_css and background_image
208
+ * the LLM never emits them (absent from its schema), the backend
209
+ * preserves them verbatim across edits.
192
210
  */
193
211
  export type BlockStyles = {
194
212
  /**
@@ -211,6 +229,13 @@ export type BlockStyles = {
211
229
  * when set (user-edited uniform value wins), else this.
212
230
  */
213
231
  borderRadiusCss?: string;
232
+ /**
233
+ * Block backdrop image URL over background_color (CSS cover/center/no-repeat).
234
+ * Reintroduces a block backdrop the old field (tag 5) removed, now client-managed
235
+ * (user-set, LLM never touches it). "" ≡ unset. Ignored on a CARD_LAYOUT_BACKGROUND
236
+ * card — that layout's own image is the backdrop.
237
+ */
238
+ backgroundImage?: string;
214
239
  };
215
240
  /** Two-stop CSS linear gradient: `linear-gradient(<angle>deg, from, to)`. */
216
241
  export type BackgroundGradient = {
@@ -307,6 +332,19 @@ export type TextBlock = {
307
332
  * writes only `text`; translations are round-tripped verbatim.
308
333
  */
309
334
  translations: Record<string, string>;
335
+ /**
336
+ * Per-item font-size override in px. Unset (or 0) = inherit the variant's
337
+ * font_size. Client-managed: typography stays user-owned; the LLM sizes
338
+ * text by picking a variant. NOTE: like translations, this is lost when
339
+ * the LLM regenerates the block (items are rewritten wholesale).
340
+ */
341
+ fontSize?: number;
342
+ /**
343
+ * Per-item font-family override. CSS font-family syntax (see
344
+ * DocumentSettings.font_family). Unset (or empty string) = inherit the
345
+ * variant's font_family → DocumentSettings.font_family. Client-managed.
346
+ */
347
+ fontFamily?: string;
310
348
  };
311
349
  export type ButtonActionHref = {
312
350
  url: string;
@@ -466,6 +504,13 @@ export type Timer = {
466
504
  */
467
505
  digitFontFamily: string;
468
506
  labelFontFamily: string;
507
+ /**
508
+ * CSS numeric font weights. The GIF renderer maps >=600 to Open Sans
509
+ * Bold, anything else to Regular (only those two faces are embedded).
510
+ * 0 keeps the historical defaults: digits bold (700), labels regular (400).
511
+ */
512
+ digitFontWeight: number;
513
+ labelFontWeight: number;
469
514
  };
470
515
  /**
471
516
  * An Unlayer HTML widget. The markup is deliberately kept verbatim: unlike
@@ -786,7 +831,9 @@ export type Meta = {
786
831
  export type EmailType =
787
832
  /** treated as MARKETING (safe default) */
788
833
  'EMAIL_TYPE_UNSPECIFIED' | 'EMAIL_TYPE_MARKETING' | 'EMAIL_TYPE_TRANSACTIONAL';
789
- export type SocialPlatform = 'SOCIAL_PLATFORM_UNSPECIFIED' | 'SOCIAL_PLATFORM_FACEBOOK' | 'SOCIAL_PLATFORM_X' | 'SOCIAL_PLATFORM_INSTAGRAM' | 'SOCIAL_PLATFORM_LINKEDIN' | 'SOCIAL_PLATFORM_YOUTUBE' | 'SOCIAL_PLATFORM_TIKTOK';
834
+ export type SocialPlatform = 'SOCIAL_PLATFORM_UNSPECIFIED' | 'SOCIAL_PLATFORM_FACEBOOK' | 'SOCIAL_PLATFORM_X' | 'SOCIAL_PLATFORM_INSTAGRAM' | 'SOCIAL_PLATFORM_LINKEDIN' | 'SOCIAL_PLATFORM_YOUTUBE' | 'SOCIAL_PLATFORM_TIKTOK'
835
+ /** The hosted icon set (pushwoosh.com/social-icons) already covers these. */
836
+ | 'SOCIAL_PLATFORM_DISCORD' | 'SOCIAL_PLATFORM_GITHUB' | 'SOCIAL_PLATFORM_TELEGRAM' | 'SOCIAL_PLATFORM_THREADS' | 'SOCIAL_PLATFORM_WHATSAPP';
790
837
  export type AppStorePlatform = 'APP_STORE_PLATFORM_UNSPECIFIED' | 'APP_STORE_PLATFORM_APP_STORE' | 'APP_STORE_PLATFORM_GOOGLE_PLAY';
791
838
  export type NavLink = {
792
839
  label: string;
@@ -821,6 +868,35 @@ export type FooterContent = {
821
868
  copyrightTranslations: Record<string, string>;
822
869
  companyNameTranslations: Record<string, string>;
823
870
  addressTranslations: Record<string, string>;
871
+ /**
872
+ * Brand logo shown at the top of the footer. Absolute image URL (email
873
+ * clients need hosted raster assets); empty = no logo.
874
+ */
875
+ logoUrl?: string;
876
+ /** Rendered logo width in px; 0/unset = the renderer default. */
877
+ logoWidth?: number;
878
+ /** Click-through URL for the logo; empty = plain image. */
879
+ logoLink?: string;
880
+ };
881
+ /**
882
+ * Per-template footer presentation. Deliberately separate from
883
+ * FooterContent: FooterContent is reusable brand DATA (mirrored by the
884
+ * account-level EmailFooter in rpc-v2), while these are render
885
+ * preferences of one template. Client-managed; unset fields keep the
886
+ * renderer defaults (muted gray, 12px, centered, underlined links).
887
+ */
888
+ export type FooterStyle = {
889
+ /** #RGB/#RRGGBB hex; empty = renderer default (#8A94A6). */
890
+ textColor?: string;
891
+ /** px; 0/unset = renderer default (12). */
892
+ fontSize?: number;
893
+ /** UNSPECIFIED = renderer default (center). */
894
+ align: TextAlign;
895
+ /**
896
+ * Underline the footer's text links (nav links, unsubscribe, web-version).
897
+ * Optional so absent keeps the client default (underlined).
898
+ */
899
+ underlineLinks?: boolean;
824
900
  };
825
901
  /**
826
902
  * EmailSettings holds the email-only document-level fields produced by
@@ -858,6 +934,11 @@ export type EmailSettings = {
858
934
  * marketing email. Optional so absent keeps the client default (on).
859
935
  */
860
936
  showUnsubscribe?: boolean;
937
+ /**
938
+ * Footer presentation overrides for this template. Absent = renderer
939
+ * defaults. Client-managed.
940
+ */
941
+ footerStyle?: FooterStyle;
861
942
  };
862
943
  /**
863
944
  * PopupAnimation chooses how a web-popup enters / exits the