@designcrowd/library.brand-page 5.17.6 → 5.17.7

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.
Files changed (172) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-BI2KuOEF.js → CreatedOnBrandCrowd-de-de-BUQFMhZb.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-BYLJCjLJ.js → CreatedOnBrandCrowd-en-us-QS-5r4XI.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-Y_D6cuGE.js → CreatedOnBrandCrowd-es-es-CP2iH-n0.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-CqCBRjYh.js → CreatedOnBrandCrowd-fr-ca-qfD4NmQZ.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-CqCBRjYh.js → CreatedOnBrandCrowd-fr-fr-qfD4NmQZ.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-Bt0YF6DA.js → CreatedOnBrandCrowd-pt-br-CfmaB7zE.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-Bt0YF6DA.js → CreatedOnBrandCrowd-pt-pt-CfmaB7zE.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-CEk8FBEG.js → CreatedOnDcom-de-de-BxSUWfGN.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-DWw4Tm2L.js → CreatedOnDcom-en-us-CSeUdR6v.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-DpG-8o98.js → CreatedOnDcom-es-es-g7rCfAtP.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-CEla7RmR.js → CreatedOnDcom-fr-ca-Bh_BTb-O.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-DRXeVTlV.js → CreatedOnDcom-fr-fr-Clgd_Ujm.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-Bzu_phZc.js → CreatedOnDcom-pt-br-Dlgk0myX.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-DWax8Er7.js → CreatedOnDcom-pt-pt-B14APfrn.js} +1 -1
  15. package/lib/src/brand-page/models/brand-page-context.model.d.ts +2 -1
  16. package/lib/src/brand-page/models/brand-page-context.model.js +5 -0
  17. package/lib/src/brand-page/models/index.d.ts +1 -0
  18. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +62 -2
  19. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +1 -0
  20. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +60 -2
  21. package/lib/src/brand-page-maker/components/preview/Preview.mixin.d.ts +30 -1
  22. package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +60 -2
  23. package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +60 -2
  24. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +60 -2
  25. package/lib/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.mixin.d.ts +60 -2
  26. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +60 -2
  27. package/lib/src/brand-page-maker/components/upgrade-to-premium-button/UpgradeToPremiumButton.mixin.d.ts +60 -2
  28. package/lib/src/brand-page-maker/composables/ai-chat/useAiChat.js +3 -1
  29. package/lib/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.d.ts +1 -1
  30. package/lib/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.js +6 -6
  31. package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.d.ts +2 -0
  32. package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +258 -0
  33. package/lib/src/brand-page-maker/constants/sidebar-constant.d.ts +1 -0
  34. package/lib/src/brand-page-maker/constants/sidebar-constant.js +8 -0
  35. package/lib/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.d.ts +16 -0
  36. package/lib/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.js +14 -0
  37. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.d.ts +62 -3
  38. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +2 -0
  39. package/lib/src/brand-page-maker/stores/index.d.ts +1 -0
  40. package/lib/src/brand-page-maker/stores/index.js +1 -0
  41. package/lib/src/brand-page-maker/stores/snapshot/snapshot-store.d.ts +2 -0
  42. package/lib/src/brand-page-maker/stores/snapshot/snapshot-store.js +9 -0
  43. package/lib/src/clients/ai-assistant-client.d.ts +8 -0
  44. package/lib/src/clients/ai-assistant-client.js +11 -1
  45. package/lib/src/composables/useSnapshot.js +33 -0
  46. package/lib/src/css/library.brand-page-brandCrowd.min.css +19 -6
  47. package/lib/src/css/library.brand-page-brandPage.min.css +19 -6
  48. package/lib/src/css/library.brand-page-designCom.min.css +19 -6
  49. package/lib/src/css/library.brand-page-preview.min.css +19 -6
  50. package/lib/src/index.d.ts +1 -0
  51. package/lib/src/index.mjs +42 -41
  52. package/lib/src/{lib-DODSa6QK.js → lib-pOkCQP0J.js} +28820 -26841
  53. package/lib/src/lib.js +1 -0
  54. package/lib/src/metadata-builder/ai-metadata-executor.d.ts +1 -1
  55. package/lib/src/metadata-builder/ai-metadata-executor.js +68 -7
  56. package/lib/src/metadata-builder/builders/add-page-builder.d.ts +14 -0
  57. package/lib/src/metadata-builder/builders/add-page-builder.js +66 -0
  58. package/lib/src/metadata-builder/builders/remove-page-builder.d.ts +13 -0
  59. package/lib/src/metadata-builder/builders/remove-page-builder.js +50 -0
  60. package/lib/src/metadata-builder/builders/section-builders/about-section-builder.d.ts +6 -0
  61. package/lib/src/metadata-builder/builders/section-builders/about-section-builder.js +17 -0
  62. package/lib/src/metadata-builder/builders/section-builders/banner-section-builder.d.ts +6 -0
  63. package/lib/src/metadata-builder/builders/section-builders/banner-section-builder.js +25 -0
  64. package/lib/src/metadata-builder/builders/section-builders/base-section-builder.d.ts +40 -0
  65. package/lib/src/metadata-builder/builders/section-builders/base-section-builder.js +108 -0
  66. package/lib/src/metadata-builder/builders/section-builders/button-section-builder.d.ts +6 -0
  67. package/lib/src/metadata-builder/builders/section-builders/button-section-builder.js +16 -0
  68. package/lib/src/metadata-builder/builders/section-builders/contact-form-builder.d.ts +6 -0
  69. package/lib/src/metadata-builder/builders/section-builders/contact-form-builder.js +27 -0
  70. package/lib/src/metadata-builder/builders/section-builders/delete-section-builder.d.ts +13 -0
  71. package/lib/src/metadata-builder/builders/section-builders/delete-section-builder.js +37 -0
  72. package/lib/src/metadata-builder/builders/section-builders/divider-section-builder.d.ts +6 -0
  73. package/lib/src/metadata-builder/builders/section-builders/divider-section-builder.js +16 -0
  74. package/lib/src/metadata-builder/builders/section-builders/image-gallery-builder.d.ts +6 -0
  75. package/lib/src/metadata-builder/builders/section-builders/image-gallery-builder.js +76 -0
  76. package/lib/src/metadata-builder/builders/section-builders/image-section-builder.d.ts +6 -0
  77. package/lib/src/metadata-builder/builders/section-builders/image-section-builder.js +16 -0
  78. package/lib/src/metadata-builder/builders/section-builders/images-section-builder.d.ts +6 -0
  79. package/lib/src/metadata-builder/builders/section-builders/images-section-builder.js +158 -0
  80. package/lib/src/metadata-builder/builders/section-builders/index.d.ts +17 -0
  81. package/lib/src/metadata-builder/builders/section-builders/index.js +17 -0
  82. package/lib/src/metadata-builder/builders/section-builders/mailing-list-builder.d.ts +6 -0
  83. package/lib/src/metadata-builder/builders/section-builders/mailing-list-builder.js +17 -0
  84. package/lib/src/metadata-builder/builders/section-builders/mailing-list-section-builder.d.ts +6 -0
  85. package/lib/src/metadata-builder/builders/section-builders/mailing-list-section-builder.js +16 -0
  86. package/lib/src/metadata-builder/builders/section-builders/move-section-builder.d.ts +15 -0
  87. package/lib/src/metadata-builder/builders/section-builders/move-section-builder.js +62 -0
  88. package/lib/src/metadata-builder/builders/section-builders/profile-section-builder.d.ts +6 -0
  89. package/lib/src/metadata-builder/builders/section-builders/profile-section-builder.js +16 -0
  90. package/lib/src/metadata-builder/builders/section-builders/shapes-section-builder.d.ts +6 -0
  91. package/lib/src/metadata-builder/builders/section-builders/shapes-section-builder.js +162 -0
  92. package/lib/src/metadata-builder/builders/section-builders/social-links-builder.d.ts +6 -0
  93. package/lib/src/metadata-builder/builders/section-builders/social-links-builder.js +50 -0
  94. package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.d.ts +6 -0
  95. package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.js +133 -0
  96. package/lib/src/metadata-builder/builders/section-builders/text-section-builder.d.ts +6 -0
  97. package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +154 -0
  98. package/lib/src/metadata-builder/builders/section-content-factory.d.ts +3 -0
  99. package/lib/src/metadata-builder/builders/section-content-factory.js +13 -0
  100. package/lib/src/metadata-builder/builders/section-field-maps.d.ts +12 -0
  101. package/lib/src/metadata-builder/builders/section-field-maps.js +180 -0
  102. package/lib/src/metadata-builder/builders/section-field-utils.d.ts +11 -0
  103. package/lib/src/metadata-builder/builders/section-field-utils.js +109 -0
  104. package/lib/src/metadata-builder/helpers/rte.helpers.d.ts +6 -0
  105. package/lib/src/metadata-builder/helpers/rte.helpers.js +16 -1
  106. package/lib/src/metadata-builder/metadata-executor.js +71 -1
  107. package/lib/src/metadata-builder/models.d.ts +54 -0
  108. package/lib/src/metadata-builder/models.js +58 -0
  109. package/lib/src/metadata-builder/parsers/ai-toolcall-parser.d.ts +51 -3
  110. package/lib/src/metadata-builder/parsers/ai-toolcall-parser.js +110 -13
  111. package/lib/src/metadata-builder/parsers/section-tool-arguments.d.ts +285 -0
  112. package/lib/src/metadata-builder/parsers/section-tool-arguments.js +7 -0
  113. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +60 -2
  114. package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +60 -2
  115. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +60 -2
  116. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +60 -2
  117. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +90 -3
  118. package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +61 -2
  119. package/lib/src/shared/side-bar/components/SideBar.mixin.js +6 -0
  120. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +60 -2
  121. package/lib/src/utils/minify-brand-page-metadata.d.ts +22 -0
  122. package/lib/src/utils/minify-brand-page-metadata.js +344 -0
  123. package/package.json +1 -1
  124. package/src/brand-page/models/brand-page-context.model.ts +12 -3
  125. package/src/brand-page/models/index.ts +1 -0
  126. package/src/brand-page-maker/components/ai-website-builder/AiWebsiteBuilder.vue +80 -0
  127. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +4 -0
  128. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.vue +9 -2
  129. package/src/brand-page-maker/composables/ai-chat/useAiChat.ts +4 -1
  130. package/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.ts +6 -6
  131. package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +363 -0
  132. package/src/brand-page-maker/constants/sidebar-constant.ts +8 -0
  133. package/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.ts +19 -0
  134. package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.ts +3 -1
  135. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +4 -0
  136. package/src/brand-page-maker/stores/index.ts +1 -0
  137. package/src/brand-page-maker/stores/snapshot/snapshot-store.ts +12 -0
  138. package/src/clients/ai-assistant-client.ts +17 -1
  139. package/src/composables/useSnapshot.ts +47 -0
  140. package/src/lib.ts +4 -0
  141. package/src/metadata-builder/ai-metadata-executor.ts +116 -26
  142. package/src/metadata-builder/builders/add-page-builder.ts +98 -0
  143. package/src/metadata-builder/builders/remove-page-builder.ts +83 -0
  144. package/src/metadata-builder/builders/section-builders/about-section-builder.ts +28 -0
  145. package/src/metadata-builder/builders/section-builders/banner-section-builder.ts +45 -0
  146. package/src/metadata-builder/builders/section-builders/base-section-builder.ts +160 -0
  147. package/src/metadata-builder/builders/section-builders/button-section-builder.ts +24 -0
  148. package/src/metadata-builder/builders/section-builders/contact-form-builder.ts +43 -0
  149. package/src/metadata-builder/builders/section-builders/delete-section-builder.ts +63 -0
  150. package/src/metadata-builder/builders/section-builders/divider-section-builder.ts +27 -0
  151. package/src/metadata-builder/builders/section-builders/image-gallery-builder.ts +111 -0
  152. package/src/metadata-builder/builders/section-builders/image-section-builder.ts +24 -0
  153. package/src/metadata-builder/builders/section-builders/images-section-builder.ts +223 -0
  154. package/src/metadata-builder/builders/section-builders/index.ts +21 -0
  155. package/src/metadata-builder/builders/section-builders/mailing-list-builder.ts +29 -0
  156. package/src/metadata-builder/builders/section-builders/mailing-list-section-builder.ts +27 -0
  157. package/src/metadata-builder/builders/section-builders/move-section-builder.ts +100 -0
  158. package/src/metadata-builder/builders/section-builders/profile-section-builder.ts +27 -0
  159. package/src/metadata-builder/builders/section-builders/shapes-section-builder.ts +231 -0
  160. package/src/metadata-builder/builders/section-builders/social-links-builder.ts +79 -0
  161. package/src/metadata-builder/builders/section-builders/testimonial-section-builder.ts +194 -0
  162. package/src/metadata-builder/builders/section-builders/text-section-builder.ts +234 -0
  163. package/src/metadata-builder/builders/section-content-factory.ts +20 -0
  164. package/src/metadata-builder/builders/section-field-maps.ts +235 -0
  165. package/src/metadata-builder/builders/section-field-utils.ts +157 -0
  166. package/src/metadata-builder/helpers/rte.helpers.ts +23 -1
  167. package/src/metadata-builder/metadata-executor.ts +96 -4
  168. package/src/metadata-builder/models.ts +62 -0
  169. package/src/metadata-builder/parsers/ai-toolcall-parser.ts +141 -17
  170. package/src/metadata-builder/parsers/section-tool-arguments.ts +417 -0
  171. package/src/shared/side-bar/components/SideBar.mixin.ts +10 -0
  172. package/src/utils/minify-brand-page-metadata.ts +407 -0
@@ -0,0 +1,285 @@
1
+ /**
2
+ * Typed interfaces for website builder section tool arguments.
3
+ *
4
+ * Canonical reference: service.ai-pipelines/src/agents/website/section_schemas.py
5
+ * Every field defined there has a corresponding TS field here.
6
+ */
7
+ import type { ContentType } from '../../brand-page/models';
8
+ /** Content types not supported by the AI builder. */
9
+ type UnsupportedContentType = 'logo' | 'video' | 'map' | 'request-payment' | 'support-me' | 'shop-section' | 'booking-section';
10
+ export type SectionType = Exclude<ContentType, UnsupportedContentType>;
11
+ export interface TextStyleArguments {
12
+ fontSize?: string | null;
13
+ color?: string | null;
14
+ fontWeight?: string | null;
15
+ fontStyle?: string | null;
16
+ textAlign?: string | null;
17
+ textDecoration?: string | null;
18
+ backgroundColor?: string | null;
19
+ letterSpacing?: number | null;
20
+ lineHeight?: number | null;
21
+ fontFamily?: string | null;
22
+ }
23
+ export interface BackgroundStyleArguments {
24
+ backgroundColor?: string | null;
25
+ }
26
+ export interface CardStyleArguments {
27
+ backgroundColor?: string | null;
28
+ borderRadius?: string | null;
29
+ borderColor?: string | null;
30
+ }
31
+ export interface ProfileSectionArguments {
32
+ name?: string;
33
+ title?: string;
34
+ description?: string;
35
+ avatar_image_url?: string;
36
+ }
37
+ export interface TextSectionItem {
38
+ /** 0-based index of existing item to update in-place */
39
+ item_index?: number;
40
+ /** 0-based position to insert a new item at */
41
+ insert_at?: number;
42
+ text?: string;
43
+ text_style?: TextStyleArguments;
44
+ }
45
+ export interface TextSectionArguments {
46
+ /** Single text field (BrandPage/BrandContact or shorthand for first item) */
47
+ text?: string;
48
+ text_style?: TextStyleArguments;
49
+ /** Multiple text items (BrandSite) */
50
+ items?: TextSectionItem[];
51
+ _replace_items?: boolean;
52
+ /** 0-based indices of items to remove */
53
+ _remove_item_indices?: number[];
54
+ /** New order as array of current 0-based indices */
55
+ _reorder_items?: number[];
56
+ }
57
+ export interface ImageSectionArguments {
58
+ image_url?: string;
59
+ image_title?: string;
60
+ }
61
+ export interface ImageGalleryItem {
62
+ /** 0-based index of existing item to update in-place */
63
+ item_index?: number;
64
+ /** 0-based position to insert a new item at */
65
+ insert_at?: number;
66
+ image_url?: string;
67
+ caption?: string;
68
+ }
69
+ export interface ImageGallerySectionArguments {
70
+ images?: ImageGalleryItem[];
71
+ gallery_type?: 'grid' | 'carousel' | 'masonry';
72
+ _replace_items?: boolean;
73
+ /** 0-based indices of items to remove */
74
+ _remove_item_indices?: number[];
75
+ /** New order as array of current 0-based indices */
76
+ _reorder_items?: number[];
77
+ }
78
+ export interface GeneralLinkSectionArguments {
79
+ title?: string;
80
+ url?: string;
81
+ icon_image_url?: string;
82
+ }
83
+ export interface WebsiteSectionArguments {
84
+ title?: string;
85
+ url?: string;
86
+ icon_image_url?: string;
87
+ }
88
+ export interface EmailSectionArguments {
89
+ title?: string;
90
+ email?: string;
91
+ icon_image_url?: string;
92
+ }
93
+ export interface PhoneSectionArguments {
94
+ title?: string;
95
+ phone_number?: string;
96
+ icon_image_url?: string;
97
+ }
98
+ export interface FacebookSectionArguments {
99
+ title?: string;
100
+ url?: string;
101
+ }
102
+ export interface XSectionArguments {
103
+ title?: string;
104
+ url?: string;
105
+ }
106
+ export interface InstagramSectionArguments {
107
+ title?: string;
108
+ url?: string;
109
+ }
110
+ export interface YoutubeSectionArguments {
111
+ title?: string;
112
+ url?: string;
113
+ }
114
+ export interface LinkedinSectionArguments {
115
+ title?: string;
116
+ url?: string;
117
+ }
118
+ export interface PinterestSectionArguments {
119
+ title?: string;
120
+ url?: string;
121
+ }
122
+ export interface TwitchSectionArguments {
123
+ title?: string;
124
+ url?: string;
125
+ }
126
+ export interface TiktokSectionArguments {
127
+ title?: string;
128
+ url?: string;
129
+ }
130
+ export interface SocialLink {
131
+ /** 0-based index of existing item to update in-place */
132
+ item_index?: number;
133
+ /** 0-based position to insert a new item at */
134
+ insert_at?: number;
135
+ platform?: 'facebook' | 'x' | 'instagram' | 'youtube' | 'linkedin' | 'pinterest' | 'twitch' | 'tiktok';
136
+ url?: string;
137
+ }
138
+ export interface SocialLinksSectionArguments {
139
+ links?: SocialLink[];
140
+ icon_style?: 'none' | 'square' | 'circle';
141
+ _replace_items?: boolean;
142
+ /** 0-based indices of items to remove */
143
+ _remove_item_indices?: number[];
144
+ /** New order as array of current 0-based indices */
145
+ _reorder_items?: number[];
146
+ }
147
+ export interface MailingListSectionArguments {
148
+ title?: string;
149
+ button_text?: string;
150
+ }
151
+ export interface ContactFormFieldToggle {
152
+ /** Field ID matching FORM_FIELD_IDS (e.g., 'firstName', 'lastName', 'phoneNumber', 'message') */
153
+ field_id: string;
154
+ /** Whether the field is shown on the form */
155
+ enabled: boolean;
156
+ }
157
+ export interface ContactFormSectionArguments {
158
+ title?: string;
159
+ description?: string;
160
+ button_text?: string;
161
+ success_message?: string;
162
+ response_email?: string;
163
+ header_image_url?: string;
164
+ display_style?: 'preview' | 'collapsed';
165
+ layout_style?: 'center-card-aligned' | 'centered' | 'text-only' | 'center-card-aligned-image' | 'left-aligned-full-image' | 'right-aligned-full-image';
166
+ title_style?: TextStyleArguments;
167
+ description_style?: TextStyleArguments;
168
+ button_text_style?: TextStyleArguments;
169
+ /** Toggle visibility of form fields */
170
+ fields?: ContactFormFieldToggle[];
171
+ }
172
+ export interface BannerSectionArguments {
173
+ title?: string;
174
+ description?: string;
175
+ button_text?: string;
176
+ button_url?: string;
177
+ background_image_url?: string;
178
+ display_style?: 'left-aligned' | 'right-aligned' | 'centered' | 'big-image' | 'left-aligned-big-image' | 'right-aligned-full-image' | 'left-aligned-full-image' | 'center-card-aligned-image' | 'left-card-aligned-image';
179
+ title_style?: TextStyleArguments;
180
+ description_style?: TextStyleArguments;
181
+ button_text_style?: TextStyleArguments;
182
+ }
183
+ export interface AboutSectionArguments {
184
+ title?: string;
185
+ paragraph?: string;
186
+ about_image_url?: string;
187
+ display_style?: 'left-aligned' | 'right-aligned' | 'centered' | 'text-only' | 'left-aligned-full-image' | 'right-aligned-full-image';
188
+ title_style?: TextStyleArguments;
189
+ paragraph_style?: TextStyleArguments;
190
+ }
191
+ export interface ImagesSectionItem {
192
+ /** 0-based index of existing item to update in-place */
193
+ item_index?: number;
194
+ /** 0-based position to insert a new item at */
195
+ insert_at?: number;
196
+ image_url?: string;
197
+ heading?: string;
198
+ text?: string;
199
+ }
200
+ export interface ImagesSectionArguments {
201
+ title?: string;
202
+ description?: string;
203
+ items?: ImagesSectionItem[];
204
+ display_style?: 'left-aligned' | 'right-aligned' | 'centered' | 'media-only' | 'center-card-aligned-image' | 'alternate-image';
205
+ _replace_items?: boolean;
206
+ /** 0-based indices of items to remove */
207
+ _remove_item_indices?: number[];
208
+ /** New order as array of current 0-based indices */
209
+ _reorder_items?: number[];
210
+ title_style?: TextStyleArguments;
211
+ description_style?: TextStyleArguments;
212
+ heading_style?: TextStyleArguments;
213
+ paragraph_style?: TextStyleArguments;
214
+ aspect_ratio?: string;
215
+ are_images_full_width?: boolean;
216
+ background_style?: BackgroundStyleArguments;
217
+ card_style?: CardStyleArguments;
218
+ }
219
+ export interface TestimonialItem {
220
+ /** 0-based index of existing item to update in-place */
221
+ item_index?: number;
222
+ /** 0-based position to insert a new item at */
223
+ insert_at?: number;
224
+ testimonial?: string;
225
+ name?: string;
226
+ position?: string;
227
+ avatar_image_url?: string;
228
+ }
229
+ export interface TestimonialSectionArguments {
230
+ title?: string;
231
+ items?: TestimonialItem[];
232
+ display_style?: 'centered' | 'big-image' | 'columns';
233
+ _replace_items?: boolean;
234
+ /** 0-based indices of items to remove */
235
+ _remove_item_indices?: number[];
236
+ /** New order as array of current 0-based indices */
237
+ _reorder_items?: number[];
238
+ title_style?: TextStyleArguments;
239
+ testimonial_style?: TextStyleArguments;
240
+ name_style?: TextStyleArguments;
241
+ position_style?: TextStyleArguments;
242
+ background_style?: BackgroundStyleArguments;
243
+ card_style?: CardStyleArguments;
244
+ }
245
+ export interface ShapesSectionItem {
246
+ /** 0-based index of existing item to update in-place */
247
+ item_index?: number;
248
+ /** 0-based position to insert a new item at */
249
+ insert_at?: number;
250
+ icon_image_url?: string;
251
+ shape_url?: string;
252
+ keep_color?: boolean;
253
+ heading?: string;
254
+ text?: string;
255
+ }
256
+ export interface ShapesSectionArguments {
257
+ title?: string;
258
+ description?: string;
259
+ items?: ShapesSectionItem[];
260
+ display_style?: 'left-aligned' | 'right-aligned' | 'centered' | 'media-only' | 'center-card-aligned-image' | 'alternate-image';
261
+ _replace_items?: boolean;
262
+ /** 0-based indices of items to remove */
263
+ _remove_item_indices?: number[];
264
+ /** New order as array of current 0-based indices */
265
+ _reorder_items?: number[];
266
+ title_style?: TextStyleArguments;
267
+ description_style?: TextStyleArguments;
268
+ heading_style?: TextStyleArguments;
269
+ paragraph_style?: TextStyleArguments;
270
+ size?: string;
271
+ background_style?: BackgroundStyleArguments;
272
+ card_style?: CardStyleArguments;
273
+ }
274
+ export interface DividerSectionArguments {
275
+ divider_style?: 'none' | 'thin' | 'thick';
276
+ }
277
+ export type SectionToolArguments = ProfileSectionArguments | TextSectionArguments | ImageSectionArguments | ImageGallerySectionArguments | GeneralLinkSectionArguments | WebsiteSectionArguments | EmailSectionArguments | PhoneSectionArguments | FacebookSectionArguments | XSectionArguments | InstagramSectionArguments | YoutubeSectionArguments | LinkedinSectionArguments | PinterestSectionArguments | TwitchSectionArguments | TiktokSectionArguments | SocialLinksSectionArguments | MailingListSectionArguments | ContactFormSectionArguments | BannerSectionArguments | AboutSectionArguments | ImagesSectionArguments | TestimonialSectionArguments | ShapesSectionArguments | DividerSectionArguments;
278
+ export interface SectionToolCallShape {
279
+ mode: 'create' | 'update';
280
+ type: string;
281
+ content_id?: string;
282
+ page_id?: string;
283
+ arguments: SectionToolArguments;
284
+ }
285
+ export {};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Typed interfaces for website builder section tool arguments.
3
+ *
4
+ * Canonical reference: service.ai-pipelines/src/agents/website/section_schemas.py
5
+ * Every field defined there has a corresponding TS field here.
6
+ */
7
+ export {};
@@ -80,7 +80,36 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
80
80
  eventButtonLocation?: string | undefined;
81
81
  websiteUpsellModalViewModel?: any;
82
82
  showPublishOptionModal?: boolean | undefined;
83
- abTests: Record<string, string>;
83
+ abTests: {
84
+ bp_3926_freemium_watermark?: {
85
+ key: string;
86
+ value: string;
87
+ isControl: boolean;
88
+ isVariation: boolean;
89
+ isExcluded: boolean;
90
+ } | undefined;
91
+ bp_4572_ai_text_generation_post_purchase?: {
92
+ key: string;
93
+ value: string;
94
+ isControl: boolean;
95
+ isVariation: boolean;
96
+ isExcluded: boolean;
97
+ } | undefined;
98
+ bp_4964_ai_text_generation_improvement?: {
99
+ key: string;
100
+ value: string;
101
+ isControl: boolean;
102
+ isVariation: boolean;
103
+ isExcluded: boolean;
104
+ } | undefined;
105
+ bp_5245_ai_website_assistant?: {
106
+ key: string;
107
+ value: string;
108
+ isControl: boolean;
109
+ isVariation: boolean;
110
+ isExcluded: boolean;
111
+ } | undefined;
112
+ };
84
113
  isSubsequentPublish: boolean;
85
114
  isContextualUpgradeModalVisible: boolean;
86
115
  contextualUpgradeType: string | number | symbol | undefined;
@@ -142,7 +171,36 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
142
171
  eventButtonLocation?: string | undefined;
143
172
  websiteUpsellModalViewModel?: any;
144
173
  showPublishOptionModal?: boolean | undefined;
145
- abTests: Record<string, string>;
174
+ abTests: {
175
+ bp_3926_freemium_watermark?: {
176
+ key: string;
177
+ value: string;
178
+ isControl: boolean;
179
+ isVariation: boolean;
180
+ isExcluded: boolean;
181
+ } | undefined;
182
+ bp_4572_ai_text_generation_post_purchase?: {
183
+ key: string;
184
+ value: string;
185
+ isControl: boolean;
186
+ isVariation: boolean;
187
+ isExcluded: boolean;
188
+ } | undefined;
189
+ bp_4964_ai_text_generation_improvement?: {
190
+ key: string;
191
+ value: string;
192
+ isControl: boolean;
193
+ isVariation: boolean;
194
+ isExcluded: boolean;
195
+ } | undefined;
196
+ bp_5245_ai_website_assistant?: {
197
+ key: string;
198
+ value: string;
199
+ isControl: boolean;
200
+ isVariation: boolean;
201
+ isExcluded: boolean;
202
+ } | undefined;
203
+ };
146
204
  isSubsequentPublish: boolean;
147
205
  isContextualUpgradeModalVisible: boolean;
148
206
  contextualUpgradeType: string | number | symbol | undefined;
@@ -365,7 +365,36 @@ declare const _default: import("vue").DefineComponent<{}, {
365
365
  eventButtonLocation?: string | undefined;
366
366
  websiteUpsellModalViewModel?: any;
367
367
  showPublishOptionModal?: boolean | undefined;
368
- abTests: Record<string, string>;
368
+ abTests: {
369
+ bp_3926_freemium_watermark?: {
370
+ key: string;
371
+ value: string;
372
+ isControl: boolean;
373
+ isVariation: boolean;
374
+ isExcluded: boolean;
375
+ } | undefined;
376
+ bp_4572_ai_text_generation_post_purchase?: {
377
+ key: string;
378
+ value: string;
379
+ isControl: boolean;
380
+ isVariation: boolean;
381
+ isExcluded: boolean;
382
+ } | undefined;
383
+ bp_4964_ai_text_generation_improvement?: {
384
+ key: string;
385
+ value: string;
386
+ isControl: boolean;
387
+ isVariation: boolean;
388
+ isExcluded: boolean;
389
+ } | undefined;
390
+ bp_5245_ai_website_assistant?: {
391
+ key: string;
392
+ value: string;
393
+ isControl: boolean;
394
+ isVariation: boolean;
395
+ isExcluded: boolean;
396
+ } | undefined;
397
+ };
369
398
  isSubsequentPublish: boolean;
370
399
  isContextualUpgradeModalVisible: boolean;
371
400
  contextualUpgradeType: string | number | symbol | undefined;
@@ -427,7 +456,36 @@ declare const _default: import("vue").DefineComponent<{}, {
427
456
  eventButtonLocation?: string | undefined;
428
457
  websiteUpsellModalViewModel?: any;
429
458
  showPublishOptionModal?: boolean | undefined;
430
- abTests: Record<string, string>;
459
+ abTests: {
460
+ bp_3926_freemium_watermark?: {
461
+ key: string;
462
+ value: string;
463
+ isControl: boolean;
464
+ isVariation: boolean;
465
+ isExcluded: boolean;
466
+ } | undefined;
467
+ bp_4572_ai_text_generation_post_purchase?: {
468
+ key: string;
469
+ value: string;
470
+ isControl: boolean;
471
+ isVariation: boolean;
472
+ isExcluded: boolean;
473
+ } | undefined;
474
+ bp_4964_ai_text_generation_improvement?: {
475
+ key: string;
476
+ value: string;
477
+ isControl: boolean;
478
+ isVariation: boolean;
479
+ isExcluded: boolean;
480
+ } | undefined;
481
+ bp_5245_ai_website_assistant?: {
482
+ key: string;
483
+ value: string;
484
+ isControl: boolean;
485
+ isVariation: boolean;
486
+ isExcluded: boolean;
487
+ } | undefined;
488
+ };
431
489
  isSubsequentPublish: boolean;
432
490
  isContextualUpgradeModalVisible: boolean;
433
491
  contextualUpgradeType: string | number | symbol | undefined;
@@ -4552,7 +4552,36 @@ declare const _default: import("vue").DefineComponent<{}, {
4552
4552
  eventButtonLocation?: string | undefined;
4553
4553
  websiteUpsellModalViewModel?: any;
4554
4554
  showPublishOptionModal?: boolean | undefined;
4555
- abTests: Record<string, string>;
4555
+ abTests: {
4556
+ bp_3926_freemium_watermark?: {
4557
+ key: string;
4558
+ value: string;
4559
+ isControl: boolean;
4560
+ isVariation: boolean;
4561
+ isExcluded: boolean;
4562
+ } | undefined;
4563
+ bp_4572_ai_text_generation_post_purchase?: {
4564
+ key: string;
4565
+ value: string;
4566
+ isControl: boolean;
4567
+ isVariation: boolean;
4568
+ isExcluded: boolean;
4569
+ } | undefined;
4570
+ bp_4964_ai_text_generation_improvement?: {
4571
+ key: string;
4572
+ value: string;
4573
+ isControl: boolean;
4574
+ isVariation: boolean;
4575
+ isExcluded: boolean;
4576
+ } | undefined;
4577
+ bp_5245_ai_website_assistant?: {
4578
+ key: string;
4579
+ value: string;
4580
+ isControl: boolean;
4581
+ isVariation: boolean;
4582
+ isExcluded: boolean;
4583
+ } | undefined;
4584
+ };
4556
4585
  isSubsequentPublish: boolean;
4557
4586
  isContextualUpgradeModalVisible: boolean;
4558
4587
  contextualUpgradeType: string | number | symbol | undefined;
@@ -4614,7 +4643,36 @@ declare const _default: import("vue").DefineComponent<{}, {
4614
4643
  eventButtonLocation?: string | undefined;
4615
4644
  websiteUpsellModalViewModel?: any;
4616
4645
  showPublishOptionModal?: boolean | undefined;
4617
- abTests: Record<string, string>;
4646
+ abTests: {
4647
+ bp_3926_freemium_watermark?: {
4648
+ key: string;
4649
+ value: string;
4650
+ isControl: boolean;
4651
+ isVariation: boolean;
4652
+ isExcluded: boolean;
4653
+ } | undefined;
4654
+ bp_4572_ai_text_generation_post_purchase?: {
4655
+ key: string;
4656
+ value: string;
4657
+ isControl: boolean;
4658
+ isVariation: boolean;
4659
+ isExcluded: boolean;
4660
+ } | undefined;
4661
+ bp_4964_ai_text_generation_improvement?: {
4662
+ key: string;
4663
+ value: string;
4664
+ isControl: boolean;
4665
+ isVariation: boolean;
4666
+ isExcluded: boolean;
4667
+ } | undefined;
4668
+ bp_5245_ai_website_assistant?: {
4669
+ key: string;
4670
+ value: string;
4671
+ isControl: boolean;
4672
+ isVariation: boolean;
4673
+ isExcluded: boolean;
4674
+ } | undefined;
4675
+ };
4618
4676
  isSubsequentPublish: boolean;
4619
4677
  isContextualUpgradeModalVisible: boolean;
4620
4678
  contextualUpgradeType: string | number | symbol | undefined;
@@ -3934,7 +3934,36 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
3934
3934
  eventButtonLocation?: string | undefined;
3935
3935
  websiteUpsellModalViewModel?: any;
3936
3936
  showPublishOptionModal?: boolean | undefined;
3937
- abTests: Record<string, string>;
3937
+ abTests: {
3938
+ bp_3926_freemium_watermark?: {
3939
+ key: string;
3940
+ value: string;
3941
+ isControl: boolean;
3942
+ isVariation: boolean;
3943
+ isExcluded: boolean;
3944
+ } | undefined;
3945
+ bp_4572_ai_text_generation_post_purchase?: {
3946
+ key: string;
3947
+ value: string;
3948
+ isControl: boolean;
3949
+ isVariation: boolean;
3950
+ isExcluded: boolean;
3951
+ } | undefined;
3952
+ bp_4964_ai_text_generation_improvement?: {
3953
+ key: string;
3954
+ value: string;
3955
+ isControl: boolean;
3956
+ isVariation: boolean;
3957
+ isExcluded: boolean;
3958
+ } | undefined;
3959
+ bp_5245_ai_website_assistant?: {
3960
+ key: string;
3961
+ value: string;
3962
+ isControl: boolean;
3963
+ isVariation: boolean;
3964
+ isExcluded: boolean;
3965
+ } | undefined;
3966
+ };
3938
3967
  isSubsequentPublish: boolean;
3939
3968
  isContextualUpgradeModalVisible: boolean;
3940
3969
  contextualUpgradeType: string | number | symbol | undefined;
@@ -3996,7 +4025,36 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
3996
4025
  eventButtonLocation?: string | undefined;
3997
4026
  websiteUpsellModalViewModel?: any;
3998
4027
  showPublishOptionModal?: boolean | undefined;
3999
- abTests: Record<string, string>;
4028
+ abTests: {
4029
+ bp_3926_freemium_watermark?: {
4030
+ key: string;
4031
+ value: string;
4032
+ isControl: boolean;
4033
+ isVariation: boolean;
4034
+ isExcluded: boolean;
4035
+ } | undefined;
4036
+ bp_4572_ai_text_generation_post_purchase?: {
4037
+ key: string;
4038
+ value: string;
4039
+ isControl: boolean;
4040
+ isVariation: boolean;
4041
+ isExcluded: boolean;
4042
+ } | undefined;
4043
+ bp_4964_ai_text_generation_improvement?: {
4044
+ key: string;
4045
+ value: string;
4046
+ isControl: boolean;
4047
+ isVariation: boolean;
4048
+ isExcluded: boolean;
4049
+ } | undefined;
4050
+ bp_5245_ai_website_assistant?: {
4051
+ key: string;
4052
+ value: string;
4053
+ isControl: boolean;
4054
+ isVariation: boolean;
4055
+ isExcluded: boolean;
4056
+ } | undefined;
4057
+ };
4000
4058
  isSubsequentPublish: boolean;
4001
4059
  isContextualUpgradeModalVisible: boolean;
4002
4060
  contextualUpgradeType: string | number | symbol | undefined;