@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
@@ -1,4 +1,12 @@
1
1
  import { ANTSEED_ATTEST_PATH } from './interfaces/plugin.js';
2
+ import { FREE_TIER_SERVED_COVERED, FREE_TIER_SERVED_HEADER, powerToAntsEpochs } from './payments/free-tier-program.js';
3
+ import { FREE_TIER_DELEGATIONS_HEADER } from './payments/free-tier-delegation.js';
4
+ const FREE_TIER_EXHAUSTED_MESSAGES = {
5
+ address: 'This seller free tier has been exhausted for your buyer address.',
6
+ ip: 'This seller free tier has been exhausted for your IP address.',
7
+ stake: 'This seller staked free tier has been exhausted for your stake.',
8
+ stake_required: 'This model is free only for buyers staked on this seller.',
9
+ };
2
10
  import { ProxyMux } from './proxy/proxy-mux.js';
3
11
  import { computeCostUsdc, estimateTokensFromBytes, } from './payments/pricing.js';
4
12
  import { debugLog, debugWarn } from './utils/debug.js';
@@ -31,6 +39,7 @@ export function assertSingleRoutingService(providers) {
31
39
  }
32
40
  }
33
41
  }
42
+ const FREE_TOKEN_PRICING = { inputUsdPerMillion: 0, outputUsdPerMillion: 0 };
34
43
  function isZeroTokenPricing(pricing) {
35
44
  return pricing.inputUsdPerMillion === 0
36
45
  && pricing.outputUsdPerMillion === 0
@@ -47,6 +56,26 @@ function setTrustedHeader(headers, name, value) {
47
56
  }
48
57
  headers[name] = value;
49
58
  }
59
+ /**
60
+ * Only this seller decides whether a free allowance covered a request: drop
61
+ * any copy of the marker the provider sent, then set it when it applies.
62
+ */
63
+ function markFreeAllowance(headers, covered) {
64
+ takeHeader(headers, FREE_TIER_SERVED_HEADER);
65
+ if (covered)
66
+ setTrustedHeader(headers, FREE_TIER_SERVED_HEADER, FREE_TIER_SERVED_COVERED);
67
+ }
68
+ /** Remove a header in any letter case and return its value. */
69
+ function takeHeader(headers, name) {
70
+ let value;
71
+ for (const key of Object.keys(headers)) {
72
+ if (key.toLowerCase() === name) {
73
+ value = headers[key];
74
+ delete headers[key];
75
+ }
76
+ }
77
+ return value;
78
+ }
50
79
  /** Debounce interval for metadata refresh after load changes. */
51
80
  const METADATA_REFRESH_DEBOUNCE_MS = 200;
52
81
  /** Time to wait for a catch-up SpendingAuth before returning 402. */
@@ -101,6 +130,10 @@ export class SellerRequestHandler {
101
130
  });
102
131
  mux.onProxyRequest(async (request) => {
103
132
  debugLog(`[SellerHandler] Received request: ${request.method} ${request.path} (reqId=${request.requestId.slice(0, 8)})`);
133
+ // Response auth signs the request as the buyer sent it, so keep its headers before removing seller-only ones.
134
+ const wireHeaders = { ...request.headers };
135
+ // Delegations are for this seller only: no route may pass them on to a provider or prover.
136
+ const delegationsHeader = takeHeader(request.headers, FREE_TIER_DELEGATIONS_HEADER);
104
137
  // Handle /v1/models locally — free metadata endpoint, no payment required.
105
138
  // Compare against the path without its query string so callers like
106
139
  // Codex CLI (which appends `?client_version=…`) hit the local fast path.
@@ -245,14 +278,42 @@ export class SellerRequestHandler {
245
278
  return;
246
279
  }
247
280
  const estimatedRequestCost = requestCostEstimate?.cost ?? 0n;
248
- if (isFreeTierRequest && this._deps.sellerFreeTierLimiter) {
249
- const requestedService = this._extractRequestedService(request) ?? 'unknown';
281
+ const freeTierService = this._extractRequestedService(request) ?? 'unknown';
282
+ const freeTierLimiter = this._deps.sellerFreeTierLimiter;
283
+ // A priced service with its own program serves the requests that program
284
+ // covers for free; the rest are paid as usual, never refused. Videos are
285
+ // paid through one-off channels and are not covered.
286
+ let coveredByAllowance = false;
287
+ if (!isFreeService && !videoRoute && freeTierLimiter?.appliesTo(freeTierService, { paid: true })) {
288
+ try {
289
+ const standing = await freeTierLimiter.resolveStanding(buyerPeerId, delegationsHeader ?? '');
290
+ const decision = freeTierLimiter.consume({
291
+ buyerPeerId,
292
+ service: freeTierService,
293
+ remoteIp: conn.remoteAddress ?? null,
294
+ standing,
295
+ paid: true,
296
+ });
297
+ coveredByAllowance = decision.allowed;
298
+ debugLog(`[SellerHandler] Free allowance ${coveredByAllowance ? 'covers' : `does not cover (limitedBy=${decision.limitedBy})`} ` +
299
+ `${freeTierService} for ${decision.buyerAddress}`);
300
+ }
301
+ catch (err) {
302
+ // Failing to account leaves the request paid: it can only cost the buyer the listed price.
303
+ debugWarn(`[SellerHandler] Free-allowance accounting failed for ${buyerPeerId.slice(0, 12)}..., charging as usual: ${err instanceof Error ? err.message : err}`);
304
+ }
305
+ }
306
+ const isServedFree = isFreeService || coveredByAllowance;
307
+ if (isFreeTierRequest && freeTierLimiter?.appliesTo(freeTierService)) {
250
308
  let decision;
251
309
  try {
252
- decision = this._deps.sellerFreeTierLimiter.consume({
310
+ // No header means the buyer has no codes any more: '' forgets the remembered ones.
311
+ const standing = await freeTierLimiter.resolveStanding(buyerPeerId, delegationsHeader ?? '');
312
+ decision = freeTierLimiter.consume({
253
313
  buyerPeerId,
254
- service: requestedService,
314
+ service: freeTierService,
255
315
  remoteIp: conn.remoteAddress ?? null,
316
+ standing,
256
317
  });
257
318
  }
258
319
  catch (err) {
@@ -273,12 +334,19 @@ export class SellerRequestHandler {
273
334
  return;
274
335
  }
275
336
  if (!decision.allowed) {
276
- const retryAfterSeconds = Math.max(1, Math.ceil(decision.retryAfterMs / 1000));
277
- const limiter = this._deps.sellerFreeTierLimiter;
278
337
  const limitedBy = decision.limitedBy ?? 'address';
279
- const limit = limitedBy === 'ip' ? limiter.maxRequestsPerIp : limiter.maxRequestsPerAddress;
280
- debugLog(`[SellerHandler] Free tier exhausted for ${decision.buyerAddress} ip=${decision.remoteIp ?? 'unknown'} ` +
281
- `(limitedBy=${limitedBy}, limit=${limit}, windowMs=${limiter.windowMs})`);
338
+ const program = decision.program;
339
+ const { windowMs } = program.base;
340
+ // Waiting never lifts a stakers-only refusal; only staking does.
341
+ const retryAfterSeconds = limitedBy === 'stake_required'
342
+ ? Math.ceil(windowMs / 1000)
343
+ : Math.max(1, Math.ceil(decision.retryAfterMs / 1000));
344
+ const limit = decision.limit;
345
+ debugLog(`[SellerHandler] Free tier refused ${freeTierService} for ${decision.buyerAddress} ip=${decision.remoteIp ?? 'unknown'} ` +
346
+ `stakers=${decision.standing?.stakers.join('+') ?? 'none'} (limitedBy=${limitedBy}, limit=${limit}, windowMs=${windowMs})`);
347
+ const stakeHint = limitedBy !== 'stake_required' && program.stakeTiers.length > 0
348
+ ? ' Stake ANTS on this seller to raise the limit.'
349
+ : '';
282
350
  mux.sendProxyResponse({
283
351
  requestId: request.requestId,
284
352
  statusCode: 429,
@@ -288,16 +356,23 @@ export class SellerRequestHandler {
288
356
  },
289
357
  body: new TextEncoder().encode(JSON.stringify({
290
358
  error: {
291
- message: limitedBy === 'ip'
292
- ? 'This seller free tier has been exhausted for your IP address.'
293
- : 'This seller free tier has been exhausted for your buyer address.',
359
+ message: FREE_TIER_EXHAUSTED_MESSAGES[limitedBy] + stakeHint,
294
360
  type: 'rate_limit_error',
295
361
  code: 'free_tier_exhausted',
296
362
  },
297
363
  limitedBy,
298
364
  limit,
299
- windowMs: limiter.windowMs,
365
+ windowMs,
300
366
  retryAfterSeconds,
367
+ // The allowance tier multipliers apply to, so a buyer can name a tier in requests.
368
+ baseLimit: program.base.maxRequestsPerAddress ?? program.base.maxRequestsPerIp,
369
+ ...(program.base.stakersOnly ? { stakersOnly: true } : {}),
370
+ ...(program.stakeTiers.length > 0
371
+ ? {
372
+ stakeTiers: program.stakeTiers,
373
+ stakePower: decision.standing ? powerToAntsEpochs(decision.standing.power) : 0,
374
+ }
375
+ : {}),
301
376
  })),
302
377
  });
303
378
  return;
@@ -344,7 +419,7 @@ export class SellerRequestHandler {
344
419
  if (this._deps.channelsClient && !spmAuthorized && !oneOffChannelId) {
345
420
  // Free services skip the payment channel handshake entirely — no 402,
346
421
  // no ReserveAuth, no on-chain reserve.
347
- if (isFreeService) {
422
+ if (isServedFree) {
348
423
  debugLog(`[SellerHandler] Free service for ${buyerPeerId.slice(0, 12)}... — skipping 402 / payment channel`);
349
424
  }
350
425
  else {
@@ -386,7 +461,7 @@ export class SellerRequestHandler {
386
461
  // Check budget before routing — reject if buyer hasn't authorized enough.
387
462
  // Free requests must not be blocked by an existing exhausted/blocked paid
388
463
  // payment channel for the same buyer.
389
- if (spm && !isFreeService && !oneOffChannelId) {
464
+ if (spm && !isServedFree && !oneOffChannelId) {
390
465
  const initialSession = spm.getChannelByPeer(buyerPeerId);
391
466
  if (initialSession) {
392
467
  // Drain any in-flight SpendingAuth processing (e.g. an on-chain top-up
@@ -530,7 +605,7 @@ export class SellerRequestHandler {
530
605
  }
531
606
  const responseAuthRequest = {
532
607
  ...request,
533
- headers: { ...request.headers },
608
+ headers: wireHeaders,
534
609
  };
535
610
  // Track active seller session at request start
536
611
  this._deps.sessionTracker?.getOrCreateSession(buyerPeerId, provider.name);
@@ -544,6 +619,8 @@ export class SellerRequestHandler {
544
619
  let statusCode = 500;
545
620
  let responseBody = new Uint8Array(0);
546
621
  let streamedResponseStarted = false;
622
+ // Kept in the seller's request log when the provider call throws (the status alone says little).
623
+ let failureMessage = null;
547
624
  const isDownload = videoRoute?.action === 'retrieve' && request.headers[VIDEO_DOWNLOAD_STREAM_HEADER] === VIDEO_DOWNLOAD_STREAM_VERSION;
548
625
  let downloadHash;
549
626
  let heldDoneChunkData = null;
@@ -557,7 +634,7 @@ export class SellerRequestHandler {
557
634
  // Hold the channel open for the whole billable span — provider call,
558
635
  // spend recording, and NeedAuth — so a buyer-requested close can't land
559
636
  // between serving the request and claiming its cost.
560
- const isBillable = !isFreeService && !oneOffChannelId && (spm?.hasSession(buyerPeerId) ?? false);
637
+ const isBillable = !isServedFree && !oneOffChannelId && (spm?.hasSession(buyerPeerId) ?? false);
561
638
  if (isBillable && spm.hasClosingChannel(buyerPeerId)) {
562
639
  mux.sendProxyResponse({
563
640
  requestId: request.requestId,
@@ -578,6 +655,7 @@ export class SellerRequestHandler {
578
655
  let response = await this._executeRequest(provider, request, {
579
656
  signal: isDownload ? mux.downloadSignal(request.requestId) : undefined,
580
657
  onResponseStart: (streamResponseStart) => {
658
+ markFreeAllowance(streamResponseStart.headers, coveredByAllowance);
581
659
  if (isDownload)
582
660
  downloadHash = createStreamingResponseHash(streamResponseStart);
583
661
  streamedResponseStarted = true;
@@ -603,6 +681,10 @@ export class SellerRequestHandler {
603
681
  mux.sendProxyChunk(chunk);
604
682
  },
605
683
  });
684
+ if (!streamedResponseStarted) {
685
+ response = { ...response, headers: { ...response.headers } };
686
+ markFreeAllowance(response.headers, coveredByAllowance);
687
+ }
606
688
  // A video is charged when the buyer downloads it, not on acceptance.
607
689
  if (videoRoute?.action === 'create') {
608
690
  response = this._acceptVideoCreate(videoRoute, request, response, buyerPeerId, requestedModel, requestBilling, unitBillingModel, oneOffChannelId);
@@ -612,6 +694,9 @@ export class SellerRequestHandler {
612
694
  responseForAuth = response;
613
695
  if (downloadHash)
614
696
  responseForAuth = { ...response, streamedBody: downloadHash.finish() };
697
+ // The upstream's answer for its account health (an out-of-credit error is seen here first).
698
+ // Polling or downloading a video already paid for says nothing about the account's credit.
699
+ this._deps.emit('provider:response', { provider, statusCode, body: statusCode >= 400 ? new TextDecoder().decode(responseBody.slice(0, 2_000)) : '', billable: videoRoute?.action !== 'retrieve' });
615
700
  if (statusCode >= 400) {
616
701
  const errBody = new TextDecoder().decode(responseBody).slice(0, 200);
617
702
  debugWarn(`[SellerHandler] Provider error response: status=${statusCode} provider="${provider.name}" model="${requestedModel}" buyer=${buyerPeerId.slice(0, 12)}... (${Date.now() - startTime}ms) body=${errBody}`);
@@ -649,6 +734,7 @@ export class SellerRequestHandler {
649
734
  }
650
735
  catch (err) {
651
736
  const message = err instanceof Error ? err.message : "Internal error";
737
+ failureMessage = message;
652
738
  debugWarn(`[SellerHandler] Provider exception: provider="${provider.name}" model="${requestedModel}" buyer=${buyerPeerId.slice(0, 12)}... (${Date.now() - startTime}ms) ${message}`);
653
739
  if (videoRoute?.action === 'create')
654
740
  this._closeOneOffBestEffort(oneOffChannelId, 'video create failed');
@@ -703,7 +789,8 @@ export class SellerRequestHandler {
703
789
  await this._deps.sessionTracker.recordMetering({
704
790
  buyerPeerId,
705
791
  providerName: provider.name,
706
- pricing: requestPricing,
792
+ // A request the free allowance covered earned nothing.
793
+ pricing: coveredByAllowance ? FREE_TOKEN_PRICING : requestPricing,
707
794
  request,
708
795
  statusCode,
709
796
  latencyMs,
@@ -711,11 +798,13 @@ export class SellerRequestHandler {
711
798
  outputBytes: responseForAuth?.streamedBody?.byteLength ?? responseBody.length,
712
799
  responseBody,
713
800
  providerUsage: responseUsage,
801
+ ...(requestedModel !== 'unknown' ? { service: requestedModel } : {}),
802
+ ...(failureMessage ? { error: failureMessage } : {}),
714
803
  });
715
804
  }
716
805
  // Record spend and send NeedAuth with cost data after every request.
717
806
  // The buyer validates the cost independently and responds with SpendingAuth.
718
- if (!isFreeService && !oneOffChannelId && spm?.hasSession(buyerPeerId)) {
807
+ if (!isServedFree && !oneOffChannelId && spm?.hasSession(buyerPeerId)) {
719
808
  const usage = responseUsage;
720
809
  const tokenCostUsdc = computeCostUsdc(usage.freshInputTokens, usage.outputTokens, requestPricing, usage.cachedInputTokens);
721
810
  const costUsdc = tokenCostUsdc + unitCostUsdc;
@@ -1140,6 +1229,11 @@ export class SellerRequestHandler {
1140
1229
  };
1141
1230
  }
1142
1231
  _estimateMaxTokenRequestCostUsdc(request, pricing) {
1232
+ // A free model costs nothing whatever the size: skip parsing and token
1233
+ // estimation, which on multi-MB bodies were a large share of the seller's CPU.
1234
+ if (isZeroTokenPricing(pricing)) {
1235
+ return { cost: 0n, inputTokens: 0, maxOutputTokens: 0 };
1236
+ }
1143
1237
  if (!this._isJsonRequest(request)) {
1144
1238
  return null;
1145
1239
  }
@@ -1 +1 @@
1
- {"version":3,"file":"seller-request-handler.js","sourceRoot":"","sources":["../src/seller-request-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seller-request-handler.js","sourceRoot":"","sources":["../src/seller-request-handler.ts"],"names":[],"mappings":"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"}
@@ -10,4 +10,10 @@ export interface Migration {
10
10
  * Each migration runs in a transaction.
11
11
  */
12
12
  export declare function runMigrations(db: Database.Database, migrations: Migration[]): void;
13
+ /**
14
+ * `ALTER TABLE … ADD COLUMN` that is a no-op when the column is already there,
15
+ * for migrations that may meet a database where a test build added it under
16
+ * another version number.
17
+ */
18
+ export declare function addColumnIfMissing(db: Database.Database, table: string, column: string, definition: string): void;
13
19
  //# sourceMappingURL=migrate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/storage/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC;CACrC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CA2BlF"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/storage/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC;CACrC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CA2BlF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAIjH"}
@@ -25,4 +25,15 @@ export function runMigrations(db, migrations) {
25
25
  applied.add(migration.version);
26
26
  }
27
27
  }
28
+ /**
29
+ * `ALTER TABLE … ADD COLUMN` that is a no-op when the column is already there,
30
+ * for migrations that may meet a database where a test build added it under
31
+ * another version number.
32
+ */
33
+ export function addColumnIfMissing(db, table, column, definition) {
34
+ const columns = db.prepare(`PRAGMA table_info(${table})`).all();
35
+ if (columns.some((entry) => entry.name === column))
36
+ return;
37
+ db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
38
+ }
28
39
  //# sourceMappingURL=migrate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/storage/migrate.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,EAAqB,EAAE,UAAuB;IAC1E,EAAE,CAAC,IAAI,CAAC;;;;;;GAMP,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,GAAG,CACpB,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,EAA4B;SAC9E,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CACvB,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAErE,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC;YAAE,SAAS;QAE7C,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAClB,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACjB,EAAE,CAAC,OAAO,CAAC,yEAAyE,CAAC;iBAClF,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/storage/migrate.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,EAAqB,EAAE,UAAuB;IAC1E,EAAE,CAAC,IAAI,CAAC;;;;;;GAMP,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,GAAG,CACpB,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,EAA4B;SAC9E,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CACvB,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAErE,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC;YAAE,SAAS;QAE7C,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAClB,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACjB,EAAE,CAAC,OAAO,CAAC,yEAAyE,CAAC;iBAClF,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAqB,EAAE,KAAa,EAAE,MAAc,EAAE,UAAkB;IACzG,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,qBAAqB,KAAK,GAAG,CAAC,CAAC,GAAG,EAA6B,CAAC;IAC3F,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;QAAE,OAAO;IAC3D,EAAE,CAAC,IAAI,CAAC,eAAe,KAAK,eAAe,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;AACrE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Migration } from '../../migrate.js';
2
+ export declare const migration: Migration;
3
+ //# sourceMappingURL=004_add_free_tier_staked_usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"004_add_free_tier_staked_usage.d.ts","sourceRoot":"","sources":["../../../../src/storage/migrations/metering/004_add_free_tier_staked_usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,eAAO,MAAM,SAAS,EAAE,SAmBvB,CAAC"}
@@ -0,0 +1,21 @@
1
+ export const migration = {
2
+ version: 4,
3
+ name: 'add_free_tier_staked_usage',
4
+ up: (db) => {
5
+ db.exec(`
6
+ ALTER TABLE free_tier_usage ADD COLUMN staked INTEGER NOT NULL DEFAULT 0;
7
+
8
+ CREATE TABLE IF NOT EXISTS free_tier_position_usage (
9
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
10
+ position_id INTEGER NOT NULL,
11
+ timestamp INTEGER NOT NULL
12
+ );
13
+
14
+ CREATE INDEX IF NOT EXISTS idx_free_tier_position_usage_position_timestamp
15
+ ON free_tier_position_usage(position_id, timestamp);
16
+ CREATE INDEX IF NOT EXISTS idx_free_tier_position_usage_timestamp
17
+ ON free_tier_position_usage(timestamp);
18
+ `);
19
+ },
20
+ };
21
+ //# sourceMappingURL=004_add_free_tier_staked_usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"004_add_free_tier_staked_usage.js","sourceRoot":"","sources":["../../../../src/storage/migrations/metering/004_add_free_tier_staked_usage.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,4BAA4B;IAClC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;KAaP,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { Migration } from '../../migrate.js';
2
+ /**
3
+ * Free-tier usage is counted per program: '' for the seller-wide program, or
4
+ * the service id of a service with its own program, so models with their own
5
+ * limits never share counters with the rest.
6
+ */
7
+ export declare const migration: Migration;
8
+ //# sourceMappingURL=005_add_free_tier_scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"005_add_free_tier_scope.d.ts","sourceRoot":"","sources":["../../../../src/storage/migrations/metering/005_add_free_tier_scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,SAgBvB,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Free-tier usage is counted per program: '' for the seller-wide program, or
3
+ * the service id of a service with its own program, so models with their own
4
+ * limits never share counters with the rest.
5
+ */
6
+ export const migration = {
7
+ version: 5,
8
+ name: 'add_free_tier_scope',
9
+ up: (db) => {
10
+ db.exec(`
11
+ ALTER TABLE free_tier_usage ADD COLUMN scope TEXT NOT NULL DEFAULT '';
12
+ ALTER TABLE free_tier_position_usage ADD COLUMN scope TEXT NOT NULL DEFAULT '';
13
+
14
+ CREATE INDEX IF NOT EXISTS idx_free_tier_usage_scope_buyer_timestamp
15
+ ON free_tier_usage(scope, buyer_address, timestamp);
16
+ CREATE INDEX IF NOT EXISTS idx_free_tier_usage_scope_ip_timestamp
17
+ ON free_tier_usage(scope, remote_ip, timestamp);
18
+ CREATE INDEX IF NOT EXISTS idx_free_tier_position_usage_scope_position_timestamp
19
+ ON free_tier_position_usage(scope, position_id, timestamp);
20
+ `);
21
+ },
22
+ };
23
+ //# sourceMappingURL=005_add_free_tier_scope.js.map