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
@@ -6,8 +6,8 @@ export declare function evm(parameters: evm.Parameters): readonly [import("../..
6
6
  readonly name: "evm";
7
7
  readonly intent: "charge";
8
8
  readonly schema: {
9
- readonly credential: {
10
- readonly payload: import("zod/mini").ZodMiniObject<{
9
+ credential: {
10
+ payload: import("zod/mini").ZodMiniObject<{
11
11
  from: import("zod/mini").ZodMiniString<string>;
12
12
  nonce: import("zod/mini").ZodMiniString<string>;
13
13
  signature: import("zod/mini").ZodMiniString<string>;
@@ -18,7 +18,7 @@ export declare function evm(parameters: evm.Parameters): readonly [import("../..
18
18
  value: import("zod/mini").ZodMiniString<string>;
19
19
  }, import("zod/v4/core").$strip>;
20
20
  };
21
- readonly request: import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniObject<{
21
+ request: import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniObject<{
22
22
  amount: import("zod/mini").ZodMiniString<string>;
23
23
  chainId: import("zod/mini").ZodMiniNumber<number>;
24
24
  currency: import("zod/mini").ZodMiniString<string>;
@@ -35,31 +35,31 @@ export declare function evm(parameters: evm.Parameters): readonly [import("../..
35
35
  recipient: import("zod/mini").ZodMiniString<string>;
36
36
  }, import("zod/v4/core").$strip>>>;
37
37
  }, import("zod/v4/core").$strip>, import("zod/mini").ZodMiniTransform<{
38
+ description?: string | undefined;
39
+ externalId?: string | undefined;
38
40
  amount: string;
39
41
  currency: `0x${string}`;
40
42
  methodDetails: {
43
+ chainId: number;
44
+ credentialTypes: string[];
45
+ decimals: number;
46
+ permit2Address?: `0x${string}` | undefined;
41
47
  splits?: {
42
48
  amount: string;
43
49
  recipient: string;
44
50
  }[] | undefined;
45
- permit2Address?: `0x${string}` | undefined;
46
- chainId: number;
47
- credentialTypes: string[];
48
- decimals: number;
49
51
  };
50
52
  recipient: `0x${string}`;
51
- description?: string | undefined;
52
- externalId?: string | undefined;
53
53
  }, {
54
54
  amount: string;
55
55
  chainId: number;
56
56
  currency: string;
57
- decimals: number;
58
- recipient: string;
59
57
  credentialTypes?: "authorization"[] | undefined;
58
+ decimals: number;
60
59
  description?: string | undefined;
61
60
  externalId?: string | undefined;
62
61
  permit2Address?: string | undefined;
62
+ recipient: string;
63
63
  splits?: {
64
64
  amount: string;
65
65
  recipient: string;
@@ -13,7 +13,7 @@ export declare function charge(parameters: charge.NativeConfig): Method.Server<t
13
13
  export declare namespace charge {
14
14
  type Parameters = NativeConfig;
15
15
  type Native = Method.Server<typeof Methods.charge, Defaults>;
16
- type NativeConfig = BaseConfig & CurrencyConfig & RecipientConfig;
16
+ type NativeConfig = BaseConfig & CurrencyConfig & RecipientConfig & Method.ComposableHooks<typeof Methods.charge>;
17
17
  type BaseConfig = {
18
18
  /** EIP-3009 token domain metadata. Required for raw addresses and viem tokens; inferred for known assets. */
19
19
  authorization?: Types.AuthorizationConfig | undefined;
@@ -12,6 +12,8 @@ export function charge(parameters) {
12
12
  const paths = createPaths(config);
13
13
  const transport = httpTransport(paths);
14
14
  return Method.toServer(Methods.charge, {
15
+ canOffer: parameters.canOffer,
16
+ onPaymentSuccess: parameters.onPaymentSuccess,
15
17
  defaults: {
16
18
  chainId: config.chainId,
17
19
  currency: config.currency,
@@ -7,8 +7,8 @@ export declare function evm<const parameters extends evm.Parameters>(parameters:
7
7
  readonly name: "evm";
8
8
  readonly intent: "charge";
9
9
  readonly schema: {
10
- readonly credential: {
11
- readonly payload: import("zod/mini").ZodMiniObject<{
10
+ credential: {
11
+ payload: import("zod/mini").ZodMiniObject<{
12
12
  from: import("zod/mini").ZodMiniString<string>;
13
13
  nonce: import("zod/mini").ZodMiniString<string>;
14
14
  signature: import("zod/mini").ZodMiniString<string>;
@@ -19,7 +19,7 @@ export declare function evm<const parameters extends evm.Parameters>(parameters:
19
19
  value: import("zod/mini").ZodMiniString<string>;
20
20
  }, import("zod/v4/core").$strip>;
21
21
  };
22
- readonly request: import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniObject<{
22
+ request: import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniObject<{
23
23
  amount: import("zod/mini").ZodMiniString<string>;
24
24
  chainId: import("zod/mini").ZodMiniNumber<number>;
25
25
  currency: import("zod/mini").ZodMiniString<string>;
@@ -36,31 +36,31 @@ export declare function evm<const parameters extends evm.Parameters>(parameters:
36
36
  recipient: import("zod/mini").ZodMiniString<string>;
37
37
  }, import("zod/v4/core").$strip>>>;
38
38
  }, import("zod/v4/core").$strip>, import("zod/mini").ZodMiniTransform<{
39
+ description?: string | undefined;
40
+ externalId?: string | undefined;
39
41
  amount: string;
40
42
  currency: `0x${string}`;
41
43
  methodDetails: {
44
+ chainId: number;
45
+ credentialTypes: string[];
46
+ decimals: number;
47
+ permit2Address?: `0x${string}` | undefined;
42
48
  splits?: {
43
49
  amount: string;
44
50
  recipient: string;
45
51
  }[] | undefined;
46
- permit2Address?: `0x${string}` | undefined;
47
- chainId: number;
48
- credentialTypes: string[];
49
- decimals: number;
50
52
  };
51
53
  recipient: `0x${string}`;
52
- description?: string | undefined;
53
- externalId?: string | undefined;
54
54
  }, {
55
55
  amount: string;
56
56
  chainId: number;
57
57
  currency: string;
58
- decimals: number;
59
- recipient: string;
60
58
  credentialTypes?: "authorization"[] | undefined;
59
+ decimals: number;
61
60
  description?: string | undefined;
62
61
  externalId?: string | undefined;
63
62
  permit2Address?: string | undefined;
63
+ recipient: string;
64
64
  splits?: {
65
65
  amount: string;
66
66
  recipient: string;
@@ -7,8 +7,8 @@ import type * as z from '../zod.js';
7
7
  * can opt into the exact wire encoding their protocol expects.
8
8
  */
9
9
  export declare function createJson<const schema extends z.ZodMiniType>(schema: schema): {
10
- encode(value: z.core.output<schema>): string;
11
- decode(value: string): z.core.output<schema>;
10
+ encode(value: z.infer<schema>): string;
11
+ decode(value: string): z.infer<schema>;
12
12
  };
13
13
  /** Error thrown when a JSON header value is not valid base64-encoded JSON. */
14
14
  export declare class InvalidJsonHeaderError extends Error {
@@ -2,6 +2,12 @@
2
2
  export type Compute<type> = {
3
3
  [key in keyof type]: type[key];
4
4
  } & unknown;
5
+ /** Recursively makes every property of a value readonly. */
6
+ export type DeepReadonly<type> = type extends (...args: infer _arguments) => infer _return ? type : type extends readonly unknown[] ? {
7
+ readonly [key in keyof type]: DeepReadonly<type[key]>;
8
+ } : type extends object ? {
9
+ readonly [key in keyof type]: DeepReadonly<type[key]>;
10
+ } : type;
5
11
  declare const symbol: unique symbol;
6
12
  /**
7
13
  * Creates a branded type of `T` with the brand `U`.
@@ -46,6 +46,8 @@ export declare namespace create {
46
46
  docs?: Service.Docs | undefined;
47
47
  /** Custom `fetch` implementation. Defaults to `globalThis.fetch`. */
48
48
  fetch?: typeof globalThis.fetch | undefined;
49
+ /** Default handler for failed upstream attempts. Services may override it. */
50
+ onUpstreamError?: Service.UpstreamErrorHandler | undefined;
49
51
  /** Services to proxy. Each service is mounted at `/{serviceId}/`. */
50
52
  services: Service.Service[];
51
53
  /** Human-readable title for the proxy shown in `llms.txt`. */
@@ -99,7 +99,13 @@ export function create(config) {
99
99
  const endpoint = matched.value;
100
100
  const ctx = { request, service, upstreamPath };
101
101
  if (endpoint === true)
102
- return proxyUpstream({ request, service, ctx, proxy });
102
+ return proxyUpstream({
103
+ request,
104
+ service,
105
+ ctx,
106
+ proxy,
107
+ onUpstreamError: service.onUpstreamError ?? config.onUpstreamError,
108
+ });
103
109
  const handler = typeof endpoint === 'function' ? endpoint : endpoint.pay;
104
110
  const scope = getConfiguredScope(handler) ??
105
111
  deriveRouteScope({
@@ -130,6 +136,7 @@ export function create(config) {
130
136
  service,
131
137
  ctx: { ...ctx, ...options },
132
138
  proxy,
139
+ onUpstreamError: service.onUpstreamError ?? config.onUpstreamError,
133
140
  });
134
141
  return result.withReceipt(upstreamRes);
135
142
  }
@@ -140,7 +147,7 @@ export function create(config) {
140
147
  }
141
148
  /** @internal */
142
149
  async function proxyUpstream(options) {
143
- const { request, service, ctx, proxy } = options;
150
+ const { request, service, ctx, proxy, onUpstreamError } = options;
144
151
  const url = ctx.upstreamPath + new URL(request.url).search;
145
152
  const headers = Headers.scrub(request.headers);
146
153
  const method = request.method.toUpperCase();
@@ -154,14 +161,111 @@ async function proxyUpstream(options) {
154
161
  init.body = request.body;
155
162
  init.duplex = 'half';
156
163
  }
157
- let upstreamReq = new globalThis.Request(new URL(url, new URL(service.baseUrl).origin), init);
164
+ const upstreamRequest = new globalThis.Request(new URL(url, new URL(service.baseUrl).origin), init);
165
+ if (!onUpstreamError)
166
+ return proxyUpstreamOnce({
167
+ ctx,
168
+ proxy,
169
+ service,
170
+ upstreamRequest,
171
+ });
172
+ for (let attempt = 1;; attempt++) {
173
+ const outcome = await proxyUpstreamAttempt({
174
+ ctx,
175
+ proxy,
176
+ service,
177
+ upstreamRequest,
178
+ });
179
+ let response = outcome.response;
180
+ if (response && service.rewriteResponse)
181
+ response = await service.rewriteResponse(response, ctx);
182
+ if (response?.ok)
183
+ return response;
184
+ const handlerResponse = response?.clone();
185
+ const action = await onUpstreamError({
186
+ ...ctx,
187
+ attempt,
188
+ error: outcome.error,
189
+ response: handlerResponse,
190
+ upstreamRequest: outcome.upstreamRequest,
191
+ });
192
+ if (!action.retry) {
193
+ if (action.response) {
194
+ if (response)
195
+ void cancelResponseBody(response);
196
+ return action.response;
197
+ }
198
+ if (response) {
199
+ if (handlerResponse)
200
+ void cancelResponseBody(handlerResponse);
201
+ return response;
202
+ }
203
+ throw outcome.error;
204
+ }
205
+ for (const failedResponse of [response, handlerResponse])
206
+ if (failedResponse)
207
+ void cancelResponseBody(failedResponse);
208
+ await waitForRetry(action.delay, request.signal);
209
+ }
210
+ }
211
+ /** Proxies one request without retaining a replay copy of its body. */
212
+ async function proxyUpstreamOnce(options) {
213
+ const { ctx, proxy, service } = options;
214
+ let upstreamRequest = options.upstreamRequest;
158
215
  if (service.rewriteRequest)
159
- upstreamReq = await service.rewriteRequest(upstreamReq, ctx);
160
- let upstreamRes = await proxy(upstreamReq);
161
- upstreamRes = Headers.scrubResponse(upstreamRes);
216
+ upstreamRequest = await service.rewriteRequest(upstreamRequest, ctx);
217
+ let response = await proxy(upstreamRequest);
218
+ response = Headers.scrubResponse(response);
162
219
  if (service.rewriteResponse)
163
- upstreamRes = await service.rewriteResponse(upstreamRes, ctx);
164
- return upstreamRes;
220
+ response = await service.rewriteResponse(response, ctx);
221
+ return response;
222
+ }
223
+ /** Performs one independently replayable upstream request attempt. */
224
+ async function proxyUpstreamAttempt(options) {
225
+ const { ctx, proxy, service } = options;
226
+ let upstreamRequest = options.upstreamRequest.clone();
227
+ try {
228
+ if (service.rewriteRequest)
229
+ upstreamRequest = await service.rewriteRequest(upstreamRequest, ctx);
230
+ let response = await proxy(upstreamRequest);
231
+ response = Headers.scrubResponse(response);
232
+ return { error: undefined, response, upstreamRequest };
233
+ }
234
+ catch (error) {
235
+ return { error, response: undefined, upstreamRequest };
236
+ }
237
+ }
238
+ /** Cancels an unused failed response body before a retry. */
239
+ async function cancelResponseBody(response) {
240
+ if (!response.body || response.bodyUsed)
241
+ return;
242
+ try {
243
+ await response.body.cancel();
244
+ }
245
+ catch {
246
+ return;
247
+ }
248
+ }
249
+ /** Waits for a retry delay while respecting request cancellation. */
250
+ async function waitForRetry(delay = 0, signal) {
251
+ if (signal.aborted)
252
+ throw signal.reason ?? new DOMException('The operation was aborted.', 'AbortError');
253
+ if (!Number.isFinite(delay) || delay <= 0)
254
+ return;
255
+ await new Promise((resolve, reject) => {
256
+ const onAbort = () => {
257
+ clearTimeout(timeout);
258
+ signal.removeEventListener('abort', onAbort);
259
+ reject(signal.reason ?? new DOMException('The operation was aborted.', 'AbortError'));
260
+ };
261
+ const timeout = setTimeout(() => {
262
+ signal.removeEventListener('abort', onAbort);
263
+ resolve();
264
+ }, delay);
265
+ signal.addEventListener('abort', onAbort, { once: true });
266
+ if (signal.aborted)
267
+ onAbort();
268
+ });
165
269
  }
166
270
  function buildDiscoveryRoutes(services) {
167
271
  return services.flatMap((service) => Object.entries(service.routes).map(([pattern, endpoint]) => {
@@ -225,7 +329,11 @@ function matchesPaymentBinding(endpoint, binding) {
225
329
  const payment = Service.paymentOf(endpoint);
226
330
  if (!payment)
227
331
  return true;
228
- return payment.method === binding.method && payment.intent === binding.intent;
332
+ const offers = Array.isArray(payment.offers) ? payment.offers : [payment];
333
+ return offers.some((offer) => typeof offer === 'object' &&
334
+ offer !== null &&
335
+ offer.method === binding.method &&
336
+ offer.intent === binding.intent);
229
337
  }
230
338
  function createFetchProxy(target, options) {
231
339
  const localFetch = options?.fetch ?? globalThis.fetch;
@@ -10,6 +10,8 @@ export type Service = {
10
10
  docs?: Docs | undefined;
11
11
  /** Unique identifier used as the URL prefix (e.g. `'openai'` → `/{id}/...`). */
12
12
  id: string;
13
+ /** Handles failed upstream attempts before the proxy returns a response. Retries do not re-verify payment. */
14
+ onUpstreamError?: UpstreamErrorHandler | undefined;
13
15
  /** Hook to modify the upstream request before sending (e.g. inject auth headers). */
14
16
  rewriteRequest?: ((req: Request, ctx: Context) => Request | Promise<Request>) | undefined;
15
17
  /** Hook to modify the upstream response before returning to the client. */
@@ -57,11 +59,41 @@ export type Context = {
57
59
  service: Service;
58
60
  upstreamPath: string;
59
61
  } & EndpointOptions;
62
+ /** Context passed to an upstream error handler after a failed proxy attempt. */
63
+ export type UpstreamErrorContext = Context & {
64
+ /** One-based upstream attempt number. */
65
+ attempt: number;
66
+ /** Error thrown while preparing or sending the request. Undefined for HTTP error responses. */
67
+ error: unknown | undefined;
68
+ /** Non-2xx upstream response. Undefined when the attempt threw. */
69
+ response: Response | undefined;
70
+ /** Rewritten request sent to the upstream service. */
71
+ upstreamRequest: Request;
72
+ };
73
+ /** Action returned by an upstream error handler. */
74
+ export type UpstreamErrorAction = {
75
+ /** Wait this many milliseconds before retrying. */
76
+ delay?: number | undefined;
77
+ retry: true;
78
+ } | {
79
+ /** Optional response to return instead of the original failure. */
80
+ response?: Response | undefined;
81
+ retry: false;
82
+ };
83
+ /**
84
+ * Handles a non-2xx upstream response or thrown request error.
85
+ *
86
+ * This hook runs before the response is returned. It cannot observe failures
87
+ * from a streaming body after response headers have been sent.
88
+ */
89
+ export type UpstreamErrorHandler<options = unknown> = (context: UpstreamErrorContext & Partial<Omit<options & {}, 'onUpstreamError' | 'routes'>>) => UpstreamErrorAction | Promise<UpstreamErrorAction>;
60
90
  export type From<options extends {
61
91
  routes: string;
62
92
  }> = {
63
93
  routes: EndpointMap<options['routes']>;
64
- } & Omit<options, 'routes'>;
94
+ } & Omit<options, 'onUpstreamError' | 'routes'> & {
95
+ onUpstreamError?: UpstreamErrorHandler<options> | undefined;
96
+ };
65
97
  /**
66
98
  * Creates a service definition.
67
99
  *
@@ -98,6 +130,8 @@ export declare namespace from {
98
130
  }) => string | undefined) | undefined;
99
131
  /** Shorthand: full request mutation function. Takes priority over `bearer`/`headers`. */
100
132
  mutate?: ((req: Request) => Request | Promise<Request>) | undefined;
133
+ /** Handles failed upstream attempts before the proxy returns a response. Retries do not re-verify payment. */
134
+ onUpstreamError?: UpstreamErrorHandler<options> | undefined;
101
135
  /** Hook to modify the upstream request. Receives typed per-endpoint options via `ctx`. */
102
136
  rewriteRequest?: ((req: Request, ctx: Context & Partial<options & {}>) => Request | Promise<Request>) | undefined;
103
137
  /** Map of route patterns to endpoint definitions. */
@@ -115,5 +149,6 @@ export declare function toLlmsTxt(services: Service[], options?: {
115
149
  }): string;
116
150
  /** Extracts per-endpoint options from an endpoint definition. */
117
151
  export declare function getOptions(endpoint: Endpoint): EndpointOptions | undefined;
152
+ /** Derives discovery payment metadata from an explicitly priced endpoint handler. */
118
153
  export declare function paymentOf(endpoint: Endpoint): Record<string, unknown> | null;
119
154
  //# sourceMappingURL=Service.d.ts.map
@@ -1,4 +1,4 @@
1
- import { Value } from 'ox';
1
+ import * as Metadata from '../discovery/internal/Metadata.js';
2
2
  /**
3
3
  * Creates a service definition.
4
4
  *
@@ -22,6 +22,7 @@ export function from(id, config) {
22
22
  description: config.description,
23
23
  docs: resolveDocs(config),
24
24
  id,
25
+ onUpstreamError: config.onUpstreamError,
25
26
  routes: config.routes,
26
27
  title: config.title,
27
28
  rewriteRequest: config.rewriteRequest
@@ -89,19 +90,19 @@ export function getOptions(endpoint) {
89
90
  return endpoint.options;
90
91
  return undefined;
91
92
  }
93
+ /** Derives discovery payment metadata from an explicitly priced endpoint handler. */
92
94
  export function paymentOf(endpoint) {
93
95
  if (endpoint === true)
94
96
  return null;
95
97
  const handler = typeof endpoint === 'function' ? endpoint : endpoint.pay;
96
98
  if (!('_internal' in handler))
97
99
  return null;
98
- const { name, intent, defaults: _, schema: _s, _canonicalRequest, _stableBinding: _sb, authorize: _a, request: _r, respond: _re, stableBinding: _st, transport: _t, verify: _v, ...rest } = handler._internal;
99
- const amount = (() => {
100
- if (typeof rest.amount === 'string' && typeof rest.decimals === 'number')
101
- return String(Value.from(rest.amount, rest.decimals));
102
- return rest.amount;
103
- })();
104
- return { intent, method: name, ...rest, ...(amount !== undefined && { amount }) };
100
+ const metadata = handler._internal;
101
+ if (!metadata)
102
+ return null;
103
+ if (Metadata.isComposed(metadata))
104
+ return { offers: Metadata.offers(metadata).map(Metadata.paymentOffer) };
105
+ return Metadata.paymentOffer(metadata);
105
106
  }
106
107
  function resolveDocs(config) {
107
108
  if (config.docs) {
@@ -25,6 +25,7 @@ export function anthropic(config) {
25
25
  apiReference: 'https://docs.anthropic.com/en/api/getting-started',
26
26
  homepage: 'https://docs.anthropic.com/en/docs/intro-to-claude',
27
27
  },
28
+ onUpstreamError: config.onUpstreamError,
28
29
  rewriteRequest(request, ctx) {
29
30
  const apiKey = ctx.apiKey ?? config.apiKey;
30
31
  request.headers.set('x-api-key', apiKey);
@@ -26,6 +26,7 @@ export function openai(config) {
26
26
  homepage: 'https://platform.openai.com/docs',
27
27
  llms: 'https://context7.com/websites/platform_openai/llms.txt',
28
28
  },
29
+ onUpstreamError: config.onUpstreamError,
29
30
  rewriteRequest(request, ctx) {
30
31
  const apiKey = ctx.apiKey ?? config.apiKey;
31
32
  request.headers.delete('OpenAI-Organization');
@@ -26,6 +26,7 @@ export function stripe(config) {
26
26
  homepage: 'https://docs.stripe.com',
27
27
  llms: 'https://docs.stripe.com/llms.txt',
28
28
  },
29
+ onUpstreamError: config.onUpstreamError,
29
30
  rewriteRequest(request, ctx) {
30
31
  const apiKey = ctx.apiKey ?? config.apiKey;
31
32
  request.headers.delete('Stripe-Account');
@@ -1,11 +1,13 @@
1
1
  import type { IncomingMessage, ServerResponse } from 'node:http';
2
+ import type * as Attestation from '../attestation/Types.js';
2
3
  import * as Challenge from '../Challenge.js';
3
4
  import * as Credential from '../Credential.js';
4
5
  import * as Errors from '../Errors.js';
5
- import type { MaybePromise } from '../internal/types.js';
6
+ import type { DeepReadonly, MaybePromise } from '../internal/types.js';
6
7
  import * as Method from '../Method.js';
7
8
  import type * as Receipt from '../Receipt.js';
8
9
  import * as z from '../zod.js';
10
+ import * as Html from './internal/html/config.js';
9
11
  import * as Transport from './Transport.js';
10
12
  export type Methods = readonly (Method.AnyServer | readonly Method.AnyServer[])[];
11
13
  export type ServerEventMap<methods extends readonly Method.Method[] = readonly Method.Method[], transport extends Transport.AnyTransport = Transport.AnyTransport> = {
@@ -36,6 +38,36 @@ export type ServerMethodDescriptor<method extends Pick<Method.Method, 'intent' |
36
38
  intent: method['intent'];
37
39
  name: method['name'];
38
40
  }>;
41
+ /** A configured payment offer exposed to the server's `selectOffers` hook. */
42
+ export type ServerOffer<method extends Method.Method = Method.Method> = method extends unknown ? ServerOfferFor<method> : never;
43
+ type ServerOfferFor<method extends Method.Method> = Readonly<{
44
+ /** Canonical wire key for the configured method. */
45
+ key: `${method['name']}/${method['intent']}`;
46
+ /** Immutable method metadata for this offer. */
47
+ method: ServerOfferMethodDescriptor<method>;
48
+ /** Schema-normalized request configured for this offer. */
49
+ request: DeepReadonly<z.output<method['schema']['request']>>;
50
+ }>;
51
+ /** Immutable method metadata exposed to offer-selection hooks. */
52
+ export type ServerOfferMethodDescriptor<method extends Method.Method = Method.Method> = Readonly<{
53
+ /** Optional public alias used to register this server method. */
54
+ alias?: method extends {
55
+ alias?: infer alias;
56
+ } ? alias : string;
57
+ intent: method['intent'];
58
+ name: method['name'];
59
+ }>;
60
+ /**
61
+ * Selects a subset of configured offers before payment challenges are issued.
62
+ *
63
+ * The hook must select at least one offer. Returned offers must come from the input,
64
+ * contain no duplicates, and preserve their original order. Offers and their
65
+ * normalized requests are deeply immutable. The incoming request is cloned so
66
+ * the hook may safely inspect its body when it has not already been consumed.
67
+ */
68
+ export type SelectOffers<methods extends readonly Method.Method[]> = (offers: readonly ServerOffer<methods[number]>[], context: Readonly<{
69
+ request: globalThis.Request;
70
+ }>) => MaybePromise<readonly ServerOffer<methods[number]>[]>;
39
71
  /** Context passed to `onChallengeCreated`. */
40
72
  export type ChallengeContext<method extends Method.Method = Method.Method, transport extends Transport.AnyTransport = Transport.AnyTransport> = Readonly<{
41
73
  capturedRequest?: Method.CapturedRequest | undefined;
@@ -136,7 +168,7 @@ export type Mppx<methods extends Methods = Methods, transport extends Transport.
136
168
  * })
137
169
  * ```
138
170
  */
139
- compose(...entries: ComposeEntry<FlattenMethods<methods>>[]): (input: Request) => Promise<MethodFn.Response<Transport.Http>>;
171
+ compose(...entries: ComposeEntry<FlattenMethods<methods>>[]): ComposedHandler;
140
172
  } : {}) & Handlers<FlattenMethods<methods>, transport> & {
141
173
  /**
142
174
  * Generate Challenge objects for registered methods without going through
@@ -196,7 +228,7 @@ type TransportOverrideOf<mi> = mi extends {
196
228
  type EffectiveTransportOf<mi, defaultTransport extends Transport.AnyTransport> = [
197
229
  TransportOverrideOf<mi>
198
230
  ] extends [never] ? defaultTransport : TransportOverrideOf<mi>;
199
- declare const reservedMppxKeyValues: readonly ["challenge", "compose", "methods", "on", "onChallengeCreated", "onPaymentFailed", "onPaymentSuccess", "realm", "broadcastCredential", "transport", "validateCredential", "verifyCredential"];
231
+ declare const reservedMppxKeyValues: readonly ['challenge', 'compose', 'methods', 'on', 'onChallengeCreated', 'onPaymentFailed', 'onPaymentSuccess', 'realm', 'broadcastCredential', 'transport', 'validateCredential', 'verifyCredential'];
200
232
  /** Public instance keys that payment method names and shorthand intents cannot shadow. */
201
233
  export type ReservedKey = (typeof reservedMppxKeyValues)[number];
202
234
  /** Public instance keys that payment method names and shorthand intents cannot shadow. */
@@ -207,18 +239,25 @@ type IsUniqueIntent<methods extends readonly Method.AnyServer[], intent extends
207
239
  }> extends infer M ? M extends M ? [Exclude<Extract<methods[number], {
208
240
  intent: intent;
209
241
  }>, M>] extends [never] ? true : false : never : never;
210
- /** Only includes shorthand intent keys when the intent is unique across methods. */
211
- type UniqueIntentHandlers<methods extends readonly Method.AnyServer[], transport extends Transport.AnyTransport> = {
212
- [method_name in methods[number]['intent'] as IsUniqueIntent<methods, method_name> extends true ? method_name extends ReservedKey ? never : method_name : never]: MethodFn<Extract<methods[number], {
213
- intent: method_name;
242
+ /** Shorthand intent handlers. Single-method intents get direct handlers;
243
+ * multi-method intents get an implicit compose wrapper. */
244
+ type IntentHandlers<methods extends readonly Method.AnyServer[], transport extends Transport.AnyTransport> = {
245
+ [intent in methods[number]['intent'] as intent extends ReservedKey ? never : intent]: IsUniqueIntent<methods, intent> extends true ? MethodFn<Extract<methods[number], {
246
+ intent: intent;
214
247
  }>, EffectiveTransportOf<Extract<methods[number], {
215
- intent: method_name;
248
+ intent: intent;
216
249
  }>, transport>, NonNullable<Extract<methods[number], {
217
- intent: method_name;
250
+ intent: intent;
218
251
  }>['defaults']>> & MethodExtensions<Extract<methods[number], {
219
- intent: method_name;
220
- }>>;
252
+ intent: intent;
253
+ }>> : MultiMethodFn<Extract<methods[number], {
254
+ intent: intent;
255
+ }>, transport>;
221
256
  };
257
+ /** Handler for an intent with multiple methods - takes the intersection of all methods' options. */
258
+ type MultiMethodFn<methods extends Method.AnyServer, transport extends Transport.AnyTransport> = (options: UnionToIntersection<MultiMethodFnDistribute<methods>>) => (input: Transport.InputOf<transport>) => Promise<MethodFn.Response<transport>>;
259
+ type MultiMethodFnDistribute<M> = M extends Method.Server<infer method, infer defaults, any, any, any> ? MethodFn.Options<method, NonNullable<defaults>> : never;
260
+ type UnionToIntersection<U> = (U extends any ? (x: U) => void : never) extends (x: infer I) => void ? I : never;
222
261
  /** Nested handlers: `mppx.tempo.charge(...)`, grouped by method name then intent. */
223
262
  type PublicAlias<method extends Method.AnyServer> = method extends {
224
263
  alias?: infer alias;
@@ -237,7 +276,7 @@ type NestedHandlers<methods extends readonly Method.AnyServer[], transport exten
237
276
  };
238
277
  type Handlers<methods extends readonly Method.AnyServer[], transport extends Transport.AnyTransport> = {
239
278
  [mi in methods[number] as `${mi['name']}/${mi['intent']}`]: MethodFn<mi, EffectiveTransportOf<mi, transport>, NonNullable<mi['defaults']>> & MethodExtensions<mi>;
240
- } & UniqueIntentHandlers<methods, transport> & NestedHandlers<methods, transport> & {
279
+ } & IntentHandlers<methods, transport> & NestedHandlers<methods, transport> & {
241
280
  [mi in methods[number] as PublicAlias<mi> extends string ? `${mi['name']}/${PublicAlias<mi>}` : never]: MethodFn<mi, EffectiveTransportOf<mi, transport>, NonNullable<mi['defaults']>> & MethodExtensions<mi>;
242
281
  };
243
282
  type MethodExtensions<method extends Method.AnyServer> = method extends {
@@ -272,12 +311,16 @@ type ChallengeFn<method extends Method.Method, defaults extends Record<string, u
272
311
  export declare function create<const methods extends Methods, const transport extends Transport.AnyTransport = Transport.Http>(config: create.Config<methods, transport>): Mppx<methods, transport>;
273
312
  export declare namespace create {
274
313
  type Config<methods extends Methods = Methods, transport extends Transport.AnyTransport = Transport.Http> = {
314
+ /** Request-attestation verifiers required before handling an HTTP payment request. */
315
+ attestation?: transport extends Transport.Http ? Attestation.VerifierMap | undefined : never;
275
316
  /** Array of configured methods. @example [tempo()] */
276
317
  methods: methods;
277
318
  /** Server realm (e.g., hostname). Resolution order: explicit value > env vars (`MPP_REALM`, `FLY_APP_NAME`, `VERCEL_URL`, etc.) > request URL hostname > `"MPP Payment"`. */
278
319
  realm?: string | undefined;
279
320
  /** Secret key for HMAC-bound challenge IDs for stateless verification. Must be at least 32 bytes. Auto-detected from `MPP_SECRET_KEY` environment variable. */
280
321
  secretKey?: string | undefined;
322
+ /** Selects a subset of composed HTTP offers before challenges are issued. Successfully matched credential dispatch bypasses this hook. */
323
+ selectOffers?: transport extends Transport.Http ? SelectOffers<FlattenMethods<methods>> | undefined : never;
281
324
  /** Transport to use. @default Transport.http() */
282
325
  transport?: transport | undefined;
283
326
  };
@@ -312,6 +355,25 @@ declare namespace MethodFn {
312
355
  withReceipt: Transport.WithReceipt<transport>;
313
356
  };
314
357
  }
358
+ /** A configured handler — the return value of e.g. `mppx.charge({ ... })`. @internal */
359
+ type ConfiguredHandler = ((input: Request) => Promise<MethodFn.Response<Transport.Http>>) & {
360
+ _internal: {
361
+ _method: Method.AnyServer;
362
+ description?: string | undefined;
363
+ name: string;
364
+ intent: string;
365
+ html: Html.Options | undefined;
366
+ meta?: Record<string, string> | undefined;
367
+ scope?: string | undefined;
368
+ _canonicalRequest: Record<string, unknown>;
369
+ _stableBinding?: Method.StableBindingFn<Method.Method> | undefined;
370
+ };
371
+ };
372
+ type ComposedHandler = ((input: Request) => Promise<MethodFn.Response<Transport.Http>>) & {
373
+ _internal?: {
374
+ offers: readonly ConfiguredHandler['_internal'][];
375
+ };
376
+ };
315
377
  /** An entry for `compose()`: a method reference, handler function ref, or string key paired with its options. */
316
378
  type ComposeEntry<methods extends readonly Method.AnyServer[]> = {
317
379
  [i in keyof methods]: readonly [
@@ -331,7 +393,7 @@ type ComposeEntry<methods extends readonly Method.AnyServer[]> = {
331
393
  MethodFn.Options<methods[i], NonNullable<methods[i]['defaults']>>
332
394
  ];
333
395
  }[number];
334
- export declare function compose(...args: readonly unknown[]): (input: Request) => Promise<MethodFn.Response<Transport.Http>>;
396
+ export declare function compose(...args: readonly unknown[]): ComposedHandler;
335
397
  /**
336
398
  * Wraps a payment handler to create a Node.js HTTP listener.
337
399
  *