@antseed/node 0.2.164 → 0.2.165

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.
@@ -16,7 +16,7 @@ export const MAX_RESULTS_PER_MODEL_AUDIT = 256;
16
16
  /** AntseedKbfAudits profile limits. */
17
17
  export const MAX_AUDITOR_PROFILE_NAME_BYTES = 64;
18
18
  export const MAX_AUDITOR_PROFILE_URI_BYTES = 256;
19
- /** `AntseedVerificationResults.REWARDS_OFF`: a source's rewards start epoch while its rewards are off. */
19
+ /** `AntseedVerificationResults.REWARDS_OFF`: an audit's rewards start epoch while its rewards are off. */
20
20
  export const VERIFICATION_REWARDS_OFF = 2n ** 64n - 1n;
21
21
  /** Throws when `profile` would be rejected by `setAuditorProfile`, with the reason. */
22
22
  export function validateAuditorProfile(profile) {
@@ -41,7 +41,7 @@ export function validateAuditorProfile(profile) {
41
41
  }
42
42
  }
43
43
  }
44
- /** `AntseedKbfAudits`: the KBF source verifiers submit to. */
44
+ /** `AntseedKbfAudits`: the KBF audit auditors submit to. */
45
45
  export const KBF_AUDITS_ABI = [
46
46
  'function submitModelAudit(uint256 expectedEpoch,bytes32 modelHash,bytes32 evidenceHash,string evidenceUri,(uint256 agentId,bytes32 serviceHash,uint8 verdict)[] results) external',
47
47
  'function requiredReports(uint8 verdict) external view returns (uint8)',
@@ -49,10 +49,16 @@ export const KBF_AUDITS_ABI = [
49
49
  'function reportKey(uint256 epoch,uint256 agentId,bytes32 serviceHash,bytes32 modelHash,uint256 round) external pure returns (bytes32)',
50
50
  'function reportOf(bytes32 key,address auditor) external view returns (uint8)',
51
51
  'function reportCount(bytes32 key,uint8 verdict) external view returns (uint256)',
52
- 'function modelCredits(uint256 epoch,address auditor,bytes32 modelHash) external view returns (uint256)',
52
+ 'function creditedAudits(uint256 epoch,address auditor,bytes32 modelHash) external view returns (uint256)',
53
53
  'function maxCreditsPerModelPerEpoch() external view returns (uint32)',
54
+ 'function creditsPerAudit() external view returns (uint32)',
55
+ 'function modelCreditsPerAudit(bytes32 modelHash) external view returns (uint32)',
56
+ 'function creditsFor(bytes32 modelHash) external view returns (uint256)',
57
+ 'function validityEpochs() external view returns (uint8)',
58
+ 'function diffReplacementReports() external view returns (uint8)',
54
59
  'function results() external view returns (address)',
55
60
  'function sellerPools() external view returns (address)',
61
+ 'function identityRegistry() external view returns (address)',
56
62
  'function approvedAuditors(address auditor) external view returns (bool)',
57
63
  'function auditorRevocations() external view returns (uint256)',
58
64
  'function agentOwner(uint256 agentId) external view returns (bool known,address owner)',
@@ -62,55 +68,46 @@ export const KBF_AUDITS_ABI = [
62
68
  'event AuditorProfileSet(address indexed auditor,string name,string iconUri,string url)',
63
69
  'event ModelAudited(bytes32 indexed modelHash,address indexed auditor,uint256 indexed epoch,bytes32 evidenceHash,string evidenceUri,uint256 resultCount)',
64
70
  'event ServiceAudited(uint256 indexed agentId,bytes32 indexed serviceHash,address indexed auditor,bytes32 modelHash,uint8 verdict,uint256 round,uint256 reports,uint256 required)',
65
- 'event AuditCredited(uint256 indexed epoch,address indexed auditor,bytes32 indexed modelHash)',
71
+ 'event AuditCredited(uint256 indexed epoch,address indexed auditor,bytes32 indexed modelHash,uint256 credits)',
66
72
  'event UnknownAgentSkipped(uint256 indexed agentId,bytes32 indexed modelHash)',
73
+ 'event ValidityEpochsSet(uint8 validityEpochs)',
74
+ 'event CreditsPerAuditSet(uint32 credits)',
75
+ 'event ModelCreditsPerAuditSet(bytes32 indexed modelHash,uint32 credits)',
67
76
  ];
68
- /** `AntseedVerificationResults`: verdicts and verification rewards, for every source. */
77
+ /** `AntseedVerificationResults`: verdicts and verification rewards, for every audit. */
69
78
  export const VERIFICATION_RESULTS_ABI = [
70
- 'function serviceStatus(uint256 agentId,bytes32 serviceHash) external view returns ((bytes32 modelHash,uint8 verdict,uint64 updatedAt,uint64 epoch,address source))',
79
+ 'function serviceStatus(uint256 agentId,bytes32 serviceHash) external view returns ((bytes32 modelHash,uint8 verdict,uint64 updatedAt,uint64 epoch,address audit,uint64 validUntilEpoch))',
71
80
  'function agentStatus(uint256 agentId) external view returns ((uint16 verifiedCount,uint16 diffCount))',
72
81
  'function isVerified(uint256 agentId) external view returns (bool)',
73
82
  'function liveVerdict(uint256 agentId,bytes32 serviceHash) external view returns (uint8)',
74
83
  'function serviceClears(uint256 agentId,bytes32 serviceHash) external view returns (uint256)',
75
84
  'function diffChanges(uint256 agentId,bytes32 serviceHash) external view returns (uint256)',
76
- 'function validityEpochs() external view returns (uint8)',
77
85
  'function emissionsGate() external view returns (address)',
78
- 'function registry() external view returns (address)',
79
86
  'function currentEpoch() external view returns (uint256)',
80
- 'function isSource(address source) external view returns (bool)',
81
- 'function sourceShareBps(address source) external view returns (uint16)',
82
- 'function sourceShareBpsAt(address source,uint256 epoch) external view returns (uint16)',
83
- 'function sourceBudget(address source,uint256 epoch) external view returns (uint256)',
84
- 'function rewardsStartEpoch(address source) external view returns (uint64)',
85
- 'function maxCreditsPerAuditorPerEpoch(address source) external view returns (uint32)',
86
- 'function maxAuditorShareBps(address source) external view returns (uint16)',
87
- 'function epochCredits(address source,uint256 epoch) external view returns (uint256)',
88
- 'function auditorEpochCredits(address source,uint256 epoch,address auditor) external view returns (uint256)',
89
- 'function auditorEpochClaimed(address source,uint256 epoch,address auditor) external view returns (bool)',
90
- 'function claimedCredits(address source,uint256 epoch) external view returns (uint256)',
91
- 'function paidRewards(address source,uint256 epoch) external view returns (uint256)',
92
- 'function settledRemainder(uint256 epoch) external view returns (uint256)',
93
- 'function unclaimableRemainder(uint256 epoch) external view returns (uint256)',
94
- 'function claimRewards(address source,uint256[] epochs) external returns (uint256)',
95
- 'function pendingReward(address source,address auditor,uint256 epoch) external view returns (uint256)',
96
- 'function settleEpochRemainder(uint256 epoch) external returns (uint256 burnedAmount,uint256 reserveAmount)',
97
- 'event ServiceStatusChanged(uint256 indexed agentId,bytes32 indexed serviceHash,bytes32 modelHash,uint8 previous,uint8 current,address source,uint256 epoch)',
87
+ 'function isAudit(address audit) external view returns (bool)',
88
+ 'function auditShareBps(address audit) external view returns (uint16)',
89
+ 'function auditShareBpsAt(address audit,uint256 epoch) external view returns (uint16)',
90
+ 'function auditBudget(address audit,uint256 epoch) external view returns (uint256)',
91
+ 'function rewardsStartEpoch(address audit) external view returns (uint64)',
92
+ 'function maxCreditsPerAuditorPerEpoch(address audit) external view returns (uint32)',
93
+ 'function maxAuditorShareBps(address audit) external view returns (uint16)',
94
+ 'function epochCredits(address audit,uint256 epoch) external view returns (uint256)',
95
+ 'function auditorEpochCredits(address audit,uint256 epoch,address auditor) external view returns (uint256)',
96
+ 'function auditorEpochClaimed(address audit,uint256 epoch,address auditor) external view returns (bool)',
97
+ 'function claimAuditorReward(address audit,uint256 epoch) external',
98
+ 'function pendingAuditorReward(address audit,address auditor,uint256 epoch) external view returns (uint256)',
99
+ 'function paused() external view returns (bool)',
100
+ 'event ServiceStatusChanged(uint256 indexed agentId,bytes32 indexed serviceHash,bytes32 modelHash,uint8 previous,uint8 current,address audit,uint256 epoch,uint256 validUntilEpoch)',
98
101
  'event ServiceCleared(uint256 indexed agentId,bytes32 indexed serviceHash,uint256 epoch,uint256 clears)',
99
102
  'event AgentStatusChanged(uint256 indexed agentId,uint16 verifiedCount,uint16 diffCount)',
100
- 'event Credited(address indexed source,uint256 indexed epoch,address indexed auditor,uint256 credits)',
101
- 'event CreditsVoided(address indexed source,uint256 indexed epoch,address indexed auditor,uint256 credits)',
102
- 'event RewardClaimed(address indexed source,uint256 indexed epoch,address indexed auditor,uint256 amount,uint256 reserveAmount)',
103
- 'event EpochRemainderSettled(uint256 indexed epoch,uint256 amount,uint256 burnedAmount,uint256 reserveAmount)',
103
+ 'event Credited(address indexed audit,uint256 indexed epoch,address indexed auditor,uint256 credits)',
104
+ 'event AuditorRewardClaimed(address indexed audit,uint256 indexed epoch,address indexed auditor,uint256 credits,uint256 totalCredits,uint256 grossAmount,uint256 claimableAmount,uint256 reserveAmount)',
104
105
  ];
105
106
  const EMISSIONS_GATE_EPOCH_ABI = [
106
107
  'function currentEpoch() external view returns (uint256)',
107
108
  'function genesis() external view returns (uint256)',
108
109
  'function epochDuration() external view returns (uint256)',
109
110
  ];
110
- const ANTSEED_REGISTRY_ABI = [
111
- 'function identityRegistry() external view returns (address)',
112
- 'function emissions() external view returns (address)',
113
- ];
114
111
  const IDENTITY_REGISTRY_ABI = [
115
112
  'function ownerOf(uint256 agentId) external view returns (address)',
116
113
  ];
@@ -137,7 +134,7 @@ export function sortServiceResults(results) {
137
134
  * - `AntseedKbfAudits` (`contractAddress`): approved auditors (`AuditorSet` events), audits, report
138
135
  * tallies, per-model credits;
139
136
  * - `AntseedVerificationResults` (`kbf.results()`): verdicts, epochs, credits and reward claims,
140
- * keyed by the KBF contract as the source.
137
+ * keyed by the KBF contract as the audit.
141
138
  *
142
139
  * The results address is discovered from the KBF contract on first use and cached.
143
140
  */
@@ -180,15 +177,22 @@ export class VerifierClient extends BaseEvmClient {
180
177
  async submitModelAudit(signer, input) {
181
178
  return this._execWrite(signer, KBF_AUDITS_ABI, 'submitModelAudit', input.expectedEpoch, input.modelHash, input.evidenceHash, input.evidenceUri, sortServiceResults(input.results).map((result) => [result.agentId, result.serviceHash, result.verdict]));
182
179
  }
183
- /** Claims KBF rewards for `epochs` on the results contract: `results.claimRewards(kbf, epochs)`. */
180
+ /**
181
+ * Claims KBF rewards on the results contract, one transaction per epoch as the contract takes
182
+ * them: `results.claimAuditorReward(kbf, epoch)`. Returns the transaction hashes in order.
183
+ */
184
184
  async claimAuditorRewards(signer, epochs) {
185
185
  const writer = new ResultsWriter(this._config, await this.resultsAddress()).withProvider(this._provider);
186
- return writer.claimRewards(signer, getAddress(this._contractAddress), epochs.map((epoch) => BigInt(epoch)));
186
+ const audit = getAddress(this._contractAddress);
187
+ const hashes = [];
188
+ for (const epoch of epochs)
189
+ hashes.push(await writer.claimAuditorReward(signer, audit, BigInt(epoch)));
190
+ return hashes;
187
191
  }
188
- /** Claimable KBF reward of a finalized epoch: `results.pendingReward(kbf, auditor, epoch)`. */
192
+ /** Claimable KBF reward of a finalized epoch: `results.pendingAuditorReward(kbf, auditor, epoch)`. */
189
193
  async pendingAuditorReward(auditor, epoch) {
190
194
  const results = await this._results();
191
- return BigInt(await results.getFunction('pendingReward')(this._contractAddress, getAddress(auditor), BigInt(epoch)));
195
+ return BigInt(await results.getFunction('pendingAuditorReward')(this._contractAddress, getAddress(auditor), BigInt(epoch)));
192
196
  }
193
197
  /** KBF credits the auditor earned in `epoch`, and the epoch's KBF total, from the results contract. */
194
198
  async auditCredits(auditor, epoch) {
@@ -199,10 +203,15 @@ export class VerifierClient extends BaseEvmClient {
199
203
  ]);
200
204
  return { auditor: BigInt(auditorCredits), total: BigInt(total) };
201
205
  }
202
- async modelCredits(epoch, auditor, model) {
203
- return BigInt(await this._contract().getFunction('modelCredits')(BigInt(epoch), getAddress(auditor), model));
206
+ /** Audits of `model` (a model hash) by `auditor` in `epoch` that earned credits; at most `perModel` of `creditLimits`. */
207
+ async creditedAudits(epoch, auditor, model) {
208
+ return BigInt(await this._contract().getFunction('creditedAudits')(BigInt(epoch), getAddress(auditor), model));
204
209
  }
205
- /** Per-auditor cap (results layer, for the KBF source, per epoch) and per-model cap (KBF contract). */
210
+ /** Credits one audit of `model` (a model hash) earns now: its own amount on the KBF contract, else the default. */
211
+ async creditsFor(model) {
212
+ return BigInt(await this._contract().getFunction('creditsFor')(model));
213
+ }
214
+ /** Per-auditor credit cap (results layer, for the KBF audit, per epoch) and per-model cap on credited audits (KBF contract). */
206
215
  async creditLimits() {
207
216
  const results = await this._results();
208
217
  const [perAuditor, perModel] = await Promise.all([
@@ -218,13 +227,13 @@ export class VerifierClient extends BaseEvmClient {
218
227
  */
219
228
  async rewardSettings(epoch) {
220
229
  const results = await this._results();
221
- const source = this._contractAddress;
230
+ const audit = this._contractAddress;
222
231
  const [start, share, cap] = await Promise.all([
223
- results.getFunction('rewardsStartEpoch')(source),
232
+ results.getFunction('rewardsStartEpoch')(audit),
224
233
  epoch === undefined
225
- ? results.getFunction('sourceShareBps')(source)
226
- : results.getFunction('sourceShareBpsAt')(source, BigInt(epoch)),
227
- results.getFunction('maxAuditorShareBps')(source),
234
+ ? results.getFunction('auditShareBps')(audit)
235
+ : results.getFunction('auditShareBpsAt')(audit, BigInt(epoch)),
236
+ results.getFunction('maxAuditorShareBps')(audit),
228
237
  ]);
229
238
  return { rewardsStartEpoch: BigInt(start), shareBps: Number(share), maxAuditorShareBps: Number(cap) };
230
239
  }
@@ -242,21 +251,13 @@ export class VerifierClient extends BaseEvmClient {
242
251
  validateAuditorProfile(profile);
243
252
  return this._execWrite(signer, KBF_AUDITS_ABI, 'setAuditorProfile', profile.name, profile.iconUri, profile.url);
244
253
  }
245
- /** What `settleEpochRemainder(epoch)` would sweep now (burn, then reserve); 0 for the current epoch. */
246
- async unclaimableRemainder(epoch) {
247
- return BigInt(await (await this._results()).getFunction('unclaimableRemainder')(BigInt(epoch)));
248
- }
249
- /** Sweeps a finalized epoch's unclaimable verification budget; anyone may send it. */
250
- async settleEpochRemainder(signer, epoch) {
251
- const writer = new ResultsWriter(this._config, await this.resultsAddress()).withProvider(this._provider);
252
- return writer.settleEpochRemainder(signer, BigInt(epoch));
253
- }
254
254
  /** The emissions gate the results contract pinned at deployment; `expectedEpoch` is checked against it. */
255
255
  async emissionsGate() {
256
256
  return getAddress(String(await (await this._results()).getFunction('emissionsGate')()));
257
257
  }
258
+ /** Epochs a KBF verdict counts for (KBF contract), including the one it was given in. */
258
259
  async validityEpochs() {
259
- return Number(await (await this._results()).getFunction('validityEpochs')());
260
+ return Number(await this._contract().getFunction('validityEpochs')());
260
261
  }
261
262
  /** The current epoch exactly as `submitModelAudit` checks it. */
262
263
  async currentEpochWindow() {
@@ -272,7 +273,7 @@ export class VerifierClient extends BaseEvmClient {
272
273
  async isVerified(agentId) {
273
274
  return Boolean(await (await this._results()).getFunction('isVerified')(BigInt(agentId)));
274
275
  }
275
- /** SAME and DIFF services whose verdicts are still within `validityEpochs`. */
276
+ /** SAME and DIFF services whose verdicts still count (`currentEpoch < validUntilEpoch`). */
276
277
  async agentStatus(agentId) {
277
278
  const status = await (await this._results()).getFunction('agentStatus')(BigInt(agentId));
278
279
  return {
@@ -290,19 +291,17 @@ export class VerifierClient extends BaseEvmClient {
290
291
  verdict: Number(status.verdict ?? status[1]),
291
292
  updatedAt: BigInt(status.updatedAt ?? status[2]),
292
293
  epoch: BigInt(status.epoch ?? status[3]),
293
- source: getAddress(String(status.source ?? status[4])),
294
+ audit: getAddress(String(status.audit ?? status[4])),
295
+ validUntilEpoch: BigInt(status.validUntilEpoch ?? status[5]),
294
296
  };
295
297
  }
296
298
  /** Whether `auditor` is approved on the KBF contract. */
297
299
  async approvedAuditor(auditor) {
298
300
  return Boolean(await this._contract().getFunction('approvedAuditors')(getAddress(auditor)));
299
301
  }
300
- async registry() {
301
- return getAddress(String(await (await this._results()).getFunction('registry')()));
302
- }
302
+ /** The identity registry the KBF contract resolves agent owners with. */
303
303
  async identityRegistry() {
304
- const registry = new Contract(await this.registry(), ANTSEED_REGISTRY_ABI, this._provider);
305
- return getAddress(String(await registry.getFunction('identityRegistry')()));
304
+ return getAddress(String(await this._contract().getFunction('identityRegistry')()));
306
305
  }
307
306
  async agentOwner(agentId) {
308
307
  const identityRegistry = new Contract(await this.identityRegistry(), IDENTITY_REGISTRY_ABI, this._provider);
@@ -449,11 +448,8 @@ class ResultsWriter extends BaseEvmClient {
449
448
  constructor(config, resultsAddress) {
450
449
  super(config.rpcUrl, resultsAddress, config.fallbackRpcUrls, config.evmChainId);
451
450
  }
452
- claimRewards(signer, source, epochs) {
453
- return this._execWrite(signer, VERIFICATION_RESULTS_ABI, 'claimRewards', source, epochs);
454
- }
455
- settleEpochRemainder(signer, epoch) {
456
- return this._execWrite(signer, VERIFICATION_RESULTS_ABI, 'settleEpochRemainder', epoch);
451
+ claimAuditorReward(signer, audit, epoch) {
452
+ return this._execWrite(signer, VERIFICATION_RESULTS_ABI, 'claimAuditorReward', audit, epoch);
457
453
  }
458
454
  }
459
455
  //# sourceMappingURL=verifier-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verifier-client.js","sourceRoot":"","sources":["../../../src/payments/evm/verifier-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifier-client.js","sourceRoot":"","sources":["../../../src/payments/evm/verifier-client.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,8 @@ export declare const DEPLOYED_CONTRACT_ADDRESSES: {
15
15
  readonly identityRegistryAddress: "0x8004A169FB4a3325136EB29fA0ceB6D2e539a432";
16
16
  readonly statsContractAddress: "0x15649ff076BFa5e37e24EE3154a00503149954Fd";
17
17
  readonly depositRelayAddress: "0x34a44542e76f9b4cff3a31902eDF14AbF2C3B3DD";
18
- readonly verificationContractAddress: "0xe57ab03423a3835571f7d68ac1e23cf8a2763343";
19
- readonly verificationResultsAddress: "0xf2c8482ad2a348854698e93f41fe3cc32307687c";
18
+ readonly verificationContractAddress: "0x86b92dc48ef7c5a12de6e44409e83c8ef36657ff";
19
+ readonly verificationResultsAddress: "0x139ab1722a62a23371f491220902c460e9faeab2";
20
20
  readonly emissionsGateAddress: "0xe60a31e6cd2f8455503ca0b3f6545dd3ddf543bd";
21
21
  readonly sellerPoolsAddress: "0x8bf4d39aa13f3cb03f87d9500767fbc4d0940652";
22
22
  readonly sellerRegistryAddress: "0x99c533bcc6ca646e543dba835fdbb9c2ee02cb60";
@@ -27,7 +27,7 @@ export declare const DEPLOYED_CONTRACT_ADDRESSES: {
27
27
  readonly legacyEmissionsEscrowAddress: "0x4d0fc3c0bbb5233af6c4ce33223e5330c34db9ab";
28
28
  readonly channelsDeployBlock: 44469557;
29
29
  readonly statsDeployBlock: 44469557;
30
- readonly verificationDeployBlock: 53490136;
30
+ readonly verificationDeployBlock: 53514467;
31
31
  readonly recognizedUsage: {
32
32
  readonly status: "active";
33
33
  readonly effectiveEpoch: 22;
@@ -16,8 +16,8 @@ export const DEPLOYED_CONTRACT_ADDRESSES = {
16
16
  identityRegistryAddress: '0x8004A169FB4a3325136EB29fA0ceB6D2e539a432',
17
17
  statsContractAddress: '0x15649ff076BFa5e37e24EE3154a00503149954Fd',
18
18
  depositRelayAddress: '0x34a44542e76f9b4cff3a31902eDF14AbF2C3B3DD',
19
- verificationContractAddress: '0xe57ab03423a3835571f7d68ac1e23cf8a2763343',
20
- verificationResultsAddress: '0xf2c8482ad2a348854698e93f41fe3cc32307687c',
19
+ verificationContractAddress: '0x86b92dc48ef7c5a12de6e44409e83c8ef36657ff',
20
+ verificationResultsAddress: '0x139ab1722a62a23371f491220902c460e9faeab2',
21
21
  emissionsGateAddress: '0xe60a31e6cd2f8455503ca0b3f6545dd3ddf543bd',
22
22
  sellerPoolsAddress: '0x8bf4d39aa13f3cb03f87d9500767fbc4d0940652',
23
23
  sellerRegistryAddress: '0x99c533bcc6ca646e543dba835fdbb9c2ee02cb60',
@@ -28,7 +28,7 @@ export const DEPLOYED_CONTRACT_ADDRESSES = {
28
28
  legacyEmissionsEscrowAddress: '0x4d0fc3c0bbb5233af6c4ce33223e5330c34db9ab',
29
29
  channelsDeployBlock: 44469557,
30
30
  statsDeployBlock: 44469557,
31
- verificationDeployBlock: 53490136,
31
+ verificationDeployBlock: 53514467,
32
32
  recognizedUsage: {
33
33
  "status": "active",
34
34
  "effectiveEpoch": 22,
@@ -0,0 +1,2 @@
1
+ export declare function buyerFacingResponseHeaders(headers: Record<string, string> | undefined): Record<string, string>;
2
+ //# sourceMappingURL=buyer-response-headers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buyer-response-headers.d.ts","sourceRoot":"","sources":["../../src/proxy/buyer-response-headers.ts"],"names":[],"mappings":"AAuBA,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAO9G"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Upstream response headers a seller passes on to buyers. Everything else an
3
+ * upstream sends stays with the seller: its account and plan (`x-codex-plan-type`,
4
+ * credit balances, usage and reset windows), rate limits, request ids and cookies
5
+ * say who the seller buys from and on which terms, and no buyer needs them.
6
+ */
7
+ const FORWARDED_RESPONSE_HEADERS = new Set([
8
+ 'accept-ranges',
9
+ 'cache-control',
10
+ 'content-disposition',
11
+ 'content-language',
12
+ 'content-length',
13
+ 'content-range',
14
+ 'content-type',
15
+ 'etag',
16
+ 'last-modified',
17
+ 'location',
18
+ 'retry-after',
19
+ ]);
20
+ /** Headers the seller and its providers set themselves. */
21
+ const ANTSEED_HEADER_PREFIX = 'x-antseed-';
22
+ export function buyerFacingResponseHeaders(headers) {
23
+ const out = {};
24
+ for (const [name, value] of Object.entries(headers ?? {})) {
25
+ const lower = name.toLowerCase();
26
+ if (FORWARDED_RESPONSE_HEADERS.has(lower) || lower.startsWith(ANTSEED_HEADER_PREFIX))
27
+ out[name] = value;
28
+ }
29
+ return out;
30
+ }
31
+ //# sourceMappingURL=buyer-response-headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buyer-response-headers.js","sourceRoot":"","sources":["../../src/proxy/buyer-response-headers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IACzC,eAAe;IACf,eAAe;IACf,qBAAqB;IACrB,kBAAkB;IAClB,gBAAgB;IAChB,eAAe;IACf,cAAc;IACd,MAAM;IACN,eAAe;IACf,UAAU;IACV,aAAa;CACd,CAAC,CAAC;AAEH,2DAA2D;AAC3D,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAE3C,MAAM,UAAU,0BAA0B,CAAC,OAA2C;IACpF,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,qBAAqB,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC1G,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"seller-request-handler.d.ts","sourceRoot":"","sources":["../src/seller-request-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seller-request-handler.d.ts","sourceRoot":"","sources":["../src/seller-request-handler.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ const FREE_TIER_EXHAUSTED_MESSAGES = {
10
10
  import { ProxyMux } from './proxy/proxy-mux.js';
11
11
  import { computeCostUsdc, estimateTokensFromBytesSampled, } from './payments/pricing.js';
12
12
  import { debugLog, debugWarn } from './utils/debug.js';
13
+ import { buyerFacingResponseHeaders } from './proxy/buyer-response-headers.js';
13
14
  import { CONNECTION_CAPABILITY_RESPONSE_AUTH_V1, DEFAULT_FIRST_SIGN_CAP, DEFAULT_TOP_UP_SETTLED_THRESHOLD_BPS, computeOneOffChannelPlan, PAYMENT_CODE_CHANNEL_EXHAUSTED, PAYMENT_CODE_ONE_OFF_CHANNEL_REQUIRED, } from './types/protocol.js';
14
15
  import { createResponseAuthPayload, createStreamingResponseHash } from './verification/response-auth.js';
15
16
  import { VIDEO_DOWNLOAD_STREAM_HEADER, VIDEO_DOWNLOAD_STREAM_VERSION } from '@antseed/protocol/http';
@@ -22,7 +23,7 @@ import { speechVoiceProblem } from '@antseed/protocol/peer-metadata';
22
23
  import { detectRequestServiceApiProtocol, selectTargetProtocolForRequest, } from '@antseed/api-adapter';
23
24
  import { parseResponseUsage } from './utils/response-usage.js';
24
25
  import { requestBodyService } from './requested-service.js';
25
- import { buildSelfHealthErrorResponse, buildUpstreamUnavailableResponse, isUpstreamAccountError, isUpstreamFailureStatus } from './health/self-health-error.js';
26
+ import { buildSelfHealthErrorResponse, buildUpstreamRateLimitedResponse, buildUpstreamUnavailableResponse, isUpstreamAccountError, isUpstreamFailureStatus } from './health/self-health-error.js';
26
27
  import { StreamOutcome } from './health/stream-outcome.js';
27
28
  import { routingProtocolForPath, routingProtocolOf, routingRequestOf, routingWireProtocol, ROUTING_PROTOCOLS } from '@antseed/protocol/routing';
28
29
  /** A seller's services of one routing protocol. */
@@ -99,6 +100,8 @@ function isZeroTokenPricing(pricing) {
99
100
  * Set a header the seller controls. Header names are case-insensitive, so any
100
101
  * buyer-sent copy (in any letter case) is removed first and only ours remains.
101
102
  */
103
+ /** What a buyer is told when the provider throws; the exception itself stays in the seller's log. */
104
+ const PROVIDER_FAILURE_MESSAGE = 'The seller could not complete the request upstream';
102
105
  function setTrustedHeader(headers, name, value) {
103
106
  for (const key of Object.keys(headers)) {
104
107
  if (key.toLowerCase() === name)
@@ -873,6 +876,9 @@ export class SellerRequestHandler {
873
876
  response = buildUpstreamUnavailableResponse(request.requestId, requestedModel);
874
877
  statusCode = response.statusCode;
875
878
  }
879
+ else if (!streamedResponseStarted && statusCode === 429) {
880
+ response = buildUpstreamRateLimitedResponse(request.requestId, requestedModel, takeHeader({ ...response.headers }, 'retry-after'));
881
+ }
876
882
  const health = serviceHealthOf(provider.serviceHealth, requestedModel);
877
883
  if (!streamedResponseStarted && isServiceHealthFailing(health) && isUpstreamFailureStatus(statusCode)) {
878
884
  response = buildSelfHealthErrorResponse(request.requestId, requestedModel, health, response);
@@ -924,14 +930,15 @@ export class SellerRequestHandler {
924
930
  debugWarn(`[SellerHandler] Provider exception: provider="${provider.name}" model="${requestedModel}" buyer=${buyerPeerId.slice(0, 12)}... (${Date.now() - startTime}ms) ${message}`);
925
931
  if (videoRoute?.action === 'create')
926
932
  this._closeOneOffBestEffort(oneOffChannelId, 'video create failed');
927
- responseBody = new TextEncoder().encode(message);
933
+ // The exception can quote the upstream (its account, its answer): the buyer only learns the request failed.
934
+ responseBody = new TextEncoder().encode(PROVIDER_FAILURE_MESSAGE);
928
935
  if (streamedResponseStarted && isDownload) {
929
936
  statusCode = 502;
930
937
  responseForAuth = null;
931
938
  mux.sendProxyError(request.requestId);
932
939
  }
933
940
  else if (streamedResponseStarted) {
934
- const errorFrame = new TextEncoder().encode(`event: error\ndata: ${message}\n\n`);
941
+ const errorFrame = new TextEncoder().encode(`event: error\ndata: ${PROVIDER_FAILURE_MESSAGE}\n\n`);
935
942
  responseBody = errorFrame;
936
943
  mux.sendProxyChunk({
937
944
  requestId: request.requestId,
@@ -1235,7 +1242,7 @@ export class SellerRequestHandler {
1235
1242
  setTrustedHeader(request.headers, 'x-antseed-buyer-peer-id', buyerPeerId);
1236
1243
  try {
1237
1244
  const response = await provider.handleRequest(request);
1238
- return { ...response, requestId: request.requestId };
1245
+ return { ...response, requestId: request.requestId, headers: buyerFacingResponseHeaders(response.headers) };
1239
1246
  }
1240
1247
  catch (error) {
1241
1248
  return failure(503, 'unavailable', `Routing catalog failed: ${error instanceof Error ? error.message : String(error)}`);
@@ -1484,10 +1491,25 @@ export class SellerRequestHandler {
1484
1491
  return Math.floor(numeric);
1485
1492
  }
1486
1493
  async _executeRequest(provider, request, streamCallbacks) {
1494
+ // Buyers only ever see the headers buyerFacingResponseHeaders lets through.
1487
1495
  if (streamCallbacks && provider.handleRequestStream) {
1488
- return provider.handleRequestStream(request, streamCallbacks);
1496
+ // A streamed 429 is held back like a buffered one, so its upstream body can be replaced before the buyer sees it.
1497
+ let heldRateLimit = false;
1498
+ const response = await provider.handleRequestStream(request, {
1499
+ ...streamCallbacks,
1500
+ onResponseStart: (start) => {
1501
+ if (start.statusCode === 429) {
1502
+ heldRateLimit = true;
1503
+ return;
1504
+ }
1505
+ streamCallbacks.onResponseStart({ ...start, headers: buyerFacingResponseHeaders(start.headers) });
1506
+ },
1507
+ onResponseChunk: (chunk) => (heldRateLimit ? undefined : streamCallbacks.onResponseChunk(chunk)),
1508
+ });
1509
+ return { ...response, headers: buyerFacingResponseHeaders(response.headers) };
1489
1510
  }
1490
- return provider.handleRequest(request);
1511
+ const response = await provider.handleRequest(request);
1512
+ return { ...response, headers: buyerFacingResponseHeaders(response.headers) };
1491
1513
  }
1492
1514
  _sendNeedAuthBestEffort(paymentMux, payload, buyerPeerId, phase) {
1493
1515
  try {