@designcrowd/library.brand-page 6.2.3 → 6.2.4
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/lib/src/{CreatedOnBrandCrowd-de-de-Cn0M-eZ1.js → CreatedOnBrandCrowd-de-de-ystrO2LW.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-DRLMSDZr.js → CreatedOnBrandCrowd-en-us-BU7hNzTZ.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-BglTu73U.js → CreatedOnBrandCrowd-es-es-CbuxneQ3.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-Bj6YZ_el.js → CreatedOnBrandCrowd-fr-ca-BuNUGOFr.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-Bj6YZ_el.js → CreatedOnBrandCrowd-fr-fr-BuNUGOFr.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-DEoOmQ1F.js → CreatedOnBrandCrowd-pt-br-BehL88mc.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-DEoOmQ1F.js → CreatedOnBrandCrowd-pt-pt-BehL88mc.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-BZ7gTt4Z.js → CreatedOnDcom-de-de-CMxjFZt9.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-CD6Km5sH.js → CreatedOnDcom-en-us-2Cf6WBvx.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-CNpZHvEl.js → CreatedOnDcom-es-es-CATNnbTq.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-URS-ydJ1.js → CreatedOnDcom-fr-ca-DQtMfB-a.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-D2AVeA3H.js → CreatedOnDcom-fr-fr-C1_FWOQf.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-C32frnFs.js → CreatedOnDcom-pt-br-C0QOCW0L.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-TDYGjRXS.js → CreatedOnDcom-pt-pt-lHD-p6o4.js} +1 -1
- package/lib/src/brand-page/models/brand-page-context.model.d.ts +5 -0
- package/lib/src/brand-page/models/brand-page-context.model.js +8 -1
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +21 -0
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +21 -0
- package/lib/src/brand-page-maker/components/preview/Preview.mixin.d.ts +7 -0
- package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +21 -0
- package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +22 -1
- package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +21 -0
- package/lib/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.mixin.d.ts +21 -0
- package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +21 -0
- package/lib/src/brand-page-maker/components/upgrade-to-premium-button/UpgradeToPremiumButton.mixin.d.ts +21 -0
- package/lib/src/brand-page-maker/composables/ai-chat/ai-builder-experiment.d.ts +10 -0
- package/lib/src/brand-page-maker/composables/ai-chat/ai-builder-experiment.js +11 -0
- package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +14 -4
- package/lib/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.d.ts +9 -2
- package/lib/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.js +20 -0
- package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.d.ts +21 -0
- package/lib/src/clients/ai-assistant-client.d.ts +1 -0
- package/lib/src/clients/ai-assistant-client.js +1 -0
- package/lib/src/index.mjs +224 -223
- package/lib/src/{lib-Dm9AuOJL.js → lib-CqHUUPUW.js} +21920 -21691
- package/lib/src/metadata-builder/builders/global-font-propagation.d.ts +41 -0
- package/lib/src/metadata-builder/builders/global-font-propagation.js +146 -0
- package/lib/src/metadata-builder/builders/global-styles-builder.js +29 -1
- package/lib/src/metadata-builder/builders/header-builder.js +8 -0
- package/lib/src/metadata-builder/builders/reorder-pages-builder.d.ts +13 -0
- package/lib/src/metadata-builder/builders/reorder-pages-builder.js +49 -0
- package/lib/src/metadata-builder/builders/section-builders/index.d.ts +1 -0
- package/lib/src/metadata-builder/builders/section-builders/index.js +1 -0
- package/lib/src/metadata-builder/builders/section-builders/support-me-builder.d.ts +8 -0
- package/lib/src/metadata-builder/builders/section-builders/support-me-builder.js +25 -0
- package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +5 -2
- package/lib/src/metadata-builder/builders/section-field-maps.js +15 -0
- package/lib/src/metadata-builder/builders/section-field-utils.d.ts +6 -1
- package/lib/src/metadata-builder/builders/section-field-utils.js +48 -12
- package/lib/src/metadata-builder/builders/section-rules/support-me.rules.d.ts +2 -0
- package/lib/src/metadata-builder/builders/section-rules/support-me.rules.js +17 -0
- package/lib/src/metadata-builder/helpers/rte.helpers.d.ts +9 -0
- package/lib/src/metadata-builder/helpers/rte.helpers.js +60 -1
- package/lib/src/metadata-builder/metadata-executor.js +3 -1
- package/lib/src/metadata-builder/models.d.ts +2 -0
- package/lib/src/metadata-builder/models.js +2 -0
- package/lib/src/metadata-builder/parsers/ai-toolcall-parser.d.ts +1 -0
- package/lib/src/metadata-builder/parsers/ai-toolcall-parser.js +4 -0
- package/lib/src/metadata-builder/parsers/section-tool-arguments.d.ts +14 -2
- package/lib/src/shared/content-settings/components/GenericTextInput.mixin.d.ts +1 -1
- package/lib/src/shared/content-settings/components/email-field/EmailField.mixin.d.ts +1 -1
- package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +21 -0
- package/lib/src/shared/content-settings/components/tel-field/TelField.mixin.d.ts +1 -1
- package/lib/src/shared/content-settings/components/text-field/TextField.mixin.d.ts +1 -1
- package/lib/src/shared/content-settings/components/textarea-field/TextareaField.mixin.d.ts +1 -1
- package/lib/src/shared/content-settings/components/url-field/UrlField.mixin.d.ts +1 -1
- package/lib/src/shared/content-settings/components/youtube-video-field/YoutubeVideoField.mixin.d.ts +1 -1
- package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +21 -0
- package/lib/src/shared/page-settings/components/delete-page-modal/DeletePageModal.mixin.d.ts +1 -1
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +21 -0
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +21 -0
- package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +28 -0
- package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +21 -0
- package/lib/src/shared/style-settings/button-style-preset.d.ts +12 -0
- package/lib/src/shared/style-settings/button-style-preset.js +39 -0
- package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +21 -0
- package/lib/src/shared/style-settings/store/style-settings-store.js +6 -32
- package/lib/src/utils/minify-brand-page-metadata.d.ts +9 -0
- package/lib/src/utils/minify-brand-page-metadata.js +23 -1
- package/package.json +1 -12
- package/src/brand-page/models/brand-page-context.model.ts +14 -1
- package/src/brand-page-maker/components/ai-website-builder/AiWebsiteBuilder.vue +1 -1
- package/src/brand-page-maker/composables/ai-chat/ai-builder-experiment.test.ts +82 -0
- package/src/brand-page-maker/composables/ai-chat/ai-builder-experiment.ts +19 -0
- package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +18 -4
- package/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.ts +30 -0
- package/src/clients/ai-assistant-client.ts +1 -0
- package/src/metadata-builder/builders/global-font-propagation.test.ts +401 -0
- package/src/metadata-builder/builders/global-font-propagation.ts +238 -0
- package/src/metadata-builder/builders/global-styles-builder.test.ts +107 -0
- package/src/metadata-builder/builders/global-styles-builder.ts +38 -1
- package/src/metadata-builder/builders/header-builder.test.ts +45 -0
- package/src/metadata-builder/builders/header-builder.ts +20 -0
- package/src/metadata-builder/builders/reorder-pages-builder.ts +80 -0
- package/src/metadata-builder/builders/section-builders/index.ts +1 -0
- package/src/metadata-builder/builders/section-builders/support-me-builder.test.ts +177 -0
- package/src/metadata-builder/builders/section-builders/support-me-builder.ts +43 -0
- package/src/metadata-builder/builders/section-builders/text-section-builder.ts +5 -2
- package/src/metadata-builder/builders/section-field-maps.ts +18 -0
- package/src/metadata-builder/builders/section-field-utils.test.ts +83 -0
- package/src/metadata-builder/builders/section-field-utils.ts +69 -18
- package/src/metadata-builder/builders/section-rules/support-me.rules.ts +39 -0
- package/src/metadata-builder/helpers/rte.helpers.ts +82 -1
- package/src/metadata-builder/metadata-executor.ts +3 -0
- package/src/metadata-builder/models.ts +2 -0
- package/src/metadata-builder/parsers/ai-toolcall-parser.ts +4 -0
- package/src/metadata-builder/parsers/section-tool-arguments.ts +14 -1
- package/src/shared/style-settings/button-style-preset.test.ts +67 -0
- package/src/shared/style-settings/button-style-preset.ts +56 -0
- package/src/shared/style-settings/store/style-settings-store.ts +9 -38
- package/src/utils/minify-brand-page-metadata.test.ts +166 -1
- package/src/utils/minify-brand-page-metadata.ts +31 -1
|
@@ -34,8 +34,13 @@ export interface AbTestResult {
|
|
|
34
34
|
isVariation: boolean;
|
|
35
35
|
isExcluded: boolean;
|
|
36
36
|
}
|
|
37
|
+
export declare const AB_TEST_KEYS: {
|
|
38
|
+
BP_3926_FREEMIUM_WATERMARK: string;
|
|
39
|
+
BP_6136_V2_AI_BUILDER: string;
|
|
40
|
+
};
|
|
37
41
|
export interface AbTest {
|
|
38
42
|
bp_3926_freemium_watermark?: AbTestResult;
|
|
43
|
+
bp_6136_v2_ai_builder?: AbTestResult;
|
|
39
44
|
}
|
|
40
45
|
export declare const MEDIA_SIZES: {
|
|
41
46
|
readonly size1x: "size1x";
|
|
@@ -22,8 +22,11 @@ export const AB_TEST_FLAG = {
|
|
|
22
22
|
DCOM_WATERMARK_FLAG: 'dcom-bp-3476-new-watermark', // Replace this with preview flag key
|
|
23
23
|
BC_WATERMARK_FLAG: 'bc-bp-3476-new-watermark', // Replace this with preview flag key
|
|
24
24
|
};
|
|
25
|
-
const AB_TEST_KEYS = {
|
|
25
|
+
export const AB_TEST_KEYS = {
|
|
26
26
|
BP_3926_FREEMIUM_WATERMARK: 'bc-bp-3926-freemium-cta-in-website-editor',
|
|
27
|
+
// V1 (control) vs V2 (variation-1) AI website builder, sent by bc-net in the editor
|
|
28
|
+
// payload at load. Key must match `Bp6136V2AiBuilderStrategy.CampaignKey`.
|
|
29
|
+
BP_6136_V2_AI_BUILDER: 'bc-bp-6136-v2-ai-builder',
|
|
27
30
|
};
|
|
28
31
|
export const MEDIA_SIZES = {
|
|
29
32
|
size1x: 'size1x',
|
|
@@ -45,5 +48,9 @@ export const getAbTestResults = (abtestKeyValues) => {
|
|
|
45
48
|
if (abtestKeyValues[AB_TEST_KEYS.BP_3926_FREEMIUM_WATERMARK]) {
|
|
46
49
|
abTests.bp_3926_freemium_watermark = getValueType(AB_TEST_KEYS.BP_3926_FREEMIUM_WATERMARK, abtestKeyValues[AB_TEST_KEYS.BP_3926_FREEMIUM_WATERMARK]);
|
|
47
50
|
}
|
|
51
|
+
// AB Test - V1 vs V2 AI website builder
|
|
52
|
+
if (abtestKeyValues[AB_TEST_KEYS.BP_6136_V2_AI_BUILDER]) {
|
|
53
|
+
abTests.bp_6136_v2_ai_builder = getValueType(AB_TEST_KEYS.BP_6136_V2_AI_BUILDER, abtestKeyValues[AB_TEST_KEYS.BP_6136_V2_AI_BUILDER]);
|
|
54
|
+
}
|
|
48
55
|
return abTests;
|
|
49
56
|
};
|
|
@@ -292,6 +292,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
292
292
|
isVariation: boolean;
|
|
293
293
|
isExcluded: boolean;
|
|
294
294
|
} | undefined;
|
|
295
|
+
bp_6136_v2_ai_builder?: {
|
|
296
|
+
key: string;
|
|
297
|
+
value: string;
|
|
298
|
+
isControl: boolean;
|
|
299
|
+
isVariation: boolean;
|
|
300
|
+
isExcluded: boolean;
|
|
301
|
+
} | undefined;
|
|
295
302
|
};
|
|
296
303
|
isSubsequentPublish: boolean;
|
|
297
304
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -367,6 +374,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
367
374
|
isVariation: boolean;
|
|
368
375
|
isExcluded: boolean;
|
|
369
376
|
} | undefined;
|
|
377
|
+
bp_6136_v2_ai_builder?: {
|
|
378
|
+
key: string;
|
|
379
|
+
value: string;
|
|
380
|
+
isControl: boolean;
|
|
381
|
+
isVariation: boolean;
|
|
382
|
+
isExcluded: boolean;
|
|
383
|
+
} | undefined;
|
|
370
384
|
};
|
|
371
385
|
isSubsequentPublish: boolean;
|
|
372
386
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -442,6 +456,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
442
456
|
isVariation: boolean;
|
|
443
457
|
isExcluded: boolean;
|
|
444
458
|
} | undefined;
|
|
459
|
+
bp_6136_v2_ai_builder?: {
|
|
460
|
+
key: string;
|
|
461
|
+
value: string;
|
|
462
|
+
isControl: boolean;
|
|
463
|
+
isVariation: boolean;
|
|
464
|
+
isExcluded: boolean;
|
|
465
|
+
} | undefined;
|
|
445
466
|
};
|
|
446
467
|
isSubsequentPublish: boolean;
|
|
447
468
|
isContextualUpgradeModalVisible: boolean;
|
package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts
CHANGED
|
@@ -706,6 +706,13 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
706
706
|
isVariation: boolean;
|
|
707
707
|
isExcluded: boolean;
|
|
708
708
|
} | undefined;
|
|
709
|
+
bp_6136_v2_ai_builder?: {
|
|
710
|
+
key: string;
|
|
711
|
+
value: string;
|
|
712
|
+
isControl: boolean;
|
|
713
|
+
isVariation: boolean;
|
|
714
|
+
isExcluded: boolean;
|
|
715
|
+
} | undefined;
|
|
709
716
|
};
|
|
710
717
|
isSubsequentPublish: boolean;
|
|
711
718
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -781,6 +788,13 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
781
788
|
isVariation: boolean;
|
|
782
789
|
isExcluded: boolean;
|
|
783
790
|
} | undefined;
|
|
791
|
+
bp_6136_v2_ai_builder?: {
|
|
792
|
+
key: string;
|
|
793
|
+
value: string;
|
|
794
|
+
isControl: boolean;
|
|
795
|
+
isVariation: boolean;
|
|
796
|
+
isExcluded: boolean;
|
|
797
|
+
} | undefined;
|
|
784
798
|
};
|
|
785
799
|
isSubsequentPublish: boolean;
|
|
786
800
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -856,6 +870,13 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
856
870
|
isVariation: boolean;
|
|
857
871
|
isExcluded: boolean;
|
|
858
872
|
} | undefined;
|
|
873
|
+
bp_6136_v2_ai_builder?: {
|
|
874
|
+
key: string;
|
|
875
|
+
value: string;
|
|
876
|
+
isControl: boolean;
|
|
877
|
+
isVariation: boolean;
|
|
878
|
+
isExcluded: boolean;
|
|
879
|
+
} | undefined;
|
|
859
880
|
};
|
|
860
881
|
isSubsequentPublish: boolean;
|
|
861
882
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -41,6 +41,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
41
41
|
isVariation: boolean;
|
|
42
42
|
isExcluded: boolean;
|
|
43
43
|
} | undefined;
|
|
44
|
+
bp_6136_v2_ai_builder?: {
|
|
45
|
+
key: string;
|
|
46
|
+
value: string;
|
|
47
|
+
isControl: boolean;
|
|
48
|
+
isVariation: boolean;
|
|
49
|
+
isExcluded: boolean;
|
|
50
|
+
} | undefined;
|
|
44
51
|
};
|
|
45
52
|
}, {
|
|
46
53
|
containerClientHeight: number | undefined;
|
|
@@ -78,6 +78,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
78
78
|
isVariation: boolean;
|
|
79
79
|
isExcluded: boolean;
|
|
80
80
|
} | undefined;
|
|
81
|
+
bp_6136_v2_ai_builder?: {
|
|
82
|
+
key: string;
|
|
83
|
+
value: string;
|
|
84
|
+
isControl: boolean;
|
|
85
|
+
isVariation: boolean;
|
|
86
|
+
isExcluded: boolean;
|
|
87
|
+
} | undefined;
|
|
81
88
|
};
|
|
82
89
|
isSubsequentPublish: boolean;
|
|
83
90
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -153,6 +160,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
153
160
|
isVariation: boolean;
|
|
154
161
|
isExcluded: boolean;
|
|
155
162
|
} | undefined;
|
|
163
|
+
bp_6136_v2_ai_builder?: {
|
|
164
|
+
key: string;
|
|
165
|
+
value: string;
|
|
166
|
+
isControl: boolean;
|
|
167
|
+
isVariation: boolean;
|
|
168
|
+
isExcluded: boolean;
|
|
169
|
+
} | undefined;
|
|
156
170
|
};
|
|
157
171
|
isSubsequentPublish: boolean;
|
|
158
172
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -228,6 +242,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
228
242
|
isVariation: boolean;
|
|
229
243
|
isExcluded: boolean;
|
|
230
244
|
} | undefined;
|
|
245
|
+
bp_6136_v2_ai_builder?: {
|
|
246
|
+
key: string;
|
|
247
|
+
value: string;
|
|
248
|
+
isControl: boolean;
|
|
249
|
+
isVariation: boolean;
|
|
250
|
+
isExcluded: boolean;
|
|
251
|
+
} | undefined;
|
|
231
252
|
};
|
|
232
253
|
isSubsequentPublish: boolean;
|
|
233
254
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -94,6 +94,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
94
94
|
isVariation: boolean;
|
|
95
95
|
isExcluded: boolean;
|
|
96
96
|
} | undefined;
|
|
97
|
+
bp_6136_v2_ai_builder?: {
|
|
98
|
+
key: string;
|
|
99
|
+
value: string;
|
|
100
|
+
isControl: boolean;
|
|
101
|
+
isVariation: boolean;
|
|
102
|
+
isExcluded: boolean;
|
|
103
|
+
} | undefined;
|
|
97
104
|
};
|
|
98
105
|
isSubsequentPublish: boolean;
|
|
99
106
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -169,6 +176,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
169
176
|
isVariation: boolean;
|
|
170
177
|
isExcluded: boolean;
|
|
171
178
|
} | undefined;
|
|
179
|
+
bp_6136_v2_ai_builder?: {
|
|
180
|
+
key: string;
|
|
181
|
+
value: string;
|
|
182
|
+
isControl: boolean;
|
|
183
|
+
isVariation: boolean;
|
|
184
|
+
isExcluded: boolean;
|
|
185
|
+
} | undefined;
|
|
172
186
|
};
|
|
173
187
|
isSubsequentPublish: boolean;
|
|
174
188
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -244,6 +258,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
244
258
|
isVariation: boolean;
|
|
245
259
|
isExcluded: boolean;
|
|
246
260
|
} | undefined;
|
|
261
|
+
bp_6136_v2_ai_builder?: {
|
|
262
|
+
key: string;
|
|
263
|
+
value: string;
|
|
264
|
+
isControl: boolean;
|
|
265
|
+
isVariation: boolean;
|
|
266
|
+
isExcluded: boolean;
|
|
267
|
+
} | undefined;
|
|
247
268
|
};
|
|
248
269
|
isSubsequentPublish: boolean;
|
|
249
270
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -554,9 +575,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
554
575
|
}>> & Readonly<{
|
|
555
576
|
"onUpdate-settings"?: ((...args: any[]) => any) | undefined;
|
|
556
577
|
}>, {
|
|
557
|
-
brandPageType: string;
|
|
558
578
|
pageTitle: string;
|
|
559
579
|
designDraftToken: string;
|
|
580
|
+
brandPageType: string;
|
|
560
581
|
pageDescription: string;
|
|
561
582
|
isMaker: boolean;
|
|
562
583
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -99,6 +99,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
99
99
|
isVariation: boolean;
|
|
100
100
|
isExcluded: boolean;
|
|
101
101
|
} | undefined;
|
|
102
|
+
bp_6136_v2_ai_builder?: {
|
|
103
|
+
key: string;
|
|
104
|
+
value: string;
|
|
105
|
+
isControl: boolean;
|
|
106
|
+
isVariation: boolean;
|
|
107
|
+
isExcluded: boolean;
|
|
108
|
+
} | undefined;
|
|
102
109
|
};
|
|
103
110
|
isSubsequentPublish: boolean;
|
|
104
111
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -174,6 +181,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
174
181
|
isVariation: boolean;
|
|
175
182
|
isExcluded: boolean;
|
|
176
183
|
} | undefined;
|
|
184
|
+
bp_6136_v2_ai_builder?: {
|
|
185
|
+
key: string;
|
|
186
|
+
value: string;
|
|
187
|
+
isControl: boolean;
|
|
188
|
+
isVariation: boolean;
|
|
189
|
+
isExcluded: boolean;
|
|
190
|
+
} | undefined;
|
|
177
191
|
};
|
|
178
192
|
isSubsequentPublish: boolean;
|
|
179
193
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -249,6 +263,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
249
263
|
isVariation: boolean;
|
|
250
264
|
isExcluded: boolean;
|
|
251
265
|
} | undefined;
|
|
266
|
+
bp_6136_v2_ai_builder?: {
|
|
267
|
+
key: string;
|
|
268
|
+
value: string;
|
|
269
|
+
isControl: boolean;
|
|
270
|
+
isVariation: boolean;
|
|
271
|
+
isExcluded: boolean;
|
|
272
|
+
} | undefined;
|
|
252
273
|
};
|
|
253
274
|
isSubsequentPublish: boolean;
|
|
254
275
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -80,6 +80,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
80
80
|
isVariation: boolean;
|
|
81
81
|
isExcluded: boolean;
|
|
82
82
|
} | undefined;
|
|
83
|
+
bp_6136_v2_ai_builder?: {
|
|
84
|
+
key: string;
|
|
85
|
+
value: string;
|
|
86
|
+
isControl: boolean;
|
|
87
|
+
isVariation: boolean;
|
|
88
|
+
isExcluded: boolean;
|
|
89
|
+
} | undefined;
|
|
83
90
|
};
|
|
84
91
|
isSubsequentPublish: boolean;
|
|
85
92
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -155,6 +162,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
155
162
|
isVariation: boolean;
|
|
156
163
|
isExcluded: boolean;
|
|
157
164
|
} | undefined;
|
|
165
|
+
bp_6136_v2_ai_builder?: {
|
|
166
|
+
key: string;
|
|
167
|
+
value: string;
|
|
168
|
+
isControl: boolean;
|
|
169
|
+
isVariation: boolean;
|
|
170
|
+
isExcluded: boolean;
|
|
171
|
+
} | undefined;
|
|
158
172
|
};
|
|
159
173
|
isSubsequentPublish: boolean;
|
|
160
174
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -230,6 +244,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
230
244
|
isVariation: boolean;
|
|
231
245
|
isExcluded: boolean;
|
|
232
246
|
} | undefined;
|
|
247
|
+
bp_6136_v2_ai_builder?: {
|
|
248
|
+
key: string;
|
|
249
|
+
value: string;
|
|
250
|
+
isControl: boolean;
|
|
251
|
+
isVariation: boolean;
|
|
252
|
+
isExcluded: boolean;
|
|
253
|
+
} | undefined;
|
|
233
254
|
};
|
|
234
255
|
isSubsequentPublish: boolean;
|
|
235
256
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -148,6 +148,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
148
148
|
isVariation: boolean;
|
|
149
149
|
isExcluded: boolean;
|
|
150
150
|
} | undefined;
|
|
151
|
+
bp_6136_v2_ai_builder?: {
|
|
152
|
+
key: string;
|
|
153
|
+
value: string;
|
|
154
|
+
isControl: boolean;
|
|
155
|
+
isVariation: boolean;
|
|
156
|
+
isExcluded: boolean;
|
|
157
|
+
} | undefined;
|
|
151
158
|
};
|
|
152
159
|
isSubsequentPublish: boolean;
|
|
153
160
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -223,6 +230,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
223
230
|
isVariation: boolean;
|
|
224
231
|
isExcluded: boolean;
|
|
225
232
|
} | undefined;
|
|
233
|
+
bp_6136_v2_ai_builder?: {
|
|
234
|
+
key: string;
|
|
235
|
+
value: string;
|
|
236
|
+
isControl: boolean;
|
|
237
|
+
isVariation: boolean;
|
|
238
|
+
isExcluded: boolean;
|
|
239
|
+
} | undefined;
|
|
226
240
|
};
|
|
227
241
|
isSubsequentPublish: boolean;
|
|
228
242
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -298,6 +312,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
298
312
|
isVariation: boolean;
|
|
299
313
|
isExcluded: boolean;
|
|
300
314
|
} | undefined;
|
|
315
|
+
bp_6136_v2_ai_builder?: {
|
|
316
|
+
key: string;
|
|
317
|
+
value: string;
|
|
318
|
+
isControl: boolean;
|
|
319
|
+
isVariation: boolean;
|
|
320
|
+
isExcluded: boolean;
|
|
321
|
+
} | undefined;
|
|
301
322
|
};
|
|
302
323
|
isSubsequentPublish: boolean;
|
|
303
324
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -75,6 +75,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
75
75
|
isVariation: boolean;
|
|
76
76
|
isExcluded: boolean;
|
|
77
77
|
} | undefined;
|
|
78
|
+
bp_6136_v2_ai_builder?: {
|
|
79
|
+
key: string;
|
|
80
|
+
value: string;
|
|
81
|
+
isControl: boolean;
|
|
82
|
+
isVariation: boolean;
|
|
83
|
+
isExcluded: boolean;
|
|
84
|
+
} | undefined;
|
|
78
85
|
};
|
|
79
86
|
isSubsequentPublish: boolean;
|
|
80
87
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -150,6 +157,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
150
157
|
isVariation: boolean;
|
|
151
158
|
isExcluded: boolean;
|
|
152
159
|
} | undefined;
|
|
160
|
+
bp_6136_v2_ai_builder?: {
|
|
161
|
+
key: string;
|
|
162
|
+
value: string;
|
|
163
|
+
isControl: boolean;
|
|
164
|
+
isVariation: boolean;
|
|
165
|
+
isExcluded: boolean;
|
|
166
|
+
} | undefined;
|
|
153
167
|
};
|
|
154
168
|
isSubsequentPublish: boolean;
|
|
155
169
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -225,6 +239,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
225
239
|
isVariation: boolean;
|
|
226
240
|
isExcluded: boolean;
|
|
227
241
|
} | undefined;
|
|
242
|
+
bp_6136_v2_ai_builder?: {
|
|
243
|
+
key: string;
|
|
244
|
+
value: string;
|
|
245
|
+
isControl: boolean;
|
|
246
|
+
isVariation: boolean;
|
|
247
|
+
isExcluded: boolean;
|
|
248
|
+
} | undefined;
|
|
228
249
|
};
|
|
229
250
|
isSubsequentPublish: boolean;
|
|
230
251
|
isContextualUpgradeModalVisible: boolean;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AbTestResult } from '../../../brand-page/models/brand-page-context.model';
|
|
2
|
+
import { type AiAssistantAgentType } from '../../../clients/ai-assistant-client';
|
|
3
|
+
/**
|
|
4
|
+
* A/B test: control keeps the V1 AI website builder, variation-1 gets V2.
|
|
5
|
+
*
|
|
6
|
+
* bc-net (WebsiteMakerInteractor) buckets post-purchase users who get the AI tab at
|
|
7
|
+
* editor load and sends the arm in `abTests`. No arm, control and excluded all stay
|
|
8
|
+
* on V1, so a missing value is today's production behaviour.
|
|
9
|
+
*/
|
|
10
|
+
export declare const aiBuilderAgentTypeForArm: (arm: AbTestResult | undefined) => AiAssistantAgentType;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AI_ASSISTANT_AGENT_TYPES, } from '../../../clients/ai-assistant-client';
|
|
2
|
+
/**
|
|
3
|
+
* A/B test: control keeps the V1 AI website builder, variation-1 gets V2.
|
|
4
|
+
*
|
|
5
|
+
* bc-net (WebsiteMakerInteractor) buckets post-purchase users who get the AI tab at
|
|
6
|
+
* editor load and sends the arm in `abTests`. No arm, control and excluded all stay
|
|
7
|
+
* on V1, so a missing value is today's production behaviour.
|
|
8
|
+
*/
|
|
9
|
+
export const aiBuilderAgentTypeForArm = (arm) => arm?.isVariation
|
|
10
|
+
? AI_ASSISTANT_AGENT_TYPES.WEBSITE_BUILDER_V2
|
|
11
|
+
: AI_ASSISTANT_AGENT_TYPES.WEBSITE_BUILDER;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, computed, watch, nextTick } from 'vue';
|
|
2
2
|
import { getCurrentLocale } from '../../../composables/useTranslate';
|
|
3
|
-
import { getInstance as getAiAssistantClient,
|
|
3
|
+
import { getInstance as getAiAssistantClient, } from '../../../clients/ai-assistant-client';
|
|
4
4
|
import { FabricRenderClient } from '../../../clients/fabric-render-client';
|
|
5
5
|
import { parseLogoThemeToCssStyles } from '../../../brand-page/utils/style.util';
|
|
6
6
|
import { AI_ASSISTANT_TOOL_NAMES } from '../../../metadata-builder/parsers/ai-toolcall-parser';
|
|
@@ -19,6 +19,7 @@ import { useHistoryStore } from '../../stores/history/history-store';
|
|
|
19
19
|
import { useUndoRedoFlag } from '../useUndoRedoFlag';
|
|
20
20
|
import { useBrandPageMakerUserStore } from '../../stores/user/user-store';
|
|
21
21
|
import { useAiMetadataBuilder } from './useAiMetadataBuilder';
|
|
22
|
+
import { aiBuilderAgentTypeForArm } from './ai-builder-experiment';
|
|
22
23
|
import { pickErrorMessage, pickWsErrorMessage, buildSubmitErrorReport, } from './aiErrorCopy';
|
|
23
24
|
import raygunUtil from '../../../brand-page/utils/raygun.util';
|
|
24
25
|
import { useEventTracker, AI_CTA_LOCATIONS } from '../useEventTracker';
|
|
@@ -361,13 +362,18 @@ export function useAiWebsiteBuilderChat() {
|
|
|
361
362
|
const userPlan = userStore.hasPremiumSubscription
|
|
362
363
|
? 'premium'
|
|
363
364
|
: 'free';
|
|
365
|
+
if (!aiThreadStore.threadId) {
|
|
366
|
+
// The A/B arm bc-net bucketed at editor load decides which builder owns the
|
|
367
|
+
// new thread; the message and tool-result calls below reuse it.
|
|
368
|
+
aiThreadStore.setAgentType(aiBuilderAgentTypeForArm(containerStore.abTests.bp_6136_v2_ai_builder));
|
|
369
|
+
}
|
|
364
370
|
let buildResponse;
|
|
365
371
|
if (!aiThreadStore.threadId) {
|
|
366
372
|
buildResponse = await client.createWebsiteThreadBuildAsync({
|
|
367
373
|
message,
|
|
368
374
|
websiteContext,
|
|
369
375
|
websiteSnapshot: snapshotStore.snapshotBase64 || undefined,
|
|
370
|
-
agentType:
|
|
376
|
+
agentType: aiThreadStore.agentType,
|
|
371
377
|
userPlan,
|
|
372
378
|
connectionId,
|
|
373
379
|
...buildAttributionFields(),
|
|
@@ -378,7 +384,7 @@ export function useAiWebsiteBuilderChat() {
|
|
|
378
384
|
message,
|
|
379
385
|
websiteContext,
|
|
380
386
|
websiteSnapshot: snapshotStore.snapshotBase64 || undefined,
|
|
381
|
-
agentType:
|
|
387
|
+
agentType: aiThreadStore.agentType,
|
|
382
388
|
userPlan,
|
|
383
389
|
connectionId,
|
|
384
390
|
...buildAttributionFields(),
|
|
@@ -524,9 +530,13 @@ export function useAiWebsiteBuilderChat() {
|
|
|
524
530
|
failedResults,
|
|
525
531
|
retryCount,
|
|
526
532
|
});
|
|
533
|
+
// Tool submissions must go to the SAME agent that ran the thread
|
|
534
|
+
// (AI QA 2026-07-05 T19: a mismatched agentType routes tool results
|
|
535
|
+
// to a service with no state for the thread and fails the build).
|
|
536
|
+
// The thread store holds this thread's agent (A/B arm: V1 control, V2 variation-1).
|
|
527
537
|
const submitResult = await client.submitToolResultsBuildAsync(aiThreadStore.threadId, {
|
|
528
538
|
toolCalls: toolResults,
|
|
529
|
-
agentType:
|
|
539
|
+
agentType: aiThreadStore.agentType,
|
|
530
540
|
connectionId,
|
|
531
541
|
retryCount,
|
|
532
542
|
userPlan,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type AiAssistantAgentType } from '../../../clients/ai-assistant-client';
|
|
1
2
|
export declare const useAiWebsiteBuilderThreadStore: import("pinia").StoreDefinition<"aiWebsiteBuilderThread", Pick<{
|
|
2
3
|
threadId: import("vue").Ref<string | null, string | null>;
|
|
3
4
|
runId: import("vue").Ref<string | null, string | null>;
|
|
@@ -8,9 +9,11 @@ export declare const useAiWebsiteBuilderThreadStore: import("pinia").StoreDefini
|
|
|
8
9
|
buildSectionsCompleted: import("vue").Ref<number, number>;
|
|
9
10
|
promptText: import("vue").Ref<string, string>;
|
|
10
11
|
stopGeneration: import("vue").Ref<(() => void) | null, (() => void) | null>;
|
|
12
|
+
agentType: import("vue").Ref<AiAssistantAgentType, AiAssistantAgentType>;
|
|
13
|
+
setAgentType: (type: AiAssistantAgentType) => void;
|
|
11
14
|
resetToken: import("vue").Ref<number, number>;
|
|
12
15
|
reset: () => void;
|
|
13
|
-
}, "threadId" | "runId" | "messages" | "isProcessing" | "buildId" | "isBuildInProgress" | "buildSectionsCompleted" | "promptText" | "stopGeneration" | "resetToken">, Pick<{
|
|
16
|
+
}, "threadId" | "runId" | "messages" | "isProcessing" | "buildId" | "isBuildInProgress" | "buildSectionsCompleted" | "promptText" | "stopGeneration" | "agentType" | "resetToken">, Pick<{
|
|
14
17
|
threadId: import("vue").Ref<string | null, string | null>;
|
|
15
18
|
runId: import("vue").Ref<string | null, string | null>;
|
|
16
19
|
messages: import("vue").Ref<any[], any[]>;
|
|
@@ -20,6 +23,8 @@ export declare const useAiWebsiteBuilderThreadStore: import("pinia").StoreDefini
|
|
|
20
23
|
buildSectionsCompleted: import("vue").Ref<number, number>;
|
|
21
24
|
promptText: import("vue").Ref<string, string>;
|
|
22
25
|
stopGeneration: import("vue").Ref<(() => void) | null, (() => void) | null>;
|
|
26
|
+
agentType: import("vue").Ref<AiAssistantAgentType, AiAssistantAgentType>;
|
|
27
|
+
setAgentType: (type: AiAssistantAgentType) => void;
|
|
23
28
|
resetToken: import("vue").Ref<number, number>;
|
|
24
29
|
reset: () => void;
|
|
25
30
|
}, never>, Pick<{
|
|
@@ -32,6 +37,8 @@ export declare const useAiWebsiteBuilderThreadStore: import("pinia").StoreDefini
|
|
|
32
37
|
buildSectionsCompleted: import("vue").Ref<number, number>;
|
|
33
38
|
promptText: import("vue").Ref<string, string>;
|
|
34
39
|
stopGeneration: import("vue").Ref<(() => void) | null, (() => void) | null>;
|
|
40
|
+
agentType: import("vue").Ref<AiAssistantAgentType, AiAssistantAgentType>;
|
|
41
|
+
setAgentType: (type: AiAssistantAgentType) => void;
|
|
35
42
|
resetToken: import("vue").Ref<number, number>;
|
|
36
43
|
reset: () => void;
|
|
37
|
-
}, "reset">>;
|
|
44
|
+
}, "reset" | "setAgentType">>;
|