autumn-js 0.1.21 → 0.1.23

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 (213) hide show
  1. package/dist/libraries/backend/better-auth.d.mts +28 -28
  2. package/dist/libraries/backend/better-auth.d.ts +28 -28
  3. package/dist/libraries/backend/better-auth.js +27 -1
  4. package/dist/libraries/backend/better-auth.mjs +7 -7
  5. package/dist/libraries/backend/{chunk-PN4KP454.mjs → chunk-4LVRQN5R.mjs} +25 -0
  6. package/dist/libraries/backend/{chunk-QSWG2M5T.mjs → chunk-7PLQK5LL.mjs} +1 -1
  7. package/dist/libraries/backend/{chunk-6QFLAHJ4.mjs → chunk-DMPRLFPO.mjs} +1 -1
  8. package/dist/libraries/backend/{chunk-XVPZOXA3.mjs → chunk-FOK63UWJ.mjs} +3 -2
  9. package/dist/libraries/backend/{chunk-5VJICG7P.mjs → chunk-J5U7ZXZU.mjs} +6 -6
  10. package/dist/libraries/backend/{chunk-OW4LL3WD.mjs → chunk-J6DXZ2RF.mjs} +1 -1
  11. package/dist/libraries/backend/{chunk-5KV536NU.mjs → chunk-OEKZ2I55.mjs} +1 -1
  12. package/dist/libraries/backend/convex.d.mts +1 -9
  13. package/dist/libraries/backend/convex.d.ts +1 -9
  14. package/dist/libraries/backend/convex.js +0 -1447
  15. package/dist/libraries/backend/convex.mjs +0 -81
  16. package/dist/libraries/backend/elysia.js +27 -1
  17. package/dist/libraries/backend/elysia.mjs +7 -7
  18. package/dist/libraries/backend/express.js +27 -1
  19. package/dist/libraries/backend/express.mjs +7 -7
  20. package/dist/libraries/backend/fastify.js +27 -1
  21. package/dist/libraries/backend/fastify.mjs +7 -7
  22. package/dist/libraries/backend/hono.js +27 -1
  23. package/dist/libraries/backend/hono.mjs +7 -7
  24. package/dist/libraries/backend/index.js +27 -1
  25. package/dist/libraries/backend/index.mjs +7 -7
  26. package/dist/libraries/backend/next.js +27 -1
  27. package/dist/libraries/backend/next.mjs +7 -7
  28. package/dist/libraries/backend/react-router.js +27 -1
  29. package/dist/libraries/backend/react-router.mjs +7 -7
  30. package/dist/libraries/backend/remix_dep.js +27 -1
  31. package/dist/libraries/backend/remix_dep.mjs +7 -7
  32. package/dist/libraries/backend/routes/backendRouter.js +27 -1
  33. package/dist/libraries/backend/routes/backendRouter.mjs +7 -7
  34. package/dist/libraries/backend/routes/entityRoutes.js +25 -0
  35. package/dist/libraries/backend/routes/entityRoutes.mjs +3 -3
  36. package/dist/libraries/backend/routes/genRoutes.js +27 -1
  37. package/dist/libraries/backend/routes/genRoutes.mjs +3 -3
  38. package/dist/libraries/backend/routes/productRoutes.js +25 -0
  39. package/dist/libraries/backend/routes/productRoutes.mjs +3 -3
  40. package/dist/libraries/backend/routes/referralRoutes.js +25 -0
  41. package/dist/libraries/backend/routes/referralRoutes.mjs +3 -3
  42. package/dist/libraries/backend/supabase.js +27 -1
  43. package/dist/libraries/backend/supabase.mjs +7 -7
  44. package/dist/libraries/backend/tanstack.js +27 -1
  45. package/dist/libraries/backend/tanstack.mjs +7 -7
  46. package/dist/libraries/backend/utils/backendRes.js +25 -0
  47. package/dist/libraries/backend/utils/backendRes.mjs +1 -1
  48. package/dist/libraries/backend/utils/withAuth.js +25 -0
  49. package/dist/libraries/backend/utils/withAuth.mjs +2 -2
  50. package/dist/libraries/react/AutumnContext.d.mts +6 -6
  51. package/dist/libraries/react/AutumnContext.d.ts +6 -6
  52. package/dist/libraries/react/AutumnContext.js +28 -1
  53. package/dist/libraries/react/AutumnContext.mjs +5 -5
  54. package/dist/libraries/react/BaseAutumnProvider.d.mts +7 -7
  55. package/dist/libraries/react/BaseAutumnProvider.d.ts +7 -7
  56. package/dist/libraries/react/BaseAutumnProvider.js +43 -4
  57. package/dist/libraries/react/BaseAutumnProvider.mjs +10 -10
  58. package/dist/libraries/react/{ReactAutumnClient-_y4Ea48c.d.mts → ReactAutumnClient--zmCg7U8.d.mts} +62 -10
  59. package/dist/libraries/react/{ReactAutumnClient-BqEB-TPz.d.ts → ReactAutumnClient-XuVllEBP.d.ts} +62 -10
  60. package/dist/libraries/react/ReactAutumnProvider.d.mts +5 -4
  61. package/dist/libraries/react/ReactAutumnProvider.d.ts +5 -4
  62. package/dist/libraries/react/ReactAutumnProvider.js +366 -5
  63. package/dist/libraries/react/ReactAutumnProvider.mjs +12 -11
  64. package/dist/libraries/react/{attachTypes-gI6T0O95.d.mts → attachTypes-DJIr5ldB.d.mts} +1 -1
  65. package/dist/libraries/react/{attachTypes-DoCshKK6.d.ts → attachTypes-DVF4f7Hw.d.ts} +1 -1
  66. package/dist/libraries/react/{chunk-NFVAFRF6.mjs → chunk-2SFUXGFK.mjs} +1 -1
  67. package/dist/libraries/react/{chunk-HBJDIEEJ.mjs → chunk-4WAFPXBN.mjs} +1 -1
  68. package/dist/libraries/react/{chunk-VELC6P5V.mjs → chunk-54IJL24F.mjs} +3 -3
  69. package/dist/libraries/react/{chunk-AS4XOUEI.mjs → chunk-65UX5FJ5.mjs} +2 -2
  70. package/dist/libraries/react/{chunk-XUS3TD2B.mjs → chunk-6KINUP6L.mjs} +2 -2
  71. package/dist/libraries/react/{chunk-S744ECJP.mjs → chunk-COGRLJH2.mjs} +16 -4
  72. package/dist/libraries/react/{chunk-ABJEE3UK.mjs → chunk-KUFNEIRV.mjs} +25 -0
  73. package/dist/libraries/react/{chunk-PN6WKUSX.mjs → chunk-MUZHFEMO.mjs} +1 -1
  74. package/dist/libraries/react/{chunk-Y5S2HOFE.mjs → chunk-MYRJW7LW.mjs} +1 -1
  75. package/dist/libraries/react/{chunk-JNJRQ5DT.mjs → chunk-NBVPBAGX.mjs} +12 -10
  76. package/dist/libraries/react/{chunk-NYQF7NO3.mjs → chunk-O7IKBONA.mjs} +1 -1
  77. package/dist/libraries/react/{chunk-OCP7PVSZ.mjs → chunk-PZVVV3LN.mjs} +14 -4
  78. package/dist/libraries/react/{chunk-JWT4MREG.mjs → chunk-QYW6U2NR.mjs} +3 -3
  79. package/dist/libraries/react/{chunk-74HNY7BP.mjs → chunk-UMG2RCCT.mjs} +2 -2
  80. package/dist/libraries/react/{chunk-KHIB6HEY.mjs → chunk-WRVDJJBE.mjs} +2 -2
  81. package/dist/libraries/react/chunk-ZH7N5FIC.mjs +324 -0
  82. package/dist/libraries/react/{chunk-PDPOI2J7.mjs → chunk-ZYTMSYY3.mjs} +21 -21
  83. package/dist/libraries/react/client/ConvexAutumnClient.d.mts +76 -0
  84. package/dist/libraries/react/client/ConvexAutumnClient.d.ts +76 -0
  85. package/dist/libraries/react/client/ConvexAutumnClient.js +1263 -0
  86. package/dist/libraries/react/client/ConvexAutumnClient.mjs +9 -0
  87. package/dist/libraries/react/client/ReactAutumnClient.d.mts +6 -6
  88. package/dist/libraries/react/client/ReactAutumnClient.d.ts +6 -6
  89. package/dist/libraries/react/client/ReactAutumnClient.js +28 -1
  90. package/dist/libraries/react/client/ReactAutumnClient.mjs +4 -4
  91. package/dist/libraries/react/client/clientCompMethods.d.mts +6 -6
  92. package/dist/libraries/react/client/clientCompMethods.d.ts +6 -6
  93. package/dist/libraries/react/client/clientCusMethods.d.mts +6 -6
  94. package/dist/libraries/react/client/clientCusMethods.d.ts +6 -6
  95. package/dist/libraries/react/client/clientEntityMethods.d.mts +6 -6
  96. package/dist/libraries/react/client/clientEntityMethods.d.ts +6 -6
  97. package/dist/libraries/react/client/clientGenMethods.d.mts +6 -6
  98. package/dist/libraries/react/client/clientGenMethods.d.ts +6 -6
  99. package/dist/libraries/react/client/clientProdMethods.d.mts +6 -6
  100. package/dist/libraries/react/client/clientProdMethods.d.ts +6 -6
  101. package/dist/libraries/react/client/clientReferralMethods.d.mts +6 -6
  102. package/dist/libraries/react/client/clientReferralMethods.d.ts +6 -6
  103. package/dist/libraries/react/client/types/clientGenTypes.js +25 -0
  104. package/dist/libraries/react/client/types/clientGenTypes.mjs +1 -1
  105. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.d.mts +2 -2
  106. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.d.ts +2 -2
  107. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.js +43 -4
  108. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.mjs +26 -25
  109. package/dist/libraries/react/components/checkout-dialog/lib/checkout-content.d.mts +2 -2
  110. package/dist/libraries/react/components/checkout-dialog/lib/checkout-content.d.ts +2 -2
  111. package/dist/libraries/react/components/paywall-dialog/lib/paywall-content.d.mts +1 -1
  112. package/dist/libraries/react/components/paywall-dialog/lib/paywall-content.d.ts +1 -1
  113. package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.js +28 -1
  114. package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.mjs +26 -25
  115. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.mts +1 -1
  116. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.ts +1 -1
  117. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.mts +1 -1
  118. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.ts +1 -1
  119. package/dist/libraries/react/components/pricing-table/pricing-table-synced.js +43 -4
  120. package/dist/libraries/react/components/pricing-table/pricing-table-synced.mjs +26 -25
  121. package/dist/libraries/react/components/ui/dialog.mjs +2 -2
  122. package/dist/libraries/react/components/ui/popover.mjs +2 -2
  123. package/dist/libraries/react/{cusTypes-DckkwpWg.d.ts → cusTypes-CEb_KwPo.d.ts} +1 -1
  124. package/dist/libraries/react/{cusTypes-UwHT30-L.d.mts → cusTypes-DynqPCZH.d.mts} +1 -1
  125. package/dist/libraries/react/{entTypes-BWsQfaNZ.d.ts → entTypes--Y-4T20Y.d.ts} +1 -1
  126. package/dist/libraries/react/{entTypes-DcRz1vjc.d.mts → entTypes-DjasDDYh.d.mts} +1 -1
  127. package/dist/libraries/react/{genTypes-C_ilxndU.d.mts → genTypes-DdYlVEah.d.mts} +1 -1
  128. package/dist/libraries/react/{genTypes-DjcQWIOM.d.ts → genTypes-aPPwPimh.d.ts} +1 -1
  129. package/dist/libraries/react/hooks/helpers/handleCheck.d.mts +6 -6
  130. package/dist/libraries/react/hooks/helpers/handleCheck.d.ts +6 -6
  131. package/dist/libraries/react/hooks/helpers/handleCheck.js +40 -3
  132. package/dist/libraries/react/hooks/helpers/handleCheck.mjs +2 -2
  133. package/dist/libraries/react/hooks/helpers/useAutumnBase.d.mts +12 -28
  134. package/dist/libraries/react/hooks/helpers/useAutumnBase.d.ts +12 -28
  135. package/dist/libraries/react/hooks/helpers/useAutumnBase.js +25 -0
  136. package/dist/libraries/react/hooks/helpers/useAutumnBase.mjs +3 -3
  137. package/dist/libraries/react/hooks/useAnalytics.d.mts +2 -2
  138. package/dist/libraries/react/hooks/useAnalytics.d.ts +2 -2
  139. package/dist/libraries/react/hooks/useAnalytics.js +28 -1
  140. package/dist/libraries/react/hooks/useAnalytics.mjs +6 -6
  141. package/dist/libraries/react/hooks/useCustomer.d.mts +7 -6
  142. package/dist/libraries/react/hooks/useCustomer.d.ts +7 -6
  143. package/dist/libraries/react/hooks/useCustomer.js +43 -4
  144. package/dist/libraries/react/hooks/useCustomer.mjs +10 -10
  145. package/dist/libraries/react/hooks/useCustomerBase.d.mts +8 -7
  146. package/dist/libraries/react/hooks/useCustomerBase.d.ts +8 -7
  147. package/dist/libraries/react/hooks/useCustomerBase.js +43 -4
  148. package/dist/libraries/react/hooks/useCustomerBase.mjs +9 -9
  149. package/dist/libraries/react/hooks/useEntity.d.mts +6 -20
  150. package/dist/libraries/react/hooks/useEntity.d.ts +6 -20
  151. package/dist/libraries/react/hooks/useEntity.js +43 -4
  152. package/dist/libraries/react/hooks/useEntity.mjs +10 -10
  153. package/dist/libraries/react/hooks/useEntityBase.d.mts +8 -22
  154. package/dist/libraries/react/hooks/useEntityBase.d.ts +8 -22
  155. package/dist/libraries/react/hooks/useEntityBase.js +43 -4
  156. package/dist/libraries/react/hooks/useEntityBase.mjs +9 -9
  157. package/dist/libraries/react/hooks/usePaywall.d.mts +1 -1
  158. package/dist/libraries/react/hooks/usePaywall.d.ts +1 -1
  159. package/dist/libraries/react/hooks/usePaywall.js +28 -1
  160. package/dist/libraries/react/hooks/usePaywall.mjs +6 -6
  161. package/dist/libraries/react/hooks/usePricingTable.d.mts +1 -1
  162. package/dist/libraries/react/hooks/usePricingTable.d.ts +1 -1
  163. package/dist/libraries/react/hooks/usePricingTable.js +28 -1
  164. package/dist/libraries/react/hooks/usePricingTable.mjs +7 -7
  165. package/dist/libraries/react/hooks/usePricingTableBase.d.mts +8 -7
  166. package/dist/libraries/react/hooks/usePricingTableBase.d.ts +8 -7
  167. package/dist/libraries/react/hooks/usePricingTableBase.js +25 -0
  168. package/dist/libraries/react/hooks/usePricingTableBase.mjs +2 -2
  169. package/dist/libraries/react/hooks/useProductsBase.d.mts +6 -6
  170. package/dist/libraries/react/hooks/useProductsBase.d.ts +6 -6
  171. package/dist/libraries/react/index.d.mts +4 -17
  172. package/dist/libraries/react/index.d.ts +4 -17
  173. package/dist/libraries/react/index.js +366 -5
  174. package/dist/libraries/react/index.mjs +366 -5
  175. package/dist/libraries/react/{prodTypes-B8NdKyKo.d.ts → prodTypes-C8xRoBP7.d.mts} +1 -1
  176. package/dist/libraries/react/{prodTypes-B8NdKyKo.d.mts → prodTypes-C8xRoBP7.d.ts} +1 -1
  177. package/dist/next/client/NextAutumnClient.d.mts +61 -10
  178. package/dist/next/client/NextAutumnClient.d.ts +61 -10
  179. package/dist/next/client/NextAutumnProvider.d.mts +2 -2
  180. package/dist/next/client/NextAutumnProvider.d.ts +2 -2
  181. package/dist/next/client/{clientAttachTypes-DPbDkX9E.d.mts → clientAttachTypes-BgiG9o_O.d.mts} +2 -2
  182. package/dist/next/client/{clientAttachTypes-DWfLqjO3.d.ts → clientAttachTypes-VNZGVMx6.d.ts} +2 -2
  183. package/dist/next/client/{attachTypes-x-hgg6BY.d.ts → clientEntTypes-BNVsUSBp.d.mts} +22 -2
  184. package/dist/next/client/{attachTypes-BOh_Skwx.d.mts → clientEntTypes-DmhBcFyI.d.ts} +22 -2
  185. package/dist/next/client/clientUtils.d.mts +3 -3
  186. package/dist/next/client/clientUtils.d.ts +3 -3
  187. package/dist/next/client/{cusTypes-CcUOSzBw.d.ts → cusTypes-5W4JVk2C.d.ts} +1 -1
  188. package/dist/next/client/{cusTypes-dipsR4ST.d.mts → cusTypes-Cb9Peq72.d.mts} +1 -1
  189. package/dist/next/client/{entTypes-BwBtFwJP.d.ts → entTypes-B2gnYOgY.d.ts} +1 -1
  190. package/dist/next/client/{entTypes-BzKJAjff.d.mts → entTypes-R0fGEyG8.d.mts} +1 -1
  191. package/dist/next/client/hooks/useAutumn.d.mts +7 -25
  192. package/dist/next/client/hooks/useAutumn.d.ts +7 -25
  193. package/dist/next/client/hooks/useCustomer.d.mts +5 -6
  194. package/dist/next/client/hooks/useCustomer.d.ts +5 -6
  195. package/dist/next/client/hooks/useEntity.d.mts +6 -20
  196. package/dist/next/client/hooks/useEntity.d.ts +6 -20
  197. package/dist/next/client/hooks/usePricingTable.d.mts +1 -1
  198. package/dist/next/client/hooks/usePricingTable.d.ts +1 -1
  199. package/dist/next/client/{prodTypes-DwM7QuGf.d.mts → prodTypes-BC--Np0p.d.mts} +1 -1
  200. package/dist/next/client/{prodTypes-DwM7QuGf.d.ts → prodTypes-BC--Np0p.d.ts} +1 -1
  201. package/dist/next/client/types.d.mts +3 -3
  202. package/dist/next/client/types.d.ts +3 -3
  203. package/dist/sdk/index.d.mts +1 -1
  204. package/dist/sdk/index.d.ts +1 -1
  205. package/dist/sdk/index.js +24 -0
  206. package/dist/sdk/index.mjs +24 -1
  207. package/dist/utils/encryptUtils.js +25 -0
  208. package/dist/utils/encryptUtils.mjs +25 -0
  209. package/package.json +5 -9
  210. package/dist/next/client/clientEntTypes-DHKeY0pG.d.mts +0 -21
  211. package/dist/next/client/clientEntTypes-DHKeY0pG.d.ts +0 -21
  212. package/dist/libraries/react/{chunk-X6FMCHSB.mjs → chunk-5KZSH7JF.mjs} +3 -3
  213. package/dist/libraries/react/{chunk-YE6KQQS7.mjs → chunk-UYZX3KX2.mjs} +3 -3
@@ -967,6 +967,31 @@ var CheckoutParamsSchema = import_v47.z.object({
967
967
  reward: import_v47.z.string().optional()
968
968
  });
969
969
 
970
+ // src/sdk/features/featureTypes.ts
971
+ var import_zod = require("zod");
972
+ var FeatureType = /* @__PURE__ */ ((FeatureType2) => {
973
+ FeatureType2["Boolean"] = "boolean";
974
+ FeatureType2["SingleUse"] = "single_use";
975
+ FeatureType2["ContinuousUse"] = "continuous_use";
976
+ FeatureType2["CreditSystem"] = "credit_system";
977
+ return FeatureType2;
978
+ })(FeatureType || {});
979
+ var FeatureSchema = import_zod.z.object({
980
+ id: import_zod.z.string(),
981
+ name: import_zod.z.string().nullish(),
982
+ type: import_zod.z.nativeEnum(FeatureType),
983
+ display: import_zod.z.object({
984
+ singular: import_zod.z.string(),
985
+ plural: import_zod.z.string()
986
+ }).nullish(),
987
+ credit_schema: import_zod.z.array(
988
+ import_zod.z.object({
989
+ metered_feature_id: import_zod.z.string(),
990
+ credit_cost: import_zod.z.number()
991
+ })
992
+ ).nullish()
993
+ });
994
+
970
995
  // src/libraries/react/errorUtils/logFetchError.ts
971
996
  var logFetchError = ({
972
997
  method,
@@ -1176,8 +1201,10 @@ var AutumnClient = class {
1176
1201
  `[Autumn] To disable this warning, you can set includeCredentials={${corsResult.includeCredentials ? "true" : "false"}} in <AutumnProvider />`
1177
1202
  );
1178
1203
  this.includeCredentials = corsResult.includeCredentials;
1204
+ return corsResult.includeCredentials || false;
1179
1205
  }
1180
- return corsResult.includeCredentials || false;
1206
+ console.warn(`[Autumn] CORS detection failed, defaulting to false`);
1207
+ return false;
1181
1208
  } catch (error) {
1182
1209
  console.error(`[Autumn] Error detecting CORS: ${error.message}`);
1183
1210
  return false;
@@ -1680,6 +1707,13 @@ var getCusFeature = ({
1680
1707
  featureId,
1681
1708
  requiredBalance = 1
1682
1709
  }) => {
1710
+ let cusFeature = customer.features[featureId];
1711
+ if (cusFeature && typeof cusFeature.balance === "number" && cusFeature.balance >= requiredBalance) {
1712
+ return {
1713
+ cusFeature,
1714
+ requiredBalance
1715
+ };
1716
+ }
1683
1717
  let creditSchema = Object.values(customer.features).find(
1684
1718
  (f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId)
1685
1719
  );
@@ -1688,7 +1722,7 @@ var getCusFeature = ({
1688
1722
  (c) => c.feature_id === featureId
1689
1723
  );
1690
1724
  return {
1691
- feature: creditSchema,
1725
+ cusFeature: creditSchema,
1692
1726
  requiredBalance: schemaItem.credit_amount * requiredBalance
1693
1727
  };
1694
1728
  }
@@ -1720,10 +1754,15 @@ var handleFeatureCheck = ({
1720
1754
  featureId: params.featureId,
1721
1755
  ...params.requiredBalance ? { requiredBalance: params.requiredBalance } : {}
1722
1756
  });
1723
- let allowed = getFeatureAllowed({ cusFeature, requiredBalance });
1757
+ console.log("Cus Feature", cusFeature);
1758
+ console.log("Required Balance", requiredBalance);
1759
+ let allowed = getFeatureAllowed({
1760
+ cusFeature,
1761
+ requiredBalance: requiredBalance ?? 1
1762
+ });
1724
1763
  let result = {
1725
1764
  allowed,
1726
- feature_id: params.featureId,
1765
+ feature_id: cusFeature?.id ?? params.featureId,
1727
1766
  customer_id: isEntity ? customer.customer_id : customer.id,
1728
1767
  required_balance: requiredBalance,
1729
1768
  ...cusFeature
@@ -1973,6 +2012,321 @@ function BaseAutumnProvider({
1973
2012
  );
1974
2013
  }
1975
2014
 
2015
+ // src/libraries/react/client/ConvexAutumnClient.tsx
2016
+ var ConvexAutumnClient = class {
2017
+ convexApi;
2018
+ convex;
2019
+ // protected readonly convexClient: ConvexHttpClient;
2020
+ customerData;
2021
+ headers;
2022
+ backendUrl = void 0;
2023
+ prefix = "/api/convex";
2024
+ getBearerToken;
2025
+ // Stub implementations for HTTP-specific methods that the interface requires
2026
+ async detectCors() {
2027
+ return {
2028
+ valid: true,
2029
+ includeCredentials: false
2030
+ };
2031
+ }
2032
+ async shouldIncludeCredentials() {
2033
+ return false;
2034
+ }
2035
+ async getHeaders() {
2036
+ return { "Content-Type": "application/json" };
2037
+ }
2038
+ async handleFetch() {
2039
+ throw new Error("HTTP methods not supported in Convex mode");
2040
+ }
2041
+ async post() {
2042
+ throw new Error("HTTP methods not supported in Convex mode");
2043
+ }
2044
+ async get() {
2045
+ throw new Error("HTTP methods not supported in Convex mode");
2046
+ }
2047
+ async delete() {
2048
+ throw new Error("HTTP methods not supported in Convex mode");
2049
+ }
2050
+ constructor({
2051
+ convexApi,
2052
+ customerData,
2053
+ headers,
2054
+ getBearerToken,
2055
+ convex
2056
+ }) {
2057
+ this.convex = convex;
2058
+ this.convexApi = convexApi;
2059
+ this.getBearerToken = getBearerToken;
2060
+ this.customerData = customerData;
2061
+ this.headers = headers;
2062
+ }
2063
+ async createCustomer(params) {
2064
+ try {
2065
+ const result = await this.convex.action(this.convexApi.fetchCustomer);
2066
+ return result;
2067
+ } catch (error) {
2068
+ return {
2069
+ data: null,
2070
+ error: new AutumnError({
2071
+ message: error.message,
2072
+ code: "convex_action_failed"
2073
+ })
2074
+ };
2075
+ }
2076
+ }
2077
+ // Deprecated, don't need to implement
2078
+ async getPricingTable() {
2079
+ return {
2080
+ data: null,
2081
+ error: new AutumnError({
2082
+ message: "getPricingTable not yet implemented for Convex",
2083
+ code: "not_implemented"
2084
+ })
2085
+ };
2086
+ }
2087
+ // Core methods that wrap Convex actions
2088
+ attach = async (args) => {
2089
+ try {
2090
+ const { dialog, ...backendArgs } = args;
2091
+ const result = await this.convex.action(
2092
+ this.convexApi.attach,
2093
+ backendArgs
2094
+ );
2095
+ return result;
2096
+ } catch (error) {
2097
+ return {
2098
+ data: null,
2099
+ error: new AutumnError({
2100
+ message: error.message,
2101
+ code: "convex_action_failed"
2102
+ })
2103
+ };
2104
+ }
2105
+ };
2106
+ checkout = async (args) => {
2107
+ try {
2108
+ const { dialog, ...backendArgs } = args;
2109
+ const result = await this.convex.action(
2110
+ this.convexApi.checkout,
2111
+ backendArgs
2112
+ );
2113
+ return result;
2114
+ } catch (error) {
2115
+ return {
2116
+ data: null,
2117
+ error: new AutumnError({
2118
+ message: error.message,
2119
+ code: "convex_action_failed"
2120
+ })
2121
+ };
2122
+ }
2123
+ };
2124
+ cancel = async (args) => {
2125
+ try {
2126
+ const result = await this.convex.action(this.convexApi.cancel, args);
2127
+ return result;
2128
+ } catch (error) {
2129
+ return {
2130
+ data: null,
2131
+ error: new AutumnError({
2132
+ message: error.message,
2133
+ code: "convex_action_failed"
2134
+ })
2135
+ };
2136
+ }
2137
+ };
2138
+ check = async (args) => {
2139
+ try {
2140
+ const result = await this.convex.action(this.convexApi.check, args);
2141
+ return result;
2142
+ } catch (error) {
2143
+ return {
2144
+ data: null,
2145
+ error: new AutumnError({
2146
+ message: error.message,
2147
+ code: "convex_action_failed"
2148
+ })
2149
+ };
2150
+ }
2151
+ };
2152
+ track = async (args) => {
2153
+ try {
2154
+ const result = await this.convex.action(this.convexApi.track, args);
2155
+ return result;
2156
+ } catch (error) {
2157
+ return {
2158
+ data: null,
2159
+ error: new AutumnError({
2160
+ message: error.message,
2161
+ code: "convex_action_failed"
2162
+ })
2163
+ };
2164
+ }
2165
+ };
2166
+ openBillingPortal = async (args) => {
2167
+ try {
2168
+ const result = await this.convex.action(this.convexApi.billingPortal, {
2169
+ ...args,
2170
+ openInNewTab: void 0
2171
+ });
2172
+ return result;
2173
+ } catch (error) {
2174
+ return {
2175
+ data: null,
2176
+ error: new AutumnError({
2177
+ message: error.message,
2178
+ code: "convex_action_failed"
2179
+ })
2180
+ };
2181
+ }
2182
+ };
2183
+ setupPayment = async (args) => {
2184
+ try {
2185
+ const result = await this.convex.action(
2186
+ this.convexApi.setupPayment,
2187
+ args
2188
+ );
2189
+ return result;
2190
+ } catch (error) {
2191
+ return {
2192
+ data: null,
2193
+ error: new AutumnError({
2194
+ message: error.message,
2195
+ code: "convex_action_failed"
2196
+ })
2197
+ };
2198
+ }
2199
+ };
2200
+ query = async (args) => {
2201
+ try {
2202
+ const result = await this.convex.action(this.convexApi.query, args);
2203
+ return result;
2204
+ } catch (error) {
2205
+ return {
2206
+ data: null,
2207
+ error: new AutumnError({
2208
+ message: error.message,
2209
+ code: "convex_action_failed"
2210
+ })
2211
+ };
2212
+ }
2213
+ };
2214
+ entities = {
2215
+ create: async (args) => {
2216
+ try {
2217
+ if (Array.isArray(args)) {
2218
+ const entityArgs = { entities: args };
2219
+ const result = await this.convex.action(
2220
+ this.convexApi.createEntities,
2221
+ entityArgs
2222
+ );
2223
+ return result;
2224
+ } else {
2225
+ const result = await this.convex.action(
2226
+ this.convexApi.createEntity,
2227
+ args
2228
+ );
2229
+ return result;
2230
+ }
2231
+ } catch (error) {
2232
+ return {
2233
+ data: null,
2234
+ error: new AutumnError({
2235
+ message: error.message,
2236
+ code: "convex_action_failed"
2237
+ })
2238
+ };
2239
+ }
2240
+ },
2241
+ get: async (args) => {
2242
+ try {
2243
+ const result = await this.convex.action(this.convexApi.getEntity, args);
2244
+ return result;
2245
+ } catch (error) {
2246
+ return {
2247
+ data: null,
2248
+ error: new AutumnError({
2249
+ message: error.message,
2250
+ code: "convex_action_failed"
2251
+ })
2252
+ };
2253
+ }
2254
+ },
2255
+ delete: async (args) => {
2256
+ try {
2257
+ const result = await this.convex.action(
2258
+ this.convexApi.deleteEntity,
2259
+ args
2260
+ );
2261
+ return result;
2262
+ } catch (error) {
2263
+ return {
2264
+ data: null,
2265
+ error: new AutumnError({
2266
+ message: error.message,
2267
+ code: "convex_action_failed"
2268
+ })
2269
+ };
2270
+ }
2271
+ }
2272
+ };
2273
+ referrals = {
2274
+ createCode: async (args) => {
2275
+ try {
2276
+ const result = await this.convex.action(
2277
+ this.convexApi.createReferralCode,
2278
+ args
2279
+ );
2280
+ return result;
2281
+ } catch (error) {
2282
+ return {
2283
+ data: null,
2284
+ error: new AutumnError({
2285
+ message: error.message,
2286
+ code: "convex_action_failed"
2287
+ })
2288
+ };
2289
+ }
2290
+ },
2291
+ redeemCode: async (args) => {
2292
+ try {
2293
+ const result = await this.convex.action(
2294
+ this.convexApi.redeemReferralCode,
2295
+ args
2296
+ );
2297
+ return result;
2298
+ } catch (error) {
2299
+ return {
2300
+ data: null,
2301
+ error: new AutumnError({
2302
+ message: error.message,
2303
+ code: "convex_action_failed"
2304
+ })
2305
+ };
2306
+ }
2307
+ }
2308
+ };
2309
+ products = {
2310
+ list: async () => {
2311
+ try {
2312
+ const result = await this.convex.action(
2313
+ this.convexApi.listProducts,
2314
+ {}
2315
+ );
2316
+ return result;
2317
+ } catch (error) {
2318
+ return {
2319
+ data: null,
2320
+ error: new AutumnError({
2321
+ message: error.message,
2322
+ code: "convex_action_failed"
2323
+ })
2324
+ };
2325
+ }
2326
+ }
2327
+ };
2328
+ };
2329
+
1976
2330
  // src/libraries/react/ReactAutumnProvider.tsx
1977
2331
  var import_jsx_runtime2 = require("react/jsx-runtime");
1978
2332
  var getBackendUrl = (backendUrl) => {
@@ -1987,6 +2341,7 @@ var getBackendUrl = (backendUrl) => {
1987
2341
  var ReactAutumnProvider = ({
1988
2342
  children,
1989
2343
  getBearerToken,
2344
+ convex,
1990
2345
  backendUrl,
1991
2346
  customerData,
1992
2347
  includeCredentials,
@@ -1994,7 +2349,13 @@ var ReactAutumnProvider = ({
1994
2349
  headers,
1995
2350
  convexApi
1996
2351
  }) => {
1997
- let client = new AutumnClient({
2352
+ let client = convexApi ? new ConvexAutumnClient({
2353
+ convex,
2354
+ convexApi,
2355
+ customerData,
2356
+ headers,
2357
+ getBearerToken
2358
+ }) : new AutumnClient({
1998
2359
  backendUrl: getBackendUrl(backendUrl),
1999
2360
  getBearerToken,
2000
2361
  customerData,
@@ -2,25 +2,26 @@
2
2
 
3
3
  import {
4
4
  ReactAutumnProvider
5
- } from "./chunk-OCP7PVSZ.mjs";
6
- import "./chunk-Y5S2HOFE.mjs";
5
+ } from "./chunk-PZVVV3LN.mjs";
6
+ import "./chunk-MYRJW7LW.mjs";
7
7
  import "./chunk-RFSQBGLO.mjs";
8
- import "./chunk-VELC6P5V.mjs";
9
- import "./chunk-S744ECJP.mjs";
10
- import "./chunk-NFVAFRF6.mjs";
11
- import "./chunk-HBJDIEEJ.mjs";
12
- import "./chunk-PN6WKUSX.mjs";
13
- import "./chunk-JNJRQ5DT.mjs";
14
- import "./chunk-ABJEE3UK.mjs";
15
- import "./chunk-ZF2HUCN6.mjs";
8
+ import "./chunk-54IJL24F.mjs";
9
+ import "./chunk-COGRLJH2.mjs";
10
+ import "./chunk-2SFUXGFK.mjs";
11
+ import "./chunk-4WAFPXBN.mjs";
12
+ import "./chunk-MUZHFEMO.mjs";
13
+ import "./chunk-ZH7N5FIC.mjs";
14
+ import "./chunk-NBVPBAGX.mjs";
16
15
  import "./chunk-BCLKTVUX.mjs";
17
16
  import "./chunk-V575SGOW.mjs";
18
17
  import "./chunk-ZV4RPZTM.mjs";
19
- import "./chunk-KQT5G3HT.mjs";
20
18
  import "./chunk-JVCOY7ZL.mjs";
21
19
  import "./chunk-CIBQ4BJU.mjs";
20
+ import "./chunk-KUFNEIRV.mjs";
22
21
  import "./chunk-VTGR7VVK.mjs";
23
22
  import "./chunk-WFFVOEUG.mjs";
23
+ import "./chunk-ZF2HUCN6.mjs";
24
+ import "./chunk-KQT5G3HT.mjs";
24
25
  export {
25
26
  ReactAutumnProvider
26
27
  };
@@ -1,4 +1,4 @@
1
- import { a as ProductItem, P as Product } from './prodTypes-B8NdKyKo.mjs';
1
+ import { c as ProductItem, P as Product } from './prodTypes-C8xRoBP7.mjs';
2
2
  import { z } from 'zod/v4';
3
3
 
4
4
  declare const AttachFeatureOptionsSchema: z.ZodObject<{
@@ -1,4 +1,4 @@
1
- import { a as ProductItem, P as Product } from './prodTypes-B8NdKyKo.js';
1
+ import { c as ProductItem, P as Product } from './prodTypes-C8xRoBP7.js';
2
2
  import { z } from 'zod/v4';
3
3
 
4
4
  declare const AttachFeatureOptionsSchema: z.ZodObject<{
@@ -2,7 +2,7 @@
2
2
 
3
3
  import {
4
4
  usePricingTableBase
5
- } from "./chunk-HBJDIEEJ.mjs";
5
+ } from "./chunk-4WAFPXBN.mjs";
6
6
 
7
7
  // src/libraries/react/hooks/helpers/useAutumnBase.tsx
8
8
  var useAutumnBase = ({
@@ -2,7 +2,7 @@
2
2
 
3
3
  import {
4
4
  AutumnError
5
- } from "./chunk-ABJEE3UK.mjs";
5
+ } from "./chunk-KUFNEIRV.mjs";
6
6
 
7
7
  // src/libraries/react/hooks/usePricingTableBase.tsx
8
8
  import useSWR from "swr";
@@ -3,13 +3,13 @@
3
3
  import {
4
4
  handleCheck,
5
5
  openDialog
6
- } from "./chunk-S744ECJP.mjs";
6
+ } from "./chunk-COGRLJH2.mjs";
7
7
  import {
8
8
  useAutumnBase
9
- } from "./chunk-NFVAFRF6.mjs";
9
+ } from "./chunk-2SFUXGFK.mjs";
10
10
  import {
11
11
  useAutumnContext
12
- } from "./chunk-PN6WKUSX.mjs";
12
+ } from "./chunk-MUZHFEMO.mjs";
13
13
 
14
14
  // src/libraries/react/hooks/useCustomerBase.tsx
15
15
  import useSWR from "swr";
@@ -3,10 +3,10 @@
3
3
  import {
4
4
  AutumnContext,
5
5
  useAutumnContext
6
- } from "./chunk-PN6WKUSX.mjs";
6
+ } from "./chunk-MUZHFEMO.mjs";
7
7
  import {
8
8
  AutumnError
9
- } from "./chunk-ABJEE3UK.mjs";
9
+ } from "./chunk-KUFNEIRV.mjs";
10
10
 
11
11
  // src/libraries/react/hooks/useAnalytics.tsx
12
12
  import useSWR from "swr";
@@ -2,10 +2,10 @@
2
2
 
3
3
  import {
4
4
  useCustomerBase
5
- } from "./chunk-VELC6P5V.mjs";
5
+ } from "./chunk-54IJL24F.mjs";
6
6
  import {
7
7
  AutumnContext
8
- } from "./chunk-PN6WKUSX.mjs";
8
+ } from "./chunk-MUZHFEMO.mjs";
9
9
 
10
10
  // src/libraries/react/hooks/useCustomer.tsx
11
11
  var useCustomer = (params) => {
@@ -2,7 +2,7 @@
2
2
 
3
3
  import {
4
4
  CheckFeatureResultSchema
5
- } from "./chunk-ABJEE3UK.mjs";
5
+ } from "./chunk-KUFNEIRV.mjs";
6
6
 
7
7
  // src/libraries/react/hooks/helpers/handleCheck.ts
8
8
  var getCusFeature = ({
@@ -10,6 +10,13 @@ var getCusFeature = ({
10
10
  featureId,
11
11
  requiredBalance = 1
12
12
  }) => {
13
+ let cusFeature = customer.features[featureId];
14
+ if (cusFeature && typeof cusFeature.balance === "number" && cusFeature.balance >= requiredBalance) {
15
+ return {
16
+ cusFeature,
17
+ requiredBalance
18
+ };
19
+ }
13
20
  let creditSchema = Object.values(customer.features).find(
14
21
  (f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId)
15
22
  );
@@ -18,7 +25,7 @@ var getCusFeature = ({
18
25
  (c) => c.feature_id === featureId
19
26
  );
20
27
  return {
21
- feature: creditSchema,
28
+ cusFeature: creditSchema,
22
29
  requiredBalance: schemaItem.credit_amount * requiredBalance
23
30
  };
24
31
  }
@@ -50,10 +57,15 @@ var handleFeatureCheck = ({
50
57
  featureId: params.featureId,
51
58
  ...params.requiredBalance ? { requiredBalance: params.requiredBalance } : {}
52
59
  });
53
- let allowed = getFeatureAllowed({ cusFeature, requiredBalance });
60
+ console.log("Cus Feature", cusFeature);
61
+ console.log("Required Balance", requiredBalance);
62
+ let allowed = getFeatureAllowed({
63
+ cusFeature,
64
+ requiredBalance: requiredBalance ?? 1
65
+ });
54
66
  let result = {
55
67
  allowed,
56
- feature_id: params.featureId,
68
+ feature_id: cusFeature?.id ?? params.featureId,
57
69
  customer_id: isEntity ? customer.customer_id : customer.id,
58
70
  required_balance: requiredBalance,
59
71
  ...cusFeature
@@ -893,6 +893,31 @@ var CheckoutParamsSchema = z7.object({
893
893
  reward: z7.string().optional()
894
894
  });
895
895
 
896
+ // src/sdk/features/featureTypes.ts
897
+ import { z as z8 } from "zod";
898
+ var FeatureType = /* @__PURE__ */ ((FeatureType2) => {
899
+ FeatureType2["Boolean"] = "boolean";
900
+ FeatureType2["SingleUse"] = "single_use";
901
+ FeatureType2["ContinuousUse"] = "continuous_use";
902
+ FeatureType2["CreditSystem"] = "credit_system";
903
+ return FeatureType2;
904
+ })(FeatureType || {});
905
+ var FeatureSchema = z8.object({
906
+ id: z8.string(),
907
+ name: z8.string().nullish(),
908
+ type: z8.nativeEnum(FeatureType),
909
+ display: z8.object({
910
+ singular: z8.string(),
911
+ plural: z8.string()
912
+ }).nullish(),
913
+ credit_schema: z8.array(
914
+ z8.object({
915
+ metered_feature_id: z8.string(),
916
+ credit_cost: z8.number()
917
+ })
918
+ ).nullish()
919
+ });
920
+
896
921
  export {
897
922
  AutumnError,
898
923
  toContainerResult,
@@ -2,7 +2,7 @@
2
2
 
3
3
  import {
4
4
  AutumnClient
5
- } from "./chunk-JNJRQ5DT.mjs";
5
+ } from "./chunk-NBVPBAGX.mjs";
6
6
 
7
7
  // src/libraries/react/AutumnContext.tsx
8
8
  import { createContext, useContext } from "react";
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-RFSQBGLO.mjs";
6
6
  import {
7
7
  useCustomerBase
8
- } from "./chunk-VELC6P5V.mjs";
8
+ } from "./chunk-54IJL24F.mjs";
9
9
 
10
10
  // src/libraries/react/BaseAutumnProvider.tsx
11
11
  import { useRef } from "react";
@@ -1,14 +1,5 @@
1
1
  "use client";
2
2
 
3
- import {
4
- AutumnError,
5
- toContainerResult
6
- } from "./chunk-ABJEE3UK.mjs";
7
- import {
8
- createEntityMethod,
9
- deleteEntityMethod,
10
- getEntityMethod
11
- } from "./chunk-ZF2HUCN6.mjs";
12
3
  import {
13
4
  attachMethod,
14
5
  cancelMethod,
@@ -32,12 +23,21 @@ import {
32
23
  import {
33
24
  logFetchError
34
25
  } from "./chunk-CIBQ4BJU.mjs";
26
+ import {
27
+ AutumnError,
28
+ toContainerResult
29
+ } from "./chunk-KUFNEIRV.mjs";
35
30
  import {
36
31
  getPricingTableMethod
37
32
  } from "./chunk-VTGR7VVK.mjs";
38
33
  import {
39
34
  createCustomerMethod
40
35
  } from "./chunk-WFFVOEUG.mjs";
36
+ import {
37
+ createEntityMethod,
38
+ deleteEntityMethod,
39
+ getEntityMethod
40
+ } from "./chunk-ZF2HUCN6.mjs";
41
41
 
42
42
  // src/libraries/react/client/ReactAutumnClient.tsx
43
43
  var AutumnClient = class {
@@ -113,8 +113,10 @@ var AutumnClient = class {
113
113
  `[Autumn] To disable this warning, you can set includeCredentials={${corsResult.includeCredentials ? "true" : "false"}} in <AutumnProvider />`
114
114
  );
115
115
  this.includeCredentials = corsResult.includeCredentials;
116
+ return corsResult.includeCredentials || false;
116
117
  }
117
- return corsResult.includeCredentials || false;
118
+ console.warn(`[Autumn] CORS detection failed, defaulting to false`);
119
+ return false;
118
120
  } catch (error) {
119
121
  console.error(`[Autumn] Error detecting CORS: ${error.message}`);
120
122
  return false;