@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
@@ -25,8 +25,8 @@
25
25
  * so the first ship after this hook deploys does NOT retro-announce the tenant's
26
26
  * whole back-catalog.
27
27
  */
28
- import { isVisibleOnLive } from "../blog/collection.js";
29
- import type { BlogPost, PostStatus } from "../blog/types.js";
28
+ import { isVisibleOnLive } from "../../content/blog/collection.js";
29
+ import type { BlogPost, PostStatus } from "../../content/blog/types.js";
30
30
  import { notifyPostPublished } from "./notify.js";
31
31
 
32
32
  /**
@@ -1,4 +1,4 @@
1
- import type { BlogPost } from "../blog/types.js";
1
+ import type { BlogPost } from "../../content/blog/types.js";
2
2
 
3
3
  /** Swallow-and-log a soft failure — logging itself must never throw (mirrors `webhooks/emit.ts`). */
4
4
  function logDiag(fields: Record<string, unknown>): void {
@@ -18,8 +18,8 @@
18
18
  * root that wires the real bindings (mirrors `getDispatcher()`); it returns
19
19
  * `null` when either binding is absent so callers degrade rather than throw.
20
20
  */
21
- import type { Queryable } from "../d1/catalog.js";
22
- import { readD1, readEnv } from "../env.js";
21
+ import type { Queryable } from "../../catalog/d1/catalog.js";
22
+ import { readD1, readEnv } from "../../env.js";
23
23
 
24
24
  /** The decrypted token material we persist as one JSON blob under AES-GCM. */
25
25
  export interface SocialTokenPayload {
@@ -162,7 +162,7 @@ export async function rotateSocialToken(
162
162
  */
163
163
  export async function resolveSocialTokenStore(): Promise<SocialTokenStoreDeps | null> {
164
164
  const [{ fromD1 }, d1, rawKek] = await Promise.all([
165
- import("../d1/catalog.js"),
165
+ import("../../catalog/d1/catalog.js"),
166
166
  readD1("STOREFRONT_APPS_DB"),
167
167
  readEnv("SOCIAL_TOKEN_KEK"),
168
168
  ]);
@@ -12,7 +12,7 @@
12
12
  * all, so a request-time D1 handle is unobtainable there rather than merely
13
13
  * unused.
14
14
  */
15
- import type { D1Like } from "./d1/catalog.js";
15
+ import type { D1Like } from "./catalog/d1/catalog.js";
16
16
 
17
17
  export * from "./runtimeEnv.js";
18
18
 
@@ -5,7 +5,7 @@
5
5
  * `scrappy_shipment_audit` (append-only). The commerce migration has no batch
6
6
  * table; this store does not create one.
7
7
  */
8
- import type { D1Like } from "../d1/catalog.js";
8
+ import type { D1Like } from "../catalog/d1/catalog.js";
9
9
 
10
10
  export interface SqlStatement {
11
11
  sql: string;
@@ -37,7 +37,7 @@ import type {
37
37
  NormalizedContribution,
38
38
  } from "@tot/public-runtime";
39
39
  import { findForbiddenFields } from "@tot/public-runtime";
40
- import type { Queryable, QueryStatement } from "../../d1/catalog.js";
40
+ import type { Queryable, QueryStatement } from "../../catalog/d1/catalog.js";
41
41
 
42
42
  /**
43
43
  * One managed-app version's COMPLETE restorable facet set — everything a rollback
@@ -19,7 +19,7 @@
19
19
  */
20
20
  import { sha256Hex } from "@tot/public-runtime";
21
21
  import type { CredentialPort, IssuedCredential } from "./registryService.js";
22
- import type { Queryable } from "../../d1/catalog.js";
22
+ import type { Queryable } from "../../catalog/d1/catalog.js";
23
23
 
24
24
  /** `IssuedCredential` plus the one-time plaintext secret — never stored, never re-returned. */
25
25
  export type IssuedCredentialSecret = IssuedCredential & { secret: string };
@@ -14,7 +14,7 @@
14
14
  * idempotent write route can reuse this.
15
15
  */
16
16
  import { sha256Hex } from "@tot/public-runtime";
17
- import type { Queryable } from "../../../d1/catalog.js";
17
+ import type { Queryable } from "../../../catalog/d1/catalog.js";
18
18
 
19
19
  export type IdempotencyCheck =
20
20
  | { status: "proceed" }
@@ -16,7 +16,7 @@
16
16
  import { AppRegistryService } from "./registryService.js";
17
17
  import { D1CredentialStore } from "./credentials.js";
18
18
  import { DEFAULT_APP_GATEWAY_KID, APP_GATEWAY_KID_ENV } from "./gatewayKeys.js";
19
- import { fromD1 } from "../../d1/catalog.js";
19
+ import { fromD1 } from "../../catalog/d1/catalog.js";
20
20
  import { readD1, readEnv } from "../../env.js";
21
21
 
22
22
  /**
@@ -70,7 +70,7 @@ import {
70
70
  type PlanIntegrationEntry,
71
71
  type PlanIntegrationConsent,
72
72
  } from "@tot/public-runtime";
73
- import type { Queryable } from "../../d1/catalog.js";
73
+ import type { Queryable } from "../../catalog/d1/catalog.js";
74
74
 
75
75
  export type AppInstallStatus = "active" | "suspended" | "uninstalled";
76
76
 
@@ -11,7 +11,7 @@ import {
11
11
  type IntegrationDeclarationInput,
12
12
  } from "@tot/public-runtime";
13
13
  import { AppVersionStore } from "../apps/appVersionStore.js";
14
- import type { Queryable } from "../../d1/catalog.js";
14
+ import type { Queryable } from "../../catalog/d1/catalog.js";
15
15
  import { migrateLegacyDestinationIds, parseStageDestinationIds } from "./stageDestinationIds.js";
16
16
 
17
17
  const MANAGED_KIND = "managed-analytics-v1";
@@ -28,7 +28,7 @@ import { buildCloudEventEnvelope } from "./events.js";
28
28
  import { computeBackoffDelaySeconds, MAX_DELIVERY_ATTEMPTS, type AttemptOutcome } from "./dispatcher.js";
29
29
  import { validateWebhookEndpoint } from "./endpointGuard.js";
30
30
  import { COMMERCE_SCHEDULER } from "@tot/public-runtime";
31
- import type { Queryable } from "../../d1/catalog.js";
31
+ import type { Queryable } from "../../catalog/d1/catalog.js";
32
32
 
33
33
  /** Bounded per-attempt timeout — a hung receiver must not hold a dispatcher slot open indefinitely. */
34
34
  const DEFAULT_TIMEOUT_MS = 10_000;
@@ -39,7 +39,7 @@
39
39
  * the delivery via `getOrThrowDelivery` before returning it, the same
40
40
  * read-after-write discipline `AppRegistryService` uses.
41
41
  */
42
- import type { Queryable } from "../../d1/catalog.js";
42
+ import type { Queryable } from "../../catalog/d1/catalog.js";
43
43
 
44
44
  /** Mirrors the `Delivery.topic` / CloudEvents channel enum in the D1/D2 contract. */
45
45
  export type WebhookTopic =
@@ -50,7 +50,7 @@ import { TOPIC_REQUIRED_SCOPE } from "./events.js";
50
50
  import { getDispatcher } from "./getDispatcher.js";
51
51
  import { getRegistryService } from "../apps/registryAccess.js";
52
52
  import type { AppInstall } from "../apps/registryService.js";
53
- import { fromD1 } from "../../d1/catalog.js";
53
+ import { fromD1 } from "../../catalog/d1/catalog.js";
54
54
  import { readD1 } from "../../env.js";
55
55
 
56
56
  /** Contract-scoped payload schema version — `asyncapi.yaml`'s `dataschemaversion` is `const: "1"` for V1. */
@@ -22,7 +22,7 @@ import { AppRegistryService } from "../apps/registryService.js";
22
22
  import { D1CredentialStore } from "../apps/credentials.js";
23
23
  import { DEFAULT_APP_GATEWAY_KID, APP_GATEWAY_KID_ENV } from "../apps/gatewayKeys.js";
24
24
  import { json } from "../apps/registryAccess.js";
25
- import { fromD1, type Queryable } from "../../d1/catalog.js";
25
+ import { fromD1, type Queryable } from "../../catalog/d1/catalog.js";
26
26
  import { readD1, readEnv, readQueue } from "../../env.js";
27
27
  import { COMMERCE_SCHEDULER } from "@tot/public-runtime";
28
28
 
@@ -22,8 +22,8 @@
22
22
  * no-op replay (returns the row already on record) while differing content
23
23
  * is a conflict — once recorded, an attributionId's content is immutable.
24
24
  */
25
- import { OrdersStore } from "./ordersStore.js";
26
- import type { Queryable } from "../../d1/catalog.js";
25
+ import { OrdersStore } from "../../orders/data/ordersStore.js";
26
+ import type { Queryable } from "../../catalog/d1/catalog.js";
27
27
 
28
28
  export interface CommissionInput {
29
29
  amount?: number;
@@ -15,7 +15,7 @@
15
15
  * Both run over the `Queryable` seam, so they serve real D1 in the Worker and an
16
16
  * in-memory `node:sqlite` in tests unchanged.
17
17
  */
18
- import type { Queryable } from "../../d1/catalog.js";
18
+ import type { Queryable } from "../../catalog/d1/catalog.js";
19
19
  import { readEnv } from "@/lib/env";
20
20
  import {
21
21
  computeOrderConversion,
@@ -26,7 +26,7 @@ import {
26
26
  type OrderConversionResult,
27
27
  type StoredAttribution,
28
28
  } from "@tot/public-runtime";
29
- import type { OrderForwardInput, OrderForwardResult } from "./orderForwardReceiver.js";
29
+ import type { OrderForwardInput, OrderForwardResult } from "../../orders/data/orderForwardReceiver.js";
30
30
 
31
31
  /** The server-only correlation-signing key binding, distinct from the cart secret. */
32
32
  const CORRELATION_SECRET_ENV = "COMMERCE_CORRELATION_SECRET";
@@ -13,8 +13,8 @@ import {
13
13
  type VerifiedOrderTruthResolution,
14
14
  } from "../../../../../../packages/public-runtime/src/regulated-commerce/purchase-truth/contract.js";
15
15
  import type { RegulatedCommerceIntent } from "../../../../../../packages/public-runtime/src/regulated-commerce/events/contract.js";
16
- import type { Queryable } from "../../d1/catalog.js";
17
- import type { OrderForwardInput } from "./orderForwardReceiver.js";
16
+ import type { Queryable } from "../../catalog/d1/catalog.js";
17
+ import type { OrderForwardInput } from "../../orders/data/orderForwardReceiver.js";
18
18
 
19
19
  const FOXY_PROVIDER = "foxycart";
20
20
  const LIVE_ENVS = new Set(["live", "production"]);
@@ -5,7 +5,7 @@
5
5
  * latest validated configuration and none of the authoring or history surface.
6
6
  */
7
7
  import type { TenantConsentConfig } from "@tot/public-runtime";
8
- import type { Queryable } from "../d1/catalog.js";
8
+ import type { Queryable } from "../../catalog/d1/catalog.js";
9
9
 
10
10
  interface CurrentConsentConfigRow {
11
11
  config: string;
@@ -21,8 +21,8 @@
21
21
  * stores use (`d1/catalog.ts`), so the insert code in `interactionStore.ts` is
22
22
  * transport-agnostic and unit-testable against an in-memory sqlite.
23
23
  */
24
- import { readEnv } from "../env.js";
25
- import type { Queryable, QueryStatement } from "../d1/catalog.js";
24
+ import { readEnv } from "../../env.js";
25
+ import type { Queryable, QueryStatement } from "../../catalog/d1/catalog.js";
26
26
 
27
27
  const CF_API_BASE = "https://api.cloudflare.com/client/v4";
28
28
 
@@ -9,7 +9,7 @@
9
9
  * e.g. `dt-consent-environment-gate`):
10
10
  *
11
11
  * import { onInteraction } from "@tot/public-runtime";
12
- * import { collectInteraction } from "@/lib/tracking/interactionCollector";
12
+ * import { collectInteraction } from "@/lib/measurement/tracking/interactionCollector";
13
13
  * onInteraction((interaction) => {
14
14
  * if (consentAndEnvironmentAllow()) collectInteraction(interaction);
15
15
  * });
@@ -38,7 +38,7 @@ export const MAX_QUEUE_SIZE = 20;
38
38
  /** The wire shape POSTed to `INTERACTION_BEACON_PATH` — `TotInteraction`'s five
39
39
  * fields plus this module's own synthesized correlation fields. Must stay in
40
40
  * lockstep with `INTERACTION_WIRE_ALLOWLIST`
41
- * (`apps/storefront/src/lib/tracking/collectorAllowlist.ts`). */
41
+ * (`apps/storefront/src/lib/measurement/tracking/collectorAllowlist.ts`). */
42
42
  export interface InteractionWireEvent {
43
43
  type: TotInteraction["type"];
44
44
  el: string;
@@ -44,8 +44,8 @@
44
44
  * transient D1 fault) is caught, logged, and recorded in that tenant's
45
45
  * outcome — it never aborts the rest of the batch.
46
46
  */
47
- import type { Queryable } from "../d1/catalog.js";
48
- import type { AnalyticsEngineLike } from "../activity/store.js";
47
+ import type { Queryable } from "../../catalog/d1/catalog.js";
48
+ import type { AnalyticsEngineLike } from "../../activity/store.js";
49
49
  import { fromD1Rest, type D1ControlConfig } from "./d1Control.js";
50
50
  import { aggregateInteractions, writeInteractionAnalytics } from "./interactionStore.js";
51
51
  import type { StampedInteractionEvent } from "./collectorIngest.js";
@@ -6,7 +6,7 @@
6
6
  * that proposes `data-tot-el` for git-tracked tenant content and writes it
7
7
  * back to source as a reviewable diff. This module exists for everything
8
8
  * that bypasses that review — AI-edit drafts materialized into
9
- * `dev-draft:` KV (see `DevDraftContentProvider`, lib/storyblok/provider.ts)
9
+ * `dev-draft:` KV (see `DevDraftContentProvider`, lib/content/storyblok/provider.ts)
10
10
  * and direct KV-published edits (`PublishedContentProvider`'s overlay over
11
11
  * the customization store). Content sourced from `LocalContentProvider`
12
12
  * (build-bundled from git-tracked `tenants/<id>/content/*`) is explicitly
@@ -31,8 +31,8 @@
31
31
  * never fail because storage is unconfigured.
32
32
  */
33
33
  import { sha256Hex } from "@tot/public-runtime";
34
- import { readEnv } from "../env.js";
35
- import type { Queryable } from "../d1/catalog.js";
34
+ import { readEnv } from "../../env.js";
35
+ import type { Queryable } from "../../catalog/d1/catalog.js";
36
36
  import {
37
37
  ensureDatabase,
38
38
  fromD1Rest,
@@ -132,7 +132,7 @@ export const MONITORS: readonly Monitor[] = [
132
132
  category: "commerce",
133
133
  signal: {
134
134
  source:
135
- "Signed add-to-cart + cross-origin checkout POST (F11; lib/checkoutCommerce.ts, checkoutCspAdditions)",
135
+ "Signed add-to-cart + cross-origin checkout POST (F11; lib/checkout/shared/checkoutCommerce.ts, checkoutCspAdditions)",
136
136
  observe:
137
137
  "Worker logs on the signed add-to-cart path + checkout-host success beacon; alert on failure ratio",
138
138
  },
@@ -35,7 +35,7 @@
35
35
  import { OrdersStore, ScrappyOrderLedger, type OrderLineItem, type OrderStatus, type Order } from "./ordersStore.js";
36
36
  import { emitWebhookEvent } from "../../integrations/webhooks/emit.js";
37
37
  import type { WebhookTopic } from "../../integrations/webhooks/deliveryStore.js";
38
- import type { Queryable } from "../../d1/catalog.js";
38
+ import type { Queryable } from "../../catalog/d1/catalog.js";
39
39
  import {
40
40
  createLocalJWKSet,
41
41
  decodeJwt,
@@ -9,7 +9,7 @@
9
9
  * customer identity is always the per-(tenant, install) `customerHash`.
10
10
  */
11
11
  import { customerHash } from "../../integrations/apps/orders/customerHash.js";
12
- import type { FoxyOrder, FoxyOrderLineItem } from "./foxyOrderClient.js";
12
+ import type { FoxyOrder, FoxyOrderLineItem } from "../providers/foxyOrderClient.js";
13
13
  import {
14
14
  COMPLIANCE_STATES,
15
15
  FULFILLMENT_STATES,
@@ -10,7 +10,7 @@
10
10
  * `AppRegistryService` uses, so this runs unchanged against real D1 in the
11
11
  * Worker and an in-memory `node:sqlite` in tests.
12
12
  */
13
- import type { Queryable, QueryStatement } from "../../d1/catalog.js";
13
+ import type { Queryable, QueryStatement } from "../../catalog/d1/catalog.js";
14
14
  import {
15
15
  canonicalJson,
16
16
  idempotencyKey,
@@ -1,5 +1,5 @@
1
- import type { AdminTenantEnvelope } from "../../envelope";
2
- import { MOCK_ANCHOR_ISO, offsetIso, pick, randomBool, randomInt, seededRandom } from "../../seed";
1
+ import type { AdminTenantEnvelope } from "../../admin/envelope";
2
+ import { MOCK_ANCHOR_ISO, offsetIso, pick, randomBool, randomInt, seededRandom } from "../../admin/seed";
3
3
  import type {
4
4
  OrderDetail,
5
5
  OrderEvidenceEvent,
@@ -7,9 +7,9 @@ import type {
7
7
  OrderQueueSummary,
8
8
  OrderRow,
9
9
  OrdersViewModel,
10
- } from "../../viewmodels/orders";
11
- import { tenantProfile } from "./tenants";
12
- import { memoizeByEnvelope } from "../../memoizeByEnvelope";
10
+ } from "../admin/viewmodels/orders";
11
+ import { tenantProfile } from "../../admin/services/mock/tenants";
12
+ import { memoizeByEnvelope } from "../../admin/memoizeByEnvelope";
13
13
 
14
14
  // Must stay index-aligned with customers.ts's NAMES: an order's customerId is
15
15
  // derived from the picked name's position here, and customers.ts assigns each
@@ -108,7 +108,7 @@ export function buildPreviewReloadScript(opts: {
108
108
  */
109
109
  export function buildCspViolationBannerScript(basePath = ""): string {
110
110
  // A style-guide surface is `/_style-guide/…` or `/style-guide/…`, under the tenant
111
- // prefix when path-routed (lib/styleGuidePaths.ts).
111
+ // prefix when path-routed (lib/content/shared/styleGuidePaths.ts).
112
112
  return `(() => {
113
113
  if (window.__totCspBanner) return; window.__totCspBanner = true;
114
114
  const seen = new Set();
@@ -2,13 +2,13 @@ import type {
2
2
  OpenPublicationArtifactV1,
3
3
  PublicationRouteRenderPlanV1,
4
4
  } from "@tot/public-runtime";
5
- import { hasHomeContentShape, type EditorialPage, type HomeContent } from "@/lib/storyblok/content-model.js";
6
- import type { ChromeConfig } from "@/lib/chrome/model.js";
7
- import { parseChromeConfig } from "@/lib/chrome/parseConfig.js";
8
- import { parseChromeAssignments } from "@/lib/chrome/model.js";
9
- import { renderRawChrome } from "@/lib/rawChrome.js";
10
- import { stampTrackingIdsAtPublish } from "@/lib/tracking/publishSafetyNet.js";
11
- import type { ContentProvider } from "@/lib/storyblok/provider.js";
5
+ import { hasHomeContentShape, type EditorialPage, type HomeContent } from "@/lib/content/storyblok/content-model.js";
6
+ import type { ChromeConfig } from "@/lib/content/chrome/model.js";
7
+ import { parseChromeConfig } from "@/lib/content/chrome/parseConfig.js";
8
+ import { parseChromeAssignments } from "@/lib/content/chrome/model.js";
9
+ import { renderRawChrome } from "@/lib/content/shared/rawChrome.js";
10
+ import { stampTrackingIdsAtPublish } from "@/lib/measurement/tracking/publishSafetyNet.js";
11
+ import type { ContentProvider } from "@/lib/content/storyblok/provider.js";
12
12
 
13
13
  const EMPTY_CHROME_CONFIG: ChromeConfig = {
14
14
  header: { variant: "primary", brand: { label: "" }, nav: [] },
@@ -29,7 +29,7 @@ import {
29
29
  type PublicationDiscoveryEntryKindV1,
30
30
  } from "@tot/public-runtime";
31
31
  import { publicationRecoveryActiveV1, publicationRecoveryKeyV1 } from "@tot/public-runtime/publication-recovery";
32
- import { rawPageCanonicalUrl } from "../rawMarketingHtml.js";
32
+ import { rawPageCanonicalUrl } from "../content/shared/rawMarketingHtml.js";
33
33
 
34
34
  export type DiscoverySurfaceV1 = "sitemap" | "feeds" | "publicSearch" | "llms";
35
35
 
@@ -5,10 +5,10 @@
5
5
  * Paths are spelled exactly as the root sitemap lists them.
6
6
  */
7
7
  import type { APIContext } from "astro";
8
- import { getBlogSettings, listBlogPosts } from "@/lib/blog/provider.js";
9
- import { listBuildPosts } from "@/lib/the-build/provider.js";
10
- import { isIndexableHtml, rawPageCanonicalUrl } from "@/lib/rawMarketingHtml.js";
11
- import { collectionPathsV1, blogPathOptsV1 } from "@/lib/blog/collectionPaths.js";
8
+ import { getBlogSettings, listBlogPosts } from "@/lib/content/blog/provider.js";
9
+ import { listBuildPosts } from "@/lib/content/the-build/provider.js";
10
+ import { isIndexableHtml, rawPageCanonicalUrl } from "@/lib/content/shared/rawMarketingHtml.js";
11
+ import { collectionPathsV1, blogPathOptsV1 } from "@/lib/content/blog/collectionPaths.js";
12
12
 
13
13
  export interface RootDiscoveryDocumentV1 {
14
14
  kind: "home" | "page" | "post";
@@ -7,16 +7,16 @@ import {
7
7
  isSubscriptionFrequency,
8
8
  purchaseOptionPrice,
9
9
  } from "@tot/public-runtime";
10
- import type { AdminTenantEnvelope } from "../../envelope";
11
- import { memoizeByEnvelope } from "../../memoizeByEnvelope";
10
+ import type { AdminTenantEnvelope } from "../../admin/envelope";
11
+ import { memoizeByEnvelope } from "../../admin/memoizeByEnvelope";
12
12
  import {
13
13
  MOCK_ANCHOR_ISO,
14
14
  offsetIso,
15
15
  randomInt,
16
16
  seededRandom,
17
- } from "../../seed";
18
- import type { CustomerRow } from "../../../customers/admin/viewmodels/customers";
19
- import type { ProductDetail, ProductRow } from "../../viewmodels/products";
17
+ } from "../../admin/seed";
18
+ import type { CustomerRow } from "../../customers/admin/viewmodels/customers";
19
+ import type { ProductDetail, ProductRow } from "../../catalog/admin/viewmodels/products";
20
20
  import type {
21
21
  SubscriptionAttentionRow,
22
22
  SubscriptionCheckoutField,
@@ -27,9 +27,9 @@ import type {
27
27
  SubscriptionRenewalEvent,
28
28
  SubscriptionSubscriberRow,
29
29
  SubscriptionsViewModel,
30
- } from "../../viewmodels/subscriptions";
31
- import { getCustomersViewModel } from "../../../customers/fixtures/customers";
32
- import { getProductsViewModel } from "./products";
30
+ } from "../admin/viewmodels/subscriptions";
31
+ import { getCustomersViewModel } from "../../customers/fixtures/customers";
32
+ import { getProductsViewModel } from "../../catalog/fixtures/products";
33
33
 
34
34
  export interface SubscriptionProductSource {
35
35
  productId: string;
@@ -8,7 +8,7 @@
8
8
  * &opt.Size=M&tag=sale&priceMin=50&priceMax=200&q=wool
9
9
  */
10
10
  import type { ListProductsQuery } from "@tot/public-runtime";
11
- import type { PriceBucket } from "./priceBuckets.js";
11
+ import type { PriceBucket } from "./catalog/shared/priceBuckets.js";
12
12
 
13
13
  export function parseQuery(url: URL): ListProductsQuery {
14
14
  const sp = url.searchParams;
@@ -8,8 +8,8 @@
8
8
  */
9
9
  import type { APIContext, MiddlewareNext } from "astro";
10
10
  import { readEnv, readD1, readKv } from "@/lib/env";
11
- import { fromD1, type D1Like } from "@/lib/d1/catalog";
12
- import { readCurrentTenantConsentConfig } from "@/lib/apps/consentConfigRead";
11
+ import { fromD1, type D1Like } from "@/lib/catalog/d1/catalog";
12
+ import { readCurrentTenantConsentConfig } from "@/lib/measurement/consent/consentConfigRead";
13
13
  import { loadActiveManagedInstallDeclarations } from "@/lib/integrations/integration/managedInstallDeclarations";
14
14
  import { buildTenantConsentBroker, verifyPreviewToken } from "@tot/public-runtime";
15
15
  import { tenantIsDeclaredPublic } from "@/config/tenants";
@@ -29,7 +29,7 @@ import { compileRouteTierIndexV1, resolvePublicationRoutePlanV1, type RouteTierI
29
29
  import type { PublicationArtifactBucketV1, TenantConfig } from "@tot/public-runtime";
30
30
  import { DEV_DRAFT_COOKIE } from "@/lib/dev/devDraft";
31
31
  import { applySecurityHeaders } from "@/lib/securityHeaders";
32
- import { visitorRegionFor, withVisitorRegionCookie } from "@/lib/visitorRegionCookie";
32
+ import { visitorRegionFor, withVisitorRegionCookie } from "@/lib/compliance/shared/visitorRegionCookie";
33
33
  import { tryServeStaticBundle } from "./staticBundle.js";
34
34
  import { resolveCandidateContentPin } from "./candidatePin.js";
35
35
  import { parseGateMode } from "@/lib/auth/loginGate";
@@ -69,7 +69,7 @@ function routeTierIndexFor(tenant: TenantConfig): RouteTierIndexV1 {
69
69
  }
70
70
 
71
71
  /**
72
- * Every HTML document leaves with the visitor's region class (lib/visitorRegionCookie),
72
+ * Every HTML document leaves with the visitor's region class (lib/compliance/shared/visitorRegionCookie),
73
73
  * appended after the branch has read or written any edge cache.
74
74
  */
75
75
  export const onRequest = defineMiddleware(async (context, next) => {
@@ -11,12 +11,12 @@
11
11
  import type { APIContext, MiddlewareNext } from "astro";
12
12
  import { referenceTheme } from "@/themes/reference";
13
13
  import { mergeTheme, themeToCssVars } from "@/themes/schema";
14
- import { createToTClient } from "@/lib/tot/ToTClient";
14
+ import { createToTClient } from "@/lib/catalog/tot/ToTClient";
15
15
  import { readEnv, readR2 } from "@/lib/runtimeEnv";
16
16
  import { tryServeStaticBundle } from "./staticBundle.js";
17
17
  import { isPlatformPublicDiscoveryPath } from "./routeBranch.js";
18
18
  import { resolveCandidateContentPin, type CandidateContentPin } from "./candidatePin.js";
19
- import { createContentProvider, DevDraftContentProvider } from "@/lib/storyblok/provider";
19
+ import { createContentProvider, DevDraftContentProvider } from "@/lib/content/storyblok/provider";
20
20
  import { bindPublicationSpaceContentProviderV1 } from "@/lib/publication/contentProvider.js";
21
21
  import { resolvePublicationRuntimeSourceV1 } from "@/lib/publication/runtimeSource.js";
22
22
  import { DEV_DRAFT_COOKIE, devDraftKey, verifyDevDraftToken } from "@/lib/dev/devDraft";
@@ -85,7 +85,7 @@ import {
85
85
  } from "@tot/public-runtime";
86
86
  import { publicationContentRedirectLocationV1 } from "@tot/public-runtime/publication-content-redirects";
87
87
  import { loadTenantIntegrationDeclarations } from "@/lib/integrations/integration/tenantDeclarations";
88
- import { resolveTenantCommerce } from "@/lib/checkoutCommerce";
88
+ import { resolveTenantCommerce } from "@/lib/checkout/shared/checkoutCommerce";
89
89
  import {
90
90
  requestBrowserEnvironment,
91
91
  previewBrowserEnvironment,
@@ -12,7 +12,7 @@
12
12
  export const prerender = false;
13
13
 
14
14
  import Layout from "@/layouts/Layout.astro";
15
- import CollectionCard from "@/components/CollectionCard.astro";
15
+ import CollectionCard from "@/components/catalog/storefront/CollectionCard.astro";
16
16
  import { withBase } from "@/lib/basePath";
17
17
 
18
18
  const { tenant, tot, basePath, features } = Astro.locals;
@@ -6,19 +6,19 @@
6
6
  * prefixes so a stray slug can never shadow a real route.
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 ProseSections from "@/components/content/ProseSections.astro";
12
- import ProseToc from "@/components/content/ProseToc.astro";
13
- import { breadcrumbLd } from "@/lib/jsonld";
14
- import { truncate } from "@/lib/format";
15
- import { faqFromHtml, faqFromSections } from "@/lib/seo/faqItems";
16
- import { rawHtmlPolicy, rawHtmlResponse, rawPageCanonicalUrl } from "@/lib/rawMarketingHtml";
9
+ import Breadcrumbs from "@/components/content/storefront/Breadcrumbs.astro";
10
+ import { homeCrumbLabel, siteTrail } from "@/lib/content/shared/breadcrumbs";
11
+ import ProseSections from "@/components/content/storefront/content/ProseSections.astro";
12
+ import ProseToc from "@/components/content/storefront/content/ProseToc.astro";
13
+ import { breadcrumbLd } from "@/lib/content/shared/jsonld";
14
+ import { truncate } from "@/lib/content/shared/format";
15
+ import { faqFromHtml, faqFromSections } from "@/lib/content/seo/faqItems";
16
+ import { rawHtmlPolicy, rawHtmlResponse, rawPageCanonicalUrl } from "@/lib/content/shared/rawMarketingHtml";
17
17
  import { renderRawComplianceTop, renderRawComplianceBottom } from "@/lib/compliance/rawComplianceNotices";
18
- import { styleGuideAliasRewrite } from "@/lib/styleGuidePaths";
19
- import { getBlogSettings } from "@/lib/blog/provider.js";
20
- import { loadBlogPostViewV1, type BlogPostViewPropsV1 } from "@/lib/blog/postView.js";
21
- import BlogPostArticle from "@/components/blog/BlogPostArticle.astro";
18
+ import { styleGuideAliasRewrite } from "@/lib/content/shared/styleGuidePaths";
19
+ import { getBlogSettings } from "@/lib/content/blog/provider.js";
20
+ import { loadBlogPostViewV1, type BlogPostViewPropsV1 } from "@/lib/content/blog/postView.js";
21
+ import BlogPostArticle from "@/components/content/storefront/blog/BlogPostArticle.astro";
22
22
 
23
23
  const { tenant, canonicalBase, content, basePath, apiBasePath, capabilities, features } =
24
24
  Astro.locals;
@@ -45,7 +45,7 @@ if (styleGuideTarget !== undefined) {
45
45
  return Astro.rewrite(styleGuideTarget);
46
46
  }
47
47
 
48
- // A tenant that declares `BlogSettings.postsAtRoot` (see lib/blog/types.ts) serves its
48
+ // A tenant that declares `BlogSettings.postsAtRoot` (see lib/content/blog/types.ts) serves its
49
49
  // individual posts at the site root — a single-segment slug tries the blog collection
50
50
  // before falling through to a raw marketing page or a CMS page. Multi-segment slugs are
51
51
  // never posts, so this never shadows a nested marketing/CMS path.
@@ -29,7 +29,7 @@
29
29
  */
30
30
  import type { APIContext } from "astro";
31
31
  import { readD1, readEnv, readAnalytics, runAfterResponse, type CfExecutionContextLike } from "@/lib/env";
32
- import { fromD1 } from "@/lib/d1/catalog";
32
+ import { fromD1 } from "@/lib/catalog/d1/catalog";
33
33
  import { verifyIngestAuth } from "@/lib/activity/ingestAuth";
34
34
  import { ingestEvents, type IngestRejection } from "@/lib/activity/ingest";
35
35
  import { fanOutActivity, type AnalyticsEngineLike, type ActivitySinks } from "@/lib/activity/store";
@@ -27,7 +27,7 @@
27
27
  import type { APIContext } from "astro";
28
28
  import { requireAdminApiEntry } from "@/lib/auth/adminApiGuard";
29
29
  import { readD1 } from "@/lib/env";
30
- import { fromD1 } from "@/lib/d1/catalog";
30
+ import { fromD1 } from "@/lib/catalog/d1/catalog";
31
31
  import { checkActivityAlerts } from "@/lib/activity/alerts";
32
32
 
33
33
  export const prerender = false;
@@ -30,10 +30,10 @@
30
30
  import type { APIContext } from "astro";
31
31
  import { requireAdminApiEntry } from "@/lib/auth/adminApiGuard";
32
32
  import { readD1 } from "@/lib/env";
33
- import { fromD1 } from "@/lib/d1/catalog";
34
- import { resolveTenantStore, trackingNamePrefix } from "@/lib/tracking/tenantD1Registry";
35
- import { readD1Control } from "@/lib/tracking/d1Control";
36
- import { readTenantInteractionInsights } from "@/lib/tracking/tenantReadAccess";
33
+ import { fromD1 } from "@/lib/catalog/d1/catalog";
34
+ import { resolveTenantStore, trackingNamePrefix } from "@/lib/measurement/tracking/tenantD1Registry";
35
+ import { readD1Control } from "@/lib/measurement/tracking/d1Control";
36
+ import { readTenantInteractionInsights } from "@/lib/measurement/tracking/tenantReadAccess";
37
37
 
38
38
  export const prerender = false;
39
39
 
@@ -15,8 +15,8 @@ import {
15
15
  orderApiBaseUrl,
16
16
  OrderApiError,
17
17
  projectCheckoutOrder,
18
- } from "@/lib/admin/orderClient";
19
- import { assessCheckoutOrder } from "@/lib/admin/services/orders";
18
+ } from "@/lib/orders/admin/orderClient";
19
+ import { assessCheckoutOrder } from "@/lib/orders/admin/services/orders";
20
20
  import { commerceStageForEnv } from "@/lib/fulfillment/fulfillmentService";
21
21
 
22
22
  export const prerender = false;