@antseed/node 0.2.100 → 0.2.102

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 (52) hide show
  1. package/dist/buyer-request-handler.d.ts +2 -0
  2. package/dist/buyer-request-handler.d.ts.map +1 -1
  3. package/dist/buyer-request-handler.js +2 -2
  4. package/dist/buyer-request-handler.js.map +1 -1
  5. package/dist/discovery/announcer.d.ts +2 -0
  6. package/dist/discovery/announcer.d.ts.map +1 -1
  7. package/dist/discovery/announcer.js +8 -2
  8. package/dist/discovery/announcer.js.map +1 -1
  9. package/dist/index.d.ts +2 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/interfaces/plugin.d.ts +42 -1
  14. package/dist/interfaces/plugin.d.ts.map +1 -1
  15. package/dist/interfaces/plugin.js +1 -1
  16. package/dist/interfaces/plugin.js.map +1 -1
  17. package/dist/node.d.ts +25 -1
  18. package/dist/node.d.ts.map +1 -1
  19. package/dist/node.js +94 -1
  20. package/dist/node.js.map +1 -1
  21. package/dist/p2p/connection-manager.d.ts.map +1 -1
  22. package/dist/p2p/connection-manager.js +5 -2
  23. package/dist/p2p/connection-manager.js.map +1 -1
  24. package/dist/p2p/payment-codec.d.ts +5 -1
  25. package/dist/p2p/payment-codec.d.ts.map +1 -1
  26. package/dist/p2p/payment-codec.js +54 -1
  27. package/dist/p2p/payment-codec.js.map +1 -1
  28. package/dist/p2p/payment-mux.d.ts +7 -1
  29. package/dist/p2p/payment-mux.d.ts.map +1 -1
  30. package/dist/p2p/payment-mux.js +22 -0
  31. package/dist/p2p/payment-mux.js.map +1 -1
  32. package/dist/payments/buyer-payment-manager.d.ts +14 -1
  33. package/dist/payments/buyer-payment-manager.d.ts.map +1 -1
  34. package/dist/payments/buyer-payment-manager.js +35 -0
  35. package/dist/payments/buyer-payment-manager.js.map +1 -1
  36. package/dist/payments/buyer-payment-negotiator.d.ts +18 -0
  37. package/dist/payments/buyer-payment-negotiator.d.ts.map +1 -1
  38. package/dist/payments/buyer-payment-negotiator.js +104 -6
  39. package/dist/payments/buyer-payment-negotiator.js.map +1 -1
  40. package/dist/payments/seller-payment-manager.d.ts +67 -6
  41. package/dist/payments/seller-payment-manager.d.ts.map +1 -1
  42. package/dist/payments/seller-payment-manager.js +340 -71
  43. package/dist/payments/seller-payment-manager.js.map +1 -1
  44. package/dist/seller-request-handler.d.ts +4 -0
  45. package/dist/seller-request-handler.d.ts.map +1 -1
  46. package/dist/seller-request-handler.js +103 -0
  47. package/dist/seller-request-handler.js.map +1 -1
  48. package/dist/types/protocol.d.ts +60 -0
  49. package/dist/types/protocol.d.ts.map +1 -1
  50. package/dist/types/protocol.js +24 -0
  51. package/dist/types/protocol.js.map +1 -1
  52. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  import type { Identity } from '../p2p/identity.js';
2
2
  import type { PaymentMux } from '../p2p/payment-mux.js';
3
- import type { SpendingAuthPayload, PaymentRequiredPayload } from '../types/protocol.js';
3
+ import type { SpendingAuthPayload, PaymentRequiredPayload, CloseChannelRequestPayload, CloseChannelResultPayload } from '../types/protocol.js';
4
4
  import { ChannelsClient } from './evm/channels-client.js';
5
5
  import { ChannelStore, type StoredChannel } from './channel-store.js';
6
6
  export interface SellerPaymentConfig {
@@ -77,8 +77,20 @@ export declare class SellerPaymentManager {
77
77
  private readonly _pendingTopUp;
78
78
  /** Channels that must not serve more paid work until closed/renegotiated. */
79
79
  private readonly _blockedChannels;
80
- /** channelIds with an in-flight close() tx/estimate. Prevents duplicate close submissions. */
80
+ /**
81
+ * channelId -> in-flight close() result. Every close path shares this map so
82
+ * replacement negotiation can await an existing close instead of submitting
83
+ * a duplicate transaction.
84
+ */
81
85
  private readonly _closingChannels;
86
+ /**
87
+ * buyerPeerId -> number of billable requests currently being served.
88
+ * Incremented before the provider call and decremented only after the
89
+ * request's spend has been recorded and its NeedAuth sent, so a non-zero
90
+ * count means "this buyer is still accumulating" and the channel must not be
91
+ * closed out from under it.
92
+ */
93
+ private readonly _inFlightRequests;
82
94
  /** channelId -> cumulative amount last successfully settled on-chain by this
83
95
  * process. Lets the idle-settle loop skip the `getSession` RPC when the
84
96
  * local accepted cumulative hasn't moved since our last settle. */
@@ -94,6 +106,14 @@ export declare class SellerPaymentManager {
94
106
  */
95
107
  validateHydratedChannels(): Promise<void>;
96
108
  private _evictStaleChannel;
109
+ /** Remove connectivity only if it still belongs to the channel being cleaned up. */
110
+ private _deactivateBuyerForChannel;
111
+ /**
112
+ * Submit at most one close transaction per channel and share its outcome.
113
+ * Callers that join an in-flight close receive the amount that close actually
114
+ * submitted, not the one they asked for — persist that, not `amount`.
115
+ */
116
+ private _submitClose;
97
117
  /**
98
118
  * Restore a persisted SpendingAuth after in-memory cleanup. This prevents the
99
119
  * timeout checker from mistaking an active channel with a durable signed auth
@@ -143,10 +163,6 @@ export declare class SellerPaymentManager {
143
163
  * Record USDC consumption after serving a request.
144
164
  */
145
165
  recordSpend(sessionId: string, costUsdc: bigint): void;
146
- /**
147
- * Close a completed session on-chain using the latest buyer-signed dual signatures.
148
- * Uses close() for final settlement (releases remaining deposit to buyer).
149
- */
150
166
  /** Get the latest SpendingAuth params for a channel, or zero-auth if none exists. */
151
167
  private _getSettleParams;
152
168
  /**
@@ -160,6 +176,17 @@ export declare class SellerPaymentManager {
160
176
  cleanupOnFailure?: boolean | undefined;
161
177
  settleOnly?: boolean | undefined;
162
178
  }): Promise<void>;
179
+ /**
180
+ * Drop all in-memory state for a channel that is no longer live. Does not
181
+ * touch persisted status — callers set that first (SETTLED / TIMEOUT).
182
+ */
183
+ private _forgetChannel;
184
+ /** Mark a billable request as started for this buyer. */
185
+ beginBillableRequest(buyerPeerId: string): void;
186
+ /** Mark a billable request as fully accounted for (spend recorded, NeedAuth sent). */
187
+ endBillableRequest(buyerPeerId: string): void;
188
+ /** Whether this buyer has requests still being served and billed. */
189
+ hasInFlightRequests(buyerPeerId: string): boolean;
163
190
  onBuyerDisconnect(buyerPeerId: string): void;
164
191
  /**
165
192
  * Check for stale sessions and attempt to close them.
@@ -172,6 +199,15 @@ export declare class SellerPaymentManager {
172
199
  * Called periodically and on startup for recovery.
173
200
  */
174
201
  checkTimeouts(): Promise<void>;
202
+ /**
203
+ * Close the seller's previous channel before accepting a replacement
204
+ * ReserveAuth from the same buyer. Buyers may lose local channel state and
205
+ * generate a new channel ID while the previous reserve remains active
206
+ * on-chain. The contract rejects a second active channel for the same pair,
207
+ * so recover synchronously using the seller's durable state instead of
208
+ * leaving both peers in an unrecoverable negotiation loop.
209
+ */
210
+ private _closeSupersededChannel;
175
211
  /**
176
212
  * Close a zombie channel (buyer gone, no signed auth) using the current
177
213
  * on-chain settled cumulative as finalAmount. This intentionally settles no
@@ -203,6 +239,31 @@ export declare class SellerPaymentManager {
203
239
  outputUsdPerMillion?: number;
204
240
  cachedInputUsdPerMillion?: number;
205
241
  }): PaymentRequiredPayload;
242
+ /**
243
+ * Handle a buyer's CloseChannelRequest: close the channel on-chain right
244
+ * away so the buyer's reserve is released without the `requestClose()` →
245
+ * 15-minute grace → `withdraw()` detour.
246
+ *
247
+ * The seller only agrees when it is not mid-accumulation with this buyer:
248
+ * no billable request in flight, and no served work the buyer has not signed
249
+ * for. It closes at `max(own last-accepted auth, buyer-supplied auth)`, so a
250
+ * buyer cannot use this path to settle below what it already owes, and a
251
+ * seller that lost the buyer's latest auth can still be paid in full by the
252
+ * copy the buyer attaches.
253
+ */
254
+ handleCloseChannelRequest(buyerPeerId: string, payload: CloseChannelRequestPayload, paymentMux: PaymentMux): Promise<CloseChannelResultPayload>;
255
+ /**
256
+ * Verify a SpendingAuth attached to a CloseChannelRequest. Returns null when
257
+ * the buyer attached nothing; throws with a caller-safe message when the
258
+ * attached auth does not check out.
259
+ */
260
+ private _verifyBuyerCloseAuth;
261
+ /**
262
+ * Take the buyer-supplied auth as our latest when it authorizes strictly more
263
+ * than what we already hold. Persisted so a crash between here and close()
264
+ * doesn't lose the higher claim.
265
+ */
266
+ private _adoptBuyerCloseAuth;
206
267
  /**
207
268
  * Handle a CloseRequested event for a channel this seller manages.
208
269
  * If the seller has a stored SpendingAuth, immediately close the channel
@@ -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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"}