mppx 0.8.12 → 0.8.14

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 (266) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +16 -1
  3. package/dist/Errors.d.ts +10 -0
  4. package/dist/Errors.d.ts.map +1 -1
  5. package/dist/Errors.js +11 -2
  6. package/dist/Errors.js.map +1 -1
  7. package/dist/Method.d.ts +105 -3
  8. package/dist/Method.d.ts.map +1 -1
  9. package/dist/Method.js +102 -2
  10. package/dist/Method.js.map +1 -1
  11. package/dist/cli/account.d.ts +88 -0
  12. package/dist/cli/account.d.ts.map +1 -1
  13. package/dist/cli/account.js +39 -9
  14. package/dist/cli/account.js.map +1 -1
  15. package/dist/cli/cli.d.ts +2 -1
  16. package/dist/cli/cli.d.ts.map +1 -1
  17. package/dist/cli/cli.js +59 -2
  18. package/dist/cli/cli.js.map +1 -1
  19. package/dist/cli/sessions/Manager.d.ts +31 -0
  20. package/dist/cli/sessions/Manager.d.ts.map +1 -0
  21. package/dist/cli/sessions/Manager.js +56 -0
  22. package/dist/cli/sessions/Manager.js.map +1 -0
  23. package/dist/cli/sessions/commands.d.ts +36 -0
  24. package/dist/cli/sessions/commands.d.ts.map +1 -0
  25. package/dist/cli/sessions/commands.js +407 -0
  26. package/dist/cli/sessions/commands.js.map +1 -0
  27. package/dist/cli/sessions/request.d.ts +35 -0
  28. package/dist/cli/sessions/request.d.ts.map +1 -0
  29. package/dist/cli/sessions/request.js +271 -0
  30. package/dist/cli/sessions/request.js.map +1 -0
  31. package/dist/cli/sessions/store.d.ts +134 -0
  32. package/dist/cli/sessions/store.d.ts.map +1 -0
  33. package/dist/cli/sessions/store.js +723 -0
  34. package/dist/cli/sessions/store.js.map +1 -0
  35. package/dist/cli/utils.d.ts +2 -0
  36. package/dist/cli/utils.d.ts.map +1 -1
  37. package/dist/cli/utils.js +12 -0
  38. package/dist/cli/utils.js.map +1 -1
  39. package/dist/cli/validate/index.d.ts.map +1 -1
  40. package/dist/cli/validate/index.js +12 -6
  41. package/dist/cli/validate/index.js.map +1 -1
  42. package/dist/cli/validate/messages.d.ts +2 -0
  43. package/dist/cli/validate/messages.d.ts.map +1 -0
  44. package/dist/cli/validate/messages.js +8 -0
  45. package/dist/cli/validate/messages.js.map +1 -0
  46. package/dist/client/internal/Fetch.d.ts.map +1 -1
  47. package/dist/client/internal/Fetch.js +12 -2
  48. package/dist/client/internal/Fetch.js.map +1 -1
  49. package/dist/client/internal/MethodChallenge.d.ts +17 -0
  50. package/dist/client/internal/MethodChallenge.d.ts.map +1 -0
  51. package/dist/client/internal/MethodChallenge.js +11 -0
  52. package/dist/client/internal/MethodChallenge.js.map +1 -0
  53. package/dist/client/node.d.ts +29 -0
  54. package/dist/client/node.d.ts.map +1 -0
  55. package/dist/client/node.js +177 -0
  56. package/dist/client/node.js.map +1 -0
  57. package/dist/internal/types.d.ts +24 -0
  58. package/dist/internal/types.d.ts.map +1 -1
  59. package/dist/server/Mppx.d.ts +23 -4
  60. package/dist/server/Mppx.d.ts.map +1 -1
  61. package/dist/server/Mppx.js +91 -82
  62. package/dist/server/Mppx.js.map +1 -1
  63. package/dist/stripe/server/Charge.d.ts +8 -4
  64. package/dist/stripe/server/Charge.d.ts.map +1 -1
  65. package/dist/stripe/server/Charge.js.map +1 -1
  66. package/dist/stripe/server/internal/html.gen.d.ts +1 -1
  67. package/dist/stripe/server/internal/html.gen.d.ts.map +1 -1
  68. package/dist/stripe/server/internal/html.gen.js +1 -1
  69. package/dist/stripe/server/internal/html.gen.js.map +1 -1
  70. package/dist/tempo/client/Methods.d.ts +2 -1
  71. package/dist/tempo/client/Methods.d.ts.map +1 -1
  72. package/dist/tempo/internal/fee-payer.d.ts +1 -0
  73. package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
  74. package/dist/tempo/internal/fee-payer.js +7 -2
  75. package/dist/tempo/internal/fee-payer.js.map +1 -1
  76. package/dist/tempo/internal/types.d.ts +10 -1
  77. package/dist/tempo/internal/types.d.ts.map +1 -1
  78. package/dist/tempo/legacy/client/ChannelOps.d.ts.map +1 -1
  79. package/dist/tempo/legacy/client/ChannelOps.js +2 -1
  80. package/dist/tempo/legacy/client/ChannelOps.js.map +1 -1
  81. package/dist/tempo/legacy/client/Session.d.ts +2 -2
  82. package/dist/tempo/legacy/server/Session.d.ts +3 -3
  83. package/dist/tempo/legacy/server/Session.d.ts.map +1 -1
  84. package/dist/tempo/legacy/server/Session.js.map +1 -1
  85. package/dist/tempo/server/Charge.d.ts +40 -78
  86. package/dist/tempo/server/Charge.d.ts.map +1 -1
  87. package/dist/tempo/server/Charge.js +289 -209
  88. package/dist/tempo/server/Charge.js.map +1 -1
  89. package/dist/tempo/server/Methods.d.ts +13 -23
  90. package/dist/tempo/server/Methods.d.ts.map +1 -1
  91. package/dist/tempo/server/Methods.js +6 -2
  92. package/dist/tempo/server/Methods.js.map +1 -1
  93. package/dist/tempo/server/Relay.d.ts +48 -0
  94. package/dist/tempo/server/Relay.d.ts.map +1 -0
  95. package/dist/tempo/server/Relay.js +177 -0
  96. package/dist/tempo/server/Relay.js.map +1 -0
  97. package/dist/tempo/server/SponsorBudget.d.ts +59 -0
  98. package/dist/tempo/server/SponsorBudget.d.ts.map +1 -0
  99. package/dist/tempo/server/SponsorBudget.js +144 -0
  100. package/dist/tempo/server/SponsorBudget.js.map +1 -0
  101. package/dist/tempo/server/Subscription.d.ts +3 -2
  102. package/dist/tempo/server/Subscription.d.ts.map +1 -1
  103. package/dist/tempo/server/Subscription.js.map +1 -1
  104. package/dist/tempo/server/index.d.ts +1 -1
  105. package/dist/tempo/server/index.d.ts.map +1 -1
  106. package/dist/tempo/server/index.js.map +1 -1
  107. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  108. package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
  109. package/dist/tempo/server/internal/html.gen.js +1 -1
  110. package/dist/tempo/server/internal/html.gen.js.map +1 -1
  111. package/dist/tempo/session/Snapshot.d.ts +9 -0
  112. package/dist/tempo/session/Snapshot.d.ts.map +1 -1
  113. package/dist/tempo/session/Snapshot.js +6 -0
  114. package/dist/tempo/session/Snapshot.js.map +1 -1
  115. package/dist/tempo/session/client/ChannelOps.d.ts +7 -1
  116. package/dist/tempo/session/client/ChannelOps.d.ts.map +1 -1
  117. package/dist/tempo/session/client/ChannelOps.js +17 -3
  118. package/dist/tempo/session/client/ChannelOps.js.map +1 -1
  119. package/dist/tempo/session/client/CredentialState.d.ts +26 -2
  120. package/dist/tempo/session/client/CredentialState.d.ts.map +1 -1
  121. package/dist/tempo/session/client/CredentialState.js +99 -16
  122. package/dist/tempo/session/client/CredentialState.js.map +1 -1
  123. package/dist/tempo/session/client/Runtime.d.ts +8 -0
  124. package/dist/tempo/session/client/Runtime.d.ts.map +1 -1
  125. package/dist/tempo/session/client/Runtime.js +17 -0
  126. package/dist/tempo/session/client/Runtime.js.map +1 -1
  127. package/dist/tempo/session/client/Session.d.ts +16 -6
  128. package/dist/tempo/session/client/Session.d.ts.map +1 -1
  129. package/dist/tempo/session/client/Session.js +93 -36
  130. package/dist/tempo/session/client/Session.js.map +1 -1
  131. package/dist/tempo/session/client/SessionManager.d.ts +10 -3
  132. package/dist/tempo/session/client/SessionManager.d.ts.map +1 -1
  133. package/dist/tempo/session/client/SessionManager.js +176 -50
  134. package/dist/tempo/session/client/SessionManager.js.map +1 -1
  135. package/dist/tempo/session/client/Transports.d.ts +18 -7
  136. package/dist/tempo/session/client/Transports.d.ts.map +1 -1
  137. package/dist/tempo/session/client/Transports.js +81 -33
  138. package/dist/tempo/session/client/Transports.js.map +1 -1
  139. package/dist/tempo/session/client/internal/SessionManager.d.ts +19 -0
  140. package/dist/tempo/session/client/internal/SessionManager.d.ts.map +1 -0
  141. package/dist/tempo/session/client/internal/SessionManager.js +13 -0
  142. package/dist/tempo/session/client/internal/SessionManager.js.map +1 -0
  143. package/dist/tempo/session/precompile/Chain.d.ts.map +1 -1
  144. package/dist/tempo/session/precompile/Chain.js +109 -12
  145. package/dist/tempo/session/precompile/Chain.js.map +1 -1
  146. package/dist/tempo/session/precompile/Channel.d.ts +2 -0
  147. package/dist/tempo/session/precompile/Channel.d.ts.map +1 -1
  148. package/dist/tempo/session/precompile/Channel.js +4 -0
  149. package/dist/tempo/session/precompile/Channel.js.map +1 -1
  150. package/dist/tempo/session/server/CredentialVerification.d.ts +3 -0
  151. package/dist/tempo/session/server/CredentialVerification.d.ts.map +1 -1
  152. package/dist/tempo/session/server/CredentialVerification.js +14 -0
  153. package/dist/tempo/session/server/CredentialVerification.js.map +1 -1
  154. package/dist/tempo/session/server/MeteredStream.d.ts +7 -1
  155. package/dist/tempo/session/server/MeteredStream.d.ts.map +1 -1
  156. package/dist/tempo/session/server/MeteredStream.js +5 -4
  157. package/dist/tempo/session/server/MeteredStream.js.map +1 -1
  158. package/dist/tempo/session/server/RequestState.d.ts +5 -1
  159. package/dist/tempo/session/server/RequestState.d.ts.map +1 -1
  160. package/dist/tempo/session/server/RequestState.js +13 -5
  161. package/dist/tempo/session/server/RequestState.js.map +1 -1
  162. package/dist/tempo/session/server/Session.d.ts +21 -6
  163. package/dist/tempo/session/server/Session.d.ts.map +1 -1
  164. package/dist/tempo/session/server/Session.js +4 -1
  165. package/dist/tempo/session/server/Session.js.map +1 -1
  166. package/dist/tempo/session/server/Settlement.d.ts +20 -0
  167. package/dist/tempo/session/server/Settlement.d.ts.map +1 -1
  168. package/dist/tempo/session/server/Settlement.js +20 -0
  169. package/dist/tempo/session/server/Settlement.js.map +1 -1
  170. package/dist/tempo/session/server/Ws.d.ts +2 -0
  171. package/dist/tempo/session/server/Ws.d.ts.map +1 -1
  172. package/dist/tempo/session/server/Ws.js.map +1 -1
  173. package/dist/tempo/session/server/index.d.ts +1 -1
  174. package/dist/tempo/session/server/index.d.ts.map +1 -1
  175. package/dist/tempo/subscription/KeyAuthorization.d.ts +21 -21
  176. package/dist/validation/core.d.ts.map +1 -1
  177. package/dist/validation/core.js +6 -2
  178. package/dist/validation/core.js.map +1 -1
  179. package/dist/viem/Client.d.ts.map +1 -1
  180. package/dist/viem/Client.js +24 -17
  181. package/dist/viem/Client.js.map +1 -1
  182. package/package.json +6 -1
  183. package/src/Errors.test.ts +23 -0
  184. package/src/Errors.ts +21 -2
  185. package/src/Method.test.ts +102 -1
  186. package/src/Method.ts +241 -5
  187. package/src/cli/account.ts +45 -10
  188. package/src/cli/cli.test.ts +165 -70
  189. package/src/cli/cli.ts +67 -2
  190. package/src/cli/mcp.test.ts +11 -0
  191. package/src/cli/sessions/Manager.test.ts +249 -0
  192. package/src/cli/sessions/Manager.ts +93 -0
  193. package/src/cli/sessions/commands.ts +444 -0
  194. package/src/cli/sessions/request.test.ts +51 -0
  195. package/src/cli/sessions/request.ts +353 -0
  196. package/src/cli/sessions/store.test.ts +581 -0
  197. package/src/cli/sessions/store.ts +940 -0
  198. package/src/cli/utils.test.ts +23 -0
  199. package/src/cli/utils.ts +10 -0
  200. package/src/cli/validate/index.ts +12 -14
  201. package/src/cli/validate/messages.ts +7 -0
  202. package/src/cli/validate.test.ts +38 -5
  203. package/src/client/Mppx.test-d.ts +3 -3
  204. package/src/client/internal/Fetch.ts +16 -7
  205. package/src/client/internal/MethodChallenge.ts +30 -0
  206. package/src/client/node.test.ts +115 -0
  207. package/src/client/node.ts +247 -0
  208. package/src/internal/types.test-d.ts +21 -0
  209. package/src/internal/types.ts +33 -0
  210. package/src/server/Mppx.test-d.ts +44 -0
  211. package/src/server/Mppx.test.ts +205 -0
  212. package/src/server/Mppx.ts +167 -103
  213. package/src/stripe/Methods.test.ts +10 -0
  214. package/src/stripe/server/Charge.test-d.ts +66 -0
  215. package/src/stripe/server/Charge.ts +8 -5
  216. package/src/stripe/server/internal/html.gen.ts +1 -1
  217. package/src/tempo/PublicExports.test-d.ts +20 -0
  218. package/src/tempo/internal/fee-payer.ts +7 -3
  219. package/src/tempo/internal/types.ts +13 -2
  220. package/src/tempo/legacy/client/ChannelOps.test.ts +7 -0
  221. package/src/tempo/legacy/client/ChannelOps.ts +2 -1
  222. package/src/tempo/legacy/server/Defaults.test-d.ts +9 -0
  223. package/src/tempo/legacy/server/Session.ts +6 -5
  224. package/src/tempo/server/Charge.test.ts +337 -63
  225. package/src/tempo/server/Charge.ts +440 -270
  226. package/src/tempo/server/Methods.ts +16 -4
  227. package/src/tempo/server/Relay.test.ts +523 -0
  228. package/src/tempo/server/Relay.ts +288 -0
  229. package/src/tempo/server/SponsorBudget.test.ts +125 -0
  230. package/src/tempo/server/SponsorBudget.ts +213 -0
  231. package/src/tempo/server/Subscription.ts +6 -4
  232. package/src/tempo/server/index.ts +5 -1
  233. package/src/tempo/server/internal/html.gen.ts +1 -1
  234. package/src/tempo/session/README.md +201 -0
  235. package/src/tempo/session/Snapshot.ts +21 -0
  236. package/src/tempo/session/client/ChannelOps.test.ts +55 -0
  237. package/src/tempo/session/client/ChannelOps.ts +21 -3
  238. package/src/tempo/session/client/CredentialState.test.ts +2 -2
  239. package/src/tempo/session/client/CredentialState.ts +159 -16
  240. package/src/tempo/session/client/Runtime.test.ts +12 -0
  241. package/src/tempo/session/client/Runtime.ts +22 -0
  242. package/src/tempo/session/client/Session.test.ts +238 -5
  243. package/src/tempo/session/client/Session.ts +130 -41
  244. package/src/tempo/session/client/SessionManager.test.ts +239 -8
  245. package/src/tempo/session/client/SessionManager.ts +204 -54
  246. package/src/tempo/session/client/Transports.test.ts +181 -8
  247. package/src/tempo/session/client/Transports.ts +127 -45
  248. package/src/tempo/session/client/internal/SessionManager.ts +36 -0
  249. package/src/tempo/session/precompile/Chain.integration.test.ts +19 -1
  250. package/src/tempo/session/precompile/Chain.test.ts +223 -10
  251. package/src/tempo/session/precompile/Chain.ts +119 -12
  252. package/src/tempo/session/precompile/Channel.test.ts +9 -0
  253. package/src/tempo/session/precompile/Channel.ts +5 -0
  254. package/src/tempo/session/server/CredentialVerification.ts +18 -1
  255. package/src/tempo/session/server/MeteredStream.ts +12 -5
  256. package/src/tempo/session/server/RequestState.test.ts +47 -4
  257. package/src/tempo/session/server/RequestState.ts +15 -8
  258. package/src/tempo/session/server/Session.test.ts +461 -0
  259. package/src/tempo/session/server/Session.ts +31 -8
  260. package/src/tempo/session/server/Settlement.ts +45 -0
  261. package/src/tempo/session/server/Ws.test.ts +113 -0
  262. package/src/tempo/session/server/Ws.ts +2 -0
  263. package/src/tempo/session/server/index.ts +2 -0
  264. package/src/validation/core.ts +7 -1
  265. package/src/viem/Client.test.ts +44 -1
  266. package/src/viem/Client.ts +31 -17
@@ -1,22 +1,29 @@
1
1
  import { parseUnits } from 'viem';
2
+ import { tempo as tempo_chain } from 'viem/chains';
2
3
  import * as Challenge from '../../../Challenge.js';
3
4
  import * as Fetch from '../../../client/internal/Fetch.js';
5
+ import * as MethodChallenge from '../../../client/internal/MethodChallenge.js';
4
6
  import * as MethodResponse from '../../../client/internal/MethodResponse.js';
5
7
  import * as Constants from '../../../Constants.js';
8
+ import * as Account from '../../../viem/Account.js';
9
+ import * as Client from '../../../viem/Client.js';
6
10
  import { charge as chargePlugin } from '../../client/Charge.js';
11
+ import * as defaults from '../../internal/defaults.js';
7
12
  import { createChannelStore, entryKey } from '../client/ChannelStore.js';
13
+ import { hydrateSessionSnapshot } from '../client/CredentialState.js';
8
14
  import { session as sessionPlugin } from '../client/Session.js';
15
+ import * as Channel from '../precompile/Channel.js';
9
16
  import { deserializeSessionReceipt } from '../precompile/Protocol.js';
10
- import { readSessionChallengeAmount } from '../precompile/Protocol.js';
11
17
  import { deserializeSnapshot as deserializeSessionSnapshot, serializeSnapshot as serializeSessionSnapshot, } from '../Snapshot.js';
18
+ import { registerSessionManagerInternals } from './internal/SessionManager.js';
12
19
  import { createSessionReceiptCoordinator } from './ReceiptCoordinator.js';
13
20
  import { resolveCloseTarget } from './Runtime.js';
14
21
  import { assertVoucherWithinLocalLimit as assertVoucherWithinLocalAuthorization } from './Runtime.js';
15
- import { applySessionReceiptToRuntime, captureRuntimeSnapshot as captureRuntimeStateSnapshot, computeFallbackCloseAmount, createSessionManagerRuntime, dispatchSessionEvent, restoreCumulativeAuthorization, restoreRuntimeSnapshot as restoreRuntimeStateSnapshot, } from './Runtime.js';
22
+ import { applySessionReceiptToRuntime, captureRuntimeSnapshot as captureRuntimeStateSnapshot, computeFallbackCloseAmount, createSessionManagerRuntime, dispatchSessionEvent, restoreCumulativeAuthorization, restoreRuntimeSnapshot as restoreRuntimeStateSnapshot, resolveAutomaticTopUp, } from './Runtime.js';
16
23
  import { closeSocketSession } from './Runtime.js';
17
- import { closeHttpSession, isTempoSessionChallenge, managementInput, postTopUp, retryHttpPaymentRequired, webSocketProbeUrl, } from './Transports.js';
24
+ import { closeHttpSession, getSessionSnapshot, isTempoSessionChallenge, postTopUp, retryHttpPaymentRequired, webSocketProbeUrl, } from './Transports.js';
18
25
  import { WebSocketReadyState, } from './Transports.js';
19
- import { openSseSession } from './Transports.js';
26
+ import { consumeSseSessionResponse, openSseSession } from './Transports.js';
20
27
  import { applyTopUpResult, resolveManualTopUp } from './Transports.js';
21
28
  import { openWebSocketSession, prepareWebSocketSession, } from './Transports.js';
22
29
  export { computeFallbackCloseAmount } from './Runtime.js';
@@ -35,18 +42,6 @@ function isZeroAmountChargeChallenge(challenge) {
35
42
  return false;
36
43
  }
37
44
  }
38
- /** Builds a reusable channel entry from a server session snapshot header. */
39
- function entryFromSnapshot(snapshot) {
40
- return {
41
- channelId: snapshot.channelId,
42
- cumulativeAmount: BigInt(snapshot.acceptedCumulative),
43
- deposit: BigInt(snapshot.deposit),
44
- descriptor: snapshot.descriptor,
45
- escrow: snapshot.escrow,
46
- chainId: snapshot.chainId,
47
- opened: true,
48
- };
49
- }
50
45
  function requestInitWithSessionHint(input, init, channelId) {
51
46
  if (!channelId)
52
47
  return init;
@@ -73,6 +68,7 @@ function resolveSessionManagerConfig(parameters) {
73
68
  decimals,
74
69
  fetch: parameters.fetch ?? globalThis.fetch.bind(globalThis),
75
70
  maxVoucherCumulative: parameters.maxDeposit !== undefined ? parseUnits(parameters.maxDeposit, decimals) : null,
71
+ topUpAmount: parameters.topUpAmount !== undefined ? parseUnits(parameters.topUpAmount, decimals) : null,
76
72
  WebSocket,
77
73
  };
78
74
  }
@@ -88,6 +84,12 @@ function resolveSessionManagerConfig(parameters) {
88
84
  */
89
85
  export function sessionManager(parameters) {
90
86
  const config = resolveSessionManagerConfig(parameters);
87
+ const getClient = Client.getResolver({
88
+ chain: tempo_chain,
89
+ getClient: parameters.client ? () => parameters.client : parameters.getClient,
90
+ rpcUrl: defaults.rpcUrl,
91
+ });
92
+ const getAccount = Account.getResolver({ account: parameters.account });
91
93
  const runtime = createSessionManagerRuntime();
92
94
  const receipts = createSessionReceiptCoordinator({
93
95
  getSocketSession: () => runtime.socketSession,
@@ -107,7 +109,7 @@ export function sessionManager(parameters) {
107
109
  const entry = await getReusable(key);
108
110
  if (entry && channelUse) {
109
111
  channelUse.seenExisting.add(key);
110
- if (!channelUse.created.has(key))
112
+ if (!channelUse.committed && !channelUse.created.has(key))
111
113
  channelUse.resumed ??= entry;
112
114
  }
113
115
  return entry;
@@ -154,13 +156,29 @@ export function sessionManager(parameters) {
154
156
  function dispatch(event) {
155
157
  return dispatchSessionEvent(runtime, event);
156
158
  }
159
+ function commitDurableTopUp(entry) {
160
+ const use = channelUse;
161
+ const baseline = use?.committed?.channel?.entry ?? use?.resumed;
162
+ if (!use ||
163
+ baseline?.channelId.toLowerCase() !== entry.channelId.toLowerCase() ||
164
+ entry.deposit <= baseline.deposit)
165
+ return;
166
+ use.resumed = undefined;
167
+ use.committed = captureRuntimeStateSnapshot({
168
+ channel: runtime.channel,
169
+ spent: runtime.spent,
170
+ state: runtime.state,
171
+ });
172
+ }
157
173
  const method = sessionPlugin({
158
174
  account: parameters.account,
175
+ autoSwap: parameters.autoSwap,
159
176
  getClient: parameters.client ? () => parameters.client : parameters.getClient,
160
177
  resolveAccount: parameters.resolveAccount,
161
178
  escrow: parameters.escrow,
162
179
  decimals: config.decimals,
163
180
  maxDeposit: parameters.maxDeposit,
181
+ topUpAmount: parameters.topUpAmount,
164
182
  channelStore: store,
165
183
  onChannelUpdate(entry) {
166
184
  if (entry.channelId !== runtime.channel?.channelId)
@@ -175,6 +193,7 @@ export function sessionManager(parameters) {
175
193
  units: 0,
176
194
  });
177
195
  }
196
+ commitDurableTopUp(entry);
178
197
  },
179
198
  });
180
199
  MethodResponse.unregister(method);
@@ -200,16 +219,6 @@ export function sessionManager(parameters) {
200
219
  use.challengesReceived++;
201
220
  runtime.lastChallenge = challenge;
202
221
  dispatch({ type: 'challengeReceived', challengeId: challenge.id });
203
- if (runtime.channel?.opened && runtime.lastUrl) {
204
- const requiredCumulative = runtime.channel.cumulativeAmount + readSessionChallengeAmount(challenge);
205
- await topUpIfNeeded({
206
- challenge,
207
- input: runtime.lastUrl,
208
- channelId: runtime.channel.channelId,
209
- deposit: runtime.channel.deposit,
210
- requiredCumulative,
211
- });
212
- }
213
222
  return undefined;
214
223
  },
215
224
  });
@@ -243,8 +252,22 @@ export function sessionManager(parameters) {
243
252
  const header = response.headers.get(Constants.Headers.paymentSessionSnapshot);
244
253
  if (!header)
245
254
  return undefined;
246
- const entry = entryFromSnapshot(deserializeSessionSnapshot(header));
255
+ const snapshot = deserializeSessionSnapshot(header);
256
+ const client = await getClient({ chainId: snapshot.chainId });
257
+ const defaultAccount = getAccount(client);
258
+ const account = (await parameters.resolveAccount?.({
259
+ account: defaultAccount,
260
+ chainId: snapshot.chainId,
261
+ operation: {
262
+ authority: Channel.resolveAuthorizedSigner(snapshot.descriptor),
263
+ kind: 'authorizePaymentChannel',
264
+ },
265
+ })) ?? defaultAccount;
266
+ const { entry, spent } = await hydrateSessionSnapshot({ account, client, snapshot });
267
+ assertVoucherWithinLocalLimit(entry.cumulativeAmount);
247
268
  await Promise.resolve(store.set(entry)).catch(() => undefined);
269
+ runtime.channel = entry;
270
+ runtime.spent = spent;
248
271
  return entry;
249
272
  }
250
273
  async function bootstrapSession(input, init) {
@@ -306,8 +329,53 @@ export function sessionManager(parameters) {
306
329
  tickCost: currentSocket?.tickCost,
307
330
  });
308
331
  }
309
- function getValidatedFallbackCloseAmount(target) {
310
- const closeAmount = getFallbackCloseAmount(target.challenge, target.channelId);
332
+ function validateCloseSnapshot(channel, challenge) {
333
+ const snapshot = getSessionSnapshot(challenge);
334
+ if (!snapshot)
335
+ return undefined;
336
+ const computedSnapshotId = Channel.computeId({
337
+ ...snapshot.descriptor,
338
+ chainId: snapshot.chainId,
339
+ escrow: snapshot.escrow,
340
+ });
341
+ if (computedSnapshotId.toLowerCase() !== snapshot.channelId.toLowerCase()) {
342
+ throw new Error('close snapshot descriptor does not match its channel ID');
343
+ }
344
+ if (snapshot.channelId.toLowerCase() !== channel.channelId.toLowerCase()) {
345
+ throw new Error('close snapshot channel ID does not match local session');
346
+ }
347
+ if (snapshot.chainId !== channel.chainId ||
348
+ snapshot.escrow.toLowerCase() !== channel.escrow.toLowerCase()) {
349
+ throw new Error('close snapshot payment scope does not match local session');
350
+ }
351
+ const acceptedCumulative = BigInt(snapshot.acceptedCumulative);
352
+ const snapshotSpent = BigInt(snapshot.spent);
353
+ if (acceptedCumulative < 0n || snapshotSpent < 0n) {
354
+ throw new Error('close snapshot amounts must not be negative');
355
+ }
356
+ if (snapshotSpent > acceptedCumulative) {
357
+ throw new Error('close snapshot spent exceeds accepted cumulative amount');
358
+ }
359
+ if (acceptedCumulative > channel.cumulativeAmount) {
360
+ throw new Error('close snapshot accepted cumulative exceeds local voucher state');
361
+ }
362
+ return { acceptedCumulative, spent: snapshotSpent };
363
+ }
364
+ function applyCloseSnapshot(target, challenge) {
365
+ const snapshot = validateCloseSnapshot(target.channel, challenge);
366
+ if (!snapshot)
367
+ return;
368
+ const { acceptedCumulative, spent } = snapshot;
369
+ if (runtime.spent > acceptedCumulative) {
370
+ throw new Error('close snapshot accepted cumulative is below locally confirmed spend');
371
+ }
372
+ if (spent > runtime.spent)
373
+ runtime.spent = spent;
374
+ }
375
+ function getValidatedFallbackCloseAmount(target, challenge = target.challenge, applySnapshot = false) {
376
+ if (applySnapshot)
377
+ applyCloseSnapshot(target, challenge);
378
+ const closeAmount = getFallbackCloseAmount(challenge, target.channelId);
311
379
  if (closeAmount > target.channel.cumulativeAmount) {
312
380
  throw new Error('fallback close amount exceeds local voucher state');
313
381
  }
@@ -321,8 +389,9 @@ export function sessionManager(parameters) {
321
389
  });
322
390
  }
323
391
  async function postTopUpAndApply(parameters) {
392
+ const { knownDeposit, ...topUp } = parameters;
324
393
  const receipt = await postTopUp({
325
- ...parameters,
394
+ ...topUp,
326
395
  channel: runtime.channel,
327
396
  createSessionCredential,
328
397
  fetch: config.fetch,
@@ -334,10 +403,12 @@ export function sessionManager(parameters) {
334
403
  channelId: parameters.channelId,
335
404
  challengeId: runtime.lastChallenge?.id,
336
405
  currentState: runtime.state,
406
+ knownDeposit,
337
407
  receipt,
338
408
  spent: runtime.spent,
339
409
  });
340
410
  if (applied?.channel && runtime.lastChallenge) {
411
+ await store.set(applied.channel);
341
412
  dispatch({
342
413
  type: 'activated',
343
414
  challengeId: runtime.lastChallenge.id,
@@ -345,18 +416,30 @@ export function sessionManager(parameters) {
345
416
  spent: runtime.spent.toString(),
346
417
  units: runtime.state.status === 'active' ? runtime.state.units : 0,
347
418
  });
419
+ commitDurableTopUp(applied.channel);
348
420
  }
349
421
  return receipt;
350
422
  }
351
423
  async function topUpIfNeeded(parameters) {
352
- if (parameters.requiredCumulative <= parameters.deposit)
424
+ const channelDeposit = runtime.channel?.channelId === parameters.channelId ? runtime.channel.deposit : 0n;
425
+ const deposit = channelDeposit > parameters.deposit ? channelDeposit : parameters.deposit;
426
+ const additionalDeposit = resolveAutomaticTopUp({
427
+ deposit,
428
+ maxDeposit: config.maxVoucherCumulative,
429
+ requiredCumulative: parameters.requiredCumulative,
430
+ suggestedDeposit: parameters.challenge.request.suggestedDeposit === undefined
431
+ ? undefined
432
+ : BigInt(parameters.challenge.request.suggestedDeposit),
433
+ topUpAmount: config.topUpAmount,
434
+ });
435
+ if (additionalDeposit === 0n)
353
436
  return;
354
- assertVoucherWithinLocalLimit(parameters.requiredCumulative);
355
437
  await postTopUpAndApply({
356
438
  challenge: parameters.challenge,
357
439
  input: parameters.input,
358
440
  channelId: parameters.channelId,
359
- additionalDeposit: parameters.requiredCumulative - parameters.deposit,
441
+ additionalDeposit,
442
+ knownDeposit: deposit,
360
443
  });
361
444
  }
362
445
  function restoreCumulative(channelId, cumulativeAmount) {
@@ -409,6 +492,7 @@ export function sessionManager(parameters) {
409
492
  });
410
493
  const use = {
411
494
  challengesReceived: 0,
495
+ committed: undefined,
412
496
  created: new Map(),
413
497
  previous,
414
498
  seenExisting: new Set(),
@@ -439,7 +523,7 @@ export function sessionManager(parameters) {
439
523
  response = await wrappedFetch(input, effectiveInit);
440
524
  }
441
525
  catch (error) {
442
- restoreRuntime(previous);
526
+ restoreRuntime(use.committed ?? previous);
443
527
  if (await retryWithoutResumed())
444
528
  continue;
445
529
  throw error;
@@ -466,7 +550,7 @@ export function sessionManager(parameters) {
466
550
  }
467
551
  }
468
552
  if (!attemptedHttpManagement && !paymentResponse.ok && !paymentResponse.receipt) {
469
- restoreRuntime(previous);
553
+ restoreRuntime(use.committed ?? previous);
470
554
  if (await retryWithoutResumed())
471
555
  continue;
472
556
  return paymentResponse;
@@ -483,6 +567,7 @@ export function sessionManager(parameters) {
483
567
  createSessionCredential,
484
568
  fetch: config.fetch,
485
569
  lastUrl: runtime.lastUrl,
570
+ resolveSignedCloseAmount: (challenge) => getValidatedFallbackCloseAmount(target, challenge, true),
486
571
  signedCloseAmount: getValidatedFallbackCloseAmount(target),
487
572
  setChallenge(challenge) {
488
573
  runtime.lastChallenge = challenge;
@@ -496,6 +581,18 @@ export function sessionManager(parameters) {
496
581
  }
497
582
  return receipt;
498
583
  }
584
+ const sseDriver = {
585
+ createSessionCredential,
586
+ doFetch,
587
+ fetch: config.fetch,
588
+ getChannel: () => runtime.channel,
589
+ getChallenge: () => runtime.lastChallenge,
590
+ assertVoucherWithinLocalLimit,
591
+ acceptReceipt(receipt) {
592
+ updateSpentFromReceipt(receipt);
593
+ },
594
+ topUpIfNeeded,
595
+ };
499
596
  const self = {
500
597
  get channelId() {
501
598
  return runtime.channel?.channelId;
@@ -527,19 +624,7 @@ export function sessionManager(parameters) {
527
624
  });
528
625
  },
529
626
  async sse(input, init) {
530
- return openSseSession(input, init, {
531
- createSessionCredential,
532
- doFetch,
533
- fetch: config.fetch,
534
- getChannel: () => runtime.channel,
535
- getChallenge: () => runtime.lastChallenge,
536
- assertVoucherWithinLocalLimit,
537
- managementInput,
538
- acceptReceipt(receipt) {
539
- updateSpentFromReceipt(receipt);
540
- },
541
- topUpIfNeeded,
542
- });
627
+ return openSseSession(input, init, sseDriver);
543
628
  },
544
629
  async ws(input, init) {
545
630
  if (!config.WebSocket) {
@@ -551,7 +636,16 @@ export function sessionManager(parameters) {
551
636
  // Cold starts resume from `channelStore` after the probe's 402.
552
637
  const liveHint = runtime.channel?.opened ? runtime.channel.channelId : undefined;
553
638
  const prepared = await prepareWebSocketSession({
554
- createSessionCredential,
639
+ async createSessionCredential(challenge, context) {
640
+ runtime.lastChallenge = challenge;
641
+ await MethodChallenge.handle(method, {
642
+ challenge,
643
+ context,
644
+ fetch: config.fetch,
645
+ input: probeUrl,
646
+ });
647
+ return createSessionCredential(challenge, context);
648
+ },
555
649
  fetch: config.fetch,
556
650
  input,
557
651
  onProbeUrl(httpUrl) {
@@ -612,6 +706,38 @@ export function sessionManager(parameters) {
612
706
  return closeHttpSessionAndApply(target);
613
707
  },
614
708
  };
709
+ registerSessionManagerInternals(self, {
710
+ consumeSseResponse(input, response, options) {
711
+ return consumeSseSessionResponse(input, response, options, sseDriver);
712
+ },
713
+ rehydrate({ channel, challenge, input, spent }) {
714
+ if (!channel.opened)
715
+ throw new Error('Cannot restore a closed session channel.');
716
+ if (!isTempoSessionChallenge(challenge)) {
717
+ throw new Error('Cannot restore session: challenge is not tempo/session.');
718
+ }
719
+ if (spent < 0n)
720
+ throw new Error('Cannot restore session: spent must not be negative.');
721
+ if (spent > channel.cumulativeAmount) {
722
+ throw new Error('Cannot restore session: spent exceeds local voucher state.');
723
+ }
724
+ assertVoucherWithinLocalLimit(channel.cumulativeAmount);
725
+ const snapshot = validateCloseSnapshot(channel, challenge);
726
+ const restoredSpent = snapshot && snapshot.spent > spent ? snapshot.spent : spent;
727
+ runtime.lastUrl = input;
728
+ runtime.lastChallenge = challenge;
729
+ runtime.channel = channel;
730
+ runtime.spent = restoredSpent;
731
+ dispatch({ type: 'challengeReceived', challengeId: challenge.id });
732
+ dispatch({
733
+ type: 'activated',
734
+ challengeId: challenge.id,
735
+ entry: channel,
736
+ spent: restoredSpent.toString(),
737
+ units: 0,
738
+ });
739
+ },
740
+ });
615
741
  return self;
616
742
  }
617
743
  /** Type helpers for `sessionManager()`. */
@@ -1 +1 @@
1
- {"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../../../src/tempo/session/client/SessionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../../../src/tempo/session/client/SessionManager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Hex } from 'ox';
1
+ import { Hex } from 'ox';
2
2
  import * as Challenge from '../../../Challenge.js';
3
3
  import * as Constants from '../../../Constants.js';
4
4
  import * as z from '../../../zod.js';
@@ -119,6 +119,8 @@ export type ApplyTopUpResultParameters = {
119
119
  challengeId?: string | undefined;
120
120
  /** Current active machine state, used to preserve paid unit count when possible. */
121
121
  currentState: SessionState;
122
+ /** Highest deposit known before the top-up. */
123
+ knownDeposit?: bigint | undefined;
122
124
  /** Receipt returned by the top-up POST, when present. */
123
125
  receipt?: SessionReceipt | undefined;
124
126
  /** Latest locally observed spend in raw units. */
@@ -176,8 +178,8 @@ export declare function resolveManualTopUp(parameters: ResolveManualTopUpParamet
176
178
  /**
177
179
  * Applies local deposit and state bookkeeping for a top-up response.
178
180
  *
179
- * `deposit` is updated from the top-up amount. Receipt cumulative values only
180
- * update accepted spend authorization; they do not replace deposit.
181
+ * Deposit advances from the highest known baseline. Receipt cumulative values
182
+ * only update accepted spend authorization; they do not replace deposit.
181
183
  */
182
184
  export declare function applyTopUpResult(parameters: ApplyTopUpResultParameters): AppliedTopUpResult | undefined;
183
185
  /**
@@ -244,6 +246,8 @@ export type CloseHttpSessionParameters = {
244
246
  fetch: typeof globalThis.fetch;
245
247
  /** Last paid resource URL; used as the management endpoint base. */
246
248
  lastUrl: RequestInfo | URL | null;
249
+ /** Resolves the close amount again when the server refreshes the challenge. */
250
+ resolveSignedCloseAmount?: ((challenge: TempoSessionChallenge) => string) | undefined;
247
251
  /** Final cumulative amount the client is willing to sign. */
248
252
  signedCloseAmount: string;
249
253
  /** Stores a fresh close challenge when the first close credential expired. */
@@ -253,11 +257,13 @@ export type CloseHttpSessionParameters = {
253
257
  };
254
258
  /** Returns true when a payment challenge is the built-in `tempo/session` method. */
255
259
  export declare function isTempoSessionChallenge(challenge: Challenge.Challenge): challenge is TempoSessionChallenge;
260
+ /** Returns true when a challenge selects the TIP-1034 session protocol. */
261
+ export declare function isTip1034SessionChallenge(challenge: Challenge.Challenge): challenge is TempoSessionChallenge;
256
262
  /** Reads a server-provided session snapshot from challenge method details. */
257
263
  export declare function getSessionSnapshot(challenge: TempoSessionChallenge): SessionSnapshot | undefined;
258
264
  /** Merges request headers and sets the payment authorization header for a retry. */
259
265
  export declare function requestInitWithAuthorization(input: RequestInfo | URL, init: RequestInit | undefined, credential: string): RequestInit;
260
- /** Returns the URL used for out-of-band management POSTs, stripping resource query state. */
266
+ /** Returns the exact resource URL used for out-of-band management POSTs, without its fragment. */
261
267
  export declare function managementInput(input: RequestInfo | URL): RequestInfo | URL;
262
268
  /** Converts a WebSocket URL into the HTTP URL used for its payment challenge probe. */
263
269
  export declare function webSocketProbeUrl(input: string | URL): URL;
@@ -281,6 +287,11 @@ export type SseDriverOptions = RequestInit & {
281
287
  /** Abort signal used to cancel the stream. */
282
288
  signal?: AbortSignal | undefined;
283
289
  };
290
+ /** @internal Options used when consuming an already-paid SSE response. */
291
+ export type SseResponseOptions = {
292
+ onReceipt?: ((receipt: SessionReceipt) => void) | undefined;
293
+ signal?: AbortSignal | undefined;
294
+ };
284
295
  /** Dependencies the SSE driver needs from `SessionManager`. */
285
296
  export type OpenSseSessionParameters = {
286
297
  /** Creates a session credential for the selected challenge/context. */
@@ -295,15 +306,13 @@ export type OpenSseSessionParameters = {
295
306
  getChallenge(): TempoSessionChallenge | null;
296
307
  /** Validates a cumulative amount against local client policy. */
297
308
  assertVoucherWithinLocalLimit(cumulativeAmount: bigint): void;
298
- /** Converts a resource URL to the server's session management URL. */
299
- managementInput(input: RequestInfo | URL): RequestInfo | URL;
300
309
  /** Applies an incoming receipt to manager state. */
301
310
  acceptReceipt(receipt: SessionReceipt): void;
302
311
  /** Performs an automatic channel top-up when deposit is insufficient. */
303
312
  topUpIfNeeded(parameters: TopUpRequirement): Promise<void>;
304
313
  };
305
314
  /** Session payment operations shared with fetch-backed streams. */
306
- export type SsePaymentDriver = Pick<OpenSseSessionParameters, 'assertVoucherWithinLocalLimit' | 'createSessionCredential' | 'fetch' | 'getChannel' | 'managementInput' | 'topUpIfNeeded'>;
315
+ export type SsePaymentDriver = Pick<OpenSseSessionParameters, 'assertVoucherWithinLocalLimit' | 'createSessionCredential' | 'fetch' | 'getChannel' | 'topUpIfNeeded'>;
307
316
  /**
308
317
  * Opens an auto-driving paid SSE stream.
309
318
  *
@@ -311,6 +320,8 @@ export type SsePaymentDriver = Pick<OpenSseSessionParameters, 'assertVoucherWith
311
320
  * credential creation, and top-up policy stay in `SessionManager`.
312
321
  */
313
322
  export declare function openSseSession(input: RequestInfo | URL, init: SseDriverOptions | undefined, driver: OpenSseSessionParameters): Promise<AsyncIterable<string>>;
323
+ /** @internal Consumes an already-paid SSE response with the session transport driver. */
324
+ export declare function consumeSseSessionResponse(input: RequestInfo | URL, response: Response, options: SseResponseOptions | undefined, driver: OpenSseSessionParameters): AsyncIterable<string>;
314
325
  /** Application SSE frame emitted after session payment events are handled. */
315
326
  export type SseResponseFrame = {
316
327
  /** Parsed application data, when present. */