@antseed/node 0.2.93 → 0.2.95

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 (106) hide show
  1. package/dist/buyer-request-handler.d.ts +4 -1
  2. package/dist/buyer-request-handler.d.ts.map +1 -1
  3. package/dist/buyer-request-handler.js +83 -4
  4. package/dist/buyer-request-handler.js.map +1 -1
  5. package/dist/discovery/http-metadata-resolver.d.ts +7 -0
  6. package/dist/discovery/http-metadata-resolver.d.ts.map +1 -1
  7. package/dist/discovery/http-metadata-resolver.js +16 -3
  8. package/dist/discovery/http-metadata-resolver.js.map +1 -1
  9. package/dist/discovery/index.d.ts +1 -0
  10. package/dist/discovery/index.d.ts.map +1 -1
  11. package/dist/discovery/index.js +1 -0
  12. package/dist/discovery/index.js.map +1 -1
  13. package/dist/discovery/verification-links.d.ts +16 -0
  14. package/dist/discovery/verification-links.d.ts.map +1 -0
  15. package/dist/discovery/verification-links.js +71 -0
  16. package/dist/discovery/verification-links.js.map +1 -0
  17. package/dist/index.d.ts +8 -2
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +5 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/node.d.ts +25 -2
  22. package/dist/node.d.ts.map +1 -1
  23. package/dist/node.js +247 -21
  24. package/dist/node.js.map +1 -1
  25. package/dist/p2p/payment-codec.d.ts +9 -1
  26. package/dist/p2p/payment-codec.d.ts.map +1 -1
  27. package/dist/p2p/payment-codec.js +67 -0
  28. package/dist/p2p/payment-codec.js.map +1 -1
  29. package/dist/p2p/payment-mux.d.ts +13 -1
  30. package/dist/p2p/payment-mux.d.ts.map +1 -1
  31. package/dist/p2p/payment-mux.js +44 -0
  32. package/dist/p2p/payment-mux.js.map +1 -1
  33. package/dist/payments/buyer-free-usage-manager.d.ts +39 -0
  34. package/dist/payments/buyer-free-usage-manager.d.ts.map +1 -0
  35. package/dist/payments/buyer-free-usage-manager.js +280 -0
  36. package/dist/payments/buyer-free-usage-manager.js.map +1 -0
  37. package/dist/payments/buyer-payment-manager.d.ts +2 -4
  38. package/dist/payments/buyer-payment-manager.d.ts.map +1 -1
  39. package/dist/payments/buyer-payment-manager.js +34 -110
  40. package/dist/payments/buyer-payment-manager.js.map +1 -1
  41. package/dist/payments/buyer-payment-negotiator.d.ts +6 -2
  42. package/dist/payments/buyer-payment-negotiator.d.ts.map +1 -1
  43. package/dist/payments/buyer-payment-negotiator.js +41 -13
  44. package/dist/payments/buyer-payment-negotiator.js.map +1 -1
  45. package/dist/payments/chain-config.d.ts +3 -2
  46. package/dist/payments/chain-config.d.ts.map +1 -1
  47. package/dist/payments/chain-config.js +4 -4
  48. package/dist/payments/chain-config.js.map +1 -1
  49. package/dist/payments/channel-session-state.d.ts +2 -1
  50. package/dist/payments/channel-session-state.d.ts.map +1 -1
  51. package/dist/payments/channel-session-state.js +4 -3
  52. package/dist/payments/channel-session-state.js.map +1 -1
  53. package/dist/payments/channel-store.d.ts +31 -15
  54. package/dist/payments/channel-store.d.ts.map +1 -1
  55. package/dist/payments/channel-store.js +74 -35
  56. package/dist/payments/channel-store.js.map +1 -1
  57. package/dist/payments/channel-usage-accounting.d.ts +18 -0
  58. package/dist/payments/channel-usage-accounting.d.ts.map +1 -0
  59. package/dist/payments/channel-usage-accounting.js +66 -0
  60. package/dist/payments/channel-usage-accounting.js.map +1 -0
  61. package/dist/payments/evm/free-usage-client.d.ts +34 -0
  62. package/dist/payments/evm/free-usage-client.d.ts.map +1 -0
  63. package/dist/payments/evm/free-usage-client.js +61 -0
  64. package/dist/payments/evm/free-usage-client.js.map +1 -0
  65. package/dist/payments/evm/signatures.d.ts +70 -0
  66. package/dist/payments/evm/signatures.d.ts.map +1 -1
  67. package/dist/payments/evm/signatures.js +89 -0
  68. package/dist/payments/evm/signatures.js.map +1 -1
  69. package/dist/payments/index.d.ts +10 -6
  70. package/dist/payments/index.d.ts.map +1 -1
  71. package/dist/payments/index.js +7 -4
  72. package/dist/payments/index.js.map +1 -1
  73. package/dist/payments/seller-free-usage-manager.d.ts +44 -0
  74. package/dist/payments/seller-free-usage-manager.d.ts.map +1 -0
  75. package/dist/payments/seller-free-usage-manager.js +350 -0
  76. package/dist/payments/seller-free-usage-manager.js.map +1 -0
  77. package/dist/payments/seller-payment-manager.d.ts.map +1 -1
  78. package/dist/payments/seller-payment-manager.js +21 -20
  79. package/dist/payments/seller-payment-manager.js.map +1 -1
  80. package/dist/payments/types.d.ts +2 -0
  81. package/dist/payments/types.d.ts.map +1 -1
  82. package/dist/reputation/on-chain-reputation.d.ts +35 -3
  83. package/dist/reputation/on-chain-reputation.d.ts.map +1 -1
  84. package/dist/reputation/on-chain-reputation.js +87 -7
  85. package/dist/reputation/on-chain-reputation.js.map +1 -1
  86. package/dist/seller-request-handler.d.ts +2 -0
  87. package/dist/seller-request-handler.d.ts.map +1 -1
  88. package/dist/seller-request-handler.js +8 -0
  89. package/dist/seller-request-handler.js.map +1 -1
  90. package/dist/storage/migrations/channels/004_add_channel_kind.d.ts +3 -0
  91. package/dist/storage/migrations/channels/004_add_channel_kind.d.ts.map +1 -0
  92. package/dist/storage/migrations/channels/004_add_channel_kind.js +16 -0
  93. package/dist/storage/migrations/channels/004_add_channel_kind.js.map +1 -0
  94. package/dist/storage/migrations/channels/index.d.ts.map +1 -1
  95. package/dist/storage/migrations/channels/index.js +2 -1
  96. package/dist/storage/migrations/channels/index.js.map +1 -1
  97. package/dist/types/peer.d.ts +15 -1
  98. package/dist/types/peer.d.ts.map +1 -1
  99. package/dist/types/peer.js.map +1 -1
  100. package/dist/types/protocol.d.ts +47 -0
  101. package/dist/types/protocol.d.ts.map +1 -1
  102. package/dist/types/protocol.js +4 -0
  103. package/dist/types/protocol.js.map +1 -1
  104. package/dist/verification/samples.js +1 -1
  105. package/dist/verification/samples.js.map +1 -1
  106. package/package.json +1 -1
@@ -0,0 +1,350 @@
1
+ import { AbiCoder, keccak256, verifyTypedData } from 'ethers';
2
+ import { peerIdToAddress } from '../types/peer.js';
3
+ import { debugLog, debugWarn } from '../utils/debug.js';
4
+ import { FreeUsageClient } from './evm/free-usage-client.js';
5
+ import { computeFreeUsageChannelId, FREE_USAGE_AUTH_TYPES, FREE_USAGE_METADATA_VERSION, FREE_USAGE_OPEN_TYPES, makeFreeUsageDomain, } from './evm/signatures.js';
6
+ const FREE_USAGE_METADATA_ABI = [
7
+ 'uint256',
8
+ 'uint256',
9
+ 'uint256',
10
+ 'uint256',
11
+ 'tuple(bytes32 serviceId,uint256 cumulativeAmount,uint256 cumulativeInputTokens,uint256 cumulativeCachedInputTokens,uint256 cumulativeOutputTokens,uint256 cumulativeRequestCount)[]',
12
+ ];
13
+ const DEFAULT_RECORD_BATCH_SIZE = 16;
14
+ const DEFAULT_RECORD_FLUSH_INTERVAL_MS = 10_000;
15
+ function normalizeTokenCount(value) {
16
+ if (!Number.isFinite(value) || value <= 0)
17
+ return 0n;
18
+ return BigInt(Math.trunc(value));
19
+ }
20
+ export class SellerFreeUsageManager {
21
+ _signer;
22
+ _client;
23
+ _domain;
24
+ _sellerEvmAddr;
25
+ _recordBatchSize;
26
+ _recordFlushIntervalMs;
27
+ _sessions = new Map();
28
+ _buyerLocks = new Map();
29
+ constructor(identity, config) {
30
+ this._signer = identity.wallet;
31
+ this._sellerEvmAddr = identity.wallet.address;
32
+ this._domain = makeFreeUsageDomain(config.chainId, config.freeUsageContractAddress);
33
+ this._recordBatchSize = Math.max(1, Math.trunc(config.recordBatchSize ?? DEFAULT_RECORD_BATCH_SIZE));
34
+ this._recordFlushIntervalMs = Math.max(1, Math.trunc(config.recordFlushIntervalMs ?? DEFAULT_RECORD_FLUSH_INTERVAL_MS));
35
+ this._client = new FreeUsageClient({
36
+ rpcUrl: config.rpcUrl,
37
+ ...(config.fallbackRpcUrls ? { fallbackRpcUrls: config.fallbackRpcUrls } : {}),
38
+ contractAddress: config.freeUsageContractAddress,
39
+ evmChainId: config.chainId,
40
+ });
41
+ }
42
+ get client() {
43
+ return this._client;
44
+ }
45
+ handleOpen(buyerPeerId, payload, paymentMux) {
46
+ const lock = (this._buyerLocks.get(buyerPeerId) ?? Promise.resolve()).then(async () => {
47
+ await this._handleOpenInner(buyerPeerId, payload, paymentMux);
48
+ });
49
+ this._buyerLocks.set(buyerPeerId, lock.catch(() => { }));
50
+ void lock.catch((err) => {
51
+ debugWarn(`[SellerFreeUsage] Open failed for ${buyerPeerId.slice(0, 12)}...: ${err instanceof Error ? err.message : err}`);
52
+ });
53
+ }
54
+ handleAuth(buyerPeerId, payload, paymentMux) {
55
+ const lock = (this._buyerLocks.get(buyerPeerId) ?? Promise.resolve()).then(async () => {
56
+ await this._handleAuthInner(buyerPeerId, payload, paymentMux);
57
+ });
58
+ this._buyerLocks.set(buyerPeerId, lock.catch(() => { }));
59
+ void lock.catch((err) => {
60
+ debugWarn(`[SellerFreeUsage] UsageAuth failed for ${buyerPeerId.slice(0, 12)}...: ${err instanceof Error ? err.message : err}`);
61
+ });
62
+ }
63
+ onPeerDisconnect(buyerPeerId) {
64
+ const session = this._sessions.get(buyerPeerId);
65
+ if (session) {
66
+ this._clearFlushTimer(session);
67
+ session.closeRequested = true;
68
+ if (session.pendingRecord || session.flushPromise) {
69
+ void this._flushPendingRecord(buyerPeerId, session).finally(() => {
70
+ if (this._sessions.get(buyerPeerId) === session) {
71
+ this._sessions.delete(buyerPeerId);
72
+ }
73
+ });
74
+ }
75
+ else {
76
+ this._sessions.delete(buyerPeerId);
77
+ }
78
+ }
79
+ else {
80
+ this._sessions.delete(buyerPeerId);
81
+ }
82
+ this._buyerLocks.delete(buyerPeerId);
83
+ }
84
+ async flushAllPendingRecords() {
85
+ await Promise.all([...this._sessions.entries()].map(([buyerPeerId, session]) => {
86
+ this._clearFlushTimer(session);
87
+ return this._flushPendingRecord(buyerPeerId, session);
88
+ }));
89
+ }
90
+ reportUsageRequest(buyerPeerId, paymentMux, usage) {
91
+ const session = this._sessions.get(buyerPeerId);
92
+ if (!session) {
93
+ debugWarn(`[SellerFreeUsage] Cannot request usage auth for ${buyerPeerId.slice(0, 12)}...: no free usage channel`);
94
+ return;
95
+ }
96
+ const nextSequence = (session.requestedSequence > session.acceptedSequence
97
+ ? session.requestedSequence
98
+ : session.acceptedSequence) + 1n;
99
+ const payload = {
100
+ channelId: session.channelId,
101
+ requiredSequence: nextSequence.toString(),
102
+ currentAcceptedSequence: session.acceptedSequence.toString(),
103
+ ...(usage.requestId ? { requestId: usage.requestId } : {}),
104
+ inputTokens: normalizeTokenCount(usage.inputTokens).toString(),
105
+ outputTokens: normalizeTokenCount(usage.outputTokens).toString(),
106
+ ...(usage.service ? { service: usage.service } : {}),
107
+ };
108
+ try {
109
+ paymentMux.sendNeedFreeUsageAuth(payload);
110
+ const inputTokens = normalizeTokenCount(usage.inputTokens);
111
+ const outputTokens = normalizeTokenCount(usage.outputTokens);
112
+ session.requestedSequence = nextSequence;
113
+ session.requestedInputTokens += inputTokens;
114
+ session.requestedOutputTokens += outputTokens;
115
+ session.requestedRequestCount += 1n;
116
+ session.expectedUsageBySequence.set(nextSequence.toString(), {
117
+ cumulativeInputTokens: session.requestedInputTokens,
118
+ cumulativeOutputTokens: session.requestedOutputTokens,
119
+ cumulativeRequestCount: session.requestedRequestCount,
120
+ });
121
+ debugLog(`[SellerFreeUsage] NeedFreeUsageAuth sent to ${buyerPeerId.slice(0, 12)}... ` +
122
+ `channel=${session.channelId.slice(0, 18)}... sequence=${nextSequence}`);
123
+ }
124
+ catch (err) {
125
+ debugWarn(`[SellerFreeUsage] NeedFreeUsageAuth send failed: ${err instanceof Error ? err.message : err}`);
126
+ }
127
+ }
128
+ async _handleOpenInner(buyerPeerId, payload, paymentMux) {
129
+ const buyerEvmAddr = peerIdToAddress(buyerPeerId);
130
+ const expectedChannelId = computeFreeUsageChannelId(buyerEvmAddr, this._sellerEvmAddr, payload.salt);
131
+ if (expectedChannelId.toLowerCase() !== payload.channelId.toLowerCase()) {
132
+ throw new Error(`channelId mismatch expected=${expectedChannelId} got=${payload.channelId}`);
133
+ }
134
+ if (payload.deadline <= Math.floor(Date.now() / 1000)) {
135
+ throw new Error('free usage open expired');
136
+ }
137
+ const recovered = verifyTypedData(this._domain, FREE_USAGE_OPEN_TYPES, { channelId: payload.channelId, deadline: BigInt(payload.deadline) }, payload.openSig);
138
+ if (recovered.toLowerCase() !== buyerEvmAddr.toLowerCase()) {
139
+ throw new Error(`invalid FreeUsageOpen signer recovered=${recovered} expected=${buyerEvmAddr}`);
140
+ }
141
+ const openPromise = this._openOnChain(buyerEvmAddr, payload);
142
+ const session = {
143
+ channelId: payload.channelId,
144
+ buyerEvmAddr,
145
+ salt: payload.salt,
146
+ deadline: payload.deadline,
147
+ acceptedSequence: 0n,
148
+ requestedSequence: 0n,
149
+ requestedInputTokens: 0n,
150
+ requestedOutputTokens: 0n,
151
+ requestedRequestCount: 0n,
152
+ expectedUsageBySequence: new Map(),
153
+ openPromise,
154
+ pendingRecord: null,
155
+ recordsSinceFlush: 0,
156
+ flushTimer: null,
157
+ flushPromise: null,
158
+ closeRequested: false,
159
+ };
160
+ this._sessions.set(buyerPeerId, session);
161
+ try {
162
+ await openPromise;
163
+ }
164
+ catch (err) {
165
+ if (this._sessions.get(buyerPeerId) === session) {
166
+ this._sessions.delete(buyerPeerId);
167
+ }
168
+ throw err;
169
+ }
170
+ paymentMux.sendFreeUsageAck({ channelId: payload.channelId, acceptedSequence: '0' });
171
+ debugLog(`[SellerFreeUsage] Open reported on-chain channel=${payload.channelId.slice(0, 18)}...`);
172
+ }
173
+ async _openOnChain(buyerEvmAddr, payload) {
174
+ try {
175
+ await this._client.open(this._signer, buyerEvmAddr, payload.salt, BigInt(payload.deadline), payload.openSig);
176
+ }
177
+ catch (err) {
178
+ const existing = await this._tryGetExistingSession(payload.channelId);
179
+ if (existing
180
+ && existing.status === 1
181
+ && existing.buyer.toLowerCase() === buyerEvmAddr.toLowerCase()
182
+ && existing.seller.toLowerCase() === this._sellerEvmAddr.toLowerCase()) {
183
+ return;
184
+ }
185
+ throw err;
186
+ }
187
+ }
188
+ async _handleAuthInner(buyerPeerId, payload, paymentMux) {
189
+ const session = this._sessions.get(buyerPeerId);
190
+ if (!session || session.channelId.toLowerCase() !== payload.channelId.toLowerCase()) {
191
+ throw new Error(`unknown free usage channel ${payload.channelId}`);
192
+ }
193
+ const sequence = BigInt(payload.sequence);
194
+ if (sequence <= session.acceptedSequence) {
195
+ paymentMux.sendFreeUsageAck({
196
+ channelId: payload.channelId,
197
+ acceptedSequence: session.acceptedSequence.toString(),
198
+ });
199
+ return;
200
+ }
201
+ const metadataHash = keccak256(payload.metadata);
202
+ if (metadataHash.toLowerCase() !== payload.metadataHash.toLowerCase()) {
203
+ throw new Error('metadataHash mismatch');
204
+ }
205
+ const sequenceKey = sequence.toString();
206
+ const expectedUsage = session.expectedUsageBySequence.get(sequenceKey);
207
+ if (!expectedUsage) {
208
+ throw new Error(`unexpected free usage sequence ${sequence}`);
209
+ }
210
+ // The seller enforces aggregate counters it measured; per-service tuples
211
+ // remain buyer-attributed audit metadata.
212
+ const signedUsage = this._decodeFreeUsageMetadata(payload.metadata);
213
+ const payloadInputTokens = BigInt(payload.cumulativeInputTokens);
214
+ const payloadOutputTokens = BigInt(payload.cumulativeOutputTokens);
215
+ if (payloadInputTokens !== signedUsage.cumulativeInputTokens
216
+ || payloadOutputTokens !== signedUsage.cumulativeOutputTokens
217
+ || signedUsage.cumulativeInputTokens !== expectedUsage.cumulativeInputTokens
218
+ || signedUsage.cumulativeOutputTokens !== expectedUsage.cumulativeOutputTokens
219
+ || signedUsage.cumulativeRequestCount !== expectedUsage.cumulativeRequestCount) {
220
+ throw new Error(`free usage totals mismatch sequence=${sequence} ` +
221
+ `expected(in=${expectedUsage.cumulativeInputTokens},out=${expectedUsage.cumulativeOutputTokens},requests=${expectedUsage.cumulativeRequestCount}) ` +
222
+ `got(in=${signedUsage.cumulativeInputTokens},out=${signedUsage.cumulativeOutputTokens},requests=${signedUsage.cumulativeRequestCount})`);
223
+ }
224
+ const recovered = verifyTypedData(this._domain, FREE_USAGE_AUTH_TYPES, {
225
+ channelId: payload.channelId,
226
+ sequence,
227
+ metadataHash: payload.metadataHash,
228
+ deadline: BigInt(payload.deadline),
229
+ }, payload.usageSig);
230
+ if (recovered.toLowerCase() !== session.buyerEvmAddr.toLowerCase()) {
231
+ throw new Error(`invalid FreeUsageAuth signer recovered=${recovered} expected=${session.buyerEvmAddr}`);
232
+ }
233
+ session.pendingRecord = {
234
+ sequence,
235
+ metadata: payload.metadata,
236
+ deadline: BigInt(payload.deadline),
237
+ usageSig: payload.usageSig,
238
+ };
239
+ session.recordsSinceFlush += 1;
240
+ session.acceptedSequence = sequence;
241
+ for (const key of session.expectedUsageBySequence.keys()) {
242
+ if (BigInt(key) <= sequence)
243
+ session.expectedUsageBySequence.delete(key);
244
+ }
245
+ paymentMux.sendFreeUsageAck({
246
+ channelId: payload.channelId,
247
+ acceptedSequence: sequence.toString(),
248
+ });
249
+ this._scheduleRecordFlush(buyerPeerId, session);
250
+ debugLog(`[SellerFreeUsage] Usage auth accepted channel=${payload.channelId.slice(0, 18)}... ` +
251
+ `sequence=${sequence}`);
252
+ }
253
+ _scheduleRecordFlush(buyerPeerId, session, opts = {}) {
254
+ if (!session.pendingRecord || session.flushPromise)
255
+ return;
256
+ if (!opts.retry && session.recordsSinceFlush >= this._recordBatchSize) {
257
+ this._clearFlushTimer(session);
258
+ void this._flushPendingRecord(buyerPeerId, session);
259
+ return;
260
+ }
261
+ if (session.flushTimer)
262
+ return;
263
+ session.flushTimer = setTimeout(() => {
264
+ session.flushTimer = null;
265
+ void this._flushPendingRecord(buyerPeerId, session);
266
+ }, this._recordFlushIntervalMs);
267
+ session.flushTimer.unref?.();
268
+ }
269
+ _clearFlushTimer(session) {
270
+ if (!session.flushTimer)
271
+ return;
272
+ clearTimeout(session.flushTimer);
273
+ session.flushTimer = null;
274
+ }
275
+ _flushPendingRecord(buyerPeerId, session) {
276
+ if (!session.pendingRecord)
277
+ return Promise.resolve();
278
+ if (session.flushPromise)
279
+ return session.flushPromise;
280
+ let promise;
281
+ promise = (async () => {
282
+ const flushed = await this._doFlushPendingRecord(buyerPeerId, session);
283
+ if (session.flushPromise === promise) {
284
+ session.flushPromise = null;
285
+ }
286
+ if (session.pendingRecord && !session.closeRequested) {
287
+ this._scheduleRecordFlush(buyerPeerId, session, flushed ? {} : { retry: true });
288
+ }
289
+ })();
290
+ session.flushPromise = promise;
291
+ return promise;
292
+ }
293
+ async _doFlushPendingRecord(buyerPeerId, session) {
294
+ const record = session.pendingRecord;
295
+ if (!record)
296
+ return true;
297
+ this._clearFlushTimer(session);
298
+ try {
299
+ await session.openPromise;
300
+ const closeRequested = session.closeRequested;
301
+ if (closeRequested) {
302
+ await this._client.close(this._signer, session.channelId, record.sequence, record.metadata, record.deadline, record.usageSig);
303
+ }
304
+ else {
305
+ await this._client.record(this._signer, session.channelId, record.sequence, record.metadata, record.deadline, record.usageSig);
306
+ }
307
+ if (!closeRequested && session.closeRequested) {
308
+ await this._client.close(this._signer, session.channelId, record.sequence, record.metadata, record.deadline, record.usageSig);
309
+ }
310
+ const pending = session.pendingRecord;
311
+ if (!pending || pending.sequence <= record.sequence) {
312
+ session.pendingRecord = null;
313
+ session.recordsSinceFlush = 0;
314
+ }
315
+ else {
316
+ const delta = pending.sequence - record.sequence;
317
+ session.recordsSinceFlush = Number(delta > BigInt(Number.MAX_SAFE_INTEGER) ? BigInt(Number.MAX_SAFE_INTEGER) : delta);
318
+ }
319
+ debugLog(`[SellerFreeUsage] Usage ${session.closeRequested ? 'closed' : 'reported'} on-chain channel=${session.channelId.slice(0, 18)}... ` +
320
+ `sequence=${record.sequence}`);
321
+ return true;
322
+ }
323
+ catch (err) {
324
+ debugWarn(`[SellerFreeUsage] Deferred record failed for ${buyerPeerId.slice(0, 12)}... ` +
325
+ `channel=${session.channelId.slice(0, 18)}... sequence=${record.sequence}: ` +
326
+ `${err instanceof Error ? err.message : err}`);
327
+ return false;
328
+ }
329
+ }
330
+ async _tryGetExistingSession(channelId) {
331
+ try {
332
+ return await this._client.getSession(channelId);
333
+ }
334
+ catch {
335
+ return null;
336
+ }
337
+ }
338
+ _decodeFreeUsageMetadata(metadata) {
339
+ const [version, inputTokens, outputTokens, requestCount] = AbiCoder.defaultAbiCoder().decode(FREE_USAGE_METADATA_ABI, metadata);
340
+ if (BigInt(version) !== FREE_USAGE_METADATA_VERSION) {
341
+ throw new Error(`unsupported free usage metadata version ${version}`);
342
+ }
343
+ return {
344
+ cumulativeInputTokens: BigInt(inputTokens),
345
+ cumulativeOutputTokens: BigInt(outputTokens),
346
+ cumulativeRequestCount: BigInt(requestCount),
347
+ };
348
+ }
349
+ }
350
+ //# sourceMappingURL=seller-free-usage-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seller-free-usage-manager.js","sourceRoot":"","sources":["../../src/payments/seller-free-usage-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"seller-payment-manager.d.ts","sourceRoot":"","sources":["../../src/payments/seller-payment-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seller-payment-manager.d.ts","sourceRoot":"","sources":["../../src/payments/seller-payment-manager.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { ChannelsClient } from './evm/channels-client.js';
3
3
  import { SPENDING_AUTH_TYPES, RESERVE_AUTH_TYPES, makeChannelsDomain, encodeMetadata, ZERO_METADATA, } from './evm/signatures.js';
4
4
  import { debugLog, debugWarn } from '../utils/debug.js';
5
5
  import { peerIdToAddress } from '../types/peer.js';
6
+ import { CHANNEL_ROLE, CHANNEL_STATUS } from './channel-store.js';
6
7
  import { classifyOnChainChannel, matchesChannelParties } from './channel-session-state.js';
7
8
  /** Default minimum budget per request: $0.50 USDC (base units). */
8
9
  const DEFAULT_MIN_BUDGET_PER_REQUEST = '500000';
@@ -101,7 +102,7 @@ export class SellerPaymentManager {
101
102
  ? BigInt(config.minSettleDelta)
102
103
  : DEFAULT_MIN_SETTLE_DELTA;
103
104
  // Hydrate from persisted channels
104
- const activeChannels = this._channelStore.getActiveChannels('seller');
105
+ const activeChannels = this._channelStore.getActiveChannels(CHANNEL_ROLE.SELLER);
105
106
  for (const channel of activeChannels) {
106
107
  this._activeBuyers.add(channel.peerId);
107
108
  this._hydratedChannelIds.add(channel.sessionId);
@@ -129,7 +130,7 @@ export class SellerPaymentManager {
129
130
  * Must be called after construction (async, cannot run in constructor).
130
131
  */
131
132
  async validateHydratedChannels() {
132
- const activeChannels = this._channelStore.getActiveChannels('seller');
133
+ const activeChannels = this._channelStore.getActiveChannels(CHANNEL_ROLE.SELLER);
133
134
  if (activeChannels.length === 0)
134
135
  return;
135
136
  const { seller: sellerEvmAddr } = await this._resolvedAddresses;
@@ -174,7 +175,7 @@ export class SellerPaymentManager {
174
175
  debugLog(`[SellerPayment] Startup validation: evicted ${evicted}/${activeChannels.length} stale channel(s)`);
175
176
  }
176
177
  }
177
- _evictStaleChannel(channelId, peerId, reason, status = 'settled') {
178
+ _evictStaleChannel(channelId, peerId, reason, status = CHANNEL_STATUS.SETTLED) {
178
179
  this._channelStore.updateChannelStatus(channelId, status);
179
180
  this._acceptedCumulative.delete(channelId);
180
181
  this._spent.delete(channelId);
@@ -361,7 +362,7 @@ export class SellerPaymentManager {
361
362
  const session = {
362
363
  sessionId: channelId,
363
364
  peerId: buyerPeerId,
364
- role: 'seller',
365
+ role: CHANNEL_ROLE.SELLER,
365
366
  sellerEvmAddr,
366
367
  buyerEvmAddr,
367
368
  nonce: 0,
@@ -374,7 +375,7 @@ export class SellerPaymentManager {
374
375
  reservedAt: now,
375
376
  settledAt: null,
376
377
  settledAmount: null,
377
- status: 'active',
378
+ status: CHANNEL_STATUS.ACTIVE,
378
379
  latestBuyerSig: payload.spendingAuthSig,
379
380
  latestSpendingAuthSig: payload.spendingAuthSig,
380
381
  latestMetadata: payload.metadata,
@@ -697,7 +698,7 @@ export class SellerPaymentManager {
697
698
  const session = {
698
699
  sessionId: channelId,
699
700
  peerId: buyerPeerId,
700
- role: 'seller',
701
+ role: CHANNEL_ROLE.SELLER,
701
702
  sellerEvmAddr,
702
703
  buyerEvmAddr,
703
704
  nonce: 0,
@@ -710,7 +711,7 @@ export class SellerPaymentManager {
710
711
  reservedAt: now,
711
712
  settledAt: null,
712
713
  settledAmount: onChain.settled > 0n ? onChain.settled.toString() : null,
713
- status: 'active',
714
+ status: CHANNEL_STATUS.ACTIVE,
714
715
  latestBuyerSig: payload.spendingAuthSig,
715
716
  latestSpendingAuthSig: payload.spendingAuthSig,
716
717
  latestMetadata: payload.metadata,
@@ -743,7 +744,7 @@ export class SellerPaymentManager {
743
744
  */
744
745
  async validateAndAcceptAuth(buyerPeerId, auth) {
745
746
  // Look up active session for this buyer
746
- const session = this._channelStore.getActiveChannelByPeer(buyerPeerId, 'seller');
747
+ const session = this._channelStore.getActiveChannelByPeer(buyerPeerId, CHANNEL_ROLE.SELLER);
747
748
  if (!session) {
748
749
  debugWarn(`[SellerPayment] validateAndAcceptAuth: no active session for buyer ${buyerPeerId.slice(0, 12)}...`);
749
750
  return false;
@@ -853,7 +854,7 @@ export class SellerPaymentManager {
853
854
  * for future requests. No cleanup is performed so the session can resume.
854
855
  */
855
856
  async settleSession(buyerPeerId, { cleanupOnFailure = false, settleOnly = false } = {}) {
856
- const session = this._channelStore.getActiveChannelByPeer(buyerPeerId, 'seller');
857
+ const session = this._channelStore.getActiveChannelByPeer(buyerPeerId, CHANNEL_ROLE.SELLER);
857
858
  if (!session) {
858
859
  debugWarn(`[SellerPayment] settleSession: no active session for buyer ${buyerPeerId.slice(0, 12)}...`);
859
860
  return;
@@ -884,7 +885,7 @@ export class SellerPaymentManager {
884
885
  this._closingChannels.add(channelId);
885
886
  try {
886
887
  await this._channelsClient.close(this._signer, channelId, amount, metadata, sig);
887
- this._channelStore.updateChannelStatus(channelId, 'settled', amount.toString());
888
+ this._channelStore.updateChannelStatus(channelId, CHANNEL_STATUS.SETTLED, amount.toString());
888
889
  this._closeRetryCount.delete(channelId);
889
890
  }
890
891
  catch (err) {
@@ -914,7 +915,7 @@ export class SellerPaymentManager {
914
915
  }
915
916
  // ── Disconnect handling ───────────────────────────────────────
916
917
  onBuyerDisconnect(buyerPeerId) {
917
- const session = this._channelStore.getActiveChannelByPeer(buyerPeerId, 'seller');
918
+ const session = this._channelStore.getActiveChannelByPeer(buyerPeerId, CHANNEL_ROLE.SELLER);
918
919
  if (!session)
919
920
  return;
920
921
  const settleOnDisconnect = this._config.settleOnDisconnect ?? true;
@@ -946,7 +947,7 @@ export class SellerPaymentManager {
946
947
  */
947
948
  async checkTimeouts() {
948
949
  const nowSecs = Math.floor(Date.now() / 1000);
949
- const activeChannels = this._channelStore.getActiveChannels('seller');
950
+ const activeChannels = this._channelStore.getActiveChannels(CHANNEL_ROLE.SELLER);
950
951
  for (const channel of activeChannels) {
951
952
  let accepted = this._acceptedCumulative.get(channel.sessionId) ?? 0n;
952
953
  if (accepted === 0n) {
@@ -977,7 +978,7 @@ export class SellerPaymentManager {
977
978
  if (onChainState.status !== 'active') {
978
979
  // 'unknown' means the RPC returned partial data. Evict locally
979
980
  // rather than risking a close() against an ambiguous channel.
980
- this._evictStaleChannel(channel.sessionId, channel.peerId, 'no auths, past deadline, on-chain status unknown', 'timeout');
981
+ this._evictStaleChannel(channel.sessionId, channel.peerId, 'no auths, past deadline, on-chain status unknown', CHANNEL_STATUS.TIMEOUT);
981
982
  continue;
982
983
  }
983
984
  await this._closeWithoutAuth(channel.sessionId, channel.peerId, onChainState.channel.settled);
@@ -1002,7 +1003,7 @@ export class SellerPaymentManager {
1002
1003
  const retries = this._closeRetryCount.get(channelId) ?? 0;
1003
1004
  if (retries >= SellerPaymentManager.MAX_CLOSE_RETRIES) {
1004
1005
  debugWarn(`[SellerPayment] Zombie close failed ${retries} times for ${channelId.slice(0, 18)}... — falling back to local eviction`);
1005
- this._evictStaleChannel(channelId, peerId, 'no auths, past deadline, close retries exhausted', 'timeout');
1006
+ this._evictStaleChannel(channelId, peerId, 'no auths, past deadline, close retries exhausted', CHANNEL_STATUS.TIMEOUT);
1006
1007
  return;
1007
1008
  }
1008
1009
  this._closingChannels.add(channelId);
@@ -1010,7 +1011,7 @@ export class SellerPaymentManager {
1010
1011
  try {
1011
1012
  await this._channelsClient.close(this._signer, channelId, onChainSettled, '0x', '0x');
1012
1013
  this._closeRetryCount.delete(channelId);
1013
- this._evictStaleChannel(channelId, peerId, 'zombie closed on-chain', 'settled');
1014
+ this._evictStaleChannel(channelId, peerId, 'zombie closed on-chain', CHANNEL_STATUS.SETTLED);
1014
1015
  }
1015
1016
  catch (err) {
1016
1017
  this._closeRetryCount.set(channelId, retries + 1);
@@ -1026,7 +1027,7 @@ export class SellerPaymentManager {
1026
1027
  }
1027
1028
  /** Get the active session for a buyer peer, or null. */
1028
1029
  getChannelByPeer(buyerPeerId) {
1029
- return this._channelStore.getActiveChannelByPeer(buyerPeerId, 'seller');
1030
+ return this._channelStore.getActiveChannelByPeer(buyerPeerId, CHANNEL_ROLE.SELLER);
1030
1031
  }
1031
1032
  /** Get total USDC spent for a session (sum of recordSpend calls). */
1032
1033
  getCumulativeSpend(sessionId) {
@@ -1061,7 +1062,7 @@ export class SellerPaymentManager {
1061
1062
  let suggestedAmount = SellerPaymentManager.DEFAULT_SUGGESTED_AMOUNT;
1062
1063
  if (buyerPeerId) {
1063
1064
  const priorSession = this._channelStore.getLatestChannel(buyerPeerId, 'seller');
1064
- if (priorSession && priorSession.status === 'settled') {
1065
+ if (priorSession && priorSession.status === CHANNEL_STATUS.SETTLED) {
1065
1066
  // Returning buyer with proven history — could use a different amount
1066
1067
  // For now, use the same default; config can override later
1067
1068
  suggestedAmount = SellerPaymentManager.DEFAULT_SUGGESTED_AMOUNT;
@@ -1089,7 +1090,7 @@ export class SellerPaymentManager {
1089
1090
  debugLog(`[SellerPayment] CloseRequested for channel ${channelId.slice(0, 18)}... — closing with cumulative=${amount}`);
1090
1091
  try {
1091
1092
  await this._channelsClient.close(this._signer, channelId, amount, metadata, sig);
1092
- this._channelStore.updateChannelStatus(channelId, 'settled', amount.toString());
1093
+ this._channelStore.updateChannelStatus(channelId, CHANNEL_STATUS.SETTLED, amount.toString());
1093
1094
  debugLog(`[SellerPayment] Channel ${channelId.slice(0, 18)}... closed successfully after CloseRequested`);
1094
1095
  }
1095
1096
  catch (err) {
@@ -1101,7 +1102,7 @@ export class SellerPaymentManager {
1101
1102
  // No voucher — seller can't claim anything. Clean up locally;
1102
1103
  // buyer will withdraw after grace period.
1103
1104
  debugLog(`[SellerPayment] CloseRequested for channel ${channelId.slice(0, 18)}... — no SpendingAuth, cleaning up locally`);
1104
- this._channelStore.updateChannelStatus(channelId, 'timeout');
1105
+ this._channelStore.updateChannelStatus(channelId, CHANNEL_STATUS.TIMEOUT);
1105
1106
  }
1106
1107
  // Clean up in-memory state
1107
1108
  this._acceptedCumulative.delete(channelId);
@@ -1133,7 +1134,7 @@ export class SellerPaymentManager {
1133
1134
  const events = await this._channelsClient.getCloseRequestedEvents(fromBlock, latestBlock);
1134
1135
  for (const event of events) {
1135
1136
  // Only handle channels this seller is actively tracking
1136
- if (this._acceptedCumulative.has(event.channelId) || this._channelStore.getChannel(event.channelId)?.status === 'active') {
1137
+ if (this._acceptedCumulative.has(event.channelId) || this._channelStore.getChannel(event.channelId)?.status === CHANNEL_STATUS.ACTIVE) {
1137
1138
  await this.handleCloseRequested(event.channelId);
1138
1139
  }
1139
1140
  }