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
@@ -0,0 +1,1263 @@
1
+ "use client";
2
+
3
+ "use strict";
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+
22
+ // src/libraries/react/client/ConvexAutumnClient.tsx
23
+ var ConvexAutumnClient_exports = {};
24
+ __export(ConvexAutumnClient_exports, {
25
+ ConvexAutumnClient: () => ConvexAutumnClient
26
+ });
27
+ module.exports = __toCommonJS(ConvexAutumnClient_exports);
28
+
29
+ // src/sdk/error.ts
30
+ var AutumnError = class _AutumnError extends Error {
31
+ message;
32
+ code;
33
+ constructor(response) {
34
+ super(response.message);
35
+ this.message = response.message;
36
+ this.code = response.code;
37
+ }
38
+ static fromError(error) {
39
+ return new _AutumnError({
40
+ message: error.message || "Unknown error",
41
+ code: error.code || "unknown_error"
42
+ });
43
+ }
44
+ toString() {
45
+ return `${this.message} (code: ${this.code})`;
46
+ }
47
+ toJSON() {
48
+ return {
49
+ message: this.message,
50
+ code: this.code
51
+ };
52
+ }
53
+ };
54
+
55
+ // src/sdk/general/genMethods.ts
56
+ var handleCheckout = async ({
57
+ instance,
58
+ params
59
+ }) => {
60
+ return instance.post("/checkout", params);
61
+ };
62
+ var handleAttach = async ({
63
+ instance,
64
+ params
65
+ }) => {
66
+ return instance.post("/attach", params);
67
+ };
68
+ var handleSetupPayment = async ({
69
+ instance,
70
+ params
71
+ }) => {
72
+ return instance.post("/setup_payment", params);
73
+ };
74
+ var handleCancel = async ({
75
+ instance,
76
+ params
77
+ }) => {
78
+ return instance.post("/cancel", params);
79
+ };
80
+ var handleTrack = async ({
81
+ instance,
82
+ params
83
+ }) => {
84
+ return instance.post("/track", params);
85
+ };
86
+ var handleUsage = async ({
87
+ instance,
88
+ params
89
+ }) => {
90
+ return instance.post("/usage", params);
91
+ };
92
+ var handleCheck = async ({
93
+ instance,
94
+ params
95
+ }) => {
96
+ return instance.post("/check", params);
97
+ };
98
+ var handleQuery = async ({
99
+ instance,
100
+ params
101
+ }) => {
102
+ return instance.post("/query", params);
103
+ };
104
+
105
+ // src/libraries/backend/constants.ts
106
+ var autumnApiUrl = "https://api.useautumn.com/v1";
107
+
108
+ // src/sdk/utils.ts
109
+ var staticWrapper = (callback, instance, args) => {
110
+ if (!instance) {
111
+ instance = new Autumn();
112
+ }
113
+ return callback({ instance, ...args });
114
+ };
115
+
116
+ // src/sdk/customers/cusMethods.ts
117
+ var customerMethods = (instance) => {
118
+ return {
119
+ get: (id, params) => staticWrapper(getCustomer, instance, { id, params }),
120
+ create: (params) => staticWrapper(createCustomer, instance, { params }),
121
+ update: (id, params) => staticWrapper(updateCustomer, instance, { id, params }),
122
+ delete: (id) => staticWrapper(deleteCustomer, instance, { id }),
123
+ billingPortal: (id, params) => staticWrapper(billingPortal, instance, { id, params }),
124
+ updateBalances: (id, params) => staticWrapper(updateBalances, instance, { id, params })
125
+ };
126
+ };
127
+ var getExpandStr = (expand) => {
128
+ if (!expand) {
129
+ return "";
130
+ }
131
+ return `expand=${expand.join(",")}`;
132
+ };
133
+ var getCustomer = async ({
134
+ instance,
135
+ id,
136
+ params
137
+ }) => {
138
+ if (!id) {
139
+ return {
140
+ data: null,
141
+ error: new AutumnError({
142
+ message: "Customer ID is required",
143
+ code: "CUSTOMER_ID_REQUIRED"
144
+ })
145
+ };
146
+ }
147
+ return instance.get(`/customers/${id}?${getExpandStr(params?.expand)}`);
148
+ };
149
+ var createCustomer = async ({
150
+ instance,
151
+ params
152
+ }) => {
153
+ return instance.post(`/customers?${getExpandStr(params?.expand)}`, params);
154
+ };
155
+ var updateCustomer = async ({
156
+ instance,
157
+ id,
158
+ params
159
+ }) => {
160
+ return instance.post(`/customers/${id}`, params);
161
+ };
162
+ var deleteCustomer = async ({
163
+ instance,
164
+ id
165
+ }) => {
166
+ return instance.delete(`/customers/${id}`);
167
+ };
168
+ var billingPortal = async ({
169
+ instance,
170
+ id,
171
+ params
172
+ }) => {
173
+ return instance.post(`/customers/${id}/billing_portal`, params);
174
+ };
175
+ var updateBalances = async ({
176
+ instance,
177
+ id,
178
+ params
179
+ }) => {
180
+ return instance.post(`/customers/${id}/balances`, {
181
+ balances: Array.isArray(params) ? params : [params]
182
+ });
183
+ };
184
+
185
+ // src/sdk/customers/entities/entMethods.ts
186
+ var entityMethods = (instance) => {
187
+ return {
188
+ get: (customer_id, entity_id, params) => staticWrapper(getEntity, instance, {
189
+ customer_id,
190
+ entity_id,
191
+ params
192
+ }),
193
+ create: (customer_id, params) => staticWrapper(createEntity, instance, { customer_id, params }),
194
+ transfer: (customer_id, params) => staticWrapper(transferProduct, instance, { customer_id, params }),
195
+ delete: (customer_id, entity_id) => staticWrapper(deleteEntity, instance, { customer_id, entity_id })
196
+ };
197
+ };
198
+ var getExpandStr2 = (expand) => {
199
+ if (!expand) {
200
+ return "";
201
+ }
202
+ return `expand=${expand.join(",")}`;
203
+ };
204
+ var getEntity = async ({
205
+ instance,
206
+ customer_id,
207
+ entity_id,
208
+ params
209
+ }) => {
210
+ return instance.get(
211
+ `/customers/${customer_id}/entities/${entity_id}?${getExpandStr2(
212
+ params?.expand
213
+ )}`
214
+ );
215
+ };
216
+ var createEntity = async ({
217
+ instance,
218
+ customer_id,
219
+ params
220
+ }) => {
221
+ return instance.post(`/customers/${customer_id}/entities`, params);
222
+ };
223
+ var deleteEntity = async ({
224
+ instance,
225
+ customer_id,
226
+ entity_id
227
+ }) => {
228
+ return instance.delete(`/customers/${customer_id}/entities/${entity_id}`);
229
+ };
230
+ var transferProduct = async ({
231
+ instance,
232
+ customer_id,
233
+ params
234
+ }) => {
235
+ return instance.post(`/customers/${customer_id}/transfer`, params);
236
+ };
237
+
238
+ // src/sdk/products/prodMethods.ts
239
+ var productMethods = (instance) => {
240
+ return {
241
+ get: (id) => staticWrapper(getProduct, instance, { id }),
242
+ create: (params) => staticWrapper(createProduct, instance, { params }),
243
+ list: (params) => staticWrapper(listProducts, instance, { params })
244
+ };
245
+ };
246
+ var listProducts = async ({
247
+ instance,
248
+ params
249
+ }) => {
250
+ let path = "/products_beta";
251
+ if (params) {
252
+ const queryParams = new URLSearchParams();
253
+ for (const [key, value] of Object.entries(params)) {
254
+ if (value !== void 0) {
255
+ queryParams.append(key, String(value));
256
+ }
257
+ }
258
+ const queryString = queryParams.toString();
259
+ if (queryString) {
260
+ path += `?${queryString}`;
261
+ }
262
+ }
263
+ return instance.get(path);
264
+ };
265
+ var getProduct = async ({
266
+ instance,
267
+ id
268
+ }) => {
269
+ return instance.get(`/products/${id}`);
270
+ };
271
+ var createProduct = async ({
272
+ instance,
273
+ params
274
+ }) => {
275
+ return instance.post("/products", params);
276
+ };
277
+
278
+ // src/sdk/referrals/referralMethods.ts
279
+ var referralMethods = (instance) => {
280
+ return {
281
+ createCode: (params) => staticWrapper(createReferralCode, instance, { params }),
282
+ redeemCode: (params) => staticWrapper(redeemReferralCode, instance, { params })
283
+ };
284
+ };
285
+ var createReferralCode = async ({
286
+ instance,
287
+ params
288
+ }) => {
289
+ return instance.post("/referrals/code", params);
290
+ };
291
+ var redeemReferralCode = async ({
292
+ instance,
293
+ params
294
+ }) => {
295
+ return instance.post("/referrals/redeem", params);
296
+ };
297
+
298
+ // src/sdk/response.ts
299
+ var toContainerResult = async ({
300
+ response,
301
+ logger: logger2,
302
+ logError = true
303
+ }) => {
304
+ if (response.status < 200 || response.status >= 300) {
305
+ let error;
306
+ try {
307
+ error = await response.json();
308
+ if (logError) {
309
+ logger2.error(`[Autumn] ${error.message}`);
310
+ }
311
+ } catch (error2) {
312
+ throw error2;
313
+ return {
314
+ data: null,
315
+ error: new AutumnError({
316
+ message: "Failed to parse JSON response from Autumn",
317
+ code: "internal_error"
318
+ }),
319
+ statusCode: response.status
320
+ };
321
+ }
322
+ return {
323
+ data: null,
324
+ error: new AutumnError({
325
+ message: error.message,
326
+ code: error.code
327
+ }),
328
+ statusCode: response.status
329
+ };
330
+ }
331
+ try {
332
+ let data = await response.json();
333
+ return {
334
+ data,
335
+ error: null,
336
+ statusCode: response?.status
337
+ };
338
+ } catch (error) {
339
+ throw error;
340
+ return {
341
+ data: null,
342
+ error: new AutumnError({
343
+ message: "Failed to parse Autumn API response",
344
+ code: "internal_error"
345
+ }),
346
+ statusCode: response?.status
347
+ };
348
+ }
349
+ };
350
+
351
+ // src/utils/logger.ts
352
+ var getTime = () => {
353
+ let timeString = (/* @__PURE__ */ new Date()).toISOString();
354
+ return `[${timeString.split("T")[1].split(".")[0]}]`;
355
+ };
356
+ var greaterThanLevel = (level) => {
357
+ return levels.indexOf(level) >= levels.indexOf(logger.level);
358
+ };
359
+ var levels = ["debug", "info", "warn", "error", "fatal"];
360
+ var logger = {
361
+ ...console,
362
+ level: "info",
363
+ debug: (...args) => {
364
+ if (greaterThanLevel("debug")) {
365
+ console.log(getTime(), "DEBUG", ...args);
366
+ }
367
+ },
368
+ log: (...args) => {
369
+ console.log(getTime(), "INFO", ...args);
370
+ },
371
+ info: (...args) => {
372
+ if (greaterThanLevel("info")) {
373
+ console.log(getTime(), "INFO", ...args);
374
+ }
375
+ },
376
+ warn: (...args) => {
377
+ if (greaterThanLevel("warn")) {
378
+ console.log(getTime(), "WARN", ...args);
379
+ }
380
+ },
381
+ error: (...args) => {
382
+ if (greaterThanLevel("error")) {
383
+ console.log(getTime(), "ERROR", ...args);
384
+ }
385
+ }
386
+ };
387
+
388
+ // src/sdk/features/featureMethods.ts
389
+ var featureMethods = (instance) => {
390
+ return {
391
+ list: () => staticWrapper(listFeatures, instance, {})
392
+ };
393
+ };
394
+ var listFeatures = async ({
395
+ instance,
396
+ params
397
+ }) => {
398
+ let path = "/features";
399
+ if (params) {
400
+ const queryParams = new URLSearchParams();
401
+ for (const [key, value] of Object.entries(params)) {
402
+ if (value !== void 0) {
403
+ queryParams.append(key, String(value));
404
+ }
405
+ }
406
+ const queryString = queryParams.toString();
407
+ if (queryString) {
408
+ path += `?${queryString}`;
409
+ }
410
+ }
411
+ return instance.get(path);
412
+ };
413
+
414
+ // src/sdk/client.ts
415
+ var LATEST_API_VERSION = "1.2";
416
+ var Autumn = class {
417
+ secretKey;
418
+ publishableKey;
419
+ headers;
420
+ url;
421
+ logger = console;
422
+ constructor(options) {
423
+ try {
424
+ this.secretKey = options?.secretKey || process.env.AUTUMN_SECRET_KEY;
425
+ this.publishableKey = options?.publishableKey || process.env.AUTUMN_PUBLISHABLE_KEY;
426
+ } catch (error) {
427
+ }
428
+ if (!this.secretKey && !this.publishableKey && !options?.headers) {
429
+ throw new Error("Autumn secret key or publishable key is required");
430
+ }
431
+ this.headers = options?.headers || {
432
+ Authorization: `Bearer ${this.secretKey || this.publishableKey}`,
433
+ "Content-Type": "application/json"
434
+ };
435
+ let version = options?.version || LATEST_API_VERSION;
436
+ this.headers["x-api-version"] = version;
437
+ this.url = options?.url || autumnApiUrl;
438
+ this.logger = logger;
439
+ this.logger.level = options?.logLevel || "info";
440
+ }
441
+ async get(path) {
442
+ const response = await fetch(`${this.url}${path}`, {
443
+ headers: this.headers
444
+ });
445
+ return toContainerResult({ response, logger: this.logger });
446
+ }
447
+ async post(path, body) {
448
+ try {
449
+ const response = await fetch(`${this.url}${path}`, {
450
+ method: "POST",
451
+ headers: this.headers,
452
+ body: JSON.stringify(body)
453
+ });
454
+ return toContainerResult({ response, logger: this.logger });
455
+ } catch (error) {
456
+ console.error("Error sending request:", error);
457
+ throw error;
458
+ }
459
+ }
460
+ async delete(path) {
461
+ const response = await fetch(`${this.url}${path}`, {
462
+ method: "DELETE",
463
+ headers: this.headers
464
+ });
465
+ return toContainerResult({ response, logger: this.logger });
466
+ }
467
+ static customers = customerMethods();
468
+ static products = productMethods();
469
+ static entities = entityMethods();
470
+ static referrals = referralMethods();
471
+ static features = featureMethods();
472
+ customers = customerMethods(this);
473
+ products = productMethods(this);
474
+ entities = entityMethods(this);
475
+ referrals = referralMethods(this);
476
+ features = featureMethods(this);
477
+ /**
478
+ * Initiates a checkout flow for a product purchase.
479
+ *
480
+ * The checkout function handles the purchase process for products with pricing.
481
+ * It determines whether to show a dialog for user input or redirect directly
482
+ * to Stripe based on the customer's state and product requirements.
483
+ *
484
+ * @param params - Checkout parameters including product ID, customer data, and options
485
+ * @returns Promise resolving to checkout details including pricing, prorations, and URLs
486
+ *
487
+ * @example
488
+ * ```typescript
489
+ * const result = await autumn.checkout({
490
+ * customer_id: "user_123",
491
+ * product_id: "pro",
492
+ * success_url: "https://myapp.com/success"
493
+ * });
494
+ *
495
+ * if (result.url) {
496
+ * // Redirect to Stripe checkout
497
+ * window.location.href = result.url;
498
+ * }
499
+ * ```
500
+ */
501
+ async checkout(params) {
502
+ return handleCheckout({
503
+ instance: this,
504
+ params
505
+ });
506
+ }
507
+ static checkout = (params) => staticWrapper(handleCheckout, void 0, { params });
508
+ static usage = (params) => staticWrapper(handleUsage, void 0, { params });
509
+ /**
510
+ * Attaches a product to a customer, enabling access and handling billing.
511
+ *
512
+ * The attach function activates a product for a customer and applies all product items.
513
+ * When you attach a product:
514
+ * - The customer gains access to all features in the product
515
+ * - If the product has prices, the customer will be billed accordingly
516
+ * - If there's no existing payment method, a checkout URL will be generated
517
+ *
518
+ * @param params - Attach parameters including customer ID, product ID, and options
519
+ * @returns Promise resolving to attachment result with checkout URL if needed
520
+ *
521
+ * @example
522
+ * ```typescript
523
+ * const result = await autumn.attach({
524
+ * customer_id: "user_123",
525
+ * product_id: "pro",
526
+ * success_url: "https://myapp.com/success"
527
+ * });
528
+ *
529
+ * if (result.checkout_url) {
530
+ * // Payment required - redirect to checkout
531
+ * window.location.href = result.checkout_url;
532
+ * } else {
533
+ * // Product successfully attached
534
+ * console.log("Access granted:", result.message);
535
+ * }
536
+ * ```
537
+ */
538
+ async attach(params) {
539
+ return handleAttach({
540
+ instance: this,
541
+ params
542
+ });
543
+ }
544
+ static attach = (params) => staticWrapper(handleAttach, void 0, { params });
545
+ static setupPayment = (params) => staticWrapper(handleSetupPayment, void 0, { params });
546
+ /**
547
+ * Sets up a payment method for a customer.
548
+ *
549
+ * This method allows you to set up payment methods for customers without
550
+ * immediately charging them. Useful for collecting payment information
551
+ * before product attachment or for updating existing payment methods.
552
+ *
553
+ * @param params - Setup payment parameters including customer information
554
+ * @returns Promise resolving to setup payment result
555
+ *
556
+ * @example
557
+ * ```typescript
558
+ * const result = await autumn.setupPayment({
559
+ * customer_id: "user_123"
560
+ * });
561
+ * ```
562
+ */
563
+ async setupPayment(params) {
564
+ return handleSetupPayment({
565
+ instance: this,
566
+ params
567
+ });
568
+ }
569
+ static cancel = (params) => staticWrapper(handleCancel, void 0, { params });
570
+ /**
571
+ * Cancels a customer's subscription or product attachment.
572
+ *
573
+ * This method allows you to cancel a customer's subscription to a specific product.
574
+ * You can choose to cancel immediately or at the end of the billing cycle.
575
+ *
576
+ * @param params - Cancel parameters including customer ID and product ID
577
+ * @returns Promise resolving to cancellation result
578
+ *
579
+ * @example
580
+ * ```typescript
581
+ * const result = await autumn.cancel({
582
+ * customer_id: "user_123",
583
+ * product_id: "pro",
584
+ * cancel_immediately: false // Cancel at end of billing cycle
585
+ * });
586
+ * ```
587
+ */
588
+ async cancel(params) {
589
+ return handleCancel({
590
+ instance: this,
591
+ params
592
+ });
593
+ }
594
+ static check = (params) => staticWrapper(handleCheck, void 0, { params });
595
+ /**
596
+ * Checks if a customer has access to a specific feature.
597
+ *
598
+ * This method verifies whether a customer has permission to use a feature
599
+ * and checks their remaining balance/usage limits. It can be used to gate
600
+ * features and determine when to show upgrade prompts.
601
+ *
602
+ * @param params - Check parameters including customer ID and feature ID
603
+ * @returns Promise resolving to access check result with allowed status and balance info
604
+ *
605
+ * @example
606
+ * ```typescript
607
+ * const result = await autumn.check({
608
+ * customer_id: "user_123",
609
+ * feature_id: "messages",
610
+ * required_balance: 1
611
+ * });
612
+ *
613
+ * if (!result.allowed) {
614
+ * console.log("Feature access denied - upgrade required");
615
+ * }
616
+ * ```
617
+ */
618
+ async check(params) {
619
+ return handleCheck({
620
+ instance: this,
621
+ params
622
+ });
623
+ }
624
+ static track = (params) => staticWrapper(handleTrack, void 0, { params });
625
+ /**
626
+ * Tracks usage events for features or analytics.
627
+ *
628
+ * This method records usage events for metered features, updating the customer's
629
+ * balance and usage statistics. It's typically used server-side to ensure
630
+ * accurate tracking that cannot be manipulated by users.
631
+ *
632
+ * @param params - Track parameters including customer ID, feature ID, and usage value
633
+ * @returns Promise resolving to tracking result
634
+ *
635
+ * @example
636
+ * ```typescript
637
+ * const result = await autumn.track({
638
+ * customer_id: "user_123",
639
+ * feature_id: "messages",
640
+ * value: 1 // Track 1 message sent
641
+ * });
642
+ * ```
643
+ */
644
+ async track(params) {
645
+ return handleTrack({
646
+ instance: this,
647
+ params
648
+ });
649
+ }
650
+ /**
651
+ * Retrieves usage statistics and analytics for a customer.
652
+ *
653
+ * This method fetches detailed usage information for a customer's features,
654
+ * including current balances, usage history, and analytics data. Useful
655
+ * for displaying usage dashboards or generating reports.
656
+ *
657
+ * @param params - Usage parameters including customer ID and optional filters
658
+ * @returns Promise resolving to usage statistics and analytics data
659
+ *
660
+ * @example
661
+ * ```typescript
662
+ * const result = await autumn.usage({
663
+ * customer_id: "user_123",
664
+ * feature_id: "messages"
665
+ * value: 20 // Usage value
666
+ * });
667
+ * ```
668
+ */
669
+ async usage(params) {
670
+ return handleUsage({
671
+ instance: this,
672
+ params
673
+ });
674
+ }
675
+ static query = (params) => staticWrapper(handleQuery, void 0, { params });
676
+ /**
677
+ * Performs advanced queries on customer data and analytics.
678
+ *
679
+ * This method allows you to run complex queries against customer data,
680
+ * usage patterns, and billing information. Useful for generating reports,
681
+ * analytics, and custom data insights.
682
+ *
683
+ * @param params - Query parameters including customer ID and query specifications
684
+ * @returns Promise resolving to query results with requested data
685
+ *
686
+ * @example
687
+ * ```typescript
688
+ * const result = await autumn.query({
689
+ * customer_id: "user_123",
690
+ * feature_id: "messages" // feature id to fetch for query, can also be an array
691
+ * });
692
+ *
693
+ * ```
694
+ */
695
+ async query(params) {
696
+ return handleQuery({
697
+ instance: this,
698
+ params
699
+ });
700
+ }
701
+ };
702
+
703
+ // src/sdk/products/prodEnums.ts
704
+ var ProductItemInterval = /* @__PURE__ */ ((ProductItemInterval2) => {
705
+ ProductItemInterval2["Minute"] = "minute";
706
+ ProductItemInterval2["Hour"] = "hour";
707
+ ProductItemInterval2["Day"] = "day";
708
+ ProductItemInterval2["Week"] = "week";
709
+ ProductItemInterval2["Month"] = "month";
710
+ ProductItemInterval2["Quarter"] = "quarter";
711
+ ProductItemInterval2["SemiAnnual"] = "semi_annual";
712
+ ProductItemInterval2["Year"] = "year";
713
+ ProductItemInterval2["Multiple"] = "multiple";
714
+ return ProductItemInterval2;
715
+ })(ProductItemInterval || {});
716
+
717
+ // src/sdk/customers/cusEnums.ts
718
+ var import_v4 = require("zod/v4");
719
+ var CustomerExpandEnum = import_v4.z.enum([
720
+ "invoices",
721
+ "rewards",
722
+ "trials_used",
723
+ "entities",
724
+ "referrals",
725
+ "payment_method"
726
+ ]);
727
+
728
+ // src/sdk/customers/cusTypes.ts
729
+ var import_v42 = require("zod/v4");
730
+ var CoreCusFeatureSchema = import_v42.z.object({
731
+ unlimited: import_v42.z.boolean().optional(),
732
+ interval: import_v42.z.enum(ProductItemInterval).optional(),
733
+ balance: import_v42.z.number().nullish(),
734
+ usage: import_v42.z.number().optional(),
735
+ included_usage: import_v42.z.number().optional(),
736
+ next_reset_at: import_v42.z.number().nullish(),
737
+ overage_allowed: import_v42.z.boolean().optional(),
738
+ usage_limit: import_v42.z.number().optional(),
739
+ rollovers: import_v42.z.object({
740
+ balance: import_v42.z.number(),
741
+ expires_at: import_v42.z.number()
742
+ }).optional(),
743
+ breakdown: import_v42.z.array(
744
+ import_v42.z.object({
745
+ interval: import_v42.z.enum(ProductItemInterval),
746
+ balance: import_v42.z.number().optional(),
747
+ usage: import_v42.z.number().optional(),
748
+ included_usage: import_v42.z.number().optional(),
749
+ next_reset_at: import_v42.z.number().optional()
750
+ })
751
+ ).optional(),
752
+ credit_schema: import_v42.z.array(
753
+ import_v42.z.object({
754
+ feature_id: import_v42.z.string(),
755
+ credit_amount: import_v42.z.number()
756
+ })
757
+ ).optional()
758
+ });
759
+ var CustomerDataSchema = import_v42.z.object({
760
+ name: import_v42.z.string().nullish(),
761
+ email: import_v42.z.string().nullish(),
762
+ fingerprint: import_v42.z.string().nullish()
763
+ });
764
+ var CreateCustomerParamsSchema = import_v42.z.object({
765
+ id: import_v42.z.string().nullish(),
766
+ email: import_v42.z.string().nullish(),
767
+ name: import_v42.z.string().nullish(),
768
+ fingerprint: import_v42.z.string().nullish(),
769
+ metadata: import_v42.z.record(import_v42.z.string(), import_v42.z.any()).optional(),
770
+ expand: import_v42.z.array(CustomerExpandEnum).optional(),
771
+ stripe_id: import_v42.z.string().nullish()
772
+ });
773
+ var BillingPortalParamsSchema = import_v42.z.object({
774
+ return_url: import_v42.z.string().optional()
775
+ });
776
+ var UpdateBalancesParamsSchema = import_v42.z.object({
777
+ feature_id: import_v42.z.string(),
778
+ balance: import_v42.z.number()
779
+ }).or(
780
+ import_v42.z.array(
781
+ import_v42.z.object({
782
+ feature_id: import_v42.z.string(),
783
+ balance: import_v42.z.number()
784
+ })
785
+ )
786
+ );
787
+
788
+ // src/sdk/general/checkTypes.ts
789
+ var import_v43 = require("zod/v4");
790
+ var CheckFeatureResultSchema = import_v43.z.object({
791
+ allowed: import_v43.z.boolean(),
792
+ feature_id: import_v43.z.string(),
793
+ customer_id: import_v43.z.string(),
794
+ entity_id: import_v43.z.string().optional(),
795
+ required_balance: import_v43.z.number()
796
+ }).extend(CoreCusFeatureSchema.shape);
797
+
798
+ // src/sdk/customers/entities/entTypes.ts
799
+ var import_v44 = require("zod/v4");
800
+ var EntityDataSchema = import_v44.z.object({
801
+ name: import_v44.z.string().optional(),
802
+ feature_id: import_v44.z.string()
803
+ });
804
+ var TransferProductParamsSchema = import_v44.z.object({
805
+ from_entity_id: import_v44.z.string(),
806
+ to_entity_id: import_v44.z.string(),
807
+ product_id: import_v44.z.string()
808
+ });
809
+
810
+ // src/sdk/general/genTypes.ts
811
+ var import_v45 = require("zod/v4");
812
+ var CancelParamsSchema = import_v45.z.object({
813
+ customer_id: import_v45.z.string(),
814
+ product_id: import_v45.z.string(),
815
+ entity_id: import_v45.z.string().optional(),
816
+ cancel_immediately: import_v45.z.boolean().optional()
817
+ });
818
+ var CancelResultSchema = import_v45.z.object({
819
+ success: import_v45.z.boolean(),
820
+ customer_id: import_v45.z.string(),
821
+ product_id: import_v45.z.string()
822
+ });
823
+ var TrackParamsSchema = import_v45.z.object({
824
+ customer_id: import_v45.z.string(),
825
+ value: import_v45.z.number().optional(),
826
+ feature_id: import_v45.z.string().optional(),
827
+ event_name: import_v45.z.string().optional(),
828
+ entity_id: import_v45.z.string().optional(),
829
+ customer_data: import_v45.z.any().optional(),
830
+ idempotency_key: import_v45.z.string().optional(),
831
+ entity_data: import_v45.z.any().optional()
832
+ });
833
+ var TrackResultSchema = import_v45.z.object({
834
+ id: import_v45.z.string(),
835
+ code: import_v45.z.string(),
836
+ customer_id: import_v45.z.string(),
837
+ feature_id: import_v45.z.string().optional(),
838
+ event_name: import_v45.z.string().optional()
839
+ });
840
+ var CheckParamsSchema = import_v45.z.object({
841
+ customer_id: import_v45.z.string(),
842
+ feature_id: import_v45.z.string().optional(),
843
+ product_id: import_v45.z.string().optional(),
844
+ entity_id: import_v45.z.string().optional(),
845
+ customer_data: import_v45.z.any().optional(),
846
+ required_balance: import_v45.z.number().optional(),
847
+ send_event: import_v45.z.boolean().optional(),
848
+ with_preview: import_v45.z.boolean().optional(),
849
+ entity_data: EntityDataSchema.optional()
850
+ });
851
+ var QueryRangeEnum = import_v45.z.enum(["24h", "7d", "30d", "90d", "last_cycle"]);
852
+ var QueryParamsSchema = import_v45.z.object({
853
+ customer_id: import_v45.z.string(),
854
+ feature_id: import_v45.z.string().or(import_v45.z.array(import_v45.z.string())),
855
+ range: QueryRangeEnum.optional()
856
+ });
857
+
858
+ // src/sdk/referrals/referralTypes.ts
859
+ var import_v46 = require("zod/v4");
860
+ var CreateReferralCodeParamsSchema = import_v46.z.object({
861
+ customer_id: import_v46.z.string(),
862
+ program_id: import_v46.z.string()
863
+ });
864
+ var RedeemReferralCodeParamsSchema = import_v46.z.object({
865
+ code: import_v46.z.string(),
866
+ customer_id: import_v46.z.string()
867
+ });
868
+
869
+ // src/sdk/general/attachTypes.ts
870
+ var import_v47 = require("zod/v4");
871
+ var AttachFeatureOptionsSchema = import_v47.z.object({
872
+ feature_id: import_v47.z.string(),
873
+ quantity: import_v47.z.number()
874
+ });
875
+ var AttachParamsSchema = import_v47.z.object({
876
+ customer_id: import_v47.z.string(),
877
+ product_id: import_v47.z.string().optional(),
878
+ entity_id: import_v47.z.string().optional(),
879
+ options: import_v47.z.array(AttachFeatureOptionsSchema).optional(),
880
+ product_ids: import_v47.z.array(import_v47.z.string()).optional(),
881
+ free_trial: import_v47.z.boolean().optional(),
882
+ success_url: import_v47.z.string().optional(),
883
+ metadata: import_v47.z.record(import_v47.z.string(), import_v47.z.string()).optional(),
884
+ force_checkout: import_v47.z.boolean().optional(),
885
+ customer_data: CustomerDataSchema.optional(),
886
+ entity_data: import_v47.z.any().optional(),
887
+ checkout_session_params: import_v47.z.record(import_v47.z.string(), import_v47.z.any()).optional(),
888
+ reward: import_v47.z.string().optional(),
889
+ invoice: import_v47.z.boolean().optional()
890
+ });
891
+ var AttachResultSchema = import_v47.z.object({
892
+ checkout_url: import_v47.z.string().optional(),
893
+ customer_id: import_v47.z.string(),
894
+ product_ids: import_v47.z.array(import_v47.z.string()),
895
+ code: import_v47.z.string(),
896
+ message: import_v47.z.string(),
897
+ customer_data: import_v47.z.any().optional(),
898
+ invoice: import_v47.z.object({
899
+ status: import_v47.z.string(),
900
+ stripe_id: import_v47.z.string(),
901
+ hosted_invoice_url: import_v47.z.string().nullable(),
902
+ total: import_v47.z.number(),
903
+ currency: import_v47.z.string()
904
+ }).optional()
905
+ });
906
+ var CheckoutParamsSchema = import_v47.z.object({
907
+ customer_id: import_v47.z.string(),
908
+ product_id: import_v47.z.string(),
909
+ product_ids: import_v47.z.array(import_v47.z.string()).optional(),
910
+ entity_id: import_v47.z.string().optional(),
911
+ options: import_v47.z.array(AttachFeatureOptionsSchema).optional(),
912
+ force_checkout: import_v47.z.boolean().optional(),
913
+ invoice: import_v47.z.boolean().optional(),
914
+ success_url: import_v47.z.string().optional(),
915
+ customer_data: CustomerDataSchema.optional(),
916
+ entity_data: import_v47.z.any().optional(),
917
+ checkout_session_params: import_v47.z.record(import_v47.z.string(), import_v47.z.any()).optional(),
918
+ reward: import_v47.z.string().optional()
919
+ });
920
+
921
+ // src/sdk/features/featureTypes.ts
922
+ var import_zod = require("zod");
923
+ var FeatureType = /* @__PURE__ */ ((FeatureType2) => {
924
+ FeatureType2["Boolean"] = "boolean";
925
+ FeatureType2["SingleUse"] = "single_use";
926
+ FeatureType2["ContinuousUse"] = "continuous_use";
927
+ FeatureType2["CreditSystem"] = "credit_system";
928
+ return FeatureType2;
929
+ })(FeatureType || {});
930
+ var FeatureSchema = import_zod.z.object({
931
+ id: import_zod.z.string(),
932
+ name: import_zod.z.string().nullish(),
933
+ type: import_zod.z.nativeEnum(FeatureType),
934
+ display: import_zod.z.object({
935
+ singular: import_zod.z.string(),
936
+ plural: import_zod.z.string()
937
+ }).nullish(),
938
+ credit_schema: import_zod.z.array(
939
+ import_zod.z.object({
940
+ metered_feature_id: import_zod.z.string(),
941
+ credit_cost: import_zod.z.number()
942
+ })
943
+ ).nullish()
944
+ });
945
+
946
+ // src/libraries/react/client/ConvexAutumnClient.tsx
947
+ var ConvexAutumnClient = class {
948
+ convexApi;
949
+ convex;
950
+ // protected readonly convexClient: ConvexHttpClient;
951
+ customerData;
952
+ headers;
953
+ backendUrl = void 0;
954
+ prefix = "/api/convex";
955
+ getBearerToken;
956
+ // Stub implementations for HTTP-specific methods that the interface requires
957
+ async detectCors() {
958
+ return {
959
+ valid: true,
960
+ includeCredentials: false
961
+ };
962
+ }
963
+ async shouldIncludeCredentials() {
964
+ return false;
965
+ }
966
+ async getHeaders() {
967
+ return { "Content-Type": "application/json" };
968
+ }
969
+ async handleFetch() {
970
+ throw new Error("HTTP methods not supported in Convex mode");
971
+ }
972
+ async post() {
973
+ throw new Error("HTTP methods not supported in Convex mode");
974
+ }
975
+ async get() {
976
+ throw new Error("HTTP methods not supported in Convex mode");
977
+ }
978
+ async delete() {
979
+ throw new Error("HTTP methods not supported in Convex mode");
980
+ }
981
+ constructor({
982
+ convexApi,
983
+ customerData,
984
+ headers,
985
+ getBearerToken,
986
+ convex
987
+ }) {
988
+ this.convex = convex;
989
+ this.convexApi = convexApi;
990
+ this.getBearerToken = getBearerToken;
991
+ this.customerData = customerData;
992
+ this.headers = headers;
993
+ }
994
+ async createCustomer(params) {
995
+ try {
996
+ const result = await this.convex.action(this.convexApi.fetchCustomer);
997
+ return result;
998
+ } catch (error) {
999
+ return {
1000
+ data: null,
1001
+ error: new AutumnError({
1002
+ message: error.message,
1003
+ code: "convex_action_failed"
1004
+ })
1005
+ };
1006
+ }
1007
+ }
1008
+ // Deprecated, don't need to implement
1009
+ async getPricingTable() {
1010
+ return {
1011
+ data: null,
1012
+ error: new AutumnError({
1013
+ message: "getPricingTable not yet implemented for Convex",
1014
+ code: "not_implemented"
1015
+ })
1016
+ };
1017
+ }
1018
+ // Core methods that wrap Convex actions
1019
+ attach = async (args) => {
1020
+ try {
1021
+ const { dialog, ...backendArgs } = args;
1022
+ const result = await this.convex.action(
1023
+ this.convexApi.attach,
1024
+ backendArgs
1025
+ );
1026
+ return result;
1027
+ } catch (error) {
1028
+ return {
1029
+ data: null,
1030
+ error: new AutumnError({
1031
+ message: error.message,
1032
+ code: "convex_action_failed"
1033
+ })
1034
+ };
1035
+ }
1036
+ };
1037
+ checkout = async (args) => {
1038
+ try {
1039
+ const { dialog, ...backendArgs } = args;
1040
+ const result = await this.convex.action(
1041
+ this.convexApi.checkout,
1042
+ backendArgs
1043
+ );
1044
+ return result;
1045
+ } catch (error) {
1046
+ return {
1047
+ data: null,
1048
+ error: new AutumnError({
1049
+ message: error.message,
1050
+ code: "convex_action_failed"
1051
+ })
1052
+ };
1053
+ }
1054
+ };
1055
+ cancel = async (args) => {
1056
+ try {
1057
+ const result = await this.convex.action(this.convexApi.cancel, args);
1058
+ return result;
1059
+ } catch (error) {
1060
+ return {
1061
+ data: null,
1062
+ error: new AutumnError({
1063
+ message: error.message,
1064
+ code: "convex_action_failed"
1065
+ })
1066
+ };
1067
+ }
1068
+ };
1069
+ check = async (args) => {
1070
+ try {
1071
+ const result = await this.convex.action(this.convexApi.check, args);
1072
+ return result;
1073
+ } catch (error) {
1074
+ return {
1075
+ data: null,
1076
+ error: new AutumnError({
1077
+ message: error.message,
1078
+ code: "convex_action_failed"
1079
+ })
1080
+ };
1081
+ }
1082
+ };
1083
+ track = async (args) => {
1084
+ try {
1085
+ const result = await this.convex.action(this.convexApi.track, args);
1086
+ return result;
1087
+ } catch (error) {
1088
+ return {
1089
+ data: null,
1090
+ error: new AutumnError({
1091
+ message: error.message,
1092
+ code: "convex_action_failed"
1093
+ })
1094
+ };
1095
+ }
1096
+ };
1097
+ openBillingPortal = async (args) => {
1098
+ try {
1099
+ const result = await this.convex.action(this.convexApi.billingPortal, {
1100
+ ...args,
1101
+ openInNewTab: void 0
1102
+ });
1103
+ return result;
1104
+ } catch (error) {
1105
+ return {
1106
+ data: null,
1107
+ error: new AutumnError({
1108
+ message: error.message,
1109
+ code: "convex_action_failed"
1110
+ })
1111
+ };
1112
+ }
1113
+ };
1114
+ setupPayment = async (args) => {
1115
+ try {
1116
+ const result = await this.convex.action(
1117
+ this.convexApi.setupPayment,
1118
+ args
1119
+ );
1120
+ return result;
1121
+ } catch (error) {
1122
+ return {
1123
+ data: null,
1124
+ error: new AutumnError({
1125
+ message: error.message,
1126
+ code: "convex_action_failed"
1127
+ })
1128
+ };
1129
+ }
1130
+ };
1131
+ query = async (args) => {
1132
+ try {
1133
+ const result = await this.convex.action(this.convexApi.query, args);
1134
+ return result;
1135
+ } catch (error) {
1136
+ return {
1137
+ data: null,
1138
+ error: new AutumnError({
1139
+ message: error.message,
1140
+ code: "convex_action_failed"
1141
+ })
1142
+ };
1143
+ }
1144
+ };
1145
+ entities = {
1146
+ create: async (args) => {
1147
+ try {
1148
+ if (Array.isArray(args)) {
1149
+ const entityArgs = { entities: args };
1150
+ const result = await this.convex.action(
1151
+ this.convexApi.createEntities,
1152
+ entityArgs
1153
+ );
1154
+ return result;
1155
+ } else {
1156
+ const result = await this.convex.action(
1157
+ this.convexApi.createEntity,
1158
+ args
1159
+ );
1160
+ return result;
1161
+ }
1162
+ } catch (error) {
1163
+ return {
1164
+ data: null,
1165
+ error: new AutumnError({
1166
+ message: error.message,
1167
+ code: "convex_action_failed"
1168
+ })
1169
+ };
1170
+ }
1171
+ },
1172
+ get: async (args) => {
1173
+ try {
1174
+ const result = await this.convex.action(this.convexApi.getEntity, args);
1175
+ return result;
1176
+ } catch (error) {
1177
+ return {
1178
+ data: null,
1179
+ error: new AutumnError({
1180
+ message: error.message,
1181
+ code: "convex_action_failed"
1182
+ })
1183
+ };
1184
+ }
1185
+ },
1186
+ delete: async (args) => {
1187
+ try {
1188
+ const result = await this.convex.action(
1189
+ this.convexApi.deleteEntity,
1190
+ args
1191
+ );
1192
+ return result;
1193
+ } catch (error) {
1194
+ return {
1195
+ data: null,
1196
+ error: new AutumnError({
1197
+ message: error.message,
1198
+ code: "convex_action_failed"
1199
+ })
1200
+ };
1201
+ }
1202
+ }
1203
+ };
1204
+ referrals = {
1205
+ createCode: async (args) => {
1206
+ try {
1207
+ const result = await this.convex.action(
1208
+ this.convexApi.createReferralCode,
1209
+ args
1210
+ );
1211
+ return result;
1212
+ } catch (error) {
1213
+ return {
1214
+ data: null,
1215
+ error: new AutumnError({
1216
+ message: error.message,
1217
+ code: "convex_action_failed"
1218
+ })
1219
+ };
1220
+ }
1221
+ },
1222
+ redeemCode: async (args) => {
1223
+ try {
1224
+ const result = await this.convex.action(
1225
+ this.convexApi.redeemReferralCode,
1226
+ args
1227
+ );
1228
+ return result;
1229
+ } catch (error) {
1230
+ return {
1231
+ data: null,
1232
+ error: new AutumnError({
1233
+ message: error.message,
1234
+ code: "convex_action_failed"
1235
+ })
1236
+ };
1237
+ }
1238
+ }
1239
+ };
1240
+ products = {
1241
+ list: async () => {
1242
+ try {
1243
+ const result = await this.convex.action(
1244
+ this.convexApi.listProducts,
1245
+ {}
1246
+ );
1247
+ return result;
1248
+ } catch (error) {
1249
+ return {
1250
+ data: null,
1251
+ error: new AutumnError({
1252
+ message: error.message,
1253
+ code: "convex_action_failed"
1254
+ })
1255
+ };
1256
+ }
1257
+ }
1258
+ };
1259
+ };
1260
+ // Annotate the CommonJS export names for ESM import in node:
1261
+ 0 && (module.exports = {
1262
+ ConvexAutumnClient
1263
+ });