@mohasinac/appkit 4.58.0 → 4.59.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 (556) hide show
  1. package/dist/.build-stamp.json +3 -3
  2. package/dist/_internal/server/jobs/handlers/messages.d.ts +1 -1
  3. package/dist/_internal/server/jobs/handlers/messages.js +1 -1
  4. package/dist/_internal/shared/types/base-document.d.ts +1 -1
  5. package/dist/constants/seed-meta.d.ts +113 -0
  6. package/dist/constants/seed-meta.js +91 -0
  7. package/dist/index.d.ts +0 -131
  8. package/dist/index.js +50 -294
  9. package/dist/server.d.ts +0 -69
  10. package/dist/server.js +0 -69
  11. package/package.json +4 -2
  12. package/scripts/seed-cli.mjs +69 -1
  13. package/dist/features/tester/seed-data/_happy-path.d.ts +0 -23
  14. package/dist/features/tester/seed-data/_happy-path.js +0 -710
  15. package/dist/features/tester/seed-data/_money-flows.d.ts +0 -23
  16. package/dist/features/tester/seed-data/_money-flows.js +0 -610
  17. package/dist/features/tester/seed-data/authored/_types.d.ts +0 -57
  18. package/dist/features/tester/seed-data/authored/_types.js +0 -35
  19. package/dist/features/tester/seed-data/authored/account-auth__profile-settings.d.ts +0 -2
  20. package/dist/features/tester/seed-data/authored/account-auth__profile-settings.js +0 -226
  21. package/dist/features/tester/seed-data/authored/account-auth__signup-login.d.ts +0 -2
  22. package/dist/features/tester/seed-data/authored/account-auth__signup-login.js +0 -329
  23. package/dist/features/tester/seed-data/authored/addresses__address-filters.d.ts +0 -2
  24. package/dist/features/tester/seed-data/authored/addresses__address-filters.js +0 -41
  25. package/dist/features/tester/seed-data/authored/addresses__postal-lookup.d.ts +0 -2
  26. package/dist/features/tester/seed-data/authored/addresses__postal-lookup.js +0 -76
  27. package/dist/features/tester/seed-data/authored/addresses__postal-validation.d.ts +0 -2
  28. package/dist/features/tester/seed-data/authored/addresses__postal-validation.js +0 -78
  29. package/dist/features/tester/seed-data/authored/addresses__state-picker.d.ts +0 -2
  30. package/dist/features/tester/seed-data/authored/addresses__state-picker.js +0 -59
  31. package/dist/features/tester/seed-data/authored/addresses__unban-request.d.ts +0 -2
  32. package/dist/features/tester/seed-data/authored/addresses__unban-request.js +0 -77
  33. package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.d.ts +0 -2
  34. package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.js +0 -151
  35. package/dist/features/tester/seed-data/authored/admin__bans-and-trust.d.ts +0 -2
  36. package/dist/features/tester/seed-data/authored/admin__bans-and-trust.js +0 -265
  37. package/dist/features/tester/seed-data/authored/admin__blog-faqs.d.ts +0 -2
  38. package/dist/features/tester/seed-data/authored/admin__blog-faqs.js +0 -131
  39. package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.d.ts +0 -2
  40. package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.js +0 -143
  41. package/dist/features/tester/seed-data/authored/admin__bulk-actions.d.ts +0 -2
  42. package/dist/features/tester/seed-data/authored/admin__bulk-actions.js +0 -207
  43. package/dist/features/tester/seed-data/authored/admin__bundles.d.ts +0 -2
  44. package/dist/features/tester/seed-data/authored/admin__bundles.js +0 -144
  45. package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.d.ts +0 -2
  46. package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.js +0 -265
  47. package/dist/features/tester/seed-data/authored/admin__catalog-listings.d.ts +0 -2
  48. package/dist/features/tester/seed-data/authored/admin__catalog-listings.js +0 -318
  49. package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.d.ts +0 -2
  50. package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.js +0 -177
  51. package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.d.ts +0 -2
  52. package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.js +0 -165
  53. package/dist/features/tester/seed-data/authored/admin__content-deletes.d.ts +0 -2
  54. package/dist/features/tester/seed-data/authored/admin__content-deletes.js +0 -267
  55. package/dist/features/tester/seed-data/authored/admin__content-marketing.d.ts +0 -2
  56. package/dist/features/tester/seed-data/authored/admin__content-marketing.js +0 -188
  57. package/dist/features/tester/seed-data/authored/admin__coupons.d.ts +0 -2
  58. package/dist/features/tester/seed-data/authored/admin__coupons.js +0 -215
  59. package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.d.ts +0 -2
  60. package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.js +0 -202
  61. package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.d.ts +0 -2
  62. package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.js +0 -249
  63. package/dist/features/tester/seed-data/authored/admin__media-watermark.d.ts +0 -2
  64. package/dist/features/tester/seed-data/authored/admin__media-watermark.js +0 -148
  65. package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.d.ts +0 -2
  66. package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.js +0 -350
  67. package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.d.ts +0 -2
  68. package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.js +0 -129
  69. package/dist/features/tester/seed-data/authored/admin__site-system.d.ts +0 -2
  70. package/dist/features/tester/seed-data/authored/admin__site-system.js +0 -586
  71. package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.d.ts +0 -2
  72. package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.js +0 -260
  73. package/dist/features/tester/seed-data/authored/admin__users-trust.d.ts +0 -2
  74. package/dist/features/tester/seed-data/authored/admin__users-trust.js +0 -569
  75. package/dist/features/tester/seed-data/authored/buying__bidding.d.ts +0 -2
  76. package/dist/features/tester/seed-data/authored/buying__bidding.js +0 -449
  77. package/dist/features/tester/seed-data/authored/buying__browsing-search.d.ts +0 -2
  78. package/dist/features/tester/seed-data/authored/buying__browsing-search.js +0 -684
  79. package/dist/features/tester/seed-data/authored/buying__buying-checkout.d.ts +0 -2
  80. package/dist/features/tester/seed-data/authored/buying__buying-checkout.js +0 -546
  81. package/dist/features/tester/seed-data/authored/buying__buying-coupons.d.ts +0 -2
  82. package/dist/features/tester/seed-data/authored/buying__buying-coupons.js +0 -379
  83. package/dist/features/tester/seed-data/authored/buying__cart.d.ts +0 -2
  84. package/dist/features/tester/seed-data/authored/buying__cart.js +0 -1264
  85. package/dist/features/tester/seed-data/authored/buying__image-tile-layout.d.ts +0 -2
  86. package/dist/features/tester/seed-data/authored/buying__image-tile-layout.js +0 -122
  87. package/dist/features/tester/seed-data/authored/buying__my-orders.d.ts +0 -2
  88. package/dist/features/tester/seed-data/authored/buying__my-orders.js +0 -279
  89. package/dist/features/tester/seed-data/authored/buying__offers.d.ts +0 -2
  90. package/dist/features/tester/seed-data/authored/buying__offers.js +0 -1127
  91. package/dist/features/tester/seed-data/authored/buying__order-detail-actions.d.ts +0 -2
  92. package/dist/features/tester/seed-data/authored/buying__order-detail-actions.js +0 -153
  93. package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.d.ts +0 -2
  94. package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.js +0 -252
  95. package/dist/features/tester/seed-data/authored/buying__product-detail.d.ts +0 -2
  96. package/dist/features/tester/seed-data/authored/buying__product-detail.js +0 -474
  97. package/dist/features/tester/seed-data/authored/buying__return-request.d.ts +0 -2
  98. package/dist/features/tester/seed-data/authored/buying__return-request.js +0 -165
  99. package/dist/features/tester/seed-data/authored/buying__reviews-pagination.d.ts +0 -2
  100. package/dist/features/tester/seed-data/authored/buying__reviews-pagination.js +0 -260
  101. package/dist/features/tester/seed-data/authored/buying__reviews.d.ts +0 -2
  102. package/dist/features/tester/seed-data/authored/buying__reviews.js +0 -128
  103. package/dist/features/tester/seed-data/authored/buying__spares-and-groups.d.ts +0 -2
  104. package/dist/features/tester/seed-data/authored/buying__spares-and-groups.js +0 -96
  105. package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.d.ts +0 -2
  106. package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.js +0 -283
  107. package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.d.ts +0 -2
  108. package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.js +0 -169
  109. package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.d.ts +0 -2
  110. package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.js +0 -105
  111. package/dist/features/tester/seed-data/authored/buying__wishlist-history.d.ts +0 -2
  112. package/dist/features/tester/seed-data/authored/buying__wishlist-history.js +0 -374
  113. package/dist/features/tester/seed-data/authored/community-support__messages.d.ts +0 -2
  114. package/dist/features/tester/seed-data/authored/community-support__messages.js +0 -200
  115. package/dist/features/tester/seed-data/authored/community-support__public-profile.d.ts +0 -2
  116. package/dist/features/tester/seed-data/authored/community-support__public-profile.js +0 -54
  117. package/dist/features/tester/seed-data/authored/community-support__support-tickets.d.ts +0 -2
  118. package/dist/features/tester/seed-data/authored/community-support__support-tickets.js +0 -76
  119. package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.d.ts +0 -4
  120. package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.js +0 -590
  121. package/dist/features/tester/seed-data/authored/content-discovery__blog.d.ts +0 -2
  122. package/dist/features/tester/seed-data/authored/content-discovery__blog.js +0 -110
  123. package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.d.ts +0 -2
  124. package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.js +0 -149
  125. package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.d.ts +0 -2
  126. package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.js +0 -145
  127. package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.d.ts +0 -2
  128. package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.js +0 -174
  129. package/dist/features/tester/seed-data/authored/content-discovery__coupons.d.ts +0 -2
  130. package/dist/features/tester/seed-data/authored/content-discovery__coupons.js +0 -169
  131. package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.d.ts +0 -2
  132. package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.js +0 -209
  133. package/dist/features/tester/seed-data/authored/content-discovery__event-participation.d.ts +0 -2
  134. package/dist/features/tester/seed-data/authored/content-discovery__event-participation.js +0 -207
  135. package/dist/features/tester/seed-data/authored/content-discovery__events.d.ts +0 -2
  136. package/dist/features/tester/seed-data/authored/content-discovery__events.js +0 -377
  137. package/dist/features/tester/seed-data/authored/content-discovery__faq-help.d.ts +0 -2
  138. package/dist/features/tester/seed-data/authored/content-discovery__faq-help.js +0 -87
  139. package/dist/features/tester/seed-data/authored/content-discovery__notifications.d.ts +0 -2
  140. package/dist/features/tester/seed-data/authored/content-discovery__notifications.js +0 -147
  141. package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.d.ts +0 -2
  142. package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.js +0 -209
  143. package/dist/features/tester/seed-data/authored/content-discovery__parts-database.d.ts +0 -2
  144. package/dist/features/tester/seed-data/authored/content-discovery__parts-database.js +0 -167
  145. package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.d.ts +0 -2
  146. package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.js +0 -73
  147. package/dist/features/tester/seed-data/authored/content-discovery__search.d.ts +0 -2
  148. package/dist/features/tester/seed-data/authored/content-discovery__search.js +0 -363
  149. package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.d.ts +0 -2
  150. package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.js +0 -340
  151. package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.d.ts +0 -2
  152. package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.js +0 -88
  153. package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.d.ts +0 -2
  154. package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.js +0 -78
  155. package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.d.ts +0 -2
  156. package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.js +0 -76
  157. package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.d.ts +0 -2
  158. package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.js +0 -62
  159. package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.d.ts +0 -2
  160. package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.js +0 -163
  161. package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.d.ts +0 -2
  162. package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.js +0 -61
  163. package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.d.ts +0 -2
  164. package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.js +0 -89
  165. package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.d.ts +0 -2
  166. package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.js +0 -95
  167. package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.d.ts +0 -2
  168. package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.js +0 -191
  169. package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.d.ts +0 -2
  170. package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.js +0 -158
  171. package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.d.ts +0 -2
  172. package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.js +0 -82
  173. package/dist/features/tester/seed-data/authored/design-ux__footer-theme.d.ts +0 -2
  174. package/dist/features/tester/seed-data/authored/design-ux__footer-theme.js +0 -106
  175. package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.d.ts +0 -2
  176. package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.js +0 -88
  177. package/dist/features/tester/seed-data/authored/design-ux__general-design.d.ts +0 -2
  178. package/dist/features/tester/seed-data/authored/design-ux__general-design.js +0 -204
  179. package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.d.ts +0 -2
  180. package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.js +0 -301
  181. package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.d.ts +0 -2
  182. package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.js +0 -90
  183. package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.d.ts +0 -2
  184. package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.js +0 -85
  185. package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.d.ts +0 -2
  186. package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.js +0 -407
  187. package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.d.ts +0 -2
  188. package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.js +0 -88
  189. package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.d.ts +0 -2
  190. package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.js +0 -84
  191. package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.d.ts +0 -2
  192. package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.js +0 -214
  193. package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.d.ts +0 -2
  194. package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.js +0 -275
  195. package/dist/features/tester/seed-data/authored/index.d.ts +0 -2
  196. package/dist/features/tester/seed-data/authored/index.js +0 -301
  197. package/dist/features/tester/seed-data/authored/page-wiring__data-loss.d.ts +0 -2
  198. package/dist/features/tester/seed-data/authored/page-wiring__data-loss.js +0 -125
  199. package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.d.ts +0 -2
  200. package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.js +0 -85
  201. package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.d.ts +0 -2
  202. package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.js +0 -92
  203. package/dist/features/tester/seed-data/authored/page-wiring__reachability.d.ts +0 -2
  204. package/dist/features/tester/seed-data/authored/page-wiring__reachability.js +0 -115
  205. package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.d.ts +0 -2
  206. package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.js +0 -137
  207. package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.d.ts +0 -2
  208. package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.js +0 -263
  209. package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.d.ts +0 -2
  210. package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.js +0 -229
  211. package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.d.ts +0 -2
  212. package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.js +0 -325
  213. package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.d.ts +0 -2
  214. package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.js +0 -126
  215. package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.d.ts +0 -2
  216. package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.js +0 -141
  217. package/dist/features/tester/seed-data/authored/public-pages__store-tabs.d.ts +0 -2
  218. package/dist/features/tester/seed-data/authored/public-pages__store-tabs.js +0 -115
  219. package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.d.ts +0 -2
  220. package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.js +0 -253
  221. package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.d.ts +0 -2
  222. package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.js +0 -93
  223. package/dist/features/tester/seed-data/authored/search-and-nav__header-search.d.ts +0 -3
  224. package/dist/features/tester/seed-data/authored/search-and-nav__header-search.js +0 -185
  225. package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.d.ts +0 -2
  226. package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.js +0 -82
  227. package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.d.ts +0 -2
  228. package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.js +0 -60
  229. package/dist/features/tester/seed-data/authored/selling__become-seller.d.ts +0 -2
  230. package/dist/features/tester/seed-data/authored/selling__become-seller.js +0 -117
  231. package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.d.ts +0 -2
  232. package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.js +0 -148
  233. package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.d.ts +0 -2
  234. package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.js +0 -108
  235. package/dist/features/tester/seed-data/authored/selling__listing-a-product.d.ts +0 -2
  236. package/dist/features/tester/seed-data/authored/selling__listing-a-product.js +0 -274
  237. package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.d.ts +0 -2
  238. package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.js +0 -145
  239. package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.d.ts +0 -2
  240. package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.js +0 -336
  241. package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.d.ts +0 -2
  242. package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.js +0 -136
  243. package/dist/features/tester/seed-data/authored/selling__media-limits.d.ts +0 -2
  244. package/dist/features/tester/seed-data/authored/selling__media-limits.js +0 -135
  245. package/dist/features/tester/seed-data/authored/selling__product-upload-details.d.ts +0 -2
  246. package/dist/features/tester/seed-data/authored/selling__product-upload-details.js +0 -155
  247. package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.d.ts +0 -2
  248. package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.js +0 -138
  249. package/dist/features/tester/seed-data/authored/selling__sectionised-forms.d.ts +0 -2
  250. package/dist/features/tester/seed-data/authored/selling__sectionised-forms.js +0 -191
  251. package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.d.ts +0 -2
  252. package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.js +0 -138
  253. package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.d.ts +0 -2
  254. package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.js +0 -106
  255. package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.d.ts +0 -2
  256. package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.js +0 -192
  257. package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.d.ts +0 -2
  258. package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.js +0 -109
  259. package/dist/features/tester/seed-data/authored/selling__seller-guide.d.ts +0 -2
  260. package/dist/features/tester/seed-data/authored/selling__seller-guide.js +0 -34
  261. package/dist/features/tester/seed-data/authored/selling__seller-listing-types.d.ts +0 -2
  262. package/dist/features/tester/seed-data/authored/selling__seller-listing-types.js +0 -348
  263. package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.d.ts +0 -2
  264. package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.js +0 -87
  265. package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.d.ts +0 -2
  266. package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.js +0 -90
  267. package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.d.ts +0 -2
  268. package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.js +0 -85
  269. package/dist/features/tester/seed-data/authored/selling__seller-orders.d.ts +0 -2
  270. package/dist/features/tester/seed-data/authored/selling__seller-orders.js +0 -213
  271. package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.d.ts +0 -2
  272. package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.js +0 -192
  273. package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.d.ts +0 -2
  274. package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.js +0 -77
  275. package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.d.ts +0 -2
  276. package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.js +0 -165
  277. package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.d.ts +0 -2
  278. package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.js +0 -116
  279. package/dist/features/tester/seed-data/authored/seo__canonical-and-host.d.ts +0 -2
  280. package/dist/features/tester/seed-data/authored/seo__canonical-and-host.js +0 -127
  281. package/dist/features/tester/seed-data/authored/seo__og-images.d.ts +0 -2
  282. package/dist/features/tester/seed-data/authored/seo__og-images.js +0 -107
  283. package/dist/features/tester/seed-data/authored/seo__page-metadata.d.ts +0 -2
  284. package/dist/features/tester/seed-data/authored/seo__page-metadata.js +0 -120
  285. package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.d.ts +0 -2
  286. package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.js +0 -105
  287. package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.d.ts +0 -2
  288. package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.js +0 -58
  289. package/dist/features/tester/seed-data/authored/tools__sticker-tracer.d.ts +0 -2
  290. package/dist/features/tester/seed-data/authored/tools__sticker-tracer.js +0 -284
  291. package/dist/features/tester/seed-data/index.d.ts +0 -2
  292. package/dist/features/tester/seed-data/index.js +0 -2
  293. package/dist/features/tester/seed-data/tester-checklist-seed-data.d.ts +0 -2
  294. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +0 -7601
  295. package/dist/features/tester/seed-data/tester-responses-seed-data.d.ts +0 -2
  296. package/dist/features/tester/seed-data/tester-responses-seed-data.js +0 -95
  297. package/dist/features/tester/seed-data/tester-window.d.ts +0 -25
  298. package/dist/features/tester/seed-data/tester-window.js +0 -66
  299. package/dist/seed/_helpers/brand-rows.d.ts +0 -35
  300. package/dist/seed/_helpers/brand-rows.js +0 -600
  301. package/dist/seed/_helpers/category-content-generated.d.ts +0 -24
  302. package/dist/seed/_helpers/category-content-generated.js +0 -1853
  303. package/dist/seed/_helpers/category-content.d.ts +0 -68
  304. package/dist/seed/_helpers/category-content.js +0 -731
  305. package/dist/seed/_helpers/category-forest.d.ts +0 -4
  306. package/dist/seed/_helpers/category-forest.js +0 -824
  307. package/dist/seed/_helpers/category-images-generated.d.ts +0 -57
  308. package/dist/seed/_helpers/category-images-generated.js +0 -618
  309. package/dist/seed/_helpers/category-models/chunk0.d.ts +0 -2
  310. package/dist/seed/_helpers/category-models/chunk0.js +0 -2648
  311. package/dist/seed/_helpers/category-models/chunk1.d.ts +0 -2
  312. package/dist/seed/_helpers/category-models/chunk1.js +0 -2318
  313. package/dist/seed/_helpers/category-models/chunk2.d.ts +0 -2
  314. package/dist/seed/_helpers/category-models/chunk2.js +0 -2560
  315. package/dist/seed/_helpers/category-models/chunk3.d.ts +0 -2
  316. package/dist/seed/_helpers/category-models/chunk3.js +0 -2196
  317. package/dist/seed/_helpers/category-models/chunk4.d.ts +0 -2
  318. package/dist/seed/_helpers/category-models/chunk4.js +0 -1732
  319. package/dist/seed/_helpers/category-models.d.ts +0 -12
  320. package/dist/seed/_helpers/category-models.js +0 -45
  321. package/dist/seed/_helpers/category-names.d.ts +0 -54
  322. package/dist/seed/_helpers/category-names.js +0 -118
  323. package/dist/seed/_helpers/category-parts-glossary-map.d.ts +0 -1
  324. package/dist/seed/_helpers/category-parts-glossary-map.js +0 -2499
  325. package/dist/seed/_helpers/category-parts.d.ts +0 -9
  326. package/dist/seed/_helpers/category-parts.js +0 -15022
  327. package/dist/seed/_helpers/category-tree.d.ts +0 -27
  328. package/dist/seed/_helpers/category-tree.js +0 -119
  329. package/dist/seed/_helpers/character-features.d.ts +0 -10
  330. package/dist/seed/_helpers/character-features.js +0 -120
  331. package/dist/seed/_helpers/final-sale-fixtures.d.ts +0 -35
  332. package/dist/seed/_helpers/final-sale-fixtures.js +0 -61
  333. package/dist/seed/_helpers/franchise-rows.d.ts +0 -43
  334. package/dist/seed/_helpers/franchise-rows.js +0 -189
  335. package/dist/seed/_helpers/media.d.ts +0 -67
  336. package/dist/seed/_helpers/media.js +0 -172
  337. package/dist/seed/_helpers/part-colours-generated.d.ts +0 -18
  338. package/dist/seed/_helpers/part-colours-generated.js +0 -273
  339. package/dist/seed/_helpers/product-search-txt.d.ts +0 -18
  340. package/dist/seed/_helpers/product-search-txt.js +0 -23
  341. package/dist/seed/_helpers/search-txt-wrappers.d.ts +0 -26
  342. package/dist/seed/_helpers/search-txt-wrappers.js +0 -58
  343. package/dist/seed/addresses-seed-data.d.ts +0 -2
  344. package/dist/seed/addresses-seed-data.js +0 -78
  345. package/dist/seed/authenticity-knowledge-seed-data.d.ts +0 -78
  346. package/dist/seed/authenticity-knowledge-seed-data.js +0 -10729
  347. package/dist/seed/bey-products-seed-data.d.ts +0 -18
  348. package/dist/seed/bey-products-seed-data.js +0 -18011
  349. package/dist/seed/beys/chunk0.d.ts +0 -17
  350. package/dist/seed/beys/chunk0.js +0 -36733
  351. package/dist/seed/beys/chunk1.d.ts +0 -17
  352. package/dist/seed/beys/chunk1.js +0 -35728
  353. package/dist/seed/beys/chunk2.d.ts +0 -17
  354. package/dist/seed/beys/chunk2.js +0 -35857
  355. package/dist/seed/beys/chunk3.d.ts +0 -17
  356. package/dist/seed/beys/chunk3.js +0 -34476
  357. package/dist/seed/beys-seed-data.d.ts +0 -18
  358. package/dist/seed/beys-seed-data.js +0 -11
  359. package/dist/seed/bids-seed-data.d.ts +0 -2
  360. package/dist/seed/bids-seed-data.js +0 -206
  361. package/dist/seed/blog-posts-seed-data.d.ts +0 -6
  362. package/dist/seed/blog-posts-seed-data.js +0 -442
  363. package/dist/seed/carousel-slides-seed-data.d.ts +0 -2
  364. package/dist/seed/carousel-slides-seed-data.js +0 -411
  365. package/dist/seed/carousels-seed-data.d.ts +0 -2
  366. package/dist/seed/carousels-seed-data.js +0 -36
  367. package/dist/seed/cart-seed-data.d.ts +0 -2
  368. package/dist/seed/cart-seed-data.js +0 -241
  369. package/dist/seed/catalogue-seed-data.d.ts +0 -2
  370. package/dist/seed/catalogue-seed-data.js +0 -112
  371. package/dist/seed/categories-seed-data.d.ts +0 -3
  372. package/dist/seed/categories-seed-data.js +0 -816
  373. package/dist/seed/claimed-coupons-seed-data.d.ts +0 -2
  374. package/dist/seed/claimed-coupons-seed-data.js +0 -85
  375. package/dist/seed/coupon-usage-seed-data.d.ts +0 -9
  376. package/dist/seed/coupon-usage-seed-data.js +0 -55
  377. package/dist/seed/coupons-seed-data.d.ts +0 -2
  378. package/dist/seed/coupons-seed-data.js +0 -226
  379. package/dist/seed/defaults/categories.d.ts +0 -2
  380. package/dist/seed/defaults/categories.js +0 -12
  381. package/dist/seed/defaults/faqs.d.ts +0 -2
  382. package/dist/seed/defaults/faqs.js +0 -40
  383. package/dist/seed/events-seed-data.d.ts +0 -7
  384. package/dist/seed/events-seed-data.js +0 -482
  385. package/dist/seed/factories/address.factory.d.ts +0 -21
  386. package/dist/seed/factories/address.factory.js +0 -44
  387. package/dist/seed/factories/bid.factory.d.ts +0 -15
  388. package/dist/seed/factories/bid.factory.js +0 -33
  389. package/dist/seed/factories/blog-post.factory.d.ts +0 -15
  390. package/dist/seed/factories/blog-post.factory.js +0 -22
  391. package/dist/seed/factories/carousel.factory.d.ts +0 -11
  392. package/dist/seed/factories/carousel.factory.js +0 -17
  393. package/dist/seed/factories/cart.factory.d.ts +0 -25
  394. package/dist/seed/factories/cart.factory.js +0 -35
  395. package/dist/seed/factories/category.factory.d.ts +0 -11
  396. package/dist/seed/factories/category.factory.js +0 -16
  397. package/dist/seed/factories/coupon.factory.d.ts +0 -21
  398. package/dist/seed/factories/coupon.factory.js +0 -43
  399. package/dist/seed/factories/faq.factory.d.ts +0 -10
  400. package/dist/seed/factories/faq.factory.js +0 -15
  401. package/dist/seed/factories/notification.factory.d.ts +0 -18
  402. package/dist/seed/factories/notification.factory.js +0 -39
  403. package/dist/seed/factories/order.factory.d.ts +0 -20
  404. package/dist/seed/factories/order.factory.js +0 -20
  405. package/dist/seed/factories/payout.factory.d.ts +0 -21
  406. package/dist/seed/factories/payout.factory.js +0 -38
  407. package/dist/seed/factories/product.factory.d.ts +0 -27
  408. package/dist/seed/factories/product.factory.js +0 -80
  409. package/dist/seed/factories/review.factory.d.ts +0 -14
  410. package/dist/seed/factories/review.factory.js +0 -52
  411. package/dist/seed/factories/session.factory.d.ts +0 -15
  412. package/dist/seed/factories/session.factory.js +0 -31
  413. package/dist/seed/factories/store.factory.d.ts +0 -23
  414. package/dist/seed/factories/store.factory.js +0 -47
  415. package/dist/seed/factories/user.factory.d.ts +0 -19
  416. package/dist/seed/factories/user.factory.js +0 -56
  417. package/dist/seed/faq-seed-data.d.ts +0 -18
  418. package/dist/seed/faq-seed-data.js +0 -1956
  419. package/dist/seed/firestore-indexes.d.ts +0 -12
  420. package/dist/seed/firestore-indexes.js +0 -31
  421. package/dist/seed/grouped-listings-seed-data.d.ts +0 -2
  422. package/dist/seed/grouped-listings-seed-data.js +0 -283
  423. package/dist/seed/history-seed-data.d.ts +0 -12
  424. package/dist/seed/history-seed-data.js +0 -70
  425. package/dist/seed/homepage-sections-seed-data.d.ts +0 -2
  426. package/dist/seed/homepage-sections-seed-data.js +0 -1034
  427. package/dist/seed/index.d.ts +0 -100
  428. package/dist/seed/index.js +0 -115
  429. package/dist/seed/lottery-entries-seed-data.d.ts +0 -2
  430. package/dist/seed/lottery-entries-seed-data.js +0 -108
  431. package/dist/seed/manifest.d.ts +0 -16
  432. package/dist/seed/manifest.js +0 -235
  433. package/dist/seed/media-assets-seed-data.d.ts +0 -22
  434. package/dist/seed/media-assets-seed-data.js +0 -5593
  435. package/dist/seed/model-composition-seed-data.d.ts +0 -15
  436. package/dist/seed/model-composition-seed-data.js +0 -9032
  437. package/dist/seed/notifications-seed-data.d.ts +0 -2
  438. package/dist/seed/notifications-seed-data.js +0 -606
  439. package/dist/seed/offers-seed-data.d.ts +0 -2
  440. package/dist/seed/offers-seed-data.js +0 -398
  441. package/dist/seed/orders-seed-data.d.ts +0 -2
  442. package/dist/seed/orders-seed-data.js +0 -845
  443. package/dist/seed/part-glossary/chunk0.d.ts +0 -9
  444. package/dist/seed/part-glossary/chunk0.js +0 -35448
  445. package/dist/seed/part-glossary/chunk1.d.ts +0 -9
  446. package/dist/seed/part-glossary/chunk1.js +0 -40494
  447. package/dist/seed/part-glossary/chunk2.d.ts +0 -9
  448. package/dist/seed/part-glossary/chunk2.js +0 -51242
  449. package/dist/seed/part-glossary/chunk3.d.ts +0 -9
  450. package/dist/seed/part-glossary/chunk3.js +0 -53337
  451. package/dist/seed/part-glossary/chunk4.d.ts +0 -9
  452. package/dist/seed/part-glossary/chunk4.js +0 -51454
  453. package/dist/seed/part-glossary-seed-data.d.ts +0 -15
  454. package/dist/seed/part-glossary-seed-data.js +0 -25
  455. package/dist/seed/payouts-seed-data.d.ts +0 -2
  456. package/dist/seed/payouts-seed-data.js +0 -302
  457. package/dist/seed/product-features-seed-data.d.ts +0 -3
  458. package/dist/seed/product-features-seed-data.js +0 -366
  459. package/dist/seed/products-art-seed-data.d.ts +0 -2
  460. package/dist/seed/products-art-seed-data.js +0 -289
  461. package/dist/seed/products-auctions-seed-data.d.ts +0 -2
  462. package/dist/seed/products-auctions-seed-data.js +0 -475
  463. package/dist/seed/products-beyblade-x-seed-data.d.ts +0 -2
  464. package/dist/seed/products-beyblade-x-seed-data.js +0 -476
  465. package/dist/seed/products-catalogue/chunk0.d.ts +0 -12
  466. package/dist/seed/products-catalogue/chunk0.js +0 -7262
  467. package/dist/seed/products-catalogue/chunk1.d.ts +0 -12
  468. package/dist/seed/products-catalogue/chunk1.js +0 -7290
  469. package/dist/seed/products-catalogue/chunk10.d.ts +0 -12
  470. package/dist/seed/products-catalogue/chunk10.js +0 -7290
  471. package/dist/seed/products-catalogue/chunk11.d.ts +0 -12
  472. package/dist/seed/products-catalogue/chunk11.js +0 -7005
  473. package/dist/seed/products-catalogue/chunk12.d.ts +0 -12
  474. package/dist/seed/products-catalogue/chunk12.js +0 -7002
  475. package/dist/seed/products-catalogue/chunk13.d.ts +0 -12
  476. package/dist/seed/products-catalogue/chunk13.js +0 -7002
  477. package/dist/seed/products-catalogue/chunk14.d.ts +0 -12
  478. package/dist/seed/products-catalogue/chunk14.js +0 -7002
  479. package/dist/seed/products-catalogue/chunk15.d.ts +0 -12
  480. package/dist/seed/products-catalogue/chunk15.js +0 -7002
  481. package/dist/seed/products-catalogue/chunk16.d.ts +0 -12
  482. package/dist/seed/products-catalogue/chunk16.js +0 -7002
  483. package/dist/seed/products-catalogue/chunk17.d.ts +0 -12
  484. package/dist/seed/products-catalogue/chunk17.js +0 -7002
  485. package/dist/seed/products-catalogue/chunk18.d.ts +0 -12
  486. package/dist/seed/products-catalogue/chunk18.js +0 -4398
  487. package/dist/seed/products-catalogue/chunk2.d.ts +0 -12
  488. package/dist/seed/products-catalogue/chunk2.js +0 -7268
  489. package/dist/seed/products-catalogue/chunk3.d.ts +0 -12
  490. package/dist/seed/products-catalogue/chunk3.js +0 -7264
  491. package/dist/seed/products-catalogue/chunk4.d.ts +0 -12
  492. package/dist/seed/products-catalogue/chunk4.js +0 -7268
  493. package/dist/seed/products-catalogue/chunk5.d.ts +0 -12
  494. package/dist/seed/products-catalogue/chunk5.js +0 -7258
  495. package/dist/seed/products-catalogue/chunk6.d.ts +0 -12
  496. package/dist/seed/products-catalogue/chunk6.js +0 -7268
  497. package/dist/seed/products-catalogue/chunk7.d.ts +0 -12
  498. package/dist/seed/products-catalogue/chunk7.js +0 -7311
  499. package/dist/seed/products-catalogue/chunk8.d.ts +0 -12
  500. package/dist/seed/products-catalogue/chunk8.js +0 -7304
  501. package/dist/seed/products-catalogue/chunk9.d.ts +0 -12
  502. package/dist/seed/products-catalogue/chunk9.js +0 -7309
  503. package/dist/seed/products-catalogue-seed-data.d.ts +0 -2
  504. package/dist/seed/products-catalogue-seed-data.js +0 -60
  505. package/dist/seed/products-classifieds-seed-data.d.ts +0 -7
  506. package/dist/seed/products-classifieds-seed-data.js +0 -435
  507. package/dist/seed/products-digital-codes-seed-data.d.ts +0 -7
  508. package/dist/seed/products-digital-codes-seed-data.js +0 -395
  509. package/dist/seed/products-live-items-seed-data.d.ts +0 -7
  510. package/dist/seed/products-live-items-seed-data.js +0 -269
  511. package/dist/seed/products-preorders-seed-data.d.ts +0 -2
  512. package/dist/seed/products-preorders-seed-data.js +0 -360
  513. package/dist/seed/products-prize-draws-seed-data.d.ts +0 -7
  514. package/dist/seed/products-prize-draws-seed-data.js +0 -427
  515. package/dist/seed/products-spares-seed-data.d.ts +0 -2
  516. package/dist/seed/products-spares-seed-data.js +0 -368
  517. package/dist/seed/products-standard-seed-data.d.ts +0 -2
  518. package/dist/seed/products-standard-seed-data.js +0 -632
  519. package/dist/seed/products-stickers-seed-data.d.ts +0 -2
  520. package/dist/seed/products-stickers-seed-data.js +0 -319
  521. package/dist/seed/reviews-seed-data.d.ts +0 -1
  522. package/dist/seed/reviews-seed-data.js +0 -185
  523. package/dist/seed/runner.d.ts +0 -2
  524. package/dist/seed/runner.js +0 -125
  525. package/dist/seed/scammers-seed-data.d.ts +0 -2
  526. package/dist/seed/scammers-seed-data.js +0 -235
  527. package/dist/seed/seed-market-config.d.ts +0 -48
  528. package/dist/seed/seed-market-config.js +0 -199
  529. package/dist/seed/seed-purpose.d.ts +0 -299
  530. package/dist/seed/seed-purpose.js +0 -440
  531. package/dist/seed/sessions-seed-data.d.ts +0 -3
  532. package/dist/seed/sessions-seed-data.js +0 -116
  533. package/dist/seed/shipments-seed-data.d.ts +0 -5
  534. package/dist/seed/shipments-seed-data.js +0 -185
  535. package/dist/seed/site-settings-seed-data.d.ts +0 -2
  536. package/dist/seed/site-settings-seed-data.js +0 -1069
  537. package/dist/seed/store-addresses-seed-data.d.ts +0 -18
  538. package/dist/seed/store-addresses-seed-data.js +0 -71
  539. package/dist/seed/store-extensions-seed-data.d.ts +0 -11
  540. package/dist/seed/store-extensions-seed-data.js +0 -292
  541. package/dist/seed/stores-seed-data.d.ts +0 -6
  542. package/dist/seed/stores-seed-data.js +0 -242
  543. package/dist/seed/support-tickets-seed-data.d.ts +0 -16
  544. package/dist/seed/support-tickets-seed-data.js +0 -239
  545. package/dist/seed/tax-codes-seed-data.d.ts +0 -34
  546. package/dist/seed/tax-codes-seed-data.js +0 -100
  547. package/dist/seed/test-data-ttl.d.ts +0 -29
  548. package/dist/seed/test-data-ttl.js +0 -31
  549. package/dist/seed/test-utils.d.ts +0 -49
  550. package/dist/seed/test-utils.js +0 -110
  551. package/dist/seed/types.d.ts +0 -89
  552. package/dist/seed/types.js +0 -15
  553. package/dist/seed/users-seed-data.d.ts +0 -2
  554. package/dist/seed/users-seed-data.js +0 -597
  555. package/dist/seed/wishlists-seed-data.d.ts +0 -12
  556. package/dist/seed/wishlists-seed-data.js +0 -54
@@ -1,845 +0,0 @@
1
- /*
2
- * WHY: Seeds purchase orders representing completed transactions across Beyblade marketplace buyers and sellers.
3
- * WHAT: Exports 50 orders across 3 buyer/store combos. All statuses distributed. Order IDs: order-{itemCount}-{YYYYMMDD}-{rand6}.
4
- *
5
- * ## One fixture per acquisition path
6
- *
7
- * The six `acquisitionOrders` below exist so every branch of the
8
- * `OrderSourceContext` union has real data behind it. `orderType` has five
9
- * values and cannot separate a settled auction win from a buyout — both are
10
- * "auction" — which is exactly why `sourceContext` keys on its own
11
- * discriminator.
12
- *
13
- * Every FK in a `sourceContext` points at a real seeded document: the winning
14
- * bid, the buyout bid, the accepted offer. A provenance record pointing at
15
- * nothing is worse than none, because it reads as evidence (Root Cause #26).
16
- *
17
- * ## `statusHistory` is a DELTA log, never a snapshot
18
- *
19
- * Each entry records only the tracked fields that changed. Money is
20
- * deliberately absent: the final coupon and add-on state already lives on the
21
- * order document, and replaying pricing churn buries the handful of
22
- * transitions anyone actually reads. Refunds ARE here — a partial refund
23
- * changes no tracked field, so it is contributed explicitly.
24
- *
25
- * `actorUid` is the only identity an entry may carry. Never a name or an
26
- * email: `encryptPiiFields` never descends into arrays, so PII inside
27
- * `statusHistory` would be stored in plaintext.
28
- *
29
- * EXPORTS:
30
- * ordersSeedData — Array of 50 order documents with full transactional metadata
31
- *
32
- * @tag domain:orders,checkout
33
- * @tag layer:seed
34
- * @tag pattern:none
35
- * @tag access:server-only
36
- * @tag consumers:seed/index.ts,seed/runner.ts
37
- * @tag sideEffects:none
38
- */
39
- import { withOrderSearchTxt } from "./_helpers/search-txt-wrappers.js";
40
- import { seedPhoto } from "./_helpers/media.js";
41
- const NOW = new Date();
42
- const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
43
- /**
44
- * The anchor the order IDs are built from — fixed, never `NOW`.
45
- *
46
- * 🛑 An ID may not contain a value that moves. `generateOrderId` embeds a
47
- * `yyyymmdd` derived from its anchor, so with `NOW` every order's id changed on
48
- * every calendar day: `appkit-seed load` CREATED 50 fresh documents instead of
49
- * upserting the same 50, and `status`/`delete` computed ids that had never been
50
- * written.
51
- *
52
- * Measured immediately after a successful `load --collections orders` that
53
- * reported "created 50, errors 0": `appkit-seed status` answered
54
- * **`orders 50 seed / 0 in db`**. Both numbers were right; they were about
55
- * different sets of ids.
56
- *
57
- * This is exactly the case Recurrent Root Cause #25 names — "`Date.now()` used
58
- * as an ID component (as opposed to just a display timestamp)". The
59
- * distinction is the whole fix:
60
- *
61
- * - **IDs** anchor to `SEED_EPOCH`, so they are reproducible forever.
62
- * - **Display timestamps** (`orderDate`, `createdAt`, shipping dates) keep
63
- * using `daysAgo()` off `NOW`, so a reseeded catalogue still looks recent
64
- * and time-bound fixtures re-arm, which is what the tester window needs.
65
- *
66
- * It also broke every checklist case that names an order by id: they were
67
- * authored against one day's ids and could never resolve afterwards.
68
- */
69
- const SEED_EPOCH = new Date("2026-01-01T00:00:00.000Z");
70
- // Deterministic per-product thumbnail — `seedPhoto` maps a seed string to one
71
- // of six LOCAL tiles, so this doesn't need to match the real product seed's
72
- // own image, just be present and consistent across reseeds. (It used to name
73
- // picsum.photos here; seeded imagery stopped being a third-party fetch on
74
- // 2026-10-09 — see seedPhoto's header.) Backfills the
75
- // `image`/`imageUrls` fields real checkout orders only started carrying
76
- // 2026-08-20 (see OrderDocumentItem.image), so seeded order fixtures show a
77
- // thumbnail on My Orders / order-detail like real orders do.
78
- function orderItemImage(productId) {
79
- return seedPhoto(`order-item-${productId}`, 300, 300);
80
- }
81
- // Deterministic 6-char base36 suffix derived from a seed string — replaces the
82
- // previous Math.random() suffix, which regenerated a fresh id on every module
83
- // import (every `load`/`status`/`delete` CLI invocation), so re-running `load`
84
- // never actually updated existing docs and `status`/`delete` could never find
85
- // what a previous `load` had written. A simple string hash keeps ids stable
86
- // across runs on the same day while remaining unique per (itemCount, daysBack, seed).
87
- function seededSuffix(seed) {
88
- let hash = 0;
89
- for (let i = 0; i < seed.length; i++) {
90
- hash = (Math.imul(31, hash) + seed.charCodeAt(i)) | 0;
91
- }
92
- // Force unsigned before base36 so the suffix is always 6 lowercase alnum chars.
93
- return (hash >>> 0).toString(36).padStart(6, "0").slice(0, 6);
94
- }
95
- const generateOrderId = (itemCount, daysBack, seed) => {
96
- // SEED_EPOCH, not NOW — see the block comment on SEED_EPOCH. An id that
97
- // moves with the calendar is an id that never upserts.
98
- const date = new Date(SEED_EPOCH.getTime() - daysBack * 86400000);
99
- const yyyymmdd = date.toISOString().split("T")[0].replace(/-/g, "");
100
- const rand = seededSuffix(`${itemCount}-${daysBack}-${seed}`);
101
- return `order-${itemCount}-${yyyymmdd}-${rand}`;
102
- };
103
- const USER_NAMES = {
104
- "user-yugi-muto": "Mock User 3",
105
- "user-admin-letitrip": "Mock User 1",
106
- "user-seto-kaiba": "Mock User 2",
107
- };
108
- const USER_EMAILS = {
109
- "user-yugi-muto": "rehan.sheikh@gmail.com",
110
- "user-admin-letitrip": "admin@letitrip.in",
111
- "user-seto-kaiba": "vivaan.kapoor@gmail.com",
112
- };
113
- const _rawOrdersSeedData = [
114
- // ────────────────────────────────────────────────────────────────────────────
115
- // Rehan buying from Beyblade Arena — 4 explicit orders
116
- // ────────────────────────────────────────────────────────────────────────────
117
- {
118
- id: generateOrderId(2, 45, "yugi-dranzer-pegasus"),
119
- productId: "product-beyblade-original-dranzer-s",
120
- productTitle: "Beyblade Original Dranzer S",
121
- userId: "user-yugi-muto",
122
- userName: "Mock User 3",
123
- userEmail: "rehan.sheikh@gmail.com",
124
- storeId: "store-beyblade-arena",
125
- items: [
126
- {
127
- productId: "product-beyblade-original-dranzer-s",
128
- productTitle: "Beyblade Original Dranzer S",
129
- listingType: "standard",
130
- quantity: 1,
131
- unitPrice: 1799,
132
- totalPrice: 1799,
133
- },
134
- {
135
- productId: "product-beyblade-metal-storm-pegasus",
136
- productTitle: "Beyblade Metal Storm Pegasus",
137
- listingType: "standard",
138
- quantity: 1,
139
- unitPrice: 2499,
140
- totalPrice: 2499,
141
- },
142
- ],
143
- quantity: 2,
144
- unitPrice: 1799,
145
- totalPrice: 4298,
146
- currency: "INR",
147
- status: "delivered",
148
- paymentStatus: "paid",
149
- paymentMethod: "cash",
150
- paymentId: "pay-yugi-kaiba-001",
151
- shippingAddress: "addr-yugi-home",
152
- trackingNumber: "IN-0001-ARENA-DELIVERED",
153
- shippingCarrier: "India Post",
154
- shippingDate: daysAgo(30),
155
- deliveryDate: daysAgo(20),
156
- orderDate: daysAgo(45),
157
- createdAt: daysAgo(45),
158
- updatedAt: daysAgo(20),
159
- },
160
- {
161
- id: generateOrderId(1, 40, "yugi-metal-flame-sagittario"),
162
- productId: "product-beyblade-metal-flame-sagittario",
163
- productTitle: "Beyblade Metal Flame Sagittario",
164
- userId: "user-yugi-muto",
165
- userName: "Mock User 3",
166
- userEmail: "rehan.sheikh@gmail.com",
167
- storeId: "store-beyblade-arena",
168
- quantity: 1,
169
- unitPrice: 2299,
170
- totalPrice: 2299,
171
- currency: "INR",
172
- status: "shipped",
173
- paymentStatus: "paid",
174
- paymentMethod: "cash",
175
- paymentId: "pay-yugi-kaiba-002",
176
- shippingAddress: "addr-yugi-home",
177
- trackingNumber: "IN-0002-ARENA-SHIPPED",
178
- shippingCarrier: "India Post",
179
- shippingDate: daysAgo(8),
180
- orderDate: daysAgo(40),
181
- createdAt: daysAgo(40),
182
- updatedAt: daysAgo(8),
183
- },
184
- {
185
- id: generateOrderId(3, 35, "yugi-x-bx08-wave"),
186
- productId: "preorder-beyblade-x-bx-08-wave",
187
- productTitle: "Beyblade X BX-08 Wave",
188
- userId: "user-yugi-muto",
189
- userName: "Mock User 3",
190
- userEmail: "rehan.sheikh@gmail.com",
191
- storeId: "store-beyblade-arena",
192
- quantity: 3,
193
- unitPrice: 899,
194
- totalPrice: 2697,
195
- currency: "INR",
196
- status: "processing",
197
- paymentStatus: "paid",
198
- paymentMethod: "cash",
199
- paymentId: "pay-yugi-kaiba-003",
200
- shippingAddress: "addr-yugi-home",
201
- orderDate: daysAgo(35),
202
- createdAt: daysAgo(35),
203
- updatedAt: daysAgo(2),
204
- },
205
- {
206
- id: generateOrderId(1, 30, "yugi-burst-valkyrie"),
207
- productId: "product-beyblade-burst-valkyrie",
208
- productTitle: "Beyblade Burst Valkyrie",
209
- userId: "user-yugi-muto",
210
- userName: "Mock User 3",
211
- userEmail: "rehan.sheikh@gmail.com",
212
- storeId: "store-beyblade-arena",
213
- quantity: 1,
214
- unitPrice: 1899,
215
- totalPrice: 1899,
216
- currency: "INR",
217
- status: "pending",
218
- paymentStatus: "pending",
219
- paymentMethod: "cash",
220
- paymentId: "pay-yugi-kaiba-004",
221
- shippingAddress: "addr-yugi-home",
222
- orderDate: daysAgo(30),
223
- createdAt: daysAgo(30),
224
- updatedAt: daysAgo(30),
225
- },
226
- // ────────────────────────────────────────────────────────────────────────────
227
- // Rehan buying from LetItRip Official
228
- // ────────────────────────────────────────────────────────────────────────────
229
- {
230
- id: generateOrderId(1, 28, "yugi-mystery-box"),
231
- productId: "prizedraw-beyblade-mystery-box",
232
- productTitle: "Beyblade Mystery Box",
233
- userId: "user-yugi-muto",
234
- userName: "Mock User 3",
235
- userEmail: "rehan.sheikh@gmail.com",
236
- storeId: "store-letitrip-official",
237
- quantity: 1,
238
- unitPrice: 499,
239
- totalPrice: 499,
240
- currency: "INR",
241
- status: "delivered",
242
- paymentStatus: "paid",
243
- paymentMethod: "cash",
244
- paymentId: "pay-yugi-admin-001",
245
- shippingAddress: "addr-yugi-home",
246
- trackingNumber: "IN-0001-ADMIN-DELIVERED",
247
- shippingCarrier: "India Post",
248
- shippingDate: daysAgo(15),
249
- deliveryDate: daysAgo(8),
250
- orderDate: daysAgo(28),
251
- createdAt: daysAgo(28),
252
- updatedAt: daysAgo(8),
253
- },
254
- // ────────────────────────────────────────────────────────────────────────────
255
- // Admin buying from Beyblade Arena
256
- // ────────────────────────────────────────────────────────────────────────────
257
- {
258
- id: generateOrderId(1, 50, "admin-x-knife-shinobi"),
259
- productId: "product-beyblade-x-knife-shinobi",
260
- productTitle: "Beyblade X Knife Shinobi",
261
- userId: "user-admin-letitrip",
262
- userName: "Mock User 1",
263
- userEmail: "admin@letitrip.in",
264
- storeId: "store-beyblade-arena",
265
- quantity: 1,
266
- unitPrice: 2999,
267
- totalPrice: 2999,
268
- currency: "INR",
269
- status: "delivered",
270
- paymentStatus: "paid",
271
- paymentMethod: "cash",
272
- paymentId: "pay-admin-kaiba-001",
273
- shippingAddress: "addr-letitrip-hq",
274
- trackingNumber: "IN-0010-ARENA-DELIVERED",
275
- shippingCarrier: "DHL India",
276
- shippingDate: daysAgo(40),
277
- deliveryDate: daysAgo(30),
278
- orderDate: daysAgo(50),
279
- createdAt: daysAgo(50),
280
- updatedAt: daysAgo(30),
281
- },
282
- // ────────────────────────────────────────────────────────────────────────────
283
- // Vivaan buying from Beyblade Arena
284
- // ────────────────────────────────────────────────────────────────────────────
285
- {
286
- id: generateOrderId(1, 55, "kaiba-driger-v"),
287
- productId: "product-beyblade-original-driger-v",
288
- productTitle: "Beyblade Original Driger V",
289
- userId: "user-seto-kaiba",
290
- userName: "Mock User 2",
291
- userEmail: "vivaan.kapoor@gmail.com",
292
- storeId: "store-beyblade-arena",
293
- quantity: 1,
294
- unitPrice: 1999,
295
- totalPrice: 1999,
296
- currency: "INR",
297
- status: "delivered",
298
- paymentStatus: "paid",
299
- paymentMethod: "cash",
300
- paymentId: "pay-kaiba-admin-001",
301
- shippingAddress: "addr-kaiba-mansion",
302
- trackingNumber: "IN-0005-ARENA-DELIVERED",
303
- shippingCarrier: "India Post",
304
- shippingDate: daysAgo(12),
305
- deliveryDate: daysAgo(5),
306
- orderDate: daysAgo(55),
307
- createdAt: daysAgo(55),
308
- updatedAt: daysAgo(5),
309
- },
310
- ];
311
- const productPool = [
312
- { productId: "product-beyblade-original-dranzer-s", productTitle: "Beyblade Original Dranzer S", unitPrice: 1799 },
313
- { productId: "product-beyblade-original-driger-v", productTitle: "Beyblade Original Driger V", unitPrice: 1999 },
314
- { productId: "product-beyblade-metal-storm-pegasus", productTitle: "Beyblade Metal Storm Pegasus", unitPrice: 2499 },
315
- { productId: "product-beyblade-metal-flame-sagittario", productTitle: "Beyblade Metal Flame Sagittario", unitPrice: 2299 },
316
- { productId: "product-beyblade-burst-valkyrie", productTitle: "Beyblade Burst Valkyrie", unitPrice: 1899 },
317
- { productId: "product-beyblade-burst-regalia-genesis", productTitle: "Beyblade Burst Regalia Genesis", unitPrice: 3499 },
318
- { productId: "product-beyblade-x-wizard-arrow", productTitle: "Beyblade X Wizard Arrow", unitPrice: 1699 },
319
- { productId: "product-beyblade-x-knife-shinobi", productTitle: "Beyblade X Knife Shinobi", unitPrice: 2999 },
320
- ];
321
- const statuses = [
322
- "pending",
323
- "confirmed",
324
- "processing",
325
- "shipped",
326
- "delivered",
327
- "cancelled",
328
- "refunded",
329
- "return_requested",
330
- "returned",
331
- ];
332
- const paymentStatuses = {
333
- pending: "pending",
334
- confirmed: "paid",
335
- processing: "processing",
336
- shipped: "paid",
337
- delivered: "paid",
338
- cancelled: "refunded",
339
- refunded: "refunded",
340
- return_requested: "paid",
341
- returned: "refunded",
342
- };
343
- const buyerStoreMatrix = [
344
- { userId: "user-yugi-muto", storeId: "store-beyblade-arena", addressId: "addr-yugi-home" },
345
- { userId: "user-yugi-muto", storeId: "store-letitrip-official", addressId: "addr-yugi-home" },
346
- { userId: "user-admin-letitrip", storeId: "store-beyblade-arena", addressId: "addr-letitrip-hq" },
347
- { userId: "user-seto-kaiba", storeId: "store-beyblade-arena", addressId: "addr-kaiba-mansion" },
348
- ];
349
- const expandedOrders = [];
350
- for (let i = _rawOrdersSeedData.length; i < 50; i++) {
351
- const combo = buyerStoreMatrix[i % buyerStoreMatrix.length];
352
- const product = productPool[i % productPool.length];
353
- const status = statuses[i % statuses.length];
354
- const daysBack = 70 - i;
355
- const qty = (i % 3) + 1;
356
- expandedOrders.push({
357
- id: generateOrderId(qty, daysBack, `${combo.userId}-${product.productId}-${i}`),
358
- /*
359
- * 🛑 `items[]` IS THE CANONICAL SHAPE. The flat `productId`/`productTitle`
360
- * pair below is legacy and is kept only for back-compat readers.
361
- *
362
- * This generator emitted the flat fields alone, so 44 of the 50 seeded
363
- * orders had NO `items[]` — and every order surface reads
364
- * `items[0].productTitle` for its row label. The admin list therefore
365
- * rendered "🧾 Order order-1-20260822-aucwon" on 22 of 25 rows: a raw id
366
- * beside a placeholder emoji, for orders whose product was known all along.
367
- *
368
- * Same family as Root Cause #60 — a writer producing a shape no reader can
369
- * render — except the writer here is the seed, which is why it survived a
370
- * fix to the readers.
371
- */
372
- items: [
373
- {
374
- productId: product.productId,
375
- productTitle: product.productTitle,
376
- listingType: "standard",
377
- quantity: qty,
378
- unitPrice: product.unitPrice,
379
- totalPrice: product.unitPrice * qty,
380
- },
381
- ],
382
- productId: product.productId,
383
- productTitle: product.productTitle,
384
- userId: combo.userId,
385
- userName: USER_NAMES[combo.userId],
386
- userEmail: USER_EMAILS[combo.userId],
387
- storeId: combo.storeId,
388
- quantity: qty,
389
- unitPrice: product.unitPrice,
390
- totalPrice: product.unitPrice * qty,
391
- currency: "INR",
392
- status: status,
393
- paymentStatus: (paymentStatuses[status] ?? "pending"),
394
- paymentMethod: "cash",
395
- shippingAddress: combo.addressId,
396
- orderDate: daysAgo(daysBack),
397
- shippingDate: status === "shipped" || status === "delivered" ? daysAgo(daysBack - 5) : undefined,
398
- deliveryDate: status === "delivered" ? daysAgo(daysBack - 10) : undefined,
399
- createdAt: daysAgo(daysBack),
400
- updatedAt: daysAgo(Math.max(0, daysBack - 10)),
401
- });
402
- }
403
- // P-1 MVP: two cash/UPI manual payment orders for demo purposes.
404
- // cashOrderPendingProof: buyer submitted proof, admin has NOT yet verified.
405
- const cashOrderPendingProof = {
406
- id: "order-1-20260729-cash01",
407
- productId: "product-beyblade-original-dranzer-s",
408
- productTitle: "Beyblade Original Dranzer S",
409
- userId: "user-yugi-muto",
410
- userName: "Mock User 3",
411
- userEmail: "rehan.sheikh@gmail.com",
412
- storeId: "store-beyblade-arena",
413
- quantity: 1,
414
- unitPrice: 1799,
415
- totalPrice: 1799,
416
- currency: "INR",
417
- status: "pending",
418
- paymentStatus: "pending",
419
- paymentMethod: "cash",
420
- paymentProofUrl: "/media/payment-proof-demo-pending.jpg",
421
- paymentTransactionId: "UPI-DEMO-20260728-PROOF",
422
- paymentProofMimeType: "image/jpeg",
423
- paymentProofUploadedAt: daysAgo(1),
424
- shippingAddress: "addr-yugi-home",
425
- orderDate: daysAgo(2),
426
- createdAt: daysAgo(2),
427
- updatedAt: daysAgo(1),
428
- };
429
- const cashOrderVerified = {
430
- id: "order-1-20260729-cash02",
431
- productId: "product-beyblade-metal-storm-pegasus",
432
- productTitle: "Beyblade Metal Storm Pegasus",
433
- userId: "user-yugi-muto",
434
- userName: "Mock User 3",
435
- userEmail: "rehan.sheikh@gmail.com",
436
- storeId: "store-beyblade-arena",
437
- quantity: 1,
438
- unitPrice: 2499,
439
- totalPrice: 2499,
440
- currency: "INR",
441
- status: "processing",
442
- paymentStatus: "paid",
443
- paymentMethod: "cash",
444
- paymentProofUrl: "/media/payment-proof-demo-verified.jpg",
445
- paymentTransactionId: "UPI-DEMO-20260727-YUGI",
446
- paymentProofMimeType: "image/jpeg",
447
- paymentProofUploadedAt: daysAgo(3),
448
- shippingAddress: "addr-yugi-home",
449
- orderDate: daysAgo(4),
450
- createdAt: daysAgo(4),
451
- updatedAt: daysAgo(2),
452
- };
453
- /*
454
- * 🛑 DERIVES `items[]` FROM THE FLAT FIELDS WHEN A FIXTURE OMITS IT.
455
- *
456
- * `items[]` is the canonical shape and every orders surface reads
457
- * `items[0].productTitle` for its row label (Root Cause #52). The generator
458
- * below was taught to emit it — and that fix was NARROWER THAN THE DEFECT:
459
- * measured after it shipped, 14 of the 50 seeded orders still had none,
460
- * because the hand-written fixtures never go through the generator.
461
- *
462
- * That is Root Cause #84's shape — a fix scoped to the population you happened
463
- * to be looking at. Patching those 14 by hand would leave the 15th to whoever
464
- * writes it next, so the derivation lives here instead, on the path EVERY
465
- * fixture already takes.
466
- *
467
- * It only ever fills a gap: a fixture that declares its own `items[]` (the
468
- * multi-line ones, where the flat fields cannot express two products) is
469
- * passed through untouched.
470
- */
471
- function withOrderItems(order) {
472
- if (Array.isArray(order.items) && order.items.length > 0)
473
- return order;
474
- if (!order.productId)
475
- return order;
476
- const quantity = order.quantity ?? 1;
477
- const unitPrice = order.unitPrice ?? 0;
478
- return {
479
- ...order,
480
- items: [
481
- {
482
- productId: order.productId,
483
- productTitle: order.productTitle ?? order.productId,
484
- listingType: "standard",
485
- quantity,
486
- unitPrice,
487
- // Prefer the order's own total: on a single-line order it is the
488
- // authoritative figure, and re-deriving it would silently drop any
489
- // fixture that deliberately encodes a locked or negotiated price.
490
- totalPrice: order.totalPrice ?? unitPrice * quantity,
491
- },
492
- ],
493
- };
494
- }
495
- // Backfills image/imageUrls (see orderItemImage() above) on every fixture
496
- // regardless of which shape it uses (multi-item `items[]` vs the legacy
497
- // single-item top-level fields), so no seeded order silently renders without
498
- // a thumbnail the way real pre-2026-08-20 orders do.
499
- function withOrderImages(input) {
500
- const order = withOrderItems(input);
501
- return {
502
- ...order,
503
- imageUrls: order.imageUrls ?? (order.productId ? [orderItemImage(order.productId)] : undefined),
504
- items: order.items?.map((item) => ({
505
- ...item,
506
- image: item.image ?? orderItemImage(item.productId),
507
- })),
508
- };
509
- }
510
- /**
511
- * One history entry, in the same delta shape `withHistory()` writes at runtime,
512
- * so a seeded timeline and a real one render identically.
513
- */
514
- function entry(at, actorRole, trigger, changes, extra = {}) {
515
- return { at, actorRole, trigger, changes, ...extra };
516
- }
517
- const BUYER_YUGI = "user-yugi-muto";
518
- const BUYER_KAIBA = "user-seto-kaiba";
519
- const BUYER_ADMIN = "user-admin-letitrip";
520
- const ARENA = "store-beyblade-arena";
521
- /**
522
- * Six orders, one per `OrderSourceContext` path.
523
- *
524
- * The two auction fixtures are the point of the set: they are the pair
525
- * `orderType` alone cannot tell apart.
526
- */
527
- const acquisitionOrders = [
528
- // ── standard ──────────────────────────────────────────────────────────
529
- {
530
- id: "order-1-20260818-stdctx",
531
- productId: "product-beyblade-burst-valkyrie",
532
- productTitle: "Beyblade Burst B-01 Valkyrie",
533
- userId: BUYER_YUGI,
534
- userName: "Mock User 3",
535
- userEmail: "rehan.sheikh@gmail.com",
536
- storeId: ARENA,
537
- quantity: 1,
538
- unitPrice: 999,
539
- totalPrice: 999,
540
- currency: "INR",
541
- status: "delivered",
542
- paymentStatus: "paid",
543
- paymentMethod: "cash",
544
- orderType: "standard",
545
- shippingAddress: "addr-yugi-home",
546
- trackingNumber: "LIR-TRK-88213004",
547
- shippingCarrier: "Delhivery",
548
- orderDate: daysAgo(12),
549
- shippingDate: daysAgo(9),
550
- /*
551
- * 🛑 TWO DAYS, NOT SIX — THIS IS THE RETURN-WINDOW FIXTURE.
552
- *
553
- * A return can only be requested on a DELIVERED order inside the 7-day
554
- * window, and you cannot reach "delivered" by buying in a test: it needs
555
- * seller action. So the return flow is testable only if a seeded delivered
556
- * order sits inside the window — and until now none did for the harness's
557
- * own identity. Every candidate was 6, 7, 8, 20, 29 days old, so
558
- * /user/orders/{id}/return answered 'The 7-day return window for this
559
- * order has closed.' and the case could never be worked.
560
- *
561
- * Six days would have been inside the window today and OUTSIDE it
562
- * tomorrow — a fixture that passes on Monday and fails on Tuesday is worse
563
- * than one that always fails, because the failure looks like a regression.
564
- * Two days leaves five days of margin.
565
- *
566
- * Do not raise this without checking RETURN_WINDOW_DAYS.
567
- */
568
- deliveryDate: daysAgo(2),
569
- createdAt: daysAgo(12),
570
- updatedAt: daysAgo(6),
571
- sourceContext: { path: "standard", listPrice: 999 },
572
- statusHistory: [
573
- entry(daysAgo(12), "buyer", "createCheckoutOrder", {
574
- status: { from: null, to: "pending" },
575
- }, { actorUid: BUYER_YUGI }),
576
- entry(daysAgo(11), "seller", "updateOrderStatus", {
577
- status: { from: "pending", to: "confirmed" },
578
- paymentStatus: { from: "pending", to: "paid" },
579
- }, { actorUid: ARENA }),
580
- entry(daysAgo(9), "seller", "customShipOrder", {
581
- status: { from: "confirmed", to: "shipped" },
582
- trackingNumber: { from: null, to: "LIR-TRK-88213004" },
583
- }, { actorUid: ARENA }),
584
- entry(daysAgo(6), "system", "deliveryConfirmation", {
585
- status: { from: "shipped", to: "delivered" },
586
- }),
587
- ],
588
- },
589
- // ── auction-won — settled at close, against a real ladder ─────────────
590
- {
591
- id: "order-1-20260822-aucwon",
592
- productId: "auction-beyblade-metal-diablo-nemesis",
593
- productTitle: "Metal Fight Beyblade BB-122 Diablo Nemesis (Ended — Sold)",
594
- userId: BUYER_KAIBA,
595
- userName: "Mock User 2",
596
- userEmail: "vivaan.kapoor@gmail.com",
597
- storeId: ARENA,
598
- quantity: 1,
599
- unitPrice: 6200,
600
- totalPrice: 6200,
601
- currency: "INR",
602
- status: "processing",
603
- paymentStatus: "paid",
604
- paymentMethod: "upi_manual",
605
- orderType: "auction",
606
- shippingAddress: "addr-kaiba-mansion",
607
- orderDate: daysAgo(2),
608
- createdAt: daysAgo(2),
609
- updatedAt: daysAgo(1),
610
- sourceContext: {
611
- path: "auction-won",
612
- auctionId: "auction-beyblade-metal-diablo-nemesis",
613
- bidId: "bid-beyblade-metal-diablo-nemesis-rohit-collector-20260601-005",
614
- winningBidAmount: 6200,
615
- bidCount: 6,
616
- startingBid: 3499,
617
- // No reserve on this auction, so the reserve cannot fail to be met.
618
- reserveMet: true,
619
- auctionEndedAt: daysAgo(2),
620
- runnerUpAmount: 5428,
621
- },
622
- statusHistory: [
623
- entry(daysAgo(2), "system", "auctionSettlement", {
624
- status: { from: null, to: "pending" },
625
- }, { reason: "Won at auction close" }),
626
- entry(daysAgo(1), "admin", "adminVerifyPayment", {
627
- status: { from: "pending", to: "processing" },
628
- paymentStatus: { from: "pending", to: "paid" },
629
- paymentReviewOutcome: { from: null, to: "verified" },
630
- }, { actorUid: BUYER_ADMIN }),
631
- ],
632
- },
633
- // ── auction-buy-now — a buyout ENDED a live auction ───────────────────
634
- {
635
- // Referenced back by the buyout bid's `orderId`, so the link resolves in
636
- // both directions.
637
- id: "order-1-20260820-buyout",
638
- productId: "auction-beyblade-burst-spriggan-requiem-bought-out",
639
- productTitle: "Beyblade Burst B-128 Spriggan Requiem (Ended — Bought Out)",
640
- userId: BUYER_KAIBA,
641
- userName: "Mock User 2",
642
- userEmail: "vivaan.kapoor@gmail.com",
643
- storeId: ARENA,
644
- quantity: 1,
645
- unitPrice: 4999,
646
- totalPrice: 4999,
647
- currency: "INR",
648
- status: "shipped",
649
- paymentStatus: "paid",
650
- paymentMethod: "cash",
651
- orderType: "auction",
652
- // What separates this from the win above. Both are orderType "auction";
653
- // only a buyout gets the 24h admin-review window.
654
- isBuyout: true,
655
- shippingAddress: "addr-kaiba-mansion",
656
- trackingNumber: "LIR-TRK-77410992",
657
- shippingCarrier: "Blue Dart",
658
- orderDate: daysAgo(4),
659
- shippingDate: daysAgo(2),
660
- createdAt: daysAgo(4),
661
- updatedAt: daysAgo(2),
662
- sourceContext: {
663
- path: "auction-buy-now",
664
- auctionId: "auction-beyblade-burst-spriggan-requiem-bought-out",
665
- bidId: "bid-beyblade-burst-spriggan-requiem-seto-kaiba-20260820-buyout",
666
- buyNowPrice: 4999,
667
- listPrice: 5499,
668
- // The highest NON-buyout bid the buyout beat.
669
- standingBidAtBuyout: 3100,
670
- // Three, not zero. The old type asserted "zero bids by definition"
671
- // because Buy Now used to be gated on `!bidsHaveStarted`; that gate was
672
- // removed, and recording 0 would bake a falsehood into an audit record.
673
- bidCount: 3,
674
- boughtAt: daysAgo(4),
675
- checkoutDeadline: daysAgo(4),
676
- },
677
- statusHistory: [
678
- entry(daysAgo(4), "buyer", "claimAuctionForCheckout", {
679
- status: { from: null, to: "pending" },
680
- }, { actorUid: BUYER_KAIBA, reason: "Buy Now claim won" }),
681
- entry(daysAgo(3), "seller", "updateOrderStatus", {
682
- status: { from: "pending", to: "confirmed" },
683
- paymentStatus: { from: "pending", to: "paid" },
684
- }, { actorUid: ARENA }),
685
- entry(daysAgo(2), "seller", "customShipOrder", {
686
- status: { from: "confirmed", to: "shipped" },
687
- trackingNumber: { from: null, to: "LIR-TRK-77410992" },
688
- }, { actorUid: ARENA }),
689
- ],
690
- },
691
- // ── offer-accepted — the end of a real negotiation ────────────────────
692
- {
693
- id: "order-1-20260813-offerctx",
694
- productId: "product-beyblade-x-knife-shinobi",
695
- productTitle: "Beyblade X Knife Shinobi",
696
- userId: BUYER_ADMIN,
697
- userName: "Mock User 1",
698
- userEmail: "admin@letitrip.in",
699
- storeId: ARENA,
700
- quantity: 1,
701
- unitPrice: 800,
702
- totalPrice: 800,
703
- currency: "INR",
704
- status: "delivered",
705
- paymentStatus: "paid",
706
- paymentMethod: "cash",
707
- orderType: "offer",
708
- // The offer this order settled — its own status is `paid`, and this is the
709
- // order id it points at.
710
- offerId: "offer-admin-x-knife-shinobi-paid",
711
- shippingAddress: "addr-letitrip-hq",
712
- orderDate: daysAgo(11),
713
- shippingDate: daysAgo(9),
714
- deliveryDate: daysAgo(7),
715
- createdAt: daysAgo(11),
716
- updatedAt: daysAgo(7),
717
- sourceContext: {
718
- path: "offer-accepted",
719
- offerId: "offer-admin-x-knife-shinobi-paid",
720
- offeredAmount: 800,
721
- listPriceAtOffer: 949,
722
- // Accepted outright — no counter rounds. Compare the Metal Storm
723
- // Pegasus chain in offers-seed-data.ts, which reaches round 3.
724
- counterRounds: 1,
725
- acceptedBy: ARENA,
726
- acceptedAt: daysAgo(12),
727
- checkoutDeadline: daysAgo(10),
728
- },
729
- statusHistory: [
730
- entry(daysAgo(11), "buyer", "createCheckoutOrder", {
731
- status: { from: null, to: "pending" },
732
- }, { actorUid: BUYER_ADMIN }),
733
- entry(daysAgo(10), "seller", "updateOrderStatus", {
734
- status: { from: "pending", to: "confirmed" },
735
- paymentStatus: { from: "pending", to: "paid" },
736
- }, { actorUid: ARENA }),
737
- entry(daysAgo(9), "seller", "customShipOrder", {
738
- status: { from: "confirmed", to: "shipped" },
739
- trackingNumber: { from: null, to: "LIR-TRK-30028841" },
740
- }, { actorUid: ARENA }),
741
- entry(daysAgo(7), "system", "deliveryConfirmation", {
742
- status: { from: "shipped", to: "delivered" },
743
- }),
744
- // A PARTIAL refund. It changes no tracked field, so it can only reach the
745
- // timeline as an explicit contribution — diffing `refunds[]` would render
746
- // as "an array of 0 became an array of 1", which is true and useless.
747
- entry(daysAgo(6), "admin", "postRefundEvent", {
748
- refund: {
749
- from: null,
750
- to: { refundId: "refund-x-knife-shinobi-1", type: "partial", amount: 120, reason: "Minor box damage in transit" },
751
- },
752
- }, { actorUid: BUYER_ADMIN, reason: "Minor box damage in transit" }),
753
- ],
754
- trackingNumber: "LIR-TRK-30028841",
755
- shippingCarrier: "Delhivery",
756
- },
757
- // ── pre-order — deposit taken, balance outstanding ────────────────────
758
- {
759
- id: "order-1-20260819-preordr",
760
- productId: "preorder-beyblade-x-bx-08-wave",
761
- productTitle: "Beyblade X BX-08 Wave (Pre-Order)",
762
- userId: BUYER_YUGI,
763
- userName: "Mock User 3",
764
- userEmail: "rehan.sheikh@gmail.com",
765
- storeId: ARENA,
766
- quantity: 1,
767
- unitPrice: 799,
768
- totalPrice: 799,
769
- currency: "INR",
770
- status: "confirmed",
771
- paymentStatus: "pending",
772
- paymentMethod: "cash",
773
- orderType: "preorder",
774
- // 25% of ₹799 — matches `preOrderDepositPercent` on the product.
775
- depositAmount: 199.75,
776
- shippingAddress: "addr-yugi-home",
777
- orderDate: daysAgo(5),
778
- createdAt: daysAgo(5),
779
- updatedAt: daysAgo(5),
780
- sourceContext: {
781
- path: "pre-order",
782
- depositAmount: 199.75,
783
- balanceDue: 599.25,
784
- },
785
- statusHistory: [
786
- entry(daysAgo(5), "buyer", "createCheckoutOrder", {
787
- status: { from: null, to: "pending" },
788
- }, { actorUid: BUYER_YUGI }),
789
- entry(daysAgo(5), "seller", "updateOrderStatus", {
790
- status: { from: "pending", to: "confirmed" },
791
- }, { actorUid: ARENA, note: "Deposit received — balance due on dispatch." }),
792
- ],
793
- },
794
- // ── prize-draw — several entries bought in one order ──────────────────
795
- {
796
- id: "order-1-20260821-prizedr",
797
- productId: "prizedraw-beyblade-mystery-box",
798
- productTitle: "Beyblade Mystery Box — Prize Draw",
799
- userId: BUYER_KAIBA,
800
- userName: "Mock User 2",
801
- userEmail: "vivaan.kapoor@gmail.com",
802
- storeId: ARENA,
803
- quantity: 3,
804
- unitPrice: 99,
805
- totalPrice: 297,
806
- currency: "INR",
807
- status: "confirmed",
808
- paymentStatus: "paid",
809
- paymentMethod: "cash",
810
- orderType: "prize-draw",
811
- shippingAddress: "addr-kaiba-mansion",
812
- orderDate: daysAgo(3),
813
- createdAt: daysAgo(3),
814
- updatedAt: daysAgo(3),
815
- sourceContext: {
816
- path: "prize-draw",
817
- prizeDrawProductId: "prizedraw-beyblade-mystery-box",
818
- pricePerEntry: 99,
819
- entryCount: 3,
820
- // `prizeDrawMode` is reveal-vs-lottery, a different axis. This records
821
- // the reveal TIMING: no reveal window means it reveals on sell-out.
822
- revealMode: "instant",
823
- },
824
- statusHistory: [
825
- entry(daysAgo(3), "buyer", "createCheckoutOrder", {
826
- status: { from: null, to: "pending" },
827
- }, { actorUid: BUYER_KAIBA }),
828
- entry(daysAgo(3), "seller", "updateOrderStatus", {
829
- status: { from: "pending", to: "confirmed" },
830
- paymentStatus: { from: "pending", to: "paid" },
831
- }, { actorUid: ARENA }),
832
- ],
833
- },
834
- ];
835
- export const ordersSeedData = [
836
- cashOrderPendingProof,
837
- cashOrderVerified,
838
- ...acquisitionOrders,
839
- // The slice keeps the fixture count stable as fixtures are added above it —
840
- // it used to be 48 for the two manual-payment orders, and now also absorbs
841
- // the six acquisition-path orders.
842
- ...[..._rawOrdersSeedData, ...expandedOrders].slice(0, 42),
843
- // Derived through the wrapper, never written per record — an inline literal
844
- // is how five product seed files shipped their last fixture with no tokens.
845
- ].map(withOrderImages).map(withOrderSearchTxt);