@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,440 +0,0 @@
1
- /**
2
- * ── Seed provenance: may a purge delete this row? ───────────────────────────
3
- *
4
- * Every document written by `appkit-seed` carries a `seedPurpose`, and it is
5
- * the ONE declaration of whether a row is real content or clearable test data.
6
- * The purge reads it; nothing else decides.
7
- *
8
- * ## The rule this exists to enforce
9
- *
10
- * 🛑 **Content comes from a seed FILE, never from a direct database write.**
11
- * Not a one-off script, not a console paste, not a `node -e`. A row that exists
12
- * only in Firestore cannot be reviewed in a diff, cannot be recreated after a
13
- * purge, and cannot be found by anyone who did not watch it being written —
14
- * and when it references other rows, nothing updates it when those move.
15
- *
16
- * `seedPurpose` makes that rule *checkable*: a document with no `seedPurpose`
17
- * was not written by the seeder, so the purge will not touch it.
18
- *
19
- * ## 🛑 THE DEFAULT IS `test`, AND THE OPPOSITE WAS THIS FILE'S FIRST BUG
20
- *
21
- * The first version of this file defaulted every collection to `permanent`,
22
- * reasoning that the dangerous direction is deleting something unrecoverable.
23
- * **That reasoning was wrong here, and it made the purge a no-op.**
24
- *
25
- * This site has never gone live. There are no real customers, no real orders
26
- * and no real payouts — every user, store, listing, auction, order, bid and
27
- * review in the seed was added TO EXERCISE THE PLATFORM. Classifying them
28
- * `permanent` means "cannot be cleared", which is precisely the opposite of
29
- * why the field was asked for.
30
- *
31
- * So the default is `test`, and `permanent` is the **narrow** exception: the
32
- * handful of collections that are genuinely content rather than scaffolding.
33
- *
34
- * ## 🛑 AND `isTestData` IS NOT DERIVED FROM THIS — that was the second bug
35
- *
36
- * The first version wrote `isTestData: true` for every `test` row. That would
37
- * have **hidden the entire demo catalogue from the public**, because
38
- * `hidePublicTestData` filters on exactly that field — 70 products, 416
39
- * categories and every store would have vanished from every public page while
40
- * the summary line read `created 2513, errors 0`.
41
- *
42
- * The two concerns are orthogonal and must stay separate:
43
- *
44
- * | Question | Field |
45
- * |---|---|
46
- * | May a purge delete this row? | **`seedPurpose`** (here) |
47
- * | Should the public be able to SEE this row? | **`isTestData`** + `testDataExpiresAt` |
48
- *
49
- * A demo product is `test` (clearable) **and visible**. A tester-sandbox
50
- * cross-store fixture is `test` **and hidden**. Those are different rows with
51
- * different needs, and one field cannot answer both.
52
- *
53
- * `isTestData` therefore stays an explicit per-row opt-in, authored via
54
- * `testDataExpiresAt()` in `./test-data-ttl.ts`, and this file never writes it.
55
- *
56
- * ## What it replaces
57
- *
58
- * Measured 2026-10-12, before this file existed: **47** seed data files, of
59
- * which **one** carried any permanence marker; `isTestData` declared on **5**
60
- * schemas; and `TEST_DATA_COLLECTIONS` listing **`offers`**, whose schema does
61
- * not declare the field at all, so that entry could only ever match zero rows.
62
- * `users`, `orders`, `faqs`, `reviews`, `bids`, `payouts` and `carts` had no
63
- * marker and no purge path — and users and orders are the two that were named.
64
- */
65
- /**
66
- * `Record<SeedPurpose, true>`, so a third value is a compile error in every map
67
- * keyed on the union rather than a silent gap (Root Cause #61).
68
- */
69
- export const SEED_PURPOSE_VALUES = {
70
- test: true,
71
- permanent: true,
72
- };
73
- export const ALL_SEED_PURPOSES = Object.keys(SEED_PURPOSE_VALUES);
74
- export function isSeedPurpose(value) {
75
- return typeof value === "string" && value in SEED_PURPOSE_VALUES;
76
- }
77
- /**
78
- * 🛑 There is deliberately NO third `fixture` tier.
79
- *
80
- * An earlier draft had one, meaning "clearable but only by an explicit full
81
- * purge", intended for the tester checklist. Once the cases were correctly
82
- * classified as permanent content it had **nothing in it** — and a union member
83
- * with no members is the dead-enum-value shape this codebase keeps paying for:
84
- * a filter chip whose value no row carries returns zero rows forever and reads
85
- * as a working control (Root Cause #33), and nine section types that exist in a
86
- * dropdown and have never rendered (F1 #20).
87
- *
88
- * Two values answer the question that was actually asked. If a genuine third
89
- * case appears, add it then — with a row that needs it.
90
- */
91
- export const PURGEABLE = {
92
- test: true,
93
- permanent: false,
94
- };
95
- /**
96
- * The per-collection default, keyed on `COLLECTION_MAP`'s keys in
97
- * `appkit/scripts/seed-cli.mjs`.
98
- *
99
- * 🛑 Typed `Record<string, SeedPurpose>` rather than a closed union of
100
- * collection names, and that is a deliberate trade: the collection list lives
101
- * in a `.mjs` script that cannot be imported for its types, so a closed union
102
- * here would be a fifth hand-written copy of it — the thing this file exists to
103
- * stop. `audit-seed-purpose` cross-checks the two sets instead, which catches
104
- * both a missing entry and a dead one.
105
- *
106
- * **Anything absent defaults to `test`**, so a collection added later is
107
- * clearable rather than quietly permanent. That is the right fail direction on
108
- * a site with no real data: the cost of clearing something re-seedable is one
109
- * command, and the cost of being unable to clear it is the state this replaced.
110
- */
111
- export const SEED_COLLECTION_PURPOSE = {
112
- /*
113
- * ── permanent: content, not scaffolding ─────────────────────────────────
114
- *
115
- * The test: if clearing it means someone has to WRITE it again rather than
116
- * re-run a loader, it is permanent. Five collections pass that test.
117
- */
118
- /* 85 answers carrying real figures — the ₹10 fee cap, the 5% GST worked
119
- * example, the 48-hour damage window. Explicitly asked to be permanent. */
120
- faqs: "permanent",
121
- /* 416 nodes, 6 roots. Every product's `categorySlugs` chain points into it,
122
- * so clearing it orphans the catalogue — which is exactly what happened when
123
- * a purge-then-load wrote 0 of 416 and 70 products pointed at nothing. */
124
- categories: "permanent",
125
- /* Real HSN codes and GST rates. A wrong rate on a real invoice is a
126
- * compliance matter, not a fixture. */
127
- taxCodes: "permanent",
128
- /* The `/media/<shortId>` -> Storage-path index. 195 rows back the taxonomy
129
- * cover images, and `categories` above is permanent for the same reason:
130
- * clearing these orphans the BUCKET — every category cover 404s while its
131
- * object sits untouched in Storage, and no amount of re-running the loader
132
- * brings it back without re-uploading. Permanent is also what stops
133
- * `isTestData` being derived onto them, which would hide every cover from
134
- * the public via `hidePublicTestData`. */
135
- mediaAssets: "permanent",
136
- /* The ~169-term feature vocabulary: condition, authenticity, release, type,
137
- * spin, grade, chase. Hand-curated from the crawl. */
138
- productFeatures: "permanent",
139
- /*
140
- * The box-code tables and generation summaries. `permanent` because they
141
- * are reference data compiled from archived primary sources, not exercise
142
- * fixtures — a purge that cleared them would leave an admin with no way to
143
- * answer "what do we say about this code" short of re-running a generator.
144
- */
145
- authenticityKnowledge: "permanent",
146
- /* Branding, fees, commissions, watermark, legal pages, and the AES-encrypted
147
- * credentials. 🛑 A purge here would destroy live API keys. */
148
- siteSettings: "permanent",
149
- /*
150
- * ── permanent, second tranche: the site's own CONTENT and COMPOSITION ────
151
- *
152
- * Added on the user's explicit list. The same test applies and they pass it:
153
- * clearing any of these means re-AUTHORING, not re-running a loader.
154
- *
155
- * 🛑 But "permanent" obliges us to make them REAL — see G1c in the plan.
156
- * Marking a placeholder permanent only makes the placeholder unpurgeable, so
157
- * each of these has to trace to a crawl source: blogPosts to the buying/rules
158
- * guide split, homepageSections to worldhobbyshop's generation tiles and
159
- * 25-link systems matrix, carouselSlides to beybladeartshop's 5-slide hero
160
- * including the anti-counterfeit slide.
161
- */
162
- blogPosts: "permanent",
163
- carousels: "permanent",
164
- carouselSlides: "permanent",
165
- homepageSections: "permanent",
166
- /*
167
- * 🛑 The tester checklist cases are PERMANENT CONTENT, not scaffolding.
168
- *
169
- * 1,162 authored cases, each a six-part procedure with an explicit
170
- * before → after — the real catalogue of issues the testers test against and
171
- * keep updating. Clearing them is not a re-seed, it is losing the authoring,
172
- * and this project's primary quality gate is that catalogue.
173
- *
174
- * Their RESPONSES are the opposite: per-run verdicts, regenerated every
175
- * sweep, and the whole point of clearing between runs. So the two halves of
176
- * one feature land in different tiers, which is the case the collection-level
177
- * default is for.
178
- */
179
- testerChecklistItems: "permanent",
180
- /*
181
- * E4/D12 — PERMANENT. These are extracted from a corpus by committed
182
- * scripts, not fixtures: clearing them means re-running an extraction over a
183
- * 7 GB local crawl, which is the test § G1c sets ("if clearing it means
184
- * somebody has to WRITE it again rather than re-run a loader"). Re-running
185
- * the extractor is possible but needs a corpus a clone will not have.
186
- */
187
- partGlossary: "permanent",
188
- /*
189
- * PERMANENT, for the reason `partGlossary` is: these are extracted from a
190
- * crawled corpus by committed scripts, not fixtures. Clearing them means
191
- * re-running an extraction over a local crawl a clone will not have, which
192
- * is the test § G1c sets — "if clearing it means somebody has to WRITE it
193
- * again rather than re-run a loader".
194
- */
195
- beys: "permanent",
196
- beyProducts: "permanent",
197
- modelComposition: "permanent",
198
- testerChecklistResponses: "test",
199
- /*
200
- * ── test: everything else ───────────────────────────────────────────────
201
- *
202
- * Listed explicitly rather than left to the fallback, because an explicit
203
- * table is reviewable and `audit-seed-purpose` can then tell a MISSING entry
204
- * from a deliberate one.
205
- */
206
- users: "test",
207
- addresses: "test",
208
- storeAddresses: "test",
209
- sessions: "test",
210
- stores: "test",
211
- products: "test",
212
- orders: "test",
213
- reviews: "test",
214
- bids: "test",
215
- offers: "test",
216
- carts: "test",
217
- wishlists: "test",
218
- history: "test",
219
- payouts: "test",
220
- coupons: "test",
221
- couponUsage: "test",
222
- notifications: "test",
223
- supportTickets: "test",
224
- catalogueItems: "test",
225
- events: "test",
226
- eventEntries: "test",
227
- groupedListings: "test",
228
- scammerProfiles: "test",
229
- procurementShipments: "test",
230
- shipmentLots: "test",
231
- shipmentItems: "test",
232
- payoutMethods: "test",
233
- analyticsAlerts: "test",
234
- storeCategories: "test",
235
- listingTemplates: "test",
236
- moderationQueue: "test",
237
- reports: "test",
238
- itemRequests: "test",
239
- storeGoogleConfig: "test",
240
- };
241
- /**
242
- * Individual rows that differ from their collection's default, by document id.
243
- *
244
- * 🛑 This is the "clear all out EXCEPT our admin creds and the original single
245
- * store" instruction, made declarative. Both collections default to `test` —
246
- * every persona and every other store is disposable — and exactly two rows are
247
- * not.
248
- *
249
- * ✅ The precedent already existed and this replaces it: `cmdDelete` has
250
- * carried `PROTECTED_USER_UIDS = new Set(["user-admin-letitrip"])` for a long
251
- * time, skipping that uid on a wholesale delete. One mechanism is better than a
252
- * list the purge path happens to know about privately.
253
- *
254
- * 🛑 Keyed **`"<collection>:<id>"`**, and the collection half is load-bearing.
255
- *
256
- * It was a bare id, and a live read-back caught the consequence: `carts`,
257
- * `wishlists` and `history` are all keyed on the USER id (CLAUDE.md: "Doc id =
258
- * userId"), so `"user-admin-letitrip"` matched the admin's **cart** as well as
259
- * the admin's user row — making a disposable cart permanently unpurgeable.
260
- * Subtle, silent, and it would have left a stale cart surviving every purge
261
- * forever.
262
- *
263
- * The id half is the DOCUMENT id, which for `users` is the Auth uid (`uid` on
264
- * the seed row) and for everything else is `id`. `resolveSeedPurpose` checks
265
- * both, because a seeded user row carries `uid` and no `id`.
266
- */
267
- export const SEED_ROW_PURPOSE = {
268
- /* Our own admin account. Clearing it locks us out of our own site — and the
269
- * Auth record is the half most easily missed, since `appkit-seed delete` does
270
- * not touch Firebase Auth at all. */
271
- "users:user-admin-letitrip": "permanent",
272
- /* The platform's own default store. The other three seeded stores
273
- * (beyblade-arena, blader-bazaar, vintage-vault-co) are test fixtures. */
274
- "stores:store-letitrip-official": "permanent",
275
- };
276
- /**
277
- * Collections whose purpose FOLLOWS a referenced row rather than being declared.
278
- *
279
- * 🛑 This exists to hold one invariant: **a `permanent` row may not reference a
280
- * `test` row**, because the purge would leave it behind as a dangling FK that
281
- * still looks like real config.
282
- *
283
- * Measured in `store-extensions-seed-data.ts`: **14** rows reference
284
- * `store-beyblade-arena` (test) and **9** reference `store-letitrip-official`
285
- * (permanent). So marking `shippingConfigs` / `analyticsCards` permanent at the
286
- * COLLECTION level — which the user's list implies and an earlier draft of the
287
- * plan did — would strand 14 rows pointing at a store the purge deletes.
288
- *
289
- * Deriving is better than 23 hand-maintained per-row overrides for the usual
290
- * reason: a hand-kept mirror drifts the moment a store is added (Root Cause
291
- * #42), and a derivation is correct for stores that do not exist yet.
292
- */
293
- export const SEED_PURPOSE_DERIVED_FROM = {
294
- shippingConfigs: { field: "storeId", collection: "stores" },
295
- /*
296
- * 🛑 `ownerId` → `users`, NOT `storeId` → `stores`. I wrote the store form
297
- * first and the data disproved it: measured, `analyticsCardsSeedData` carries
298
- * **zero** `storeId` fields — every row is `{ scope: "seller", ownerId:
299
- * "user-tyson-blader", … }`. So these follow the USER whose dashboard they
300
- * compose, and since that user is a test persona all nine correctly resolve
301
- * `test`.
302
- *
303
- * Worth recording because the wrong field does not error: a derived row whose
304
- * named field is absent falls to `test`, which happened to be the right
305
- * answer here and would have silently been the WRONG one for a card owned by
306
- * the admin.
307
- */
308
- analyticsCards: { field: "ownerId", collection: "users" },
309
- };
310
- /**
311
- * Resolution order, most specific first:
312
- *
313
- * 1. the row's own inline `seedPurpose`
314
- * 2. a per-row override in `SEED_ROW_PURPOSE`, by `id` or `uid`
315
- * 3. for a DERIVED collection, the purpose of the row it references
316
- * 4. the collection default
317
- * 5. `test`
318
- *
319
- * 🛑 Step 3 is what holds the referential invariant. A `shippingConfig` for
320
- * `store-letitrip-official` resolves `permanent`; one for
321
- * `store-beyblade-arena` resolves `test` and is purged alongside the store it
322
- * configures, rather than outliving it.
323
- */
324
- export function resolveSeedPurpose(collection, row,
325
- /**
326
- * The document id, when the caller has it and the row does not.
327
- *
328
- * 🛑 Required by `loadGeneric`, which does `let { id, ...data } = docData`
329
- * and therefore hands this function a row with **no `id` at all**. Without
330
- * this parameter the per-row overrides silently did not apply: measured,
331
- * `store-letitrip-official` loaded as `test` — i.e. the platform's own store
332
- * would have been purged, which is exactly the row the keep-list exists to
333
- * protect. `loadUsers` was unaffected because `{ ...u }` keeps `uid`, which
334
- * is why the admin override worked and the store one did not.
335
- */
336
- docId) {
337
- if (row && isSeedPurpose(row.seedPurpose))
338
- return row.seedPurpose;
339
- /* `"<collection>:<id>"` — the collection half is what stops a users
340
- * override also matching that user's CART, which is keyed on the same id. */
341
- const rowKey = (coll, id) => `${coll}:${id}`;
342
- if (docId && isSeedPurpose(SEED_ROW_PURPOSE[rowKey(collection, docId)]))
343
- return SEED_ROW_PURPOSE[rowKey(collection, docId)];
344
- if (row) {
345
- /* `users` seed rows carry `uid` and no `id`; everything else carries `id`. */
346
- const ownId = typeof row.id === "string" ? row.id : typeof row.uid === "string" ? row.uid : null;
347
- if (ownId && isSeedPurpose(SEED_ROW_PURPOSE[rowKey(collection, ownId)]))
348
- return SEED_ROW_PURPOSE[rowKey(collection, ownId)];
349
- const derived = SEED_PURPOSE_DERIVED_FROM[collection];
350
- if (derived) {
351
- const refId = row[derived.field];
352
- if (typeof refId === "string") {
353
- const refOverride = SEED_ROW_PURPOSE[rowKey(derived.collection, refId)];
354
- if (isSeedPurpose(refOverride))
355
- return refOverride;
356
- const refDefault = SEED_COLLECTION_PURPOSE[derived.collection];
357
- return isSeedPurpose(refDefault) ? refDefault : "test";
358
- }
359
- /*
360
- * A derived row with no reference cannot inherit, and guessing
361
- * `permanent` would be the dangling-FK failure this map exists to
362
- * prevent. `test` is the safe answer: it is re-seedable.
363
- */
364
- return "test";
365
- }
366
- }
367
- const declared = SEED_COLLECTION_PURPOSE[collection];
368
- return isSeedPurpose(declared) ? declared : "test";
369
- }
370
- /**
371
- * The fields to write for a purpose — exactly one.
372
- *
373
- * 🛑 It does **not** touch `isTestData` or `testDataExpiresAt`, and that
374
- * restraint is the whole correction described in the header: deriving
375
- * `isTestData` from `test` would have hidden every seeded product, category and
376
- * store from the public site while reporting a clean load.
377
- *
378
- * Kept as a function rather than inlined so there is one place to look when
379
- * someone asks "what does a purpose actually write?", and so the next field
380
- * (if one is ever justified) lands in one place.
381
- */
382
- export function seedPurposeFields(purpose) {
383
- return { seedPurpose: purpose };
384
- }
385
- /**
386
- * Stamp a row for writing. The one function every loader calls, so the CLI and
387
- * `runSeed` cannot disagree about what a purpose means — Root Cause #75's shape
388
- * on the seed axis (a rule reachable by copy-paste gets copied, and the copy
389
- * made before a branch was added never learns about it).
390
- *
391
- * Returns a NEW object; the seed arrays are module-level constants re-imported
392
- * on every CLI invocation and must not be mutated.
393
- */
394
- export function stampSeedPurpose(collection, row,
395
- /** Pass this whenever the caller holds the id and the row does not — see
396
- * `resolveSeedPurpose`'s `docId` for why `loadGeneric` must. */
397
- docId) {
398
- /*
399
- * The cast is to `Record<string, unknown>` only, which is a WIDENING — every
400
- * object satisfies it structurally, and `resolveSeedPurpose` reads `id`,
401
- * `uid` and the derived `field` with `typeof` guards rather than trusting the
402
- * type. 🛑 Deliberately NOT `as any`: that would silence the `collection`
403
- * argument's check too, which is the mistake the plan records at the
404
- * `sendNotification`/`as never` sites.
405
- */
406
- const purpose = resolveSeedPurpose(collection, row, docId);
407
- return { ...row, ...seedPurposeFields(purpose) };
408
- }
409
- /**
410
- * Mark a whole array as something other than its collection default — the
411
- * readable way to say "this file is permanent" (or "this file is fixtures")
412
- * without repeating the field on every row.
413
- *
414
- * Sets the row-level override, so it beats the collection default and is
415
- * visible at the call site.
416
- */
417
- export function asSeedPurpose(purpose, rows) {
418
- return rows.map((row) => ({ ...row, seedPurpose: purpose }));
419
- }
420
- /**
421
- * How long a `test` row survives before a purge may take it.
422
- *
423
- * 🛑 STOP-GAP, added 2026-10-12 to unbreak the build — NOT a design decision,
424
- * and whoever owns `seedPurpose` should replace it with the real declaration.
425
- *
426
- * This file arrived with `src/seed/index.ts:247` and `src/index.ts:1935` ALREADY
427
- * re-exporting `SEED_TEST_TTL_DAYS` from here while nothing declared it, so
428
- * `tsc` failed with TS2305 and appkit did not compile at all — the half-finished
429
- * public-surface rename of Root Cause #20, where the barrel landed without the
430
- * definition. (The same commit also carried `sxdexport const` on line 149,
431
- * i.e. stray keystrokes, which is the likelier reading of what happened here.)
432
- *
433
- * Aliased to the EXISTING value rather than given a fresh number: a retention
434
- * window is a product decision and inventing one would have been worse than the
435
- * compile error. `TEST_DATA_TTL_DAYS` is 7 and is what `testDataExpiresAt()`
436
- * already stamps on every test row, so this is behaviour-preserving by
437
- * construction — and when the two names are reconciled, there is exactly one
438
- * number to change.
439
- */
440
- export { TEST_DATA_TTL_DAYS as SEED_TEST_TTL_DAYS } from "./test-data-ttl.js";
@@ -1,3 +0,0 @@
1
- import { type SessionPlain, SESSION_COLLECTION } from "../features/auth/schemas";
2
- export { SESSION_COLLECTION };
3
- export declare const sessionsSeedData: SessionPlain[];
@@ -1,116 +0,0 @@
1
- /*
2
- * WHY: Seeds user sessions for the Beyblade marketplace — 3 users, mix of active/expired/revoked.
3
- * WHAT: 5 sessions total (3 active, 1 expired, 1 revoked). Covers desktop + mobile, multi-device.
4
- *
5
- * EXPORTS:
6
- * sessionsSeedData — Array of SessionDocument for seed runner
7
- * SESSION_COLLECTION — re-exported collection name
8
- *
9
- * @tag domain:sessions,auth
10
- * @tag layer:seed
11
- * @tag pattern:none
12
- * @tag access:server-only
13
- * @tag consumers:seed/index.ts,seed/runner.ts
14
- * @tag sideEffects:none
15
- */
16
- import { getSeedLocale } from "./seed-market-config.js";
17
- const _locale = getSeedLocale();
18
- import { SESSION_COLLECTION, } from "../features/auth/schemas/index.js";
19
- const NOW = new Date();
20
- const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
21
- const daysAhead = (n) => new Date(NOW.getTime() + n * 86400000);
22
- export { SESSION_COLLECTION };
23
- /*
24
- * 🛑 `SessionPlain`: these fixtures hold real IPs and user-agent strings, and
25
- * `seed-cli` encrypts them on write through the repository's own nested
26
- * `piiFields` paths. The document type declares them `Encrypted<string>`.
27
- */
28
- export const sessionsSeedData = [
29
- // Admin — Chrome Desktop (active)
30
- {
31
- id: "session-admin-chrome-desktop-001",
32
- userId: "user-admin-letitrip",
33
- deviceInfo: {
34
- userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/122.0.0.0 Safari/537.36",
35
- browser: "Chrome 122",
36
- os: "Windows 11",
37
- device: "Desktop",
38
- ip: "203.0.113.1",
39
- },
40
- location: { country: _locale.countryName, city: "Mumbai" },
41
- createdAt: daysAgo(5),
42
- lastActivity: daysAgo(0),
43
- expiresAt: daysAhead(25),
44
- isActive: true,
45
- },
46
- // Rehan — Chrome Android (active)
47
- {
48
- id: "session-yugi-chrome-android-001",
49
- userId: "user-yugi-muto",
50
- deviceInfo: {
51
- userAgent: "Mozilla/5.0 (Linux; Android 14; Pixel 8 Pro) AppleWebKit/537.36 Chrome/122.0.0.0 Mobile Safari/537.36",
52
- browser: "Chrome 122",
53
- os: "Android 14",
54
- device: "Mobile",
55
- ip: "203.0.113.10",
56
- },
57
- location: { country: _locale.countryName, city: "Indore" },
58
- createdAt: daysAgo(3),
59
- lastActivity: daysAgo(0),
60
- expiresAt: daysAhead(27),
61
- isActive: true,
62
- },
63
- // Vivaan — Safari macOS (active)
64
- {
65
- id: "session-kaiba-safari-mac-001",
66
- userId: "user-seto-kaiba",
67
- deviceInfo: {
68
- userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4) AppleWebKit/605.1.15 Version/17.4 Safari/605.1.15",
69
- browser: "Safari 17",
70
- os: "macOS 14",
71
- device: "Desktop",
72
- ip: "203.0.113.20",
73
- },
74
- location: { country: _locale.countryName, city: "Nagpur" },
75
- createdAt: daysAgo(2),
76
- lastActivity: daysAgo(0),
77
- expiresAt: daysAhead(28),
78
- isActive: true,
79
- },
80
- // Rehan — expired old session
81
- {
82
- id: "session-yugi-expired-001",
83
- userId: "user-yugi-muto",
84
- deviceInfo: {
85
- userAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 17_3) AppleWebKit/605.1.15 Version/17.2 Mobile Safari/604.1",
86
- browser: "Safari 17",
87
- os: "iOS 17.3",
88
- device: "Mobile",
89
- ip: "203.0.113.11",
90
- },
91
- location: { country: _locale.countryName, city: "Indore" },
92
- createdAt: daysAgo(40),
93
- lastActivity: daysAgo(36),
94
- expiresAt: daysAgo(35),
95
- isActive: false,
96
- },
97
- // Admin — revoked suspicious session
98
- {
99
- id: "session-admin-revoked-001",
100
- userId: "user-admin-letitrip",
101
- deviceInfo: {
102
- userAgent: "Mozilla/5.0 (Linux; Android 9; SM-J730F) AppleWebKit/537.36 Chrome/67.0.0.0 Mobile Safari/537.36",
103
- browser: "Chrome 67",
104
- os: "Android 9",
105
- device: "Mobile",
106
- ip: "198.51.100.42",
107
- },
108
- location: { country: "Russia", city: "Moscow" },
109
- createdAt: daysAgo(20),
110
- lastActivity: daysAgo(20),
111
- expiresAt: daysAhead(8),
112
- isActive: false,
113
- revokedAt: daysAgo(20),
114
- revokedBy: "admin",
115
- },
116
- ];
@@ -1,5 +0,0 @@
1
- import type { ShipmentDocument, ShipmentLot, ShipmentItem } from "../features/shipments/schemas/firestore";
2
- declare const shipmentLotsSeedData: Partial<ShipmentLot>[];
3
- declare const shipmentsSeedData: Partial<ShipmentDocument>[];
4
- declare const shipmentItemsSeedData: Partial<ShipmentItem>[];
5
- export { shipmentsSeedData, shipmentLotsSeedData, shipmentItemsSeedData };