@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.
- package/LICENSE.md +7 -0
- package/README.md +12 -0
- package/dist/libraries/backend/balancesTypes-BrQjQCw3.d.ts +1822 -0
- package/dist/libraries/backend/balancesTypes-Dk9mLKO8.d.mts +1822 -0
- package/dist/libraries/backend/better-auth.d.mts +772 -0
- package/dist/libraries/backend/better-auth.d.ts +772 -0
- package/dist/libraries/backend/better-auth.js +2872 -0
- package/dist/libraries/backend/better-auth.mjs +482 -0
- package/dist/libraries/backend/chunk-4LJK3VUJ.mjs +48 -0
- package/dist/libraries/backend/chunk-7AOVJSWM.mjs +158 -0
- package/dist/libraries/backend/chunk-ENC3BP6R.mjs +53 -0
- package/dist/libraries/backend/chunk-IZDJ3I6T.mjs +1749 -0
- package/dist/libraries/backend/chunk-KSG3E4Q2.mjs +8 -0
- package/dist/libraries/backend/chunk-LM7CBUUT.mjs +95 -0
- package/dist/libraries/backend/chunk-NRKSUO62.mjs +115 -0
- package/dist/libraries/backend/chunk-SGEUXFOF.mjs +40 -0
- package/dist/libraries/backend/chunk-SRJD6EXQ.mjs +104 -0
- package/dist/libraries/backend/chunk-UNZHJTEY.mjs +18 -0
- package/dist/libraries/backend/chunk-ZGBFNNRL.mjs +78 -0
- package/dist/libraries/backend/chunk-ZW3KBZDU.mjs +30 -0
- package/dist/libraries/backend/constants.d.mts +4 -0
- package/dist/libraries/backend/constants.d.ts +4 -0
- package/dist/libraries/backend/constants.js +33 -0
- package/dist/libraries/backend/constants.mjs +8 -0
- package/dist/libraries/backend/convex.d.mts +16 -0
- package/dist/libraries/backend/convex.d.ts +16 -0
- package/dist/libraries/backend/convex.js +2468 -0
- package/dist/libraries/backend/convex.mjs +164 -0
- package/dist/libraries/backend/elysia.d.mts +35 -0
- package/dist/libraries/backend/elysia.d.ts +35 -0
- package/dist/libraries/backend/elysia.js +2399 -0
- package/dist/libraries/backend/elysia.mjs +102 -0
- package/dist/libraries/backend/express.d.mts +16 -0
- package/dist/libraries/backend/express.d.ts +16 -0
- package/dist/libraries/backend/express.js +2371 -0
- package/dist/libraries/backend/express.mjs +72 -0
- package/dist/libraries/backend/fastify.d.mts +9 -0
- package/dist/libraries/backend/fastify.d.ts +9 -0
- package/dist/libraries/backend/fastify.js +2368 -0
- package/dist/libraries/backend/fastify.mjs +69 -0
- package/dist/libraries/backend/hono.d.mts +12 -0
- package/dist/libraries/backend/hono.d.ts +12 -0
- package/dist/libraries/backend/hono.js +2365 -0
- package/dist/libraries/backend/hono.mjs +66 -0
- package/dist/libraries/backend/index.d.mts +25 -0
- package/dist/libraries/backend/index.d.ts +25 -0
- package/dist/libraries/backend/index.js +2376 -0
- package/dist/libraries/backend/index.mjs +74 -0
- package/dist/libraries/backend/next.d.mts +13 -0
- package/dist/libraries/backend/next.d.ts +13 -0
- package/dist/libraries/backend/next.js +2395 -0
- package/dist/libraries/backend/next.mjs +94 -0
- package/dist/libraries/backend/react-router.d.mts +12 -0
- package/dist/libraries/backend/react-router.d.ts +12 -0
- package/dist/libraries/backend/react-router.js +2396 -0
- package/dist/libraries/backend/react-router.mjs +97 -0
- package/dist/libraries/backend/remix_dep.d.mts +15 -0
- package/dist/libraries/backend/remix_dep.d.ts +15 -0
- package/dist/libraries/backend/remix_dep.js +2360 -0
- package/dist/libraries/backend/remix_dep.mjs +73 -0
- package/dist/libraries/backend/response-BBvvMvoC.d.mts +30 -0
- package/dist/libraries/backend/response-BBvvMvoC.d.ts +30 -0
- package/dist/libraries/backend/routes/analyticsRoutes.d.mts +6 -0
- package/dist/libraries/backend/routes/analyticsRoutes.d.ts +6 -0
- package/dist/libraries/backend/routes/analyticsRoutes.js +1936 -0
- package/dist/libraries/backend/routes/analyticsRoutes.mjs +10 -0
- package/dist/libraries/backend/routes/backendRouter.d.mts +12 -0
- package/dist/libraries/backend/routes/backendRouter.d.ts +12 -0
- package/dist/libraries/backend/routes/backendRouter.js +2304 -0
- package/dist/libraries/backend/routes/backendRouter.mjs +15 -0
- package/dist/libraries/backend/routes/basePath.d.mts +2 -0
- package/dist/libraries/backend/routes/basePath.d.ts +2 -0
- package/dist/libraries/backend/routes/basePath.js +1 -0
- package/dist/libraries/backend/routes/basePath.mjs +0 -0
- package/dist/libraries/backend/routes/entityRoutes.d.mts +6 -0
- package/dist/libraries/backend/routes/entityRoutes.d.ts +6 -0
- package/dist/libraries/backend/routes/entityRoutes.js +1963 -0
- package/dist/libraries/backend/routes/entityRoutes.mjs +10 -0
- package/dist/libraries/backend/routes/genRoutes.d.mts +6 -0
- package/dist/libraries/backend/routes/genRoutes.d.ts +6 -0
- package/dist/libraries/backend/routes/genRoutes.js +2041 -0
- package/dist/libraries/backend/routes/genRoutes.mjs +10 -0
- package/dist/libraries/backend/routes/productRoutes.d.mts +6 -0
- package/dist/libraries/backend/routes/productRoutes.d.ts +6 -0
- package/dist/libraries/backend/routes/productRoutes.js +1913 -0
- package/dist/libraries/backend/routes/productRoutes.mjs +10 -0
- package/dist/libraries/backend/routes/referralRoutes.d.mts +6 -0
- package/dist/libraries/backend/routes/referralRoutes.d.ts +6 -0
- package/dist/libraries/backend/routes/referralRoutes.js +1931 -0
- package/dist/libraries/backend/routes/referralRoutes.mjs +10 -0
- package/dist/libraries/backend/schemas/zod.d.mts +71 -0
- package/dist/libraries/backend/schemas/zod.d.ts +71 -0
- package/dist/libraries/backend/schemas/zod.js +101 -0
- package/dist/libraries/backend/schemas/zod.mjs +68 -0
- package/dist/libraries/backend/supabase.d.mts +9 -0
- package/dist/libraries/backend/supabase.d.ts +9 -0
- package/dist/libraries/backend/supabase.js +2394 -0
- package/dist/libraries/backend/supabase.mjs +95 -0
- package/dist/libraries/backend/tanstack.d.mts +32 -0
- package/dist/libraries/backend/tanstack.d.ts +32 -0
- package/dist/libraries/backend/tanstack.js +2384 -0
- package/dist/libraries/backend/tanstack.mjs +83 -0
- package/dist/libraries/backend/utils/AuthFunction.d.mts +9 -0
- package/dist/libraries/backend/utils/AuthFunction.d.ts +9 -0
- package/dist/libraries/backend/utils/AuthFunction.js +18 -0
- package/dist/libraries/backend/utils/AuthFunction.mjs +0 -0
- package/dist/libraries/backend/utils/backendRes.d.mts +19 -0
- package/dist/libraries/backend/utils/backendRes.d.ts +19 -0
- package/dist/libraries/backend/utils/backendRes.js +1791 -0
- package/dist/libraries/backend/utils/backendRes.mjs +10 -0
- package/dist/libraries/backend/utils/betterAuth/middlewares.d.mts +26 -0
- package/dist/libraries/backend/utils/betterAuth/middlewares.d.ts +26 -0
- package/dist/libraries/backend/utils/betterAuth/middlewares.js +130 -0
- package/dist/libraries/backend/utils/betterAuth/middlewares.mjs +10 -0
- package/dist/libraries/backend/utils/betterAuth/types.d.mts +19 -0
- package/dist/libraries/backend/utils/betterAuth/types.d.ts +19 -0
- package/dist/libraries/backend/utils/betterAuth/types.js +18 -0
- package/dist/libraries/backend/utils/betterAuth/types.mjs +0 -0
- package/dist/libraries/backend/utils/logBackendErrors.d.mts +5 -0
- package/dist/libraries/backend/utils/logBackendErrors.d.ts +5 -0
- package/dist/libraries/backend/utils/logBackendErrors.js +73 -0
- package/dist/libraries/backend/utils/logBackendErrors.mjs +13 -0
- package/dist/libraries/backend/utils/secretKeyCheck.d.mts +13 -0
- package/dist/libraries/backend/utils/secretKeyCheck.d.ts +13 -0
- package/dist/libraries/backend/utils/secretKeyCheck.js +42 -0
- package/dist/libraries/backend/utils/secretKeyCheck.mjs +6 -0
- package/dist/libraries/backend/utils/withAuth.d.mts +29 -0
- package/dist/libraries/backend/utils/withAuth.d.ts +29 -0
- package/dist/libraries/backend/utils/withAuth.js +1892 -0
- package/dist/libraries/backend/utils/withAuth.mjs +9 -0
- package/dist/libraries/react/AutumnContext.d.mts +34 -0
- package/dist/libraries/react/AutumnContext.d.ts +34 -0
- package/dist/libraries/react/AutumnContext.js +2162 -0
- package/dist/libraries/react/AutumnContext.mjs +20 -0
- package/dist/libraries/react/BaseAutumnProvider.d.mts +18 -0
- package/dist/libraries/react/BaseAutumnProvider.d.ts +18 -0
- package/dist/libraries/react/BaseAutumnProvider.js +2833 -0
- package/dist/libraries/react/BaseAutumnProvider.mjs +25 -0
- package/dist/libraries/react/ReactAutumnClient-BJzchCM3.d.ts +304 -0
- package/dist/libraries/react/ReactAutumnClient-Cc2rjUsz.d.mts +304 -0
- package/dist/libraries/react/ReactAutumnProvider.d.mts +20 -0
- package/dist/libraries/react/ReactAutumnProvider.d.ts +20 -0
- package/dist/libraries/react/ReactAutumnProvider.js +3229 -0
- package/dist/libraries/react/ReactAutumnProvider.mjs +26 -0
- package/dist/libraries/react/attachTypes-BNlJ6XXa.d.mts +69 -0
- package/dist/libraries/react/attachTypes-eg914-6v.d.ts +69 -0
- package/dist/libraries/react/chunk-2ZZJUGBO.mjs +138 -0
- package/dist/libraries/react/chunk-4J2T27L6.mjs +99 -0
- package/dist/libraries/react/chunk-4J6OC4ZQ.mjs +2532 -0
- package/dist/libraries/react/chunk-6EXNYWJX.mjs +67 -0
- package/dist/libraries/react/chunk-736TFHSL.mjs +18 -0
- package/dist/libraries/react/chunk-ACRIHVEO.mjs +134 -0
- package/dist/libraries/react/chunk-ACSLCOHZ.mjs +198 -0
- package/dist/libraries/react/chunk-BGOD72CO.mjs +20 -0
- package/dist/libraries/react/chunk-BLM4DAAR.mjs +158 -0
- package/dist/libraries/react/chunk-BVK3DYFG.mjs +157 -0
- package/dist/libraries/react/chunk-CIBQ4BJU.mjs +19 -0
- package/dist/libraries/react/chunk-CSHDMTUY.mjs +52 -0
- package/dist/libraries/react/chunk-D2TXVOAD.mjs +50 -0
- package/dist/libraries/react/chunk-EAZME3W6.mjs +89 -0
- package/dist/libraries/react/chunk-FDURBIAI.mjs +2520 -0
- package/dist/libraries/react/chunk-FK5QRKSW.mjs +747 -0
- package/dist/libraries/react/chunk-GUM4HIGI.mjs +30 -0
- package/dist/libraries/react/chunk-I5ZGIAIX.mjs +57 -0
- package/dist/libraries/react/chunk-IKJYNTI5.mjs +1335 -0
- package/dist/libraries/react/chunk-J24P6YUI.mjs +25 -0
- package/dist/libraries/react/chunk-JNGOZQHP.mjs +62 -0
- package/dist/libraries/react/chunk-JVCOY7ZL.mjs +22 -0
- package/dist/libraries/react/chunk-KEGHYZMH.mjs +584 -0
- package/dist/libraries/react/chunk-LDGZ322L.mjs +92 -0
- package/dist/libraries/react/chunk-MPAPGILW.mjs +360 -0
- package/dist/libraries/react/chunk-NBCD7YQN.mjs +151 -0
- package/dist/libraries/react/chunk-OO5IBU2P.mjs +67 -0
- package/dist/libraries/react/chunk-OYBOLAL5.mjs +31 -0
- package/dist/libraries/react/chunk-Q24L3UDQ.mjs +206 -0
- package/dist/libraries/react/chunk-R4I7MVEX.mjs +46 -0
- package/dist/libraries/react/chunk-RFSQBGLO.mjs +21 -0
- package/dist/libraries/react/chunk-SGEO7BFC.mjs +44 -0
- package/dist/libraries/react/chunk-SUENW2KS.mjs +17 -0
- package/dist/libraries/react/chunk-TI73WOTR.mjs +256 -0
- package/dist/libraries/react/chunk-URQMBRFZ.mjs +62 -0
- package/dist/libraries/react/chunk-V575SGOW.mjs +12 -0
- package/dist/libraries/react/chunk-VPW2CMGB.mjs +165 -0
- package/dist/libraries/react/chunk-WA7QZHL5.mjs +101 -0
- package/dist/libraries/react/chunk-WFFVOEUG.mjs +15 -0
- package/dist/libraries/react/chunk-WVKYZYFT.mjs +37 -0
- package/dist/libraries/react/chunk-XDQLJ7QR.mjs +17 -0
- package/dist/libraries/react/chunk-XGG7IZUQ.mjs +218 -0
- package/dist/libraries/react/chunk-ZBHCIMJH.mjs +448 -0
- package/dist/libraries/react/chunk-ZJPIZX24.mjs +1736 -0
- package/dist/libraries/react/chunk-ZPW4DL3O.mjs +96 -0
- package/dist/libraries/react/client/ConvexAutumnClient.d.mts +77 -0
- package/dist/libraries/react/client/ConvexAutumnClient.d.ts +77 -0
- package/dist/libraries/react/client/ConvexAutumnClient.js +2119 -0
- package/dist/libraries/react/client/ConvexAutumnClient.mjs +9 -0
- package/dist/libraries/react/client/ReactAutumnClient.d.mts +9 -0
- package/dist/libraries/react/client/ReactAutumnClient.d.ts +9 -0
- package/dist/libraries/react/client/ReactAutumnClient.js +2120 -0
- package/dist/libraries/react/client/ReactAutumnClient.mjs +17 -0
- package/dist/libraries/react/client/clientAnalyticsMethods.d.mts +14 -0
- package/dist/libraries/react/client/clientAnalyticsMethods.d.ts +14 -0
- package/dist/libraries/react/client/clientAnalyticsMethods.js +41 -0
- package/dist/libraries/react/client/clientAnalyticsMethods.mjs +10 -0
- package/dist/libraries/react/client/clientCompMethods.d.mts +33 -0
- package/dist/libraries/react/client/clientCompMethods.d.ts +33 -0
- package/dist/libraries/react/client/clientCompMethods.js +35 -0
- package/dist/libraries/react/client/clientCompMethods.mjs +11 -0
- package/dist/libraries/react/client/clientCusMethods.d.mts +16 -0
- package/dist/libraries/react/client/clientCusMethods.d.ts +16 -0
- package/dist/libraries/react/client/clientCusMethods.js +38 -0
- package/dist/libraries/react/client/clientCusMethods.mjs +8 -0
- package/dist/libraries/react/client/clientEntityMethods.d.mts +16 -0
- package/dist/libraries/react/client/clientEntityMethods.d.ts +16 -0
- package/dist/libraries/react/client/clientEntityMethods.js +58 -0
- package/dist/libraries/react/client/clientEntityMethods.mjs +12 -0
- package/dist/libraries/react/client/clientGenMethods.d.mts +22 -0
- package/dist/libraries/react/client/clientGenMethods.d.ts +22 -0
- package/dist/libraries/react/client/clientGenMethods.js +97 -0
- package/dist/libraries/react/client/clientGenMethods.mjs +22 -0
- package/dist/libraries/react/client/clientProdMethods.d.mts +15 -0
- package/dist/libraries/react/client/clientProdMethods.d.ts +15 -0
- package/dist/libraries/react/client/clientProdMethods.js +35 -0
- package/dist/libraries/react/client/clientProdMethods.mjs +8 -0
- package/dist/libraries/react/client/clientReferralMethods.d.mts +15 -0
- package/dist/libraries/react/client/clientReferralMethods.d.ts +15 -0
- package/dist/libraries/react/client/clientReferralMethods.js +41 -0
- package/dist/libraries/react/client/clientReferralMethods.mjs +10 -0
- package/dist/libraries/react/client/types/clientAnalyticsTypes.d.mts +78 -0
- package/dist/libraries/react/client/types/clientAnalyticsTypes.d.ts +78 -0
- package/dist/libraries/react/client/types/clientAnalyticsTypes.js +92 -0
- package/dist/libraries/react/client/types/clientAnalyticsTypes.mjs +62 -0
- package/dist/libraries/react/client/types/clientAttachTypes.d.mts +48 -0
- package/dist/libraries/react/client/types/clientAttachTypes.d.ts +48 -0
- package/dist/libraries/react/client/types/clientAttachTypes.js +76 -0
- package/dist/libraries/react/client/types/clientAttachTypes.mjs +50 -0
- package/dist/libraries/react/client/types/clientCusTypes.d.mts +5 -0
- package/dist/libraries/react/client/types/clientCusTypes.d.ts +5 -0
- package/dist/libraries/react/client/types/clientCusTypes.js +20 -0
- package/dist/libraries/react/client/types/clientCusTypes.mjs +2 -0
- package/dist/libraries/react/client/types/clientEntTypes.d.mts +19 -0
- package/dist/libraries/react/client/types/clientEntTypes.d.ts +19 -0
- package/dist/libraries/react/client/types/clientEntTypes.js +48 -0
- package/dist/libraries/react/client/types/clientEntTypes.mjs +22 -0
- package/dist/libraries/react/client/types/clientGenTypes.d.mts +56 -0
- package/dist/libraries/react/client/types/clientGenTypes.d.ts +56 -0
- package/dist/libraries/react/client/types/clientGenTypes.js +1819 -0
- package/dist/libraries/react/client/types/clientGenTypes.mjs +54 -0
- package/dist/libraries/react/client/types/clientPricingTableTypes.d.mts +20 -0
- package/dist/libraries/react/client/types/clientPricingTableTypes.d.ts +20 -0
- package/dist/libraries/react/client/types/clientPricingTableTypes.js +20 -0
- package/dist/libraries/react/client/types/clientPricingTableTypes.mjs +2 -0
- package/dist/libraries/react/client/types/clientProdTypes.d.mts +5 -0
- package/dist/libraries/react/client/types/clientProdTypes.d.ts +5 -0
- package/dist/libraries/react/client/types/clientProdTypes.js +20 -0
- package/dist/libraries/react/client/types/clientProdTypes.mjs +2 -0
- package/dist/libraries/react/client/types/clientReferralTypes.d.mts +12 -0
- package/dist/libraries/react/client/types/clientReferralTypes.d.ts +12 -0
- package/dist/libraries/react/client/types/clientReferralTypes.js +40 -0
- package/dist/libraries/react/client/types/clientReferralTypes.mjs +15 -0
- package/dist/libraries/react/client/types/responseTypes.d.mts +2 -0
- package/dist/libraries/react/client/types/responseTypes.d.ts +2 -0
- package/dist/libraries/react/client/types/responseTypes.js +3 -0
- package/dist/libraries/react/client/types/responseTypes.mjs +2 -0
- package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.css +1460 -0
- package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.d.mts +25 -0
- package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.d.ts +25 -0
- package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.js +11543 -0
- package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.mjs +57 -0
- package/dist/libraries/react/components/checkout-dialog/lib/checkout-content.d.mts +11 -0
- package/dist/libraries/react/components/checkout-dialog/lib/checkout-content.d.ts +11 -0
- package/dist/libraries/react/components/checkout-dialog/lib/checkout-content.js +181 -0
- package/dist/libraries/react/components/checkout-dialog/lib/checkout-content.mjs +8 -0
- package/dist/libraries/react/components/paywall-dialog/lib/paywall-content.d.mts +9 -0
- package/dist/libraries/react/components/paywall-dialog/lib/paywall-content.d.ts +9 -0
- package/dist/libraries/react/components/paywall-dialog/lib/paywall-content.js +80 -0
- package/dist/libraries/react/components/paywall-dialog/lib/paywall-content.mjs +8 -0
- package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.css +1460 -0
- package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.d.mts +11 -0
- package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.d.ts +11 -0
- package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.js +10566 -0
- package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.mjs +53 -0
- package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.mts +9 -0
- package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.ts +9 -0
- package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.js +85 -0
- package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.mjs +8 -0
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.css +1460 -0
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.mts +52 -0
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.ts +52 -0
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.js +11834 -0
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.mjs +66 -0
- package/dist/libraries/react/components/ui/accordion.d.mts +15 -0
- package/dist/libraries/react/components/ui/accordion.d.ts +15 -0
- package/dist/libraries/react/components/ui/accordion.js +3679 -0
- package/dist/libraries/react/components/ui/accordion.mjs +19 -0
- package/dist/libraries/react/components/ui/button.d.mts +11 -0
- package/dist/libraries/react/components/ui/button.d.ts +11 -0
- package/dist/libraries/react/components/ui/button.js +2776 -0
- package/dist/libraries/react/components/ui/button.mjs +12 -0
- package/dist/libraries/react/components/ui/dialog.d.mts +29 -0
- package/dist/libraries/react/components/ui/dialog.d.ts +29 -0
- package/dist/libraries/react/components/ui/dialog.js +4880 -0
- package/dist/libraries/react/components/ui/dialog.mjs +33 -0
- package/dist/libraries/react/components/ui/input.d.mts +5 -0
- package/dist/libraries/react/components/ui/input.d.ts +5 -0
- package/dist/libraries/react/components/ui/input.js +2587 -0
- package/dist/libraries/react/components/ui/input.mjs +9 -0
- package/dist/libraries/react/components/ui/popover.d.mts +11 -0
- package/dist/libraries/react/components/ui/popover.d.ts +11 -0
- package/dist/libraries/react/components/ui/popover.js +6852 -0
- package/dist/libraries/react/components/ui/popover.mjs +20 -0
- package/dist/libraries/react/components/ui/switch.d.mts +8 -0
- package/dist/libraries/react/components/ui/switch.d.ts +8 -0
- package/dist/libraries/react/components/ui/switch.js +3096 -0
- package/dist/libraries/react/components/ui/switch.mjs +13 -0
- package/dist/libraries/react/cusTypes-CfdKzRo3.d.mts +210 -0
- package/dist/libraries/react/cusTypes-CmjJWspY.d.ts +210 -0
- package/dist/libraries/react/error-DHbclCVh.d.mts +17 -0
- package/dist/libraries/react/error-DHbclCVh.d.ts +17 -0
- package/dist/libraries/react/errorUtils/logAuthError.d.mts +3 -0
- package/dist/libraries/react/errorUtils/logAuthError.d.ts +3 -0
- package/dist/libraries/react/errorUtils/logAuthError.js +45 -0
- package/dist/libraries/react/errorUtils/logAuthError.mjs +8 -0
- package/dist/libraries/react/errorUtils/logFetchError.d.mts +8 -0
- package/dist/libraries/react/errorUtils/logFetchError.d.ts +8 -0
- package/dist/libraries/react/errorUtils/logFetchError.js +42 -0
- package/dist/libraries/react/errorUtils/logFetchError.mjs +8 -0
- package/dist/libraries/react/eventTypes-5iJYcv30.d.mts +26 -0
- package/dist/libraries/react/eventTypes-5iJYcv30.d.ts +26 -0
- package/dist/libraries/react/genTypes-BouhbtKm.d.ts +24 -0
- package/dist/libraries/react/genTypes-DT5O0rCP.d.mts +24 -0
- package/dist/libraries/react/hooks/helpers/handleCheck.d.mts +34 -0
- package/dist/libraries/react/hooks/helpers/handleCheck.d.ts +34 -0
- package/dist/libraries/react/hooks/helpers/handleCheck.js +1917 -0
- package/dist/libraries/react/hooks/helpers/handleCheck.mjs +11 -0
- package/dist/libraries/react/hooks/helpers/useAutumnBase.d.mts +32 -0
- package/dist/libraries/react/hooks/helpers/useAutumnBase.d.ts +32 -0
- package/dist/libraries/react/hooks/helpers/useAutumnBase.js +2115 -0
- package/dist/libraries/react/hooks/helpers/useAutumnBase.mjs +10 -0
- package/dist/libraries/react/hooks/helpers/useDialog.d.mts +3 -0
- package/dist/libraries/react/hooks/helpers/useDialog.d.ts +3 -0
- package/dist/libraries/react/hooks/helpers/useDialog.js +44 -0
- package/dist/libraries/react/hooks/helpers/useDialog.mjs +8 -0
- package/dist/libraries/react/hooks/useAggregateEvents.d.mts +20 -0
- package/dist/libraries/react/hooks/useAggregateEvents.d.ts +20 -0
- package/dist/libraries/react/hooks/useAggregateEvents.js +2216 -0
- package/dist/libraries/react/hooks/useAggregateEvents.mjs +19 -0
- package/dist/libraries/react/hooks/useAnalytics.d.mts +21 -0
- package/dist/libraries/react/hooks/useAnalytics.d.ts +21 -0
- package/dist/libraries/react/hooks/useAnalytics.js +2201 -0
- package/dist/libraries/react/hooks/useAnalytics.mjs +19 -0
- package/dist/libraries/react/hooks/useCustomer.d.mts +89 -0
- package/dist/libraries/react/hooks/useCustomer.d.ts +89 -0
- package/dist/libraries/react/hooks/useCustomer.js +2738 -0
- package/dist/libraries/react/hooks/useCustomer.mjs +23 -0
- package/dist/libraries/react/hooks/useCustomerBase.d.mts +91 -0
- package/dist/libraries/react/hooks/useCustomerBase.d.ts +91 -0
- package/dist/libraries/react/hooks/useCustomerBase.js +2728 -0
- package/dist/libraries/react/hooks/useCustomerBase.mjs +22 -0
- package/dist/libraries/react/hooks/useEntity.d.mts +30 -0
- package/dist/libraries/react/hooks/useEntity.d.ts +30 -0
- package/dist/libraries/react/hooks/useEntity.js +2740 -0
- package/dist/libraries/react/hooks/useEntity.mjs +23 -0
- package/dist/libraries/react/hooks/useEntityBase.d.mts +39 -0
- package/dist/libraries/react/hooks/useEntityBase.d.ts +39 -0
- package/dist/libraries/react/hooks/useEntityBase.js +2732 -0
- package/dist/libraries/react/hooks/useEntityBase.mjs +22 -0
- package/dist/libraries/react/hooks/useListEvents.d.mts +43 -0
- package/dist/libraries/react/hooks/useListEvents.d.ts +43 -0
- package/dist/libraries/react/hooks/useListEvents.js +2238 -0
- package/dist/libraries/react/hooks/useListEvents.mjs +19 -0
- package/dist/libraries/react/hooks/usePaywall.d.mts +13 -0
- package/dist/libraries/react/hooks/usePaywall.d.ts +13 -0
- package/dist/libraries/react/hooks/usePaywall.js +2194 -0
- package/dist/libraries/react/hooks/usePaywall.mjs +19 -0
- package/dist/libraries/react/hooks/usePricingTable.d.mts +15 -0
- package/dist/libraries/react/hooks/usePricingTable.d.ts +15 -0
- package/dist/libraries/react/hooks/usePricingTable.js +2363 -0
- package/dist/libraries/react/hooks/usePricingTable.mjs +20 -0
- package/dist/libraries/react/hooks/usePricingTableBase.d.mts +25 -0
- package/dist/libraries/react/hooks/usePricingTableBase.d.ts +25 -0
- package/dist/libraries/react/hooks/usePricingTableBase.js +1957 -0
- package/dist/libraries/react/hooks/usePricingTableBase.mjs +9 -0
- package/dist/libraries/react/hooks/useProductsBase.d.mts +19 -0
- package/dist/libraries/react/hooks/useProductsBase.d.ts +19 -0
- package/dist/libraries/react/hooks/useProductsBase.js +55 -0
- package/dist/libraries/react/hooks/useProductsBase.mjs +21 -0
- package/dist/libraries/react/index.d.mts +951 -0
- package/dist/libraries/react/index.d.ts +951 -0
- package/dist/libraries/react/index.js +12709 -0
- package/dist/libraries/react/index.mjs +12662 -0
- package/dist/libraries/react/lib/utils.d.mts +5 -0
- package/dist/libraries/react/lib/utils.d.ts +5 -0
- package/dist/libraries/react/lib/utils.js +2556 -0
- package/dist/libraries/react/lib/utils.mjs +8 -0
- package/dist/libraries/react/prodTypes-C4aZSZfO.d.mts +171 -0
- package/dist/libraries/react/prodTypes-C4aZSZfO.d.ts +171 -0
- package/dist/libraries/react/utils/compareParams.d.mts +3 -0
- package/dist/libraries/react/utils/compareParams.d.ts +3 -0
- package/dist/libraries/react/utils/compareParams.js +47 -0
- package/dist/libraries/react/utils/compareParams.mjs +23 -0
- package/dist/libraries/react/utils/errorUtils.d.mts +20 -0
- package/dist/libraries/react/utils/errorUtils.d.ts +20 -0
- package/dist/libraries/react/utils/errorUtils.js +61 -0
- package/dist/libraries/react/utils/errorUtils.mjs +36 -0
- package/dist/libraries/react/utils/inject-styles.d.mts +4 -0
- package/dist/libraries/react/utils/inject-styles.d.ts +4 -0
- package/dist/libraries/react/utils/inject-styles.js +61 -0
- package/dist/libraries/react/utils/inject-styles.mjs +10 -0
- package/dist/next/AutumnProvider.d.mts +30 -0
- package/dist/next/AutumnProvider.d.ts +30 -0
- package/dist/next/AutumnProvider.js +68 -0
- package/dist/next/AutumnProvider.mjs +44 -0
- package/dist/next/client/AutumnClientProvider.d.mts +2 -0
- package/dist/next/client/AutumnClientProvider.d.ts +2 -0
- package/dist/next/client/AutumnClientProvider.js +2 -0
- package/dist/next/client/AutumnClientProvider.mjs +2 -0
- package/dist/next/client/NextAutumnClient.d.mts +375 -0
- package/dist/next/client/NextAutumnClient.d.ts +375 -0
- package/dist/next/client/NextAutumnClient.js +107 -0
- package/dist/next/client/NextAutumnClient.mjs +107 -0
- package/dist/next/client/NextAutumnProvider.d.mts +13 -0
- package/dist/next/client/NextAutumnProvider.d.ts +13 -0
- package/dist/next/client/NextAutumnProvider.js +23 -0
- package/dist/next/client/NextAutumnProvider.mjs +23 -0
- package/dist/next/client/clientAttachTypes-CZ0FmsbF.d.mts +104 -0
- package/dist/next/client/clientAttachTypes-Dczm087t.d.ts +104 -0
- package/dist/next/client/clientEntTypes-CeaZbrIq.d.ts +73 -0
- package/dist/next/client/clientEntTypes-jltPLNQ5.d.mts +73 -0
- package/dist/next/client/clientUtils.d.mts +18 -0
- package/dist/next/client/clientUtils.d.ts +18 -0
- package/dist/next/client/clientUtils.js +72 -0
- package/dist/next/client/clientUtils.mjs +72 -0
- package/dist/next/client/cusTypes-BgJmgZt6.d.ts +215 -0
- package/dist/next/client/cusTypes-BngiltFz.d.mts +215 -0
- package/dist/next/client/error-DHbclCVh.d.mts +17 -0
- package/dist/next/client/error-DHbclCVh.d.ts +17 -0
- package/dist/next/client/hooks/useAutumn.d.mts +20 -0
- package/dist/next/client/hooks/useAutumn.d.ts +20 -0
- package/dist/next/client/hooks/useAutumn.js +17 -0
- package/dist/next/client/hooks/useAutumn.mjs +17 -0
- package/dist/next/client/hooks/useCustomer.d.mts +89 -0
- package/dist/next/client/hooks/useCustomer.d.ts +89 -0
- package/dist/next/client/hooks/useCustomer.js +15 -0
- package/dist/next/client/hooks/useCustomer.mjs +15 -0
- package/dist/next/client/hooks/useEntity.d.mts +27 -0
- package/dist/next/client/hooks/useEntity.d.ts +27 -0
- package/dist/next/client/hooks/useEntity.js +11 -0
- package/dist/next/client/hooks/useEntity.mjs +11 -0
- package/dist/next/client/hooks/usePricingTable.d.mts +33 -0
- package/dist/next/client/hooks/usePricingTable.d.ts +33 -0
- package/dist/next/client/hooks/usePricingTable.js +14 -0
- package/dist/next/client/hooks/usePricingTable.mjs +14 -0
- package/dist/next/client/prodTypes-G6W3NUPg.d.mts +162 -0
- package/dist/next/client/prodTypes-G6W3NUPg.d.ts +162 -0
- package/dist/next/client/response-CLgEplsF.d.ts +16 -0
- package/dist/next/client/response-DKQ_cb7U.d.mts +16 -0
- package/dist/next/client/types.d.mts +74 -0
- package/dist/next/client/types.d.ts +74 -0
- package/dist/next/client/types.js +21 -0
- package/dist/next/client/types.mjs +21 -0
- package/dist/next/enums.d.mts +5 -0
- package/dist/next/enums.d.ts +5 -0
- package/dist/next/enums.js +31 -0
- package/dist/next/enums.mjs +7 -0
- package/dist/next/index.d.mts +19 -0
- package/dist/next/index.d.ts +19 -0
- package/dist/next/index.js +22 -0
- package/dist/next/index.mjs +1 -0
- package/dist/next/server/auth/authPlugin.d.mts +13 -0
- package/dist/next/server/auth/authPlugin.d.ts +13 -0
- package/dist/next/server/auth/authPlugin.js +11 -0
- package/dist/next/server/auth/authPlugin.mjs +11 -0
- package/dist/next/server/auth/clerk-wrapper.d.mts +3 -0
- package/dist/next/server/auth/clerk-wrapper.d.ts +3 -0
- package/dist/next/server/auth/clerk-wrapper.js +22 -0
- package/dist/next/server/auth/clerk-wrapper.mjs +22 -0
- package/dist/next/server/auth/get-next-headers.d.mts +6 -0
- package/dist/next/server/auth/get-next-headers.d.ts +6 -0
- package/dist/next/server/auth/get-next-headers.js +18 -0
- package/dist/next/server/auth/get-next-headers.mjs +18 -0
- package/dist/next/server/auth/handleAuthProvider.d.mts +44 -0
- package/dist/next/server/auth/handleAuthProvider.d.ts +44 -0
- package/dist/next/server/auth/handleAuthProvider.js +179 -0
- package/dist/next/server/auth/handleAuthProvider.mjs +179 -0
- package/dist/next/server/auth/supabase-wrapper.d.mts +3 -0
- package/dist/next/server/auth/supabase-wrapper.d.ts +3 -0
- package/dist/next/server/auth/supabase-wrapper.js +45 -0
- package/dist/next/server/auth/supabase-wrapper.mjs +45 -0
- package/dist/next/server/auth/withNextAuth.d.mts +16 -0
- package/dist/next/server/auth/withNextAuth.d.ts +16 -0
- package/dist/next/server/auth/withNextAuth.js +42 -0
- package/dist/next/server/auth/withNextAuth.mjs +42 -0
- package/dist/next/server/componentActions.d.mts +12 -0
- package/dist/next/server/componentActions.d.ts +12 -0
- package/dist/next/server/componentActions.js +21 -0
- package/dist/next/server/componentActions.mjs +21 -0
- package/dist/next/server/cusActions.d.mts +1421 -0
- package/dist/next/server/cusActions.d.ts +1421 -0
- package/dist/next/server/cusActions.js +70 -0
- package/dist/next/server/cusActions.mjs +70 -0
- package/dist/next/server/cusTypes-C7g7DT5P.d.mts +444 -0
- package/dist/next/server/cusTypes-C7g7DT5P.d.ts +444 -0
- package/dist/next/server/genActions.d.mts +86 -0
- package/dist/next/server/genActions.d.ts +86 -0
- package/dist/next/server/genActions.js +90 -0
- package/dist/next/server/genActions.mjs +90 -0
- package/dist/next/server/response-Bal_cFRb.d.mts +30 -0
- package/dist/next/server/response-Bal_cFRb.d.ts +30 -0
- package/dist/next/server/utils.d.mts +5 -0
- package/dist/next/server/utils.d.ts +5 -0
- package/dist/next/server/utils.js +16 -0
- package/dist/next/server/utils.mjs +16 -0
- package/dist/sdk/index.d.mts +2859 -0
- package/dist/sdk/index.d.ts +2859 -0
- package/dist/sdk/index.js +1832 -0
- package/dist/sdk/index.mjs +1742 -0
- package/dist/styles/global.css +1498 -0
- package/dist/utils/chunk-EG37DNU2.mjs +40 -0
- package/dist/utils/encryptUtils.d.mts +4 -0
- package/dist/utils/encryptUtils.d.ts +4 -0
- package/dist/utils/encryptUtils.js +1811 -0
- package/dist/utils/encryptUtils.mjs +1742 -0
- package/dist/utils/entityUtils.d.mts +3 -0
- package/dist/utils/entityUtils.d.ts +3 -0
- package/dist/utils/entityUtils.js +35 -0
- package/dist/utils/entityUtils.mjs +10 -0
- package/dist/utils/logger.d.mts +45 -0
- package/dist/utils/logger.d.ts +45 -0
- package/dist/utils/logger.js +64 -0
- package/dist/utils/logger.mjs +6 -0
- package/dist/utils/toSnakeCase.d.mts +7 -0
- package/dist/utils/toSnakeCase.d.ts +7 -0
- package/dist/utils/toSnakeCase.js +64 -0
- package/dist/utils/toSnakeCase.mjs +39 -0
- package/package.json +201 -0
- package/tsup.config.ts +213 -0
|
@@ -0,0 +1,2396 @@
|
|
|
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/react-router.ts
|
|
31
|
+
var react_router_exports = {};
|
|
32
|
+
__export(react_router_exports, {
|
|
33
|
+
autumnHandler: () => autumnHandler
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(react_router_exports);
|
|
36
|
+
var import_rou37 = require("rou3");
|
|
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/routes/backendRouter.ts
|
|
1791
|
+
var import_rou36 = require("rou3");
|
|
1792
|
+
|
|
1793
|
+
// src/libraries/backend/utils/backendRes.ts
|
|
1794
|
+
var toBackendRes = ({ res }) => {
|
|
1795
|
+
let statusCode = res.statusCode ? res.statusCode : res.error ? 500 : 200;
|
|
1796
|
+
return {
|
|
1797
|
+
body: res.data ? res.data : res.error,
|
|
1798
|
+
statusCode
|
|
1799
|
+
};
|
|
1800
|
+
};
|
|
1801
|
+
var toBackendError = ({
|
|
1802
|
+
path,
|
|
1803
|
+
message,
|
|
1804
|
+
code,
|
|
1805
|
+
statusCode = 500
|
|
1806
|
+
}) => {
|
|
1807
|
+
return {
|
|
1808
|
+
statusCode,
|
|
1809
|
+
body: new AutumnError({
|
|
1810
|
+
message: message || "Internal server error",
|
|
1811
|
+
code: code || "internal_server_error"
|
|
1812
|
+
})
|
|
1813
|
+
};
|
|
1814
|
+
};
|
|
1815
|
+
|
|
1816
|
+
// src/utils/toSnakeCase.ts
|
|
1817
|
+
function stringToSnakeCase(str) {
|
|
1818
|
+
return str.replace(/([a-z])([A-Z])/g, "$1_$2").replace(/[-\s]+/g, "_").toLowerCase();
|
|
1819
|
+
}
|
|
1820
|
+
var toSnakeCase = ({
|
|
1821
|
+
obj,
|
|
1822
|
+
excludeKeys,
|
|
1823
|
+
excludeChildrenOf
|
|
1824
|
+
}) => {
|
|
1825
|
+
if (Array.isArray(obj)) {
|
|
1826
|
+
return obj.map(
|
|
1827
|
+
(item) => toSnakeCase({ obj: item, excludeKeys, excludeChildrenOf })
|
|
1828
|
+
);
|
|
1829
|
+
} else if (obj !== null && typeof obj === "object") {
|
|
1830
|
+
return Object.fromEntries(
|
|
1831
|
+
Object.entries(obj).map(([key, value]) => {
|
|
1832
|
+
const snakeKey = stringToSnakeCase(key);
|
|
1833
|
+
if (excludeKeys?.includes(key)) {
|
|
1834
|
+
return [key, value];
|
|
1835
|
+
}
|
|
1836
|
+
if (excludeChildrenOf?.includes(key)) {
|
|
1837
|
+
return [snakeKey, value];
|
|
1838
|
+
}
|
|
1839
|
+
return [
|
|
1840
|
+
snakeKey,
|
|
1841
|
+
toSnakeCase({
|
|
1842
|
+
obj: value,
|
|
1843
|
+
excludeKeys,
|
|
1844
|
+
excludeChildrenOf
|
|
1845
|
+
})
|
|
1846
|
+
];
|
|
1847
|
+
})
|
|
1848
|
+
);
|
|
1849
|
+
}
|
|
1850
|
+
return obj;
|
|
1851
|
+
};
|
|
1852
|
+
|
|
1853
|
+
// src/libraries/backend/utils/withAuth.ts
|
|
1854
|
+
var withAuth = ({
|
|
1855
|
+
fn,
|
|
1856
|
+
requireCustomer = true,
|
|
1857
|
+
suppressLogs = false
|
|
1858
|
+
}) => {
|
|
1859
|
+
return async ({
|
|
1860
|
+
autumn,
|
|
1861
|
+
body,
|
|
1862
|
+
path,
|
|
1863
|
+
getCustomer: getCustomer2,
|
|
1864
|
+
pathParams,
|
|
1865
|
+
searchParams
|
|
1866
|
+
}) => {
|
|
1867
|
+
let authResult = await getCustomer2();
|
|
1868
|
+
let customerId = authResult?.customerId;
|
|
1869
|
+
if (!customerId && requireCustomer) {
|
|
1870
|
+
if (body?.errorOnNotFound === false) {
|
|
1871
|
+
return {
|
|
1872
|
+
statusCode: 202,
|
|
1873
|
+
body: null
|
|
1874
|
+
};
|
|
1875
|
+
} else {
|
|
1876
|
+
if (!suppressLogs) {
|
|
1877
|
+
logger.error(
|
|
1878
|
+
`[Autumn]: customerId returned from identify function is ${customerId}`
|
|
1879
|
+
);
|
|
1880
|
+
}
|
|
1881
|
+
return toBackendError({
|
|
1882
|
+
path,
|
|
1883
|
+
message: `customerId returned from identify function is ${customerId}`,
|
|
1884
|
+
code: "no_customer_id",
|
|
1885
|
+
statusCode: 401
|
|
1886
|
+
});
|
|
1887
|
+
}
|
|
1888
|
+
}
|
|
1889
|
+
let cusData = authResult?.customerData || body?.customer_data;
|
|
1890
|
+
if (body) {
|
|
1891
|
+
body = toSnakeCase({
|
|
1892
|
+
obj: body,
|
|
1893
|
+
excludeChildrenOf: ["checkoutSessionParams", "properties"]
|
|
1894
|
+
});
|
|
1895
|
+
}
|
|
1896
|
+
try {
|
|
1897
|
+
let res = await fn({
|
|
1898
|
+
body,
|
|
1899
|
+
autumn,
|
|
1900
|
+
customer_id: customerId,
|
|
1901
|
+
customer_data: cusData,
|
|
1902
|
+
pathParams,
|
|
1903
|
+
searchParams
|
|
1904
|
+
});
|
|
1905
|
+
return toBackendRes({ res });
|
|
1906
|
+
} catch (error) {
|
|
1907
|
+
if (!suppressLogs) {
|
|
1908
|
+
logger.error(`${error.message}`);
|
|
1909
|
+
}
|
|
1910
|
+
return toBackendError({
|
|
1911
|
+
path,
|
|
1912
|
+
message: error.message || "unknown error",
|
|
1913
|
+
code: "internal_error"
|
|
1914
|
+
});
|
|
1915
|
+
}
|
|
1916
|
+
};
|
|
1917
|
+
};
|
|
1918
|
+
|
|
1919
|
+
// src/libraries/backend/routes/analyticsRoutes.ts
|
|
1920
|
+
var import_rou3 = require("rou3");
|
|
1921
|
+
var sanitizeBody = (body) => {
|
|
1922
|
+
const bodyCopy = { ...body };
|
|
1923
|
+
delete bodyCopy.customer_id;
|
|
1924
|
+
delete bodyCopy.customer_data;
|
|
1925
|
+
return bodyCopy;
|
|
1926
|
+
};
|
|
1927
|
+
var listEventsHandler = (options) => withAuth({
|
|
1928
|
+
fn: async ({
|
|
1929
|
+
autumn,
|
|
1930
|
+
customer_id,
|
|
1931
|
+
body
|
|
1932
|
+
}) => {
|
|
1933
|
+
return await autumn.events.list({
|
|
1934
|
+
...sanitizeBody(body),
|
|
1935
|
+
customer_id
|
|
1936
|
+
});
|
|
1937
|
+
},
|
|
1938
|
+
suppressLogs: options?.suppressLogs
|
|
1939
|
+
});
|
|
1940
|
+
var aggregateEventsHandler = (options) => withAuth({
|
|
1941
|
+
fn: async ({
|
|
1942
|
+
autumn,
|
|
1943
|
+
customer_id,
|
|
1944
|
+
body
|
|
1945
|
+
}) => {
|
|
1946
|
+
return await autumn.events.aggregate({
|
|
1947
|
+
...sanitizeBody(body),
|
|
1948
|
+
customer_id
|
|
1949
|
+
});
|
|
1950
|
+
},
|
|
1951
|
+
suppressLogs: options?.suppressLogs
|
|
1952
|
+
});
|
|
1953
|
+
var addAnalyticsRoutes = (router, options) => {
|
|
1954
|
+
(0, import_rou3.addRoute)(router, "POST", `${BASE_PATH}/events/list`, {
|
|
1955
|
+
handler: listEventsHandler(options)
|
|
1956
|
+
});
|
|
1957
|
+
(0, import_rou3.addRoute)(router, "POST", `${BASE_PATH}/events/aggregate`, {
|
|
1958
|
+
handler: aggregateEventsHandler(options)
|
|
1959
|
+
});
|
|
1960
|
+
};
|
|
1961
|
+
|
|
1962
|
+
// src/libraries/backend/routes/entityRoutes.ts
|
|
1963
|
+
var import_rou32 = require("rou3");
|
|
1964
|
+
var createEntityHandler = (options) => withAuth({
|
|
1965
|
+
fn: async ({
|
|
1966
|
+
autumn,
|
|
1967
|
+
customer_id,
|
|
1968
|
+
body
|
|
1969
|
+
}) => {
|
|
1970
|
+
return await autumn.entities.create(customer_id, body);
|
|
1971
|
+
},
|
|
1972
|
+
suppressLogs: options?.suppressLogs
|
|
1973
|
+
});
|
|
1974
|
+
var getEntityHandler = (options) => withAuth({
|
|
1975
|
+
fn: async ({
|
|
1976
|
+
autumn,
|
|
1977
|
+
customer_id,
|
|
1978
|
+
pathParams,
|
|
1979
|
+
searchParams
|
|
1980
|
+
}) => {
|
|
1981
|
+
if (!pathParams?.entityId) {
|
|
1982
|
+
return {
|
|
1983
|
+
statusCode: 400,
|
|
1984
|
+
body: {
|
|
1985
|
+
error: "no_entity_id",
|
|
1986
|
+
message: "Entity ID is required"
|
|
1987
|
+
}
|
|
1988
|
+
};
|
|
1989
|
+
}
|
|
1990
|
+
let params = {
|
|
1991
|
+
expand: searchParams?.expand?.split(",")
|
|
1992
|
+
};
|
|
1993
|
+
let res = await autumn.entities.get(
|
|
1994
|
+
customer_id,
|
|
1995
|
+
pathParams.entityId,
|
|
1996
|
+
params
|
|
1997
|
+
);
|
|
1998
|
+
return res;
|
|
1999
|
+
},
|
|
2000
|
+
suppressLogs: options?.suppressLogs
|
|
2001
|
+
});
|
|
2002
|
+
var deleteEntityHandler = (options) => withAuth({
|
|
2003
|
+
fn: async ({
|
|
2004
|
+
autumn,
|
|
2005
|
+
customer_id,
|
|
2006
|
+
pathParams
|
|
2007
|
+
}) => {
|
|
2008
|
+
if (!pathParams?.entityId) {
|
|
2009
|
+
return {
|
|
2010
|
+
statusCode: 400,
|
|
2011
|
+
body: {
|
|
2012
|
+
error: "no_entity_id",
|
|
2013
|
+
message: "Entity ID is required"
|
|
2014
|
+
}
|
|
2015
|
+
};
|
|
2016
|
+
}
|
|
2017
|
+
return await autumn.entities.delete(customer_id, pathParams.entityId);
|
|
2018
|
+
},
|
|
2019
|
+
suppressLogs: options?.suppressLogs
|
|
2020
|
+
});
|
|
2021
|
+
var addEntityRoutes = async (router, options) => {
|
|
2022
|
+
(0, import_rou32.addRoute)(router, "POST", "/api/autumn/entities", {
|
|
2023
|
+
handler: createEntityHandler(options)
|
|
2024
|
+
});
|
|
2025
|
+
(0, import_rou32.addRoute)(router, "GET", "/api/autumn/entities/:entityId", {
|
|
2026
|
+
handler: getEntityHandler(options)
|
|
2027
|
+
});
|
|
2028
|
+
(0, import_rou32.addRoute)(router, "DELETE", "/api/autumn/entities/:entityId", {
|
|
2029
|
+
handler: deleteEntityHandler(options)
|
|
2030
|
+
});
|
|
2031
|
+
};
|
|
2032
|
+
|
|
2033
|
+
// src/libraries/backend/routes/genRoutes.ts
|
|
2034
|
+
var import_rou33 = require("rou3");
|
|
2035
|
+
var sanitizeBody2 = (body) => {
|
|
2036
|
+
const bodyCopy = { ...body };
|
|
2037
|
+
delete bodyCopy.customer_id;
|
|
2038
|
+
delete bodyCopy.customer_data;
|
|
2039
|
+
return bodyCopy;
|
|
2040
|
+
};
|
|
2041
|
+
var checkoutHandler = (options) => withAuth({
|
|
2042
|
+
fn: async ({
|
|
2043
|
+
autumn,
|
|
2044
|
+
customer_id,
|
|
2045
|
+
customer_data,
|
|
2046
|
+
body
|
|
2047
|
+
}) => {
|
|
2048
|
+
const result = await autumn.checkout({
|
|
2049
|
+
...sanitizeBody2(body),
|
|
2050
|
+
customer_id,
|
|
2051
|
+
customer_data
|
|
2052
|
+
});
|
|
2053
|
+
return result;
|
|
2054
|
+
},
|
|
2055
|
+
suppressLogs: options?.suppressLogs
|
|
2056
|
+
});
|
|
2057
|
+
var attachHandler = (options) => withAuth({
|
|
2058
|
+
fn: async ({
|
|
2059
|
+
autumn,
|
|
2060
|
+
customer_id,
|
|
2061
|
+
customer_data,
|
|
2062
|
+
body
|
|
2063
|
+
}) => {
|
|
2064
|
+
return await autumn.attach({
|
|
2065
|
+
...sanitizeBody2(body),
|
|
2066
|
+
customer_id,
|
|
2067
|
+
customer_data
|
|
2068
|
+
});
|
|
2069
|
+
},
|
|
2070
|
+
suppressLogs: options?.suppressLogs
|
|
2071
|
+
});
|
|
2072
|
+
var setupPaymentHandler = (options) => withAuth({
|
|
2073
|
+
fn: async ({
|
|
2074
|
+
autumn,
|
|
2075
|
+
customer_id,
|
|
2076
|
+
customer_data,
|
|
2077
|
+
body
|
|
2078
|
+
}) => {
|
|
2079
|
+
return await autumn.setupPayment({
|
|
2080
|
+
...sanitizeBody2(body),
|
|
2081
|
+
customer_id,
|
|
2082
|
+
customer_data
|
|
2083
|
+
});
|
|
2084
|
+
},
|
|
2085
|
+
suppressLogs: options?.suppressLogs
|
|
2086
|
+
});
|
|
2087
|
+
var cancelHandler = (options) => withAuth({
|
|
2088
|
+
fn: async ({
|
|
2089
|
+
autumn,
|
|
2090
|
+
customer_id,
|
|
2091
|
+
body
|
|
2092
|
+
}) => {
|
|
2093
|
+
return await autumn.cancel({
|
|
2094
|
+
...sanitizeBody2(body),
|
|
2095
|
+
customer_id
|
|
2096
|
+
});
|
|
2097
|
+
},
|
|
2098
|
+
suppressLogs: options?.suppressLogs
|
|
2099
|
+
});
|
|
2100
|
+
var checkHandler = (options) => withAuth({
|
|
2101
|
+
fn: async ({
|
|
2102
|
+
autumn,
|
|
2103
|
+
customer_id,
|
|
2104
|
+
customer_data,
|
|
2105
|
+
body
|
|
2106
|
+
}) => {
|
|
2107
|
+
const result = await autumn.check({
|
|
2108
|
+
...sanitizeBody2(body),
|
|
2109
|
+
customer_id,
|
|
2110
|
+
customer_data
|
|
2111
|
+
});
|
|
2112
|
+
return result;
|
|
2113
|
+
},
|
|
2114
|
+
suppressLogs: options?.suppressLogs
|
|
2115
|
+
});
|
|
2116
|
+
var trackHandler = (options) => withAuth({
|
|
2117
|
+
fn: async ({
|
|
2118
|
+
autumn,
|
|
2119
|
+
customer_id,
|
|
2120
|
+
customer_data,
|
|
2121
|
+
body
|
|
2122
|
+
}) => {
|
|
2123
|
+
return await autumn.track({
|
|
2124
|
+
...sanitizeBody2(body),
|
|
2125
|
+
customer_id,
|
|
2126
|
+
customer_data
|
|
2127
|
+
});
|
|
2128
|
+
},
|
|
2129
|
+
suppressLogs: options?.suppressLogs
|
|
2130
|
+
});
|
|
2131
|
+
var openBillingPortalHandler = (options) => withAuth({
|
|
2132
|
+
fn: async ({
|
|
2133
|
+
autumn,
|
|
2134
|
+
customer_id,
|
|
2135
|
+
body
|
|
2136
|
+
}) => {
|
|
2137
|
+
return await autumn.customers.billingPortal(customer_id, body);
|
|
2138
|
+
},
|
|
2139
|
+
suppressLogs: options?.suppressLogs
|
|
2140
|
+
});
|
|
2141
|
+
var queryHandler = (options) => withAuth({
|
|
2142
|
+
fn: async ({
|
|
2143
|
+
autumn,
|
|
2144
|
+
customer_id,
|
|
2145
|
+
body
|
|
2146
|
+
}) => {
|
|
2147
|
+
return await autumn.query({
|
|
2148
|
+
...sanitizeBody2(body),
|
|
2149
|
+
customer_id
|
|
2150
|
+
});
|
|
2151
|
+
},
|
|
2152
|
+
suppressLogs: options?.suppressLogs
|
|
2153
|
+
});
|
|
2154
|
+
var addGenRoutes = (router, options) => {
|
|
2155
|
+
(0, import_rou33.addRoute)(router, "POST", `${BASE_PATH}/checkout`, {
|
|
2156
|
+
handler: checkoutHandler(options)
|
|
2157
|
+
});
|
|
2158
|
+
(0, import_rou33.addRoute)(router, "POST", `${BASE_PATH}/attach`, {
|
|
2159
|
+
handler: attachHandler(options)
|
|
2160
|
+
});
|
|
2161
|
+
(0, import_rou33.addRoute)(router, "POST", `${BASE_PATH}/cancel`, {
|
|
2162
|
+
handler: cancelHandler(options)
|
|
2163
|
+
});
|
|
2164
|
+
(0, import_rou33.addRoute)(router, "POST", `${BASE_PATH}/check`, {
|
|
2165
|
+
handler: checkHandler(options)
|
|
2166
|
+
});
|
|
2167
|
+
(0, import_rou33.addRoute)(router, "POST", `${BASE_PATH}/track`, {
|
|
2168
|
+
handler: trackHandler(options)
|
|
2169
|
+
});
|
|
2170
|
+
(0, import_rou33.addRoute)(router, "POST", `${BASE_PATH}/billing_portal`, {
|
|
2171
|
+
handler: openBillingPortalHandler(options)
|
|
2172
|
+
});
|
|
2173
|
+
(0, import_rou33.addRoute)(router, "POST", `${BASE_PATH}/setup_payment`, {
|
|
2174
|
+
handler: setupPaymentHandler(options)
|
|
2175
|
+
});
|
|
2176
|
+
(0, import_rou33.addRoute)(router, "POST", `${BASE_PATH}/query`, {
|
|
2177
|
+
handler: queryHandler(options)
|
|
2178
|
+
});
|
|
2179
|
+
};
|
|
2180
|
+
|
|
2181
|
+
// src/libraries/backend/routes/productRoutes.ts
|
|
2182
|
+
var import_rou34 = require("rou3");
|
|
2183
|
+
var listProductsHandler = (options) => withAuth({
|
|
2184
|
+
fn: async ({
|
|
2185
|
+
autumn,
|
|
2186
|
+
customer_id
|
|
2187
|
+
}) => {
|
|
2188
|
+
return await autumn.products.list({
|
|
2189
|
+
customer_id
|
|
2190
|
+
});
|
|
2191
|
+
},
|
|
2192
|
+
requireCustomer: false,
|
|
2193
|
+
suppressLogs: options?.suppressLogs
|
|
2194
|
+
});
|
|
2195
|
+
var addProductRoutes = async (router, options) => {
|
|
2196
|
+
(0, import_rou34.addRoute)(router, "GET", `${BASE_PATH}/products`, {
|
|
2197
|
+
handler: listProductsHandler(options)
|
|
2198
|
+
});
|
|
2199
|
+
};
|
|
2200
|
+
|
|
2201
|
+
// src/libraries/backend/routes/referralRoutes.ts
|
|
2202
|
+
var import_rou35 = require("rou3");
|
|
2203
|
+
var createReferralCodeHandler = (options) => withAuth({
|
|
2204
|
+
fn: async ({
|
|
2205
|
+
autumn,
|
|
2206
|
+
customer_id,
|
|
2207
|
+
body
|
|
2208
|
+
}) => {
|
|
2209
|
+
const res = await autumn.referrals.createCode({
|
|
2210
|
+
...body,
|
|
2211
|
+
customer_id
|
|
2212
|
+
});
|
|
2213
|
+
return res;
|
|
2214
|
+
},
|
|
2215
|
+
suppressLogs: options?.suppressLogs
|
|
2216
|
+
});
|
|
2217
|
+
var redeemReferralCodeHandler = (options) => withAuth({
|
|
2218
|
+
fn: async ({
|
|
2219
|
+
autumn,
|
|
2220
|
+
customer_id,
|
|
2221
|
+
body
|
|
2222
|
+
}) => {
|
|
2223
|
+
return await autumn.referrals.redeemCode({
|
|
2224
|
+
...body,
|
|
2225
|
+
customer_id
|
|
2226
|
+
});
|
|
2227
|
+
},
|
|
2228
|
+
suppressLogs: options?.suppressLogs
|
|
2229
|
+
});
|
|
2230
|
+
var addReferralRoutes = async (router, options) => {
|
|
2231
|
+
(0, import_rou35.addRoute)(router, "POST", `${BASE_PATH}/referrals/code`, {
|
|
2232
|
+
handler: createReferralCodeHandler(options)
|
|
2233
|
+
});
|
|
2234
|
+
(0, import_rou35.addRoute)(router, "POST", `${BASE_PATH}/referrals/redeem`, {
|
|
2235
|
+
handler: redeemReferralCodeHandler(options)
|
|
2236
|
+
});
|
|
2237
|
+
};
|
|
2238
|
+
|
|
2239
|
+
// src/libraries/backend/routes/backendRouter.ts
|
|
2240
|
+
var sanitizeCustomerBody = (body) => {
|
|
2241
|
+
const bodyCopy = { ...body };
|
|
2242
|
+
delete bodyCopy.id;
|
|
2243
|
+
delete bodyCopy.name;
|
|
2244
|
+
delete bodyCopy.email;
|
|
2245
|
+
return bodyCopy;
|
|
2246
|
+
};
|
|
2247
|
+
var createCustomerHandler = (options) => withAuth({
|
|
2248
|
+
fn: async ({
|
|
2249
|
+
autumn,
|
|
2250
|
+
customer_id,
|
|
2251
|
+
customer_data = {},
|
|
2252
|
+
body
|
|
2253
|
+
}) => {
|
|
2254
|
+
const res = await autumn.customers.create({
|
|
2255
|
+
id: customer_id,
|
|
2256
|
+
...customer_data,
|
|
2257
|
+
...sanitizeCustomerBody(body)
|
|
2258
|
+
});
|
|
2259
|
+
return res;
|
|
2260
|
+
},
|
|
2261
|
+
suppressLogs: options?.suppressLogs
|
|
2262
|
+
});
|
|
2263
|
+
var getPricingTableHandler = (options) => withAuth({
|
|
2264
|
+
fn: async ({
|
|
2265
|
+
autumn,
|
|
2266
|
+
customer_id
|
|
2267
|
+
}) => {
|
|
2268
|
+
return await fetchPricingTable({
|
|
2269
|
+
instance: autumn,
|
|
2270
|
+
params: {
|
|
2271
|
+
customer_id: customer_id || void 0
|
|
2272
|
+
}
|
|
2273
|
+
});
|
|
2274
|
+
},
|
|
2275
|
+
requireCustomer: false,
|
|
2276
|
+
suppressLogs: options?.suppressLogs
|
|
2277
|
+
});
|
|
2278
|
+
var createRouterWithOptions = (options) => {
|
|
2279
|
+
const router = (0, import_rou36.createRouter)();
|
|
2280
|
+
(0, import_rou36.addRoute)(router, "POST", `${BASE_PATH}/cors`, {
|
|
2281
|
+
handler: () => {
|
|
2282
|
+
return {
|
|
2283
|
+
body: {
|
|
2284
|
+
message: "OK"
|
|
2285
|
+
},
|
|
2286
|
+
statusCode: 200
|
|
2287
|
+
};
|
|
2288
|
+
}
|
|
2289
|
+
});
|
|
2290
|
+
(0, import_rou36.addRoute)(router, "POST", `${BASE_PATH}/customers`, {
|
|
2291
|
+
handler: createCustomerHandler(options)
|
|
2292
|
+
});
|
|
2293
|
+
(0, import_rou36.addRoute)(router, "GET", `${BASE_PATH}/components/pricing_table`, {
|
|
2294
|
+
handler: getPricingTableHandler(options),
|
|
2295
|
+
requireCustomer: false
|
|
2296
|
+
});
|
|
2297
|
+
addGenRoutes(router, options);
|
|
2298
|
+
addEntityRoutes(router, options);
|
|
2299
|
+
addReferralRoutes(router, options);
|
|
2300
|
+
addProductRoutes(router, options);
|
|
2301
|
+
addAnalyticsRoutes(router, options);
|
|
2302
|
+
return router;
|
|
2303
|
+
};
|
|
2304
|
+
|
|
2305
|
+
// src/libraries/backend/utils/secretKeyCheck.ts
|
|
2306
|
+
var secretKeyCheck = (secretKey) => {
|
|
2307
|
+
if (!secretKey && !process.env.AUTUMN_SECRET_KEY) {
|
|
2308
|
+
return {
|
|
2309
|
+
found: false,
|
|
2310
|
+
error: {
|
|
2311
|
+
statusCode: 500,
|
|
2312
|
+
message: `Autumn secret key not found in ENV variables or passed into autumnHandler`,
|
|
2313
|
+
code: "no_secret_key"
|
|
2314
|
+
}
|
|
2315
|
+
};
|
|
2316
|
+
}
|
|
2317
|
+
return { found: true, error: null };
|
|
2318
|
+
};
|
|
2319
|
+
|
|
2320
|
+
// src/libraries/backend/react-router.ts
|
|
2321
|
+
function autumnHandler(options) {
|
|
2322
|
+
const autumn = new Autumn({
|
|
2323
|
+
secretKey: options.secretKey || void 0,
|
|
2324
|
+
url: autumnApiUrl
|
|
2325
|
+
});
|
|
2326
|
+
const router = createRouterWithOptions();
|
|
2327
|
+
let { found, error: resError } = secretKeyCheck(options?.secretKey);
|
|
2328
|
+
async function handleRequest(args) {
|
|
2329
|
+
if (!found && !options.secretKey) {
|
|
2330
|
+
throw new Response(JSON.stringify(resError), {
|
|
2331
|
+
status: resError.statusCode
|
|
2332
|
+
});
|
|
2333
|
+
}
|
|
2334
|
+
const method = args.request.method;
|
|
2335
|
+
const url = new URL(args.request.url);
|
|
2336
|
+
const searchParams = Object.fromEntries(url.searchParams);
|
|
2337
|
+
const pathname = url.pathname;
|
|
2338
|
+
const match = (0, import_rou37.findRoute)(router, method, pathname);
|
|
2339
|
+
if (!match) {
|
|
2340
|
+
throw new Response("Not found", { status: 404 });
|
|
2341
|
+
}
|
|
2342
|
+
const { data, params: pathParams } = match;
|
|
2343
|
+
const { handler } = data;
|
|
2344
|
+
let body = null;
|
|
2345
|
+
if (method === "POST" || method === "PUT" || method === "PATCH") {
|
|
2346
|
+
try {
|
|
2347
|
+
body = await args.request.json();
|
|
2348
|
+
} catch (error) {
|
|
2349
|
+
}
|
|
2350
|
+
}
|
|
2351
|
+
const result = await handler({
|
|
2352
|
+
autumn,
|
|
2353
|
+
body,
|
|
2354
|
+
path: url.pathname,
|
|
2355
|
+
getCustomer: async () => await options.identify(args),
|
|
2356
|
+
pathParams: { ...pathParams, ...args.params },
|
|
2357
|
+
searchParams
|
|
2358
|
+
});
|
|
2359
|
+
return new Response(JSON.stringify(result.body), {
|
|
2360
|
+
status: result.statusCode,
|
|
2361
|
+
headers: {
|
|
2362
|
+
"Content-Type": "application/json"
|
|
2363
|
+
}
|
|
2364
|
+
});
|
|
2365
|
+
}
|
|
2366
|
+
async function loader(args) {
|
|
2367
|
+
if (args.request.method !== "GET") {
|
|
2368
|
+
throw new Response("Method not allowed", { status: 405 });
|
|
2369
|
+
}
|
|
2370
|
+
const response = await handleRequest(args);
|
|
2371
|
+
const data = await response.json();
|
|
2372
|
+
if (!response.ok) {
|
|
2373
|
+
throw new Response(JSON.stringify(data), { status: response.status });
|
|
2374
|
+
}
|
|
2375
|
+
return data;
|
|
2376
|
+
}
|
|
2377
|
+
async function action(args) {
|
|
2378
|
+
if (args.request.method === "GET") {
|
|
2379
|
+
throw new Response("Method not allowed", { status: 405 });
|
|
2380
|
+
}
|
|
2381
|
+
const response = await handleRequest(args);
|
|
2382
|
+
const data = await response.json();
|
|
2383
|
+
if (!response.ok) {
|
|
2384
|
+
throw new Response(JSON.stringify(data), { status: response.status });
|
|
2385
|
+
}
|
|
2386
|
+
return data;
|
|
2387
|
+
}
|
|
2388
|
+
return {
|
|
2389
|
+
loader,
|
|
2390
|
+
action
|
|
2391
|
+
};
|
|
2392
|
+
}
|
|
2393
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
2394
|
+
0 && (module.exports = {
|
|
2395
|
+
autumnHandler
|
|
2396
|
+
});
|