@wix/web5-core 1.56.1 → 1.57.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/dist/cjs/client/wixAuthFetch.js +2 -2
  2. package/dist/cjs/client/wixAuthFetch.js.map +1 -1
  3. package/dist/cjs/component/componentDefinitions/HeroEntitySectionDefinition.js +20 -15
  4. package/dist/cjs/component/componentDefinitions/HeroEntitySectionDefinition.js.map +1 -1
  5. package/dist/cjs/component/componentDefinitions/HeroSectionDefinition.js +12 -4
  6. package/dist/cjs/component/componentDefinitions/HeroSectionDefinition.js.map +1 -1
  7. package/dist/cjs/component/componentDefinitions/listItemsSectionDefinition.js +24 -29
  8. package/dist/cjs/component/componentDefinitions/listItemsSectionDefinition.js.map +1 -1
  9. package/dist/cjs/component/componentParser.js +8 -1
  10. package/dist/cjs/component/componentParser.js.map +1 -1
  11. package/dist/cjs/component/types.js.map +1 -1
  12. package/dist/cjs/components/placement/PlacementResponseRenderer.css +0 -4
  13. package/dist/cjs/components/placement/PlacementResponseRenderer.js +11 -33
  14. package/dist/cjs/components/placement/PlacementResponseRenderer.js.map +1 -1
  15. package/dist/cjs/components/placement/buildPlacementDependencies.js.map +1 -1
  16. package/dist/cjs/components/ui/OptimizedImage.js +59 -14
  17. package/dist/cjs/components/ui/OptimizedImage.js.map +1 -1
  18. package/dist/cjs/components/ui/SectionSkeleton.css +19 -0
  19. package/dist/cjs/components/ui/SectionSkeleton.js +8 -4
  20. package/dist/cjs/components/ui/SectionSkeleton.js.map +1 -1
  21. package/dist/cjs/components/ui/UserQuery.css +72 -0
  22. package/dist/cjs/components/ui/UserQuery.js +131 -37
  23. package/dist/cjs/components/ui/UserQuery.js.map +1 -1
  24. package/dist/cjs/context/UserQueryContext.js +34 -0
  25. package/dist/cjs/context/UserQueryContext.js.map +1 -0
  26. package/dist/cjs/entity/defaultExtractor.js +9 -2
  27. package/dist/cjs/entity/defaultExtractor.js.map +1 -1
  28. package/dist/cjs/entity/fetchEntityListData.js +13 -26
  29. package/dist/cjs/entity/fetchEntityListData.js.map +1 -1
  30. package/dist/cjs/entity/index.js +5 -1
  31. package/dist/cjs/entity/index.js.map +1 -1
  32. package/dist/cjs/entity/listEntityItems.js +90 -0
  33. package/dist/cjs/entity/listEntityItems.js.map +1 -0
  34. package/dist/cjs/hostScope.js +63 -0
  35. package/dist/cjs/hostScope.js.map +1 -0
  36. package/dist/cjs/index.js +38 -13
  37. package/dist/cjs/index.js.map +1 -1
  38. package/dist/cjs/patternValidator/validator.test.js +61 -61
  39. package/dist/cjs/patternValidator/validator.test.js.map +1 -1
  40. package/dist/cjs/registry/ComponentRegistry.js +22 -2
  41. package/dist/cjs/registry/ComponentRegistry.js.map +1 -1
  42. package/dist/cjs/registry/index.js +1 -3
  43. package/dist/cjs/registry/index.js.map +1 -1
  44. package/dist/cjs/registry/types.js.map +1 -1
  45. package/dist/cjs/styles/base-utilities.css +35 -0
  46. package/dist/cjs/styles/components.css +1 -0
  47. package/dist/cjs/styles/host-reset.css +100 -0
  48. package/dist/cjs/styles/tailwind-theme.css +6 -6
  49. package/dist/cjs/utils/backendEnvironment.js +78 -0
  50. package/dist/cjs/utils/backendEnvironment.js.map +1 -0
  51. package/dist/cjs/utils/entityLinkParser.js +3 -1
  52. package/dist/cjs/utils/entityLinkParser.js.map +1 -1
  53. package/dist/cjs/utils/imageBackdrop.js +269 -0
  54. package/dist/cjs/utils/imageBackdrop.js.map +1 -0
  55. package/dist/cjs/utils/intentExtractor.js +20 -9
  56. package/dist/cjs/utils/intentExtractor.js.map +1 -1
  57. package/dist/cjs/utils/productBackHandoff.js +106 -0
  58. package/dist/cjs/utils/productBackHandoff.js.map +1 -0
  59. package/dist/cjs/utils/refreshPrompts.js +72 -0
  60. package/dist/cjs/utils/refreshPrompts.js.map +1 -0
  61. package/dist/esm/client/wixAuthFetch.js +2 -2
  62. package/dist/esm/client/wixAuthFetch.js.map +1 -1
  63. package/dist/esm/component/componentDefinitions/HeroEntitySectionDefinition.js +20 -15
  64. package/dist/esm/component/componentDefinitions/HeroEntitySectionDefinition.js.map +1 -1
  65. package/dist/esm/component/componentDefinitions/HeroSectionDefinition.js +12 -4
  66. package/dist/esm/component/componentDefinitions/HeroSectionDefinition.js.map +1 -1
  67. package/dist/esm/component/componentDefinitions/listItemsSectionDefinition.js +25 -30
  68. package/dist/esm/component/componentDefinitions/listItemsSectionDefinition.js.map +1 -1
  69. package/dist/esm/component/componentParser.js +8 -1
  70. package/dist/esm/component/componentParser.js.map +1 -1
  71. package/dist/esm/component/types.js.map +1 -1
  72. package/dist/esm/components/placement/PlacementResponseRenderer.css +0 -4
  73. package/dist/esm/components/placement/PlacementResponseRenderer.js +1 -16
  74. package/dist/esm/components/placement/PlacementResponseRenderer.js.map +1 -1
  75. package/dist/esm/components/placement/buildPlacementDependencies.js.map +1 -1
  76. package/dist/esm/components/ui/OptimizedImage.js +50 -5
  77. package/dist/esm/components/ui/OptimizedImage.js.map +1 -1
  78. package/dist/esm/components/ui/SectionSkeleton.css +19 -0
  79. package/dist/esm/components/ui/SectionSkeleton.js +5 -1
  80. package/dist/esm/components/ui/SectionSkeleton.js.map +1 -1
  81. package/dist/esm/components/ui/UserQuery.css +72 -0
  82. package/dist/esm/components/ui/UserQuery.js +52 -6
  83. package/dist/esm/components/ui/UserQuery.js.map +1 -1
  84. package/dist/esm/context/UserQueryContext.js +21 -0
  85. package/dist/esm/context/UserQueryContext.js.map +1 -0
  86. package/dist/esm/entity/defaultExtractor.js +9 -2
  87. package/dist/esm/entity/defaultExtractor.js.map +1 -1
  88. package/dist/esm/entity/fetchEntityListData.js +14 -26
  89. package/dist/esm/entity/fetchEntityListData.js.map +1 -1
  90. package/dist/esm/entity/index.js +1 -0
  91. package/dist/esm/entity/index.js.map +1 -1
  92. package/dist/esm/entity/listEntityItems.js +85 -0
  93. package/dist/esm/entity/listEntityItems.js.map +1 -0
  94. package/dist/esm/hostScope.js +59 -0
  95. package/dist/esm/hostScope.js.map +1 -0
  96. package/dist/esm/index.js +13 -4
  97. package/dist/esm/index.js.map +1 -1
  98. package/dist/esm/patternValidator/validator.test.js +61 -61
  99. package/dist/esm/patternValidator/validator.test.js.map +1 -1
  100. package/dist/esm/registry/ComponentRegistry.js +22 -2
  101. package/dist/esm/registry/ComponentRegistry.js.map +1 -1
  102. package/dist/esm/registry/index.js +0 -1
  103. package/dist/esm/registry/index.js.map +1 -1
  104. package/dist/esm/registry/types.js.map +1 -1
  105. package/dist/esm/styles/base-utilities.css +35 -0
  106. package/dist/esm/styles/components.css +1 -0
  107. package/dist/esm/styles/host-reset.css +100 -0
  108. package/dist/esm/styles/tailwind-theme.css +6 -6
  109. package/dist/esm/utils/backendEnvironment.js +71 -0
  110. package/dist/esm/utils/backendEnvironment.js.map +1 -0
  111. package/dist/esm/utils/entityLinkParser.js +3 -1
  112. package/dist/esm/utils/entityLinkParser.js.map +1 -1
  113. package/dist/esm/utils/imageBackdrop.js +262 -0
  114. package/dist/esm/utils/imageBackdrop.js.map +1 -0
  115. package/dist/esm/utils/intentExtractor.js +21 -12
  116. package/dist/esm/utils/intentExtractor.js.map +1 -1
  117. package/dist/esm/utils/productBackHandoff.js +100 -0
  118. package/dist/esm/utils/productBackHandoff.js.map +1 -0
  119. package/dist/esm/utils/refreshPrompts.js +67 -0
  120. package/dist/esm/utils/refreshPrompts.js.map +1 -0
  121. package/dist/types/component/componentDefinitions/HeroEntitySectionDefinition.d.ts.map +1 -1
  122. package/dist/types/component/componentDefinitions/HeroSectionDefinition.d.ts.map +1 -1
  123. package/dist/types/component/componentDefinitions/listItemsSectionDefinition.d.ts +2 -2
  124. package/dist/types/component/componentDefinitions/listItemsSectionDefinition.d.ts.map +1 -1
  125. package/dist/types/component/componentParser.d.ts.map +1 -1
  126. package/dist/types/component/types.d.ts +1 -5
  127. package/dist/types/component/types.d.ts.map +1 -1
  128. package/dist/types/components/placement/PlacementResponseRenderer.d.ts +1 -1
  129. package/dist/types/components/placement/PlacementResponseRenderer.d.ts.map +1 -1
  130. package/dist/types/components/placement/buildPlacementDependencies.d.ts +1 -2
  131. package/dist/types/components/placement/buildPlacementDependencies.d.ts.map +1 -1
  132. package/dist/types/components/ui/OptimizedImage.d.ts +9 -0
  133. package/dist/types/components/ui/OptimizedImage.d.ts.map +1 -1
  134. package/dist/types/components/ui/SectionSkeleton.d.ts.map +1 -1
  135. package/dist/types/components/ui/UserQuery.d.ts +21 -0
  136. package/dist/types/components/ui/UserQuery.d.ts.map +1 -1
  137. package/dist/types/context/UserQueryContext.d.ts +12 -0
  138. package/dist/types/context/UserQueryContext.d.ts.map +1 -0
  139. package/dist/types/entity/defaultExtractor.d.ts.map +1 -1
  140. package/dist/types/entity/fetchEntityListData.d.ts +0 -2
  141. package/dist/types/entity/fetchEntityListData.d.ts.map +1 -1
  142. package/dist/types/entity/index.d.ts +1 -0
  143. package/dist/types/entity/index.d.ts.map +1 -1
  144. package/dist/types/entity/listEntityItems.d.ts +40 -0
  145. package/dist/types/entity/listEntityItems.d.ts.map +1 -0
  146. package/dist/types/hostScope.d.ts +83 -0
  147. package/dist/types/hostScope.d.ts.map +1 -0
  148. package/dist/types/index.d.ts +11 -7
  149. package/dist/types/index.d.ts.map +1 -1
  150. package/dist/types/registry/ComponentRegistry.d.ts +8 -0
  151. package/dist/types/registry/ComponentRegistry.d.ts.map +1 -1
  152. package/dist/types/registry/index.d.ts +0 -1
  153. package/dist/types/registry/index.d.ts.map +1 -1
  154. package/dist/types/registry/types.d.ts +5 -6
  155. package/dist/types/registry/types.d.ts.map +1 -1
  156. package/dist/types/utils/backendEnvironment.d.ts +30 -0
  157. package/dist/types/utils/backendEnvironment.d.ts.map +1 -0
  158. package/dist/types/utils/entityLinkParser.d.ts.map +1 -1
  159. package/dist/types/utils/imageBackdrop.d.ts +102 -0
  160. package/dist/types/utils/imageBackdrop.d.ts.map +1 -0
  161. package/dist/types/utils/intentExtractor.d.ts +21 -4
  162. package/dist/types/utils/intentExtractor.d.ts.map +1 -1
  163. package/dist/types/utils/productBackHandoff.d.ts +43 -0
  164. package/dist/types/utils/productBackHandoff.d.ts.map +1 -0
  165. package/dist/types/utils/refreshPrompts.d.ts +32 -0
  166. package/dist/types/utils/refreshPrompts.d.ts.map +1 -0
  167. package/package.json +2 -2
  168. package/src/components/placement/PlacementResponseRenderer.css +0 -4
  169. package/src/components/ui/SectionSkeleton.css +19 -0
  170. package/src/components/ui/UserQuery.css +72 -0
  171. package/src/styles/base-utilities.css +35 -0
  172. package/src/styles/components.css +1 -0
  173. package/src/styles/host-reset.css +100 -0
  174. package/src/styles/tailwind-theme.css +6 -6
  175. package/dist/cjs/registry/Intent.js +0 -19
  176. package/dist/cjs/registry/Intent.js.map +0 -1
  177. package/dist/cjs/utils/conversationApi.js +0 -52
  178. package/dist/cjs/utils/conversationApi.js.map +0 -1
  179. package/dist/cjs/utils/conversationMode.js +0 -23
  180. package/dist/cjs/utils/conversationMode.js.map +0 -1
  181. package/dist/esm/registry/Intent.js +0 -15
  182. package/dist/esm/registry/Intent.js.map +0 -1
  183. package/dist/esm/utils/conversationApi.js +0 -45
  184. package/dist/esm/utils/conversationApi.js.map +0 -1
  185. package/dist/esm/utils/conversationMode.js +0 -18
  186. package/dist/esm/utils/conversationMode.js.map +0 -1
  187. package/dist/types/registry/Intent.d.ts +0 -12
  188. package/dist/types/registry/Intent.d.ts.map +0 -1
  189. package/dist/types/utils/conversationApi.d.ts +0 -26
  190. package/dist/types/utils/conversationApi.d.ts.map +0 -1
  191. package/dist/types/utils/conversationMode.d.ts +0 -16
  192. package/dist/types/utils/conversationMode.d.ts.map +0 -1
@@ -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","_diagnosticTypes","DIAGNOSTIC_TYPES","_imageSearchFilterTypes","buildImageSearchFilter","_imageSearchFilters","ImageSearchFilterToken","backgroundFilter","_componentDefinitions","HeroSectionDefinition","HeroEntitySectionDefinition","KpiSectionDefinition","FeatureCardsSectionDefinition","EntitySectionDefinition","ComparisonSectionDefinition","TextBlockSectionDefinition","CtaBannerSectionDefinition","CalloutSectionDefinition","NextStepsSectionDefinition","FeatureSection9PlusDefinition","ListItemsSectionDefinition","SkipNodesSectionDefinition","HtmlCommentSectionDefinition","SearchSectionDefinition","ErrorSectionDefinition","FallbackSectionDefinition","createSdkRegistry","_registry","ComponentRegistry","Intent","_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","_ChipsContext","ChipsProvider","useChips","_entity","defaultExtractor","enrichEntitiesFromPayload","fetchEntityListData","getEntityExtractor","registerEntityExtractor","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","_callout","CALLOUT_KINDS","_useWeb5Link","useWeb5Link","_useConversation","useConversation","_useDebugImageContext","useDebugImageContext","_useResolvedImageSources","useResolvedImageSources","_useResolveGenericEntityData","useResolveGenericEntityData","_useEntityTransforms","useEntityTransforms","_useMarkdownUtils","useMarkdownUtils","_useResolveShopifyEntityData","useResolveShopifyEntityData","_useResolveSearchSpringEntityData","useResolveSearchSpringEntityData","_searchspring","fetchProductsByHandles","fetchProductsByHandlesMap","transformSSProductToEntityItemData","_cart","addToCart","_shopify","ShopifyStorefrontClient","resolveShopifyConfig","resolveShopifyEntity","transformShopifyProduct","transformShopifyCollection","transformShopifyArticle","transformShopifyEntityToItemData","PRODUCT_BY_HANDLE_QUERY","COLLECTION_BY_HANDLE_QUERY","ARTICLE_BY_HANDLE_QUERY","_utils","cn","_imageUtils","normalizeImageUrl","getResizedImageUrl","_parseUtils","stripMarkdown","_colorUtils","rgbToHsl","hslToRgb","ensureMinLightness","toRgb","deriveDarkColor","deriveDarkGradient","deriveLightColor","_analyticsEvents","pushEvent","pushPromptSubmit","pushLinkClick","pushError","pushExit","pushEntityFiltered","hasAnalyticsConsent","_errors","ERROR_MARKDOWN","getErrorTypeFromStatus","createErrorMarkdown","STREAMING_TIMEOUT_MS","DEFAULT_ERROR_TEMPLATES","resolveErrorTemplate","_navigationStack","getForwardStack","setForwardStack","clearForwardStack","pushToForwardStack","popFromForwardStack","_UserQuery","UserQuery","_PromptEntryEmptyState","PromptEntryEmptyState","_SearchSection","SearchSection","_FeedbackBar","FeedbackBar","_Disclaimer","Disclaimer","_BottomContainer","BottomContainer","_MarkdownText","MarkdownText","_CalloutBlock","CalloutBlock","_OptimizedImage","OptimizedImage","_SectionSkeleton","SectionSkeleton","_SmartIcon","SmartIcon","_Loader","Loader","_PlacementLoader","PlacementLoader","_UnifiedLink","UnifiedLink","detectLinkType","LinkType","_table","Table","TableHeader","TableBody","TableFooter","TableHead","TableRow","TableCell","TableCaption","_userQueryEvent","WEB5_USER_QUERY_EVENT","_answerUpdatedEvent","WEB5_ANSWER_UPDATED_EVENT","_redirectEvent","WEB5_REDIRECT_EVENT","_loadClientBundle","loadClientBundle","_clientBundleOverride","getClientBundleOverride","isTrustedBundleHost","_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","_conversationMode","CONVERSATION_MODE","resolveConversationMode","_conversationApi","CONVERSATION_API_KEY","DEFAULT_CONVERSATION_API","getConversationApi","setConversationApi","usesTurnApi","_wixAuthFetch","createWixAuthFetch","_sessionManager","getOrCreateSessionId","getSessionId","getChatId","startNewChatId","setChatId","resetChatIdForTests","_componentParser","parseMarkdownToComponents","tryParseComponent","mergeSectionsWithStableReferences"],"sources":["../../src/index.ts"],"sourcesContent":["// Client IDs and experiment IDs\nexport { CLIENT_IDS, EXPERIMENT_IDS } from './clients';\n\nexport {\n type EmbedFeatureToggleResult,\n type FeatureToggleReader,\n createFeatureToggleReader,\n FeatureToggleProvider,\n useFeatureToggles,\n useFeatureToggle,\n} from './featureToggles/FeatureToggleContext';\n\n// Dev-only chrome injection contract for client packages\nexport type { DevEnvironment } from './client/devEnvironment';\n\n// Part types and helpers\nexport {\n type PartType,\n type Part,\n type HeadingPart,\n type ImagePart,\n type LinkPart,\n type ListPart,\n type ListItemPart,\n type KpiItemPart,\n type CardPart,\n type IconPart,\n type CalloutPart,\n type EntityPart,\n getPartsByType,\n getPartByRole,\n getAllByRole,\n getHeading,\n getImages,\n getLinks,\n extractContent,\n extractContentMarkdown,\n deriveRole,\n} from './parts/parts';\n\n// Component types\nexport type {\n BaseCompProps,\n SlotCompProps,\n SectionCompProps,\n SectionCompPropsWithSlot,\n TextCompProps,\n ButtonCompProps,\n ImageCompProps,\n BadgeCompProps,\n HeroButton,\n KpiItemCompProps,\n FeatureItemCompProps,\n FeatureCardCompProps,\n EntityItemData,\n EntityItem,\n GenericEntityData,\n GenericEntityCompProps,\n ComparisonRow,\n ComparisonColumn,\n AiNarrativeCompProps,\n HeroCompProps,\n HeroEntityCompProps,\n KpiCompProps,\n FeatureCardsCompProps,\n EntityCompProps,\n ComparisonCompProps,\n TextBlockCompProps,\n Component,\n BaseComponent,\n SlotComponent,\n SectionComponent,\n TextComponent,\n ButtonComponent,\n ImageComponent,\n BadgeComponent,\n KpiItemComponent,\n FeatureItemComponent,\n FeatureCardComponent,\n GenericEntityComponent,\n AiNarrativeComponent,\n ComparisonSectionComponent,\n TextBlockSectionComponent,\n HeroSectionComponent,\n HeroEntitySectionComponent,\n KpiSectionComponent,\n FeatureCardsSectionComponent,\n EntitySectionComponent,\n PropsOf,\n SectionFixture,\n CtaBannerCompProps,\n CtaBannerSectionComponent,\n CalloutCompProps,\n CalloutSectionComponent,\n NextStepsCompProps,\n NextStepsSectionComponent,\n FeatureSection9PlusCompProps,\n FeatureSection9PlusSectionComponent,\n ListItemsSectionCompProps,\n ListItemsSectionComponent,\n ErrorCompProps,\n ErrorSectionComponent,\n NullCompProps,\n NullSectionComponent,\n SolutionEntityCompProps,\n SolutionEntitySectionComponent,\n SolutionEntityData,\n BlogEntityCompProps,\n BlogEntitySectionComponent,\n BlogEntityData,\n GeneralTextCompProps,\n GeneralTextSectionComponent,\n PersonalizedNarrativeCompProps,\n PersonalizedNarrativeSectionComponent,\n} from './component/types';\n\n// Section definition\nexport type {\n SectionDefinition,\n ParseContext,\n ContextualImageResult,\n} from './component/section-definition';\n\n// Diagnostic types\nexport { DIAGNOSTIC_TYPES } from './component/diagnosticTypes';\nexport type { DiagnosticType } from './component/diagnosticTypes';\n\n// Image search filters\nexport {\n buildImageSearchFilter,\n type ImageSearchFilterString,\n} from './image/imageSearchFilterTypes';\nexport {\n ImageSearchFilterToken,\n backgroundFilter,\n} from './image/imageSearchFilters';\nexport type {\n ContextualImageAsset,\n ImageSourceInput,\n ResolvedImageSource,\n ResolvedImageSourceKind,\n} from './image/contextualImageTypes';\n\n// Section definition classes + createSdkRegistry\nexport {\n HeroSectionDefinition,\n HeroEntitySectionDefinition,\n KpiSectionDefinition,\n FeatureCardsSectionDefinition,\n EntitySectionDefinition,\n 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, Intent } 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// 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 fetchEntityListData,\n getEntityExtractor,\n registerEntityExtractor,\n transformToSolutionEntityData,\n transformToBlogPostEntityData,\n transformToGenericEntityData,\n} from './entity';\nexport type {\n EntityExtractor,\n FetchEntityListDataOptions,\n} from './entity';\nexport { CALLOUT_KINDS, type CalloutKind, type Callout } from './types/callout';\n\n// Wrapper hooks\nexport { useWeb5Link } from './hooks/useWeb5Link';\nexport { useConversation } from './hooks/useConversation';\nexport { useDebugImageContext } from './hooks/useDebugImageContext';\nexport { useResolvedImageSources } from './hooks/useResolvedImageSources';\nexport { useResolveGenericEntityData } from './hooks/useResolveGenericEntityData';\nexport { useEntityTransforms } from './hooks/useEntityTransforms';\nexport { useMarkdownUtils } from './hooks/useMarkdownUtils';\nexport { useResolveShopifyEntityData } from './hooks/useResolveShopifyEntityData';\nexport { useResolveSearchSpringEntityData } from './hooks/useResolveSearchSpringEntityData';\n\n// SearchSpring\nexport {\n fetchProductsByHandles,\n fetchProductsByHandlesMap,\n transformSSProductToEntityItemData,\n} from './services/searchspring';\nexport type {\n SearchSpringConfig,\n SSProduct,\n SSSearchResponse,\n SSSizeData,\n} from './services/searchspring';\n\n// Shopify Storefront API\n// Cart actions\nexport { addToCart } from './services/cart';\n\nexport {\n ShopifyStorefrontClient,\n resolveShopifyConfig,\n resolveShopifyEntity,\n transformShopifyProduct,\n transformShopifyCollection,\n transformShopifyArticle,\n transformShopifyEntityToItemData,\n PRODUCT_BY_HANDLE_QUERY,\n COLLECTION_BY_HANDLE_QUERY,\n ARTICLE_BY_HANDLE_QUERY,\n} from './services/shopify';\nexport type {\n ShopifyStorefrontConfig,\n ShopifyProduct,\n ShopifyCollection,\n ShopifyArticle,\n ShopifyImage,\n ShopifyMoneyV2,\n} from './services/shopify';\n\n// Utilities\nexport { cn } from './lib/utils';\nexport { normalizeImageUrl, getResizedImageUrl } from './utils/image-utils';\nexport { 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// 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 { UserQuery, type UserQueryProps } from './components/ui/UserQuery';\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 Disclaimer,\n type DisclaimerProps,\n} from './components/ui/Disclaimer';\nexport {\n BottomContainer,\n type BottomContainerProps,\n} from './components/ui/BottomContainer';\nexport { MarkdownText } from './components/ui/MarkdownText';\nexport {\n CalloutBlock,\n type CalloutBlockProps,\n} from './components/ui/CalloutBlock';\nexport {\n OptimizedImage,\n type OptimizedImageProps,\n} from './components/ui/OptimizedImage';\nexport {\n SectionSkeleton,\n type SectionSkeletonProps,\n} from './components/ui/SectionSkeleton';\nexport { SmartIcon, type SmartIconProps } from './components/ui/SmartIcon';\nexport { Loader, type LoaderProps } from './components/ui/Loader';\nexport {\n PlacementLoader,\n type PlacementLoaderProps,\n} from './components/ui/PlacementLoader';\nexport {\n UnifiedLink,\n detectLinkType,\n type UnifiedLinkProps,\n LinkType,\n type LinkVariant,\n} from './components/ui/UnifiedLink';\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n} from './components/ui/table';\n\n// Placement (DL #088, DL #102 behavior declarations)\nexport type {\n PlacementBehaviorConfig,\n PlacementConfig,\n PlacementPrompts,\n} from './types/placement';\n\n// Cross-bundle user-query broadcast event (DL #097 D2)\nexport {\n WEB5_USER_QUERY_EVENT,\n type Web5UserQueryEventDetail,\n type Web5UserQueryEvent,\n} from './types/userQueryEvent';\n\n// Cross-bundle answer-updated broadcast event (B2B-4121)\nexport {\n WEB5_ANSWER_UPDATED_EVENT,\n type Web5AnswerUpdatedEventDetail,\n type Web5AnswerUpdatedEvent,\n} from './types/answerUpdatedEvent';\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// 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 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 CONVERSATION_MODE,\n resolveConversationMode,\n} from './utils/conversationMode';\nexport {\n type ConversationApiKind,\n CONVERSATION_API_KEY,\n DEFAULT_CONVERSATION_API,\n getConversationApi,\n setConversationApi,\n usesTurnApi,\n} from './utils/conversationApi';\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"],"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","_diagnosticTypes","DIAGNOSTIC_TYPES","_imageSearchFilterTypes","buildImageSearchFilter","_imageSearchFilters","ImageSearchFilterToken","backgroundFilter","_componentDefinitions","HeroSectionDefinition","HeroEntitySectionDefinition","KpiSectionDefinition","FeatureCardsSectionDefinition","EntitySectionDefinition","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","fetchEntityListData","listEntityItems","LIST_ITEMS_ENDPOINT","getEntityExtractor","registerEntityExtractor","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","_callout","CALLOUT_KINDS","_useWeb5Link","useWeb5Link","_useConversation","useConversation","_useDebugImageContext","useDebugImageContext","_useResolvedImageSources","useResolvedImageSources","_useResolveGenericEntityData","useResolveGenericEntityData","_useEntityTransforms","useEntityTransforms","_useMarkdownUtils","useMarkdownUtils","_useResolveShopifyEntityData","useResolveShopifyEntityData","_useResolveSearchSpringEntityData","useResolveSearchSpringEntityData","_searchspring","fetchProductsByHandles","fetchProductsByHandlesMap","transformSSProductToEntityItemData","_cart","addToCart","_shopify","ShopifyStorefrontClient","resolveShopifyConfig","resolveShopifyEntity","transformShopifyProduct","transformShopifyCollection","transformShopifyArticle","transformShopifyEntityToItemData","PRODUCT_BY_HANDLE_QUERY","COLLECTION_BY_HANDLE_QUERY","ARTICLE_BY_HANDLE_QUERY","_utils","cn","_imageUtils","normalizeImageUrl","getResizedImageUrl","_imageBackdrop","analyzeBackdrop","computeContentBBox","buildProbeUrl","loadImagePixels","loadBackdropAnalysis","_parseUtils","stripMarkdown","_colorUtils","rgbToHsl","hslToRgb","ensureMinLightness","toRgb","deriveDarkColor","deriveDarkGradient","deriveLightColor","_analyticsEvents","pushEvent","pushPromptSubmit","pushLinkClick","pushError","pushExit","pushEntityFiltered","hasAnalyticsConsent","_errors","ERROR_MARKDOWN","getErrorTypeFromStatus","createErrorMarkdown","STREAMING_TIMEOUT_MS","DEFAULT_ERROR_TEMPLATES","resolveErrorTemplate","_navigationStack","getForwardStack","setForwardStack","clearForwardStack","pushToForwardStack","popFromForwardStack","_UserQuery","UserQuery","_productBackHandoff","PRODUCT_BACK_SESSION_KEY","writeProductBackHandoff","readProductBackHandoff","_PromptEntryEmptyState","PromptEntryEmptyState","_SearchSection","SearchSection","_FeedbackBar","FeedbackBar","_Disclaimer","Disclaimer","_BottomContainer","BottomContainer","_MarkdownText","MarkdownText","_CalloutBlock","CalloutBlock","_OptimizedImage","OptimizedImage","_SectionSkeleton","SectionSkeleton","_SmartIcon","SmartIcon","_Loader","Loader","_PlacementLoader","PlacementLoader","_UnifiedLink","UnifiedLink","detectLinkType","LinkType","_table","Table","TableHeader","TableBody","TableFooter","TableHead","TableRow","TableCell","TableCaption","_userQueryEvent","WEB5_USER_QUERY_EVENT","_answerUpdatedEvent","WEB5_ANSWER_UPDATED_EVENT","_redirectEvent","WEB5_REDIRECT_EVENT","_loadClientBundle","loadClientBundle","_clientBundleOverride","getClientBundleOverride","isTrustedBundleHost","_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","_wixAuthFetch","createWixAuthFetch","_sessionManager","getOrCreateSessionId","getSessionId","getChatId","startNewChatId","setChatId","resetChatIdForTests","_componentParser","parseMarkdownToComponents","tryParseComponent","mergeSectionsWithStableReferences","_hostScope","WEB5_ROOT_ID","WEB5_ROOT_CLASS","WEB5_SCOPES","WEB5_SCOPE","WEB5_GLOBAL_TOKENS"],"sources":["../../src/index.ts"],"sourcesContent":["// Client IDs and experiment IDs\nexport { CLIENT_IDS, EXPERIMENT_IDS } from './clients';\n\nexport {\n type EmbedFeatureToggleResult,\n type FeatureToggleReader,\n createFeatureToggleReader,\n FeatureToggleProvider,\n useFeatureToggles,\n useFeatureToggle,\n} from './featureToggles/FeatureToggleContext';\n\n// Dev-only chrome injection contract for client packages\nexport type { DevEnvironment } from './client/devEnvironment';\n\n// Part types and helpers\nexport {\n type PartType,\n type Part,\n type HeadingPart,\n type ImagePart,\n type LinkPart,\n type ListPart,\n type ListItemPart,\n type KpiItemPart,\n type CardPart,\n type IconPart,\n type CalloutPart,\n type EntityPart,\n getPartsByType,\n getPartByRole,\n getAllByRole,\n getHeading,\n getImages,\n getLinks,\n extractContent,\n extractContentMarkdown,\n deriveRole,\n} from './parts/parts';\n\n// Component types\nexport type {\n BaseCompProps,\n SlotCompProps,\n SectionCompProps,\n SectionCompPropsWithSlot,\n TextCompProps,\n ButtonCompProps,\n ImageCompProps,\n BadgeCompProps,\n HeroButton,\n KpiItemCompProps,\n FeatureItemCompProps,\n FeatureCardCompProps,\n EntityItemData,\n EntityItem,\n GenericEntityData,\n GenericEntityCompProps,\n ComparisonRow,\n ComparisonColumn,\n AiNarrativeCompProps,\n HeroCompProps,\n HeroEntityCompProps,\n KpiCompProps,\n FeatureCardsCompProps,\n EntityCompProps,\n ComparisonCompProps,\n TextBlockCompProps,\n Component,\n BaseComponent,\n SlotComponent,\n SectionComponent,\n TextComponent,\n ButtonComponent,\n ImageComponent,\n BadgeComponent,\n KpiItemComponent,\n FeatureItemComponent,\n FeatureCardComponent,\n GenericEntityComponent,\n AiNarrativeComponent,\n ComparisonSectionComponent,\n TextBlockSectionComponent,\n HeroSectionComponent,\n HeroEntitySectionComponent,\n KpiSectionComponent,\n FeatureCardsSectionComponent,\n EntitySectionComponent,\n PropsOf,\n SectionFixture,\n CtaBannerCompProps,\n CtaBannerSectionComponent,\n CalloutCompProps,\n CalloutSectionComponent,\n NextStepsCompProps,\n NextStepsSectionComponent,\n FeatureSection9PlusCompProps,\n FeatureSection9PlusSectionComponent,\n ListItemsSectionCompProps,\n ListItemsSectionComponent,\n ErrorCompProps,\n ErrorSectionComponent,\n NullCompProps,\n NullSectionComponent,\n SolutionEntityCompProps,\n SolutionEntitySectionComponent,\n SolutionEntityData,\n BlogEntityCompProps,\n BlogEntitySectionComponent,\n BlogEntityData,\n GeneralTextCompProps,\n GeneralTextSectionComponent,\n PersonalizedNarrativeCompProps,\n PersonalizedNarrativeSectionComponent,\n} from './component/types';\n\n// Section definition\nexport type {\n SectionDefinition,\n ParseContext,\n ContextualImageResult,\n} from './component/section-definition';\n\n// Diagnostic types\nexport { DIAGNOSTIC_TYPES } from './component/diagnosticTypes';\nexport type { DiagnosticType } from './component/diagnosticTypes';\n\n// Image search filters\nexport {\n buildImageSearchFilter,\n type ImageSearchFilterString,\n} from './image/imageSearchFilterTypes';\nexport {\n ImageSearchFilterToken,\n backgroundFilter,\n} from './image/imageSearchFilters';\nexport type {\n ContextualImageAsset,\n ImageSourceInput,\n ResolvedImageSource,\n ResolvedImageSourceKind,\n} from './image/contextualImageTypes';\n\n// Section definition classes + createSdkRegistry\nexport {\n HeroSectionDefinition,\n HeroEntitySectionDefinition,\n KpiSectionDefinition,\n FeatureCardsSectionDefinition,\n EntitySectionDefinition,\n 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 fetchEntityListData,\n listEntityItems,\n LIST_ITEMS_ENDPOINT,\n getEntityExtractor,\n registerEntityExtractor,\n transformToSolutionEntityData,\n transformToBlogPostEntityData,\n transformToGenericEntityData,\n} from './entity';\nexport type {\n EntityExtractor,\n FetchEntityListDataOptions,\n ListEntityItemsOptions,\n} from './entity';\nexport { CALLOUT_KINDS, type CalloutKind, type Callout } from './types/callout';\n\n// Wrapper hooks\nexport { useWeb5Link } from './hooks/useWeb5Link';\nexport { useConversation } from './hooks/useConversation';\nexport { useDebugImageContext } from './hooks/useDebugImageContext';\nexport { useResolvedImageSources } from './hooks/useResolvedImageSources';\nexport { useResolveGenericEntityData } from './hooks/useResolveGenericEntityData';\nexport { useEntityTransforms } from './hooks/useEntityTransforms';\nexport { useMarkdownUtils } from './hooks/useMarkdownUtils';\nexport { useResolveShopifyEntityData } from './hooks/useResolveShopifyEntityData';\nexport { useResolveSearchSpringEntityData } from './hooks/useResolveSearchSpringEntityData';\n\n// SearchSpring\nexport {\n fetchProductsByHandles,\n fetchProductsByHandlesMap,\n transformSSProductToEntityItemData,\n} from './services/searchspring';\nexport type {\n SearchSpringConfig,\n SSProduct,\n SSSearchResponse,\n SSSizeData,\n} from './services/searchspring';\n\n// Shopify Storefront API\n// Cart actions\nexport { addToCart } from './services/cart';\n\nexport {\n ShopifyStorefrontClient,\n resolveShopifyConfig,\n resolveShopifyEntity,\n transformShopifyProduct,\n transformShopifyCollection,\n transformShopifyArticle,\n transformShopifyEntityToItemData,\n PRODUCT_BY_HANDLE_QUERY,\n COLLECTION_BY_HANDLE_QUERY,\n ARTICLE_BY_HANDLE_QUERY,\n} from './services/shopify';\nexport type {\n ShopifyStorefrontConfig,\n ShopifyProduct,\n ShopifyCollection,\n ShopifyArticle,\n ShopifyImage,\n ShopifyMoneyV2,\n} from './services/shopify';\n\n// Utilities\nexport { cn } from './lib/utils';\nexport { normalizeImageUrl, getResizedImageUrl } from './utils/image-utils';\nexport {\n analyzeBackdrop,\n computeContentBBox,\n buildProbeUrl,\n loadImagePixels,\n loadBackdropAnalysis,\n type BackdropAnalysis,\n type ContentBBox,\n type ImagePixels,\n} from './utils/imageBackdrop';\nexport { stripMarkdown } from './component/componentDefinitions/parse-utils';\n\n// Color utilities\nexport {\n type RGB,\n rgbToHsl,\n hslToRgb,\n ensureMinLightness,\n toRgb,\n deriveDarkColor,\n deriveDarkGradient,\n deriveLightColor,\n} from './color/colorUtils';\n\n// Analytics\nexport {\n pushEvent,\n pushPromptSubmit,\n pushLinkClick,\n pushError,\n pushExit,\n pushEntityFiltered,\n hasAnalyticsConsent,\n type EntityFilteredReason,\n} from './utils/analyticsEvents';\n\n// 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 Disclaimer,\n type DisclaimerProps,\n} from './components/ui/Disclaimer';\nexport {\n BottomContainer,\n type BottomContainerProps,\n} from './components/ui/BottomContainer';\nexport { MarkdownText } from './components/ui/MarkdownText';\nexport {\n CalloutBlock,\n type CalloutBlockProps,\n} from './components/ui/CalloutBlock';\nexport {\n OptimizedImage,\n type OptimizedImageProps,\n} from './components/ui/OptimizedImage';\nexport {\n SectionSkeleton,\n type SectionSkeletonProps,\n} from './components/ui/SectionSkeleton';\nexport { SmartIcon, type SmartIconProps } from './components/ui/SmartIcon';\nexport { Loader, type LoaderProps } from './components/ui/Loader';\nexport {\n PlacementLoader,\n type PlacementLoaderProps,\n} from './components/ui/PlacementLoader';\nexport {\n UnifiedLink,\n detectLinkType,\n type UnifiedLinkProps,\n LinkType,\n type LinkVariant,\n} from './components/ui/UnifiedLink';\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n} from './components/ui/table';\n\n// Placement (DL #088, DL #102 behavior declarations)\nexport type {\n PlacementBehaviorConfig,\n PlacementConfig,\n PlacementPrompts,\n} from './types/placement';\n\n// Cross-bundle user-query broadcast event (DL #097 D2)\nexport {\n WEB5_USER_QUERY_EVENT,\n type Web5UserQueryEventDetail,\n type Web5UserQueryEvent,\n} from './types/userQueryEvent';\n\n// Cross-bundle answer-updated broadcast event (B2B-4121)\nexport {\n WEB5_ANSWER_UPDATED_EVENT,\n type Web5AnswerUpdatedEventDetail,\n type Web5AnswerUpdatedEvent,\n} from './types/answerUpdatedEvent';\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// 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 { 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":[]}
@@ -94,7 +94,7 @@ function createMockAstNodes(blockElements) {
94
94
  };
95
95
  }
96
96
 
97
- // Handle entity links for testing (e.g., 'entity_link:blog_post:abc123')
97
+ // Handle entity links for testing (e.g., 'entity_link:news_item:abc123')
98
98
  const elementStr = String(element);
99
99
  if (elementStr.startsWith('entity_link:')) {
100
100
  const parts = elementStr.slice('entity_link:'.length).split(':');
@@ -869,7 +869,7 @@ describe('Pattern Validator', () => {
869
869
  it('validates link attribute selector syntax', () => {
870
870
  // Basic attribute selectors
871
871
  expect((0, _index.validatePatternSyntax)('link[entityType]').valid).toBe(true);
872
- expect((0, _index.validatePatternSyntax)('link[entityType="blog_post"]').valid).toBe(true);
872
+ expect((0, _index.validatePatternSyntax)('link[entityType="news_item"]').valid).toBe(true);
873
873
  expect((0, _index.validatePatternSyntax)('link[protocol="entity"]').valid).toBe(true);
874
874
  expect((0, _index.validatePatternSyntax)('link[entityId="abc123"]').valid).toBe(true);
875
875
  });
@@ -882,35 +882,35 @@ describe('Pattern Validator', () => {
882
882
  expect((0, _index.validatePatternSyntax)('link[entityId$="123"]').valid).toBe(true);
883
883
  });
884
884
  it('validates multiple link attributes', () => {
885
- expect((0, _index.validatePatternSyntax)('link[entityType="blog_post"][entityId]').valid).toBe(true);
885
+ expect((0, _index.validatePatternSyntax)('link[entityType="news_item"][entityId]').valid).toBe(true);
886
886
  expect((0, _index.validatePatternSyntax)('link[protocol="entity"][entityType="product"]').valid).toBe(true);
887
887
  });
888
888
  it('validates link attributes with quantifiers', () => {
889
- expect((0, _index.validatePatternSyntax)('link[entityType="blog_post"]?').valid).toBe(true);
890
- expect((0, _index.validatePatternSyntax)('link[entityType="blog_post"]*').valid).toBe(true);
891
- expect((0, _index.validatePatternSyntax)('link[entityType="blog_post"]+').valid).toBe(true);
892
- expect((0, _index.validatePatternSyntax)('link[entityType="blog_post"][2]').valid).toBe(true);
893
- expect((0, _index.validatePatternSyntax)('link[entityType="blog_post"][1-3]').valid).toBe(true);
889
+ expect((0, _index.validatePatternSyntax)('link[entityType="news_item"]?').valid).toBe(true);
890
+ expect((0, _index.validatePatternSyntax)('link[entityType="news_item"]*').valid).toBe(true);
891
+ expect((0, _index.validatePatternSyntax)('link[entityType="news_item"]+').valid).toBe(true);
892
+ expect((0, _index.validatePatternSyntax)('link[entityType="news_item"][2]').valid).toBe(true);
893
+ expect((0, _index.validatePatternSyntax)('link[entityType="news_item"][1-3]').valid).toBe(true);
894
894
  });
895
895
  it('validates link attributes in sequences', () => {
896
- expect((0, _index.validatePatternSyntax)('h2 > link[entityType="blog_post"] > t').valid).toBe(true);
896
+ expect((0, _index.validatePatternSyntax)('h2 > link[entityType="news_item"] > t').valid).toBe(true);
897
897
  expect((0, _index.validatePatternSyntax)('link[protocol="entity"] > image > t').valid).toBe(true);
898
898
  });
899
899
  it('validates link attributes in groups and alternation', () => {
900
- expect((0, _index.validatePatternSyntax)('(link[entityType="blog_post"] | link[entityType="product"])').valid).toBe(true);
900
+ expect((0, _index.validatePatternSyntax)('(link[entityType="news_item"] | link[entityType="product"])').valid).toBe(true);
901
901
  expect((0, _index.validatePatternSyntax)('(t > link[entityType])+').valid).toBe(true);
902
902
  });
903
903
  });
904
904
  describe('Entity Link Matching', () => {
905
905
  it('matches entity link with exact entityType', () => {
906
- const nodes = createMockAstNodes(['entity_link:blog_post:abc123', 't']);
907
- const result = (0, _index.validatePattern)(nodes, 'link[entityType="blog_post"] > t');
906
+ const nodes = createMockAstNodes(['entity_link:news_item:abc123', 't']);
907
+ const result = (0, _index.validatePattern)(nodes, 'link[entityType="news_item"] > t');
908
908
  expect(result.valid).toBe(true);
909
909
  expect(result.endIndex).toBe(1);
910
910
  });
911
911
  it('does not match entity link with different entityType', () => {
912
912
  const nodes = createMockAstNodes(['entity_link:product:xyz789', 't']);
913
- const result = (0, _index.validatePattern)(nodes, 'link[entityType="blog_post"] > t');
913
+ const result = (0, _index.validatePattern)(nodes, 'link[entityType="news_item"] > t');
914
914
  expect(result.valid).toBe(false);
915
915
  });
916
916
  it('matches entity link with entityType exists check', () => {
@@ -924,17 +924,17 @@ describe('Pattern Validator', () => {
924
924
  expect(result.valid).toBe(false);
925
925
  });
926
926
  it('matches entity link with exact entityId', () => {
927
- const nodes = createMockAstNodes(['entity_link:blog_post:abc123', 't']);
927
+ const nodes = createMockAstNodes(['entity_link:news_item:abc123', 't']);
928
928
  const result = (0, _index.validatePattern)(nodes, 'link[entityId="abc123"] > t');
929
929
  expect(result.valid).toBe(true);
930
930
  });
931
931
  it('matches entity link with protocol="web5"', () => {
932
- const nodes = createMockAstNodes(['entity_link:blog_post:abc123', 't']);
932
+ const nodes = createMockAstNodes(['entity_link:news_item:abc123', 't']);
933
933
  const result = (0, _index.validatePattern)(nodes, 'link[protocol="web5"] > t');
934
934
  expect(result.valid).toBe(true);
935
935
  });
936
936
  it('does not match entity link when http protocol is required', () => {
937
- const nodes = createMockAstNodes(['entity_link:blog_post:abc123', 't']);
937
+ const nodes = createMockAstNodes(['entity_link:news_item:abc123', 't']);
938
938
  const result = (0, _index.validatePattern)(nodes, 'link[protocol="http"] > t');
939
939
  expect(result.valid).toBe(false);
940
940
  });
@@ -951,39 +951,39 @@ describe('Pattern Validator', () => {
951
951
  });
952
952
  describe('Entity Link Attribute Operators', () => {
953
953
  it('matches entityType containing substring (*=)', () => {
954
- const nodes = createMockAstNodes(['entity_link:blog_post:abc123', 't']);
955
- expect((0, _index.validatePattern)(nodes, 'link[entityType*="blog"] > t').valid).toBe(true);
956
- expect((0, _index.validatePattern)(nodes, 'link[entityType*="post"] > t').valid).toBe(true);
957
- expect((0, _index.validatePattern)(nodes, 'link[entityType*="log_po"] > t').valid).toBe(true);
954
+ const nodes = createMockAstNodes(['entity_link:news_item:abc123', 't']);
955
+ expect((0, _index.validatePattern)(nodes, 'link[entityType*="news"] > t').valid).toBe(true);
956
+ expect((0, _index.validatePattern)(nodes, 'link[entityType*="item"] > t').valid).toBe(true);
957
+ expect((0, _index.validatePattern)(nodes, 'link[entityType*="ws_it"] > t').valid).toBe(true);
958
958
  expect((0, _index.validatePattern)(nodes, 'link[entityType*="product"] > t').valid).toBe(false);
959
959
  });
960
960
  it('matches entityType starting with prefix (^=)', () => {
961
- const nodes = createMockAstNodes(['entity_link:blog_post:abc123', 't']);
962
- expect((0, _index.validatePattern)(nodes, 'link[entityType^="blog"] > t').valid).toBe(true);
963
- expect((0, _index.validatePattern)(nodes, 'link[entityType^="blog_"] > t').valid).toBe(true);
964
- expect((0, _index.validatePattern)(nodes, 'link[entityType^="post"] > t').valid).toBe(false);
961
+ const nodes = createMockAstNodes(['entity_link:news_item:abc123', 't']);
962
+ expect((0, _index.validatePattern)(nodes, 'link[entityType^="news"] > t').valid).toBe(true);
963
+ expect((0, _index.validatePattern)(nodes, 'link[entityType^="news_"] > t').valid).toBe(true);
964
+ expect((0, _index.validatePattern)(nodes, 'link[entityType^="item"] > t').valid).toBe(false);
965
965
  });
966
966
  it('matches entityType ending with suffix ($=)', () => {
967
- const nodes = createMockAstNodes(['entity_link:blog_post:abc123', 't']);
968
- expect((0, _index.validatePattern)(nodes, 'link[entityType$="post"] > t').valid).toBe(true);
969
- expect((0, _index.validatePattern)(nodes, 'link[entityType$="_post"] > t').valid).toBe(true);
970
- expect((0, _index.validatePattern)(nodes, 'link[entityType$="blog"] > t').valid).toBe(false);
967
+ const nodes = createMockAstNodes(['entity_link:news_item:abc123', 't']);
968
+ expect((0, _index.validatePattern)(nodes, 'link[entityType$="item"] > t').valid).toBe(true);
969
+ expect((0, _index.validatePattern)(nodes, 'link[entityType$="_item"] > t').valid).toBe(true);
970
+ expect((0, _index.validatePattern)(nodes, 'link[entityType$="news"] > t').valid).toBe(false);
971
971
  });
972
972
  it('matches entityId ending with suffix ($=)', () => {
973
- const nodes = createMockAstNodes(['entity_link:blog_post:post123', 't']);
973
+ const nodes = createMockAstNodes(['entity_link:news_item:post123', 't']);
974
974
  expect((0, _index.validatePattern)(nodes, 'link[entityId$="123"] > t').valid).toBe(true);
975
975
  expect((0, _index.validatePattern)(nodes, 'link[entityId$="789"] > t').valid).toBe(false);
976
976
  });
977
977
  });
978
978
  describe('Multiple Link Attributes', () => {
979
979
  it('matches with both entityType and entityId', () => {
980
- const nodes = createMockAstNodes(['entity_link:blog_post:abc123', 't']);
981
- const result = (0, _index.validatePattern)(nodes, 'link[entityType="blog_post"][entityId="abc123"] > t');
980
+ const nodes = createMockAstNodes(['entity_link:news_item:abc123', 't']);
981
+ const result = (0, _index.validatePattern)(nodes, 'link[entityType="news_item"][entityId="abc123"] > t');
982
982
  expect(result.valid).toBe(true);
983
983
  });
984
984
  it('does not match if one attribute fails', () => {
985
- const nodes = createMockAstNodes(['entity_link:blog_post:abc123', 't']);
986
- const result = (0, _index.validatePattern)(nodes, 'link[entityType="blog_post"][entityId="xyz789"] > t');
985
+ const nodes = createMockAstNodes(['entity_link:news_item:abc123', 't']);
986
+ const result = (0, _index.validatePattern)(nodes, 'link[entityType="news_item"][entityId="xyz789"] > t');
987
987
  expect(result.valid).toBe(false);
988
988
  });
989
989
  it('matches with protocol and entityType', () => {
@@ -995,49 +995,49 @@ describe('Pattern Validator', () => {
995
995
  describe('Optional Entity Links', () => {
996
996
  it('matches pattern without link when optional', () => {
997
997
  const nodes = createMockAstNodes(['h2', 't']);
998
- const result = (0, _index.validatePattern)(nodes, 'h2 > link[entityType="blog_post"]? > t');
998
+ const result = (0, _index.validatePattern)(nodes, 'h2 > link[entityType="news_item"]? > t');
999
999
  expect(result.valid).toBe(true);
1000
1000
  expect(result.endIndex).toBe(1);
1001
1001
  });
1002
1002
  it('matches pattern with matching link when optional', () => {
1003
- const nodes = createMockAstNodes(['h2', 'entity_link:blog_post:abc123', 't']);
1004
- const result = (0, _index.validatePattern)(nodes, 'h2 > link[entityType="blog_post"]? > t');
1003
+ const nodes = createMockAstNodes(['h2', 'entity_link:news_item:abc123', 't']);
1004
+ const result = (0, _index.validatePattern)(nodes, 'h2 > link[entityType="news_item"]? > t');
1005
1005
  expect(result.valid).toBe(true);
1006
1006
  expect(result.endIndex).toBe(2);
1007
1007
  });
1008
1008
  it('skips non-matching optional entity link', () => {
1009
1009
  // When optional entity link doesn't match, pattern should try to match without it
1010
1010
  const nodes = createMockAstNodes(['h2', 'http_link', 't']);
1011
- const result = (0, _index.validatePattern)(nodes, 'h2 > link[entityType="blog_post"]? > link > t');
1011
+ const result = (0, _index.validatePattern)(nodes, 'h2 > link[entityType="news_item"]? > link > t');
1012
1012
  expect(result.valid).toBe(true);
1013
1013
  });
1014
1014
  });
1015
1015
  describe('Entity Links with Quantifiers', () => {
1016
1016
  it('matches zero or more entity links (*)', () => {
1017
1017
  const nodes1 = createMockAstNodes(['h2', 't']);
1018
- const nodes2 = createMockAstNodes(['h2', 'entity_link:blog_post:1', 't']);
1019
- const nodes3 = createMockAstNodes(['h2', 'entity_link:blog_post:1', 'entity_link:blog_post:2', 't']);
1020
- expect((0, _index.validatePattern)(nodes1, 'h2 > link[entityType="blog_post"]* > t').valid).toBe(true);
1021
- expect((0, _index.validatePattern)(nodes2, 'h2 > link[entityType="blog_post"]* > t').valid).toBe(true);
1022
- expect((0, _index.validatePattern)(nodes3, 'h2 > link[entityType="blog_post"]* > t').valid).toBe(true);
1018
+ const nodes2 = createMockAstNodes(['h2', 'entity_link:news_item:1', 't']);
1019
+ const nodes3 = createMockAstNodes(['h2', 'entity_link:news_item:1', 'entity_link:news_item:2', 't']);
1020
+ expect((0, _index.validatePattern)(nodes1, 'h2 > link[entityType="news_item"]* > t').valid).toBe(true);
1021
+ expect((0, _index.validatePattern)(nodes2, 'h2 > link[entityType="news_item"]* > t').valid).toBe(true);
1022
+ expect((0, _index.validatePattern)(nodes3, 'h2 > link[entityType="news_item"]* > t').valid).toBe(true);
1023
1023
  });
1024
1024
  it('matches one or more entity links (+)', () => {
1025
1025
  const nodes1 = createMockAstNodes(['h2', 't']);
1026
- const nodes2 = createMockAstNodes(['h2', 'entity_link:blog_post:1', 't']);
1027
- const nodes3 = createMockAstNodes(['h2', 'entity_link:blog_post:1', 'entity_link:blog_post:2', 't']);
1028
- expect((0, _index.validatePattern)(nodes1, 'h2 > link[entityType="blog_post"]+ > t').valid).toBe(false);
1029
- expect((0, _index.validatePattern)(nodes2, 'h2 > link[entityType="blog_post"]+ > t').valid).toBe(true);
1030
- expect((0, _index.validatePattern)(nodes3, 'h2 > link[entityType="blog_post"]+ > t').valid).toBe(true);
1026
+ const nodes2 = createMockAstNodes(['h2', 'entity_link:news_item:1', 't']);
1027
+ const nodes3 = createMockAstNodes(['h2', 'entity_link:news_item:1', 'entity_link:news_item:2', 't']);
1028
+ expect((0, _index.validatePattern)(nodes1, 'h2 > link[entityType="news_item"]+ > t').valid).toBe(false);
1029
+ expect((0, _index.validatePattern)(nodes2, 'h2 > link[entityType="news_item"]+ > t').valid).toBe(true);
1030
+ expect((0, _index.validatePattern)(nodes3, 'h2 > link[entityType="news_item"]+ > t').valid).toBe(true);
1031
1031
  });
1032
1032
  it('matches exact count of entity links ([N])', () => {
1033
- const nodes = createMockAstNodes(['h2', 'entity_link:blog_post:1', 'entity_link:blog_post:2', 't']);
1034
- expect((0, _index.validatePattern)(nodes, 'h2 > link[entityType="blog_post"][2] > t').valid).toBe(true);
1035
- expect((0, _index.validatePattern)(nodes, 'h2 > link[entityType="blog_post"][3] > t').valid).toBe(false);
1033
+ const nodes = createMockAstNodes(['h2', 'entity_link:news_item:1', 'entity_link:news_item:2', 't']);
1034
+ expect((0, _index.validatePattern)(nodes, 'h2 > link[entityType="news_item"][2] > t').valid).toBe(true);
1035
+ expect((0, _index.validatePattern)(nodes, 'h2 > link[entityType="news_item"][3] > t').valid).toBe(false);
1036
1036
  });
1037
1037
  });
1038
1038
  describe('Backward Compatibility', () => {
1039
1039
  it('plain link matches entity links', () => {
1040
- const nodes = createMockAstNodes(['entity_link:blog_post:abc123', 't']);
1040
+ const nodes = createMockAstNodes(['entity_link:news_item:abc123', 't']);
1041
1041
  const result = (0, _index.validatePattern)(nodes, 'link > t');
1042
1042
  expect(result.valid).toBe(true);
1043
1043
  });
@@ -1055,32 +1055,32 @@ describe('Pattern Validator', () => {
1055
1055
  });
1056
1056
  describe('Complex Entity Link Patterns', () => {
1057
1057
  it('matches mixed entity and regular links in sequence', () => {
1058
- const nodes = createMockAstNodes(['entity_link:blog_post:abc123', 't', 'http_link', 't']);
1058
+ const nodes = createMockAstNodes(['entity_link:news_item:abc123', 't', 'http_link', 't']);
1059
1059
  const result = (0, _index.validatePattern)(nodes, 'link[protocol="web5"] > t > link[protocol="http"] > t');
1060
1060
  expect(result.valid).toBe(true);
1061
1061
  });
1062
1062
  it('matches entity links in alternation', () => {
1063
- const nodes1 = createMockAstNodes(['h2', 'entity_link:blog_post:1', 't']);
1063
+ const nodes1 = createMockAstNodes(['h2', 'entity_link:news_item:1', 't']);
1064
1064
  const nodes2 = createMockAstNodes(['h2', 'entity_link:product:1', 't']);
1065
- const pattern = 'h2 > (link[entityType="blog_post"] | link[entityType="product"]) > t';
1065
+ const pattern = 'h2 > (link[entityType="news_item"] | link[entityType="product"]) > t';
1066
1066
  expect((0, _index.validatePattern)(nodes1, pattern).valid).toBe(true);
1067
1067
  expect((0, _index.validatePattern)(nodes2, pattern).valid).toBe(true);
1068
1068
  });
1069
1069
  it('matches entity links in groups with quantifiers', () => {
1070
- const nodes = createMockAstNodes(['h2', 'entity_link:blog_post:1', 't', 'entity_link:blog_post:2', 't']);
1071
- const result = (0, _index.validatePattern)(nodes, 'h2 > (link[entityType="blog_post"] > t)+');
1070
+ const nodes = createMockAstNodes(['h2', 'entity_link:news_item:1', 't', 'entity_link:news_item:2', 't']);
1071
+ const result = (0, _index.validatePattern)(nodes, 'h2 > (link[entityType="news_item"] > t)+');
1072
1072
  expect(result.valid).toBe(true);
1073
1073
  expect(result.endIndex).toBe(4);
1074
1074
  });
1075
1075
  it('matches real-world blog post pattern with entity links', () => {
1076
- const nodes = createMockAstNodes(['h2', 't', 'entity_link:blog_post:123', 'image', 't', 'entity_link:blog_post:456', 'image', 't']);
1077
- const pattern = 'h2 > t > (link[entityType="blog_post"] > image > t)+';
1076
+ const nodes = createMockAstNodes(['h2', 't', 'entity_link:news_item:123', 'image', 't', 'entity_link:news_item:456', 'image', 't']);
1077
+ const pattern = 'h2 > t > (link[entityType="news_item"] > image > t)+';
1078
1078
  expect((0, _index.validatePattern)(nodes, pattern).valid).toBe(true);
1079
1079
  });
1080
1080
  it('matches pattern with entity type prefix matching', () => {
1081
- const nodes = createMockAstNodes(['entity_link:blog_post:1', 'entity_link:blog_article:2', 't']);
1082
- // Match any link where entityType starts with "blog"
1083
- const result = (0, _index.validatePattern)(nodes, 'link[entityType^="blog"]+ > t');
1081
+ const nodes = createMockAstNodes(['entity_link:news_item:1', 'entity_link:news_flash:2', 't']);
1082
+ // Match any link where entityType starts with "news"
1083
+ const result = (0, _index.validatePattern)(nodes, 'link[entityType^="news"]+ > t');
1084
1084
  expect(result.valid).toBe(true);
1085
1085
  });
1086
1086
  });