mppx 0.8.15 → 0.8.18

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 (966) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/README.md +15 -0
  3. package/dist/Challenge.js +61 -39
  4. package/dist/Constants.d.ts +17 -17
  5. package/dist/Errors.d.ts +3 -3
  6. package/dist/Method.d.ts +35 -5
  7. package/dist/Method.js +7 -22
  8. package/dist/Store.d.ts +19 -0
  9. package/dist/Store.js +43 -0
  10. package/dist/attestation/Client.d.ts +17 -0
  11. package/dist/attestation/Client.js +28 -0
  12. package/dist/attestation/Constants.d.ts +15 -0
  13. package/dist/attestation/Constants.js +15 -0
  14. package/dist/attestation/Server.d.ts +4 -0
  15. package/dist/attestation/Server.js +8 -0
  16. package/dist/attestation/Types.d.ts +76 -0
  17. package/dist/attestation/Types.js +2 -0
  18. package/dist/attestation/index.d.ts +6 -0
  19. package/dist/attestation/index.js +6 -0
  20. package/dist/attestation/internal/HttpMessageSignature.d.ts +73 -0
  21. package/dist/attestation/internal/HttpMessageSignature.js +320 -0
  22. package/dist/attestation/internal/SigningContext.d.ts +4 -0
  23. package/dist/attestation/internal/SigningContext.js +11 -0
  24. package/dist/bin.js +3 -3
  25. package/dist/cli/THIRD-PARTY-LICENSES.txt +328 -0
  26. package/dist/cli/account.d.ts +14 -14
  27. package/dist/cli/cli.d.ts +6 -6
  28. package/dist/cli/cli.js +253 -1504
  29. package/dist/cli/plugins/index.js +19 -5
  30. package/dist/cli/plugins/tempo.js +7 -3
  31. package/dist/cli/sessions/Manager.js +7 -4
  32. package/dist/cli/sessions/commands.d.ts +4 -4
  33. package/dist/cli/sessions/request.d.ts +2 -0
  34. package/dist/cli/sessions/request.js +18 -0
  35. package/dist/cli/sessions/store.js +28 -14
  36. package/dist/cli/utils.d.ts +1 -1
  37. package/dist/cli/validate/index.d.ts +3 -3
  38. package/dist/client/Mppx.d.ts +3 -0
  39. package/dist/client/Mppx.js +13 -5
  40. package/dist/client/Transport.d.ts +3 -5
  41. package/dist/client/Transport.js +1 -17
  42. package/dist/client/internal/Fetch.js +2 -6
  43. package/dist/discovery/Discovery.js +2 -1
  44. package/dist/discovery/OpenApi.d.ts +3 -5
  45. package/dist/discovery/OpenApi.js +13 -34
  46. package/dist/discovery/internal/Metadata.d.ts +20 -0
  47. package/dist/discovery/internal/Metadata.js +36 -0
  48. package/dist/evm/Methods.d.ts +11 -11
  49. package/dist/evm/Types.d.ts +17 -17
  50. package/dist/evm/client/Charge.d.ts +11 -11
  51. package/dist/evm/client/Charge.js +8 -0
  52. package/dist/evm/client/Methods.d.ts +11 -11
  53. package/dist/evm/server/Charge.d.ts +1 -1
  54. package/dist/evm/server/Charge.js +2 -0
  55. package/dist/evm/server/Methods.d.ts +11 -11
  56. package/dist/internal/HeaderCodec.d.ts +2 -2
  57. package/dist/internal/types.d.ts +6 -0
  58. package/dist/proxy/Proxy.d.ts +2 -0
  59. package/dist/proxy/Proxy.js +117 -9
  60. package/dist/proxy/Service.d.ts +36 -1
  61. package/dist/proxy/Service.js +9 -8
  62. package/dist/proxy/services/anthropic.js +1 -0
  63. package/dist/proxy/services/openai.js +1 -0
  64. package/dist/proxy/services/stripe.js +1 -0
  65. package/dist/server/Mppx.d.ts +75 -13
  66. package/dist/server/Mppx.js +201 -23
  67. package/dist/server/core.d.ts +9 -0
  68. package/dist/server/core.js +9 -0
  69. package/dist/server/internal/html/config.d.ts +9 -9
  70. package/dist/server/internal/html/constants.d.ts +17 -17
  71. package/dist/stripe/Methods.d.ts +10 -10
  72. package/dist/stripe/client/Charge.d.ts +10 -10
  73. package/dist/stripe/client/Methods.d.ts +10 -10
  74. package/dist/stripe/internal/constants.d.ts +1 -1
  75. package/dist/stripe/internal/constants.js +1 -1
  76. package/dist/stripe/internal/types.d.ts +1 -0
  77. package/dist/stripe/server/Charge.d.ts +11 -11
  78. package/dist/stripe/server/Charge.js +51 -5
  79. package/dist/stripe/server/Methods.d.ts +137 -48
  80. package/dist/stripe/server/Methods.js +265 -4
  81. package/dist/stripe/server/internal/deposit-address.d.ts +13 -0
  82. package/dist/stripe/server/internal/deposit-address.js +28 -0
  83. package/dist/stripe/server/internal/html.gen.d.ts +1 -1
  84. package/dist/stripe/server/internal/html.gen.js +1 -1
  85. package/dist/stripe/server/internal/record-payment.d.ts +15 -0
  86. package/dist/stripe/server/internal/record-payment.js +42 -0
  87. package/dist/stripe/server/internal/request.d.ts +25 -0
  88. package/dist/stripe/server/internal/request.js +29 -0
  89. package/dist/stripe/server/spt.d.ts +8 -0
  90. package/dist/stripe/server/spt.js +8 -0
  91. package/dist/tap/Constants.d.ts +28 -0
  92. package/dist/tap/Constants.js +32 -0
  93. package/dist/tap/Types.d.ts +11 -0
  94. package/dist/tap/Types.js +2 -0
  95. package/dist/tap/client/index.d.ts +26 -0
  96. package/dist/tap/client/index.js +33 -0
  97. package/dist/tap/index.d.ts +5 -0
  98. package/dist/tap/index.js +5 -0
  99. package/dist/tap/server/index.d.ts +20 -0
  100. package/dist/tap/server/index.js +36 -0
  101. package/dist/tempo/Attribution.d.ts +1 -1
  102. package/dist/tempo/Methods.d.ts +73 -60
  103. package/dist/tempo/Methods.js +14 -3
  104. package/dist/tempo/Proof.d.ts +16 -16
  105. package/dist/tempo/client/Charge.d.ts +22 -19
  106. package/dist/tempo/client/Charge.js +32 -16
  107. package/dist/tempo/client/Methods.d.ts +51 -38
  108. package/dist/tempo/client/Subscription.d.ts +23 -23
  109. package/dist/tempo/internal/address.d.ts +2 -1
  110. package/dist/tempo/internal/address.js +3 -1
  111. package/dist/tempo/internal/auto-swap.js +4 -19
  112. package/dist/tempo/internal/defaults.d.ts +17 -6
  113. package/dist/tempo/internal/defaults.js +11 -0
  114. package/dist/tempo/internal/fee-payer.d.ts +12 -12
  115. package/dist/tempo/internal/machine-token-charge.d.ts +51 -0
  116. package/dist/tempo/internal/machine-token-charge.js +113 -0
  117. package/dist/tempo/internal/machine-token-session.d.ts +88 -0
  118. package/dist/tempo/internal/machine-token-session.js +173 -0
  119. package/dist/tempo/internal/proof.d.ts +17 -17
  120. package/dist/tempo/internal/signature-envelope.d.ts +14 -0
  121. package/dist/tempo/internal/signature-envelope.js +28 -0
  122. package/dist/tempo/legacy/client/ChannelOps.d.ts +2 -2
  123. package/dist/tempo/legacy/client/ChannelOps.js +11 -5
  124. package/dist/tempo/legacy/client/Session.d.ts +33 -21
  125. package/dist/tempo/legacy/client/Session.js +3 -3
  126. package/dist/tempo/legacy/client/SessionManager.d.ts +3 -1
  127. package/dist/tempo/legacy/client/SessionManager.js +2 -0
  128. package/dist/tempo/legacy/index.d.ts +1 -3
  129. package/dist/tempo/legacy/index.js +1 -3
  130. package/dist/tempo/legacy/session/escrow.abi.d.ts +374 -374
  131. package/dist/tempo/server/Charge.d.ts +28 -11
  132. package/dist/tempo/server/Charge.js +101 -55
  133. package/dist/tempo/server/Methods.d.ts +58 -56
  134. package/dist/tempo/server/Methods.js +8 -18
  135. package/dist/tempo/server/Relay.d.ts +1 -1
  136. package/dist/tempo/server/Relay.js +2 -2
  137. package/dist/tempo/server/Subscription.d.ts +25 -25
  138. package/dist/tempo/server/Subscription.js +2 -0
  139. package/dist/tempo/server/index.d.ts +1 -1
  140. package/dist/tempo/server/index.js +1 -1
  141. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  142. package/dist/tempo/server/internal/html.gen.js +1 -1
  143. package/dist/tempo/server/internal/transport.d.ts +2 -0
  144. package/dist/tempo/server/internal/transport.js +9 -2
  145. package/dist/tempo/session/client/ChannelOps.d.ts +18 -3
  146. package/dist/tempo/session/client/ChannelOps.js +35 -6
  147. package/dist/tempo/session/client/ChannelStore.d.ts +0 -5
  148. package/dist/tempo/session/client/ChannelStore.js +2 -2
  149. package/dist/tempo/session/client/CredentialState.d.ts +18 -3
  150. package/dist/tempo/session/client/CredentialState.js +77 -76
  151. package/dist/tempo/session/client/Runtime.d.ts +4 -2
  152. package/dist/tempo/session/client/Runtime.js +21 -5
  153. package/dist/tempo/session/client/Session.d.ts +34 -22
  154. package/dist/tempo/session/client/Session.js +186 -63
  155. package/dist/tempo/session/client/SessionManager.d.ts +3 -1
  156. package/dist/tempo/session/client/SessionManager.js +35 -11
  157. package/dist/tempo/session/client/Transports.d.ts +2 -0
  158. package/dist/tempo/session/client/Transports.js +12 -2
  159. package/dist/tempo/session/precompile/Chain.d.ts +37 -2
  160. package/dist/tempo/session/precompile/Chain.js +116 -15
  161. package/dist/tempo/session/precompile/Protocol.d.ts +15 -0
  162. package/dist/tempo/session/precompile/Protocol.js +7 -0
  163. package/dist/tempo/session/precompile/Voucher.d.ts +7 -5
  164. package/dist/tempo/session/precompile/Voucher.js +6 -12
  165. package/dist/tempo/session/precompile/escrow.abi.d.ts +306 -306
  166. package/dist/tempo/session/server/ChannelStore.d.ts +15 -0
  167. package/dist/tempo/session/server/ChannelStore.js +27 -12
  168. package/dist/tempo/session/server/CredentialVerification.d.ts +39 -20
  169. package/dist/tempo/session/server/CredentialVerification.js +359 -89
  170. package/dist/tempo/session/server/MeteredStream.d.ts +4 -1
  171. package/dist/tempo/session/server/MeteredStream.js +8 -5
  172. package/dist/tempo/session/server/RequestState.d.ts +19 -0
  173. package/dist/tempo/session/server/RequestState.js +61 -15
  174. package/dist/tempo/session/server/Session.d.ts +46 -23
  175. package/dist/tempo/session/server/Session.js +150 -56
  176. package/dist/tempo/session/server/Settlement.d.ts +11 -4
  177. package/dist/tempo/session/server/Settlement.js +53 -21
  178. package/dist/tempo/session/server/Sse.d.ts +3 -1
  179. package/dist/tempo/session/server/Sse.js +2 -1
  180. package/dist/tempo/session/server/Transports.d.ts +1 -1
  181. package/dist/tempo/session/server/Transports.js +1 -0
  182. package/dist/tempo/session/server/Ws.d.ts +6 -1
  183. package/dist/tempo/session/server/Ws.js +1 -0
  184. package/dist/tempo/subscription/KeyAuthorization.d.ts +39 -39
  185. package/dist/web-bot-auth/Constants.d.ts +20 -0
  186. package/dist/web-bot-auth/Constants.js +24 -0
  187. package/dist/web-bot-auth/Types.d.ts +10 -0
  188. package/dist/web-bot-auth/Types.js +2 -0
  189. package/dist/web-bot-auth/client/index.d.ts +29 -0
  190. package/dist/web-bot-auth/client/index.js +64 -0
  191. package/dist/web-bot-auth/index.d.ts +7 -0
  192. package/dist/web-bot-auth/index.js +7 -0
  193. package/dist/web-bot-auth/internal/JwkThumbprint.d.ts +5 -0
  194. package/dist/web-bot-auth/internal/JwkThumbprint.js +20 -0
  195. package/dist/web-bot-auth/internal/SignatureAgent.d.ts +3 -0
  196. package/dist/web-bot-auth/internal/SignatureAgent.js +18 -0
  197. package/dist/web-bot-auth/server/index.d.ts +35 -0
  198. package/dist/web-bot-auth/server/index.js +88 -0
  199. package/dist/x402/Types.d.ts +6 -6
  200. package/dist/x402/client/Exact.d.ts +8 -0
  201. package/dist/x402/client/Exact.js +40 -10
  202. package/dist/x402/server/EvmCharge.d.ts +22 -0
  203. package/dist/x402/server/EvmCharge.js +54 -20
  204. package/package.json +28 -34
  205. package/dist/BodyDigest.d.ts.map +0 -1
  206. package/dist/BodyDigest.js.map +0 -1
  207. package/dist/Challenge.d.ts.map +0 -1
  208. package/dist/Challenge.js.map +0 -1
  209. package/dist/Constants.d.ts.map +0 -1
  210. package/dist/Constants.js.map +0 -1
  211. package/dist/Credential.d.ts.map +0 -1
  212. package/dist/Credential.js.map +0 -1
  213. package/dist/Errors.d.ts.map +0 -1
  214. package/dist/Errors.js.map +0 -1
  215. package/dist/Expires.d.ts.map +0 -1
  216. package/dist/Expires.js.map +0 -1
  217. package/dist/Html.d.ts.map +0 -1
  218. package/dist/Html.js.map +0 -1
  219. package/dist/Mcp.d.ts.map +0 -1
  220. package/dist/Mcp.js.map +0 -1
  221. package/dist/Method.d.ts.map +0 -1
  222. package/dist/Method.js.map +0 -1
  223. package/dist/PaymentRequest.d.ts.map +0 -1
  224. package/dist/PaymentRequest.js.map +0 -1
  225. package/dist/Receipt.d.ts.map +0 -1
  226. package/dist/Receipt.js.map +0 -1
  227. package/dist/Store.d.ts.map +0 -1
  228. package/dist/Store.js.map +0 -1
  229. package/dist/bin.d.ts.map +0 -1
  230. package/dist/bin.js.map +0 -1
  231. package/dist/cli/account.d.ts.map +0 -1
  232. package/dist/cli/account.js.map +0 -1
  233. package/dist/cli/cli.d.ts.map +0 -1
  234. package/dist/cli/cli.js.map +0 -1
  235. package/dist/cli/config.d.ts.map +0 -1
  236. package/dist/cli/config.js.map +0 -1
  237. package/dist/cli/internal.d.ts.map +0 -1
  238. package/dist/cli/internal.js.map +0 -1
  239. package/dist/cli/plugins/evm.d.ts.map +0 -1
  240. package/dist/cli/plugins/evm.js.map +0 -1
  241. package/dist/cli/plugins/index.d.ts.map +0 -1
  242. package/dist/cli/plugins/index.js.map +0 -1
  243. package/dist/cli/plugins/plugin.d.ts.map +0 -1
  244. package/dist/cli/plugins/plugin.js.map +0 -1
  245. package/dist/cli/plugins/stripe.d.ts.map +0 -1
  246. package/dist/cli/plugins/stripe.js.map +0 -1
  247. package/dist/cli/plugins/tempo.d.ts.map +0 -1
  248. package/dist/cli/plugins/tempo.js.map +0 -1
  249. package/dist/cli/sessions/Manager.d.ts.map +0 -1
  250. package/dist/cli/sessions/Manager.js.map +0 -1
  251. package/dist/cli/sessions/commands.d.ts.map +0 -1
  252. package/dist/cli/sessions/commands.js.map +0 -1
  253. package/dist/cli/sessions/request.d.ts.map +0 -1
  254. package/dist/cli/sessions/request.js.map +0 -1
  255. package/dist/cli/sessions/store.d.ts.map +0 -1
  256. package/dist/cli/sessions/store.js.map +0 -1
  257. package/dist/cli/utils.d.ts.map +0 -1
  258. package/dist/cli/utils.js.map +0 -1
  259. package/dist/cli/validate/challenge.d.ts.map +0 -1
  260. package/dist/cli/validate/challenge.js.map +0 -1
  261. package/dist/cli/validate/discovery.d.ts.map +0 -1
  262. package/dist/cli/validate/discovery.js.map +0 -1
  263. package/dist/cli/validate/helpers.d.ts.map +0 -1
  264. package/dist/cli/validate/helpers.js.map +0 -1
  265. package/dist/cli/validate/index.d.ts.map +0 -1
  266. package/dist/cli/validate/index.js.map +0 -1
  267. package/dist/cli/validate/messages.d.ts.map +0 -1
  268. package/dist/cli/validate/messages.js.map +0 -1
  269. package/dist/cli/validate/payment.d.ts.map +0 -1
  270. package/dist/cli/validate/payment.js.map +0 -1
  271. package/dist/client/Methods.d.ts.map +0 -1
  272. package/dist/client/Methods.js.map +0 -1
  273. package/dist/client/Mppx.d.ts.map +0 -1
  274. package/dist/client/Mppx.js.map +0 -1
  275. package/dist/client/Transport.d.ts.map +0 -1
  276. package/dist/client/Transport.js.map +0 -1
  277. package/dist/client/index.d.ts.map +0 -1
  278. package/dist/client/index.js.map +0 -1
  279. package/dist/client/internal/Fetch.d.ts.map +0 -1
  280. package/dist/client/internal/Fetch.js.map +0 -1
  281. package/dist/client/internal/MethodChallenge.d.ts.map +0 -1
  282. package/dist/client/internal/MethodChallenge.js.map +0 -1
  283. package/dist/client/internal/MethodResponse.d.ts.map +0 -1
  284. package/dist/client/internal/MethodResponse.js.map +0 -1
  285. package/dist/client/internal/protocols/Mcp.d.ts.map +0 -1
  286. package/dist/client/internal/protocols/Mcp.js.map +0 -1
  287. package/dist/client/internal/protocols/Mpp.d.ts.map +0 -1
  288. package/dist/client/internal/protocols/Mpp.js.map +0 -1
  289. package/dist/client/internal/protocols/Protocol.d.ts.map +0 -1
  290. package/dist/client/internal/protocols/Protocol.js.map +0 -1
  291. package/dist/client/internal/protocols/Shared.d.ts.map +0 -1
  292. package/dist/client/internal/protocols/Shared.js.map +0 -1
  293. package/dist/client/internal/protocols/X402.d.ts.map +0 -1
  294. package/dist/client/internal/protocols/X402.js.map +0 -1
  295. package/dist/client/node.d.ts.map +0 -1
  296. package/dist/client/node.js.map +0 -1
  297. package/dist/discovery/Discovery.d.ts.map +0 -1
  298. package/dist/discovery/Discovery.js.map +0 -1
  299. package/dist/discovery/OpenApi.d.ts.map +0 -1
  300. package/dist/discovery/OpenApi.js.map +0 -1
  301. package/dist/discovery/Validate.d.ts.map +0 -1
  302. package/dist/discovery/Validate.js.map +0 -1
  303. package/dist/discovery/index.d.ts.map +0 -1
  304. package/dist/discovery/index.js.map +0 -1
  305. package/dist/evm/Assets.d.ts.map +0 -1
  306. package/dist/evm/Assets.js.map +0 -1
  307. package/dist/evm/Chains.d.ts.map +0 -1
  308. package/dist/evm/Chains.js.map +0 -1
  309. package/dist/evm/Methods.d.ts.map +0 -1
  310. package/dist/evm/Methods.js.map +0 -1
  311. package/dist/evm/Types.d.ts.map +0 -1
  312. package/dist/evm/Types.js.map +0 -1
  313. package/dist/evm/client/Charge.d.ts.map +0 -1
  314. package/dist/evm/client/Charge.js.map +0 -1
  315. package/dist/evm/client/Methods.d.ts.map +0 -1
  316. package/dist/evm/client/Methods.js.map +0 -1
  317. package/dist/evm/client/index.d.ts.map +0 -1
  318. package/dist/evm/client/index.js.map +0 -1
  319. package/dist/evm/index.d.ts.map +0 -1
  320. package/dist/evm/index.js.map +0 -1
  321. package/dist/evm/server/Charge.d.ts.map +0 -1
  322. package/dist/evm/server/Charge.js.map +0 -1
  323. package/dist/evm/server/Methods.d.ts.map +0 -1
  324. package/dist/evm/server/Methods.js.map +0 -1
  325. package/dist/evm/server/index.d.ts.map +0 -1
  326. package/dist/evm/server/index.js.map +0 -1
  327. package/dist/index.d.ts.map +0 -1
  328. package/dist/index.js.map +0 -1
  329. package/dist/internal/AcceptPayment.d.ts.map +0 -1
  330. package/dist/internal/AcceptPayment.js.map +0 -1
  331. package/dist/internal/HeaderCodec.d.ts.map +0 -1
  332. package/dist/internal/HeaderCodec.js.map +0 -1
  333. package/dist/internal/constantTimeEqual.d.ts.map +0 -1
  334. package/dist/internal/constantTimeEqual.js.map +0 -1
  335. package/dist/internal/env.d.ts.map +0 -1
  336. package/dist/internal/env.js.map +0 -1
  337. package/dist/internal/types.d.ts.map +0 -1
  338. package/dist/internal/types.js.map +0 -1
  339. package/dist/mcp/client/McpClient.d.ts.map +0 -1
  340. package/dist/mcp/client/McpClient.js.map +0 -1
  341. package/dist/mcp/client/index.d.ts.map +0 -1
  342. package/dist/mcp/client/index.js.map +0 -1
  343. package/dist/mcp/server/Transport.d.ts.map +0 -1
  344. package/dist/mcp/server/Transport.js.map +0 -1
  345. package/dist/mcp/server/index.d.ts.map +0 -1
  346. package/dist/mcp/server/index.js.map +0 -1
  347. package/dist/middlewares/elysia.d.ts.map +0 -1
  348. package/dist/middlewares/elysia.js.map +0 -1
  349. package/dist/middlewares/express.d.ts.map +0 -1
  350. package/dist/middlewares/express.js.map +0 -1
  351. package/dist/middlewares/hono.d.ts.map +0 -1
  352. package/dist/middlewares/hono.js.map +0 -1
  353. package/dist/middlewares/internal/mppx.d.ts.map +0 -1
  354. package/dist/middlewares/internal/mppx.js.map +0 -1
  355. package/dist/middlewares/nextjs.d.ts.map +0 -1
  356. package/dist/middlewares/nextjs.js.map +0 -1
  357. package/dist/proxy/Proxy.d.ts.map +0 -1
  358. package/dist/proxy/Proxy.js.map +0 -1
  359. package/dist/proxy/Service.d.ts.map +0 -1
  360. package/dist/proxy/Service.js.map +0 -1
  361. package/dist/proxy/index.d.ts.map +0 -1
  362. package/dist/proxy/index.js.map +0 -1
  363. package/dist/proxy/internal/Headers.d.ts.map +0 -1
  364. package/dist/proxy/internal/Headers.js.map +0 -1
  365. package/dist/proxy/internal/Route.d.ts.map +0 -1
  366. package/dist/proxy/internal/Route.js.map +0 -1
  367. package/dist/proxy/services/anthropic.d.ts.map +0 -1
  368. package/dist/proxy/services/anthropic.js.map +0 -1
  369. package/dist/proxy/services/openai.d.ts.map +0 -1
  370. package/dist/proxy/services/openai.js.map +0 -1
  371. package/dist/proxy/services/stripe.d.ts.map +0 -1
  372. package/dist/proxy/services/stripe.js.map +0 -1
  373. package/dist/server/Methods.d.ts.map +0 -1
  374. package/dist/server/Methods.js.map +0 -1
  375. package/dist/server/Mppx.d.ts.map +0 -1
  376. package/dist/server/Mppx.js.map +0 -1
  377. package/dist/server/NodeListener.d.ts.map +0 -1
  378. package/dist/server/NodeListener.js.map +0 -1
  379. package/dist/server/Request.d.ts.map +0 -1
  380. package/dist/server/Request.js.map +0 -1
  381. package/dist/server/Response.d.ts.map +0 -1
  382. package/dist/server/Response.js.map +0 -1
  383. package/dist/server/Transport.d.ts.map +0 -1
  384. package/dist/server/Transport.js.map +0 -1
  385. package/dist/server/index.d.ts.map +0 -1
  386. package/dist/server/index.js.map +0 -1
  387. package/dist/server/internal/html/compose.main.gen.d.ts.map +0 -1
  388. package/dist/server/internal/html/compose.main.gen.js.map +0 -1
  389. package/dist/server/internal/html/config.d.ts.map +0 -1
  390. package/dist/server/internal/html/config.js.map +0 -1
  391. package/dist/server/internal/html/constants.d.ts.map +0 -1
  392. package/dist/server/internal/html/constants.js.map +0 -1
  393. package/dist/server/internal/html/serviceWorker.client.d.ts.map +0 -1
  394. package/dist/server/internal/html/serviceWorker.client.js.map +0 -1
  395. package/dist/server/internal/html/serviceWorker.gen.d.ts.map +0 -1
  396. package/dist/server/internal/html/serviceWorker.gen.js.map +0 -1
  397. package/dist/server/internal/scope.d.ts.map +0 -1
  398. package/dist/server/internal/scope.js.map +0 -1
  399. package/dist/stripe/Methods.d.ts.map +0 -1
  400. package/dist/stripe/Methods.js.map +0 -1
  401. package/dist/stripe/client/Charge.d.ts.map +0 -1
  402. package/dist/stripe/client/Charge.js.map +0 -1
  403. package/dist/stripe/client/Methods.d.ts.map +0 -1
  404. package/dist/stripe/client/Methods.js.map +0 -1
  405. package/dist/stripe/client/index.d.ts.map +0 -1
  406. package/dist/stripe/client/index.js.map +0 -1
  407. package/dist/stripe/index.d.ts.map +0 -1
  408. package/dist/stripe/index.js.map +0 -1
  409. package/dist/stripe/internal/constants.d.ts.map +0 -1
  410. package/dist/stripe/internal/constants.js.map +0 -1
  411. package/dist/stripe/internal/types.d.ts.map +0 -1
  412. package/dist/stripe/internal/types.js.map +0 -1
  413. package/dist/stripe/server/Charge.d.ts.map +0 -1
  414. package/dist/stripe/server/Charge.js.map +0 -1
  415. package/dist/stripe/server/Methods.d.ts.map +0 -1
  416. package/dist/stripe/server/Methods.js.map +0 -1
  417. package/dist/stripe/server/index.d.ts.map +0 -1
  418. package/dist/stripe/server/index.js.map +0 -1
  419. package/dist/stripe/server/internal/html/types.d.ts.map +0 -1
  420. package/dist/stripe/server/internal/html/types.js.map +0 -1
  421. package/dist/stripe/server/internal/html.gen.d.ts.map +0 -1
  422. package/dist/stripe/server/internal/html.gen.js.map +0 -1
  423. package/dist/tempo/Attribution.d.ts.map +0 -1
  424. package/dist/tempo/Attribution.js.map +0 -1
  425. package/dist/tempo/Methods.d.ts.map +0 -1
  426. package/dist/tempo/Methods.js.map +0 -1
  427. package/dist/tempo/Proof.d.ts.map +0 -1
  428. package/dist/tempo/Proof.js.map +0 -1
  429. package/dist/tempo/client/Charge.d.ts.map +0 -1
  430. package/dist/tempo/client/Charge.js.map +0 -1
  431. package/dist/tempo/client/Methods.d.ts.map +0 -1
  432. package/dist/tempo/client/Methods.js.map +0 -1
  433. package/dist/tempo/client/ResolveAccount.d.ts.map +0 -1
  434. package/dist/tempo/client/ResolveAccount.js.map +0 -1
  435. package/dist/tempo/client/Subscription.d.ts.map +0 -1
  436. package/dist/tempo/client/Subscription.js.map +0 -1
  437. package/dist/tempo/client/index.d.ts.map +0 -1
  438. package/dist/tempo/client/index.js.map +0 -1
  439. package/dist/tempo/index.d.ts.map +0 -1
  440. package/dist/tempo/index.js.map +0 -1
  441. package/dist/tempo/internal/account.d.ts.map +0 -1
  442. package/dist/tempo/internal/account.js.map +0 -1
  443. package/dist/tempo/internal/address.d.ts.map +0 -1
  444. package/dist/tempo/internal/address.js.map +0 -1
  445. package/dist/tempo/internal/auto-swap.d.ts.map +0 -1
  446. package/dist/tempo/internal/auto-swap.js.map +0 -1
  447. package/dist/tempo/internal/charge.d.ts.map +0 -1
  448. package/dist/tempo/internal/charge.js.map +0 -1
  449. package/dist/tempo/internal/defaults.d.ts.map +0 -1
  450. package/dist/tempo/internal/defaults.js.map +0 -1
  451. package/dist/tempo/internal/fee-payer.d.ts.map +0 -1
  452. package/dist/tempo/internal/fee-payer.js.map +0 -1
  453. package/dist/tempo/internal/fee-token.d.ts.map +0 -1
  454. package/dist/tempo/internal/fee-token.js.map +0 -1
  455. package/dist/tempo/internal/proof.d.ts.map +0 -1
  456. package/dist/tempo/internal/proof.js.map +0 -1
  457. package/dist/tempo/internal/selectors.d.ts.map +0 -1
  458. package/dist/tempo/internal/selectors.js.map +0 -1
  459. package/dist/tempo/internal/types.d.ts.map +0 -1
  460. package/dist/tempo/internal/types.js.map +0 -1
  461. package/dist/tempo/legacy/client/ChannelOps.d.ts.map +0 -1
  462. package/dist/tempo/legacy/client/ChannelOps.js.map +0 -1
  463. package/dist/tempo/legacy/client/Session.d.ts.map +0 -1
  464. package/dist/tempo/legacy/client/Session.js.map +0 -1
  465. package/dist/tempo/legacy/client/SessionManager.d.ts.map +0 -1
  466. package/dist/tempo/legacy/client/SessionManager.js.map +0 -1
  467. package/dist/tempo/legacy/client/index.d.ts.map +0 -1
  468. package/dist/tempo/legacy/client/index.js.map +0 -1
  469. package/dist/tempo/legacy/index.d.ts.map +0 -1
  470. package/dist/tempo/legacy/index.js.map +0 -1
  471. package/dist/tempo/legacy/server/Session.d.ts +0 -208
  472. package/dist/tempo/legacy/server/Session.d.ts.map +0 -1
  473. package/dist/tempo/legacy/server/Session.js +0 -698
  474. package/dist/tempo/legacy/server/Session.js.map +0 -1
  475. package/dist/tempo/legacy/server/index.d.ts +0 -5
  476. package/dist/tempo/legacy/server/index.d.ts.map +0 -1
  477. package/dist/tempo/legacy/server/index.js +0 -5
  478. package/dist/tempo/legacy/server/index.js.map +0 -1
  479. package/dist/tempo/legacy/session/Chain.d.ts.map +0 -1
  480. package/dist/tempo/legacy/session/Chain.js.map +0 -1
  481. package/dist/tempo/legacy/session/Channel.d.ts.map +0 -1
  482. package/dist/tempo/legacy/session/Channel.js.map +0 -1
  483. package/dist/tempo/legacy/session/ChannelStore.d.ts +0 -22
  484. package/dist/tempo/legacy/session/ChannelStore.d.ts.map +0 -1
  485. package/dist/tempo/legacy/session/ChannelStore.js +0 -6
  486. package/dist/tempo/legacy/session/ChannelStore.js.map +0 -1
  487. package/dist/tempo/legacy/session/Types.d.ts.map +0 -1
  488. package/dist/tempo/legacy/session/Types.js.map +0 -1
  489. package/dist/tempo/legacy/session/Voucher.d.ts.map +0 -1
  490. package/dist/tempo/legacy/session/Voucher.js.map +0 -1
  491. package/dist/tempo/legacy/session/escrow.abi.d.ts.map +0 -1
  492. package/dist/tempo/legacy/session/escrow.abi.js.map +0 -1
  493. package/dist/tempo/legacy/session/index.d.ts.map +0 -1
  494. package/dist/tempo/legacy/session/index.js.map +0 -1
  495. package/dist/tempo/server/Charge.d.ts.map +0 -1
  496. package/dist/tempo/server/Charge.js.map +0 -1
  497. package/dist/tempo/server/Methods.d.ts.map +0 -1
  498. package/dist/tempo/server/Methods.js.map +0 -1
  499. package/dist/tempo/server/Relay.d.ts.map +0 -1
  500. package/dist/tempo/server/Relay.js.map +0 -1
  501. package/dist/tempo/server/SponsorBudget.d.ts.map +0 -1
  502. package/dist/tempo/server/SponsorBudget.js.map +0 -1
  503. package/dist/tempo/server/Subscription.d.ts.map +0 -1
  504. package/dist/tempo/server/Subscription.js.map +0 -1
  505. package/dist/tempo/server/index.d.ts.map +0 -1
  506. package/dist/tempo/server/index.js.map +0 -1
  507. package/dist/tempo/server/internal/html.gen.d.ts.map +0 -1
  508. package/dist/tempo/server/internal/html.gen.js.map +0 -1
  509. package/dist/tempo/server/internal/request-body.d.ts.map +0 -1
  510. package/dist/tempo/server/internal/request-body.js.map +0 -1
  511. package/dist/tempo/server/internal/transport.d.ts.map +0 -1
  512. package/dist/tempo/server/internal/transport.js.map +0 -1
  513. package/dist/tempo/session/Snapshot.d.ts.map +0 -1
  514. package/dist/tempo/session/Snapshot.js.map +0 -1
  515. package/dist/tempo/session/client/ChannelOps.d.ts.map +0 -1
  516. package/dist/tempo/session/client/ChannelOps.js.map +0 -1
  517. package/dist/tempo/session/client/ChannelStore.d.ts.map +0 -1
  518. package/dist/tempo/session/client/ChannelStore.js.map +0 -1
  519. package/dist/tempo/session/client/CredentialState.d.ts.map +0 -1
  520. package/dist/tempo/session/client/CredentialState.js.map +0 -1
  521. package/dist/tempo/session/client/ReceiptCoordinator.d.ts.map +0 -1
  522. package/dist/tempo/session/client/ReceiptCoordinator.js.map +0 -1
  523. package/dist/tempo/session/client/Runtime.d.ts.map +0 -1
  524. package/dist/tempo/session/client/Runtime.js.map +0 -1
  525. package/dist/tempo/session/client/Session.d.ts.map +0 -1
  526. package/dist/tempo/session/client/Session.js.map +0 -1
  527. package/dist/tempo/session/client/SessionManager.d.ts.map +0 -1
  528. package/dist/tempo/session/client/SessionManager.js.map +0 -1
  529. package/dist/tempo/session/client/Transports.d.ts.map +0 -1
  530. package/dist/tempo/session/client/Transports.js.map +0 -1
  531. package/dist/tempo/session/client/index.d.ts.map +0 -1
  532. package/dist/tempo/session/client/index.js.map +0 -1
  533. package/dist/tempo/session/client/internal/SessionManager.d.ts.map +0 -1
  534. package/dist/tempo/session/client/internal/SessionManager.js.map +0 -1
  535. package/dist/tempo/session/index.d.ts.map +0 -1
  536. package/dist/tempo/session/index.js.map +0 -1
  537. package/dist/tempo/session/precompile/Chain.d.ts.map +0 -1
  538. package/dist/tempo/session/precompile/Chain.js.map +0 -1
  539. package/dist/tempo/session/precompile/Channel.d.ts.map +0 -1
  540. package/dist/tempo/session/precompile/Channel.js.map +0 -1
  541. package/dist/tempo/session/precompile/Protocol.d.ts.map +0 -1
  542. package/dist/tempo/session/precompile/Protocol.js.map +0 -1
  543. package/dist/tempo/session/precompile/Voucher.d.ts.map +0 -1
  544. package/dist/tempo/session/precompile/Voucher.js.map +0 -1
  545. package/dist/tempo/session/precompile/escrow.abi.d.ts.map +0 -1
  546. package/dist/tempo/session/precompile/escrow.abi.js.map +0 -1
  547. package/dist/tempo/session/precompile/index.d.ts.map +0 -1
  548. package/dist/tempo/session/precompile/index.js.map +0 -1
  549. package/dist/tempo/session/server/ChannelOps.d.ts.map +0 -1
  550. package/dist/tempo/session/server/ChannelOps.js.map +0 -1
  551. package/dist/tempo/session/server/ChannelStore.d.ts.map +0 -1
  552. package/dist/tempo/session/server/ChannelStore.js.map +0 -1
  553. package/dist/tempo/session/server/CredentialVerification.d.ts.map +0 -1
  554. package/dist/tempo/session/server/CredentialVerification.js.map +0 -1
  555. package/dist/tempo/session/server/MeteredStream.d.ts.map +0 -1
  556. package/dist/tempo/session/server/MeteredStream.js.map +0 -1
  557. package/dist/tempo/session/server/RequestState.d.ts.map +0 -1
  558. package/dist/tempo/session/server/RequestState.js.map +0 -1
  559. package/dist/tempo/session/server/Session.d.ts.map +0 -1
  560. package/dist/tempo/session/server/Session.js.map +0 -1
  561. package/dist/tempo/session/server/Settlement.d.ts.map +0 -1
  562. package/dist/tempo/session/server/Settlement.js.map +0 -1
  563. package/dist/tempo/session/server/Sse.d.ts.map +0 -1
  564. package/dist/tempo/session/server/Sse.js.map +0 -1
  565. package/dist/tempo/session/server/Transports.d.ts.map +0 -1
  566. package/dist/tempo/session/server/Transports.js.map +0 -1
  567. package/dist/tempo/session/server/Ws.d.ts.map +0 -1
  568. package/dist/tempo/session/server/Ws.js.map +0 -1
  569. package/dist/tempo/session/server/index.d.ts.map +0 -1
  570. package/dist/tempo/session/server/index.js.map +0 -1
  571. package/dist/tempo/subscription/KeyAuthorization.d.ts.map +0 -1
  572. package/dist/tempo/subscription/KeyAuthorization.js.map +0 -1
  573. package/dist/tempo/subscription/Receipt.d.ts.map +0 -1
  574. package/dist/tempo/subscription/Receipt.js.map +0 -1
  575. package/dist/tempo/subscription/Store.d.ts.map +0 -1
  576. package/dist/tempo/subscription/Store.js.map +0 -1
  577. package/dist/tempo/subscription/Types.d.ts.map +0 -1
  578. package/dist/tempo/subscription/Types.js.map +0 -1
  579. package/dist/tempo/subscription/index.d.ts.map +0 -1
  580. package/dist/tempo/subscription/index.js.map +0 -1
  581. package/dist/validation/core.d.ts.map +0 -1
  582. package/dist/validation/core.js.map +0 -1
  583. package/dist/validation/index.d.ts.map +0 -1
  584. package/dist/validation/index.js.map +0 -1
  585. package/dist/viem/Account.d.ts.map +0 -1
  586. package/dist/viem/Account.js.map +0 -1
  587. package/dist/viem/Client.d.ts.map +0 -1
  588. package/dist/viem/Client.js.map +0 -1
  589. package/dist/x402/Assets.d.ts.map +0 -1
  590. package/dist/x402/Assets.js.map +0 -1
  591. package/dist/x402/Header.d.ts.map +0 -1
  592. package/dist/x402/Header.js.map +0 -1
  593. package/dist/x402/Types.d.ts.map +0 -1
  594. package/dist/x402/Types.js.map +0 -1
  595. package/dist/x402/client/Exact.d.ts.map +0 -1
  596. package/dist/x402/client/Exact.js.map +0 -1
  597. package/dist/x402/index.d.ts.map +0 -1
  598. package/dist/x402/index.js.map +0 -1
  599. package/dist/x402/internal/ChallengeBrand.d.ts.map +0 -1
  600. package/dist/x402/internal/ChallengeBrand.js.map +0 -1
  601. package/dist/x402/internal/RouteBinding.d.ts.map +0 -1
  602. package/dist/x402/internal/RouteBinding.js.map +0 -1
  603. package/dist/x402/server/EvmCharge.d.ts.map +0 -1
  604. package/dist/x402/server/EvmCharge.js.map +0 -1
  605. package/dist/x402/server/Facilitator.d.ts.map +0 -1
  606. package/dist/x402/server/Facilitator.js.map +0 -1
  607. package/dist/zod.d.ts.map +0 -1
  608. package/dist/zod.js.map +0 -1
  609. package/src/BodyDigest.test.ts +0 -43
  610. package/src/BodyDigest.ts +0 -55
  611. package/src/Challenge.fuzz.test.ts +0 -121
  612. package/src/Challenge.test-d.ts +0 -82
  613. package/src/Challenge.test.ts +0 -995
  614. package/src/Challenge.ts +0 -683
  615. package/src/Constants.ts +0 -58
  616. package/src/Credential.fuzz.test.ts +0 -62
  617. package/src/Credential.test.ts +0 -378
  618. package/src/Credential.ts +0 -217
  619. package/src/Errors.test.ts +0 -520
  620. package/src/Errors.ts +0 -448
  621. package/src/Expires.test.ts +0 -112
  622. package/src/Expires.ts +0 -59
  623. package/src/Html.ts +0 -67
  624. package/src/Mcp.ts +0 -85
  625. package/src/Method.test.ts +0 -177
  626. package/src/Method.ts +0 -617
  627. package/src/PaymentRequest.test.ts +0 -147
  628. package/src/PaymentRequest.ts +0 -108
  629. package/src/Receipt.test.ts +0 -151
  630. package/src/Receipt.ts +0 -146
  631. package/src/Store.test-d.ts +0 -195
  632. package/src/Store.test.ts +0 -357
  633. package/src/Store.ts +0 -329
  634. package/src/bin.ts +0 -4
  635. package/src/cli/account.ts +0 -269
  636. package/src/cli/cli.test.ts +0 -2221
  637. package/src/cli/cli.ts +0 -1649
  638. package/src/cli/config.test.ts +0 -89
  639. package/src/cli/config.ts +0 -50
  640. package/src/cli/internal.ts +0 -114
  641. package/src/cli/mcp.test.ts +0 -262
  642. package/src/cli/plugins/evm.ts +0 -55
  643. package/src/cli/plugins/index.ts +0 -4
  644. package/src/cli/plugins/plugin.ts +0 -84
  645. package/src/cli/plugins/stripe.ts +0 -174
  646. package/src/cli/plugins/tempo.ts +0 -1102
  647. package/src/cli/sessions/Manager.test.ts +0 -249
  648. package/src/cli/sessions/Manager.ts +0 -93
  649. package/src/cli/sessions/commands.ts +0 -444
  650. package/src/cli/sessions/request.test.ts +0 -51
  651. package/src/cli/sessions/request.ts +0 -353
  652. package/src/cli/sessions/store.test.ts +0 -581
  653. package/src/cli/sessions/store.ts +0 -940
  654. package/src/cli/utils.test.ts +0 -156
  655. package/src/cli/utils.ts +0 -394
  656. package/src/cli/validate/challenge.ts +0 -565
  657. package/src/cli/validate/discovery.test.ts +0 -435
  658. package/src/cli/validate/discovery.ts +0 -221
  659. package/src/cli/validate/helpers.ts +0 -166
  660. package/src/cli/validate/index.ts +0 -229
  661. package/src/cli/validate/messages.ts +0 -7
  662. package/src/cli/validate/payment.ts +0 -774
  663. package/src/cli/validate.test.ts +0 -843
  664. package/src/client/Methods.ts +0 -8
  665. package/src/client/Mppx.test-d.ts +0 -270
  666. package/src/client/Mppx.test.ts +0 -1065
  667. package/src/client/Mppx.ts +0 -466
  668. package/src/client/Transport.test.ts +0 -619
  669. package/src/client/Transport.ts +0 -191
  670. package/src/client/index.ts +0 -29
  671. package/src/client/internal/Fetch.browser.test.ts +0 -197
  672. package/src/client/internal/Fetch.test-d.ts +0 -109
  673. package/src/client/internal/Fetch.test.ts +0 -2336
  674. package/src/client/internal/Fetch.ts +0 -1079
  675. package/src/client/internal/MethodChallenge.ts +0 -35
  676. package/src/client/internal/MethodResponse.ts +0 -67
  677. package/src/client/internal/protocols/Mcp.test.ts +0 -220
  678. package/src/client/internal/protocols/Mcp.ts +0 -186
  679. package/src/client/internal/protocols/Mpp.ts +0 -21
  680. package/src/client/internal/protocols/Protocol.ts +0 -10
  681. package/src/client/internal/protocols/Shared.ts +0 -25
  682. package/src/client/internal/protocols/X402.ts +0 -46
  683. package/src/client/node.test.ts +0 -115
  684. package/src/client/node.ts +0 -247
  685. package/src/discovery/Discovery.test.ts +0 -214
  686. package/src/discovery/Discovery.ts +0 -105
  687. package/src/discovery/OpenApi.test.ts +0 -453
  688. package/src/discovery/OpenApi.ts +0 -224
  689. package/src/discovery/Validate.test.ts +0 -305
  690. package/src/discovery/Validate.ts +0 -77
  691. package/src/discovery/index.ts +0 -3
  692. package/src/env.d.ts +0 -12
  693. package/src/evm/Assets.ts +0 -1
  694. package/src/evm/Chains.ts +0 -11
  695. package/src/evm/Methods.ts +0 -44
  696. package/src/evm/PublicInterface.test-d.ts +0 -134
  697. package/src/evm/Types.ts +0 -140
  698. package/src/evm/client/Charge.test.ts +0 -347
  699. package/src/evm/client/Charge.ts +0 -187
  700. package/src/evm/client/Methods.ts +0 -19
  701. package/src/evm/client/index.ts +0 -6
  702. package/src/evm/index.ts +0 -16
  703. package/src/evm/server/Charge.test.ts +0 -339
  704. package/src/evm/server/Charge.ts +0 -290
  705. package/src/evm/server/Methods.ts +0 -22
  706. package/src/evm/server/index.ts +0 -6
  707. package/src/index.ts +0 -14
  708. package/src/internal/AcceptPayment.test.ts +0 -343
  709. package/src/internal/AcceptPayment.ts +0 -366
  710. package/src/internal/HeaderCodec.ts +0 -36
  711. package/src/internal/changeset.test.ts +0 -106
  712. package/src/internal/constantTimeEqual.test.ts +0 -47
  713. package/src/internal/constantTimeEqual.ts +0 -10
  714. package/src/internal/env.test.ts +0 -42
  715. package/src/internal/env.ts +0 -49
  716. package/src/internal/types.test-d.ts +0 -21
  717. package/src/internal/types.ts +0 -470
  718. package/src/mcp/client/McpClient.integration.test.ts +0 -652
  719. package/src/mcp/client/McpClient.test-d.ts +0 -144
  720. package/src/mcp/client/McpClient.test.ts +0 -463
  721. package/src/mcp/client/McpClient.ts +0 -307
  722. package/src/mcp/client/McpClient.unit.test.ts +0 -135
  723. package/src/mcp/client/index.ts +0 -2
  724. package/src/mcp/server/Transport.test.ts +0 -191
  725. package/src/mcp/server/Transport.ts +0 -111
  726. package/src/mcp/server/index.ts +0 -1
  727. package/src/middlewares/elysia.test.ts +0 -295
  728. package/src/middlewares/elysia.ts +0 -116
  729. package/src/middlewares/express.test.ts +0 -371
  730. package/src/middlewares/express.ts +0 -140
  731. package/src/middlewares/hono.test.ts +0 -476
  732. package/src/middlewares/hono.ts +0 -153
  733. package/src/middlewares/internal/mppx.test.ts +0 -177
  734. package/src/middlewares/internal/mppx.ts +0 -67
  735. package/src/middlewares/nextjs.test.ts +0 -369
  736. package/src/middlewares/nextjs.ts +0 -107
  737. package/src/proxy/Proxy.test.ts +0 -1031
  738. package/src/proxy/Proxy.ts +0 -345
  739. package/src/proxy/Service.test.ts +0 -182
  740. package/src/proxy/Service.ts +0 -253
  741. package/src/proxy/index.ts +0 -6
  742. package/src/proxy/internal/Headers.test.ts +0 -139
  743. package/src/proxy/internal/Headers.ts +0 -66
  744. package/src/proxy/internal/Route.test.ts +0 -217
  745. package/src/proxy/internal/Route.ts +0 -64
  746. package/src/proxy/services/anthropic.test.ts +0 -132
  747. package/src/proxy/services/anthropic.ts +0 -52
  748. package/src/proxy/services/openai.test.ts +0 -157
  749. package/src/proxy/services/openai.ts +0 -59
  750. package/src/proxy/services/stripe.test.ts +0 -175
  751. package/src/proxy/services/stripe.ts +0 -58
  752. package/src/server/Methods.ts +0 -3
  753. package/src/server/Mppx.authorize.test.ts +0 -210
  754. package/src/server/Mppx.test-d.ts +0 -360
  755. package/src/server/Mppx.test.ts +0 -5813
  756. package/src/server/Mppx.ts +0 -2623
  757. package/src/server/NodeListener.test.ts +0 -293
  758. package/src/server/NodeListener.ts +0 -45
  759. package/src/server/Request.test.ts +0 -255
  760. package/src/server/Request.ts +0 -155
  761. package/src/server/Response.test.ts +0 -32
  762. package/src/server/Response.ts +0 -45
  763. package/src/server/Transport.test.ts +0 -598
  764. package/src/server/Transport.ts +0 -320
  765. package/src/server/index.ts +0 -9
  766. package/src/server/internal/html/compose.main.gen.ts +0 -2
  767. package/src/server/internal/html/compose.main.ts +0 -88
  768. package/src/server/internal/html/config.ts +0 -672
  769. package/src/server/internal/html/constants.ts +0 -28
  770. package/src/server/internal/html/serviceWorker.client.ts +0 -28
  771. package/src/server/internal/html/serviceWorker.gen.ts +0 -2
  772. package/src/server/internal/html/serviceWorker.ts +0 -27
  773. package/src/server/internal/html/tsconfig.compose.json +0 -8
  774. package/src/server/internal/html/tsconfig.worker.client.json +0 -8
  775. package/src/server/internal/html/tsconfig.worker.json +0 -8
  776. package/src/server/internal/scope.ts +0 -43
  777. package/src/stripe/Charge.integration.test.ts +0 -329
  778. package/src/stripe/Methods.test.ts +0 -62
  779. package/src/stripe/Methods.ts +0 -44
  780. package/src/stripe/client/Charge.test.ts +0 -205
  781. package/src/stripe/client/Charge.ts +0 -132
  782. package/src/stripe/client/Methods.ts +0 -37
  783. package/src/stripe/client/index.ts +0 -2
  784. package/src/stripe/index.ts +0 -1
  785. package/src/stripe/internal/constants.ts +0 -7
  786. package/src/stripe/internal/types.ts +0 -46
  787. package/src/stripe/server/Charge.test-d.ts +0 -66
  788. package/src/stripe/server/Charge.test.ts +0 -621
  789. package/src/stripe/server/Charge.ts +0 -434
  790. package/src/stripe/server/Methods.ts +0 -24
  791. package/src/stripe/server/index.ts +0 -2
  792. package/src/stripe/server/internal/html/main.ts +0 -165
  793. package/src/stripe/server/internal/html/node_modules/.bin/mppx +0 -22
  794. package/src/stripe/server/internal/html/node_modules/.bin/mppx.src +0 -22
  795. package/src/stripe/server/internal/html/package.json +0 -9
  796. package/src/stripe/server/internal/html/stripe-js-pure.d.ts +0 -7
  797. package/src/stripe/server/internal/html/tsconfig.json +0 -8
  798. package/src/stripe/server/internal/html/types.ts +0 -5
  799. package/src/stripe/server/internal/html.gen.ts +0 -2
  800. package/src/tempo/AccessKeyAuthorization.test.ts +0 -141
  801. package/src/tempo/Attribution.test.ts +0 -294
  802. package/src/tempo/Attribution.ts +0 -185
  803. package/src/tempo/Methods.test.ts +0 -425
  804. package/src/tempo/Methods.ts +0 -367
  805. package/src/tempo/Proof.conformance.test.ts +0 -146
  806. package/src/tempo/Proof.test-d.ts +0 -32
  807. package/src/tempo/Proof.test.ts +0 -40
  808. package/src/tempo/Proof.ts +0 -69
  809. package/src/tempo/PublicExports.test-d.ts +0 -130
  810. package/src/tempo/Subscription.integration.test.ts +0 -591
  811. package/src/tempo/client/Charge.test.ts +0 -501
  812. package/src/tempo/client/Charge.ts +0 -289
  813. package/src/tempo/client/Methods.ts +0 -45
  814. package/src/tempo/client/ResolveAccount.ts +0 -46
  815. package/src/tempo/client/Subscription.test.ts +0 -180
  816. package/src/tempo/client/Subscription.ts +0 -156
  817. package/src/tempo/client/index.ts +0 -17
  818. package/src/tempo/index.ts +0 -5
  819. package/src/tempo/internal/account.ts +0 -56
  820. package/src/tempo/internal/address.ts +0 -6
  821. package/src/tempo/internal/auto-swap.test.ts +0 -198
  822. package/src/tempo/internal/auto-swap.ts +0 -188
  823. package/src/tempo/internal/charge.test.ts +0 -66
  824. package/src/tempo/internal/charge.ts +0 -43
  825. package/src/tempo/internal/defaults.test.ts +0 -95
  826. package/src/tempo/internal/defaults.ts +0 -53
  827. package/src/tempo/internal/fee-payer.test.ts +0 -1177
  828. package/src/tempo/internal/fee-payer.ts +0 -808
  829. package/src/tempo/internal/fee-token.test.ts +0 -165
  830. package/src/tempo/internal/fee-token.ts +0 -72
  831. package/src/tempo/internal/proof.test.ts +0 -97
  832. package/src/tempo/internal/proof.ts +0 -87
  833. package/src/tempo/internal/selectors.ts +0 -10
  834. package/src/tempo/internal/types.ts +0 -19
  835. package/src/tempo/legacy/AccessKeyAuthorization.test.ts +0 -162
  836. package/src/tempo/legacy/README.md +0 -9
  837. package/src/tempo/legacy/client/ChannelOps.test.ts +0 -379
  838. package/src/tempo/legacy/client/ChannelOps.ts +0 -271
  839. package/src/tempo/legacy/client/Session.test.ts +0 -800
  840. package/src/tempo/legacy/client/Session.ts +0 -397
  841. package/src/tempo/legacy/client/SessionManager.test.ts +0 -468
  842. package/src/tempo/legacy/client/SessionManager.ts +0 -909
  843. package/src/tempo/legacy/client/index.ts +0 -6
  844. package/src/tempo/legacy/index.ts +0 -6
  845. package/src/tempo/legacy/server/Defaults.test-d.ts +0 -9
  846. package/src/tempo/legacy/server/Session.test.ts +0 -6370
  847. package/src/tempo/legacy/server/Session.ts +0 -1024
  848. package/src/tempo/legacy/server/index.ts +0 -4
  849. package/src/tempo/legacy/session/Chain.test.ts +0 -1349
  850. package/src/tempo/legacy/session/Chain.ts +0 -830
  851. package/src/tempo/legacy/session/Channel.test.ts +0 -109
  852. package/src/tempo/legacy/session/Channel.ts +0 -51
  853. package/src/tempo/legacy/session/ChannelStore.test.ts +0 -58
  854. package/src/tempo/legacy/session/ChannelStore.ts +0 -39
  855. package/src/tempo/legacy/session/Types.ts +0 -91
  856. package/src/tempo/legacy/session/Voucher.test.ts +0 -410
  857. package/src/tempo/legacy/session/Voucher.ts +0 -183
  858. package/src/tempo/legacy/session/escrow.abi.ts +0 -760
  859. package/src/tempo/legacy/session/index.ts +0 -8
  860. package/src/tempo/server/AtomicStore.test-d.ts +0 -50
  861. package/src/tempo/server/Charge.test.ts +0 -6121
  862. package/src/tempo/server/Charge.ts +0 -1351
  863. package/src/tempo/server/Methods.ts +0 -106
  864. package/src/tempo/server/Relay.test.ts +0 -677
  865. package/src/tempo/server/Relay.ts +0 -297
  866. package/src/tempo/server/SponsorBudget.test.ts +0 -154
  867. package/src/tempo/server/SponsorBudget.ts +0 -219
  868. package/src/tempo/server/Sse.test.ts +0 -321
  869. package/src/tempo/server/Subscription.test.ts +0 -1944
  870. package/src/tempo/server/Subscription.ts +0 -1333
  871. package/src/tempo/server/index.ts +0 -12
  872. package/src/tempo/server/internal/html/main.ts +0 -115
  873. package/src/tempo/server/internal/html/node_modules/.bin/mppx +0 -22
  874. package/src/tempo/server/internal/html/node_modules/.bin/mppx.src +0 -22
  875. package/src/tempo/server/internal/html/package.json +0 -10
  876. package/src/tempo/server/internal/html/tsconfig.json +0 -8
  877. package/src/tempo/server/internal/html.gen.ts +0 -2
  878. package/src/tempo/server/internal/request-body.test.ts +0 -210
  879. package/src/tempo/server/internal/request-body.ts +0 -61
  880. package/src/tempo/server/internal/transport.test.ts +0 -903
  881. package/src/tempo/server/internal/transport.ts +0 -310
  882. package/src/tempo/session/README.md +0 -208
  883. package/src/tempo/session/Snapshot.test.ts +0 -41
  884. package/src/tempo/session/Snapshot.ts +0 -95
  885. package/src/tempo/session/client/ChannelOps.test.ts +0 -218
  886. package/src/tempo/session/client/ChannelOps.ts +0 -348
  887. package/src/tempo/session/client/ChannelStore.ts +0 -111
  888. package/src/tempo/session/client/CredentialState.test.ts +0 -789
  889. package/src/tempo/session/client/CredentialState.ts +0 -942
  890. package/src/tempo/session/client/ReceiptCoordinator.ts +0 -95
  891. package/src/tempo/session/client/Runtime.test.ts +0 -1104
  892. package/src/tempo/session/client/Runtime.ts +0 -1008
  893. package/src/tempo/session/client/Session.test.ts +0 -1355
  894. package/src/tempo/session/client/Session.ts +0 -420
  895. package/src/tempo/session/client/SessionManager.test.ts +0 -1899
  896. package/src/tempo/session/client/SessionManager.ts +0 -996
  897. package/src/tempo/session/client/Transports.test.ts +0 -1141
  898. package/src/tempo/session/client/Transports.ts +0 -1534
  899. package/src/tempo/session/client/index.ts +0 -40
  900. package/src/tempo/session/client/internal/SessionManager.ts +0 -36
  901. package/src/tempo/session/index.ts +0 -7
  902. package/src/tempo/session/precompile/Chain.integration.test.ts +0 -339
  903. package/src/tempo/session/precompile/Chain.test.ts +0 -1641
  904. package/src/tempo/session/precompile/Chain.ts +0 -1149
  905. package/src/tempo/session/precompile/Channel.test.ts +0 -147
  906. package/src/tempo/session/precompile/Channel.ts +0 -108
  907. package/src/tempo/session/precompile/Protocol.test.ts +0 -358
  908. package/src/tempo/session/precompile/Protocol.ts +0 -520
  909. package/src/tempo/session/precompile/Voucher.test.ts +0 -354
  910. package/src/tempo/session/precompile/Voucher.ts +0 -162
  911. package/src/tempo/session/precompile/escrow.abi.ts +0 -226
  912. package/src/tempo/session/precompile/index.ts +0 -33
  913. package/src/tempo/session/server/ChannelOps.test.ts +0 -129
  914. package/src/tempo/session/server/ChannelOps.ts +0 -157
  915. package/src/tempo/session/server/ChannelStore.test.ts +0 -1093
  916. package/src/tempo/session/server/ChannelStore.ts +0 -835
  917. package/src/tempo/session/server/CredentialVerification.test.ts +0 -299
  918. package/src/tempo/session/server/CredentialVerification.ts +0 -775
  919. package/src/tempo/session/server/MeteredStream.ts +0 -95
  920. package/src/tempo/session/server/RequestState.test.ts +0 -574
  921. package/src/tempo/session/server/RequestState.ts +0 -507
  922. package/src/tempo/session/server/Session.integration.test.ts +0 -449
  923. package/src/tempo/session/server/Session.test.ts +0 -3862
  924. package/src/tempo/session/server/Session.ts +0 -570
  925. package/src/tempo/session/server/Settlement.test.ts +0 -345
  926. package/src/tempo/session/server/Settlement.ts +0 -527
  927. package/src/tempo/session/server/Sse.fuzz.test.ts +0 -138
  928. package/src/tempo/session/server/Sse.test.ts +0 -557
  929. package/src/tempo/session/server/Sse.ts +0 -254
  930. package/src/tempo/session/server/Transports.test.ts +0 -346
  931. package/src/tempo/session/server/Transports.ts +0 -255
  932. package/src/tempo/session/server/Ws.test.ts +0 -594
  933. package/src/tempo/session/server/Ws.ts +0 -385
  934. package/src/tempo/session/server/index.ts +0 -12
  935. package/src/tempo/subscription/KeyAuthorization.test.ts +0 -282
  936. package/src/tempo/subscription/KeyAuthorization.ts +0 -396
  937. package/src/tempo/subscription/Receipt.ts +0 -28
  938. package/src/tempo/subscription/Store.test.ts +0 -609
  939. package/src/tempo/subscription/Store.ts +0 -449
  940. package/src/tempo/subscription/Types.ts +0 -68
  941. package/src/tempo/subscription/index.ts +0 -23
  942. package/src/tsconfig.json +0 -10
  943. package/src/validation/core.ts +0 -386
  944. package/src/validation/index.ts +0 -11
  945. package/src/viem/Account.test.ts +0 -72
  946. package/src/viem/Account.ts +0 -30
  947. package/src/viem/Client.test.ts +0 -366
  948. package/src/viem/Client.ts +0 -93
  949. package/src/x402/Assets.test.ts +0 -253
  950. package/src/x402/Assets.ts +0 -221
  951. package/src/x402/Exact.e2e.test.ts +0 -448
  952. package/src/x402/Exact.localnet.test.ts +0 -475
  953. package/src/x402/Header.test.ts +0 -73
  954. package/src/x402/Header.ts +0 -79
  955. package/src/x402/PublicInterface.test-d.ts +0 -39
  956. package/src/x402/Types.ts +0 -248
  957. package/src/x402/client/Exact.test.ts +0 -309
  958. package/src/x402/client/Exact.ts +0 -186
  959. package/src/x402/index.ts +0 -6
  960. package/src/x402/internal/ChallengeBrand.ts +0 -14
  961. package/src/x402/internal/RouteBinding.ts +0 -18
  962. package/src/x402/server/EvmCharge.ts +0 -394
  963. package/src/x402/server/Facilitator.test.ts +0 -111
  964. package/src/x402/server/Facilitator.ts +0 -56
  965. package/src/zod.test.ts +0 -169
  966. package/src/zod.ts +0 -71
@@ -35,13 +35,13 @@ export declare function charge<const parameters extends charge.Parameters>(param
35
35
  readonly name: "stripe";
36
36
  readonly intent: "charge";
37
37
  readonly schema: {
38
- readonly credential: {
39
- readonly payload: z.ZodMiniObject<{
38
+ credential: {
39
+ payload: z.ZodMiniObject<{
40
40
  externalId: z.ZodMiniOptional<z.ZodMiniString<string>>;
41
41
  spt: z.ZodMiniString<string>;
42
42
  }, z.core.$strip>;
43
43
  };
44
- readonly request: z.ZodMiniPipe<z.ZodMiniObject<{
44
+ request: z.ZodMiniPipe<z.ZodMiniObject<{
45
45
  amount: z.ZodMiniString<string>;
46
46
  currency: z.ZodMiniString<string>;
47
47
  decimals: z.ZodMiniNumber<number>;
@@ -52,25 +52,25 @@ export declare function charge<const parameters extends charge.Parameters>(param
52
52
  paymentMethodTypes: z.ZodMiniArray<z.ZodMiniString<string>>;
53
53
  recipient: z.ZodMiniOptional<z.ZodMiniString<string>>;
54
54
  }, z.core.$strip>, z.ZodMiniTransform<{
55
+ currency: string;
56
+ description?: string | undefined;
57
+ externalId?: string | undefined;
58
+ recipient?: string | undefined;
55
59
  amount: string;
56
60
  methodDetails: {
57
- metadata?: Record<string, string> | undefined;
58
61
  networkId: string;
59
62
  paymentMethodTypes: string[];
63
+ metadata?: Record<string, string> | undefined;
60
64
  };
61
- currency: string;
62
- description?: string | undefined;
63
- externalId?: string | undefined;
64
- recipient?: string | undefined;
65
65
  }, {
66
66
  amount: string;
67
67
  currency: string;
68
68
  decimals: number;
69
- networkId: string;
70
- paymentMethodTypes: string[];
71
69
  description?: string | undefined;
72
70
  externalId?: string | undefined;
73
71
  metadata?: Record<string, string> | undefined;
72
+ networkId: string;
73
+ paymentMethodTypes: string[];
74
74
  recipient?: string | undefined;
75
75
  }>>;
76
76
  };
@@ -92,7 +92,7 @@ export declare namespace charge {
92
92
  metadata?: Record<string, string> | undefined;
93
93
  /** Optional server-side Stripe Connect settlement policy. Not included in MPP challenges. */
94
94
  connect?: ConnectSettlement | ResolveConnectSettlement | undefined;
95
- } & Defaults & OneOf<{
95
+ } & Method.ComposableHooks<typeof Methods.charge> & Defaults & OneOf<{
96
96
  /** Pre-configured Stripe SDK instance. Any object matching the duck-typed `StripeClient` shape works. */
97
97
  client: StripeClient;
98
98
  } | {
@@ -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 = (() => {
@@ -159,7 +207,7 @@ async function createWithClient(parameters) {
159
207
  };
160
208
  const paymentIntentOptions = {
161
209
  apiVersion: stripePreviewVersion,
162
- idempotencyKey: `mppx_${challenge.id}_${spt}`,
210
+ idempotencyKey: `mpp_${challenge.id}_${spt}`,
163
211
  ...(settlement?.stripeAccount !== undefined && { stripeAccount: settlement.stripeAccount }),
164
212
  };
165
213
  const result = await client.paymentIntents.create(paymentIntentParams, paymentIntentOptions);
@@ -202,7 +250,7 @@ async function createWithSecretKey(parameters) {
202
250
  const headers = {
203
251
  Authorization: `Basic ${btoa(`${secretKey}:`)}`,
204
252
  'Content-Type': 'application/x-www-form-urlencoded',
205
- 'Idempotency-Key': `mppx_${challenge.id}_${spt}`,
253
+ 'Idempotency-Key': `mpp_${challenge.id}_${spt}`,
206
254
  'Stripe-Version': stripePreviewVersion,
207
255
  ...(settlement?.stripeAccount !== undefined && { 'Stripe-Account': settlement.stripeAccount }),
208
256
  };
@@ -236,8 +284,6 @@ function buildAnalytics(parameters) {
236
284
  const { credential } = parameters;
237
285
  const { challenge } = credential;
238
286
  return {
239
- mpp_version: '1',
240
- mpp_is_mpp: 'true',
241
287
  mpp_intent: challenge.intent,
242
288
  mpp_challenge_id: challenge.id,
243
289
  mpp_server_id: challenge.realm,
@@ -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 (network: stripe.Network) => Promise<string> ? DefaultMethodsBuilder : SyncMethodsResult;
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.create({ ... }).spt.charge()` or `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,21 +1,282 @@
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 (typeof depositAddresses === 'function') {
197
+ // Async: resolve addresses dynamically
198
+ return new DefaultMethodsBuilder(async (additional) => {
199
+ const networks = neededNetworks(excluded, additional);
200
+ const results = await Promise.allSettled(networks.map(async (network) => ({
201
+ network,
202
+ address: await resolveAddress(network),
203
+ })));
204
+ const addresses = new Map();
205
+ for (const result of results) {
206
+ if (result.status === 'fulfilled') {
207
+ addresses.set(result.value.network, result.value.address);
208
+ }
209
+ else {
210
+ const idx = results.indexOf(result);
211
+ console.warn(`[stripe.create] ${networks[idx]} method excluded: ${result.reason?.message ?? result.reason}`);
212
+ }
213
+ }
214
+ return createMethodsFromAddresses(addresses, excluded, additional);
215
+ });
216
+ }
217
+ const addresses = new Map(Object.entries(depositAddresses ?? {}));
218
+ return Object.assign(createMethodsFromAddresses(addresses, excluded), {
219
+ additional: (additional) => createMethodsFromAddresses(addresses, excluded, additional),
220
+ });
221
+ }
222
+ return {
223
+ spt: { charge: makeSptCharge },
224
+ tempo: { charge: makeTempoCharge, session: makeTempoSession },
225
+ base: { charge: makeBaseCharge },
226
+ findOrCreateDepositAddress: async (network) => {
227
+ const address = await resolveAddress(network);
228
+ return address;
229
+ },
230
+ defaultMethods,
231
+ };
16
232
  }
17
233
  (function (stripe) {
18
- /** Creates a Stripe `charge` method for SPT-based payments. */
234
+ stripe.spt = charge_;
235
+ /** @deprecated Use `stripe.create({ ... }).spt.charge()` or `stripe.spt()` instead. */
19
236
  stripe.charge = charge_;
237
+ stripe.create = stripe;
238
+ stripe.findOrCreateDepositAddress = _findOrCreateDepositAddress;
20
239
  })(stripe || (stripe = {}));
240
+ function neededNetworks(excluded, additional) {
241
+ const networks = [];
242
+ if (!excluded.has('tempo') || additional?.tempo?.session)
243
+ networks.push('tempo');
244
+ if (additional?.base)
245
+ networks.push('base');
246
+ for (const [network] of customRails(additional)) {
247
+ networks.push(network);
248
+ }
249
+ return networks;
250
+ }
251
+ function requireAddress(addresses, network) {
252
+ const address = addresses.get(network);
253
+ if (!address)
254
+ throw new Error(`stripe: missing deposit address for ${network}`);
255
+ return address;
256
+ }
257
+ function toArray(value) {
258
+ return Array.isArray(value) ? value : [value];
259
+ }
260
+ function customRails(additional) {
261
+ if (!additional)
262
+ return [];
263
+ return Object.entries(additional).filter((entry) => {
264
+ const [k, v] = entry;
265
+ return !additionalBuiltinKeys.includes(k) && typeof v === 'function';
266
+ });
267
+ }
268
+ function createPaymentSuccessHandler(client, network, connect, metadata) {
269
+ return (params) => {
270
+ const { receipt, request } = params;
271
+ if (receipt?.reference && request?.amount) {
272
+ return recordCryptoPayment(client, {
273
+ network,
274
+ reference: receipt.reference,
275
+ amount: String(request.amount),
276
+ ...(connect && { connect }),
277
+ ...(metadata && { metadata }),
278
+ });
279
+ }
280
+ };
281
+ }
21
282
  //# sourceMappingURL=Methods.js.map
@@ -0,0 +1,13 @@
1
+ import type { StripeClient } from '../../internal/types.js';
2
+ import { type ConnectConfig } from './request.js';
3
+ export type DepositAddressResolver = (client: StripeClient, network: string, options?: {
4
+ connect?: ConnectConfig;
5
+ }) => Promise<string>;
6
+ /**
7
+ * Finds an existing deposit address or creates a new one for the given network.
8
+ * Cached per client+network+stripeAccount for the process lifetime.
9
+ */
10
+ export declare function findOrCreateDepositAddress(client: StripeClient, network: string, options?: {
11
+ connect?: ConnectConfig;
12
+ }): Promise<string>;
13
+ //# sourceMappingURL=deposit-address.d.ts.map
@@ -0,0 +1,28 @@
1
+ import { stripeRequest } from './request.js';
2
+ const cache = new WeakMap();
3
+ /**
4
+ * Finds an existing deposit address or creates a new one for the given network.
5
+ * Cached per client+network+stripeAccount for the process lifetime.
6
+ */
7
+ export async function findOrCreateDepositAddress(client, network, options) {
8
+ let clientCache = cache.get(client);
9
+ if (!clientCache) {
10
+ clientCache = new Map();
11
+ cache.set(client, clientCache);
12
+ }
13
+ const key = options?.connect?.stripeAccount
14
+ ? `${options.connect.stripeAccount}:${network}`
15
+ : network;
16
+ const cached = clientCache.get(key);
17
+ if (cached)
18
+ return cached;
19
+ const list = (await stripeRequest(client, 'GET', `/v1/crypto/deposit_addresses?network=${network}&limit=1`, undefined, options));
20
+ if (list.data && list.data.length > 0) {
21
+ clientCache.set(key, list.data[0].address);
22
+ return list.data[0].address;
23
+ }
24
+ const created = (await stripeRequest(client, 'POST', '/v1/crypto/deposit_addresses', { network }, options));
25
+ clientCache.set(key, created.address);
26
+ return created.address;
27
+ }
28
+ //# sourceMappingURL=deposit-address.js.map