@mohasinac/appkit 3.6.4 → 3.7.0

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 (276) hide show
  1. package/dist/_internal/client/features/layout/DashboardLayoutClient.d.ts +17 -3
  2. package/dist/_internal/client/features/layout/DashboardLayoutClient.js +7 -2
  3. package/dist/_internal/client/features/tour/TourProvider.d.ts +5 -2
  4. package/dist/_internal/client/features/tour/TourProvider.js +125 -12
  5. package/dist/_internal/client/theme/ThemeProvider.js +1 -1
  6. package/dist/_internal/server/features/faqs/og.js +5 -1
  7. package/dist/_internal/server/features/reviews/og.js +5 -1
  8. package/dist/_internal/server/features/seo/manifest.js +2 -1
  9. package/dist/_internal/server/features/seo/og.js +7 -1
  10. package/dist/_internal/server/features/tester/visibility.d.ts +13 -0
  11. package/dist/_internal/server/features/tester/visibility.js +28 -0
  12. package/dist/_internal/server/functions/scheduled.d.ts +2 -1
  13. package/dist/_internal/server/functions/scheduled.js +9 -1
  14. package/dist/_internal/server/jobs/core/jobRunners.js +5 -0
  15. package/dist/_internal/server/jobs/core/resetOtpVerification.d.ts +17 -0
  16. package/dist/_internal/server/jobs/core/resetOtpVerification.js +88 -0
  17. package/dist/_internal/server/jobs/core/testerSandboxCleanup.d.ts +6 -0
  18. package/dist/_internal/server/jobs/core/testerSandboxCleanup.js +35 -0
  19. package/dist/_internal/server/jobs/handlers/_helpers.d.ts +6 -0
  20. package/dist/_internal/server/jobs/handlers/_helpers.js +12 -0
  21. package/dist/_internal/server/jobs/handlers/index.d.ts +1 -0
  22. package/dist/_internal/server/jobs/handlers/index.js +2 -0
  23. package/dist/_internal/server/jobs/handlers/messages.d.ts +2 -0
  24. package/dist/_internal/server/jobs/handlers/messages.js +2 -0
  25. package/dist/_internal/server/jobs/handlers/testerSandboxCleanup.d.ts +2 -0
  26. package/dist/_internal/server/jobs/handlers/testerSandboxCleanup.js +2 -0
  27. package/dist/_internal/shared/actions/action-registry.d.ts +1 -1
  28. package/dist/_internal/shared/actions/action-registry.js +48 -0
  29. package/dist/_internal/shared/tokens/index.d.ts +12 -12
  30. package/dist/client.d.ts +15 -3
  31. package/dist/client.js +10 -2
  32. package/dist/constants/api-endpoints.d.ts +36 -12
  33. package/dist/constants/api-endpoints.js +16 -8
  34. package/dist/constants/field-names.d.ts +9 -0
  35. package/dist/constants/field-names.js +12 -0
  36. package/dist/constants/index.d.ts +1 -1
  37. package/dist/constants/index.js +1 -1
  38. package/dist/features/account/components/LinkedAccountsSection.d.ts +11 -0
  39. package/dist/features/account/components/LinkedAccountsSection.js +11 -0
  40. package/dist/features/account/components/UserSidebar.d.ts +3 -1
  41. package/dist/features/account/components/UserSidebar.js +11 -15
  42. package/dist/features/account/hooks/useCollapsedSections.d.ts +20 -0
  43. package/dist/features/account/hooks/useCollapsedSections.js +63 -0
  44. package/dist/features/account/hooks/useProfile.d.ts +8 -0
  45. package/dist/features/account/index.d.ts +1 -0
  46. package/dist/features/account/index.js +1 -0
  47. package/dist/features/admin/components/AdminAddressEditorView.js +2 -2
  48. package/dist/features/admin/components/AdminCarouselView.js +2 -2
  49. package/dist/features/admin/components/AdminCategoryEditorView.js +2 -2
  50. package/dist/features/admin/components/AdminProductEditorView.js +5 -2
  51. package/dist/features/admin/components/AdminSectionsView.js +3 -18
  52. package/dist/features/admin/components/AdminSidebar.js +10 -8
  53. package/dist/features/admin/components/AdminSiteSettingsView.js +133 -127
  54. package/dist/features/admin/components/AdminTesterChecklistItemEditorView.d.ts +9 -0
  55. package/dist/features/admin/components/AdminTesterChecklistItemEditorView.js +129 -0
  56. package/dist/features/admin/components/AdminTesterChecklistView.d.ts +6 -0
  57. package/dist/features/admin/components/AdminTesterChecklistView.js +93 -0
  58. package/dist/features/admin/components/AdminUserEditorView.d.ts +3 -1
  59. package/dist/features/admin/components/AdminUserEditorView.js +7 -1
  60. package/dist/features/admin/components/AdminUsersView.js +1 -1
  61. package/dist/features/admin/components/DataListingView.js +2 -2
  62. package/dist/features/admin/components/analytics/AdminPageViewsReportView.d.ts +8 -0
  63. package/dist/features/admin/components/analytics/AdminPageViewsReportView.js +41 -0
  64. package/dist/features/admin/components/index.d.ts +6 -0
  65. package/dist/features/admin/components/index.js +3 -0
  66. package/dist/features/admin/schemas/firestore.d.ts +0 -7
  67. package/dist/features/admin/schemas/firestore.js +6 -6
  68. package/dist/features/analytics/components/PageViewTracker.d.ts +12 -0
  69. package/dist/features/analytics/components/PageViewTracker.js +22 -0
  70. package/dist/features/analytics/repository/page-views.repository.d.ts +32 -0
  71. package/dist/features/analytics/repository/page-views.repository.js +43 -0
  72. package/dist/features/analytics/types.d.ts +6 -0
  73. package/dist/features/analytics/types.js +13 -0
  74. package/dist/features/auth/components/SocialAuthButtons.js +1 -1
  75. package/dist/features/auth/hooks/useAuth.d.ts +12 -0
  76. package/dist/features/auth/hooks/useAuth.js +109 -0
  77. package/dist/features/auth/permissions/constants.d.ts +1 -1
  78. package/dist/features/auth/schemas/firestore.d.ts +17 -1
  79. package/dist/features/auth/schemas/firestore.js +2 -0
  80. package/dist/features/blog/components/BlogIndexListing.js +2 -2
  81. package/dist/features/blog/schemas/firestore.d.ts +4 -0
  82. package/dist/features/cart/actions/cart-actions.js +20 -2
  83. package/dist/features/categories/components/CategoriesIndexListing.js +2 -2
  84. package/dist/features/categories/components/CategoryBundlesListing.js +2 -2
  85. package/dist/features/categories/components/CategoryDetailPageView.js +3 -1
  86. package/dist/features/categories/components/CategoryProductsListing.js +2 -2
  87. package/dist/features/categories/schemas/firestore.d.ts +4 -0
  88. package/dist/features/classified/components/ClassifiedIndexListing.js +2 -2
  89. package/dist/features/digital-codes/components/DigitalCodesIndexListing.js +2 -2
  90. package/dist/features/email/primitives.d.ts +2 -2
  91. package/dist/features/email/primitives.js +2 -2
  92. package/dist/features/events/components/EventsIndexListing.js +2 -2
  93. package/dist/features/events/schemas/firestore.d.ts +4 -0
  94. package/dist/features/layout/BackToTop.d.ts +6 -1
  95. package/dist/features/layout/BackToTop.js +31 -6
  96. package/dist/features/live/components/LiveItemsIndexListing.js +2 -2
  97. package/dist/features/media/MediaVideo.js +5 -1
  98. package/dist/features/pre-orders/components/PreOrdersIndexListing.js +2 -2
  99. package/dist/features/products/components/AuctionsIndexListing.js +2 -2
  100. package/dist/features/products/components/PrizeDrawsIndexListing.js +2 -2
  101. package/dist/features/products/components/ProductsIndexListing.js +2 -2
  102. package/dist/features/products/constants/action-defs.d.ts +2 -0
  103. package/dist/features/products/constants/action-defs.js +2 -0
  104. package/dist/features/products/schemas/firestore.d.ts +4 -0
  105. package/dist/features/promotions/components/CouponsIndexListing.js +2 -2
  106. package/dist/features/reviews/components/ReviewsIndexListing.js +2 -2
  107. package/dist/features/seller/actions/seller-actions.js +11 -6
  108. package/dist/features/seller/components/SellerAddressesView.js +2 -2
  109. package/dist/features/seller/components/SellerBidsView.js +2 -2
  110. package/dist/features/seller/components/SellerOrdersView.js +2 -2
  111. package/dist/features/seller/components/SellerProductsView.js +2 -2
  112. package/dist/features/seller/components/SellerSidebar.d.ts +3 -1
  113. package/dist/features/seller/components/SellerSidebar.js +11 -10
  114. package/dist/features/seller/components/SellerStoreCategoriesView.js +2 -2
  115. package/dist/features/seller/components/SellerTemplatesView.js +2 -2
  116. package/dist/features/shell/StepForm.js +4 -4
  117. package/dist/features/stores/actions/store-query-actions.d.ts +5 -4
  118. package/dist/features/stores/actions/store-query-actions.js +11 -8
  119. package/dist/features/stores/components/StoreAuctionsListing.js +2 -2
  120. package/dist/features/stores/components/StoreClassifiedsListing.js +2 -2
  121. package/dist/features/stores/components/StoreDigitalCodesListing.js +2 -2
  122. package/dist/features/stores/components/StoreLiveItemsListing.js +2 -2
  123. package/dist/features/stores/components/StorePreOrdersListing.js +2 -2
  124. package/dist/features/stores/components/StoreProductsListing.js +2 -2
  125. package/dist/features/stores/components/StoreReviewsListing.js +2 -2
  126. package/dist/features/stores/components/StoresIndexListing.js +2 -2
  127. package/dist/features/stores/schemas/firestore.d.ts +4 -0
  128. package/dist/features/tester/actions/checklist-item-actions.d.ts +69 -0
  129. package/dist/features/tester/actions/checklist-item-actions.js +42 -0
  130. package/dist/features/tester/actions/index.d.ts +1 -0
  131. package/dist/features/tester/actions/index.js +1 -0
  132. package/dist/features/tester/components/AdminTesterFeedbackIssuesView.d.ts +2 -0
  133. package/dist/features/tester/components/AdminTesterFeedbackIssuesView.js +22 -0
  134. package/dist/features/tester/components/AdminTesterFeedbackListView.d.ts +3 -0
  135. package/dist/features/tester/components/AdminTesterFeedbackListView.js +100 -0
  136. package/dist/features/tester/components/AdminTesterFeedbackReportView.d.ts +2 -0
  137. package/dist/features/tester/components/AdminTesterFeedbackReportView.js +30 -0
  138. package/dist/features/tester/components/AdminTesterFeedbackView.d.ts +2 -0
  139. package/dist/features/tester/components/AdminTesterFeedbackView.js +9 -0
  140. package/dist/features/tester/components/TesterChecklistStepRow.d.ts +18 -0
  141. package/dist/features/tester/components/TesterChecklistStepRow.js +29 -0
  142. package/dist/features/tester/components/TesterFeedbackChart.d.ts +14 -0
  143. package/dist/features/tester/components/TesterFeedbackChart.js +18 -0
  144. package/dist/features/tester/components/TesterHubView.d.ts +5 -0
  145. package/dist/features/tester/components/TesterHubView.js +71 -0
  146. package/dist/features/tester/components/index.d.ts +11 -0
  147. package/dist/features/tester/components/index.js +7 -0
  148. package/dist/features/tester/index.d.ts +2 -0
  149. package/dist/features/tester/index.js +2 -0
  150. package/dist/features/tester/repository/index.d.ts +2 -0
  151. package/dist/features/tester/repository/index.js +2 -0
  152. package/dist/features/tester/repository/tester-checklist-item.repository.d.ts +13 -0
  153. package/dist/features/tester/repository/tester-checklist-item.repository.js +55 -0
  154. package/dist/features/tester/repository/tester-checklist-response.repository.d.ts +42 -0
  155. package/dist/features/tester/repository/tester-checklist-response.repository.js +98 -0
  156. package/dist/features/tester/schemas/firestore.d.ts +85 -0
  157. package/dist/features/tester/schemas/firestore.js +93 -0
  158. package/dist/features/tester/schemas/index.d.ts +1 -0
  159. package/dist/features/tester/schemas/index.js +1 -0
  160. package/dist/features/tester/seed-data/blog-tester-seed-data.d.ts +2 -0
  161. package/dist/features/tester/seed-data/blog-tester-seed-data.js +40 -0
  162. package/dist/features/tester/seed-data/categories-tester-seed-data.d.ts +2 -0
  163. package/dist/features/tester/seed-data/categories-tester-seed-data.js +177 -0
  164. package/dist/features/tester/seed-data/events-tester-seed-data.d.ts +2 -0
  165. package/dist/features/tester/seed-data/events-tester-seed-data.js +50 -0
  166. package/dist/features/tester/seed-data/index.d.ts +6 -0
  167. package/dist/features/tester/seed-data/index.js +6 -0
  168. package/dist/features/tester/seed-data/products-tester-seed-data.d.ts +2 -0
  169. package/dist/features/tester/seed-data/products-tester-seed-data.js +151 -0
  170. package/dist/features/tester/seed-data/stores-tester-seed-data.d.ts +2 -0
  171. package/dist/features/tester/seed-data/stores-tester-seed-data.js +40 -0
  172. package/dist/features/tester/seed-data/tester-checklist-seed-data.d.ts +2 -0
  173. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +248 -0
  174. package/dist/features/tester/seed-data/tester-ttl.d.ts +4 -0
  175. package/dist/features/tester/seed-data/tester-ttl.js +6 -0
  176. package/dist/features/tester/server.d.ts +9 -0
  177. package/dist/features/tester/server.js +8 -0
  178. package/dist/index.d.ts +28 -2
  179. package/dist/index.js +51 -1
  180. package/dist/next/api/api-response.js +5 -1
  181. package/dist/next/api/routeHandler.js +10 -1
  182. package/dist/next/middleware/chain.js +1 -1
  183. package/dist/next/routing/route-map.d.ts +6 -7
  184. package/dist/next/routing/route-map.js +3 -7
  185. package/dist/providers/payment-manual/index.d.ts +2 -2
  186. package/dist/providers/payment-manual/index.js +2 -2
  187. package/dist/react/contexts/SessionContext.d.ts +4 -0
  188. package/dist/react/contexts/SessionContext.js +4 -0
  189. package/dist/repositories/index.d.ts +4 -0
  190. package/dist/repositories/index.js +3 -0
  191. package/dist/security/pii-encrypt.js +12 -2
  192. package/dist/seed/addresses-seed-data.js +1 -1
  193. package/dist/seed/bids-seed-data.js +1 -1
  194. package/dist/seed/blog-posts-seed-data.js +1 -1
  195. package/dist/seed/carousel-slides-seed-data.js +22 -16
  196. package/dist/seed/carousels-seed-data.js +1 -1
  197. package/dist/seed/cart-seed-data.js +1 -1
  198. package/dist/seed/categories-seed-data.js +1 -1
  199. package/dist/seed/claimed-coupons-seed-data.js +1 -1
  200. package/dist/seed/conversations-seed-data.js +1 -1
  201. package/dist/seed/coupon-usage-seed-data.js +1 -1
  202. package/dist/seed/coupons-seed-data.js +1 -1
  203. package/dist/seed/events-seed-data.js +1 -1
  204. package/dist/seed/faq-seed-data.js +119 -3
  205. package/dist/seed/grouped-listings-seed-data.d.ts +2 -0
  206. package/dist/seed/grouped-listings-seed-data.js +1 -1
  207. package/dist/seed/history-seed-data.js +1 -1
  208. package/dist/seed/homepage-sections-seed-data.js +1 -1
  209. package/dist/seed/index.d.ts +2 -2
  210. package/dist/seed/index.js +7 -3
  211. package/dist/seed/lottery-entries-seed-data.js +1 -1
  212. package/dist/seed/manifest.d.ts +4 -3
  213. package/dist/seed/manifest.js +13 -6
  214. package/dist/seed/notifications-seed-data.js +1 -1
  215. package/dist/seed/offers-seed-data.js +1 -1
  216. package/dist/seed/orders-seed-data.js +1 -1
  217. package/dist/seed/payouts-seed-data.js +1 -1
  218. package/dist/seed/products-art-seed-data.js +1 -1
  219. package/dist/seed/products-auctions-seed-data.js +1 -1
  220. package/dist/seed/products-classifieds-seed-data.js +1 -1
  221. package/dist/seed/products-digital-codes-seed-data.js +1 -1
  222. package/dist/seed/products-live-items-seed-data.js +1 -1
  223. package/dist/seed/products-preorders-seed-data.d.ts +2 -0
  224. package/dist/seed/products-preorders-seed-data.js +1 -1
  225. package/dist/seed/products-prize-draws-seed-data.js +1 -1
  226. package/dist/seed/products-standard-seed-data.js +1 -1
  227. package/dist/seed/products-stickers-seed-data.js +1 -1
  228. package/dist/seed/reviews-seed-data.js +1 -1
  229. package/dist/seed/scammers-seed-data.js +1 -1
  230. package/dist/seed/sessions-seed-data.js +1 -1
  231. package/dist/seed/site-settings-seed-data.js +22 -16
  232. package/dist/seed/store-addresses-seed-data.js +1 -1
  233. package/dist/seed/store-extensions-seed-data.js +1 -1
  234. package/dist/seed/stores-seed-data.js +1 -1
  235. package/dist/seed/support-tickets-seed-data.js +1 -1
  236. package/dist/seed/tester-checklist-seed-data.d.ts +2 -0
  237. package/dist/seed/tester-checklist-seed-data.js +248 -0
  238. package/dist/seed/users-seed-data.js +1 -1
  239. package/dist/seed/wishlists-seed-data.js +1 -1
  240. package/dist/server.d.ts +7 -2
  241. package/dist/server.js +19 -12
  242. package/dist/styles.css +163 -147
  243. package/dist/tailwind-utilities.css +1 -1
  244. package/dist/tokens/color-pairs.d.ts +46 -0
  245. package/dist/tokens/color-pairs.js +93 -0
  246. package/dist/tokens/index.d.ts +60 -60
  247. package/dist/tokens/index.js +30 -30
  248. package/dist/tokens/themes/cobalt-night.d.ts +3 -2
  249. package/dist/tokens/themes/cobalt-night.js +3 -2
  250. package/dist/tokens/themes/default-dark.d.ts +4 -1
  251. package/dist/tokens/themes/default-dark.js +44 -41
  252. package/dist/tokens/themes/default-light.d.ts +5 -1
  253. package/dist/tokens/themes/default-light.js +39 -35
  254. package/dist/tokens/themes/sunset.js +4 -4
  255. package/dist/tokens/tokens.css +110 -104
  256. package/dist/ui/components/CollapsibleSection.d.ts +15 -0
  257. package/dist/ui/components/CollapsibleSection.js +13 -0
  258. package/dist/ui/components/ListingToolbar.js +2 -1
  259. package/dist/ui/components/Semantic.style.css +3 -3
  260. package/dist/ui/components/SideDrawer.style.css +19 -19
  261. package/dist/ui/components/Slider.js +1 -1
  262. package/dist/ui/components/StickyToolbar.d.ts +36 -7
  263. package/dist/ui/components/StickyToolbar.js +63 -5
  264. package/dist/ui/components/Tabs.js +17 -1
  265. package/dist/ui/components/Tabs.style.css +10 -0
  266. package/dist/ui/components/Typography.js +7 -0
  267. package/dist/ui/components/surface-tokens.d.ts +0 -7
  268. package/dist/ui/components/surface-tokens.js +7 -0
  269. package/dist/ui/index.d.ts +6 -0
  270. package/dist/ui/index.js +3 -0
  271. package/dist/ui/rich-text/RichText.style.css +20 -20
  272. package/dist/utils/id-generators.d.ts +13 -0
  273. package/dist/utils/id-generators.js +17 -0
  274. package/package.json +1 -1
  275. package/scripts/seed-cli-loader.mjs +15 -0
  276. package/scripts/seed-cli.mjs +71 -17
@@ -9,7 +9,7 @@
9
9
  * @tag layer:seed
10
10
  * @tag pattern:none
11
11
  * @tag access:server-only
12
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
12
+ * @tag consumers:seed/index.ts,seed/runner.ts
13
13
  * @tag sideEffects:none
14
14
  */
15
15
  import { NOTIFICATION_FIELDS } from "../features/admin/schemas";
@@ -9,7 +9,7 @@
9
9
  * @tag layer:seed
10
10
  * @tag pattern:none
11
11
  * @tag access:server-only
12
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
12
+ * @tag consumers:seed/index.ts,seed/runner.ts
13
13
  * @tag sideEffects:none
14
14
  */
15
15
  import { OfferStatusValues } from "../features/seller/schemas/firestore";
@@ -9,7 +9,7 @@
9
9
  * @tag layer:seed
10
10
  * @tag pattern:none
11
11
  * @tag access:server-only
12
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
12
+ * @tag consumers:seed/index.ts,seed/runner.ts
13
13
  * @tag sideEffects:none
14
14
  */
15
15
  const NOW = new Date();
@@ -9,7 +9,7 @@
9
9
  * @tag layer:seed
10
10
  * @tag pattern:none
11
11
  * @tag access:server-only
12
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
12
+ * @tag consumers:seed/index.ts,seed/runner.ts
13
13
  * @tag sideEffects:none
14
14
  */
15
15
  import { getDefaultCurrency } from "./seed-market-config";
@@ -10,7 +10,7 @@
10
10
  * @tag layer:seed
11
11
  * @tag pattern:none
12
12
  * @tag access:server-only
13
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
13
+ * @tag consumers:seed/index.ts,seed/runner.ts
14
14
  * @tag sideEffects:none
15
15
  */
16
16
  export const productsArtSeedData = [];
@@ -10,7 +10,7 @@
10
10
  * @tag layer:seed
11
11
  * @tag pattern:none
12
12
  * @tag access:server-only
13
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
13
+ * @tag consumers:seed/index.ts,seed/runner.ts
14
14
  * @tag sideEffects:none
15
15
  */
16
16
  import { PRODUCT_FIELDS } from "../constants/field-names";
@@ -10,7 +10,7 @@
10
10
  * @tag layer:seed
11
11
  * @tag pattern:none
12
12
  * @tag access:server-only
13
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
13
+ * @tag consumers:seed/index.ts,seed/runner.ts
14
14
  * @tag sideEffects:none
15
15
  */
16
16
  export const productsClassifiedsSeedData = [];
@@ -10,7 +10,7 @@
10
10
  * @tag layer:seed
11
11
  * @tag pattern:none
12
12
  * @tag access:server-only
13
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
13
+ * @tag consumers:seed/index.ts,seed/runner.ts
14
14
  * @tag sideEffects:none
15
15
  */
16
16
  export const productsDigitalCodesSeedData = [];
@@ -10,7 +10,7 @@
10
10
  * @tag layer:seed
11
11
  * @tag pattern:none
12
12
  * @tag access:server-only
13
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
13
+ * @tag consumers:seed/index.ts,seed/runner.ts
14
14
  * @tag sideEffects:none
15
15
  */
16
16
  export const productsLiveItemsSeedData = [];
@@ -4,6 +4,8 @@ export declare const productsPreordersSeedData: {
4
4
  title?: string | undefined;
5
5
  description?: string | undefined;
6
6
  slug?: string | undefined;
7
+ isTestData?: boolean | undefined;
8
+ testDataExpiresAt?: Date | undefined;
7
9
  seoTitle?: string | undefined;
8
10
  seoDescription?: string | undefined;
9
11
  seoKeywords?: string[] | undefined;
@@ -10,7 +10,7 @@
10
10
  * @tag layer:seed
11
11
  * @tag pattern:none
12
12
  * @tag access:server-only
13
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
13
+ * @tag consumers:seed/index.ts,seed/runner.ts
14
14
  * @tag sideEffects:none
15
15
  */
16
16
  import { PRODUCT_FIELDS } from "../constants/field-names";
@@ -10,7 +10,7 @@
10
10
  * @tag layer:seed
11
11
  * @tag pattern:none
12
12
  * @tag access:server-only
13
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
13
+ * @tag consumers:seed/index.ts,seed/runner.ts
14
14
  * @tag sideEffects:none
15
15
  */
16
16
  export const productsPrizeDrawsSeedData = [];
@@ -11,7 +11,7 @@
11
11
  * @tag layer:seed
12
12
  * @tag pattern:none
13
13
  * @tag access:server-only
14
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
14
+ * @tag consumers:seed/index.ts,seed/runner.ts
15
15
  * @tag sideEffects:none
16
16
  */
17
17
  import { PRODUCT_FIELDS } from "../constants/field-names";
@@ -10,7 +10,7 @@
10
10
  * @tag layer:seed
11
11
  * @tag pattern:none
12
12
  * @tag access:server-only
13
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
13
+ * @tag consumers:seed/index.ts,seed/runner.ts
14
14
  * @tag sideEffects:none
15
15
  */
16
16
  export const productsStickersSeedData = [];
@@ -11,7 +11,7 @@
11
11
  * @tag layer:seed
12
12
  * @tag pattern:none
13
13
  * @tag access:server-only
14
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
14
+ * @tag consumers:seed/index.ts,seed/runner.ts
15
15
  * @tag sideEffects:none
16
16
  */
17
17
  const NOW = new Date();
@@ -9,7 +9,7 @@
9
9
  * @tag layer:seed
10
10
  * @tag pattern:none
11
11
  * @tag access:server-only
12
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
12
+ * @tag consumers:seed/index.ts,seed/runner.ts
13
13
  * @tag sideEffects:none
14
14
  */
15
15
  import { SCAMMER_FIELDS } from "../constants/field-names";
@@ -10,7 +10,7 @@
10
10
  * @tag layer:seed
11
11
  * @tag pattern:none
12
12
  * @tag access:server-only
13
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
13
+ * @tag consumers:seed/index.ts,seed/runner.ts
14
14
  * @tag sideEffects:none
15
15
  */
16
16
  import { getSeedLocale } from "./seed-market-config";
@@ -9,7 +9,7 @@
9
9
  * @tag layer:seed
10
10
  * @tag pattern:none
11
11
  * @tag access:server-only
12
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
12
+ * @tag consumers:seed/index.ts,seed/runner.ts
13
13
  * @tag sideEffects:none
14
14
  */
15
15
  import { getDefaultPhonePrefix, getSeedLocale } from "./seed-market-config";
@@ -381,29 +381,35 @@ export const siteSettingsSeedData = {
381
381
  },
382
382
  featureFlags: {
383
383
  chats: true,
384
- smsVerification: true,
384
+ // Real per-SMS cost via the Firebase phone-auth quota — the one flag
385
+ // that stays off by default; every other flag is enabled.
386
+ smsVerification: false,
385
387
  translations: true,
386
388
  wishlists: true,
387
- auctions: false,
389
+ auctions: true,
388
390
  reviews: true,
389
- events: false,
390
- blog: false,
391
- coupons: false,
391
+ events: true,
392
+ blog: true,
393
+ coupons: true,
392
394
  notifications: true,
393
395
  sellerRegistration: true,
394
- preOrders: false,
395
- seedPanel: true,
396
+ preOrders: true,
396
397
  adminCheckoutBypass: false,
397
- // P-1 MVP: only standard listing type active; others unlocked in later patches.
398
398
  listingTypes: {
399
399
  standard: true,
400
- auction: false,
401
- "pre-order": false,
402
- "prize-draw": false,
403
- bundle: false,
404
- classified: false,
405
- "digital-code": false,
406
- live: false,
400
+ auction: true,
401
+ "pre-order": true,
402
+ "prize-draw": true,
403
+ bundle: true,
404
+ classified: true,
405
+ "digital-code": true,
406
+ live: true,
407
+ },
408
+ categoryTypes: {
409
+ category: true,
410
+ sublisting: true,
411
+ brand: true,
412
+ bundle: true,
407
413
  },
408
414
  },
409
415
  credentials: {
@@ -10,7 +10,7 @@
10
10
  * @tag layer:seed
11
11
  * @tag pattern:none
12
12
  * @tag access:server-only
13
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
13
+ * @tag consumers:seed/index.ts,seed/runner.ts
14
14
  * @tag sideEffects:none
15
15
  */
16
16
  import { getSeedLocale, getDefaultPhonePrefix } from "./seed-market-config";
@@ -13,7 +13,7 @@
13
13
  * @tag layer:seed
14
14
  * @tag pattern:none
15
15
  * @tag access:server-only
16
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
16
+ * @tag consumers:seed/index.ts,seed/runner.ts
17
17
  * @tag sideEffects:none
18
18
  */
19
19
  import { seedExtMedia } from "./_helpers/media";
@@ -11,7 +11,7 @@
11
11
  * @tag layer:seed
12
12
  * @tag pattern:none
13
13
  * @tag access:server-only
14
- * @tag consumers:seed/runner.ts,SeedPanel
14
+ * @tag consumers:seed/runner.ts
15
15
  * @tag sideEffects:none
16
16
  */
17
17
  import { STORE_FIELDS } from "../constants/field-names";
@@ -9,7 +9,7 @@
9
9
  * @tag layer:seed
10
10
  * @tag pattern:none
11
11
  * @tag access:server-only
12
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
12
+ * @tag consumers:seed/index.ts,seed/runner.ts
13
13
  * @tag sideEffects:none
14
14
  */
15
15
  import { SUPPORT_TICKET_FIELDS } from "../constants/field-names";
@@ -0,0 +1,2 @@
1
+ import type { TesterChecklistItemDocument } from "../features/tester/schemas";
2
+ export declare const testerChecklistSeedData: Partial<TesterChecklistItemDocument>[];
@@ -0,0 +1,248 @@
1
+ /*
2
+ * WHY: Seeds the initial tester QA checklist catalog — DB-backed, admin-manageable (mirrors faq-seed-data.ts).
3
+ * WHAT: ~55 default test cases across 6 groups (Account & Auth, Buying, Selling, Content & Discovery,
4
+ * Community & Support, Design & UX). Admins add/edit further cases via /admin/tester-checklist —
5
+ * this array is a starting point, not the source of truth.
6
+ *
7
+ * EXPORTS:
8
+ * testerChecklistSeedData — Array of Partial<TesterChecklistItemDocument> for seed runner
9
+ *
10
+ * @tag domain:tester
11
+ * @tag layer:seed
12
+ * @tag pattern:none
13
+ * @tag access:server-only
14
+ * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
15
+ * @tag sideEffects:none
16
+ */
17
+ function group(groupKey, groupLabel, pages) {
18
+ const items = [];
19
+ pages.forEach((page, pageIdx) => {
20
+ page.cases.forEach((c, caseIdx) => {
21
+ items.push({
22
+ id: `checklist-${groupKey}-${page.pageKey}-${c.key}`,
23
+ groupKey,
24
+ groupLabel,
25
+ pageKey: page.pageKey,
26
+ pageLabel: page.pageLabel,
27
+ label: c.label,
28
+ description: c.description,
29
+ href: c.href,
30
+ order: pageIdx * 10 + caseIdx,
31
+ isActive: true,
32
+ });
33
+ });
34
+ });
35
+ return items;
36
+ }
37
+ export const testerChecklistSeedData = [
38
+ ...group("account-auth", "Account & Auth", [
39
+ {
40
+ pageKey: "signup-login",
41
+ pageLabel: "Signup & Login",
42
+ cases: [
43
+ { key: "email-signup", label: "Sign up with email works", href: "/register" },
44
+ { key: "google-oauth", label: "Sign up / log in with Google works", href: "/login" },
45
+ { key: "login", label: "Log in with email + password works", href: "/login" },
46
+ { key: "logout", label: "Log out works and clears the session" },
47
+ { key: "email-verify", label: "Email verification link works" },
48
+ { key: "password-reset", label: "Forgot-password / reset-password flow works" },
49
+ ],
50
+ },
51
+ {
52
+ pageKey: "profile-settings",
53
+ pageLabel: "Profile & Settings",
54
+ cases: [
55
+ { key: "edit-profile", label: "Editing display name / bio saves correctly", href: "/user/profile" },
56
+ { key: "avatar-upload", label: "Uploading a profile avatar works" },
57
+ { key: "notification-prefs", label: "Notification preferences save correctly" },
58
+ { key: "public-profile-toggle", label: "Public profile visibility toggle works" },
59
+ ],
60
+ },
61
+ ]),
62
+ ...group("buying", "Buying", [
63
+ {
64
+ pageKey: "browsing-search",
65
+ pageLabel: "Browsing & Search",
66
+ cases: [
67
+ { key: "browse-categories", label: "Browsing categories shows relevant products", href: "/categories" },
68
+ { key: "search", label: "Search returns relevant results", href: "/search" },
69
+ { key: "filters", label: "Search/listing filters (price, brand, condition) work correctly" },
70
+ { key: "pagination", label: "Pagination / infinite scroll works on listing pages" },
71
+ ],
72
+ },
73
+ {
74
+ pageKey: "product-detail",
75
+ pageLabel: "Product / Auction / Pre-order Detail",
76
+ cases: [
77
+ { key: "standard-detail", label: "Standard product detail page loads correctly" },
78
+ { key: "auction-detail", label: "Auction detail page shows current bid + countdown correctly" },
79
+ { key: "preorder-detail", label: "Pre-order detail page shows expected ship date correctly" },
80
+ { key: "image-gallery", label: "Product image gallery / zoom works" },
81
+ { key: "video-playback", label: "Product video (YouTube embed) plays correctly" },
82
+ ],
83
+ },
84
+ {
85
+ pageKey: "buying-checkout",
86
+ pageLabel: "Buying & Checkout",
87
+ cases: [
88
+ { key: "add-to-cart", label: "Add to cart works from the product page" },
89
+ { key: "checkout-flow", label: "Checkout flow completes without errors", href: "/cart" },
90
+ { key: "shipping-address", label: "Selecting/adding a shipping address works" },
91
+ { key: "payment-proof-upload", label: "Uploading manual payment proof (UTR + screenshot) works" },
92
+ { key: "order-confirmation", label: "Order confirmation page/email shows correct order details" },
93
+ ],
94
+ },
95
+ {
96
+ pageKey: "bidding",
97
+ pageLabel: "Bidding",
98
+ cases: [
99
+ { key: "place-bid", label: "Placing a bid on an auction works", href: "/user/bids" },
100
+ { key: "outbid-notification", label: "Getting outbid triggers a notification" },
101
+ { key: "win-auction", label: "Winning an auction creates a payable order correctly" },
102
+ { key: "bid-history", label: "My Bids page shows accurate bid history" },
103
+ ],
104
+ },
105
+ {
106
+ pageKey: "wishlist-history",
107
+ pageLabel: "Wishlist & History",
108
+ cases: [
109
+ { key: "add-wishlist", label: "Adding a product to the wishlist works", href: "/user/wishlist" },
110
+ { key: "remove-wishlist", label: "Removing a product from the wishlist works" },
111
+ { key: "view-history", label: "Recently viewed history shows accurate items", href: "/user/history" },
112
+ ],
113
+ },
114
+ {
115
+ pageKey: "cart",
116
+ pageLabel: "Cart",
117
+ cases: [
118
+ { key: "update-qty", label: "Updating item quantity in cart recalculates the total" },
119
+ { key: "apply-coupon", label: "Applying a coupon code at checkout works" },
120
+ { key: "remove-item", label: "Removing an item from the cart works" },
121
+ ],
122
+ },
123
+ {
124
+ pageKey: "reviews",
125
+ pageLabel: "Reviews",
126
+ cases: [
127
+ { key: "leave-review", label: "Leaving a review with rating + photo works" },
128
+ { key: "view-seller-reviews", label: "Viewing a seller's reviews on their store page works" },
129
+ { key: "seller-response", label: "Seller responding to a review works" },
130
+ ],
131
+ },
132
+ {
133
+ pageKey: "messaging",
134
+ pageLabel: "Messaging a Seller",
135
+ cases: [
136
+ { key: "start-conversation", label: "Starting a conversation with a seller works" },
137
+ { key: "receive-reply", label: "Receiving and reading a seller's reply works" },
138
+ ],
139
+ },
140
+ ]),
141
+ ...group("selling", "Selling", [
142
+ {
143
+ pageKey: "become-seller",
144
+ pageLabel: "Become a Seller & Store Setup",
145
+ cases: [
146
+ { key: "apply-seller", label: "Applying to become a seller works", href: "/user/become-seller" },
147
+ { key: "store-setup", label: "Setting up store name/description/logo works" },
148
+ { key: "store-address", label: "Adding a pickup address for the store works" },
149
+ ],
150
+ },
151
+ {
152
+ pageKey: "listing-a-product",
153
+ pageLabel: "Listing a Product",
154
+ cases: [
155
+ { key: "list-standard", label: "Listing a standard product works" },
156
+ { key: "list-auction", label: "Listing an auction works" },
157
+ { key: "list-preorder", label: "Listing a pre-order works" },
158
+ { key: "edit-listing", label: "Editing an existing listing works" },
159
+ { key: "media-upload", label: "Uploading product images/video during listing works" },
160
+ ],
161
+ },
162
+ {
163
+ pageKey: "seller-orders",
164
+ pageLabel: "Seller Order Management & Shipping/Tracking",
165
+ cases: [
166
+ { key: "view-orders", label: "Seller order list shows accurate incoming orders", href: "/store/orders" },
167
+ { key: "confirm-payment", label: "Confirming a buyer's manual payment proof works" },
168
+ { key: "mark-shipped", label: "Marking an order shipped with tracking info works" },
169
+ { key: "tracking-visible", label: "Buyer sees updated tracking status after seller ships" },
170
+ ],
171
+ },
172
+ {
173
+ pageKey: "seller-analytics-payouts",
174
+ pageLabel: "Seller Analytics & Payouts",
175
+ cases: [
176
+ { key: "view-analytics", label: "Seller analytics dashboard shows accurate sales data", href: "/store/analytics" },
177
+ { key: "view-payouts", label: "Seller payouts list shows accurate payout history", href: "/store/payouts" },
178
+ ],
179
+ },
180
+ ]),
181
+ ...group("content-discovery", "Content & Discovery", [
182
+ {
183
+ pageKey: "blog",
184
+ pageLabel: "Blog",
185
+ cases: [
186
+ { key: "read-post", label: "Reading a blog post renders correctly (images, formatting)" },
187
+ { key: "blog-listing", label: "Blog listing page shows all published posts" },
188
+ ],
189
+ },
190
+ {
191
+ pageKey: "events",
192
+ pageLabel: "Events, Raffles & Spin Wheel",
193
+ cases: [
194
+ { key: "view-event", label: "Viewing an event detail page works", href: "/user/events" },
195
+ { key: "raffle-entry", label: "Entering a raffle event works" },
196
+ { key: "spin-wheel", label: "Spinning the spin-wheel event works and shows the prize" },
197
+ ],
198
+ },
199
+ {
200
+ pageKey: "coupons",
201
+ pageLabel: "Coupons",
202
+ cases: [
203
+ { key: "view-claimed-coupons", label: "Claimed coupons list shows accurate coupons", href: "/user/coupons" },
204
+ { key: "coupon-discount-applied", label: "Coupon discount is correctly reflected in the order total" },
205
+ ],
206
+ },
207
+ {
208
+ pageKey: "notifications",
209
+ pageLabel: "Notifications",
210
+ cases: [
211
+ { key: "receive-notification", label: "In-app notifications appear for order/bid/message events", href: "/user/notifications" },
212
+ { key: "mark-read", label: "Marking a notification as read works" },
213
+ ],
214
+ },
215
+ ]),
216
+ ...group("community-support", "Community & Support", [
217
+ {
218
+ pageKey: "support-tickets",
219
+ pageLabel: "Support Tickets",
220
+ cases: [
221
+ { key: "create-ticket", label: "Creating a support ticket works", href: "/user/support" },
222
+ { key: "reply-ticket", label: "Replying to an open support ticket works" },
223
+ ],
224
+ },
225
+ {
226
+ pageKey: "public-profile",
227
+ pageLabel: "Public Profiles & Stores",
228
+ cases: [
229
+ { key: "view-seller-store", label: "Viewing a seller's public store page works" },
230
+ { key: "view-public-profile", label: "Viewing another user's public profile works" },
231
+ ],
232
+ },
233
+ ]),
234
+ ...group("design-ux", "Design & UX", [
235
+ {
236
+ pageKey: "general-design",
237
+ pageLabel: "Colors, Styles, Readability, Mobile",
238
+ cases: [
239
+ { key: "contrast-readability", label: "Text contrast/readability is good on product cards" },
240
+ { key: "mobile-nav", label: "Mobile navigation (bottom bar, menu) works and looks correct" },
241
+ { key: "dark-mode", label: "Dark mode renders correctly across pages" },
242
+ { key: "loading-states", label: "Loading/skeleton states look correct while data fetches" },
243
+ { key: "empty-states", label: "Empty states (no results, empty cart) look correct" },
244
+ { key: "error-states", label: "Error states (404, form validation) look correct" },
245
+ ],
246
+ },
247
+ ]),
248
+ ];
@@ -10,7 +10,7 @@
10
10
  * @tag layer:seed
11
11
  * @tag pattern:none
12
12
  * @tag access:server-only
13
- * @tag consumers:seed/runner.ts,SeedPanel
13
+ * @tag consumers:seed/runner.ts
14
14
  * @tag sideEffects:none
15
15
  */
16
16
  import { getDefaultPhonePrefix } from "./seed-market-config";
@@ -9,7 +9,7 @@
9
9
  * @tag layer:seed
10
10
  * @tag pattern:none
11
11
  * @tag access:server-only
12
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
12
+ * @tag consumers:seed/index.ts,seed/runner.ts
13
13
  * @tag sideEffects:none
14
14
  */
15
15
  const NOW = new Date();
package/dist/server.d.ts CHANGED
@@ -34,7 +34,6 @@ export { carouselSlidesSeedData } from "./seed/index";
34
34
  export { cartsSeedData } from "./seed/index";
35
35
  export { categoriesSeedData } from "./seed/index";
36
36
  export { couponsSeedData } from "./seed/index";
37
- export { demoSeed } from "./seed/actions/demo-seed-actions";
38
37
  export { eventEntriesSeedData } from "./seed/index";
39
38
  export { eventsSeedData } from "./seed/index";
40
39
  export { faqSeedData } from "./seed/index";
@@ -301,6 +300,13 @@ export { listFaqs } from "./features/faq/server";
301
300
  export { listPublicFaqs } from "./features/faq/server";
302
301
  export { updateFaq } from "./features/faq/server";
303
302
  export { voteFaq } from "./features/faq/server";
303
+ export { createChecklistItem } from "./features/tester/server";
304
+ export { updateChecklistItem } from "./features/tester/server";
305
+ export { deleteChecklistItem } from "./features/tester/server";
306
+ export { checklistItemCreateSchema } from "./features/tester/server";
307
+ export { checklistItemUpdateSchema } from "./features/tester/server";
308
+ export { canViewTestData, filterTestDataForViewer, filterSingleTestData, } from "./_internal/server/features/tester/visibility";
309
+ export type { ViewerLike, TestDataFlagged } from "./_internal/server/features/tester/visibility";
304
310
  export { carouselGET } from "./features/homepage/server";
305
311
  export { carouselItemDELETE } from "./features/homepage/server";
306
312
  export { carouselItemGET } from "./features/homepage/server";
@@ -529,7 +535,6 @@ export { getLiveItemForDetail } from "./_internal/server/features/live/data";
529
535
  export { toClientLiveItem, type LiveItemClientShape } from "./_internal/server/features/live/adapters";
530
536
  export { buildLiveItemMetadata, type LiveItemMetadataOptions } from "./_internal/server/features/live/metadata";
531
537
  export { renderLiveItemOg, renderLiveItemOgImage, renderLiveItemOgFromDoc, type LiveItemOgData } from "./_internal/server/features/live/og";
532
- export { MockRazorpayProvider, resolvePaymentProvider, type MockWebhookEvent, type MockWebhookPayload, type WebhookSink, type PaymentResolutionFactories, type ProviderResolutionContext, } from "./_internal/server/providers";
533
538
  export { getLotteryEventCached, listLotteryEvents, getLotteryEntriesForAdmin, getLotteryEntriesForUser } from "./_internal/server/features/lottery/data";
534
539
  export type { LotteryEventClient } from "./_internal/server/features/lottery/data";
535
540
  export { toClientLotterySlot, toClientLotteryConfig } from "./_internal/server/features/lottery/adapters";
package/dist/server.js CHANGED
@@ -89,10 +89,6 @@ export { categoriesSeedData } from "./seed/index";
89
89
  // couponsSeedData - Model for coupons seed data.
90
90
  export { couponsSeedData } from "./seed/index";
91
91
  // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
92
- // demoSeed - Shared export for demo seed. Sourced directly from actions to keep
93
- // the server runtime out of the client-facing `./seed/index` barrel.
94
- export { demoSeed } from "./seed/actions/demo-seed-actions";
95
- // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
96
92
  // eventEntriesSeedData - Model for event entries seed data.
97
93
  export { eventEntriesSeedData } from "./seed/index";
98
94
  // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
@@ -872,6 +868,25 @@ export { updateFaq } from "./features/faq/server";
872
868
  // voteFaq - Shared export for vote faq.
873
869
  export { voteFaq } from "./features/faq/server";
874
870
  // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
871
+ // createChecklistItem - Admin creates a tester checklist catalog item.
872
+ export { createChecklistItem } from "./features/tester/server";
873
+ // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
874
+ // updateChecklistItem - Admin updates a tester checklist catalog item.
875
+ export { updateChecklistItem } from "./features/tester/server";
876
+ // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
877
+ // deleteChecklistItem - Admin deletes a tester checklist catalog item.
878
+ export { deleteChecklistItem } from "./features/tester/server";
879
+ // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
880
+ // checklistItemCreateSchema - Zod schema for creating a tester checklist item.
881
+ export { checklistItemCreateSchema } from "./features/tester/server";
882
+ // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
883
+ // checklistItemUpdateSchema - Zod schema for updating a tester checklist item.
884
+ export { checklistItemUpdateSchema } from "./features/tester/server";
885
+ // [SERVER-ONLY]-Server-only — filters isTestData:true tester-sandbox documents out of public
886
+ // listing responses unless the viewer is a tester or admin. Use in every public store/product/
887
+ // category/blog/event list-and-detail route.
888
+ export { canViewTestData, filterTestDataForViewer, filterSingleTestData, } from "./_internal/server/features/tester/visibility";
889
+ // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
875
890
  // carouselGET - Shared export for carousel get.
876
891
  export { carouselGET } from "./features/homepage/server";
877
892
  // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
@@ -1409,14 +1424,6 @@ export { getLiveItemForDetail } from "./_internal/server/features/live/data";
1409
1424
  export { toClientLiveItem } from "./_internal/server/features/live/adapters";
1410
1425
  export { buildLiveItemMetadata } from "./_internal/server/features/live/metadata";
1411
1426
  export { renderLiveItemOg, renderLiveItemOgImage, renderLiveItemOgFromDoc } from "./_internal/server/features/live/og";
1412
- // ── Track H — Payment provider abstraction ────────────────────────────────
1413
- // In-process mock implementation. The real provider continues to live in
1414
- // appkit/src/providers/payment-razorpay and is registered separately. The
1415
- // resolver helper sits next to it so consumers can drive selection from
1416
- // siteSettings.featureFlags.useMockPayment. Shipping has no mock/resolver —
1417
- // ManualShippingProvider makes no external API calls, so there's nothing to
1418
- // mock or choose between.
1419
- export { MockRazorpayProvider, resolvePaymentProvider, } from "./_internal/server/providers";
1420
1427
  // ── Lottery feature — server data + adapters + actions ──────────────────────────
1421
1428
  export { getLotteryEventCached, listLotteryEvents, getLotteryEntriesForAdmin, getLotteryEntriesForUser } from "./_internal/server/features/lottery/data";
1422
1429
  export { toClientLotterySlot, toClientLotteryConfig } from "./_internal/server/features/lottery/adapters";