mppx 0.6.31 → 0.8.0

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 (616) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +20 -11
  3. package/dist/Challenge.d.ts.map +1 -1
  4. package/dist/Challenge.js +27 -13
  5. package/dist/Challenge.js.map +1 -1
  6. package/dist/Constants.d.ts +46 -0
  7. package/dist/Constants.d.ts.map +1 -0
  8. package/dist/Constants.js +46 -0
  9. package/dist/Constants.js.map +1 -0
  10. package/dist/Credential.d.ts.map +1 -1
  11. package/dist/Credential.js +5 -4
  12. package/dist/Credential.js.map +1 -1
  13. package/dist/Mcp.d.ts +3 -0
  14. package/dist/Mcp.d.ts.map +1 -1
  15. package/dist/Mcp.js +2 -0
  16. package/dist/Mcp.js.map +1 -1
  17. package/dist/Method.d.ts +32 -4
  18. package/dist/Method.d.ts.map +1 -1
  19. package/dist/Method.js +5 -2
  20. package/dist/Method.js.map +1 -1
  21. package/dist/PaymentRequest.d.ts +10 -10
  22. package/dist/PaymentRequest.js +8 -8
  23. package/dist/Receipt.d.ts.map +1 -1
  24. package/dist/Receipt.js +3 -2
  25. package/dist/Receipt.js.map +1 -1
  26. package/dist/cli/cli.d.ts.map +1 -1
  27. package/dist/cli/cli.js +19 -11
  28. package/dist/cli/cli.js.map +1 -1
  29. package/dist/cli/plugins/tempo.d.ts.map +1 -1
  30. package/dist/cli/plugins/tempo.js +17 -6
  31. package/dist/cli/plugins/tempo.js.map +1 -1
  32. package/dist/cli/utils.d.ts +5 -0
  33. package/dist/cli/utils.d.ts.map +1 -1
  34. package/dist/cli/utils.js +10 -0
  35. package/dist/cli/utils.js.map +1 -1
  36. package/dist/client/Methods.d.ts +5 -2
  37. package/dist/client/Methods.d.ts.map +1 -1
  38. package/dist/client/Methods.js +5 -2
  39. package/dist/client/Methods.js.map +1 -1
  40. package/dist/client/Mppx.js +2 -2
  41. package/dist/client/Mppx.js.map +1 -1
  42. package/dist/client/Transport.d.ts +11 -16
  43. package/dist/client/Transport.d.ts.map +1 -1
  44. package/dist/client/Transport.js +55 -76
  45. package/dist/client/Transport.js.map +1 -1
  46. package/dist/client/index.d.ts +5 -1
  47. package/dist/client/index.d.ts.map +1 -1
  48. package/dist/client/index.js +3 -1
  49. package/dist/client/index.js.map +1 -1
  50. package/dist/client/internal/Fetch.d.ts.map +1 -1
  51. package/dist/client/internal/Fetch.js +60 -13
  52. package/dist/client/internal/Fetch.js.map +1 -1
  53. package/dist/client/internal/protocols/Mcp.d.ts +7 -0
  54. package/dist/client/internal/protocols/Mcp.d.ts.map +1 -0
  55. package/dist/client/internal/protocols/Mcp.js +159 -0
  56. package/dist/client/internal/protocols/Mcp.js.map +1 -0
  57. package/dist/client/internal/protocols/Mpp.d.ts +4 -0
  58. package/dist/client/internal/protocols/Mpp.d.ts.map +1 -0
  59. package/dist/client/internal/protocols/Mpp.js +18 -0
  60. package/dist/client/internal/protocols/Mpp.js.map +1 -0
  61. package/dist/client/internal/protocols/Protocol.d.ts +10 -0
  62. package/dist/client/internal/protocols/Protocol.d.ts.map +1 -0
  63. package/dist/client/internal/protocols/Protocol.js +2 -0
  64. package/dist/client/internal/protocols/Protocol.js.map +1 -0
  65. package/dist/client/internal/protocols/Shared.d.ts +5 -0
  66. package/dist/client/internal/protocols/Shared.d.ts.map +1 -0
  67. package/dist/client/internal/protocols/Shared.js +20 -0
  68. package/dist/client/internal/protocols/Shared.js.map +1 -0
  69. package/dist/client/internal/protocols/X402.d.ts +8 -0
  70. package/dist/client/internal/protocols/X402.d.ts.map +1 -0
  71. package/dist/client/internal/protocols/X402.js +39 -0
  72. package/dist/client/internal/protocols/X402.js.map +1 -0
  73. package/dist/evm/client/index.d.ts +1 -0
  74. package/dist/evm/client/index.d.ts.map +1 -1
  75. package/dist/evm/client/index.js +1 -0
  76. package/dist/evm/client/index.js.map +1 -1
  77. package/dist/evm/index.d.ts +2 -0
  78. package/dist/evm/index.d.ts.map +1 -1
  79. package/dist/evm/index.js +2 -0
  80. package/dist/evm/index.js.map +1 -1
  81. package/dist/evm/server/Methods.d.ts +1 -1
  82. package/dist/evm/server/Methods.d.ts.map +1 -1
  83. package/dist/evm/server/index.d.ts +1 -0
  84. package/dist/evm/server/index.d.ts.map +1 -1
  85. package/dist/evm/server/index.js +1 -0
  86. package/dist/evm/server/index.js.map +1 -1
  87. package/dist/index.d.ts +1 -0
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +1 -0
  90. package/dist/index.js.map +1 -1
  91. package/dist/internal/AcceptPayment.d.ts +3 -0
  92. package/dist/internal/AcceptPayment.d.ts.map +1 -1
  93. package/dist/internal/AcceptPayment.js +15 -11
  94. package/dist/internal/AcceptPayment.js.map +1 -1
  95. package/dist/mcp/client/McpClient.d.ts +101 -0
  96. package/dist/mcp/client/McpClient.d.ts.map +1 -0
  97. package/dist/mcp/client/McpClient.js +162 -0
  98. package/dist/mcp/client/McpClient.js.map +1 -0
  99. package/dist/mcp/client/index.d.ts.map +1 -0
  100. package/dist/mcp/client/index.js.map +1 -0
  101. package/dist/mcp/server/Transport.d.ts.map +1 -0
  102. package/dist/mcp/server/Transport.js.map +1 -0
  103. package/dist/mcp/server/index.d.ts.map +1 -0
  104. package/dist/mcp/server/index.js.map +1 -0
  105. package/dist/server/Mppx.d.ts +12 -4
  106. package/dist/server/Mppx.d.ts.map +1 -1
  107. package/dist/server/Mppx.js +85 -27
  108. package/dist/server/Mppx.js.map +1 -1
  109. package/dist/server/Response.d.ts.map +1 -1
  110. package/dist/server/Response.js +2 -1
  111. package/dist/server/Response.js.map +1 -1
  112. package/dist/server/Transport.d.ts +1 -1
  113. package/dist/server/Transport.d.ts.map +1 -1
  114. package/dist/server/Transport.js +5 -4
  115. package/dist/server/Transport.js.map +1 -1
  116. package/dist/server/index.d.ts +1 -0
  117. package/dist/server/index.d.ts.map +1 -1
  118. package/dist/server/index.js +1 -0
  119. package/dist/server/index.js.map +1 -1
  120. package/dist/stripe/client/Charge.d.ts +1 -1
  121. package/dist/stripe/client/Charge.d.ts.map +1 -1
  122. package/dist/stripe/client/Charge.js +3 -1
  123. package/dist/stripe/client/Charge.js.map +1 -1
  124. package/dist/stripe/server/Charge.d.ts +1 -1
  125. package/dist/stripe/server/Charge.d.ts.map +1 -1
  126. package/dist/stripe/server/Charge.js +9 -2
  127. package/dist/stripe/server/Charge.js.map +1 -1
  128. package/dist/stripe/server/Methods.d.ts +1 -1
  129. package/dist/stripe/server/Methods.d.ts.map +1 -1
  130. package/dist/stripe/server/internal/html.gen.d.ts +1 -1
  131. package/dist/stripe/server/internal/html.gen.d.ts.map +1 -1
  132. package/dist/stripe/server/internal/html.gen.js +1 -1
  133. package/dist/stripe/server/internal/html.gen.js.map +1 -1
  134. package/dist/tempo/Methods.d.ts +18 -0
  135. package/dist/tempo/Methods.d.ts.map +1 -1
  136. package/dist/tempo/Methods.js +16 -1
  137. package/dist/tempo/Methods.js.map +1 -1
  138. package/dist/tempo/Proof.d.ts +85 -1
  139. package/dist/tempo/Proof.d.ts.map +1 -1
  140. package/dist/tempo/Proof.js +35 -0
  141. package/dist/tempo/Proof.js.map +1 -1
  142. package/dist/tempo/client/Charge.d.ts +19 -1
  143. package/dist/tempo/client/Charge.d.ts.map +1 -1
  144. package/dist/tempo/client/Charge.js +47 -27
  145. package/dist/tempo/client/Charge.js.map +1 -1
  146. package/dist/tempo/client/Methods.d.ts +41 -10
  147. package/dist/tempo/client/Methods.d.ts.map +1 -1
  148. package/dist/tempo/client/Methods.js +16 -7
  149. package/dist/tempo/client/Methods.js.map +1 -1
  150. package/dist/tempo/client/ResolveAccount.d.ts +40 -0
  151. package/dist/tempo/client/ResolveAccount.d.ts.map +1 -0
  152. package/dist/tempo/client/ResolveAccount.js +2 -0
  153. package/dist/tempo/client/ResolveAccount.js.map +1 -0
  154. package/dist/tempo/client/index.d.ts +7 -4
  155. package/dist/tempo/client/index.d.ts.map +1 -1
  156. package/dist/tempo/client/index.js +5 -3
  157. package/dist/tempo/client/index.js.map +1 -1
  158. package/dist/tempo/index.d.ts +1 -0
  159. package/dist/tempo/index.d.ts.map +1 -1
  160. package/dist/tempo/index.js +1 -0
  161. package/dist/tempo/index.js.map +1 -1
  162. package/dist/tempo/internal/fee-payer.d.ts +29 -1
  163. package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
  164. package/dist/tempo/internal/fee-payer.js +138 -4
  165. package/dist/tempo/internal/fee-payer.js.map +1 -1
  166. package/dist/tempo/internal/proof.d.ts +71 -5
  167. package/dist/tempo/internal/proof.d.ts.map +1 -1
  168. package/dist/tempo/internal/proof.js +42 -6
  169. package/dist/tempo/internal/proof.js.map +1 -1
  170. package/dist/tempo/{client → legacy/client}/ChannelOps.d.ts +19 -6
  171. package/dist/tempo/legacy/client/ChannelOps.d.ts.map +1 -0
  172. package/dist/tempo/{client → legacy/client}/ChannelOps.js +9 -3
  173. package/dist/tempo/legacy/client/ChannelOps.js.map +1 -0
  174. package/dist/tempo/{client → legacy/client}/Session.d.ts +23 -4
  175. package/dist/tempo/legacy/client/Session.d.ts.map +1 -0
  176. package/dist/tempo/{client → legacy/client}/Session.js +14 -7
  177. package/dist/tempo/legacy/client/Session.js.map +1 -0
  178. package/dist/tempo/{client → legacy/client}/SessionManager.d.ts +20 -5
  179. package/dist/tempo/legacy/client/SessionManager.d.ts.map +1 -0
  180. package/dist/tempo/{client → legacy/client}/SessionManager.js +30 -19
  181. package/dist/tempo/legacy/client/SessionManager.js.map +1 -0
  182. package/dist/tempo/legacy/client/index.d.ts +7 -0
  183. package/dist/tempo/legacy/client/index.d.ts.map +1 -0
  184. package/dist/tempo/legacy/client/index.js +5 -0
  185. package/dist/tempo/legacy/client/index.js.map +1 -0
  186. package/dist/tempo/legacy/index.d.ts +7 -0
  187. package/dist/tempo/legacy/index.d.ts.map +1 -0
  188. package/dist/tempo/legacy/index.js +7 -0
  189. package/dist/tempo/legacy/index.js.map +1 -0
  190. package/dist/tempo/{server → legacy/server}/Session.d.ts +28 -11
  191. package/dist/tempo/legacy/server/Session.d.ts.map +1 -0
  192. package/dist/tempo/{server → legacy/server}/Session.js +12 -10
  193. package/dist/tempo/legacy/server/Session.js.map +1 -0
  194. package/dist/tempo/legacy/server/index.d.ts +5 -0
  195. package/dist/tempo/legacy/server/index.d.ts.map +1 -0
  196. package/dist/tempo/legacy/server/index.js +5 -0
  197. package/dist/tempo/legacy/server/index.js.map +1 -0
  198. package/dist/tempo/{session → legacy/session}/Chain.d.ts +30 -23
  199. package/dist/tempo/legacy/session/Chain.d.ts.map +1 -0
  200. package/dist/tempo/{session → legacy/session}/Chain.js +12 -11
  201. package/dist/tempo/legacy/session/Chain.js.map +1 -0
  202. package/dist/tempo/{session → legacy/session}/Channel.d.ts +1 -0
  203. package/dist/tempo/legacy/session/Channel.d.ts.map +1 -0
  204. package/dist/tempo/legacy/session/Channel.js.map +1 -0
  205. package/dist/tempo/legacy/session/ChannelStore.d.ts +22 -0
  206. package/dist/tempo/legacy/session/ChannelStore.d.ts.map +1 -0
  207. package/dist/tempo/legacy/session/ChannelStore.js +6 -0
  208. package/dist/tempo/legacy/session/ChannelStore.js.map +1 -0
  209. package/dist/tempo/legacy/session/Types.d.ts +73 -0
  210. package/dist/tempo/legacy/session/Types.d.ts.map +1 -0
  211. package/dist/tempo/legacy/session/Types.js.map +1 -0
  212. package/dist/tempo/{session → legacy/session}/Voucher.d.ts +4 -4
  213. package/dist/tempo/legacy/session/Voucher.d.ts.map +1 -0
  214. package/dist/tempo/{session → legacy/session}/Voucher.js +1 -1
  215. package/dist/tempo/legacy/session/Voucher.js.map +1 -0
  216. package/dist/tempo/{session → legacy/session}/escrow.abi.d.ts +1 -0
  217. package/dist/tempo/{session → legacy/session}/escrow.abi.d.ts.map +1 -1
  218. package/dist/tempo/{session → legacy/session}/escrow.abi.js +1 -0
  219. package/dist/tempo/legacy/session/escrow.abi.js.map +1 -0
  220. package/dist/tempo/legacy/session/index.d.ts +9 -0
  221. package/dist/tempo/legacy/session/index.d.ts.map +1 -0
  222. package/dist/tempo/legacy/session/index.js +9 -0
  223. package/dist/tempo/legacy/session/index.js.map +1 -0
  224. package/dist/tempo/server/Charge.d.ts +1 -1
  225. package/dist/tempo/server/Charge.d.ts.map +1 -1
  226. package/dist/tempo/server/Charge.js +51 -30
  227. package/dist/tempo/server/Charge.js.map +1 -1
  228. package/dist/tempo/server/Methods.d.ts +67 -8
  229. package/dist/tempo/server/Methods.d.ts.map +1 -1
  230. package/dist/tempo/server/Methods.js +40 -10
  231. package/dist/tempo/server/Methods.js.map +1 -1
  232. package/dist/tempo/server/Subscription.d.ts +11 -1
  233. package/dist/tempo/server/Subscription.d.ts.map +1 -1
  234. package/dist/tempo/server/Subscription.js +135 -23
  235. package/dist/tempo/server/Subscription.js.map +1 -1
  236. package/dist/tempo/server/index.d.ts +6 -5
  237. package/dist/tempo/server/index.d.ts.map +1 -1
  238. package/dist/tempo/server/index.js +5 -5
  239. package/dist/tempo/server/index.js.map +1 -1
  240. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  241. package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
  242. package/dist/tempo/server/internal/html.gen.js +1 -1
  243. package/dist/tempo/server/internal/html.gen.js.map +1 -1
  244. package/dist/tempo/server/internal/request-body.d.ts +7 -2
  245. package/dist/tempo/server/internal/request-body.d.ts.map +1 -1
  246. package/dist/tempo/server/internal/request-body.js +20 -3
  247. package/dist/tempo/server/internal/request-body.js.map +1 -1
  248. package/dist/tempo/server/internal/transport.d.ts +8 -4
  249. package/dist/tempo/server/internal/transport.d.ts.map +1 -1
  250. package/dist/tempo/server/internal/transport.js +8 -7
  251. package/dist/tempo/server/internal/transport.js.map +1 -1
  252. package/dist/tempo/session/Snapshot.d.ts +32 -0
  253. package/dist/tempo/session/Snapshot.d.ts.map +1 -0
  254. package/dist/tempo/session/Snapshot.js +37 -0
  255. package/dist/tempo/session/Snapshot.js.map +1 -0
  256. package/dist/tempo/session/client/ChannelOps.d.ts +81 -0
  257. package/dist/tempo/session/client/ChannelOps.d.ts.map +1 -0
  258. package/dist/tempo/session/client/ChannelOps.js +201 -0
  259. package/dist/tempo/session/client/ChannelOps.js.map +1 -0
  260. package/dist/tempo/session/client/ChannelStore.d.ts +51 -0
  261. package/dist/tempo/session/client/ChannelStore.d.ts.map +1 -0
  262. package/dist/tempo/session/client/ChannelStore.js +63 -0
  263. package/dist/tempo/session/client/ChannelStore.js.map +1 -0
  264. package/dist/tempo/session/client/CredentialState.d.ts +245 -0
  265. package/dist/tempo/session/client/CredentialState.d.ts.map +1 -0
  266. package/dist/tempo/session/client/CredentialState.js +419 -0
  267. package/dist/tempo/session/client/CredentialState.js.map +1 -0
  268. package/dist/tempo/session/client/ReceiptCoordinator.d.ts +26 -0
  269. package/dist/tempo/session/client/ReceiptCoordinator.d.ts.map +1 -0
  270. package/dist/tempo/session/client/ReceiptCoordinator.js +61 -0
  271. package/dist/tempo/session/client/ReceiptCoordinator.js.map +1 -0
  272. package/dist/tempo/session/client/Runtime.d.ts +464 -0
  273. package/dist/tempo/session/client/Runtime.d.ts.map +1 -0
  274. package/dist/tempo/session/client/Runtime.js +499 -0
  275. package/dist/tempo/session/client/Runtime.js.map +1 -0
  276. package/dist/tempo/session/client/Session.d.ts +138 -0
  277. package/dist/tempo/session/client/Session.d.ts.map +1 -0
  278. package/dist/tempo/session/client/Session.js +69 -0
  279. package/dist/tempo/session/client/Session.js.map +1 -0
  280. package/dist/tempo/session/client/SessionManager.d.ts +84 -0
  281. package/dist/tempo/session/client/SessionManager.d.ts.map +1 -0
  282. package/dist/tempo/session/client/SessionManager.js +577 -0
  283. package/dist/tempo/session/client/SessionManager.js.map +1 -0
  284. package/dist/tempo/session/client/Transports.d.ts +449 -0
  285. package/dist/tempo/session/client/Transports.d.ts.map +1 -0
  286. package/dist/tempo/session/client/Transports.js +721 -0
  287. package/dist/tempo/session/client/Transports.js.map +1 -0
  288. package/dist/tempo/session/client/index.d.ts +11 -0
  289. package/dist/tempo/session/client/index.d.ts.map +1 -0
  290. package/dist/tempo/session/client/index.js +6 -0
  291. package/dist/tempo/session/client/index.js.map +1 -0
  292. package/dist/tempo/session/index.d.ts +7 -8
  293. package/dist/tempo/session/index.d.ts.map +1 -1
  294. package/dist/tempo/session/index.js +7 -8
  295. package/dist/tempo/session/index.js.map +1 -1
  296. package/dist/tempo/session/precompile/Chain.d.ts +319 -0
  297. package/dist/tempo/session/precompile/Chain.d.ts.map +1 -0
  298. package/dist/tempo/session/precompile/Chain.js +492 -0
  299. package/dist/tempo/session/precompile/Chain.js.map +1 -0
  300. package/dist/tempo/session/precompile/Channel.d.ts +46 -0
  301. package/dist/tempo/session/precompile/Channel.d.ts.map +1 -0
  302. package/dist/tempo/session/precompile/Channel.js +56 -0
  303. package/dist/tempo/session/precompile/Channel.js.map +1 -0
  304. package/dist/tempo/session/precompile/Protocol.d.ts +308 -0
  305. package/dist/tempo/session/precompile/Protocol.d.ts.map +1 -0
  306. package/dist/tempo/session/precompile/Protocol.js +264 -0
  307. package/dist/tempo/session/precompile/Protocol.js.map +1 -0
  308. package/dist/tempo/session/precompile/Voucher.d.ts +40 -0
  309. package/dist/tempo/session/precompile/Voucher.d.ts.map +1 -0
  310. package/dist/tempo/session/precompile/Voucher.js +125 -0
  311. package/dist/tempo/session/precompile/Voucher.js.map +1 -0
  312. package/dist/tempo/session/precompile/escrow.abi.d.ts +522 -0
  313. package/dist/tempo/session/precompile/escrow.abi.d.ts.map +1 -0
  314. package/dist/tempo/session/precompile/escrow.abi.js +224 -0
  315. package/dist/tempo/session/precompile/escrow.abi.js.map +1 -0
  316. package/dist/tempo/session/precompile/index.d.ts +24 -0
  317. package/dist/tempo/session/precompile/index.d.ts.map +1 -0
  318. package/dist/tempo/session/precompile/index.js +22 -0
  319. package/dist/tempo/session/precompile/index.js.map +1 -0
  320. package/dist/tempo/session/server/ChannelOps.d.ts +56 -0
  321. package/dist/tempo/session/server/ChannelOps.d.ts.map +1 -0
  322. package/dist/tempo/session/server/ChannelOps.js +91 -0
  323. package/dist/tempo/session/server/ChannelOps.js.map +1 -0
  324. package/dist/tempo/session/server/ChannelStore.d.ts +347 -0
  325. package/dist/tempo/session/server/ChannelStore.d.ts.map +1 -0
  326. package/dist/tempo/session/server/ChannelStore.js +404 -0
  327. package/dist/tempo/session/server/ChannelStore.js.map +1 -0
  328. package/dist/tempo/session/server/CredentialVerification.d.ts +85 -0
  329. package/dist/tempo/session/server/CredentialVerification.d.ts.map +1 -0
  330. package/dist/tempo/session/server/CredentialVerification.js +494 -0
  331. package/dist/tempo/session/server/CredentialVerification.js.map +1 -0
  332. package/dist/tempo/session/server/MeteredStream.d.ts +40 -0
  333. package/dist/tempo/session/server/MeteredStream.d.ts.map +1 -0
  334. package/dist/tempo/session/server/MeteredStream.js +42 -0
  335. package/dist/tempo/session/server/MeteredStream.js.map +1 -0
  336. package/dist/tempo/session/server/RequestState.d.ts +208 -0
  337. package/dist/tempo/session/server/RequestState.d.ts.map +1 -0
  338. package/dist/tempo/session/server/RequestState.js +252 -0
  339. package/dist/tempo/session/server/RequestState.js.map +1 -0
  340. package/dist/tempo/session/server/Session.d.ts +169 -0
  341. package/dist/tempo/session/server/Session.d.ts.map +1 -0
  342. package/dist/tempo/session/server/Session.js +351 -0
  343. package/dist/tempo/session/server/Session.js.map +1 -0
  344. package/dist/tempo/session/server/Settlement.d.ts +185 -0
  345. package/dist/tempo/session/server/Settlement.d.ts.map +1 -0
  346. package/dist/tempo/session/server/Settlement.js +252 -0
  347. package/dist/tempo/session/server/Settlement.js.map +1 -0
  348. package/dist/tempo/session/{Sse.d.ts → server/Sse.d.ts} +9 -56
  349. package/dist/tempo/session/server/Sse.d.ts.map +1 -0
  350. package/dist/tempo/session/server/Sse.js +184 -0
  351. package/dist/tempo/session/server/Sse.js.map +1 -0
  352. package/dist/tempo/session/server/Transports.d.ts +89 -0
  353. package/dist/tempo/session/server/Transports.d.ts.map +1 -0
  354. package/dist/tempo/session/server/Transports.js +149 -0
  355. package/dist/tempo/session/server/Transports.js.map +1 -0
  356. package/dist/tempo/session/server/Ws.d.ts +48 -0
  357. package/dist/tempo/session/server/Ws.d.ts.map +1 -0
  358. package/dist/tempo/session/server/Ws.js +244 -0
  359. package/dist/tempo/session/server/Ws.js.map +1 -0
  360. package/dist/tempo/session/server/index.d.ts +4 -0
  361. package/dist/tempo/session/server/index.d.ts.map +1 -0
  362. package/dist/tempo/session/server/index.js +2 -0
  363. package/dist/tempo/session/server/index.js.map +1 -0
  364. package/dist/tempo/subscription/KeyAuthorization.d.ts +712 -1
  365. package/dist/tempo/subscription/KeyAuthorization.d.ts.map +1 -1
  366. package/dist/tempo/subscription/Store.d.ts +2 -0
  367. package/dist/tempo/subscription/Store.d.ts.map +1 -1
  368. package/dist/tempo/subscription/Store.js +16 -1
  369. package/dist/tempo/subscription/Store.js.map +1 -1
  370. package/dist/x402/index.d.ts +1 -0
  371. package/dist/x402/index.d.ts.map +1 -1
  372. package/dist/x402/index.js +1 -0
  373. package/dist/x402/index.js.map +1 -1
  374. package/package.json +25 -9
  375. package/src/Challenge.test.ts +40 -0
  376. package/src/Challenge.ts +28 -13
  377. package/src/Constants.ts +58 -0
  378. package/src/Credential.ts +5 -4
  379. package/src/Mcp.ts +4 -0
  380. package/src/Method.ts +46 -5
  381. package/src/PaymentRequest.ts +10 -10
  382. package/src/Receipt.ts +3 -2
  383. package/src/cli/cli.test.ts +38 -43
  384. package/src/cli/cli.ts +23 -10
  385. package/src/cli/mcp.test.ts +21 -7
  386. package/src/cli/plugins/tempo.ts +21 -8
  387. package/src/cli/utils.test.ts +25 -1
  388. package/src/cli/utils.ts +10 -0
  389. package/src/client/Methods.ts +5 -2
  390. package/src/client/Mppx.test-d.ts +31 -1
  391. package/src/client/Mppx.test.ts +76 -1
  392. package/src/client/Mppx.ts +2 -2
  393. package/src/client/Transport.test.ts +225 -178
  394. package/src/client/Transport.ts +77 -84
  395. package/src/client/index.ts +25 -1
  396. package/src/client/internal/Fetch.test.ts +236 -6
  397. package/src/client/internal/Fetch.ts +69 -11
  398. package/src/client/internal/protocols/Mcp.test.ts +220 -0
  399. package/src/client/internal/protocols/Mcp.ts +162 -0
  400. package/src/client/internal/protocols/Mpp.ts +21 -0
  401. package/src/client/internal/protocols/Protocol.ts +10 -0
  402. package/src/client/internal/protocols/Shared.ts +25 -0
  403. package/src/client/internal/protocols/X402.ts +42 -0
  404. package/src/discovery/OpenApi.test.ts +1 -1
  405. package/src/env.d.ts +1 -1
  406. package/src/evm/PublicInterface.test-d.ts +1 -1
  407. package/src/evm/client/index.ts +1 -0
  408. package/src/evm/index.ts +2 -0
  409. package/src/evm/server/Charge.test.ts +1 -1
  410. package/src/evm/server/index.ts +1 -0
  411. package/src/index.ts +1 -0
  412. package/src/internal/AcceptPayment.test.ts +61 -0
  413. package/src/internal/AcceptPayment.ts +21 -14
  414. package/src/{mcp-sdk → mcp}/client/McpClient.integration.test.ts +18 -11
  415. package/src/{mcp-sdk → mcp}/client/McpClient.test-d.ts +45 -11
  416. package/src/{mcp-sdk → mcp}/client/McpClient.test.ts +211 -5
  417. package/src/mcp/client/McpClient.ts +307 -0
  418. package/src/mcp/client/McpClient.unit.test.ts +135 -0
  419. package/src/middlewares/elysia.test.ts +9 -5
  420. package/src/middlewares/express.test.ts +9 -5
  421. package/src/middlewares/hono.test.ts +5 -5
  422. package/src/middlewares/internal/mppx.test.ts +1 -1
  423. package/src/middlewares/nextjs.test.ts +9 -5
  424. package/src/proxy/Proxy.test.ts +9 -9
  425. package/src/proxy/services/anthropic.test.ts +1 -1
  426. package/src/proxy/services/openai.test.ts +1 -1
  427. package/src/proxy/services/stripe.test.ts +1 -1
  428. package/src/server/Mppx.authorize.test.ts +1 -1
  429. package/src/server/Mppx.test-d.ts +55 -1
  430. package/src/server/Mppx.test.ts +220 -9
  431. package/src/server/Mppx.ts +501 -407
  432. package/src/server/Response.ts +2 -1
  433. package/src/server/Transport.test.ts +6 -6
  434. package/src/server/Transport.ts +5 -4
  435. package/src/server/index.ts +1 -0
  436. package/src/stripe/Charge.integration.test.ts +1 -1
  437. package/src/stripe/client/Charge.test.ts +21 -6
  438. package/src/stripe/client/Charge.ts +6 -2
  439. package/src/stripe/server/Charge.test.ts +115 -2
  440. package/src/stripe/server/Charge.ts +13 -2
  441. package/src/stripe/server/internal/html/package.json +1 -1
  442. package/src/stripe/server/internal/html.gen.ts +1 -1
  443. package/src/tempo/AccessKeyAuthorization.test.ts +4 -94
  444. package/src/tempo/Methods.test.ts +45 -17
  445. package/src/tempo/Methods.ts +22 -0
  446. package/src/tempo/Proof.conformance.test.ts +146 -0
  447. package/src/tempo/Proof.test-d.ts +15 -0
  448. package/src/tempo/Proof.ts +52 -1
  449. package/src/tempo/PublicExports.test-d.ts +105 -0
  450. package/src/tempo/Subscription.integration.test.ts +1 -1
  451. package/src/tempo/client/Charge.test.ts +258 -0
  452. package/src/tempo/client/Charge.ts +84 -38
  453. package/src/tempo/client/Methods.ts +22 -8
  454. package/src/tempo/client/ResolveAccount.ts +46 -0
  455. package/src/tempo/client/index.ts +15 -4
  456. package/src/tempo/index.ts +1 -0
  457. package/src/tempo/internal/fee-payer.test.ts +296 -17
  458. package/src/tempo/internal/fee-payer.ts +186 -4
  459. package/src/tempo/internal/fee-token.test.ts +14 -9
  460. package/src/tempo/internal/proof.test.ts +12 -4
  461. package/src/tempo/internal/proof.ts +55 -6
  462. package/src/tempo/legacy/AccessKeyAuthorization.test.ts +162 -0
  463. package/src/tempo/legacy/README.md +9 -0
  464. package/src/tempo/{client → legacy/client}/ChannelOps.test.ts +6 -7
  465. package/src/tempo/{client → legacy/client}/ChannelOps.ts +22 -9
  466. package/src/tempo/{client → legacy/client}/Session.test.ts +51 -9
  467. package/src/tempo/{client → legacy/client}/Session.ts +25 -11
  468. package/src/tempo/{client → legacy/client}/SessionManager.test.ts +81 -9
  469. package/src/tempo/{client → legacy/client}/SessionManager.ts +52 -23
  470. package/src/tempo/legacy/client/index.ts +6 -0
  471. package/src/tempo/legacy/index.ts +6 -0
  472. package/src/tempo/{server → legacy/server}/Session.test.ts +136 -71
  473. package/src/tempo/{server → legacy/server}/Session.ts +32 -23
  474. package/src/tempo/legacy/server/index.ts +4 -0
  475. package/src/tempo/{session → legacy/session}/Chain.test.ts +3 -4
  476. package/src/tempo/{session → legacy/session}/Chain.ts +94 -63
  477. package/src/tempo/{session → legacy/session}/Channel.ts +1 -0
  478. package/src/tempo/legacy/session/ChannelStore.test.ts +58 -0
  479. package/src/tempo/legacy/session/ChannelStore.ts +39 -0
  480. package/src/tempo/legacy/session/Types.ts +91 -0
  481. package/src/tempo/{session → legacy/session}/Voucher.ts +12 -8
  482. package/src/tempo/{session → legacy/session}/escrow.abi.ts +1 -0
  483. package/src/tempo/legacy/session/index.ts +8 -0
  484. package/src/tempo/server/AtomicStore.test-d.ts +16 -11
  485. package/src/tempo/server/Charge.test.ts +480 -31
  486. package/src/tempo/server/Charge.ts +54 -30
  487. package/src/tempo/server/Methods.ts +58 -10
  488. package/src/tempo/server/Sse.test.ts +2 -2
  489. package/src/tempo/server/Subscription.test.ts +465 -3
  490. package/src/tempo/server/Subscription.ts +174 -19
  491. package/src/tempo/server/index.ts +6 -5
  492. package/src/tempo/server/internal/html/package.json +2 -2
  493. package/src/tempo/server/internal/html.gen.ts +1 -1
  494. package/src/tempo/server/internal/request-body.test.ts +37 -4
  495. package/src/tempo/server/internal/request-body.ts +25 -6
  496. package/src/tempo/server/internal/transport.test.ts +4 -4
  497. package/src/tempo/server/internal/transport.ts +19 -10
  498. package/src/tempo/session/Snapshot.test.ts +41 -0
  499. package/src/tempo/session/Snapshot.ts +74 -0
  500. package/src/tempo/session/client/ChannelOps.test.ts +163 -0
  501. package/src/tempo/session/client/ChannelOps.ts +330 -0
  502. package/src/tempo/session/client/ChannelStore.ts +111 -0
  503. package/src/tempo/session/client/CredentialState.test.ts +789 -0
  504. package/src/tempo/session/client/CredentialState.ts +799 -0
  505. package/src/tempo/session/client/ReceiptCoordinator.ts +95 -0
  506. package/src/tempo/session/client/Runtime.test.ts +1092 -0
  507. package/src/tempo/session/client/Runtime.ts +986 -0
  508. package/src/tempo/session/client/Session.test.ts +774 -0
  509. package/src/tempo/session/client/Session.ts +123 -0
  510. package/src/tempo/session/client/SessionManager.test.ts +1397 -0
  511. package/src/tempo/session/client/SessionManager.ts +751 -0
  512. package/src/tempo/session/client/Transports.test.ts +837 -0
  513. package/src/tempo/session/client/Transports.ts +1292 -0
  514. package/src/tempo/session/client/index.ts +40 -0
  515. package/src/tempo/session/index.ts +7 -8
  516. package/src/tempo/session/precompile/Chain.integration.test.ts +321 -0
  517. package/src/tempo/session/precompile/Chain.test.ts +1258 -0
  518. package/src/tempo/session/precompile/Chain.ts +979 -0
  519. package/src/tempo/session/precompile/Channel.test.ts +138 -0
  520. package/src/tempo/session/precompile/Channel.ts +103 -0
  521. package/src/tempo/session/precompile/Protocol.test.ts +358 -0
  522. package/src/tempo/session/precompile/Protocol.ts +520 -0
  523. package/src/tempo/session/precompile/Voucher.test.ts +354 -0
  524. package/src/tempo/session/precompile/Voucher.ts +162 -0
  525. package/src/tempo/session/precompile/escrow.abi.ts +226 -0
  526. package/src/tempo/session/precompile/index.ts +33 -0
  527. package/src/tempo/session/server/ChannelOps.test.ts +129 -0
  528. package/src/tempo/session/server/ChannelOps.ts +157 -0
  529. package/src/tempo/session/{ChannelStore.test.ts → server/ChannelStore.test.ts} +536 -29
  530. package/src/tempo/session/server/ChannelStore.ts +835 -0
  531. package/src/tempo/session/server/CredentialVerification.test.ts +146 -0
  532. package/src/tempo/session/server/CredentialVerification.ts +710 -0
  533. package/src/tempo/session/server/MeteredStream.ts +88 -0
  534. package/src/tempo/session/server/RequestState.test.ts +531 -0
  535. package/src/tempo/session/server/RequestState.ts +499 -0
  536. package/src/tempo/session/server/Session.integration.test.ts +444 -0
  537. package/src/tempo/session/server/Session.test.ts +3253 -0
  538. package/src/tempo/session/server/Session.ts +543 -0
  539. package/src/tempo/session/server/Settlement.test.ts +329 -0
  540. package/src/tempo/session/server/Settlement.ts +471 -0
  541. package/src/tempo/session/{Sse.test.ts → server/Sse.test.ts} +37 -3
  542. package/src/tempo/session/server/Sse.ts +254 -0
  543. package/src/tempo/session/server/Transports.test.ts +346 -0
  544. package/src/tempo/session/server/Transports.ts +255 -0
  545. package/src/tempo/session/{Ws.test.ts → server/Ws.test.ts} +4 -4
  546. package/src/tempo/session/server/Ws.ts +380 -0
  547. package/src/tempo/session/server/index.ts +8 -0
  548. package/src/tempo/subscription/Store.ts +27 -9
  549. package/src/x402/Exact.e2e.test.ts +1 -1
  550. package/src/x402/PublicInterface.test-d.ts +1 -1
  551. package/src/x402/index.ts +1 -0
  552. package/dist/mcp-sdk/client/McpClient.d.ts +0 -78
  553. package/dist/mcp-sdk/client/McpClient.d.ts.map +0 -1
  554. package/dist/mcp-sdk/client/McpClient.js +0 -105
  555. package/dist/mcp-sdk/client/McpClient.js.map +0 -1
  556. package/dist/mcp-sdk/client/index.d.ts.map +0 -1
  557. package/dist/mcp-sdk/client/index.js.map +0 -1
  558. package/dist/mcp-sdk/server/Transport.d.ts.map +0 -1
  559. package/dist/mcp-sdk/server/Transport.js.map +0 -1
  560. package/dist/mcp-sdk/server/index.d.ts.map +0 -1
  561. package/dist/mcp-sdk/server/index.js.map +0 -1
  562. package/dist/tempo/client/ChannelOps.d.ts.map +0 -1
  563. package/dist/tempo/client/ChannelOps.js.map +0 -1
  564. package/dist/tempo/client/Session.d.ts.map +0 -1
  565. package/dist/tempo/client/Session.js.map +0 -1
  566. package/dist/tempo/client/SessionManager.d.ts.map +0 -1
  567. package/dist/tempo/client/SessionManager.js.map +0 -1
  568. package/dist/tempo/server/Session.d.ts.map +0 -1
  569. package/dist/tempo/server/Session.js.map +0 -1
  570. package/dist/tempo/session/Chain.d.ts.map +0 -1
  571. package/dist/tempo/session/Chain.js.map +0 -1
  572. package/dist/tempo/session/Channel.d.ts.map +0 -1
  573. package/dist/tempo/session/Channel.js.map +0 -1
  574. package/dist/tempo/session/ChannelStore.d.ts +0 -117
  575. package/dist/tempo/session/ChannelStore.d.ts.map +0 -1
  576. package/dist/tempo/session/ChannelStore.js +0 -172
  577. package/dist/tempo/session/ChannelStore.js.map +0 -1
  578. package/dist/tempo/session/Receipt.d.ts +0 -22
  579. package/dist/tempo/session/Receipt.d.ts.map +0 -1
  580. package/dist/tempo/session/Receipt.js +0 -34
  581. package/dist/tempo/session/Receipt.js.map +0 -1
  582. package/dist/tempo/session/Sse.d.ts.map +0 -1
  583. package/dist/tempo/session/Sse.js +0 -363
  584. package/dist/tempo/session/Sse.js.map +0 -1
  585. package/dist/tempo/session/Types.d.ts +0 -78
  586. package/dist/tempo/session/Types.d.ts.map +0 -1
  587. package/dist/tempo/session/Types.js.map +0 -1
  588. package/dist/tempo/session/Voucher.d.ts.map +0 -1
  589. package/dist/tempo/session/Voucher.js.map +0 -1
  590. package/dist/tempo/session/Ws.d.ts +0 -87
  591. package/dist/tempo/session/Ws.d.ts.map +0 -1
  592. package/dist/tempo/session/Ws.js +0 -443
  593. package/dist/tempo/session/Ws.js.map +0 -1
  594. package/dist/tempo/session/escrow.abi.js.map +0 -1
  595. package/src/mcp-sdk/client/McpClient.ts +0 -196
  596. package/src/tempo/session/ChannelStore.ts +0 -308
  597. package/src/tempo/session/Receipt.test.ts +0 -89
  598. package/src/tempo/session/Receipt.ts +0 -46
  599. package/src/tempo/session/Sse.ts +0 -462
  600. package/src/tempo/session/Types.ts +0 -86
  601. package/src/tempo/session/Ws.ts +0 -576
  602. /package/dist/{mcp-sdk → mcp}/client/index.d.ts +0 -0
  603. /package/dist/{mcp-sdk → mcp}/client/index.js +0 -0
  604. /package/dist/{mcp-sdk → mcp}/server/Transport.d.ts +0 -0
  605. /package/dist/{mcp-sdk → mcp}/server/Transport.js +0 -0
  606. /package/dist/{mcp-sdk → mcp}/server/index.d.ts +0 -0
  607. /package/dist/{mcp-sdk → mcp}/server/index.js +0 -0
  608. /package/dist/tempo/{session → legacy/session}/Channel.js +0 -0
  609. /package/dist/tempo/{session → legacy/session}/Types.js +0 -0
  610. /package/src/{mcp-sdk → mcp}/client/index.ts +0 -0
  611. /package/src/{mcp-sdk → mcp}/server/Transport.test.ts +0 -0
  612. /package/src/{mcp-sdk → mcp}/server/Transport.ts +0 -0
  613. /package/src/{mcp-sdk → mcp}/server/index.ts +0 -0
  614. /package/src/tempo/{session → legacy/session}/Channel.test.ts +0 -0
  615. /package/src/tempo/{session → legacy/session}/Voucher.test.ts +0 -0
  616. /package/src/tempo/session/{Sse.fuzz.test.ts → server/Sse.fuzz.test.ts} +0 -0
@@ -1,7 +1,18 @@
1
- import { type Address } from 'viem';
2
- /** EIP-712 typed data types for proof credentials. */
1
+ import { type Address, type Hex } from 'viem';
2
+ /** EIP-712 primary type for proof credentials. */
3
+ export declare const primaryType: "Proof";
4
+ /**
5
+ * EIP-712 typed-data field definitions for Tempo zero-amount proof credentials.
6
+ *
7
+ * The `account` field cryptographically binds the signature to the payer
8
+ * wallet, so a proof signed for one account cannot be replayed against another
9
+ * — including across an access key that is authorized for multiple accounts.
10
+ */
3
11
  export declare const types: {
4
12
  readonly Proof: readonly [{
13
+ readonly name: "account";
14
+ readonly type: "address";
15
+ }, {
5
16
  readonly name: "challengeId";
6
17
  readonly type: "string";
7
18
  }, {
@@ -12,14 +23,69 @@ export declare const types: {
12
23
  /** Constructs the EIP-712 domain for a proof credential. */
13
24
  export declare function domain(chainId: number): {
14
25
  readonly name: "MPP";
15
- readonly version: "2";
26
+ readonly version: "3";
16
27
  readonly chainId: number;
17
28
  };
18
- /** Constructs the EIP-712 message for a proof credential. */
19
- export declare function message(challengeId: string, realm: string): {
29
+ /**
30
+ * Constructs the EIP-712 message for a proof credential.
31
+ *
32
+ * @param parameters - Proof message parameters.
33
+ * @param parameters.account - Payer wallet address the proof is bound to.
34
+ * @param parameters.challengeId - Challenge `id` being proven.
35
+ * @param parameters.realm - Challenge `realm` being proven.
36
+ */
37
+ export declare function message(parameters: {
38
+ account: Address;
39
+ challengeId: string;
40
+ realm: string;
41
+ }): {
42
+ readonly account: `0x${string}`;
20
43
  readonly challengeId: string;
21
44
  readonly realm: string;
22
45
  };
46
+ /**
47
+ * Constructs the complete EIP-712 typed-data payload for a proof credential.
48
+ *
49
+ * This is the canonical, wallet-bound proof contract: signing this payload
50
+ * commits the signer to a specific `account`, `challengeId`, and `realm`.
51
+ */
52
+ export declare function typedData(parameters: {
53
+ account: Address;
54
+ chainId: number;
55
+ challengeId: string;
56
+ realm: string;
57
+ }): {
58
+ readonly domain: {
59
+ readonly name: "MPP";
60
+ readonly version: "3";
61
+ readonly chainId: number;
62
+ };
63
+ readonly types: {
64
+ readonly Proof: readonly [{
65
+ readonly name: "account";
66
+ readonly type: "address";
67
+ }, {
68
+ readonly name: "challengeId";
69
+ readonly type: "string";
70
+ }, {
71
+ readonly name: "realm";
72
+ readonly type: "string";
73
+ }];
74
+ };
75
+ readonly primaryType: "Proof";
76
+ readonly message: {
77
+ readonly account: `0x${string}`;
78
+ readonly challengeId: string;
79
+ readonly realm: string;
80
+ };
81
+ };
82
+ /** Computes the EIP-712 digest (signing payload) for a proof credential. */
83
+ export declare function hash(parameters: {
84
+ account: Address;
85
+ chainId: number;
86
+ challengeId: string;
87
+ realm: string;
88
+ }): Hex;
23
89
  /** Constructs the expected `did:pkh` source DID for a proof credential. */
24
90
  export declare function proofSource(parameters: {
25
91
  address: string;
@@ -1 +1 @@
1
- {"version":3,"file":"proof.d.ts","sourceRoot":"","sources":["../../../src/tempo/internal/proof.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,MAAM,CAAA;AAE9C,sDAAsD;AACtD,eAAO,MAAM,KAAK;;;;;;;;CAKR,CAAA;AAEV,4DAA4D;AAC5D,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM;;;;EAErC;AAED,6DAA6D;AAC7D,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;EAEzD;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEpF;AAED,4CAA4C;AAC5C,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAW3F"}
1
+ {"version":3,"file":"proof.d.ts","sourceRoot":"","sources":["../../../src/tempo/internal/proof.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AAEvE,kDAAkD;AAClD,eAAO,MAAM,WAAW,EAAG,OAAgB,CAAA;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;CAMR,CAAA;AAEV,4DAA4D;AAC5D,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM;;;;EAErC;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,UAAU,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;;;;EAG3F;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE;IACpC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd;;;;;;;;;;;;;;;;;;;;;;;;EAQA;AAED,4EAA4E;AAC5E,wBAAgB,IAAI,CAAC,UAAU,EAAE;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,GAAG,GAAG,CAEN;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEpF;AAED,4CAA4C;AAC5C,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAW3F"}
@@ -1,18 +1,54 @@
1
- import { isAddress } from 'viem';
2
- /** EIP-712 typed data types for proof credentials. */
1
+ import { hashTypedData, isAddress } from 'viem';
2
+ /** EIP-712 primary type for proof credentials. */
3
+ export const primaryType = 'Proof';
4
+ /**
5
+ * EIP-712 typed-data field definitions for Tempo zero-amount proof credentials.
6
+ *
7
+ * The `account` field cryptographically binds the signature to the payer
8
+ * wallet, so a proof signed for one account cannot be replayed against another
9
+ * — including across an access key that is authorized for multiple accounts.
10
+ */
3
11
  export const types = {
4
12
  Proof: [
13
+ { name: 'account', type: 'address' },
5
14
  { name: 'challengeId', type: 'string' },
6
15
  { name: 'realm', type: 'string' },
7
16
  ],
8
17
  };
9
18
  /** Constructs the EIP-712 domain for a proof credential. */
10
19
  export function domain(chainId) {
11
- return { name: 'MPP', version: '2', chainId };
20
+ return { name: 'MPP', version: '3', chainId };
12
21
  }
13
- /** Constructs the EIP-712 message for a proof credential. */
14
- export function message(challengeId, realm) {
15
- return { challengeId, realm };
22
+ /**
23
+ * Constructs the EIP-712 message for a proof credential.
24
+ *
25
+ * @param parameters - Proof message parameters.
26
+ * @param parameters.account - Payer wallet address the proof is bound to.
27
+ * @param parameters.challengeId - Challenge `id` being proven.
28
+ * @param parameters.realm - Challenge `realm` being proven.
29
+ */
30
+ export function message(parameters) {
31
+ const { account, challengeId, realm } = parameters;
32
+ return { account, challengeId, realm };
33
+ }
34
+ /**
35
+ * Constructs the complete EIP-712 typed-data payload for a proof credential.
36
+ *
37
+ * This is the canonical, wallet-bound proof contract: signing this payload
38
+ * commits the signer to a specific `account`, `challengeId`, and `realm`.
39
+ */
40
+ export function typedData(parameters) {
41
+ const { account, chainId, challengeId, realm } = parameters;
42
+ return {
43
+ domain: domain(chainId),
44
+ types,
45
+ primaryType,
46
+ message: message({ account, challengeId, realm }),
47
+ };
48
+ }
49
+ /** Computes the EIP-712 digest (signing payload) for a proof credential. */
50
+ export function hash(parameters) {
51
+ return hashTypedData(typedData(parameters));
16
52
  }
17
53
  /** Constructs the expected `did:pkh` source DID for a proof credential. */
18
54
  export function proofSource(parameters) {
@@ -1 +1 @@
1
- {"version":3,"file":"proof.js","sourceRoot":"","sources":["../../../src/tempo/internal/proof.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,MAAM,CAAA;AAE9C,sDAAsD;AACtD,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,KAAK,EAAE;QACL,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;CACO,CAAA;AAEV,4DAA4D;AAC5D,MAAM,UAAU,MAAM,CAAC,OAAe;IACpC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAW,CAAA;AACxD,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,OAAO,CAAC,WAAmB,EAAE,KAAa;IACxD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAW,CAAA;AACxC,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,WAAW,CAAC,UAAgD;IAC1E,OAAO,kBAAkB,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,CAAA;AACrE,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,KAAK,GAAG,uCAAuC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;IACzB,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAA;IACnC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAA;IAEpC,OAAO,EAAE,OAAO,EAAE,OAAkB,EAAE,OAAO,EAAE,CAAA;AACjD,CAAC"}
1
+ {"version":3,"file":"proof.js","sourceRoot":"","sources":["../../../src/tempo/internal/proof.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAA0B,MAAM,MAAM,CAAA;AAEvE,kDAAkD;AAClD,MAAM,CAAC,MAAM,WAAW,GAAG,OAAgB,CAAA;AAE3C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,KAAK,EAAE;QACL,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;CACO,CAAA;AAEV,4DAA4D;AAC5D,MAAM,UAAU,MAAM,CAAC,OAAe;IACpC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAW,CAAA;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CAAC,UAAoE;IAC1F,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,UAAU,CAAA;IAClD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAW,CAAA;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,UAKzB;IACC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,UAAU,CAAA;IAC3D,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;QACvB,KAAK;QACL,WAAW;QACX,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;KACzC,CAAA;AACZ,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,IAAI,CAAC,UAKpB;IACC,OAAO,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;AAC7C,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,WAAW,CAAC,UAAgD;IAC1E,OAAO,kBAAkB,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,CAAA;AACrE,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,KAAK,GAAG,uCAAuC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;IACzB,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAA;IACnC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAA;IAEpC,OAAO,EAAE,OAAO,EAAE,OAAkB,EAAE,OAAO,EAAE,CAAA;AACjD,CAAC"}
@@ -8,25 +8,38 @@
8
8
  */
9
9
  import { Hex } from 'ox';
10
10
  import { type Address, type Account as viem_Account, type Client as viem_Client } from 'viem';
11
- import type { Challenge } from '../../Challenge.js';
12
- import type { SessionCredentialPayload } from '../session/Types.js';
11
+ import type { Challenge } from '../../../Challenge.js';
12
+ import type { LegacySessionCredentialPayload } from '../session/Types.js';
13
+ /** Cached channel metadata used by the legacy auto-driving session client. */
13
14
  export type ChannelEntry = {
15
+ /** Legacy contract-backed channel ID. */
14
16
  channelId: Hex.Hex;
17
+ /** Salt used to derive the channel ID. */
15
18
  salt: Hex.Hex;
19
+ /** Highest cumulative voucher amount locally authorized. */
16
20
  cumulativeAmount: bigint;
21
+ /** Escrow contract backing this channel. */
17
22
  escrowContract: Address;
23
+ /** Chain ID used for channel ID and voucher domain separation. */
18
24
  chainId: number;
25
+ /** Whether the client considers the channel reusable. */
19
26
  opened: boolean;
20
27
  };
28
+ /** Resolves the chain ID embedded in a legacy session challenge. */
21
29
  export declare function resolveChainId(challenge: Challenge): number;
30
+ /** Resolves the legacy escrow contract from local override, challenge hint, or defaults. */
22
31
  export declare function resolveEscrow(challenge: {
23
32
  request: {
24
33
  methodDetails?: unknown;
25
34
  };
26
35
  }, chainId: number, escrowContractOverride?: Address): Address;
27
- export declare function serializeCredential(challenge: Challenge, payload: SessionCredentialPayload, chainId: number, account: viem_Account): string;
28
- export declare function createVoucherPayload(client: viem_Client, account: viem_Account, channelId: Hex.Hex, cumulativeAmount: bigint, escrowContract: Address, chainId: number, voucherSigner?: viem_Account | undefined): Promise<SessionCredentialPayload>;
29
- export declare function createClosePayload(client: viem_Client, account: viem_Account, channelId: Hex.Hex, cumulativeAmount: bigint, escrowContract: Address, chainId: number, voucherSigner?: viem_Account | undefined): Promise<SessionCredentialPayload>;
36
+ /** Serializes a legacy session credential with a payer DID source. */
37
+ export declare function serializeCredential(challenge: Challenge, payload: LegacySessionCredentialPayload, chainId: number, account: viem_Account): string;
38
+ /** Creates a legacy cumulative voucher credential payload. */
39
+ export declare function createVoucherPayload(client: viem_Client, account: viem_Account, channelId: Hex.Hex, cumulativeAmount: bigint, escrowContract: Address, chainId: number, voucherSigner?: viem_Account | undefined): Promise<LegacySessionCredentialPayload>;
40
+ /** Creates a legacy cooperative close credential payload. */
41
+ export declare function createClosePayload(client: viem_Client, account: viem_Account, channelId: Hex.Hex, cumulativeAmount: bigint, escrowContract: Address, chainId: number, voucherSigner?: viem_Account | undefined): Promise<LegacySessionCredentialPayload>;
42
+ /** Creates a legacy open transaction credential payload and local channel entry. */
30
43
  export declare function createOpenPayload(client: viem_Client, account: viem_Account, options: {
31
44
  voucherSigner?: viem_Account | undefined;
32
45
  escrowContract: Address;
@@ -38,7 +51,7 @@ export declare function createOpenPayload(client: viem_Client, account: viem_Acc
38
51
  feePayer?: boolean | undefined;
39
52
  }): Promise<{
40
53
  entry: ChannelEntry;
41
- payload: SessionCredentialPayload;
54
+ payload: LegacySessionCredentialPayload;
42
55
  }>;
43
56
  /**
44
57
  * Attempt to recover an existing on-chain channel by reading its state.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelOps.d.ts","sourceRoot":"","sources":["../../../../src/tempo/legacy/client/ChannelOps.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,OAAO,IAAI,YAAY,EAC5B,KAAK,MAAM,IAAI,WAAW,EAC3B,MAAM,MAAM,CAAA;AAIb,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAMtD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAA;AAGzE,8EAA8E;AAC9E,MAAM,MAAM,YAAY,GAAG;IACzB,yCAAyC;IACzC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAA;IAClB,0CAA0C;IAC1C,IAAI,EAAE,GAAG,CAAC,GAAG,CAAA;IACb,4DAA4D;IAC5D,gBAAgB,EAAE,MAAM,CAAA;IACxB,4CAA4C;IAC5C,cAAc,EAAE,OAAO,CAAA;IACvB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAA;IACf,yDAAyD;IACzD,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AASD,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAG3D;AAED,4FAA4F;AAC5F,wBAAgB,aAAa,CAC3B,SAAS,EAAE;IAAE,OAAO,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,EACnD,OAAO,EAAE,MAAM,EACf,sBAAsB,CAAC,EAAE,OAAO,GAC/B,OAAO,CAYT;AAED,sEAAsE;AACtE,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,8BAA8B,EACvC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,GACpB,MAAM,CAMR;AAED,8DAA8D;AAC9D,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,GAAG,CAAC,GAAG,EAClB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,OAAO,EACvB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,YAAY,GAAG,SAAS,GACvC,OAAO,CAAC,8BAA8B,CAAC,CAgBzC;AAED,6DAA6D;AAC7D,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,GAAG,CAAC,GAAG,EAClB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,OAAO,EACvB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,YAAY,GAAG,SAAS,GACvC,OAAO,CAAC,8BAA8B,CAAC,CAgBzC;AAED,oFAAoF;AACpF,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE;IACP,aAAa,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IACxC,cAAc,EAAE,OAAO,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC/B,GACA,OAAO,CAAC;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,8BAA8B,CAAA;CAAE,CAAC,CAuE3E;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,WAAW,EACnB,cAAc,EAAE,OAAO,EACvB,SAAS,EAAE,GAAG,CAAC,GAAG,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAiBnC"}
@@ -10,19 +10,21 @@ import { Hex } from 'ox';
10
10
  import { encodeFunctionData, } from 'viem';
11
11
  import { prepareTransactionRequest, signTransaction } from 'viem/actions';
12
12
  import { Abis } from 'viem/tempo';
13
- import * as Credential from '../../Credential.js';
14
- import { getAccountSignerAddress } from '../internal/account.js';
15
- import * as defaults from '../internal/defaults.js';
13
+ import * as Credential from '../../../Credential.js';
14
+ import { getAccountSignerAddress } from '../../internal/account.js';
15
+ import * as defaults from '../../internal/defaults.js';
16
16
  import { escrowAbi, getOnChainChannel } from '../session/Chain.js';
17
17
  import * as Channel from '../session/Channel.js';
18
18
  import { signVoucher } from '../session/Voucher.js';
19
19
  function resolveVoucherSigner(account, voucherSigner) {
20
20
  return voucherSigner ?? account;
21
21
  }
22
+ /** Resolves the chain ID embedded in a legacy session challenge. */
22
23
  export function resolveChainId(challenge) {
23
24
  const md = challenge.request.methodDetails;
24
25
  return md?.chainId ?? 0;
25
26
  }
27
+ /** Resolves the legacy escrow contract from local override, challenge hint, or defaults. */
26
28
  export function resolveEscrow(challenge, chainId, escrowContractOverride) {
27
29
  const challengeEscrow = challenge.request.methodDetails
28
30
  ?.escrowContract;
@@ -33,6 +35,7 @@ export function resolveEscrow(challenge, chainId, escrowContractOverride) {
33
35
  throw new Error('No `escrowContract` available. Provide it in parameters or ensure the server challenge includes it.');
34
36
  return escrow;
35
37
  }
38
+ /** Serializes a legacy session credential with a payer DID source. */
36
39
  export function serializeCredential(challenge, payload, chainId, account) {
37
40
  return Credential.serialize({
38
41
  challenge,
@@ -40,6 +43,7 @@ export function serializeCredential(challenge, payload, chainId, account) {
40
43
  source: `did:pkh:eip155:${chainId}:${account.address}`,
41
44
  });
42
45
  }
46
+ /** Creates a legacy cumulative voucher credential payload. */
43
47
  export async function createVoucherPayload(client, account, channelId, cumulativeAmount, escrowContract, chainId, voucherSigner) {
44
48
  const signer = resolveVoucherSigner(account, voucherSigner);
45
49
  const signature = await signVoucher(client, account, { channelId, cumulativeAmount }, escrowContract, chainId, signer);
@@ -50,6 +54,7 @@ export async function createVoucherPayload(client, account, channelId, cumulativ
50
54
  signature,
51
55
  };
52
56
  }
57
+ /** Creates a legacy cooperative close credential payload. */
53
58
  export async function createClosePayload(client, account, channelId, cumulativeAmount, escrowContract, chainId, voucherSigner) {
54
59
  const signer = resolveVoucherSigner(account, voucherSigner);
55
60
  const signature = await signVoucher(client, account, { channelId, cumulativeAmount }, escrowContract, chainId, signer);
@@ -60,6 +65,7 @@ export async function createClosePayload(client, account, channelId, cumulativeA
60
65
  signature,
61
66
  };
62
67
  }
68
+ /** Creates a legacy open transaction credential payload and local channel entry. */
63
69
  export async function createOpenPayload(client, account, options) {
64
70
  const { escrowContract, payee, currency, deposit, initialAmount, chainId, feePayer } = options;
65
71
  const voucherSigner = resolveVoucherSigner(account, options.voucherSigner);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelOps.js","sourceRoot":"","sources":["../../../../src/tempo/legacy/client/ChannelOps.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { type Address, type Account as viem_Account } from 'viem';
2
- import * as Method from '../../Method.js';
3
- import * as Account from '../../viem/Account.js';
4
- import * as Client from '../../viem/Client.js';
5
- import * as z from '../../zod.js';
2
+ import * as Method from '../../../Method.js';
3
+ import * as Account from '../../../viem/Account.js';
4
+ import * as Client from '../../../viem/Client.js';
5
+ import * as z from '../../../zod.js';
6
6
  import { type ChannelEntry } from './ChannelOps.js';
7
+ /** Runtime schema for legacy low-level session credential context. */
7
8
  export declare const sessionContextSchema: z.ZodMiniObject<{
8
9
  account: z.ZodMiniOptional<z.ZodMiniCustom<`0x${string}` | Account.Account | undefined, `0x${string}` | Account.Account | undefined>>;
9
10
  action: z.ZodMiniOptional<z.ZodMiniEnum<{
@@ -20,6 +21,7 @@ export declare const sessionContextSchema: z.ZodMiniObject<{
20
21
  additionalDepositRaw: z.ZodMiniOptional<z.ZodMiniString<string>>;
21
22
  depositRaw: z.ZodMiniOptional<z.ZodMiniString<string>>;
22
23
  }, z.core.$strip>;
24
+ /** Context accepted by the legacy low-level session client method. */
23
25
  export type SessionContext = z.infer<typeof sessionContextSchema>;
24
26
  /**
25
27
  * Creates a session payment method for use with `Mppx.create()`.
@@ -66,6 +68,7 @@ export declare function session(parameters?: session.Parameters): Method.Client<
66
68
  authorizedSigner: z.ZodMiniOptional<z.ZodMiniString<string>>;
67
69
  channelId: z.ZodMiniString<string>;
68
70
  cumulativeAmount: z.ZodMiniString<string>;
71
+ descriptor: z.ZodMiniOptional<z.ZodMiniCustom<import("../../session/precompile/Protocol.js").ChannelDescriptor, import("../../session/precompile/Protocol.js").ChannelDescriptor>>;
69
72
  signature: z.ZodMiniString<string>;
70
73
  transaction: z.ZodMiniString<string>;
71
74
  type: z.ZodMiniLiteral<"transaction">;
@@ -73,17 +76,20 @@ export declare function session(parameters?: session.Parameters): Method.Client<
73
76
  action: z.ZodMiniLiteral<"topUp">;
74
77
  additionalDeposit: z.ZodMiniString<string>;
75
78
  channelId: z.ZodMiniString<string>;
79
+ descriptor: z.ZodMiniOptional<z.ZodMiniCustom<import("../../session/precompile/Protocol.js").ChannelDescriptor, import("../../session/precompile/Protocol.js").ChannelDescriptor>>;
76
80
  transaction: z.ZodMiniString<string>;
77
81
  type: z.ZodMiniLiteral<"transaction">;
78
82
  }, z.core.$strip>, z.ZodMiniObject<{
79
83
  action: z.ZodMiniLiteral<"voucher">;
80
84
  channelId: z.ZodMiniString<string>;
81
85
  cumulativeAmount: z.ZodMiniString<string>;
86
+ descriptor: z.ZodMiniOptional<z.ZodMiniCustom<import("../../session/precompile/Protocol.js").ChannelDescriptor, import("../../session/precompile/Protocol.js").ChannelDescriptor>>;
82
87
  signature: z.ZodMiniString<string>;
83
88
  }, z.core.$strip>, z.ZodMiniObject<{
84
89
  action: z.ZodMiniLiteral<"close">;
85
90
  channelId: z.ZodMiniString<string>;
86
91
  cumulativeAmount: z.ZodMiniString<string>;
92
+ descriptor: z.ZodMiniOptional<z.ZodMiniCustom<import("../../session/precompile/Protocol.js").ChannelDescriptor, import("../../session/precompile/Protocol.js").ChannelDescriptor>>;
87
93
  signature: z.ZodMiniString<string>;
88
94
  }, z.core.$strip>], "action">;
89
95
  };
@@ -96,11 +102,20 @@ export declare function session(parameters?: session.Parameters): Method.Client<
96
102
  escrowContract: z.ZodMiniOptional<z.ZodMiniString<string>>;
97
103
  feePayer: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniCustom<viem_Account, viem_Account>]>, z.ZodMiniTransform<boolean, boolean | viem_Account>>>;
98
104
  minVoucherDelta: z.ZodMiniOptional<z.ZodMiniString<string>>;
105
+ operator: z.ZodMiniOptional<z.ZodMiniString<string>>;
99
106
  recipient: z.ZodMiniOptional<z.ZodMiniString<string>>;
107
+ sessionProtocol: z.ZodMiniOptional<z.ZodMiniEnum<{
108
+ v1: "v1";
109
+ v2: "v2";
110
+ }>>;
111
+ sessionSnapshot: z.ZodMiniOptional<z.ZodMiniCustom<import("../../session/Snapshot.js").SessionSnapshot, import("../../session/Snapshot.js").SessionSnapshot>>;
100
112
  suggestedDeposit: z.ZodMiniOptional<z.ZodMiniString<string>>;
101
113
  unitType: z.ZodMiniString<string>;
102
114
  }, z.core.$strip>, z.ZodMiniTransform<{
103
115
  methodDetails: {
116
+ sessionSnapshot?: import("../../session/Snapshot.js").SessionSnapshot | undefined;
117
+ sessionProtocol?: "v1" | "v2" | undefined;
118
+ operator?: string | undefined;
104
119
  feePayer?: boolean | undefined;
105
120
  chainId?: number | undefined;
106
121
  minVoucherDelta?: string | undefined;
@@ -122,7 +137,10 @@ export declare function session(parameters?: session.Parameters): Method.Client<
122
137
  escrowContract?: string | undefined;
123
138
  feePayer?: boolean | undefined;
124
139
  minVoucherDelta?: string | undefined;
140
+ operator?: string | undefined;
125
141
  recipient?: string | undefined;
142
+ sessionProtocol?: "v1" | "v2" | undefined;
143
+ sessionSnapshot?: import("../../session/Snapshot.js").SessionSnapshot | undefined;
126
144
  suggestedDeposit?: string | undefined;
127
145
  }>>;
128
146
  };
@@ -142,6 +160,7 @@ export declare function session(parameters?: session.Parameters): Method.Client<
142
160
  additionalDepositRaw: z.ZodMiniOptional<z.ZodMiniString<string>>;
143
161
  depositRaw: z.ZodMiniOptional<z.ZodMiniString<string>>;
144
162
  }, z.core.$strip>>;
163
+ /** Type helpers for the legacy low-level session client method. */
145
164
  export declare namespace session {
146
165
  type Parameters = Account.getResolver.Parameters & Client.getResolver.Parameters & {
147
166
  /** Account that signs voucher digests. Defaults to `account`; access-key accounts sign raw vouchers as their access-key address. */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../../../src/tempo/legacy/client/Session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAc,KAAK,OAAO,IAAI,YAAY,EAAE,MAAM,MAAM,CAAA;AAK7E,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAA;AACjD,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAA;AAMpC,OAAO,EACL,KAAK,YAAY,EAMlB,MAAM,iBAAiB,CAAA;AAExB,sEAAsE;AACtE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;iBAU/B,CAAA;AAEF,sEAAsE;AACtE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,OAAO,CAAC,UAAU,GAAE,OAAO,CAAC,UAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAoS1D;AAED,mEAAmE;AACnE,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAK,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,GAC9C,MAAM,CAAC,WAAW,CAAC,UAAU,GAAG;QAC9B,oIAAoI;QACpI,aAAa,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;QACxC,sEAAsE;QACtE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC7B,4LAA4L;QAC5L,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5B,4FAA4F;QAC5F,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpC,yIAAyI;QACzI,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC/B,8EAA8E;QAC9E,eAAe,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;KAC9D,CAAA;CACJ"}
@@ -1,14 +1,16 @@
1
1
  import { parseUnits } from 'viem';
2
2
  import { tempo as tempo_chain } from 'viem/tempo/chains';
3
- import * as Method from '../../Method.js';
4
- import * as Account from '../../viem/Account.js';
5
- import * as Client from '../../viem/Client.js';
6
- import * as z from '../../zod.js';
7
- import { getAccountSignerAddress } from '../internal/account.js';
8
- import * as defaults from '../internal/defaults.js';
9
- import * as Methods from '../Methods.js';
3
+ import * as Constants from '../../../Constants.js';
4
+ import * as Method from '../../../Method.js';
5
+ import * as Account from '../../../viem/Account.js';
6
+ import * as Client from '../../../viem/Client.js';
7
+ import * as z from '../../../zod.js';
8
+ import { getAccountSignerAddress } from '../../internal/account.js';
9
+ import * as defaults from '../../internal/defaults.js';
10
+ import * as Methods from '../../Methods.js';
10
11
  import { signVoucher } from '../session/Voucher.js';
11
12
  import { createOpenPayload, createVoucherPayload, resolveEscrow, serializeCredential, tryRecoverChannel, } from './ChannelOps.js';
13
+ /** Runtime schema for legacy low-level session credential context. */
12
14
  export const sessionContextSchema = z.object({
13
15
  account: z.optional(z.custom()),
14
16
  action: z.optional(z.enum(['open', 'topUp', 'voucher', 'close'])),
@@ -249,6 +251,11 @@ export function session(parameters = {}) {
249
251
  return serializeCredential(challenge, payload, chainId, account);
250
252
  }
251
253
  return Method.toClient(Methods.session, {
254
+ canHandleChallenge({ challenge }) {
255
+ const sessionProtocolMarker = Constants.getMethodDetail(challenge.request.methodDetails, Constants.MethodDetailKeys.sessionProtocol);
256
+ return (sessionProtocolMarker === undefined ||
257
+ sessionProtocolMarker === Constants.SessionProtocols.v1);
258
+ },
252
259
  context: sessionContextSchema,
253
260
  async createCredential({ challenge, context }) {
254
261
  const chainId = challenge.request.methodDetails?.chainId ?? 0;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Session.js","sourceRoot":"","sources":["../../../../src/tempo/legacy/client/Session.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import type { Hex } from 'ox';
2
2
  import { type Account as viem_Account, type Address } from 'viem';
3
- import * as Challenge from '../../Challenge.js';
4
- import * as AcceptPayment from '../../internal/AcceptPayment.js';
5
- import type * as Account from '../../viem/Account.js';
6
- import type * as Client from '../../viem/Client.js';
7
- import type { SessionReceipt } from '../session/Types.js';
3
+ import * as Challenge from '../../../Challenge.js';
4
+ import * as AcceptPayment from '../../../internal/AcceptPayment.js';
5
+ import type * as Account from '../../../viem/Account.js';
6
+ import type * as Client from '../../../viem/Client.js';
7
+ import type { SessionReceipt } from '../../session/precompile/Protocol.js';
8
8
  import { session as sessionPlugin } from './Session.js';
9
9
  type WebSocketConstructor = {
10
10
  new (url: string | URL, protocols?: string | string[]): WebSocket;
@@ -14,30 +14,44 @@ type SessionOrderChallenges = AcceptPayment.OrderChallenges<readonly [SessionMet
14
14
  type SessionRequestInit = RequestInit & {
15
15
  orderChallenges?: SessionOrderChallenges | undefined;
16
16
  };
17
+ /** Auto-driving legacy client manager for HTTP, SSE, and WebSocket sessions. */
17
18
  export type SessionManager = {
19
+ /** Active legacy channel ID, when opened or recovered. */
18
20
  readonly channelId: Hex.Hex | undefined;
21
+ /** Local cumulative voucher authorization in raw token units. */
19
22
  readonly cumulative: bigint;
23
+ /** Whether the manager currently has an open local channel. */
20
24
  readonly opened: boolean;
25
+ /** Opens a legacy contract-backed channel before the first paid request. */
21
26
  open(options?: {
22
27
  deposit?: bigint;
23
28
  }): Promise<void>;
29
+ /** Performs the HTTP 402 challenge/retry flow and returns receipt metadata. */
24
30
  fetch(input: RequestInfo | URL, init?: SessionRequestInit): Promise<PaymentResponse>;
31
+ /** Opens a paid SSE stream and responds to voucher requests. */
25
32
  sse(input: RequestInfo | URL, init?: SessionRequestInit & {
26
33
  onReceipt?: ((receipt: SessionReceipt) => void) | undefined;
27
34
  signal?: AbortSignal | undefined;
28
35
  }): Promise<AsyncIterable<string>>;
36
+ /** Opens a paid WebSocket session and manages in-band payment frames. */
29
37
  ws(input: string | URL, init?: {
30
38
  onReceipt?: ((receipt: SessionReceipt) => void) | undefined;
31
39
  orderChallenges?: SessionOrderChallenges | undefined;
32
40
  protocols?: string | string[] | undefined;
33
41
  signal?: AbortSignal | undefined;
34
42
  }): Promise<WebSocket>;
43
+ /** Cooperatively closes the active legacy channel. */
35
44
  close(): Promise<SessionReceipt | undefined>;
36
45
  };
46
+ /** HTTP response enriched with latest legacy session metadata. */
37
47
  export type PaymentResponse = Response & {
48
+ /** Parsed payment receipt, when the response included one. */
38
49
  receipt: SessionReceipt | null;
50
+ /** Last session challenge observed by the manager. */
39
51
  challenge: Challenge.Challenge | null;
52
+ /** Active channel ID, when available. */
40
53
  channelId: Hex.Hex | null;
54
+ /** Local cumulative voucher authorization in raw token units. */
41
55
  cumulative: bigint;
42
56
  };
43
57
  /**
@@ -60,6 +74,7 @@ export type PaymentResponse = Response & {
60
74
  * finalized, it resumes from the on-chain settled amount.
61
75
  */
62
76
  export declare function sessionManager(parameters: sessionManager.Parameters): SessionManager;
77
+ /** Type helpers for the legacy auto-driving session manager. */
63
78
  export declare namespace sessionManager {
64
79
  type Parameters = Account.getResolver.Parameters & Client.getResolver.Parameters & {
65
80
  /** Account that signs voucher digests. Defaults to `account`; access-key accounts sign raw vouchers as their access-key address. */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../../../src/tempo/legacy/client/SessionManager.ts"],"names":[],"mappings":"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"}