@mohasinac/appkit 4.43.0 โ†’ 4.45.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 (2019) hide show
  1. package/dist/.build-stamp.json +8 -0
  2. package/dist/_internal/client/features/digital-code/CodeRevealPanel.js +3 -3
  3. package/dist/_internal/client/features/digital-code/DigitalContentPoolManager.js +5 -5
  4. package/dist/_internal/client/features/filters/filter-load-options.js +3 -3
  5. package/dist/_internal/client/features/layout/DashboardLayoutClient.js +16 -16
  6. package/dist/_internal/client/features/layout/RoleGuard.js +4 -4
  7. package/dist/_internal/client/features/layout/SidebarCollapseToggle.js +1 -1
  8. package/dist/_internal/client/features/layout/index.js +3 -3
  9. package/dist/_internal/client/features/layout/useSidebarSearch.js +1 -1
  10. package/dist/_internal/client/features/lottery/LotteryAdminEditView.js +8 -8
  11. package/dist/_internal/client/features/lottery/LotteryAdminSlotView.js +1 -1
  12. package/dist/_internal/client/features/lottery/LotteryDetailView.js +8 -8
  13. package/dist/_internal/client/features/lottery/LotteryEntriesView.js +3 -3
  14. package/dist/_internal/client/features/lottery/LotteryListView.js +3 -3
  15. package/dist/_internal/client/features/lottery/LotteryPullForm.js +9 -9
  16. package/dist/_internal/client/features/lottery/LotterySlotGrid.js +1 -1
  17. package/dist/_internal/client/features/lottery/PrizeDrawLotteryDetailView.js +7 -7
  18. package/dist/_internal/client/features/maintenance/index.js +5 -5
  19. package/dist/_internal/client/features/maintenance/views/AnalysisRunnerView.js +3 -3
  20. package/dist/_internal/client/features/maintenance/views/CloudLogsListView.js +3 -3
  21. package/dist/_internal/client/features/products/index.js +1 -1
  22. package/dist/_internal/client/hand-mode/HandModeProvider.js +1 -1
  23. package/dist/_internal/client/hand-mode/index.js +1 -1
  24. package/dist/_internal/client/scaffolds/AppShell.js +1 -1
  25. package/dist/_internal/client/scaffolds/index.js +1 -1
  26. package/dist/_internal/client/theme/ThemeProvider.js +2 -2
  27. package/dist/_internal/client/theme/buildRegistry.js +1 -1
  28. package/dist/_internal/client/theme/index.js +2 -2
  29. package/dist/_internal/server/features/account/actions.js +1 -1
  30. package/dist/_internal/server/features/account/data.js +1 -1
  31. package/dist/_internal/server/features/account/index.js +2 -2
  32. package/dist/_internal/server/features/admin/daily-digest-actions.js +3 -3
  33. package/dist/_internal/server/features/auctions/actions.js +6 -6
  34. package/dist/_internal/server/features/auctions/data.js +1 -1
  35. package/dist/_internal/server/features/auctions/index.js +5 -5
  36. package/dist/_internal/server/features/auctions/og.js +2 -2
  37. package/dist/_internal/server/features/auctions/service.js +4 -4
  38. package/dist/_internal/server/features/audit-log/actions.js +3 -3
  39. package/dist/_internal/server/features/auth/actions.js +1 -1
  40. package/dist/_internal/server/features/auth/capabilities.js +2 -2
  41. package/dist/_internal/server/features/auth/firebase-identity.js +1 -1
  42. package/dist/_internal/server/features/auth/index.js +3 -3
  43. package/dist/_internal/server/features/auth/permissions.js +4 -4
  44. package/dist/_internal/server/features/blog/actions.js +5 -5
  45. package/dist/_internal/server/features/blog/data.js +1 -1
  46. package/dist/_internal/server/features/blog/index.js +5 -5
  47. package/dist/_internal/server/features/blog/og.js +2 -2
  48. package/dist/_internal/server/features/blog/service.js +2 -2
  49. package/dist/_internal/server/features/brands/actions.js +5 -5
  50. package/dist/_internal/server/features/brands/data.js +1 -1
  51. package/dist/_internal/server/features/brands/index.js +5 -5
  52. package/dist/_internal/server/features/brands/og.js +1 -1
  53. package/dist/_internal/server/features/brands/service.js +2 -2
  54. package/dist/_internal/server/features/bundles/actions.js +8 -8
  55. package/dist/_internal/server/features/bundles/data.js +4 -4
  56. package/dist/_internal/server/features/bundles/index.js +4 -4
  57. package/dist/_internal/server/features/bundles/og.js +1 -1
  58. package/dist/_internal/server/features/cart/actions.js +5 -5
  59. package/dist/_internal/server/features/cart/data.js +1 -1
  60. package/dist/_internal/server/features/cart/index.js +4 -4
  61. package/dist/_internal/server/features/cart/service.js +5 -5
  62. package/dist/_internal/server/features/catalogue/og.js +2 -2
  63. package/dist/_internal/server/features/categories/adapters.d.ts +47 -0
  64. package/dist/_internal/server/features/categories/adapters.js +235 -0
  65. package/dist/_internal/server/features/categories/data.js +4 -4
  66. package/dist/_internal/server/features/categories/index.js +2 -2
  67. package/dist/_internal/server/features/categories/og.js +1 -1
  68. package/dist/_internal/server/features/checkout/actions.d.ts +50 -0
  69. package/dist/_internal/server/features/checkout/actions.js +343 -70
  70. package/dist/_internal/server/features/checkout/bundle-expansion.js +3 -3
  71. package/dist/_internal/server/features/checkout/expand-order-items.js +40 -2
  72. package/dist/_internal/server/features/checkout/index.js +3 -3
  73. package/dist/_internal/server/features/checkout/locked-lines.js +14 -14
  74. package/dist/_internal/server/features/checkout/prize-bundle-gates.js +2 -2
  75. package/dist/_internal/server/features/checkout/source-context.js +4 -4
  76. package/dist/_internal/server/features/checkout/stock-restore.js +4 -4
  77. package/dist/_internal/server/features/checkout/upi-resolution.js +2 -2
  78. package/dist/_internal/server/features/classified/adapters.js +1 -1
  79. package/dist/_internal/server/features/classified/data.js +1 -1
  80. package/dist/_internal/server/features/classified/index.js +4 -4
  81. package/dist/_internal/server/features/classified/og.js +2 -2
  82. package/dist/_internal/server/features/digital-code/adapters.js +1 -1
  83. package/dist/_internal/server/features/digital-code/data.js +1 -1
  84. package/dist/_internal/server/features/digital-code/download.js +5 -5
  85. package/dist/_internal/server/features/digital-code/index.js +4 -4
  86. package/dist/_internal/server/features/digital-code/og.js +2 -2
  87. package/dist/_internal/server/features/digital-code/pool.js +7 -7
  88. package/dist/_internal/server/features/digital-code/upload.js +6 -6
  89. package/dist/_internal/server/features/events/actions.js +8 -8
  90. package/dist/_internal/server/features/events/adapters.js +1 -1
  91. package/dist/_internal/server/features/events/data.js +1 -1
  92. package/dist/_internal/server/features/events/index.js +5 -5
  93. package/dist/_internal/server/features/events/og.js +2 -2
  94. package/dist/_internal/server/features/events/service.js +2 -2
  95. package/dist/_internal/server/features/faqs/index.js +1 -1
  96. package/dist/_internal/server/features/faqs/og.js +1 -1
  97. package/dist/_internal/server/features/grouped/data.js +8 -8
  98. package/dist/_internal/server/features/grouped/index.js +4 -4
  99. package/dist/_internal/server/features/grouped/og.js +2 -2
  100. package/dist/_internal/server/features/history/actions.js +2 -2
  101. package/dist/_internal/server/features/history/data.js +1 -1
  102. package/dist/_internal/server/features/history/index.js +3 -3
  103. package/dist/_internal/server/features/homepage/index.js +1 -1
  104. package/dist/_internal/server/features/item-requests/data.js +1 -1
  105. package/dist/_internal/server/features/item-requests/index.js +2 -2
  106. package/dist/_internal/server/features/item-requests/og.js +1 -1
  107. package/dist/_internal/server/features/live/adapters.js +1 -1
  108. package/dist/_internal/server/features/live/data.js +1 -1
  109. package/dist/_internal/server/features/live/index.js +4 -4
  110. package/dist/_internal/server/features/live/og.js +2 -2
  111. package/dist/_internal/server/features/lottery/actions.js +8 -8
  112. package/dist/_internal/server/features/lottery/data.js +3 -3
  113. package/dist/_internal/server/features/maintenance/analyze.js +3 -3
  114. package/dist/_internal/server/features/maintenance/cloud-logs-data.js +1 -1
  115. package/dist/_internal/server/features/maintenance/data.js +2 -2
  116. package/dist/_internal/server/features/media/contextGuards.js +3 -3
  117. package/dist/_internal/server/features/offers/adapters.js +1 -1
  118. package/dist/_internal/server/features/offers/index.js +1 -1
  119. package/dist/_internal/server/features/orders/actions.js +17 -17
  120. package/dist/_internal/server/features/orders/adapters.js +23 -0
  121. package/dist/_internal/server/features/orders/data.js +2 -2
  122. package/dist/_internal/server/features/orders/index.js +5 -5
  123. package/dist/_internal/server/features/orders/service.js +3 -3
  124. package/dist/_internal/server/features/payouts/actions.js +3 -3
  125. package/dist/_internal/server/features/pre-orders/actions.js +5 -5
  126. package/dist/_internal/server/features/pre-orders/data.js +1 -1
  127. package/dist/_internal/server/features/pre-orders/index.js +5 -5
  128. package/dist/_internal/server/features/pre-orders/og.js +2 -2
  129. package/dist/_internal/server/features/pre-orders/service.js +4 -4
  130. package/dist/_internal/server/features/price-index/search.d.ts +119 -0
  131. package/dist/_internal/server/features/price-index/search.js +188 -0
  132. package/dist/_internal/server/features/prize-draws/actions.js +3 -3
  133. package/dist/_internal/server/features/prize-draws/data.js +1 -1
  134. package/dist/_internal/server/features/prize-draws/index.js +4 -4
  135. package/dist/_internal/server/features/prize-draws/og.js +2 -2
  136. package/dist/_internal/server/features/prize-draws/service.js +1 -1
  137. package/dist/_internal/server/features/products/actions.js +8 -8
  138. package/dist/_internal/server/features/products/data.js +15 -15
  139. package/dist/_internal/server/features/products/group-members.js +1 -1
  140. package/dist/_internal/server/features/products/index.js +6 -6
  141. package/dist/_internal/server/features/products/list-public.js +11 -11
  142. package/dist/_internal/server/features/products/listing-tab-counts.js +3 -3
  143. package/dist/_internal/server/features/products/og.js +2 -2
  144. package/dist/_internal/server/features/products/service.js +4 -4
  145. package/dist/_internal/server/features/profile/index.js +1 -1
  146. package/dist/_internal/server/features/promotions/actions.js +6 -6
  147. package/dist/_internal/server/features/promotions/data.js +1 -1
  148. package/dist/_internal/server/features/promotions/index.js +4 -4
  149. package/dist/_internal/server/features/promotions/service.js +3 -3
  150. package/dist/_internal/server/features/raffle/actions.js +3 -3
  151. package/dist/_internal/server/features/refunds/actions.js +12 -12
  152. package/dist/_internal/server/features/reviews/actions.js +6 -6
  153. package/dist/_internal/server/features/reviews/data.js +3 -3
  154. package/dist/_internal/server/features/reviews/index.js +5 -5
  155. package/dist/_internal/server/features/reviews/og-data.js +1 -1
  156. package/dist/_internal/server/features/reviews/og.js +1 -1
  157. package/dist/_internal/server/features/reviews/service.js +2 -2
  158. package/dist/_internal/server/features/scams/data.js +1 -1
  159. package/dist/_internal/server/features/scams/index.js +2 -2
  160. package/dist/_internal/server/features/search/actions.js +1 -1
  161. package/dist/_internal/server/features/search/data.js +1 -1
  162. package/dist/_internal/server/features/search/index.js +2 -2
  163. package/dist/_internal/server/features/seo/index.js +4 -4
  164. package/dist/_internal/server/features/seo/manifest.js +2 -2
  165. package/dist/_internal/server/features/seo/og.js +2 -2
  166. package/dist/_internal/server/features/seo/sitemap.js +65 -26
  167. package/dist/_internal/server/features/shared/listing-data-factory.js +4 -4
  168. package/dist/_internal/server/features/site-settings/actions.js +1 -1
  169. package/dist/_internal/server/features/site-settings/index.js +1 -1
  170. package/dist/_internal/server/features/site-settings/safe-settings.js +3 -3
  171. package/dist/_internal/server/features/stores/adapters.d.ts +2 -2
  172. package/dist/_internal/server/features/stores/adapters.js +50 -0
  173. package/dist/_internal/server/features/stores/data.js +5 -5
  174. package/dist/_internal/server/features/stores/denormalize.js +2 -2
  175. package/dist/_internal/server/features/stores/index.js +5 -5
  176. package/dist/_internal/server/features/stores/og.js +2 -2
  177. package/dist/_internal/server/features/sublisting-categories/data.js +1 -1
  178. package/dist/_internal/server/features/sublisting-categories/index.js +2 -2
  179. package/dist/_internal/server/features/sublisting-categories/og.js +2 -2
  180. package/dist/_internal/server/features/tester/visibility.js +1 -1
  181. package/dist/_internal/server/features/wishlist/actions.js +5 -5
  182. package/dist/_internal/server/features/wishlist/data.js +1 -1
  183. package/dist/_internal/server/features/wishlist/index.js +4 -4
  184. package/dist/_internal/server/functions/bind-all.d.ts +25 -0
  185. package/dist/_internal/server/functions/bind-all.js +41 -6
  186. package/dist/_internal/server/functions/firestore.js +2 -2
  187. package/dist/_internal/server/functions/https.js +2 -2
  188. package/dist/_internal/server/functions/index.js +4 -4
  189. package/dist/_internal/server/functions/manifest.js +3 -3
  190. package/dist/_internal/server/functions/scheduled.d.ts +4 -2
  191. package/dist/_internal/server/functions/scheduled.js +65 -7
  192. package/dist/_internal/server/jobs/core/adminAnalytics.d.ts +0 -1
  193. package/dist/_internal/server/jobs/core/adminAnalytics.js +12 -4
  194. package/dist/_internal/server/jobs/core/analyticsAlertEvaluate.d.ts +47 -0
  195. package/dist/_internal/server/jobs/core/analyticsAlertEvaluate.js +468 -0
  196. package/dist/_internal/server/jobs/core/assignSpinPrize.js +2 -2
  197. package/dist/_internal/server/jobs/core/auctionSettlement.js +7 -7
  198. package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +18 -5
  199. package/dist/_internal/server/jobs/core/bundleStockSync.js +1 -1
  200. package/dist/_internal/server/jobs/core/cartPrune.js +3 -3
  201. package/dist/_internal/server/jobs/core/catalogueImageStalenessReminder.js +4 -4
  202. package/dist/_internal/server/jobs/core/cleanupRtdbEvents.js +5 -5
  203. package/dist/_internal/server/jobs/core/countersReconcile.js +31 -15
  204. package/dist/_internal/server/jobs/core/couponExpiry.js +1 -1
  205. package/dist/_internal/server/jobs/core/dailyDataCleanup.js +2 -2
  206. package/dist/_internal/server/jobs/core/dailyStatusDigest.js +14 -14
  207. package/dist/_internal/server/jobs/core/draftPrune.js +2 -2
  208. package/dist/_internal/server/jobs/core/emiInstallmentReminder.js +3 -3
  209. package/dist/_internal/server/jobs/core/hardBanCascade.js +7 -7
  210. package/dist/_internal/server/jobs/core/hardBanReinstatement.js +4 -4
  211. package/dist/_internal/server/jobs/core/index.js +37 -37
  212. package/dist/_internal/server/jobs/core/jobRunners.js +7 -7
  213. package/dist/_internal/server/jobs/core/listingProcessor.js +2 -2
  214. package/dist/_internal/server/jobs/core/mediaTmpCleanup.js +2 -2
  215. package/dist/_internal/server/jobs/core/newsletterExport.js +3 -3
  216. package/dist/_internal/server/jobs/core/notificationPrune.js +3 -3
  217. package/dist/_internal/server/jobs/core/offerExpiry.js +4 -4
  218. package/dist/_internal/server/jobs/core/onCategoryWrite.js +57 -3
  219. package/dist/_internal/server/jobs/core/onJobCreated.js +5 -5
  220. package/dist/_internal/server/jobs/core/onOrderCreate.js +6 -6
  221. package/dist/_internal/server/jobs/core/onOrderStatusChange.js +3 -3
  222. package/dist/_internal/server/jobs/core/onPrizeDrawPaymentConfirmed.js +2 -2
  223. package/dist/_internal/server/jobs/core/onProductStockChange.js +2 -2
  224. package/dist/_internal/server/jobs/core/onProductWrite.js +6 -6
  225. package/dist/_internal/server/jobs/core/onReviewWrite.js +4 -4
  226. package/dist/_internal/server/jobs/core/onScamReportCreate.js +4 -4
  227. package/dist/_internal/server/jobs/core/onScamReportRejected.js +3 -3
  228. package/dist/_internal/server/jobs/core/onScamReportVerified.js +3 -3
  229. package/dist/_internal/server/jobs/core/onStoreWrite.js +1 -1
  230. package/dist/_internal/server/jobs/core/onSupportTicketCreate.js +2 -2
  231. package/dist/_internal/server/jobs/core/onSupportTicketUpdate.js +2 -2
  232. package/dist/_internal/server/jobs/core/onUserBanChange.js +1 -1
  233. package/dist/_internal/server/jobs/core/pageViewPrune.js +2 -2
  234. package/dist/_internal/server/jobs/core/pageViewRollup.js +2 -2
  235. package/dist/_internal/server/jobs/core/paymentReviewAutoApprove.js +4 -4
  236. package/dist/_internal/server/jobs/core/paymentWindowTimeout.js +7 -7
  237. package/dist/_internal/server/jobs/core/pendingOrderTimeout.js +6 -6
  238. package/dist/_internal/server/jobs/core/positionsReconcile.js +1 -1
  239. package/dist/_internal/server/jobs/core/priceIndexRollup.d.ts +47 -0
  240. package/dist/_internal/server/jobs/core/priceIndexRollup.js +304 -0
  241. package/dist/_internal/server/jobs/core/prizeDrawAssignWinner.js +2 -2
  242. package/dist/_internal/server/jobs/core/prizeDrawExpiryReveal.js +3 -3
  243. package/dist/_internal/server/jobs/core/prizeDrawSoldOutReveal.js +3 -3
  244. package/dist/_internal/server/jobs/core/productStatsSync.js +1 -1
  245. package/dist/_internal/server/jobs/core/promotions.js +2 -2
  246. package/dist/_internal/server/jobs/core/resetOtpVerification.js +3 -3
  247. package/dist/_internal/server/jobs/core/revalidateNotify.js +1 -1
  248. package/dist/_internal/server/jobs/core/revenueRollup.js +2 -2
  249. package/dist/_internal/server/jobs/core/storeAnalytics.js +3 -3
  250. package/dist/_internal/server/jobs/core/storeNameBackfill.js +3 -3
  251. package/dist/_internal/server/jobs/core/{testerSandboxCleanup.d.ts โ†’ testDataCleanup.d.ts} +3 -3
  252. package/dist/_internal/server/jobs/core/{testerSandboxCleanup.js โ†’ testDataCleanup.js} +5 -5
  253. package/dist/_internal/server/jobs/core/triggerEventRaffle.js +1 -1
  254. package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +9 -5
  255. package/dist/_internal/server/jobs/core/whatsappCatalogImport.js +3 -3
  256. package/dist/_internal/server/jobs/core/whatsappNotify.js +5 -5
  257. package/dist/_internal/server/jobs/core/wrapJobHandler.js +3 -3
  258. package/dist/_internal/server/jobs/handlers/_helpers.js +3 -3
  259. package/dist/_internal/server/jobs/handlers/adminAnalytics.js +1 -1
  260. package/dist/_internal/server/jobs/handlers/analyticsAlertEvaluate.d.ts +2 -0
  261. package/dist/_internal/server/jobs/handlers/analyticsAlertEvaluate.js +2 -0
  262. package/dist/_internal/server/jobs/handlers/assignSpinPrize.js +1 -1
  263. package/dist/_internal/server/jobs/handlers/auctionSettlement.js +1 -1
  264. package/dist/_internal/server/jobs/handlers/autoPayoutEligibility.js +1 -1
  265. package/dist/_internal/server/jobs/handlers/bundleStockSync.js +1 -1
  266. package/dist/_internal/server/jobs/handlers/cartPrune.js +1 -1
  267. package/dist/_internal/server/jobs/handlers/catalogueImageStalenessReminder.js +1 -1
  268. package/dist/_internal/server/jobs/handlers/cleanupRtdbEvents.js +1 -1
  269. package/dist/_internal/server/jobs/handlers/countersReconcile.js +1 -1
  270. package/dist/_internal/server/jobs/handlers/couponExpiry.js +1 -1
  271. package/dist/_internal/server/jobs/handlers/dailyDataCleanup.js +1 -1
  272. package/dist/_internal/server/jobs/handlers/dailyStatusDigest.js +1 -1
  273. package/dist/_internal/server/jobs/handlers/draftPrune.js +1 -1
  274. package/dist/_internal/server/jobs/handlers/emiInstallmentReminder.js +1 -1
  275. package/dist/_internal/server/jobs/handlers/hardBanReinstatement.js +1 -1
  276. package/dist/_internal/server/jobs/handlers/index.d.ts +3 -1
  277. package/dist/_internal/server/jobs/handlers/index.js +54 -52
  278. package/dist/_internal/server/jobs/handlers/listingProcessor.js +1 -1
  279. package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.js +1 -1
  280. package/dist/_internal/server/jobs/handlers/messages.d.ts +5 -2
  281. package/dist/_internal/server/jobs/handlers/messages.js +5 -2
  282. package/dist/_internal/server/jobs/handlers/notificationPrune.js +1 -1
  283. package/dist/_internal/server/jobs/handlers/offerExpiry.js +1 -1
  284. package/dist/_internal/server/jobs/handlers/onCatalogueSubmittedForApproval.js +1 -1
  285. package/dist/_internal/server/jobs/handlers/onCategoryWrite.js +1 -1
  286. package/dist/_internal/server/jobs/handlers/onJobCreated.js +1 -1
  287. package/dist/_internal/server/jobs/handlers/onOrderCreate.js +1 -1
  288. package/dist/_internal/server/jobs/handlers/onOrderStatusChange.js +1 -1
  289. package/dist/_internal/server/jobs/handlers/onPrizeDrawPaymentConfirmed.js +1 -1
  290. package/dist/_internal/server/jobs/handlers/onProductStockChange.js +1 -1
  291. package/dist/_internal/server/jobs/handlers/onProductWrite.js +1 -1
  292. package/dist/_internal/server/jobs/handlers/onReviewWrite.js +1 -1
  293. package/dist/_internal/server/jobs/handlers/onScamReportCreate.js +1 -1
  294. package/dist/_internal/server/jobs/handlers/onScamReportUpdate.js +2 -2
  295. package/dist/_internal/server/jobs/handlers/onShipmentAllocationSync.js +1 -1
  296. package/dist/_internal/server/jobs/handlers/onStoreWrite.js +1 -1
  297. package/dist/_internal/server/jobs/handlers/onSupportTicketCreate.js +1 -1
  298. package/dist/_internal/server/jobs/handlers/onSupportTicketUpdate.js +1 -1
  299. package/dist/_internal/server/jobs/handlers/onUserBanChange.js +1 -1
  300. package/dist/_internal/server/jobs/handlers/pageViewPrune.js +1 -1
  301. package/dist/_internal/server/jobs/handlers/pageViewRollup.js +1 -1
  302. package/dist/_internal/server/jobs/handlers/paymentReviewAutoApprove.js +1 -1
  303. package/dist/_internal/server/jobs/handlers/paymentWindowTimeout.js +1 -1
  304. package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.js +1 -1
  305. package/dist/_internal/server/jobs/handlers/positionsReconcile.js +1 -1
  306. package/dist/_internal/server/jobs/handlers/priceIndexRollup.d.ts +2 -0
  307. package/dist/_internal/server/jobs/handlers/priceIndexRollup.js +2 -0
  308. package/dist/_internal/server/jobs/handlers/prizeDrawExpiryReveal.js +1 -1
  309. package/dist/_internal/server/jobs/handlers/prizeDrawSoldOutReveal.js +1 -1
  310. package/dist/_internal/server/jobs/handlers/productStatsSync.js +1 -1
  311. package/dist/_internal/server/jobs/handlers/promotions.js +1 -1
  312. package/dist/_internal/server/jobs/handlers/revenueRollup.js +1 -1
  313. package/dist/_internal/server/jobs/handlers/storeAnalytics.js +1 -1
  314. package/dist/_internal/server/jobs/handlers/testDataCleanup.d.ts +2 -0
  315. package/dist/_internal/server/jobs/handlers/testDataCleanup.js +2 -0
  316. package/dist/_internal/server/jobs/handlers/triggerEventRaffle.js +1 -1
  317. package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.js +1 -1
  318. package/dist/_internal/server/jobs/index.js +4 -4
  319. package/dist/_internal/server/jobs/runtime/adapters/firebase.js +3 -3
  320. package/dist/_internal/server/notifications/channel-health.js +3 -3
  321. package/dist/_internal/server/notifications/send-guard.js +5 -5
  322. package/dist/_internal/server/notifications/send-recorder.js +5 -5
  323. package/dist/_internal/shared/actions/action-registry.js +43 -0
  324. package/dist/_internal/shared/checkout/lanes.js +1 -1
  325. package/dist/_internal/shared/checkout/order-math.d.ts +113 -3
  326. package/dist/_internal/shared/checkout/order-math.js +195 -8
  327. package/dist/_internal/shared/checkout/rules/_defaults.js +1 -1
  328. package/dist/_internal/shared/checkout/rules/_limits.js +1 -1
  329. package/dist/_internal/shared/checkout/rules/_registry.js +12 -12
  330. package/dist/_internal/shared/checkout/rules/art.rule.js +1 -1
  331. package/dist/_internal/shared/checkout/rules/auction.rule.js +1 -1
  332. package/dist/_internal/shared/checkout/rules/classified.rule.js +1 -1
  333. package/dist/_internal/shared/checkout/rules/digital-code.rule.js +1 -1
  334. package/dist/_internal/shared/checkout/rules/index.js +13 -13
  335. package/dist/_internal/shared/checkout/rules/live.rule.js +1 -1
  336. package/dist/_internal/shared/checkout/rules/offer.rule.js +1 -1
  337. package/dist/_internal/shared/checkout/rules/preorder.rule.js +2 -2
  338. package/dist/_internal/shared/checkout/rules/prize-draw.rule.js +3 -3
  339. package/dist/_internal/shared/checkout/rules/standard.rule.js +1 -1
  340. package/dist/_internal/shared/checkout/rules/stickers.rule.js +1 -1
  341. package/dist/_internal/shared/features/auctions/errors.js +1 -1
  342. package/dist/_internal/shared/features/blog/errors.js +1 -1
  343. package/dist/_internal/shared/features/blog/schema.js +2 -2
  344. package/dist/_internal/shared/features/brands/errors.js +1 -1
  345. package/dist/_internal/shared/features/brands/schema.js +2 -2
  346. package/dist/_internal/shared/features/cart/config.js +1 -1
  347. package/dist/_internal/shared/features/cart/errors.js +1 -1
  348. package/dist/_internal/shared/features/categories/bundle-schemas.js +2 -2
  349. package/dist/_internal/shared/features/categories/price-guidance.d.ts +110 -0
  350. package/dist/_internal/shared/features/categories/price-guidance.js +136 -0
  351. package/dist/_internal/shared/features/checkout/config.d.ts +3 -0
  352. package/dist/_internal/shared/features/checkout/config.js +4 -1
  353. package/dist/_internal/shared/features/emi/schedule.js +1 -1
  354. package/dist/_internal/shared/features/events/errors.js +1 -1
  355. package/dist/_internal/shared/features/events/schema.js +2 -2
  356. package/dist/_internal/shared/features/layout/index.js +1 -1
  357. package/dist/_internal/shared/features/notifications/action-url.js +1 -1
  358. package/dist/_internal/shared/features/offers/config.js +1 -1
  359. package/dist/_internal/shared/features/orders/errors.js +1 -1
  360. package/dist/_internal/shared/features/orders/schema.js +3 -3
  361. package/dist/_internal/shared/features/pre-orders/errors.js +1 -1
  362. package/dist/_internal/shared/features/products/errors.js +1 -1
  363. package/dist/_internal/shared/features/products/schema.js +3 -3
  364. package/dist/_internal/shared/features/promotions/errors.js +1 -1
  365. package/dist/_internal/shared/features/promotions/schema.d.ts +4 -4
  366. package/dist/_internal/shared/features/promotions/schema.js +1 -1
  367. package/dist/_internal/shared/features/returns/custody.d.ts +99 -0
  368. package/dist/_internal/shared/features/returns/custody.js +172 -0
  369. package/dist/_internal/shared/features/returns/destination.d.ts +172 -0
  370. package/dist/_internal/shared/features/returns/destination.js +158 -0
  371. package/dist/_internal/shared/features/reviews/errors.js +1 -1
  372. package/dist/_internal/shared/features/reviews/schema.js +2 -2
  373. package/dist/_internal/shared/features/shipping/courier-rating.d.ts +145 -0
  374. package/dist/_internal/shared/features/shipping/courier-rating.js +114 -0
  375. package/dist/_internal/shared/features/shipping/mode.d.ts +112 -0
  376. package/dist/_internal/shared/features/shipping/mode.js +108 -0
  377. package/dist/_internal/shared/features/shipping/parcel.d.ts +115 -0
  378. package/dist/_internal/shared/features/shipping/parcel.js +120 -0
  379. package/dist/_internal/shared/features/shipping/protections.d.ts +221 -0
  380. package/dist/_internal/shared/features/shipping/protections.js +213 -0
  381. package/dist/_internal/shared/features/site-settings/fees.d.ts +3 -0
  382. package/dist/_internal/shared/features/site-settings/fees.js +3 -0
  383. package/dist/_internal/shared/features/site-settings/gst-registration.d.ts +90 -0
  384. package/dist/_internal/shared/features/site-settings/gst-registration.js +126 -0
  385. package/dist/_internal/shared/features/wishlist/errors.js +1 -1
  386. package/dist/_internal/shared/fees/calculator.d.ts +129 -0
  387. package/dist/_internal/shared/fees/calculator.js +155 -1
  388. package/dist/_internal/shared/history/history.js +2 -2
  389. package/dist/_internal/shared/history/index.js +2 -2
  390. package/dist/_internal/shared/index.js +2 -2
  391. package/dist/_internal/shared/listing-types/_registry.js +12 -12
  392. package/dist/_internal/shared/listing-types/action-tracker.js +1 -1
  393. package/dist/_internal/shared/listing-types/art/config.d.ts +0 -6
  394. package/dist/_internal/shared/listing-types/art/config.js +4 -4
  395. package/dist/_internal/shared/listing-types/auction/config.js +6 -6
  396. package/dist/_internal/shared/listing-types/availability.js +1 -1
  397. package/dist/_internal/shared/listing-types/cart-shipping.js +1 -1
  398. package/dist/_internal/shared/listing-types/classified/config.d.ts +0 -6
  399. package/dist/_internal/shared/listing-types/classified/config.js +5 -5
  400. package/dist/_internal/shared/listing-types/digital-code/config.d.ts +0 -6
  401. package/dist/_internal/shared/listing-types/digital-code/config.js +6 -6
  402. package/dist/_internal/shared/listing-types/live/config.d.ts +0 -6
  403. package/dist/_internal/shared/listing-types/live/config.js +5 -5
  404. package/dist/_internal/shared/listing-types/pre-order/config.js +6 -6
  405. package/dist/_internal/shared/listing-types/prize-draw/config.js +5 -5
  406. package/dist/_internal/shared/listing-types/standard/config.d.ts +0 -6
  407. package/dist/_internal/shared/listing-types/standard/config.js +4 -4
  408. package/dist/_internal/shared/listing-types/stickers/config.d.ts +0 -6
  409. package/dist/_internal/shared/listing-types/stickers/config.js +4 -4
  410. package/dist/_internal/shared/search/alias-variants.d.ts +58 -0
  411. package/dist/_internal/shared/search/alias-variants.js +141 -0
  412. package/dist/_internal/shared/templating/placeholders.d.ts +70 -0
  413. package/dist/_internal/shared/templating/placeholders.js +73 -0
  414. package/dist/_internal/shared/tokens/index.js +2 -2
  415. package/dist/_internal/shared/types/action-error-reporter.js +1 -1
  416. package/dist/_internal/shared/types/action-result.js +4 -4
  417. package/dist/_internal/shared/types/base-document.d.ts +19 -0
  418. package/dist/cli/index.js +1 -1
  419. package/dist/client/api/surface-error.js +7 -7
  420. package/dist/client/api/useApiMutation.js +2 -2
  421. package/dist/client/api/useApiQuery.js +4 -4
  422. package/dist/client/observability/installClientErrorReporter.js +1 -1
  423. package/dist/client/observability/reportClientError.js +2 -2
  424. package/dist/client-entry.js +5 -5
  425. package/dist/client.d.ts +6 -0
  426. package/dist/client.js +336 -331
  427. package/dist/constants/api-endpoints.d.ts +58 -0
  428. package/dist/constants/api-endpoints.js +31 -0
  429. package/dist/constants/cache-invalidation.js +1 -1
  430. package/dist/constants/field-names.d.ts +2 -0
  431. package/dist/constants/field-names.js +10 -0
  432. package/dist/constants/index.js +10 -10
  433. package/dist/constants/notification-types.js +1 -1
  434. package/dist/contracts/index.js +12 -12
  435. package/dist/contracts/realtime-session.js +2 -2
  436. package/dist/core/EventBus.js +2 -2
  437. package/dist/core/Logger.js +2 -2
  438. package/dist/core/Queue.js +1 -1
  439. package/dist/core/StorageManager.js +2 -2
  440. package/dist/core/browser.js +9 -9
  441. package/dist/core/components/SyncManagerMount.js +2 -2
  442. package/dist/core/contact-submissions.repository.js +1 -1
  443. package/dist/core/copilot-log.repository.js +1 -1
  444. package/dist/core/hooks/useSiteSettings.js +2 -2
  445. package/dist/core/hooks/useSyncManager.js +3 -3
  446. package/dist/core/index.js +17 -17
  447. package/dist/core/integration-keys.js +2 -2
  448. package/dist/core/mutation-events.js +1 -1
  449. package/dist/core/newsletter-actions.js +2 -2
  450. package/dist/core/newsletter.repository.js +2 -2
  451. package/dist/core/server-action.js +5 -5
  452. package/dist/core/site-config.js +1 -1
  453. package/dist/core/unit-of-work.js +20 -20
  454. package/dist/errors/api-error.js +1 -1
  455. package/dist/errors/authentication-error.js +1 -1
  456. package/dist/errors/authorization-error.js +1 -1
  457. package/dist/errors/conflict-error.js +1 -1
  458. package/dist/errors/database-error.js +2 -2
  459. package/dist/errors/describe-cause.js +1 -1
  460. package/dist/errors/error-display-map.js +3 -3
  461. package/dist/errors/error-envelope.js +1 -1
  462. package/dist/errors/error-handler.js +3 -3
  463. package/dist/errors/error-mapping.js +7 -7
  464. package/dist/errors/index.js +18 -18
  465. package/dist/errors/normalize.js +2 -2
  466. package/dist/errors/not-found-error.js +1 -1
  467. package/dist/errors/payment-provider-unreachable.js +1 -1
  468. package/dist/errors/safe-read.js +2 -2
  469. package/dist/errors/validation-error.js +1 -1
  470. package/dist/features/about/components/AboutView.js +2 -2
  471. package/dist/features/about/components/DeveloperView.js +6 -6
  472. package/dist/features/about/components/FAQPageView.js +5 -5
  473. package/dist/features/about/components/FeesView.js +4 -4
  474. package/dist/features/about/components/HelpPageView.js +5 -5
  475. package/dist/features/about/components/HowAuctionsWorkView.js +4 -4
  476. package/dist/features/about/components/HowCheckoutWorksView.js +4 -4
  477. package/dist/features/about/components/HowEmiWorksView.js +5 -5
  478. package/dist/features/about/components/HowOffersWorkView.js +4 -4
  479. package/dist/features/about/components/HowOrdersWorkView.js +4 -4
  480. package/dist/features/about/components/HowPayoutsWorkView.js +4 -4
  481. package/dist/features/about/components/HowPreOrdersWorkView.js +4 -4
  482. package/dist/features/about/components/HowReviewsWorkView.js +4 -4
  483. package/dist/features/about/components/PolicyPageView.js +7 -7
  484. package/dist/features/about/components/PublicProfileView.js +15 -15
  485. package/dist/features/about/components/SecurityPrivacyView.js +4 -4
  486. package/dist/features/about/components/ShippingPolicyView.js +4 -4
  487. package/dist/features/about/components/TrackOrderView.js +5 -5
  488. package/dist/features/about/components/UnauthorizedView.js +4 -4
  489. package/dist/features/about/index.js +19 -19
  490. package/dist/features/about/schemas/index.js +1 -1
  491. package/dist/features/account/actions/address-actions.js +2 -2
  492. package/dist/features/account/actions/index.js +1 -1
  493. package/dist/features/account/api/[userId]/addresses/route.js +2 -2
  494. package/dist/features/account/api/[userId]/route.js +2 -2
  495. package/dist/features/account/columns/index.js +1 -1
  496. package/dist/features/account/components/AddressBook.js +1 -1
  497. package/dist/features/account/components/AddressFilters.js +3 -3
  498. package/dist/features/account/components/AddressForm.js +9 -9
  499. package/dist/features/account/components/AddressInlineSelect.js +4 -4
  500. package/dist/features/account/components/AddressSelectorCreate.js +2 -2
  501. package/dist/features/account/components/AddressesIndexListing.js +6 -6
  502. package/dist/features/account/components/BecomeSellerView.js +1 -1
  503. package/dist/features/account/components/BuyerAccountGuideView.js +3 -3
  504. package/dist/features/account/components/BuyerAuctionsGuideView.js +2 -2
  505. package/dist/features/account/components/BuyerOrdersGuideView.js +2 -2
  506. package/dist/features/account/components/BuyerShoppingGuideView.js +2 -2
  507. package/dist/features/account/components/LinkedAccountsSection.js +1 -1
  508. package/dist/features/account/components/NotificationBell.js +6 -6
  509. package/dist/features/account/components/NotificationPreferencesPanel.js +4 -4
  510. package/dist/features/account/components/OrderDetailView.js +1 -1
  511. package/dist/features/account/components/ProfileView.js +1 -1
  512. package/dist/features/account/components/UserAccountHubView.js +1 -1
  513. package/dist/features/account/components/UserAddressesView.js +1 -1
  514. package/dist/features/account/components/UserBidsView.js +8 -8
  515. package/dist/features/account/components/UserNotificationsView.js +1 -1
  516. package/dist/features/account/components/UserOffersPanel.js +5 -5
  517. package/dist/features/account/components/UserOrderTrackView.js +1 -1
  518. package/dist/features/account/components/UserOrdersView.js +10 -10
  519. package/dist/features/account/components/UserReturnsView.js +7 -7
  520. package/dist/features/account/components/UserSettingsView.js +1 -1
  521. package/dist/features/account/components/UserSidebar.js +9 -9
  522. package/dist/features/account/components/UserSupportView.js +11 -11
  523. package/dist/features/account/components/index.js +20 -20
  524. package/dist/features/account/hooks/useAccount.js +2 -2
  525. package/dist/features/account/hooks/useAddressSelector.js +2 -2
  526. package/dist/features/account/hooks/useAddresses.js +2 -2
  527. package/dist/features/account/hooks/useCollapsedSections.js +2 -2
  528. package/dist/features/account/hooks/useDataViewMode.js +1 -1
  529. package/dist/features/account/hooks/useNotifications.js +2 -2
  530. package/dist/features/account/hooks/useProfile.js +3 -3
  531. package/dist/features/account/hooks/useProfileStats.js +2 -2
  532. package/dist/features/account/hooks/usePublicProfile.d.ts +1 -1
  533. package/dist/features/account/hooks/usePublicProfile.js +3 -3
  534. package/dist/features/account/index.js +13 -13
  535. package/dist/features/account/schemas/firestore.js +1 -1
  536. package/dist/features/account/schemas/index.js +2 -2
  537. package/dist/features/account/server.js +3 -3
  538. package/dist/features/addresses/components/AddressLocationFields.js +5 -5
  539. package/dist/features/addresses/hooks/usePostalLookup.js +2 -2
  540. package/dist/features/addresses/index.js +2 -2
  541. package/dist/features/addresses/repository/addresses.repository.js +6 -6
  542. package/dist/features/addresses/schemas/address-form.js +2 -2
  543. package/dist/features/addresses/schemas/index.js +3 -3
  544. package/dist/features/addresses/server.js +2 -2
  545. package/dist/features/admin/actions/admin-actions.d.ts +2 -2
  546. package/dist/features/admin/actions/admin-actions.js +18 -18
  547. package/dist/features/admin/actions/admin-coupon-actions.js +5 -5
  548. package/dist/features/admin/actions/admin-read-actions.d.ts +4 -4
  549. package/dist/features/admin/actions/admin-read-actions.js +12 -12
  550. package/dist/features/admin/actions/index.js +5 -5
  551. package/dist/features/admin/actions/notification-actions.js +13 -13
  552. package/dist/features/admin/actions/site-settings-actions.js +2 -2
  553. package/dist/features/admin/api/bids/route.js +2 -2
  554. package/dist/features/admin/api/coupons/route.js +2 -2
  555. package/dist/features/admin/api/products/route.js +2 -2
  556. package/dist/features/admin/api/reviews/route.js +2 -2
  557. package/dist/features/admin/components/AdminActionIndexView.js +4 -4
  558. package/dist/features/admin/components/AdminAdEditorView.js +9 -9
  559. package/dist/features/admin/components/AdminAddressBookView.js +4 -4
  560. package/dist/features/admin/components/AdminAddressClustersView.js +3 -3
  561. package/dist/features/admin/components/AdminAddressEditorView.js +13 -13
  562. package/dist/features/admin/components/AdminAddressesView.js +9 -9
  563. package/dist/features/admin/components/AdminAdsView.js +8 -8
  564. package/dist/features/admin/components/AdminAllEventEntriesView.js +7 -7
  565. package/dist/features/admin/components/AdminAnalyticsGuideView.js +2 -2
  566. package/dist/features/admin/components/AdminAnalyticsView.js +7 -7
  567. package/dist/features/admin/components/AdminArtView.js +4 -4
  568. package/dist/features/admin/components/AdminAuditLogView.js +6 -6
  569. package/dist/features/admin/components/AdminBidsView.js +12 -12
  570. package/dist/features/admin/components/AdminBlogEditorView.js +8 -8
  571. package/dist/features/admin/components/AdminBlogView.js +7 -7
  572. package/dist/features/admin/components/AdminBrandEditorView.js +11 -11
  573. package/dist/features/admin/components/AdminBrandsView.js +7 -7
  574. package/dist/features/admin/components/AdminBundleEditorView.js +13 -13
  575. package/dist/features/admin/components/AdminBundlesView.js +8 -8
  576. package/dist/features/admin/components/AdminCarouselEditorView.js +8 -8
  577. package/dist/features/admin/components/AdminCarouselGroupEditorView.js +6 -6
  578. package/dist/features/admin/components/AdminCarouselView.js +11 -11
  579. package/dist/features/admin/components/AdminCartsView.js +5 -5
  580. package/dist/features/admin/components/AdminCatalogGuideView.js +2 -2
  581. package/dist/features/admin/components/AdminCategoriesView.js +6 -6
  582. package/dist/features/admin/components/AdminCategoryEditorView.js +274 -8
  583. package/dist/features/admin/components/AdminClassifiedView.js +4 -4
  584. package/dist/features/admin/components/AdminContactEditorView.js +3 -3
  585. package/dist/features/admin/components/AdminContactView.js +10 -10
  586. package/dist/features/admin/components/AdminContentGuideView.js +2 -2
  587. package/dist/features/admin/components/AdminCouponEditorView.js +12 -12
  588. package/dist/features/admin/components/AdminCouponsView.js +10 -10
  589. package/dist/features/admin/components/AdminDashboardView.js +5 -5
  590. package/dist/features/admin/components/AdminDigitalCodesView.js +4 -4
  591. package/dist/features/admin/components/AdminEmployeeEditorView.js +10 -10
  592. package/dist/features/admin/components/AdminFaqEditorView.js +6 -6
  593. package/dist/features/admin/components/AdminFaqsView.js +6 -6
  594. package/dist/features/admin/components/AdminFeatureEditorView.js +9 -9
  595. package/dist/features/admin/components/AdminFeaturesView.js +8 -8
  596. package/dist/features/admin/components/AdminFulfillmentView.js +9 -9
  597. package/dist/features/admin/components/AdminGroupedListingsView.js +9 -9
  598. package/dist/features/admin/components/AdminGuideHubView.js +2 -2
  599. package/dist/features/admin/components/AdminHistoryView.js +6 -6
  600. package/dist/features/admin/components/AdminLiveView.js +4 -4
  601. package/dist/features/admin/components/AdminMediaView.js +5 -5
  602. package/dist/features/admin/components/AdminNavEditorView.js +7 -7
  603. package/dist/features/admin/components/AdminNavigationView.js +5 -5
  604. package/dist/features/admin/components/AdminNewsletterView.js +9 -9
  605. package/dist/features/admin/components/AdminNotificationsView.js +10 -10
  606. package/dist/features/admin/components/AdminOffersView.js +13 -13
  607. package/dist/features/admin/components/AdminOrderEditorView.js +15 -15
  608. package/dist/features/admin/components/AdminOrdersGuideView.js +2 -2
  609. package/dist/features/admin/components/AdminOrdersView.js +13 -13
  610. package/dist/features/admin/components/AdminPaymentClustersView.js +3 -3
  611. package/dist/features/admin/components/AdminPaymentMethodsView.js +8 -8
  612. package/dist/features/admin/components/AdminPaymentsGuideView.js +2 -2
  613. package/dist/features/admin/components/AdminPayoutMarkPaidModal.js +7 -7
  614. package/dist/features/admin/components/AdminPayoutsView.js +12 -12
  615. package/dist/features/admin/components/AdminPrizeDrawsView.js +9 -9
  616. package/dist/features/admin/components/AdminProductEditorView.js +21 -14
  617. package/dist/features/admin/components/AdminProductsView.js +93 -22
  618. package/dist/features/admin/components/AdminReturnRequestsView.js +7 -7
  619. package/dist/features/admin/components/AdminReviewsView.js +9 -9
  620. package/dist/features/admin/components/AdminScammerEditorView.js +6 -6
  621. package/dist/features/admin/components/AdminScammersView.js +10 -10
  622. package/dist/features/admin/components/AdminSectionsView.js +15 -15
  623. package/dist/features/admin/components/AdminSessionsManager.js +1 -1
  624. package/dist/features/admin/components/AdminSessionsView.js +6 -6
  625. package/dist/features/admin/components/AdminSidebar.js +8 -8
  626. package/dist/features/admin/components/AdminSiteConfigGuideView.js +2 -2
  627. package/dist/features/admin/components/AdminSiteSettingsView.js +36 -17
  628. package/dist/features/admin/components/AdminStickersView.js +4 -4
  629. package/dist/features/admin/components/AdminStoreAddressesView.js +4 -4
  630. package/dist/features/admin/components/AdminStoreEditorView.js +7 -7
  631. package/dist/features/admin/components/AdminStoresGuideView.js +2 -2
  632. package/dist/features/admin/components/AdminStoresView.js +11 -11
  633. package/dist/features/admin/components/AdminSublistingCategoriesView.js +6 -6
  634. package/dist/features/admin/components/AdminSublistingCategoryEditorView.js +7 -7
  635. package/dist/features/admin/components/AdminSupportTicketDetailView.js +9 -9
  636. package/dist/features/admin/components/AdminSupportTicketsView.js +9 -9
  637. package/dist/features/admin/components/AdminTaxCodeEditorView.d.ts +10 -0
  638. package/dist/features/admin/components/AdminTaxCodeEditorView.js +160 -0
  639. package/dist/features/admin/components/AdminTaxCodesView.d.ts +13 -0
  640. package/dist/features/admin/components/AdminTaxCodesView.js +86 -0
  641. package/dist/features/admin/components/AdminTeamGuideView.js +1 -1
  642. package/dist/features/admin/components/AdminTeamView.js +8 -8
  643. package/dist/features/admin/components/AdminTesterChecklistItemEditorView.js +10 -10
  644. package/dist/features/admin/components/AdminTesterChecklistView.js +9 -9
  645. package/dist/features/admin/components/AdminTopBar.js +1 -1
  646. package/dist/features/admin/components/AdminTrustGuideView.js +2 -2
  647. package/dist/features/admin/components/AdminUserEditorView.js +8 -8
  648. package/dist/features/admin/components/AdminUsersGuideView.js +2 -2
  649. package/dist/features/admin/components/AdminUsersView.js +15 -15
  650. package/dist/features/admin/components/AdminViewCards.js +3 -3
  651. package/dist/features/admin/components/AdminWhatsAppGuideView.js +2 -2
  652. package/dist/features/admin/components/AdminWishlistsView.js +6 -6
  653. package/dist/features/admin/components/BrandQuickCreateForm.js +8 -8
  654. package/dist/features/admin/components/CategoryQuickCreateForm.js +8 -8
  655. package/dist/features/admin/components/DashboardStats.js +4 -4
  656. package/dist/features/admin/components/DataListingView.js +7 -7
  657. package/dist/features/admin/components/DataTable.js +5 -5
  658. package/dist/features/admin/components/DemoSeedView.js +1 -1
  659. package/dist/features/admin/components/DrawerFormFooter.js +1 -1
  660. package/dist/features/admin/components/QuickEditMenu.js +4 -4
  661. package/dist/features/admin/components/ViewAuditLogEntryModal.js +1 -1
  662. package/dist/features/admin/components/ViewNotificationModal.js +2 -2
  663. package/dist/features/admin/components/analytics/AdminAnalyticsCharts.js +2 -2
  664. package/dist/features/admin/components/analytics/AdminPageViewsReportView.js +4 -4
  665. package/dist/features/admin/components/analytics/AdminStatCard.js +2 -2
  666. package/dist/features/admin/components/analytics/AdminTopProductsTable.js +2 -2
  667. package/dist/features/admin/components/analytics/index.js +3 -3
  668. package/dist/features/admin/components/index.js +94 -94
  669. package/dist/features/admin/components/sections/adminSectionsBuildParse.js +1 -1
  670. package/dist/features/admin/components/sections/adminSectionsTypes.d.ts +50 -1
  671. package/dist/features/admin/components/sections/adminSectionsTypes.js +30 -11
  672. package/dist/features/admin/hooks/useAdmin.js +2 -2
  673. package/dist/features/admin/hooks/useAdminListing.js +5 -5
  674. package/dist/features/admin/hooks/useAdminListingData.js +2 -2
  675. package/dist/features/admin/hooks/useAdminSectionsListing.js +2 -2
  676. package/dist/features/admin/index.js +7 -7
  677. package/dist/features/admin/repository/analytics-rollup.repository.js +1 -1
  678. package/dist/features/admin/repository/notification.repository.js +5 -5
  679. package/dist/features/admin/repository/site-settings.repository.js +7 -7
  680. package/dist/features/admin/schemas/admin-editor-forms.js +3 -3
  681. package/dist/features/admin/schemas/admin-ops-forms.js +3 -3
  682. package/dist/features/admin/schemas/admin-user-form.d.ts +4 -4
  683. package/dist/features/admin/schemas/admin-user-form.js +1 -1
  684. package/dist/features/admin/schemas/firestore.d.ts +29 -0
  685. package/dist/features/admin/schemas/firestore.js +8 -2
  686. package/dist/features/admin/schemas/homepage-section-form.js +2 -2
  687. package/dist/features/admin/schemas/index.js +1 -1
  688. package/dist/features/admin/schemas/nav-item-form.js +1 -1
  689. package/dist/features/admin/schemas/small-forms.js +1 -1
  690. package/dist/features/admin/server.js +8 -8
  691. package/dist/features/admin/types/index.js +1 -1
  692. package/dist/features/admin/utils/checkActionAllowed.js +4 -4
  693. package/dist/features/admin/utils/getDisabledRoutes.js +1 -1
  694. package/dist/features/admin/utils/getSiteSettingsGlobal.js +1 -1
  695. package/dist/features/analytics/components/PageViewTracker.js +3 -3
  696. package/dist/features/analytics/repository/page-views.repository.js +3 -3
  697. package/dist/features/auctions/actions/bid-actions.js +23 -23
  698. package/dist/features/auctions/actions/index.js +1 -1
  699. package/dist/features/auctions/api/route.js +2 -2
  700. package/dist/features/auctions/columns/index.js +1 -1
  701. package/dist/features/auctions/components/AuctionBidsTable.js +4 -4
  702. package/dist/features/auctions/components/AuctionBottomActions.js +9 -9
  703. package/dist/features/auctions/components/AuctionDetailPageView.js +35 -35
  704. package/dist/features/auctions/components/AuctionFilters.js +4 -4
  705. package/dist/features/auctions/components/AuctionLiveStatusBadge.js +2 -2
  706. package/dist/features/auctions/components/AuctionsListView.js +4 -4
  707. package/dist/features/auctions/components/CollapsibleBidHistory.js +4 -4
  708. package/dist/features/auctions/components/LiveBidPrice.js +3 -3
  709. package/dist/features/auctions/components/LiveMinIncrement.js +5 -5
  710. package/dist/features/auctions/components/MarketplaceAuctionCard.js +13 -13
  711. package/dist/features/auctions/components/MarketplaceAuctionGrid.js +2 -2
  712. package/dist/features/auctions/components/PlaceBidFormClient.js +17 -17
  713. package/dist/features/auctions/components/index.js +5 -5
  714. package/dist/features/auctions/hooks/useAuctions.js +3 -3
  715. package/dist/features/auctions/hooks/useBids.js +2 -2
  716. package/dist/features/auctions/hooks/useLiveAuctionBid.js +1 -1
  717. package/dist/features/auctions/hooks/usePlaceBid.js +2 -2
  718. package/dist/features/auctions/hooks/useRealtimeBids.js +3 -3
  719. package/dist/features/auctions/index.js +8 -8
  720. package/dist/features/auctions/repository/bid.repository.js +7 -7
  721. package/dist/features/auctions/schemas/firestore.js +1 -1
  722. package/dist/features/auctions/schemas/index.js +2 -2
  723. package/dist/features/auctions/server.js +3 -3
  724. package/dist/features/audit-log/repository/audit-log.repository.js +2 -2
  725. package/dist/features/auth/actions/index.js +1 -1
  726. package/dist/features/auth/actions/profile-actions.js +8 -8
  727. package/dist/features/auth/actions/user-slug.js +4 -4
  728. package/dist/features/auth/api/route.js +2 -2
  729. package/dist/features/auth/auth-helpers.js +2 -2
  730. package/dist/features/auth/checkout-value-otp.js +3 -3
  731. package/dist/features/auth/components/AuthStatusPanel.js +2 -2
  732. package/dist/features/auth/components/ForgotPasswordView.js +7 -7
  733. package/dist/features/auth/components/Guards.js +2 -2
  734. package/dist/features/auth/components/LoginForm.js +8 -8
  735. package/dist/features/auth/components/OAuthLoadingView.js +1 -1
  736. package/dist/features/auth/components/RegisterForm.js +9 -9
  737. package/dist/features/auth/components/ResetPasswordView.js +6 -6
  738. package/dist/features/auth/components/SocialAuthButtons.js +1 -1
  739. package/dist/features/auth/components/VerifyEmailView.js +2 -2
  740. package/dist/features/auth/components/index.js +9 -9
  741. package/dist/features/auth/hooks/useAuth.js +7 -7
  742. package/dist/features/auth/hooks/useAuthEvent.js +2 -2
  743. package/dist/features/auth/hooks/useLogout.js +2 -2
  744. package/dist/features/auth/hooks/useRBAC.js +3 -3
  745. package/dist/features/auth/index.js +11 -11
  746. package/dist/features/auth/repository/index.js +4 -4
  747. package/dist/features/auth/repository/session.repository.js +7 -7
  748. package/dist/features/auth/repository/sms-counter.repository.js +2 -2
  749. package/dist/features/auth/repository/token.repository.js +6 -6
  750. package/dist/features/auth/repository/user.repository.js +5 -5
  751. package/dist/features/auth/schemas/firestore.d.ts +0 -1
  752. package/dist/features/auth/schemas/index.js +3 -3
  753. package/dist/features/auth/server/checkSoftBan.js +1 -1
  754. package/dist/features/auth/server.js +5 -5
  755. package/dist/features/auth/token-store.js +3 -3
  756. package/dist/features/before-after/api/[id]/route.js +2 -2
  757. package/dist/features/before-after/api/route.js +2 -2
  758. package/dist/features/before-after/columns/index.js +1 -1
  759. package/dist/features/before-after/components/BeforeAfterGallery.js +2 -2
  760. package/dist/features/before-after/components/BeforeAfterSlider.js +1 -1
  761. package/dist/features/before-after/components/index.js +2 -2
  762. package/dist/features/before-after/hooks/useBeforeAfter.js +2 -2
  763. package/dist/features/before-after/index.js +6 -6
  764. package/dist/features/blog/actions/blog-actions.js +6 -6
  765. package/dist/features/blog/actions/index.js +1 -1
  766. package/dist/features/blog/api/[slug]/route.js +3 -3
  767. package/dist/features/blog/api/route.js +3 -3
  768. package/dist/features/blog/columns/index.js +1 -1
  769. package/dist/features/blog/components/BlogFeaturedCard.js +6 -6
  770. package/dist/features/blog/components/BlogFilters.js +7 -7
  771. package/dist/features/blog/components/BlogIndexListing.js +9 -9
  772. package/dist/features/blog/components/BlogIndexPageView.js +6 -6
  773. package/dist/features/blog/components/BlogListView.js +6 -6
  774. package/dist/features/blog/components/BlogPostForm.js +6 -6
  775. package/dist/features/blog/components/BlogPostView.js +10 -10
  776. package/dist/features/blog/components/index.js +6 -6
  777. package/dist/features/blog/hooks/useBlog.js +2 -2
  778. package/dist/features/blog/index.js +6 -6
  779. package/dist/features/blog/repository/blog.repository.js +8 -8
  780. package/dist/features/blog/schemas/blog-form.js +2 -2
  781. package/dist/features/blog/schemas/firestore.d.ts +2 -2
  782. package/dist/features/blog/schemas/firestore.js +1 -1
  783. package/dist/features/blog/schemas/index.js +4 -4
  784. package/dist/features/blog/server.js +4 -4
  785. package/dist/features/cart/actions/cart-actions.js +16 -16
  786. package/dist/features/cart/actions/index.js +1 -1
  787. package/dist/features/cart/api/[id]/route.js +2 -2
  788. package/dist/features/cart/api/route.js +2 -2
  789. package/dist/features/cart/columns/index.js +2 -2
  790. package/dist/features/cart/components/CartDrawer.js +6 -6
  791. package/dist/features/cart/components/CartGroupLineRow.js +5 -5
  792. package/dist/features/cart/components/CartPriceBreakdown.d.ts +6 -0
  793. package/dist/features/cart/components/CartPriceBreakdown.js +3 -3
  794. package/dist/features/cart/components/CartSummary.js +1 -1
  795. package/dist/features/cart/components/CartView.js +2 -2
  796. package/dist/features/cart/components/CheckoutAddressStep.js +1 -1
  797. package/dist/features/cart/components/CheckoutSuccessView.js +1 -1
  798. package/dist/features/cart/components/CheckoutView.js +2 -2
  799. package/dist/features/cart/components/ShippingPicker.js +3 -3
  800. package/dist/features/cart/components/StoreAddonsPicker.d.ts +35 -1
  801. package/dist/features/cart/components/StoreAddonsPicker.js +39 -11
  802. package/dist/features/cart/components/index.js +10 -10
  803. package/dist/features/cart/hooks/useAddToCart.js +8 -8
  804. package/dist/features/cart/hooks/useCart.js +3 -3
  805. package/dist/features/cart/hooks/useCartCount.js +4 -4
  806. package/dist/features/cart/hooks/useCartQuery.js +1 -1
  807. package/dist/features/cart/hooks/useCheckoutReadQueries.js +1 -1
  808. package/dist/features/cart/hooks/useGuestCart.js +1 -1
  809. package/dist/features/cart/hooks/useGuestCartMerge.js +4 -4
  810. package/dist/features/cart/hooks/useOrder.js +2 -2
  811. package/dist/features/cart/index.js +15 -15
  812. package/dist/features/cart/repository/cart.repository.js +7 -6
  813. package/dist/features/cart/schemas/firestore.d.ts +10 -0
  814. package/dist/features/cart/schemas/index.d.ts +2 -2
  815. package/dist/features/cart/schemas/index.js +2 -2
  816. package/dist/features/cart/server.js +2 -2
  817. package/dist/features/cart/utils/guest-cart.js +2 -2
  818. package/dist/features/cart/utils/line-total.js +1 -1
  819. package/dist/features/cart/utils/pending-ops.js +1 -1
  820. package/dist/features/catalogue/actions/approve-catalogue-listing.js +5 -5
  821. package/dist/features/catalogue/actions/list-from-catalogue.js +6 -6
  822. package/dist/features/catalogue/actions/submit-for-approval.js +4 -4
  823. package/dist/features/catalogue/components/AdminCatalogueApprovalsView.js +7 -7
  824. package/dist/features/catalogue/components/CatalogueItemEditorView.js +26 -15
  825. package/dist/features/catalogue/components/PublicCatalogueItemDetailView.js +7 -7
  826. package/dist/features/catalogue/components/PublicCatalogueView.js +6 -6
  827. package/dist/features/catalogue/components/UserCatalogueView.js +5 -5
  828. package/dist/features/catalogue/index.js +10 -10
  829. package/dist/features/catalogue/repository/catalogue.repository.js +4 -4
  830. package/dist/features/catalogue/schemas/firestore.js +1 -1
  831. package/dist/features/catalogue/schemas/index.js +2 -2
  832. package/dist/features/catalogue/schemas/validation.js +1 -1
  833. package/dist/features/catalogue/utils/freshness.js +2 -2
  834. package/dist/features/catalogue/utils/product-from-item.js +1 -1
  835. package/dist/features/categories/actions/category-actions.js +3 -3
  836. package/dist/features/categories/actions/index.js +1 -1
  837. package/dist/features/categories/api/[id]/description-template/route.d.ts +45 -0
  838. package/dist/features/categories/api/[id]/description-template/route.js +252 -0
  839. package/dist/features/categories/api/[id]/route.js +4 -4
  840. package/dist/features/categories/api/route.js +160 -15
  841. package/dist/features/categories/columns/index.js +1 -1
  842. package/dist/features/categories/components/BrandDetailPageView.js +60 -18
  843. package/dist/features/categories/components/BrandDetailTabs.js +9 -9
  844. package/dist/features/categories/components/BreadcrumbTrail.js +2 -2
  845. package/dist/features/categories/components/BundleBuyNowCta.js +7 -7
  846. package/dist/features/categories/components/BundleCollage.js +7 -7
  847. package/dist/features/categories/components/BundleDetailView.js +10 -10
  848. package/dist/features/categories/components/BundleDynamicRuleEditor.js +5 -5
  849. package/dist/features/categories/components/BundleItemsPicker.js +4 -4
  850. package/dist/features/categories/components/BundlesListView.js +6 -6
  851. package/dist/features/categories/components/CategoriesIndexListing.js +9 -9
  852. package/dist/features/categories/components/CategoriesIndexPageView.js +3 -3
  853. package/dist/features/categories/components/CategoryBundlesListing.js +6 -6
  854. package/dist/features/categories/components/CategoryDetailPageView.js +160 -27
  855. package/dist/features/categories/components/CategoryDetailTabs.js +10 -10
  856. package/dist/features/categories/components/CategoryFilters.js +4 -4
  857. package/dist/features/categories/components/CategoryForm.js +6 -6
  858. package/dist/features/categories/components/CategoryGrid.js +4 -4
  859. package/dist/features/categories/components/CategoryHighlightsAndFaqSection.js +2 -2
  860. package/dist/features/categories/components/CategoryProductsListing.js +17 -17
  861. package/dist/features/categories/components/CategoryProductsView.js +3 -3
  862. package/dist/features/categories/components/CategorySelectorCreate.js +7 -7
  863. package/dist/features/categories/components/CategorySortSelect.js +2 -2
  864. package/dist/features/categories/components/CategoryStoresListing.js +3 -3
  865. package/dist/features/categories/components/CategoryTableColumns.js +3 -3
  866. package/dist/features/categories/components/CategoryTemplatePicker.d.ts +65 -0
  867. package/dist/features/categories/components/CategoryTemplatePicker.js +170 -0
  868. package/dist/features/categories/components/CategoryTree.js +1 -1
  869. package/dist/features/categories/components/ConcernCard.js +2 -2
  870. package/dist/features/categories/components/ConcernGrid.js +2 -2
  871. package/dist/features/categories/components/index.js +20 -20
  872. package/dist/features/categories/constants/listing-categories.d.ts +17 -0
  873. package/dist/features/categories/constants/listing-categories.js +53 -0
  874. package/dist/features/categories/hooks/useCategories.js +3 -3
  875. package/dist/features/categories/hooks/useCategorySelector.js +2 -2
  876. package/dist/features/categories/hooks/useCategoryTree.js +30 -4
  877. package/dist/features/categories/index.js +7 -7
  878. package/dist/features/categories/repository/categories.repository.d.ts +62 -11
  879. package/dist/features/categories/repository/categories.repository.js +183 -40
  880. package/dist/features/categories/repository/price-index.repository.d.ts +184 -0
  881. package/dist/features/categories/repository/price-index.repository.js +115 -0
  882. package/dist/features/categories/schemas/bundle-form.js +3 -3
  883. package/dist/features/categories/schemas/category-content.d.ts +206 -0
  884. package/dist/features/categories/schemas/category-content.js +28 -0
  885. package/dist/features/categories/schemas/firestore.d.ts +74 -5
  886. package/dist/features/categories/schemas/firestore.js +76 -5
  887. package/dist/features/categories/schemas/index.d.ts +1047 -0
  888. package/dist/features/categories/schemas/index.js +98 -2
  889. package/dist/features/categories/server.d.ts +1 -0
  890. package/dist/features/categories/server.js +11 -4
  891. package/dist/features/categories/types/index.d.ts +9 -0
  892. package/dist/features/checkout/actions/checkout-value-otp-actions.js +13 -13
  893. package/dist/features/checkout/actions/index.js +1 -1
  894. package/dist/features/checkout/components/CheckoutStepper.js +1 -1
  895. package/dist/features/checkout/components/index.js +1 -1
  896. package/dist/features/checkout/index.js +4 -4
  897. package/dist/features/checkout/repository/failed-checkout.repository.js +2 -2
  898. package/dist/features/checkout/schemas/index.js +1 -1
  899. package/dist/features/checkout/server.js +2 -2
  900. package/dist/features/classified/components/ClassifiedDetailPageView.js +22 -22
  901. package/dist/features/classified/components/ClassifiedFilters.js +4 -4
  902. package/dist/features/classified/components/index.js +1 -1
  903. package/dist/features/collections/api/[slug]/route.js +2 -2
  904. package/dist/features/collections/api/route.js +2 -2
  905. package/dist/features/collections/columns/index.js +1 -1
  906. package/dist/features/collections/components/CollectionCard.js +3 -3
  907. package/dist/features/collections/components/index.js +1 -1
  908. package/dist/features/collections/hooks/useCollections.js +2 -2
  909. package/dist/features/collections/index.js +6 -6
  910. package/dist/features/consultation/api/[id]/route.js +2 -2
  911. package/dist/features/consultation/api/route.js +2 -2
  912. package/dist/features/consultation/columns/index.js +1 -1
  913. package/dist/features/consultation/components/ConsultationForm.js +6 -6
  914. package/dist/features/consultation/components/index.js +1 -1
  915. package/dist/features/consultation/hooks/useBookConsultation.js +2 -2
  916. package/dist/features/consultation/index.js +6 -6
  917. package/dist/features/consultation/schemas/index.d.ts +2 -2
  918. package/dist/features/consultation/schemas/index.js +1 -1
  919. package/dist/features/consultation/server.js +1 -1
  920. package/dist/features/contact/components/ContactForm.js +4 -4
  921. package/dist/features/contact/components/ContactInfoSidebar.js +1 -1
  922. package/dist/features/contact/components/ContactPageView.js +6 -6
  923. package/dist/features/contact/components/index.js +3 -3
  924. package/dist/features/contact/email.js +9 -9
  925. package/dist/features/contact/index.js +2 -2
  926. package/dist/features/contact/schemas/inquiry-forms.js +1 -1
  927. package/dist/features/contact/server.js +1 -1
  928. package/dist/features/copilot/components/AdminCopilotView.js +4 -4
  929. package/dist/features/copilot/components/index.js +1 -1
  930. package/dist/features/copilot/hooks/useCopilotChat.js +2 -2
  931. package/dist/features/copilot/hooks/useCopilotFeedback.js +2 -2
  932. package/dist/features/copilot/index.js +3 -3
  933. package/dist/features/corporate/api/[id]/route.js +2 -2
  934. package/dist/features/corporate/api/route.js +2 -2
  935. package/dist/features/corporate/columns/index.js +1 -1
  936. package/dist/features/corporate/components/CorporateInquiryForm.js +7 -7
  937. package/dist/features/corporate/components/index.js +1 -1
  938. package/dist/features/corporate/hooks/useSubmitCorporateInquiry.js +2 -2
  939. package/dist/features/corporate/index.js +6 -6
  940. package/dist/features/corporate/schemas/index.js +1 -1
  941. package/dist/features/corporate/server.js +1 -1
  942. package/dist/features/cron/index.js +4 -4
  943. package/dist/features/cron/jobs/auction-expiry.job.js +3 -3
  944. package/dist/features/cron/jobs/preorder-reminder.job.js +3 -3
  945. package/dist/features/digital-codes/components/DigitalCodeDetailPageView.js +20 -20
  946. package/dist/features/digital-codes/components/DigitalCodeFilters.js +4 -4
  947. package/dist/features/digital-codes/components/index.js +1 -1
  948. package/dist/features/email/index.js +1 -1
  949. package/dist/features/email/notification-templates.js +1 -1
  950. package/dist/features/events/actions/event-actions.js +10 -10
  951. package/dist/features/events/actions/index.js +1 -1
  952. package/dist/features/events/api/[id]/route.js +4 -4
  953. package/dist/features/events/columns/index.js +1 -1
  954. package/dist/features/events/components/AdminEventEditorView.js +10 -10
  955. package/dist/features/events/components/AdminEventEntriesView.js +9 -9
  956. package/dist/features/events/components/AdminEventsView.js +8 -8
  957. package/dist/features/events/components/EventBanner.js +4 -4
  958. package/dist/features/events/components/EventCard.js +8 -8
  959. package/dist/features/events/components/EventDetailView.js +1 -1
  960. package/dist/features/events/components/EventFilters.js +8 -8
  961. package/dist/features/events/components/EventFormDrawer.js +1 -1
  962. package/dist/features/events/components/EventLeaderboard.js +1 -1
  963. package/dist/features/events/components/EventOfferCard.js +5 -5
  964. package/dist/features/events/components/EventParticipateView.js +2 -2
  965. package/dist/features/events/components/EventPollWidget.js +5 -5
  966. package/dist/features/events/components/EventRaffleEntryForm.js +7 -7
  967. package/dist/features/events/components/EventRaffleWinnerView.js +1 -1
  968. package/dist/features/events/components/EventRafflesSection.js +8 -8
  969. package/dist/features/events/components/EventSaleBanner.js +4 -4
  970. package/dist/features/events/components/EventStatusBadge.js +1 -1
  971. package/dist/features/events/components/EventsIndexListing.js +9 -9
  972. package/dist/features/events/components/EventsListPageView.js +9 -9
  973. package/dist/features/events/components/EventsListView.js +2 -2
  974. package/dist/features/events/components/RelatedEventsCarousel.js +6 -6
  975. package/dist/features/events/components/SpinWheelView.js +4 -4
  976. package/dist/features/events/components/index.js +21 -21
  977. package/dist/features/events/hooks/useBulkEvent.js +1 -1
  978. package/dist/features/events/hooks/useEvent.js +2 -2
  979. package/dist/features/events/hooks/useEvents.js +2 -2
  980. package/dist/features/events/index.js +8 -8
  981. package/dist/features/events/repository/event-entry.repository.js +6 -6
  982. package/dist/features/events/repository/events.repository.js +10 -10
  983. package/dist/features/events/schemas/event-form.js +1 -1
  984. package/dist/features/events/schemas/firestore.d.ts +2 -2
  985. package/dist/features/events/schemas/index.js +3 -3
  986. package/dist/features/events/server.js +4 -4
  987. package/dist/features/faq/actions/faq-actions.js +3 -3
  988. package/dist/features/faq/actions/index.js +1 -1
  989. package/dist/features/faq/columns/index.js +1 -1
  990. package/dist/features/faq/components/ContactCTA.js +1 -1
  991. package/dist/features/faq/components/FAQAccordion.js +1 -1
  992. package/dist/features/faq/components/FAQCategorySidebar.js +2 -2
  993. package/dist/features/faq/components/FAQHelpfulButtons.js +2 -2
  994. package/dist/features/faq/components/FAQPageContent.js +7 -7
  995. package/dist/features/faq/components/FAQSearchableList.js +2 -2
  996. package/dist/features/faq/components/FAQSortDropdown.js +1 -1
  997. package/dist/features/faq/components/RelatedFAQs.js +1 -1
  998. package/dist/features/faq/components/index.js +7 -7
  999. package/dist/features/faq/hooks/useFaqList.js +2 -2
  1000. package/dist/features/faq/hooks/useFaqVote.js +2 -2
  1001. package/dist/features/faq/index.js +7 -7
  1002. package/dist/features/faq/repository/faqs.repository.js +6 -6
  1003. package/dist/features/faq/schemas/firestore.d.ts +2 -1
  1004. package/dist/features/faq/schemas/firestore.js +22 -9
  1005. package/dist/features/faq/schemas/index.js +2 -2
  1006. package/dist/features/faq/server.js +2 -2
  1007. package/dist/features/faq/types/index.d.ts +9 -1
  1008. package/dist/features/faq/utils/getHomepageFaqsCached.js +1 -1
  1009. package/dist/features/filters/AsyncFacetSection.js +2 -2
  1010. package/dist/features/filters/FilterFacetSection.js +2 -2
  1011. package/dist/features/filters/FilterPanel.js +5 -5
  1012. package/dist/features/filters/RangeFilter.js +2 -2
  1013. package/dist/features/filters/SwitchFilter.js +2 -2
  1014. package/dist/features/filters/index.js +8 -8
  1015. package/dist/features/forms/Checkbox.js +3 -3
  1016. package/dist/features/forms/Input.js +3 -3
  1017. package/dist/features/forms/Radio.js +2 -2
  1018. package/dist/features/forms/Select.js +3 -3
  1019. package/dist/features/forms/Slider.js +3 -3
  1020. package/dist/features/forms/Textarea.js +3 -3
  1021. package/dist/features/forms/Toggle.js +2 -2
  1022. package/dist/features/forms/index.js +8 -8
  1023. package/dist/features/grouped/components/GroupedListingDetailView.js +3 -3
  1024. package/dist/features/grouped/components/GroupedListingEditorView.js +12 -12
  1025. package/dist/features/grouped/components/GroupedListingsCarousel.js +7 -7
  1026. package/dist/features/grouped/repository/grouped-listings.repository.js +3 -3
  1027. package/dist/features/grouped/schemas/grouped-listing-form.js +1 -1
  1028. package/dist/features/grouped/schemas/index.d.ts +2 -2
  1029. package/dist/features/grouped/schemas/index.js +2 -2
  1030. package/dist/features/history/actions/history-actions.js +2 -2
  1031. package/dist/features/history/actions/index.js +1 -1
  1032. package/dist/features/history/components/HistoryTracker.js +2 -2
  1033. package/dist/features/history/hooks/useHistory.js +4 -4
  1034. package/dist/features/history/hooks/useHistoryMergeOnLogin.js +2 -2
  1035. package/dist/features/history/index.js +4 -4
  1036. package/dist/features/history/repository/user-history.repository.js +3 -3
  1037. package/dist/features/history/server.js +2 -2
  1038. package/dist/features/history/utils/guest-history.js +2 -2
  1039. package/dist/features/homepage/actions/carousel-actions.js +3 -3
  1040. package/dist/features/homepage/actions/homepage-section-actions.js +5 -5
  1041. package/dist/features/homepage/actions/index.js +2 -2
  1042. package/dist/features/homepage/api/[id]/route.js +3 -3
  1043. package/dist/features/homepage/api/carousel/[id]/route.js +4 -4
  1044. package/dist/features/homepage/api/carousel/route.js +4 -4
  1045. package/dist/features/homepage/api/route.js +4 -4
  1046. package/dist/features/homepage/api/sections/[id]/route.js +2 -2
  1047. package/dist/features/homepage/api/sections/route.js +2 -2
  1048. package/dist/features/homepage/components/AdSlot.js +5 -5
  1049. package/dist/features/homepage/components/AdvertisementBanner.js +4 -4
  1050. package/dist/features/homepage/components/AnnouncementBar.js +3 -3
  1051. package/dist/features/homepage/components/BeforeAfterCard.js +3 -3
  1052. package/dist/features/homepage/components/BlogArticlesSection.js +6 -6
  1053. package/dist/features/homepage/components/BrandsSection.js +8 -8
  1054. package/dist/features/homepage/components/CTABannerSection.js +5 -5
  1055. package/dist/features/homepage/components/CharacterHotspot.js +7 -7
  1056. package/dist/features/homepage/components/CharacterHotspotForm.js +7 -7
  1057. package/dist/features/homepage/components/CollectionCardsSection.js +2 -2
  1058. package/dist/features/homepage/components/CustomCardsSection.js +5 -5
  1059. package/dist/features/homepage/components/CustomerReviewsSection.js +4 -4
  1060. package/dist/features/homepage/components/EventsSection.js +4 -4
  1061. package/dist/features/homepage/components/FAQSection.js +3 -3
  1062. package/dist/features/homepage/components/FeaturedAuctionsSection.js +5 -5
  1063. package/dist/features/homepage/components/FeaturedBundlesSection.js +9 -9
  1064. package/dist/features/homepage/components/FeaturedPreOrdersSection.js +5 -5
  1065. package/dist/features/homepage/components/FeaturedProductsSection.js +6 -6
  1066. package/dist/features/homepage/components/FeaturedResultsSection.js +3 -3
  1067. package/dist/features/homepage/components/FeaturedStoresSection.js +5 -5
  1068. package/dist/features/homepage/components/GoogleReviewsSection.js +6 -6
  1069. package/dist/features/homepage/components/HeroBanner.js +4 -4
  1070. package/dist/features/homepage/components/HeroCarousel.js +7 -7
  1071. package/dist/features/homepage/components/HeroSection.js +1 -1
  1072. package/dist/features/homepage/components/HomepageCustomerReviewsSection.js +4 -4
  1073. package/dist/features/homepage/components/HomepageSectionBoundary.js +1 -1
  1074. package/dist/features/homepage/components/HomepageSkeleton.js +3 -3
  1075. package/dist/features/homepage/components/HomepageView.js +1 -1
  1076. package/dist/features/homepage/components/HowItWorksInfoView.js +3 -3
  1077. package/dist/features/homepage/components/HowItWorksSection.js +2 -2
  1078. package/dist/features/homepage/components/MarketplaceHomepageView.js +17 -17
  1079. package/dist/features/homepage/components/NewsletterBanner.js +7 -7
  1080. package/dist/features/homepage/components/NewsletterSection.js +1 -1
  1081. package/dist/features/homepage/components/PromoGrid.js +4 -4
  1082. package/dist/features/homepage/components/SectionCarousel.js +6 -6
  1083. package/dist/features/homepage/components/SecurityHighlightsSection.js +2 -2
  1084. package/dist/features/homepage/components/ShopByCategorySection.js +8 -8
  1085. package/dist/features/homepage/components/SiteFeaturesSection.js +2 -2
  1086. package/dist/features/homepage/components/SocialFeedSection.js +6 -6
  1087. package/dist/features/homepage/components/SocialPostCard.js +2 -2
  1088. package/dist/features/homepage/components/StatsCounterSection.js +1 -1
  1089. package/dist/features/homepage/components/TestimonialsCarousel.js +1 -1
  1090. package/dist/features/homepage/components/TrustBadges.js +1 -1
  1091. package/dist/features/homepage/components/TrustFeaturesSection.js +1 -1
  1092. package/dist/features/homepage/components/TrustIndicatorsSection.js +2 -2
  1093. package/dist/features/homepage/components/WelcomeSection.js +2 -2
  1094. package/dist/features/homepage/components/WhatsAppCommunitySection.js +3 -3
  1095. package/dist/features/homepage/components/index.js +39 -39
  1096. package/dist/features/homepage/constants/faq-category-labels.d.ts +0 -14
  1097. package/dist/features/homepage/constants/faq-category-labels.js +22 -14
  1098. package/dist/features/homepage/hooks/homepage-query.js +1 -1
  1099. package/dist/features/homepage/hooks/useActiveAd.js +2 -2
  1100. package/dist/features/homepage/hooks/useBlogArticles.js +2 -2
  1101. package/dist/features/homepage/hooks/useFeaturedAuctions.js +5 -5
  1102. package/dist/features/homepage/hooks/useFeaturedPreOrders.js +5 -5
  1103. package/dist/features/homepage/hooks/useFeaturedProducts.js +5 -5
  1104. package/dist/features/homepage/hooks/useFeaturedStores.js +2 -2
  1105. package/dist/features/homepage/hooks/useHeroCarousel.js +2 -2
  1106. package/dist/features/homepage/hooks/useHomepage.js +2 -2
  1107. package/dist/features/homepage/hooks/useHomepageEvents.js +2 -2
  1108. package/dist/features/homepage/hooks/useHomepageReviews.d.ts +1 -1
  1109. package/dist/features/homepage/hooks/useHomepageReviews.js +2 -2
  1110. package/dist/features/homepage/hooks/useHomepageSections.js +2 -2
  1111. package/dist/features/homepage/hooks/useNewsletter.js +2 -2
  1112. package/dist/features/homepage/hooks/useTopBrands.js +2 -2
  1113. package/dist/features/homepage/hooks/useTopCategories.js +2 -2
  1114. package/dist/features/homepage/index.js +17 -17
  1115. package/dist/features/homepage/lib/live-stats.js +5 -5
  1116. package/dist/features/homepage/lib/section-helpers.js +1 -1
  1117. package/dist/features/homepage/lib/section-renderer.js +32 -32
  1118. package/dist/features/homepage/repository/carousel.repository.js +6 -6
  1119. package/dist/features/homepage/repository/carousels.repository.js +6 -6
  1120. package/dist/features/homepage/repository/homepage-sections.repository.js +5 -5
  1121. package/dist/features/homepage/schemas/firestore.d.ts +26 -1
  1122. package/dist/features/homepage/schemas/firestore.js +1 -1
  1123. package/dist/features/homepage/schemas/index.js +2 -2
  1124. package/dist/features/homepage/server.js +9 -9
  1125. package/dist/features/jobs/actions/enqueue-job.js +6 -6
  1126. package/dist/features/jobs/repository/jobs.repository.js +2 -2
  1127. package/dist/features/layout/AppLayoutShell.js +18 -18
  1128. package/dist/features/layout/AutoBreadcrumbs.js +3 -3
  1129. package/dist/features/layout/BackToTop.js +4 -4
  1130. package/dist/features/layout/BottomActions.js +3 -3
  1131. package/dist/features/layout/BottomChrome.js +2 -2
  1132. package/dist/features/layout/BottomNavItem.js +1 -1
  1133. package/dist/features/layout/BottomNavLayout.js +2 -2
  1134. package/dist/features/layout/BottomNavbar.js +6 -6
  1135. package/dist/features/layout/BottomSheet.js +1 -1
  1136. package/dist/features/layout/Breadcrumbs.js +2 -2
  1137. package/dist/features/layout/FooterLayout.js +2 -2
  1138. package/dist/features/layout/LocaleSwitcher.js +1 -1
  1139. package/dist/features/layout/MainNavbar.d.ts +6 -0
  1140. package/dist/features/layout/MainNavbar.js +3 -2
  1141. package/dist/features/layout/NavItem.js +2 -2
  1142. package/dist/features/layout/NavbarLayout.d.ts +19 -0
  1143. package/dist/features/layout/NavbarLayout.js +24 -5
  1144. package/dist/features/layout/NavbarWithSettings.js +3 -3
  1145. package/dist/features/layout/PageTabs.js +2 -2
  1146. package/dist/features/layout/SidebarLayout.js +2 -2
  1147. package/dist/features/layout/TitleBar.js +6 -6
  1148. package/dist/features/layout/TitleBarLayout.js +2 -2
  1149. package/dist/features/layout/hooks/useBottomActions.js +1 -1
  1150. package/dist/features/layout/hooks/useFormBottomActions.js +4 -4
  1151. package/dist/features/layout/index.js +23 -23
  1152. package/dist/features/live/components/LiveItemDetailPageView.js +20 -20
  1153. package/dist/features/live/components/LiveItemFilters.js +4 -4
  1154. package/dist/features/live/components/index.js +1 -1
  1155. package/dist/features/lottery/repository/lottery-entry.repository.js +6 -6
  1156. package/dist/features/lottery/schemas/config-write.js +1 -1
  1157. package/dist/features/lottery/schemas/zod.d.ts +8 -8
  1158. package/dist/features/loyalty/api/admin/loyalty/grant/route.js +2 -2
  1159. package/dist/features/loyalty/api/balance/route.js +2 -2
  1160. package/dist/features/loyalty/api/earn/route.js +2 -2
  1161. package/dist/features/loyalty/api/history/route.js +2 -2
  1162. package/dist/features/loyalty/api/redeem/route.js +2 -2
  1163. package/dist/features/loyalty/columns/index.js +1 -1
  1164. package/dist/features/loyalty/components/CoinsDisplay.js +1 -1
  1165. package/dist/features/loyalty/components/index.js +1 -1
  1166. package/dist/features/loyalty/hooks/useLoyaltyBalance.js +3 -3
  1167. package/dist/features/loyalty/index.js +6 -6
  1168. package/dist/features/loyalty/server.js +1 -1
  1169. package/dist/features/loyalty/types/index.js +1 -1
  1170. package/dist/features/media/AvatarUpload.js +6 -6
  1171. package/dist/features/media/MediaAudio.js +2 -2
  1172. package/dist/features/media/MediaAvatar.js +2 -2
  1173. package/dist/features/media/MediaImage.js +4 -4
  1174. package/dist/features/media/MediaLightbox.js +2 -2
  1175. package/dist/features/media/MediaPickerModal.js +7 -7
  1176. package/dist/features/media/MediaVideo.js +3 -3
  1177. package/dist/features/media/finalize.js +3 -3
  1178. package/dist/features/media/hooks/useMedia.js +3 -3
  1179. package/dist/features/media/index.js +17 -17
  1180. package/dist/features/media/modals/ImageCropModal.js +2 -2
  1181. package/dist/features/media/modals/ImageEditor.d.ts +0 -1
  1182. package/dist/features/media/modals/ImageEditor.js +18 -3
  1183. package/dist/features/media/modals/VideoThumbnailSelector.js +3 -3
  1184. package/dist/features/media/modals/VideoTrimModal.js +5 -5
  1185. package/dist/features/media/repository/media-assets.repository.js +1 -1
  1186. package/dist/features/media/server.js +1 -1
  1187. package/dist/features/media/types/index.js +1 -1
  1188. package/dist/features/media/upload/CameraCapture.js +2 -2
  1189. package/dist/features/media/upload/ImageUpload.js +9 -9
  1190. package/dist/features/media/upload/MediaUploadField.js +11 -11
  1191. package/dist/features/media/upload/MediaUploadList.js +6 -6
  1192. package/dist/features/media/upload/video-poster.js +1 -1
  1193. package/dist/features/messaging/repository/message-budget.repository.js +2 -2
  1194. package/dist/features/orders/actions/index.js +2 -2
  1195. package/dist/features/orders/actions/order-actions.js +5 -5
  1196. package/dist/features/orders/actions/refund-actions.js +6 -6
  1197. package/dist/features/orders/api/track/[trackingId]/route.js +2 -2
  1198. package/dist/features/orders/columns/index.js +1 -1
  1199. package/dist/features/orders/components/MarketplaceOrderCard.js +4 -4
  1200. package/dist/features/orders/components/OrderAddonBadges.d.ts +4 -2
  1201. package/dist/features/orders/components/OrderAddonBadges.js +5 -4
  1202. package/dist/features/orders/components/OrderFilters.js +6 -6
  1203. package/dist/features/orders/components/OrderPaymentSummary.js +2 -2
  1204. package/dist/features/orders/components/OrderScopeTabs.js +4 -4
  1205. package/dist/features/orders/components/OrderSiblingPayments.js +5 -5
  1206. package/dist/features/orders/components/OrderStatusTimeline.js +2 -2
  1207. package/dist/features/orders/components/OrdersList.js +5 -5
  1208. package/dist/features/orders/components/RefundHistoryTable.js +3 -3
  1209. package/dist/features/orders/components/RefundRequestView.js +8 -8
  1210. package/dist/features/orders/components/index.js +9 -9
  1211. package/dist/features/orders/constants/order-scope.js +1 -1
  1212. package/dist/features/orders/hooks/useOrders.js +2 -2
  1213. package/dist/features/orders/index.js +9 -9
  1214. package/dist/features/orders/repository/orders.repository.d.ts +8 -0
  1215. package/dist/features/orders/repository/orders.repository.js +13 -11
  1216. package/dist/features/orders/schemas/buyer-forms.js +1 -1
  1217. package/dist/features/orders/schemas/firestore.d.ts +165 -1
  1218. package/dist/features/orders/schemas/firestore.js +1 -1
  1219. package/dist/features/orders/schemas/index.d.ts +6 -6
  1220. package/dist/features/orders/schemas/index.js +2 -2
  1221. package/dist/features/orders/server.js +3 -3
  1222. package/dist/features/orders/types/index.d.ts +58 -0
  1223. package/dist/features/orders/utils/order-splitter.js +2 -2
  1224. package/dist/features/payments/columns/index.js +1 -1
  1225. package/dist/features/payments/hooks/usePaymentEvent.js +2 -2
  1226. package/dist/features/payments/hooks/usePayments.js +2 -2
  1227. package/dist/features/payments/index.js +6 -6
  1228. package/dist/features/payments/repository/payout.repository.js +4 -4
  1229. package/dist/features/payments/repository/saved-payment-methods.repository.js +6 -6
  1230. package/dist/features/payments/schemas/firestore.js +1 -1
  1231. package/dist/features/payments/schemas/index.d.ts +6 -6
  1232. package/dist/features/payments/schemas/index.js +3 -3
  1233. package/dist/features/payments/server.js +4 -4
  1234. package/dist/features/pre-orders/api/[id]/route.js +2 -2
  1235. package/dist/features/pre-orders/api/[slug]/route.js +2 -2
  1236. package/dist/features/pre-orders/api/admin/[id]/route.js +2 -2
  1237. package/dist/features/pre-orders/api/admin/route.js +2 -2
  1238. package/dist/features/pre-orders/api/route.js +3 -3
  1239. package/dist/features/pre-orders/columns/index.js +1 -1
  1240. package/dist/features/pre-orders/components/MarketplacePreorderCard.d.ts +1 -1
  1241. package/dist/features/pre-orders/components/MarketplacePreorderCard.js +14 -14
  1242. package/dist/features/pre-orders/components/PreOrderActionsClient.js +4 -4
  1243. package/dist/features/pre-orders/components/PreOrderBadge.js +1 -1
  1244. package/dist/features/pre-orders/components/PreOrderBottomActions.js +1 -1
  1245. package/dist/features/pre-orders/components/PreOrderDetailPageView.js +26 -26
  1246. package/dist/features/pre-orders/components/PreOrderFilters.js +4 -4
  1247. package/dist/features/pre-orders/components/PreOrdersIndexListing.js +23 -23
  1248. package/dist/features/pre-orders/components/PreOrdersListView.js +4 -4
  1249. package/dist/features/pre-orders/components/PreorderCard.js +2 -2
  1250. package/dist/features/pre-orders/components/index.js +6 -6
  1251. package/dist/features/pre-orders/hooks/usePreOrders.js +2 -2
  1252. package/dist/features/pre-orders/index.js +6 -6
  1253. package/dist/features/pre-orders/schemas/index.js +1 -1
  1254. package/dist/features/pre-orders/server.js +1 -1
  1255. package/dist/features/price-index/components/PriceIndexToolView.d.ts +87 -0
  1256. package/dist/features/price-index/components/PriceIndexToolView.js +140 -0
  1257. package/dist/features/products/actions/index.js +1 -1
  1258. package/dist/features/products/actions/product-actions.js +6 -6
  1259. package/dist/features/products/api/[id]/route.js +8 -8
  1260. package/dist/features/products/api/route.js +7 -7
  1261. package/dist/features/products/columns/index.d.ts +0 -1
  1262. package/dist/features/products/columns/index.js +7 -3
  1263. package/dist/features/products/columns/productTableColumns.js +3 -3
  1264. package/dist/features/products/components/ArtStickersListView.js +7 -7
  1265. package/dist/features/products/components/AuctionDetailView.js +1 -1
  1266. package/dist/features/products/components/AuctionsIndexListing.js +20 -20
  1267. package/dist/features/products/components/AvailabilityTabs.js +5 -5
  1268. package/dist/features/products/components/BidHistory.js +3 -3
  1269. package/dist/features/products/components/CardStoreLine.js +2 -2
  1270. package/dist/features/products/components/CompareOverlay.js +9 -9
  1271. package/dist/features/products/components/CustomFieldsEditor.js +2 -2
  1272. package/dist/features/products/components/CustomSectionTabContent.js +2 -2
  1273. package/dist/features/products/components/CustomSectionsEditor.js +3 -3
  1274. package/dist/features/products/components/FeatureBadge.js +2 -2
  1275. package/dist/features/products/components/GroupMemberPicker.js +9 -9
  1276. package/dist/features/products/components/GroupSettingsPanel.js +12 -12
  1277. package/dist/features/products/components/InteractiveProductCard.js +2 -2
  1278. package/dist/features/products/components/ListingBottomActions.js +4 -4
  1279. package/dist/features/products/components/MakeOfferButton.js +13 -13
  1280. package/dist/features/products/components/MarketplaceBundleCard.js +9 -9
  1281. package/dist/features/products/components/MarketplacePrizeDrawCard.js +9 -9
  1282. package/dist/features/products/components/NonRefundableConsentModal.js +1 -1
  1283. package/dist/features/products/components/PreOrderDetailView.js +1 -1
  1284. package/dist/features/products/components/PrizeDrawBottomActions.js +1 -1
  1285. package/dist/features/products/components/PrizeDrawCollage.js +4 -4
  1286. package/dist/features/products/components/PrizeDrawDetailPageView.js +18 -18
  1287. package/dist/features/products/components/PrizeDrawEntryActions.js +8 -8
  1288. package/dist/features/products/components/PrizeDrawItemsEditor.js +2 -2
  1289. package/dist/features/products/components/PrizeDrawWinnerMappingView.js +3 -3
  1290. package/dist/features/products/components/PrizeDrawsIndexListing.js +14 -14
  1291. package/dist/features/products/components/PrizeDrawsListingView.js +6 -6
  1292. package/dist/features/products/components/PrizeDrawsSection.js +6 -6
  1293. package/dist/features/products/components/PrizeRevealModal.js +3 -3
  1294. package/dist/features/products/components/ProductCardMetadataSection.js +1 -1
  1295. package/dist/features/products/components/ProductDetailActions.js +14 -14
  1296. package/dist/features/products/components/ProductDetailPageView.js +28 -28
  1297. package/dist/features/products/components/ProductDetailView.js +1 -1
  1298. package/dist/features/products/components/ProductFeatureBadges.js +1 -1
  1299. package/dist/features/products/components/ProductFeaturesSelector.js +5 -5
  1300. package/dist/features/products/components/ProductFilters.d.ts +0 -9
  1301. package/dist/features/products/components/ProductFilters.js +8 -8
  1302. package/dist/features/products/components/ProductForm.d.ts +27 -1
  1303. package/dist/features/products/components/ProductForm.js +41 -27
  1304. package/dist/features/products/components/ProductGalleryClient.js +3 -3
  1305. package/dist/features/products/components/ProductGradingTab.js +3 -3
  1306. package/dist/features/products/components/ProductGrid.js +16 -16
  1307. package/dist/features/products/components/ProductTabs.js +1 -1
  1308. package/dist/features/products/components/ProductTabsShell.js +2 -2
  1309. package/dist/features/products/components/ProductsIndexListing.js +33 -33
  1310. package/dist/features/products/components/ProductsIndexPageView.js +12 -12
  1311. package/dist/features/products/components/ProductsView.js +1 -1
  1312. package/dist/features/products/components/RelatedItemsSection.js +2 -2
  1313. package/dist/features/products/components/RelatedProducts.js +1 -1
  1314. package/dist/features/products/components/RelatedProductsCarousel.js +4 -4
  1315. package/dist/features/products/components/ShareButton.js +2 -2
  1316. package/dist/features/products/components/ShowGroupSection.js +8 -8
  1317. package/dist/features/products/components/SublistingCarouselSection.js +8 -8
  1318. package/dist/features/products/components/SublistingCategorySelect.js +2 -2
  1319. package/dist/features/products/components/index.js +42 -42
  1320. package/dist/features/products/config/listing-type-listing-config.js +7 -7
  1321. package/dist/features/products/constants/action-defs.js +1 -1
  1322. package/dist/features/products/constants/listing-tabs.js +2 -2
  1323. package/dist/features/products/constants/sieve.d.ts +0 -6
  1324. package/dist/features/products/constants/sieve.js +37 -4
  1325. package/dist/features/products/hooks/useAvailabilityScope.js +4 -4
  1326. package/dist/features/products/hooks/useBrands.d.ts +1 -1
  1327. package/dist/features/products/hooks/useBrands.js +2 -2
  1328. package/dist/features/products/hooks/useProductDetail.js +2 -2
  1329. package/dist/features/products/hooks/useProducts.js +5 -5
  1330. package/dist/features/products/hooks/useRelatedProducts.js +4 -4
  1331. package/dist/features/products/index.js +14 -14
  1332. package/dist/features/products/repository/loadProductFeatures.js +2 -2
  1333. package/dist/features/products/repository/product-features.repository.js +7 -7
  1334. package/dist/features/products/repository/product-templates.repository.js +3 -3
  1335. package/dist/features/products/repository/products.repository.d.ts +140 -1
  1336. package/dist/features/products/repository/products.repository.js +616 -52
  1337. package/dist/features/products/schemas/firestore.d.ts +91 -6
  1338. package/dist/features/products/schemas/firestore.js +27 -1
  1339. package/dist/features/products/schemas/index.d.ts +2 -2
  1340. package/dist/features/products/schemas/index.js +3 -3
  1341. package/dist/features/products/schemas/product-features.d.ts +140 -2
  1342. package/dist/features/products/schemas/product-features.js +62 -1
  1343. package/dist/features/products/schemas/product-features.validators.js +1 -1
  1344. package/dist/features/products/server.js +4 -4
  1345. package/dist/features/products/utils/listing-badge-variant.js +1 -1
  1346. package/dist/features/products/utils/listing-type.js +1 -1
  1347. package/dist/features/promotions/actions/coupon-actions.js +2 -2
  1348. package/dist/features/promotions/actions/index.js +4 -4
  1349. package/dist/features/promotions/actions/promotions-actions.js +3 -3
  1350. package/dist/features/promotions/actions/seller-coupon-actions.js +5 -5
  1351. package/dist/features/promotions/api/route.js +2 -2
  1352. package/dist/features/promotions/columns/index.js +1 -1
  1353. package/dist/features/promotions/components/CouponCard.js +4 -4
  1354. package/dist/features/promotions/components/CouponHelpDetails.js +2 -2
  1355. package/dist/features/promotions/components/CouponsIndexListing.js +8 -8
  1356. package/dist/features/promotions/components/PromotionsView.js +1 -1
  1357. package/dist/features/promotions/components/index.js +4 -4
  1358. package/dist/features/promotions/hooks/useCouponValidate.js +2 -2
  1359. package/dist/features/promotions/hooks/usePromotions.js +2 -2
  1360. package/dist/features/promotions/index.js +7 -7
  1361. package/dist/features/promotions/repository/claimed-coupons.repository.js +5 -5
  1362. package/dist/features/promotions/repository/coupons.repository.js +15 -10
  1363. package/dist/features/promotions/schemas/firestore.d.ts +44 -1
  1364. package/dist/features/promotions/schemas/firestore.js +77 -3
  1365. package/dist/features/promotions/schemas/index.d.ts +24 -24
  1366. package/dist/features/promotions/schemas/index.js +2 -2
  1367. package/dist/features/promotions/server.js +3 -3
  1368. package/dist/features/reviews/actions/index.js +1 -1
  1369. package/dist/features/reviews/actions/review-actions.js +9 -9
  1370. package/dist/features/reviews/api/[id]/route.js +5 -5
  1371. package/dist/features/reviews/columns/index.js +1 -1
  1372. package/dist/features/reviews/components/ReviewDetailPageView.js +7 -7
  1373. package/dist/features/reviews/components/ReviewDetailShell.js +11 -11
  1374. package/dist/features/reviews/components/ReviewFilters.js +7 -7
  1375. package/dist/features/reviews/components/ReviewModal.js +7 -7
  1376. package/dist/features/reviews/components/ReviewSummary.js +3 -3
  1377. package/dist/features/reviews/components/ReviewsIndexListing.js +1 -1
  1378. package/dist/features/reviews/components/ReviewsIndexPageView.js +5 -5
  1379. package/dist/features/reviews/components/ReviewsList.js +9 -9
  1380. package/dist/features/reviews/components/ReviewsListingPanel.js +10 -10
  1381. package/dist/features/reviews/components/index.js +6 -6
  1382. package/dist/features/reviews/hooks/useCreateReview.js +3 -3
  1383. package/dist/features/reviews/hooks/useReviews.js +2 -2
  1384. package/dist/features/reviews/index.js +7 -7
  1385. package/dist/features/reviews/repository/reviews.repository.js +7 -7
  1386. package/dist/features/reviews/schemas/firestore.js +1 -1
  1387. package/dist/features/reviews/schemas/index.js +2 -2
  1388. package/dist/features/reviews/server.js +3 -3
  1389. package/dist/features/scams/actions/scam-actions.js +5 -5
  1390. package/dist/features/scams/components/ScamAwarenessModal.js +5 -5
  1391. package/dist/features/scams/components/ScamProfileView.js +8 -8
  1392. package/dist/features/scams/components/ScamRegistryView.js +7 -7
  1393. package/dist/features/scams/components/SellerTrustBadge.js +3 -3
  1394. package/dist/features/scams/components/index.js +4 -4
  1395. package/dist/features/scams/constants/scammer-status-display.js +1 -1
  1396. package/dist/features/scams/repository/scammer.repository.js +10 -10
  1397. package/dist/features/scams/schemas/index.d.ts +10 -10
  1398. package/dist/features/scams/schemas/index.js +2 -2
  1399. package/dist/features/scams/schemas/report-form.js +1 -1
  1400. package/dist/features/search/action-index/repository.js +2 -2
  1401. package/dist/features/search/actions/index.js +1 -1
  1402. package/dist/features/search/actions/search-actions.js +2 -2
  1403. package/dist/features/search/api/route.js +5 -5
  1404. package/dist/features/search/columns/index.js +1 -1
  1405. package/dist/features/search/components/Search.js +2 -2
  1406. package/dist/features/search/components/SearchFiltersRow.js +1 -1
  1407. package/dist/features/search/components/SearchResultsSection.js +1 -1
  1408. package/dist/features/search/components/SearchView.js +1 -1
  1409. package/dist/features/search/components/index.js +4 -4
  1410. package/dist/features/search/hooks/useNavSuggestions.js +2 -2
  1411. package/dist/features/search/hooks/useSearch.js +2 -2
  1412. package/dist/features/search/index.js +7 -7
  1413. package/dist/features/search/repository/search.repository.js +2 -2
  1414. package/dist/features/search/server.js +4 -4
  1415. package/dist/features/seller/actions/index.js +2 -2
  1416. package/dist/features/seller/actions/offer-actions.js +14 -14
  1417. package/dist/features/seller/actions/seller-actions.js +38 -23
  1418. package/dist/features/seller/api/coupons/route.js +2 -2
  1419. package/dist/features/seller/api/products/route.js +3 -3
  1420. package/dist/features/seller/api/store/route.js +2 -2
  1421. package/dist/features/seller/columns/index.js +1 -1
  1422. package/dist/features/seller/components/BarcodeField.js +3 -3
  1423. package/dist/features/seller/components/BrandInlineSelect.js +4 -4
  1424. package/dist/features/seller/components/BulkStockModal.d.ts +16 -0
  1425. package/dist/features/seller/components/BulkStockModal.js +46 -0
  1426. package/dist/features/seller/components/CategoryChipPicker.js +2 -2
  1427. package/dist/features/seller/components/CategoryInlineSelect.js +4 -4
  1428. package/dist/features/seller/components/CouponInlineSelect.js +3 -3
  1429. package/dist/features/seller/components/FulfillmentView.js +9 -9
  1430. package/dist/features/seller/components/GroupInlineSelect.js +4 -4
  1431. package/dist/features/seller/components/OfferPhaseTimeline.js +1 -1
  1432. package/dist/features/seller/components/PhysicalLocationModal.js +22 -7
  1433. package/dist/features/seller/components/PrintCenterView.d.ts +3 -2
  1434. package/dist/features/seller/components/PrintCenterView.js +8 -7
  1435. package/dist/features/seller/components/ProductInlineSelect.js +3 -3
  1436. package/dist/features/seller/components/QuickProductForm.js +2 -2
  1437. package/dist/features/seller/components/SellerAddressesView.js +9 -9
  1438. package/dist/features/seller/components/SellerAnalyticsAlertsView.js +31 -21
  1439. package/dist/features/seller/components/SellerAnalyticsView.js +1 -1
  1440. package/dist/features/seller/components/SellerArtView.js +1 -1
  1441. package/dist/features/seller/components/SellerBidsView.js +14 -14
  1442. package/dist/features/seller/components/SellerBundlesView.js +7 -7
  1443. package/dist/features/seller/components/SellerClassifiedView.js +1 -1
  1444. package/dist/features/seller/components/SellerCouponEditorView.js +10 -10
  1445. package/dist/features/seller/components/SellerCouponsView.js +7 -7
  1446. package/dist/features/seller/components/SellerCreateProductView.js +1 -1
  1447. package/dist/features/seller/components/SellerDashboardView.js +1 -1
  1448. package/dist/features/seller/components/SellerDigitalCodesView.js +1 -1
  1449. package/dist/features/seller/components/SellerEditProductView.js +1 -1
  1450. package/dist/features/seller/components/SellerFeaturesView.js +8 -8
  1451. package/dist/features/seller/components/SellerGoogleReviewsView.js +8 -8
  1452. package/dist/features/seller/components/SellerGroupedListingsView.js +6 -6
  1453. package/dist/features/seller/components/SellerGuideView.js +1 -1
  1454. package/dist/features/seller/components/SellerListingTypeView.js +13 -13
  1455. package/dist/features/seller/components/SellerLiveView.js +1 -1
  1456. package/dist/features/seller/components/SellerOffersView.js +9 -9
  1457. package/dist/features/seller/components/SellerOrdersView.js +28 -23
  1458. package/dist/features/seller/components/SellerPayoutHistoryTable.js +1 -1
  1459. package/dist/features/seller/components/SellerPayoutMethodsView.js +7 -7
  1460. package/dist/features/seller/components/SellerPayoutRequestView.js +3 -3
  1461. package/dist/features/seller/components/SellerPayoutSettingsView.js +46 -8
  1462. package/dist/features/seller/components/SellerPayoutStats.js +1 -1
  1463. package/dist/features/seller/components/SellerPayoutsView.js +11 -11
  1464. package/dist/features/seller/components/SellerProductShell.d.ts +50 -2
  1465. package/dist/features/seller/components/SellerProductShell.js +114 -22
  1466. package/dist/features/seller/components/SellerProductsCards.js +5 -5
  1467. package/dist/features/seller/components/SellerProductsFilterDrawer.d.ts +13 -1
  1468. package/dist/features/seller/components/SellerProductsFilterDrawer.js +6 -6
  1469. package/dist/features/seller/components/SellerProductsView.js +212 -33
  1470. package/dist/features/seller/components/SellerReviewsView.js +12 -12
  1471. package/dist/features/seller/components/SellerShippingConfigsView.js +9 -9
  1472. package/dist/features/seller/components/SellerShippingView.js +7 -7
  1473. package/dist/features/seller/components/SellerSidebar.js +9 -9
  1474. package/dist/features/seller/components/SellerStickersView.js +1 -1
  1475. package/dist/features/seller/components/SellerStoreCategoriesView.js +10 -10
  1476. package/dist/features/seller/components/SellerStoreSetupView.js +1 -1
  1477. package/dist/features/seller/components/SellerStoreView.js +1 -1
  1478. package/dist/features/seller/components/SellerStorefrontView.js +5 -5
  1479. package/dist/features/seller/components/SellerSupportView.js +6 -6
  1480. package/dist/features/seller/components/SellersListView.js +1 -1
  1481. package/dist/features/seller/components/SublistingInlineSelect.js +3 -3
  1482. package/dist/features/seller/components/analytics/SellerAnalyticsStats.js +2 -2
  1483. package/dist/features/seller/components/analytics/SellerRevenueChart.js +2 -2
  1484. package/dist/features/seller/components/analytics/SellerTopProducts.js +1 -1
  1485. package/dist/features/seller/components/analytics/index.js +3 -3
  1486. package/dist/features/seller/components/index.js +67 -67
  1487. package/dist/features/seller/hooks/useBecomeSeller.js +3 -3
  1488. package/dist/features/seller/hooks/useSellerListingData.js +1 -1
  1489. package/dist/features/seller/hooks/useSellerPayouts.js +2 -2
  1490. package/dist/features/seller/hooks/useSellerStore.js +2 -2
  1491. package/dist/features/seller/hooks/useSellerStorefront.js +2 -2
  1492. package/dist/features/seller/index.js +11 -11
  1493. package/dist/features/seller/repository/offer.repository.js +6 -6
  1494. package/dist/features/seller/schemas/coupon-form.d.ts +20 -20
  1495. package/dist/features/seller/schemas/coupon-form.js +1 -1
  1496. package/dist/features/seller/schemas/firestore.js +1 -1
  1497. package/dist/features/seller/schemas/index.js +1 -1
  1498. package/dist/features/seller/schemas/order-forms.js +2 -2
  1499. package/dist/features/seller/schemas/product-form.js +1 -1
  1500. package/dist/features/seller/schemas/review-forms.js +1 -1
  1501. package/dist/features/seller/server.js +5 -5
  1502. package/dist/features/seller/types/index.d.ts +17 -0
  1503. package/dist/features/seller/utils/product-draft-mapping.d.ts +13 -0
  1504. package/dist/features/seller/utils/product-draft-mapping.js +17 -0
  1505. package/dist/features/server-errors/repository/server-errors.repository.js +4 -4
  1506. package/dist/features/server-errors/schemas/index.js +1 -1
  1507. package/dist/features/shell/CommandPalette.js +2 -2
  1508. package/dist/features/shell/FormShell.js +5 -5
  1509. package/dist/features/shell/QuickFormDrawer.js +7 -7
  1510. package/dist/features/shell/SectionForm.js +9 -9
  1511. package/dist/features/shell/build-sections.js +11 -11
  1512. package/dist/features/shell/field-groups/ImageFieldGroup.js +1 -1
  1513. package/dist/features/shell/field-groups/SeoFieldGroup.js +3 -3
  1514. package/dist/features/shell/field-groups/StatusFieldGroup.js +2 -2
  1515. package/dist/features/shell/field-groups/TitleDescriptionGroup.js +3 -3
  1516. package/dist/features/shell/field-groups/index.js +4 -4
  1517. package/dist/features/shell/index.js +8 -8
  1518. package/dist/features/shipments/components/AdminShipmentEditorView.js +13 -13
  1519. package/dist/features/shipments/components/AdminShipmentLotItemsView.js +12 -12
  1520. package/dist/features/shipments/components/AdminShipmentProjectionsView.js +5 -5
  1521. package/dist/features/shipments/components/AdminShipmentsView.js +7 -7
  1522. package/dist/features/shipments/components/ShipmentItemLinkModal.js +4 -4
  1523. package/dist/features/shipments/hooks/useShipments.js +2 -2
  1524. package/dist/features/shipments/index.js +7 -7
  1525. package/dist/features/shipments/repository/shipment-items.repository.js +4 -4
  1526. package/dist/features/shipments/repository/shipment-lots.repository.js +2 -2
  1527. package/dist/features/shipments/repository/shipments.repository.js +4 -4
  1528. package/dist/features/shipments/schemas/firestore.js +1 -1
  1529. package/dist/features/shipments/schemas/index.js +2 -2
  1530. package/dist/features/shipments/schemas/validation.d.ts +4 -4
  1531. package/dist/features/shipments/schemas/validation.js +3 -3
  1532. package/dist/features/shipments/utils/cost-allocation.js +1 -1
  1533. package/dist/features/site-settings/components/ActionPermissionsManager.js +4 -4
  1534. package/dist/features/site-settings/components/NavPermissionsManager.js +3 -3
  1535. package/dist/features/site-settings/components/ThemeManagerView.js +2 -2
  1536. package/dist/features/status-history/components/RecordStatusTimeline.js +1 -1
  1537. package/dist/features/status-history/components/StatusTimeline.js +1 -1
  1538. package/dist/features/status-history/index.js +2 -2
  1539. package/dist/features/store-extensions/components/ReviewDecisionModal.js +10 -10
  1540. package/dist/features/store-extensions/constants/alert-metrics.d.ts +86 -0
  1541. package/dist/features/store-extensions/constants/alert-metrics.js +142 -0
  1542. package/dist/features/store-extensions/index.js +16 -16
  1543. package/dist/features/store-extensions/repository/rbac.repositories.js +2 -2
  1544. package/dist/features/store-extensions/repository/store-extensions.repositories.js +3 -3
  1545. package/dist/features/store-extensions/schemas/admin-notification-form.js +1 -1
  1546. package/dist/features/store-extensions/schemas/analytics-forms.js +2 -2
  1547. package/dist/features/store-extensions/schemas/custom-role-form.js +2 -2
  1548. package/dist/features/store-extensions/schemas/firestore.d.ts +19 -1
  1549. package/dist/features/store-extensions/schemas/google-config-form.d.ts +6 -6
  1550. package/dist/features/store-extensions/schemas/google-config-form.js +1 -1
  1551. package/dist/features/store-extensions/schemas/item-request-create-form.js +1 -1
  1552. package/dist/features/store-extensions/schemas/listing-template-form.js +3 -3
  1553. package/dist/features/store-extensions/schemas/moderation-review-form.js +1 -1
  1554. package/dist/features/store-extensions/schemas/payout-method-form.js +1 -1
  1555. package/dist/features/store-extensions/schemas/report-create-form.js +2 -2
  1556. package/dist/features/store-extensions/schemas/report-review-form.js +1 -1
  1557. package/dist/features/store-extensions/schemas/shipping-config-form.d.ts +10 -10
  1558. package/dist/features/store-extensions/schemas/shipping-config-form.js +1 -1
  1559. package/dist/features/store-extensions/schemas/store-category-form.js +1 -1
  1560. package/dist/features/store-extensions/schemas/sublisting-category-form.js +1 -1
  1561. package/dist/features/stores/actions/index.js +2 -2
  1562. package/dist/features/stores/actions/store-address-actions.js +4 -4
  1563. package/dist/features/stores/actions/store-query-actions.js +9 -9
  1564. package/dist/features/stores/api/[storeSlug]/auctions/route.js +5 -5
  1565. package/dist/features/stores/api/[storeSlug]/products/route.js +5 -5
  1566. package/dist/features/stores/api/[storeSlug]/reviews/route.js +4 -4
  1567. package/dist/features/stores/api/[storeSlug]/route.js +3 -3
  1568. package/dist/features/stores/columns/index.js +1 -1
  1569. package/dist/features/stores/components/InteractiveStoreCard.js +5 -5
  1570. package/dist/features/stores/components/StoreAboutView.js +3 -3
  1571. package/dist/features/stores/components/StoreAddressSelectorCreate.js +2 -2
  1572. package/dist/features/stores/components/StoreArtStickersPageView.js +6 -6
  1573. package/dist/features/stores/components/StoreAuctionsListing.js +15 -15
  1574. package/dist/features/stores/components/StoreAuctionsPageView.js +5 -5
  1575. package/dist/features/stores/components/StoreAuctionsView.js +1 -1
  1576. package/dist/features/stores/components/StoreBundlesPageView.js +5 -5
  1577. package/dist/features/stores/components/StoreCapabilitiesGuideView.js +2 -2
  1578. package/dist/features/stores/components/StoreClassifiedsListing.js +12 -12
  1579. package/dist/features/stores/components/StoreClassifiedsPageView.js +5 -5
  1580. package/dist/features/stores/components/StoreDetailLayoutView.js +12 -12
  1581. package/dist/features/stores/components/StoreDigitalCodesListing.js +12 -12
  1582. package/dist/features/stores/components/StoreDigitalCodesPageView.js +5 -5
  1583. package/dist/features/stores/components/StoreFilters.js +4 -4
  1584. package/dist/features/stores/components/StoreFinanceGuideView.js +2 -2
  1585. package/dist/features/stores/components/StoreGuideHubView.js +2 -2
  1586. package/dist/features/stores/components/StoreHeader.js +6 -6
  1587. package/dist/features/stores/components/StoreListingsGuideView.js +2 -2
  1588. package/dist/features/stores/components/StoreLiveItemsListing.js +12 -12
  1589. package/dist/features/stores/components/StoreLiveItemsPageView.js +5 -5
  1590. package/dist/features/stores/components/StoreNavTabs.js +2 -2
  1591. package/dist/features/stores/components/StoreOrdersGuideView.js +2 -2
  1592. package/dist/features/stores/components/StorePreOrdersListing.js +11 -11
  1593. package/dist/features/stores/components/StorePreOrdersPageView.js +5 -5
  1594. package/dist/features/stores/components/StorePrizeDrawsPageView.js +5 -5
  1595. package/dist/features/stores/components/StoreProductsListing.js +15 -15
  1596. package/dist/features/stores/components/StoreProductsPageView.js +5 -5
  1597. package/dist/features/stores/components/StoreProductsView.js +1 -1
  1598. package/dist/features/stores/components/StoreReviewsListing.js +1 -1
  1599. package/dist/features/stores/components/StoreReviewsPageView.js +1 -1
  1600. package/dist/features/stores/components/StoreReviewsView.js +1 -1
  1601. package/dist/features/stores/components/StoreScopedSearch.js +3 -3
  1602. package/dist/features/stores/components/StoreSettingsGuideView.js +2 -2
  1603. package/dist/features/stores/components/StoreWhatsAppGuideView.js +2 -2
  1604. package/dist/features/stores/components/StoresIndexListing.js +12 -12
  1605. package/dist/features/stores/components/StoresIndexPageView.js +7 -7
  1606. package/dist/features/stores/components/index.js +23 -23
  1607. package/dist/features/stores/hooks/useStoreAddressSelector.js +2 -2
  1608. package/dist/features/stores/hooks/useStores.js +2 -2
  1609. package/dist/features/stores/index.js +7 -7
  1610. package/dist/features/stores/repository/store.repository.js +9 -9
  1611. package/dist/features/stores/schemas/firestore.d.ts +117 -2
  1612. package/dist/features/stores/schemas/firestore.js +2 -2
  1613. package/dist/features/stores/schemas/index.d.ts +30 -30
  1614. package/dist/features/stores/schemas/index.js +3 -3
  1615. package/dist/features/stores/server.js +6 -6
  1616. package/dist/features/stores/types/index.d.ts +10 -0
  1617. package/dist/features/support/repository/support.repository.js +11 -11
  1618. package/dist/features/support/schemas/index.d.ts +2 -2
  1619. package/dist/features/support/schemas/index.js +2 -2
  1620. package/dist/features/support/schemas/ticket-create-form.js +2 -2
  1621. package/dist/features/tax-codes/repository/tax-codes.repository.d.ts +55 -0
  1622. package/dist/features/tax-codes/repository/tax-codes.repository.js +131 -0
  1623. package/dist/features/tax-codes/schemas/firestore.d.ts +125 -0
  1624. package/dist/features/tax-codes/schemas/firestore.js +82 -0
  1625. package/dist/features/tax-codes/schemas/tax-code-form.d.ts +63 -0
  1626. package/dist/features/tax-codes/schemas/tax-code-form.js +152 -0
  1627. package/dist/features/tax-codes/schemas/tax-codes.validators.d.ts +107 -0
  1628. package/dist/features/tax-codes/schemas/tax-codes.validators.js +85 -0
  1629. package/dist/features/tester/actions/checklist-item-actions.d.ts +8 -8
  1630. package/dist/features/tester/actions/checklist-item-actions.js +2 -2
  1631. package/dist/features/tester/actions/index.d.ts +0 -1
  1632. package/dist/features/tester/actions/index.js +1 -2
  1633. package/dist/features/tester/components/AdminTesterFeedbackIssuesView.js +6 -6
  1634. package/dist/features/tester/components/AdminTesterFeedbackListView.js +10 -10
  1635. package/dist/features/tester/components/AdminTesterFeedbackReportView.js +4 -4
  1636. package/dist/features/tester/components/AdminTesterFeedbackView.js +8 -8
  1637. package/dist/features/tester/components/TesterChecklistStepRow.js +4 -4
  1638. package/dist/features/tester/components/TesterFeedbackChart.js +2 -2
  1639. package/dist/features/tester/components/index.d.ts +0 -4
  1640. package/dist/features/tester/components/index.js +6 -8
  1641. package/dist/features/tester/index.js +2 -2
  1642. package/dist/features/tester/repository/index.js +2 -2
  1643. package/dist/features/tester/repository/tester-checklist-item.repository.d.ts +1 -20
  1644. package/dist/features/tester/repository/tester-checklist-item.repository.js +4 -56
  1645. package/dist/features/tester/repository/tester-checklist-response.repository.js +3 -3
  1646. package/dist/features/tester/schemas/checklist-item-form.d.ts +4 -4
  1647. package/dist/features/tester/schemas/checklist-item-form.js +1 -1
  1648. package/dist/features/tester/schemas/firestore.d.ts +0 -6
  1649. package/dist/features/tester/schemas/firestore.js +1 -1
  1650. package/dist/features/tester/schemas/index.js +1 -1
  1651. package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.js +3 -3
  1652. package/dist/features/tester/seed-data/authored/admin__site-system.js +4 -5
  1653. package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.js +2 -2
  1654. package/dist/features/tester/seed-data/authored/index.js +118 -120
  1655. package/dist/features/tester/seed-data/authored/page-wiring__reachability.js +0 -19
  1656. package/dist/features/tester/seed-data/authored/selling__product-upload-details.js +1 -1
  1657. package/dist/features/tester/seed-data/index.js +2 -2
  1658. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +12 -31
  1659. package/dist/features/tester/server.js +3 -3
  1660. package/dist/features/whatsapp-bot/api/send-status/route.js +2 -2
  1661. package/dist/features/whatsapp-bot/api/webhook/route.js +2 -2
  1662. package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +12 -12
  1663. package/dist/features/whatsapp-bot/components/WhatsAppChatButton.js +1 -1
  1664. package/dist/features/whatsapp-bot/components/index.js +2 -2
  1665. package/dist/features/whatsapp-bot/helpers/whatsapp.js +3 -3
  1666. package/dist/features/whatsapp-bot/index.js +3 -3
  1667. package/dist/features/whatsapp-bot/server.js +2 -2
  1668. package/dist/features/wishlist/actions/index.js +1 -1
  1669. package/dist/features/wishlist/actions/wishlist-actions.js +4 -4
  1670. package/dist/features/wishlist/columns/index.js +1 -1
  1671. package/dist/features/wishlist/components/WishlistCapWatcher.js +2 -2
  1672. package/dist/features/wishlist/components/WishlistHeartButton.js +2 -2
  1673. package/dist/features/wishlist/components/WishlistPage.js +3 -3
  1674. package/dist/features/wishlist/components/WishlistView.js +3 -3
  1675. package/dist/features/wishlist/components/index.js +4 -4
  1676. package/dist/features/wishlist/hooks/useGuestWishlist.js +1 -1
  1677. package/dist/features/wishlist/hooks/useUserWishlist.js +2 -2
  1678. package/dist/features/wishlist/hooks/useWishlist.js +2 -2
  1679. package/dist/features/wishlist/hooks/useWishlistCount.js +8 -8
  1680. package/dist/features/wishlist/hooks/useWishlistToggle.js +3 -3
  1681. package/dist/features/wishlist/hooks/useWishlistWithGuest.js +2 -2
  1682. package/dist/features/wishlist/index.js +12 -12
  1683. package/dist/features/wishlist/repository/user-wishlist.repository.js +4 -4
  1684. package/dist/features/wishlist/server.js +2 -2
  1685. package/dist/features/wishlist/utils/guest-wishlist.js +1 -1
  1686. package/dist/hand-mode/index.js +1 -1
  1687. package/dist/http/api-handler.js +8 -8
  1688. package/dist/http/index.js +2 -2
  1689. package/dist/http/retry.js +1 -1
  1690. package/dist/index.d.ts +41 -10
  1691. package/dist/index.js +2047 -1964
  1692. package/dist/monitoring/browser.js +5 -5
  1693. package/dist/monitoring/cache-metrics.js +1 -1
  1694. package/dist/monitoring/client-logger.js +3 -3
  1695. package/dist/monitoring/index.js +6 -6
  1696. package/dist/monitoring/runtime.js +1 -1
  1697. package/dist/monitoring/server-logger.js +3 -3
  1698. package/dist/next/ErrorBoundary.js +3 -3
  1699. package/dist/next/api/api-response.js +2 -2
  1700. package/dist/next/api/apiHandler.js +3 -3
  1701. package/dist/next/api/parseJsonBody.js +1 -1
  1702. package/dist/next/api/routeHandler.js +9 -9
  1703. package/dist/next/cache-middleware.js +1 -1
  1704. package/dist/next/components/ErrorView.js +3 -3
  1705. package/dist/next/components/GlobalError.js +23 -2
  1706. package/dist/next/components/NotFoundView.js +4 -4
  1707. package/dist/next/components/UnauthorizedView.js +4 -4
  1708. package/dist/next/index.js +21 -21
  1709. package/dist/next/middleware/chain.js +3 -3
  1710. package/dist/next/middleware/index.js +2 -2
  1711. package/dist/next/middleware/pii-scrubber.js +3 -3
  1712. package/dist/next/request-helpers.js +1 -1
  1713. package/dist/next/routing/route-map.d.ts +6 -4
  1714. package/dist/next/routing/route-map.js +10 -2
  1715. package/dist/providers/auth-firebase/helpers.js +5 -5
  1716. package/dist/providers/auth-firebase/index.js +3 -3
  1717. package/dist/providers/auth-firebase/provider.js +2 -2
  1718. package/dist/providers/auth-firebase/session.js +2 -2
  1719. package/dist/providers/db-firebase/admin-app-lite.js +1 -1
  1720. package/dist/providers/db-firebase/admin-auth-lite.js +1 -1
  1721. package/dist/providers/db-firebase/admin-storage-lite.js +1 -1
  1722. package/dist/providers/db-firebase/admin.js +2 -2
  1723. package/dist/providers/db-firebase/base.js +2 -2
  1724. package/dist/providers/db-firebase/base.repository.d.ts +54 -0
  1725. package/dist/providers/db-firebase/base.repository.js +119 -7
  1726. package/dist/providers/db-firebase/browser-stub.js +2 -2
  1727. package/dist/providers/db-firebase/index.js +12 -12
  1728. package/dist/providers/db-firebase/sieve.js +4 -4
  1729. package/dist/providers/email-resend/index.js +1 -1
  1730. package/dist/providers/firebase-client/index.js +2 -2
  1731. package/dist/providers/firebase-client/realtime.js +1 -1
  1732. package/dist/providers/payment-manual/index.js +1 -1
  1733. package/dist/providers/payment-phonepe/index.js +3 -3
  1734. package/dist/providers/shipping-manual/index.js +1 -1
  1735. package/dist/providers/storage-firebase/client.js +2 -2
  1736. package/dist/providers/storage-firebase/index.js +1 -1
  1737. package/dist/providers/storage-firebase/provider.js +4 -4
  1738. package/dist/providers.js +12 -12
  1739. package/dist/react/ErrorBoundary.js +3 -3
  1740. package/dist/react/contexts/SessionContext.js +6 -6
  1741. package/dist/react/contexts/index.js +1 -1
  1742. package/dist/react/hooks/use-action-dispatch.js +5 -5
  1743. package/dist/react/hooks/use-panel-url-sync.js +1 -1
  1744. package/dist/react/hooks/useAuthGate.js +3 -3
  1745. package/dist/react/hooks/useBreakpoint.js +1 -1
  1746. package/dist/react/hooks/useBulkAction.js +1 -1
  1747. package/dist/react/hooks/useCamera.js +1 -1
  1748. package/dist/react/hooks/useCanSeePrices.js +1 -1
  1749. package/dist/react/hooks/useEntityDelete.js +2 -2
  1750. package/dist/react/hooks/useFormStatePreservation.js +1 -1
  1751. package/dist/react/hooks/useInlineRowEdit.js +1 -1
  1752. package/dist/react/hooks/useListingTypeFlags.js +2 -2
  1753. package/dist/react/hooks/useMessage.js +1 -1
  1754. package/dist/react/hooks/usePendingFilters.js +1 -1
  1755. package/dist/react/hooks/usePendingTable.js +2 -2
  1756. package/dist/react/hooks/useRealtimeEvent.js +4 -4
  1757. package/dist/react/hooks/useTabParam.js +2 -2
  1758. package/dist/react/hooks/useUnsavedChanges.js +1 -1
  1759. package/dist/react/hooks/useUrlTable.js +2 -2
  1760. package/dist/react/index.js +28 -28
  1761. package/dist/repositories/index.d.ts +2 -1
  1762. package/dist/repositories/index.js +55 -50
  1763. package/dist/schemas/index.js +1 -1
  1764. package/dist/schemas/registry.d.ts +568 -62
  1765. package/dist/schemas/registry.js +44 -44
  1766. package/dist/security/authorization.js +3 -3
  1767. package/dist/security/browser.js +4 -4
  1768. package/dist/security/index.js +8 -8
  1769. package/dist/security/pii-encrypt.js +3 -3
  1770. package/dist/security/pii-redact.js +1 -1
  1771. package/dist/security/rate-limit.js +1 -1
  1772. package/dist/security/settings-encryption.js +1 -1
  1773. package/dist/seed/_helpers/brand-rows.d.ts +35 -0
  1774. package/dist/seed/_helpers/brand-rows.js +576 -0
  1775. package/dist/seed/_helpers/category-content.d.ts +39 -0
  1776. package/dist/seed/_helpers/category-content.js +634 -0
  1777. package/dist/seed/_helpers/category-forest.d.ts +2 -0
  1778. package/dist/seed/_helpers/category-forest.js +585 -243
  1779. package/dist/seed/_helpers/category-models.d.ts +5 -0
  1780. package/dist/seed/_helpers/category-models.js +1364 -0
  1781. package/dist/seed/_helpers/category-tree.js +17 -1
  1782. package/dist/seed/_helpers/character-features.d.ts +10 -0
  1783. package/dist/seed/_helpers/character-features.js +118 -0
  1784. package/dist/seed/_helpers/media.js +1 -1
  1785. package/dist/seed/_helpers/product-search-txt.js +1 -1
  1786. package/dist/seed/_helpers/search-txt-wrappers.d.ts +10 -0
  1787. package/dist/seed/_helpers/search-txt-wrappers.js +12 -1
  1788. package/dist/seed/blog-posts-seed-data.js +2 -2
  1789. package/dist/seed/carousel-slides-seed-data.js +2 -2
  1790. package/dist/seed/cart-seed-data.js +2 -2
  1791. package/dist/seed/categories-seed-data.js +151 -173
  1792. package/dist/seed/claimed-coupons-seed-data.js +1 -1
  1793. package/dist/seed/coupons-seed-data.js +2 -2
  1794. package/dist/seed/defaults/categories.js +1 -1
  1795. package/dist/seed/defaults/faqs.js +2 -2
  1796. package/dist/seed/defaults/homepage-sections.js +2 -2
  1797. package/dist/seed/events-seed-data.js +3 -3
  1798. package/dist/seed/factories/address.factory.js +1 -1
  1799. package/dist/seed/factories/carousel.factory.js +1 -1
  1800. package/dist/seed/factories/order.factory.js +1 -1
  1801. package/dist/seed/factories/product.factory.js +2 -2
  1802. package/dist/seed/factories/store.factory.js +1 -1
  1803. package/dist/seed/factories/user.factory.js +2 -2
  1804. package/dist/seed/faq-seed-data.js +532 -3
  1805. package/dist/seed/grouped-listings-seed-data.js +1 -1
  1806. package/dist/seed/homepage-sections-seed-data.js +2 -2
  1807. package/dist/seed/index.d.ts +2 -0
  1808. package/dist/seed/index.js +75 -67
  1809. package/dist/seed/manifest.d.ts +1 -1
  1810. package/dist/seed/manifest.js +47 -42
  1811. package/dist/seed/notifications-seed-data.js +3 -3
  1812. package/dist/seed/offers-seed-data.js +2 -2
  1813. package/dist/seed/orders-seed-data.js +2 -2
  1814. package/dist/seed/payouts-seed-data.js +2 -2
  1815. package/dist/seed/product-features-seed-data.d.ts +1 -8
  1816. package/dist/seed/product-features-seed-data.js +358 -154
  1817. package/dist/seed/products-art-seed-data.js +20 -8
  1818. package/dist/seed/products-auctions-seed-data.js +10 -10
  1819. package/dist/seed/products-classifieds-seed-data.js +22 -12
  1820. package/dist/seed/products-digital-codes-seed-data.js +17 -17
  1821. package/dist/seed/products-live-items-seed-data.js +5 -5
  1822. package/dist/seed/products-preorders-seed-data.js +12 -12
  1823. package/dist/seed/products-prize-draws-seed-data.js +30 -13
  1824. package/dist/seed/products-standard-seed-data.js +14 -64
  1825. package/dist/seed/products-stickers-seed-data.js +10 -10
  1826. package/dist/seed/reviews-seed-data.js +2 -2
  1827. package/dist/seed/runner.js +2 -2
  1828. package/dist/seed/scammers-seed-data.js +3 -3
  1829. package/dist/seed/seed-market-config.js +2 -2
  1830. package/dist/seed/seed-purpose.d.ts +200 -0
  1831. package/dist/seed/seed-purpose.js +265 -0
  1832. package/dist/seed/sessions-seed-data.js +2 -2
  1833. package/dist/seed/shipments-seed-data.js +1 -1
  1834. package/dist/seed/site-settings-seed-data.js +33 -3
  1835. package/dist/seed/store-addresses-seed-data.js +1 -1
  1836. package/dist/seed/store-extensions-seed-data.js +11 -5
  1837. package/dist/seed/stores-seed-data.js +3 -3
  1838. package/dist/seed/support-tickets-seed-data.js +2 -2
  1839. package/dist/seed/tax-codes-seed-data.d.ts +34 -0
  1840. package/dist/seed/tax-codes-seed-data.js +100 -0
  1841. package/dist/seed/test-data-ttl.d.ts +29 -0
  1842. package/dist/seed/test-data-ttl.js +31 -0
  1843. package/dist/seed/test-utils.js +8 -8
  1844. package/dist/seed/users-seed-data.js +4 -4
  1845. package/dist/seo/index.js +2 -2
  1846. package/dist/seo/json-ld.d.ts +62 -0
  1847. package/dist/seo/json-ld.js +78 -2
  1848. package/dist/seo/metadata.js +1 -1
  1849. package/dist/server-entry.d.ts +1 -1
  1850. package/dist/server-entry.js +83 -78
  1851. package/dist/server.d.ts +14 -3
  1852. package/dist/server.js +563 -544
  1853. package/dist/styles.css +807 -1
  1854. package/dist/tailwind-utilities.css +1 -1
  1855. package/dist/theme/index.js +2 -2
  1856. package/dist/tokens/index.js +1 -1
  1857. package/dist/tokens/themes/cobalt-night.js +1 -1
  1858. package/dist/tokens/themes/index.js +5 -5
  1859. package/dist/tokens/themes/sunset.js +1 -1
  1860. package/dist/ui/DataTable.js +12 -12
  1861. package/dist/ui/columns/cell-renderers.js +7 -7
  1862. package/dist/ui/columns/column-renderers.js +2 -2
  1863. package/dist/ui/columns/index.js +3 -3
  1864. package/dist/ui/components/Accordion.js +4 -4
  1865. package/dist/ui/components/ActionRow.js +1 -1
  1866. package/dist/ui/components/ActiveFilterChips.js +2 -2
  1867. package/dist/ui/components/Alert.js +2 -2
  1868. package/dist/ui/components/Anchor.js +1 -1
  1869. package/dist/ui/components/Avatar.js +1 -1
  1870. package/dist/ui/components/AvatarDisplay.js +1 -1
  1871. package/dist/ui/components/Badge.js +1 -1
  1872. package/dist/ui/components/BaseListingCard.js +2 -2
  1873. package/dist/ui/components/Breadcrumb.js +3 -3
  1874. package/dist/ui/components/BulkActionBar.js +2 -2
  1875. package/dist/ui/components/Button.js +4 -4
  1876. package/dist/ui/components/Card.js +2 -2
  1877. package/dist/ui/components/Checkbox.js +1 -1
  1878. package/dist/ui/components/ClaimCouponButton.js +6 -6
  1879. package/dist/ui/components/CollapsibleSection.js +5 -5
  1880. package/dist/ui/components/ConfirmDeleteModal.js +3 -3
  1881. package/dist/ui/components/CountdownDisplay.js +2 -2
  1882. package/dist/ui/components/DateInput.js +1 -1
  1883. package/dist/ui/components/DetailPageGallery.js +2 -2
  1884. package/dist/ui/components/DetailPageHero.js +3 -3
  1885. package/dist/ui/components/DetailPageTabs.js +2 -2
  1886. package/dist/ui/components/DetailViewShell.js +2 -2
  1887. package/dist/ui/components/Details.js +1 -1
  1888. package/dist/ui/components/Div.js +1 -1
  1889. package/dist/ui/components/Divider.js +1 -1
  1890. package/dist/ui/components/Drawer.js +4 -4
  1891. package/dist/ui/components/EmptyState.js +4 -4
  1892. package/dist/ui/components/FilePickerButton.js +1 -1
  1893. package/dist/ui/components/FilterChipGroup.js +2 -2
  1894. package/dist/ui/components/FilterDrawer.js +4 -4
  1895. package/dist/ui/components/FlowDiagram.js +2 -2
  1896. package/dist/ui/components/Form.js +4 -4
  1897. package/dist/ui/components/FormActionBar.js +3 -3
  1898. package/dist/ui/components/FormField.js +24 -6
  1899. package/dist/ui/components/GatedPrice.js +6 -6
  1900. package/dist/ui/components/HandModeRow.js +2 -2
  1901. package/dist/ui/components/Icon.js +1 -1
  1902. package/dist/ui/components/IconButton.js +1 -1
  1903. package/dist/ui/components/ImageGallery.js +6 -6
  1904. package/dist/ui/components/ImageLightbox.js +5 -5
  1905. package/dist/ui/components/Input.js +2 -2
  1906. package/dist/ui/components/ItemRow.js +3 -3
  1907. package/dist/ui/components/Layout.js +1 -1
  1908. package/dist/ui/components/ListingFilterDrawer.js +4 -4
  1909. package/dist/ui/components/ListingLayout.js +9 -9
  1910. package/dist/ui/components/ListingToolbar.js +5 -5
  1911. package/dist/ui/components/LoginRequiredModal.js +5 -5
  1912. package/dist/ui/components/Menu.js +1 -1
  1913. package/dist/ui/components/Modal.js +6 -6
  1914. package/dist/ui/components/Motion.js +1 -1
  1915. package/dist/ui/components/NavigationLoader.js +3 -3
  1916. package/dist/ui/components/OtpInput.js +1 -1
  1917. package/dist/ui/components/PageLoader.js +4 -4
  1918. package/dist/ui/components/PaginatedSelect.d.ts +14 -0
  1919. package/dist/ui/components/PaginatedSelect.js +0 -0
  1920. package/dist/ui/components/PaginatedSelect.style.css +40 -0
  1921. package/dist/ui/components/Pagination.js +2 -2
  1922. package/dist/ui/components/PasswordStrengthIndicator.js +3 -3
  1923. package/dist/ui/components/PriceDisplay.js +1 -1
  1924. package/dist/ui/components/Progress.js +1 -1
  1925. package/dist/ui/components/QuantityStepper.js +3 -3
  1926. package/dist/ui/components/QuickCreateModal.js +5 -5
  1927. package/dist/ui/components/Radio.js +1 -1
  1928. package/dist/ui/components/RatingDisplay.js +2 -2
  1929. package/dist/ui/components/RecordDetailModal.js +2 -2
  1930. package/dist/ui/components/RoleBadge.js +1 -1
  1931. package/dist/ui/components/RowActionMenu.js +3 -3
  1932. package/dist/ui/components/Select.js +2 -2
  1933. package/dist/ui/components/Semantic.js +1 -1
  1934. package/dist/ui/components/SettingsSection.js +2 -2
  1935. package/dist/ui/components/SideDrawer.js +9 -9
  1936. package/dist/ui/components/SideModal.js +4 -4
  1937. package/dist/ui/components/SiteLogo.js +1 -1
  1938. package/dist/ui/components/SiteMark.js +1 -1
  1939. package/dist/ui/components/SkipToMain.js +1 -1
  1940. package/dist/ui/components/Slider.js +1 -1
  1941. package/dist/ui/components/SlottedListingView.js +2 -2
  1942. package/dist/ui/components/SortDropdown.js +3 -3
  1943. package/dist/ui/components/StackedViewShell.js +2 -2
  1944. package/dist/ui/components/StarRating.js +1 -1
  1945. package/dist/ui/components/StatsGrid.js +3 -3
  1946. package/dist/ui/components/StatusBadge.js +1 -1
  1947. package/dist/ui/components/StepperNav.js +3 -3
  1948. package/dist/ui/components/StickyToolbar.js +1 -1
  1949. package/dist/ui/components/SummaryCard.js +4 -4
  1950. package/dist/ui/components/TabBarShell.js +3 -3
  1951. package/dist/ui/components/TablePagination.js +4 -4
  1952. package/dist/ui/components/Tabs.js +1 -1
  1953. package/dist/ui/components/TagInput.js +1 -1
  1954. package/dist/ui/components/TextLink.js +2 -2
  1955. package/dist/ui/components/Textarea.js +1 -1
  1956. package/dist/ui/components/Toast.js +3 -3
  1957. package/dist/ui/components/Toggle.js +1 -1
  1958. package/dist/ui/components/Typography.js +2 -2
  1959. package/dist/ui/components/UnsavedChangesModal.js +5 -5
  1960. package/dist/ui/components/VacationBanner.js +3 -3
  1961. package/dist/ui/components/ViewToggle.js +2 -2
  1962. package/dist/ui/components/index.style.css +4 -0
  1963. package/dist/ui/components/surface-tokens.js +1 -1
  1964. package/dist/ui/components/toolbar-collapse.js +1 -1
  1965. package/dist/ui/forms/ColorPickerField.js +2 -2
  1966. package/dist/ui/forms/FieldCheckbox.js +3 -3
  1967. package/dist/ui/forms/FieldInput.js +3 -3
  1968. package/dist/ui/forms/FieldSelect.js +3 -3
  1969. package/dist/ui/forms/FieldTextarea.js +3 -3
  1970. package/dist/ui/forms/FormErrorList.js +2 -2
  1971. package/dist/ui/forms/FormErrorSummary.js +2 -2
  1972. package/dist/ui/forms/FormShell.js +1 -1
  1973. package/dist/ui/forms/index.js +9 -9
  1974. package/dist/ui/index.d.ts +0 -2
  1975. package/dist/ui/index.js +147 -127
  1976. package/dist/ui/rich-text/RichText.js +2 -2
  1977. package/dist/ui/rich-text/index.js +1 -1
  1978. package/dist/utils/action-response.js +2 -2
  1979. package/dist/utils/action-result.js +1 -1
  1980. package/dist/utils/auth-error.js +1 -1
  1981. package/dist/utils/client.js +1 -1
  1982. package/dist/utils/date.formatter.js +1 -1
  1983. package/dist/utils/id-generators.js +2 -2
  1984. package/dist/utils/index.js +19 -19
  1985. package/dist/utils/media-field.js +1 -1
  1986. package/dist/utils/media-url.js +2 -2
  1987. package/dist/utils/number.formatter.js +1 -1
  1988. package/dist/utils/physical-location.d.ts +91 -0
  1989. package/dist/utils/physical-location.js +134 -0
  1990. package/dist/utils/safe-fire-forget.js +2 -2
  1991. package/dist/utils/search-txt-builders.d.ts +20 -0
  1992. package/dist/utils/search-txt-builders.js +97 -1
  1993. package/dist/utils/search-txt-query.d.ts +54 -6
  1994. package/dist/utils/search-txt-query.js +79 -11
  1995. package/dist/utils/sieve-builder.js +1 -1
  1996. package/dist/utils/string.formatter.js +1 -1
  1997. package/dist/validation/ZodSetup.js +1 -1
  1998. package/dist/validation/index.js +8 -8
  1999. package/dist/validation/phone.validator.js +1 -1
  2000. package/dist/validation/schemas.d.ts +12 -12
  2001. package/dist/validation/schemas.js +1 -1
  2002. package/dist/validation/url.validator.js +1 -1
  2003. package/dist/values/index.js +1 -1
  2004. package/dist/vendor/react-advanced-cropper.css +406 -0
  2005. package/package.json +80 -4
  2006. package/scripts/copy-assets.mjs +53 -1
  2007. package/scripts/seed-cli.mjs +172 -8
  2008. package/dist/_internal/server/jobs/handlers/testerSandboxCleanup.d.ts +0 -2
  2009. package/dist/_internal/server/jobs/handlers/testerSandboxCleanup.js +0 -2
  2010. package/dist/features/tester/actions/leaderboard-actions.d.ts +0 -3
  2011. package/dist/features/tester/actions/leaderboard-actions.js +0 -5
  2012. package/dist/features/tester/components/BugHunterLeaderboardView.d.ts +0 -23
  2013. package/dist/features/tester/components/BugHunterLeaderboardView.js +0 -18
  2014. package/dist/features/tester/components/TesterHubView.d.ts +0 -5
  2015. package/dist/features/tester/components/TesterHubView.js +0 -110
  2016. package/dist/features/tester/seed-data/authored/public-pages__bug-hunters.d.ts +0 -2
  2017. package/dist/features/tester/seed-data/authored/public-pages__bug-hunters.js +0 -78
  2018. package/dist/features/tester/seed-data/tester-ttl.d.ts +0 -4
  2019. package/dist/features/tester/seed-data/tester-ttl.js +0 -6
@@ -0,0 +1,172 @@
1
+ /**
2
+ * Return custody โ€” C5g. Where a returned parcel is, and who owns the next step.
3
+ *
4
+ * ## ๐Ÿ›‘ The gap this closes, measured
5
+ *
6
+ * `OrderStatus` has exactly TWO return states: `return_requested` โ†’ `returned`.
7
+ * There is no `returnAddress`, no `rmaNumber` and no inspection field anywhere
8
+ * on `OrderDocument` (grepped: zero hits). So a buyer whose return is approved
9
+ * today is told nothing about where to send the item, and the status jumps from
10
+ * "requested" straight to "returned" with no custody in between.
11
+ *
12
+ * Two statuses cannot express *"the buyer posted it and we have not received
13
+ * it"*, which is the single most-asked question in any returns flow. And that
14
+ * gap exists on the ORDINARY seller path too, not only on protected claims โ€”
15
+ * a return with no address is unactionable for either party, which is why this
16
+ * is worth closing regardless of whether escrow ever ships.
17
+ *
18
+ * ## ๐Ÿ›‘ Why a SUB-STATUS and not five new `OrderStatus` members
19
+ *
20
+ * The plan left this open as "a schema decision worth taking deliberately".
21
+ * Taken: custody is its own field, and `OrderStatus` keeps its two values.
22
+ *
23
+ * 1. `OrderStatus` drives every order surface โ€” nine status chips, the
24
+ * Active/Closed scope map (`Record<OrderStatus, โ€ฆ>`), badges, filters,
25
+ * `mergeOrderScopeFilter`. Five new members would appear in all of them
26
+ * while applying only to a return, and all five would map to "Active",
27
+ * so they would add a chip and no information.
28
+ * 2. A return is a SUB-PROCESS of an order, not a phase of it. The order's
29
+ * own fact is "a return is in progress"; the rest belongs to the return.
30
+ * 3. It composes with what is already per-item. `OrderDocumentItem` already
31
+ * carries `cancelledQuantity`, so partial returns are an item-level idea โ€”
32
+ * and an order-level status could never express two items in different
33
+ * custody states.
34
+ *
35
+ * And NOT a separate `returns` collection either, which was the third option:
36
+ * that would make a fourth place order state lives (the order, its items, its
37
+ * `statusHistory`, and a return document), and the first three already have to
38
+ * agree.
39
+ */
40
+ /**
41
+ * The custody chain. Ordered, and the order is load-bearing โ€” `canAdvance`
42
+ * reads it rather than hand-listing transitions.
43
+ */
44
+ export const RETURN_CUSTODY_STATES = [
45
+ /** The buyer asked. Nobody has agreed to anything yet. */
46
+ "requested",
47
+ /** Approved, and the buyer has been given a destination. */
48
+ "approved",
49
+ /** The buyer says they have posted it. Our records show nothing yet. */
50
+ "in_transit",
51
+ /** It physically arrived, wherever it was routed to. */
52
+ "received",
53
+ /** A human has opened it and recorded a finding. */
54
+ "inspected",
55
+ /** Refund (or refusal) issued; money has moved. */
56
+ "resolved",
57
+ ];
58
+ /**
59
+ * ๐Ÿ›‘ A `Record<ReturnCustodyState, โ€ฆ>`, so a seventh state cannot compile
60
+ * without someone answering what the buyer is told during it.
61
+ *
62
+ * The copy matters more than it looks: `in_transit` is the state that exists
63
+ * ENTIRELY so a buyer who has posted something is not shown "requested" for a
64
+ * week, and a label that does not say "we have not received it yet" wastes the
65
+ * state.
66
+ */
67
+ export const RETURN_CUSTODY_COPY = {
68
+ requested: {
69
+ label: "Return requested",
70
+ buyerNote: "We have your request. You will get a return address once it is approved.",
71
+ },
72
+ approved: {
73
+ label: "Return approved",
74
+ buyerNote: "Approved. Post the item to the address below, then mark it as sent.",
75
+ },
76
+ in_transit: {
77
+ label: "On its way back",
78
+ buyerNote: "You have marked this as posted. We have not received it yet.",
79
+ },
80
+ received: {
81
+ label: "Received",
82
+ buyerNote: "It arrived. We are checking it now.",
83
+ },
84
+ inspected: {
85
+ label: "Checked",
86
+ buyerNote: "We have checked the item. Your refund is being processed.",
87
+ },
88
+ resolved: {
89
+ label: "Return complete",
90
+ buyerNote: "Done โ€” see the refund on this order.",
91
+ },
92
+ };
93
+ /** Terminal: nothing follows `resolved`. */
94
+ export function isTerminalCustody(state) {
95
+ return state === "resolved";
96
+ }
97
+ /**
98
+ * Whether `next` may follow `current`.
99
+ *
100
+ * ๐Ÿ›‘ Strictly forward, one step at a time, and that is deliberate rather than
101
+ * lazy. A flow that permits skipping lets `approved โ†’ resolved` refund an item
102
+ * nobody ever received, which is the exact shape of the fraud
103
+ * `return_swap_fraud` describes; and a flow that permits going backwards lets a
104
+ * seller un-receive a parcel to re-open a settled inspection.
105
+ *
106
+ * The one exception is the identity transition, which is allowed so an
107
+ * idempotent writer (a retry, a double-clicked button) is a no-op rather than
108
+ * an error.
109
+ */
110
+ export function canAdvanceCustody(current, next) {
111
+ if (current === next)
112
+ return true;
113
+ const i = RETURN_CUSTODY_STATES.indexOf(current);
114
+ const j = RETURN_CUSTODY_STATES.indexOf(next);
115
+ if (i < 0 || j < 0)
116
+ return false;
117
+ return j === i + 1;
118
+ }
119
+ /** The next state, or `null` at the end of the chain. */
120
+ export function nextCustodyState(current) {
121
+ const i = RETURN_CUSTODY_STATES.indexOf(current);
122
+ if (i < 0 || i === RETURN_CUSTODY_STATES.length - 1)
123
+ return null;
124
+ return RETURN_CUSTODY_STATES[i + 1];
125
+ }
126
+ /**
127
+ * Who owns the next action.
128
+ *
129
+ * ๐Ÿ›‘ This is the half of C5g that CLAUDE.md gets wrong today. It records
130
+ * `return_requested` as deliberately in the *Active* order scope because it is
131
+ * "the seller's next action item" โ€” and with warehouse routing that is no
132
+ * longer true for an untrusted seller's protected claim: it is OUR action item
133
+ * until inspection completes. A queue that shows it as the seller's is a queue
134
+ * where returns sit waiting on us.
135
+ *
136
+ * `buyer` during `approved`/`in_transit` is not a formality either โ€” the buyer
137
+ * is the only party who can post the parcel, and showing a seller an action
138
+ * they cannot take is how a return stalls with everyone waiting.
139
+ */
140
+ export function custodyOwner(state, destination) {
141
+ switch (state) {
142
+ case "requested":
143
+ // Whoever will receive it decides whether to accept it.
144
+ return destination === "warehouse" ? "platform" : "seller";
145
+ case "approved":
146
+ case "in_transit":
147
+ return "buyer";
148
+ case "received":
149
+ case "inspected":
150
+ return destination === "warehouse" ? "platform" : "seller";
151
+ case "resolved":
152
+ // Nothing to do. Reported as the platform's so a stale queue entry is
153
+ // ours to clear rather than a seller's to wonder about.
154
+ return "platform";
155
+ default: {
156
+ const unreachable = state;
157
+ return unreachable;
158
+ }
159
+ }
160
+ }
161
+ /**
162
+ * Whether this custody state should appear in a WORK QUEUE for `viewer`.
163
+ *
164
+ * Deliberately not `custodyOwner(...) === viewer`: `resolved` belongs to nobody
165
+ * and must leave every queue, and a terminal row in a queue is how a queue
166
+ * stops being read.
167
+ */
168
+ export function isActionableBy(state, destination, viewer) {
169
+ if (isTerminalCustody(state))
170
+ return false;
171
+ return custodyOwner(state, destination) === viewer;
172
+ }
@@ -0,0 +1,172 @@
1
+ /**
2
+ * Where a return or an RTO physically goes โ€” C5g / C5h.
3
+ *
4
+ * ## ๐Ÿ›‘ The address is DERIVED, never typed
5
+ *
6
+ * `returnDestination()` in `../shipping/protections` decides warehouse-vs-seller
7
+ * from the add-on and the admin trust flag; this module turns that decision into
8
+ * the actual address string.
9
+ *
10
+ * A free-text `returnAddress` field a human fills in would be a second owner of
11
+ * a value we can compute, and the wrong one is a parcel lost โ€” which is a worse
12
+ * outcome than any of the drift this codebase usually pays for. So it is
13
+ * derived once, at approval, and then SNAPSHOTTED onto the order: an admin
14
+ * flipping `returnsDirectToSeller` while a parcel is in the post must not
15
+ * retroactively change where the buyer was told to send it.
16
+ */
17
+ /** Minimal shape โ€” whatever a store carries that could serve as a pickup point. */
18
+ export interface SellerReturnAddressSource {
19
+ storeName?: string;
20
+ /** The store's own pickup address, when it has one. */
21
+ pickupAddress?: string;
22
+ }
23
+ export type ReturnAddressResolution = {
24
+ kind: "warehouse";
25
+ address: string;
26
+ } | {
27
+ kind: "seller";
28
+ address: string;
29
+ }
30
+ /**
31
+ * ๐Ÿ›‘ The third outcome, and the reason this returns a union rather than a
32
+ * string.
33
+ *
34
+ * A seller-routed return whose store has no pickup address has NO
35
+ * destination, and `""` would be rendered to the buyer as a blank address
36
+ * block โ€” "post it to nowhere", with a success state. Measured 2026-10-11:
37
+ * `addresses` carries zero `ownerType:"store"` rows, so this is the common
38
+ * case today rather than a corner.
39
+ *
40
+ * The caller must refuse to approve the return and tell the seller to add a
41
+ * pickup address. It cannot accidentally hand out an empty one.
42
+ */
43
+ | {
44
+ kind: "unavailable";
45
+ reason: "seller-has-no-pickup-address" | "warehouse-not-configured";
46
+ };
47
+ export interface ResolveReturnAddressInput {
48
+ destination: "warehouse" | "seller";
49
+ /** `process.env.WAREHOUSE_ADDRESS` โ€” config, not a secret. */
50
+ warehouseAddress?: string;
51
+ seller?: SellerReturnAddressSource;
52
+ }
53
+ /**
54
+ * The address to show the buyer.
55
+ *
56
+ * ๐Ÿ›‘ `COMPANY_ADDRESS` is deliberately NOT consulted here, and must never
57
+ * become a fallback. It is a test fixture โ€” a known-good destination for the
58
+ * smoke script โ€” and substituting it for a missing warehouse or seller address
59
+ * would ship a real returned parcel to our own office while reporting success.
60
+ * That is the exact plausible-200 shape this plan keeps finding, and the
61
+ * tempting use is also the dangerous one.
62
+ */
63
+ export declare function resolveReturnAddress(input: ResolveReturnAddressInput): ReturnAddressResolution;
64
+ /**
65
+ * An RTO โ€” Return To Origin โ€” is the carrier sending a parcel back because it
66
+ * could not be delivered. Nobody asked for it.
67
+ *
68
+ * ๐Ÿ›‘ That is what makes it a THIRD path rather than a variant of a return: no
69
+ * claim exists, no return was approved, and it arrives whether or not anyone is
70
+ * expecting it. So it cannot reuse the custody chain's `requested`/`approved`
71
+ * states โ€” it enters at `received`, which is the first state that describes
72
+ * something physically present.
73
+ */
74
+ export declare const RTO_ENTRY_CUSTODY: "received";
75
+ export type RtoCostBearer = "platform" | "seller" | "buyer";
76
+ /**
77
+ * Who bears the RTO leg.
78
+ *
79
+ * ๐Ÿ›‘ **Us, either way**, and this is C5g-policy applied rather than re-decided.
80
+ * The common cause is a wrong or incomplete buyer address: charging the seller
81
+ * for a buyer's typo drives sellers off, and billing the buyer after the fact is
82
+ * uncollectable.
83
+ *
84
+ * But it is RECORDED rather than silently absorbed. An RTO has a real cost โ€”
85
+ * the carrier bills the return leg, and under escrow the buyer's shipping money
86
+ * is already spent on the forward leg, so it is a genuine new charge with
87
+ * nothing collected behind it. Absorbing it quietly is how a cost becomes
88
+ * invisible and then structural; `reason` is what makes it a line someone can
89
+ * total.
90
+ */
91
+ export declare function rtoCostBearer(): {
92
+ bearer: RtoCostBearer;
93
+ reason: string;
94
+ };
95
+ /**
96
+ * Scam-registry types an inspection finding can substantiate.
97
+ *
98
+ * ๐Ÿ›‘ All four ALREADY EXIST in `features/scams/constants/scam-types.ts` โ€”
99
+ * verified, not assumed. The registry anticipated this control before the
100
+ * control existed, so C5i adds no scam type.
101
+ *
102
+ * ๐Ÿ›‘ And inspection is BIDIRECTIONAL evidence, not a buyer-fraud filter. It is
103
+ * the only point in the flow where a human sees the actual item, which makes it
104
+ * the only place either party's pattern can be substantiated. A plan that
105
+ * framed it as buyer-abuse control would be using half of it โ€” so two of these
106
+ * four are seller-side.
107
+ */
108
+ export declare const RETURN_ABUSE_SCAM_TYPES: {
109
+ /** BUYER: returned a different item. Literally why we inspect. */
110
+ readonly returnSwap: "return_swap_fraud";
111
+ /** BUYER: serial no-questions-asked refunds. */
112
+ readonly claimAbuse: "chargeback_fraud";
113
+ /** SELLER: items that keep coming back as "not as described". */
114
+ readonly sellerMisrepresentation: "condition_misrepresentation";
115
+ /** SELLER: shipped nothing. */
116
+ readonly sellerEmptyBox: "empty_box_ship";
117
+ };
118
+ export type ReturnAbuseSignal = (typeof RETURN_ABUSE_SCAM_TYPES)[keyof typeof RETURN_ABUSE_SCAM_TYPES];
119
+ /**
120
+ * Thresholds at which a pattern is worth a human's attention.
121
+ *
122
+ * ๐Ÿ›‘ A threshold is a SIGNAL, not a verdict. Crossing one opens a
123
+ * `ReportDocument` for admin review; it does not deny a claim and it does not
124
+ * ban anyone. An automatic exclusion on a count would punish an unlucky buyer
125
+ * who received two genuinely bad items, and the registry's own entries are
126
+ * written as patterns to RECOGNISE rather than rules to fire.
127
+ */
128
+ export declare const RETURN_ABUSE_THRESHOLDS: {
129
+ /** Change-of-mind claims on a no-questions-asked cover, per buyer. */
130
+ readonly buyerChangeOfMindClaims: 3;
131
+ /** Genuine "not as described" findings against one seller. */
132
+ readonly sellerGenuineFindings: 3;
133
+ };
134
+ export interface ReturnAbuseCounters {
135
+ /** Protected change-of-mind claims by this buyer, pre-computed. */
136
+ buyerChangeOfMindClaims?: number;
137
+ /** Genuine findings against this seller, pre-computed. */
138
+ sellerGenuineFindings?: number;
139
+ }
140
+ /**
141
+ * Which signals this inspection substantiates.
142
+ *
143
+ * ๐Ÿ›‘ The counters are PRE-COMPUTED and passed in. "How many claims has this
144
+ * buyer made" is an unbounded per-request aggregation over orders โ€” the exact
145
+ * pattern that paused this project (Root Cause #104) โ€” so it rides the daily
146
+ * job as one more pass, the same lever as the price index and the pageViews
147
+ * rollup. This function must never query.
148
+ */
149
+ export declare function returnAbuseSignals(input: {
150
+ finding: "genuine" | "change-of-mind";
151
+ protectedSale: boolean;
152
+ /** True when inspection found a DIFFERENT item than the one sold. */
153
+ itemMismatch?: boolean;
154
+ /** True when inspection found an empty or itemless parcel. */
155
+ emptyParcel?: boolean;
156
+ counters?: ReturnAbuseCounters;
157
+ }): ReturnAbuseSignal[];
158
+ /**
159
+ * What enforcement actually is.
160
+ *
161
+ * ๐Ÿ›‘ Withdrawing FUTURE eligibility, never denying a live claim. The moment
162
+ * inspection can block a protected refund the promise is false, and we are back
163
+ * to a badge that means nothing. A buyer flagged for claim abuse keeps the
164
+ * marketplace and loses the cover they abused โ€” which composes with the
165
+ * existing soft-ban machinery (`BannedAction` is already a closed set) rather
166
+ * than extending it.
167
+ */
168
+ export declare function enforcementFor(signals: readonly ReturnAbuseSignal[]): {
169
+ deniesCurrentClaim: false;
170
+ withdrawsFutureSaleProtection: boolean;
171
+ opensReportForReview: boolean;
172
+ };
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Where a return or an RTO physically goes โ€” C5g / C5h.
3
+ *
4
+ * ## ๐Ÿ›‘ The address is DERIVED, never typed
5
+ *
6
+ * `returnDestination()` in `../shipping/protections` decides warehouse-vs-seller
7
+ * from the add-on and the admin trust flag; this module turns that decision into
8
+ * the actual address string.
9
+ *
10
+ * A free-text `returnAddress` field a human fills in would be a second owner of
11
+ * a value we can compute, and the wrong one is a parcel lost โ€” which is a worse
12
+ * outcome than any of the drift this codebase usually pays for. So it is
13
+ * derived once, at approval, and then SNAPSHOTTED onto the order: an admin
14
+ * flipping `returnsDirectToSeller` while a parcel is in the post must not
15
+ * retroactively change where the buyer was told to send it.
16
+ */
17
+ /**
18
+ * The address to show the buyer.
19
+ *
20
+ * ๐Ÿ›‘ `COMPANY_ADDRESS` is deliberately NOT consulted here, and must never
21
+ * become a fallback. It is a test fixture โ€” a known-good destination for the
22
+ * smoke script โ€” and substituting it for a missing warehouse or seller address
23
+ * would ship a real returned parcel to our own office while reporting success.
24
+ * That is the exact plausible-200 shape this plan keeps finding, and the
25
+ * tempting use is also the dangerous one.
26
+ */
27
+ export function resolveReturnAddress(input) {
28
+ if (input.destination === "warehouse") {
29
+ const w = (input.warehouseAddress ?? "").trim();
30
+ if (!w)
31
+ return { kind: "unavailable", reason: "warehouse-not-configured" };
32
+ return { kind: "warehouse", address: w };
33
+ }
34
+ const s = (input.seller?.pickupAddress ?? "").trim();
35
+ if (!s)
36
+ return { kind: "unavailable", reason: "seller-has-no-pickup-address" };
37
+ return { kind: "seller", address: s };
38
+ }
39
+ // โ”€โ”€ C5h: RTO โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
40
+ /**
41
+ * An RTO โ€” Return To Origin โ€” is the carrier sending a parcel back because it
42
+ * could not be delivered. Nobody asked for it.
43
+ *
44
+ * ๐Ÿ›‘ That is what makes it a THIRD path rather than a variant of a return: no
45
+ * claim exists, no return was approved, and it arrives whether or not anyone is
46
+ * expecting it. So it cannot reuse the custody chain's `requested`/`approved`
47
+ * states โ€” it enters at `received`, which is the first state that describes
48
+ * something physically present.
49
+ */
50
+ export const RTO_ENTRY_CUSTODY = "received";
51
+ /**
52
+ * Who bears the RTO leg.
53
+ *
54
+ * ๐Ÿ›‘ **Us, either way**, and this is C5g-policy applied rather than re-decided.
55
+ * The common cause is a wrong or incomplete buyer address: charging the seller
56
+ * for a buyer's typo drives sellers off, and billing the buyer after the fact is
57
+ * uncollectable.
58
+ *
59
+ * But it is RECORDED rather than silently absorbed. An RTO has a real cost โ€”
60
+ * the carrier bills the return leg, and under escrow the buyer's shipping money
61
+ * is already spent on the forward leg, so it is a genuine new charge with
62
+ * nothing collected behind it. Absorbing it quietly is how a cost becomes
63
+ * invisible and then structural; `reason` is what makes it a line someone can
64
+ * total.
65
+ */
66
+ export function rtoCostBearer() {
67
+ return {
68
+ bearer: "platform",
69
+ reason: "RTO legs are absorbed by the platform (C5g-policy): the usual cause is a " +
70
+ "wrong or incomplete delivery address, which is nobody's fault we can bill.",
71
+ };
72
+ }
73
+ // โ”€โ”€ C5i: abuse signal โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
74
+ /**
75
+ * Scam-registry types an inspection finding can substantiate.
76
+ *
77
+ * ๐Ÿ›‘ All four ALREADY EXIST in `features/scams/constants/scam-types.ts` โ€”
78
+ * verified, not assumed. The registry anticipated this control before the
79
+ * control existed, so C5i adds no scam type.
80
+ *
81
+ * ๐Ÿ›‘ And inspection is BIDIRECTIONAL evidence, not a buyer-fraud filter. It is
82
+ * the only point in the flow where a human sees the actual item, which makes it
83
+ * the only place either party's pattern can be substantiated. A plan that
84
+ * framed it as buyer-abuse control would be using half of it โ€” so two of these
85
+ * four are seller-side.
86
+ */
87
+ export const RETURN_ABUSE_SCAM_TYPES = {
88
+ /** BUYER: returned a different item. Literally why we inspect. */
89
+ returnSwap: "return_swap_fraud",
90
+ /** BUYER: serial no-questions-asked refunds. */
91
+ claimAbuse: "chargeback_fraud",
92
+ /** SELLER: items that keep coming back as "not as described". */
93
+ sellerMisrepresentation: "condition_misrepresentation",
94
+ /** SELLER: shipped nothing. */
95
+ sellerEmptyBox: "empty_box_ship",
96
+ };
97
+ /**
98
+ * Thresholds at which a pattern is worth a human's attention.
99
+ *
100
+ * ๐Ÿ›‘ A threshold is a SIGNAL, not a verdict. Crossing one opens a
101
+ * `ReportDocument` for admin review; it does not deny a claim and it does not
102
+ * ban anyone. An automatic exclusion on a count would punish an unlucky buyer
103
+ * who received two genuinely bad items, and the registry's own entries are
104
+ * written as patterns to RECOGNISE rather than rules to fire.
105
+ */
106
+ export const RETURN_ABUSE_THRESHOLDS = {
107
+ /** Change-of-mind claims on a no-questions-asked cover, per buyer. */
108
+ buyerChangeOfMindClaims: 3,
109
+ /** Genuine "not as described" findings against one seller. */
110
+ sellerGenuineFindings: 3,
111
+ };
112
+ /**
113
+ * Which signals this inspection substantiates.
114
+ *
115
+ * ๐Ÿ›‘ The counters are PRE-COMPUTED and passed in. "How many claims has this
116
+ * buyer made" is an unbounded per-request aggregation over orders โ€” the exact
117
+ * pattern that paused this project (Root Cause #104) โ€” so it rides the daily
118
+ * job as one more pass, the same lever as the price index and the pageViews
119
+ * rollup. This function must never query.
120
+ */
121
+ export function returnAbuseSignals(input) {
122
+ const out = [];
123
+ const c = input.counters ?? {};
124
+ // Buyer side. A swap is substantiated by the item itself, with no threshold โ€”
125
+ // one wrong item back is not a pattern, it is an act.
126
+ if (input.itemMismatch)
127
+ out.push(RETURN_ABUSE_SCAM_TYPES.returnSwap);
128
+ if (input.protectedSale &&
129
+ input.finding === "change-of-mind" &&
130
+ (c.buyerChangeOfMindClaims ?? 0) >= RETURN_ABUSE_THRESHOLDS.buyerChangeOfMindClaims) {
131
+ out.push(RETURN_ABUSE_SCAM_TYPES.claimAbuse);
132
+ }
133
+ // Seller side.
134
+ if (input.emptyParcel)
135
+ out.push(RETURN_ABUSE_SCAM_TYPES.sellerEmptyBox);
136
+ if (input.finding === "genuine" &&
137
+ (c.sellerGenuineFindings ?? 0) >= RETURN_ABUSE_THRESHOLDS.sellerGenuineFindings) {
138
+ out.push(RETURN_ABUSE_SCAM_TYPES.sellerMisrepresentation);
139
+ }
140
+ return out;
141
+ }
142
+ /**
143
+ * What enforcement actually is.
144
+ *
145
+ * ๐Ÿ›‘ Withdrawing FUTURE eligibility, never denying a live claim. The moment
146
+ * inspection can block a protected refund the promise is false, and we are back
147
+ * to a badge that means nothing. A buyer flagged for claim abuse keeps the
148
+ * marketplace and loses the cover they abused โ€” which composes with the
149
+ * existing soft-ban machinery (`BannedAction` is already a closed set) rather
150
+ * than extending it.
151
+ */
152
+ export function enforcementFor(signals) {
153
+ return {
154
+ deniesCurrentClaim: false,
155
+ withdrawsFutureSaleProtection: signals.includes(RETURN_ABUSE_SCAM_TYPES.claimAbuse),
156
+ opensReportForReview: signals.length > 0,
157
+ };
158
+ }
@@ -1,4 +1,4 @@
1
- import { NotFoundError, ConflictError, UnauthorizedError } from "../../errors/index";
1
+ import { NotFoundError, ConflictError, UnauthorizedError } from "../../errors/index.js";
2
2
  export class ReviewNotFoundError extends NotFoundError {
3
3
  constructor(id) {
4
4
  super("Review", id);
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
- import { mediaUrlSchema } from "../../../../validation/schemas";
3
- import { REVIEW_BODY_MAX_LENGTH, REVIEW_BODY_MIN_LENGTH, REVIEW_TITLE_MAX_LENGTH, REVIEW_MIN_RATING, REVIEW_MAX_RATING, REVIEW_IMAGES_MAX, REVIEW_REPLY_MAX_LENGTH, } from "./config";
2
+ import { mediaUrlSchema } from "../../../../validation/schemas.js";
3
+ import { REVIEW_BODY_MAX_LENGTH, REVIEW_BODY_MIN_LENGTH, REVIEW_TITLE_MAX_LENGTH, REVIEW_MIN_RATING, REVIEW_MAX_RATING, REVIEW_IMAGES_MAX, REVIEW_REPLY_MAX_LENGTH, } from "./config.js";
4
4
  export const createReviewSchema = z.object({
5
5
  productId: z.string().min(1),
6
6
  storeId: z.string().min(1),
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Courier ratings โ€” C5f. Two numbers, side by side, NEVER blended.
3
+ *
4
+ * ## ๐Ÿ›‘ The one rule
5
+ *
6
+ * The carrier's own rating (Shiprocket's, when a booking exists) and ours are
7
+ * shown separately and are never averaged into a third figure.
8
+ *
9
+ * Same discipline as market-vs-sold price and estimated-vs-actual parcel
10
+ * weight, and for the same reason in all three cases: **the gap is the
11
+ * information**. A courier Shiprocket rates 4.8 and our own buyers rate 4.1 is
12
+ * telling us something specific โ€” that the aggregate across their whole book of
13
+ * business does not describe our lanes, our parcels or our buyers. Averaging
14
+ * the two to 4.45 destroys exactly that signal and launders a vendor's number
15
+ * into one that looks like ours.
16
+ *
17
+ * ```
18
+ * Blue Dart Air Shiprocket 4.8โ˜… ยท LetItRip 4.5โ˜… (23) 1โ€“2 days โ‚น140
19
+ * Delhivery Surface Shiprocket 4.6โ˜… ยท not enough data yet 3โ€“5 days โ‚น60
20
+ * ```
21
+ *
22
+ * ## ๐Ÿ›‘ Below the threshold: "not enough data yet", never a number
23
+ *
24
+ * Identical rule to the price index, and it has to be, because a courier list
25
+ * is a choice made under time pressure: a 5.0 from one rating reads as better
26
+ * than a 4.6 from four hundred, and the reader has no way to know otherwise
27
+ * unless we decline to print it.
28
+ *
29
+ * ## What this module is NOT
30
+ *
31
+ * It does not query, it does not aggregate, and it does not fetch. The rollup
32
+ * runs as a pass in the existing daily job โ€” a new Cloud Scheduler job would be
33
+ * a real registered cost (ยง Firebase budget) for a number nobody reads hourly.
34
+ *
35
+ * ๐Ÿ›‘ And `aggregateRatingJsonLd` stays `Product`-typed and is deliberately NOT
36
+ * extended to cover this. A courier rating is operational feedback for a
37
+ * fulfilment choice, not a product review; marking it up invites a rich result
38
+ * for something we do not sell.
39
+ */
40
+ /**
41
+ * Below this, our own rating renders as a sample count and no star figure.
42
+ *
43
+ * Exported so the rollup, the projection and the view agree. A threshold one
44
+ * applied and another did not would either hide real data or publish an average
45
+ * of two votes as a reliability score.
46
+ */
47
+ export declare const COURIER_RATING_MIN_CONFIDENT_SAMPLES = 5;
48
+ /** One courier's two numbers, as a renderer receives them. */
49
+ export interface CourierRatingPair {
50
+ courierId: string;
51
+ name: string;
52
+ /**
53
+ * The carrier's own rating, passed through verbatim.
54
+ *
55
+ * ๐Ÿ›‘ Absent is not zero. A courier Shiprocket has not rated has no vendor
56
+ * figure, and rendering 0โ˜… would read as "rated terribly" rather than "not
57
+ * rated" โ€” the same distinction `undefined` vs `0` carries on every count in
58
+ * this codebase (Root Cause #72).
59
+ */
60
+ providerRating?: number;
61
+ /** Ours, from `courierStats/{courierId}`. Absent until anyone has rated. */
62
+ platformRating?: {
63
+ average: number;
64
+ count: number;
65
+ onTimeShare?: number;
66
+ };
67
+ }
68
+ export type CourierRatingDisplay = {
69
+ kind: "none";
70
+ label: string;
71
+ } | {
72
+ kind: "provider-only";
73
+ providerRating: number;
74
+ ourLabel: string;
75
+ } | {
76
+ kind: "ours-only";
77
+ average: number;
78
+ count: number;
79
+ } | {
80
+ kind: "both";
81
+ providerRating: number;
82
+ average: number;
83
+ count: number;
84
+ };
85
+ /**
86
+ * What to render for one courier.
87
+ *
88
+ * ๐Ÿ›‘ Returns a discriminated union rather than two optional numbers, because
89
+ * the four cases read differently and a renderer that has to decide will
90
+ * eventually print `0โ˜…` for one of them. The union makes "we have no rating"
91
+ * impossible to confuse with "we have a rating of zero".
92
+ */
93
+ export declare function courierRatingDisplay(pair: CourierRatingPair): CourierRatingDisplay;
94
+ /**
95
+ * ๐Ÿ›‘ There is deliberately NO `combinedRating()` in this module, and this
96
+ * comment is the enforcement.
97
+ *
98
+ * Every time a rating pair reaches a sort, a badge or a "best courier" pick,
99
+ * the cheapest-looking move is to average the two so there is one number to
100
+ * order by. Do not add it. If a single ordering is genuinely needed, order by
101
+ * OURS and fall back to the provider's โ€” stating which one you used โ€” because
102
+ * that is a choice a reader can evaluate, and a mean of two differently-sourced
103
+ * populations is not.
104
+ */
105
+ /** One vote. The document shape of `courierRatings`. */
106
+ export interface CourierRatingVote {
107
+ courierId: string;
108
+ orderId: string;
109
+ userId: string;
110
+ /** 1โ€“5. */
111
+ rating: number;
112
+ /** Did it arrive by the promised date? Tracked separately from the stars. */
113
+ onTime: boolean;
114
+ comment?: string;
115
+ }
116
+ /**
117
+ * Is this vote acceptable?
118
+ *
119
+ * ๐Ÿ›‘ One vote per user per ORDER, not per courier โ€” a buyer who used Blue Dart
120
+ * four times has four legitimate opinions, and collapsing them to one would
121
+ * weight a frequent buyer the same as a one-off. Idempotency is by document id
122
+ * (`{orderId}__{userId}`), reusing the precedent `ReviewDocument.helpfulVoterIds`
123
+ * already sets rather than inventing a second one.
124
+ */
125
+ export declare function isValidCourierVote(vote: Partial<CourierRatingVote>): boolean;
126
+ /** The deterministic id โ€” a re-vote overwrites rather than double-counting. */
127
+ export declare function courierVoteId(orderId: string, userId: string): string;
128
+ /** The rolled-up shape, written daily. */
129
+ export interface CourierStats {
130
+ courierId: string;
131
+ average: number;
132
+ count: number;
133
+ /** Share of votes reporting on-time delivery, 0โ€“1. */
134
+ onTimeShare: number;
135
+ computedAt: Date;
136
+ }
137
+ /**
138
+ * Roll a vote list into stats.
139
+ *
140
+ * Pure, so the daily job and any verification share one implementation.
141
+ * ๐Ÿ›‘ Returns `null` for an empty list rather than a zeroed record โ€” writing
142
+ * `average: 0, count: 0` would publish a courier as rated-zero, and a reader
143
+ * cannot tell that from a genuinely terrible courier.
144
+ */
145
+ export declare function rollUpCourierVotes(courierId: string, votes: readonly CourierRatingVote[], now: Date): CourierStats | null;