@wix/web5-core 1.63.22 → 1.63.24
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/dist/cjs/entity/entityHref.js +53 -0
- package/dist/cjs/entity/entityHref.js.map +1 -0
- package/dist/cjs/entity/entityPayload.js +58 -4
- package/dist/cjs/entity/entityPayload.js.map +1 -1
- package/dist/cjs/entity/index.js +5 -2
- package/dist/cjs/entity/index.js.map +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/registry/ComponentRegistry.js +35 -8
- package/dist/cjs/registry/ComponentRegistry.js.map +1 -1
- package/dist/esm/entity/entityHref.js +49 -0
- package/dist/esm/entity/entityHref.js.map +1 -0
- package/dist/esm/entity/entityPayload.js +57 -4
- package/dist/esm/entity/entityPayload.js.map +1 -1
- package/dist/esm/entity/index.js +2 -1
- package/dist/esm/entity/index.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/registry/ComponentRegistry.js +35 -8
- package/dist/esm/registry/ComponentRegistry.js.map +1 -1
- package/dist/types/entity/entityHref.d.ts +39 -0
- package/dist/types/entity/entityHref.d.ts.map +1 -0
- package/dist/types/entity/entityPayload.d.ts +34 -0
- package/dist/types/entity/entityPayload.d.ts.map +1 -1
- package/dist/types/entity/index.d.ts +2 -1
- package/dist/types/entity/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/registry/ComponentRegistry.d.ts +4 -0
- package/dist/types/registry/ComponentRegistry.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.entityHref = entityHref;
|
|
5
|
+
/**
|
|
6
|
+
* The url an entity card links to.
|
|
7
|
+
*
|
|
8
|
+
* Every entity surface was carrying its own copy of this rule — three of them
|
|
9
|
+
* byte-identical (`EntityProductListSection`, `EntityCollectionSection`,
|
|
10
|
+
* `ComparisonSection`), two more spelled inline (`EntityArticleListSection`,
|
|
11
|
+
* `HeroEntityImageSection`) — in every client bundle. It lives here for the
|
|
12
|
+
* same reason `formatProductPriceLabel` does (DL #218): every seed template
|
|
13
|
+
* externalizes `@wix/web5-core`, so the card, the hero and the comparison
|
|
14
|
+
* surface all get one implementation and no template needs a change.
|
|
15
|
+
*
|
|
16
|
+
* ## It picks; it does not rewrite
|
|
17
|
+
*
|
|
18
|
+
* Deciding WHICH url an item links to is a property of the item, and this
|
|
19
|
+
* knows the item. Deciding what ORIGIN that url should be on is a property of
|
|
20
|
+
* the surface — it needs the storefront the shopper is standing on and the set
|
|
21
|
+
* of origins that count as this site's — and this knows neither. That belongs
|
|
22
|
+
* to the link layer (`useWeb5Link().resolveUrl`), which has both.
|
|
23
|
+
*
|
|
24
|
+
* So the contract is one line: `resolveUrl(entityHref(item))`. One picker, one
|
|
25
|
+
* resolver, nothing in between. A second rewriter sitting between them is how
|
|
26
|
+
* you get two authorities on the same href fighting over it.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/** An entity reference that never resolved — linking it navigates nowhere. */
|
|
30
|
+
const UNRESOLVED_SCHEME = 'web5://';
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* The url an entity links to, or `undefined` when it has none worth linking.
|
|
34
|
+
*
|
|
35
|
+
* `data.url` is the resolved catalog url and wins: it is the row the turn sent,
|
|
36
|
+
* so on a variant question it is the matched child's url — the one carrying
|
|
37
|
+
* `?variant=` (DL #216). `entityUrl` is what parsing recovered from the
|
|
38
|
+
* markdown link and is the fallback for an item resolution never reached.
|
|
39
|
+
*
|
|
40
|
+
* A `web5://` url means the entity resolved to nothing. The caller renders the
|
|
41
|
+
* card unlinked rather than linking a scheme the browser cannot follow — which
|
|
42
|
+
* is what every copy of this rule already did, and worth keeping central so it
|
|
43
|
+
* cannot drift on one surface.
|
|
44
|
+
*/
|
|
45
|
+
function entityHref(item) {
|
|
46
|
+
var _item$data;
|
|
47
|
+
const url = ((_item$data = item.data) == null ? void 0 : _item$data.url) || item.entityUrl || undefined;
|
|
48
|
+
if (!url || url.startsWith(UNRESOLVED_SCHEME)) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
return url;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=entityHref.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["UNRESOLVED_SCHEME","entityHref","item","_item$data","url","data","entityUrl","undefined","startsWith"],"sources":["../../../src/entity/entityHref.ts"],"sourcesContent":["/**\n * The url an entity card links to.\n *\n * Every entity surface was carrying its own copy of this rule — three of them\n * byte-identical (`EntityProductListSection`, `EntityCollectionSection`,\n * `ComparisonSection`), two more spelled inline (`EntityArticleListSection`,\n * `HeroEntityImageSection`) — in every client bundle. It lives here for the\n * same reason `formatProductPriceLabel` does (DL #218): every seed template\n * externalizes `@wix/web5-core`, so the card, the hero and the comparison\n * surface all get one implementation and no template needs a change.\n *\n * ## It picks; it does not rewrite\n *\n * Deciding WHICH url an item links to is a property of the item, and this\n * knows the item. Deciding what ORIGIN that url should be on is a property of\n * the surface — it needs the storefront the shopper is standing on and the set\n * of origins that count as this site's — and this knows neither. That belongs\n * to the link layer (`useWeb5Link().resolveUrl`), which has both.\n *\n * So the contract is one line: `resolveUrl(entityHref(item))`. One picker, one\n * resolver, nothing in between. A second rewriter sitting between them is how\n * you get two authorities on the same href fighting over it.\n */\nimport type { EntityItem } from '../component/types';\n\n/** An entity reference that never resolved — linking it navigates nowhere. */\nconst UNRESOLVED_SCHEME = 'web5://';\n\n/**\n * The url an entity links to, or `undefined` when it has none worth linking.\n *\n * `data.url` is the resolved catalog url and wins: it is the row the turn sent,\n * so on a variant question it is the matched child's url — the one carrying\n * `?variant=` (DL #216). `entityUrl` is what parsing recovered from the\n * markdown link and is the fallback for an item resolution never reached.\n *\n * A `web5://` url means the entity resolved to nothing. The caller renders the\n * card unlinked rather than linking a scheme the browser cannot follow — which\n * is what every copy of this rule already did, and worth keeping central so it\n * cannot drift on one surface.\n */\nexport function entityHref(item: EntityItem): string | undefined {\n const url = item.data?.url || item.entityUrl || undefined;\n if (!url || url.startsWith(UNRESOLVED_SCHEME)) {\n return undefined;\n }\n return url;\n}\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA,MAAMA,iBAAiB,GAAG,SAAS;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,UAAUA,CAACC,IAAgB,EAAsB;EAAA,IAAAC,UAAA;EAC/D,MAAMC,GAAG,GAAG,EAAAD,UAAA,GAAAD,IAAI,CAACG,IAAI,qBAATF,UAAA,CAAWC,GAAG,KAAIF,IAAI,CAACI,SAAS,IAAIC,SAAS;EACzD,IAAI,CAACH,GAAG,IAAIA,GAAG,CAACI,UAAU,CAACR,iBAAiB,CAAC,EAAE;IAC7C,OAAOO,SAAS;EAClB;EACA,OAAOH,GAAG;AACZ","ignoreList":[]}
|
|
@@ -3,6 +3,56 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.entityPayloadFromItems = entityPayloadFromItems;
|
|
5
5
|
exports.normalizeEntityItem = normalizeEntityItem;
|
|
6
|
+
exports.toCatalogPath = toCatalogPath;
|
|
7
|
+
/**
|
|
8
|
+
* A catalog url reduced to `path + query + hash`, so it resolves against the
|
|
9
|
+
* storefront the shopper is actually on.
|
|
10
|
+
*
|
|
11
|
+
* A site's index stores each entity's url from the mapping schema's
|
|
12
|
+
* `payload.url` template, and a live site writes that template ABSOLUTE —
|
|
13
|
+
* `https://www.smallflower.com/products/{handle}`. A demo, staging or clone
|
|
14
|
+
* store serves the same catalog from a different origin, so rendered as
|
|
15
|
+
* indexed, every product link in an answer walks the shopper off the store
|
|
16
|
+
* they are on and onto the canonical one — a different cart, a different
|
|
17
|
+
* inventory, a different checkout.
|
|
18
|
+
*
|
|
19
|
+
* The quieter half is worse. `useWeb5Link.appendWeb5Id` classifies such a url
|
|
20
|
+
* as external and, by design, refuses to stamp `?web5_id=` on an external
|
|
21
|
+
* link, so the destination page never learns which conversation sent the
|
|
22
|
+
* shopper there and every warm-guarded placement on it stays inert.
|
|
23
|
+
*
|
|
24
|
+
* The origin is the one thing in the row the index cannot know and the client
|
|
25
|
+
* can: an entity url names a resource in THIS site's catalog, and the catalog
|
|
26
|
+
* is served by the storefront the page is running on. So the path is
|
|
27
|
+
* authoritative and the origin is advisory. `linkConfig.baseUrl` remains the
|
|
28
|
+
* escape hatch — a client that means its links to leave the current origin
|
|
29
|
+
* says so there, and `resolveRelativeUrl` puts that base back on.
|
|
30
|
+
*
|
|
31
|
+
* Only `url` is reduced. Images legitimately live on another origin
|
|
32
|
+
* (`cdn.shopify.com`), and `img` is left exactly as indexed.
|
|
33
|
+
*
|
|
34
|
+
* This is the client's half. The mapping schema is where it should be
|
|
35
|
+
* corrected — the reference schema in `web5-collection-mapping/schema/
|
|
36
|
+
* examples/ecom-site.schema.json` already ships the right shape
|
|
37
|
+
* (`{"template": "/products/{handle}"}`) — and a site whose schema is already
|
|
38
|
+
* relative passes through here untouched, so the two do not fight.
|
|
39
|
+
*/
|
|
40
|
+
function toCatalogPath(url) {
|
|
41
|
+
// Not absolute http(s): a root-relative path is already right, and a
|
|
42
|
+
// `mailto:`/`web5://`/protocol-relative url is not a catalog path at all.
|
|
43
|
+
if (!/^https?:\/\//i.test(url)) {
|
|
44
|
+
return url;
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
const parsed = new URL(url);
|
|
48
|
+
// `?variant=…` is exactly how a resolved variant travels (DL #216), and
|
|
49
|
+
// the hash can carry an anchor the answer meant — both survive.
|
|
50
|
+
return parsed.pathname + parsed.search + parsed.hash;
|
|
51
|
+
} catch {
|
|
52
|
+
return url;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
6
56
|
/**
|
|
7
57
|
* One entity row, normalized onto the `ApiPayloadItem` shape both resolution
|
|
8
58
|
* paths key off.
|
|
@@ -33,15 +83,19 @@ function normalizeEntityItem(raw) {
|
|
|
33
83
|
}
|
|
34
84
|
|
|
35
85
|
// Rows travel as-is apart from the `doc_id` → `id` alias every consumer keys
|
|
36
|
-
// off, and the image alias
|
|
86
|
+
// off, the origin reduction below, and the image alias after it.
|
|
37
87
|
//
|
|
38
|
-
//
|
|
39
|
-
//
|
|
40
|
-
//
|
|
88
|
+
// The url is never REBUILT — rebuilding the path from `handle` would throw
|
|
89
|
+
// away the `?variant=…` that is exactly how a resolved variant travels.
|
|
90
|
+
// `toCatalogPath` only drops the origin the index stamped; path, query and
|
|
91
|
+
// hash are carried over verbatim.
|
|
41
92
|
const normalized = {
|
|
42
93
|
...rec,
|
|
43
94
|
id
|
|
44
95
|
};
|
|
96
|
+
if (typeof rec.url === 'string' && rec.url) {
|
|
97
|
+
normalized.url = toCatalogPath(rec.url);
|
|
98
|
+
}
|
|
45
99
|
|
|
46
100
|
// Product rows carry the image as `thumbnail` / `images[]` (the Vespa doc
|
|
47
101
|
// shape), but the shared transform (`transformToGenericEntityData`) reads
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["normalizeEntityItem","raw","Array","isArray","rec","docId","doc_id","ownId","id","normalized","img","thumbnail","images","entityPayloadFromItems","container","items","payload","item","push"],"sources":["../../../src/entity/entityPayload.ts"],"sourcesContent":["import type { ApiPayloadItem } from '../types/entity';\n\n/**\n * One entity row, normalized onto the `ApiPayloadItem` shape both resolution\n * paths key off.\n *\n * Two producers, one document. `list-items` answers with the raw retrieval\n * document; the turn answers with the engine's allowlisted projection of the\n * SAME document — same field names, plus the keys only a card reads (`type`,\n * `variantId`, and the matched child's `url`/`img`/`price` already overlaid).\n * Normalizing both here is what lets `findEntityInPayload` resolve a reference\n * without caring which one answered.\n *\n * `id` is what a `web5://entity/<type>/<id>` reference resolves against, and\n * the reference carries the DOCUMENT id — so `doc_id` becomes `id`, exactly as\n * the `list-items` path has always done. The fallback to a row's own `id` is\n * for the day a store publishes one (none does today); a row with neither has\n * nothing to be keyed by and is dropped.\n */\nexport function normalizeEntityItem(raw: unknown): ApiPayloadItem | null {\n if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {\n return null;\n }\n const rec = raw as Record<string, unknown>;\n const docId = typeof rec.doc_id === 'string' ? rec.doc_id : '';\n const ownId = typeof rec.id === 'string' ? rec.id : '';\n const id = docId || ownId;\n if (!id) {\n return null;\n }\n\n // Rows travel as-is apart from the `doc_id` → `id` alias every consumer keys\n // off, and the image alias
|
|
1
|
+
{"version":3,"names":["toCatalogPath","url","test","parsed","URL","pathname","search","hash","normalizeEntityItem","raw","Array","isArray","rec","docId","doc_id","ownId","id","normalized","img","thumbnail","images","entityPayloadFromItems","container","items","payload","item","push"],"sources":["../../../src/entity/entityPayload.ts"],"sourcesContent":["import type { ApiPayloadItem } from '../types/entity';\n\n/**\n * A catalog url reduced to `path + query + hash`, so it resolves against the\n * storefront the shopper is actually on.\n *\n * A site's index stores each entity's url from the mapping schema's\n * `payload.url` template, and a live site writes that template ABSOLUTE —\n * `https://www.smallflower.com/products/{handle}`. A demo, staging or clone\n * store serves the same catalog from a different origin, so rendered as\n * indexed, every product link in an answer walks the shopper off the store\n * they are on and onto the canonical one — a different cart, a different\n * inventory, a different checkout.\n *\n * The quieter half is worse. `useWeb5Link.appendWeb5Id` classifies such a url\n * as external and, by design, refuses to stamp `?web5_id=` on an external\n * link, so the destination page never learns which conversation sent the\n * shopper there and every warm-guarded placement on it stays inert.\n *\n * The origin is the one thing in the row the index cannot know and the client\n * can: an entity url names a resource in THIS site's catalog, and the catalog\n * is served by the storefront the page is running on. So the path is\n * authoritative and the origin is advisory. `linkConfig.baseUrl` remains the\n * escape hatch — a client that means its links to leave the current origin\n * says so there, and `resolveRelativeUrl` puts that base back on.\n *\n * Only `url` is reduced. Images legitimately live on another origin\n * (`cdn.shopify.com`), and `img` is left exactly as indexed.\n *\n * This is the client's half. The mapping schema is where it should be\n * corrected — the reference schema in `web5-collection-mapping/schema/\n * examples/ecom-site.schema.json` already ships the right shape\n * (`{\"template\": \"/products/{handle}\"}`) — and a site whose schema is already\n * relative passes through here untouched, so the two do not fight.\n */\nexport function toCatalogPath(url: string): string {\n // Not absolute http(s): a root-relative path is already right, and a\n // `mailto:`/`web5://`/protocol-relative url is not a catalog path at all.\n if (!/^https?:\\/\\//i.test(url)) {\n return url;\n }\n try {\n const parsed = new URL(url);\n // `?variant=…` is exactly how a resolved variant travels (DL #216), and\n // the hash can carry an anchor the answer meant — both survive.\n return parsed.pathname + parsed.search + parsed.hash;\n } catch {\n return url;\n }\n}\n\n/**\n * One entity row, normalized onto the `ApiPayloadItem` shape both resolution\n * paths key off.\n *\n * Two producers, one document. `list-items` answers with the raw retrieval\n * document; the turn answers with the engine's allowlisted projection of the\n * SAME document — same field names, plus the keys only a card reads (`type`,\n * `variantId`, and the matched child's `url`/`img`/`price` already overlaid).\n * Normalizing both here is what lets `findEntityInPayload` resolve a reference\n * without caring which one answered.\n *\n * `id` is what a `web5://entity/<type>/<id>` reference resolves against, and\n * the reference carries the DOCUMENT id — so `doc_id` becomes `id`, exactly as\n * the `list-items` path has always done. The fallback to a row's own `id` is\n * for the day a store publishes one (none does today); a row with neither has\n * nothing to be keyed by and is dropped.\n */\nexport function normalizeEntityItem(raw: unknown): ApiPayloadItem | null {\n if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {\n return null;\n }\n const rec = raw as Record<string, unknown>;\n const docId = typeof rec.doc_id === 'string' ? rec.doc_id : '';\n const ownId = typeof rec.id === 'string' ? rec.id : '';\n const id = docId || ownId;\n if (!id) {\n return null;\n }\n\n // Rows travel as-is apart from the `doc_id` → `id` alias every consumer keys\n // off, the origin reduction below, and the image alias after it.\n //\n // The url is never REBUILT — rebuilding the path from `handle` would throw\n // away the `?variant=…` that is exactly how a resolved variant travels.\n // `toCatalogPath` only drops the origin the index stamped; path, query and\n // hash are carried over verbatim.\n const normalized: Record<string, unknown> = { ...rec, id };\n\n if (typeof rec.url === 'string' && rec.url) {\n normalized.url = toCatalogPath(rec.url);\n }\n\n // Product rows carry the image as `thumbnail` / `images[]` (the Vespa doc\n // shape), but the shared transform (`transformToGenericEntityData`) reads\n // `img`. Alias it so product cards keep their image.\n //\n // A bridge, not a contract: a row that already carries `img` — a CMS doc, or\n // one where retrieval overlaid a matched child's presentation fields — passes\n // through untouched. Drop the alias once every producer emits `img`.\n if (normalized.img == null) {\n if (typeof rec.thumbnail === 'string' && rec.thumbnail) {\n normalized.img = rec.thumbnail;\n } else if (\n Array.isArray(rec.images) &&\n typeof rec.images[0] === 'string' &&\n rec.images[0]\n ) {\n normalized.img = rec.images[0];\n }\n }\n\n return normalized as unknown as ApiPayloadItem;\n}\n\n/**\n * Read an `{ items: [...] }` container into a normalized payload.\n *\n * Both carriers of the turn's resolved entities use that shape: the live\n * stream's `entities` frame (`TurnEntities.items`) and the persisted\n * `additional_data[\"documents\"]` the reload path reads back. A bare array is\n * accepted too, so a caller that already unwrapped one can pass it straight in.\n *\n * Anything that isn't a keyable row is dropped rather than passed on — a\n * payload entry with no id can only ever fail to match.\n */\nexport function entityPayloadFromItems(container: unknown): ApiPayloadItem[] {\n let items: unknown;\n if (Array.isArray(container)) {\n items = container;\n } else if (container && typeof container === 'object') {\n items = (container as { items?: unknown }).items;\n }\n if (!Array.isArray(items)) {\n return [];\n }\n\n const payload: ApiPayloadItem[] = [];\n for (const item of items) {\n const normalized = normalizeEntityItem(item);\n if (normalized) {\n payload.push(normalized);\n }\n }\n return payload;\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/cjs/entity/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.formatProductPriceLabel = exports.formatPriceField = exports.formatMoney = exports.fetchEntityListData = exports.entityPayloadFromItems = exports.enrichEntitiesFromPayload = exports.LIST_ITEMS_ENDPOINT = void 0;
|
|
4
|
+
exports.formatProductPriceLabel = exports.formatPriceField = exports.formatMoney = exports.fetchEntityListData = exports.entityPayloadFromItems = exports.entityHref = exports.enrichEntitiesFromPayload = exports.LIST_ITEMS_ENDPOINT = void 0;
|
|
5
5
|
exports.getEntityExtractor = getEntityExtractor;
|
|
6
6
|
exports.readCurrencyCode = exports.normalizeEntityItem = exports.mergeEntityData = exports.listEntityItems = exports.isProductFamilyEntityType = void 0;
|
|
7
7
|
exports.registerEntityExtractor = registerEntityExtractor;
|
|
8
|
-
exports.transformToSolutionEntityData = exports.transformToGenericEntityData = exports.transformToBlogPostEntityData = exports.toMatchedOptions = void 0;
|
|
8
|
+
exports.transformToSolutionEntityData = exports.transformToGenericEntityData = exports.transformToBlogPostEntityData = exports.toMatchedOptions = exports.toCatalogPath = void 0;
|
|
9
9
|
var _defaultExtractor = require("./defaultExtractor");
|
|
10
10
|
exports.defaultExtractor = _defaultExtractor.defaultExtractor;
|
|
11
11
|
exports.transformToSolutionEntityData = _defaultExtractor.transformToSolutionEntityData;
|
|
@@ -13,9 +13,12 @@ exports.transformToBlogPostEntityData = _defaultExtractor.transformToBlogPostEnt
|
|
|
13
13
|
exports.transformToGenericEntityData = _defaultExtractor.transformToGenericEntityData;
|
|
14
14
|
var _enrichEntitiesFromPayload = require("./enrichEntitiesFromPayload");
|
|
15
15
|
exports.enrichEntitiesFromPayload = _enrichEntitiesFromPayload.enrichEntitiesFromPayload;
|
|
16
|
+
var _entityHref = require("./entityHref");
|
|
17
|
+
exports.entityHref = _entityHref.entityHref;
|
|
16
18
|
var _entityPayload = require("./entityPayload");
|
|
17
19
|
exports.normalizeEntityItem = _entityPayload.normalizeEntityItem;
|
|
18
20
|
exports.entityPayloadFromItems = _entityPayload.entityPayloadFromItems;
|
|
21
|
+
exports.toCatalogPath = _entityPayload.toCatalogPath;
|
|
19
22
|
var _entityFamily = require("./entityFamily");
|
|
20
23
|
exports.isProductFamilyEntityType = _entityFamily.isProductFamilyEntityType;
|
|
21
24
|
var _mergeEntityData = require("./mergeEntityData");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_defaultExtractor","require","exports","defaultExtractor","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","_enrichEntitiesFromPayload","enrichEntitiesFromPayload","_entityPayload","normalizeEntityItem","entityPayloadFromItems","_entityFamily","isProductFamilyEntityType","_mergeEntityData","mergeEntityData","_matchedVariant","toMatchedOptions","formatMoney","readCurrencyCode","formatPriceField","formatProductPriceLabel","_fetchEntityListData","fetchEntityListData","_listEntityItems","listEntityItems","LIST_ITEMS_ENDPOINT","extractorRegistry","getEntityExtractor","clientId","registerEntityExtractor","extractor"],"sources":["../../../src/entity/index.ts"],"sourcesContent":["import type { EntityExtractor } from './types';\nimport { defaultExtractor } from './defaultExtractor';\n\nexport {\n defaultExtractor,\n transformToSolutionEntityData,\n transformToBlogPostEntityData,\n transformToGenericEntityData,\n} from './defaultExtractor';\n\nexport { enrichEntitiesFromPayload } from './enrichEntitiesFromPayload';\nexport { normalizeEntityItem
|
|
1
|
+
{"version":3,"names":["_defaultExtractor","require","exports","defaultExtractor","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","_enrichEntitiesFromPayload","enrichEntitiesFromPayload","_entityHref","entityHref","_entityPayload","normalizeEntityItem","entityPayloadFromItems","toCatalogPath","_entityFamily","isProductFamilyEntityType","_mergeEntityData","mergeEntityData","_matchedVariant","toMatchedOptions","formatMoney","readCurrencyCode","formatPriceField","formatProductPriceLabel","_fetchEntityListData","fetchEntityListData","_listEntityItems","listEntityItems","LIST_ITEMS_ENDPOINT","extractorRegistry","getEntityExtractor","clientId","registerEntityExtractor","extractor"],"sources":["../../../src/entity/index.ts"],"sourcesContent":["import type { EntityExtractor } from './types';\nimport { defaultExtractor } from './defaultExtractor';\n\nexport {\n defaultExtractor,\n transformToSolutionEntityData,\n transformToBlogPostEntityData,\n transformToGenericEntityData,\n} from './defaultExtractor';\n\nexport { enrichEntitiesFromPayload } from './enrichEntitiesFromPayload';\nexport { entityHref } from './entityHref';\nexport {\n normalizeEntityItem,\n entityPayloadFromItems,\n toCatalogPath,\n} from './entityPayload';\nexport { isProductFamilyEntityType } from './entityFamily';\nexport { mergeEntityData } from './mergeEntityData';\nexport {\n toMatchedOptions,\n formatMoney,\n readCurrencyCode,\n formatPriceField,\n formatProductPriceLabel,\n type MatchedOption,\n type ProductPriceFields,\n} from './matchedVariant';\nexport {\n fetchEntityListData,\n type FetchEntityListDataOptions,\n} from './fetchEntityListData';\nexport {\n listEntityItems,\n LIST_ITEMS_ENDPOINT,\n type ListEntityItemsOptions,\n} from './listEntityItems';\n\nexport type { EntityExtractor } from './types';\n\n/**\n * Registry of client-specific entity extractors.\n * Only needed if a client requires custom extraction logic beyond the config-driven default.\n */\nconst extractorRegistry: Record<string, EntityExtractor> = {};\n\n/**\n * Get the entity extractor for a specific client.\n * The default extractor is config-driven and works for any client with entityConfig.\n */\nexport function getEntityExtractor(clientId?: string): EntityExtractor {\n if (clientId && extractorRegistry[clientId]) {\n return extractorRegistry[clientId];\n }\n return defaultExtractor;\n}\n\n/**\n * Register a custom entity extractor for a client\n * Useful for runtime registration or testing\n */\nexport function registerEntityExtractor(\n clientId: string,\n extractor: EntityExtractor,\n): void {\n extractorRegistry[clientId] = extractor;\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,iBAAA,GAAAC,OAAA;AAAsDC,OAAA,CAAAC,gBAAA,GAAAH,iBAAA,CAAAG,gBAAA;AAAAD,OAAA,CAAAE,6BAAA,GAAAJ,iBAAA,CAAAI,6BAAA;AAAAF,OAAA,CAAAG,6BAAA,GAAAL,iBAAA,CAAAK,6BAAA;AAAAH,OAAA,CAAAI,4BAAA,GAAAN,iBAAA,CAAAM,4BAAA;AAStD,IAAAC,0BAAA,GAAAN,OAAA;AAAwEC,OAAA,CAAAM,yBAAA,GAAAD,0BAAA,CAAAC,yBAAA;AACxE,IAAAC,WAAA,GAAAR,OAAA;AAA0CC,OAAA,CAAAQ,UAAA,GAAAD,WAAA,CAAAC,UAAA;AAC1C,IAAAC,cAAA,GAAAV,OAAA;AAIyBC,OAAA,CAAAU,mBAAA,GAAAD,cAAA,CAAAC,mBAAA;AAAAV,OAAA,CAAAW,sBAAA,GAAAF,cAAA,CAAAE,sBAAA;AAAAX,OAAA,CAAAY,aAAA,GAAAH,cAAA,CAAAG,aAAA;AACzB,IAAAC,aAAA,GAAAd,OAAA;AAA2DC,OAAA,CAAAc,yBAAA,GAAAD,aAAA,CAAAC,yBAAA;AAC3D,IAAAC,gBAAA,GAAAhB,OAAA;AAAoDC,OAAA,CAAAgB,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AACpD,IAAAC,eAAA,GAAAlB,OAAA;AAQ0BC,OAAA,CAAAkB,gBAAA,GAAAD,eAAA,CAAAC,gBAAA;AAAAlB,OAAA,CAAAmB,WAAA,GAAAF,eAAA,CAAAE,WAAA;AAAAnB,OAAA,CAAAoB,gBAAA,GAAAH,eAAA,CAAAG,gBAAA;AAAApB,OAAA,CAAAqB,gBAAA,GAAAJ,eAAA,CAAAI,gBAAA;AAAArB,OAAA,CAAAsB,uBAAA,GAAAL,eAAA,CAAAK,uBAAA;AAC1B,IAAAC,oBAAA,GAAAxB,OAAA;AAG+BC,OAAA,CAAAwB,mBAAA,GAAAD,oBAAA,CAAAC,mBAAA;AAC/B,IAAAC,gBAAA,GAAA1B,OAAA;AAI2BC,OAAA,CAAA0B,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AAAA1B,OAAA,CAAA2B,mBAAA,GAAAF,gBAAA,CAAAE,mBAAA;AAI3B;AACA;AACA;AACA;AACA,MAAMC,iBAAkD,GAAG,CAAC,CAAC;;AAE7D;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACC,QAAiB,EAAmB;EACrE,IAAIA,QAAQ,IAAIF,iBAAiB,CAACE,QAAQ,CAAC,EAAE;IAC3C,OAAOF,iBAAiB,CAACE,QAAQ,CAAC;EACpC;EACA,OAAO7B,kCAAgB;AACzB;;AAEA;AACA;AACA;AACA;AACO,SAAS8B,uBAAuBA,CACrCD,QAAgB,EAChBE,SAA0B,EACpB;EACNJ,iBAAiB,CAACE,QAAQ,CAAC,GAAGE,SAAS;AACzC","ignoreList":[]}
|
package/dist/cjs/index.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.analyzeBackdrop = exports.addToCart = exports.Web5UrlType = exports.WEB5_USER_QUERY_EVENT = exports.WEB5_SCOPES = exports.WEB5_SCOPE = exports.WEB5_ROOT_ID = exports.WEB5_ROOT_CLASS = exports.WEB5_REDIRECT_EVENT = exports.WEB5_GLOBAL_TOKENS = exports.WEB5_ANSWER_UPDATED_EVENT = exports.WEB5_ANSWER_SETTLED_EVENT = exports.UserQueryProvider = exports.UserQuery = exports.UnifiedMarkdownParser = exports.UnifiedLink = exports.UNKNOWN_CONSENT = exports.TextBlockSectionDefinition = exports.TableRow = exports.TableHeader = exports.TableHead = exports.TableFooter = exports.TableCell = exports.TableCaption = exports.TableBody = exports.Table = exports.TOKEN_NAME_PATTERN = exports.THEME_TOKEN_CONTRACT = exports.THEME_OVERRIDE_TOKENS = exports.THEME_DEBUG_QUERY_PARAM = exports.THEME_DEBUG_KEY = exports.TEMPLATES_MANIFEST_URL = exports.TEMPLATES_CDN_BASE = exports.SmartIcon = exports.SkipNodesSectionDefinition = exports.ShopifyStorefrontClient = exports.SectionSkeleton = exports.SearchSectionDefinition = exports.SearchSection = exports.STREAMING_TIMEOUT_MS = exports.REFRESH_PROMPTS_WINDOW_MS = exports.REFRESH_PROMPTS_UNTIL_KEY = exports.PromptEntryEmptyState = exports.PlacementSmoothHeight = exports.PlacementResponseRenderer = exports.PlacementPayloadProvider = exports.PlacementLoader = exports.PRODUCT_BY_HANDLE_QUERY = exports.PRODUCT_BACK_SESSION_KEY = exports.OptimizedImage = exports.NextStepsSectionDefinition = exports.MarkdownText = exports.MATCH_DEBUG_QUERY_PARAM = exports.MATCH_DEBUG_KEY = exports.Loader = exports.ListItemsSectionDefinition = exports.LinkType = exports.LIST_ITEMS_ENDPOINT = exports.KpiSectionDefinition = exports.ImageSearchFilterToken = exports.HtmlCommentSectionDefinition = exports.HeroSectionDefinition = exports.HeroEntitySectionDefinition = exports.HOST_CONSENT_GLOBAL = exports.FeedbackBar = exports.FeatureToggleProvider = exports.FeatureSection9PlusDefinition = exports.FeatureCardsSectionDefinition = exports.FallbackSectionDefinition = exports.ErrorSectionDefinition = exports.EntitySectionDefinition = exports.EntityCollectionSectionDefinition = exports.EXPERIMENT_IDS = exports.ERROR_MARKDOWN = exports.EDITABLE_TOKENS = exports.Disclaimer = exports.DiagnosticsCollector = exports.DROP_SECTION = exports.DIAGNOSTIC_TYPES = exports.DEFAULT_ERROR_TEMPLATES = exports.DEFAULT_BACKEND_ENVIRONMENT = exports.CtaBannerSectionDefinition = exports.ComponentTracking = exports.ComponentRegistry = exports.ComponentDependenciesProvider = exports.ComparisonSectionDefinition = exports.ChipsProvider = exports.CalloutSectionDefinition = exports.CalloutBlock = exports.CONSENT_OVERRIDE_QUERY_PARAM = exports.CONSENT_OVERRIDE_KEY = exports.COLLECTION_BY_HANDLE_QUERY = exports.CLIENT_IDS = exports.CALLOUT_SEMANTICS = exports.CALLOUT_KINDS = exports.BottomContainer = exports.BRAND_TOKENS = exports.BACKEND_ENVIRONMENT_QUERY_PARAM = exports.BACKEND_ENVIRONMENT_KEY = exports.ARTICLE_BY_HANDLE_QUERY = void 0;
|
|
5
|
-
exports.
|
|
6
|
-
exports.writeProductBackHandoff = exports.validatePatternWithBlocks = exports.validatePatternSyntax = exports.validatePattern = exports.validateLinkUrl = exports.usesStagingBackend = exports.useWeb5Link = exports.useUserQuery = exports.useResolvedImageSources = exports.useResolveShopifyEntityData = exports.useResolveSearchSpringEntityData = exports.useResolveGenericEntityData = exports.usePlacementPayload = exports.useMarkdownUtils = exports.useFeatureToggles = exports.useFeatureToggle = exports.useEntityTransforms = exports.useDebugImageContext = exports.useConversation = exports.useComponentDependencies = exports.useChips = exports.unlockOnUserAction = exports.tryParseComponent = exports.trimTrailingWhitespace = exports.transmit = exports.transformToSolutionEntityData = exports.transformToGenericEntityData = exports.transformToBlogPostEntityData = exports.transformShopifyProduct = exports.transformShopifyEntityToItemData = exports.transformShopifyCollection = exports.transformShopifyArticle = exports.transformSSProductToEntityItemData = exports.toRgb = exports.toMatchedOptions = exports.subscribeToConsent = exports.stripMarkdown = exports.startNewChatId = exports.shouldRefreshPrompts = exports.setMatchDebug = exports.setForwardStack = exports.setConsentOverride = exports.setConsentBufferLimit = exports.setChatId = exports.setBackendEnvironment = exports.rgbToHsl = exports.resolveShopifyEntity = exports.resolveShopifyConfig = exports.resolveErrorTemplate = exports.resolveClientBundleUrl = exports.resetMatchDebugCache = exports.resetConsentGateForTests = exports.resetChatIdForTests = exports.registerEntityExtractor = exports.readProductBackHandoff = exports.readCurrencyCode = exports.pushToForwardStack = exports.pushPromptSubmit = exports.pushLinkClick = exports.pushExit = exports.pushEvent = exports.pushError = exports.pushEntityFiltered = exports.publishHostConsent = exports.preprocessMarkdown = exports.popFromForwardStack = exports.parseWeb5Url = exports.parseMarkdownToComponents = exports.parseMarkdownToAst = exports.parseEntityLink = exports.parseAstToMarkdown = exports.normalizeImageUrl = exports.normalizeIconUrls = exports.normalizeEntityItem = exports.nodesToParts = exports.mergeSectionsWithStableReferences = exports.mergeEntityData = exports.mergeClientConfig = exports.mayTransmit = exports.mayPersistIdentity = exports.matchMarkdown = exports.matchAllSections = exports.logMatchDebug = exports.loadImagePixels = exports.loadClientBundle = exports.loadBackdropAnalysis = exports.listEntityItems = exports.isWeb5Url = exports.isWeb5SearchUrl = exports.isWeb5ImageUrl = exports.isWeb5IconUrl = exports.isWeb5EntityUrl = exports.isWeb5AskUrl = exports.isWeb5ActionUrl = exports.isValidWeb5Url = void 0;
|
|
5
|
+
exports.isValidLinkUrl = exports.isUserEngaged = exports.isTrustedBundleHost = exports.isThemeDebugEnabled = exports.isTemplatePickerRequested = exports.isSimulationTraffic = exports.isShopifyHost = exports.isProductFamilyEntityType = exports.isOneTrustHost = exports.isNavigableUrl = exports.isMatchDebugEnabled = exports.isLegacyUrl = exports.isHtmlComment = exports.isHslTriplet = exports.isEntityLink = exports.installConsentProvider = exports.initConsentGate = exports.hslTripletToHex = exports.hslToRgb = exports.hostAliasFor = exports.hexToHslTriplet = exports.hasImage = exports.hasHostSuppliedConsent = exports.hasAnalyticsConsent = exports.getTemplateOverride = exports.getSessionId = exports.getResizedImageUrl = exports.getRefreshPromptsExpiry = exports.getPartsByType = exports.getPartByRole = exports.getOrCreateSessionId = exports.getLinks = exports.getIntentFromMarkdown = exports.getInstalledProviderName = exports.getImages = exports.getHeading = exports.getGateView = exports.getForwardStack = exports.getErrorTypeFromStatus = exports.getEntityExtractor = exports.getContextualImageFilename = exports.getConsentSnapshot = exports.getConsentOverride = exports.getConsentGateStats = exports.getClientBundleOverride = exports.getChatId = exports.getBackendEnvironment = exports.getAllByRole = exports.generateSectionId = exports.generateId = exports.formatProductPriceLabel = exports.formatPriceField = exports.formatMoney = exports.fixMalformedLinks = exports.findKeywordsInContent = exports.findInvalidWeb5Links = exports.findImageInNode = exports.findImageInChildren = exports.fetchProductsByHandlesMap = exports.fetchProductsByHandles = exports.fetchEntityListData = exports.extractProtocol = exports.extractLinkMetadata = exports.extractIntentFromMarkdown = exports.extractContentMarkdown = exports.extractContent = exports.escapeWeb5Links = exports.entityPayloadFromItems = exports.entityHref = exports.ensureMinLightness = exports.enrichEntitiesFromPayload = exports.enableRefreshPrompts = exports.disableRefreshPrompts = exports.detectLinkType = exports.detectConsentProvider = exports.deriveRole = exports.deriveLightColor = exports.deriveDarkGradient = exports.deriveDarkColor = exports.defaultExtractor = exports.decodeLinkText = exports.createWixAuthFetch = exports.createShopifyConsentProvider = exports.createSdkRegistry = exports.createPageSection = exports.createOneTrustConsentProvider = exports.createHostSuppliedConsentProvider = exports.createFeatureToggleReader = exports.createErrorMarkdown = exports.convertToBlockElementsWithMapping = exports.convertToBlockElements = exports.computeContentBBox = exports.cn = exports.clearForwardStack = exports.buildProbeUrl = exports.buildPlacementDependencies = exports.buildImageSearchFilter = exports.bucketOf = exports.backgroundFilter = exports.applyThemeOverrides = void 0;
|
|
6
|
+
exports.writeProductBackHandoff = exports.validatePatternWithBlocks = exports.validatePatternSyntax = exports.validatePattern = exports.validateLinkUrl = exports.usesStagingBackend = exports.useWeb5Link = exports.useUserQuery = exports.useResolvedImageSources = exports.useResolveShopifyEntityData = exports.useResolveSearchSpringEntityData = exports.useResolveGenericEntityData = exports.usePlacementPayload = exports.useMarkdownUtils = exports.useFeatureToggles = exports.useFeatureToggle = exports.useEntityTransforms = exports.useDebugImageContext = exports.useConversation = exports.useComponentDependencies = exports.useChips = exports.unlockOnUserAction = exports.tryParseComponent = exports.trimTrailingWhitespace = exports.transmit = exports.transformToSolutionEntityData = exports.transformToGenericEntityData = exports.transformToBlogPostEntityData = exports.transformShopifyProduct = exports.transformShopifyEntityToItemData = exports.transformShopifyCollection = exports.transformShopifyArticle = exports.transformSSProductToEntityItemData = exports.toRgb = exports.toMatchedOptions = exports.toCatalogPath = exports.subscribeToConsent = exports.stripMarkdown = exports.startNewChatId = exports.shouldRefreshPrompts = exports.setMatchDebug = exports.setForwardStack = exports.setConsentOverride = exports.setConsentBufferLimit = exports.setChatId = exports.setBackendEnvironment = exports.rgbToHsl = exports.resolveShopifyEntity = exports.resolveShopifyConfig = exports.resolveErrorTemplate = exports.resolveClientBundleUrl = exports.resetMatchDebugCache = exports.resetConsentGateForTests = exports.resetChatIdForTests = exports.registerEntityExtractor = exports.readProductBackHandoff = exports.readCurrencyCode = exports.pushToForwardStack = exports.pushPromptSubmit = exports.pushLinkClick = exports.pushExit = exports.pushEvent = exports.pushError = exports.pushEntityFiltered = exports.publishHostConsent = exports.preprocessMarkdown = exports.popFromForwardStack = exports.parseWeb5Url = exports.parseMarkdownToComponents = exports.parseMarkdownToAst = exports.parseEntityLink = exports.parseAstToMarkdown = exports.normalizeImageUrl = exports.normalizeIconUrls = exports.normalizeEntityItem = exports.nodesToParts = exports.mergeSectionsWithStableReferences = exports.mergeEntityData = exports.mergeClientConfig = exports.mayTransmit = exports.mayPersistIdentity = exports.matchMarkdown = exports.matchAllSections = exports.logMatchDebug = exports.loadImagePixels = exports.loadClientBundle = exports.loadBackdropAnalysis = exports.listEntityItems = exports.isWeb5Url = exports.isWeb5SearchUrl = exports.isWeb5ImageUrl = exports.isWeb5IconUrl = exports.isWeb5EntityUrl = exports.isWeb5AskUrl = exports.isWeb5ActionUrl = exports.isValidWeb5Url = exports.isValidTemplateId = void 0;
|
|
7
7
|
var _clients = require("./clients");
|
|
8
8
|
exports.CLIENT_IDS = _clients.CLIENT_IDS;
|
|
9
9
|
exports.EXPERIMENT_IDS = _clients.EXPERIMENT_IDS;
|
|
@@ -101,7 +101,9 @@ exports.useChips = _ChipsContext.useChips;
|
|
|
101
101
|
var _entity = require("./entity");
|
|
102
102
|
exports.defaultExtractor = _entity.defaultExtractor;
|
|
103
103
|
exports.enrichEntitiesFromPayload = _entity.enrichEntitiesFromPayload;
|
|
104
|
+
exports.entityHref = _entity.entityHref;
|
|
104
105
|
exports.normalizeEntityItem = _entity.normalizeEntityItem;
|
|
106
|
+
exports.toCatalogPath = _entity.toCatalogPath;
|
|
105
107
|
exports.entityPayloadFromItems = _entity.entityPayloadFromItems;
|
|
106
108
|
exports.mergeEntityData = _entity.mergeEntityData;
|
|
107
109
|
exports.fetchEntityListData = _entity.fetchEntityListData;
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clients","require","exports","CLIENT_IDS","EXPERIMENT_IDS","_FeatureToggleContext","createFeatureToggleReader","FeatureToggleProvider","useFeatureToggles","useFeatureToggle","_parts","getPartsByType","getPartByRole","getAllByRole","getHeading","getImages","getLinks","extractContent","extractContentMarkdown","deriveRole","_sectionDefinition","DROP_SECTION","_diagnosticTypes","DIAGNOSTIC_TYPES","_imageSearchFilterTypes","buildImageSearchFilter","_imageSearchFilters","ImageSearchFilterToken","backgroundFilter","_componentDefinitions","HeroSectionDefinition","HeroEntitySectionDefinition","KpiSectionDefinition","FeatureCardsSectionDefinition","EntitySectionDefinition","EntityCollectionSectionDefinition","ComparisonSectionDefinition","TextBlockSectionDefinition","CtaBannerSectionDefinition","CalloutSectionDefinition","NextStepsSectionDefinition","FeatureSection9PlusDefinition","ListItemsSectionDefinition","SkipNodesSectionDefinition","HtmlCommentSectionDefinition","SearchSectionDefinition","ErrorSectionDefinition","FallbackSectionDefinition","createSdkRegistry","_registry","ComponentRegistry","_patternValidator","validatePattern","validatePatternSyntax","validatePatternWithBlocks","_markdownBlocks","convertToBlockElements","convertToBlockElementsWithMapping","_linkTypes","Web5UrlType","isWeb5AskUrl","isWeb5EntityUrl","isWeb5ImageUrl","isWeb5IconUrl","isWeb5ActionUrl","isWeb5SearchUrl","isWeb5Url","isNavigableUrl","isValidLinkUrl","isLegacyUrl","_entityLinkParser","parseWeb5Url","isValidWeb5Url","validateLinkUrl","isEntityLink","parseEntityLink","extractProtocol","extractLinkMetadata","_web5LinkValidator","findInvalidWeb5Links","_nodeMatchers","hasImage","isHtmlComment","_match","matchMarkdown","matchAllSections","nodesToParts","_ComponentDependenciesContext","ComponentDependenciesProvider","useComponentDependencies","_UserQueryContext","UserQueryProvider","useUserQuery","_ChipsContext","ChipsProvider","useChips","_entity","defaultExtractor","enrichEntitiesFromPayload","normalizeEntityItem","entityPayloadFromItems","mergeEntityData","fetchEntityListData","listEntityItems","LIST_ITEMS_ENDPOINT","getEntityExtractor","registerEntityExtractor","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","toMatchedOptions","formatMoney","readCurrencyCode","formatPriceField","formatProductPriceLabel","isProductFamilyEntityType","_callout","CALLOUT_KINDS","CALLOUT_SEMANTICS","_useWeb5Link","useWeb5Link","_useConversation","useConversation","_useDebugImageContext","useDebugImageContext","_useResolvedImageSources","useResolvedImageSources","_useResolveGenericEntityData","useResolveGenericEntityData","_useEntityTransforms","useEntityTransforms","_useMarkdownUtils","useMarkdownUtils","_useResolveShopifyEntityData","useResolveShopifyEntityData","_useResolveSearchSpringEntityData","useResolveSearchSpringEntityData","_searchspring","fetchProductsByHandles","fetchProductsByHandlesMap","transformSSProductToEntityItemData","_cart","addToCart","_shopify","ShopifyStorefrontClient","resolveShopifyConfig","resolveShopifyEntity","transformShopifyProduct","transformShopifyCollection","transformShopifyArticle","transformShopifyEntityToItemData","PRODUCT_BY_HANDLE_QUERY","COLLECTION_BY_HANDLE_QUERY","ARTICLE_BY_HANDLE_QUERY","_utils","cn","_imageUtils","normalizeImageUrl","getResizedImageUrl","_imageBackdrop","analyzeBackdrop","computeContentBBox","buildProbeUrl","loadImagePixels","loadBackdropAnalysis","_parseUtils","stripMarkdown","_colorUtils","rgbToHsl","hslToRgb","ensureMinLightness","toRgb","deriveDarkColor","deriveDarkGradient","deriveLightColor","_analyticsEvents","pushEvent","pushPromptSubmit","pushLinkClick","pushError","pushExit","pushEntityFiltered","hasAnalyticsConsent","_privacy","UNKNOWN_CONSENT","HOST_CONSENT_GLOBAL","transmit","mayTransmit","unlockOnUserAction","isUserEngaged","mayPersistIdentity","getConsentSnapshot","getGateView","subscribeToConsent","installConsentProvider","getInstalledProviderName","setConsentBufferLimit","getConsentGateStats","resetConsentGateForTests","detectConsentProvider","initConsentGate","CONSENT_OVERRIDE_KEY","CONSENT_OVERRIDE_QUERY_PARAM","getConsentOverride","setConsentOverride","createShopifyConsentProvider","isShopifyHost","createOneTrustConsentProvider","isOneTrustHost","createHostSuppliedConsentProvider","hasHostSuppliedConsent","publishHostConsent","_errors","ERROR_MARKDOWN","getErrorTypeFromStatus","createErrorMarkdown","STREAMING_TIMEOUT_MS","DEFAULT_ERROR_TEMPLATES","resolveErrorTemplate","_navigationStack","getForwardStack","setForwardStack","clearForwardStack","pushToForwardStack","popFromForwardStack","_UserQuery","UserQuery","_productBackHandoff","PRODUCT_BACK_SESSION_KEY","writeProductBackHandoff","readProductBackHandoff","_PromptEntryEmptyState","PromptEntryEmptyState","_SearchSection","SearchSection","_FeedbackBar","FeedbackBar","_Disclaimer","Disclaimer","_BottomContainer","BottomContainer","_MarkdownText","MarkdownText","_CalloutBlock","CalloutBlock","_OptimizedImage","OptimizedImage","_SectionSkeleton","SectionSkeleton","_SmartIcon","SmartIcon","_Loader","Loader","_PlacementLoader","PlacementLoader","_UnifiedLink","UnifiedLink","detectLinkType","LinkType","_table","Table","TableHeader","TableBody","TableFooter","TableHead","TableRow","TableCell","TableCaption","_userQueryEvent","WEB5_USER_QUERY_EVENT","_answerUpdatedEvent","WEB5_ANSWER_UPDATED_EVENT","_answerSettledEvent","WEB5_ANSWER_SETTLED_EVENT","_redirectEvent","WEB5_REDIRECT_EVENT","_loadClientBundle","loadClientBundle","_clientBundleOverride","getClientBundleOverride","isTrustedBundleHost","_clientBundleUrl","TEMPLATES_CDN_BASE","TEMPLATES_MANIFEST_URL","getTemplateOverride","isTemplatePickerRequested","isValidTemplateId","resolveClientBundleUrl","_mergeClientConfig","mergeClientConfig","_applyThemeOverrides","applyThemeOverrides","THEME_OVERRIDE_TOKENS","_tokenContract","THEME_TOKEN_CONTRACT","BRAND_TOKENS","EDITABLE_TOKENS","TOKEN_NAME_PATTERN","bucketOf","hostAliasFor","_themeDebug","isThemeDebugEnabled","THEME_DEBUG_KEY","THEME_DEBUG_QUERY_PARAM","_colorFormat","hexToHslTriplet","hslTripletToHex","isHslTriplet","_PlacementResponseRenderer","PlacementResponseRenderer","PlacementSmoothHeight","_buildPlacementDependencies","buildPlacementDependencies","_PlacementPayloadContext","PlacementPayloadProvider","usePlacementPayload","_unifiedMarkdownParser","UnifiedMarkdownParser","parseMarkdownToAst","parseAstToMarkdown","_markdownPreprocessor","escapeWeb5Links","fixMalformedLinks","trimTrailingWhitespace","normalizeIconUrls","decodeLinkText","preprocessMarkdown","_componentTracking","ComponentTracking","_contentKeywordMatcher","findKeywordsInContent","getContextualImageFilename","_intentExtractor","extractIntentFromMarkdown","getIntentFromMarkdown","_propsExtractor","createPageSection","generateSectionId","generateId","findImageInNode","findImageInChildren","_diagnosticsCollector","DiagnosticsCollector","_refreshPrompts","REFRESH_PROMPTS_UNTIL_KEY","REFRESH_PROMPTS_WINDOW_MS","getRefreshPromptsExpiry","shouldRefreshPrompts","enableRefreshPrompts","disableRefreshPrompts","_backendEnvironment","BACKEND_ENVIRONMENT_KEY","BACKEND_ENVIRONMENT_QUERY_PARAM","DEFAULT_BACKEND_ENVIRONMENT","getBackendEnvironment","setBackendEnvironment","usesStagingBackend","_simulation","isSimulationTraffic","_matchDebug","MATCH_DEBUG_KEY","MATCH_DEBUG_QUERY_PARAM","isMatchDebugEnabled","setMatchDebug","resetMatchDebugCache","logMatchDebug","_wixAuthFetch","createWixAuthFetch","_sessionManager","getOrCreateSessionId","getSessionId","getChatId","startNewChatId","setChatId","resetChatIdForTests","_componentParser","parseMarkdownToComponents","tryParseComponent","mergeSectionsWithStableReferences","_hostScope","WEB5_ROOT_ID","WEB5_ROOT_CLASS","WEB5_SCOPES","WEB5_SCOPE","WEB5_GLOBAL_TOKENS"],"sources":["../../src/index.ts"],"sourcesContent":["// Client IDs and experiment IDs\nexport { CLIENT_IDS, EXPERIMENT_IDS } from './clients';\n\nexport {\n type EmbedFeatureToggleResult,\n type FeatureToggleReader,\n createFeatureToggleReader,\n FeatureToggleProvider,\n useFeatureToggles,\n useFeatureToggle,\n} from './featureToggles/FeatureToggleContext';\n\n// Dev-only chrome injection contract for client packages\nexport type { DevEnvironment } from './client/devEnvironment';\n\n// Part types and helpers\nexport {\n type PartType,\n type Part,\n type HeadingPart,\n type ImagePart,\n type LinkPart,\n type ListPart,\n type ListItemPart,\n type KpiItemPart,\n type CardPart,\n type IconPart,\n type CalloutPart,\n type EntityPart,\n getPartsByType,\n getPartByRole,\n getAllByRole,\n getHeading,\n getImages,\n getLinks,\n extractContent,\n extractContentMarkdown,\n deriveRole,\n} from './parts/parts';\n\n// Component types\nexport type {\n BaseCompProps,\n SlotCompProps,\n SectionCompProps,\n SectionCompPropsWithSlot,\n TextCompProps,\n ButtonCompProps,\n ImageCompProps,\n BadgeCompProps,\n HeroButton,\n KpiItemCompProps,\n FeatureItemCompProps,\n FeatureCardCompProps,\n EntityItemData,\n EntityItem,\n GenericEntityData,\n GenericEntityCompProps,\n ComparisonRow,\n ComparisonColumn,\n AiNarrativeCompProps,\n HeroCompProps,\n HeroEntityCompProps,\n KpiCompProps,\n FeatureCardsCompProps,\n EntityCompProps,\n ComparisonCompProps,\n TextBlockCompProps,\n Component,\n BaseComponent,\n SlotComponent,\n SectionComponent,\n TextComponent,\n ButtonComponent,\n ImageComponent,\n BadgeComponent,\n KpiItemComponent,\n FeatureItemComponent,\n FeatureCardComponent,\n GenericEntityComponent,\n AiNarrativeComponent,\n ComparisonSectionComponent,\n TextBlockSectionComponent,\n HeroSectionComponent,\n HeroEntitySectionComponent,\n KpiSectionComponent,\n FeatureCardsSectionComponent,\n EntitySectionComponent,\n PropsOf,\n SectionFixture,\n CtaBannerCompProps,\n CtaBannerSectionComponent,\n CalloutCompProps,\n CalloutSectionComponent,\n NextStepsCompProps,\n NextStepsSectionComponent,\n FeatureSection9PlusCompProps,\n FeatureSection9PlusSectionComponent,\n ListItemsSectionCompProps,\n ListItemsSectionComponent,\n ErrorCompProps,\n ErrorSectionComponent,\n NullCompProps,\n NullSectionComponent,\n SolutionEntityCompProps,\n SolutionEntitySectionComponent,\n SolutionEntityData,\n BlogEntityCompProps,\n BlogEntitySectionComponent,\n BlogEntityData,\n GeneralTextCompProps,\n GeneralTextSectionComponent,\n PersonalizedNarrativeCompProps,\n PersonalizedNarrativeSectionComponent,\n} from './component/types';\n\n// Section definition\nexport type {\n SectionDefinition,\n ParseContext,\n ContextualImageResult,\n DropSection,\n} from './component/section-definition';\nexport { DROP_SECTION } from './component/section-definition';\n\n// Diagnostic types\nexport { DIAGNOSTIC_TYPES } from './component/diagnosticTypes';\nexport type { DiagnosticType } from './component/diagnosticTypes';\n\n// Image search filters\nexport {\n buildImageSearchFilter,\n type ImageSearchFilterString,\n} from './image/imageSearchFilterTypes';\nexport {\n ImageSearchFilterToken,\n backgroundFilter,\n} from './image/imageSearchFilters';\nexport type {\n ContextualImageAsset,\n ImageSourceInput,\n ResolvedImageSource,\n ResolvedImageSourceKind,\n} from './image/contextualImageTypes';\n\n// Section definition classes + createSdkRegistry\nexport {\n HeroSectionDefinition,\n HeroEntitySectionDefinition,\n KpiSectionDefinition,\n FeatureCardsSectionDefinition,\n EntitySectionDefinition,\n EntityCollectionSectionDefinition,\n ComparisonSectionDefinition,\n TextBlockSectionDefinition,\n CtaBannerSectionDefinition,\n CalloutSectionDefinition,\n NextStepsSectionDefinition,\n FeatureSection9PlusDefinition,\n ListItemsSectionDefinition,\n SkipNodesSectionDefinition,\n HtmlCommentSectionDefinition,\n SearchSectionDefinition,\n ErrorSectionDefinition,\n FallbackSectionDefinition,\n createSdkRegistry,\n} from './component/componentDefinitions';\n\n// Registry\nexport { ComponentRegistry } from './registry';\nexport type {\n SlotOptions,\n SectionOptions,\n SectionRegistration,\n SlotNode,\n SlotIntentNode,\n SectionIntentNode,\n SectionNode,\n SlotVariant,\n SectionVariant,\n RegistryCatalog,\n ActionResult,\n ActionHandler,\n} from './registry';\n\n// Pattern validator\nexport {\n validatePattern,\n validatePatternSyntax,\n validatePatternWithBlocks,\n type PatternValidationResult,\n type BlockElement,\n type EnrichedBlockElement,\n type LinkMetadata,\n type LinkAttribute,\n} from './patternValidator';\n\n// Markdown blocks\nexport {\n convertToBlockElements,\n convertToBlockElementsWithMapping,\n type BlockElementsWithMapping,\n} from './markdownBlocks';\n\n// Link types, enum & guards\nexport {\n Web5UrlType,\n type Web5AskUrl,\n type Web5EntityUrl,\n type Web5ImageUrl,\n type Web5IconUrl,\n type Web5ActionUrl,\n type Web5SearchUrl,\n type Web5Url,\n type HttpsUrl,\n type HttpUrl,\n type MailtoUrl,\n type RelativeUrl,\n type NavigableUrl,\n type ValidLinkUrl,\n type AnyKnownUrl,\n type LegacyUrl,\n isWeb5AskUrl,\n isWeb5EntityUrl,\n isWeb5ImageUrl,\n isWeb5IconUrl,\n isWeb5ActionUrl,\n isWeb5SearchUrl,\n isWeb5Url,\n isNavigableUrl,\n isValidLinkUrl,\n isLegacyUrl,\n} from './types/link-types';\n\n// Entity/URL parsing\nexport {\n parseWeb5Url,\n isValidWeb5Url,\n validateLinkUrl,\n type Web5UrlParsed,\n type Web5AskParsed,\n type Web5EntityParsed,\n type Web5ImageParsed,\n type Web5IconParsed,\n type Web5ActionParsed,\n type Web5SearchParsed,\n isEntityLink,\n parseEntityLink,\n extractProtocol,\n extractLinkMetadata,\n} from './utils/entityLinkParser';\n\n// Web5 link validation\nexport {\n findInvalidWeb5Links,\n type InvalidWeb5Link,\n} from './utils/web5LinkValidator';\n\n// Node matchers\nexport { hasImage, isHtmlComment } from './utils/nodeMatchers';\n\n// Match API\nexport {\n matchMarkdown,\n type MarkdownMatchResult,\n matchAllSections,\n type MatchAllSectionsResult,\n nodesToParts,\n} from './match';\n\n// ---------------------------------------------------------------------------\n// DI Infrastructure (moved from @wix/w5-client-circana)\n// ---------------------------------------------------------------------------\n\n// DI context and provider\nexport {\n ComponentDependenciesProvider,\n useComponentDependencies,\n type ComponentDependenciesProviderProps,\n} from './context/ComponentDependenciesContext';\n\n// Raw user query for the current response page\nexport {\n UserQueryProvider,\n useUserQuery,\n type UserQueryProviderProps,\n} from './context/UserQueryContext';\n\n// Chips context (suggestion chips shared between SearchSection and error states)\nexport {\n ChipsProvider,\n useChips,\n type SuggestionChip,\n} from './context/ChipsContext';\n\n// DI types\nexport type {\n ComponentDependencies,\n Web5LinkApi,\n ConversationApi,\n SendMessageTrackingOptions,\n SendMessageOptions,\n ComparisonSubmitPayload,\n ComparisonSelectedProduct,\n ProductComparisonSelectionState,\n ProductComparisonApi,\n EntityTransforms,\n MarkdownUtils,\n ResolveGenericEntityDataOptions,\n} from './types/dependencies';\nexport type {\n ApiPayloadItem,\n EntityTypeConfig,\n EntityConfig,\n EntityExtractionContext,\n} from './types/entity';\nexport {\n defaultExtractor,\n enrichEntitiesFromPayload,\n normalizeEntityItem,\n entityPayloadFromItems,\n mergeEntityData,\n fetchEntityListData,\n listEntityItems,\n LIST_ITEMS_ENDPOINT,\n getEntityExtractor,\n registerEntityExtractor,\n transformToSolutionEntityData,\n transformToBlogPostEntityData,\n transformToGenericEntityData,\n toMatchedOptions,\n formatMoney,\n readCurrencyCode,\n formatPriceField,\n formatProductPriceLabel,\n isProductFamilyEntityType,\n} from './entity';\nexport type {\n EntityExtractor,\n FetchEntityListDataOptions,\n ListEntityItemsOptions,\n MatchedOption,\n ProductPriceFields,\n} from './entity';\nexport {\n CALLOUT_KINDS,\n CALLOUT_SEMANTICS,\n type CalloutKind,\n type CalloutSemantic,\n type Callout,\n} from './types/callout';\n\n// Wrapper hooks\nexport { useWeb5Link } from './hooks/useWeb5Link';\nexport { useConversation } from './hooks/useConversation';\nexport { useDebugImageContext } from './hooks/useDebugImageContext';\nexport { useResolvedImageSources } from './hooks/useResolvedImageSources';\nexport { useResolveGenericEntityData } from './hooks/useResolveGenericEntityData';\nexport { useEntityTransforms } from './hooks/useEntityTransforms';\nexport { useMarkdownUtils } from './hooks/useMarkdownUtils';\nexport { useResolveShopifyEntityData } from './hooks/useResolveShopifyEntityData';\nexport { useResolveSearchSpringEntityData } from './hooks/useResolveSearchSpringEntityData';\n\n// SearchSpring\nexport {\n fetchProductsByHandles,\n fetchProductsByHandlesMap,\n transformSSProductToEntityItemData,\n} from './services/searchspring';\nexport type {\n SearchSpringConfig,\n SSProduct,\n SSSearchResponse,\n SSSizeData,\n} from './services/searchspring';\n\n// Shopify Storefront API\n// Cart actions\nexport { addToCart } from './services/cart';\n\nexport {\n ShopifyStorefrontClient,\n resolveShopifyConfig,\n resolveShopifyEntity,\n transformShopifyProduct,\n transformShopifyCollection,\n transformShopifyArticle,\n transformShopifyEntityToItemData,\n PRODUCT_BY_HANDLE_QUERY,\n COLLECTION_BY_HANDLE_QUERY,\n ARTICLE_BY_HANDLE_QUERY,\n} from './services/shopify';\nexport type {\n ShopifyStorefrontConfig,\n ShopifyProduct,\n ShopifyCollection,\n ShopifyArticle,\n ShopifyImage,\n ShopifyMoneyV2,\n} from './services/shopify';\n\n// Utilities\nexport { cn } from './lib/utils';\nexport { normalizeImageUrl, getResizedImageUrl } from './utils/image-utils';\nexport {\n analyzeBackdrop,\n computeContentBBox,\n buildProbeUrl,\n loadImagePixels,\n loadBackdropAnalysis,\n type BackdropAnalysis,\n type ContentBBox,\n type ImagePixels,\n} from './utils/imageBackdrop';\nexport { stripMarkdown } from './component/componentDefinitions/parse-utils';\n\n// Color utilities\nexport {\n type RGB,\n rgbToHsl,\n hslToRgb,\n ensureMinLightness,\n toRgb,\n deriveDarkColor,\n deriveDarkGradient,\n deriveLightColor,\n} from './color/colorUtils';\n\n// Analytics\nexport {\n pushEvent,\n pushPromptSubmit,\n pushLinkClick,\n pushError,\n pushExit,\n pushEntityFiltered,\n hasAnalyticsConsent,\n type EntityFilteredReason,\n} from './utils/analyticsEvents';\n\n// Consent gate (DL #218)\nexport {\n type ConsentState,\n type ConsentPurpose,\n type GatedPurpose,\n type ConsentSnapshot,\n type ConsentProvider,\n type GateView,\n type HostConsentInput,\n UNKNOWN_CONSENT,\n HOST_CONSENT_GLOBAL,\n transmit,\n mayTransmit,\n unlockOnUserAction,\n isUserEngaged,\n mayPersistIdentity,\n getConsentSnapshot,\n getGateView,\n subscribeToConsent,\n installConsentProvider,\n getInstalledProviderName,\n setConsentBufferLimit,\n getConsentGateStats,\n resetConsentGateForTests,\n detectConsentProvider,\n initConsentGate,\n CONSENT_OVERRIDE_KEY,\n CONSENT_OVERRIDE_QUERY_PARAM,\n getConsentOverride,\n setConsentOverride,\n createShopifyConsentProvider,\n isShopifyHost,\n createOneTrustConsentProvider,\n isOneTrustHost,\n createHostSuppliedConsentProvider,\n hasHostSuppliedConsent,\n publishHostConsent,\n} from './privacy';\n\n// Error handling types and utilities\nexport {\n type ConversationErrorType,\n ERROR_MARKDOWN,\n getErrorTypeFromStatus,\n createErrorMarkdown,\n STREAMING_TIMEOUT_MS,\n type ErrorActionType,\n type ErrorIconType,\n type ErrorTemplateButton,\n type ErrorTemplate,\n type ErrorTemplateOverrides,\n DEFAULT_ERROR_TEMPLATES,\n resolveErrorTemplate,\n} from './errors';\n\n// Navigation utilities\nexport {\n getForwardStack,\n setForwardStack,\n clearForwardStack,\n pushToForwardStack,\n popFromForwardStack,\n} from './utils/navigationStack';\n\n// UI components\nexport {\n UserQuery,\n type UserQueryProps,\n type ProductBackContext,\n} from './components/ui/UserQuery';\nexport {\n PRODUCT_BACK_SESSION_KEY,\n writeProductBackHandoff,\n readProductBackHandoff,\n type ProductBackHandoff,\n} from './utils/productBackHandoff';\nexport {\n PromptEntryEmptyState,\n type PromptEntryEmptyStateProps,\n} from './components/ui/PromptEntryEmptyState';\nexport {\n SearchSection,\n type SearchSectionProps,\n type SearchSectionHandle,\n type ScrollChip,\n} from './components/ui/SearchSection';\nexport {\n FeedbackBar,\n type FeedbackBarProps,\n type FeedbackCategoryOption,\n type FeedbackSentiment,\n type FeedbackSubmitInput,\n} from './components/ui/FeedbackBar';\nexport { Disclaimer, type DisclaimerProps } from './components/ui/Disclaimer';\nexport {\n BottomContainer,\n type BottomContainerProps,\n} from './components/ui/BottomContainer';\nexport { MarkdownText } from './components/ui/MarkdownText';\nexport {\n CalloutBlock,\n type CalloutBlockProps,\n} from './components/ui/CalloutBlock';\nexport {\n OptimizedImage,\n type OptimizedImageProps,\n} from './components/ui/OptimizedImage';\nexport {\n SectionSkeleton,\n type SectionSkeletonProps,\n} from './components/ui/SectionSkeleton';\nexport { SmartIcon, type SmartIconProps } from './components/ui/SmartIcon';\nexport { Loader, type LoaderProps } from './components/ui/Loader';\nexport {\n PlacementLoader,\n type PlacementLoaderProps,\n} from './components/ui/PlacementLoader';\nexport {\n UnifiedLink,\n detectLinkType,\n type UnifiedLinkProps,\n LinkType,\n type LinkVariant,\n} from './components/ui/UnifiedLink';\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n} from './components/ui/table';\n\n// Placement (DL #088, DL #102 behavior declarations)\nexport type {\n PlacementBehaviorConfig,\n PlacementConfig,\n PlacementPrompts,\n} from './types/placement';\n\n// Cross-bundle user-query broadcast event (DL #097 D2)\nexport {\n WEB5_USER_QUERY_EVENT,\n type Web5UserQueryEventDetail,\n type Web5UserQueryEvent,\n} from './types/userQueryEvent';\n\n// Cross-bundle answer-updated broadcast event (B2B-4121)\nexport {\n WEB5_ANSWER_UPDATED_EVENT,\n type Web5AnswerUpdatedEventDetail,\n type Web5AnswerUpdatedEvent,\n} from './types/answerUpdatedEvent';\nexport {\n WEB5_ANSWER_SETTLED_EVENT,\n type Web5AnswerSettledStatus,\n type Web5AnswerSettledEventDetail,\n type Web5AnswerSettledEvent,\n} from './types/answerSettledEvent';\n\n// Cross-bundle redirect broadcast event (DL #098 D3)\nexport {\n WEB5_REDIRECT_EVENT,\n type Web5RedirectEventDetail,\n type Web5RedirectEvent,\n type Web5RedirectReason,\n} from './types/redirectEvent';\n// `placementFilter` was removed — hero/next-steps exclusion is the prompt's job\n// and placement-specific designs belong as `{ placement: true }` registry\n// variants (resolved automatically via `resolveSection(type, { placement: true })`).\n\n// Client bundle loader (DL #088 D3.3)\nexport { loadClientBundle } from './client/loadClientBundle';\n\n// `?clientBundleUrl=` dev override — shared by `web50-server-ui` and\n// `embed-placement` so the trusted-host gate can't drift between them.\nexport {\n getClientBundleOverride,\n isTrustedBundleHost,\n} from './client/clientBundleOverride';\n\n// Client-UMD URL resolution (DL #094 per-msid, DL #129 per-template) and the\n// universal bundle←backend config merge (DL #129 Q3/Q7) — shared by\n// `web50-server-ui` and `embed-placement`, the two client-bundle load sites.\nexport {\n TEMPLATES_CDN_BASE,\n TEMPLATES_MANIFEST_URL,\n getTemplateOverride,\n isTemplatePickerRequested,\n isValidTemplateId,\n resolveClientBundleUrl,\n} from './client/clientBundleUrl';\nexport {\n mergeClientConfig,\n type DeepPartial,\n} from './client/mergeClientConfig';\nexport {\n applyThemeOverrides,\n THEME_OVERRIDE_TOKENS,\n type ThemeOverrideKey,\n type ThemeOverrides,\n} from './client/applyThemeOverrides';\nexport {\n THEME_TOKEN_CONTRACT,\n BRAND_TOKENS,\n EDITABLE_TOKENS,\n TOKEN_NAME_PATTERN,\n bucketOf,\n hostAliasFor,\n type TokenBucket,\n type TokenContractEntry,\n type TokenType,\n} from './theme/tokenContract';\nexport {\n isThemeDebugEnabled,\n THEME_DEBUG_KEY,\n THEME_DEBUG_QUERY_PARAM,\n type AppliedToken,\n type ThemeOverrideSource,\n} from './client/themeDebug';\nexport {\n hexToHslTriplet,\n hslTripletToHex,\n isHslTriplet,\n} from './theme/colorFormat';\n\n// Placement renderer + DI helper (DL #088 D3.2, D3.4)\nexport {\n PlacementResponseRenderer,\n PlacementSmoothHeight,\n type PlacementResponseRendererProps,\n type PlacementSection,\n type PlacementVariant,\n} from './components/placement/PlacementResponseRenderer';\nexport {\n buildPlacementDependencies,\n type BuildPlacementDependenciesOptions,\n} from './components/placement/buildPlacementDependencies';\nexport {\n PlacementPayloadProvider,\n usePlacementPayload,\n type PlacementPayloadContextValue,\n} from './components/placement/PlacementPayloadContext';\n\n// Markdown parsing utilities — lifted from web50-server-ui (DL #088 B9.1)\nexport {\n UnifiedMarkdownParser,\n parseMarkdownToAst,\n parseAstToMarkdown,\n} from './utils/unifiedMarkdownParser';\nexport {\n escapeWeb5Links,\n fixMalformedLinks,\n trimTrailingWhitespace,\n normalizeIconUrls,\n decodeLinkText,\n preprocessMarkdown,\n type PreprocessorDiagnostic,\n type PreprocessResult,\n} from './utils/markdownPreprocessor';\nexport {\n ComponentTracking,\n type ComponentNodeRange,\n} from './utils/componentTracking';\nexport {\n findKeywordsInContent,\n getContextualImageFilename,\n} from './utils/contentKeywordMatcher';\nexport {\n extractIntentFromMarkdown,\n getIntentFromMarkdown,\n type IntentInfo,\n type IntentExtractionOptions,\n type ResponseState,\n} from './utils/intentExtractor';\nexport type { PageSection } from './types/page-section';\nexport {\n createPageSection,\n generateSectionId,\n generateId,\n findImageInNode,\n findImageInChildren,\n type Product,\n type ComparisonProduct,\n type ProductComparisonSectionProps,\n} from './utils/propsExtractor';\nexport {\n DiagnosticsCollector,\n type DiagnosticEntry,\n} from './utils/diagnosticsCollector';\nexport {\n REFRESH_PROMPTS_UNTIL_KEY,\n REFRESH_PROMPTS_WINDOW_MS,\n getRefreshPromptsExpiry,\n shouldRefreshPrompts,\n enableRefreshPrompts,\n disableRefreshPrompts,\n} from './utils/refreshPrompts';\nexport {\n type BackendEnvironment,\n BACKEND_ENVIRONMENT_KEY,\n BACKEND_ENVIRONMENT_QUERY_PARAM,\n DEFAULT_BACKEND_ENVIRONMENT,\n getBackendEnvironment,\n setBackendEnvironment,\n usesStagingBackend,\n} from './utils/backendEnvironment';\nexport { isSimulationTraffic } from './utils/simulation';\nexport {\n MATCH_DEBUG_KEY,\n MATCH_DEBUG_QUERY_PARAM,\n isMatchDebugEnabled,\n setMatchDebug,\n resetMatchDebugCache,\n logMatchDebug,\n} from './utils/matchDebug';\nexport { createWixAuthFetch } from './client/wixAuthFetch';\nexport {\n getOrCreateSessionId,\n getSessionId,\n getChatId,\n startNewChatId,\n setChatId,\n resetChatIdForTests,\n} from './utils/sessionManager';\n\n// Component parser orchestrator — lifted from web50-server-ui (DL #088 B9.5)\nexport {\n parseMarkdownToComponents,\n tryParseComponent,\n mergeSectionsWithStableReferences,\n type ParseMarkdownOptions,\n type ParseMarkdownResult,\n type ComponentMatch,\n type ParserContext,\n} from './component/componentParser';\nexport type {\n ParserClientConfig,\n EnrichEntityProps,\n} from './component/parser-types';\n\n// Host-mount scope contract — shared by web50-server-ui (which stamps the\n// class and mounts), embed-placement (which mounts the same bundle elsewhere),\n// and the client CDN build (which compiles every selector against it).\nexport {\n WEB5_ROOT_ID,\n WEB5_ROOT_CLASS,\n WEB5_SCOPES,\n WEB5_SCOPE,\n WEB5_GLOBAL_TOKENS,\n type HostFitConfig,\n} from './hostScope';\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAAuDC,OAAA,CAAAC,UAAA,GAAAH,QAAA,CAAAG,UAAA;AAAAD,OAAA,CAAAE,cAAA,GAAAJ,QAAA,CAAAI,cAAA;AAEvD,IAAAC,qBAAA,GAAAJ,OAAA;AAO+CC,OAAA,CAAAI,yBAAA,GAAAD,qBAAA,CAAAC,yBAAA;AAAAJ,OAAA,CAAAK,qBAAA,GAAAF,qBAAA,CAAAE,qBAAA;AAAAL,OAAA,CAAAM,iBAAA,GAAAH,qBAAA,CAAAG,iBAAA;AAAAN,OAAA,CAAAO,gBAAA,GAAAJ,qBAAA,CAAAI,gBAAA;AAM/C,IAAAC,MAAA,GAAAT,OAAA;AAsBuBC,OAAA,CAAAS,cAAA,GAAAD,MAAA,CAAAC,cAAA;AAAAT,OAAA,CAAAU,aAAA,GAAAF,MAAA,CAAAE,aAAA;AAAAV,OAAA,CAAAW,YAAA,GAAAH,MAAA,CAAAG,YAAA;AAAAX,OAAA,CAAAY,UAAA,GAAAJ,MAAA,CAAAI,UAAA;AAAAZ,OAAA,CAAAa,SAAA,GAAAL,MAAA,CAAAK,SAAA;AAAAb,OAAA,CAAAc,QAAA,GAAAN,MAAA,CAAAM,QAAA;AAAAd,OAAA,CAAAe,cAAA,GAAAP,MAAA,CAAAO,cAAA;AAAAf,OAAA,CAAAgB,sBAAA,GAAAR,MAAA,CAAAQ,sBAAA;AAAAhB,OAAA,CAAAiB,UAAA,GAAAT,MAAA,CAAAS,UAAA;AAqFvB,IAAAC,kBAAA,GAAAnB,OAAA;AAA8DC,OAAA,CAAAmB,YAAA,GAAAD,kBAAA,CAAAC,YAAA;AAG9D,IAAAC,gBAAA,GAAArB,OAAA;AAA+DC,OAAA,CAAAqB,gBAAA,GAAAD,gBAAA,CAAAC,gBAAA;AAI/D,IAAAC,uBAAA,GAAAvB,OAAA;AAGwCC,OAAA,CAAAuB,sBAAA,GAAAD,uBAAA,CAAAC,sBAAA;AACxC,IAAAC,mBAAA,GAAAzB,OAAA;AAGoCC,OAAA,CAAAyB,sBAAA,GAAAD,mBAAA,CAAAC,sBAAA;AAAAzB,OAAA,CAAA0B,gBAAA,GAAAF,mBAAA,CAAAE,gBAAA;AASpC,IAAAC,qBAAA,GAAA5B,OAAA;AAoB0CC,OAAA,CAAA4B,qBAAA,GAAAD,qBAAA,CAAAC,qBAAA;AAAA5B,OAAA,CAAA6B,2BAAA,GAAAF,qBAAA,CAAAE,2BAAA;AAAA7B,OAAA,CAAA8B,oBAAA,GAAAH,qBAAA,CAAAG,oBAAA;AAAA9B,OAAA,CAAA+B,6BAAA,GAAAJ,qBAAA,CAAAI,6BAAA;AAAA/B,OAAA,CAAAgC,uBAAA,GAAAL,qBAAA,CAAAK,uBAAA;AAAAhC,OAAA,CAAAiC,iCAAA,GAAAN,qBAAA,CAAAM,iCAAA;AAAAjC,OAAA,CAAAkC,2BAAA,GAAAP,qBAAA,CAAAO,2BAAA;AAAAlC,OAAA,CAAAmC,0BAAA,GAAAR,qBAAA,CAAAQ,0BAAA;AAAAnC,OAAA,CAAAoC,0BAAA,GAAAT,qBAAA,CAAAS,0BAAA;AAAApC,OAAA,CAAAqC,wBAAA,GAAAV,qBAAA,CAAAU,wBAAA;AAAArC,OAAA,CAAAsC,0BAAA,GAAAX,qBAAA,CAAAW,0BAAA;AAAAtC,OAAA,CAAAuC,6BAAA,GAAAZ,qBAAA,CAAAY,6BAAA;AAAAvC,OAAA,CAAAwC,0BAAA,GAAAb,qBAAA,CAAAa,0BAAA;AAAAxC,OAAA,CAAAyC,0BAAA,GAAAd,qBAAA,CAAAc,0BAAA;AAAAzC,OAAA,CAAA0C,4BAAA,GAAAf,qBAAA,CAAAe,4BAAA;AAAA1C,OAAA,CAAA2C,uBAAA,GAAAhB,qBAAA,CAAAgB,uBAAA;AAAA3C,OAAA,CAAA4C,sBAAA,GAAAjB,qBAAA,CAAAiB,sBAAA;AAAA5C,OAAA,CAAA6C,yBAAA,GAAAlB,qBAAA,CAAAkB,yBAAA;AAAA7C,OAAA,CAAA8C,iBAAA,GAAAnB,qBAAA,CAAAmB,iBAAA;AAG1C,IAAAC,SAAA,GAAAhD,OAAA;AAA+CC,OAAA,CAAAgD,iBAAA,GAAAD,SAAA,CAAAC,iBAAA;AAiB/C,IAAAC,iBAAA,GAAAlD,OAAA;AAS4BC,OAAA,CAAAkD,eAAA,GAAAD,iBAAA,CAAAC,eAAA;AAAAlD,OAAA,CAAAmD,qBAAA,GAAAF,iBAAA,CAAAE,qBAAA;AAAAnD,OAAA,CAAAoD,yBAAA,GAAAH,iBAAA,CAAAG,yBAAA;AAG5B,IAAAC,eAAA,GAAAtD,OAAA;AAI0BC,OAAA,CAAAsD,sBAAA,GAAAD,eAAA,CAAAC,sBAAA;AAAAtD,OAAA,CAAAuD,iCAAA,GAAAF,eAAA,CAAAE,iCAAA;AAG1B,IAAAC,UAAA,GAAAzD,OAAA;AA2B4BC,OAAA,CAAAyD,WAAA,GAAAD,UAAA,CAAAC,WAAA;AAAAzD,OAAA,CAAA0D,YAAA,GAAAF,UAAA,CAAAE,YAAA;AAAA1D,OAAA,CAAA2D,eAAA,GAAAH,UAAA,CAAAG,eAAA;AAAA3D,OAAA,CAAA4D,cAAA,GAAAJ,UAAA,CAAAI,cAAA;AAAA5D,OAAA,CAAA6D,aAAA,GAAAL,UAAA,CAAAK,aAAA;AAAA7D,OAAA,CAAA8D,eAAA,GAAAN,UAAA,CAAAM,eAAA;AAAA9D,OAAA,CAAA+D,eAAA,GAAAP,UAAA,CAAAO,eAAA;AAAA/D,OAAA,CAAAgE,SAAA,GAAAR,UAAA,CAAAQ,SAAA;AAAAhE,OAAA,CAAAiE,cAAA,GAAAT,UAAA,CAAAS,cAAA;AAAAjE,OAAA,CAAAkE,cAAA,GAAAV,UAAA,CAAAU,cAAA;AAAAlE,OAAA,CAAAmE,WAAA,GAAAX,UAAA,CAAAW,WAAA;AAG5B,IAAAC,iBAAA,GAAArE,OAAA;AAekCC,OAAA,CAAAqE,YAAA,GAAAD,iBAAA,CAAAC,YAAA;AAAArE,OAAA,CAAAsE,cAAA,GAAAF,iBAAA,CAAAE,cAAA;AAAAtE,OAAA,CAAAuE,eAAA,GAAAH,iBAAA,CAAAG,eAAA;AAAAvE,OAAA,CAAAwE,YAAA,GAAAJ,iBAAA,CAAAI,YAAA;AAAAxE,OAAA,CAAAyE,eAAA,GAAAL,iBAAA,CAAAK,eAAA;AAAAzE,OAAA,CAAA0E,eAAA,GAAAN,iBAAA,CAAAM,eAAA;AAAA1E,OAAA,CAAA2E,mBAAA,GAAAP,iBAAA,CAAAO,mBAAA;AAGlC,IAAAC,kBAAA,GAAA7E,OAAA;AAGmCC,OAAA,CAAA6E,oBAAA,GAAAD,kBAAA,CAAAC,oBAAA;AAGnC,IAAAC,aAAA,GAAA/E,OAAA;AAA+DC,OAAA,CAAA+E,QAAA,GAAAD,aAAA,CAAAC,QAAA;AAAA/E,OAAA,CAAAgF,aAAA,GAAAF,aAAA,CAAAE,aAAA;AAG/D,IAAAC,MAAA,GAAAlF,OAAA;AAMiBC,OAAA,CAAAkF,aAAA,GAAAD,MAAA,CAAAC,aAAA;AAAAlF,OAAA,CAAAmF,gBAAA,GAAAF,MAAA,CAAAE,gBAAA;AAAAnF,OAAA,CAAAoF,YAAA,GAAAH,MAAA,CAAAG,YAAA;AAOjB,IAAAC,6BAAA,GAAAtF,OAAA;AAIgDC,OAAA,CAAAsF,6BAAA,GAAAD,6BAAA,CAAAC,6BAAA;AAAAtF,OAAA,CAAAuF,wBAAA,GAAAF,6BAAA,CAAAE,wBAAA;AAGhD,IAAAC,iBAAA,GAAAzF,OAAA;AAIoCC,OAAA,CAAAyF,iBAAA,GAAAD,iBAAA,CAAAC,iBAAA;AAAAzF,OAAA,CAAA0F,YAAA,GAAAF,iBAAA,CAAAE,YAAA;AAGpC,IAAAC,aAAA,GAAA5F,OAAA;AAIgCC,OAAA,CAAA4F,aAAA,GAAAD,aAAA,CAAAC,aAAA;AAAA5F,OAAA,CAAA6F,QAAA,GAAAF,aAAA,CAAAE,QAAA;AAuBhC,IAAAC,OAAA,GAAA/F,OAAA;AAoBkBC,OAAA,CAAA+F,gBAAA,GAAAD,OAAA,CAAAC,gBAAA;AAAA/F,OAAA,CAAAgG,yBAAA,GAAAF,OAAA,CAAAE,yBAAA;AAAAhG,OAAA,CAAAiG,mBAAA,GAAAH,OAAA,CAAAG,mBAAA;AAAAjG,OAAA,CAAAkG,sBAAA,GAAAJ,OAAA,CAAAI,sBAAA;AAAAlG,OAAA,CAAAmG,eAAA,GAAAL,OAAA,CAAAK,eAAA;AAAAnG,OAAA,CAAAoG,mBAAA,GAAAN,OAAA,CAAAM,mBAAA;AAAApG,OAAA,CAAAqG,eAAA,GAAAP,OAAA,CAAAO,eAAA;AAAArG,OAAA,CAAAsG,mBAAA,GAAAR,OAAA,CAAAQ,mBAAA;AAAAtG,OAAA,CAAAuG,kBAAA,GAAAT,OAAA,CAAAS,kBAAA;AAAAvG,OAAA,CAAAwG,uBAAA,GAAAV,OAAA,CAAAU,uBAAA;AAAAxG,OAAA,CAAAyG,6BAAA,GAAAX,OAAA,CAAAW,6BAAA;AAAAzG,OAAA,CAAA0G,6BAAA,GAAAZ,OAAA,CAAAY,6BAAA;AAAA1G,OAAA,CAAA2G,4BAAA,GAAAb,OAAA,CAAAa,4BAAA;AAAA3G,OAAA,CAAA4G,gBAAA,GAAAd,OAAA,CAAAc,gBAAA;AAAA5G,OAAA,CAAA6G,WAAA,GAAAf,OAAA,CAAAe,WAAA;AAAA7G,OAAA,CAAA8G,gBAAA,GAAAhB,OAAA,CAAAgB,gBAAA;AAAA9G,OAAA,CAAA+G,gBAAA,GAAAjB,OAAA,CAAAiB,gBAAA;AAAA/G,OAAA,CAAAgH,uBAAA,GAAAlB,OAAA,CAAAkB,uBAAA;AAAAhH,OAAA,CAAAiH,yBAAA,GAAAnB,OAAA,CAAAmB,yBAAA;AAQlB,IAAAC,QAAA,GAAAnH,OAAA;AAMyBC,OAAA,CAAAmH,aAAA,GAAAD,QAAA,CAAAC,aAAA;AAAAnH,OAAA,CAAAoH,iBAAA,GAAAF,QAAA,CAAAE,iBAAA;AAGzB,IAAAC,YAAA,GAAAtH,OAAA;AAAkDC,OAAA,CAAAsH,WAAA,GAAAD,YAAA,CAAAC,WAAA;AAClD,IAAAC,gBAAA,GAAAxH,OAAA;AAA0DC,OAAA,CAAAwH,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AAC1D,IAAAC,qBAAA,GAAA1H,OAAA;AAAoEC,OAAA,CAAA0H,oBAAA,GAAAD,qBAAA,CAAAC,oBAAA;AACpE,IAAAC,wBAAA,GAAA5H,OAAA;AAA0EC,OAAA,CAAA4H,uBAAA,GAAAD,wBAAA,CAAAC,uBAAA;AAC1E,IAAAC,4BAAA,GAAA9H,OAAA;AAAkFC,OAAA,CAAA8H,2BAAA,GAAAD,4BAAA,CAAAC,2BAAA;AAClF,IAAAC,oBAAA,GAAAhI,OAAA;AAAkEC,OAAA,CAAAgI,mBAAA,GAAAD,oBAAA,CAAAC,mBAAA;AAClE,IAAAC,iBAAA,GAAAlI,OAAA;AAA4DC,OAAA,CAAAkI,gBAAA,GAAAD,iBAAA,CAAAC,gBAAA;AAC5D,IAAAC,4BAAA,GAAApI,OAAA;AAAkFC,OAAA,CAAAoI,2BAAA,GAAAD,4BAAA,CAAAC,2BAAA;AAClF,IAAAC,iCAAA,GAAAtI,OAAA;AAA4FC,OAAA,CAAAsI,gCAAA,GAAAD,iCAAA,CAAAC,gCAAA;AAG5F,IAAAC,aAAA,GAAAxI,OAAA;AAIiCC,OAAA,CAAAwI,sBAAA,GAAAD,aAAA,CAAAC,sBAAA;AAAAxI,OAAA,CAAAyI,yBAAA,GAAAF,aAAA,CAAAE,yBAAA;AAAAzI,OAAA,CAAA0I,kCAAA,GAAAH,aAAA,CAAAG,kCAAA;AAUjC,IAAAC,KAAA,GAAA5I,OAAA;AAA4CC,OAAA,CAAA4I,SAAA,GAAAD,KAAA,CAAAC,SAAA;AAE5C,IAAAC,QAAA,GAAA9I,OAAA;AAW4BC,OAAA,CAAA8I,uBAAA,GAAAD,QAAA,CAAAC,uBAAA;AAAA9I,OAAA,CAAA+I,oBAAA,GAAAF,QAAA,CAAAE,oBAAA;AAAA/I,OAAA,CAAAgJ,oBAAA,GAAAH,QAAA,CAAAG,oBAAA;AAAAhJ,OAAA,CAAAiJ,uBAAA,GAAAJ,QAAA,CAAAI,uBAAA;AAAAjJ,OAAA,CAAAkJ,0BAAA,GAAAL,QAAA,CAAAK,0BAAA;AAAAlJ,OAAA,CAAAmJ,uBAAA,GAAAN,QAAA,CAAAM,uBAAA;AAAAnJ,OAAA,CAAAoJ,gCAAA,GAAAP,QAAA,CAAAO,gCAAA;AAAApJ,OAAA,CAAAqJ,uBAAA,GAAAR,QAAA,CAAAQ,uBAAA;AAAArJ,OAAA,CAAAsJ,0BAAA,GAAAT,QAAA,CAAAS,0BAAA;AAAAtJ,OAAA,CAAAuJ,uBAAA,GAAAV,QAAA,CAAAU,uBAAA;AAW5B,IAAAC,MAAA,GAAAzJ,OAAA;AAAiCC,OAAA,CAAAyJ,EAAA,GAAAD,MAAA,CAAAC,EAAA;AACjC,IAAAC,WAAA,GAAA3J,OAAA;AAA4EC,OAAA,CAAA2J,iBAAA,GAAAD,WAAA,CAAAC,iBAAA;AAAA3J,OAAA,CAAA4J,kBAAA,GAAAF,WAAA,CAAAE,kBAAA;AAC5E,IAAAC,cAAA,GAAA9J,OAAA;AAS+BC,OAAA,CAAA8J,eAAA,GAAAD,cAAA,CAAAC,eAAA;AAAA9J,OAAA,CAAA+J,kBAAA,GAAAF,cAAA,CAAAE,kBAAA;AAAA/J,OAAA,CAAAgK,aAAA,GAAAH,cAAA,CAAAG,aAAA;AAAAhK,OAAA,CAAAiK,eAAA,GAAAJ,cAAA,CAAAI,eAAA;AAAAjK,OAAA,CAAAkK,oBAAA,GAAAL,cAAA,CAAAK,oBAAA;AAC/B,IAAAC,WAAA,GAAApK,OAAA;AAA6EC,OAAA,CAAAoK,aAAA,GAAAD,WAAA,CAAAC,aAAA;AAG7E,IAAAC,WAAA,GAAAtK,OAAA;AAS4BC,OAAA,CAAAsK,QAAA,GAAAD,WAAA,CAAAC,QAAA;AAAAtK,OAAA,CAAAuK,QAAA,GAAAF,WAAA,CAAAE,QAAA;AAAAvK,OAAA,CAAAwK,kBAAA,GAAAH,WAAA,CAAAG,kBAAA;AAAAxK,OAAA,CAAAyK,KAAA,GAAAJ,WAAA,CAAAI,KAAA;AAAAzK,OAAA,CAAA0K,eAAA,GAAAL,WAAA,CAAAK,eAAA;AAAA1K,OAAA,CAAA2K,kBAAA,GAAAN,WAAA,CAAAM,kBAAA;AAAA3K,OAAA,CAAA4K,gBAAA,GAAAP,WAAA,CAAAO,gBAAA;AAG5B,IAAAC,gBAAA,GAAA9K,OAAA;AASiCC,OAAA,CAAA8K,SAAA,GAAAD,gBAAA,CAAAC,SAAA;AAAA9K,OAAA,CAAA+K,gBAAA,GAAAF,gBAAA,CAAAE,gBAAA;AAAA/K,OAAA,CAAAgL,aAAA,GAAAH,gBAAA,CAAAG,aAAA;AAAAhL,OAAA,CAAAiL,SAAA,GAAAJ,gBAAA,CAAAI,SAAA;AAAAjL,OAAA,CAAAkL,QAAA,GAAAL,gBAAA,CAAAK,QAAA;AAAAlL,OAAA,CAAAmL,kBAAA,GAAAN,gBAAA,CAAAM,kBAAA;AAAAnL,OAAA,CAAAoL,mBAAA,GAAAP,gBAAA,CAAAO,mBAAA;AAGjC,IAAAC,QAAA,GAAAtL,OAAA;AAoCmBC,OAAA,CAAAsL,eAAA,GAAAD,QAAA,CAAAC,eAAA;AAAAtL,OAAA,CAAAuL,mBAAA,GAAAF,QAAA,CAAAE,mBAAA;AAAAvL,OAAA,CAAAwL,QAAA,GAAAH,QAAA,CAAAG,QAAA;AAAAxL,OAAA,CAAAyL,WAAA,GAAAJ,QAAA,CAAAI,WAAA;AAAAzL,OAAA,CAAA0L,kBAAA,GAAAL,QAAA,CAAAK,kBAAA;AAAA1L,OAAA,CAAA2L,aAAA,GAAAN,QAAA,CAAAM,aAAA;AAAA3L,OAAA,CAAA4L,kBAAA,GAAAP,QAAA,CAAAO,kBAAA;AAAA5L,OAAA,CAAA6L,kBAAA,GAAAR,QAAA,CAAAQ,kBAAA;AAAA7L,OAAA,CAAA8L,WAAA,GAAAT,QAAA,CAAAS,WAAA;AAAA9L,OAAA,CAAA+L,kBAAA,GAAAV,QAAA,CAAAU,kBAAA;AAAA/L,OAAA,CAAAgM,sBAAA,GAAAX,QAAA,CAAAW,sBAAA;AAAAhM,OAAA,CAAAiM,wBAAA,GAAAZ,QAAA,CAAAY,wBAAA;AAAAjM,OAAA,CAAAkM,qBAAA,GAAAb,QAAA,CAAAa,qBAAA;AAAAlM,OAAA,CAAAmM,mBAAA,GAAAd,QAAA,CAAAc,mBAAA;AAAAnM,OAAA,CAAAoM,wBAAA,GAAAf,QAAA,CAAAe,wBAAA;AAAApM,OAAA,CAAAqM,qBAAA,GAAAhB,QAAA,CAAAgB,qBAAA;AAAArM,OAAA,CAAAsM,eAAA,GAAAjB,QAAA,CAAAiB,eAAA;AAAAtM,OAAA,CAAAuM,oBAAA,GAAAlB,QAAA,CAAAkB,oBAAA;AAAAvM,OAAA,CAAAwM,4BAAA,GAAAnB,QAAA,CAAAmB,4BAAA;AAAAxM,OAAA,CAAAyM,kBAAA,GAAApB,QAAA,CAAAoB,kBAAA;AAAAzM,OAAA,CAAA0M,kBAAA,GAAArB,QAAA,CAAAqB,kBAAA;AAAA1M,OAAA,CAAA2M,4BAAA,GAAAtB,QAAA,CAAAsB,4BAAA;AAAA3M,OAAA,CAAA4M,aAAA,GAAAvB,QAAA,CAAAuB,aAAA;AAAA5M,OAAA,CAAA6M,6BAAA,GAAAxB,QAAA,CAAAwB,6BAAA;AAAA7M,OAAA,CAAA8M,cAAA,GAAAzB,QAAA,CAAAyB,cAAA;AAAA9M,OAAA,CAAA+M,iCAAA,GAAA1B,QAAA,CAAA0B,iCAAA;AAAA/M,OAAA,CAAAgN,sBAAA,GAAA3B,QAAA,CAAA2B,sBAAA;AAAAhN,OAAA,CAAAiN,kBAAA,GAAA5B,QAAA,CAAA4B,kBAAA;AAGnB,IAAAC,OAAA,GAAAnN,OAAA;AAakBC,OAAA,CAAAmN,cAAA,GAAAD,OAAA,CAAAC,cAAA;AAAAnN,OAAA,CAAAoN,sBAAA,GAAAF,OAAA,CAAAE,sBAAA;AAAApN,OAAA,CAAAqN,mBAAA,GAAAH,OAAA,CAAAG,mBAAA;AAAArN,OAAA,CAAAsN,oBAAA,GAAAJ,OAAA,CAAAI,oBAAA;AAAAtN,OAAA,CAAAuN,uBAAA,GAAAL,OAAA,CAAAK,uBAAA;AAAAvN,OAAA,CAAAwN,oBAAA,GAAAN,OAAA,CAAAM,oBAAA;AAGlB,IAAAC,gBAAA,GAAA1N,OAAA;AAMiCC,OAAA,CAAA0N,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AAAA1N,OAAA,CAAA2N,eAAA,GAAAF,gBAAA,CAAAE,eAAA;AAAA3N,OAAA,CAAA4N,iBAAA,GAAAH,gBAAA,CAAAG,iBAAA;AAAA5N,OAAA,CAAA6N,kBAAA,GAAAJ,gBAAA,CAAAI,kBAAA;AAAA7N,OAAA,CAAA8N,mBAAA,GAAAL,gBAAA,CAAAK,mBAAA;AAGjC,IAAAC,UAAA,GAAAhO,OAAA;AAImCC,OAAA,CAAAgO,SAAA,GAAAD,UAAA,CAAAC,SAAA;AACnC,IAAAC,mBAAA,GAAAlO,OAAA;AAKoCC,OAAA,CAAAkO,wBAAA,GAAAD,mBAAA,CAAAC,wBAAA;AAAAlO,OAAA,CAAAmO,uBAAA,GAAAF,mBAAA,CAAAE,uBAAA;AAAAnO,OAAA,CAAAoO,sBAAA,GAAAH,mBAAA,CAAAG,sBAAA;AACpC,IAAAC,sBAAA,GAAAtO,OAAA;AAG+CC,OAAA,CAAAsO,qBAAA,GAAAD,sBAAA,CAAAC,qBAAA;AAC/C,IAAAC,cAAA,GAAAxO,OAAA;AAKuCC,OAAA,CAAAwO,aAAA,GAAAD,cAAA,CAAAC,aAAA;AACvC,IAAAC,YAAA,GAAA1O,OAAA;AAMqCC,OAAA,CAAA0O,WAAA,GAAAD,YAAA,CAAAC,WAAA;AACrC,IAAAC,WAAA,GAAA5O,OAAA;AAA8EC,OAAA,CAAA4O,UAAA,GAAAD,WAAA,CAAAC,UAAA;AAC9E,IAAAC,gBAAA,GAAA9O,OAAA;AAGyCC,OAAA,CAAA8O,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AACzC,IAAAC,aAAA,GAAAhP,OAAA;AAA4DC,OAAA,CAAAgP,YAAA,GAAAD,aAAA,CAAAC,YAAA;AAC5D,IAAAC,aAAA,GAAAlP,OAAA;AAGsCC,OAAA,CAAAkP,YAAA,GAAAD,aAAA,CAAAC,YAAA;AACtC,IAAAC,eAAA,GAAApP,OAAA;AAGwCC,OAAA,CAAAoP,cAAA,GAAAD,eAAA,CAAAC,cAAA;AACxC,IAAAC,gBAAA,GAAAtP,OAAA;AAGyCC,OAAA,CAAAsP,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AACzC,IAAAC,UAAA,GAAAxP,OAAA;AAA2EC,OAAA,CAAAwP,SAAA,GAAAD,UAAA,CAAAC,SAAA;AAC3E,IAAAC,OAAA,GAAA1P,OAAA;AAAkEC,OAAA,CAAA0P,MAAA,GAAAD,OAAA,CAAAC,MAAA;AAClE,IAAAC,gBAAA,GAAA5P,OAAA;AAGyCC,OAAA,CAAA4P,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AACzC,IAAAC,YAAA,GAAA9P,OAAA;AAMqCC,OAAA,CAAA8P,WAAA,GAAAD,YAAA,CAAAC,WAAA;AAAA9P,OAAA,CAAA+P,cAAA,GAAAF,YAAA,CAAAE,cAAA;AAAA/P,OAAA,CAAAgQ,QAAA,GAAAH,YAAA,CAAAG,QAAA;AACrC,IAAAC,MAAA,GAAAlQ,OAAA;AAS+BC,OAAA,CAAAkQ,KAAA,GAAAD,MAAA,CAAAC,KAAA;AAAAlQ,OAAA,CAAAmQ,WAAA,GAAAF,MAAA,CAAAE,WAAA;AAAAnQ,OAAA,CAAAoQ,SAAA,GAAAH,MAAA,CAAAG,SAAA;AAAApQ,OAAA,CAAAqQ,WAAA,GAAAJ,MAAA,CAAAI,WAAA;AAAArQ,OAAA,CAAAsQ,SAAA,GAAAL,MAAA,CAAAK,SAAA;AAAAtQ,OAAA,CAAAuQ,QAAA,GAAAN,MAAA,CAAAM,QAAA;AAAAvQ,OAAA,CAAAwQ,SAAA,GAAAP,MAAA,CAAAO,SAAA;AAAAxQ,OAAA,CAAAyQ,YAAA,GAAAR,MAAA,CAAAQ,YAAA;AAU/B,IAAAC,eAAA,GAAA3Q,OAAA;AAIgCC,OAAA,CAAA2Q,qBAAA,GAAAD,eAAA,CAAAC,qBAAA;AAGhC,IAAAC,mBAAA,GAAA7Q,OAAA;AAIoCC,OAAA,CAAA6Q,yBAAA,GAAAD,mBAAA,CAAAC,yBAAA;AACpC,IAAAC,mBAAA,GAAA/Q,OAAA;AAKoCC,OAAA,CAAA+Q,yBAAA,GAAAD,mBAAA,CAAAC,yBAAA;AAGpC,IAAAC,cAAA,GAAAjR,OAAA;AAK+BC,OAAA,CAAAiR,mBAAA,GAAAD,cAAA,CAAAC,mBAAA;AAM/B,IAAAC,iBAAA,GAAAnR,OAAA;AAA6DC,OAAA,CAAAmR,gBAAA,GAAAD,iBAAA,CAAAC,gBAAA;AAI7D,IAAAC,qBAAA,GAAArR,OAAA;AAGuCC,OAAA,CAAAqR,uBAAA,GAAAD,qBAAA,CAAAC,uBAAA;AAAArR,OAAA,CAAAsR,mBAAA,GAAAF,qBAAA,CAAAE,mBAAA;AAKvC,IAAAC,gBAAA,GAAAxR,OAAA;AAOkCC,OAAA,CAAAwR,kBAAA,GAAAD,gBAAA,CAAAC,kBAAA;AAAAxR,OAAA,CAAAyR,sBAAA,GAAAF,gBAAA,CAAAE,sBAAA;AAAAzR,OAAA,CAAA0R,mBAAA,GAAAH,gBAAA,CAAAG,mBAAA;AAAA1R,OAAA,CAAA2R,yBAAA,GAAAJ,gBAAA,CAAAI,yBAAA;AAAA3R,OAAA,CAAA4R,iBAAA,GAAAL,gBAAA,CAAAK,iBAAA;AAAA5R,OAAA,CAAA6R,sBAAA,GAAAN,gBAAA,CAAAM,sBAAA;AAClC,IAAAC,kBAAA,GAAA/R,OAAA;AAGoCC,OAAA,CAAA+R,iBAAA,GAAAD,kBAAA,CAAAC,iBAAA;AACpC,IAAAC,oBAAA,GAAAjS,OAAA;AAKsCC,OAAA,CAAAiS,mBAAA,GAAAD,oBAAA,CAAAC,mBAAA;AAAAjS,OAAA,CAAAkS,qBAAA,GAAAF,oBAAA,CAAAE,qBAAA;AACtC,IAAAC,cAAA,GAAApS,OAAA;AAU+BC,OAAA,CAAAoS,oBAAA,GAAAD,cAAA,CAAAC,oBAAA;AAAApS,OAAA,CAAAqS,YAAA,GAAAF,cAAA,CAAAE,YAAA;AAAArS,OAAA,CAAAsS,eAAA,GAAAH,cAAA,CAAAG,eAAA;AAAAtS,OAAA,CAAAuS,kBAAA,GAAAJ,cAAA,CAAAI,kBAAA;AAAAvS,OAAA,CAAAwS,QAAA,GAAAL,cAAA,CAAAK,QAAA;AAAAxS,OAAA,CAAAyS,YAAA,GAAAN,cAAA,CAAAM,YAAA;AAC/B,IAAAC,WAAA,GAAA3S,OAAA;AAM6BC,OAAA,CAAA2S,mBAAA,GAAAD,WAAA,CAAAC,mBAAA;AAAA3S,OAAA,CAAA4S,eAAA,GAAAF,WAAA,CAAAE,eAAA;AAAA5S,OAAA,CAAA6S,uBAAA,GAAAH,WAAA,CAAAG,uBAAA;AAC7B,IAAAC,YAAA,GAAA/S,OAAA;AAI6BC,OAAA,CAAA+S,eAAA,GAAAD,YAAA,CAAAC,eAAA;AAAA/S,OAAA,CAAAgT,eAAA,GAAAF,YAAA,CAAAE,eAAA;AAAAhT,OAAA,CAAAiT,YAAA,GAAAH,YAAA,CAAAG,YAAA;AAG7B,IAAAC,0BAAA,GAAAnT,OAAA;AAM0DC,OAAA,CAAAmT,yBAAA,GAAAD,0BAAA,CAAAC,yBAAA;AAAAnT,OAAA,CAAAoT,qBAAA,GAAAF,0BAAA,CAAAE,qBAAA;AAC1D,IAAAC,2BAAA,GAAAtT,OAAA;AAG2DC,OAAA,CAAAsT,0BAAA,GAAAD,2BAAA,CAAAC,0BAAA;AAC3D,IAAAC,wBAAA,GAAAxT,OAAA;AAIwDC,OAAA,CAAAwT,wBAAA,GAAAD,wBAAA,CAAAC,wBAAA;AAAAxT,OAAA,CAAAyT,mBAAA,GAAAF,wBAAA,CAAAE,mBAAA;AAGxD,IAAAC,sBAAA,GAAA3T,OAAA;AAIuCC,OAAA,CAAA2T,qBAAA,GAAAD,sBAAA,CAAAC,qBAAA;AAAA3T,OAAA,CAAA4T,kBAAA,GAAAF,sBAAA,CAAAE,kBAAA;AAAA5T,OAAA,CAAA6T,kBAAA,GAAAH,sBAAA,CAAAG,kBAAA;AACvC,IAAAC,qBAAA,GAAA/T,OAAA;AASsCC,OAAA,CAAA+T,eAAA,GAAAD,qBAAA,CAAAC,eAAA;AAAA/T,OAAA,CAAAgU,iBAAA,GAAAF,qBAAA,CAAAE,iBAAA;AAAAhU,OAAA,CAAAiU,sBAAA,GAAAH,qBAAA,CAAAG,sBAAA;AAAAjU,OAAA,CAAAkU,iBAAA,GAAAJ,qBAAA,CAAAI,iBAAA;AAAAlU,OAAA,CAAAmU,cAAA,GAAAL,qBAAA,CAAAK,cAAA;AAAAnU,OAAA,CAAAoU,kBAAA,GAAAN,qBAAA,CAAAM,kBAAA;AACtC,IAAAC,kBAAA,GAAAtU,OAAA;AAGmCC,OAAA,CAAAsU,iBAAA,GAAAD,kBAAA,CAAAC,iBAAA;AACnC,IAAAC,sBAAA,GAAAxU,OAAA;AAGuCC,OAAA,CAAAwU,qBAAA,GAAAD,sBAAA,CAAAC,qBAAA;AAAAxU,OAAA,CAAAyU,0BAAA,GAAAF,sBAAA,CAAAE,0BAAA;AACvC,IAAAC,gBAAA,GAAA3U,OAAA;AAMiCC,OAAA,CAAA2U,yBAAA,GAAAD,gBAAA,CAAAC,yBAAA;AAAA3U,OAAA,CAAA4U,qBAAA,GAAAF,gBAAA,CAAAE,qBAAA;AAEjC,IAAAC,eAAA,GAAA9U,OAAA;AASgCC,OAAA,CAAA8U,iBAAA,GAAAD,eAAA,CAAAC,iBAAA;AAAA9U,OAAA,CAAA+U,iBAAA,GAAAF,eAAA,CAAAE,iBAAA;AAAA/U,OAAA,CAAAgV,UAAA,GAAAH,eAAA,CAAAG,UAAA;AAAAhV,OAAA,CAAAiV,eAAA,GAAAJ,eAAA,CAAAI,eAAA;AAAAjV,OAAA,CAAAkV,mBAAA,GAAAL,eAAA,CAAAK,mBAAA;AAChC,IAAAC,qBAAA,GAAApV,OAAA;AAGsCC,OAAA,CAAAoV,oBAAA,GAAAD,qBAAA,CAAAC,oBAAA;AACtC,IAAAC,eAAA,GAAAtV,OAAA;AAOgCC,OAAA,CAAAsV,yBAAA,GAAAD,eAAA,CAAAC,yBAAA;AAAAtV,OAAA,CAAAuV,yBAAA,GAAAF,eAAA,CAAAE,yBAAA;AAAAvV,OAAA,CAAAwV,uBAAA,GAAAH,eAAA,CAAAG,uBAAA;AAAAxV,OAAA,CAAAyV,oBAAA,GAAAJ,eAAA,CAAAI,oBAAA;AAAAzV,OAAA,CAAA0V,oBAAA,GAAAL,eAAA,CAAAK,oBAAA;AAAA1V,OAAA,CAAA2V,qBAAA,GAAAN,eAAA,CAAAM,qBAAA;AAChC,IAAAC,mBAAA,GAAA7V,OAAA;AAQoCC,OAAA,CAAA6V,uBAAA,GAAAD,mBAAA,CAAAC,uBAAA;AAAA7V,OAAA,CAAA8V,+BAAA,GAAAF,mBAAA,CAAAE,+BAAA;AAAA9V,OAAA,CAAA+V,2BAAA,GAAAH,mBAAA,CAAAG,2BAAA;AAAA/V,OAAA,CAAAgW,qBAAA,GAAAJ,mBAAA,CAAAI,qBAAA;AAAAhW,OAAA,CAAAiW,qBAAA,GAAAL,mBAAA,CAAAK,qBAAA;AAAAjW,OAAA,CAAAkW,kBAAA,GAAAN,mBAAA,CAAAM,kBAAA;AACpC,IAAAC,WAAA,GAAApW,OAAA;AAAyDC,OAAA,CAAAoW,mBAAA,GAAAD,WAAA,CAAAC,mBAAA;AACzD,IAAAC,WAAA,GAAAtW,OAAA;AAO4BC,OAAA,CAAAsW,eAAA,GAAAD,WAAA,CAAAC,eAAA;AAAAtW,OAAA,CAAAuW,uBAAA,GAAAF,WAAA,CAAAE,uBAAA;AAAAvW,OAAA,CAAAwW,mBAAA,GAAAH,WAAA,CAAAG,mBAAA;AAAAxW,OAAA,CAAAyW,aAAA,GAAAJ,WAAA,CAAAI,aAAA;AAAAzW,OAAA,CAAA0W,oBAAA,GAAAL,WAAA,CAAAK,oBAAA;AAAA1W,OAAA,CAAA2W,aAAA,GAAAN,WAAA,CAAAM,aAAA;AAC5B,IAAAC,aAAA,GAAA7W,OAAA;AAA2DC,OAAA,CAAA6W,kBAAA,GAAAD,aAAA,CAAAC,kBAAA;AAC3D,IAAAC,eAAA,GAAA/W,OAAA;AAOgCC,OAAA,CAAA+W,oBAAA,GAAAD,eAAA,CAAAC,oBAAA;AAAA/W,OAAA,CAAAgX,YAAA,GAAAF,eAAA,CAAAE,YAAA;AAAAhX,OAAA,CAAAiX,SAAA,GAAAH,eAAA,CAAAG,SAAA;AAAAjX,OAAA,CAAAkX,cAAA,GAAAJ,eAAA,CAAAI,cAAA;AAAAlX,OAAA,CAAAmX,SAAA,GAAAL,eAAA,CAAAK,SAAA;AAAAnX,OAAA,CAAAoX,mBAAA,GAAAN,eAAA,CAAAM,mBAAA;AAGhC,IAAAC,gBAAA,GAAAtX,OAAA;AAQqCC,OAAA,CAAAsX,yBAAA,GAAAD,gBAAA,CAAAC,yBAAA;AAAAtX,OAAA,CAAAuX,iBAAA,GAAAF,gBAAA,CAAAE,iBAAA;AAAAvX,OAAA,CAAAwX,iCAAA,GAAAH,gBAAA,CAAAG,iCAAA;AASrC,IAAAC,UAAA,GAAA1X,OAAA;AAOqBC,OAAA,CAAA0X,YAAA,GAAAD,UAAA,CAAAC,YAAA;AAAA1X,OAAA,CAAA2X,eAAA,GAAAF,UAAA,CAAAE,eAAA;AAAA3X,OAAA,CAAA4X,WAAA,GAAAH,UAAA,CAAAG,WAAA;AAAA5X,OAAA,CAAA6X,UAAA,GAAAJ,UAAA,CAAAI,UAAA;AAAA7X,OAAA,CAAA8X,kBAAA,GAAAL,UAAA,CAAAK,kBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clients","require","exports","CLIENT_IDS","EXPERIMENT_IDS","_FeatureToggleContext","createFeatureToggleReader","FeatureToggleProvider","useFeatureToggles","useFeatureToggle","_parts","getPartsByType","getPartByRole","getAllByRole","getHeading","getImages","getLinks","extractContent","extractContentMarkdown","deriveRole","_sectionDefinition","DROP_SECTION","_diagnosticTypes","DIAGNOSTIC_TYPES","_imageSearchFilterTypes","buildImageSearchFilter","_imageSearchFilters","ImageSearchFilterToken","backgroundFilter","_componentDefinitions","HeroSectionDefinition","HeroEntitySectionDefinition","KpiSectionDefinition","FeatureCardsSectionDefinition","EntitySectionDefinition","EntityCollectionSectionDefinition","ComparisonSectionDefinition","TextBlockSectionDefinition","CtaBannerSectionDefinition","CalloutSectionDefinition","NextStepsSectionDefinition","FeatureSection9PlusDefinition","ListItemsSectionDefinition","SkipNodesSectionDefinition","HtmlCommentSectionDefinition","SearchSectionDefinition","ErrorSectionDefinition","FallbackSectionDefinition","createSdkRegistry","_registry","ComponentRegistry","_patternValidator","validatePattern","validatePatternSyntax","validatePatternWithBlocks","_markdownBlocks","convertToBlockElements","convertToBlockElementsWithMapping","_linkTypes","Web5UrlType","isWeb5AskUrl","isWeb5EntityUrl","isWeb5ImageUrl","isWeb5IconUrl","isWeb5ActionUrl","isWeb5SearchUrl","isWeb5Url","isNavigableUrl","isValidLinkUrl","isLegacyUrl","_entityLinkParser","parseWeb5Url","isValidWeb5Url","validateLinkUrl","isEntityLink","parseEntityLink","extractProtocol","extractLinkMetadata","_web5LinkValidator","findInvalidWeb5Links","_nodeMatchers","hasImage","isHtmlComment","_match","matchMarkdown","matchAllSections","nodesToParts","_ComponentDependenciesContext","ComponentDependenciesProvider","useComponentDependencies","_UserQueryContext","UserQueryProvider","useUserQuery","_ChipsContext","ChipsProvider","useChips","_entity","defaultExtractor","enrichEntitiesFromPayload","entityHref","normalizeEntityItem","toCatalogPath","entityPayloadFromItems","mergeEntityData","fetchEntityListData","listEntityItems","LIST_ITEMS_ENDPOINT","getEntityExtractor","registerEntityExtractor","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","toMatchedOptions","formatMoney","readCurrencyCode","formatPriceField","formatProductPriceLabel","isProductFamilyEntityType","_callout","CALLOUT_KINDS","CALLOUT_SEMANTICS","_useWeb5Link","useWeb5Link","_useConversation","useConversation","_useDebugImageContext","useDebugImageContext","_useResolvedImageSources","useResolvedImageSources","_useResolveGenericEntityData","useResolveGenericEntityData","_useEntityTransforms","useEntityTransforms","_useMarkdownUtils","useMarkdownUtils","_useResolveShopifyEntityData","useResolveShopifyEntityData","_useResolveSearchSpringEntityData","useResolveSearchSpringEntityData","_searchspring","fetchProductsByHandles","fetchProductsByHandlesMap","transformSSProductToEntityItemData","_cart","addToCart","_shopify","ShopifyStorefrontClient","resolveShopifyConfig","resolveShopifyEntity","transformShopifyProduct","transformShopifyCollection","transformShopifyArticle","transformShopifyEntityToItemData","PRODUCT_BY_HANDLE_QUERY","COLLECTION_BY_HANDLE_QUERY","ARTICLE_BY_HANDLE_QUERY","_utils","cn","_imageUtils","normalizeImageUrl","getResizedImageUrl","_imageBackdrop","analyzeBackdrop","computeContentBBox","buildProbeUrl","loadImagePixels","loadBackdropAnalysis","_parseUtils","stripMarkdown","_colorUtils","rgbToHsl","hslToRgb","ensureMinLightness","toRgb","deriveDarkColor","deriveDarkGradient","deriveLightColor","_analyticsEvents","pushEvent","pushPromptSubmit","pushLinkClick","pushError","pushExit","pushEntityFiltered","hasAnalyticsConsent","_privacy","UNKNOWN_CONSENT","HOST_CONSENT_GLOBAL","transmit","mayTransmit","unlockOnUserAction","isUserEngaged","mayPersistIdentity","getConsentSnapshot","getGateView","subscribeToConsent","installConsentProvider","getInstalledProviderName","setConsentBufferLimit","getConsentGateStats","resetConsentGateForTests","detectConsentProvider","initConsentGate","CONSENT_OVERRIDE_KEY","CONSENT_OVERRIDE_QUERY_PARAM","getConsentOverride","setConsentOverride","createShopifyConsentProvider","isShopifyHost","createOneTrustConsentProvider","isOneTrustHost","createHostSuppliedConsentProvider","hasHostSuppliedConsent","publishHostConsent","_errors","ERROR_MARKDOWN","getErrorTypeFromStatus","createErrorMarkdown","STREAMING_TIMEOUT_MS","DEFAULT_ERROR_TEMPLATES","resolveErrorTemplate","_navigationStack","getForwardStack","setForwardStack","clearForwardStack","pushToForwardStack","popFromForwardStack","_UserQuery","UserQuery","_productBackHandoff","PRODUCT_BACK_SESSION_KEY","writeProductBackHandoff","readProductBackHandoff","_PromptEntryEmptyState","PromptEntryEmptyState","_SearchSection","SearchSection","_FeedbackBar","FeedbackBar","_Disclaimer","Disclaimer","_BottomContainer","BottomContainer","_MarkdownText","MarkdownText","_CalloutBlock","CalloutBlock","_OptimizedImage","OptimizedImage","_SectionSkeleton","SectionSkeleton","_SmartIcon","SmartIcon","_Loader","Loader","_PlacementLoader","PlacementLoader","_UnifiedLink","UnifiedLink","detectLinkType","LinkType","_table","Table","TableHeader","TableBody","TableFooter","TableHead","TableRow","TableCell","TableCaption","_userQueryEvent","WEB5_USER_QUERY_EVENT","_answerUpdatedEvent","WEB5_ANSWER_UPDATED_EVENT","_answerSettledEvent","WEB5_ANSWER_SETTLED_EVENT","_redirectEvent","WEB5_REDIRECT_EVENT","_loadClientBundle","loadClientBundle","_clientBundleOverride","getClientBundleOverride","isTrustedBundleHost","_clientBundleUrl","TEMPLATES_CDN_BASE","TEMPLATES_MANIFEST_URL","getTemplateOverride","isTemplatePickerRequested","isValidTemplateId","resolveClientBundleUrl","_mergeClientConfig","mergeClientConfig","_applyThemeOverrides","applyThemeOverrides","THEME_OVERRIDE_TOKENS","_tokenContract","THEME_TOKEN_CONTRACT","BRAND_TOKENS","EDITABLE_TOKENS","TOKEN_NAME_PATTERN","bucketOf","hostAliasFor","_themeDebug","isThemeDebugEnabled","THEME_DEBUG_KEY","THEME_DEBUG_QUERY_PARAM","_colorFormat","hexToHslTriplet","hslTripletToHex","isHslTriplet","_PlacementResponseRenderer","PlacementResponseRenderer","PlacementSmoothHeight","_buildPlacementDependencies","buildPlacementDependencies","_PlacementPayloadContext","PlacementPayloadProvider","usePlacementPayload","_unifiedMarkdownParser","UnifiedMarkdownParser","parseMarkdownToAst","parseAstToMarkdown","_markdownPreprocessor","escapeWeb5Links","fixMalformedLinks","trimTrailingWhitespace","normalizeIconUrls","decodeLinkText","preprocessMarkdown","_componentTracking","ComponentTracking","_contentKeywordMatcher","findKeywordsInContent","getContextualImageFilename","_intentExtractor","extractIntentFromMarkdown","getIntentFromMarkdown","_propsExtractor","createPageSection","generateSectionId","generateId","findImageInNode","findImageInChildren","_diagnosticsCollector","DiagnosticsCollector","_refreshPrompts","REFRESH_PROMPTS_UNTIL_KEY","REFRESH_PROMPTS_WINDOW_MS","getRefreshPromptsExpiry","shouldRefreshPrompts","enableRefreshPrompts","disableRefreshPrompts","_backendEnvironment","BACKEND_ENVIRONMENT_KEY","BACKEND_ENVIRONMENT_QUERY_PARAM","DEFAULT_BACKEND_ENVIRONMENT","getBackendEnvironment","setBackendEnvironment","usesStagingBackend","_simulation","isSimulationTraffic","_matchDebug","MATCH_DEBUG_KEY","MATCH_DEBUG_QUERY_PARAM","isMatchDebugEnabled","setMatchDebug","resetMatchDebugCache","logMatchDebug","_wixAuthFetch","createWixAuthFetch","_sessionManager","getOrCreateSessionId","getSessionId","getChatId","startNewChatId","setChatId","resetChatIdForTests","_componentParser","parseMarkdownToComponents","tryParseComponent","mergeSectionsWithStableReferences","_hostScope","WEB5_ROOT_ID","WEB5_ROOT_CLASS","WEB5_SCOPES","WEB5_SCOPE","WEB5_GLOBAL_TOKENS"],"sources":["../../src/index.ts"],"sourcesContent":["// Client IDs and experiment IDs\nexport { CLIENT_IDS, EXPERIMENT_IDS } from './clients';\n\nexport {\n type EmbedFeatureToggleResult,\n type FeatureToggleReader,\n createFeatureToggleReader,\n FeatureToggleProvider,\n useFeatureToggles,\n useFeatureToggle,\n} from './featureToggles/FeatureToggleContext';\n\n// Dev-only chrome injection contract for client packages\nexport type { DevEnvironment } from './client/devEnvironment';\n\n// Part types and helpers\nexport {\n type PartType,\n type Part,\n type HeadingPart,\n type ImagePart,\n type LinkPart,\n type ListPart,\n type ListItemPart,\n type KpiItemPart,\n type CardPart,\n type IconPart,\n type CalloutPart,\n type EntityPart,\n getPartsByType,\n getPartByRole,\n getAllByRole,\n getHeading,\n getImages,\n getLinks,\n extractContent,\n extractContentMarkdown,\n deriveRole,\n} from './parts/parts';\n\n// Component types\nexport type {\n BaseCompProps,\n SlotCompProps,\n SectionCompProps,\n SectionCompPropsWithSlot,\n TextCompProps,\n ButtonCompProps,\n ImageCompProps,\n BadgeCompProps,\n HeroButton,\n KpiItemCompProps,\n FeatureItemCompProps,\n FeatureCardCompProps,\n EntityItemData,\n EntityItem,\n GenericEntityData,\n GenericEntityCompProps,\n ComparisonRow,\n ComparisonColumn,\n AiNarrativeCompProps,\n HeroCompProps,\n HeroEntityCompProps,\n KpiCompProps,\n FeatureCardsCompProps,\n EntityCompProps,\n ComparisonCompProps,\n TextBlockCompProps,\n Component,\n BaseComponent,\n SlotComponent,\n SectionComponent,\n TextComponent,\n ButtonComponent,\n ImageComponent,\n BadgeComponent,\n KpiItemComponent,\n FeatureItemComponent,\n FeatureCardComponent,\n GenericEntityComponent,\n AiNarrativeComponent,\n ComparisonSectionComponent,\n TextBlockSectionComponent,\n HeroSectionComponent,\n HeroEntitySectionComponent,\n KpiSectionComponent,\n FeatureCardsSectionComponent,\n EntitySectionComponent,\n PropsOf,\n SectionFixture,\n CtaBannerCompProps,\n CtaBannerSectionComponent,\n CalloutCompProps,\n CalloutSectionComponent,\n NextStepsCompProps,\n NextStepsSectionComponent,\n FeatureSection9PlusCompProps,\n FeatureSection9PlusSectionComponent,\n ListItemsSectionCompProps,\n ListItemsSectionComponent,\n ErrorCompProps,\n ErrorSectionComponent,\n NullCompProps,\n NullSectionComponent,\n SolutionEntityCompProps,\n SolutionEntitySectionComponent,\n SolutionEntityData,\n BlogEntityCompProps,\n BlogEntitySectionComponent,\n BlogEntityData,\n GeneralTextCompProps,\n GeneralTextSectionComponent,\n PersonalizedNarrativeCompProps,\n PersonalizedNarrativeSectionComponent,\n} from './component/types';\n\n// Section definition\nexport type {\n SectionDefinition,\n ParseContext,\n ContextualImageResult,\n DropSection,\n} from './component/section-definition';\nexport { DROP_SECTION } from './component/section-definition';\n\n// Diagnostic types\nexport { DIAGNOSTIC_TYPES } from './component/diagnosticTypes';\nexport type { DiagnosticType } from './component/diagnosticTypes';\n\n// Image search filters\nexport {\n buildImageSearchFilter,\n type ImageSearchFilterString,\n} from './image/imageSearchFilterTypes';\nexport {\n ImageSearchFilterToken,\n backgroundFilter,\n} from './image/imageSearchFilters';\nexport type {\n ContextualImageAsset,\n ImageSourceInput,\n ResolvedImageSource,\n ResolvedImageSourceKind,\n} from './image/contextualImageTypes';\n\n// Section definition classes + createSdkRegistry\nexport {\n HeroSectionDefinition,\n HeroEntitySectionDefinition,\n KpiSectionDefinition,\n FeatureCardsSectionDefinition,\n EntitySectionDefinition,\n EntityCollectionSectionDefinition,\n ComparisonSectionDefinition,\n TextBlockSectionDefinition,\n CtaBannerSectionDefinition,\n CalloutSectionDefinition,\n NextStepsSectionDefinition,\n FeatureSection9PlusDefinition,\n ListItemsSectionDefinition,\n SkipNodesSectionDefinition,\n HtmlCommentSectionDefinition,\n SearchSectionDefinition,\n ErrorSectionDefinition,\n FallbackSectionDefinition,\n createSdkRegistry,\n} from './component/componentDefinitions';\n\n// Registry\nexport { ComponentRegistry } from './registry';\nexport type {\n SlotOptions,\n SectionOptions,\n SectionRegistration,\n SlotNode,\n SlotIntentNode,\n SectionIntentNode,\n SectionNode,\n SlotVariant,\n SectionVariant,\n RegistryCatalog,\n ActionResult,\n ActionHandler,\n} from './registry';\n\n// Pattern validator\nexport {\n validatePattern,\n validatePatternSyntax,\n validatePatternWithBlocks,\n type PatternValidationResult,\n type BlockElement,\n type EnrichedBlockElement,\n type LinkMetadata,\n type LinkAttribute,\n} from './patternValidator';\n\n// Markdown blocks\nexport {\n convertToBlockElements,\n convertToBlockElementsWithMapping,\n type BlockElementsWithMapping,\n} from './markdownBlocks';\n\n// Link types, enum & guards\nexport {\n Web5UrlType,\n type Web5AskUrl,\n type Web5EntityUrl,\n type Web5ImageUrl,\n type Web5IconUrl,\n type Web5ActionUrl,\n type Web5SearchUrl,\n type Web5Url,\n type HttpsUrl,\n type HttpUrl,\n type MailtoUrl,\n type RelativeUrl,\n type NavigableUrl,\n type ValidLinkUrl,\n type AnyKnownUrl,\n type LegacyUrl,\n isWeb5AskUrl,\n isWeb5EntityUrl,\n isWeb5ImageUrl,\n isWeb5IconUrl,\n isWeb5ActionUrl,\n isWeb5SearchUrl,\n isWeb5Url,\n isNavigableUrl,\n isValidLinkUrl,\n isLegacyUrl,\n} from './types/link-types';\n\n// Entity/URL parsing\nexport {\n parseWeb5Url,\n isValidWeb5Url,\n validateLinkUrl,\n type Web5UrlParsed,\n type Web5AskParsed,\n type Web5EntityParsed,\n type Web5ImageParsed,\n type Web5IconParsed,\n type Web5ActionParsed,\n type Web5SearchParsed,\n isEntityLink,\n parseEntityLink,\n extractProtocol,\n extractLinkMetadata,\n} from './utils/entityLinkParser';\n\n// Web5 link validation\nexport {\n findInvalidWeb5Links,\n type InvalidWeb5Link,\n} from './utils/web5LinkValidator';\n\n// Node matchers\nexport { hasImage, isHtmlComment } from './utils/nodeMatchers';\n\n// Match API\nexport {\n matchMarkdown,\n type MarkdownMatchResult,\n matchAllSections,\n type MatchAllSectionsResult,\n nodesToParts,\n} from './match';\n\n// ---------------------------------------------------------------------------\n// DI Infrastructure (moved from @wix/w5-client-circana)\n// ---------------------------------------------------------------------------\n\n// DI context and provider\nexport {\n ComponentDependenciesProvider,\n useComponentDependencies,\n type ComponentDependenciesProviderProps,\n} from './context/ComponentDependenciesContext';\n\n// Raw user query for the current response page\nexport {\n UserQueryProvider,\n useUserQuery,\n type UserQueryProviderProps,\n} from './context/UserQueryContext';\n\n// Chips context (suggestion chips shared between SearchSection and error states)\nexport {\n ChipsProvider,\n useChips,\n type SuggestionChip,\n} from './context/ChipsContext';\n\n// DI types\nexport type {\n ComponentDependencies,\n Web5LinkApi,\n ConversationApi,\n SendMessageTrackingOptions,\n SendMessageOptions,\n ComparisonSubmitPayload,\n ComparisonSelectedProduct,\n ProductComparisonSelectionState,\n ProductComparisonApi,\n EntityTransforms,\n MarkdownUtils,\n ResolveGenericEntityDataOptions,\n} from './types/dependencies';\nexport type {\n ApiPayloadItem,\n EntityTypeConfig,\n EntityConfig,\n EntityExtractionContext,\n} from './types/entity';\nexport {\n defaultExtractor,\n enrichEntitiesFromPayload,\n entityHref,\n normalizeEntityItem,\n toCatalogPath,\n entityPayloadFromItems,\n mergeEntityData,\n fetchEntityListData,\n listEntityItems,\n LIST_ITEMS_ENDPOINT,\n getEntityExtractor,\n registerEntityExtractor,\n transformToSolutionEntityData,\n transformToBlogPostEntityData,\n transformToGenericEntityData,\n toMatchedOptions,\n formatMoney,\n readCurrencyCode,\n formatPriceField,\n formatProductPriceLabel,\n isProductFamilyEntityType,\n} from './entity';\nexport type {\n EntityExtractor,\n FetchEntityListDataOptions,\n ListEntityItemsOptions,\n MatchedOption,\n ProductPriceFields,\n} from './entity';\nexport {\n CALLOUT_KINDS,\n CALLOUT_SEMANTICS,\n type CalloutKind,\n type CalloutSemantic,\n type Callout,\n} from './types/callout';\n\n// Wrapper hooks\nexport { useWeb5Link } from './hooks/useWeb5Link';\nexport { useConversation } from './hooks/useConversation';\nexport { useDebugImageContext } from './hooks/useDebugImageContext';\nexport { useResolvedImageSources } from './hooks/useResolvedImageSources';\nexport { useResolveGenericEntityData } from './hooks/useResolveGenericEntityData';\nexport { useEntityTransforms } from './hooks/useEntityTransforms';\nexport { useMarkdownUtils } from './hooks/useMarkdownUtils';\nexport { useResolveShopifyEntityData } from './hooks/useResolveShopifyEntityData';\nexport { useResolveSearchSpringEntityData } from './hooks/useResolveSearchSpringEntityData';\n\n// SearchSpring\nexport {\n fetchProductsByHandles,\n fetchProductsByHandlesMap,\n transformSSProductToEntityItemData,\n} from './services/searchspring';\nexport type {\n SearchSpringConfig,\n SSProduct,\n SSSearchResponse,\n SSSizeData,\n} from './services/searchspring';\n\n// Shopify Storefront API\n// Cart actions\nexport { addToCart } from './services/cart';\n\nexport {\n ShopifyStorefrontClient,\n resolveShopifyConfig,\n resolveShopifyEntity,\n transformShopifyProduct,\n transformShopifyCollection,\n transformShopifyArticle,\n transformShopifyEntityToItemData,\n PRODUCT_BY_HANDLE_QUERY,\n COLLECTION_BY_HANDLE_QUERY,\n ARTICLE_BY_HANDLE_QUERY,\n} from './services/shopify';\nexport type {\n ShopifyStorefrontConfig,\n ShopifyProduct,\n ShopifyCollection,\n ShopifyArticle,\n ShopifyImage,\n ShopifyMoneyV2,\n} from './services/shopify';\n\n// Utilities\nexport { cn } from './lib/utils';\nexport { normalizeImageUrl, getResizedImageUrl } from './utils/image-utils';\nexport {\n analyzeBackdrop,\n computeContentBBox,\n buildProbeUrl,\n loadImagePixels,\n loadBackdropAnalysis,\n type BackdropAnalysis,\n type ContentBBox,\n type ImagePixels,\n} from './utils/imageBackdrop';\nexport { stripMarkdown } from './component/componentDefinitions/parse-utils';\n\n// Color utilities\nexport {\n type RGB,\n rgbToHsl,\n hslToRgb,\n ensureMinLightness,\n toRgb,\n deriveDarkColor,\n deriveDarkGradient,\n deriveLightColor,\n} from './color/colorUtils';\n\n// Analytics\nexport {\n pushEvent,\n pushPromptSubmit,\n pushLinkClick,\n pushError,\n pushExit,\n pushEntityFiltered,\n hasAnalyticsConsent,\n type EntityFilteredReason,\n} from './utils/analyticsEvents';\n\n// Consent gate (DL #218)\nexport {\n type ConsentState,\n type ConsentPurpose,\n type GatedPurpose,\n type ConsentSnapshot,\n type ConsentProvider,\n type GateView,\n type HostConsentInput,\n UNKNOWN_CONSENT,\n HOST_CONSENT_GLOBAL,\n transmit,\n mayTransmit,\n unlockOnUserAction,\n isUserEngaged,\n mayPersistIdentity,\n getConsentSnapshot,\n getGateView,\n subscribeToConsent,\n installConsentProvider,\n getInstalledProviderName,\n setConsentBufferLimit,\n getConsentGateStats,\n resetConsentGateForTests,\n detectConsentProvider,\n initConsentGate,\n CONSENT_OVERRIDE_KEY,\n CONSENT_OVERRIDE_QUERY_PARAM,\n getConsentOverride,\n setConsentOverride,\n createShopifyConsentProvider,\n isShopifyHost,\n createOneTrustConsentProvider,\n isOneTrustHost,\n createHostSuppliedConsentProvider,\n hasHostSuppliedConsent,\n publishHostConsent,\n} from './privacy';\n\n// Error handling types and utilities\nexport {\n type ConversationErrorType,\n ERROR_MARKDOWN,\n getErrorTypeFromStatus,\n createErrorMarkdown,\n STREAMING_TIMEOUT_MS,\n type ErrorActionType,\n type ErrorIconType,\n type ErrorTemplateButton,\n type ErrorTemplate,\n type ErrorTemplateOverrides,\n DEFAULT_ERROR_TEMPLATES,\n resolveErrorTemplate,\n} from './errors';\n\n// Navigation utilities\nexport {\n getForwardStack,\n setForwardStack,\n clearForwardStack,\n pushToForwardStack,\n popFromForwardStack,\n} from './utils/navigationStack';\n\n// UI components\nexport {\n UserQuery,\n type UserQueryProps,\n type ProductBackContext,\n} from './components/ui/UserQuery';\nexport {\n PRODUCT_BACK_SESSION_KEY,\n writeProductBackHandoff,\n readProductBackHandoff,\n type ProductBackHandoff,\n} from './utils/productBackHandoff';\nexport {\n PromptEntryEmptyState,\n type PromptEntryEmptyStateProps,\n} from './components/ui/PromptEntryEmptyState';\nexport {\n SearchSection,\n type SearchSectionProps,\n type SearchSectionHandle,\n type ScrollChip,\n} from './components/ui/SearchSection';\nexport {\n FeedbackBar,\n type FeedbackBarProps,\n type FeedbackCategoryOption,\n type FeedbackSentiment,\n type FeedbackSubmitInput,\n} from './components/ui/FeedbackBar';\nexport { Disclaimer, type DisclaimerProps } from './components/ui/Disclaimer';\nexport {\n BottomContainer,\n type BottomContainerProps,\n} from './components/ui/BottomContainer';\nexport { MarkdownText } from './components/ui/MarkdownText';\nexport {\n CalloutBlock,\n type CalloutBlockProps,\n} from './components/ui/CalloutBlock';\nexport {\n OptimizedImage,\n type OptimizedImageProps,\n} from './components/ui/OptimizedImage';\nexport {\n SectionSkeleton,\n type SectionSkeletonProps,\n} from './components/ui/SectionSkeleton';\nexport { SmartIcon, type SmartIconProps } from './components/ui/SmartIcon';\nexport { Loader, type LoaderProps } from './components/ui/Loader';\nexport {\n PlacementLoader,\n type PlacementLoaderProps,\n} from './components/ui/PlacementLoader';\nexport {\n UnifiedLink,\n detectLinkType,\n type UnifiedLinkProps,\n LinkType,\n type LinkVariant,\n} from './components/ui/UnifiedLink';\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n} from './components/ui/table';\n\n// Placement (DL #088, DL #102 behavior declarations)\nexport type {\n PlacementBehaviorConfig,\n PlacementConfig,\n PlacementPrompts,\n} from './types/placement';\n\n// Cross-bundle user-query broadcast event (DL #097 D2)\nexport {\n WEB5_USER_QUERY_EVENT,\n type Web5UserQueryEventDetail,\n type Web5UserQueryEvent,\n} from './types/userQueryEvent';\n\n// Cross-bundle answer-updated broadcast event (B2B-4121)\nexport {\n WEB5_ANSWER_UPDATED_EVENT,\n type Web5AnswerUpdatedEventDetail,\n type Web5AnswerUpdatedEvent,\n} from './types/answerUpdatedEvent';\nexport {\n WEB5_ANSWER_SETTLED_EVENT,\n type Web5AnswerSettledStatus,\n type Web5AnswerSettledEventDetail,\n type Web5AnswerSettledEvent,\n} from './types/answerSettledEvent';\n\n// Cross-bundle redirect broadcast event (DL #098 D3)\nexport {\n WEB5_REDIRECT_EVENT,\n type Web5RedirectEventDetail,\n type Web5RedirectEvent,\n type Web5RedirectReason,\n} from './types/redirectEvent';\n// `placementFilter` was removed — hero/next-steps exclusion is the prompt's job\n// and placement-specific designs belong as `{ placement: true }` registry\n// variants (resolved automatically via `resolveSection(type, { placement: true })`).\n\n// Client bundle loader (DL #088 D3.3)\nexport { loadClientBundle } from './client/loadClientBundle';\n\n// `?clientBundleUrl=` dev override — shared by `web50-server-ui` and\n// `embed-placement` so the trusted-host gate can't drift between them.\nexport {\n getClientBundleOverride,\n isTrustedBundleHost,\n} from './client/clientBundleOverride';\n\n// Client-UMD URL resolution (DL #094 per-msid, DL #129 per-template) and the\n// universal bundle←backend config merge (DL #129 Q3/Q7) — shared by\n// `web50-server-ui` and `embed-placement`, the two client-bundle load sites.\nexport {\n TEMPLATES_CDN_BASE,\n TEMPLATES_MANIFEST_URL,\n getTemplateOverride,\n isTemplatePickerRequested,\n isValidTemplateId,\n resolveClientBundleUrl,\n} from './client/clientBundleUrl';\nexport {\n mergeClientConfig,\n type DeepPartial,\n} from './client/mergeClientConfig';\nexport {\n applyThemeOverrides,\n THEME_OVERRIDE_TOKENS,\n type ThemeOverrideKey,\n type ThemeOverrides,\n} from './client/applyThemeOverrides';\nexport {\n THEME_TOKEN_CONTRACT,\n BRAND_TOKENS,\n EDITABLE_TOKENS,\n TOKEN_NAME_PATTERN,\n bucketOf,\n hostAliasFor,\n type TokenBucket,\n type TokenContractEntry,\n type TokenType,\n} from './theme/tokenContract';\nexport {\n isThemeDebugEnabled,\n THEME_DEBUG_KEY,\n THEME_DEBUG_QUERY_PARAM,\n type AppliedToken,\n type ThemeOverrideSource,\n} from './client/themeDebug';\nexport {\n hexToHslTriplet,\n hslTripletToHex,\n isHslTriplet,\n} from './theme/colorFormat';\n\n// Placement renderer + DI helper (DL #088 D3.2, D3.4)\nexport {\n PlacementResponseRenderer,\n PlacementSmoothHeight,\n type PlacementResponseRendererProps,\n type PlacementSection,\n type PlacementVariant,\n} from './components/placement/PlacementResponseRenderer';\nexport {\n buildPlacementDependencies,\n type BuildPlacementDependenciesOptions,\n} from './components/placement/buildPlacementDependencies';\nexport {\n PlacementPayloadProvider,\n usePlacementPayload,\n type PlacementPayloadContextValue,\n} from './components/placement/PlacementPayloadContext';\n\n// Markdown parsing utilities — lifted from web50-server-ui (DL #088 B9.1)\nexport {\n UnifiedMarkdownParser,\n parseMarkdownToAst,\n parseAstToMarkdown,\n} from './utils/unifiedMarkdownParser';\nexport {\n escapeWeb5Links,\n fixMalformedLinks,\n trimTrailingWhitespace,\n normalizeIconUrls,\n decodeLinkText,\n preprocessMarkdown,\n type PreprocessorDiagnostic,\n type PreprocessResult,\n} from './utils/markdownPreprocessor';\nexport {\n ComponentTracking,\n type ComponentNodeRange,\n} from './utils/componentTracking';\nexport {\n findKeywordsInContent,\n getContextualImageFilename,\n} from './utils/contentKeywordMatcher';\nexport {\n extractIntentFromMarkdown,\n getIntentFromMarkdown,\n type IntentInfo,\n type IntentExtractionOptions,\n type ResponseState,\n} from './utils/intentExtractor';\nexport type { PageSection } from './types/page-section';\nexport {\n createPageSection,\n generateSectionId,\n generateId,\n findImageInNode,\n findImageInChildren,\n type Product,\n type ComparisonProduct,\n type ProductComparisonSectionProps,\n} from './utils/propsExtractor';\nexport {\n DiagnosticsCollector,\n type DiagnosticEntry,\n} from './utils/diagnosticsCollector';\nexport {\n REFRESH_PROMPTS_UNTIL_KEY,\n REFRESH_PROMPTS_WINDOW_MS,\n getRefreshPromptsExpiry,\n shouldRefreshPrompts,\n enableRefreshPrompts,\n disableRefreshPrompts,\n} from './utils/refreshPrompts';\nexport {\n type BackendEnvironment,\n BACKEND_ENVIRONMENT_KEY,\n BACKEND_ENVIRONMENT_QUERY_PARAM,\n DEFAULT_BACKEND_ENVIRONMENT,\n getBackendEnvironment,\n setBackendEnvironment,\n usesStagingBackend,\n} from './utils/backendEnvironment';\nexport { isSimulationTraffic } from './utils/simulation';\nexport {\n MATCH_DEBUG_KEY,\n MATCH_DEBUG_QUERY_PARAM,\n isMatchDebugEnabled,\n setMatchDebug,\n resetMatchDebugCache,\n logMatchDebug,\n} from './utils/matchDebug';\nexport { createWixAuthFetch } from './client/wixAuthFetch';\nexport {\n getOrCreateSessionId,\n getSessionId,\n getChatId,\n startNewChatId,\n setChatId,\n resetChatIdForTests,\n} from './utils/sessionManager';\n\n// Component parser orchestrator — lifted from web50-server-ui (DL #088 B9.5)\nexport {\n parseMarkdownToComponents,\n tryParseComponent,\n mergeSectionsWithStableReferences,\n type ParseMarkdownOptions,\n type ParseMarkdownResult,\n type ComponentMatch,\n type ParserContext,\n} from './component/componentParser';\nexport type {\n ParserClientConfig,\n EnrichEntityProps,\n} from './component/parser-types';\n\n// Host-mount scope contract — shared by web50-server-ui (which stamps the\n// class and mounts), embed-placement (which mounts the same bundle elsewhere),\n// and the client CDN build (which compiles every selector against it).\nexport {\n WEB5_ROOT_ID,\n WEB5_ROOT_CLASS,\n WEB5_SCOPES,\n WEB5_SCOPE,\n WEB5_GLOBAL_TOKENS,\n type HostFitConfig,\n} from './hostScope';\n"],"mappings":"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","ignoreList":[]}
|