@antseed/node 0.2.152 → 0.2.154

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 (125) hide show
  1. package/dist/buyer-identity-context.d.ts +2 -0
  2. package/dist/buyer-identity-context.d.ts.map +1 -1
  3. package/dist/buyer-identity-context.js +1 -0
  4. package/dist/buyer-identity-context.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 +11 -9
  8. package/dist/discovery/announcer.js.map +1 -1
  9. package/dist/health/gas-health-monitor.d.ts +19 -0
  10. package/dist/health/gas-health-monitor.d.ts.map +1 -1
  11. package/dist/health/gas-health-monitor.js +21 -0
  12. package/dist/health/gas-health-monitor.js.map +1 -1
  13. package/dist/health/model-health-checker.d.ts +52 -0
  14. package/dist/health/model-health-checker.d.ts.map +1 -1
  15. package/dist/health/model-health-checker.js +139 -7
  16. package/dist/health/model-health-checker.js.map +1 -1
  17. package/dist/health/seller-events.d.ts +24 -0
  18. package/dist/health/seller-events.d.ts.map +1 -0
  19. package/dist/health/seller-events.js +71 -0
  20. package/dist/health/seller-events.js.map +1 -0
  21. package/dist/health/upstream-credit.d.ts +8 -0
  22. package/dist/health/upstream-credit.d.ts.map +1 -0
  23. package/dist/health/upstream-credit.js +22 -0
  24. package/dist/health/upstream-credit.js.map +1 -0
  25. package/dist/index.d.ts +13 -3
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +7 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/interfaces/seller-provider.d.ts +4 -1
  30. package/dist/interfaces/seller-provider.d.ts.map +1 -1
  31. package/dist/metering/index.d.ts +1 -1
  32. package/dist/metering/index.d.ts.map +1 -1
  33. package/dist/metering/index.js.map +1 -1
  34. package/dist/metering/seller-session-tracker.d.ts +7 -0
  35. package/dist/metering/seller-session-tracker.d.ts.map +1 -1
  36. package/dist/metering/seller-session-tracker.js +29 -0
  37. package/dist/metering/seller-session-tracker.js.map +1 -1
  38. package/dist/metering/storage.d.ts +146 -6
  39. package/dist/metering/storage.d.ts.map +1 -1
  40. package/dist/metering/storage.js +209 -14
  41. package/dist/metering/storage.js.map +1 -1
  42. package/dist/node.d.ts +44 -0
  43. package/dist/node.d.ts.map +1 -1
  44. package/dist/node.js +122 -11
  45. package/dist/node.js.map +1 -1
  46. package/dist/payments/channel-store.d.ts +10 -0
  47. package/dist/payments/channel-store.d.ts.map +1 -1
  48. package/dist/payments/channel-store.js +17 -0
  49. package/dist/payments/channel-store.js.map +1 -1
  50. package/dist/payments/evm/seller-pools-client.d.ts +9 -0
  51. package/dist/payments/evm/seller-pools-client.d.ts.map +1 -1
  52. package/dist/payments/evm/seller-pools-client.js +23 -0
  53. package/dist/payments/evm/seller-pools-client.js.map +1 -1
  54. package/dist/payments/free-tier-delegation.d.ts +65 -0
  55. package/dist/payments/free-tier-delegation.d.ts.map +1 -0
  56. package/dist/payments/free-tier-delegation.js +145 -0
  57. package/dist/payments/free-tier-delegation.js.map +1 -0
  58. package/dist/payments/free-tier-program.d.ts +97 -0
  59. package/dist/payments/free-tier-program.d.ts.map +1 -0
  60. package/dist/payments/free-tier-program.js +267 -0
  61. package/dist/payments/free-tier-program.js.map +1 -0
  62. package/dist/payments/free-tier-stake-resolver.d.ts +79 -0
  63. package/dist/payments/free-tier-stake-resolver.d.ts.map +1 -0
  64. package/dist/payments/free-tier-stake-resolver.js +152 -0
  65. package/dist/payments/free-tier-stake-resolver.js.map +1 -0
  66. package/dist/payments/free-tier-stake.d.ts +101 -0
  67. package/dist/payments/free-tier-stake.d.ts.map +1 -0
  68. package/dist/payments/free-tier-stake.js +116 -0
  69. package/dist/payments/free-tier-stake.js.map +1 -0
  70. package/dist/payments/index.d.ts +7 -1
  71. package/dist/payments/index.d.ts.map +1 -1
  72. package/dist/payments/index.js +3 -0
  73. package/dist/payments/index.js.map +1 -1
  74. package/dist/payments/seller-free-tier-limiter.d.ts +124 -6
  75. package/dist/payments/seller-free-tier-limiter.d.ts.map +1 -1
  76. package/dist/payments/seller-free-tier-limiter.js +342 -32
  77. package/dist/payments/seller-free-tier-limiter.js.map +1 -1
  78. package/dist/payments/seller-free-usage-manager.d.ts.map +1 -1
  79. package/dist/payments/seller-free-usage-manager.js +5 -1
  80. package/dist/payments/seller-free-usage-manager.js.map +1 -1
  81. package/dist/seller-request-handler.d.ts.map +1 -1
  82. package/dist/seller-request-handler.js +113 -19
  83. package/dist/seller-request-handler.js.map +1 -1
  84. package/dist/storage/migrate.d.ts +6 -0
  85. package/dist/storage/migrate.d.ts.map +1 -1
  86. package/dist/storage/migrate.js +11 -0
  87. package/dist/storage/migrate.js.map +1 -1
  88. package/dist/storage/migrations/metering/004_add_free_tier_staked_usage.d.ts +3 -0
  89. package/dist/storage/migrations/metering/004_add_free_tier_staked_usage.d.ts.map +1 -0
  90. package/dist/storage/migrations/metering/004_add_free_tier_staked_usage.js +21 -0
  91. package/dist/storage/migrations/metering/004_add_free_tier_staked_usage.js.map +1 -0
  92. package/dist/storage/migrations/metering/005_add_free_tier_scope.d.ts +8 -0
  93. package/dist/storage/migrations/metering/005_add_free_tier_scope.d.ts.map +1 -0
  94. package/dist/storage/migrations/metering/005_add_free_tier_scope.js +23 -0
  95. package/dist/storage/migrations/metering/005_add_free_tier_scope.js.map +1 -0
  96. package/dist/storage/migrations/metering/006_add_event_service.d.ts +4 -0
  97. package/dist/storage/migrations/metering/006_add_event_service.d.ts.map +1 -0
  98. package/dist/storage/migrations/metering/006_add_event_service.js +11 -0
  99. package/dist/storage/migrations/metering/006_add_event_service.js.map +1 -0
  100. package/dist/storage/migrations/metering/007_add_event_detail.d.ts +4 -0
  101. package/dist/storage/migrations/metering/007_add_event_detail.d.ts.map +1 -0
  102. package/dist/storage/migrations/metering/007_add_event_detail.js +12 -0
  103. package/dist/storage/migrations/metering/007_add_event_detail.js.map +1 -0
  104. package/dist/storage/migrations/metering/008_add_event_request_id.d.ts +4 -0
  105. package/dist/storage/migrations/metering/008_add_event_request_id.d.ts.map +1 -0
  106. package/dist/storage/migrations/metering/008_add_event_request_id.js +10 -0
  107. package/dist/storage/migrations/metering/008_add_event_request_id.js.map +1 -0
  108. package/dist/storage/migrations/metering/009_index_receipts_by_event.d.ts +4 -0
  109. package/dist/storage/migrations/metering/009_index_receipts_by_event.d.ts.map +1 -0
  110. package/dist/storage/migrations/metering/009_index_receipts_by_event.js +9 -0
  111. package/dist/storage/migrations/metering/009_index_receipts_by_event.js.map +1 -0
  112. package/dist/storage/migrations/metering/010_repair_free_tier_usage.d.ts +8 -0
  113. package/dist/storage/migrations/metering/010_repair_free_tier_usage.d.ts.map +1 -0
  114. package/dist/storage/migrations/metering/010_repair_free_tier_usage.js +35 -0
  115. package/dist/storage/migrations/metering/010_repair_free_tier_usage.js.map +1 -0
  116. package/dist/storage/migrations/metering/index.d.ts.map +1 -1
  117. package/dist/storage/migrations/metering/index.js +8 -1
  118. package/dist/storage/migrations/metering/index.js.map +1 -1
  119. package/dist/types/metering.d.ts +8 -0
  120. package/dist/types/metering.d.ts.map +1 -1
  121. package/dist/utils/file-lock.d.ts +12 -0
  122. package/dist/utils/file-lock.d.ts.map +1 -0
  123. package/dist/utils/file-lock.js +58 -0
  124. package/dist/utils/file-lock.js.map +1 -0
  125. package/package.json +11 -3
@@ -32,6 +32,9 @@ export function evaluateFreeTierLimits(checks, windowMs, nowMs) {
32
32
  * SQLite storage for metering data.
33
33
  * All data is stored locally on the user's machine.
34
34
  */
35
+ const DAY_MS = 86_400_000;
36
+ /** Rows a filtered request-log page walks before handing back a continuation. */
37
+ const DEFAULT_EVENT_SCAN_LIMIT = 5_000;
35
38
  export class MeteringStorage {
36
39
  db;
37
40
  lastFreeTierPruneAt = null;
@@ -40,8 +43,14 @@ export class MeteringStorage {
40
43
  * Creates tables if they don't exist.
41
44
  *
42
45
  * @param dbPath - Path to the SQLite database file (or ':memory:' for tests)
46
+ * @param options.readonly - Open an existing database for reads only, without
47
+ * migrations (e.g. a metrics exporter beside a running seller).
43
48
  */
44
- constructor(dbPath) {
49
+ constructor(dbPath, options = {}) {
50
+ if (options.readonly) {
51
+ this.db = new Database(dbPath, { readonly: true, fileMustExist: true });
52
+ return;
53
+ }
45
54
  this.db = new Database(dbPath);
46
55
  this.db.pragma('journal_mode = WAL');
47
56
  runMigrations(this.db, meteringMigrations);
@@ -55,13 +64,13 @@ export class MeteringStorage {
55
64
  seller_peer_id, buyer_peer_id,
56
65
  input_tokens, output_tokens, total_tokens,
57
66
  token_method, token_confidence,
58
- latency_ms, status_code, was_streaming
67
+ latency_ms, status_code, was_streaming, service, error, cached_input_tokens, request_id
59
68
  ) VALUES (
60
69
  @eventId, @sessionId, @timestamp, @provider,
61
70
  @sellerPeerId, @buyerPeerId,
62
71
  @inputTokens, @outputTokens, @totalTokens,
63
72
  @tokenMethod, @tokenConfidence,
64
- @latencyMs, @statusCode, @wasStreaming
73
+ @latencyMs, @statusCode, @wasStreaming, @service, @error, @cachedInputTokens, @requestId
65
74
  )
66
75
  `);
67
76
  stmt.run({
@@ -79,6 +88,10 @@ export class MeteringStorage {
79
88
  latencyMs: event.latencyMs,
80
89
  statusCode: event.statusCode,
81
90
  wasStreaming: event.wasStreaming ? 1 : 0,
91
+ service: event.service ?? null,
92
+ error: event.error ?? null,
93
+ cachedInputTokens: event.cachedInputTokens ?? null,
94
+ requestId: event.requestId ?? null,
82
95
  });
83
96
  }
84
97
  /** Get events for a session. */
@@ -254,6 +267,91 @@ export class MeteringStorage {
254
267
  totalCostCents: row.total_cost_cents,
255
268
  };
256
269
  }
270
+ /**
271
+ * One page of the request log, newest first. Keyset pagination on the
272
+ * timestamp index (`before` is the previous page's last `{ timestamp, rowid }`),
273
+ * so a page costs the same at any depth of a multi-GB table.
274
+ * A filtered page walks at most `scanLimit` rows: when they hold fewer
275
+ * matches than asked, `scannedTo` is where the walk stopped, to continue from.
276
+ */
277
+ listEventsPage(query) {
278
+ const filters = [];
279
+ if (query.buyerPeerId)
280
+ filters.push('e.buyer_peer_id = @buyer');
281
+ if (query.service)
282
+ filters.push('e.service = @service');
283
+ // A stream that fails after its 200 went out keeps the 200 but records the error.
284
+ if (query.errorsOnly)
285
+ filters.push("(e.status_code >= 400 OR (e.error IS NOT NULL AND e.error <> ''))");
286
+ const bounds = 'timestamp >= @from AND timestamp <= @beforeTs AND NOT (timestamp = @beforeTs AND rowid >= @beforeRowid)';
287
+ const params = {
288
+ from: query.fromMs ?? 0,
289
+ beforeTs: query.before?.timestamp ?? Number.MAX_SAFE_INTEGER,
290
+ beforeRowid: query.before?.rowid ?? Number.MAX_SAFE_INTEGER,
291
+ buyer: query.buyerPeerId ?? null,
292
+ service: query.service ?? null,
293
+ limit: Math.max(1, Math.min(query.limit, 500)),
294
+ scan: Math.max(1, query.scanLimit ?? DEFAULT_EVENT_SCAN_LIMIT),
295
+ };
296
+ // Unfiltered, every row walked is a row returned; filtered, the walk is the window `scan` rows long.
297
+ const window = filters.length === 0 ? 'metering_events' : `(
298
+ SELECT rowid AS rid FROM metering_events INDEXED BY idx_events_timestamp
299
+ WHERE ${bounds} ORDER BY timestamp DESC, rowid DESC LIMIT @scan
300
+ ) w JOIN metering_events`;
301
+ const rows = this.db.prepare(`
302
+ SELECT e.rowid AS rowid, e.event_id, e.session_id, e.timestamp, e.provider, e.service, e.buyer_peer_id,
303
+ e.input_tokens, e.output_tokens, e.total_tokens, e.token_method, e.latency_ms, e.status_code, e.was_streaming,
304
+ e.error, e.cached_input_tokens, r.cost_cents AS cost_cents
305
+ FROM ${window} e ${filters.length === 0 ? 'INDEXED BY idx_events_timestamp' : 'ON e.rowid = w.rid'}
306
+ LEFT JOIN usage_receipts r ON r.session_id = e.session_id AND r.event_id = e.event_id
307
+ WHERE ${filters.length === 0 ? bounds.replace(/(^|\(| AND )(timestamp|rowid)/g, '$1e.$2') : filters.join(' AND ')}
308
+ ORDER BY e.timestamp DESC, e.rowid DESC
309
+ LIMIT @limit
310
+ `).all(params);
311
+ if (filters.length === 0 || rows.length >= params.limit)
312
+ return { rows, scannedTo: null };
313
+ const beyond = this.db.prepare(`
314
+ SELECT timestamp, rowid FROM metering_events INDEXED BY idx_events_timestamp
315
+ WHERE ${bounds} ORDER BY timestamp DESC, rowid DESC LIMIT 2 OFFSET @scan - 1
316
+ `).all(params);
317
+ // Only when rows remain past the window: a walk that reached the end has nothing to continue.
318
+ const edge = beyond.length === 2 ? beyond[0] : null;
319
+ return { rows, scannedTo: edge ? { timestamp: edge.timestamp, rowid: edge.rowid } : null };
320
+ }
321
+ /**
322
+ * One request of the seller's log with everything kept about it: the event,
323
+ * its signed usage receipt and the buyer's check of it, and its metering session.
324
+ * A short id (the first characters, as the CLI prints them) matches by prefix on
325
+ * the primary key; null when it is unknown or matches more than one request.
326
+ */
327
+ getEventDetail(eventId) {
328
+ // An empty prefix would match every id.
329
+ if (!eventId)
330
+ return null;
331
+ const matches = this.db.prepare(`
332
+ SELECT e.rowid AS rowid, e.event_id, e.session_id, e.timestamp, e.provider, e.service, e.buyer_peer_id,
333
+ e.input_tokens, e.output_tokens, e.total_tokens, e.token_method, e.latency_ms, e.status_code, e.was_streaming,
334
+ e.error, e.cached_input_tokens, e.token_confidence, e.request_id,
335
+ r.cost_cents AS cost_cents, r.receipt_id, r.unit_price_cents_per_thousand_tokens AS unit_price_cents_per_thousand
336
+ FROM metering_events e
337
+ LEFT JOIN usage_receipts r ON r.session_id = e.session_id AND r.event_id = e.event_id
338
+ WHERE e.event_id >= @id AND e.event_id < @end
339
+ ORDER BY e.event_id
340
+ LIMIT 2
341
+ `).all({ id: eventId, end: eventId.length >= 36 ? `${eventId}\0` : `${eventId}\uffff` });
342
+ // A prefix that matches more than one request names none of them.
343
+ const event = matches.length === 1 || matches[0]?.event_id === eventId ? matches[0] : undefined;
344
+ if (!event)
345
+ return null;
346
+ const verification = event.receipt_id
347
+ ? this.db.prepare('SELECT signature_valid, buyer_total_tokens, percentage_difference, disputed FROM receipt_verifications WHERE receipt_id = ?')
348
+ .get(event.receipt_id)
349
+ : undefined;
350
+ const session = this.db.prepare('SELECT started_at, ended_at, total_requests, total_tokens, total_cost_cents, avg_latency_ms FROM sessions WHERE session_id = ?').get(event.session_id);
351
+ // The request's place in its session; sessions are short, so this reads few rows.
352
+ const position = this.db.prepare('SELECT COUNT(*) AS n FROM metering_events WHERE session_id = ? AND (timestamp < ? OR (timestamp = ? AND rowid <= ?))').get(event.session_id, event.timestamp, event.timestamp, event.rowid);
353
+ return { ...event, verification: verification ?? null, session: session ?? null, session_position: position.n };
354
+ }
257
355
  /** Get total tokens from metering events in a time range (real-time, per-request). */
258
356
  getEventTokenSummary(startMs, endMs) {
259
357
  const stmt = this.db.prepare(`
@@ -273,6 +371,70 @@ export class MeteringStorage {
273
371
  outputTokens: row.output_tokens,
274
372
  };
275
373
  }
374
+ /**
375
+ * Totals of the metering events after `afterRowid`, reading at most `limit`
376
+ * rows in rowid order, grouped by UTC day. Lets a reader keep running totals
377
+ * without re-scanning the whole table: pass the returned `lastRowid` next time.
378
+ */
379
+ summarizeEventsAfter(afterRowid, limit) {
380
+ const rows = this.db.prepare(`
381
+ SELECT
382
+ timestamp / ${DAY_MS} AS day,
383
+ MAX(rid) AS last_rowid,
384
+ COUNT(*) AS requests,
385
+ COALESCE(SUM(total_tokens), 0) AS total_tokens,
386
+ COALESCE(SUM(input_tokens), 0) AS input_tokens,
387
+ COALESCE(SUM(output_tokens), 0) AS output_tokens
388
+ FROM (
389
+ SELECT rowid AS rid, timestamp, total_tokens, input_tokens, output_tokens
390
+ FROM metering_events WHERE rowid > ? ORDER BY rowid LIMIT ?
391
+ )
392
+ GROUP BY day
393
+ `).all(afterRowid, limit);
394
+ return {
395
+ lastRowid: rows.reduce((max, row) => Math.max(max, row.last_rowid), afterRowid),
396
+ rows: rows.reduce((count, row) => count + row.requests, 0),
397
+ days: rows.map((row) => ({
398
+ day: row.day,
399
+ requests: row.requests,
400
+ totalTokens: row.total_tokens,
401
+ inputTokens: row.input_tokens,
402
+ outputTokens: row.output_tokens,
403
+ })),
404
+ };
405
+ }
406
+ /** Like `summarizeEventsAfter`, for usage receipt cost. */
407
+ summarizeReceiptsAfter(afterRowid, limit) {
408
+ const rows = this.db.prepare(`
409
+ SELECT
410
+ timestamp / ${DAY_MS} AS day,
411
+ MAX(rid) AS last_rowid,
412
+ COUNT(*) AS receipts,
413
+ COALESCE(SUM(cost_cents), 0) AS cost_cents
414
+ FROM (
415
+ SELECT rowid AS rid, timestamp, cost_cents
416
+ FROM usage_receipts WHERE rowid > ? ORDER BY rowid LIMIT ?
417
+ )
418
+ GROUP BY day
419
+ `).all(afterRowid, limit);
420
+ return {
421
+ lastRowid: rows.reduce((max, row) => Math.max(max, row.last_rowid), afterRowid),
422
+ rows: rows.reduce((count, row) => count + row.receipts, 0),
423
+ days: rows.map((row) => ({ day: row.day, costCents: row.cost_cents })),
424
+ };
425
+ }
426
+ /** `event_id` / `receipt_id` stored at the given rowids (null where there is no such row). */
427
+ getIdsAtRowids(eventRowid, receiptRowid) {
428
+ const event = this.db.prepare('SELECT event_id AS id FROM metering_events WHERE rowid = ?').get(eventRowid);
429
+ const receipt = this.db.prepare('SELECT receipt_id AS id FROM usage_receipts WHERE rowid = ?').get(receiptRowid);
430
+ return { eventId: event?.id ?? null, receiptId: receipt?.id ?? null };
431
+ }
432
+ /** Highest rowid in `metering_events` and `usage_receipts` (0 when empty). */
433
+ getMaxRowids() {
434
+ const events = this.db.prepare('SELECT COALESCE(MAX(rowid), 0) AS m FROM metering_events').get();
435
+ const receipts = this.db.prepare('SELECT COALESCE(MAX(rowid), 0) AS m FROM usage_receipts').get();
436
+ return { events: events.m, receipts: receipts.m };
437
+ }
276
438
  /**
277
439
  * Atomically consume one seller free-tier request in a sliding window.
278
440
  * Each configured limit (buyer address, remote IP) is checked; the request
@@ -290,35 +452,63 @@ export class MeteringStorage {
290
452
  const windowStart = nowMs - input.windowMs;
291
453
  const buyerAddress = input.buyerAddress.toLowerCase();
292
454
  const remoteIp = input.remoteIp ?? '';
455
+ const stake = input.stake ?? null;
456
+ const scope = input.scope ?? '';
293
457
  const pruneIntervalMs = Math.min(input.windowMs, 60 * 60_000);
294
458
  if (service !== null && (this.lastFreeTierPruneAt === null
295
459
  || nowMs < this.lastFreeTierPruneAt
296
460
  || nowMs - this.lastFreeTierPruneAt >= pruneIntervalMs)) {
297
- this.db.prepare('DELETE FROM free_tier_usage WHERE timestamp < ?').run(windowStart);
461
+ const retainFrom = nowMs - Math.max(input.windowMs, input.retentionMs ?? 0);
462
+ this.db.prepare('DELETE FROM free_tier_usage WHERE timestamp < ?').run(retainFrom);
463
+ this.db.prepare('DELETE FROM free_tier_position_usage WHERE timestamp < ?').run(retainFrom);
298
464
  this.lastFreeTierPruneAt = nowMs;
299
465
  }
300
- const countUsage = (column, key) => {
466
+ // Base limits count only unstaked requests, so staked traffic never uses
467
+ // up the allowance of unstaked buyers sharing an address or network.
468
+ const countBaseUsage = (column, key) => {
301
469
  const row = this.db.prepare(`
302
470
  SELECT COUNT(*) AS request_count, MIN(timestamp) AS oldest_timestamp
303
471
  FROM free_tier_usage
304
- WHERE ${column} = ? AND timestamp >= ?
305
- `).get(key, windowStart);
472
+ WHERE scope = ? AND ${column} = ? AND staked = 0 AND timestamp >= ?
473
+ `).get(scope, key, windowStart);
474
+ return { count: row.request_count, oldestTimestamp: row.oldest_timestamp };
475
+ };
476
+ const countPositionUsage = (positionId) => {
477
+ const row = this.db.prepare(`
478
+ SELECT COUNT(*) AS request_count, MIN(timestamp) AS oldest_timestamp
479
+ FROM free_tier_position_usage
480
+ WHERE scope = ? AND position_id = ? AND timestamp >= ?
481
+ `).get(scope, positionId, windowStart);
306
482
  return { count: row.request_count, oldestTimestamp: row.oldest_timestamp };
307
483
  };
308
484
  const consume = this.db.transaction(() => {
309
485
  const checks = [];
310
- if (input.maxRequestsPerAddress !== null) {
311
- checks.push({ kind: 'address', limit: input.maxRequestsPerAddress, ...countUsage('buyer_address', buyerAddress) });
486
+ if (stake) {
487
+ if (stake.limit !== null) {
488
+ for (const positionId of stake.positionIds) {
489
+ checks.push({ kind: 'stake', limit: stake.limit, ...countPositionUsage(positionId) });
490
+ }
491
+ }
312
492
  }
313
- if (input.maxRequestsPerIp !== null && remoteIp !== '') {
314
- checks.push({ kind: 'ip', limit: input.maxRequestsPerIp, ...countUsage('remote_ip', remoteIp) });
493
+ else {
494
+ if (input.maxRequestsPerAddress !== null) {
495
+ checks.push({ kind: 'address', limit: input.maxRequestsPerAddress, ...countBaseUsage('buyer_address', buyerAddress) });
496
+ }
497
+ if (input.maxRequestsPerIp !== null && remoteIp !== '') {
498
+ checks.push({ kind: 'ip', limit: input.maxRequestsPerIp, ...countBaseUsage('remote_ip', remoteIp) });
499
+ }
315
500
  }
316
501
  const decision = evaluateFreeTierLimits(checks, input.windowMs, nowMs);
317
502
  if (decision.allowed && service !== null) {
318
503
  this.db.prepare(`
319
- INSERT INTO free_tier_usage (buyer_address, remote_ip, service, timestamp)
320
- VALUES (?, ?, ?, ?)
321
- `).run(buyerAddress, remoteIp, service, nowMs);
504
+ INSERT INTO free_tier_usage (buyer_address, remote_ip, service, timestamp, staked, scope)
505
+ VALUES (?, ?, ?, ?, ?, ?)
506
+ `).run(buyerAddress, remoteIp, service, nowMs, stake ? 1 : 0, scope);
507
+ if (stake && stake.limit !== null) {
508
+ const recordPosition = this.db.prepare('INSERT INTO free_tier_position_usage (position_id, timestamp, scope) VALUES (?, ?, ?)');
509
+ for (const positionId of stake.positionIds)
510
+ recordPosition.run(positionId, nowMs, scope);
511
+ }
322
512
  }
323
513
  return decision;
324
514
  });
@@ -364,6 +554,7 @@ export class MeteringStorage {
364
554
  const verificationsResult = deleteVerifications.run(timestampMs);
365
555
  const sessionsResult = deleteSessions.run(timestampMs);
366
556
  const freeTierUsageResult = deleteFreeTierUsage.run(timestampMs);
557
+ this.db.prepare('DELETE FROM free_tier_position_usage WHERE timestamp < ?').run(timestampMs);
367
558
  return {
368
559
  eventsDeleted: eventsResult.changes,
369
560
  receiptsDeleted: receiptsResult.changes,
@@ -410,6 +601,10 @@ function rowToEvent(row) {
410
601
  latencyMs: row.latency_ms,
411
602
  statusCode: row.status_code,
412
603
  wasStreaming: row.was_streaming === 1,
604
+ ...(row.service !== null ? { service: row.service } : {}),
605
+ ...(row.error !== null ? { error: row.error } : {}),
606
+ ...(row.cached_input_tokens !== null ? { cachedInputTokens: row.cached_input_tokens } : {}),
607
+ ...(row.request_id !== null ? { requestId: row.request_id } : {}),
413
608
  };
414
609
  }
415
610
  function rowToReceipt(row) {
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/metering/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/metering/storage.ts"],"names":[],"mappings":"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"}
package/dist/node.d.ts CHANGED
@@ -15,6 +15,8 @@ import { type PaymentConfig, type PaymentMethod, FreeUsageClient, BuyerFreeUsage
15
15
  import { BuyerPaymentManager, type BuyerPaymentConfig } from "./payments/buyer-payment-manager.js";
16
16
  import { BuyerPaymentNegotiator } from "./payments/buyer-payment-negotiator.js";
17
17
  import { type RpcHealthStatus } from "./payments/rpc-health.js";
18
+ import { type FreeTierDelegation } from "./payments/free-tier-delegation.js";
19
+ import { type AbstractProvider } from "ethers";
18
20
  import { IdentityClient } from "./payments/evm/identity-client.js";
19
21
  import { type RequestStreamCallbacks, type RequestStreamResponseMetadata, type RequestExecutionOptions } from "./buyer-request-handler.js";
20
22
  /** How long an on-chain trust read of a peer is reused before it is read again. */
@@ -78,6 +80,12 @@ export interface NodePaymentsConfig {
78
80
  rpcUrl?: string;
79
81
  /** Additional RPC endpoints for transparent failover via ethers FallbackProvider (quorum=1). */
80
82
  fallbackRpcUrls?: string[];
83
+ /**
84
+ * A provider the host shares for read-only chain calls (discovery's on-chain
85
+ * peer enrichment): e.g. one that batches into Multicall3 and backs off on
86
+ * 429s. Transactions always use the payment clients' own providers.
87
+ */
88
+ readProvider?: AbstractProvider;
81
89
  /** Deployed AntseedDeposits contract address */
82
90
  depositsAddress?: string;
83
91
  /** Deployed AntseedChannels contract address */
@@ -180,6 +188,12 @@ export interface NodeConfig {
180
188
  payments?: NodePaymentsConfig;
181
189
  /** Optional per-address request limit for zero-priced seller services. */
182
190
  freeTier?: SellerFreeTierConfig;
191
+ /**
192
+ * Buyer side: stakers' signed consent to count their stake toward this
193
+ * node's buyer identities on sellers' staked free tiers. Each identity sends
194
+ * only the delegations naming its own address.
195
+ */
196
+ freeTierDelegations?: FreeTierDelegation[];
183
197
  /** Seller free-usage on-chain record batching. */
184
198
  freeUsage?: {
185
199
  recordBatchSize?: number;
@@ -191,6 +205,11 @@ export interface NodeConfig {
191
205
  verification?: NodeVerificationConfig;
192
206
  /** Pluggable identity storage backend. When set, takes precedence over dataDir for identity loading. */
193
207
  identityStore?: IdentityStore;
208
+ /**
209
+ * An identity to use as is, ahead of the environment's and the stored one
210
+ * (e.g. a throwaway key for a short-lived discovery node).
211
+ */
212
+ identity?: Identity;
194
213
  /** Optional explicit config.json path for runtime config reloads. */
195
214
  configPath?: string;
196
215
  /**
@@ -285,6 +304,8 @@ export declare class AntseedNode extends EventEmitter {
285
304
  private _buyerIdentities;
286
305
  /** Seller-side deposit-sweep relayer (initialized when configured + enabled). */
287
306
  private _depositRelayer;
307
+ /** Settles or closes a buyer's channel when its metering session goes idle; removed on stop. */
308
+ private _settleOnIdle;
288
309
  /** Seller-side request handler (provider matching, execution, load tracking). */
289
310
  private _sellerHandler;
290
311
  /** Buyer-side payment manager (initialized when buyer has payment config). */
@@ -581,6 +602,29 @@ export declare class AntseedNode extends EventEmitter {
581
602
  broadcastSweepRequest(payload: SweepRequestPayload): number;
582
603
  private _resolvePublicAddress;
583
604
  private _lookupResultToPeerInfo;
605
+ /** Replace the buyer's free-tier delegations; later requests send the new set. */
606
+ setFreeTierDelegations(delegations: FreeTierDelegation[]): void;
607
+ /** Header value carrying the unexpired delegations to `buyerAddress`, or null when there are none. */
608
+ private _freeTierDelegationsHeader;
609
+ /**
610
+ * Back staked free-tier tiers with on-chain reads: the positions of the
611
+ * buyer and of every staker that signed a delegation to it in this seller's
612
+ * pool. Without the seller pools contract every buyer keeps the base limits
613
+ * and no tiers are advertised.
614
+ */
615
+ /**
616
+ * Free-tier programs to advertise within what is left of the peer
617
+ * capability limit. Programs that do not fit are still enforced; buyers
618
+ * learn them from the seller's refusals instead.
619
+ */
620
+ /**
621
+ * Offered services by whether some provider charges for them (tokens or any
622
+ * priced unit-billing model), as the request handler decides it. A paid
623
+ * service's allowance never admits a free-usage channel; the free ones decide admission.
624
+ */
625
+ private _offeredServicesByPrice;
626
+ private _freeTierCapabilities;
627
+ private _initializeFreeTierStakeResolver;
584
628
  private _warnIfFreeUsageMeteringUnavailable;
585
629
  private _hasFreePricedService;
586
630
  private _isZeroPricing;
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}