@pushwoosh/rpc-gateway-ai-assistant 0.1.191 → 0.1.193

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
@@ -161,6 +161,10 @@ export const data = {
161
161
  "borderRadius": {
162
162
  "type": "number",
163
163
  "optional": true
164
+ },
165
+ "borderRadiusCss": {
166
+ "type": "string",
167
+ "optional": true
164
168
  }
165
169
  }
166
170
  },
@@ -425,6 +429,62 @@ export const data = {
425
429
  }
426
430
  }
427
431
  },
432
+ "pushwoosh.aibuilder.v1.FormFieldType": {
433
+ "type": "E",
434
+ "values": [
435
+ "FORM_FIELD_TYPE_UNSPECIFIED",
436
+ "FORM_FIELD_TYPE_TEXT",
437
+ "FORM_FIELD_TYPE_EMAIL",
438
+ "FORM_FIELD_TYPE_PHONE",
439
+ "FORM_FIELD_TYPE_NUMBER",
440
+ "FORM_FIELD_TYPE_DATE",
441
+ "FORM_FIELD_TYPE_CHECKBOX",
442
+ "FORM_FIELD_TYPE_SELECT",
443
+ "FORM_FIELD_TYPE_TEXTAREA",
444
+ "FORM_FIELD_TYPE_HIDDEN",
445
+ "FORM_FIELD_TYPE_RADIO"
446
+ ]
447
+ },
448
+ "pushwoosh.aibuilder.v1.FormField": {
449
+ "type": "I",
450
+ "fields": {
451
+ "name": {
452
+ "type": "string"
453
+ },
454
+ "label": {
455
+ "type": "string"
456
+ },
457
+ "type": {
458
+ "type": "pushwoosh.aibuilder.v1.FormFieldType"
459
+ },
460
+ "required": {
461
+ "type": "boolean"
462
+ },
463
+ "placeholder": {
464
+ "type": "string"
465
+ },
466
+ "options": {
467
+ "type": "string",
468
+ "array": true
469
+ }
470
+ }
471
+ },
472
+ "pushwoosh.aibuilder.v1.Form": {
473
+ "type": "I",
474
+ "fields": {
475
+ "fields": {
476
+ "type": "pushwoosh.aibuilder.v1.FormField",
477
+ "array": true
478
+ },
479
+ "submitLabel": {
480
+ "type": "string"
481
+ },
482
+ "submitStyles": {
483
+ "type": "pushwoosh.aibuilder.v1.ButtonStyles",
484
+ "optional": true
485
+ }
486
+ }
487
+ },
428
488
  "pushwoosh.aibuilder.v1.ContentItem": {
429
489
  "type": "I",
430
490
  "fields": {
@@ -440,6 +500,9 @@ export const data = {
440
500
  "image": {
441
501
  "type": "pushwoosh.aibuilder.v1.Image"
442
502
  },
503
+ "form": {
504
+ "type": "pushwoosh.aibuilder.v1.Form"
505
+ },
443
506
  "padding": {
444
507
  "type": "pushwoosh.aibuilder.v1.EdgeInsets",
445
508
  "optional": true
@@ -451,7 +514,8 @@ export const data = {
451
514
  "text",
452
515
  "buttonGroup",
453
516
  "list",
454
- "image"
517
+ "image",
518
+ "form"
455
519
  ]
456
520
  }
457
521
  }
@@ -963,7 +1027,8 @@ export const data = {
963
1027
  "AI_GEN_MODE_UNSPECIFIED",
964
1028
  "AI_GEN_MODE_EMAIL",
965
1029
  "AI_GEN_MODE_FULL",
966
- "AI_GEN_MODE_WEB_POPUP"
1030
+ "AI_GEN_MODE_WEB_POPUP",
1031
+ "AI_GEN_MODE_WEB_PAGE"
967
1032
  ]
968
1033
  },
969
1034
  "pushwoosh.aigen.v1.AiGenBlockPath": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pushwoosh/rpc-gateway-ai-assistant",
3
- "version": "0.1.191",
3
+ "version": "0.1.193",
4
4
  "description": "AI Assistant api gateway HTTP API Types and Data",
5
5
  "main": "index.js",
6
6
  "module": "index.js",
@@ -187,8 +187,8 @@ export type EdgeInsets = {
187
187
  * LLM-managed: background_color, border_color, border_radius — the
188
188
  * block generator may emit these via AiGenBlockStyles and the
189
189
  * pipeline lifts them into BlockStyles.
190
- * Client-managed: border_width — the LLM never sees it, the backend
191
- * preserves it verbatim across edits.
190
+ * Client-managed: border_width and border_radius_css — the LLM never sees
191
+ * them, the backend preserves them verbatim across edits.
192
192
  */
193
193
  export type BlockStyles = {
194
194
  /**
@@ -205,6 +205,12 @@ export type BlockStyles = {
205
205
  borderWidth?: number;
206
206
  /** Explicit 0 is distinct from unset and preserved. */
207
207
  borderRadius?: number;
208
+ /**
209
+ * CSS border-radius shorthand for per-corner rounding ("20px 20px 0px
210
+ * 0px"). Written by Unlayer conversion; clients render border_radius
211
+ * when set (user-edited uniform value wins), else this.
212
+ */
213
+ borderRadiusCss?: string;
208
214
  };
209
215
  /** Two-stop CSS linear gradient: `linear-gradient(<angle>deg, from, to)`. */
210
216
  export type BackgroundGradient = {
@@ -386,6 +392,38 @@ export type ListItem = {
386
392
  export type List = {
387
393
  items: ListItem[];
388
394
  };
395
+ export type FormFieldType =
396
+ /** treated as TEXT */
397
+ 'FORM_FIELD_TYPE_UNSPECIFIED' | 'FORM_FIELD_TYPE_TEXT' | 'FORM_FIELD_TYPE_EMAIL' | 'FORM_FIELD_TYPE_PHONE' | 'FORM_FIELD_TYPE_NUMBER' | 'FORM_FIELD_TYPE_DATE' | 'FORM_FIELD_TYPE_CHECKBOX' | 'FORM_FIELD_TYPE_SELECT' | 'FORM_FIELD_TYPE_TEXTAREA' | 'FORM_FIELD_TYPE_HIDDEN' | 'FORM_FIELD_TYPE_RADIO';
398
+ export type FormField = {
399
+ /**
400
+ * Input name, submitted verbatim; the cloud-pages backend turns every
401
+ * field into a subscriber tag of the same name. Two names are special
402
+ * there: "email" registers an Email-platform device, "phone_number" an
403
+ * SMS one.
404
+ */
405
+ name: string;
406
+ label: string;
407
+ type: FormFieldType;
408
+ required: boolean;
409
+ placeholder: string;
410
+ /** Choices for SELECT / RADIO / CHECKBOX-group fields. */
411
+ options: string[];
412
+ };
413
+ /**
414
+ * A subscription form (WEB_PAGE documents). Client-managed end to end in
415
+ * the MVP: the LLM neither sees nor generates forms; the converter and the
416
+ * editor own them. The emitted HTML must follow the cloud-pages submit
417
+ * conventions: <form method="GET"> with NO action — the hosting service
418
+ * rewrites the method to POST and the form posts back to the page's own
419
+ * URL.
420
+ */
421
+ export type Form = {
422
+ fields: FormField[];
423
+ /** Submit button. */
424
+ submitLabel: string;
425
+ submitStyles?: ButtonStyles;
426
+ };
389
427
  export type ContentItem_item_text = {
390
428
  type: 'text';
391
429
  data: TextBlock;
@@ -402,7 +440,11 @@ export type ContentItem_item_image = {
402
440
  type: 'image';
403
441
  data: Image;
404
442
  };
405
- export type ContentItem_item = ContentItem_item_text | ContentItem_item_buttonGroup | ContentItem_item_list | ContentItem_item_image;
443
+ export type ContentItem_item_form = {
444
+ type: 'form';
445
+ data: Form;
446
+ };
447
+ export type ContentItem_item = ContentItem_item_text | ContentItem_item_buttonGroup | ContentItem_item_list | ContentItem_item_image | ContentItem_item_form;
406
448
  export type ContentItem = {
407
449
  /**
408
450
  * Container padding of the item. Unset = client's default inter-item gap;
@@ -118,7 +118,13 @@ export type AiGenMode = 'AI_GEN_MODE_UNSPECIFIED' | 'AI_GEN_MODE_EMAIL'
118
118
  * with this mode (InvalidArgument). Use AI_GEN_MODE_WEB_POPUP for
119
119
  * popups or a future concrete channel for other surfaces.
120
120
  */
121
- | 'AI_GEN_MODE_FULL' | 'AI_GEN_MODE_WEB_POPUP';
121
+ | 'AI_GEN_MODE_FULL' | 'AI_GEN_MODE_WEB_POPUP'
122
+ /**
123
+ * Cloud pages: full-page web documents with subscription forms. MVP is
124
+ * conversion + manual editing only — the generation pipeline is not
125
+ * tuned for pages yet.
126
+ */
127
+ | 'AI_GEN_MODE_WEB_PAGE';
122
128
  /**
123
129
  * AiGenBlockPath wraps a block-addressing path so it can appear inside
124
130
  * repeated fields — proto3 disallows `repeated repeated`. Path is