mppx 0.8.14 → 0.8.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/dist/Challenge.d.ts.map +1 -1
  3. package/dist/Challenge.js +40 -35
  4. package/dist/Challenge.js.map +1 -1
  5. package/dist/Constants.d.ts +17 -17
  6. package/dist/Constants.d.ts.map +1 -1
  7. package/dist/Credential.d.ts.map +1 -1
  8. package/dist/Errors.d.ts +3 -3
  9. package/dist/Errors.d.ts.map +1 -1
  10. package/dist/Errors.js.map +1 -1
  11. package/dist/Method.d.ts +35 -5
  12. package/dist/Method.d.ts.map +1 -1
  13. package/dist/Method.js +7 -22
  14. package/dist/Method.js.map +1 -1
  15. package/dist/Store.d.ts +19 -0
  16. package/dist/Store.d.ts.map +1 -1
  17. package/dist/Store.js +43 -0
  18. package/dist/Store.js.map +1 -1
  19. package/dist/attestation/Client.d.ts +17 -0
  20. package/dist/attestation/Client.d.ts.map +1 -0
  21. package/dist/attestation/Client.js +28 -0
  22. package/dist/attestation/Client.js.map +1 -0
  23. package/dist/attestation/Constants.d.ts +15 -0
  24. package/dist/attestation/Constants.d.ts.map +1 -0
  25. package/dist/attestation/Constants.js +15 -0
  26. package/dist/attestation/Constants.js.map +1 -0
  27. package/dist/attestation/Server.d.ts +4 -0
  28. package/dist/attestation/Server.d.ts.map +1 -0
  29. package/dist/attestation/Server.js +8 -0
  30. package/dist/attestation/Server.js.map +1 -0
  31. package/dist/attestation/Types.d.ts +76 -0
  32. package/dist/attestation/Types.d.ts.map +1 -0
  33. package/dist/attestation/Types.js +2 -0
  34. package/dist/attestation/Types.js.map +1 -0
  35. package/dist/attestation/index.d.ts +6 -0
  36. package/dist/attestation/index.d.ts.map +1 -0
  37. package/dist/attestation/index.js +6 -0
  38. package/dist/attestation/index.js.map +1 -0
  39. package/dist/attestation/internal/HttpMessageSignature.d.ts +73 -0
  40. package/dist/attestation/internal/HttpMessageSignature.d.ts.map +1 -0
  41. package/dist/attestation/internal/HttpMessageSignature.js +320 -0
  42. package/dist/attestation/internal/HttpMessageSignature.js.map +1 -0
  43. package/dist/attestation/internal/SigningContext.d.ts +4 -0
  44. package/dist/attestation/internal/SigningContext.d.ts.map +1 -0
  45. package/dist/attestation/internal/SigningContext.js +11 -0
  46. package/dist/attestation/internal/SigningContext.js.map +1 -0
  47. package/dist/cli/account.d.ts +14 -14
  48. package/dist/cli/account.d.ts.map +1 -1
  49. package/dist/cli/cli.d.ts +6 -6
  50. package/dist/cli/cli.d.ts.map +1 -1
  51. package/dist/cli/cli.js +1 -0
  52. package/dist/cli/cli.js.map +1 -1
  53. package/dist/cli/plugins/tempo.js.map +1 -1
  54. package/dist/cli/sessions/commands.d.ts +4 -4
  55. package/dist/cli/sessions/commands.d.ts.map +1 -1
  56. package/dist/cli/sessions/commands.js.map +1 -1
  57. package/dist/cli/sessions/store.d.ts.map +1 -1
  58. package/dist/cli/sessions/store.js.map +1 -1
  59. package/dist/cli/utils.d.ts +1 -1
  60. package/dist/cli/utils.d.ts.map +1 -1
  61. package/dist/cli/utils.js.map +1 -1
  62. package/dist/cli/validate/discovery.js.map +1 -1
  63. package/dist/cli/validate/index.d.ts +3 -3
  64. package/dist/cli/validate/index.d.ts.map +1 -1
  65. package/dist/cli/validate/payment.d.ts.map +1 -1
  66. package/dist/cli/validate/payment.js +18 -4
  67. package/dist/cli/validate/payment.js.map +1 -1
  68. package/dist/client/Mppx.d.ts +3 -0
  69. package/dist/client/Mppx.d.ts.map +1 -1
  70. package/dist/client/Mppx.js +13 -5
  71. package/dist/client/Mppx.js.map +1 -1
  72. package/dist/client/Transport.d.ts +3 -5
  73. package/dist/client/Transport.d.ts.map +1 -1
  74. package/dist/client/Transport.js +1 -17
  75. package/dist/client/Transport.js.map +1 -1
  76. package/dist/client/internal/Fetch.d.ts.map +1 -1
  77. package/dist/client/internal/Fetch.js +92 -13
  78. package/dist/client/internal/Fetch.js.map +1 -1
  79. package/dist/client/internal/MethodChallenge.d.ts +2 -0
  80. package/dist/client/internal/MethodChallenge.d.ts.map +1 -1
  81. package/dist/client/internal/MethodChallenge.js +4 -0
  82. package/dist/client/internal/MethodChallenge.js.map +1 -1
  83. package/dist/client/internal/MethodResponse.d.ts +15 -0
  84. package/dist/client/internal/MethodResponse.d.ts.map +1 -1
  85. package/dist/client/internal/MethodResponse.js +10 -0
  86. package/dist/client/internal/MethodResponse.js.map +1 -1
  87. package/dist/client/node.js.map +1 -1
  88. package/dist/discovery/OpenApi.d.ts +3 -5
  89. package/dist/discovery/OpenApi.d.ts.map +1 -1
  90. package/dist/discovery/OpenApi.js +13 -34
  91. package/dist/discovery/OpenApi.js.map +1 -1
  92. package/dist/discovery/internal/Metadata.d.ts +20 -0
  93. package/dist/discovery/internal/Metadata.d.ts.map +1 -0
  94. package/dist/discovery/internal/Metadata.js +36 -0
  95. package/dist/discovery/internal/Metadata.js.map +1 -0
  96. package/dist/evm/Methods.d.ts +11 -11
  97. package/dist/evm/Methods.d.ts.map +1 -1
  98. package/dist/evm/Types.d.ts +17 -17
  99. package/dist/evm/Types.d.ts.map +1 -1
  100. package/dist/evm/client/Charge.d.ts +11 -11
  101. package/dist/evm/client/Methods.d.ts +11 -11
  102. package/dist/evm/server/Charge.d.ts +1 -1
  103. package/dist/evm/server/Charge.d.ts.map +1 -1
  104. package/dist/evm/server/Charge.js +2 -0
  105. package/dist/evm/server/Charge.js.map +1 -1
  106. package/dist/evm/server/Methods.d.ts +11 -11
  107. package/dist/internal/HeaderCodec.d.ts +2 -2
  108. package/dist/internal/HeaderCodec.d.ts.map +1 -1
  109. package/dist/internal/types.d.ts +6 -0
  110. package/dist/internal/types.d.ts.map +1 -1
  111. package/dist/middlewares/elysia.js.map +1 -1
  112. package/dist/middlewares/express.js.map +1 -1
  113. package/dist/middlewares/hono.js.map +1 -1
  114. package/dist/middlewares/nextjs.js.map +1 -1
  115. package/dist/proxy/Proxy.d.ts +2 -0
  116. package/dist/proxy/Proxy.d.ts.map +1 -1
  117. package/dist/proxy/Proxy.js +117 -9
  118. package/dist/proxy/Proxy.js.map +1 -1
  119. package/dist/proxy/Service.d.ts +36 -1
  120. package/dist/proxy/Service.d.ts.map +1 -1
  121. package/dist/proxy/Service.js +9 -8
  122. package/dist/proxy/Service.js.map +1 -1
  123. package/dist/proxy/services/anthropic.d.ts.map +1 -1
  124. package/dist/proxy/services/anthropic.js +1 -0
  125. package/dist/proxy/services/anthropic.js.map +1 -1
  126. package/dist/proxy/services/openai.d.ts.map +1 -1
  127. package/dist/proxy/services/openai.js +1 -0
  128. package/dist/proxy/services/openai.js.map +1 -1
  129. package/dist/proxy/services/stripe.d.ts.map +1 -1
  130. package/dist/proxy/services/stripe.js +1 -0
  131. package/dist/proxy/services/stripe.js.map +1 -1
  132. package/dist/server/Mppx.d.ts +75 -13
  133. package/dist/server/Mppx.d.ts.map +1 -1
  134. package/dist/server/Mppx.js +201 -23
  135. package/dist/server/Mppx.js.map +1 -1
  136. package/dist/server/internal/html/config.d.ts +9 -9
  137. package/dist/server/internal/html/config.d.ts.map +1 -1
  138. package/dist/server/internal/html/constants.d.ts +17 -17
  139. package/dist/server/internal/html/constants.d.ts.map +1 -1
  140. package/dist/stripe/Methods.d.ts +10 -10
  141. package/dist/stripe/Methods.d.ts.map +1 -1
  142. package/dist/stripe/client/Charge.d.ts +10 -10
  143. package/dist/stripe/client/Methods.d.ts +10 -10
  144. package/dist/stripe/internal/constants.d.ts +1 -1
  145. package/dist/stripe/internal/constants.js +1 -1
  146. package/dist/stripe/internal/types.d.ts +1 -0
  147. package/dist/stripe/internal/types.d.ts.map +1 -1
  148. package/dist/stripe/server/Charge.d.ts +11 -11
  149. package/dist/stripe/server/Charge.d.ts.map +1 -1
  150. package/dist/stripe/server/Charge.js +49 -1
  151. package/dist/stripe/server/Charge.js.map +1 -1
  152. package/dist/stripe/server/Methods.d.ts +137 -48
  153. package/dist/stripe/server/Methods.d.ts.map +1 -1
  154. package/dist/stripe/server/Methods.js +259 -4
  155. package/dist/stripe/server/Methods.js.map +1 -1
  156. package/dist/stripe/server/internal/deposit-address.d.ts +13 -0
  157. package/dist/stripe/server/internal/deposit-address.d.ts.map +1 -0
  158. package/dist/stripe/server/internal/deposit-address.js +28 -0
  159. package/dist/stripe/server/internal/deposit-address.js.map +1 -0
  160. package/dist/stripe/server/internal/html.gen.d.ts +1 -1
  161. package/dist/stripe/server/internal/html.gen.d.ts.map +1 -1
  162. package/dist/stripe/server/internal/html.gen.js +1 -1
  163. package/dist/stripe/server/internal/html.gen.js.map +1 -1
  164. package/dist/stripe/server/internal/record-payment.d.ts +15 -0
  165. package/dist/stripe/server/internal/record-payment.d.ts.map +1 -0
  166. package/dist/stripe/server/internal/record-payment.js +42 -0
  167. package/dist/stripe/server/internal/record-payment.js.map +1 -0
  168. package/dist/stripe/server/internal/request.d.ts +25 -0
  169. package/dist/stripe/server/internal/request.d.ts.map +1 -0
  170. package/dist/stripe/server/internal/request.js +29 -0
  171. package/dist/stripe/server/internal/request.js.map +1 -0
  172. package/dist/tap/Constants.d.ts +28 -0
  173. package/dist/tap/Constants.d.ts.map +1 -0
  174. package/dist/tap/Constants.js +32 -0
  175. package/dist/tap/Constants.js.map +1 -0
  176. package/dist/tap/Types.d.ts +11 -0
  177. package/dist/tap/Types.d.ts.map +1 -0
  178. package/dist/tap/Types.js +2 -0
  179. package/dist/tap/Types.js.map +1 -0
  180. package/dist/tap/client/index.d.ts +26 -0
  181. package/dist/tap/client/index.d.ts.map +1 -0
  182. package/dist/tap/client/index.js +33 -0
  183. package/dist/tap/client/index.js.map +1 -0
  184. package/dist/tap/index.d.ts +5 -0
  185. package/dist/tap/index.d.ts.map +1 -0
  186. package/dist/tap/index.js +5 -0
  187. package/dist/tap/index.js.map +1 -0
  188. package/dist/tap/server/index.d.ts +20 -0
  189. package/dist/tap/server/index.d.ts.map +1 -0
  190. package/dist/tap/server/index.js +36 -0
  191. package/dist/tap/server/index.js.map +1 -0
  192. package/dist/tempo/Attribution.d.ts +1 -1
  193. package/dist/tempo/Methods.d.ts +60 -60
  194. package/dist/tempo/Methods.d.ts.map +1 -1
  195. package/dist/tempo/Proof.d.ts +16 -16
  196. package/dist/tempo/client/Charge.d.ts +19 -19
  197. package/dist/tempo/client/Charge.d.ts.map +1 -1
  198. package/dist/tempo/client/Charge.js +1 -7
  199. package/dist/tempo/client/Charge.js.map +1 -1
  200. package/dist/tempo/client/Methods.d.ts +38 -38
  201. package/dist/tempo/client/Methods.js.map +1 -1
  202. package/dist/tempo/client/Subscription.d.ts +23 -23
  203. package/dist/tempo/client/Subscription.js.map +1 -1
  204. package/dist/tempo/internal/address.d.ts +2 -1
  205. package/dist/tempo/internal/address.d.ts.map +1 -1
  206. package/dist/tempo/internal/address.js +3 -1
  207. package/dist/tempo/internal/address.js.map +1 -1
  208. package/dist/tempo/internal/auto-swap.d.ts.map +1 -1
  209. package/dist/tempo/internal/auto-swap.js +4 -19
  210. package/dist/tempo/internal/auto-swap.js.map +1 -1
  211. package/dist/tempo/internal/defaults.d.ts +6 -6
  212. package/dist/tempo/internal/defaults.d.ts.map +1 -1
  213. package/dist/tempo/internal/fee-payer.d.ts +12 -12
  214. package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
  215. package/dist/tempo/internal/fee-payer.js.map +1 -1
  216. package/dist/tempo/internal/proof.d.ts +17 -17
  217. package/dist/tempo/internal/proof.d.ts.map +1 -1
  218. package/dist/tempo/legacy/client/Session.d.ts +20 -20
  219. package/dist/tempo/legacy/client/Session.js.map +1 -1
  220. package/dist/tempo/legacy/client/SessionManager.js.map +1 -1
  221. package/dist/tempo/legacy/index.d.ts +1 -3
  222. package/dist/tempo/legacy/index.d.ts.map +1 -1
  223. package/dist/tempo/legacy/index.js +1 -3
  224. package/dist/tempo/legacy/index.js.map +1 -1
  225. package/dist/tempo/legacy/session/escrow.abi.d.ts +374 -374
  226. package/dist/tempo/legacy/session/escrow.abi.d.ts.map +1 -1
  227. package/dist/tempo/server/Charge.d.ts +34 -12
  228. package/dist/tempo/server/Charge.d.ts.map +1 -1
  229. package/dist/tempo/server/Charge.js +44 -39
  230. package/dist/tempo/server/Charge.js.map +1 -1
  231. package/dist/tempo/server/Methods.d.ts +37 -52
  232. package/dist/tempo/server/Methods.d.ts.map +1 -1
  233. package/dist/tempo/server/Methods.js +0 -14
  234. package/dist/tempo/server/Methods.js.map +1 -1
  235. package/dist/tempo/server/Relay.d.ts +14 -5
  236. package/dist/tempo/server/Relay.d.ts.map +1 -1
  237. package/dist/tempo/server/Relay.js +6 -4
  238. package/dist/tempo/server/Relay.js.map +1 -1
  239. package/dist/tempo/server/SponsorBudget.d.ts.map +1 -1
  240. package/dist/tempo/server/SponsorBudget.js +7 -1
  241. package/dist/tempo/server/SponsorBudget.js.map +1 -1
  242. package/dist/tempo/server/Subscription.d.ts +25 -25
  243. package/dist/tempo/server/Subscription.d.ts.map +1 -1
  244. package/dist/tempo/server/Subscription.js +2 -0
  245. package/dist/tempo/server/Subscription.js.map +1 -1
  246. package/dist/tempo/server/index.d.ts +1 -1
  247. package/dist/tempo/server/index.d.ts.map +1 -1
  248. package/dist/tempo/server/index.js +1 -1
  249. package/dist/tempo/server/index.js.map +1 -1
  250. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  251. package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
  252. package/dist/tempo/server/internal/html.gen.js +1 -1
  253. package/dist/tempo/server/internal/html.gen.js.map +1 -1
  254. package/dist/tempo/server/internal/transport.d.ts +2 -0
  255. package/dist/tempo/server/internal/transport.d.ts.map +1 -1
  256. package/dist/tempo/server/internal/transport.js +9 -2
  257. package/dist/tempo/server/internal/transport.js.map +1 -1
  258. package/dist/tempo/session/client/ChannelOps.js.map +1 -1
  259. package/dist/tempo/session/client/CredentialState.d.ts +1 -1
  260. package/dist/tempo/session/client/CredentialState.js.map +1 -1
  261. package/dist/tempo/session/client/ReceiptCoordinator.js.map +1 -1
  262. package/dist/tempo/session/client/Runtime.js.map +1 -1
  263. package/dist/tempo/session/client/Session.d.ts +19 -19
  264. package/dist/tempo/session/client/Session.d.ts.map +1 -1
  265. package/dist/tempo/session/client/Session.js +128 -14
  266. package/dist/tempo/session/client/Session.js.map +1 -1
  267. package/dist/tempo/session/client/SessionManager.d.ts.map +1 -1
  268. package/dist/tempo/session/client/SessionManager.js +62 -20
  269. package/dist/tempo/session/client/SessionManager.js.map +1 -1
  270. package/dist/tempo/session/client/Transports.d.ts +9 -1
  271. package/dist/tempo/session/client/Transports.d.ts.map +1 -1
  272. package/dist/tempo/session/client/Transports.js +36 -13
  273. package/dist/tempo/session/client/Transports.js.map +1 -1
  274. package/dist/tempo/session/precompile/Chain.d.ts +27 -0
  275. package/dist/tempo/session/precompile/Chain.d.ts.map +1 -1
  276. package/dist/tempo/session/precompile/Chain.js +68 -7
  277. package/dist/tempo/session/precompile/Chain.js.map +1 -1
  278. package/dist/tempo/session/precompile/Protocol.js.map +1 -1
  279. package/dist/tempo/session/precompile/Voucher.d.ts +4 -4
  280. package/dist/tempo/session/precompile/Voucher.d.ts.map +1 -1
  281. package/dist/tempo/session/precompile/escrow.abi.d.ts +306 -306
  282. package/dist/tempo/session/precompile/escrow.abi.d.ts.map +1 -1
  283. package/dist/tempo/session/server/ChannelStore.d.ts +9 -0
  284. package/dist/tempo/session/server/ChannelStore.d.ts.map +1 -1
  285. package/dist/tempo/session/server/ChannelStore.js +16 -8
  286. package/dist/tempo/session/server/ChannelStore.js.map +1 -1
  287. package/dist/tempo/session/server/CredentialVerification.d.ts +30 -13
  288. package/dist/tempo/session/server/CredentialVerification.d.ts.map +1 -1
  289. package/dist/tempo/session/server/CredentialVerification.js +207 -13
  290. package/dist/tempo/session/server/CredentialVerification.js.map +1 -1
  291. package/dist/tempo/session/server/MeteredStream.d.ts +3 -0
  292. package/dist/tempo/session/server/MeteredStream.d.ts.map +1 -1
  293. package/dist/tempo/session/server/MeteredStream.js +3 -1
  294. package/dist/tempo/session/server/MeteredStream.js.map +1 -1
  295. package/dist/tempo/session/server/Session.d.ts +32 -21
  296. package/dist/tempo/session/server/Session.d.ts.map +1 -1
  297. package/dist/tempo/session/server/Session.js +116 -53
  298. package/dist/tempo/session/server/Session.js.map +1 -1
  299. package/dist/tempo/session/server/Sse.d.ts +3 -1
  300. package/dist/tempo/session/server/Sse.d.ts.map +1 -1
  301. package/dist/tempo/session/server/Sse.js +2 -1
  302. package/dist/tempo/session/server/Sse.js.map +1 -1
  303. package/dist/tempo/session/server/Transports.d.ts +1 -1
  304. package/dist/tempo/session/server/Transports.d.ts.map +1 -1
  305. package/dist/tempo/session/server/Transports.js +1 -0
  306. package/dist/tempo/session/server/Transports.js.map +1 -1
  307. package/dist/tempo/session/server/Ws.d.ts +6 -1
  308. package/dist/tempo/session/server/Ws.d.ts.map +1 -1
  309. package/dist/tempo/session/server/Ws.js +4 -0
  310. package/dist/tempo/session/server/Ws.js.map +1 -1
  311. package/dist/tempo/subscription/KeyAuthorization.d.ts +38 -866
  312. package/dist/tempo/subscription/KeyAuthorization.d.ts.map +1 -1
  313. package/dist/tempo/subscription/KeyAuthorization.js +14 -3
  314. package/dist/tempo/subscription/KeyAuthorization.js.map +1 -1
  315. package/dist/viem/Account.d.ts.map +1 -1
  316. package/dist/viem/Account.js.map +1 -1
  317. package/dist/viem/Client.d.ts.map +1 -1
  318. package/dist/viem/Client.js +6 -1
  319. package/dist/viem/Client.js.map +1 -1
  320. package/dist/web-bot-auth/Constants.d.ts +20 -0
  321. package/dist/web-bot-auth/Constants.d.ts.map +1 -0
  322. package/dist/web-bot-auth/Constants.js +24 -0
  323. package/dist/web-bot-auth/Constants.js.map +1 -0
  324. package/dist/web-bot-auth/Types.d.ts +10 -0
  325. package/dist/web-bot-auth/Types.d.ts.map +1 -0
  326. package/dist/web-bot-auth/Types.js +2 -0
  327. package/dist/web-bot-auth/Types.js.map +1 -0
  328. package/dist/web-bot-auth/client/index.d.ts +29 -0
  329. package/dist/web-bot-auth/client/index.d.ts.map +1 -0
  330. package/dist/web-bot-auth/client/index.js +64 -0
  331. package/dist/web-bot-auth/client/index.js.map +1 -0
  332. package/dist/web-bot-auth/index.d.ts +7 -0
  333. package/dist/web-bot-auth/index.d.ts.map +1 -0
  334. package/dist/web-bot-auth/index.js +7 -0
  335. package/dist/web-bot-auth/index.js.map +1 -0
  336. package/dist/web-bot-auth/internal/JwkThumbprint.d.ts +5 -0
  337. package/dist/web-bot-auth/internal/JwkThumbprint.d.ts.map +1 -0
  338. package/dist/web-bot-auth/internal/JwkThumbprint.js +20 -0
  339. package/dist/web-bot-auth/internal/JwkThumbprint.js.map +1 -0
  340. package/dist/web-bot-auth/internal/SignatureAgent.d.ts +3 -0
  341. package/dist/web-bot-auth/internal/SignatureAgent.d.ts.map +1 -0
  342. package/dist/web-bot-auth/internal/SignatureAgent.js +18 -0
  343. package/dist/web-bot-auth/internal/SignatureAgent.js.map +1 -0
  344. package/dist/web-bot-auth/server/index.d.ts +35 -0
  345. package/dist/web-bot-auth/server/index.d.ts.map +1 -0
  346. package/dist/web-bot-auth/server/index.js +88 -0
  347. package/dist/web-bot-auth/server/index.js.map +1 -0
  348. package/dist/x402/Assets.d.ts.map +1 -1
  349. package/dist/x402/Types.d.ts +6 -6
  350. package/dist/x402/Types.d.ts.map +1 -1
  351. package/dist/x402/server/EvmCharge.d.ts.map +1 -1
  352. package/dist/x402/server/EvmCharge.js +32 -20
  353. package/dist/x402/server/EvmCharge.js.map +1 -1
  354. package/package.json +20 -4
  355. package/src/Challenge.fuzz.test.ts +80 -47
  356. package/src/Challenge.test.ts +65 -0
  357. package/src/Challenge.ts +39 -35
  358. package/src/Method.ts +82 -68
  359. package/src/Store.test-d.ts +16 -0
  360. package/src/Store.test.ts +50 -0
  361. package/src/Store.ts +68 -0
  362. package/src/attestation/Attestation.integration.test.ts +208 -0
  363. package/src/attestation/Client.test.ts +83 -0
  364. package/src/attestation/Client.ts +34 -0
  365. package/src/attestation/Constants.ts +15 -0
  366. package/src/attestation/Server.test.ts +60 -0
  367. package/src/attestation/Server.ts +12 -0
  368. package/src/attestation/Types.test-d.ts +54 -0
  369. package/src/attestation/Types.ts +77 -0
  370. package/src/attestation/index.ts +5 -0
  371. package/src/attestation/internal/HttpMessageSignature.test.ts +101 -0
  372. package/src/attestation/internal/HttpMessageSignature.ts +429 -0
  373. package/src/attestation/internal/SigningContext.ts +13 -0
  374. package/src/bin.js +2 -0
  375. package/src/cli/cli.ts +1 -0
  376. package/src/cli/validate/payment.ts +18 -4
  377. package/src/cli/validate.test.ts +16 -0
  378. package/src/client/Mppx.test-d.ts +17 -0
  379. package/src/client/Mppx.test.ts +14 -14
  380. package/src/client/Mppx.ts +25 -4
  381. package/src/client/Transport.test.ts +12 -45
  382. package/src/client/Transport.ts +3 -24
  383. package/src/client/internal/Fetch.test.ts +77 -0
  384. package/src/client/internal/Fetch.ts +112 -14
  385. package/src/client/internal/MethodChallenge.ts +5 -0
  386. package/src/client/internal/MethodResponse.ts +28 -0
  387. package/src/discovery/OpenApi.test.ts +170 -0
  388. package/src/discovery/OpenApi.ts +16 -48
  389. package/src/discovery/internal/Metadata.ts +51 -0
  390. package/src/evm/server/Charge.ts +6 -1
  391. package/src/internal/AcceptPayment.test.ts +12 -8
  392. package/src/internal/types.ts +9 -0
  393. package/src/mcp/client/McpClient.integration.test.ts +19 -32
  394. package/src/middlewares/elysia.test.ts +2 -12
  395. package/src/middlewares/express.test.ts +2 -12
  396. package/src/middlewares/hono.test.ts +6 -9
  397. package/src/middlewares/nextjs.test.ts +2 -12
  398. package/src/proxy/Proxy.test.ts +26 -19
  399. package/src/proxy/Proxy.ts +147 -9
  400. package/src/proxy/Proxy.upstreamError.test.ts +364 -0
  401. package/src/proxy/Service.test.ts +73 -3
  402. package/src/proxy/Service.ts +50 -23
  403. package/src/proxy/services/anthropic.ts +1 -0
  404. package/src/proxy/services/hooks.test-d.ts +14 -0
  405. package/src/proxy/services/hooks.test.ts +44 -0
  406. package/src/proxy/services/openai.ts +1 -0
  407. package/src/proxy/services/stripe.ts +1 -0
  408. package/src/server/Methods.test-d.ts +88 -0
  409. package/src/server/Methods.test.ts +69 -0
  410. package/src/server/Mppx.test-d.ts +141 -7
  411. package/src/server/Mppx.test.ts +1017 -119
  412. package/src/server/Mppx.ts +350 -54
  413. package/src/stripe/internal/constants.ts +1 -1
  414. package/src/stripe/internal/types.ts +1 -0
  415. package/src/stripe/server/Charge.test-d.ts +16 -1
  416. package/src/stripe/server/Charge.test.ts +79 -0
  417. package/src/stripe/server/Charge.ts +54 -1
  418. package/src/stripe/server/Methods.test-d.ts +157 -0
  419. package/src/stripe/server/Methods.test.ts +403 -0
  420. package/src/stripe/server/Methods.ts +423 -6
  421. package/src/stripe/server/internal/deposit-address.ts +57 -0
  422. package/src/stripe/server/internal/html/node_modules/.bin/mppx +3 -3
  423. package/src/stripe/server/internal/html/package.json +1 -1
  424. package/src/stripe/server/internal/html.gen.ts +1 -1
  425. package/src/stripe/server/internal/record-payment.ts +66 -0
  426. package/src/stripe/server/internal/request.ts +49 -0
  427. package/src/tap/Constants.ts +32 -0
  428. package/src/tap/Tap.test.ts +125 -0
  429. package/src/tap/Types.ts +11 -0
  430. package/src/tap/client/index.ts +54 -0
  431. package/src/tap/index.ts +4 -0
  432. package/src/tap/server/index.ts +48 -0
  433. package/src/tempo/PublicExports.test-d.ts +3 -3
  434. package/src/tempo/client/Charge.ts +1 -19
  435. package/src/tempo/internal/address.test.ts +42 -0
  436. package/src/tempo/internal/address.ts +3 -3
  437. package/src/tempo/internal/auto-swap.test.ts +4 -4
  438. package/src/tempo/internal/auto-swap.ts +7 -50
  439. package/src/tempo/legacy/README.md +5 -5
  440. package/src/tempo/legacy/index.ts +1 -3
  441. package/src/tempo/server/AtomicStore.test-d.ts +13 -0
  442. package/src/tempo/server/Charge.test.ts +19 -84
  443. package/src/tempo/server/Charge.ts +92 -56
  444. package/src/tempo/server/Methods.ts +0 -20
  445. package/src/tempo/server/Relay.test.ts +161 -7
  446. package/src/tempo/server/Relay.ts +15 -6
  447. package/src/tempo/server/SponsorBudget.test.ts +29 -0
  448. package/src/tempo/server/SponsorBudget.ts +7 -1
  449. package/src/tempo/server/Subscription.ts +4 -1
  450. package/src/tempo/server/index.ts +1 -1
  451. package/src/tempo/server/internal/html/node_modules/.bin/mppx +3 -3
  452. package/src/tempo/server/internal/html/package.json +1 -1
  453. package/src/tempo/server/internal/html.gen.ts +1 -1
  454. package/src/tempo/server/internal/transport.test.ts +22 -3
  455. package/src/tempo/server/internal/transport.ts +15 -3
  456. package/src/tempo/session/README.md +119 -0
  457. package/src/tempo/session/client/Session.test.ts +299 -33
  458. package/src/tempo/session/client/Session.ts +152 -16
  459. package/src/tempo/session/client/SessionManager.test.ts +216 -9
  460. package/src/tempo/session/client/SessionManager.ts +63 -17
  461. package/src/tempo/session/client/Transports.test.ts +22 -0
  462. package/src/tempo/session/client/Transports.ts +58 -22
  463. package/src/tempo/session/precompile/Chain.ts +131 -11
  464. package/src/tempo/session/server/ChannelStore.ts +33 -12
  465. package/src/tempo/session/server/CredentialVerification.test.ts +4 -4
  466. package/src/tempo/session/server/CredentialVerification.ts +340 -28
  467. package/src/tempo/session/server/MeteredStream.ts +5 -1
  468. package/src/tempo/session/server/Session.test.ts +483 -36
  469. package/src/tempo/session/server/Session.ts +159 -60
  470. package/src/tempo/session/server/Sse.test.ts +77 -0
  471. package/src/tempo/session/server/Sse.ts +8 -1
  472. package/src/tempo/session/server/Transports.ts +2 -1
  473. package/src/tempo/session/server/Ws.test.ts +171 -0
  474. package/src/tempo/session/server/Ws.ts +10 -1
  475. package/src/tempo/subscription/KeyAuthorization.test.ts +70 -1
  476. package/src/tempo/subscription/KeyAuthorization.ts +14 -3
  477. package/src/viem/Client.test.ts +18 -1
  478. package/src/viem/Client.ts +7 -1
  479. package/src/web-bot-auth/Constants.ts +24 -0
  480. package/src/web-bot-auth/Types.ts +9 -0
  481. package/src/web-bot-auth/WebBotAuth.test.ts +182 -0
  482. package/src/web-bot-auth/client/index.ts +84 -0
  483. package/src/web-bot-auth/index.ts +6 -0
  484. package/src/web-bot-auth/internal/JwkThumbprint.ts +21 -0
  485. package/src/web-bot-auth/internal/SignatureAgent.ts +18 -0
  486. package/src/web-bot-auth/server/index.ts +113 -0
  487. package/src/x402/Exact.e2e.test.ts +121 -81
  488. package/src/x402/Exact.localnet.test.ts +1 -1
  489. package/src/x402/server/EvmCharge.ts +35 -19
  490. package/dist/tempo/legacy/server/Session.d.ts +0 -208
  491. package/dist/tempo/legacy/server/Session.d.ts.map +0 -1
  492. package/dist/tempo/legacy/server/Session.js +0 -698
  493. package/dist/tempo/legacy/server/Session.js.map +0 -1
  494. package/dist/tempo/legacy/server/index.d.ts +0 -5
  495. package/dist/tempo/legacy/server/index.d.ts.map +0 -1
  496. package/dist/tempo/legacy/server/index.js +0 -5
  497. package/dist/tempo/legacy/server/index.js.map +0 -1
  498. package/dist/tempo/legacy/session/ChannelStore.d.ts +0 -22
  499. package/dist/tempo/legacy/session/ChannelStore.d.ts.map +0 -1
  500. package/dist/tempo/legacy/session/ChannelStore.js +0 -6
  501. package/dist/tempo/legacy/session/ChannelStore.js.map +0 -1
  502. package/src/tempo/legacy/server/Defaults.test-d.ts +0 -9
  503. package/src/tempo/legacy/server/Session.test.ts +0 -6370
  504. package/src/tempo/legacy/server/Session.ts +0 -1024
  505. package/src/tempo/legacy/server/index.ts +0 -4
  506. package/src/tempo/legacy/session/ChannelStore.test.ts +0 -58
  507. package/src/tempo/legacy/session/ChannelStore.ts +0 -39
@@ -1 +1 @@
1
- {"version":3,"file":"Charge.d.ts","sourceRoot":"","sources":["../../../src/stripe/server/Charge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,KAAK,UAAU,MAAM,qBAAqB,CAAA;AAOtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACjG,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,KAAK,IAAI,MAAM,sCAAsC,CAAA;AACjE,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,EACV,YAAY,EACZ,+BAA+B,EAC/B,yBAAyB,EACzB,2BAA2B,EAC5B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AAGxC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,MAAM,CAAC,KAAK,CAAC,UAAU,SAAS,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEA8HxF;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAA;IAErF,KAAK,UAAU,GAAG;QAChB,6EAA6E;QAC7E,IAAI,CAAC,EACD,CAAC;YACC,cAAc,EAAE,MAAM,CAAA;YACtB,QAAQ,CAAC,EACL;gBACE,OAAO,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAA;gBAC/C,cAAc,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAA;gBACxD,0BAA0B,CAAC,EAAE,+BAA+B,GAAG,SAAS,CAAA;aACzE,GACD,SAAS,CAAA;YACb,cAAc,EAAE,MAAM,CAAA;SACvB,GAAG,IAAI,CAAC,MAAM,CAAC,GAChB,SAAS,CAAA;QACb,6DAA6D;QAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;QAC7C,6FAA6F;QAC7F,OAAO,CAAC,EAAE,iBAAiB,GAAG,wBAAwB,GAAG,SAAS,CAAA;KACnE,GAAG,QAAQ,GACV,KAAK,CACD;QACE,yGAAyG;QACzG,MAAM,EAAE,YAAY,CAAA;KACrB,GACD;QACE,6BAA6B;QAC7B,SAAS,EAAE,MAAM,CAAA;KAClB,CACJ,CAAA;IAEH;;;;;OAKG;IACH,KAAK,cAAc,CAAC,UAAU,SAAS,UAAU,IAAI,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAE7F;;;;OAIG;IACH,KAAK,iBAAiB,GAAG;QACvB,4EAA4E;QAC5E,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAClC,qEAAqE;QACrE,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzC,wDAAwD;QACxD,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC/B,2DAA2D;QAC3D,YAAY,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;QAC/E,kEAAkE;QAClE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACnC,CAAA;IAED,KAAK,wBAAwB,GAAG,CAAC,UAAU,EAAE;QAC3C,SAAS,EAAE,SAAS,CAAC,SAAS,CAC5B,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAC9C,QAAQ,EACR,QAAQ,CACT,CAAA;QACD,UAAU,EAAE,UAAU,CAAC,UAAU,CAC/B,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EACzD,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CACxF,CAAA;QACD,QAAQ,CAAC,EACL,MAAM,CAAC,yBAAyB,CAC9B,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EACzD,QAAQ,EACR,QAAQ,CACT,GACD,SAAS,CAAA;QACb,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;KACxD,KAAK,YAAY,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAA;CAClD"}
1
+ {"version":3,"file":"Charge.d.ts","sourceRoot":"","sources":["../../../src/stripe/server/Charge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,KAAK,UAAU,MAAM,qBAAqB,CAAA;AAOtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACjG,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,KAAK,IAAI,MAAM,sCAAsC,CAAA;AACjE,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,EACV,YAAY,EACZ,+BAA+B,EAC/B,yBAAyB,EACzB,2BAA2B,EAC5B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AA6CxC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,MAAM,CAAC,KAAK,CAAC,UAAU,SAAS,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEAwIxF;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAA;IAErF,KAAK,UAAU,GAAG;QAChB,6EAA6E;QAC7E,IAAI,CAAC,EACD,CAAC;YACC,cAAc,EAAE,MAAM,CAAA;YACtB,QAAQ,CAAC,EACL;gBACE,OAAO,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAA;gBAC/C,cAAc,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAA;gBACxD,0BAA0B,CAAC,EAAE,+BAA+B,GAAG,SAAS,CAAA;aACzE,GACD,SAAS,CAAA;YACb,cAAc,EAAE,MAAM,CAAA;SACvB,GAAG,IAAI,CAAC,MAAM,CAAC,GAChB,SAAS,CAAA;QACb,6DAA6D;QAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;QAC7C,6FAA6F;QAC7F,OAAO,CAAC,EAAE,iBAAiB,GAAG,wBAAwB,GAAG,SAAS,CAAA;KACnE,GAAG,MAAM,CAAC,eAAe,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,GAC/C,QAAQ,GACR,KAAK,CACD;QACE,yGAAyG;QACzG,MAAM,EAAE,YAAY,CAAA;KACrB,GACD;QACE,6BAA6B;QAC7B,SAAS,EAAE,MAAM,CAAA;KAClB,CACJ,CAAA;IAEH;;;;;OAKG;IACH,KAAK,cAAc,CAAC,UAAU,SAAS,UAAU,IAAI,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAE7F;;;;OAIG;IACH,KAAK,iBAAiB,GAAG;QACvB,4EAA4E;QAC5E,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAClC,qEAAqE;QACrE,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzC,wDAAwD;QACxD,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC/B,2DAA2D;QAC3D,YAAY,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;QAC/E,kEAAkE;QAClE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACnC,CAAA;IAED,KAAK,wBAAwB,GAAG,CAAC,UAAU,EAAE;QAC3C,SAAS,EAAE,SAAS,CAAC,SAAS,CAC5B,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAC9C,QAAQ,EACR,QAAQ,CACT,CAAA;QACD,UAAU,EAAE,UAAU,CAAC,UAAU,CAC/B,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EACzD,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CACxF,CAAA;QACD,QAAQ,CAAC,EACL,MAAM,CAAC,yBAAyB,CAC9B,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EACzD,QAAQ,EACR,QAAQ,CACT,GACD,SAAS,CAAA;QACb,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;KACxD,KAAK,YAAY,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAA;CAClD"}
@@ -4,6 +4,47 @@ import * as Method from '../../Method.js';
4
4
  import { stripePreviewVersion } from '../internal/constants.js';
5
5
  import * as Methods from '../Methods.js';
6
6
  import { html as htmlContent } from './internal/html.gen.js';
7
+ /**
8
+ * Stripe's general minimum charge amounts in each currency's smallest unit.
9
+ * Payment methods with lower provider-specific exceptions remain conservatively
10
+ * subject to the general minimum.
11
+ *
12
+ * @see https://docs.stripe.com/currencies#minimum-and-maximum-charge-amounts
13
+ */
14
+ const minimumChargeAmountByCurrency = {
15
+ aed: 200n,
16
+ ars: 50n,
17
+ aud: 50n,
18
+ bgn: 100n,
19
+ brl: 50n,
20
+ cad: 50n,
21
+ chf: 50n,
22
+ cop: 50n,
23
+ czk: 1500n,
24
+ dkk: 250n,
25
+ eur: 50n,
26
+ gbp: 30n,
27
+ hkd: 400n,
28
+ huf: 17500n,
29
+ idr: 50n,
30
+ ils: 50n,
31
+ inr: 50n,
32
+ jpy: 50n,
33
+ krw: 50n,
34
+ mxn: 1000n,
35
+ myr: 200n,
36
+ nok: 300n,
37
+ nzd: 50n,
38
+ php: 50n,
39
+ pln: 200n,
40
+ ron: 200n,
41
+ rub: 50n,
42
+ sek: 300n,
43
+ sgd: 50n,
44
+ thb: 1000n,
45
+ usd: 50n,
46
+ zar: 50n,
47
+ };
7
48
  /**
8
49
  * Creates a Stripe charge method intent for usage on the server.
9
50
  *
@@ -30,7 +71,7 @@ import { html as htmlContent } from './internal/html.gen.js';
30
71
  * ```
31
72
  */
32
73
  export function charge(parameters) {
33
- const { amount, currency, decimals, description, externalId, html: { text: htmlText, theme: htmlTheme, ...htmlConfig } = {}, metadata, networkId, paymentMethodTypes, } = parameters;
74
+ const { amount, canOffer, onPaymentSuccess, currency, decimals, description, externalId, html: { text: htmlText, theme: htmlTheme, ...htmlConfig } = {}, metadata, networkId, paymentMethodTypes, } = parameters;
34
75
  const client = 'client' in parameters ? parameters.client : undefined;
35
76
  const connect = parameters.connect;
36
77
  const secretKey = 'secretKey' in parameters ? parameters.secretKey : undefined;
@@ -67,6 +108,13 @@ export function charge(parameters) {
67
108
  theme: htmlTheme,
68
109
  }
69
110
  : undefined,
111
+ async canOffer(context) {
112
+ const minimum = minimumChargeAmountByCurrency[context.request.currency.toLowerCase()];
113
+ if (minimum !== undefined && BigInt(context.request.amount) < minimum)
114
+ return false;
115
+ return (await canOffer?.(context)) ?? true;
116
+ },
117
+ onPaymentSuccess,
70
118
  async verify({ credential, envelope, request }) {
71
119
  const { challenge } = credential;
72
120
  const resolvedRequest = (() => {
@@ -1 +1 @@
1
- {"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../src/stripe/server/Charge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../src/stripe/server/Charge.ts"],"names":[],"mappings":"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"}
@@ -1,63 +1,152 @@
1
+ import { charge as evmCharge } from '../../evm/server/Charge.js';
2
+ import type * as Method from '../../Method.js';
3
+ import { charge as tempoCharge } from '../../tempo/server/Charge.js';
4
+ import { session as tempoSession } from '../../tempo/session/server/Session.js';
5
+ import type { StripeClient } from '../internal/types.js';
1
6
  import { charge as charge_ } from './Charge.js';
7
+ import { findOrCreateDepositAddress as _findOrCreateDepositAddress } from './internal/deposit-address.js';
8
+ import { type ConnectConfig } from './internal/request.js';
9
+ export declare namespace stripe {
10
+ type Network = 'tempo' | 'base' | 'solana';
11
+ type DepositAddress<N extends Network = Network> = string & {
12
+ readonly __brand: 'StripeDepositAddress';
13
+ readonly __network: N;
14
+ };
15
+ type Parameters = {
16
+ client: StripeClient;
17
+ networkId: string;
18
+ livemode: boolean;
19
+ connect?: ConnectConfig;
20
+ depositAddresses?: Partial<Record<Network, string>> | ((network: Network) => Promise<string>);
21
+ metadata?: Record<string, string> | undefined;
22
+ };
23
+ }
24
+ type CustomRailFactory = (address: string) => Method.AnyServer | readonly Method.AnyServer[];
25
+ type ServerOf<N extends string, I extends string> = Omit<Method.AnyServer, 'name' | 'intent'> & {
26
+ name: N;
27
+ intent: I;
28
+ };
29
+ type TempoServer = ServerOf<'tempo', 'charge'>;
30
+ type TempoSessionServer = ServerOf<'tempo', 'session'>;
31
+ type SptServer = ServerOf<'stripe', 'charge'>;
32
+ type EvmServer = ServerOf<'evm', 'charge'>;
33
+ type BaseConfig = {
34
+ x402: NonNullable<Parameters<typeof evmCharge>[0]['x402']>;
35
+ } & Partial<Omit<Parameters<typeof evmCharge>[0], 'currency' | 'recipient' | 'x402'>>;
36
+ type CustomRailNetwork = Exclude<stripe.Network, 'tempo' | 'base'>;
37
+ type AdditionalConfig = {
38
+ base?: BaseConfig;
39
+ tempo?: {
40
+ session: Omit<tempoSession.Parameters, 'currency' | 'recipient'>;
41
+ };
42
+ } & {
43
+ [K in CustomRailNetwork]?: CustomRailFactory;
44
+ };
45
+ type DefaultMethods = readonly [TempoServer, SptServer];
46
+ type DefaultMethodsWithAdditional<C extends AdditionalConfig> = readonly [
47
+ TempoServer,
48
+ SptServer,
49
+ ...(C extends {
50
+ base: object;
51
+ } ? [EvmServer] : []),
52
+ ...(C extends {
53
+ tempo: {
54
+ session: any;
55
+ };
56
+ } ? [TempoSessionServer] : [])
57
+ ];
58
+ type DefaultMethodName = 'tempo' | 'spt';
59
+ type DefaultMethodsConfig = {
60
+ exclude?: DefaultMethodName[];
61
+ };
62
+ type SyncMethodsResult = DefaultMethods & {
63
+ additional<C extends AdditionalConfig>(config: C): DefaultMethodsWithAdditional<C>;
64
+ };
65
+ interface StripeMachinePayments<P extends stripe.Parameters = stripe.Parameters> {
66
+ spt: {
67
+ charge: (params?: {
68
+ paymentMethodTypes?: string[];
69
+ }) => SptServer;
70
+ };
71
+ tempo: {
72
+ charge: (params: {
73
+ recipient: stripe.DepositAddress<'tempo'>;
74
+ metadata?: Record<string, string>;
75
+ } & Partial<Omit<Parameters<typeof tempoCharge>[0], 'currency' | 'recipient'>>) => TempoServer;
76
+ session: (params: {
77
+ recipient: stripe.DepositAddress<'tempo'>;
78
+ } & Omit<tempoSession.Parameters, 'currency' | 'recipient'>) => TempoSessionServer;
79
+ };
80
+ base: {
81
+ charge: (params: {
82
+ recipient: stripe.DepositAddress<'base'>;
83
+ metadata?: Record<string, string>;
84
+ } & BaseConfig) => EvmServer;
85
+ };
86
+ findOrCreateDepositAddress: <N extends stripe.Network>(network: N) => Promise<stripe.DepositAddress<N>>;
87
+ defaultMethods: (config?: DefaultMethodsConfig) => P['depositAddresses'] extends Partial<Record<stripe.Network, string>> ? SyncMethodsResult : DefaultMethodsBuilder;
88
+ }
89
+ declare class DefaultMethodsBuilder implements PromiseLike<DefaultMethods> {
90
+ #private;
91
+ constructor(resolve: (additional?: AdditionalConfig) => Promise<any>);
92
+ additional<C extends AdditionalConfig>(config: C): PromiseLike<DefaultMethodsWithAdditional<C>>;
93
+ then<T = DefaultMethods, U = never>(onfulfilled?: ((value: DefaultMethods) => T | PromiseLike<T>) | null, onrejected?: ((reason: unknown) => U | PromiseLike<U>) | null): Promise<T | U>;
94
+ }
2
95
  /**
3
- * Creates a Stripe `charge` method for usage on the server.
96
+ * Creates a configured Stripe machine payments instance.
4
97
  *
5
98
  * @example
6
99
  * ```ts
7
100
  * import { Mppx, stripe } from 'mppx/server'
8
101
  *
102
+ * const machinePayments = stripe.create({
103
+ * client: stripeClient,
104
+ * networkId: process.env.STRIPE_PROFILE_ID!,
105
+ * livemode: !process.env.STRIPE_SECRET_KEY!.includes('_test_'),
106
+ * })
107
+ *
108
+ * // Async: deposit addresses resolved from Stripe API
9
109
  * const mppx = Mppx.create({
10
- * methods: [stripe({ secretKey: 'sk_...' })],
110
+ * methods: await machinePayments.defaultMethods(),
111
+ * secretKey: mppSecretKey,
112
+ * })
113
+ * ```
114
+ *
115
+ * @example
116
+ * ```ts
117
+ * // Sync: deposit addresses provided statically
118
+ * const machinePayments = stripe.create({
119
+ * client: stripeClient,
120
+ * networkId: process.env.STRIPE_PROFILE_ID!,
121
+ * livemode: !process.env.STRIPE_SECRET_KEY!.includes('_test_'),
122
+ * depositAddresses: { tempo: process.env.TEMPO_DEPOSIT_ADDRESS! },
123
+ * })
124
+ *
125
+ * const mppx = Mppx.create({
126
+ * methods: machinePayments.defaultMethods(),
127
+ * secretKey: mppSecretKey,
128
+ * })
129
+ * ```
130
+ *
131
+ * @example
132
+ * ```ts
133
+ * // With additional custom rails
134
+ * const mppx = Mppx.create({
135
+ * methods: await machinePayments.defaultMethods().additional({
136
+ * base: { x402: { facilitator } },
137
+ * solana: (address) => solana.charge({ recipient: address, currency: USDC, decimals: 6 }),
138
+ * }),
139
+ * secretKey: mppSecretKey,
11
140
  * })
12
141
  * ```
13
142
  */
14
- export declare function stripe<const parameters extends stripe.Parameters>(parameters: parameters): readonly [import("../../Method.js").Server<{
15
- readonly name: "stripe";
16
- readonly intent: "charge";
17
- readonly schema: {
18
- readonly credential: {
19
- readonly payload: import("zod/mini").ZodMiniObject<{
20
- externalId: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
21
- spt: import("zod/mini").ZodMiniString<string>;
22
- }, import("zod/v4/core").$strip>;
23
- };
24
- readonly request: import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniObject<{
25
- amount: import("zod/mini").ZodMiniString<string>;
26
- currency: import("zod/mini").ZodMiniString<string>;
27
- decimals: import("zod/mini").ZodMiniNumber<number>;
28
- description: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
29
- externalId: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
30
- metadata: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniRecord<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniString<string>>>;
31
- networkId: import("zod/mini").ZodMiniString<string>;
32
- paymentMethodTypes: import("zod/mini").ZodMiniArray<import("zod/mini").ZodMiniString<string>>;
33
- recipient: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
34
- }, import("zod/v4/core").$strip>, import("zod/mini").ZodMiniTransform<{
35
- amount: string;
36
- methodDetails: {
37
- metadata?: Record<string, string> | undefined;
38
- networkId: string;
39
- paymentMethodTypes: string[];
40
- };
41
- currency: string;
42
- description?: string | undefined;
43
- externalId?: string | undefined;
44
- recipient?: string | undefined;
45
- }, {
46
- amount: string;
47
- currency: string;
48
- decimals: number;
49
- networkId: string;
50
- paymentMethodTypes: string[];
51
- description?: string | undefined;
52
- externalId?: string | undefined;
53
- metadata?: Record<string, string> | undefined;
54
- recipient?: string | undefined;
55
- }>>;
56
- };
57
- }, charge_.DeriveDefaults<parameters>, undefined, {}, undefined>];
143
+ export declare function stripe<const P extends stripe.Parameters>(parameters: P): StripeMachinePayments<P>;
58
144
  export declare namespace stripe {
59
- type Parameters = charge_.Parameters;
60
- /** Creates a Stripe `charge` method for SPT-based payments. */
145
+ const spt: typeof charge_;
146
+ /** @deprecated Use `stripe.spt()` instead. */
61
147
  const charge: typeof charge_;
148
+ const create: typeof stripe;
149
+ const findOrCreateDepositAddress: typeof _findOrCreateDepositAddress;
62
150
  }
151
+ export {};
63
152
  //# sourceMappingURL=Methods.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Methods.d.ts","sourceRoot":"","sources":["../../../src/stripe/server/Methods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAA;AAE/C;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,KAAK,CAAC,UAAU,SAAS,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kEAExF;AAED,yBAAiB,MAAM,CAAC;IACtB,KAAY,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;IAE3C,+DAA+D;IACxD,MAAM,MAAM,gBAAU,CAAA;CAC9B"}
1
+ {"version":3,"file":"Methods.d.ts","sourceRoot":"","sources":["../../../src/stripe/server/Methods.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,276 @@
1
+ import * as EvmAssets from '../../evm/Assets.js';
2
+ import { charge as evmCharge } from '../../evm/server/Charge.js';
3
+ import * as tempoDefaults from '../../tempo/internal/defaults.js';
4
+ import { charge as tempoCharge } from '../../tempo/server/Charge.js';
5
+ import { session as tempoSession } from '../../tempo/session/server/Session.js';
1
6
  import { charge as charge_ } from './Charge.js';
7
+ import { findOrCreateDepositAddress as _findOrCreateDepositAddress } from './internal/deposit-address.js';
8
+ import { recordCryptoPayment } from './internal/record-payment.js';
9
+ const defaultMethodNames = ['tempo', 'spt'];
10
+ const additionalBuiltinKeys = ['base', 'tempo'];
11
+ class DefaultMethodsBuilder {
12
+ #resolve;
13
+ #additional;
14
+ constructor(resolve) {
15
+ this.#resolve = resolve;
16
+ }
17
+ additional(config) {
18
+ this.#additional = config;
19
+ return this;
20
+ }
21
+ then(onfulfilled, onrejected) {
22
+ return this.#resolve(this.#additional).then(onfulfilled, onrejected);
23
+ }
24
+ }
2
25
  /**
3
- * Creates a Stripe `charge` method for usage on the server.
26
+ * Creates a configured Stripe machine payments instance.
4
27
  *
5
28
  * @example
6
29
  * ```ts
7
30
  * import { Mppx, stripe } from 'mppx/server'
8
31
  *
32
+ * const machinePayments = stripe.create({
33
+ * client: stripeClient,
34
+ * networkId: process.env.STRIPE_PROFILE_ID!,
35
+ * livemode: !process.env.STRIPE_SECRET_KEY!.includes('_test_'),
36
+ * })
37
+ *
38
+ * // Async: deposit addresses resolved from Stripe API
39
+ * const mppx = Mppx.create({
40
+ * methods: await machinePayments.defaultMethods(),
41
+ * secretKey: mppSecretKey,
42
+ * })
43
+ * ```
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * // Sync: deposit addresses provided statically
48
+ * const machinePayments = stripe.create({
49
+ * client: stripeClient,
50
+ * networkId: process.env.STRIPE_PROFILE_ID!,
51
+ * livemode: !process.env.STRIPE_SECRET_KEY!.includes('_test_'),
52
+ * depositAddresses: { tempo: process.env.TEMPO_DEPOSIT_ADDRESS! },
53
+ * })
54
+ *
9
55
  * const mppx = Mppx.create({
10
- * methods: [stripe({ secretKey: 'sk_...' })],
56
+ * methods: machinePayments.defaultMethods(),
57
+ * secretKey: mppSecretKey,
58
+ * })
59
+ * ```
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * // With additional custom rails
64
+ * const mppx = Mppx.create({
65
+ * methods: await machinePayments.defaultMethods().additional({
66
+ * base: { x402: { facilitator } },
67
+ * solana: (address) => solana.charge({ recipient: address, currency: USDC, decimals: 6 }),
68
+ * }),
69
+ * secretKey: mppSecretKey,
11
70
  * })
12
71
  * ```
13
72
  */
14
73
  export function stripe(parameters) {
15
- return [stripe.charge(parameters)];
74
+ const { client, networkId, livemode, connect, depositAddresses, metadata } = parameters;
75
+ if (!client.rawRequest)
76
+ throw new Error('stripe.create() requires a Stripe SDK client with rawRequest() (v15+)');
77
+ const tempoCurrency = (livemode ? tempoDefaults.tokens.usdc : tempoDefaults.tokens.pathUsd);
78
+ const tempoPaymentHandler = createPaymentSuccessHandler(client, 'tempo', connect, metadata);
79
+ const basePaymentHandler = createPaymentSuccessHandler(client, 'base', connect, metadata);
80
+ // All stripe-managed crypto rails use 6-decimal stablecoins. Reject amounts
81
+ // below 1 cent since Stripe cannot record them.
82
+ const cryptoCanOffer = ({ request }) => Number(request.amount) >= 10_000;
83
+ function makeSptCharge(params) {
84
+ return charge_({
85
+ client,
86
+ networkId,
87
+ currency: 'usd',
88
+ decimals: 2,
89
+ paymentMethodTypes: params?.paymentMethodTypes ?? ['card', 'link'],
90
+ ...(connect && { connect }),
91
+ ...(metadata && { metadata }),
92
+ });
93
+ }
94
+ function makeTempoCharge(params) {
95
+ const { recipient, metadata: callMetadata, ...rest } = params;
96
+ const handler = callMetadata
97
+ ? createPaymentSuccessHandler(client, 'tempo', connect, { ...metadata, ...callMetadata })
98
+ : tempoPaymentHandler;
99
+ return tempoCharge({
100
+ currency: tempoCurrency,
101
+ recipient,
102
+ ...(!livemode && { testnet: true }),
103
+ canOffer: cryptoCanOffer,
104
+ onPaymentSuccess: handler,
105
+ ...rest,
106
+ });
107
+ }
108
+ function makeTempoSession(params) {
109
+ const { recipient, ...rest } = params;
110
+ return tempoSession({
111
+ currency: tempoCurrency,
112
+ recipient,
113
+ ...(!livemode && { testnet: true }),
114
+ ...rest,
115
+ });
116
+ }
117
+ function makeBaseCharge(params) {
118
+ const { recipient, x402, metadata: callMetadata, ...rest } = params;
119
+ const handler = callMetadata
120
+ ? createPaymentSuccessHandler(client, 'base', connect, { ...metadata, ...callMetadata })
121
+ : basePaymentHandler;
122
+ return evmCharge({
123
+ currency: livemode ? EvmAssets.base.USDC : EvmAssets.baseSepolia.USDC,
124
+ recipient,
125
+ x402,
126
+ canOffer: cryptoCanOffer,
127
+ onPaymentSuccess: handler,
128
+ ...rest,
129
+ });
130
+ }
131
+ const defaultMethodBuilders = {
132
+ tempo: (addresses) => {
133
+ const address = addresses.get('tempo');
134
+ if (!address)
135
+ return null;
136
+ return makeTempoCharge({ recipient: address });
137
+ },
138
+ spt: () => makeSptCharge(),
139
+ };
140
+ const additionalBuilders = {
141
+ base: (addresses, config) => {
142
+ if (!config.base)
143
+ return null;
144
+ const address = addresses.get('base');
145
+ if (!address)
146
+ return null;
147
+ return makeBaseCharge({ recipient: address, ...config.base });
148
+ },
149
+ tempo: (addresses, config) => {
150
+ if (!config.tempo?.session)
151
+ return null;
152
+ const address = addresses.get('tempo');
153
+ if (!address)
154
+ return null;
155
+ return makeTempoSession({ recipient: address, ...config.tempo.session });
156
+ },
157
+ };
158
+ function createMethodsFromAddresses(addresses, excluded, additional) {
159
+ const result = [];
160
+ for (const name of defaultMethodNames) {
161
+ if (excluded.has(name))
162
+ continue;
163
+ const method = defaultMethodBuilders[name](addresses);
164
+ if (method)
165
+ result.push(method);
166
+ }
167
+ if (additional) {
168
+ for (const key of Object.keys(additionalBuilders)) {
169
+ const method = additionalBuilders[key](addresses, additional);
170
+ if (method)
171
+ result.push(method);
172
+ }
173
+ for (const [network, factory] of customRails(additional)) {
174
+ const address = requireAddress(addresses, network);
175
+ const recorder = createPaymentSuccessHandler(client, network, connect, metadata);
176
+ for (const m of toArray(factory(address))) {
177
+ const onPaymentSuccess = m.onPaymentSuccess
178
+ ? (params) => Promise.all([m.onPaymentSuccess(params), recorder(params)]).then(() => { })
179
+ : recorder;
180
+ const canOffer = m.canOffer
181
+ ? (params) => cryptoCanOffer(params) && m.canOffer(params)
182
+ : cryptoCanOffer;
183
+ result.push({ ...m, canOffer, onPaymentSuccess });
184
+ }
185
+ }
186
+ }
187
+ return result;
188
+ }
189
+ function resolveAddress(network) {
190
+ if (typeof depositAddresses === 'function')
191
+ return depositAddresses(network);
192
+ return _findOrCreateDepositAddress(client, network, connect ? { connect } : undefined);
193
+ }
194
+ function defaultMethods(config) {
195
+ const excluded = new Set(config?.exclude);
196
+ if (depositAddresses && typeof depositAddresses !== 'function') {
197
+ // Sync: static deposit addresses provided at stripe.create() time
198
+ const addresses = new Map(Object.entries(depositAddresses));
199
+ return Object.assign(createMethodsFromAddresses(addresses, excluded), {
200
+ additional: (additional) => createMethodsFromAddresses(addresses, excluded, additional),
201
+ });
202
+ }
203
+ else {
204
+ // Async: resolve addresses dynamically
205
+ return new DefaultMethodsBuilder(async (additional) => {
206
+ const networks = neededNetworks(excluded, additional);
207
+ const results = await Promise.all(networks.map(async (network) => ({
208
+ network,
209
+ address: await resolveAddress(network),
210
+ })));
211
+ const addresses = new Map(results.map(({ network, address }) => [network, address]));
212
+ return createMethodsFromAddresses(addresses, excluded, additional);
213
+ });
214
+ }
215
+ }
216
+ return {
217
+ spt: { charge: makeSptCharge },
218
+ tempo: { charge: makeTempoCharge, session: makeTempoSession },
219
+ base: { charge: makeBaseCharge },
220
+ findOrCreateDepositAddress: async (network) => {
221
+ const address = await resolveAddress(network);
222
+ return address;
223
+ },
224
+ defaultMethods,
225
+ };
16
226
  }
17
227
  (function (stripe) {
18
- /** Creates a Stripe `charge` method for SPT-based payments. */
228
+ stripe.spt = charge_;
229
+ /** @deprecated Use `stripe.spt()` instead. */
19
230
  stripe.charge = charge_;
231
+ stripe.create = stripe;
232
+ stripe.findOrCreateDepositAddress = _findOrCreateDepositAddress;
20
233
  })(stripe || (stripe = {}));
234
+ function neededNetworks(excluded, additional) {
235
+ const networks = [];
236
+ if (!excluded.has('tempo') || additional?.tempo?.session)
237
+ networks.push('tempo');
238
+ if (additional?.base)
239
+ networks.push('base');
240
+ for (const [network] of customRails(additional)) {
241
+ networks.push(network);
242
+ }
243
+ return networks;
244
+ }
245
+ function requireAddress(addresses, network) {
246
+ const address = addresses.get(network);
247
+ if (!address)
248
+ throw new Error(`stripe: missing deposit address for ${network}`);
249
+ return address;
250
+ }
251
+ function toArray(value) {
252
+ return Array.isArray(value) ? value : [value];
253
+ }
254
+ function customRails(additional) {
255
+ if (!additional)
256
+ return [];
257
+ return Object.entries(additional).filter((entry) => {
258
+ const [k, v] = entry;
259
+ return !additionalBuiltinKeys.includes(k) && typeof v === 'function';
260
+ });
261
+ }
262
+ function createPaymentSuccessHandler(client, network, connect, metadata) {
263
+ return (params) => {
264
+ const { receipt, request } = params;
265
+ if (receipt?.reference && request?.amount) {
266
+ return recordCryptoPayment(client, {
267
+ network,
268
+ reference: receipt.reference,
269
+ amount: String(request.amount),
270
+ ...(connect && { connect }),
271
+ ...(metadata && { metadata }),
272
+ });
273
+ }
274
+ };
275
+ }
21
276
  //# sourceMappingURL=Methods.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Methods.js","sourceRoot":"","sources":["../../../src/stripe/server/Methods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAA;AAE/C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,MAAM,CAA6C,UAAsB;IACvF,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAU,CAAA;AAC7C,CAAC;AAED,WAAiB,MAAM;IAGrB,+DAA+D;IAClD,aAAM,GAAG,OAAO,CAAA;AAC/B,CAAC,EALgB,MAAM,KAAN,MAAM,QAKtB"}
1
+ {"version":3,"file":"Methods.js","sourceRoot":"","sources":["../../../src/stripe/server/Methods.ts"],"names":[],"mappings":"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"}