@rovela-ai/sdk 0.6.1 → 0.7.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 (127) hide show
  1. package/dist/admin/api/discounts.d.ts +53 -0
  2. package/dist/admin/api/discounts.d.ts.map +1 -0
  3. package/dist/admin/api/discounts.js +325 -0
  4. package/dist/admin/api/discounts.js.map +1 -0
  5. package/dist/admin/api/index.d.ts +1 -0
  6. package/dist/admin/api/index.d.ts.map +1 -1
  7. package/dist/admin/api/index.js +2 -0
  8. package/dist/admin/api/index.js.map +1 -1
  9. package/dist/admin/api/orders.js +1 -1
  10. package/dist/admin/api/orders.js.map +1 -1
  11. package/dist/admin/api/settings.d.ts.map +1 -1
  12. package/dist/admin/api/settings.js +10 -0
  13. package/dist/admin/api/settings.js.map +1 -1
  14. package/dist/admin/components/CustomerAddressPanel.d.ts.map +1 -1
  15. package/dist/admin/components/CustomerAddressPanel.js +13 -6
  16. package/dist/admin/components/CustomerAddressPanel.js.map +1 -1
  17. package/dist/admin/components/DiscountsManager.d.ts +5 -0
  18. package/dist/admin/components/DiscountsManager.d.ts.map +1 -0
  19. package/dist/admin/components/DiscountsManager.js +363 -0
  20. package/dist/admin/components/DiscountsManager.js.map +1 -0
  21. package/dist/admin/components/ShippingSettings.d.ts.map +1 -1
  22. package/dist/admin/components/ShippingSettings.js +19 -2
  23. package/dist/admin/components/ShippingSettings.js.map +1 -1
  24. package/dist/admin/components/StoreSettings.d.ts.map +1 -1
  25. package/dist/admin/components/StoreSettings.js +8 -1
  26. package/dist/admin/components/StoreSettings.js.map +1 -1
  27. package/dist/admin/components/TaxSettings.d.ts.map +1 -1
  28. package/dist/admin/components/TaxSettings.js +8 -3
  29. package/dist/admin/components/TaxSettings.js.map +1 -1
  30. package/dist/admin/components/index.d.ts +2 -0
  31. package/dist/admin/components/index.d.ts.map +1 -1
  32. package/dist/admin/components/index.js +1 -0
  33. package/dist/admin/components/index.js.map +1 -1
  34. package/dist/admin/hooks/index.d.ts +2 -0
  35. package/dist/admin/hooks/index.d.ts.map +1 -1
  36. package/dist/admin/hooks/index.js +1 -0
  37. package/dist/admin/hooks/index.js.map +1 -1
  38. package/dist/admin/hooks/useAdminDiscounts.d.ts +12 -0
  39. package/dist/admin/hooks/useAdminDiscounts.d.ts.map +1 -0
  40. package/dist/admin/hooks/useAdminDiscounts.js +77 -0
  41. package/dist/admin/hooks/useAdminDiscounts.js.map +1 -0
  42. package/dist/admin/index.d.ts +3 -3
  43. package/dist/admin/index.d.ts.map +1 -1
  44. package/dist/admin/index.js +2 -2
  45. package/dist/admin/index.js.map +1 -1
  46. package/dist/admin/types.d.ts +72 -0
  47. package/dist/admin/types.d.ts.map +1 -1
  48. package/dist/auth/components/AddressForm.d.ts.map +1 -1
  49. package/dist/auth/components/AddressForm.js +22 -7
  50. package/dist/auth/components/AddressForm.js.map +1 -1
  51. package/dist/checkout/api/checkout.d.ts.map +1 -1
  52. package/dist/checkout/api/checkout.js +15 -2
  53. package/dist/checkout/api/checkout.js.map +1 -1
  54. package/dist/checkout/api/discount.d.ts +47 -0
  55. package/dist/checkout/api/discount.d.ts.map +1 -0
  56. package/dist/checkout/api/discount.js +77 -0
  57. package/dist/checkout/api/discount.js.map +1 -0
  58. package/dist/checkout/api/index.d.ts +1 -0
  59. package/dist/checkout/api/index.d.ts.map +1 -1
  60. package/dist/checkout/api/index.js +1 -0
  61. package/dist/checkout/api/index.js.map +1 -1
  62. package/dist/checkout/api/manual.d.ts.map +1 -1
  63. package/dist/checkout/api/manual.js +64 -130
  64. package/dist/checkout/api/manual.js.map +1 -1
  65. package/dist/checkout/api/shipping.d.ts.map +1 -1
  66. package/dist/checkout/api/shipping.js +19 -27
  67. package/dist/checkout/api/shipping.js.map +1 -1
  68. package/dist/checkout/components/CheckoutFlow.d.ts.map +1 -1
  69. package/dist/checkout/components/CheckoutFlow.js +89 -9
  70. package/dist/checkout/components/CheckoutFlow.js.map +1 -1
  71. package/dist/checkout/components/OrderSummary.d.ts +1 -1
  72. package/dist/checkout/components/OrderSummary.d.ts.map +1 -1
  73. package/dist/checkout/components/OrderSummary.js +3 -3
  74. package/dist/checkout/components/OrderSummary.js.map +1 -1
  75. package/dist/checkout/components/ShippingForm.d.ts.map +1 -1
  76. package/dist/checkout/components/ShippingForm.js +42 -13
  77. package/dist/checkout/components/ShippingForm.js.map +1 -1
  78. package/dist/checkout/constants.d.ts +38 -0
  79. package/dist/checkout/constants.d.ts.map +1 -1
  80. package/dist/checkout/constants.js +39 -0
  81. package/dist/checkout/constants.js.map +1 -1
  82. package/dist/checkout/hooks/useCheckout.d.ts.map +1 -1
  83. package/dist/checkout/hooks/useCheckout.js +2 -0
  84. package/dist/checkout/hooks/useCheckout.js.map +1 -1
  85. package/dist/checkout/server/checkout-customer.d.ts +30 -0
  86. package/dist/checkout/server/checkout-customer.d.ts.map +1 -0
  87. package/dist/checkout/server/checkout-customer.js +47 -0
  88. package/dist/checkout/server/checkout-customer.js.map +1 -0
  89. package/dist/checkout/server/create-checkout-session.d.ts.map +1 -1
  90. package/dist/checkout/server/create-checkout-session.js +149 -9
  91. package/dist/checkout/server/create-checkout-session.js.map +1 -1
  92. package/dist/checkout/server/discounts.d.ts +75 -0
  93. package/dist/checkout/server/discounts.d.ts.map +1 -0
  94. package/dist/checkout/server/discounts.js +294 -0
  95. package/dist/checkout/server/discounts.js.map +1 -0
  96. package/dist/checkout/server/handle-webhook.js +23 -1
  97. package/dist/checkout/server/handle-webhook.js.map +1 -1
  98. package/dist/checkout/server/index.d.ts +4 -0
  99. package/dist/checkout/server/index.d.ts.map +1 -1
  100. package/dist/checkout/server/index.js +4 -0
  101. package/dist/checkout/server/index.js.map +1 -1
  102. package/dist/checkout/server/order-service.d.ts.map +1 -1
  103. package/dist/checkout/server/order-service.js +60 -10
  104. package/dist/checkout/server/order-service.js.map +1 -1
  105. package/dist/checkout/server/pricing.d.ts +164 -0
  106. package/dist/checkout/server/pricing.d.ts.map +1 -0
  107. package/dist/checkout/server/pricing.js +309 -0
  108. package/dist/checkout/server/pricing.js.map +1 -0
  109. package/dist/checkout/types.d.ts +8 -0
  110. package/dist/checkout/types.d.ts.map +1 -1
  111. package/dist/core/StoreSettingsProvider.d.ts +4 -0
  112. package/dist/core/StoreSettingsProvider.d.ts.map +1 -1
  113. package/dist/core/StoreSettingsProvider.js +6 -0
  114. package/dist/core/StoreSettingsProvider.js.map +1 -1
  115. package/dist/core/api/settings.d.ts +1 -0
  116. package/dist/core/api/settings.d.ts.map +1 -1
  117. package/dist/core/api/settings.js +2 -0
  118. package/dist/core/api/settings.js.map +1 -1
  119. package/dist/core/db/queries.d.ts +267 -19
  120. package/dist/core/db/queries.d.ts.map +1 -1
  121. package/dist/core/db/queries.js +297 -0
  122. package/dist/core/db/queries.js.map +1 -1
  123. package/dist/core/db/schema.d.ts +618 -0
  124. package/dist/core/db/schema.d.ts.map +1 -1
  125. package/dist/core/db/schema.js +78 -0
  126. package/dist/core/db/schema.js.map +1 -1
  127. package/package.json +5 -1
@@ -20,6 +20,7 @@ export const COMMON_COUNTRIES = [
20
20
  { code: 'FR', name: 'France' },
21
21
  { code: 'IT', name: 'Italy' },
22
22
  { code: 'ES', name: 'Spain' },
23
+ { code: 'PT', name: 'Portugal' },
23
24
  { code: 'NL', name: 'Netherlands' },
24
25
  { code: 'BE', name: 'Belgium' },
25
26
  { code: 'AT', name: 'Austria' },
@@ -29,10 +30,48 @@ export const COMMON_COUNTRIES = [
29
30
  { code: 'DK', name: 'Denmark' },
30
31
  { code: 'FI', name: 'Finland' },
31
32
  { code: 'IE', name: 'Ireland' },
33
+ { code: 'PL', name: 'Poland' },
32
34
  { code: 'NZ', name: 'New Zealand' },
33
35
  { code: 'JP', name: 'Japan' },
34
36
  { code: 'SG', name: 'Singapore' },
37
+ { code: 'AE', name: 'United Arab Emirates' },
38
+ { code: 'IN', name: 'India' },
39
+ { code: 'CN', name: 'China' },
40
+ { code: 'MX', name: 'Mexico' },
41
+ { code: 'BR', name: 'Brazil' },
42
+ { code: 'AR', name: 'Argentina' },
43
+ { code: 'ZA', name: 'South Africa' },
35
44
  ];
45
+ /**
46
+ * Country list ordered for a specific store: the store's home country first,
47
+ * then the rest of COMMON_COUNTRIES in their usual order. When the store
48
+ * country isn't in the list (rare — 'Other' merchants), an entry is
49
+ * synthesized from Intl.DisplayNames so the merchant's own country is always
50
+ * selectable. Pass null/undefined to get the plain list.
51
+ */
52
+ export function orderCountriesForStore(storeCountry) {
53
+ const base = COMMON_COUNTRIES.map((c) => ({
54
+ code: c.code,
55
+ name: c.name,
56
+ }));
57
+ const code = storeCountry?.trim().toUpperCase();
58
+ if (!code || !/^[A-Z]{2}$/.test(code))
59
+ return base;
60
+ const idx = base.findIndex((c) => c.code === code);
61
+ if (idx >= 0) {
62
+ const [own] = base.splice(idx, 1);
63
+ return [own, ...base];
64
+ }
65
+ // Store country not in the common list — synthesize an entry.
66
+ let name = code;
67
+ try {
68
+ name = new Intl.DisplayNames(['en'], { type: 'region' }).of(code) || code;
69
+ }
70
+ catch {
71
+ // Older runtimes without DisplayNames — the raw code is still usable.
72
+ }
73
+ return [{ code, name }, ...base];
74
+ }
36
75
  // =============================================================================
37
76
  // US States List
38
77
  // =============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/checkout/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE;IACrC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;IACtC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;IACjC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;IAC7B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;IAC7B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE;IACnC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE;IACnC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE;IACnC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;IAC7B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;CACzB,CAAA;AAIV,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;IAChC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE;IAClC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;IAChC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE;IACnC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;IAChC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;IAC7B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;IAChC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;IAChC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;IACjC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;IAC7B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;IAChC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE;IACrC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;IAChC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;IACjC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE;IACnC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;IAChC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;IAChC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE;IACrC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE;IAClC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE;IAClC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;IAChC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;IACtC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE;IACpC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;IAChC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE;IACpC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE;IACpC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;IACtC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE;IACpC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;IACjC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;IAC7B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;IAChC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE;IAClC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE;IACrC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;IACjC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE;CACpC,CAAA;AAIV,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAC7D,OAAO,OAAO,EAAE,IAAI,IAAI,IAAI,CAAA;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IACpD,OAAO,KAAK,EAAE,IAAI,IAAI,IAAI,CAAA;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,OAAO,WAAW,KAAK,IAAI,CAAA;AAC7B,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/checkout/constants.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCheckout.d.ts","sourceRoot":"","sources":["../../../src/checkout/hooks/useCheckout.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,EAGV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,UAAU,CAAA;AAMjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,iBAAiB,CAyM3E"}
1
+ {"version":3,"file":"useCheckout.d.ts","sourceRoot":"","sources":["../../../src/checkout/hooks/useCheckout.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,EAGV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,UAAU,CAAA;AAMjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,iBAAiB,CA2M3E"}
@@ -99,6 +99,7 @@ export function useCheckout(options) {
99
99
  shippingAddress: options?.shippingAddress,
100
100
  billingAddress: options?.billingAddress,
101
101
  selectedShipping: options?.selectedShipping,
102
+ discountCode: options?.discountCode,
102
103
  };
103
104
  // Call checkout API
104
105
  const response = await fetch('/api/checkout', {
@@ -177,6 +178,7 @@ export function useCheckout(options) {
177
178
  shippingAddress: options?.shippingAddress,
178
179
  billingAddress: options?.billingAddress,
179
180
  selectedShipping: options?.selectedShipping,
181
+ discountCode: options?.discountCode,
180
182
  metadata: mergedMetadata,
181
183
  // Double-submit protection: a stable-enough key per attempt window.
182
184
  idempotencyKey: typeof crypto !== 'undefined' && 'randomUUID' in crypto
@@ -1 +1 @@
1
- {"version":3,"file":"useCheckout.js","sourceRoot":"","sources":["../../../src/checkout/hooks/useCheckout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useCheckout.js","sourceRoot":"","sources":["../../../src/checkout/hooks/useCheckout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @rovela/sdk/checkout/server/checkout-customer
3
+ *
4
+ * Trusted customer identity for checkout routes.
5
+ *
6
+ * Checkout historically trusted a client-supplied `body.customerId`. That is
7
+ * a spoofable input on a money path: a request could attach an order to
8
+ * another customer's account (it would then appear in THEIR order history).
9
+ * This helper resolves the customer from the SESSION COOKIE server-side —
10
+ * the same NextAuth config the account area uses — and is the only identity
11
+ * checkout should trust.
12
+ *
13
+ * Unlike `requireCustomer()` (401 for guests), this resolver is OPTIONAL:
14
+ * guests resolve to `null` and checkout proceeds under the store's
15
+ * guest-checkout policy.
16
+ */
17
+ export interface TrustedCheckoutCustomer {
18
+ id: string;
19
+ email: string;
20
+ name: string | null;
21
+ /** Customer-group membership — drives group-gated methods/rates (Phase 4). */
22
+ groupId: string | null;
23
+ }
24
+ /**
25
+ * Resolve the customer behind the current request, or `null` for guests.
26
+ * NEVER throws — any session/DB failure degrades to guest treatment (the
27
+ * store's guest-checkout gate then decides whether the request proceeds).
28
+ */
29
+ export declare function resolveCheckoutCustomer(): Promise<TrustedCheckoutCustomer | null>;
30
+ //# sourceMappingURL=checkout-customer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout-customer.d.ts","sourceRoot":"","sources":["../../../src/checkout/server/checkout-customer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAsBvF"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @rovela/sdk/checkout/server/checkout-customer
3
+ *
4
+ * Trusted customer identity for checkout routes.
5
+ *
6
+ * Checkout historically trusted a client-supplied `body.customerId`. That is
7
+ * a spoofable input on a money path: a request could attach an order to
8
+ * another customer's account (it would then appear in THEIR order history).
9
+ * This helper resolves the customer from the SESSION COOKIE server-side —
10
+ * the same NextAuth config the account area uses — and is the only identity
11
+ * checkout should trust.
12
+ *
13
+ * Unlike `requireCustomer()` (401 for guests), this resolver is OPTIONAL:
14
+ * guests resolve to `null` and checkout proceeds under the store's
15
+ * guest-checkout policy.
16
+ */
17
+ import { getServerSession } from 'next-auth';
18
+ import { createCustomerAuthOptions } from '../../auth/config';
19
+ import { findCustomerById } from '../../core/db/queries';
20
+ /**
21
+ * Resolve the customer behind the current request, or `null` for guests.
22
+ * NEVER throws — any session/DB failure degrades to guest treatment (the
23
+ * store's guest-checkout gate then decides whether the request proceeds).
24
+ */
25
+ export async function resolveCheckoutCustomer() {
26
+ try {
27
+ const rawSession = await getServerSession(createCustomerAuthOptions());
28
+ const sessionUser = rawSession?.user;
29
+ if (!sessionUser?.id)
30
+ return null;
31
+ // Re-validate against the DB (orphan-JWT guard) + load the group.
32
+ const row = await findCustomerById(sessionUser.id);
33
+ if (!row)
34
+ return null;
35
+ return {
36
+ id: row.id,
37
+ email: row.email,
38
+ name: row.name ?? null,
39
+ groupId: row.groupId ?? null,
40
+ };
41
+ }
42
+ catch (err) {
43
+ console.error('[resolveCheckoutCustomer] session resolution failed:', err);
44
+ return null;
45
+ }
46
+ }
47
+ //# sourceMappingURL=checkout-customer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout-customer.js","sourceRoot":"","sources":["../../../src/checkout/server/checkout-customer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAUxD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,yBAAyB,EAAE,CAAC,CAAA;QACtE,MAAM,WAAW,GAAI,UAEZ,EAAE,IAAI,CAAA;QACf,IAAI,CAAC,WAAW,EAAE,EAAE;YAAE,OAAO,IAAI,CAAA;QAEjC,kEAAkE;QAClE,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QAErB,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;YACtB,OAAO,EAAG,GAAmC,CAAC,OAAO,IAAI,IAAI;SAC9D,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,GAAG,CAAC,CAAA;QAC1E,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-checkout-session.d.ts","sourceRoot":"","sources":["../../../src/checkout/server/create-checkout-session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAQhC,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,UAAU,CAAA;AAYjB,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAEhC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAiJD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,uBAAuB,CAAC,CA4alC;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,GACX,gBAAgB,EAAE,CAqBpB;AAMD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,CAoBzC"}
1
+ {"version":3,"file":"create-checkout-session.d.ts","sourceRoot":"","sources":["../../../src/checkout/server/create-checkout-session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAQhC,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,UAAU,CAAA;AAejB,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAEhC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAiJD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,uBAAuB,CAAC,CAskBlC;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,GACX,gBAAgB,EAAE,CAqBpB;AAMD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,CAoBzC"}
@@ -6,6 +6,8 @@
6
6
  */
7
7
  import { getStripe, getConnectedAccountId, calculateApplicationFee, getStoreCurrency, getAllowedShippingCountries, } from '../stripe/client';
8
8
  import { findSettings, findActiveShippingZones, findTaxRateForAddress, } from '../../core/db/queries';
9
+ import { repriceItems, resolveShippingSelection, PricingError } from './pricing';
10
+ import { evaluateDiscounts } from './discounts';
9
11
  // =============================================================================
10
12
  // Shipping Helpers
11
13
  // =============================================================================
@@ -176,9 +178,73 @@ export async function createCheckoutSession(request, options = {}) {
176
178
  if (!request.successUrl || !request.cancelUrl) {
177
179
  throw new Error('Success and cancel URLs are required');
178
180
  }
179
- // Calculate subtotal and application fee
180
- const subtotal = request.items.reduce((sum, item) => sum + item.price * item.quantity, 0);
181
- const appFee = applicationFeeAmount ?? calculateApplicationFee(subtotal);
181
+ // ==========================================================================
182
+ // SERVER RE-PRICE (pricing core) the client's prices are NOT the source
183
+ // of truth for money. Every line is re-priced from the catalog in 'floor'
184
+ // mode: a client price ABOVE the catalog price is accepted (configurator /
185
+ // add-on surcharges priced client-side); a client price BELOW it rejects
186
+ // the checkout (PricingError → 4xx in the route). The Stripe hosted page
187
+ // now only DISPLAYS and COLLECTS the amount we computed.
188
+ // ==========================================================================
189
+ const repriced = await repriceItems(request.items, 'floor');
190
+ const items = repriced.lines;
191
+ // Subtotal from SERVER-priced lines; application fee follows it.
192
+ const subtotal = repriced.subtotalCents;
193
+ // Server-validate the pre-selected shipping (manual zone rates are
194
+ // re-derived from the rate id — the server's price wins; Shippo quotes are
195
+ // sanity-bounded). Replaces the client-claimed price everywhere below.
196
+ let selectedShipping = request.selectedShipping;
197
+ if (selectedShipping && isShippingEnabled && collectShippingAddress) {
198
+ if (selectedShipping.source !== 'shippo' && !request.shippingAddress?.country) {
199
+ // Manual rates can't be re-derived without a destination country —
200
+ // bound the claimed price like a Shippo quote instead of trusting it.
201
+ const claimed = Number(selectedShipping.price);
202
+ if (!Number.isFinite(claimed) || claimed < 0 || claimed > 1_000_000) {
203
+ throw new Error('Invalid shipping selection');
204
+ }
205
+ }
206
+ else {
207
+ const resolved = await resolveShippingSelection({
208
+ selection: selectedShipping,
209
+ country: request.shippingAddress?.country ?? '',
210
+ subtotalCents: subtotal,
211
+ });
212
+ selectedShipping = {
213
+ ...selectedShipping,
214
+ price: resolved.shippingCents,
215
+ name: selectedShipping.name,
216
+ };
217
+ }
218
+ }
219
+ // ==========================================================================
220
+ // NATIVE DISCOUNTS (pricing core, step 2) — evaluated in OUR infrastructure
221
+ // before Stripe sees anything. The applied amount reaches the hosted page
222
+ // as an ephemeral one-off Stripe coupon (display + collection only). An
223
+ // entered code that fails validation rejects the checkout (the UI
224
+ // pre-validates via /api/checkout/discount, so this is a stale/tampered
225
+ // submission).
226
+ // ==========================================================================
227
+ const discountEvaluation = await evaluateDiscounts({
228
+ lines: items,
229
+ subtotalCents: subtotal,
230
+ categoryByProductId: repriced.categoryByProductId,
231
+ code: request.discountCode ?? null,
232
+ customerId: request.customerId ?? null,
233
+ customerGroupId: request.customerGroupId ?? null,
234
+ customerEmail: request.customerEmail ?? null,
235
+ });
236
+ if (request.discountCode && discountEvaluation.codeError) {
237
+ throw new PricingError(discountEvaluation.codeError.message);
238
+ }
239
+ const discountCents = Math.min(discountEvaluation.discountCents, subtotal);
240
+ const appliedDiscounts = discountEvaluation.applied;
241
+ // A free-shipping discount zeroes the (already validated) shipping price
242
+ // while keeping the chosen method — the shipping line renders at 0.
243
+ if (discountEvaluation.freeShipping && selectedShipping && selectedShipping.price > 0) {
244
+ selectedShipping = { ...selectedShipping, price: 0 };
245
+ }
246
+ // Application fee follows the DISCOUNTED goods value.
247
+ const appFee = applicationFeeAmount ?? calculateApplicationFee(subtotal - discountCents);
182
248
  // ==========================================================================
183
249
  // Zone-Based Tax Calculation
184
250
  // ==========================================================================
@@ -205,10 +271,10 @@ export async function createCheckoutSession(request, options = {}) {
205
271
  // Determine tax handling mode
206
272
  const shouldExtractTax = taxIncludedInPrices && taxRate > 0; // Prices include tax - extract it
207
273
  const shouldAddTax = !taxIncludedInPrices && taxRate > 0; // Prices exclude tax - add it on top
208
- // Build line items for Stripe
274
+ // Build line items for Stripe from the SERVER-priced lines.
209
275
  // When extracting tax (tax-inclusive prices): send pre-tax prices
210
276
  // When adding tax (tax-exclusive prices) or no tax: send prices as-is
211
- const lineItems = request.items.map((item) => {
277
+ const lineItems = items.map((item) => {
212
278
  // Calculate the price to send to Stripe
213
279
  const displayPrice = shouldExtractTax
214
280
  ? Math.round(item.price / taxDivisor) // Pre-tax price (tax will be shown separately)
@@ -285,8 +351,8 @@ export async function createCheckoutSession(request, options = {}) {
285
351
  // When selectedShipping is provided, we add shipping as a line item
286
352
  // instead of showing shipping_options for customer to choose from.
287
353
  // This ensures the pre-checkout flow selection is locked in.
288
- if (request.selectedShipping && shouldCollectShipping) {
289
- const selectedShipping = request.selectedShipping;
354
+ // (`selectedShipping` was server-validated above — its price is ours.)
355
+ if (selectedShipping && shouldCollectShipping) {
290
356
  // Apply same tax extraction logic to shipping (if shipping is tax-inclusive)
291
357
  const shippingDisplayPrice = shouldExtractTax
292
358
  ? Math.round(selectedShipping.price / taxDivisor)
@@ -442,8 +508,11 @@ export async function createCheckoutSession(request, options = {}) {
442
508
  enabled: true,
443
509
  };
444
510
  }
445
- // Allow promotion codes if enabled
446
- if (allowPromotionCodes) {
511
+ // LEGACY hosted-page promotion codes. Mutually exclusive with the native
512
+ // discounts engine: when any native discount applied, `discounts` is set on
513
+ // the session below and Stripe rejects the combination — codes are entered
514
+ // in OUR checkout now.
515
+ if (allowPromotionCodes && appliedDiscounts.length === 0) {
447
516
  sessionParams.allow_promotion_codes = true;
448
517
  }
449
518
  // ==========================================================================
@@ -514,6 +583,77 @@ export async function createCheckoutSession(request, options = {}) {
514
583
  };
515
584
  }
516
585
  }
586
+ // ==========================================================================
587
+ // Native discount → ephemeral Stripe coupon + authoritative-totals stamp
588
+ // ==========================================================================
589
+ // When the session's money is fully deterministic server-side (pre-selected
590
+ // shipping, or a no-shipping store), stamp OUR computed totals on the
591
+ // session. The webhook records the order from THESE numbers — Stripe's
592
+ // amounts become a cross-check, not the source of truth. The standard flow
593
+ // (shipping chosen on the hosted page) stays on Stripe-derived amounts.
594
+ const quoteShippingCents = selectedShipping && shouldCollectShipping ? selectedShipping.price : 0;
595
+ const isDeterministicQuote = (selectedShipping && shouldCollectShipping) || !shouldCollectShipping;
596
+ if (isDeterministicQuote) {
597
+ // Canonical (recorded) tax: computed on the DISCOUNTED base — the
598
+ // session's tax line was computed pre-discount, so re-derive here with
599
+ // the same rate. Inclusive stores: display-only extraction.
600
+ const discountedBase = subtotal - discountCents + quoteShippingCents;
601
+ const canonicalTaxCents = taxRate > 0
602
+ ? taxIncludedInPrices
603
+ ? Math.round(discountedBase - discountedBase / (1 + taxRate / 100))
604
+ : Math.round(discountedBase * (taxRate / 100))
605
+ : 0;
606
+ const quoteTotal = taxIncludedInPrices
607
+ ? discountedBase
608
+ : discountedBase + canonicalTaxCents;
609
+ // The hosted page shows our discount as a one-off coupon whose amount is
610
+ // EXACTLY lineSum − quoteTotal, so the charged total equals the quote by
611
+ // construction (this also absorbs the tax-on-discount adjustment in
612
+ // tax-exclusive stores).
613
+ if (discountCents > 0) {
614
+ const lineSum = lineItems.reduce((sum, li) => sum +
615
+ ((li.price_data?.unit_amount || 0) *
616
+ (li.quantity || 1)), 0);
617
+ const couponAmountOff = lineSum - quoteTotal;
618
+ if (couponAmountOff > 0) {
619
+ const couponLabel = appliedDiscounts.find((d) => d.code)?.code ||
620
+ appliedDiscounts[0]?.title ||
621
+ 'Discount';
622
+ const coupon = await stripe.coupons.create({
623
+ amount_off: couponAmountOff,
624
+ currency,
625
+ duration: 'once',
626
+ name: couponLabel.slice(0, 40),
627
+ }, { stripeAccount: connectedAccountId });
628
+ sessionParams.discounts = [{ coupon: coupon.id }];
629
+ // Stripe rejects allow_promotion_codes together with discounts.
630
+ delete sessionParams.allow_promotion_codes;
631
+ }
632
+ }
633
+ sessionParams.metadata = {
634
+ ...sessionParams.metadata,
635
+ rovelaTotals: JSON.stringify({
636
+ v: 1,
637
+ subtotal,
638
+ discount: discountCents,
639
+ shipping: quoteShippingCents,
640
+ tax: canonicalTaxCents,
641
+ total: quoteTotal,
642
+ }),
643
+ // Applied-discount snapshot for webhook redemption recording. Compact
644
+ // (id + code + net amount); metadata values cap at 500 chars.
645
+ ...(appliedDiscounts.length > 0 && {
646
+ rovelaDiscounts: JSON.stringify(appliedDiscounts.map((d) => ({
647
+ id: d.id,
648
+ c: d.code,
649
+ a: d.amountCents,
650
+ }))).slice(0, 500),
651
+ ...(appliedDiscounts.find((d) => d.code)?.code && {
652
+ rovelaDiscountCode: appliedDiscounts.find((d) => d.code).code,
653
+ }),
654
+ }),
655
+ };
656
+ }
517
657
  // Create the session ON the connected account (Direct Charge)
518
658
  const session = await stripe.checkout.sessions.create(sessionParams, {
519
659
  stripeAccount: connectedAccountId,
@@ -1 +1 @@
1
- {"version":3,"file":"create-checkout-session.js","sourceRoot":"","sources":["../../../src/checkout/server/create-checkout-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-checkout-session.js","sourceRoot":"","sources":["../../../src/checkout/server/create-checkout-session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAA;AAMzB,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAyC/C,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;GAGG;AACH,KAAK,UAAU,gCAAgC;IAC7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAA;QACrC,IAAI,QAAQ,EAAE,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzE,OAAO,QAAQ,CAAC,iBAAiB,CAAA;QACnC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,4EAA4E,EAAE,KAAK,CAAC,CAAA;IACnG,CAAC;IACD,mCAAmC;IACnC,OAAO,2BAA2B,EAAE,CAAA;AACtC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,0BAA0B,CACjC,KAA8B,EAC9B,gBAAwB,EACxB,QAAgB;IAEhB,MAAM,OAAO,GAAyD,EAAE,CAAA;IACxE,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,GAAG,CAAA;IAEjD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,qCAAqC;YACrC,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC7E,SAAQ;YACV,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC7E,SAAQ;YACV,CAAC;YAED,yFAAyF;YACzF,IAAI,gBAAkH,CAAA;YAEtH,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,kFAAkF;gBAClF,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBACnD,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;oBAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;oBAE7E,gBAAgB,GAAG;wBACjB,OAAO,EAAE;4BACP,IAAI,EAAE,cAAc;4BACpB,KAAK,EAAE,OAAO;yBACf;wBACD,OAAO,EAAE;4BACP,IAAI,EAAE,cAAc;4BACpB,KAAK,EAAE,OAAO;yBACf;qBACF,CAAA;gBACH,CAAC;YACH,CAAC;YAED,sCAAsC;YACtC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;YAEjD,OAAO,CAAC,IAAI,CAAC;gBACX,kBAAkB,EAAE;oBAClB,IAAI,EAAE,cAAc;oBACpB,YAAY,EAAE;wBACZ,MAAM,EAAE,YAAY;wBACpB,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE;qBACjC;oBACD,YAAY,EAAE,IAAI,CAAC,IAAI;oBACvB,iBAAiB,EAAE,gBAAgB;oBACnC,QAAQ,EAAE;wBACR,MAAM,EAAE,IAAI,CAAC,EAAE;wBACf,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,MAAM,EAAE,IAAI,CAAC,EAAE;qBAChB;iBACF;aACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,gBAAgB,CAAC,GAAuB;IAC/C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IAErD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAE1B,0EAA0E;IAC1E,yBAAyB;IACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IAEpD,IAAI,CAAC;QACH,wEAAwE;QACxE,wEAAwE;QACxE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;QAClC,qEAAqE;QACrE,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;QAChE,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAA+B,EAC/B,UAAwC,EAAE;IAE1C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAA;IAElD,kDAAkD;IAClD,MAAM,aAAa,GAAG,MAAM,YAAY,EAAE,CAAA;IAE1C,gDAAgD;IAChD,MAAM,QAAQ,GAAG,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,gBAAgB,EAAE,CAAA;IAElF,oEAAoE;IACpE,MAAM,2BAA2B,GAAG,aAAa,EAAE,qBAAqB,IAAI,KAAK,CAAA;IAEjF,MAAM,EACJ,sBAAsB,GAAG,IAAI,EAC7B,eAAe,EAAE,uBAAuB,EACxC,kBAAkB,GAAG,KAAK,EAC1B,mBAAmB,GAAG,2BAA2B,EACjD,oBAAoB,GACrB,GAAG,OAAO,CAAA;IAEX,2EAA2E;IAC3E,MAAM,iBAAiB,GAAG,uBAAuB,IAAI,aAAa,EAAE,eAAe,IAAI,IAAI,CAAA;IAE3F,0EAA0E;IAC1E,MAAM,qBAAqB,GAAG,iBAAiB,IAAI,sBAAsB,CAAA;IAEzE,mBAAmB;IACnB,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACzD,CAAC;IAED,6EAA6E;IAC7E,0EAA0E;IAC1E,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,yEAAyE;IACzE,yDAAyD;IACzD,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IAE5B,iEAAiE;IACjE,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAA;IAEvC,mEAAmE;IACnE,2EAA2E;IAC3E,uEAAuE;IACvE,IAAI,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;IAC/C,IAAI,gBAAgB,IAAI,iBAAiB,IAAI,sBAAsB,EAAE,CAAC;QACpE,IAAI,gBAAgB,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;YAC9E,mEAAmE;YACnE,sEAAsE;YACtE,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;gBACpE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC;gBAC9C,SAAS,EAAE,gBAAgB;gBAC3B,OAAO,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,IAAI,EAAE;gBAC/C,aAAa,EAAE,QAAQ;aACxB,CAAC,CAAA;YACF,gBAAgB,GAAG;gBACjB,GAAG,gBAAgB;gBACnB,KAAK,EAAE,QAAQ,CAAC,aAAa;gBAC7B,IAAI,EAAE,gBAAgB,CAAC,IAAI;aAC5B,CAAA;QACH,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,wEAAwE;IACxE,kEAAkE;IAClE,wEAAwE;IACxE,eAAe;IACf,6EAA6E;IAC7E,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,CAAC;QACjD,KAAK,EAAE,KAAK;QACZ,aAAa,EAAE,QAAQ;QACvB,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;QACjD,IAAI,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;QACtC,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;QAChD,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;KAC7C,CAAC,CAAA;IACF,IAAI,OAAO,CAAC,YAAY,IAAI,kBAAkB,CAAC,SAAS,EAAE,CAAC;QACzD,MAAM,IAAI,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC9D,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;IAC1E,MAAM,gBAAgB,GAAsB,kBAAkB,CAAC,OAAO,CAAA;IAEtE,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,kBAAkB,CAAC,YAAY,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACtF,gBAAgB,GAAG,EAAE,GAAG,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;IACtD,CAAC;IAED,sDAAsD;IACtD,MAAM,MAAM,GAAG,oBAAoB,IAAI,uBAAuB,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAA;IAExF,6EAA6E;IAC7E,6BAA6B;IAC7B,6EAA6E;IAC7E,8EAA8E;IAC9E,wEAAwE;IACxE,EAAE;IACF,6DAA6D;IAC7D,qEAAqE;IACrE,+CAA+C;IAC/C,EAAE;IACF,kFAAkF;IAClF,6EAA6E;IAE7E,gDAAgD;IAChD,MAAM,mBAAmB,GAAG,aAAa,EAAE,mBAAmB,IAAI,IAAI,CAAA;IAEtE,+CAA+C;IAC/C,IAAI,QAAQ,GAAwB,IAAI,CAAA;IACxC,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,QAAQ,GAAG,MAAM,qBAAqB,CACpC,OAAO,CAAC,eAAe,CAAC,OAAO,EAC/B,OAAO,CAAC,eAAe,CAAC,KAAK,CAC9B,CAAA;QACD,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,CAAC,CAAA;IAClC,CAAC;IAED,sEAAsE;IACtE,MAAM,UAAU,GAAG,CAAC,mBAAmB,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAEjF,8BAA8B;IAC9B,MAAM,gBAAgB,GAAG,mBAAmB,IAAI,OAAO,GAAG,CAAC,CAAA,CAAE,kCAAkC;IAC/F,MAAM,YAAY,GAAG,CAAC,mBAAmB,IAAI,OAAO,GAAG,CAAC,CAAA,CAAK,qCAAqC;IAElG,4DAA4D;IAC5D,kEAAkE;IAClE,sEAAsE;IACtE,MAAM,SAAS,GACb,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACjB,wCAAwC;QACxC,MAAM,YAAY,GAAG,gBAAgB;YACnC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,CAAE,+CAA+C;YACtF,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA,CAA4B,2CAA2C;QAErF,gEAAgE;QAChE,kEAAkE;QAClE,oDAAoD;QACpD,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAE9C,OAAO;YACL,UAAU,EAAE;gBACV,QAAQ;gBACR,YAAY,EAAE;oBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC3C,kEAAkE;oBAClE,+DAA+D;oBAC/D,mEAAmE;oBACnE,iEAAiE;oBACjE,uCAAuC;oBACvC,QAAQ,EAAE;wBACR,+DAA+D;wBAC/D,uCAAuC;wBACvC,WAAW,EAAE,SAAS;wBACtB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;wBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;wBAC/B,kEAAkE;wBAClE,2DAA2D;wBAC3D,oEAAoE;wBACpE,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;qBAClC;iBACF;gBACD,WAAW,EAAE,YAAY;aAC1B;YACD,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,6EAA6E;IAC7E,IAAI,aAAa,GAAG,QAAQ,CAAA,CAAE,uCAAuC;IAErE,2BAA2B;IAC3B,MAAM,aAAa,GAAwC;QACzD,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,SAAS;QACrB,mBAAmB,EAAE;YACnB,gDAAgD;YAChD,sBAAsB,EAAE,MAAM;YAC9B,kCAAkC;YAClC,QAAQ,EAAE;gBACR,eAAe,EAAE,MAAM;gBACvB,GAAG,OAAO,CAAC,QAAQ;aACpB;SACF;QACD,WAAW,EAAE,OAAO,CAAC,UAAU;QAC/B,UAAU,EAAE,OAAO,CAAC,SAAS;QAC7B,iCAAiC;QACjC,4EAA4E;QAC5E,uEAAuE;QACvE,mEAAmE;QACnE,oEAAoE;QACpE,gDAAgD;QAChD,QAAQ,EAAE;YACR,+CAA+C;YAC/C,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;YAC7D,GAAG,OAAO,CAAC,QAAQ;SACpB;KACF,CAAA;IAED,iCAAiC;IACjC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,aAAa,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAA;IACtD,CAAC;IAED,6EAA6E;IAC7E,iDAAiD;IACjD,6EAA6E;IAC7E,oEAAoE;IACpE,mEAAmE;IACnE,6DAA6D;IAC7D,uEAAuE;IACvE,IAAI,gBAAgB,IAAI,qBAAqB,EAAE,CAAC;QAC9C,6EAA6E;QAC7E,MAAM,oBAAoB,GAAG,gBAAgB;YAC3C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,GAAG,UAAU,CAAC;YACjD,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAA;QAE1B,oDAAoD;QACpD,aAAa,IAAI,gBAAgB,CAAC,KAAK,CAAA;QAEvC,sDAAsD;QACtD,SAAS,CAAC,IAAI,CAAC;YACb,UAAU,EAAE;gBACV,QAAQ;gBACR,YAAY,EAAE;oBACZ,IAAI,EAAE,cAAc,gBAAgB,CAAC,WAAW,IAAI,UAAU,IAAI,gBAAgB,CAAC,IAAI,EAAE;oBACzF,WAAW,EAAE,gBAAgB,CAAC,WAAW,IAAI,gBAAgB,CAAC,aAAa,IAAI,SAAS;oBACxF,QAAQ,EAAE;wBACR,gBAAgB,EAAE,gBAAgB,CAAC,EAAE;wBACrC,cAAc,EAAE,gBAAgB,CAAC,MAAM;wBACvC,WAAW,EAAE,gBAAgB,CAAC,WAAW,IAAI,EAAE;wBAC/C,WAAW,EAAE,gBAAgB,CAAC,WAAW,IAAI,EAAE;wBAC/C,SAAS,EAAE,gBAAgB,CAAC,SAAS,IAAI,EAAE;qBAC5C;iBACF;gBACD,WAAW,EAAE,oBAAoB;aAClC;YACD,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAA;QAEF,iEAAiE;QACjE,aAAa,CAAC,QAAQ,GAAG;YACvB,GAAG,aAAa,CAAC,QAAQ;YACzB,kBAAkB,EAAE,gBAAgB,CAAC,EAAE;YACvC,oBAAoB,EAAE,GAAG,gBAAgB,CAAC,WAAW,IAAI,UAAU,MAAM,gBAAgB,CAAC,IAAI,EAAE;YAChG,qBAAqB,EAAE,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;YACrD,sBAAsB,EAAE,gBAAgB,CAAC,MAAM;YAC/C,uFAAuF;YACvF,GAAG,CAAC,CAAC,gBAAgB,CAAC,SAAS,IAAI,gBAAgB,CAAC,WAAW,CAAC,IAAI;gBAClE,yBAAyB,EAAE,gBAAgB,CAAC,SAAS,IAAI,gBAAgB,CAAC,WAAW,IAAI,EAAE;aAC5F,CAAC;SACH,CAAA;QAED,qFAAqF;QACrF,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,CAAA;YACpC,aAAa,CAAC,QAAQ,GAAG;gBACvB,GAAG,aAAa,CAAC,QAAQ;gBACzB,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC;oBAClC,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;oBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;iBACxB,CAAC;aACH,CAAA;QACH,CAAC;QAED,4EAA4E;QAC5E,2EAA2E;QAC3E,6CAA6C;QAC7C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAA;YAChC,aAAa,CAAC,QAAQ,GAAG;gBACvB,GAAG,aAAa,CAAC,QAAQ;gBACzB,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjC,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;oBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;iBACrB,CAAC;aACH,CAAA;QACH,CAAC;QAED,8DAA8D;QAC9D,0CAA0C;QAC1C,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YAC7B,MAAM,iBAAiB,GAAG,MAAM,gCAAgC,EAAE,CAAA;YAClE,aAAa,CAAC,2BAA2B,GAAG;gBAC1C,iBAAiB,EAAE,iBAAmG;aACvH,CAAA;QACH,CAAC;IACH,CAAC;SAAM,IAAI,qBAAqB,EAAE,CAAC;QACjC,6EAA6E;QAC7E,iEAAiE;QACjE,6EAA6E;QAC7E,oEAAoE;QACpE,MAAM,iBAAiB,GAAG,MAAM,gCAAgC,EAAE,CAAA;QAElE,aAAa,CAAC,2BAA2B,GAAG;YAC1C,iBAAiB,EAAE,iBAAmG;SACvH,CAAA;QAED,0EAA0E;QAC1E,MAAM,YAAY,GAAG,aAAa,EAAE,YAAY,IAAI,QAAQ,CAAA;QAE5D,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9B,0EAA0E;YAC1E,uEAAuE;YACvE,0EAA0E;YAC1E,uEAAuE;YACvE,wEAAwE;YACxE,wEAAwE;YACxE,iEAAiE;YACjE,EAAE;YACF,sEAAsE;YACtE,mEAAmE;YACnE,aAAa,CAAC,gBAAgB,GAAG;gBAC/B;oBACE,kBAAkB,EAAE;wBAClB,IAAI,EAAE,cAAc;wBACpB,YAAY,EAAE;4BACZ,MAAM,EAAE,CAAC;4BACT,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE;yBACjC;wBACD,YAAY,EAAE,UAAU;wBACxB,iBAAiB,EAAE;4BACjB,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE;4BAC3C,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE;yBAC5C;wBACD,QAAQ,EAAE;4BACR,YAAY,EAAE,QAAQ;4BACtB,IAAI,EAAE,yCAAyC;yBAChD;qBACF;iBACF;aACF,CAAA;QACH,CAAC;aAAM,CAAC;YACN,0EAA0E;YAC1E,2DAA2D;YAC3D,0EAA0E;YAC1E,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,uBAAuB,EAAE,CAAA;gBAC7C,8DAA8D;gBAC9D,oEAAoE;gBACpE,gEAAgE;gBAChE,oEAAoE;gBACpE,iEAAiE;gBACjE,MAAM,eAAe,GAAG,0BAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;gBAE7E,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,aAAa,CAAC,gBAAgB,GAAG,eAAe,CAAA;gBAClD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,oEAAoE;gBACpE,OAAO,CAAC,IAAI,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAA;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,IAAI,kBAAkB,EAAE,CAAC;QACvB,aAAa,CAAC,uBAAuB,GAAG;YACtC,OAAO,EAAE,IAAI;SACd,CAAA;IACH,CAAC;IAED,yEAAyE;IACzE,4EAA4E;IAC5E,2EAA2E;IAC3E,uBAAuB;IACvB,IAAI,mBAAmB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,aAAa,CAAC,qBAAqB,GAAG,IAAI,CAAA;IAC5C,CAAC;IAED,6EAA6E;IAC7E,iCAAiC;IACjC,6EAA6E;IAC7E,2DAA2D;IAC3D,EAAE;IACF,oCAAoC;IACpC,yCAAyC;IACzC,iEAAiE;IACjE,iEAAiE;IACjE,EAAE;IACF,gCAAgC;IAChC,iCAAiC;IACjC,0CAA0C;IAC1C,uDAAuD;IAEvD,IAAI,gBAAgB,EAAE,CAAC;QACrB,yCAAyC;QACzC,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAE,IAAI,CAAC,UAAuC,EAAE,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,EAC7G,CAAC,CACF,CAAA;QAED,2EAA2E;QAC3E,MAAM,kBAAkB,GAAG,aAAa,GAAG,WAAW,CAAA;QAEtD,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,IAAI,CAAC;gBACb,UAAU,EAAE;oBACV,QAAQ;oBACR,YAAY,EAAE;wBACZ,IAAI,EAAE,KAAK;wBACX,WAAW,EAAE,GAAG,OAAO,OAAO,QAAQ,EAAE,QAAQ,IAAI,WAAW,EAAE;qBAClE;oBACD,WAAW,EAAE,kBAAkB;iBAChC;gBACD,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAA;YAEF,wDAAwD;YACxD,aAAa,CAAC,QAAQ,GAAG;gBACvB,GAAG,aAAa,CAAC,QAAQ;gBACzB,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE;gBACjC,WAAW,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE;gBACrC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;gBACxB,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC;gBACrC,mBAAmB,EAAE,MAAM;aAC5B,CAAA;QACH,CAAC;IACH,CAAC;SAAM,IAAI,YAAY,EAAE,CAAC;QACxB,0CAA0C;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAA;QAE7D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,SAAS,CAAC,IAAI,CAAC;gBACb,UAAU,EAAE;oBACV,QAAQ;oBACR,YAAY,EAAE;wBACZ,IAAI,EAAE,KAAK;wBACX,WAAW,EAAE,GAAG,OAAO,OAAO,QAAQ,EAAE,QAAQ,IAAI,WAAW,EAAE;qBAClE;oBACD,WAAW,EAAE,SAAS;iBACvB;gBACD,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAA;YAEF,wDAAwD;YACxD,aAAa,CAAC,QAAQ,GAAG;gBACvB,GAAG,aAAa,CAAC,QAAQ;gBACzB,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE;gBACjC,WAAW,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE;gBACrC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;gBACxB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;gBAC5B,mBAAmB,EAAE,OAAO;aAC7B,CAAA;QACH,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,yEAAyE;IACzE,6EAA6E;IAC7E,4EAA4E;IAC5E,sEAAsE;IACtE,uEAAuE;IACvE,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,kBAAkB,GACtB,gBAAgB,IAAI,qBAAqB,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACxE,MAAM,oBAAoB,GACxB,CAAC,gBAAgB,IAAI,qBAAqB,CAAC,IAAI,CAAC,qBAAqB,CAAA;IAEvE,IAAI,oBAAoB,EAAE,CAAC;QACzB,kEAAkE;QAClE,uEAAuE;QACvE,4DAA4D;QAC5D,MAAM,cAAc,GAAG,QAAQ,GAAG,aAAa,GAAG,kBAAkB,CAAA;QACpE,MAAM,iBAAiB,GACrB,OAAO,GAAG,CAAC;YACT,CAAC,CAAC,mBAAmB;gBACnB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,cAAc,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC;gBACnE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC,CAAA;QACP,MAAM,UAAU,GAAG,mBAAmB;YACpC,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,cAAc,GAAG,iBAAiB,CAAA;QAEtC,yEAAyE;QACzE,yEAAyE;QACzE,oEAAoE;QACpE,yBAAyB;QACzB,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAC9B,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CACV,GAAG;gBACH,CAAC,CAAE,EAAE,CAAC,UAAuC,EAAE,WAAW,IAAI,CAAC,CAAC;oBAC9D,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,EACvB,CAAC,CACF,CAAA;YACD,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,CAAA;YAC5C,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,WAAW,GACf,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI;oBAC1C,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK;oBAC1B,UAAU,CAAA;gBACZ,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CACxC;oBACE,UAAU,EAAE,eAAe;oBAC3B,QAAQ;oBACR,QAAQ,EAAE,MAAM;oBAChB,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;iBAC/B,EACD,EAAE,aAAa,EAAE,kBAAkB,EAAE,CACtC,CAAA;gBACD,aAAa,CAAC,SAAS,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;gBACjD,gEAAgE;gBAChE,OAAO,aAAa,CAAC,qBAAqB,CAAA;YAC5C,CAAC;QACH,CAAC;QAED,aAAa,CAAC,QAAQ,GAAG;YACvB,GAAG,aAAa,CAAC,QAAQ;YACzB,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC3B,CAAC,EAAE,CAAC;gBACJ,QAAQ;gBACR,QAAQ,EAAE,aAAa;gBACvB,QAAQ,EAAE,kBAAkB;gBAC5B,GAAG,EAAE,iBAAiB;gBACtB,KAAK,EAAE,UAAU;aAClB,CAAC;YACF,sEAAsE;YACtE,8DAA8D;YAC9D,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI;gBACjC,eAAe,EAAE,IAAI,CAAC,SAAS,CAC7B,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC3B,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,CAAC,EAAE,CAAC,CAAC,IAAI;oBACT,CAAC,EAAE,CAAC,CAAC,WAAW;iBACjB,CAAC,CAAC,CACJ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBACf,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI;oBAChD,kBAAkB,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAE,CAAC,IAAc;iBACzE,CAAC;aACH,CAAC;SACH,CAAA;IACH,CAAC;IAED,8DAA8D;IAC9D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE;QACnE,aAAa,EAAE,kBAAkB;KAClC,CAAC,CAAA;IAEF,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IACvE,CAAC;IAED,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAA;AACH,CAAC;AAED,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAY;IAEZ,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAM3B,CAAA;QAEF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,SAAS,EAAE,IAAI,CAAC,GAAG;YACnB,SAAS,EAAE,IAAI,CAAC,GAAG;YACnB,IAAI,EAAE,IAAI,CAAC,CAAC;YACZ,KAAK,EAAE,IAAI,CAAC,CAAC;YACb,QAAQ,EAAE,IAAI,CAAC,CAAC;SACjB,CAAC,CAAC,CAAA;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,IAAI,CAAC,CAAA;QACtE,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB;IAEjB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAA;IAElD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CACrD,SAAS,EACT;YACE,MAAM,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,UAAU,CAAC;SACrD,EACD;YACE,aAAa,EAAE,kBAAkB;SAClC,CACF,CAAA;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAA;QAC9D,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @rovela/sdk/checkout/server/discounts
3
+ *
4
+ * The native discount EVALUATOR — step 2 of the pricing core.
5
+ *
6
+ * Given the server-priced cart lines and the (trusted) customer context, it
7
+ * decides which discounts apply and how much they take off. It runs
8
+ * identically for every payment path (Stripe, manual methods, future
9
+ * providers) because it operates BEFORE any processor is involved.
10
+ *
11
+ * Model (see schema.ts `discounts`):
12
+ * - `automatic` discounts are always candidates; a `code` discount is a
13
+ * candidate only when the shopper entered its code.
14
+ * - Each discount belongs to a CLASS — product / order / shipping — and
15
+ * carries per-class `combinesWith` flags. A set of discounts can coexist
16
+ * only when every PAIR allows the other's class (Shopify's model, without
17
+ * Shopify's caps).
18
+ * - Resolution is deterministic: the entered code is honored first (the
19
+ * shopper asked for it), then automatic discounts are added greedily in
20
+ * descending amount order while pairwise-compatible. One shipping-class
21
+ * discount at most (a shipping rate can't be discounted twice).
22
+ * - The cumulative product+order discount is clamped to the subtotal.
23
+ *
24
+ * Validation per candidate: enabled → schedule → eligibility (all /
25
+ * logged_in / groups) → scoped minimums (min subtotal / quantity count only
26
+ * the items in scope, like Shopify) → usage limit → once-per-customer.
27
+ * Automatic discounts failing a check are silently skipped; a failing CODE
28
+ * reports a friendly `codeError` for the checkout UI.
29
+ */
30
+ import type { Discount } from '../../core/db/schema';
31
+ import type { CheckoutLineItem } from '../types';
32
+ export type DiscountClass = 'product' | 'order' | 'shipping';
33
+ export interface AppliedDiscount {
34
+ id: string;
35
+ title: string;
36
+ /** The redemption code (null for automatic discounts). */
37
+ code: string | null;
38
+ method: 'code' | 'automatic';
39
+ type: string;
40
+ discountClass: DiscountClass;
41
+ /** Amount taken off the products/order, in cents (0 for free shipping). */
42
+ amountCents: number;
43
+ /** True when this discount zeroes the shipping cost. */
44
+ freeShipping: boolean;
45
+ }
46
+ export interface DiscountCodeError {
47
+ reason: 'INVALID_CODE' | 'EXPIRED' | 'NOT_ELIGIBLE' | 'MINIMUM_NOT_MET' | 'USAGE_LIMIT_REACHED' | 'ALREADY_USED' | 'NOT_APPLICABLE';
48
+ message: string;
49
+ }
50
+ export interface DiscountEvaluation {
51
+ /** Total product+order discount in cents (≤ subtotal). */
52
+ discountCents: number;
53
+ /** True when an applied discount zeroes shipping. */
54
+ freeShipping: boolean;
55
+ applied: AppliedDiscount[];
56
+ /** Set when an entered code could not be applied (checkout UI copy). */
57
+ codeError?: DiscountCodeError;
58
+ }
59
+ export interface DiscountEvaluationContext {
60
+ lines: CheckoutLineItem[];
61
+ subtotalCents: number;
62
+ /** productId → categoryId (from re-pricing) for category-scoped discounts. */
63
+ categoryByProductId?: Record<string, string | null>;
64
+ /** The code the shopper entered ('' / null = none). */
65
+ code?: string | null;
66
+ /** Trusted (session-resolved) customer — never client-claimed. */
67
+ customerId?: string | null;
68
+ customerGroupId?: string | null;
69
+ /** Contact email (order-time once-per-customer check for guests). */
70
+ customerEmail?: string | null;
71
+ now?: Date;
72
+ }
73
+ export declare function discountClassOf(d: Pick<Discount, 'type' | 'appliesTo'>): DiscountClass;
74
+ export declare function evaluateDiscounts(ctx: DiscountEvaluationContext): Promise<DiscountEvaluation>;
75
+ //# sourceMappingURL=discounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discounts.d.ts","sourceRoot":"","sources":["../../../src/checkout/server/discounts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAOH,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,sBAAsB,CAAA;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAMhD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAA;AAE5D,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,0DAA0D;IAC1D,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,WAAW,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,aAAa,CAAA;IAC5B,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IACnB,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EACF,cAAc,GACd,SAAS,GACT,cAAc,GACd,iBAAiB,GACjB,qBAAqB,GACrB,cAAc,GACd,gBAAgB,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAA;IACrB,qDAAqD;IACrD,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,wEAAwE;IACxE,SAAS,CAAC,EAAE,iBAAiB,CAAA;CAC9B;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,8EAA8E;IAC9E,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;IACnD,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,GAAG,CAAC,EAAE,IAAI,CAAA;CACX;AAMD,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG,aAAa,CAItF;AA+LD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,yBAAyB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAuG7B"}