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
@@ -0,0 +1,464 @@
1
+ import { type Hex } from 'viem';
2
+ import type { ChannelDescriptor, NeedVoucherEvent, RawAmountString, SessionCredentialPayload, SessionReceipt } from '../precompile/Protocol.js';
3
+ import type { SessionSnapshot } from '../Snapshot.js';
4
+ import type { ChannelEntry } from './ChannelOps.js';
5
+ import type { SessionContext } from './CredentialState.js';
6
+ import type { TempoSessionChallenge } from './Transports.js';
7
+ import type { ActiveSocketSession } from './Transports.js';
8
+ export { deserializeSnapshot, serializeSnapshot } from '../Snapshot.js';
9
+ export type { SessionSnapshot } from '../Snapshot.js';
10
+ /** Initial manager state before a session challenge is observed. */
11
+ export type IdleSessionState = {
12
+ status: 'idle';
13
+ };
14
+ /** State after a tempo/session challenge has been selected but before a credential is created. */
15
+ export type ChallengedSessionState = {
16
+ status: 'challenged';
17
+ challengeId: string;
18
+ };
19
+ /** State while a server snapshot is being used to hydrate a reusable channel. */
20
+ export type HydratingSessionState = {
21
+ status: 'hydrating';
22
+ challengeId: string;
23
+ snapshot: SessionSnapshot;
24
+ };
25
+ /** State while the client is creating or submitting an opening channel credential. */
26
+ export type OpeningSessionState = {
27
+ status: 'opening';
28
+ challengeId: string;
29
+ };
30
+ /** Active state variant used after a channel is opened, hydrated, or receives a receipt. */
31
+ export type ActiveSessionState = {
32
+ status: 'active';
33
+ challengeId: string;
34
+ channelId: Hex;
35
+ descriptor: ChannelDescriptor;
36
+ /** Highest cumulative voucher amount accepted by the server. */
37
+ acceptedCumulative: RawAmountString;
38
+ /** Current channel deposit ceiling, tracked independently from accepted cumulative spend. */
39
+ deposit: RawAmountString;
40
+ /** Amount actually consumed by delivered work/content. */
41
+ spent: RawAmountString;
42
+ /** Paid units delivered by the server. */
43
+ units: number;
44
+ };
45
+ /** State when the server needs a larger cumulative voucher but no top-up is needed. */
46
+ export type VoucherNeededSessionState = {
47
+ status: 'voucherNeeded';
48
+ challengeId: string;
49
+ channelId: Hex;
50
+ descriptor: ChannelDescriptor;
51
+ requiredCumulative: RawAmountString;
52
+ deposit: RawAmountString;
53
+ };
54
+ /** State when the server-required cumulative amount exceeds current channel deposit. */
55
+ export type ToppingUpSessionState = {
56
+ status: 'toppingUp';
57
+ challengeId: string;
58
+ channelId: Hex;
59
+ descriptor: ChannelDescriptor;
60
+ deposit: RawAmountString;
61
+ };
62
+ /** State while the server is settling accepted voucher spend on-chain. */
63
+ export type SettlingSessionState = {
64
+ status: 'settling';
65
+ channelId: Hex;
66
+ descriptor: ChannelDescriptor;
67
+ deposit: RawAmountString;
68
+ };
69
+ /** State after unilateral close has been requested and withdrawal is not yet available. */
70
+ export type CloseRequestedSessionState = {
71
+ status: 'closeRequested';
72
+ channelId: Hex;
73
+ descriptor: ChannelDescriptor;
74
+ };
75
+ /** State after the unilateral close delay has elapsed and funds can be withdrawn. */
76
+ export type WithdrawableSessionState = {
77
+ status: 'withdrawable';
78
+ channelId: Hex;
79
+ descriptor: ChannelDescriptor;
80
+ };
81
+ /** State while a cooperative close credential or close transaction is in flight. */
82
+ export type ClosingSessionState = {
83
+ status: 'closing';
84
+ channelId: Hex;
85
+ descriptor: ChannelDescriptor;
86
+ };
87
+ /** Terminal state after channel close finalization. */
88
+ export type ClosedSessionState = {
89
+ status: 'closed';
90
+ channelId: Hex;
91
+ descriptor: ChannelDescriptor;
92
+ };
93
+ /** Pure state-machine state for a TIP-1034 session. */
94
+ export type SessionState = IdleSessionState | ChallengedSessionState | HydratingSessionState | OpeningSessionState | ActiveSessionState | VoucherNeededSessionState | ToppingUpSessionState | SettlingSessionState | CloseRequestedSessionState | WithdrawableSessionState | ClosingSessionState | ClosedSessionState;
95
+ /** Data required to construct active session state. */
96
+ export type CreateActiveStateParameters = Omit<ActiveSessionState, 'status'>;
97
+ /** State variants that can follow a need-voucher event. */
98
+ export type NeedVoucherSessionState = VoucherNeededSessionState | ToppingUpSessionState;
99
+ /** Events accepted by the pure session reducer. */
100
+ export type SessionEvent = {
101
+ type: 'challengeReceived';
102
+ challengeId: string;
103
+ } | {
104
+ type: 'challenge';
105
+ challengeId: string;
106
+ snapshot?: SessionSnapshot | undefined;
107
+ } | {
108
+ type: 'activated';
109
+ challengeId: string;
110
+ entry: ChannelEntry;
111
+ spent: RawAmountString;
112
+ units?: number | undefined;
113
+ } | {
114
+ type: 'opened';
115
+ receipt: SessionReceipt;
116
+ descriptor: ChannelDescriptor;
117
+ deposit: RawAmountString;
118
+ } | {
119
+ type: 'hydrated';
120
+ snapshot: SessionSnapshot;
121
+ } | {
122
+ type: 'receiptAccepted';
123
+ receipt: SessionReceipt;
124
+ entry: ChannelEntry;
125
+ } | {
126
+ type: 'needVoucher';
127
+ event: NeedVoucherEvent;
128
+ descriptor: ChannelDescriptor;
129
+ } | {
130
+ type: 'topUpStarted';
131
+ } | {
132
+ type: 'voucherAccepted';
133
+ receipt: SessionReceipt;
134
+ deposit?: string | undefined;
135
+ } | {
136
+ type: 'settleStarted';
137
+ } | {
138
+ type: 'settled';
139
+ receipt: SessionReceipt;
140
+ deposit?: string | undefined;
141
+ } | {
142
+ type: 'closeRequested';
143
+ } | {
144
+ type: 'withdrawable';
145
+ } | {
146
+ type: 'closeStarted';
147
+ } | {
148
+ type: 'closed';
149
+ receipt?: SessionReceipt | undefined;
150
+ };
151
+ /** IO work requested by the pure reducer. */
152
+ export type SessionEffect = {
153
+ type: 'hydrate';
154
+ snapshot: SessionSnapshot;
155
+ } | {
156
+ type: 'open';
157
+ } | {
158
+ type: 'topUp';
159
+ channelId: Hex;
160
+ amount: string;
161
+ } | {
162
+ type: 'voucher';
163
+ payload?: SessionCredentialPayload | undefined;
164
+ } | {
165
+ type: 'settle';
166
+ channelId: Hex;
167
+ } | {
168
+ type: 'requestClose';
169
+ channelId: Hex;
170
+ } | {
171
+ type: 'withdraw';
172
+ channelId: Hex;
173
+ } | {
174
+ type: 'close';
175
+ channelId: Hex;
176
+ };
177
+ /** Effects emitted by need-voucher transition planning. */
178
+ export type NeedVoucherSessionEffect = Extract<SessionEffect, {
179
+ type: 'topUp';
180
+ }> | Extract<SessionEffect, {
181
+ type: 'voucher';
182
+ }>;
183
+ /** Inputs for deciding whether a need-voucher event needs a voucher or deposit top-up first. */
184
+ export type ResolveNeedVoucherTransitionParameters = {
185
+ /** Current challenge ID retained by the active session state. */
186
+ challengeId: string;
187
+ /** Descriptor for the channel requiring more authorization. */
188
+ descriptor: ChannelDescriptor;
189
+ /** Server event describing required cumulative authorization and current deposit. */
190
+ event: NeedVoucherEvent;
191
+ };
192
+ /** Result of the need-voucher transition decision. */
193
+ export type NeedVoucherTransition = {
194
+ /** Next machine state. */
195
+ state: NeedVoucherSessionState;
196
+ /** Driver effects required to satisfy the server request. */
197
+ effects: NeedVoucherSessionEffect[];
198
+ };
199
+ /** Return value for every pure state-machine transition. */
200
+ export type SessionTransition = {
201
+ /** State after applying the event. */
202
+ state: SessionState;
203
+ /** Declarative IO requested from the transport/precompile driver. */
204
+ effects: SessionEffect[];
205
+ };
206
+ /** Initial state for a TIP-1034 session state machine. */
207
+ export declare const initialState: {
208
+ status: "idle";
209
+ };
210
+ /** Constructs the canonical active state shape for the reducer and transport drivers. */
211
+ export declare function createActiveState(parameters: CreateActiveStateParameters): ActiveSessionState;
212
+ /** Applies a state-machine event and returns the next state plus requested effects. */
213
+ export declare function reduce(state: SessionState, event: SessionEvent): SessionTransition;
214
+ /** Applies a reducer event to mutable manager runtime state. */
215
+ export declare function dispatchSessionEvent(runtime: Pick<SessionManagerRuntime, 'state'>, event: SessionEvent): SessionTransition;
216
+ /** Decides whether a need-voucher event can be answered by voucher or requires top-up first. */
217
+ export declare function resolveNeedVoucherTransition(parameters: ResolveNeedVoucherTransitionParameters): NeedVoucherTransition;
218
+ /** Inputs for validating a cumulative authorization against the local client cap. */
219
+ export type LocalVoucherLimitParameters = {
220
+ /** Cumulative amount being authorized or accepted. */
221
+ cumulativeAmount: bigint;
222
+ /** Optional maximum local authorization boundary. Null means uncapped. */
223
+ maxVoucherCumulative: bigint | null;
224
+ };
225
+ /** Inputs for validating a payment receipt against local client state. */
226
+ export type LocalReceiptValidationParameters = {
227
+ /** Active local channel cache entry. */
228
+ channel: ChannelEntry | null;
229
+ /** Optional local authorization cap. Null means uncapped. */
230
+ maxVoucherCumulative: bigint | null;
231
+ /** Receipt returned by the server. */
232
+ receipt: SessionReceipt;
233
+ };
234
+ /** Inputs for deriving the next locally observed spend from a receipt. */
235
+ export type NextReceiptSpendParameters = {
236
+ /** Active local channel cache entry. */
237
+ channel: ChannelEntry | null;
238
+ /** Optional local authorization cap. Null means uncapped. */
239
+ maxVoucherCumulative: bigint | null;
240
+ /** Receipt returned by the server, when present. */
241
+ receipt: SessionReceipt | null | undefined;
242
+ /** Current locally observed spend. */
243
+ spent: bigint;
244
+ };
245
+ /** Inputs for resolving the initial channel deposit in automatic client mode. */
246
+ export type ResolveOpeningDepositParameters = {
247
+ /** Caller-provided raw deposit override. */
248
+ contextDepositRaw?: string | undefined;
249
+ /** Optional local maximum cumulative deposit/authorization boundary. */
250
+ maxDeposit?: bigint | undefined;
251
+ /** Current request amount in raw token units. */
252
+ requestAmount: bigint;
253
+ /** Server-suggested opening deposit in raw token units. */
254
+ suggestedDepositRaw?: string | undefined;
255
+ };
256
+ /** Throws when a cumulative voucher amount exceeds the caller's local cap. */
257
+ export declare function assertVoucherWithinLocalLimit(parameters: LocalVoucherLimitParameters): void;
258
+ /** Validates a server receipt without allowing it to increase the local signing boundary. */
259
+ export declare function assertReceiptWithinLocalState(parameters: LocalReceiptValidationParameters): void;
260
+ /** Returns the monotonic next local spend after validating an optional receipt. */
261
+ export declare function nextSpentFromReceipt(parameters: NextReceiptSpendParameters): bigint;
262
+ /** Parses a manager amount. Bigints are raw units; strings are parsed using token decimals. */
263
+ export declare function parseManagerAmount(amount: string | bigint, decimals: number): bigint;
264
+ /** Resolves the opening deposit from explicit context, server hint, request amount, and local cap. */
265
+ export declare function resolveOpeningDeposit(parameters: ResolveOpeningDepositParameters): bigint;
266
+ /** Enforces the optional client-side maximum cumulative voucher authorization. */
267
+ export declare function assertWithinMaxDeposit(cumulativeAmount: bigint, maxDeposit: bigint | undefined): void;
268
+ /** Predicate used when waiting for a specific session receipt. */
269
+ export type SessionReceiptPredicate = (receipt: SessionReceipt) => boolean;
270
+ /** Resolved data required to close a locally active session channel. */
271
+ export type CloseTarget = {
272
+ /** Challenge used to bind the close credential. */
273
+ challenge: TempoSessionChallenge;
274
+ /** Local channel cache entry being closed. */
275
+ channel: ChannelEntry;
276
+ /** Channel ID being closed. */
277
+ channelId: Hex;
278
+ };
279
+ /** Inputs for choosing the active close target. */
280
+ export type ResolveCloseTargetParameters = {
281
+ /** Current active channel cache entry. */
282
+ channel: ChannelEntry | null;
283
+ /** Active WebSocket session, when close is happening in-band. */
284
+ currentSocket: ActiveSocketSession | null;
285
+ /** Last HTTP/SSE challenge observed by the manager. */
286
+ lastChallenge: TempoSessionChallenge | null;
287
+ };
288
+ /** Inputs for validating socket close-ready spend before signing the final close voucher. */
289
+ export type CloseReadySpendParameters = {
290
+ /** Local cumulative voucher authorization. */
291
+ cumulativeAmount: bigint;
292
+ /** Spend reported by the close-ready receipt. */
293
+ readySpent: bigint;
294
+ /** Latest receipt-tracked local spend. */
295
+ spent: bigint;
296
+ };
297
+ /** Inputs for matching the expected final close receipt. */
298
+ export type ExpectedCloseReceiptParameters = {
299
+ /** Challenge ID used for the close credential. */
300
+ challengeId: string;
301
+ /** Channel ID being closed. */
302
+ channelId: Hex;
303
+ /** Expected final cumulative/spent amount. */
304
+ expectedCloseAmount: string;
305
+ /** Receipt to test. */
306
+ receipt: SessionReceipt;
307
+ };
308
+ /** Resolves the currently closeable channel and challenge, or undefined when no channel is open. */
309
+ export declare function resolveCloseTarget(parameters: ResolveCloseTargetParameters): CloseTarget | undefined;
310
+ /** Highest spend the client may sign for during close based on local receipts and vouchers. */
311
+ export declare function localCloseSpendLimit(parameters: Omit<CloseReadySpendParameters, 'readySpent'>): bigint;
312
+ /** Throws when a close-ready receipt asks the client to sign beyond local state. */
313
+ export declare function assertCloseReadyWithinLocalState(parameters: CloseReadySpendParameters): void;
314
+ /** Returns whether a receipt is the expected final close settlement receipt. */
315
+ export declare function isExpectedCloseReceipt(parameters: ExpectedCloseReceiptParameters): boolean;
316
+ /** Parameters used to project cached client channel data into an active machine state. */
317
+ export type ActiveStateFromChannelParameters = {
318
+ /** Challenge ID associated with the active payment flow. */
319
+ challengeId: string;
320
+ /** Cached channel entry that owns descriptor, deposit, and cumulative authorization. */
321
+ entry: ChannelEntry;
322
+ /** Latest locally observed spend in raw units. */
323
+ spent: string;
324
+ /** Paid units observed by the active flow. */
325
+ units: number;
326
+ };
327
+ /** Parameters used to project a closed channel into machine state. */
328
+ export type ClosedStateFromChannelParameters = {
329
+ /** Channel ID that has been closed. */
330
+ channelId: Hex;
331
+ /** Cached channel entry that owns the descriptor. */
332
+ entry: ChannelEntry;
333
+ };
334
+ /** Inputs for computing the safest fallback close amount when no fresh close-ready receipt is available. */
335
+ export type FallbackCloseAmountParameters = {
336
+ /** Challenge ID being closed. */
337
+ challengeId: string;
338
+ /** Channel ID being closed. */
339
+ channelId: Hex;
340
+ /** Last socket close-ready receipt, when one was received. */
341
+ closeReadyReceipt?: SessionReceipt | null | undefined;
342
+ /** Current local cumulative voucher authorization. */
343
+ cumulativeAmount: bigint;
344
+ /** Number of application chunks delivered over the socket. */
345
+ deliveredChunks?: bigint | undefined;
346
+ /** Current socket challenge ID, used to decide whether socket delivery data applies. */
347
+ socketChallengeId?: string | undefined;
348
+ /** Current socket channel ID, used to decide whether socket delivery data applies. */
349
+ socketChannelId?: Hex | undefined;
350
+ /** Latest locally observed spend from receipts. */
351
+ spent: bigint;
352
+ /** Per-message socket charge in raw units. */
353
+ tickCost?: bigint | undefined;
354
+ };
355
+ /** Minimal mutable session runtime state that must be restored when an auto-drive attempt fails. */
356
+ export type RuntimeState = {
357
+ /** Current client channel cache entry, when one is active. */
358
+ channel: ChannelEntry | null;
359
+ /** Latest locally observed spend from receipts. */
360
+ spent: bigint;
361
+ /** Current public state-machine state. */
362
+ state: SessionState;
363
+ };
364
+ /** Mutable client runtime state owned by one auto-driving `sessionManager()` instance. */
365
+ export type SessionManagerRuntime = RuntimeState & {
366
+ /** Last Tempo session challenge observed by HTTP/SSE/WebSocket bootstrap. */
367
+ lastChallenge: TempoSessionChallenge | null;
368
+ /** Last HTTP resource URL usable for management POSTs. */
369
+ lastUrl: RequestInfo | URL | null;
370
+ /** Active WebSocket payment session bookkeeping, when a socket is open. */
371
+ socketSession: ActiveSocketSession | null;
372
+ };
373
+ /** Immutable snapshot of mutable runtime fields needed for rollback. */
374
+ export type RuntimeSnapshot = {
375
+ /** Channel fields mutated during optimistic open/top-up/voucher attempts. */
376
+ channel: {
377
+ cumulativeAmount: bigint;
378
+ deposit: bigint;
379
+ entry: ChannelEntry;
380
+ opened: boolean;
381
+ } | null;
382
+ /** Latest locally observed spend when the snapshot was taken. */
383
+ spent: bigint;
384
+ /** State-machine state when the snapshot was taken. */
385
+ state: SessionState;
386
+ };
387
+ /** Inputs for applying a server receipt to manager-local runtime state. */
388
+ export type ApplySessionReceiptToRuntimeParameters = {
389
+ /** Optional local cumulative authorization cap. Null means uncapped. */
390
+ maxVoucherCumulative: bigint | null;
391
+ /** Receipt returned by a server transport, when present. */
392
+ receipt: SessionReceipt | null | undefined;
393
+ /** Mutable manager runtime state to update. */
394
+ runtime: SessionManagerRuntime;
395
+ };
396
+ /** Inputs for restoring local cumulative authorization after a failed optimistic voucher retry. */
397
+ export type RestoreCumulativeAuthorizationParameters = {
398
+ /** Active local channel entry, when one is available. */
399
+ channel: ChannelEntry | null;
400
+ /** Channel ID whose optimistic cumulative amount should be restored. */
401
+ channelId: Hex;
402
+ /** Previous cumulative voucher authorization in raw units. */
403
+ cumulativeAmount: bigint;
404
+ /** Last challenge ID observed by the manager, when known. */
405
+ challengeId?: string | undefined;
406
+ /** Latest locally observed spend in raw units. */
407
+ spent: bigint;
408
+ /** Current public state-machine state, used to preserve active unit count. */
409
+ state: SessionState;
410
+ };
411
+ /** Projects cached channel data into an active state-machine state. */
412
+ export declare function activeStateFromChannel(parameters: ActiveStateFromChannelParameters): SessionState;
413
+ /** Creates the initial mutable runtime state for an auto-driving session manager. */
414
+ export declare function createSessionManagerRuntime(): SessionManagerRuntime;
415
+ /** Validates a receipt, advances observed spend, and projects matching receipts into public state. */
416
+ export declare function applySessionReceiptToRuntime(parameters: ApplySessionReceiptToRuntimeParameters): void;
417
+ /** Projects a verified receipt plus local descriptor/deposit data into an active state-machine state. */
418
+ export declare function activeStateFromReceipt(receipt: SessionReceipt, entry: ChannelEntry): SessionState;
419
+ /** Projects a closed channel into the public closed state-machine state. */
420
+ export declare function closedStateFromChannel(parameters: ClosedStateFromChannelParameters): SessionState;
421
+ /** Projects a final close receipt into the public closed state-machine state. */
422
+ export declare function closedStateFromReceipt(receipt: SessionReceipt, entry: ChannelEntry): SessionState;
423
+ /**
424
+ * Computes the fallback close amount without authorizing more than the local cumulative voucher.
425
+ *
426
+ * Priority:
427
+ * 1. Matching close-ready receipt spend.
428
+ * 2. Matching socket delivery estimate (`deliveredChunks * tickCost`) clamped by cumulative.
429
+ * 3. Latest receipt-tracked spend for HTTP/SSE.
430
+ */
431
+ export declare function computeFallbackCloseAmount(parameters: FallbackCloseAmountParameters): bigint;
432
+ /**
433
+ * Restores a channel's cumulative voucher boundary and returns the refreshed active state.
434
+ *
435
+ * Returns `undefined` when the active channel does not match or no challenge is
436
+ * available to label the active state.
437
+ */
438
+ export declare function restoreCumulativeAuthorization(parameters: RestoreCumulativeAuthorizationParameters): ActiveSessionState | undefined;
439
+ /** Captures mutable session runtime fields before an optimistic manager action. */
440
+ export declare function captureRuntimeSnapshot(runtime: RuntimeState): RuntimeSnapshot;
441
+ /** Restores mutable session runtime fields from a previous snapshot. */
442
+ export declare function restoreRuntimeSnapshot(snapshot: RuntimeSnapshot, currentChannel: ChannelEntry | null): RuntimeState;
443
+ /** Creates a session credential for the selected challenge/context. */
444
+ export type CreateSocketCloseCredential = (challenge: TempoSessionChallenge, context: SessionContext) => Promise<string>;
445
+ /** Inputs for cooperatively closing an active WebSocket session in-band. */
446
+ export type CloseSocketSessionParameters = {
447
+ /** Raw WebSocket used by the active paid stream. */
448
+ activeSocket: WebSocket;
449
+ /** Creates the signed close credential. */
450
+ createSessionCredential: CreateSocketCloseCredential;
451
+ /** Active WebSocket session state. */
452
+ currentSocket: ActiveSocketSession;
453
+ /** Latest locally tracked spend from receipts. */
454
+ spent: bigint;
455
+ /** Channel/challenge pair being closed. */
456
+ target: CloseTarget;
457
+ /** Waits for the server's close-ready receipt after requesting stream close. */
458
+ waitForCloseReady(): Promise<SessionReceipt>;
459
+ /** Waits for the final settlement receipt matching `predicate`. */
460
+ waitForReceipt(predicate: SessionReceiptPredicate): Promise<SessionReceipt>;
461
+ };
462
+ /** Cooperatively closes an active paid WebSocket session and returns the final receipt. */
463
+ export declare function closeSocketSession(parameters: CloseSocketSessionParameters): Promise<SessionReceipt>;
464
+ //# sourceMappingURL=Runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Runtime.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/client/Runtime.ts"],"names":[],"mappings":"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"}