@wix/web5-core 1.63.42 → 1.63.43

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/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- 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.SectionsRuntimeProvider = exports.SectionSkeleton = exports.SectionRuntimeProvider = exports.SearchSectionDefinition = exports.SearchSection = exports.STREAMING_TIMEOUT_MS = exports.REFRESH_PROMPTS_WINDOW_MS = exports.REFRESH_PROMPTS_UNTIL_KEY = exports.PromptEntryEmptyState = exports.PoweredByBadge = exports.PlacementSmoothHeight = exports.PlacementResponseRenderer = exports.PlacementPayloadProvider = exports.PlacementLoader = exports.PRODUCT_BY_HANDLE_QUERY = exports.PRODUCT_BACK_SESSION_KEY = exports.PLATFORM_ENTITY_TYPES = exports.OptimizedImage = exports.NextStepsSectionDefinition = exports.MetricsSectionDefinition = exports.MarkdownText = exports.MATCH_DEBUG_QUERY_PARAM = exports.MATCH_DEBUG_KEY = exports.Loader = exports.ListItemsSectionDefinition = exports.LinkType = exports.LIST_ITEMS_ENDPOINT = exports.KpiSectionDefinition = exports.ImageSlotProvider = 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.DiagnosticsCollector = exports.DROP_SECTION = exports.DIAGNOSTIC_TYPES = exports.DEFAULT_POWERED_BY_HREF = exports.DEFAULT_ERROR_TEMPLATES = exports.DEFAULT_BACKEND_ENVIRONMENT = exports.DEFAULT_AI_DISCLOSURE_TEXT = 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.AiIcon = exports.AiDisclosure = exports.ASSISTANT_TOKEN = exports.ARTICLE_BY_HANDLE_QUERY = void 0;
5
- exports.isHtmlComment = exports.isHslTriplet = exports.isEntityLink = exports.isDocumentFamilyEntityType = 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.composeSemantic = exports.cn = exports.clearForwardStack = exports.buildProbeUrl = exports.buildPlacementDependencies = exports.buildImageSearchFilter = exports.bucketOf = exports.backgroundFilter = exports.applyThemeOverrides = 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 = void 0;
6
- exports.useImageSlotCollector = exports.useImageSlot = exports.useFeatureToggles = exports.useFeatureToggle = exports.useEntityTransforms = exports.useDebugImageContext = exports.useCurrentSectionOptions = exports.useCurrentSectionId = 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.resolveEntityTypeConfig = 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 = exports.isValidLinkUrl = exports.isUserEngaged = exports.isTrustedBundleHost = exports.isThemeDebugEnabled = exports.isTemplatePickerRequested = exports.isSimulationTraffic = exports.isShopifyHost = exports.isProductFamilyEntityType = exports.isOneTrustHost = exports.isNavigableUrl = exports.isMatchDebugEnabled = exports.isLegacyUrl = void 0;
7
- 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 = void 0;
4
+ exports.UserQueryProvider = exports.UserQuery = exports.UnifiedMarkdownParser = exports.UnifiedLink = exports.UNKNOWN_CONSENT = exports.UNBRANDED_ASSISTANT_NAME = 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.SectionsRuntimeProvider = exports.SectionSkeleton = exports.SectionRuntimeProvider = exports.SearchSectionDefinition = exports.SearchSection = exports.STREAMING_TIMEOUT_MS = exports.REFRESH_PROMPTS_WINDOW_MS = exports.REFRESH_PROMPTS_UNTIL_KEY = exports.PromptEntryEmptyState = exports.PoweredByBadge = exports.PlacementSmoothHeight = exports.PlacementResponseRenderer = exports.PlacementPayloadProvider = exports.PlacementLoader = exports.PRODUCT_BY_HANDLE_QUERY = exports.PRODUCT_BACK_SESSION_KEY = exports.PLATFORM_ENTITY_TYPES = exports.OptimizedImage = exports.NextStepsSectionDefinition = exports.MetricsSectionDefinition = exports.MarkdownText = exports.MATCH_DEBUG_QUERY_PARAM = exports.MATCH_DEBUG_KEY = exports.Loader = exports.ListItemsSectionDefinition = exports.LinkType = exports.LIST_ITEMS_ENDPOINT = exports.KpiSectionDefinition = exports.ImageSlotProvider = 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.DiagnosticsCollector = exports.DROP_SECTION = exports.DIAGNOSTIC_TYPES = exports.DEFAULT_PROMPT_PLACEHOLDER = exports.DEFAULT_POWERED_BY_HREF = exports.DEFAULT_ERROR_TEMPLATES = exports.DEFAULT_BACKEND_ENVIRONMENT = exports.DEFAULT_AI_DISCLOSURE_TEXT = 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.AiIcon = exports.AiDisclosure = exports.ASSISTANT_TOKEN = exports.ARTICLE_BY_HANDLE_QUERY = void 0;
5
+ exports.isDocumentFamilyEntityType = 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.composeSemantic = exports.cn = exports.clearForwardStack = exports.buildProbeUrl = exports.buildPlacementDependencies = exports.buildImageSearchFilter = exports.bucketOf = exports.backgroundFilter = exports.assistantName = exports.applyThemeOverrides = 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 = void 0;
6
+ exports.useEntityTransforms = exports.useDebugImageContext = exports.useCurrentSectionOptions = exports.useCurrentSectionId = 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.resolveEntityTypeConfig = exports.resolveClientBundleUrl = exports.resolveAssistantPlaceholder = 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 = 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 = void 0;
7
+ 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.useImageSlotCollector = exports.useImageSlot = exports.useFeatureToggles = exports.useFeatureToggle = void 0;
8
8
  var _clients = require("./clients");
9
9
  exports.CLIENT_IDS = _clients.CLIENT_IDS;
10
10
  exports.EXPERIMENT_IDS = _clients.EXPERIMENT_IDS;
@@ -260,8 +260,13 @@ var _FeedbackBar = require("./components/ui/FeedbackBar");
260
260
  exports.FeedbackBar = _FeedbackBar.FeedbackBar;
261
261
  var _AiDisclosure = require("./components/ui/AiDisclosure");
262
262
  exports.AiDisclosure = _AiDisclosure.AiDisclosure;
263
- exports.ASSISTANT_TOKEN = _AiDisclosure.ASSISTANT_TOKEN;
264
263
  exports.DEFAULT_AI_DISCLOSURE_TEXT = _AiDisclosure.DEFAULT_AI_DISCLOSURE_TEXT;
264
+ var _assistant = require("./lib/assistant");
265
+ exports.ASSISTANT_TOKEN = _assistant.ASSISTANT_TOKEN;
266
+ exports.UNBRANDED_ASSISTANT_NAME = _assistant.UNBRANDED_ASSISTANT_NAME;
267
+ exports.DEFAULT_PROMPT_PLACEHOLDER = _assistant.DEFAULT_PROMPT_PLACEHOLDER;
268
+ exports.assistantName = _assistant.assistantName;
269
+ exports.resolveAssistantPlaceholder = _assistant.resolveAssistantPlaceholder;
265
270
  var _AiIcon = require("./components/ui/icons/AiIcon");
266
271
  exports.AiIcon = _AiIcon.AiIcon;
267
272
  var _PoweredByBadge = require("./components/ui/PoweredByBadge");
@@ -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","MetricsSectionDefinition","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","isDocumentFamilyEntityType","PLATFORM_ENTITY_TYPES","resolveEntityTypeConfig","_callout","CALLOUT_KINDS","CALLOUT_SEMANTICS","_useWeb5Link","useWeb5Link","_useConversation","useConversation","_useDebugImageContext","useDebugImageContext","_useResolvedImageSources","useResolvedImageSources","_useImageSlot","useImageSlot","_ImageSlotContext","ImageSlotProvider","useImageSlotCollector","_SectionRuntimeContext","SectionsRuntimeProvider","SectionRuntimeProvider","useCurrentSectionOptions","useCurrentSectionId","_composeSemantic","composeSemantic","_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","_AiDisclosure","AiDisclosure","ASSISTANT_TOKEN","DEFAULT_AI_DISCLOSURE_TEXT","_AiIcon","AiIcon","_PoweredByBadge","PoweredByBadge","DEFAULT_POWERED_BY_HREF","_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 MetricsCompProps,\n MetricsItemCompProps,\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 MetricsItemComponent,\n FeatureItemComponent,\n FeatureCardComponent,\n GenericEntityComponent,\n AiNarrativeComponent,\n ComparisonSectionComponent,\n TextBlockSectionComponent,\n HeroSectionComponent,\n HeroEntitySectionComponent,\n KpiSectionComponent,\n MetricsSectionComponent,\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 MetricsSectionDefinition,\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 isDocumentFamilyEntityType,\n PLATFORM_ENTITY_TYPES,\n resolveEntityTypeConfig,\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';\n\n// Image slots (ADR 0222/0223/0225): a section declares the holes in its layout\n// and a per-section collector resolves them as one set. Replaces the per-image\n// `useResolvedImageSources` path above, which is kept until its callers move.\nexport { useImageSlot } from './hooks/useImageSlot';\nexport type {\n UseImageSlotOptions,\n ResolvedImage,\n} from './hooks/useImageSlot';\nexport {\n ImageSlotProvider,\n useImageSlotCollector,\n} from './context/ImageSlotContext';\nexport type {\n ImageSlotCollector,\n ImageSlotProviderProps,\n} from './context/ImageSlotContext';\n\n// Section runtime: the host mounts these around the page and around each\n// section, so a component can read the id of the section it renders inside\n// and the `componentOptions` its registry entry carried. Client bundles used\n// to ship their own copies as uiSlots; those are superseded by this.\nexport {\n SectionsRuntimeProvider,\n SectionRuntimeProvider,\n useCurrentSectionOptions,\n useCurrentSectionId,\n} from './context/SectionRuntimeContext';\nexport type {\n RuntimeSection,\n SectionsRuntimeProviderProps,\n SectionRuntimeProviderProps,\n} from './context/SectionRuntimeContext';\nexport { composeSemantic } from './image/composeSemantic';\nexport type { ComposeSemanticInput } from './image/composeSemantic';\nexport type {\n ImageSlotKind,\n ImageMatchQuality,\n ImageKind,\n ImageBackground,\n ImageSlotRequest,\n ImagePalette,\n ImageStatGrid,\n ImageVisualMetadata,\n ResolvedImageSlot,\n ResolveImageSetResponse,\n ResolveImageSetPort,\n SlotState,\n ImageSubject,\n} from './image/imageSlotTypes';\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 {\n AiDisclosure,\n ASSISTANT_TOKEN,\n DEFAULT_AI_DISCLOSURE_TEXT,\n type AiDisclosureProps,\n} from './components/ui/AiDisclosure';\nexport { AiIcon } from './components/ui/icons/AiIcon';\nexport {\n PoweredByBadge,\n DEFAULT_POWERED_BY_HREF,\n type PoweredByBadgeProps,\n} from './components/ui/PoweredByBadge';\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":[]}
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","MetricsSectionDefinition","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","isDocumentFamilyEntityType","PLATFORM_ENTITY_TYPES","resolveEntityTypeConfig","_callout","CALLOUT_KINDS","CALLOUT_SEMANTICS","_useWeb5Link","useWeb5Link","_useConversation","useConversation","_useDebugImageContext","useDebugImageContext","_useResolvedImageSources","useResolvedImageSources","_useImageSlot","useImageSlot","_ImageSlotContext","ImageSlotProvider","useImageSlotCollector","_SectionRuntimeContext","SectionsRuntimeProvider","SectionRuntimeProvider","useCurrentSectionOptions","useCurrentSectionId","_composeSemantic","composeSemantic","_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","_AiDisclosure","AiDisclosure","DEFAULT_AI_DISCLOSURE_TEXT","_assistant","ASSISTANT_TOKEN","UNBRANDED_ASSISTANT_NAME","DEFAULT_PROMPT_PLACEHOLDER","assistantName","resolveAssistantPlaceholder","_AiIcon","AiIcon","_PoweredByBadge","PoweredByBadge","DEFAULT_POWERED_BY_HREF","_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 MetricsCompProps,\n MetricsItemCompProps,\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 MetricsItemComponent,\n FeatureItemComponent,\n FeatureCardComponent,\n GenericEntityComponent,\n AiNarrativeComponent,\n ComparisonSectionComponent,\n TextBlockSectionComponent,\n HeroSectionComponent,\n HeroEntitySectionComponent,\n KpiSectionComponent,\n MetricsSectionComponent,\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 MetricsSectionDefinition,\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 isDocumentFamilyEntityType,\n PLATFORM_ENTITY_TYPES,\n resolveEntityTypeConfig,\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';\n\n// Image slots (ADR 0222/0223/0225): a section declares the holes in its layout\n// and a per-section collector resolves them as one set. Replaces the per-image\n// `useResolvedImageSources` path above, which is kept until its callers move.\nexport { useImageSlot } from './hooks/useImageSlot';\nexport type {\n UseImageSlotOptions,\n ResolvedImage,\n} from './hooks/useImageSlot';\nexport {\n ImageSlotProvider,\n useImageSlotCollector,\n} from './context/ImageSlotContext';\nexport type {\n ImageSlotCollector,\n ImageSlotProviderProps,\n} from './context/ImageSlotContext';\n\n// Section runtime: the host mounts these around the page and around each\n// section, so a component can read the id of the section it renders inside\n// and the `componentOptions` its registry entry carried. Client bundles used\n// to ship their own copies as uiSlots; those are superseded by this.\nexport {\n SectionsRuntimeProvider,\n SectionRuntimeProvider,\n useCurrentSectionOptions,\n useCurrentSectionId,\n} from './context/SectionRuntimeContext';\nexport type {\n RuntimeSection,\n SectionsRuntimeProviderProps,\n SectionRuntimeProviderProps,\n} from './context/SectionRuntimeContext';\nexport { composeSemantic } from './image/composeSemantic';\nexport type { ComposeSemanticInput } from './image/composeSemantic';\nexport type {\n ImageSlotKind,\n ImageMatchQuality,\n ImageKind,\n ImageBackground,\n ImageSlotRequest,\n ImagePalette,\n ImageStatGrid,\n ImageVisualMetadata,\n ResolvedImageSlot,\n ResolveImageSetResponse,\n ResolveImageSetPort,\n SlotState,\n ImageSubject,\n} from './image/imageSlotTypes';\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 {\n AiDisclosure,\n DEFAULT_AI_DISCLOSURE_TEXT,\n type AiDisclosureProps,\n} from './components/ui/AiDisclosure';\nexport {\n ASSISTANT_TOKEN,\n UNBRANDED_ASSISTANT_NAME,\n DEFAULT_PROMPT_PLACEHOLDER,\n assistantName,\n resolveAssistantPlaceholder,\n} from './lib/assistant';\nexport { AiIcon } from './components/ui/icons/AiIcon';\nexport {\n PoweredByBadge,\n DEFAULT_POWERED_BY_HREF,\n type PoweredByBadgeProps,\n} from './components/ui/PoweredByBadge';\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;AAyFvB,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;AAqB0CC,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,wBAAA,GAAAJ,qBAAA,CAAAI,wBAAA;AAAA/B,OAAA,CAAAgC,6BAAA,GAAAL,qBAAA,CAAAK,6BAAA;AAAAhC,OAAA,CAAAiC,uBAAA,GAAAN,qBAAA,CAAAM,uBAAA;AAAAjC,OAAA,CAAAkC,iCAAA,GAAAP,qBAAA,CAAAO,iCAAA;AAAAlC,OAAA,CAAAmC,2BAAA,GAAAR,qBAAA,CAAAQ,2BAAA;AAAAnC,OAAA,CAAAoC,0BAAA,GAAAT,qBAAA,CAAAS,0BAAA;AAAApC,OAAA,CAAAqC,0BAAA,GAAAV,qBAAA,CAAAU,0BAAA;AAAArC,OAAA,CAAAsC,wBAAA,GAAAX,qBAAA,CAAAW,wBAAA;AAAAtC,OAAA,CAAAuC,0BAAA,GAAAZ,qBAAA,CAAAY,0BAAA;AAAAvC,OAAA,CAAAwC,6BAAA,GAAAb,qBAAA,CAAAa,6BAAA;AAAAxC,OAAA,CAAAyC,0BAAA,GAAAd,qBAAA,CAAAc,0BAAA;AAAAzC,OAAA,CAAA0C,0BAAA,GAAAf,qBAAA,CAAAe,0BAAA;AAAA1C,OAAA,CAAA2C,4BAAA,GAAAhB,qBAAA,CAAAgB,4BAAA;AAAA3C,OAAA,CAAA4C,uBAAA,GAAAjB,qBAAA,CAAAiB,uBAAA;AAAA5C,OAAA,CAAA6C,sBAAA,GAAAlB,qBAAA,CAAAkB,sBAAA;AAAA7C,OAAA,CAAA8C,yBAAA,GAAAnB,qBAAA,CAAAmB,yBAAA;AAAA9C,OAAA,CAAA+C,iBAAA,GAAApB,qBAAA,CAAAoB,iBAAA;AAG1C,IAAAC,SAAA,GAAAjD,OAAA;AAA+CC,OAAA,CAAAiD,iBAAA,GAAAD,SAAA,CAAAC,iBAAA;AAiB/C,IAAAC,iBAAA,GAAAnD,OAAA;AAS4BC,OAAA,CAAAmD,eAAA,GAAAD,iBAAA,CAAAC,eAAA;AAAAnD,OAAA,CAAAoD,qBAAA,GAAAF,iBAAA,CAAAE,qBAAA;AAAApD,OAAA,CAAAqD,yBAAA,GAAAH,iBAAA,CAAAG,yBAAA;AAG5B,IAAAC,eAAA,GAAAvD,OAAA;AAI0BC,OAAA,CAAAuD,sBAAA,GAAAD,eAAA,CAAAC,sBAAA;AAAAvD,OAAA,CAAAwD,iCAAA,GAAAF,eAAA,CAAAE,iCAAA;AAG1B,IAAAC,UAAA,GAAA1D,OAAA;AA2B4BC,OAAA,CAAA0D,WAAA,GAAAD,UAAA,CAAAC,WAAA;AAAA1D,OAAA,CAAA2D,YAAA,GAAAF,UAAA,CAAAE,YAAA;AAAA3D,OAAA,CAAA4D,eAAA,GAAAH,UAAA,CAAAG,eAAA;AAAA5D,OAAA,CAAA6D,cAAA,GAAAJ,UAAA,CAAAI,cAAA;AAAA7D,OAAA,CAAA8D,aAAA,GAAAL,UAAA,CAAAK,aAAA;AAAA9D,OAAA,CAAA+D,eAAA,GAAAN,UAAA,CAAAM,eAAA;AAAA/D,OAAA,CAAAgE,eAAA,GAAAP,UAAA,CAAAO,eAAA;AAAAhE,OAAA,CAAAiE,SAAA,GAAAR,UAAA,CAAAQ,SAAA;AAAAjE,OAAA,CAAAkE,cAAA,GAAAT,UAAA,CAAAS,cAAA;AAAAlE,OAAA,CAAAmE,cAAA,GAAAV,UAAA,CAAAU,cAAA;AAAAnE,OAAA,CAAAoE,WAAA,GAAAX,UAAA,CAAAW,WAAA;AAG5B,IAAAC,iBAAA,GAAAtE,OAAA;AAekCC,OAAA,CAAAsE,YAAA,GAAAD,iBAAA,CAAAC,YAAA;AAAAtE,OAAA,CAAAuE,cAAA,GAAAF,iBAAA,CAAAE,cAAA;AAAAvE,OAAA,CAAAwE,eAAA,GAAAH,iBAAA,CAAAG,eAAA;AAAAxE,OAAA,CAAAyE,YAAA,GAAAJ,iBAAA,CAAAI,YAAA;AAAAzE,OAAA,CAAA0E,eAAA,GAAAL,iBAAA,CAAAK,eAAA;AAAA1E,OAAA,CAAA2E,eAAA,GAAAN,iBAAA,CAAAM,eAAA;AAAA3E,OAAA,CAAA4E,mBAAA,GAAAP,iBAAA,CAAAO,mBAAA;AAGlC,IAAAC,kBAAA,GAAA9E,OAAA;AAGmCC,OAAA,CAAA8E,oBAAA,GAAAD,kBAAA,CAAAC,oBAAA;AAGnC,IAAAC,aAAA,GAAAhF,OAAA;AAA+DC,OAAA,CAAAgF,QAAA,GAAAD,aAAA,CAAAC,QAAA;AAAAhF,OAAA,CAAAiF,aAAA,GAAAF,aAAA,CAAAE,aAAA;AAG/D,IAAAC,MAAA,GAAAnF,OAAA;AAMiBC,OAAA,CAAAmF,aAAA,GAAAD,MAAA,CAAAC,aAAA;AAAAnF,OAAA,CAAAoF,gBAAA,GAAAF,MAAA,CAAAE,gBAAA;AAAApF,OAAA,CAAAqF,YAAA,GAAAH,MAAA,CAAAG,YAAA;AAOjB,IAAAC,6BAAA,GAAAvF,OAAA;AAIgDC,OAAA,CAAAuF,6BAAA,GAAAD,6BAAA,CAAAC,6BAAA;AAAAvF,OAAA,CAAAwF,wBAAA,GAAAF,6BAAA,CAAAE,wBAAA;AAGhD,IAAAC,iBAAA,GAAA1F,OAAA;AAIoCC,OAAA,CAAA0F,iBAAA,GAAAD,iBAAA,CAAAC,iBAAA;AAAA1F,OAAA,CAAA2F,YAAA,GAAAF,iBAAA,CAAAE,YAAA;AAGpC,IAAAC,aAAA,GAAA7F,OAAA;AAIgCC,OAAA,CAAA6F,aAAA,GAAAD,aAAA,CAAAC,aAAA;AAAA7F,OAAA,CAAA8F,QAAA,GAAAF,aAAA,CAAAE,QAAA;AAuBhC,IAAAC,OAAA,GAAAhG,OAAA;AAyBkBC,OAAA,CAAAgG,gBAAA,GAAAD,OAAA,CAAAC,gBAAA;AAAAhG,OAAA,CAAAiG,yBAAA,GAAAF,OAAA,CAAAE,yBAAA;AAAAjG,OAAA,CAAAkG,UAAA,GAAAH,OAAA,CAAAG,UAAA;AAAAlG,OAAA,CAAAmG,mBAAA,GAAAJ,OAAA,CAAAI,mBAAA;AAAAnG,OAAA,CAAAoG,aAAA,GAAAL,OAAA,CAAAK,aAAA;AAAApG,OAAA,CAAAqG,sBAAA,GAAAN,OAAA,CAAAM,sBAAA;AAAArG,OAAA,CAAAsG,eAAA,GAAAP,OAAA,CAAAO,eAAA;AAAAtG,OAAA,CAAAuG,mBAAA,GAAAR,OAAA,CAAAQ,mBAAA;AAAAvG,OAAA,CAAAwG,eAAA,GAAAT,OAAA,CAAAS,eAAA;AAAAxG,OAAA,CAAAyG,mBAAA,GAAAV,OAAA,CAAAU,mBAAA;AAAAzG,OAAA,CAAA0G,kBAAA,GAAAX,OAAA,CAAAW,kBAAA;AAAA1G,OAAA,CAAA2G,uBAAA,GAAAZ,OAAA,CAAAY,uBAAA;AAAA3G,OAAA,CAAA4G,6BAAA,GAAAb,OAAA,CAAAa,6BAAA;AAAA5G,OAAA,CAAA6G,6BAAA,GAAAd,OAAA,CAAAc,6BAAA;AAAA7G,OAAA,CAAA8G,4BAAA,GAAAf,OAAA,CAAAe,4BAAA;AAAA9G,OAAA,CAAA+G,gBAAA,GAAAhB,OAAA,CAAAgB,gBAAA;AAAA/G,OAAA,CAAAgH,WAAA,GAAAjB,OAAA,CAAAiB,WAAA;AAAAhH,OAAA,CAAAiH,gBAAA,GAAAlB,OAAA,CAAAkB,gBAAA;AAAAjH,OAAA,CAAAkH,gBAAA,GAAAnB,OAAA,CAAAmB,gBAAA;AAAAlH,OAAA,CAAAmH,uBAAA,GAAApB,OAAA,CAAAoB,uBAAA;AAAAnH,OAAA,CAAAoH,yBAAA,GAAArB,OAAA,CAAAqB,yBAAA;AAAApH,OAAA,CAAAqH,0BAAA,GAAAtB,OAAA,CAAAsB,0BAAA;AAAArH,OAAA,CAAAsH,qBAAA,GAAAvB,OAAA,CAAAuB,qBAAA;AAAAtH,OAAA,CAAAuH,uBAAA,GAAAxB,OAAA,CAAAwB,uBAAA;AAQlB,IAAAC,QAAA,GAAAzH,OAAA;AAMyBC,OAAA,CAAAyH,aAAA,GAAAD,QAAA,CAAAC,aAAA;AAAAzH,OAAA,CAAA0H,iBAAA,GAAAF,QAAA,CAAAE,iBAAA;AAGzB,IAAAC,YAAA,GAAA5H,OAAA;AAAkDC,OAAA,CAAA4H,WAAA,GAAAD,YAAA,CAAAC,WAAA;AAClD,IAAAC,gBAAA,GAAA9H,OAAA;AAA0DC,OAAA,CAAA8H,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AAC1D,IAAAC,qBAAA,GAAAhI,OAAA;AAAoEC,OAAA,CAAAgI,oBAAA,GAAAD,qBAAA,CAAAC,oBAAA;AACpE,IAAAC,wBAAA,GAAAlI,OAAA;AAA0EC,OAAA,CAAAkI,uBAAA,GAAAD,wBAAA,CAAAC,uBAAA;AAK1E,IAAAC,aAAA,GAAApI,OAAA;AAAoDC,OAAA,CAAAoI,YAAA,GAAAD,aAAA,CAAAC,YAAA;AAKpD,IAAAC,iBAAA,GAAAtI,OAAA;AAGoCC,OAAA,CAAAsI,iBAAA,GAAAD,iBAAA,CAAAC,iBAAA;AAAAtI,OAAA,CAAAuI,qBAAA,GAAAF,iBAAA,CAAAE,qBAAA;AAUpC,IAAAC,sBAAA,GAAAzI,OAAA;AAKyCC,OAAA,CAAAyI,uBAAA,GAAAD,sBAAA,CAAAC,uBAAA;AAAAzI,OAAA,CAAA0I,sBAAA,GAAAF,sBAAA,CAAAE,sBAAA;AAAA1I,OAAA,CAAA2I,wBAAA,GAAAH,sBAAA,CAAAG,wBAAA;AAAA3I,OAAA,CAAA4I,mBAAA,GAAAJ,sBAAA,CAAAI,mBAAA;AAMzC,IAAAC,gBAAA,GAAA9I,OAAA;AAA0DC,OAAA,CAAA8I,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AAiB1D,IAAAC,4BAAA,GAAAhJ,OAAA;AAAkFC,OAAA,CAAAgJ,2BAAA,GAAAD,4BAAA,CAAAC,2BAAA;AAClF,IAAAC,oBAAA,GAAAlJ,OAAA;AAAkEC,OAAA,CAAAkJ,mBAAA,GAAAD,oBAAA,CAAAC,mBAAA;AAClE,IAAAC,iBAAA,GAAApJ,OAAA;AAA4DC,OAAA,CAAAoJ,gBAAA,GAAAD,iBAAA,CAAAC,gBAAA;AAC5D,IAAAC,4BAAA,GAAAtJ,OAAA;AAAkFC,OAAA,CAAAsJ,2BAAA,GAAAD,4BAAA,CAAAC,2BAAA;AAClF,IAAAC,iCAAA,GAAAxJ,OAAA;AAA4FC,OAAA,CAAAwJ,gCAAA,GAAAD,iCAAA,CAAAC,gCAAA;AAG5F,IAAAC,aAAA,GAAA1J,OAAA;AAIiCC,OAAA,CAAA0J,sBAAA,GAAAD,aAAA,CAAAC,sBAAA;AAAA1J,OAAA,CAAA2J,yBAAA,GAAAF,aAAA,CAAAE,yBAAA;AAAA3J,OAAA,CAAA4J,kCAAA,GAAAH,aAAA,CAAAG,kCAAA;AAUjC,IAAAC,KAAA,GAAA9J,OAAA;AAA4CC,OAAA,CAAA8J,SAAA,GAAAD,KAAA,CAAAC,SAAA;AAE5C,IAAAC,QAAA,GAAAhK,OAAA;AAW4BC,OAAA,CAAAgK,uBAAA,GAAAD,QAAA,CAAAC,uBAAA;AAAAhK,OAAA,CAAAiK,oBAAA,GAAAF,QAAA,CAAAE,oBAAA;AAAAjK,OAAA,CAAAkK,oBAAA,GAAAH,QAAA,CAAAG,oBAAA;AAAAlK,OAAA,CAAAmK,uBAAA,GAAAJ,QAAA,CAAAI,uBAAA;AAAAnK,OAAA,CAAAoK,0BAAA,GAAAL,QAAA,CAAAK,0BAAA;AAAApK,OAAA,CAAAqK,uBAAA,GAAAN,QAAA,CAAAM,uBAAA;AAAArK,OAAA,CAAAsK,gCAAA,GAAAP,QAAA,CAAAO,gCAAA;AAAAtK,OAAA,CAAAuK,uBAAA,GAAAR,QAAA,CAAAQ,uBAAA;AAAAvK,OAAA,CAAAwK,0BAAA,GAAAT,QAAA,CAAAS,0BAAA;AAAAxK,OAAA,CAAAyK,uBAAA,GAAAV,QAAA,CAAAU,uBAAA;AAW5B,IAAAC,MAAA,GAAA3K,OAAA;AAAiCC,OAAA,CAAA2K,EAAA,GAAAD,MAAA,CAAAC,EAAA;AACjC,IAAAC,WAAA,GAAA7K,OAAA;AAA4EC,OAAA,CAAA6K,iBAAA,GAAAD,WAAA,CAAAC,iBAAA;AAAA7K,OAAA,CAAA8K,kBAAA,GAAAF,WAAA,CAAAE,kBAAA;AAC5E,IAAAC,cAAA,GAAAhL,OAAA;AAS+BC,OAAA,CAAAgL,eAAA,GAAAD,cAAA,CAAAC,eAAA;AAAAhL,OAAA,CAAAiL,kBAAA,GAAAF,cAAA,CAAAE,kBAAA;AAAAjL,OAAA,CAAAkL,aAAA,GAAAH,cAAA,CAAAG,aAAA;AAAAlL,OAAA,CAAAmL,eAAA,GAAAJ,cAAA,CAAAI,eAAA;AAAAnL,OAAA,CAAAoL,oBAAA,GAAAL,cAAA,CAAAK,oBAAA;AAC/B,IAAAC,WAAA,GAAAtL,OAAA;AAA6EC,OAAA,CAAAsL,aAAA,GAAAD,WAAA,CAAAC,aAAA;AAG7E,IAAAC,WAAA,GAAAxL,OAAA;AAS4BC,OAAA,CAAAwL,QAAA,GAAAD,WAAA,CAAAC,QAAA;AAAAxL,OAAA,CAAAyL,QAAA,GAAAF,WAAA,CAAAE,QAAA;AAAAzL,OAAA,CAAA0L,kBAAA,GAAAH,WAAA,CAAAG,kBAAA;AAAA1L,OAAA,CAAA2L,KAAA,GAAAJ,WAAA,CAAAI,KAAA;AAAA3L,OAAA,CAAA4L,eAAA,GAAAL,WAAA,CAAAK,eAAA;AAAA5L,OAAA,CAAA6L,kBAAA,GAAAN,WAAA,CAAAM,kBAAA;AAAA7L,OAAA,CAAA8L,gBAAA,GAAAP,WAAA,CAAAO,gBAAA;AAG5B,IAAAC,gBAAA,GAAAhM,OAAA;AASiCC,OAAA,CAAAgM,SAAA,GAAAD,gBAAA,CAAAC,SAAA;AAAAhM,OAAA,CAAAiM,gBAAA,GAAAF,gBAAA,CAAAE,gBAAA;AAAAjM,OAAA,CAAAkM,aAAA,GAAAH,gBAAA,CAAAG,aAAA;AAAAlM,OAAA,CAAAmM,SAAA,GAAAJ,gBAAA,CAAAI,SAAA;AAAAnM,OAAA,CAAAoM,QAAA,GAAAL,gBAAA,CAAAK,QAAA;AAAApM,OAAA,CAAAqM,kBAAA,GAAAN,gBAAA,CAAAM,kBAAA;AAAArM,OAAA,CAAAsM,mBAAA,GAAAP,gBAAA,CAAAO,mBAAA;AAGjC,IAAAC,QAAA,GAAAxM,OAAA;AAoCmBC,OAAA,CAAAwM,eAAA,GAAAD,QAAA,CAAAC,eAAA;AAAAxM,OAAA,CAAAyM,mBAAA,GAAAF,QAAA,CAAAE,mBAAA;AAAAzM,OAAA,CAAA0M,QAAA,GAAAH,QAAA,CAAAG,QAAA;AAAA1M,OAAA,CAAA2M,WAAA,GAAAJ,QAAA,CAAAI,WAAA;AAAA3M,OAAA,CAAA4M,kBAAA,GAAAL,QAAA,CAAAK,kBAAA;AAAA5M,OAAA,CAAA6M,aAAA,GAAAN,QAAA,CAAAM,aAAA;AAAA7M,OAAA,CAAA8M,kBAAA,GAAAP,QAAA,CAAAO,kBAAA;AAAA9M,OAAA,CAAA+M,kBAAA,GAAAR,QAAA,CAAAQ,kBAAA;AAAA/M,OAAA,CAAAgN,WAAA,GAAAT,QAAA,CAAAS,WAAA;AAAAhN,OAAA,CAAAiN,kBAAA,GAAAV,QAAA,CAAAU,kBAAA;AAAAjN,OAAA,CAAAkN,sBAAA,GAAAX,QAAA,CAAAW,sBAAA;AAAAlN,OAAA,CAAAmN,wBAAA,GAAAZ,QAAA,CAAAY,wBAAA;AAAAnN,OAAA,CAAAoN,qBAAA,GAAAb,QAAA,CAAAa,qBAAA;AAAApN,OAAA,CAAAqN,mBAAA,GAAAd,QAAA,CAAAc,mBAAA;AAAArN,OAAA,CAAAsN,wBAAA,GAAAf,QAAA,CAAAe,wBAAA;AAAAtN,OAAA,CAAAuN,qBAAA,GAAAhB,QAAA,CAAAgB,qBAAA;AAAAvN,OAAA,CAAAwN,eAAA,GAAAjB,QAAA,CAAAiB,eAAA;AAAAxN,OAAA,CAAAyN,oBAAA,GAAAlB,QAAA,CAAAkB,oBAAA;AAAAzN,OAAA,CAAA0N,4BAAA,GAAAnB,QAAA,CAAAmB,4BAAA;AAAA1N,OAAA,CAAA2N,kBAAA,GAAApB,QAAA,CAAAoB,kBAAA;AAAA3N,OAAA,CAAA4N,kBAAA,GAAArB,QAAA,CAAAqB,kBAAA;AAAA5N,OAAA,CAAA6N,4BAAA,GAAAtB,QAAA,CAAAsB,4BAAA;AAAA7N,OAAA,CAAA8N,aAAA,GAAAvB,QAAA,CAAAuB,aAAA;AAAA9N,OAAA,CAAA+N,6BAAA,GAAAxB,QAAA,CAAAwB,6BAAA;AAAA/N,OAAA,CAAAgO,cAAA,GAAAzB,QAAA,CAAAyB,cAAA;AAAAhO,OAAA,CAAAiO,iCAAA,GAAA1B,QAAA,CAAA0B,iCAAA;AAAAjO,OAAA,CAAAkO,sBAAA,GAAA3B,QAAA,CAAA2B,sBAAA;AAAAlO,OAAA,CAAAmO,kBAAA,GAAA5B,QAAA,CAAA4B,kBAAA;AAGnB,IAAAC,OAAA,GAAArO,OAAA;AAakBC,OAAA,CAAAqO,cAAA,GAAAD,OAAA,CAAAC,cAAA;AAAArO,OAAA,CAAAsO,sBAAA,GAAAF,OAAA,CAAAE,sBAAA;AAAAtO,OAAA,CAAAuO,mBAAA,GAAAH,OAAA,CAAAG,mBAAA;AAAAvO,OAAA,CAAAwO,oBAAA,GAAAJ,OAAA,CAAAI,oBAAA;AAAAxO,OAAA,CAAAyO,uBAAA,GAAAL,OAAA,CAAAK,uBAAA;AAAAzO,OAAA,CAAA0O,oBAAA,GAAAN,OAAA,CAAAM,oBAAA;AAGlB,IAAAC,gBAAA,GAAA5O,OAAA;AAMiCC,OAAA,CAAA4O,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AAAA5O,OAAA,CAAA6O,eAAA,GAAAF,gBAAA,CAAAE,eAAA;AAAA7O,OAAA,CAAA8O,iBAAA,GAAAH,gBAAA,CAAAG,iBAAA;AAAA9O,OAAA,CAAA+O,kBAAA,GAAAJ,gBAAA,CAAAI,kBAAA;AAAA/O,OAAA,CAAAgP,mBAAA,GAAAL,gBAAA,CAAAK,mBAAA;AAGjC,IAAAC,UAAA,GAAAlP,OAAA;AAImCC,OAAA,CAAAkP,SAAA,GAAAD,UAAA,CAAAC,SAAA;AACnC,IAAAC,mBAAA,GAAApP,OAAA;AAKoCC,OAAA,CAAAoP,wBAAA,GAAAD,mBAAA,CAAAC,wBAAA;AAAApP,OAAA,CAAAqP,uBAAA,GAAAF,mBAAA,CAAAE,uBAAA;AAAArP,OAAA,CAAAsP,sBAAA,GAAAH,mBAAA,CAAAG,sBAAA;AACpC,IAAAC,sBAAA,GAAAxP,OAAA;AAG+CC,OAAA,CAAAwP,qBAAA,GAAAD,sBAAA,CAAAC,qBAAA;AAC/C,IAAAC,cAAA,GAAA1P,OAAA;AAKuCC,OAAA,CAAA0P,aAAA,GAAAD,cAAA,CAAAC,aAAA;AACvC,IAAAC,YAAA,GAAA5P,OAAA;AAMqCC,OAAA,CAAA4P,WAAA,GAAAD,YAAA,CAAAC,WAAA;AACrC,IAAAC,aAAA,GAAA9P,OAAA;AAIsCC,OAAA,CAAA8P,YAAA,GAAAD,aAAA,CAAAC,YAAA;AAAA9P,OAAA,CAAA+P,0BAAA,GAAAF,aAAA,CAAAE,0BAAA;AACtC,IAAAC,UAAA,GAAAjQ,OAAA;AAMyBC,OAAA,CAAAiQ,eAAA,GAAAD,UAAA,CAAAC,eAAA;AAAAjQ,OAAA,CAAAkQ,wBAAA,GAAAF,UAAA,CAAAE,wBAAA;AAAAlQ,OAAA,CAAAmQ,0BAAA,GAAAH,UAAA,CAAAG,0BAAA;AAAAnQ,OAAA,CAAAoQ,aAAA,GAAAJ,UAAA,CAAAI,aAAA;AAAApQ,OAAA,CAAAqQ,2BAAA,GAAAL,UAAA,CAAAK,2BAAA;AACzB,IAAAC,OAAA,GAAAvQ,OAAA;AAAsDC,OAAA,CAAAuQ,MAAA,GAAAD,OAAA,CAAAC,MAAA;AACtD,IAAAC,eAAA,GAAAzQ,OAAA;AAIwCC,OAAA,CAAAyQ,cAAA,GAAAD,eAAA,CAAAC,cAAA;AAAAzQ,OAAA,CAAA0Q,uBAAA,GAAAF,eAAA,CAAAE,uBAAA;AACxC,IAAAC,gBAAA,GAAA5Q,OAAA;AAGyCC,OAAA,CAAA4Q,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AACzC,IAAAC,aAAA,GAAA9Q,OAAA;AAA4DC,OAAA,CAAA8Q,YAAA,GAAAD,aAAA,CAAAC,YAAA;AAC5D,IAAAC,aAAA,GAAAhR,OAAA;AAGsCC,OAAA,CAAAgR,YAAA,GAAAD,aAAA,CAAAC,YAAA;AACtC,IAAAC,eAAA,GAAAlR,OAAA;AAGwCC,OAAA,CAAAkR,cAAA,GAAAD,eAAA,CAAAC,cAAA;AACxC,IAAAC,gBAAA,GAAApR,OAAA;AAGyCC,OAAA,CAAAoR,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AACzC,IAAAC,UAAA,GAAAtR,OAAA;AAA2EC,OAAA,CAAAsR,SAAA,GAAAD,UAAA,CAAAC,SAAA;AAC3E,IAAAC,OAAA,GAAAxR,OAAA;AAAkEC,OAAA,CAAAwR,MAAA,GAAAD,OAAA,CAAAC,MAAA;AAClE,IAAAC,gBAAA,GAAA1R,OAAA;AAGyCC,OAAA,CAAA0R,eAAA,GAAAD,gBAAA,CAAAC,eAAA;AACzC,IAAAC,YAAA,GAAA5R,OAAA;AAMqCC,OAAA,CAAA4R,WAAA,GAAAD,YAAA,CAAAC,WAAA;AAAA5R,OAAA,CAAA6R,cAAA,GAAAF,YAAA,CAAAE,cAAA;AAAA7R,OAAA,CAAA8R,QAAA,GAAAH,YAAA,CAAAG,QAAA;AACrC,IAAAC,MAAA,GAAAhS,OAAA;AAS+BC,OAAA,CAAAgS,KAAA,GAAAD,MAAA,CAAAC,KAAA;AAAAhS,OAAA,CAAAiS,WAAA,GAAAF,MAAA,CAAAE,WAAA;AAAAjS,OAAA,CAAAkS,SAAA,GAAAH,MAAA,CAAAG,SAAA;AAAAlS,OAAA,CAAAmS,WAAA,GAAAJ,MAAA,CAAAI,WAAA;AAAAnS,OAAA,CAAAoS,SAAA,GAAAL,MAAA,CAAAK,SAAA;AAAApS,OAAA,CAAAqS,QAAA,GAAAN,MAAA,CAAAM,QAAA;AAAArS,OAAA,CAAAsS,SAAA,GAAAP,MAAA,CAAAO,SAAA;AAAAtS,OAAA,CAAAuS,YAAA,GAAAR,MAAA,CAAAQ,YAAA;AAU/B,IAAAC,eAAA,GAAAzS,OAAA;AAIgCC,OAAA,CAAAyS,qBAAA,GAAAD,eAAA,CAAAC,qBAAA;AAGhC,IAAAC,mBAAA,GAAA3S,OAAA;AAIoCC,OAAA,CAAA2S,yBAAA,GAAAD,mBAAA,CAAAC,yBAAA;AACpC,IAAAC,mBAAA,GAAA7S,OAAA;AAKoCC,OAAA,CAAA6S,yBAAA,GAAAD,mBAAA,CAAAC,yBAAA;AAGpC,IAAAC,cAAA,GAAA/S,OAAA;AAK+BC,OAAA,CAAA+S,mBAAA,GAAAD,cAAA,CAAAC,mBAAA;AAM/B,IAAAC,iBAAA,GAAAjT,OAAA;AAA6DC,OAAA,CAAAiT,gBAAA,GAAAD,iBAAA,CAAAC,gBAAA;AAI7D,IAAAC,qBAAA,GAAAnT,OAAA;AAGuCC,OAAA,CAAAmT,uBAAA,GAAAD,qBAAA,CAAAC,uBAAA;AAAAnT,OAAA,CAAAoT,mBAAA,GAAAF,qBAAA,CAAAE,mBAAA;AAKvC,IAAAC,gBAAA,GAAAtT,OAAA;AAOkCC,OAAA,CAAAsT,kBAAA,GAAAD,gBAAA,CAAAC,kBAAA;AAAAtT,OAAA,CAAAuT,sBAAA,GAAAF,gBAAA,CAAAE,sBAAA;AAAAvT,OAAA,CAAAwT,mBAAA,GAAAH,gBAAA,CAAAG,mBAAA;AAAAxT,OAAA,CAAAyT,yBAAA,GAAAJ,gBAAA,CAAAI,yBAAA;AAAAzT,OAAA,CAAA0T,iBAAA,GAAAL,gBAAA,CAAAK,iBAAA;AAAA1T,OAAA,CAAA2T,sBAAA,GAAAN,gBAAA,CAAAM,sBAAA;AAClC,IAAAC,kBAAA,GAAA7T,OAAA;AAGoCC,OAAA,CAAA6T,iBAAA,GAAAD,kBAAA,CAAAC,iBAAA;AACpC,IAAAC,oBAAA,GAAA/T,OAAA;AAKsCC,OAAA,CAAA+T,mBAAA,GAAAD,oBAAA,CAAAC,mBAAA;AAAA/T,OAAA,CAAAgU,qBAAA,GAAAF,oBAAA,CAAAE,qBAAA;AACtC,IAAAC,cAAA,GAAAlU,OAAA;AAU+BC,OAAA,CAAAkU,oBAAA,GAAAD,cAAA,CAAAC,oBAAA;AAAAlU,OAAA,CAAAmU,YAAA,GAAAF,cAAA,CAAAE,YAAA;AAAAnU,OAAA,CAAAoU,eAAA,GAAAH,cAAA,CAAAG,eAAA;AAAApU,OAAA,CAAAqU,kBAAA,GAAAJ,cAAA,CAAAI,kBAAA;AAAArU,OAAA,CAAAsU,QAAA,GAAAL,cAAA,CAAAK,QAAA;AAAAtU,OAAA,CAAAuU,YAAA,GAAAN,cAAA,CAAAM,YAAA;AAC/B,IAAAC,WAAA,GAAAzU,OAAA;AAM6BC,OAAA,CAAAyU,mBAAA,GAAAD,WAAA,CAAAC,mBAAA;AAAAzU,OAAA,CAAA0U,eAAA,GAAAF,WAAA,CAAAE,eAAA;AAAA1U,OAAA,CAAA2U,uBAAA,GAAAH,WAAA,CAAAG,uBAAA;AAC7B,IAAAC,YAAA,GAAA7U,OAAA;AAI6BC,OAAA,CAAA6U,eAAA,GAAAD,YAAA,CAAAC,eAAA;AAAA7U,OAAA,CAAA8U,eAAA,GAAAF,YAAA,CAAAE,eAAA;AAAA9U,OAAA,CAAA+U,YAAA,GAAAH,YAAA,CAAAG,YAAA;AAG7B,IAAAC,0BAAA,GAAAjV,OAAA;AAM0DC,OAAA,CAAAiV,yBAAA,GAAAD,0BAAA,CAAAC,yBAAA;AAAAjV,OAAA,CAAAkV,qBAAA,GAAAF,0BAAA,CAAAE,qBAAA;AAC1D,IAAAC,2BAAA,GAAApV,OAAA;AAG2DC,OAAA,CAAAoV,0BAAA,GAAAD,2BAAA,CAAAC,0BAAA;AAC3D,IAAAC,wBAAA,GAAAtV,OAAA;AAIwDC,OAAA,CAAAsV,wBAAA,GAAAD,wBAAA,CAAAC,wBAAA;AAAAtV,OAAA,CAAAuV,mBAAA,GAAAF,wBAAA,CAAAE,mBAAA;AAGxD,IAAAC,sBAAA,GAAAzV,OAAA;AAIuCC,OAAA,CAAAyV,qBAAA,GAAAD,sBAAA,CAAAC,qBAAA;AAAAzV,OAAA,CAAA0V,kBAAA,GAAAF,sBAAA,CAAAE,kBAAA;AAAA1V,OAAA,CAAA2V,kBAAA,GAAAH,sBAAA,CAAAG,kBAAA;AACvC,IAAAC,qBAAA,GAAA7V,OAAA;AASsCC,OAAA,CAAA6V,eAAA,GAAAD,qBAAA,CAAAC,eAAA;AAAA7V,OAAA,CAAA8V,iBAAA,GAAAF,qBAAA,CAAAE,iBAAA;AAAA9V,OAAA,CAAA+V,sBAAA,GAAAH,qBAAA,CAAAG,sBAAA;AAAA/V,OAAA,CAAAgW,iBAAA,GAAAJ,qBAAA,CAAAI,iBAAA;AAAAhW,OAAA,CAAAiW,cAAA,GAAAL,qBAAA,CAAAK,cAAA;AAAAjW,OAAA,CAAAkW,kBAAA,GAAAN,qBAAA,CAAAM,kBAAA;AACtC,IAAAC,kBAAA,GAAApW,OAAA;AAGmCC,OAAA,CAAAoW,iBAAA,GAAAD,kBAAA,CAAAC,iBAAA;AACnC,IAAAC,sBAAA,GAAAtW,OAAA;AAGuCC,OAAA,CAAAsW,qBAAA,GAAAD,sBAAA,CAAAC,qBAAA;AAAAtW,OAAA,CAAAuW,0BAAA,GAAAF,sBAAA,CAAAE,0BAAA;AACvC,IAAAC,gBAAA,GAAAzW,OAAA;AAMiCC,OAAA,CAAAyW,yBAAA,GAAAD,gBAAA,CAAAC,yBAAA;AAAAzW,OAAA,CAAA0W,qBAAA,GAAAF,gBAAA,CAAAE,qBAAA;AAEjC,IAAAC,eAAA,GAAA5W,OAAA;AASgCC,OAAA,CAAA4W,iBAAA,GAAAD,eAAA,CAAAC,iBAAA;AAAA5W,OAAA,CAAA6W,iBAAA,GAAAF,eAAA,CAAAE,iBAAA;AAAA7W,OAAA,CAAA8W,UAAA,GAAAH,eAAA,CAAAG,UAAA;AAAA9W,OAAA,CAAA+W,eAAA,GAAAJ,eAAA,CAAAI,eAAA;AAAA/W,OAAA,CAAAgX,mBAAA,GAAAL,eAAA,CAAAK,mBAAA;AAChC,IAAAC,qBAAA,GAAAlX,OAAA;AAGsCC,OAAA,CAAAkX,oBAAA,GAAAD,qBAAA,CAAAC,oBAAA;AACtC,IAAAC,eAAA,GAAApX,OAAA;AAOgCC,OAAA,CAAAoX,yBAAA,GAAAD,eAAA,CAAAC,yBAAA;AAAApX,OAAA,CAAAqX,yBAAA,GAAAF,eAAA,CAAAE,yBAAA;AAAArX,OAAA,CAAAsX,uBAAA,GAAAH,eAAA,CAAAG,uBAAA;AAAAtX,OAAA,CAAAuX,oBAAA,GAAAJ,eAAA,CAAAI,oBAAA;AAAAvX,OAAA,CAAAwX,oBAAA,GAAAL,eAAA,CAAAK,oBAAA;AAAAxX,OAAA,CAAAyX,qBAAA,GAAAN,eAAA,CAAAM,qBAAA;AAChC,IAAAC,mBAAA,GAAA3X,OAAA;AAQoCC,OAAA,CAAA2X,uBAAA,GAAAD,mBAAA,CAAAC,uBAAA;AAAA3X,OAAA,CAAA4X,+BAAA,GAAAF,mBAAA,CAAAE,+BAAA;AAAA5X,OAAA,CAAA6X,2BAAA,GAAAH,mBAAA,CAAAG,2BAAA;AAAA7X,OAAA,CAAA8X,qBAAA,GAAAJ,mBAAA,CAAAI,qBAAA;AAAA9X,OAAA,CAAA+X,qBAAA,GAAAL,mBAAA,CAAAK,qBAAA;AAAA/X,OAAA,CAAAgY,kBAAA,GAAAN,mBAAA,CAAAM,kBAAA;AACpC,IAAAC,WAAA,GAAAlY,OAAA;AAAyDC,OAAA,CAAAkY,mBAAA,GAAAD,WAAA,CAAAC,mBAAA;AACzD,IAAAC,WAAA,GAAApY,OAAA;AAO4BC,OAAA,CAAAoY,eAAA,GAAAD,WAAA,CAAAC,eAAA;AAAApY,OAAA,CAAAqY,uBAAA,GAAAF,WAAA,CAAAE,uBAAA;AAAArY,OAAA,CAAAsY,mBAAA,GAAAH,WAAA,CAAAG,mBAAA;AAAAtY,OAAA,CAAAuY,aAAA,GAAAJ,WAAA,CAAAI,aAAA;AAAAvY,OAAA,CAAAwY,oBAAA,GAAAL,WAAA,CAAAK,oBAAA;AAAAxY,OAAA,CAAAyY,aAAA,GAAAN,WAAA,CAAAM,aAAA;AAC5B,IAAAC,aAAA,GAAA3Y,OAAA;AAA2DC,OAAA,CAAA2Y,kBAAA,GAAAD,aAAA,CAAAC,kBAAA;AAC3D,IAAAC,eAAA,GAAA7Y,OAAA;AAOgCC,OAAA,CAAA6Y,oBAAA,GAAAD,eAAA,CAAAC,oBAAA;AAAA7Y,OAAA,CAAA8Y,YAAA,GAAAF,eAAA,CAAAE,YAAA;AAAA9Y,OAAA,CAAA+Y,SAAA,GAAAH,eAAA,CAAAG,SAAA;AAAA/Y,OAAA,CAAAgZ,cAAA,GAAAJ,eAAA,CAAAI,cAAA;AAAAhZ,OAAA,CAAAiZ,SAAA,GAAAL,eAAA,CAAAK,SAAA;AAAAjZ,OAAA,CAAAkZ,mBAAA,GAAAN,eAAA,CAAAM,mBAAA;AAGhC,IAAAC,gBAAA,GAAApZ,OAAA;AAQqCC,OAAA,CAAAoZ,yBAAA,GAAAD,gBAAA,CAAAC,yBAAA;AAAApZ,OAAA,CAAAqZ,iBAAA,GAAAF,gBAAA,CAAAE,iBAAA;AAAArZ,OAAA,CAAAsZ,iCAAA,GAAAH,gBAAA,CAAAG,iCAAA;AASrC,IAAAC,UAAA,GAAAxZ,OAAA;AAOqBC,OAAA,CAAAwZ,YAAA,GAAAD,UAAA,CAAAC,YAAA;AAAAxZ,OAAA,CAAAyZ,eAAA,GAAAF,UAAA,CAAAE,eAAA;AAAAzZ,OAAA,CAAA0Z,WAAA,GAAAH,UAAA,CAAAG,WAAA;AAAA1Z,OAAA,CAAA2Z,UAAA,GAAAJ,UAAA,CAAAI,UAAA;AAAA3Z,OAAA,CAAA4Z,kBAAA,GAAAL,UAAA,CAAAK,kBAAA","ignoreList":[]}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.UNBRANDED_ASSISTANT_NAME = exports.DEFAULT_PROMPT_PLACEHOLDER = exports.ASSISTANT_TOKEN = void 0;
5
+ exports.assistantName = assistantName;
6
+ exports.resolveAssistantPlaceholder = resolveAssistantPlaceholder;
7
+ /**
8
+ * What the assistant is called, and the `{assistant}` token every surface
9
+ * substitutes it into.
10
+ *
11
+ * One rule, in core, because the name shows up on surfaces that do not share a
12
+ * runtime and must not drift apart: the AI disclosure over a generated answer
13
+ * (`AiDisclosure`, B2B-4488), the hero eyebrow and empty-state lockup in a
14
+ * client bundle, the full-page prompt input (web50-server-ui), and the
15
+ * floating embed widget (vanilla TS in a shadow root). A client that reworded
16
+ * the copy in its overlay still gets the same name in it.
17
+ */
18
+
19
+ /** Placeholder inside a copy string that the assistant's name is substituted into. */
20
+ const ASSISTANT_TOKEN = exports.ASSISTANT_TOKEN = '{assistant}';
21
+
22
+ /** Used when the host publishes no store name — still reads correctly ("Ask AI…"). */
23
+ const UNBRANDED_ASSISTANT_NAME = exports.UNBRANDED_ASSISTANT_NAME = 'AI';
24
+
25
+ /**
26
+ * The product default for a prompt input's placeholder.
27
+ *
28
+ * Carries the token rather than a resolved name so the copy can live in
29
+ * configuration: a client rewords it in their overlay and the name still
30
+ * resolves. Hosts must run it through {@link resolveAssistantPlaceholder}
31
+ * before rendering, or a shopper sees the raw token.
32
+ */
33
+ const DEFAULT_PROMPT_PLACEHOLDER = exports.DEFAULT_PROMPT_PLACEHOLDER = `Ask ${ASSISTANT_TOKEN}...`;
34
+
35
+ /**
36
+ * What the assistant is called: the store's name plus "AI" — "Smallflower AI".
37
+ *
38
+ * A host that publishes no name gets the unbranded "AI", which still reads
39
+ * correctly in every caller.
40
+ */
41
+ function assistantName(siteName) {
42
+ const trimmed = (siteName ?? '').trim();
43
+ return trimmed ? `${trimmed} ${UNBRANDED_ASSISTANT_NAME}` : UNBRANDED_ASSISTANT_NAME;
44
+ }
45
+
46
+ /**
47
+ * Substitute `{assistant}` in a copy string with the assistant's name.
48
+ *
49
+ * A string with no token is returned untouched — by reference — so a client
50
+ * that hardcodes its own wording keeps it and callers can compare identity.
51
+ */
52
+ function resolveAssistantPlaceholder(placeholder, siteName) {
53
+ if (!placeholder.includes(ASSISTANT_TOKEN)) {
54
+ return placeholder;
55
+ }
56
+ return placeholder.split(ASSISTANT_TOKEN).join(assistantName(siteName));
57
+ }
58
+ //# sourceMappingURL=assistant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ASSISTANT_TOKEN","exports","UNBRANDED_ASSISTANT_NAME","DEFAULT_PROMPT_PLACEHOLDER","assistantName","siteName","trimmed","trim","resolveAssistantPlaceholder","placeholder","includes","split","join"],"sources":["../../../src/lib/assistant.ts"],"sourcesContent":["/**\n * What the assistant is called, and the `{assistant}` token every surface\n * substitutes it into.\n *\n * One rule, in core, because the name shows up on surfaces that do not share a\n * runtime and must not drift apart: the AI disclosure over a generated answer\n * (`AiDisclosure`, B2B-4488), the hero eyebrow and empty-state lockup in a\n * client bundle, the full-page prompt input (web50-server-ui), and the\n * floating embed widget (vanilla TS in a shadow root). A client that reworded\n * the copy in its overlay still gets the same name in it.\n */\n\n/** Placeholder inside a copy string that the assistant's name is substituted into. */\nexport const ASSISTANT_TOKEN = '{assistant}';\n\n/** Used when the host publishes no store name — still reads correctly (\"Ask AI…\"). */\nexport const UNBRANDED_ASSISTANT_NAME = 'AI';\n\n/**\n * The product default for a prompt input's placeholder.\n *\n * Carries the token rather than a resolved name so the copy can live in\n * configuration: a client rewords it in their overlay and the name still\n * resolves. Hosts must run it through {@link resolveAssistantPlaceholder}\n * before rendering, or a shopper sees the raw token.\n */\nexport const DEFAULT_PROMPT_PLACEHOLDER = `Ask ${ASSISTANT_TOKEN}...`;\n\n/**\n * What the assistant is called: the store's name plus \"AI\" — \"Smallflower AI\".\n *\n * A host that publishes no name gets the unbranded \"AI\", which still reads\n * correctly in every caller.\n */\nexport function assistantName(siteName?: string): string {\n const trimmed = (siteName ?? '').trim();\n return trimmed\n ? `${trimmed} ${UNBRANDED_ASSISTANT_NAME}`\n : UNBRANDED_ASSISTANT_NAME;\n}\n\n/**\n * Substitute `{assistant}` in a copy string with the assistant's name.\n *\n * A string with no token is returned untouched — by reference — so a client\n * that hardcodes its own wording keeps it and callers can compare identity.\n */\nexport function resolveAssistantPlaceholder(\n placeholder: string,\n siteName?: string,\n): string {\n if (!placeholder.includes(ASSISTANT_TOKEN)) {\n return placeholder;\n }\n return placeholder.split(ASSISTANT_TOKEN).join(assistantName(siteName));\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACO,MAAMA,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,aAAa;;AAE5C;AACO,MAAME,wBAAwB,GAAAD,OAAA,CAAAC,wBAAA,GAAG,IAAI;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,0BAA0B,GAAAF,OAAA,CAAAE,0BAAA,GAAG,OAAOH,eAAe,KAAK;;AAErE;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,aAAaA,CAACC,QAAiB,EAAU;EACvD,MAAMC,OAAO,GAAG,CAACD,QAAQ,IAAI,EAAE,EAAEE,IAAI,CAAC,CAAC;EACvC,OAAOD,OAAO,GACV,GAAGA,OAAO,IAAIJ,wBAAwB,EAAE,GACxCA,wBAAwB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,2BAA2BA,CACzCC,WAAmB,EACnBJ,QAAiB,EACT;EACR,IAAI,CAACI,WAAW,CAACC,QAAQ,CAACV,eAAe,CAAC,EAAE;IAC1C,OAAOS,WAAW;EACpB;EACA,OAAOA,WAAW,CAACE,KAAK,CAACX,eAAe,CAAC,CAACY,IAAI,CAACR,aAAa,CAACC,QAAQ,CAAC,CAAC;AACzE","ignoreList":[]}
@@ -1,15 +1,17 @@
1
1
  import React, { Fragment } from 'react';
2
2
  import { cn } from '../../lib/utils.js';
3
+ import { ASSISTANT_TOKEN, UNBRANDED_ASSISTANT_NAME } from '../../lib/assistant.js';
3
4
  import { AiIcon } from './icons/AiIcon.js';
4
5
 
5
6
  /**
6
- * Placeholder inside `text` that the assistant's name is substituted into.
7
+ * Re-exported for the callers that already import the token from here.
7
8
  *
8
- * Same `{assistant}` token the prompt-input placeholder already uses
9
- * ("Ask {assistant}…"), so a store rename moves both together and a
10
- * translator can put the name wherever the target language needs it.
9
+ * It lives in `lib/assistant` alongside the name it stands for: the same token
10
+ * the prompt-input placeholder uses ("Ask {assistant}…"), so a store rename
11
+ * moves both together and a translator can put the name wherever the target
12
+ * language needs it.
11
13
  */
12
- export const ASSISTANT_TOKEN = '{assistant}';
14
+ export { ASSISTANT_TOKEN };
13
15
 
14
16
  /**
15
17
  * The disclosure a shopper must see. Wording is fixed here rather than in each
@@ -17,9 +19,6 @@ export const ASSISTANT_TOKEN = '{assistant}';
17
19
  * text, so it should not be forkable per store by accident.
18
20
  */
19
21
  export const DEFAULT_AI_DISCLOSURE_TEXT = `Generated by ${ASSISTANT_TOKEN} · Double-check anything important`;
20
-
21
- /** Used when the host publishes no store name — still reads correctly. */
22
- const UNBRANDED_ASSISTANT_NAME = 'AI';
23
22
  /**
24
23
  * "Generated by <Store> AI · Double-check anything important" — the AI
25
24
  * disclosure shown at the top of a generated answer (EU AI Act, B2B-4488).
@@ -1 +1 @@
1
- {"version":3,"names":["React","Fragment","cn","AiIcon","ASSISTANT_TOKEN","DEFAULT_AI_DISCLOSURE_TEXT","UNBRANDED_ASSISTANT_NAME","AiDisclosure","_ref","assistantName","text","icon","align","className","name","trim","segments","split","createElement","role","undefined","map","segment","index","key","length"],"sources":["../../../../src/components/ui/AiDisclosure.tsx"],"sourcesContent":["import React, { FC, Fragment, ReactNode } from 'react';\nimport { cn } from '../../lib/utils';\nimport { AiIcon } from './icons/AiIcon';\n\n/**\n * Placeholder inside `text` that the assistant's name is substituted into.\n *\n * Same `{assistant}` token the prompt-input placeholder already uses\n * (\"Ask {assistant}…\"), so a store rename moves both together and a\n * translator can put the name wherever the target language needs it.\n */\nexport const ASSISTANT_TOKEN = '{assistant}';\n\n/**\n * The disclosure a shopper must see. Wording is fixed here rather than in each\n * client bundle: it is what tells the shopper they are reading machine-written\n * text, so it should not be forkable per store by accident.\n */\nexport const DEFAULT_AI_DISCLOSURE_TEXT = `Generated by ${ASSISTANT_TOKEN} · Double-check anything important`;\n\n/** Used when the host publishes no store name — still reads correctly. */\nconst UNBRANDED_ASSISTANT_NAME = 'AI';\n\nexport interface AiDisclosureProps {\n /**\n * What the assistant is called — the store's name plus \"AI\", e.g.\n * \"Smallflower AI\". Rendered in the display face so the store's brand is the\n * emphasized word in the line. Blank/omitted falls back to \"AI\".\n */\n assistantName?: string;\n /**\n * The full sentence, with `{assistant}` marking where the name goes.\n * Defaults to {@link DEFAULT_AI_DISCLOSURE_TEXT}. A string without the token\n * renders verbatim, with no emphasized name.\n */\n text?: string;\n /**\n * Replace the leading icon. `null` drops it — the text alone still carries\n * the disclosure, so removing the icon is a visual choice, not a\n * compliance one.\n */\n icon?: ReactNode;\n /** Row alignment. `'center'` (default) matches the hero; `'start'` for left-aligned surfaces. */\n align?: 'start' | 'center';\n className?: string;\n}\n\n/**\n * \"Generated by <Store> AI · Double-check anything important\" — the AI\n * disclosure shown at the top of a generated answer (EU AI Act, B2B-4488).\n *\n * Replaces the old \"AI can make mistakes.\" response footer: one notice, above\n * the content rather than below it, so a shopper reads it before the answer\n * instead of after.\n *\n * Presentational only. Hosts decide where it mounts and pass the store's\n * assistant name; every color, size and face resolves from web5 tokens, so a\n * client re-skins it by re-skinning the theme.\n */\nexport const AiDisclosure: FC<AiDisclosureProps> = ({\n assistantName,\n text = DEFAULT_AI_DISCLOSURE_TEXT,\n icon,\n align = 'center',\n className,\n}) => {\n const name = (assistantName ?? '').trim() || UNBRANDED_ASSISTANT_NAME;\n const segments = text.split(ASSISTANT_TOKEN);\n\n return (\n <p\n className={cn(\n 'web5-ai-disclosure',\n align === 'start' && 'web5-ai-disclosure--start',\n className,\n )}\n role=\"note\"\n >\n {icon === undefined ? (\n <AiIcon className=\"web5-ai-disclosure__icon\" />\n ) : (\n icon\n )}\n <span className=\"web5-ai-disclosure__text\">\n {segments.map((segment, index) => (\n <Fragment key={index}>\n {segment}\n {index < segments.length - 1 && (\n <span className=\"web5-ai-disclosure__assistant\">{name}</span>\n )}\n </Fragment>\n ))}\n </span>\n </p>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAQC,QAAQ,QAAmB,OAAO;AACtD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,MAAM,QAAQ,gBAAgB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAG,aAAa;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0B,GAAG,gBAAgBD,eAAe,oCAAoC;;AAE7G;AACA,MAAME,wBAAwB,GAAG,IAAI;AA0BrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAmC,GAAGC,IAAA,IAM7C;EAAA,IAN8C;IAClDC,aAAa;IACbC,IAAI,GAAGL,0BAA0B;IACjCM,IAAI;IACJC,KAAK,GAAG,QAAQ;IAChBC;EACF,CAAC,GAAAL,IAAA;EACC,MAAMM,IAAI,GAAG,CAACL,aAAa,IAAI,EAAE,EAAEM,IAAI,CAAC,CAAC,IAAIT,wBAAwB;EACrE,MAAMU,QAAQ,GAAGN,IAAI,CAACO,KAAK,CAACb,eAAe,CAAC;EAE5C,oBACEJ,KAAA,CAAAkB,aAAA;IACEL,SAAS,EAAEX,EAAE,CACX,oBAAoB,EACpBU,KAAK,KAAK,OAAO,IAAI,2BAA2B,EAChDC,SACF,CAAE;IACFM,IAAI,EAAC;EAAM,GAEVR,IAAI,KAAKS,SAAS,gBACjBpB,KAAA,CAAAkB,aAAA,CAACf,MAAM;IAACU,SAAS,EAAC;EAA0B,CAAE,CAAC,GAE/CF,IACD,eACDX,KAAA,CAAAkB,aAAA;IAAML,SAAS,EAAC;EAA0B,GACvCG,QAAQ,CAACK,GAAG,CAAC,CAACC,OAAO,EAAEC,KAAK,kBAC3BvB,KAAA,CAAAkB,aAAA,CAACjB,QAAQ;IAACuB,GAAG,EAAED;EAAM,GAClBD,OAAO,EACPC,KAAK,GAAGP,QAAQ,CAACS,MAAM,GAAG,CAAC,iBAC1BzB,KAAA,CAAAkB,aAAA;IAAML,SAAS,EAAC;EAA+B,GAAEC,IAAW,CAEtD,CACX,CACG,CACL,CAAC;AAER,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Fragment","cn","ASSISTANT_TOKEN","UNBRANDED_ASSISTANT_NAME","AiIcon","DEFAULT_AI_DISCLOSURE_TEXT","AiDisclosure","_ref","assistantName","text","icon","align","className","name","trim","segments","split","createElement","role","undefined","map","segment","index","key","length"],"sources":["../../../../src/components/ui/AiDisclosure.tsx"],"sourcesContent":["import React, { FC, Fragment, ReactNode } from 'react';\nimport { cn } from '../../lib/utils';\nimport { ASSISTANT_TOKEN, UNBRANDED_ASSISTANT_NAME } from '../../lib/assistant';\nimport { AiIcon } from './icons/AiIcon';\n\n/**\n * Re-exported for the callers that already import the token from here.\n *\n * It lives in `lib/assistant` alongside the name it stands for: the same token\n * the prompt-input placeholder uses (\"Ask {assistant}…\"), so a store rename\n * moves both together and a translator can put the name wherever the target\n * language needs it.\n */\nexport { ASSISTANT_TOKEN };\n\n/**\n * The disclosure a shopper must see. Wording is fixed here rather than in each\n * client bundle: it is what tells the shopper they are reading machine-written\n * text, so it should not be forkable per store by accident.\n */\nexport const DEFAULT_AI_DISCLOSURE_TEXT = `Generated by ${ASSISTANT_TOKEN} · Double-check anything important`;\n\nexport interface AiDisclosureProps {\n /**\n * What the assistant is called — the store's name plus \"AI\", e.g.\n * \"Smallflower AI\". Rendered in the display face so the store's brand is the\n * emphasized word in the line. Blank/omitted falls back to \"AI\".\n */\n assistantName?: string;\n /**\n * The full sentence, with `{assistant}` marking where the name goes.\n * Defaults to {@link DEFAULT_AI_DISCLOSURE_TEXT}. A string without the token\n * renders verbatim, with no emphasized name.\n */\n text?: string;\n /**\n * Replace the leading icon. `null` drops it — the text alone still carries\n * the disclosure, so removing the icon is a visual choice, not a\n * compliance one.\n */\n icon?: ReactNode;\n /** Row alignment. `'center'` (default) matches the hero; `'start'` for left-aligned surfaces. */\n align?: 'start' | 'center';\n className?: string;\n}\n\n/**\n * \"Generated by <Store> AI · Double-check anything important\" — the AI\n * disclosure shown at the top of a generated answer (EU AI Act, B2B-4488).\n *\n * Replaces the old \"AI can make mistakes.\" response footer: one notice, above\n * the content rather than below it, so a shopper reads it before the answer\n * instead of after.\n *\n * Presentational only. Hosts decide where it mounts and pass the store's\n * assistant name; every color, size and face resolves from web5 tokens, so a\n * client re-skins it by re-skinning the theme.\n */\nexport const AiDisclosure: FC<AiDisclosureProps> = ({\n assistantName,\n text = DEFAULT_AI_DISCLOSURE_TEXT,\n icon,\n align = 'center',\n className,\n}) => {\n const name = (assistantName ?? '').trim() || UNBRANDED_ASSISTANT_NAME;\n const segments = text.split(ASSISTANT_TOKEN);\n\n return (\n <p\n className={cn(\n 'web5-ai-disclosure',\n align === 'start' && 'web5-ai-disclosure--start',\n className,\n )}\n role=\"note\"\n >\n {icon === undefined ? (\n <AiIcon className=\"web5-ai-disclosure__icon\" />\n ) : (\n icon\n )}\n <span className=\"web5-ai-disclosure__text\">\n {segments.map((segment, index) => (\n <Fragment key={index}>\n {segment}\n {index < segments.length - 1 && (\n <span className=\"web5-ai-disclosure__assistant\">{name}</span>\n )}\n </Fragment>\n ))}\n </span>\n </p>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAQC,QAAQ,QAAmB,OAAO;AACtD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,EAAEC,wBAAwB,QAAQ,qBAAqB;AAC/E,SAASC,MAAM,QAAQ,gBAAgB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASF,eAAe;;AAExB;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMG,0BAA0B,GAAG,gBAAgBH,eAAe,oCAAoC;AA0B7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMI,YAAmC,GAAGC,IAAA,IAM7C;EAAA,IAN8C;IAClDC,aAAa;IACbC,IAAI,GAAGJ,0BAA0B;IACjCK,IAAI;IACJC,KAAK,GAAG,QAAQ;IAChBC;EACF,CAAC,GAAAL,IAAA;EACC,MAAMM,IAAI,GAAG,CAACL,aAAa,IAAI,EAAE,EAAEM,IAAI,CAAC,CAAC,IAAIX,wBAAwB;EACrE,MAAMY,QAAQ,GAAGN,IAAI,CAACO,KAAK,CAACd,eAAe,CAAC;EAE5C,oBACEH,KAAA,CAAAkB,aAAA;IACEL,SAAS,EAAEX,EAAE,CACX,oBAAoB,EACpBU,KAAK,KAAK,OAAO,IAAI,2BAA2B,EAChDC,SACF,CAAE;IACFM,IAAI,EAAC;EAAM,GAEVR,IAAI,KAAKS,SAAS,gBACjBpB,KAAA,CAAAkB,aAAA,CAACb,MAAM;IAACQ,SAAS,EAAC;EAA0B,CAAE,CAAC,GAE/CF,IACD,eACDX,KAAA,CAAAkB,aAAA;IAAML,SAAS,EAAC;EAA0B,GACvCG,QAAQ,CAACK,GAAG,CAAC,CAACC,OAAO,EAAEC,KAAK,kBAC3BvB,KAAA,CAAAkB,aAAA,CAACjB,QAAQ;IAACuB,GAAG,EAAED;EAAM,GAClBD,OAAO,EACPC,KAAK,GAAGP,QAAQ,CAACS,MAAM,GAAG,CAAC,iBAC1BzB,KAAA,CAAAkB,aAAA;IAAML,SAAS,EAAC;EAA+B,GAAEC,IAAW,CAEtD,CACX,CACG,CACL,CAAC;AAER,CAAC","ignoreList":[]}
@@ -1,7 +1,16 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { forwardRef, useEffect, useImperativeHandle, useState, useRef, useCallback, useLayoutEffect } from 'react';
3
3
  import { cn } from '../../lib/utils.js';
4
+ import { DEFAULT_PROMPT_PLACEHOLDER, resolveAssistantPlaceholder } from '../../lib/assistant.js';
4
5
  import { isWeb5Url } from '../../types/link-types.js';
6
+
7
+ /**
8
+ * Fallback for a bare `<SearchSection />` — the product default with no store
9
+ * name to resolve against, so "Ask AI...". Hosts that know the store (the
10
+ * full-page app, the embed widget) resolve the token themselves and pass the
11
+ * branded string in; this only covers the component used on its own.
12
+ */
13
+ const UNBRANDED_PLACEHOLDER = resolveAssistantPlaceholder(DEFAULT_PROMPT_PLACEHOLDER);
5
14
  const ArrowDownIcon = () => /*#__PURE__*/React.createElement("svg", {
6
15
  xmlns: "http://www.w3.org/2000/svg",
7
16
  width: "24",
@@ -65,7 +74,7 @@ const PromptSendIcon = props => /*#__PURE__*/React.createElement("svg", _extends
65
74
  export const SearchSection = /*#__PURE__*/forwardRef(function SearchSection(_ref, ref) {
66
75
  let {
67
76
  onSubmit,
68
- placeholder = 'Talk to us',
77
+ placeholder = UNBRANDED_PLACEHOLDER,
69
78
  submitLabel,
70
79
  collapsedLabel,
71
80
  onCollapsedChange,