@wix/web5-core 1.56.1 → 1.57.0
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/client/wixAuthFetch.js +2 -2
- package/dist/cjs/client/wixAuthFetch.js.map +1 -1
- package/dist/cjs/component/componentDefinitions/HeroEntitySectionDefinition.js +20 -15
- package/dist/cjs/component/componentDefinitions/HeroEntitySectionDefinition.js.map +1 -1
- package/dist/cjs/component/componentDefinitions/HeroSectionDefinition.js +12 -4
- package/dist/cjs/component/componentDefinitions/HeroSectionDefinition.js.map +1 -1
- package/dist/cjs/component/componentDefinitions/listItemsSectionDefinition.js +24 -29
- package/dist/cjs/component/componentDefinitions/listItemsSectionDefinition.js.map +1 -1
- package/dist/cjs/component/componentParser.js +8 -1
- package/dist/cjs/component/componentParser.js.map +1 -1
- package/dist/cjs/component/types.js.map +1 -1
- package/dist/cjs/components/placement/PlacementResponseRenderer.css +0 -4
- package/dist/cjs/components/placement/PlacementResponseRenderer.js +11 -33
- package/dist/cjs/components/placement/PlacementResponseRenderer.js.map +1 -1
- package/dist/cjs/components/placement/buildPlacementDependencies.js.map +1 -1
- package/dist/cjs/components/ui/OptimizedImage.js +59 -14
- package/dist/cjs/components/ui/OptimizedImage.js.map +1 -1
- package/dist/cjs/components/ui/SectionSkeleton.css +19 -0
- package/dist/cjs/components/ui/SectionSkeleton.js +8 -4
- package/dist/cjs/components/ui/SectionSkeleton.js.map +1 -1
- package/dist/cjs/components/ui/UserQuery.css +72 -0
- package/dist/cjs/components/ui/UserQuery.js +131 -37
- package/dist/cjs/components/ui/UserQuery.js.map +1 -1
- package/dist/cjs/context/UserQueryContext.js +34 -0
- package/dist/cjs/context/UserQueryContext.js.map +1 -0
- package/dist/cjs/entity/defaultExtractor.js +9 -2
- package/dist/cjs/entity/defaultExtractor.js.map +1 -1
- package/dist/cjs/entity/fetchEntityListData.js +13 -26
- package/dist/cjs/entity/fetchEntityListData.js.map +1 -1
- package/dist/cjs/entity/index.js +5 -1
- package/dist/cjs/entity/index.js.map +1 -1
- package/dist/cjs/entity/listEntityItems.js +90 -0
- package/dist/cjs/entity/listEntityItems.js.map +1 -0
- package/dist/cjs/hostScope.js +63 -0
- package/dist/cjs/hostScope.js.map +1 -0
- package/dist/cjs/index.js +38 -13
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/patternValidator/validator.test.js +61 -61
- package/dist/cjs/patternValidator/validator.test.js.map +1 -1
- package/dist/cjs/registry/ComponentRegistry.js +22 -2
- package/dist/cjs/registry/ComponentRegistry.js.map +1 -1
- package/dist/cjs/registry/index.js +1 -3
- package/dist/cjs/registry/index.js.map +1 -1
- package/dist/cjs/registry/types.js.map +1 -1
- package/dist/cjs/styles/base-utilities.css +35 -0
- package/dist/cjs/styles/components.css +1 -0
- package/dist/cjs/styles/host-reset.css +81 -0
- package/dist/cjs/styles/tailwind-theme.css +6 -6
- package/dist/cjs/utils/backendEnvironment.js +78 -0
- package/dist/cjs/utils/backendEnvironment.js.map +1 -0
- package/dist/cjs/utils/entityLinkParser.js +3 -1
- package/dist/cjs/utils/entityLinkParser.js.map +1 -1
- package/dist/cjs/utils/imageBackdrop.js +269 -0
- package/dist/cjs/utils/imageBackdrop.js.map +1 -0
- package/dist/cjs/utils/intentExtractor.js +20 -9
- package/dist/cjs/utils/intentExtractor.js.map +1 -1
- package/dist/cjs/utils/productBackHandoff.js +106 -0
- package/dist/cjs/utils/productBackHandoff.js.map +1 -0
- package/dist/cjs/utils/refreshPrompts.js +72 -0
- package/dist/cjs/utils/refreshPrompts.js.map +1 -0
- package/dist/esm/client/wixAuthFetch.js +2 -2
- package/dist/esm/client/wixAuthFetch.js.map +1 -1
- package/dist/esm/component/componentDefinitions/HeroEntitySectionDefinition.js +20 -15
- package/dist/esm/component/componentDefinitions/HeroEntitySectionDefinition.js.map +1 -1
- package/dist/esm/component/componentDefinitions/HeroSectionDefinition.js +12 -4
- package/dist/esm/component/componentDefinitions/HeroSectionDefinition.js.map +1 -1
- package/dist/esm/component/componentDefinitions/listItemsSectionDefinition.js +25 -30
- package/dist/esm/component/componentDefinitions/listItemsSectionDefinition.js.map +1 -1
- package/dist/esm/component/componentParser.js +8 -1
- package/dist/esm/component/componentParser.js.map +1 -1
- package/dist/esm/component/types.js.map +1 -1
- package/dist/esm/components/placement/PlacementResponseRenderer.css +0 -4
- package/dist/esm/components/placement/PlacementResponseRenderer.js +1 -16
- package/dist/esm/components/placement/PlacementResponseRenderer.js.map +1 -1
- package/dist/esm/components/placement/buildPlacementDependencies.js.map +1 -1
- package/dist/esm/components/ui/OptimizedImage.js +50 -5
- package/dist/esm/components/ui/OptimizedImage.js.map +1 -1
- package/dist/esm/components/ui/SectionSkeleton.css +19 -0
- package/dist/esm/components/ui/SectionSkeleton.js +5 -1
- package/dist/esm/components/ui/SectionSkeleton.js.map +1 -1
- package/dist/esm/components/ui/UserQuery.css +72 -0
- package/dist/esm/components/ui/UserQuery.js +52 -6
- package/dist/esm/components/ui/UserQuery.js.map +1 -1
- package/dist/esm/context/UserQueryContext.js +21 -0
- package/dist/esm/context/UserQueryContext.js.map +1 -0
- package/dist/esm/entity/defaultExtractor.js +9 -2
- package/dist/esm/entity/defaultExtractor.js.map +1 -1
- package/dist/esm/entity/fetchEntityListData.js +14 -26
- package/dist/esm/entity/fetchEntityListData.js.map +1 -1
- package/dist/esm/entity/index.js +1 -0
- package/dist/esm/entity/index.js.map +1 -1
- package/dist/esm/entity/listEntityItems.js +85 -0
- package/dist/esm/entity/listEntityItems.js.map +1 -0
- package/dist/esm/hostScope.js +59 -0
- package/dist/esm/hostScope.js.map +1 -0
- package/dist/esm/index.js +13 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/patternValidator/validator.test.js +61 -61
- package/dist/esm/patternValidator/validator.test.js.map +1 -1
- package/dist/esm/registry/ComponentRegistry.js +22 -2
- package/dist/esm/registry/ComponentRegistry.js.map +1 -1
- package/dist/esm/registry/index.js +0 -1
- package/dist/esm/registry/index.js.map +1 -1
- package/dist/esm/registry/types.js.map +1 -1
- package/dist/esm/styles/base-utilities.css +35 -0
- package/dist/esm/styles/components.css +1 -0
- package/dist/esm/styles/host-reset.css +81 -0
- package/dist/esm/styles/tailwind-theme.css +6 -6
- package/dist/esm/utils/backendEnvironment.js +71 -0
- package/dist/esm/utils/backendEnvironment.js.map +1 -0
- package/dist/esm/utils/entityLinkParser.js +3 -1
- package/dist/esm/utils/entityLinkParser.js.map +1 -1
- package/dist/esm/utils/imageBackdrop.js +262 -0
- package/dist/esm/utils/imageBackdrop.js.map +1 -0
- package/dist/esm/utils/intentExtractor.js +21 -12
- package/dist/esm/utils/intentExtractor.js.map +1 -1
- package/dist/esm/utils/productBackHandoff.js +100 -0
- package/dist/esm/utils/productBackHandoff.js.map +1 -0
- package/dist/esm/utils/refreshPrompts.js +67 -0
- package/dist/esm/utils/refreshPrompts.js.map +1 -0
- package/dist/types/component/componentDefinitions/HeroEntitySectionDefinition.d.ts.map +1 -1
- package/dist/types/component/componentDefinitions/HeroSectionDefinition.d.ts.map +1 -1
- package/dist/types/component/componentDefinitions/listItemsSectionDefinition.d.ts +2 -2
- package/dist/types/component/componentDefinitions/listItemsSectionDefinition.d.ts.map +1 -1
- package/dist/types/component/componentParser.d.ts.map +1 -1
- package/dist/types/component/types.d.ts +1 -5
- package/dist/types/component/types.d.ts.map +1 -1
- package/dist/types/components/placement/PlacementResponseRenderer.d.ts +1 -1
- package/dist/types/components/placement/PlacementResponseRenderer.d.ts.map +1 -1
- package/dist/types/components/placement/buildPlacementDependencies.d.ts +1 -2
- package/dist/types/components/placement/buildPlacementDependencies.d.ts.map +1 -1
- package/dist/types/components/ui/OptimizedImage.d.ts +9 -0
- package/dist/types/components/ui/OptimizedImage.d.ts.map +1 -1
- package/dist/types/components/ui/SectionSkeleton.d.ts.map +1 -1
- package/dist/types/components/ui/UserQuery.d.ts +21 -0
- package/dist/types/components/ui/UserQuery.d.ts.map +1 -1
- package/dist/types/context/UserQueryContext.d.ts +12 -0
- package/dist/types/context/UserQueryContext.d.ts.map +1 -0
- package/dist/types/entity/defaultExtractor.d.ts.map +1 -1
- package/dist/types/entity/fetchEntityListData.d.ts +0 -2
- package/dist/types/entity/fetchEntityListData.d.ts.map +1 -1
- package/dist/types/entity/index.d.ts +1 -0
- package/dist/types/entity/index.d.ts.map +1 -1
- package/dist/types/entity/listEntityItems.d.ts +40 -0
- package/dist/types/entity/listEntityItems.d.ts.map +1 -0
- package/dist/types/hostScope.d.ts +83 -0
- package/dist/types/hostScope.d.ts.map +1 -0
- package/dist/types/index.d.ts +11 -7
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/registry/ComponentRegistry.d.ts +8 -0
- package/dist/types/registry/ComponentRegistry.d.ts.map +1 -1
- package/dist/types/registry/index.d.ts +0 -1
- package/dist/types/registry/index.d.ts.map +1 -1
- package/dist/types/registry/types.d.ts +5 -6
- package/dist/types/registry/types.d.ts.map +1 -1
- package/dist/types/utils/backendEnvironment.d.ts +30 -0
- package/dist/types/utils/backendEnvironment.d.ts.map +1 -0
- package/dist/types/utils/entityLinkParser.d.ts.map +1 -1
- package/dist/types/utils/imageBackdrop.d.ts +102 -0
- package/dist/types/utils/imageBackdrop.d.ts.map +1 -0
- package/dist/types/utils/intentExtractor.d.ts +21 -4
- package/dist/types/utils/intentExtractor.d.ts.map +1 -1
- package/dist/types/utils/productBackHandoff.d.ts +43 -0
- package/dist/types/utils/productBackHandoff.d.ts.map +1 -0
- package/dist/types/utils/refreshPrompts.d.ts +32 -0
- package/dist/types/utils/refreshPrompts.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/components/placement/PlacementResponseRenderer.css +0 -4
- package/src/components/ui/SectionSkeleton.css +19 -0
- package/src/components/ui/UserQuery.css +72 -0
- package/src/styles/base-utilities.css +35 -0
- package/src/styles/components.css +1 -0
- package/src/styles/host-reset.css +81 -0
- package/src/styles/tailwind-theme.css +6 -6
- package/dist/cjs/registry/Intent.js +0 -19
- package/dist/cjs/registry/Intent.js.map +0 -1
- package/dist/cjs/utils/conversationApi.js +0 -52
- package/dist/cjs/utils/conversationApi.js.map +0 -1
- package/dist/cjs/utils/conversationMode.js +0 -23
- package/dist/cjs/utils/conversationMode.js.map +0 -1
- package/dist/esm/registry/Intent.js +0 -15
- package/dist/esm/registry/Intent.js.map +0 -1
- package/dist/esm/utils/conversationApi.js +0 -45
- package/dist/esm/utils/conversationApi.js.map +0 -1
- package/dist/esm/utils/conversationMode.js +0 -18
- package/dist/esm/utils/conversationMode.js.map +0 -1
- package/dist/types/registry/Intent.d.ts +0 -12
- package/dist/types/registry/Intent.d.ts.map +0 -1
- package/dist/types/utils/conversationApi.d.ts +0 -26
- package/dist/types/utils/conversationApi.d.ts.map +0 -1
- package/dist/types/utils/conversationMode.d.ts +0 -16
- package/dist/types/utils/conversationMode.d.ts.map +0 -1
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clients","require","exports","CLIENT_IDS","EXPERIMENT_IDS","_FeatureToggleContext","createFeatureToggleReader","FeatureToggleProvider","useFeatureToggles","useFeatureToggle","_parts","getPartsByType","getPartByRole","getAllByRole","getHeading","getImages","getLinks","extractContent","extractContentMarkdown","deriveRole","_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:
|
|
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="
|
|
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="
|
|
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="
|
|
890
|
-
expect((0, _index.validatePatternSyntax)('link[entityType="
|
|
891
|
-
expect((0, _index.validatePatternSyntax)('link[entityType="
|
|
892
|
-
expect((0, _index.validatePatternSyntax)('link[entityType="
|
|
893
|
-
expect((0, _index.validatePatternSyntax)('link[entityType="
|
|
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="
|
|
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="
|
|
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:
|
|
907
|
-
const result = (0, _index.validatePattern)(nodes, 'link[entityType="
|
|
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="
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
955
|
-
expect((0, _index.validatePattern)(nodes, 'link[entityType*="
|
|
956
|
-
expect((0, _index.validatePattern)(nodes, 'link[entityType*="
|
|
957
|
-
expect((0, _index.validatePattern)(nodes, 'link[entityType*="
|
|
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:
|
|
962
|
-
expect((0, _index.validatePattern)(nodes, 'link[entityType^="
|
|
963
|
-
expect((0, _index.validatePattern)(nodes, 'link[entityType^="
|
|
964
|
-
expect((0, _index.validatePattern)(nodes, 'link[entityType^="
|
|
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:
|
|
968
|
-
expect((0, _index.validatePattern)(nodes, 'link[entityType$="
|
|
969
|
-
expect((0, _index.validatePattern)(nodes, 'link[entityType$="
|
|
970
|
-
expect((0, _index.validatePattern)(nodes, 'link[entityType$="
|
|
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:
|
|
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:
|
|
981
|
-
const result = (0, _index.validatePattern)(nodes, 'link[entityType="
|
|
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:
|
|
986
|
-
const result = (0, _index.validatePattern)(nodes, 'link[entityType="
|
|
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="
|
|
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:
|
|
1004
|
-
const result = (0, _index.validatePattern)(nodes, 'h2 > link[entityType="
|
|
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="
|
|
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:
|
|
1019
|
-
const nodes3 = createMockAstNodes(['h2', 'entity_link:
|
|
1020
|
-
expect((0, _index.validatePattern)(nodes1, 'h2 > link[entityType="
|
|
1021
|
-
expect((0, _index.validatePattern)(nodes2, 'h2 > link[entityType="
|
|
1022
|
-
expect((0, _index.validatePattern)(nodes3, 'h2 > link[entityType="
|
|
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:
|
|
1027
|
-
const nodes3 = createMockAstNodes(['h2', 'entity_link:
|
|
1028
|
-
expect((0, _index.validatePattern)(nodes1, 'h2 > link[entityType="
|
|
1029
|
-
expect((0, _index.validatePattern)(nodes2, 'h2 > link[entityType="
|
|
1030
|
-
expect((0, _index.validatePattern)(nodes3, 'h2 > link[entityType="
|
|
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:
|
|
1034
|
-
expect((0, _index.validatePattern)(nodes, 'h2 > link[entityType="
|
|
1035
|
-
expect((0, _index.validatePattern)(nodes, 'h2 > link[entityType="
|
|
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:
|
|
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:
|
|
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:
|
|
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="
|
|
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:
|
|
1071
|
-
const result = (0, _index.validatePattern)(nodes, 'h2 > (link[entityType="
|
|
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:
|
|
1077
|
-
const pattern = 'h2 > t > (link[entityType="
|
|
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:
|
|
1082
|
-
// Match any link where entityType starts with "
|
|
1083
|
-
const result = (0, _index.validatePattern)(nodes, 'link[entityType^="
|
|
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
|
});
|