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
@@ -1,366 +0,0 @@
1
- import { createClient, custom, defineChain, type Hex } from 'viem'
2
- import { privateKeyToAccount } from 'viem/accounts'
3
- import { signTransaction } from 'viem/actions'
4
- import { Account as TempoAccount, Transaction } from 'viem/tempo'
5
- import { tempo as tempoMainnetChain, tempoLocalnet, tempoModerato } from 'viem/tempo/chains'
6
- import { afterEach, describe, expect, test, vi } from 'vp/test'
7
-
8
- import * as Client from './Client.js'
9
-
10
- const rpcUrl = { 42: 'https://rpc.example.com', 99: 'https://rpc2.example.com' } as const
11
-
12
- afterEach(() => {
13
- vi.unstubAllGlobals()
14
- })
15
-
16
- describe('getResolver', () => {
17
- test('behavior: creates client from rpcUrl for given chainId', async () => {
18
- const getClient = Client.getResolver({
19
- rpcUrl,
20
- })
21
-
22
- const client = await getClient({ chainId: 42 })
23
-
24
- expect(client).toBeDefined()
25
- expect(client.chain?.id).toBe(42)
26
- })
27
-
28
- test('behavior: falls back to first rpcUrl key when chainId is 0', async () => {
29
- const getClient = Client.getResolver({
30
- rpcUrl,
31
- })
32
-
33
- const client = await getClient({})
34
-
35
- expect(client.chain?.id).toBe(42)
36
- })
37
-
38
- test('behavior: spreads chain into created client', async () => {
39
- const chain = { id: 1, name: 'test' }
40
- const getClient = Client.getResolver({
41
- chain: chain as never,
42
- rpcUrl,
43
- })
44
-
45
- const client = await getClient({ chainId: 99 })
46
-
47
- expect(client.chain?.id).toBe(99)
48
- expect(client.chain?.name).toBe('test')
49
- })
50
-
51
- test('behavior: resolves the correct named Tempo chain even when the default chain differs', async () => {
52
- const getClient = Client.getResolver({
53
- // Default chain is mainnet, but the resolved chain ID below is testnet.
54
- chain: tempoMainnetChain as never,
55
- rpcUrl: {
56
- [tempoMainnetChain.id]: 'https://rpc.example.com',
57
- [tempoModerato.id]: 'https://rpc2.example.com',
58
- },
59
- })
60
-
61
- const client = await getClient({ chainId: tempoModerato.id })
62
-
63
- expect(client.chain?.id).toBe(tempoModerato.id)
64
- expect(client.chain?.name).toBe(tempoModerato.name)
65
- expect(client.chain?.name).not.toBe(tempoMainnetChain.name)
66
- })
67
-
68
- test('error: throws when no rpcUrl provided', () => {
69
- const getClient = Client.getResolver({})
70
-
71
- expect(() => getClient({ chainId: 1 })).toThrowErrorMatchingInlineSnapshot(
72
- `[Error: No \`rpcUrl\` provided.]`,
73
- )
74
- })
75
-
76
- test('error: throws when chainId not found in rpcUrl', () => {
77
- const getClient = Client.getResolver({
78
- rpcUrl: { 42: 'https://example.com' },
79
- })
80
-
81
- expect(() => getClient({ chainId: 99 })).toThrowErrorMatchingInlineSnapshot(
82
- `[Error: No \`rpcUrl\` configured for \`chainId\` (99).]`,
83
- )
84
- })
85
-
86
- test('behavior: wraps custom client transports with a hosted fee payer', async () => {
87
- const defaultRequests: string[] = []
88
- const client = createClient({
89
- chain: tempoLocalnet,
90
- transport: custom({
91
- async request({ method }) {
92
- defaultRequests.push(method)
93
- return { source: 'default' }
94
- },
95
- }),
96
- })
97
- const fetchMock = vi.fn(async (_input: RequestInfo | URL, init?: RequestInit) => {
98
- const request = JSON.parse(String(init?.body)) as { id: number; jsonrpc: string }
99
- return Response.json({
100
- id: request.id,
101
- jsonrpc: request.jsonrpc,
102
- result: { source: 'relay' },
103
- })
104
- })
105
- vi.stubGlobal('fetch', fetchMock)
106
-
107
- const getClient = Client.getResolver({
108
- chain: tempoLocalnet,
109
- feePayerUrl: 'https://sponsor.example',
110
- getClient: () => client,
111
- rpcUrl: { [tempoLocalnet.id]: 'https://rpc.example.com' },
112
- })
113
- const resolved = await getClient({ chainId: tempoLocalnet.id })
114
- const result = await resolved.request({
115
- method: 'eth_fillTransaction',
116
- params: [{ feePayer: true }],
117
- } as never)
118
-
119
- expect(result).toEqual({ source: 'relay' })
120
- expect(fetchMock).toHaveBeenCalledOnce()
121
- expect(String(fetchMock.mock.calls[0]?.[0])).toBe('https://sponsor.example/')
122
- expect(defaultRequests).toEqual([])
123
- })
124
- })
125
-
126
- // ---------------------------------------------------------------------------
127
- // Serializer injection – ensures user-provided clients without Tempo chain
128
- // config get Tempo serializers merged in by getResolver.
129
- // ---------------------------------------------------------------------------
130
-
131
- const testAccount = privateKeyToAccount(
132
- '0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80',
133
- )
134
-
135
- const chainIdHex = `0x${tempoLocalnet.id.toString(16)}`
136
- const mockTransport = custom({
137
- async request({ method }: { method: string }) {
138
- if (method === 'eth_chainId') return chainIdHex
139
- throw new Error(`Unexpected RPC call: ${method}`)
140
- },
141
- })
142
-
143
- const tempoClient = createClient({
144
- account: testAccount,
145
- chain: tempoLocalnet,
146
- transport: mockTransport,
147
- })
148
-
149
- function createPlainClient() {
150
- const plainChain = defineChain({
151
- id: tempoLocalnet.id,
152
- name: 'Tempo (no serializer)',
153
- nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 },
154
- rpcUrls: { default: { http: ['http://127.0.0.1:1'] } },
155
- })
156
- return createClient({
157
- account: testAccount,
158
- chain: plainChain,
159
- transport: mockTransport,
160
- })
161
- }
162
-
163
- const feePayer_prepared = {
164
- chainId: tempoLocalnet.id,
165
- calls: [
166
- {
167
- to: '0x20c0000000000000000000000000000000000001' as const,
168
- data: '0x1234' as Hex,
169
- },
170
- ],
171
- feePayer: true as const,
172
- feeToken: '0x20c0000000000000000000000000000000000001' as const,
173
- gas: 100_000n,
174
- maxFeePerGas: 1_000_000_000n,
175
- maxPriorityFeePerGas: 1_000_000n,
176
- nonce: 0,
177
- nonceKey: 115792089237316195423570985008687907853269984665640564039457584007913129639935n,
178
- validBefore: Math.floor(Date.now() / 1000) + 25,
179
- }
180
-
181
- describe('feePayer transaction serialization', () => {
182
- test('behavior: signTransaction with Tempo chain and feePayer: true', async () => {
183
- const serialized = await signTransaction(tempoClient, {
184
- account: testAccount,
185
- ...feePayer_prepared,
186
- } as never)
187
- expect(serialized).toMatch(/^0x7[68]/)
188
- })
189
-
190
- test('behavior: signTransaction with gasPrice + type legacy', async () => {
191
- const serialized = await signTransaction(tempoClient, {
192
- account: testAccount,
193
- ...feePayer_prepared,
194
- gasPrice: 1_000_000_000n,
195
- type: 'legacy' as const,
196
- } as never)
197
- expect(serialized).toMatch(/^0x7[68]/)
198
- })
199
-
200
- test('behavior: fee-payer co-sign with Account object', async () => {
201
- const feePayerAccount = privateKeyToAccount(
202
- '0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d',
203
- )
204
- const serialized = await signTransaction(tempoClient, {
205
- account: feePayerAccount,
206
- ...feePayer_prepared,
207
- feePayer: feePayerAccount,
208
- } as never)
209
- expect(serialized).toMatch(/^0x7[68]/)
210
- })
211
-
212
- test('behavior: deserialized + re-signed tx (server charge flow)', async () => {
213
- const feePayerAccount = privateKeyToAccount(
214
- '0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d',
215
- )
216
- const clientSigned = await signTransaction(tempoClient, {
217
- account: testAccount,
218
- ...feePayer_prepared,
219
- } as never)
220
- const deserialized = Transaction.deserialize(
221
- clientSigned as Transaction.TransactionSerializedTempo,
222
- )
223
- const serverSigned = await signTransaction(tempoClient, {
224
- ...deserialized,
225
- account: feePayerAccount,
226
- feePayer: feePayerAccount,
227
- feeToken: '0x20c0000000000000000000000000000000000001' as const,
228
- } as never)
229
- expect(serverSigned).toMatch(/^0x7[68]/)
230
- })
231
-
232
- test('behavior: deserialized + re-signed tx preserves keyAuthorization', async () => {
233
- const rootAccount = TempoAccount.fromSecp256k1(
234
- '0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80',
235
- )
236
- const accessKey = TempoAccount.fromSecp256k1(
237
- '0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d',
238
- { access: rootAccount },
239
- )
240
- const feePayerAccount = privateKeyToAccount(
241
- '0x5de4111afa1a4b94908f83103f52c5de640f0e4f465f975fa6d6640d3c5e3b48',
242
- )
243
- const accessKeyClient = createClient({
244
- account: accessKey,
245
- chain: tempoLocalnet,
246
- transport: mockTransport,
247
- })
248
-
249
- const keyAuthorization = await rootAccount.signKeyAuthorization(
250
- {
251
- accessKeyAddress: accessKey.accessKeyAddress,
252
- keyType: accessKey.keyType,
253
- },
254
- {
255
- chainId: BigInt(tempoLocalnet.id),
256
- },
257
- )
258
-
259
- const clientSigned = await signTransaction(accessKeyClient, {
260
- account: accessKey,
261
- ...feePayer_prepared,
262
- keyAuthorization,
263
- } as never)
264
- const deserialized = Transaction.deserialize(
265
- clientSigned as Transaction.TransactionSerializedTempo,
266
- )
267
-
268
- expect(deserialized.keyAuthorization).toEqual(keyAuthorization)
269
-
270
- const serverSigned = await signTransaction(tempoClient, {
271
- ...deserialized,
272
- account: feePayerAccount,
273
- feePayer: feePayerAccount,
274
- feeToken: '0x20c0000000000000000000000000000000000001' as const,
275
- } as never)
276
- const serverDeserialized = Transaction.deserialize(
277
- serverSigned as Transaction.TransactionSerializedTempo,
278
- )
279
-
280
- expect(serverDeserialized.keyAuthorization).toEqual(keyAuthorization)
281
- })
282
- })
283
-
284
- describe('getResolver serializer injection', () => {
285
- test('behavior: injects Tempo serializer onto plain clients', async () => {
286
- const plainClient = createPlainClient()
287
- expect(plainClient.chain?.serializers?.transaction).toBeUndefined()
288
-
289
- const resolver = Client.getResolver({
290
- chain: tempoLocalnet,
291
- getClient: () => plainClient,
292
- })
293
- const resolvedClient = await resolver({})
294
-
295
- expect(resolvedClient.chain?.serializers?.transaction).toBeDefined()
296
- const serialized = await signTransaction(resolvedClient, {
297
- account: testAccount,
298
- ...feePayer_prepared,
299
- } as never)
300
- expect(serialized).toMatch(/^0x7[68]/)
301
- })
302
-
303
- test('behavior: fixes legacy type + feePayer + maxFeePerGas', async () => {
304
- const resolver = Client.getResolver({
305
- chain: tempoLocalnet,
306
- getClient: () => createPlainClient(),
307
- })
308
- const resolvedClient = await resolver({})
309
-
310
- const serialized = await signTransaction(resolvedClient, {
311
- account: testAccount,
312
- ...feePayer_prepared,
313
- type: 'legacy' as const,
314
- } as never)
315
- expect(serialized).toMatch(/^0x7[68]/)
316
- })
317
-
318
- test('behavior: preserves existing serializers', async () => {
319
- const resolver = Client.getResolver({
320
- chain: tempoLocalnet,
321
- getClient: () => tempoClient,
322
- })
323
- const resolvedClient = await resolver({})
324
-
325
- expect(resolvedClient.chain?.serializers?.transaction).toBe(
326
- tempoClient.chain?.serializers?.transaction,
327
- )
328
- })
329
-
330
- test('behavior: passes through getClient when chain has no serializers', async () => {
331
- const getClient = () => createPlainClient()
332
- const resolver = Client.getResolver({
333
- chain: undefined,
334
- getClient,
335
- })
336
-
337
- expect(resolver).toBe(getClient)
338
- })
339
-
340
- test('behavior: does not mutate the original client', async () => {
341
- const plainClient = createPlainClient()
342
- const originalChain = plainClient.chain
343
-
344
- const resolver = Client.getResolver({
345
- chain: tempoLocalnet,
346
- getClient: () => plainClient,
347
- })
348
- const resolvedClient = await resolver({})
349
-
350
- expect(plainClient.chain).toBe(originalChain)
351
- expect(resolvedClient).not.toBe(plainClient)
352
- expect(resolvedClient.chain?.serializers?.transaction).toBeDefined()
353
- })
354
-
355
- test('error: plain client without resolver throws on feePayer tx', async () => {
356
- const plainClient = createPlainClient()
357
-
358
- await expect(
359
- signTransaction(plainClient, {
360
- account: testAccount,
361
- ...feePayer_prepared,
362
- type: 'legacy' as const,
363
- } as never),
364
- ).rejects.toThrow()
365
- })
366
- })
@@ -1,93 +0,0 @@
1
- import { type Chain, type Client, createClient, createTransport, custom, http } from 'viem'
2
- import { withFeePayer } from 'viem/tempo'
3
- import { tempo as tempoMainnetChain, tempoModerato } from 'viem/tempo/chains'
4
-
5
- import type { MaybePromise } from '../internal/types.js'
6
-
7
- const knownTempoChains: Record<number, Chain> = {
8
- [tempoMainnetChain.id]: tempoMainnetChain,
9
- [tempoModerato.id]: tempoModerato,
10
- }
11
-
12
- export function getResolver(
13
- parameters: getResolver.Parameters & {
14
- /** Default chain to use if not provided. */
15
- chain?: Chain | undefined
16
- /** Fee payer relay URL. When set, the transport is wrapped with `withFeePayer`. */
17
- feePayerUrl?: string | undefined
18
- /** RPC URLs keyed by chain ID. */
19
- rpcUrl?: ({ [chainId: number]: string } & object) | undefined
20
- },
21
- ): (parameters: { chainId?: number | undefined }) => MaybePromise<Client> {
22
- const { chain, feePayerUrl, getClient, rpcUrl } = parameters
23
-
24
- if (getClient) {
25
- // When a default chain with serializers is provided (e.g. Tempo chain config),
26
- // ensure user-provided clients inherit those serializers. Without this, clients
27
- // created without the Tempo chain config will use the default viem serializer,
28
- // causing errors like "maxFeePerGas is not a valid Legacy Transaction attribute".
29
- if (!chain?.serializers && !feePayerUrl) return getClient
30
- return async (params) => {
31
- const client = await getClient(params)
32
- let resolvedClient = client
33
-
34
- // Wrap the client's transport with `withFeePayer` when a fee payer URL is provided.
35
- if (feePayerUrl && client.transport.key !== 'feePayer') {
36
- const request = client.request.bind(client)
37
- // The supplied client already owns retries. Keep the relay middleware retry-free so
38
- // failures are not retried once per nested transport layer.
39
- const feePayerTransport = withFeePayer(
40
- custom({ request: (args) => request(args as never) }, { retryCount: 0 }),
41
- http(feePayerUrl, { retryCount: client.transport.retryCount }),
42
- )({
43
- account: client.account,
44
- chain: client.chain,
45
- pollingInterval: client.pollingInterval,
46
- retryCount: 0,
47
- })
48
- const wrapped = createTransport(
49
- { ...feePayerTransport.config, retryCount: 0 },
50
- feePayerTransport.value,
51
- )
52
- resolvedClient = Object.assign({}, client, {
53
- request: wrapped.request,
54
- transport: { ...wrapped.config, ...wrapped.value },
55
- })
56
- }
57
-
58
- if (!chain?.serializers || resolvedClient.chain?.serializers?.transaction)
59
- return resolvedClient
60
- return Object.assign({}, resolvedClient, {
61
- chain: {
62
- ...chain,
63
- ...resolvedClient.chain,
64
- formatters: resolvedClient.chain?.formatters ?? chain.formatters,
65
- prepareTransactionRequest:
66
- resolvedClient.chain?.prepareTransactionRequest ?? chain.prepareTransactionRequest,
67
- serializers: resolvedClient.chain?.serializers?.transaction
68
- ? resolvedClient.chain.serializers
69
- : chain.serializers,
70
- } as typeof resolvedClient.chain,
71
- })
72
- }
73
- }
74
-
75
- return ({ chainId }: { chainId?: number | undefined }) => {
76
- if (!rpcUrl) throw new Error('No `rpcUrl` provided.')
77
- const resolvedChainId = chainId || Number(Object.keys(rpcUrl)[0])!
78
- const url = rpcUrl[resolvedChainId as keyof typeof rpcUrl]
79
- if (!url) throw new Error(`No \`rpcUrl\` configured for \`chainId\` (${resolvedChainId}).`)
80
- const transport = feePayerUrl ? withFeePayer(http(url), http(feePayerUrl)) : http(url)
81
- return createClient({
82
- chain: (knownTempoChains[resolvedChainId] ?? { ...chain, id: resolvedChainId }) as never,
83
- transport,
84
- })
85
- }
86
- }
87
-
88
- export declare namespace getResolver {
89
- type Parameters = {
90
- /** Function that returns a client for the given chain ID. */
91
- getClient?: ((parameters: { chainId?: number | undefined }) => MaybePromise<Client>) | undefined
92
- }
93
- }
@@ -1,24 +0,0 @@
1
- import { Constants as HttpMessageSignature } from '../attestation/internal/HttpMessageSignature.js'
2
-
3
- /** Web Bot Auth values for the supported HTTPS-directory signature profile. */
4
- export const Constants = {
5
- /** Stable identifier for Web Bot Auth signers and replay storage. */
6
- protocol: 'web-bot-auth',
7
- /** Web Bot Auth discovery type supported by this adapter. */
8
- discoveryType: 'directory',
9
- /** RFC 9421 signature label used when no label is configured. */
10
- label: 'webbot',
11
- /** Tag identifying a Web Bot Auth request signature. */
12
- tag: 'web-bot-auth',
13
- /** Structured HTTP header linking a bot signature to its HTTPS directory origin. */
14
- signatureAgentHeader: 'Signature-Agent',
15
- /** Default lifetime, in seconds, for a bot request signature. */
16
- defaultSignatureLifetime: 60,
17
- /** Default verifier limit, following the draft's recommended 24-hour maximum. */
18
- defaultMaximumSignatureLifetime: 24 * 60 * 60,
19
- /** HTTP components required by this directory profile. */
20
- requiredComponents: [
21
- HttpMessageSignature.components.authority,
22
- HttpMessageSignature.components.signatureAgent,
23
- ],
24
- } as const
@@ -1,9 +0,0 @@
1
- /** Verified Web Bot Auth HTTPS-directory profile request signature. */
2
- export type VerifiedRequest = {
3
- /** Public-key thumbprint advertised by the bot. */
4
- keyId: string
5
- /** HTTPS directory origin carried in the signed `Signature-Agent` header. */
6
- signatureAgent: string
7
- /** Signature nonce supplied by the bot. */
8
- nonce: string
9
- }
@@ -1,182 +0,0 @@
1
- import * as Attestation from 'mppx/attestation'
2
- import * as WebBotAuth from 'mppx/attestation/web-bot-auth'
3
- import { expect, test } from 'vp/test'
4
- import { jwkThumbprint, keyPair, rsaKeyPair } from '~test/Attestation.js'
5
-
6
- import * as HttpMessageSignature from '../attestation/internal/HttpMessageSignature.js'
7
-
8
- test('emits and verifies a signed Signature-Agent member', async () => {
9
- const keys = await keyPair()
10
- const keyId = await jwkThumbprint(keys.publicKey)
11
- const signatureAgent = 'https://agent.example'
12
- const signed = await WebBotAuth.Client.signer({
13
- expiresIn: WebBotAuth.Constants.defaultSignatureLifetime + 1,
14
- key: keys.privateKey,
15
- keyId,
16
- signatureAgent: `${signatureAgent}/`,
17
- }).sign(new Request('https://merchant.example/resource'))
18
-
19
- expect(signed.headers.get(WebBotAuth.Constants.signatureAgentHeader)).toBe(
20
- `${WebBotAuth.Constants.label}="${signatureAgent}"`,
21
- )
22
- expect(signed.headers.get(Attestation.Headers.signatureInput)).toContain(
23
- `"signature-agent";key="${WebBotAuth.Constants.label}"`,
24
- )
25
- expect(
26
- await WebBotAuth.Server.verifier({
27
- keyResolver: () => keys.publicKey,
28
- maxAge: WebBotAuth.Constants.defaultSignatureLifetime,
29
- nonceStore: Attestation.Store.memory(),
30
- }).verify(signed),
31
- ).toMatchObject({ status: 'invalid' })
32
- expect(
33
- await WebBotAuth.Server.verifier({
34
- keyResolver: () => keys.publicKey,
35
- nonceStore: Attestation.Store.memory(),
36
- }).verify(signed),
37
- ).toMatchObject({
38
- status: 'verified',
39
- value: { keyId, signatureAgent },
40
- })
41
- })
42
-
43
- test('signs and verifies RSA-PSS SHA-512', async () => {
44
- const keys = await rsaKeyPair()
45
- const keyId = await jwkThumbprint(keys.publicKey)
46
- const algorithms: Attestation.SignatureAlgorithm[] = []
47
- const signed = await WebBotAuth.Client.signer({
48
- key: keys.privateKey,
49
- keyId,
50
- signatureAgent: 'https://agent.example',
51
- }).sign(new Request('https://merchant.example/resource'))
52
- const result = await WebBotAuth.Server.verifier({
53
- keyResolver({ algorithm, keyId: candidate }) {
54
- algorithms.push(algorithm)
55
- return candidate === keyId ? keys.publicKey : undefined
56
- },
57
- nonceStore: Attestation.Store.memory(),
58
- }).verify(signed)
59
-
60
- expect(signed.headers.get(Attestation.Headers.signatureInput)).toContain(
61
- `alg="${Attestation.Algorithms.rsaPssSha512}"`,
62
- )
63
- expect(algorithms).toEqual([Attestation.Algorithms.rsaPssSha512])
64
- expect(result).toMatchObject({ status: 'verified' })
65
- })
66
-
67
- test('preserves directory lookup failures as unverified outcomes', async () => {
68
- const keys = await keyPair()
69
- const keyId = await jwkThumbprint(keys.publicKey)
70
- const signed = await WebBotAuth.Client.signer({
71
- key: keys.privateKey,
72
- keyId,
73
- signatureAgent: 'https://agent.example',
74
- }).sign(new Request('https://merchant.example/resource'))
75
-
76
- expect(
77
- await WebBotAuth.Server.verifier({
78
- keyResolver: () => undefined,
79
- nonceStore: Attestation.Store.memory(),
80
- }).verify(signed),
81
- ).toEqual({
82
- reason: 'No public key is available for the signature key ID.',
83
- status: 'unverified',
84
- })
85
- expect(
86
- await WebBotAuth.Server.verifier({
87
- keyResolver() {
88
- throw new Error('directory unavailable')
89
- },
90
- nonceStore: Attestation.Store.memory(),
91
- }).verify(signed),
92
- ).toEqual({
93
- reason: 'The public key could not be resolved.',
94
- status: 'unverified',
95
- })
96
- })
97
-
98
- test('rejects mismatched keys, non-directory discovery, and header tampering', async () => {
99
- const advertisedKeys = await keyPair()
100
- const signingKeys = await keyPair()
101
- const advertisedKeyId = await jwkThumbprint(advertisedKeys.publicKey)
102
- const signatureAgent = 'https://agent.example'
103
- const signed = await WebBotAuth.Client.signer({
104
- key: signingKeys.privateKey,
105
- keyId: advertisedKeyId,
106
- signatureAgent,
107
- }).sign(new Request('https://merchant.example/resource'))
108
- const verifier = WebBotAuth.Server.verifier({
109
- keyResolver: () => signingKeys.publicKey,
110
- nonceStore: Attestation.Store.memory(),
111
- })
112
-
113
- expect(await verifier.verify(signed)).toMatchObject({ status: 'invalid' })
114
-
115
- const alteredHeaders = new Headers(signed.headers)
116
- alteredHeaders.set(
117
- WebBotAuth.Constants.signatureAgentHeader,
118
- `${WebBotAuth.Constants.label}="https://attacker.example"`,
119
- )
120
- expect(
121
- await WebBotAuth.Server.verifier({
122
- keyResolver: () => signingKeys.publicKey,
123
- nonceStore: Attestation.Store.memory(),
124
- }).verify(new Request(signed, { headers: alteredHeaders })),
125
- ).toMatchObject({ status: 'invalid' })
126
-
127
- const discoveryHeaders = new Headers({
128
- [WebBotAuth.Constants.signatureAgentHeader]:
129
- 'webbot="https://agent.example/keys";type=jwks_uri',
130
- })
131
- const unsupportedDiscovery = await HttpMessageSignature.sign(
132
- new Request('https://merchant.example/resource', { headers: discoveryHeaders }),
133
- {
134
- components: [
135
- HttpMessageSignature.Constants.components.authority,
136
- {
137
- id: HttpMessageSignature.Constants.components.signatureAgent,
138
- parameters: new Map([['key', WebBotAuth.Constants.label]]),
139
- },
140
- ],
141
- key: advertisedKeys.privateKey,
142
- keyId: advertisedKeyId,
143
- label: WebBotAuth.Constants.label,
144
- tag: WebBotAuth.Constants.tag,
145
- },
146
- )
147
- expect(
148
- await WebBotAuth.Server.verifier({
149
- keyResolver: () => advertisedKeys.publicKey,
150
- nonceStore: Attestation.Store.memory(),
151
- }).verify(unsupportedDiscovery),
152
- ).toMatchObject({
153
- reason: 'The Signature-Agent discovery type is not supported by this directory profile.',
154
- status: 'invalid',
155
- })
156
- })
157
-
158
- test('validates signer and verifier configuration', async () => {
159
- const keys = await keyPair()
160
- const keyId = await jwkThumbprint(keys.publicKey)
161
- const config = { key: keys.privateKey, keyId, signatureAgent: 'https://agent.example' }
162
-
163
- expect(() => WebBotAuth.Client.signer({ ...config, keyId: 'not-a-thumbprint' })).toThrow(
164
- 'Web Bot Auth keyId must be an RFC 7638 SHA-256 JWK thumbprint.',
165
- )
166
- expect(() => WebBotAuth.Client.signer({ ...config, signatureAgent: 'https://' })).toThrow(
167
- 'Signature-Agent must identify a valid HTTPS origin.',
168
- )
169
- expect(() =>
170
- WebBotAuth.Client.signer({ ...config, signatureAgent: 'https://agent.example/keys' }),
171
- ).toThrow('Signature-Agent must identify a valid HTTPS origin.')
172
- expect(() => WebBotAuth.Client.signer({ ...config, expiresIn: 0 })).toThrow(
173
- 'Web Bot Auth expiresIn must be a positive integer.',
174
- )
175
- expect(() =>
176
- WebBotAuth.Server.verifier({
177
- keyResolver: () => keys.publicKey,
178
- maxAge: 0,
179
- nonceStore: Attestation.Store.memory(),
180
- }),
181
- ).toThrow('Web Bot Auth maxAge must be a positive integer.')
182
- })