@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.
- package/apps/storefront/dev-plugins/tenant-hot-reload.mjs +1 -1
- package/apps/storefront/env.d.ts +2 -2
- package/apps/storefront/perf/README.md +1 -1
- package/apps/storefront/public/shared/commerce-chrome.css +1 -1
- package/apps/storefront/public/shared/commerce-marketing.css +1 -1
- package/apps/storefront/src/components/{CollectionCard.astro → catalog/storefront/CollectionCard.astro} +1 -1
- package/apps/storefront/src/components/{ProductCard.astro → catalog/storefront/ProductCard.astro} +7 -7
- package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/BrandGrid.astro +1 -1
- package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/PriceDisplay.astro +3 -3
- package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/ProductCarousel.astro +3 -3
- package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/ProductGrid.astro +4 -4
- package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/ReviewList.astro +1 -1
- package/apps/storefront/src/components/{islands → catalog/storefront/islands}/ImageGallery.tsx +1 -1
- package/apps/storefront/src/components/{islands → catalog/storefront/islands}/QuickView.tsx +2 -2
- package/apps/storefront/src/components/{islands → catalog/storefront/islands}/RecentlyViewed.tsx +2 -2
- package/apps/storefront/src/components/{islands → catalog/storefront/islands}/SearchTypeahead.tsx +3 -3
- package/apps/storefront/src/components/{islands → catalog/storefront/islands}/VariantSelector.tsx +2 -2
- package/apps/storefront/src/components/{plp → catalog/storefront/plp}/FacetSidebar.astro +1 -1
- package/apps/storefront/src/components/compliance/{NicotineWarning.astro → storefront/compliance/NicotineWarning.astro} +1 -1
- package/apps/storefront/src/components/{islands → compliance/storefront/islands}/AgeGate.tsx +2 -2
- package/apps/storefront/src/components/{islands → compliance/storefront/islands}/CheckoutComplianceGate.tsx +1 -1
- package/apps/storefront/src/components/{islands → compliance/storefront/islands}/IsolatedAgeGate.tsx +1 -1
- package/apps/storefront/src/components/{AsyncStylesheet.astro → content/storefront/AsyncStylesheet.astro} +2 -2
- package/apps/storefront/src/components/{Breadcrumbs.astro → content/storefront/Breadcrumbs.astro} +3 -3
- package/apps/storefront/src/components/{Seo.astro → content/storefront/Seo.astro} +5 -5
- package/apps/storefront/src/components/{blog → content/storefront/blog}/BlogIndexView.astro +6 -6
- package/apps/storefront/src/components/{blog → content/storefront/blog}/BlogPaywall.astro +1 -1
- package/apps/storefront/src/components/{blog → content/storefront/blog}/BlogPostArticle.astro +7 -7
- package/apps/storefront/src/components/{blog → content/storefront/blog}/PostAccessBadge.astro +1 -1
- package/apps/storefront/src/components/{blog → content/storefront/blog}/PostGrid.astro +3 -3
- package/apps/storefront/src/components/{blog → content/storefront/blog}/ReactionBar.astro +1 -1
- package/apps/storefront/src/components/{blog → content/storefront/blog}/ShareRow.astro +1 -1
- package/apps/storefront/src/components/{chrome → content/storefront/chrome}/MegaMenu.astro +3 -3
- package/apps/storefront/src/components/{chrome → content/storefront/chrome}/NavDropdown.astro +2 -2
- package/apps/storefront/src/components/{chrome → content/storefront/chrome}/SiteFooter.astro +5 -5
- package/apps/storefront/src/components/{chrome → content/storefront/chrome}/SiteHeader.astro +9 -9
- package/apps/storefront/src/components/{chrome → content/storefront/chrome}/UtilityNav.astro +2 -2
- package/apps/storefront/src/components/content/{Callout.astro → storefront/content/Callout.astro} +1 -1
- package/apps/storefront/src/components/content/{PromoTiles.astro → storefront/content/PromoTiles.astro} +3 -3
- package/apps/storefront/src/components/content/{ProseSections.astro → storefront/content/ProseSections.astro} +3 -3
- package/apps/storefront/src/components/{home → content/storefront/home}/Hero.astro +4 -4
- package/apps/storefront/src/components/{islands → content/storefront/islands}/MobileNav.tsx +2 -2
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/CardGrid.astro +2 -2
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/CodeSample.astro +1 -1
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/CtaBand.astro +2 -2
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/Faq.astro +5 -5
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/Integrations.astro +3 -3
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/MarketingBlocks.astro +11 -11
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/MarketingCtas.astro +1 -1
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/MarketingHero.astro +2 -2
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/ProofStrip.astro +1 -1
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/SplitCompare.astro +2 -2
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/Steps.astro +2 -2
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/Testimonials.astro +2 -2
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/TrustBar.astro +1 -1
- package/apps/storefront/src/components/{style-guide → content/storefront/style-guide}/StyleGuideNav.astro +1 -1
- package/apps/storefront/src/components/{the-build → content/storefront/the-build}/TheBuildIndexView.astro +5 -5
- package/apps/storefront/src/components/customers/storefront/islands/SavedList.tsx +2 -2
- package/apps/storefront/src/components/{subscription → subscriptions/storefront/subscription}/HowItWorksSteps.astro +1 -1
- package/apps/storefront/src/components/{subscription → subscriptions/storefront/subscription}/ManageSubscriptionEntry.astro +1 -1
- package/apps/storefront/src/components/{subscription → subscriptions/storefront/subscription}/SavingsExplainer.astro +2 -2
- package/apps/storefront/src/layouts/Layout.astro +32 -32
- package/apps/storefront/src/lib/activity/alerts.ts +1 -1
- package/apps/storefront/src/lib/activity/candidateSubmitLease.ts +1 -1
- package/apps/storefront/src/lib/activity/fixtures/evidence.ts +2 -2
- package/apps/storefront/src/lib/activity/query.ts +2 -2
- package/apps/storefront/src/lib/activity/store.ts +1 -1
- package/apps/storefront/src/lib/admin/services/mock/index.ts +5 -5
- package/apps/storefront/src/lib/assets/shared/imageAttrs.ts +1 -1
- package/apps/storefront/src/lib/basePath.ts +1 -1
- package/apps/storefront/src/lib/{admin → catalog/admin}/catalogSettingsClient.ts +2 -2
- package/apps/storefront/src/lib/{admin → catalog/admin}/services/catalogProducts.ts +2 -2
- package/apps/storefront/src/lib/{d1 → catalog/d1}/catalog.ts +1 -1
- package/apps/storefront/src/lib/{admin/services/mock → catalog/fixtures}/products.ts +5 -5
- package/apps/storefront/src/lib/{search → catalog/search}/index.ts +1 -1
- package/apps/storefront/src/lib/{featuredProductsPresentation.ts → catalog/shared/featuredProductsPresentation.ts} +1 -1
- package/apps/storefront/src/lib/{priceBuckets.ts → catalog/shared/priceBuckets.ts} +1 -1
- package/apps/storefront/src/lib/{tot → catalog/tot}/ToTClient.ts +3 -3
- package/apps/storefront/src/lib/{tot → catalog/tot}/query.ts +1 -1
- package/apps/storefront/src/lib/{tot → catalog/tot}/syncState.ts +1 -1
- package/apps/storefront/src/lib/{tot → catalog/tot}/tenantCatalog.ts +1 -1
- package/apps/storefront/src/lib/{admin/services/mock → checkout/fixtures}/checkoutSettings.ts +2 -2
- package/apps/storefront/src/lib/{blog → content/blog}/collection.ts +9 -9
- package/apps/storefront/src/lib/{blog → content/blog}/postView.ts +3 -3
- package/apps/storefront/src/lib/{blog → content/blog}/provider.ts +7 -7
- package/apps/storefront/src/lib/{chrome → content/chrome}/footerLegal.ts +2 -2
- package/apps/storefront/src/lib/{chrome → content/chrome}/trackingPlacements.ts +1 -1
- package/apps/storefront/src/lib/content/index.ts +1 -1
- package/apps/storefront/src/lib/{seo → content/seo}/faqItems.ts +1 -1
- package/apps/storefront/src/lib/{seo → content/seo}/structuredData.ts +1 -1
- package/apps/storefront/src/lib/{breadcrumbs.ts → content/shared/breadcrumbs.ts} +1 -1
- package/apps/storefront/src/lib/{heroSlideshow.ts → content/shared/heroSlideshow.ts} +1 -1
- package/apps/storefront/src/lib/{homeVisualParity.ts → content/shared/homeVisualParity.ts} +1 -1
- package/apps/storefront/src/lib/{jsonld.ts → content/shared/jsonld.ts} +1 -1
- package/apps/storefront/src/lib/{rawChrome.ts → content/shared/rawChrome.ts} +14 -14
- package/apps/storefront/src/lib/{rawMarketingHtml.ts → content/shared/rawMarketingHtml.ts} +3 -3
- package/apps/storefront/src/lib/{sections.ts → content/shared/sections.ts} +2 -2
- package/apps/storefront/src/lib/{styleGuideThemes.ts → content/shared/styleGuideThemes.ts} +3 -3
- package/apps/storefront/src/lib/{storyblok → content/storyblok}/content-model.ts +1 -1
- package/apps/storefront/src/lib/{storyblok → content/storyblok}/provider.ts +26 -26
- package/apps/storefront/src/lib/{the-build → content/the-build}/provider.ts +1 -1
- package/apps/storefront/src/lib/{the-build → content/the-build}/toc.ts +1 -1
- package/apps/storefront/src/lib/d1/schema-apps.ts +2 -2
- package/apps/storefront/src/lib/email/candidateConflictEmail.ts +1 -1
- package/apps/storefront/src/lib/email/magicLinkInviteEmail.ts +1 -1
- package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/digest.ts +2 -2
- package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/resendClient.ts +1 -1
- package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/send.ts +2 -2
- package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/subscribers.ts +1 -1
- package/apps/storefront/src/lib/{social → engagement/social}/golive.ts +2 -2
- package/apps/storefront/src/lib/{social → engagement/social}/notify.ts +1 -1
- package/apps/storefront/src/lib/{social → engagement/social}/tokenStore.ts +3 -3
- package/apps/storefront/src/lib/env.ts +1 -1
- package/apps/storefront/src/lib/fulfillment/store.ts +1 -1
- package/apps/storefront/src/lib/integrations/apps/appVersionStore.ts +1 -1
- package/apps/storefront/src/lib/integrations/apps/credentials.ts +1 -1
- package/apps/storefront/src/lib/integrations/apps/orders/idempotency.ts +1 -1
- package/apps/storefront/src/lib/integrations/apps/registryAccess.ts +1 -1
- package/apps/storefront/src/lib/integrations/apps/registryService.ts +1 -1
- package/apps/storefront/src/lib/integrations/integration/managedInstallDeclarations.ts +1 -1
- package/apps/storefront/src/lib/integrations/webhooks/deliveryEngine.ts +1 -1
- package/apps/storefront/src/lib/integrations/webhooks/deliveryStore.ts +1 -1
- package/apps/storefront/src/lib/integrations/webhooks/emit.ts +1 -1
- package/apps/storefront/src/lib/integrations/webhooks/getDispatcher.ts +1 -1
- package/apps/storefront/src/lib/{apps/orders → measurement/attribution}/attributionService.ts +2 -2
- package/apps/storefront/src/lib/{apps/orders → measurement/attribution}/orderConversionD1.ts +2 -2
- package/apps/storefront/src/lib/{apps/orders → measurement/attribution}/verifiedProviderMeasurement.ts +2 -2
- package/apps/storefront/src/lib/{apps → measurement/consent}/consentConfigRead.ts +1 -1
- package/apps/storefront/src/lib/{tracking → measurement/tracking}/d1Control.ts +2 -2
- package/apps/storefront/src/lib/{tracking → measurement/tracking}/interactionCollector.ts +2 -2
- package/apps/storefront/src/lib/{tracking → measurement/tracking}/interactionStore.ts +0 -0
- package/apps/storefront/src/lib/{tracking → measurement/tracking}/pruneRollup.ts +2 -2
- package/apps/storefront/src/lib/{tracking → measurement/tracking}/publishSafetyNet.ts +1 -1
- package/apps/storefront/src/lib/{tracking → measurement/tracking}/tenantD1Registry.ts +2 -2
- package/apps/storefront/src/lib/monitoring/manifest.ts +1 -1
- package/apps/storefront/src/lib/{apps/orders → orders/data}/orderForwardReceiver.ts +1 -1
- package/apps/storefront/src/lib/{apps/orders → orders/data}/orderMapper.ts +1 -1
- package/apps/storefront/src/lib/{apps/orders → orders/data}/ordersStore.ts +1 -1
- package/apps/storefront/src/lib/{admin/services/mock → orders/fixtures}/orders.ts +5 -5
- package/apps/storefront/src/lib/previewReload.ts +1 -1
- package/apps/storefront/src/lib/publication/contentProvider.ts +7 -7
- package/apps/storefront/src/lib/publication/mountedDiscovery.ts +1 -1
- package/apps/storefront/src/lib/publication/rootDiscovery.ts +4 -4
- package/apps/storefront/src/lib/{admin/services/mock → subscriptions/fixtures}/subscriptions.ts +8 -8
- package/apps/storefront/src/lib/url.ts +1 -1
- package/apps/storefront/src/middleware/controlPlane.ts +2 -2
- package/apps/storefront/src/middleware/index.ts +2 -2
- package/apps/storefront/src/middleware/renderChain.ts +3 -3
- package/apps/storefront/src/pages/404.astro +1 -1
- package/apps/storefront/src/pages/[...slug].astro +13 -13
- package/apps/storefront/src/pages/api/activity.ts +1 -1
- package/apps/storefront/src/pages/api/admin/activity-alerts.ts +1 -1
- package/apps/storefront/src/pages/api/admin/interaction-insights.ts +4 -4
- package/apps/storefront/src/pages/api/admin/orders/[id].ts +2 -2
- package/apps/storefront/src/pages/api/admin/orders.ts +2 -2
- package/apps/storefront/src/pages/api/blog/[collection]/[slug]/react.ts +1 -1
- package/apps/storefront/src/pages/api/commerce/checkout-handoff.ts +2 -2
- package/apps/storefront/src/pages/api/commerce/final-cart-authorization.ts +2 -2
- package/apps/storefront/src/pages/api/compliance/preflight.ts +1 -1
- package/apps/storefront/src/pages/api/newsletter/[collection]/subscribe.ts +4 -4
- package/apps/storefront/src/pages/api/newsletter/confirm.ts +2 -2
- package/apps/storefront/src/pages/api/newsletter/unsubscribe.ts +2 -2
- package/apps/storefront/src/pages/api/rum/vitals.ts +1 -1
- package/apps/storefront/src/pages/api/tracking/interaction.ts +6 -6
- package/apps/storefront/src/pages/blog/[slug].astro +2 -2
- package/apps/storefront/src/pages/blog/author/[author].astro +8 -8
- package/apps/storefront/src/pages/blog/category/[category].astro +8 -8
- package/apps/storefront/src/pages/blog/index.astro +4 -4
- package/apps/storefront/src/pages/blog/page/[n].astro +4 -4
- package/apps/storefront/src/pages/blog/tag/[tag].astro +8 -8
- package/apps/storefront/src/pages/cart.ts +1 -1
- package/apps/storefront/src/pages/collections/[handle].astro +12 -12
- package/apps/storefront/src/pages/collections/index.astro +6 -6
- package/apps/storefront/src/pages/index.astro +14 -14
- package/apps/storefront/src/pages/llms.txt.ts +3 -3
- package/apps/storefront/src/pages/products/[handle].astro +22 -22
- package/apps/storefront/src/pages/saved.astro +2 -2
- package/apps/storefront/src/pages/search.astro +7 -7
- package/apps/storefront/src/pages/sitemap.xml.ts +9 -9
- package/apps/storefront/src/pages/style-guide/[tenant]/[theme].astro +58 -58
- package/apps/storefront/src/pages/style-guide/[tenant]/chrome/[theme].astro +2 -2
- package/apps/storefront/src/pages/style-guide/[tenant]/guide/[theme].astro +3 -3
- package/apps/storefront/src/pages/style-guide/[tenant]/index.astro +3 -3
- package/apps/storefront/src/pages/style-guide/index.astro +1 -1
- package/apps/storefront/src/pages/the-build/[slug].astro +10 -10
- package/apps/storefront/src/pages/the-build/index.astro +5 -5
- package/apps/storefront/src/pages/the-build/page/[n].astro +5 -5
- package/apps/storefront/src/pages/the-build/rss.xml.ts +4 -4
- package/docs/widget-library-guide.md +71 -71
- package/package.json +1 -1
- package/packages/public-runtime/src/chrome.ts +5 -5
- package/packages/public-runtime/src/tracking-id-derivation.ts +1 -1
- /package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/RatingStars.astro +0 -0
- /package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/ReviewSummary.astro +0 -0
- /package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/TagFilterCloud.astro +0 -0
- /package/apps/storefront/src/components/{plp → catalog/storefront/plp}/ActiveFilters.astro +0 -0
- /package/apps/storefront/src/components/{plp → catalog/storefront/plp}/Pagination.astro +0 -0
- /package/apps/storefront/src/components/{plp → catalog/storefront/plp}/SortSelect.astro +0 -0
- /package/apps/storefront/src/components/{commerce → checkout/storefront/commerce}/CartDrawerStyles.astro +0 -0
- /package/apps/storefront/src/components/{commerce → checkout/storefront/commerce}/CheckoutLoader.astro +0 -0
- /package/apps/storefront/src/components/compliance/{AdultSignatureNotice.astro → storefront/compliance/AdultSignatureNotice.astro} +0 -0
- /package/apps/storefront/src/components/compliance/{ComplianceNotice.astro → storefront/compliance/ComplianceNotice.astro} +0 -0
- /package/apps/storefront/src/components/compliance/{ExciseTaxNotice.astro → storefront/compliance/ExciseTaxNotice.astro} +0 -0
- /package/apps/storefront/src/components/compliance/{PactActNotice.astro → storefront/compliance/PactActNotice.astro} +0 -0
- /package/apps/storefront/src/components/compliance/{Prop65Warning.astro → storefront/compliance/Prop65Warning.astro} +0 -0
- /package/apps/storefront/src/components/compliance/{PurchaseLimitNotice.astro → storefront/compliance/PurchaseLimitNotice.astro} +0 -0
- /package/apps/storefront/src/components/compliance/{ShippingRestrictionNotice.astro → storefront/compliance/ShippingRestrictionNotice.astro} +0 -0
- /package/apps/storefront/src/components/compliance/{StateEligibilityNotice.astro → storefront/compliance/StateEligibilityNotice.astro} +0 -0
- /package/apps/storefront/src/components/{Badge.astro → content/storefront/Badge.astro} +0 -0
- /package/apps/storefront/src/components/{EmptyState.astro → content/storefront/EmptyState.astro} +0 -0
- /package/apps/storefront/src/components/{Section.astro → content/storefront/Section.astro} +0 -0
- /package/apps/storefront/src/components/{chrome → content/storefront/chrome}/AnnouncementBar.astro +0 -0
- /package/apps/storefront/src/components/{commerce → content/storefront/commerce}/ArticleCard.astro +0 -0
- /package/apps/storefront/src/components/content/{NeedsReviewCallout.astro → storefront/content/NeedsReviewCallout.astro} +0 -0
- /package/apps/storefront/src/components/content/{ProseToc.astro → storefront/content/ProseToc.astro} +0 -0
- /package/apps/storefront/src/components/content/{RichText.astro → storefront/content/RichText.astro} +0 -0
- /package/apps/storefront/src/components/content/{TrustStrip.astro → storefront/content/TrustStrip.astro} +0 -0
- /package/apps/storefront/src/lib/{admin → catalog/admin}/catalogSettingsPreview.ts +0 -0
- /package/apps/storefront/src/lib/{admin → catalog/admin}/catalogSettingsState.ts +0 -0
- /package/apps/storefront/src/lib/{admin → catalog/admin}/productSetupPhoto.ts +0 -0
- /package/apps/storefront/src/lib/{admin → catalog/admin}/productsTabClient.ts +0 -0
- /package/apps/storefront/src/lib/{admin → catalog/admin}/viewmodels/catalogProducts.ts +0 -0
- /package/apps/storefront/src/lib/{admin → catalog/admin}/viewmodels/products.ts +0 -0
- /package/apps/storefront/src/lib/{fixtures → catalog/fixtures}/sampleProducts.ts +0 -0
- /package/apps/storefront/src/lib/{tot → catalog/tot}/d1Client.ts +0 -0
- /package/apps/storefront/src/lib/{tot → catalog/tot}/totClientInterface.ts +0 -0
- /package/apps/storefront/src/lib/{admin → checkout/admin}/checkoutStyleInput.ts +0 -0
- /package/apps/storefront/src/lib/{admin → checkout/admin}/checkoutStyleTarget.ts +0 -0
- /package/apps/storefront/src/{components/islands → lib/checkout/browser}/useCheckoutHandoffCorrelation.ts +0 -0
- /package/apps/storefront/src/lib/{commerce → checkout/commerce}/checkoutHandoffCorrelation.ts +0 -0
- /package/apps/storefront/src/lib/{commerce → checkout/commerce}/checkoutSettings.ts +0 -0
- /package/apps/storefront/src/lib/{commerce → checkout/commerce}/finalCartAuthorization.ts +0 -0
- /package/apps/storefront/src/lib/{checkoutCommerce.ts → checkout/shared/checkoutCommerce.ts} +0 -0
- /package/apps/storefront/src/{components/islands → lib/compliance/browser}/checkoutVerificationFlow.ts +0 -0
- /package/apps/storefront/src/lib/{visitorRegionCookie.ts → compliance/shared/visitorRegionCookie.ts} +0 -0
- /package/apps/storefront/src/lib/{verification → compliance/verification}/totVerificationClient.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/access.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/collectionPaths.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/markdown.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/pagination.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/presentation.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/reactions.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/rss.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/teaser.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/types.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/viewCounts.ts +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/ctaIdentity.ts +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/examples/tokenoftrust.chrome-assignments.example.json +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/examples/tokenoftrust.chrome.example.json +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/managedCart.ts +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/model.ts +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/navCurrent.ts +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/newsletterAgeAttestation.ts +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/parseConfig.ts +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/variant.ts +0 -0
- /package/apps/storefront/src/lib/{commerce → content/policies}/shippingPolicy.ts +0 -0
- /package/apps/storefront/src/lib/{seo → content/seo}/alternates.ts +0 -0
- /package/apps/storefront/src/lib/{seo → content/seo}/documentTitle.ts +0 -0
- /package/apps/storefront/src/lib/{seo → content/seo}/meta.ts +0 -0
- /package/apps/storefront/src/lib/{seo → content/seo}/urlForm.ts +0 -0
- /package/apps/storefront/src/lib/{asyncCss.ts → content/shared/asyncCss.ts} +0 -0
- /package/apps/storefront/src/lib/{colors.ts → content/shared/colors.ts} +0 -0
- /package/apps/storefront/src/lib/{format.ts → content/shared/format.ts} +0 -0
- /package/apps/storefront/src/lib/{i18n.ts → content/shared/i18n.ts} +0 -0
- /package/apps/storefront/src/lib/{jsonScript.ts → content/shared/jsonScript.ts} +0 -0
- /package/apps/storefront/src/lib/{placeholder.ts → content/shared/placeholder.ts} +0 -0
- /package/apps/storefront/src/lib/{styleGuidePaths.ts → content/shared/styleGuidePaths.ts} +0 -0
- /package/apps/storefront/src/lib/{the-build → content/the-build}/pagination.ts +0 -0
- /package/apps/storefront/src/lib/{the-build → content/the-build}/readingTime.ts +0 -0
- /package/apps/storefront/src/lib/{messaging → engagement/messaging}/messagesClient.ts +0 -0
- /package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/confirmationEmail.ts +0 -0
- /package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/consent.ts +0 -0
- /package/apps/storefront/src/lib/{admin → measurement/admin}/consentSettingsClient.ts +0 -0
- /package/apps/storefront/src/lib/{analytics → measurement/analytics}/index.ts +0 -0
- /package/apps/storefront/src/lib/{tracking → measurement/tracking}/collectorAllowlist.ts +0 -0
- /package/apps/storefront/src/lib/{tracking → measurement/tracking}/collectorIngest.ts +0 -0
- /package/apps/storefront/src/lib/{tracking → measurement/tracking}/interactionHealth.ts +0 -0
- /package/apps/storefront/src/lib/{tracking → measurement/tracking}/interactionSchema.ts +0 -0
- /package/apps/storefront/src/lib/{tracking → measurement/tracking}/tenantReadAccess.ts +0 -0
- /package/apps/storefront/src/lib/{tracking-writeback → measurement/tracking-writeback}/rewriteTrackingIds.ts +0 -0
- /package/apps/storefront/src/lib/{tracking-writeback → measurement/tracking-writeback}/writebackCandidate.ts +0 -0
- /package/apps/storefront/src/lib/{admin → orders/admin}/orderClient.ts +0 -0
- /package/apps/storefront/src/lib/{admin → orders/admin}/services/orders.ts +0 -0
- /package/apps/storefront/src/lib/{admin → orders/admin}/viewmodels/orders.ts +0 -0
- /package/apps/storefront/src/lib/{apps/orders → orders/providers}/foxyOrderClient.ts +0 -0
- /package/apps/storefront/src/lib/{admin → subscriptions/admin}/viewmodels/subscriptions.ts +0 -0
- /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 "
|
|
29
|
-
import type { BlogPost, PostStatus } from "
|
|
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 "
|
|
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 "
|
|
22
|
-
import { readD1, readEnv } from "
|
|
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("
|
|
165
|
+
import("../../catalog/d1/catalog.js"),
|
|
166
166
|
readD1("STOREFRONT_APPS_DB"),
|
|
167
167
|
readEnv("SOCIAL_TOKEN_KEK"),
|
|
168
168
|
]);
|
|
@@ -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
|
|
package/apps/storefront/src/lib/{apps/orders → measurement/attribution}/attributionService.ts
RENAMED
|
@@ -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 "
|
|
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;
|
package/apps/storefront/src/lib/{apps/orders → measurement/attribution}/orderConversionD1.ts
RENAMED
|
@@ -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 "
|
|
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 "
|
|
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 "
|
|
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 "
|
|
25
|
-
import type { Queryable, QueryStatement } from "
|
|
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;
|
|
Binary file
|
|
@@ -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 "
|
|
48
|
-
import type { AnalyticsEngineLike } from "
|
|
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 "
|
|
35
|
-
import type { Queryable } from "
|
|
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 "
|
|
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 "
|
|
11
|
-
import { tenantProfile } from "
|
|
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";
|
package/apps/storefront/src/lib/{admin/services/mock → subscriptions/fixtures}/subscriptions.ts
RENAMED
|
@@ -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 "
|
|
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 "
|
|
31
|
-
import { getCustomersViewModel } from "
|
|
32
|
-
import { getProductsViewModel } from "
|
|
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/
|
|
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;
|