@mohasinac/appkit 4.53.0 → 4.53.2

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 (520) hide show
  1. package/dist/.build-stamp.json +3 -3
  2. package/dist/_internal/client/scaffolds/AppShell.js +1 -1
  3. package/dist/_internal/client/theme/ThemeProvider.js +15 -1
  4. package/dist/_internal/server/features/auctions/og.d.ts +3 -1
  5. package/dist/_internal/server/features/auctions/og.js +3 -1
  6. package/dist/_internal/server/features/bundles/actions.js +1 -1
  7. package/dist/_internal/server/features/business-documents/download.d.ts +41 -0
  8. package/dist/_internal/server/features/business-documents/download.js +91 -0
  9. package/dist/_internal/server/features/categories/adapters.d.ts +1 -1
  10. package/dist/_internal/server/features/categories/adapters.js +10 -0
  11. package/dist/_internal/server/features/categories/price-guidance-resolve.d.ts +66 -0
  12. package/dist/_internal/server/features/categories/price-guidance-resolve.js +138 -0
  13. package/dist/_internal/server/features/checkout/actions.d.ts +14 -0
  14. package/dist/_internal/server/features/checkout/actions.js +106 -12
  15. package/dist/_internal/server/features/checkout/bundle-expansion.js +17 -0
  16. package/dist/_internal/server/features/checkout/data.d.ts +22 -0
  17. package/dist/_internal/server/features/checkout/group-rule-revalidation.d.ts +34 -0
  18. package/dist/_internal/server/features/checkout/group-rule-revalidation.js +124 -0
  19. package/dist/_internal/server/features/checkout/supplier-identity.d.ts +55 -0
  20. package/dist/_internal/server/features/checkout/supplier-identity.js +81 -0
  21. package/dist/_internal/server/features/classified/metadata.js +1 -1
  22. package/dist/_internal/server/features/classified/og.d.ts +3 -1
  23. package/dist/_internal/server/features/classified/og.js +3 -1
  24. package/dist/_internal/server/features/digital-code/metadata.js +1 -1
  25. package/dist/_internal/server/features/digital-code/og.d.ts +3 -1
  26. package/dist/_internal/server/features/digital-code/og.js +3 -1
  27. package/dist/_internal/server/features/digital-code/pool.d.ts +19 -4
  28. package/dist/_internal/server/features/digital-code/pool.js +19 -4
  29. package/dist/_internal/server/features/live/metadata.js +1 -1
  30. package/dist/_internal/server/features/live/og.d.ts +3 -1
  31. package/dist/_internal/server/features/live/og.js +3 -1
  32. package/dist/_internal/server/features/messages/actions.js +1 -1
  33. package/dist/_internal/server/features/parts/og.js +1 -1
  34. package/dist/_internal/server/features/pre-orders/og.d.ts +3 -1
  35. package/dist/_internal/server/features/pre-orders/og.js +3 -1
  36. package/dist/_internal/server/features/price-index/market.d.ts +57 -0
  37. package/dist/_internal/server/features/price-index/market.js +120 -0
  38. package/dist/_internal/server/features/price-index/search.d.ts +18 -0
  39. package/dist/_internal/server/features/price-index/search.js +47 -7
  40. package/dist/_internal/server/features/prize-draws/og.d.ts +3 -1
  41. package/dist/_internal/server/features/prize-draws/og.js +3 -1
  42. package/dist/_internal/server/features/products/group-members.d.ts +26 -0
  43. package/dist/_internal/server/features/products/group-members.js +7 -1
  44. package/dist/_internal/server/features/products/list-public.d.ts +12 -0
  45. package/dist/_internal/server/features/products/list-public.js +10 -1
  46. package/dist/_internal/server/features/products/listing-tab-counts.d.ts +25 -1
  47. package/dist/_internal/server/features/products/listing-tab-counts.js +128 -10
  48. package/dist/_internal/server/features/products/og.d.ts +3 -1
  49. package/dist/_internal/server/features/products/og.js +3 -1
  50. package/dist/_internal/server/features/search/scoped-sources.d.ts +26 -0
  51. package/dist/_internal/server/features/search/scoped-sources.js +252 -0
  52. package/dist/_internal/server/features/search/search-everything.d.ts +57 -0
  53. package/dist/_internal/server/features/search/search-everything.js +70 -20
  54. package/dist/_internal/server/features/seo/sitemap.js +6 -0
  55. package/dist/_internal/server/features/shared/listing-adapters.js +4 -2
  56. package/dist/_internal/server/features/sticker-trace/adapters.d.ts +11 -0
  57. package/dist/_internal/server/features/sticker-trace/adapters.js +1 -0
  58. package/dist/_internal/server/features/sticker-trace/promote-to-listings.d.ts +26 -0
  59. package/dist/_internal/server/features/sticker-trace/promote-to-listings.js +264 -0
  60. package/dist/_internal/server/features/sticker-trace/sheet-actions.d.ts +3 -1
  61. package/dist/_internal/server/features/sticker-trace/sheet-actions.js +32 -0
  62. package/dist/_internal/server/features/sticker-trace/storage.d.ts +20 -1
  63. package/dist/_internal/server/features/sticker-trace/storage.js +20 -1
  64. package/dist/_internal/server/features/stores/adapters.d.ts +1 -1
  65. package/dist/_internal/server/features/stores/adapters.js +16 -0
  66. package/dist/_internal/server/features/stores/index.d.ts +1 -0
  67. package/dist/_internal/server/features/stores/index.js +1 -0
  68. package/dist/_internal/server/features/stores/tabs.d.ts +30 -0
  69. package/dist/_internal/server/features/stores/tabs.js +124 -0
  70. package/dist/_internal/shared/checkout/rules/_defaults.js +0 -2
  71. package/dist/_internal/shared/checkout/rules/_limits.d.ts +14 -1
  72. package/dist/_internal/shared/checkout/rules/_limits.js +14 -1
  73. package/dist/_internal/shared/checkout/rules/_registry.js +2 -0
  74. package/dist/_internal/shared/checkout/rules/auction.rule.js +9 -1
  75. package/dist/_internal/shared/checkout/rules/bundle.rule.js +13 -0
  76. package/dist/_internal/shared/checkout/rules/index.d.ts +2 -0
  77. package/dist/_internal/shared/checkout/rules/index.js +9 -0
  78. package/dist/_internal/shared/checkout/rules/offer.rule.js +0 -1
  79. package/dist/_internal/shared/checkout/rules/payment-gate.d.ts +26 -0
  80. package/dist/_internal/shared/checkout/rules/payment-gate.js +133 -0
  81. package/dist/_internal/shared/checkout/rules/prize-draw.rule.js +29 -8
  82. package/dist/_internal/shared/checkout/rules/spares.rule.d.ts +16 -0
  83. package/dist/_internal/shared/checkout/rules/spares.rule.js +5 -0
  84. package/dist/_internal/shared/checkout/rules/types.d.ts +26 -2
  85. package/dist/_internal/shared/config/schema.d.ts +122 -0
  86. package/dist/_internal/shared/features/cart/schema.js +3 -2
  87. package/dist/_internal/shared/features/products/group-rules.d.ts +75 -0
  88. package/dist/_internal/shared/features/products/group-rules.js +142 -0
  89. package/dist/_internal/shared/listing-types/_registry.d.ts +24 -0
  90. package/dist/_internal/shared/listing-types/_registry.js +39 -1
  91. package/dist/_internal/shared/listing-types/art/config.d.ts +1 -0
  92. package/dist/_internal/shared/listing-types/art/config.js +2 -0
  93. package/dist/_internal/shared/listing-types/auction/config.d.ts +1 -0
  94. package/dist/_internal/shared/listing-types/auction/config.js +2 -0
  95. package/dist/_internal/shared/listing-types/availability.js +48 -0
  96. package/dist/_internal/shared/listing-types/capabilities.js +19 -0
  97. package/dist/_internal/shared/listing-types/classified/config.d.ts +1 -0
  98. package/dist/_internal/shared/listing-types/classified/config.js +2 -0
  99. package/dist/_internal/shared/listing-types/digital-code/config.d.ts +1 -0
  100. package/dist/_internal/shared/listing-types/digital-code/config.js +2 -0
  101. package/dist/_internal/shared/listing-types/feature-flags.js +1 -0
  102. package/dist/_internal/shared/listing-types/live/config.d.ts +1 -0
  103. package/dist/_internal/shared/listing-types/live/config.js +2 -0
  104. package/dist/_internal/shared/listing-types/pre-order/config.d.ts +1 -0
  105. package/dist/_internal/shared/listing-types/pre-order/config.js +2 -0
  106. package/dist/_internal/shared/listing-types/prize-draw/config.d.ts +1 -0
  107. package/dist/_internal/shared/listing-types/prize-draw/config.js +2 -0
  108. package/dist/_internal/shared/listing-types/spares/config.d.ts +74 -0
  109. package/dist/_internal/shared/listing-types/spares/config.js +60 -0
  110. package/dist/_internal/shared/listing-types/spares/ctas.d.ts +1 -0
  111. package/dist/_internal/shared/listing-types/spares/ctas.js +4 -0
  112. package/dist/_internal/shared/listing-types/spares/og.js +1 -0
  113. package/dist/_internal/shared/listing-types/spares/schema.d.ts +2 -0
  114. package/dist/_internal/shared/listing-types/spares/schema.js +3 -0
  115. package/dist/_internal/shared/listing-types/spares/seed-factory.d.ts +1 -0
  116. package/dist/_internal/shared/listing-types/spares/seed-factory.js +1 -0
  117. package/dist/_internal/shared/listing-types/standard/config.d.ts +1 -0
  118. package/dist/_internal/shared/listing-types/standard/config.js +2 -0
  119. package/dist/_internal/shared/listing-types/stickers/config.d.ts +1 -0
  120. package/dist/_internal/shared/listing-types/stickers/config.js +2 -0
  121. package/dist/_internal/shared/search/match.d.ts +11 -0
  122. package/dist/_internal/shared/search/match.js +30 -3
  123. package/dist/_internal/shared/search/to-groups.d.ts +52 -0
  124. package/dist/_internal/shared/search/to-groups.js +141 -0
  125. package/dist/client.d.ts +8 -2
  126. package/dist/client.js +4 -1
  127. package/dist/constants/api-endpoints.d.ts +46 -15
  128. package/dist/constants/api-endpoints.js +35 -5
  129. package/dist/constants/cache-invalidation.js +3 -1
  130. package/dist/constants/field-names.d.ts +6 -0
  131. package/dist/constants/field-names.js +6 -0
  132. package/dist/features/about/components/PolicyPageView.d.ts +22 -2
  133. package/dist/features/about/components/PolicyPageView.js +14 -2
  134. package/dist/features/about/components/PublicProfileView.js +2 -1
  135. package/dist/features/about/components/ShippingPolicyView.js +42 -2
  136. package/dist/features/account/components/NotificationBell.js +1 -1
  137. package/dist/features/account/hooks/useProfileStats.js +5 -1
  138. package/dist/features/addresses/repository/addresses.repository.d.ts +16 -0
  139. package/dist/features/addresses/repository/addresses.repository.js +21 -0
  140. package/dist/features/admin/actions/admin-actions.js +16 -1
  141. package/dist/features/admin/components/AdminCategoryEditorView.js +19 -2
  142. package/dist/features/admin/components/AdminNavigationView.js +1 -1
  143. package/dist/features/admin/components/AdminPageHeader.js +1 -1
  144. package/dist/features/admin/components/AdminProductEditorView.js +17 -2
  145. package/dist/features/admin/components/AdminSidebar.js +1 -1
  146. package/dist/features/admin/components/AdminSiteSettingsView.js +39 -8
  147. package/dist/features/admin/components/AdminSparesView.d.ts +12 -0
  148. package/dist/features/admin/components/AdminSparesView.js +30 -0
  149. package/dist/features/admin/components/AdminUsersView.js +9 -7
  150. package/dist/features/admin/components/index.d.ts +2 -0
  151. package/dist/features/admin/components/index.js +1 -0
  152. package/dist/features/admin/components/sections/adminSectionsTypes.js +7 -0
  153. package/dist/features/admin/constants/filter-tabs.d.ts +3 -0
  154. package/dist/features/admin/constants/filter-tabs.js +1 -0
  155. package/dist/features/admin/schemas/firestore.d.ts +26 -2
  156. package/dist/features/auctions/components/AuctionDetailPageView.js +12 -18
  157. package/dist/features/auth/repository/user.repository.d.ts +13 -0
  158. package/dist/features/auth/repository/user.repository.js +28 -0
  159. package/dist/features/auth/schemas/firestore.d.ts +2 -0
  160. package/dist/features/auth/schemas/firestore.js +2 -0
  161. package/dist/features/business-documents/repository/business-documents.repository.d.ts +58 -0
  162. package/dist/features/business-documents/repository/business-documents.repository.js +54 -0
  163. package/dist/features/business-documents/schemas/firestore.d.ts +105 -0
  164. package/dist/features/business-documents/schemas/firestore.js +75 -0
  165. package/dist/features/cart/actions/cart-actions.js +83 -6
  166. package/dist/features/cart/repository/cart.repository.js +32 -4
  167. package/dist/features/cart/schemas/firestore.d.ts +20 -0
  168. package/dist/features/cart/schemas/index.d.ts +2 -2
  169. package/dist/features/catalogue/components/PublicCatalogueItemDetailView.js +1 -1
  170. package/dist/features/categories/api/[id]/price-guidance/route.d.ts +42 -0
  171. package/dist/features/categories/api/[id]/price-guidance/route.js +90 -0
  172. package/dist/features/categories/components/BrandDetailPageView.js +32 -8
  173. package/dist/features/categories/components/BrandDetailTabs.d.ts +7 -1
  174. package/dist/features/categories/components/BrandDetailTabs.js +28 -3
  175. package/dist/features/categories/components/BundleCollage.js +3 -2
  176. package/dist/features/categories/components/BundleItemsPicker.js +3 -4
  177. package/dist/features/categories/components/CategoriesIndexListing.js +23 -8
  178. package/dist/features/categories/components/CategoryDetailPageView.js +157 -20
  179. package/dist/features/categories/components/CategoryDetailTabs.d.ts +7 -1
  180. package/dist/features/categories/components/CategoryDetailTabs.js +41 -7
  181. package/dist/features/categories/components/CategoryGrid.js +10 -1
  182. package/dist/features/categories/components/PriceGuidanceHint.d.ts +29 -0
  183. package/dist/features/categories/components/PriceGuidanceHint.js +61 -0
  184. package/dist/features/categories/components/SubcategoryCardRow.d.ts +27 -0
  185. package/dist/features/categories/components/SubcategoryCardRow.js +98 -0
  186. package/dist/features/categories/constants/category-tabs.d.ts +20 -25
  187. package/dist/features/categories/constants/category-tabs.js +22 -39
  188. package/dist/features/categories/repository/categories.repository.d.ts +12 -0
  189. package/dist/features/categories/repository/categories.repository.js +20 -0
  190. package/dist/features/categories/schemas/firestore.d.ts +22 -1
  191. package/dist/features/categories/schemas/firestore.js +10 -0
  192. package/dist/features/categories/schemas/index.d.ts +6 -0
  193. package/dist/features/categories/schemas/index.js +2 -0
  194. package/dist/features/categories/types/index.d.ts +8 -0
  195. package/dist/features/categories/utils/taxonomy-visual.d.ts +16 -3
  196. package/dist/features/categories/utils/taxonomy-visual.js +26 -10
  197. package/dist/features/classified/components/ClassifiedDetailPageView.js +14 -10
  198. package/dist/features/contact/components/ContactPageView.d.ts +33 -1
  199. package/dist/features/contact/components/ContactPageView.js +58 -28
  200. package/dist/features/digital-codes/components/DigitalCodeDetailPageView.js +14 -10
  201. package/dist/features/grouped/components/GroupedListingDetailView.js +9 -1
  202. package/dist/features/grouped/schemas/firestore.d.ts +5 -0
  203. package/dist/features/homepage/actions/homepage-section-actions.d.ts +3 -3
  204. package/dist/features/homepage/components/CollectionCardsSection.d.ts +28 -6
  205. package/dist/features/homepage/components/CollectionCardsSection.js +43 -8
  206. package/dist/features/homepage/components/HowItWorksSection.d.ts +23 -6
  207. package/dist/features/homepage/components/HowItWorksSection.js +4 -4
  208. package/dist/features/homepage/components/PromoGrid.d.ts +31 -2
  209. package/dist/features/homepage/components/PromoGrid.js +12 -3
  210. package/dist/features/homepage/components/TestimonialsCarousel.d.ts +34 -2
  211. package/dist/features/homepage/components/TestimonialsCarousel.js +1 -1
  212. package/dist/features/homepage/components/index.d.ts +0 -20
  213. package/dist/features/homepage/components/index.js +0 -11
  214. package/dist/features/homepage/index.d.ts +0 -2
  215. package/dist/features/homepage/index.js +0 -2
  216. package/dist/features/homepage/lib/section-renderer.d.ts +9 -0
  217. package/dist/features/homepage/lib/section-renderer.js +202 -58
  218. package/dist/features/homepage/repository/homepage-sections.repository.d.ts +35 -3
  219. package/dist/features/homepage/repository/homepage-sections.repository.js +58 -8
  220. package/dist/features/homepage/schemas/firestore.d.ts +106 -3
  221. package/dist/features/homepage/schemas/firestore.js +32 -2
  222. package/dist/features/homepage/schemas/index.d.ts +36 -7
  223. package/dist/features/homepage/schemas/index.js +39 -27
  224. package/dist/features/homepage/server.d.ts +0 -3
  225. package/dist/features/homepage/server.js +0 -3
  226. package/dist/features/homepage/types/index.d.ts +0 -47
  227. package/dist/features/homepage/types/index.js +49 -0
  228. package/dist/features/layout/AppLayoutShell.js +1 -1
  229. package/dist/features/layout/BottomNavItem.js +1 -1
  230. package/dist/features/layout/BottomSheet.js +1 -1
  231. package/dist/features/layout/TitleBarLayout.js +1 -1
  232. package/dist/features/live/components/LiveItemDetailPageView.js +14 -10
  233. package/dist/features/media/hooks/useMedia.js +17 -0
  234. package/dist/features/media/repository/media-assets.repository.d.ts +46 -0
  235. package/dist/features/media/repository/media-assets.repository.js +31 -0
  236. package/dist/features/media/trust-signals.d.ts +85 -0
  237. package/dist/features/media/trust-signals.js +126 -0
  238. package/dist/features/parts/components/PartDetailPageView.d.ts +14 -1
  239. package/dist/features/parts/components/PartDetailPageView.js +2 -2
  240. package/dist/features/parts/components/PartsIndexPageView.d.ts +11 -2
  241. package/dist/features/parts/components/PartsIndexPageView.js +2 -2
  242. package/dist/features/parts/components/PartsSearchBox.d.ts +9 -0
  243. package/dist/features/parts/components/PartsSearchBox.js +57 -0
  244. package/dist/features/parts/schemas/firestore.d.ts +149 -3
  245. package/dist/features/parts/schemas/firestore.js +184 -0
  246. package/dist/features/payments/repository/payout.repository.d.ts +15 -0
  247. package/dist/features/payments/repository/payout.repository.js +21 -0
  248. package/dist/features/pre-orders/components/PreOrderDetailPageView.js +12 -18
  249. package/dist/features/pre-orders/components/PreOrdersIndexListing.js +1 -1
  250. package/dist/features/price-index/components/PriceIndexToolView.d.ts +24 -1
  251. package/dist/features/price-index/components/PriceIndexToolView.js +299 -17
  252. package/dist/features/price-index/lookup-target.d.ts +48 -0
  253. package/dist/features/price-index/lookup-target.js +107 -0
  254. package/dist/features/products/components/AvailabilityScopeHint.d.ts +22 -0
  255. package/dist/features/products/components/AvailabilityScopeHint.js +27 -0
  256. package/dist/features/products/components/CompareOverlay.d.ts +20 -2
  257. package/dist/features/products/components/CompareOverlay.js +23 -3
  258. package/dist/features/products/components/CustomSectionTabContent.d.ts +31 -0
  259. package/dist/features/products/components/CustomSectionTabContent.js +29 -3
  260. package/dist/features/products/components/GroupMemberPicker.d.ts +19 -1
  261. package/dist/features/products/components/GroupMemberPicker.js +46 -8
  262. package/dist/features/products/components/GroupSettingsPanel.d.ts +11 -1
  263. package/dist/features/products/components/GroupSettingsPanel.js +92 -3
  264. package/dist/features/products/components/PrizeDrawDetailPageView.js +1 -1
  265. package/dist/features/products/components/PrizeDrawEntryActions.d.ts +15 -1
  266. package/dist/features/products/components/PrizeDrawEntryActions.js +70 -8
  267. package/dist/features/products/components/ProductDetailPageView.js +81 -17
  268. package/dist/features/products/components/ProductForm.d.ts +13 -1
  269. package/dist/features/products/components/ProductForm.js +16 -2
  270. package/dist/features/products/components/ProductsIndexListing.d.ts +16 -1
  271. package/dist/features/products/components/ProductsIndexListing.js +3 -3
  272. package/dist/features/products/components/ShowGroupSection.js +15 -2
  273. package/dist/features/products/components/SparesListView.d.ts +7 -0
  274. package/dist/features/products/components/SparesListView.js +39 -0
  275. package/dist/features/products/components/SublistingCarouselSection.js +2 -1
  276. package/dist/features/products/constants/action-defs.d.ts +1 -0
  277. package/dist/features/products/constants/action-defs.js +1 -0
  278. package/dist/features/products/repository/products.repository.d.ts +99 -0
  279. package/dist/features/products/repository/products.repository.js +240 -18
  280. package/dist/features/products/schemas/firestore.d.ts +97 -4
  281. package/dist/features/products/schemas/firestore.js +104 -0
  282. package/dist/features/products/schemas/index.d.ts +10 -19
  283. package/dist/features/products/schemas/index.js +23 -6
  284. package/dist/features/products/types/index.d.ts +45 -1
  285. package/dist/features/products/utils/group-member-image.d.ts +46 -0
  286. package/dist/features/products/utils/group-member-image.js +4 -0
  287. package/dist/features/products/utils/listing-badge-variant.js +4 -0
  288. package/dist/features/reviews/components/ReviewsList.js +1 -1
  289. package/dist/features/scams/components/ScamProfileView.js +1 -1
  290. package/dist/features/search/components/EntityTypeahead.d.ts +44 -0
  291. package/dist/features/search/components/EntityTypeahead.js +92 -0
  292. package/dist/features/search/components/Search.d.ts +12 -1
  293. package/dist/features/search/components/Search.js +47 -3
  294. package/dist/features/search/components/SearchFacetRail.d.ts +11 -0
  295. package/dist/features/search/components/SearchFacetRail.js +92 -0
  296. package/dist/features/search/components/SearchResultsClient.d.ts +33 -0
  297. package/dist/features/search/components/SearchResultsClient.js +103 -0
  298. package/dist/features/search/components/SearchResultsPageView.d.ts +15 -1
  299. package/dist/features/search/components/SearchResultsPageView.js +2 -2
  300. package/dist/features/search/components/index.d.ts +0 -6
  301. package/dist/features/search/components/index.js +0 -3
  302. package/dist/features/search/hooks/useNavSuggestions.d.ts +13 -0
  303. package/dist/features/search/hooks/useScopedSearch.d.ts +34 -0
  304. package/dist/features/search/hooks/useScopedSearch.js +114 -0
  305. package/dist/features/search/hooks/useSiteSearch.d.ts +26 -0
  306. package/dist/features/search/hooks/useSiteSearch.js +149 -0
  307. package/dist/features/search/index.d.ts +0 -4
  308. package/dist/features/search/index.js +0 -4
  309. package/dist/features/search/manifest.d.ts +12 -0
  310. package/dist/features/search/manifest.js +17 -2
  311. package/dist/features/search/server.d.ts +0 -3
  312. package/dist/features/search/server.js +0 -3
  313. package/dist/features/seller/components/SellerListingTypeView.d.ts +1 -1
  314. package/dist/features/seller/components/SellerListingTypeView.js +20 -0
  315. package/dist/features/seller/components/SellerPayoutSettingsView.js +35 -14
  316. package/dist/features/seller/components/SellerProductShell.d.ts +1 -1
  317. package/dist/features/seller/components/SellerProductShell.js +2 -1
  318. package/dist/features/seller/components/SellerProductsView.js +3 -2
  319. package/dist/features/seller/components/SellerSidebar.js +1 -1
  320. package/dist/features/seller/components/SellerSparesView.d.ts +17 -0
  321. package/dist/features/seller/components/SellerSparesView.js +6 -0
  322. package/dist/features/seller/components/index.d.ts +2 -0
  323. package/dist/features/seller/components/index.js +1 -0
  324. package/dist/features/shell/CommandPalette.js +1 -1
  325. package/dist/features/sticker-trace/schemas/firestore.d.ts +19 -0
  326. package/dist/features/stores/components/StoreAuctionsListing.js +2 -1
  327. package/dist/features/stores/components/StoreDetailLayoutView.d.ts +1 -1
  328. package/dist/features/stores/components/StoreDetailLayoutView.js +7 -82
  329. package/dist/features/stores/components/StoreHeader.js +1 -2
  330. package/dist/features/stores/components/StoreSparesPageView.d.ts +27 -0
  331. package/dist/features/stores/components/StoreSparesPageView.js +48 -0
  332. package/dist/features/stores/schemas/firestore.d.ts +19 -0
  333. package/dist/features/tester/seed-data/authored/buying__spares-and-groups.d.ts +2 -0
  334. package/dist/features/tester/seed-data/authored/buying__spares-and-groups.js +96 -0
  335. package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.d.ts +2 -0
  336. package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.js +392 -45
  337. package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.js +54 -32
  338. package/dist/features/tester/seed-data/authored/content-discovery__parts-database.js +3 -2
  339. package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.d.ts +2 -0
  340. package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.js +73 -0
  341. package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.d.ts +2 -0
  342. package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.js +340 -0
  343. package/dist/features/tester/seed-data/authored/index.js +16 -0
  344. package/dist/features/tester/seed-data/authored/search-and-nav__header-search.d.ts +1 -0
  345. package/dist/features/tester/seed-data/authored/search-and-nav__header-search.js +57 -0
  346. package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.d.ts +2 -0
  347. package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.js +77 -0
  348. package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.d.ts +2 -0
  349. package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.js +58 -0
  350. package/dist/features/tester/seed-data/authored/tools__sticker-tracer.js +5 -4
  351. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +384 -18
  352. package/dist/index.d.ts +17 -57
  353. package/dist/index.js +35 -96
  354. package/dist/next/routing/route-map.d.ts +42 -1
  355. package/dist/next/routing/route-map.js +45 -0
  356. package/dist/providers/db-firebase/base.repository.d.ts +22 -0
  357. package/dist/providers/db-firebase/base.repository.js +36 -0
  358. package/dist/schemas/registry.d.ts +15 -6
  359. package/dist/security/blind-index-tokens.d.ts +54 -0
  360. package/dist/security/blind-index-tokens.js +152 -0
  361. package/dist/security/index.d.ts +1 -1
  362. package/dist/security/index.js +1 -1
  363. package/dist/security/settings-encryption.d.ts +35 -0
  364. package/dist/security/settings-encryption.js +91 -0
  365. package/dist/seed/_helpers/brand-rows.js +38 -14
  366. package/dist/seed/_helpers/category-forest.js +73 -7
  367. package/dist/seed/_helpers/category-images-generated.d.ts +25 -6
  368. package/dist/seed/_helpers/category-images-generated.js +81 -6
  369. package/dist/seed/_helpers/category-models.d.ts +1 -1
  370. package/dist/seed/_helpers/category-models.js +7 -1
  371. package/dist/seed/_helpers/category-parts-glossary-map.js +8 -0
  372. package/dist/seed/_helpers/category-parts.d.ts +1 -1
  373. package/dist/seed/_helpers/category-parts.js +50 -2
  374. package/dist/seed/_helpers/character-features.d.ts +1 -1
  375. package/dist/seed/_helpers/character-features.js +2 -1
  376. package/dist/seed/_helpers/franchise-rows.js +10 -2
  377. package/dist/seed/_helpers/media.d.ts +47 -0
  378. package/dist/seed/_helpers/media.js +34 -0
  379. package/dist/seed/authenticity-knowledge-seed-data.d.ts +49 -5
  380. package/dist/seed/authenticity-knowledge-seed-data.js +10001 -549
  381. package/dist/seed/categories-seed-data.js +124 -20
  382. package/dist/seed/grouped-listings-seed-data.js +16 -0
  383. package/dist/seed/homepage-sections-seed-data.js +94 -5
  384. package/dist/seed/index.d.ts +2 -3
  385. package/dist/seed/index.js +2 -2
  386. package/dist/seed/manifest.js +3 -0
  387. package/dist/seed/media-assets-seed-data.d.ts +1 -1
  388. package/dist/seed/media-assets-seed-data.js +746 -196
  389. package/dist/seed/model-composition-seed-data.js +122 -6
  390. package/dist/seed/part-glossary-seed-data.d.ts +1 -1
  391. package/dist/seed/part-glossary-seed-data.js +37219 -463
  392. package/dist/seed/products-art-seed-data.js +7 -18
  393. package/dist/seed/products-auctions-seed-data.js +56 -47
  394. package/dist/seed/products-beyblade-x-seed-data.d.ts +2 -0
  395. package/dist/seed/products-beyblade-x-seed-data.js +476 -0
  396. package/dist/seed/products-catalogue-seed-data.d.ts +5 -5
  397. package/dist/seed/products-catalogue-seed-data.js +1500 -1240
  398. package/dist/seed/products-classifieds-seed-data.js +9 -27
  399. package/dist/seed/products-digital-codes-seed-data.js +9 -18
  400. package/dist/seed/products-live-items-seed-data.js +5 -13
  401. package/dist/seed/products-preorders-seed-data.js +67 -33
  402. package/dist/seed/products-prize-draws-seed-data.js +8 -17
  403. package/dist/seed/products-spares-seed-data.d.ts +2 -0
  404. package/dist/seed/products-spares-seed-data.js +368 -0
  405. package/dist/seed/products-standard-seed-data.js +39 -126
  406. package/dist/seed/products-stickers-seed-data.js +59 -15
  407. package/dist/seed/site-settings-seed-data.js +8 -0
  408. package/dist/seo/json-ld.d.ts +25 -0
  409. package/dist/seo/json-ld.js +28 -0
  410. package/dist/server-entry.d.ts +3 -1
  411. package/dist/server-entry.js +2 -2
  412. package/dist/server.d.ts +11 -9
  413. package/dist/server.js +35 -25
  414. package/dist/styles.css +202 -1
  415. package/dist/tailwind-input.css +31 -17
  416. package/dist/tailwind-utilities.css +1 -1
  417. package/dist/ui/components/Accordion.js +1 -1
  418. package/dist/ui/components/Breadcrumb.js +1 -1
  419. package/dist/ui/components/DetailPageGallery.js +0 -2
  420. package/dist/ui/components/DetailPageHero.js +0 -1
  421. package/dist/ui/components/DetailPageTabs.js +1 -1
  422. package/dist/ui/components/Divider.js +3 -3
  423. package/dist/ui/components/GatedPrice.js +5 -1
  424. package/dist/ui/components/HorizontalScroller.js +1 -1
  425. package/dist/ui/components/ListingLayout.js +3 -3
  426. package/dist/ui/components/MediaTabs.style.css +81 -0
  427. package/dist/ui/components/Pagination.js +1 -1
  428. package/dist/ui/components/PendingValue.d.ts +45 -0
  429. package/dist/ui/components/PendingValue.js +7 -0
  430. package/dist/ui/components/Radio.style.css +119 -0
  431. package/dist/ui/components/RatingDisplay.js +2 -2
  432. package/dist/ui/components/SettingsSection.js +0 -2
  433. package/dist/ui/components/SiteLogo.js +3 -0
  434. package/dist/ui/components/SiteMark.js +3 -0
  435. package/dist/ui/components/SortDropdown.js +1 -1
  436. package/dist/ui/components/SpecTable.d.ts +58 -0
  437. package/dist/ui/components/SpecTable.js +8 -0
  438. package/dist/ui/components/StarRating.js +1 -3
  439. package/dist/ui/components/SummaryCard.js +1 -1
  440. package/dist/ui/components/index.style.css +1 -0
  441. package/dist/ui/icons/icon-registry.d.ts +1 -0
  442. package/dist/ui/icons/icon-registry.js +9 -1
  443. package/dist/ui/index.d.ts +4 -0
  444. package/dist/ui/index.js +2 -0
  445. package/dist/utils/search-txt-query.d.ts +12 -0
  446. package/dist/utils/search-txt-query.js +12 -0
  447. package/package.json +1 -1
  448. package/scripts/dedupe-peer-deps.mjs +18 -0
  449. package/scripts/seed-cli.mjs +250 -35
  450. package/scripts/verify-css-build.mjs +118 -37
  451. package/dist/_internal/server/features/search/actions.d.ts +0 -7
  452. package/dist/_internal/server/features/search/actions.js +0 -21
  453. package/dist/_internal/server/features/search/data.d.ts +0 -15
  454. package/dist/_internal/server/features/search/data.js +0 -18
  455. package/dist/_internal/server/features/search/index.d.ts +0 -3
  456. package/dist/_internal/server/features/search/index.js +0 -2
  457. package/dist/features/homepage/api/[id]/route.d.ts +0 -23
  458. package/dist/features/homepage/api/[id]/route.js +0 -103
  459. package/dist/features/homepage/api/route.d.ts +0 -14
  460. package/dist/features/homepage/api/route.js +0 -140
  461. package/dist/features/homepage/api/sections/[id]/route.d.ts +0 -26
  462. package/dist/features/homepage/api/sections/[id]/route.js +0 -95
  463. package/dist/features/homepage/api/sections/route.d.ts +0 -13
  464. package/dist/features/homepage/api/sections/route.js +0 -82
  465. package/dist/features/homepage/components/AdvertisementBanner.d.ts +0 -14
  466. package/dist/features/homepage/components/AdvertisementBanner.js +0 -35
  467. package/dist/features/homepage/components/BeforeAfterCard.d.ts +0 -9
  468. package/dist/features/homepage/components/BeforeAfterCard.js +0 -73
  469. package/dist/features/homepage/components/FeaturedResultsSection.d.ts +0 -17
  470. package/dist/features/homepage/components/FeaturedResultsSection.js +0 -17
  471. package/dist/features/homepage/components/HeroBanner.d.ts +0 -7
  472. package/dist/features/homepage/components/HeroBanner.js +0 -43
  473. package/dist/features/homepage/components/HeroSection.d.ts +0 -7
  474. package/dist/features/homepage/components/HeroSection.js +0 -6
  475. package/dist/features/homepage/components/HomepageSkeleton.d.ts +0 -2
  476. package/dist/features/homepage/components/HomepageSkeleton.js +0 -21
  477. package/dist/features/homepage/components/HomepageView.d.ts +0 -25
  478. package/dist/features/homepage/components/HomepageView.js +0 -5
  479. package/dist/features/homepage/components/NewsletterBanner.d.ts +0 -23
  480. package/dist/features/homepage/components/NewsletterBanner.js +0 -37
  481. package/dist/features/homepage/components/SiteFeaturesSection.d.ts +0 -14
  482. package/dist/features/homepage/components/SiteFeaturesSection.js +0 -11
  483. package/dist/features/homepage/components/TrustBadges.d.ts +0 -6
  484. package/dist/features/homepage/components/TrustBadges.js +0 -46
  485. package/dist/features/homepage/components/TrustIndicatorsSection.d.ts +0 -12
  486. package/dist/features/homepage/components/TrustIndicatorsSection.js +0 -11
  487. package/dist/features/homepage/hooks/useHomepage.d.ts +0 -11
  488. package/dist/features/homepage/hooks/useHomepage.js +0 -17
  489. package/dist/features/homepage/hooks/useHomepageSections.d.ts +0 -2
  490. package/dist/features/homepage/hooks/useHomepageSections.js +0 -10
  491. package/dist/features/homepage/repository/homepage.repository.d.ts +0 -11
  492. package/dist/features/homepage/repository/homepage.repository.js +0 -25
  493. package/dist/features/search/actions/index.d.ts +0 -1
  494. package/dist/features/search/actions/index.js +0 -1
  495. package/dist/features/search/actions/search-actions.d.ts +0 -18
  496. package/dist/features/search/actions/search-actions.js +0 -43
  497. package/dist/features/search/api/route.d.ts +0 -22
  498. package/dist/features/search/api/route.js +0 -128
  499. package/dist/features/search/columns/index.d.ts +0 -17
  500. package/dist/features/search/columns/index.js +0 -49
  501. package/dist/features/search/components/SearchFiltersRow.d.ts +0 -22
  502. package/dist/features/search/components/SearchFiltersRow.js +0 -21
  503. package/dist/features/search/components/SearchResultsSection.d.ts +0 -53
  504. package/dist/features/search/components/SearchResultsSection.js +0 -35
  505. package/dist/features/search/components/SearchView.d.ts +0 -27
  506. package/dist/features/search/components/SearchView.js +0 -8
  507. package/dist/features/search/hooks/useSearch.d.ts +0 -21
  508. package/dist/features/search/hooks/useSearch.js +0 -33
  509. package/dist/features/search/repository/search.repository.d.ts +0 -14
  510. package/dist/features/search/repository/search.repository.js +0 -59
  511. package/dist/features/search/schemas/index.d.ts +0 -70
  512. package/dist/features/search/schemas/index.js +0 -36
  513. package/dist/features/search/types/index.d.ts +0 -48
  514. package/dist/features/stores/components/StoreScopedSearch.d.ts +0 -17
  515. package/dist/features/stores/components/StoreScopedSearch.js +0 -27
  516. package/dist/seed/defaults/homepage-sections.d.ts +0 -2
  517. package/dist/seed/defaults/homepage-sections.js +0 -60
  518. package/dist/seed/factories/homepage-section.factory.d.ts +0 -10
  519. package/dist/seed/factories/homepage-section.factory.js +0 -13
  520. /package/dist/{features/search/types/index.js → _internal/shared/listing-types/spares/og.d.ts} +0 -0
@@ -18,7 +18,7 @@
18
18
  */
19
19
  import { PRODUCT_FIELDS } from "../constants/field-names.js";
20
20
  import { buildSearchTxt } from "../utils/search-txt.js";
21
- import { seedPhoto } from "./_helpers/media.js";
21
+ import { seedPhoto, seedGallery } from "./_helpers/media.js";
22
22
  import { withFinalSale } from "./_helpers/final-sale-fixtures.js";
23
23
  import { withDerivedCategoryNames } from "./_helpers/category-names.js";
24
24
  const _rawProductsStickersSeedData = [
@@ -37,7 +37,7 @@ const _rawProductsStickersSeedData = [
37
37
  availableQuantity: 100,
38
38
  isSold: false,
39
39
  mainImage: seedPhoto("stickers-image-original-classic-1-20260817", 900, 900),
40
- images: [seedPhoto("stickers-image-original-classic-1-20260817", 900, 900)],
40
+ images: seedGallery(seedPhoto("stickers-image-original-classic-1-20260817", 900, 900)),
41
41
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
42
42
  condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
43
43
  listingType: "stickers",
@@ -76,10 +76,7 @@ const _rawProductsStickersSeedData = [
76
76
  availableQuantity: 62,
77
77
  isSold: false,
78
78
  mainImage: seedPhoto("stickers-image-x-holo-1-20260818", 900, 900),
79
- images: [
80
- seedPhoto("stickers-image-x-holo-1-20260818", 900, 900),
81
- seedPhoto("stickers-image-x-holo-2-20260818", 900, 900),
82
- ],
79
+ images: seedGallery(seedPhoto("stickers-image-x-holo-1-20260818", 900, 900), seedPhoto("stickers-image-x-holo-2-20260818", 900, 900)),
83
80
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
84
81
  condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
85
82
  listingType: "stickers",
@@ -118,7 +115,7 @@ const _rawProductsStickersSeedData = [
118
115
  availableQuantity: 60,
119
116
  isSold: false,
120
117
  mainImage: seedPhoto("stickers-image-burst-diecut-1-20260819", 900, 900),
121
- images: [seedPhoto("stickers-image-burst-diecut-1-20260819", 900, 900)],
118
+ images: seedGallery(seedPhoto("stickers-image-burst-diecut-1-20260819", 900, 900)),
122
119
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
123
120
  condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
124
121
  listingType: "stickers",
@@ -157,7 +154,7 @@ const _rawProductsStickersSeedData = [
157
154
  availableQuantity: 214,
158
155
  isSold: false,
159
156
  mainImage: seedPhoto("stickers-image-metal-retro-1-20260819", 900, 900),
160
- images: [seedPhoto("stickers-image-metal-retro-1-20260819", 900, 900)],
157
+ images: seedGallery(seedPhoto("stickers-image-metal-retro-1-20260819", 900, 900)),
161
158
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
162
159
  condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
163
160
  listingType: "stickers",
@@ -196,10 +193,7 @@ const _rawProductsStickersSeedData = [
196
193
  availableQuantity: 45,
197
194
  isSold: false,
198
195
  mainImage: seedPhoto("stickers-image-x-glow-1-20260819", 900, 900),
199
- images: [
200
- seedPhoto("stickers-image-x-glow-1-20260819", 900, 900),
201
- seedPhoto("stickers-image-x-glow-2-20260819", 900, 900),
202
- ],
196
+ images: seedGallery(seedPhoto("stickers-image-x-glow-1-20260819", 900, 900), seedPhoto("stickers-image-x-glow-2-20260819", 900, 900)),
203
197
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
204
198
  condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
205
199
  listingType: "stickers",
@@ -239,9 +233,7 @@ const _rawProductsStickersSeedData = [
239
233
  availableQuantity: 0,
240
234
  isSold: true,
241
235
  mainImage: seedPhoto("sticker-image-metal-fight-sold-out-1-20260824", 900, 900),
242
- images: [
243
- seedPhoto("sticker-image-metal-fight-sold-out-1-20260824", 900, 900),
244
- ],
236
+ images: seedGallery(seedPhoto("sticker-image-metal-fight-sold-out-1-20260824", 900, 900)),
245
237
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
246
238
  condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
247
239
  listingType: "stickers",
@@ -265,6 +257,58 @@ const _rawProductsStickersSeedData = [
265
257
  ["stickers", "sold-out"],
266
258
  ]),
267
259
  },
260
+ {
261
+ /*
262
+ * Part Two C — the one seeded `madeToOrder: true` fixture. Print-on-demand
263
+ * is the case that flag exists for: this sheet is printed when ordered
264
+ * rather than held in a finite run, so `stockQuantity`/`availableQuantity`
265
+ * are deliberately 0 and must NOT make the listing read as sold out.
266
+ *
267
+ * 🛑 Reuses an EXISTING uploaded cover (`stickers-image-x-glow-1`) rather
268
+ * than inventing a new slug — a slug with no row in
269
+ * `media-assets-seed-data.ts` 404s silently and reads as a broken image,
270
+ * not as a seed bug (the 2026-10-17 incident this project already paid
271
+ * for once).
272
+ */
273
+ id: "sticker-beyblade-custom-print-on-demand",
274
+ slug: "sticker-beyblade-custom-print-on-demand",
275
+ title: "Custom Beyblade Sticker Sheet — Print on Demand",
276
+ description: "Pick any character art from our catalogue and we print your sheet when you order — nothing is held in stock, so it never sells out.",
277
+ categorySlugs: ["category-original-plastic-gen", "category-original-tops", "category-beyblade-original", "category-spinning-tops"],
278
+ categoryNames: ["Plastic Generation", "Original Tops", "Beyblade Original", "Spinning Tops"],
279
+ brandSlug: "brand-beyblade",
280
+ brand: "Beyblade",
281
+ price: 179,
282
+ currency: "INR",
283
+ stockQuantity: 0,
284
+ availableQuantity: 0,
285
+ madeToOrder: true,
286
+ isSold: false,
287
+ mainImage: seedPhoto("stickers-image-x-glow-1-20260819", 900, 900),
288
+ images: seedGallery(seedPhoto("stickers-image-x-glow-1-20260819", 900, 900)),
289
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
290
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
291
+ listingType: "stickers",
292
+ storeId: "store-beyblade-arena",
293
+ storeName: "Beyblade Arena",
294
+ printMeta: { size: "5x5 cm sheet", material: "Vinyl", finish: "Glossy" },
295
+ customFields: [{ key: "Turnaround", type: "text", value: "Printed and shipped within 2 business days" }],
296
+ customSections: [],
297
+ featured: false,
298
+ isPromoted: false,
299
+ isOnSale: false,
300
+ tags: ["stickers", "made-to-order"],
301
+ createdAt: new Date("2026-10-19"),
302
+ updatedAt: new Date("2026-10-19"),
303
+ searchTxt: buildSearchTxt([
304
+ "Custom Beyblade Sticker Sheet — Print on Demand",
305
+ "Pick any character art from our catalogue and we print your sheet when you order.",
306
+ "Beyblade",
307
+ "brand-beyblade",
308
+ ["Beyblade Original", "Spinning Tops"],
309
+ ["stickers", "made-to-order"],
310
+ ]),
311
+ },
268
312
  ];
269
313
  /*
270
314
  * This file had no export wrapper at all — every other product seed file maps
@@ -307,6 +307,14 @@ export const siteSettingsSeedData = {
307
307
  shipping: "",
308
308
  ethics: "",
309
309
  codeOfConduct: "",
310
+ /*
311
+ * Added 2026-10-19 alongside the two new `PolicyPageView` keys. Empty like
312
+ * every sibling: the seed deliberately ships no legal prose — the admin
313
+ * Legal tab is the author, and a seeded placeholder would render as real
314
+ * policy text on an indexed public page.
315
+ */
316
+ cancellation: "",
317
+ grievance: "",
310
318
  },
311
319
  shipping: {
312
320
  estimatedDays: 7,
@@ -168,6 +168,31 @@ export interface SiteIdentityOptions {
168
168
  siteUrl?: string;
169
169
  /** Real social/profile URLs — feeds schema.org `sameAs`, which drives entity recognition. */
170
170
  sameAs?: readonly string[];
171
+ /**
172
+ * The LEGAL entity behind the brand, for `Organization`.
173
+ *
174
+ * Distinct from `siteName`: "LetItRip" is what the site calls itself,
175
+ * "Let It Rip India" is what issues the invoice. schema.org has separate
176
+ * `name` and `legalName` for exactly this, and an Indian e-commerce site is
177
+ * required to publish the latter.
178
+ *
179
+ * Every field is optional and an unset one is OMITTED rather than emitted
180
+ * empty — a `legalName: ""` or a `PostalAddress` of blanks is a wrong entity
181
+ * asserted confidently, which is worse for entity recognition than saying
182
+ * nothing (the same reasoning as `sameAs: []` above).
183
+ */
184
+ legalName?: string;
185
+ /** 15-character GSTIN — emitted as schema.org `taxID`. */
186
+ taxId?: string;
187
+ telephone?: string;
188
+ email?: string;
189
+ address?: {
190
+ streetAddress?: string;
191
+ addressLocality?: string;
192
+ addressRegion?: string;
193
+ postalCode?: string;
194
+ addressCountry?: string;
195
+ };
171
196
  }
172
197
  export declare function organizationJsonLd(opts?: SiteIdentityOptions): Record<string, JsonLdValue>;
173
198
  export declare function searchBoxJsonLd(opts?: SiteIdentityOptions): Record<string, JsonLdValue>;
@@ -225,10 +225,36 @@ export function organizationJsonLd(opts) {
225
225
  // `sameAs: []` was hardcoded empty while appkit.config.js carried real
226
226
  // socialUrls that nothing read. An empty array is worse than omitting the key.
227
227
  const sameAs = (opts?.sameAs ?? []).filter(Boolean);
228
+ /*
229
+ * Emit a PostalAddress only when at least one part of it is known. A node of
230
+ * empty strings validates, reads as a real address to a consumer, and is
231
+ * wrong — the same reason `sameAs: []` is omitted rather than sent empty.
232
+ */
233
+ const a = opts?.address;
234
+ const hasAddress = Boolean(a && (a.streetAddress || a.addressLocality || a.postalCode || a.addressCountry));
228
235
  return {
229
236
  "@context": "https://schema.org",
230
237
  "@type": "Organization",
231
238
  name,
239
+ // Omitted when it equals `name` — repeating the brand as the legal name
240
+ // asserts they are the same entity, which for a sole proprietorship
241
+ // trading under a brand is not true.
242
+ legalName: opts?.legalName && opts.legalName.trim() && opts.legalName.trim() !== name
243
+ ? opts.legalName.trim()
244
+ : undefined,
245
+ taxID: opts?.taxId?.trim() || undefined,
246
+ telephone: opts?.telephone?.trim() || undefined,
247
+ email: opts?.email?.trim() || undefined,
248
+ address: hasAddress
249
+ ? {
250
+ "@type": "PostalAddress",
251
+ streetAddress: a?.streetAddress || undefined,
252
+ addressLocality: a?.addressLocality || undefined,
253
+ addressRegion: a?.addressRegion || undefined,
254
+ postalCode: a?.postalCode || undefined,
255
+ addressCountry: a?.addressCountry || undefined,
256
+ }
257
+ : undefined,
232
258
  url: base || undefined,
233
259
  logo: absoluteUrl("/icons/icon-512x512.png", base),
234
260
  sameAs: sameAs.length > 0 ? [...sameAs] : undefined,
@@ -236,6 +262,8 @@ export function organizationJsonLd(opts) {
236
262
  "@type": "ContactPoint",
237
263
  contactType: "customer support",
238
264
  url: absoluteUrl(ROUTES.PUBLIC.CONTACT, base),
265
+ telephone: opts?.telephone?.trim() || undefined,
266
+ email: opts?.email?.trim() || undefined,
239
267
  },
240
268
  };
241
269
  }
@@ -32,6 +32,7 @@ export { ClassifiedDetailPageView } from "./features/classified/components/Class
32
32
  export { DigitalCodeDetailPageView } from "./features/digital-codes/components/DigitalCodeDetailPageView";
33
33
  export { LiveItemDetailPageView } from "./features/live/components/LiveItemDetailPageView";
34
34
  export { ArtStickersListView } from "./features/products/components/ArtStickersListView";
35
+ export { SparesListView } from "./features/products/components/SparesListView";
35
36
  export { ReviewsIndexPageView } from "./features/reviews/components/ReviewsIndexPageView";
36
37
  export { ReviewDetailPageView } from "./features/reviews/components/ReviewDetailPageView";
37
38
  export { StoresIndexPageView } from "./features/stores/components/StoresIndexPageView";
@@ -42,6 +43,7 @@ export { StorePreOrdersPageView } from "./features/stores/components/StorePreOrd
42
43
  export { StorePrizeDrawsPageView } from "./features/stores/components/StorePrizeDrawsPageView";
43
44
  export { StoreBundlesPageView } from "./features/stores/components/StoreBundlesPageView";
44
45
  export { StoreClassifiedsPageView } from "./features/stores/components/StoreClassifiedsPageView";
46
+ export { StoreSparesPageView } from "./features/stores/components/StoreSparesPageView";
45
47
  export { StoreDigitalCodesPageView } from "./features/stores/components/StoreDigitalCodesPageView";
46
48
  export { StoreLiveItemsPageView } from "./features/stores/components/StoreLiveItemsPageView";
47
49
  export { StoreArtStickersPageView } from "./features/stores/components/StoreArtStickersPageView";
@@ -63,7 +65,6 @@ export { getHistoryForUser, trackProductViewAction, mergeGuestHistoryAction, HIS
63
65
  export { getReviewsForProduct, getReviewsForStore, hasUserPurchasedProduct, getReviewById, renderReviewOg, renderReviewOgImage, type ReviewOgData, createReviewAction, replyToReviewAction, deleteReviewAction, markReviewHelpfulAction, } from "./_internal/server/features/reviews/index";
64
66
  export { renderFaqOg, renderFaqOgImage, type FaqOgData, } from "./_internal/server/features/faqs/index";
65
67
  export { renderScamOg, renderScamOgImage, type ScamOgData, getScammerForDetail, getScammerProfilePageData as getScammerProfilePageDataCached, } from "./_internal/server/features/scams/index";
66
- export { getSearchResults, searchAction, type SearchQuery, } from "./_internal/server/features/search/index";
67
68
  export { getCategoryForDetail, listRootCategories, listFeaturedCategories, listMenuCategories, getCategoryTree, listSitemapCategories, CATEGORIES_PAGE_SIZE, CATEGORIES_ROOT_TIER, CATEGORIES_MAX_DEPTH, CATEGORIES_SITEMAP_LIMIT, CATEGORIES_FEATURED_LIMIT, CATEGORIES_MENU_LIMIT, } from "./_internal/server/features/categories/index";
68
69
  export { getGroupedListingForDetail, getGroupedListingWithItems, listGroupedListings, listFeaturedGroupedListings, listSitemapGroupedListings, getGroupsForProduct, getGroupsWithItemsForProduct, GROUPED_LISTINGS_PAGE_SIZE, GROUPED_LISTINGS_FEATURED_LIMIT, GROUPED_LISTINGS_SITEMAP_LIMIT, buildGroupedListingMetadata, renderGroupedListingOg, type GroupedListingWithItems, type ListGroupedListingsParams, type SitemapGroupedListing, type GroupedListingMetadataOptions, } from "./_internal/server/features/grouped/index";
69
70
  export { createCheckoutOrderAction, attachPaymentAction, verifyAndPlacePhonePeOrderAction, previewCheckoutPricing, resolveShippingCost, formatShippingAddress, CHECKOUT_DEFAULT_COMMISSIONS, CHECKOUT_PAYMENT_METHODS, type CreateCheckoutOrderInput, type VerifyAndPlacePhonePeOrderInput, type CheckoutOrderResult, type CheckoutPaymentMethod, type CheckoutPricingPreviewInput, type CheckoutPricingPreview, } from "./_internal/server/features/checkout/index";
@@ -80,6 +81,7 @@ export * as scamsServer from "./_internal/server/features/scams/index";
80
81
  export { AppkitError, UnauthorizedError, CapacityError, ExpiredError, } from "./_internal/shared/errors/index";
81
82
  export { NotFoundError, ValidationError, ConflictError } from "./errors/index";
82
83
  export type { AppkitConfig } from "./_internal/shared/config/schema";
84
+ export type { AppkitBusinessConfig, AppkitBusinessAddress, AppkitBusinessSupport, AppkitBusinessGrievance, AppkitBusinessPolicy, AppkitBusinessBank, PendingString, } from "./_internal/shared/config/schema";
83
85
  export { SEMANTIC_COLORS, SEMANTIC_COLORS_DARK, SEMANTIC_RADIUS, SEMANTIC_SHADOWS, SEMANTIC_Z_INDEX, MOTION_TOKENS, BREAKPOINTS, PLATFORM_LIMITS, } from "./_internal/shared/tokens/index";
84
86
  export type { Responsive, Breakpoint, SemanticColor } from "./_internal/shared/tokens/index";
85
87
  export { renderProductOg, renderProductOgImage, type ProductOgData, type OgOptions } from "./_internal/server/features/products/og";
@@ -37,6 +37,7 @@ export { ClassifiedDetailPageView } from "./features/classified/components/Class
37
37
  export { DigitalCodeDetailPageView } from "./features/digital-codes/components/DigitalCodeDetailPageView.js";
38
38
  export { LiveItemDetailPageView } from "./features/live/components/LiveItemDetailPageView.js";
39
39
  export { ArtStickersListView } from "./features/products/components/ArtStickersListView.js";
40
+ export { SparesListView } from "./features/products/components/SparesListView.js";
40
41
  export { ReviewsIndexPageView } from "./features/reviews/components/ReviewsIndexPageView.js";
41
42
  export { ReviewDetailPageView } from "./features/reviews/components/ReviewDetailPageView.js";
42
43
  export { StoresIndexPageView } from "./features/stores/components/StoresIndexPageView.js";
@@ -47,6 +48,7 @@ export { StorePreOrdersPageView } from "./features/stores/components/StorePreOrd
47
48
  export { StorePrizeDrawsPageView } from "./features/stores/components/StorePrizeDrawsPageView.js";
48
49
  export { StoreBundlesPageView } from "./features/stores/components/StoreBundlesPageView.js";
49
50
  export { StoreClassifiedsPageView } from "./features/stores/components/StoreClassifiedsPageView.js";
51
+ export { StoreSparesPageView } from "./features/stores/components/StoreSparesPageView.js";
50
52
  export { StoreDigitalCodesPageView } from "./features/stores/components/StoreDigitalCodesPageView.js";
51
53
  export { StoreLiveItemsPageView } from "./features/stores/components/StoreLiveItemsPageView.js";
52
54
  export { StoreArtStickersPageView } from "./features/stores/components/StoreArtStickersPageView.js";
@@ -86,8 +88,6 @@ export { getHistoryForUser, trackProductViewAction, mergeGuestHistoryAction, HIS
86
88
  export { getReviewsForProduct, getReviewsForStore, hasUserPurchasedProduct, getReviewById, renderReviewOg, renderReviewOgImage, createReviewAction, replyToReviewAction, deleteReviewAction, markReviewHelpfulAction, } from "./_internal/server/features/reviews/index.js";
87
89
  export { renderFaqOg, renderFaqOgImage, } from "./_internal/server/features/faqs/index.js";
88
90
  export { renderScamOg, renderScamOgImage, getScammerForDetail, getScammerProfilePageData as getScammerProfilePageDataCached, } from "./_internal/server/features/scams/index.js";
89
- // S5: search data layer + action
90
- export { getSearchResults, searchAction, } from "./_internal/server/features/search/index.js";
91
91
  // S3: categories data layer
92
92
  export { getCategoryForDetail, listRootCategories, listFeaturedCategories, listMenuCategories, getCategoryTree, listSitemapCategories, CATEGORIES_PAGE_SIZE, CATEGORIES_ROOT_TIER, CATEGORIES_MAX_DEPTH, CATEGORIES_SITEMAP_LIMIT, CATEGORIES_FEATURED_LIMIT, CATEGORIES_MENU_LIMIT, } from "./_internal/server/features/categories/index.js";
93
93
  // S3: grouped listings data layer
package/dist/server.d.ts CHANGED
@@ -2,6 +2,10 @@ export { isAuthError } from "./utils/auth-error";
2
2
  export { searchEverything } from "./_internal/server/features/search/search-everything";
3
3
  export type { SearchHit, SearchGroup, SearchSource, SearchEverythingResult, } from "./_internal/server/features/search/search-everything";
4
4
  export { SEARCH_SOURCES } from "./_internal/server/features/search/search-sources";
5
+ export { SCOPED_SCAN_BUDGET } from "./_internal/server/features/search/search-everything";
6
+ export { buildTokensIndex, tokensIndexQueryValue, BLIND_INDEX_KEY_VERSION_FIELD, CURRENT_BLIND_INDEX_KEY_VERSION, } from "./security/blind-index-tokens";
7
+ export { scopedSourcesFor, scopedScanTotal, assertWithinScopedBudget, } from "./_internal/server/features/search/scoped-sources";
8
+ export type { SearchViewer } from "./_internal/server/features/search/scoped-sources";
5
9
  export { getPartByKey, getModelsUsingPart, getCompositionById, getPartsForComposition, getCompositionsForCategory, listPartsBySlot, } from "./_internal/server/features/parts/data";
6
10
  export { renderCityOg, type CityOgData } from "./_internal/server/features/products/og";
7
11
  export { listBuildableModels, BUILDABLE_HOLDINGS_LIMIT, BUILDABLE_CANDIDATE_LIMIT, type BuildableModel, type BuildableResult, type BuildableSlot, } from "./_internal/server/features/parts/buildable";
@@ -31,7 +35,6 @@ export { CART_FIXTURES } from "./seed/index";
31
35
  export { COUPON_FIXTURES } from "./seed/index";
32
36
  export { DEFAULT_CATEGORIES } from "./seed/index";
33
37
  export { DEFAULT_FAQS } from "./seed/index";
34
- export { DEFAULT_HOMEPAGE_SECTIONS } from "./seed/index";
35
38
  export { NOTIFICATION_FIXTURES } from "./seed/index";
36
39
  export { PAYOUT_FIXTURES } from "./seed/index";
37
40
  export { PRODUCT_FIXTURES } from "./seed/index";
@@ -71,7 +74,6 @@ export { makeFullPayout } from "./seed/index";
71
74
  export { makeFullProduct } from "./seed/index";
72
75
  export { makeFullStore } from "./seed/index";
73
76
  export { makeFullUser } from "./seed/index";
74
- export { makeHomepageSection } from "./seed/index";
75
77
  export { makeNotification } from "./seed/index";
76
78
  export { sendNotification } from "./features/admin/actions/notification-actions";
77
79
  export { enqueueJob } from "./features/jobs/actions/enqueue-job";
@@ -285,8 +287,10 @@ export { triggerEventRaffleAction, assignSpinPrizeAction, resolveEventIdAction,
285
287
  export { reasonToHttp, EVENT_DRAW_REASON, type EventDrawReason, type EventDrawHttpMapping, } from "./_internal/server/jobs/core/event-draw-reasons";
286
288
  export { processRefundAction, type ProcessRefundInput, } from "./_internal/server/features/refunds/actions";
287
289
  export { computeCheckoutFees, computePayoutDeduction, computeCodHandlingFee, computeWhatsAppNotifyFee, computeGiftWrapFee, computeShipmentProtectionFee, computeSaleProtectionFee, } from "./_internal/shared/fees/calculator";
288
- export { searchPriceIndex, PRICE_INDEX_SEARCH_LIMIT, PRICE_INDEX_MIN_QUERY_LENGTH } from "./_internal/server/features/price-index/search";
290
+ export { searchPriceIndex, getPriceIndexBandsForIds, PRICE_INDEX_SEARCH_LIMIT, PRICE_INDEX_MIN_QUERY_LENGTH } from "./_internal/server/features/price-index/search";
289
291
  export type { PriceIndexSearchResponse, PriceIndexSearchResult, PriceIndexSearchResultBand, } from "./_internal/server/features/price-index/search";
292
+ export { getPriceIndexMarketForIds } from "./_internal/server/features/price-index/market";
293
+ export type { PriceIndexMarketRow } from "./_internal/server/features/price-index/market";
290
294
  export { protectionAvailability, computeProtectionFees, adjudicateClaim, badgesFor, showsRiskNotice, showsSafetyBadge, returnDestination, rtoDestination, PROTECTION_KINDS, } from "./_internal/shared/features/shipping/protections";
291
295
  export type { ProtectionKind, ProtectionAvailability, ProtectionTierInput, ProtectionUnavailableReason, ClaimFinding, ClaimOutcome, } from "./_internal/shared/features/shipping/protections";
292
296
  export type { FeeCommissionRates, CheckoutFees, PayoutDeduction, CodHandlingFeeRates, WhatsAppNotifyFeeRates, GiftWrapFeeRates, ShipmentProtectionFeeRates, SaleProtectionFeeRates, } from "./_internal/shared/fees/calculator";
@@ -319,10 +323,6 @@ export { deleteCarouselSlide } from "./features/homepage/server";
319
323
  export { deleteHomepageSection } from "./features/homepage/server";
320
324
  export { getCarouselSlideById } from "./features/homepage/server";
321
325
  export { getHomepageSectionById } from "./features/homepage/server";
322
- export { homepageGET } from "./features/homepage/server";
323
- export { homepageSectionItemDELETE } from "./features/homepage/server";
324
- export { homepageSectionItemGET } from "./features/homepage/server";
325
- export { homepageSectionItemPATCH } from "./features/homepage/server";
326
326
  export { listActiveCarouselSlides } from "./features/homepage/server";
327
327
  export { listAllCarouselSlides } from "./features/homepage/server";
328
328
  export { listEnabledHomepageSections } from "./features/homepage/server";
@@ -383,8 +383,6 @@ export { reviewItemGET } from "./features/reviews/server";
383
383
  export { reviewItemPATCH } from "./features/reviews/server";
384
384
  export { updateReview } from "./features/reviews/server";
385
385
  export { voteReviewHelpful } from "./features/reviews/server";
386
- export { searchGET } from "./features/search/server";
387
- export { searchProducts } from "./features/search/server";
388
386
  export { acceptCounterOffer } from "./features/seller/server";
389
387
  export { becomeSeller } from "./features/seller/server";
390
388
  export { bulkSellerOrder } from "./features/seller/server";
@@ -506,6 +504,7 @@ export { toPublicGroupMember, toPublicGroupMembers, type PublicGroupMember, } fr
506
504
  export { getAuctionForDetail, getProductFeaturesForAuction } from "./_internal/server/features/auctions/index";
507
505
  export { getPreOrderForDetail, getProductFeaturesForPreOrder } from "./_internal/server/features/pre-orders/index";
508
506
  export { getStoreForDetail, listStoreProductsInitial, listStoreAuctionsInitial, listStorePreOrdersInitial, listSitemapStores } from "./_internal/server/features/stores/index";
507
+ export { getDefaultStoreTabPath } from "./_internal/server/features/stores/tabs";
509
508
  export { toStoreDetail, toStoreListItem, PUBLIC_STORE_FIELDS, PRIVATE_STORE_FIELDS, type ToStoreDetailOptions, type ToStoreListItemOptions, type StoreProjectionSource, } from "./_internal/server/features/stores/adapters";
510
509
  export { getBrandForDetail } from "./_internal/server/features/brands/index";
511
510
  export { getFranchiseForDetail, listActiveFranchises, renderFranchiseOg, } from "./_internal/server/features/franchises/index";
@@ -576,6 +575,8 @@ export { signDigitalContentUpload, finalizeDigitalContentUpload, contentKindForM
576
575
  */
577
576
  export { createOrOpenConversation, openConversationWithSeller, listConversationsForUser, listMessagesForConversation, sendMessage, markConversationRead, blockConversationParticipant, softDeleteOwnMessage, mintChatEventToken, getUnreadConversationCount, deleteAllMessages as deleteAllConversationMessages, listAllAttachmentUrls as listConversationAttachmentUrls, stripPii as stripChatPii, type SendMessageInput, } from "./_internal/server/features/messages/actions";
578
577
  export { resolveCodeAssetForOrder, codeAssetHeaders, CODE_DOWNLOAD_STATUSES, type CodeAssetResolution, } from "./_internal/server/features/digital-code/download";
578
+ export { resolveBusinessDocument, type BusinessDocumentResolution, } from "./_internal/server/features/business-documents/download";
579
+ export { businessDocumentsRepository, BusinessDocumentsRepository, } from "./features/business-documents/repository/business-documents.repository";
579
580
  export { getLiveItemForDetail } from "./_internal/server/features/live/data";
580
581
  export { toClientLiveItem, type LiveItemClientShape } from "./_internal/server/features/live/adapters";
581
582
  export { buildLiveItemMetadata, type LiveItemMetadataOptions } from "./_internal/server/features/live/metadata";
@@ -626,4 +627,5 @@ export type { PrintPageSizeId } from "./_internal/shared/features/sticker-trace/
626
627
  export type { MachineProfileId } from "./_internal/shared/features/sticker-trace/export/machine-profiles";
627
628
  export { promoteStickerTraceRun, isRunPromoted, type PromoteRunInput, type PromoteRunResult, } from "./_internal/server/features/sticker-trace/promote";
628
629
  export { createStickerSheet, attachStickerSheetScan, resolveStickerAssetUrl, measureStickerStorage, STICKER_ASSET_KINDS, STICKER_SHEET_MAX_BYTES, type StickerAssetKind, type SheetUsageRow, type StickerStorageUsage, } from "./_internal/server/features/sticker-trace/sheet-actions";
630
+ export { promoteStickerSheetToListings, type PromoteToListingsInput, type PromoteToListingsResult, } from "./_internal/server/features/sticker-trace/promote-to-listings";
629
631
  export { toClientStickerSheet, toClientTraceRun, type ClientStickerSheet, type ClientTraceRun, } from "./_internal/server/features/sticker-trace/adapters";
package/dist/server.js CHANGED
@@ -7,6 +7,21 @@ export { isAuthError } from "./utils/auth-error.js";
7
7
  // exported subpath, and a consumer page must not reach into it.
8
8
  export { searchEverything } from "./_internal/server/features/search/search-everything.js";
9
9
  export { SEARCH_SOURCES } from "./_internal/server/features/search/search-sources.js";
10
+ export { SCOPED_SCAN_BUDGET } from "./_internal/server/features/search/search-everything.js";
11
+ /*
12
+ * `buildTokensIndex` is server-only for the same reason `encryptPiiFields`
13
+ * is: it feeds `BaseRepository.buildTokensIndexFor`, which runs inside the
14
+ * write-hook chain that also calls `hmacBlindIndex` (a `node:crypto` HMAC).
15
+ * `seed-cli.mjs`'s own `encryptSeedPii` needs this exported here because the
16
+ * seed CLI writes directly to Firestore and does not go through any
17
+ * repository's `createWithId` — see the 🛑 on `PayoutRepository`'s
18
+ * `buildTokensIndexFor` for why that bypass is the one that matters.
19
+ */
20
+ export { buildTokensIndex, tokensIndexQueryValue, BLIND_INDEX_KEY_VERSION_FIELD, CURRENT_BLIND_INDEX_KEY_VERSION, } from "./security/blind-index-tokens.js";
21
+ // Tier 2 — viewer-scoped sources. Server-only by construction: they build an
22
+ // owner clause from a session, and a client that could construct them could
23
+ // construct somebody else's.
24
+ export { scopedSourcesFor, scopedScanTotal, assertWithinScopedBudget, } from "./_internal/server/features/search/scoped-sources.js";
10
25
  // D12 — part + composition reads. Every one is by document id or ONE
11
26
  // indexed equality; none needs a composite index.
12
27
  export { getPartByKey, getModelsUsingPart, getCompositionById, getPartsForComposition, getCompositionsForCategory, listPartsBySlot, } from "./_internal/server/features/parts/data.js";
@@ -73,9 +88,6 @@ export { DEFAULT_CATEGORIES } from "./seed/index.js";
73
88
  // DEFAULT_FAQS - Constant used across modules.
74
89
  export { DEFAULT_FAQS } from "./seed/index.js";
75
90
  // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
76
- // DEFAULT_HOMEPAGE_SECTIONS - Constant used across modules.
77
- export { DEFAULT_HOMEPAGE_SECTIONS } from "./seed/index.js";
78
- // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
79
91
  // NOTIFICATION_FIXTURES - Constant used across modules.
80
92
  export { NOTIFICATION_FIXTURES } from "./seed/index.js";
81
93
  // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
@@ -193,9 +205,6 @@ export { makeFullStore } from "./seed/index.js";
193
205
  // makeFullUser - Shared export for make full user.
194
206
  export { makeFullUser } from "./seed/index.js";
195
207
  // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
196
- // makeHomepageSection - Shared export for make homepage section.
197
- export { makeHomepageSection } from "./seed/index.js";
198
- // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
199
208
  // makeNotification - Shared export for make notification.
200
209
  export { makeNotification } from "./seed/index.js";
201
210
  export { sendNotification } from "./features/admin/actions/notification-actions.js";
@@ -836,7 +845,15 @@ export { computeCheckoutFees, computePayoutDeduction, computeCodHandlingFee, com
836
845
  // only: it reads Firestore through two repositories, so it must never reach
837
846
  // client.ts (verify-entries would catch firebase-admin, but the import chain
838
847
  // is the thing to keep clean — Root Cause #6).
839
- export { searchPriceIndex, PRICE_INDEX_SEARCH_LIMIT, PRICE_INDEX_MIN_QUERY_LENGTH } from "./_internal/server/features/price-index/search.js";
848
+ export { searchPriceIndex, getPriceIndexBandsForIds, PRICE_INDEX_SEARCH_LIMIT, PRICE_INDEX_MIN_QUERY_LENGTH } from "./_internal/server/features/price-index/search.js";
849
+ /*
850
+ * The MARKET half of the same tool, and a separate export because it is a
851
+ * separate AUTHENTICATED endpoint — the competitor-derived band must not ride
852
+ * the public, edge-cached sold response. The full argument is in that module's
853
+ * own header; the short version is that merging them would either poison a
854
+ * public cache with viewer-dependent content or cost the sold half its cache.
855
+ */
856
+ export { getPriceIndexMarketForIds } from "./_internal/server/features/price-index/market.js";
840
857
  export { protectionAvailability, computeProtectionFees, adjudicateClaim, badgesFor, showsRiskNotice, showsSafetyBadge, returnDestination, rtoDestination, PROTECTION_KINDS, } from "./_internal/shared/features/shipping/protections.js";
841
858
  // [SERVER-ONLY] Payout refund deduction action
842
859
  export { applyRefundDeductionAction, } from "./_internal/server/features/payouts/actions.js";
@@ -924,18 +941,6 @@ export { getCarouselSlideById } from "./features/homepage/server.js";
924
941
  // getHomepageSectionById - Helper for get homepage section by id.
925
942
  export { getHomepageSectionById } from "./features/homepage/server.js";
926
943
  // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
927
- // homepageGET - Shared export for homepage get.
928
- export { homepageGET } from "./features/homepage/server.js";
929
- // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
930
- // homepageSectionItemDELETE - Shared export for homepage section item delete.
931
- export { homepageSectionItemDELETE } from "./features/homepage/server.js";
932
- // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
933
- // homepageSectionItemGET - Shared export for homepage section item get.
934
- export { homepageSectionItemGET } from "./features/homepage/server.js";
935
- // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
936
- // homepageSectionItemPATCH - Shared export for homepage section item patch.
937
- export { homepageSectionItemPATCH } from "./features/homepage/server.js";
938
- // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
939
944
  // listActiveCarouselSlides - Helper for list active carousel slides.
940
945
  export { listActiveCarouselSlides } from "./features/homepage/server.js";
941
946
  // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
@@ -1117,12 +1122,6 @@ export { updateReview } from "./features/reviews/server.js";
1117
1122
  // voteReviewHelpful - Shared export for vote review helpful.
1118
1123
  export { voteReviewHelpful } from "./features/reviews/server.js";
1119
1124
  // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
1120
- // searchGET - Shared export for search get.
1121
- export { searchGET } from "./features/search/server.js";
1122
- // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
1123
- // searchProducts - Shared export for search products.
1124
- export { searchProducts } from "./features/search/server.js";
1125
- // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
1126
1125
  // acceptCounterOffer - Shared export for accept counter offer.
1127
1126
  export { acceptCounterOffer } from "./features/seller/server.js";
1128
1127
  // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
@@ -1390,6 +1389,7 @@ export { toPublicGroupMember, toPublicGroupMembers, } from "./_internal/server/f
1390
1389
  export { getAuctionForDetail, getProductFeaturesForAuction } from "./_internal/server/features/auctions/index.js";
1391
1390
  export { getPreOrderForDetail, getProductFeaturesForPreOrder } from "./_internal/server/features/pre-orders/index.js";
1392
1391
  export { getStoreForDetail, listStoreProductsInitial, listStoreAuctionsInitial, listStorePreOrdersInitial, listSitemapStores } from "./_internal/server/features/stores/index.js";
1392
+ export { getDefaultStoreTabPath } from "./_internal/server/features/stores/tabs.js";
1393
1393
  // Public-store allow-list projection — the ONLY sanctioned way a StoreDocument
1394
1394
  // may reach a client component or an HTTP response. See adapters.ts header.
1395
1395
  export { toStoreDetail, toStoreListItem, PUBLIC_STORE_FIELDS, PRIVATE_STORE_FIELDS, } from "./_internal/server/features/stores/adapters.js";
@@ -1492,6 +1492,9 @@ export { signDigitalContentUpload, finalizeDigitalContentUpload, contentKindForM
1492
1492
  */
1493
1493
  export { createOrOpenConversation, openConversationWithSeller, listConversationsForUser, listMessagesForConversation, sendMessage, markConversationRead, blockConversationParticipant, softDeleteOwnMessage, mintChatEventToken, getUnreadConversationCount, deleteAllMessages as deleteAllConversationMessages, listAllAttachmentUrls as listConversationAttachmentUrls, stripPii as stripChatPii, } from "./_internal/server/features/messages/actions.js";
1494
1494
  export { resolveCodeAssetForOrder, codeAssetHeaders, CODE_DOWNLOAD_STATUSES, } from "./_internal/server/features/digital-code/download.js";
1495
+ // ── Statutory business documents — admin-only, encrypted at rest ────────────
1496
+ export { resolveBusinessDocument, } from "./_internal/server/features/business-documents/download.js";
1497
+ export { businessDocumentsRepository, BusinessDocumentsRepository, } from "./features/business-documents/repository/business-documents.repository.js";
1495
1498
  // ── Live-item listing — data + adapters + metadata + OG ──────────────────────
1496
1499
  export { getLiveItemForDetail } from "./_internal/server/features/live/data.js";
1497
1500
  export { toClientLiveItem } from "./_internal/server/features/live/adapters.js";
@@ -1583,4 +1586,11 @@ export { startStickerTraceRun, retryStickerTraceRun, listStickerTraceRuns, } fro
1583
1586
  export { buildCutFileForRun, buildCutFileBytes, } from "./_internal/server/features/sticker-trace/build-cut-file.js";
1584
1587
  export { promoteStickerTraceRun, isRunPromoted, } from "./_internal/server/features/sticker-trace/promote.js";
1585
1588
  export { createStickerSheet, attachStickerSheetScan, resolveStickerAssetUrl, measureStickerStorage, STICKER_ASSET_KINDS, STICKER_SHEET_MAX_BYTES, } from "./_internal/server/features/sticker-trace/sheet-actions.js";
1589
+ /*
1590
+ * 🛑 A different module from `sheet-actions` on purpose. `promoteRun` there is
1591
+ * run → sheet (render the full-res parts); this is sheet → marketplace (create
1592
+ * the products). The names are close enough that keeping them in one file is
1593
+ * how someone calls the wrong one.
1594
+ */
1595
+ export { promoteStickerSheetToListings, } from "./_internal/server/features/sticker-trace/promote-to-listings.js";
1586
1596
  export { toClientStickerSheet, toClientTraceRun, } from "./_internal/server/features/sticker-trace/adapters.js";