@mohasinac/appkit 3.6.5 → 3.8.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 (298) hide show
  1. package/dist/_internal/client/features/layout/DashboardLayoutClient.d.ts +17 -3
  2. package/dist/_internal/client/features/layout/DashboardLayoutClient.js +7 -2
  3. package/dist/_internal/client/features/tour/TourProvider.d.ts +5 -2
  4. package/dist/_internal/client/features/tour/TourProvider.js +125 -12
  5. package/dist/_internal/client/theme/ThemeProvider.js +1 -1
  6. package/dist/_internal/server/features/categories/data.js +2 -2
  7. package/dist/_internal/server/features/faqs/og.js +5 -1
  8. package/dist/_internal/server/features/reviews/og.js +5 -1
  9. package/dist/_internal/server/features/seo/manifest.js +2 -1
  10. package/dist/_internal/server/features/seo/og.js +7 -1
  11. package/dist/_internal/server/features/tester/visibility.d.ts +13 -0
  12. package/dist/_internal/server/features/tester/visibility.js +28 -0
  13. package/dist/_internal/server/functions/scheduled.d.ts +2 -1
  14. package/dist/_internal/server/functions/scheduled.js +9 -1
  15. package/dist/_internal/server/jobs/core/jobRunners.js +5 -0
  16. package/dist/_internal/server/jobs/core/resetOtpVerification.d.ts +17 -0
  17. package/dist/_internal/server/jobs/core/resetOtpVerification.js +88 -0
  18. package/dist/_internal/server/jobs/core/testerSandboxCleanup.d.ts +6 -0
  19. package/dist/_internal/server/jobs/core/testerSandboxCleanup.js +35 -0
  20. package/dist/_internal/server/jobs/handlers/_helpers.d.ts +6 -0
  21. package/dist/_internal/server/jobs/handlers/_helpers.js +12 -0
  22. package/dist/_internal/server/jobs/handlers/index.d.ts +1 -0
  23. package/dist/_internal/server/jobs/handlers/index.js +2 -0
  24. package/dist/_internal/server/jobs/handlers/messages.d.ts +2 -0
  25. package/dist/_internal/server/jobs/handlers/messages.js +2 -0
  26. package/dist/_internal/server/jobs/handlers/testerSandboxCleanup.d.ts +2 -0
  27. package/dist/_internal/server/jobs/handlers/testerSandboxCleanup.js +2 -0
  28. package/dist/_internal/shared/actions/action-registry.d.ts +1 -1
  29. package/dist/_internal/shared/actions/action-registry.js +56 -0
  30. package/dist/_internal/shared/tokens/index.d.ts +12 -12
  31. package/dist/client.d.ts +15 -3
  32. package/dist/client.js +10 -2
  33. package/dist/constants/api-endpoints.d.ts +39 -12
  34. package/dist/constants/api-endpoints.js +17 -8
  35. package/dist/constants/field-names.d.ts +9 -0
  36. package/dist/constants/field-names.js +12 -0
  37. package/dist/constants/index.d.ts +1 -1
  38. package/dist/constants/index.js +1 -1
  39. package/dist/features/account/components/LinkedAccountsSection.d.ts +11 -0
  40. package/dist/features/account/components/LinkedAccountsSection.js +11 -0
  41. package/dist/features/account/components/UserSidebar.d.ts +3 -1
  42. package/dist/features/account/components/UserSidebar.js +9 -13
  43. package/dist/features/account/hooks/useCollapsedSections.d.ts +20 -0
  44. package/dist/features/account/hooks/useCollapsedSections.js +63 -0
  45. package/dist/features/account/hooks/useProfile.d.ts +8 -0
  46. package/dist/features/account/index.d.ts +1 -0
  47. package/dist/features/account/index.js +1 -0
  48. package/dist/features/admin/components/AdminAddressEditorView.js +2 -2
  49. package/dist/features/admin/components/AdminBidsView.js +6 -6
  50. package/dist/features/admin/components/AdminBrandsView.js +2 -2
  51. package/dist/features/admin/components/AdminCarouselView.js +2 -2
  52. package/dist/features/admin/components/AdminCategoryEditorView.js +2 -2
  53. package/dist/features/admin/components/AdminPrizeDrawsView.js +3 -3
  54. package/dist/features/admin/components/AdminProductEditorView.js +5 -2
  55. package/dist/features/admin/components/AdminReviewsView.js +5 -5
  56. package/dist/features/admin/components/AdminSectionsView.js +3 -18
  57. package/dist/features/admin/components/AdminSidebar.js +8 -6
  58. package/dist/features/admin/components/AdminSiteSettingsView.js +133 -127
  59. package/dist/features/admin/components/AdminSublistingCategoriesView.js +1 -1
  60. package/dist/features/admin/components/AdminTesterChecklistItemEditorView.d.ts +9 -0
  61. package/dist/features/admin/components/AdminTesterChecklistItemEditorView.js +129 -0
  62. package/dist/features/admin/components/AdminTesterChecklistView.d.ts +6 -0
  63. package/dist/features/admin/components/AdminTesterChecklistView.js +93 -0
  64. package/dist/features/admin/components/AdminUserEditorView.d.ts +3 -1
  65. package/dist/features/admin/components/AdminUserEditorView.js +7 -1
  66. package/dist/features/admin/components/AdminUsersView.js +1 -1
  67. package/dist/features/admin/components/DataListingView.js +2 -2
  68. package/dist/features/admin/components/analytics/AdminPageViewsReportView.d.ts +8 -0
  69. package/dist/features/admin/components/analytics/AdminPageViewsReportView.js +41 -0
  70. package/dist/features/admin/components/index.d.ts +6 -0
  71. package/dist/features/admin/components/index.js +3 -0
  72. package/dist/features/admin/schemas/firestore.d.ts +0 -7
  73. package/dist/features/admin/schemas/firestore.js +6 -6
  74. package/dist/features/analytics/components/PageViewTracker.d.ts +12 -0
  75. package/dist/features/analytics/components/PageViewTracker.js +22 -0
  76. package/dist/features/analytics/repository/page-views.repository.d.ts +32 -0
  77. package/dist/features/analytics/repository/page-views.repository.js +43 -0
  78. package/dist/features/analytics/types.d.ts +6 -0
  79. package/dist/features/analytics/types.js +13 -0
  80. package/dist/features/auth/components/SocialAuthButtons.js +1 -1
  81. package/dist/features/auth/hooks/useAuth.d.ts +12 -0
  82. package/dist/features/auth/hooks/useAuth.js +109 -0
  83. package/dist/features/auth/permissions/constants.d.ts +1 -1
  84. package/dist/features/auth/repository/session.repository.d.ts +2 -0
  85. package/dist/features/auth/repository/session.repository.js +4 -1
  86. package/dist/features/auth/schemas/firestore.d.ts +17 -1
  87. package/dist/features/auth/schemas/firestore.js +2 -0
  88. package/dist/features/blog/components/BlogIndexListing.js +2 -2
  89. package/dist/features/blog/schemas/firestore.d.ts +4 -0
  90. package/dist/features/cart/actions/cart-actions.js +20 -2
  91. package/dist/features/categories/api/route.js +2 -2
  92. package/dist/features/categories/components/CategoriesIndexListing.js +3 -3
  93. package/dist/features/categories/components/CategoryBundlesListing.js +2 -2
  94. package/dist/features/categories/components/CategoryDetailPageView.js +3 -1
  95. package/dist/features/categories/components/CategoryProductsListing.js +2 -2
  96. package/dist/features/categories/schemas/firestore.d.ts +4 -0
  97. package/dist/features/classified/components/ClassifiedIndexListing.js +2 -2
  98. package/dist/features/digital-codes/components/DigitalCodesIndexListing.js +2 -2
  99. package/dist/features/email/primitives.d.ts +2 -2
  100. package/dist/features/email/primitives.js +2 -2
  101. package/dist/features/events/components/EventsIndexListing.js +2 -2
  102. package/dist/features/events/repository/event-entry.repository.js +1 -0
  103. package/dist/features/events/schemas/firestore.d.ts +7 -1
  104. package/dist/features/events/schemas/firestore.js +1 -0
  105. package/dist/features/layout/BackToTop.d.ts +6 -1
  106. package/dist/features/layout/BackToTop.js +31 -6
  107. package/dist/features/layout/BottomNavbar.js +1 -1
  108. package/dist/features/layout/NavItem.js +1 -1
  109. package/dist/features/layout/NavbarLayout.js +2 -2
  110. package/dist/features/live/components/LiveItemsIndexListing.js +2 -2
  111. package/dist/features/media/MediaVideo.js +5 -1
  112. package/dist/features/pre-orders/components/PreOrdersIndexListing.js +2 -2
  113. package/dist/features/products/components/AuctionsIndexListing.js +2 -2
  114. package/dist/features/products/components/PrizeDrawsIndexListing.js +2 -2
  115. package/dist/features/products/components/ProductsIndexListing.js +2 -2
  116. package/dist/features/products/constants/action-defs.d.ts +2 -0
  117. package/dist/features/products/constants/action-defs.js +2 -0
  118. package/dist/features/products/constants/sieve.d.ts +0 -6
  119. package/dist/features/products/constants/sieve.js +4 -2
  120. package/dist/features/products/repository/products.repository.d.ts +20 -0
  121. package/dist/features/products/repository/products.repository.js +5 -0
  122. package/dist/features/products/schemas/firestore.d.ts +4 -0
  123. package/dist/features/promotions/components/CouponsIndexListing.js +18 -5
  124. package/dist/features/reviews/components/ReviewsIndexListing.js +2 -2
  125. package/dist/features/search/hooks/useNavSuggestions.js +20 -1
  126. package/dist/features/seller/actions/seller-actions.js +11 -6
  127. package/dist/features/seller/components/SellerAddressesView.js +2 -2
  128. package/dist/features/seller/components/SellerBidsView.js +2 -2
  129. package/dist/features/seller/components/SellerCouponsView.js +1 -1
  130. package/dist/features/seller/components/SellerOrdersView.js +2 -2
  131. package/dist/features/seller/components/SellerProductsView.js +2 -2
  132. package/dist/features/seller/components/SellerSidebar.d.ts +3 -1
  133. package/dist/features/seller/components/SellerSidebar.js +9 -8
  134. package/dist/features/seller/components/SellerStoreCategoriesView.js +2 -2
  135. package/dist/features/seller/components/SellerTemplatesView.js +2 -2
  136. package/dist/features/shell/StepForm.js +4 -4
  137. package/dist/features/stores/actions/store-query-actions.d.ts +5 -4
  138. package/dist/features/stores/actions/store-query-actions.js +11 -8
  139. package/dist/features/stores/components/StoreAuctionsListing.js +2 -2
  140. package/dist/features/stores/components/StoreClassifiedsListing.js +2 -2
  141. package/dist/features/stores/components/StoreDetailLayoutView.js +1 -1
  142. package/dist/features/stores/components/StoreDigitalCodesListing.js +2 -2
  143. package/dist/features/stores/components/StoreLiveItemsListing.js +2 -2
  144. package/dist/features/stores/components/StorePreOrdersListing.js +2 -2
  145. package/dist/features/stores/components/StoreProductsListing.js +2 -2
  146. package/dist/features/stores/components/StoreReviewsListing.js +2 -2
  147. package/dist/features/stores/components/StoresIndexListing.js +2 -2
  148. package/dist/features/stores/repository/store.repository.js +3 -0
  149. package/dist/features/stores/schemas/firestore.d.ts +4 -0
  150. package/dist/features/tester/actions/checklist-item-actions.d.ts +69 -0
  151. package/dist/features/tester/actions/checklist-item-actions.js +42 -0
  152. package/dist/features/tester/actions/index.d.ts +1 -0
  153. package/dist/features/tester/actions/index.js +1 -0
  154. package/dist/features/tester/components/AdminTesterFeedbackIssuesView.d.ts +2 -0
  155. package/dist/features/tester/components/AdminTesterFeedbackIssuesView.js +22 -0
  156. package/dist/features/tester/components/AdminTesterFeedbackListView.d.ts +3 -0
  157. package/dist/features/tester/components/AdminTesterFeedbackListView.js +100 -0
  158. package/dist/features/tester/components/AdminTesterFeedbackReportView.d.ts +2 -0
  159. package/dist/features/tester/components/AdminTesterFeedbackReportView.js +30 -0
  160. package/dist/features/tester/components/AdminTesterFeedbackView.d.ts +2 -0
  161. package/dist/features/tester/components/AdminTesterFeedbackView.js +29 -0
  162. package/dist/features/tester/components/TesterChecklistStepRow.d.ts +18 -0
  163. package/dist/features/tester/components/TesterChecklistStepRow.js +29 -0
  164. package/dist/features/tester/components/TesterFeedbackChart.d.ts +14 -0
  165. package/dist/features/tester/components/TesterFeedbackChart.js +18 -0
  166. package/dist/features/tester/components/TesterHubView.d.ts +5 -0
  167. package/dist/features/tester/components/TesterHubView.js +71 -0
  168. package/dist/features/tester/components/index.d.ts +11 -0
  169. package/dist/features/tester/components/index.js +7 -0
  170. package/dist/features/tester/index.d.ts +2 -0
  171. package/dist/features/tester/index.js +2 -0
  172. package/dist/features/tester/repository/index.d.ts +2 -0
  173. package/dist/features/tester/repository/index.js +2 -0
  174. package/dist/features/tester/repository/tester-checklist-item.repository.d.ts +13 -0
  175. package/dist/features/tester/repository/tester-checklist-item.repository.js +55 -0
  176. package/dist/features/tester/repository/tester-checklist-response.repository.d.ts +50 -0
  177. package/dist/features/tester/repository/tester-checklist-response.repository.js +196 -0
  178. package/dist/features/tester/schemas/firestore.d.ts +85 -0
  179. package/dist/features/tester/schemas/firestore.js +93 -0
  180. package/dist/features/tester/schemas/index.d.ts +1 -0
  181. package/dist/features/tester/schemas/index.js +1 -0
  182. package/dist/features/tester/seed-data/blog-tester-seed-data.d.ts +2 -0
  183. package/dist/features/tester/seed-data/blog-tester-seed-data.js +40 -0
  184. package/dist/features/tester/seed-data/categories-tester-seed-data.d.ts +2 -0
  185. package/dist/features/tester/seed-data/categories-tester-seed-data.js +177 -0
  186. package/dist/features/tester/seed-data/events-tester-seed-data.d.ts +2 -0
  187. package/dist/features/tester/seed-data/events-tester-seed-data.js +50 -0
  188. package/dist/features/tester/seed-data/index.d.ts +6 -0
  189. package/dist/features/tester/seed-data/index.js +6 -0
  190. package/dist/features/tester/seed-data/products-tester-seed-data.d.ts +2 -0
  191. package/dist/features/tester/seed-data/products-tester-seed-data.js +151 -0
  192. package/dist/features/tester/seed-data/stores-tester-seed-data.d.ts +2 -0
  193. package/dist/features/tester/seed-data/stores-tester-seed-data.js +40 -0
  194. package/dist/features/tester/seed-data/tester-checklist-seed-data.d.ts +2 -0
  195. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +248 -0
  196. package/dist/features/tester/seed-data/tester-ttl.d.ts +4 -0
  197. package/dist/features/tester/seed-data/tester-ttl.js +6 -0
  198. package/dist/features/tester/server.d.ts +9 -0
  199. package/dist/features/tester/server.js +8 -0
  200. package/dist/index.d.ts +28 -2
  201. package/dist/index.js +51 -1
  202. package/dist/next/api/api-response.js +5 -1
  203. package/dist/next/api/routeHandler.js +10 -1
  204. package/dist/next/middleware/chain.js +1 -1
  205. package/dist/next/routing/route-map.d.ts +6 -7
  206. package/dist/next/routing/route-map.js +3 -7
  207. package/dist/providers/payment-manual/index.d.ts +2 -2
  208. package/dist/providers/payment-manual/index.js +2 -2
  209. package/dist/react/contexts/SessionContext.d.ts +4 -0
  210. package/dist/react/contexts/SessionContext.js +4 -0
  211. package/dist/repositories/index.d.ts +4 -0
  212. package/dist/repositories/index.js +3 -0
  213. package/dist/security/pii-encrypt.js +12 -2
  214. package/dist/seed/addresses-seed-data.js +1 -1
  215. package/dist/seed/bids-seed-data.js +64 -185
  216. package/dist/seed/blog-posts-seed-data.js +1 -1
  217. package/dist/seed/carousel-slides-seed-data.js +22 -16
  218. package/dist/seed/carousels-seed-data.js +1 -1
  219. package/dist/seed/cart-seed-data.js +1 -1
  220. package/dist/seed/categories-seed-data.js +1 -1
  221. package/dist/seed/claimed-coupons-seed-data.js +1 -1
  222. package/dist/seed/conversations-seed-data.js +1 -1
  223. package/dist/seed/coupon-usage-seed-data.js +1 -1
  224. package/dist/seed/coupons-seed-data.js +1 -1
  225. package/dist/seed/events-seed-data.js +1 -1
  226. package/dist/seed/faq-seed-data.js +119 -3
  227. package/dist/seed/grouped-listings-seed-data.d.ts +2 -0
  228. package/dist/seed/grouped-listings-seed-data.js +1 -1
  229. package/dist/seed/history-seed-data.js +1 -1
  230. package/dist/seed/homepage-sections-seed-data.js +1 -1
  231. package/dist/seed/index.d.ts +2 -2
  232. package/dist/seed/index.js +7 -3
  233. package/dist/seed/lottery-entries-seed-data.js +1 -1
  234. package/dist/seed/manifest.d.ts +4 -3
  235. package/dist/seed/manifest.js +13 -6
  236. package/dist/seed/notifications-seed-data.js +1 -1
  237. package/dist/seed/offers-seed-data.js +1 -1
  238. package/dist/seed/orders-seed-data.js +1 -1
  239. package/dist/seed/payouts-seed-data.js +1 -1
  240. package/dist/seed/products-art-seed-data.js +1 -1
  241. package/dist/seed/products-auctions-seed-data.js +1 -1
  242. package/dist/seed/products-classifieds-seed-data.js +1 -1
  243. package/dist/seed/products-digital-codes-seed-data.js +1 -1
  244. package/dist/seed/products-live-items-seed-data.js +1 -1
  245. package/dist/seed/products-preorders-seed-data.d.ts +2 -0
  246. package/dist/seed/products-preorders-seed-data.js +1 -1
  247. package/dist/seed/products-prize-draws-seed-data.js +1 -1
  248. package/dist/seed/products-standard-seed-data.js +1 -1
  249. package/dist/seed/products-stickers-seed-data.js +1 -1
  250. package/dist/seed/reviews-seed-data.js +1 -1
  251. package/dist/seed/scammers-seed-data.js +1 -1
  252. package/dist/seed/sessions-seed-data.js +1 -1
  253. package/dist/seed/site-settings-seed-data.js +22 -16
  254. package/dist/seed/store-addresses-seed-data.js +1 -1
  255. package/dist/seed/store-extensions-seed-data.js +1 -1
  256. package/dist/seed/stores-seed-data.js +1 -1
  257. package/dist/seed/support-tickets-seed-data.js +1 -1
  258. package/dist/seed/tester-checklist-seed-data.d.ts +2 -0
  259. package/dist/seed/tester-checklist-seed-data.js +248 -0
  260. package/dist/seed/users-seed-data.js +1 -1
  261. package/dist/seed/wishlists-seed-data.js +1 -1
  262. package/dist/server.d.ts +7 -2
  263. package/dist/server.js +19 -12
  264. package/dist/styles.css +181 -165
  265. package/dist/tailwind-utilities.css +1 -1
  266. package/dist/tokens/color-pairs.d.ts +46 -0
  267. package/dist/tokens/color-pairs.js +93 -0
  268. package/dist/tokens/index.d.ts +60 -60
  269. package/dist/tokens/index.js +30 -30
  270. package/dist/tokens/themes/cobalt-night.d.ts +3 -2
  271. package/dist/tokens/themes/cobalt-night.js +3 -2
  272. package/dist/tokens/themes/default-dark.d.ts +4 -1
  273. package/dist/tokens/themes/default-dark.js +53 -50
  274. package/dist/tokens/themes/default-light.d.ts +5 -1
  275. package/dist/tokens/themes/default-light.js +48 -44
  276. package/dist/tokens/themes/sunset.js +4 -4
  277. package/dist/tokens/tokens.css +128 -122
  278. package/dist/ui/components/CollapsibleSection.d.ts +15 -0
  279. package/dist/ui/components/CollapsibleSection.js +13 -0
  280. package/dist/ui/components/ListingToolbar.js +3 -2
  281. package/dist/ui/components/Semantic.style.css +3 -3
  282. package/dist/ui/components/SideDrawer.style.css +19 -19
  283. package/dist/ui/components/Slider.js +1 -1
  284. package/dist/ui/components/StickyToolbar.d.ts +36 -7
  285. package/dist/ui/components/StickyToolbar.js +63 -5
  286. package/dist/ui/components/Tabs.js +17 -1
  287. package/dist/ui/components/Tabs.style.css +10 -0
  288. package/dist/ui/components/Typography.js +7 -0
  289. package/dist/ui/components/surface-tokens.d.ts +0 -7
  290. package/dist/ui/components/surface-tokens.js +7 -0
  291. package/dist/ui/index.d.ts +6 -0
  292. package/dist/ui/index.js +3 -0
  293. package/dist/ui/rich-text/RichText.style.css +20 -20
  294. package/dist/utils/id-generators.d.ts +13 -0
  295. package/dist/utils/id-generators.js +17 -0
  296. package/package.json +1 -1
  297. package/scripts/seed-cli-loader.mjs +15 -0
  298. package/scripts/seed-cli.mjs +71 -17
@@ -27,6 +27,10 @@ export interface SessionUser {
27
27
  sessionId?: string;
28
28
  phoneVerified?: boolean;
29
29
  avatarMetadata?: AvatarMetadataShape | null;
30
+ /** Set when this account owns a store — drives the admin sidebar's "Go to my Store" cross-nav link. */
31
+ storeId?: string;
32
+ /** Tester program flag — orthogonal to `role`. Unlocks the Tester Hub nav item/page. */
33
+ isTester?: boolean;
30
34
  publicProfile?: FirestoreDocument;
31
35
  stats?: FirestoreDocument;
32
36
  metadata?: FirestoreDocument;
@@ -62,6 +62,8 @@ function buildSessionUser(authUser, serverData) {
62
62
  : undefined,
63
63
  sessionId: currentSessionId || undefined,
64
64
  phoneVerified: serverData.phoneVerified,
65
+ storeId: serverData.storeId,
66
+ isTester: serverData.isTester,
65
67
  avatarMetadata: serverData.avatarMetadata?.url
66
68
  ? {
67
69
  url: serverData.avatarMetadata.url,
@@ -130,6 +132,8 @@ export function SessionProvider({ children, initialUser, endpoints: endpointOver
130
132
  updatedAt: data.updatedAt ? new Date(data.updatedAt) : undefined,
131
133
  sessionId: currentSessionId || undefined,
132
134
  phoneVerified: data.phoneVerified,
135
+ storeId: data.storeId,
136
+ isTester: data.isTester,
133
137
  avatarMetadata: data.avatarMetadata?.url
134
138
  ? {
135
139
  url: data.avatarMetadata.url,
@@ -27,6 +27,8 @@ export { couponsRepository } from "../features/promotions/repository/coupons.rep
27
27
  export { ClaimedCouponsRepository, claimedCouponsRepository, } from "../features/promotions/repository/claimed-coupons.repository";
28
28
  export type { ClaimedCouponCreateInput } from "../features/promotions/repository/claimed-coupons.repository";
29
29
  export { FAQsRepository, FirebaseFAQsRepository, faqsRepository, } from "../features/faq/repository/faqs.repository";
30
+ export { TesterChecklistItemRepository, testerChecklistItemRepository, } from "../features/tester/repository/tester-checklist-item.repository";
31
+ export { TesterChecklistResponseRepository, testerChecklistResponseRepository, } from "../features/tester/repository/tester-checklist-response.repository";
30
32
  export { BlogRepository, blogRepository, } from "../features/blog/repository/blog.repository";
31
33
  export { payoutRepository } from "../features/payments/repository/payout.repository";
32
34
  export { jobsRepository, JobsRepository } from "../features/jobs/repository/jobs.repository";
@@ -58,3 +60,5 @@ export { loadProductFeaturesForStore } from "../features/products/repository/loa
58
60
  export { LotteryEntryRepository, lotteryEntryRepository, } from "../features/lottery/repository/lottery-entry.repository";
59
61
  export { MediaAssetsRepository, mediaAssetsRepository, } from "../features/media/repository/media-assets.repository";
60
62
  export type { MediaAssetDocument, MediaAssetCreateInput, } from "../features/media/repository/media-assets.repository";
63
+ export { PageViewsRepository, pageViewsRepository, PAGE_VIEW_ENTITY_TYPES, } from "../features/analytics/repository/page-views.repository";
64
+ export type { PageViewDocument, PageViewEntityType, RecordPageViewInput, } from "../features/analytics/repository/page-views.repository";
@@ -33,6 +33,8 @@ export { CategoriesRepository, categoriesRepository, } from "../features/categor
33
33
  export { couponsRepository } from "../features/promotions/repository/coupons.repository";
34
34
  export { ClaimedCouponsRepository, claimedCouponsRepository, } from "../features/promotions/repository/claimed-coupons.repository";
35
35
  export { FAQsRepository, FirebaseFAQsRepository, faqsRepository, } from "../features/faq/repository/faqs.repository";
36
+ export { TesterChecklistItemRepository, testerChecklistItemRepository, } from "../features/tester/repository/tester-checklist-item.repository";
37
+ export { TesterChecklistResponseRepository, testerChecklistResponseRepository, } from "../features/tester/repository/tester-checklist-response.repository";
36
38
  export { BlogRepository, blogRepository, } from "../features/blog/repository/blog.repository";
37
39
  export { payoutRepository } from "../features/payments/repository/payout.repository";
38
40
  export { jobsRepository, JobsRepository } from "../features/jobs/repository/jobs.repository";
@@ -69,3 +71,4 @@ export { loadProductFeaturesForStore } from "../features/products/repository/loa
69
71
  export { LotteryEntryRepository, lotteryEntryRepository, } from "../features/lottery/repository/lottery-entry.repository";
70
72
  // Media assets — short ID → storagePath mapping for SEO-friendly /media/{id} URLs
71
73
  export { MediaAssetsRepository, mediaAssetsRepository, } from "../features/media/repository/media-assets.repository";
74
+ export { PageViewsRepository, pageViewsRepository, PAGE_VIEW_ENTITY_TYPES, } from "../features/analytics/repository/page-views.repository";
@@ -9,9 +9,19 @@
9
9
  * Ciphertext format: "enc:v1:<iv_b64>:<ciphertext_b64>:<authtag_b64>"
10
10
  * Blind index format: "hmac-sha256:<sha256_hex>"
11
11
  */
12
+ import { createRequire } from "node:module";
12
13
  // crypto is a Node.js built-in. Use require() to keep it out of the static
13
- // import graph so Next.js Edge bundler does not warn about this file.
14
- function nodeCrypto() { return require("crypto"); }
14
+ // import graph so Next.js Edge bundler does not warn about this file. A bare
15
+ // top-level `require(...)` call only works when the compiled dist output is
16
+ // loaded via CommonJS (or a bundler that polyfills `require`) — under a
17
+ // plain Node ESM `import()` (e.g. appkit/scripts/seed-cli.mjs and any other
18
+ // standalone script importing @mohasinac/appkit directly), there is no
19
+ // ambient `require` global, so that call threw `ReferenceError: require is
20
+ // not defined`. createRequire(import.meta.url) works in both: it's still a
21
+ // runtime function call a bundler's static analysis won't follow into the
22
+ // client graph, but it resolves correctly under Node's own ESM loader too.
23
+ const nodeRequire = createRequire(import.meta.url);
24
+ function nodeCrypto() { return nodeRequire("crypto"); }
15
25
  const ALGO = "aes-256-gcm";
16
26
  export const ENC_PREFIX = "enc:v1:";
17
27
  export const HMAC_PREFIX = "hmac-sha256:";
@@ -14,7 +14,7 @@
14
14
  * @tag layer:seed
15
15
  * @tag pattern:none
16
16
  * @tag access:server-only
17
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
17
+ * @tag consumers:seed/index.ts,seed/runner.ts
18
18
  * @tag sideEffects:none
19
19
  */
20
20
  const NOW = new Date();
@@ -1,23 +1,36 @@
1
1
  /*
2
- * WHY: Seeds auction bids representing participant offers on YGO card auctions.
3
- * WHAT: Exports 80+ bids (2–8 per auction across 20 auctions in auctions-seed-data.ts). Bidders: user-yugi-muto + user-admin-letitrip on Kaiba auctions; user-yugi-muto + user-seto-kaiba on Admin auctions. Amount progression +5–10% per step from startingBid. Status: active (current high bid), outbid (superseded), won (auction ended). Bid IDs: bid-{productSlug}-{userName}-{YYYYMMDD}-{rand6}.
2
+ * WHY: Seeds auction bids representing participant offers on the live Beyblade auctions
3
+ * in products-auctions-seed-data.ts.
4
+ * WHAT: Exports bids for the 2 seeded auctions (auction-beyblade-original-dragoon-storm,
5
+ * auction-beyblade-metal-lightning-l-drago) — bid counts and final amounts match
6
+ * each auction's `bidCount`/`currentBid` fields exactly, so the product card's
7
+ * "N bids" summary and the detail page's bid-history list agree. Bidders: 3 buyer
8
+ * personas (Meera Nair, Rohit Agarwal, Ananya Patel), never the store's own seller
9
+ * (user-tyson-blader owns store-beyblade-arena). Status: newest bid per auction is
10
+ * "active", the rest "outbid". Bid IDs: bid-{productSlug}-{userName}-{YYYYMMDD}-{rand6}.
4
11
  *
5
12
  * EXPORTS:
6
- * bidsSeedData — Array of 80+ bid documents with progressive amounts + status distribution
13
+ * bidsSeedData — Array of bid documents, one set per seeded auction, counts matching
14
+ * each auction's bidCount field
7
15
  *
8
16
  * @tag domain:auctions,bids
9
17
  * @tag layer:seed
10
18
  * @tag pattern:none
11
19
  * @tag access:server-only
12
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
20
+ * @tag consumers:seed/index.ts,seed/runner.ts
13
21
  * @tag sideEffects:none
14
22
  */
15
23
  const NOW = new Date();
16
24
  const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
17
25
  const BIDDER_EMAILS = {
18
- "user-yugi-muto": "yugi@duelkingdom.in",
19
- "user-admin-letitrip": "admin@letitrip.in",
20
- "user-seto-kaiba": "kaiba@kaibalandmark.in",
26
+ "user-meera-bey": "meera.blader@gmail.com",
27
+ "user-rohit-collector": "rohit.collect@gmail.com",
28
+ "user-ananya-collector": "ananya.patel@gmail.com",
29
+ };
30
+ const BIDDER_NAMES = {
31
+ "user-meera-bey": "Meera Nair",
32
+ "user-rohit-collector": "Rohit Agarwal",
33
+ "user-ananya-collector": "Ananya Patel",
21
34
  };
22
35
  function withBidDefaults(b) {
23
36
  return {
@@ -29,183 +42,49 @@ function withBidDefaults(b) {
29
42
  updatedAt: (b.createdAt ?? NOW),
30
43
  };
31
44
  }
32
- const _rawBidsSeedData = [
33
- // Kaiba Auctions — Yugi & Admin bidding
34
- {
35
- id: "bid-blue-eyes-psa10-yugi-20260515-001",
36
- productId: "auction-psa10-blue-eyes-lob",
37
- userId: "user-yugi-muto",
38
- userName: "Yugi Muto",
39
- bidAmount: 60000000, // ₹6,00,000 (paise)
40
- status: "active",
41
- bidDate: daysAgo(5),
42
- createdAt: daysAgo(5),
43
- },
44
- {
45
- id: "bid-blue-eyes-psa10-admin-20260514-001",
46
- productId: "auction-psa10-blue-eyes-lob",
47
- userId: "user-admin-letitrip",
48
- userName: "LetItRip Admin",
49
- bidAmount: 50000000, // ₹5,00,000 (paise)
50
- status: "outbid",
51
- bidDate: daysAgo(6),
52
- createdAt: daysAgo(6),
53
- },
54
- {
55
- id: "bid-blue-eyes-psa10-yugi-20260513-001",
56
- productId: "auction-psa10-blue-eyes-lob",
57
- userId: "user-yugi-muto",
58
- userName: "Yugi Muto",
59
- bidAmount: 45000000, // ₹4,50,000 (paise)
60
- status: "outbid",
61
- bidDate: daysAgo(7),
62
- createdAt: daysAgo(7),
63
- },
64
- {
65
- id: "bid-blue-eyes-psa10-admin-20260512-001",
66
- productId: "auction-psa10-blue-eyes-lob",
67
- userId: "user-admin-letitrip",
68
- userName: "LetItRip Admin",
69
- bidAmount: 40000000, // ₹4,00,000 (paise)
70
- status: "outbid",
71
- bidDate: daysAgo(8),
72
- createdAt: daysAgo(8),
73
- },
74
- {
75
- id: "bid-dark-magician-psa9-yugi-20260518-002",
76
- productId: "auction-psa9-dark-magician-lob",
77
- userId: "user-yugi-muto",
78
- userName: "Yugi Muto",
79
- bidAmount: 45000000, // ₹4,50,000 (paise)
80
- status: "active",
81
- bidDate: daysAgo(2),
82
- createdAt: daysAgo(2),
83
- },
84
- {
85
- id: "bid-dark-magician-psa9-admin-20260517-002",
86
- productId: "auction-psa9-dark-magician-lob",
87
- userId: "user-admin-letitrip",
88
- userName: "LetItRip Admin",
89
- bidAmount: 40000000, // ₹4,00,000 (paise)
90
- status: "outbid",
91
- bidDate: daysAgo(3),
92
- createdAt: daysAgo(3),
93
- },
94
- {
95
- id: "bid-exodia-ended-yugi-20260513-won",
96
- productId: "auction-ended-psa10-exodia",
97
- userId: "user-yugi-muto",
98
- userName: "Yugi Muto",
99
- bidAmount: 90000000, // ₹9,00,000 (paise) — final
100
- status: "won",
101
- bidDate: daysAgo(7),
102
- createdAt: daysAgo(7),
103
- },
104
- {
105
- id: "bid-exodia-ended-admin-20260512-outbid",
106
- productId: "auction-ended-psa10-exodia",
107
- userId: "user-admin-letitrip",
108
- userName: "LetItRip Admin",
109
- bidAmount: 80000000, // ₹8,00,000 (paise)
110
- status: "outbid",
111
- bidDate: daysAgo(8),
112
- createdAt: daysAgo(8),
113
- },
114
- // [... more bids on remaining 14 Kaiba auctions: 2–8 bids each, distributed active/outbid/won ...]
115
- // Admin Store Auctions — Yugi & Kaiba bidding
116
- {
117
- id: "bid-ra-authentic-kaiba-20260519-001",
118
- productId: "auction-admin-ra-authentic-card",
119
- userId: "user-seto-kaiba",
120
- userName: "Seto Kaiba",
121
- bidAmount: 32000000, // ₹3,20,000 (paise)
122
- status: "active",
123
- bidDate: daysAgo(1),
124
- createdAt: daysAgo(1),
125
- },
126
- {
127
- id: "bid-ra-authentic-yugi-20260518-001",
128
- productId: "auction-admin-ra-authentic-card",
129
- userId: "user-yugi-muto",
130
- userName: "Yugi Muto",
131
- bidAmount: 28000000, // ₹2,80,000 (paise)
132
- status: "outbid",
133
- bidDate: daysAgo(2),
134
- createdAt: daysAgo(2),
135
- },
136
- {
137
- id: "bid-obelisk-kaiba-20260520-002",
138
- productId: "auction-admin-obelisk-authentic",
139
- userId: "user-seto-kaiba",
140
- userName: "Seto Kaiba",
141
- bidAmount: 39000000, // ₹3,90,000 (paise)
142
- status: "active",
143
- bidDate: daysAgo(0),
144
- createdAt: daysAgo(0),
145
- },
146
- {
147
- id: "bid-obelisk-yugi-20260519-002",
148
- productId: "auction-admin-obelisk-authentic",
149
- userId: "user-yugi-muto",
150
- userName: "Yugi Muto",
151
- bidAmount: 35000000, // ₹3,50,000 (paise)
152
- status: "outbid",
153
- bidDate: daysAgo(1),
154
- createdAt: daysAgo(1),
155
- },
156
- {
157
- id: "bid-yugi-promo-ended-kaiba-20260516-won",
158
- productId: "auction-admin-ended-yugi-promo",
159
- userId: "user-seto-kaiba",
160
- userName: "Seto Kaiba",
161
- bidAmount: 9000000, // ₹90,000 (paise) — final
162
- status: "won",
163
- bidDate: daysAgo(4),
164
- createdAt: daysAgo(4),
165
- },
166
- // [... more bids on remaining 3 Admin auctions ...]
167
- ];
168
- // Expand to 80+ bids with varied distributions
169
- const expandedBids = [];
170
- const auctionIds = [
171
- "auction-psa10-blue-eyes-lob",
172
- "auction-psa9-dark-magician-lob",
173
- "auction-1st-ed-pot-of-greed",
174
- "auction-psa9-chaos-emperor",
175
- "auction-1st-ed-mirror-force",
176
- "auction-bgs95-dark-magician-girl",
177
- "auction-raw-lob-complete-set",
178
- "auction-psa8-monster-reborn",
179
- "auction-admin-ra-authentic-card",
180
- "auction-admin-obelisk-authentic",
181
- ];
182
- const bidderPairs = [
183
- { id: "user-yugi-muto", name: "Yugi Muto" },
184
- { id: "user-admin-letitrip", name: "LetItRip Admin" },
185
- { id: "user-seto-kaiba", name: "Seto Kaiba" },
186
- ];
187
- for (let i = _rawBidsSeedData.length; i < 80; i++) {
188
- const auction = auctionIds[i % auctionIds.length];
189
- const bidderIdx = Math.floor(i / 8) % bidderPairs.length;
190
- const bidder = bidderPairs[bidderIdx];
191
- const baseAmount = 30000000 + Math.random() * 30000000; // ₹3,00,000 to ₹6,00,000
192
- const status = Math.random() < 0.6
193
- ? "outbid"
194
- : Math.random() < 0.3
195
- ? "active"
196
- : "won";
197
- expandedBids.push({
198
- id: `bid-${auction.split("-").pop()}-${bidder.name.split(" ").join("").toLowerCase()}-20260515-${String(i).padStart(3, "0")}`,
199
- productId: auction,
200
- userId: bidder.id,
201
- userName: bidder.name,
202
- bidAmount: Math.floor(baseAmount),
203
- status,
204
- bidDate: daysAgo(Math.floor(Math.random() * 14)),
205
- createdAt: daysAgo(Math.floor(Math.random() * 14)),
45
+ /** One ascending bid ladder per auction — last entry is "active", the rest "outbid". */
46
+ function buildLadder(params) {
47
+ const { productId, productTitle, startingBid, currentBid, bidderIds } = params;
48
+ const steps = bidderIds.length;
49
+ const range = currentBid - startingBid;
50
+ return bidderIds.map((userId, i) => {
51
+ const amount = i === steps - 1 ? currentBid : Math.round(startingBid + (range * (i + 1)) / (steps + 1));
52
+ const daysBack = steps - i;
53
+ return {
54
+ id: `bid-${productId.replace(/^auction-/, "")}-${userId.replace(/^user-/, "")}-20260601-${String(i).padStart(3, "0")}`,
55
+ productId,
56
+ productTitle,
57
+ userId,
58
+ userName: BIDDER_NAMES[userId] ?? userId,
59
+ bidAmount: amount,
60
+ status: i === steps - 1 ? "active" : "outbid",
61
+ bidDate: daysAgo(daysBack),
62
+ createdAt: daysAgo(daysBack),
63
+ };
206
64
  });
207
65
  }
208
- export const bidsSeedData = [
209
- ..._rawBidsSeedData,
210
- ...expandedBids,
211
- ].slice(0, 80).map(withBidDefaults);
66
+ const _rawBidsSeedData = [
67
+ // auction-beyblade-original-dragoon-storm — bidCount: 3, currentBid: 349900
68
+ ...buildLadder({
69
+ productId: "auction-beyblade-original-dragoon-storm",
70
+ productTitle: "Beyblade Original — Dragoon Storm (Rare Sealed)",
71
+ startingBid: 299900,
72
+ currentBid: 349900,
73
+ bidderIds: ["user-rohit-collector", "user-ananya-collector", "user-meera-bey"],
74
+ }),
75
+ // auction-beyblade-metal-lightning-l-drago — bidCount: 5, currentBid: 229900
76
+ ...buildLadder({
77
+ productId: "auction-beyblade-metal-lightning-l-drago",
78
+ productTitle: "Metal Fight Beyblade BB-99 Lightning L-Drago",
79
+ startingBid: 199900,
80
+ currentBid: 229900,
81
+ bidderIds: [
82
+ "user-meera-bey",
83
+ "user-rohit-collector",
84
+ "user-ananya-collector",
85
+ "user-rohit-collector",
86
+ "user-meera-bey",
87
+ ],
88
+ }),
89
+ ];
90
+ export const bidsSeedData = _rawBidsSeedData.map(withBidDefaults);
@@ -10,7 +10,7 @@
10
10
  * @tag layer:seed
11
11
  * @tag pattern:none
12
12
  * @tag access:server-only
13
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
13
+ * @tag consumers:seed/index.ts,seed/runner.ts
14
14
  * @tag sideEffects:none
15
15
  */
16
16
  import { seedExtMedia } from "./_helpers/media";
@@ -1,6 +1,11 @@
1
1
  /*
2
- * WHY: Seeds 6 carousel slides for YGO marketplace homepage hero carousel.
3
- * WHAT: 5 active + 1 inactive. YGO card art backgrounds with dim overlay, CTAs for shop/auctions/bundles/pre-orders/graded.
2
+ * WHY: Seeds 6 carousel slides for the marketplace homepage hero carousel.
3
+ * WHAT: 5 active + 1 inactive. Picsum.photos placeholder backgrounds (deterministic,
4
+ * free, no API key) with dim overlay, CTAs for shop/auctions/bundles/pre-orders/graded.
5
+ * One slide (slide-blue-eyes-auction) uses background.type:"video" with a direct,
6
+ * Creative-Commons-licensed MP4 URL — HeroCarousel renders video backgrounds via a
7
+ * native <video> element (MediaVideo), not a YouTube iframe embed, so this needs a
8
+ * playable video file URL rather than a YouTube video ID.
4
9
  *
5
10
  * EXPORTS:
6
11
  * carouselSlidesSeedData — Array of Partial<CarouselSlideDocument> for seed runner
@@ -9,7 +14,7 @@
9
14
  * @tag layer:seed
10
15
  * @tag pattern:none
11
16
  * @tag access:server-only
12
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
17
+ * @tag consumers:seed/index.ts,seed/runner.ts
13
18
  * @tag sideEffects:none
14
19
  */
15
20
  import { seedExtMedia } from "./_helpers/media";
@@ -19,12 +24,12 @@ const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
19
24
  const _rawSlides = [
20
25
  {
21
26
  id: "slide-hero-homepage",
22
- title: "India's #1 YGO Collectibles Marketplace",
27
+ title: "India's Largest Collectibles Marketplace",
23
28
  order: 1,
24
29
  active: true,
25
30
  background: {
26
31
  type: "image",
27
- url: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/46986414.jpg"),
32
+ url: seedExtMedia("https://picsum.photos/seed/carousel-hero-homepage-20260101/1600/700"),
28
33
  dimOverlay: { enabled: true, opacity: 0.5 },
29
34
  },
30
35
  settings: { autoplayDelayMs: 5000, height: "tall" },
@@ -34,12 +39,13 @@ const _rawSlides = [
34
39
  },
35
40
  {
36
41
  id: "slide-blue-eyes-auction",
37
- title: "Blue-Eyes White Dragon Auctions Live",
42
+ title: "Rare Auctions Live Now",
38
43
  order: 2,
39
44
  active: true,
40
45
  background: {
41
- type: "image",
42
- url: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/89631139.jpg"),
46
+ type: "video",
47
+ url: seedExtMedia("https://storage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"),
48
+ thumbnail: seedExtMedia("https://picsum.photos/seed/carousel-auctions-live-20260101/1600/700"),
43
49
  dimOverlay: { enabled: true, opacity: 0.4 },
44
50
  },
45
51
  link: { url: String(ROUTES.PUBLIC.AUCTIONS), openInNewTab: false },
@@ -50,15 +56,15 @@ const _rawSlides = [
50
56
  },
51
57
  {
52
58
  id: "slide-exodia-hunt",
53
- title: "Complete Your Exodia Set",
59
+ title: "Complete Your Collection",
54
60
  order: 3,
55
61
  active: true,
56
62
  background: {
57
63
  type: "image",
58
- url: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/33396948.jpg"),
64
+ url: seedExtMedia("https://picsum.photos/seed/carousel-complete-collection-20260101/1600/700"),
59
65
  dimOverlay: { enabled: true, opacity: 0.45 },
60
66
  },
61
- link: { url: `${String(ROUTES.PUBLIC.PRODUCTS)}?q=exodia`, openInNewTab: false },
67
+ link: { url: String(ROUTES.PUBLIC.PRODUCTS), openInNewTab: false },
62
68
  settings: { autoplayDelayMs: 5000, height: "tall" },
63
69
  createdBy: "user-admin-letitrip",
64
70
  createdAt: daysAgo(50),
@@ -66,12 +72,12 @@ const _rawSlides = [
66
72
  },
67
73
  {
68
74
  id: "slide-gx-era",
69
- title: "GX Era Pre-Orders Now Open",
75
+ title: "Pre-Orders Now Open",
70
76
  order: 4,
71
77
  active: true,
72
78
  background: {
73
79
  type: "image",
74
- url: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/89943723.jpg"),
80
+ url: seedExtMedia("https://picsum.photos/seed/carousel-preorders-open-20260101/1600/700"),
75
81
  dimOverlay: { enabled: true, opacity: 0.4 },
76
82
  },
77
83
  link: { url: "/pre-orders", openInNewTab: false },
@@ -82,12 +88,12 @@ const _rawSlides = [
82
88
  },
83
89
  {
84
90
  id: "slide-psa-graded",
85
- title: "PSA Graded Slabs — Authenticated Cards",
91
+ title: "Graded Slabs — Authenticated Collectibles",
86
92
  order: 5,
87
93
  active: true,
88
94
  background: {
89
95
  type: "image",
90
- url: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/38033121.jpg"),
96
+ url: seedExtMedia("https://picsum.photos/seed/carousel-graded-slabs-20260101/1600/700"),
91
97
  dimOverlay: { enabled: true, opacity: 0.5 },
92
98
  },
93
99
  link: { url: "/categories/category-graded-cards", openInNewTab: false },
@@ -103,7 +109,7 @@ const _rawSlides = [
103
109
  active: false,
104
110
  background: {
105
111
  type: "image",
106
- url: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/83764718.jpg"),
112
+ url: seedExtMedia("https://picsum.photos/seed/carousel-tournament-promo-20260101/1600/700"),
107
113
  dimOverlay: { enabled: true, opacity: 0.5 },
108
114
  },
109
115
  settings: { autoplayDelayMs: 5000, height: "tall" },
@@ -6,7 +6,7 @@
6
6
  * @tag layer:seed
7
7
  * @tag pattern:none
8
8
  * @tag access:server-only
9
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
9
+ * @tag consumers:seed/index.ts,seed/runner.ts
10
10
  * @tag sideEffects:none
11
11
  */
12
12
  function daysAgo(n) {
@@ -9,7 +9,7 @@
9
9
  * @tag layer:seed
10
10
  * @tag pattern:none
11
11
  * @tag access:server-only
12
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
12
+ * @tag consumers:seed/index.ts,seed/runner.ts
13
13
  * @tag sideEffects:none
14
14
  */
15
15
  import { getDefaultCurrency } from "./seed-market-config";
@@ -15,7 +15,7 @@
15
15
  * @tag layer:seed
16
16
  * @tag pattern:none
17
17
  * @tag access:server-only
18
- * @tag consumers:seed/runner.ts,SeedPanel
18
+ * @tag consumers:seed/runner.ts
19
19
  * @tag sideEffects:none
20
20
  */
21
21
  import { CATEGORY_FIELDS } from "../constants/field-names";
@@ -9,7 +9,7 @@
9
9
  * @tag layer:seed
10
10
  * @tag pattern:none
11
11
  * @tag access:server-only
12
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
12
+ * @tag consumers:seed/index.ts,seed/runner.ts
13
13
  * @tag sideEffects:none
14
14
  */
15
15
  import { createClaimedCouponId } from "../features/promotions/schemas";
@@ -9,7 +9,7 @@
9
9
  * @tag layer:seed
10
10
  * @tag pattern:none
11
11
  * @tag access:server-only
12
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
12
+ * @tag consumers:seed/index.ts,seed/runner.ts
13
13
  * @tag sideEffects:none
14
14
  */
15
15
  const NOW = new Date();
@@ -10,7 +10,7 @@
10
10
  * @tag layer:seed
11
11
  * @tag pattern:none
12
12
  * @tag access:server-only
13
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
13
+ * @tag consumers:seed/index.ts,seed/runner.ts
14
14
  * @tag sideEffects:none
15
15
  */
16
16
  const NOW = new Date();
@@ -9,7 +9,7 @@
9
9
  * @tag layer:seed
10
10
  * @tag pattern:none
11
11
  * @tag access:server-only
12
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
12
+ * @tag consumers:seed/index.ts,seed/runner.ts
13
13
  * @tag sideEffects:none
14
14
  */
15
15
  import { COUPON_FIELDS } from "../constants/field-names";
@@ -10,7 +10,7 @@
10
10
  * @tag layer:seed
11
11
  * @tag pattern:none
12
12
  * @tag access:server-only
13
- * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
13
+ * @tag consumers:seed/index.ts,seed/runner.ts
14
14
  * @tag sideEffects:none
15
15
  */
16
16
  import { EVENT_FIELDS, EVENT_ENTRY_FIELDS } from "../features/events/schemas";