@antseed/node 0.2.45 → 0.2.47

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.
@@ -4,11 +4,7 @@ import { signSpendingAuth, signReserveAuth, makeChannelsDomain, computeMetadataH
4
4
  import { debugLog, debugWarn } from '../utils/debug.js';
5
5
  import { peerIdToAddress } from '../types/peer.js';
6
6
  import { estimateCostFromBytes, computeCostUsdc } from './pricing.js';
7
- // ── Response cost header constants ───────────────────────────────
8
- const HEADER_COST = 'x-antseed-cost';
9
- const HEADER_INPUT_TOKENS = 'x-antseed-input-tokens';
10
- const HEADER_OUTPUT_TOKENS = 'x-antseed-output-tokens';
11
- /** Default tolerance: accept seller claims up to 1.4x buyer's bytes/4 estimate. */
7
+ /** Default tolerance: accept seller claims up to 1.4x buyer's estimate. */
12
8
  const DEFAULT_COST_TOLERANCE = 1.4;
13
9
  /** Fraction of reserve ceiling at which to signal a top-up is needed. */
14
10
  /** Must match or exceed contract's TOP_UP_SETTLED_THRESHOLD_BPS (85%). */
@@ -33,6 +29,10 @@ export class BuyerPaymentManager {
33
29
  _metadata = new Map();
34
30
  /** sellerPeerId -> buyer-verified cumulative cost from bytes/4 */
35
31
  _verifiedCost = new Map();
32
+ /** requestId -> service/model the buyer requested (from its own request body).
33
+ * Used in handleNeedAuth to validate cost with the correct pricing tier
34
+ * without trusting the seller's claim of which service was used. */
35
+ _requestService = new Map();
36
36
  /** sellerPeerId -> full pricing map (defaults + per-service overrides from peer metadata / 402) */
37
37
  _sessionPricing = new Map();
38
38
  /** Cumulative response token totals per seller, tracked independently of signing metadata. */
@@ -62,7 +62,8 @@ export class BuyerPaymentManager {
62
62
  const activeChannels = this._channelStore.getActiveChannelsByBuyer('buyer', this._identity.wallet.address);
63
63
  for (const channel of activeChannels) {
64
64
  const peerId = channel.peerId;
65
- this._cumulativeAmount.set(peerId, BigInt(channel.authMax));
65
+ const persistedCumulative = BigInt(channel.authMax);
66
+ this._cumulativeAmount.set(peerId, persistedCumulative);
66
67
  this._metadata.set(peerId, {
67
68
  cumulativeInputTokens: BigInt(channel.tokensDelivered),
68
69
  cumulativeOutputTokens: BigInt(channel.previousConsumption),
@@ -71,7 +72,12 @@ export class BuyerPaymentManager {
71
72
  // Hydrate verifiedCost to authMax so _maxSignable can grow beyond maxPerRequestUsdc.
72
73
  // Without this, maxSignable = 0 + maxPerRequestUsdc after restart, permanently capping
73
74
  // the cumulative and causing non-monotonic SpendingAuth rejections on the seller.
74
- this._verifiedCost.set(peerId, BigInt(channel.authMax));
75
+ this._verifiedCost.set(peerId, persistedCumulative);
76
+ this._responseTokenTotals.set(peerId, {
77
+ input: Number(channel.tokensDelivered),
78
+ output: Number(channel.previousConsumption),
79
+ requests: channel.requestCount,
80
+ });
75
81
  }
76
82
  }
77
83
  get signer() {
@@ -223,8 +229,11 @@ export class BuyerPaymentManager {
223
229
  deadline: BigInt(deadline),
224
230
  };
225
231
  const reserveAuthSig = await signReserveAuth(this._signer, channelsDomain, reserveMsg);
226
- // Initialize state for this session
227
- this._cumulativeAmount.set(sellerPeerId, minBudgetPerRequest);
232
+ // Initialize state for this session.
233
+ // Start cumulative at 0 — the initial message is a ReserveAuth (not a SpendingAuth).
234
+ // The first real SpendingAuth will be sent by handleNeedAuth after the seller serves
235
+ // the first request and reports its cost.
236
+ this._cumulativeAmount.set(sellerPeerId, 0n);
228
237
  this._metadata.set(sellerPeerId, { ...ZERO_METADATA });
229
238
  this._verifiedCost.set(sellerPeerId, 0n);
230
239
  this._currentReserveCeiling.set(sellerPeerId, maxAmount);
@@ -238,7 +247,7 @@ export class BuyerPaymentManager {
238
247
  sellerEvmAddr: peerIdToAddress(sellerPeerId),
239
248
  buyerEvmAddr: this._identity.wallet.address,
240
249
  nonce: 0,
241
- authMax: minBudgetPerRequest.toString(),
250
+ authMax: '0',
242
251
  deadline,
243
252
  previousSessionId: '0x' + '0'.repeat(64),
244
253
  previousConsumption: '0',
@@ -258,7 +267,7 @@ export class BuyerPaymentManager {
258
267
  // Send SpendingAuth via PaymentMux — reserve carries ReserveAuth sig
259
268
  paymentMux.sendSpendingAuth({
260
269
  channelId,
261
- cumulativeAmount: minBudgetPerRequest.toString(),
270
+ cumulativeAmount: '0',
262
271
  metadataHash: ZERO_METADATA_HASH,
263
272
  metadata: encodeMetadata(ZERO_METADATA),
264
273
  spendingAuthSig: reserveAuthSig,
@@ -489,8 +498,10 @@ export class BuyerPaymentManager {
489
498
  }
490
499
  // ── NeedAuth handler ───────────────────────────────────────────
491
500
  /**
492
- * Handle seller-initiated NeedAuth messages when the seller's budget runs out mid-session.
493
- * Caps the signed amount at verifiedCost + maxPerRequestUsdc (overdraft model).
501
+ * Handle seller-initiated NeedAuth messages sent after every served request.
502
+ * The seller includes the cost of the last request; the buyer validates it
503
+ * against its own token count and signs a new SpendingAuth for the required
504
+ * cumulative amount, capped at the reserve ceiling.
494
505
  */
495
506
  async handleNeedAuth(sellerPeerId, payload, paymentMux) {
496
507
  const session = this.getActiveSession(sellerPeerId);
@@ -498,6 +509,9 @@ export class BuyerPaymentManager {
498
509
  debugWarn(`[BuyerPayment] NeedAuth for unknown seller: ${sellerPeerId.slice(0, 12)}...`);
499
510
  return;
500
511
  }
512
+ const buyerService = payload.requestId ? this._requestService.get(payload.requestId) : undefined;
513
+ if (payload.requestId)
514
+ this._requestService.delete(payload.requestId);
501
515
  const requiredCumulativeAmount = BigInt(payload.requiredCumulativeAmount);
502
516
  const currentCumulative = this._cumulativeAmount.get(sellerPeerId) ?? 0n;
503
517
  // Reject stale/lower NeedAuth (monotonicity guard)
@@ -505,10 +519,42 @@ export class BuyerPaymentManager {
505
519
  debugLog(`[BuyerPayment] NeedAuth stale: required=${requiredCumulativeAmount} <= current=${currentCumulative} — ignoring`);
506
520
  return;
507
521
  }
508
- // Cap at overdraft limit: verifiedCost + maxPerRequestUsdc
522
+ // Validate the seller's claimed cost if reported
523
+ if (payload.lastRequestCost) {
524
+ const sellerCost = BigInt(payload.lastRequestCost);
525
+ const sellerIn = BigInt(payload.inputTokens ?? '0');
526
+ const sellerOut = BigInt(payload.outputTokens ?? '0');
527
+ const sellerCached = BigInt(payload.cachedInputTokens ?? '0');
528
+ // Use the buyer's own knowledge of which service it requested, not the seller's claim.
529
+ // A malicious seller could set service to a more expensive model to inflate the ceiling.
530
+ const pricing = this.getSessionPricing(sellerPeerId, buyerService);
531
+ if (pricing && sellerCost > 0n) {
532
+ const freshIn = sellerCached > 0n
533
+ ? BigInt(Math.max(0, Number(sellerIn) - Number(sellerCached)))
534
+ : sellerIn;
535
+ const buyerEstimate = computeCostUsdc(Number(freshIn), Number(sellerOut), pricing, Number(sellerCached));
536
+ const maxAcceptable = BigInt(Math.ceil(Number(buyerEstimate) * this._costTolerance));
537
+ if (buyerEstimate > 0n && sellerCost > maxAcceptable) {
538
+ debugWarn(`[BuyerPayment] NeedAuth: seller claimed cost ${sellerCost} exceeds ${this._costTolerance}x buyer estimate ${buyerEstimate} — rejecting`);
539
+ return;
540
+ }
541
+ debugLog(`[BuyerPayment] NeedAuth: seller cost=${sellerCost} buyer estimate=${buyerEstimate} (in=${sellerIn} cached=${sellerCached} out=${sellerOut}) — validated`);
542
+ }
543
+ else {
544
+ debugLog(`[BuyerPayment] NeedAuth: seller cost=${sellerCost} (no local pricing, accepting)`);
545
+ }
546
+ // Accumulate verified cost from the seller's report
547
+ this._accumulateVerifiedCost(sellerPeerId, {
548
+ cost: sellerCost,
549
+ inputTokens: Number(sellerIn),
550
+ outputTokens: Number(sellerOut),
551
+ });
552
+ }
553
+ // Cap at overdraft limit: verifiedCost + maxPerRequestUsdc, then at reserve ceiling.
554
+ // This prevents a malicious seller from claiming a small cost but requesting the full reserve.
509
555
  let maxSignable = this._maxSignable(sellerPeerId);
510
- const reserveCeiling = this._getCeiling(sellerPeerId);
511
- if (requiredCumulativeAmount > maxSignable && maxSignable >= reserveCeiling) {
556
+ const ceiling = this._getCeiling(sellerPeerId);
557
+ if (requiredCumulativeAmount > maxSignable && maxSignable >= ceiling) {
512
558
  try {
513
559
  await this.topUpReserve(sellerPeerId, paymentMux);
514
560
  }
@@ -518,14 +564,23 @@ export class BuyerPaymentManager {
518
564
  maxSignable = this._maxSignable(sellerPeerId);
519
565
  }
520
566
  if (maxSignable <= currentCumulative) {
521
- debugWarn(`[BuyerPayment] NeedAuth: maxSignable=${maxSignable} <= currentCumulative=${currentCumulative} — cannot authorize more (overdraft limit reached)`);
567
+ debugWarn(`[BuyerPayment] NeedAuth: maxSignable=${maxSignable} <= currentCumulative=${currentCumulative} — overdraft limit reached`);
522
568
  return;
523
569
  }
524
- // Sign up to the lesser of what the seller asks and what we allow
525
570
  const effectiveAmount = requiredCumulativeAmount < maxSignable ? requiredCumulativeAmount : maxSignable;
526
571
  debugLog(`[BuyerPayment] NeedAuth: channel=${session.sessionId.slice(0, 18)}... required=${requiredCumulativeAmount} effective=${effectiveAmount}`);
527
572
  // Update cumulative amount
528
573
  this._cumulativeAmount.set(sellerPeerId, effectiveAmount);
574
+ // Update cumulative metadata from reported tokens
575
+ if (payload.inputTokens || payload.outputTokens) {
576
+ const prev = this._metadata.get(sellerPeerId) ?? ZERO_METADATA;
577
+ const newMeta = {
578
+ cumulativeInputTokens: prev.cumulativeInputTokens + BigInt(payload.inputTokens ?? '0'),
579
+ cumulativeOutputTokens: prev.cumulativeOutputTokens + BigInt(payload.outputTokens ?? '0'),
580
+ cumulativeRequestCount: prev.cumulativeRequestCount + 1n,
581
+ };
582
+ this._metadata.set(sellerPeerId, newMeta);
583
+ }
529
584
  // Sign SpendingAuth with the effective amount and current metadata
530
585
  const currentMeta = this._metadata.get(sellerPeerId) ?? ZERO_METADATA;
531
586
  const metadataHashHex = computeMetadataHash(currentMeta);
@@ -643,7 +698,11 @@ export class BuyerPaymentManager {
643
698
  const session = this.getActiveSession(sellerPeerId);
644
699
  if (!session)
645
700
  return;
646
- const prev = this._responseTokenTotals.get(sellerPeerId) ?? { input: 0, output: 0, requests: 0 };
701
+ const prev = this._responseTokenTotals.get(sellerPeerId) ?? {
702
+ input: Number(session.tokensDelivered),
703
+ output: Number(session.previousConsumption),
704
+ requests: session.requestCount,
705
+ };
647
706
  debugLog(`[BuyerPayment] recordTokens: thisReq in=${inputTokens} out=${outputTokens} | ` +
648
707
  `prevTotal in=${prev.input} out=${prev.output} reqs=${prev.requests}`);
649
708
  const totals = {
@@ -660,6 +719,10 @@ export class BuyerPaymentManager {
660
719
  updatedAt: Date.now(),
661
720
  });
662
721
  }
722
+ /** Register which service the buyer requested for a given requestId. */
723
+ trackRequestService(requestId, service) {
724
+ this._requestService.set(requestId, service);
725
+ }
663
726
  /** Get the live response token totals for a seller, or null if none recorded this session. */
664
727
  getResponseTokenTotals(sellerPeerId) {
665
728
  return this._responseTokenTotals.get(sellerPeerId) ?? null;
@@ -712,22 +775,5 @@ export class BuyerPaymentManager {
712
775
  const info = await this._depositsClient.getBuyerBalance(buyerAddr);
713
776
  return { available: info.available, reserved: info.reserved };
714
777
  }
715
- // ── Response cost parsing ──────────────────────────────────────
716
- static parseResponseCost(headers) {
717
- const costStr = headers[HEADER_COST];
718
- if (costStr === undefined || costStr === '')
719
- return null;
720
- try {
721
- const cost = BigInt(costStr);
722
- const inputStr = headers[HEADER_INPUT_TOKENS];
723
- const inputTokens = inputStr !== undefined && inputStr !== '' ? BigInt(inputStr) : 0n;
724
- const outputStr = headers[HEADER_OUTPUT_TOKENS];
725
- const outputTokens = outputStr !== undefined && outputStr !== '' ? BigInt(outputStr) : 0n;
726
- return { cost, inputTokens, outputTokens };
727
- }
728
- catch {
729
- return null;
730
- }
731
- }
732
778
  }
733
779
  //# sourceMappingURL=buyer-payment-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buyer-payment-manager.js","sourceRoot":"","sources":["../../src/payments/buyer-payment-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buyer-payment-manager.js","sourceRoot":"","sources":["../../src/payments/buyer-payment-manager.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,8 @@ export declare class BuyerPaymentNegotiator {
48
48
  private readonly _lastResponseCost;
49
49
  /** Buyer-side payment muxes keyed by seller peerId. */
50
50
  private readonly _muxes;
51
+ /** In-flight NeedAuth handlers keyed by seller peerId. */
52
+ private readonly _pendingNeedAuth;
51
53
  constructor(identity: Identity, bpm: BuyerPaymentManager, depositsClient: DepositsClient | null, channelsClient: ChannelsClient | null, channelStore: ChannelStore | null, _config: BuyerNegotiatorConfig, emitter: NegotiationEmitter);
52
54
  get bpm(): BuyerPaymentManager;
53
55
  getOrCreatePaymentMux(peerId: PeerId, conn: PeerConnection): PaymentMux;
@@ -68,10 +70,11 @@ export declare class BuyerPaymentNegotiator {
68
70
  private _sendPerRequestAuth;
69
71
  handle402(response: SerializedHttpResponse, peer: PeerInfo, conn: PeerConnection, req: SerializedHttpRequest): Promise<Handle402Result>;
70
72
  estimateCostFromResponse(peer: PeerInfo, response: SerializedHttpResponse, service?: string): void;
71
- parseCostHeaders(peerId: string, response: SerializedHttpResponse): void;
72
73
  recordResponseContent(peerId: string, reqBody: Uint8Array, resBody: Uint8Array, latencyMs: number): void;
73
74
  applyExternalSpendingAuth(peer: PeerInfo, conn: PeerConnection, headerValue: string): Promise<void>;
74
75
  onPeerDisconnect(peerId: PeerId): void;
76
+ /** Wait for in-flight NeedAuth handlers to complete (settlement safety). */
77
+ drainPendingNeedAuth(): Promise<void>;
75
78
  cleanup(): void;
76
79
  /**
77
80
  * Build the full pricing map from peer metadata (defaults + all per-service overrides).
@@ -1 +1 @@
1
- {"version":3,"file":"buyer-payment-negotiator.d.ts","sourceRoot":"","sources":["../../src/payments/buyer-payment-negotiator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buyer-payment-negotiator.d.ts","sourceRoot":"","sources":["../../src/payments/buyer-payment-negotiator.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,8 @@ export class BuyerPaymentNegotiator {
41
41
  _lastResponseCost = new Map();
42
42
  /** Buyer-side payment muxes keyed by seller peerId. */
43
43
  _muxes = new Map();
44
+ /** In-flight NeedAuth handlers keyed by seller peerId. */
45
+ _pendingNeedAuth = new Map();
44
46
  constructor(identity, bpm, depositsClient, channelsClient, channelStore, _config, emitter) {
45
47
  this._identity = identity;
46
48
  this._bpm = bpm;
@@ -62,7 +64,12 @@ export class BuyerPaymentNegotiator {
62
64
  this._bpm.handleAuthAck(peerId, payload);
63
65
  });
64
66
  pmux.onNeedAuth((payload) => {
65
- void this._bpm.handleNeedAuth(peerId, payload, pmux);
67
+ const p = this._bpm.handleNeedAuth(peerId, payload, pmux);
68
+ this._pendingNeedAuth.set(peerId, p);
69
+ p.finally(() => {
70
+ if (this._pendingNeedAuth.get(peerId) === p)
71
+ this._pendingNeedAuth.delete(peerId);
72
+ });
66
73
  });
67
74
  pmux.onPaymentRequired((payload) => {
68
75
  const pending = this._pendingPaymentRequired.get(peerId);
@@ -278,36 +285,7 @@ export class BuyerPaymentNegotiator {
278
285
  `cost=${costUsdc} (in=${usage.freshInputTokens} cached=${usage.cachedInputTokens} out=${usage.outputTokens})`);
279
286
  this._bpm.recordAndPersistTokens(peer.peerId, usage.inputTokens, usage.outputTokens);
280
287
  }
281
- parseCostHeaders(peerId, response) {
282
- const costHeader = response.headers['x-antseed-cost'];
283
- if (!costHeader)
284
- return;
285
- try {
286
- const sellerIn = BigInt(response.headers['x-antseed-input-tokens'] ?? '0');
287
- const sellerOut = BigInt(response.headers['x-antseed-output-tokens'] ?? '0');
288
- const sellerCachedIn = BigInt(response.headers['x-antseed-cached-input-tokens'] ?? '0');
289
- const sellerCost = BigInt(costHeader);
290
- debugLog(`[BuyerNegotiator] Seller cost headers: in=${sellerIn} cached=${sellerCachedIn} out=${sellerOut} ` +
291
- `cost=${sellerCost} cumCost=${response.headers['x-antseed-cumulative-cost'] ?? '0'}`);
292
- // Seller cost headers are authoritative — always use them when present.
293
- // The seller knows its actual upstream cost including prompt caching discounts.
294
- const existing = this._lastResponseCost.get(peerId);
295
- this._lastResponseCost.set(peerId, {
296
- costUsdc: sellerCost,
297
- inputTokens: sellerIn,
298
- outputTokens: sellerOut,
299
- cachedInputTokens: sellerCachedIn,
300
- cumulativeCost: BigInt(response.headers['x-antseed-cumulative-cost'] ?? '0'),
301
- inputContent: existing?.inputContent ?? new Uint8Array(0),
302
- outputContent: existing?.outputContent ?? response.body,
303
- latencyMs: existing?.latencyMs ?? 0,
304
- service: existing?.service,
305
- });
306
- }
307
- catch {
308
- // Ignore malformed headers
309
- }
310
- }
288
+ // parseCostHeaders removed — cost data now flows through NeedAuth on PaymentMux.
311
289
  recordResponseContent(peerId, reqBody, resBody, latencyMs) {
312
290
  debugLog(`[BuyerNegotiator] recordResponseContent: reqBody=${reqBody.length}B resBody=${resBody.length}B latency=${latencyMs}ms`);
313
291
  const existing = this._lastResponseCost.get(peerId);
@@ -383,6 +361,13 @@ export class BuyerPaymentNegotiator {
383
361
  this._firstRequestSent.delete(peerId);
384
362
  this._lastResponseCost.delete(peerId);
385
363
  }
364
+ /** Wait for in-flight NeedAuth handlers to complete (settlement safety). */
365
+ async drainPendingNeedAuth() {
366
+ const pending = [...this._pendingNeedAuth.values()];
367
+ if (pending.length > 0) {
368
+ await Promise.allSettled(pending);
369
+ }
370
+ }
386
371
  cleanup() {
387
372
  this._lockedPeers.clear();
388
373
  this._firstRequestSent.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"buyer-payment-negotiator.js","sourceRoot":"","sources":["../../src/payments/buyer-payment-negotiator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buyer-payment-negotiator.js","sourceRoot":"","sources":["../../src/payments/buyer-payment-negotiator.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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"}
@@ -210,10 +210,13 @@ export class SellerPaymentManager {
210
210
  // Note: do NOT store the ReserveAuth sig as spendingAuthSig in _latestAuth.
211
211
  // The ReserveAuth uses a different EIP-712 type and will fail
212
212
  // _verifySpendingAuth in close(). A real SpendingAuth will arrive
213
- // per-request and update this entry.
214
- this._activateSession(session, buyerPeerId, cumulativeAmount, reserveMaxAmount, 0n, {
213
+ // via the NeedAuth flow after the first request is served.
214
+ // Start accepted at 0 — the buyer's _cumulativeAmount also starts at 0.
215
+ // The reserve ceiling (reserveMaxAmount) bounds what can be spent;
216
+ // accepted grows from NeedAuth-driven SpendingAuths.
217
+ this._activateSession(session, buyerPeerId, 0n, reserveMaxAmount, 0n, {
215
218
  spendingAuthSig: '',
216
- cumulativeAmount,
219
+ cumulativeAmount: 0n,
217
220
  metadataHash: payload.metadataHash,
218
221
  metadata: payload.metadata,
219
222
  });