@designcrowd/library.brand-page 5.19.1-id-based-items-2 → 5.19.1
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-Ruu5Az32.js → CreatedOnBrandCrowd-de-de-BmeMc9oz.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-DGUJtvld.js → CreatedOnBrandCrowd-en-us-CQNdm_6P.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-Dg-1uOfV.js → CreatedOnBrandCrowd-es-es-BrmHWeAM.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-CRKraZl8.js → CreatedOnBrandCrowd-fr-ca-CaIyjTXl.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-CRKraZl8.js → CreatedOnBrandCrowd-fr-fr-CaIyjTXl.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-bZ9VlEAu.js → CreatedOnBrandCrowd-pt-br-BClE0Nd9.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-bZ9VlEAu.js → CreatedOnBrandCrowd-pt-pt-BClE0Nd9.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-CJYfwZx8.js → CreatedOnDcom-de-de-CkrdlPqK.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-rzA1lVxH.js → CreatedOnDcom-en-us-D33J9qky.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-CNwGPjik.js → CreatedOnDcom-es-es-BsmInngw.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-DKw7OGIz.js → CreatedOnDcom-fr-ca-DOXlsRea.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-WzOEaAZG.js → CreatedOnDcom-fr-fr-SfFYLtyn.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-DkualVhm.js → CreatedOnDcom-pt-br-DcWeuZUy.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-w4Nnsdzq.js → CreatedOnDcom-pt-pt-DZsZZ4iX.js} +1 -1
- package/lib/src/brand-page/components/image-gallery/masonry/MasonryGallery.mixin.d.ts +1 -1
- package/lib/src/brand-page/models/index.d.ts +0 -12
- package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +0 -5
- package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +0 -18
- package/lib/src/index.mjs +1 -1
- package/lib/src/{lib-Dy7MYyqz.js → lib-C5vGkjfs.js} +17577 -17407
- package/lib/src/metadata-builder/builders/footer-builder.js +44 -34
- package/lib/src/metadata-builder/builders/section-builders/image-gallery-builder.js +68 -57
- package/lib/src/metadata-builder/builders/section-builders/images-section-builder.js +93 -58
- package/lib/src/metadata-builder/builders/section-builders/shapes-section-builder.js +99 -66
- package/lib/src/metadata-builder/builders/section-builders/social-links-builder.js +17 -57
- package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.js +85 -51
- package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +74 -49
- package/lib/src/metadata-builder/parsers/ai-toolcall-parser.d.ts +4 -13
- package/lib/src/metadata-builder/parsers/section-tool-arguments.d.ts +48 -66
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +0 -2
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +0 -2
- package/lib/src/utils/minify-brand-page-metadata.d.ts +0 -2
- package/lib/src/utils/minify-brand-page-metadata.js +1 -8
- package/package.json +1 -1
- package/src/brand-page/components/image-gallery/masonry/MasonryGallery.mixin.ts +1 -2
- package/src/brand-page/models/index.ts +0 -12
- package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +0 -6
- package/src/metadata-builder/builders/footer-builder.test.ts +0 -298
- package/src/metadata-builder/builders/footer-builder.ts +65 -56
- package/src/metadata-builder/builders/section-builders/image-gallery-builder.ts +88 -62
- package/src/metadata-builder/builders/section-builders/images-section-builder.ts +129 -66
- package/src/metadata-builder/builders/section-builders/shapes-section-builder.ts +160 -105
- package/src/metadata-builder/builders/section-builders/social-links-builder.ts +20 -65
- package/src/metadata-builder/builders/section-builders/testimonial-section-builder.ts +146 -83
- package/src/metadata-builder/builders/section-builders/text-section-builder.ts +122 -70
- package/src/metadata-builder/parsers/ai-toolcall-parser.ts +4 -13
- package/src/metadata-builder/parsers/section-tool-arguments.ts +48 -66
- package/src/utils/minify-brand-page-metadata.ts +2 -14
- package/lib/src/metadata-builder/builders/item-id-utils.d.ts +0 -54
- package/lib/src/metadata-builder/builders/item-id-utils.js +0 -96
- package/src/metadata-builder/builders/item-id-utils.test.ts +0 -184
- package/src/metadata-builder/builders/item-id-utils.ts +0 -117
|
@@ -92,15 +92,10 @@ export interface ProfileSectionArguments {
|
|
|
92
92
|
background_color?: string | null;
|
|
93
93
|
}
|
|
94
94
|
export interface TextSectionItem {
|
|
95
|
-
/**
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
|
|
99
|
-
* move for existing ones). Use "__end__" for the end of the list. Omit to
|
|
100
|
-
* leave an existing item in place / append a new item. Mirrors the
|
|
101
|
-
* section-level move_before_content_id.
|
|
102
|
-
*/
|
|
103
|
-
move_before_item_id?: string;
|
|
95
|
+
/** 0-based index of existing item to update in-place */
|
|
96
|
+
item_index?: number;
|
|
97
|
+
/** 0-based position to insert a new item at */
|
|
98
|
+
insert_at?: number;
|
|
104
99
|
text?: RichTextField;
|
|
105
100
|
text_style?: TextStyleArguments;
|
|
106
101
|
}
|
|
@@ -113,8 +108,10 @@ export interface TextSectionArguments {
|
|
|
113
108
|
/** Multiple text items (BrandSite) */
|
|
114
109
|
items?: TextSectionItem[];
|
|
115
110
|
_replace_items?: boolean;
|
|
116
|
-
/**
|
|
117
|
-
|
|
111
|
+
/** 0-based indices of items to remove */
|
|
112
|
+
_remove_item_indices?: number[];
|
|
113
|
+
/** New order as array of current 0-based indices */
|
|
114
|
+
_reorder_items?: number[];
|
|
118
115
|
background_color?: string | null;
|
|
119
116
|
}
|
|
120
117
|
export interface ImageSectionArguments {
|
|
@@ -122,15 +119,10 @@ export interface ImageSectionArguments {
|
|
|
122
119
|
image_title?: string;
|
|
123
120
|
}
|
|
124
121
|
export interface ImageGalleryItem {
|
|
125
|
-
/**
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
|
|
129
|
-
* move for existing ones). Use "__end__" for the end of the list. Omit to
|
|
130
|
-
* leave an existing item in place / append a new item. Mirrors the
|
|
131
|
-
* section-level move_before_content_id.
|
|
132
|
-
*/
|
|
133
|
-
move_before_item_id?: string;
|
|
122
|
+
/** 0-based index of existing item to update in-place */
|
|
123
|
+
item_index?: number;
|
|
124
|
+
/** 0-based position to insert a new item at */
|
|
125
|
+
insert_at?: number;
|
|
134
126
|
image_url?: string;
|
|
135
127
|
caption?: string;
|
|
136
128
|
}
|
|
@@ -139,8 +131,10 @@ export interface ImageGallerySectionArguments {
|
|
|
139
131
|
gallery_type?: 'grid' | 'carousel' | 'masonry';
|
|
140
132
|
is_full_width?: boolean;
|
|
141
133
|
_replace_items?: boolean;
|
|
142
|
-
/**
|
|
143
|
-
|
|
134
|
+
/** 0-based indices of items to remove */
|
|
135
|
+
_remove_item_indices?: number[];
|
|
136
|
+
/** New order as array of current 0-based indices */
|
|
137
|
+
_reorder_items?: number[];
|
|
144
138
|
}
|
|
145
139
|
export interface GeneralLinkSectionArguments {
|
|
146
140
|
title?: string;
|
|
@@ -195,15 +189,10 @@ export interface TiktokSectionArguments {
|
|
|
195
189
|
url?: string;
|
|
196
190
|
}
|
|
197
191
|
export interface SocialLink {
|
|
198
|
-
/**
|
|
199
|
-
|
|
200
|
-
/**
|
|
201
|
-
|
|
202
|
-
* move for existing ones). Use "__end__" for the end of the list. Omit to
|
|
203
|
-
* leave an existing item in place / append a new item. Mirrors the
|
|
204
|
-
* section-level move_before_content_id.
|
|
205
|
-
*/
|
|
206
|
-
move_before_item_id?: string;
|
|
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;
|
|
207
196
|
platform?: 'facebook' | 'x' | 'instagram' | 'youtube' | 'linkedin' | 'pinterest' | 'twitch' | 'tiktok';
|
|
208
197
|
url?: string;
|
|
209
198
|
}
|
|
@@ -215,8 +204,10 @@ export interface SocialLinksSectionArguments {
|
|
|
215
204
|
/** Style for the icon container background (used when icon_style is 'square' or 'circle'). */
|
|
216
205
|
icon_background_style?: TextStyleArguments;
|
|
217
206
|
_replace_items?: boolean;
|
|
218
|
-
/**
|
|
219
|
-
|
|
207
|
+
/** 0-based indices of items to remove */
|
|
208
|
+
_remove_item_indices?: number[];
|
|
209
|
+
/** New order as array of current 0-based indices */
|
|
210
|
+
_reorder_items?: number[];
|
|
220
211
|
}
|
|
221
212
|
export interface MailingListSectionArguments {
|
|
222
213
|
title?: RichTextField;
|
|
@@ -277,15 +268,10 @@ export interface AboutSectionArguments {
|
|
|
277
268
|
background_color?: string | null;
|
|
278
269
|
}
|
|
279
270
|
export interface ImagesSectionItem {
|
|
280
|
-
/**
|
|
281
|
-
|
|
282
|
-
/**
|
|
283
|
-
|
|
284
|
-
* move for existing ones). Use "__end__" for the end of the list. Omit to
|
|
285
|
-
* leave an existing item in place / append a new item. Mirrors the
|
|
286
|
-
* section-level move_before_content_id.
|
|
287
|
-
*/
|
|
288
|
-
move_before_item_id?: string;
|
|
271
|
+
/** 0-based index of existing item to update in-place */
|
|
272
|
+
item_index?: number;
|
|
273
|
+
/** 0-based position to insert a new item at */
|
|
274
|
+
insert_at?: number;
|
|
289
275
|
image_url?: string;
|
|
290
276
|
heading?: string;
|
|
291
277
|
text?: string;
|
|
@@ -297,8 +283,10 @@ export interface ImagesSectionArguments {
|
|
|
297
283
|
items?: ImagesSectionItem[];
|
|
298
284
|
display_style?: 'left-aligned' | 'right-aligned' | 'centered' | 'media-only' | 'center-card-aligned-image' | 'alternate-image';
|
|
299
285
|
_replace_items?: boolean;
|
|
300
|
-
/**
|
|
301
|
-
|
|
286
|
+
/** 0-based indices of items to remove */
|
|
287
|
+
_remove_item_indices?: number[];
|
|
288
|
+
/** New order as array of current 0-based indices */
|
|
289
|
+
_reorder_items?: number[];
|
|
302
290
|
title_style?: TextStyleArguments;
|
|
303
291
|
description_style?: TextStyleArguments;
|
|
304
292
|
heading_style?: TextStyleArguments;
|
|
@@ -310,15 +298,10 @@ export interface ImagesSectionArguments {
|
|
|
310
298
|
card_style?: CardStyleArguments;
|
|
311
299
|
}
|
|
312
300
|
export interface TestimonialItem {
|
|
313
|
-
/**
|
|
314
|
-
|
|
315
|
-
/**
|
|
316
|
-
|
|
317
|
-
* move for existing ones). Use "__end__" for the end of the list. Omit to
|
|
318
|
-
* leave an existing item in place / append a new item. Mirrors the
|
|
319
|
-
* section-level move_before_content_id.
|
|
320
|
-
*/
|
|
321
|
-
move_before_item_id?: string;
|
|
301
|
+
/** 0-based index of existing item to update in-place */
|
|
302
|
+
item_index?: number;
|
|
303
|
+
/** 0-based position to insert a new item at */
|
|
304
|
+
insert_at?: number;
|
|
322
305
|
testimonial?: string;
|
|
323
306
|
name?: string;
|
|
324
307
|
position?: string;
|
|
@@ -331,8 +314,10 @@ export interface TestimonialSectionArguments {
|
|
|
331
314
|
items?: TestimonialItem[];
|
|
332
315
|
display_style?: 'centered' | 'big-image' | 'columns';
|
|
333
316
|
_replace_items?: boolean;
|
|
334
|
-
/**
|
|
335
|
-
|
|
317
|
+
/** 0-based indices of items to remove */
|
|
318
|
+
_remove_item_indices?: number[];
|
|
319
|
+
/** New order as array of current 0-based indices */
|
|
320
|
+
_reorder_items?: number[];
|
|
336
321
|
title_style?: TextStyleArguments;
|
|
337
322
|
testimonial_style?: TextStyleArguments;
|
|
338
323
|
name_style?: TextStyleArguments;
|
|
@@ -341,15 +326,10 @@ export interface TestimonialSectionArguments {
|
|
|
341
326
|
card_style?: CardStyleArguments;
|
|
342
327
|
}
|
|
343
328
|
export interface ShapesSectionItem {
|
|
344
|
-
/**
|
|
345
|
-
|
|
346
|
-
/**
|
|
347
|
-
|
|
348
|
-
* move for existing ones). Use "__end__" for the end of the list. Omit to
|
|
349
|
-
* leave an existing item in place / append a new item. Mirrors the
|
|
350
|
-
* section-level move_before_content_id.
|
|
351
|
-
*/
|
|
352
|
-
move_before_item_id?: string;
|
|
329
|
+
/** 0-based index of existing item to update in-place */
|
|
330
|
+
item_index?: number;
|
|
331
|
+
/** 0-based position to insert a new item at */
|
|
332
|
+
insert_at?: number;
|
|
353
333
|
icon_image_url?: string;
|
|
354
334
|
shape_url?: string;
|
|
355
335
|
color_theme?: string;
|
|
@@ -362,8 +342,10 @@ export interface ShapesSectionArguments {
|
|
|
362
342
|
items?: ShapesSectionItem[];
|
|
363
343
|
display_style?: 'left-aligned' | 'right-aligned' | 'centered' | 'media-only' | 'center-card-aligned-image' | 'alternate-image';
|
|
364
344
|
_replace_items?: boolean;
|
|
365
|
-
/**
|
|
366
|
-
|
|
345
|
+
/** 0-based indices of items to remove */
|
|
346
|
+
_remove_item_indices?: number[];
|
|
347
|
+
/** New order as array of current 0-based indices */
|
|
348
|
+
_reorder_items?: number[];
|
|
367
349
|
title_style?: TextStyleArguments;
|
|
368
350
|
description_style?: TextStyleArguments;
|
|
369
351
|
heading_style?: TextStyleArguments;
|
|
@@ -2866,7 +2866,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
2866
2866
|
logoImageBase64Url?: string | undefined;
|
|
2867
2867
|
socialLinks: {
|
|
2868
2868
|
url: string;
|
|
2869
|
-
id?: string | undefined;
|
|
2870
2869
|
imageUrl: string;
|
|
2871
2870
|
size?: string | undefined;
|
|
2872
2871
|
imageTitle: string;
|
|
@@ -3091,7 +3090,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
3091
3090
|
logoImageBase64Url?: string | undefined;
|
|
3092
3091
|
socialLinks: {
|
|
3093
3092
|
url: string;
|
|
3094
|
-
id?: string | undefined;
|
|
3095
3093
|
imageUrl: string;
|
|
3096
3094
|
size?: string | undefined;
|
|
3097
3095
|
imageTitle: string;
|
|
@@ -2824,7 +2824,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
2824
2824
|
logoImageBase64Url?: string | undefined;
|
|
2825
2825
|
socialLinks: {
|
|
2826
2826
|
url: string;
|
|
2827
|
-
id?: string | undefined;
|
|
2828
2827
|
imageUrl: string;
|
|
2829
2828
|
size?: string | undefined;
|
|
2830
2829
|
imageTitle: string;
|
|
@@ -3049,7 +3048,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
3049
3048
|
logoImageBase64Url?: string | undefined;
|
|
3050
3049
|
socialLinks: {
|
|
3051
3050
|
url: string;
|
|
3052
|
-
id?: string | undefined;
|
|
3053
3051
|
imageUrl: string;
|
|
3054
3052
|
size?: string | undefined;
|
|
3055
3053
|
imageTitle: string;
|
|
@@ -2,8 +2,6 @@ import { type BrandPageModel, type BrandPageType, type NavModel, type PageStyles
|
|
|
2
2
|
import type { ContentType } from '../brand-page/models/content.model';
|
|
3
3
|
import { type AssetEntry } from './build-asset-manifest';
|
|
4
4
|
type MinifiedFooterSocialLink = {
|
|
5
|
-
position: number;
|
|
6
|
-
id?: string;
|
|
7
5
|
imageUrl: string;
|
|
8
6
|
url: string;
|
|
9
7
|
};
|
|
@@ -164,7 +164,6 @@ const minifyContent = (content, editor, assets) => {
|
|
|
164
164
|
...(Array.isArray(c.items) && {
|
|
165
165
|
items: c.items.map((item, index) => ({
|
|
166
166
|
position: index + 1,
|
|
167
|
-
...(item.id && { id: item.id }),
|
|
168
167
|
...st('name', item.name, editor),
|
|
169
168
|
...st('jobTitle', item.position, editor),
|
|
170
169
|
...st('testimonials', item.testimonials, editor),
|
|
@@ -192,7 +191,6 @@ const minifyContent = (content, editor, assets) => {
|
|
|
192
191
|
...(Array.isArray(c.items) && {
|
|
193
192
|
items: c.items.map((item, index) => ({
|
|
194
193
|
position: index + 1,
|
|
195
|
-
...(item.id && { id: item.id }),
|
|
196
194
|
...includeImageWithKey(item.imageUrl),
|
|
197
195
|
...st('title', item.title, editor),
|
|
198
196
|
...st('paragraph', item.paragraph, editor),
|
|
@@ -222,7 +220,6 @@ const minifyContent = (content, editor, assets) => {
|
|
|
222
220
|
...(Array.isArray(c.textItems) && {
|
|
223
221
|
textItems: c.textItems.map((item, index) => ({
|
|
224
222
|
position: index + 1,
|
|
225
|
-
...(item.id && { id: item.id }),
|
|
226
223
|
...st('text', item.text, editor),
|
|
227
224
|
...(includeStyle(item.textStyle) && { textStyle: item.textStyle }),
|
|
228
225
|
})),
|
|
@@ -303,7 +300,6 @@ const minifyContent = (content, editor, assets) => {
|
|
|
303
300
|
...(Array.isArray(c.links) && {
|
|
304
301
|
links: c.links.map((link, index) => ({
|
|
305
302
|
position: index + 1,
|
|
306
|
-
...(link.id && { id: link.id }),
|
|
307
303
|
...(includeString(link.url) && { url: link.url }),
|
|
308
304
|
...includeImageWithKey(link.imageUrl),
|
|
309
305
|
})),
|
|
@@ -343,7 +339,6 @@ const minifyContent = (content, editor, assets) => {
|
|
|
343
339
|
...(Array.isArray(c.images) && {
|
|
344
340
|
images: c.images.map((img, index) => ({
|
|
345
341
|
position: index + 1,
|
|
346
|
-
...(img.id && { id: img.id }),
|
|
347
342
|
...includeImageWithKey(img.imageUrl),
|
|
348
343
|
...st('imageTitle', img.imageTitle, editor),
|
|
349
344
|
})),
|
|
@@ -384,9 +379,7 @@ const minifyFooter = (footer, logoAssetKey) => {
|
|
|
384
379
|
logoImageWidth: footer.logoImageWidth || undefined,
|
|
385
380
|
...(logoAssetKey && { logoAssetKey }),
|
|
386
381
|
socialLinks: footer.socialLinks?.length
|
|
387
|
-
? footer.socialLinks.map((l
|
|
388
|
-
position: index + 1,
|
|
389
|
-
...(l.id && { id: l.id }),
|
|
382
|
+
? footer.socialLinks.map((l) => ({
|
|
390
383
|
imageUrl: l.imageUrl || '',
|
|
391
384
|
url: l.url || '',
|
|
392
385
|
}))
|
package/package.json
CHANGED
|
@@ -7,8 +7,7 @@ import type { ImageGalleryImageClickPayload } from '../models';
|
|
|
7
7
|
import type { BrandPageContext, ImageGalleryItem } from '../../../models';
|
|
8
8
|
import { getImageAltText } from '../../../utils';
|
|
9
9
|
|
|
10
|
-
interface IndexedImageGalleryItem extends
|
|
11
|
-
// Local rendering index, distinct from the stable string `id` on ImageItem.
|
|
10
|
+
interface IndexedImageGalleryItem extends ImageGalleryItem {
|
|
12
11
|
id: number;
|
|
13
12
|
}
|
|
14
13
|
|
|
@@ -234,13 +234,6 @@ export interface ImageContent extends Content {
|
|
|
234
234
|
}
|
|
235
235
|
|
|
236
236
|
export interface ImageItem {
|
|
237
|
-
/**
|
|
238
|
-
* Stable per-item identifier. Mirrors the section-level `Content.id` one
|
|
239
|
-
* level deeper so AI tool calls can reference items by id rather than by
|
|
240
|
-
* positional index. Optional for backward compatibility with persisted data
|
|
241
|
-
* that predates item ids — backfilled on load (see ensureItemIds).
|
|
242
|
-
*/
|
|
243
|
-
id?: string;
|
|
244
237
|
imageUrl: string;
|
|
245
238
|
imageTitle: string;
|
|
246
239
|
width: number;
|
|
@@ -473,8 +466,6 @@ export interface ShapeItem extends ImageItem {
|
|
|
473
466
|
}
|
|
474
467
|
|
|
475
468
|
export interface TestimonialItems {
|
|
476
|
-
/** Stable per-item identifier. See ImageItem.id. */
|
|
477
|
-
id?: string;
|
|
478
469
|
imageUrl: string;
|
|
479
470
|
name: string;
|
|
480
471
|
position: string;
|
|
@@ -492,8 +483,6 @@ export interface TestimonialItems {
|
|
|
492
483
|
}
|
|
493
484
|
|
|
494
485
|
export interface TextItem {
|
|
495
|
-
/** Stable per-item identifier. See ImageItem.id. */
|
|
496
|
-
id?: string;
|
|
497
486
|
text: string;
|
|
498
487
|
textStyle: TextStyleDeclaration;
|
|
499
488
|
|
|
@@ -563,7 +552,6 @@ export interface AboutSectionContent extends Content {
|
|
|
563
552
|
}
|
|
564
553
|
|
|
565
554
|
export interface LinksItem {
|
|
566
|
-
id?: string;
|
|
567
555
|
imageUrl: string;
|
|
568
556
|
url: string;
|
|
569
557
|
size?: string;
|
|
@@ -18,7 +18,6 @@ import {
|
|
|
18
18
|
type PlanItem,
|
|
19
19
|
} from '../../../clients/websocket-gateway-client';
|
|
20
20
|
import { minifyBrandPageMetadata } from '../../../utils/minify-brand-page-metadata';
|
|
21
|
-
import { ensureBrandPageItemIds } from '../../../metadata-builder/builders/item-id-utils';
|
|
22
21
|
import { buildAssetManifest } from '../../../utils/build-asset-manifest';
|
|
23
22
|
import { usePageNavigationStore } from '../../../shared/page-navigation/store/page-navigation-store';
|
|
24
23
|
import { navigateToPageByPageId } from '../../routing';
|
|
@@ -257,11 +256,6 @@ export function useAiWebsiteBuilderChat(): UseAiChatResult {
|
|
|
257
256
|
|
|
258
257
|
const buildMessagePayload = async (userPrompt: string) => {
|
|
259
258
|
const brandPageData = brandPageMakerStore.brandPageData;
|
|
260
|
-
|
|
261
|
-
// BP-5603: stamp stable uuid ids onto every nested item BEFORE minifying,
|
|
262
|
-
// so the id the AI is shown (and returns as `item_id`) is the exact id the
|
|
263
|
-
// executor matches when applying tool calls to this same live model.
|
|
264
|
-
ensureBrandPageItemIds(brandPageData);
|
|
265
259
|
const headerLogoDraftToken =
|
|
266
260
|
brandPageData.pageHeaderDesktop?.logoImage?.logoDraftToken ??
|
|
267
261
|
uiStore.logoDraftToken;
|