@tokenoftrust/storefront-runner 2.4.85 → 2.4.87

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 (170) hide show
  1. package/apps/storefront/env.d.ts +1 -1
  2. package/apps/storefront/package.json +1 -1
  3. package/apps/storefront/src/components/{ProductCard.astro → catalog/storefront/ProductCard.astro} +3 -3
  4. package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/PriceDisplay.astro +1 -1
  5. package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/ProductCarousel.astro +1 -1
  6. package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/ProductGrid.astro +1 -1
  7. package/apps/storefront/src/components/{islands → catalog/storefront/islands}/SearchTypeahead.tsx +1 -1
  8. package/apps/storefront/src/components/{islands → catalog/storefront/islands}/VariantSelector.tsx +1 -1
  9. package/apps/storefront/src/components/{plp → catalog/storefront/plp}/FacetSidebar.astro +1 -1
  10. package/apps/storefront/src/components/chrome/SiteHeader.astro +1 -1
  11. package/apps/storefront/src/components/compliance/{NicotineWarning.astro → storefront/compliance/NicotineWarning.astro} +1 -1
  12. package/apps/storefront/src/components/{islands → compliance/storefront/islands}/CheckoutComplianceGate.tsx +1 -1
  13. package/apps/storefront/src/components/{apps → integrations/storefront/apps}/AppWidgetFrame.astro +1 -1
  14. package/apps/storefront/src/components/{subscription → subscriptions/storefront/subscription}/HowItWorksSteps.astro +1 -1
  15. package/apps/storefront/src/components/{subscription → subscriptions/storefront/subscription}/ManageSubscriptionEntry.astro +1 -1
  16. package/apps/storefront/src/components/{subscription → subscriptions/storefront/subscription}/SavingsExplainer.astro +2 -2
  17. package/apps/storefront/src/config/devTenantSeed.ts +1 -1
  18. package/apps/storefront/src/layouts/Layout.astro +11 -11
  19. package/apps/storefront/src/lib/activity/alerts.ts +1 -1
  20. package/apps/storefront/src/lib/activity/candidateSubmitLease.ts +1 -1
  21. package/apps/storefront/src/lib/activity/fixtures/evidence.ts +2 -2
  22. package/apps/storefront/src/lib/activity/query.ts +2 -2
  23. package/apps/storefront/src/lib/activity/store.ts +1 -1
  24. package/apps/storefront/src/lib/admin/services/mock/index.ts +5 -5
  25. package/apps/storefront/src/lib/apps/consentConfigRead.ts +1 -1
  26. package/apps/storefront/src/lib/apps/orders/attributionService.ts +2 -2
  27. package/apps/storefront/src/lib/apps/orders/orderConversionD1.ts +2 -2
  28. package/apps/storefront/src/lib/apps/orders/verifiedProviderMeasurement.ts +2 -2
  29. package/apps/storefront/src/lib/{admin → catalog/admin}/catalogSettingsClient.ts +2 -2
  30. package/apps/storefront/src/lib/{admin → catalog/admin}/services/catalogProducts.ts +2 -2
  31. package/apps/storefront/src/lib/{d1 → catalog/d1}/catalog.ts +1 -1
  32. package/apps/storefront/src/lib/{admin/services/mock → catalog/fixtures}/products.ts +5 -5
  33. package/apps/storefront/src/lib/{search → catalog/search}/index.ts +1 -1
  34. package/apps/storefront/src/lib/{priceBuckets.ts → catalog/shared/priceBuckets.ts} +1 -1
  35. package/apps/storefront/src/lib/{tot → catalog/tot}/ToTClient.ts +3 -3
  36. package/apps/storefront/src/lib/{tot → catalog/tot}/query.ts +1 -1
  37. package/apps/storefront/src/lib/{tot → catalog/tot}/syncState.ts +1 -1
  38. package/apps/storefront/src/lib/{tot → catalog/tot}/tenantCatalog.ts +1 -1
  39. package/apps/storefront/src/lib/{admin/services/mock → checkout/fixtures}/checkoutSettings.ts +2 -2
  40. package/apps/storefront/src/lib/content/index.ts +1 -1
  41. package/apps/storefront/src/lib/env.ts +1 -1
  42. package/apps/storefront/src/lib/fulfillment/store.ts +1 -1
  43. package/apps/storefront/src/lib/{apps → integrations/apps}/appVersionStore.ts +1 -1
  44. package/apps/storefront/src/lib/{apps → integrations/apps}/credentials.ts +1 -1
  45. package/apps/storefront/src/lib/{apps → integrations/apps}/orders/idempotency.ts +1 -1
  46. package/apps/storefront/src/lib/{apps → integrations/apps}/registryAccess.ts +2 -2
  47. package/apps/storefront/src/lib/{apps → integrations/apps}/registryService.ts +1 -1
  48. package/apps/storefront/src/lib/{integration → integrations/integration}/browserEnvironment.ts +1 -1
  49. package/apps/storefront/src/lib/{integration → integrations/integration}/managedInstallDeclarations.ts +1 -1
  50. package/apps/storefront/src/lib/{webhooks → integrations/webhooks}/deliveryEngine.ts +1 -1
  51. package/apps/storefront/src/lib/{webhooks → integrations/webhooks}/deliveryStore.ts +1 -1
  52. package/apps/storefront/src/lib/{webhooks → integrations/webhooks}/emit.ts +2 -2
  53. package/apps/storefront/src/lib/{webhooks → integrations/webhooks}/getDispatcher.ts +2 -2
  54. package/apps/storefront/src/lib/jsonld.ts +1 -1
  55. package/apps/storefront/src/lib/monitoring/manifest.ts +1 -1
  56. package/apps/storefront/src/lib/newsletter/send.ts +1 -1
  57. package/apps/storefront/src/lib/newsletter/subscribers.ts +1 -1
  58. package/apps/storefront/src/lib/{apps/orders → orders/data}/orderForwardReceiver.ts +3 -3
  59. package/apps/storefront/src/lib/{apps/orders → orders/data}/orderMapper.ts +2 -2
  60. package/apps/storefront/src/lib/{apps/orders → orders/data}/ordersStore.ts +1 -1
  61. package/apps/storefront/src/lib/{admin/services/mock → orders/fixtures}/orders.ts +5 -5
  62. package/apps/storefront/src/lib/rawChrome.ts +2 -2
  63. package/apps/storefront/src/lib/sections.ts +2 -2
  64. package/apps/storefront/src/lib/social/tokenStore.ts +2 -2
  65. package/apps/storefront/src/lib/{admin/services/mock → subscriptions/fixtures}/subscriptions.ts +8 -8
  66. package/apps/storefront/src/lib/tracking/d1Control.ts +1 -1
  67. package/apps/storefront/src/lib/tracking/interactionStore.ts +0 -0
  68. package/apps/storefront/src/lib/tracking/pruneRollup.ts +1 -1
  69. package/apps/storefront/src/lib/tracking/tenantD1Registry.ts +1 -1
  70. package/apps/storefront/src/lib/url.ts +1 -1
  71. package/apps/storefront/src/middleware/controlPlane.ts +2 -2
  72. package/apps/storefront/src/middleware/index.ts +2 -2
  73. package/apps/storefront/src/middleware/renderChain.ts +7 -7
  74. package/apps/storefront/src/pages/404.astro +1 -1
  75. package/apps/storefront/src/pages/api/activity.ts +1 -1
  76. package/apps/storefront/src/pages/api/admin/activity-alerts.ts +1 -1
  77. package/apps/storefront/src/pages/api/admin/interaction-insights.ts +1 -1
  78. package/apps/storefront/src/pages/api/admin/orders/[id].ts +2 -2
  79. package/apps/storefront/src/pages/api/admin/orders.ts +2 -2
  80. package/apps/storefront/src/pages/api/commerce/checkout-handoff.ts +2 -2
  81. package/apps/storefront/src/pages/api/commerce/final-cart-authorization.ts +2 -2
  82. package/apps/storefront/src/pages/api/compliance/preflight.ts +1 -1
  83. package/apps/storefront/src/pages/api/newsletter/[collection]/subscribe.ts +1 -1
  84. package/apps/storefront/src/pages/api/newsletter/confirm.ts +1 -1
  85. package/apps/storefront/src/pages/api/newsletter/unsubscribe.ts +1 -1
  86. package/apps/storefront/src/pages/api/tracking/interaction.ts +1 -1
  87. package/apps/storefront/src/pages/collections/[handle].astro +5 -5
  88. package/apps/storefront/src/pages/collections/index.astro +2 -2
  89. package/apps/storefront/src/pages/index.astro +7 -7
  90. package/apps/storefront/src/pages/llms.txt.ts +1 -1
  91. package/apps/storefront/src/pages/products/[handle].astro +14 -14
  92. package/apps/storefront/src/pages/search.astro +2 -2
  93. package/apps/storefront/src/pages/sitemap.xml.ts +1 -1
  94. package/apps/storefront/src/pages/style-guide/[tenant]/[theme].astro +34 -34
  95. package/docs/widget-library-guide.md +36 -36
  96. package/package.json +1 -1
  97. package/packages/public-runtime/src/chrome.ts +1 -1
  98. package/packages/public-runtime/src/customization-scripts.ts +1 -1
  99. /package/apps/storefront/src/components/{CollectionCard.astro → catalog/storefront/CollectionCard.astro} +0 -0
  100. /package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/BrandGrid.astro +0 -0
  101. /package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/RatingStars.astro +0 -0
  102. /package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/ReviewList.astro +0 -0
  103. /package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/ReviewSummary.astro +0 -0
  104. /package/apps/storefront/src/components/{commerce → catalog/storefront/commerce}/TagFilterCloud.astro +0 -0
  105. /package/apps/storefront/src/components/{islands → catalog/storefront/islands}/ImageGallery.tsx +0 -0
  106. /package/apps/storefront/src/components/{islands → catalog/storefront/islands}/QuickView.tsx +0 -0
  107. /package/apps/storefront/src/components/{islands → catalog/storefront/islands}/RecentlyViewed.tsx +0 -0
  108. /package/apps/storefront/src/components/{plp → catalog/storefront/plp}/ActiveFilters.astro +0 -0
  109. /package/apps/storefront/src/components/{plp → catalog/storefront/plp}/Pagination.astro +0 -0
  110. /package/apps/storefront/src/components/{plp → catalog/storefront/plp}/SortSelect.astro +0 -0
  111. /package/apps/storefront/src/components/{commerce → checkout/storefront/commerce}/CartDrawerStyles.astro +0 -0
  112. /package/apps/storefront/src/components/{commerce → checkout/storefront/commerce}/CheckoutLoader.astro +0 -0
  113. /package/apps/storefront/src/components/compliance/{AdultSignatureNotice.astro → storefront/compliance/AdultSignatureNotice.astro} +0 -0
  114. /package/apps/storefront/src/components/compliance/{ComplianceNotice.astro → storefront/compliance/ComplianceNotice.astro} +0 -0
  115. /package/apps/storefront/src/components/compliance/{ExciseTaxNotice.astro → storefront/compliance/ExciseTaxNotice.astro} +0 -0
  116. /package/apps/storefront/src/components/compliance/{PactActNotice.astro → storefront/compliance/PactActNotice.astro} +0 -0
  117. /package/apps/storefront/src/components/compliance/{Prop65Warning.astro → storefront/compliance/Prop65Warning.astro} +0 -0
  118. /package/apps/storefront/src/components/compliance/{PurchaseLimitNotice.astro → storefront/compliance/PurchaseLimitNotice.astro} +0 -0
  119. /package/apps/storefront/src/components/compliance/{ShippingRestrictionNotice.astro → storefront/compliance/ShippingRestrictionNotice.astro} +0 -0
  120. /package/apps/storefront/src/components/compliance/{StateEligibilityNotice.astro → storefront/compliance/StateEligibilityNotice.astro} +0 -0
  121. /package/apps/storefront/src/components/{islands → compliance/storefront/islands}/AgeGate.tsx +0 -0
  122. /package/apps/storefront/src/components/{islands → compliance/storefront/islands}/IsolatedAgeGate.tsx +0 -0
  123. /package/apps/storefront/src/components/{WidgetFrame.astro → integrations/storefront/WidgetFrame.astro} +0 -0
  124. /package/apps/storefront/src/lib/{admin → catalog/admin}/catalogSettingsPreview.ts +0 -0
  125. /package/apps/storefront/src/lib/{admin → catalog/admin}/catalogSettingsState.ts +0 -0
  126. /package/apps/storefront/src/lib/{admin → catalog/admin}/productSetupPhoto.ts +0 -0
  127. /package/apps/storefront/src/lib/{admin → catalog/admin}/productsTabClient.ts +0 -0
  128. /package/apps/storefront/src/lib/{admin → catalog/admin}/viewmodels/catalogProducts.ts +0 -0
  129. /package/apps/storefront/src/lib/{admin → catalog/admin}/viewmodels/products.ts +0 -0
  130. /package/apps/storefront/src/lib/{fixtures → catalog/fixtures}/sampleProducts.ts +0 -0
  131. /package/apps/storefront/src/lib/{featuredProductsPresentation.ts → catalog/shared/featuredProductsPresentation.ts} +0 -0
  132. /package/apps/storefront/src/lib/{tot → catalog/tot}/d1Client.ts +0 -0
  133. /package/apps/storefront/src/lib/{tot → catalog/tot}/totClientInterface.ts +0 -0
  134. /package/apps/storefront/src/lib/{admin → checkout/admin}/checkoutStyleInput.ts +0 -0
  135. /package/apps/storefront/src/lib/{admin → checkout/admin}/checkoutStyleTarget.ts +0 -0
  136. /package/apps/storefront/src/{components/islands → lib/checkout/browser}/useCheckoutHandoffCorrelation.ts +0 -0
  137. /package/apps/storefront/src/lib/{commerce → checkout/commerce}/checkoutHandoffCorrelation.ts +0 -0
  138. /package/apps/storefront/src/lib/{commerce → checkout/commerce}/checkoutSettings.ts +0 -0
  139. /package/apps/storefront/src/lib/{commerce → checkout/commerce}/finalCartAuthorization.ts +0 -0
  140. /package/apps/storefront/src/lib/{checkoutCommerce.ts → checkout/shared/checkoutCommerce.ts} +0 -0
  141. /package/apps/storefront/src/{components/islands → lib/compliance/browser}/checkoutVerificationFlow.ts +0 -0
  142. /package/apps/storefront/src/lib/{visitorRegionCookie.ts → compliance/shared/visitorRegionCookie.ts} +0 -0
  143. /package/apps/storefront/src/lib/{verification → compliance/verification}/totVerificationClient.ts +0 -0
  144. /package/apps/storefront/src/lib/{apps → integrations/apps}/gatewayKeys.ts +0 -0
  145. /package/apps/storefront/src/lib/{apps → integrations/apps}/gtmMigrationDraft.ts +0 -0
  146. /package/apps/storefront/src/lib/{apps → integrations/apps}/orders/customerHash.ts +0 -0
  147. /package/apps/storefront/src/lib/{apps → integrations/apps}/routeParams.ts +0 -0
  148. /package/apps/storefront/src/lib/{apps → integrations/apps}/scopes.ts +0 -0
  149. /package/apps/storefront/src/lib/{apps → integrations/apps}/widgets/eligibility.ts +0 -0
  150. /package/apps/storefront/src/lib/{apps → integrations/apps}/widgets/frameProps.ts +0 -0
  151. /package/apps/storefront/src/lib/{apps → integrations/apps}/widgets/launchToken.ts +0 -0
  152. /package/apps/storefront/src/lib/{apps → integrations/apps}/widgets/placements.ts +0 -0
  153. /package/apps/storefront/src/lib/{apps → integrations/apps}/widgets/renderSlot.ts +0 -0
  154. /package/apps/storefront/src/lib/{integration → integrations/integration}/bakedManagedInstalls.ts +0 -0
  155. /package/apps/storefront/src/lib/{integration → integrations/integration}/nonceStamp.ts +0 -0
  156. /package/apps/storefront/src/lib/{integration → integrations/integration}/renderIntegrationState.ts +0 -0
  157. /package/apps/storefront/src/lib/{integration → integrations/integration}/stageDestinationIds.ts +0 -0
  158. /package/apps/storefront/src/lib/{integration → integrations/integration}/tenantAnalyticsDeclarations.ts +0 -0
  159. /package/apps/storefront/src/lib/{integration → integrations/integration}/tenantDeclarations.ts +0 -0
  160. /package/apps/storefront/src/lib/{webhooks → integrations/webhooks}/cloudflareQueueDispatcher.ts +0 -0
  161. /package/apps/storefront/src/lib/{webhooks → integrations/webhooks}/deliveryMapper.ts +0 -0
  162. /package/apps/storefront/src/lib/{webhooks → integrations/webhooks}/dispatcher.ts +0 -0
  163. /package/apps/storefront/src/lib/{webhooks → integrations/webhooks}/endpointGuard.ts +0 -0
  164. /package/apps/storefront/src/lib/{webhooks → integrations/webhooks}/events.ts +0 -0
  165. /package/apps/storefront/src/lib/{admin → orders/admin}/orderClient.ts +0 -0
  166. /package/apps/storefront/src/lib/{admin → orders/admin}/services/orders.ts +0 -0
  167. /package/apps/storefront/src/lib/{admin → orders/admin}/viewmodels/orders.ts +0 -0
  168. /package/apps/storefront/src/lib/{apps/orders → orders/providers}/foxyOrderClient.ts +0 -0
  169. /package/apps/storefront/src/lib/{admin → subscriptions/admin}/viewmodels/subscriptions.ts +0 -0
  170. /package/apps/storefront/src/lib/{subscription → subscriptions/subscription}/model.ts +0 -0
@@ -15,7 +15,7 @@ import type {
15
15
  ResolvedRouteTierV1,
16
16
  PublicationRoutePlanV1,
17
17
  } from "@tot/public-runtime";
18
- import type { ToTClient } from "@/lib/tot/ToTClient";
18
+ import type { ToTClient } from "@/lib/catalog/tot/ToTClient";
19
19
  import type { ContentProvider } from "@/lib/storyblok/provider";
20
20
 
21
21
  /**
@@ -14,7 +14,7 @@
14
14
  "preview": "wrangler dev",
15
15
  "typecheck": "astro check && tsc --noEmit",
16
16
  "astro": "astro",
17
- "test": "NODE_OPTIONS=--experimental-sqlite vitest run --exclude src/lib/apps/v84CleanCloneReplay.test.ts --exclude src/lib/apps/v84NonportableRouteDogfood.test.ts --exclude src/lib/apps/v84CloneLifecycleEvidence.test.ts && NODE_OPTIONS=--experimental-sqlite vitest run src/lib/apps/v84CleanCloneReplay.test.ts src/lib/apps/v84NonportableRouteDogfood.test.ts src/lib/apps/v84CloneLifecycleEvidence.test.ts --fileParallelism=false && pnpm run test:pipeline && pnpm run test:pipeline-faults"
17
+ "test": "NODE_OPTIONS=--experimental-sqlite vitest run --exclude src/lib/integrations/apps/v84CleanCloneReplay.test.ts --exclude src/lib/integrations/apps/v84NonportableRouteDogfood.test.ts --exclude src/lib/integrations/apps/v84CloneLifecycleEvidence.test.ts && NODE_OPTIONS=--experimental-sqlite vitest run src/lib/integrations/apps/v84CleanCloneReplay.test.ts src/lib/integrations/apps/v84NonportableRouteDogfood.test.ts src/lib/integrations/apps/v84CloneLifecycleEvidence.test.ts --fileParallelism=false && pnpm run test:pipeline && pnpm run test:pipeline-faults"
18
18
  },
19
19
  "dependencies": {
20
20
  "@astrojs/cloudflare": "^14.0.1",
@@ -8,12 +8,12 @@
8
8
  */
9
9
  import type { CatalogProduct } from "@tot/public-runtime";
10
10
  import { discountPercent, truncate } from "@/lib/format";
11
- import { isOnSale, isNew, isAvailable, fromPrice } from "@/lib/tot/query";
11
+ import { isOnSale, isNew, isAvailable, fromPrice } from "@/lib/catalog/tot/query";
12
12
  import { colorOptionValues, resolveSwatch, isLightFill } from "@/lib/colors";
13
13
  import Img from "@/components/assets/storefront/Img.astro";
14
14
  import Badge from "@/components/Badge.astro";
15
- import PriceDisplay from "@/components/commerce/PriceDisplay.astro";
16
- import RatingStars from "@/components/commerce/RatingStars.astro";
15
+ import PriceDisplay from "@/components/catalog/storefront/commerce/PriceDisplay.astro";
16
+ import RatingStars from "@/components/catalog/storefront/commerce/RatingStars.astro";
17
17
  import { withBase } from "@/lib/basePath";
18
18
  import { pageUrlForm } from "@/lib/seo/urlForm";
19
19
 
@@ -11,7 +11,7 @@
11
11
  */
12
12
  import type { CatalogProduct } from "@tot/public-runtime";
13
13
  import { formatPrice, discountPercent } from "@/lib/format";
14
- import { fromPrice, isOnSale } from "@/lib/tot/query";
14
+ import { fromPrice, isOnSale } from "@/lib/catalog/tot/query";
15
15
  import Badge from "@/components/Badge.astro";
16
16
 
17
17
  interface Props {
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import type { CatalogProduct } from "@tot/public-runtime";
17
17
  import Section from "@/components/Section.astro";
18
- import ProductCard from "@/components/ProductCard.astro";
18
+ import ProductCard from "@/components/catalog/storefront/ProductCard.astro";
19
19
  import {
20
20
  resolveSectionSource,
21
21
  DEFAULT_SECTION_LIMIT,
@@ -10,7 +10,7 @@
10
10
  */
11
11
  import type { CatalogProduct } from "@tot/public-runtime";
12
12
  import Section from "@/components/Section.astro";
13
- import ProductCard from "@/components/ProductCard.astro";
13
+ import ProductCard from "@/components/catalog/storefront/ProductCard.astro";
14
14
  import EmptyState from "@/components/EmptyState.astro";
15
15
  import {
16
16
  resolveSectionSource,
@@ -11,7 +11,7 @@
11
11
  * open a product, Escape to dismiss. Fetch failures degrade to "no dropdown".
12
12
  */
13
13
  import { useCallback, useEffect, useRef, useState } from "preact/hooks";
14
- import type { TypeaheadDoc } from "@/lib/search";
14
+ import type { TypeaheadDoc } from "@/lib/catalog/search/index";
15
15
  import { formatPrice } from "@/lib/format";
16
16
  import { placeholderDataUri, isUsableImageUrl } from "@/lib/placeholder";
17
17
  import { withClientBase } from "@/lib/basePath";
@@ -27,7 +27,7 @@ import type {
27
27
  } from "@tot/public-runtime";
28
28
  import { priceForPurchaseOption } from "@tot/public-runtime";
29
29
  import { formatPrice } from "@/lib/format";
30
- import { useCheckoutHandoffCorrelation } from "@/components/islands/useCheckoutHandoffCorrelation";
30
+ import { useCheckoutHandoffCorrelation } from "@/lib/checkout/browser/useCheckoutHandoffCorrelation";
31
31
 
32
32
  export type PublicSelectorVariant = Pick<CatalogVariant,
33
33
  "id" | "sku" | "price" | "compare_at_price" | "option_values" | "inventory" | "image_id">;
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import type { Facet, ListProductsQuery } from "@tot/public-runtime";
10
10
  import { toggleFacet, buildQueryString, isPriceBucketActive, togglePriceBucket } from "@/lib/url";
11
- import { PRICE_BUCKETS, bucketByKey } from "@/lib/priceBuckets";
11
+ import { PRICE_BUCKETS, bucketByKey } from "@/lib/catalog/shared/priceBuckets";
12
12
 
13
13
  interface Props {
14
14
  facets: Facet[];
@@ -16,7 +16,7 @@
16
16
  import type { ChromeNavItem, ChromeLogo, ChromeCta, HeaderVariant } from "@/lib/chrome/model";
17
17
  import MegaMenu from "@/components/chrome/MegaMenu.astro";
18
18
  import NavDropdown from "@/components/chrome/NavDropdown.astro";
19
- import SearchTypeahead from "@/components/islands/SearchTypeahead.tsx";
19
+ import SearchTypeahead from "@/components/catalog/storefront/islands/SearchTypeahead.tsx";
20
20
  import MobileNav from "@/components/islands/MobileNav.tsx";
21
21
  import { withBase } from "@/lib/basePath";
22
22
  import { ctaIdentityAttr } from "@/lib/chrome/ctaIdentity";
@@ -10,7 +10,7 @@
10
10
  * owner-reviewed custom style), never below the conspicuity floor and never
11
11
  * hideable. The markup is nicotineWarningHtml's, shared with the raw-HTML serve path.
12
12
  */
13
- import { nicotineWarningHtml } from "../../../../../packages/cli/src/declared-config.mjs";
13
+ import { nicotineWarningHtml } from "../../../../../../../packages/cli/src/declared-config.mjs";
14
14
 
15
15
  interface Props {
16
16
  variant?: "bar" | "block";
@@ -35,7 +35,7 @@ import {
35
35
  writeStoredRef,
36
36
  type PreflightResponse,
37
37
  type VerificationPhase,
38
- } from "./checkoutVerificationFlow.js";
38
+ } from "../../../../lib/compliance/browser/checkoutVerificationFlow.js";
39
39
 
40
40
  interface Props {
41
41
  /** Absolute (base-path-aware) URL of the preflight endpoint. */
@@ -10,7 +10,7 @@
10
10
  * `<iframe>` for the parent-side `mountWidgetPostMessageBridge()`
11
11
  * (`@tot/public-runtime`) to scan for.
12
12
  */
13
- import { buildAppWidgetFrameAttrs, type AppWidgetFrameProps } from "@/lib/apps/widgets/frameProps.js";
13
+ import { buildAppWidgetFrameAttrs, type AppWidgetFrameProps } from "@/lib/integrations/apps/widgets/frameProps.js";
14
14
 
15
15
  type Props = AppWidgetFrameProps;
16
16
 
@@ -10,7 +10,7 @@
10
10
  * (--color-…, --radius-…); no hardcoded brand color.
11
11
  * data-widget="subscription-how-it-works" is the audit/test hook.
12
12
  */
13
- import type { SubscriptionStep } from "@/lib/subscription/model";
13
+ import type { SubscriptionStep } from "@/lib/subscriptions/subscription/model";
14
14
 
15
15
  interface Props {
16
16
  steps: SubscriptionStep[];
@@ -9,7 +9,7 @@
9
9
  * Token-styled only; data-widget="subscription-manage-entry" is the
10
10
  * audit/test hook.
11
11
  */
12
- import type { SubscriptionManageEntry } from "@/lib/subscription/model";
12
+ import type { SubscriptionManageEntry } from "@/lib/subscriptions/subscription/model";
13
13
 
14
14
  interface Props {
15
15
  entries: SubscriptionManageEntry[];
@@ -16,8 +16,8 @@
16
16
  * Token-styled only; data-widget="subscription-savings-explainer" is the
17
17
  * audit/test hook.
18
18
  */
19
- import type { SubscriptionFigure } from "@/lib/subscription/model";
20
- import { isIllustrative } from "@/lib/subscription/model";
19
+ import type { SubscriptionFigure } from "@/lib/subscriptions/subscription/model";
20
+ import { isIllustrative } from "@/lib/subscriptions/subscription/model";
21
21
  import IllustrativeLabel from "@/components/membership/storefront/membership/IllustrativeLabel.astro";
22
22
 
23
23
  interface Props {
@@ -28,7 +28,7 @@
28
28
  import type { DeepPartial, TenantConfig, ThemeTokens } from "@tot/public-runtime";
29
29
  import { SHARED_DEMO_CHECKOUT } from "@tot/public-runtime";
30
30
  import { rootPublicationSpaceConfig } from "./publicationSpaceConfig";
31
- import { loadTenantAnalyticsDeclarations } from "@/lib/integration/tenantAnalyticsDeclarations";
31
+ import { loadTenantAnalyticsDeclarations } from "@/lib/integrations/integration/tenantAnalyticsDeclarations";
32
32
 
33
33
  /** Per-dir overrides the resolver derives from disk before synthesis. */
34
34
  export interface DevTenantHints {
@@ -12,15 +12,15 @@ import Seo from "@/components/Seo.astro";
12
12
  import AnnouncementBar from "@/components/chrome/AnnouncementBar.astro";
13
13
  import SiteHeader from "@/components/chrome/SiteHeader.astro";
14
14
  import SiteFooter from "@/components/chrome/SiteFooter.astro";
15
- import QuickView from "@/components/islands/QuickView.tsx";
16
- import CheckoutLoader from "@/components/commerce/CheckoutLoader.astro";
17
- import CartDrawerStyles from "@/components/commerce/CartDrawerStyles.astro";
18
- import NicotineWarning from "@/components/compliance/NicotineWarning.astro";
19
- import PactActNotice from "@/components/compliance/PactActNotice.astro";
20
- import ShippingRestrictionNotice from "@/components/compliance/ShippingRestrictionNotice.astro";
21
- import ExciseTaxNotice from "@/components/compliance/ExciseTaxNotice.astro";
15
+ import QuickView from "@/components/catalog/storefront/islands/QuickView.tsx";
16
+ import CheckoutLoader from "@/components/checkout/storefront/commerce/CheckoutLoader.astro";
17
+ import CartDrawerStyles from "@/components/checkout/storefront/commerce/CartDrawerStyles.astro";
18
+ import NicotineWarning from "@/components/compliance/storefront/compliance/NicotineWarning.astro";
19
+ import PactActNotice from "@/components/compliance/storefront/compliance/PactActNotice.astro";
20
+ import ShippingRestrictionNotice from "@/components/compliance/storefront/compliance/ShippingRestrictionNotice.astro";
21
+ import ExciseTaxNotice from "@/components/compliance/storefront/compliance/ExciseTaxNotice.astro";
22
22
  import { EXCISE_TAX_DISCLOSURE_TEXT } from "@/lib/compliance/rawComplianceNotices";
23
- import IsolatedAgeGate from "@/components/islands/IsolatedAgeGate.tsx";
23
+ import IsolatedAgeGate from "@/components/compliance/storefront/islands/IsolatedAgeGate.tsx";
24
24
  import AuthBadge from "@/components/auth/AuthBadge.astro";
25
25
  import { referenceTheme } from "@/themes/reference";
26
26
  import { mergeTheme } from "@/themes/schema";
@@ -38,9 +38,9 @@ import { bindManagedCartAnchors, managedCartHref } from "@/lib/chrome/managedCar
38
38
  import type { HeaderVariant, FooterVariant } from "@/lib/chrome/model";
39
39
  import { renderIntegrationPhases, INTERACTION_TRACKING_BOOT_JS } from "@tot/public-runtime";
40
40
  import { readViewerSession } from "@/lib/auth/route";
41
- import AppWidgetFrame from "@/components/apps/AppWidgetFrame.astro";
42
- import { getRegistryService } from "@/lib/apps/registryAccess.js";
43
- import { renderWidgetSlot } from "@/lib/apps/widgets/renderSlot.js";
41
+ import AppWidgetFrame from "@/components/integrations/storefront/apps/AppWidgetFrame.astro";
42
+ import { getRegistryService } from "@/lib/integrations/apps/registryAccess.js";
43
+ import { renderWidgetSlot } from "@/lib/integrations/apps/widgets/renderSlot.js";
44
44
 
45
45
  interface Props {
46
46
  title: string;
@@ -59,7 +59,7 @@ import {
59
59
  type ActivityTimelineRow,
60
60
  type DeploySkewSummary,
61
61
  } from "./query.js";
62
- import type { Queryable } from "../d1/catalog.js";
62
+ import type { Queryable } from "../catalog/d1/catalog.js";
63
63
 
64
64
  /** Severity, mirroring `rumAlert.AlertSeverity` / `manifest.Severity`. */
65
65
  export type AlertSeverity = "page" | "critical" | "warning" | "info";
@@ -1,4 +1,4 @@
1
- import type { D1Like } from "@/lib/d1/catalog";
1
+ import type { D1Like } from "@/lib/catalog/d1/catalog";
2
2
 
3
3
  const DIAGNOSTIC_STUCK_AFTER_MS = 5 * 60 * 1000;
4
4
 
@@ -2,8 +2,8 @@ import type { AdminTenantEnvelope } from "../../admin/envelope";
2
2
  import { memoizeByEnvelope } from "../../admin/memoizeByEnvelope";
3
3
  import type { EvidenceReference } from "../evidence/evidenceReference";
4
4
  import { getCustomersViewModel } from "../../customers/fixtures/customers";
5
- import { getOrdersViewModel } from "../../admin/services/mock/orders";
6
- import { getProductsViewModel } from "../../admin/services/mock/products";
5
+ import { getOrdersViewModel } from "../../orders/fixtures/orders";
6
+ import { getProductsViewModel } from "../../catalog/fixtures/products";
7
7
 
8
8
  /**
9
9
  * Deterministic evidence graph, built by connecting the domains already
@@ -5,7 +5,7 @@
5
5
  * tenant's lifecycle activity newest-first for the `/admin` ops timeline UI
6
6
  * ("who shipped/rejected what, when, why — and what happened to my change/
7
7
  * deploy"). PURE over the injected `Queryable` seam (D1 in the Worker, an
8
- * in-memory `node:sqlite` in tests), same posture as `lib/d1/catalog.ts` and the
8
+ * in-memory `node:sqlite` in tests), same posture as `lib/catalog/d1/catalog.ts` and the
9
9
  * write path (`store.ts`).
10
10
  *
11
11
  * TENANT ISOLATION IS THE INVARIANT. `tenantId` is REQUIRED on every query and is
@@ -38,7 +38,7 @@ import {
38
38
  type ActivitySource,
39
39
  type ActivityStatus,
40
40
  } from "@tot/public-runtime";
41
- import type { Queryable } from "../d1/catalog.js";
41
+ import type { Queryable } from "../catalog/d1/catalog.js";
42
42
  import { workerCommitShort, UNKNOWN_COMMIT } from "./workerCommit.js";
43
43
 
44
44
  /** Hard cap on rows returned by one query — the ops timeline is paged/bounded,
@@ -19,7 +19,7 @@
19
19
  * critical path via `runAfterResponse` at the call site.
20
20
  */
21
21
  import { getActionSpec, type ActivityEvent, type ActivitySink } from "@tot/public-runtime";
22
- import type { Queryable } from "../d1/catalog.js";
22
+ import type { Queryable } from "../catalog/d1/catalog.js";
23
23
 
24
24
  /** The slice of Cloudflare's Analytics Engine dataset binding we use. */
25
25
  export interface AnalyticsEngineLike {
@@ -1,11 +1,11 @@
1
- export { getOrdersViewModel } from "./orders";
2
- export { getProductsViewModel } from "./products";
1
+ export { getOrdersViewModel } from "../../../orders/fixtures/orders";
2
+ export { getProductsViewModel } from "../../../catalog/fixtures/products";
3
3
  export { getCustomersViewModel } from "../../../customers/fixtures/customers";
4
4
  export { getReportingViewModel } from "../../../reporting/fixtures/reporting";
5
5
  export { getSettingsViewModel } from "./settings";
6
- export { getCheckoutSettingsViewModel } from "./checkoutSettings";
7
- export type { CheckoutSettingsViewModel } from "./checkoutSettings";
8
- export { getSubscriptionsViewModel } from "./subscriptions";
6
+ export { getCheckoutSettingsViewModel } from "../../../checkout/fixtures/checkoutSettings";
7
+ export type { CheckoutSettingsViewModel } from "../../../checkout/fixtures/checkoutSettings";
8
+ export { getSubscriptionsViewModel } from "../../../subscriptions/fixtures/subscriptions";
9
9
  export { getAiWorkflowsViewModel } from "./aiWorkflows";
10
10
  export { getEvidenceViewModel } from "../../../activity/fixtures/evidence";
11
11
  export { SEEDED_TENANTS, tenantProfile } from "./tenants";
@@ -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;
@@ -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"]);
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  applySaveAfterEdits, draftIsDirty, editorFromPayload, parseSettingsNumber, saveBody, selectDraftMethod,
4
4
  type SettingsEditorState, type SettingsPayload,
5
- } from "@/lib/admin/catalogSettingsState";
6
- import { latestPreview, type PreviewStatus } from "@/lib/admin/catalogSettingsPreview";
5
+ } from "@/lib/catalog/admin/catalogSettingsState";
6
+ import { latestPreview, type PreviewStatus } from "@/lib/catalog/admin/catalogSettingsPreview";
7
7
 
8
8
  interface MethodOption { id: string; title: string; reason: string }
9
9
  interface SettingsResponse extends SettingsPayload {
@@ -5,8 +5,8 @@
5
5
  */
6
6
  import type { CatalogProduct, TenantConfig } from "@tot/public-runtime";
7
7
  import { CatalogFileError } from "@tot/public-runtime/catalog-files";
8
- import { readGrandfatheredSnapshot } from "@/lib/tot/ToTClient";
9
- import { readTenantCatalogFiles, type CatalogArtifactSource } from "@/lib/tot/tenantCatalog";
8
+ import { readGrandfatheredSnapshot } from "@/lib/catalog/tot/ToTClient";
9
+ import { readTenantCatalogFiles, type CatalogArtifactSource } from "@/lib/catalog/tot/tenantCatalog";
10
10
 
11
11
  export type CatalogOrigin = "files" | "snapshot" | "none";
12
12
 
@@ -19,7 +19,7 @@ import {
19
19
  type ListProductsQuery,
20
20
  type ListProductsResponse,
21
21
  } from "@tot/public-runtime";
22
- import { PRICE_BUCKETS } from "../priceBuckets.js";
22
+ import { PRICE_BUCKETS } from "../shared/priceBuckets.js";
23
23
 
24
24
  /** Minimal async query seam — implemented by D1 and by the node:sqlite test shim. */
25
25
  export interface Queryable {
@@ -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
  ExciseCheckKey,
5
5
  ExciseReadinessCheck,
@@ -7,9 +7,9 @@ import type {
7
7
  ProductRow,
8
8
  ProductsViewModel,
9
9
  ProductVariant,
10
- } from "../../viewmodels/products";
11
- import { tenantProfile } from "./tenants";
12
- import { memoizeByEnvelope } from "../../memoizeByEnvelope";
10
+ } from "../admin/viewmodels/products";
11
+ import { tenantProfile } from "../../admin/services/mock/tenants";
12
+ import { memoizeByEnvelope } from "../../admin/memoizeByEnvelope";
13
13
 
14
14
  // Must stay index-aligned with orders.ts's ITEM_POOLS: a product's id is
15
15
  // `prod-<tenant>-<position here>`, and orders.ts derives each order's productId
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Used by FixtureToTClient.search (no D1 binding): typo-tolerant, relevance-ranked
5
5
  * search over the bundled catalog snapshot, zero infra. When a D1 binding is wired
6
- * (D1ToTClient), search instead goes through FTS5 — see lib/d1/catalog.ts.
6
+ * (D1ToTClient), search instead goes through FTS5 — see lib/catalog/d1/catalog.ts.
7
7
  * This module is the portable floor an extracted
8
8
  * merchant gets out of the box (docs/extraction-runbook.md).
9
9
  */
@@ -3,7 +3,7 @@
3
3
  * product's "from" price (price_range.min — the same figure ProductCard shows
4
4
  * and price-asc/desc sorts by), so a product falls into exactly one bucket
5
5
  * (no double-counting across buckets). Shared by both listProducts engines
6
- * (lib/tot/query.ts, lib/d1/catalog.ts) and the FacetSidebar so bucket
6
+ * (lib/catalog/tot/query.ts, lib/catalog/d1/catalog.ts) and the FacetSidebar so bucket
7
7
  * boundaries + labels never drift between them.
8
8
  */
9
9
  export interface PriceBucket {
@@ -128,15 +128,15 @@ type FixtureBundle = {
128
128
  // tracked only for the tenants in scripts/tenant/catalog-in-repo-exceptions.json (plus
129
129
  // the e2e scopes). Vite resolves these globs at build time. reviews.json is optional.
130
130
  const productGlobs = import.meta.glob<CatalogProduct[]>(
131
- "../../../../../packages/migration/out/catalog/*/products.json",
131
+ "../../../../../../packages/migration/out/catalog/*/products.json",
132
132
  { import: "default" },
133
133
  );
134
134
  const collectionGlobs = import.meta.glob<CatalogCollection[]>(
135
- "../../../../../packages/migration/out/catalog/*/collections.json",
135
+ "../../../../../../packages/migration/out/catalog/*/collections.json",
136
136
  { import: "default" },
137
137
  );
138
138
  const reviewGlobs = import.meta.glob<Record<string, Review[]>>(
139
- "../../../../../packages/migration/out/catalog/*/reviews.json",
139
+ "../../../../../../packages/migration/out/catalog/*/reviews.json",
140
140
  { import: "default" },
141
141
  );
142
142
 
@@ -10,7 +10,7 @@ import type {
10
10
  FacetValue,
11
11
  ListProductsQuery,
12
12
  } from "@tot/public-runtime";
13
- import { PRICE_BUCKETS, bucketForPrice } from "../priceBuckets.js";
13
+ import { PRICE_BUCKETS, bucketForPrice } from "../shared/priceBuckets.js";
14
14
 
15
15
  /** Lowest variant price (the "from" price shown on cards). */
16
16
  export function fromPrice(p: CatalogProduct): number {
@@ -101,7 +101,7 @@ export interface CatalogSyncState {
101
101
  // document, so the Worker has no runtime filesystem dependency — same pattern
102
102
  // as productGlobs/collectionGlobs/reviewGlobs in ToTClient.ts.
103
103
  const syncStateGlobs = import.meta.glob<CatalogSyncState>(
104
- "../../../../../packages/migration/out/catalog/*/sync-state.json",
104
+ "../../../../../../packages/migration/out/catalog/*/sync-state.json",
105
105
  { import: "default" },
106
106
  );
107
107
 
@@ -26,7 +26,7 @@ import {
26
26
  readCatalogListing,
27
27
  type CatalogStore,
28
28
  } from "@tot/public-runtime/catalog-files";
29
- import { LocalContentProvider, type ContentProvider } from "../storyblok/provider.js";
29
+ import { LocalContentProvider, type ContentProvider } from "../../storyblok/provider.js";
30
30
 
31
31
  export type CatalogArtifactSource = Pick<
32
32
  ContentProvider,
@@ -18,13 +18,13 @@ import { resolveManagedCheckout } from "@tot/public-runtime";
18
18
  import type { TenantConfig } from "@tot/public-runtime";
19
19
  import { referenceTheme } from "@/themes/reference";
20
20
  import { mergeTheme } from "@/themes/schema";
21
- import type { AdminTenantEnvelope } from "../../envelope";
21
+ import type { AdminTenantEnvelope } from "../../admin/envelope";
22
22
  import {
23
23
  buildCheckoutSettingsFields,
24
24
  deriveCheckoutSettings,
25
25
  type CheckoutSettingsOverrides,
26
26
  type CheckoutSettingsField,
27
- } from "@/lib/commerce/checkoutSettings";
27
+ } from "@/lib/checkout/commerce/checkoutSettings";
28
28
 
29
29
  export interface CheckoutSettingsViewModel {
30
30
  targetTenant: string;
@@ -7,7 +7,7 @@
7
7
  * trust strip. Re-exported here alongside the tier/comparison contracts already
8
8
  * defined in lib/membership/model, so a membership page and a policy page
9
9
  * import from the same place. (The <BrandGrid> `Brand` contract lives with its
10
- * component in components/commerce/BrandGrid.astro.)
10
+ * component in components/catalog/storefront/commerce/BrandGrid.astro.)
11
11
  */
12
12
  export * from "./richtext.js";
13
13
  export * from "./callout.js";
@@ -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,8 +16,8 @@
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";
20
- import { readD1, readEnv } from "../env.js";
19
+ import { fromD1 } from "../../catalog/d1/catalog.js";
20
+ import { readD1, readEnv } from "../../env.js";
21
21
 
22
22
  /**
23
23
  * No-store JSON response — install/rotate bodies carry a one-time client
@@ -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
 
@@ -23,7 +23,7 @@ import { isAdminPath } from "@/lib/auth/loginGate";
23
23
  import {
24
24
  resolveIntegrationRenderState,
25
25
  type IntegrationRenderState,
26
- } from "@/lib/integration/renderIntegrationState";
26
+ } from "@/lib/integrations/integration/renderIntegrationState";
27
27
 
28
28
  /**
29
29
  * The non-secret render revision: the commit SHA this build was cut from (baked at
@@ -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";