autumn-js 0.1.22 → 0.1.24

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 (219) hide show
  1. package/dist/libraries/backend/better-auth.js +25 -0
  2. package/dist/libraries/backend/better-auth.mjs +7 -7
  3. package/dist/libraries/backend/{chunk-PN4KP454.mjs → chunk-4LVRQN5R.mjs} +25 -0
  4. package/dist/libraries/backend/{chunk-5VJICG7P.mjs → chunk-7DS7ICKQ.mjs} +6 -6
  5. package/dist/libraries/backend/{chunk-QSWG2M5T.mjs → chunk-7PLQK5LL.mjs} +1 -1
  6. package/dist/libraries/backend/{chunk-6QFLAHJ4.mjs → chunk-DMPRLFPO.mjs} +1 -1
  7. package/dist/libraries/backend/{chunk-XVPZOXA3.mjs → chunk-GB7SC4FJ.mjs} +1 -1
  8. package/dist/libraries/backend/{chunk-OW4LL3WD.mjs → chunk-J6DXZ2RF.mjs} +1 -1
  9. package/dist/libraries/backend/{chunk-5KV536NU.mjs → chunk-OEKZ2I55.mjs} +1 -1
  10. package/dist/libraries/backend/convex.d.mts +7 -1
  11. package/dist/libraries/backend/convex.d.ts +7 -1
  12. package/dist/libraries/backend/convex.js +111 -2
  13. package/dist/libraries/backend/convex.mjs +91 -8
  14. package/dist/libraries/backend/elysia.js +25 -0
  15. package/dist/libraries/backend/elysia.mjs +7 -7
  16. package/dist/libraries/backend/express.js +25 -0
  17. package/dist/libraries/backend/express.mjs +7 -7
  18. package/dist/libraries/backend/fastify.js +25 -0
  19. package/dist/libraries/backend/fastify.mjs +7 -7
  20. package/dist/libraries/backend/hono.js +25 -0
  21. package/dist/libraries/backend/hono.mjs +7 -7
  22. package/dist/libraries/backend/index.js +25 -0
  23. package/dist/libraries/backend/index.mjs +7 -7
  24. package/dist/libraries/backend/next.js +25 -0
  25. package/dist/libraries/backend/next.mjs +7 -7
  26. package/dist/libraries/backend/react-router.js +25 -0
  27. package/dist/libraries/backend/react-router.mjs +7 -7
  28. package/dist/libraries/backend/remix_dep.js +25 -0
  29. package/dist/libraries/backend/remix_dep.mjs +7 -7
  30. package/dist/libraries/backend/routes/backendRouter.js +25 -0
  31. package/dist/libraries/backend/routes/backendRouter.mjs +7 -7
  32. package/dist/libraries/backend/routes/entityRoutes.js +25 -0
  33. package/dist/libraries/backend/routes/entityRoutes.mjs +3 -3
  34. package/dist/libraries/backend/routes/genRoutes.js +25 -0
  35. package/dist/libraries/backend/routes/genRoutes.mjs +3 -3
  36. package/dist/libraries/backend/routes/productRoutes.js +25 -0
  37. package/dist/libraries/backend/routes/productRoutes.mjs +3 -3
  38. package/dist/libraries/backend/routes/referralRoutes.js +25 -0
  39. package/dist/libraries/backend/routes/referralRoutes.mjs +3 -3
  40. package/dist/libraries/backend/supabase.js +25 -0
  41. package/dist/libraries/backend/supabase.mjs +7 -7
  42. package/dist/libraries/backend/tanstack.js +25 -0
  43. package/dist/libraries/backend/tanstack.mjs +7 -7
  44. package/dist/libraries/backend/utils/backendRes.js +25 -0
  45. package/dist/libraries/backend/utils/backendRes.mjs +1 -1
  46. package/dist/libraries/backend/utils/withAuth.js +25 -0
  47. package/dist/libraries/backend/utils/withAuth.mjs +2 -2
  48. package/dist/libraries/react/AutumnContext.d.mts +6 -6
  49. package/dist/libraries/react/AutumnContext.d.ts +6 -6
  50. package/dist/libraries/react/AutumnContext.js +28 -1
  51. package/dist/libraries/react/AutumnContext.mjs +6 -6
  52. package/dist/libraries/react/BaseAutumnProvider.d.mts +7 -7
  53. package/dist/libraries/react/BaseAutumnProvider.d.ts +7 -7
  54. package/dist/libraries/react/BaseAutumnProvider.js +33 -3
  55. package/dist/libraries/react/BaseAutumnProvider.mjs +11 -11
  56. package/dist/libraries/react/{ReactAutumnClient-_y4Ea48c.d.mts → ReactAutumnClient-BBQsSJYU.d.mts} +62 -10
  57. package/dist/libraries/react/{ReactAutumnClient-BqEB-TPz.d.ts → ReactAutumnClient-VD1rcIPC.d.ts} +62 -10
  58. package/dist/libraries/react/ReactAutumnProvider.d.mts +5 -4
  59. package/dist/libraries/react/ReactAutumnProvider.d.ts +5 -4
  60. package/dist/libraries/react/ReactAutumnProvider.js +359 -4
  61. package/dist/libraries/react/ReactAutumnProvider.mjs +13 -12
  62. package/dist/libraries/react/{attachTypes-gI6T0O95.d.mts → attachTypes-DJIr5ldB.d.mts} +1 -1
  63. package/dist/libraries/react/{attachTypes-DoCshKK6.d.ts → attachTypes-DVF4f7Hw.d.ts} +1 -1
  64. package/dist/libraries/react/{chunk-DKJJ2DGE.mjs → chunk-2CP6WKDX.mjs} +1 -1
  65. package/dist/libraries/react/{chunk-NFVAFRF6.mjs → chunk-2SFUXGFK.mjs} +1 -1
  66. package/dist/libraries/react/{chunk-HBJDIEEJ.mjs → chunk-4WAFPXBN.mjs} +1 -1
  67. package/dist/libraries/react/{chunk-4CO2JIMK.mjs → chunk-65UX5FJ5.mjs} +2 -2
  68. package/dist/libraries/react/{chunk-LJNV3I7J.mjs → chunk-7U6BZK2Q.mjs} +2 -2
  69. package/dist/libraries/react/{chunk-OLXLPM4L.mjs → chunk-DOC77WTB.mjs} +3 -3
  70. package/dist/libraries/react/{chunk-X6FMCHSB.mjs → chunk-F6DIQF5V.mjs} +6 -6
  71. package/dist/libraries/react/{chunk-65S4VY5K.mjs → chunk-GITYXFGP.mjs} +1 -1
  72. package/dist/libraries/react/{chunk-JFRVJJIG.mjs → chunk-IBGAE73H.mjs} +2 -2
  73. package/dist/libraries/react/{chunk-S5XNNFQO.mjs → chunk-JLAWCM26.mjs} +433 -431
  74. package/dist/libraries/react/{chunk-ABJEE3UK.mjs → chunk-KUFNEIRV.mjs} +25 -0
  75. package/dist/libraries/react/{chunk-WUEXMQIT.mjs → chunk-MLPVSH6P.mjs} +2 -2
  76. package/dist/libraries/react/{chunk-BD4NZOEZ.mjs → chunk-MUZHFEMO.mjs} +1 -1
  77. package/dist/libraries/react/{chunk-YE6KQQS7.mjs → chunk-MZ26ZDT3.mjs} +6 -6
  78. package/dist/libraries/react/{chunk-6VDZ3JMC.mjs → chunk-NBVPBAGX.mjs} +21 -19
  79. package/dist/libraries/react/{chunk-T6D3GYIH.mjs → chunk-O7IKBONA.mjs} +1 -1
  80. package/dist/libraries/react/{chunk-2PBWI3T6.mjs → chunk-PDLQNFRW.mjs} +17 -17
  81. package/dist/libraries/react/{chunk-E6XSQQPF.mjs → chunk-PE5RABEC.mjs} +14 -4
  82. package/dist/libraries/react/{chunk-SEFSA357.mjs → chunk-R7DEST3O.mjs} +6 -3
  83. package/dist/libraries/react/{chunk-L6LHSFXS.mjs → chunk-UGHMVXB7.mjs} +3 -3
  84. package/dist/libraries/react/{chunk-7PEELII6.mjs → chunk-UMG2RCCT.mjs} +2 -2
  85. package/dist/libraries/react/{chunk-VYBU4WHO.mjs → chunk-XR2XUVVC.mjs} +2 -2
  86. package/dist/libraries/react/{chunk-DAZBMK7R.mjs → chunk-YURNJN6P.mjs} +1 -1
  87. package/dist/libraries/react/chunk-ZUPU2EBK.mjs +327 -0
  88. package/dist/libraries/react/client/ConvexAutumnClient.d.mts +76 -0
  89. package/dist/libraries/react/client/ConvexAutumnClient.d.ts +76 -0
  90. package/dist/libraries/react/client/ConvexAutumnClient.js +1266 -0
  91. package/dist/libraries/react/client/ConvexAutumnClient.mjs +9 -0
  92. package/dist/libraries/react/client/ReactAutumnClient.d.mts +6 -6
  93. package/dist/libraries/react/client/ReactAutumnClient.d.ts +6 -6
  94. package/dist/libraries/react/client/ReactAutumnClient.js +28 -1
  95. package/dist/libraries/react/client/ReactAutumnClient.mjs +5 -5
  96. package/dist/libraries/react/client/clientCompMethods.d.mts +6 -6
  97. package/dist/libraries/react/client/clientCompMethods.d.ts +6 -6
  98. package/dist/libraries/react/client/clientCusMethods.d.mts +6 -6
  99. package/dist/libraries/react/client/clientCusMethods.d.ts +6 -6
  100. package/dist/libraries/react/client/clientEntityMethods.d.mts +6 -6
  101. package/dist/libraries/react/client/clientEntityMethods.d.ts +6 -6
  102. package/dist/libraries/react/client/clientGenMethods.d.mts +6 -6
  103. package/dist/libraries/react/client/clientGenMethods.d.ts +6 -6
  104. package/dist/libraries/react/client/clientProdMethods.d.mts +6 -6
  105. package/dist/libraries/react/client/clientProdMethods.d.ts +6 -6
  106. package/dist/libraries/react/client/clientReferralMethods.d.mts +6 -6
  107. package/dist/libraries/react/client/clientReferralMethods.d.ts +6 -6
  108. package/dist/libraries/react/client/types/clientGenTypes.js +25 -0
  109. package/dist/libraries/react/client/types/clientGenTypes.mjs +1 -1
  110. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.d.mts +2 -2
  111. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.d.ts +2 -2
  112. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.js +33 -3
  113. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.mjs +32 -31
  114. package/dist/libraries/react/components/checkout-dialog/lib/checkout-content.d.mts +2 -2
  115. package/dist/libraries/react/components/checkout-dialog/lib/checkout-content.d.ts +2 -2
  116. package/dist/libraries/react/components/paywall-dialog/lib/paywall-content.d.mts +1 -1
  117. package/dist/libraries/react/components/paywall-dialog/lib/paywall-content.d.ts +1 -1
  118. package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.js +28 -1
  119. package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.mjs +32 -31
  120. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.mts +1 -1
  121. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.ts +1 -1
  122. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.mts +1 -1
  123. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.ts +1 -1
  124. package/dist/libraries/react/components/pricing-table/pricing-table-synced.js +33 -3
  125. package/dist/libraries/react/components/pricing-table/pricing-table-synced.mjs +32 -31
  126. package/dist/libraries/react/components/ui/accordion.mjs +3 -3
  127. package/dist/libraries/react/components/ui/dialog.mjs +4 -4
  128. package/dist/libraries/react/components/ui/popover.mjs +5 -5
  129. package/dist/libraries/react/components/ui/switch.mjs +3 -3
  130. package/dist/libraries/react/{cusTypes-DckkwpWg.d.ts → cusTypes-CEb_KwPo.d.ts} +1 -1
  131. package/dist/libraries/react/{cusTypes-UwHT30-L.d.mts → cusTypes-DynqPCZH.d.mts} +1 -1
  132. package/dist/libraries/react/{entTypes-BWsQfaNZ.d.ts → entTypes--Y-4T20Y.d.ts} +1 -1
  133. package/dist/libraries/react/{entTypes-DcRz1vjc.d.mts → entTypes-DjasDDYh.d.mts} +1 -1
  134. package/dist/libraries/react/{genTypes-C_ilxndU.d.mts → genTypes-DdYlVEah.d.mts} +1 -1
  135. package/dist/libraries/react/{genTypes-DjcQWIOM.d.ts → genTypes-aPPwPimh.d.ts} +1 -1
  136. package/dist/libraries/react/hooks/helpers/handleCheck.d.mts +6 -6
  137. package/dist/libraries/react/hooks/helpers/handleCheck.d.ts +6 -6
  138. package/dist/libraries/react/hooks/helpers/handleCheck.js +30 -2
  139. package/dist/libraries/react/hooks/helpers/handleCheck.mjs +2 -2
  140. package/dist/libraries/react/hooks/helpers/useAutumnBase.d.mts +12 -28
  141. package/dist/libraries/react/hooks/helpers/useAutumnBase.d.ts +12 -28
  142. package/dist/libraries/react/hooks/helpers/useAutumnBase.js +25 -0
  143. package/dist/libraries/react/hooks/helpers/useAutumnBase.mjs +3 -3
  144. package/dist/libraries/react/hooks/useAnalytics.d.mts +2 -2
  145. package/dist/libraries/react/hooks/useAnalytics.d.ts +2 -2
  146. package/dist/libraries/react/hooks/useAnalytics.js +28 -1
  147. package/dist/libraries/react/hooks/useAnalytics.mjs +7 -7
  148. package/dist/libraries/react/hooks/useCustomer.d.mts +7 -6
  149. package/dist/libraries/react/hooks/useCustomer.d.ts +7 -6
  150. package/dist/libraries/react/hooks/useCustomer.js +33 -3
  151. package/dist/libraries/react/hooks/useCustomer.mjs +11 -11
  152. package/dist/libraries/react/hooks/useCustomerBase.d.mts +8 -7
  153. package/dist/libraries/react/hooks/useCustomerBase.d.ts +8 -7
  154. package/dist/libraries/react/hooks/useCustomerBase.js +33 -3
  155. package/dist/libraries/react/hooks/useCustomerBase.mjs +10 -10
  156. package/dist/libraries/react/hooks/useEntity.d.mts +6 -20
  157. package/dist/libraries/react/hooks/useEntity.d.ts +6 -20
  158. package/dist/libraries/react/hooks/useEntity.js +33 -3
  159. package/dist/libraries/react/hooks/useEntity.mjs +11 -11
  160. package/dist/libraries/react/hooks/useEntityBase.d.mts +8 -22
  161. package/dist/libraries/react/hooks/useEntityBase.d.ts +8 -22
  162. package/dist/libraries/react/hooks/useEntityBase.js +33 -3
  163. package/dist/libraries/react/hooks/useEntityBase.mjs +10 -10
  164. package/dist/libraries/react/hooks/usePaywall.d.mts +1 -1
  165. package/dist/libraries/react/hooks/usePaywall.d.ts +1 -1
  166. package/dist/libraries/react/hooks/usePaywall.js +28 -1
  167. package/dist/libraries/react/hooks/usePaywall.mjs +7 -7
  168. package/dist/libraries/react/hooks/usePricingTable.d.mts +1 -1
  169. package/dist/libraries/react/hooks/usePricingTable.d.ts +1 -1
  170. package/dist/libraries/react/hooks/usePricingTable.js +28 -1
  171. package/dist/libraries/react/hooks/usePricingTable.mjs +8 -8
  172. package/dist/libraries/react/hooks/usePricingTableBase.d.mts +8 -7
  173. package/dist/libraries/react/hooks/usePricingTableBase.d.ts +8 -7
  174. package/dist/libraries/react/hooks/usePricingTableBase.js +25 -0
  175. package/dist/libraries/react/hooks/usePricingTableBase.mjs +2 -2
  176. package/dist/libraries/react/hooks/useProductsBase.d.mts +6 -6
  177. package/dist/libraries/react/hooks/useProductsBase.d.ts +6 -6
  178. package/dist/libraries/react/index.d.mts +4 -17
  179. package/dist/libraries/react/index.d.ts +4 -17
  180. package/dist/libraries/react/index.js +359 -4
  181. package/dist/libraries/react/index.mjs +359 -4
  182. package/dist/libraries/react/{prodTypes-B8NdKyKo.d.ts → prodTypes-C8xRoBP7.d.mts} +1 -1
  183. package/dist/libraries/react/{prodTypes-B8NdKyKo.d.mts → prodTypes-C8xRoBP7.d.ts} +1 -1
  184. package/dist/next/client/NextAutumnClient.d.mts +61 -10
  185. package/dist/next/client/NextAutumnClient.d.ts +61 -10
  186. package/dist/next/client/NextAutumnProvider.d.mts +2 -2
  187. package/dist/next/client/NextAutumnProvider.d.ts +2 -2
  188. package/dist/next/client/{clientAttachTypes-DPbDkX9E.d.mts → clientAttachTypes-BgiG9o_O.d.mts} +2 -2
  189. package/dist/next/client/{clientAttachTypes-DWfLqjO3.d.ts → clientAttachTypes-VNZGVMx6.d.ts} +2 -2
  190. package/dist/next/client/{attachTypes-x-hgg6BY.d.ts → clientEntTypes-BNVsUSBp.d.mts} +22 -2
  191. package/dist/next/client/{attachTypes-BOh_Skwx.d.mts → clientEntTypes-DmhBcFyI.d.ts} +22 -2
  192. package/dist/next/client/clientUtils.d.mts +3 -3
  193. package/dist/next/client/clientUtils.d.ts +3 -3
  194. package/dist/next/client/{cusTypes-CcUOSzBw.d.ts → cusTypes-5W4JVk2C.d.ts} +1 -1
  195. package/dist/next/client/{cusTypes-dipsR4ST.d.mts → cusTypes-Cb9Peq72.d.mts} +1 -1
  196. package/dist/next/client/{entTypes-BwBtFwJP.d.ts → entTypes-B2gnYOgY.d.ts} +1 -1
  197. package/dist/next/client/{entTypes-BzKJAjff.d.mts → entTypes-R0fGEyG8.d.mts} +1 -1
  198. package/dist/next/client/hooks/useAutumn.d.mts +7 -25
  199. package/dist/next/client/hooks/useAutumn.d.ts +7 -25
  200. package/dist/next/client/hooks/useCustomer.d.mts +5 -6
  201. package/dist/next/client/hooks/useCustomer.d.ts +5 -6
  202. package/dist/next/client/hooks/useEntity.d.mts +6 -20
  203. package/dist/next/client/hooks/useEntity.d.ts +6 -20
  204. package/dist/next/client/hooks/usePricingTable.d.mts +1 -1
  205. package/dist/next/client/hooks/usePricingTable.d.ts +1 -1
  206. package/dist/next/client/{prodTypes-DwM7QuGf.d.mts → prodTypes-BC--Np0p.d.mts} +1 -1
  207. package/dist/next/client/{prodTypes-DwM7QuGf.d.ts → prodTypes-BC--Np0p.d.ts} +1 -1
  208. package/dist/next/client/types.d.mts +3 -3
  209. package/dist/next/client/types.d.ts +3 -3
  210. package/dist/sdk/index.d.mts +1 -1
  211. package/dist/sdk/index.d.ts +1 -1
  212. package/dist/sdk/index.js +24 -0
  213. package/dist/sdk/index.mjs +24 -1
  214. package/dist/utils/encryptUtils.js +25 -0
  215. package/dist/utils/encryptUtils.mjs +25 -0
  216. package/package.json +5 -4
  217. package/dist/next/client/clientEntTypes-DHKeY0pG.d.mts +0 -21
  218. package/dist/next/client/clientEntTypes-DHKeY0pG.d.ts +0 -21
  219. package/dist/libraries/react/{chunk-YN67J64M.mjs → chunk-D3PGSU2Q.mjs} +11 -11
@@ -433,9 +433,10 @@ interface RedeemReferralCodeResult {
433
433
  reward_id: string;
434
434
  }
435
435
 
436
- declare const ReactAutumnProvider: ({ children, getBearerToken, backendUrl, customerData, includeCredentials, betterAuthUrl, headers, convexApi, }: {
436
+ declare const ReactAutumnProvider: ({ children, getBearerToken, convex, backendUrl, customerData, includeCredentials, betterAuthUrl, headers, convexApi, }: {
437
437
  children: React.ReactNode;
438
- getBearerToken?: () => Promise<string | null | undefined>;
438
+ getBearerToken?: () => Promise<string | null>;
439
+ convex?: any;
439
440
  backendUrl?: string;
440
441
  customerData?: CustomerData;
441
442
  includeCredentials?: boolean;
@@ -711,21 +712,7 @@ declare const useEntity: (entityId: string | null, params?: GetEntityParams) =>
711
712
  data: CheckResult;
712
713
  error: null;
713
714
  };
714
- attach: (params: AttachParams) => Promise<Result<{
715
- customer_id: string;
716
- product_ids: string[];
717
- code: string;
718
- message: string;
719
- checkout_url?: string | undefined;
720
- customer_data?: any;
721
- invoice?: {
722
- status: string;
723
- stripe_id: string;
724
- hosted_invoice_url: string | null;
725
- total: number;
726
- currency: string;
727
- } | undefined;
728
- } | CheckResult, AutumnError>>;
715
+ attach: (params: AttachParams) => Promise<any>;
729
716
  cancel: (params: CancelParams) => AutumnPromise<{
730
717
  success: boolean;
731
718
  customer_id: string;
@@ -1000,6 +1000,31 @@ var CheckoutParamsSchema = import_v47.z.object({
1000
1000
  reward: import_v47.z.string().optional()
1001
1001
  });
1002
1002
 
1003
+ // src/sdk/features/featureTypes.ts
1004
+ var import_zod = require("zod");
1005
+ var FeatureType = /* @__PURE__ */ ((FeatureType2) => {
1006
+ FeatureType2["Boolean"] = "boolean";
1007
+ FeatureType2["SingleUse"] = "single_use";
1008
+ FeatureType2["ContinuousUse"] = "continuous_use";
1009
+ FeatureType2["CreditSystem"] = "credit_system";
1010
+ return FeatureType2;
1011
+ })(FeatureType || {});
1012
+ var FeatureSchema = import_zod.z.object({
1013
+ id: import_zod.z.string(),
1014
+ name: import_zod.z.string().nullish(),
1015
+ type: import_zod.z.nativeEnum(FeatureType),
1016
+ display: import_zod.z.object({
1017
+ singular: import_zod.z.string(),
1018
+ plural: import_zod.z.string()
1019
+ }).nullish(),
1020
+ credit_schema: import_zod.z.array(
1021
+ import_zod.z.object({
1022
+ metered_feature_id: import_zod.z.string(),
1023
+ credit_cost: import_zod.z.number()
1024
+ })
1025
+ ).nullish()
1026
+ });
1027
+
1003
1028
  // src/libraries/react/errorUtils/logFetchError.ts
1004
1029
  var logFetchError = ({
1005
1030
  method,
@@ -1209,8 +1234,10 @@ var AutumnClient = class {
1209
1234
  `[Autumn] To disable this warning, you can set includeCredentials={${corsResult.includeCredentials ? "true" : "false"}} in <AutumnProvider />`
1210
1235
  );
1211
1236
  this.includeCredentials = corsResult.includeCredentials;
1237
+ return corsResult.includeCredentials || false;
1212
1238
  }
1213
- return corsResult.includeCredentials || false;
1239
+ console.warn(`[Autumn] CORS detection failed, defaulting to false`);
1240
+ return false;
1214
1241
  } catch (error) {
1215
1242
  console.error(`[Autumn] Error detecting CORS: ${error.message}`);
1216
1243
  return false;
@@ -1714,7 +1741,7 @@ var getCusFeature = ({
1714
1741
  requiredBalance = 1
1715
1742
  }) => {
1716
1743
  let cusFeature = customer.features[featureId];
1717
- if (cusFeature && typeof cusFeature.balance === "number" && cusFeature.balance >= (requiredBalance ?? 1)) {
1744
+ if (cusFeature && typeof cusFeature.balance === "number" && cusFeature.balance >= requiredBalance) {
1718
1745
  return {
1719
1746
  cusFeature,
1720
1747
  requiredBalance
@@ -1760,7 +1787,10 @@ var handleFeatureCheck = ({
1760
1787
  featureId: params.featureId,
1761
1788
  ...params.requiredBalance ? { requiredBalance: params.requiredBalance } : {}
1762
1789
  });
1763
- let allowed = getFeatureAllowed({ cusFeature, requiredBalance });
1790
+ let allowed = getFeatureAllowed({
1791
+ cusFeature,
1792
+ requiredBalance: requiredBalance ?? 1
1793
+ });
1764
1794
  let result = {
1765
1795
  allowed,
1766
1796
  feature_id: cusFeature?.id ?? params.featureId,
@@ -2013,6 +2043,324 @@ function BaseAutumnProvider({
2013
2043
  );
2014
2044
  }
2015
2045
 
2046
+ // src/libraries/react/client/ConvexAutumnClient.tsx
2047
+ var ConvexAutumnClient = class {
2048
+ convexApi;
2049
+ convex;
2050
+ // protected readonly convexClient: ConvexHttpClient;
2051
+ customerData;
2052
+ headers;
2053
+ backendUrl = void 0;
2054
+ prefix = "/api/convex";
2055
+ getBearerToken;
2056
+ // Stub implementations for HTTP-specific methods that the interface requires
2057
+ async detectCors() {
2058
+ return {
2059
+ valid: true,
2060
+ includeCredentials: false
2061
+ };
2062
+ }
2063
+ async shouldIncludeCredentials() {
2064
+ return false;
2065
+ }
2066
+ async getHeaders() {
2067
+ return { "Content-Type": "application/json" };
2068
+ }
2069
+ async handleFetch() {
2070
+ throw new Error("HTTP methods not supported in Convex mode");
2071
+ }
2072
+ async post() {
2073
+ throw new Error("HTTP methods not supported in Convex mode");
2074
+ }
2075
+ async get() {
2076
+ throw new Error("HTTP methods not supported in Convex mode");
2077
+ }
2078
+ async delete() {
2079
+ throw new Error("HTTP methods not supported in Convex mode");
2080
+ }
2081
+ constructor({
2082
+ convexApi,
2083
+ customerData,
2084
+ headers,
2085
+ getBearerToken,
2086
+ convex
2087
+ }) {
2088
+ this.convex = convex;
2089
+ this.convexApi = convexApi;
2090
+ this.getBearerToken = getBearerToken;
2091
+ this.customerData = customerData;
2092
+ this.headers = headers;
2093
+ }
2094
+ async createCustomer(params) {
2095
+ try {
2096
+ const result = await this.convex.action(
2097
+ this.convexApi.createCustomer,
2098
+ params
2099
+ );
2100
+ return result;
2101
+ } catch (error) {
2102
+ return {
2103
+ data: null,
2104
+ error: new AutumnError({
2105
+ message: error.message,
2106
+ code: "convex_action_failed"
2107
+ })
2108
+ };
2109
+ }
2110
+ }
2111
+ async getPricingTable() {
2112
+ return {
2113
+ data: null,
2114
+ error: new AutumnError({
2115
+ message: "getPricingTable not yet implemented for Convex",
2116
+ code: "not_implemented"
2117
+ })
2118
+ };
2119
+ }
2120
+ // Core methods that wrap Convex actions
2121
+ attach = async (args) => {
2122
+ try {
2123
+ const { dialog, ...backendArgs } = args;
2124
+ const result = await this.convex.action(
2125
+ this.convexApi.attach,
2126
+ backendArgs
2127
+ );
2128
+ return result;
2129
+ } catch (error) {
2130
+ return {
2131
+ data: null,
2132
+ error: new AutumnError({
2133
+ message: error.message,
2134
+ code: "convex_action_failed"
2135
+ })
2136
+ };
2137
+ }
2138
+ };
2139
+ checkout = async (args) => {
2140
+ try {
2141
+ const { dialog, ...backendArgs } = args;
2142
+ const result = await this.convex.action(
2143
+ this.convexApi.checkout,
2144
+ backendArgs
2145
+ );
2146
+ return result;
2147
+ } catch (error) {
2148
+ return {
2149
+ data: null,
2150
+ error: new AutumnError({
2151
+ message: error.message,
2152
+ code: "convex_action_failed"
2153
+ })
2154
+ };
2155
+ }
2156
+ };
2157
+ cancel = async (args) => {
2158
+ try {
2159
+ const result = await this.convex.action(this.convexApi.cancel, args);
2160
+ return result;
2161
+ } catch (error) {
2162
+ return {
2163
+ data: null,
2164
+ error: new AutumnError({
2165
+ message: error.message,
2166
+ code: "convex_action_failed"
2167
+ })
2168
+ };
2169
+ }
2170
+ };
2171
+ check = async (args) => {
2172
+ try {
2173
+ const result = await this.convex.action(this.convexApi.check, args);
2174
+ return result;
2175
+ } catch (error) {
2176
+ return {
2177
+ data: null,
2178
+ error: new AutumnError({
2179
+ message: error.message,
2180
+ code: "convex_action_failed"
2181
+ })
2182
+ };
2183
+ }
2184
+ };
2185
+ track = async (args) => {
2186
+ try {
2187
+ const result = await this.convex.action(this.convexApi.track, args);
2188
+ return result;
2189
+ } catch (error) {
2190
+ return {
2191
+ data: null,
2192
+ error: new AutumnError({
2193
+ message: error.message,
2194
+ code: "convex_action_failed"
2195
+ })
2196
+ };
2197
+ }
2198
+ };
2199
+ openBillingPortal = async (args) => {
2200
+ try {
2201
+ const result = await this.convex.action(this.convexApi.billingPortal, {
2202
+ ...args,
2203
+ openInNewTab: void 0
2204
+ });
2205
+ return result;
2206
+ } catch (error) {
2207
+ return {
2208
+ data: null,
2209
+ error: new AutumnError({
2210
+ message: error.message,
2211
+ code: "convex_action_failed"
2212
+ })
2213
+ };
2214
+ }
2215
+ };
2216
+ setupPayment = async (args) => {
2217
+ try {
2218
+ const result = await this.convex.action(
2219
+ this.convexApi.setupPayment,
2220
+ args
2221
+ );
2222
+ return result;
2223
+ } catch (error) {
2224
+ return {
2225
+ data: null,
2226
+ error: new AutumnError({
2227
+ message: error.message,
2228
+ code: "convex_action_failed"
2229
+ })
2230
+ };
2231
+ }
2232
+ };
2233
+ query = async (args) => {
2234
+ try {
2235
+ const result = await this.convex.action(this.convexApi.query, args);
2236
+ return result;
2237
+ } catch (error) {
2238
+ return {
2239
+ data: null,
2240
+ error: new AutumnError({
2241
+ message: error.message,
2242
+ code: "convex_action_failed"
2243
+ })
2244
+ };
2245
+ }
2246
+ };
2247
+ entities = {
2248
+ create: async (args) => {
2249
+ try {
2250
+ if (Array.isArray(args)) {
2251
+ throw new Error(
2252
+ "Passing an array of entities to createEntity() is not supported for Convex"
2253
+ );
2254
+ } else {
2255
+ const result = await this.convex.action(
2256
+ this.convexApi.createEntity,
2257
+ args
2258
+ );
2259
+ return result;
2260
+ }
2261
+ } catch (error) {
2262
+ return {
2263
+ data: null,
2264
+ error: new AutumnError({
2265
+ message: error.message,
2266
+ code: "convex_action_failed"
2267
+ })
2268
+ };
2269
+ }
2270
+ },
2271
+ get: async (entityId, args) => {
2272
+ try {
2273
+ const result = await this.convex.action(this.convexApi.getEntity, {
2274
+ entityId,
2275
+ ...args
2276
+ });
2277
+ return result;
2278
+ } catch (error) {
2279
+ console.error("Error fetching entity: ", error);
2280
+ return {
2281
+ data: null,
2282
+ error: new AutumnError({
2283
+ message: error.message,
2284
+ code: "convex_action_failed"
2285
+ })
2286
+ };
2287
+ }
2288
+ },
2289
+ delete: async (args) => {
2290
+ try {
2291
+ const result = await this.convex.action(
2292
+ this.convexApi.deleteEntity,
2293
+ args
2294
+ );
2295
+ return result;
2296
+ } catch (error) {
2297
+ return {
2298
+ data: null,
2299
+ error: new AutumnError({
2300
+ message: error.message,
2301
+ code: "convex_action_failed"
2302
+ })
2303
+ };
2304
+ }
2305
+ }
2306
+ };
2307
+ referrals = {
2308
+ createCode: async (args) => {
2309
+ try {
2310
+ const result = await this.convex.action(
2311
+ this.convexApi.createReferralCode,
2312
+ args
2313
+ );
2314
+ return result;
2315
+ } catch (error) {
2316
+ return {
2317
+ data: null,
2318
+ error: new AutumnError({
2319
+ message: error.message,
2320
+ code: "convex_action_failed"
2321
+ })
2322
+ };
2323
+ }
2324
+ },
2325
+ redeemCode: async (args) => {
2326
+ try {
2327
+ const result = await this.convex.action(
2328
+ this.convexApi.redeemReferralCode,
2329
+ args
2330
+ );
2331
+ return result;
2332
+ } catch (error) {
2333
+ return {
2334
+ data: null,
2335
+ error: new AutumnError({
2336
+ message: error.message,
2337
+ code: "convex_action_failed"
2338
+ })
2339
+ };
2340
+ }
2341
+ }
2342
+ };
2343
+ products = {
2344
+ list: async () => {
2345
+ try {
2346
+ const result = await this.convex.action(
2347
+ this.convexApi.listProducts,
2348
+ {}
2349
+ );
2350
+ return result;
2351
+ } catch (error) {
2352
+ return {
2353
+ data: null,
2354
+ error: new AutumnError({
2355
+ message: error.message,
2356
+ code: "convex_action_failed"
2357
+ })
2358
+ };
2359
+ }
2360
+ }
2361
+ };
2362
+ };
2363
+
2016
2364
  // src/libraries/react/ReactAutumnProvider.tsx
2017
2365
  var import_jsx_runtime2 = require("react/jsx-runtime");
2018
2366
  var getBackendUrl = (backendUrl) => {
@@ -2027,6 +2375,7 @@ var getBackendUrl = (backendUrl) => {
2027
2375
  var ReactAutumnProvider = ({
2028
2376
  children,
2029
2377
  getBearerToken,
2378
+ convex,
2030
2379
  backendUrl,
2031
2380
  customerData,
2032
2381
  includeCredentials,
@@ -2034,7 +2383,13 @@ var ReactAutumnProvider = ({
2034
2383
  headers,
2035
2384
  convexApi
2036
2385
  }) => {
2037
- let client = new AutumnClient({
2386
+ let client = convexApi ? new ConvexAutumnClient({
2387
+ convex,
2388
+ convexApi,
2389
+ customerData,
2390
+ headers,
2391
+ getBearerToken
2392
+ }) : new AutumnClient({
2038
2393
  backendUrl: getBackendUrl(backendUrl),
2039
2394
  getBearerToken,
2040
2395
  customerData,