@wix/web5-core 1.63.23 → 1.63.25
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/MetricsSectionDefinition.js +149 -0
- package/dist/cjs/component/componentDefinitions/MetricsSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/index.js +3 -1
- package/dist/cjs/component/componentDefinitions/index.js.map +1 -1
- package/dist/cjs/component/types.js.map +1 -1
- package/dist/cjs/index.js +4 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/registry/ComponentRegistry.js +35 -8
- package/dist/cjs/registry/ComponentRegistry.js.map +1 -1
- package/dist/esm/component/componentDefinitions/MetricsSectionDefinition.js +144 -0
- package/dist/esm/component/componentDefinitions/MetricsSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/index.js +3 -1
- package/dist/esm/component/componentDefinitions/index.js.map +1 -1
- package/dist/esm/component/types.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/registry/ComponentRegistry.js +35 -8
- package/dist/esm/registry/ComponentRegistry.js.map +1 -1
- package/dist/types/component/componentDefinitions/MetricsSectionDefinition.d.ts +49 -0
- package/dist/types/component/componentDefinitions/MetricsSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/index.d.ts +1 -0
- package/dist/types/component/componentDefinitions/index.d.ts.map +1 -1
- package/dist/types/component/types.d.ts +19 -0
- package/dist/types/component/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/registry/ComponentRegistry.d.ts +4 -0
- package/dist/types/registry/ComponentRegistry.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","entityHref","normalizeEntityItem","toCatalogPath","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","_answerSettledEvent","WEB5_ANSWER_SETTLED_EVENT","_redirectEvent","WEB5_REDIRECT_EVENT","_loadClientBundle","loadClientBundle","_clientBundleOverride","getClientBundleOverride","isTrustedBundleHost","_clientBundleUrl","TEMPLATES_CDN_BASE","TEMPLATES_MANIFEST_URL","getTemplateOverride","isTemplatePickerRequested","isValidTemplateId","resolveClientBundleUrl","_mergeClientConfig","mergeClientConfig","_applyThemeOverrides","applyThemeOverrides","THEME_OVERRIDE_TOKENS","_tokenContract","THEME_TOKEN_CONTRACT","BRAND_TOKENS","EDITABLE_TOKENS","TOKEN_NAME_PATTERN","bucketOf","hostAliasFor","_themeDebug","isThemeDebugEnabled","THEME_DEBUG_KEY","THEME_DEBUG_QUERY_PARAM","_colorFormat","hexToHslTriplet","hslTripletToHex","isHslTriplet","_PlacementResponseRenderer","PlacementResponseRenderer","PlacementSmoothHeight","_buildPlacementDependencies","buildPlacementDependencies","_PlacementPayloadContext","PlacementPayloadProvider","usePlacementPayload","_unifiedMarkdownParser","UnifiedMarkdownParser","parseMarkdownToAst","parseAstToMarkdown","_markdownPreprocessor","escapeWeb5Links","fixMalformedLinks","trimTrailingWhitespace","normalizeIconUrls","decodeLinkText","preprocessMarkdown","_componentTracking","ComponentTracking","_contentKeywordMatcher","findKeywordsInContent","getContextualImageFilename","_intentExtractor","extractIntentFromMarkdown","getIntentFromMarkdown","_propsExtractor","createPageSection","generateSectionId","generateId","findImageInNode","findImageInChildren","_diagnosticsCollector","DiagnosticsCollector","_refreshPrompts","REFRESH_PROMPTS_UNTIL_KEY","REFRESH_PROMPTS_WINDOW_MS","getRefreshPromptsExpiry","shouldRefreshPrompts","enableRefreshPrompts","disableRefreshPrompts","_backendEnvironment","BACKEND_ENVIRONMENT_KEY","BACKEND_ENVIRONMENT_QUERY_PARAM","DEFAULT_BACKEND_ENVIRONMENT","getBackendEnvironment","setBackendEnvironment","usesStagingBackend","_simulation","isSimulationTraffic","_matchDebug","MATCH_DEBUG_KEY","MATCH_DEBUG_QUERY_PARAM","isMatchDebugEnabled","setMatchDebug","resetMatchDebugCache","logMatchDebug","_wixAuthFetch","createWixAuthFetch","_sessionManager","getOrCreateSessionId","getSessionId","getChatId","startNewChatId","setChatId","resetChatIdForTests","_componentParser","parseMarkdownToComponents","tryParseComponent","mergeSectionsWithStableReferences","_hostScope","WEB5_ROOT_ID","WEB5_ROOT_CLASS","WEB5_SCOPES","WEB5_SCOPE","WEB5_GLOBAL_TOKENS"],"sources":["../../src/index.ts"],"sourcesContent":["// Client IDs and experiment IDs\nexport { CLIENT_IDS, EXPERIMENT_IDS } from './clients';\n\nexport {\n type EmbedFeatureToggleResult,\n type FeatureToggleReader,\n createFeatureToggleReader,\n FeatureToggleProvider,\n useFeatureToggles,\n useFeatureToggle,\n} from './featureToggles/FeatureToggleContext';\n\n// Dev-only chrome injection contract for client packages\nexport type { DevEnvironment } from './client/devEnvironment';\n\n// Part types and helpers\nexport {\n type PartType,\n type Part,\n type HeadingPart,\n type ImagePart,\n type LinkPart,\n type ListPart,\n type ListItemPart,\n type KpiItemPart,\n type CardPart,\n type IconPart,\n type CalloutPart,\n type EntityPart,\n getPartsByType,\n getPartByRole,\n getAllByRole,\n getHeading,\n getImages,\n getLinks,\n extractContent,\n extractContentMarkdown,\n deriveRole,\n} from './parts/parts';\n\n// Component types\nexport type {\n BaseCompProps,\n SlotCompProps,\n SectionCompProps,\n SectionCompPropsWithSlot,\n TextCompProps,\n ButtonCompProps,\n ImageCompProps,\n BadgeCompProps,\n HeroButton,\n KpiItemCompProps,\n FeatureItemCompProps,\n FeatureCardCompProps,\n EntityItemData,\n EntityItem,\n GenericEntityData,\n GenericEntityCompProps,\n ComparisonRow,\n ComparisonColumn,\n AiNarrativeCompProps,\n HeroCompProps,\n HeroEntityCompProps,\n KpiCompProps,\n 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 entityHref,\n normalizeEntityItem,\n toCatalogPath,\n entityPayloadFromItems,\n mergeEntityData,\n fetchEntityListData,\n listEntityItems,\n LIST_ITEMS_ENDPOINT,\n getEntityExtractor,\n registerEntityExtractor,\n transformToSolutionEntityData,\n transformToBlogPostEntityData,\n transformToGenericEntityData,\n toMatchedOptions,\n formatMoney,\n readCurrencyCode,\n formatPriceField,\n formatProductPriceLabel,\n isProductFamilyEntityType,\n} 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';\nexport {\n WEB5_ANSWER_SETTLED_EVENT,\n type Web5AnswerSettledStatus,\n type Web5AnswerSettledEventDetail,\n type Web5AnswerSettledEvent,\n} from './types/answerSettledEvent';\n\n// Cross-bundle redirect broadcast event (DL #098 D3)\nexport {\n WEB5_REDIRECT_EVENT,\n type Web5RedirectEventDetail,\n type Web5RedirectEvent,\n type Web5RedirectReason,\n} from './types/redirectEvent';\n// `placementFilter` was removed — hero/next-steps exclusion is the prompt's job\n// and placement-specific designs belong as `{ placement: true }` registry\n// variants (resolved automatically via `resolveSection(type, { placement: true })`).\n\n// Client bundle loader (DL #088 D3.3)\nexport { loadClientBundle } from './client/loadClientBundle';\n\n// `?clientBundleUrl=` dev override — shared by `web50-server-ui` and\n// `embed-placement` so the trusted-host gate can't drift between them.\nexport {\n getClientBundleOverride,\n isTrustedBundleHost,\n} from './client/clientBundleOverride';\n\n// Client-UMD URL resolution (DL #094 per-msid, DL #129 per-template) and the\n// universal bundle←backend config merge (DL #129 Q3/Q7) — shared by\n// `web50-server-ui` and `embed-placement`, the two client-bundle load sites.\nexport {\n TEMPLATES_CDN_BASE,\n TEMPLATES_MANIFEST_URL,\n getTemplateOverride,\n isTemplatePickerRequested,\n isValidTemplateId,\n resolveClientBundleUrl,\n} from './client/clientBundleUrl';\nexport {\n mergeClientConfig,\n type DeepPartial,\n} from './client/mergeClientConfig';\nexport {\n applyThemeOverrides,\n THEME_OVERRIDE_TOKENS,\n type ThemeOverrideKey,\n type ThemeOverrides,\n} from './client/applyThemeOverrides';\nexport {\n THEME_TOKEN_CONTRACT,\n BRAND_TOKENS,\n EDITABLE_TOKENS,\n TOKEN_NAME_PATTERN,\n bucketOf,\n hostAliasFor,\n type TokenBucket,\n type TokenContractEntry,\n type TokenType,\n} from './theme/tokenContract';\nexport {\n isThemeDebugEnabled,\n THEME_DEBUG_KEY,\n THEME_DEBUG_QUERY_PARAM,\n type AppliedToken,\n type ThemeOverrideSource,\n} from './client/themeDebug';\nexport {\n hexToHslTriplet,\n hslTripletToHex,\n isHslTriplet,\n} from './theme/colorFormat';\n\n// Placement renderer + DI helper (DL #088 D3.2, D3.4)\nexport {\n PlacementResponseRenderer,\n PlacementSmoothHeight,\n type PlacementResponseRendererProps,\n type PlacementSection,\n type PlacementVariant,\n} from './components/placement/PlacementResponseRenderer';\nexport {\n buildPlacementDependencies,\n type BuildPlacementDependenciesOptions,\n} from './components/placement/buildPlacementDependencies';\nexport {\n PlacementPayloadProvider,\n usePlacementPayload,\n type PlacementPayloadContextValue,\n} from './components/placement/PlacementPayloadContext';\n\n// Markdown parsing utilities — lifted from web50-server-ui (DL #088 B9.1)\nexport {\n UnifiedMarkdownParser,\n parseMarkdownToAst,\n parseAstToMarkdown,\n} from './utils/unifiedMarkdownParser';\nexport {\n escapeWeb5Links,\n fixMalformedLinks,\n trimTrailingWhitespace,\n normalizeIconUrls,\n decodeLinkText,\n preprocessMarkdown,\n type PreprocessorDiagnostic,\n type PreprocessResult,\n} from './utils/markdownPreprocessor';\nexport {\n ComponentTracking,\n type ComponentNodeRange,\n} from './utils/componentTracking';\nexport {\n findKeywordsInContent,\n getContextualImageFilename,\n} from './utils/contentKeywordMatcher';\nexport {\n extractIntentFromMarkdown,\n getIntentFromMarkdown,\n type IntentInfo,\n type IntentExtractionOptions,\n type ResponseState,\n} from './utils/intentExtractor';\nexport type { PageSection } from './types/page-section';\nexport {\n createPageSection,\n generateSectionId,\n generateId,\n findImageInNode,\n findImageInChildren,\n type Product,\n type ComparisonProduct,\n type ProductComparisonSectionProps,\n} from './utils/propsExtractor';\nexport {\n DiagnosticsCollector,\n type DiagnosticEntry,\n} from './utils/diagnosticsCollector';\nexport {\n REFRESH_PROMPTS_UNTIL_KEY,\n REFRESH_PROMPTS_WINDOW_MS,\n getRefreshPromptsExpiry,\n shouldRefreshPrompts,\n enableRefreshPrompts,\n disableRefreshPrompts,\n} from './utils/refreshPrompts';\nexport {\n type BackendEnvironment,\n BACKEND_ENVIRONMENT_KEY,\n BACKEND_ENVIRONMENT_QUERY_PARAM,\n DEFAULT_BACKEND_ENVIRONMENT,\n getBackendEnvironment,\n setBackendEnvironment,\n usesStagingBackend,\n} from './utils/backendEnvironment';\nexport { isSimulationTraffic } from './utils/simulation';\nexport {\n MATCH_DEBUG_KEY,\n MATCH_DEBUG_QUERY_PARAM,\n isMatchDebugEnabled,\n setMatchDebug,\n resetMatchDebugCache,\n logMatchDebug,\n} from './utils/matchDebug';\nexport { createWixAuthFetch } from './client/wixAuthFetch';\nexport {\n getOrCreateSessionId,\n getSessionId,\n getChatId,\n startNewChatId,\n setChatId,\n resetChatIdForTests,\n} from './utils/sessionManager';\n\n// Component parser orchestrator — lifted from web50-server-ui (DL #088 B9.5)\nexport {\n parseMarkdownToComponents,\n tryParseComponent,\n mergeSectionsWithStableReferences,\n type ParseMarkdownOptions,\n type ParseMarkdownResult,\n type ComponentMatch,\n type ParserContext,\n} from './component/componentParser';\nexport type {\n ParserClientConfig,\n EnrichEntityProps,\n} from './component/parser-types';\n\n// Host-mount scope contract — shared by web50-server-ui (which stamps the\n// class and mounts), embed-placement (which mounts the same bundle elsewhere),\n// and the client CDN build (which compiles every selector against it).\nexport {\n WEB5_ROOT_ID,\n WEB5_ROOT_CLASS,\n WEB5_SCOPES,\n WEB5_SCOPE,\n WEB5_GLOBAL_TOKENS,\n type HostFitConfig,\n} from './hostScope';\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clients","require","exports","CLIENT_IDS","EXPERIMENT_IDS","_FeatureToggleContext","createFeatureToggleReader","FeatureToggleProvider","useFeatureToggles","useFeatureToggle","_parts","getPartsByType","getPartByRole","getAllByRole","getHeading","getImages","getLinks","extractContent","extractContentMarkdown","deriveRole","_sectionDefinition","DROP_SECTION","_diagnosticTypes","DIAGNOSTIC_TYPES","_imageSearchFilterTypes","buildImageSearchFilter","_imageSearchFilters","ImageSearchFilterToken","backgroundFilter","_componentDefinitions","HeroSectionDefinition","HeroEntitySectionDefinition","KpiSectionDefinition","MetricsSectionDefinition","FeatureCardsSectionDefinition","EntitySectionDefinition","EntityCollectionSectionDefinition","ComparisonSectionDefinition","TextBlockSectionDefinition","CtaBannerSectionDefinition","CalloutSectionDefinition","NextStepsSectionDefinition","FeatureSection9PlusDefinition","ListItemsSectionDefinition","SkipNodesSectionDefinition","HtmlCommentSectionDefinition","SearchSectionDefinition","ErrorSectionDefinition","FallbackSectionDefinition","createSdkRegistry","_registry","ComponentRegistry","_patternValidator","validatePattern","validatePatternSyntax","validatePatternWithBlocks","_markdownBlocks","convertToBlockElements","convertToBlockElementsWithMapping","_linkTypes","Web5UrlType","isWeb5AskUrl","isWeb5EntityUrl","isWeb5ImageUrl","isWeb5IconUrl","isWeb5ActionUrl","isWeb5SearchUrl","isWeb5Url","isNavigableUrl","isValidLinkUrl","isLegacyUrl","_entityLinkParser","parseWeb5Url","isValidWeb5Url","validateLinkUrl","isEntityLink","parseEntityLink","extractProtocol","extractLinkMetadata","_web5LinkValidator","findInvalidWeb5Links","_nodeMatchers","hasImage","isHtmlComment","_match","matchMarkdown","matchAllSections","nodesToParts","_ComponentDependenciesContext","ComponentDependenciesProvider","useComponentDependencies","_UserQueryContext","UserQueryProvider","useUserQuery","_ChipsContext","ChipsProvider","useChips","_entity","defaultExtractor","enrichEntitiesFromPayload","entityHref","normalizeEntityItem","toCatalogPath","entityPayloadFromItems","mergeEntityData","fetchEntityListData","listEntityItems","LIST_ITEMS_ENDPOINT","getEntityExtractor","registerEntityExtractor","transformToSolutionEntityData","transformToBlogPostEntityData","transformToGenericEntityData","toMatchedOptions","formatMoney","readCurrencyCode","formatPriceField","formatProductPriceLabel","isProductFamilyEntityType","_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","_answerSettledEvent","WEB5_ANSWER_SETTLED_EVENT","_redirectEvent","WEB5_REDIRECT_EVENT","_loadClientBundle","loadClientBundle","_clientBundleOverride","getClientBundleOverride","isTrustedBundleHost","_clientBundleUrl","TEMPLATES_CDN_BASE","TEMPLATES_MANIFEST_URL","getTemplateOverride","isTemplatePickerRequested","isValidTemplateId","resolveClientBundleUrl","_mergeClientConfig","mergeClientConfig","_applyThemeOverrides","applyThemeOverrides","THEME_OVERRIDE_TOKENS","_tokenContract","THEME_TOKEN_CONTRACT","BRAND_TOKENS","EDITABLE_TOKENS","TOKEN_NAME_PATTERN","bucketOf","hostAliasFor","_themeDebug","isThemeDebugEnabled","THEME_DEBUG_KEY","THEME_DEBUG_QUERY_PARAM","_colorFormat","hexToHslTriplet","hslTripletToHex","isHslTriplet","_PlacementResponseRenderer","PlacementResponseRenderer","PlacementSmoothHeight","_buildPlacementDependencies","buildPlacementDependencies","_PlacementPayloadContext","PlacementPayloadProvider","usePlacementPayload","_unifiedMarkdownParser","UnifiedMarkdownParser","parseMarkdownToAst","parseAstToMarkdown","_markdownPreprocessor","escapeWeb5Links","fixMalformedLinks","trimTrailingWhitespace","normalizeIconUrls","decodeLinkText","preprocessMarkdown","_componentTracking","ComponentTracking","_contentKeywordMatcher","findKeywordsInContent","getContextualImageFilename","_intentExtractor","extractIntentFromMarkdown","getIntentFromMarkdown","_propsExtractor","createPageSection","generateSectionId","generateId","findImageInNode","findImageInChildren","_diagnosticsCollector","DiagnosticsCollector","_refreshPrompts","REFRESH_PROMPTS_UNTIL_KEY","REFRESH_PROMPTS_WINDOW_MS","getRefreshPromptsExpiry","shouldRefreshPrompts","enableRefreshPrompts","disableRefreshPrompts","_backendEnvironment","BACKEND_ENVIRONMENT_KEY","BACKEND_ENVIRONMENT_QUERY_PARAM","DEFAULT_BACKEND_ENVIRONMENT","getBackendEnvironment","setBackendEnvironment","usesStagingBackend","_simulation","isSimulationTraffic","_matchDebug","MATCH_DEBUG_KEY","MATCH_DEBUG_QUERY_PARAM","isMatchDebugEnabled","setMatchDebug","resetMatchDebugCache","logMatchDebug","_wixAuthFetch","createWixAuthFetch","_sessionManager","getOrCreateSessionId","getSessionId","getChatId","startNewChatId","setChatId","resetChatIdForTests","_componentParser","parseMarkdownToComponents","tryParseComponent","mergeSectionsWithStableReferences","_hostScope","WEB5_ROOT_ID","WEB5_ROOT_CLASS","WEB5_SCOPES","WEB5_SCOPE","WEB5_GLOBAL_TOKENS"],"sources":["../../src/index.ts"],"sourcesContent":["// Client IDs and experiment IDs\nexport { CLIENT_IDS, EXPERIMENT_IDS } from './clients';\n\nexport {\n type EmbedFeatureToggleResult,\n type FeatureToggleReader,\n createFeatureToggleReader,\n FeatureToggleProvider,\n useFeatureToggles,\n useFeatureToggle,\n} from './featureToggles/FeatureToggleContext';\n\n// Dev-only chrome injection contract for client packages\nexport type { DevEnvironment } from './client/devEnvironment';\n\n// Part types and helpers\nexport {\n type PartType,\n type Part,\n type HeadingPart,\n type ImagePart,\n type LinkPart,\n type ListPart,\n type ListItemPart,\n type KpiItemPart,\n type CardPart,\n type IconPart,\n type CalloutPart,\n type EntityPart,\n getPartsByType,\n getPartByRole,\n getAllByRole,\n getHeading,\n getImages,\n getLinks,\n extractContent,\n extractContentMarkdown,\n deriveRole,\n} from './parts/parts';\n\n// Component types\nexport type {\n BaseCompProps,\n SlotCompProps,\n SectionCompProps,\n SectionCompPropsWithSlot,\n TextCompProps,\n ButtonCompProps,\n ImageCompProps,\n BadgeCompProps,\n HeroButton,\n KpiItemCompProps,\n FeatureItemCompProps,\n FeatureCardCompProps,\n EntityItemData,\n EntityItem,\n GenericEntityData,\n GenericEntityCompProps,\n ComparisonRow,\n ComparisonColumn,\n AiNarrativeCompProps,\n HeroCompProps,\n HeroEntityCompProps,\n KpiCompProps,\n MetricsCompProps,\n MetricsItemCompProps,\n FeatureCardsCompProps,\n EntityCompProps,\n ComparisonCompProps,\n TextBlockCompProps,\n Component,\n BaseComponent,\n SlotComponent,\n SectionComponent,\n TextComponent,\n ButtonComponent,\n ImageComponent,\n BadgeComponent,\n KpiItemComponent,\n MetricsItemComponent,\n FeatureItemComponent,\n FeatureCardComponent,\n GenericEntityComponent,\n AiNarrativeComponent,\n ComparisonSectionComponent,\n TextBlockSectionComponent,\n HeroSectionComponent,\n HeroEntitySectionComponent,\n KpiSectionComponent,\n MetricsSectionComponent,\n FeatureCardsSectionComponent,\n EntitySectionComponent,\n PropsOf,\n SectionFixture,\n CtaBannerCompProps,\n CtaBannerSectionComponent,\n CalloutCompProps,\n CalloutSectionComponent,\n NextStepsCompProps,\n NextStepsSectionComponent,\n FeatureSection9PlusCompProps,\n FeatureSection9PlusSectionComponent,\n ListItemsSectionCompProps,\n ListItemsSectionComponent,\n ErrorCompProps,\n ErrorSectionComponent,\n NullCompProps,\n NullSectionComponent,\n SolutionEntityCompProps,\n SolutionEntitySectionComponent,\n SolutionEntityData,\n BlogEntityCompProps,\n BlogEntitySectionComponent,\n BlogEntityData,\n GeneralTextCompProps,\n GeneralTextSectionComponent,\n PersonalizedNarrativeCompProps,\n PersonalizedNarrativeSectionComponent,\n} from './component/types';\n\n// Section definition\nexport type {\n SectionDefinition,\n ParseContext,\n ContextualImageResult,\n DropSection,\n} from './component/section-definition';\nexport { DROP_SECTION } from './component/section-definition';\n\n// Diagnostic types\nexport { DIAGNOSTIC_TYPES } from './component/diagnosticTypes';\nexport type { DiagnosticType } from './component/diagnosticTypes';\n\n// Image search filters\nexport {\n buildImageSearchFilter,\n type ImageSearchFilterString,\n} from './image/imageSearchFilterTypes';\nexport {\n ImageSearchFilterToken,\n backgroundFilter,\n} from './image/imageSearchFilters';\nexport type {\n ContextualImageAsset,\n ImageSourceInput,\n ResolvedImageSource,\n ResolvedImageSourceKind,\n} from './image/contextualImageTypes';\n\n// Section definition classes + createSdkRegistry\nexport {\n HeroSectionDefinition,\n HeroEntitySectionDefinition,\n KpiSectionDefinition,\n MetricsSectionDefinition,\n FeatureCardsSectionDefinition,\n EntitySectionDefinition,\n EntityCollectionSectionDefinition,\n ComparisonSectionDefinition,\n TextBlockSectionDefinition,\n CtaBannerSectionDefinition,\n CalloutSectionDefinition,\n NextStepsSectionDefinition,\n FeatureSection9PlusDefinition,\n ListItemsSectionDefinition,\n SkipNodesSectionDefinition,\n HtmlCommentSectionDefinition,\n SearchSectionDefinition,\n ErrorSectionDefinition,\n FallbackSectionDefinition,\n createSdkRegistry,\n} from './component/componentDefinitions';\n\n// Registry\nexport { ComponentRegistry } from './registry';\nexport type {\n SlotOptions,\n SectionOptions,\n SectionRegistration,\n SlotNode,\n SlotIntentNode,\n SectionIntentNode,\n SectionNode,\n SlotVariant,\n SectionVariant,\n RegistryCatalog,\n ActionResult,\n ActionHandler,\n} from './registry';\n\n// Pattern validator\nexport {\n validatePattern,\n validatePatternSyntax,\n validatePatternWithBlocks,\n type PatternValidationResult,\n type BlockElement,\n type EnrichedBlockElement,\n type LinkMetadata,\n type LinkAttribute,\n} from './patternValidator';\n\n// Markdown blocks\nexport {\n convertToBlockElements,\n convertToBlockElementsWithMapping,\n type BlockElementsWithMapping,\n} from './markdownBlocks';\n\n// Link types, enum & guards\nexport {\n Web5UrlType,\n type Web5AskUrl,\n type Web5EntityUrl,\n type Web5ImageUrl,\n type Web5IconUrl,\n type Web5ActionUrl,\n type Web5SearchUrl,\n type Web5Url,\n type HttpsUrl,\n type HttpUrl,\n type MailtoUrl,\n type RelativeUrl,\n type NavigableUrl,\n type ValidLinkUrl,\n type AnyKnownUrl,\n type LegacyUrl,\n isWeb5AskUrl,\n isWeb5EntityUrl,\n isWeb5ImageUrl,\n isWeb5IconUrl,\n isWeb5ActionUrl,\n isWeb5SearchUrl,\n isWeb5Url,\n isNavigableUrl,\n isValidLinkUrl,\n isLegacyUrl,\n} from './types/link-types';\n\n// Entity/URL parsing\nexport {\n parseWeb5Url,\n isValidWeb5Url,\n validateLinkUrl,\n type Web5UrlParsed,\n type Web5AskParsed,\n type Web5EntityParsed,\n type Web5ImageParsed,\n type Web5IconParsed,\n type Web5ActionParsed,\n type Web5SearchParsed,\n isEntityLink,\n parseEntityLink,\n extractProtocol,\n extractLinkMetadata,\n} from './utils/entityLinkParser';\n\n// Web5 link validation\nexport {\n findInvalidWeb5Links,\n type InvalidWeb5Link,\n} from './utils/web5LinkValidator';\n\n// Node matchers\nexport { hasImage, isHtmlComment } from './utils/nodeMatchers';\n\n// Match API\nexport {\n matchMarkdown,\n type MarkdownMatchResult,\n matchAllSections,\n type MatchAllSectionsResult,\n nodesToParts,\n} from './match';\n\n// ---------------------------------------------------------------------------\n// DI Infrastructure (moved from @wix/w5-client-circana)\n// ---------------------------------------------------------------------------\n\n// DI context and provider\nexport {\n ComponentDependenciesProvider,\n useComponentDependencies,\n type ComponentDependenciesProviderProps,\n} from './context/ComponentDependenciesContext';\n\n// Raw user query for the current response page\nexport {\n UserQueryProvider,\n useUserQuery,\n type UserQueryProviderProps,\n} from './context/UserQueryContext';\n\n// Chips context (suggestion chips shared between SearchSection and error states)\nexport {\n ChipsProvider,\n useChips,\n type SuggestionChip,\n} from './context/ChipsContext';\n\n// DI types\nexport type {\n ComponentDependencies,\n Web5LinkApi,\n ConversationApi,\n SendMessageTrackingOptions,\n SendMessageOptions,\n ComparisonSubmitPayload,\n ComparisonSelectedProduct,\n ProductComparisonSelectionState,\n ProductComparisonApi,\n EntityTransforms,\n MarkdownUtils,\n ResolveGenericEntityDataOptions,\n} from './types/dependencies';\nexport type {\n ApiPayloadItem,\n EntityTypeConfig,\n EntityConfig,\n EntityExtractionContext,\n} from './types/entity';\nexport {\n defaultExtractor,\n enrichEntitiesFromPayload,\n entityHref,\n normalizeEntityItem,\n toCatalogPath,\n entityPayloadFromItems,\n mergeEntityData,\n fetchEntityListData,\n listEntityItems,\n LIST_ITEMS_ENDPOINT,\n getEntityExtractor,\n registerEntityExtractor,\n transformToSolutionEntityData,\n transformToBlogPostEntityData,\n transformToGenericEntityData,\n toMatchedOptions,\n formatMoney,\n readCurrencyCode,\n formatPriceField,\n formatProductPriceLabel,\n isProductFamilyEntityType,\n} 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';\nexport {\n WEB5_ANSWER_SETTLED_EVENT,\n type Web5AnswerSettledStatus,\n type Web5AnswerSettledEventDetail,\n type Web5AnswerSettledEvent,\n} from './types/answerSettledEvent';\n\n// Cross-bundle redirect broadcast event (DL #098 D3)\nexport {\n WEB5_REDIRECT_EVENT,\n type Web5RedirectEventDetail,\n type Web5RedirectEvent,\n type Web5RedirectReason,\n} from './types/redirectEvent';\n// `placementFilter` was removed — hero/next-steps exclusion is the prompt's job\n// and placement-specific designs belong as `{ placement: true }` registry\n// variants (resolved automatically via `resolveSection(type, { placement: true })`).\n\n// Client bundle loader (DL #088 D3.3)\nexport { loadClientBundle } from './client/loadClientBundle';\n\n// `?clientBundleUrl=` dev override — shared by `web50-server-ui` and\n// `embed-placement` so the trusted-host gate can't drift between them.\nexport {\n getClientBundleOverride,\n isTrustedBundleHost,\n} from './client/clientBundleOverride';\n\n// Client-UMD URL resolution (DL #094 per-msid, DL #129 per-template) and the\n// universal bundle←backend config merge (DL #129 Q3/Q7) — shared by\n// `web50-server-ui` and `embed-placement`, the two client-bundle load sites.\nexport {\n TEMPLATES_CDN_BASE,\n TEMPLATES_MANIFEST_URL,\n getTemplateOverride,\n isTemplatePickerRequested,\n isValidTemplateId,\n resolveClientBundleUrl,\n} from './client/clientBundleUrl';\nexport {\n mergeClientConfig,\n type DeepPartial,\n} from './client/mergeClientConfig';\nexport {\n applyThemeOverrides,\n THEME_OVERRIDE_TOKENS,\n type ThemeOverrideKey,\n type ThemeOverrides,\n} from './client/applyThemeOverrides';\nexport {\n THEME_TOKEN_CONTRACT,\n BRAND_TOKENS,\n EDITABLE_TOKENS,\n TOKEN_NAME_PATTERN,\n bucketOf,\n hostAliasFor,\n type TokenBucket,\n type TokenContractEntry,\n type TokenType,\n} from './theme/tokenContract';\nexport {\n isThemeDebugEnabled,\n THEME_DEBUG_KEY,\n THEME_DEBUG_QUERY_PARAM,\n type AppliedToken,\n type ThemeOverrideSource,\n} from './client/themeDebug';\nexport {\n hexToHslTriplet,\n hslTripletToHex,\n isHslTriplet,\n} from './theme/colorFormat';\n\n// Placement renderer + DI helper (DL #088 D3.2, D3.4)\nexport {\n PlacementResponseRenderer,\n PlacementSmoothHeight,\n type PlacementResponseRendererProps,\n type PlacementSection,\n type PlacementVariant,\n} from './components/placement/PlacementResponseRenderer';\nexport {\n buildPlacementDependencies,\n type BuildPlacementDependenciesOptions,\n} from './components/placement/buildPlacementDependencies';\nexport {\n PlacementPayloadProvider,\n usePlacementPayload,\n type PlacementPayloadContextValue,\n} from './components/placement/PlacementPayloadContext';\n\n// Markdown parsing utilities — lifted from web50-server-ui (DL #088 B9.1)\nexport {\n UnifiedMarkdownParser,\n parseMarkdownToAst,\n parseAstToMarkdown,\n} from './utils/unifiedMarkdownParser';\nexport {\n escapeWeb5Links,\n fixMalformedLinks,\n trimTrailingWhitespace,\n normalizeIconUrls,\n decodeLinkText,\n preprocessMarkdown,\n type PreprocessorDiagnostic,\n type PreprocessResult,\n} from './utils/markdownPreprocessor';\nexport {\n ComponentTracking,\n type ComponentNodeRange,\n} from './utils/componentTracking';\nexport {\n findKeywordsInContent,\n getContextualImageFilename,\n} from './utils/contentKeywordMatcher';\nexport {\n extractIntentFromMarkdown,\n getIntentFromMarkdown,\n type IntentInfo,\n type IntentExtractionOptions,\n type ResponseState,\n} from './utils/intentExtractor';\nexport type { PageSection } from './types/page-section';\nexport {\n createPageSection,\n generateSectionId,\n generateId,\n findImageInNode,\n findImageInChildren,\n type Product,\n type ComparisonProduct,\n type ProductComparisonSectionProps,\n} from './utils/propsExtractor';\nexport {\n DiagnosticsCollector,\n type DiagnosticEntry,\n} from './utils/diagnosticsCollector';\nexport {\n REFRESH_PROMPTS_UNTIL_KEY,\n REFRESH_PROMPTS_WINDOW_MS,\n getRefreshPromptsExpiry,\n shouldRefreshPrompts,\n enableRefreshPrompts,\n disableRefreshPrompts,\n} from './utils/refreshPrompts';\nexport {\n type BackendEnvironment,\n BACKEND_ENVIRONMENT_KEY,\n BACKEND_ENVIRONMENT_QUERY_PARAM,\n DEFAULT_BACKEND_ENVIRONMENT,\n getBackendEnvironment,\n setBackendEnvironment,\n usesStagingBackend,\n} from './utils/backendEnvironment';\nexport { isSimulationTraffic } from './utils/simulation';\nexport {\n MATCH_DEBUG_KEY,\n MATCH_DEBUG_QUERY_PARAM,\n isMatchDebugEnabled,\n setMatchDebug,\n resetMatchDebugCache,\n logMatchDebug,\n} from './utils/matchDebug';\nexport { createWixAuthFetch } from './client/wixAuthFetch';\nexport {\n getOrCreateSessionId,\n getSessionId,\n getChatId,\n startNewChatId,\n setChatId,\n resetChatIdForTests,\n} from './utils/sessionManager';\n\n// Component parser orchestrator — lifted from web50-server-ui (DL #088 B9.5)\nexport {\n parseMarkdownToComponents,\n tryParseComponent,\n mergeSectionsWithStableReferences,\n type ParseMarkdownOptions,\n type ParseMarkdownResult,\n type ComponentMatch,\n type ParserContext,\n} from './component/componentParser';\nexport type {\n ParserClientConfig,\n EnrichEntityProps,\n} from './component/parser-types';\n\n// Host-mount scope contract — shared by web50-server-ui (which stamps the\n// class and mounts), embed-placement (which mounts the same bundle elsewhere),\n// and the client CDN build (which compiles every selector against it).\nexport {\n WEB5_ROOT_ID,\n WEB5_ROOT_CLASS,\n WEB5_SCOPES,\n WEB5_SCOPE,\n WEB5_GLOBAL_TOKENS,\n type HostFitConfig,\n} from './hostScope';\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -25,6 +25,27 @@ function normalizeResolveOptions(intentOrOptions, semantic) {
|
|
|
25
25
|
}
|
|
26
26
|
return intentOrOptions;
|
|
27
27
|
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Intent keys are matched case-insensitively.
|
|
31
|
+
*
|
|
32
|
+
* The intent that reaches resolution has already been through
|
|
33
|
+
* `intent.trim().toUpperCase()` — in this package's `intentExtractor`, and
|
|
34
|
+
* again in `web50-server-ui`'s own copy of it, which calls it with no
|
|
35
|
+
* `validIntents` and passes the result as `providedIntent`, bypassing the
|
|
36
|
+
* validated path here. A client that registers its variants in the lowercase
|
|
37
|
+
* spelling its own taxonomy doc uses therefore matched nothing, and every
|
|
38
|
+
* intent-scoped variant silently fell through to the section default.
|
|
39
|
+
*
|
|
40
|
+
* That is not hypothetical: it was true of the whole seed registry. Measured
|
|
41
|
+
* across 11 live answers, 10 rendered the same hero whatever the intent, and
|
|
42
|
+
* one registered hero component never rendered at all. Nothing errors, nothing
|
|
43
|
+
* logs, and the page looks plausible — which is why this belongs at the Map
|
|
44
|
+
* rather than in either extractor.
|
|
45
|
+
*
|
|
46
|
+
* Normalizing on write AND on read makes the spelling a client's own business.
|
|
47
|
+
*/
|
|
48
|
+
const normalizeIntentKey = intent => intent.trim().toUpperCase();
|
|
28
49
|
class ComponentRegistry {
|
|
29
50
|
constructor(fallback) {
|
|
30
51
|
this.fallback = fallback;
|
|
@@ -151,14 +172,14 @@ class ComponentRegistry {
|
|
|
151
172
|
}
|
|
152
173
|
if (intent && semantic) {
|
|
153
174
|
var _node$byIntent;
|
|
154
|
-
const found = (_node$byIntent = node.byIntent) == null || (_node$byIntent = _node$byIntent.get(intent)) == null || (_node$byIntent = _node$byIntent.bySemantic) == null ? void 0 : _node$byIntent.get(semantic);
|
|
175
|
+
const found = (_node$byIntent = node.byIntent) == null || (_node$byIntent = _node$byIntent.get(normalizeIntentKey(intent))) == null || (_node$byIntent = _node$byIntent.bySemantic) == null ? void 0 : _node$byIntent.get(semantic);
|
|
155
176
|
if (found) {
|
|
156
177
|
return found;
|
|
157
178
|
}
|
|
158
179
|
}
|
|
159
180
|
if (intent) {
|
|
160
181
|
var _node$byIntent2;
|
|
161
|
-
const found = (_node$byIntent2 = node.byIntent) == null || (_node$byIntent2 = _node$byIntent2.get(intent)) == null ? void 0 : _node$byIntent2.default;
|
|
182
|
+
const found = (_node$byIntent2 = node.byIntent) == null || (_node$byIntent2 = _node$byIntent2.get(normalizeIntentKey(intent))) == null ? void 0 : _node$byIntent2.default;
|
|
162
183
|
if (found) {
|
|
163
184
|
return found;
|
|
164
185
|
}
|
|
@@ -229,14 +250,14 @@ class ComponentRegistry {
|
|
|
229
250
|
}
|
|
230
251
|
if (intent && semantic) {
|
|
231
252
|
var _node$byIntent3;
|
|
232
|
-
const found = (_node$byIntent3 = node.byIntent) == null || (_node$byIntent3 = _node$byIntent3.get(intent)) == null || (_node$byIntent3 = _node$byIntent3.bySemantic) == null ? void 0 : _node$byIntent3.get(semantic);
|
|
253
|
+
const found = (_node$byIntent3 = node.byIntent) == null || (_node$byIntent3 = _node$byIntent3.get(normalizeIntentKey(intent))) == null || (_node$byIntent3 = _node$byIntent3.bySemantic) == null ? void 0 : _node$byIntent3.get(semantic);
|
|
233
254
|
if (found) {
|
|
234
255
|
return found;
|
|
235
256
|
}
|
|
236
257
|
}
|
|
237
258
|
if (intent) {
|
|
238
259
|
var _node$byIntent4;
|
|
239
|
-
const found = (_node$byIntent4 = node.byIntent) == null || (_node$byIntent4 = _node$byIntent4.get(intent)) == null ? void 0 : _node$byIntent4.default;
|
|
260
|
+
const found = (_node$byIntent4 = node.byIntent) == null || (_node$byIntent4 = _node$byIntent4.get(normalizeIntentKey(intent))) == null ? void 0 : _node$byIntent4.default;
|
|
240
261
|
if (found) {
|
|
241
262
|
return found;
|
|
242
263
|
}
|
|
@@ -268,6 +289,10 @@ class ComponentRegistry {
|
|
|
268
289
|
* registered. Assembly uses this to validate an incoming intent before it
|
|
269
290
|
* becomes a resolution key, falling back to core's `DEFAULT_INTENTS` only
|
|
270
291
|
* when a client registers no intent variants at all.
|
|
292
|
+
*
|
|
293
|
+
* Returned NORMALIZED (upper case), whatever spelling the client registered,
|
|
294
|
+
* because these are the map keys. Both consumers compare case-insensitively,
|
|
295
|
+
* so the only visible difference is in a debug view.
|
|
271
296
|
*/
|
|
272
297
|
getKnownIntents() {
|
|
273
298
|
const intents = new Set();
|
|
@@ -435,10 +460,11 @@ class ComponentRegistry {
|
|
|
435
460
|
if (!node.byIntent) {
|
|
436
461
|
node.byIntent = new Map();
|
|
437
462
|
}
|
|
438
|
-
|
|
463
|
+
const key = normalizeIntentKey(intent);
|
|
464
|
+
let intentNode = node.byIntent.get(key);
|
|
439
465
|
if (!intentNode) {
|
|
440
466
|
intentNode = {};
|
|
441
|
-
node.byIntent.set(
|
|
467
|
+
node.byIntent.set(key, intentNode);
|
|
442
468
|
}
|
|
443
469
|
return intentNode;
|
|
444
470
|
}
|
|
@@ -446,10 +472,11 @@ class ComponentRegistry {
|
|
|
446
472
|
if (!node.byIntent) {
|
|
447
473
|
node.byIntent = new Map();
|
|
448
474
|
}
|
|
449
|
-
|
|
475
|
+
const key = normalizeIntentKey(intent);
|
|
476
|
+
let intentNode = node.byIntent.get(key);
|
|
450
477
|
if (!intentNode) {
|
|
451
478
|
intentNode = {};
|
|
452
|
-
node.byIntent.set(
|
|
479
|
+
node.byIntent.set(key, intentNode);
|
|
453
480
|
}
|
|
454
481
|
return intentNode;
|
|
455
482
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["normalizeResolveOptions","intentOrOptions","semantic","intent","ComponentRegistry","constructor","fallback","_defineProperty2","default","Map","registerSlot","name","component","options","node","slots","get","set","intentNode","ensureSlotIntent","bySemantic","register","definition","variants","console","warn","definitions","sectionType","registration","sections","placement","placementId","forPlacementById","forPlacement","ensureSectionIntent","registerAction","handler","actions","resolveSlot","_node$byIntent","found","byIntent","_node$byIntent2","_node$bySemantic","resolveSection","resolveSectionRegistration","resolveSectionOptions","_this$resolveSectionR","undefined","_node$forPlacementByI","byId","_node$byIntent3","_node$byIntent4","_node$bySemantic2","getAllSlots","Array","from","keys","getAllSections","getKnownIntents","intents","Set","values","_node$byIntent5","forEach","_variant","key","add","_node$byIntent6","getAllDefinitions","entries","map","getDefinition","isPlacementOnly","_node$forPlacementByI2","_node$byIntent7","_node$bySemantic3","hasPlacement","size","hasNonPlacement","getSlotVariants","push","getSectionVariants","hasAction","has","executeAction","params","success","message","getRegisteredActions","getCatalog","exports"],"sources":["../../../src/registry/ComponentRegistry.ts"],"sourcesContent":["import type { SectionDefinition } from '../component/componentDefinitions';\nimport type {\n SlotOptions,\n SectionOptions,\n SectionRegistration,\n SlotNode,\n SlotIntentNode,\n SectionNode,\n SectionIntentNode,\n SlotVariant,\n SectionVariant,\n RegistryCatalog,\n ResolveSectionOptions,\n ActionHandler,\n ActionResult,\n} from './types';\n\n/**\n * Accept the legacy positional form `(intent, semantic)` and the new\n * options-object form `({ intent, semantic, placement })`. Returns a\n * normalized `ResolveSectionOptions`.\n */\nfunction normalizeResolveOptions(\n intentOrOptions?: string | ResolveSectionOptions,\n semantic?: string,\n): ResolveSectionOptions {\n if (intentOrOptions == null) {\n return semantic ? { semantic } : {};\n }\n if (typeof intentOrOptions === 'string') {\n return semantic ? { intent: intentOrOptions, semantic } : { intent: intentOrOptions };\n }\n return intentOrOptions;\n}\n\nexport class ComponentRegistry<C> {\n private slots = new Map<string, SlotNode<C>>();\n private sections = new Map<string, SectionNode<C>>();\n private definitions = new Map<string, SectionDefinition>();\n private actions = new Map<string, ActionHandler>();\n\n constructor(private fallback: C) {}\n\n // ---------------------------------------------------------------------------\n // Registration\n // ---------------------------------------------------------------------------\n\n registerSlot(name: string, component: C, options?: SlotOptions): this {\n let node = this.slots.get(name);\n if (!node) {\n node = {};\n this.slots.set(name, node);\n }\n\n const { intent, semantic } = options ?? {};\n\n if (intent && semantic) {\n const intentNode = this.ensureSlotIntent(node, intent);\n if (!intentNode.bySemantic) {\n intentNode.bySemantic = new Map();\n }\n intentNode.bySemantic.set(semantic, component);\n } else if (intent) {\n const intentNode = this.ensureSlotIntent(node, intent);\n intentNode.default = component;\n } else if (semantic) {\n if (!node.bySemantic) {\n node.bySemantic = new Map();\n }\n node.bySemantic.set(semantic, component);\n } else {\n node.default = component;\n }\n\n return this;\n }\n\n register(\n definition: SectionDefinition,\n variants?: SectionRegistration<C>[],\n ): this {\n // Tolerate missing definitions instead of crashing app init. This\n // happens when a client UMD references a `SectionDefinition` symbol\n // that doesn't exist on the consuming bundle's `Web5Core` global\n // (e.g. UMD built against newer `web5-core` than the app bundle).\n // Without this guard a single missing export breaks every other\n // section the client tries to register.\n if (definition == null) {\n // eslint-disable-next-line no-console\n console.warn(\n '[ComponentRegistry] register() called with a null/undefined SectionDefinition — ' +\n 'likely a version skew between the client UMD and web5-core ' +\n '(an exported definition the UMD imports does not exist on this Web5Core). Skipping.',\n );\n return this;\n }\n this.definitions.set(definition.sectionType, definition);\n\n if (variants) {\n const sectionType = definition.sectionType;\n for (const registration of variants) {\n let node = this.sections.get(sectionType);\n if (!node) {\n node = {};\n this.sections.set(sectionType, node);\n }\n const { intent, semantic, placement, placementId } =\n registration.options ?? {};\n\n // Placement variants are stored on their own slot — no further\n // intent/semantic sub-variants (DL #088 D3.1). If a developer also\n // supplies intent/semantic alongside placement, those are ignored for\n // the placement registration. To register both a placement variant AND\n // an intent variant, register them as separate entries.\n if (placement) {\n // Scoped to a specific placement slot id — keyed so one section type\n // can render differently per placement. An id-less placement variant\n // remains the generic fallback.\n if (placementId) {\n if (!node.forPlacementById) {\n node.forPlacementById = new Map();\n }\n node.forPlacementById.set(placementId, registration);\n } else {\n node.forPlacement = registration;\n }\n continue;\n }\n\n if (intent && semantic) {\n const intentNode = this.ensureSectionIntent(node, intent);\n if (!intentNode.bySemantic) {\n intentNode.bySemantic = new Map();\n }\n intentNode.bySemantic.set(semantic, registration);\n } else if (intent) {\n const intentNode = this.ensureSectionIntent(node, intent);\n intentNode.default = registration;\n } else if (semantic) {\n if (!node.bySemantic) {\n node.bySemantic = new Map();\n }\n node.bySemantic.set(semantic, registration);\n } else {\n node.default = registration;\n }\n }\n }\n\n return this;\n }\n\n registerAction(name: string, handler: ActionHandler): this {\n this.actions.set(name, handler);\n return this;\n }\n\n // ---------------------------------------------------------------------------\n // Resolution\n // ---------------------------------------------------------------------------\n\n resolveSlot(name: string, intent?: string, semantic?: string): C {\n const node = this.slots.get(name);\n if (!node) {\n return this.fallback;\n }\n\n if (intent && semantic) {\n const found = node.byIntent?.get(intent)?.bySemantic?.get(semantic);\n if (found) {\n return found;\n }\n }\n if (intent) {\n const found = node.byIntent?.get(intent)?.default;\n if (found) {\n return found;\n }\n }\n if (semantic) {\n const found = node.bySemantic?.get(semantic);\n if (found) {\n return found;\n }\n }\n\n return node.default ?? this.fallback;\n }\n\n /**\n * Resolve a section component by type, optionally narrowed by intent /\n * semantic / placement.\n *\n * Accepts both call forms for backward compatibility:\n * resolveSection('hero') — default\n * resolveSection('hero', 'DISCOVERY') — intent (legacy positional)\n * resolveSection('hero', 'DISCOVERY', 'compact') — intent + semantic (legacy)\n * resolveSection('hero', { intent: 'DISCOVERY' }) — options object\n * resolveSection('hero', { placement: true }) — placement variant (DL #088 D3.1)\n * resolveSection('hero', { intent: 'X', placement: true }) — placement wins\n */\n resolveSection(sectionType: string, intent?: string, semantic?: string): C;\n resolveSection(sectionType: string, options: ResolveSectionOptions): C;\n resolveSection(\n sectionType: string,\n intentOrOptions?: string | ResolveSectionOptions,\n semantic?: string,\n ): C {\n const registration = this.resolveSectionRegistration(\n sectionType,\n normalizeResolveOptions(intentOrOptions, semantic),\n );\n return registration?.component ?? this.fallback;\n }\n\n /**\n * Resolve the options bundle associated with the matched registration.\n * Same overload semantics as `resolveSection`.\n */\n resolveSectionOptions(\n sectionType: string,\n intent?: string,\n semantic?: string,\n ): SectionOptions | undefined;\n resolveSectionOptions(\n sectionType: string,\n options: ResolveSectionOptions,\n ): SectionOptions | undefined;\n resolveSectionOptions(\n sectionType: string,\n intentOrOptions?: string | ResolveSectionOptions,\n semantic?: string,\n ): SectionOptions | undefined {\n return this.resolveSectionRegistration(\n sectionType,\n normalizeResolveOptions(intentOrOptions, semantic),\n )?.options;\n }\n\n private resolveSectionRegistration(\n sectionType: string,\n options: ResolveSectionOptions,\n ): SectionRegistration<C> | undefined {\n const node = this.sections.get(sectionType);\n if (!node) {\n return undefined;\n }\n\n const { intent, semantic, placement, placementId } = options;\n\n // Placement wins over intent / semantic when requested AND a placement\n // variant is registered for this section (DL #088 D3.1). Cascade:\n // id-scoped variant → generic placement variant → regular chain.\n if (placement) {\n if (placementId) {\n const byId = node.forPlacementById?.get(placementId);\n if (byId) {\n return byId;\n }\n }\n if (node.forPlacement) {\n return node.forPlacement;\n }\n }\n\n if (intent && semantic) {\n const found = node.byIntent?.get(intent as string)?.bySemantic?.get(semantic);\n if (found) {\n return found;\n }\n }\n if (intent) {\n const found = node.byIntent?.get(intent as string)?.default;\n if (found) {\n return found;\n }\n }\n if (semantic) {\n const found = node.bySemantic?.get(semantic);\n if (found) {\n return found;\n }\n }\n\n return node.default;\n }\n\n // ---------------------------------------------------------------------------\n // Introspection\n // ---------------------------------------------------------------------------\n\n getAllSlots(): string[] {\n return Array.from(this.slots.keys());\n }\n\n getAllSections(): string[] {\n return Array.from(this.sections.keys());\n }\n\n /**\n * Every intent that has at least one registered slot or section variant —\n * i.e. the client's own intent list, derived from what it actually\n * registered. Assembly uses this to validate an incoming intent before it\n * becomes a resolution key, falling back to core's `DEFAULT_INTENTS` only\n * when a client registers no intent variants at all.\n */\n getKnownIntents(): string[] {\n const intents = new Set<string>();\n for (const node of this.slots.values()) {\n node.byIntent?.forEach((_variant, key) => intents.add(key));\n }\n for (const node of this.sections.values()) {\n node.byIntent?.forEach((_variant, key) => intents.add(key));\n }\n return Array.from(intents);\n }\n\n getAllDefinitions(): {\n sectionType: string;\n definition: SectionDefinition;\n }[] {\n return Array.from(this.definitions.entries()).map(\n ([sectionType, definition]) => ({\n sectionType,\n definition,\n }),\n );\n }\n\n getDefinition(sectionType: string): SectionDefinition | undefined {\n return this.definitions.get(sectionType);\n }\n\n /**\n * True when a section type was registered with placement variant(s) only —\n * a `{ placement: true }` (or `placementId`) registration and NO\n * non-placement variant (default / intent / semantic). Such a section is\n * meaningful only inside a placement render; the parser skips its definition\n * when matching in a non-placement context (the main app), so its markdown\n * falls through to the generic sections there.\n *\n * A definition registered with no variants at all (structural defs like\n * `skipNodes` / `htmlComment`) is NOT placement-only — it still matches\n * everywhere.\n */\n isPlacementOnly(sectionType: string): boolean {\n const node = this.sections.get(sectionType);\n if (!node) {\n return false;\n }\n const hasPlacement =\n node.forPlacement != null || (node.forPlacementById?.size ?? 0) > 0;\n const hasNonPlacement =\n node.default != null ||\n (node.byIntent?.size ?? 0) > 0 ||\n (node.bySemantic?.size ?? 0) > 0;\n return hasPlacement && !hasNonPlacement;\n }\n\n getSlotVariants(name: string): SlotVariant[] {\n const node = this.slots.get(name);\n if (!node) {\n return [];\n }\n\n const variants: SlotVariant[] = [];\n if (node.default) {\n variants.push({});\n }\n\n if (node.bySemantic) {\n for (const semantic of node.bySemantic.keys()) {\n variants.push({ semantic });\n }\n }\n\n if (node.byIntent) {\n for (const [intent, intentNode] of node.byIntent) {\n if (intentNode.default) {\n variants.push({ intent });\n }\n if (intentNode.bySemantic) {\n for (const semantic of intentNode.bySemantic.keys()) {\n variants.push({ intent, semantic });\n }\n }\n }\n }\n\n return variants;\n }\n\n getSectionVariants(sectionType: string): SectionVariant[] {\n const node = this.sections.get(sectionType);\n if (!node) {\n return [];\n }\n\n const variants: SectionVariant[] = [];\n if (node.default) {\n variants.push({});\n }\n\n if (node.bySemantic) {\n for (const semantic of node.bySemantic.keys()) {\n variants.push({ semantic });\n }\n }\n\n if (node.byIntent) {\n for (const [intent, intentNode] of node.byIntent) {\n if (intentNode.default) {\n variants.push({ intent });\n }\n if (intentNode.bySemantic) {\n for (const semantic of intentNode.bySemantic.keys()) {\n variants.push({ intent, semantic });\n }\n }\n }\n }\n\n if (node.forPlacement) {\n variants.push({ placement: true });\n }\n\n if (node.forPlacementById) {\n for (const placementId of node.forPlacementById.keys()) {\n variants.push({ placement: true, placementId });\n }\n }\n\n return variants;\n }\n\n hasAction(name: string): boolean {\n return this.actions.has(name);\n }\n\n async executeAction(\n name: string,\n params: Record<string, string>,\n ): Promise<ActionResult> {\n const handler = this.actions.get(name);\n if (!handler) {\n console.warn(`[Action] No handler for: \"${name}\"`);\n return { success: false, message: `Unknown action: ${name}` };\n }\n return handler(params);\n }\n\n getRegisteredActions(): string[] {\n return Array.from(this.actions.keys());\n }\n\n getCatalog(): RegistryCatalog {\n return {\n slots: this.getAllSlots().map((name) => ({\n name,\n variants: this.getSlotVariants(name),\n })),\n sections: this.getAllSections().map((sectionType) => ({\n name: sectionType,\n variants: this.getSectionVariants(sectionType),\n })),\n definitions: this.getAllDefinitions(),\n };\n }\n\n // ---------------------------------------------------------------------------\n // Private helpers\n // ---------------------------------------------------------------------------\n\n private ensureSectionIntent(\n node: SectionNode<C>,\n intent: string,\n ): SectionIntentNode<C> {\n if (!node.byIntent) {\n node.byIntent = new Map();\n }\n let intentNode = node.byIntent.get(intent);\n if (!intentNode) {\n intentNode = {};\n node.byIntent.set(intent, intentNode);\n }\n return intentNode;\n }\n\n private ensureSlotIntent(\n node: SlotNode<C>,\n intent: string,\n ): SlotIntentNode<C> {\n if (!node.byIntent) {\n node.byIntent = new Map();\n }\n let intentNode = node.byIntent.get(intent);\n if (!intentNode) {\n intentNode = {};\n node.byIntent.set(intent, intentNode);\n }\n return intentNode;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["normalizeResolveOptions","intentOrOptions","semantic","intent","normalizeIntentKey","trim","toUpperCase","ComponentRegistry","constructor","fallback","_defineProperty2","default","Map","registerSlot","name","component","options","node","slots","get","set","intentNode","ensureSlotIntent","bySemantic","register","definition","variants","console","warn","definitions","sectionType","registration","sections","placement","placementId","forPlacementById","forPlacement","ensureSectionIntent","registerAction","handler","actions","resolveSlot","_node$byIntent","found","byIntent","_node$byIntent2","_node$bySemantic","resolveSection","resolveSectionRegistration","resolveSectionOptions","_this$resolveSectionR","undefined","_node$forPlacementByI","byId","_node$byIntent3","_node$byIntent4","_node$bySemantic2","getAllSlots","Array","from","keys","getAllSections","getKnownIntents","intents","Set","values","_node$byIntent5","forEach","_variant","key","add","_node$byIntent6","getAllDefinitions","entries","map","getDefinition","isPlacementOnly","_node$forPlacementByI2","_node$byIntent7","_node$bySemantic3","hasPlacement","size","hasNonPlacement","getSlotVariants","push","getSectionVariants","hasAction","has","executeAction","params","success","message","getRegisteredActions","getCatalog","exports"],"sources":["../../../src/registry/ComponentRegistry.ts"],"sourcesContent":["import type { SectionDefinition } from '../component/componentDefinitions';\nimport type {\n SlotOptions,\n SectionOptions,\n SectionRegistration,\n SlotNode,\n SlotIntentNode,\n SectionNode,\n SectionIntentNode,\n SlotVariant,\n SectionVariant,\n RegistryCatalog,\n ResolveSectionOptions,\n ActionHandler,\n ActionResult,\n} from './types';\n\n/**\n * Accept the legacy positional form `(intent, semantic)` and the new\n * options-object form `({ intent, semantic, placement })`. Returns a\n * normalized `ResolveSectionOptions`.\n */\nfunction normalizeResolveOptions(\n intentOrOptions?: string | ResolveSectionOptions,\n semantic?: string,\n): ResolveSectionOptions {\n if (intentOrOptions == null) {\n return semantic ? { semantic } : {};\n }\n if (typeof intentOrOptions === 'string') {\n return semantic ? { intent: intentOrOptions, semantic } : { intent: intentOrOptions };\n }\n return intentOrOptions;\n}\n\n/**\n * Intent keys are matched case-insensitively.\n *\n * The intent that reaches resolution has already been through\n * `intent.trim().toUpperCase()` — in this package's `intentExtractor`, and\n * again in `web50-server-ui`'s own copy of it, which calls it with no\n * `validIntents` and passes the result as `providedIntent`, bypassing the\n * validated path here. A client that registers its variants in the lowercase\n * spelling its own taxonomy doc uses therefore matched nothing, and every\n * intent-scoped variant silently fell through to the section default.\n *\n * That is not hypothetical: it was true of the whole seed registry. Measured\n * across 11 live answers, 10 rendered the same hero whatever the intent, and\n * one registered hero component never rendered at all. Nothing errors, nothing\n * logs, and the page looks plausible — which is why this belongs at the Map\n * rather than in either extractor.\n *\n * Normalizing on write AND on read makes the spelling a client's own business.\n */\nconst normalizeIntentKey = (intent: string): string =>\n intent.trim().toUpperCase();\n\nexport class ComponentRegistry<C> {\n private slots = new Map<string, SlotNode<C>>();\n private sections = new Map<string, SectionNode<C>>();\n private definitions = new Map<string, SectionDefinition>();\n private actions = new Map<string, ActionHandler>();\n\n constructor(private fallback: C) {}\n\n // ---------------------------------------------------------------------------\n // Registration\n // ---------------------------------------------------------------------------\n\n registerSlot(name: string, component: C, options?: SlotOptions): this {\n let node = this.slots.get(name);\n if (!node) {\n node = {};\n this.slots.set(name, node);\n }\n\n const { intent, semantic } = options ?? {};\n\n if (intent && semantic) {\n const intentNode = this.ensureSlotIntent(node, intent);\n if (!intentNode.bySemantic) {\n intentNode.bySemantic = new Map();\n }\n intentNode.bySemantic.set(semantic, component);\n } else if (intent) {\n const intentNode = this.ensureSlotIntent(node, intent);\n intentNode.default = component;\n } else if (semantic) {\n if (!node.bySemantic) {\n node.bySemantic = new Map();\n }\n node.bySemantic.set(semantic, component);\n } else {\n node.default = component;\n }\n\n return this;\n }\n\n register(\n definition: SectionDefinition,\n variants?: SectionRegistration<C>[],\n ): this {\n // Tolerate missing definitions instead of crashing app init. This\n // happens when a client UMD references a `SectionDefinition` symbol\n // that doesn't exist on the consuming bundle's `Web5Core` global\n // (e.g. UMD built against newer `web5-core` than the app bundle).\n // Without this guard a single missing export breaks every other\n // section the client tries to register.\n if (definition == null) {\n // eslint-disable-next-line no-console\n console.warn(\n '[ComponentRegistry] register() called with a null/undefined SectionDefinition — ' +\n 'likely a version skew between the client UMD and web5-core ' +\n '(an exported definition the UMD imports does not exist on this Web5Core). Skipping.',\n );\n return this;\n }\n this.definitions.set(definition.sectionType, definition);\n\n if (variants) {\n const sectionType = definition.sectionType;\n for (const registration of variants) {\n let node = this.sections.get(sectionType);\n if (!node) {\n node = {};\n this.sections.set(sectionType, node);\n }\n const { intent, semantic, placement, placementId } =\n registration.options ?? {};\n\n // Placement variants are stored on their own slot — no further\n // intent/semantic sub-variants (DL #088 D3.1). If a developer also\n // supplies intent/semantic alongside placement, those are ignored for\n // the placement registration. To register both a placement variant AND\n // an intent variant, register them as separate entries.\n if (placement) {\n // Scoped to a specific placement slot id — keyed so one section type\n // can render differently per placement. An id-less placement variant\n // remains the generic fallback.\n if (placementId) {\n if (!node.forPlacementById) {\n node.forPlacementById = new Map();\n }\n node.forPlacementById.set(placementId, registration);\n } else {\n node.forPlacement = registration;\n }\n continue;\n }\n\n if (intent && semantic) {\n const intentNode = this.ensureSectionIntent(node, intent);\n if (!intentNode.bySemantic) {\n intentNode.bySemantic = new Map();\n }\n intentNode.bySemantic.set(semantic, registration);\n } else if (intent) {\n const intentNode = this.ensureSectionIntent(node, intent);\n intentNode.default = registration;\n } else if (semantic) {\n if (!node.bySemantic) {\n node.bySemantic = new Map();\n }\n node.bySemantic.set(semantic, registration);\n } else {\n node.default = registration;\n }\n }\n }\n\n return this;\n }\n\n registerAction(name: string, handler: ActionHandler): this {\n this.actions.set(name, handler);\n return this;\n }\n\n // ---------------------------------------------------------------------------\n // Resolution\n // ---------------------------------------------------------------------------\n\n resolveSlot(name: string, intent?: string, semantic?: string): C {\n const node = this.slots.get(name);\n if (!node) {\n return this.fallback;\n }\n\n if (intent && semantic) {\n const found = node.byIntent\n ?.get(normalizeIntentKey(intent))\n ?.bySemantic?.get(semantic);\n if (found) {\n return found;\n }\n }\n if (intent) {\n const found = node.byIntent?.get(normalizeIntentKey(intent))?.default;\n if (found) {\n return found;\n }\n }\n if (semantic) {\n const found = node.bySemantic?.get(semantic);\n if (found) {\n return found;\n }\n }\n\n return node.default ?? this.fallback;\n }\n\n /**\n * Resolve a section component by type, optionally narrowed by intent /\n * semantic / placement.\n *\n * Accepts both call forms for backward compatibility:\n * resolveSection('hero') — default\n * resolveSection('hero', 'DISCOVERY') — intent (legacy positional)\n * resolveSection('hero', 'DISCOVERY', 'compact') — intent + semantic (legacy)\n * resolveSection('hero', { intent: 'DISCOVERY' }) — options object\n * resolveSection('hero', { placement: true }) — placement variant (DL #088 D3.1)\n * resolveSection('hero', { intent: 'X', placement: true }) — placement wins\n */\n resolveSection(sectionType: string, intent?: string, semantic?: string): C;\n resolveSection(sectionType: string, options: ResolveSectionOptions): C;\n resolveSection(\n sectionType: string,\n intentOrOptions?: string | ResolveSectionOptions,\n semantic?: string,\n ): C {\n const registration = this.resolveSectionRegistration(\n sectionType,\n normalizeResolveOptions(intentOrOptions, semantic),\n );\n return registration?.component ?? this.fallback;\n }\n\n /**\n * Resolve the options bundle associated with the matched registration.\n * Same overload semantics as `resolveSection`.\n */\n resolveSectionOptions(\n sectionType: string,\n intent?: string,\n semantic?: string,\n ): SectionOptions | undefined;\n resolveSectionOptions(\n sectionType: string,\n options: ResolveSectionOptions,\n ): SectionOptions | undefined;\n resolveSectionOptions(\n sectionType: string,\n intentOrOptions?: string | ResolveSectionOptions,\n semantic?: string,\n ): SectionOptions | undefined {\n return this.resolveSectionRegistration(\n sectionType,\n normalizeResolveOptions(intentOrOptions, semantic),\n )?.options;\n }\n\n private resolveSectionRegistration(\n sectionType: string,\n options: ResolveSectionOptions,\n ): SectionRegistration<C> | undefined {\n const node = this.sections.get(sectionType);\n if (!node) {\n return undefined;\n }\n\n const { intent, semantic, placement, placementId } = options;\n\n // Placement wins over intent / semantic when requested AND a placement\n // variant is registered for this section (DL #088 D3.1). Cascade:\n // id-scoped variant → generic placement variant → regular chain.\n if (placement) {\n if (placementId) {\n const byId = node.forPlacementById?.get(placementId);\n if (byId) {\n return byId;\n }\n }\n if (node.forPlacement) {\n return node.forPlacement;\n }\n }\n\n if (intent && semantic) {\n const found = node.byIntent\n ?.get(normalizeIntentKey(intent as string))\n ?.bySemantic?.get(semantic);\n if (found) {\n return found;\n }\n }\n if (intent) {\n const found = node.byIntent?.get(normalizeIntentKey(intent as string))\n ?.default;\n if (found) {\n return found;\n }\n }\n if (semantic) {\n const found = node.bySemantic?.get(semantic);\n if (found) {\n return found;\n }\n }\n\n return node.default;\n }\n\n // ---------------------------------------------------------------------------\n // Introspection\n // ---------------------------------------------------------------------------\n\n getAllSlots(): string[] {\n return Array.from(this.slots.keys());\n }\n\n getAllSections(): string[] {\n return Array.from(this.sections.keys());\n }\n\n /**\n * Every intent that has at least one registered slot or section variant —\n * i.e. the client's own intent list, derived from what it actually\n * registered. Assembly uses this to validate an incoming intent before it\n * becomes a resolution key, falling back to core's `DEFAULT_INTENTS` only\n * when a client registers no intent variants at all.\n *\n * Returned NORMALIZED (upper case), whatever spelling the client registered,\n * because these are the map keys. Both consumers compare case-insensitively,\n * so the only visible difference is in a debug view.\n */\n getKnownIntents(): string[] {\n const intents = new Set<string>();\n for (const node of this.slots.values()) {\n node.byIntent?.forEach((_variant, key) => intents.add(key));\n }\n for (const node of this.sections.values()) {\n node.byIntent?.forEach((_variant, key) => intents.add(key));\n }\n return Array.from(intents);\n }\n\n getAllDefinitions(): {\n sectionType: string;\n definition: SectionDefinition;\n }[] {\n return Array.from(this.definitions.entries()).map(\n ([sectionType, definition]) => ({\n sectionType,\n definition,\n }),\n );\n }\n\n getDefinition(sectionType: string): SectionDefinition | undefined {\n return this.definitions.get(sectionType);\n }\n\n /**\n * True when a section type was registered with placement variant(s) only —\n * a `{ placement: true }` (or `placementId`) registration and NO\n * non-placement variant (default / intent / semantic). Such a section is\n * meaningful only inside a placement render; the parser skips its definition\n * when matching in a non-placement context (the main app), so its markdown\n * falls through to the generic sections there.\n *\n * A definition registered with no variants at all (structural defs like\n * `skipNodes` / `htmlComment`) is NOT placement-only — it still matches\n * everywhere.\n */\n isPlacementOnly(sectionType: string): boolean {\n const node = this.sections.get(sectionType);\n if (!node) {\n return false;\n }\n const hasPlacement =\n node.forPlacement != null || (node.forPlacementById?.size ?? 0) > 0;\n const hasNonPlacement =\n node.default != null ||\n (node.byIntent?.size ?? 0) > 0 ||\n (node.bySemantic?.size ?? 0) > 0;\n return hasPlacement && !hasNonPlacement;\n }\n\n getSlotVariants(name: string): SlotVariant[] {\n const node = this.slots.get(name);\n if (!node) {\n return [];\n }\n\n const variants: SlotVariant[] = [];\n if (node.default) {\n variants.push({});\n }\n\n if (node.bySemantic) {\n for (const semantic of node.bySemantic.keys()) {\n variants.push({ semantic });\n }\n }\n\n if (node.byIntent) {\n for (const [intent, intentNode] of node.byIntent) {\n if (intentNode.default) {\n variants.push({ intent });\n }\n if (intentNode.bySemantic) {\n for (const semantic of intentNode.bySemantic.keys()) {\n variants.push({ intent, semantic });\n }\n }\n }\n }\n\n return variants;\n }\n\n getSectionVariants(sectionType: string): SectionVariant[] {\n const node = this.sections.get(sectionType);\n if (!node) {\n return [];\n }\n\n const variants: SectionVariant[] = [];\n if (node.default) {\n variants.push({});\n }\n\n if (node.bySemantic) {\n for (const semantic of node.bySemantic.keys()) {\n variants.push({ semantic });\n }\n }\n\n if (node.byIntent) {\n for (const [intent, intentNode] of node.byIntent) {\n if (intentNode.default) {\n variants.push({ intent });\n }\n if (intentNode.bySemantic) {\n for (const semantic of intentNode.bySemantic.keys()) {\n variants.push({ intent, semantic });\n }\n }\n }\n }\n\n if (node.forPlacement) {\n variants.push({ placement: true });\n }\n\n if (node.forPlacementById) {\n for (const placementId of node.forPlacementById.keys()) {\n variants.push({ placement: true, placementId });\n }\n }\n\n return variants;\n }\n\n hasAction(name: string): boolean {\n return this.actions.has(name);\n }\n\n async executeAction(\n name: string,\n params: Record<string, string>,\n ): Promise<ActionResult> {\n const handler = this.actions.get(name);\n if (!handler) {\n console.warn(`[Action] No handler for: \"${name}\"`);\n return { success: false, message: `Unknown action: ${name}` };\n }\n return handler(params);\n }\n\n getRegisteredActions(): string[] {\n return Array.from(this.actions.keys());\n }\n\n getCatalog(): RegistryCatalog {\n return {\n slots: this.getAllSlots().map((name) => ({\n name,\n variants: this.getSlotVariants(name),\n })),\n sections: this.getAllSections().map((sectionType) => ({\n name: sectionType,\n variants: this.getSectionVariants(sectionType),\n })),\n definitions: this.getAllDefinitions(),\n };\n }\n\n // ---------------------------------------------------------------------------\n // Private helpers\n // ---------------------------------------------------------------------------\n\n private ensureSectionIntent(\n node: SectionNode<C>,\n intent: string,\n ): SectionIntentNode<C> {\n if (!node.byIntent) {\n node.byIntent = new Map();\n }\n const key = normalizeIntentKey(intent);\n let intentNode = node.byIntent.get(key);\n if (!intentNode) {\n intentNode = {};\n node.byIntent.set(key, intentNode);\n }\n return intentNode;\n }\n\n private ensureSlotIntent(\n node: SlotNode<C>,\n intent: string,\n ): SlotIntentNode<C> {\n if (!node.byIntent) {\n node.byIntent = new Map();\n }\n const key = normalizeIntentKey(intent);\n let intentNode = node.byIntent.get(key);\n if (!intentNode) {\n intentNode = {};\n node.byIntent.set(key, intentNode);\n }\n return intentNode;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|