@wix/web5-core 1.63.15 → 1.63.17
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/component/componentDefinitions/TextBlockSectionDefinition.js +36 -32
- package/dist/cjs/component/componentDefinitions/TextBlockSectionDefinition.js.map +1 -1
- package/dist/cjs/component/componentDefinitions/index.js +5 -4
- package/dist/cjs/component/componentDefinitions/index.js.map +1 -1
- package/dist/cjs/component/componentDefinitions/parse-utils.js +43 -6
- package/dist/cjs/component/componentDefinitions/parse-utils.js.map +1 -1
- package/dist/cjs/index.js +32 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/match/astToParts.js +14 -0
- package/dist/cjs/match/astToParts.js.map +1 -1
- package/dist/cjs/privacy/consentGate.js +275 -0
- package/dist/cjs/privacy/consentGate.js.map +1 -0
- package/dist/cjs/privacy/consentOverride.js +94 -0
- package/dist/cjs/privacy/consentOverride.js.map +1 -0
- package/dist/cjs/privacy/detectProvider.js +71 -0
- package/dist/cjs/privacy/detectProvider.js.map +1 -0
- package/dist/cjs/privacy/index.js +40 -0
- package/dist/cjs/privacy/index.js.map +1 -0
- package/dist/cjs/privacy/providers/hostSuppliedProvider.js +89 -0
- package/dist/cjs/privacy/providers/hostSuppliedProvider.js.map +1 -0
- package/dist/cjs/privacy/providers/oneTrustProvider.js +72 -0
- package/dist/cjs/privacy/providers/oneTrustProvider.js.map +1 -0
- package/dist/cjs/privacy/providers/shopifyProvider.js +177 -0
- package/dist/cjs/privacy/providers/shopifyProvider.js.map +1 -0
- package/dist/cjs/privacy/types.js +34 -0
- package/dist/cjs/privacy/types.js.map +1 -0
- package/dist/cjs/utils/analyticsEvents.js +30 -25
- package/dist/cjs/utils/analyticsEvents.js.map +1 -1
- package/dist/esm/component/componentDefinitions/TextBlockSectionDefinition.js +37 -33
- package/dist/esm/component/componentDefinitions/TextBlockSectionDefinition.js.map +1 -1
- package/dist/esm/component/componentDefinitions/index.js +5 -4
- package/dist/esm/component/componentDefinitions/index.js.map +1 -1
- package/dist/esm/component/componentDefinitions/parse-utils.js +42 -6
- package/dist/esm/component/componentDefinitions/parse-utils.js.map +1 -1
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/match/astToParts.js +14 -0
- package/dist/esm/match/astToParts.js.map +1 -1
- package/dist/esm/privacy/consentGate.js +265 -0
- package/dist/esm/privacy/consentGate.js.map +1 -0
- package/dist/esm/privacy/consentOverride.js +87 -0
- package/dist/esm/privacy/consentOverride.js.map +1 -0
- package/dist/esm/privacy/detectProvider.js +65 -0
- package/dist/esm/privacy/detectProvider.js.map +1 -0
- package/dist/esm/privacy/index.js +8 -0
- package/dist/esm/privacy/index.js.map +1 -0
- package/dist/esm/privacy/providers/hostSuppliedProvider.js +81 -0
- package/dist/esm/privacy/providers/hostSuppliedProvider.js.map +1 -0
- package/dist/esm/privacy/providers/oneTrustProvider.js +66 -0
- package/dist/esm/privacy/providers/oneTrustProvider.js.map +1 -0
- package/dist/esm/privacy/providers/shopifyProvider.js +174 -0
- package/dist/esm/privacy/providers/shopifyProvider.js.map +1 -0
- package/dist/esm/privacy/types.js +30 -0
- package/dist/esm/privacy/types.js.map +1 -0
- package/dist/esm/utils/analyticsEvents.js +30 -25
- package/dist/esm/utils/analyticsEvents.js.map +1 -1
- package/dist/types/component/componentDefinitions/TextBlockSectionDefinition.d.ts.map +1 -1
- package/dist/types/component/componentDefinitions/index.d.ts.map +1 -1
- package/dist/types/component/componentDefinitions/parse-utils.d.ts +21 -0
- package/dist/types/component/componentDefinitions/parse-utils.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/match/astToParts.d.ts.map +1 -1
- package/dist/types/privacy/consentGate.d.ts +85 -0
- package/dist/types/privacy/consentGate.d.ts.map +1 -0
- package/dist/types/privacy/consentOverride.d.ts +33 -0
- package/dist/types/privacy/consentOverride.d.ts.map +1 -0
- package/dist/types/privacy/detectProvider.d.ts +25 -0
- package/dist/types/privacy/detectProvider.d.ts.map +1 -0
- package/dist/types/privacy/index.d.ts +8 -0
- package/dist/types/privacy/index.d.ts.map +1 -0
- package/dist/types/privacy/providers/hostSuppliedProvider.d.ts +29 -0
- package/dist/types/privacy/providers/hostSuppliedProvider.d.ts.map +1 -0
- package/dist/types/privacy/providers/oneTrustProvider.d.ts +15 -0
- package/dist/types/privacy/providers/oneTrustProvider.d.ts.map +1 -0
- package/dist/types/privacy/providers/shopifyProvider.d.ts +26 -0
- package/dist/types/privacy/providers/shopifyProvider.d.ts.map +1 -0
- package/dist/types/privacy/types.d.ts +32 -0
- package/dist/types/privacy/types.d.ts.map +1 -0
- package/dist/types/utils/analyticsEvents.d.ts +9 -0
- package/dist/types/utils/analyticsEvents.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clients","require","exports","CLIENT_IDS","EXPERIMENT_IDS","_FeatureToggleContext","createFeatureToggleReader","FeatureToggleProvider","useFeatureToggles","useFeatureToggle","_parts","getPartsByType","getPartByRole","getAllByRole","getHeading","getImages","getLinks","extractContent","extractContentMarkdown","deriveRole","_sectionDefinition","DROP_SECTION","_diagnosticTypes","DIAGNOSTIC_TYPES","_imageSearchFilterTypes","buildImageSearchFilter","_imageSearchFilters","ImageSearchFilterToken","backgroundFilter","_componentDefinitions","HeroSectionDefinition","HeroEntitySectionDefinition","KpiSectionDefinition","FeatureCardsSectionDefinition","EntitySectionDefinition","EntityCollectionSectionDefinition","ComparisonSectionDefinition","TextBlockSectionDefinition","CtaBannerSectionDefinition","CalloutSectionDefinition","NextStepsSectionDefinition","FeatureSection9PlusDefinition","ListItemsSectionDefinition","SkipNodesSectionDefinition","HtmlCommentSectionDefinition","SearchSectionDefinition","ErrorSectionDefinition","FallbackSectionDefinition","createSdkRegistry","_registry","ComponentRegistry","_patternValidator","validatePattern","validatePatternSyntax","validatePatternWithBlocks","_markdownBlocks","convertToBlockElements","convertToBlockElementsWithMapping","_linkTypes","Web5UrlType","isWeb5AskUrl","isWeb5EntityUrl","isWeb5ImageUrl","isWeb5IconUrl","isWeb5ActionUrl","isWeb5SearchUrl","isWeb5Url","isNavigableUrl","isValidLinkUrl","isLegacyUrl","_entityLinkParser","parseWeb5Url","isValidWeb5Url","validateLinkUrl","isEntityLink","parseEntityLink","extractProtocol","extractLinkMetadata","_web5LinkValidator","findInvalidWeb5Links","_nodeMatchers","hasImage","isHtmlComment","_match","matchMarkdown","matchAllSections","nodesToParts","_ComponentDependenciesContext","ComponentDependenciesProvider","useComponentDependencies","_UserQueryContext","UserQueryProvider","useUserQuery","_ChipsContext","ChipsProvider","useChips","_entity","defaultExtractor","enrichEntitiesFromPayload","normalizeEntityItem","entityPayloadFromItems","mergeEntityData","fetchEntityListData","listEntityItems","LIST_ITEMS_ENDPOINT","getEntityExtractor","registerEntityExtractor","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","toMatchedOptions","formatMoney","readCurrencyCode","formatPriceField","formatProductPriceLabel","isProductFamilyEntityType","_callout","CALLOUT_KINDS","CALLOUT_SEMANTICS","_useWeb5Link","useWeb5Link","_useConversation","useConversation","_useDebugImageContext","useDebugImageContext","_useResolvedImageSources","useResolvedImageSources","_useResolveGenericEntityData","useResolveGenericEntityData","_useEntityTransforms","useEntityTransforms","_useMarkdownUtils","useMarkdownUtils","_useResolveShopifyEntityData","useResolveShopifyEntityData","_useResolveSearchSpringEntityData","useResolveSearchSpringEntityData","_searchspring","fetchProductsByHandles","fetchProductsByHandlesMap","transformSSProductToEntityItemData","_cart","addToCart","_shopify","ShopifyStorefrontClient","resolveShopifyConfig","resolveShopifyEntity","transformShopifyProduct","transformShopifyCollection","transformShopifyArticle","transformShopifyEntityToItemData","PRODUCT_BY_HANDLE_QUERY","COLLECTION_BY_HANDLE_QUERY","ARTICLE_BY_HANDLE_QUERY","_utils","cn","_imageUtils","normalizeImageUrl","getResizedImageUrl","_imageBackdrop","analyzeBackdrop","computeContentBBox","buildProbeUrl","loadImagePixels","loadBackdropAnalysis","_parseUtils","stripMarkdown","_colorUtils","rgbToHsl","hslToRgb","ensureMinLightness","toRgb","deriveDarkColor","deriveDarkGradient","deriveLightColor","_analyticsEvents","pushEvent","pushPromptSubmit","pushLinkClick","pushError","pushExit","pushEntityFiltered","hasAnalyticsConsent","_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","_clientBundleUrl","TEMPLATES_CDN_BASE","TEMPLATES_MANIFEST_URL","getTemplateOverride","isTemplatePickerRequested","isValidTemplateId","resolveClientBundleUrl","_mergeClientConfig","mergeClientConfig","_applyThemeOverrides","applyThemeOverrides","THEME_OVERRIDE_TOKENS","_tokenContract","THEME_TOKEN_CONTRACT","BRAND_TOKENS","EDITABLE_TOKENS","TOKEN_NAME_PATTERN","bucketOf","hostAliasFor","_themeDebug","isThemeDebugEnabled","THEME_DEBUG_KEY","THEME_DEBUG_QUERY_PARAM","_colorFormat","hexToHslTriplet","hslTripletToHex","isHslTriplet","_PlacementResponseRenderer","PlacementResponseRenderer","PlacementSmoothHeight","_buildPlacementDependencies","buildPlacementDependencies","_PlacementPayloadContext","PlacementPayloadProvider","usePlacementPayload","_unifiedMarkdownParser","UnifiedMarkdownParser","parseMarkdownToAst","parseAstToMarkdown","_markdownPreprocessor","escapeWeb5Links","fixMalformedLinks","trimTrailingWhitespace","normalizeIconUrls","decodeLinkText","preprocessMarkdown","_componentTracking","ComponentTracking","_contentKeywordMatcher","findKeywordsInContent","getContextualImageFilename","_intentExtractor","extractIntentFromMarkdown","getIntentFromMarkdown","_propsExtractor","createPageSection","generateSectionId","generateId","findImageInNode","findImageInChildren","_diagnosticsCollector","DiagnosticsCollector","_refreshPrompts","REFRESH_PROMPTS_UNTIL_KEY","REFRESH_PROMPTS_WINDOW_MS","getRefreshPromptsExpiry","shouldRefreshPrompts","enableRefreshPrompts","disableRefreshPrompts","_backendEnvironment","BACKEND_ENVIRONMENT_KEY","BACKEND_ENVIRONMENT_QUERY_PARAM","DEFAULT_BACKEND_ENVIRONMENT","getBackendEnvironment","setBackendEnvironment","usesStagingBackend","_simulation","isSimulationTraffic","_matchDebug","MATCH_DEBUG_KEY","MATCH_DEBUG_QUERY_PARAM","isMatchDebugEnabled","setMatchDebug","resetMatchDebugCache","logMatchDebug","_wixAuthFetch","createWixAuthFetch","_sessionManager","getOrCreateSessionId","getSessionId","getChatId","startNewChatId","setChatId","resetChatIdForTests","_componentParser","parseMarkdownToComponents","tryParseComponent","mergeSectionsWithStableReferences","_hostScope","WEB5_ROOT_ID","WEB5_ROOT_CLASS","WEB5_SCOPES","WEB5_SCOPE","WEB5_GLOBAL_TOKENS"],"sources":["../../src/index.ts"],"sourcesContent":["// Client IDs and experiment IDs\nexport { CLIENT_IDS, EXPERIMENT_IDS } from './clients';\n\nexport {\n type EmbedFeatureToggleResult,\n type FeatureToggleReader,\n createFeatureToggleReader,\n FeatureToggleProvider,\n useFeatureToggles,\n useFeatureToggle,\n} from './featureToggles/FeatureToggleContext';\n\n// Dev-only chrome injection contract for client packages\nexport type { DevEnvironment } from './client/devEnvironment';\n\n// Part types and helpers\nexport {\n type PartType,\n type Part,\n type HeadingPart,\n type ImagePart,\n type LinkPart,\n type ListPart,\n type ListItemPart,\n type KpiItemPart,\n type CardPart,\n type IconPart,\n type CalloutPart,\n type EntityPart,\n getPartsByType,\n getPartByRole,\n getAllByRole,\n getHeading,\n getImages,\n getLinks,\n extractContent,\n extractContentMarkdown,\n deriveRole,\n} from './parts/parts';\n\n// Component types\nexport type {\n BaseCompProps,\n SlotCompProps,\n SectionCompProps,\n SectionCompPropsWithSlot,\n TextCompProps,\n ButtonCompProps,\n ImageCompProps,\n BadgeCompProps,\n HeroButton,\n KpiItemCompProps,\n FeatureItemCompProps,\n FeatureCardCompProps,\n EntityItemData,\n EntityItem,\n GenericEntityData,\n GenericEntityCompProps,\n ComparisonRow,\n ComparisonColumn,\n AiNarrativeCompProps,\n HeroCompProps,\n HeroEntityCompProps,\n KpiCompProps,\n FeatureCardsCompProps,\n EntityCompProps,\n ComparisonCompProps,\n TextBlockCompProps,\n Component,\n BaseComponent,\n SlotComponent,\n SectionComponent,\n TextComponent,\n ButtonComponent,\n ImageComponent,\n BadgeComponent,\n KpiItemComponent,\n FeatureItemComponent,\n FeatureCardComponent,\n GenericEntityComponent,\n AiNarrativeComponent,\n ComparisonSectionComponent,\n TextBlockSectionComponent,\n HeroSectionComponent,\n HeroEntitySectionComponent,\n KpiSectionComponent,\n FeatureCardsSectionComponent,\n EntitySectionComponent,\n PropsOf,\n SectionFixture,\n CtaBannerCompProps,\n CtaBannerSectionComponent,\n CalloutCompProps,\n CalloutSectionComponent,\n NextStepsCompProps,\n NextStepsSectionComponent,\n FeatureSection9PlusCompProps,\n FeatureSection9PlusSectionComponent,\n ListItemsSectionCompProps,\n ListItemsSectionComponent,\n ErrorCompProps,\n ErrorSectionComponent,\n NullCompProps,\n NullSectionComponent,\n SolutionEntityCompProps,\n SolutionEntitySectionComponent,\n SolutionEntityData,\n BlogEntityCompProps,\n BlogEntitySectionComponent,\n BlogEntityData,\n GeneralTextCompProps,\n GeneralTextSectionComponent,\n PersonalizedNarrativeCompProps,\n PersonalizedNarrativeSectionComponent,\n} from './component/types';\n\n// Section definition\nexport type {\n SectionDefinition,\n ParseContext,\n ContextualImageResult,\n DropSection,\n} from './component/section-definition';\nexport { DROP_SECTION } from './component/section-definition';\n\n// Diagnostic types\nexport { DIAGNOSTIC_TYPES } from './component/diagnosticTypes';\nexport type { DiagnosticType } from './component/diagnosticTypes';\n\n// Image search filters\nexport {\n buildImageSearchFilter,\n type ImageSearchFilterString,\n} from './image/imageSearchFilterTypes';\nexport {\n ImageSearchFilterToken,\n backgroundFilter,\n} from './image/imageSearchFilters';\nexport type {\n ContextualImageAsset,\n ImageSourceInput,\n ResolvedImageSource,\n ResolvedImageSourceKind,\n} from './image/contextualImageTypes';\n\n// Section definition classes + createSdkRegistry\nexport {\n HeroSectionDefinition,\n HeroEntitySectionDefinition,\n KpiSectionDefinition,\n FeatureCardsSectionDefinition,\n EntitySectionDefinition,\n EntityCollectionSectionDefinition,\n ComparisonSectionDefinition,\n TextBlockSectionDefinition,\n CtaBannerSectionDefinition,\n CalloutSectionDefinition,\n NextStepsSectionDefinition,\n FeatureSection9PlusDefinition,\n ListItemsSectionDefinition,\n SkipNodesSectionDefinition,\n HtmlCommentSectionDefinition,\n SearchSectionDefinition,\n ErrorSectionDefinition,\n FallbackSectionDefinition,\n createSdkRegistry,\n} from './component/componentDefinitions';\n\n// Registry\nexport { ComponentRegistry } from './registry';\nexport type {\n SlotOptions,\n SectionOptions,\n SectionRegistration,\n SlotNode,\n SlotIntentNode,\n SectionIntentNode,\n SectionNode,\n SlotVariant,\n SectionVariant,\n RegistryCatalog,\n ActionResult,\n ActionHandler,\n} from './registry';\n\n// Pattern validator\nexport {\n validatePattern,\n validatePatternSyntax,\n validatePatternWithBlocks,\n type PatternValidationResult,\n type BlockElement,\n type EnrichedBlockElement,\n type LinkMetadata,\n type LinkAttribute,\n} from './patternValidator';\n\n// Markdown blocks\nexport {\n convertToBlockElements,\n convertToBlockElementsWithMapping,\n type BlockElementsWithMapping,\n} from './markdownBlocks';\n\n// Link types, enum & guards\nexport {\n Web5UrlType,\n type Web5AskUrl,\n type Web5EntityUrl,\n type Web5ImageUrl,\n type Web5IconUrl,\n type Web5ActionUrl,\n type Web5SearchUrl,\n type Web5Url,\n type HttpsUrl,\n type HttpUrl,\n type MailtoUrl,\n type RelativeUrl,\n type NavigableUrl,\n type ValidLinkUrl,\n type AnyKnownUrl,\n type LegacyUrl,\n isWeb5AskUrl,\n isWeb5EntityUrl,\n isWeb5ImageUrl,\n isWeb5IconUrl,\n isWeb5ActionUrl,\n isWeb5SearchUrl,\n isWeb5Url,\n isNavigableUrl,\n isValidLinkUrl,\n isLegacyUrl,\n} from './types/link-types';\n\n// Entity/URL parsing\nexport {\n parseWeb5Url,\n isValidWeb5Url,\n validateLinkUrl,\n type Web5UrlParsed,\n type Web5AskParsed,\n type Web5EntityParsed,\n type Web5ImageParsed,\n type Web5IconParsed,\n type Web5ActionParsed,\n type Web5SearchParsed,\n isEntityLink,\n parseEntityLink,\n extractProtocol,\n extractLinkMetadata,\n} from './utils/entityLinkParser';\n\n// Web5 link validation\nexport {\n findInvalidWeb5Links,\n type InvalidWeb5Link,\n} from './utils/web5LinkValidator';\n\n// Node matchers\nexport { hasImage, isHtmlComment } from './utils/nodeMatchers';\n\n// Match API\nexport {\n matchMarkdown,\n type MarkdownMatchResult,\n matchAllSections,\n type MatchAllSectionsResult,\n nodesToParts,\n} from './match';\n\n// ---------------------------------------------------------------------------\n// DI Infrastructure (moved from @wix/w5-client-circana)\n// ---------------------------------------------------------------------------\n\n// DI context and provider\nexport {\n ComponentDependenciesProvider,\n useComponentDependencies,\n type ComponentDependenciesProviderProps,\n} from './context/ComponentDependenciesContext';\n\n// Raw user query for the current response page\nexport {\n UserQueryProvider,\n useUserQuery,\n type UserQueryProviderProps,\n} from './context/UserQueryContext';\n\n// Chips context (suggestion chips shared between SearchSection and error states)\nexport {\n ChipsProvider,\n useChips,\n type SuggestionChip,\n} from './context/ChipsContext';\n\n// DI types\nexport type {\n ComponentDependencies,\n Web5LinkApi,\n ConversationApi,\n SendMessageTrackingOptions,\n SendMessageOptions,\n ComparisonSubmitPayload,\n ComparisonSelectedProduct,\n ProductComparisonSelectionState,\n ProductComparisonApi,\n EntityTransforms,\n MarkdownUtils,\n ResolveGenericEntityDataOptions,\n} from './types/dependencies';\nexport type {\n ApiPayloadItem,\n EntityTypeConfig,\n EntityConfig,\n EntityExtractionContext,\n} from './types/entity';\nexport {\n defaultExtractor,\n enrichEntitiesFromPayload,\n normalizeEntityItem,\n entityPayloadFromItems,\n mergeEntityData,\n fetchEntityListData,\n listEntityItems,\n LIST_ITEMS_ENDPOINT,\n getEntityExtractor,\n registerEntityExtractor,\n transformToSolutionEntityData,\n transformToBlogPostEntityData,\n transformToGenericEntityData,\n toMatchedOptions,\n formatMoney,\n readCurrencyCode,\n formatPriceField,\n formatProductPriceLabel,\n isProductFamilyEntityType,\n} from './entity';\nexport type {\n EntityExtractor,\n FetchEntityListDataOptions,\n ListEntityItemsOptions,\n MatchedOption,\n ProductPriceFields,\n} from './entity';\nexport {\n CALLOUT_KINDS,\n CALLOUT_SEMANTICS,\n type CalloutKind,\n type CalloutSemantic,\n type Callout,\n} from './types/callout';\n\n// Wrapper hooks\nexport { useWeb5Link } from './hooks/useWeb5Link';\nexport { useConversation } from './hooks/useConversation';\nexport { useDebugImageContext } from './hooks/useDebugImageContext';\nexport { useResolvedImageSources } from './hooks/useResolvedImageSources';\nexport { useResolveGenericEntityData } from './hooks/useResolveGenericEntityData';\nexport { useEntityTransforms } from './hooks/useEntityTransforms';\nexport { useMarkdownUtils } from './hooks/useMarkdownUtils';\nexport { useResolveShopifyEntityData } from './hooks/useResolveShopifyEntityData';\nexport { useResolveSearchSpringEntityData } from './hooks/useResolveSearchSpringEntityData';\n\n// SearchSpring\nexport {\n fetchProductsByHandles,\n fetchProductsByHandlesMap,\n transformSSProductToEntityItemData,\n} from './services/searchspring';\nexport type {\n SearchSpringConfig,\n SSProduct,\n SSSearchResponse,\n SSSizeData,\n} from './services/searchspring';\n\n// Shopify Storefront API\n// Cart actions\nexport { addToCart } from './services/cart';\n\nexport {\n ShopifyStorefrontClient,\n resolveShopifyConfig,\n resolveShopifyEntity,\n transformShopifyProduct,\n transformShopifyCollection,\n transformShopifyArticle,\n transformShopifyEntityToItemData,\n PRODUCT_BY_HANDLE_QUERY,\n COLLECTION_BY_HANDLE_QUERY,\n ARTICLE_BY_HANDLE_QUERY,\n} from './services/shopify';\nexport type {\n ShopifyStorefrontConfig,\n ShopifyProduct,\n ShopifyCollection,\n ShopifyArticle,\n ShopifyImage,\n ShopifyMoneyV2,\n} from './services/shopify';\n\n// Utilities\nexport { cn } from './lib/utils';\nexport { normalizeImageUrl, getResizedImageUrl } from './utils/image-utils';\nexport {\n analyzeBackdrop,\n computeContentBBox,\n buildProbeUrl,\n loadImagePixels,\n loadBackdropAnalysis,\n type BackdropAnalysis,\n type ContentBBox,\n type ImagePixels,\n} from './utils/imageBackdrop';\nexport { stripMarkdown } from './component/componentDefinitions/parse-utils';\n\n// Color utilities\nexport {\n type RGB,\n rgbToHsl,\n hslToRgb,\n ensureMinLightness,\n toRgb,\n deriveDarkColor,\n deriveDarkGradient,\n deriveLightColor,\n} from './color/colorUtils';\n\n// Analytics\nexport {\n pushEvent,\n pushPromptSubmit,\n pushLinkClick,\n pushError,\n pushExit,\n pushEntityFiltered,\n hasAnalyticsConsent,\n type EntityFilteredReason,\n} from './utils/analyticsEvents';\n\n// Error handling types and utilities\nexport {\n type ConversationErrorType,\n ERROR_MARKDOWN,\n getErrorTypeFromStatus,\n createErrorMarkdown,\n STREAMING_TIMEOUT_MS,\n type ErrorActionType,\n type ErrorIconType,\n type ErrorTemplateButton,\n type ErrorTemplate,\n type ErrorTemplateOverrides,\n DEFAULT_ERROR_TEMPLATES,\n resolveErrorTemplate,\n} from './errors';\n\n// Navigation utilities\nexport {\n getForwardStack,\n setForwardStack,\n clearForwardStack,\n pushToForwardStack,\n popFromForwardStack,\n} from './utils/navigationStack';\n\n// UI components\nexport {\n UserQuery,\n type UserQueryProps,\n type ProductBackContext,\n} from './components/ui/UserQuery';\nexport {\n PRODUCT_BACK_SESSION_KEY,\n writeProductBackHandoff,\n readProductBackHandoff,\n type ProductBackHandoff,\n} from './utils/productBackHandoff';\nexport {\n PromptEntryEmptyState,\n type PromptEntryEmptyStateProps,\n} from './components/ui/PromptEntryEmptyState';\nexport {\n SearchSection,\n type SearchSectionProps,\n type SearchSectionHandle,\n type ScrollChip,\n} from './components/ui/SearchSection';\nexport {\n FeedbackBar,\n type FeedbackBarProps,\n type FeedbackCategoryOption,\n type FeedbackSentiment,\n type FeedbackSubmitInput,\n} from './components/ui/FeedbackBar';\nexport { Disclaimer, type DisclaimerProps } from './components/ui/Disclaimer';\nexport {\n BottomContainer,\n type BottomContainerProps,\n} from './components/ui/BottomContainer';\nexport { MarkdownText } from './components/ui/MarkdownText';\nexport {\n CalloutBlock,\n type CalloutBlockProps,\n} from './components/ui/CalloutBlock';\nexport {\n OptimizedImage,\n type OptimizedImageProps,\n} from './components/ui/OptimizedImage';\nexport {\n SectionSkeleton,\n type SectionSkeletonProps,\n} from './components/ui/SectionSkeleton';\nexport { SmartIcon, type SmartIconProps } from './components/ui/SmartIcon';\nexport { Loader, type LoaderProps } from './components/ui/Loader';\nexport {\n PlacementLoader,\n type PlacementLoaderProps,\n} from './components/ui/PlacementLoader';\nexport {\n UnifiedLink,\n detectLinkType,\n type UnifiedLinkProps,\n LinkType,\n type LinkVariant,\n} from './components/ui/UnifiedLink';\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n} from './components/ui/table';\n\n// Placement (DL #088, DL #102 behavior declarations)\nexport type {\n PlacementBehaviorConfig,\n PlacementConfig,\n PlacementPrompts,\n} from './types/placement';\n\n// Cross-bundle user-query broadcast event (DL #097 D2)\nexport {\n WEB5_USER_QUERY_EVENT,\n type Web5UserQueryEventDetail,\n type Web5UserQueryEvent,\n} from './types/userQueryEvent';\n\n// Cross-bundle answer-updated broadcast event (B2B-4121)\nexport {\n WEB5_ANSWER_UPDATED_EVENT,\n type Web5AnswerUpdatedEventDetail,\n type Web5AnswerUpdatedEvent,\n} from './types/answerUpdatedEvent';\n\n// Cross-bundle redirect broadcast event (DL #098 D3)\nexport {\n WEB5_REDIRECT_EVENT,\n type Web5RedirectEventDetail,\n type Web5RedirectEvent,\n type Web5RedirectReason,\n} from './types/redirectEvent';\n// `placementFilter` was removed — hero/next-steps exclusion is the prompt's job\n// and placement-specific designs belong as `{ placement: true }` registry\n// variants (resolved automatically via `resolveSection(type, { placement: true })`).\n\n// Client bundle loader (DL #088 D3.3)\nexport { loadClientBundle } from './client/loadClientBundle';\n\n// `?clientBundleUrl=` dev override — shared by `web50-server-ui` and\n// `embed-placement` so the trusted-host gate can't drift between them.\nexport {\n getClientBundleOverride,\n isTrustedBundleHost,\n} from './client/clientBundleOverride';\n\n// Client-UMD URL resolution (DL #094 per-msid, DL #129 per-template) and the\n// universal bundle←backend config merge (DL #129 Q3/Q7) — shared by\n// `web50-server-ui` and `embed-placement`, the two client-bundle load sites.\nexport {\n TEMPLATES_CDN_BASE,\n TEMPLATES_MANIFEST_URL,\n getTemplateOverride,\n isTemplatePickerRequested,\n isValidTemplateId,\n resolveClientBundleUrl,\n} from './client/clientBundleUrl';\nexport {\n mergeClientConfig,\n type DeepPartial,\n} from './client/mergeClientConfig';\nexport {\n applyThemeOverrides,\n THEME_OVERRIDE_TOKENS,\n type ThemeOverrideKey,\n type ThemeOverrides,\n} from './client/applyThemeOverrides';\nexport {\n THEME_TOKEN_CONTRACT,\n BRAND_TOKENS,\n EDITABLE_TOKENS,\n TOKEN_NAME_PATTERN,\n bucketOf,\n hostAliasFor,\n type TokenBucket,\n type TokenContractEntry,\n type TokenType,\n} from './theme/tokenContract';\nexport {\n isThemeDebugEnabled,\n THEME_DEBUG_KEY,\n THEME_DEBUG_QUERY_PARAM,\n type AppliedToken,\n type ThemeOverrideSource,\n} from './client/themeDebug';\nexport {\n hexToHslTriplet,\n hslTripletToHex,\n isHslTriplet,\n} from './theme/colorFormat';\n\n// Placement renderer + DI helper (DL #088 D3.2, D3.4)\nexport {\n PlacementResponseRenderer,\n PlacementSmoothHeight,\n type PlacementResponseRendererProps,\n type PlacementSection,\n type PlacementVariant,\n} from './components/placement/PlacementResponseRenderer';\nexport {\n buildPlacementDependencies,\n type BuildPlacementDependenciesOptions,\n} from './components/placement/buildPlacementDependencies';\nexport {\n PlacementPayloadProvider,\n usePlacementPayload,\n type PlacementPayloadContextValue,\n} from './components/placement/PlacementPayloadContext';\n\n// Markdown parsing utilities — lifted from web50-server-ui (DL #088 B9.1)\nexport {\n UnifiedMarkdownParser,\n parseMarkdownToAst,\n parseAstToMarkdown,\n} from './utils/unifiedMarkdownParser';\nexport {\n escapeWeb5Links,\n fixMalformedLinks,\n trimTrailingWhitespace,\n normalizeIconUrls,\n decodeLinkText,\n preprocessMarkdown,\n type PreprocessorDiagnostic,\n type PreprocessResult,\n} from './utils/markdownPreprocessor';\nexport {\n ComponentTracking,\n type ComponentNodeRange,\n} from './utils/componentTracking';\nexport {\n findKeywordsInContent,\n getContextualImageFilename,\n} from './utils/contentKeywordMatcher';\nexport {\n extractIntentFromMarkdown,\n getIntentFromMarkdown,\n type IntentInfo,\n type IntentExtractionOptions,\n type ResponseState,\n} from './utils/intentExtractor';\nexport type { PageSection } from './types/page-section';\nexport {\n createPageSection,\n generateSectionId,\n generateId,\n findImageInNode,\n findImageInChildren,\n type Product,\n type ComparisonProduct,\n type ProductComparisonSectionProps,\n} from './utils/propsExtractor';\nexport {\n DiagnosticsCollector,\n type DiagnosticEntry,\n} from './utils/diagnosticsCollector';\nexport {\n REFRESH_PROMPTS_UNTIL_KEY,\n REFRESH_PROMPTS_WINDOW_MS,\n getRefreshPromptsExpiry,\n shouldRefreshPrompts,\n enableRefreshPrompts,\n disableRefreshPrompts,\n} from './utils/refreshPrompts';\nexport {\n type BackendEnvironment,\n BACKEND_ENVIRONMENT_KEY,\n BACKEND_ENVIRONMENT_QUERY_PARAM,\n DEFAULT_BACKEND_ENVIRONMENT,\n getBackendEnvironment,\n setBackendEnvironment,\n usesStagingBackend,\n} from './utils/backendEnvironment';\nexport { isSimulationTraffic } from './utils/simulation';\nexport {\n MATCH_DEBUG_KEY,\n MATCH_DEBUG_QUERY_PARAM,\n isMatchDebugEnabled,\n setMatchDebug,\n resetMatchDebugCache,\n logMatchDebug,\n} from './utils/matchDebug';\nexport { createWixAuthFetch } from './client/wixAuthFetch';\nexport {\n getOrCreateSessionId,\n getSessionId,\n getChatId,\n startNewChatId,\n setChatId,\n resetChatIdForTests,\n} from './utils/sessionManager';\n\n// Component parser orchestrator — lifted from web50-server-ui (DL #088 B9.5)\nexport {\n parseMarkdownToComponents,\n tryParseComponent,\n mergeSectionsWithStableReferences,\n type ParseMarkdownOptions,\n type ParseMarkdownResult,\n type ComponentMatch,\n type ParserContext,\n} from './component/componentParser';\nexport type {\n ParserClientConfig,\n EnrichEntityProps,\n} from './component/parser-types';\n\n// Host-mount scope contract — shared by web50-server-ui (which stamps the\n// class and mounts), embed-placement (which mounts the same bundle elsewhere),\n// and the client CDN build (which compiles every selector against it).\nexport {\n WEB5_ROOT_ID,\n WEB5_ROOT_CLASS,\n WEB5_SCOPES,\n WEB5_SCOPE,\n WEB5_GLOBAL_TOKENS,\n type HostFitConfig,\n} from './hostScope';\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clients","require","exports","CLIENT_IDS","EXPERIMENT_IDS","_FeatureToggleContext","createFeatureToggleReader","FeatureToggleProvider","useFeatureToggles","useFeatureToggle","_parts","getPartsByType","getPartByRole","getAllByRole","getHeading","getImages","getLinks","extractContent","extractContentMarkdown","deriveRole","_sectionDefinition","DROP_SECTION","_diagnosticTypes","DIAGNOSTIC_TYPES","_imageSearchFilterTypes","buildImageSearchFilter","_imageSearchFilters","ImageSearchFilterToken","backgroundFilter","_componentDefinitions","HeroSectionDefinition","HeroEntitySectionDefinition","KpiSectionDefinition","FeatureCardsSectionDefinition","EntitySectionDefinition","EntityCollectionSectionDefinition","ComparisonSectionDefinition","TextBlockSectionDefinition","CtaBannerSectionDefinition","CalloutSectionDefinition","NextStepsSectionDefinition","FeatureSection9PlusDefinition","ListItemsSectionDefinition","SkipNodesSectionDefinition","HtmlCommentSectionDefinition","SearchSectionDefinition","ErrorSectionDefinition","FallbackSectionDefinition","createSdkRegistry","_registry","ComponentRegistry","_patternValidator","validatePattern","validatePatternSyntax","validatePatternWithBlocks","_markdownBlocks","convertToBlockElements","convertToBlockElementsWithMapping","_linkTypes","Web5UrlType","isWeb5AskUrl","isWeb5EntityUrl","isWeb5ImageUrl","isWeb5IconUrl","isWeb5ActionUrl","isWeb5SearchUrl","isWeb5Url","isNavigableUrl","isValidLinkUrl","isLegacyUrl","_entityLinkParser","parseWeb5Url","isValidWeb5Url","validateLinkUrl","isEntityLink","parseEntityLink","extractProtocol","extractLinkMetadata","_web5LinkValidator","findInvalidWeb5Links","_nodeMatchers","hasImage","isHtmlComment","_match","matchMarkdown","matchAllSections","nodesToParts","_ComponentDependenciesContext","ComponentDependenciesProvider","useComponentDependencies","_UserQueryContext","UserQueryProvider","useUserQuery","_ChipsContext","ChipsProvider","useChips","_entity","defaultExtractor","enrichEntitiesFromPayload","normalizeEntityItem","entityPayloadFromItems","mergeEntityData","fetchEntityListData","listEntityItems","LIST_ITEMS_ENDPOINT","getEntityExtractor","registerEntityExtractor","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","toMatchedOptions","formatMoney","readCurrencyCode","formatPriceField","formatProductPriceLabel","isProductFamilyEntityType","_callout","CALLOUT_KINDS","CALLOUT_SEMANTICS","_useWeb5Link","useWeb5Link","_useConversation","useConversation","_useDebugImageContext","useDebugImageContext","_useResolvedImageSources","useResolvedImageSources","_useResolveGenericEntityData","useResolveGenericEntityData","_useEntityTransforms","useEntityTransforms","_useMarkdownUtils","useMarkdownUtils","_useResolveShopifyEntityData","useResolveShopifyEntityData","_useResolveSearchSpringEntityData","useResolveSearchSpringEntityData","_searchspring","fetchProductsByHandles","fetchProductsByHandlesMap","transformSSProductToEntityItemData","_cart","addToCart","_shopify","ShopifyStorefrontClient","resolveShopifyConfig","resolveShopifyEntity","transformShopifyProduct","transformShopifyCollection","transformShopifyArticle","transformShopifyEntityToItemData","PRODUCT_BY_HANDLE_QUERY","COLLECTION_BY_HANDLE_QUERY","ARTICLE_BY_HANDLE_QUERY","_utils","cn","_imageUtils","normalizeImageUrl","getResizedImageUrl","_imageBackdrop","analyzeBackdrop","computeContentBBox","buildProbeUrl","loadImagePixels","loadBackdropAnalysis","_parseUtils","stripMarkdown","_colorUtils","rgbToHsl","hslToRgb","ensureMinLightness","toRgb","deriveDarkColor","deriveDarkGradient","deriveLightColor","_analyticsEvents","pushEvent","pushPromptSubmit","pushLinkClick","pushError","pushExit","pushEntityFiltered","hasAnalyticsConsent","_privacy","UNKNOWN_CONSENT","HOST_CONSENT_GLOBAL","transmit","mayTransmit","unlockOnUserAction","isUserEngaged","mayPersistIdentity","getConsentSnapshot","getGateView","subscribeToConsent","installConsentProvider","getInstalledProviderName","setConsentBufferLimit","getConsentGateStats","resetConsentGateForTests","detectConsentProvider","initConsentGate","CONSENT_OVERRIDE_KEY","CONSENT_OVERRIDE_QUERY_PARAM","getConsentOverride","setConsentOverride","createShopifyConsentProvider","isShopifyHost","createOneTrustConsentProvider","isOneTrustHost","createHostSuppliedConsentProvider","hasHostSuppliedConsent","publishHostConsent","_errors","ERROR_MARKDOWN","getErrorTypeFromStatus","createErrorMarkdown","STREAMING_TIMEOUT_MS","DEFAULT_ERROR_TEMPLATES","resolveErrorTemplate","_navigationStack","getForwardStack","setForwardStack","clearForwardStack","pushToForwardStack","popFromForwardStack","_UserQuery","UserQuery","_productBackHandoff","PRODUCT_BACK_SESSION_KEY","writeProductBackHandoff","readProductBackHandoff","_PromptEntryEmptyState","PromptEntryEmptyState","_SearchSection","SearchSection","_FeedbackBar","FeedbackBar","_Disclaimer","Disclaimer","_BottomContainer","BottomContainer","_MarkdownText","MarkdownText","_CalloutBlock","CalloutBlock","_OptimizedImage","OptimizedImage","_SectionSkeleton","SectionSkeleton","_SmartIcon","SmartIcon","_Loader","Loader","_PlacementLoader","PlacementLoader","_UnifiedLink","UnifiedLink","detectLinkType","LinkType","_table","Table","TableHeader","TableBody","TableFooter","TableHead","TableRow","TableCell","TableCaption","_userQueryEvent","WEB5_USER_QUERY_EVENT","_answerUpdatedEvent","WEB5_ANSWER_UPDATED_EVENT","_redirectEvent","WEB5_REDIRECT_EVENT","_loadClientBundle","loadClientBundle","_clientBundleOverride","getClientBundleOverride","isTrustedBundleHost","_clientBundleUrl","TEMPLATES_CDN_BASE","TEMPLATES_MANIFEST_URL","getTemplateOverride","isTemplatePickerRequested","isValidTemplateId","resolveClientBundleUrl","_mergeClientConfig","mergeClientConfig","_applyThemeOverrides","applyThemeOverrides","THEME_OVERRIDE_TOKENS","_tokenContract","THEME_TOKEN_CONTRACT","BRAND_TOKENS","EDITABLE_TOKENS","TOKEN_NAME_PATTERN","bucketOf","hostAliasFor","_themeDebug","isThemeDebugEnabled","THEME_DEBUG_KEY","THEME_DEBUG_QUERY_PARAM","_colorFormat","hexToHslTriplet","hslTripletToHex","isHslTriplet","_PlacementResponseRenderer","PlacementResponseRenderer","PlacementSmoothHeight","_buildPlacementDependencies","buildPlacementDependencies","_PlacementPayloadContext","PlacementPayloadProvider","usePlacementPayload","_unifiedMarkdownParser","UnifiedMarkdownParser","parseMarkdownToAst","parseAstToMarkdown","_markdownPreprocessor","escapeWeb5Links","fixMalformedLinks","trimTrailingWhitespace","normalizeIconUrls","decodeLinkText","preprocessMarkdown","_componentTracking","ComponentTracking","_contentKeywordMatcher","findKeywordsInContent","getContextualImageFilename","_intentExtractor","extractIntentFromMarkdown","getIntentFromMarkdown","_propsExtractor","createPageSection","generateSectionId","generateId","findImageInNode","findImageInChildren","_diagnosticsCollector","DiagnosticsCollector","_refreshPrompts","REFRESH_PROMPTS_UNTIL_KEY","REFRESH_PROMPTS_WINDOW_MS","getRefreshPromptsExpiry","shouldRefreshPrompts","enableRefreshPrompts","disableRefreshPrompts","_backendEnvironment","BACKEND_ENVIRONMENT_KEY","BACKEND_ENVIRONMENT_QUERY_PARAM","DEFAULT_BACKEND_ENVIRONMENT","getBackendEnvironment","setBackendEnvironment","usesStagingBackend","_simulation","isSimulationTraffic","_matchDebug","MATCH_DEBUG_KEY","MATCH_DEBUG_QUERY_PARAM","isMatchDebugEnabled","setMatchDebug","resetMatchDebugCache","logMatchDebug","_wixAuthFetch","createWixAuthFetch","_sessionManager","getOrCreateSessionId","getSessionId","getChatId","startNewChatId","setChatId","resetChatIdForTests","_componentParser","parseMarkdownToComponents","tryParseComponent","mergeSectionsWithStableReferences","_hostScope","WEB5_ROOT_ID","WEB5_ROOT_CLASS","WEB5_SCOPES","WEB5_SCOPE","WEB5_GLOBAL_TOKENS"],"sources":["../../src/index.ts"],"sourcesContent":["// Client IDs and experiment IDs\nexport { CLIENT_IDS, EXPERIMENT_IDS } from './clients';\n\nexport {\n type EmbedFeatureToggleResult,\n type FeatureToggleReader,\n createFeatureToggleReader,\n FeatureToggleProvider,\n useFeatureToggles,\n useFeatureToggle,\n} from './featureToggles/FeatureToggleContext';\n\n// Dev-only chrome injection contract for client packages\nexport type { DevEnvironment } from './client/devEnvironment';\n\n// Part types and helpers\nexport {\n type PartType,\n type Part,\n type HeadingPart,\n type ImagePart,\n type LinkPart,\n type ListPart,\n type ListItemPart,\n type KpiItemPart,\n type CardPart,\n type IconPart,\n type CalloutPart,\n type EntityPart,\n getPartsByType,\n getPartByRole,\n getAllByRole,\n getHeading,\n getImages,\n getLinks,\n extractContent,\n extractContentMarkdown,\n deriveRole,\n} from './parts/parts';\n\n// Component types\nexport type {\n BaseCompProps,\n SlotCompProps,\n SectionCompProps,\n SectionCompPropsWithSlot,\n TextCompProps,\n ButtonCompProps,\n ImageCompProps,\n BadgeCompProps,\n HeroButton,\n KpiItemCompProps,\n FeatureItemCompProps,\n FeatureCardCompProps,\n EntityItemData,\n EntityItem,\n GenericEntityData,\n GenericEntityCompProps,\n ComparisonRow,\n ComparisonColumn,\n AiNarrativeCompProps,\n HeroCompProps,\n HeroEntityCompProps,\n KpiCompProps,\n FeatureCardsCompProps,\n EntityCompProps,\n ComparisonCompProps,\n TextBlockCompProps,\n Component,\n BaseComponent,\n SlotComponent,\n SectionComponent,\n TextComponent,\n ButtonComponent,\n ImageComponent,\n BadgeComponent,\n KpiItemComponent,\n FeatureItemComponent,\n FeatureCardComponent,\n GenericEntityComponent,\n AiNarrativeComponent,\n ComparisonSectionComponent,\n TextBlockSectionComponent,\n HeroSectionComponent,\n HeroEntitySectionComponent,\n KpiSectionComponent,\n FeatureCardsSectionComponent,\n EntitySectionComponent,\n PropsOf,\n SectionFixture,\n CtaBannerCompProps,\n CtaBannerSectionComponent,\n CalloutCompProps,\n CalloutSectionComponent,\n NextStepsCompProps,\n NextStepsSectionComponent,\n FeatureSection9PlusCompProps,\n FeatureSection9PlusSectionComponent,\n ListItemsSectionCompProps,\n ListItemsSectionComponent,\n ErrorCompProps,\n ErrorSectionComponent,\n NullCompProps,\n NullSectionComponent,\n SolutionEntityCompProps,\n SolutionEntitySectionComponent,\n SolutionEntityData,\n BlogEntityCompProps,\n BlogEntitySectionComponent,\n BlogEntityData,\n GeneralTextCompProps,\n GeneralTextSectionComponent,\n PersonalizedNarrativeCompProps,\n PersonalizedNarrativeSectionComponent,\n} from './component/types';\n\n// Section definition\nexport type {\n SectionDefinition,\n ParseContext,\n ContextualImageResult,\n DropSection,\n} from './component/section-definition';\nexport { DROP_SECTION } from './component/section-definition';\n\n// Diagnostic types\nexport { DIAGNOSTIC_TYPES } from './component/diagnosticTypes';\nexport type { DiagnosticType } from './component/diagnosticTypes';\n\n// Image search filters\nexport {\n buildImageSearchFilter,\n type ImageSearchFilterString,\n} from './image/imageSearchFilterTypes';\nexport {\n ImageSearchFilterToken,\n backgroundFilter,\n} from './image/imageSearchFilters';\nexport type {\n ContextualImageAsset,\n ImageSourceInput,\n ResolvedImageSource,\n ResolvedImageSourceKind,\n} from './image/contextualImageTypes';\n\n// Section definition classes + createSdkRegistry\nexport {\n HeroSectionDefinition,\n HeroEntitySectionDefinition,\n KpiSectionDefinition,\n FeatureCardsSectionDefinition,\n EntitySectionDefinition,\n EntityCollectionSectionDefinition,\n ComparisonSectionDefinition,\n TextBlockSectionDefinition,\n CtaBannerSectionDefinition,\n CalloutSectionDefinition,\n NextStepsSectionDefinition,\n FeatureSection9PlusDefinition,\n ListItemsSectionDefinition,\n SkipNodesSectionDefinition,\n HtmlCommentSectionDefinition,\n SearchSectionDefinition,\n ErrorSectionDefinition,\n FallbackSectionDefinition,\n createSdkRegistry,\n} from './component/componentDefinitions';\n\n// Registry\nexport { ComponentRegistry } from './registry';\nexport type {\n SlotOptions,\n SectionOptions,\n SectionRegistration,\n SlotNode,\n SlotIntentNode,\n SectionIntentNode,\n SectionNode,\n SlotVariant,\n SectionVariant,\n RegistryCatalog,\n ActionResult,\n ActionHandler,\n} from './registry';\n\n// Pattern validator\nexport {\n validatePattern,\n validatePatternSyntax,\n validatePatternWithBlocks,\n type PatternValidationResult,\n type BlockElement,\n type EnrichedBlockElement,\n type LinkMetadata,\n type LinkAttribute,\n} from './patternValidator';\n\n// Markdown blocks\nexport {\n convertToBlockElements,\n convertToBlockElementsWithMapping,\n type BlockElementsWithMapping,\n} from './markdownBlocks';\n\n// Link types, enum & guards\nexport {\n Web5UrlType,\n type Web5AskUrl,\n type Web5EntityUrl,\n type Web5ImageUrl,\n type Web5IconUrl,\n type Web5ActionUrl,\n type Web5SearchUrl,\n type Web5Url,\n type HttpsUrl,\n type HttpUrl,\n type MailtoUrl,\n type RelativeUrl,\n type NavigableUrl,\n type ValidLinkUrl,\n type AnyKnownUrl,\n type LegacyUrl,\n isWeb5AskUrl,\n isWeb5EntityUrl,\n isWeb5ImageUrl,\n isWeb5IconUrl,\n isWeb5ActionUrl,\n isWeb5SearchUrl,\n isWeb5Url,\n isNavigableUrl,\n isValidLinkUrl,\n isLegacyUrl,\n} from './types/link-types';\n\n// Entity/URL parsing\nexport {\n parseWeb5Url,\n isValidWeb5Url,\n validateLinkUrl,\n type Web5UrlParsed,\n type Web5AskParsed,\n type Web5EntityParsed,\n type Web5ImageParsed,\n type Web5IconParsed,\n type Web5ActionParsed,\n type Web5SearchParsed,\n isEntityLink,\n parseEntityLink,\n extractProtocol,\n extractLinkMetadata,\n} from './utils/entityLinkParser';\n\n// Web5 link validation\nexport {\n findInvalidWeb5Links,\n type InvalidWeb5Link,\n} from './utils/web5LinkValidator';\n\n// Node matchers\nexport { hasImage, isHtmlComment } from './utils/nodeMatchers';\n\n// Match API\nexport {\n matchMarkdown,\n type MarkdownMatchResult,\n matchAllSections,\n type MatchAllSectionsResult,\n nodesToParts,\n} from './match';\n\n// ---------------------------------------------------------------------------\n// DI Infrastructure (moved from @wix/w5-client-circana)\n// ---------------------------------------------------------------------------\n\n// DI context and provider\nexport {\n ComponentDependenciesProvider,\n useComponentDependencies,\n type ComponentDependenciesProviderProps,\n} from './context/ComponentDependenciesContext';\n\n// Raw user query for the current response page\nexport {\n UserQueryProvider,\n useUserQuery,\n type UserQueryProviderProps,\n} from './context/UserQueryContext';\n\n// Chips context (suggestion chips shared between SearchSection and error states)\nexport {\n ChipsProvider,\n useChips,\n type SuggestionChip,\n} from './context/ChipsContext';\n\n// DI types\nexport type {\n ComponentDependencies,\n Web5LinkApi,\n ConversationApi,\n SendMessageTrackingOptions,\n SendMessageOptions,\n ComparisonSubmitPayload,\n ComparisonSelectedProduct,\n ProductComparisonSelectionState,\n ProductComparisonApi,\n EntityTransforms,\n MarkdownUtils,\n ResolveGenericEntityDataOptions,\n} from './types/dependencies';\nexport type {\n ApiPayloadItem,\n EntityTypeConfig,\n EntityConfig,\n EntityExtractionContext,\n} from './types/entity';\nexport {\n defaultExtractor,\n enrichEntitiesFromPayload,\n normalizeEntityItem,\n entityPayloadFromItems,\n mergeEntityData,\n fetchEntityListData,\n listEntityItems,\n LIST_ITEMS_ENDPOINT,\n getEntityExtractor,\n registerEntityExtractor,\n transformToSolutionEntityData,\n transformToBlogPostEntityData,\n transformToGenericEntityData,\n toMatchedOptions,\n formatMoney,\n readCurrencyCode,\n formatPriceField,\n formatProductPriceLabel,\n isProductFamilyEntityType,\n} from './entity';\nexport type {\n EntityExtractor,\n FetchEntityListDataOptions,\n ListEntityItemsOptions,\n MatchedOption,\n ProductPriceFields,\n} from './entity';\nexport {\n CALLOUT_KINDS,\n CALLOUT_SEMANTICS,\n type CalloutKind,\n type CalloutSemantic,\n type Callout,\n} from './types/callout';\n\n// Wrapper hooks\nexport { useWeb5Link } from './hooks/useWeb5Link';\nexport { useConversation } from './hooks/useConversation';\nexport { useDebugImageContext } from './hooks/useDebugImageContext';\nexport { useResolvedImageSources } from './hooks/useResolvedImageSources';\nexport { useResolveGenericEntityData } from './hooks/useResolveGenericEntityData';\nexport { useEntityTransforms } from './hooks/useEntityTransforms';\nexport { useMarkdownUtils } from './hooks/useMarkdownUtils';\nexport { useResolveShopifyEntityData } from './hooks/useResolveShopifyEntityData';\nexport { useResolveSearchSpringEntityData } from './hooks/useResolveSearchSpringEntityData';\n\n// SearchSpring\nexport {\n fetchProductsByHandles,\n fetchProductsByHandlesMap,\n transformSSProductToEntityItemData,\n} from './services/searchspring';\nexport type {\n SearchSpringConfig,\n SSProduct,\n SSSearchResponse,\n SSSizeData,\n} from './services/searchspring';\n\n// Shopify Storefront API\n// Cart actions\nexport { addToCart } from './services/cart';\n\nexport {\n ShopifyStorefrontClient,\n resolveShopifyConfig,\n resolveShopifyEntity,\n transformShopifyProduct,\n transformShopifyCollection,\n transformShopifyArticle,\n transformShopifyEntityToItemData,\n PRODUCT_BY_HANDLE_QUERY,\n COLLECTION_BY_HANDLE_QUERY,\n ARTICLE_BY_HANDLE_QUERY,\n} from './services/shopify';\nexport type {\n ShopifyStorefrontConfig,\n ShopifyProduct,\n ShopifyCollection,\n ShopifyArticle,\n ShopifyImage,\n ShopifyMoneyV2,\n} from './services/shopify';\n\n// Utilities\nexport { cn } from './lib/utils';\nexport { normalizeImageUrl, getResizedImageUrl } from './utils/image-utils';\nexport {\n analyzeBackdrop,\n computeContentBBox,\n buildProbeUrl,\n loadImagePixels,\n loadBackdropAnalysis,\n type BackdropAnalysis,\n type ContentBBox,\n type ImagePixels,\n} from './utils/imageBackdrop';\nexport { stripMarkdown } from './component/componentDefinitions/parse-utils';\n\n// Color utilities\nexport {\n type RGB,\n rgbToHsl,\n hslToRgb,\n ensureMinLightness,\n toRgb,\n deriveDarkColor,\n deriveDarkGradient,\n deriveLightColor,\n} from './color/colorUtils';\n\n// Analytics\nexport {\n pushEvent,\n pushPromptSubmit,\n pushLinkClick,\n pushError,\n pushExit,\n pushEntityFiltered,\n hasAnalyticsConsent,\n type EntityFilteredReason,\n} from './utils/analyticsEvents';\n\n// Consent gate (DL #218)\nexport {\n type ConsentState,\n type ConsentPurpose,\n type GatedPurpose,\n type ConsentSnapshot,\n type ConsentProvider,\n type GateView,\n type HostConsentInput,\n UNKNOWN_CONSENT,\n HOST_CONSENT_GLOBAL,\n transmit,\n mayTransmit,\n unlockOnUserAction,\n isUserEngaged,\n mayPersistIdentity,\n getConsentSnapshot,\n getGateView,\n subscribeToConsent,\n installConsentProvider,\n getInstalledProviderName,\n setConsentBufferLimit,\n getConsentGateStats,\n resetConsentGateForTests,\n detectConsentProvider,\n initConsentGate,\n CONSENT_OVERRIDE_KEY,\n CONSENT_OVERRIDE_QUERY_PARAM,\n getConsentOverride,\n setConsentOverride,\n createShopifyConsentProvider,\n isShopifyHost,\n createOneTrustConsentProvider,\n isOneTrustHost,\n createHostSuppliedConsentProvider,\n hasHostSuppliedConsent,\n publishHostConsent,\n} from './privacy';\n\n// Error handling types and utilities\nexport {\n type ConversationErrorType,\n ERROR_MARKDOWN,\n getErrorTypeFromStatus,\n createErrorMarkdown,\n STREAMING_TIMEOUT_MS,\n type ErrorActionType,\n type ErrorIconType,\n type ErrorTemplateButton,\n type ErrorTemplate,\n type ErrorTemplateOverrides,\n DEFAULT_ERROR_TEMPLATES,\n resolveErrorTemplate,\n} from './errors';\n\n// Navigation utilities\nexport {\n getForwardStack,\n setForwardStack,\n clearForwardStack,\n pushToForwardStack,\n popFromForwardStack,\n} from './utils/navigationStack';\n\n// UI components\nexport {\n UserQuery,\n type UserQueryProps,\n type ProductBackContext,\n} from './components/ui/UserQuery';\nexport {\n PRODUCT_BACK_SESSION_KEY,\n writeProductBackHandoff,\n readProductBackHandoff,\n type ProductBackHandoff,\n} from './utils/productBackHandoff';\nexport {\n PromptEntryEmptyState,\n type PromptEntryEmptyStateProps,\n} from './components/ui/PromptEntryEmptyState';\nexport {\n SearchSection,\n type SearchSectionProps,\n type SearchSectionHandle,\n type ScrollChip,\n} from './components/ui/SearchSection';\nexport {\n FeedbackBar,\n type FeedbackBarProps,\n type FeedbackCategoryOption,\n type FeedbackSentiment,\n type FeedbackSubmitInput,\n} from './components/ui/FeedbackBar';\nexport { Disclaimer, type DisclaimerProps } from './components/ui/Disclaimer';\nexport {\n BottomContainer,\n type BottomContainerProps,\n} from './components/ui/BottomContainer';\nexport { MarkdownText } from './components/ui/MarkdownText';\nexport {\n CalloutBlock,\n type CalloutBlockProps,\n} from './components/ui/CalloutBlock';\nexport {\n OptimizedImage,\n type OptimizedImageProps,\n} from './components/ui/OptimizedImage';\nexport {\n SectionSkeleton,\n type SectionSkeletonProps,\n} from './components/ui/SectionSkeleton';\nexport { SmartIcon, type SmartIconProps } from './components/ui/SmartIcon';\nexport { Loader, type LoaderProps } from './components/ui/Loader';\nexport {\n PlacementLoader,\n type PlacementLoaderProps,\n} from './components/ui/PlacementLoader';\nexport {\n UnifiedLink,\n detectLinkType,\n type UnifiedLinkProps,\n LinkType,\n type LinkVariant,\n} from './components/ui/UnifiedLink';\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n} from './components/ui/table';\n\n// Placement (DL #088, DL #102 behavior declarations)\nexport type {\n PlacementBehaviorConfig,\n PlacementConfig,\n PlacementPrompts,\n} from './types/placement';\n\n// Cross-bundle user-query broadcast event (DL #097 D2)\nexport {\n WEB5_USER_QUERY_EVENT,\n type Web5UserQueryEventDetail,\n type Web5UserQueryEvent,\n} from './types/userQueryEvent';\n\n// Cross-bundle answer-updated broadcast event (B2B-4121)\nexport {\n WEB5_ANSWER_UPDATED_EVENT,\n type Web5AnswerUpdatedEventDetail,\n type Web5AnswerUpdatedEvent,\n} from './types/answerUpdatedEvent';\n\n// Cross-bundle redirect broadcast event (DL #098 D3)\nexport {\n WEB5_REDIRECT_EVENT,\n type Web5RedirectEventDetail,\n type Web5RedirectEvent,\n type Web5RedirectReason,\n} from './types/redirectEvent';\n// `placementFilter` was removed — hero/next-steps exclusion is the prompt's job\n// and placement-specific designs belong as `{ placement: true }` registry\n// variants (resolved automatically via `resolveSection(type, { placement: true })`).\n\n// Client bundle loader (DL #088 D3.3)\nexport { loadClientBundle } from './client/loadClientBundle';\n\n// `?clientBundleUrl=` dev override — shared by `web50-server-ui` and\n// `embed-placement` so the trusted-host gate can't drift between them.\nexport {\n getClientBundleOverride,\n isTrustedBundleHost,\n} from './client/clientBundleOverride';\n\n// Client-UMD URL resolution (DL #094 per-msid, DL #129 per-template) and the\n// universal bundle←backend config merge (DL #129 Q3/Q7) — shared by\n// `web50-server-ui` and `embed-placement`, the two client-bundle load sites.\nexport {\n TEMPLATES_CDN_BASE,\n TEMPLATES_MANIFEST_URL,\n getTemplateOverride,\n isTemplatePickerRequested,\n isValidTemplateId,\n resolveClientBundleUrl,\n} from './client/clientBundleUrl';\nexport {\n mergeClientConfig,\n type DeepPartial,\n} from './client/mergeClientConfig';\nexport {\n applyThemeOverrides,\n THEME_OVERRIDE_TOKENS,\n type ThemeOverrideKey,\n type ThemeOverrides,\n} from './client/applyThemeOverrides';\nexport {\n THEME_TOKEN_CONTRACT,\n BRAND_TOKENS,\n EDITABLE_TOKENS,\n TOKEN_NAME_PATTERN,\n bucketOf,\n hostAliasFor,\n type TokenBucket,\n type TokenContractEntry,\n type TokenType,\n} from './theme/tokenContract';\nexport {\n isThemeDebugEnabled,\n THEME_DEBUG_KEY,\n THEME_DEBUG_QUERY_PARAM,\n type AppliedToken,\n type ThemeOverrideSource,\n} from './client/themeDebug';\nexport {\n hexToHslTriplet,\n hslTripletToHex,\n isHslTriplet,\n} from './theme/colorFormat';\n\n// Placement renderer + DI helper (DL #088 D3.2, D3.4)\nexport {\n PlacementResponseRenderer,\n PlacementSmoothHeight,\n type PlacementResponseRendererProps,\n type PlacementSection,\n type PlacementVariant,\n} from './components/placement/PlacementResponseRenderer';\nexport {\n buildPlacementDependencies,\n type BuildPlacementDependenciesOptions,\n} from './components/placement/buildPlacementDependencies';\nexport {\n PlacementPayloadProvider,\n usePlacementPayload,\n type PlacementPayloadContextValue,\n} from './components/placement/PlacementPayloadContext';\n\n// Markdown parsing utilities — lifted from web50-server-ui (DL #088 B9.1)\nexport {\n UnifiedMarkdownParser,\n parseMarkdownToAst,\n parseAstToMarkdown,\n} from './utils/unifiedMarkdownParser';\nexport {\n escapeWeb5Links,\n fixMalformedLinks,\n trimTrailingWhitespace,\n normalizeIconUrls,\n decodeLinkText,\n preprocessMarkdown,\n type PreprocessorDiagnostic,\n type PreprocessResult,\n} from './utils/markdownPreprocessor';\nexport {\n ComponentTracking,\n type ComponentNodeRange,\n} from './utils/componentTracking';\nexport {\n findKeywordsInContent,\n getContextualImageFilename,\n} from './utils/contentKeywordMatcher';\nexport {\n extractIntentFromMarkdown,\n getIntentFromMarkdown,\n type IntentInfo,\n type IntentExtractionOptions,\n type ResponseState,\n} from './utils/intentExtractor';\nexport type { PageSection } from './types/page-section';\nexport {\n createPageSection,\n generateSectionId,\n generateId,\n findImageInNode,\n findImageInChildren,\n type Product,\n type ComparisonProduct,\n type ProductComparisonSectionProps,\n} from './utils/propsExtractor';\nexport {\n DiagnosticsCollector,\n type DiagnosticEntry,\n} from './utils/diagnosticsCollector';\nexport {\n REFRESH_PROMPTS_UNTIL_KEY,\n REFRESH_PROMPTS_WINDOW_MS,\n getRefreshPromptsExpiry,\n shouldRefreshPrompts,\n enableRefreshPrompts,\n disableRefreshPrompts,\n} from './utils/refreshPrompts';\nexport {\n type BackendEnvironment,\n BACKEND_ENVIRONMENT_KEY,\n BACKEND_ENVIRONMENT_QUERY_PARAM,\n DEFAULT_BACKEND_ENVIRONMENT,\n getBackendEnvironment,\n setBackendEnvironment,\n usesStagingBackend,\n} from './utils/backendEnvironment';\nexport { isSimulationTraffic } from './utils/simulation';\nexport {\n MATCH_DEBUG_KEY,\n MATCH_DEBUG_QUERY_PARAM,\n isMatchDebugEnabled,\n setMatchDebug,\n resetMatchDebugCache,\n logMatchDebug,\n} from './utils/matchDebug';\nexport { createWixAuthFetch } from './client/wixAuthFetch';\nexport {\n getOrCreateSessionId,\n getSessionId,\n getChatId,\n startNewChatId,\n setChatId,\n resetChatIdForTests,\n} from './utils/sessionManager';\n\n// Component parser orchestrator — lifted from web50-server-ui (DL #088 B9.5)\nexport {\n parseMarkdownToComponents,\n tryParseComponent,\n mergeSectionsWithStableReferences,\n type ParseMarkdownOptions,\n type ParseMarkdownResult,\n type ComponentMatch,\n type ParserContext,\n} from './component/componentParser';\nexport type {\n ParserClientConfig,\n EnrichEntityProps,\n} from './component/parser-types';\n\n// Host-mount scope contract — shared by web50-server-ui (which stamps the\n// class and mounts), embed-placement (which mounts the same bundle elsewhere),\n// and the client CDN build (which compiles every selector against it).\nexport {\n WEB5_ROOT_ID,\n WEB5_ROOT_CLASS,\n WEB5_SCOPES,\n WEB5_SCOPE,\n WEB5_GLOBAL_TOKENS,\n type HostFitConfig,\n} from './hostScope';\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -333,6 +333,13 @@ function nodesToParts(nodes) {
|
|
|
333
333
|
const parts = [];
|
|
334
334
|
const typeCounts = {};
|
|
335
335
|
const childCursors = new Map();
|
|
336
|
+
// A paragraph carrying an inline link is unwrapped into several block
|
|
337
|
+
// elements (`t`, `link`, `t`), so its parts are siblings with nothing to say
|
|
338
|
+
// they came from one paragraph. Mark every part after the first of a given
|
|
339
|
+
// AST node, so a consumer rebuilding prose can tell "same paragraph, keep
|
|
340
|
+
// going" from "next paragraph, break". Only split nodes carry the flag —
|
|
341
|
+
// plain paragraphs, headings and images stay meta-free.
|
|
342
|
+
const seenNodes = new Set();
|
|
336
343
|
for (const block of enrichedBlocks) {
|
|
337
344
|
const astNode = nodes[block.astNodeIndex];
|
|
338
345
|
const type = blockElementToPartType(block.element);
|
|
@@ -356,6 +363,13 @@ function nodesToParts(nodes) {
|
|
|
356
363
|
markdown: source.markdown.trim()
|
|
357
364
|
};
|
|
358
365
|
}
|
|
366
|
+
if (seenNodes.has(block.astNodeIndex)) {
|
|
367
|
+
part.meta = {
|
|
368
|
+
...part.meta,
|
|
369
|
+
continuesNode: true
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
seenNodes.add(block.astNodeIndex);
|
|
359
373
|
|
|
360
374
|
// For lists whose items are all complex, the list-level content is
|
|
361
375
|
// meaningless (just a concatenation of child text). Clear it so that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_markdownBlocks","require","_parts","_parseUtils","_entityLinkParser","_linkTypes","blockElementToPartType","element","startsWith","findNode","node","type","Array","isArray","children","child","found","extractTableCellLabel","parsed","url","parseWeb5Url","Web5UrlType","ICON","alt","value","map","join","tableCellMeta","cell","label","trim","link","href","undefined","image","imageUrl","iconParsed","ENTITY","entityType","entityId","iconHint","path","resolveSource","block","astNode","cursors","n","content","extractContent","md","extractContentMarkdown","markdown","cursor","get","astNodeIndex","target","i","length","set","text","buildListItems","listNode","item","itemParts","nodesToParts","isComplex","part","role","meta","parts","buildMeta","sourceNode","level","depth","lm","linkMetadata","title","isEntity","img","src","iconImg","iconUrl","web5Match","match","items","ordered","rows","headerRow","headerCells","columnLabels","featureColumnLabel","dataRows","slice","row","cells","firstCell","values","feature","columns","raw","kind","parseCalloutTag","htmlCommentMetadata","nodes","enrichedBlocks","convertToBlockElements","typeCounts","childCursors","Map","count","source","deriveRole","allComplex","every","it","push"],"sources":["../../../src/match/astToParts.ts"],"sourcesContent":["import type { RootContent } from 'mdast';\nimport { convertToBlockElements } from '../markdownBlocks';\nimport type {\n EnrichedBlockElement,\n BlockElement,\n} from '../patternValidator/types';\nimport {\n type Part,\n type PartType,\n extractContent,\n extractContentMarkdown,\n deriveRole,\n} from '../parts/parts';\nimport { parseCalloutTag } from '../component/componentDefinitions/parse-utils';\nimport { parseWeb5Url } from '../utils/entityLinkParser';\nimport { Web5UrlType } from '../types/link-types';\n\n// ---------------------------------------------------------------------------\n// Internal helpers\n// ---------------------------------------------------------------------------\n\nfunction blockElementToPartType(element: BlockElement | string): PartType {\n if (typeof element === 'string' && element.startsWith('list{')) {\n return 'list';\n }\n switch (element) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return 'heading';\n case 't':\n return 'text';\n case 'link':\n return 'link';\n case 'image':\n return 'image';\n case 'icon':\n return 'icon';\n case 'list':\n return 'list';\n case 'table':\n return 'table';\n case 'blockquote':\n return 'blockquote';\n case 'callout':\n return 'callout';\n case 'html_comment':\n return 'htmlComment';\n case 'thematicBreak':\n return 'thematicBreak';\n default:\n return 'text';\n }\n}\n\n/** Find a descendant node of a given type */\nfunction findNode(node: any, type: string): any {\n if (!node) {\n return null;\n }\n if (node.type === type) {\n return node;\n }\n if (Array.isArray(node.children)) {\n for (const child of node.children) {\n const found = findNode(child, type);\n if (found) {\n return found;\n }\n }\n }\n return null;\n}\n\nfunction extractTableCellLabel(node: any): string {\n if (!node) {\n return '';\n }\n if (node.type === 'image') {\n const parsed =\n typeof node.url === 'string' ? parseWeb5Url(node.url) : null;\n return parsed?.type === Web5UrlType.ICON ? '' : node.alt || '';\n }\n if (typeof node.value === 'string') {\n return node.value;\n }\n if (Array.isArray(node.children)) {\n return node.children.map(extractTableCellLabel).join('');\n }\n return '';\n}\n\nfunction tableCellMeta(cell: any): {\n label: string;\n href?: string;\n entityType?: string;\n entityId?: string;\n iconHint?: string;\n} {\n const label = extractTableCellLabel(cell).trim();\n const link = findNode(cell, 'link');\n const href = typeof link?.url === 'string' ? link.url : undefined;\n const parsed = href ? parseWeb5Url(href) : null;\n const image = findNode(cell, 'image');\n const imageUrl = typeof image?.url === 'string' ? image.url : '';\n const iconParsed = imageUrl ? parseWeb5Url(imageUrl) : null;\n\n return {\n label,\n ...(href ? { href } : {}),\n ...(parsed?.type === Web5UrlType.ENTITY\n ? {\n entityType: parsed.entityType,\n entityId: parsed.entityId,\n }\n : {}),\n ...(iconParsed?.type === Web5UrlType.ICON\n ? { iconHint: iconParsed.path }\n : {}),\n };\n}\n\n// ---------------------------------------------------------------------------\n// Source resolution — maps each enriched block back to its specific AST child\n// ---------------------------------------------------------------------------\n\ninterface ResolvedSource {\n content: string;\n markdown?: string;\n node: any;\n}\n\n/**\n * For non-paragraph nodes the whole AST node is the source.\n * For paragraphs, walk children with a cursor so that each block\n * (link, image, text-run) resolves to its own specific child(ren).\n */\nfunction resolveSource(\n block: EnrichedBlockElement,\n astNode: RootContent,\n cursors: Map<number, number>,\n): ResolvedSource {\n const n = astNode as any;\n\n if (n.type !== 'paragraph') {\n const content = extractContent(astNode);\n const md = extractContentMarkdown(astNode);\n return { content, markdown: md !== content ? md : undefined, node: n };\n }\n\n const children: any[] = n.children || [];\n const cursor = cursors.get(block.astNodeIndex) || 0;\n\n if (\n block.element === 'link' ||\n block.element === 'image' ||\n block.element === 'icon'\n ) {\n const target = block.element === 'icon' ? 'image' : block.element;\n for (let i = cursor; i < children.length; i++) {\n const found =\n children[i].type === target\n ? children[i]\n : findNode(children[i], target);\n if (found) {\n cursors.set(block.astNodeIndex, i + 1);\n return { content: extractContent(found), node: found };\n }\n }\n return { content: '', node: n };\n }\n\n if (block.element === 't') {\n let text = '';\n let md = '';\n let i = cursor;\n for (; i < children.length; i++) {\n const child = children[i];\n if (child.type === 'link' || child.type === 'image') {\n break;\n }\n // Also stop at formatting wrappers that contain links/images\n if (findNode(child, 'link') || findNode(child, 'image')) {\n break;\n }\n text += extractContent(child);\n md += extractContentMarkdown(child);\n }\n cursors.set(block.astNodeIndex, i);\n // Preserve markdown when it differs from plain text (has inline formatting)\n return { content: text, markdown: md !== text ? md : undefined, node: n };\n }\n\n return { content: extractContent(astNode), node: n };\n}\n\n// ---------------------------------------------------------------------------\n// Meta extraction — uses the resolved source node, not the whole parent\n// ---------------------------------------------------------------------------\n\n/**\n * Decompose list items into ListItemParts, each carrying nested Part[] in meta.\n * Reuses nodesToParts to resolve each item's inline content (links, images, text, etc.).\n */\nfunction buildListItems(listNode: any): Part[] {\n return (listNode.children || []).map((item: any) => {\n const itemParts = nodesToParts(item.children || []);\n\n // A \"complex\" item has more than plain text (e.g. links, images, mixed\n // inline elements). In that case content is meaningless — the real data\n // lives inside the nested parts.\n const isComplex =\n itemParts.length > 1 ||\n (itemParts.length === 1 && itemParts[0].type !== 'text');\n\n const part: Part = {\n type: 'listItem',\n role: 'list-item',\n content: isComplex ? '' : extractContent(item).trim(),\n };\n if (itemParts.length > 0) {\n const markdown = extractContentMarkdown(item).trim();\n part.meta = {\n parts: itemParts,\n // Always store markdown so consumers can access the original formatting\n // (e.g. **bold** titles). For simple items, content already has plain\n // text; markdown preserves inline formatting.\n ...(markdown ? { markdown } : {}),\n };\n }\n return part;\n });\n}\n\nfunction buildMeta(\n type: PartType,\n sourceNode: any,\n block: EnrichedBlockElement,\n): Record<string, unknown> | undefined {\n if (!sourceNode) {\n return undefined;\n }\n switch (type) {\n case 'heading':\n return { level: sourceNode.depth };\n case 'link': {\n const link =\n sourceNode.type === 'link' ? sourceNode : findNode(sourceNode, 'link');\n const lm = block.linkMetadata;\n return {\n href: lm?.url || link?.url || '',\n ...(link?.title ? { title: link.title } : {}),\n ...(lm?.entityType\n ? { isEntity: true, entityType: lm.entityType }\n : {}),\n };\n }\n case 'image': {\n const img =\n sourceNode.type === 'image'\n ? sourceNode\n : findNode(sourceNode, 'image');\n return img\n ? { src: img.url || '', ...(img.alt ? { alt: img.alt } : {}) }\n : undefined;\n }\n case 'icon': {\n const iconImg =\n sourceNode.type === 'image'\n ? sourceNode\n : findNode(sourceNode, 'image');\n const iconUrl: string = iconImg?.url || '';\n const web5Match = iconUrl.match(/^web5:\\/\\/icon\\/(.+)/);\n const iconHint = web5Match?.[1] || '';\n return iconHint ? { iconHint } : undefined;\n }\n case 'list': {\n const items = buildListItems(sourceNode);\n return { ordered: !!sourceNode.ordered, items };\n }\n case 'table': {\n const rows: any[] = sourceNode.children || [];\n if (rows.length === 0) {\n return undefined;\n }\n const headerRow = rows[0];\n const headerCells: ReturnType<typeof tableCellMeta>[] = (\n headerRow?.children || []\n ).map((cell: any) => tableCellMeta(cell));\n const columnLabels = headerCells.map((cell) => cell.label);\n const featureColumnLabel = columnLabels[0] || 'Feature';\n const dataRows = rows.slice(1).map((row: any) => {\n const cells = row.children || [];\n const firstCell = tableCellMeta(cells[0]);\n const values = cells\n .slice(1)\n .map((cell: any) => extractContent(cell).trim());\n return {\n feature: firstCell.label || '',\n ...(firstCell.iconHint ? { iconHint: firstCell.iconHint } : {}),\n values,\n };\n });\n return {\n columnLabels: columnLabels.slice(1),\n columns: headerCells.slice(1),\n featureColumnLabel,\n rows: dataRows,\n };\n }\n case 'callout': {\n const raw = extractContent(sourceNode).trim();\n const { kind } = parseCalloutTag(raw);\n return kind ? { kind } : undefined;\n }\n case 'htmlComment':\n return block.htmlCommentMetadata\n ? { ...block.htmlCommentMetadata }\n : undefined;\n default:\n return undefined;\n }\n}\n\n// ---------------------------------------------------------------------------\n// Public API\n// ---------------------------------------------------------------------------\n\n/**\n * Convert markdown AST nodes into a flat array of `Part` objects.\n *\n * Each enriched block element becomes one `Part`. When a single AST node\n * (e.g. a paragraph) produces multiple blocks (link + image + text), each\n * block becomes a separate Part with content resolved from its specific\n * child within the paragraph.\n *\n * @param nodes - Markdown AST nodes (typically a slice of `root.children`)\n * @returns Ordered array of Part objects\n */\nexport function nodesToParts(nodes: RootContent[]): Part[] {\n if (!nodes || nodes.length === 0) {\n return [];\n }\n\n const enrichedBlocks = convertToBlockElements(nodes);\n const parts: Part[] = [];\n const typeCounts: Record<string, number> = {};\n const childCursors = new Map<number, number>();\n\n for (const block of enrichedBlocks) {\n const astNode = nodes[block.astNodeIndex];\n const type = blockElementToPartType(block.element);\n const count = (typeCounts[type] || 0) + 1;\n typeCounts[type] = count;\n\n const source = resolveSource(block, astNode, childCursors);\n\n const part: Part = {\n type,\n role: deriveRole(type, count),\n content: source.content.trim(),\n };\n const meta = buildMeta(type, source.node, block);\n if (meta) {\n part.meta = meta;\n }\n\n // Preserve original markdown when inline formatting exists (bold, italic, etc.)\n if (source.markdown) {\n part.meta = { ...part.meta, markdown: source.markdown.trim() };\n }\n\n // For lists whose items are all complex, the list-level content is\n // meaningless (just a concatenation of child text). Clear it so that\n // consumers rely on the structured items in meta instead.\n if (type === 'list' && meta) {\n const items = (meta.items as Part[]) || [];\n const allComplex =\n items.length > 0 && items.every((it) => it.content === '');\n if (allComplex) {\n part.content = '';\n }\n }\n\n parts.push(part);\n }\n\n return parts;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_markdownBlocks","require","_parts","_parseUtils","_entityLinkParser","_linkTypes","blockElementToPartType","element","startsWith","findNode","node","type","Array","isArray","children","child","found","extractTableCellLabel","parsed","url","parseWeb5Url","Web5UrlType","ICON","alt","value","map","join","tableCellMeta","cell","label","trim","link","href","undefined","image","imageUrl","iconParsed","ENTITY","entityType","entityId","iconHint","path","resolveSource","block","astNode","cursors","n","content","extractContent","md","extractContentMarkdown","markdown","cursor","get","astNodeIndex","target","i","length","set","text","buildListItems","listNode","item","itemParts","nodesToParts","isComplex","part","role","meta","parts","buildMeta","sourceNode","level","depth","lm","linkMetadata","title","isEntity","img","src","iconImg","iconUrl","web5Match","match","items","ordered","rows","headerRow","headerCells","columnLabels","featureColumnLabel","dataRows","slice","row","cells","firstCell","values","feature","columns","raw","kind","parseCalloutTag","htmlCommentMetadata","nodes","enrichedBlocks","convertToBlockElements","typeCounts","childCursors","Map","seenNodes","Set","count","source","deriveRole","has","continuesNode","add","allComplex","every","it","push"],"sources":["../../../src/match/astToParts.ts"],"sourcesContent":["import type { RootContent } from 'mdast';\nimport { convertToBlockElements } from '../markdownBlocks';\nimport type {\n EnrichedBlockElement,\n BlockElement,\n} from '../patternValidator/types';\nimport {\n type Part,\n type PartType,\n extractContent,\n extractContentMarkdown,\n deriveRole,\n} from '../parts/parts';\nimport { parseCalloutTag } from '../component/componentDefinitions/parse-utils';\nimport { parseWeb5Url } from '../utils/entityLinkParser';\nimport { Web5UrlType } from '../types/link-types';\n\n// ---------------------------------------------------------------------------\n// Internal helpers\n// ---------------------------------------------------------------------------\n\nfunction blockElementToPartType(element: BlockElement | string): PartType {\n if (typeof element === 'string' && element.startsWith('list{')) {\n return 'list';\n }\n switch (element) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return 'heading';\n case 't':\n return 'text';\n case 'link':\n return 'link';\n case 'image':\n return 'image';\n case 'icon':\n return 'icon';\n case 'list':\n return 'list';\n case 'table':\n return 'table';\n case 'blockquote':\n return 'blockquote';\n case 'callout':\n return 'callout';\n case 'html_comment':\n return 'htmlComment';\n case 'thematicBreak':\n return 'thematicBreak';\n default:\n return 'text';\n }\n}\n\n/** Find a descendant node of a given type */\nfunction findNode(node: any, type: string): any {\n if (!node) {\n return null;\n }\n if (node.type === type) {\n return node;\n }\n if (Array.isArray(node.children)) {\n for (const child of node.children) {\n const found = findNode(child, type);\n if (found) {\n return found;\n }\n }\n }\n return null;\n}\n\nfunction extractTableCellLabel(node: any): string {\n if (!node) {\n return '';\n }\n if (node.type === 'image') {\n const parsed =\n typeof node.url === 'string' ? parseWeb5Url(node.url) : null;\n return parsed?.type === Web5UrlType.ICON ? '' : node.alt || '';\n }\n if (typeof node.value === 'string') {\n return node.value;\n }\n if (Array.isArray(node.children)) {\n return node.children.map(extractTableCellLabel).join('');\n }\n return '';\n}\n\nfunction tableCellMeta(cell: any): {\n label: string;\n href?: string;\n entityType?: string;\n entityId?: string;\n iconHint?: string;\n} {\n const label = extractTableCellLabel(cell).trim();\n const link = findNode(cell, 'link');\n const href = typeof link?.url === 'string' ? link.url : undefined;\n const parsed = href ? parseWeb5Url(href) : null;\n const image = findNode(cell, 'image');\n const imageUrl = typeof image?.url === 'string' ? image.url : '';\n const iconParsed = imageUrl ? parseWeb5Url(imageUrl) : null;\n\n return {\n label,\n ...(href ? { href } : {}),\n ...(parsed?.type === Web5UrlType.ENTITY\n ? {\n entityType: parsed.entityType,\n entityId: parsed.entityId,\n }\n : {}),\n ...(iconParsed?.type === Web5UrlType.ICON\n ? { iconHint: iconParsed.path }\n : {}),\n };\n}\n\n// ---------------------------------------------------------------------------\n// Source resolution — maps each enriched block back to its specific AST child\n// ---------------------------------------------------------------------------\n\ninterface ResolvedSource {\n content: string;\n markdown?: string;\n node: any;\n}\n\n/**\n * For non-paragraph nodes the whole AST node is the source.\n * For paragraphs, walk children with a cursor so that each block\n * (link, image, text-run) resolves to its own specific child(ren).\n */\nfunction resolveSource(\n block: EnrichedBlockElement,\n astNode: RootContent,\n cursors: Map<number, number>,\n): ResolvedSource {\n const n = astNode as any;\n\n if (n.type !== 'paragraph') {\n const content = extractContent(astNode);\n const md = extractContentMarkdown(astNode);\n return { content, markdown: md !== content ? md : undefined, node: n };\n }\n\n const children: any[] = n.children || [];\n const cursor = cursors.get(block.astNodeIndex) || 0;\n\n if (\n block.element === 'link' ||\n block.element === 'image' ||\n block.element === 'icon'\n ) {\n const target = block.element === 'icon' ? 'image' : block.element;\n for (let i = cursor; i < children.length; i++) {\n const found =\n children[i].type === target\n ? children[i]\n : findNode(children[i], target);\n if (found) {\n cursors.set(block.astNodeIndex, i + 1);\n return { content: extractContent(found), node: found };\n }\n }\n return { content: '', node: n };\n }\n\n if (block.element === 't') {\n let text = '';\n let md = '';\n let i = cursor;\n for (; i < children.length; i++) {\n const child = children[i];\n if (child.type === 'link' || child.type === 'image') {\n break;\n }\n // Also stop at formatting wrappers that contain links/images\n if (findNode(child, 'link') || findNode(child, 'image')) {\n break;\n }\n text += extractContent(child);\n md += extractContentMarkdown(child);\n }\n cursors.set(block.astNodeIndex, i);\n // Preserve markdown when it differs from plain text (has inline formatting)\n return { content: text, markdown: md !== text ? md : undefined, node: n };\n }\n\n return { content: extractContent(astNode), node: n };\n}\n\n// ---------------------------------------------------------------------------\n// Meta extraction — uses the resolved source node, not the whole parent\n// ---------------------------------------------------------------------------\n\n/**\n * Decompose list items into ListItemParts, each carrying nested Part[] in meta.\n * Reuses nodesToParts to resolve each item's inline content (links, images, text, etc.).\n */\nfunction buildListItems(listNode: any): Part[] {\n return (listNode.children || []).map((item: any) => {\n const itemParts = nodesToParts(item.children || []);\n\n // A \"complex\" item has more than plain text (e.g. links, images, mixed\n // inline elements). In that case content is meaningless — the real data\n // lives inside the nested parts.\n const isComplex =\n itemParts.length > 1 ||\n (itemParts.length === 1 && itemParts[0].type !== 'text');\n\n const part: Part = {\n type: 'listItem',\n role: 'list-item',\n content: isComplex ? '' : extractContent(item).trim(),\n };\n if (itemParts.length > 0) {\n const markdown = extractContentMarkdown(item).trim();\n part.meta = {\n parts: itemParts,\n // Always store markdown so consumers can access the original formatting\n // (e.g. **bold** titles). For simple items, content already has plain\n // text; markdown preserves inline formatting.\n ...(markdown ? { markdown } : {}),\n };\n }\n return part;\n });\n}\n\nfunction buildMeta(\n type: PartType,\n sourceNode: any,\n block: EnrichedBlockElement,\n): Record<string, unknown> | undefined {\n if (!sourceNode) {\n return undefined;\n }\n switch (type) {\n case 'heading':\n return { level: sourceNode.depth };\n case 'link': {\n const link =\n sourceNode.type === 'link' ? sourceNode : findNode(sourceNode, 'link');\n const lm = block.linkMetadata;\n return {\n href: lm?.url || link?.url || '',\n ...(link?.title ? { title: link.title } : {}),\n ...(lm?.entityType\n ? { isEntity: true, entityType: lm.entityType }\n : {}),\n };\n }\n case 'image': {\n const img =\n sourceNode.type === 'image'\n ? sourceNode\n : findNode(sourceNode, 'image');\n return img\n ? { src: img.url || '', ...(img.alt ? { alt: img.alt } : {}) }\n : undefined;\n }\n case 'icon': {\n const iconImg =\n sourceNode.type === 'image'\n ? sourceNode\n : findNode(sourceNode, 'image');\n const iconUrl: string = iconImg?.url || '';\n const web5Match = iconUrl.match(/^web5:\\/\\/icon\\/(.+)/);\n const iconHint = web5Match?.[1] || '';\n return iconHint ? { iconHint } : undefined;\n }\n case 'list': {\n const items = buildListItems(sourceNode);\n return { ordered: !!sourceNode.ordered, items };\n }\n case 'table': {\n const rows: any[] = sourceNode.children || [];\n if (rows.length === 0) {\n return undefined;\n }\n const headerRow = rows[0];\n const headerCells: ReturnType<typeof tableCellMeta>[] = (\n headerRow?.children || []\n ).map((cell: any) => tableCellMeta(cell));\n const columnLabels = headerCells.map((cell) => cell.label);\n const featureColumnLabel = columnLabels[0] || 'Feature';\n const dataRows = rows.slice(1).map((row: any) => {\n const cells = row.children || [];\n const firstCell = tableCellMeta(cells[0]);\n const values = cells\n .slice(1)\n .map((cell: any) => extractContent(cell).trim());\n return {\n feature: firstCell.label || '',\n ...(firstCell.iconHint ? { iconHint: firstCell.iconHint } : {}),\n values,\n };\n });\n return {\n columnLabels: columnLabels.slice(1),\n columns: headerCells.slice(1),\n featureColumnLabel,\n rows: dataRows,\n };\n }\n case 'callout': {\n const raw = extractContent(sourceNode).trim();\n const { kind } = parseCalloutTag(raw);\n return kind ? { kind } : undefined;\n }\n case 'htmlComment':\n return block.htmlCommentMetadata\n ? { ...block.htmlCommentMetadata }\n : undefined;\n default:\n return undefined;\n }\n}\n\n// ---------------------------------------------------------------------------\n// Public API\n// ---------------------------------------------------------------------------\n\n/**\n * Convert markdown AST nodes into a flat array of `Part` objects.\n *\n * Each enriched block element becomes one `Part`. When a single AST node\n * (e.g. a paragraph) produces multiple blocks (link + image + text), each\n * block becomes a separate Part with content resolved from its specific\n * child within the paragraph.\n *\n * @param nodes - Markdown AST nodes (typically a slice of `root.children`)\n * @returns Ordered array of Part objects\n */\nexport function nodesToParts(nodes: RootContent[]): Part[] {\n if (!nodes || nodes.length === 0) {\n return [];\n }\n\n const enrichedBlocks = convertToBlockElements(nodes);\n const parts: Part[] = [];\n const typeCounts: Record<string, number> = {};\n const childCursors = new Map<number, number>();\n // A paragraph carrying an inline link is unwrapped into several block\n // elements (`t`, `link`, `t`), so its parts are siblings with nothing to say\n // they came from one paragraph. Mark every part after the first of a given\n // AST node, so a consumer rebuilding prose can tell \"same paragraph, keep\n // going\" from \"next paragraph, break\". Only split nodes carry the flag —\n // plain paragraphs, headings and images stay meta-free.\n const seenNodes = new Set<number>();\n\n for (const block of enrichedBlocks) {\n const astNode = nodes[block.astNodeIndex];\n const type = blockElementToPartType(block.element);\n const count = (typeCounts[type] || 0) + 1;\n typeCounts[type] = count;\n\n const source = resolveSource(block, astNode, childCursors);\n\n const part: Part = {\n type,\n role: deriveRole(type, count),\n content: source.content.trim(),\n };\n const meta = buildMeta(type, source.node, block);\n if (meta) {\n part.meta = meta;\n }\n\n // Preserve original markdown when inline formatting exists (bold, italic, etc.)\n if (source.markdown) {\n part.meta = { ...part.meta, markdown: source.markdown.trim() };\n }\n\n if (seenNodes.has(block.astNodeIndex)) {\n part.meta = { ...part.meta, continuesNode: true };\n }\n seenNodes.add(block.astNodeIndex);\n\n // For lists whose items are all complex, the list-level content is\n // meaningless (just a concatenation of child text). Clear it so that\n // consumers rely on the structured items in meta instead.\n if (type === 'list' && meta) {\n const items = (meta.items as Part[]) || [];\n const allComplex =\n items.length > 0 && items.every((it) => it.content === '');\n if (allComplex) {\n part.content = '';\n }\n }\n\n parts.push(part);\n }\n\n return parts;\n}\n"],"mappings":"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","ignoreList":[]}
|