autumn-js 0.1.49 → 0.1.50

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 (257) hide show
  1. package/dist/libraries/backend/better-auth.d.mts +120 -5
  2. package/dist/libraries/backend/better-auth.d.ts +120 -5
  3. package/dist/libraries/backend/better-auth.js +308 -115
  4. package/dist/libraries/backend/better-auth.mjs +101 -20
  5. package/dist/libraries/backend/{chunk-AVZDE6BQ.mjs → chunk-3JZSANJ2.mjs} +11 -7
  6. package/dist/libraries/backend/{chunk-S3DYAAI4.mjs → chunk-ARO7WTGD.mjs} +1 -1
  7. package/dist/libraries/backend/{chunk-JYK2MUUW.mjs → chunk-CCYASXMA.mjs} +1 -1
  8. package/dist/libraries/backend/{chunk-M4JDQD3E.mjs → chunk-DRJWJ2E6.mjs} +1 -1
  9. package/dist/libraries/backend/chunk-GESUQTT6.mjs +51 -0
  10. package/dist/libraries/backend/{chunk-GUWG5XU3.mjs → chunk-KWEMYBZN.mjs} +1 -1
  11. package/dist/libraries/backend/{chunk-KQFBSKKB.mjs → chunk-R6O4QEGY.mjs} +1 -1
  12. package/dist/libraries/backend/{chunk-2ACQRE64.mjs → chunk-SJD7DSMP.mjs} +95 -24
  13. package/dist/libraries/backend/convex.js +144 -31
  14. package/dist/libraries/backend/convex.mjs +8 -7
  15. package/dist/libraries/backend/elysia.js +143 -30
  16. package/dist/libraries/backend/elysia.mjs +8 -7
  17. package/dist/libraries/backend/express.d.mts +1 -1
  18. package/dist/libraries/backend/express.d.ts +1 -1
  19. package/dist/libraries/backend/express.js +143 -30
  20. package/dist/libraries/backend/express.mjs +8 -7
  21. package/dist/libraries/backend/fastify.js +143 -30
  22. package/dist/libraries/backend/fastify.mjs +8 -7
  23. package/dist/libraries/backend/hono.js +143 -30
  24. package/dist/libraries/backend/hono.mjs +8 -7
  25. package/dist/libraries/backend/index.d.mts +1 -1
  26. package/dist/libraries/backend/index.d.ts +1 -1
  27. package/dist/libraries/backend/index.js +143 -30
  28. package/dist/libraries/backend/index.mjs +8 -7
  29. package/dist/libraries/backend/next.js +143 -30
  30. package/dist/libraries/backend/next.mjs +8 -7
  31. package/dist/libraries/backend/react-router.js +143 -30
  32. package/dist/libraries/backend/react-router.mjs +8 -7
  33. package/dist/libraries/backend/{referralTypes-F3k5nHMu.d.ts → referralTypes-C9qHeYGO.d.ts} +72 -21
  34. package/dist/libraries/backend/{referralTypes-C034TAA7.d.mts → referralTypes-D7oP-WMD.d.mts} +72 -21
  35. package/dist/libraries/backend/remix_dep.js +143 -30
  36. package/dist/libraries/backend/remix_dep.mjs +8 -7
  37. package/dist/libraries/backend/routes/analyticsRoutes.d.mts +5 -0
  38. package/dist/libraries/backend/routes/analyticsRoutes.d.ts +5 -0
  39. package/dist/libraries/backend/routes/analyticsRoutes.js +1240 -0
  40. package/dist/libraries/backend/routes/analyticsRoutes.mjs +10 -0
  41. package/dist/libraries/backend/routes/backendRouter.js +141 -28
  42. package/dist/libraries/backend/routes/backendRouter.mjs +8 -7
  43. package/dist/libraries/backend/routes/entityRoutes.js +94 -23
  44. package/dist/libraries/backend/routes/entityRoutes.mjs +3 -3
  45. package/dist/libraries/backend/routes/genRoutes.js +94 -23
  46. package/dist/libraries/backend/routes/genRoutes.mjs +3 -3
  47. package/dist/libraries/backend/routes/productRoutes.js +94 -23
  48. package/dist/libraries/backend/routes/productRoutes.mjs +3 -3
  49. package/dist/libraries/backend/routes/referralRoutes.js +94 -23
  50. package/dist/libraries/backend/routes/referralRoutes.mjs +3 -3
  51. package/dist/libraries/backend/schemas/zod.d.mts +0 -1
  52. package/dist/libraries/backend/schemas/zod.d.ts +0 -1
  53. package/dist/libraries/backend/schemas/zod.js +1 -2
  54. package/dist/libraries/backend/schemas/zod.mjs +1 -2
  55. package/dist/libraries/backend/supabase.js +143 -30
  56. package/dist/libraries/backend/supabase.mjs +8 -7
  57. package/dist/libraries/backend/tanstack.js +143 -30
  58. package/dist/libraries/backend/tanstack.mjs +8 -7
  59. package/dist/libraries/backend/utils/backendRes.js +94 -23
  60. package/dist/libraries/backend/utils/backendRes.mjs +1 -1
  61. package/dist/libraries/backend/utils/withAuth.d.mts +1 -1
  62. package/dist/libraries/backend/utils/withAuth.d.ts +1 -1
  63. package/dist/libraries/backend/utils/withAuth.js +94 -23
  64. package/dist/libraries/backend/utils/withAuth.mjs +2 -2
  65. package/dist/libraries/react/AutumnContext.d.mts +7 -6
  66. package/dist/libraries/react/AutumnContext.d.ts +7 -6
  67. package/dist/libraries/react/AutumnContext.js +108 -23
  68. package/dist/libraries/react/AutumnContext.mjs +5 -4
  69. package/dist/libraries/react/BaseAutumnProvider.d.mts +7 -6
  70. package/dist/libraries/react/BaseAutumnProvider.d.ts +7 -6
  71. package/dist/libraries/react/BaseAutumnProvider.js +108 -23
  72. package/dist/libraries/react/BaseAutumnProvider.mjs +10 -9
  73. package/dist/libraries/react/{ReactAutumnClient-C2DYluBM.d.ts → ReactAutumnClient-ByLjLgNq.d.ts} +45 -8
  74. package/dist/libraries/react/{ReactAutumnClient-BFsdUmZR.d.mts → ReactAutumnClient-CRqMIWBm.d.mts} +45 -8
  75. package/dist/libraries/react/ReactAutumnProvider.d.mts +2 -2
  76. package/dist/libraries/react/ReactAutumnProvider.d.ts +2 -2
  77. package/dist/libraries/react/ReactAutumnProvider.js +144 -23
  78. package/dist/libraries/react/ReactAutumnProvider.mjs +12 -11
  79. package/dist/libraries/react/{attachTypes-eg914-6v.d.ts → attachTypes-LC2oFUhU.d.mts} +1 -2
  80. package/dist/libraries/react/{attachTypes-BNlJ6XXa.d.mts → attachTypes-LWj2dkge.d.ts} +1 -2
  81. package/dist/libraries/react/{chunk-QXNGODGB.mjs → chunk-36VHLX44.mjs} +1 -1
  82. package/dist/libraries/react/{chunk-CKJ75O47.mjs → chunk-44N7NFQE.mjs} +1 -1
  83. package/dist/libraries/react/{chunk-JH5EPPKO.mjs → chunk-6RYHL5YC.mjs} +4 -4
  84. package/dist/libraries/react/{chunk-L47NULL3.mjs → chunk-G6FXYR4B.mjs} +1 -1
  85. package/dist/libraries/react/chunk-GLEGQFJL.mjs +47 -0
  86. package/dist/libraries/react/{chunk-SI6B4BHU.mjs → chunk-GNQFXLIJ.mjs} +2 -2
  87. package/dist/libraries/react/{chunk-VLUYKW5V.mjs → chunk-H4IXGV3L.mjs} +1 -1
  88. package/dist/libraries/react/{chunk-LI6VQXG6.mjs → chunk-IF6IRI5K.mjs} +37 -1
  89. package/dist/libraries/react/{chunk-QD2JROMM.mjs → chunk-JX5R5JG5.mjs} +2 -2
  90. package/dist/libraries/react/{chunk-OUHC5C52.mjs → chunk-KR7BWKK3.mjs} +2 -2
  91. package/dist/libraries/react/{chunk-LV7UF5CG.mjs → chunk-M3CQSMV6.mjs} +2 -2
  92. package/dist/libraries/react/{chunk-OX6N6HG4.mjs → chunk-OMSHSISK.mjs} +14 -6
  93. package/dist/libraries/react/{chunk-B6C26BAU.mjs → chunk-SP5G7NCG.mjs} +182 -111
  94. package/dist/libraries/react/{chunk-MBB5GDFH.mjs → chunk-SQUHU2A6.mjs} +1 -1
  95. package/dist/libraries/react/chunk-XDQLJ7QR.mjs +17 -0
  96. package/dist/libraries/react/{chunk-Z4D6DAA7.mjs → chunk-XKLGBOXB.mjs} +23 -23
  97. package/dist/libraries/react/{chunk-GPH4S2JR.mjs → chunk-XVE6NBEM.mjs} +5 -5
  98. package/dist/libraries/react/{chunk-DQYNN6TC.mjs → chunk-YQPZAVM5.mjs} +5 -5
  99. package/dist/libraries/react/chunk-ZKEN5P26.mjs +48 -0
  100. package/dist/libraries/react/{chunk-VWRMGYHF.mjs → chunk-ZTM7O3QH.mjs} +1 -1
  101. package/dist/libraries/react/client/ConvexAutumnClient.d.mts +11 -6
  102. package/dist/libraries/react/client/ConvexAutumnClient.d.ts +11 -6
  103. package/dist/libraries/react/client/ConvexAutumnClient.js +130 -23
  104. package/dist/libraries/react/client/ConvexAutumnClient.mjs +2 -2
  105. package/dist/libraries/react/client/ReactAutumnClient.d.mts +7 -6
  106. package/dist/libraries/react/client/ReactAutumnClient.d.ts +7 -6
  107. package/dist/libraries/react/client/ReactAutumnClient.js +108 -23
  108. package/dist/libraries/react/client/ReactAutumnClient.mjs +4 -3
  109. package/dist/libraries/react/client/clientAnalyticsMethods.d.mts +14 -0
  110. package/dist/libraries/react/client/clientAnalyticsMethods.d.ts +14 -0
  111. package/dist/libraries/react/client/clientAnalyticsMethods.js +41 -0
  112. package/dist/libraries/react/client/clientAnalyticsMethods.mjs +10 -0
  113. package/dist/libraries/react/client/clientCompMethods.d.mts +7 -6
  114. package/dist/libraries/react/client/clientCompMethods.d.ts +7 -6
  115. package/dist/libraries/react/client/clientCusMethods.d.mts +7 -6
  116. package/dist/libraries/react/client/clientCusMethods.d.ts +7 -6
  117. package/dist/libraries/react/client/clientEntityMethods.d.mts +7 -6
  118. package/dist/libraries/react/client/clientEntityMethods.d.ts +7 -6
  119. package/dist/libraries/react/client/clientGenMethods.d.mts +7 -6
  120. package/dist/libraries/react/client/clientGenMethods.d.ts +7 -6
  121. package/dist/libraries/react/client/clientProdMethods.d.mts +7 -6
  122. package/dist/libraries/react/client/clientProdMethods.d.ts +7 -6
  123. package/dist/libraries/react/client/clientReferralMethods.d.mts +7 -6
  124. package/dist/libraries/react/client/clientReferralMethods.d.ts +7 -6
  125. package/dist/libraries/react/client/types/clientAnalyticsTypes.d.mts +102 -0
  126. package/dist/libraries/react/client/types/clientAnalyticsTypes.d.ts +102 -0
  127. package/dist/libraries/react/client/types/clientAnalyticsTypes.js +109 -0
  128. package/dist/libraries/react/client/types/clientAnalyticsTypes.mjs +77 -0
  129. package/dist/libraries/react/client/types/clientAttachTypes.d.mts +0 -2
  130. package/dist/libraries/react/client/types/clientAttachTypes.d.ts +0 -2
  131. package/dist/libraries/react/client/types/clientAttachTypes.js +2 -4
  132. package/dist/libraries/react/client/types/clientAttachTypes.mjs +2 -4
  133. package/dist/libraries/react/client/types/clientGenTypes.d.mts +2 -0
  134. package/dist/libraries/react/client/types/clientGenTypes.d.ts +2 -0
  135. package/dist/libraries/react/client/types/clientGenTypes.js +125 -54
  136. package/dist/libraries/react/client/types/clientGenTypes.mjs +1 -1
  137. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.d.mts +2 -2
  138. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.d.ts +2 -2
  139. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.js +114 -23
  140. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.mjs +29 -26
  141. package/dist/libraries/react/components/checkout-dialog/lib/checkout-content.d.mts +2 -2
  142. package/dist/libraries/react/components/checkout-dialog/lib/checkout-content.d.ts +2 -2
  143. package/dist/libraries/react/components/paywall-dialog/lib/paywall-content.d.mts +1 -1
  144. package/dist/libraries/react/components/paywall-dialog/lib/paywall-content.d.ts +1 -1
  145. package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.js +114 -23
  146. package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.mjs +29 -26
  147. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.mts +1 -1
  148. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.ts +1 -1
  149. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.mts +1 -1
  150. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.ts +1 -1
  151. package/dist/libraries/react/components/pricing-table/pricing-table-synced.js +114 -23
  152. package/dist/libraries/react/components/pricing-table/pricing-table-synced.mjs +29 -26
  153. package/dist/libraries/react/components/ui/dialog.mjs +2 -2
  154. package/dist/libraries/react/components/ui/popover.mjs +2 -2
  155. package/dist/libraries/react/{cusTypes-RU0fmR-t.d.mts → cusTypes-BugnOlMR.d.mts} +1 -1
  156. package/dist/libraries/react/{cusTypes-D3QQXjif.d.ts → cusTypes-DjKY5YzO.d.ts} +1 -1
  157. package/dist/libraries/react/{genTypes-B5_6Pu_4.d.mts → entTypes-Dk2qzC19.d.ts} +17 -9
  158. package/dist/libraries/react/{genTypes-CY6GNiAn.d.ts → entTypes-DnM96qsh.d.mts} +17 -9
  159. package/dist/libraries/react/eventTypes-MwzIb0X5.d.mts +9 -0
  160. package/dist/libraries/react/eventTypes-MwzIb0X5.d.ts +9 -0
  161. package/dist/libraries/react/hooks/helpers/handleCheck.d.mts +7 -6
  162. package/dist/libraries/react/hooks/helpers/handleCheck.d.ts +7 -6
  163. package/dist/libraries/react/hooks/helpers/handleCheck.js +94 -23
  164. package/dist/libraries/react/hooks/helpers/handleCheck.mjs +2 -2
  165. package/dist/libraries/react/hooks/helpers/useAutumnBase.d.mts +7 -6
  166. package/dist/libraries/react/hooks/helpers/useAutumnBase.d.ts +7 -6
  167. package/dist/libraries/react/hooks/helpers/useAutumnBase.js +94 -23
  168. package/dist/libraries/react/hooks/helpers/useAutumnBase.mjs +3 -3
  169. package/dist/libraries/react/hooks/useAggregateEvents.d.mts +17 -0
  170. package/dist/libraries/react/hooks/useAggregateEvents.d.ts +17 -0
  171. package/dist/libraries/react/hooks/useAggregateEvents.js +1499 -0
  172. package/dist/libraries/react/hooks/useAggregateEvents.mjs +19 -0
  173. package/dist/libraries/react/hooks/useAnalytics.d.mts +2 -3
  174. package/dist/libraries/react/hooks/useAnalytics.d.ts +2 -3
  175. package/dist/libraries/react/hooks/useAnalytics.js +108 -23
  176. package/dist/libraries/react/hooks/useAnalytics.mjs +6 -5
  177. package/dist/libraries/react/hooks/useCustomer.d.mts +7 -6
  178. package/dist/libraries/react/hooks/useCustomer.d.ts +7 -6
  179. package/dist/libraries/react/hooks/useCustomer.js +108 -23
  180. package/dist/libraries/react/hooks/useCustomer.mjs +10 -9
  181. package/dist/libraries/react/hooks/useCustomerBase.d.mts +7 -6
  182. package/dist/libraries/react/hooks/useCustomerBase.d.ts +7 -6
  183. package/dist/libraries/react/hooks/useCustomerBase.js +108 -23
  184. package/dist/libraries/react/hooks/useCustomerBase.mjs +9 -8
  185. package/dist/libraries/react/hooks/useEntity.d.mts +3 -4
  186. package/dist/libraries/react/hooks/useEntity.d.ts +3 -4
  187. package/dist/libraries/react/hooks/useEntity.js +108 -23
  188. package/dist/libraries/react/hooks/useEntity.mjs +10 -9
  189. package/dist/libraries/react/hooks/useEntityBase.d.mts +7 -6
  190. package/dist/libraries/react/hooks/useEntityBase.d.ts +7 -6
  191. package/dist/libraries/react/hooks/useEntityBase.js +108 -23
  192. package/dist/libraries/react/hooks/useEntityBase.mjs +9 -8
  193. package/dist/libraries/react/hooks/useListEvents.d.mts +33 -0
  194. package/dist/libraries/react/hooks/useListEvents.d.ts +33 -0
  195. package/dist/libraries/react/hooks/useListEvents.js +1500 -0
  196. package/dist/libraries/react/hooks/useListEvents.mjs +19 -0
  197. package/dist/libraries/react/hooks/usePaywall.d.mts +1 -1
  198. package/dist/libraries/react/hooks/usePaywall.d.ts +1 -1
  199. package/dist/libraries/react/hooks/usePaywall.js +108 -23
  200. package/dist/libraries/react/hooks/usePaywall.mjs +6 -5
  201. package/dist/libraries/react/hooks/usePricingTable.d.mts +1 -1
  202. package/dist/libraries/react/hooks/usePricingTable.d.ts +1 -1
  203. package/dist/libraries/react/hooks/usePricingTable.js +108 -23
  204. package/dist/libraries/react/hooks/usePricingTable.mjs +7 -6
  205. package/dist/libraries/react/hooks/usePricingTableBase.d.mts +7 -6
  206. package/dist/libraries/react/hooks/usePricingTableBase.d.ts +7 -6
  207. package/dist/libraries/react/hooks/usePricingTableBase.js +94 -23
  208. package/dist/libraries/react/hooks/usePricingTableBase.mjs +2 -2
  209. package/dist/libraries/react/hooks/useProductsBase.d.mts +7 -6
  210. package/dist/libraries/react/hooks/useProductsBase.d.ts +7 -6
  211. package/dist/libraries/react/index.d.mts +104 -12
  212. package/dist/libraries/react/index.d.ts +104 -12
  213. package/dist/libraries/react/index.js +217 -23
  214. package/dist/libraries/react/index.mjs +215 -23
  215. package/dist/libraries/react/{prodTypes-C4aZSZfO.d.mts → prodTypes-DVvNGoR7.d.mts} +1 -1
  216. package/dist/libraries/react/{prodTypes-C4aZSZfO.d.ts → prodTypes-DVvNGoR7.d.ts} +1 -1
  217. package/dist/next/client/NextAutumnClient.d.mts +120 -9
  218. package/dist/next/client/NextAutumnClient.d.ts +120 -9
  219. package/dist/next/client/NextAutumnProvider.d.mts +2 -2
  220. package/dist/next/client/NextAutumnProvider.d.ts +2 -2
  221. package/dist/next/client/{clientAttachTypes-p30QOQW2.d.ts → clientAttachTypes-D-DJLqdl.d.mts} +2 -11
  222. package/dist/next/client/{clientAttachTypes-CYbSvvX0.d.mts → clientAttachTypes-DjHP_QGK.d.ts} +2 -11
  223. package/dist/next/client/{clientEntTypes-aLfa3lyP.d.mts → clientEntTypes--IF-i2B5.d.mts} +2 -2
  224. package/dist/next/client/{clientEntTypes-Bsi7ciUF.d.ts → clientEntTypes-DtmpIviv.d.ts} +2 -2
  225. package/dist/next/client/clientUtils.d.mts +3 -3
  226. package/dist/next/client/clientUtils.d.ts +3 -3
  227. package/dist/next/client/{cusTypes-CXjHwB-c.d.mts → cusTypes-Cny6ELGC.d.mts} +2 -2
  228. package/dist/next/client/{cusTypes-B-rJwpui.d.ts → cusTypes-DJ8I9f_a.d.ts} +2 -2
  229. package/dist/next/client/{entTypes-BkN-Puru.d.mts → entTypes-2N5YUUiP.d.mts} +1 -1
  230. package/dist/next/client/{entTypes-DjKFS-Zk.d.ts → entTypes-D04IFxc9.d.ts} +1 -1
  231. package/dist/next/client/hooks/useAutumn.d.mts +3 -3
  232. package/dist/next/client/hooks/useAutumn.d.ts +3 -3
  233. package/dist/next/client/hooks/useCustomer.d.mts +5 -5
  234. package/dist/next/client/hooks/useCustomer.d.ts +5 -5
  235. package/dist/next/client/hooks/useEntity.d.mts +4 -4
  236. package/dist/next/client/hooks/useEntity.d.ts +4 -4
  237. package/dist/next/client/hooks/usePricingTable.d.mts +1 -1
  238. package/dist/next/client/hooks/usePricingTable.d.ts +1 -1
  239. package/dist/next/client/{prodTypes-B_VMILpU.d.mts → prodTypes-HrKk7bUE.d.mts} +1 -1
  240. package/dist/next/client/{prodTypes-B_VMILpU.d.ts → prodTypes-HrKk7bUE.d.ts} +1 -1
  241. package/dist/next/client/types.d.mts +3 -3
  242. package/dist/next/client/types.d.ts +3 -3
  243. package/dist/next/server/cusActions.d.mts +72 -21
  244. package/dist/next/server/cusActions.d.ts +72 -21
  245. package/dist/next/server/genActions.d.mts +0 -1
  246. package/dist/next/server/genActions.d.ts +0 -1
  247. package/dist/sdk/index.d.mts +104 -29
  248. package/dist/sdk/index.d.ts +104 -29
  249. package/dist/sdk/index.js +78 -10
  250. package/dist/sdk/index.mjs +76 -11
  251. package/dist/utils/encryptUtils.js +94 -23
  252. package/dist/utils/encryptUtils.mjs +94 -23
  253. package/package.json +1 -1
  254. package/dist/libraries/react/entTypes-CiODXSok.d.ts +0 -17
  255. package/dist/libraries/react/entTypes-SfJb3hb2.d.mts +0 -17
  256. package/dist/libraries/react/{chunk-BVLKOMJA.mjs → chunk-74TUFYHU.mjs} +3 -3
  257. package/dist/libraries/react/{chunk-AHFPBGNV.mjs → chunk-MM4LTFTB.mjs} +3 -3
@@ -0,0 +1,1499 @@
1
+ "use client";
2
+
3
+ "use strict";
4
+ var __create = Object.create;
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __export = (target, all) => {
11
+ for (var name in all)
12
+ __defProp(target, name, { get: all[name], enumerable: true });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from))
17
+ if (!__hasOwnProp.call(to, key) && key !== except)
18
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
+ mod
29
+ ));
30
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
31
+
32
+ // src/libraries/react/hooks/useAggregateEvents.tsx
33
+ var useAggregateEvents_exports = {};
34
+ __export(useAggregateEvents_exports, {
35
+ useAggregateEvents: () => useAggregateEvents
36
+ });
37
+ module.exports = __toCommonJS(useAggregateEvents_exports);
38
+
39
+ // src/libraries/react/errorUtils/logAuthError.ts
40
+ var logAuthError = async (response) => {
41
+ if (response.status === 401) {
42
+ let clonedResponse = response.clone();
43
+ let data = await clonedResponse.json();
44
+ if (data.message.includes("Missing authorization header")) {
45
+ console.error(`[Autumn] Missing authorization header.
46
+
47
+ Use the getBearerToken prop in <AutumnProvider /> to set the authorization header.
48
+ https://docs.useautumn.com/quickstart/quickstart#5-set-up-autumnprovider`);
49
+ return true;
50
+ }
51
+ }
52
+ return false;
53
+ };
54
+
55
+ // src/sdk/error.ts
56
+ var AutumnError = class _AutumnError extends Error {
57
+ message;
58
+ code;
59
+ constructor(response) {
60
+ super(response.message);
61
+ this.message = response.message;
62
+ this.code = response.code;
63
+ }
64
+ static fromError(error) {
65
+ return new _AutumnError({
66
+ message: error.message || "Unknown error",
67
+ code: error.code || "unknown_error"
68
+ });
69
+ }
70
+ toString() {
71
+ return `${this.message} (code: ${this.code})`;
72
+ }
73
+ toJSON() {
74
+ return {
75
+ message: this.message,
76
+ code: this.code
77
+ };
78
+ }
79
+ };
80
+
81
+ // src/sdk/general/genMethods.ts
82
+ var handleCheckout = async ({
83
+ instance,
84
+ params
85
+ }) => {
86
+ const finalParams = {
87
+ ...params,
88
+ success_url: params.success_url ?? instance.defaultReturnUrl
89
+ };
90
+ return instance.post("/checkout", finalParams);
91
+ };
92
+ var handleAttach = async ({
93
+ instance,
94
+ params
95
+ }) => {
96
+ const finalParams = {
97
+ ...params,
98
+ success_url: params.success_url ?? instance.defaultReturnUrl
99
+ };
100
+ return instance.post("/attach", finalParams);
101
+ };
102
+ var handleSetupPayment = async ({
103
+ instance,
104
+ params
105
+ }) => {
106
+ const finalParams = {
107
+ ...params,
108
+ success_url: params.success_url ?? instance.defaultReturnUrl
109
+ };
110
+ return instance.post("/setup_payment", finalParams);
111
+ };
112
+ var handleCancel = async ({
113
+ instance,
114
+ params
115
+ }) => {
116
+ return instance.post("/cancel", params);
117
+ };
118
+ var handleTrack = async ({
119
+ instance,
120
+ params
121
+ }) => {
122
+ return instance.post("/track", params);
123
+ };
124
+ var handleUsage = async ({
125
+ instance,
126
+ params
127
+ }) => {
128
+ return instance.post("/usage", params);
129
+ };
130
+ var handleCheck = async ({
131
+ instance,
132
+ params
133
+ }) => {
134
+ return instance.post("/check", params);
135
+ };
136
+ var handleQuery = async ({
137
+ instance,
138
+ params
139
+ }) => {
140
+ return instance.post("/query", params);
141
+ };
142
+
143
+ // src/libraries/backend/constants.ts
144
+ var autumnApiUrl = "https://api.useautumn.com/v1";
145
+
146
+ // src/sdk/utils.ts
147
+ var import_query_string = __toESM(require("query-string"));
148
+ var staticWrapper = (callback, instance, args) => {
149
+ if (!instance) {
150
+ instance = new Autumn();
151
+ }
152
+ return callback({ instance, ...args });
153
+ };
154
+ var buildQueryString = (params) => {
155
+ if (!params) return "";
156
+ return import_query_string.default.stringify(params, {
157
+ skipNull: true,
158
+ skipEmptyString: true
159
+ });
160
+ };
161
+ var buildPathWithQuery = (basePath, params) => {
162
+ const query = buildQueryString(params);
163
+ return query ? `${basePath}?${query}` : basePath;
164
+ };
165
+
166
+ // src/sdk/customers/cusMethods.ts
167
+ var customerMethods = (instance) => {
168
+ return {
169
+ list: (params) => staticWrapper(listCustomers, instance, { params }),
170
+ get: (id, params) => staticWrapper(getCustomer, instance, { id, params }),
171
+ create: (params) => staticWrapper(createCustomer, instance, { params }),
172
+ update: (id, params) => staticWrapper(updateCustomer, instance, { id, params }),
173
+ delete: (id, params) => staticWrapper(deleteCustomer, instance, { id, params }),
174
+ billingPortal: (id, params) => staticWrapper(billingPortal, instance, { id, params }),
175
+ updateBalances: (id, params) => staticWrapper(updateBalances, instance, { id, params })
176
+ };
177
+ };
178
+ var getExpandStr = (expand) => {
179
+ if (!expand) {
180
+ return "";
181
+ }
182
+ return `expand=${expand.join(",")}`;
183
+ };
184
+ var listCustomers = async ({
185
+ instance,
186
+ params
187
+ }) => {
188
+ const path = buildPathWithQuery("/customers", params);
189
+ return instance.get(path);
190
+ };
191
+ var getCustomer = async ({
192
+ instance,
193
+ id,
194
+ params
195
+ }) => {
196
+ if (!id) {
197
+ return {
198
+ data: null,
199
+ error: new AutumnError({
200
+ message: "Customer ID is required",
201
+ code: "CUSTOMER_ID_REQUIRED"
202
+ })
203
+ };
204
+ }
205
+ return instance.get(`/customers/${id}?${getExpandStr(params?.expand)}`);
206
+ };
207
+ var createCustomer = async ({
208
+ instance,
209
+ params
210
+ }) => {
211
+ return instance.post(`/customers?${getExpandStr(params?.expand)}`, params);
212
+ };
213
+ var updateCustomer = async ({
214
+ instance,
215
+ id,
216
+ params
217
+ }) => {
218
+ return instance.post(`/customers/${id}`, params);
219
+ };
220
+ var deleteCustomer = async ({
221
+ instance,
222
+ id,
223
+ params
224
+ }) => {
225
+ return instance.delete(`/customers/${id}${params?.delete_in_stripe ? "?delete_in_stripe=true" : ""}`);
226
+ };
227
+ var billingPortal = async ({
228
+ instance,
229
+ id,
230
+ params
231
+ }) => {
232
+ const finalParams = {
233
+ ...params,
234
+ return_url: params?.return_url ?? instance.defaultReturnUrl
235
+ };
236
+ return instance.post(`/customers/${id}/billing_portal`, finalParams);
237
+ };
238
+ var updateBalances = async ({
239
+ instance,
240
+ id,
241
+ params
242
+ }) => {
243
+ return instance.post(`/customers/${id}/balances`, {
244
+ balances: Array.isArray(params) ? params : [params]
245
+ });
246
+ };
247
+
248
+ // src/sdk/customers/entities/entMethods.ts
249
+ var entityMethods = (instance) => {
250
+ return {
251
+ get: (customer_id, entity_id, params) => staticWrapper(getEntity, instance, {
252
+ customer_id,
253
+ entity_id,
254
+ params
255
+ }),
256
+ create: (customer_id, params) => staticWrapper(createEntity, instance, { customer_id, params }),
257
+ transfer: (customer_id, params) => staticWrapper(transferProduct, instance, { customer_id, params }),
258
+ delete: (customer_id, entity_id) => staticWrapper(deleteEntity, instance, { customer_id, entity_id })
259
+ };
260
+ };
261
+ var getExpandStr2 = (expand) => {
262
+ if (!expand) {
263
+ return "";
264
+ }
265
+ return `expand=${expand.join(",")}`;
266
+ };
267
+ var getEntity = async ({
268
+ instance,
269
+ customer_id,
270
+ entity_id,
271
+ params
272
+ }) => {
273
+ return instance.get(
274
+ `/customers/${customer_id}/entities/${entity_id}?${getExpandStr2(
275
+ params?.expand
276
+ )}`
277
+ );
278
+ };
279
+ var createEntity = async ({
280
+ instance,
281
+ customer_id,
282
+ params
283
+ }) => {
284
+ return instance.post(`/customers/${customer_id}/entities`, params);
285
+ };
286
+ var deleteEntity = async ({
287
+ instance,
288
+ customer_id,
289
+ entity_id
290
+ }) => {
291
+ return instance.delete(`/customers/${customer_id}/entities/${entity_id}`);
292
+ };
293
+ var transferProduct = async ({
294
+ instance,
295
+ customer_id,
296
+ params
297
+ }) => {
298
+ return instance.post(`/customers/${customer_id}/transfer`, params);
299
+ };
300
+
301
+ // src/sdk/products/prodMethods.ts
302
+ var productMethods = (instance) => {
303
+ return {
304
+ get: (id) => staticWrapper(getProduct, instance, { id }),
305
+ create: (params) => staticWrapper(createProduct, instance, { params }),
306
+ list: (params) => staticWrapper(listProducts, instance, { params }),
307
+ delete: (id) => staticWrapper(deleteProduct, instance, { id })
308
+ };
309
+ };
310
+ var listProducts = async ({
311
+ instance,
312
+ params
313
+ }) => {
314
+ let path = "/products_beta";
315
+ if (params) {
316
+ const queryParams = new URLSearchParams();
317
+ for (const [key, value] of Object.entries(params)) {
318
+ if (value !== void 0) {
319
+ queryParams.append(key, String(value));
320
+ }
321
+ }
322
+ const queryString2 = queryParams.toString();
323
+ if (queryString2) {
324
+ path += `?${queryString2}`;
325
+ }
326
+ }
327
+ return instance.get(path);
328
+ };
329
+ var getProduct = async ({
330
+ instance,
331
+ id
332
+ }) => {
333
+ return instance.get(`/products/${id}`);
334
+ };
335
+ var createProduct = async ({
336
+ instance,
337
+ params
338
+ }) => {
339
+ return instance.post("/products", params);
340
+ };
341
+ var deleteProduct = async ({
342
+ instance,
343
+ id,
344
+ params
345
+ }) => {
346
+ const path = buildPathWithQuery(`/products/${id}`, params);
347
+ return instance.delete(path);
348
+ };
349
+
350
+ // src/sdk/referrals/referralMethods.ts
351
+ var referralMethods = (instance) => {
352
+ return {
353
+ createCode: (params) => staticWrapper(createReferralCode, instance, { params }),
354
+ redeemCode: (params) => staticWrapper(redeemReferralCode, instance, { params })
355
+ };
356
+ };
357
+ var createReferralCode = async ({
358
+ instance,
359
+ params
360
+ }) => {
361
+ return instance.post("/referrals/code", params);
362
+ };
363
+ var redeemReferralCode = async ({
364
+ instance,
365
+ params
366
+ }) => {
367
+ return instance.post("/referrals/redeem", params);
368
+ };
369
+
370
+ // src/sdk/response.ts
371
+ var toContainerResult = async ({
372
+ response,
373
+ logger: logger2,
374
+ logError = true
375
+ }) => {
376
+ if (response.status < 200 || response.status >= 300) {
377
+ let error;
378
+ try {
379
+ error = await response.json();
380
+ if (logError) {
381
+ logger2.error(`[Autumn] ${error.message}`);
382
+ }
383
+ } catch (error2) {
384
+ throw error2;
385
+ }
386
+ return {
387
+ data: null,
388
+ error: new AutumnError({
389
+ message: error.message,
390
+ code: error.code
391
+ }),
392
+ statusCode: response.status
393
+ };
394
+ }
395
+ try {
396
+ const data = await response.json();
397
+ return {
398
+ data,
399
+ error: null,
400
+ statusCode: response?.status
401
+ };
402
+ } catch (error) {
403
+ throw error;
404
+ }
405
+ };
406
+
407
+ // src/utils/logger.ts
408
+ var getTime = () => {
409
+ let timeString = (/* @__PURE__ */ new Date()).toISOString();
410
+ return `[${timeString.split("T")[1].split(".")[0]}]`;
411
+ };
412
+ var greaterThanLevel = (level) => {
413
+ return levels.indexOf(level) >= levels.indexOf(logger.level);
414
+ };
415
+ var levels = ["debug", "info", "warn", "error", "fatal"];
416
+ var logger = {
417
+ ...console,
418
+ level: "info",
419
+ debug: (...args) => {
420
+ if (greaterThanLevel("debug")) {
421
+ console.log(getTime(), "DEBUG", ...args);
422
+ }
423
+ },
424
+ log: (...args) => {
425
+ console.log(getTime(), "INFO", ...args);
426
+ },
427
+ info: (...args) => {
428
+ if (greaterThanLevel("info")) {
429
+ console.log(getTime(), "INFO", ...args);
430
+ }
431
+ },
432
+ warn: (...args) => {
433
+ if (greaterThanLevel("warn")) {
434
+ console.log(getTime(), "WARN", ...args);
435
+ }
436
+ },
437
+ error: (...args) => {
438
+ if (greaterThanLevel("error")) {
439
+ console.log(getTime(), "ERROR", ...args);
440
+ }
441
+ }
442
+ };
443
+
444
+ // src/sdk/features/featureMethods.ts
445
+ var featureMethods = (instance) => {
446
+ return {
447
+ list: () => staticWrapper(listFeatures, instance, {}),
448
+ get: (id) => staticWrapper(getFeature, instance, { id })
449
+ };
450
+ };
451
+ var listFeatures = async ({
452
+ instance,
453
+ params
454
+ }) => {
455
+ let path = "/features";
456
+ if (params) {
457
+ const queryParams = new URLSearchParams();
458
+ for (const [key, value] of Object.entries(params)) {
459
+ if (value !== void 0) {
460
+ queryParams.append(key, String(value));
461
+ }
462
+ }
463
+ const queryString2 = queryParams.toString();
464
+ if (queryString2) {
465
+ path += `?${queryString2}`;
466
+ }
467
+ }
468
+ return instance.get(path);
469
+ };
470
+ var getFeature = async ({
471
+ instance,
472
+ id
473
+ }) => {
474
+ return instance.get(`/features/${id}`);
475
+ };
476
+
477
+ // src/sdk/events/eventMethods.ts
478
+ var eventMethods = (instance) => {
479
+ return {
480
+ list: (params) => staticWrapper(handleEventList, instance, { params }),
481
+ aggregate: (params) => staticWrapper(handleEventAggregate, instance, { params })
482
+ };
483
+ };
484
+ var handleEventList = async ({
485
+ instance,
486
+ params
487
+ }) => {
488
+ return instance.post("/events/list", params);
489
+ };
490
+ var handleEventAggregate = async ({
491
+ instance,
492
+ params
493
+ }) => {
494
+ return instance.post("/events/aggregate", params);
495
+ };
496
+
497
+ // src/sdk/client.ts
498
+ var LATEST_API_VERSION = "1.2";
499
+ var Autumn = class {
500
+ secretKey;
501
+ publishableKey;
502
+ headers;
503
+ url;
504
+ logger = console;
505
+ defaultReturnUrl;
506
+ constructor(options) {
507
+ try {
508
+ this.secretKey = options?.secretKey || process.env.AUTUMN_SECRET_KEY;
509
+ this.publishableKey = options?.publishableKey || process.env.AUTUMN_PUBLISHABLE_KEY;
510
+ } catch (error) {
511
+ }
512
+ if (!this.secretKey && !this.publishableKey && !options?.headers) {
513
+ throw new Error("Autumn secret key or publishable key is required");
514
+ }
515
+ this.headers = options?.headers || {
516
+ Authorization: `Bearer ${this.secretKey || this.publishableKey}`,
517
+ "Content-Type": "application/json"
518
+ };
519
+ let version = options?.version || LATEST_API_VERSION;
520
+ this.headers["x-api-version"] = version;
521
+ this.url = options?.url || autumnApiUrl;
522
+ this.logger = logger;
523
+ this.logger.level = options?.logLevel || "info";
524
+ this.defaultReturnUrl = options?.defaultReturnUrl;
525
+ }
526
+ async get(path) {
527
+ const response = await fetch(`${this.url}${path}`, {
528
+ headers: this.headers
529
+ });
530
+ return toContainerResult({ response, logger: this.logger });
531
+ }
532
+ async post(path, body) {
533
+ try {
534
+ const response = await fetch(`${this.url}${path}`, {
535
+ method: "POST",
536
+ headers: this.headers,
537
+ body: JSON.stringify(body)
538
+ });
539
+ return toContainerResult({ response, logger: this.logger });
540
+ } catch (error) {
541
+ console.error("Error sending request:", error);
542
+ throw error;
543
+ }
544
+ }
545
+ async delete(path) {
546
+ const response = await fetch(`${this.url}${path}`, {
547
+ method: "DELETE",
548
+ headers: this.headers
549
+ });
550
+ return toContainerResult({ response, logger: this.logger });
551
+ }
552
+ static customers = customerMethods();
553
+ static products = productMethods();
554
+ static entities = entityMethods();
555
+ static referrals = referralMethods();
556
+ static features = featureMethods();
557
+ static events = eventMethods();
558
+ customers = customerMethods(this);
559
+ products = productMethods(this);
560
+ entities = entityMethods(this);
561
+ referrals = referralMethods(this);
562
+ features = featureMethods(this);
563
+ events = eventMethods(this);
564
+ /**
565
+ * Initiates a checkout flow for a product purchase.
566
+ *
567
+ * The checkout function handles the purchase process for products with pricing.
568
+ * It determines whether to show a dialog for user input or redirect directly
569
+ * to Stripe based on the customer's state and product requirements.
570
+ *
571
+ * @param params - Checkout parameters including product ID, customer data, and options
572
+ * @returns Promise resolving to checkout details including pricing, prorations, and URLs
573
+ *
574
+ * @example
575
+ * ```typescript
576
+ * const result = await autumn.checkout({
577
+ * customer_id: "user_123",
578
+ * product_id: "pro",
579
+ * success_url: "https://myapp.com/success"
580
+ * });
581
+ *
582
+ * if (result.url) {
583
+ * // Redirect to Stripe checkout
584
+ * window.location.href = result.url;
585
+ * }
586
+ * ```
587
+ */
588
+ async checkout(params) {
589
+ return handleCheckout({
590
+ instance: this,
591
+ params
592
+ });
593
+ }
594
+ static checkout = (params) => staticWrapper(handleCheckout, void 0, { params });
595
+ static usage = (params) => staticWrapper(handleUsage, void 0, { params });
596
+ /**
597
+ * Attaches a product to a customer, enabling access and handling billing.
598
+ *
599
+ * The attach function activates a product for a customer and applies all product items.
600
+ * When you attach a product:
601
+ * - The customer gains access to all features in the product
602
+ * - If the product has prices, the customer will be billed accordingly
603
+ * - If there's no existing payment method, a checkout URL will be generated
604
+ *
605
+ * @param params - Attach parameters including customer ID, product ID, and options
606
+ * @returns Promise resolving to attachment result with checkout URL if needed
607
+ *
608
+ * @example
609
+ * ```typescript
610
+ * const result = await autumn.attach({
611
+ * customer_id: "user_123",
612
+ * product_id: "pro",
613
+ * success_url: "https://myapp.com/success"
614
+ * });
615
+ *
616
+ * if (result.checkout_url) {
617
+ * // Payment required - redirect to checkout
618
+ * window.location.href = result.checkout_url;
619
+ * } else {
620
+ * // Product successfully attached
621
+ * console.log("Access granted:", result.message);
622
+ * }
623
+ * ```
624
+ */
625
+ async attach(params) {
626
+ return handleAttach({
627
+ instance: this,
628
+ params
629
+ });
630
+ }
631
+ static attach = (params) => staticWrapper(handleAttach, void 0, { params });
632
+ static setupPayment = (params) => staticWrapper(handleSetupPayment, void 0, { params });
633
+ /**
634
+ * Sets up a payment method for a customer.
635
+ *
636
+ * This method allows you to set up payment methods for customers without
637
+ * immediately charging them. Useful for collecting payment information
638
+ * before product attachment or for updating existing payment methods.
639
+ *
640
+ * @param params - Setup payment parameters including customer information
641
+ * @returns Promise resolving to setup payment result
642
+ *
643
+ * @example
644
+ * ```typescript
645
+ * const result = await autumn.setupPayment({
646
+ * customer_id: "user_123"
647
+ * });
648
+ * ```
649
+ */
650
+ async setupPayment(params) {
651
+ return handleSetupPayment({
652
+ instance: this,
653
+ params
654
+ });
655
+ }
656
+ static cancel = (params) => staticWrapper(handleCancel, void 0, { params });
657
+ /**
658
+ * Cancels a customer's subscription or product attachment.
659
+ *
660
+ * This method allows you to cancel a customer's subscription to a specific product.
661
+ * You can choose to cancel immediately or at the end of the billing cycle.
662
+ *
663
+ * @param params - Cancel parameters including customer ID and product ID
664
+ * @returns Promise resolving to cancellation result
665
+ *
666
+ * @example
667
+ * ```typescript
668
+ * const result = await autumn.cancel({
669
+ * customer_id: "user_123",
670
+ * product_id: "pro",
671
+ * cancel_immediately: false // Cancel at end of billing cycle
672
+ * });
673
+ * ```
674
+ */
675
+ async cancel(params) {
676
+ return handleCancel({
677
+ instance: this,
678
+ params
679
+ });
680
+ }
681
+ static check = (params) => staticWrapper(handleCheck, void 0, { params });
682
+ /**
683
+ * Checks if a customer has access to a specific feature.
684
+ *
685
+ * This method verifies whether a customer has permission to use a feature
686
+ * and checks their remaining balance/usage limits. It can be used to gate
687
+ * features and determine when to show upgrade prompts.
688
+ *
689
+ * @param params - Check parameters including customer ID and feature ID
690
+ * @returns Promise resolving to access check result with allowed status and balance info
691
+ *
692
+ * @example
693
+ * ```typescript
694
+ * const result = await autumn.check({
695
+ * customer_id: "user_123",
696
+ * feature_id: "messages",
697
+ * required_balance: 1
698
+ * });
699
+ *
700
+ * if (!result.allowed) {
701
+ * console.log("Feature access denied - upgrade required");
702
+ * }
703
+ * ```
704
+ */
705
+ async check(params) {
706
+ return handleCheck({
707
+ instance: this,
708
+ params
709
+ });
710
+ }
711
+ static track = (params) => staticWrapper(handleTrack, void 0, { params });
712
+ /**
713
+ * Tracks usage events for features or analytics.
714
+ *
715
+ * This method records usage events for metered features, updating the customer's
716
+ * balance and usage statistics. It's typically used server-side to ensure
717
+ * accurate tracking that cannot be manipulated by users.
718
+ *
719
+ * @param params - Track parameters including customer ID, feature ID, and usage value
720
+ * @returns Promise resolving to tracking result
721
+ *
722
+ * @example
723
+ * ```typescript
724
+ * const result = await autumn.track({
725
+ * customer_id: "user_123",
726
+ * feature_id: "messages",
727
+ * value: 1 // Track 1 message sent
728
+ * });
729
+ * ```
730
+ */
731
+ async track(params) {
732
+ return handleTrack({
733
+ instance: this,
734
+ params
735
+ });
736
+ }
737
+ /**
738
+ * Retrieves usage statistics and analytics for a customer.
739
+ *
740
+ * This method fetches detailed usage information for a customer's features,
741
+ * including current balances, usage history, and analytics data. Useful
742
+ * for displaying usage dashboards or generating reports.
743
+ *
744
+ * @param params - Usage parameters including customer ID and optional filters
745
+ * @returns Promise resolving to usage statistics and analytics data
746
+ *
747
+ * @example
748
+ * ```typescript
749
+ * const result = await autumn.usage({
750
+ * customer_id: "user_123",
751
+ * feature_id: "messages"
752
+ * value: 20 // Usage value
753
+ * });
754
+ * ```
755
+ */
756
+ async usage(params) {
757
+ return handleUsage({
758
+ instance: this,
759
+ params
760
+ });
761
+ }
762
+ static query = (params) => staticWrapper(handleQuery, void 0, { params });
763
+ /**
764
+ * Performs advanced queries on customer data and analytics.
765
+ *
766
+ * This method allows you to run complex queries against customer data,
767
+ * usage patterns, and billing information. Useful for generating reports,
768
+ * analytics, and custom data insights.
769
+ *
770
+ * @param params - Query parameters including customer ID and query specifications
771
+ * @returns Promise resolving to query results with requested data
772
+ *
773
+ * @example
774
+ * ```typescript
775
+ * const result = await autumn.query({
776
+ * customer_id: "user_123",
777
+ * feature_id: "messages" // feature id to fetch for query, can also be an array
778
+ * });
779
+ *
780
+ * ```
781
+ */
782
+ async query(params) {
783
+ return handleQuery({
784
+ instance: this,
785
+ params
786
+ });
787
+ }
788
+ };
789
+
790
+ // src/sdk/products/prodEnums.ts
791
+ var ProductItemInterval = /* @__PURE__ */ ((ProductItemInterval2) => {
792
+ ProductItemInterval2["Minute"] = "minute";
793
+ ProductItemInterval2["Hour"] = "hour";
794
+ ProductItemInterval2["Day"] = "day";
795
+ ProductItemInterval2["Week"] = "week";
796
+ ProductItemInterval2["Month"] = "month";
797
+ ProductItemInterval2["Quarter"] = "quarter";
798
+ ProductItemInterval2["SemiAnnual"] = "semi_annual";
799
+ ProductItemInterval2["Year"] = "year";
800
+ ProductItemInterval2["Multiple"] = "multiple";
801
+ return ProductItemInterval2;
802
+ })(ProductItemInterval || {});
803
+
804
+ // src/sdk/customers/cusEnums.ts
805
+ var import_v4 = require("zod/v4");
806
+ var CustomerExpandEnum = import_v4.z.enum([
807
+ "invoices",
808
+ "rewards",
809
+ "trials_used",
810
+ "entities",
811
+ "referrals",
812
+ "payment_method"
813
+ ]);
814
+
815
+ // src/sdk/customers/cusTypes.ts
816
+ var import_v42 = require("zod/v4");
817
+ var CoreCusFeatureSchema = import_v42.z.object({
818
+ unlimited: import_v42.z.boolean().optional(),
819
+ interval: import_v42.z.enum(ProductItemInterval).optional(),
820
+ balance: import_v42.z.number().nullish(),
821
+ usage: import_v42.z.number().optional(),
822
+ included_usage: import_v42.z.number().optional(),
823
+ next_reset_at: import_v42.z.number().nullish(),
824
+ overage_allowed: import_v42.z.boolean().optional(),
825
+ usage_limit: import_v42.z.number().optional(),
826
+ rollovers: import_v42.z.object({
827
+ balance: import_v42.z.number(),
828
+ expires_at: import_v42.z.number()
829
+ }).optional(),
830
+ breakdown: import_v42.z.array(
831
+ import_v42.z.object({
832
+ interval: import_v42.z.enum(ProductItemInterval),
833
+ balance: import_v42.z.number().optional(),
834
+ usage: import_v42.z.number().optional(),
835
+ included_usage: import_v42.z.number().optional(),
836
+ next_reset_at: import_v42.z.number().optional()
837
+ })
838
+ ).optional(),
839
+ credit_schema: import_v42.z.array(
840
+ import_v42.z.object({
841
+ feature_id: import_v42.z.string(),
842
+ credit_amount: import_v42.z.number()
843
+ })
844
+ ).optional()
845
+ });
846
+ var CustomerDataSchema = import_v42.z.object({
847
+ name: import_v42.z.string().nullish(),
848
+ email: import_v42.z.string().nullish(),
849
+ fingerprint: import_v42.z.string().nullish()
850
+ });
851
+ var CreateCustomerParamsSchema = import_v42.z.object({
852
+ id: import_v42.z.string().nullish(),
853
+ email: import_v42.z.string().nullish(),
854
+ name: import_v42.z.string().nullish(),
855
+ fingerprint: import_v42.z.string().nullish(),
856
+ metadata: import_v42.z.record(import_v42.z.string(), import_v42.z.any()).optional(),
857
+ expand: import_v42.z.array(CustomerExpandEnum).optional(),
858
+ stripe_id: import_v42.z.string().nullish()
859
+ });
860
+ var BillingPortalParamsSchema = import_v42.z.object({
861
+ return_url: import_v42.z.string().optional()
862
+ });
863
+ var UpdateBalancesParamsSchema = import_v42.z.object({
864
+ feature_id: import_v42.z.string(),
865
+ balance: import_v42.z.number()
866
+ }).or(
867
+ import_v42.z.array(
868
+ import_v42.z.object({
869
+ feature_id: import_v42.z.string(),
870
+ balance: import_v42.z.number()
871
+ })
872
+ )
873
+ );
874
+ var DeleteCustomerParamsSchema = import_v42.z.object({
875
+ delete_in_stripe: import_v42.z.boolean().optional()
876
+ });
877
+ var ListCustomersParamsSchema = import_v42.z.object({
878
+ limit: import_v42.z.number().optional(),
879
+ offset: import_v42.z.number().optional()
880
+ });
881
+
882
+ // src/sdk/general/checkTypes.ts
883
+ var import_v43 = require("zod/v4");
884
+ var CheckFeatureResultSchema = import_v43.z.object({
885
+ allowed: import_v43.z.boolean(),
886
+ feature_id: import_v43.z.string(),
887
+ customer_id: import_v43.z.string(),
888
+ entity_id: import_v43.z.string().optional(),
889
+ required_balance: import_v43.z.number()
890
+ }).extend(CoreCusFeatureSchema.shape);
891
+
892
+ // src/sdk/customers/entities/entTypes.ts
893
+ var import_v44 = require("zod/v4");
894
+ var EntityDataSchema = import_v44.z.object({
895
+ name: import_v44.z.string().optional(),
896
+ feature_id: import_v44.z.string()
897
+ });
898
+ var TransferProductParamsSchema = import_v44.z.object({
899
+ from_entity_id: import_v44.z.string(),
900
+ to_entity_id: import_v44.z.string(),
901
+ product_id: import_v44.z.string()
902
+ });
903
+
904
+ // src/sdk/general/genTypes.ts
905
+ var import_v45 = require("zod/v4");
906
+ var CancelParamsSchema = import_v45.z.object({
907
+ customer_id: import_v45.z.string(),
908
+ product_id: import_v45.z.string(),
909
+ entity_id: import_v45.z.string().optional(),
910
+ cancel_immediately: import_v45.z.boolean().optional()
911
+ });
912
+ var CancelResultSchema = import_v45.z.object({
913
+ success: import_v45.z.boolean(),
914
+ customer_id: import_v45.z.string(),
915
+ product_id: import_v45.z.string()
916
+ });
917
+ var TrackParamsSchema = import_v45.z.object({
918
+ customer_id: import_v45.z.string(),
919
+ value: import_v45.z.number().optional(),
920
+ feature_id: import_v45.z.string().optional(),
921
+ event_name: import_v45.z.string().optional(),
922
+ entity_id: import_v45.z.string().optional(),
923
+ customer_data: import_v45.z.any().optional(),
924
+ idempotency_key: import_v45.z.string().optional(),
925
+ entity_data: import_v45.z.any().optional(),
926
+ properties: import_v45.z.record(import_v45.z.string(), import_v45.z.any()).optional()
927
+ });
928
+ var TrackResultSchema = import_v45.z.object({
929
+ id: import_v45.z.string(),
930
+ code: import_v45.z.string(),
931
+ customer_id: import_v45.z.string(),
932
+ feature_id: import_v45.z.string().optional(),
933
+ event_name: import_v45.z.string().optional()
934
+ });
935
+ var CheckParamsSchema = import_v45.z.object({
936
+ customer_id: import_v45.z.string(),
937
+ feature_id: import_v45.z.string().optional(),
938
+ product_id: import_v45.z.string().optional(),
939
+ entity_id: import_v45.z.string().optional(),
940
+ customer_data: import_v45.z.any().optional(),
941
+ required_balance: import_v45.z.number().optional(),
942
+ send_event: import_v45.z.boolean().optional(),
943
+ with_preview: import_v45.z.boolean().optional(),
944
+ entity_data: EntityDataSchema.optional()
945
+ });
946
+
947
+ // src/sdk/referrals/referralTypes.ts
948
+ var import_v46 = require("zod/v4");
949
+ var CreateReferralCodeParamsSchema = import_v46.z.object({
950
+ customer_id: import_v46.z.string(),
951
+ program_id: import_v46.z.string()
952
+ });
953
+ var RedeemReferralCodeParamsSchema = import_v46.z.object({
954
+ code: import_v46.z.string(),
955
+ customer_id: import_v46.z.string()
956
+ });
957
+
958
+ // src/sdk/general/attachTypes.ts
959
+ var import_v47 = require("zod/v4");
960
+ var AttachFeatureOptionsSchema = import_v47.z.object({
961
+ feature_id: import_v47.z.string(),
962
+ quantity: import_v47.z.number()
963
+ });
964
+ var AttachParamsSchema = import_v47.z.object({
965
+ customer_id: import_v47.z.string(),
966
+ product_id: import_v47.z.string().optional(),
967
+ entity_id: import_v47.z.string().optional(),
968
+ options: import_v47.z.array(AttachFeatureOptionsSchema).optional(),
969
+ product_ids: import_v47.z.array(import_v47.z.string()).optional(),
970
+ free_trial: import_v47.z.boolean().optional(),
971
+ success_url: import_v47.z.string().optional(),
972
+ metadata: import_v47.z.record(import_v47.z.string(), import_v47.z.string()).optional(),
973
+ force_checkout: import_v47.z.boolean().optional(),
974
+ customer_data: CustomerDataSchema.optional(),
975
+ entity_data: import_v47.z.any().optional(),
976
+ checkout_session_params: import_v47.z.record(import_v47.z.string(), import_v47.z.any()).optional(),
977
+ reward: import_v47.z.string().optional(),
978
+ invoice: import_v47.z.boolean().optional()
979
+ });
980
+ var AttachResultSchema = import_v47.z.object({
981
+ checkout_url: import_v47.z.string().optional(),
982
+ customer_id: import_v47.z.string(),
983
+ product_ids: import_v47.z.array(import_v47.z.string()),
984
+ code: import_v47.z.string(),
985
+ message: import_v47.z.string(),
986
+ customer_data: import_v47.z.any().optional(),
987
+ invoice: import_v47.z.object({
988
+ status: import_v47.z.string(),
989
+ stripe_id: import_v47.z.string(),
990
+ hosted_invoice_url: import_v47.z.string().nullable(),
991
+ total: import_v47.z.number(),
992
+ currency: import_v47.z.string()
993
+ }).optional()
994
+ });
995
+ var CheckoutParamsSchema = import_v47.z.object({
996
+ customer_id: import_v47.z.string(),
997
+ product_id: import_v47.z.string(),
998
+ product_ids: import_v47.z.array(import_v47.z.string()).optional(),
999
+ entity_id: import_v47.z.string().optional(),
1000
+ options: import_v47.z.array(AttachFeatureOptionsSchema).optional(),
1001
+ force_checkout: import_v47.z.boolean().optional(),
1002
+ invoice: import_v47.z.boolean().optional(),
1003
+ success_url: import_v47.z.string().optional(),
1004
+ customer_data: CustomerDataSchema.optional(),
1005
+ entity_data: import_v47.z.any().optional(),
1006
+ checkout_session_params: import_v47.z.record(import_v47.z.string(), import_v47.z.any()).optional(),
1007
+ reward: import_v47.z.string().optional()
1008
+ });
1009
+
1010
+ // src/sdk/general/cursorTypes.ts
1011
+ var import_v48 = require("zod/v4");
1012
+ var PaginationDefaults = {
1013
+ Limit: 100,
1014
+ MaxLimit: 1e3
1015
+ };
1016
+ var CursorPaginationQuerySchema = import_v48.z.object({
1017
+ starting_after: import_v48.z.string().optional(),
1018
+ limit: import_v48.z.coerce.number().int().min(1).max(PaginationDefaults.MaxLimit).default(PaginationDefaults.Limit).optional()
1019
+ });
1020
+ var createCursorPaginatedResponseSchema = (itemSchema) => import_v48.z.object({
1021
+ list: import_v48.z.array(itemSchema),
1022
+ has_more: import_v48.z.boolean(),
1023
+ next_cursor: import_v48.z.string().nullable()
1024
+ });
1025
+
1026
+ // src/sdk/events/eventTypes.ts
1027
+ var import_v49 = require("zod/v4");
1028
+ var QueryRangeEnum = import_v49.z.enum([
1029
+ "24h",
1030
+ "7d",
1031
+ "30d",
1032
+ "90d",
1033
+ "last_cycle",
1034
+ "1bc",
1035
+ "3bc"
1036
+ ]);
1037
+ var BinSizeEnum = import_v49.z.enum(["day", "hour"]);
1038
+ var QueryParamsSchema = import_v49.z.object({
1039
+ customer_id: import_v49.z.string(),
1040
+ feature_id: import_v49.z.string().or(import_v49.z.array(import_v49.z.string())),
1041
+ range: QueryRangeEnum.optional(),
1042
+ group_by: import_v49.z.string().startsWith("properties.").optional(),
1043
+ bin_size: BinSizeEnum.optional(),
1044
+ custom_range: import_v49.z.object({
1045
+ start: import_v49.z.number(),
1046
+ end: import_v49.z.number()
1047
+ }).optional()
1048
+ });
1049
+ var LogParamsSchema = CursorPaginationQuerySchema.extend({
1050
+ customer_id: import_v49.z.string(),
1051
+ feature_id: import_v49.z.string().or(import_v49.z.array(import_v49.z.string())),
1052
+ time_range: import_v49.z.object({
1053
+ start: import_v49.z.coerce.number().optional(),
1054
+ end: import_v49.z.coerce.number().optional()
1055
+ }).optional()
1056
+ });
1057
+ var EventLogSchema = import_v49.z.object({
1058
+ id: import_v49.z.string().describe("Event ID (KSUID)"),
1059
+ timestamp: import_v49.z.number().describe("Event timestamp (epoch milliseconds)"),
1060
+ event_name: import_v49.z.string().describe("Name of the event"),
1061
+ customer_id: import_v49.z.string().describe("Customer identifier"),
1062
+ value: import_v49.z.number().describe("Event value/count"),
1063
+ properties: import_v49.z.object({}).describe("Event properties (JSONB)")
1064
+ });
1065
+ var EventLogResponseSchema = createCursorPaginatedResponseSchema(EventLogSchema);
1066
+
1067
+ // src/sdk/features/featureTypes.ts
1068
+ var import_v410 = require("zod/v4");
1069
+ var FeatureType = /* @__PURE__ */ ((FeatureType2) => {
1070
+ FeatureType2["Boolean"] = "boolean";
1071
+ FeatureType2["SingleUse"] = "single_use";
1072
+ FeatureType2["ContinuousUse"] = "continuous_use";
1073
+ FeatureType2["CreditSystem"] = "credit_system";
1074
+ return FeatureType2;
1075
+ })(FeatureType || {});
1076
+ var FeatureSchema = import_v410.z.object({
1077
+ id: import_v410.z.string(),
1078
+ name: import_v410.z.string(),
1079
+ type: import_v410.z.enum(FeatureType),
1080
+ display: import_v410.z.object({
1081
+ singular: import_v410.z.string(),
1082
+ plural: import_v410.z.string()
1083
+ }).nullish(),
1084
+ credit_schema: import_v410.z.array(
1085
+ import_v410.z.object({
1086
+ metered_feature_id: import_v410.z.string(),
1087
+ credit_cost: import_v410.z.number()
1088
+ })
1089
+ ).nullish(),
1090
+ archived: import_v410.z.boolean()
1091
+ });
1092
+
1093
+ // src/libraries/react/errorUtils/logFetchError.ts
1094
+ var logFetchError = ({
1095
+ method,
1096
+ backendUrl,
1097
+ path,
1098
+ error
1099
+ }) => {
1100
+ console.error(`[Autumn] Fetch failed: ${method} ${backendUrl}${path}
1101
+
1102
+ 1. Check that backendUrl in <AutumnProvider/> is correctly set.
1103
+ 2. Check that autumnHandler is correctly registered on your backend.`);
1104
+ };
1105
+
1106
+ // src/libraries/react/client/clientCusMethods.ts
1107
+ var createCustomerMethod = async ({
1108
+ client,
1109
+ params
1110
+ }) => {
1111
+ let result = await client.post(`${client.prefix}/customers`, params);
1112
+ return result;
1113
+ };
1114
+
1115
+ // src/utils/entityUtils.tsx
1116
+ var getEntityExpandStr = (expand) => {
1117
+ if (!expand) {
1118
+ return "";
1119
+ }
1120
+ return `expand=${expand.join(",")}`;
1121
+ };
1122
+
1123
+ // src/libraries/react/client/clientEntityMethods.ts
1124
+ async function createEntityMethod(params) {
1125
+ const res = await this.post(`${this.prefix}/entities`, params);
1126
+ return res;
1127
+ }
1128
+ async function getEntityMethod(entityId, params) {
1129
+ const expand = getEntityExpandStr(params?.expand);
1130
+ const res = await this.get(`${this.prefix}/entities/${entityId}?${expand}`);
1131
+ return res;
1132
+ }
1133
+ async function deleteEntityMethod(entityId) {
1134
+ const res = await this.delete(`${this.prefix}/entities/${entityId}`);
1135
+ return res;
1136
+ }
1137
+
1138
+ // src/libraries/react/client/clientGenMethods.ts
1139
+ async function checkoutMethod(params) {
1140
+ const finalParams = {
1141
+ ...params,
1142
+ successUrl: params.successUrl ?? this.defaultReturnUrl
1143
+ };
1144
+ const res = await this.post(`${this.prefix}/checkout`, finalParams);
1145
+ return res;
1146
+ }
1147
+ async function attachMethod(params) {
1148
+ const finalParams = {
1149
+ ...params,
1150
+ successUrl: params.successUrl ?? this.defaultReturnUrl
1151
+ };
1152
+ const res = await this.post(`${this.prefix}/attach`, finalParams);
1153
+ return res;
1154
+ }
1155
+ async function setupPaymentMethod(params) {
1156
+ const finalParams = {
1157
+ ...params,
1158
+ successUrl: params.successUrl ?? this.defaultReturnUrl
1159
+ };
1160
+ const res = await this.post(`${this.prefix}/setup_payment`, finalParams);
1161
+ return res;
1162
+ }
1163
+ async function cancelMethod(params) {
1164
+ const res = await this.post(`${this.prefix}/cancel`, params);
1165
+ return res;
1166
+ }
1167
+ async function checkMethod(params) {
1168
+ const noDialogParams = {
1169
+ ...params,
1170
+ dialog: void 0
1171
+ };
1172
+ const res = await this.post(`${this.prefix}/check`, noDialogParams);
1173
+ return res;
1174
+ }
1175
+ async function trackMethod(params) {
1176
+ const res = await this.post(`${this.prefix}/track`, params);
1177
+ return res;
1178
+ }
1179
+ async function openBillingPortalMethod(params) {
1180
+ const finalParams = {
1181
+ ...params || {},
1182
+ returnUrl: params?.returnUrl ?? this.defaultReturnUrl
1183
+ };
1184
+ const res = await this.post(`${this.prefix}/billing_portal`, finalParams);
1185
+ return res;
1186
+ }
1187
+ async function queryMethod(params) {
1188
+ const res = await this.post(`${this.prefix}/query`, params);
1189
+ return res;
1190
+ }
1191
+
1192
+ // src/libraries/react/client/clientProdMethods.ts
1193
+ async function listProductsMethod() {
1194
+ const res = await this.get(`${this.prefix}/products`);
1195
+ return res;
1196
+ }
1197
+
1198
+ // src/libraries/react/client/clientReferralMethods.ts
1199
+ async function createCode(params) {
1200
+ const res = await this.post(`${this.prefix}/referrals/code`, params);
1201
+ return res;
1202
+ }
1203
+ async function redeemCode(params) {
1204
+ const res = await this.post(`${this.prefix}/referrals/redeem`, params);
1205
+ return res;
1206
+ }
1207
+
1208
+ // src/libraries/react/client/clientAnalyticsMethods.ts
1209
+ async function eventListMethod(params) {
1210
+ const res = await this.post(`${this.prefix}/events/list`, params);
1211
+ return res;
1212
+ }
1213
+ async function eventAggregateMethod(params) {
1214
+ const res = await this.post(`${this.prefix}/events/aggregate`, params);
1215
+ return res;
1216
+ }
1217
+
1218
+ // src/libraries/react/client/ReactAutumnClient.tsx
1219
+ var AutumnClient = class {
1220
+ backendUrl;
1221
+ getBearerToken;
1222
+ customerData;
1223
+ includeCredentials;
1224
+ prefix;
1225
+ camelCase;
1226
+ headers;
1227
+ framework;
1228
+ defaultReturnUrl;
1229
+ constructor({
1230
+ backendUrl,
1231
+ getBearerToken,
1232
+ customerData,
1233
+ includeCredentials,
1234
+ betterAuthUrl,
1235
+ headers,
1236
+ pathPrefix,
1237
+ defaultReturnUrl
1238
+ }) {
1239
+ this.backendUrl = backendUrl;
1240
+ this.getBearerToken = getBearerToken;
1241
+ this.customerData = customerData;
1242
+ this.includeCredentials = includeCredentials;
1243
+ this.prefix = "/api/autumn";
1244
+ let camelCase = false;
1245
+ if (betterAuthUrl) {
1246
+ this.prefix = "/api/auth/autumn";
1247
+ this.backendUrl = betterAuthUrl;
1248
+ camelCase = true;
1249
+ }
1250
+ const providedPrefix = pathPrefix;
1251
+ if (providedPrefix) {
1252
+ const normalized = `/${providedPrefix}`.replace(/\/+/g, "/").replace(/\/$/, "");
1253
+ this.prefix = normalized;
1254
+ }
1255
+ this.headers = headers;
1256
+ if (betterAuthUrl) camelCase = true;
1257
+ this.camelCase = camelCase;
1258
+ this.defaultReturnUrl = defaultReturnUrl;
1259
+ }
1260
+ /**
1261
+ * Detects if the backend supports CORS credentials by making an OPTIONS request
1262
+ */
1263
+ async detectCors() {
1264
+ if (this.prefix?.includes("/api/auth")) {
1265
+ return { valid: true, includeCredentials: true };
1266
+ }
1267
+ const testEndpoint = `${this.backendUrl}${this.prefix}/cors`;
1268
+ try {
1269
+ await fetch(testEndpoint, {
1270
+ method: "POST",
1271
+ credentials: "include",
1272
+ headers: { "Content-Type": "application/json" },
1273
+ body: JSON.stringify({})
1274
+ });
1275
+ return { valid: true, includeCredentials: true };
1276
+ } catch (_) {
1277
+ try {
1278
+ await fetch(testEndpoint, {
1279
+ method: "POST",
1280
+ credentials: "omit",
1281
+ headers: { "Content-Type": "application/json" },
1282
+ body: JSON.stringify({})
1283
+ });
1284
+ return { valid: true, includeCredentials: false };
1285
+ } catch (_2) {
1286
+ return { valid: false, includeCredentials: void 0 };
1287
+ }
1288
+ }
1289
+ }
1290
+ /**
1291
+ * Automatically determines whether to include credentials based on CORS detection
1292
+ */
1293
+ async shouldIncludeCredentials() {
1294
+ if (this.includeCredentials !== void 0) {
1295
+ return this.includeCredentials;
1296
+ }
1297
+ try {
1298
+ const corsResult = await this.detectCors();
1299
+ if (corsResult.valid) {
1300
+ console.warn(
1301
+ `[Autumn] Detected CORS credentials: ${corsResult.includeCredentials}`
1302
+ );
1303
+ console.warn(
1304
+ `[Autumn] To disable this warning, you can set includeCredentials={${corsResult.includeCredentials ? "true" : "false"}} in <AutumnProvider />`
1305
+ );
1306
+ this.includeCredentials = corsResult.includeCredentials;
1307
+ return corsResult.includeCredentials || false;
1308
+ }
1309
+ console.warn(`[Autumn] CORS detection failed, defaulting to false`);
1310
+ return false;
1311
+ } catch (error) {
1312
+ console.error(`[Autumn] Error detecting CORS: ${error.message}`);
1313
+ return false;
1314
+ }
1315
+ }
1316
+ async getHeaders() {
1317
+ let headers = {
1318
+ "Content-Type": "application/json"
1319
+ };
1320
+ if (this.getBearerToken) {
1321
+ try {
1322
+ const token = await this.getBearerToken();
1323
+ headers.Authorization = `Bearer ${token}`;
1324
+ } catch (_) {
1325
+ console.error(`Failed to call getToken() in AutumnProvider`);
1326
+ }
1327
+ }
1328
+ if (this.headers) {
1329
+ headers = { ...headers, ...this.headers };
1330
+ }
1331
+ return headers;
1332
+ }
1333
+ async handleFetch({
1334
+ path,
1335
+ method,
1336
+ body
1337
+ }) {
1338
+ body = method === "POST" ? {
1339
+ ...body,
1340
+ [this.camelCase ? "customerData" : "customer_data"]: this.customerData || void 0
1341
+ } : void 0;
1342
+ const includeCredentials = await this.shouldIncludeCredentials();
1343
+ try {
1344
+ const response = await fetch(`${this.backendUrl}${path}`, {
1345
+ method,
1346
+ body: body ? JSON.stringify(body) : void 0,
1347
+ headers: await this.getHeaders(),
1348
+ credentials: includeCredentials ? "include" : "omit"
1349
+ });
1350
+ const loggedError = await logAuthError(response);
1351
+ return await toContainerResult({
1352
+ response,
1353
+ logger: console,
1354
+ logError: !loggedError
1355
+ });
1356
+ } catch (error) {
1357
+ logFetchError({
1358
+ method,
1359
+ backendUrl: this.backendUrl || "",
1360
+ path,
1361
+ error
1362
+ });
1363
+ return {
1364
+ data: null,
1365
+ error: new AutumnError({
1366
+ message: error instanceof Error ? error.message : JSON.stringify(error),
1367
+ code: "fetch_failed"
1368
+ })
1369
+ };
1370
+ }
1371
+ }
1372
+ async post(path, body) {
1373
+ return await this.handleFetch({
1374
+ path,
1375
+ method: "POST",
1376
+ body
1377
+ });
1378
+ }
1379
+ async get(path) {
1380
+ return await this.handleFetch({
1381
+ path,
1382
+ method: "GET"
1383
+ });
1384
+ }
1385
+ async delete(path) {
1386
+ return await this.handleFetch({
1387
+ path,
1388
+ method: "DELETE"
1389
+ });
1390
+ }
1391
+ async createCustomer(params) {
1392
+ return await createCustomerMethod({
1393
+ client: this,
1394
+ params
1395
+ });
1396
+ }
1397
+ attach = attachMethod.bind(this);
1398
+ checkout = checkoutMethod.bind(this);
1399
+ cancel = cancelMethod.bind(this);
1400
+ check = checkMethod.bind(this);
1401
+ track = trackMethod.bind(this);
1402
+ openBillingPortal = openBillingPortalMethod.bind(this);
1403
+ setupPayment = setupPaymentMethod.bind(this);
1404
+ query = queryMethod.bind(this);
1405
+ entities = {
1406
+ create: createEntityMethod.bind(this),
1407
+ get: getEntityMethod.bind(this),
1408
+ delete: deleteEntityMethod.bind(this)
1409
+ };
1410
+ referrals = {
1411
+ createCode: createCode.bind(this),
1412
+ redeemCode: redeemCode.bind(this)
1413
+ };
1414
+ products = {
1415
+ list: listProductsMethod.bind(this)
1416
+ };
1417
+ events = {
1418
+ list: eventListMethod.bind(this),
1419
+ aggregate: eventAggregateMethod.bind(this)
1420
+ };
1421
+ };
1422
+
1423
+ // src/libraries/react/AutumnContext.tsx
1424
+ var import_react = require("react");
1425
+ var AutumnContext = (0, import_react.createContext)({
1426
+ initialized: false,
1427
+ disableDialogs: false,
1428
+ client: new AutumnClient({ backendUrl: "" }),
1429
+ paywallDialog: {
1430
+ props: null,
1431
+ setProps: () => {
1432
+ },
1433
+ open: false,
1434
+ setOpen: () => {
1435
+ },
1436
+ setComponent: () => {
1437
+ }
1438
+ },
1439
+ attachDialog: {
1440
+ props: null,
1441
+ setProps: () => {
1442
+ },
1443
+ open: false,
1444
+ setOpen: () => {
1445
+ },
1446
+ setComponent: () => {
1447
+ }
1448
+ },
1449
+ paywallRef: { current: null }
1450
+ });
1451
+ var useAutumnContext = ({
1452
+ AutumnContext: AutumnContext2,
1453
+ name,
1454
+ errorIfNotInitialized = true
1455
+ }) => {
1456
+ const context = (0, import_react.useContext)(AutumnContext2);
1457
+ if (!context.initialized && errorIfNotInitialized) {
1458
+ throw new Error(`${name} must be used within <AutumnProvider />`);
1459
+ }
1460
+ return context;
1461
+ };
1462
+
1463
+ // src/libraries/react/hooks/useAggregateEvents.tsx
1464
+ var import_swr = __toESM(require("swr"));
1465
+ var useAggregateEvents = (params) => {
1466
+ const context = useAutumnContext({
1467
+ AutumnContext,
1468
+ name: "useAggregateEvents"
1469
+ });
1470
+ const client = context.client;
1471
+ const fetcher = async () => {
1472
+ try {
1473
+ const { data: data2, error: error2 } = await client.events.aggregate(params);
1474
+ if (error2) throw error2;
1475
+ return data2;
1476
+ } catch (error2) {
1477
+ throw new AutumnError({
1478
+ message: "Failed to fetch event aggregation",
1479
+ code: "fetch_event_aggregation_failed"
1480
+ });
1481
+ }
1482
+ };
1483
+ const { data, error, mutate } = (0, import_swr.default)(
1484
+ ["eventAggregate", params.customer_id, params.feature_id, params.range, params.bin_size],
1485
+ fetcher,
1486
+ { refreshInterval: 0 }
1487
+ );
1488
+ return {
1489
+ list: data?.list,
1490
+ total: data?.total,
1491
+ isLoading: !error && !data,
1492
+ error,
1493
+ refetch: mutate
1494
+ };
1495
+ };
1496
+ // Annotate the CommonJS export names for ESM import in node:
1497
+ 0 && (module.exports = {
1498
+ useAggregateEvents
1499
+ });