mppx 0.6.30 → 0.7.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 (483) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/Challenge.d.ts.map +1 -1
  3. package/dist/Challenge.js +9 -7
  4. package/dist/Challenge.js.map +1 -1
  5. package/dist/Constants.d.ts +46 -0
  6. package/dist/Constants.d.ts.map +1 -0
  7. package/dist/Constants.js +46 -0
  8. package/dist/Constants.js.map +1 -0
  9. package/dist/Credential.d.ts.map +1 -1
  10. package/dist/Credential.js +5 -4
  11. package/dist/Credential.js.map +1 -1
  12. package/dist/Method.d.ts +32 -4
  13. package/dist/Method.d.ts.map +1 -1
  14. package/dist/Method.js +5 -2
  15. package/dist/Method.js.map +1 -1
  16. package/dist/Receipt.d.ts.map +1 -1
  17. package/dist/Receipt.js +3 -2
  18. package/dist/Receipt.js.map +1 -1
  19. package/dist/cli/cli.d.ts.map +1 -1
  20. package/dist/cli/cli.js +19 -11
  21. package/dist/cli/cli.js.map +1 -1
  22. package/dist/cli/plugins/tempo.d.ts.map +1 -1
  23. package/dist/cli/plugins/tempo.js +17 -6
  24. package/dist/cli/plugins/tempo.js.map +1 -1
  25. package/dist/cli/utils.d.ts +5 -0
  26. package/dist/cli/utils.d.ts.map +1 -1
  27. package/dist/cli/utils.js +10 -0
  28. package/dist/cli/utils.js.map +1 -1
  29. package/dist/client/Methods.d.ts +5 -2
  30. package/dist/client/Methods.d.ts.map +1 -1
  31. package/dist/client/Methods.js +5 -2
  32. package/dist/client/Methods.js.map +1 -1
  33. package/dist/client/Transport.d.ts.map +1 -1
  34. package/dist/client/Transport.js +4 -5
  35. package/dist/client/Transport.js.map +1 -1
  36. package/dist/client/index.d.ts +2 -1
  37. package/dist/client/index.d.ts.map +1 -1
  38. package/dist/client/index.js +2 -1
  39. package/dist/client/index.js.map +1 -1
  40. package/dist/client/internal/Fetch.d.ts.map +1 -1
  41. package/dist/client/internal/Fetch.js +14 -6
  42. package/dist/client/internal/Fetch.js.map +1 -1
  43. package/dist/evm/server/Methods.d.ts +1 -1
  44. package/dist/evm/server/Methods.d.ts.map +1 -1
  45. package/dist/index.d.ts +1 -0
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +1 -0
  48. package/dist/index.js.map +1 -1
  49. package/dist/internal/AcceptPayment.d.ts +3 -0
  50. package/dist/internal/AcceptPayment.d.ts.map +1 -1
  51. package/dist/internal/AcceptPayment.js +15 -11
  52. package/dist/internal/AcceptPayment.js.map +1 -1
  53. package/dist/mcp-sdk/client/McpClient.d.ts +12 -5
  54. package/dist/mcp-sdk/client/McpClient.d.ts.map +1 -1
  55. package/dist/mcp-sdk/client/McpClient.js +55 -42
  56. package/dist/mcp-sdk/client/McpClient.js.map +1 -1
  57. package/dist/server/Mppx.d.ts +11 -3
  58. package/dist/server/Mppx.d.ts.map +1 -1
  59. package/dist/server/Mppx.js +76 -27
  60. package/dist/server/Mppx.js.map +1 -1
  61. package/dist/server/Request.js +24 -10
  62. package/dist/server/Request.js.map +1 -1
  63. package/dist/server/Response.d.ts.map +1 -1
  64. package/dist/server/Response.js +2 -1
  65. package/dist/server/Response.js.map +1 -1
  66. package/dist/server/Transport.d.ts.map +1 -1
  67. package/dist/server/Transport.js +4 -3
  68. package/dist/server/Transport.js.map +1 -1
  69. package/dist/server/index.d.ts +1 -0
  70. package/dist/server/index.d.ts.map +1 -1
  71. package/dist/server/index.js +1 -0
  72. package/dist/server/index.js.map +1 -1
  73. package/dist/stripe/client/Charge.d.ts +1 -1
  74. package/dist/stripe/client/Charge.d.ts.map +1 -1
  75. package/dist/stripe/client/Charge.js +3 -1
  76. package/dist/stripe/client/Charge.js.map +1 -1
  77. package/dist/stripe/server/Charge.d.ts +1 -1
  78. package/dist/stripe/server/Charge.d.ts.map +1 -1
  79. package/dist/stripe/server/Charge.js +9 -2
  80. package/dist/stripe/server/Charge.js.map +1 -1
  81. package/dist/stripe/server/Methods.d.ts +1 -1
  82. package/dist/stripe/server/Methods.d.ts.map +1 -1
  83. package/dist/stripe/server/internal/html.gen.d.ts +1 -1
  84. package/dist/stripe/server/internal/html.gen.d.ts.map +1 -1
  85. package/dist/stripe/server/internal/html.gen.js +1 -1
  86. package/dist/stripe/server/internal/html.gen.js.map +1 -1
  87. package/dist/tempo/Methods.d.ts +18 -0
  88. package/dist/tempo/Methods.d.ts.map +1 -1
  89. package/dist/tempo/Methods.js +16 -1
  90. package/dist/tempo/Methods.js.map +1 -1
  91. package/dist/tempo/client/Charge.d.ts +6 -0
  92. package/dist/tempo/client/Charge.d.ts.map +1 -1
  93. package/dist/tempo/client/Charge.js +9 -2
  94. package/dist/tempo/client/Charge.js.map +1 -1
  95. package/dist/tempo/client/Methods.d.ts +36 -7
  96. package/dist/tempo/client/Methods.d.ts.map +1 -1
  97. package/dist/tempo/client/Methods.js +12 -5
  98. package/dist/tempo/client/Methods.js.map +1 -1
  99. package/dist/tempo/client/index.d.ts +7 -4
  100. package/dist/tempo/client/index.d.ts.map +1 -1
  101. package/dist/tempo/client/index.js +5 -3
  102. package/dist/tempo/client/index.js.map +1 -1
  103. package/dist/tempo/index.d.ts +1 -0
  104. package/dist/tempo/index.d.ts.map +1 -1
  105. package/dist/tempo/index.js +1 -0
  106. package/dist/tempo/index.js.map +1 -1
  107. package/dist/tempo/internal/fee-payer.d.ts +21 -1
  108. package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
  109. package/dist/tempo/internal/fee-payer.js +109 -4
  110. package/dist/tempo/internal/fee-payer.js.map +1 -1
  111. package/dist/tempo/{client → legacy/client}/ChannelOps.d.ts +19 -6
  112. package/dist/tempo/legacy/client/ChannelOps.d.ts.map +1 -0
  113. package/dist/tempo/{client → legacy/client}/ChannelOps.js +9 -3
  114. package/dist/tempo/legacy/client/ChannelOps.js.map +1 -0
  115. package/dist/tempo/{client → legacy/client}/Session.d.ts +23 -4
  116. package/dist/tempo/legacy/client/Session.d.ts.map +1 -0
  117. package/dist/tempo/{client → legacy/client}/Session.js +14 -7
  118. package/dist/tempo/legacy/client/Session.js.map +1 -0
  119. package/dist/tempo/{client → legacy/client}/SessionManager.d.ts +20 -5
  120. package/dist/tempo/legacy/client/SessionManager.d.ts.map +1 -0
  121. package/dist/tempo/{client → legacy/client}/SessionManager.js +20 -16
  122. package/dist/tempo/legacy/client/SessionManager.js.map +1 -0
  123. package/dist/tempo/legacy/client/index.d.ts +7 -0
  124. package/dist/tempo/legacy/client/index.d.ts.map +1 -0
  125. package/dist/tempo/legacy/client/index.js +5 -0
  126. package/dist/tempo/legacy/client/index.js.map +1 -0
  127. package/dist/tempo/legacy/index.d.ts +7 -0
  128. package/dist/tempo/legacy/index.d.ts.map +1 -0
  129. package/dist/tempo/legacy/index.js +7 -0
  130. package/dist/tempo/legacy/index.js.map +1 -0
  131. package/dist/tempo/{server → legacy/server}/Session.d.ts +28 -11
  132. package/dist/tempo/legacy/server/Session.d.ts.map +1 -0
  133. package/dist/tempo/{server → legacy/server}/Session.js +28 -23
  134. package/dist/tempo/legacy/server/Session.js.map +1 -0
  135. package/dist/tempo/legacy/server/index.d.ts +5 -0
  136. package/dist/tempo/legacy/server/index.d.ts.map +1 -0
  137. package/dist/tempo/legacy/server/index.js +5 -0
  138. package/dist/tempo/legacy/server/index.js.map +1 -0
  139. package/dist/tempo/{session → legacy/session}/Chain.d.ts +30 -23
  140. package/dist/tempo/legacy/session/Chain.d.ts.map +1 -0
  141. package/dist/tempo/{session → legacy/session}/Chain.js +12 -11
  142. package/dist/tempo/legacy/session/Chain.js.map +1 -0
  143. package/dist/tempo/{session → legacy/session}/Channel.d.ts +1 -0
  144. package/dist/tempo/legacy/session/Channel.d.ts.map +1 -0
  145. package/dist/tempo/legacy/session/Channel.js.map +1 -0
  146. package/dist/tempo/legacy/session/ChannelStore.d.ts +22 -0
  147. package/dist/tempo/legacy/session/ChannelStore.d.ts.map +1 -0
  148. package/dist/tempo/legacy/session/ChannelStore.js +6 -0
  149. package/dist/tempo/legacy/session/ChannelStore.js.map +1 -0
  150. package/dist/tempo/legacy/session/Types.d.ts +73 -0
  151. package/dist/tempo/legacy/session/Types.d.ts.map +1 -0
  152. package/dist/tempo/legacy/session/Types.js.map +1 -0
  153. package/dist/tempo/{session → legacy/session}/Voucher.d.ts +4 -4
  154. package/dist/tempo/legacy/session/Voucher.d.ts.map +1 -0
  155. package/dist/tempo/{session → legacy/session}/Voucher.js +1 -1
  156. package/dist/tempo/legacy/session/Voucher.js.map +1 -0
  157. package/dist/tempo/{session → legacy/session}/escrow.abi.d.ts +1 -0
  158. package/dist/tempo/{session → legacy/session}/escrow.abi.d.ts.map +1 -1
  159. package/dist/tempo/{session → legacy/session}/escrow.abi.js +1 -0
  160. package/dist/tempo/legacy/session/escrow.abi.js.map +1 -0
  161. package/dist/tempo/legacy/session/index.d.ts +9 -0
  162. package/dist/tempo/legacy/session/index.d.ts.map +1 -0
  163. package/dist/tempo/legacy/session/index.js +9 -0
  164. package/dist/tempo/legacy/session/index.js.map +1 -0
  165. package/dist/tempo/server/Charge.d.ts +1 -1
  166. package/dist/tempo/server/Charge.d.ts.map +1 -1
  167. package/dist/tempo/server/Charge.js +13 -16
  168. package/dist/tempo/server/Charge.js.map +1 -1
  169. package/dist/tempo/server/Methods.d.ts +63 -6
  170. package/dist/tempo/server/Methods.d.ts.map +1 -1
  171. package/dist/tempo/server/Methods.js +36 -8
  172. package/dist/tempo/server/Methods.js.map +1 -1
  173. package/dist/tempo/server/Subscription.d.ts +1 -1
  174. package/dist/tempo/server/Subscription.d.ts.map +1 -1
  175. package/dist/tempo/server/index.d.ts +6 -5
  176. package/dist/tempo/server/index.d.ts.map +1 -1
  177. package/dist/tempo/server/index.js +5 -5
  178. package/dist/tempo/server/index.js.map +1 -1
  179. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  180. package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
  181. package/dist/tempo/server/internal/html.gen.js +1 -1
  182. package/dist/tempo/server/internal/html.gen.js.map +1 -1
  183. package/dist/tempo/server/internal/request-body.d.ts +7 -2
  184. package/dist/tempo/server/internal/request-body.d.ts.map +1 -1
  185. package/dist/tempo/server/internal/request-body.js +20 -3
  186. package/dist/tempo/server/internal/request-body.js.map +1 -1
  187. package/dist/tempo/server/internal/transport.d.ts +8 -4
  188. package/dist/tempo/server/internal/transport.d.ts.map +1 -1
  189. package/dist/tempo/server/internal/transport.js +8 -7
  190. package/dist/tempo/server/internal/transport.js.map +1 -1
  191. package/dist/tempo/session/Snapshot.d.ts +32 -0
  192. package/dist/tempo/session/Snapshot.d.ts.map +1 -0
  193. package/dist/tempo/session/Snapshot.js +37 -0
  194. package/dist/tempo/session/Snapshot.js.map +1 -0
  195. package/dist/tempo/session/client/ChannelOps.d.ts +82 -0
  196. package/dist/tempo/session/client/ChannelOps.d.ts.map +1 -0
  197. package/dist/tempo/session/client/ChannelOps.js +204 -0
  198. package/dist/tempo/session/client/ChannelOps.js.map +1 -0
  199. package/dist/tempo/session/client/CredentialState.d.ts +262 -0
  200. package/dist/tempo/session/client/CredentialState.d.ts.map +1 -0
  201. package/dist/tempo/session/client/CredentialState.js +417 -0
  202. package/dist/tempo/session/client/CredentialState.js.map +1 -0
  203. package/dist/tempo/session/client/ReceiptCoordinator.d.ts +26 -0
  204. package/dist/tempo/session/client/ReceiptCoordinator.d.ts.map +1 -0
  205. package/dist/tempo/session/client/ReceiptCoordinator.js +61 -0
  206. package/dist/tempo/session/client/ReceiptCoordinator.js.map +1 -0
  207. package/dist/tempo/session/client/Runtime.d.ts +464 -0
  208. package/dist/tempo/session/client/Runtime.d.ts.map +1 -0
  209. package/dist/tempo/session/client/Runtime.js +499 -0
  210. package/dist/tempo/session/client/Runtime.js.map +1 -0
  211. package/dist/tempo/session/client/Session.d.ts +132 -0
  212. package/dist/tempo/session/client/Session.d.ts.map +1 -0
  213. package/dist/tempo/session/client/Session.js +55 -0
  214. package/dist/tempo/session/client/Session.js.map +1 -0
  215. package/dist/tempo/session/client/SessionManager.d.ts +120 -0
  216. package/dist/tempo/session/client/SessionManager.d.ts.map +1 -0
  217. package/dist/tempo/session/client/SessionManager.js +627 -0
  218. package/dist/tempo/session/client/SessionManager.js.map +1 -0
  219. package/dist/tempo/session/client/Transports.d.ts +449 -0
  220. package/dist/tempo/session/client/Transports.d.ts.map +1 -0
  221. package/dist/tempo/session/client/Transports.js +721 -0
  222. package/dist/tempo/session/client/Transports.js.map +1 -0
  223. package/dist/tempo/session/client/index.d.ts +12 -0
  224. package/dist/tempo/session/client/index.d.ts.map +1 -0
  225. package/dist/tempo/session/client/index.js +5 -0
  226. package/dist/tempo/session/client/index.js.map +1 -0
  227. package/dist/tempo/session/index.d.ts +7 -8
  228. package/dist/tempo/session/index.d.ts.map +1 -1
  229. package/dist/tempo/session/index.js +7 -8
  230. package/dist/tempo/session/index.js.map +1 -1
  231. package/dist/tempo/session/precompile/Chain.d.ts +319 -0
  232. package/dist/tempo/session/precompile/Chain.d.ts.map +1 -0
  233. package/dist/tempo/session/precompile/Chain.js +492 -0
  234. package/dist/tempo/session/precompile/Chain.js.map +1 -0
  235. package/dist/tempo/session/precompile/Channel.d.ts +46 -0
  236. package/dist/tempo/session/precompile/Channel.d.ts.map +1 -0
  237. package/dist/tempo/session/precompile/Channel.js +56 -0
  238. package/dist/tempo/session/precompile/Channel.js.map +1 -0
  239. package/dist/tempo/session/precompile/Protocol.d.ts +308 -0
  240. package/dist/tempo/session/precompile/Protocol.d.ts.map +1 -0
  241. package/dist/tempo/session/precompile/Protocol.js +264 -0
  242. package/dist/tempo/session/precompile/Protocol.js.map +1 -0
  243. package/dist/tempo/session/precompile/Voucher.d.ts +40 -0
  244. package/dist/tempo/session/precompile/Voucher.d.ts.map +1 -0
  245. package/dist/tempo/session/precompile/Voucher.js +126 -0
  246. package/dist/tempo/session/precompile/Voucher.js.map +1 -0
  247. package/dist/tempo/session/precompile/escrow.abi.d.ts +522 -0
  248. package/dist/tempo/session/precompile/escrow.abi.d.ts.map +1 -0
  249. package/dist/tempo/session/precompile/escrow.abi.js +224 -0
  250. package/dist/tempo/session/precompile/escrow.abi.js.map +1 -0
  251. package/dist/tempo/session/precompile/index.d.ts +24 -0
  252. package/dist/tempo/session/precompile/index.d.ts.map +1 -0
  253. package/dist/tempo/session/precompile/index.js +22 -0
  254. package/dist/tempo/session/precompile/index.js.map +1 -0
  255. package/dist/tempo/session/server/ChannelOps.d.ts +56 -0
  256. package/dist/tempo/session/server/ChannelOps.d.ts.map +1 -0
  257. package/dist/tempo/session/server/ChannelOps.js +91 -0
  258. package/dist/tempo/session/server/ChannelOps.js.map +1 -0
  259. package/dist/tempo/session/server/ChannelStore.d.ts +347 -0
  260. package/dist/tempo/session/server/ChannelStore.d.ts.map +1 -0
  261. package/dist/tempo/session/server/ChannelStore.js +404 -0
  262. package/dist/tempo/session/server/ChannelStore.js.map +1 -0
  263. package/dist/tempo/session/server/CredentialVerification.d.ts +85 -0
  264. package/dist/tempo/session/server/CredentialVerification.d.ts.map +1 -0
  265. package/dist/tempo/session/server/CredentialVerification.js +494 -0
  266. package/dist/tempo/session/server/CredentialVerification.js.map +1 -0
  267. package/dist/tempo/session/server/MeteredStream.d.ts +40 -0
  268. package/dist/tempo/session/server/MeteredStream.d.ts.map +1 -0
  269. package/dist/tempo/session/server/MeteredStream.js +42 -0
  270. package/dist/tempo/session/server/MeteredStream.js.map +1 -0
  271. package/dist/tempo/session/server/RequestState.d.ts +208 -0
  272. package/dist/tempo/session/server/RequestState.d.ts.map +1 -0
  273. package/dist/tempo/session/server/RequestState.js +252 -0
  274. package/dist/tempo/session/server/RequestState.js.map +1 -0
  275. package/dist/tempo/session/server/Session.d.ts +169 -0
  276. package/dist/tempo/session/server/Session.d.ts.map +1 -0
  277. package/dist/tempo/session/server/Session.js +351 -0
  278. package/dist/tempo/session/server/Session.js.map +1 -0
  279. package/dist/tempo/session/server/Settlement.d.ts +185 -0
  280. package/dist/tempo/session/server/Settlement.d.ts.map +1 -0
  281. package/dist/tempo/session/server/Settlement.js +250 -0
  282. package/dist/tempo/session/server/Settlement.js.map +1 -0
  283. package/dist/tempo/session/{Sse.d.ts → server/Sse.d.ts} +9 -56
  284. package/dist/tempo/session/server/Sse.d.ts.map +1 -0
  285. package/dist/tempo/session/server/Sse.js +184 -0
  286. package/dist/tempo/session/server/Sse.js.map +1 -0
  287. package/dist/tempo/session/server/Transports.d.ts +89 -0
  288. package/dist/tempo/session/server/Transports.d.ts.map +1 -0
  289. package/dist/tempo/session/server/Transports.js +149 -0
  290. package/dist/tempo/session/server/Transports.js.map +1 -0
  291. package/dist/tempo/session/server/Ws.d.ts +48 -0
  292. package/dist/tempo/session/server/Ws.d.ts.map +1 -0
  293. package/dist/tempo/session/server/Ws.js +244 -0
  294. package/dist/tempo/session/server/Ws.js.map +1 -0
  295. package/dist/tempo/session/server/index.d.ts +4 -0
  296. package/dist/tempo/session/server/index.d.ts.map +1 -0
  297. package/dist/tempo/session/server/index.js +2 -0
  298. package/dist/tempo/session/server/index.js.map +1 -0
  299. package/package.json +8 -3
  300. package/src/Challenge.ts +9 -7
  301. package/src/Constants.ts +58 -0
  302. package/src/Credential.ts +5 -4
  303. package/src/Method.ts +46 -5
  304. package/src/Receipt.ts +3 -2
  305. package/src/cli/cli.test.ts +23 -28
  306. package/src/cli/cli.ts +23 -10
  307. package/src/cli/mcp.test.ts +21 -7
  308. package/src/cli/plugins/tempo.ts +21 -8
  309. package/src/cli/utils.test.ts +25 -1
  310. package/src/cli/utils.ts +10 -0
  311. package/src/client/Methods.ts +5 -2
  312. package/src/client/Mppx.test-d.ts +10 -0
  313. package/src/client/Mppx.test.ts +75 -0
  314. package/src/client/Transport.ts +4 -5
  315. package/src/client/index.ts +11 -1
  316. package/src/client/internal/Fetch.test.ts +29 -4
  317. package/src/client/internal/Fetch.ts +17 -5
  318. package/src/env.d.ts +1 -1
  319. package/src/index.ts +1 -0
  320. package/src/internal/AcceptPayment.test.ts +61 -0
  321. package/src/internal/AcceptPayment.ts +21 -14
  322. package/src/mcp-sdk/client/McpClient.integration.test.ts +8 -7
  323. package/src/mcp-sdk/client/McpClient.test-d.ts +7 -0
  324. package/src/mcp-sdk/client/McpClient.ts +99 -67
  325. package/src/mcp-sdk/client/McpClient.unit.test.ts +131 -0
  326. package/src/middlewares/elysia.test.ts +8 -4
  327. package/src/middlewares/express.test.ts +8 -4
  328. package/src/middlewares/hono.test.ts +4 -4
  329. package/src/middlewares/nextjs.test.ts +8 -4
  330. package/src/proxy/Proxy.test.ts +8 -8
  331. package/src/server/Mppx.test-d.ts +54 -0
  332. package/src/server/Mppx.test.ts +274 -7
  333. package/src/server/Mppx.ts +487 -406
  334. package/src/server/Request.test.ts +81 -0
  335. package/src/server/Request.ts +23 -9
  336. package/src/server/Response.ts +2 -1
  337. package/src/server/Transport.ts +4 -3
  338. package/src/server/index.ts +1 -0
  339. package/src/stripe/client/Charge.test.ts +20 -5
  340. package/src/stripe/client/Charge.ts +6 -2
  341. package/src/stripe/server/Charge.test.ts +114 -1
  342. package/src/stripe/server/Charge.ts +13 -2
  343. package/src/stripe/server/internal/html/package.json +1 -1
  344. package/src/stripe/server/internal/html.gen.ts +1 -1
  345. package/src/tempo/AccessKeyAuthorization.test.ts +4 -94
  346. package/src/tempo/Methods.test.ts +45 -17
  347. package/src/tempo/Methods.ts +22 -0
  348. package/src/tempo/PublicExports.test-d.ts +105 -0
  349. package/src/tempo/client/Charge.test.ts +85 -0
  350. package/src/tempo/client/Charge.ts +19 -2
  351. package/src/tempo/client/Methods.ts +18 -6
  352. package/src/tempo/client/index.ts +15 -4
  353. package/src/tempo/index.ts +1 -0
  354. package/src/tempo/internal/fee-payer.test.ts +241 -17
  355. package/src/tempo/internal/fee-payer.ts +150 -4
  356. package/src/tempo/internal/fee-token.test.ts +14 -9
  357. package/src/tempo/legacy/AccessKeyAuthorization.test.ts +162 -0
  358. package/src/tempo/legacy/README.md +9 -0
  359. package/src/tempo/{client → legacy/client}/ChannelOps.test.ts +6 -7
  360. package/src/tempo/{client → legacy/client}/ChannelOps.ts +22 -9
  361. package/src/tempo/{client → legacy/client}/Session.test.ts +51 -9
  362. package/src/tempo/{client → legacy/client}/Session.ts +25 -11
  363. package/src/tempo/{client → legacy/client}/SessionManager.test.ts +81 -9
  364. package/src/tempo/{client → legacy/client}/SessionManager.ts +41 -20
  365. package/src/tempo/legacy/client/index.ts +6 -0
  366. package/src/tempo/legacy/index.ts +6 -0
  367. package/src/tempo/{server → legacy/server}/Session.test.ts +162 -63
  368. package/src/tempo/{server → legacy/server}/Session.ts +49 -37
  369. package/src/tempo/legacy/server/index.ts +4 -0
  370. package/src/tempo/{session → legacy/session}/Chain.test.ts +3 -4
  371. package/src/tempo/{session → legacy/session}/Chain.ts +94 -63
  372. package/src/tempo/{session → legacy/session}/Channel.ts +1 -0
  373. package/src/tempo/legacy/session/ChannelStore.test.ts +58 -0
  374. package/src/tempo/legacy/session/ChannelStore.ts +39 -0
  375. package/src/tempo/legacy/session/Types.ts +91 -0
  376. package/src/tempo/{session → legacy/session}/Voucher.ts +12 -8
  377. package/src/tempo/{session → legacy/session}/escrow.abi.ts +1 -0
  378. package/src/tempo/legacy/session/index.ts +8 -0
  379. package/src/tempo/server/AtomicStore.test-d.ts +16 -11
  380. package/src/tempo/server/Charge.test.ts +92 -14
  381. package/src/tempo/server/Charge.ts +18 -16
  382. package/src/tempo/server/Methods.ts +54 -8
  383. package/src/tempo/server/Sse.test.ts +2 -2
  384. package/src/tempo/server/index.ts +6 -5
  385. package/src/tempo/server/internal/html/package.json +1 -1
  386. package/src/tempo/server/internal/html.gen.ts +1 -1
  387. package/src/tempo/server/internal/request-body.test.ts +37 -4
  388. package/src/tempo/server/internal/request-body.ts +25 -6
  389. package/src/tempo/server/internal/transport.test.ts +4 -4
  390. package/src/tempo/server/internal/transport.ts +19 -10
  391. package/src/tempo/session/Snapshot.test.ts +41 -0
  392. package/src/tempo/session/Snapshot.ts +74 -0
  393. package/src/tempo/session/client/ChannelOps.test.ts +163 -0
  394. package/src/tempo/session/client/ChannelOps.ts +344 -0
  395. package/src/tempo/session/client/CredentialState.test.ts +645 -0
  396. package/src/tempo/session/client/CredentialState.ts +814 -0
  397. package/src/tempo/session/client/ReceiptCoordinator.ts +95 -0
  398. package/src/tempo/session/client/Runtime.test.ts +1092 -0
  399. package/src/tempo/session/client/Runtime.ts +986 -0
  400. package/src/tempo/session/client/Session.test.ts +734 -0
  401. package/src/tempo/session/client/Session.ts +97 -0
  402. package/src/tempo/session/client/SessionManager.test.ts +1308 -0
  403. package/src/tempo/session/client/SessionManager.ts +845 -0
  404. package/src/tempo/session/client/Transports.test.ts +837 -0
  405. package/src/tempo/session/client/Transports.ts +1292 -0
  406. package/src/tempo/session/client/index.ts +37 -0
  407. package/src/tempo/session/index.ts +7 -8
  408. package/src/tempo/session/precompile/Chain.integration.test.ts +321 -0
  409. package/src/tempo/session/precompile/Chain.test.ts +1258 -0
  410. package/src/tempo/session/precompile/Chain.ts +979 -0
  411. package/src/tempo/session/precompile/Channel.test.ts +138 -0
  412. package/src/tempo/session/precompile/Channel.ts +103 -0
  413. package/src/tempo/session/precompile/Protocol.test.ts +358 -0
  414. package/src/tempo/session/precompile/Protocol.ts +520 -0
  415. package/src/tempo/session/precompile/Voucher.test.ts +316 -0
  416. package/src/tempo/session/precompile/Voucher.ts +160 -0
  417. package/src/tempo/session/precompile/escrow.abi.ts +226 -0
  418. package/src/tempo/session/precompile/index.ts +33 -0
  419. package/src/tempo/session/server/ChannelOps.test.ts +129 -0
  420. package/src/tempo/session/server/ChannelOps.ts +157 -0
  421. package/src/tempo/session/{ChannelStore.test.ts → server/ChannelStore.test.ts} +536 -29
  422. package/src/tempo/session/server/ChannelStore.ts +835 -0
  423. package/src/tempo/session/server/CredentialVerification.test.ts +146 -0
  424. package/src/tempo/session/server/CredentialVerification.ts +710 -0
  425. package/src/tempo/session/server/MeteredStream.ts +88 -0
  426. package/src/tempo/session/server/RequestState.test.ts +531 -0
  427. package/src/tempo/session/server/RequestState.ts +499 -0
  428. package/src/tempo/session/server/Session.integration.test.ts +444 -0
  429. package/src/tempo/session/server/Session.test.ts +3253 -0
  430. package/src/tempo/session/server/Session.ts +543 -0
  431. package/src/tempo/session/server/Settlement.test.ts +242 -0
  432. package/src/tempo/session/server/Settlement.ts +470 -0
  433. package/src/tempo/session/{Sse.test.ts → server/Sse.test.ts} +37 -3
  434. package/src/tempo/session/server/Sse.ts +256 -0
  435. package/src/tempo/session/server/Transports.test.ts +346 -0
  436. package/src/tempo/session/server/Transports.ts +255 -0
  437. package/src/tempo/session/{Ws.test.ts → server/Ws.test.ts} +4 -4
  438. package/src/tempo/session/server/Ws.ts +384 -0
  439. package/src/tempo/session/server/index.ts +8 -0
  440. package/dist/tempo/client/ChannelOps.d.ts.map +0 -1
  441. package/dist/tempo/client/ChannelOps.js.map +0 -1
  442. package/dist/tempo/client/Session.d.ts.map +0 -1
  443. package/dist/tempo/client/Session.js.map +0 -1
  444. package/dist/tempo/client/SessionManager.d.ts.map +0 -1
  445. package/dist/tempo/client/SessionManager.js.map +0 -1
  446. package/dist/tempo/server/Session.d.ts.map +0 -1
  447. package/dist/tempo/server/Session.js.map +0 -1
  448. package/dist/tempo/session/Chain.d.ts.map +0 -1
  449. package/dist/tempo/session/Chain.js.map +0 -1
  450. package/dist/tempo/session/Channel.d.ts.map +0 -1
  451. package/dist/tempo/session/Channel.js.map +0 -1
  452. package/dist/tempo/session/ChannelStore.d.ts +0 -117
  453. package/dist/tempo/session/ChannelStore.d.ts.map +0 -1
  454. package/dist/tempo/session/ChannelStore.js +0 -172
  455. package/dist/tempo/session/ChannelStore.js.map +0 -1
  456. package/dist/tempo/session/Receipt.d.ts +0 -22
  457. package/dist/tempo/session/Receipt.d.ts.map +0 -1
  458. package/dist/tempo/session/Receipt.js +0 -34
  459. package/dist/tempo/session/Receipt.js.map +0 -1
  460. package/dist/tempo/session/Sse.d.ts.map +0 -1
  461. package/dist/tempo/session/Sse.js +0 -363
  462. package/dist/tempo/session/Sse.js.map +0 -1
  463. package/dist/tempo/session/Types.d.ts +0 -78
  464. package/dist/tempo/session/Types.d.ts.map +0 -1
  465. package/dist/tempo/session/Types.js.map +0 -1
  466. package/dist/tempo/session/Voucher.d.ts.map +0 -1
  467. package/dist/tempo/session/Voucher.js.map +0 -1
  468. package/dist/tempo/session/Ws.d.ts +0 -87
  469. package/dist/tempo/session/Ws.d.ts.map +0 -1
  470. package/dist/tempo/session/Ws.js +0 -443
  471. package/dist/tempo/session/Ws.js.map +0 -1
  472. package/dist/tempo/session/escrow.abi.js.map +0 -1
  473. package/src/tempo/session/ChannelStore.ts +0 -308
  474. package/src/tempo/session/Receipt.test.ts +0 -89
  475. package/src/tempo/session/Receipt.ts +0 -46
  476. package/src/tempo/session/Sse.ts +0 -462
  477. package/src/tempo/session/Types.ts +0 -86
  478. package/src/tempo/session/Ws.ts +0 -576
  479. /package/dist/tempo/{session → legacy/session}/Channel.js +0 -0
  480. /package/dist/tempo/{session → legacy/session}/Types.js +0 -0
  481. /package/src/tempo/{session → legacy/session}/Channel.test.ts +0 -0
  482. /package/src/tempo/{session → legacy/session}/Voucher.test.ts +0 -0
  483. /package/src/tempo/session/{Sse.fuzz.test.ts → server/Sse.fuzz.test.ts} +0 -0
@@ -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":"AACA,OAAO,EAAgB,UAAU,EAAgC,MAAM,MAAM,CAAA;AAC7E,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGxD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,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;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,KAAK,QAAQ,MAAM,4BAA4B,CAAA;AACtD,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAEL,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAA;AAExB,sEAAsE;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAA6C,CAAC;IAC1E,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACjE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,mBAAmB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3C,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnC,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACzC,oBAAoB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5C,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACnC,CAAC,CAAA;AAKF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,OAAO,CAAC,aAAiC,EAAE;IACzD,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,UAAU,CAAA;IAEnD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;QACnC,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAA;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;IAEvE,MAAM,UAAU,GACd,UAAU,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE/F,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAmB,CAAA;IACpD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAA;IAChD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEhD,SAAS,YAAY,CAAC,KAAmB;QACvC,UAAU,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC;IAED,SAAS,UAAU,CAAC,KAAc,EAAE,QAAiB,EAAE,MAAe;QACpE,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAA;IACnF,CAAC;IAED,SAAS,mBAAmB,CAC1B,SAAmD,EACnD,OAAe,EACf,SAAkB;QAElB,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAC/C,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAA;QAC3B,CAAC;QACD,OAAO,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC,CAAA;IACrE,CAAC;IAED,KAAK,UAAU,oBAAoB,CACjC,SAA8B,EAC9B,OAAqB,EACrB,OAAwB;QAExB,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,aAEhB,CAAA;QACb,MAAM,OAAO,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,CAAA;QAChC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAC3C,MAAM,cAAc,GAAG,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC9D,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,SAAoB,CAAA;QACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,QAAmB,CAAA;QACtD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAgB,CAAC,CAAA;QAEzD,MAAM,mBAAmB,GAAI,SAAS,CAAC,OAAyC;aAC7E,gBAAgB,CAAA;QACnB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAEtF,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;YACpB,IAAI,OAAO,EAAE,UAAU;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YAC1D,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS;gBAAE,OAAO,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YACrF,IAAI,gBAAgB,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS;gBAC5D,OAAO,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAA;YACtE,IAAI,UAAU,KAAK,SAAS;gBAAE,OAAO,UAAU,CAAA;YAC/C,IAAI,gBAAgB,KAAK,SAAS;gBAAE,OAAO,gBAAgB,CAAA;YAC3D,MAAM,IAAI,KAAK,CACb,uHAAuH,CACxH,CAAA;QACH,CAAC,CAAC,EAAE,CAAA;QAEJ,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,IAAI,OAAO,CAAA;QAEzD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA;QACvD,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAE7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,CAAwB,CAAA;YACvF,IAAI,kBAAkB,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,MAAM,iBAAiB,CACvC,MAAM,EACN,cAAc,EACd,kBAAkB,EAClB,OAAO,CACR,CAAA;gBACD,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,iBAAiB,GAAG,OAAO,EAAE,mBAAmB;wBACpD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;wBACrC,CAAC,CAAC,OAAO,EAAE,gBAAgB;4BACzB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC;4BAChD,CAAC,CAAC,SAAS,CAAA;oBACf,IAAI,iBAAiB,KAAK,SAAS;wBAAE,SAAS,CAAC,gBAAgB,GAAG,iBAAiB,CAAA;oBACnF,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;oBAC5B,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;oBAC5C,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;oBAC1D,KAAK,GAAG,SAAS,CAAA;oBACjB,YAAY,CAAC,KAAK,CAAC,CAAA;gBACrB,CAAC;qBAAM,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CACb,WAAW,OAAO,CAAC,SAAS,mDAAmD,CAChF,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,OAAuC,CAAA;QAE3C,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAClB,KAAK,CAAC,gBAAgB,IAAI,MAAM,CAAA;YAChC,OAAO,GAAG,MAAM,oBAAoB,CAClC,MAAM,EACN,OAAO,EACP,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,gBAAgB,EACtB,cAAc,EACd,OAAO,EACP,aAAa,CACd,CAAA;YACD,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE;gBACtD,aAAa;gBACb,cAAc;gBACd,KAAK;gBACL,QAAQ;gBACR,OAAO;gBACP,aAAa,EAAE,MAAM;gBACrB,OAAO;gBACP,QAAQ,EAAE,EAAE,EAAE,QAAQ;aACvB,CAAC,CAAA;YACF,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;YAC/B,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YAC/C,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;YAC7D,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;YACxB,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;QAED,OAAO,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAClE,CAAC;IAED,KAAK,UAAU,gBAAgB,CAC7B,SAA8B,EAC9B,OAAqB,EACrB,OAAuB;QAEvB,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,aAEhB,CAAA;QACb,MAAM,OAAO,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,CAAA;QAChC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAE3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAO,CAAA;QAC9B,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;QACxD,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,IAAI,OAAO,CAAA;QACzD,MAAM,SAAS,GAAG,YAAuB,CAAA;QACzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,mBAAmB;YAClD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACrC,CAAC,CAAC,OAAO,CAAC,gBAAgB;gBACxB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC;gBAChD,CAAC,CAAC,SAAS,CAAA;QACf,MAAM,yBAAyB,GAAG,OAAO,CAAC,oBAAoB;YAC5D,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC;YACtC,CAAC,CAAC,OAAO,CAAC,iBAAiB;gBACzB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC;gBACjD,CAAC,CAAC,SAAS,CAAA;QAEf,MAAM,cAAc,GAAG,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;QACzE,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;QAEhD,IAAI,OAAuC,CAAA;QAE3C,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,CAAC,WAAW;oBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;gBACzE,IAAI,gBAAgB,KAAK,SAAS;oBAChC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;gBAC9D,MAAM,SAAS,GAAG,MAAM,WAAW,CACjC,MAAM,EACN,OAAO,EACP,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAC/B,cAAc,EACd,OAAO,EACP,aAAa,CACd,CAAA;gBACD,OAAO,GAAG;oBACR,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,aAAa;oBACnB,SAAS;oBACT,WAAW,EAAE,WAAsB;oBACnC,gBAAgB,EAAE,uBAAuB,CAAC,aAAa,CAAC;oBACxD,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;oBAC7C,SAAS;iBACV,CAAA;gBACD,MAAK;YACP,CAAC;YAED,KAAK,OAAO;gBACV,IAAI,CAAC,WAAW;oBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;gBAC1E,IAAI,yBAAyB,KAAK,SAAS;oBACzC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;gBAChE,OAAO,GAAG;oBACR,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,aAAa;oBACnB,SAAS;oBACT,WAAW,EAAE,WAAsB;oBACnC,iBAAiB,EAAE,yBAAyB,CAAC,QAAQ,EAAE;iBACxD,CAAA;gBACD,MAAK;YAEP,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,IAAI,gBAAgB,KAAK,SAAS;oBAChC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;gBACjE,OAAO,GAAG,MAAM,oBAAoB,CAClC,MAAM,EACN,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,aAAa,CACd,CAAA;gBACD,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBACzC,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAC/B,IAAI,KAAK,EAAE,CAAC;wBACV,KAAK,CAAC,gBAAgB;4BACpB,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAA;wBACvF,YAAY,CAAC,KAAK,CAAC,CAAA;oBACrB,CAAC;gBACH,CAAC;gBACD,MAAK;YACP,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,gBAAgB,KAAK,SAAS;oBAChC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;gBAC/D,MAAM,SAAS,GAAG,MAAM,WAAW,CACjC,MAAM,EACN,OAAO,EACP,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAC/B,cAAc,EACd,OAAO,EACP,aAAa,CACd,CAAA;gBACD,OAAO,GAAG;oBACR,MAAM,EAAE,OAAO;oBACf,SAAS;oBACT,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;oBAC7C,SAAS;iBACV,CAAA;gBACD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBAC9C,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;oBACpC,IAAI,KAAK,EAAE,CAAC;wBACV,KAAK,CAAC,MAAM,GAAG,KAAK,CAAA;wBACpB,KAAK,CAAC,gBAAgB;4BACpB,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAA;wBACvF,YAAY,CAAC,KAAK,CAAC,CAAA;oBACrB,CAAC;gBACH,CAAC;gBACD,MAAK;YACP,CAAC;QACH,CAAC;QAED,OAAO,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAClE,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE;QACtC,kBAAkB,CAAC,EAAE,SAAS,EAAE;YAC9B,MAAM,qBAAqB,GAAG,SAAS,CAAC,eAAe,CACrD,SAAS,CAAC,OAAO,CAAC,aAAa,EAC/B,SAAS,CAAC,gBAAgB,CAAC,eAAe,CAC3C,CAAA;YACD,OAAO,CACL,qBAAqB,KAAK,SAAS;gBACnC,qBAAqB,KAAK,SAAS,CAAC,gBAAgB,CAAC,EAAE,CACxD,CAAA;QACH,CAAC;QACD,OAAO,EAAE,oBAAoB;QAE7B,KAAK,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE;YAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,IAAI,CAAC,CAAA;YAC7D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;YAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAE3C,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,CAAC;gBACpF,OAAO,oBAAoB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAE1D,IAAI,OAAO,EAAE,MAAM;gBAAE,OAAO,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAEzE,MAAM,IAAI,KAAK,CACb,6LAA6L,CAC9L,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -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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"}
@@ -1,11 +1,12 @@
1
1
  import { parseUnits } from 'viem';
2
- import * as Challenge from '../../Challenge.js';
3
- import * as Fetch from '../../client/internal/Fetch.js';
4
- import * as PaymentCredential from '../../Credential.js';
5
- import * as AcceptPayment from '../../internal/AcceptPayment.js';
6
- import { deserializeSessionReceipt } from '../session/Receipt.js';
7
- import { parseEvent } from '../session/Sse.js';
8
- import * as Ws from '../session/Ws.js';
2
+ import * as Challenge from '../../../Challenge.js';
3
+ import * as Fetch from '../../../client/internal/Fetch.js';
4
+ import * as Constants from '../../../Constants.js';
5
+ import * as PaymentCredential from '../../../Credential.js';
6
+ import * as AcceptPayment from '../../../internal/AcceptPayment.js';
7
+ import { deserializeSessionReceipt } from '../../session/precompile/Protocol.js';
8
+ import { parseEvent } from '../../session/precompile/Protocol.js';
9
+ import * as Ws from '../../session/precompile/Protocol.js';
9
10
  import { session as sessionPlugin } from './Session.js';
10
11
  const WebSocketReadyState = {
11
12
  CONNECTING: 0,
@@ -177,7 +178,7 @@ export function sessionManager(parameters) {
177
178
  throw new Error(`requested voucher amount ${cumulativeAmount} exceeds local maxDeposit ${maxVoucherCumulative}`);
178
179
  }
179
180
  function toPaymentResponse(response) {
180
- const receiptHeader = response.headers.get('Payment-Receipt');
181
+ const receiptHeader = response.headers.get(Constants.Headers.paymentReceipt);
181
182
  const receipt = receiptHeader ? deserializeSessionReceipt(receiptHeader) : null;
182
183
  updateSpentFromReceipt(receipt);
183
184
  return Object.assign(response, {
@@ -332,12 +333,12 @@ export function sessionManager(parameters) {
332
333
  throw new Error('No URL available — call fetch() or sse() before open().');
333
334
  const response = await fetchFn(lastUrl, {
334
335
  method: 'POST',
335
- headers: { Authorization: credential },
336
+ headers: { [Constants.Headers.authorization]: credential },
336
337
  });
337
338
  if (!response.ok) {
338
339
  const body = await response.text().catch(() => '');
339
- const wwwAuth = response.headers.get('WWW-Authenticate') ?? '';
340
- throw new Error(`Open request failed with status ${response.status}${body ? `: ${body}` : ''}${wwwAuth ? ` [WWW-Authenticate: ${wwwAuth}]` : ''}`);
340
+ const wwwAuth = response.headers.get(Constants.Headers.wwwAuthenticate) ?? '';
341
+ throw new Error(`Open request failed with status ${response.status}${body ? `: ${body}` : ''}${wwwAuth ? ` [${Constants.Headers.wwwAuthenticate}: ${wwwAuth}]` : ''}`);
341
342
  }
342
343
  },
343
344
  fetch: doFetch,
@@ -398,7 +399,10 @@ export function sessionManager(parameters) {
398
399
  });
399
400
  const voucherResponse = await fetchFn(input, {
400
401
  method: 'POST',
401
- headers: { Authorization: credential },
402
+ headers: {
403
+ Accept: 'text/event-stream',
404
+ [Constants.Headers.authorization]: credential,
405
+ },
402
406
  });
403
407
  if (!voucherResponse.ok) {
404
408
  throw new Error(`Voucher POST failed with status ${voucherResponse.status}`);
@@ -658,7 +662,7 @@ export function sessionManager(parameters) {
658
662
  }
659
663
  const response = await fetchFn(lastUrl, {
660
664
  method: 'POST',
661
- headers: { Authorization: credential },
665
+ headers: { [Constants.Headers.authorization]: credential },
662
666
  });
663
667
  if (!response.ok) {
664
668
  const body = await response.text().catch(() => '');
@@ -676,10 +680,10 @@ export function sessionManager(parameters) {
676
680
  return body;
677
681
  }
678
682
  })();
679
- const wwwAuth = response.headers.get('WWW-Authenticate') ?? '';
680
- throw new Error(`Close request failed with status ${response.status}${detail ? `: ${detail}` : ''}${wwwAuth ? ` [WWW-Authenticate: ${wwwAuth}]` : ''}`);
683
+ const wwwAuth = response.headers.get(Constants.Headers.wwwAuthenticate) ?? '';
684
+ throw new Error(`Close request failed with status ${response.status}${detail ? `: ${detail}` : ''}${wwwAuth ? ` [${Constants.Headers.wwwAuthenticate}: ${wwwAuth}]` : ''}`);
681
685
  }
682
- const receiptHeader = response.headers.get('Payment-Receipt');
686
+ const receiptHeader = response.headers.get(Constants.Headers.paymentReceipt);
683
687
  const receipt = receiptHeader ? deserializeSessionReceipt(receiptHeader) : undefined;
684
688
  return receipt;
685
689
  },
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../../../src/tempo/legacy/client/SessionManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /** Legacy contract-backed session client method. */
2
+ export { session } from './Session.js';
3
+ /** Legacy contract-backed session manager. */
4
+ export { sessionManager } from './SessionManager.js';
5
+ /** Legacy client session manager types. */
6
+ export type { PaymentResponse, SessionManager } from './SessionManager.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tempo/legacy/client/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,8CAA8C;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,2CAA2C;AAC3C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,5 @@
1
+ /** Legacy contract-backed session client method. */
2
+ export { session } from './Session.js';
3
+ /** Legacy contract-backed session manager. */
4
+ export { sessionManager } from './SessionManager.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tempo/legacy/client/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,8CAA8C;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,7 @@
1
+ /** Legacy contract-backed session client surface. */
2
+ export * as Client from './client/index.js';
3
+ /** Legacy contract-backed session server surface. */
4
+ export * as Server from './server/index.js';
5
+ /** Legacy contract-backed session channel primitives. */
6
+ export * as Session from './session/index.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tempo/legacy/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,qDAAqD;AACrD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,yDAAyD;AACzD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,7 @@
1
+ /** Legacy contract-backed session client surface. */
2
+ export * as Client from './client/index.js';
3
+ /** Legacy contract-backed session server surface. */
4
+ export * as Server from './server/index.js';
5
+ /** Legacy contract-backed session channel primitives. */
6
+ export * as Session from './session/index.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tempo/legacy/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,qDAAqD;AACrD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,yDAAyD;AACzD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA"}
@@ -11,17 +11,17 @@
11
11
  * request, use {@link ../session/Sse} instead.
12
12
  */
13
13
  import { type Address, type Hex, type Account as viem_Account, type Client as viem_Client } from 'viem';
14
- import type { LooseOmit, NoExtraKeys } from '../../internal/types.js';
15
- import * as Method from '../../Method.js';
16
- import * as Store from '../../Store.js';
17
- import * as Client from '../../viem/Client.js';
18
- import type * as z from '../../zod.js';
19
- import * as Account from '../internal/account.js';
20
- import * as FeePayer from '../internal/fee-payer.js';
21
- import type * as types from '../internal/types.js';
22
- import * as Methods from '../Methods.js';
14
+ import type { LooseOmit, NoExtraKeys } from '../../../internal/types.js';
15
+ import * as Method from '../../../Method.js';
16
+ import * as Store from '../../../Store.js';
17
+ import * as Client from '../../../viem/Client.js';
18
+ import type * as z from '../../../zod.js';
19
+ import * as Account from '../../internal/account.js';
20
+ import * as FeePayer from '../../internal/fee-payer.js';
21
+ import type * as types from '../../internal/types.js';
22
+ import * as Methods from '../../Methods.js';
23
+ import * as Transport from '../../server/internal/transport.js';
23
24
  import * as ChannelStore from '../session/ChannelStore.js';
24
- import * as Transport from './internal/transport.js';
25
25
  /**
26
26
  * Creates a session payment server using the Method.toServer() pattern.
27
27
  *
@@ -53,6 +53,7 @@ export declare function session<const parameters extends session.Parameters>(p?:
53
53
  authorizedSigner: z.ZodMiniOptional<z.ZodMiniString<string>>;
54
54
  channelId: z.ZodMiniString<string>;
55
55
  cumulativeAmount: z.ZodMiniString<string>;
56
+ descriptor: z.ZodMiniOptional<z.ZodMiniCustom<import("../../session/precompile/Protocol.js").ChannelDescriptor, import("../../session/precompile/Protocol.js").ChannelDescriptor>>;
56
57
  signature: z.ZodMiniString<string>;
57
58
  transaction: z.ZodMiniString<string>;
58
59
  type: z.ZodMiniLiteral<"transaction">;
@@ -60,17 +61,20 @@ export declare function session<const parameters extends session.Parameters>(p?:
60
61
  action: z.ZodMiniLiteral<"topUp">;
61
62
  additionalDeposit: z.ZodMiniString<string>;
62
63
  channelId: z.ZodMiniString<string>;
64
+ descriptor: z.ZodMiniOptional<z.ZodMiniCustom<import("../../session/precompile/Protocol.js").ChannelDescriptor, import("../../session/precompile/Protocol.js").ChannelDescriptor>>;
63
65
  transaction: z.ZodMiniString<string>;
64
66
  type: z.ZodMiniLiteral<"transaction">;
65
67
  }, z.core.$strip>, z.ZodMiniObject<{
66
68
  action: z.ZodMiniLiteral<"voucher">;
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
  }, z.core.$strip>, z.ZodMiniObject<{
71
74
  action: z.ZodMiniLiteral<"close">;
72
75
  channelId: z.ZodMiniString<string>;
73
76
  cumulativeAmount: z.ZodMiniString<string>;
77
+ descriptor: z.ZodMiniOptional<z.ZodMiniCustom<import("../../session/precompile/Protocol.js").ChannelDescriptor, import("../../session/precompile/Protocol.js").ChannelDescriptor>>;
74
78
  signature: z.ZodMiniString<string>;
75
79
  }, z.core.$strip>], "action">;
76
80
  };
@@ -83,11 +87,20 @@ export declare function session<const parameters extends session.Parameters>(p?:
83
87
  escrowContract: z.ZodMiniOptional<z.ZodMiniString<string>>;
84
88
  feePayer: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniCustom<viem_Account, viem_Account>]>, z.ZodMiniTransform<boolean, boolean | viem_Account>>>;
85
89
  minVoucherDelta: z.ZodMiniOptional<z.ZodMiniString<string>>;
90
+ operator: z.ZodMiniOptional<z.ZodMiniString<string>>;
86
91
  recipient: z.ZodMiniOptional<z.ZodMiniString<string>>;
92
+ sessionProtocol: z.ZodMiniOptional<z.ZodMiniEnum<{
93
+ v1: "v1";
94
+ v2: "v2";
95
+ }>>;
96
+ sessionSnapshot: z.ZodMiniOptional<z.ZodMiniCustom<import("../../session/Snapshot.js").SessionSnapshot, import("../../session/Snapshot.js").SessionSnapshot>>;
87
97
  suggestedDeposit: z.ZodMiniOptional<z.ZodMiniString<string>>;
88
98
  unitType: z.ZodMiniString<string>;
89
99
  }, z.core.$strip>, z.ZodMiniTransform<{
90
100
  methodDetails: {
101
+ sessionSnapshot?: import("../../session/Snapshot.js").SessionSnapshot | undefined;
102
+ sessionProtocol?: "v1" | "v2" | undefined;
103
+ operator?: string | undefined;
91
104
  feePayer?: boolean | undefined;
92
105
  chainId?: number | undefined;
93
106
  minVoucherDelta?: string | undefined;
@@ -109,11 +122,15 @@ export declare function session<const parameters extends session.Parameters>(p?:
109
122
  escrowContract?: string | undefined;
110
123
  feePayer?: boolean | undefined;
111
124
  minVoucherDelta?: string | undefined;
125
+ operator?: string | undefined;
112
126
  recipient?: string | undefined;
127
+ sessionProtocol?: "v1" | "v2" | undefined;
128
+ sessionSnapshot?: import("../../session/Snapshot.js").SessionSnapshot | undefined;
113
129
  suggestedDeposit?: string | undefined;
114
130
  }>>;
115
131
  };
116
- }, session.DeriveDefaults<parameters>, parameters["sse"] extends false | undefined ? undefined : Transport.Sse, {}>;
132
+ }, session.DeriveDefaults<parameters>, parameters["sse"] extends false | undefined ? undefined : Transport.Sse, {}, undefined>;
133
+ /** Type helpers for the legacy contract-backed session server method. */
117
134
  export declare namespace session {
118
135
  type Defaults = LooseOmit<Method.RequestDefaults<typeof Methods.session>, 'feePayer' | 'recipient'>;
119
136
  type FeePayerPolicy = Partial<FeePayer.Policy>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../../../src/tempo/legacy/server/Session.ts"],"names":[],"mappings":"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"}