@wix/web5-core 1.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (947) hide show
  1. package/README.md +8 -0
  2. package/dist/cjs/client/clientBundleOverride.js +48 -0
  3. package/dist/cjs/client/clientBundleOverride.js.map +1 -0
  4. package/dist/cjs/client/devEnvironment.js +4 -0
  5. package/dist/cjs/client/devEnvironment.js.map +1 -0
  6. package/dist/cjs/client/loadClientBundle.js +85 -0
  7. package/dist/cjs/client/loadClientBundle.js.map +1 -0
  8. package/dist/cjs/client/wixAuthFetch.js +73 -0
  9. package/dist/cjs/client/wixAuthFetch.js.map +1 -0
  10. package/dist/cjs/clients.js +15 -0
  11. package/dist/cjs/clients.js.map +1 -0
  12. package/dist/cjs/color/colorUtils.js +126 -0
  13. package/dist/cjs/color/colorUtils.js.map +1 -0
  14. package/dist/cjs/component/componentDefinitions/CalloutSectionDefinition.js +67 -0
  15. package/dist/cjs/component/componentDefinitions/CalloutSectionDefinition.js.map +1 -0
  16. package/dist/cjs/component/componentDefinitions/ComparisonSectionDefinition.js +141 -0
  17. package/dist/cjs/component/componentDefinitions/ComparisonSectionDefinition.js.map +1 -0
  18. package/dist/cjs/component/componentDefinitions/CtaBannerSectionDefinition.js +85 -0
  19. package/dist/cjs/component/componentDefinitions/CtaBannerSectionDefinition.js.map +1 -0
  20. package/dist/cjs/component/componentDefinitions/EntitySectionDefinition.js +171 -0
  21. package/dist/cjs/component/componentDefinitions/EntitySectionDefinition.js.map +1 -0
  22. package/dist/cjs/component/componentDefinitions/ErrorSectionDefinition.js +81 -0
  23. package/dist/cjs/component/componentDefinitions/ErrorSectionDefinition.js.map +1 -0
  24. package/dist/cjs/component/componentDefinitions/FallbackSectionDefinition.js +29 -0
  25. package/dist/cjs/component/componentDefinitions/FallbackSectionDefinition.js.map +1 -0
  26. package/dist/cjs/component/componentDefinitions/FeatureCardsSectionDefinition.js +119 -0
  27. package/dist/cjs/component/componentDefinitions/FeatureCardsSectionDefinition.js.map +1 -0
  28. package/dist/cjs/component/componentDefinitions/FeatureSection9PlusDefinition.js +75 -0
  29. package/dist/cjs/component/componentDefinitions/FeatureSection9PlusDefinition.js.map +1 -0
  30. package/dist/cjs/component/componentDefinitions/HeroEntitySectionDefinition.js +124 -0
  31. package/dist/cjs/component/componentDefinitions/HeroEntitySectionDefinition.js.map +1 -0
  32. package/dist/cjs/component/componentDefinitions/HeroSectionDefinition.js +209 -0
  33. package/dist/cjs/component/componentDefinitions/HeroSectionDefinition.js.map +1 -0
  34. package/dist/cjs/component/componentDefinitions/HtmlCommentSectionDefinition.js +19 -0
  35. package/dist/cjs/component/componentDefinitions/HtmlCommentSectionDefinition.js.map +1 -0
  36. package/dist/cjs/component/componentDefinitions/KpiSectionDefinition.js +114 -0
  37. package/dist/cjs/component/componentDefinitions/KpiSectionDefinition.js.map +1 -0
  38. package/dist/cjs/component/componentDefinitions/NextStepsSectionDefinition.js +136 -0
  39. package/dist/cjs/component/componentDefinitions/NextStepsSectionDefinition.js.map +1 -0
  40. package/dist/cjs/component/componentDefinitions/SearchSectionDefinition.js +18 -0
  41. package/dist/cjs/component/componentDefinitions/SearchSectionDefinition.js.map +1 -0
  42. package/dist/cjs/component/componentDefinitions/SkipNodesSectionDefinition.js +20 -0
  43. package/dist/cjs/component/componentDefinitions/SkipNodesSectionDefinition.js.map +1 -0
  44. package/dist/cjs/component/componentDefinitions/TextBlockSectionDefinition.js +65 -0
  45. package/dist/cjs/component/componentDefinitions/TextBlockSectionDefinition.js.map +1 -0
  46. package/dist/cjs/component/componentDefinitions/index.js +48 -0
  47. package/dist/cjs/component/componentDefinitions/index.js.map +1 -0
  48. package/dist/cjs/component/componentDefinitions/listItemsSectionDefinition.js +86 -0
  49. package/dist/cjs/component/componentDefinitions/listItemsSectionDefinition.js.map +1 -0
  50. package/dist/cjs/component/componentDefinitions/parse-utils.js +434 -0
  51. package/dist/cjs/component/componentDefinitions/parse-utils.js.map +1 -0
  52. package/dist/cjs/component/componentDefinitions/specHelpers.js +36 -0
  53. package/dist/cjs/component/componentDefinitions/specHelpers.js.map +1 -0
  54. package/dist/cjs/component/componentParser.js +365 -0
  55. package/dist/cjs/component/componentParser.js.map +1 -0
  56. package/dist/cjs/component/diagnosticTypes.js +30 -0
  57. package/dist/cjs/component/diagnosticTypes.js.map +1 -0
  58. package/dist/cjs/component/parser-types.js +4 -0
  59. package/dist/cjs/component/parser-types.js.map +1 -0
  60. package/dist/cjs/component/section-definition.js +4 -0
  61. package/dist/cjs/component/section-definition.js.map +1 -0
  62. package/dist/cjs/component/types.js +4 -0
  63. package/dist/cjs/component/types.js.map +1 -0
  64. package/dist/cjs/components/placement/PlacementPayloadContext.js +29 -0
  65. package/dist/cjs/components/placement/PlacementPayloadContext.js.map +1 -0
  66. package/dist/cjs/components/placement/PlacementResponseRenderer.css +269 -0
  67. package/dist/cjs/components/placement/PlacementResponseRenderer.js +259 -0
  68. package/dist/cjs/components/placement/PlacementResponseRenderer.js.map +1 -0
  69. package/dist/cjs/components/placement/buildPlacementDependencies.js +214 -0
  70. package/dist/cjs/components/placement/buildPlacementDependencies.js.map +1 -0
  71. package/dist/cjs/components/ui/BottomContainer.js +26 -0
  72. package/dist/cjs/components/ui/BottomContainer.js.map +1 -0
  73. package/dist/cjs/components/ui/CalloutBlock.js +156 -0
  74. package/dist/cjs/components/ui/CalloutBlock.js.map +1 -0
  75. package/dist/cjs/components/ui/Disclaimer.css +35 -0
  76. package/dist/cjs/components/ui/Disclaimer.js +56 -0
  77. package/dist/cjs/components/ui/Disclaimer.js.map +1 -0
  78. package/dist/cjs/components/ui/FeedbackBar.css +267 -0
  79. package/dist/cjs/components/ui/FeedbackBar.js +417 -0
  80. package/dist/cjs/components/ui/FeedbackBar.js.map +1 -0
  81. package/dist/cjs/components/ui/Loader.js +73 -0
  82. package/dist/cjs/components/ui/Loader.js.map +1 -0
  83. package/dist/cjs/components/ui/MarkdownText.js +419 -0
  84. package/dist/cjs/components/ui/MarkdownText.js.map +1 -0
  85. package/dist/cjs/components/ui/OptimizedImage.js +414 -0
  86. package/dist/cjs/components/ui/OptimizedImage.js.map +1 -0
  87. package/dist/cjs/components/ui/PlacementLoader.css +101 -0
  88. package/dist/cjs/components/ui/PlacementLoader.js +62 -0
  89. package/dist/cjs/components/ui/PlacementLoader.js.map +1 -0
  90. package/dist/cjs/components/ui/PromptEntryEmptyState.css +172 -0
  91. package/dist/cjs/components/ui/PromptEntryEmptyState.js +96 -0
  92. package/dist/cjs/components/ui/PromptEntryEmptyState.js.map +1 -0
  93. package/dist/cjs/components/ui/SearchSection.css +538 -0
  94. package/dist/cjs/components/ui/SearchSection.js +550 -0
  95. package/dist/cjs/components/ui/SearchSection.js.map +1 -0
  96. package/dist/cjs/components/ui/SectionSkeleton.css +109 -0
  97. package/dist/cjs/components/ui/SectionSkeleton.js +190 -0
  98. package/dist/cjs/components/ui/SectionSkeleton.js.map +1 -0
  99. package/dist/cjs/components/ui/SmartIcon.js +122 -0
  100. package/dist/cjs/components/ui/SmartIcon.js.map +1 -0
  101. package/dist/cjs/components/ui/UnifiedLink.js +169 -0
  102. package/dist/cjs/components/ui/UnifiedLink.js.map +1 -0
  103. package/dist/cjs/components/ui/UserQuery.js +348 -0
  104. package/dist/cjs/components/ui/UserQuery.js.map +1 -0
  105. package/dist/cjs/components/ui/icons/ArrowTopRightIcon.js +37 -0
  106. package/dist/cjs/components/ui/icons/ArrowTopRightIcon.js.map +1 -0
  107. package/dist/cjs/components/ui/icons/ArrowUpIcon.js +61 -0
  108. package/dist/cjs/components/ui/icons/ArrowUpIcon.js.map +1 -0
  109. package/dist/cjs/components/ui/icons/CheckIcon.js +37 -0
  110. package/dist/cjs/components/ui/icons/CheckIcon.js.map +1 -0
  111. package/dist/cjs/components/ui/icons/CommentIcon.js +34 -0
  112. package/dist/cjs/components/ui/icons/CommentIcon.js.map +1 -0
  113. package/dist/cjs/components/ui/icons/PlusIcon.js +51 -0
  114. package/dist/cjs/components/ui/icons/PlusIcon.js.map +1 -0
  115. package/dist/cjs/components/ui/icons/RedoIcon.js +51 -0
  116. package/dist/cjs/components/ui/icons/RedoIcon.js.map +1 -0
  117. package/dist/cjs/components/ui/icons/ShareIcon.js +81 -0
  118. package/dist/cjs/components/ui/icons/ShareIcon.js.map +1 -0
  119. package/dist/cjs/components/ui/icons/UndoIcon.js +51 -0
  120. package/dist/cjs/components/ui/icons/UndoIcon.js.map +1 -0
  121. package/dist/cjs/components/ui/table.js +159 -0
  122. package/dist/cjs/components/ui/table.js.map +1 -0
  123. package/dist/cjs/context/ChipsContext.js +12 -0
  124. package/dist/cjs/context/ChipsContext.js.map +1 -0
  125. package/dist/cjs/context/ComponentDependenciesContext.js +32 -0
  126. package/dist/cjs/context/ComponentDependenciesContext.js.map +1 -0
  127. package/dist/cjs/entity/defaultExtractor.js +117 -0
  128. package/dist/cjs/entity/defaultExtractor.js.map +1 -0
  129. package/dist/cjs/entity/enrichEntitiesFromPayload.js +39 -0
  130. package/dist/cjs/entity/enrichEntitiesFromPayload.js.map +1 -0
  131. package/dist/cjs/entity/fetchEntityListData.js +78 -0
  132. package/dist/cjs/entity/fetchEntityListData.js.map +1 -0
  133. package/dist/cjs/entity/index.js +41 -0
  134. package/dist/cjs/entity/index.js.map +1 -0
  135. package/dist/cjs/entity/types.js +4 -0
  136. package/dist/cjs/entity/types.js.map +1 -0
  137. package/dist/cjs/errors/conversationErrorTypes.js +56 -0
  138. package/dist/cjs/errors/conversationErrorTypes.js.map +1 -0
  139. package/dist/cjs/errors/errorTemplates.js +86 -0
  140. package/dist/cjs/errors/errorTemplates.js.map +1 -0
  141. package/dist/cjs/errors/index.js +13 -0
  142. package/dist/cjs/errors/index.js.map +1 -0
  143. package/dist/cjs/external-types.d.js +2 -0
  144. package/dist/cjs/external-types.d.js.map +1 -0
  145. package/dist/cjs/featureToggles/FeatureToggleContext.js +44 -0
  146. package/dist/cjs/featureToggles/FeatureToggleContext.js.map +1 -0
  147. package/dist/cjs/hooks/useConversation.js +10 -0
  148. package/dist/cjs/hooks/useConversation.js.map +1 -0
  149. package/dist/cjs/hooks/useDebugImageContext.js +10 -0
  150. package/dist/cjs/hooks/useDebugImageContext.js.map +1 -0
  151. package/dist/cjs/hooks/useEntityTransforms.js +10 -0
  152. package/dist/cjs/hooks/useEntityTransforms.js.map +1 -0
  153. package/dist/cjs/hooks/useMarkdownUtils.js +10 -0
  154. package/dist/cjs/hooks/useMarkdownUtils.js.map +1 -0
  155. package/dist/cjs/hooks/useResolveGenericEntityData.js +10 -0
  156. package/dist/cjs/hooks/useResolveGenericEntityData.js.map +1 -0
  157. package/dist/cjs/hooks/useResolveSearchSpringEntityData.js +146 -0
  158. package/dist/cjs/hooks/useResolveSearchSpringEntityData.js.map +1 -0
  159. package/dist/cjs/hooks/useResolveShopifyEntityData.js +190 -0
  160. package/dist/cjs/hooks/useResolveShopifyEntityData.js.map +1 -0
  161. package/dist/cjs/hooks/useResolvedImageSources.js +160 -0
  162. package/dist/cjs/hooks/useResolvedImageSources.js.map +1 -0
  163. package/dist/cjs/hooks/useWeb5Link.js +10 -0
  164. package/dist/cjs/hooks/useWeb5Link.js.map +1 -0
  165. package/dist/cjs/image/contextualImageTypes.js +4 -0
  166. package/dist/cjs/image/contextualImageTypes.js.map +1 -0
  167. package/dist/cjs/image/imageSearchFilterTypes.js +19 -0
  168. package/dist/cjs/image/imageSearchFilterTypes.js.map +1 -0
  169. package/dist/cjs/image/imageSearchFilters.js +22 -0
  170. package/dist/cjs/image/imageSearchFilters.js.map +1 -0
  171. package/dist/cjs/index.js +285 -0
  172. package/dist/cjs/index.js.map +1 -0
  173. package/dist/cjs/lib/utils.js +33 -0
  174. package/dist/cjs/lib/utils.js.map +1 -0
  175. package/dist/cjs/markdownBlocks.js +645 -0
  176. package/dist/cjs/markdownBlocks.js.map +1 -0
  177. package/dist/cjs/match/astToParts.js +374 -0
  178. package/dist/cjs/match/astToParts.js.map +1 -0
  179. package/dist/cjs/match/extractProps.js +654 -0
  180. package/dist/cjs/match/extractProps.js.map +1 -0
  181. package/dist/cjs/match/index.js +11 -0
  182. package/dist/cjs/match/index.js.map +1 -0
  183. package/dist/cjs/match/matchAllSections.js +34 -0
  184. package/dist/cjs/match/matchAllSections.js.map +1 -0
  185. package/dist/cjs/match/matchMarkdown.js +39 -0
  186. package/dist/cjs/match/matchMarkdown.js.map +1 -0
  187. package/dist/cjs/parts/parts.js +183 -0
  188. package/dist/cjs/parts/parts.js.map +1 -0
  189. package/dist/cjs/patternAnalyzer/conflictDetector.js +103 -0
  190. package/dist/cjs/patternAnalyzer/conflictDetector.js.map +1 -0
  191. package/dist/cjs/patternAnalyzer/index.js +40 -0
  192. package/dist/cjs/patternAnalyzer/index.js.map +1 -0
  193. package/dist/cjs/patternAnalyzer/markdownGenerator.js +347 -0
  194. package/dist/cjs/patternAnalyzer/markdownGenerator.js.map +1 -0
  195. package/dist/cjs/patternAnalyzer/mergeDetector.js +505 -0
  196. package/dist/cjs/patternAnalyzer/mergeDetector.js.map +1 -0
  197. package/dist/cjs/patternAnalyzer/parserValidator.js +56 -0
  198. package/dist/cjs/patternAnalyzer/parserValidator.js.map +1 -0
  199. package/dist/cjs/patternAnalyzer/patternWriter.js +106 -0
  200. package/dist/cjs/patternAnalyzer/patternWriter.js.map +1 -0
  201. package/dist/cjs/patternAnalyzer/run.js +140 -0
  202. package/dist/cjs/patternAnalyzer/run.js.map +1 -0
  203. package/dist/cjs/patternAnalyzer/types.js +4 -0
  204. package/dist/cjs/patternAnalyzer/types.js.map +1 -0
  205. package/dist/cjs/patternValidator/ERROR_MESSAGES.md +110 -0
  206. package/dist/cjs/patternValidator/README.md +757 -0
  207. package/dist/cjs/patternValidator/automaton.js +349 -0
  208. package/dist/cjs/patternValidator/automaton.js.map +1 -0
  209. package/dist/cjs/patternValidator/index.js +196 -0
  210. package/dist/cjs/patternValidator/index.js.map +1 -0
  211. package/dist/cjs/patternValidator/lexer.js +218 -0
  212. package/dist/cjs/patternValidator/lexer.js.map +1 -0
  213. package/dist/cjs/patternValidator/matcher.js +722 -0
  214. package/dist/cjs/patternValidator/matcher.js.map +1 -0
  215. package/dist/cjs/patternValidator/parser.js +533 -0
  216. package/dist/cjs/patternValidator/parser.js.map +1 -0
  217. package/dist/cjs/patternValidator/types.js +4 -0
  218. package/dist/cjs/patternValidator/types.js.map +1 -0
  219. package/dist/cjs/patternValidator/validator.test.js +1277 -0
  220. package/dist/cjs/patternValidator/validator.test.js.map +1 -0
  221. package/dist/cjs/registry/ComponentRegistry.js +438 -0
  222. package/dist/cjs/registry/ComponentRegistry.js.map +1 -0
  223. package/dist/cjs/registry/Intent.js +19 -0
  224. package/dist/cjs/registry/Intent.js.map +1 -0
  225. package/dist/cjs/registry/index.js +9 -0
  226. package/dist/cjs/registry/index.js.map +1 -0
  227. package/dist/cjs/registry/types.js +4 -0
  228. package/dist/cjs/registry/types.js.map +1 -0
  229. package/dist/cjs/services/cart/addToCart.js +147 -0
  230. package/dist/cjs/services/cart/addToCart.js.map +1 -0
  231. package/dist/cjs/services/cart/index.js +7 -0
  232. package/dist/cjs/services/cart/index.js.map +1 -0
  233. package/dist/cjs/services/searchspring/index.js +10 -0
  234. package/dist/cjs/services/searchspring/index.js.map +1 -0
  235. package/dist/cjs/services/searchspring/searchSpringClient.js +49 -0
  236. package/dist/cjs/services/searchspring/searchSpringClient.js.map +1 -0
  237. package/dist/cjs/services/searchspring/transformSSProduct.js +70 -0
  238. package/dist/cjs/services/searchspring/transformSSProduct.js.map +1 -0
  239. package/dist/cjs/services/searchspring/types.js +4 -0
  240. package/dist/cjs/services/searchspring/types.js.map +1 -0
  241. package/dist/cjs/services/shopify/globals.d.js +4 -0
  242. package/dist/cjs/services/shopify/globals.d.js.map +1 -0
  243. package/dist/cjs/services/shopify/index.js +22 -0
  244. package/dist/cjs/services/shopify/index.js.map +1 -0
  245. package/dist/cjs/services/shopify/queries.js +214 -0
  246. package/dist/cjs/services/shopify/queries.js.map +1 -0
  247. package/dist/cjs/services/shopify/resolveStoreDomain.js +28 -0
  248. package/dist/cjs/services/shopify/resolveStoreDomain.js.map +1 -0
  249. package/dist/cjs/services/shopify/shopifyEntityResolver.js +109 -0
  250. package/dist/cjs/services/shopify/shopifyEntityResolver.js.map +1 -0
  251. package/dist/cjs/services/shopify/shopifyStorefrontClient.js +58 -0
  252. package/dist/cjs/services/shopify/shopifyStorefrontClient.js.map +1 -0
  253. package/dist/cjs/services/shopify/transformShopifyEntity.js +137 -0
  254. package/dist/cjs/services/shopify/transformShopifyEntity.js.map +1 -0
  255. package/dist/cjs/services/shopify/types.js +4 -0
  256. package/dist/cjs/services/shopify/types.js.map +1 -0
  257. package/dist/cjs/styles/base-tokens.css +152 -0
  258. package/dist/cjs/styles/base-utilities.css +424 -0
  259. package/dist/cjs/styles/components.css +6 -0
  260. package/dist/cjs/styles/prompt-input-tokens.css +136 -0
  261. package/dist/cjs/styles/tailwind-theme.css +138 -0
  262. package/dist/cjs/test-types.d.js +2 -0
  263. package/dist/cjs/test-types.d.js.map +1 -0
  264. package/dist/cjs/testUtils.js +25 -0
  265. package/dist/cjs/testUtils.js.map +1 -0
  266. package/dist/cjs/types/answerUpdatedEvent.js +20 -0
  267. package/dist/cjs/types/answerUpdatedEvent.js.map +1 -0
  268. package/dist/cjs/types/blog.js +4 -0
  269. package/dist/cjs/types/blog.js.map +1 -0
  270. package/dist/cjs/types/callout.js +6 -0
  271. package/dist/cjs/types/callout.js.map +1 -0
  272. package/dist/cjs/types/dependencies.js +4 -0
  273. package/dist/cjs/types/dependencies.js.map +1 -0
  274. package/dist/cjs/types/entity.js +4 -0
  275. package/dist/cjs/types/entity.js.map +1 -0
  276. package/dist/cjs/types/link-types.js +62 -0
  277. package/dist/cjs/types/link-types.js.map +1 -0
  278. package/dist/cjs/types/page-section.js +4 -0
  279. package/dist/cjs/types/page-section.js.map +1 -0
  280. package/dist/cjs/types/placement.js +4 -0
  281. package/dist/cjs/types/placement.js.map +1 -0
  282. package/dist/cjs/types/redirectEvent.js +27 -0
  283. package/dist/cjs/types/redirectEvent.js.map +1 -0
  284. package/dist/cjs/types/userQueryEvent.js +19 -0
  285. package/dist/cjs/types/userQueryEvent.js.map +1 -0
  286. package/dist/cjs/utils/analyticsEvents.js +91 -0
  287. package/dist/cjs/utils/analyticsEvents.js.map +1 -0
  288. package/dist/cjs/utils/componentTracking.js +90 -0
  289. package/dist/cjs/utils/componentTracking.js.map +1 -0
  290. package/dist/cjs/utils/contentKeywordMatcher.js +56 -0
  291. package/dist/cjs/utils/contentKeywordMatcher.js.map +1 -0
  292. package/dist/cjs/utils/conversationApi.js +52 -0
  293. package/dist/cjs/utils/conversationApi.js.map +1 -0
  294. package/dist/cjs/utils/conversationMode.js +23 -0
  295. package/dist/cjs/utils/conversationMode.js.map +1 -0
  296. package/dist/cjs/utils/diagnosticsCollector.js +58 -0
  297. package/dist/cjs/utils/diagnosticsCollector.js.map +1 -0
  298. package/dist/cjs/utils/entityLinkParser.js +256 -0
  299. package/dist/cjs/utils/entityLinkParser.js.map +1 -0
  300. package/dist/cjs/utils/htmlCommentParser.js +122 -0
  301. package/dist/cjs/utils/htmlCommentParser.js.map +1 -0
  302. package/dist/cjs/utils/image-utils.js +49 -0
  303. package/dist/cjs/utils/image-utils.js.map +1 -0
  304. package/dist/cjs/utils/intentExtractor.js +47 -0
  305. package/dist/cjs/utils/intentExtractor.js.map +1 -0
  306. package/dist/cjs/utils/markdownPreprocessor.js +268 -0
  307. package/dist/cjs/utils/markdownPreprocessor.js.map +1 -0
  308. package/dist/cjs/utils/navigationStack.js +35 -0
  309. package/dist/cjs/utils/navigationStack.js.map +1 -0
  310. package/dist/cjs/utils/nodeMatchers.js +43 -0
  311. package/dist/cjs/utils/nodeMatchers.js.map +1 -0
  312. package/dist/cjs/utils/propsExtractor.js +66 -0
  313. package/dist/cjs/utils/propsExtractor.js.map +1 -0
  314. package/dist/cjs/utils/sessionManager.js +161 -0
  315. package/dist/cjs/utils/sessionManager.js.map +1 -0
  316. package/dist/cjs/utils/unifiedMarkdownParser.js +44 -0
  317. package/dist/cjs/utils/unifiedMarkdownParser.js.map +1 -0
  318. package/dist/cjs/utils/web5LinkValidator.js +56 -0
  319. package/dist/cjs/utils/web5LinkValidator.js.map +1 -0
  320. package/dist/cjs/utils/web5LinkValidator.test.js +115 -0
  321. package/dist/cjs/utils/web5LinkValidator.test.js.map +1 -0
  322. package/dist/esm/client/clientBundleOverride.js +43 -0
  323. package/dist/esm/client/clientBundleOverride.js.map +1 -0
  324. package/dist/esm/client/devEnvironment.js +2 -0
  325. package/dist/esm/client/devEnvironment.js.map +1 -0
  326. package/dist/esm/client/loadClientBundle.js +82 -0
  327. package/dist/esm/client/loadClientBundle.js.map +1 -0
  328. package/dist/esm/client/wixAuthFetch.js +68 -0
  329. package/dist/esm/client/wixAuthFetch.js.map +1 -0
  330. package/dist/esm/clients.js +11 -0
  331. package/dist/esm/clients.js.map +1 -0
  332. package/dist/esm/color/colorUtils.js +118 -0
  333. package/dist/esm/color/colorUtils.js.map +1 -0
  334. package/dist/esm/component/componentDefinitions/CalloutSectionDefinition.js +61 -0
  335. package/dist/esm/component/componentDefinitions/CalloutSectionDefinition.js.map +1 -0
  336. package/dist/esm/component/componentDefinitions/ComparisonSectionDefinition.js +135 -0
  337. package/dist/esm/component/componentDefinitions/ComparisonSectionDefinition.js.map +1 -0
  338. package/dist/esm/component/componentDefinitions/CtaBannerSectionDefinition.js +79 -0
  339. package/dist/esm/component/componentDefinitions/CtaBannerSectionDefinition.js.map +1 -0
  340. package/dist/esm/component/componentDefinitions/EntitySectionDefinition.js +165 -0
  341. package/dist/esm/component/componentDefinitions/EntitySectionDefinition.js.map +1 -0
  342. package/dist/esm/component/componentDefinitions/ErrorSectionDefinition.js +75 -0
  343. package/dist/esm/component/componentDefinitions/ErrorSectionDefinition.js.map +1 -0
  344. package/dist/esm/component/componentDefinitions/FallbackSectionDefinition.js +23 -0
  345. package/dist/esm/component/componentDefinitions/FallbackSectionDefinition.js.map +1 -0
  346. package/dist/esm/component/componentDefinitions/FeatureCardsSectionDefinition.js +113 -0
  347. package/dist/esm/component/componentDefinitions/FeatureCardsSectionDefinition.js.map +1 -0
  348. package/dist/esm/component/componentDefinitions/FeatureSection9PlusDefinition.js +69 -0
  349. package/dist/esm/component/componentDefinitions/FeatureSection9PlusDefinition.js.map +1 -0
  350. package/dist/esm/component/componentDefinitions/HeroEntitySectionDefinition.js +119 -0
  351. package/dist/esm/component/componentDefinitions/HeroEntitySectionDefinition.js.map +1 -0
  352. package/dist/esm/component/componentDefinitions/HeroSectionDefinition.js +203 -0
  353. package/dist/esm/component/componentDefinitions/HeroSectionDefinition.js.map +1 -0
  354. package/dist/esm/component/componentDefinitions/HtmlCommentSectionDefinition.js +13 -0
  355. package/dist/esm/component/componentDefinitions/HtmlCommentSectionDefinition.js.map +1 -0
  356. package/dist/esm/component/componentDefinitions/KpiSectionDefinition.js +108 -0
  357. package/dist/esm/component/componentDefinitions/KpiSectionDefinition.js.map +1 -0
  358. package/dist/esm/component/componentDefinitions/NextStepsSectionDefinition.js +130 -0
  359. package/dist/esm/component/componentDefinitions/NextStepsSectionDefinition.js.map +1 -0
  360. package/dist/esm/component/componentDefinitions/SearchSectionDefinition.js +12 -0
  361. package/dist/esm/component/componentDefinitions/SearchSectionDefinition.js.map +1 -0
  362. package/dist/esm/component/componentDefinitions/SkipNodesSectionDefinition.js +14 -0
  363. package/dist/esm/component/componentDefinitions/SkipNodesSectionDefinition.js.map +1 -0
  364. package/dist/esm/component/componentDefinitions/TextBlockSectionDefinition.js +59 -0
  365. package/dist/esm/component/componentDefinitions/TextBlockSectionDefinition.js.map +1 -0
  366. package/dist/esm/component/componentDefinitions/index.js +45 -0
  367. package/dist/esm/component/componentDefinitions/index.js.map +1 -0
  368. package/dist/esm/component/componentDefinitions/listItemsSectionDefinition.js +80 -0
  369. package/dist/esm/component/componentDefinitions/listItemsSectionDefinition.js.map +1 -0
  370. package/dist/esm/component/componentDefinitions/parse-utils.js +412 -0
  371. package/dist/esm/component/componentDefinitions/parse-utils.js.map +1 -0
  372. package/dist/esm/component/componentDefinitions/specHelpers.js +31 -0
  373. package/dist/esm/component/componentDefinitions/specHelpers.js.map +1 -0
  374. package/dist/esm/component/componentParser.js +358 -0
  375. package/dist/esm/component/componentParser.js.map +1 -0
  376. package/dist/esm/component/diagnosticTypes.js +26 -0
  377. package/dist/esm/component/diagnosticTypes.js.map +1 -0
  378. package/dist/esm/component/parser-types.js +2 -0
  379. package/dist/esm/component/parser-types.js.map +1 -0
  380. package/dist/esm/component/section-definition.js +2 -0
  381. package/dist/esm/component/section-definition.js.map +1 -0
  382. package/dist/esm/component/types.js +2 -0
  383. package/dist/esm/component/types.js.map +1 -0
  384. package/dist/esm/components/placement/PlacementPayloadContext.js +24 -0
  385. package/dist/esm/components/placement/PlacementPayloadContext.js.map +1 -0
  386. package/dist/esm/components/placement/PlacementResponseRenderer.css +269 -0
  387. package/dist/esm/components/placement/PlacementResponseRenderer.js +173 -0
  388. package/dist/esm/components/placement/PlacementResponseRenderer.js.map +1 -0
  389. package/dist/esm/components/placement/buildPlacementDependencies.js +212 -0
  390. package/dist/esm/components/placement/buildPlacementDependencies.js.map +1 -0
  391. package/dist/esm/components/ui/BottomContainer.js +14 -0
  392. package/dist/esm/components/ui/BottomContainer.js.map +1 -0
  393. package/dist/esm/components/ui/CalloutBlock.js +118 -0
  394. package/dist/esm/components/ui/CalloutBlock.js.map +1 -0
  395. package/dist/esm/components/ui/Disclaimer.css +35 -0
  396. package/dist/esm/components/ui/Disclaimer.js +32 -0
  397. package/dist/esm/components/ui/Disclaimer.js.map +1 -0
  398. package/dist/esm/components/ui/FeedbackBar.css +267 -0
  399. package/dist/esm/components/ui/FeedbackBar.js +221 -0
  400. package/dist/esm/components/ui/FeedbackBar.js.map +1 -0
  401. package/dist/esm/components/ui/Loader.js +43 -0
  402. package/dist/esm/components/ui/Loader.js.map +1 -0
  403. package/dist/esm/components/ui/MarkdownText.js +283 -0
  404. package/dist/esm/components/ui/MarkdownText.js.map +1 -0
  405. package/dist/esm/components/ui/OptimizedImage.js +354 -0
  406. package/dist/esm/components/ui/OptimizedImage.js.map +1 -0
  407. package/dist/esm/components/ui/PlacementLoader.css +101 -0
  408. package/dist/esm/components/ui/PlacementLoader.js +28 -0
  409. package/dist/esm/components/ui/PlacementLoader.js.map +1 -0
  410. package/dist/esm/components/ui/PromptEntryEmptyState.css +172 -0
  411. package/dist/esm/components/ui/PromptEntryEmptyState.js +36 -0
  412. package/dist/esm/components/ui/PromptEntryEmptyState.js.map +1 -0
  413. package/dist/esm/components/ui/SearchSection.css +538 -0
  414. package/dist/esm/components/ui/SearchSection.js +317 -0
  415. package/dist/esm/components/ui/SearchSection.js.map +1 -0
  416. package/dist/esm/components/ui/SectionSkeleton.css +109 -0
  417. package/dist/esm/components/ui/SectionSkeleton.js +100 -0
  418. package/dist/esm/components/ui/SectionSkeleton.js.map +1 -0
  419. package/dist/esm/components/ui/SmartIcon.js +91 -0
  420. package/dist/esm/components/ui/SmartIcon.js.map +1 -0
  421. package/dist/esm/components/ui/UnifiedLink.js +105 -0
  422. package/dist/esm/components/ui/UnifiedLink.js.map +1 -0
  423. package/dist/esm/components/ui/UserQuery.js +167 -0
  424. package/dist/esm/components/ui/UserQuery.js.map +1 -0
  425. package/dist/esm/components/ui/icons/ArrowTopRightIcon.js +17 -0
  426. package/dist/esm/components/ui/icons/ArrowTopRightIcon.js.map +1 -0
  427. package/dist/esm/components/ui/icons/ArrowUpIcon.js +29 -0
  428. package/dist/esm/components/ui/icons/ArrowUpIcon.js.map +1 -0
  429. package/dist/esm/components/ui/icons/CheckIcon.js +17 -0
  430. package/dist/esm/components/ui/icons/CheckIcon.js.map +1 -0
  431. package/dist/esm/components/ui/icons/CommentIcon.js +15 -0
  432. package/dist/esm/components/ui/icons/CommentIcon.js.map +1 -0
  433. package/dist/esm/components/ui/icons/PlusIcon.js +25 -0
  434. package/dist/esm/components/ui/icons/PlusIcon.js.map +1 -0
  435. package/dist/esm/components/ui/icons/RedoIcon.js +25 -0
  436. package/dist/esm/components/ui/icons/RedoIcon.js.map +1 -0
  437. package/dist/esm/components/ui/icons/ShareIcon.js +37 -0
  438. package/dist/esm/components/ui/icons/ShareIcon.js.map +1 -0
  439. package/dist/esm/components/ui/icons/UndoIcon.js +25 -0
  440. package/dist/esm/components/ui/icons/UndoIcon.js.map +1 -0
  441. package/dist/esm/components/ui/table.js +92 -0
  442. package/dist/esm/components/ui/table.js.map +1 -0
  443. package/dist/esm/context/ChipsContext.js +7 -0
  444. package/dist/esm/context/ChipsContext.js.map +1 -0
  445. package/dist/esm/context/ComponentDependenciesContext.js +19 -0
  446. package/dist/esm/context/ComponentDependenciesContext.js.map +1 -0
  447. package/dist/esm/entity/defaultExtractor.js +111 -0
  448. package/dist/esm/entity/defaultExtractor.js.map +1 -0
  449. package/dist/esm/entity/enrichEntitiesFromPayload.js +35 -0
  450. package/dist/esm/entity/enrichEntitiesFromPayload.js.map +1 -0
  451. package/dist/esm/entity/fetchEntityListData.js +76 -0
  452. package/dist/esm/entity/fetchEntityListData.js.map +1 -0
  453. package/dist/esm/entity/index.js +29 -0
  454. package/dist/esm/entity/index.js.map +1 -0
  455. package/dist/esm/entity/types.js +2 -0
  456. package/dist/esm/entity/types.js.map +1 -0
  457. package/dist/esm/errors/conversationErrorTypes.js +50 -0
  458. package/dist/esm/errors/conversationErrorTypes.js.map +1 -0
  459. package/dist/esm/errors/errorTemplates.js +81 -0
  460. package/dist/esm/errors/errorTemplates.js.map +1 -0
  461. package/dist/esm/errors/index.js +3 -0
  462. package/dist/esm/errors/index.js.map +1 -0
  463. package/dist/esm/external-types.d.js +2 -0
  464. package/dist/esm/external-types.d.js.map +1 -0
  465. package/dist/esm/featureToggles/FeatureToggleContext.js +30 -0
  466. package/dist/esm/featureToggles/FeatureToggleContext.js.map +1 -0
  467. package/dist/esm/hooks/useConversation.js +6 -0
  468. package/dist/esm/hooks/useConversation.js.map +1 -0
  469. package/dist/esm/hooks/useDebugImageContext.js +6 -0
  470. package/dist/esm/hooks/useDebugImageContext.js.map +1 -0
  471. package/dist/esm/hooks/useEntityTransforms.js +6 -0
  472. package/dist/esm/hooks/useEntityTransforms.js.map +1 -0
  473. package/dist/esm/hooks/useMarkdownUtils.js +6 -0
  474. package/dist/esm/hooks/useMarkdownUtils.js.map +1 -0
  475. package/dist/esm/hooks/useResolveGenericEntityData.js +6 -0
  476. package/dist/esm/hooks/useResolveGenericEntityData.js.map +1 -0
  477. package/dist/esm/hooks/useResolveSearchSpringEntityData.js +146 -0
  478. package/dist/esm/hooks/useResolveSearchSpringEntityData.js.map +1 -0
  479. package/dist/esm/hooks/useResolveShopifyEntityData.js +191 -0
  480. package/dist/esm/hooks/useResolveShopifyEntityData.js.map +1 -0
  481. package/dist/esm/hooks/useResolvedImageSources.js +169 -0
  482. package/dist/esm/hooks/useResolvedImageSources.js.map +1 -0
  483. package/dist/esm/hooks/useWeb5Link.js +6 -0
  484. package/dist/esm/hooks/useWeb5Link.js.map +1 -0
  485. package/dist/esm/image/contextualImageTypes.js +2 -0
  486. package/dist/esm/image/contextualImageTypes.js.map +1 -0
  487. package/dist/esm/image/imageSearchFilterTypes.js +15 -0
  488. package/dist/esm/image/imageSearchFilterTypes.js.map +1 -0
  489. package/dist/esm/image/imageSearchFilters.js +18 -0
  490. package/dist/esm/image/imageSearchFilters.js.map +1 -0
  491. package/dist/esm/index.js +152 -0
  492. package/dist/esm/index.js.map +1 -0
  493. package/dist/esm/lib/utils.js +33 -0
  494. package/dist/esm/lib/utils.js.map +1 -0
  495. package/dist/esm/markdownBlocks.js +641 -0
  496. package/dist/esm/markdownBlocks.js.map +1 -0
  497. package/dist/esm/match/astToParts.js +371 -0
  498. package/dist/esm/match/astToParts.js.map +1 -0
  499. package/dist/esm/match/extractProps.js +634 -0
  500. package/dist/esm/match/extractProps.js.map +1 -0
  501. package/dist/esm/match/index.js +4 -0
  502. package/dist/esm/match/index.js.map +1 -0
  503. package/dist/esm/match/matchAllSections.js +31 -0
  504. package/dist/esm/match/matchAllSections.js.map +1 -0
  505. package/dist/esm/match/matchMarkdown.js +36 -0
  506. package/dist/esm/match/matchMarkdown.js.map +1 -0
  507. package/dist/esm/parts/parts.js +171 -0
  508. package/dist/esm/parts/parts.js.map +1 -0
  509. package/dist/esm/patternAnalyzer/conflictDetector.js +99 -0
  510. package/dist/esm/patternAnalyzer/conflictDetector.js.map +1 -0
  511. package/dist/esm/patternAnalyzer/index.js +36 -0
  512. package/dist/esm/patternAnalyzer/index.js.map +1 -0
  513. package/dist/esm/patternAnalyzer/markdownGenerator.js +344 -0
  514. package/dist/esm/patternAnalyzer/markdownGenerator.js.map +1 -0
  515. package/dist/esm/patternAnalyzer/mergeDetector.js +504 -0
  516. package/dist/esm/patternAnalyzer/mergeDetector.js.map +1 -0
  517. package/dist/esm/patternAnalyzer/parserValidator.js +52 -0
  518. package/dist/esm/patternAnalyzer/parserValidator.js.map +1 -0
  519. package/dist/esm/patternAnalyzer/patternWriter.js +102 -0
  520. package/dist/esm/patternAnalyzer/patternWriter.js.map +1 -0
  521. package/dist/esm/patternAnalyzer/run.js +138 -0
  522. package/dist/esm/patternAnalyzer/run.js.map +1 -0
  523. package/dist/esm/patternAnalyzer/types.js +2 -0
  524. package/dist/esm/patternAnalyzer/types.js.map +1 -0
  525. package/dist/esm/patternValidator/ERROR_MESSAGES.md +110 -0
  526. package/dist/esm/patternValidator/README.md +757 -0
  527. package/dist/esm/patternValidator/automaton.js +345 -0
  528. package/dist/esm/patternValidator/automaton.js.map +1 -0
  529. package/dist/esm/patternValidator/index.js +190 -0
  530. package/dist/esm/patternValidator/index.js.map +1 -0
  531. package/dist/esm/patternValidator/lexer.js +214 -0
  532. package/dist/esm/patternValidator/lexer.js.map +1 -0
  533. package/dist/esm/patternValidator/matcher.js +717 -0
  534. package/dist/esm/patternValidator/matcher.js.map +1 -0
  535. package/dist/esm/patternValidator/parser.js +531 -0
  536. package/dist/esm/patternValidator/parser.js.map +1 -0
  537. package/dist/esm/patternValidator/types.js +2 -0
  538. package/dist/esm/patternValidator/types.js.map +1 -0
  539. package/dist/esm/patternValidator/validator.test.js +1275 -0
  540. package/dist/esm/patternValidator/validator.test.js.map +1 -0
  541. package/dist/esm/registry/ComponentRegistry.js +435 -0
  542. package/dist/esm/registry/ComponentRegistry.js.map +1 -0
  543. package/dist/esm/registry/Intent.js +15 -0
  544. package/dist/esm/registry/Intent.js.map +1 -0
  545. package/dist/esm/registry/index.js +3 -0
  546. package/dist/esm/registry/index.js.map +1 -0
  547. package/dist/esm/registry/types.js +2 -0
  548. package/dist/esm/registry/types.js.map +1 -0
  549. package/dist/esm/services/cart/addToCart.js +146 -0
  550. package/dist/esm/services/cart/addToCart.js.map +1 -0
  551. package/dist/esm/services/cart/index.js +2 -0
  552. package/dist/esm/services/cart/index.js.map +1 -0
  553. package/dist/esm/services/searchspring/index.js +3 -0
  554. package/dist/esm/services/searchspring/index.js.map +1 -0
  555. package/dist/esm/services/searchspring/searchSpringClient.js +44 -0
  556. package/dist/esm/services/searchspring/searchSpringClient.js.map +1 -0
  557. package/dist/esm/services/searchspring/transformSSProduct.js +66 -0
  558. package/dist/esm/services/searchspring/transformSSProduct.js.map +1 -0
  559. package/dist/esm/services/searchspring/types.js +2 -0
  560. package/dist/esm/services/searchspring/types.js.map +1 -0
  561. package/dist/esm/services/shopify/globals.d.js +7 -0
  562. package/dist/esm/services/shopify/globals.d.js.map +1 -0
  563. package/dist/esm/services/shopify/index.js +6 -0
  564. package/dist/esm/services/shopify/index.js.map +1 -0
  565. package/dist/esm/services/shopify/queries.js +210 -0
  566. package/dist/esm/services/shopify/queries.js.map +1 -0
  567. package/dist/esm/services/shopify/resolveStoreDomain.js +25 -0
  568. package/dist/esm/services/shopify/resolveStoreDomain.js.map +1 -0
  569. package/dist/esm/services/shopify/shopifyEntityResolver.js +105 -0
  570. package/dist/esm/services/shopify/shopifyEntityResolver.js.map +1 -0
  571. package/dist/esm/services/shopify/shopifyStorefrontClient.js +52 -0
  572. package/dist/esm/services/shopify/shopifyStorefrontClient.js.map +1 -0
  573. package/dist/esm/services/shopify/transformShopifyEntity.js +130 -0
  574. package/dist/esm/services/shopify/transformShopifyEntity.js.map +1 -0
  575. package/dist/esm/services/shopify/types.js +2 -0
  576. package/dist/esm/services/shopify/types.js.map +1 -0
  577. package/dist/esm/styles/base-tokens.css +152 -0
  578. package/dist/esm/styles/base-utilities.css +424 -0
  579. package/dist/esm/styles/components.css +6 -0
  580. package/dist/esm/styles/prompt-input-tokens.css +136 -0
  581. package/dist/esm/styles/tailwind-theme.css +138 -0
  582. package/dist/esm/test-types.d.js +2 -0
  583. package/dist/esm/test-types.d.js.map +1 -0
  584. package/dist/esm/testUtils.js +20 -0
  585. package/dist/esm/testUtils.js.map +1 -0
  586. package/dist/esm/types/answerUpdatedEvent.js +16 -0
  587. package/dist/esm/types/answerUpdatedEvent.js.map +1 -0
  588. package/dist/esm/types/blog.js +2 -0
  589. package/dist/esm/types/blog.js.map +1 -0
  590. package/dist/esm/types/callout.js +2 -0
  591. package/dist/esm/types/callout.js.map +1 -0
  592. package/dist/esm/types/dependencies.js +2 -0
  593. package/dist/esm/types/dependencies.js.map +1 -0
  594. package/dist/esm/types/entity.js +2 -0
  595. package/dist/esm/types/entity.js.map +1 -0
  596. package/dist/esm/types/link-types.js +52 -0
  597. package/dist/esm/types/link-types.js.map +1 -0
  598. package/dist/esm/types/page-section.js +2 -0
  599. package/dist/esm/types/page-section.js.map +1 -0
  600. package/dist/esm/types/placement.js +2 -0
  601. package/dist/esm/types/placement.js.map +1 -0
  602. package/dist/esm/types/redirectEvent.js +23 -0
  603. package/dist/esm/types/redirectEvent.js.map +1 -0
  604. package/dist/esm/types/userQueryEvent.js +15 -0
  605. package/dist/esm/types/userQueryEvent.js.map +1 -0
  606. package/dist/esm/utils/analyticsEvents.js +84 -0
  607. package/dist/esm/utils/analyticsEvents.js.map +1 -0
  608. package/dist/esm/utils/componentTracking.js +84 -0
  609. package/dist/esm/utils/componentTracking.js.map +1 -0
  610. package/dist/esm/utils/contentKeywordMatcher.js +50 -0
  611. package/dist/esm/utils/contentKeywordMatcher.js.map +1 -0
  612. package/dist/esm/utils/conversationApi.js +45 -0
  613. package/dist/esm/utils/conversationApi.js.map +1 -0
  614. package/dist/esm/utils/conversationMode.js +18 -0
  615. package/dist/esm/utils/conversationMode.js.map +1 -0
  616. package/dist/esm/utils/diagnosticsCollector.js +52 -0
  617. package/dist/esm/utils/diagnosticsCollector.js.map +1 -0
  618. package/dist/esm/utils/entityLinkParser.js +246 -0
  619. package/dist/esm/utils/entityLinkParser.js.map +1 -0
  620. package/dist/esm/utils/htmlCommentParser.js +117 -0
  621. package/dist/esm/utils/htmlCommentParser.js.map +1 -0
  622. package/dist/esm/utils/image-utils.js +45 -0
  623. package/dist/esm/utils/image-utils.js.map +1 -0
  624. package/dist/esm/utils/intentExtractor.js +45 -0
  625. package/dist/esm/utils/intentExtractor.js.map +1 -0
  626. package/dist/esm/utils/markdownPreprocessor.js +257 -0
  627. package/dist/esm/utils/markdownPreprocessor.js.map +1 -0
  628. package/dist/esm/utils/navigationStack.js +27 -0
  629. package/dist/esm/utils/navigationStack.js.map +1 -0
  630. package/dist/esm/utils/nodeMatchers.js +38 -0
  631. package/dist/esm/utils/nodeMatchers.js.map +1 -0
  632. package/dist/esm/utils/propsExtractor.js +58 -0
  633. package/dist/esm/utils/propsExtractor.js.map +1 -0
  634. package/dist/esm/utils/sessionManager.js +151 -0
  635. package/dist/esm/utils/sessionManager.js.map +1 -0
  636. package/dist/esm/utils/unifiedMarkdownParser.js +36 -0
  637. package/dist/esm/utils/unifiedMarkdownParser.js.map +1 -0
  638. package/dist/esm/utils/web5LinkValidator.js +52 -0
  639. package/dist/esm/utils/web5LinkValidator.js.map +1 -0
  640. package/dist/esm/utils/web5LinkValidator.test.js +113 -0
  641. package/dist/esm/utils/web5LinkValidator.test.js.map +1 -0
  642. package/dist/types/client/clientBundleOverride.d.ts +26 -0
  643. package/dist/types/client/clientBundleOverride.d.ts.map +1 -0
  644. package/dist/types/client/devEnvironment.d.ts +24 -0
  645. package/dist/types/client/devEnvironment.d.ts.map +1 -0
  646. package/dist/types/client/loadClientBundle.d.ts +27 -0
  647. package/dist/types/client/loadClientBundle.d.ts.map +1 -0
  648. package/dist/types/client/wixAuthFetch.d.ts +12 -0
  649. package/dist/types/client/wixAuthFetch.d.ts.map +1 -0
  650. package/dist/types/clients.d.ts +10 -0
  651. package/dist/types/clients.d.ts.map +1 -0
  652. package/dist/types/color/colorUtils.d.ts +9 -0
  653. package/dist/types/color/colorUtils.d.ts.map +1 -0
  654. package/dist/types/component/componentDefinitions/CalloutSectionDefinition.d.ts +11 -0
  655. package/dist/types/component/componentDefinitions/CalloutSectionDefinition.d.ts.map +1 -0
  656. package/dist/types/component/componentDefinitions/ComparisonSectionDefinition.d.ts +11 -0
  657. package/dist/types/component/componentDefinitions/ComparisonSectionDefinition.d.ts.map +1 -0
  658. package/dist/types/component/componentDefinitions/CtaBannerSectionDefinition.d.ts +11 -0
  659. package/dist/types/component/componentDefinitions/CtaBannerSectionDefinition.d.ts.map +1 -0
  660. package/dist/types/component/componentDefinitions/EntitySectionDefinition.d.ts +11 -0
  661. package/dist/types/component/componentDefinitions/EntitySectionDefinition.d.ts.map +1 -0
  662. package/dist/types/component/componentDefinitions/ErrorSectionDefinition.d.ts +12 -0
  663. package/dist/types/component/componentDefinitions/ErrorSectionDefinition.d.ts.map +1 -0
  664. package/dist/types/component/componentDefinitions/FallbackSectionDefinition.d.ts +16 -0
  665. package/dist/types/component/componentDefinitions/FallbackSectionDefinition.d.ts.map +1 -0
  666. package/dist/types/component/componentDefinitions/FeatureCardsSectionDefinition.d.ts +11 -0
  667. package/dist/types/component/componentDefinitions/FeatureCardsSectionDefinition.d.ts.map +1 -0
  668. package/dist/types/component/componentDefinitions/FeatureSection9PlusDefinition.d.ts +11 -0
  669. package/dist/types/component/componentDefinitions/FeatureSection9PlusDefinition.d.ts.map +1 -0
  670. package/dist/types/component/componentDefinitions/HeroEntitySectionDefinition.d.ts +23 -0
  671. package/dist/types/component/componentDefinitions/HeroEntitySectionDefinition.d.ts.map +1 -0
  672. package/dist/types/component/componentDefinitions/HeroSectionDefinition.d.ts +12 -0
  673. package/dist/types/component/componentDefinitions/HeroSectionDefinition.d.ts.map +1 -0
  674. package/dist/types/component/componentDefinitions/HtmlCommentSectionDefinition.d.ts +11 -0
  675. package/dist/types/component/componentDefinitions/HtmlCommentSectionDefinition.d.ts.map +1 -0
  676. package/dist/types/component/componentDefinitions/KpiSectionDefinition.d.ts +11 -0
  677. package/dist/types/component/componentDefinitions/KpiSectionDefinition.d.ts.map +1 -0
  678. package/dist/types/component/componentDefinitions/NextStepsSectionDefinition.d.ts +11 -0
  679. package/dist/types/component/componentDefinitions/NextStepsSectionDefinition.d.ts.map +1 -0
  680. package/dist/types/component/componentDefinitions/SearchSectionDefinition.d.ts +10 -0
  681. package/dist/types/component/componentDefinitions/SearchSectionDefinition.d.ts.map +1 -0
  682. package/dist/types/component/componentDefinitions/SkipNodesSectionDefinition.d.ts +12 -0
  683. package/dist/types/component/componentDefinitions/SkipNodesSectionDefinition.d.ts.map +1 -0
  684. package/dist/types/component/componentDefinitions/TextBlockSectionDefinition.d.ts +11 -0
  685. package/dist/types/component/componentDefinitions/TextBlockSectionDefinition.d.ts.map +1 -0
  686. package/dist/types/component/componentDefinitions/index.d.ts +26 -0
  687. package/dist/types/component/componentDefinitions/index.d.ts.map +1 -0
  688. package/dist/types/component/componentDefinitions/listItemsSectionDefinition.d.ts +11 -0
  689. package/dist/types/component/componentDefinitions/listItemsSectionDefinition.d.ts.map +1 -0
  690. package/dist/types/component/componentDefinitions/parse-utils.d.ts +88 -0
  691. package/dist/types/component/componentDefinitions/parse-utils.d.ts.map +1 -0
  692. package/dist/types/component/componentDefinitions/specHelpers.d.ts +16 -0
  693. package/dist/types/component/componentDefinitions/specHelpers.d.ts.map +1 -0
  694. package/dist/types/component/componentParser.d.ts +63 -0
  695. package/dist/types/component/componentParser.d.ts.map +1 -0
  696. package/dist/types/component/diagnosticTypes.d.ts +23 -0
  697. package/dist/types/component/diagnosticTypes.d.ts.map +1 -0
  698. package/dist/types/component/parser-types.d.ts +71 -0
  699. package/dist/types/component/parser-types.d.ts.map +1 -0
  700. package/dist/types/component/section-definition.d.ts +32 -0
  701. package/dist/types/component/section-definition.d.ts.map +1 -0
  702. package/dist/types/component/types.d.ts +315 -0
  703. package/dist/types/component/types.d.ts.map +1 -0
  704. package/dist/types/components/placement/PlacementPayloadContext.d.ts +20 -0
  705. package/dist/types/components/placement/PlacementPayloadContext.d.ts.map +1 -0
  706. package/dist/types/components/placement/PlacementResponseRenderer.d.ts +106 -0
  707. package/dist/types/components/placement/PlacementResponseRenderer.d.ts.map +1 -0
  708. package/dist/types/components/placement/buildPlacementDependencies.d.ts +44 -0
  709. package/dist/types/components/placement/buildPlacementDependencies.d.ts.map +1 -0
  710. package/dist/types/components/ui/BottomContainer.d.ts +9 -0
  711. package/dist/types/components/ui/BottomContainer.d.ts.map +1 -0
  712. package/dist/types/components/ui/CalloutBlock.d.ts +9 -0
  713. package/dist/types/components/ui/CalloutBlock.d.ts.map +1 -0
  714. package/dist/types/components/ui/Disclaimer.d.ts +21 -0
  715. package/dist/types/components/ui/Disclaimer.d.ts.map +1 -0
  716. package/dist/types/components/ui/FeedbackBar.d.ts +41 -0
  717. package/dist/types/components/ui/FeedbackBar.d.ts.map +1 -0
  718. package/dist/types/components/ui/Loader.d.ts +9 -0
  719. package/dist/types/components/ui/Loader.d.ts.map +1 -0
  720. package/dist/types/components/ui/MarkdownText.d.ts +9 -0
  721. package/dist/types/components/ui/MarkdownText.d.ts.map +1 -0
  722. package/dist/types/components/ui/OptimizedImage.d.ts +59 -0
  723. package/dist/types/components/ui/OptimizedImage.d.ts.map +1 -0
  724. package/dist/types/components/ui/PlacementLoader.d.ts +15 -0
  725. package/dist/types/components/ui/PlacementLoader.d.ts.map +1 -0
  726. package/dist/types/components/ui/PromptEntryEmptyState.d.ts +21 -0
  727. package/dist/types/components/ui/PromptEntryEmptyState.d.ts.map +1 -0
  728. package/dist/types/components/ui/SearchSection.d.ts +37 -0
  729. package/dist/types/components/ui/SearchSection.d.ts.map +1 -0
  730. package/dist/types/components/ui/SectionSkeleton.d.ts +27 -0
  731. package/dist/types/components/ui/SectionSkeleton.d.ts.map +1 -0
  732. package/dist/types/components/ui/SmartIcon.d.ts +19 -0
  733. package/dist/types/components/ui/SmartIcon.d.ts.map +1 -0
  734. package/dist/types/components/ui/UnifiedLink.d.ts +22 -0
  735. package/dist/types/components/ui/UnifiedLink.d.ts.map +1 -0
  736. package/dist/types/components/ui/UserQuery.d.ts +33 -0
  737. package/dist/types/components/ui/UserQuery.d.ts.map +1 -0
  738. package/dist/types/components/ui/icons/ArrowTopRightIcon.d.ts +3 -0
  739. package/dist/types/components/ui/icons/ArrowTopRightIcon.d.ts.map +1 -0
  740. package/dist/types/components/ui/icons/ArrowUpIcon.d.ts +3 -0
  741. package/dist/types/components/ui/icons/ArrowUpIcon.d.ts.map +1 -0
  742. package/dist/types/components/ui/icons/CheckIcon.d.ts +3 -0
  743. package/dist/types/components/ui/icons/CheckIcon.d.ts.map +1 -0
  744. package/dist/types/components/ui/icons/CommentIcon.d.ts +3 -0
  745. package/dist/types/components/ui/icons/CommentIcon.d.ts.map +1 -0
  746. package/dist/types/components/ui/icons/PlusIcon.d.ts +3 -0
  747. package/dist/types/components/ui/icons/PlusIcon.d.ts.map +1 -0
  748. package/dist/types/components/ui/icons/RedoIcon.d.ts +3 -0
  749. package/dist/types/components/ui/icons/RedoIcon.d.ts.map +1 -0
  750. package/dist/types/components/ui/icons/ShareIcon.d.ts +3 -0
  751. package/dist/types/components/ui/icons/ShareIcon.d.ts.map +1 -0
  752. package/dist/types/components/ui/icons/UndoIcon.d.ts +3 -0
  753. package/dist/types/components/ui/icons/UndoIcon.d.ts.map +1 -0
  754. package/dist/types/components/ui/table.d.ts +11 -0
  755. package/dist/types/components/ui/table.d.ts.map +1 -0
  756. package/dist/types/context/ChipsContext.d.ts +8 -0
  757. package/dist/types/context/ChipsContext.d.ts.map +1 -0
  758. package/dist/types/context/ComponentDependenciesContext.d.ts +8 -0
  759. package/dist/types/context/ComponentDependenciesContext.d.ts.map +1 -0
  760. package/dist/types/entity/defaultExtractor.d.ts +14 -0
  761. package/dist/types/entity/defaultExtractor.d.ts.map +1 -0
  762. package/dist/types/entity/enrichEntitiesFromPayload.d.ts +27 -0
  763. package/dist/types/entity/enrichEntitiesFromPayload.d.ts.map +1 -0
  764. package/dist/types/entity/fetchEntityListData.d.ts +20 -0
  765. package/dist/types/entity/fetchEntityListData.d.ts.map +1 -0
  766. package/dist/types/entity/index.d.ts +16 -0
  767. package/dist/types/entity/index.d.ts.map +1 -0
  768. package/dist/types/entity/types.d.ts +13 -0
  769. package/dist/types/entity/types.d.ts.map +1 -0
  770. package/dist/types/errors/conversationErrorTypes.d.ts +20 -0
  771. package/dist/types/errors/conversationErrorTypes.d.ts.map +1 -0
  772. package/dist/types/errors/errorTemplates.d.ts +27 -0
  773. package/dist/types/errors/errorTemplates.d.ts.map +1 -0
  774. package/dist/types/errors/index.d.ts +3 -0
  775. package/dist/types/errors/index.d.ts.map +1 -0
  776. package/dist/types/featureToggles/FeatureToggleContext.d.ts +18 -0
  777. package/dist/types/featureToggles/FeatureToggleContext.d.ts.map +1 -0
  778. package/dist/types/hooks/useConversation.d.ts +3 -0
  779. package/dist/types/hooks/useConversation.d.ts.map +1 -0
  780. package/dist/types/hooks/useDebugImageContext.d.ts +2 -0
  781. package/dist/types/hooks/useDebugImageContext.d.ts.map +1 -0
  782. package/dist/types/hooks/useEntityTransforms.d.ts +3 -0
  783. package/dist/types/hooks/useEntityTransforms.d.ts.map +1 -0
  784. package/dist/types/hooks/useMarkdownUtils.d.ts +3 -0
  785. package/dist/types/hooks/useMarkdownUtils.d.ts.map +1 -0
  786. package/dist/types/hooks/useResolveGenericEntityData.d.ts +11 -0
  787. package/dist/types/hooks/useResolveGenericEntityData.d.ts.map +1 -0
  788. package/dist/types/hooks/useResolveSearchSpringEntityData.d.ts +20 -0
  789. package/dist/types/hooks/useResolveSearchSpringEntityData.d.ts.map +1 -0
  790. package/dist/types/hooks/useResolveShopifyEntityData.d.ts +21 -0
  791. package/dist/types/hooks/useResolveShopifyEntityData.d.ts.map +1 -0
  792. package/dist/types/hooks/useResolvedImageSources.d.ts +6 -0
  793. package/dist/types/hooks/useResolvedImageSources.d.ts.map +1 -0
  794. package/dist/types/hooks/useWeb5Link.d.ts +3 -0
  795. package/dist/types/hooks/useWeb5Link.d.ts.map +1 -0
  796. package/dist/types/image/contextualImageTypes.d.ts +17 -0
  797. package/dist/types/image/contextualImageTypes.d.ts.map +1 -0
  798. package/dist/types/image/imageSearchFilterTypes.d.ts +14 -0
  799. package/dist/types/image/imageSearchFilterTypes.d.ts.map +1 -0
  800. package/dist/types/image/imageSearchFilters.d.ts +16 -0
  801. package/dist/types/image/imageSearchFilters.d.ts.map +1 -0
  802. package/dist/types/index.d.ts +88 -0
  803. package/dist/types/index.d.ts.map +1 -0
  804. package/dist/types/lib/utils.d.ts +3 -0
  805. package/dist/types/lib/utils.d.ts.map +1 -0
  806. package/dist/types/markdownBlocks.d.ts +44 -0
  807. package/dist/types/markdownBlocks.d.ts.map +1 -0
  808. package/dist/types/match/astToParts.d.ts +15 -0
  809. package/dist/types/match/astToParts.d.ts.map +1 -0
  810. package/dist/types/match/extractProps.d.ts +207 -0
  811. package/dist/types/match/extractProps.d.ts.map +1 -0
  812. package/dist/types/match/index.d.ts +4 -0
  813. package/dist/types/match/index.d.ts.map +1 -0
  814. package/dist/types/match/matchAllSections.d.ts +15 -0
  815. package/dist/types/match/matchAllSections.d.ts.map +1 -0
  816. package/dist/types/match/matchMarkdown.d.ts +25 -0
  817. package/dist/types/match/matchMarkdown.d.ts.map +1 -0
  818. package/dist/types/parts/parts.d.ts +144 -0
  819. package/dist/types/parts/parts.d.ts.map +1 -0
  820. package/dist/types/patternAnalyzer/conflictDetector.d.ts +19 -0
  821. package/dist/types/patternAnalyzer/conflictDetector.d.ts.map +1 -0
  822. package/dist/types/patternAnalyzer/index.d.ts +10 -0
  823. package/dist/types/patternAnalyzer/index.d.ts.map +1 -0
  824. package/dist/types/patternAnalyzer/markdownGenerator.d.ts +9 -0
  825. package/dist/types/patternAnalyzer/markdownGenerator.d.ts.map +1 -0
  826. package/dist/types/patternAnalyzer/mergeDetector.d.ts +14 -0
  827. package/dist/types/patternAnalyzer/mergeDetector.d.ts.map +1 -0
  828. package/dist/types/patternAnalyzer/parserValidator.d.ts +13 -0
  829. package/dist/types/patternAnalyzer/parserValidator.d.ts.map +1 -0
  830. package/dist/types/patternAnalyzer/patternWriter.d.ts +8 -0
  831. package/dist/types/patternAnalyzer/patternWriter.d.ts.map +1 -0
  832. package/dist/types/patternAnalyzer/run.d.ts +2 -0
  833. package/dist/types/patternAnalyzer/run.d.ts.map +1 -0
  834. package/dist/types/patternAnalyzer/types.d.ts +59 -0
  835. package/dist/types/patternAnalyzer/types.d.ts.map +1 -0
  836. package/dist/types/patternValidator/automaton.d.ts +3 -0
  837. package/dist/types/patternValidator/automaton.d.ts.map +1 -0
  838. package/dist/types/patternValidator/index.d.ts +48 -0
  839. package/dist/types/patternValidator/index.d.ts.map +1 -0
  840. package/dist/types/patternValidator/lexer.d.ts +3 -0
  841. package/dist/types/patternValidator/lexer.d.ts.map +1 -0
  842. package/dist/types/patternValidator/matcher.d.ts +14 -0
  843. package/dist/types/patternValidator/matcher.d.ts.map +1 -0
  844. package/dist/types/patternValidator/parser.d.ts +14 -0
  845. package/dist/types/patternValidator/parser.d.ts.map +1 -0
  846. package/dist/types/patternValidator/types.d.ts +125 -0
  847. package/dist/types/patternValidator/types.d.ts.map +1 -0
  848. package/dist/types/patternValidator/validator.test.d.ts +2 -0
  849. package/dist/types/patternValidator/validator.test.d.ts.map +1 -0
  850. package/dist/types/registry/ComponentRegistry.d.ts +64 -0
  851. package/dist/types/registry/ComponentRegistry.d.ts.map +1 -0
  852. package/dist/types/registry/Intent.d.ts +12 -0
  853. package/dist/types/registry/Intent.d.ts.map +1 -0
  854. package/dist/types/registry/index.d.ts +4 -0
  855. package/dist/types/registry/index.d.ts.map +1 -0
  856. package/dist/types/registry/types.d.ts +99 -0
  857. package/dist/types/registry/types.d.ts.map +1 -0
  858. package/dist/types/services/cart/addToCart.d.ts +26 -0
  859. package/dist/types/services/cart/addToCart.d.ts.map +1 -0
  860. package/dist/types/services/cart/index.d.ts +2 -0
  861. package/dist/types/services/cart/index.d.ts.map +1 -0
  862. package/dist/types/services/searchspring/index.d.ts +4 -0
  863. package/dist/types/services/searchspring/index.d.ts.map +1 -0
  864. package/dist/types/services/searchspring/searchSpringClient.d.ts +13 -0
  865. package/dist/types/services/searchspring/searchSpringClient.d.ts.map +1 -0
  866. package/dist/types/services/searchspring/transformSSProduct.d.ts +7 -0
  867. package/dist/types/services/searchspring/transformSSProduct.d.ts.map +1 -0
  868. package/dist/types/services/searchspring/types.d.ts +48 -0
  869. package/dist/types/services/searchspring/types.d.ts.map +1 -0
  870. package/dist/types/services/shopify/index.d.ts +7 -0
  871. package/dist/types/services/shopify/index.d.ts.map +1 -0
  872. package/dist/types/services/shopify/queries.d.ts +13 -0
  873. package/dist/types/services/shopify/queries.d.ts.map +1 -0
  874. package/dist/types/services/shopify/resolveStoreDomain.d.ts +14 -0
  875. package/dist/types/services/shopify/resolveStoreDomain.d.ts.map +1 -0
  876. package/dist/types/services/shopify/shopifyEntityResolver.d.ts +21 -0
  877. package/dist/types/services/shopify/shopifyEntityResolver.d.ts.map +1 -0
  878. package/dist/types/services/shopify/shopifyStorefrontClient.d.ts +19 -0
  879. package/dist/types/services/shopify/shopifyStorefrontClient.d.ts.map +1 -0
  880. package/dist/types/services/shopify/transformShopifyEntity.d.ts +11 -0
  881. package/dist/types/services/shopify/transformShopifyEntity.d.ts.map +1 -0
  882. package/dist/types/services/shopify/types.d.ts +109 -0
  883. package/dist/types/services/shopify/types.d.ts.map +1 -0
  884. package/dist/types/testUtils.d.ts +7 -0
  885. package/dist/types/testUtils.d.ts.map +1 -0
  886. package/dist/types/types/answerUpdatedEvent.d.ts +29 -0
  887. package/dist/types/types/answerUpdatedEvent.d.ts.map +1 -0
  888. package/dist/types/types/blog.d.ts +22 -0
  889. package/dist/types/types/blog.d.ts.map +1 -0
  890. package/dist/types/types/callout.d.ts +7 -0
  891. package/dist/types/types/callout.d.ts.map +1 -0
  892. package/dist/types/types/dependencies.d.ts +191 -0
  893. package/dist/types/types/dependencies.d.ts.map +1 -0
  894. package/dist/types/types/entity.d.ts +38 -0
  895. package/dist/types/types/entity.d.ts.map +1 -0
  896. package/dist/types/types/link-types.d.ts +38 -0
  897. package/dist/types/types/link-types.d.ts.map +1 -0
  898. package/dist/types/types/page-section.d.ts +27 -0
  899. package/dist/types/types/page-section.d.ts.map +1 -0
  900. package/dist/types/types/placement.d.ts +94 -0
  901. package/dist/types/types/placement.d.ts.map +1 -0
  902. package/dist/types/types/redirectEvent.d.ts +42 -0
  903. package/dist/types/types/redirectEvent.d.ts.map +1 -0
  904. package/dist/types/types/userQueryEvent.d.ts +24 -0
  905. package/dist/types/types/userQueryEvent.d.ts.map +1 -0
  906. package/dist/types/utils/analyticsEvents.d.ts +24 -0
  907. package/dist/types/utils/analyticsEvents.d.ts.map +1 -0
  908. package/dist/types/utils/componentTracking.d.ts +55 -0
  909. package/dist/types/utils/componentTracking.d.ts.map +1 -0
  910. package/dist/types/utils/contentKeywordMatcher.d.ts +14 -0
  911. package/dist/types/utils/contentKeywordMatcher.d.ts.map +1 -0
  912. package/dist/types/utils/conversationApi.d.ts +26 -0
  913. package/dist/types/utils/conversationApi.d.ts.map +1 -0
  914. package/dist/types/utils/conversationMode.d.ts +16 -0
  915. package/dist/types/utils/conversationMode.d.ts.map +1 -0
  916. package/dist/types/utils/diagnosticsCollector.d.ts +33 -0
  917. package/dist/types/utils/diagnosticsCollector.d.ts.map +1 -0
  918. package/dist/types/utils/entityLinkParser.d.ts +97 -0
  919. package/dist/types/utils/entityLinkParser.d.ts.map +1 -0
  920. package/dist/types/utils/htmlCommentParser.d.ts +13 -0
  921. package/dist/types/utils/htmlCommentParser.d.ts.map +1 -0
  922. package/dist/types/utils/image-utils.d.ts +10 -0
  923. package/dist/types/utils/image-utils.d.ts.map +1 -0
  924. package/dist/types/utils/intentExtractor.d.ts +11 -0
  925. package/dist/types/utils/intentExtractor.d.ts.map +1 -0
  926. package/dist/types/utils/markdownPreprocessor.d.ts +95 -0
  927. package/dist/types/utils/markdownPreprocessor.d.ts.map +1 -0
  928. package/dist/types/utils/navigationStack.d.ts +6 -0
  929. package/dist/types/utils/navigationStack.d.ts.map +1 -0
  930. package/dist/types/utils/nodeMatchers.d.ts +10 -0
  931. package/dist/types/utils/nodeMatchers.d.ts.map +1 -0
  932. package/dist/types/utils/propsExtractor.d.ts +51 -0
  933. package/dist/types/utils/propsExtractor.d.ts.map +1 -0
  934. package/dist/types/utils/sessionManager.d.ts +57 -0
  935. package/dist/types/utils/sessionManager.d.ts.map +1 -0
  936. package/dist/types/utils/unifiedMarkdownParser.d.ts +9 -0
  937. package/dist/types/utils/unifiedMarkdownParser.d.ts.map +1 -0
  938. package/dist/types/utils/web5LinkValidator.d.ts +14 -0
  939. package/dist/types/utils/web5LinkValidator.d.ts.map +1 -0
  940. package/dist/types/utils/web5LinkValidator.test.d.ts +2 -0
  941. package/dist/types/utils/web5LinkValidator.test.d.ts.map +1 -0
  942. package/package.json +103 -0
  943. package/src/styles/base-tokens.css +152 -0
  944. package/src/styles/base-utilities.css +424 -0
  945. package/src/styles/components.css +6 -0
  946. package/src/styles/prompt-input-tokens.css +136 -0
  947. package/src/styles/tailwind-theme.css +138 -0
@@ -0,0 +1,52 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ /**
3
+ * Diagnostics collector — pure data class for buffering parser/render-time
4
+ * diagnostic entries with dedup. Lifted from `web50-server-ui` per DL #088 B9.4.
5
+ *
6
+ * The BI-firing + app-store-aware singleton wrapping (`fireDiagnosticEvent`,
7
+ * `setLastDiagnosticsCollector`, `flushDiagnostics`) stays in
8
+ * `web50-server-ui/src/utils/diagnosticsCollector.ts` because it depends on
9
+ * the BI logger + app store. After B9.5, the lifted `parseMarkdownToComponents`
10
+ * accepts a `DiagnosticsCollector` instance via options and never touches the
11
+ * singleton, so the placement bundle can construct its own collector and read
12
+ * the entries directly without involving BI.
13
+ */
14
+
15
+ export class DiagnosticsCollector {
16
+ constructor() {
17
+ _defineProperty(this, "entries", []);
18
+ _defineProperty(this, "seen", new Set());
19
+ }
20
+ static entryKey(entry) {
21
+ return `${entry.sectionType}:${entry.sectionIndex}:${entry.diagnosticType}:${entry.details}`;
22
+ }
23
+ report(entry) {
24
+ const key = DiagnosticsCollector.entryKey(entry);
25
+ if (this.seen.has(key)) {
26
+ return;
27
+ }
28
+ this.seen.add(key);
29
+ this.entries.push(entry);
30
+ }
31
+
32
+ /**
33
+ * Add to dedup set and return true if this is a new entry. Does NOT buffer —
34
+ * use for render-time diagnostics that fire immediately.
35
+ */
36
+ reportIfNew(entry) {
37
+ const key = DiagnosticsCollector.entryKey(entry);
38
+ if (this.seen.has(key)) {
39
+ return false;
40
+ }
41
+ this.seen.add(key);
42
+ return true;
43
+ }
44
+ getEntries() {
45
+ return [...this.entries];
46
+ }
47
+ clear() {
48
+ this.entries = [];
49
+ this.seen.clear();
50
+ }
51
+ }
52
+ //# sourceMappingURL=diagnosticsCollector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DiagnosticsCollector","constructor","_defineProperty","Set","entryKey","entry","sectionType","sectionIndex","diagnosticType","details","report","key","seen","has","add","entries","push","reportIfNew","getEntries","clear"],"sources":["../../../src/utils/diagnosticsCollector.ts"],"sourcesContent":["/**\n * Diagnostics collector — pure data class for buffering parser/render-time\n * diagnostic entries with dedup. Lifted from `web50-server-ui` per DL #088 B9.4.\n *\n * The BI-firing + app-store-aware singleton wrapping (`fireDiagnosticEvent`,\n * `setLastDiagnosticsCollector`, `flushDiagnostics`) stays in\n * `web50-server-ui/src/utils/diagnosticsCollector.ts` because it depends on\n * the BI logger + app store. After B9.5, the lifted `parseMarkdownToComponents`\n * accepts a `DiagnosticsCollector` instance via options and never touches the\n * singleton, so the placement bundle can construct its own collector and read\n * the entries directly without involving BI.\n */\nimport type { DiagnosticType } from '../component/diagnosticTypes';\n\nexport interface DiagnosticEntry {\n diagnosticType: DiagnosticType;\n sectionType: string;\n sectionIndex: number;\n details: string;\n}\n\nexport class DiagnosticsCollector {\n private entries: DiagnosticEntry[] = [];\n private seen = new Set<string>();\n\n private static entryKey(entry: DiagnosticEntry): string {\n return `${entry.sectionType}:${entry.sectionIndex}:${entry.diagnosticType}:${entry.details}`;\n }\n\n report(entry: DiagnosticEntry): void {\n const key = DiagnosticsCollector.entryKey(entry);\n if (this.seen.has(key)) {\n return;\n }\n this.seen.add(key);\n this.entries.push(entry);\n }\n\n /**\n * Add to dedup set and return true if this is a new entry. Does NOT buffer —\n * use for render-time diagnostics that fire immediately.\n */\n reportIfNew(entry: DiagnosticEntry): boolean {\n const key = DiagnosticsCollector.entryKey(entry);\n if (this.seen.has(key)) {\n return false;\n }\n this.seen.add(key);\n return true;\n }\n\n getEntries(): DiagnosticEntry[] {\n return [...this.entries];\n }\n\n clear(): void {\n this.entries = [];\n this.seen.clear();\n }\n}\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,OAAO,MAAMA,oBAAoB,CAAC;EAAAC,YAAA;IAAAC,eAAA,kBACK,EAAE;IAAAA,eAAA,eACxB,IAAIC,GAAG,CAAS,CAAC;EAAA;EAEhC,OAAeC,QAAQA,CAACC,KAAsB,EAAU;IACtD,OAAO,GAAGA,KAAK,CAACC,WAAW,IAAID,KAAK,CAACE,YAAY,IAAIF,KAAK,CAACG,cAAc,IAAIH,KAAK,CAACI,OAAO,EAAE;EAC9F;EAEAC,MAAMA,CAACL,KAAsB,EAAQ;IACnC,MAAMM,GAAG,GAAGX,oBAAoB,CAACI,QAAQ,CAACC,KAAK,CAAC;IAChD,IAAI,IAAI,CAACO,IAAI,CAACC,GAAG,CAACF,GAAG,CAAC,EAAE;MACtB;IACF;IACA,IAAI,CAACC,IAAI,CAACE,GAAG,CAACH,GAAG,CAAC;IAClB,IAAI,CAACI,OAAO,CAACC,IAAI,CAACX,KAAK,CAAC;EAC1B;;EAEA;AACF;AACA;AACA;EACEY,WAAWA,CAACZ,KAAsB,EAAW;IAC3C,MAAMM,GAAG,GAAGX,oBAAoB,CAACI,QAAQ,CAACC,KAAK,CAAC;IAChD,IAAI,IAAI,CAACO,IAAI,CAACC,GAAG,CAACF,GAAG,CAAC,EAAE;MACtB,OAAO,KAAK;IACd;IACA,IAAI,CAACC,IAAI,CAACE,GAAG,CAACH,GAAG,CAAC;IAClB,OAAO,IAAI;EACb;EAEAO,UAAUA,CAAA,EAAsB;IAC9B,OAAO,CAAC,GAAG,IAAI,CAACH,OAAO,CAAC;EAC1B;EAEAI,KAAKA,CAAA,EAAS;IACZ,IAAI,CAACJ,OAAO,GAAG,EAAE;IACjB,IAAI,CAACH,IAAI,CAACO,KAAK,CAAC,CAAC;EACnB;AACF","ignoreList":[]}
@@ -0,0 +1,246 @@
1
+ import { Web5UrlType, isWeb5EntityUrl } from '../types/link-types.js';
2
+ const WEB5_TYPE_PREFIXES = Object.values(Web5UrlType);
3
+
4
+ /**
5
+ * Central parser for unified web5:// URLs.
6
+ *
7
+ * Supported formats:
8
+ * - `web5://ask/msg` → `{ type: Web5UrlType.ASK, path: 'msg' }`
9
+ * - `web5://entity/solution/123` → `{ type: Web5UrlType.ENTITY, path: 'solution/123', entityType: 'solution', entityId: '123' }`
10
+ * - `web5://image/kw` → `{ type: Web5UrlType.IMAGE, path: 'kw' }`
11
+ * - `web5://icon/name` → `{ type: Web5UrlType.ICON, path: 'name' }`
12
+ * - `web5://action/name?param=val` → `{ type: Web5UrlType.ACTION, path: 'name?param=val', actionName: 'name', actionParams: { param: 'val' } }`
13
+ * - `web5://search/query` → `{ type: Web5UrlType.SEARCH, path: 'query', searchQuery: 'query' }`
14
+ */
15
+ export function parseWeb5Url(url) {
16
+ if (!url || typeof url !== 'string') {
17
+ return null;
18
+ }
19
+ if (!url.startsWith('web5://')) {
20
+ return null;
21
+ }
22
+ const fullPath = url.slice('web5://'.length);
23
+ if (!fullPath) {
24
+ return null;
25
+ }
26
+ for (const prefix of WEB5_TYPE_PREFIXES) {
27
+ if (fullPath === prefix || fullPath.startsWith(prefix + '/')) {
28
+ const path = fullPath.slice(prefix.length + 1);
29
+ switch (prefix) {
30
+ case Web5UrlType.ENTITY:
31
+ {
32
+ const slashIndex = path.indexOf('/');
33
+ if (slashIndex === -1) {
34
+ return {
35
+ type: Web5UrlType.ENTITY,
36
+ path,
37
+ entityType: path,
38
+ entityId: ''
39
+ };
40
+ }
41
+ return {
42
+ type: Web5UrlType.ENTITY,
43
+ path,
44
+ entityType: path.slice(0, slashIndex),
45
+ entityId: path.slice(slashIndex + 1)
46
+ };
47
+ }
48
+ case Web5UrlType.ACTION:
49
+ {
50
+ const qIndex = path.indexOf('?');
51
+ if (qIndex === -1) {
52
+ return {
53
+ type: Web5UrlType.ACTION,
54
+ path,
55
+ actionName: path,
56
+ actionParams: {}
57
+ };
58
+ }
59
+ const params = {};
60
+ const searchParams = new URLSearchParams(path.slice(qIndex + 1));
61
+ searchParams.forEach((value, key) => {
62
+ params[key] = value;
63
+ });
64
+ return {
65
+ type: Web5UrlType.ACTION,
66
+ path,
67
+ actionName: path.slice(0, qIndex),
68
+ actionParams: params
69
+ };
70
+ }
71
+ case Web5UrlType.SEARCH:
72
+ return {
73
+ type: Web5UrlType.SEARCH,
74
+ path,
75
+ searchQuery: path ? decodeURIComponent(path.replace(/\+/g, ' ')) : ''
76
+ };
77
+ case Web5UrlType.ASK:
78
+ return {
79
+ type: Web5UrlType.ASK,
80
+ path
81
+ };
82
+ case Web5UrlType.IMAGE:
83
+ return {
84
+ type: Web5UrlType.IMAGE,
85
+ path
86
+ };
87
+ case Web5UrlType.ICON:
88
+ return {
89
+ type: Web5UrlType.ICON,
90
+ path
91
+ };
92
+ }
93
+ }
94
+ }
95
+ return null;
96
+ }
97
+
98
+ /**
99
+ * Check if a URL is a valid web5:// URL with a recognized type prefix.
100
+ */
101
+ export function isValidWeb5Url(url) {
102
+ return parseWeb5Url(url) !== null;
103
+ }
104
+
105
+ /** Known legacy protocols that are no longer supported */
106
+ const LEGACY_PROTOCOLS = ['entity://', 'image://', 'action://', 'ask://'];
107
+
108
+ /**
109
+ * Validate whether a URL is safe to render as a clickable link.
110
+ *
111
+ * - Standard protocols (http, https, mailto, relative paths) → allowed
112
+ * - Valid `web5://` URLs (recognized type prefix) → allowed
113
+ * - Invalid `web5://` URLs (unrecognized prefix) → rejected
114
+ * - Legacy protocols (`entity://`, `image://`, `action://`, `ask://`) → rejected
115
+ * - Other custom protocols → rejected
116
+ *
117
+ * @returns the URL as `ValidLinkUrl` if valid, or `undefined` if it should not be rendered.
118
+ * When invalid, logs a warning for observability.
119
+ */
120
+ export function validateLinkUrl(url) {
121
+ if (!url) {
122
+ return undefined;
123
+ }
124
+ if (url.startsWith('http://') || url.startsWith('https://') || url.startsWith('mailto:') || url.startsWith('/')) {
125
+ return url;
126
+ }
127
+ if (url.startsWith('web5://')) {
128
+ if (parseWeb5Url(url)) {
129
+ return url;
130
+ }
131
+ console.log(`[web5-link] Invalid web5:// URL rejected: "${url}"`);
132
+ return undefined;
133
+ }
134
+ if (LEGACY_PROTOCOLS.some(p => url.startsWith(p))) {
135
+ console.log(`[web5-link] Legacy protocol URL rejected: "${url}". Use web5:// format instead.`);
136
+ return undefined;
137
+ }
138
+ return undefined;
139
+ }
140
+
141
+ /**
142
+ * Check if a URL is a web5://entity/ link
143
+ * @param url - The URL to check
144
+ * @returns true if the URL is an entity link
145
+ */
146
+ export function isEntityLink(url) {
147
+ if (!url || typeof url !== 'string') {
148
+ return false;
149
+ }
150
+ return isWeb5EntityUrl(url);
151
+ }
152
+
153
+ /**
154
+ * Parse a web5://entity/ URL and extract entityType and entityId
155
+ * Format: web5://entity/{entityType}/{entityId}
156
+ *
157
+ * @param url - The web5://entity/ URL to parse
158
+ * @returns Object with entityType and entityId, or null if not a valid entity link
159
+ *
160
+ * @example
161
+ * parseEntityLink('web5://entity/blog_post/abc123')
162
+ * // Returns: { entityType: 'blog_post', entityId: 'abc123' }
163
+ */
164
+ export function parseEntityLink(url) {
165
+ if (!isEntityLink(url)) {
166
+ return null;
167
+ }
168
+ const path = url.slice('web5://entity/'.length);
169
+
170
+ // Split by '/' to get entityType and entityId
171
+ const slashIndex = path.indexOf('/');
172
+ if (slashIndex === -1) {
173
+ // No slash found - only entityType, no entityId
174
+ const entityType = path.trim();
175
+ if (entityType) {
176
+ return {
177
+ entityType,
178
+ entityId: ''
179
+ };
180
+ }
181
+ return null;
182
+ }
183
+ const entityType = path.slice(0, slashIndex).trim();
184
+ const entityId = path.slice(slashIndex + 1).trim();
185
+ if (!entityType) {
186
+ return null;
187
+ }
188
+ return {
189
+ entityType,
190
+ entityId
191
+ };
192
+ }
193
+
194
+ /**
195
+ * Extract protocol from a URL
196
+ * @param url - The URL to extract protocol from
197
+ * @returns The protocol (e.g., 'entity', 'http', 'https') or undefined
198
+ */
199
+ export function extractProtocol(url) {
200
+ if (!url || typeof url !== 'string') {
201
+ return undefined;
202
+ }
203
+ const match = url.match(/^([a-zA-Z][a-zA-Z0-9+.-]*):\/\//);
204
+ if (match) {
205
+ return match[1].toLowerCase();
206
+ }
207
+ return undefined;
208
+ }
209
+
210
+ /**
211
+ * Extract LinkMetadata from a link AST node
212
+ * @param node - AST node of type 'link'
213
+ * @returns LinkMetadata object with url, protocol, and entity fields, or null
214
+ * when the URL is missing or whitespace-only (empty-href links are dropped
215
+ * by the upstream pipeline; see `markdownBlocks.ts`).
216
+ */
217
+ export function extractLinkMetadata(node) {
218
+ if (!node || node.type !== 'link') {
219
+ return null;
220
+ }
221
+ const url = node.url;
222
+ if (typeof url !== 'string' || url.trim() === '') {
223
+ return null;
224
+ }
225
+ const metadata = {
226
+ url
227
+ };
228
+
229
+ // Extract protocol
230
+ const protocol = extractProtocol(url);
231
+ if (protocol) {
232
+ metadata.protocol = protocol;
233
+ }
234
+ if (protocol === 'web5') {
235
+ const parsed = parseWeb5Url(url);
236
+ if (parsed) {
237
+ metadata.web5Type = parsed.type;
238
+ if (parsed.type === Web5UrlType.ENTITY) {
239
+ metadata.entityType = parsed.entityType;
240
+ metadata.entityId = parsed.entityId;
241
+ }
242
+ }
243
+ }
244
+ return metadata;
245
+ }
246
+ //# sourceMappingURL=entityLinkParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Web5UrlType","isWeb5EntityUrl","WEB5_TYPE_PREFIXES","Object","values","parseWeb5Url","url","startsWith","fullPath","slice","length","prefix","path","ENTITY","slashIndex","indexOf","type","entityType","entityId","ACTION","qIndex","actionName","actionParams","params","searchParams","URLSearchParams","forEach","value","key","SEARCH","searchQuery","decodeURIComponent","replace","ASK","IMAGE","ICON","isValidWeb5Url","LEGACY_PROTOCOLS","validateLinkUrl","undefined","console","log","some","p","isEntityLink","parseEntityLink","trim","extractProtocol","match","toLowerCase","extractLinkMetadata","node","metadata","protocol","parsed","web5Type"],"sources":["../../../src/utils/entityLinkParser.ts"],"sourcesContent":["import type { LinkMetadata } from '../patternValidator/types';\nimport {\n Web5UrlType,\n isWeb5EntityUrl,\n type ValidLinkUrl,\n} from '../types/link-types';\n\nexport interface Web5AskParsed {\n type: Web5UrlType.ASK;\n path: string;\n}\n\nexport interface Web5EntityParsed {\n type: Web5UrlType.ENTITY;\n path: string;\n entityType: string;\n entityId: string;\n}\n\nexport interface Web5ImageParsed {\n type: Web5UrlType.IMAGE;\n path: string;\n}\n\nexport interface Web5IconParsed {\n type: Web5UrlType.ICON;\n path: string;\n}\n\nexport interface Web5ActionParsed {\n type: Web5UrlType.ACTION;\n path: string;\n actionName: string;\n actionParams: Record<string, string>;\n}\n\nexport interface Web5SearchParsed {\n type: Web5UrlType.SEARCH;\n path: string;\n searchQuery: string;\n}\n\nexport type Web5UrlParsed =\n | Web5AskParsed\n | Web5EntityParsed\n | Web5ImageParsed\n | Web5IconParsed\n | Web5ActionParsed\n | Web5SearchParsed;\n\nconst WEB5_TYPE_PREFIXES = Object.values(Web5UrlType);\n\n/**\n * Central parser for unified web5:// URLs.\n *\n * Supported formats:\n * - `web5://ask/msg` → `{ type: Web5UrlType.ASK, path: 'msg' }`\n * - `web5://entity/solution/123` → `{ type: Web5UrlType.ENTITY, path: 'solution/123', entityType: 'solution', entityId: '123' }`\n * - `web5://image/kw` → `{ type: Web5UrlType.IMAGE, path: 'kw' }`\n * - `web5://icon/name` → `{ type: Web5UrlType.ICON, path: 'name' }`\n * - `web5://action/name?param=val` → `{ type: Web5UrlType.ACTION, path: 'name?param=val', actionName: 'name', actionParams: { param: 'val' } }`\n * - `web5://search/query` → `{ type: Web5UrlType.SEARCH, path: 'query', searchQuery: 'query' }`\n */\nexport function parseWeb5Url(url: string): Web5UrlParsed | null {\n if (!url || typeof url !== 'string') {\n return null;\n }\n\n if (!url.startsWith('web5://')) {\n return null;\n }\n\n const fullPath = url.slice('web5://'.length);\n if (!fullPath) {\n return null;\n }\n\n for (const prefix of WEB5_TYPE_PREFIXES) {\n if (fullPath === prefix || fullPath.startsWith(prefix + '/')) {\n const path = fullPath.slice(prefix.length + 1);\n\n switch (prefix) {\n case Web5UrlType.ENTITY: {\n const slashIndex = path.indexOf('/');\n if (slashIndex === -1) {\n return {\n type: Web5UrlType.ENTITY,\n path,\n entityType: path,\n entityId: '',\n };\n }\n return {\n type: Web5UrlType.ENTITY,\n path,\n entityType: path.slice(0, slashIndex),\n entityId: path.slice(slashIndex + 1),\n };\n }\n case Web5UrlType.ACTION: {\n const qIndex = path.indexOf('?');\n if (qIndex === -1) {\n return {\n type: Web5UrlType.ACTION,\n path,\n actionName: path,\n actionParams: {},\n };\n }\n const params: Record<string, string> = {};\n const searchParams = new URLSearchParams(path.slice(qIndex + 1));\n searchParams.forEach((value, key) => {\n params[key] = value;\n });\n return {\n type: Web5UrlType.ACTION,\n path,\n actionName: path.slice(0, qIndex),\n actionParams: params,\n };\n }\n case Web5UrlType.SEARCH:\n return {\n type: Web5UrlType.SEARCH,\n path,\n searchQuery: path\n ? decodeURIComponent(path.replace(/\\+/g, ' '))\n : '',\n };\n case Web5UrlType.ASK:\n return { type: Web5UrlType.ASK, path };\n case Web5UrlType.IMAGE:\n return { type: Web5UrlType.IMAGE, path };\n case Web5UrlType.ICON:\n return { type: Web5UrlType.ICON, path };\n }\n }\n }\n\n return null;\n}\n\n/**\n * Check if a URL is a valid web5:// URL with a recognized type prefix.\n */\nexport function isValidWeb5Url(url: string): boolean {\n return parseWeb5Url(url) !== null;\n}\n\n/** Known legacy protocols that are no longer supported */\nconst LEGACY_PROTOCOLS = ['entity://', 'image://', 'action://', 'ask://'];\n\n/**\n * Validate whether a URL is safe to render as a clickable link.\n *\n * - Standard protocols (http, https, mailto, relative paths) → allowed\n * - Valid `web5://` URLs (recognized type prefix) → allowed\n * - Invalid `web5://` URLs (unrecognized prefix) → rejected\n * - Legacy protocols (`entity://`, `image://`, `action://`, `ask://`) → rejected\n * - Other custom protocols → rejected\n *\n * @returns the URL as `ValidLinkUrl` if valid, or `undefined` if it should not be rendered.\n * When invalid, logs a warning for observability.\n */\nexport function validateLinkUrl(\n url: string | undefined,\n): ValidLinkUrl | undefined {\n if (!url) {\n return undefined;\n }\n\n if (\n url.startsWith('http://') ||\n url.startsWith('https://') ||\n url.startsWith('mailto:') ||\n url.startsWith('/')\n ) {\n return url as ValidLinkUrl;\n }\n\n if (url.startsWith('web5://')) {\n if (parseWeb5Url(url)) {\n return url as ValidLinkUrl;\n }\n console.log(`[web5-link] Invalid web5:// URL rejected: \"${url}\"`);\n return undefined;\n }\n\n if (LEGACY_PROTOCOLS.some((p) => url.startsWith(p))) {\n console.log(\n `[web5-link] Legacy protocol URL rejected: \"${url}\". Use web5:// format instead.`,\n );\n return undefined;\n }\n\n return undefined;\n}\n\n/**\n * Check if a URL is a web5://entity/ link\n * @param url - The URL to check\n * @returns true if the URL is an entity link\n */\nexport function isEntityLink(url: string): boolean {\n if (!url || typeof url !== 'string') {\n return false;\n }\n return isWeb5EntityUrl(url);\n}\n\n/**\n * Parse a web5://entity/ URL and extract entityType and entityId\n * Format: web5://entity/{entityType}/{entityId}\n *\n * @param url - The web5://entity/ URL to parse\n * @returns Object with entityType and entityId, or null if not a valid entity link\n *\n * @example\n * parseEntityLink('web5://entity/blog_post/abc123')\n * // Returns: { entityType: 'blog_post', entityId: 'abc123' }\n */\nexport function parseEntityLink(\n url: string,\n): { entityType: string; entityId: string } | null {\n if (!isEntityLink(url)) {\n return null;\n }\n\n const path = url.slice('web5://entity/'.length);\n\n // Split by '/' to get entityType and entityId\n const slashIndex = path.indexOf('/');\n if (slashIndex === -1) {\n // No slash found - only entityType, no entityId\n const entityType = path.trim();\n if (entityType) {\n return { entityType, entityId: '' };\n }\n return null;\n }\n\n const entityType = path.slice(0, slashIndex).trim();\n const entityId = path.slice(slashIndex + 1).trim();\n\n if (!entityType) {\n return null;\n }\n\n return { entityType, entityId };\n}\n\n/**\n * Extract protocol from a URL\n * @param url - The URL to extract protocol from\n * @returns The protocol (e.g., 'entity', 'http', 'https') or undefined\n */\nexport function extractProtocol(url: string): string | undefined {\n if (!url || typeof url !== 'string') {\n return undefined;\n }\n\n const match = url.match(/^([a-zA-Z][a-zA-Z0-9+.-]*):\\/\\//);\n if (match) {\n return match[1].toLowerCase();\n }\n\n return undefined;\n}\n\n/**\n * Extract LinkMetadata from a link AST node\n * @param node - AST node of type 'link'\n * @returns LinkMetadata object with url, protocol, and entity fields, or null\n * when the URL is missing or whitespace-only (empty-href links are dropped\n * by the upstream pipeline; see `markdownBlocks.ts`).\n */\nexport function extractLinkMetadata(node: any): LinkMetadata | null {\n if (!node || node.type !== 'link') {\n return null;\n }\n\n const url = node.url;\n if (typeof url !== 'string' || url.trim() === '') {\n return null;\n }\n\n const metadata: LinkMetadata = {\n url,\n };\n\n // Extract protocol\n const protocol = extractProtocol(url);\n if (protocol) {\n metadata.protocol = protocol;\n }\n\n if (protocol === 'web5') {\n const parsed = parseWeb5Url(url);\n if (parsed) {\n metadata.web5Type = parsed.type;\n if (parsed.type === Web5UrlType.ENTITY) {\n metadata.entityType = parsed.entityType;\n metadata.entityId = parsed.entityId;\n }\n }\n }\n\n return metadata;\n}\n"],"mappings":"AACA,SACEA,WAAW,EACXC,eAAe,QAEV,qBAAqB;AA6C5B,MAAMC,kBAAkB,GAAGC,MAAM,CAACC,MAAM,CAACJ,WAAW,CAAC;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,YAAYA,CAACC,GAAW,EAAwB;EAC9D,IAAI,CAACA,GAAG,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IACnC,OAAO,IAAI;EACb;EAEA,IAAI,CAACA,GAAG,CAACC,UAAU,CAAC,SAAS,CAAC,EAAE;IAC9B,OAAO,IAAI;EACb;EAEA,MAAMC,QAAQ,GAAGF,GAAG,CAACG,KAAK,CAAC,SAAS,CAACC,MAAM,CAAC;EAC5C,IAAI,CAACF,QAAQ,EAAE;IACb,OAAO,IAAI;EACb;EAEA,KAAK,MAAMG,MAAM,IAAIT,kBAAkB,EAAE;IACvC,IAAIM,QAAQ,KAAKG,MAAM,IAAIH,QAAQ,CAACD,UAAU,CAACI,MAAM,GAAG,GAAG,CAAC,EAAE;MAC5D,MAAMC,IAAI,GAAGJ,QAAQ,CAACC,KAAK,CAACE,MAAM,CAACD,MAAM,GAAG,CAAC,CAAC;MAE9C,QAAQC,MAAM;QACZ,KAAKX,WAAW,CAACa,MAAM;UAAE;YACvB,MAAMC,UAAU,GAAGF,IAAI,CAACG,OAAO,CAAC,GAAG,CAAC;YACpC,IAAID,UAAU,KAAK,CAAC,CAAC,EAAE;cACrB,OAAO;gBACLE,IAAI,EAAEhB,WAAW,CAACa,MAAM;gBACxBD,IAAI;gBACJK,UAAU,EAAEL,IAAI;gBAChBM,QAAQ,EAAE;cACZ,CAAC;YACH;YACA,OAAO;cACLF,IAAI,EAAEhB,WAAW,CAACa,MAAM;cACxBD,IAAI;cACJK,UAAU,EAAEL,IAAI,CAACH,KAAK,CAAC,CAAC,EAAEK,UAAU,CAAC;cACrCI,QAAQ,EAAEN,IAAI,CAACH,KAAK,CAACK,UAAU,GAAG,CAAC;YACrC,CAAC;UACH;QACA,KAAKd,WAAW,CAACmB,MAAM;UAAE;YACvB,MAAMC,MAAM,GAAGR,IAAI,CAACG,OAAO,CAAC,GAAG,CAAC;YAChC,IAAIK,MAAM,KAAK,CAAC,CAAC,EAAE;cACjB,OAAO;gBACLJ,IAAI,EAAEhB,WAAW,CAACmB,MAAM;gBACxBP,IAAI;gBACJS,UAAU,EAAET,IAAI;gBAChBU,YAAY,EAAE,CAAC;cACjB,CAAC;YACH;YACA,MAAMC,MAA8B,GAAG,CAAC,CAAC;YACzC,MAAMC,YAAY,GAAG,IAAIC,eAAe,CAACb,IAAI,CAACH,KAAK,CAACW,MAAM,GAAG,CAAC,CAAC,CAAC;YAChEI,YAAY,CAACE,OAAO,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;cACnCL,MAAM,CAACK,GAAG,CAAC,GAAGD,KAAK;YACrB,CAAC,CAAC;YACF,OAAO;cACLX,IAAI,EAAEhB,WAAW,CAACmB,MAAM;cACxBP,IAAI;cACJS,UAAU,EAAET,IAAI,CAACH,KAAK,CAAC,CAAC,EAAEW,MAAM,CAAC;cACjCE,YAAY,EAAEC;YAChB,CAAC;UACH;QACA,KAAKvB,WAAW,CAAC6B,MAAM;UACrB,OAAO;YACLb,IAAI,EAAEhB,WAAW,CAAC6B,MAAM;YACxBjB,IAAI;YACJkB,WAAW,EAAElB,IAAI,GACbmB,kBAAkB,CAACnB,IAAI,CAACoB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAC5C;UACN,CAAC;QACH,KAAKhC,WAAW,CAACiC,GAAG;UAClB,OAAO;YAAEjB,IAAI,EAAEhB,WAAW,CAACiC,GAAG;YAAErB;UAAK,CAAC;QACxC,KAAKZ,WAAW,CAACkC,KAAK;UACpB,OAAO;YAAElB,IAAI,EAAEhB,WAAW,CAACkC,KAAK;YAAEtB;UAAK,CAAC;QAC1C,KAAKZ,WAAW,CAACmC,IAAI;UACnB,OAAO;YAAEnB,IAAI,EAAEhB,WAAW,CAACmC,IAAI;YAAEvB;UAAK,CAAC;MAC3C;IACF;EACF;EAEA,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA,OAAO,SAASwB,cAAcA,CAAC9B,GAAW,EAAW;EACnD,OAAOD,YAAY,CAACC,GAAG,CAAC,KAAK,IAAI;AACnC;;AAEA;AACA,MAAM+B,gBAAgB,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC;;AAEzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAC7BhC,GAAuB,EACG;EAC1B,IAAI,CAACA,GAAG,EAAE;IACR,OAAOiC,SAAS;EAClB;EAEA,IACEjC,GAAG,CAACC,UAAU,CAAC,SAAS,CAAC,IACzBD,GAAG,CAACC,UAAU,CAAC,UAAU,CAAC,IAC1BD,GAAG,CAACC,UAAU,CAAC,SAAS,CAAC,IACzBD,GAAG,CAACC,UAAU,CAAC,GAAG,CAAC,EACnB;IACA,OAAOD,GAAG;EACZ;EAEA,IAAIA,GAAG,CAACC,UAAU,CAAC,SAAS,CAAC,EAAE;IAC7B,IAAIF,YAAY,CAACC,GAAG,CAAC,EAAE;MACrB,OAAOA,GAAG;IACZ;IACAkC,OAAO,CAACC,GAAG,CAAC,8CAA8CnC,GAAG,GAAG,CAAC;IACjE,OAAOiC,SAAS;EAClB;EAEA,IAAIF,gBAAgB,CAACK,IAAI,CAAEC,CAAC,IAAKrC,GAAG,CAACC,UAAU,CAACoC,CAAC,CAAC,CAAC,EAAE;IACnDH,OAAO,CAACC,GAAG,CACT,8CAA8CnC,GAAG,gCACnD,CAAC;IACD,OAAOiC,SAAS;EAClB;EAEA,OAAOA,SAAS;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,YAAYA,CAACtC,GAAW,EAAW;EACjD,IAAI,CAACA,GAAG,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IACnC,OAAO,KAAK;EACd;EACA,OAAOL,eAAe,CAACK,GAAG,CAAC;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASuC,eAAeA,CAC7BvC,GAAW,EACsC;EACjD,IAAI,CAACsC,YAAY,CAACtC,GAAG,CAAC,EAAE;IACtB,OAAO,IAAI;EACb;EAEA,MAAMM,IAAI,GAAGN,GAAG,CAACG,KAAK,CAAC,gBAAgB,CAACC,MAAM,CAAC;;EAE/C;EACA,MAAMI,UAAU,GAAGF,IAAI,CAACG,OAAO,CAAC,GAAG,CAAC;EACpC,IAAID,UAAU,KAAK,CAAC,CAAC,EAAE;IACrB;IACA,MAAMG,UAAU,GAAGL,IAAI,CAACkC,IAAI,CAAC,CAAC;IAC9B,IAAI7B,UAAU,EAAE;MACd,OAAO;QAAEA,UAAU;QAAEC,QAAQ,EAAE;MAAG,CAAC;IACrC;IACA,OAAO,IAAI;EACb;EAEA,MAAMD,UAAU,GAAGL,IAAI,CAACH,KAAK,CAAC,CAAC,EAAEK,UAAU,CAAC,CAACgC,IAAI,CAAC,CAAC;EACnD,MAAM5B,QAAQ,GAAGN,IAAI,CAACH,KAAK,CAACK,UAAU,GAAG,CAAC,CAAC,CAACgC,IAAI,CAAC,CAAC;EAElD,IAAI,CAAC7B,UAAU,EAAE;IACf,OAAO,IAAI;EACb;EAEA,OAAO;IAAEA,UAAU;IAAEC;EAAS,CAAC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS6B,eAAeA,CAACzC,GAAW,EAAsB;EAC/D,IAAI,CAACA,GAAG,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IACnC,OAAOiC,SAAS;EAClB;EAEA,MAAMS,KAAK,GAAG1C,GAAG,CAAC0C,KAAK,CAAC,iCAAiC,CAAC;EAC1D,IAAIA,KAAK,EAAE;IACT,OAAOA,KAAK,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EAC/B;EAEA,OAAOV,SAAS;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASW,mBAAmBA,CAACC,IAAS,EAAuB;EAClE,IAAI,CAACA,IAAI,IAAIA,IAAI,CAACnC,IAAI,KAAK,MAAM,EAAE;IACjC,OAAO,IAAI;EACb;EAEA,MAAMV,GAAG,GAAG6C,IAAI,CAAC7C,GAAG;EACpB,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAACwC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;IAChD,OAAO,IAAI;EACb;EAEA,MAAMM,QAAsB,GAAG;IAC7B9C;EACF,CAAC;;EAED;EACA,MAAM+C,QAAQ,GAAGN,eAAe,CAACzC,GAAG,CAAC;EACrC,IAAI+C,QAAQ,EAAE;IACZD,QAAQ,CAACC,QAAQ,GAAGA,QAAQ;EAC9B;EAEA,IAAIA,QAAQ,KAAK,MAAM,EAAE;IACvB,MAAMC,MAAM,GAAGjD,YAAY,CAACC,GAAG,CAAC;IAChC,IAAIgD,MAAM,EAAE;MACVF,QAAQ,CAACG,QAAQ,GAAGD,MAAM,CAACtC,IAAI;MAC/B,IAAIsC,MAAM,CAACtC,IAAI,KAAKhB,WAAW,CAACa,MAAM,EAAE;QACtCuC,QAAQ,CAACnC,UAAU,GAAGqC,MAAM,CAACrC,UAAU;QACvCmC,QAAQ,CAAClC,QAAQ,GAAGoC,MAAM,CAACpC,QAAQ;MACrC;IACF;EACF;EAEA,OAAOkC,QAAQ;AACjB","ignoreList":[]}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Parse an HTML comment string into a key-value object
3
+ * @param comment - The HTML comment string (e.g., "<!-- key: value, key: value -->")
4
+ * @returns Object with parsed key-value pairs, or empty object if parsing fails
5
+ */
6
+ export function parseHtmlComment(comment) {
7
+ if (!comment || typeof comment !== 'string') {
8
+ return {};
9
+ }
10
+
11
+ // Remove HTML comment markers <!-- and -->
12
+ let content = comment.trim();
13
+ if (content.startsWith('<!--')) {
14
+ content = content.slice(4);
15
+ }
16
+ if (content.endsWith('-->')) {
17
+ content = content.slice(0, -3);
18
+ }
19
+ content = content.trim();
20
+ if (!content) {
21
+ return {};
22
+ }
23
+ const result = {};
24
+
25
+ // Split by comma, but handle commas within quoted values
26
+ const parts = [];
27
+ let currentPart = '';
28
+ let inQuotes = false;
29
+ let quoteChar = '';
30
+ for (let i = 0; i < content.length; i++) {
31
+ const char = content[i];
32
+ if ((char === '"' || char === "'") && (i === 0 || content[i - 1] !== '\\')) {
33
+ if (!inQuotes) {
34
+ inQuotes = true;
35
+ quoteChar = char;
36
+ } else if (char === quoteChar) {
37
+ inQuotes = false;
38
+ quoteChar = '';
39
+ }
40
+ currentPart += char;
41
+ } else if (char === ',' && !inQuotes) {
42
+ parts.push(currentPart.trim());
43
+ currentPart = '';
44
+ } else {
45
+ currentPart += char;
46
+ }
47
+ }
48
+
49
+ // Add the last part
50
+ if (currentPart.trim()) {
51
+ parts.push(currentPart.trim());
52
+ }
53
+
54
+ // Parse each part as key: value or standalone identifier
55
+ for (const part of parts) {
56
+ const colonIndex = part.indexOf(':');
57
+ const equalsIndex = part.indexOf('=');
58
+
59
+ // Check for key=value format
60
+ if (equalsIndex !== -1 && (colonIndex === -1 || equalsIndex < colonIndex)) {
61
+ const key = part.slice(0, equalsIndex).trim();
62
+ let value = part.slice(equalsIndex + 1).trim();
63
+
64
+ // Remove quotes if present
65
+ if (value.startsWith('"') && value.endsWith('"') || value.startsWith("'") && value.endsWith("'")) {
66
+ value = value.slice(1, -1);
67
+ }
68
+ if (key) {
69
+ result[key] = value;
70
+ }
71
+ }
72
+ // Check for key: value format
73
+ else if (colonIndex !== -1) {
74
+ const key = part.slice(0, colonIndex).trim();
75
+ let value = part.slice(colonIndex + 1).trim();
76
+
77
+ // Remove quotes if present
78
+ if (value.startsWith('"') && value.endsWith('"') || value.startsWith("'") && value.endsWith("'")) {
79
+ value = value.slice(1, -1);
80
+ }
81
+ if (key) {
82
+ result[key] = value;
83
+ }
84
+ }
85
+ // Standalone identifier (e.g., <!-- Callout -->)
86
+ else {
87
+ const identifier = part.trim();
88
+ if (identifier && /^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(identifier)) {
89
+ // Valid identifier: starts with letter or underscore, contains letters, numbers, underscores, or hyphens
90
+ result[identifier] = '';
91
+ }
92
+ }
93
+ }
94
+ return result;
95
+ }
96
+
97
+ /**
98
+ * Extract HTML comment value from an AST html node
99
+ * @param node - AST node of type 'html'
100
+ * @returns The comment content string, or null if not an HTML comment
101
+ */
102
+ export function extractHtmlCommentValue(node) {
103
+ if (!node || node.type !== 'html') {
104
+ return null;
105
+ }
106
+ const value = node.value;
107
+ if (typeof value !== 'string') {
108
+ return null;
109
+ }
110
+
111
+ // Check if it's an HTML comment
112
+ if (value.trim().startsWith('<!--') && value.trim().endsWith('-->')) {
113
+ return value;
114
+ }
115
+ return null;
116
+ }
117
+ //# sourceMappingURL=htmlCommentParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parseHtmlComment","comment","content","trim","startsWith","slice","endsWith","result","parts","currentPart","inQuotes","quoteChar","i","length","char","push","part","colonIndex","indexOf","equalsIndex","key","value","identifier","test","extractHtmlCommentValue","node","type"],"sources":["../../../src/utils/htmlCommentParser.ts"],"sourcesContent":["/**\n * Parse an HTML comment string into a key-value object\n * @param comment - The HTML comment string (e.g., \"<!-- key: value, key: value -->\")\n * @returns Object with parsed key-value pairs, or empty object if parsing fails\n */\nexport function parseHtmlComment(comment: string): Record<string, string> {\n if (!comment || typeof comment !== 'string') {\n return {};\n }\n\n // Remove HTML comment markers <!-- and -->\n let content = comment.trim();\n if (content.startsWith('<!--')) {\n content = content.slice(4);\n }\n if (content.endsWith('-->')) {\n content = content.slice(0, -3);\n }\n content = content.trim();\n\n if (!content) {\n return {};\n }\n\n const result: Record<string, string> = {};\n\n // Split by comma, but handle commas within quoted values\n const parts: string[] = [];\n let currentPart = '';\n let inQuotes = false;\n let quoteChar = '';\n\n for (let i = 0; i < content.length; i++) {\n const char = content[i];\n\n if (\n (char === '\"' || char === \"'\") &&\n (i === 0 || content[i - 1] !== '\\\\')\n ) {\n if (!inQuotes) {\n inQuotes = true;\n quoteChar = char;\n } else if (char === quoteChar) {\n inQuotes = false;\n quoteChar = '';\n }\n currentPart += char;\n } else if (char === ',' && !inQuotes) {\n parts.push(currentPart.trim());\n currentPart = '';\n } else {\n currentPart += char;\n }\n }\n\n // Add the last part\n if (currentPart.trim()) {\n parts.push(currentPart.trim());\n }\n\n // Parse each part as key: value or standalone identifier\n for (const part of parts) {\n const colonIndex = part.indexOf(':');\n const equalsIndex = part.indexOf('=');\n\n // Check for key=value format\n if (equalsIndex !== -1 && (colonIndex === -1 || equalsIndex < colonIndex)) {\n const key = part.slice(0, equalsIndex).trim();\n let value = part.slice(equalsIndex + 1).trim();\n\n // Remove quotes if present\n if (\n (value.startsWith('\"') && value.endsWith('\"')) ||\n (value.startsWith(\"'\") && value.endsWith(\"'\"))\n ) {\n value = value.slice(1, -1);\n }\n\n if (key) {\n result[key] = value;\n }\n }\n // Check for key: value format\n else if (colonIndex !== -1) {\n const key = part.slice(0, colonIndex).trim();\n let value = part.slice(colonIndex + 1).trim();\n\n // Remove quotes if present\n if (\n (value.startsWith('\"') && value.endsWith('\"')) ||\n (value.startsWith(\"'\") && value.endsWith(\"'\"))\n ) {\n value = value.slice(1, -1);\n }\n\n if (key) {\n result[key] = value;\n }\n }\n // Standalone identifier (e.g., <!-- Callout -->)\n else {\n const identifier = part.trim();\n if (identifier && /^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(identifier)) {\n // Valid identifier: starts with letter or underscore, contains letters, numbers, underscores, or hyphens\n result[identifier] = '';\n }\n }\n }\n\n return result;\n}\n\n/**\n * Extract HTML comment value from an AST html node\n * @param node - AST node of type 'html'\n * @returns The comment content string, or null if not an HTML comment\n */\nexport function extractHtmlCommentValue(node: any): string | null {\n if (!node || node.type !== 'html') {\n return null;\n }\n\n const value = node.value;\n if (typeof value !== 'string') {\n return null;\n }\n\n // Check if it's an HTML comment\n if (value.trim().startsWith('<!--') && value.trim().endsWith('-->')) {\n return value;\n }\n\n return null;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ const WIX_MEDIA_STATIC = 'https://static.wixstatic.com/media/';
2
+ export function normalizeImageUrl(imageUrl) {
3
+ if (!imageUrl) {
4
+ return imageUrl;
5
+ }
6
+ if (imageUrl.startsWith('http://') || imageUrl.startsWith('https://') || imageUrl.startsWith('data:') || imageUrl.startsWith('blob:')) {
7
+ return imageUrl;
8
+ }
9
+ if (imageUrl.startsWith(WIX_MEDIA_STATIC)) {
10
+ return imageUrl;
11
+ }
12
+ const cleanUrl = imageUrl.startsWith('/') ? imageUrl.slice(1) : imageUrl;
13
+ return `${WIX_MEDIA_STATIC}${cleanUrl}`;
14
+ }
15
+ export function getResizedImageUrl(imageURI, width, height, params) {
16
+ return getResizedImagePartialUrl(WIX_MEDIA_STATIC, imageURI, width, height, params);
17
+ }
18
+ function getResizedImagePartialUrl(baseUrl, imageURI, width, height, _temp) {
19
+ let {
20
+ usm_r = 0.66,
21
+ usm_a = 1.0,
22
+ usm_t = 0.01,
23
+ quality,
24
+ imageMode = 'fit'
25
+ } = _temp === void 0 ? {} : _temp;
26
+ if (imageURI.includes('/')) {
27
+ return imageURI;
28
+ }
29
+ width = Math.round(width);
30
+ height = Math.round(height);
31
+ if (!quality) {
32
+ const HIGH_QUALITY_RESOLUTION = 1400 * 1400;
33
+ const MEDIUM_QUALITY_RESOLUTION = 600 * 600;
34
+ const dimension = width * height;
35
+ if (dimension > HIGH_QUALITY_RESOLUTION) {
36
+ quality = 90;
37
+ } else if (dimension > MEDIUM_QUALITY_RESOLUTION) {
38
+ quality = 85;
39
+ } else {
40
+ quality = 80;
41
+ }
42
+ }
43
+ return `${baseUrl}${imageURI}/v1/${imageMode}/w_${width},h_${height},al_c,q_${quality},usm_${usm_r.toFixed(2)}_${usm_a.toFixed(2)}_${usm_t.toFixed(2)}/${imageURI}`;
44
+ }
45
+ //# sourceMappingURL=image-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WIX_MEDIA_STATIC","normalizeImageUrl","imageUrl","startsWith","cleanUrl","slice","getResizedImageUrl","imageURI","width","height","params","getResizedImagePartialUrl","baseUrl","_temp","usm_r","usm_a","usm_t","quality","imageMode","includes","Math","round","HIGH_QUALITY_RESOLUTION","MEDIUM_QUALITY_RESOLUTION","dimension","toFixed"],"sources":["../../../src/utils/image-utils.ts"],"sourcesContent":["export type TParams = {\n quality?: number;\n usm_r?: number;\n usm_a?: number;\n usm_t?: number;\n imageMode?: 'fit' | 'fill';\n};\n\nconst WIX_MEDIA_STATIC = 'https://static.wixstatic.com/media/';\n\nexport function normalizeImageUrl(imageUrl: string): string {\n if (!imageUrl) {\n return imageUrl;\n }\n\n if (\n imageUrl.startsWith('http://') ||\n imageUrl.startsWith('https://') ||\n imageUrl.startsWith('data:') ||\n imageUrl.startsWith('blob:')\n ) {\n return imageUrl;\n }\n\n if (imageUrl.startsWith(WIX_MEDIA_STATIC)) {\n return imageUrl;\n }\n\n const cleanUrl = imageUrl.startsWith('/') ? imageUrl.slice(1) : imageUrl;\n return `${WIX_MEDIA_STATIC}${cleanUrl}`;\n}\n\nexport function getResizedImageUrl(\n imageURI: string,\n width: number,\n height: number,\n params?: TParams,\n) {\n return getResizedImagePartialUrl(\n WIX_MEDIA_STATIC,\n imageURI,\n width,\n height,\n params,\n );\n}\n\nfunction getResizedImagePartialUrl(\n baseUrl: string,\n imageURI: string,\n width: number,\n height: number,\n {\n usm_r = 0.66,\n usm_a = 1.0,\n usm_t = 0.01,\n quality,\n imageMode = 'fit',\n }: TParams = {},\n) {\n if (imageURI.includes('/')) {\n return imageURI;\n }\n\n width = Math.round(width);\n height = Math.round(height);\n\n if (!quality) {\n const HIGH_QUALITY_RESOLUTION = 1400 * 1400;\n const MEDIUM_QUALITY_RESOLUTION = 600 * 600;\n const dimension = width * height;\n if (dimension > HIGH_QUALITY_RESOLUTION) {\n quality = 90;\n } else if (dimension > MEDIUM_QUALITY_RESOLUTION) {\n quality = 85;\n } else {\n quality = 80;\n }\n }\n\n return `${baseUrl}${imageURI}/v1/${imageMode}/w_${width},h_${height},al_c,q_${quality},usm_${usm_r.toFixed(\n 2,\n )}_${usm_a.toFixed(2)}_${usm_t.toFixed(2)}/${imageURI}`;\n}\n"],"mappings":"AAQA,MAAMA,gBAAgB,GAAG,qCAAqC;AAE9D,OAAO,SAASC,iBAAiBA,CAACC,QAAgB,EAAU;EAC1D,IAAI,CAACA,QAAQ,EAAE;IACb,OAAOA,QAAQ;EACjB;EAEA,IACEA,QAAQ,CAACC,UAAU,CAAC,SAAS,CAAC,IAC9BD,QAAQ,CAACC,UAAU,CAAC,UAAU,CAAC,IAC/BD,QAAQ,CAACC,UAAU,CAAC,OAAO,CAAC,IAC5BD,QAAQ,CAACC,UAAU,CAAC,OAAO,CAAC,EAC5B;IACA,OAAOD,QAAQ;EACjB;EAEA,IAAIA,QAAQ,CAACC,UAAU,CAACH,gBAAgB,CAAC,EAAE;IACzC,OAAOE,QAAQ;EACjB;EAEA,MAAME,QAAQ,GAAGF,QAAQ,CAACC,UAAU,CAAC,GAAG,CAAC,GAAGD,QAAQ,CAACG,KAAK,CAAC,CAAC,CAAC,GAAGH,QAAQ;EACxE,OAAO,GAAGF,gBAAgB,GAAGI,QAAQ,EAAE;AACzC;AAEA,OAAO,SAASE,kBAAkBA,CAChCC,QAAgB,EAChBC,KAAa,EACbC,MAAc,EACdC,MAAgB,EAChB;EACA,OAAOC,yBAAyB,CAC9BX,gBAAgB,EAChBO,QAAQ,EACRC,KAAK,EACLC,MAAM,EACNC,MACF,CAAC;AACH;AAEA,SAASC,yBAAyBA,CAChCC,OAAe,EACfL,QAAgB,EAChBC,KAAa,EACbC,MAAc,EAAAI,KAAA,EAQd;EAAA,IAPA;IACEC,KAAK,GAAG,IAAI;IACZC,KAAK,GAAG,GAAG;IACXC,KAAK,GAAG,IAAI;IACZC,OAAO;IACPC,SAAS,GAAG;EACL,CAAC,GAAAL,KAAA,cAAG,CAAC,CAAC,GAAAA,KAAA;EAEf,IAAIN,QAAQ,CAACY,QAAQ,CAAC,GAAG,CAAC,EAAE;IAC1B,OAAOZ,QAAQ;EACjB;EAEAC,KAAK,GAAGY,IAAI,CAACC,KAAK,CAACb,KAAK,CAAC;EACzBC,MAAM,GAAGW,IAAI,CAACC,KAAK,CAACZ,MAAM,CAAC;EAE3B,IAAI,CAACQ,OAAO,EAAE;IACZ,MAAMK,uBAAuB,GAAG,IAAI,GAAG,IAAI;IAC3C,MAAMC,yBAAyB,GAAG,GAAG,GAAG,GAAG;IAC3C,MAAMC,SAAS,GAAGhB,KAAK,GAAGC,MAAM;IAChC,IAAIe,SAAS,GAAGF,uBAAuB,EAAE;MACvCL,OAAO,GAAG,EAAE;IACd,CAAC,MAAM,IAAIO,SAAS,GAAGD,yBAAyB,EAAE;MAChDN,OAAO,GAAG,EAAE;IACd,CAAC,MAAM;MACLA,OAAO,GAAG,EAAE;IACd;EACF;EAEA,OAAO,GAAGL,OAAO,GAAGL,QAAQ,OAAOW,SAAS,MAAMV,KAAK,MAAMC,MAAM,WAAWQ,OAAO,QAAQH,KAAK,CAACW,OAAO,CACxG,CACF,CAAC,IAAIV,KAAK,CAACU,OAAO,CAAC,CAAC,CAAC,IAAIT,KAAK,CAACS,OAAO,CAAC,CAAC,CAAC,IAAIlB,QAAQ,EAAE;AACzD","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ import { Intent } from '../registry/Intent.js';
2
+ import { parseHtmlComment } from './htmlCommentParser.js';
3
+ const INTENT_VALUES = new Set(Object.values(Intent));
4
+ function normalizeIntent(intent) {
5
+ if (!intent) {
6
+ return null;
7
+ }
8
+ const normalized = intent.trim().toUpperCase();
9
+ return INTENT_VALUES.has(normalized) ? normalized : null;
10
+ }
11
+ function normalizeState(state) {
12
+ const normalized = state == null ? void 0 : state.trim().toLowerCase();
13
+ return normalized === 'partial' ? 'partial' : 'full';
14
+ }
15
+ export function extractIntentFromMarkdown(markdown) {
16
+ if (!markdown) {
17
+ return null;
18
+ }
19
+ const match = markdown.match(/^\s*<!--[\s\S]*?-->/);
20
+ if (!match) {
21
+ return null;
22
+ }
23
+ const comment = match[0];
24
+ const metadata = parseHtmlComment(comment);
25
+ const intent = normalizeIntent(metadata.intent);
26
+ if (!intent) {
27
+ return null;
28
+ }
29
+ return {
30
+ intent,
31
+ stage: metadata.stage,
32
+ reason: metadata.reason,
33
+ state: normalizeState(metadata.state)
34
+ };
35
+ }
36
+ export function getIntentFromMarkdown(markdown, defaultIntent) {
37
+ if (defaultIntent === void 0) {
38
+ defaultIntent = Intent.DISCOVERY;
39
+ }
40
+ return extractIntentFromMarkdown(markdown) ?? {
41
+ intent: defaultIntent,
42
+ state: 'full'
43
+ };
44
+ }
45
+ //# sourceMappingURL=intentExtractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Intent","parseHtmlComment","INTENT_VALUES","Set","Object","values","normalizeIntent","intent","normalized","trim","toUpperCase","has","normalizeState","state","toLowerCase","extractIntentFromMarkdown","markdown","match","comment","metadata","stage","reason","getIntentFromMarkdown","defaultIntent","DISCOVERY"],"sources":["../../../src/utils/intentExtractor.ts"],"sourcesContent":["import { Intent } from '../registry/Intent';\nimport { parseHtmlComment } from './htmlCommentParser';\n\nexport type ResponseState = 'full' | 'partial';\n\nexport interface IntentInfo {\n intent: Intent;\n stage?: string;\n reason?: string;\n state?: ResponseState;\n}\n\nconst INTENT_VALUES = new Set<Intent>(Object.values(Intent) as Intent[]);\n\nfunction normalizeIntent(intent?: string): Intent | null {\n if (!intent) {\n return null;\n }\n const normalized = intent.trim().toUpperCase() as Intent;\n return INTENT_VALUES.has(normalized) ? normalized : null;\n}\n\nfunction normalizeState(state?: string): ResponseState {\n const normalized = state?.trim().toLowerCase();\n return normalized === 'partial' ? 'partial' : 'full';\n}\n\nexport function extractIntentFromMarkdown(markdown: string): IntentInfo | null {\n if (!markdown) {\n return null;\n }\n\n const match = markdown.match(/^\\s*<!--[\\s\\S]*?-->/);\n if (!match) {\n return null;\n }\n\n const comment = match[0];\n const metadata = parseHtmlComment(comment);\n const intent = normalizeIntent(metadata.intent);\n\n if (!intent) {\n return null;\n }\n\n return {\n intent,\n stage: metadata.stage,\n reason: metadata.reason,\n state: normalizeState(metadata.state),\n };\n}\n\nexport function getIntentFromMarkdown(\n markdown: string,\n defaultIntent: Intent = Intent.DISCOVERY,\n): IntentInfo {\n return (\n extractIntentFromMarkdown(markdown) ?? {\n intent: defaultIntent,\n state: 'full',\n }\n );\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,gBAAgB,QAAQ,qBAAqB;AAWtD,MAAMC,aAAa,GAAG,IAAIC,GAAG,CAASC,MAAM,CAACC,MAAM,CAACL,MAAM,CAAa,CAAC;AAExE,SAASM,eAAeA,CAACC,MAAe,EAAiB;EACvD,IAAI,CAACA,MAAM,EAAE;IACX,OAAO,IAAI;EACb;EACA,MAAMC,UAAU,GAAGD,MAAM,CAACE,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAW;EACxD,OAAOR,aAAa,CAACS,GAAG,CAACH,UAAU,CAAC,GAAGA,UAAU,GAAG,IAAI;AAC1D;AAEA,SAASI,cAAcA,CAACC,KAAc,EAAiB;EACrD,MAAML,UAAU,GAAGK,KAAK,oBAALA,KAAK,CAAEJ,IAAI,CAAC,CAAC,CAACK,WAAW,CAAC,CAAC;EAC9C,OAAON,UAAU,KAAK,SAAS,GAAG,SAAS,GAAG,MAAM;AACtD;AAEA,OAAO,SAASO,yBAAyBA,CAACC,QAAgB,EAAqB;EAC7E,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,IAAI;EACb;EAEA,MAAMC,KAAK,GAAGD,QAAQ,CAACC,KAAK,CAAC,qBAAqB,CAAC;EACnD,IAAI,CAACA,KAAK,EAAE;IACV,OAAO,IAAI;EACb;EAEA,MAAMC,OAAO,GAAGD,KAAK,CAAC,CAAC,CAAC;EACxB,MAAME,QAAQ,GAAGlB,gBAAgB,CAACiB,OAAO,CAAC;EAC1C,MAAMX,MAAM,GAAGD,eAAe,CAACa,QAAQ,CAACZ,MAAM,CAAC;EAE/C,IAAI,CAACA,MAAM,EAAE;IACX,OAAO,IAAI;EACb;EAEA,OAAO;IACLA,MAAM;IACNa,KAAK,EAAED,QAAQ,CAACC,KAAK;IACrBC,MAAM,EAAEF,QAAQ,CAACE,MAAM;IACvBR,KAAK,EAAED,cAAc,CAACO,QAAQ,CAACN,KAAK;EACtC,CAAC;AACH;AAEA,OAAO,SAASS,qBAAqBA,CACnCN,QAAgB,EAChBO,aAAqB,EACT;EAAA,IADZA,aAAqB;IAArBA,aAAqB,GAAGvB,MAAM,CAACwB,SAAS;EAAA;EAExC,OACET,yBAAyB,CAACC,QAAQ,CAAC,IAAI;IACrCT,MAAM,EAAEgB,aAAa;IACrBV,KAAK,EAAE;EACT,CAAC;AAEL","ignoreList":[]}