@stardeckai/autumn-js 0.1.85

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 (536) hide show
  1. package/LICENSE.md +7 -0
  2. package/README.md +12 -0
  3. package/dist/libraries/backend/balancesTypes-BrQjQCw3.d.ts +1822 -0
  4. package/dist/libraries/backend/balancesTypes-Dk9mLKO8.d.mts +1822 -0
  5. package/dist/libraries/backend/better-auth.d.mts +772 -0
  6. package/dist/libraries/backend/better-auth.d.ts +772 -0
  7. package/dist/libraries/backend/better-auth.js +2872 -0
  8. package/dist/libraries/backend/better-auth.mjs +482 -0
  9. package/dist/libraries/backend/chunk-4LJK3VUJ.mjs +48 -0
  10. package/dist/libraries/backend/chunk-7AOVJSWM.mjs +158 -0
  11. package/dist/libraries/backend/chunk-ENC3BP6R.mjs +53 -0
  12. package/dist/libraries/backend/chunk-IZDJ3I6T.mjs +1749 -0
  13. package/dist/libraries/backend/chunk-KSG3E4Q2.mjs +8 -0
  14. package/dist/libraries/backend/chunk-LM7CBUUT.mjs +95 -0
  15. package/dist/libraries/backend/chunk-NRKSUO62.mjs +115 -0
  16. package/dist/libraries/backend/chunk-SGEUXFOF.mjs +40 -0
  17. package/dist/libraries/backend/chunk-SRJD6EXQ.mjs +104 -0
  18. package/dist/libraries/backend/chunk-UNZHJTEY.mjs +18 -0
  19. package/dist/libraries/backend/chunk-ZGBFNNRL.mjs +78 -0
  20. package/dist/libraries/backend/chunk-ZW3KBZDU.mjs +30 -0
  21. package/dist/libraries/backend/constants.d.mts +4 -0
  22. package/dist/libraries/backend/constants.d.ts +4 -0
  23. package/dist/libraries/backend/constants.js +33 -0
  24. package/dist/libraries/backend/constants.mjs +8 -0
  25. package/dist/libraries/backend/convex.d.mts +16 -0
  26. package/dist/libraries/backend/convex.d.ts +16 -0
  27. package/dist/libraries/backend/convex.js +2468 -0
  28. package/dist/libraries/backend/convex.mjs +164 -0
  29. package/dist/libraries/backend/elysia.d.mts +35 -0
  30. package/dist/libraries/backend/elysia.d.ts +35 -0
  31. package/dist/libraries/backend/elysia.js +2399 -0
  32. package/dist/libraries/backend/elysia.mjs +102 -0
  33. package/dist/libraries/backend/express.d.mts +16 -0
  34. package/dist/libraries/backend/express.d.ts +16 -0
  35. package/dist/libraries/backend/express.js +2371 -0
  36. package/dist/libraries/backend/express.mjs +72 -0
  37. package/dist/libraries/backend/fastify.d.mts +9 -0
  38. package/dist/libraries/backend/fastify.d.ts +9 -0
  39. package/dist/libraries/backend/fastify.js +2368 -0
  40. package/dist/libraries/backend/fastify.mjs +69 -0
  41. package/dist/libraries/backend/hono.d.mts +12 -0
  42. package/dist/libraries/backend/hono.d.ts +12 -0
  43. package/dist/libraries/backend/hono.js +2365 -0
  44. package/dist/libraries/backend/hono.mjs +66 -0
  45. package/dist/libraries/backend/index.d.mts +25 -0
  46. package/dist/libraries/backend/index.d.ts +25 -0
  47. package/dist/libraries/backend/index.js +2376 -0
  48. package/dist/libraries/backend/index.mjs +74 -0
  49. package/dist/libraries/backend/next.d.mts +13 -0
  50. package/dist/libraries/backend/next.d.ts +13 -0
  51. package/dist/libraries/backend/next.js +2395 -0
  52. package/dist/libraries/backend/next.mjs +94 -0
  53. package/dist/libraries/backend/react-router.d.mts +12 -0
  54. package/dist/libraries/backend/react-router.d.ts +12 -0
  55. package/dist/libraries/backend/react-router.js +2396 -0
  56. package/dist/libraries/backend/react-router.mjs +97 -0
  57. package/dist/libraries/backend/remix_dep.d.mts +15 -0
  58. package/dist/libraries/backend/remix_dep.d.ts +15 -0
  59. package/dist/libraries/backend/remix_dep.js +2360 -0
  60. package/dist/libraries/backend/remix_dep.mjs +73 -0
  61. package/dist/libraries/backend/response-BBvvMvoC.d.mts +30 -0
  62. package/dist/libraries/backend/response-BBvvMvoC.d.ts +30 -0
  63. package/dist/libraries/backend/routes/analyticsRoutes.d.mts +6 -0
  64. package/dist/libraries/backend/routes/analyticsRoutes.d.ts +6 -0
  65. package/dist/libraries/backend/routes/analyticsRoutes.js +1936 -0
  66. package/dist/libraries/backend/routes/analyticsRoutes.mjs +10 -0
  67. package/dist/libraries/backend/routes/backendRouter.d.mts +12 -0
  68. package/dist/libraries/backend/routes/backendRouter.d.ts +12 -0
  69. package/dist/libraries/backend/routes/backendRouter.js +2304 -0
  70. package/dist/libraries/backend/routes/backendRouter.mjs +15 -0
  71. package/dist/libraries/backend/routes/basePath.d.mts +2 -0
  72. package/dist/libraries/backend/routes/basePath.d.ts +2 -0
  73. package/dist/libraries/backend/routes/basePath.js +1 -0
  74. package/dist/libraries/backend/routes/basePath.mjs +0 -0
  75. package/dist/libraries/backend/routes/entityRoutes.d.mts +6 -0
  76. package/dist/libraries/backend/routes/entityRoutes.d.ts +6 -0
  77. package/dist/libraries/backend/routes/entityRoutes.js +1963 -0
  78. package/dist/libraries/backend/routes/entityRoutes.mjs +10 -0
  79. package/dist/libraries/backend/routes/genRoutes.d.mts +6 -0
  80. package/dist/libraries/backend/routes/genRoutes.d.ts +6 -0
  81. package/dist/libraries/backend/routes/genRoutes.js +2041 -0
  82. package/dist/libraries/backend/routes/genRoutes.mjs +10 -0
  83. package/dist/libraries/backend/routes/productRoutes.d.mts +6 -0
  84. package/dist/libraries/backend/routes/productRoutes.d.ts +6 -0
  85. package/dist/libraries/backend/routes/productRoutes.js +1913 -0
  86. package/dist/libraries/backend/routes/productRoutes.mjs +10 -0
  87. package/dist/libraries/backend/routes/referralRoutes.d.mts +6 -0
  88. package/dist/libraries/backend/routes/referralRoutes.d.ts +6 -0
  89. package/dist/libraries/backend/routes/referralRoutes.js +1931 -0
  90. package/dist/libraries/backend/routes/referralRoutes.mjs +10 -0
  91. package/dist/libraries/backend/schemas/zod.d.mts +71 -0
  92. package/dist/libraries/backend/schemas/zod.d.ts +71 -0
  93. package/dist/libraries/backend/schemas/zod.js +101 -0
  94. package/dist/libraries/backend/schemas/zod.mjs +68 -0
  95. package/dist/libraries/backend/supabase.d.mts +9 -0
  96. package/dist/libraries/backend/supabase.d.ts +9 -0
  97. package/dist/libraries/backend/supabase.js +2394 -0
  98. package/dist/libraries/backend/supabase.mjs +95 -0
  99. package/dist/libraries/backend/tanstack.d.mts +32 -0
  100. package/dist/libraries/backend/tanstack.d.ts +32 -0
  101. package/dist/libraries/backend/tanstack.js +2384 -0
  102. package/dist/libraries/backend/tanstack.mjs +83 -0
  103. package/dist/libraries/backend/utils/AuthFunction.d.mts +9 -0
  104. package/dist/libraries/backend/utils/AuthFunction.d.ts +9 -0
  105. package/dist/libraries/backend/utils/AuthFunction.js +18 -0
  106. package/dist/libraries/backend/utils/AuthFunction.mjs +0 -0
  107. package/dist/libraries/backend/utils/backendRes.d.mts +19 -0
  108. package/dist/libraries/backend/utils/backendRes.d.ts +19 -0
  109. package/dist/libraries/backend/utils/backendRes.js +1791 -0
  110. package/dist/libraries/backend/utils/backendRes.mjs +10 -0
  111. package/dist/libraries/backend/utils/betterAuth/middlewares.d.mts +26 -0
  112. package/dist/libraries/backend/utils/betterAuth/middlewares.d.ts +26 -0
  113. package/dist/libraries/backend/utils/betterAuth/middlewares.js +130 -0
  114. package/dist/libraries/backend/utils/betterAuth/middlewares.mjs +10 -0
  115. package/dist/libraries/backend/utils/betterAuth/types.d.mts +19 -0
  116. package/dist/libraries/backend/utils/betterAuth/types.d.ts +19 -0
  117. package/dist/libraries/backend/utils/betterAuth/types.js +18 -0
  118. package/dist/libraries/backend/utils/betterAuth/types.mjs +0 -0
  119. package/dist/libraries/backend/utils/logBackendErrors.d.mts +5 -0
  120. package/dist/libraries/backend/utils/logBackendErrors.d.ts +5 -0
  121. package/dist/libraries/backend/utils/logBackendErrors.js +73 -0
  122. package/dist/libraries/backend/utils/logBackendErrors.mjs +13 -0
  123. package/dist/libraries/backend/utils/secretKeyCheck.d.mts +13 -0
  124. package/dist/libraries/backend/utils/secretKeyCheck.d.ts +13 -0
  125. package/dist/libraries/backend/utils/secretKeyCheck.js +42 -0
  126. package/dist/libraries/backend/utils/secretKeyCheck.mjs +6 -0
  127. package/dist/libraries/backend/utils/withAuth.d.mts +29 -0
  128. package/dist/libraries/backend/utils/withAuth.d.ts +29 -0
  129. package/dist/libraries/backend/utils/withAuth.js +1892 -0
  130. package/dist/libraries/backend/utils/withAuth.mjs +9 -0
  131. package/dist/libraries/react/AutumnContext.d.mts +34 -0
  132. package/dist/libraries/react/AutumnContext.d.ts +34 -0
  133. package/dist/libraries/react/AutumnContext.js +2162 -0
  134. package/dist/libraries/react/AutumnContext.mjs +20 -0
  135. package/dist/libraries/react/BaseAutumnProvider.d.mts +18 -0
  136. package/dist/libraries/react/BaseAutumnProvider.d.ts +18 -0
  137. package/dist/libraries/react/BaseAutumnProvider.js +2833 -0
  138. package/dist/libraries/react/BaseAutumnProvider.mjs +25 -0
  139. package/dist/libraries/react/ReactAutumnClient-BJzchCM3.d.ts +304 -0
  140. package/dist/libraries/react/ReactAutumnClient-Cc2rjUsz.d.mts +304 -0
  141. package/dist/libraries/react/ReactAutumnProvider.d.mts +20 -0
  142. package/dist/libraries/react/ReactAutumnProvider.d.ts +20 -0
  143. package/dist/libraries/react/ReactAutumnProvider.js +3229 -0
  144. package/dist/libraries/react/ReactAutumnProvider.mjs +26 -0
  145. package/dist/libraries/react/attachTypes-BNlJ6XXa.d.mts +69 -0
  146. package/dist/libraries/react/attachTypes-eg914-6v.d.ts +69 -0
  147. package/dist/libraries/react/chunk-2ZZJUGBO.mjs +138 -0
  148. package/dist/libraries/react/chunk-4J2T27L6.mjs +99 -0
  149. package/dist/libraries/react/chunk-4J6OC4ZQ.mjs +2532 -0
  150. package/dist/libraries/react/chunk-6EXNYWJX.mjs +67 -0
  151. package/dist/libraries/react/chunk-736TFHSL.mjs +18 -0
  152. package/dist/libraries/react/chunk-ACRIHVEO.mjs +134 -0
  153. package/dist/libraries/react/chunk-ACSLCOHZ.mjs +198 -0
  154. package/dist/libraries/react/chunk-BGOD72CO.mjs +20 -0
  155. package/dist/libraries/react/chunk-BLM4DAAR.mjs +158 -0
  156. package/dist/libraries/react/chunk-BVK3DYFG.mjs +157 -0
  157. package/dist/libraries/react/chunk-CIBQ4BJU.mjs +19 -0
  158. package/dist/libraries/react/chunk-CSHDMTUY.mjs +52 -0
  159. package/dist/libraries/react/chunk-D2TXVOAD.mjs +50 -0
  160. package/dist/libraries/react/chunk-EAZME3W6.mjs +89 -0
  161. package/dist/libraries/react/chunk-FDURBIAI.mjs +2520 -0
  162. package/dist/libraries/react/chunk-FK5QRKSW.mjs +747 -0
  163. package/dist/libraries/react/chunk-GUM4HIGI.mjs +30 -0
  164. package/dist/libraries/react/chunk-I5ZGIAIX.mjs +57 -0
  165. package/dist/libraries/react/chunk-IKJYNTI5.mjs +1335 -0
  166. package/dist/libraries/react/chunk-J24P6YUI.mjs +25 -0
  167. package/dist/libraries/react/chunk-JNGOZQHP.mjs +62 -0
  168. package/dist/libraries/react/chunk-JVCOY7ZL.mjs +22 -0
  169. package/dist/libraries/react/chunk-KEGHYZMH.mjs +584 -0
  170. package/dist/libraries/react/chunk-LDGZ322L.mjs +92 -0
  171. package/dist/libraries/react/chunk-MPAPGILW.mjs +360 -0
  172. package/dist/libraries/react/chunk-NBCD7YQN.mjs +151 -0
  173. package/dist/libraries/react/chunk-OO5IBU2P.mjs +67 -0
  174. package/dist/libraries/react/chunk-OYBOLAL5.mjs +31 -0
  175. package/dist/libraries/react/chunk-Q24L3UDQ.mjs +206 -0
  176. package/dist/libraries/react/chunk-R4I7MVEX.mjs +46 -0
  177. package/dist/libraries/react/chunk-RFSQBGLO.mjs +21 -0
  178. package/dist/libraries/react/chunk-SGEO7BFC.mjs +44 -0
  179. package/dist/libraries/react/chunk-SUENW2KS.mjs +17 -0
  180. package/dist/libraries/react/chunk-TI73WOTR.mjs +256 -0
  181. package/dist/libraries/react/chunk-URQMBRFZ.mjs +62 -0
  182. package/dist/libraries/react/chunk-V575SGOW.mjs +12 -0
  183. package/dist/libraries/react/chunk-VPW2CMGB.mjs +165 -0
  184. package/dist/libraries/react/chunk-WA7QZHL5.mjs +101 -0
  185. package/dist/libraries/react/chunk-WFFVOEUG.mjs +15 -0
  186. package/dist/libraries/react/chunk-WVKYZYFT.mjs +37 -0
  187. package/dist/libraries/react/chunk-XDQLJ7QR.mjs +17 -0
  188. package/dist/libraries/react/chunk-XGG7IZUQ.mjs +218 -0
  189. package/dist/libraries/react/chunk-ZBHCIMJH.mjs +448 -0
  190. package/dist/libraries/react/chunk-ZJPIZX24.mjs +1736 -0
  191. package/dist/libraries/react/chunk-ZPW4DL3O.mjs +96 -0
  192. package/dist/libraries/react/client/ConvexAutumnClient.d.mts +77 -0
  193. package/dist/libraries/react/client/ConvexAutumnClient.d.ts +77 -0
  194. package/dist/libraries/react/client/ConvexAutumnClient.js +2119 -0
  195. package/dist/libraries/react/client/ConvexAutumnClient.mjs +9 -0
  196. package/dist/libraries/react/client/ReactAutumnClient.d.mts +9 -0
  197. package/dist/libraries/react/client/ReactAutumnClient.d.ts +9 -0
  198. package/dist/libraries/react/client/ReactAutumnClient.js +2120 -0
  199. package/dist/libraries/react/client/ReactAutumnClient.mjs +17 -0
  200. package/dist/libraries/react/client/clientAnalyticsMethods.d.mts +14 -0
  201. package/dist/libraries/react/client/clientAnalyticsMethods.d.ts +14 -0
  202. package/dist/libraries/react/client/clientAnalyticsMethods.js +41 -0
  203. package/dist/libraries/react/client/clientAnalyticsMethods.mjs +10 -0
  204. package/dist/libraries/react/client/clientCompMethods.d.mts +33 -0
  205. package/dist/libraries/react/client/clientCompMethods.d.ts +33 -0
  206. package/dist/libraries/react/client/clientCompMethods.js +35 -0
  207. package/dist/libraries/react/client/clientCompMethods.mjs +11 -0
  208. package/dist/libraries/react/client/clientCusMethods.d.mts +16 -0
  209. package/dist/libraries/react/client/clientCusMethods.d.ts +16 -0
  210. package/dist/libraries/react/client/clientCusMethods.js +38 -0
  211. package/dist/libraries/react/client/clientCusMethods.mjs +8 -0
  212. package/dist/libraries/react/client/clientEntityMethods.d.mts +16 -0
  213. package/dist/libraries/react/client/clientEntityMethods.d.ts +16 -0
  214. package/dist/libraries/react/client/clientEntityMethods.js +58 -0
  215. package/dist/libraries/react/client/clientEntityMethods.mjs +12 -0
  216. package/dist/libraries/react/client/clientGenMethods.d.mts +22 -0
  217. package/dist/libraries/react/client/clientGenMethods.d.ts +22 -0
  218. package/dist/libraries/react/client/clientGenMethods.js +97 -0
  219. package/dist/libraries/react/client/clientGenMethods.mjs +22 -0
  220. package/dist/libraries/react/client/clientProdMethods.d.mts +15 -0
  221. package/dist/libraries/react/client/clientProdMethods.d.ts +15 -0
  222. package/dist/libraries/react/client/clientProdMethods.js +35 -0
  223. package/dist/libraries/react/client/clientProdMethods.mjs +8 -0
  224. package/dist/libraries/react/client/clientReferralMethods.d.mts +15 -0
  225. package/dist/libraries/react/client/clientReferralMethods.d.ts +15 -0
  226. package/dist/libraries/react/client/clientReferralMethods.js +41 -0
  227. package/dist/libraries/react/client/clientReferralMethods.mjs +10 -0
  228. package/dist/libraries/react/client/types/clientAnalyticsTypes.d.mts +78 -0
  229. package/dist/libraries/react/client/types/clientAnalyticsTypes.d.ts +78 -0
  230. package/dist/libraries/react/client/types/clientAnalyticsTypes.js +92 -0
  231. package/dist/libraries/react/client/types/clientAnalyticsTypes.mjs +62 -0
  232. package/dist/libraries/react/client/types/clientAttachTypes.d.mts +48 -0
  233. package/dist/libraries/react/client/types/clientAttachTypes.d.ts +48 -0
  234. package/dist/libraries/react/client/types/clientAttachTypes.js +76 -0
  235. package/dist/libraries/react/client/types/clientAttachTypes.mjs +50 -0
  236. package/dist/libraries/react/client/types/clientCusTypes.d.mts +5 -0
  237. package/dist/libraries/react/client/types/clientCusTypes.d.ts +5 -0
  238. package/dist/libraries/react/client/types/clientCusTypes.js +20 -0
  239. package/dist/libraries/react/client/types/clientCusTypes.mjs +2 -0
  240. package/dist/libraries/react/client/types/clientEntTypes.d.mts +19 -0
  241. package/dist/libraries/react/client/types/clientEntTypes.d.ts +19 -0
  242. package/dist/libraries/react/client/types/clientEntTypes.js +48 -0
  243. package/dist/libraries/react/client/types/clientEntTypes.mjs +22 -0
  244. package/dist/libraries/react/client/types/clientGenTypes.d.mts +56 -0
  245. package/dist/libraries/react/client/types/clientGenTypes.d.ts +56 -0
  246. package/dist/libraries/react/client/types/clientGenTypes.js +1819 -0
  247. package/dist/libraries/react/client/types/clientGenTypes.mjs +54 -0
  248. package/dist/libraries/react/client/types/clientPricingTableTypes.d.mts +20 -0
  249. package/dist/libraries/react/client/types/clientPricingTableTypes.d.ts +20 -0
  250. package/dist/libraries/react/client/types/clientPricingTableTypes.js +20 -0
  251. package/dist/libraries/react/client/types/clientPricingTableTypes.mjs +2 -0
  252. package/dist/libraries/react/client/types/clientProdTypes.d.mts +5 -0
  253. package/dist/libraries/react/client/types/clientProdTypes.d.ts +5 -0
  254. package/dist/libraries/react/client/types/clientProdTypes.js +20 -0
  255. package/dist/libraries/react/client/types/clientProdTypes.mjs +2 -0
  256. package/dist/libraries/react/client/types/clientReferralTypes.d.mts +12 -0
  257. package/dist/libraries/react/client/types/clientReferralTypes.d.ts +12 -0
  258. package/dist/libraries/react/client/types/clientReferralTypes.js +40 -0
  259. package/dist/libraries/react/client/types/clientReferralTypes.mjs +15 -0
  260. package/dist/libraries/react/client/types/responseTypes.d.mts +2 -0
  261. package/dist/libraries/react/client/types/responseTypes.d.ts +2 -0
  262. package/dist/libraries/react/client/types/responseTypes.js +3 -0
  263. package/dist/libraries/react/client/types/responseTypes.mjs +2 -0
  264. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.css +1460 -0
  265. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.d.mts +25 -0
  266. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.d.ts +25 -0
  267. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.js +11543 -0
  268. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.mjs +57 -0
  269. package/dist/libraries/react/components/checkout-dialog/lib/checkout-content.d.mts +11 -0
  270. package/dist/libraries/react/components/checkout-dialog/lib/checkout-content.d.ts +11 -0
  271. package/dist/libraries/react/components/checkout-dialog/lib/checkout-content.js +181 -0
  272. package/dist/libraries/react/components/checkout-dialog/lib/checkout-content.mjs +8 -0
  273. package/dist/libraries/react/components/paywall-dialog/lib/paywall-content.d.mts +9 -0
  274. package/dist/libraries/react/components/paywall-dialog/lib/paywall-content.d.ts +9 -0
  275. package/dist/libraries/react/components/paywall-dialog/lib/paywall-content.js +80 -0
  276. package/dist/libraries/react/components/paywall-dialog/lib/paywall-content.mjs +8 -0
  277. package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.css +1460 -0
  278. package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.d.mts +11 -0
  279. package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.d.ts +11 -0
  280. package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.js +10566 -0
  281. package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.mjs +53 -0
  282. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.mts +9 -0
  283. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.ts +9 -0
  284. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.js +85 -0
  285. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.mjs +8 -0
  286. package/dist/libraries/react/components/pricing-table/pricing-table-synced.css +1460 -0
  287. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.mts +52 -0
  288. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.ts +52 -0
  289. package/dist/libraries/react/components/pricing-table/pricing-table-synced.js +11834 -0
  290. package/dist/libraries/react/components/pricing-table/pricing-table-synced.mjs +66 -0
  291. package/dist/libraries/react/components/ui/accordion.d.mts +15 -0
  292. package/dist/libraries/react/components/ui/accordion.d.ts +15 -0
  293. package/dist/libraries/react/components/ui/accordion.js +3679 -0
  294. package/dist/libraries/react/components/ui/accordion.mjs +19 -0
  295. package/dist/libraries/react/components/ui/button.d.mts +11 -0
  296. package/dist/libraries/react/components/ui/button.d.ts +11 -0
  297. package/dist/libraries/react/components/ui/button.js +2776 -0
  298. package/dist/libraries/react/components/ui/button.mjs +12 -0
  299. package/dist/libraries/react/components/ui/dialog.d.mts +29 -0
  300. package/dist/libraries/react/components/ui/dialog.d.ts +29 -0
  301. package/dist/libraries/react/components/ui/dialog.js +4880 -0
  302. package/dist/libraries/react/components/ui/dialog.mjs +33 -0
  303. package/dist/libraries/react/components/ui/input.d.mts +5 -0
  304. package/dist/libraries/react/components/ui/input.d.ts +5 -0
  305. package/dist/libraries/react/components/ui/input.js +2587 -0
  306. package/dist/libraries/react/components/ui/input.mjs +9 -0
  307. package/dist/libraries/react/components/ui/popover.d.mts +11 -0
  308. package/dist/libraries/react/components/ui/popover.d.ts +11 -0
  309. package/dist/libraries/react/components/ui/popover.js +6852 -0
  310. package/dist/libraries/react/components/ui/popover.mjs +20 -0
  311. package/dist/libraries/react/components/ui/switch.d.mts +8 -0
  312. package/dist/libraries/react/components/ui/switch.d.ts +8 -0
  313. package/dist/libraries/react/components/ui/switch.js +3096 -0
  314. package/dist/libraries/react/components/ui/switch.mjs +13 -0
  315. package/dist/libraries/react/cusTypes-CfdKzRo3.d.mts +210 -0
  316. package/dist/libraries/react/cusTypes-CmjJWspY.d.ts +210 -0
  317. package/dist/libraries/react/error-DHbclCVh.d.mts +17 -0
  318. package/dist/libraries/react/error-DHbclCVh.d.ts +17 -0
  319. package/dist/libraries/react/errorUtils/logAuthError.d.mts +3 -0
  320. package/dist/libraries/react/errorUtils/logAuthError.d.ts +3 -0
  321. package/dist/libraries/react/errorUtils/logAuthError.js +45 -0
  322. package/dist/libraries/react/errorUtils/logAuthError.mjs +8 -0
  323. package/dist/libraries/react/errorUtils/logFetchError.d.mts +8 -0
  324. package/dist/libraries/react/errorUtils/logFetchError.d.ts +8 -0
  325. package/dist/libraries/react/errorUtils/logFetchError.js +42 -0
  326. package/dist/libraries/react/errorUtils/logFetchError.mjs +8 -0
  327. package/dist/libraries/react/eventTypes-5iJYcv30.d.mts +26 -0
  328. package/dist/libraries/react/eventTypes-5iJYcv30.d.ts +26 -0
  329. package/dist/libraries/react/genTypes-BouhbtKm.d.ts +24 -0
  330. package/dist/libraries/react/genTypes-DT5O0rCP.d.mts +24 -0
  331. package/dist/libraries/react/hooks/helpers/handleCheck.d.mts +34 -0
  332. package/dist/libraries/react/hooks/helpers/handleCheck.d.ts +34 -0
  333. package/dist/libraries/react/hooks/helpers/handleCheck.js +1917 -0
  334. package/dist/libraries/react/hooks/helpers/handleCheck.mjs +11 -0
  335. package/dist/libraries/react/hooks/helpers/useAutumnBase.d.mts +32 -0
  336. package/dist/libraries/react/hooks/helpers/useAutumnBase.d.ts +32 -0
  337. package/dist/libraries/react/hooks/helpers/useAutumnBase.js +2115 -0
  338. package/dist/libraries/react/hooks/helpers/useAutumnBase.mjs +10 -0
  339. package/dist/libraries/react/hooks/helpers/useDialog.d.mts +3 -0
  340. package/dist/libraries/react/hooks/helpers/useDialog.d.ts +3 -0
  341. package/dist/libraries/react/hooks/helpers/useDialog.js +44 -0
  342. package/dist/libraries/react/hooks/helpers/useDialog.mjs +8 -0
  343. package/dist/libraries/react/hooks/useAggregateEvents.d.mts +20 -0
  344. package/dist/libraries/react/hooks/useAggregateEvents.d.ts +20 -0
  345. package/dist/libraries/react/hooks/useAggregateEvents.js +2216 -0
  346. package/dist/libraries/react/hooks/useAggregateEvents.mjs +19 -0
  347. package/dist/libraries/react/hooks/useAnalytics.d.mts +21 -0
  348. package/dist/libraries/react/hooks/useAnalytics.d.ts +21 -0
  349. package/dist/libraries/react/hooks/useAnalytics.js +2201 -0
  350. package/dist/libraries/react/hooks/useAnalytics.mjs +19 -0
  351. package/dist/libraries/react/hooks/useCustomer.d.mts +89 -0
  352. package/dist/libraries/react/hooks/useCustomer.d.ts +89 -0
  353. package/dist/libraries/react/hooks/useCustomer.js +2738 -0
  354. package/dist/libraries/react/hooks/useCustomer.mjs +23 -0
  355. package/dist/libraries/react/hooks/useCustomerBase.d.mts +91 -0
  356. package/dist/libraries/react/hooks/useCustomerBase.d.ts +91 -0
  357. package/dist/libraries/react/hooks/useCustomerBase.js +2728 -0
  358. package/dist/libraries/react/hooks/useCustomerBase.mjs +22 -0
  359. package/dist/libraries/react/hooks/useEntity.d.mts +30 -0
  360. package/dist/libraries/react/hooks/useEntity.d.ts +30 -0
  361. package/dist/libraries/react/hooks/useEntity.js +2740 -0
  362. package/dist/libraries/react/hooks/useEntity.mjs +23 -0
  363. package/dist/libraries/react/hooks/useEntityBase.d.mts +39 -0
  364. package/dist/libraries/react/hooks/useEntityBase.d.ts +39 -0
  365. package/dist/libraries/react/hooks/useEntityBase.js +2732 -0
  366. package/dist/libraries/react/hooks/useEntityBase.mjs +22 -0
  367. package/dist/libraries/react/hooks/useListEvents.d.mts +43 -0
  368. package/dist/libraries/react/hooks/useListEvents.d.ts +43 -0
  369. package/dist/libraries/react/hooks/useListEvents.js +2238 -0
  370. package/dist/libraries/react/hooks/useListEvents.mjs +19 -0
  371. package/dist/libraries/react/hooks/usePaywall.d.mts +13 -0
  372. package/dist/libraries/react/hooks/usePaywall.d.ts +13 -0
  373. package/dist/libraries/react/hooks/usePaywall.js +2194 -0
  374. package/dist/libraries/react/hooks/usePaywall.mjs +19 -0
  375. package/dist/libraries/react/hooks/usePricingTable.d.mts +15 -0
  376. package/dist/libraries/react/hooks/usePricingTable.d.ts +15 -0
  377. package/dist/libraries/react/hooks/usePricingTable.js +2363 -0
  378. package/dist/libraries/react/hooks/usePricingTable.mjs +20 -0
  379. package/dist/libraries/react/hooks/usePricingTableBase.d.mts +25 -0
  380. package/dist/libraries/react/hooks/usePricingTableBase.d.ts +25 -0
  381. package/dist/libraries/react/hooks/usePricingTableBase.js +1957 -0
  382. package/dist/libraries/react/hooks/usePricingTableBase.mjs +9 -0
  383. package/dist/libraries/react/hooks/useProductsBase.d.mts +19 -0
  384. package/dist/libraries/react/hooks/useProductsBase.d.ts +19 -0
  385. package/dist/libraries/react/hooks/useProductsBase.js +55 -0
  386. package/dist/libraries/react/hooks/useProductsBase.mjs +21 -0
  387. package/dist/libraries/react/index.d.mts +951 -0
  388. package/dist/libraries/react/index.d.ts +951 -0
  389. package/dist/libraries/react/index.js +12709 -0
  390. package/dist/libraries/react/index.mjs +12662 -0
  391. package/dist/libraries/react/lib/utils.d.mts +5 -0
  392. package/dist/libraries/react/lib/utils.d.ts +5 -0
  393. package/dist/libraries/react/lib/utils.js +2556 -0
  394. package/dist/libraries/react/lib/utils.mjs +8 -0
  395. package/dist/libraries/react/prodTypes-C4aZSZfO.d.mts +171 -0
  396. package/dist/libraries/react/prodTypes-C4aZSZfO.d.ts +171 -0
  397. package/dist/libraries/react/utils/compareParams.d.mts +3 -0
  398. package/dist/libraries/react/utils/compareParams.d.ts +3 -0
  399. package/dist/libraries/react/utils/compareParams.js +47 -0
  400. package/dist/libraries/react/utils/compareParams.mjs +23 -0
  401. package/dist/libraries/react/utils/errorUtils.d.mts +20 -0
  402. package/dist/libraries/react/utils/errorUtils.d.ts +20 -0
  403. package/dist/libraries/react/utils/errorUtils.js +61 -0
  404. package/dist/libraries/react/utils/errorUtils.mjs +36 -0
  405. package/dist/libraries/react/utils/inject-styles.d.mts +4 -0
  406. package/dist/libraries/react/utils/inject-styles.d.ts +4 -0
  407. package/dist/libraries/react/utils/inject-styles.js +61 -0
  408. package/dist/libraries/react/utils/inject-styles.mjs +10 -0
  409. package/dist/next/AutumnProvider.d.mts +30 -0
  410. package/dist/next/AutumnProvider.d.ts +30 -0
  411. package/dist/next/AutumnProvider.js +68 -0
  412. package/dist/next/AutumnProvider.mjs +44 -0
  413. package/dist/next/client/AutumnClientProvider.d.mts +2 -0
  414. package/dist/next/client/AutumnClientProvider.d.ts +2 -0
  415. package/dist/next/client/AutumnClientProvider.js +2 -0
  416. package/dist/next/client/AutumnClientProvider.mjs +2 -0
  417. package/dist/next/client/NextAutumnClient.d.mts +375 -0
  418. package/dist/next/client/NextAutumnClient.d.ts +375 -0
  419. package/dist/next/client/NextAutumnClient.js +107 -0
  420. package/dist/next/client/NextAutumnClient.mjs +107 -0
  421. package/dist/next/client/NextAutumnProvider.d.mts +13 -0
  422. package/dist/next/client/NextAutumnProvider.d.ts +13 -0
  423. package/dist/next/client/NextAutumnProvider.js +23 -0
  424. package/dist/next/client/NextAutumnProvider.mjs +23 -0
  425. package/dist/next/client/clientAttachTypes-CZ0FmsbF.d.mts +104 -0
  426. package/dist/next/client/clientAttachTypes-Dczm087t.d.ts +104 -0
  427. package/dist/next/client/clientEntTypes-CeaZbrIq.d.ts +73 -0
  428. package/dist/next/client/clientEntTypes-jltPLNQ5.d.mts +73 -0
  429. package/dist/next/client/clientUtils.d.mts +18 -0
  430. package/dist/next/client/clientUtils.d.ts +18 -0
  431. package/dist/next/client/clientUtils.js +72 -0
  432. package/dist/next/client/clientUtils.mjs +72 -0
  433. package/dist/next/client/cusTypes-BgJmgZt6.d.ts +215 -0
  434. package/dist/next/client/cusTypes-BngiltFz.d.mts +215 -0
  435. package/dist/next/client/error-DHbclCVh.d.mts +17 -0
  436. package/dist/next/client/error-DHbclCVh.d.ts +17 -0
  437. package/dist/next/client/hooks/useAutumn.d.mts +20 -0
  438. package/dist/next/client/hooks/useAutumn.d.ts +20 -0
  439. package/dist/next/client/hooks/useAutumn.js +17 -0
  440. package/dist/next/client/hooks/useAutumn.mjs +17 -0
  441. package/dist/next/client/hooks/useCustomer.d.mts +89 -0
  442. package/dist/next/client/hooks/useCustomer.d.ts +89 -0
  443. package/dist/next/client/hooks/useCustomer.js +15 -0
  444. package/dist/next/client/hooks/useCustomer.mjs +15 -0
  445. package/dist/next/client/hooks/useEntity.d.mts +27 -0
  446. package/dist/next/client/hooks/useEntity.d.ts +27 -0
  447. package/dist/next/client/hooks/useEntity.js +11 -0
  448. package/dist/next/client/hooks/useEntity.mjs +11 -0
  449. package/dist/next/client/hooks/usePricingTable.d.mts +33 -0
  450. package/dist/next/client/hooks/usePricingTable.d.ts +33 -0
  451. package/dist/next/client/hooks/usePricingTable.js +14 -0
  452. package/dist/next/client/hooks/usePricingTable.mjs +14 -0
  453. package/dist/next/client/prodTypes-G6W3NUPg.d.mts +162 -0
  454. package/dist/next/client/prodTypes-G6W3NUPg.d.ts +162 -0
  455. package/dist/next/client/response-CLgEplsF.d.ts +16 -0
  456. package/dist/next/client/response-DKQ_cb7U.d.mts +16 -0
  457. package/dist/next/client/types.d.mts +74 -0
  458. package/dist/next/client/types.d.ts +74 -0
  459. package/dist/next/client/types.js +21 -0
  460. package/dist/next/client/types.mjs +21 -0
  461. package/dist/next/enums.d.mts +5 -0
  462. package/dist/next/enums.d.ts +5 -0
  463. package/dist/next/enums.js +31 -0
  464. package/dist/next/enums.mjs +7 -0
  465. package/dist/next/index.d.mts +19 -0
  466. package/dist/next/index.d.ts +19 -0
  467. package/dist/next/index.js +22 -0
  468. package/dist/next/index.mjs +1 -0
  469. package/dist/next/server/auth/authPlugin.d.mts +13 -0
  470. package/dist/next/server/auth/authPlugin.d.ts +13 -0
  471. package/dist/next/server/auth/authPlugin.js +11 -0
  472. package/dist/next/server/auth/authPlugin.mjs +11 -0
  473. package/dist/next/server/auth/clerk-wrapper.d.mts +3 -0
  474. package/dist/next/server/auth/clerk-wrapper.d.ts +3 -0
  475. package/dist/next/server/auth/clerk-wrapper.js +22 -0
  476. package/dist/next/server/auth/clerk-wrapper.mjs +22 -0
  477. package/dist/next/server/auth/get-next-headers.d.mts +6 -0
  478. package/dist/next/server/auth/get-next-headers.d.ts +6 -0
  479. package/dist/next/server/auth/get-next-headers.js +18 -0
  480. package/dist/next/server/auth/get-next-headers.mjs +18 -0
  481. package/dist/next/server/auth/handleAuthProvider.d.mts +44 -0
  482. package/dist/next/server/auth/handleAuthProvider.d.ts +44 -0
  483. package/dist/next/server/auth/handleAuthProvider.js +179 -0
  484. package/dist/next/server/auth/handleAuthProvider.mjs +179 -0
  485. package/dist/next/server/auth/supabase-wrapper.d.mts +3 -0
  486. package/dist/next/server/auth/supabase-wrapper.d.ts +3 -0
  487. package/dist/next/server/auth/supabase-wrapper.js +45 -0
  488. package/dist/next/server/auth/supabase-wrapper.mjs +45 -0
  489. package/dist/next/server/auth/withNextAuth.d.mts +16 -0
  490. package/dist/next/server/auth/withNextAuth.d.ts +16 -0
  491. package/dist/next/server/auth/withNextAuth.js +42 -0
  492. package/dist/next/server/auth/withNextAuth.mjs +42 -0
  493. package/dist/next/server/componentActions.d.mts +12 -0
  494. package/dist/next/server/componentActions.d.ts +12 -0
  495. package/dist/next/server/componentActions.js +21 -0
  496. package/dist/next/server/componentActions.mjs +21 -0
  497. package/dist/next/server/cusActions.d.mts +1421 -0
  498. package/dist/next/server/cusActions.d.ts +1421 -0
  499. package/dist/next/server/cusActions.js +70 -0
  500. package/dist/next/server/cusActions.mjs +70 -0
  501. package/dist/next/server/cusTypes-C7g7DT5P.d.mts +444 -0
  502. package/dist/next/server/cusTypes-C7g7DT5P.d.ts +444 -0
  503. package/dist/next/server/genActions.d.mts +86 -0
  504. package/dist/next/server/genActions.d.ts +86 -0
  505. package/dist/next/server/genActions.js +90 -0
  506. package/dist/next/server/genActions.mjs +90 -0
  507. package/dist/next/server/response-Bal_cFRb.d.mts +30 -0
  508. package/dist/next/server/response-Bal_cFRb.d.ts +30 -0
  509. package/dist/next/server/utils.d.mts +5 -0
  510. package/dist/next/server/utils.d.ts +5 -0
  511. package/dist/next/server/utils.js +16 -0
  512. package/dist/next/server/utils.mjs +16 -0
  513. package/dist/sdk/index.d.mts +2859 -0
  514. package/dist/sdk/index.d.ts +2859 -0
  515. package/dist/sdk/index.js +1832 -0
  516. package/dist/sdk/index.mjs +1742 -0
  517. package/dist/styles/global.css +1498 -0
  518. package/dist/utils/chunk-EG37DNU2.mjs +40 -0
  519. package/dist/utils/encryptUtils.d.mts +4 -0
  520. package/dist/utils/encryptUtils.d.ts +4 -0
  521. package/dist/utils/encryptUtils.js +1811 -0
  522. package/dist/utils/encryptUtils.mjs +1742 -0
  523. package/dist/utils/entityUtils.d.mts +3 -0
  524. package/dist/utils/entityUtils.d.ts +3 -0
  525. package/dist/utils/entityUtils.js +35 -0
  526. package/dist/utils/entityUtils.mjs +10 -0
  527. package/dist/utils/logger.d.mts +45 -0
  528. package/dist/utils/logger.d.ts +45 -0
  529. package/dist/utils/logger.js +64 -0
  530. package/dist/utils/logger.mjs +6 -0
  531. package/dist/utils/toSnakeCase.d.mts +7 -0
  532. package/dist/utils/toSnakeCase.d.ts +7 -0
  533. package/dist/utils/toSnakeCase.js +64 -0
  534. package/dist/utils/toSnakeCase.mjs +39 -0
  535. package/package.json +201 -0
  536. package/tsup.config.ts +213 -0
@@ -0,0 +1,2468 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/libraries/backend/convex.ts
31
+ var convex_exports = {};
32
+ __export(convex_exports, {
33
+ autumnHandler: () => autumnHandler,
34
+ convexHandler: () => convexHandler
35
+ });
36
+ module.exports = __toCommonJS(convex_exports);
37
+
38
+ // src/libraries/backend/constants.ts
39
+ var autumnApiUrl = "https://api.useautumn.com/v1";
40
+ var BASE_PATH = "/api/autumn";
41
+
42
+ // src/utils/logger.ts
43
+ var getTime = () => {
44
+ const timeString = (/* @__PURE__ */ new Date()).toISOString();
45
+ return `[${timeString.split("T")[1].split(".")[0]}]`;
46
+ };
47
+ var greaterThanLevel = (level) => {
48
+ return levels.indexOf(level) >= levels.indexOf(logger.level);
49
+ };
50
+ var levels = ["debug", "info", "warn", "error", "fatal"];
51
+ var logger = {
52
+ ...console,
53
+ level: "info",
54
+ debug: (...args) => {
55
+ if (greaterThanLevel("debug")) {
56
+ console.log(getTime(), "DEBUG", ...args);
57
+ }
58
+ },
59
+ log: (...args) => {
60
+ console.log(getTime(), "INFO", ...args);
61
+ },
62
+ info: (...args) => {
63
+ if (greaterThanLevel("info")) {
64
+ console.log(getTime(), "INFO", ...args);
65
+ }
66
+ },
67
+ warn: (...args) => {
68
+ if (greaterThanLevel("warn")) {
69
+ console.log(getTime(), "WARN", ...args);
70
+ }
71
+ },
72
+ error: (...args) => {
73
+ if (greaterThanLevel("error")) {
74
+ console.log(getTime(), "ERROR", ...args);
75
+ }
76
+ }
77
+ };
78
+
79
+ // src/sdk/utils.ts
80
+ var import_query_string = __toESM(require("query-string"));
81
+ var staticWrapper = (callback, instance, args) => {
82
+ if (!instance) {
83
+ instance = new Autumn();
84
+ }
85
+ return callback({ instance, ...args });
86
+ };
87
+ var buildQueryString = (params) => {
88
+ if (!params) return "";
89
+ return import_query_string.default.stringify(params, {
90
+ skipNull: true,
91
+ skipEmptyString: true
92
+ });
93
+ };
94
+ var buildPathWithQuery = (basePath, params) => {
95
+ const query = buildQueryString(params);
96
+ return query ? `${basePath}?${query}` : basePath;
97
+ };
98
+
99
+ // src/sdk/balances/balancesMethods.ts
100
+ var balanceMethods = (instance) => {
101
+ return {
102
+ create: (params) => staticWrapper(handleCreateBalance, instance, { params })
103
+ };
104
+ };
105
+ var handleCreateBalance = async ({
106
+ instance,
107
+ params
108
+ }) => {
109
+ return instance.post("/balances/create", params);
110
+ };
111
+
112
+ // src/sdk/error.ts
113
+ var AutumnError = class _AutumnError extends Error {
114
+ message;
115
+ code;
116
+ constructor(response) {
117
+ super(response.message);
118
+ this.message = response.message;
119
+ this.code = response.code;
120
+ }
121
+ static fromError(error) {
122
+ return new _AutumnError({
123
+ message: error.message || "Unknown error",
124
+ code: error.code || "unknown_error"
125
+ });
126
+ }
127
+ toString() {
128
+ return `${this.message} (code: ${this.code})`;
129
+ }
130
+ toJSON() {
131
+ return {
132
+ message: this.message,
133
+ code: this.code
134
+ };
135
+ }
136
+ };
137
+
138
+ // src/sdk/customers/cusMethods.ts
139
+ var customerMethods = (instance) => {
140
+ return {
141
+ list: (params) => staticWrapper(listCustomers, instance, { params }),
142
+ get: (id, params) => staticWrapper(getCustomer, instance, { id, params }),
143
+ create: (params) => staticWrapper(createCustomer, instance, { params }),
144
+ update: (id, params) => staticWrapper(updateCustomer, instance, { id, params }),
145
+ delete: (id, params) => staticWrapper(deleteCustomer, instance, { id, params }),
146
+ billingPortal: (id, params) => staticWrapper(billingPortal, instance, { id, params }),
147
+ updateBalances: (id, params) => staticWrapper(updateBalances, instance, { id, params })
148
+ };
149
+ };
150
+ var getExpandStr = (expand) => {
151
+ if (!expand) {
152
+ return "";
153
+ }
154
+ return `expand=${expand.join(",")}`;
155
+ };
156
+ var listCustomers = async ({
157
+ instance,
158
+ params
159
+ }) => {
160
+ const path = buildPathWithQuery("/customers", params);
161
+ return instance.get(path);
162
+ };
163
+ var getCustomer = async ({
164
+ instance,
165
+ id,
166
+ params
167
+ }) => {
168
+ if (!id) {
169
+ return {
170
+ data: null,
171
+ error: new AutumnError({
172
+ message: "Customer ID is required",
173
+ code: "CUSTOMER_ID_REQUIRED"
174
+ })
175
+ };
176
+ }
177
+ return instance.get(`/customers/${id}?${getExpandStr(params?.expand)}`);
178
+ };
179
+ var createCustomer = async ({
180
+ instance,
181
+ params
182
+ }) => {
183
+ return instance.post(`/customers?${getExpandStr(params?.expand)}`, params);
184
+ };
185
+ var updateCustomer = async ({
186
+ instance,
187
+ id,
188
+ params
189
+ }) => {
190
+ return instance.post(`/customers/${id}`, params);
191
+ };
192
+ var deleteCustomer = async ({
193
+ instance,
194
+ id,
195
+ params
196
+ }) => {
197
+ return instance.delete(`/customers/${id}${params?.delete_in_stripe ? "?delete_in_stripe=true" : ""}`);
198
+ };
199
+ var billingPortal = async ({
200
+ instance,
201
+ id,
202
+ params
203
+ }) => {
204
+ const finalParams = {
205
+ ...params,
206
+ return_url: params?.return_url ?? instance.defaultReturnUrl
207
+ };
208
+ return instance.post(`/customers/${id}/billing_portal`, finalParams);
209
+ };
210
+ var updateBalances = async ({
211
+ instance,
212
+ id,
213
+ params
214
+ }) => {
215
+ return instance.post(`/customers/${id}/balances`, {
216
+ balances: Array.isArray(params) ? params : [params]
217
+ });
218
+ };
219
+
220
+ // src/sdk/customers/entities/entMethods.ts
221
+ var entityMethods = (instance) => {
222
+ return {
223
+ get: (customer_id, entity_id, params) => staticWrapper(getEntity, instance, {
224
+ customer_id,
225
+ entity_id,
226
+ params
227
+ }),
228
+ create: (customer_id, params) => staticWrapper(createEntity, instance, { customer_id, params }),
229
+ transfer: (customer_id, params) => staticWrapper(transferProduct, instance, { customer_id, params }),
230
+ delete: (customer_id, entity_id) => staticWrapper(deleteEntity, instance, { customer_id, entity_id })
231
+ };
232
+ };
233
+ var getExpandStr2 = (expand) => {
234
+ if (!expand) {
235
+ return "";
236
+ }
237
+ return `expand=${expand.join(",")}`;
238
+ };
239
+ var getEntity = async ({
240
+ instance,
241
+ customer_id,
242
+ entity_id,
243
+ params
244
+ }) => {
245
+ return instance.get(
246
+ `/customers/${customer_id}/entities/${entity_id}?${getExpandStr2(
247
+ params?.expand
248
+ )}`
249
+ );
250
+ };
251
+ var createEntity = async ({
252
+ instance,
253
+ customer_id,
254
+ params
255
+ }) => {
256
+ return instance.post(`/customers/${customer_id}/entities`, params);
257
+ };
258
+ var deleteEntity = async ({
259
+ instance,
260
+ customer_id,
261
+ entity_id
262
+ }) => {
263
+ return instance.delete(`/customers/${customer_id}/entities/${entity_id}`);
264
+ };
265
+ var transferProduct = async ({
266
+ instance,
267
+ customer_id,
268
+ params
269
+ }) => {
270
+ return instance.post(`/customers/${customer_id}/transfer`, params);
271
+ };
272
+
273
+ // src/sdk/events/eventMethods.ts
274
+ var eventMethods = (instance) => {
275
+ return {
276
+ list: (params) => staticWrapper(handleEventList, instance, { params }),
277
+ aggregate: (params) => staticWrapper(handleEventAggregate, instance, { params })
278
+ };
279
+ };
280
+ var handleEventList = async ({
281
+ instance,
282
+ params
283
+ }) => {
284
+ return instance.post("/events/list", params);
285
+ };
286
+ var handleEventAggregate = async ({
287
+ instance,
288
+ params
289
+ }) => {
290
+ return instance.post("/events/aggregate", params);
291
+ };
292
+
293
+ // src/sdk/features/featureMethods.ts
294
+ var featureMethods = (instance) => {
295
+ return {
296
+ list: () => staticWrapper(listFeatures, instance, {}),
297
+ get: (id) => staticWrapper(getFeature, instance, { id })
298
+ };
299
+ };
300
+ var listFeatures = async ({
301
+ instance,
302
+ params
303
+ }) => {
304
+ let path = "/features";
305
+ if (params) {
306
+ const queryParams = new URLSearchParams();
307
+ for (const [key, value] of Object.entries(params)) {
308
+ if (value !== void 0) {
309
+ queryParams.append(key, String(value));
310
+ }
311
+ }
312
+ const queryString2 = queryParams.toString();
313
+ if (queryString2) {
314
+ path += `?${queryString2}`;
315
+ }
316
+ }
317
+ return instance.get(path);
318
+ };
319
+ var getFeature = async ({
320
+ instance,
321
+ id
322
+ }) => {
323
+ return instance.get(`/features/${id}`);
324
+ };
325
+
326
+ // src/sdk/general/genMethods.ts
327
+ var handleCheckout = async ({
328
+ instance,
329
+ params
330
+ }) => {
331
+ const finalParams = {
332
+ ...params,
333
+ success_url: params.success_url ?? instance.defaultReturnUrl
334
+ };
335
+ return instance.post("/checkout", finalParams);
336
+ };
337
+ var handleAttach = async ({
338
+ instance,
339
+ params
340
+ }) => {
341
+ const finalParams = {
342
+ ...params,
343
+ success_url: params.success_url ?? instance.defaultReturnUrl
344
+ };
345
+ return instance.post("/attach", finalParams);
346
+ };
347
+ var handleSetupPayment = async ({
348
+ instance,
349
+ params
350
+ }) => {
351
+ const finalParams = {
352
+ ...params,
353
+ success_url: params.success_url ?? instance.defaultReturnUrl
354
+ };
355
+ return instance.post("/setup_payment", finalParams);
356
+ };
357
+ var handleCancel = async ({
358
+ instance,
359
+ params
360
+ }) => {
361
+ return instance.post("/cancel", params);
362
+ };
363
+ var handleTrack = async ({
364
+ instance,
365
+ params
366
+ }) => {
367
+ return instance.post("/track", params);
368
+ };
369
+ var handleUsage = async ({
370
+ instance,
371
+ params
372
+ }) => {
373
+ return instance.post("/usage", params);
374
+ };
375
+ var handleCheck = async ({
376
+ instance,
377
+ params
378
+ }) => {
379
+ return instance.post("/check", params);
380
+ };
381
+ var handleQuery = async ({
382
+ instance,
383
+ params
384
+ }) => {
385
+ return instance.post("/query", params);
386
+ };
387
+
388
+ // src/sdk/products/prodMethods.ts
389
+ var productMethods = (instance) => {
390
+ return {
391
+ get: (id) => staticWrapper(getProduct, instance, { id }),
392
+ create: (params) => staticWrapper(createProduct, instance, { params }),
393
+ list: (params) => staticWrapper(listProducts, instance, { params }),
394
+ delete: (id) => staticWrapper(deleteProduct, instance, { id })
395
+ };
396
+ };
397
+ var listProducts = async ({
398
+ instance,
399
+ params
400
+ }) => {
401
+ let path = "/products_beta";
402
+ if (params) {
403
+ const queryParams = new URLSearchParams();
404
+ for (const [key, value] of Object.entries(params)) {
405
+ if (value !== void 0) {
406
+ queryParams.append(key, String(value));
407
+ }
408
+ }
409
+ const queryString2 = queryParams.toString();
410
+ if (queryString2) {
411
+ path += `?${queryString2}`;
412
+ }
413
+ }
414
+ return instance.get(path);
415
+ };
416
+ var getProduct = async ({
417
+ instance,
418
+ id
419
+ }) => {
420
+ return instance.get(`/products/${id}`);
421
+ };
422
+ var createProduct = async ({
423
+ instance,
424
+ params
425
+ }) => {
426
+ return instance.post("/products", params);
427
+ };
428
+ var deleteProduct = async ({
429
+ instance,
430
+ id,
431
+ params
432
+ }) => {
433
+ const path = buildPathWithQuery(`/products/${id}`, params);
434
+ return instance.delete(path);
435
+ };
436
+
437
+ // src/sdk/referrals/referralMethods.ts
438
+ var referralMethods = (instance) => {
439
+ return {
440
+ createCode: (params) => staticWrapper(createReferralCode, instance, { params }),
441
+ redeemCode: (params) => staticWrapper(redeemReferralCode, instance, { params })
442
+ };
443
+ };
444
+ var createReferralCode = async ({
445
+ instance,
446
+ params
447
+ }) => {
448
+ return instance.post("/referrals/code", params);
449
+ };
450
+ var redeemReferralCode = async ({
451
+ instance,
452
+ params
453
+ }) => {
454
+ return instance.post("/referrals/redeem", params);
455
+ };
456
+
457
+ // src/sdk/response.ts
458
+ var toContainerResult = async ({
459
+ response,
460
+ logger: logger2,
461
+ logError = true
462
+ }) => {
463
+ if (response.status < 200 || response.status >= 300) {
464
+ let error;
465
+ try {
466
+ error = await response.json();
467
+ if (logError) {
468
+ logger2.error(`[Autumn] ${error.message}`);
469
+ }
470
+ } catch (error2) {
471
+ throw error2;
472
+ }
473
+ return {
474
+ data: null,
475
+ error: new AutumnError({
476
+ message: error.message,
477
+ code: error.code
478
+ }),
479
+ statusCode: response.status
480
+ };
481
+ }
482
+ try {
483
+ const data = await response.json();
484
+ return {
485
+ data,
486
+ error: null,
487
+ statusCode: response?.status
488
+ };
489
+ } catch (error) {
490
+ throw error;
491
+ }
492
+ };
493
+
494
+ // src/sdk/v2/balancesMethods.ts
495
+ var V2_API_VERSION = "2.1.0";
496
+ var handleBalancesUpdate = async ({
497
+ instance,
498
+ params
499
+ }) => {
500
+ return instance.postWithVersion("/balances.update", params, V2_API_VERSION);
501
+ };
502
+ var handleBalancesFinalize = async ({
503
+ instance,
504
+ params
505
+ }) => {
506
+ return instance.postWithVersion("/balances.finalize", params, V2_API_VERSION);
507
+ };
508
+ var v2BalancesMethods = (instance) => {
509
+ const wrapper = (handler, params) => {
510
+ const inst = instance || new Autumn();
511
+ return handler({ instance: inst, params });
512
+ };
513
+ return {
514
+ /**
515
+ * Updates a customer's balance for a specific feature.
516
+ *
517
+ * @param params - Update balance parameters
518
+ * @returns Promise resolving to update balance response
519
+ *
520
+ * @example
521
+ * ```typescript
522
+ * // Set remaining balance to exact value
523
+ * await autumn.v2.balances.update({
524
+ * customer_id: "cus_123",
525
+ * feature_id: "api_calls",
526
+ * remaining: 1000,
527
+ * });
528
+ *
529
+ * // Add to existing balance
530
+ * await autumn.v2.balances.update({
531
+ * customer_id: "cus_123",
532
+ * feature_id: "credits",
533
+ * add_to_balance: 500,
534
+ * });
535
+ *
536
+ * // Update usage
537
+ * await autumn.v2.balances.update({
538
+ * customer_id: "cus_123",
539
+ * feature_id: "api_calls",
540
+ * usage: 100,
541
+ * });
542
+ *
543
+ * // Target specific balance by interval or balance_id
544
+ * await autumn.v2.balances.update({
545
+ * customer_id: "cus_123",
546
+ * feature_id: "api_calls",
547
+ * balance_id: "bal_xyz",
548
+ * remaining: 500,
549
+ * });
550
+ * ```
551
+ */
552
+ update: (params) => wrapper(handleBalancesUpdate, params),
553
+ /**
554
+ * Finalizes a balance lock by confirming or releasing it.
555
+ *
556
+ * @param params - Finalize lock parameters
557
+ * @returns Promise resolving to finalize lock response
558
+ *
559
+ * @example
560
+ * ```typescript
561
+ * // Confirm a lock (deduct the reserved balance)
562
+ * await autumn.v2.balances.finalize({
563
+ * lock_id: "lock_abc123",
564
+ * action: "confirm",
565
+ * });
566
+ *
567
+ * // Release a lock (return the reserved balance)
568
+ * await autumn.v2.balances.finalize({
569
+ * lock_id: "lock_abc123",
570
+ * action: "release",
571
+ * });
572
+ *
573
+ * // Confirm with a different value than originally reserved
574
+ * await autumn.v2.balances.finalize({
575
+ * lock_id: "lock_abc123",
576
+ * action: "confirm",
577
+ * override_value: 5,
578
+ * });
579
+ * ```
580
+ */
581
+ finalize: (params) => wrapper(handleBalancesFinalize, params)
582
+ };
583
+ };
584
+
585
+ // src/sdk/v2/billingMethods.ts
586
+ var V2_API_VERSION2 = "2.1.0";
587
+ var handleBillingAttach = async ({
588
+ instance,
589
+ params
590
+ }) => {
591
+ const finalParams = {
592
+ ...params,
593
+ success_url: params.success_url ?? instance.defaultReturnUrl,
594
+ redirect_mode: params.redirect_mode ?? "if_required"
595
+ };
596
+ return instance.postWithVersion(
597
+ "/billing.attach",
598
+ finalParams,
599
+ V2_API_VERSION2
600
+ );
601
+ };
602
+ var handleBillingUpdate = async ({
603
+ instance,
604
+ params
605
+ }) => {
606
+ return instance.postWithVersion("/billing.update", params, V2_API_VERSION2);
607
+ };
608
+ var handleBillingPreviewAttach = async ({
609
+ instance,
610
+ params
611
+ }) => {
612
+ return instance.postWithVersion(
613
+ "/billing.preview_attach",
614
+ params,
615
+ V2_API_VERSION2
616
+ );
617
+ };
618
+ var handleBillingPreviewUpdate = async ({
619
+ instance,
620
+ params
621
+ }) => {
622
+ return instance.postWithVersion(
623
+ "/billing.preview_update",
624
+ params,
625
+ V2_API_VERSION2
626
+ );
627
+ };
628
+ var handleBillingMultiAttach = async ({
629
+ instance,
630
+ params
631
+ }) => {
632
+ const finalParams = {
633
+ ...params,
634
+ success_url: params.success_url ?? instance.defaultReturnUrl,
635
+ redirect_mode: params.redirect_mode ?? "if_required"
636
+ };
637
+ return instance.postWithVersion(
638
+ "/billing.multi_attach",
639
+ finalParams,
640
+ V2_API_VERSION2
641
+ );
642
+ };
643
+ var handleBillingPreviewMultiAttach = async ({
644
+ instance,
645
+ params
646
+ }) => {
647
+ return instance.postWithVersion(
648
+ "/billing.preview_multi_attach",
649
+ params,
650
+ V2_API_VERSION2
651
+ );
652
+ };
653
+ var handleBillingSetupPayment = async ({
654
+ instance,
655
+ params
656
+ }) => {
657
+ const finalParams = {
658
+ ...params,
659
+ success_url: params.success_url ?? instance.defaultReturnUrl
660
+ };
661
+ return instance.postWithVersion(
662
+ "/billing.setup_payment",
663
+ finalParams,
664
+ V2_API_VERSION2
665
+ );
666
+ };
667
+ var v2BillingMethods = (instance) => {
668
+ const wrapper = (handler, params) => {
669
+ const inst = instance || new Autumn();
670
+ return handler({ instance: inst, params });
671
+ };
672
+ return {
673
+ /**
674
+ * Attaches a plan to a customer, enabling access and handling billing.
675
+ *
676
+ * @param params - Attach parameters including customer ID, plan ID, and options
677
+ * @returns Promise resolving to billing response with checkout URL if needed
678
+ *
679
+ * @example
680
+ * ```typescript
681
+ * const result = await autumn.v2.billing.attach({
682
+ * customer_id: "cus_123",
683
+ * plan_id: "pro_plan",
684
+ * success_url: "https://myapp.com/success"
685
+ * });
686
+ *
687
+ * if (result.payment_url) {
688
+ * // Payment required - redirect to checkout
689
+ * window.location.href = result.payment_url;
690
+ * }
691
+ * ```
692
+ */
693
+ attach: (params) => wrapper(handleBillingAttach, params),
694
+ /**
695
+ * Updates a customer's subscription, handling plan changes and cancellations.
696
+ *
697
+ * @param params - Update parameters including customer ID, plan ID, and cancel action
698
+ * @returns Promise resolving to billing response with invoice details
699
+ *
700
+ * @example
701
+ * ```typescript
702
+ * // Update to a new plan
703
+ * const result = await autumn.v2.billing.update({
704
+ * customer_id: "cus_123",
705
+ * plan_id: "enterprise_plan",
706
+ * feature_quantities: [{ feature_id: "seats", quantity: 10 }]
707
+ * });
708
+ *
709
+ * // Cancel at end of billing cycle
710
+ * const cancelResult = await autumn.v2.billing.update({
711
+ * customer_id: "cus_123",
712
+ * plan_id: "pro_plan",
713
+ * cancel_action: "cancel_end_of_cycle"
714
+ * });
715
+ * ```
716
+ */
717
+ update: (params) => wrapper(handleBillingUpdate, params),
718
+ /**
719
+ * Preview what attaching a plan would cost without actually attaching it.
720
+ *
721
+ * @param params - Same parameters as attach
722
+ * @returns Promise resolving to preview response with line items and totals
723
+ *
724
+ * @example
725
+ * ```typescript
726
+ * const preview = await autumn.v2.billing.previewAttach({
727
+ * customer_id: "cus_123",
728
+ * plan_id: "pro_plan"
729
+ * });
730
+ *
731
+ * console.log(`Total: $${preview.total / 100}`);
732
+ * preview.line_items.forEach(item => {
733
+ * console.log(`${item.title}: $${item.amount / 100}`);
734
+ * });
735
+ * ```
736
+ */
737
+ previewAttach: (params) => wrapper(handleBillingPreviewAttach, params),
738
+ /**
739
+ * Preview what updating a subscription would cost without actually updating it.
740
+ *
741
+ * @param params - Same parameters as update
742
+ * @returns Promise resolving to preview response with line items and totals
743
+ *
744
+ * @example
745
+ * ```typescript
746
+ * const preview = await autumn.v2.billing.previewUpdate({
747
+ * customer_id: "cus_123",
748
+ * plan_id: "enterprise_plan",
749
+ * feature_quantities: [{ feature_id: "seats", quantity: 20 }]
750
+ * });
751
+ *
752
+ * console.log(`Prorated charge: $${preview.total / 100}`);
753
+ * ```
754
+ */
755
+ previewUpdate: (params) => wrapper(handleBillingPreviewUpdate, params),
756
+ /**
757
+ * Attaches multiple plans to a customer in a single request.
758
+ *
759
+ * @param params - Multi-attach parameters including customer ID and array of plans
760
+ * @returns Promise resolving to billing response with checkout URL if needed
761
+ *
762
+ * @example
763
+ * ```typescript
764
+ * const result = await autumn.v2.billing.multiAttach({
765
+ * customer_id: "cus_123",
766
+ * plans: [
767
+ * { plan_id: "base_plan" },
768
+ * { plan_id: "addon_plan", feature_quantities: [{ feature_id: "seats", quantity: 5 }] }
769
+ * ],
770
+ * success_url: "https://myapp.com/success"
771
+ * });
772
+ * ```
773
+ */
774
+ multiAttach: (params) => wrapper(handleBillingMultiAttach, params),
775
+ /**
776
+ * Preview what attaching multiple plans would cost without actually attaching them.
777
+ *
778
+ * @param params - Same parameters as multiAttach
779
+ * @returns Promise resolving to preview response with line items and totals
780
+ *
781
+ * @example
782
+ * ```typescript
783
+ * const preview = await autumn.v2.billing.previewMultiAttach({
784
+ * customer_id: "cus_123",
785
+ * plans: [
786
+ * { plan_id: "base_plan" },
787
+ * { plan_id: "addon_plan" }
788
+ * ]
789
+ * });
790
+ *
791
+ * console.log(`Total: $${preview.total / 100}`);
792
+ * ```
793
+ */
794
+ previewMultiAttach: (params) => wrapper(handleBillingPreviewMultiAttach, params),
795
+ /**
796
+ * Sets up a payment method for a customer. Optionally attach a plan after setup.
797
+ *
798
+ * @param params - Setup payment parameters including customer ID and optional plan
799
+ * @returns Promise resolving to setup payment response with redirect URL
800
+ *
801
+ * @example
802
+ * ```typescript
803
+ * // Just setup payment method
804
+ * const result = await autumn.v2.billing.setupPayment({
805
+ * customer_id: "cus_123",
806
+ * success_url: "https://myapp.com/account"
807
+ * });
808
+ *
809
+ * // Setup payment and attach a plan after
810
+ * const result = await autumn.v2.billing.setupPayment({
811
+ * customer_id: "cus_123",
812
+ * plan_id: "pro_plan",
813
+ * success_url: "https://myapp.com/success"
814
+ * });
815
+ *
816
+ * // Redirect to Stripe
817
+ * window.location.href = result.url;
818
+ * ```
819
+ */
820
+ setupPayment: (params) => wrapper(handleBillingSetupPayment, params)
821
+ };
822
+ };
823
+
824
+ // src/sdk/client.ts
825
+ var LATEST_API_VERSION = "1.2";
826
+ var Autumn = class {
827
+ secretKey;
828
+ publishableKey;
829
+ headers;
830
+ url;
831
+ logger = console;
832
+ defaultReturnUrl;
833
+ constructor(options) {
834
+ try {
835
+ this.secretKey = options?.secretKey || process.env.AUTUMN_SECRET_KEY;
836
+ this.publishableKey = options?.publishableKey || process.env.AUTUMN_PUBLISHABLE_KEY;
837
+ } catch (error) {
838
+ }
839
+ if (!this.secretKey && !this.publishableKey && !options?.headers) {
840
+ throw new Error("Autumn secret key or publishable key is required");
841
+ }
842
+ this.headers = options?.headers || {
843
+ Authorization: `Bearer ${this.secretKey || this.publishableKey}`,
844
+ "Content-Type": "application/json"
845
+ };
846
+ const version = options?.version || LATEST_API_VERSION;
847
+ this.headers["x-api-version"] = version;
848
+ this.url = options?.url || autumnApiUrl;
849
+ this.logger = logger;
850
+ this.logger.level = options?.logLevel || "info";
851
+ this.defaultReturnUrl = options?.defaultReturnUrl;
852
+ }
853
+ async get(path) {
854
+ const response = await fetch(`${this.url}${path}`, {
855
+ headers: this.headers
856
+ });
857
+ return toContainerResult({ response, logger: this.logger });
858
+ }
859
+ async post(path, body) {
860
+ try {
861
+ const response = await fetch(`${this.url}${path}`, {
862
+ method: "POST",
863
+ headers: this.headers,
864
+ body: JSON.stringify(body)
865
+ });
866
+ return toContainerResult({ response, logger: this.logger });
867
+ } catch (error) {
868
+ console.error("Error sending request:", error);
869
+ throw error;
870
+ }
871
+ }
872
+ async postWithVersion(path, body, version) {
873
+ try {
874
+ const headers = {
875
+ ...this.headers,
876
+ "x-api-version": version
877
+ };
878
+ const response = await fetch(`${this.url}${path}`, {
879
+ method: "POST",
880
+ headers,
881
+ body: JSON.stringify(body)
882
+ });
883
+ return toContainerResult({ response, logger: this.logger });
884
+ } catch (error) {
885
+ console.error("Error sending request:", error);
886
+ throw error;
887
+ }
888
+ }
889
+ async delete(path) {
890
+ const response = await fetch(`${this.url}${path}`, {
891
+ method: "DELETE",
892
+ headers: this.headers
893
+ });
894
+ return toContainerResult({ response, logger: this.logger });
895
+ }
896
+ static customers = customerMethods();
897
+ static products = productMethods();
898
+ static entities = entityMethods();
899
+ static referrals = referralMethods();
900
+ static features = featureMethods();
901
+ static events = eventMethods();
902
+ static balances = balanceMethods();
903
+ static v2 = {
904
+ billing: v2BillingMethods(),
905
+ balances: v2BalancesMethods()
906
+ };
907
+ customers = customerMethods(this);
908
+ products = productMethods(this);
909
+ entities = entityMethods(this);
910
+ referrals = referralMethods(this);
911
+ features = featureMethods(this);
912
+ events = eventMethods(this);
913
+ balances = balanceMethods(this);
914
+ v2 = {
915
+ billing: v2BillingMethods(this),
916
+ balances: v2BalancesMethods(this)
917
+ };
918
+ /**
919
+ * Initiates a checkout flow for a product purchase.
920
+ *
921
+ * The checkout function handles the purchase process for products with pricing.
922
+ * It determines whether to show a dialog for user input or redirect directly
923
+ * to Stripe based on the customer's state and product requirements.
924
+ *
925
+ * @param params - Checkout parameters including product ID, customer data, and options
926
+ * @returns Promise resolving to checkout details including pricing, prorations, and URLs
927
+ *
928
+ * @example
929
+ * ```typescript
930
+ * const result = await autumn.checkout({
931
+ * customer_id: "user_123",
932
+ * product_id: "pro",
933
+ * success_url: "https://myapp.com/success"
934
+ * });
935
+ *
936
+ * if (result.url) {
937
+ * // Redirect to Stripe checkout
938
+ * window.location.href = result.url;
939
+ * }
940
+ * ```
941
+ */
942
+ async checkout(params) {
943
+ return handleCheckout({
944
+ instance: this,
945
+ params
946
+ });
947
+ }
948
+ static checkout = (params) => staticWrapper(handleCheckout, void 0, { params });
949
+ static usage = (params) => staticWrapper(handleUsage, void 0, { params });
950
+ /**
951
+ * Attaches a product to a customer, enabling access and handling billing.
952
+ *
953
+ * The attach function activates a product for a customer and applies all product items.
954
+ * When you attach a product:
955
+ * - The customer gains access to all features in the product
956
+ * - If the product has prices, the customer will be billed accordingly
957
+ * - If there's no existing payment method, a checkout URL will be generated
958
+ *
959
+ * @param params - Attach parameters including customer ID, product ID, and options
960
+ * @returns Promise resolving to attachment result with checkout URL if needed
961
+ *
962
+ * @example
963
+ * ```typescript
964
+ * const result = await autumn.attach({
965
+ * customer_id: "user_123",
966
+ * product_id: "pro",
967
+ * success_url: "https://myapp.com/success"
968
+ * });
969
+ *
970
+ * if (result.checkout_url) {
971
+ * // Payment required - redirect to checkout
972
+ * window.location.href = result.checkout_url;
973
+ * } else {
974
+ * // Product successfully attached
975
+ * console.log("Access granted:", result.message);
976
+ * }
977
+ * ```
978
+ */
979
+ async attach(params) {
980
+ return handleAttach({
981
+ instance: this,
982
+ params
983
+ });
984
+ }
985
+ static attach = (params) => staticWrapper(handleAttach, void 0, { params });
986
+ static setupPayment = (params) => staticWrapper(handleSetupPayment, void 0, { params });
987
+ /**
988
+ * Sets up a payment method for a customer.
989
+ *
990
+ * This method allows you to set up payment methods for customers without
991
+ * immediately charging them. Useful for collecting payment information
992
+ * before product attachment or for updating existing payment methods.
993
+ *
994
+ * @param params - Setup payment parameters including customer information
995
+ * @returns Promise resolving to setup payment result
996
+ *
997
+ * @example
998
+ * ```typescript
999
+ * const result = await autumn.setupPayment({
1000
+ * customer_id: "user_123"
1001
+ * });
1002
+ * ```
1003
+ */
1004
+ async setupPayment(params) {
1005
+ return handleSetupPayment({
1006
+ instance: this,
1007
+ params
1008
+ });
1009
+ }
1010
+ static cancel = (params) => staticWrapper(handleCancel, void 0, { params });
1011
+ /**
1012
+ * Cancels a customer's subscription or product attachment.
1013
+ *
1014
+ * This method allows you to cancel a customer's subscription to a specific product.
1015
+ * You can choose to cancel immediately or at the end of the billing cycle.
1016
+ *
1017
+ * @param params - Cancel parameters including customer ID and product ID
1018
+ * @returns Promise resolving to cancellation result
1019
+ *
1020
+ * @example
1021
+ * ```typescript
1022
+ * const result = await autumn.cancel({
1023
+ * customer_id: "user_123",
1024
+ * product_id: "pro",
1025
+ * cancel_immediately: false // Cancel at end of billing cycle
1026
+ * });
1027
+ * ```
1028
+ */
1029
+ async cancel(params) {
1030
+ return handleCancel({
1031
+ instance: this,
1032
+ params
1033
+ });
1034
+ }
1035
+ static check = (params) => staticWrapper(handleCheck, void 0, { params });
1036
+ /**
1037
+ * Checks if a customer has access to a specific feature.
1038
+ *
1039
+ * This method verifies whether a customer has permission to use a feature
1040
+ * and checks their remaining balance/usage limits. It can be used to gate
1041
+ * features and determine when to show upgrade prompts.
1042
+ *
1043
+ * @param params - Check parameters including customer ID and feature ID
1044
+ * @returns Promise resolving to access check result with allowed status and balance info
1045
+ *
1046
+ * @example
1047
+ * ```typescript
1048
+ * const result = await autumn.check({
1049
+ * customer_id: "user_123",
1050
+ * feature_id: "messages",
1051
+ * required_balance: 1
1052
+ * });
1053
+ *
1054
+ * if (!result.allowed) {
1055
+ * console.log("Feature access denied - upgrade required");
1056
+ * }
1057
+ * ```
1058
+ */
1059
+ async check(params) {
1060
+ return handleCheck({
1061
+ instance: this,
1062
+ params
1063
+ });
1064
+ }
1065
+ static track = (params) => staticWrapper(handleTrack, void 0, { params });
1066
+ /**
1067
+ * Tracks usage events for features or analytics.
1068
+ *
1069
+ * This method records usage events for metered features, updating the customer's
1070
+ * balance and usage statistics. It's typically used server-side to ensure
1071
+ * accurate tracking that cannot be manipulated by users.
1072
+ *
1073
+ * @param params - Track parameters including customer ID, feature ID, and usage value
1074
+ * @returns Promise resolving to tracking result
1075
+ *
1076
+ * @example
1077
+ * ```typescript
1078
+ * const result = await autumn.track({
1079
+ * customer_id: "user_123",
1080
+ * feature_id: "messages",
1081
+ * value: 1 // Track 1 message sent
1082
+ * });
1083
+ * ```
1084
+ */
1085
+ async track(params) {
1086
+ return handleTrack({
1087
+ instance: this,
1088
+ params
1089
+ });
1090
+ }
1091
+ /**
1092
+ * Retrieves usage statistics and analytics for a customer.
1093
+ *
1094
+ * This method fetches detailed usage information for a customer's features,
1095
+ * including current balances, usage history, and analytics data. Useful
1096
+ * for displaying usage dashboards or generating reports.
1097
+ *
1098
+ * @param params - Usage parameters including customer ID and optional filters
1099
+ * @returns Promise resolving to usage statistics and analytics data
1100
+ *
1101
+ * @example
1102
+ * ```typescript
1103
+ * const result = await autumn.usage({
1104
+ * customer_id: "user_123",
1105
+ * feature_id: "messages"
1106
+ * value: 20 // Usage value
1107
+ * });
1108
+ * ```
1109
+ */
1110
+ async usage(params) {
1111
+ return handleUsage({
1112
+ instance: this,
1113
+ params
1114
+ });
1115
+ }
1116
+ static query = (params) => staticWrapper(handleQuery, void 0, { params });
1117
+ /**
1118
+ * Performs advanced queries on customer data and analytics.
1119
+ *
1120
+ * This method allows you to run complex queries against customer data,
1121
+ * usage patterns, and billing information. Useful for generating reports,
1122
+ * analytics, and custom data insights.
1123
+ *
1124
+ * @param params - Query parameters including customer ID and query specifications
1125
+ * @returns Promise resolving to query results with requested data
1126
+ *
1127
+ * @example
1128
+ * ```typescript
1129
+ * const result = await autumn.query({
1130
+ * customer_id: "user_123",
1131
+ * feature_id: "messages" // feature id to fetch for query, can also be an array
1132
+ * });
1133
+ *
1134
+ * ```
1135
+ */
1136
+ async query(params) {
1137
+ return handleQuery({
1138
+ instance: this,
1139
+ params
1140
+ });
1141
+ }
1142
+ };
1143
+
1144
+ // src/sdk/components/componentMethods.ts
1145
+ var fetchPricingTable = async ({
1146
+ instance,
1147
+ params
1148
+ }) => {
1149
+ let path = "/components/pricing_table";
1150
+ if (params) {
1151
+ const queryParams = new URLSearchParams();
1152
+ for (const [key, value] of Object.entries(params)) {
1153
+ if (key === "products") {
1154
+ continue;
1155
+ }
1156
+ if (value !== void 0) {
1157
+ queryParams.append(key, String(value));
1158
+ }
1159
+ }
1160
+ const queryString2 = queryParams.toString();
1161
+ if (queryString2) {
1162
+ path += `?${queryString2}`;
1163
+ }
1164
+ }
1165
+ return await instance.get(path);
1166
+ };
1167
+
1168
+ // src/sdk/customers/cusEnums.ts
1169
+ var import_v4 = require("zod/v4");
1170
+ var CustomerExpandEnum = import_v4.z.enum([
1171
+ "invoices",
1172
+ "rewards",
1173
+ "trials_used",
1174
+ "entities",
1175
+ "referrals",
1176
+ "payment_method"
1177
+ ]);
1178
+
1179
+ // src/sdk/customers/cusTypes.ts
1180
+ var import_v42 = require("zod/v4");
1181
+
1182
+ // src/sdk/products/prodEnums.ts
1183
+ var ProductItemInterval = /* @__PURE__ */ ((ProductItemInterval2) => {
1184
+ ProductItemInterval2["Minute"] = "minute";
1185
+ ProductItemInterval2["Hour"] = "hour";
1186
+ ProductItemInterval2["Day"] = "day";
1187
+ ProductItemInterval2["Week"] = "week";
1188
+ ProductItemInterval2["Month"] = "month";
1189
+ ProductItemInterval2["Quarter"] = "quarter";
1190
+ ProductItemInterval2["SemiAnnual"] = "semi_annual";
1191
+ ProductItemInterval2["Year"] = "year";
1192
+ ProductItemInterval2["Multiple"] = "multiple";
1193
+ return ProductItemInterval2;
1194
+ })(ProductItemInterval || {});
1195
+
1196
+ // src/sdk/customers/cusTypes.ts
1197
+ var PurchaseLimitInterval = ["hour", "day", "week", "month"];
1198
+ var PurchaseLimitIntervalEnum = import_v42.z.enum(PurchaseLimitInterval);
1199
+ var AutoTopupPurchaseLimitSchema = import_v42.z.object({
1200
+ interval: PurchaseLimitIntervalEnum,
1201
+ interval_count: import_v42.z.number().min(1).default(1),
1202
+ limit: import_v42.z.number().min(1)
1203
+ });
1204
+ var AutoTopupSchema = import_v42.z.object({
1205
+ feature_id: import_v42.z.string(),
1206
+ enabled: import_v42.z.boolean().default(false),
1207
+ threshold: import_v42.z.number().min(0),
1208
+ quantity: import_v42.z.number().min(1),
1209
+ purchase_limit: AutoTopupPurchaseLimitSchema.optional()
1210
+ });
1211
+ var CustomerBillingControlsSchema = import_v42.z.object({
1212
+ auto_topups: import_v42.z.array(AutoTopupSchema).optional()
1213
+ });
1214
+ var CoreCusFeatureSchema = import_v42.z.object({
1215
+ unlimited: import_v42.z.boolean().optional(),
1216
+ interval: import_v42.z.enum(ProductItemInterval).optional(),
1217
+ balance: import_v42.z.number().nullish(),
1218
+ usage: import_v42.z.number().optional(),
1219
+ included_usage: import_v42.z.number().optional(),
1220
+ next_reset_at: import_v42.z.number().nullish(),
1221
+ overage_allowed: import_v42.z.boolean().optional(),
1222
+ usage_limit: import_v42.z.number().optional(),
1223
+ rollovers: import_v42.z.object({
1224
+ balance: import_v42.z.number(),
1225
+ expires_at: import_v42.z.number()
1226
+ }).optional(),
1227
+ breakdown: import_v42.z.array(
1228
+ import_v42.z.object({
1229
+ interval: import_v42.z.enum(ProductItemInterval),
1230
+ balance: import_v42.z.number().optional(),
1231
+ usage: import_v42.z.number().optional(),
1232
+ included_usage: import_v42.z.number().optional(),
1233
+ next_reset_at: import_v42.z.number().optional()
1234
+ })
1235
+ ).optional(),
1236
+ credit_schema: import_v42.z.array(
1237
+ import_v42.z.object({
1238
+ feature_id: import_v42.z.string(),
1239
+ credit_amount: import_v42.z.number()
1240
+ })
1241
+ ).optional()
1242
+ });
1243
+ var CustomerDataSchema = import_v42.z.object({
1244
+ name: import_v42.z.string().nullish(),
1245
+ email: import_v42.z.string().nullish(),
1246
+ fingerprint: import_v42.z.string().nullish()
1247
+ });
1248
+ var CreateCustomerParamsSchema = import_v42.z.object({
1249
+ id: import_v42.z.string().nullish(),
1250
+ email: import_v42.z.string().nullish(),
1251
+ name: import_v42.z.string().nullish(),
1252
+ fingerprint: import_v42.z.string().nullish(),
1253
+ metadata: import_v42.z.record(import_v42.z.string(), import_v42.z.any()).optional(),
1254
+ expand: import_v42.z.array(CustomerExpandEnum).optional(),
1255
+ stripe_id: import_v42.z.string().nullish(),
1256
+ auto_enable_plan_id: import_v42.z.string().optional(),
1257
+ billing_controls: CustomerBillingControlsSchema.optional()
1258
+ });
1259
+ var BillingPortalParamsSchema = import_v42.z.object({
1260
+ return_url: import_v42.z.string().optional()
1261
+ });
1262
+ var UpdateBalancesParamsSchema = import_v42.z.object({
1263
+ feature_id: import_v42.z.string(),
1264
+ balance: import_v42.z.number()
1265
+ }).or(
1266
+ import_v42.z.array(
1267
+ import_v42.z.object({
1268
+ feature_id: import_v42.z.string(),
1269
+ balance: import_v42.z.number()
1270
+ })
1271
+ )
1272
+ ).or(
1273
+ import_v42.z.object({
1274
+ entity_id: import_v42.z.string().optional(),
1275
+ balances: import_v42.z.array(
1276
+ import_v42.z.object({
1277
+ feature_id: import_v42.z.string(),
1278
+ balance: import_v42.z.number()
1279
+ })
1280
+ )
1281
+ })
1282
+ );
1283
+ var DeleteCustomerParamsSchema = import_v42.z.object({
1284
+ delete_in_stripe: import_v42.z.boolean().optional()
1285
+ });
1286
+ var ListCustomersParamsSchema = import_v42.z.object({
1287
+ limit: import_v42.z.number().optional(),
1288
+ offset: import_v42.z.number().optional()
1289
+ });
1290
+
1291
+ // src/sdk/customers/entities/entTypes.ts
1292
+ var import_v43 = require("zod/v4");
1293
+ var EntityDataSchema = import_v43.z.object({
1294
+ name: import_v43.z.string().optional(),
1295
+ feature_id: import_v43.z.string()
1296
+ });
1297
+ var TransferProductParamsSchema = import_v43.z.object({
1298
+ from_entity_id: import_v43.z.string(),
1299
+ to_entity_id: import_v43.z.string(),
1300
+ product_id: import_v43.z.string()
1301
+ });
1302
+
1303
+ // src/sdk/general/pageTypes.ts
1304
+ var import_v44 = require("zod/v4");
1305
+ var PagePaginationDefaults = {
1306
+ Limit: 100,
1307
+ MaxLimit: 1e3
1308
+ };
1309
+ var PagePaginationQuerySchema = import_v44.z.object({
1310
+ offset: import_v44.z.coerce.number().int().min(0).default(0).describe("Number of items to skip"),
1311
+ limit: import_v44.z.coerce.number().int().min(1).max(PagePaginationDefaults.MaxLimit).default(PagePaginationDefaults.Limit).describe(
1312
+ `Number of items to return. Default ${PagePaginationDefaults.Limit}, max ${PagePaginationDefaults.MaxLimit}.`
1313
+ )
1314
+ });
1315
+ var createPagePaginatedResponseSchema = (itemSchema) => import_v44.z.object({
1316
+ list: import_v44.z.array(itemSchema).describe("Array of items for current page"),
1317
+ has_more: import_v44.z.boolean().describe("Whether more results exist after this page"),
1318
+ offset: import_v44.z.number().describe("Current offset position"),
1319
+ limit: import_v44.z.number().describe("Limit passed in the request"),
1320
+ total: import_v44.z.number().describe("Total number of items returned in the current page")
1321
+ });
1322
+
1323
+ // src/sdk/events/eventTypes.ts
1324
+ var import_v45 = require("zod/v4");
1325
+ var QueryRangeEnum = import_v45.z.enum([
1326
+ "24h",
1327
+ "7d",
1328
+ "30d",
1329
+ "90d",
1330
+ "last_cycle",
1331
+ "1bc",
1332
+ "3bc"
1333
+ ]);
1334
+ var BinSizeEnum = import_v45.z.enum(["day", "hour"]);
1335
+ var QueryParamsSchema = import_v45.z.object({
1336
+ customer_id: import_v45.z.string(),
1337
+ feature_id: import_v45.z.string().or(import_v45.z.array(import_v45.z.string())),
1338
+ range: QueryRangeEnum.optional(),
1339
+ group_by: import_v45.z.string().startsWith("properties.").optional(),
1340
+ bin_size: BinSizeEnum.optional(),
1341
+ custom_range: import_v45.z.object({
1342
+ start: import_v45.z.number(),
1343
+ end: import_v45.z.number()
1344
+ }).optional()
1345
+ });
1346
+ var EventsListParamsSchema = PagePaginationQuerySchema.extend({
1347
+ customer_id: import_v45.z.string(),
1348
+ feature_id: import_v45.z.string().or(import_v45.z.array(import_v45.z.string())),
1349
+ custom_range: import_v45.z.object({
1350
+ start: import_v45.z.coerce.number().optional(),
1351
+ end: import_v45.z.coerce.number().optional()
1352
+ }).optional()
1353
+ });
1354
+ var EventsListItemSchema = import_v45.z.object({
1355
+ id: import_v45.z.string().describe("Event ID (KSUID)"),
1356
+ timestamp: import_v45.z.number().describe("Event timestamp (epoch milliseconds)"),
1357
+ feature_id: import_v45.z.string().describe("Name of the event"),
1358
+ customer_id: import_v45.z.string().describe("Customer identifier"),
1359
+ value: import_v45.z.number().describe("Event value/count"),
1360
+ properties: import_v45.z.object({}).describe("Event properties (JSONB)")
1361
+ });
1362
+ var EventsListResponseSchema = createPagePaginatedResponseSchema(EventsListItemSchema);
1363
+
1364
+ // src/sdk/features/featureTypes.ts
1365
+ var import_v46 = require("zod/v4");
1366
+ var FeatureType = /* @__PURE__ */ ((FeatureType2) => {
1367
+ FeatureType2["Boolean"] = "boolean";
1368
+ FeatureType2["SingleUse"] = "single_use";
1369
+ FeatureType2["ContinuousUse"] = "continuous_use";
1370
+ FeatureType2["CreditSystem"] = "credit_system";
1371
+ return FeatureType2;
1372
+ })(FeatureType || {});
1373
+ var FeatureSchema = import_v46.z.object({
1374
+ id: import_v46.z.string(),
1375
+ name: import_v46.z.string(),
1376
+ type: import_v46.z.enum(FeatureType),
1377
+ display: import_v46.z.object({
1378
+ singular: import_v46.z.string(),
1379
+ plural: import_v46.z.string()
1380
+ }).nullish(),
1381
+ credit_schema: import_v46.z.array(
1382
+ import_v46.z.object({
1383
+ metered_feature_id: import_v46.z.string(),
1384
+ credit_cost: import_v46.z.number()
1385
+ })
1386
+ ).nullish(),
1387
+ archived: import_v46.z.boolean()
1388
+ });
1389
+
1390
+ // src/sdk/general/attachTypes.ts
1391
+ var import_v47 = require("zod/v4");
1392
+ var AttachFeatureOptionsSchema = import_v47.z.object({
1393
+ feature_id: import_v47.z.string(),
1394
+ quantity: import_v47.z.number()
1395
+ });
1396
+ var AttachParamsSchema = import_v47.z.object({
1397
+ customer_id: import_v47.z.string(),
1398
+ product_id: import_v47.z.string().optional(),
1399
+ entity_id: import_v47.z.string().optional(),
1400
+ options: import_v47.z.array(AttachFeatureOptionsSchema).optional(),
1401
+ product_ids: import_v47.z.array(import_v47.z.string()).optional(),
1402
+ free_trial: import_v47.z.boolean().optional(),
1403
+ success_url: import_v47.z.string().optional(),
1404
+ metadata: import_v47.z.record(import_v47.z.string(), import_v47.z.string()).optional(),
1405
+ force_checkout: import_v47.z.boolean().optional(),
1406
+ customer_data: CustomerDataSchema.optional(),
1407
+ entity_data: import_v47.z.any().optional(),
1408
+ checkout_session_params: import_v47.z.record(import_v47.z.string(), import_v47.z.any()).optional(),
1409
+ reward: import_v47.z.string().optional(),
1410
+ invoice: import_v47.z.boolean().optional(),
1411
+ new_billing_subscription: import_v47.z.boolean().optional()
1412
+ });
1413
+ var AttachResultSchema = import_v47.z.object({
1414
+ checkout_url: import_v47.z.string().optional(),
1415
+ customer_id: import_v47.z.string(),
1416
+ product_ids: import_v47.z.array(import_v47.z.string()),
1417
+ code: import_v47.z.string(),
1418
+ message: import_v47.z.string(),
1419
+ customer_data: import_v47.z.any().optional(),
1420
+ invoice: import_v47.z.object({
1421
+ status: import_v47.z.string(),
1422
+ stripe_id: import_v47.z.string(),
1423
+ hosted_invoice_url: import_v47.z.string().nullable(),
1424
+ total: import_v47.z.number(),
1425
+ currency: import_v47.z.string()
1426
+ }).optional()
1427
+ });
1428
+ var CheckoutParamsSchema = import_v47.z.object({
1429
+ customer_id: import_v47.z.string(),
1430
+ product_id: import_v47.z.string(),
1431
+ product_ids: import_v47.z.array(import_v47.z.string()).optional(),
1432
+ entity_id: import_v47.z.string().optional(),
1433
+ options: import_v47.z.array(AttachFeatureOptionsSchema).optional(),
1434
+ force_checkout: import_v47.z.boolean().optional(),
1435
+ invoice: import_v47.z.boolean().optional(),
1436
+ success_url: import_v47.z.string().optional(),
1437
+ customer_data: CustomerDataSchema.optional(),
1438
+ entity_data: import_v47.z.any().optional(),
1439
+ checkout_session_params: import_v47.z.record(import_v47.z.string(), import_v47.z.any()).optional(),
1440
+ reward: import_v47.z.string().optional(),
1441
+ new_billing_subscription: import_v47.z.boolean().optional()
1442
+ });
1443
+
1444
+ // src/sdk/general/checkTypes.ts
1445
+ var import_v48 = require("zod/v4");
1446
+ var CheckFeatureResultSchema = import_v48.z.object({
1447
+ allowed: import_v48.z.boolean(),
1448
+ feature_id: import_v48.z.string(),
1449
+ customer_id: import_v48.z.string(),
1450
+ entity_id: import_v48.z.string().optional(),
1451
+ required_balance: import_v48.z.number()
1452
+ }).extend(CoreCusFeatureSchema.shape);
1453
+
1454
+ // src/sdk/general/genTypes.ts
1455
+ var import_v49 = require("zod/v4");
1456
+ var LockParamsSchema = import_v49.z.object({
1457
+ lock_id: import_v49.z.string().max(256),
1458
+ enabled: import_v49.z.literal(true),
1459
+ expires_at: import_v49.z.number().optional()
1460
+ });
1461
+ var CancelParamsSchema = import_v49.z.object({
1462
+ customer_id: import_v49.z.string(),
1463
+ product_id: import_v49.z.string(),
1464
+ entity_id: import_v49.z.string().optional(),
1465
+ cancel_immediately: import_v49.z.boolean().optional(),
1466
+ prorate: import_v49.z.boolean().optional()
1467
+ });
1468
+ var CancelResultSchema = import_v49.z.object({
1469
+ success: import_v49.z.boolean(),
1470
+ customer_id: import_v49.z.string(),
1471
+ product_id: import_v49.z.string()
1472
+ });
1473
+ var TrackParamsSchema = import_v49.z.object({
1474
+ customer_id: import_v49.z.string(),
1475
+ value: import_v49.z.number().optional(),
1476
+ feature_id: import_v49.z.string().optional(),
1477
+ event_name: import_v49.z.string().optional(),
1478
+ entity_id: import_v49.z.string().optional(),
1479
+ customer_data: import_v49.z.any().optional(),
1480
+ idempotency_key: import_v49.z.string().optional(),
1481
+ entity_data: import_v49.z.any().optional(),
1482
+ properties: import_v49.z.record(import_v49.z.string(), import_v49.z.any()).optional(),
1483
+ lock: LockParamsSchema.optional()
1484
+ });
1485
+ var TrackResultSchema = import_v49.z.object({
1486
+ id: import_v49.z.string(),
1487
+ code: import_v49.z.string(),
1488
+ customer_id: import_v49.z.string(),
1489
+ feature_id: import_v49.z.string().optional(),
1490
+ event_name: import_v49.z.string().optional()
1491
+ });
1492
+ var CheckParamsSchema = import_v49.z.object({
1493
+ customer_id: import_v49.z.string(),
1494
+ feature_id: import_v49.z.string().optional(),
1495
+ product_id: import_v49.z.string().optional(),
1496
+ entity_id: import_v49.z.string().optional(),
1497
+ customer_data: import_v49.z.any().optional(),
1498
+ required_balance: import_v49.z.number().optional(),
1499
+ send_event: import_v49.z.boolean().optional(),
1500
+ with_preview: import_v49.z.boolean().optional(),
1501
+ entity_data: EntityDataSchema.optional(),
1502
+ lock: LockParamsSchema.optional()
1503
+ });
1504
+
1505
+ // src/sdk/referrals/referralTypes.ts
1506
+ var import_v410 = require("zod/v4");
1507
+ var CreateReferralCodeParamsSchema = import_v410.z.object({
1508
+ customer_id: import_v410.z.string(),
1509
+ program_id: import_v410.z.string()
1510
+ });
1511
+ var RedeemReferralCodeParamsSchema = import_v410.z.object({
1512
+ code: import_v410.z.string(),
1513
+ customer_id: import_v410.z.string()
1514
+ });
1515
+
1516
+ // src/sdk/balances/balancesTypes.ts
1517
+ var import_v411 = require("zod/v4");
1518
+ var ResetInterval = [
1519
+ "one_off",
1520
+ "minute",
1521
+ "hour",
1522
+ "day",
1523
+ "week",
1524
+ "month",
1525
+ "quarter",
1526
+ "semi_annual",
1527
+ "year"
1528
+ ];
1529
+ var CreateBalanceParamsSchema = import_v411.z.object({
1530
+ feature_id: import_v411.z.string().describe("The feature ID to create the balance for"),
1531
+ customer_id: import_v411.z.string().describe("The customer ID to assign the balance to"),
1532
+ entity_id: import_v411.z.string().optional().describe("Entity ID for entity-scoped balances"),
1533
+ granted_balance: import_v411.z.number().optional().describe("The initial balance amount to grant"),
1534
+ unlimited: import_v411.z.boolean().optional().describe("Whether the balance is unlimited"),
1535
+ reset: import_v411.z.object({
1536
+ interval: import_v411.z.enum(ResetInterval),
1537
+ interval_count: import_v411.z.number().optional()
1538
+ }).optional().describe("Reset configuration for the balance"),
1539
+ expires_at: import_v411.z.number().optional().describe("Unix timestamp (milliseconds) when the balance expires")
1540
+ });
1541
+
1542
+ // src/sdk/v2/billingTypes.ts
1543
+ var import_v412 = require("zod/v4");
1544
+ var BillingIntervalSchema = import_v412.z.enum([
1545
+ "one_off",
1546
+ "week",
1547
+ "month",
1548
+ "quarter",
1549
+ "semi_annual",
1550
+ "year"
1551
+ ]);
1552
+ var ResetIntervalSchema = import_v412.z.enum([
1553
+ "one_off",
1554
+ "minute",
1555
+ "hour",
1556
+ "day",
1557
+ "week",
1558
+ "month",
1559
+ "quarter",
1560
+ "semi_annual",
1561
+ "year"
1562
+ ]);
1563
+ var BillingMethodSchema = import_v412.z.enum(["prepaid", "usage_based"]);
1564
+ var OnIncreaseSchema = import_v412.z.enum([
1565
+ "bill_immediately",
1566
+ "prorate_immediately",
1567
+ "prorate_next_cycle",
1568
+ "bill_next_cycle"
1569
+ ]);
1570
+ var OnDecreaseSchema = import_v412.z.enum([
1571
+ "prorate",
1572
+ "prorate_immediately",
1573
+ "prorate_next_cycle",
1574
+ "none",
1575
+ "no_prorations"
1576
+ ]);
1577
+ var RolloverExpiryDurationTypeSchema = import_v412.z.enum(["month", "forever"]);
1578
+ var FeatureQuantityParamsSchema = import_v412.z.object({
1579
+ feature_id: import_v412.z.string(),
1580
+ quantity: import_v412.z.number().min(0).optional(),
1581
+ adjustable: import_v412.z.boolean().optional()
1582
+ });
1583
+ var FreeTrialParamsSchema = import_v412.z.object({
1584
+ duration_length: import_v412.z.number(),
1585
+ duration_type: import_v412.z.enum(["day", "month", "year"]).default("month"),
1586
+ card_required: import_v412.z.boolean().default(true)
1587
+ });
1588
+ var AttachDiscountSchema = import_v412.z.union([
1589
+ import_v412.z.object({ reward_id: import_v412.z.string() }),
1590
+ import_v412.z.object({ promotion_code: import_v412.z.string() })
1591
+ ]);
1592
+ var InvoiceModeParamsSchema = import_v412.z.object({
1593
+ enabled: import_v412.z.boolean(),
1594
+ enable_plan_immediately: import_v412.z.boolean().default(false),
1595
+ finalize: import_v412.z.boolean().default(true)
1596
+ });
1597
+ var ProrationBehaviorSchema = import_v412.z.enum(["prorate_immediately", "none"]);
1598
+ var RedirectModeSchema = import_v412.z.enum(["always", "if_required", "never"]);
1599
+ var PlanScheduleSchema = import_v412.z.enum(["immediate", "end_of_cycle"]);
1600
+ var CancelActionSchema = import_v412.z.enum([
1601
+ "cancel_immediately",
1602
+ "cancel_end_of_cycle",
1603
+ "uncancel"
1604
+ ]);
1605
+ var UsageTierSchema = import_v412.z.object({
1606
+ to: import_v412.z.number().or(import_v412.z.literal("inf")),
1607
+ amount: import_v412.z.number()
1608
+ });
1609
+ var BasePriceParamsSchema = import_v412.z.object({
1610
+ amount: import_v412.z.number(),
1611
+ interval: BillingIntervalSchema,
1612
+ interval_count: import_v412.z.number().optional()
1613
+ });
1614
+ var CreatePlanItemParamsSchema = import_v412.z.object({
1615
+ feature_id: import_v412.z.string(),
1616
+ included: import_v412.z.number().optional(),
1617
+ unlimited: import_v412.z.boolean().optional(),
1618
+ reset: import_v412.z.object({
1619
+ interval: ResetIntervalSchema,
1620
+ interval_count: import_v412.z.number().optional()
1621
+ }).optional(),
1622
+ price: import_v412.z.object({
1623
+ amount: import_v412.z.number().optional(),
1624
+ tiers: import_v412.z.array(UsageTierSchema).optional(),
1625
+ interval: BillingIntervalSchema,
1626
+ interval_count: import_v412.z.number().default(1).optional(),
1627
+ billing_units: import_v412.z.number().default(1).optional(),
1628
+ billing_method: BillingMethodSchema,
1629
+ max_purchase: import_v412.z.number().optional()
1630
+ }).optional(),
1631
+ proration: import_v412.z.object({
1632
+ on_increase: OnIncreaseSchema,
1633
+ on_decrease: OnDecreaseSchema
1634
+ }).optional(),
1635
+ rollover: import_v412.z.object({
1636
+ max: import_v412.z.number().optional(),
1637
+ expiry_duration_type: RolloverExpiryDurationTypeSchema,
1638
+ expiry_duration_length: import_v412.z.number().optional()
1639
+ }).optional()
1640
+ });
1641
+ var CustomizePlanSchema = import_v412.z.object({
1642
+ price: BasePriceParamsSchema.nullable().optional(),
1643
+ items: import_v412.z.array(CreatePlanItemParamsSchema).optional(),
1644
+ free_trial: FreeTrialParamsSchema.nullable().optional()
1645
+ });
1646
+ var CustomLineItemSchema = import_v412.z.object({
1647
+ amount: import_v412.z.number(),
1648
+ description: import_v412.z.string()
1649
+ });
1650
+ var BillingParamsBaseSchema = import_v412.z.object({
1651
+ customer_id: import_v412.z.string(),
1652
+ entity_id: import_v412.z.string().optional(),
1653
+ feature_quantities: import_v412.z.array(FeatureQuantityParamsSchema).optional(),
1654
+ version: import_v412.z.number().optional(),
1655
+ customize: CustomizePlanSchema.optional(),
1656
+ invoice_mode: InvoiceModeParamsSchema.optional(),
1657
+ proration_behavior: ProrationBehaviorSchema.optional(),
1658
+ subscription_id: import_v412.z.string().optional()
1659
+ });
1660
+ var BillingAttachParamsSchema = BillingParamsBaseSchema.extend({
1661
+ plan_id: import_v412.z.string(),
1662
+ discounts: import_v412.z.array(AttachDiscountSchema).optional(),
1663
+ success_url: import_v412.z.string().optional(),
1664
+ redirect_mode: RedirectModeSchema.optional(),
1665
+ new_billing_subscription: import_v412.z.boolean().optional(),
1666
+ plan_schedule: PlanScheduleSchema.optional(),
1667
+ checkout_session_params: import_v412.z.record(import_v412.z.string(), import_v412.z.unknown()).optional(),
1668
+ custom_line_items: import_v412.z.array(CustomLineItemSchema).optional()
1669
+ });
1670
+ var BillingUpdateParamsSchema = BillingParamsBaseSchema.extend({
1671
+ plan_id: import_v412.z.string().optional(),
1672
+ cancel_action: CancelActionSchema.optional()
1673
+ });
1674
+ var PaymentFailureCodeSchema = import_v412.z.enum([
1675
+ "3ds_required",
1676
+ "payment_method_required",
1677
+ "payment_failed"
1678
+ ]);
1679
+ var BillingRequiredActionSchema = import_v412.z.object({
1680
+ code: PaymentFailureCodeSchema,
1681
+ reason: import_v412.z.string()
1682
+ });
1683
+ var BillingResponseSchema = import_v412.z.object({
1684
+ customer_id: import_v412.z.string(),
1685
+ entity_id: import_v412.z.string().optional(),
1686
+ invoice: import_v412.z.object({
1687
+ status: import_v412.z.string().nullable(),
1688
+ stripe_id: import_v412.z.string(),
1689
+ total: import_v412.z.number(),
1690
+ currency: import_v412.z.string(),
1691
+ hosted_invoice_url: import_v412.z.string().nullable()
1692
+ }).optional(),
1693
+ payment_url: import_v412.z.string().nullable(),
1694
+ required_action: BillingRequiredActionSchema.optional()
1695
+ });
1696
+ var MultiAttachCustomizePlanSchema = import_v412.z.object({
1697
+ price: BasePriceParamsSchema.nullable().optional(),
1698
+ items: import_v412.z.array(CreatePlanItemParamsSchema).optional()
1699
+ });
1700
+ var MultiAttachPlanSchema = import_v412.z.object({
1701
+ plan_id: import_v412.z.string(),
1702
+ customize: MultiAttachCustomizePlanSchema.optional(),
1703
+ feature_quantities: import_v412.z.array(FeatureQuantityParamsSchema).optional(),
1704
+ version: import_v412.z.number().optional(),
1705
+ subscription_id: import_v412.z.string().optional()
1706
+ });
1707
+ var MultiAttachParamsSchema = import_v412.z.object({
1708
+ customer_id: import_v412.z.string(),
1709
+ entity_id: import_v412.z.string().optional(),
1710
+ plans: import_v412.z.array(MultiAttachPlanSchema).min(1),
1711
+ free_trial: FreeTrialParamsSchema.nullable().optional(),
1712
+ invoice_mode: InvoiceModeParamsSchema.optional(),
1713
+ discounts: import_v412.z.array(AttachDiscountSchema).optional(),
1714
+ success_url: import_v412.z.string().optional(),
1715
+ checkout_session_params: import_v412.z.record(import_v412.z.string(), import_v412.z.unknown()).optional(),
1716
+ redirect_mode: RedirectModeSchema.optional(),
1717
+ new_billing_subscription: import_v412.z.boolean().optional()
1718
+ });
1719
+ var SetupPaymentParamsSchema = import_v412.z.object({
1720
+ customer_id: import_v412.z.string(),
1721
+ entity_id: import_v412.z.string().optional(),
1722
+ plan_id: import_v412.z.string().optional(),
1723
+ feature_quantities: import_v412.z.array(FeatureQuantityParamsSchema).optional(),
1724
+ version: import_v412.z.number().optional(),
1725
+ customize: CustomizePlanSchema.optional(),
1726
+ discounts: import_v412.z.array(AttachDiscountSchema).optional(),
1727
+ success_url: import_v412.z.string().optional(),
1728
+ checkout_session_params: import_v412.z.record(import_v412.z.string(), import_v412.z.unknown()).optional()
1729
+ });
1730
+ var SetupPaymentResponseSchema = import_v412.z.object({
1731
+ customer_id: import_v412.z.string(),
1732
+ entity_id: import_v412.z.string().optional(),
1733
+ url: import_v412.z.string()
1734
+ });
1735
+ var PreviewLineItemSchema = import_v412.z.object({
1736
+ title: import_v412.z.string(),
1737
+ description: import_v412.z.string(),
1738
+ amount: import_v412.z.number()
1739
+ });
1740
+ var BillingPreviewResponseSchema = import_v412.z.object({
1741
+ customer_id: import_v412.z.string(),
1742
+ line_items: import_v412.z.array(PreviewLineItemSchema),
1743
+ total: import_v412.z.number(),
1744
+ currency: import_v412.z.string(),
1745
+ next_cycle: import_v412.z.object({
1746
+ starts_at: import_v412.z.number(),
1747
+ total: import_v412.z.number()
1748
+ }).optional()
1749
+ });
1750
+
1751
+ // src/sdk/v2/balancesTypes.ts
1752
+ var import_v413 = require("zod/v4");
1753
+ var V2ResetIntervalSchema = import_v413.z.enum([
1754
+ "one_off",
1755
+ "minute",
1756
+ "hour",
1757
+ "day",
1758
+ "week",
1759
+ "month",
1760
+ "quarter",
1761
+ "semi_annual",
1762
+ "year"
1763
+ ]);
1764
+ var V2UpdateBalanceParamsSchema = import_v413.z.object({
1765
+ customer_id: import_v413.z.string(),
1766
+ feature_id: import_v413.z.string(),
1767
+ entity_id: import_v413.z.string().optional(),
1768
+ remaining: import_v413.z.number().optional(),
1769
+ add_to_balance: import_v413.z.number().optional(),
1770
+ usage: import_v413.z.number().optional(),
1771
+ interval: V2ResetIntervalSchema.optional(),
1772
+ included_grant: import_v413.z.number().optional(),
1773
+ balance_id: import_v413.z.string().optional(),
1774
+ next_reset_at: import_v413.z.number().optional()
1775
+ });
1776
+ var V2UpdateBalanceResponseSchema = import_v413.z.object({
1777
+ message: import_v413.z.string()
1778
+ });
1779
+ var V2FinalizeLockActionSchema = import_v413.z.enum(["confirm", "release"]);
1780
+ var V2FinalizeLockParamsSchema = import_v413.z.object({
1781
+ lock_id: import_v413.z.string(),
1782
+ action: V2FinalizeLockActionSchema,
1783
+ override_value: import_v413.z.number().optional(),
1784
+ properties: import_v413.z.record(import_v413.z.string(), import_v413.z.any()).optional()
1785
+ });
1786
+ var V2FinalizeLockResponseSchema = import_v413.z.object({
1787
+ success: import_v413.z.literal(true)
1788
+ });
1789
+
1790
+ // src/libraries/backend/convex.ts
1791
+ var import_rou37 = require("rou3");
1792
+
1793
+ // src/libraries/backend/routes/backendRouter.ts
1794
+ var import_rou36 = require("rou3");
1795
+
1796
+ // src/libraries/backend/utils/backendRes.ts
1797
+ var toBackendRes = ({ res }) => {
1798
+ let statusCode = res.statusCode ? res.statusCode : res.error ? 500 : 200;
1799
+ return {
1800
+ body: res.data ? res.data : res.error,
1801
+ statusCode
1802
+ };
1803
+ };
1804
+ var toBackendError = ({
1805
+ path,
1806
+ message,
1807
+ code,
1808
+ statusCode = 500
1809
+ }) => {
1810
+ return {
1811
+ statusCode,
1812
+ body: new AutumnError({
1813
+ message: message || "Internal server error",
1814
+ code: code || "internal_server_error"
1815
+ })
1816
+ };
1817
+ };
1818
+
1819
+ // src/utils/toSnakeCase.ts
1820
+ function stringToSnakeCase(str) {
1821
+ return str.replace(/([a-z])([A-Z])/g, "$1_$2").replace(/[-\s]+/g, "_").toLowerCase();
1822
+ }
1823
+ var toSnakeCase = ({
1824
+ obj,
1825
+ excludeKeys,
1826
+ excludeChildrenOf
1827
+ }) => {
1828
+ if (Array.isArray(obj)) {
1829
+ return obj.map(
1830
+ (item) => toSnakeCase({ obj: item, excludeKeys, excludeChildrenOf })
1831
+ );
1832
+ } else if (obj !== null && typeof obj === "object") {
1833
+ return Object.fromEntries(
1834
+ Object.entries(obj).map(([key, value]) => {
1835
+ const snakeKey = stringToSnakeCase(key);
1836
+ if (excludeKeys?.includes(key)) {
1837
+ return [key, value];
1838
+ }
1839
+ if (excludeChildrenOf?.includes(key)) {
1840
+ return [snakeKey, value];
1841
+ }
1842
+ return [
1843
+ snakeKey,
1844
+ toSnakeCase({
1845
+ obj: value,
1846
+ excludeKeys,
1847
+ excludeChildrenOf
1848
+ })
1849
+ ];
1850
+ })
1851
+ );
1852
+ }
1853
+ return obj;
1854
+ };
1855
+
1856
+ // src/libraries/backend/utils/withAuth.ts
1857
+ var withAuth = ({
1858
+ fn,
1859
+ requireCustomer = true,
1860
+ suppressLogs = false
1861
+ }) => {
1862
+ return async ({
1863
+ autumn,
1864
+ body,
1865
+ path,
1866
+ getCustomer: getCustomer2,
1867
+ pathParams,
1868
+ searchParams
1869
+ }) => {
1870
+ let authResult = await getCustomer2();
1871
+ let customerId = authResult?.customerId;
1872
+ if (!customerId && requireCustomer) {
1873
+ if (body?.errorOnNotFound === false) {
1874
+ return {
1875
+ statusCode: 202,
1876
+ body: null
1877
+ };
1878
+ } else {
1879
+ if (!suppressLogs) {
1880
+ logger.error(
1881
+ `[Autumn]: customerId returned from identify function is ${customerId}`
1882
+ );
1883
+ }
1884
+ return toBackendError({
1885
+ path,
1886
+ message: `customerId returned from identify function is ${customerId}`,
1887
+ code: "no_customer_id",
1888
+ statusCode: 401
1889
+ });
1890
+ }
1891
+ }
1892
+ let cusData = authResult?.customerData || body?.customer_data;
1893
+ if (body) {
1894
+ body = toSnakeCase({
1895
+ obj: body,
1896
+ excludeChildrenOf: ["checkoutSessionParams", "properties"]
1897
+ });
1898
+ }
1899
+ try {
1900
+ let res = await fn({
1901
+ body,
1902
+ autumn,
1903
+ customer_id: customerId,
1904
+ customer_data: cusData,
1905
+ pathParams,
1906
+ searchParams
1907
+ });
1908
+ return toBackendRes({ res });
1909
+ } catch (error) {
1910
+ if (!suppressLogs) {
1911
+ logger.error(`${error.message}`);
1912
+ }
1913
+ return toBackendError({
1914
+ path,
1915
+ message: error.message || "unknown error",
1916
+ code: "internal_error"
1917
+ });
1918
+ }
1919
+ };
1920
+ };
1921
+
1922
+ // src/libraries/backend/routes/analyticsRoutes.ts
1923
+ var import_rou3 = require("rou3");
1924
+ var sanitizeBody = (body) => {
1925
+ const bodyCopy = { ...body };
1926
+ delete bodyCopy.customer_id;
1927
+ delete bodyCopy.customer_data;
1928
+ return bodyCopy;
1929
+ };
1930
+ var listEventsHandler = (options) => withAuth({
1931
+ fn: async ({
1932
+ autumn,
1933
+ customer_id,
1934
+ body
1935
+ }) => {
1936
+ return await autumn.events.list({
1937
+ ...sanitizeBody(body),
1938
+ customer_id
1939
+ });
1940
+ },
1941
+ suppressLogs: options?.suppressLogs
1942
+ });
1943
+ var aggregateEventsHandler = (options) => withAuth({
1944
+ fn: async ({
1945
+ autumn,
1946
+ customer_id,
1947
+ body
1948
+ }) => {
1949
+ return await autumn.events.aggregate({
1950
+ ...sanitizeBody(body),
1951
+ customer_id
1952
+ });
1953
+ },
1954
+ suppressLogs: options?.suppressLogs
1955
+ });
1956
+ var addAnalyticsRoutes = (router, options) => {
1957
+ (0, import_rou3.addRoute)(router, "POST", `${BASE_PATH}/events/list`, {
1958
+ handler: listEventsHandler(options)
1959
+ });
1960
+ (0, import_rou3.addRoute)(router, "POST", `${BASE_PATH}/events/aggregate`, {
1961
+ handler: aggregateEventsHandler(options)
1962
+ });
1963
+ };
1964
+
1965
+ // src/libraries/backend/routes/entityRoutes.ts
1966
+ var import_rou32 = require("rou3");
1967
+ var createEntityHandler = (options) => withAuth({
1968
+ fn: async ({
1969
+ autumn,
1970
+ customer_id,
1971
+ body
1972
+ }) => {
1973
+ return await autumn.entities.create(customer_id, body);
1974
+ },
1975
+ suppressLogs: options?.suppressLogs
1976
+ });
1977
+ var getEntityHandler = (options) => withAuth({
1978
+ fn: async ({
1979
+ autumn,
1980
+ customer_id,
1981
+ pathParams,
1982
+ searchParams
1983
+ }) => {
1984
+ if (!pathParams?.entityId) {
1985
+ return {
1986
+ statusCode: 400,
1987
+ body: {
1988
+ error: "no_entity_id",
1989
+ message: "Entity ID is required"
1990
+ }
1991
+ };
1992
+ }
1993
+ let params = {
1994
+ expand: searchParams?.expand?.split(",")
1995
+ };
1996
+ let res = await autumn.entities.get(
1997
+ customer_id,
1998
+ pathParams.entityId,
1999
+ params
2000
+ );
2001
+ return res;
2002
+ },
2003
+ suppressLogs: options?.suppressLogs
2004
+ });
2005
+ var deleteEntityHandler = (options) => withAuth({
2006
+ fn: async ({
2007
+ autumn,
2008
+ customer_id,
2009
+ pathParams
2010
+ }) => {
2011
+ if (!pathParams?.entityId) {
2012
+ return {
2013
+ statusCode: 400,
2014
+ body: {
2015
+ error: "no_entity_id",
2016
+ message: "Entity ID is required"
2017
+ }
2018
+ };
2019
+ }
2020
+ return await autumn.entities.delete(customer_id, pathParams.entityId);
2021
+ },
2022
+ suppressLogs: options?.suppressLogs
2023
+ });
2024
+ var addEntityRoutes = async (router, options) => {
2025
+ (0, import_rou32.addRoute)(router, "POST", "/api/autumn/entities", {
2026
+ handler: createEntityHandler(options)
2027
+ });
2028
+ (0, import_rou32.addRoute)(router, "GET", "/api/autumn/entities/:entityId", {
2029
+ handler: getEntityHandler(options)
2030
+ });
2031
+ (0, import_rou32.addRoute)(router, "DELETE", "/api/autumn/entities/:entityId", {
2032
+ handler: deleteEntityHandler(options)
2033
+ });
2034
+ };
2035
+
2036
+ // src/libraries/backend/routes/genRoutes.ts
2037
+ var import_rou33 = require("rou3");
2038
+ var sanitizeBody2 = (body) => {
2039
+ const bodyCopy = { ...body };
2040
+ delete bodyCopy.customer_id;
2041
+ delete bodyCopy.customer_data;
2042
+ return bodyCopy;
2043
+ };
2044
+ var checkoutHandler = (options) => withAuth({
2045
+ fn: async ({
2046
+ autumn,
2047
+ customer_id,
2048
+ customer_data,
2049
+ body
2050
+ }) => {
2051
+ const result = await autumn.checkout({
2052
+ ...sanitizeBody2(body),
2053
+ customer_id,
2054
+ customer_data
2055
+ });
2056
+ return result;
2057
+ },
2058
+ suppressLogs: options?.suppressLogs
2059
+ });
2060
+ var attachHandler = (options) => withAuth({
2061
+ fn: async ({
2062
+ autumn,
2063
+ customer_id,
2064
+ customer_data,
2065
+ body
2066
+ }) => {
2067
+ return await autumn.attach({
2068
+ ...sanitizeBody2(body),
2069
+ customer_id,
2070
+ customer_data
2071
+ });
2072
+ },
2073
+ suppressLogs: options?.suppressLogs
2074
+ });
2075
+ var setupPaymentHandler = (options) => withAuth({
2076
+ fn: async ({
2077
+ autumn,
2078
+ customer_id,
2079
+ customer_data,
2080
+ body
2081
+ }) => {
2082
+ return await autumn.setupPayment({
2083
+ ...sanitizeBody2(body),
2084
+ customer_id,
2085
+ customer_data
2086
+ });
2087
+ },
2088
+ suppressLogs: options?.suppressLogs
2089
+ });
2090
+ var cancelHandler = (options) => withAuth({
2091
+ fn: async ({
2092
+ autumn,
2093
+ customer_id,
2094
+ body
2095
+ }) => {
2096
+ return await autumn.cancel({
2097
+ ...sanitizeBody2(body),
2098
+ customer_id
2099
+ });
2100
+ },
2101
+ suppressLogs: options?.suppressLogs
2102
+ });
2103
+ var checkHandler = (options) => withAuth({
2104
+ fn: async ({
2105
+ autumn,
2106
+ customer_id,
2107
+ customer_data,
2108
+ body
2109
+ }) => {
2110
+ const result = await autumn.check({
2111
+ ...sanitizeBody2(body),
2112
+ customer_id,
2113
+ customer_data
2114
+ });
2115
+ return result;
2116
+ },
2117
+ suppressLogs: options?.suppressLogs
2118
+ });
2119
+ var trackHandler = (options) => withAuth({
2120
+ fn: async ({
2121
+ autumn,
2122
+ customer_id,
2123
+ customer_data,
2124
+ body
2125
+ }) => {
2126
+ return await autumn.track({
2127
+ ...sanitizeBody2(body),
2128
+ customer_id,
2129
+ customer_data
2130
+ });
2131
+ },
2132
+ suppressLogs: options?.suppressLogs
2133
+ });
2134
+ var openBillingPortalHandler = (options) => withAuth({
2135
+ fn: async ({
2136
+ autumn,
2137
+ customer_id,
2138
+ body
2139
+ }) => {
2140
+ return await autumn.customers.billingPortal(customer_id, body);
2141
+ },
2142
+ suppressLogs: options?.suppressLogs
2143
+ });
2144
+ var queryHandler = (options) => withAuth({
2145
+ fn: async ({
2146
+ autumn,
2147
+ customer_id,
2148
+ body
2149
+ }) => {
2150
+ return await autumn.query({
2151
+ ...sanitizeBody2(body),
2152
+ customer_id
2153
+ });
2154
+ },
2155
+ suppressLogs: options?.suppressLogs
2156
+ });
2157
+ var addGenRoutes = (router, options) => {
2158
+ (0, import_rou33.addRoute)(router, "POST", `${BASE_PATH}/checkout`, {
2159
+ handler: checkoutHandler(options)
2160
+ });
2161
+ (0, import_rou33.addRoute)(router, "POST", `${BASE_PATH}/attach`, {
2162
+ handler: attachHandler(options)
2163
+ });
2164
+ (0, import_rou33.addRoute)(router, "POST", `${BASE_PATH}/cancel`, {
2165
+ handler: cancelHandler(options)
2166
+ });
2167
+ (0, import_rou33.addRoute)(router, "POST", `${BASE_PATH}/check`, {
2168
+ handler: checkHandler(options)
2169
+ });
2170
+ (0, import_rou33.addRoute)(router, "POST", `${BASE_PATH}/track`, {
2171
+ handler: trackHandler(options)
2172
+ });
2173
+ (0, import_rou33.addRoute)(router, "POST", `${BASE_PATH}/billing_portal`, {
2174
+ handler: openBillingPortalHandler(options)
2175
+ });
2176
+ (0, import_rou33.addRoute)(router, "POST", `${BASE_PATH}/setup_payment`, {
2177
+ handler: setupPaymentHandler(options)
2178
+ });
2179
+ (0, import_rou33.addRoute)(router, "POST", `${BASE_PATH}/query`, {
2180
+ handler: queryHandler(options)
2181
+ });
2182
+ };
2183
+
2184
+ // src/libraries/backend/routes/productRoutes.ts
2185
+ var import_rou34 = require("rou3");
2186
+ var listProductsHandler = (options) => withAuth({
2187
+ fn: async ({
2188
+ autumn,
2189
+ customer_id
2190
+ }) => {
2191
+ return await autumn.products.list({
2192
+ customer_id
2193
+ });
2194
+ },
2195
+ requireCustomer: false,
2196
+ suppressLogs: options?.suppressLogs
2197
+ });
2198
+ var addProductRoutes = async (router, options) => {
2199
+ (0, import_rou34.addRoute)(router, "GET", `${BASE_PATH}/products`, {
2200
+ handler: listProductsHandler(options)
2201
+ });
2202
+ };
2203
+
2204
+ // src/libraries/backend/routes/referralRoutes.ts
2205
+ var import_rou35 = require("rou3");
2206
+ var createReferralCodeHandler = (options) => withAuth({
2207
+ fn: async ({
2208
+ autumn,
2209
+ customer_id,
2210
+ body
2211
+ }) => {
2212
+ const res = await autumn.referrals.createCode({
2213
+ ...body,
2214
+ customer_id
2215
+ });
2216
+ return res;
2217
+ },
2218
+ suppressLogs: options?.suppressLogs
2219
+ });
2220
+ var redeemReferralCodeHandler = (options) => withAuth({
2221
+ fn: async ({
2222
+ autumn,
2223
+ customer_id,
2224
+ body
2225
+ }) => {
2226
+ return await autumn.referrals.redeemCode({
2227
+ ...body,
2228
+ customer_id
2229
+ });
2230
+ },
2231
+ suppressLogs: options?.suppressLogs
2232
+ });
2233
+ var addReferralRoutes = async (router, options) => {
2234
+ (0, import_rou35.addRoute)(router, "POST", `${BASE_PATH}/referrals/code`, {
2235
+ handler: createReferralCodeHandler(options)
2236
+ });
2237
+ (0, import_rou35.addRoute)(router, "POST", `${BASE_PATH}/referrals/redeem`, {
2238
+ handler: redeemReferralCodeHandler(options)
2239
+ });
2240
+ };
2241
+
2242
+ // src/libraries/backend/routes/backendRouter.ts
2243
+ var sanitizeCustomerBody = (body) => {
2244
+ const bodyCopy = { ...body };
2245
+ delete bodyCopy.id;
2246
+ delete bodyCopy.name;
2247
+ delete bodyCopy.email;
2248
+ return bodyCopy;
2249
+ };
2250
+ var createCustomerHandler = (options) => withAuth({
2251
+ fn: async ({
2252
+ autumn,
2253
+ customer_id,
2254
+ customer_data = {},
2255
+ body
2256
+ }) => {
2257
+ const res = await autumn.customers.create({
2258
+ id: customer_id,
2259
+ ...customer_data,
2260
+ ...sanitizeCustomerBody(body)
2261
+ });
2262
+ return res;
2263
+ },
2264
+ suppressLogs: options?.suppressLogs
2265
+ });
2266
+ var getPricingTableHandler = (options) => withAuth({
2267
+ fn: async ({
2268
+ autumn,
2269
+ customer_id
2270
+ }) => {
2271
+ return await fetchPricingTable({
2272
+ instance: autumn,
2273
+ params: {
2274
+ customer_id: customer_id || void 0
2275
+ }
2276
+ });
2277
+ },
2278
+ requireCustomer: false,
2279
+ suppressLogs: options?.suppressLogs
2280
+ });
2281
+ var createRouterWithOptions = (options) => {
2282
+ const router = (0, import_rou36.createRouter)();
2283
+ (0, import_rou36.addRoute)(router, "POST", `${BASE_PATH}/cors`, {
2284
+ handler: () => {
2285
+ return {
2286
+ body: {
2287
+ message: "OK"
2288
+ },
2289
+ statusCode: 200
2290
+ };
2291
+ }
2292
+ });
2293
+ (0, import_rou36.addRoute)(router, "POST", `${BASE_PATH}/customers`, {
2294
+ handler: createCustomerHandler(options)
2295
+ });
2296
+ (0, import_rou36.addRoute)(router, "GET", `${BASE_PATH}/components/pricing_table`, {
2297
+ handler: getPricingTableHandler(options),
2298
+ requireCustomer: false
2299
+ });
2300
+ addGenRoutes(router, options);
2301
+ addEntityRoutes(router, options);
2302
+ addReferralRoutes(router, options);
2303
+ addProductRoutes(router, options);
2304
+ addAnalyticsRoutes(router, options);
2305
+ return router;
2306
+ };
2307
+
2308
+ // src/libraries/backend/utils/secretKeyCheck.ts
2309
+ var secretKeyCheck = (secretKey) => {
2310
+ if (!secretKey && !process.env.AUTUMN_SECRET_KEY) {
2311
+ return {
2312
+ found: false,
2313
+ error: {
2314
+ statusCode: 500,
2315
+ message: `Autumn secret key not found in ENV variables or passed into autumnHandler`,
2316
+ code: "no_secret_key"
2317
+ }
2318
+ };
2319
+ }
2320
+ return { found: true, error: null };
2321
+ };
2322
+
2323
+ // src/libraries/backend/convex.ts
2324
+ function autumnHandler(options) {
2325
+ const router = createRouterWithOptions();
2326
+ return options.httpAction(async (ctx, request) => {
2327
+ const headers = request.headers;
2328
+ if (headers.get("Origin") !== null && headers.get("Access-Control-Request-Method") !== null && headers.get("Access-Control-Request-Headers") !== null) {
2329
+ return new Response(null, {
2330
+ headers: new Headers({
2331
+ // e.g. https://mywebsite.com, configured on your Convex dashboard, or passed in as an option
2332
+ "Access-Control-Allow-Origin": process.env.CLIENT_ORIGIN ?? "http://localhost:3000",
2333
+ "Access-Control-Allow-Methods": "POST, GET, PATCH, DELETE, OPTIONS",
2334
+ "Access-Control-Allow-Headers": "Content-Type, Digest, Authorization, Cookie",
2335
+ "Access-Control-Allow-Credentials": "true",
2336
+ "Access-Control-Max-Age": "86400"
2337
+ })
2338
+ });
2339
+ }
2340
+ const { found, error: resError } = secretKeyCheck(options.secretKey);
2341
+ if (!found && !options.secretKey) {
2342
+ return Response.json(resError, { status: resError.statusCode });
2343
+ }
2344
+ const method = request.method;
2345
+ const url = new URL(request.url);
2346
+ const searchParams = Object.fromEntries(url.searchParams);
2347
+ const pathname = url.pathname;
2348
+ const match = (0, import_rou37.findRoute)(router, method, pathname);
2349
+ if (!match) {
2350
+ return Response.json({ error: "Not found" }, { status: 404 });
2351
+ }
2352
+ const { data, params: pathParams } = match;
2353
+ const { handler } = data;
2354
+ const autumn = new Autumn({
2355
+ secretKey: options.secretKey || void 0,
2356
+ url: options.url
2357
+ });
2358
+ let body = null;
2359
+ if (method === "POST" || method === "PUT" || method === "PATCH") {
2360
+ try {
2361
+ body = await request.json();
2362
+ } catch (error) {
2363
+ }
2364
+ }
2365
+ const result = await handler({
2366
+ autumn,
2367
+ body,
2368
+ path: url.pathname,
2369
+ getCustomer: async () => await options.identify(ctx, request),
2370
+ pathParams,
2371
+ searchParams
2372
+ });
2373
+ return Response.json(result.body, {
2374
+ status: result.statusCode,
2375
+ headers: new Headers({
2376
+ "Access-Control-Allow-Origin": process.env.CLIENT_ORIGIN ?? "http://localhost:3000",
2377
+ "Access-Control-Allow-Credentials": "true",
2378
+ Vary: "origin"
2379
+ })
2380
+ });
2381
+ });
2382
+ }
2383
+ function convexHandler(options) {
2384
+ const router = createRouterWithOptions();
2385
+ const corsHeaders = {
2386
+ "Access-Control-Allow-Origin": options.corsOrigin ?? process.env.CLIENT_ORIGIN ?? "http://localhost:3000",
2387
+ "Access-Control-Allow-Methods": "POST, GET, PATCH, DELETE, OPTIONS",
2388
+ "Access-Control-Allow-Headers": "*",
2389
+ "Access-Control-Allow-Credentials": "true",
2390
+ "Access-Control-Max-Age": "86400",
2391
+ Vary: "Origin"
2392
+ };
2393
+ return async (ctx, request) => {
2394
+ const headers = request.headers;
2395
+ if (request.method === "OPTIONS") {
2396
+ return new Response(null, {
2397
+ headers: new Headers(corsHeaders)
2398
+ });
2399
+ }
2400
+ const { found, error: resError } = secretKeyCheck(options.secretKey);
2401
+ if (!found && !options.secretKey) {
2402
+ return new Response(JSON.stringify(resError), {
2403
+ status: resError.statusCode,
2404
+ headers: {
2405
+ "Content-Type": "application/json",
2406
+ ...corsHeaders
2407
+ }
2408
+ });
2409
+ }
2410
+ const method = request.method;
2411
+ const url = new URL(request.url);
2412
+ const searchParams = Object.fromEntries(url.searchParams);
2413
+ const pathname = url.pathname;
2414
+ const match = (0, import_rou37.findRoute)(router, method, pathname);
2415
+ if (!match) {
2416
+ return new Response(JSON.stringify({ error: "Not found" }), {
2417
+ status: 404,
2418
+ headers: {
2419
+ "Content-Type": "application/json",
2420
+ ...corsHeaders
2421
+ }
2422
+ });
2423
+ }
2424
+ const { data, params: pathParams } = match;
2425
+ const { handler } = data;
2426
+ const autumn = new Autumn({
2427
+ secretKey: options.secretKey || void 0,
2428
+ url: options.url
2429
+ });
2430
+ let body = null;
2431
+ if (method === "POST" || method === "PUT" || method === "PATCH") {
2432
+ try {
2433
+ body = await request.json();
2434
+ } catch (error) {
2435
+ }
2436
+ }
2437
+ try {
2438
+ const result = await handler({
2439
+ autumn,
2440
+ body,
2441
+ path: url.pathname,
2442
+ getCustomer: async () => options.identity,
2443
+ pathParams,
2444
+ searchParams
2445
+ });
2446
+ return new Response(JSON.stringify(result.body), {
2447
+ status: result.statusCode,
2448
+ headers: {
2449
+ "Content-Type": "application/json",
2450
+ ...corsHeaders
2451
+ }
2452
+ });
2453
+ } catch (error) {
2454
+ return new Response(JSON.stringify({ error: "Internal server error" }), {
2455
+ status: 500,
2456
+ headers: {
2457
+ "Content-Type": "application/json",
2458
+ ...corsHeaders
2459
+ }
2460
+ });
2461
+ }
2462
+ };
2463
+ }
2464
+ // Annotate the CommonJS export names for ESM import in node:
2465
+ 0 && (module.exports = {
2466
+ autumnHandler,
2467
+ convexHandler
2468
+ });