@wix/web5-core 1.56.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/README.md +8 -0
- package/dist/cjs/client/clientBundleOverride.js +48 -0
- package/dist/cjs/client/clientBundleOverride.js.map +1 -0
- package/dist/cjs/client/devEnvironment.js +4 -0
- package/dist/cjs/client/devEnvironment.js.map +1 -0
- package/dist/cjs/client/loadClientBundle.js +85 -0
- package/dist/cjs/client/loadClientBundle.js.map +1 -0
- package/dist/cjs/client/wixAuthFetch.js +73 -0
- package/dist/cjs/client/wixAuthFetch.js.map +1 -0
- package/dist/cjs/clients.js +15 -0
- package/dist/cjs/clients.js.map +1 -0
- package/dist/cjs/color/colorUtils.js +126 -0
- package/dist/cjs/color/colorUtils.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/CalloutSectionDefinition.js +67 -0
- package/dist/cjs/component/componentDefinitions/CalloutSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/ComparisonSectionDefinition.js +141 -0
- package/dist/cjs/component/componentDefinitions/ComparisonSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/CtaBannerSectionDefinition.js +85 -0
- package/dist/cjs/component/componentDefinitions/CtaBannerSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/EntitySectionDefinition.js +171 -0
- package/dist/cjs/component/componentDefinitions/EntitySectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/ErrorSectionDefinition.js +81 -0
- package/dist/cjs/component/componentDefinitions/ErrorSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/FallbackSectionDefinition.js +29 -0
- package/dist/cjs/component/componentDefinitions/FallbackSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/FeatureCardsSectionDefinition.js +119 -0
- package/dist/cjs/component/componentDefinitions/FeatureCardsSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/FeatureSection9PlusDefinition.js +75 -0
- package/dist/cjs/component/componentDefinitions/FeatureSection9PlusDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/HeroEntitySectionDefinition.js +124 -0
- package/dist/cjs/component/componentDefinitions/HeroEntitySectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/HeroSectionDefinition.js +209 -0
- package/dist/cjs/component/componentDefinitions/HeroSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/HtmlCommentSectionDefinition.js +19 -0
- package/dist/cjs/component/componentDefinitions/HtmlCommentSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/KpiSectionDefinition.js +114 -0
- package/dist/cjs/component/componentDefinitions/KpiSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/NextStepsSectionDefinition.js +136 -0
- package/dist/cjs/component/componentDefinitions/NextStepsSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/SearchSectionDefinition.js +18 -0
- package/dist/cjs/component/componentDefinitions/SearchSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/SkipNodesSectionDefinition.js +20 -0
- package/dist/cjs/component/componentDefinitions/SkipNodesSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/TextBlockSectionDefinition.js +65 -0
- package/dist/cjs/component/componentDefinitions/TextBlockSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/index.js +48 -0
- package/dist/cjs/component/componentDefinitions/index.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/listItemsSectionDefinition.js +86 -0
- package/dist/cjs/component/componentDefinitions/listItemsSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/parse-utils.js +434 -0
- package/dist/cjs/component/componentDefinitions/parse-utils.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/specHelpers.js +36 -0
- package/dist/cjs/component/componentDefinitions/specHelpers.js.map +1 -0
- package/dist/cjs/component/componentParser.js +365 -0
- package/dist/cjs/component/componentParser.js.map +1 -0
- package/dist/cjs/component/diagnosticTypes.js +30 -0
- package/dist/cjs/component/diagnosticTypes.js.map +1 -0
- package/dist/cjs/component/parser-types.js +4 -0
- package/dist/cjs/component/parser-types.js.map +1 -0
- package/dist/cjs/component/section-definition.js +4 -0
- package/dist/cjs/component/section-definition.js.map +1 -0
- package/dist/cjs/component/types.js +4 -0
- package/dist/cjs/component/types.js.map +1 -0
- package/dist/cjs/components/placement/PlacementPayloadContext.js +29 -0
- package/dist/cjs/components/placement/PlacementPayloadContext.js.map +1 -0
- package/dist/cjs/components/placement/PlacementResponseRenderer.css +269 -0
- package/dist/cjs/components/placement/PlacementResponseRenderer.js +259 -0
- package/dist/cjs/components/placement/PlacementResponseRenderer.js.map +1 -0
- package/dist/cjs/components/placement/buildPlacementDependencies.js +214 -0
- package/dist/cjs/components/placement/buildPlacementDependencies.js.map +1 -0
- package/dist/cjs/components/ui/BottomContainer.js +26 -0
- package/dist/cjs/components/ui/BottomContainer.js.map +1 -0
- package/dist/cjs/components/ui/CalloutBlock.js +156 -0
- package/dist/cjs/components/ui/CalloutBlock.js.map +1 -0
- package/dist/cjs/components/ui/Disclaimer.css +35 -0
- package/dist/cjs/components/ui/Disclaimer.js +56 -0
- package/dist/cjs/components/ui/Disclaimer.js.map +1 -0
- package/dist/cjs/components/ui/FeedbackBar.css +267 -0
- package/dist/cjs/components/ui/FeedbackBar.js +417 -0
- package/dist/cjs/components/ui/FeedbackBar.js.map +1 -0
- package/dist/cjs/components/ui/Loader.js +73 -0
- package/dist/cjs/components/ui/Loader.js.map +1 -0
- package/dist/cjs/components/ui/MarkdownText.js +419 -0
- package/dist/cjs/components/ui/MarkdownText.js.map +1 -0
- package/dist/cjs/components/ui/OptimizedImage.js +414 -0
- package/dist/cjs/components/ui/OptimizedImage.js.map +1 -0
- package/dist/cjs/components/ui/PlacementLoader.css +101 -0
- package/dist/cjs/components/ui/PlacementLoader.js +62 -0
- package/dist/cjs/components/ui/PlacementLoader.js.map +1 -0
- package/dist/cjs/components/ui/PromptEntryEmptyState.css +172 -0
- package/dist/cjs/components/ui/PromptEntryEmptyState.js +96 -0
- package/dist/cjs/components/ui/PromptEntryEmptyState.js.map +1 -0
- package/dist/cjs/components/ui/SearchSection.css +538 -0
- package/dist/cjs/components/ui/SearchSection.js +550 -0
- package/dist/cjs/components/ui/SearchSection.js.map +1 -0
- package/dist/cjs/components/ui/SectionSkeleton.css +109 -0
- package/dist/cjs/components/ui/SectionSkeleton.js +190 -0
- package/dist/cjs/components/ui/SectionSkeleton.js.map +1 -0
- package/dist/cjs/components/ui/SmartIcon.js +122 -0
- package/dist/cjs/components/ui/SmartIcon.js.map +1 -0
- package/dist/cjs/components/ui/UnifiedLink.js +169 -0
- package/dist/cjs/components/ui/UnifiedLink.js.map +1 -0
- package/dist/cjs/components/ui/UserQuery.js +348 -0
- package/dist/cjs/components/ui/UserQuery.js.map +1 -0
- package/dist/cjs/components/ui/icons/ArrowTopRightIcon.js +37 -0
- package/dist/cjs/components/ui/icons/ArrowTopRightIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/ArrowUpIcon.js +61 -0
- package/dist/cjs/components/ui/icons/ArrowUpIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/CheckIcon.js +37 -0
- package/dist/cjs/components/ui/icons/CheckIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/CommentIcon.js +34 -0
- package/dist/cjs/components/ui/icons/CommentIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/PlusIcon.js +51 -0
- package/dist/cjs/components/ui/icons/PlusIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/RedoIcon.js +51 -0
- package/dist/cjs/components/ui/icons/RedoIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/ShareIcon.js +81 -0
- package/dist/cjs/components/ui/icons/ShareIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/UndoIcon.js +51 -0
- package/dist/cjs/components/ui/icons/UndoIcon.js.map +1 -0
- package/dist/cjs/components/ui/table.js +159 -0
- package/dist/cjs/components/ui/table.js.map +1 -0
- package/dist/cjs/context/ChipsContext.js +12 -0
- package/dist/cjs/context/ChipsContext.js.map +1 -0
- package/dist/cjs/context/ComponentDependenciesContext.js +32 -0
- package/dist/cjs/context/ComponentDependenciesContext.js.map +1 -0
- package/dist/cjs/entity/defaultExtractor.js +117 -0
- package/dist/cjs/entity/defaultExtractor.js.map +1 -0
- package/dist/cjs/entity/enrichEntitiesFromPayload.js +39 -0
- package/dist/cjs/entity/enrichEntitiesFromPayload.js.map +1 -0
- package/dist/cjs/entity/fetchEntityListData.js +78 -0
- package/dist/cjs/entity/fetchEntityListData.js.map +1 -0
- package/dist/cjs/entity/index.js +41 -0
- package/dist/cjs/entity/index.js.map +1 -0
- package/dist/cjs/entity/types.js +4 -0
- package/dist/cjs/entity/types.js.map +1 -0
- package/dist/cjs/errors/conversationErrorTypes.js +56 -0
- package/dist/cjs/errors/conversationErrorTypes.js.map +1 -0
- package/dist/cjs/errors/errorTemplates.js +86 -0
- package/dist/cjs/errors/errorTemplates.js.map +1 -0
- package/dist/cjs/errors/index.js +13 -0
- package/dist/cjs/errors/index.js.map +1 -0
- package/dist/cjs/external-types.d.js +2 -0
- package/dist/cjs/external-types.d.js.map +1 -0
- package/dist/cjs/featureToggles/FeatureToggleContext.js +44 -0
- package/dist/cjs/featureToggles/FeatureToggleContext.js.map +1 -0
- package/dist/cjs/hooks/useConversation.js +10 -0
- package/dist/cjs/hooks/useConversation.js.map +1 -0
- package/dist/cjs/hooks/useDebugImageContext.js +10 -0
- package/dist/cjs/hooks/useDebugImageContext.js.map +1 -0
- package/dist/cjs/hooks/useEntityTransforms.js +10 -0
- package/dist/cjs/hooks/useEntityTransforms.js.map +1 -0
- package/dist/cjs/hooks/useMarkdownUtils.js +10 -0
- package/dist/cjs/hooks/useMarkdownUtils.js.map +1 -0
- package/dist/cjs/hooks/useResolveGenericEntityData.js +10 -0
- package/dist/cjs/hooks/useResolveGenericEntityData.js.map +1 -0
- package/dist/cjs/hooks/useResolveSearchSpringEntityData.js +146 -0
- package/dist/cjs/hooks/useResolveSearchSpringEntityData.js.map +1 -0
- package/dist/cjs/hooks/useResolveShopifyEntityData.js +190 -0
- package/dist/cjs/hooks/useResolveShopifyEntityData.js.map +1 -0
- package/dist/cjs/hooks/useResolvedImageSources.js +160 -0
- package/dist/cjs/hooks/useResolvedImageSources.js.map +1 -0
- package/dist/cjs/hooks/useWeb5Link.js +10 -0
- package/dist/cjs/hooks/useWeb5Link.js.map +1 -0
- package/dist/cjs/image/contextualImageTypes.js +4 -0
- package/dist/cjs/image/contextualImageTypes.js.map +1 -0
- package/dist/cjs/image/imageSearchFilterTypes.js +19 -0
- package/dist/cjs/image/imageSearchFilterTypes.js.map +1 -0
- package/dist/cjs/image/imageSearchFilters.js +22 -0
- package/dist/cjs/image/imageSearchFilters.js.map +1 -0
- package/dist/cjs/index.js +285 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/lib/utils.js +33 -0
- package/dist/cjs/lib/utils.js.map +1 -0
- package/dist/cjs/markdownBlocks.js +645 -0
- package/dist/cjs/markdownBlocks.js.map +1 -0
- package/dist/cjs/match/astToParts.js +374 -0
- package/dist/cjs/match/astToParts.js.map +1 -0
- package/dist/cjs/match/extractProps.js +654 -0
- package/dist/cjs/match/extractProps.js.map +1 -0
- package/dist/cjs/match/index.js +11 -0
- package/dist/cjs/match/index.js.map +1 -0
- package/dist/cjs/match/matchAllSections.js +34 -0
- package/dist/cjs/match/matchAllSections.js.map +1 -0
- package/dist/cjs/match/matchMarkdown.js +39 -0
- package/dist/cjs/match/matchMarkdown.js.map +1 -0
- package/dist/cjs/parts/parts.js +183 -0
- package/dist/cjs/parts/parts.js.map +1 -0
- package/dist/cjs/patternAnalyzer/conflictDetector.js +103 -0
- package/dist/cjs/patternAnalyzer/conflictDetector.js.map +1 -0
- package/dist/cjs/patternAnalyzer/index.js +40 -0
- package/dist/cjs/patternAnalyzer/index.js.map +1 -0
- package/dist/cjs/patternAnalyzer/markdownGenerator.js +347 -0
- package/dist/cjs/patternAnalyzer/markdownGenerator.js.map +1 -0
- package/dist/cjs/patternAnalyzer/mergeDetector.js +505 -0
- package/dist/cjs/patternAnalyzer/mergeDetector.js.map +1 -0
- package/dist/cjs/patternAnalyzer/parserValidator.js +56 -0
- package/dist/cjs/patternAnalyzer/parserValidator.js.map +1 -0
- package/dist/cjs/patternAnalyzer/patternWriter.js +106 -0
- package/dist/cjs/patternAnalyzer/patternWriter.js.map +1 -0
- package/dist/cjs/patternAnalyzer/run.js +140 -0
- package/dist/cjs/patternAnalyzer/run.js.map +1 -0
- package/dist/cjs/patternAnalyzer/types.js +4 -0
- package/dist/cjs/patternAnalyzer/types.js.map +1 -0
- package/dist/cjs/patternValidator/ERROR_MESSAGES.md +110 -0
- package/dist/cjs/patternValidator/README.md +757 -0
- package/dist/cjs/patternValidator/automaton.js +349 -0
- package/dist/cjs/patternValidator/automaton.js.map +1 -0
- package/dist/cjs/patternValidator/index.js +196 -0
- package/dist/cjs/patternValidator/index.js.map +1 -0
- package/dist/cjs/patternValidator/lexer.js +218 -0
- package/dist/cjs/patternValidator/lexer.js.map +1 -0
- package/dist/cjs/patternValidator/matcher.js +722 -0
- package/dist/cjs/patternValidator/matcher.js.map +1 -0
- package/dist/cjs/patternValidator/parser.js +533 -0
- package/dist/cjs/patternValidator/parser.js.map +1 -0
- package/dist/cjs/patternValidator/types.js +4 -0
- package/dist/cjs/patternValidator/types.js.map +1 -0
- package/dist/cjs/patternValidator/validator.test.js +1277 -0
- package/dist/cjs/patternValidator/validator.test.js.map +1 -0
- package/dist/cjs/registry/ComponentRegistry.js +438 -0
- package/dist/cjs/registry/ComponentRegistry.js.map +1 -0
- package/dist/cjs/registry/Intent.js +19 -0
- package/dist/cjs/registry/Intent.js.map +1 -0
- package/dist/cjs/registry/index.js +9 -0
- package/dist/cjs/registry/index.js.map +1 -0
- package/dist/cjs/registry/types.js +4 -0
- package/dist/cjs/registry/types.js.map +1 -0
- package/dist/cjs/services/cart/addToCart.js +147 -0
- package/dist/cjs/services/cart/addToCart.js.map +1 -0
- package/dist/cjs/services/cart/index.js +7 -0
- package/dist/cjs/services/cart/index.js.map +1 -0
- package/dist/cjs/services/searchspring/index.js +10 -0
- package/dist/cjs/services/searchspring/index.js.map +1 -0
- package/dist/cjs/services/searchspring/searchSpringClient.js +49 -0
- package/dist/cjs/services/searchspring/searchSpringClient.js.map +1 -0
- package/dist/cjs/services/searchspring/transformSSProduct.js +70 -0
- package/dist/cjs/services/searchspring/transformSSProduct.js.map +1 -0
- package/dist/cjs/services/searchspring/types.js +4 -0
- package/dist/cjs/services/searchspring/types.js.map +1 -0
- package/dist/cjs/services/shopify/globals.d.js +4 -0
- package/dist/cjs/services/shopify/globals.d.js.map +1 -0
- package/dist/cjs/services/shopify/index.js +22 -0
- package/dist/cjs/services/shopify/index.js.map +1 -0
- package/dist/cjs/services/shopify/queries.js +214 -0
- package/dist/cjs/services/shopify/queries.js.map +1 -0
- package/dist/cjs/services/shopify/resolveStoreDomain.js +28 -0
- package/dist/cjs/services/shopify/resolveStoreDomain.js.map +1 -0
- package/dist/cjs/services/shopify/shopifyEntityResolver.js +109 -0
- package/dist/cjs/services/shopify/shopifyEntityResolver.js.map +1 -0
- package/dist/cjs/services/shopify/shopifyStorefrontClient.js +58 -0
- package/dist/cjs/services/shopify/shopifyStorefrontClient.js.map +1 -0
- package/dist/cjs/services/shopify/transformShopifyEntity.js +137 -0
- package/dist/cjs/services/shopify/transformShopifyEntity.js.map +1 -0
- package/dist/cjs/services/shopify/types.js +4 -0
- package/dist/cjs/services/shopify/types.js.map +1 -0
- package/dist/cjs/styles/base-tokens.css +152 -0
- package/dist/cjs/styles/base-utilities.css +424 -0
- package/dist/cjs/styles/components.css +6 -0
- package/dist/cjs/styles/prompt-input-tokens.css +136 -0
- package/dist/cjs/styles/tailwind-theme.css +138 -0
- package/dist/cjs/test-types.d.js +2 -0
- package/dist/cjs/test-types.d.js.map +1 -0
- package/dist/cjs/testUtils.js +25 -0
- package/dist/cjs/testUtils.js.map +1 -0
- package/dist/cjs/types/answerUpdatedEvent.js +20 -0
- package/dist/cjs/types/answerUpdatedEvent.js.map +1 -0
- package/dist/cjs/types/blog.js +4 -0
- package/dist/cjs/types/blog.js.map +1 -0
- package/dist/cjs/types/callout.js +6 -0
- package/dist/cjs/types/callout.js.map +1 -0
- package/dist/cjs/types/dependencies.js +4 -0
- package/dist/cjs/types/dependencies.js.map +1 -0
- package/dist/cjs/types/entity.js +4 -0
- package/dist/cjs/types/entity.js.map +1 -0
- package/dist/cjs/types/link-types.js +62 -0
- package/dist/cjs/types/link-types.js.map +1 -0
- package/dist/cjs/types/page-section.js +4 -0
- package/dist/cjs/types/page-section.js.map +1 -0
- package/dist/cjs/types/placement.js +4 -0
- package/dist/cjs/types/placement.js.map +1 -0
- package/dist/cjs/types/redirectEvent.js +27 -0
- package/dist/cjs/types/redirectEvent.js.map +1 -0
- package/dist/cjs/types/userQueryEvent.js +19 -0
- package/dist/cjs/types/userQueryEvent.js.map +1 -0
- package/dist/cjs/utils/analyticsEvents.js +91 -0
- package/dist/cjs/utils/analyticsEvents.js.map +1 -0
- package/dist/cjs/utils/componentTracking.js +90 -0
- package/dist/cjs/utils/componentTracking.js.map +1 -0
- package/dist/cjs/utils/contentKeywordMatcher.js +56 -0
- package/dist/cjs/utils/contentKeywordMatcher.js.map +1 -0
- package/dist/cjs/utils/conversationApi.js +52 -0
- package/dist/cjs/utils/conversationApi.js.map +1 -0
- package/dist/cjs/utils/conversationMode.js +23 -0
- package/dist/cjs/utils/conversationMode.js.map +1 -0
- package/dist/cjs/utils/diagnosticsCollector.js +58 -0
- package/dist/cjs/utils/diagnosticsCollector.js.map +1 -0
- package/dist/cjs/utils/entityLinkParser.js +256 -0
- package/dist/cjs/utils/entityLinkParser.js.map +1 -0
- package/dist/cjs/utils/htmlCommentParser.js +122 -0
- package/dist/cjs/utils/htmlCommentParser.js.map +1 -0
- package/dist/cjs/utils/image-utils.js +49 -0
- package/dist/cjs/utils/image-utils.js.map +1 -0
- package/dist/cjs/utils/intentExtractor.js +47 -0
- package/dist/cjs/utils/intentExtractor.js.map +1 -0
- package/dist/cjs/utils/markdownPreprocessor.js +268 -0
- package/dist/cjs/utils/markdownPreprocessor.js.map +1 -0
- package/dist/cjs/utils/navigationStack.js +35 -0
- package/dist/cjs/utils/navigationStack.js.map +1 -0
- package/dist/cjs/utils/nodeMatchers.js +43 -0
- package/dist/cjs/utils/nodeMatchers.js.map +1 -0
- package/dist/cjs/utils/propsExtractor.js +66 -0
- package/dist/cjs/utils/propsExtractor.js.map +1 -0
- package/dist/cjs/utils/sessionManager.js +161 -0
- package/dist/cjs/utils/sessionManager.js.map +1 -0
- package/dist/cjs/utils/unifiedMarkdownParser.js +44 -0
- package/dist/cjs/utils/unifiedMarkdownParser.js.map +1 -0
- package/dist/cjs/utils/web5LinkValidator.js +56 -0
- package/dist/cjs/utils/web5LinkValidator.js.map +1 -0
- package/dist/cjs/utils/web5LinkValidator.test.js +115 -0
- package/dist/cjs/utils/web5LinkValidator.test.js.map +1 -0
- package/dist/esm/client/clientBundleOverride.js +43 -0
- package/dist/esm/client/clientBundleOverride.js.map +1 -0
- package/dist/esm/client/devEnvironment.js +2 -0
- package/dist/esm/client/devEnvironment.js.map +1 -0
- package/dist/esm/client/loadClientBundle.js +82 -0
- package/dist/esm/client/loadClientBundle.js.map +1 -0
- package/dist/esm/client/wixAuthFetch.js +68 -0
- package/dist/esm/client/wixAuthFetch.js.map +1 -0
- package/dist/esm/clients.js +11 -0
- package/dist/esm/clients.js.map +1 -0
- package/dist/esm/color/colorUtils.js +118 -0
- package/dist/esm/color/colorUtils.js.map +1 -0
- package/dist/esm/component/componentDefinitions/CalloutSectionDefinition.js +61 -0
- package/dist/esm/component/componentDefinitions/CalloutSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/ComparisonSectionDefinition.js +135 -0
- package/dist/esm/component/componentDefinitions/ComparisonSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/CtaBannerSectionDefinition.js +79 -0
- package/dist/esm/component/componentDefinitions/CtaBannerSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/EntitySectionDefinition.js +165 -0
- package/dist/esm/component/componentDefinitions/EntitySectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/ErrorSectionDefinition.js +75 -0
- package/dist/esm/component/componentDefinitions/ErrorSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/FallbackSectionDefinition.js +23 -0
- package/dist/esm/component/componentDefinitions/FallbackSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/FeatureCardsSectionDefinition.js +113 -0
- package/dist/esm/component/componentDefinitions/FeatureCardsSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/FeatureSection9PlusDefinition.js +69 -0
- package/dist/esm/component/componentDefinitions/FeatureSection9PlusDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/HeroEntitySectionDefinition.js +119 -0
- package/dist/esm/component/componentDefinitions/HeroEntitySectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/HeroSectionDefinition.js +203 -0
- package/dist/esm/component/componentDefinitions/HeroSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/HtmlCommentSectionDefinition.js +13 -0
- package/dist/esm/component/componentDefinitions/HtmlCommentSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/KpiSectionDefinition.js +108 -0
- package/dist/esm/component/componentDefinitions/KpiSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/NextStepsSectionDefinition.js +130 -0
- package/dist/esm/component/componentDefinitions/NextStepsSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/SearchSectionDefinition.js +12 -0
- package/dist/esm/component/componentDefinitions/SearchSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/SkipNodesSectionDefinition.js +14 -0
- package/dist/esm/component/componentDefinitions/SkipNodesSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/TextBlockSectionDefinition.js +59 -0
- package/dist/esm/component/componentDefinitions/TextBlockSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/index.js +45 -0
- package/dist/esm/component/componentDefinitions/index.js.map +1 -0
- package/dist/esm/component/componentDefinitions/listItemsSectionDefinition.js +80 -0
- package/dist/esm/component/componentDefinitions/listItemsSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/parse-utils.js +412 -0
- package/dist/esm/component/componentDefinitions/parse-utils.js.map +1 -0
- package/dist/esm/component/componentDefinitions/specHelpers.js +31 -0
- package/dist/esm/component/componentDefinitions/specHelpers.js.map +1 -0
- package/dist/esm/component/componentParser.js +358 -0
- package/dist/esm/component/componentParser.js.map +1 -0
- package/dist/esm/component/diagnosticTypes.js +26 -0
- package/dist/esm/component/diagnosticTypes.js.map +1 -0
- package/dist/esm/component/parser-types.js +2 -0
- package/dist/esm/component/parser-types.js.map +1 -0
- package/dist/esm/component/section-definition.js +2 -0
- package/dist/esm/component/section-definition.js.map +1 -0
- package/dist/esm/component/types.js +2 -0
- package/dist/esm/component/types.js.map +1 -0
- package/dist/esm/components/placement/PlacementPayloadContext.js +24 -0
- package/dist/esm/components/placement/PlacementPayloadContext.js.map +1 -0
- package/dist/esm/components/placement/PlacementResponseRenderer.css +269 -0
- package/dist/esm/components/placement/PlacementResponseRenderer.js +173 -0
- package/dist/esm/components/placement/PlacementResponseRenderer.js.map +1 -0
- package/dist/esm/components/placement/buildPlacementDependencies.js +212 -0
- package/dist/esm/components/placement/buildPlacementDependencies.js.map +1 -0
- package/dist/esm/components/ui/BottomContainer.js +14 -0
- package/dist/esm/components/ui/BottomContainer.js.map +1 -0
- package/dist/esm/components/ui/CalloutBlock.js +118 -0
- package/dist/esm/components/ui/CalloutBlock.js.map +1 -0
- package/dist/esm/components/ui/Disclaimer.css +35 -0
- package/dist/esm/components/ui/Disclaimer.js +32 -0
- package/dist/esm/components/ui/Disclaimer.js.map +1 -0
- package/dist/esm/components/ui/FeedbackBar.css +267 -0
- package/dist/esm/components/ui/FeedbackBar.js +221 -0
- package/dist/esm/components/ui/FeedbackBar.js.map +1 -0
- package/dist/esm/components/ui/Loader.js +43 -0
- package/dist/esm/components/ui/Loader.js.map +1 -0
- package/dist/esm/components/ui/MarkdownText.js +283 -0
- package/dist/esm/components/ui/MarkdownText.js.map +1 -0
- package/dist/esm/components/ui/OptimizedImage.js +354 -0
- package/dist/esm/components/ui/OptimizedImage.js.map +1 -0
- package/dist/esm/components/ui/PlacementLoader.css +101 -0
- package/dist/esm/components/ui/PlacementLoader.js +28 -0
- package/dist/esm/components/ui/PlacementLoader.js.map +1 -0
- package/dist/esm/components/ui/PromptEntryEmptyState.css +172 -0
- package/dist/esm/components/ui/PromptEntryEmptyState.js +36 -0
- package/dist/esm/components/ui/PromptEntryEmptyState.js.map +1 -0
- package/dist/esm/components/ui/SearchSection.css +538 -0
- package/dist/esm/components/ui/SearchSection.js +317 -0
- package/dist/esm/components/ui/SearchSection.js.map +1 -0
- package/dist/esm/components/ui/SectionSkeleton.css +109 -0
- package/dist/esm/components/ui/SectionSkeleton.js +100 -0
- package/dist/esm/components/ui/SectionSkeleton.js.map +1 -0
- package/dist/esm/components/ui/SmartIcon.js +91 -0
- package/dist/esm/components/ui/SmartIcon.js.map +1 -0
- package/dist/esm/components/ui/UnifiedLink.js +105 -0
- package/dist/esm/components/ui/UnifiedLink.js.map +1 -0
- package/dist/esm/components/ui/UserQuery.js +167 -0
- package/dist/esm/components/ui/UserQuery.js.map +1 -0
- package/dist/esm/components/ui/icons/ArrowTopRightIcon.js +17 -0
- package/dist/esm/components/ui/icons/ArrowTopRightIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/ArrowUpIcon.js +29 -0
- package/dist/esm/components/ui/icons/ArrowUpIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/CheckIcon.js +17 -0
- package/dist/esm/components/ui/icons/CheckIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/CommentIcon.js +15 -0
- package/dist/esm/components/ui/icons/CommentIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/PlusIcon.js +25 -0
- package/dist/esm/components/ui/icons/PlusIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/RedoIcon.js +25 -0
- package/dist/esm/components/ui/icons/RedoIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/ShareIcon.js +37 -0
- package/dist/esm/components/ui/icons/ShareIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/UndoIcon.js +25 -0
- package/dist/esm/components/ui/icons/UndoIcon.js.map +1 -0
- package/dist/esm/components/ui/table.js +92 -0
- package/dist/esm/components/ui/table.js.map +1 -0
- package/dist/esm/context/ChipsContext.js +7 -0
- package/dist/esm/context/ChipsContext.js.map +1 -0
- package/dist/esm/context/ComponentDependenciesContext.js +19 -0
- package/dist/esm/context/ComponentDependenciesContext.js.map +1 -0
- package/dist/esm/entity/defaultExtractor.js +111 -0
- package/dist/esm/entity/defaultExtractor.js.map +1 -0
- package/dist/esm/entity/enrichEntitiesFromPayload.js +35 -0
- package/dist/esm/entity/enrichEntitiesFromPayload.js.map +1 -0
- package/dist/esm/entity/fetchEntityListData.js +76 -0
- package/dist/esm/entity/fetchEntityListData.js.map +1 -0
- package/dist/esm/entity/index.js +29 -0
- package/dist/esm/entity/index.js.map +1 -0
- package/dist/esm/entity/types.js +2 -0
- package/dist/esm/entity/types.js.map +1 -0
- package/dist/esm/errors/conversationErrorTypes.js +50 -0
- package/dist/esm/errors/conversationErrorTypes.js.map +1 -0
- package/dist/esm/errors/errorTemplates.js +81 -0
- package/dist/esm/errors/errorTemplates.js.map +1 -0
- package/dist/esm/errors/index.js +3 -0
- package/dist/esm/errors/index.js.map +1 -0
- package/dist/esm/external-types.d.js +2 -0
- package/dist/esm/external-types.d.js.map +1 -0
- package/dist/esm/featureToggles/FeatureToggleContext.js +30 -0
- package/dist/esm/featureToggles/FeatureToggleContext.js.map +1 -0
- package/dist/esm/hooks/useConversation.js +6 -0
- package/dist/esm/hooks/useConversation.js.map +1 -0
- package/dist/esm/hooks/useDebugImageContext.js +6 -0
- package/dist/esm/hooks/useDebugImageContext.js.map +1 -0
- package/dist/esm/hooks/useEntityTransforms.js +6 -0
- package/dist/esm/hooks/useEntityTransforms.js.map +1 -0
- package/dist/esm/hooks/useMarkdownUtils.js +6 -0
- package/dist/esm/hooks/useMarkdownUtils.js.map +1 -0
- package/dist/esm/hooks/useResolveGenericEntityData.js +6 -0
- package/dist/esm/hooks/useResolveGenericEntityData.js.map +1 -0
- package/dist/esm/hooks/useResolveSearchSpringEntityData.js +146 -0
- package/dist/esm/hooks/useResolveSearchSpringEntityData.js.map +1 -0
- package/dist/esm/hooks/useResolveShopifyEntityData.js +191 -0
- package/dist/esm/hooks/useResolveShopifyEntityData.js.map +1 -0
- package/dist/esm/hooks/useResolvedImageSources.js +169 -0
- package/dist/esm/hooks/useResolvedImageSources.js.map +1 -0
- package/dist/esm/hooks/useWeb5Link.js +6 -0
- package/dist/esm/hooks/useWeb5Link.js.map +1 -0
- package/dist/esm/image/contextualImageTypes.js +2 -0
- package/dist/esm/image/contextualImageTypes.js.map +1 -0
- package/dist/esm/image/imageSearchFilterTypes.js +15 -0
- package/dist/esm/image/imageSearchFilterTypes.js.map +1 -0
- package/dist/esm/image/imageSearchFilters.js +18 -0
- package/dist/esm/image/imageSearchFilters.js.map +1 -0
- package/dist/esm/index.js +152 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/utils.js +33 -0
- package/dist/esm/lib/utils.js.map +1 -0
- package/dist/esm/markdownBlocks.js +641 -0
- package/dist/esm/markdownBlocks.js.map +1 -0
- package/dist/esm/match/astToParts.js +371 -0
- package/dist/esm/match/astToParts.js.map +1 -0
- package/dist/esm/match/extractProps.js +634 -0
- package/dist/esm/match/extractProps.js.map +1 -0
- package/dist/esm/match/index.js +4 -0
- package/dist/esm/match/index.js.map +1 -0
- package/dist/esm/match/matchAllSections.js +31 -0
- package/dist/esm/match/matchAllSections.js.map +1 -0
- package/dist/esm/match/matchMarkdown.js +36 -0
- package/dist/esm/match/matchMarkdown.js.map +1 -0
- package/dist/esm/parts/parts.js +171 -0
- package/dist/esm/parts/parts.js.map +1 -0
- package/dist/esm/patternAnalyzer/conflictDetector.js +99 -0
- package/dist/esm/patternAnalyzer/conflictDetector.js.map +1 -0
- package/dist/esm/patternAnalyzer/index.js +36 -0
- package/dist/esm/patternAnalyzer/index.js.map +1 -0
- package/dist/esm/patternAnalyzer/markdownGenerator.js +344 -0
- package/dist/esm/patternAnalyzer/markdownGenerator.js.map +1 -0
- package/dist/esm/patternAnalyzer/mergeDetector.js +504 -0
- package/dist/esm/patternAnalyzer/mergeDetector.js.map +1 -0
- package/dist/esm/patternAnalyzer/parserValidator.js +52 -0
- package/dist/esm/patternAnalyzer/parserValidator.js.map +1 -0
- package/dist/esm/patternAnalyzer/patternWriter.js +102 -0
- package/dist/esm/patternAnalyzer/patternWriter.js.map +1 -0
- package/dist/esm/patternAnalyzer/run.js +138 -0
- package/dist/esm/patternAnalyzer/run.js.map +1 -0
- package/dist/esm/patternAnalyzer/types.js +2 -0
- package/dist/esm/patternAnalyzer/types.js.map +1 -0
- package/dist/esm/patternValidator/ERROR_MESSAGES.md +110 -0
- package/dist/esm/patternValidator/README.md +757 -0
- package/dist/esm/patternValidator/automaton.js +345 -0
- package/dist/esm/patternValidator/automaton.js.map +1 -0
- package/dist/esm/patternValidator/index.js +190 -0
- package/dist/esm/patternValidator/index.js.map +1 -0
- package/dist/esm/patternValidator/lexer.js +214 -0
- package/dist/esm/patternValidator/lexer.js.map +1 -0
- package/dist/esm/patternValidator/matcher.js +717 -0
- package/dist/esm/patternValidator/matcher.js.map +1 -0
- package/dist/esm/patternValidator/parser.js +531 -0
- package/dist/esm/patternValidator/parser.js.map +1 -0
- package/dist/esm/patternValidator/types.js +2 -0
- package/dist/esm/patternValidator/types.js.map +1 -0
- package/dist/esm/patternValidator/validator.test.js +1275 -0
- package/dist/esm/patternValidator/validator.test.js.map +1 -0
- package/dist/esm/registry/ComponentRegistry.js +435 -0
- package/dist/esm/registry/ComponentRegistry.js.map +1 -0
- package/dist/esm/registry/Intent.js +15 -0
- package/dist/esm/registry/Intent.js.map +1 -0
- package/dist/esm/registry/index.js +3 -0
- package/dist/esm/registry/index.js.map +1 -0
- package/dist/esm/registry/types.js +2 -0
- package/dist/esm/registry/types.js.map +1 -0
- package/dist/esm/services/cart/addToCart.js +146 -0
- package/dist/esm/services/cart/addToCart.js.map +1 -0
- package/dist/esm/services/cart/index.js +2 -0
- package/dist/esm/services/cart/index.js.map +1 -0
- package/dist/esm/services/searchspring/index.js +3 -0
- package/dist/esm/services/searchspring/index.js.map +1 -0
- package/dist/esm/services/searchspring/searchSpringClient.js +44 -0
- package/dist/esm/services/searchspring/searchSpringClient.js.map +1 -0
- package/dist/esm/services/searchspring/transformSSProduct.js +66 -0
- package/dist/esm/services/searchspring/transformSSProduct.js.map +1 -0
- package/dist/esm/services/searchspring/types.js +2 -0
- package/dist/esm/services/searchspring/types.js.map +1 -0
- package/dist/esm/services/shopify/globals.d.js +7 -0
- package/dist/esm/services/shopify/globals.d.js.map +1 -0
- package/dist/esm/services/shopify/index.js +6 -0
- package/dist/esm/services/shopify/index.js.map +1 -0
- package/dist/esm/services/shopify/queries.js +210 -0
- package/dist/esm/services/shopify/queries.js.map +1 -0
- package/dist/esm/services/shopify/resolveStoreDomain.js +25 -0
- package/dist/esm/services/shopify/resolveStoreDomain.js.map +1 -0
- package/dist/esm/services/shopify/shopifyEntityResolver.js +105 -0
- package/dist/esm/services/shopify/shopifyEntityResolver.js.map +1 -0
- package/dist/esm/services/shopify/shopifyStorefrontClient.js +52 -0
- package/dist/esm/services/shopify/shopifyStorefrontClient.js.map +1 -0
- package/dist/esm/services/shopify/transformShopifyEntity.js +130 -0
- package/dist/esm/services/shopify/transformShopifyEntity.js.map +1 -0
- package/dist/esm/services/shopify/types.js +2 -0
- package/dist/esm/services/shopify/types.js.map +1 -0
- package/dist/esm/styles/base-tokens.css +152 -0
- package/dist/esm/styles/base-utilities.css +424 -0
- package/dist/esm/styles/components.css +6 -0
- package/dist/esm/styles/prompt-input-tokens.css +136 -0
- package/dist/esm/styles/tailwind-theme.css +138 -0
- package/dist/esm/test-types.d.js +2 -0
- package/dist/esm/test-types.d.js.map +1 -0
- package/dist/esm/testUtils.js +20 -0
- package/dist/esm/testUtils.js.map +1 -0
- package/dist/esm/types/answerUpdatedEvent.js +16 -0
- package/dist/esm/types/answerUpdatedEvent.js.map +1 -0
- package/dist/esm/types/blog.js +2 -0
- package/dist/esm/types/blog.js.map +1 -0
- package/dist/esm/types/callout.js +2 -0
- package/dist/esm/types/callout.js.map +1 -0
- package/dist/esm/types/dependencies.js +2 -0
- package/dist/esm/types/dependencies.js.map +1 -0
- package/dist/esm/types/entity.js +2 -0
- package/dist/esm/types/entity.js.map +1 -0
- package/dist/esm/types/link-types.js +52 -0
- package/dist/esm/types/link-types.js.map +1 -0
- package/dist/esm/types/page-section.js +2 -0
- package/dist/esm/types/page-section.js.map +1 -0
- package/dist/esm/types/placement.js +2 -0
- package/dist/esm/types/placement.js.map +1 -0
- package/dist/esm/types/redirectEvent.js +23 -0
- package/dist/esm/types/redirectEvent.js.map +1 -0
- package/dist/esm/types/userQueryEvent.js +15 -0
- package/dist/esm/types/userQueryEvent.js.map +1 -0
- package/dist/esm/utils/analyticsEvents.js +84 -0
- package/dist/esm/utils/analyticsEvents.js.map +1 -0
- package/dist/esm/utils/componentTracking.js +84 -0
- package/dist/esm/utils/componentTracking.js.map +1 -0
- package/dist/esm/utils/contentKeywordMatcher.js +50 -0
- package/dist/esm/utils/contentKeywordMatcher.js.map +1 -0
- package/dist/esm/utils/conversationApi.js +45 -0
- package/dist/esm/utils/conversationApi.js.map +1 -0
- package/dist/esm/utils/conversationMode.js +18 -0
- package/dist/esm/utils/conversationMode.js.map +1 -0
- package/dist/esm/utils/diagnosticsCollector.js +52 -0
- package/dist/esm/utils/diagnosticsCollector.js.map +1 -0
- package/dist/esm/utils/entityLinkParser.js +246 -0
- package/dist/esm/utils/entityLinkParser.js.map +1 -0
- package/dist/esm/utils/htmlCommentParser.js +117 -0
- package/dist/esm/utils/htmlCommentParser.js.map +1 -0
- package/dist/esm/utils/image-utils.js +45 -0
- package/dist/esm/utils/image-utils.js.map +1 -0
- package/dist/esm/utils/intentExtractor.js +45 -0
- package/dist/esm/utils/intentExtractor.js.map +1 -0
- package/dist/esm/utils/markdownPreprocessor.js +257 -0
- package/dist/esm/utils/markdownPreprocessor.js.map +1 -0
- package/dist/esm/utils/navigationStack.js +27 -0
- package/dist/esm/utils/navigationStack.js.map +1 -0
- package/dist/esm/utils/nodeMatchers.js +38 -0
- package/dist/esm/utils/nodeMatchers.js.map +1 -0
- package/dist/esm/utils/propsExtractor.js +58 -0
- package/dist/esm/utils/propsExtractor.js.map +1 -0
- package/dist/esm/utils/sessionManager.js +151 -0
- package/dist/esm/utils/sessionManager.js.map +1 -0
- package/dist/esm/utils/unifiedMarkdownParser.js +36 -0
- package/dist/esm/utils/unifiedMarkdownParser.js.map +1 -0
- package/dist/esm/utils/web5LinkValidator.js +52 -0
- package/dist/esm/utils/web5LinkValidator.js.map +1 -0
- package/dist/esm/utils/web5LinkValidator.test.js +113 -0
- package/dist/esm/utils/web5LinkValidator.test.js.map +1 -0
- package/dist/types/client/clientBundleOverride.d.ts +26 -0
- package/dist/types/client/clientBundleOverride.d.ts.map +1 -0
- package/dist/types/client/devEnvironment.d.ts +24 -0
- package/dist/types/client/devEnvironment.d.ts.map +1 -0
- package/dist/types/client/loadClientBundle.d.ts +27 -0
- package/dist/types/client/loadClientBundle.d.ts.map +1 -0
- package/dist/types/client/wixAuthFetch.d.ts +12 -0
- package/dist/types/client/wixAuthFetch.d.ts.map +1 -0
- package/dist/types/clients.d.ts +10 -0
- package/dist/types/clients.d.ts.map +1 -0
- package/dist/types/color/colorUtils.d.ts +9 -0
- package/dist/types/color/colorUtils.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/CalloutSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/CalloutSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/ComparisonSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/ComparisonSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/CtaBannerSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/CtaBannerSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/EntitySectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/EntitySectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/ErrorSectionDefinition.d.ts +12 -0
- package/dist/types/component/componentDefinitions/ErrorSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/FallbackSectionDefinition.d.ts +16 -0
- package/dist/types/component/componentDefinitions/FallbackSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/FeatureCardsSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/FeatureCardsSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/FeatureSection9PlusDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/FeatureSection9PlusDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/HeroEntitySectionDefinition.d.ts +23 -0
- package/dist/types/component/componentDefinitions/HeroEntitySectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/HeroSectionDefinition.d.ts +12 -0
- package/dist/types/component/componentDefinitions/HeroSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/HtmlCommentSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/HtmlCommentSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/KpiSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/KpiSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/NextStepsSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/NextStepsSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/SearchSectionDefinition.d.ts +10 -0
- package/dist/types/component/componentDefinitions/SearchSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/SkipNodesSectionDefinition.d.ts +12 -0
- package/dist/types/component/componentDefinitions/SkipNodesSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/TextBlockSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/TextBlockSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/index.d.ts +26 -0
- package/dist/types/component/componentDefinitions/index.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/listItemsSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/listItemsSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/parse-utils.d.ts +88 -0
- package/dist/types/component/componentDefinitions/parse-utils.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/specHelpers.d.ts +16 -0
- package/dist/types/component/componentDefinitions/specHelpers.d.ts.map +1 -0
- package/dist/types/component/componentParser.d.ts +63 -0
- package/dist/types/component/componentParser.d.ts.map +1 -0
- package/dist/types/component/diagnosticTypes.d.ts +23 -0
- package/dist/types/component/diagnosticTypes.d.ts.map +1 -0
- package/dist/types/component/parser-types.d.ts +71 -0
- package/dist/types/component/parser-types.d.ts.map +1 -0
- package/dist/types/component/section-definition.d.ts +32 -0
- package/dist/types/component/section-definition.d.ts.map +1 -0
- package/dist/types/component/types.d.ts +315 -0
- package/dist/types/component/types.d.ts.map +1 -0
- package/dist/types/components/placement/PlacementPayloadContext.d.ts +20 -0
- package/dist/types/components/placement/PlacementPayloadContext.d.ts.map +1 -0
- package/dist/types/components/placement/PlacementResponseRenderer.d.ts +106 -0
- package/dist/types/components/placement/PlacementResponseRenderer.d.ts.map +1 -0
- package/dist/types/components/placement/buildPlacementDependencies.d.ts +44 -0
- package/dist/types/components/placement/buildPlacementDependencies.d.ts.map +1 -0
- package/dist/types/components/ui/BottomContainer.d.ts +9 -0
- package/dist/types/components/ui/BottomContainer.d.ts.map +1 -0
- package/dist/types/components/ui/CalloutBlock.d.ts +9 -0
- package/dist/types/components/ui/CalloutBlock.d.ts.map +1 -0
- package/dist/types/components/ui/Disclaimer.d.ts +21 -0
- package/dist/types/components/ui/Disclaimer.d.ts.map +1 -0
- package/dist/types/components/ui/FeedbackBar.d.ts +41 -0
- package/dist/types/components/ui/FeedbackBar.d.ts.map +1 -0
- package/dist/types/components/ui/Loader.d.ts +9 -0
- package/dist/types/components/ui/Loader.d.ts.map +1 -0
- package/dist/types/components/ui/MarkdownText.d.ts +9 -0
- package/dist/types/components/ui/MarkdownText.d.ts.map +1 -0
- package/dist/types/components/ui/OptimizedImage.d.ts +59 -0
- package/dist/types/components/ui/OptimizedImage.d.ts.map +1 -0
- package/dist/types/components/ui/PlacementLoader.d.ts +15 -0
- package/dist/types/components/ui/PlacementLoader.d.ts.map +1 -0
- package/dist/types/components/ui/PromptEntryEmptyState.d.ts +21 -0
- package/dist/types/components/ui/PromptEntryEmptyState.d.ts.map +1 -0
- package/dist/types/components/ui/SearchSection.d.ts +37 -0
- package/dist/types/components/ui/SearchSection.d.ts.map +1 -0
- package/dist/types/components/ui/SectionSkeleton.d.ts +27 -0
- package/dist/types/components/ui/SectionSkeleton.d.ts.map +1 -0
- package/dist/types/components/ui/SmartIcon.d.ts +19 -0
- package/dist/types/components/ui/SmartIcon.d.ts.map +1 -0
- package/dist/types/components/ui/UnifiedLink.d.ts +22 -0
- package/dist/types/components/ui/UnifiedLink.d.ts.map +1 -0
- package/dist/types/components/ui/UserQuery.d.ts +33 -0
- package/dist/types/components/ui/UserQuery.d.ts.map +1 -0
- package/dist/types/components/ui/icons/ArrowTopRightIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/ArrowTopRightIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/ArrowUpIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/ArrowUpIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/CheckIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/CheckIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/CommentIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/CommentIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/PlusIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/PlusIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/RedoIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/RedoIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/ShareIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/ShareIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/UndoIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/UndoIcon.d.ts.map +1 -0
- package/dist/types/components/ui/table.d.ts +11 -0
- package/dist/types/components/ui/table.d.ts.map +1 -0
- package/dist/types/context/ChipsContext.d.ts +8 -0
- package/dist/types/context/ChipsContext.d.ts.map +1 -0
- package/dist/types/context/ComponentDependenciesContext.d.ts +8 -0
- package/dist/types/context/ComponentDependenciesContext.d.ts.map +1 -0
- package/dist/types/entity/defaultExtractor.d.ts +14 -0
- package/dist/types/entity/defaultExtractor.d.ts.map +1 -0
- package/dist/types/entity/enrichEntitiesFromPayload.d.ts +27 -0
- package/dist/types/entity/enrichEntitiesFromPayload.d.ts.map +1 -0
- package/dist/types/entity/fetchEntityListData.d.ts +20 -0
- package/dist/types/entity/fetchEntityListData.d.ts.map +1 -0
- package/dist/types/entity/index.d.ts +16 -0
- package/dist/types/entity/index.d.ts.map +1 -0
- package/dist/types/entity/types.d.ts +13 -0
- package/dist/types/entity/types.d.ts.map +1 -0
- package/dist/types/errors/conversationErrorTypes.d.ts +20 -0
- package/dist/types/errors/conversationErrorTypes.d.ts.map +1 -0
- package/dist/types/errors/errorTemplates.d.ts +27 -0
- package/dist/types/errors/errorTemplates.d.ts.map +1 -0
- package/dist/types/errors/index.d.ts +3 -0
- package/dist/types/errors/index.d.ts.map +1 -0
- package/dist/types/featureToggles/FeatureToggleContext.d.ts +18 -0
- package/dist/types/featureToggles/FeatureToggleContext.d.ts.map +1 -0
- package/dist/types/hooks/useConversation.d.ts +3 -0
- package/dist/types/hooks/useConversation.d.ts.map +1 -0
- package/dist/types/hooks/useDebugImageContext.d.ts +2 -0
- package/dist/types/hooks/useDebugImageContext.d.ts.map +1 -0
- package/dist/types/hooks/useEntityTransforms.d.ts +3 -0
- package/dist/types/hooks/useEntityTransforms.d.ts.map +1 -0
- package/dist/types/hooks/useMarkdownUtils.d.ts +3 -0
- package/dist/types/hooks/useMarkdownUtils.d.ts.map +1 -0
- package/dist/types/hooks/useResolveGenericEntityData.d.ts +11 -0
- package/dist/types/hooks/useResolveGenericEntityData.d.ts.map +1 -0
- package/dist/types/hooks/useResolveSearchSpringEntityData.d.ts +20 -0
- package/dist/types/hooks/useResolveSearchSpringEntityData.d.ts.map +1 -0
- package/dist/types/hooks/useResolveShopifyEntityData.d.ts +21 -0
- package/dist/types/hooks/useResolveShopifyEntityData.d.ts.map +1 -0
- package/dist/types/hooks/useResolvedImageSources.d.ts +6 -0
- package/dist/types/hooks/useResolvedImageSources.d.ts.map +1 -0
- package/dist/types/hooks/useWeb5Link.d.ts +3 -0
- package/dist/types/hooks/useWeb5Link.d.ts.map +1 -0
- package/dist/types/image/contextualImageTypes.d.ts +17 -0
- package/dist/types/image/contextualImageTypes.d.ts.map +1 -0
- package/dist/types/image/imageSearchFilterTypes.d.ts +14 -0
- package/dist/types/image/imageSearchFilterTypes.d.ts.map +1 -0
- package/dist/types/image/imageSearchFilters.d.ts +16 -0
- package/dist/types/image/imageSearchFilters.d.ts.map +1 -0
- package/dist/types/index.d.ts +88 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/lib/utils.d.ts +3 -0
- package/dist/types/lib/utils.d.ts.map +1 -0
- package/dist/types/markdownBlocks.d.ts +44 -0
- package/dist/types/markdownBlocks.d.ts.map +1 -0
- package/dist/types/match/astToParts.d.ts +15 -0
- package/dist/types/match/astToParts.d.ts.map +1 -0
- package/dist/types/match/extractProps.d.ts +207 -0
- package/dist/types/match/extractProps.d.ts.map +1 -0
- package/dist/types/match/index.d.ts +4 -0
- package/dist/types/match/index.d.ts.map +1 -0
- package/dist/types/match/matchAllSections.d.ts +15 -0
- package/dist/types/match/matchAllSections.d.ts.map +1 -0
- package/dist/types/match/matchMarkdown.d.ts +25 -0
- package/dist/types/match/matchMarkdown.d.ts.map +1 -0
- package/dist/types/parts/parts.d.ts +144 -0
- package/dist/types/parts/parts.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/conflictDetector.d.ts +19 -0
- package/dist/types/patternAnalyzer/conflictDetector.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/index.d.ts +10 -0
- package/dist/types/patternAnalyzer/index.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/markdownGenerator.d.ts +9 -0
- package/dist/types/patternAnalyzer/markdownGenerator.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/mergeDetector.d.ts +14 -0
- package/dist/types/patternAnalyzer/mergeDetector.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/parserValidator.d.ts +13 -0
- package/dist/types/patternAnalyzer/parserValidator.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/patternWriter.d.ts +8 -0
- package/dist/types/patternAnalyzer/patternWriter.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/run.d.ts +2 -0
- package/dist/types/patternAnalyzer/run.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/types.d.ts +59 -0
- package/dist/types/patternAnalyzer/types.d.ts.map +1 -0
- package/dist/types/patternValidator/automaton.d.ts +3 -0
- package/dist/types/patternValidator/automaton.d.ts.map +1 -0
- package/dist/types/patternValidator/index.d.ts +48 -0
- package/dist/types/patternValidator/index.d.ts.map +1 -0
- package/dist/types/patternValidator/lexer.d.ts +3 -0
- package/dist/types/patternValidator/lexer.d.ts.map +1 -0
- package/dist/types/patternValidator/matcher.d.ts +14 -0
- package/dist/types/patternValidator/matcher.d.ts.map +1 -0
- package/dist/types/patternValidator/parser.d.ts +14 -0
- package/dist/types/patternValidator/parser.d.ts.map +1 -0
- package/dist/types/patternValidator/types.d.ts +125 -0
- package/dist/types/patternValidator/types.d.ts.map +1 -0
- package/dist/types/patternValidator/validator.test.d.ts +2 -0
- package/dist/types/patternValidator/validator.test.d.ts.map +1 -0
- package/dist/types/registry/ComponentRegistry.d.ts +64 -0
- package/dist/types/registry/ComponentRegistry.d.ts.map +1 -0
- package/dist/types/registry/Intent.d.ts +12 -0
- package/dist/types/registry/Intent.d.ts.map +1 -0
- package/dist/types/registry/index.d.ts +4 -0
- package/dist/types/registry/index.d.ts.map +1 -0
- package/dist/types/registry/types.d.ts +99 -0
- package/dist/types/registry/types.d.ts.map +1 -0
- package/dist/types/services/cart/addToCart.d.ts +26 -0
- package/dist/types/services/cart/addToCart.d.ts.map +1 -0
- package/dist/types/services/cart/index.d.ts +2 -0
- package/dist/types/services/cart/index.d.ts.map +1 -0
- package/dist/types/services/searchspring/index.d.ts +4 -0
- package/dist/types/services/searchspring/index.d.ts.map +1 -0
- package/dist/types/services/searchspring/searchSpringClient.d.ts +13 -0
- package/dist/types/services/searchspring/searchSpringClient.d.ts.map +1 -0
- package/dist/types/services/searchspring/transformSSProduct.d.ts +7 -0
- package/dist/types/services/searchspring/transformSSProduct.d.ts.map +1 -0
- package/dist/types/services/searchspring/types.d.ts +48 -0
- package/dist/types/services/searchspring/types.d.ts.map +1 -0
- package/dist/types/services/shopify/index.d.ts +7 -0
- package/dist/types/services/shopify/index.d.ts.map +1 -0
- package/dist/types/services/shopify/queries.d.ts +13 -0
- package/dist/types/services/shopify/queries.d.ts.map +1 -0
- package/dist/types/services/shopify/resolveStoreDomain.d.ts +14 -0
- package/dist/types/services/shopify/resolveStoreDomain.d.ts.map +1 -0
- package/dist/types/services/shopify/shopifyEntityResolver.d.ts +21 -0
- package/dist/types/services/shopify/shopifyEntityResolver.d.ts.map +1 -0
- package/dist/types/services/shopify/shopifyStorefrontClient.d.ts +19 -0
- package/dist/types/services/shopify/shopifyStorefrontClient.d.ts.map +1 -0
- package/dist/types/services/shopify/transformShopifyEntity.d.ts +11 -0
- package/dist/types/services/shopify/transformShopifyEntity.d.ts.map +1 -0
- package/dist/types/services/shopify/types.d.ts +109 -0
- package/dist/types/services/shopify/types.d.ts.map +1 -0
- package/dist/types/testUtils.d.ts +7 -0
- package/dist/types/testUtils.d.ts.map +1 -0
- package/dist/types/types/answerUpdatedEvent.d.ts +29 -0
- package/dist/types/types/answerUpdatedEvent.d.ts.map +1 -0
- package/dist/types/types/blog.d.ts +22 -0
- package/dist/types/types/blog.d.ts.map +1 -0
- package/dist/types/types/callout.d.ts +7 -0
- package/dist/types/types/callout.d.ts.map +1 -0
- package/dist/types/types/dependencies.d.ts +191 -0
- package/dist/types/types/dependencies.d.ts.map +1 -0
- package/dist/types/types/entity.d.ts +38 -0
- package/dist/types/types/entity.d.ts.map +1 -0
- package/dist/types/types/link-types.d.ts +38 -0
- package/dist/types/types/link-types.d.ts.map +1 -0
- package/dist/types/types/page-section.d.ts +27 -0
- package/dist/types/types/page-section.d.ts.map +1 -0
- package/dist/types/types/placement.d.ts +94 -0
- package/dist/types/types/placement.d.ts.map +1 -0
- package/dist/types/types/redirectEvent.d.ts +42 -0
- package/dist/types/types/redirectEvent.d.ts.map +1 -0
- package/dist/types/types/userQueryEvent.d.ts +24 -0
- package/dist/types/types/userQueryEvent.d.ts.map +1 -0
- package/dist/types/utils/analyticsEvents.d.ts +24 -0
- package/dist/types/utils/analyticsEvents.d.ts.map +1 -0
- package/dist/types/utils/componentTracking.d.ts +55 -0
- package/dist/types/utils/componentTracking.d.ts.map +1 -0
- package/dist/types/utils/contentKeywordMatcher.d.ts +14 -0
- package/dist/types/utils/contentKeywordMatcher.d.ts.map +1 -0
- package/dist/types/utils/conversationApi.d.ts +26 -0
- package/dist/types/utils/conversationApi.d.ts.map +1 -0
- package/dist/types/utils/conversationMode.d.ts +16 -0
- package/dist/types/utils/conversationMode.d.ts.map +1 -0
- package/dist/types/utils/diagnosticsCollector.d.ts +33 -0
- package/dist/types/utils/diagnosticsCollector.d.ts.map +1 -0
- package/dist/types/utils/entityLinkParser.d.ts +97 -0
- package/dist/types/utils/entityLinkParser.d.ts.map +1 -0
- package/dist/types/utils/htmlCommentParser.d.ts +13 -0
- package/dist/types/utils/htmlCommentParser.d.ts.map +1 -0
- package/dist/types/utils/image-utils.d.ts +10 -0
- package/dist/types/utils/image-utils.d.ts.map +1 -0
- package/dist/types/utils/intentExtractor.d.ts +11 -0
- package/dist/types/utils/intentExtractor.d.ts.map +1 -0
- package/dist/types/utils/markdownPreprocessor.d.ts +95 -0
- package/dist/types/utils/markdownPreprocessor.d.ts.map +1 -0
- package/dist/types/utils/navigationStack.d.ts +6 -0
- package/dist/types/utils/navigationStack.d.ts.map +1 -0
- package/dist/types/utils/nodeMatchers.d.ts +10 -0
- package/dist/types/utils/nodeMatchers.d.ts.map +1 -0
- package/dist/types/utils/propsExtractor.d.ts +51 -0
- package/dist/types/utils/propsExtractor.d.ts.map +1 -0
- package/dist/types/utils/sessionManager.d.ts +57 -0
- package/dist/types/utils/sessionManager.d.ts.map +1 -0
- package/dist/types/utils/unifiedMarkdownParser.d.ts +9 -0
- package/dist/types/utils/unifiedMarkdownParser.d.ts.map +1 -0
- package/dist/types/utils/web5LinkValidator.d.ts +14 -0
- package/dist/types/utils/web5LinkValidator.d.ts.map +1 -0
- package/dist/types/utils/web5LinkValidator.test.d.ts +2 -0
- package/dist/types/utils/web5LinkValidator.test.d.ts.map +1 -0
- package/package.json +103 -0
- package/src/styles/base-tokens.css +152 -0
- package/src/styles/base-utilities.css +424 -0
- package/src/styles/components.css +6 -0
- package/src/styles/prompt-input-tokens.css +136 -0
- package/src/styles/tailwind-theme.css +138 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
function serializeQuantifier(q) {
|
|
2
|
+
switch (q.type) {
|
|
3
|
+
case 'star':
|
|
4
|
+
return '*';
|
|
5
|
+
case 'plus':
|
|
6
|
+
return '+';
|
|
7
|
+
case 'optional':
|
|
8
|
+
return '?';
|
|
9
|
+
case 'exact':
|
|
10
|
+
return `[${q.min}]`;
|
|
11
|
+
case 'range':
|
|
12
|
+
{
|
|
13
|
+
const min = q.min ?? 0;
|
|
14
|
+
const max = q.max;
|
|
15
|
+
if (min === 0 && max !== undefined) {
|
|
16
|
+
return `[-${max}]`;
|
|
17
|
+
}
|
|
18
|
+
if (max === undefined) {
|
|
19
|
+
return `[${min}-]`;
|
|
20
|
+
}
|
|
21
|
+
return `[${min}-${max}]`;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function serializeAttr(attr) {
|
|
26
|
+
switch (attr.operator) {
|
|
27
|
+
case 'exists':
|
|
28
|
+
return `[${attr.key}]`;
|
|
29
|
+
case 'equals':
|
|
30
|
+
return `[${attr.key}="${attr.value}"]`;
|
|
31
|
+
case 'contains':
|
|
32
|
+
return `[${attr.key}*="${attr.value}"]`;
|
|
33
|
+
case 'startsWith':
|
|
34
|
+
return `[${attr.key}^="${attr.value}"]`;
|
|
35
|
+
case 'endsWith':
|
|
36
|
+
return `[${attr.key}$="${attr.value}"]`;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Serialize a PatternNode back to a pattern string.
|
|
42
|
+
* This is the inverse of tokenize() + parse().
|
|
43
|
+
* Used by mergeDetector to express merged/suggested patterns.
|
|
44
|
+
*/
|
|
45
|
+
export function serializePatternNode(node) {
|
|
46
|
+
switch (node.kind) {
|
|
47
|
+
case 'element':
|
|
48
|
+
{
|
|
49
|
+
var _node$htmlCommentAttr, _node$linkAttrs, _node$imageAttrs;
|
|
50
|
+
let s = node.element;
|
|
51
|
+
if (node.element === 'html_comment' && (_node$htmlCommentAttr = node.htmlCommentAttrs) != null && _node$htmlCommentAttr.length) {
|
|
52
|
+
s += node.htmlCommentAttrs.map(serializeAttr).join('');
|
|
53
|
+
}
|
|
54
|
+
if (node.element === 'link' && (_node$linkAttrs = node.linkAttrs) != null && _node$linkAttrs.length) {
|
|
55
|
+
s += node.linkAttrs.map(serializeAttr).join('');
|
|
56
|
+
}
|
|
57
|
+
if (node.element === 'image' && (_node$imageAttrs = node.imageAttrs) != null && _node$imageAttrs.length) {
|
|
58
|
+
s += node.imageAttrs.map(serializeAttr).join('');
|
|
59
|
+
}
|
|
60
|
+
if (node.quantifier) {
|
|
61
|
+
s += serializeQuantifier(node.quantifier);
|
|
62
|
+
}
|
|
63
|
+
return s;
|
|
64
|
+
}
|
|
65
|
+
case 'sequence':
|
|
66
|
+
return node.children.map(serializePatternNode).join(' > ');
|
|
67
|
+
case 'alternation':
|
|
68
|
+
{
|
|
69
|
+
// No parens here — when an alternation is inside a group, the group adds parens.
|
|
70
|
+
// When used directly in a sequence, no parens are needed (alternation has lower
|
|
71
|
+
// precedence than sequence anyway, so `a | b > c` parses as `a | (b > c)`).
|
|
72
|
+
const inner = node.choices.map(serializePatternNode).join(' | ');
|
|
73
|
+
return node.quantifier ? `${inner}${serializeQuantifier(node.quantifier)}` : inner;
|
|
74
|
+
}
|
|
75
|
+
case 'group':
|
|
76
|
+
{
|
|
77
|
+
const inner = serializePatternNode(node.pattern);
|
|
78
|
+
// Groups always have parens — they exist precisely to group for quantifiers
|
|
79
|
+
const s = `(${inner})`;
|
|
80
|
+
return node.quantifier ? `${s}${serializeQuantifier(node.quantifier)}` : s;
|
|
81
|
+
}
|
|
82
|
+
case 'list':
|
|
83
|
+
{
|
|
84
|
+
let s = 'list';
|
|
85
|
+
if (node.itemCount !== undefined || node.itemStructure !== undefined) {
|
|
86
|
+
s += '{item';
|
|
87
|
+
if (node.itemCount) {
|
|
88
|
+
s += serializeQuantifier(node.itemCount);
|
|
89
|
+
}
|
|
90
|
+
if (node.itemStructure) {
|
|
91
|
+
s += ':' + serializePatternNode(node.itemStructure);
|
|
92
|
+
}
|
|
93
|
+
s += '}';
|
|
94
|
+
}
|
|
95
|
+
if (node.quantifier) {
|
|
96
|
+
s += serializeQuantifier(node.quantifier);
|
|
97
|
+
}
|
|
98
|
+
return s;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=patternWriter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["serializeQuantifier","q","type","min","max","undefined","serializeAttr","attr","operator","key","value","serializePatternNode","node","kind","_node$htmlCommentAttr","_node$linkAttrs","_node$imageAttrs","s","element","htmlCommentAttrs","length","map","join","linkAttrs","imageAttrs","quantifier","children","inner","choices","pattern","itemCount","itemStructure"],"sources":["../../../src/patternAnalyzer/patternWriter.ts"],"sourcesContent":["import type {\n PatternNode,\n Quantifier,\n HtmlCommentAttribute,\n LinkAttribute,\n ImageAttribute,\n} from '../patternValidator/types';\n\nfunction serializeQuantifier(q: Quantifier): string {\n switch (q.type) {\n case 'star':\n return '*';\n case 'plus':\n return '+';\n case 'optional':\n return '?';\n case 'exact':\n return `[${q.min}]`;\n case 'range': {\n const min = q.min ?? 0;\n const max = q.max;\n if (min === 0 && max !== undefined) {\n return `[-${max}]`;\n }\n if (max === undefined) {\n return `[${min}-]`;\n }\n return `[${min}-${max}]`;\n }\n }\n}\n\nfunction serializeAttr(\n attr: HtmlCommentAttribute | LinkAttribute | ImageAttribute,\n): string {\n switch (attr.operator) {\n case 'exists':\n return `[${attr.key}]`;\n case 'equals':\n return `[${attr.key}=\"${attr.value}\"]`;\n case 'contains':\n return `[${attr.key}*=\"${attr.value}\"]`;\n case 'startsWith':\n return `[${attr.key}^=\"${attr.value}\"]`;\n case 'endsWith':\n return `[${attr.key}$=\"${attr.value}\"]`;\n }\n}\n\n/**\n * Serialize a PatternNode back to a pattern string.\n * This is the inverse of tokenize() + parse().\n * Used by mergeDetector to express merged/suggested patterns.\n */\nexport function serializePatternNode(node: PatternNode): string {\n switch (node.kind) {\n case 'element': {\n let s = node.element;\n if (node.element === 'html_comment' && node.htmlCommentAttrs?.length) {\n s += node.htmlCommentAttrs.map(serializeAttr).join('');\n }\n if (node.element === 'link' && node.linkAttrs?.length) {\n s += node.linkAttrs.map(serializeAttr).join('');\n }\n if (node.element === 'image' && node.imageAttrs?.length) {\n s += node.imageAttrs.map(serializeAttr).join('');\n }\n if (node.quantifier) {\n s += serializeQuantifier(node.quantifier);\n }\n return s;\n }\n\n case 'sequence':\n return node.children.map(serializePatternNode).join(' > ');\n\n case 'alternation': {\n // No parens here — when an alternation is inside a group, the group adds parens.\n // When used directly in a sequence, no parens are needed (alternation has lower\n // precedence than sequence anyway, so `a | b > c` parses as `a | (b > c)`).\n const inner = node.choices.map(serializePatternNode).join(' | ');\n return node.quantifier\n ? `${inner}${serializeQuantifier(node.quantifier)}`\n : inner;\n }\n\n case 'group': {\n const inner = serializePatternNode(node.pattern);\n // Groups always have parens — they exist precisely to group for quantifiers\n const s = `(${inner})`;\n return node.quantifier\n ? `${s}${serializeQuantifier(node.quantifier)}`\n : s;\n }\n\n case 'list': {\n let s = 'list';\n if (node.itemCount !== undefined || node.itemStructure !== undefined) {\n s += '{item';\n if (node.itemCount) {\n s += serializeQuantifier(node.itemCount);\n }\n if (node.itemStructure) {\n s += ':' + serializePatternNode(node.itemStructure);\n }\n s += '}';\n }\n if (node.quantifier) {\n s += serializeQuantifier(node.quantifier);\n }\n return s;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { runAnalysis } from './index.js';
|
|
2
|
+
import { writeFileSync } from 'fs';
|
|
3
|
+
import { resolve } from 'path';
|
|
4
|
+
const outputFlagIndex = process.argv.indexOf('--output');
|
|
5
|
+
const OUTPUT_MD = outputFlagIndex >= 0 ? process.argv[outputFlagIndex + 1] : 'pattern-analysis-report.md';
|
|
6
|
+
const OUTPUT_JSON = OUTPUT_MD.replace(/\.md$/, '.json');
|
|
7
|
+
function run() {
|
|
8
|
+
console.log('Running pattern analysis...\n');
|
|
9
|
+
const startTime = Date.now();
|
|
10
|
+
const report = runAnalysis();
|
|
11
|
+
const elapsed = Date.now() - startTime;
|
|
12
|
+
|
|
13
|
+
// Write JSON
|
|
14
|
+
const jsonPath = resolve(OUTPUT_JSON);
|
|
15
|
+
writeFileSync(jsonPath, JSON.stringify(report, null, 2), 'utf-8');
|
|
16
|
+
console.log(`JSON report: ${jsonPath}`);
|
|
17
|
+
|
|
18
|
+
// Write Markdown
|
|
19
|
+
const md = renderMarkdown(report);
|
|
20
|
+
const mdPath = resolve(OUTPUT_MD);
|
|
21
|
+
writeFileSync(mdPath, md, 'utf-8');
|
|
22
|
+
console.log(`Markdown report: ${mdPath}\n`);
|
|
23
|
+
|
|
24
|
+
// Console summary
|
|
25
|
+
const fullConflicts = report.conflicts.filter(c => c.severity === 'full').length;
|
|
26
|
+
const partialConflicts = report.conflicts.filter(c => c.severity === 'partial').length;
|
|
27
|
+
const failingValidations = report.parserValidation.filter(r => r.failures.length > 0).length;
|
|
28
|
+
console.log(`=== Analysis Summary (${elapsed}ms) ===`);
|
|
29
|
+
console.log(`Definitions: ${report.totalDefinitions}`);
|
|
30
|
+
console.log(`Patterns: ${report.totalPatterns}`);
|
|
31
|
+
console.log(`Conflicts: ${report.conflicts.length} (${fullConflicts} full, ${partialConflicts} partial)`);
|
|
32
|
+
console.log(`Parser issues: ${failingValidations} patterns with failures`);
|
|
33
|
+
console.log(`Merge opportunities: ${report.mergeOpportunities.length}`);
|
|
34
|
+
}
|
|
35
|
+
function renderMarkdown(report) {
|
|
36
|
+
const lines = [];
|
|
37
|
+
lines.push('# Pattern Analysis Report');
|
|
38
|
+
lines.push('');
|
|
39
|
+
lines.push(`Generated: ${report.generatedAt}`);
|
|
40
|
+
lines.push('');
|
|
41
|
+
lines.push(`**${report.totalDefinitions}** definitions · **${report.totalPatterns}** patterns`);
|
|
42
|
+
lines.push('');
|
|
43
|
+
|
|
44
|
+
// ── Definitions table ──────────────────────────────────────────────────────
|
|
45
|
+
lines.push('## Definitions (in priority order)');
|
|
46
|
+
lines.push('');
|
|
47
|
+
lines.push('| # | Section Type | Patterns | Samples Generated |');
|
|
48
|
+
lines.push('|---|-------------|---------|-------------------|');
|
|
49
|
+
for (const d of report.definitions) {
|
|
50
|
+
lines.push(`| ${d.priority} | \`${d.sectionType}\` | ${d.patterns.length} | ${d.samplesGenerated} |`);
|
|
51
|
+
}
|
|
52
|
+
lines.push('');
|
|
53
|
+
|
|
54
|
+
// ── Conflict Detection ─────────────────────────────────────────────────────
|
|
55
|
+
lines.push('## Conflict Detection');
|
|
56
|
+
lines.push('');
|
|
57
|
+
lines.push('> **Note:** Sample-based analysis — not exhaustive. `FULL` means every generated sample');
|
|
58
|
+
lines.push('> was captured by a higher-priority definition. Conflicts may be intentional');
|
|
59
|
+
lines.push('> (e.g. the definition relies on `parse()` returning `null` to differentiate).');
|
|
60
|
+
lines.push('');
|
|
61
|
+
if (report.conflicts.length === 0) {
|
|
62
|
+
lines.push('No conflicts detected.');
|
|
63
|
+
lines.push('');
|
|
64
|
+
} else {
|
|
65
|
+
for (const c of report.conflicts) {
|
|
66
|
+
renderConflict(c, lines);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// ── Parser Validation ──────────────────────────────────────────────────────
|
|
71
|
+
lines.push('## Parser Validation');
|
|
72
|
+
lines.push('');
|
|
73
|
+
const failing = report.parserValidation.filter(r => r.failures.length > 0);
|
|
74
|
+
if (failing.length === 0) {
|
|
75
|
+
lines.push('All patterns passed — `parse()` returned non-null for all generated samples.');
|
|
76
|
+
lines.push('');
|
|
77
|
+
} else {
|
|
78
|
+
lines.push(`${failing.length} pattern(s) had issues:`);
|
|
79
|
+
lines.push('');
|
|
80
|
+
for (const r of failing) {
|
|
81
|
+
renderValidationFailure(r, lines);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// ── Merge Opportunities ────────────────────────────────────────────────────
|
|
86
|
+
lines.push('## Merge Opportunities');
|
|
87
|
+
lines.push('');
|
|
88
|
+
if (report.mergeOpportunities.length === 0) {
|
|
89
|
+
lines.push('No merge opportunities detected.');
|
|
90
|
+
lines.push('');
|
|
91
|
+
} else {
|
|
92
|
+
for (const m of report.mergeOpportunities) {
|
|
93
|
+
renderMergeOpportunity(m, lines);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return lines.join('\n');
|
|
97
|
+
}
|
|
98
|
+
function renderConflict(c, lines) {
|
|
99
|
+
const badge = c.severity === 'full' ? '`FULL`' : '`PARTIAL`';
|
|
100
|
+
lines.push(`### ${badge} \`${c.shadowedDefinition}\` (p${c.shadowedPriority}) shadowed by \`${c.shadowingDefinition}\` (p${c.shadowingPriority})`);
|
|
101
|
+
lines.push('');
|
|
102
|
+
lines.push(`- **Victim pattern:** \`${c.shadowedPattern}\``);
|
|
103
|
+
lines.push(`- **Stealing pattern:** \`${c.shadowingPattern}\``);
|
|
104
|
+
lines.push('');
|
|
105
|
+
if (c.samples.length > 0) {
|
|
106
|
+
lines.push('**Example markdown that triggers the conflict:**');
|
|
107
|
+
lines.push('');
|
|
108
|
+
lines.push('```markdown');
|
|
109
|
+
lines.push(c.samples[0].markdown);
|
|
110
|
+
lines.push('```');
|
|
111
|
+
}
|
|
112
|
+
lines.push('');
|
|
113
|
+
}
|
|
114
|
+
function renderValidationFailure(r, lines) {
|
|
115
|
+
lines.push(`### \`${r.sectionType}\` — ${r.samplesPassedCount}/${r.samplesTestedCount} samples passed`);
|
|
116
|
+
lines.push('');
|
|
117
|
+
lines.push(`Pattern: \`${r.pattern}\``);
|
|
118
|
+
lines.push('');
|
|
119
|
+
for (const f of r.failures.slice(0, 3)) {
|
|
120
|
+
lines.push(`- **${f.error}**${f.detail ? ': ' + f.detail : ''}`);
|
|
121
|
+
const indented = f.markdown.split('\n').map(l => ' ' + l).join('\n');
|
|
122
|
+
lines.push(' ```markdown');
|
|
123
|
+
lines.push(indented);
|
|
124
|
+
lines.push(' ```');
|
|
125
|
+
}
|
|
126
|
+
lines.push('');
|
|
127
|
+
}
|
|
128
|
+
function renderMergeOpportunity(m, lines) {
|
|
129
|
+
lines.push(`### \`${m.sectionType}\` — \`${m.kind}\``);
|
|
130
|
+
lines.push('');
|
|
131
|
+
lines.push(`- **Pattern 1:** \`${m.pattern1}\``);
|
|
132
|
+
lines.push(`- **Pattern 2:** \`${m.pattern2}\``);
|
|
133
|
+
lines.push(`- **Suggestion:** \`${m.suggestedPattern}\``);
|
|
134
|
+
lines.push(`- **Rationale:** ${m.rationale}`);
|
|
135
|
+
lines.push('');
|
|
136
|
+
}
|
|
137
|
+
run();
|
|
138
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["runAnalysis","writeFileSync","resolve","outputFlagIndex","process","argv","indexOf","OUTPUT_MD","OUTPUT_JSON","replace","run","console","log","startTime","Date","now","report","elapsed","jsonPath","JSON","stringify","md","renderMarkdown","mdPath","fullConflicts","conflicts","filter","c","severity","length","partialConflicts","failingValidations","parserValidation","r","failures","totalDefinitions","totalPatterns","mergeOpportunities","lines","push","generatedAt","d","definitions","priority","sectionType","patterns","samplesGenerated","renderConflict","failing","renderValidationFailure","m","renderMergeOpportunity","join","badge","shadowedDefinition","shadowedPriority","shadowingDefinition","shadowingPriority","shadowedPattern","shadowingPattern","samples","markdown","samplesPassedCount","samplesTestedCount","pattern","f","slice","error","detail","indented","split","map","l","kind","pattern1","pattern2","suggestedPattern","rationale"],"sources":["../../../src/patternAnalyzer/run.ts"],"sourcesContent":["import { runAnalysis } from './index';\nimport type {\n AnalysisReport,\n ConflictReport,\n ParserValidationReport,\n MergeOpportunity,\n} from './types';\nimport { writeFileSync } from 'fs';\nimport { resolve } from 'path';\n\nconst outputFlagIndex = process.argv.indexOf('--output');\nconst OUTPUT_MD =\n outputFlagIndex >= 0\n ? process.argv[outputFlagIndex + 1]\n : 'pattern-analysis-report.md';\nconst OUTPUT_JSON = OUTPUT_MD.replace(/\\.md$/, '.json');\n\nfunction run(): void {\n console.log('Running pattern analysis...\\n');\n const startTime = Date.now();\n\n const report = runAnalysis();\n const elapsed = Date.now() - startTime;\n\n // Write JSON\n const jsonPath = resolve(OUTPUT_JSON);\n writeFileSync(jsonPath, JSON.stringify(report, null, 2), 'utf-8');\n console.log(`JSON report: ${jsonPath}`);\n\n // Write Markdown\n const md = renderMarkdown(report);\n const mdPath = resolve(OUTPUT_MD);\n writeFileSync(mdPath, md, 'utf-8');\n console.log(`Markdown report: ${mdPath}\\n`);\n\n // Console summary\n const fullConflicts = report.conflicts.filter(\n (c) => c.severity === 'full',\n ).length;\n const partialConflicts = report.conflicts.filter(\n (c) => c.severity === 'partial',\n ).length;\n const failingValidations = report.parserValidation.filter(\n (r) => r.failures.length > 0,\n ).length;\n\n console.log(`=== Analysis Summary (${elapsed}ms) ===`);\n console.log(`Definitions: ${report.totalDefinitions}`);\n console.log(`Patterns: ${report.totalPatterns}`);\n console.log(\n `Conflicts: ${report.conflicts.length} (${fullConflicts} full, ${partialConflicts} partial)`,\n );\n console.log(\n `Parser issues: ${failingValidations} patterns with failures`,\n );\n console.log(`Merge opportunities: ${report.mergeOpportunities.length}`);\n}\n\nfunction renderMarkdown(report: AnalysisReport): string {\n const lines: string[] = [];\n\n lines.push('# Pattern Analysis Report');\n lines.push('');\n lines.push(`Generated: ${report.generatedAt}`);\n lines.push('');\n lines.push(\n `**${report.totalDefinitions}** definitions · **${report.totalPatterns}** patterns`,\n );\n lines.push('');\n\n // ── Definitions table ──────────────────────────────────────────────────────\n lines.push('## Definitions (in priority order)');\n lines.push('');\n lines.push('| # | Section Type | Patterns | Samples Generated |');\n lines.push('|---|-------------|---------|-------------------|');\n for (const d of report.definitions) {\n lines.push(\n `| ${d.priority} | \\`${d.sectionType}\\` | ${d.patterns.length} | ${d.samplesGenerated} |`,\n );\n }\n lines.push('');\n\n // ── Conflict Detection ─────────────────────────────────────────────────────\n lines.push('## Conflict Detection');\n lines.push('');\n lines.push(\n '> **Note:** Sample-based analysis — not exhaustive. `FULL` means every generated sample',\n );\n lines.push(\n '> was captured by a higher-priority definition. Conflicts may be intentional',\n );\n lines.push(\n '> (e.g. the definition relies on `parse()` returning `null` to differentiate).',\n );\n lines.push('');\n\n if (report.conflicts.length === 0) {\n lines.push('No conflicts detected.');\n lines.push('');\n } else {\n for (const c of report.conflicts) {\n renderConflict(c, lines);\n }\n }\n\n // ── Parser Validation ──────────────────────────────────────────────────────\n lines.push('## Parser Validation');\n lines.push('');\n const failing = report.parserValidation.filter((r) => r.failures.length > 0);\n if (failing.length === 0) {\n lines.push(\n 'All patterns passed — `parse()` returned non-null for all generated samples.',\n );\n lines.push('');\n } else {\n lines.push(`${failing.length} pattern(s) had issues:`);\n lines.push('');\n for (const r of failing) {\n renderValidationFailure(r, lines);\n }\n }\n\n // ── Merge Opportunities ────────────────────────────────────────────────────\n lines.push('## Merge Opportunities');\n lines.push('');\n if (report.mergeOpportunities.length === 0) {\n lines.push('No merge opportunities detected.');\n lines.push('');\n } else {\n for (const m of report.mergeOpportunities) {\n renderMergeOpportunity(m, lines);\n }\n }\n\n return lines.join('\\n');\n}\n\nfunction renderConflict(c: ConflictReport, lines: string[]): void {\n const badge = c.severity === 'full' ? '`FULL`' : '`PARTIAL`';\n lines.push(\n `### ${badge} \\`${c.shadowedDefinition}\\` (p${c.shadowedPriority}) shadowed by \\`${c.shadowingDefinition}\\` (p${c.shadowingPriority})`,\n );\n lines.push('');\n lines.push(`- **Victim pattern:** \\`${c.shadowedPattern}\\``);\n lines.push(`- **Stealing pattern:** \\`${c.shadowingPattern}\\``);\n lines.push('');\n if (c.samples.length > 0) {\n lines.push('**Example markdown that triggers the conflict:**');\n lines.push('');\n lines.push('```markdown');\n lines.push(c.samples[0].markdown);\n lines.push('```');\n }\n lines.push('');\n}\n\nfunction renderValidationFailure(\n r: ParserValidationReport,\n lines: string[],\n): void {\n lines.push(\n `### \\`${r.sectionType}\\` — ${r.samplesPassedCount}/${r.samplesTestedCount} samples passed`,\n );\n lines.push('');\n lines.push(`Pattern: \\`${r.pattern}\\``);\n lines.push('');\n for (const f of r.failures.slice(0, 3)) {\n lines.push(`- **${f.error}**${f.detail ? ': ' + f.detail : ''}`);\n const indented = f.markdown\n .split('\\n')\n .map((l) => ' ' + l)\n .join('\\n');\n lines.push(' ```markdown');\n lines.push(indented);\n lines.push(' ```');\n }\n lines.push('');\n}\n\nfunction renderMergeOpportunity(m: MergeOpportunity, lines: string[]): void {\n lines.push(`### \\`${m.sectionType}\\` — \\`${m.kind}\\``);\n lines.push('');\n lines.push(`- **Pattern 1:** \\`${m.pattern1}\\``);\n lines.push(`- **Pattern 2:** \\`${m.pattern2}\\``);\n lines.push(`- **Suggestion:** \\`${m.suggestedPattern}\\``);\n lines.push(`- **Rationale:** ${m.rationale}`);\n lines.push('');\n}\n\nrun();\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/patternAnalyzer/types.ts"],"sourcesContent":["import type { SectionDefinition } from '../component/section-definition';\n\nexport interface DefinitionEntry {\n priority: number;\n sectionType: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n definition: SectionDefinition<any>;\n}\n\nexport interface ConflictCase {\n markdown: string;\n generatedFrom: string;\n}\n\nexport interface ConflictReport {\n shadowedDefinition: string;\n shadowedPriority: number;\n shadowedPattern: string;\n shadowingDefinition: string;\n shadowingPriority: number;\n shadowingPattern: string;\n samples: ConflictCase[];\n /** full = every generated sample was captured by a higher-priority definition */\n severity: 'full' | 'partial';\n}\n\nexport interface ValidationFailure {\n markdown: string;\n generatedFrom: string;\n error: 'parse_returned_null' | 'parse_threw';\n detail?: string;\n}\n\nexport interface ParserValidationReport {\n sectionType: string;\n pattern: string;\n failures: ValidationFailure[];\n samplesTestedCount: number;\n samplesPassedCount: number;\n}\n\nexport type MergeKind =\n | 'subsumption'\n | 'quantifier_widening'\n | 'alternation_extension'\n | 'optional_element';\n\nexport interface MergeOpportunity {\n sectionType: string;\n pattern1: string;\n pattern2: string;\n kind: MergeKind;\n suggestedPattern: string;\n rationale: string;\n}\n\nexport interface DefinitionSummary {\n sectionType: string;\n priority: number;\n patterns: string[];\n samplesGenerated: number;\n}\n\nexport interface AnalysisReport {\n generatedAt: string;\n totalDefinitions: number;\n totalPatterns: number;\n definitions: DefinitionSummary[];\n conflicts: ConflictReport[];\n parserValidation: ParserValidationReport[];\n mergeOpportunities: MergeOpportunity[];\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Pattern Validator - Error Messages
|
|
2
|
+
|
|
3
|
+
The pattern validator now provides detailed error messages to help debug pattern matching issues.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
To get detailed error messages, pass `true` as the third parameter to `validatePattern`:
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
import { validatePattern } from './patternValidator';
|
|
11
|
+
|
|
12
|
+
const blocks = ['h2', 'list{[t, link, link]}'];
|
|
13
|
+
const pattern = 'h2 > list{item[1]:t > link}';
|
|
14
|
+
|
|
15
|
+
// Get detailed error information
|
|
16
|
+
const result = validatePattern(blocks, pattern, true);
|
|
17
|
+
|
|
18
|
+
if (!result.valid) {
|
|
19
|
+
console.error('Validation failed:', result.error);
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Error Types
|
|
24
|
+
|
|
25
|
+
### 1. Item Count Mismatch
|
|
26
|
+
|
|
27
|
+
When a list has the wrong number of items:
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
const blocks = ['h2', 'list{[t], [t], [t]}'];
|
|
31
|
+
const pattern = 'h2 > list{item[2]:t}';
|
|
32
|
+
|
|
33
|
+
const result = validatePattern(blocks, pattern, true);
|
|
34
|
+
// Error: "Expected exactly 2 items in list, but got 3 items"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 2. Item Structure Mismatch
|
|
38
|
+
|
|
39
|
+
When a list item doesn't match the expected pattern:
|
|
40
|
+
|
|
41
|
+
```typescript
|
|
42
|
+
const blocks = ['h2', 'list{[t, link, link]}'];
|
|
43
|
+
const pattern = 'h2 > list{item[1]:t > link}';
|
|
44
|
+
|
|
45
|
+
const result = validatePattern(blocks, pattern, true);
|
|
46
|
+
// Error: "Item #1 [t, link, link] does not match expected pattern: t > link"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 3. Unexpected Element
|
|
50
|
+
|
|
51
|
+
When an element appears that doesn't match the pattern:
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
const blocks = ['h2', 'image', 't'];
|
|
55
|
+
const pattern = 'h2 > t > link';
|
|
56
|
+
|
|
57
|
+
const result = validatePattern(blocks, pattern, true);
|
|
58
|
+
// Error: "Unexpected element 'image' at position 2. Pattern does not match."
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 4. Incomplete Pattern
|
|
62
|
+
|
|
63
|
+
When the pattern expects more elements:
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
const blocks = ['h2', 't'];
|
|
67
|
+
const pattern = 'h2 > t > link > image';
|
|
68
|
+
|
|
69
|
+
const result = validatePattern(blocks, pattern, true);
|
|
70
|
+
// Error: "Pattern matching incomplete. Expected more elements after position 2."
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 5. Unexpected List
|
|
74
|
+
|
|
75
|
+
When a list appears where the pattern doesn't expect one:
|
|
76
|
+
|
|
77
|
+
```typescript
|
|
78
|
+
const blocks = ['h2', 'list{[t]}'];
|
|
79
|
+
const pattern = 'h2 > t';
|
|
80
|
+
|
|
81
|
+
const result = validatePattern(blocks, pattern, true);
|
|
82
|
+
// Error: "Unexpected list at position 2. Pattern does not expect a list here."
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Return Type
|
|
86
|
+
|
|
87
|
+
When called with `returnDetails: true`, the function returns:
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
type PatternValidationResult = {
|
|
91
|
+
valid: boolean;
|
|
92
|
+
error?: string;
|
|
93
|
+
};
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
- `valid`: `true` if the pattern matches, `false` otherwise
|
|
97
|
+
- `error`: Detailed error message (only present when `valid` is `false`)
|
|
98
|
+
|
|
99
|
+
## Backward Compatibility
|
|
100
|
+
|
|
101
|
+
The original boolean return type is still supported:
|
|
102
|
+
|
|
103
|
+
```typescript
|
|
104
|
+
// Returns boolean
|
|
105
|
+
const isValid = validatePattern(blocks, pattern);
|
|
106
|
+
|
|
107
|
+
// Returns PatternValidationResult
|
|
108
|
+
const result = validatePattern(blocks, pattern, true);
|
|
109
|
+
```
|
|
110
|
+
|