@mohasinac/appkit 2.6.3 → 2.6.4

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 (606) hide show
  1. package/dist/_internal/server/features/account/data.js +2 -2
  2. package/dist/_internal/server/features/bundles/data.d.ts +26 -6
  3. package/dist/_internal/server/features/bundles/data.js +41 -6
  4. package/dist/_internal/server/features/bundles/index.d.ts +3 -2
  5. package/dist/_internal/server/features/bundles/index.js +4 -2
  6. package/dist/_internal/server/features/bundles/metadata.d.ts +20 -0
  7. package/dist/_internal/server/features/bundles/metadata.js +46 -0
  8. package/dist/_internal/server/features/bundles/og.d.ts +38 -0
  9. package/dist/_internal/server/features/bundles/og.js +122 -0
  10. package/dist/_internal/server/features/checkout/actions.js +192 -133
  11. package/dist/_internal/server/features/checkout/bundle-expansion.d.ts +57 -0
  12. package/dist/_internal/server/features/checkout/bundle-expansion.js +70 -0
  13. package/dist/_internal/server/features/checkout/prize-bundle-gates.d.ts +5 -15
  14. package/dist/_internal/server/features/checkout/prize-bundle-gates.js +5 -21
  15. package/dist/_internal/server/features/media/contextGuards.js +15 -1
  16. package/dist/_internal/server/features/payouts/actions.d.ts +19 -0
  17. package/dist/_internal/server/features/payouts/actions.js +38 -0
  18. package/dist/_internal/server/features/products/data.js +1 -2
  19. package/dist/_internal/server/features/raffle/actions.d.ts +11 -0
  20. package/dist/_internal/server/features/raffle/actions.js +31 -0
  21. package/dist/_internal/server/features/refunds/actions.d.ts +31 -0
  22. package/dist/_internal/server/features/refunds/actions.js +77 -0
  23. package/dist/_internal/server/jobs/core/adminAnalytics.d.ts +28 -0
  24. package/dist/_internal/server/jobs/core/adminAnalytics.js +98 -0
  25. package/dist/_internal/server/jobs/core/assignSpinPrize.d.ts +19 -0
  26. package/dist/_internal/server/jobs/core/assignSpinPrize.js +81 -0
  27. package/dist/_internal/server/jobs/core/auctionSettlement.d.ts +2 -0
  28. package/dist/_internal/server/jobs/core/auctionSettlement.js +70 -0
  29. package/dist/_internal/server/jobs/core/autoPayoutEligibility.d.ts +2 -0
  30. package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +109 -0
  31. package/dist/_internal/server/jobs/core/bundleStockSync.d.ts +10 -0
  32. package/dist/_internal/server/jobs/core/bundleStockSync.js +71 -0
  33. package/dist/_internal/server/jobs/core/cartPrune.d.ts +2 -0
  34. package/dist/_internal/server/jobs/core/cartPrune.js +13 -0
  35. package/dist/_internal/server/jobs/core/cleanupRtdbEvents.d.ts +2 -0
  36. package/dist/_internal/server/jobs/core/cleanupRtdbEvents.js +45 -0
  37. package/dist/_internal/server/jobs/core/countersReconcile.d.ts +2 -0
  38. package/dist/_internal/server/jobs/core/countersReconcile.js +107 -0
  39. package/dist/_internal/server/jobs/core/couponExpiry.d.ts +2 -0
  40. package/dist/_internal/server/jobs/core/couponExpiry.js +13 -0
  41. package/dist/_internal/server/jobs/core/dailyDataCleanup.d.ts +2 -0
  42. package/dist/_internal/server/jobs/core/dailyDataCleanup.js +20 -0
  43. package/dist/_internal/server/jobs/core/index.d.ts +44 -0
  44. package/dist/_internal/server/jobs/core/index.js +47 -0
  45. package/dist/_internal/server/jobs/core/listingProcessor.d.ts +30 -0
  46. package/dist/_internal/server/jobs/core/listingProcessor.js +138 -0
  47. package/dist/_internal/server/jobs/core/mediaTmpCleanup.d.ts +14 -0
  48. package/dist/_internal/server/jobs/core/mediaTmpCleanup.js +68 -0
  49. package/dist/_internal/server/jobs/core/notificationPrune.d.ts +2 -0
  50. package/dist/_internal/server/jobs/core/notificationPrune.js +13 -0
  51. package/dist/_internal/server/jobs/core/offerExpiry.d.ts +2 -0
  52. package/dist/_internal/server/jobs/core/offerExpiry.js +50 -0
  53. package/dist/_internal/server/jobs/core/onBidPlaced.d.ts +15 -0
  54. package/dist/_internal/server/jobs/core/onBidPlaced.js +59 -0
  55. package/dist/_internal/server/jobs/core/onCategoryWrite.d.ts +14 -0
  56. package/dist/_internal/server/jobs/core/onCategoryWrite.js +134 -0
  57. package/dist/_internal/server/jobs/core/onOrderCreate.d.ts +18 -0
  58. package/dist/_internal/server/jobs/core/onOrderCreate.js +78 -0
  59. package/dist/_internal/server/jobs/core/onOrderStatusChange.d.ts +19 -0
  60. package/dist/_internal/server/jobs/core/onOrderStatusChange.js +139 -0
  61. package/dist/_internal/server/jobs/core/onProductStockChange.d.ts +23 -0
  62. package/dist/_internal/server/jobs/core/onProductStockChange.js +130 -0
  63. package/dist/_internal/server/jobs/core/onProductWrite.d.ts +12 -0
  64. package/dist/_internal/server/jobs/core/onProductWrite.js +94 -0
  65. package/dist/_internal/server/jobs/core/onReviewWrite.d.ts +7 -0
  66. package/dist/_internal/server/jobs/core/onReviewWrite.js +49 -0
  67. package/dist/_internal/server/jobs/core/onStoreWrite.d.ts +12 -0
  68. package/dist/_internal/server/jobs/core/onStoreWrite.js +7 -0
  69. package/dist/_internal/server/jobs/core/payoutBatch.d.ts +8 -0
  70. package/dist/_internal/server/jobs/core/payoutBatch.js +102 -0
  71. package/dist/_internal/server/jobs/core/pendingOrderTimeout.d.ts +2 -0
  72. package/dist/_internal/server/jobs/core/pendingOrderTimeout.js +27 -0
  73. package/dist/_internal/server/jobs/core/positionsReconcile.d.ts +7 -0
  74. package/dist/_internal/server/jobs/core/positionsReconcile.js +87 -0
  75. package/dist/_internal/server/jobs/core/prizeRevealClose.d.ts +2 -0
  76. package/dist/_internal/server/jobs/core/prizeRevealClose.js +22 -0
  77. package/dist/_internal/server/jobs/core/prizeRevealExpiry.d.ts +2 -0
  78. package/dist/_internal/server/jobs/core/prizeRevealExpiry.js +50 -0
  79. package/dist/_internal/server/jobs/core/prizeRevealOpen.d.ts +2 -0
  80. package/dist/_internal/server/jobs/core/prizeRevealOpen.js +56 -0
  81. package/dist/_internal/server/jobs/core/prizeRevealReminder.d.ts +2 -0
  82. package/dist/_internal/server/jobs/core/prizeRevealReminder.js +38 -0
  83. package/dist/_internal/server/jobs/core/productStatsSync.d.ts +8 -0
  84. package/dist/_internal/server/jobs/core/productStatsSync.js +36 -0
  85. package/dist/_internal/server/jobs/core/promotions.d.ts +12 -0
  86. package/dist/_internal/server/jobs/core/promotions.js +43 -0
  87. package/dist/_internal/server/jobs/core/storeAnalytics.d.ts +30 -0
  88. package/dist/_internal/server/jobs/core/storeAnalytics.js +109 -0
  89. package/dist/_internal/server/jobs/core/triggerEventRaffle.d.ts +19 -0
  90. package/dist/_internal/server/jobs/core/triggerEventRaffle.js +86 -0
  91. package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.d.ts +6 -0
  92. package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +85 -0
  93. package/dist/_internal/server/jobs/handlers/adminAnalytics.d.ts +2 -26
  94. package/dist/_internal/server/jobs/handlers/adminAnalytics.js +2 -98
  95. package/dist/_internal/server/jobs/handlers/assignSpinPrize.d.ts +1 -22
  96. package/dist/_internal/server/jobs/handlers/assignSpinPrize.js +2 -86
  97. package/dist/_internal/server/jobs/handlers/auctionSettlement.js +2 -70
  98. package/dist/_internal/server/jobs/handlers/autoPayoutEligibility.js +2 -110
  99. package/dist/_internal/server/jobs/handlers/bundleStockSync.d.ts +0 -16
  100. package/dist/_internal/server/jobs/handlers/bundleStockSync.js +2 -80
  101. package/dist/_internal/server/jobs/handlers/cartPrune.js +2 -13
  102. package/dist/_internal/server/jobs/handlers/cleanupRtdbEvents.js +2 -45
  103. package/dist/_internal/server/jobs/handlers/countersReconcile.js +2 -109
  104. package/dist/_internal/server/jobs/handlers/couponExpiry.js +2 -13
  105. package/dist/_internal/server/jobs/handlers/dailyDataCleanup.js +2 -20
  106. package/dist/_internal/server/jobs/handlers/listingProcessor.d.ts +3 -28
  107. package/dist/_internal/server/jobs/handlers/listingProcessor.js +3 -138
  108. package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.d.ts +0 -12
  109. package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.js +2 -69
  110. package/dist/_internal/server/jobs/handlers/notificationPrune.js +2 -13
  111. package/dist/_internal/server/jobs/handlers/offerExpiry.js +2 -50
  112. package/dist/_internal/server/jobs/handlers/onBidPlaced.d.ts +1 -10
  113. package/dist/_internal/server/jobs/handlers/onBidPlaced.js +2 -56
  114. package/dist/_internal/server/jobs/handlers/onCategoryWrite.d.ts +1 -8
  115. package/dist/_internal/server/jobs/handlers/onCategoryWrite.js +6 -134
  116. package/dist/_internal/server/jobs/handlers/onOrderCreate.d.ts +1 -12
  117. package/dist/_internal/server/jobs/handlers/onOrderCreate.js +2 -76
  118. package/dist/_internal/server/jobs/handlers/onOrderStatusChange.d.ts +1 -12
  119. package/dist/_internal/server/jobs/handlers/onOrderStatusChange.js +2 -139
  120. package/dist/_internal/server/jobs/handlers/onProductStockChange.d.ts +0 -13
  121. package/dist/_internal/server/jobs/handlers/onProductStockChange.js +7 -134
  122. package/dist/_internal/server/jobs/handlers/onProductWrite.d.ts +1 -6
  123. package/dist/_internal/server/jobs/handlers/onProductWrite.js +6 -106
  124. package/dist/_internal/server/jobs/handlers/onReviewWrite.js +2 -49
  125. package/dist/_internal/server/jobs/handlers/onStoreWrite.d.ts +1 -8
  126. package/dist/_internal/server/jobs/handlers/onStoreWrite.js +7 -8
  127. package/dist/_internal/server/jobs/handlers/payoutBatch.d.ts +0 -9
  128. package/dist/_internal/server/jobs/handlers/payoutBatch.js +2 -104
  129. package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.d.ts +0 -6
  130. package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.js +2 -33
  131. package/dist/_internal/server/jobs/handlers/positionsReconcile.d.ts +0 -5
  132. package/dist/_internal/server/jobs/handlers/positionsReconcile.js +2 -87
  133. package/dist/_internal/server/jobs/handlers/prizeRevealClose.d.ts +0 -7
  134. package/dist/_internal/server/jobs/handlers/prizeRevealClose.js +2 -29
  135. package/dist/_internal/server/jobs/handlers/prizeRevealExpiry.d.ts +0 -8
  136. package/dist/_internal/server/jobs/handlers/prizeRevealExpiry.js +2 -58
  137. package/dist/_internal/server/jobs/handlers/prizeRevealOpen.d.ts +0 -8
  138. package/dist/_internal/server/jobs/handlers/prizeRevealOpen.js +2 -65
  139. package/dist/_internal/server/jobs/handlers/prizeRevealReminder.d.ts +0 -7
  140. package/dist/_internal/server/jobs/handlers/prizeRevealReminder.js +2 -45
  141. package/dist/_internal/server/jobs/handlers/productStatsSync.d.ts +0 -6
  142. package/dist/_internal/server/jobs/handlers/productStatsSync.js +2 -36
  143. package/dist/_internal/server/jobs/handlers/promotions.d.ts +2 -10
  144. package/dist/_internal/server/jobs/handlers/promotions.js +2 -43
  145. package/dist/_internal/server/jobs/handlers/storeAnalytics.d.ts +2 -28
  146. package/dist/_internal/server/jobs/handlers/storeAnalytics.js +2 -109
  147. package/dist/_internal/server/jobs/handlers/triggerEventRaffle.d.ts +1 -28
  148. package/dist/_internal/server/jobs/handlers/triggerEventRaffle.js +2 -94
  149. package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.d.ts +0 -6
  150. package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.js +2 -87
  151. package/dist/_internal/server/jobs/index.d.ts +1 -0
  152. package/dist/_internal/server/jobs/index.js +1 -0
  153. package/dist/_internal/server/jobs/runtime/adapters/firebase.js +21 -0
  154. package/dist/_internal/shared/actions/action-registry.d.ts +84 -0
  155. package/dist/_internal/shared/actions/action-registry.js +160 -0
  156. package/dist/_internal/shared/checkout/rules/_defaults.d.ts +3 -0
  157. package/dist/_internal/shared/checkout/rules/_defaults.js +22 -0
  158. package/dist/_internal/shared/checkout/rules/_limits.d.ts +19 -0
  159. package/dist/_internal/shared/checkout/rules/_limits.js +19 -0
  160. package/dist/_internal/shared/checkout/rules/_registry.d.ts +44 -0
  161. package/dist/_internal/shared/checkout/rules/_registry.js +87 -0
  162. package/dist/_internal/shared/checkout/rules/auction.rule.d.ts +2 -0
  163. package/dist/_internal/shared/checkout/rules/auction.rule.js +10 -0
  164. package/dist/_internal/shared/checkout/rules/bundle.rule.d.ts +11 -0
  165. package/dist/_internal/shared/checkout/rules/bundle.rule.js +6 -0
  166. package/dist/_internal/shared/checkout/rules/classified.rule.d.ts +9 -0
  167. package/dist/_internal/shared/checkout/rules/classified.rule.js +9 -0
  168. package/dist/_internal/shared/checkout/rules/digital-code.rule.d.ts +8 -0
  169. package/dist/_internal/shared/checkout/rules/digital-code.rule.js +6 -0
  170. package/dist/_internal/shared/checkout/rules/index.d.ts +12 -0
  171. package/dist/_internal/shared/checkout/rules/index.js +12 -0
  172. package/dist/_internal/shared/checkout/rules/live.rule.d.ts +10 -0
  173. package/dist/_internal/shared/checkout/rules/live.rule.js +6 -0
  174. package/dist/_internal/shared/checkout/rules/offer.rule.d.ts +2 -0
  175. package/dist/_internal/shared/checkout/rules/offer.rule.js +9 -0
  176. package/dist/_internal/shared/checkout/rules/preorder.rule.d.ts +2 -0
  177. package/dist/_internal/shared/checkout/rules/preorder.rule.js +28 -0
  178. package/dist/_internal/shared/checkout/rules/prize-draw.rule.d.ts +2 -0
  179. package/dist/_internal/shared/checkout/rules/prize-draw.rule.js +65 -0
  180. package/dist/_internal/shared/checkout/rules/standard.rule.d.ts +2 -0
  181. package/dist/_internal/shared/checkout/rules/standard.rule.js +5 -0
  182. package/dist/_internal/shared/checkout/rules/types.d.ts +125 -0
  183. package/dist/_internal/shared/checkout/rules/types.js +13 -0
  184. package/dist/_internal/shared/features/cart/schema.d.ts +6 -6
  185. package/dist/_internal/shared/features/categories/bundle-copy.d.ts +123 -0
  186. package/dist/_internal/shared/features/categories/bundle-copy.js +134 -0
  187. package/dist/_internal/shared/features/categories/bundle-schemas.d.ts +318 -0
  188. package/dist/_internal/shared/features/categories/bundle-schemas.js +55 -0
  189. package/dist/_internal/shared/features/orders/refund-copy.d.ts +36 -0
  190. package/dist/_internal/shared/features/orders/refund-copy.js +40 -0
  191. package/dist/_internal/shared/features/orders/schema.d.ts +4 -4
  192. package/dist/_internal/shared/features/products/schema.d.ts +8 -8
  193. package/dist/_internal/shared/listing-types/_registry.d.ts +27 -0
  194. package/dist/_internal/shared/listing-types/_registry.js +8 -0
  195. package/dist/_internal/shared/listing-types/action-tracker.d.ts +41 -0
  196. package/dist/_internal/shared/listing-types/action-tracker.js +70 -0
  197. package/dist/_internal/shared/listing-types/capabilities.js +25 -0
  198. package/dist/_internal/shared/listing-types/cart-shipping.d.ts +37 -0
  199. package/dist/_internal/shared/listing-types/cart-shipping.js +46 -0
  200. package/dist/_internal/shared/listing-types/classified/config.d.ts +7 -0
  201. package/dist/_internal/shared/listing-types/classified/config.js +8 -0
  202. package/dist/_internal/shared/listing-types/classified/ctas.d.ts +1 -0
  203. package/dist/_internal/shared/listing-types/classified/ctas.js +3 -0
  204. package/dist/_internal/shared/listing-types/classified/og.d.ts +1 -0
  205. package/dist/_internal/shared/listing-types/classified/og.js +1 -0
  206. package/dist/_internal/shared/listing-types/classified/schema.d.ts +1 -0
  207. package/dist/_internal/shared/listing-types/classified/schema.js +1 -0
  208. package/dist/_internal/shared/listing-types/classified/seed-factory.d.ts +1 -0
  209. package/dist/_internal/shared/listing-types/classified/seed-factory.js +1 -0
  210. package/dist/_internal/shared/listing-types/digital-code/config.d.ts +7 -0
  211. package/dist/_internal/shared/listing-types/digital-code/config.js +8 -0
  212. package/dist/_internal/shared/listing-types/digital-code/ctas.d.ts +1 -0
  213. package/dist/_internal/shared/listing-types/digital-code/ctas.js +3 -0
  214. package/dist/_internal/shared/listing-types/digital-code/og.d.ts +1 -0
  215. package/dist/_internal/shared/listing-types/digital-code/og.js +1 -0
  216. package/dist/_internal/shared/listing-types/digital-code/schema.d.ts +1 -0
  217. package/dist/_internal/shared/listing-types/digital-code/schema.js +1 -0
  218. package/dist/_internal/shared/listing-types/digital-code/seed-factory.d.ts +1 -0
  219. package/dist/_internal/shared/listing-types/digital-code/seed-factory.js +1 -0
  220. package/dist/_internal/shared/listing-types/feature-flags.d.ts +34 -0
  221. package/dist/_internal/shared/listing-types/feature-flags.js +45 -0
  222. package/dist/_internal/shared/listing-types/live/config.d.ts +7 -0
  223. package/dist/_internal/shared/listing-types/live/config.js +8 -0
  224. package/dist/_internal/shared/listing-types/live/ctas.d.ts +1 -0
  225. package/dist/_internal/shared/listing-types/live/ctas.js +3 -0
  226. package/dist/_internal/shared/listing-types/live/og.d.ts +1 -0
  227. package/dist/_internal/shared/listing-types/live/og.js +1 -0
  228. package/dist/_internal/shared/listing-types/live/schema.d.ts +1 -0
  229. package/dist/_internal/shared/listing-types/live/schema.js +1 -0
  230. package/dist/_internal/shared/listing-types/live/seed-factory.d.ts +1 -0
  231. package/dist/_internal/shared/listing-types/live/seed-factory.js +1 -0
  232. package/dist/_internal/shared/media/limits.js +8 -0
  233. package/dist/client.d.ts +6 -1
  234. package/dist/client.js +14 -1
  235. package/dist/configs/next.js +7 -0
  236. package/dist/constants/api-endpoints.d.ts +6 -0
  237. package/dist/constants/api-endpoints.js +4 -0
  238. package/dist/core/hooks/useSyncManager.js +13 -1
  239. package/dist/core/unit-of-work.d.ts +1 -1
  240. package/dist/core/unit-of-work.js +2 -2
  241. package/dist/features/account/actions/address-actions.d.ts +1 -1
  242. package/dist/features/account/actions/address-actions.js +15 -7
  243. package/dist/features/account/schemas/firestore.d.ts +8 -43
  244. package/dist/features/account/schemas/firestore.js +8 -54
  245. package/dist/features/account/schemas/index.d.ts +6 -6
  246. package/dist/features/account/server.d.ts +1 -1
  247. package/dist/features/account/server.js +3 -1
  248. package/dist/features/addresses/index.d.ts +2 -0
  249. package/dist/features/addresses/index.js +2 -0
  250. package/dist/features/addresses/repository/addresses.repository.d.ts +29 -0
  251. package/dist/features/addresses/repository/addresses.repository.js +157 -0
  252. package/dist/features/addresses/schemas/firestore.d.ts +53 -0
  253. package/dist/features/addresses/schemas/firestore.js +68 -0
  254. package/dist/features/{bundles → addresses}/schemas/index.d.ts +0 -1
  255. package/dist/features/{bundles → addresses}/schemas/index.js +0 -1
  256. package/dist/features/addresses/server.d.ts +2 -0
  257. package/dist/features/addresses/server.js +2 -0
  258. package/dist/features/admin/components/AdminAllEventEntriesView.js +4 -3
  259. package/dist/features/admin/components/AdminBidsView.js +4 -3
  260. package/dist/features/admin/components/AdminBlogView.js +8 -3
  261. package/dist/features/admin/components/AdminBundleEditorView.d.ts +9 -0
  262. package/dist/features/admin/components/AdminBundleEditorView.js +209 -0
  263. package/dist/features/admin/components/AdminBundlesView.d.ts +9 -0
  264. package/dist/features/admin/components/AdminBundlesView.js +59 -0
  265. package/dist/features/admin/components/AdminCartsView.js +13 -3
  266. package/dist/features/admin/components/AdminContactView.js +4 -3
  267. package/dist/features/admin/components/AdminCouponsView.js +32 -13
  268. package/dist/features/admin/components/AdminNewsletterView.js +4 -3
  269. package/dist/features/admin/components/AdminOrdersView.js +15 -7
  270. package/dist/features/admin/components/AdminPayoutsView.js +4 -3
  271. package/dist/features/admin/components/AdminProductsView.js +6 -5
  272. package/dist/features/admin/components/AdminReviewsView.js +5 -4
  273. package/dist/features/admin/components/AdminStoresView.js +4 -3
  274. package/dist/features/admin/components/AdminUsersView.js +15 -5
  275. package/dist/features/admin/components/AdminWishlistsView.js +10 -1
  276. package/dist/features/admin/components/DataTable.d.ts +5 -1
  277. package/dist/features/admin/components/DataTable.js +24 -20
  278. package/dist/features/admin/components/index.d.ts +4 -0
  279. package/dist/features/admin/components/index.js +3 -0
  280. package/dist/features/admin/constants/filter-tabs.d.ts +401 -0
  281. package/dist/features/admin/constants/filter-tabs.js +200 -0
  282. package/dist/features/admin/hooks/useAdminListingData.d.ts +1 -0
  283. package/dist/features/admin/hooks/useAdminListingData.js +1 -0
  284. package/dist/features/admin/schemas/firestore.d.ts +15 -0
  285. package/dist/features/admin/schemas/firestore.js +18 -0
  286. package/dist/features/admin/types/product.types.d.ts +2 -2
  287. package/dist/features/auctions/components/AuctionCard.d.ts +4 -1
  288. package/dist/features/auctions/components/AuctionCard.js +5 -3
  289. package/dist/features/auctions/components/AuctionDetailPageView.js +1 -1
  290. package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +2 -2
  291. package/dist/features/auctions/components/PlaceBidFormClient.js +12 -2
  292. package/dist/features/auctions/schemas/index.d.ts +2 -2
  293. package/dist/features/auth/index.d.ts +1 -0
  294. package/dist/features/auth/index.js +1 -0
  295. package/dist/features/auth/role-predicates.d.ts +16 -0
  296. package/dist/features/auth/role-predicates.js +15 -0
  297. package/dist/features/blog/components/BlogFeaturedCard.d.ts +4 -1
  298. package/dist/features/blog/components/BlogFeaturedCard.js +5 -3
  299. package/dist/features/cart/actions/cart-actions.d.ts +1 -0
  300. package/dist/features/cart/actions/cart-actions.js +16 -0
  301. package/dist/features/cart/components/CartView.d.ts +19 -1
  302. package/dist/features/cart/components/CartView.js +2 -2
  303. package/dist/features/cart/components/ShippingPicker.d.ts +13 -0
  304. package/dist/features/cart/components/ShippingPicker.js +48 -0
  305. package/dist/features/cart/components/index.d.ts +3 -1
  306. package/dist/features/cart/components/index.js +1 -0
  307. package/dist/features/cart/hooks/useCartCount.js +7 -1
  308. package/dist/features/cart/repository/cart.repository.d.ts +1 -0
  309. package/dist/features/cart/repository/cart.repository.js +35 -0
  310. package/dist/features/cart/schemas/firestore.d.ts +27 -2
  311. package/dist/features/categories/components/BundleAddToCartCta.d.ts +16 -0
  312. package/dist/features/categories/components/BundleAddToCartCta.js +54 -0
  313. package/dist/features/categories/components/BundleBuyNowCta.d.ts +8 -0
  314. package/dist/features/categories/components/BundleBuyNowCta.js +37 -0
  315. package/dist/features/categories/components/BundleDetailView.d.ts +22 -0
  316. package/dist/features/categories/components/BundleDetailView.js +31 -0
  317. package/dist/features/categories/components/BundleDynamicRuleEditor.d.ts +18 -0
  318. package/dist/features/categories/components/BundleDynamicRuleEditor.js +60 -0
  319. package/dist/features/categories/components/BundleItemsPicker.d.ts +26 -0
  320. package/dist/features/categories/components/BundleItemsPicker.js +135 -0
  321. package/dist/features/categories/components/BundlesListView.d.ts +13 -0
  322. package/dist/features/categories/components/BundlesListView.js +27 -0
  323. package/dist/features/categories/components/index.d.ts +12 -0
  324. package/dist/features/categories/components/index.js +9 -0
  325. package/dist/features/checkout/actions/checkout-actions.js +10 -3
  326. package/dist/features/events/components/AdminEventEditorView.js +108 -2
  327. package/dist/features/events/components/AdminEventsView.js +16 -4
  328. package/dist/features/events/components/EventCard.d.ts +4 -1
  329. package/dist/features/events/components/EventCard.js +7 -3
  330. package/dist/features/events/components/EventRaffleWinnerView.d.ts +21 -0
  331. package/dist/features/events/components/EventRaffleWinnerView.js +18 -0
  332. package/dist/features/events/components/SpinWheelView.d.ts +27 -0
  333. package/dist/features/events/components/SpinWheelView.js +64 -0
  334. package/dist/features/events/components/index.d.ts +4 -0
  335. package/dist/features/events/components/index.js +2 -0
  336. package/dist/features/events/schemas/firestore.d.ts +27 -1
  337. package/dist/features/events/schemas/firestore.js +7 -0
  338. package/dist/features/events/types/index.d.ts +27 -1
  339. package/dist/features/homepage/components/FeaturedBundlesSection.d.ts +16 -0
  340. package/dist/features/homepage/components/FeaturedBundlesSection.js +24 -0
  341. package/dist/features/homepage/components/MarketplaceHomepageView.js +4 -1
  342. package/dist/features/homepage/components/WhatsAppCommunitySection.js +2 -2
  343. package/dist/features/homepage/lib/section-renderer.d.ts +2 -0
  344. package/dist/features/homepage/lib/section-renderer.js +5 -5
  345. package/dist/features/layout/NavbarLayout.d.ts +3 -1
  346. package/dist/features/layout/NavbarLayout.js +32 -3
  347. package/dist/features/layout/TitleBarLayout.d.ts +6 -3
  348. package/dist/features/layout/TitleBarLayout.js +22 -7
  349. package/dist/features/media/upload/MediaUploadField.d.ts +15 -1
  350. package/dist/features/media/upload/MediaUploadField.js +22 -1
  351. package/dist/features/orders/components/MarketplaceOrderCard.js +4 -2
  352. package/dist/features/orders/components/OrderSiblingPayments.d.ts +8 -0
  353. package/dist/features/orders/components/OrderSiblingPayments.js +16 -0
  354. package/dist/features/orders/components/RefundHistoryTable.d.ts +6 -0
  355. package/dist/features/orders/components/RefundHistoryTable.js +23 -0
  356. package/dist/features/orders/components/RefundRequestView.d.ts +8 -0
  357. package/dist/features/orders/components/RefundRequestView.js +42 -0
  358. package/dist/features/orders/components/index.d.ts +6 -0
  359. package/dist/features/orders/components/index.js +3 -0
  360. package/dist/features/orders/index.d.ts +1 -0
  361. package/dist/features/orders/index.js +2 -0
  362. package/dist/features/orders/repository/orders.repository.d.ts +20 -1
  363. package/dist/features/orders/repository/orders.repository.js +30 -1
  364. package/dist/features/orders/schemas/firestore.d.ts +63 -13
  365. package/dist/features/orders/schemas/firestore.js +5 -5
  366. package/dist/features/orders/schemas/index.d.ts +4 -4
  367. package/dist/features/orders/types/index.d.ts +12 -2
  368. package/dist/features/orders/utils/bundle-grouping.d.ts +48 -0
  369. package/dist/features/orders/utils/bundle-grouping.js +54 -0
  370. package/dist/features/orders/utils/order-splitter.d.ts +9 -10
  371. package/dist/features/orders/utils/order-splitter.js +24 -30
  372. package/dist/features/payments/repository/payout.repository.d.ts +17 -1
  373. package/dist/features/payments/repository/payout.repository.js +47 -0
  374. package/dist/features/payments/schemas/firestore.d.ts +26 -0
  375. package/dist/features/pre-orders/components/PreorderCard.d.ts +4 -1
  376. package/dist/features/pre-orders/components/PreorderCard.js +8 -6
  377. package/dist/features/products/actions/product-actions.d.ts +1 -1
  378. package/dist/features/products/actions/product-actions.js +1 -1
  379. package/dist/features/products/components/CompareOverlay.d.ts +2 -2
  380. package/dist/features/products/components/CompareOverlay.js +4 -4
  381. package/dist/features/products/components/InteractiveProductCard.js +7 -12
  382. package/dist/features/products/components/NonRefundableConsentModal.d.ts +1 -1
  383. package/dist/features/products/components/NonRefundableConsentModal.js +0 -10
  384. package/dist/features/products/components/ProductGrid.js +28 -12
  385. package/dist/features/products/components/ShowGroupSection.js +3 -3
  386. package/dist/features/products/components/SublistingCarouselSection.js +2 -2
  387. package/dist/features/products/components/index.d.ts +0 -4
  388. package/dist/features/products/components/index.js +5 -2
  389. package/dist/features/products/index.d.ts +1 -1
  390. package/dist/features/products/index.js +3 -1
  391. package/dist/features/products/repository/products.repository.js +4 -0
  392. package/dist/features/products/schemas/catalog-product.d.ts +70 -0
  393. package/dist/features/products/schemas/catalog-product.js +50 -0
  394. package/dist/features/products/schemas/firestore.d.ts +110 -2
  395. package/dist/features/products/schemas/firestore.js +30 -0
  396. package/dist/features/products/schemas/index.d.ts +8 -8
  397. package/dist/features/products/types/index.d.ts +1 -1
  398. package/dist/features/products/utils/listing-type.d.ts +9 -0
  399. package/dist/features/products/utils/listing-type.js +4 -0
  400. package/dist/features/promotions/actions/coupon-actions.d.ts +2 -2
  401. package/dist/features/promotions/actions/coupon-actions.js +1 -1
  402. package/dist/features/promotions/components/CouponCard.d.ts +28 -10
  403. package/dist/features/promotions/components/CouponCard.js +116 -14
  404. package/dist/features/promotions/hooks/useCouponValidate.d.ts +1 -1
  405. package/dist/features/promotions/repository/coupons.repository.d.ts +1 -1
  406. package/dist/features/reviews/schemas/index.d.ts +2 -2
  407. package/dist/features/search/schemas/index.d.ts +2 -2
  408. package/dist/features/search/types/index.d.ts +2 -2
  409. package/dist/features/seller/components/SellerAuctionsView.js +4 -5
  410. package/dist/features/seller/components/SellerBidsView.js +5 -13
  411. package/dist/features/seller/components/SellerCouponsView.js +31 -67
  412. package/dist/features/seller/components/SellerOffersView.js +4 -5
  413. package/dist/features/seller/components/SellerOrdersView.js +4 -5
  414. package/dist/features/seller/components/SellerPayoutsView.js +4 -5
  415. package/dist/features/seller/components/SellerProductsView.js +4 -8
  416. package/dist/features/seller/schemas/index.d.ts +2 -2
  417. package/dist/features/stores/actions/store-address-actions.d.ts +10 -6
  418. package/dist/features/stores/actions/store-address-actions.js +8 -7
  419. package/dist/features/stores/components/InteractiveStoreCard.js +3 -10
  420. package/dist/features/stores/components/StoreDetailLayoutView.js +20 -5
  421. package/dist/features/stores/schemas/firestore.d.ts +45 -38
  422. package/dist/features/stores/schemas/firestore.js +2 -49
  423. package/dist/features/stores/server.d.ts +0 -1
  424. package/dist/features/stores/server.js +2 -1
  425. package/dist/features/wishlist/hooks/useWishlistCount.d.ts +7 -9
  426. package/dist/features/wishlist/hooks/useWishlistCount.js +67 -86
  427. package/dist/features/wishlist/types/index.d.ts +1 -1
  428. package/dist/index.d.ts +50 -9
  429. package/dist/index.js +57 -11
  430. package/dist/next/routing/route-map.d.ts +6 -0
  431. package/dist/next/routing/route-map.js +4 -0
  432. package/dist/providers/db-firebase/admin.d.ts +6 -2
  433. package/dist/providers/db-firebase/admin.js +23 -0
  434. package/dist/repositories/index.d.ts +1 -2
  435. package/dist/repositories/index.js +5 -2
  436. package/dist/security/authorization.d.ts +2 -1
  437. package/dist/security/authorization.js +3 -2
  438. package/dist/seed/actions/demo-seed-actions.d.ts +1 -1
  439. package/dist/seed/bids-seed-data.d.ts +2 -2
  440. package/dist/seed/bids-seed-data.js +77 -2
  441. package/dist/seed/cart-seed-data.d.ts +10 -10
  442. package/dist/seed/cart-seed-data.js +15 -15
  443. package/dist/seed/events-seed-data.js +77 -0
  444. package/dist/seed/manifest.js +16 -8
  445. package/dist/seed/orders-seed-data.js +41 -2
  446. package/dist/seed/payouts-seed-data.js +18 -2
  447. package/dist/seed/stores-seed-data.js +55 -0
  448. package/dist/server-entry.d.ts +1 -0
  449. package/dist/server-entry.js +2 -0
  450. package/dist/server.d.ts +4 -0
  451. package/dist/server.js +8 -0
  452. package/dist/tailwind-utilities.css +1 -1
  453. package/dist/ui/components/FilterChipGroup.d.ts +39 -0
  454. package/dist/ui/components/FilterChipGroup.js +15 -0
  455. package/dist/ui/components/HorizontalScroller.js +32 -7
  456. package/dist/ui/components/HorizontalScroller.style.css +6 -0
  457. package/dist/ui/components/SiteLogo.js +1 -1
  458. package/dist/ui/index.d.ts +2 -0
  459. package/dist/ui/index.js +2 -0
  460. package/dist/utils/id-generators.d.ts +11 -0
  461. package/dist/utils/id-generators.js +16 -0
  462. package/package.json +1 -1
  463. package/dist/_internal/shared/features/bundles/config.d.ts +0 -6
  464. package/dist/_internal/shared/features/bundles/config.js +0 -6
  465. package/dist/_internal/shared/schema-versions.d.ts +0 -76
  466. package/dist/_internal/shared/schema-versions.js +0 -82
  467. package/dist/features/account/migrations.d.ts +0 -2
  468. package/dist/features/account/migrations.js +0 -10
  469. package/dist/features/admin/migrations.d.ts +0 -2
  470. package/dist/features/admin/migrations.js +0 -10
  471. package/dist/features/auctions/migrations.d.ts +0 -2
  472. package/dist/features/auctions/migrations.js +0 -10
  473. package/dist/features/auth/migrations.d.ts +0 -2
  474. package/dist/features/auth/migrations.js +0 -10
  475. package/dist/features/blog/migrations.d.ts +0 -2
  476. package/dist/features/blog/migrations.js +0 -10
  477. package/dist/features/brands/actions/brand-actions.d.ts +0 -2
  478. package/dist/features/brands/actions/brand-actions.js +0 -5
  479. package/dist/features/brands/index.d.ts +0 -3
  480. package/dist/features/brands/index.js +0 -3
  481. package/dist/features/brands/migrations.d.ts +0 -2
  482. package/dist/features/brands/migrations.js +0 -10
  483. package/dist/features/brands/repository/brands.repository.d.ts +0 -13
  484. package/dist/features/brands/repository/brands.repository.js +0 -60
  485. package/dist/features/brands/schemas/index.d.ts +0 -33
  486. package/dist/features/brands/schemas/index.js +0 -15
  487. package/dist/features/brands/server.d.ts +0 -7
  488. package/dist/features/brands/server.js +0 -7
  489. package/dist/features/bundles/components/AdminBundleEditorView.d.ts +0 -8
  490. package/dist/features/bundles/components/AdminBundleEditorView.js +0 -7
  491. package/dist/features/bundles/components/BundleDetailPageView.d.ts +0 -9
  492. package/dist/features/bundles/components/BundleDetailPageView.js +0 -45
  493. package/dist/features/bundles/components/BundleForm.d.ts +0 -12
  494. package/dist/features/bundles/components/BundleForm.js +0 -126
  495. package/dist/features/bundles/components/BundleItemsPicker.d.ts +0 -9
  496. package/dist/features/bundles/components/BundleItemsPicker.js +0 -77
  497. package/dist/features/bundles/components/BundlesByCategoryListing.d.ts +0 -6
  498. package/dist/features/bundles/components/BundlesByCategoryListing.js +0 -50
  499. package/dist/features/bundles/components/BundlesListingView.d.ts +0 -17
  500. package/dist/features/bundles/components/BundlesListingView.js +0 -50
  501. package/dist/features/bundles/components/FeaturedBundlesSection.d.ts +0 -5
  502. package/dist/features/bundles/components/FeaturedBundlesSection.js +0 -55
  503. package/dist/features/bundles/components/SellerBundleCreateView.d.ts +0 -8
  504. package/dist/features/bundles/components/SellerBundleCreateView.js +0 -7
  505. package/dist/features/bundles/components/SellerBundleEditView.d.ts +0 -9
  506. package/dist/features/bundles/components/SellerBundleEditView.js +0 -7
  507. package/dist/features/bundles/components/index.d.ts +0 -18
  508. package/dist/features/bundles/components/index.js +0 -9
  509. package/dist/features/bundles/constants/index.d.ts +0 -32
  510. package/dist/features/bundles/constants/index.js +0 -35
  511. package/dist/features/bundles/index.d.ts +0 -2
  512. package/dist/features/bundles/index.js +0 -2
  513. package/dist/features/bundles/migrations.d.ts +0 -2
  514. package/dist/features/bundles/migrations.js +0 -10
  515. package/dist/features/bundles/repository/bundles.repository.d.ts +0 -36
  516. package/dist/features/bundles/repository/bundles.repository.js +0 -148
  517. package/dist/features/bundles/repository/index.d.ts +0 -1
  518. package/dist/features/bundles/repository/index.js +0 -1
  519. package/dist/features/bundles/schemas/firestore.d.ts +0 -88
  520. package/dist/features/bundles/schemas/firestore.js +0 -29
  521. package/dist/features/bundles/schemas/zod.d.ts +0 -377
  522. package/dist/features/bundles/schemas/zod.js +0 -71
  523. package/dist/features/cart/migrations.d.ts +0 -2
  524. package/dist/features/cart/migrations.js +0 -10
  525. package/dist/features/categories/migrations.d.ts +0 -2
  526. package/dist/features/categories/migrations.js +0 -10
  527. package/dist/features/events/migrations.d.ts +0 -2
  528. package/dist/features/events/migrations.js +0 -10
  529. package/dist/features/faq/migrations.d.ts +0 -2
  530. package/dist/features/faq/migrations.js +0 -10
  531. package/dist/features/grouped/migrations.d.ts +0 -2
  532. package/dist/features/grouped/migrations.js +0 -10
  533. package/dist/features/history/migrations.d.ts +0 -2
  534. package/dist/features/history/migrations.js +0 -10
  535. package/dist/features/messages/migrations.d.ts +0 -2
  536. package/dist/features/messages/migrations.js +0 -10
  537. package/dist/features/orders/migrations.d.ts +0 -2
  538. package/dist/features/orders/migrations.js +0 -10
  539. package/dist/features/payments/migrations.d.ts +0 -2
  540. package/dist/features/payments/migrations.js +0 -10
  541. package/dist/features/products/migrations.d.ts +0 -2
  542. package/dist/features/products/migrations.js +0 -10
  543. package/dist/features/products/repository/sublisting-categories.repository.d.ts +0 -16
  544. package/dist/features/products/repository/sublisting-categories.repository.js +0 -126
  545. package/dist/features/products/schemas/sublisting-categories.d.ts +0 -45
  546. package/dist/features/products/schemas/sublisting-categories.js +0 -16
  547. package/dist/features/promotions/migrations.d.ts +0 -2
  548. package/dist/features/promotions/migrations.js +0 -10
  549. package/dist/features/reviews/migrations.d.ts +0 -2
  550. package/dist/features/reviews/migrations.js +0 -10
  551. package/dist/features/scams/migrations.d.ts +0 -2
  552. package/dist/features/scams/migrations.js +0 -10
  553. package/dist/features/seller/migrations.d.ts +0 -2
  554. package/dist/features/seller/migrations.js +0 -10
  555. package/dist/features/stores/migrations.d.ts +0 -2
  556. package/dist/features/stores/migrations.js +0 -10
  557. package/dist/features/sublisting/migrations.d.ts +0 -2
  558. package/dist/features/sublisting/migrations.js +0 -10
  559. package/dist/features/sublisting/schemas/firestore.d.ts +0 -32
  560. package/dist/features/sublisting/schemas/firestore.js +0 -19
  561. package/dist/features/support/migrations.d.ts +0 -2
  562. package/dist/features/support/migrations.js +0 -10
  563. package/dist/features/wishlist/migrations.d.ts +0 -2
  564. package/dist/features/wishlist/migrations.js +0 -10
  565. package/dist/seed/_bundle-constants.d.ts +0 -14
  566. package/dist/seed/_bundle-constants.js +0 -14
  567. package/dist/seed/anime-figures-seed-data.d.ts +0 -8
  568. package/dist/seed/anime-figures-seed-data.js +0 -1033
  569. package/dist/seed/beyblade-seed-data.d.ts +0 -7
  570. package/dist/seed/beyblade-seed-data.js +0 -1129
  571. package/dist/seed/brands-seed-data.d.ts +0 -7
  572. package/dist/seed/brands-seed-data.js +0 -410
  573. package/dist/seed/bundles-seed-data.d.ts +0 -13
  574. package/dist/seed/bundles-seed-data.js +0 -229
  575. package/dist/seed/cosplay-accessories-seed-data.d.ts +0 -8
  576. package/dist/seed/cosplay-accessories-seed-data.js +0 -647
  577. package/dist/seed/hot-wheels-seed-data.d.ts +0 -7
  578. package/dist/seed/hot-wheels-seed-data.js +0 -1612
  579. package/dist/seed/letitrip-official-seed-data.d.ts +0 -8
  580. package/dist/seed/letitrip-official-seed-data.js +0 -399
  581. package/dist/seed/pokemon-carousel-slides-seed-data.d.ts +0 -8
  582. package/dist/seed/pokemon-carousel-slides-seed-data.js +0 -322
  583. package/dist/seed/pokemon-categories-seed-data.d.ts +0 -24
  584. package/dist/seed/pokemon-categories-seed-data.js +0 -547
  585. package/dist/seed/pokemon-coupons-seed-data.d.ts +0 -6
  586. package/dist/seed/pokemon-coupons-seed-data.js +0 -465
  587. package/dist/seed/pokemon-homepage-sections-seed-data.d.ts +0 -7
  588. package/dist/seed/pokemon-homepage-sections-seed-data.js +0 -241
  589. package/dist/seed/pokemon-products-seed-data.d.ts +0 -9
  590. package/dist/seed/pokemon-products-seed-data.js +0 -1791
  591. package/dist/seed/pokemon-seed-bundle.d.ts +0 -47
  592. package/dist/seed/pokemon-seed-bundle.js +0 -71
  593. package/dist/seed/pokemon-stores-seed-data.d.ts +0 -6
  594. package/dist/seed/pokemon-stores-seed-data.js +0 -179
  595. package/dist/seed/pokemon-users-seed-data.d.ts +0 -6
  596. package/dist/seed/pokemon-users-seed-data.js +0 -521
  597. package/dist/seed/products-seed-data.d.ts +0 -6
  598. package/dist/seed/products-seed-data.js +0 -2530
  599. package/dist/seed/retro-gaming-seed-data.d.ts +0 -8
  600. package/dist/seed/retro-gaming-seed-data.js +0 -801
  601. package/dist/seed/server.d.ts +0 -2
  602. package/dist/seed/server.js +0 -7
  603. package/dist/seed/sublisting-categories-seed-data.d.ts +0 -7
  604. package/dist/seed/sublisting-categories-seed-data.js +0 -159
  605. package/dist/seed/transformers-seed-data.d.ts +0 -7
  606. package/dist/seed/transformers-seed-data.js +0 -530
package/dist/index.js CHANGED
@@ -924,8 +924,8 @@ export { requireRole } from "./security/index";
924
924
  export { resolvePermissions } from "./security/index";
925
925
  // ./repositories/index
926
926
  // [DB]-Database layer — uses firebase-admin or another server-side DB SDK; can only run in a trusted server environment.
927
- // AddressRepository - Shared export for address repository.
928
- export { AddressRepository } from "./repositories/index";
927
+ // AddressesRepository - unified top-level addresses collection (SB-UNI-A 2026-05-13).
928
+ export { AddressesRepository } from "./repositories/index";
929
929
  // [DB]-Database layer — uses firebase-admin or another server-side DB SDK; can only run in a trusted server environment.
930
930
  // BaseRepository - Shared export for base repository.
931
931
  export { BaseRepository } from "./repositories/index";
@@ -999,8 +999,8 @@ export { StoreRepository } from "./repositories/index";
999
999
  // UserRepository - Shared export for user repository.
1000
1000
  export { UserRepository } from "./repositories/index";
1001
1001
  // [DB]-Database layer — uses firebase-admin or another server-side DB SDK; can only run in a trusted server environment.
1002
- // addressRepository - Shared export for address repository.
1003
- export { addressRepository } from "./repositories/index";
1002
+ // addressesRepository - unified addresses repo (ownerType discriminator). SB-UNI-A 2026-05-13.
1003
+ export { addressesRepository } from "./repositories/index";
1004
1004
  // [DB]-Database layer — uses firebase-admin or another server-side DB SDK; can only run in a trusted server environment.
1005
1005
  // bidRepository - Shared export for bid repository.
1006
1006
  export { bidRepository } from "./repositories/index";
@@ -1074,9 +1074,8 @@ export { siteSettingsRepository } from "./repositories/index";
1074
1074
  // [DB]-Database layer — uses firebase-admin or another server-side DB SDK; can only run in a trusted server environment.
1075
1075
  // smsCounterRepository - Shared export for sms counter repository.
1076
1076
  export { smsCounterRepository } from "./repositories/index";
1077
- // [DB]-Database layer — uses firebase-admin or another server-side DB SDK; can only run in a trusted server environment.
1078
- // storeAddressRepository - Shared export for store address repository.
1079
- export { storeAddressRepository } from "./repositories/index";
1077
+ // SB-UNI-A 2026-05-13 storeAddressRepository deleted. Use addressesRepository
1078
+ // with ownerType:"store" via the unified addresses collection.
1080
1079
  // [DB]-Database layer — uses firebase-admin or another server-side DB SDK; can only run in a trusted server environment.
1081
1080
  // storeRepository - Shared export for store repository.
1082
1081
  export { storeRepository } from "./repositories/index";
@@ -2078,6 +2077,11 @@ export { AdminBrandEditorView } from "./features/admin/index";
2078
2077
  export { AdminCategoriesView } from "./features/admin/index";
2079
2078
  // AdminCategoryEditorView - Component for admin category create/edit form.
2080
2079
  export { AdminCategoryEditorView } from "./features/admin/index";
2080
+ // S-SBUNI-4 2026-05-13 — admin bundle CRUD views.
2081
+ export { AdminBundlesView } from "./features/admin/index";
2082
+ export { AdminBundleEditorView } from "./features/admin/index";
2083
+ // S-SBUNI-4 2026-05-13 — multi-select bundle items picker (centerpiece UI primitive).
2084
+ export { BundleItemsPicker, defaultBundleItemsFetch, } from "./features/categories/components/BundleItemsPicker";
2081
2085
  // [CLIENT-SSR]-Runs in both SSR and browser — React component or hook that does not depend on browser-only APIs.
2082
2086
  // AdminCouponsView - Component for admin coupons view.
2083
2087
  export { AdminCouponsView } from "./features/admin/index";
@@ -2879,6 +2883,8 @@ export { removeCartItem } from "./features/cart/server";
2879
2883
  // [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
2880
2884
  // updateCartItem - Helper for update cart item.
2881
2885
  export { updateCartItem } from "./features/cart/server";
2886
+ // [SERVER-ONLY]-Server-only — cart item shipping provider update.
2887
+ export { updateCartItemShipping } from "./features/cart/server";
2882
2888
  // ./features/cart/schemas/index
2883
2889
  // [SCHEMA]-Schema / data-shape constant — Zod validator, default-value object, or Firestore collection/field name constant.
2884
2890
  // CART_COLLECTION - Constant used across modules.
@@ -3351,6 +3357,10 @@ export { EventPollWidget } from "./features/events/index";
3351
3357
  // [CLIENT-SSR]-Runs in both SSR and browser — React component or hook that does not depend on browser-only APIs.
3352
3358
  // EventStatusBadge - Component for event status badge.
3353
3359
  export { EventStatusBadge } from "./features/events/index";
3360
+ // EventRaffleWinnerView - Public-facing winner card for an event raffle.
3361
+ export { EventRaffleWinnerView } from "./features/events/index";
3362
+ // SpinWheelView - Spin-the-wheel client component for spin-wheel events.
3363
+ export { SpinWheelView } from "./features/events/index";
3354
3364
  // [CLIENT-SSR]-Runs in both SSR and browser — React component or hook that does not depend on browser-only APIs.
3355
3365
  // EventsListView - Component for events list view.
3356
3366
  export { EventsListView } from "./features/events/index";
@@ -4047,6 +4057,9 @@ export { OrderStatusValues } from "./features/orders/index";
4047
4057
  // [CLIENT-SSR]-Runs in both SSR and browser — React component or hook that does not depend on browser-only APIs.
4048
4058
  // OrdersList - Shared export for orders list.
4049
4059
  export { OrdersList } from "./features/orders/index";
4060
+ export { OrderSiblingPayments } from "./features/orders/index";
4061
+ export { RefundHistoryTable } from "./features/orders/index";
4062
+ export { RefundRequestView } from "./features/orders/index";
4050
4063
  // [CLIENT-SSR]-Runs in both SSR and browser — React component or hook that does not depend on browser-only APIs.
4051
4064
  // PaymentGatewayValues - Model for payment gateway values.
4052
4065
  export { PaymentGatewayValues } from "./features/orders/index";
@@ -4238,6 +4251,14 @@ export { AuctionDetailView } from "./features/products/index";
4238
4251
  export { AuctionDetailPageView } from "./features/auctions/index";
4239
4252
  // [SERVER-RSC]-Self-fetching index page view for auctions.
4240
4253
  export { AuctionsListView } from "./features/auctions/components/AuctionsListView";
4254
+ // [SERVER-RSC]-Self-fetching index page view for `/bundles` (categoryType:"bundle" rows).
4255
+ export { BundlesListView } from "./features/categories/components/BundlesListView";
4256
+ // S-SBUNI-3 2026-05-13 — public bundle detail view (rebuilt after SB-UNI-V deletion).
4257
+ export { BundleDetailView } from "./features/categories/components/BundleDetailView";
4258
+ // S-SBUNI-5 2026-05-13 — functional Add-to-cart CTA client island.
4259
+ export { BundleBuyNowCta } from "./features/categories/components/BundleBuyNowCta";
4260
+ // CategoryBundlesListing is also re-exported lower in this file (line ~8871);
4261
+ // the canonical export lives there next to BUNDLE_MIN_ITEMS / BUNDLE_MAX_ITEMS.
4241
4262
  // [CLIENT-SSR]-Runs in both SSR and browser — React component or hook that does not depend on browser-only APIs.
4242
4263
  // AuctionsView - Component for auctions view.
4243
4264
  export { AuctionsView } from "./features/products/index";
@@ -4309,13 +4330,13 @@ export { PreOrderDetailView } from "./features/products/index";
4309
4330
  // PreOrdersView - Component for pre orders view.
4310
4331
  export { PreOrdersView } from "./features/products/index";
4311
4332
  // [SERVER-RSC]-Public listing for prize-draw products (SB4-F).
4312
- export { PrizeDrawsListingView } from "./features/products/index";
4333
+ export { PrizeDrawsListingView } from "./features/products/components/PrizeDrawsListingView";
4313
4334
  // [CLIENT]-Client toolbar+grid for prize draws (SB4-F).
4314
4335
  export { PrizeDrawsIndexListing } from "./features/products/index";
4315
4336
  // [CLIENT]-Marketplace card for prize draws (SB4-F).
4316
4337
  export { MarketplacePrizeDrawCard } from "./features/products/index";
4317
4338
  // [SERVER-RSC]-Public detail page for a prize-draw product (SB4-G).
4318
- export { PrizeDrawDetailPageView } from "./features/products/index";
4339
+ export { PrizeDrawDetailPageView } from "./features/products/components/PrizeDrawDetailPageView";
4319
4340
  // [CLIENT]-Buy panel client for prize-draw detail (consent + add-to-cart) (SB4-G).
4320
4341
  export { PrizeDrawEntryActions } from "./features/products/index";
4321
4342
  // [CLIENT-SSR]-Runs in both SSR and browser — React component or hook that does not depend on browser-only APIs.
@@ -4387,7 +4408,18 @@ export { getProductSortOptions } from "./features/products/index";
4387
4408
  export { getProductTableColumns } from "./features/products/index";
4388
4409
  // [CLIENT-SSR]-Runs in both SSR and browser — React component or hook that does not depend on browser-only APIs.
4389
4410
  // normalizeListingType + predicate helpers — canonical SB1-G accessors.
4390
- export { normalizeListingType, isAuctionListing, isPreOrderListing, isStandardListing, } from "./features/products/index";
4411
+ // SB-UNI-F 2026-05-13 Phase 2 predicates added (classified/digital-code/live).
4412
+ export { normalizeListingType, isAuctionListing, isPreOrderListing, isStandardListing, isPrizeDrawListing, isClassifiedListing, isDigitalCodeListing, isLiveListing, } from "./features/products/index";
4413
+ // SB-UNI-X4 2026-05-13 — per-type feature-flag helpers.
4414
+ export { isListingTypeEnabled, isCategoryTypeEnabled, enabledListingTypes, enabledCategoryTypes, } from "./_internal/shared/listing-types/feature-flags";
4415
+ // SB-UNI-X5 2026-05-13 — action telemetry sink.
4416
+ export { actionTracker, setActionTrackerSink, resetActionTrackerSink, } from "./_internal/shared/listing-types/action-tracker";
4417
+ // SB-UNI-S 2026-05-13 — cart-level shipping-requirement helpers.
4418
+ export { cartRequiresShipping, cartIsDigitalOnly, cartIsChatOnly, } from "./_internal/shared/listing-types/cart-shipping";
4419
+ // SB-UNI-W-1 2026-05-13 — CTA action registry shell.
4420
+ export { ACTIONS, action, act, canPerformAction, actionsForListingType, actionLabel, } from "./_internal/shared/actions/action-registry";
4421
+ // User-role predicates — SB-UNI-E 2026-05-13.
4422
+ export { isAdminUser, isSellerUser, isModeratorUser, isEmployeeUser, isBuyerUser, } from "./features/auth/role-predicates";
4391
4423
  // [SERVER-ONLY]-Safe in browser but intended for server routes.
4392
4424
  // sanitizeProductForPublic - Strip sellerId/sellerName/sellerEmail/ownerId before returning a product in a public response.
4393
4425
  export { sanitizeProductForPublic, sanitizeProductsForPublic } from "./features/products/index";
@@ -5363,7 +5395,7 @@ export { useMediaQuery, useBreakpoint, useClickOutside, useKeyPress, useLongPres
5363
5395
  // Missing auth feature components
5364
5396
  export { RoleGate, ProtectedRoute, SocialAuthButtons, AuthStatusPanel, LoginForm, RegisterForm, ForgotPasswordView, ResetPasswordView, VerifyEmailView, OAuthLoadingView, } from "./features/auth/index";
5365
5397
  // Missing cart and checkout feature components
5366
- export { CartItemRow, CartDrawer, CartView, CartSummary } from "./features/cart/index";
5398
+ export { CartItemRow, CartDrawer, CartView, CartSummary, ShippingPicker } from "./features/cart/index";
5367
5399
  export { CheckoutView, CheckoutAddressStep, CheckoutOtpModal, CheckoutSuccessView } from "./features/cart/index";
5368
5400
  export { CheckoutStepper, useCheckout } from "./features/checkout/index";
5369
5401
  // PaymentGateway already exported from checkout types above
@@ -5385,6 +5417,8 @@ export { TextLink } from "./ui/index";
5385
5417
  export { SUCCESS_MESSAGES } from "./values/index";
5386
5418
  // -- Missing order utils
5387
5419
  export { splitCartIntoOrderGroups } from "./features/orders/index";
5420
+ // S-SBUNI-5 2026-05-13 — bundle-aware order item grouping for receipts.
5421
+ export { groupOrderItemsByBundle, } from "./features/orders/index";
5388
5422
  // -- Missing utils
5389
5423
  export { buildSieveFilters } from "./utils/filter.helper";
5390
5424
  export { formatFileSize } from "./utils/number.formatter";
@@ -5407,6 +5441,10 @@ export { productFeatureAdminCreateSchema, productFeatureStoreCreateSchema, produ
5407
5441
  export { LISTING_PARAM_NAMES, parseListingParams, parseListingSearchParams, serializeListingParams, } from "./utils/listing-params";
5408
5442
  // Product features UI option lists (S8 refactor — shared by editor + selector)
5409
5443
  export { PRODUCT_FEATURE_CATEGORY_OPTIONS, PRODUCT_FEATURE_PRODUCT_TYPE_OPTIONS, PRODUCT_FEATURE_SCOPE_OPTIONS, PRODUCT_FEATURE_ICON_COLOR_OPTIONS, PRODUCT_FEATURE_SCOPE_TABS, PRODUCT_FEATURE_DEFAULT_DISPLAY_ORDER, PRODUCT_FEATURE_CARD_MAX_VISIBLE, PRODUCT_FEATURE_QUERY_STALE_MS, } from "./features/products/constants/product-features.constants";
5444
+ // SB10-A listing tab constants
5445
+ export { CATEGORY_PAGE_TABS, STORE_PAGE_TABS, SELLER_LISTING_TABS, SEARCH_RESULT_TABS, } from "./features/products/constants/listing-tabs";
5446
+ // SB10-C admin + seller filter-chip tab sets (S8 2026-05-13)
5447
+ export { ALL_TAB, EMPTY_TAB, ADMIN_PRODUCT_STATUS_TABS, ADMIN_PRODUCT_LISTING_TYPE_TABS, ADMIN_BLOG_STATUS_TABS, ADMIN_USER_STATUS_TABS, ADMIN_USER_ROLE_TABS, ADMIN_STORE_STATUS_TABS, ADMIN_PAYOUT_STATUS_TABS, ADMIN_ORDER_STATUS_TABS, ADMIN_REVIEW_STATUS_TABS, ADMIN_REVIEW_RATING_TABS, ADMIN_BID_STATUS_TABS, ADMIN_CONTACT_STATUS_TABS, ADMIN_NEWSLETTER_STATUS_TABS, ADMIN_EVENT_ENTRY_STATUS_TABS, ADMIN_EVENT_STATUS_TABS, ADMIN_CART_OWNERSHIP_TABS, ADMIN_COUPON_TYPE_TABS, SELLER_PRODUCT_STATUS_TABS, SELLER_AUCTION_STATUS_TABS, SELLER_ORDER_STATUS_TABS, SELLER_OFFER_STATUS_TABS, SELLER_BID_STATUS_TABS, } from "./features/admin/constants/filter-tabs";
5410
5448
  // Grouped listings feature schemas
5411
5449
  export { GROUPED_LISTINGS_COLLECTION } from "./features/grouped/schemas/firestore";
5412
5450
  // SB-UNI-D + V — BundleDocument + bundlesRepository + features/bundles/
@@ -5416,6 +5454,12 @@ export { GROUPED_LISTINGS_COLLECTION } from "./features/grouped/schemas/firestor
5416
5454
  // Replacement component: CategoryBundlesListing in features/categories/components.
5417
5455
  export { CategoryBundlesListing } from "./features/categories/components/CategoryBundlesListing";
5418
5456
  export { BUNDLE_MIN_ITEMS, BUNDLE_MAX_ITEMS, BUNDLE_MAX_PER_USER_DEFAULT, BUNDLES_PAGE_SIZE, BUNDLES_FEATURED_LIMIT, } from "./_internal/shared/features/categories/bundle-config";
5457
+ // S-SBUNI-4 follow-up — shared bundle UI copy + stock-badge variant map.
5458
+ export { BUNDLE_COPY, BUNDLE_STOCK_VARIANT, } from "./_internal/shared/features/categories/bundle-copy";
5459
+ // S-SBUNI-RULES 2026-05-13 — shared copy for refund / shipping / sibling-payment UI.
5460
+ export { REFUND_COPY } from "./_internal/shared/features/orders/refund-copy";
5461
+ // S-SBUNI-4 follow-up — shared admin bundle zod schemas.
5462
+ export { bundleCreateSchema, bundleUpdateSchema, bundleQueryRuleSchema, bundleDisplaySchema, } from "./_internal/shared/features/categories/bundle-schemas";
5419
5463
  // Scam registry — seed data
5420
5464
  export { scammersSeedData } from "./seed/index";
5421
5465
  // Product features — seed data (FI2)
@@ -5456,5 +5500,7 @@ export { renderPrivateProfileOgImage, renderUserProfileOgImage } from "./_intern
5456
5500
  // Listing-type capability registry — SB-UNI X1.
5457
5501
  export { LISTING_TYPE_CAPABILITIES, capabilityFor, canAddToCart, canBid, supportsShipping, requiresVendorVerified, requiresJurisdictionCheck, hasInstantFulfillment, assertNever, } from "./_internal/shared/listing-types/capabilities";
5458
5502
  export { LISTING_TYPE_REGISTRY, pluginFor } from "./_internal/shared/listing-types/_registry";
5503
+ // Checkout rule registry — pure TS, safe in both client and server bundles.
5504
+ export { getListingRule, getCategoryRule, pickOrderType, getSplitKey, runSyncPreflight, CHECKOUT_RULES, CATEGORY_CHECKOUT_RULES, CHECKOUT_MAX_ORDERS_PER_TX, PRIZE_DRAW_MAX_REVEALS_PER_ORDER, BUNDLE_MAX_QTY_PER_TX, STANDARD_MAX_QTY_PER_LINE, } from "./_internal/shared/checkout/rules";
5459
5505
  // Media upload limits — pure constants, safe in both client and server bundles.
5460
5506
  export { MEGABYTE, MAX_IMAGE_BYTES, MAX_PDF_BYTES, MAX_VIDEO_BYTES, MAX_LABEL, MAX_BYTES, ALLOWED_IMAGE_MIMES, ALLOWED_VIDEO_MIMES, ALLOWED_DOC_MIMES, ALLOWED_MIMES, ALLOWED_TYPES_LABEL, MIME_TO_EXT, PDF_MAGIC, VIDEO_CONVERSION_HINTS, classifyMime, isAllowedMime, maxBytesFor, getConversionHint, } from "./_internal/shared/media/limits";
@@ -72,6 +72,8 @@ export declare const DEFAULT_ROUTE_MAP: {
72
72
  readonly EVENTS: "/events";
73
73
  readonly EVENT_DETAIL: (id: string) => string;
74
74
  readonly EVENT_PARTICIPATE: (id: string) => string;
75
+ readonly EVENT_LEADERBOARD: (id: string) => string;
76
+ readonly EVENT_WINNER: (id: string) => string;
75
77
  readonly SUBLISTING_CATEGORIES: "/sublisting-categories";
76
78
  readonly SUBLISTING_CATEGORY: (slug: string) => string;
77
79
  readonly SUPPORT: "/support";
@@ -224,6 +226,7 @@ export declare const DEFAULT_ROUTE_MAP: {
224
226
  readonly FEATURES_NEW: "/admin/features/new";
225
227
  readonly FEATURES_EDIT: (id: string) => string;
226
228
  readonly BUNDLES: "/admin/bundles";
229
+ readonly BUNDLES_NEW: "/admin/bundles/new";
227
230
  readonly BUNDLES_EDIT: (id: string) => string;
228
231
  readonly PRIZE_DRAWS: "/admin/prize-draws";
229
232
  readonly PRIZE_DRAWS_EDIT: (id: string) => string;
@@ -298,6 +301,8 @@ export declare const ROUTES: {
298
301
  readonly EVENTS: "/events";
299
302
  readonly EVENT_DETAIL: (id: string) => string;
300
303
  readonly EVENT_PARTICIPATE: (id: string) => string;
304
+ readonly EVENT_LEADERBOARD: (id: string) => string;
305
+ readonly EVENT_WINNER: (id: string) => string;
301
306
  readonly SUBLISTING_CATEGORIES: "/sublisting-categories";
302
307
  readonly SUBLISTING_CATEGORY: (slug: string) => string;
303
308
  readonly SUPPORT: "/support";
@@ -450,6 +455,7 @@ export declare const ROUTES: {
450
455
  readonly FEATURES_NEW: "/admin/features/new";
451
456
  readonly FEATURES_EDIT: (id: string) => string;
452
457
  readonly BUNDLES: "/admin/bundles";
458
+ readonly BUNDLES_NEW: "/admin/bundles/new";
453
459
  readonly BUNDLES_EDIT: (id: string) => string;
454
460
  readonly PRIZE_DRAWS: "/admin/prize-draws";
455
461
  readonly PRIZE_DRAWS_EDIT: (id: string) => string;
@@ -60,6 +60,8 @@ export const DEFAULT_ROUTE_MAP = {
60
60
  EVENTS: "/events",
61
61
  EVENT_DETAIL: (id) => `/events/${id}`,
62
62
  EVENT_PARTICIPATE: (id) => `/events/${id}/participate`,
63
+ EVENT_LEADERBOARD: (id) => `/events/${id}/leaderboard`,
64
+ EVENT_WINNER: (id) => `/events/${id}/winner`,
63
65
  SUBLISTING_CATEGORIES: "/sublisting-categories",
64
66
  SUBLISTING_CATEGORY: (slug) => `/sublisting-categories/${slug}`,
65
67
  SUPPORT: "/support",
@@ -213,7 +215,9 @@ export const DEFAULT_ROUTE_MAP = {
213
215
  FEATURES_NEW: "/admin/features/new",
214
216
  FEATURES_EDIT: (id) => `/admin/features/${id}/edit`,
215
217
  // SB1-J — bundles + prize draws (admin moderation)
218
+ // S-SBUNI-4 — BUNDLES_NEW added alongside BUNDLES_EDIT.
216
219
  BUNDLES: "/admin/bundles",
220
+ BUNDLES_NEW: "/admin/bundles/new",
217
221
  BUNDLES_EDIT: (id) => `/admin/bundles/${id}/edit`,
218
222
  PRIZE_DRAWS: "/admin/prize-draws",
219
223
  PRIZE_DRAWS_EDIT: (id) => `/admin/prize-draws/${id}/edit`,
@@ -1,9 +1,13 @@
1
1
  /**
2
2
  * Firebase Admin SDK singletons.
3
3
  *
4
- * Supports two init methods (checked in order):
4
+ * Supports three init methods (checked in order):
5
5
  * 1. `firebase-admin-key.json` in process.cwd() — development
6
- * 2. FIREBASE_ADMIN_PROJECT_ID / CLIENT_EMAIL / PRIVATE_KEY env vars — production
6
+ * 2. FIREBASE_ADMIN_PROJECT_ID / CLIENT_EMAIL / PRIVATE_KEY env vars — Vercel
7
+ * 3. Application Default Credentials — Firebase Functions / Cloud Run /
8
+ * GCE / GKE. Detected via FUNCTION_TARGET / K_SERVICE / FIREBASE_CONFIG /
9
+ * GOOGLE_APPLICATION_CREDENTIALS. Calls `initializeApp()` with no
10
+ * credential — the SDK resolves credentials via the GCE metadata server.
7
11
  *
8
12
  * All getters are lazy — the SDK is not touched until first use.
9
13
  */
@@ -91,6 +91,29 @@ export function getAdminApp() {
91
91
  databaseURL: dbUrl,
92
92
  });
93
93
  }
94
+ else if (
95
+ // Application Default Credentials — Firebase Functions / Cloud Run / GCE.
96
+ // FUNCTION_TARGET is set by Gen 2 Functions; K_SERVICE by Cloud Run;
97
+ // FIREBASE_CONFIG is auto-injected by Firebase; GOOGLE_APPLICATION_CREDENTIALS
98
+ // is set when a JSON key path is provided. In any of these cases call
99
+ // `initializeApp()` with no credential — the SDK resolves creds from the
100
+ // metadata server.
101
+ process.env.FUNCTION_TARGET ||
102
+ process.env.K_SERVICE ||
103
+ process.env.FIREBASE_CONFIG ||
104
+ process.env.GOOGLE_APPLICATION_CREDENTIALS) {
105
+ const firebaseConfig = process.env.FIREBASE_CONFIG
106
+ ? JSON.parse(process.env.FIREBASE_CONFIG)
107
+ : {};
108
+ const projectId = firebaseConfig.projectId ?? process.env.GCLOUD_PROJECT ?? "";
109
+ const dbUrl = firebaseConfig.databaseURL ??
110
+ process.env.FIREBASE_ADMIN_DATABASE_URL ??
111
+ process.env.NEXT_PUBLIC_FIREBASE_DATABASE_URL ??
112
+ (projectId
113
+ ? `https://${projectId}-default-rtdb.firebaseio.com`
114
+ : undefined);
115
+ app = initializeApp(dbUrl ? { databaseURL: dbUrl } : undefined);
116
+ }
94
117
  else {
95
118
  throw new Error("@mohasinac/db-firebase: Firebase Admin credentials not found.\n" +
96
119
  "Add firebase-admin-key.json to project root, or set " +
@@ -9,14 +9,13 @@ export { unitOfWork } from "../core";
9
9
  export type { UnitOfWork } from "../core";
10
10
  export { UserRepository, userRepository, EmailVerificationTokenRepository, PasswordResetTokenRepository, emailVerificationTokenRepository, passwordResetTokenRepository, tokenRepository, SessionRepository, sessionRepository, } from "../features/auth/repository";
11
11
  export { SmsCounterRepository, smsCounterRepository, } from "../features/auth/repository/sms-counter.repository";
12
- export { AddressRepository, addressRepository, } from "../features/account/repository/address.repository";
12
+ export { AddressesRepository, addressesRepository, } from "../features/addresses";
13
13
  export { ProductRepository, ProductsRepository, productRepository, } from "../features/products/repository/products.repository";
14
14
  export { OrderRepository, OrdersRepository, orderRepository, } from "../features/orders/repository/orders.repository";
15
15
  export { ReviewRepository, ReviewsRepository, reviewRepository, } from "../features/reviews/repository/reviews.repository";
16
16
  export { bidRepository } from "../features/auctions/repository/bid.repository";
17
17
  export { CartRepository, cartRepository, } from "../features/cart/repository/cart.repository";
18
18
  export { StoreRepository, storeRepository, } from "../features/stores/repository/store.repository";
19
- export { storeAddressRepository } from "../features/stores/repository/store-address.repository";
20
19
  export { siteSettingsRepository } from "../features/admin/repository/site-settings.repository";
21
20
  export { notificationRepository } from "../features/admin/repository/notification.repository";
22
21
  export { chatRepository } from "../features/admin/repository/chat.repository";
@@ -11,7 +11,9 @@ export { unitOfWork } from "../core";
11
11
  // Core repositories
12
12
  export { UserRepository, userRepository, EmailVerificationTokenRepository, PasswordResetTokenRepository, emailVerificationTokenRepository, passwordResetTokenRepository, tokenRepository, SessionRepository, sessionRepository, } from "../features/auth/repository";
13
13
  export { SmsCounterRepository, smsCounterRepository, } from "../features/auth/repository/sms-counter.repository";
14
- export { AddressRepository, addressRepository, } from "../features/account/repository/address.repository";
14
+ // SB-UNI-A 2026-05-13 top-level `addresses` collection with ownerType discriminator.
15
+ // Replaces the two prior subcollection repositories (account/address + stores/store-address).
16
+ export { AddressesRepository, addressesRepository, } from "../features/addresses";
15
17
  export { ProductRepository, ProductsRepository, productRepository, } from "../features/products/repository/products.repository";
16
18
  export { OrderRepository, OrdersRepository, orderRepository, } from "../features/orders/repository/orders.repository";
17
19
  export { ReviewRepository, ReviewsRepository, reviewRepository, } from "../features/reviews/repository/reviews.repository";
@@ -19,7 +21,8 @@ export { ReviewRepository, ReviewsRepository, reviewRepository, } from "../featu
19
21
  export { bidRepository } from "../features/auctions/repository/bid.repository";
20
22
  export { CartRepository, cartRepository, } from "../features/cart/repository/cart.repository";
21
23
  export { StoreRepository, storeRepository, } from "../features/stores/repository/store.repository";
22
- export { storeAddressRepository } from "../features/stores/repository/store-address.repository";
24
+ // SB-UNI-A 2026-05-13 — storeAddressRepository deleted. Use addressesRepository
25
+ // with ownerType:"store" instead.
23
26
  export { siteSettingsRepository } from "../features/admin/repository/site-settings.repository";
24
27
  export { notificationRepository } from "../features/admin/repository/notification.repository";
25
28
  export { chatRepository } from "../features/admin/repository/chat.repository";
@@ -8,7 +8,8 @@
8
8
  * they depend on Firebase Admin and the user repository; implement them in your
9
9
  * app layer using these primitives.
10
10
  */
11
- export type UserRole = "admin" | "moderator" | "seller" | "user";
11
+ import type { UserRole } from "../features/auth/types";
12
+ export type { UserRole };
12
13
  export declare function requireAuth(user: unknown): void;
13
14
  export declare function requireRole(user: Record<string, unknown> | null | undefined, roles: UserRole | UserRole[]): void;
14
15
  export declare function requireOwnership(user: Record<string, unknown> | null | undefined, resourceOwnerId: string): void;
@@ -11,8 +11,9 @@
11
11
  import { AuthenticationError, AuthorizationError } from "../errors";
12
12
  import { ERROR_MESSAGES } from "../errors/messages";
13
13
  const ROLE_HIERARCHY = {
14
- admin: 4,
15
- moderator: 3,
14
+ admin: 5,
15
+ moderator: 4,
16
+ employee: 3,
16
17
  seller: 2,
17
18
  user: 1,
18
19
  };
@@ -6,7 +6,7 @@
6
6
  * the actual collection-specific seeding logic (800+ lines with PII encryption,
7
7
  * Auth user creation, subcollection handling, etc.).
8
8
  */
9
- export type SeedCollectionName = "users" | "addresses" | "categories" | "stores" | "products" | "orders" | "reviews" | "bids" | "coupons" | "carousels" | "carouselSlides" | "homepageSections" | "siteSettings" | "faqs" | "notifications" | "payouts" | "blogPosts" | "events" | "eventEntries" | "sessions" | "storeAddresses" | "carts" | "wishlists" | "history" | "conversations" | "groupedListings" | "scammerProfiles" | "productFeatures";
9
+ export type SeedCollectionName = "users" | "addresses" | "categories" | "stores" | "products" | "orders" | "reviews" | "bids" | "coupons" | "carousels" | "carouselSlides" | "homepageSections" | "siteSettings" | "faqs" | "notifications" | "payouts" | "blogPosts" | "events" | "eventEntries" | "sessions" | "carts" | "wishlists" | "history" | "conversations" | "groupedListings" | "scammerProfiles" | "productFeatures";
10
10
  export interface SeedOperationResult {
11
11
  success?: boolean;
12
12
  message: string;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Bids Seed Data — Collectibles Edition
3
- * Realistic bid progressions for the 4 active/ended auctions in P17.
4
- * Upcoming auction (auction-beyblade-metal-fusion-signed) has 0 bids.
3
+ * Realistic bid progressions for every auction with bidCount > 0.
4
+ * Auctions with bidCount = 0 (upcoming / no-bid) are intentionally absent.
5
5
  * Buyer IDs from P15 users seed data.
6
6
  */
7
7
  import type { BidDocument } from "../features/auctions/schemas";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Bids Seed Data — Collectibles Edition
3
- * Realistic bid progressions for the 4 active/ended auctions in P17.
4
- * Upcoming auction (auction-beyblade-metal-fusion-signed) has 0 bids.
3
+ * Realistic bid progressions for every auction with bidCount > 0.
4
+ * Auctions with bidCount = 0 (upcoming / no-bid) are intentionally absent.
5
5
  * Buyer IDs from P15 users seed data.
6
6
  */
7
7
  const NOW = new Date();
@@ -558,6 +558,81 @@ export const bidsSeedData = [
558
558
  winningIndex: -1, // reserve not met — no winner
559
559
  slugPrefix: "bid-skyline-fail",
560
560
  }),
561
+ // ═══════════════════════════════════════════════════════════════════════════
562
+ // auction-nendoroid-miku-100-limited — ACTIVE, ends in 4h, 7 bids → current ₹11,999
563
+ // ═══════════════════════════════════════════════════════════════════════════
564
+ ...buildBidLadder({
565
+ productId: "auction-nendoroid-miku-100-limited",
566
+ productTitle: "Good Smile Company Nendoroid Hatsune Miku #100 (Original Release, Rare) — AUCTION",
567
+ amounts: [499900, 599900, 699900, 799900, 899900, 1049900, 1199900],
568
+ bidders: [
569
+ { id: "user-priya-patel", name: "Priya Patel", email: "priya.patel@gmail.com" },
570
+ { id: "user-divya-menon", name: "Divya Menon", email: "divya.menon@gmail.com" },
571
+ { id: "user-priya-patel", name: "Priya Patel", email: "priya.patel@gmail.com" },
572
+ { id: "user-pooja-sharma", name: "Pooja Sharma", email: "pooja.sharma@gmail.com" },
573
+ { id: "user-divya-menon", name: "Divya Menon", email: "divya.menon@gmail.com" },
574
+ { id: "user-meera-nair", name: "Meera Nair", email: "meera.nair@gmail.com" },
575
+ { id: "user-priya-patel", name: "Priya Patel", email: "priya.patel@gmail.com" },
576
+ ],
577
+ daysAgoForFirst: 9,
578
+ endsActive: true,
579
+ slugPrefix: "bid-miku-100",
580
+ }),
581
+ // ═══════════════════════════════════════════════════════════════════════════
582
+ // auction-pokemon-mew-1st-edition-psa10 — ACTIVE, ends in 24h, 3 bids → current ₹1,49,999
583
+ // ═══════════════════════════════════════════════════════════════════════════
584
+ ...buildBidLadder({
585
+ productId: "auction-pokemon-mew-1st-edition-psa10",
586
+ productTitle: "Pokémon Mew #151 1st Edition — PSA 10 GEM MINT (AUCTION)",
587
+ amounts: [9999900, 12499900, 14999900],
588
+ bidders: [
589
+ { id: "user-arjun-singh", name: "Arjun Singh", email: "arjun.singh@gmail.com" },
590
+ { id: "user-rahul-sharma", name: "Rahul Sharma", email: "rahul.sharma@gmail.com" },
591
+ { id: "user-siddharth-rao", name: "Siddharth Rao", email: "siddharth.rao@gmail.com" },
592
+ ],
593
+ daysAgoForFirst: 5,
594
+ endsActive: true,
595
+ slugPrefix: "bid-mew-1ed",
596
+ }),
597
+ // ═══════════════════════════════════════════════════════════════════════════
598
+ // auction-yugioh-blue-eyes-lob-1st-psa9 — ACTIVE, ends in 72h, 8 bids → current ₹79,999
599
+ // ═══════════════════════════════════════════════════════════════════════════
600
+ ...buildBidLadder({
601
+ productId: "auction-yugioh-blue-eyes-lob-1st-psa9",
602
+ productTitle: "Yu-Gi-Oh! Blue-Eyes White Dragon LOB 1st Edition — PSA 9 MINT (AUCTION)",
603
+ amounts: [2999900, 3499900, 4249900, 4999900, 5749900, 6499900, 7249900, 7999900],
604
+ bidders: [
605
+ { id: "user-rahul-sharma", name: "Rahul Sharma", email: "rahul.sharma@gmail.com" },
606
+ { id: "user-priya-singh", name: "Priya Singh", email: "priya.singh@gmail.com" },
607
+ { id: "user-arjun-singh", name: "Arjun Singh", email: "arjun.singh@gmail.com" },
608
+ { id: "user-amit-sharma", name: "Amit Sharma", email: "amit.sharma@gmail.com" },
609
+ { id: "user-rahul-sharma", name: "Rahul Sharma", email: "rahul.sharma@gmail.com" },
610
+ { id: "user-rohit-verma", name: "Rohit Verma", email: "rohit.verma@gmail.com" },
611
+ { id: "user-priya-singh", name: "Priya Singh", email: "priya.singh@gmail.com" },
612
+ { id: "user-arjun-singh", name: "Arjun Singh", email: "arjun.singh@gmail.com" },
613
+ ],
614
+ daysAgoForFirst: 7,
615
+ endsActive: true,
616
+ slugPrefix: "bid-bewd-lob",
617
+ }),
618
+ // ═══════════════════════════════════════════════════════════════════════════
619
+ // auction-hot-wheels-redline-deora-japan — ACTIVE, ends in 36h, 5 bids → current ₹17,999
620
+ // ═══════════════════════════════════════════════════════════════════════════
621
+ ...buildBidLadder({
622
+ productId: "auction-hot-wheels-redline-deora-japan",
623
+ productTitle: "Hot Wheels Redline Deora — Japan Issue (AUCTION)",
624
+ amounts: [899900, 1099900, 1299900, 1499900, 1799900],
625
+ bidders: [
626
+ { id: "user-varun-bhat", name: "Varun Bhat", email: "varun.bhat@gmail.com" },
627
+ { id: "user-kiran-reddy", name: "Kiran Reddy", email: "kiran.reddy@gmail.com" },
628
+ { id: "user-preeti-joshi", name: "Preeti Joshi", email: "preeti.joshi@gmail.com" },
629
+ { id: "user-varun-bhat", name: "Varun Bhat", email: "varun.bhat@gmail.com" },
630
+ { id: "user-meera-nair", name: "Meera Nair", email: "meera.nair@gmail.com" },
631
+ ],
632
+ daysAgoForFirst: 6,
633
+ endsActive: true,
634
+ slugPrefix: "bid-deora-jp",
635
+ }),
561
636
  ];
562
637
  /**
563
638
  * Builds a strictly-increasing bid ladder for an auction. Status flags are
@@ -1,19 +1,19 @@
1
1
  /**
2
- * Carts Seed Data LetItRip Collectibles
2
+ * Carts Seed Data — LetItRip Collectibles
3
3
  *
4
4
  * Covers all cart states for testing Add-to-Cart / Update / Remove / Checkout flows:
5
- * Multi-item cart (cross-store, mixed categories) Rahul Sharma
6
- * Single-item cart Priya Patel
7
- * Cart with auction item Arjun Singh
8
- * Cart with quantity > 1 Meera Nair
9
- * Empty cart (items: []) Amit Sharma
5
+ * — Multi-item cart (cross-store, mixed categories) — Rahul Sharma
6
+ * — Single-item cart — Priya Patel
7
+ * — Cart with auction item — Arjun Singh
8
+ * — Cart with quantity > 1 — Meera Nair
9
+ * — Empty cart (items: []) — Amit Sharma
10
10
  *
11
- * Cart document ID = userId (O(1) lookup see cart.ts schema).
11
+ * Cart document ID = userId (O(1) lookup — see cart.ts schema).
12
12
  *
13
13
  * All FK references:
14
- * userId users/{uid} (see users-seed-data.ts)
15
- * items[].productId products/{id} (see products-standard/auctions-seed-data.ts)
16
- * items[].storeId stores/{id} (see stores-seed-data.ts)
14
+ * userId → users/{uid} (see users-seed-data.ts)
15
+ * items[].productId → products/{id} (see products-standard/auctions-seed-data.ts)
16
+ * items[].storeId → stores/{id} (see stores-seed-data.ts)
17
17
  */
18
18
  import type { CartDocument } from "../features/cart/schemas";
19
19
  export declare const cartsSeedData: CartDocument[];
@@ -13,13 +13,13 @@ export const cartsSeedData = [
13
13
  {
14
14
  itemId: "cartitem-rahul-pokemon-etb-001",
15
15
  productId: "product-pokemon-sv-etb",
16
- productTitle: "Pokémon Scarlet & Violet Elite Trainer Box",
16
+ productTitle: "Pokémon Scarlet & Violet Elite Trainer Box",
17
17
  productImage: "/media/product-image-pokemon-sv-etb-1-20260101.jpg",
18
18
  price: 349900,
19
19
  currency: _CURRENCY,
20
20
  quantity: 1,
21
21
  storeId: "store-pokemon-palace",
22
- storeName: "Pokémon Palace",
22
+ storeName: "Pokémon Palace",
23
23
  listingType: "standard",
24
24
  addedAt: daysAgo(9),
25
25
  updatedAt: daysAgo(9),
@@ -89,13 +89,13 @@ export const cartsSeedData = [
89
89
  {
90
90
  itemId: "cartitem-arjun-pokemon-base-auction-001",
91
91
  productId: "auction-pokemon-base-set-booster-box",
92
- productTitle: "Pokémon Base Set 1st Edition Booster Box (SEALED AUCTION)",
92
+ productTitle: "Pokémon Base Set 1st Edition Booster Box (SEALED AUCTION)",
93
93
  productImage: "/media/auction-image-pokemon-base-set-booster-box-1-20260101.jpg",
94
94
  price: 45000000,
95
95
  currency: _CURRENCY,
96
96
  quantity: 1,
97
97
  storeId: "store-pokemon-palace",
98
- storeName: "Pokémon Palace",
98
+ storeName: "Pokémon Palace",
99
99
  listingType: "auction",
100
100
  addedAt: daysAgo(17),
101
101
  updatedAt: daysAgo(17),
@@ -127,13 +127,13 @@ export const cartsSeedData = [
127
127
  {
128
128
  itemId: "cartitem-meera-pokemon151-001",
129
129
  productId: "product-pokemon-151-booster-box",
130
- productTitle: "Pokémon 151 Booster Box (Japanese)",
130
+ productTitle: "Pokémon 151 Booster Box (Japanese)",
131
131
  productImage: "/media/product-image-pokemon-151-booster-box-1-20260101.jpg",
132
132
  price: 699900,
133
133
  currency: _CURRENCY,
134
134
  quantity: 3,
135
135
  storeId: "store-pokemon-palace",
136
- storeName: "Pokémon Palace",
136
+ storeName: "Pokémon Palace",
137
137
  listingType: "standard",
138
138
  addedAt: daysAgo(11),
139
139
  updatedAt: daysAgo(11),
@@ -166,13 +166,13 @@ export const cartsSeedData = [
166
166
  createdAt: daysAgo(27),
167
167
  updatedAt: daysAgo(9),
168
168
  },
169
- // ── P29 expansion (S17 2026-05-12) 15 more carts via helper ───────────
169
+ // ── P29 expansion (S17 2026-05-12) — 15 more carts via helper ───────────
170
170
  ...mkCart("user-kavya-iyer", 6, [
171
171
  {
172
172
  productId: "product-pokemon-151-booster-box",
173
- title: "Pokémon 151 Booster Box (36-pack)",
173
+ title: "Pokémon 151 Booster Box (36-pack)",
174
174
  price: 1799900,
175
- store: ["store-pokemon-palace", "Pokémon Palace"],
175
+ store: ["store-pokemon-palace", "Pokémon Palace"],
176
176
  qty: 1,
177
177
  },
178
178
  ]),
@@ -204,9 +204,9 @@ export const cartsSeedData = [
204
204
  ...mkCart("user-divya-menon", 8, [
205
205
  {
206
206
  productId: "preorder-pokemon-stellar-crown-etb",
207
- title: "PRE-ORDER: Pokémon Stellar Crown ETB",
207
+ title: "PRE-ORDER: Pokémon Stellar Crown ETB",
208
208
  price: 599900,
209
- store: ["store-pokemon-palace", "Pokémon Palace"],
209
+ store: ["store-pokemon-palace", "Pokémon Palace"],
210
210
  qty: 1,
211
211
  listingType: "pre-order",
212
212
  },
@@ -255,7 +255,7 @@ export const cartsSeedData = [
255
255
  ...mkCart("user-anjali-verma", 1, [
256
256
  {
257
257
  productId: "product-pokemon-charizard-ex-obsidian",
258
- title: "Pokémon Charizard ex Obsidian Flames Hyper Rare",
258
+ title: "Pokémon Charizard ex Obsidian Flames Hyper Rare",
259
259
  price: 1499900,
260
260
  store: ["store-cardgame-hub", "CardGame Hub"],
261
261
  qty: 1,
@@ -273,14 +273,14 @@ export const cartsSeedData = [
273
273
  ...mkCart("user-pooja-sharma", 4, [
274
274
  {
275
275
  productId: "auction-pokemon-lugia-neo-genesis-psa9",
276
- title: "Pokémon Neo Genesis Lugia #9 PSA 9 (AUCTION)",
276
+ title: "Pokémon Neo Genesis Lugia #9 PSA 9 (AUCTION)",
277
277
  price: 6999900,
278
- store: ["store-pokemon-palace", "Pokémon Palace"],
278
+ store: ["store-pokemon-palace", "Pokémon Palace"],
279
279
  qty: 1,
280
280
  listingType: "auction",
281
281
  },
282
282
  ]),
283
- // Guest carts skipped sessionId is a runtime-only optional field on the
283
+ // Guest carts skipped — sessionId is a runtime-only optional field on the
284
284
  // Zod input but not on the `CartDocument` interface used by the seed array.
285
285
  // Guest cart behavior is exercised at runtime via localStorage merge tests.
286
286
  ];