@mohasinac/appkit 3.2.19 → 3.3.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 (202) hide show
  1. package/dist/_internal/server/features/checkout/actions.d.ts +2 -0
  2. package/dist/_internal/server/features/checkout/actions.js +239 -190
  3. package/dist/_internal/server/functions/scheduled.d.ts +2 -1
  4. package/dist/_internal/server/functions/scheduled.js +9 -1
  5. package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +8 -11
  6. package/dist/_internal/server/jobs/core/emiInstallmentReminder.d.ts +8 -0
  7. package/dist/_internal/server/jobs/core/emiInstallmentReminder.js +78 -0
  8. package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.d.ts +2 -2
  9. package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +15 -10
  10. package/dist/_internal/server/jobs/handlers/emiInstallmentReminder.d.ts +2 -0
  11. package/dist/_internal/server/jobs/handlers/emiInstallmentReminder.js +2 -0
  12. package/dist/_internal/server/jobs/handlers/index.d.ts +1 -0
  13. package/dist/_internal/server/jobs/handlers/index.js +2 -0
  14. package/dist/_internal/server/providers/index.d.ts +4 -4
  15. package/dist/_internal/server/providers/index.js +4 -4
  16. package/dist/_internal/server/providers/payment/razorpay-mock.d.ts +3 -2
  17. package/dist/_internal/server/providers/payment/razorpay-mock.js +3 -1
  18. package/dist/_internal/server/providers/resolve.d.ts +10 -13
  19. package/dist/_internal/server/providers/resolve.js +9 -15
  20. package/dist/_internal/shared/actions/action-registry.js +28 -0
  21. package/dist/_internal/shared/checkout/rules/_defaults.js +1 -0
  22. package/dist/_internal/shared/checkout/rules/_registry.js +4 -0
  23. package/dist/_internal/shared/checkout/rules/art.rule.d.ts +9 -0
  24. package/dist/_internal/shared/checkout/rules/art.rule.js +5 -0
  25. package/dist/_internal/shared/checkout/rules/auction.rule.js +1 -0
  26. package/dist/_internal/shared/checkout/rules/classified.rule.js +1 -0
  27. package/dist/_internal/shared/checkout/rules/index.d.ts +2 -0
  28. package/dist/_internal/shared/checkout/rules/index.js +2 -0
  29. package/dist/_internal/shared/checkout/rules/stickers.rule.d.ts +9 -0
  30. package/dist/_internal/shared/checkout/rules/stickers.rule.js +5 -0
  31. package/dist/_internal/shared/checkout/rules/types.d.ts +6 -0
  32. package/dist/_internal/shared/features/checkout/config.d.ts +16 -1
  33. package/dist/_internal/shared/features/checkout/config.js +16 -1
  34. package/dist/_internal/shared/features/emi/schedule.d.ts +63 -0
  35. package/dist/_internal/shared/features/emi/schedule.js +62 -0
  36. package/dist/_internal/shared/fees/calculator.d.ts +53 -0
  37. package/dist/_internal/shared/fees/calculator.js +40 -0
  38. package/dist/_internal/shared/listing-types/_registry.d.ts +22 -66
  39. package/dist/_internal/shared/listing-types/_registry.js +19 -2
  40. package/dist/_internal/shared/listing-types/art/config.d.ts +15 -0
  41. package/dist/_internal/shared/listing-types/art/config.js +14 -0
  42. package/dist/_internal/shared/listing-types/art/ctas.d.ts +1 -0
  43. package/dist/_internal/shared/listing-types/art/ctas.js +3 -0
  44. package/dist/_internal/shared/listing-types/art/og.d.ts +1 -0
  45. package/dist/_internal/shared/listing-types/art/og.js +1 -0
  46. package/dist/_internal/shared/listing-types/art/schema.d.ts +2 -0
  47. package/dist/_internal/shared/listing-types/art/schema.js +3 -0
  48. package/dist/_internal/shared/listing-types/art/seed-factory.d.ts +1 -0
  49. package/dist/_internal/shared/listing-types/art/seed-factory.js +1 -0
  50. package/dist/_internal/shared/listing-types/auction/config.d.ts +8 -0
  51. package/dist/_internal/shared/listing-types/auction/config.js +6 -0
  52. package/dist/_internal/shared/listing-types/capabilities.js +17 -0
  53. package/dist/_internal/shared/listing-types/classified/config.d.ts +8 -0
  54. package/dist/_internal/shared/listing-types/classified/config.js +6 -0
  55. package/dist/_internal/shared/listing-types/digital-code/config.d.ts +8 -0
  56. package/dist/_internal/shared/listing-types/digital-code/config.js +6 -0
  57. package/dist/_internal/shared/listing-types/live/config.d.ts +8 -0
  58. package/dist/_internal/shared/listing-types/live/config.js +6 -0
  59. package/dist/_internal/shared/listing-types/pre-order/config.d.ts +8 -0
  60. package/dist/_internal/shared/listing-types/pre-order/config.js +6 -0
  61. package/dist/_internal/shared/listing-types/prize-draw/config.d.ts +8 -0
  62. package/dist/_internal/shared/listing-types/prize-draw/config.js +6 -0
  63. package/dist/_internal/shared/listing-types/standard/config.d.ts +8 -0
  64. package/dist/_internal/shared/listing-types/standard/config.js +6 -0
  65. package/dist/_internal/shared/listing-types/stickers/config.d.ts +15 -0
  66. package/dist/_internal/shared/listing-types/stickers/config.js +14 -0
  67. package/dist/_internal/shared/listing-types/stickers/ctas.d.ts +1 -0
  68. package/dist/_internal/shared/listing-types/stickers/ctas.js +3 -0
  69. package/dist/_internal/shared/listing-types/stickers/og.d.ts +1 -0
  70. package/dist/_internal/shared/listing-types/stickers/og.js +1 -0
  71. package/dist/_internal/shared/listing-types/stickers/schema.d.ts +2 -0
  72. package/dist/_internal/shared/listing-types/stickers/schema.js +3 -0
  73. package/dist/_internal/shared/listing-types/stickers/seed-factory.d.ts +1 -0
  74. package/dist/_internal/shared/listing-types/stickers/seed-factory.js +1 -0
  75. package/dist/client.d.ts +7 -2
  76. package/dist/client.js +4 -2
  77. package/dist/constants/field-names.d.ts +2 -6
  78. package/dist/constants/field-names.js +2 -6
  79. package/dist/contracts/index.d.ts +4 -2
  80. package/dist/contracts/index.js +6 -0
  81. package/dist/contracts/payment.d.ts +14 -9
  82. package/dist/contracts/payment.js +11 -1
  83. package/dist/contracts/shipping.d.ts +14 -9
  84. package/dist/contracts/shipping.js +11 -1
  85. package/dist/features/about/components/PublicProfileView.js +3 -6
  86. package/dist/features/account/components/UserOffersPanel.js +0 -1
  87. package/dist/features/admin/components/AdminAddressBookView.d.ts +11 -0
  88. package/dist/features/admin/components/AdminAddressBookView.js +30 -0
  89. package/dist/features/admin/components/AdminArtView.d.ts +3 -0
  90. package/dist/features/admin/components/AdminArtView.js +45 -0
  91. package/dist/features/admin/components/AdminCarouselEditorView.js +2 -3
  92. package/dist/features/admin/components/AdminFulfillmentView.js +0 -1
  93. package/dist/features/admin/components/AdminSiteConfigGuideView.js +1 -1
  94. package/dist/features/admin/components/AdminSiteSettingsView.js +14 -9
  95. package/dist/features/admin/components/AdminStickersView.d.ts +3 -0
  96. package/dist/features/admin/components/AdminStickersView.js +45 -0
  97. package/dist/features/admin/components/index.d.ts +6 -0
  98. package/dist/features/admin/components/index.js +4 -0
  99. package/dist/features/admin/hooks/useChat.js +0 -1
  100. package/dist/features/admin/schemas/firestore.d.ts +19 -11
  101. package/dist/features/admin/schemas/firestore.js +12 -2
  102. package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +3 -2
  103. package/dist/features/auth/hooks/useAuth.js +35 -10
  104. package/dist/features/auth/schemas/firestore.d.ts +2 -6
  105. package/dist/features/cart/schemas/firestore.d.ts +3 -2
  106. package/dist/features/consultation/schemas/index.d.ts +2 -2
  107. package/dist/features/history/hooks/useHistory.js +0 -1
  108. package/dist/features/loyalty/schemas/index.d.ts +6 -6
  109. package/dist/features/messages/hooks/useConversation.js +0 -1
  110. package/dist/features/messages/hooks/useConversations.js +0 -1
  111. package/dist/features/orders/repository/orders.repository.d.ts +20 -2
  112. package/dist/features/orders/repository/orders.repository.js +34 -5
  113. package/dist/features/orders/schemas/firestore.d.ts +33 -7
  114. package/dist/features/orders/schemas/firestore.js +1 -1
  115. package/dist/features/orders/schemas/index.d.ts +176 -31
  116. package/dist/features/orders/schemas/index.js +20 -6
  117. package/dist/features/orders/types/index.d.ts +3 -3
  118. package/dist/features/payments/repository/payout.repository.js +2 -2
  119. package/dist/features/payments/schemas/firestore.d.ts +3 -3
  120. package/dist/features/payments/schemas/firestore.js +2 -2
  121. package/dist/features/payments/schemas/index.d.ts +5 -5
  122. package/dist/features/payments/schemas/index.js +2 -2
  123. package/dist/features/products/api/[id]/route.js +4 -1
  124. package/dist/features/products/api/route.js +4 -1
  125. package/dist/features/products/components/CompareOverlay.js +7 -9
  126. package/dist/features/products/components/ProductDetailPageView.d.ts +3 -1
  127. package/dist/features/products/components/ProductDetailPageView.js +2 -2
  128. package/dist/features/products/components/ProductForm.js +18 -7
  129. package/dist/features/products/components/ProductGrid.js +7 -12
  130. package/dist/features/products/components/ShowGroupSection.js +3 -5
  131. package/dist/features/products/components/SublistingCarouselSection.js +3 -6
  132. package/dist/features/products/constants/listing-tabs.d.ts +32 -0
  133. package/dist/features/products/constants/listing-tabs.js +8 -0
  134. package/dist/features/products/index.d.ts +1 -1
  135. package/dist/features/products/index.js +3 -1
  136. package/dist/features/products/schemas/firestore.d.ts +20 -1
  137. package/dist/features/products/schemas/firestore.js +2 -0
  138. package/dist/features/products/schemas/index.d.ts +48 -0
  139. package/dist/features/products/schemas/index.js +9 -0
  140. package/dist/features/products/schemas/product-features.d.ts +1 -1
  141. package/dist/features/products/types/index.d.ts +5 -3
  142. package/dist/features/products/utils/listing-type.d.ts +6 -0
  143. package/dist/features/products/utils/listing-type.js +3 -0
  144. package/dist/features/reviews/api/[id]/route.js +5 -4
  145. package/dist/features/seller/actions/seller-actions.d.ts +29 -14
  146. package/dist/features/seller/actions/seller-actions.js +101 -27
  147. package/dist/features/seller/components/FulfillmentView.js +0 -1
  148. package/dist/features/seller/components/SellerAddressesView.js +0 -1
  149. package/dist/features/seller/components/SellerArtView.d.ts +7 -0
  150. package/dist/features/seller/components/SellerArtView.js +114 -0
  151. package/dist/features/seller/components/SellerOffersPanel.js +0 -1
  152. package/dist/features/seller/components/SellerOrdersView.js +38 -1
  153. package/dist/features/seller/components/SellerProductShell.d.ts +5 -1
  154. package/dist/features/seller/components/SellerProductShell.js +69 -59
  155. package/dist/features/seller/components/SellerReviewsView.js +0 -1
  156. package/dist/features/seller/components/SellerShippingView.js +6 -25
  157. package/dist/features/seller/components/SellerStickersView.d.ts +7 -0
  158. package/dist/features/seller/components/SellerStickersView.js +114 -0
  159. package/dist/features/seller/components/index.d.ts +4 -0
  160. package/dist/features/seller/components/index.js +2 -0
  161. package/dist/features/seller/messages/en.json +1 -1
  162. package/dist/features/seller/schemas/index.d.ts +7 -7
  163. package/dist/features/seller/schemas/index.js +1 -1
  164. package/dist/features/seller/types/index.d.ts +1 -1
  165. package/dist/features/stores/components/StoreDetailLayoutView.js +18 -2
  166. package/dist/features/stores/schemas/firestore.d.ts +7 -1
  167. package/dist/features/stores/schemas/index.d.ts +19 -16
  168. package/dist/features/stores/schemas/index.js +1 -1
  169. package/dist/index.d.ts +21 -36
  170. package/dist/index.js +27 -39
  171. package/dist/next/routing/route-map.d.ts +22 -0
  172. package/dist/next/routing/route-map.js +10 -0
  173. package/dist/providers/payment-manual/index.d.ts +40 -0
  174. package/dist/providers/payment-manual/index.js +91 -0
  175. package/dist/providers/payment-razorpay/index.d.ts +4 -2
  176. package/dist/providers/payment-razorpay/index.js +4 -1
  177. package/dist/providers/shipping-manual/index.d.ts +22 -0
  178. package/dist/providers/shipping-manual/index.js +47 -0
  179. package/dist/providers.d.ts +2 -2
  180. package/dist/providers.js +5 -3
  181. package/dist/schemas/registry.d.ts +129 -70
  182. package/dist/schemas/registry.js +0 -4
  183. package/dist/security/pii-encrypt.js +0 -7
  184. package/dist/security/pii-redact.js +0 -1
  185. package/dist/seed/conversations-seed-data.js +2 -2
  186. package/dist/seed/faq-seed-data.js +7 -7
  187. package/dist/seed/grouped-listings-seed-data.d.ts +2 -0
  188. package/dist/seed/index.d.ts +2 -0
  189. package/dist/seed/index.js +2 -0
  190. package/dist/seed/manifest.js +20 -16
  191. package/dist/seed/payouts-seed-data.js +5 -5
  192. package/dist/seed/products-art-seed-data.d.ts +11 -0
  193. package/dist/seed/products-art-seed-data.js +125 -0
  194. package/dist/seed/products-preorders-seed-data.d.ts +2 -0
  195. package/dist/seed/products-stickers-seed-data.d.ts +11 -0
  196. package/dist/seed/products-stickers-seed-data.js +125 -0
  197. package/dist/seed/site-settings-seed-data.js +13 -4
  198. package/dist/seed/stores-seed-data.js +11 -11
  199. package/dist/server.d.ts +7 -15
  200. package/dist/server.js +17 -42
  201. package/dist/ui/rich-text/RichText.js +1 -1
  202. package/package.json +1 -1
@@ -17,6 +17,8 @@ import { productsPrizeDrawsSeedData } from "./products-prize-draws-seed-data";
17
17
  import { productsClassifiedsSeedData } from "./products-classifieds-seed-data";
18
18
  import { productsDigitalCodesSeedData } from "./products-digital-codes-seed-data";
19
19
  import { productsLiveItemsSeedData } from "./products-live-items-seed-data";
20
+ import { productsArtSeedData } from "./products-art-seed-data";
21
+ import { productsStickersSeedData } from "./products-stickers-seed-data";
20
22
  import { ordersSeedData } from "./orders-seed-data";
21
23
  import { reviewsSeedData } from "./reviews-seed-data";
22
24
  import { bidsSeedData } from "./bids-seed-data";
@@ -58,6 +60,19 @@ function pick(items, nameKey = "name") {
58
60
  ...(item.type ? { type: String(item.type) } : {}),
59
61
  }));
60
62
  }
63
+ // SB1-G Phase 4 — canonical listingType drives the manifest "type" tag.
64
+ // "bundle" is a categoryType, not a ListingType — falls through to "bundle" below.
65
+ const LISTING_TYPE_TO_MANIFEST_TAG = {
66
+ standard: "standard",
67
+ auction: "auction",
68
+ "pre-order": "preorder",
69
+ "prize-draw": "prize-draw",
70
+ classified: "classified",
71
+ "digital-code": "digital-code",
72
+ live: "live",
73
+ art: "art",
74
+ stickers: "stickers",
75
+ };
61
76
  export const SEED_MANIFEST = {
62
77
  categories: pick(asArr(categoriesSeedData)),
63
78
  users: pick(asArr(usersSeedData).map((u) => ({
@@ -76,24 +91,13 @@ export const SEED_MANIFEST = {
76
91
  ...asArr(productsClassifiedsSeedData),
77
92
  ...asArr(productsDigitalCodesSeedData),
78
93
  ...asArr(productsLiveItemsSeedData),
94
+ ...asArr(productsArtSeedData),
95
+ ...asArr(productsStickersSeedData),
79
96
  ].map((p) => ({
80
97
  ...p,
81
- // SB1-G Phase 4 — canonical listingType drives the manifest "type" tag.
82
- type: p.listingType === "auction"
83
- ? "auction"
84
- : p.listingType === "pre-order"
85
- ? "preorder"
86
- : p.listingType === "prize-draw"
87
- ? "prize-draw"
88
- : p.listingType === "classified"
89
- ? "classified"
90
- : p.listingType === "digital-code"
91
- ? "digital-code"
92
- : p.listingType === "live"
93
- ? "live"
94
- : p.listingType === "bundle"
95
- ? "bundle"
96
- : "standard",
98
+ type: p.listingType === "bundle"
99
+ ? "bundle"
100
+ : LISTING_TYPE_TO_MANIFEST_TAG[p.listingType ?? "standard"],
97
101
  })), "title"),
98
102
  orders: pick(asArr(ordersSeedData)),
99
103
  reviews: pick(asArr(reviewsSeedData), "title"),
@@ -38,7 +38,7 @@ export const payoutsSeedData = [
38
38
  ...payoutAmounts(15000),
39
39
  platformFeeRate: DEFAULT_PLATFORM_FEE_RATE,
40
40
  currency: _CURRENCY,
41
- status: PAYOUT_FIELDS.STATUS_VALUES.COMPLETED,
41
+ status: PAYOUT_FIELDS.STATUS_VALUES.PAID,
42
42
  paymentMethod: "bank_transfer",
43
43
  bankAccount: {
44
44
  accountHolderName: "Seto Kaiba",
@@ -63,7 +63,7 @@ export const payoutsSeedData = [
63
63
  ...payoutAmounts(8500),
64
64
  platformFeeRate: DEFAULT_PLATFORM_FEE_RATE,
65
65
  currency: _CURRENCY,
66
- status: PAYOUT_FIELDS.STATUS_VALUES.COMPLETED,
66
+ status: PAYOUT_FIELDS.STATUS_VALUES.PAID,
67
67
  paymentMethod: "upi",
68
68
  upiId: "letitrip@upi",
69
69
  notes: "January 2026 payout — Exodia set + sealed LOB booster box orders",
@@ -83,7 +83,7 @@ export const payoutsSeedData = [
83
83
  ...payoutAmounts(22000),
84
84
  platformFeeRate: DEFAULT_PLATFORM_FEE_RATE,
85
85
  currency: _CURRENCY,
86
- status: PAYOUT_FIELDS.STATUS_VALUES.COMPLETED,
86
+ status: PAYOUT_FIELDS.STATUS_VALUES.PAID,
87
87
  paymentMethod: "bank_transfer",
88
88
  bankAccount: {
89
89
  accountHolderName: "Seto Kaiba",
@@ -108,7 +108,7 @@ export const payoutsSeedData = [
108
108
  ...payoutAmounts(5200),
109
109
  platformFeeRate: DEFAULT_PLATFORM_FEE_RATE,
110
110
  currency: _CURRENCY,
111
- status: PAYOUT_FIELDS.STATUS_VALUES.COMPLETED,
111
+ status: PAYOUT_FIELDS.STATUS_VALUES.PAID,
112
112
  paymentMethod: "upi",
113
113
  upiId: "letitrip@upi",
114
114
  notes: "March 2026 payout — Structure deck + accessory orders",
@@ -128,7 +128,7 @@ export const payoutsSeedData = [
128
128
  ...payoutAmounts(9800),
129
129
  platformFeeRate: DEFAULT_PLATFORM_FEE_RATE,
130
130
  currency: _CURRENCY,
131
- status: PAYOUT_FIELDS.STATUS_VALUES.COMPLETED,
131
+ status: PAYOUT_FIELDS.STATUS_VALUES.PAID,
132
132
  paymentMethod: "upi",
133
133
  upiId: "kaibacorp@upi",
134
134
  notes: "April 2026 payout — Mirror Force MRD lot + Pot of Greed singles batch",
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Art Products Seed Data (EMI/art-stickers session)
3
+ *
4
+ * Stored as ProductDocument with listingType: "art". Printed-only fan art —
5
+ * standard cart/checkout flow, distinguished by `printMeta` (size, material,
6
+ * finish, edition size).
7
+ *
8
+ * Prices in INR paise (₹1 = 100 paise).
9
+ */
10
+ import type { ProductDocument } from "../features/products/schemas/firestore";
11
+ export declare const productsArtSeedData: Partial<ProductDocument>[];
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Art Products Seed Data (EMI/art-stickers session)
3
+ *
4
+ * Stored as ProductDocument with listingType: "art". Printed-only fan art —
5
+ * standard cart/checkout flow, distinguished by `printMeta` (size, material,
6
+ * finish, edition size).
7
+ *
8
+ * Prices in INR paise (₹1 = 100 paise).
9
+ */
10
+ import { PRODUCT_FIELDS } from "../constants/field-names";
11
+ import { buildSearchTokens } from "../utils/search-tokens";
12
+ import { seedExtMedia } from "./_helpers/media";
13
+ function withTokens(p) {
14
+ return {
15
+ tags: [],
16
+ featured: false,
17
+ ...p,
18
+ searchTokens: buildSearchTokens(p.title, p.description, p.brand, p.brandSlug, p.categoryNames, p.tags, p.features, p.condition),
19
+ };
20
+ }
21
+ const NOW = new Date();
22
+ const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
23
+ const _rawArtSeedData = [
24
+ {
25
+ id: "art-charizard-fan-print-a3",
26
+ slug: "art-charizard-fan-print-a3",
27
+ title: "Charizard Fan Art Print — A3 Matte",
28
+ description: "Hand-drawn fan art print of Charizard, digitally reproduced on matte photo paper. Unofficial fan work — not affiliated with or endorsed by the Pokémon Company. Ships flat in a rigid mailer.",
29
+ categorySlugs: ["category-trading-cards"],
30
+ categoryNames: ["Trading Cards"],
31
+ brand: "Independent Artist",
32
+ price: 89900,
33
+ currency: "INR",
34
+ stockQuantity: 25,
35
+ availableQuantity: 25,
36
+ mainImage: seedExtMedia("https://picsum.photos/seed/art-charizard-print/800/1000"),
37
+ images: [seedExtMedia("https://picsum.photos/seed/art-charizard-print/800/1000")],
38
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
39
+ storeId: "store-tokyo-toys-india",
40
+ storeName: "Tokyo Toys India",
41
+ tags: ["art", "fan-art", "charizard", "print", "a3"],
42
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
43
+ printMeta: { size: "A3 (297x420mm)", material: "Matte photo paper", finish: "Matte", editionSize: 100 },
44
+ allowOffers: false,
45
+ createdAt: daysAgo(6),
46
+ updatedAt: daysAgo(2),
47
+ },
48
+ {
49
+ id: "art-gundam-rx78-poster-12x18",
50
+ slug: "art-gundam-rx78-poster-12x18",
51
+ title: "RX-78-2 Gundam Illustration Poster — 12x18 Glossy",
52
+ description: "Original illustration of the RX-78-2 Gundam in dynamic pose, printed glossy on 200gsm poster stock. Great for a model-kit display shelf backdrop.",
53
+ categorySlugs: ["category-model-kits"],
54
+ categoryNames: ["Model Kits"],
55
+ brand: "Independent Artist",
56
+ price: 129900,
57
+ currency: "INR",
58
+ stockQuantity: 15,
59
+ availableQuantity: 15,
60
+ mainImage: seedExtMedia("https://picsum.photos/seed/art-gundam-poster/800/1200"),
61
+ images: [seedExtMedia("https://picsum.photos/seed/art-gundam-poster/800/1200")],
62
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
63
+ storeId: "store-gundam-galaxy",
64
+ storeName: "Gundam Galaxy",
65
+ tags: ["art", "gundam", "poster", "illustration"],
66
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
67
+ printMeta: { size: "12x18 in", material: "200gsm poster paper", finish: "Glossy" },
68
+ allowOffers: false,
69
+ createdAt: daysAgo(4),
70
+ updatedAt: daysAgo(1),
71
+ },
72
+ {
73
+ id: "art-beyblade-burst-canvas-square",
74
+ slug: "art-beyblade-burst-canvas-square",
75
+ title: "Beyblade Burst Arena Canvas Print — 12x12 Square",
76
+ description: "Stretched canvas print of a Beyblade Burst arena battle scene. Ready to hang, no framing needed. Limited run of 50 numbered canvases.",
77
+ categorySlugs: ["category-spinning-tops"],
78
+ categoryNames: ["Spinning Tops"],
79
+ brand: "Independent Artist",
80
+ price: 249900,
81
+ currency: "INR",
82
+ stockQuantity: 8,
83
+ availableQuantity: 8,
84
+ mainImage: seedExtMedia("https://picsum.photos/seed/art-beyblade-canvas/900/900"),
85
+ images: [seedExtMedia("https://picsum.photos/seed/art-beyblade-canvas/900/900")],
86
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
87
+ storeId: "store-beyblade-arena",
88
+ storeName: "Beyblade Arena",
89
+ tags: ["art", "beyblade", "canvas", "limited-edition"],
90
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
91
+ printMeta: { size: "12x12 in", material: "Stretched canvas", finish: "Matte", editionSize: 50 },
92
+ isPromoted: true,
93
+ allowOffers: false,
94
+ createdAt: daysAgo(9),
95
+ updatedAt: daysAgo(3),
96
+ },
97
+ {
98
+ id: "art-hotwheels-redline-mini-print",
99
+ slug: "art-hotwheels-redline-mini-print",
100
+ title: "Hot Wheels Redline Vintage Ad Art — Mini Print Set (3)",
101
+ description: "Set of 3 mini prints (5x7 in each) recreating vintage Hot Wheels Redline-era print ads in a retro poster style. Perfect for a collector's display case.",
102
+ categorySlugs: ["category-diecast-vehicles"],
103
+ categoryNames: ["Diecast Vehicles"],
104
+ brand: "Independent Artist",
105
+ price: 69900,
106
+ currency: "INR",
107
+ stockQuantity: 30,
108
+ availableQuantity: 30,
109
+ mainImage: seedExtMedia("https://picsum.photos/seed/art-hotwheels-print/700/900"),
110
+ images: [seedExtMedia("https://picsum.photos/seed/art-hotwheels-print/700/900")],
111
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
112
+ storeId: "store-diecast-depot",
113
+ storeName: "Diecast Depot",
114
+ tags: ["art", "hot-wheels", "retro", "print-set"],
115
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
116
+ printMeta: { size: "5x7 in (x3)", material: "Matte cardstock", finish: "Matte" },
117
+ allowOffers: false,
118
+ createdAt: daysAgo(2),
119
+ updatedAt: daysAgo(1),
120
+ },
121
+ ];
122
+ export const productsArtSeedData = _rawArtSeedData.map((p) => withTokens({
123
+ ...p,
124
+ listingType: "art",
125
+ }));
@@ -67,6 +67,8 @@ export declare const productsPreordersSeedData: {
67
67
  isPromoted?: boolean | undefined;
68
68
  isOnSale?: boolean | undefined;
69
69
  isSold?: boolean | undefined;
70
+ allowShipBeforeEmiComplete?: boolean | undefined;
71
+ printMeta?: import("../features/products").ProductPrintMeta | undefined;
70
72
  promotionEndDate?: Date | undefined;
71
73
  pickupAddressId?: string | undefined;
72
74
  viewCount?: number | undefined;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Stickers Products Seed Data (EMI/art-stickers session)
3
+ *
4
+ * Stored as ProductDocument with listingType: "stickers". Printed-only
5
+ * sticker sheets/packs — standard cart/checkout flow, distinguished by
6
+ * `printMeta` (size, material, finish, edition size).
7
+ *
8
+ * Prices in INR paise (₹1 = 100 paise).
9
+ */
10
+ import type { ProductDocument } from "../features/products/schemas/firestore";
11
+ export declare const productsStickersSeedData: Partial<ProductDocument>[];
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Stickers Products Seed Data (EMI/art-stickers session)
3
+ *
4
+ * Stored as ProductDocument with listingType: "stickers". Printed-only
5
+ * sticker sheets/packs — standard cart/checkout flow, distinguished by
6
+ * `printMeta` (size, material, finish, edition size).
7
+ *
8
+ * Prices in INR paise (₹1 = 100 paise).
9
+ */
10
+ import { PRODUCT_FIELDS } from "../constants/field-names";
11
+ import { buildSearchTokens } from "../utils/search-tokens";
12
+ import { seedExtMedia } from "./_helpers/media";
13
+ function withTokens(p) {
14
+ return {
15
+ tags: [],
16
+ featured: false,
17
+ ...p,
18
+ searchTokens: buildSearchTokens(p.title, p.description, p.brand, p.brandSlug, p.categoryNames, p.tags, p.features, p.condition),
19
+ };
20
+ }
21
+ const NOW = new Date();
22
+ const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
23
+ const _rawStickersSeedData = [
24
+ {
25
+ id: "sticker-pokemon-starter-vinyl-sheet",
26
+ slug: "sticker-pokemon-starter-vinyl-sheet",
27
+ title: "Pokémon Starters Vinyl Sticker Sheet — Waterproof",
28
+ description: "Die-cut waterproof vinyl sticker sheet featuring the classic starter trio. Fan art, unofficial. Great for water bottles, laptops, and binders.",
29
+ categorySlugs: ["category-trading-cards"],
30
+ categoryNames: ["Trading Cards"],
31
+ brand: "Independent Artist",
32
+ price: 19900,
33
+ currency: "INR",
34
+ stockQuantity: 80,
35
+ availableQuantity: 80,
36
+ mainImage: seedExtMedia("https://picsum.photos/seed/sticker-pokemon-sheet/800/800"),
37
+ images: [seedExtMedia("https://picsum.photos/seed/sticker-pokemon-sheet/800/800")],
38
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
39
+ storeId: "store-pokemon-palace",
40
+ storeName: "Pokemon Palace",
41
+ tags: ["stickers", "pokemon", "vinyl", "waterproof"],
42
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
43
+ printMeta: { size: "10x15 cm sheet", material: "Vinyl", finish: "Glossy" },
44
+ allowOffers: false,
45
+ createdAt: daysAgo(5),
46
+ updatedAt: daysAgo(1),
47
+ },
48
+ {
49
+ id: "sticker-gundam-mech-holographic-pack",
50
+ slug: "sticker-gundam-mech-holographic-pack",
51
+ title: "Gundam Mech Squad Holographic Sticker Pack (10 pcs)",
52
+ description: "Pack of 10 individual holographic stickers featuring iconic Gundam mech silhouettes. Weatherproof, laptop and helmet safe.",
53
+ categorySlugs: ["category-model-kits"],
54
+ categoryNames: ["Model Kits"],
55
+ brand: "Independent Artist",
56
+ price: 29900,
57
+ currency: "INR",
58
+ stockQuantity: 60,
59
+ availableQuantity: 60,
60
+ mainImage: seedExtMedia("https://picsum.photos/seed/sticker-gundam-pack/800/800"),
61
+ images: [seedExtMedia("https://picsum.photos/seed/sticker-gundam-pack/800/800")],
62
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
63
+ storeId: "store-gundam-galaxy",
64
+ storeName: "Gundam Galaxy",
65
+ tags: ["stickers", "gundam", "holographic", "pack"],
66
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
67
+ printMeta: { size: "5x5 cm each (x10)", material: "Vinyl", finish: "Holographic" },
68
+ isPromoted: true,
69
+ allowOffers: false,
70
+ createdAt: daysAgo(3),
71
+ updatedAt: daysAgo(1),
72
+ },
73
+ {
74
+ id: "sticker-beyblade-burst-die-cut-set",
75
+ slug: "sticker-beyblade-burst-die-cut-set",
76
+ title: "Beyblade Burst Die-Cut Sticker Set (6 pcs)",
77
+ description: "Set of 6 die-cut matte stickers of fan-favorite Beyblade Burst tops. Perfect for notebooks and arena cases.",
78
+ categorySlugs: ["category-spinning-tops"],
79
+ categoryNames: ["Spinning Tops"],
80
+ brand: "Independent Artist",
81
+ price: 14900,
82
+ currency: "INR",
83
+ stockQuantity: 100,
84
+ availableQuantity: 100,
85
+ mainImage: seedExtMedia("https://picsum.photos/seed/sticker-beyblade-set/800/800"),
86
+ images: [seedExtMedia("https://picsum.photos/seed/sticker-beyblade-set/800/800")],
87
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
88
+ storeId: "store-beyblade-arena",
89
+ storeName: "Beyblade Arena",
90
+ tags: ["stickers", "beyblade", "die-cut", "set"],
91
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
92
+ printMeta: { size: "4x4 cm each (x6)", material: "Matte vinyl", finish: "Matte" },
93
+ allowOffers: false,
94
+ createdAt: daysAgo(7),
95
+ updatedAt: daysAgo(2),
96
+ },
97
+ {
98
+ id: "sticker-hotwheels-retro-logo-pack",
99
+ slug: "sticker-hotwheels-retro-logo-pack",
100
+ title: "Hot Wheels Retro Logo Sticker Pack (5 pcs)",
101
+ description: "Retro-style Hot Wheels-inspired logo stickers, glossy finish, weatherproof for toolboxes and diecast display cases.",
102
+ categorySlugs: ["category-diecast-vehicles"],
103
+ categoryNames: ["Diecast Vehicles"],
104
+ brand: "Independent Artist",
105
+ price: 12900,
106
+ currency: "INR",
107
+ stockQuantity: 120,
108
+ availableQuantity: 120,
109
+ mainImage: seedExtMedia("https://picsum.photos/seed/sticker-hotwheels-pack/800/800"),
110
+ images: [seedExtMedia("https://picsum.photos/seed/sticker-hotwheels-pack/800/800")],
111
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
112
+ storeId: "store-diecast-depot",
113
+ storeName: "Diecast Depot",
114
+ tags: ["stickers", "hot-wheels", "retro", "pack"],
115
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
116
+ printMeta: { size: "6x4 cm each (x5)", material: "Vinyl", finish: "Glossy" },
117
+ allowOffers: false,
118
+ createdAt: daysAgo(1),
119
+ updatedAt: daysAgo(1),
120
+ },
121
+ ];
122
+ export const productsStickersSeedData = _rawStickersSeedData.map((p) => withTokens({
123
+ ...p,
124
+ listingType: "stickers",
125
+ }));
@@ -92,9 +92,18 @@ export const siteSettingsSeedData = {
92
92
  whatsappNumber: `${_phonePrefix.replace(/[^+\d]/g, "")}9876543210`,
93
93
  },
94
94
  payment: {
95
- razorpayEnabled: true,
95
+ razorpayEnabled: false,
96
96
  upiManualEnabled: true,
97
- codEnabled: false,
97
+ codEnabled: true,
98
+ },
99
+ emi: {
100
+ enabled: true,
101
+ minOrderValueInPaise: 1000000,
102
+ tenureOptions: [2, 3, 4, 5, 6],
103
+ tokenPercent: 10,
104
+ billingDay: 5,
105
+ surchargePercentPerMonth: 1,
106
+ surchargeSellerSharePercent: 50,
98
107
  },
99
108
  socialLinks: {
100
109
  facebook: "https://facebook.com/letitrip",
@@ -358,6 +367,8 @@ export const siteSettingsSeedData = {
358
367
  minimumTransactionFee: 0,
359
368
  gatewayFeePercent: 2,
360
369
  codDepositPercent: 10,
370
+ codHandlingFeeMinInPaise: 20000,
371
+ codHandlingFeePercent: 10,
361
372
  sellerShippingFixed: 0,
362
373
  platformShippingPercent: 0,
363
374
  platformShippingFixedMin: 0,
@@ -405,8 +416,6 @@ export const siteSettingsSeedData = {
405
416
  whatsappPhoneNumberId: "",
406
417
  whatsappCloudApiToken: "",
407
418
  whatsappAdminNotifyNumbers: "",
408
- shiprocketEmail: "shiprocket@letitrip.in",
409
- shiprocketPassword: "shiprocket_PLACEHOLDER",
410
419
  metaAppId: "meta_app_PLACEHOLDER",
411
420
  metaAppSecret: "meta_secret_PLACEHOLDER",
412
421
  metaPageAccessToken: "meta_page_token_PLACEHOLDER",
@@ -46,7 +46,7 @@ export const storesSeedData = [
46
46
  {
47
47
  providerId: "provider-letitrip-standard",
48
48
  label: "Standard Shipping",
49
- type: "shiprocket",
49
+ type: "custom",
50
50
  fee: { flatInPaise: 4900, freeAboveInPaise: 99900 },
51
51
  etaDaysMin: 3,
52
52
  etaDaysMax: 5,
@@ -55,7 +55,7 @@ export const storesSeedData = [
55
55
  {
56
56
  providerId: "provider-letitrip-express",
57
57
  label: "Express Shipping",
58
- type: "shiprocket",
58
+ type: "custom",
59
59
  fee: { flatInPaise: 9900 },
60
60
  etaDaysMin: 1,
61
61
  etaDaysMax: 2,
@@ -131,7 +131,7 @@ export const storesSeedData = [
131
131
  {
132
132
  providerId: "provider-kaiba-box",
133
133
  label: "Box Shipping (Sealed Product)",
134
- type: "shiprocket",
134
+ type: "custom",
135
135
  fee: { flatInPaise: 14900 },
136
136
  etaDaysMin: 4,
137
137
  etaDaysMax: 7,
@@ -140,7 +140,7 @@ export const storesSeedData = [
140
140
  {
141
141
  providerId: "provider-kaiba-express",
142
142
  label: "Express Courier",
143
- type: "shiprocket",
143
+ type: "custom",
144
144
  fee: { flatInPaise: 19900 },
145
145
  etaDaysMin: 1,
146
146
  etaDaysMax: 2,
@@ -190,7 +190,7 @@ export const storesSeedData = [
190
190
  shippingConfig: {
191
191
  defaultProviderId: "provider-pokemon-standard",
192
192
  providers: [
193
- { providerId: "provider-pokemon-standard", label: "Standard Shipping", type: "shiprocket", fee: { flatInPaise: 4900, freeAboveInPaise: 79900 }, etaDaysMin: 4, etaDaysMax: 6, requiresAwbUpload: true },
193
+ { providerId: "provider-pokemon-standard", label: "Standard Shipping", type: "custom", fee: { flatInPaise: 4900, freeAboveInPaise: 79900 }, etaDaysMin: 4, etaDaysMax: 6, requiresAwbUpload: true },
194
194
  ],
195
195
  },
196
196
  isPublic: true,
@@ -215,11 +215,11 @@ export const storesSeedData = [
215
215
  location: "Hyderabad, Telangana, India",
216
216
  socialLinks: { instagram: "https://instagram.com/cardgamehub.in", twitter: "https://twitter.com/cardgamehub" },
217
217
  returnPolicy: "5-day returns. Items must be in original packaging.",
218
- shippingPolicy: "Free shipping above ₹1,499. Ships within 48 hours via Shiprocket.",
218
+ shippingPolicy: "Free shipping above ₹1,499. Ships within 48 hours.",
219
219
  shippingConfig: {
220
220
  defaultProviderId: "provider-cardgame-standard",
221
221
  providers: [
222
- { providerId: "provider-cardgame-standard", label: "Standard", type: "shiprocket", fee: { flatInPaise: 5900, freeAboveInPaise: 149900 }, etaDaysMin: 4, etaDaysMax: 7, requiresAwbUpload: true },
222
+ { providerId: "provider-cardgame-standard", label: "Standard", type: "custom", fee: { flatInPaise: 5900, freeAboveInPaise: 149900 }, etaDaysMin: 4, etaDaysMax: 7, requiresAwbUpload: true },
223
223
  ],
224
224
  },
225
225
  isPublic: true,
@@ -248,7 +248,7 @@ export const storesSeedData = [
248
248
  shippingConfig: {
249
249
  defaultProviderId: "provider-beyblade-standard",
250
250
  providers: [
251
- { providerId: "provider-beyblade-standard", label: "Standard", type: "shiprocket", fee: { flatInPaise: 4500, freeAboveInPaise: 59900 }, etaDaysMin: 3, etaDaysMax: 6, requiresAwbUpload: true },
251
+ { providerId: "provider-beyblade-standard", label: "Standard", type: "custom", fee: { flatInPaise: 4500, freeAboveInPaise: 59900 }, etaDaysMin: 3, etaDaysMax: 6, requiresAwbUpload: true },
252
252
  ],
253
253
  },
254
254
  isPublic: true,
@@ -278,8 +278,8 @@ export const storesSeedData = [
278
278
  shippingConfig: {
279
279
  defaultProviderId: "provider-tokyo-standard",
280
280
  providers: [
281
- { providerId: "provider-tokyo-standard", label: "Standard (Double-Box)", type: "shiprocket", fee: { flatInPaise: 9900, freeAboveInPaise: 199900 }, etaDaysMin: 5, etaDaysMax: 8, requiresAwbUpload: true },
282
- { providerId: "provider-tokyo-express", label: "Express", type: "shiprocket", fee: { flatInPaise: 19900 }, etaDaysMin: 2, etaDaysMax: 3, requiresAwbUpload: true },
281
+ { providerId: "provider-tokyo-standard", label: "Standard (Double-Box)", type: "custom", fee: { flatInPaise: 9900, freeAboveInPaise: 199900 }, etaDaysMin: 5, etaDaysMax: 8, requiresAwbUpload: true },
282
+ { providerId: "provider-tokyo-express", label: "Express", type: "custom", fee: { flatInPaise: 19900 }, etaDaysMin: 2, etaDaysMax: 3, requiresAwbUpload: true },
283
283
  ],
284
284
  },
285
285
  isPublic: true,
@@ -308,7 +308,7 @@ export const storesSeedData = [
308
308
  shippingConfig: {
309
309
  defaultProviderId: "provider-gundam-standard",
310
310
  providers: [
311
- { providerId: "provider-gundam-standard", label: "Standard", type: "shiprocket", fee: { flatInPaise: 7900, freeAboveInPaise: 149900 }, etaDaysMin: 4, etaDaysMax: 7, requiresAwbUpload: true },
311
+ { providerId: "provider-gundam-standard", label: "Standard", type: "custom", fee: { flatInPaise: 7900, freeAboveInPaise: 149900 }, etaDaysMin: 4, etaDaysMax: 7, requiresAwbUpload: true },
312
312
  ],
313
313
  },
314
314
  isPublic: true,
package/dist/server.d.ts CHANGED
@@ -139,19 +139,9 @@ export { rupeesToPaise } from "./providers/payment-razorpay/index";
139
139
  export { verifyPaymentSignature } from "./providers/payment-razorpay/index";
140
140
  export { verifyPaymentSignatureWithKeys } from "./providers/payment-razorpay/index";
141
141
  export { verifyWebhookSignature } from "./providers/payment-razorpay/index";
142
- export { SHIPROCKET_TOKEN_TTL_MS } from "./providers/shipping-shiprocket/index";
143
- export { SHIPROCKET_TRACKING_URL_BASE, buildShiprocketTrackingUrl, SHIPROCKET_STATUS_PICKUP_SCHEDULED, } from "./providers/shipping-shiprocket/index";
144
- export { ShiprocketProvider } from "./providers/shipping-shiprocket/index";
145
- export { isShiprocketTokenExpired } from "./providers/shipping-shiprocket/index";
146
- export { shiprocketAddPickupLocation } from "./providers/shipping-shiprocket/index";
147
- export { shiprocketAuthenticate } from "./providers/shipping-shiprocket/index";
148
- export { shiprocketCheckServiceability } from "./providers/shipping-shiprocket/index";
149
- export { shiprocketCreateOrder } from "./providers/shipping-shiprocket/index";
150
- export { shiprocketGenerateAWB } from "./providers/shipping-shiprocket/index";
151
- export { shiprocketGeneratePickup } from "./providers/shipping-shiprocket/index";
152
- export { shiprocketGetPickupLocations } from "./providers/shipping-shiprocket/index";
153
- export { shiprocketTrackByAWB } from "./providers/shipping-shiprocket/index";
154
- export { shiprocketVerifyPickupOTP } from "./providers/shipping-shiprocket/index";
142
+ export { resolveKeys } from "./core/integration-keys";
143
+ export { ManualPaymentProvider } from "./providers/payment-manual/index";
144
+ export { ManualShippingProvider } from "./providers/shipping-manual/index";
155
145
  export { createAddressForUser } from "./features/account/server";
156
146
  export { deleteAddressForUser } from "./features/account/server";
157
147
  export { getAddressByIdForUser } from "./features/account/server";
@@ -294,6 +284,8 @@ export { listPublicEvents } from "./features/events/server";
294
284
  export { updateEvent } from "./features/events/server";
295
285
  export { triggerEventRaffleAction, assignSpinPrizeAction, } from "./_internal/server/features/raffle/actions";
296
286
  export { processRefundAction, type ProcessRefundInput, } from "./_internal/server/features/refunds/actions";
287
+ export { computeCheckoutFees, computePayoutDeduction, computeCodHandlingFee, } from "./_internal/shared/fees/calculator";
288
+ export type { FeeCommissionRates, CheckoutFees, PayoutDeduction, CodHandlingFeeRates, } from "./_internal/shared/fees/calculator";
297
289
  export { applyRefundDeductionAction, type ApplyRefundDeductionInput, type ApplyRefundDeductionResult, } from "./_internal/server/features/payouts/actions";
298
290
  export { createFaq } from "./features/faq/server";
299
291
  export { deleteFaq } from "./features/faq/server";
@@ -495,7 +487,7 @@ export { getScammerForDetail, getScammerProfilePageData as getScammerProfilePage
495
487
  export { orderDocumentToOrder } from "./_internal/server/features/orders/adapters";
496
488
  export { LISTING_TYPE_CAPABILITIES, capabilityFor, canAddToCart, canBid, supportsShipping, requiresVendorVerified, requiresJurisdictionCheck, hasInstantFulfillment, assertNever, } from "./_internal/shared/listing-types/capabilities";
497
489
  export type { ListingTypeCapability } from "./_internal/shared/listing-types/capabilities";
498
- export { LISTING_TYPE_REGISTRY, pluginFor } from "./_internal/shared/listing-types/_registry";
490
+ export { LISTING_TYPE_REGISTRY, pluginFor, detectListingTypeFromSlug } from "./_internal/shared/listing-types/_registry";
499
491
  export type { ListingTypePlugin } from "./_internal/shared/listing-types/_registry";
500
492
  export { applyMediaContextGuards, CONTEXT_LIMITS, } from "./_internal/server/features/media/contextGuards";
501
493
  export type { GuardResult, GuardError, GuardSuccess } from "./_internal/server/features/media/contextGuards";
@@ -529,7 +521,7 @@ export { getLiveItemForDetail } from "./_internal/server/features/live/data";
529
521
  export { toClientLiveItem, type LiveItemClientShape } from "./_internal/server/features/live/adapters";
530
522
  export { buildLiveItemMetadata, type LiveItemMetadataOptions } from "./_internal/server/features/live/metadata";
531
523
  export { renderLiveItemOg, renderLiveItemOgImage, renderLiveItemOgFromDoc, type LiveItemOgData } from "./_internal/server/features/live/og";
532
- export { MockRazorpayProvider, MockShiprocketProvider, resolvePaymentProvider, resolveShippingProvider, type MockWebhookEvent, type MockWebhookPayload, type WebhookSink, type ShipmentEvent, type ShipmentEventSink, type PaymentResolutionFactories, type ProviderResolutionContext, type ShippingResolutionFactories, } from "./_internal/server/providers";
524
+ export { MockRazorpayProvider, resolvePaymentProvider, type MockWebhookEvent, type MockWebhookPayload, type WebhookSink, type PaymentResolutionFactories, type ProviderResolutionContext, } from "./_internal/server/providers";
533
525
  export { getLotteryEventCached, listLotteryEvents, getLotteryEntriesForAdmin, getLotteryEntriesForUser } from "./_internal/server/features/lottery/data";
534
526
  export type { LotteryEventClient } from "./_internal/server/features/lottery/data";
535
527
  export { toClientLotterySlot, toClientLotteryConfig } from "./_internal/server/features/lottery/adapters";