@tokenoftrust/storefront-runner 2.4.86 → 2.4.88

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 (287) hide show
  1. package/apps/storefront/dev-plugins/tenant-hot-reload.mjs +1 -1
  2. package/apps/storefront/env.d.ts +2 -2
  3. package/apps/storefront/perf/README.md +1 -1
  4. package/apps/storefront/public/shared/commerce-chrome.css +1 -1
  5. package/apps/storefront/public/shared/commerce-marketing.css +1 -1
  6. package/apps/storefront/src/components/{CollectionCard.astro → catalog/storefront/CollectionCard.astro} +1 -1
  7. package/apps/storefront/src/components/{ProductCard.astro → catalog/storefront/ProductCard.astro} +7 -7
  8. package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/BrandGrid.astro +1 -1
  9. package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/PriceDisplay.astro +3 -3
  10. package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/ProductCarousel.astro +3 -3
  11. package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/ProductGrid.astro +4 -4
  12. package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/ReviewList.astro +1 -1
  13. package/apps/storefront/src/components/{islands → catalog/storefront/islands}/ImageGallery.tsx +1 -1
  14. package/apps/storefront/src/components/{islands → catalog/storefront/islands}/QuickView.tsx +2 -2
  15. package/apps/storefront/src/components/{islands → catalog/storefront/islands}/RecentlyViewed.tsx +2 -2
  16. package/apps/storefront/src/components/{islands → catalog/storefront/islands}/SearchTypeahead.tsx +3 -3
  17. package/apps/storefront/src/components/{islands → catalog/storefront/islands}/VariantSelector.tsx +2 -2
  18. package/apps/storefront/src/components/{plp → catalog/storefront/plp}/FacetSidebar.astro +1 -1
  19. package/apps/storefront/src/components/compliance/{NicotineWarning.astro → storefront/compliance/NicotineWarning.astro} +1 -1
  20. package/apps/storefront/src/components/{islands → compliance/storefront/islands}/AgeGate.tsx +2 -2
  21. package/apps/storefront/src/components/{islands → compliance/storefront/islands}/CheckoutComplianceGate.tsx +1 -1
  22. package/apps/storefront/src/components/{islands → compliance/storefront/islands}/IsolatedAgeGate.tsx +1 -1
  23. package/apps/storefront/src/components/{AsyncStylesheet.astro → content/storefront/AsyncStylesheet.astro} +2 -2
  24. package/apps/storefront/src/components/{Breadcrumbs.astro → content/storefront/Breadcrumbs.astro} +3 -3
  25. package/apps/storefront/src/components/{Seo.astro → content/storefront/Seo.astro} +5 -5
  26. package/apps/storefront/src/components/{blog → content/storefront/blog}/BlogIndexView.astro +6 -6
  27. package/apps/storefront/src/components/{blog → content/storefront/blog}/BlogPaywall.astro +1 -1
  28. package/apps/storefront/src/components/{blog → content/storefront/blog}/BlogPostArticle.astro +7 -7
  29. package/apps/storefront/src/components/{blog → content/storefront/blog}/PostAccessBadge.astro +1 -1
  30. package/apps/storefront/src/components/{blog → content/storefront/blog}/PostGrid.astro +3 -3
  31. package/apps/storefront/src/components/{blog → content/storefront/blog}/ReactionBar.astro +1 -1
  32. package/apps/storefront/src/components/{blog → content/storefront/blog}/ShareRow.astro +1 -1
  33. package/apps/storefront/src/components/{chrome → content/storefront/chrome}/MegaMenu.astro +3 -3
  34. package/apps/storefront/src/components/{chrome → content/storefront/chrome}/NavDropdown.astro +2 -2
  35. package/apps/storefront/src/components/{chrome → content/storefront/chrome}/SiteFooter.astro +5 -5
  36. package/apps/storefront/src/components/{chrome → content/storefront/chrome}/SiteHeader.astro +9 -9
  37. package/apps/storefront/src/components/{chrome → content/storefront/chrome}/UtilityNav.astro +2 -2
  38. package/apps/storefront/src/components/content/{Callout.astro → storefront/content/Callout.astro} +1 -1
  39. package/apps/storefront/src/components/content/{PromoTiles.astro → storefront/content/PromoTiles.astro} +3 -3
  40. package/apps/storefront/src/components/content/{ProseSections.astro → storefront/content/ProseSections.astro} +3 -3
  41. package/apps/storefront/src/components/{home → content/storefront/home}/Hero.astro +4 -4
  42. package/apps/storefront/src/components/{islands → content/storefront/islands}/MobileNav.tsx +2 -2
  43. package/apps/storefront/src/components/{marketing → content/storefront/marketing}/CardGrid.astro +2 -2
  44. package/apps/storefront/src/components/{marketing → content/storefront/marketing}/CodeSample.astro +1 -1
  45. package/apps/storefront/src/components/{marketing → content/storefront/marketing}/CtaBand.astro +2 -2
  46. package/apps/storefront/src/components/{marketing → content/storefront/marketing}/Faq.astro +5 -5
  47. package/apps/storefront/src/components/{marketing → content/storefront/marketing}/Integrations.astro +3 -3
  48. package/apps/storefront/src/components/{marketing → content/storefront/marketing}/MarketingBlocks.astro +11 -11
  49. package/apps/storefront/src/components/{marketing → content/storefront/marketing}/MarketingCtas.astro +1 -1
  50. package/apps/storefront/src/components/{marketing → content/storefront/marketing}/MarketingHero.astro +2 -2
  51. package/apps/storefront/src/components/{marketing → content/storefront/marketing}/ProofStrip.astro +1 -1
  52. package/apps/storefront/src/components/{marketing → content/storefront/marketing}/SplitCompare.astro +2 -2
  53. package/apps/storefront/src/components/{marketing → content/storefront/marketing}/Steps.astro +2 -2
  54. package/apps/storefront/src/components/{marketing → content/storefront/marketing}/Testimonials.astro +2 -2
  55. package/apps/storefront/src/components/{marketing → content/storefront/marketing}/TrustBar.astro +1 -1
  56. package/apps/storefront/src/components/{style-guide → content/storefront/style-guide}/StyleGuideNav.astro +1 -1
  57. package/apps/storefront/src/components/{the-build → content/storefront/the-build}/TheBuildIndexView.astro +5 -5
  58. package/apps/storefront/src/components/customers/storefront/islands/SavedList.tsx +2 -2
  59. package/apps/storefront/src/components/{subscription → subscriptions/storefront/subscription}/HowItWorksSteps.astro +1 -1
  60. package/apps/storefront/src/components/{subscription → subscriptions/storefront/subscription}/ManageSubscriptionEntry.astro +1 -1
  61. package/apps/storefront/src/components/{subscription → subscriptions/storefront/subscription}/SavingsExplainer.astro +2 -2
  62. package/apps/storefront/src/layouts/Layout.astro +32 -32
  63. package/apps/storefront/src/lib/activity/alerts.ts +1 -1
  64. package/apps/storefront/src/lib/activity/candidateSubmitLease.ts +1 -1
  65. package/apps/storefront/src/lib/activity/fixtures/evidence.ts +2 -2
  66. package/apps/storefront/src/lib/activity/query.ts +2 -2
  67. package/apps/storefront/src/lib/activity/store.ts +1 -1
  68. package/apps/storefront/src/lib/admin/services/mock/index.ts +5 -5
  69. package/apps/storefront/src/lib/assets/shared/imageAttrs.ts +1 -1
  70. package/apps/storefront/src/lib/basePath.ts +1 -1
  71. package/apps/storefront/src/lib/{admin → catalog/admin}/catalogSettingsClient.ts +2 -2
  72. package/apps/storefront/src/lib/{admin → catalog/admin}/services/catalogProducts.ts +2 -2
  73. package/apps/storefront/src/lib/{d1 → catalog/d1}/catalog.ts +1 -1
  74. package/apps/storefront/src/lib/{admin/services/mock → catalog/fixtures}/products.ts +5 -5
  75. package/apps/storefront/src/lib/{search → catalog/search}/index.ts +1 -1
  76. package/apps/storefront/src/lib/{featuredProductsPresentation.ts → catalog/shared/featuredProductsPresentation.ts} +1 -1
  77. package/apps/storefront/src/lib/{priceBuckets.ts → catalog/shared/priceBuckets.ts} +1 -1
  78. package/apps/storefront/src/lib/{tot → catalog/tot}/ToTClient.ts +3 -3
  79. package/apps/storefront/src/lib/{tot → catalog/tot}/query.ts +1 -1
  80. package/apps/storefront/src/lib/{tot → catalog/tot}/syncState.ts +1 -1
  81. package/apps/storefront/src/lib/{tot → catalog/tot}/tenantCatalog.ts +1 -1
  82. package/apps/storefront/src/lib/{admin/services/mock → checkout/fixtures}/checkoutSettings.ts +2 -2
  83. package/apps/storefront/src/lib/{blog → content/blog}/collection.ts +9 -9
  84. package/apps/storefront/src/lib/{blog → content/blog}/postView.ts +3 -3
  85. package/apps/storefront/src/lib/{blog → content/blog}/provider.ts +7 -7
  86. package/apps/storefront/src/lib/{chrome → content/chrome}/footerLegal.ts +2 -2
  87. package/apps/storefront/src/lib/{chrome → content/chrome}/trackingPlacements.ts +1 -1
  88. package/apps/storefront/src/lib/content/index.ts +1 -1
  89. package/apps/storefront/src/lib/{seo → content/seo}/faqItems.ts +1 -1
  90. package/apps/storefront/src/lib/{seo → content/seo}/structuredData.ts +1 -1
  91. package/apps/storefront/src/lib/{breadcrumbs.ts → content/shared/breadcrumbs.ts} +1 -1
  92. package/apps/storefront/src/lib/{heroSlideshow.ts → content/shared/heroSlideshow.ts} +1 -1
  93. package/apps/storefront/src/lib/{homeVisualParity.ts → content/shared/homeVisualParity.ts} +1 -1
  94. package/apps/storefront/src/lib/{jsonld.ts → content/shared/jsonld.ts} +1 -1
  95. package/apps/storefront/src/lib/{rawChrome.ts → content/shared/rawChrome.ts} +14 -14
  96. package/apps/storefront/src/lib/{rawMarketingHtml.ts → content/shared/rawMarketingHtml.ts} +3 -3
  97. package/apps/storefront/src/lib/{sections.ts → content/shared/sections.ts} +2 -2
  98. package/apps/storefront/src/lib/{styleGuideThemes.ts → content/shared/styleGuideThemes.ts} +3 -3
  99. package/apps/storefront/src/lib/{storyblok → content/storyblok}/content-model.ts +1 -1
  100. package/apps/storefront/src/lib/{storyblok → content/storyblok}/provider.ts +26 -26
  101. package/apps/storefront/src/lib/{the-build → content/the-build}/provider.ts +1 -1
  102. package/apps/storefront/src/lib/{the-build → content/the-build}/toc.ts +1 -1
  103. package/apps/storefront/src/lib/d1/schema-apps.ts +2 -2
  104. package/apps/storefront/src/lib/email/candidateConflictEmail.ts +1 -1
  105. package/apps/storefront/src/lib/email/magicLinkInviteEmail.ts +1 -1
  106. package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/digest.ts +2 -2
  107. package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/resendClient.ts +1 -1
  108. package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/send.ts +2 -2
  109. package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/subscribers.ts +1 -1
  110. package/apps/storefront/src/lib/{social → engagement/social}/golive.ts +2 -2
  111. package/apps/storefront/src/lib/{social → engagement/social}/notify.ts +1 -1
  112. package/apps/storefront/src/lib/{social → engagement/social}/tokenStore.ts +3 -3
  113. package/apps/storefront/src/lib/env.ts +1 -1
  114. package/apps/storefront/src/lib/fulfillment/store.ts +1 -1
  115. package/apps/storefront/src/lib/integrations/apps/appVersionStore.ts +1 -1
  116. package/apps/storefront/src/lib/integrations/apps/credentials.ts +1 -1
  117. package/apps/storefront/src/lib/integrations/apps/orders/idempotency.ts +1 -1
  118. package/apps/storefront/src/lib/integrations/apps/registryAccess.ts +1 -1
  119. package/apps/storefront/src/lib/integrations/apps/registryService.ts +1 -1
  120. package/apps/storefront/src/lib/integrations/integration/managedInstallDeclarations.ts +1 -1
  121. package/apps/storefront/src/lib/integrations/webhooks/deliveryEngine.ts +1 -1
  122. package/apps/storefront/src/lib/integrations/webhooks/deliveryStore.ts +1 -1
  123. package/apps/storefront/src/lib/integrations/webhooks/emit.ts +1 -1
  124. package/apps/storefront/src/lib/integrations/webhooks/getDispatcher.ts +1 -1
  125. package/apps/storefront/src/lib/{apps/orders → measurement/attribution}/attributionService.ts +2 -2
  126. package/apps/storefront/src/lib/{apps/orders → measurement/attribution}/orderConversionD1.ts +2 -2
  127. package/apps/storefront/src/lib/{apps/orders → measurement/attribution}/verifiedProviderMeasurement.ts +2 -2
  128. package/apps/storefront/src/lib/{apps → measurement/consent}/consentConfigRead.ts +1 -1
  129. package/apps/storefront/src/lib/{tracking → measurement/tracking}/d1Control.ts +2 -2
  130. package/apps/storefront/src/lib/{tracking → measurement/tracking}/interactionCollector.ts +2 -2
  131. package/apps/storefront/src/lib/{tracking → measurement/tracking}/interactionStore.ts +0 -0
  132. package/apps/storefront/src/lib/{tracking → measurement/tracking}/pruneRollup.ts +2 -2
  133. package/apps/storefront/src/lib/{tracking → measurement/tracking}/publishSafetyNet.ts +1 -1
  134. package/apps/storefront/src/lib/{tracking → measurement/tracking}/tenantD1Registry.ts +2 -2
  135. package/apps/storefront/src/lib/monitoring/manifest.ts +1 -1
  136. package/apps/storefront/src/lib/{apps/orders → orders/data}/orderForwardReceiver.ts +1 -1
  137. package/apps/storefront/src/lib/{apps/orders → orders/data}/orderMapper.ts +1 -1
  138. package/apps/storefront/src/lib/{apps/orders → orders/data}/ordersStore.ts +1 -1
  139. package/apps/storefront/src/lib/{admin/services/mock → orders/fixtures}/orders.ts +5 -5
  140. package/apps/storefront/src/lib/previewReload.ts +1 -1
  141. package/apps/storefront/src/lib/publication/contentProvider.ts +7 -7
  142. package/apps/storefront/src/lib/publication/mountedDiscovery.ts +1 -1
  143. package/apps/storefront/src/lib/publication/rootDiscovery.ts +4 -4
  144. package/apps/storefront/src/lib/{admin/services/mock → subscriptions/fixtures}/subscriptions.ts +8 -8
  145. package/apps/storefront/src/lib/url.ts +1 -1
  146. package/apps/storefront/src/middleware/controlPlane.ts +2 -2
  147. package/apps/storefront/src/middleware/index.ts +2 -2
  148. package/apps/storefront/src/middleware/renderChain.ts +3 -3
  149. package/apps/storefront/src/pages/404.astro +1 -1
  150. package/apps/storefront/src/pages/[...slug].astro +13 -13
  151. package/apps/storefront/src/pages/api/activity.ts +1 -1
  152. package/apps/storefront/src/pages/api/admin/activity-alerts.ts +1 -1
  153. package/apps/storefront/src/pages/api/admin/interaction-insights.ts +4 -4
  154. package/apps/storefront/src/pages/api/admin/orders/[id].ts +2 -2
  155. package/apps/storefront/src/pages/api/admin/orders.ts +2 -2
  156. package/apps/storefront/src/pages/api/blog/[collection]/[slug]/react.ts +1 -1
  157. package/apps/storefront/src/pages/api/commerce/checkout-handoff.ts +2 -2
  158. package/apps/storefront/src/pages/api/commerce/final-cart-authorization.ts +2 -2
  159. package/apps/storefront/src/pages/api/compliance/preflight.ts +1 -1
  160. package/apps/storefront/src/pages/api/newsletter/[collection]/subscribe.ts +4 -4
  161. package/apps/storefront/src/pages/api/newsletter/confirm.ts +2 -2
  162. package/apps/storefront/src/pages/api/newsletter/unsubscribe.ts +2 -2
  163. package/apps/storefront/src/pages/api/rum/vitals.ts +1 -1
  164. package/apps/storefront/src/pages/api/tracking/interaction.ts +6 -6
  165. package/apps/storefront/src/pages/blog/[slug].astro +2 -2
  166. package/apps/storefront/src/pages/blog/author/[author].astro +8 -8
  167. package/apps/storefront/src/pages/blog/category/[category].astro +8 -8
  168. package/apps/storefront/src/pages/blog/index.astro +4 -4
  169. package/apps/storefront/src/pages/blog/page/[n].astro +4 -4
  170. package/apps/storefront/src/pages/blog/tag/[tag].astro +8 -8
  171. package/apps/storefront/src/pages/cart.ts +1 -1
  172. package/apps/storefront/src/pages/collections/[handle].astro +12 -12
  173. package/apps/storefront/src/pages/collections/index.astro +6 -6
  174. package/apps/storefront/src/pages/index.astro +14 -14
  175. package/apps/storefront/src/pages/llms.txt.ts +3 -3
  176. package/apps/storefront/src/pages/products/[handle].astro +22 -22
  177. package/apps/storefront/src/pages/saved.astro +2 -2
  178. package/apps/storefront/src/pages/search.astro +7 -7
  179. package/apps/storefront/src/pages/sitemap.xml.ts +9 -9
  180. package/apps/storefront/src/pages/style-guide/[tenant]/[theme].astro +58 -58
  181. package/apps/storefront/src/pages/style-guide/[tenant]/chrome/[theme].astro +2 -2
  182. package/apps/storefront/src/pages/style-guide/[tenant]/guide/[theme].astro +3 -3
  183. package/apps/storefront/src/pages/style-guide/[tenant]/index.astro +3 -3
  184. package/apps/storefront/src/pages/style-guide/index.astro +1 -1
  185. package/apps/storefront/src/pages/the-build/[slug].astro +10 -10
  186. package/apps/storefront/src/pages/the-build/index.astro +5 -5
  187. package/apps/storefront/src/pages/the-build/page/[n].astro +5 -5
  188. package/apps/storefront/src/pages/the-build/rss.xml.ts +4 -4
  189. package/docs/widget-library-guide.md +71 -71
  190. package/package.json +1 -1
  191. package/packages/public-runtime/src/chrome.ts +5 -5
  192. package/packages/public-runtime/src/tracking-id-derivation.ts +1 -1
  193. /package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/RatingStars.astro +0 -0
  194. /package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/ReviewSummary.astro +0 -0
  195. /package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/TagFilterCloud.astro +0 -0
  196. /package/apps/storefront/src/components/{plp → catalog/storefront/plp}/ActiveFilters.astro +0 -0
  197. /package/apps/storefront/src/components/{plp → catalog/storefront/plp}/Pagination.astro +0 -0
  198. /package/apps/storefront/src/components/{plp → catalog/storefront/plp}/SortSelect.astro +0 -0
  199. /package/apps/storefront/src/components/{commerce → checkout/storefront/commerce}/CartDrawerStyles.astro +0 -0
  200. /package/apps/storefront/src/components/{commerce → checkout/storefront/commerce}/CheckoutLoader.astro +0 -0
  201. /package/apps/storefront/src/components/compliance/{AdultSignatureNotice.astro → storefront/compliance/AdultSignatureNotice.astro} +0 -0
  202. /package/apps/storefront/src/components/compliance/{ComplianceNotice.astro → storefront/compliance/ComplianceNotice.astro} +0 -0
  203. /package/apps/storefront/src/components/compliance/{ExciseTaxNotice.astro → storefront/compliance/ExciseTaxNotice.astro} +0 -0
  204. /package/apps/storefront/src/components/compliance/{PactActNotice.astro → storefront/compliance/PactActNotice.astro} +0 -0
  205. /package/apps/storefront/src/components/compliance/{Prop65Warning.astro → storefront/compliance/Prop65Warning.astro} +0 -0
  206. /package/apps/storefront/src/components/compliance/{PurchaseLimitNotice.astro → storefront/compliance/PurchaseLimitNotice.astro} +0 -0
  207. /package/apps/storefront/src/components/compliance/{ShippingRestrictionNotice.astro → storefront/compliance/ShippingRestrictionNotice.astro} +0 -0
  208. /package/apps/storefront/src/components/compliance/{StateEligibilityNotice.astro → storefront/compliance/StateEligibilityNotice.astro} +0 -0
  209. /package/apps/storefront/src/components/{Badge.astro → content/storefront/Badge.astro} +0 -0
  210. /package/apps/storefront/src/components/{EmptyState.astro → content/storefront/EmptyState.astro} +0 -0
  211. /package/apps/storefront/src/components/{Section.astro → content/storefront/Section.astro} +0 -0
  212. /package/apps/storefront/src/components/{chrome → content/storefront/chrome}/AnnouncementBar.astro +0 -0
  213. /package/apps/storefront/src/components/{commerce → content/storefront/commerce}/ArticleCard.astro +0 -0
  214. /package/apps/storefront/src/components/content/{NeedsReviewCallout.astro → storefront/content/NeedsReviewCallout.astro} +0 -0
  215. /package/apps/storefront/src/components/content/{ProseToc.astro → storefront/content/ProseToc.astro} +0 -0
  216. /package/apps/storefront/src/components/content/{RichText.astro → storefront/content/RichText.astro} +0 -0
  217. /package/apps/storefront/src/components/content/{TrustStrip.astro → storefront/content/TrustStrip.astro} +0 -0
  218. /package/apps/storefront/src/lib/{admin → catalog/admin}/catalogSettingsPreview.ts +0 -0
  219. /package/apps/storefront/src/lib/{admin → catalog/admin}/catalogSettingsState.ts +0 -0
  220. /package/apps/storefront/src/lib/{admin → catalog/admin}/productSetupPhoto.ts +0 -0
  221. /package/apps/storefront/src/lib/{admin → catalog/admin}/productsTabClient.ts +0 -0
  222. /package/apps/storefront/src/lib/{admin → catalog/admin}/viewmodels/catalogProducts.ts +0 -0
  223. /package/apps/storefront/src/lib/{admin → catalog/admin}/viewmodels/products.ts +0 -0
  224. /package/apps/storefront/src/lib/{fixtures → catalog/fixtures}/sampleProducts.ts +0 -0
  225. /package/apps/storefront/src/lib/{tot → catalog/tot}/d1Client.ts +0 -0
  226. /package/apps/storefront/src/lib/{tot → catalog/tot}/totClientInterface.ts +0 -0
  227. /package/apps/storefront/src/lib/{admin → checkout/admin}/checkoutStyleInput.ts +0 -0
  228. /package/apps/storefront/src/lib/{admin → checkout/admin}/checkoutStyleTarget.ts +0 -0
  229. /package/apps/storefront/src/{components/islands → lib/checkout/browser}/useCheckoutHandoffCorrelation.ts +0 -0
  230. /package/apps/storefront/src/lib/{commerce → checkout/commerce}/checkoutHandoffCorrelation.ts +0 -0
  231. /package/apps/storefront/src/lib/{commerce → checkout/commerce}/checkoutSettings.ts +0 -0
  232. /package/apps/storefront/src/lib/{commerce → checkout/commerce}/finalCartAuthorization.ts +0 -0
  233. /package/apps/storefront/src/lib/{checkoutCommerce.ts → checkout/shared/checkoutCommerce.ts} +0 -0
  234. /package/apps/storefront/src/{components/islands → lib/compliance/browser}/checkoutVerificationFlow.ts +0 -0
  235. /package/apps/storefront/src/lib/{visitorRegionCookie.ts → compliance/shared/visitorRegionCookie.ts} +0 -0
  236. /package/apps/storefront/src/lib/{verification → compliance/verification}/totVerificationClient.ts +0 -0
  237. /package/apps/storefront/src/lib/{blog → content/blog}/access.ts +0 -0
  238. /package/apps/storefront/src/lib/{blog → content/blog}/collectionPaths.ts +0 -0
  239. /package/apps/storefront/src/lib/{blog → content/blog}/markdown.ts +0 -0
  240. /package/apps/storefront/src/lib/{blog → content/blog}/pagination.ts +0 -0
  241. /package/apps/storefront/src/lib/{blog → content/blog}/presentation.ts +0 -0
  242. /package/apps/storefront/src/lib/{blog → content/blog}/reactions.ts +0 -0
  243. /package/apps/storefront/src/lib/{blog → content/blog}/rss.ts +0 -0
  244. /package/apps/storefront/src/lib/{blog → content/blog}/teaser.ts +0 -0
  245. /package/apps/storefront/src/lib/{blog → content/blog}/types.ts +0 -0
  246. /package/apps/storefront/src/lib/{blog → content/blog}/viewCounts.ts +0 -0
  247. /package/apps/storefront/src/lib/{chrome → content/chrome}/ctaIdentity.ts +0 -0
  248. /package/apps/storefront/src/lib/{chrome → content/chrome}/examples/tokenoftrust.chrome-assignments.example.json +0 -0
  249. /package/apps/storefront/src/lib/{chrome → content/chrome}/examples/tokenoftrust.chrome.example.json +0 -0
  250. /package/apps/storefront/src/lib/{chrome → content/chrome}/managedCart.ts +0 -0
  251. /package/apps/storefront/src/lib/{chrome → content/chrome}/model.ts +0 -0
  252. /package/apps/storefront/src/lib/{chrome → content/chrome}/navCurrent.ts +0 -0
  253. /package/apps/storefront/src/lib/{chrome → content/chrome}/newsletterAgeAttestation.ts +0 -0
  254. /package/apps/storefront/src/lib/{chrome → content/chrome}/parseConfig.ts +0 -0
  255. /package/apps/storefront/src/lib/{chrome → content/chrome}/variant.ts +0 -0
  256. /package/apps/storefront/src/lib/{commerce → content/policies}/shippingPolicy.ts +0 -0
  257. /package/apps/storefront/src/lib/{seo → content/seo}/alternates.ts +0 -0
  258. /package/apps/storefront/src/lib/{seo → content/seo}/documentTitle.ts +0 -0
  259. /package/apps/storefront/src/lib/{seo → content/seo}/meta.ts +0 -0
  260. /package/apps/storefront/src/lib/{seo → content/seo}/urlForm.ts +0 -0
  261. /package/apps/storefront/src/lib/{asyncCss.ts → content/shared/asyncCss.ts} +0 -0
  262. /package/apps/storefront/src/lib/{colors.ts → content/shared/colors.ts} +0 -0
  263. /package/apps/storefront/src/lib/{format.ts → content/shared/format.ts} +0 -0
  264. /package/apps/storefront/src/lib/{i18n.ts → content/shared/i18n.ts} +0 -0
  265. /package/apps/storefront/src/lib/{jsonScript.ts → content/shared/jsonScript.ts} +0 -0
  266. /package/apps/storefront/src/lib/{placeholder.ts → content/shared/placeholder.ts} +0 -0
  267. /package/apps/storefront/src/lib/{styleGuidePaths.ts → content/shared/styleGuidePaths.ts} +0 -0
  268. /package/apps/storefront/src/lib/{the-build → content/the-build}/pagination.ts +0 -0
  269. /package/apps/storefront/src/lib/{the-build → content/the-build}/readingTime.ts +0 -0
  270. /package/apps/storefront/src/lib/{messaging → engagement/messaging}/messagesClient.ts +0 -0
  271. /package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/confirmationEmail.ts +0 -0
  272. /package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/consent.ts +0 -0
  273. /package/apps/storefront/src/lib/{admin → measurement/admin}/consentSettingsClient.ts +0 -0
  274. /package/apps/storefront/src/lib/{analytics → measurement/analytics}/index.ts +0 -0
  275. /package/apps/storefront/src/lib/{tracking → measurement/tracking}/collectorAllowlist.ts +0 -0
  276. /package/apps/storefront/src/lib/{tracking → measurement/tracking}/collectorIngest.ts +0 -0
  277. /package/apps/storefront/src/lib/{tracking → measurement/tracking}/interactionHealth.ts +0 -0
  278. /package/apps/storefront/src/lib/{tracking → measurement/tracking}/interactionSchema.ts +0 -0
  279. /package/apps/storefront/src/lib/{tracking → measurement/tracking}/tenantReadAccess.ts +0 -0
  280. /package/apps/storefront/src/lib/{tracking-writeback → measurement/tracking-writeback}/rewriteTrackingIds.ts +0 -0
  281. /package/apps/storefront/src/lib/{tracking-writeback → measurement/tracking-writeback}/writebackCandidate.ts +0 -0
  282. /package/apps/storefront/src/lib/{admin → orders/admin}/orderClient.ts +0 -0
  283. /package/apps/storefront/src/lib/{admin → orders/admin}/services/orders.ts +0 -0
  284. /package/apps/storefront/src/lib/{admin → orders/admin}/viewmodels/orders.ts +0 -0
  285. /package/apps/storefront/src/lib/{apps/orders → orders/providers}/foxyOrderClient.ts +0 -0
  286. /package/apps/storefront/src/lib/{admin → subscriptions/admin}/viewmodels/subscriptions.ts +0 -0
  287. /package/apps/storefront/src/lib/{subscription → subscriptions/subscription}/model.ts +0 -0
@@ -16,9 +16,9 @@ import {
16
16
  createCheckoutOrderClient,
17
17
  orderApiBaseUrl,
18
18
  OrderApiError,
19
- } from "@/lib/admin/orderClient";
19
+ } from "@/lib/orders/admin/orderClient";
20
20
  import { commerceStageForEnv } from "@/lib/fulfillment/fulfillmentService";
21
- import { assessCheckoutOrder, parseOrderFilters } from "@/lib/admin/services/orders";
21
+ import { assessCheckoutOrder, parseOrderFilters } from "@/lib/orders/admin/services/orders";
22
22
 
23
23
  export const prerender = false;
24
24
 
@@ -18,7 +18,7 @@ import {
18
18
  isReaction,
19
19
  recordReaction,
20
20
  type Reaction,
21
- } from "@/lib/blog/reactions";
21
+ } from "@/lib/content/blog/reactions";
22
22
  import { checkRateLimit } from "@/lib/rate/kvWindow";
23
23
 
24
24
  export const prerender = false;
@@ -25,8 +25,8 @@ import {
25
25
  defaultConsentSnapshot,
26
26
  type CartDenialCode,
27
27
  } from "@tot/public-runtime";
28
- import { resolveCheckoutHandoffCorrelation } from "@/lib/commerce/checkoutHandoffCorrelation";
29
- import { resolveCartSigning, shopperCartDenialMessage } from "@/lib/checkoutCommerce";
28
+ import { resolveCheckoutHandoffCorrelation } from "@/lib/checkout/commerce/checkoutHandoffCorrelation";
29
+ import { resolveCartSigning, shopperCartDenialMessage } from "@/lib/checkout/shared/checkoutCommerce";
30
30
 
31
31
  export const prerender = false;
32
32
 
@@ -17,9 +17,9 @@ import {
17
17
  type PaymentState,
18
18
  type StockState,
19
19
  } from "@tot/public-runtime";
20
- import { fromD1, listAllActiveProducts } from "@/lib/d1/catalog.js";
20
+ import { fromD1, listAllActiveProducts } from "@/lib/catalog/d1/catalog.js";
21
21
  import { readD1, readEnv } from "@/lib/env";
22
- import { evaluateFinalCart, type SeamView } from "@/lib/commerce/finalCartAuthorization.js";
22
+ import { evaluateFinalCart, type SeamView } from "@/lib/checkout/commerce/finalCartAuthorization.js";
23
23
  import { d1CommerceRunner, mirrorOnHand, reserveAllocation } from "@/lib/inventory/allocations.js";
24
24
  import { POST as compliancePreflight } from "../compliance/preflight.js";
25
25
 
@@ -33,7 +33,7 @@ import {
33
33
  createTotVerificationClient,
34
34
  type TotVerificationClient,
35
35
  type TotVerificationStatus,
36
- } from "@/lib/verification/totVerificationClient";
36
+ } from "@/lib/compliance/verification/totVerificationClient";
37
37
 
38
38
  export const prerender = false;
39
39
 
@@ -16,11 +16,11 @@
16
16
  */
17
17
  import type { APIRoute } from "astro";
18
18
  import { readD1, readKv, readEnv } from "@/lib/env";
19
- import { fromD1 } from "@/lib/d1/catalog";
19
+ import { fromD1 } from "@/lib/catalog/d1/catalog";
20
20
  import { checkRateLimit } from "@/lib/rate/kvWindow";
21
- import { NewsletterSubscribersStore } from "@/lib/newsletter/subscribers";
22
- import { randomToken, hashConsentIp } from "@/lib/newsletter/consent";
23
- import { sendConfirmationEmail } from "@/lib/newsletter/confirmationEmail";
21
+ import { NewsletterSubscribersStore } from "@/lib/engagement/newsletter/subscribers";
22
+ import { randomToken, hashConsentIp } from "@/lib/engagement/newsletter/consent";
23
+ import { sendConfirmationEmail } from "@/lib/engagement/newsletter/confirmationEmail";
24
24
 
25
25
  export const prerender = false;
26
26
 
@@ -11,8 +11,8 @@
11
11
  */
12
12
  import type { APIRoute } from "astro";
13
13
  import { readD1 } from "@/lib/env";
14
- import { fromD1 } from "@/lib/d1/catalog";
15
- import { NewsletterSubscribersStore } from "@/lib/newsletter/subscribers";
14
+ import { fromD1 } from "@/lib/catalog/d1/catalog";
15
+ import { NewsletterSubscribersStore } from "@/lib/engagement/newsletter/subscribers";
16
16
 
17
17
  export const prerender = false;
18
18
 
@@ -20,8 +20,8 @@
20
20
  */
21
21
  import type { APIContext } from "astro";
22
22
  import { readD1 } from "@/lib/env";
23
- import { fromD1 } from "@/lib/d1/catalog";
24
- import { unsubscribeByToken } from "@/lib/newsletter/subscribers";
23
+ import { fromD1 } from "@/lib/catalog/d1/catalog";
24
+ import { unsubscribeByToken } from "@/lib/engagement/newsletter/subscribers";
25
25
 
26
26
  export const prerender = false;
27
27
 
@@ -15,7 +15,7 @@
15
15
  import type { APIRoute } from "astro";
16
16
  import { rateMetric, type WebVitalName, type WebVitalsSample } from "@/lib/analytics/webVitals";
17
17
  import { readKv, runAfterResponse, type CfExecutionContextLike } from "@/lib/env";
18
- import { recordBlogView } from "@/lib/blog/viewCounts";
18
+ import { recordBlogView } from "@/lib/content/blog/viewCounts";
19
19
 
20
20
  export const prerender = false;
21
21
 
@@ -2,7 +2,7 @@
2
2
  * POST /api/tracking/interaction (dt-collector-v1) — the beacon sink for
3
3
  * declarative interaction tracking.
4
4
  *
5
- * The browser collector (`@/lib/tracking/interactionCollector`) batches
5
+ * The browser collector (`@/lib/measurement/tracking/interactionCollector`) batches
6
6
  * `TotInteraction`s captured off `installInteractionTracking` /
7
7
  * `onInteraction` (`@tot/public-runtime`) — via `dt-consent-environment-gate`'s
8
8
  * consent/environment wrapper in front of it — and POSTs them here with
@@ -38,11 +38,11 @@
38
38
  */
39
39
  import type { APIContext } from "astro";
40
40
  import { readD1, readAnalytics, runAfterResponse, type CfExecutionContextLike } from "@/lib/env";
41
- import { fromD1 } from "@/lib/d1/catalog";
42
- import { ingestInteractions, type StampedInteractionEvent } from "@/lib/tracking/collectorIngest";
43
- import { readD1Control } from "@/lib/tracking/d1Control";
44
- import { resolveTenantStore, trackingNamePrefix } from "@/lib/tracking/tenantD1Registry";
45
- import { persistInteractions } from "@/lib/tracking/interactionStore";
41
+ import { fromD1 } from "@/lib/catalog/d1/catalog";
42
+ import { ingestInteractions, type StampedInteractionEvent } from "@/lib/measurement/tracking/collectorIngest";
43
+ import { readD1Control } from "@/lib/measurement/tracking/d1Control";
44
+ import { resolveTenantStore, trackingNamePrefix } from "@/lib/measurement/tracking/tenantD1Registry";
45
+ import { persistInteractions } from "@/lib/measurement/tracking/interactionStore";
46
46
  import type { AnalyticsEngineLike } from "@/lib/activity/store";
47
47
 
48
48
  export const prerender = false;
@@ -1,6 +1,6 @@
1
1
  ---
2
- import BlogPostArticle from "@/components/blog/BlogPostArticle.astro";
3
- import { loadBlogPostViewV1 } from "@/lib/blog/postView.js";
2
+ import BlogPostArticle from "@/components/content/storefront/blog/BlogPostArticle.astro";
3
+ import { loadBlogPostViewV1 } from "@/lib/content/blog/postView.js";
4
4
 
5
5
  // These redirects also exist in the published artifact: the publication composition lifts this
6
6
  // file into the space's `routes.aliases`, which reach the CDN plane through the live pointer. The
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  import Layout from "@/layouts/Layout.astro";
3
- import Breadcrumbs from "@/components/Breadcrumbs.astro";
4
- import PostAccessBadge from "@/components/blog/PostAccessBadge.astro";
5
- import { getBlogSettings, listBlogPosts } from "@/lib/blog/provider.js";
6
- import { resolveBlogPresentation } from "@/lib/blog/presentation.js";
7
- import { homeCrumbLabel, siteTrail } from "@/lib/breadcrumbs.js";
8
- import { authorSlug, getAuthors } from "@/lib/blog/collection.js";
9
- import { breadcrumbLd } from "@/lib/jsonld.js";
10
- import { collectionPathsV1, blogPathOptsV1 } from "@/lib/blog/collectionPaths.js";
3
+ import Breadcrumbs from "@/components/content/storefront/Breadcrumbs.astro";
4
+ import PostAccessBadge from "@/components/content/storefront/blog/PostAccessBadge.astro";
5
+ import { getBlogSettings, listBlogPosts } from "@/lib/content/blog/provider.js";
6
+ import { resolveBlogPresentation } from "@/lib/content/blog/presentation.js";
7
+ import { homeCrumbLabel, siteTrail } from "@/lib/content/shared/breadcrumbs.js";
8
+ import { authorSlug, getAuthors } from "@/lib/content/blog/collection.js";
9
+ import { breadcrumbLd } from "@/lib/content/shared/jsonld.js";
10
+ import { collectionPathsV1, blogPathOptsV1 } from "@/lib/content/blog/collectionPaths.js";
11
11
 
12
12
  // Author archive for the `/blog` collection. Lists exactly the posts whose
13
13
  // bylines link here (same source as /blog/index.astro + /blog/[slug].astro),
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  import Layout from "@/layouts/Layout.astro";
3
- import Breadcrumbs from "@/components/Breadcrumbs.astro";
4
- import PostGrid from "@/components/blog/PostGrid.astro";
5
- import { getBlogSettings, listBlogPosts } from "@/lib/blog/provider.js";
6
- import { collectPostsByTerm } from "@/lib/blog/collection.js";
7
- import { resolveBlogPresentation } from "@/lib/blog/presentation.js";
8
- import { homeCrumbLabel, siteTrail } from "@/lib/breadcrumbs.js";
9
- import { breadcrumbLd } from "@/lib/jsonld.js";
10
- import { collectionPathsV1, blogPathOptsV1 } from "@/lib/blog/collectionPaths.js";
3
+ import Breadcrumbs from "@/components/content/storefront/Breadcrumbs.astro";
4
+ import PostGrid from "@/components/content/storefront/blog/PostGrid.astro";
5
+ import { getBlogSettings, listBlogPosts } from "@/lib/content/blog/provider.js";
6
+ import { collectPostsByTerm } from "@/lib/content/blog/collection.js";
7
+ import { resolveBlogPresentation } from "@/lib/content/blog/presentation.js";
8
+ import { homeCrumbLabel, siteTrail } from "@/lib/content/shared/breadcrumbs.js";
9
+ import { breadcrumbLd } from "@/lib/content/shared/jsonld.js";
10
+ import { collectionPathsV1, blogPathOptsV1 } from "@/lib/content/blog/collectionPaths.js";
11
11
 
12
12
  const { tenant, basePath, canonicalBase, content, publicationTimestamp } = Astro.locals;
13
13
  const param = Astro.params.category ?? "";
@@ -1,8 +1,8 @@
1
1
  ---
2
- import BlogIndexView from "@/components/blog/BlogIndexView.astro";
3
- import { getBlogSettings, listBlogPosts } from "@/lib/blog/provider.js";
4
- import { paginateBlogPosts, resolveBlogIndexCopy } from "@/lib/blog/pagination.js";
5
- import { resolveBlogPresentation } from "@/lib/blog/presentation.js";
2
+ import BlogIndexView from "@/components/content/storefront/blog/BlogIndexView.astro";
3
+ import { getBlogSettings, listBlogPosts } from "@/lib/content/blog/provider.js";
4
+ import { paginateBlogPosts, resolveBlogIndexCopy } from "@/lib/content/blog/pagination.js";
5
+ import { resolveBlogPresentation } from "@/lib/content/blog/presentation.js";
6
6
 
7
7
  const { tenant, basePath, canonicalBase, content, publicationTimestamp } = Astro.locals;
8
8
  const posts = await listBlogPosts(tenant.tenant_id, content, publicationTimestamp);
@@ -2,10 +2,10 @@
2
2
  // /blog/page/<n>/ — page N≥2 of the blog index. Page 1 lives at /blog/
3
3
  // (src/pages/blog/index.astro); both render through the same BlogIndexView so the
4
4
  // tenant-copy + pagination contract can't drift between the two routes.
5
- import BlogIndexView from "@/components/blog/BlogIndexView.astro";
6
- import { getBlogSettings, listBlogPosts } from "@/lib/blog/provider.js";
7
- import { paginateBlogPosts, parseBlogPageParam, resolveBlogIndexCopy } from "@/lib/blog/pagination.js";
8
- import { resolveBlogPresentation } from "@/lib/blog/presentation.js";
5
+ import BlogIndexView from "@/components/content/storefront/blog/BlogIndexView.astro";
6
+ import { getBlogSettings, listBlogPosts } from "@/lib/content/blog/provider.js";
7
+ import { paginateBlogPosts, parseBlogPageParam, resolveBlogIndexCopy } from "@/lib/content/blog/pagination.js";
8
+ import { resolveBlogPresentation } from "@/lib/content/blog/presentation.js";
9
9
 
10
10
  const page = parseBlogPageParam(Astro.params.n);
11
11
  if (page === null) return new Response(null, { status: 404 });
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  import Layout from "@/layouts/Layout.astro";
3
- import Breadcrumbs from "@/components/Breadcrumbs.astro";
4
- import PostGrid from "@/components/blog/PostGrid.astro";
5
- import { getBlogSettings, listBlogPosts } from "@/lib/blog/provider.js";
6
- import { collectPostsByTerm } from "@/lib/blog/collection.js";
7
- import { resolveBlogPresentation } from "@/lib/blog/presentation.js";
8
- import { homeCrumbLabel, siteTrail } from "@/lib/breadcrumbs.js";
9
- import { breadcrumbLd } from "@/lib/jsonld.js";
10
- import { collectionPathsV1, blogPathOptsV1 } from "@/lib/blog/collectionPaths.js";
3
+ import Breadcrumbs from "@/components/content/storefront/Breadcrumbs.astro";
4
+ import PostGrid from "@/components/content/storefront/blog/PostGrid.astro";
5
+ import { getBlogSettings, listBlogPosts } from "@/lib/content/blog/provider.js";
6
+ import { collectPostsByTerm } from "@/lib/content/blog/collection.js";
7
+ import { resolveBlogPresentation } from "@/lib/content/blog/presentation.js";
8
+ import { homeCrumbLabel, siteTrail } from "@/lib/content/shared/breadcrumbs.js";
9
+ import { breadcrumbLd } from "@/lib/content/shared/jsonld.js";
10
+ import { collectionPathsV1, blogPathOptsV1 } from "@/lib/content/blog/collectionPaths.js";
11
11
 
12
12
  const { tenant, basePath, canonicalBase, content, publicationTimestamp } = Astro.locals;
13
13
  const param = Astro.params.tag ?? "";
@@ -1,5 +1,5 @@
1
1
  import type { APIRoute } from "astro";
2
- import { managedCartHref } from "@/lib/chrome/managedCart.js";
2
+ import { managedCartHref } from "@/lib/content/chrome/managedCart.js";
3
3
 
4
4
  export const prerender = false;
5
5
 
@@ -6,20 +6,20 @@
6
6
  * override later — documented seam).
7
7
  */
8
8
  import Layout from "@/layouts/Layout.astro";
9
- import Breadcrumbs from "@/components/Breadcrumbs.astro";
10
- import { homeCrumbLabel, siteTrail } from "@/lib/breadcrumbs";
11
- import ProductCard from "@/components/ProductCard.astro";
12
- import EmptyState from "@/components/EmptyState.astro";
13
- import FacetSidebar from "@/components/plp/FacetSidebar.astro";
14
- import ActiveFilters from "@/components/plp/ActiveFilters.astro";
15
- import SortSelect from "@/components/plp/SortSelect.astro";
16
- import Pagination from "@/components/plp/Pagination.astro";
9
+ import Breadcrumbs from "@/components/content/storefront/Breadcrumbs.astro";
10
+ import { homeCrumbLabel, siteTrail } from "@/lib/content/shared/breadcrumbs";
11
+ import ProductCard from "@/components/catalog/storefront/ProductCard.astro";
12
+ import EmptyState from "@/components/content/storefront/EmptyState.astro";
13
+ import FacetSidebar from "@/components/catalog/storefront/plp/FacetSidebar.astro";
14
+ import ActiveFilters from "@/components/catalog/storefront/plp/ActiveFilters.astro";
15
+ import SortSelect from "@/components/catalog/storefront/plp/SortSelect.astro";
16
+ import Pagination from "@/components/catalog/storefront/plp/Pagination.astro";
17
17
  import Img from "@/components/assets/storefront/Img.astro";
18
18
  import { parseQuery, buildQueryString } from "@/lib/url";
19
- import { breadcrumbLd, itemListLd } from "@/lib/jsonld";
20
- import { truncate } from "@/lib/format";
21
- import { pageUrlForm } from "@/lib/seo/urlForm";
22
- import { sourceSeoTitle } from "@/lib/seo/documentTitle";
19
+ import { breadcrumbLd, itemListLd } from "@/lib/content/shared/jsonld";
20
+ import { truncate } from "@/lib/content/shared/format";
21
+ import { pageUrlForm } from "@/lib/content/seo/urlForm";
22
+ import { sourceSeoTitle } from "@/lib/content/seo/documentTitle";
23
23
  import { withBase } from "@/lib/basePath";
24
24
  import { isBlankDescriptionHtml, sanitizeDescriptionHtml } from "@/lib/content/sanitizeDescriptionHtml";
25
25
 
@@ -4,12 +4,12 @@
4
4
  * one per collection (product counts from the collection record's handles).
5
5
  */
6
6
  import Layout from "@/layouts/Layout.astro";
7
- import Breadcrumbs from "@/components/Breadcrumbs.astro";
8
- import { homeCrumbLabel, siteTrail } from "@/lib/breadcrumbs";
9
- import CollectionCard from "@/components/CollectionCard.astro";
10
- import EmptyState from "@/components/EmptyState.astro";
11
- import { breadcrumbLd } from "@/lib/jsonld";
12
- import { activeMemberCount, nonEmptyCollections } from "@/lib/tot/query";
7
+ import Breadcrumbs from "@/components/content/storefront/Breadcrumbs.astro";
8
+ import { homeCrumbLabel, siteTrail } from "@/lib/content/shared/breadcrumbs";
9
+ import CollectionCard from "@/components/catalog/storefront/CollectionCard.astro";
10
+ import EmptyState from "@/components/content/storefront/EmptyState.astro";
11
+ import { breadcrumbLd } from "@/lib/content/shared/jsonld";
12
+ import { activeMemberCount, nonEmptyCollections } from "@/lib/catalog/tot/query";
13
13
 
14
14
  const { tenant, tot, canonicalBase } = Astro.locals;
15
15
  // Commerce-only route: marketing tenants have no catalog surface.
@@ -7,19 +7,19 @@
7
7
  * the template renders simple typed view-models.
8
8
  */
9
9
  import Layout from "@/layouts/Layout.astro";
10
- import Section from "@/components/Section.astro";
11
- import Hero from "@/components/home/Hero.astro";
12
- import ProductCarousel from "@/components/commerce/ProductCarousel.astro";
13
- import ProductGrid from "@/components/commerce/ProductGrid.astro";
14
- import CollectionCard from "@/components/CollectionCard.astro";
10
+ import Section from "@/components/content/storefront/Section.astro";
11
+ import Hero from "@/components/content/storefront/home/Hero.astro";
12
+ import ProductCarousel from "@/components/catalog/storefront/commerce/ProductCarousel.astro";
13
+ import ProductGrid from "@/components/catalog/storefront/commerce/ProductGrid.astro";
14
+ import CollectionCard from "@/components/catalog/storefront/CollectionCard.astro";
15
15
  import Img from "@/components/assets/storefront/Img.astro";
16
- import PromoTiles from "@/components/content/PromoTiles.astro";
17
- import TrustStrip from "@/components/content/TrustStrip.astro";
18
- import Faq from "@/components/marketing/Faq.astro";
19
- import MarketingBlocks from "@/components/marketing/MarketingBlocks.astro";
16
+ import PromoTiles from "@/components/content/storefront/content/PromoTiles.astro";
17
+ import TrustStrip from "@/components/content/storefront/content/TrustStrip.astro";
18
+ import Faq from "@/components/content/storefront/marketing/Faq.astro";
19
+ import MarketingBlocks from "@/components/content/storefront/marketing/MarketingBlocks.astro";
20
20
  import TierCards from "@/components/membership/storefront/membership/TierCards.astro";
21
21
  import { withBase } from "@/lib/basePath";
22
- import { rawHtmlPolicy, rawHtmlResponse } from "@/lib/rawMarketingHtml";
22
+ import { rawHtmlPolicy, rawHtmlResponse } from "@/lib/content/shared/rawMarketingHtml";
23
23
  import { renderRawComplianceTop, renderRawComplianceBottom } from "@/lib/compliance/rawComplianceNotices";
24
24
  import AppWidgetFrame from "@/components/integrations/storefront/apps/AppWidgetFrame.astro";
25
25
  import { getRegistryService } from "@/lib/integrations/apps/registryAccess.js";
@@ -30,18 +30,18 @@ import {
30
30
  type HeroBlock,
31
31
  type MarketingBlock,
32
32
  type FeaturedProductsBlock,
33
- } from "@/lib/storyblok/content-model";
33
+ } from "@/lib/content/storyblok/content-model";
34
34
  import type { Tier } from "@/lib/membership/model";
35
35
  import {
36
36
  normalizeProductSectionSource,
37
37
  } from "@tot/public-runtime";
38
- import { resolveSectionSource } from "@/lib/sections";
39
- import { featuredProductsPresentationView } from "@/lib/featuredProductsPresentation";
38
+ import { resolveSectionSource } from "@/lib/content/shared/sections";
39
+ import { featuredProductsPresentationView } from "@/lib/catalog/shared/featuredProductsPresentation";
40
40
  import {
41
41
  editorialMediaView,
42
42
  resolveCommerceStaticBlock,
43
43
  type CommerceStaticResolved,
44
- } from "@/lib/homeVisualParity";
44
+ } from "@/lib/content/shared/homeVisualParity";
45
45
 
46
46
  const { tenant, tot, content, basePath, apiBasePath, canonicalBase, features, capabilities } = Astro.locals;
47
47
  const marketing = !features.catalog;
@@ -10,8 +10,8 @@
10
10
  * SEO text; compliance facts come from tenant.compliance.
11
11
  */
12
12
  import type { APIContext } from "astro";
13
- import { nonEmptyCollections } from "@/lib/tot/query.js";
14
- import { getBlogSettings, listBlogPosts } from "@/lib/blog/provider.js";
13
+ import { nonEmptyCollections } from "@/lib/catalog/tot/query.js";
14
+ import { getBlogSettings, listBlogPosts } from "@/lib/content/blog/provider.js";
15
15
  import { compileRouteTierIndexV1 } from "@tot/public-runtime";
16
16
  import { readKv } from "@/lib/runtimeEnv.js";
17
17
  import {
@@ -20,7 +20,7 @@ import {
20
20
  readMountedPublicationDiscoveryV1,
21
21
  rootOwnsDiscoveryPathV1,
22
22
  } from "@/lib/publication/mountedDiscovery.js";
23
- import { collectionPathsV1, blogPathOptsV1 } from "@/lib/blog/collectionPaths.js";
23
+ import { collectionPathsV1, blogPathOptsV1 } from "@/lib/content/blog/collectionPaths.js";
24
24
 
25
25
  /** Collapse HTML/whitespace to a single trimmed line for a link description. */
26
26
  function oneLine(s: string | undefined, max = 140): string | undefined {
@@ -6,20 +6,20 @@
6
6
  * Product + BreadcrumbList JSON-LD.
7
7
  */
8
8
  import Layout from "@/layouts/Layout.astro";
9
- import Breadcrumbs from "@/components/Breadcrumbs.astro";
10
- import { homeCrumbLabel, siteTrail } from "@/lib/breadcrumbs";
11
- import Badge from "@/components/Badge.astro";
12
- import ProductCard from "@/components/ProductCard.astro";
13
- import Section from "@/components/Section.astro";
14
- import ImageGallery from "@/components/islands/ImageGallery.tsx";
15
- import VariantSelector, { publicSelectorVariants } from "@/components/islands/VariantSelector.tsx";
16
- import CheckoutComplianceGate from "@/components/islands/CheckoutComplianceGate.tsx";
17
- import RecentlyViewed from "@/components/islands/RecentlyViewed.tsx";
18
- import NicotineWarning from "@/components/compliance/NicotineWarning.astro";
19
- import Prop65Warning from "@/components/compliance/Prop65Warning.astro";
20
- import ReviewSummary from "@/components/commerce/ReviewSummary.astro";
21
- import ReviewList from "@/components/commerce/ReviewList.astro";
22
- import { isOnSale, isNew, isAvailable, fromPrice } from "@/lib/tot/query";
9
+ import Breadcrumbs from "@/components/content/storefront/Breadcrumbs.astro";
10
+ import { homeCrumbLabel, siteTrail } from "@/lib/content/shared/breadcrumbs";
11
+ import Badge from "@/components/content/storefront/Badge.astro";
12
+ import ProductCard from "@/components/catalog/storefront/ProductCard.astro";
13
+ import Section from "@/components/content/storefront/Section.astro";
14
+ import ImageGallery from "@/components/catalog/storefront/islands/ImageGallery.tsx";
15
+ import VariantSelector, { publicSelectorVariants } from "@/components/catalog/storefront/islands/VariantSelector.tsx";
16
+ import CheckoutComplianceGate from "@/components/compliance/storefront/islands/CheckoutComplianceGate.tsx";
17
+ import RecentlyViewed from "@/components/catalog/storefront/islands/RecentlyViewed.tsx";
18
+ import NicotineWarning from "@/components/compliance/storefront/compliance/NicotineWarning.astro";
19
+ import Prop65Warning from "@/components/compliance/storefront/compliance/Prop65Warning.astro";
20
+ import ReviewSummary from "@/components/catalog/storefront/commerce/ReviewSummary.astro";
21
+ import ReviewList from "@/components/catalog/storefront/commerce/ReviewList.astro";
22
+ import { isOnSale, isNew, isAvailable, fromPrice } from "@/lib/catalog/tot/query";
23
23
  import {
24
24
  buildMemberSignedCartPayload,
25
25
  workerCartApiPath,
@@ -38,17 +38,17 @@ import type {
38
38
  MembershipStackingPolicy,
39
39
  PurchaseOptionPricingContext,
40
40
  } from "@tot/public-runtime";
41
- import { resolveCartSigning, shopperCheckoutUnavailableHtml } from "@/lib/checkoutCommerce";
41
+ import { resolveCartSigning, shopperCheckoutUnavailableHtml } from "@/lib/checkout/shared/checkoutCommerce";
42
42
  import { isRegulatedTenant } from "@/lib/compliance/enforcement";
43
43
  import { resolveMemberContext } from "@/lib/membership/eligibility";
44
- import { truncate } from "@/lib/format";
45
- import { productLd, breadcrumbLd, reviewLd } from "@/lib/jsonld";
46
- import { isUsableImageUrl } from "@/lib/placeholder";
44
+ import { truncate } from "@/lib/content/shared/format";
45
+ import { productLd, breadcrumbLd, reviewLd } from "@/lib/content/shared/jsonld";
46
+ import { isUsableImageUrl } from "@/lib/content/shared/placeholder";
47
47
  import { withBase } from "@/lib/basePath";
48
- import { productPageType, structuredDataProfile } from "@/lib/seo/structuredData";
49
- import { pageUrlForm } from "@/lib/seo/urlForm";
50
- import { sourceSeoTitle } from "@/lib/seo/documentTitle";
51
- import { shippingPolicyPath } from "@/lib/commerce/shippingPolicy";
48
+ import { productPageType, structuredDataProfile } from "@/lib/content/seo/structuredData";
49
+ import { pageUrlForm } from "@/lib/content/seo/urlForm";
50
+ import { sourceSeoTitle } from "@/lib/content/seo/documentTitle";
51
+ import { shippingPolicyPath } from "@/lib/content/policies/shippingPolicy";
52
52
  import AppWidgetFrame from "@/components/integrations/storefront/apps/AppWidgetFrame.astro";
53
53
  import { getRegistryService } from "@/lib/integrations/apps/registryAccess.js";
54
54
  import { renderWidgetSlot } from "@/lib/integrations/apps/widgets/renderSlot.js";
@@ -4,8 +4,8 @@
4
4
  * (SavedList island); noindex since it's per-device and has no stable content.
5
5
  */
6
6
  import Layout from "@/layouts/Layout.astro";
7
- import Breadcrumbs from "@/components/Breadcrumbs.astro";
8
- import { homeCrumbLabel, siteTrail } from "@/lib/breadcrumbs";
7
+ import Breadcrumbs from "@/components/content/storefront/Breadcrumbs.astro";
8
+ import { homeCrumbLabel, siteTrail } from "@/lib/content/shared/breadcrumbs";
9
9
  import SavedList from "@/components/customers/storefront/islands/SavedList.tsx";
10
10
 
11
11
  const { tenant } = Astro.locals;
@@ -10,13 +10,13 @@
10
10
  * practice — thin, parameterized, duplicative).
11
11
  */
12
12
  import Layout from "@/layouts/Layout.astro";
13
- import Breadcrumbs from "@/components/Breadcrumbs.astro";
14
- import { homeCrumbLabel, siteTrail } from "@/lib/breadcrumbs";
15
- import ProductCard from "@/components/ProductCard.astro";
16
- import EmptyState from "@/components/EmptyState.astro";
17
- import Section from "@/components/Section.astro";
18
- import { toTypeaheadDoc } from "@/lib/search";
19
- import { breadcrumbLd } from "@/lib/jsonld";
13
+ import Breadcrumbs from "@/components/content/storefront/Breadcrumbs.astro";
14
+ import { homeCrumbLabel, siteTrail } from "@/lib/content/shared/breadcrumbs";
15
+ import ProductCard from "@/components/catalog/storefront/ProductCard.astro";
16
+ import EmptyState from "@/components/content/storefront/EmptyState.astro";
17
+ import Section from "@/components/content/storefront/Section.astro";
18
+ import { toTypeaheadDoc } from "@/lib/catalog/search/index";
19
+ import { breadcrumbLd } from "@/lib/content/shared/jsonld";
20
20
  import { withBase } from "@/lib/basePath";
21
21
 
22
22
  const { tenant, tot, canonicalBase, basePath } = Astro.locals;
@@ -9,13 +9,13 @@
9
9
  * loc is prefix-correct without special-casing here.
10
10
  */
11
11
  import type { APIContext } from "astro";
12
- import { nonEmptyCollections } from "@/lib/tot/query.js";
13
- import { getBlogSettings, listBlogPosts } from "@/lib/blog/provider.js";
14
- import { authorSlug, categorySlug } from "@/lib/blog/collection.js";
15
- import { resolveBlogIndexCopy } from "@/lib/blog/pagination.js";
16
- import { getTheBuildSettings, listBuildPosts } from "@/lib/the-build/provider.js";
17
- import { resolveTheBuildIndexCopy } from "@/lib/the-build/pagination.js";
18
- import { isIndexableHtml, rawPageCanonicalUrl } from "@/lib/rawMarketingHtml.js";
12
+ import { nonEmptyCollections } from "@/lib/catalog/tot/query.js";
13
+ import { getBlogSettings, listBlogPosts } from "@/lib/content/blog/provider.js";
14
+ import { authorSlug, categorySlug } from "@/lib/content/blog/collection.js";
15
+ import { resolveBlogIndexCopy } from "@/lib/content/blog/pagination.js";
16
+ import { getTheBuildSettings, listBuildPosts } from "@/lib/content/the-build/provider.js";
17
+ import { resolveTheBuildIndexCopy } from "@/lib/content/the-build/pagination.js";
18
+ import { isIndexableHtml, rawPageCanonicalUrl } from "@/lib/content/shared/rawMarketingHtml.js";
19
19
  import { compileRouteTierIndexV1 } from "@tot/public-runtime";
20
20
  import { readKv } from "@/lib/runtimeEnv.js";
21
21
  import {
@@ -24,8 +24,8 @@ import {
24
24
  readMountedPublicationDiscoveryV1,
25
25
  rootOwnsDiscoveryPathV1,
26
26
  } from "@/lib/publication/mountedDiscovery.js";
27
- import { collectionPathsV1, blogPathOptsV1 } from "@/lib/blog/collectionPaths.js";
28
- import { pageUrlForm } from "@/lib/seo/urlForm.js";
27
+ import { collectionPathsV1, blogPathOptsV1 } from "@/lib/content/blog/collectionPaths.js";
28
+ import { pageUrlForm } from "@/lib/content/seo/urlForm.js";
29
29
 
30
30
  interface SitemapUrl {
31
31
  loc: string;