@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,67 +0,0 @@
1
- /**
2
- * Seed-time media URL helper.
3
- *
4
- * Wraps a 3rd-party image/video URL in the /api/media/ext proxy path so
5
- * seed data never persists raw upstream URLs. The proxy adds watermarking,
6
- * survives upstream rate-limits, and keeps CSP / image hosts under our
7
- * control.
8
- *
9
- * Companion runtime helper: `resolveMediaUrl()` in ../../utils/media-url.ts
10
- * — defends consumers that still see raw URLs (e.g. live Firestore reads
11
- * from older docs). Both produce the same `/api/media/ext?url=<encoded>`
12
- * shape for external https URLs.
13
- *
14
- * Idempotent: already-proxied URLs (`/media/...` or `/api/media/ext?url=...`)
15
- * pass through untouched, so wrapping a wrapped URL is safe.
16
- */
17
- import type { ProductImage } from "../../features/products/types";
18
- export declare function seedExtMedia(url: string): string;
19
- /**
20
- * Is this cover value a generated PLACEHOLDER rather than a real image?
21
- *
22
- * 🛑 Load-bearing for `withGeneratedCoverImage`, which otherwise treats any
23
- * non-empty `display.coverImage` as hand-authored and skips the row — so a
24
- * `seedPhoto(...)` tile BLOCKED every fetched wordmark, and a logo could be
25
- * downloaded, uploaded, mapped and still never appear.
26
- *
27
- * The distinction is the honest one: a tile is what the seed emits when it has
28
- * nothing better, so it is a default to be improved on. A real path (a
29
- * `/media/<slug>` or an admin upload) is a decision, and that still wins.
30
- */
31
- export declare function isSeedPlaceholderImage(value: string | undefined | null): boolean;
32
- /**
33
- * Turn a seed key into something a person would read.
34
- *
35
- * `art-image-dranzer-phoenix-2-20260817` → `Dranzer Phoenix`
36
- *
37
- * Strips the trailing `-YYYYMMDD` stamp, a trailing image index, and the
38
- * leading `<kind>-image-` prefix that every seed key carries — all of which are
39
- * bookkeeping, not the name of the thing.
40
- */
41
- export declare function seedPhotoLabel(seed: string): string;
42
- /**
43
- * A seed gallery as `ProductImage[]` — plan A6 changed
44
- * `ProductDocument.images` from `string[]` to `ProductImage[]`, and these
45
- * fixtures hold bare URLs.
46
- *
47
- * 🛑 Deliberately sets NO `alt`. The only string available at these call
48
- * sites is the product title, and "Dranzer S" repeated as the alt of all
49
- * three of its photos is the naive fill that screen-reader users correctly
50
- * treat as noise — worse than absent, because it claims to describe. The
51
- * GENERATED catalogue does emit real alt ("Chain Kerbeus — Aquilon-Q
52
- * (Disc)") because its join knows what each photo is OF; a hand-written
53
- * fixture does not, and should say so by omission.
54
- *
55
- * Nor does it set `width`/`height`: a seed tile is one SVG serving every
56
- * aspect (see `seedPhoto` below), so there is no honest intrinsic size.
57
- */
58
- export declare function seedGallery(...urls: string[]): ProductImage[];
59
- /**
60
- * A deterministic, labelled placeholder image for seed data, already wrapped in
61
- * the media proxy.
62
- *
63
- * Deterministic on purpose — Root Cause #25: a seed file is re-executed on every
64
- * `appkit-seed` invocation, so anything non-stable here would give the same
65
- * fixture a different URL on every run.
66
- */
67
- export declare function seedPhoto(seed: string, _width?: number, _height?: number): string;
@@ -1,172 +0,0 @@
1
- /**
2
- * Seed-time media URL helper.
3
- *
4
- * Wraps a 3rd-party image/video URL in the /api/media/ext proxy path so
5
- * seed data never persists raw upstream URLs. The proxy adds watermarking,
6
- * survives upstream rate-limits, and keeps CSP / image hosts under our
7
- * control.
8
- *
9
- * Companion runtime helper: `resolveMediaUrl()` in ../../utils/media-url.ts
10
- * — defends consumers that still see raw URLs (e.g. live Firestore reads
11
- * from older docs). Both produce the same `/api/media/ext?url=<encoded>`
12
- * shape for external https URLs.
13
- *
14
- * Idempotent: already-proxied URLs (`/media/...` or `/api/media/ext?url=...`)
15
- * pass through untouched, so wrapping a wrapped URL is safe.
16
- */
17
- import { MEDIA_ENDPOINTS } from "../../constants/api-endpoints.js";
18
- const PROXY_PREFIX = "/media/";
19
- // audit-hardcoded-api-routes-ok: idempotency prefix check for MEDIA_ENDPOINTS.EXT_URL's own output shape, not a call site
20
- const EXT_PREFIX = "/api/media/ext?url=";
21
- export function seedExtMedia(url) {
22
- if (url.startsWith(PROXY_PREFIX))
23
- return url;
24
- if (url.startsWith(EXT_PREFIX))
25
- return url;
26
- return MEDIA_ENDPOINTS.EXT_URL(url);
27
- }
28
- /* ── Seed photography ────────────────────────────────────────────────────── */
29
- /*
30
- * WHY THIS EXISTS
31
- *
32
- * The seed catalogue used to name its image host **409 times**, in 30 files, as
33
- * `https://picsum.photos/seed/<seed>/<w>/<h>` literals. On 2026-08-31 picsum
34
- * went down — 503 from its origin AND its Fastly CDN — and because the host was
35
- * written into every URL rather than referenced from one place, virtually every
36
- * image on the production site broke at once and there was no single edit that
37
- * could move them.
38
- *
39
- * That is the actual defect. A third party going down is not preventable; being
40
- * unable to react to it in one line is.
41
- *
42
- * Measured the same day, direct: picsum 503 · fastly.picsum 503 (10.5s) ·
43
- * placekitten 521 · loremflickr 200 but 5.4s, which exceeds the proxy's own 4s
44
- * fetch timeout · placehold.co 200 in 0.58s. Hence placehold.co.
45
- *
46
- * It renders the item's own NAME on the tile, which is a real gain over random
47
- * photography for a demo catalogue: every card now says what it is, and nobody
48
- * can mistake seeded data for real inventory.
49
- */
50
- /*
51
- * 🛑 SUPERSEDED 2026-10-09 — seed photography is now LOCAL and costs nothing.
52
- *
53
- * The reasoning above is still correct about third-party fragility, and the
54
- * one-line-to-move property is still the goal. What it missed is the cost: every
55
- * one of these URLs was persisted as `/api/media/ext?url=…`, so every render of
56
- * every card was a Node lambda doing a third-party fetch (up to 2 × 4 s) plus a
57
- * full sharp decode/watermark/encode — ONE INVOCATION PER IMAGE. The homepage
58
- * alone referenced 160 of them at ~49.5 KB; `52.52 GB of origin transfer ÷
59
- * 49.5 KB ≈ 1.06 M` proxy responses in a week, which suspended the project
60
- * (HTTP 402).
61
- *
62
- * A placeholder is synthetic by definition, so there was never anything to
63
- * fetch. Six static tiles ship in `public/images/seed-tiles/`, chosen by the
64
- * same deterministic hash, and the homepage goes 160 images → 6.
65
- *
66
- * The trade accepted: the tile no longer renders the item's NAME. That text was
67
- * a genuine gain and it is lost here — but it cost a function invocation per
68
- * card to render text the card already displays beside the image, and `alt` still
69
- * carries it for assistive tech. `seedPhotoLabel` is kept and still exported for
70
- * exactly that use.
71
- *
72
- * 🛑 Do NOT reintroduce a third-party host here, and do NOT encode width/height
73
- * into the path — a per-size URL is a per-size CDN cache key, which is how 6
74
- * files become 400 again. `audit-media-proxy-hosts` blocks the first; this
75
- * comment is the only thing guarding the second.
76
- */
77
- const SEED_TILE_PREFIX = "/images/seed-tiles/";
78
- /**
79
- * Is this cover value a generated PLACEHOLDER rather than a real image?
80
- *
81
- * 🛑 Load-bearing for `withGeneratedCoverImage`, which otherwise treats any
82
- * non-empty `display.coverImage` as hand-authored and skips the row — so a
83
- * `seedPhoto(...)` tile BLOCKED every fetched wordmark, and a logo could be
84
- * downloaded, uploaded, mapped and still never appear.
85
- *
86
- * The distinction is the honest one: a tile is what the seed emits when it has
87
- * nothing better, so it is a default to be improved on. A real path (a
88
- * `/media/<slug>` or an admin upload) is a decision, and that still wins.
89
- */
90
- export function isSeedPlaceholderImage(value) {
91
- return typeof value === "string" && value.startsWith(SEED_TILE_PREFIX);
92
- }
93
- /**
94
- * Muted backgrounds, all dark enough for the same light foreground.
95
- *
96
- * Raw hex rather than theme tokens because an SVG served as the body of an
97
- * `<img>` has no stylesheet and no `var(--appkit-color-*)` in scope — the same
98
- * reason `_placeholder.ts` keeps its artwork in an asset file.
99
- *
100
- * 🛑 These six values ARE the filenames in `public/images/seed-tiles/`, and they
101
- * are mirrored a third time in `PLACEHOLDER_MEDIA_HOSTS`' sibling
102
- * `SEED_TILE_COLOURS` (`appkit/src/utils/media-url.ts`), which maps a legacy
103
- * stored `placehold.co` URL back to the same tile. Add a colour and all three
104
- * must move together; a missing one degrades to a deterministic fallback tile
105
- * rather than a broken image, so the failure mode is "less variety", never a 404.
106
- */
107
- const SEED_PHOTO_COLOURS = ["1e293b", "334155", "3f3f46", "44403c", "312e81", "164e63"];
108
- /** Deterministic 32-bit hash. Same seed, same colour, every reseed. */
109
- function seedHash(input) {
110
- let h = 2166136261;
111
- for (let i = 0; i < input.length; i += 1) {
112
- h ^= input.charCodeAt(i);
113
- h = Math.imul(h, 16777619);
114
- }
115
- return h >>> 0;
116
- }
117
- /**
118
- * Turn a seed key into something a person would read.
119
- *
120
- * `art-image-dranzer-phoenix-2-20260817` → `Dranzer Phoenix`
121
- *
122
- * Strips the trailing `-YYYYMMDD` stamp, a trailing image index, and the
123
- * leading `<kind>-image-` prefix that every seed key carries — all of which are
124
- * bookkeeping, not the name of the thing.
125
- */
126
- export function seedPhotoLabel(seed) {
127
- const cleaned = seed
128
- .replace(/-\d{8}$/, "")
129
- .replace(/-\d+$/, "")
130
- .replace(/^(?:product|art|sticker|stickers|auction|preorder|prizedraw|classified|digitalcode|live|blog|event|store|user|category|brand|bundle|group|review|ad|carousel|slide)-(?:image|cover|banner|logo|avatar|photo)-/, "")
131
- .replace(/^(?:image|cover|banner|logo|avatar|photo)-/, "")
132
- .replace(/-/g, " ")
133
- .trim();
134
- if (!cleaned)
135
- return "LetItRip";
136
- return cleaned.replace(/\b[a-z]/g, (c) => c.toUpperCase());
137
- }
138
- /**
139
- * A seed gallery as `ProductImage[]` — plan A6 changed
140
- * `ProductDocument.images` from `string[]` to `ProductImage[]`, and these
141
- * fixtures hold bare URLs.
142
- *
143
- * 🛑 Deliberately sets NO `alt`. The only string available at these call
144
- * sites is the product title, and "Dranzer S" repeated as the alt of all
145
- * three of its photos is the naive fill that screen-reader users correctly
146
- * treat as noise — worse than absent, because it claims to describe. The
147
- * GENERATED catalogue does emit real alt ("Chain Kerbeus — Aquilon-Q
148
- * (Disc)") because its join knows what each photo is OF; a hand-written
149
- * fixture does not, and should say so by omission.
150
- *
151
- * Nor does it set `width`/`height`: a seed tile is one SVG serving every
152
- * aspect (see `seedPhoto` below), so there is no honest intrinsic size.
153
- */
154
- export function seedGallery(...urls) {
155
- return urls.filter(Boolean).map((url) => ({ url }));
156
- }
157
- /**
158
- * A deterministic, labelled placeholder image for seed data, already wrapped in
159
- * the media proxy.
160
- *
161
- * Deterministic on purpose — Root Cause #25: a seed file is re-executed on every
162
- * `appkit-seed` invocation, so anything non-stable here would give the same
163
- * fixture a different URL on every run.
164
- */
165
- export function seedPhoto(seed, _width, _height) {
166
- const bg = SEED_PHOTO_COLOURS[seedHash(seed) % SEED_PHOTO_COLOURS.length];
167
- // Width/height are accepted and ignored. All 366 call sites pass them, and the
168
- // tiles carry `preserveAspectRatio="xMidYMid slice"` so one file fits every
169
- // aspect — baking the dimensions into the path would mint a separate cache
170
- // entry per size, which is the thing this change removes.
171
- return `${SEED_TILE_PREFIX}${bg}.svg`;
172
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * GENERATED by scripts/derive-part-colours.mjs — do not edit by hand.
3
- *
4
- * Part glossary id -> the dominant colour MEASURED from that part's cached
5
- * reference photograph. Not invented: the pixels are the evidence.
6
- *
7
- * 🛑 The wiki exposes ONE photo per part, so for a part released in several
8
- * models this is the colour of the photographed release — exact for that one,
9
- * indicative for the others. The MODEL half of a colourway is always exact
10
- * (it comes from `usedBy`); this half carries that caveat. Replacing these
11
- * with real per-release photography is the intended fix.
12
- *
13
- * White is excluded before counting, because the fetcher flattens transparent
14
- * PNGs onto white and a naive dominant-colour read returns White for almost
15
- * everything.
16
- */
17
- export declare const GENERATED_PART_COLOURS: Readonly<Record<string, string>>;
18
- export declare const GENERATED_PART_COLOUR_COUNT = 254;
@@ -1,273 +0,0 @@
1
- /**
2
- * GENERATED by scripts/derive-part-colours.mjs — do not edit by hand.
3
- *
4
- * Part glossary id -> the dominant colour MEASURED from that part's cached
5
- * reference photograph. Not invented: the pixels are the evidence.
6
- *
7
- * 🛑 The wiki exposes ONE photo per part, so for a part released in several
8
- * models this is the colour of the photographed release — exact for that one,
9
- * indicative for the others. The MODEL half of a colourway is always exact
10
- * (it comes from `usedBy`); this half carries that caveat. Replacing these
11
- * with real per-release photography is the intended fix.
12
- *
13
- * White is excluded before counting, because the fetcher flattens transparent
14
- * PNGs onto white and a naive dominant-colour read returns White for almost
15
- * everything.
16
- */
17
- export const GENERATED_PART_COLOURS = {
18
- "attack-ring--circle-upper": "Maroon",
19
- "attack-ring--cross-attacker": "Navy",
20
- "attack-ring--cross-dranzer": "Blue",
21
- "attack-ring--cross-fang": "Brown",
22
- "attack-ring--cross-griffon": "Teal",
23
- "attack-ring--cross-spike": "Black",
24
- "attack-ring--cross-spiker": "Green",
25
- "attack-ring--cybernetic-dragon": "Black",
26
- "attack-ring--devil-crusher": "Grey",
27
- "attack-ring--double-horn": "Gold",
28
- "attack-ring--double-wing": "Blue",
29
- "attack-ring--dragon-breaker": "Navy",
30
- "attack-ring--dragon-saucer": "Navy",
31
- "attack-ring--eight-attacker": "Brown",
32
- "attack-ring--eight-spike": "Silver",
33
- "attack-ring--flame-wing": "Navy",
34
- "attack-ring--g-upper": "Bronze",
35
- "attack-ring--genocide-circle": "Red",
36
- "attack-ring--gigantic-claw": "Bronze",
37
- "attack-ring--great-dragon": "Black",
38
- "attack-ring--hammer-tusk": "Blue",
39
- "attack-ring--howling-leo": "Silver",
40
- "attack-ring--jiraiya-blade": "Silver",
41
- "attack-ring--metal-ape": "Grey",
42
- "attack-ring--metal-attacker": "Grey",
43
- "attack-ring--metal-defense": "Grey",
44
- "attack-ring--metal-saucer": "Purple",
45
- "attack-ring--mountain-hammer": "Maroon",
46
- "attack-ring--panther-claw": "Navy",
47
- "attack-ring--panther-head": "Maroon",
48
- "attack-ring--penta-wing": "Navy",
49
- "attack-ring--reverse-dragon": "Maroon",
50
- "attack-ring--sharkrash": "Navy",
51
- "attack-ring--shield-hammer": "Green",
52
- "attack-ring--sonic-tiger": "Black",
53
- "attack-ring--spike-dragon": "Brown",
54
- "attack-ring--spiral-upper": "Navy",
55
- "attack-ring--star-wolf": "Purple",
56
- "attack-ring--strike-turtle": "Black",
57
- "attack-ring--ten-spike": "Black",
58
- "attack-ring--tiger-defenser": "Red",
59
- "attack-ring--triangle-wing": "Navy",
60
- "attack-ring--triple-beak": "Red",
61
- "attack-ring--turtle-survivor": "Navy",
62
- "attack-ring--ultimate-attacker": "Grey",
63
- "attack-ring--upper-claw": "Black",
64
- "attack-ring--upper-dragon": "Bronze",
65
- "attack-ring--vanishing-moot": "Teal",
66
- "attack-ring--war-lion": "Maroon",
67
- "attack-ring--war-monkey": "Grey",
68
- "attack-ring--wing-survivor": "Blue",
69
- "attack-ring--wing-upper": "Silver",
70
- "attack-ring--wolf-crusher": "Brown",
71
- "bit--accel": "Navy",
72
- "bit--disk-ball": "Gold",
73
- "bit--flat": "Teal",
74
- "bit--free-ball": "Yellow",
75
- "bit--gear-ball": "Yellow",
76
- "bit--hexa": "Maroon",
77
- "bit--point": "Maroon",
78
- "bit--taper": "Red",
79
- "bit--trans-point": "Red",
80
- "bit--vortex": "Navy",
81
- "blade--aeropegasus": "Navy",
82
- "blade--cobaltdragoon": "Blue",
83
- "blade--cobaltdrake": "Blue",
84
- "blade--crimsongaruda": "Maroon",
85
- "blade--dranbuster": "Navy",
86
- "blade--drandagger": "Navy",
87
- "blade--dransword": "Black",
88
- "blade--dranzerspiral": "Blue",
89
- "blade--drigerslash": "Red",
90
- "blade--ghostcircle": "Maroon",
91
- "blade--hellshammer": "Maroon",
92
- "blade--hellsscythe": "Black",
93
- "blade--knightshield": "Black",
94
- "blade--leonclaw": "Navy",
95
- "blade--phoenixwing": "Maroon",
96
- "blade--savior": "Blue",
97
- "blade--sharkedge": "Navy",
98
- "blade--silverwolf": "Grey",
99
- "blade--tyrannobeat": "Maroon",
100
- "blade--unicornsting": "Black",
101
- "blade--vipertail": "Black",
102
- "blade--wizardarrow": "Yellow",
103
- "blade--wizardrod": "Gold",
104
- "blade-base--customize-clutch-base": "Blue",
105
- "blade-base--customize-grip-base": "Navy",
106
- "blade-base--customize-metal-sharp": "Red",
107
- "blade-base--engine-stopper-base": "Silver",
108
- "blade-base--first-clutch-base": "Green",
109
- "blade-base--flame-change-base": "Navy",
110
- "blade-base--fortress-base": "Navy",
111
- "blade-base--full-auto-clutch-base": "Brown",
112
- "blade-base--griffolyon-base": "Grey",
113
- "blade-base--instant-release": "Grey",
114
- "blade-base--jumping-base": "Brown",
115
- "blade-base--magne-flat-base": "Grey",
116
- "blade-base--metal-change-base": "Grey",
117
- "blade-base--metal-sharp-base": "Black",
118
- "blade-base--sg-flat": "Red",
119
- "blade-base--sg-flat-base": "Red",
120
- "blade-base--sg-jumping-base-2": "Grey",
121
- "blade-base--sg-metal-ball": "Green",
122
- "blade-base--sg-metal-flat-2": "Purple",
123
- "blade-base--sg-metal-flat-base": "Brown",
124
- "blade-base--viper-metal-ball-base": "Black",
125
- "blade-base--volcano-change-base": "Navy",
126
- "chrome-wheel--dragoon": "White",
127
- "disc--0": "Grey",
128
- "disc--00": "Grey",
129
- "disc--1": "Grey",
130
- "disc--10": "Grey",
131
- "disc--11": "Navy",
132
- "disc--7": "Grey",
133
- "disc--8": "Grey",
134
- "disc--aquilon-q": "Grey",
135
- "disc--around": "Maroon",
136
- "disc--blitz": "Red",
137
- "disc--boost": "Grey",
138
- "disc--drake": "Navy",
139
- "disc--force": "Grey",
140
- "disc--karma": "Grey",
141
- "disc--knuckle": "Grey",
142
- "disc--legacy": "Grey",
143
- "disc--limited": "Grey",
144
- "disc--nexus": "Grey",
145
- "disc--nine": "Teal",
146
- "disc--over": "Navy",
147
- "disc--sting": "Navy",
148
- "disc--tapered": "Grey",
149
- "disc--triple": "Navy",
150
- "disc--vanguard": "Red",
151
- "disc--vertical": "Black",
152
- "disc--yell": "Brown",
153
- "disc--zenith": "Pink",
154
- "driver--atomic": "Gold",
155
- "driver--bullet": "Maroon",
156
- "driver--charge": "Teal",
157
- "driver--destroy-dash": "Teal",
158
- "driver--dimension": "Red",
159
- "driver--dimension-dash": "Red",
160
- "driver--drift": "Grey",
161
- "driver--evolution-dash": "Teal",
162
- "driver--iron": "Teal",
163
- "driver--jaggy": "Navy",
164
- "driver--loop": "Black",
165
- "driver--merge": "Maroon",
166
- "driver--mobius": "Black",
167
- "driver--nothing": "Red",
168
- "driver--press": "Black",
169
- "driver--reboot": "Blue",
170
- "driver--revolve-q": "Purple",
171
- "driver--spiral": "Grey",
172
- "driver--unite": "Maroon",
173
- "driver--unite-dash": "Gold",
174
- "driver--variable": "Teal",
175
- "driver--variable-dash": "Navy",
176
- "driver--xceed-x": "Bronze",
177
- "driver--xtend": "Red",
178
- "driver--zone-z": "Blue",
179
- "energy-ring--4d-clear-wheel-orion": "Maroon",
180
- "energy-ring--blaze": "Bronze",
181
- "energy-ring--bull": "Navy",
182
- "energy-ring--capricorn": "Green",
183
- "energy-ring--capricorne": "Green",
184
- "energy-ring--clear-wheel-wolf": "Navy",
185
- "energy-ring--nemesis-x": "Yellow",
186
- "energy-ring--sagittario": "Green",
187
- "energy-ring--sagittario-i": "Green",
188
- "energy-ring--striker-ii": "Maroon",
189
- "energy-ring--wolf": "Navy",
190
- "energy-ring--zurafa": "Black",
191
- "engine-gear--left-engine-gear": "Grey",
192
- "fusion-wheel--4d-metal-wheel-phantom": "Purple",
193
- "fusion-wheel--burn": "Grey",
194
- "fusion-wheel--earth": "Silver",
195
- "fusion-wheel--flame": "Grey",
196
- "fusion-wheel--forbidden": "Grey",
197
- "fusion-wheel--metal-wheel-mercury": "Navy",
198
- "fusion-wheel--proto": "Grey",
199
- "fusion-wheel--rock": "Gold",
200
- "layer--dark-deathscyther": "Black",
201
- "layer--draciel-fortress": "Grey",
202
- "layer--drain-fafnir": "Blue",
203
- "layer--dranzer-flame": "Navy",
204
- "layer--engine-gear": "Brown",
205
- "layer--gaia-dragoon": "Purple",
206
- "layer--genesis-valtryek-v3": "Grey",
207
- "layer--god-valkyrie": "Blue",
208
- "layer--kaiser-kerbeus": "Teal",
209
- "layer--king-kerbeus-k2": "Grey",
210
- "layer--legend-spriggan": "Pink",
211
- "layer--maximum-garuda": "Yellow",
212
- "layer--obelisk-odin": "Silver",
213
- "layer--sieg-xcalibur": "Blue",
214
- "layer--spryzen-requiem-s3": "Maroon",
215
- "layer--storm-spriggan": "Pink",
216
- "layer--victory-valkyrie": "Blue",
217
- "layer--wild-wyvern": "Black",
218
- "layer--wolborg": "Silver",
219
- "layer--xeno-xcalibur": "Red",
220
- "performance-tip--as": "Silver",
221
- "performance-tip--bs": "Grey",
222
- "performance-tip--cf": "Red",
223
- "performance-tip--cs": "Navy",
224
- "performance-tip--evolution": "Blue",
225
- "performance-tip--ewd": "Gold",
226
- "performance-tip--f": "Grey",
227
- "performance-tip--f-d": "Gold",
228
- "performance-tip--gf": "Black",
229
- "performance-tip--ms": "Grey",
230
- "performance-tip--r-f": "Navy",
231
- "performance-tip--rb": "Grey",
232
- "performance-tip--rf": "Bronze",
233
- "performance-tip--sf": "Grey",
234
- "performance-tip--tb": "Black",
235
- "performance-tip--wb": "White",
236
- "performance-tip--wsf": "Brown",
237
- "ratchet--0-80": "Navy",
238
- "ratchet--1-60": "Navy",
239
- "ratchet--3-60": "Navy",
240
- "ratchet--3-70": "Bronze",
241
- "ratchet--3-80": "Green",
242
- "ratchet--4-60": "Maroon",
243
- "ratchet--4-70": "Silver",
244
- "ratchet--4-80": "Gold",
245
- "ratchet--5-60": "Black",
246
- "ratchet--5-70": "Gold",
247
- "ratchet--5-80": "Red",
248
- "ratchet--9-60": "Maroon",
249
- "running-core--flat-core": "Brown",
250
- "running-core--grip-flat-core": "Grey",
251
- "running-core--manual-change-core": "White",
252
- "running-core--semi-flat-core": "Grey",
253
- "running-core--sharp-core": "Grey",
254
- "spin-gear--heavy-metal-core": "Brown",
255
- "spin-gear--neo-right-sg": "Maroon",
256
- "spin-track--135": "Grey",
257
- "spin-track--a230": "Maroon",
258
- "spin-track--sa165": "Brown",
259
- "spin-track--sp230": "Grey",
260
- "spin-track--t125": "Yellow",
261
- "spin-track--v145": "Red",
262
- "spin-track--w105": "Navy",
263
- "weight-disk--circle-balance": "Grey",
264
- "weight-disk--eight-heavy": "Grey",
265
- "weight-disk--heavy-attack": "White",
266
- "weight-disk--magne-weight-disk": "Grey",
267
- "weight-disk--star-attack": "Grey",
268
- "weight-disk--ten-balance": "White",
269
- "weight-disk--ten-heavy": "Grey",
270
- "weight-disk--ten-wide": "Grey",
271
- "weight-disk--wing-attacker": "Red",
272
- };
273
- export const GENERATED_PART_COLOUR_COUNT = 254;
@@ -1,18 +0,0 @@
1
- import type { ProductDocument } from "../../features/products/schemas";
2
- /**
3
- * Derive `searchTxt` for a seeded product from its own content.
4
- *
5
- * Applied to the WHOLE array at each file's export rather than written per
6
- * record. Four of the product seed files built records as inline literals with
7
- * an inline `searchTxt:`, and in every one of them the last record — the
8
- * "sold"/"depleted" fixture appended at the bottom — had been added without it.
9
- * Those are exactly the rows the "Sold & Ended" scope exists to exercise, so
10
- * they were invisible to search in the one view built to show them.
11
- *
12
- * The `...p` spread comes FIRST so a record cannot override or omit the field:
13
- * that ordering is the actual guarantee, not the convention around it.
14
- *
15
- * Pure function of the record's content — deterministic, so this does not
16
- * reintroduce the `appkit-seed` idempotency problem of Root Cause #25.
17
- */
18
- export declare function withProductSearchTxt(p: Partial<ProductDocument>): Partial<ProductDocument>;
@@ -1,23 +0,0 @@
1
- import { buildProductSearchTxt } from "../../utils/search-txt-builders.js";
2
- /**
3
- * Derive `searchTxt` for a seeded product from its own content.
4
- *
5
- * Applied to the WHOLE array at each file's export rather than written per
6
- * record. Four of the product seed files built records as inline literals with
7
- * an inline `searchTxt:`, and in every one of them the last record — the
8
- * "sold"/"depleted" fixture appended at the bottom — had been added without it.
9
- * Those are exactly the rows the "Sold & Ended" scope exists to exercise, so
10
- * they were invisible to search in the one view built to show them.
11
- *
12
- * The `...p` spread comes FIRST so a record cannot override or omit the field:
13
- * that ordering is the actual guarantee, not the convention around it.
14
- *
15
- * Pure function of the record's content — deterministic, so this does not
16
- * reintroduce the `appkit-seed` idempotency problem of Root Cause #25.
17
- */
18
- export function withProductSearchTxt(p) {
19
- // Delegates rather than re-deriving. This wrapper listed 9 sources while the
20
- // write path indexed 12, so a seeded product was findable by fewer terms than
21
- // the identical product created through the app — with no error on either side.
22
- return { ...p, searchTxt: buildProductSearchTxt(p) };
23
- }
@@ -1,26 +0,0 @@
1
- import type { CategoryDocument } from "../../features/categories/schemas/firestore";
2
- import type { StoreDocument } from "../../features/stores/schemas/firestore";
3
- import type { ScammerDocument } from "../../features/scams/schemas/firestore";
4
- import type { EventDocument } from "../../features/events/schemas/firestore";
5
- import type { BlogPostDocument } from "../../features/blog/schemas/firestore";
6
- import type { ReviewPlain } from "../../features/reviews/schemas/firestore";
7
- import type { OrderPlain } from "../../features/orders/schemas/firestore";
8
- import type { CouponDocument } from "../../features/promotions/schemas/firestore";
9
- import type { OfferPlain } from "../../features/seller/schemas/firestore";
10
- /**
11
- * 🛑 Apply AFTER `buildCategoryTree`, never before.
12
- *
13
- * `buildCategorySearchTxt` indexes `path` and `ancestors[].name`, and both are
14
- * DERIVED by the tree builder — a row wrapped before derivation gets tokens
15
- * from `name`/`slug`/`description` only, and silently loses the lineage search
16
- * that is the whole reason ancestors are indexed.
17
- */
18
- export declare function withCategorySearchTxt<T extends Partial<CategoryDocument>>(p: T): T;
19
- export declare function withStoreSearchTxt<T extends Partial<StoreDocument>>(p: T): T;
20
- export declare function withEventSearchTxt<T extends Partial<EventDocument>>(p: T): T;
21
- export declare function withBlogSearchTxt<T extends Partial<BlogPostDocument>>(p: T): T;
22
- export declare function withReviewSearchTxt<T extends Partial<ReviewPlain>>(p: T): T;
23
- export declare function withOrderSearchTxt<T extends Partial<OrderPlain>>(p: T): T;
24
- export declare function withCouponSearchTxt<T extends Partial<CouponDocument>>(p: T): T;
25
- export declare function withOfferSearchTxt<T extends Partial<OfferPlain>>(p: T): T;
26
- export declare function withScammerSearchTxt<T extends Partial<ScammerDocument>>(p: T): T;
@@ -1,58 +0,0 @@
1
- import { buildCategorySearchTxt, buildStoreSearchTxt, buildEventSearchTxt, buildBlogSearchTxt, buildReviewSearchTxt, buildOrderSearchTxt, buildCouponSearchTxt, buildOfferSearchTxt, buildScammerSearchTxt, } from "../../utils/search-txt-builders.js";
2
- /**
3
- * 🛑 Apply AFTER `buildCategoryTree`, never before.
4
- *
5
- * `buildCategorySearchTxt` indexes `path` and `ancestors[].name`, and both are
6
- * DERIVED by the tree builder — a row wrapped before derivation gets tokens
7
- * from `name`/`slug`/`description` only, and silently loses the lineage search
8
- * that is the whole reason ancestors are indexed.
9
- */
10
- export function withCategorySearchTxt(p) {
11
- return { ...p, searchTxt: buildCategorySearchTxt(p) };
12
- }
13
- export function withStoreSearchTxt(p) {
14
- return { ...p, searchTxt: buildStoreSearchTxt(p) };
15
- }
16
- export function withEventSearchTxt(p) {
17
- return { ...p, searchTxt: buildEventSearchTxt(p) };
18
- }
19
- export function withBlogSearchTxt(p) {
20
- return { ...p, searchTxt: buildBlogSearchTxt(p) };
21
- }
22
- /*
23
- * Bounded by `ReviewPlain` for the same reason as the offer wrapper: seed
24
- * fixtures hold plaintext and `seed-cli` encrypts on write, and
25
- * `string`/`Encrypted<string>` are incompatible in both directions.
26
- * `buildReviewSearchTxt` deliberately does NOT read `userName` — it is
27
- * encrypted, and indexing it would undo the encryption (D1).
28
- */
29
- export function withReviewSearchTxt(p) {
30
- return { ...p, searchTxt: buildReviewSearchTxt(p) };
31
- }
32
- /*
33
- * Bounded by `OrderPlain`: seed fixtures hold plaintext and `seed-cli`
34
- * encrypts on write. `buildOrderSearchTxt` reads the product, store, tracking
35
- * number, items and location — never `userEmail` (D1).
36
- */
37
- export function withOrderSearchTxt(p) {
38
- return { ...p, searchTxt: buildOrderSearchTxt(p) };
39
- }
40
- export function withCouponSearchTxt(p) {
41
- return { ...p, searchTxt: buildCouponSearchTxt(p) };
42
- }
43
- /*
44
- * Bounded by `OfferPlain`, not `OfferDocument`.
45
- *
46
- * Seed fixtures hold plaintext and `seed-cli` encrypts on write, so the array
47
- * this maps over is `Partial<OfferPlain>[]`. `string` and `Encrypted<string>`
48
- * are incompatible in both directions, so a document-bounded generic rejects
49
- * the plain shape outright. The function reads `buyerName` for tokens and does
50
- * not care which it gets — and `buildOfferSearchTxt` is deliberately given the
51
- * PLAINTEXT one: tokenising ciphertext would index base64.
52
- */
53
- export function withOfferSearchTxt(p) {
54
- return { ...p, searchTxt: buildOfferSearchTxt(p) };
55
- }
56
- export function withScammerSearchTxt(p) {
57
- return { ...p, searchTxt: buildScammerSearchTxt(p) };
58
- }
@@ -1,2 +0,0 @@
1
- import type { AddressPlain } from "../features/addresses/schemas/firestore";
2
- export declare const addressesSeedData: AddressPlain[];