@mohasinac/appkit 4.30.19 → 4.31.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 (417) hide show
  1. package/dist/_internal/client/features/layout/useSidebarSearch.d.ts +21 -5
  2. package/dist/_internal/client/features/layout/useSidebarSearch.js +27 -6
  3. package/dist/_internal/client/features/lottery/LotteryAdminEditView.d.ts +23 -3
  4. package/dist/_internal/client/features/lottery/LotteryAdminEditView.js +106 -87
  5. package/dist/_internal/client/features/lottery/LotteryPullForm.d.ts +16 -5
  6. package/dist/_internal/client/features/lottery/LotteryPullForm.js +65 -40
  7. package/dist/_internal/server/features/auth/permissions.d.ts +2 -0
  8. package/dist/_internal/server/features/auth/permissions.js +3 -2
  9. package/dist/_internal/server/features/categories/data.js +15 -4
  10. package/dist/_internal/server/features/classified/index.d.ts +0 -1
  11. package/dist/_internal/server/features/classified/index.js +0 -1
  12. package/dist/_internal/server/features/digital-code/index.d.ts +0 -1
  13. package/dist/_internal/server/features/digital-code/index.js +0 -1
  14. package/dist/_internal/server/features/live/index.d.ts +0 -1
  15. package/dist/_internal/server/features/live/index.js +0 -1
  16. package/dist/_internal/server/features/products/data.js +15 -5
  17. package/dist/_internal/server/features/products/list-public.d.ts +9 -0
  18. package/dist/_internal/server/features/products/list-public.js +95 -7
  19. package/dist/_internal/server/features/site-settings/adapters.d.ts +2 -2
  20. package/dist/_internal/server/features/site-settings/adapters.js +8 -5
  21. package/dist/_internal/server/features/tester/visibility.d.ts +2 -1
  22. package/dist/_internal/server/features/tester/visibility.js +2 -2
  23. package/dist/_internal/server/functions/scheduled.d.ts +3 -1
  24. package/dist/_internal/server/functions/scheduled.js +27 -1
  25. package/dist/_internal/server/jobs/core/hardBanCascade.js +4 -0
  26. package/dist/_internal/server/jobs/core/index.d.ts +2 -0
  27. package/dist/_internal/server/jobs/core/index.js +2 -0
  28. package/dist/_internal/server/jobs/core/pageViewPrune.d.ts +10 -0
  29. package/dist/_internal/server/jobs/core/pageViewPrune.js +44 -0
  30. package/dist/_internal/server/jobs/core/pageViewRollup.d.ts +2 -0
  31. package/dist/_internal/server/jobs/core/pageViewRollup.js +87 -0
  32. package/dist/_internal/server/jobs/handlers/index.d.ts +2 -0
  33. package/dist/_internal/server/jobs/handlers/index.js +2 -0
  34. package/dist/_internal/server/jobs/handlers/pageViewPrune.d.ts +2 -0
  35. package/dist/_internal/server/jobs/handlers/pageViewPrune.js +2 -0
  36. package/dist/_internal/server/jobs/handlers/pageViewRollup.d.ts +2 -0
  37. package/dist/_internal/server/jobs/handlers/pageViewRollup.js +2 -0
  38. package/dist/_internal/shared/actions/action-registry.d.ts +1 -1
  39. package/dist/_internal/shared/actions/action-registry.js +69 -22
  40. package/dist/_internal/shared/checkout/rules/classified.rule.d.ts +9 -4
  41. package/dist/_internal/shared/checkout/rules/classified.rule.js +7 -2
  42. package/dist/_internal/shared/features/layout/matchesNavQuery.d.ts +14 -0
  43. package/dist/_internal/shared/features/layout/matchesNavQuery.js +72 -0
  44. package/dist/_internal/shared/features/layout/types.d.ts +37 -1
  45. package/dist/_internal/shared/features/layout/types.js +19 -1
  46. package/dist/_internal/shared/features/notifications/action-url.d.ts +9 -1
  47. package/dist/_internal/shared/features/notifications/action-url.js +47 -0
  48. package/dist/_internal/shared/features/offers/config.d.ts +65 -0
  49. package/dist/_internal/shared/features/offers/config.js +73 -2
  50. package/dist/_internal/shared/features/orders/schema.d.ts +19 -1
  51. package/dist/_internal/shared/features/orders/schema.js +22 -2
  52. package/dist/_internal/shared/features/site-settings/types.d.ts +12 -3
  53. package/dist/_internal/shared/listing-types/capabilities.d.ts +8 -2
  54. package/dist/_internal/shared/listing-types/capabilities.js +6 -1
  55. package/dist/_internal/shared/listing-types/classified/ctas.js +6 -1
  56. package/dist/_internal/shared/listing-types/feature-flags.d.ts +10 -5
  57. package/dist/_internal/shared/listing-types/feature-flags.js +11 -6
  58. package/dist/client.d.ts +37 -20
  59. package/dist/client.js +36 -14
  60. package/dist/configs/next.js +10 -2
  61. package/dist/constants/api-endpoints.d.ts +18 -54
  62. package/dist/constants/api-endpoints.js +6 -26
  63. package/dist/constants/field-names.d.ts +6 -24
  64. package/dist/constants/field-names.js +10 -27
  65. package/dist/constants/geo/countries.d.ts +50 -0
  66. package/dist/constants/geo/countries.js +129 -0
  67. package/dist/constants/geo/subdivisions.d.ts +13 -0
  68. package/dist/constants/geo/subdivisions.js +104 -0
  69. package/dist/constants/index.d.ts +2 -2
  70. package/dist/constants/index.js +2 -2
  71. package/dist/constants/table-keys.d.ts +24 -0
  72. package/dist/constants/table-keys.js +28 -0
  73. package/dist/contracts/extend.d.ts +0 -9
  74. package/dist/contracts/index.d.ts +1 -1
  75. package/dist/contracts/realtime-session.js +7 -0
  76. package/dist/core/browser.d.ts +1 -1
  77. package/dist/core/browser.js +1 -1
  78. package/dist/core/index.d.ts +1 -1
  79. package/dist/core/index.js +1 -1
  80. package/dist/core/site-config.d.ts +0 -3
  81. package/dist/core/site-config.js +0 -3
  82. package/dist/errors/messages.d.ts +0 -8
  83. package/dist/errors/messages.js +0 -9
  84. package/dist/features/about/schemas/index.d.ts +8 -8
  85. package/dist/features/account/components/AddressFilters.js +32 -11
  86. package/dist/features/account/components/AddressForm.d.ts +26 -25
  87. package/dist/features/account/components/AddressForm.js +81 -103
  88. package/dist/features/account/components/AddressesIndexListing.js +8 -4
  89. package/dist/features/account/components/UserSidebar.d.ts +3 -4
  90. package/dist/features/account/components/UserSupportView.js +89 -58
  91. package/dist/features/account/components/index.d.ts +1 -7
  92. package/dist/features/account/components/index.js +0 -3
  93. package/dist/features/account/hooks/useAddresses.d.ts +4 -3
  94. package/dist/features/account/hooks/useAddresses.js +4 -6
  95. package/dist/features/account/hooks/useCollapsedSections.d.ts +51 -10
  96. package/dist/features/account/hooks/useCollapsedSections.js +211 -38
  97. package/dist/features/account/hooks/useProfile.d.ts +8 -0
  98. package/dist/features/account/index.d.ts +0 -3
  99. package/dist/features/account/index.js +0 -3
  100. package/dist/features/account/schemas/index.d.ts +0 -92
  101. package/dist/features/account/schemas/index.js +42 -20
  102. package/dist/features/addresses/components/AddressLocationFields.d.ts +13 -0
  103. package/dist/features/addresses/components/AddressLocationFields.js +41 -0
  104. package/dist/features/addresses/hooks/usePostalLookup.d.ts +17 -0
  105. package/dist/features/addresses/hooks/usePostalLookup.js +133 -0
  106. package/dist/features/addresses/schemas/address-form.d.ts +423 -0
  107. package/dist/features/addresses/schemas/address-form.js +212 -0
  108. package/dist/features/addresses/schemas/index.d.ts +1 -0
  109. package/dist/features/addresses/schemas/index.js +8 -0
  110. package/dist/features/admin/actions/admin-read-actions.d.ts +1 -1
  111. package/dist/features/admin/actions/index.d.ts +0 -1
  112. package/dist/features/admin/actions/index.js +0 -1
  113. package/dist/features/admin/actions/notification-actions.js +1 -41
  114. package/dist/features/admin/components/AdminActionIndexView.d.ts +32 -0
  115. package/dist/features/admin/components/AdminActionIndexView.js +128 -0
  116. package/dist/features/admin/components/AdminAdEditorView.js +159 -163
  117. package/dist/features/admin/components/AdminAddressEditorView.js +97 -55
  118. package/dist/features/admin/components/AdminBrandEditorView.d.ts +15 -0
  119. package/dist/features/admin/components/AdminBrandEditorView.js +113 -77
  120. package/dist/features/admin/components/AdminBundleEditorView.d.ts +19 -9
  121. package/dist/features/admin/components/AdminBundleEditorView.js +136 -168
  122. package/dist/features/admin/components/AdminCategoryEditorView.js +120 -43
  123. package/dist/features/admin/components/AdminCouponEditorView.js +145 -109
  124. package/dist/features/admin/components/AdminEmployeeEditorView.js +125 -56
  125. package/dist/features/admin/components/AdminFaqEditorView.js +112 -58
  126. package/dist/features/admin/components/AdminFeatureEditorView.js +108 -68
  127. package/dist/features/admin/components/AdminNavEditorView.js +69 -44
  128. package/dist/features/admin/components/AdminOrderEditorView.js +47 -10
  129. package/dist/features/admin/components/AdminPrizeDrawsView.js +16 -2
  130. package/dist/features/admin/components/AdminSidebar.d.ts +11 -7
  131. package/dist/features/admin/components/AdminSiteSettingsView.js +37 -37
  132. package/dist/features/admin/components/AdminStoreEditorView.js +75 -52
  133. package/dist/features/admin/components/AdminSublistingCategoryEditorView.js +71 -30
  134. package/dist/features/admin/components/AdminTesterChecklistItemEditorView.js +95 -65
  135. package/dist/features/admin/components/BrandQuickCreateForm.d.ts +10 -0
  136. package/dist/features/admin/components/BrandQuickCreateForm.js +49 -26
  137. package/dist/features/admin/components/CategoryQuickCreateForm.d.ts +11 -0
  138. package/dist/features/admin/components/CategoryQuickCreateForm.js +48 -26
  139. package/dist/features/admin/components/index.d.ts +2 -2
  140. package/dist/features/admin/components/index.js +1 -1
  141. package/dist/features/admin/constants/site-settings-tabs.d.ts +120 -0
  142. package/dist/features/admin/constants/site-settings-tabs.js +152 -0
  143. package/dist/features/admin/index.d.ts +0 -3
  144. package/dist/features/admin/index.js +0 -2
  145. package/dist/features/admin/repository/analytics-rollup.repository.d.ts +35 -0
  146. package/dist/features/admin/repository/analytics-rollup.repository.js +30 -0
  147. package/dist/features/admin/schemas/admin-editor-forms.d.ts +56 -57
  148. package/dist/features/admin/schemas/admin-editor-forms.js +97 -54
  149. package/dist/features/admin/schemas/admin-ops-forms.d.ts +57 -5
  150. package/dist/features/admin/schemas/admin-ops-forms.js +104 -20
  151. package/dist/features/admin/schemas/admin-user-form.js +7 -0
  152. package/dist/features/admin/schemas/firestore.d.ts +48 -95
  153. package/dist/features/admin/schemas/firestore.js +15 -151
  154. package/dist/features/admin/schemas/nav-item-form.js +9 -2
  155. package/dist/features/admin/server.d.ts +0 -4
  156. package/dist/features/admin/server.js +0 -2
  157. package/dist/features/admin/types/index.d.ts +0 -7
  158. package/dist/features/analytics/repository/page-views.repository.d.ts +14 -0
  159. package/dist/features/analytics/repository/page-views.repository.js +24 -0
  160. package/dist/features/auth/actions/index.d.ts +0 -1
  161. package/dist/features/auth/actions/index.js +0 -1
  162. package/dist/features/auth/actions/realtime-token-actions.js +1 -12
  163. package/dist/features/auth/auth-helpers.js +5 -7
  164. package/dist/features/auth/components/Guards.js +2 -1
  165. package/dist/features/auth/components/LoginForm.d.ts +0 -2
  166. package/dist/features/auth/components/LoginForm.js +1 -3
  167. package/dist/features/auth/components/RegisterForm.js +62 -19
  168. package/dist/features/auth/permissions/constants.d.ts +27 -1
  169. package/dist/features/auth/role-predicates.d.ts +75 -7
  170. package/dist/features/auth/role-predicates.js +28 -2
  171. package/dist/features/auth/schemas/firestore.d.ts +22 -0
  172. package/dist/features/auth/schemas/index.d.ts +1 -1
  173. package/dist/features/auth/schemas/index.js +44 -8
  174. package/dist/features/auth/types/index.d.ts +14 -1
  175. package/dist/features/blog/api/route.js +10 -2
  176. package/dist/features/blog/components/BlogIndexListing.js +1 -1
  177. package/dist/features/blog/hooks/useBlog.js +2 -2
  178. package/dist/features/blog/schemas/index.d.ts +4 -0
  179. package/dist/features/blog/schemas/index.js +2 -0
  180. package/dist/features/blog/types/index.d.ts +1 -1
  181. package/dist/features/catalogue/components/CatalogueItemEditorView.d.ts +22 -0
  182. package/dist/features/catalogue/components/CatalogueItemEditorView.js +112 -52
  183. package/dist/features/catalogue/schemas/validation.d.ts +4 -4
  184. package/dist/features/catalogue/schemas/validation.js +47 -10
  185. package/dist/features/categories/schemas/bundle-form.d.ts +142 -0
  186. package/dist/features/categories/schemas/bundle-form.js +149 -0
  187. package/dist/features/classified/components/ClassifiedDetailPageView.d.ts +5 -4
  188. package/dist/features/classified/components/ClassifiedDetailPageView.js +37 -16
  189. package/dist/features/consultation/components/ConsultationForm.js +1 -1
  190. package/dist/features/consultation/schemas/index.js +34 -10
  191. package/dist/features/corporate/schemas/index.js +36 -15
  192. package/dist/features/filters/FilterPanel.js +3 -3
  193. package/dist/features/filters/RangeFilter.d.ts +10 -0
  194. package/dist/features/filters/RangeFilter.js +41 -4
  195. package/dist/features/homepage/components/MarketplaceHomepageView.js +24 -5
  196. package/dist/features/homepage/hooks/useBlogArticles.js +1 -1
  197. package/dist/features/layout/BottomActions.js +84 -11
  198. package/dist/features/layout/BottomActionsContext.d.ts +1 -6
  199. package/dist/features/layout/BottomActionsContext.js +1 -1
  200. package/dist/features/layout/hooks/useBottomActions.js +2 -2
  201. package/dist/features/layout/hooks/useFormBottomActions.d.ts +12 -1
  202. package/dist/features/layout/hooks/useFormBottomActions.js +12 -6
  203. package/dist/features/lottery/schemas/config-write.d.ts +9 -5
  204. package/dist/features/lottery/schemas/config-write.js +69 -9
  205. package/dist/features/orders/schemas/buyer-forms.d.ts +6 -3
  206. package/dist/features/orders/schemas/buyer-forms.js +31 -3
  207. package/dist/features/orders/schemas/index.d.ts +2 -2
  208. package/dist/features/products/components/GroupSettingsPanel.js +3 -1
  209. package/dist/features/products/components/MakeOfferButton.d.ts +13 -2
  210. package/dist/features/products/components/MakeOfferButton.js +33 -11
  211. package/dist/features/products/components/ProductDetailActions.js +0 -1
  212. package/dist/features/products/components/ProductDetailPageView.d.ts +7 -3
  213. package/dist/features/products/components/ProductDetailPageView.js +8 -5
  214. package/dist/features/products/constants/action-defs.d.ts +1 -2
  215. package/dist/features/products/constants/action-defs.js +40 -43
  216. package/dist/features/products/repository/products.repository.d.ts +5 -1
  217. package/dist/features/products/repository/products.repository.js +23 -1
  218. package/dist/features/products/schemas/firestore.d.ts +7 -3
  219. package/dist/features/products/schemas/product-features.validators.js +3 -0
  220. package/dist/features/promotions/components/CouponCard.js +8 -7
  221. package/dist/features/scams/schemas/firestore.d.ts +15 -1
  222. package/dist/features/scams/schemas/report-form.d.ts +5 -5
  223. package/dist/features/scams/schemas/report-form.js +18 -3
  224. package/dist/features/search/action-index/derive.d.ts +49 -0
  225. package/dist/features/search/action-index/derive.js +121 -0
  226. package/dist/features/search/action-index/repository.d.ts +42 -0
  227. package/dist/features/search/action-index/repository.js +100 -0
  228. package/dist/features/search/action-index/settings-entries.d.ts +41 -0
  229. package/dist/features/search/action-index/settings-entries.js +268 -0
  230. package/dist/features/search/action-index/types.d.ts +81 -0
  231. package/dist/features/search/action-index/types.js +102 -0
  232. package/dist/features/search/action-index/validate-entry.d.ts +34 -0
  233. package/dist/features/search/action-index/validate-entry.js +114 -0
  234. package/dist/features/search/hooks/useNavSuggestions.d.ts +5 -1
  235. package/dist/features/search/hooks/useNavSuggestions.js +23 -3
  236. package/dist/features/search/repository/search.repository.js +3 -1
  237. package/dist/features/seller/actions/offer-actions.js +43 -24
  238. package/dist/features/seller/actions/seller-actions.js +29 -5
  239. package/dist/features/seller/components/CategoryChipPicker.d.ts +9 -0
  240. package/dist/features/seller/components/CategoryChipPicker.js +12 -0
  241. package/dist/features/seller/components/SellerAddressesView.js +5 -1
  242. package/dist/features/seller/components/SellerAnalyticsAlertsView.js +83 -43
  243. package/dist/features/seller/components/SellerArtView.d.ts +14 -7
  244. package/dist/features/seller/components/SellerArtView.js +4 -119
  245. package/dist/features/seller/components/SellerClassifiedView.d.ts +14 -7
  246. package/dist/features/seller/components/SellerClassifiedView.js +4 -124
  247. package/dist/features/seller/components/SellerCouponEditorView.d.ts +22 -1
  248. package/dist/features/seller/components/SellerCouponEditorView.js +91 -45
  249. package/dist/features/seller/components/SellerDigitalCodesView.d.ts +14 -7
  250. package/dist/features/seller/components/SellerDigitalCodesView.js +4 -126
  251. package/dist/features/seller/components/SellerListingTypeView.d.ts +66 -0
  252. package/dist/features/seller/components/SellerListingTypeView.js +277 -0
  253. package/dist/features/seller/components/SellerLiveView.d.ts +14 -7
  254. package/dist/features/seller/components/SellerLiveView.js +4 -126
  255. package/dist/features/seller/components/SellerSidebar.d.ts +3 -6
  256. package/dist/features/seller/components/SellerStickersView.d.ts +14 -7
  257. package/dist/features/seller/components/SellerStickersView.js +4 -119
  258. package/dist/features/seller/components/SellerSupportView.d.ts +31 -0
  259. package/dist/features/seller/components/SellerSupportView.js +100 -0
  260. package/dist/features/seller/components/index.d.ts +4 -8
  261. package/dist/features/seller/components/index.js +2 -4
  262. package/dist/features/seller/index.d.ts +0 -1
  263. package/dist/features/seller/index.js +0 -1
  264. package/dist/features/seller/schemas/coupon-form.d.ts +214 -0
  265. package/dist/features/seller/schemas/coupon-form.js +155 -23
  266. package/dist/features/seller/schemas/offer-forms.d.ts +16 -7
  267. package/dist/features/seller/schemas/offer-forms.js +28 -12
  268. package/dist/features/shell/FormShell.js +2 -2
  269. package/dist/features/shell/QuickFormDrawer.js +2 -2
  270. package/dist/features/shell/SectionForm.d.ts +19 -1
  271. package/dist/features/shell/SectionForm.js +104 -17
  272. package/dist/features/shell/build-sections.d.ts +23 -0
  273. package/dist/features/shell/build-sections.js +106 -8
  274. package/dist/features/shell/field-ui-meta.d.ts +44 -0
  275. package/dist/features/shell/field-ui-meta.js +14 -7
  276. package/dist/features/shell/form-sections.d.ts +46 -0
  277. package/dist/features/shell/form-sections.js +114 -0
  278. package/dist/features/shipments/components/AdminShipmentEditorView.js +87 -64
  279. package/dist/features/shipments/schemas/validation.d.ts +2 -2
  280. package/dist/features/shipments/schemas/validation.js +44 -13
  281. package/dist/features/store-extensions/schemas/custom-role-form.js +6 -2
  282. package/dist/features/store-extensions/schemas/listing-template-form.d.ts +7 -7
  283. package/dist/features/store-extensions/schemas/payout-method-form.js +14 -0
  284. package/dist/features/stores/actions/store-query-actions.js +3 -2
  285. package/dist/features/stores/api/[storeSlug]/auctions/route.js +3 -1
  286. package/dist/features/stores/api/[storeSlug]/products/route.js +3 -1
  287. package/dist/features/support/repository/support.repository.d.ts +21 -0
  288. package/dist/features/support/repository/support.repository.js +63 -0
  289. package/dist/features/support/schemas/firestore.d.ts +27 -2
  290. package/dist/features/support/schemas/firestore.js +2 -0
  291. package/dist/features/support/schemas/ticket-create-form.js +7 -0
  292. package/dist/features/tester/schemas/checklist-item-form.d.ts +43 -0
  293. package/dist/features/tester/schemas/checklist-item-form.js +109 -0
  294. package/dist/features/tester/seed-data/blog-tester-seed-data.js +2 -2
  295. package/dist/features/tester/seed-data/categories-tester-seed-data.js +2 -2
  296. package/dist/features/tester/seed-data/events-tester-seed-data.js +5 -5
  297. package/dist/features/tester/seed-data/orders-tester-seed-data.js +2 -2
  298. package/dist/features/tester/seed-data/products-tester-seed-data.js +48 -49
  299. package/dist/features/tester/seed-data/stores-tester-seed-data.js +3 -3
  300. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +275 -29
  301. package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +48 -12
  302. package/dist/http/api-handler.js +2 -1
  303. package/dist/index.d.ts +24 -103
  304. package/dist/index.js +33 -141
  305. package/dist/jobs.d.ts +1 -1
  306. package/dist/jobs.js +1 -1
  307. package/dist/monitoring/browser.d.ts +0 -2
  308. package/dist/monitoring/browser.js +12 -1
  309. package/dist/monitoring/index.d.ts +0 -2
  310. package/dist/monitoring/index.js +0 -1
  311. package/dist/next/api/routeHandler.js +6 -3
  312. package/dist/next/index.d.ts +1 -2
  313. package/dist/next/index.js +0 -1
  314. package/dist/next/middleware/index.d.ts +0 -2
  315. package/dist/next/middleware/index.js +0 -1
  316. package/dist/next/routing/route-map.d.ts +8 -7
  317. package/dist/next/routing/route-map.js +10 -3
  318. package/dist/providers/db-firebase/admin.js +15 -1
  319. package/dist/providers/db-firebase/sieve.d.ts +22 -0
  320. package/dist/react/hooks/useListingTypeFlags.d.ts +1 -1
  321. package/dist/react/hooks/useListingTypeFlags.js +1 -1
  322. package/dist/react/hooks/usePendingFilters.js +5 -3
  323. package/dist/react/hooks/usePendingTable.js +15 -3
  324. package/dist/repositories/index.d.ts +0 -1
  325. package/dist/repositories/index.js +0 -1
  326. package/dist/schemas/registry.d.ts +197 -232
  327. package/dist/schemas/registry.js +5 -6
  328. package/dist/schemas/webhooks/razorpay.d.ts +50 -50
  329. package/dist/security/authorization.d.ts +9 -0
  330. package/dist/security/authorization.js +16 -2
  331. package/dist/security/browser.d.ts +1 -3
  332. package/dist/security/browser.js +5 -2
  333. package/dist/security/index.d.ts +1 -3
  334. package/dist/security/index.js +19 -2
  335. package/dist/security/pii-encrypt.js +16 -0
  336. package/dist/security/pii-schemas.d.ts +0 -14
  337. package/dist/security/pii-schemas.js +7 -15
  338. package/dist/seed/_helpers/category-forest.js +2 -2
  339. package/dist/seed/_helpers/media.d.ts +19 -0
  340. package/dist/seed/_helpers/media.js +75 -0
  341. package/dist/seed/blog-posts-seed-data.js +17 -17
  342. package/dist/seed/carousel-slides-seed-data.js +7 -7
  343. package/dist/seed/cart-seed-data.js +13 -13
  344. package/dist/seed/categories-seed-data.js +10 -10
  345. package/dist/seed/events-seed-data.js +24 -24
  346. package/dist/seed/factories/product.factory.js +4 -4
  347. package/dist/seed/factories/store.factory.js +3 -3
  348. package/dist/seed/factories/user.factory.js +2 -2
  349. package/dist/seed/grouped-listings-seed-data.js +11 -11
  350. package/dist/seed/homepage-sections-seed-data.js +2 -2
  351. package/dist/seed/index.d.ts +0 -1
  352. package/dist/seed/index.js +0 -1
  353. package/dist/seed/manifest.d.ts +1 -1
  354. package/dist/seed/manifest.js +0 -5
  355. package/dist/seed/notifications-seed-data.js +20 -1
  356. package/dist/seed/orders-seed-data.js +2 -2
  357. package/dist/seed/products-art-seed-data.js +16 -16
  358. package/dist/seed/products-auctions-seed-data.js +34 -34
  359. package/dist/seed/products-classifieds-seed-data.js +35 -37
  360. package/dist/seed/products-digital-codes-seed-data.js +20 -20
  361. package/dist/seed/products-live-items-seed-data.js +11 -11
  362. package/dist/seed/products-preorders-seed-data.js +13 -13
  363. package/dist/seed/products-prize-draws-seed-data.js +43 -43
  364. package/dist/seed/products-standard-seed-data.js +54 -54
  365. package/dist/seed/products-stickers-seed-data.js +15 -15
  366. package/dist/seed/reviews-seed-data.js +4 -4
  367. package/dist/seed/scammers-seed-data.js +3 -3
  368. package/dist/seed/site-settings-seed-data.js +11 -24
  369. package/dist/seed/store-extensions-seed-data.js +10 -10
  370. package/dist/seed/stores-seed-data.js +11 -11
  371. package/dist/seed/support-tickets-seed-data.d.ts +14 -0
  372. package/dist/seed/support-tickets-seed-data.js +20 -1
  373. package/dist/seed/users-seed-data.js +20 -20
  374. package/dist/server-entry.d.ts +0 -1
  375. package/dist/server-entry.js +0 -1
  376. package/dist/server.d.ts +9 -6
  377. package/dist/server.js +7 -13
  378. package/dist/styles.css +248 -68
  379. package/dist/tailwind-utilities.css +1 -1
  380. package/dist/tokens/themes/default-dark.js +2 -2
  381. package/dist/tokens/themes/default-light.js +2 -2
  382. package/dist/tokens/tokens.css +24 -4
  383. package/dist/ui/components/ActionRow.d.ts +50 -0
  384. package/dist/ui/components/ActionRow.js +53 -0
  385. package/dist/ui/components/ActionRow.style.css +145 -0
  386. package/dist/ui/components/Drawer.d.ts +10 -0
  387. package/dist/ui/components/Drawer.js +2 -1
  388. package/dist/ui/components/FilterDrawer.js +4 -1
  389. package/dist/ui/components/FilterDrawer.style.css +6 -12
  390. package/dist/ui/components/FormActionBar.js +14 -1
  391. package/dist/ui/components/FormActionBar.style.css +12 -11
  392. package/dist/ui/components/ListingLayout.js +8 -1
  393. package/dist/ui/components/ListingLayout.style.css +6 -13
  394. package/dist/ui/components/Modal.d.ts +15 -1
  395. package/dist/ui/components/Modal.js +17 -3
  396. package/dist/ui/components/QuickCreateModal.js +2 -2
  397. package/dist/ui/components/QuickCreateModal.style.css +78 -84
  398. package/dist/ui/components/RecordDetailModal.js +2 -2
  399. package/dist/ui/components/SideDrawer.d.ts +8 -0
  400. package/dist/ui/components/SideDrawer.js +2 -1
  401. package/dist/ui/components/SideDrawer.style.css +6 -3
  402. package/dist/ui/components/SideModal.d.ts +11 -1
  403. package/dist/ui/components/SideModal.js +3 -2
  404. package/dist/ui/components/SideModal.style.css +14 -0
  405. package/dist/ui/components/Typography.style.css +33 -24
  406. package/dist/ui/components/index.style.css +1 -0
  407. package/dist/ui/forms/FormShell.style.css +260 -311
  408. package/dist/ui/index.d.ts +2 -0
  409. package/dist/ui/index.js +1 -0
  410. package/dist/utils/index.d.ts +0 -1
  411. package/dist/utils/index.js +0 -1
  412. package/dist/validation/index.d.ts +1 -1
  413. package/dist/validation/index.js +1 -1
  414. package/dist/validation/schemas.d.ts +0 -19
  415. package/dist/validation/schemas.js +8 -19
  416. package/package.json +1 -1
  417. package/scripts/seed-cli.mjs +3 -6
package/dist/index.js CHANGED
@@ -385,8 +385,6 @@ export { ZodSetup } from "./validation/index";
385
385
  // addPhoneSchema - Helper for add phone schema.
386
386
  export { addPhoneSchema } from "./validation/index";
387
387
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
388
- // addressSchema - Model for address schema.
389
- export { addressSchema } from "./validation/index";
390
388
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
391
389
  // calculatePasswordStrength - Helper for calculate password strength.
392
390
  export { calculatePasswordStrength } from "./validation/index";
@@ -659,8 +657,6 @@ export { CopilotLogRepository } from "./core/index";
659
657
  // EventBus - Shared export for event bus.
660
658
  export { EventBus } from "./core/index";
661
659
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
662
- // FEATURE_FLAGS - Constant used across modules.
663
- export { FEATURE_FLAGS } from "./core/index";
664
660
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
665
661
  // Logger - Shared export for logger.
666
662
  export { Logger } from "./core/index";
@@ -781,14 +777,9 @@ export { ADDRESS_PII_FIELDS } from "./security/index";
781
777
  // BID_PII_FIELDS - Constant used across modules.
782
778
  export { BID_PII_FIELDS } from "./security/index";
783
779
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
784
- // CHAT_PII_FIELDS - Constant used across modules.
785
- export { CHAT_PII_FIELDS } from "./security/index";
786
780
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
787
781
  // Can - Shared export for can.
788
- export { Can } from "./security/index";
789
782
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
790
- // DEFAULT_ROLES - Constant used across modules.
791
- export { DEFAULT_ROLES } from "./security/index";
792
783
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
793
784
  // EVENT_ENTRY_PII_FIELDS - Constant used across modules.
794
785
  export { EVENT_ENTRY_PII_FIELDS } from "./security/index";
@@ -840,17 +831,9 @@ export { canChangeRole } from "./security/index";
840
831
  // clearRateLimitStore - Shared export for clear rate limit store.
841
832
  export { clearRateLimitStore } from "./security/index";
842
833
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
843
- // createRbacHook - Helper for create rbac hook.
844
- export { createRbacHook } from "./security/index";
845
834
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
846
- // createRbacMiddleware - Helper for create rbac middleware.
847
- export { createRbacMiddleware } from "./security/index";
848
835
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
849
- // createRequirePermission - Helper for create require permission.
850
- export { createRequirePermission } from "./security/index";
851
836
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
852
- // createRequirePermissionSync - Helper for create require permission sync.
853
- export { createRequirePermissionSync } from "./security/index";
854
837
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
855
838
  // decryptSecret - Helper for decrypt secret.
856
839
  export { decryptSecret } from "./security/index";
@@ -865,13 +848,13 @@ export { generateNonce } from "./security/index";
865
848
  export { getRoleLevel } from "./security/index";
866
849
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
867
850
  // hasAllPermissions - Shared export for has all permissions.
868
- export { hasAllPermissions } from "./security/index";
851
+ export { hasAllPermissions } from "./features/auth/permissions/constants";
869
852
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
870
853
  // hasAnyPermission - Model for has any permission.
871
- export { hasAnyPermission } from "./security/index";
854
+ export { hasAnyPermission } from "./features/auth/permissions/constants";
872
855
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
873
856
  // hasPermission - Model for has permission.
874
- export { hasPermission } from "./security/index";
857
+ export { hasPermission } from "./features/auth/permissions/constants";
875
858
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
876
859
  // isSecretEncrypted - Shared export for is secret encrypted.
877
860
  export { isSecretEncrypted } from "./security/index";
@@ -904,9 +887,6 @@ export { requireOwnership } from "./security/index";
904
887
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
905
888
  // requireRole - Model for require role.
906
889
  export { requireRole } from "./security/index";
907
- // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
908
- // resolvePermissions - Helper for resolve permissions.
909
- export { resolvePermissions } from "./security/index";
910
890
  // ./repositories/index
911
891
  // [DB]-Database layer â€" uses firebase-admin or another server-side DB SDK; can only run in a trusted server environment.
912
892
  // AddressesRepository - unified top-level addresses collection (SB-UNI-A 2026-05-13).
@@ -1006,8 +986,6 @@ export { cartRepository } from "./repositories/index";
1006
986
  // categoriesRepository - Shared export for categories repository.
1007
987
  export { categoriesRepository } from "./repositories/index";
1008
988
  // [DB]-Database layer â€" uses firebase-admin or another server-side DB SDK; can only run in a trusted server environment.
1009
- // chatRepository - Shared export for chat repository.
1010
- export { chatRepository } from "./repositories/index";
1011
989
  // [DB]-Database layer â€" uses firebase-admin or another server-side DB SDK; can only run in a trusted server environment.
1012
990
  // couponsRepository - Shared export for coupons repository.
1013
991
  export { couponsRepository } from "./repositories/index";
@@ -1392,16 +1370,10 @@ export { usersSeedData } from "./seed/index";
1392
1370
  export { wishlistsSeedData } from "./seed/index";
1393
1371
  // historySeedData - Model for history (recently-viewed) seed data.
1394
1372
  export { historySeedData } from "./seed/index";
1395
- // conversationsSeedData - Model for conversations seed data.
1396
- export { conversationsSeedData } from "./seed/index";
1397
1373
  // SB-UNI-B â€" sublistingCategoriesSeedData merged into categoriesSeedData with categoryType:"sublisting".
1398
1374
  // groupedListingsSeedData - Model for grouped listings seed data.
1399
1375
  export { groupedListingsSeedData } from "./seed/index";
1400
1376
  export { NOTIFICATION_TYPE_VALUES } from "./features/admin/schemas/firestore";
1401
- // ./monitoring/index
1402
- // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1403
- // ANALYTICS_EVENTS - Constant used across modules.
1404
- export { ANALYTICS_EVENTS } from "./monitoring/index";
1405
1377
  // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1406
1378
  // ErrorCategory - Shared export for error category.
1407
1379
  export { ErrorCategory } from "./monitoring/index";
@@ -1427,9 +1399,6 @@ export { getCacheMetrics } from "./monitoring/index";
1427
1399
  // getCacheStatistics - Helper for get cache statistics.
1428
1400
  export { getCacheStatistics } from "./monitoring/index";
1429
1401
  // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1430
- // initializeAnalytics - Shared export for initialize analytics.
1431
- export { initializeAnalytics } from "./monitoring/index";
1432
- // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1433
1402
  // initializeClientLogger - Shared export for initialize client logger.
1434
1403
  export { initializeClientLogger } from "./monitoring/index";
1435
1404
  // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
@@ -1520,12 +1489,6 @@ export { resetCacheMetrics } from "./monitoring/index";
1520
1489
  // serverLogger - Shared export for server logger.
1521
1490
  export { serverLogger } from "./monitoring/index";
1522
1491
  // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1523
- // setAnalyticsUserId - Helper for set analytics user id.
1524
- export { setAnalyticsUserId } from "./monitoring/index";
1525
- // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1526
- // setAnalyticsUserProperties - Helper for set analytics user properties.
1527
- export { setAnalyticsUserProperties } from "./monitoring/index";
1528
- // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1529
1492
  // setErrorTracker - Helper for set error tracker.
1530
1493
  export { setErrorTracker } from "./monitoring/index";
1531
1494
  // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
@@ -1544,39 +1507,18 @@ export { startTrace } from "./monitoring/index";
1544
1507
  // stopTrace - Helper for stop trace.
1545
1508
  export { stopTrace } from "./monitoring/index";
1546
1509
  // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1547
- // trackAdmin - Helper for track admin.
1548
- export { trackAdmin } from "./monitoring/index";
1549
- // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1550
1510
  // trackApiError - Helper for track api error.
1551
1511
  export { trackApiError } from "./monitoring/index";
1552
1512
  // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1553
- // trackAuth - Helper for track auth.
1554
- export { trackAuth } from "./monitoring/index";
1555
- // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1556
1513
  // trackAuthError - Helper for track auth error.
1557
1514
  export { trackAuthError } from "./monitoring/index";
1558
1515
  // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1559
- // trackContent - Helper for track content.
1560
- export { trackContent } from "./monitoring/index";
1561
- // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1562
1516
  // trackDatabaseError - Helper for track database error.
1563
1517
  export { trackDatabaseError } from "./monitoring/index";
1564
1518
  // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1565
- // trackEcommerce - Helper for track ecommerce.
1566
- export { trackEcommerce } from "./monitoring/index";
1567
- // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1568
1519
  // trackError - Helper for track error.
1569
1520
  export { trackError } from "./monitoring/index";
1570
1521
  // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1571
- // trackEvent - Helper for track event.
1572
- export { trackEvent } from "./monitoring/index";
1573
- // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1574
- // trackForm - Helper for track form.
1575
- export { trackForm } from "./monitoring/index";
1576
- // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1577
- // trackPageView - Helper for track page view.
1578
- export { trackPageView } from "./monitoring/index";
1579
- // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
1580
1522
  // trackPermissionError - Helper for track permission error.
1581
1523
  export { trackPermissionError } from "./monitoring/index";
1582
1524
  // [UTIL]-Pure utility â€" no framework or runtime dependency; safe to import from any environment.
@@ -1631,8 +1573,6 @@ export { createApiHandlerFactory } from "./next/index";
1631
1573
  // createApiMiddleware - Helper for create api middleware.
1632
1574
  export { createApiMiddleware } from "./next/index";
1633
1575
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
1634
- // createPiiRedactorMiddleware - Helper for create pii redactor middleware.
1635
- export { createPiiRedactorMiddleware } from "./next/index";
1636
1576
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
1637
1577
  // createRouteHandler - Helper for create route handler.
1638
1578
  export { createRouteHandler } from "./next/index";
@@ -1914,8 +1854,6 @@ export { ADDRESS_PUBLIC_FIELDS } from "./features/account/index";
1914
1854
  // ADDRESS_SUBCOLLECTION - Constant used across modules.
1915
1855
  export { ADDRESS_SUBCOLLECTION } from "./features/account/index";
1916
1856
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
1917
- // ADDRESS_TYPES - Constant used across modules.
1918
- export { ADDRESS_TYPES } from "./features/account/index";
1919
1857
  // [SCHEMA]-Schema / data-shape constant â€" Zod validator, default-value object, or Firestore collection/field name constant.
1920
1858
  // ADDRESS_UPDATABLE_FIELDS - Constant used across modules.
1921
1859
  export { ADDRESS_UPDATABLE_FIELDS } from "./features/account/index";
@@ -1934,22 +1872,10 @@ export { AddressSelectorCreate } from "./features/account/index";
1934
1872
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
1935
1873
  // BecomeSellerView - Component for become seller view.
1936
1874
  export { BecomeSellerView } from "./features/account/index";
1937
- // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
1938
- // ChatList - Shared export for chat list.
1939
- export { ChatList } from "./features/account/index";
1940
- // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
1941
- // ChatWindow - Shared export for chat window.
1942
- export { ChatWindow } from "./features/account/index";
1943
1875
  // [SCHEMA]-Schema / data-shape constant â€" Zod validator, default-value object, or Firestore collection/field name constant.
1944
1876
  // DEFAULT_ADDRESS_DATA - Constant used across modules.
1945
1877
  export { DEFAULT_ADDRESS_DATA } from "./features/account/index";
1946
1878
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
1947
- // INDIAN_STATES - Constant used across modules.
1948
- export { INDIAN_STATES } from "./features/account/index";
1949
- // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
1950
- // MessagesView - Component for messages view.
1951
- export { MessagesView } from "./features/account/index";
1952
- // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
1953
1879
  // NotificationBell - Shared export for notification bell.
1954
1880
  export { NotificationBell } from "./features/account/index";
1955
1881
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
@@ -2002,8 +1928,6 @@ export { updateProfileSchema } from "./features/account/index";
2002
1928
  // useAddress - React hook for use address.
2003
1929
  export { useAddress } from "./features/account/index";
2004
1930
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2005
- // useAddressForm - React hook for use address form.
2006
- export { useAddressForm } from "./features/account/index";
2007
1931
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2008
1932
  // useAddressSelector - React hook for use address selector.
2009
1933
  export { useAddressSelector } from "./features/account/index";
@@ -2038,14 +1962,9 @@ export { useUpdateAddress } from "./features/account/index";
2038
1962
  // useUpdateProfile - React hook for use update profile.
2039
1963
  export { useUpdateProfile } from "./features/account/index";
2040
1964
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2041
- // userAddressSchema - Model for user address schema.
2042
- export { userAddressSchema } from "./features/account/index";
2043
1965
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2044
1966
  // userProfileSchema - Model for user profile schema.
2045
1967
  export { userProfileSchema } from "./features/account/index";
2046
- // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2047
- // validateAddressForm - Helper for validate address form.
2048
- export { validateAddressForm } from "./features/account/index";
2049
1968
  // ./features/account/server
2050
1969
  // [DB]-Database layer â€" uses firebase-admin or another server-side DB SDK; can only run in a trusted server environment.
2051
1970
  // AccountRepository - Shared export for account repository.
@@ -2070,8 +1989,6 @@ export { setDefaultAddressForUser } from "./features/account/server";
2070
1989
  export { updateAddressForUser } from "./features/account/server";
2071
1990
  // ./features/admin/index
2072
1991
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2073
- // ADMIN_PAGE_PERMISSIONS - Constant used across modules.
2074
- export { ADMIN_PAGE_PERMISSIONS } from "./features/admin/index";
2075
1992
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2076
1993
  // ADMIN_PRODUCT_STATUS_OPTIONS - Constant used across modules.
2077
1994
  export { ADMIN_PRODUCT_STATUS_OPTIONS } from "./features/admin/index";
@@ -2141,8 +2058,6 @@ export { BugHunterLeaderboardView } from "./features/tester/index";
2141
2058
  // AdminNavEditorView - SideDrawer form for nav item create/edit.
2142
2059
  export { AdminNavEditorView } from "./features/admin/index";
2143
2060
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2144
- // AdminFeatureFlagsView - Component for admin feature flags view.
2145
- export { AdminFeatureFlagsView } from "./features/admin/index";
2146
2061
  // AdminNewsletterView - Admin view for newsletter subscribers.
2147
2062
  export { AdminNewsletterView } from "./features/admin/index";
2148
2063
  // AdminContactView - Admin view for contact form submissions.
@@ -2277,17 +2192,9 @@ export { AdminTopProductsTable } from "./features/admin/index";
2277
2192
  // AdminUsersView - Component for admin users view.
2278
2193
  export { AdminUsersView } from "./features/admin/index";
2279
2194
  // [SCHEMA]-Schema / data-shape constant â€" Zod validator, default-value object, or Firestore collection/field name constant.
2280
- // CHAT_ROOM_COLLECTION - Constant used across modules.
2281
- export { CHAT_ROOM_COLLECTION } from "./features/admin/index";
2282
2195
  // [SCHEMA]-Schema / data-shape constant â€" Zod validator, default-value object, or Firestore collection/field name constant.
2283
- // CHAT_ROOM_FIELDS - Constant used across modules.
2284
- export { CHAT_ROOM_FIELDS } from "./features/admin/index";
2285
2196
  // [SCHEMA]-Schema / data-shape constant â€" Zod validator, default-value object, or Firestore collection/field name constant.
2286
- // CHAT_ROOM_INDEXED_FIELDS - Constant used across modules.
2287
- export { CHAT_ROOM_INDEXED_FIELDS } from "./features/admin/index";
2288
2197
  // [SCHEMA]-Schema / data-shape constant â€" Zod validator, default-value object, or Firestore collection/field name constant.
2289
- // DEFAULT_CHAT_ROOM_DATA - Constant used across modules.
2290
- export { DEFAULT_CHAT_ROOM_DATA } from "./features/admin/index";
2291
2198
  // [SCHEMA]-Schema / data-shape constant â€" Zod validator, default-value object, or Firestore collection/field name constant.
2292
2199
  // DEFAULT_NOTIFICATION_CHANNELS - Default channel config (inApp always on, others off).
2293
2200
  export { DEFAULT_NOTIFICATION_CHANNELS } from "./features/admin/index";
@@ -2327,8 +2234,6 @@ export { AdminSupportTicketDetailView } from "./features/admin/index";
2327
2234
  // DrawerFormFooter - Shared export for drawer form footer.
2328
2235
  export { DrawerFormFooter } from "./features/admin/index";
2329
2236
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2330
- // FEATURE_FLAG_META - Constant used across modules.
2331
- export { FEATURE_FLAG_META } from "./features/admin/index";
2332
2237
  // [SCHEMA]-Schema / data-shape constant â€" Zod validator, default-value object, or Firestore collection/field name constant.
2333
2238
  // NOTIFICATIONS_COLLECTION - Constant used across modules.
2334
2239
  export { NOTIFICATIONS_COLLECTION } from "./features/admin/index";
@@ -2351,26 +2256,16 @@ export { SITE_SETTINGS_INDEXED_FIELDS } from "./features/admin/index";
2351
2256
  // SITE_SETTINGS_PUBLIC_FIELDS - Constant used across modules.
2352
2257
  export { SITE_SETTINGS_PUBLIC_FIELDS } from "./features/admin/index";
2353
2258
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2354
- // chatRoomQueryHelpers - Shared export for chat room query helpers.
2355
- export { chatRoomQueryHelpers } from "./features/admin/index";
2356
2259
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2357
2260
  // notificationQueryHelpers - Shared export for notification query helpers.
2358
2261
  export { notificationQueryHelpers } from "./features/admin/index";
2359
2262
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2360
- // useChat - React hook for use chat.
2361
- export { useChat } from "./features/admin/index";
2362
2263
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2363
- // useChatRooms - React hook for use chat rooms.
2364
- export { useChatRooms } from "./features/admin/index";
2365
2264
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2366
- // useCreateChatRoom - React hook for use create chat room.
2367
- export { useCreateChatRoom } from "./features/admin/index";
2368
2265
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2369
2266
  // useDashboardStats - React hook for use dashboard stats.
2370
2267
  export { useDashboardStats } from "./features/admin/index";
2371
2268
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2372
- // useDeleteChatRoom - React hook for use delete chat room.
2373
- export { useDeleteChatRoom } from "./features/admin/index";
2374
2269
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2375
2270
  // useAdminListingData - React hook for admin listing data fetching.
2376
2271
  export { useAdminListingData } from "./features/admin/index";
@@ -2387,6 +2282,7 @@ export { toRelativeDate } from "./features/admin/index";
2387
2282
  export { AdminScammersView } from "./features/admin/index";
2388
2283
  // AdminScammerEditorView - Scammer profile review/status SideDrawer.
2389
2284
  export { AdminScammerEditorView } from "./features/admin/index";
2285
+ // [TYPE]-TypeScript type-only export â€" erased at compile time, zero runtime cost.
2390
2286
  // ./features/admin/server
2391
2287
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
2392
2288
  // adminBidsGET - Shared export for admin bids get.
@@ -2434,11 +2330,7 @@ export { adminUpdateStoreStatus } from "./features/admin/server";
2434
2330
  // adminUpdateUser - Shared export for admin update user.
2435
2331
  export { adminUpdateUser } from "./features/admin/server";
2436
2332
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
2437
- // createOrGetChatRoom - Helper for create or get chat room.
2438
- export { createOrGetChatRoom } from "./features/admin/server";
2439
2333
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
2440
- // deleteChatRoom - Helper for delete chat room.
2441
- export { deleteChatRoom } from "./features/admin/server";
2442
2334
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
2443
2335
  // deleteNotification - Helper for delete notification.
2444
2336
  export { deleteNotification } from "./features/admin/server";
@@ -2449,8 +2341,6 @@ export { getAdminAnalytics } from "./features/admin/server";
2449
2341
  // getAdminDashboardStats - Helper for get admin dashboard stats.
2450
2342
  export { getAdminDashboardStats } from "./features/admin/server";
2451
2343
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
2452
- // getChatRooms - Helper for get chat rooms.
2453
- export { getChatRooms } from "./features/admin/server";
2454
2344
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
2455
2345
  // getSiteSettings - Helper for get site settings.
2456
2346
  export { getSiteSettings } from "./features/admin/server";
@@ -2503,11 +2393,12 @@ export { revokeSession } from "./features/admin/server";
2503
2393
  // revokeUserSessions - Shared export for revoke user sessions.
2504
2394
  export { revokeUserSessions } from "./features/admin/server";
2505
2395
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
2506
- // sendChatMessage - Shared export for send chat message.
2507
- export { sendChatMessage } from "./features/admin/server";
2508
2396
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
2509
2397
  // updateSiteSettings - Helper for update site settings.
2510
2398
  export { updateSiteSettings } from "./features/admin/server";
2399
+ // [TYPE]-TypeScript type-only export â€" erased at compile time, zero runtime cost.
2400
+ // [TYPE]-TypeScript type-only export â€" erased at compile time, zero runtime cost.
2401
+ // [TYPE]-TypeScript type-only export â€" erased at compile time, zero runtime cost.
2511
2402
  // ./features/auctions/index
2512
2403
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2513
2404
  // [SCHEMA]-Schema / data-shape constant â€" Zod validator, default-value object, or Firestore collection/field name constant.
@@ -2642,9 +2533,6 @@ export { getUserProfile } from "./features/auth/server";
2642
2533
  // getUserSessions - Helper for get user sessions.
2643
2534
  export { getUserSessions } from "./features/auth/server";
2644
2535
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
2645
- // issueRealtimeToken - Shared export for issue realtime token.
2646
- export { issueRealtimeToken } from "./features/auth/server";
2647
- // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
2648
2536
  // markPasswordResetTokenAsUsed - Shared export for mark password reset token as used.
2649
2537
  export { markPasswordResetTokenAsUsed } from "./features/auth/server";
2650
2538
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
@@ -4496,7 +4384,7 @@ export { checkEmiEligibility, computeEmiSchedule, computeBuyerEmiQuote } from ".
4496
4384
  // definition of "safe to send to a browser" for fee data. See fees.ts header.
4497
4385
  export { toBuyerFacingFees, toBuyerEmiSettings, } from "./_internal/shared/features/site-settings/fees";
4498
4386
  // User-role predicates â€" SB-UNI-E 2026-05-13.
4499
- export { isAdminUser, isSellerUser, isModeratorUser, isEmployeeUser, isBuyerUser, isEffectiveAdminUser, } from "./features/auth/role-predicates";
4387
+ export { isAdminUser, isSellerUser, isModeratorUser, isEmployeeUser, isBuyerUser, isEffectiveAdminUser, isTesterUser, canTestAdminSurfaces, isStrictSellerUser, isAccountDisabled, } from "./features/auth/role-predicates";
4500
4388
  // [SERVER-ONLY]-Safe in browser but intended for server routes.
4501
4389
  // sanitizeProductForPublic - Strip sellerId/sellerName/sellerEmail/ownerId before returning a product in a public response.
4502
4390
  export { sanitizeProductForPublic, sanitizeProductsForPublic } from "./features/products/index";
@@ -4887,8 +4775,6 @@ export { OFFER_INDEXED_FIELDS } from "./features/seller/index";
4887
4775
  // OfferStatusValues - Model for offer status values.
4888
4776
  export { OfferStatusValues } from "./features/seller/index";
4889
4777
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
4890
- // SELLER_PAGE_PERMISSIONS - Constant used across modules.
4891
- export { SELLER_PAGE_PERMISSIONS } from "./features/seller/index";
4892
4778
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
4893
4779
  // SellerAddressesView - Component for seller addresses view.
4894
4780
  export { SellerAddressesView } from "./features/seller/index";
@@ -4902,9 +4788,6 @@ export { SellerAnalyticsStats } from "./features/seller/index";
4902
4788
  // SellerAnalyticsView - Component for seller analytics view.
4903
4789
  export { SellerAnalyticsView } from "./features/seller/index";
4904
4790
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
4905
- // SellerAuctionsView - Component for seller auctions view.
4906
- export { SellerAuctionsView } from "./features/seller/index";
4907
- // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
4908
4791
  // SellerCouponsView - Component for seller coupons view.
4909
4792
  export { SellerCouponsView } from "./features/seller/index";
4910
4793
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
@@ -4955,12 +4838,6 @@ export { SellerPayoutStats } from "./features/seller/index";
4955
4838
  // SellerPayoutsView - Component for seller payouts view.
4956
4839
  export { SellerPayoutsView } from "./features/seller/index";
4957
4840
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
4958
- // SellerPreOrdersView - Component for seller pre-orders listing view (SB4-E).
4959
- export { SellerPreOrdersView } from "./features/seller/index";
4960
- // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
4961
- // SellerPrizeDrawsView - Component for seller prize draws listing view (SB4-E).
4962
- export { SellerPrizeDrawsView } from "./features/seller/index";
4963
- // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
4964
4841
  // SellerProductsView - Component for seller products view.
4965
4842
  export { SellerProductsView } from "./features/seller/index";
4966
4843
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
@@ -5483,6 +5360,7 @@ export { CAROUSELS_COLLECTION, MAX_SLIDES_PER_CAROUSEL } from "./features/homepa
5483
5360
  export { Button } from "./ui/index";
5484
5361
  export { Heading, Spinner, IconButton, Progress, IndeterminateProgress, Pagination, PageLoader } from "./ui/index";
5485
5362
  export { ModalFooter, UnsavedChangesModal, ResponsiveView, Textarea, Checkbox } from "./ui/index";
5363
+ export { ActionRow } from "./ui/index";
5486
5364
  export { ToastProvider, StarRating, StepperNav, ViewToggle, PriceDisplay, SummaryCard } from "./ui/index";
5487
5365
  export { CountdownDisplay, ItemRow, HorizontalScroller } from "./ui/index";
5488
5366
  export { CardBody, MenuTrigger, MenuContent, MenuSeparator, RoleBadge, SkipToMain } from "./ui/index";
@@ -5497,7 +5375,7 @@ export { Ol } from "./ui/index";
5497
5375
  export { LoginRequiredModal } from "./ui/components/LoginRequiredModal";
5498
5376
  export { isAuthError } from "./utils/auth-error";
5499
5377
  // -- Missing constants ----------------------------------------------------------
5500
- export { API_ENDPOINTS, API_ROUTES, LOGS_ENDPOINTS, AUTH_ENDPOINTS, ACCOUNT_ENDPOINTS, NOTIFICATIONS_ENDPOINTS, ADMIN_ENDPOINTS, CHAT_ENDPOINTS, AUCTION_ENDPOINTS, BID_ENDPOINTS, CART_ENDPOINTS, CATEGORY_ENDPOINTS, CHECKOUT_ENDPOINTS, PAYMENT_ENDPOINTS, COPILOT_ENDPOINTS, CORPORATE_ENDPOINTS, EVENT_ENDPOINTS, FAQ_ENDPOINTS, HOMEPAGE_ENDPOINTS, LOYALTY_ENDPOINTS, ANALYTICS_ENDPOINTS, MEDIA_ENDPOINTS, ORDER_ENDPOINTS, PREORDER_ENDPOINTS, PRODUCT_ENDPOINTS, REVIEW_ENDPOINTS, SEARCH_ENDPOINTS, SELLER_ENDPOINTS, BLOG_ENDPOINTS, WISHLIST_ENDPOINTS, COLLECTION_CACHE_PATHS, resolveEndpoint, resolveEndpointFn, ROUTES, PUBLIC_ROUTES, PROTECTED_ROUTES, AUTH_ROUTES, WISHLIST_MAX, HISTORY_MAX, CART_MAX_ITEMS, WISHLIST_DOC_ID, HISTORY_DOC_ID, WISHLIST_COLLECTION, HISTORY_COLLECTION, } from "./constants/index";
5378
+ export { API_ENDPOINTS, API_ROUTES, LOGS_ENDPOINTS, AUTH_ENDPOINTS, ACCOUNT_ENDPOINTS, NOTIFICATIONS_ENDPOINTS, ADMIN_ENDPOINTS, AUCTION_ENDPOINTS, BID_ENDPOINTS, CART_ENDPOINTS, CATEGORY_ENDPOINTS, CHECKOUT_ENDPOINTS, PAYMENT_ENDPOINTS, COPILOT_ENDPOINTS, CORPORATE_ENDPOINTS, EVENT_ENDPOINTS, FAQ_ENDPOINTS, HOMEPAGE_ENDPOINTS, LOYALTY_ENDPOINTS, ANALYTICS_ENDPOINTS, MEDIA_ENDPOINTS, ORDER_ENDPOINTS, PREORDER_ENDPOINTS, PRODUCT_ENDPOINTS, REVIEW_ENDPOINTS, SEARCH_ENDPOINTS, SELLER_ENDPOINTS, BLOG_ENDPOINTS, WISHLIST_ENDPOINTS, COLLECTION_CACHE_PATHS, resolveEndpoint, resolveEndpointFn, ROUTES, PUBLIC_ROUTES, PROTECTED_ROUTES, AUTH_ROUTES, WISHLIST_MAX, HISTORY_MAX, CART_MAX_ITEMS, WISHLIST_DOC_ID, HISTORY_DOC_ID, WISHLIST_COLLECTION, HISTORY_COLLECTION, } from "./constants/index";
5501
5379
  // Wishlist server errors (server-only via tree-shake â€" class only, no firebase-admin at module scope)
5502
5380
  export { WishlistFullError } from "./features/wishlist/server";
5503
5381
  // History â€" client hook + guest util are safe in main barrel; repository is server-only
@@ -5541,12 +5419,10 @@ export { deriveContextTypeFromFilename } from "./utils/id-generators";
5541
5419
  export { resolveMediaUrl, resolveVideoUrl, FIREBASE_STORAGE_HOST, GCS_HOST, isStoredMediaRef, MEDIA_PROXY_PREFIX, MEDIA_URL_MAX_LENGTH, MEDIA_URL_MESSAGE, APPROVED_MEDIA_DOMAINS, } from "./utils/media-url";
5542
5420
  export { generateFAQId } from "./utils/id-generators";
5543
5421
  export { generateCroppedImageFilename } from "./utils/id-generators";
5544
- // Messages / Conversations feature schemas
5545
- export { CONVERSATIONS_COLLECTION } from "./features/messages/schemas/firestore";
5546
- // Messages server-side (D5 + VC7) â€" repository + actions
5547
- export { conversationsRepository, ConversationsRepository, ConversationFullError, listConversationsForBuyer, listConversationsForStore, getConversation, sendMessage, markConversationRead, MESSAGE_MAX_LENGTH, pingConversationRtdb, } from "./features/messages/server";
5548
- // Messages realtime channel â€" shared between client + server (D5 + VC7)
5549
- export { conversationPingPath, userConversationsPingPath, buildConversationPingPaths, } from "./features/messages/realtime";
5422
+ // D5 + VC7 buyer↔seller conversations were deleted 2026-08-31 (W11/D16). The
5423
+ // feature had two pages, five API routes and a repository, and one live CTA
5424
+ // anywhere in the product — the classified PDP's "Contact Seller" — which now
5425
+ // opens the offer form instead. See `offerIsOnlyPurchasePath`.
5550
5426
  // SB-UNI-B â€" SublistingCategoryDocument deleted; sublistings are CategoryDocument with categoryType:"sublisting".
5551
5427
  // Product features feature schemas (FI1)
5552
5428
  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";
@@ -5649,7 +5525,7 @@ export { MEGABYTE, MAX_IMAGE_BYTES, MAX_PDF_BYTES, MAX_VIDEO_BYTES, MAX_LABEL, M
5649
5525
  // NOTE: STORE_FIELDS, CATEGORY_FIELDS, EVENT_FIELDS, EVENT_ENTRY_FIELDS, PAYOUT_FIELDS,
5650
5526
  // COUPON_FIELDS, CART_FIELDS, USER_FIELDS, ADDRESS_FIELDS, NOTIFICATION_FIELDS,
5651
5527
  // SESSION_FIELDS, SCAMMER_FIELDS are already exported from feature barrels above.
5652
- export { PRODUCT_FIELDS, PRODUCT_STATUS_TRANSITIONS, ORDER_FIELDS, REVIEW_FIELDS, BID_FIELDS, AD_FIELDS, AD_TRACKED_FIELDS, BLOG_FIELDS, BRAND_FIELDS, WISHLIST_FIELDS, HISTORY_FIELDS, COUPON_USAGE_FIELDS, CONVERSATION_FIELDS, CAROUSEL_FIELDS, FAQ_FIELDS, HOMEPAGE_SECTION_FIELDS, SITE_SETTINGS_FIELDS, COMMON_FIELDS, OAUTH_STATE_VALUES, SCHEMA_DEFAULTS, } from "./constants/field-names";
5528
+ export { PRODUCT_FIELDS, PRODUCT_STATUS_TRANSITIONS, ORDER_FIELDS, REVIEW_FIELDS, BID_FIELDS, AD_FIELDS, AD_TRACKED_FIELDS, BLOG_FIELDS, BRAND_FIELDS, WISHLIST_FIELDS, HISTORY_FIELDS, COUPON_USAGE_FIELDS, CAROUSEL_FIELDS, FAQ_FIELDS, HOMEPAGE_SECTION_FIELDS, SITE_SETTINGS_FIELDS, COMMON_FIELDS, OAUTH_STATE_VALUES, SCHEMA_DEFAULTS, } from "./constants/field-names";
5653
5529
  // ── Sort helpers ──────────────────────────────────────────────────────────────
5654
5530
  export { SORT_DIR, sortBy } from "./constants/sort";
5655
5531
  // ── URL table keys + view mode ────────────────────────────────────────────────
@@ -5667,7 +5543,6 @@ export { NavPermissionsManager } from "./features/site-settings/components/NavPe
5667
5543
  export { ThemeManagerView } from "./features/site-settings/components/ThemeManagerView";
5668
5544
  // ── Classified listing feature ─────────────────────────────────────────────────
5669
5545
  export { getClassifiedForDetail } from "./_internal/server/features/classified/data";
5670
- export { startClassifiedConversationAction } from "./_internal/server/features/classified/actions";
5671
5546
  // ── Digital-code listing feature ──────────────────────────────────────────────
5672
5547
  export { getDigitalCodeForDetail } from "./_internal/server/features/digital-code/data";
5673
5548
  export { PRODUCT_CODES_SUBCOLLECTION } from "./features/products/schemas/firestore";
@@ -5711,7 +5586,7 @@ export { raffleEntrySchema } from "./features/contact/schemas/inquiry-forms";
5711
5586
  export { orderCancelSchema, paymentProofSchema, } from "./features/orders/schemas/buyer-forms";
5712
5587
  export { scamReportFormSchema } from "./features/scams/schemas/report-form";
5713
5588
  export { sublistingCategoryFormSchema } from "./features/store-extensions/schemas/sublisting-category-form";
5714
- export { adminAddressFormSchema, adminStoreUpdateSchema, announcementBarSchema, } from "./features/admin/schemas/admin-editor-forms";
5589
+ export { adminStoreUpdateSchema, announcementBarSchema, } from "./features/admin/schemas/admin-editor-forms";
5715
5590
  export { adminOrderUpdateSchema, employeeInviteSchema, hardBanReasonSchema, featureFlagsUpdateSchema, adminAdFormSchema, } from "./features/admin/schemas/admin-ops-forms";
5716
5591
  export { changeEmailSchema } from "./features/account/schemas/index";
5717
5592
  export { adminUserUpdateSchema, whatsappSettingsSchema, lotteryPullSchema, } from "./features/admin/schemas/admin-user-form";
@@ -5735,3 +5610,20 @@ export { wishlistAddSchema } from "./schemas/api-routes";
5735
5610
  * is usually a missing funnel, not a reason to export more of it.
5736
5611
  */
5737
5612
  export { withHistory, buildHistoryEntry, appendHistoryEntry, diffTrackedFields, STATUS_HISTORY_MAX, } from "./_internal/shared/history/index";
5613
+ /*
5614
+ * Nav item ids are DERIVED from the href (W6). Exported from the MAIN entry as
5615
+ * well as `/client` because `store/layout.tsx` is a Server Component: a
5616
+ * binding taken from the `"use client"` entry is a client-reference proxy
5617
+ * there, and CALLING one throws as an opaque React #441 (Root Cause #76).
5618
+ */
5619
+ export { navItemId } from "./_internal/shared/features/layout/types";
5620
+ /*
5621
+ * The action index (W7). Its base is DERIVED from the nav groups, so an entry
5622
+ * cannot exist without its nav item and cannot go stale when one is renamed.
5623
+ */
5624
+ export { mergeActionIndex, projectActionIndexForViewer, ACTION_INDEX_COLLECTION, ACTION_INDEX_DOC_ID, } from "./features/search/action-index/types";
5625
+ export { deriveNavEntries, deriveQuickActionEntries, buildActionIndexBase, } from "./features/search/action-index/derive";
5626
+ export { matchesNavQuery } from "./_internal/shared/features/layout/matchesNavQuery";
5627
+ export { SITE_SETTINGS_ENTRIES, deriveSettingsEntries, } from "./features/search/action-index/settings-entries";
5628
+ export { SITE_SETTINGS_TABS, SITE_SETTINGS_TAB_IDS, isSiteSettingsTabId, } from "./features/admin/constants/site-settings-tabs";
5629
+ export { validateActionIndexEntry, normaliseRoute, } from "./features/search/action-index/validate-entry";
package/dist/jobs.d.ts CHANGED
@@ -20,7 +20,7 @@
20
20
  * listingProcessorHandler,
21
21
  * } from "@mohasinac/appkit/jobs";
22
22
  */
23
- export { couponExpiryHandler, offerExpiryHandler, cartPruneHandler, notificationPruneHandler, dailyDataCleanupHandler, cleanupRtdbEventsHandler, auctionSettlementHandler, autoPayoutEligibilityHandler, countersReconcileHandler, onOrderCreateHandler, onOrderStatusChangeHandler, onReviewWriteHandler, promotionsHandler, mediaTmpCleanupHandler, pendingOrderTimeoutHandler, productStatsSyncHandler, positionsReconcileHandler, payoutBatchHandler, weeklyPayoutEligibilityHandler, onCategoryWriteHandler, onProductWriteHandler, onStoreWriteHandler, adminAnalyticsHandler, storeAnalyticsHandler, listingProcessorHandler, supportedListingCollections, onPrizeDrawPaymentConfirmedHandler, prizeDrawSoldOutRevealHandler, prizeDrawExpiryRevealHandler, bundleStockSyncHandler, onProductStockChangeHandler, triggerEventRaffleHandler, assignSpinPrizeHandler, draftPruneHandler, onSupportTicketCreateHandler, onSupportTicketUpdateHandler, onUserBanChangeHandler, onScamReportCreateHandler, onScamReportUpdateHandler, bindSchedule, bindDocumentWritten, bindDocumentCreated, bindDocumentUpdated, bindCallable, bindHttps, bindToFirebase, } from "./_internal/server/jobs/index.js";
23
+ export { couponExpiryHandler, offerExpiryHandler, cartPruneHandler, notificationPruneHandler, pageViewRollupHandler, pageViewPruneHandler, dailyDataCleanupHandler, cleanupRtdbEventsHandler, auctionSettlementHandler, autoPayoutEligibilityHandler, countersReconcileHandler, onOrderCreateHandler, onOrderStatusChangeHandler, onReviewWriteHandler, promotionsHandler, mediaTmpCleanupHandler, pendingOrderTimeoutHandler, productStatsSyncHandler, positionsReconcileHandler, payoutBatchHandler, weeklyPayoutEligibilityHandler, onCategoryWriteHandler, onProductWriteHandler, onStoreWriteHandler, adminAnalyticsHandler, storeAnalyticsHandler, listingProcessorHandler, supportedListingCollections, onPrizeDrawPaymentConfirmedHandler, prizeDrawSoldOutRevealHandler, prizeDrawExpiryRevealHandler, bundleStockSyncHandler, onProductStockChangeHandler, triggerEventRaffleHandler, assignSpinPrizeHandler, draftPruneHandler, onSupportTicketCreateHandler, onSupportTicketUpdateHandler, onUserBanChangeHandler, onScamReportCreateHandler, onScamReportUpdateHandler, bindSchedule, bindDocumentWritten, bindDocumentCreated, bindDocumentUpdated, bindCallable, bindHttps, bindToFirebase, } from "./_internal/server/jobs/index.js";
24
24
  export { defineFunction, mergeFunctionRegistries, bindAllFromRegistry, APPKIT_FUNCTIONS, APPKIT_FUNCTIONS_BY_NAME, } from "./_internal/server/functions/index.js";
25
25
  export { orderRepository, siteSettingsRepository } from "./repositories/index.js";
26
26
  export type { OrderDocument, OrderDocumentItem } from "./features/orders/index.js";
package/dist/jobs.js CHANGED
@@ -22,7 +22,7 @@
22
22
  */
23
23
  export {
24
24
  // S4–S5: Job handlers (pure, framework-agnostic)
25
- couponExpiryHandler, offerExpiryHandler, cartPruneHandler, notificationPruneHandler, dailyDataCleanupHandler, cleanupRtdbEventsHandler, auctionSettlementHandler, autoPayoutEligibilityHandler, countersReconcileHandler, onOrderCreateHandler, onOrderStatusChangeHandler, onReviewWriteHandler, promotionsHandler, mediaTmpCleanupHandler, pendingOrderTimeoutHandler, productStatsSyncHandler, positionsReconcileHandler, payoutBatchHandler, weeklyPayoutEligibilityHandler, onCategoryWriteHandler, onProductWriteHandler, onStoreWriteHandler, adminAnalyticsHandler, storeAnalyticsHandler, listingProcessorHandler, supportedListingCollections,
25
+ couponExpiryHandler, offerExpiryHandler, cartPruneHandler, notificationPruneHandler, pageViewRollupHandler, pageViewPruneHandler, dailyDataCleanupHandler, cleanupRtdbEventsHandler, auctionSettlementHandler, autoPayoutEligibilityHandler, countersReconcileHandler, onOrderCreateHandler, onOrderStatusChangeHandler, onReviewWriteHandler, promotionsHandler, mediaTmpCleanupHandler, pendingOrderTimeoutHandler, productStatsSyncHandler, positionsReconcileHandler, payoutBatchHandler, weeklyPayoutEligibilityHandler, onCategoryWriteHandler, onProductWriteHandler, onStoreWriteHandler, adminAnalyticsHandler, storeAnalyticsHandler, listingProcessorHandler, supportedListingCollections,
26
26
  // SB1-L (S7-PrizeDraws) — prize-draw reveal redesigned to a fully-automatic model.
27
27
  onPrizeDrawPaymentConfirmedHandler, prizeDrawSoldOutRevealHandler, prizeDrawExpiryRevealHandler, bundleStockSyncHandler,
28
28
  // SB-UNI-V — Firestore onWrite trigger for product stock changes.
@@ -6,5 +6,3 @@ export { logClientError, logClientWarning, logClientInfo, logClientDebug, logApi
6
6
  export type { ClientErrorContext } from "./client-logger";
7
7
  export { setPerformanceProvider, startTrace, stopTrace, addTraceAttribute, addTraceMetric, } from "./performance";
8
8
  export type { PerformanceTrace, PerformanceProvider } from "./performance";
9
- export { ANALYTICS_EVENTS, initializeAnalytics, trackEvent, setAnalyticsUserId, setAnalyticsUserProperties, trackPageView, trackAuth, trackEcommerce, trackContent, trackForm, trackAdmin, } from "./analytics";
10
- export type { AnalyticsEvent } from "./analytics";
@@ -3,4 +3,15 @@ export { getCacheMetrics, recordCacheHit, recordCacheMiss, resetCacheMetrics, ge
3
3
  export { setupGlobalErrorHandler, setupCacheMonitoring } from "./runtime";
4
4
  export { logClientError, logClientWarning, logClientInfo, logClientDebug, logApiError, logValidationError, logNavigationError, logAuthError, logUploadError, logPaymentError, logApplicationError, initializeClientLogger, } from "./client-logger";
5
5
  export { setPerformanceProvider, startTrace, stopTrace, addTraceAttribute, addTraceMetric, } from "./performance";
6
- export { ANALYTICS_EVENTS, initializeAnalytics, trackEvent, setAnalyticsUserId, setAnalyticsUserProperties, trackPageView, trackAuth, trackEcommerce, trackContent, trackForm, trackAdmin, } from "./analytics";
6
+ /*
7
+ * The Firebase-Analytics module that lived at ./analytics was deleted
8
+ * 2026-08-31. It defined 11 events, `initializeAnalytics` and `trackEvent`, and
9
+ * had ZERO call sites anywhere — it was re-exported through three barrels and
10
+ * never invoked once.
11
+ *
12
+ * Site analytics now runs through `siteSettings.integrations`
13
+ * (GA / GTM / Meta Pixel), emitted by `src/components/analytics/AnalyticsScripts`.
14
+ * Wiring a second, unrelated system in parallel would have given the project
15
+ * two answers to "how is this page counted", which is how it ended up with two
16
+ * view counters that could never reconcile.
17
+ */
@@ -8,5 +8,3 @@ export { serverLogger, logServerError, logServerWarning, logServerInfo, logServe
8
8
  export type { ServerErrorContext } from "./server-logger";
9
9
  export { setPerformanceProvider, startTrace, stopTrace, addTraceAttribute, addTraceMetric, } from "./performance";
10
10
  export type { PerformanceTrace, PerformanceProvider } from "./performance";
11
- export { ANALYTICS_EVENTS, initializeAnalytics, trackEvent, setAnalyticsUserId, setAnalyticsUserProperties, trackPageView, trackAuth, trackEcommerce, trackContent, trackForm, trackAdmin, } from "./analytics";
12
- export type { AnalyticsEvent } from "./analytics";
@@ -4,4 +4,3 @@ export { setupGlobalErrorHandler, setupCacheMonitoring } from "./runtime";
4
4
  export { logClientError, logClientWarning, logClientInfo, logClientDebug, logApiError, logValidationError, logNavigationError, logAuthError, logUploadError, logPaymentError, logApplicationError, initializeClientLogger, } from "./client-logger";
5
5
  export { serverLogger, logServerError, logServerWarning, logServerInfo, logServerDebug, extractRequestMetadata, logApiRouteError, logDatabaseError, logServerAuthError, logAuthorizationError, logEmailError, logStorageError, logExternalApiError, logSlowOperation, logSecurityEvent, } from "./server-logger";
6
6
  export { setPerformanceProvider, startTrace, stopTrace, addTraceAttribute, addTraceMetric, } from "./performance";
7
- export { ANALYTICS_EVENTS, initializeAnalytics, trackEvent, setAnalyticsUserId, setAnalyticsUserProperties, trackPageView, trackAuth, trackEcommerce, trackContent, trackForm, trackAdmin, } from "./analytics";
@@ -30,7 +30,7 @@ import { normalizeError } from "../../errors/normalize";
30
30
  */
31
31
  import { NextResponse } from "next/server.js";
32
32
  import { getProviders } from "../../contracts";
33
- import { isEffectiveAdminUser } from "../../features/auth/role-predicates";
33
+ import { isEffectiveAdminUser, isTesterUser, canTestAdminSurfaces } from "../../features/auth/role-predicates";
34
34
  import { mapToHttpError, HTTP_ERROR_CODES } from "../../errors/error-mapping";
35
35
  import { describeCauseChain } from "../../errors/describe-cause";
36
36
  import { buildErrorEnvelope, toApiIssues } from "../../errors/error-envelope";
@@ -158,8 +158,11 @@ async function isTesterEligibleForAdminRoute(user, effectiveRoles) {
158
158
  if (!user || !effectiveRoles.includes("admin"))
159
159
  return false;
160
160
  const profile = await userRepository.findById(user.uid);
161
- return Boolean(profile?.isTester &&
162
- profile?.canTestAdmin);
161
+ // Reads the `tester` role + `tester:admin-surfaces` permission first, and the
162
+ // legacy `isTester`/`canTestAdmin` booleans second — see role-predicates.
163
+ // The live Firestore read is required either way: none of these reach the
164
+ // session-cookie claims, which carry only `role`.
165
+ return isTesterUser(profile) && canTestAdminSurfaces(profile);
163
166
  }
164
167
  export function createRouteHandler(options) {
165
168
  if (options.bodyOptional && options.bodyRequired) {
@@ -19,8 +19,7 @@ export type { CacheConfig } from "./cache-middleware";
19
19
  export { createApiMiddleware, runChain, buildBaseContext, } from "./middleware/chain";
20
20
  export type { CreateApiMiddlewareConfig } from "./middleware/chain";
21
21
  export { piiScrubberMiddleware } from "./middleware/pii-scrubber";
22
- export { createPiiRedactorMiddleware } from "./middleware/pii-redactor";
23
- export type { BaseRequestContext, AuthRequestContext, Middleware, PiiRedactionRule, } from "./middleware";
22
+ export type { BaseRequestContext, AuthRequestContext, Middleware, } from "./middleware";
24
23
  export { successResponse, errorResponse, ApiErrors } from "./api/api-response";
25
24
  export type { ApiSuccessResponse, ApiErrorResponse } from "./api/api-response";
26
25
  export { GlobalError } from "./components/GlobalError";
@@ -19,7 +19,6 @@ export { withCache, invalidateCache } from "./cache-middleware";
19
19
  // PII-aware composable middleware chain (Phase 21)
20
20
  export { createApiMiddleware, runChain, buildBaseContext, } from "./middleware/chain";
21
21
  export { piiScrubberMiddleware } from "./middleware/pii-scrubber";
22
- export { createPiiRedactorMiddleware } from "./middleware/pii-redactor";
23
22
  // Standardized API response helpers
24
23
  export { successResponse, errorResponse, ApiErrors } from "./api/api-response";
25
24
  // Error UI view components
@@ -1,6 +1,4 @@
1
1
  export type { BaseRequestContext, AuthRequestContext, Middleware, } from "./types";
2
2
  export { piiScrubberMiddleware } from "./pii-scrubber";
3
- export { createPiiRedactorMiddleware } from "./pii-redactor";
4
- export type { PiiRedactionRule } from "./pii-redactor";
5
3
  export { createApiMiddleware, runChain, buildBaseContext } from "./chain";
6
4
  export type { CreateApiMiddlewareConfig } from "./chain";
@@ -1,3 +1,2 @@
1
1
  export { piiScrubberMiddleware } from "./pii-scrubber";
2
- export { createPiiRedactorMiddleware } from "./pii-redactor";
3
2
  export { createApiMiddleware, runChain, buildBaseContext } from "./chain";