@mohasinac/appkit 4.42.18 → 4.44.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 (263) hide show
  1. package/dist/_internal/client/features/lottery/LotteryDetailView.js +22 -1
  2. package/dist/_internal/server/features/categories/adapters.d.ts +47 -0
  3. package/dist/_internal/server/features/categories/adapters.js +235 -0
  4. package/dist/_internal/server/features/checkout/actions.js +161 -22
  5. package/dist/_internal/server/features/checkout/expand-order-items.js +34 -0
  6. package/dist/_internal/server/features/orders/adapters.js +21 -0
  7. package/dist/_internal/server/features/products/list-public.d.ts +24 -0
  8. package/dist/_internal/server/features/products/list-public.js +10 -2
  9. package/dist/_internal/server/features/refunds/actions.js +1 -1
  10. package/dist/_internal/server/features/seo/sitemap.js +54 -15
  11. package/dist/_internal/server/features/stores/adapters.d.ts +1 -1
  12. package/dist/_internal/server/features/stores/adapters.js +6 -0
  13. package/dist/_internal/server/functions/scheduled.d.ts +4 -2
  14. package/dist/_internal/server/functions/scheduled.js +64 -6
  15. package/dist/_internal/server/jobs/core/adminAnalytics.d.ts +0 -1
  16. package/dist/_internal/server/jobs/core/adminAnalytics.js +9 -1
  17. package/dist/_internal/server/jobs/core/analyticsAlertEvaluate.d.ts +47 -0
  18. package/dist/_internal/server/jobs/core/analyticsAlertEvaluate.js +468 -0
  19. package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +14 -1
  20. package/dist/_internal/server/jobs/core/countersReconcile.js +24 -8
  21. package/dist/_internal/server/jobs/core/onCategoryWrite.js +59 -0
  22. package/dist/_internal/server/jobs/core/onProductWrite.js +31 -0
  23. package/dist/_internal/server/jobs/core/onReviewWrite.js +8 -0
  24. package/dist/_internal/server/jobs/core/onStoreWrite.d.ts +1 -1
  25. package/dist/_internal/server/jobs/core/onStoreWrite.js +8 -2
  26. package/dist/_internal/server/jobs/core/priceIndexRollup.d.ts +47 -0
  27. package/dist/_internal/server/jobs/core/priceIndexRollup.js +234 -0
  28. package/dist/_internal/server/jobs/core/revalidateNotify.d.ts +28 -0
  29. package/dist/_internal/server/jobs/core/revalidateNotify.js +125 -0
  30. package/dist/_internal/server/jobs/core/{testerSandboxCleanup.d.ts → testDataCleanup.d.ts} +3 -3
  31. package/dist/_internal/server/jobs/core/{testerSandboxCleanup.js → testDataCleanup.js} +3 -3
  32. package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +5 -1
  33. package/dist/_internal/server/jobs/handlers/analyticsAlertEvaluate.d.ts +2 -0
  34. package/dist/_internal/server/jobs/handlers/analyticsAlertEvaluate.js +2 -0
  35. package/dist/_internal/server/jobs/handlers/index.d.ts +3 -1
  36. package/dist/_internal/server/jobs/handlers/index.js +3 -1
  37. package/dist/_internal/server/jobs/handlers/messages.d.ts +5 -2
  38. package/dist/_internal/server/jobs/handlers/messages.js +5 -2
  39. package/dist/_internal/server/jobs/handlers/priceIndexRollup.d.ts +2 -0
  40. package/dist/_internal/server/jobs/handlers/priceIndexRollup.js +2 -0
  41. package/dist/_internal/server/jobs/handlers/testDataCleanup.d.ts +2 -0
  42. package/dist/_internal/server/jobs/handlers/testDataCleanup.js +2 -0
  43. package/dist/_internal/shared/actions/action-registry.js +34 -0
  44. package/dist/_internal/shared/cache/revalidate-targets.d.ts +49 -0
  45. package/dist/_internal/shared/cache/revalidate-targets.js +157 -0
  46. package/dist/_internal/shared/checkout/order-math.d.ts +113 -3
  47. package/dist/_internal/shared/checkout/order-math.js +194 -7
  48. package/dist/_internal/shared/features/categories/price-guidance.d.ts +110 -0
  49. package/dist/_internal/shared/features/categories/price-guidance.js +136 -0
  50. package/dist/_internal/shared/features/site-settings/gst-registration.d.ts +90 -0
  51. package/dist/_internal/shared/features/site-settings/gst-registration.js +126 -0
  52. package/dist/_internal/shared/fees/calculator.d.ts +105 -0
  53. package/dist/_internal/shared/fees/calculator.js +143 -0
  54. package/dist/_internal/shared/listing-types/art/config.d.ts +0 -6
  55. package/dist/_internal/shared/listing-types/classified/config.d.ts +0 -6
  56. package/dist/_internal/shared/listing-types/digital-code/config.d.ts +0 -6
  57. package/dist/_internal/shared/listing-types/live/config.d.ts +0 -6
  58. package/dist/_internal/shared/listing-types/standard/config.d.ts +0 -6
  59. package/dist/_internal/shared/listing-types/stickers/config.d.ts +0 -6
  60. package/dist/_internal/shared/templating/placeholders.d.ts +70 -0
  61. package/dist/_internal/shared/templating/placeholders.js +73 -0
  62. package/dist/client.d.ts +2 -0
  63. package/dist/client.js +1 -0
  64. package/dist/constants/api-endpoints.d.ts +42 -0
  65. package/dist/constants/api-endpoints.js +14 -0
  66. package/dist/features/admin/actions/admin-actions.d.ts +1 -1
  67. package/dist/features/admin/actions/admin-actions.js +1 -1
  68. package/dist/features/admin/components/AdminCategoryEditorView.js +269 -3
  69. package/dist/features/admin/components/AdminProductEditorView.js +8 -1
  70. package/dist/features/admin/components/AdminProductsView.js +78 -7
  71. package/dist/features/admin/components/AdminSiteSettingsView.js +20 -1
  72. package/dist/features/admin/components/AdminTaxCodeEditorView.d.ts +10 -0
  73. package/dist/features/admin/components/AdminTaxCodeEditorView.js +160 -0
  74. package/dist/features/admin/components/AdminTaxCodesView.d.ts +13 -0
  75. package/dist/features/admin/components/AdminTaxCodesView.js +86 -0
  76. package/dist/features/admin/components/AdminTesterChecklistView.js +1 -1
  77. package/dist/features/admin/components/analytics/AdminTopProductsTable.js +1 -1
  78. package/dist/features/auctions/components/AuctionBottomActions.js +10 -1
  79. package/dist/features/auctions/components/AuctionDetailPageView.js +2 -1
  80. package/dist/features/auctions/components/AuctionLiveStatusBadge.d.ts +20 -0
  81. package/dist/features/auctions/components/AuctionLiveStatusBadge.js +21 -0
  82. package/dist/features/auctions/components/PlaceBidFormClient.d.ts +1 -1
  83. package/dist/features/auctions/components/PlaceBidFormClient.js +20 -2
  84. package/dist/features/auctions/hooks/useIsAuctionEnded.d.ts +41 -0
  85. package/dist/features/auctions/hooks/useIsAuctionEnded.js +76 -0
  86. package/dist/features/auth/schemas/firestore.d.ts +0 -1
  87. package/dist/features/blog/api/route.js +16 -1
  88. package/dist/features/blog/schemas/firestore.d.ts +2 -2
  89. package/dist/features/catalogue/components/CatalogueItemEditorView.js +14 -3
  90. package/dist/features/categories/actions/category-actions.d.ts +2 -2
  91. package/dist/features/categories/actions/category-actions.js +22 -10
  92. package/dist/features/categories/api/[id]/description-template/route.d.ts +45 -0
  93. package/dist/features/categories/api/[id]/description-template/route.js +252 -0
  94. package/dist/features/categories/api/route.js +156 -11
  95. package/dist/features/categories/components/CategoriesIndexListing.d.ts +1 -3
  96. package/dist/features/categories/components/CategoriesIndexListing.js +1 -1
  97. package/dist/features/categories/components/CategoriesIndexPageView.d.ts +27 -1
  98. package/dist/features/categories/components/CategoriesIndexPageView.js +24 -33
  99. package/dist/features/categories/components/CategoryDetailPageView.js +43 -10
  100. package/dist/features/categories/components/CategoryTemplatePicker.d.ts +65 -0
  101. package/dist/features/categories/components/CategoryTemplatePicker.js +170 -0
  102. package/dist/features/categories/constants/listing-categories.d.ts +17 -0
  103. package/dist/features/categories/constants/listing-categories.js +53 -0
  104. package/dist/features/categories/hooks/useCategoryTree.js +28 -2
  105. package/dist/features/categories/repository/categories.repository.d.ts +73 -12
  106. package/dist/features/categories/repository/categories.repository.js +203 -42
  107. package/dist/features/categories/repository/price-index.repository.d.ts +115 -0
  108. package/dist/features/categories/repository/price-index.repository.js +85 -0
  109. package/dist/features/categories/schemas/category-content.d.ts +206 -0
  110. package/dist/features/categories/schemas/category-content.js +28 -0
  111. package/dist/features/categories/schemas/firestore.d.ts +74 -5
  112. package/dist/features/categories/schemas/firestore.js +74 -3
  113. package/dist/features/categories/schemas/index.d.ts +1047 -0
  114. package/dist/features/categories/schemas/index.js +96 -0
  115. package/dist/features/categories/server.d.ts +1 -0
  116. package/dist/features/categories/server.js +7 -0
  117. package/dist/features/categories/types/index.d.ts +9 -0
  118. package/dist/features/events/schemas/firestore.d.ts +2 -2
  119. package/dist/features/faq/schemas/firestore.d.ts +2 -1
  120. package/dist/features/faq/schemas/firestore.js +20 -8
  121. package/dist/features/faq/utils/getHomepageFaqsCached.d.ts +20 -0
  122. package/dist/features/faq/utils/getHomepageFaqsCached.js +22 -0
  123. package/dist/features/homepage/components/MarketplaceHomepageView.js +13 -3
  124. package/dist/features/homepage/lib/live-stats.js +18 -8
  125. package/dist/features/media/MediaImage.js +19 -2
  126. package/dist/features/orders/schemas/firestore.d.ts +70 -0
  127. package/dist/features/orders/types/index.d.ts +55 -0
  128. package/dist/features/products/actions/product-actions.d.ts +0 -9
  129. package/dist/features/products/actions/product-actions.js +25 -0
  130. package/dist/features/products/columns/index.d.ts +0 -1
  131. package/dist/features/products/columns/index.js +5 -1
  132. package/dist/features/products/components/ArtStickersListView.js +7 -1
  133. package/dist/features/products/components/PrizeDrawsSection.js +5 -0
  134. package/dist/features/products/components/ProductFilters.d.ts +0 -9
  135. package/dist/features/products/components/ProductForm.d.ts +27 -1
  136. package/dist/features/products/components/ProductForm.js +26 -12
  137. package/dist/features/products/components/ProductsIndexPageView.js +1 -1
  138. package/dist/features/products/constants/sieve.d.ts +0 -6
  139. package/dist/features/products/constants/sieve.js +35 -2
  140. package/dist/features/products/repository/products.repository.d.ts +115 -1
  141. package/dist/features/products/repository/products.repository.js +491 -39
  142. package/dist/features/products/schemas/firestore.d.ts +65 -5
  143. package/dist/features/products/schemas/firestore.js +9 -0
  144. package/dist/features/products/schemas/product-features.d.ts +140 -2
  145. package/dist/features/products/schemas/product-features.js +62 -1
  146. package/dist/features/promotions/repository/coupons.repository.js +6 -1
  147. package/dist/features/promotions/schemas/firestore.d.ts +44 -1
  148. package/dist/features/promotions/schemas/firestore.js +76 -2
  149. package/dist/features/reviews/repository/reviews.repository.d.ts +22 -0
  150. package/dist/features/reviews/repository/reviews.repository.js +35 -0
  151. package/dist/features/seller/actions/seller-actions.js +17 -2
  152. package/dist/features/seller/components/PrintCenterView.d.ts +3 -2
  153. package/dist/features/seller/components/PrintCenterView.js +3 -2
  154. package/dist/features/seller/components/SellerAnalyticsAlertsView.js +21 -11
  155. package/dist/features/seller/components/SellerOrdersView.js +6 -1
  156. package/dist/features/seller/components/SellerPayoutSettingsView.js +19 -3
  157. package/dist/features/seller/components/SellerProductShell.d.ts +50 -2
  158. package/dist/features/seller/components/SellerProductShell.js +101 -9
  159. package/dist/features/seller/components/SellerProductsFilterDrawer.d.ts +13 -1
  160. package/dist/features/seller/components/SellerProductsFilterDrawer.js +2 -2
  161. package/dist/features/seller/components/SellerProductsView.js +108 -3
  162. package/dist/features/seller/types/index.d.ts +17 -0
  163. package/dist/features/seller/utils/product-draft-mapping.d.ts +13 -0
  164. package/dist/features/seller/utils/product-draft-mapping.js +17 -0
  165. package/dist/features/store-extensions/constants/alert-metrics.d.ts +86 -0
  166. package/dist/features/store-extensions/constants/alert-metrics.js +142 -0
  167. package/dist/features/store-extensions/schemas/firestore.d.ts +19 -1
  168. package/dist/features/stores/schemas/firestore.d.ts +31 -2
  169. package/dist/features/tax-codes/repository/tax-codes.repository.d.ts +55 -0
  170. package/dist/features/tax-codes/repository/tax-codes.repository.js +131 -0
  171. package/dist/features/tax-codes/schemas/firestore.d.ts +125 -0
  172. package/dist/features/tax-codes/schemas/firestore.js +82 -0
  173. package/dist/features/tax-codes/schemas/tax-code-form.d.ts +63 -0
  174. package/dist/features/tax-codes/schemas/tax-code-form.js +152 -0
  175. package/dist/features/tax-codes/schemas/tax-codes.validators.d.ts +107 -0
  176. package/dist/features/tax-codes/schemas/tax-codes.validators.js +85 -0
  177. package/dist/features/tester/actions/index.d.ts +0 -1
  178. package/dist/features/tester/actions/index.js +0 -1
  179. package/dist/features/tester/components/AdminTesterFeedbackIssuesView.js +1 -1
  180. package/dist/features/tester/components/AdminTesterFeedbackListView.js +1 -1
  181. package/dist/features/tester/components/index.d.ts +0 -4
  182. package/dist/features/tester/components/index.js +0 -2
  183. package/dist/features/tester/repository/tester-checklist-item.repository.d.ts +1 -20
  184. package/dist/features/tester/repository/tester-checklist-item.repository.js +0 -52
  185. package/dist/features/tester/schemas/firestore.d.ts +0 -6
  186. package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.js +3 -3
  187. package/dist/features/tester/seed-data/authored/admin__site-system.js +4 -5
  188. package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.js +2 -2
  189. package/dist/features/tester/seed-data/authored/index.js +0 -2
  190. package/dist/features/tester/seed-data/authored/page-wiring__reachability.js +0 -19
  191. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +10 -29
  192. package/dist/index.d.ts +21 -7
  193. package/dist/index.js +53 -7
  194. package/dist/next/routing/route-map.d.ts +2 -4
  195. package/dist/next/routing/route-map.js +1 -2
  196. package/dist/repositories/index.d.ts +1 -0
  197. package/dist/repositories/index.js +1 -0
  198. package/dist/schemas/registry.d.ts +506 -0
  199. package/dist/seed/_helpers/brand-rows.d.ts +35 -0
  200. package/dist/seed/_helpers/brand-rows.js +576 -0
  201. package/dist/seed/_helpers/category-content.d.ts +39 -0
  202. package/dist/seed/_helpers/category-content.js +634 -0
  203. package/dist/seed/_helpers/category-forest.d.ts +2 -0
  204. package/dist/seed/_helpers/category-forest.js +585 -243
  205. package/dist/seed/_helpers/category-models.d.ts +5 -0
  206. package/dist/seed/_helpers/category-models.js +1364 -0
  207. package/dist/seed/_helpers/category-tree.js +17 -1
  208. package/dist/seed/_helpers/character-features.d.ts +10 -0
  209. package/dist/seed/_helpers/character-features.js +118 -0
  210. package/dist/seed/_helpers/media.d.ts +1 -1
  211. package/dist/seed/_helpers/media.js +44 -8
  212. package/dist/seed/_helpers/search-txt-wrappers.d.ts +10 -0
  213. package/dist/seed/_helpers/search-txt-wrappers.js +12 -1
  214. package/dist/seed/categories-seed-data.js +147 -169
  215. package/dist/seed/index.d.ts +1 -0
  216. package/dist/seed/index.js +1 -0
  217. package/dist/seed/manifest.d.ts +1 -1
  218. package/dist/seed/manifest.js +5 -0
  219. package/dist/seed/orders-seed-data.js +5 -3
  220. package/dist/seed/product-features-seed-data.d.ts +1 -8
  221. package/dist/seed/product-features-seed-data.js +358 -154
  222. package/dist/seed/products-art-seed-data.js +16 -4
  223. package/dist/seed/products-auctions-seed-data.js +6 -6
  224. package/dist/seed/products-classifieds-seed-data.js +17 -7
  225. package/dist/seed/products-digital-codes-seed-data.js +12 -12
  226. package/dist/seed/products-preorders-seed-data.js +8 -8
  227. package/dist/seed/products-prize-draws-seed-data.js +25 -8
  228. package/dist/seed/products-standard-seed-data.js +10 -60
  229. package/dist/seed/products-stickers-seed-data.js +6 -6
  230. package/dist/seed/site-settings-seed-data.js +24 -0
  231. package/dist/seed/store-extensions-seed-data.js +10 -4
  232. package/dist/seed/tax-codes-seed-data.d.ts +34 -0
  233. package/dist/seed/tax-codes-seed-data.js +100 -0
  234. package/dist/seed/test-data-ttl.d.ts +29 -0
  235. package/dist/seed/test-data-ttl.js +31 -0
  236. package/dist/server-entry.d.ts +1 -1
  237. package/dist/server-entry.js +6 -1
  238. package/dist/server.d.ts +4 -1
  239. package/dist/server.js +11 -2
  240. package/dist/styles.css +40 -0
  241. package/dist/ui/components/PaginatedSelect.d.ts +14 -0
  242. package/dist/ui/components/PaginatedSelect.js +0 -0
  243. package/dist/ui/components/PaginatedSelect.style.css +40 -0
  244. package/dist/utils/media-url.d.ts +26 -0
  245. package/dist/utils/media-url.js +144 -0
  246. package/dist/utils/physical-location.d.ts +23 -0
  247. package/dist/utils/physical-location.js +52 -0
  248. package/dist/utils/search-txt-builders.d.ts +20 -0
  249. package/dist/utils/search-txt-builders.js +36 -0
  250. package/package.json +1 -1
  251. package/scripts/seed-cli.mjs +4 -1
  252. package/dist/_internal/server/jobs/handlers/testerSandboxCleanup.d.ts +0 -2
  253. package/dist/_internal/server/jobs/handlers/testerSandboxCleanup.js +0 -2
  254. package/dist/features/tester/actions/leaderboard-actions.d.ts +0 -3
  255. package/dist/features/tester/actions/leaderboard-actions.js +0 -5
  256. package/dist/features/tester/components/BugHunterLeaderboardView.d.ts +0 -23
  257. package/dist/features/tester/components/BugHunterLeaderboardView.js +0 -18
  258. package/dist/features/tester/components/TesterHubView.d.ts +0 -5
  259. package/dist/features/tester/components/TesterHubView.js +0 -110
  260. package/dist/features/tester/seed-data/authored/public-pages__bug-hunters.d.ts +0 -2
  261. package/dist/features/tester/seed-data/authored/public-pages__bug-hunters.js +0 -78
  262. package/dist/features/tester/seed-data/tester-ttl.d.ts +0 -4
  263. package/dist/features/tester/seed-data/tester-ttl.js +0 -6
package/dist/index.js CHANGED
@@ -1075,10 +1075,16 @@ export { payoutMethodsSeedData, shippingConfigsSeedData, analyticsCardsSeedData,
1075
1075
  // SB-UNI-B â€" sublistingCategoriesRepository + SublistingCategoryDocument deleted.
1076
1076
  // Use categoriesRepository.findBySlugAndType(slug, "sublisting") and CategoryDocument with categoryType:"sublisting".
1077
1077
  // [DB]-Database layer â€" uses firebase-admin; server-only.
1078
+ // AdminTaxCodesView / AdminTaxCodeEditorView (B3) — /admin/tax-codes.
1079
+ export { AdminTaxCodesView } from "./features/admin/components/AdminTaxCodesView";
1080
+ export { AdminTaxCodeEditorView } from "./features/admin/components/AdminTaxCodeEditorView";
1078
1081
  // productFeaturesRepository - Server-only repository for productFeatures (FI1).
1079
1082
  export { productFeaturesRepository } from "./repositories/index";
1080
1083
  // loadProductFeaturesForStore - SSR helper combining listPlatform + listForStore (FI6).
1081
1084
  export { loadProductFeaturesForStore } from "./repositories/index";
1085
+ // taxCodesRepository - Server-only repository for taxCodes (B3). An HSN code and
1086
+ // its GST rate as an ENTITY, so a rate change is one edit rather than ~330.
1087
+ export { taxCodesRepository } from "./repositories/index";
1082
1088
  // productTemplateRepository - Server-only repository for store product templates.
1083
1089
  export { productTemplateRepository } from "./repositories/index";
1084
1090
  // [DB]-Database layer â€" uses firebase-admin or another server-side DB SDK; can only run in a trusted server environment.
@@ -2006,12 +2012,8 @@ export { AdminFaqEditorView } from "./features/admin/index";
2006
2012
  export { AdminTesterChecklistView } from "./features/admin/index";
2007
2013
  // AdminTesterChecklistItemEditorView - Component for admin tester-checklist item create/edit form.
2008
2014
  export { AdminTesterChecklistItemEditorView } from "./features/admin/index";
2009
- // TesterHubView - Component for the tester-facing checklist hub page.
2010
- export { TesterHubView } from "./features/tester/index";
2011
2015
  // AdminTesterFeedbackView - Component for the admin Tester Feedback report/issues/submissions page.
2012
2016
  export { AdminTesterFeedbackView } from "./features/tester/index";
2013
- // BugHunterLeaderboardView - Public component ranking testers by confirmed-bug count.
2014
- export { BugHunterLeaderboardView } from "./features/tester/index";
2015
2017
  // AdminNavEditorView - SideDrawer form for nav item create/edit.
2016
2018
  export { AdminNavEditorView } from "./features/admin/index";
2017
2019
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
@@ -2959,6 +2961,8 @@ export { categoryItemDELETE } from "./features/categories/server";
2959
2961
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
2960
2962
  // categoryItemGET - Shared export for category item get.
2961
2963
  export { categoryItemGET } from "./features/categories/server";
2964
+ // categoryDescriptionTemplateGET - the seller form's inherited-template read.
2965
+ export { categoryDescriptionTemplateGET } from "./features/categories/server";
2962
2966
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
2963
2967
  // categoryItemPATCH - Shared export for category item patch.
2964
2968
  export { categoryItemPATCH } from "./features/categories/server";
@@ -3342,8 +3346,6 @@ export { getEventSpinResults } from "./features/events/server";
3342
3346
  // getUserSpinResultsForEvent - The CALLER'S OWN spins for an event, unmasked. Companion to the masked public feed above.
3343
3347
  export { getUserSpinResultsForEvent } from "./features/events/server";
3344
3348
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
3345
- // getBugHunterLeaderboard - Ranks testers by confirmed-bug count.
3346
- export { getBugHunterLeaderboard } from "./features/tester/server";
3347
3349
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
3348
3350
  // getPublicEventById - Helper for get public event by id.
3349
3351
  export { getPublicEventById } from "./features/events/server";
@@ -4328,6 +4330,11 @@ export { checkEmiEligibility, computeEmiSchedule, computeBuyerEmiQuote } from ".
4328
4330
  // Buyer-facing projections of siteSettings.commissions / .emi — the single
4329
4331
  // definition of "safe to send to a browser" for fee data. See fees.ts header.
4330
4332
  export { toBuyerFacingFees, toBuyerEmiSettings, } from "./_internal/shared/features/site-settings/fees";
4333
+ // The gate on turning product GST on. Exported because BOTH ends need the same
4334
+ // implementation — `/api/admin/site` refuses the write and the admin form
4335
+ // shows the problem inline — and two copies of a compliance rule is the shape
4336
+ // of Root Cause #75.
4337
+ export { GSTIN_PATTERN, gstinCheckCharacter, isValidGstin, validateGstEnablement, canEnableGst, } from "./_internal/shared/features/site-settings/gst-registration";
4331
4338
  // User-role predicates â€" SB-UNI-E 2026-05-13.
4332
4339
  export { isAdminUser, isSellerUser, isModeratorUser, isEmployeeUser, isBuyerUser, isEffectiveAdminUser, isTesterUser, canTestAdminSurfaces, isStrictSellerUser, isAccountDisabled, } from "./features/auth/role-predicates";
4333
4340
  // [SERVER-ONLY]-Safe in browser but intended for server routes.
@@ -5369,7 +5376,14 @@ export { generateCroppedImageFilename } from "./utils/id-generators";
5369
5376
  // opens the offer form instead. See `offerIsOnlyPurchasePath`.
5370
5377
  // SB-UNI-B â€" SublistingCategoryDocument deleted; sublistings are CategoryDocument with categoryType:"sublisting".
5371
5378
  // Product features feature schemas (FI1)
5372
- export { PRODUCT_FEATURES_COLLECTION, PRODUCT_FEATURE_PREFIX, MAX_STORE_CUSTOM_FEATURES, MAX_FEATURES_PER_PRODUCT, PRODUCT_FEATURE_SIEVE_FIELDS, isFeatureIconPath, } from "./features/products/schemas/product-features";
5379
+ export { PRODUCT_FEATURES_COLLECTION, PRODUCT_FEATURE_PREFIX, MAX_STORE_CUSTOM_FEATURES, MAX_FEATURES_PER_PRODUCT, PRODUCT_FEATURE_SIEVE_FIELDS, FEATURE_GROUP_VALUES, FEATURE_GROUP_LABEL, isFeatureIconPath, } from "./features/products/schemas/product-features";
5380
+ // Tax codes feature schemas (B3) — HSN + GST rate as an entity.
5381
+ export { TAX_CODES_COLLECTION, TAX_CODE_PREFIX, TAX_CODE_FIELDS, TAX_CODE_SIEVE_FIELDS, TAX_CODE_UPDATABLE_FIELDS, GST_RATE_VALUES, createTaxCodeId, isValidHsnCode, } from "./features/tax-codes/schemas/firestore";
5382
+ export { taxCodeFormSchema, GST_RATE_OPTIONS, HSN_CHAPTER_OPTIONS } from "./features/tax-codes/schemas/tax-code-form";
5383
+ // Wire contracts for /api/admin/tax-codes. BOTH are .strict(): z.object()
5384
+ // strips unknown keys (a PATCH returning 200 having written nothing),
5385
+ // .passthrough() writes whatever arrives.
5386
+ export { taxCodeCreateSchema, taxCodeUpdateSchema, } from "./features/tax-codes/schemas/tax-codes.validators";
5373
5387
  // Product features zod validators (S8 refactor â€" shared by admin + store API routes)
5374
5388
  export { productFeatureAdminCreateSchema, productFeatureStoreCreateSchema, productFeatureUpdateSchema, PRODUCT_FEATURE_PRODUCT_TYPE_ENUM, PRODUCT_FEATURE_CATEGORY_ENUM, PRODUCT_FEATURE_SCOPE_ENUM, } from "./features/products/schemas/product-features.validators";
5375
5389
  // parseListingParams / serializeListingParams â€" short-name URL params (Q2 / S12)
@@ -5410,6 +5424,14 @@ export { groupedListingFormSchema, groupedListingCreateSchema, groupedListingUpd
5410
5424
  export { scammersSeedData } from "./seed/index";
5411
5425
  // Product features â€" seed data (FI2)
5412
5426
  export { productFeaturesSeedData } from "./seed/index";
5427
+ /*
5428
+ * 🛑 Registering a seed collection takes FOUR edits and three of them are
5429
+ * silent if missed: seed/index.ts, THIS re-export, and seed-cli's own import
5430
+ * plus its two maps. With this line absent, `appkit-seed status` reported
5431
+ * `taxCodes seed 0 in db 0` — the collection looked registered and simply
5432
+ * had no data, which is indistinguishable from an empty fixture set.
5433
+ */
5434
+ export { taxCodesSeedData } from "./seed/index";
5413
5435
  // Scam registry â€" schema types and constants
5414
5436
  export { SCAMMER_COLLECTION, SCAMMER_ID_PREFIX, SCAMMER_MATCH_FIELDS, SCAMMER_INDEXED_FIELDS, SCAMMER_FIELDS, SCAMMER_INCIDENTS_SUBCOLLECTION, SCAMMER_COMMENTS_SUBCOLLECTION, SCAMMER_CONTESTS_SUBCOLLECTION, MAX_COMMENT_BODY_LENGTH, MAX_PENDING_SCAMMER_REPORTS_PER_USER, ScammerStatusValues, ScamPlatformValues, SocialPlatformValues, ContestTypeValues, ContestStatusValues, SCAM_PLATFORM_LABELS, SOCIAL_PLATFORM_LABELS, SCAMMER_STATUS_LABELS, CONTEST_TYPE_LABELS, CONTEST_STATUS_LABELS, DEFAULT_SCAMMER_DATA, DEFAULT_SCAMMER_INCIDENT_DATA, DEFAULT_SCAMMER_COMMENT_DATA, DEFAULT_SCAMMER_CONTEST_DATA, } from "./features/scams/schemas/firestore";
5415
5437
  // Scam registry â€" scam type definitions
@@ -5426,6 +5448,30 @@ export { listVerifiedScammers, getPublicScammerById, getScammerProfilePageData,
5426
5448
  export { SellerProductShell } from "./features/seller/components/SellerProductShell";
5427
5449
  // [CLIENT] CategoryInlineSelect â€" searchable category selector with optional inline quick-create.
5428
5450
  export { CategoryInlineSelect } from "./features/seller/components/CategoryInlineSelect";
5451
+ /*
5452
+ * 🛑 The category-content Zod schemas are deliberately NOT exported, and this
5453
+ * note exists so nobody adds them.
5454
+ *
5455
+ * Measured 2026-10-11: appkit compiles against **zod 3.25.76**
5456
+ * (`appkit/node_modules/zod`, pinned `^3.24.0`) while the consumer resolves
5457
+ * **zod 4.4.3**. Those are different majors with incompatible type identities,
5458
+ * so an appkit `ZodObject` nested inside a consumer `z.array(...)` fails to
5459
+ * typecheck — it is not a `dedupe-peer-deps` miss but a genuine version split.
5460
+ *
5461
+ * The direction that DOES work is consumer-schema → appkit handler, which is
5462
+ * why every route declaring its own schema and handing it to
5463
+ * `createRouteHandler` is fine. Sharing a schema the other way is not
5464
+ * available until the two agree on a major.
5465
+ */
5466
+ // The ONE alert-metric vocabulary (C3a) plus the shared low-stock threshold.
5467
+ // Exported because the consumer needs the threshold too: the alert evaluator,
5468
+ // the seller products column and the store dashboard tile must agree on what
5469
+ // "low" means, or a seller gets a warning from one and a clean bill from
5470
+ // another.
5471
+ export { ALERT_METRIC_VALUES, ALERT_METRICS, isAlertMetric, alertMetricsForScope, LOW_STOCK_THRESHOLD, } from "./features/store-extensions/constants/alert-metrics";
5472
+ // [CLIENT] CategoryTemplatePicker — the seller form's category description-template
5473
+ // picker (C2c). Fills SellerProductShell's `renderTemplateSelector` slot.
5474
+ export { CategoryTemplatePicker, variantForCondition } from "./features/categories/components/CategoryTemplatePicker";
5429
5475
  // [CLIENT] BrandInlineSelect â€" searchable brand selector with inline quick-create (default: allowCreate=true).
5430
5476
  export { BrandInlineSelect } from "./features/seller/components/BrandInlineSelect";
5431
5477
  // [CLIENT] SublistingInlineSelect â€" searchable sub-listing-category picker with optional admin quick-create.
@@ -15,7 +15,6 @@ export declare const DEFAULT_ROUTE_MAP: {
15
15
  readonly PUBLIC: {
16
16
  readonly FAQS: "/faqs";
17
17
  readonly FAQ_CATEGORY: (category: string) => string;
18
- readonly BUG_HUNTERS: "/bug-hunters";
19
18
  readonly PROFILE: (userId: string) => string;
20
19
  readonly PRODUCTS: "/products";
21
20
  readonly PRODUCT_DETAIL: (slugOrId: string) => string;
@@ -171,7 +170,6 @@ export declare const DEFAULT_ROUTE_MAP: {
171
170
  readonly CATALOGUE: "/user/catalogue";
172
171
  readonly CATALOGUE_NEW: "/user/catalogue/new";
173
172
  readonly CATALOGUE_EDIT: (id: string) => string;
174
- readonly TESTER_HUB: "/user/tester";
175
173
  };
176
174
  readonly STORE: {
177
175
  readonly DASHBOARD: "/store";
@@ -357,6 +355,7 @@ export declare const DEFAULT_ROUTE_MAP: {
357
355
  readonly SUBLISTING_CATEGORIES_NEW: "/admin/sublisting-categories/new";
358
356
  readonly SUBLISTING_CATEGORIES_EDIT: (id: string) => string;
359
357
  readonly FEATURES: "/admin/features";
358
+ readonly TAX_CODES: "/admin/tax-codes";
360
359
  readonly FEATURES_NEW: "/admin/features/new";
361
360
  readonly FEATURES_EDIT: (id: string) => string;
362
361
  readonly BUNDLES: "/admin/bundles";
@@ -419,7 +418,6 @@ export declare const ROUTES: {
419
418
  readonly PUBLIC: {
420
419
  readonly FAQS: "/faqs";
421
420
  readonly FAQ_CATEGORY: (category: string) => string;
422
- readonly BUG_HUNTERS: "/bug-hunters";
423
421
  readonly PROFILE: (userId: string) => string;
424
422
  readonly PRODUCTS: "/products";
425
423
  readonly PRODUCT_DETAIL: (slugOrId: string) => string;
@@ -575,7 +573,6 @@ export declare const ROUTES: {
575
573
  readonly CATALOGUE: "/user/catalogue";
576
574
  readonly CATALOGUE_NEW: "/user/catalogue/new";
577
575
  readonly CATALOGUE_EDIT: (id: string) => string;
578
- readonly TESTER_HUB: "/user/tester";
579
576
  };
580
577
  readonly STORE: {
581
578
  readonly DASHBOARD: "/store";
@@ -761,6 +758,7 @@ export declare const ROUTES: {
761
758
  readonly SUBLISTING_CATEGORIES_NEW: "/admin/sublisting-categories/new";
762
759
  readonly SUBLISTING_CATEGORIES_EDIT: (id: string) => string;
763
760
  readonly FEATURES: "/admin/features";
761
+ readonly TAX_CODES: "/admin/tax-codes";
764
762
  readonly FEATURES_NEW: "/admin/features/new";
765
763
  readonly FEATURES_EDIT: (id: string) => string;
766
764
  readonly BUNDLES: "/admin/bundles";
@@ -3,7 +3,6 @@ export const DEFAULT_ROUTE_MAP = {
3
3
  PUBLIC: {
4
4
  FAQS: "/faqs",
5
5
  FAQ_CATEGORY: (category) => `/faqs/${category}`,
6
- BUG_HUNTERS: "/bug-hunters",
7
6
  PROFILE: (userId) => `/profile/${userId}`,
8
7
  PRODUCTS: "/products",
9
8
  PRODUCT_DETAIL: (slugOrId) => `/products/${slugOrId}`,
@@ -175,7 +174,6 @@ export const DEFAULT_ROUTE_MAP = {
175
174
  CATALOGUE: "/user/catalogue",
176
175
  CATALOGUE_NEW: "/user/catalogue/new",
177
176
  CATALOGUE_EDIT: (id) => `/user/catalogue/${id}/edit`,
178
- TESTER_HUB: "/user/tester",
179
177
  },
180
178
  STORE: {
181
179
  DASHBOARD: "/store",
@@ -379,6 +377,7 @@ export const DEFAULT_ROUTE_MAP = {
379
377
  SUBLISTING_CATEGORIES_NEW: "/admin/sublisting-categories/new",
380
378
  SUBLISTING_CATEGORIES_EDIT: (id) => `/admin/sublisting-categories/${id}/edit`,
381
379
  FEATURES: "/admin/features",
380
+ TAX_CODES: "/admin/tax-codes",
382
381
  FEATURES_NEW: "/admin/features/new",
383
382
  FEATURES_EDIT: (id) => `/admin/features/${id}/edit`,
384
383
  // SB1-J — bundles + prize draws (admin moderation)
@@ -59,6 +59,7 @@ export type { ProductTemplateDocument, ProductTemplateCreateInput, ProductTempla
59
59
  export { ProductFeaturesRepository, productFeaturesRepository, } from "../features/products/repository/product-features.repository";
60
60
  export type { ProductFeatureListFilter } from "../features/products/repository/product-features.repository";
61
61
  export { loadProductFeaturesForStore } from "../features/products/repository/loadProductFeatures";
62
+ export { TaxCodesRepository, taxCodesRepository, } from "../features/tax-codes/repository/tax-codes.repository";
62
63
  export { LotteryEntryRepository, lotteryEntryRepository, } from "../features/lottery/repository/lottery-entry.repository";
63
64
  export { MediaAssetsRepository, mediaAssetsRepository, } from "../features/media/repository/media-assets.repository";
64
65
  export type { MediaAssetDocument, MediaAssetCreateInput, } from "../features/media/repository/media-assets.repository";
@@ -65,6 +65,7 @@ export { SupportRepository, supportRepository, } from "../features/support/repos
65
65
  export { ProductTemplateRepository, productTemplateRepository, } from "../features/products/repository/product-templates.repository";
66
66
  export { ProductFeaturesRepository, productFeaturesRepository, } from "../features/products/repository/product-features.repository";
67
67
  export { loadProductFeaturesForStore } from "../features/products/repository/loadProductFeatures";
68
+ export { TaxCodesRepository, taxCodesRepository, } from "../features/tax-codes/repository/tax-codes.repository";
68
69
  // SB-UNI-V — BundlesRepository deleted; bundles live on categoriesRepository
69
70
  // with categoryType:"bundle". See features/categories/repository for the
70
71
  // listByType / findBySlugAndType helpers.