@antseed/node 0.2.106 → 0.2.108

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 (216) hide show
  1. package/dist/billing/index.d.ts +2 -0
  2. package/dist/billing/index.d.ts.map +1 -0
  3. package/dist/billing/index.js +2 -0
  4. package/dist/billing/index.js.map +1 -0
  5. package/dist/billing/unit.d.ts +3 -0
  6. package/dist/billing/unit.d.ts.map +1 -0
  7. package/dist/billing/unit.js +3 -0
  8. package/dist/billing/unit.js.map +1 -0
  9. package/dist/buyer-request-handler.d.ts +1 -54
  10. package/dist/buyer-request-handler.d.ts.map +1 -1
  11. package/dist/buyer-request-handler.js +2 -379
  12. package/dist/buyer-request-handler.js.map +1 -1
  13. package/dist/discovery/announcer.d.ts +7 -1
  14. package/dist/discovery/announcer.d.ts.map +1 -1
  15. package/dist/discovery/announcer.js +84 -33
  16. package/dist/discovery/announcer.js.map +1 -1
  17. package/dist/discovery/http-metadata-resolver.d.ts +4 -0
  18. package/dist/discovery/http-metadata-resolver.d.ts.map +1 -1
  19. package/dist/discovery/http-metadata-resolver.js +42 -2
  20. package/dist/discovery/http-metadata-resolver.js.map +1 -1
  21. package/dist/discovery/index.d.ts +1 -1
  22. package/dist/discovery/index.d.ts.map +1 -1
  23. package/dist/discovery/index.js +1 -1
  24. package/dist/discovery/index.js.map +1 -1
  25. package/dist/discovery/metadata-codec.d.ts +4 -4
  26. package/dist/discovery/metadata-codec.d.ts.map +1 -1
  27. package/dist/discovery/metadata-codec.js +339 -23
  28. package/dist/discovery/metadata-codec.js.map +1 -1
  29. package/dist/discovery/metadata-validator.d.ts +7 -3
  30. package/dist/discovery/metadata-validator.d.ts.map +1 -1
  31. package/dist/discovery/metadata-validator.js +139 -8
  32. package/dist/discovery/metadata-validator.js.map +1 -1
  33. package/dist/discovery/peer-lookup.d.ts +1 -0
  34. package/dist/discovery/peer-lookup.d.ts.map +1 -1
  35. package/dist/discovery/peer-lookup.js +23 -5
  36. package/dist/discovery/peer-lookup.js.map +1 -1
  37. package/dist/discovery/peer-metadata.d.ts +2 -90
  38. package/dist/discovery/peer-metadata.d.ts.map +1 -1
  39. package/dist/discovery/peer-metadata.js +3 -11
  40. package/dist/discovery/peer-metadata.js.map +1 -1
  41. package/dist/discovery/seller-address-resolver.d.ts +1 -49
  42. package/dist/discovery/seller-address-resolver.d.ts.map +1 -1
  43. package/dist/discovery/seller-address-resolver.js +2 -114
  44. package/dist/discovery/seller-address-resolver.js.map +1 -1
  45. package/dist/errors.d.ts +2 -0
  46. package/dist/errors.d.ts.map +1 -0
  47. package/dist/errors.js +2 -0
  48. package/dist/errors.js.map +1 -0
  49. package/dist/health/model-health-checker.d.ts +6 -5
  50. package/dist/health/model-health-checker.d.ts.map +1 -1
  51. package/dist/health/model-health-checker.js +22 -10
  52. package/dist/health/model-health-checker.js.map +1 -1
  53. package/dist/index.d.ts +4 -1
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +5 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/interfaces/seller-provider.d.ts +6 -0
  58. package/dist/interfaces/seller-provider.d.ts.map +1 -1
  59. package/dist/node.d.ts.map +1 -1
  60. package/dist/node.js +34 -5
  61. package/dist/node.js.map +1 -1
  62. package/dist/p2p/connection-auth.d.ts +3 -8
  63. package/dist/p2p/connection-auth.d.ts.map +1 -1
  64. package/dist/p2p/connection-auth.js +4 -6
  65. package/dist/p2p/connection-auth.js.map +1 -1
  66. package/dist/p2p/connection-manager.d.ts +3 -1
  67. package/dist/p2p/connection-manager.d.ts.map +1 -1
  68. package/dist/p2p/connection-manager.js.map +1 -1
  69. package/dist/p2p/identity.d.ts +1 -21
  70. package/dist/p2p/identity.d.ts.map +1 -1
  71. package/dist/p2p/identity.js +3 -62
  72. package/dist/p2p/identity.js.map +1 -1
  73. package/dist/p2p/message-protocol.d.ts +1 -49
  74. package/dist/p2p/message-protocol.d.ts.map +1 -1
  75. package/dist/p2p/message-protocol.js +2 -125
  76. package/dist/p2p/message-protocol.js.map +1 -1
  77. package/dist/p2p/payment-codec.d.ts +1 -21
  78. package/dist/p2p/payment-codec.d.ts.map +1 -1
  79. package/dist/p2p/payment-codec.js +2 -220
  80. package/dist/p2p/payment-codec.js.map +1 -1
  81. package/dist/p2p/payment-mux.d.ts +1 -51
  82. package/dist/p2p/payment-mux.d.ts.map +1 -1
  83. package/dist/p2p/payment-mux.js +2 -159
  84. package/dist/p2p/payment-mux.js.map +1 -1
  85. package/dist/payments/buyer-free-usage-manager.d.ts +1 -43
  86. package/dist/payments/buyer-free-usage-manager.d.ts.map +1 -1
  87. package/dist/payments/buyer-free-usage-manager.js +2 -298
  88. package/dist/payments/buyer-free-usage-manager.js.map +1 -1
  89. package/dist/payments/buyer-payment-manager.d.ts +1 -277
  90. package/dist/payments/buyer-payment-manager.d.ts.map +1 -1
  91. package/dist/payments/buyer-payment-manager.js +2 -1039
  92. package/dist/payments/buyer-payment-manager.js.map +1 -1
  93. package/dist/payments/buyer-payment-negotiator.d.ts +1 -130
  94. package/dist/payments/buyer-payment-negotiator.d.ts.map +1 -1
  95. package/dist/payments/buyer-payment-negotiator.js +2 -950
  96. package/dist/payments/buyer-payment-negotiator.js.map +1 -1
  97. package/dist/payments/chain-config.d.ts.map +1 -1
  98. package/dist/payments/chain-config.js +13 -2
  99. package/dist/payments/chain-config.js.map +1 -1
  100. package/dist/payments/channel-session-state.d.ts +1 -13
  101. package/dist/payments/channel-session-state.d.ts.map +1 -1
  102. package/dist/payments/channel-session-state.js +2 -25
  103. package/dist/payments/channel-session-state.js.map +1 -1
  104. package/dist/payments/channel-store.d.ts +2 -51
  105. package/dist/payments/channel-store.d.ts.map +1 -1
  106. package/dist/payments/channel-store.js +3 -14
  107. package/dist/payments/channel-store.js.map +1 -1
  108. package/dist/payments/channel-usage-accounting.d.ts +1 -17
  109. package/dist/payments/channel-usage-accounting.d.ts.map +1 -1
  110. package/dist/payments/channel-usage-accounting.js +2 -65
  111. package/dist/payments/channel-usage-accounting.js.map +1 -1
  112. package/dist/payments/evm/base-evm-client.d.ts +1 -26
  113. package/dist/payments/evm/base-evm-client.d.ts.map +1 -1
  114. package/dist/payments/evm/base-evm-client.js +2 -115
  115. package/dist/payments/evm/base-evm-client.js.map +1 -1
  116. package/dist/payments/evm/channels-client.d.ts +1 -85
  117. package/dist/payments/evm/channels-client.d.ts.map +1 -1
  118. package/dist/payments/evm/channels-client.js +2 -193
  119. package/dist/payments/evm/channels-client.js.map +1 -1
  120. package/dist/payments/evm/deposits-client.d.ts +1 -29
  121. package/dist/payments/evm/deposits-client.d.ts.map +1 -1
  122. package/dist/payments/evm/deposits-client.js +2 -67
  123. package/dist/payments/evm/deposits-client.js.map +1 -1
  124. package/dist/payments/evm/signatures.d.ts +1 -203
  125. package/dist/payments/evm/signatures.d.ts.map +1 -1
  126. package/dist/payments/evm/signatures.js +2 -236
  127. package/dist/payments/evm/signatures.js.map +1 -1
  128. package/dist/payments/evm/subpool-client.d.ts +32 -0
  129. package/dist/payments/evm/subpool-client.d.ts.map +1 -0
  130. package/dist/payments/evm/subpool-client.js +158 -0
  131. package/dist/payments/evm/subpool-client.js.map +1 -0
  132. package/dist/payments/index.d.ts +1 -1
  133. package/dist/payments/index.d.ts.map +1 -1
  134. package/dist/payments/index.js +1 -1
  135. package/dist/payments/index.js.map +1 -1
  136. package/dist/payments/pricing.d.ts +1 -26
  137. package/dist/payments/pricing.d.ts.map +1 -1
  138. package/dist/payments/pricing.js +2 -36
  139. package/dist/payments/pricing.js.map +1 -1
  140. package/dist/payments/usdc-utils.d.ts +1 -8
  141. package/dist/payments/usdc-utils.d.ts.map +1 -1
  142. package/dist/payments/usdc-utils.js +2 -16
  143. package/dist/payments/usdc-utils.js.map +1 -1
  144. package/dist/proxy/proxy-mux.d.ts +1 -69
  145. package/dist/proxy/proxy-mux.d.ts.map +1 -1
  146. package/dist/proxy/proxy-mux.js +2 -346
  147. package/dist/proxy/proxy-mux.js.map +1 -1
  148. package/dist/proxy/request-codec.d.ts +1 -41
  149. package/dist/proxy/request-codec.d.ts.map +1 -1
  150. package/dist/proxy/request-codec.js +2 -280
  151. package/dist/proxy/request-codec.js.map +1 -1
  152. package/dist/seller-request-handler.d.ts +10 -3
  153. package/dist/seller-request-handler.d.ts.map +1 -1
  154. package/dist/seller-request-handler.js +112 -17
  155. package/dist/seller-request-handler.js.map +1 -1
  156. package/dist/types/billing.d.ts +2 -0
  157. package/dist/types/billing.d.ts.map +1 -0
  158. package/dist/types/billing.js +2 -0
  159. package/dist/types/billing.js.map +1 -0
  160. package/dist/types/capability.d.ts +1 -25
  161. package/dist/types/capability.d.ts.map +1 -1
  162. package/dist/types/capability.js +2 -1
  163. package/dist/types/capability.js.map +1 -1
  164. package/dist/types/connection.d.ts +1 -26
  165. package/dist/types/connection.d.ts.map +1 -1
  166. package/dist/types/connection.js +2 -10
  167. package/dist/types/connection.js.map +1 -1
  168. package/dist/types/http.d.ts +1 -39
  169. package/dist/types/http.d.ts.map +1 -1
  170. package/dist/types/http.js +2 -16
  171. package/dist/types/http.js.map +1 -1
  172. package/dist/types/index.d.ts +1 -0
  173. package/dist/types/index.d.ts.map +1 -1
  174. package/dist/types/index.js +1 -0
  175. package/dist/types/index.js.map +1 -1
  176. package/dist/types/peer.d.ts +9 -31
  177. package/dist/types/peer.d.ts.map +1 -1
  178. package/dist/types/peer.js +2 -14
  179. package/dist/types/peer.js.map +1 -1
  180. package/dist/types/protocol.d.ts +1 -306
  181. package/dist/types/protocol.d.ts.map +1 -1
  182. package/dist/types/protocol.js +2 -81
  183. package/dist/types/protocol.js.map +1 -1
  184. package/dist/types/service-api.d.ts +1 -5
  185. package/dist/types/service-api.d.ts.map +1 -1
  186. package/dist/types/service-api.js +2 -12
  187. package/dist/types/service-api.js.map +1 -1
  188. package/dist/utils/debug.d.ts +1 -5
  189. package/dist/utils/debug.d.ts.map +1 -1
  190. package/dist/utils/debug.js +2 -52
  191. package/dist/utils/debug.js.map +1 -1
  192. package/dist/utils/hex.d.ts +1 -2
  193. package/dist/utils/hex.d.ts.map +1 -1
  194. package/dist/utils/hex.js +2 -14
  195. package/dist/utils/hex.js.map +1 -1
  196. package/dist/utils/json-codec.d.ts +1 -9
  197. package/dist/utils/json-codec.d.ts.map +1 -1
  198. package/dist/utils/json-codec.js +2 -51
  199. package/dist/utils/json-codec.js.map +1 -1
  200. package/dist/utils/response-usage.d.ts +1 -9
  201. package/dist/utils/response-usage.d.ts.map +1 -1
  202. package/dist/utils/response-usage.js +2 -39
  203. package/dist/utils/response-usage.js.map +1 -1
  204. package/dist/verification/codec.d.ts +1 -3
  205. package/dist/verification/codec.d.ts.map +1 -1
  206. package/dist/verification/codec.js +2 -37
  207. package/dist/verification/codec.js.map +1 -1
  208. package/dist/verification/response-auth.d.ts +1 -30
  209. package/dist/verification/response-auth.d.ts.map +1 -1
  210. package/dist/verification/response-auth.js +2 -110
  211. package/dist/verification/response-auth.js.map +1 -1
  212. package/dist/verification/verification-mux.d.ts +1 -19
  213. package/dist/verification/verification-mux.d.ts.map +1 -1
  214. package/dist/verification/verification-mux.js +2 -99
  215. package/dist/verification/verification-mux.js.map +1 -1
  216. package/package.json +4 -2
@@ -1,299 +1,3 @@
1
- import { randomBytes } from 'node:crypto';
2
- import { peerIdToAddress } from '../types/peer.js';
3
- import { debugLog, debugWarn } from '../utils/debug.js';
4
- import { computeFreeUsageChannelId, computeFreeUsageMetadataHash, encodeFreeUsageMetadata, makeFreeUsageDomain, signFreeUsageAuth, signFreeUsageOpen, } from './evm/signatures.js';
5
- import { CHANNEL_KIND, CHANNEL_ROLE, CHANNEL_STATUS } from './channel-store.js';
6
- import { advanceUsageMetadata, RequestServiceTracker } from './channel-usage-accounting.js';
7
- const DEFAULT_OPEN_ACK_TIMEOUT_MS = 30_000;
8
- export class BuyerFreeUsageManager {
9
- _identity;
10
- _config;
11
- _sellerAddressResolver;
12
- _channelStore;
13
- _domain;
14
- _sessions = new Map();
15
- _sellerLocks = new Map();
16
- _openAckWaiters = new Map();
17
- _requestService = new RequestServiceTracker();
18
- constructor(identity, config, sellerAddressResolver, channelStore) {
19
- this._identity = identity;
20
- this._config = config;
21
- this._sellerAddressResolver = sellerAddressResolver;
22
- this._channelStore = channelStore;
23
- this._domain = makeFreeUsageDomain(config.chainId, config.freeUsageContractAddress);
24
- this._hydrateFromStore();
25
- }
26
- get _disableMetadataV2Services() {
27
- return this._config.disableMetadataV2Services === true;
28
- }
29
- _sanitizeMetadata(metadata) {
30
- if (!this._disableMetadataV2Services)
31
- return metadata;
32
- return {
33
- cumulativeInputTokens: metadata.cumulativeInputTokens,
34
- cumulativeOutputTokens: metadata.cumulativeOutputTokens,
35
- cumulativeRequestCount: metadata.cumulativeRequestCount,
36
- services: [],
37
- };
38
- }
39
- _advanceUsageMetadata(previous, service, delta) {
40
- return advanceUsageMetadata(this._sanitizeMetadata(previous), this._disableMetadataV2Services ? undefined : service, delta);
41
- }
42
- _hydrateFromStore() {
43
- if (!this._channelStore)
44
- return;
45
- const activeChannels = this._channelStore.getActiveChannelsByBuyer(CHANNEL_ROLE.BUYER, this._identity.wallet.address, CHANNEL_KIND.FREE);
46
- for (const channel of activeChannels) {
47
- if (this._sessions.has(channel.peerId))
48
- continue;
49
- const metadata = this._sanitizeMetadata(this._channelStore.getChannelMetadata(channel));
50
- if (!this._disableMetadataV2Services) {
51
- this._channelStore.replaceMetadataServiceTotals(channel.sessionId, metadata.services);
52
- }
53
- this._sessions.set(channel.peerId, {
54
- channelId: channel.sessionId,
55
- // Salt is only needed to create a fresh open signature; hydrated
56
- // sessions are already opened and only sign usage auths.
57
- salt: '0x' + '00'.repeat(32),
58
- deadline: channel.deadline,
59
- sellerEvmAddr: channel.sellerEvmAddr,
60
- cumulativeInputTokens: metadata.cumulativeInputTokens,
61
- cumulativeOutputTokens: metadata.cumulativeOutputTokens,
62
- cumulativeRequestCount: metadata.cumulativeRequestCount,
63
- latestSequence: BigInt(channel.requestCount),
64
- services: metadata.services,
65
- openedAck: true,
66
- latestMetadata: metadata,
67
- openSig: channel.latestBuyerSig,
68
- });
69
- }
70
- }
71
- trackRequestService(requestId, service) {
72
- this._requestService.track(requestId, service);
73
- }
74
- async prepareOpen(peer, paymentMux) {
75
- const existing = this._sessions.get(peer.peerId);
76
- const nowSec = Math.floor(Date.now() / 1000);
77
- if (existing && existing.deadline > nowSec + 30)
78
- return;
79
- const sellerEvmAddr = await this._resolveSellerAddr(peer);
80
- const salt = '0x' + randomBytes(32).toString('hex');
81
- const channelId = computeFreeUsageChannelId(this._identity.wallet.address, sellerEvmAddr, salt);
82
- const deadline = nowSec + this._config.defaultAuthDurationSecs;
83
- const openSig = await signFreeUsageOpen(this._identity.wallet, this._domain, {
84
- channelId,
85
- deadline: BigInt(deadline),
86
- });
87
- const metadata = {
88
- cumulativeInputTokens: 0n,
89
- cumulativeOutputTokens: 0n,
90
- cumulativeRequestCount: 0n,
91
- services: [],
92
- };
93
- const session = {
94
- channelId,
95
- salt,
96
- deadline,
97
- sellerEvmAddr,
98
- cumulativeInputTokens: 0n,
99
- cumulativeOutputTokens: 0n,
100
- cumulativeRequestCount: 0n,
101
- latestSequence: 0n,
102
- services: [],
103
- openedAck: false,
104
- latestMetadata: metadata,
105
- openSig,
106
- };
107
- this._sessions.set(peer.peerId, session);
108
- try {
109
- paymentMux.sendFreeUsageOpen({ channelId, salt, deadline, openSig });
110
- }
111
- catch (err) {
112
- if (existing) {
113
- this._sessions.set(peer.peerId, existing);
114
- }
115
- else {
116
- this._sessions.delete(peer.peerId);
117
- }
118
- throw err;
119
- }
120
- debugLog(`[BuyerFreeUsage] Open sent to ${peer.peerId.slice(0, 12)}... channel=${channelId.slice(0, 18)}...`);
121
- }
122
- async waitForOpenAck(sellerPeerId, timeoutMs = this._config.openAckTimeoutMs ?? DEFAULT_OPEN_ACK_TIMEOUT_MS) {
123
- const session = this._sessions.get(sellerPeerId);
124
- if (!session) {
125
- throw new Error(`free usage channel for ${sellerPeerId.slice(0, 12)}... was not prepared`);
126
- }
127
- if (session.openedAck)
128
- return;
129
- await new Promise((resolve, reject) => {
130
- const waiter = {
131
- session,
132
- resolve,
133
- reject,
134
- timer: setTimeout(() => {
135
- this._removeOpenAckWaiter(sellerPeerId, waiter);
136
- if (this._sessions.get(sellerPeerId) === session && !session.openedAck) {
137
- this._sessions.delete(sellerPeerId);
138
- this._channelStore?.updateChannelStatus(session.channelId, CHANNEL_STATUS.TIMEOUT);
139
- }
140
- reject(new Error(`timed out waiting for free usage open ack from ${sellerPeerId.slice(0, 12)}...`));
141
- }, timeoutMs),
142
- };
143
- let waiters = this._openAckWaiters.get(sellerPeerId);
144
- if (!waiters) {
145
- waiters = new Set();
146
- this._openAckWaiters.set(sellerPeerId, waiters);
147
- }
148
- waiters.add(waiter);
149
- });
150
- }
151
- handleAck(sellerPeerId, payload) {
152
- const session = this._sessions.get(sellerPeerId);
153
- if (!session || session.channelId !== payload.channelId)
154
- return;
155
- session.openedAck = true;
156
- this._persistSession(sellerPeerId, session, session.openSig, null, null);
157
- this._retireOtherActiveSessions(sellerPeerId, session.channelId);
158
- this._resolveOpenAckWaiters(sellerPeerId, session);
159
- debugLog(`[BuyerFreeUsage] Ack from ${sellerPeerId.slice(0, 12)}... channel=${payload.channelId.slice(0, 18)}...` +
160
- `${payload.acceptedSequence ? ` sequence=${payload.acceptedSequence}` : ''}`);
161
- }
162
- onPeerDisconnect(sellerPeerId) {
163
- this._sessions.delete(sellerPeerId);
164
- this._sellerLocks.delete(sellerPeerId);
165
- this._rejectOpenAckWaiters(sellerPeerId, new Error(`peer ${sellerPeerId.slice(0, 12)}... disconnected before free usage open ack`));
166
- }
167
- async handleNeedAuth(sellerPeerId, payload, paymentMux) {
168
- const lock = (this._sellerLocks.get(sellerPeerId) ?? Promise.resolve()).then(async () => {
169
- await this._handleNeedAuthInner(sellerPeerId, payload, paymentMux);
170
- });
171
- this._sellerLocks.set(sellerPeerId, lock.catch(() => { }));
172
- return lock;
173
- }
174
- async _handleNeedAuthInner(sellerPeerId, payload, paymentMux) {
175
- const session = this._sessions.get(sellerPeerId);
176
- if (!session || session.channelId !== payload.channelId) {
177
- debugWarn(`[BuyerFreeUsage] NeedFreeUsageAuth for unknown channel ${payload.channelId.slice(0, 18)}...`);
178
- return;
179
- }
180
- const requiredSequence = BigInt(payload.requiredSequence);
181
- if (requiredSequence <= session.latestSequence) {
182
- return;
183
- }
184
- const inputTokens = BigInt(payload.inputTokens ?? '0');
185
- const outputTokens = BigInt(payload.outputTokens ?? '0');
186
- const attributedService = this._requestService.get(payload.requestId) ?? payload.service;
187
- const metadata = this._advanceUsageMetadata(session.latestMetadata, attributedService, {
188
- amount: 0n,
189
- inputTokens,
190
- cachedInputTokens: 0n,
191
- outputTokens,
192
- requests: 1n,
193
- });
194
- const metadataHash = computeFreeUsageMetadataHash(metadata);
195
- const encodedMetadata = encodeFreeUsageMetadata(metadata);
196
- const usageSig = await signFreeUsageAuth(this._identity.wallet, this._domain, {
197
- channelId: session.channelId,
198
- sequence: requiredSequence,
199
- metadataHash,
200
- deadline: BigInt(session.deadline),
201
- });
202
- paymentMux.sendFreeUsageAuth({
203
- channelId: session.channelId,
204
- cumulativeInputTokens: metadata.cumulativeInputTokens.toString(),
205
- cumulativeOutputTokens: metadata.cumulativeOutputTokens.toString(),
206
- sequence: requiredSequence.toString(),
207
- metadataHash,
208
- metadata: encodedMetadata,
209
- deadline: session.deadline,
210
- usageSig,
211
- });
212
- session.latestSequence = requiredSequence;
213
- session.cumulativeInputTokens = metadata.cumulativeInputTokens;
214
- session.cumulativeOutputTokens = metadata.cumulativeOutputTokens;
215
- session.cumulativeRequestCount = metadata.cumulativeRequestCount;
216
- session.services = metadata.services;
217
- session.latestMetadata = metadata;
218
- this._requestService.take(payload.requestId);
219
- this._persistSession(sellerPeerId, session, null, usageSig, encodedMetadata);
220
- debugLog(`[BuyerFreeUsage] UsageAuth sent to ${sellerPeerId.slice(0, 12)}... ` +
221
- `channel=${session.channelId.slice(0, 18)}... sequence=${session.latestSequence}`);
222
- }
223
- async _resolveSellerAddr(peer) {
224
- if (!this._sellerAddressResolver)
225
- return peerIdToAddress(peer.peerId);
226
- return this._sellerAddressResolver.resolveSellerAddress(peer.peerId, peer.metadata);
227
- }
228
- _resolveOpenAckWaiters(sellerPeerId, session) {
229
- const waiters = this._openAckWaiters.get(sellerPeerId);
230
- if (!waiters)
231
- return;
232
- for (const waiter of [...waiters]) {
233
- if (waiter.session !== session)
234
- continue;
235
- this._removeOpenAckWaiter(sellerPeerId, waiter);
236
- waiter.resolve();
237
- }
238
- }
239
- _rejectOpenAckWaiters(sellerPeerId, err) {
240
- const waiters = this._openAckWaiters.get(sellerPeerId);
241
- if (!waiters)
242
- return;
243
- for (const waiter of [...waiters]) {
244
- this._removeOpenAckWaiter(sellerPeerId, waiter);
245
- waiter.reject(err);
246
- }
247
- }
248
- _removeOpenAckWaiter(sellerPeerId, waiter) {
249
- clearTimeout(waiter.timer);
250
- const waiters = this._openAckWaiters.get(sellerPeerId);
251
- if (!waiters)
252
- return;
253
- waiters.delete(waiter);
254
- if (waiters.size === 0)
255
- this._openAckWaiters.delete(sellerPeerId);
256
- }
257
- _retireOtherActiveSessions(sellerPeerId, keepSessionId) {
258
- if (!this._channelStore)
259
- return;
260
- const activeChannels = this._channelStore.getActiveChannelsByBuyer(CHANNEL_ROLE.BUYER, this._identity.wallet.address, CHANNEL_KIND.FREE);
261
- for (const channel of activeChannels) {
262
- if (channel.peerId !== sellerPeerId || channel.sessionId === keepSessionId)
263
- continue;
264
- this._channelStore.updateChannelStatus(channel.sessionId, CHANNEL_STATUS.GHOST);
265
- }
266
- }
267
- _persistSession(sellerPeerId, session, openSig, usageSig, encodedMetadata) {
268
- if (!this._channelStore)
269
- return;
270
- const now = Date.now();
271
- const existing = this._channelStore.getChannel(session.channelId);
272
- this._channelStore.upsertChannel({
273
- sessionId: session.channelId,
274
- peerId: sellerPeerId,
275
- role: CHANNEL_ROLE.BUYER,
276
- channelKind: CHANNEL_KIND.FREE,
277
- sellerEvmAddr: session.sellerEvmAddr,
278
- buyerEvmAddr: this._identity.wallet.address,
279
- nonce: 0,
280
- authMax: '0',
281
- deadline: session.deadline,
282
- previousSessionId: '0x' + '00'.repeat(32),
283
- previousConsumption: session.cumulativeOutputTokens.toString(),
284
- tokensDelivered: session.cumulativeInputTokens.toString(),
285
- requestCount: Number(session.cumulativeRequestCount),
286
- reservedAt: existing?.reservedAt ?? now,
287
- settledAt: null,
288
- settledAmount: null,
289
- status: CHANNEL_STATUS.ACTIVE,
290
- latestBuyerSig: openSig ?? existing?.latestBuyerSig ?? null,
291
- latestSpendingAuthSig: usageSig ?? existing?.latestSpendingAuthSig ?? null,
292
- latestMetadata: encodedMetadata ?? existing?.latestMetadata ?? null,
293
- createdAt: existing?.createdAt ?? now,
294
- updatedAt: now,
295
- });
296
- this._channelStore.replaceMetadataServiceTotals(session.channelId, this._sanitizeMetadata(session.latestMetadata).services);
297
- }
298
- }
1
+ // Moved to @antseed/buyer-core; re-exported for compatibility.
2
+ export * from '@antseed/buyer-core/buyer-free-usage-manager';
299
3
  //# sourceMappingURL=buyer-free-usage-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buyer-free-usage-manager.js","sourceRoot":"","sources":["../../src/payments/buyer-free-usage-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buyer-free-usage-manager.js","sourceRoot":"","sources":["../../src/payments/buyer-free-usage-manager.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,cAAc,8CAA8C,CAAC"}
@@ -1,278 +1,2 @@
1
- import { type AbstractSigner } from 'ethers';
2
- import type { Identity } from '../p2p/identity.js';
3
- import type { PaymentMux } from '../p2p/payment-mux.js';
4
- import type { SpendingAuthPayload, AuthAckPayload, NeedAuthPayload, CloseChannelRequestPayload } from '../types/protocol.js';
5
- import { DepositsClient } from './evm/deposits-client.js';
6
- import type { SellerAddressResolver } from '../discovery/seller-address-resolver.js';
7
- import type { PeerMetadata } from '../discovery/peer-metadata.js';
8
- import { ChannelStore, CHANNEL_STATUS, type StoredChannel } from './channel-store.js';
9
- import { type ServicePricing } from './pricing.js';
10
- export interface BuyerPaymentConfig {
11
- rpcUrl: string;
12
- fallbackRpcUrls?: string[];
13
- depositsContractAddress: string;
14
- channelsContractAddress: string;
15
- usdcAddress: string;
16
- identityRegistryAddress: string;
17
- chainId: number;
18
- defaultAuthDurationSecs: number;
19
- /**
20
- * Max unverified exposure (overdraft limit) in USDC base units.
21
- * The buyer will never sign more than verifiedCost + maxPerRequestUsdc.
22
- * Default: 500000 ($0.50).
23
- */
24
- maxPerRequestUsdc: bigint;
25
- /** Max USDC to reserve per ReserveAuth signature (base units). Default: 1000000 ($1.00). */
26
- maxReserveAmountUsdc: bigint;
27
- /** Max ratio of seller-claimed cost to buyer's bytes/4 estimate. Default: 1.4. */
28
- costToleranceMultiplier?: number;
29
- /** Disable per-service attribution in metadata v2. Default: false. */
30
- disableMetadataV2Services?: boolean;
31
- dataDir: string;
32
- }
33
- /** Result of signPerRequestAuth — includes the payload and whether a reserve top-up is needed. */
34
- export interface PerRequestAuthResult {
35
- payload: SpendingAuthPayload;
36
- topUpNeeded: boolean;
37
- }
38
- /**
39
- * One request's newly authorized spend, reported as it is signed.
40
- *
41
- * Both the buyer-initiated (signPerRequestAuth) and seller-initiated
42
- * (handleNeedAuth) paths can advance the cumulative for the same request, so
43
- * a single request may produce more than one event; the amounts are disjoint
44
- * deltas and sum to the request's total. Token counts follow the same
45
- * lower-bound rule as metadata attribution — whichever path counts the request
46
- * first reports the tokens, the other reports zero.
47
- */
48
- export interface BuyerSpendEvent {
49
- sellerPeerId: string;
50
- /** Proxy request id, when the caller threaded one through. */
51
- requestId: string | null;
52
- /** USDC base units newly authorized by this signature. */
53
- amountUsdc: string;
54
- inputTokens: string;
55
- cachedInputTokens: string;
56
- outputTokens: string;
57
- }
58
- export type BuyerSpendListener = (event: BuyerSpendEvent) => void;
59
- /**
60
- * Manages buyer-side payment sessions using EIP-712 SpendingAuth
61
- * with cumulative authorization, bytes/4 cost verification, and overdraft control.
62
- */
63
- export declare class BuyerPaymentManager {
64
- private readonly _identity;
65
- private _signer;
66
- private readonly _depositsClient;
67
- private readonly _config;
68
- private readonly _channelStore;
69
- /** In-memory map of active confirmed sessions by seller peerId for fast lookups. */
70
- private readonly _confirmedPeers;
71
- /** Peers that explicitly rejected our spending auth. */
72
- private readonly _rejectedPeers;
73
- private readonly _sellerAddressResolver?;
74
- /** sellerPeerId -> cumulative USDC amount in the latest SpendingAuth */
75
- private readonly _cumulativeAmount;
76
- /** sellerPeerId -> cumulative metadata for SpendingAuth */
77
- private readonly _metadata;
78
- /** sellerPeerId -> buyer-verified cumulative cost from bytes/4 */
79
- private readonly _verifiedCost;
80
- /** requestId -> service/model the buyer requested (from its own request body).
81
- * Used in handleNeedAuth to validate cost with the correct pricing tier
82
- * without trusting the seller's claim of which service was used. */
83
- private readonly _requestService;
84
- /** sellerPeerId -> full pricing map (defaults + per-service overrides from peer metadata / 402) */
85
- private readonly _sessionPricing;
86
- /** Cumulative response token totals per seller, tracked independently of signing metadata. */
87
- private readonly _responseTokenTotals;
88
- /** sellerPeerId -> current on-chain reserve ceiling (can grow with top-ups) */
89
- private readonly _currentReserveCeiling;
90
- /** sellerPeerId -> original first-reserve amount for replaying reserve() safely. */
91
- private readonly _initialReserveAmount;
92
- /** sellerPeerId -> salt used in the current reserve */
93
- private readonly _reserveSalt;
94
- /** Cached EIP-712 domain — static for the lifetime of this manager. */
95
- private readonly _channelsDomain;
96
- constructor(identity: Identity, config: BuyerPaymentConfig, channelStore: ChannelStore, sellerAddressResolver?: SellerAddressResolver);
97
- /** Hydrate cumulative tracking maps from persisted active buyer sessions. */
98
- private _hydrateFromStore;
99
- get signer(): AbstractSigner;
100
- setSigner(signer: AbstractSigner): void;
101
- get depositsClient(): DepositsClient;
102
- private get _costTolerance();
103
- private get _disableMetadataV2Services();
104
- private _sanitizeMetadata;
105
- private _advanceUsageMetadata;
106
- private _getCeiling;
107
- /** Clean up all in-memory state for a seller when the session ends. */
108
- cleanupSession(sellerPeerId: string): void;
109
- getActiveSession(sellerPeerId: string): StoredChannel | null;
110
- retireSession(sellerPeerId: string, status: typeof CHANNEL_STATUS.SETTLED | typeof CHANNEL_STATUS.TIMEOUT | typeof CHANNEL_STATUS.GHOST, settledAmount?: bigint): void;
111
- canReplayReserveAuth(sellerPeerId: string): boolean;
112
- clearLockConfirmation(sellerPeerId: string): void;
113
- resendCurrentSpendingAuth(sellerPeerId: string, paymentMux: PaymentMux): Promise<string>;
114
- extendCurrentSpendingAuth(sellerPeerId: string, minBudgetPerRequest: bigint, paymentMux: PaymentMux, targetCumulative?: bigint): Promise<string>;
115
- /**
116
- * Build a CloseChannelRequest for an active session.
117
- *
118
- * With `includeAuth` (the default) the buyer signs its current cumulative so
119
- * a seller that lost the last SpendingAuth can still close at the full
120
- * amount owed. Signing costs nothing extra: the cumulative is unchanged, so
121
- * this authorizes no more than the seller could already claim. Pass
122
- * `includeAuth: false` to send a bare request and let the seller close using
123
- * whatever auth it already holds.
124
- */
125
- buildCloseChannelRequest(sellerPeerId: string, { includeAuth }?: {
126
- includeAuth?: boolean;
127
- }): Promise<CloseChannelRequestPayload>;
128
- resendReserveAuth(sellerPeerId: string, paymentMux: PaymentMux): Promise<string>;
129
- private _reopenOverdraftWindowIfCollapsed;
130
- private _needsCeilingAdvance;
131
- /**
132
- * Both signPerRequestAuth (buyer-initiated) and handleNeedAuth (seller-initiated)
133
- * can fire for the same request when the proactive auth doesn't fully cover the
134
- * seller's required cumulative. Whichever path counts a request's tokens first
135
- * records its requestId here so the other path attributes only the amount delta.
136
- */
137
- private readonly _serviceTokensCounted;
138
- private _spendListener;
139
- /**
140
- * Observe per-request spend as it is signed. Used to attribute cost to the
141
- * caller's own unit of work (a tool conversation, say), which only the layer
142
- * that issued the request can know.
143
- */
144
- setSpendListener(listener: BuyerSpendListener | null): void;
145
- private _reportSpend;
146
- private _persistServiceMetadata;
147
- private _sendUpdatedSpendingAuth;
148
- private _topUpAfterSpendAuthBestEffort;
149
- /**
150
- * Sign and send an initial EIP-712 SpendingAuth to a seller.
151
- * The initial cumulativeAmount is set to the seller's minBudgetPerRequest.
152
- *
153
- * @param pricing Token pricing from the seller's 402 / peer metadata.
154
- * @param pricingMap Full pricing map (defaults + per-service) from peer metadata. If provided,
155
- * merges with existing session pricing. The `pricing` arg is used as the service-specific
156
- * override for the service that triggered the 402.
157
- */
158
- authorizeSpending(sellerPeerId: string, paymentMux: PaymentMux, minBudgetPerRequest: bigint, reserveAmountOrPricing?: bigint | ServicePricing, pricingArg?: ServicePricing, pricingMap?: {
159
- defaults: ServicePricing;
160
- services: Record<string, ServicePricing>;
161
- }, metadataArg?: PeerMetadata): Promise<string>;
162
- handleAuthAck(sellerPeerId: string, payload: AuthAckPayload): void;
163
- /**
164
- * Estimate tokens and cost from response content without updating state.
165
- */
166
- private _estimateResponseCost;
167
- /**
168
- * Accumulate a cost estimate into verifiedCost.
169
- */
170
- private _accumulateVerifiedCost;
171
- /**
172
- * Record response content and update the buyer's verified cost.
173
- * Call this after receiving each response from the seller.
174
- *
175
- * NOTE: Do not call this AND signPerRequestAuth for the same response —
176
- * signPerRequestAuth already updates verifiedCost internally.
177
- *
178
- * @returns The updated verified cost and estimated tokens, or null if no pricing is available.
179
- */
180
- recordResponseBytes(sellerPeerId: string, inputBytes: Uint8Array, outputBytes: Uint8Array): {
181
- verifiedCost: bigint;
182
- inputTokens: number;
183
- outputTokens: number;
184
- } | null;
185
- /**
186
- * Compute the max signable cumulative amount based on the overdraft model:
187
- * maxSignable = verifiedCost + maxPerRequestUsdc, capped at reserve ceiling.
188
- */
189
- private _maxSignable;
190
- /**
191
- * Check whether the current cumulative amount is approaching the reserve ceiling
192
- * and a top-up should be triggered.
193
- */
194
- private _needsTopUp;
195
- /**
196
- * Sign an updated SpendingAuth after receiving a response.
197
- *
198
- * The buyer uses the seller's claimed cost to advance the cumulative amount,
199
- * but validates it against the buyer's bytes/4 estimate. If the seller's claim
200
- * exceeds the buyer's estimate by more than the configured tolerance, the buyer
201
- * caps at tolerance * buyerEstimate. The cumulative is also capped at the
202
- * overdraft limit (verifiedCost + maxPerRequestUsdc) and the reserve ceiling.
203
- *
204
- * @param sellerPeerId Seller peer ID.
205
- * @param responseStats Byte counts from the last response and seller's claimed cost.
206
- * @returns The signed payload and whether a reserve top-up is needed.
207
- */
208
- signPerRequestAuth(sellerPeerId: string, responseStats: {
209
- inputBytes: Uint8Array;
210
- outputBytes: Uint8Array;
211
- sellerClaimedCost?: bigint;
212
- reportedInputTokens?: bigint;
213
- reportedOutputTokens?: bigint;
214
- reportedCachedInputTokens?: bigint;
215
- service?: string;
216
- requestId?: string;
217
- }): Promise<PerRequestAuthResult>;
218
- /**
219
- * Handle seller-initiated NeedAuth messages sent after every served request.
220
- * The seller includes the cost of the last request; the buyer validates it
221
- * against its own token count and signs a new SpendingAuth for the required
222
- * cumulative amount, capped at the reserve ceiling.
223
- */
224
- handleNeedAuth(sellerPeerId: string, payload: NeedAuthPayload, paymentMux: PaymentMux): Promise<void>;
225
- /**
226
- * Sign a new ReserveAuth with a higher maxAmount to extend the session's reserve ceiling.
227
- * The seller must call reserve() on-chain again with the new signature.
228
- * Note: requires contract support for top-up (increaseDeposit on existing channelId).
229
- */
230
- topUpReserve(sellerPeerId: string, paymentMux: PaymentMux): Promise<void>;
231
- /** Max USDC overdraft (unverified exposure) from buyer config. */
232
- get maxPerRequestUsdc(): bigint;
233
- /** Max USDC per ReserveAuth signature from buyer config. */
234
- get maxReserveAmountUsdc(): bigint;
235
- /** Current buyer-verified cost for a seller. */
236
- getVerifiedCost(sellerPeerId: string): bigint;
237
- /** Current reserve ceiling for a seller (may be higher than initial after top-ups). */
238
- getReserveCeiling(sellerPeerId: string): bigint;
239
- /** Current cumulative signed amount for a seller. */
240
- getCumulativeAmount(sellerPeerId: string): bigint;
241
- /** Live cumulative token counts for a seller (in-memory, always up-to-date). */
242
- getCumulativeTokens(sellerPeerId: string): {
243
- inputTokens: bigint;
244
- outputTokens: bigint;
245
- };
246
- /**
247
- * Accumulate response token counts and persist to the channel store.
248
- * Tracks its own running totals independently of signPerRequestAuth metadata,
249
- * so the persisted data is always up-to-date after each response.
250
- */
251
- recordAndPersistTokens(sellerPeerId: string, inputTokens: number, outputTokens: number): void;
252
- /** Register which service the buyer requested for a given requestId. */
253
- trackRequestService(requestId: string, service: string): void;
254
- /** Get the live response token totals for a seller, or null if none recorded this session. */
255
- getResponseTokenTotals(sellerPeerId: string): {
256
- input: number;
257
- output: number;
258
- requests: number;
259
- } | null;
260
- /** Get the session pricing for a seller+service. Resolves service-specific pricing first, then defaults. */
261
- getSessionPricing(sellerPeerId: string, service?: string): ServicePricing | null;
262
- /** Check if a session has been confirmed via AuthAck. */
263
- isAuthorized(sellerPeerId: string): boolean;
264
- /** Alias for isAuthorized (used by polling loop). */
265
- isLockConfirmed(sellerPeerId: string): boolean;
266
- /** Check if the lock was explicitly rejected (not just never-contacted). */
267
- isLockRejected(sellerPeerId: string): boolean;
268
- /** Mark a peer as having rejected our spending auth. */
269
- markRejected(sellerPeerId: string): void;
270
- getSessionHistory(sellerPeerId: string): StoredChannel[];
271
- deposit(amount: bigint): Promise<string>;
272
- withdraw(amount: bigint): Promise<string>;
273
- getBalance(): Promise<{
274
- available: bigint;
275
- reserved: bigint;
276
- }>;
277
- }
1
+ export * from '@antseed/buyer-core/buyer-payment-manager';
278
2
  //# sourceMappingURL=buyer-payment-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buyer-payment-manager.d.ts","sourceRoot":"","sources":["../../src/payments/buyer-payment-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buyer-payment-manager.d.ts","sourceRoot":"","sources":["../../src/payments/buyer-payment-manager.ts"],"names":[],"mappings":"AACA,cAAc,2CAA2C,CAAC"}