mppx 0.8.17 → 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 (914) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/README.md +15 -0
  3. package/dist/Challenge.js +21 -4
  4. package/dist/bin.js +3 -3
  5. package/dist/cli/THIRD-PARTY-LICENSES.txt +328 -0
  6. package/dist/cli/cli.js +253 -1505
  7. package/dist/cli/plugins/index.js +19 -5
  8. package/dist/cli/plugins/tempo.js +7 -3
  9. package/dist/cli/sessions/Manager.js +7 -4
  10. package/dist/cli/sessions/request.d.ts +2 -0
  11. package/dist/cli/sessions/request.js +18 -0
  12. package/dist/cli/sessions/store.js +28 -14
  13. package/dist/discovery/Discovery.js +2 -1
  14. package/dist/evm/client/Charge.js +8 -0
  15. package/dist/server/core.d.ts +9 -0
  16. package/dist/server/core.js +9 -0
  17. package/dist/stripe/server/Charge.js +2 -4
  18. package/dist/stripe/server/Methods.d.ts +2 -2
  19. package/dist/stripe/server/Methods.js +17 -11
  20. package/dist/stripe/server/internal/html.gen.d.ts +1 -1
  21. package/dist/stripe/server/internal/html.gen.js +1 -1
  22. package/dist/stripe/server/spt.d.ts +8 -0
  23. package/dist/stripe/server/spt.js +8 -0
  24. package/dist/tempo/Methods.d.ts +13 -0
  25. package/dist/tempo/Methods.js +14 -3
  26. package/dist/tempo/client/Charge.d.ts +3 -0
  27. package/dist/tempo/client/Charge.js +31 -9
  28. package/dist/tempo/client/Methods.d.ts +13 -0
  29. package/dist/tempo/internal/defaults.d.ts +11 -0
  30. package/dist/tempo/internal/defaults.js +11 -0
  31. package/dist/tempo/internal/machine-token-charge.d.ts +51 -0
  32. package/dist/tempo/internal/machine-token-charge.js +113 -0
  33. package/dist/tempo/internal/machine-token-session.d.ts +88 -0
  34. package/dist/tempo/internal/machine-token-session.js +173 -0
  35. package/dist/tempo/internal/signature-envelope.d.ts +14 -0
  36. package/dist/tempo/internal/signature-envelope.js +28 -0
  37. package/dist/tempo/legacy/client/ChannelOps.d.ts +2 -2
  38. package/dist/tempo/legacy/client/ChannelOps.js +11 -5
  39. package/dist/tempo/legacy/client/Session.d.ts +13 -1
  40. package/dist/tempo/legacy/client/Session.js +3 -3
  41. package/dist/tempo/legacy/client/SessionManager.d.ts +3 -1
  42. package/dist/tempo/legacy/client/SessionManager.js +2 -0
  43. package/dist/tempo/server/Charge.d.ts +3 -0
  44. package/dist/tempo/server/Charge.js +58 -17
  45. package/dist/tempo/server/Methods.d.ts +21 -4
  46. package/dist/tempo/server/Methods.js +8 -4
  47. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  48. package/dist/tempo/server/internal/html.gen.js +1 -1
  49. package/dist/tempo/session/client/ChannelOps.d.ts +18 -3
  50. package/dist/tempo/session/client/ChannelOps.js +35 -6
  51. package/dist/tempo/session/client/ChannelStore.d.ts +0 -5
  52. package/dist/tempo/session/client/ChannelStore.js +2 -2
  53. package/dist/tempo/session/client/CredentialState.d.ts +17 -2
  54. package/dist/tempo/session/client/CredentialState.js +77 -76
  55. package/dist/tempo/session/client/Runtime.d.ts +4 -2
  56. package/dist/tempo/session/client/Runtime.js +21 -5
  57. package/dist/tempo/session/client/Session.d.ts +15 -3
  58. package/dist/tempo/session/client/Session.js +186 -63
  59. package/dist/tempo/session/client/SessionManager.d.ts +3 -1
  60. package/dist/tempo/session/client/SessionManager.js +35 -11
  61. package/dist/tempo/session/client/Transports.d.ts +2 -0
  62. package/dist/tempo/session/client/Transports.js +12 -2
  63. package/dist/tempo/session/precompile/Chain.d.ts +10 -2
  64. package/dist/tempo/session/precompile/Chain.js +50 -10
  65. package/dist/tempo/session/precompile/Protocol.d.ts +15 -0
  66. package/dist/tempo/session/precompile/Protocol.js +7 -0
  67. package/dist/tempo/session/precompile/Voucher.d.ts +3 -1
  68. package/dist/tempo/session/precompile/Voucher.js +6 -12
  69. package/dist/tempo/session/server/ChannelStore.d.ts +6 -0
  70. package/dist/tempo/session/server/ChannelStore.js +11 -4
  71. package/dist/tempo/session/server/CredentialVerification.d.ts +11 -9
  72. package/dist/tempo/session/server/CredentialVerification.js +185 -109
  73. package/dist/tempo/session/server/MeteredStream.d.ts +1 -1
  74. package/dist/tempo/session/server/MeteredStream.js +5 -4
  75. package/dist/tempo/session/server/RequestState.d.ts +19 -0
  76. package/dist/tempo/session/server/RequestState.js +61 -15
  77. package/dist/tempo/session/server/Session.d.ts +14 -2
  78. package/dist/tempo/session/server/Session.js +37 -6
  79. package/dist/tempo/session/server/Settlement.d.ts +11 -4
  80. package/dist/tempo/session/server/Settlement.js +53 -21
  81. package/dist/x402/client/Exact.d.ts +8 -0
  82. package/dist/x402/client/Exact.js +40 -10
  83. package/dist/x402/server/EvmCharge.d.ts +22 -0
  84. package/dist/x402/server/EvmCharge.js +23 -1
  85. package/package.json +15 -37
  86. package/dist/BodyDigest.d.ts.map +0 -1
  87. package/dist/BodyDigest.js.map +0 -1
  88. package/dist/Challenge.d.ts.map +0 -1
  89. package/dist/Challenge.js.map +0 -1
  90. package/dist/Constants.d.ts.map +0 -1
  91. package/dist/Constants.js.map +0 -1
  92. package/dist/Credential.d.ts.map +0 -1
  93. package/dist/Credential.js.map +0 -1
  94. package/dist/Errors.d.ts.map +0 -1
  95. package/dist/Errors.js.map +0 -1
  96. package/dist/Expires.d.ts.map +0 -1
  97. package/dist/Expires.js.map +0 -1
  98. package/dist/Html.d.ts.map +0 -1
  99. package/dist/Html.js.map +0 -1
  100. package/dist/Mcp.d.ts.map +0 -1
  101. package/dist/Mcp.js.map +0 -1
  102. package/dist/Method.d.ts.map +0 -1
  103. package/dist/Method.js.map +0 -1
  104. package/dist/PaymentRequest.d.ts.map +0 -1
  105. package/dist/PaymentRequest.js.map +0 -1
  106. package/dist/Receipt.d.ts.map +0 -1
  107. package/dist/Receipt.js.map +0 -1
  108. package/dist/Store.d.ts.map +0 -1
  109. package/dist/Store.js.map +0 -1
  110. package/dist/attestation/Client.d.ts.map +0 -1
  111. package/dist/attestation/Client.js.map +0 -1
  112. package/dist/attestation/Constants.d.ts.map +0 -1
  113. package/dist/attestation/Constants.js.map +0 -1
  114. package/dist/attestation/Server.d.ts.map +0 -1
  115. package/dist/attestation/Server.js.map +0 -1
  116. package/dist/attestation/Types.d.ts.map +0 -1
  117. package/dist/attestation/Types.js.map +0 -1
  118. package/dist/attestation/index.d.ts.map +0 -1
  119. package/dist/attestation/index.js.map +0 -1
  120. package/dist/attestation/internal/HttpMessageSignature.d.ts.map +0 -1
  121. package/dist/attestation/internal/HttpMessageSignature.js.map +0 -1
  122. package/dist/attestation/internal/SigningContext.d.ts.map +0 -1
  123. package/dist/attestation/internal/SigningContext.js.map +0 -1
  124. package/dist/bin.d.ts.map +0 -1
  125. package/dist/bin.js.map +0 -1
  126. package/dist/cli/account.d.ts.map +0 -1
  127. package/dist/cli/account.js.map +0 -1
  128. package/dist/cli/cli.d.ts.map +0 -1
  129. package/dist/cli/cli.js.map +0 -1
  130. package/dist/cli/config.d.ts.map +0 -1
  131. package/dist/cli/config.js.map +0 -1
  132. package/dist/cli/internal.d.ts.map +0 -1
  133. package/dist/cli/internal.js.map +0 -1
  134. package/dist/cli/plugins/evm.d.ts.map +0 -1
  135. package/dist/cli/plugins/evm.js.map +0 -1
  136. package/dist/cli/plugins/index.d.ts.map +0 -1
  137. package/dist/cli/plugins/index.js.map +0 -1
  138. package/dist/cli/plugins/plugin.d.ts.map +0 -1
  139. package/dist/cli/plugins/plugin.js.map +0 -1
  140. package/dist/cli/plugins/stripe.d.ts.map +0 -1
  141. package/dist/cli/plugins/stripe.js.map +0 -1
  142. package/dist/cli/plugins/tempo.d.ts.map +0 -1
  143. package/dist/cli/plugins/tempo.js.map +0 -1
  144. package/dist/cli/sessions/Manager.d.ts.map +0 -1
  145. package/dist/cli/sessions/Manager.js.map +0 -1
  146. package/dist/cli/sessions/commands.d.ts.map +0 -1
  147. package/dist/cli/sessions/commands.js.map +0 -1
  148. package/dist/cli/sessions/request.d.ts.map +0 -1
  149. package/dist/cli/sessions/request.js.map +0 -1
  150. package/dist/cli/sessions/store.d.ts.map +0 -1
  151. package/dist/cli/sessions/store.js.map +0 -1
  152. package/dist/cli/utils.d.ts.map +0 -1
  153. package/dist/cli/utils.js.map +0 -1
  154. package/dist/cli/validate/challenge.d.ts.map +0 -1
  155. package/dist/cli/validate/challenge.js.map +0 -1
  156. package/dist/cli/validate/discovery.d.ts.map +0 -1
  157. package/dist/cli/validate/discovery.js.map +0 -1
  158. package/dist/cli/validate/helpers.d.ts.map +0 -1
  159. package/dist/cli/validate/helpers.js.map +0 -1
  160. package/dist/cli/validate/index.d.ts.map +0 -1
  161. package/dist/cli/validate/index.js.map +0 -1
  162. package/dist/cli/validate/messages.d.ts.map +0 -1
  163. package/dist/cli/validate/messages.js.map +0 -1
  164. package/dist/cli/validate/payment.d.ts.map +0 -1
  165. package/dist/cli/validate/payment.js.map +0 -1
  166. package/dist/client/Methods.d.ts.map +0 -1
  167. package/dist/client/Methods.js.map +0 -1
  168. package/dist/client/Mppx.d.ts.map +0 -1
  169. package/dist/client/Mppx.js.map +0 -1
  170. package/dist/client/Transport.d.ts.map +0 -1
  171. package/dist/client/Transport.js.map +0 -1
  172. package/dist/client/index.d.ts.map +0 -1
  173. package/dist/client/index.js.map +0 -1
  174. package/dist/client/internal/Fetch.d.ts.map +0 -1
  175. package/dist/client/internal/Fetch.js.map +0 -1
  176. package/dist/client/internal/MethodChallenge.d.ts.map +0 -1
  177. package/dist/client/internal/MethodChallenge.js.map +0 -1
  178. package/dist/client/internal/MethodResponse.d.ts.map +0 -1
  179. package/dist/client/internal/MethodResponse.js.map +0 -1
  180. package/dist/client/internal/protocols/Mcp.d.ts.map +0 -1
  181. package/dist/client/internal/protocols/Mcp.js.map +0 -1
  182. package/dist/client/internal/protocols/Mpp.d.ts.map +0 -1
  183. package/dist/client/internal/protocols/Mpp.js.map +0 -1
  184. package/dist/client/internal/protocols/Protocol.d.ts.map +0 -1
  185. package/dist/client/internal/protocols/Protocol.js.map +0 -1
  186. package/dist/client/internal/protocols/Shared.d.ts.map +0 -1
  187. package/dist/client/internal/protocols/Shared.js.map +0 -1
  188. package/dist/client/internal/protocols/X402.d.ts.map +0 -1
  189. package/dist/client/internal/protocols/X402.js.map +0 -1
  190. package/dist/client/node.d.ts.map +0 -1
  191. package/dist/client/node.js.map +0 -1
  192. package/dist/discovery/Discovery.d.ts.map +0 -1
  193. package/dist/discovery/Discovery.js.map +0 -1
  194. package/dist/discovery/OpenApi.d.ts.map +0 -1
  195. package/dist/discovery/OpenApi.js.map +0 -1
  196. package/dist/discovery/Validate.d.ts.map +0 -1
  197. package/dist/discovery/Validate.js.map +0 -1
  198. package/dist/discovery/index.d.ts.map +0 -1
  199. package/dist/discovery/index.js.map +0 -1
  200. package/dist/discovery/internal/Metadata.d.ts.map +0 -1
  201. package/dist/discovery/internal/Metadata.js.map +0 -1
  202. package/dist/evm/Assets.d.ts.map +0 -1
  203. package/dist/evm/Assets.js.map +0 -1
  204. package/dist/evm/Chains.d.ts.map +0 -1
  205. package/dist/evm/Chains.js.map +0 -1
  206. package/dist/evm/Methods.d.ts.map +0 -1
  207. package/dist/evm/Methods.js.map +0 -1
  208. package/dist/evm/Types.d.ts.map +0 -1
  209. package/dist/evm/Types.js.map +0 -1
  210. package/dist/evm/client/Charge.d.ts.map +0 -1
  211. package/dist/evm/client/Charge.js.map +0 -1
  212. package/dist/evm/client/Methods.d.ts.map +0 -1
  213. package/dist/evm/client/Methods.js.map +0 -1
  214. package/dist/evm/client/index.d.ts.map +0 -1
  215. package/dist/evm/client/index.js.map +0 -1
  216. package/dist/evm/index.d.ts.map +0 -1
  217. package/dist/evm/index.js.map +0 -1
  218. package/dist/evm/server/Charge.d.ts.map +0 -1
  219. package/dist/evm/server/Charge.js.map +0 -1
  220. package/dist/evm/server/Methods.d.ts.map +0 -1
  221. package/dist/evm/server/Methods.js.map +0 -1
  222. package/dist/evm/server/index.d.ts.map +0 -1
  223. package/dist/evm/server/index.js.map +0 -1
  224. package/dist/index.d.ts.map +0 -1
  225. package/dist/index.js.map +0 -1
  226. package/dist/internal/AcceptPayment.d.ts.map +0 -1
  227. package/dist/internal/AcceptPayment.js.map +0 -1
  228. package/dist/internal/HeaderCodec.d.ts.map +0 -1
  229. package/dist/internal/HeaderCodec.js.map +0 -1
  230. package/dist/internal/constantTimeEqual.d.ts.map +0 -1
  231. package/dist/internal/constantTimeEqual.js.map +0 -1
  232. package/dist/internal/env.d.ts.map +0 -1
  233. package/dist/internal/env.js.map +0 -1
  234. package/dist/internal/types.d.ts.map +0 -1
  235. package/dist/internal/types.js.map +0 -1
  236. package/dist/mcp/client/McpClient.d.ts.map +0 -1
  237. package/dist/mcp/client/McpClient.js.map +0 -1
  238. package/dist/mcp/client/index.d.ts.map +0 -1
  239. package/dist/mcp/client/index.js.map +0 -1
  240. package/dist/mcp/server/Transport.d.ts.map +0 -1
  241. package/dist/mcp/server/Transport.js.map +0 -1
  242. package/dist/mcp/server/index.d.ts.map +0 -1
  243. package/dist/mcp/server/index.js.map +0 -1
  244. package/dist/middlewares/elysia.d.ts.map +0 -1
  245. package/dist/middlewares/elysia.js.map +0 -1
  246. package/dist/middlewares/express.d.ts.map +0 -1
  247. package/dist/middlewares/express.js.map +0 -1
  248. package/dist/middlewares/hono.d.ts.map +0 -1
  249. package/dist/middlewares/hono.js.map +0 -1
  250. package/dist/middlewares/internal/mppx.d.ts.map +0 -1
  251. package/dist/middlewares/internal/mppx.js.map +0 -1
  252. package/dist/middlewares/nextjs.d.ts.map +0 -1
  253. package/dist/middlewares/nextjs.js.map +0 -1
  254. package/dist/proxy/Proxy.d.ts.map +0 -1
  255. package/dist/proxy/Proxy.js.map +0 -1
  256. package/dist/proxy/Service.d.ts.map +0 -1
  257. package/dist/proxy/Service.js.map +0 -1
  258. package/dist/proxy/index.d.ts.map +0 -1
  259. package/dist/proxy/index.js.map +0 -1
  260. package/dist/proxy/internal/Headers.d.ts.map +0 -1
  261. package/dist/proxy/internal/Headers.js.map +0 -1
  262. package/dist/proxy/internal/Route.d.ts.map +0 -1
  263. package/dist/proxy/internal/Route.js.map +0 -1
  264. package/dist/proxy/services/anthropic.d.ts.map +0 -1
  265. package/dist/proxy/services/anthropic.js.map +0 -1
  266. package/dist/proxy/services/openai.d.ts.map +0 -1
  267. package/dist/proxy/services/openai.js.map +0 -1
  268. package/dist/proxy/services/stripe.d.ts.map +0 -1
  269. package/dist/proxy/services/stripe.js.map +0 -1
  270. package/dist/server/Methods.d.ts.map +0 -1
  271. package/dist/server/Methods.js.map +0 -1
  272. package/dist/server/Mppx.d.ts.map +0 -1
  273. package/dist/server/Mppx.js.map +0 -1
  274. package/dist/server/NodeListener.d.ts.map +0 -1
  275. package/dist/server/NodeListener.js.map +0 -1
  276. package/dist/server/Request.d.ts.map +0 -1
  277. package/dist/server/Request.js.map +0 -1
  278. package/dist/server/Response.d.ts.map +0 -1
  279. package/dist/server/Response.js.map +0 -1
  280. package/dist/server/Transport.d.ts.map +0 -1
  281. package/dist/server/Transport.js.map +0 -1
  282. package/dist/server/index.d.ts.map +0 -1
  283. package/dist/server/index.js.map +0 -1
  284. package/dist/server/internal/html/compose.main.gen.d.ts.map +0 -1
  285. package/dist/server/internal/html/compose.main.gen.js.map +0 -1
  286. package/dist/server/internal/html/config.d.ts.map +0 -1
  287. package/dist/server/internal/html/config.js.map +0 -1
  288. package/dist/server/internal/html/constants.d.ts.map +0 -1
  289. package/dist/server/internal/html/constants.js.map +0 -1
  290. package/dist/server/internal/html/serviceWorker.client.d.ts.map +0 -1
  291. package/dist/server/internal/html/serviceWorker.client.js.map +0 -1
  292. package/dist/server/internal/html/serviceWorker.gen.d.ts.map +0 -1
  293. package/dist/server/internal/html/serviceWorker.gen.js.map +0 -1
  294. package/dist/server/internal/scope.d.ts.map +0 -1
  295. package/dist/server/internal/scope.js.map +0 -1
  296. package/dist/stripe/Methods.d.ts.map +0 -1
  297. package/dist/stripe/Methods.js.map +0 -1
  298. package/dist/stripe/client/Charge.d.ts.map +0 -1
  299. package/dist/stripe/client/Charge.js.map +0 -1
  300. package/dist/stripe/client/Methods.d.ts.map +0 -1
  301. package/dist/stripe/client/Methods.js.map +0 -1
  302. package/dist/stripe/client/index.d.ts.map +0 -1
  303. package/dist/stripe/client/index.js.map +0 -1
  304. package/dist/stripe/index.d.ts.map +0 -1
  305. package/dist/stripe/index.js.map +0 -1
  306. package/dist/stripe/internal/constants.d.ts.map +0 -1
  307. package/dist/stripe/internal/constants.js.map +0 -1
  308. package/dist/stripe/internal/types.d.ts.map +0 -1
  309. package/dist/stripe/internal/types.js.map +0 -1
  310. package/dist/stripe/server/Charge.d.ts.map +0 -1
  311. package/dist/stripe/server/Charge.js.map +0 -1
  312. package/dist/stripe/server/Methods.d.ts.map +0 -1
  313. package/dist/stripe/server/Methods.js.map +0 -1
  314. package/dist/stripe/server/index.d.ts.map +0 -1
  315. package/dist/stripe/server/index.js.map +0 -1
  316. package/dist/stripe/server/internal/deposit-address.d.ts.map +0 -1
  317. package/dist/stripe/server/internal/deposit-address.js.map +0 -1
  318. package/dist/stripe/server/internal/html/types.d.ts.map +0 -1
  319. package/dist/stripe/server/internal/html/types.js.map +0 -1
  320. package/dist/stripe/server/internal/html.gen.d.ts.map +0 -1
  321. package/dist/stripe/server/internal/html.gen.js.map +0 -1
  322. package/dist/stripe/server/internal/record-payment.d.ts.map +0 -1
  323. package/dist/stripe/server/internal/record-payment.js.map +0 -1
  324. package/dist/stripe/server/internal/request.d.ts.map +0 -1
  325. package/dist/stripe/server/internal/request.js.map +0 -1
  326. package/dist/tap/Constants.d.ts.map +0 -1
  327. package/dist/tap/Constants.js.map +0 -1
  328. package/dist/tap/Types.d.ts.map +0 -1
  329. package/dist/tap/Types.js.map +0 -1
  330. package/dist/tap/client/index.d.ts.map +0 -1
  331. package/dist/tap/client/index.js.map +0 -1
  332. package/dist/tap/index.d.ts.map +0 -1
  333. package/dist/tap/index.js.map +0 -1
  334. package/dist/tap/server/index.d.ts.map +0 -1
  335. package/dist/tap/server/index.js.map +0 -1
  336. package/dist/tempo/Attribution.d.ts.map +0 -1
  337. package/dist/tempo/Attribution.js.map +0 -1
  338. package/dist/tempo/Methods.d.ts.map +0 -1
  339. package/dist/tempo/Methods.js.map +0 -1
  340. package/dist/tempo/Proof.d.ts.map +0 -1
  341. package/dist/tempo/Proof.js.map +0 -1
  342. package/dist/tempo/client/Charge.d.ts.map +0 -1
  343. package/dist/tempo/client/Charge.js.map +0 -1
  344. package/dist/tempo/client/Methods.d.ts.map +0 -1
  345. package/dist/tempo/client/Methods.js.map +0 -1
  346. package/dist/tempo/client/ResolveAccount.d.ts.map +0 -1
  347. package/dist/tempo/client/ResolveAccount.js.map +0 -1
  348. package/dist/tempo/client/Subscription.d.ts.map +0 -1
  349. package/dist/tempo/client/Subscription.js.map +0 -1
  350. package/dist/tempo/client/index.d.ts.map +0 -1
  351. package/dist/tempo/client/index.js.map +0 -1
  352. package/dist/tempo/index.d.ts.map +0 -1
  353. package/dist/tempo/index.js.map +0 -1
  354. package/dist/tempo/internal/account.d.ts.map +0 -1
  355. package/dist/tempo/internal/account.js.map +0 -1
  356. package/dist/tempo/internal/address.d.ts.map +0 -1
  357. package/dist/tempo/internal/address.js.map +0 -1
  358. package/dist/tempo/internal/auto-swap.d.ts.map +0 -1
  359. package/dist/tempo/internal/auto-swap.js.map +0 -1
  360. package/dist/tempo/internal/charge.d.ts.map +0 -1
  361. package/dist/tempo/internal/charge.js.map +0 -1
  362. package/dist/tempo/internal/defaults.d.ts.map +0 -1
  363. package/dist/tempo/internal/defaults.js.map +0 -1
  364. package/dist/tempo/internal/fee-payer.d.ts.map +0 -1
  365. package/dist/tempo/internal/fee-payer.js.map +0 -1
  366. package/dist/tempo/internal/fee-token.d.ts.map +0 -1
  367. package/dist/tempo/internal/fee-token.js.map +0 -1
  368. package/dist/tempo/internal/proof.d.ts.map +0 -1
  369. package/dist/tempo/internal/proof.js.map +0 -1
  370. package/dist/tempo/internal/selectors.d.ts.map +0 -1
  371. package/dist/tempo/internal/selectors.js.map +0 -1
  372. package/dist/tempo/internal/types.d.ts.map +0 -1
  373. package/dist/tempo/internal/types.js.map +0 -1
  374. package/dist/tempo/legacy/client/ChannelOps.d.ts.map +0 -1
  375. package/dist/tempo/legacy/client/ChannelOps.js.map +0 -1
  376. package/dist/tempo/legacy/client/Session.d.ts.map +0 -1
  377. package/dist/tempo/legacy/client/Session.js.map +0 -1
  378. package/dist/tempo/legacy/client/SessionManager.d.ts.map +0 -1
  379. package/dist/tempo/legacy/client/SessionManager.js.map +0 -1
  380. package/dist/tempo/legacy/client/index.d.ts.map +0 -1
  381. package/dist/tempo/legacy/client/index.js.map +0 -1
  382. package/dist/tempo/legacy/index.d.ts.map +0 -1
  383. package/dist/tempo/legacy/index.js.map +0 -1
  384. package/dist/tempo/legacy/session/Chain.d.ts.map +0 -1
  385. package/dist/tempo/legacy/session/Chain.js.map +0 -1
  386. package/dist/tempo/legacy/session/Channel.d.ts.map +0 -1
  387. package/dist/tempo/legacy/session/Channel.js.map +0 -1
  388. package/dist/tempo/legacy/session/Types.d.ts.map +0 -1
  389. package/dist/tempo/legacy/session/Types.js.map +0 -1
  390. package/dist/tempo/legacy/session/Voucher.d.ts.map +0 -1
  391. package/dist/tempo/legacy/session/Voucher.js.map +0 -1
  392. package/dist/tempo/legacy/session/escrow.abi.d.ts.map +0 -1
  393. package/dist/tempo/legacy/session/escrow.abi.js.map +0 -1
  394. package/dist/tempo/legacy/session/index.d.ts.map +0 -1
  395. package/dist/tempo/legacy/session/index.js.map +0 -1
  396. package/dist/tempo/server/Charge.d.ts.map +0 -1
  397. package/dist/tempo/server/Charge.js.map +0 -1
  398. package/dist/tempo/server/Methods.d.ts.map +0 -1
  399. package/dist/tempo/server/Methods.js.map +0 -1
  400. package/dist/tempo/server/Relay.d.ts.map +0 -1
  401. package/dist/tempo/server/Relay.js.map +0 -1
  402. package/dist/tempo/server/SponsorBudget.d.ts.map +0 -1
  403. package/dist/tempo/server/SponsorBudget.js.map +0 -1
  404. package/dist/tempo/server/Subscription.d.ts.map +0 -1
  405. package/dist/tempo/server/Subscription.js.map +0 -1
  406. package/dist/tempo/server/index.d.ts.map +0 -1
  407. package/dist/tempo/server/index.js.map +0 -1
  408. package/dist/tempo/server/internal/html.gen.d.ts.map +0 -1
  409. package/dist/tempo/server/internal/html.gen.js.map +0 -1
  410. package/dist/tempo/server/internal/request-body.d.ts.map +0 -1
  411. package/dist/tempo/server/internal/request-body.js.map +0 -1
  412. package/dist/tempo/server/internal/transport.d.ts.map +0 -1
  413. package/dist/tempo/server/internal/transport.js.map +0 -1
  414. package/dist/tempo/session/Snapshot.d.ts.map +0 -1
  415. package/dist/tempo/session/Snapshot.js.map +0 -1
  416. package/dist/tempo/session/client/ChannelOps.d.ts.map +0 -1
  417. package/dist/tempo/session/client/ChannelOps.js.map +0 -1
  418. package/dist/tempo/session/client/ChannelStore.d.ts.map +0 -1
  419. package/dist/tempo/session/client/ChannelStore.js.map +0 -1
  420. package/dist/tempo/session/client/CredentialState.d.ts.map +0 -1
  421. package/dist/tempo/session/client/CredentialState.js.map +0 -1
  422. package/dist/tempo/session/client/ReceiptCoordinator.d.ts.map +0 -1
  423. package/dist/tempo/session/client/ReceiptCoordinator.js.map +0 -1
  424. package/dist/tempo/session/client/Runtime.d.ts.map +0 -1
  425. package/dist/tempo/session/client/Runtime.js.map +0 -1
  426. package/dist/tempo/session/client/Session.d.ts.map +0 -1
  427. package/dist/tempo/session/client/Session.js.map +0 -1
  428. package/dist/tempo/session/client/SessionManager.d.ts.map +0 -1
  429. package/dist/tempo/session/client/SessionManager.js.map +0 -1
  430. package/dist/tempo/session/client/Transports.d.ts.map +0 -1
  431. package/dist/tempo/session/client/Transports.js.map +0 -1
  432. package/dist/tempo/session/client/index.d.ts.map +0 -1
  433. package/dist/tempo/session/client/index.js.map +0 -1
  434. package/dist/tempo/session/client/internal/SessionManager.d.ts.map +0 -1
  435. package/dist/tempo/session/client/internal/SessionManager.js.map +0 -1
  436. package/dist/tempo/session/index.d.ts.map +0 -1
  437. package/dist/tempo/session/index.js.map +0 -1
  438. package/dist/tempo/session/precompile/Chain.d.ts.map +0 -1
  439. package/dist/tempo/session/precompile/Chain.js.map +0 -1
  440. package/dist/tempo/session/precompile/Channel.d.ts.map +0 -1
  441. package/dist/tempo/session/precompile/Channel.js.map +0 -1
  442. package/dist/tempo/session/precompile/Protocol.d.ts.map +0 -1
  443. package/dist/tempo/session/precompile/Protocol.js.map +0 -1
  444. package/dist/tempo/session/precompile/Voucher.d.ts.map +0 -1
  445. package/dist/tempo/session/precompile/Voucher.js.map +0 -1
  446. package/dist/tempo/session/precompile/escrow.abi.d.ts.map +0 -1
  447. package/dist/tempo/session/precompile/escrow.abi.js.map +0 -1
  448. package/dist/tempo/session/precompile/index.d.ts.map +0 -1
  449. package/dist/tempo/session/precompile/index.js.map +0 -1
  450. package/dist/tempo/session/server/ChannelOps.d.ts.map +0 -1
  451. package/dist/tempo/session/server/ChannelOps.js.map +0 -1
  452. package/dist/tempo/session/server/ChannelStore.d.ts.map +0 -1
  453. package/dist/tempo/session/server/ChannelStore.js.map +0 -1
  454. package/dist/tempo/session/server/CredentialVerification.d.ts.map +0 -1
  455. package/dist/tempo/session/server/CredentialVerification.js.map +0 -1
  456. package/dist/tempo/session/server/MeteredStream.d.ts.map +0 -1
  457. package/dist/tempo/session/server/MeteredStream.js.map +0 -1
  458. package/dist/tempo/session/server/RequestState.d.ts.map +0 -1
  459. package/dist/tempo/session/server/RequestState.js.map +0 -1
  460. package/dist/tempo/session/server/Session.d.ts.map +0 -1
  461. package/dist/tempo/session/server/Session.js.map +0 -1
  462. package/dist/tempo/session/server/Settlement.d.ts.map +0 -1
  463. package/dist/tempo/session/server/Settlement.js.map +0 -1
  464. package/dist/tempo/session/server/Sse.d.ts.map +0 -1
  465. package/dist/tempo/session/server/Sse.js.map +0 -1
  466. package/dist/tempo/session/server/Transports.d.ts.map +0 -1
  467. package/dist/tempo/session/server/Transports.js.map +0 -1
  468. package/dist/tempo/session/server/Ws.d.ts.map +0 -1
  469. package/dist/tempo/session/server/Ws.js.map +0 -1
  470. package/dist/tempo/session/server/index.d.ts.map +0 -1
  471. package/dist/tempo/session/server/index.js.map +0 -1
  472. package/dist/tempo/subscription/KeyAuthorization.d.ts.map +0 -1
  473. package/dist/tempo/subscription/KeyAuthorization.js.map +0 -1
  474. package/dist/tempo/subscription/Receipt.d.ts.map +0 -1
  475. package/dist/tempo/subscription/Receipt.js.map +0 -1
  476. package/dist/tempo/subscription/Store.d.ts.map +0 -1
  477. package/dist/tempo/subscription/Store.js.map +0 -1
  478. package/dist/tempo/subscription/Types.d.ts.map +0 -1
  479. package/dist/tempo/subscription/Types.js.map +0 -1
  480. package/dist/tempo/subscription/index.d.ts.map +0 -1
  481. package/dist/tempo/subscription/index.js.map +0 -1
  482. package/dist/validation/core.d.ts.map +0 -1
  483. package/dist/validation/core.js.map +0 -1
  484. package/dist/validation/index.d.ts.map +0 -1
  485. package/dist/validation/index.js.map +0 -1
  486. package/dist/viem/Account.d.ts.map +0 -1
  487. package/dist/viem/Account.js.map +0 -1
  488. package/dist/viem/Client.d.ts.map +0 -1
  489. package/dist/viem/Client.js.map +0 -1
  490. package/dist/web-bot-auth/Constants.d.ts.map +0 -1
  491. package/dist/web-bot-auth/Constants.js.map +0 -1
  492. package/dist/web-bot-auth/Types.d.ts.map +0 -1
  493. package/dist/web-bot-auth/Types.js.map +0 -1
  494. package/dist/web-bot-auth/client/index.d.ts.map +0 -1
  495. package/dist/web-bot-auth/client/index.js.map +0 -1
  496. package/dist/web-bot-auth/index.d.ts.map +0 -1
  497. package/dist/web-bot-auth/index.js.map +0 -1
  498. package/dist/web-bot-auth/internal/JwkThumbprint.d.ts.map +0 -1
  499. package/dist/web-bot-auth/internal/JwkThumbprint.js.map +0 -1
  500. package/dist/web-bot-auth/internal/SignatureAgent.d.ts.map +0 -1
  501. package/dist/web-bot-auth/internal/SignatureAgent.js.map +0 -1
  502. package/dist/web-bot-auth/server/index.d.ts.map +0 -1
  503. package/dist/web-bot-auth/server/index.js.map +0 -1
  504. package/dist/x402/Assets.d.ts.map +0 -1
  505. package/dist/x402/Assets.js.map +0 -1
  506. package/dist/x402/Header.d.ts.map +0 -1
  507. package/dist/x402/Header.js.map +0 -1
  508. package/dist/x402/Types.d.ts.map +0 -1
  509. package/dist/x402/Types.js.map +0 -1
  510. package/dist/x402/client/Exact.d.ts.map +0 -1
  511. package/dist/x402/client/Exact.js.map +0 -1
  512. package/dist/x402/index.d.ts.map +0 -1
  513. package/dist/x402/index.js.map +0 -1
  514. package/dist/x402/internal/ChallengeBrand.d.ts.map +0 -1
  515. package/dist/x402/internal/ChallengeBrand.js.map +0 -1
  516. package/dist/x402/internal/RouteBinding.d.ts.map +0 -1
  517. package/dist/x402/internal/RouteBinding.js.map +0 -1
  518. package/dist/x402/server/EvmCharge.d.ts.map +0 -1
  519. package/dist/x402/server/EvmCharge.js.map +0 -1
  520. package/dist/x402/server/Facilitator.d.ts.map +0 -1
  521. package/dist/x402/server/Facilitator.js.map +0 -1
  522. package/dist/zod.d.ts.map +0 -1
  523. package/dist/zod.js.map +0 -1
  524. package/src/BodyDigest.test.ts +0 -43
  525. package/src/BodyDigest.ts +0 -55
  526. package/src/Challenge.fuzz.test.ts +0 -154
  527. package/src/Challenge.test-d.ts +0 -82
  528. package/src/Challenge.test.ts +0 -1060
  529. package/src/Challenge.ts +0 -687
  530. package/src/Constants.ts +0 -58
  531. package/src/Credential.fuzz.test.ts +0 -62
  532. package/src/Credential.test.ts +0 -378
  533. package/src/Credential.ts +0 -217
  534. package/src/Errors.test.ts +0 -520
  535. package/src/Errors.ts +0 -448
  536. package/src/Expires.test.ts +0 -112
  537. package/src/Expires.ts +0 -59
  538. package/src/Html.ts +0 -67
  539. package/src/Mcp.ts +0 -85
  540. package/src/Method.test.ts +0 -177
  541. package/src/Method.ts +0 -631
  542. package/src/PaymentRequest.test.ts +0 -147
  543. package/src/PaymentRequest.ts +0 -108
  544. package/src/Receipt.test.ts +0 -151
  545. package/src/Receipt.ts +0 -146
  546. package/src/Store.test-d.ts +0 -211
  547. package/src/Store.test.ts +0 -407
  548. package/src/Store.ts +0 -397
  549. package/src/attestation/Attestation.integration.test.ts +0 -208
  550. package/src/attestation/Client.test.ts +0 -83
  551. package/src/attestation/Client.ts +0 -34
  552. package/src/attestation/Constants.ts +0 -15
  553. package/src/attestation/Server.test.ts +0 -60
  554. package/src/attestation/Server.ts +0 -12
  555. package/src/attestation/Types.test-d.ts +0 -54
  556. package/src/attestation/Types.ts +0 -77
  557. package/src/attestation/index.ts +0 -5
  558. package/src/attestation/internal/HttpMessageSignature.test.ts +0 -101
  559. package/src/attestation/internal/HttpMessageSignature.ts +0 -429
  560. package/src/attestation/internal/SigningContext.ts +0 -13
  561. package/src/bin.js +0 -2
  562. package/src/bin.ts +0 -4
  563. package/src/cli/account.ts +0 -269
  564. package/src/cli/cli.test.ts +0 -2221
  565. package/src/cli/cli.ts +0 -1650
  566. package/src/cli/config.test.ts +0 -89
  567. package/src/cli/config.ts +0 -50
  568. package/src/cli/internal.ts +0 -114
  569. package/src/cli/mcp.test.ts +0 -262
  570. package/src/cli/plugins/evm.ts +0 -55
  571. package/src/cli/plugins/index.ts +0 -4
  572. package/src/cli/plugins/plugin.ts +0 -84
  573. package/src/cli/plugins/stripe.ts +0 -174
  574. package/src/cli/plugins/tempo.ts +0 -1102
  575. package/src/cli/sessions/Manager.test.ts +0 -249
  576. package/src/cli/sessions/Manager.ts +0 -93
  577. package/src/cli/sessions/commands.ts +0 -444
  578. package/src/cli/sessions/request.test.ts +0 -51
  579. package/src/cli/sessions/request.ts +0 -353
  580. package/src/cli/sessions/store.test.ts +0 -581
  581. package/src/cli/sessions/store.ts +0 -940
  582. package/src/cli/utils.test.ts +0 -156
  583. package/src/cli/utils.ts +0 -394
  584. package/src/cli/validate/challenge.ts +0 -565
  585. package/src/cli/validate/discovery.test.ts +0 -435
  586. package/src/cli/validate/discovery.ts +0 -221
  587. package/src/cli/validate/helpers.ts +0 -166
  588. package/src/cli/validate/index.ts +0 -229
  589. package/src/cli/validate/messages.ts +0 -7
  590. package/src/cli/validate/payment.ts +0 -774
  591. package/src/cli/validate.test.ts +0 -843
  592. package/src/client/Methods.ts +0 -8
  593. package/src/client/Mppx.test-d.ts +0 -287
  594. package/src/client/Mppx.test.ts +0 -1065
  595. package/src/client/Mppx.ts +0 -487
  596. package/src/client/Transport.test.ts +0 -586
  597. package/src/client/Transport.ts +0 -170
  598. package/src/client/index.ts +0 -29
  599. package/src/client/internal/Fetch.browser.test.ts +0 -197
  600. package/src/client/internal/Fetch.test-d.ts +0 -109
  601. package/src/client/internal/Fetch.test.ts +0 -2336
  602. package/src/client/internal/Fetch.ts +0 -1075
  603. package/src/client/internal/MethodChallenge.ts +0 -35
  604. package/src/client/internal/MethodResponse.ts +0 -67
  605. package/src/client/internal/protocols/Mcp.test.ts +0 -220
  606. package/src/client/internal/protocols/Mcp.ts +0 -186
  607. package/src/client/internal/protocols/Mpp.ts +0 -21
  608. package/src/client/internal/protocols/Protocol.ts +0 -10
  609. package/src/client/internal/protocols/Shared.ts +0 -25
  610. package/src/client/internal/protocols/X402.ts +0 -46
  611. package/src/client/node.test.ts +0 -115
  612. package/src/client/node.ts +0 -247
  613. package/src/discovery/Discovery.test.ts +0 -214
  614. package/src/discovery/Discovery.ts +0 -105
  615. package/src/discovery/OpenApi.test.ts +0 -623
  616. package/src/discovery/OpenApi.ts +0 -192
  617. package/src/discovery/Validate.test.ts +0 -305
  618. package/src/discovery/Validate.ts +0 -77
  619. package/src/discovery/index.ts +0 -3
  620. package/src/discovery/internal/Metadata.ts +0 -51
  621. package/src/env.d.ts +0 -12
  622. package/src/evm/Assets.ts +0 -1
  623. package/src/evm/Chains.ts +0 -11
  624. package/src/evm/Methods.ts +0 -44
  625. package/src/evm/PublicInterface.test-d.ts +0 -134
  626. package/src/evm/Types.ts +0 -140
  627. package/src/evm/client/Charge.test.ts +0 -347
  628. package/src/evm/client/Charge.ts +0 -187
  629. package/src/evm/client/Methods.ts +0 -19
  630. package/src/evm/client/index.ts +0 -6
  631. package/src/evm/index.ts +0 -16
  632. package/src/evm/server/Charge.test.ts +0 -339
  633. package/src/evm/server/Charge.ts +0 -295
  634. package/src/evm/server/Methods.ts +0 -22
  635. package/src/evm/server/index.ts +0 -6
  636. package/src/index.ts +0 -14
  637. package/src/internal/AcceptPayment.test.ts +0 -347
  638. package/src/internal/AcceptPayment.ts +0 -366
  639. package/src/internal/HeaderCodec.ts +0 -36
  640. package/src/internal/changeset.test.ts +0 -106
  641. package/src/internal/constantTimeEqual.test.ts +0 -47
  642. package/src/internal/constantTimeEqual.ts +0 -10
  643. package/src/internal/env.test.ts +0 -42
  644. package/src/internal/env.ts +0 -49
  645. package/src/internal/types.test-d.ts +0 -21
  646. package/src/internal/types.ts +0 -479
  647. package/src/mcp/client/McpClient.integration.test.ts +0 -639
  648. package/src/mcp/client/McpClient.test-d.ts +0 -144
  649. package/src/mcp/client/McpClient.test.ts +0 -463
  650. package/src/mcp/client/McpClient.ts +0 -307
  651. package/src/mcp/client/McpClient.unit.test.ts +0 -135
  652. package/src/mcp/client/index.ts +0 -2
  653. package/src/mcp/server/Transport.test.ts +0 -191
  654. package/src/mcp/server/Transport.ts +0 -111
  655. package/src/mcp/server/index.ts +0 -1
  656. package/src/middlewares/elysia.test.ts +0 -285
  657. package/src/middlewares/elysia.ts +0 -116
  658. package/src/middlewares/express.test.ts +0 -361
  659. package/src/middlewares/express.ts +0 -140
  660. package/src/middlewares/hono.test.ts +0 -473
  661. package/src/middlewares/hono.ts +0 -153
  662. package/src/middlewares/internal/mppx.test.ts +0 -177
  663. package/src/middlewares/internal/mppx.ts +0 -67
  664. package/src/middlewares/nextjs.test.ts +0 -359
  665. package/src/middlewares/nextjs.ts +0 -107
  666. package/src/proxy/Proxy.test.ts +0 -1038
  667. package/src/proxy/Proxy.ts +0 -483
  668. package/src/proxy/Proxy.upstreamError.test.ts +0 -364
  669. package/src/proxy/Service.test.ts +0 -252
  670. package/src/proxy/Service.ts +0 -280
  671. package/src/proxy/index.ts +0 -6
  672. package/src/proxy/internal/Headers.test.ts +0 -139
  673. package/src/proxy/internal/Headers.ts +0 -66
  674. package/src/proxy/internal/Route.test.ts +0 -217
  675. package/src/proxy/internal/Route.ts +0 -64
  676. package/src/proxy/services/anthropic.test.ts +0 -132
  677. package/src/proxy/services/anthropic.ts +0 -53
  678. package/src/proxy/services/hooks.test-d.ts +0 -14
  679. package/src/proxy/services/hooks.test.ts +0 -44
  680. package/src/proxy/services/openai.test.ts +0 -157
  681. package/src/proxy/services/openai.ts +0 -60
  682. package/src/proxy/services/stripe.test.ts +0 -175
  683. package/src/proxy/services/stripe.ts +0 -59
  684. package/src/server/Methods.test-d.ts +0 -88
  685. package/src/server/Methods.test.ts +0 -69
  686. package/src/server/Methods.ts +0 -3
  687. package/src/server/Mppx.authorize.test.ts +0 -210
  688. package/src/server/Mppx.test-d.ts +0 -494
  689. package/src/server/Mppx.test.ts +0 -6711
  690. package/src/server/Mppx.ts +0 -2919
  691. package/src/server/NodeListener.test.ts +0 -293
  692. package/src/server/NodeListener.ts +0 -45
  693. package/src/server/Request.test.ts +0 -255
  694. package/src/server/Request.ts +0 -155
  695. package/src/server/Response.test.ts +0 -32
  696. package/src/server/Response.ts +0 -45
  697. package/src/server/Transport.test.ts +0 -598
  698. package/src/server/Transport.ts +0 -320
  699. package/src/server/index.ts +0 -9
  700. package/src/server/internal/html/compose.main.gen.ts +0 -2
  701. package/src/server/internal/html/compose.main.ts +0 -88
  702. package/src/server/internal/html/config.ts +0 -672
  703. package/src/server/internal/html/constants.ts +0 -28
  704. package/src/server/internal/html/serviceWorker.client.ts +0 -28
  705. package/src/server/internal/html/serviceWorker.gen.ts +0 -2
  706. package/src/server/internal/html/serviceWorker.ts +0 -27
  707. package/src/server/internal/html/tsconfig.compose.json +0 -8
  708. package/src/server/internal/html/tsconfig.worker.client.json +0 -8
  709. package/src/server/internal/html/tsconfig.worker.json +0 -8
  710. package/src/server/internal/scope.ts +0 -43
  711. package/src/stripe/Charge.integration.test.ts +0 -329
  712. package/src/stripe/Methods.test.ts +0 -62
  713. package/src/stripe/Methods.ts +0 -44
  714. package/src/stripe/client/Charge.test.ts +0 -205
  715. package/src/stripe/client/Charge.ts +0 -132
  716. package/src/stripe/client/Methods.ts +0 -37
  717. package/src/stripe/client/index.ts +0 -2
  718. package/src/stripe/index.ts +0 -1
  719. package/src/stripe/internal/constants.ts +0 -7
  720. package/src/stripe/internal/types.ts +0 -47
  721. package/src/stripe/server/Charge.test-d.ts +0 -81
  722. package/src/stripe/server/Charge.test.ts +0 -700
  723. package/src/stripe/server/Charge.ts +0 -487
  724. package/src/stripe/server/Methods.test-d.ts +0 -157
  725. package/src/stripe/server/Methods.test.ts +0 -403
  726. package/src/stripe/server/Methods.ts +0 -441
  727. package/src/stripe/server/index.ts +0 -2
  728. package/src/stripe/server/internal/deposit-address.ts +0 -57
  729. package/src/stripe/server/internal/html/main.ts +0 -165
  730. package/src/stripe/server/internal/html/node_modules/.bin/mppx +0 -22
  731. package/src/stripe/server/internal/html/node_modules/.bin/mppx.src +0 -22
  732. package/src/stripe/server/internal/html/package.json +0 -9
  733. package/src/stripe/server/internal/html/stripe-js-pure.d.ts +0 -7
  734. package/src/stripe/server/internal/html/tsconfig.json +0 -8
  735. package/src/stripe/server/internal/html/types.ts +0 -5
  736. package/src/stripe/server/internal/html.gen.ts +0 -2
  737. package/src/stripe/server/internal/record-payment.ts +0 -66
  738. package/src/stripe/server/internal/request.ts +0 -49
  739. package/src/tap/Constants.ts +0 -32
  740. package/src/tap/Tap.test.ts +0 -125
  741. package/src/tap/Types.ts +0 -11
  742. package/src/tap/client/index.ts +0 -54
  743. package/src/tap/index.ts +0 -4
  744. package/src/tap/server/index.ts +0 -48
  745. package/src/tempo/AccessKeyAuthorization.test.ts +0 -141
  746. package/src/tempo/Attribution.test.ts +0 -294
  747. package/src/tempo/Attribution.ts +0 -185
  748. package/src/tempo/Methods.test.ts +0 -425
  749. package/src/tempo/Methods.ts +0 -367
  750. package/src/tempo/Proof.conformance.test.ts +0 -146
  751. package/src/tempo/Proof.test-d.ts +0 -32
  752. package/src/tempo/Proof.test.ts +0 -40
  753. package/src/tempo/Proof.ts +0 -69
  754. package/src/tempo/PublicExports.test-d.ts +0 -130
  755. package/src/tempo/Subscription.integration.test.ts +0 -591
  756. package/src/tempo/client/Charge.test.ts +0 -501
  757. package/src/tempo/client/Charge.ts +0 -271
  758. package/src/tempo/client/Methods.ts +0 -45
  759. package/src/tempo/client/ResolveAccount.ts +0 -46
  760. package/src/tempo/client/Subscription.test.ts +0 -180
  761. package/src/tempo/client/Subscription.ts +0 -156
  762. package/src/tempo/client/index.ts +0 -17
  763. package/src/tempo/index.ts +0 -5
  764. package/src/tempo/internal/account.ts +0 -56
  765. package/src/tempo/internal/address.test.ts +0 -42
  766. package/src/tempo/internal/address.ts +0 -6
  767. package/src/tempo/internal/auto-swap.test.ts +0 -198
  768. package/src/tempo/internal/auto-swap.ts +0 -145
  769. package/src/tempo/internal/charge.test.ts +0 -66
  770. package/src/tempo/internal/charge.ts +0 -43
  771. package/src/tempo/internal/defaults.test.ts +0 -95
  772. package/src/tempo/internal/defaults.ts +0 -53
  773. package/src/tempo/internal/fee-payer.test.ts +0 -1177
  774. package/src/tempo/internal/fee-payer.ts +0 -808
  775. package/src/tempo/internal/fee-token.test.ts +0 -165
  776. package/src/tempo/internal/fee-token.ts +0 -72
  777. package/src/tempo/internal/proof.test.ts +0 -97
  778. package/src/tempo/internal/proof.ts +0 -87
  779. package/src/tempo/internal/selectors.ts +0 -10
  780. package/src/tempo/internal/types.ts +0 -19
  781. package/src/tempo/legacy/AccessKeyAuthorization.test.ts +0 -162
  782. package/src/tempo/legacy/README.md +0 -9
  783. package/src/tempo/legacy/client/ChannelOps.test.ts +0 -379
  784. package/src/tempo/legacy/client/ChannelOps.ts +0 -271
  785. package/src/tempo/legacy/client/Session.test.ts +0 -800
  786. package/src/tempo/legacy/client/Session.ts +0 -397
  787. package/src/tempo/legacy/client/SessionManager.test.ts +0 -468
  788. package/src/tempo/legacy/client/SessionManager.ts +0 -909
  789. package/src/tempo/legacy/client/index.ts +0 -6
  790. package/src/tempo/legacy/index.ts +0 -4
  791. package/src/tempo/legacy/session/Chain.test.ts +0 -1349
  792. package/src/tempo/legacy/session/Chain.ts +0 -830
  793. package/src/tempo/legacy/session/Channel.test.ts +0 -109
  794. package/src/tempo/legacy/session/Channel.ts +0 -51
  795. package/src/tempo/legacy/session/Types.ts +0 -91
  796. package/src/tempo/legacy/session/Voucher.test.ts +0 -410
  797. package/src/tempo/legacy/session/Voucher.ts +0 -183
  798. package/src/tempo/legacy/session/escrow.abi.ts +0 -760
  799. package/src/tempo/legacy/session/index.ts +0 -8
  800. package/src/tempo/server/AtomicStore.test-d.ts +0 -63
  801. package/src/tempo/server/Charge.test.ts +0 -6056
  802. package/src/tempo/server/Charge.ts +0 -1379
  803. package/src/tempo/server/Methods.ts +0 -86
  804. package/src/tempo/server/Relay.test.ts +0 -677
  805. package/src/tempo/server/Relay.ts +0 -297
  806. package/src/tempo/server/SponsorBudget.test.ts +0 -154
  807. package/src/tempo/server/SponsorBudget.ts +0 -219
  808. package/src/tempo/server/Sse.test.ts +0 -321
  809. package/src/tempo/server/Subscription.test.ts +0 -1944
  810. package/src/tempo/server/Subscription.ts +0 -1336
  811. package/src/tempo/server/index.ts +0 -12
  812. package/src/tempo/server/internal/html/main.ts +0 -115
  813. package/src/tempo/server/internal/html/node_modules/.bin/mppx +0 -22
  814. package/src/tempo/server/internal/html/node_modules/.bin/mppx.src +0 -22
  815. package/src/tempo/server/internal/html/package.json +0 -10
  816. package/src/tempo/server/internal/html/tsconfig.json +0 -8
  817. package/src/tempo/server/internal/html.gen.ts +0 -2
  818. package/src/tempo/server/internal/request-body.test.ts +0 -210
  819. package/src/tempo/server/internal/request-body.ts +0 -61
  820. package/src/tempo/server/internal/transport.test.ts +0 -922
  821. package/src/tempo/server/internal/transport.ts +0 -322
  822. package/src/tempo/session/README.md +0 -320
  823. package/src/tempo/session/Snapshot.test.ts +0 -41
  824. package/src/tempo/session/Snapshot.ts +0 -95
  825. package/src/tempo/session/client/ChannelOps.test.ts +0 -218
  826. package/src/tempo/session/client/ChannelOps.ts +0 -348
  827. package/src/tempo/session/client/ChannelStore.ts +0 -111
  828. package/src/tempo/session/client/CredentialState.test.ts +0 -789
  829. package/src/tempo/session/client/CredentialState.ts +0 -942
  830. package/src/tempo/session/client/ReceiptCoordinator.ts +0 -95
  831. package/src/tempo/session/client/Runtime.test.ts +0 -1104
  832. package/src/tempo/session/client/Runtime.ts +0 -1008
  833. package/src/tempo/session/client/Session.test.ts +0 -1355
  834. package/src/tempo/session/client/Session.ts +0 -420
  835. package/src/tempo/session/client/SessionManager.test.ts +0 -1899
  836. package/src/tempo/session/client/SessionManager.ts +0 -996
  837. package/src/tempo/session/client/Transports.test.ts +0 -1141
  838. package/src/tempo/session/client/Transports.ts +0 -1534
  839. package/src/tempo/session/client/index.ts +0 -40
  840. package/src/tempo/session/client/internal/SessionManager.ts +0 -36
  841. package/src/tempo/session/index.ts +0 -7
  842. package/src/tempo/session/precompile/Chain.integration.test.ts +0 -339
  843. package/src/tempo/session/precompile/Chain.test.ts +0 -1641
  844. package/src/tempo/session/precompile/Chain.ts +0 -1269
  845. package/src/tempo/session/precompile/Channel.test.ts +0 -147
  846. package/src/tempo/session/precompile/Channel.ts +0 -108
  847. package/src/tempo/session/precompile/Protocol.test.ts +0 -358
  848. package/src/tempo/session/precompile/Protocol.ts +0 -520
  849. package/src/tempo/session/precompile/Voucher.test.ts +0 -354
  850. package/src/tempo/session/precompile/Voucher.ts +0 -162
  851. package/src/tempo/session/precompile/escrow.abi.ts +0 -226
  852. package/src/tempo/session/precompile/index.ts +0 -33
  853. package/src/tempo/session/server/ChannelOps.test.ts +0 -129
  854. package/src/tempo/session/server/ChannelOps.ts +0 -157
  855. package/src/tempo/session/server/ChannelStore.test.ts +0 -1093
  856. package/src/tempo/session/server/ChannelStore.ts +0 -856
  857. package/src/tempo/session/server/CredentialVerification.test.ts +0 -299
  858. package/src/tempo/session/server/CredentialVerification.ts +0 -1087
  859. package/src/tempo/session/server/MeteredStream.ts +0 -99
  860. package/src/tempo/session/server/RequestState.test.ts +0 -574
  861. package/src/tempo/session/server/RequestState.ts +0 -507
  862. package/src/tempo/session/server/Session.integration.test.ts +0 -449
  863. package/src/tempo/session/server/Session.test.ts +0 -4247
  864. package/src/tempo/session/server/Session.ts +0 -669
  865. package/src/tempo/session/server/Settlement.test.ts +0 -345
  866. package/src/tempo/session/server/Settlement.ts +0 -527
  867. package/src/tempo/session/server/Sse.fuzz.test.ts +0 -138
  868. package/src/tempo/session/server/Sse.test.ts +0 -634
  869. package/src/tempo/session/server/Sse.ts +0 -261
  870. package/src/tempo/session/server/Transports.test.ts +0 -346
  871. package/src/tempo/session/server/Transports.ts +0 -256
  872. package/src/tempo/session/server/Ws.test.ts +0 -765
  873. package/src/tempo/session/server/Ws.ts +0 -391
  874. package/src/tempo/session/server/index.ts +0 -12
  875. package/src/tempo/subscription/KeyAuthorization.test.ts +0 -282
  876. package/src/tempo/subscription/KeyAuthorization.ts +0 -396
  877. package/src/tempo/subscription/Receipt.ts +0 -28
  878. package/src/tempo/subscription/Store.test.ts +0 -609
  879. package/src/tempo/subscription/Store.ts +0 -449
  880. package/src/tempo/subscription/Types.ts +0 -68
  881. package/src/tempo/subscription/index.ts +0 -23
  882. package/src/tsconfig.json +0 -10
  883. package/src/validation/core.ts +0 -386
  884. package/src/validation/index.ts +0 -11
  885. package/src/viem/Account.test.ts +0 -72
  886. package/src/viem/Account.ts +0 -30
  887. package/src/viem/Client.test.ts +0 -366
  888. package/src/viem/Client.ts +0 -93
  889. package/src/web-bot-auth/Constants.ts +0 -24
  890. package/src/web-bot-auth/Types.ts +0 -9
  891. package/src/web-bot-auth/WebBotAuth.test.ts +0 -182
  892. package/src/web-bot-auth/client/index.ts +0 -84
  893. package/src/web-bot-auth/index.ts +0 -6
  894. package/src/web-bot-auth/internal/JwkThumbprint.ts +0 -21
  895. package/src/web-bot-auth/internal/SignatureAgent.ts +0 -18
  896. package/src/web-bot-auth/server/index.ts +0 -113
  897. package/src/x402/Assets.test.ts +0 -253
  898. package/src/x402/Assets.ts +0 -221
  899. package/src/x402/Exact.e2e.test.ts +0 -488
  900. package/src/x402/Exact.localnet.test.ts +0 -475
  901. package/src/x402/Header.test.ts +0 -73
  902. package/src/x402/Header.ts +0 -79
  903. package/src/x402/PublicInterface.test-d.ts +0 -39
  904. package/src/x402/Types.ts +0 -248
  905. package/src/x402/client/Exact.test.ts +0 -309
  906. package/src/x402/client/Exact.ts +0 -186
  907. package/src/x402/index.ts +0 -6
  908. package/src/x402/internal/ChallengeBrand.ts +0 -14
  909. package/src/x402/internal/RouteBinding.ts +0 -18
  910. package/src/x402/server/EvmCharge.ts +0 -410
  911. package/src/x402/server/Facilitator.test.ts +0 -111
  912. package/src/x402/server/Facilitator.ts +0 -56
  913. package/src/zod.test.ts +0 -169
  914. package/src/zod.ts +0 -71
@@ -0,0 +1,173 @@
1
+ import { SignatureEnvelope } from 'ox/tempo';
2
+ import { hashTypedData, isAddressEqual, parseAbi, zeroAddress, } from 'viem';
3
+ import { readContract, signTypedData } from 'viem/actions';
4
+ import { Actions } from 'viem/tempo';
5
+ import { isAccessKeyAccount } from './account.js';
6
+ import * as defaults from './defaults.js';
7
+ import { parseCanonicalEnvelope, serializeCanonicalEnvelope } from './signature-envelope.js';
8
+ const sessionRouteAbi = parseAbi([
9
+ 'function sessionRouteFor(address merchant,address targetToken) view returns (address routeAddress)',
10
+ 'function sessionRoutes(address routeAddress) view returns (address merchant,address targetToken)',
11
+ ]);
12
+ const authorizationTypes = {
13
+ SessionAuthorization: [
14
+ { name: 'channelId', type: 'bytes32' },
15
+ { name: 'cumulativeAmount', type: 'uint96' },
16
+ ],
17
+ };
18
+ function getDeployment(chainId) {
19
+ if (chainId === undefined)
20
+ return undefined;
21
+ return defaults.machineToken[chainId];
22
+ }
23
+ /** Returns whether a unified machine-token router is configured on a chain. */
24
+ export function isSupported(chainId) {
25
+ return !!getDeployment(chainId);
26
+ }
27
+ /** Matches a session descriptor to the configured router and machine token. */
28
+ export function matchDeployment(parameters) {
29
+ const deployment = getDeployment(parameters.chainId);
30
+ return deployment &&
31
+ isAddressEqual(parameters.descriptor.operator, deployment.swap) &&
32
+ isAddressEqual(parameters.descriptor.token, deployment.token)
33
+ ? deployment
34
+ : undefined;
35
+ }
36
+ /** Returns whether an authenticated session challenge permits the machine-token rail. */
37
+ export function isEnabledChallenge(challenge) {
38
+ return (challenge.request.methodDetails
39
+ ?.machineTokenEnabled === true);
40
+ }
41
+ /** Resolves the fee token from the payment token and an optional explicit override. */
42
+ export function resolveFeeToken(parameters) {
43
+ if (parameters.override)
44
+ return parameters.override;
45
+ const deployment = getDeployment(parameters.chainId);
46
+ if (deployment && isAddressEqual(parameters.paymentToken, deployment.token))
47
+ return defaults.tokens.pathUsd;
48
+ return parameters.paymentToken;
49
+ }
50
+ /**
51
+ * Resolves the fee tokens accepted for direct-rail sponsored transactions.
52
+ * Clients released before the fee-token advertisement always pay sponsored
53
+ * fees in the payment token, so it stays accepted alongside a configured
54
+ * override. Machine-rail routes post-date the advertisement and pin a single
55
+ * token via {@link resolveFeeToken}.
56
+ */
57
+ export function allowedSponsoredFeeTokens(parameters) {
58
+ const feeToken = resolveFeeToken(parameters);
59
+ if (isAddressEqual(feeToken, parameters.paymentToken))
60
+ return [feeToken];
61
+ return [feeToken, parameters.paymentToken];
62
+ }
63
+ /** Returns whether an account has enough of a TIP-20 token for an operation. */
64
+ export async function hasSufficientBalance(client, parameters) {
65
+ try {
66
+ const balance = await readContract(client, Actions.token.getBalance.call(client, {
67
+ account: parameters.account,
68
+ token: parameters.token,
69
+ }));
70
+ return balance >= parameters.amount;
71
+ }
72
+ catch {
73
+ return false;
74
+ }
75
+ }
76
+ function authorizationDomain(router, chainId) {
77
+ return {
78
+ name: 'MachineUSD Session Router',
79
+ version: '1',
80
+ chainId,
81
+ verifyingContract: router,
82
+ };
83
+ }
84
+ function hashAuthorization(parameters) {
85
+ return hashTypedData({
86
+ domain: authorizationDomain(parameters.router, parameters.chainId),
87
+ types: authorizationTypes,
88
+ primaryType: 'SessionAuthorization',
89
+ message: parameters.authorization,
90
+ });
91
+ }
92
+ /** Signs a cumulative amount in the router-specific authorization domain. */
93
+ export async function signAuthorization(client, account, parameters) {
94
+ const signature = isAccessKeyAccount(account)
95
+ ? await account.sign({
96
+ hash: hashAuthorization(parameters),
97
+ raw: true,
98
+ })
99
+ : await signTypedData(client, {
100
+ account,
101
+ domain: authorizationDomain(parameters.router, parameters.chainId),
102
+ types: authorizationTypes,
103
+ primaryType: 'SessionAuthorization',
104
+ message: parameters.authorization,
105
+ });
106
+ return serializeCanonicalEnvelope(signature, 'Machine-token session authorizations');
107
+ }
108
+ /** Verifies a cumulative authorization in the router-specific domain. */
109
+ export function verifyAuthorization(parameters) {
110
+ try {
111
+ const envelope = parseCanonicalEnvelope(parameters.signature);
112
+ if (!envelope)
113
+ return false;
114
+ const payload = hashAuthorization(parameters);
115
+ return SignatureEnvelope.verify(envelope, { address: parameters.expectedSigner, payload });
116
+ }
117
+ catch {
118
+ return false;
119
+ }
120
+ }
121
+ async function readRoute(client, deployment, parameters) {
122
+ const payee = parameters.payee ??
123
+ (await readContract(client, {
124
+ address: deployment.swap,
125
+ abi: sessionRouteAbi,
126
+ functionName: 'sessionRouteFor',
127
+ args: [parameters.merchant, parameters.targetToken],
128
+ }));
129
+ if (isAddressEqual(payee, zeroAddress))
130
+ return undefined;
131
+ const [binding, activePayee] = await Promise.all([
132
+ readContract(client, {
133
+ address: deployment.swap,
134
+ abi: sessionRouteAbi,
135
+ functionName: 'sessionRoutes',
136
+ args: [payee],
137
+ }),
138
+ parameters.active && parameters.payee
139
+ ? readContract(client, {
140
+ address: deployment.swap,
141
+ abi: sessionRouteAbi,
142
+ functionName: 'sessionRouteFor',
143
+ args: [parameters.merchant, parameters.targetToken],
144
+ })
145
+ : payee,
146
+ ]);
147
+ if (isAddressEqual(binding[0], zeroAddress) ||
148
+ isAddressEqual(binding[1], zeroAddress) ||
149
+ !isAddressEqual(binding[0], parameters.merchant) ||
150
+ !isAddressEqual(binding[1], parameters.targetToken) ||
151
+ !isAddressEqual(activePayee, payee))
152
+ return undefined;
153
+ return { operator: deployment.swap, payee, token: deployment.token };
154
+ }
155
+ /** Resolves the active virtual payee and verifies its immutable reverse binding. */
156
+ export async function resolveRoute(client, parameters) {
157
+ const deployment = getDeployment(parameters.chainId);
158
+ if (!deployment)
159
+ return undefined;
160
+ return readRoute(client, deployment, { ...parameters, active: true });
161
+ }
162
+ /** Verifies a descriptor against the trusted router and merchant payout binding. */
163
+ export async function matchRoute(client, parameters) {
164
+ const deployment = matchDeployment(parameters);
165
+ if (!deployment)
166
+ return undefined;
167
+ return readRoute(client, deployment, {
168
+ ...parameters,
169
+ active: parameters.active !== false,
170
+ payee: parameters.descriptor.payee,
171
+ });
172
+ }
173
+ //# sourceMappingURL=machine-token-session.js.map
@@ -0,0 +1,14 @@
1
+ import { SignatureEnvelope } from 'ox/tempo';
2
+ import type { Hex } from 'viem';
3
+ /**
4
+ * Canonicalizes a fresh TIP-1020 primitive signature for transport. Keychain
5
+ * wrappers, multisig signatures, and magic-suffixed encodings are rejected.
6
+ */
7
+ export declare function serializeCanonicalEnvelope(signature: Hex, subject: string): Hex;
8
+ /**
9
+ * Parses an incoming signature into a canonical TIP-1020 primitive envelope.
10
+ * Returns `undefined` for wrapper envelopes and aliased (non-canonical)
11
+ * encodings, so verified signatures can be replayed on-chain byte-for-byte.
12
+ */
13
+ export declare function parseCanonicalEnvelope(signature: Hex): SignatureEnvelope.SignatureEnvelope | undefined;
14
+ //# sourceMappingURL=signature-envelope.d.ts.map
@@ -0,0 +1,28 @@
1
+ import { SignatureEnvelope } from 'ox/tempo';
2
+ function isPrimitiveEnvelope(type) {
3
+ return type === 'secp256k1' || type === 'p256' || type === 'webAuthn';
4
+ }
5
+ /**
6
+ * Canonicalizes a fresh TIP-1020 primitive signature for transport. Keychain
7
+ * wrappers, multisig signatures, and magic-suffixed encodings are rejected.
8
+ */
9
+ export function serializeCanonicalEnvelope(signature, subject) {
10
+ const envelope = SignatureEnvelope.from(signature);
11
+ if (!isPrimitiveEnvelope(envelope.type))
12
+ throw new Error(`${subject} require a TIP-1020 primitive signature; received "${envelope.type}".`);
13
+ return SignatureEnvelope.serialize(envelope);
14
+ }
15
+ /**
16
+ * Parses an incoming signature into a canonical TIP-1020 primitive envelope.
17
+ * Returns `undefined` for wrapper envelopes and aliased (non-canonical)
18
+ * encodings, so verified signatures can be replayed on-chain byte-for-byte.
19
+ */
20
+ export function parseCanonicalEnvelope(signature) {
21
+ const envelope = SignatureEnvelope.from(signature);
22
+ if (!isPrimitiveEnvelope(envelope.type))
23
+ return undefined;
24
+ if (SignatureEnvelope.serialize(envelope).toLowerCase() !== signature.toLowerCase())
25
+ return undefined;
26
+ return envelope;
27
+ }
28
+ //# sourceMappingURL=signature-envelope.js.map
@@ -29,12 +29,12 @@ export type ChannelEntry = {
29
29
  };
30
30
  /** Resolves the chain ID embedded in a legacy session challenge. */
31
31
  export declare function resolveChainId(challenge: Challenge): number;
32
- /** Resolves the legacy escrow contract from local override, challenge hint, or defaults. */
32
+ /** Resolves the server-advertised escrow against the client's trust policy. */
33
33
  export declare function resolveEscrow(challenge: {
34
34
  request: {
35
35
  methodDetails?: unknown;
36
36
  };
37
- }, chainId: number, escrowContractOverride?: Address): Address;
37
+ }, chainId: number, escrowContractOverride?: Address, allowCustomEscrow?: boolean): Address;
38
38
  /** Serializes a legacy session credential with a payer DID source. */
39
39
  export declare function serializeCredential(challenge: Challenge, payload: LegacySessionCredentialPayload, chainId: number, account: viem_Account): string;
40
40
  /** Creates a legacy cumulative voucher credential payload. */
@@ -24,15 +24,21 @@ export function resolveChainId(challenge) {
24
24
  const md = challenge.request.methodDetails;
25
25
  return md?.chainId ?? 0;
26
26
  }
27
- /** Resolves the legacy escrow contract from local override, challenge hint, or defaults. */
28
- export function resolveEscrow(challenge, chainId, escrowContractOverride) {
27
+ /** Resolves the server-advertised escrow against the client's trust policy. */
28
+ export function resolveEscrow(challenge, chainId, escrowContractOverride, allowCustomEscrow = false) {
29
29
  const challengeEscrow = challenge.request.methodDetails
30
30
  ?.escrowContract;
31
31
  const escrow = escrowContractOverride ??
32
- challengeEscrow ??
33
32
  defaults.escrowContract[chainId];
34
- if (!escrow)
35
- throw new Error('No `escrowContract` available. Provide it in parameters or ensure the server challenge includes it.');
33
+ if (!escrow && !(allowCustomEscrow && challengeEscrow))
34
+ throw new Error('No trusted `escrowContract` available. Provide it in client parameters or use a supported chain.');
35
+ if (challengeEscrow &&
36
+ escrow &&
37
+ challengeEscrow.toLowerCase() !== escrow.toLowerCase() &&
38
+ (!allowCustomEscrow || escrowContractOverride !== undefined))
39
+ throw new Error(`Tempo session escrow ${challengeEscrow} does not match client escrow ${escrow}.`);
40
+ if (challengeEscrow && (!escrow || challengeEscrow.toLowerCase() !== escrow.toLowerCase()))
41
+ return challengeEscrow;
36
42
  return escrow;
37
43
  }
38
44
  /** Serializes a legacy session credential with a payer DID source. */
@@ -65,6 +65,7 @@ export declare function session(parameters?: session.Parameters): Method.Client<
65
65
  credential: {
66
66
  payload: z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{
67
67
  action: z.ZodMiniLiteral<"open">;
68
+ authorizationSignature: z.ZodMiniOptional<z.ZodMiniString<string>>;
68
69
  authorizedSigner: z.ZodMiniOptional<z.ZodMiniString<string>>;
69
70
  channelId: z.ZodMiniString<string>;
70
71
  cumulativeAmount: z.ZodMiniString<string>;
@@ -81,15 +82,18 @@ export declare function session(parameters?: session.Parameters): Method.Client<
81
82
  type: z.ZodMiniLiteral<"transaction">;
82
83
  }, z.core.$strip>, z.ZodMiniObject<{
83
84
  action: z.ZodMiniLiteral<"voucher">;
85
+ authorizationSignature: z.ZodMiniOptional<z.ZodMiniString<string>>;
84
86
  channelId: z.ZodMiniString<string>;
85
87
  cumulativeAmount: z.ZodMiniString<string>;
86
88
  descriptor: z.ZodMiniOptional<z.ZodMiniCustom<import("../../session/precompile/Protocol.js").ChannelDescriptor, import("../../session/precompile/Protocol.js").ChannelDescriptor>>;
87
89
  signature: z.ZodMiniString<string>;
88
90
  }, z.core.$strip>, z.ZodMiniObject<{
89
91
  action: z.ZodMiniLiteral<"close">;
92
+ authorizationSignature: z.ZodMiniOptional<z.ZodMiniString<string>>;
90
93
  channelId: z.ZodMiniString<string>;
91
94
  cumulativeAmount: z.ZodMiniString<string>;
92
95
  descriptor: z.ZodMiniOptional<z.ZodMiniCustom<import("../../session/precompile/Protocol.js").ChannelDescriptor, import("../../session/precompile/Protocol.js").ChannelDescriptor>>;
96
+ refundSignature: z.ZodMiniOptional<z.ZodMiniString<string>>;
93
97
  signature: z.ZodMiniString<string>;
94
98
  }, z.core.$strip>], "action">;
95
99
  };
@@ -101,6 +105,8 @@ export declare function session(parameters?: session.Parameters): Method.Client<
101
105
  decimals: z.ZodMiniNumber<number>;
102
106
  escrowContract: z.ZodMiniOptional<z.ZodMiniString<string>>;
103
107
  feePayer: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniCustom<viem_Account, viem_Account>]>, z.ZodMiniTransform<boolean, boolean | viem_Account>>>;
108
+ feeToken: z.ZodMiniOptional<z.ZodMiniString<string>>;
109
+ machineTokenEnabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
104
110
  minVoucherDelta: z.ZodMiniOptional<z.ZodMiniString<string>>;
105
111
  operator: z.ZodMiniOptional<z.ZodMiniString<string>>;
106
112
  recipient: z.ZodMiniOptional<z.ZodMiniString<string>>;
@@ -123,6 +129,8 @@ export declare function session(parameters?: session.Parameters): Method.Client<
123
129
  minVoucherDelta?: string | undefined;
124
130
  chainId?: number | undefined;
125
131
  feePayer?: boolean | undefined;
132
+ feeToken?: string | undefined;
133
+ machineTokenEnabled?: boolean | undefined;
126
134
  operator?: string | undefined;
127
135
  sessionProtocol?: "v1" | "v2" | undefined;
128
136
  sessionSnapshot?: import("../../session/Snapshot.js").SessionSnapshot | undefined;
@@ -135,6 +143,8 @@ export declare function session(parameters?: session.Parameters): Method.Client<
135
143
  decimals: number;
136
144
  escrowContract?: string | undefined;
137
145
  feePayer?: boolean | undefined;
146
+ feeToken?: string | undefined;
147
+ machineTokenEnabled?: boolean | undefined;
138
148
  minVoucherDelta?: string | undefined;
139
149
  operator?: string | undefined;
140
150
  recipient?: string | undefined;
@@ -163,13 +173,15 @@ export declare function session(parameters?: session.Parameters): Method.Client<
163
173
  /** Type helpers for the legacy low-level session client method. */
164
174
  export declare namespace session {
165
175
  type Parameters = Account.getResolver.Parameters & Client.getResolver.Parameters & {
176
+ /** Accept a noncanonical escrow contract advertised by the server. @default false */
177
+ allowCustomEscrow?: boolean | undefined;
166
178
  /** Account that signs voucher digests. Defaults to `account`; access-key accounts sign raw vouchers as their access-key address. */
167
179
  voucherSigner?: viem_Account | undefined;
168
180
  /** Token decimals for parsing human-readable amounts (default: 6). */
169
181
  decimals?: number | undefined;
170
182
  /** Initial deposit amount in human-readable units (e.g. "10" for 10 tokens). When set, the method handles the full channel lifecycle (open, voucher, cumulative tracking) automatically. */
171
183
  deposit?: string | undefined;
172
- /** Escrow contract address override. Derived from challenge or defaults if not provided. */
184
+ /** Exact escrow contract address pin. Takes precedence over `allowCustomEscrow`. */
173
185
  escrowContract?: Address | undefined;
174
186
  /** Maximum deposit in human-readable units (e.g. "10"). Caps the server's `suggestedDeposit`. Enables auto-management like `deposit`. */
175
187
  maxDeposit?: string | undefined;
@@ -58,7 +58,7 @@ export const sessionContextSchema = z.object({
58
58
  * ```
59
59
  */
60
60
  export function session(parameters = {}) {
61
- const { decimals = defaults.decimals } = parameters;
61
+ const { allowCustomEscrow = false, decimals = defaults.decimals } = parameters;
62
62
  const getClient = Client.getResolver({
63
63
  chain: tempo_chain,
64
64
  getClient: parameters.getClient,
@@ -79,9 +79,9 @@ export function session(parameters = {}) {
79
79
  if (channelId) {
80
80
  const cached = escrowContractMap.get(channelId);
81
81
  if (cached)
82
- return cached;
82
+ return resolveEscrow(challenge, chainId, cached);
83
83
  }
84
- return resolveEscrow(challenge, chainId, parameters.escrowContract);
84
+ return resolveEscrow(challenge, chainId, parameters.escrowContract, allowCustomEscrow);
85
85
  }
86
86
  async function autoManageCredential(challenge, account, context) {
87
87
  const md = challenge.request.methodDetails;
@@ -77,13 +77,15 @@ export declare function sessionManager(parameters: sessionManager.Parameters): S
77
77
  /** Type helpers for the legacy auto-driving session manager. */
78
78
  export declare namespace sessionManager {
79
79
  type Parameters = Account.getResolver.Parameters & Client.getResolver.Parameters & {
80
+ /** Accept a noncanonical escrow contract advertised by the server. @default false */
81
+ allowCustomEscrow?: boolean | undefined;
80
82
  /** Account that signs voucher digests. Defaults to `account`; access-key accounts sign raw vouchers as their access-key address. */
81
83
  voucherSigner?: viem_Account | undefined;
82
84
  /** Viem client instance. Shorthand for `getClient: () => client`. */
83
85
  client?: import('viem').Client | undefined;
84
86
  /** Token decimals used to convert `maxDeposit` to raw units. Defaults to `6`. */
85
87
  decimals?: number | undefined;
86
- /** Escrow contract address. */
88
+ /** Exact escrow contract address pin. Takes precedence over `allowCustomEscrow`. */
87
89
  escrowContract?: Address | undefined;
88
90
  fetch?: typeof globalThis.fetch | undefined;
89
91
  /** Maximum deposit in human-readable units (e.g. `'10'` for 10 tokens). Converted to raw units via `decimals`. */
@@ -37,6 +37,7 @@ const ClientWebSocketProtocolErrorCloseCode = 3008;
37
37
  * finalized, it resumes from the on-chain settled amount.
38
38
  */
39
39
  export function sessionManager(parameters) {
40
+ const allowCustomEscrow = parameters.allowCustomEscrow ?? false;
40
41
  const fetchFn = parameters.fetch ?? globalThis.fetch;
41
42
  const WebSocketImpl = parameters.webSocket ??
42
43
  globalThis.WebSocket;
@@ -59,6 +60,7 @@ export function sessionManager(parameters) {
59
60
  let wsTickCost = 0n;
60
61
  const method = sessionPlugin({
61
62
  account: parameters.account,
63
+ allowCustomEscrow,
62
64
  voucherSigner: parameters.voucherSigner,
63
65
  getClient: parameters.client ? () => parameters.client : parameters.getClient,
64
66
  escrowContract: parameters.escrowContract,
@@ -45,6 +45,8 @@ export declare namespace charge {
45
45
  } | undefined;
46
46
  };
47
47
  type Parameters = {
48
+ /** Enables first-party machine-token settlement for supported Tempo charges. */
49
+ machineTokenEnabled?: boolean | undefined;
48
50
  /** Render payment page when Accept header is text/html (e.g. in browsers) */
49
51
  html?: boolean | Html.Config | undefined;
50
52
  /**
@@ -99,6 +101,7 @@ export declare namespace charge {
99
101
  * relay broadcasts pull credentials, while it recognizes a push
100
102
  * credential as already broadcast and returns its receipt without sending
101
103
  * it again.
104
+ *
102
105
  */
103
106
  relay?: RelayOptions | undefined;
104
107
  /**
@@ -1,5 +1,5 @@
1
1
  import * as SignatureEnvelope from 'ox/tempo/SignatureEnvelope';
2
- import { decodeFunctionData, formatUnits, keccak256, parseEventLogs, } from 'viem';
2
+ import { createClient, decodeFunctionData, formatUnits, http, keccak256, parseEventLogs, } from 'viem';
3
3
  import { getTransactionReceipt, sendRawTransaction, sendRawTransactionSync, signTransaction, verifyTypedData, call as viem_call, } from 'viem/actions';
4
4
  import { Abis, Actions, Transaction } from 'viem/tempo';
5
5
  import { tempo as tempo_chain } from 'viem/tempo/chains';
@@ -15,6 +15,7 @@ import * as Charge_internal from '../internal/charge.js';
15
15
  import * as defaults from '../internal/defaults.js';
16
16
  import * as FeePayer from '../internal/fee-payer.js';
17
17
  import { resolveFeeToken } from '../internal/fee-token.js';
18
+ import * as MachineTokenCharge from '../internal/machine-token-charge.js';
18
19
  import * as Proof from '../internal/proof.js';
19
20
  import * as Selectors from '../internal/selectors.js';
20
21
  import * as Methods from '../Methods.js';
@@ -32,7 +33,7 @@ import * as SponsorBudget from './SponsorBudget.js';
32
33
  * ```
33
34
  */
34
35
  export function charge(parameters = {}) {
35
- const { amount, currency = defaults.resolveCurrency(parameters), decimals = defaults.decimals, description, externalId, feeToken: configuredFeeToken, feePayerPolicy, html, memo, relay, sponsorBudget, splits, supportedModes, validateSender, waitForConfirmation = true, } = parameters;
36
+ const { machineTokenEnabled, amount, currency = defaults.resolveCurrency(parameters), decimals = defaults.decimals, description, externalId, feeToken: configuredFeeToken, feePayerPolicy, html, memo, relay, sponsorBudget, splits, supportedModes, validateSender, waitForConfirmation = true, } = parameters;
36
37
  const storeKeyPrefix = parameters.storeKeyPrefix ?? '';
37
38
  const rawStore = (parameters.store ?? Store.memory());
38
39
  const store = Store.from(rawStore, { keyPrefix: storeKeyPrefix });
@@ -84,12 +85,17 @@ export function charge(parameters = {}) {
84
85
  const currency = resolvedRequest.currency;
85
86
  const recipient = resolvedRequest.recipient;
86
87
  const memo = methodDetails?.memo;
88
+ const machineTokenEnabled = methodDetails?.machineTokenEnabled === true;
89
+ const settlementSender = machineTokenEnabled
90
+ ? MachineTokenCharge.getSettlementSender(chainId)
91
+ : undefined;
87
92
  const isZeroAmount = BigInt(amount) === 0n;
88
93
  Expires.assert(challenge.expires, challenge.id);
89
94
  if (isZeroAmount && payload.type !== 'proof')
90
95
  throw new MismatchError('Zero-amount challenges require a proof credential.', {});
91
96
  return {
92
97
  amount,
98
+ machineTokenEnabled,
93
99
  chainId,
94
100
  challenge,
95
101
  client: await getClient({ chainId }),
@@ -101,11 +107,12 @@ export function charge(parameters = {}) {
101
107
  recipient,
102
108
  requestAllowsFeePayer: request.feePayer !== false,
103
109
  resolvedRequest,
110
+ settlementSenders: settlementSender ? [settlementSender] : [],
104
111
  supportedModes,
105
112
  };
106
113
  }
107
114
  async function validateHashCredential(credential, payload, context) {
108
- const { amount, chainId, challenge, client, currency, memo, methodDetails, recipient, supportedModes, } = context;
115
+ const { amount, chainId, challenge, client, currency, memo, methodDetails, recipient, settlementSenders, supportedModes, } = context;
109
116
  if (supportedModes && !supportedModes.includes('push'))
110
117
  throw new MismatchError('Hash credentials are not supported for this challenge.', {});
111
118
  const source = parseHashCredentialSource({
@@ -120,6 +127,7 @@ export function charge(parameters = {}) {
120
127
  const matchedLogs = await assertTransferLogs(receipt, {
121
128
  currency,
122
129
  sender,
130
+ settlementSenders,
123
131
  source,
124
132
  transfers,
125
133
  validateSender,
@@ -169,7 +177,7 @@ export function charge(parameters = {}) {
169
177
  return { sender: source.address };
170
178
  }
171
179
  async function validateTransactionCredential(credential, payload, request, context) {
172
- const { amount, chainId, challenge, client, currency, memo, methodDetails, recipient, requestAllowsFeePayer, supportedModes, } = context;
180
+ const { machineTokenEnabled, amount, chainId, challenge, client, currency, memo, methodDetails, recipient, requestAllowsFeePayer, supportedModes, } = context;
173
181
  if (supportedModes && !supportedModes.includes('pull'))
174
182
  throw new MismatchError('Transaction credentials are not supported for this challenge.', {});
175
183
  const serializedTransaction = payload.signature;
@@ -182,24 +190,40 @@ export function charge(parameters = {}) {
182
190
  requestAllowsFeePayer &&
183
191
  !!(typeof request.feePayer === 'object' ? request.feePayer : feePayer || feePayerUrl);
184
192
  const transfers = getExpectedTransfers({ amount, memo, methodDetails, recipient });
185
- const matchedCalls = assertTransferCalls(transaction.calls ?? [], {
186
- currency,
187
- exactCount: isFeePayerTx,
188
- transfers,
189
- });
193
+ const machineTokenRoute = machineTokenEnabled
194
+ ? MachineTokenCharge.matchRoute({
195
+ calls: transaction.calls ?? [],
196
+ chainId: chainId ?? client.chain?.id,
197
+ currency,
198
+ transfers,
199
+ })
200
+ : undefined;
201
+ const matchedCalls = machineTokenRoute?.transfers ??
202
+ assertTransferCalls(transaction.calls ?? [], {
203
+ currency,
204
+ exactCount: isFeePayerTx,
205
+ transfers,
206
+ });
190
207
  if (!memo)
191
208
  assertChallengeBoundCallMemo(matchedCalls, {
192
209
  challengeId: challenge.id,
193
210
  realm: challenge.realm,
194
211
  });
195
212
  if (isFeePayerTx) {
196
- FeePayer.validateCalls(transaction.calls, { amount, currency, recipient }, { currency, expectedTransfers: transfers });
213
+ if (!machineTokenRoute)
214
+ FeePayer.validateCalls(transaction.calls, { amount, currency, recipient }, { currency, expectedTransfers: transfers });
197
215
  FeePayer.assertAllowedFeeToken(transaction, FeePayer.defaultAllowedFeeTokens(chainId));
198
216
  }
199
217
  else {
200
218
  await viem_call(client, FeePayer.simulationTransaction(transaction, { feePayer: false }));
201
219
  }
202
- return { isFeePayerTx, serializedTransaction, transaction, transfers };
220
+ return {
221
+ isFeePayerTx,
222
+ serializedTransaction,
223
+ settlementSenders: machineTokenRoute ? [machineTokenRoute.settlementSender] : [],
224
+ transaction,
225
+ transfers,
226
+ };
203
227
  }
204
228
  async function validateCredential(credential, request, context) {
205
229
  switch (context.payload.type) {
@@ -217,7 +241,7 @@ export function charge(parameters = {}) {
217
241
  return { details: { mode: 'proof', sender }, type: 'proof' };
218
242
  }
219
243
  case 'transaction': {
220
- const { isFeePayerTx, serializedTransaction, transaction, transfers } = await validateTransactionCredential(credential, context.payload, request, context);
244
+ const { isFeePayerTx, serializedTransaction, settlementSenders, transaction, transfers } = await validateTransactionCredential(credential, context.payload, request, context);
221
245
  return {
222
246
  details: {
223
247
  mode: 'pull',
@@ -227,6 +251,7 @@ export function charge(parameters = {}) {
227
251
  },
228
252
  isFeePayerTx,
229
253
  serializedTransaction,
254
+ settlementSenders,
230
255
  transaction,
231
256
  transfers,
232
257
  type: 'transaction',
@@ -238,6 +263,7 @@ export function charge(parameters = {}) {
238
263
  canOffer: parameters.canOffer,
239
264
  onPaymentSuccess: parameters.onPaymentSuccess,
240
265
  defaults: {
266
+ machineTokenEnabled,
241
267
  amount,
242
268
  currency,
243
269
  decimals,
@@ -298,6 +324,8 @@ export function charge(parameters = {}) {
298
324
  })();
299
325
  if (client.chain?.id !== chainId)
300
326
  throw new Error(`Client not configured with chainId ${chainId}.`);
327
+ if (request.machineTokenEnabled && !MachineTokenCharge.isSupported(chainId))
328
+ throw new Error(`Machine tokens are not supported on chainId ${chainId}.`);
301
329
  const resolvedFeePayer = (() => {
302
330
  if (request.feePayer === false)
303
331
  return credential ? false : undefined;
@@ -311,6 +339,7 @@ export function charge(parameters = {}) {
311
339
  })();
312
340
  return {
313
341
  ...request,
342
+ machineTokenEnabled: request.machineTokenEnabled || undefined,
314
343
  chainId,
315
344
  feePayer: resolvedFeePayer,
316
345
  memo: request.memo || undefined,
@@ -365,7 +394,7 @@ export function charge(parameters = {}) {
365
394
  };
366
395
  }
367
396
  case 'transaction': {
368
- const { isFeePayerTx, serializedTransaction, transaction, transfers } = validated;
397
+ const { isFeePayerTx, serializedTransaction, settlementSenders, transaction, transfers } = validated;
369
398
  // Pre-broadcast dedup: catch exact byte-for-byte replays early.
370
399
  const hash = keccak256(serializedTransaction);
371
400
  if (!(await tryClaimHash(store, hash, replayExpires))) {
@@ -377,6 +406,9 @@ export function charge(parameters = {}) {
377
406
  let finalHash;
378
407
  let reservation;
379
408
  try {
409
+ const broadcastClient = feePayerUrl && isFeePayerTx
410
+ ? createClient({ chain: client.chain, transport: http(feePayerUrl) })
411
+ : client;
380
412
  const allowedFeeTokens = FeePayer.defaultAllowedFeeTokens(chainId);
381
413
  if (isFeePayerTx)
382
414
  FeePayer.assertAllowedFeeToken(transaction, allowedFeeTokens);
@@ -439,7 +471,9 @@ export function charge(parameters = {}) {
439
471
  }
440
472
  return { serializedTransaction, sponsor: undefined };
441
473
  })();
442
- const serializedTransaction_final = completedTransaction.serializedTransaction;
474
+ // Nodes normalize accepted signature encodings before deriving transaction hashes.
475
+ // Broadcast the same canonical envelope so replay keys match the node reference.
476
+ const serializedTransaction_final = await Transaction.serialize(Transaction.deserialize(completedTransaction.serializedTransaction));
443
477
  finalHash = keccak256(serializedTransaction_final);
444
478
  if (finalHash.toLowerCase() !== hash.toLowerCase() &&
445
479
  !(await tryClaimHash(store, finalHash, replayExpires)))
@@ -488,7 +522,7 @@ export function charge(parameters = {}) {
488
522
  });
489
523
  broadcastAttempted = true;
490
524
  if (waitForConfirmation) {
491
- const receipt = await sendRawTransactionSync(client, {
525
+ const receipt = await sendRawTransactionSync(broadcastClient, {
492
526
  serializedTransaction: serializedTransaction_final,
493
527
  });
494
528
  if (reservation)
@@ -496,6 +530,7 @@ export function charge(parameters = {}) {
496
530
  const matchedLogs = await assertTransferLogs(receipt, {
497
531
  currency,
498
532
  sender: transaction.from,
533
+ settlementSenders,
499
534
  transfers,
500
535
  });
501
536
  if (!memo)
@@ -512,7 +547,7 @@ export function charge(parameters = {}) {
512
547
  // Optimistic path: broadcast without waiting for confirmation
513
548
  // (simulation above already ran). The returned receipt assumes
514
549
  // success — callers opt in via waitForConfirmation: false.
515
- const reference = await sendRawTransaction(client, {
550
+ const reference = await sendRawTransaction(broadcastClient, {
516
551
  serializedTransaction: serializedTransaction_final,
517
552
  });
518
553
  if (reference.toLowerCase() !== finalHash.toLowerCase())
@@ -551,10 +586,11 @@ function chargeBinding(request) {
551
586
  // Exhaustively destructure so new charge request fields require an explicit binding decision.
552
587
  const { amount, currency, description, externalId, methodDetails, recipient, ...requestRest } = request;
553
588
  requestRest;
554
- const { chainId, feePayer, memo, splits, supportedModes, ...methodDetailsRest } = methodDetails ?? {};
589
+ const { chainId, feePayer, machineTokenEnabled, memo, splits, supportedModes, ...methodDetailsRest } = methodDetails ?? {};
555
590
  methodDetailsRest;
556
591
  void feePayer;
557
592
  return {
593
+ machineTokenEnabled,
558
594
  amount,
559
595
  chainId,
560
596
  currency,
@@ -696,7 +732,9 @@ async function assertTransferLogs(receipt, parameters) {
696
732
  if (!(await isValidTransferSender({
697
733
  expectedSender: parameters.sender,
698
734
  sender: log.args.from,
735
+ settlementSenders: parameters.settlementSenders,
699
736
  source: parameters.source,
737
+ transactionSender: receipt.from,
700
738
  validateSender: parameters.validateSender,
701
739
  })))
702
740
  continue;
@@ -771,6 +809,9 @@ function isSameTransferLog(a, b) {
771
809
  async function isValidTransferSender(parameters) {
772
810
  if (TempoAddress.isEqual(parameters.sender, parameters.expectedSender))
773
811
  return true;
812
+ if (TempoAddress.isEqual(parameters.transactionSender, parameters.expectedSender) &&
813
+ parameters.settlementSenders?.some((sender) => TempoAddress.isEqual(parameters.sender, sender)))
814
+ return true;
774
815
  if (!parameters.validateSender)
775
816
  return false;
776
817
  return parameters.validateSender({