@antseed/node 0.2.88 → 0.2.90

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 (68) hide show
  1. package/dist/buyer-request-handler.js +2 -2
  2. package/dist/buyer-request-handler.js.map +1 -1
  3. package/dist/index.d.ts +3 -3
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/payments/buyer-payment-manager.d.ts +11 -0
  8. package/dist/payments/buyer-payment-manager.d.ts.map +1 -1
  9. package/dist/payments/buyer-payment-manager.js +127 -15
  10. package/dist/payments/buyer-payment-manager.js.map +1 -1
  11. package/dist/payments/buyer-payment-negotiator.d.ts +1 -1
  12. package/dist/payments/buyer-payment-negotiator.d.ts.map +1 -1
  13. package/dist/payments/buyer-payment-negotiator.js +4 -2
  14. package/dist/payments/buyer-payment-negotiator.js.map +1 -1
  15. package/dist/payments/channel-store.d.ts +13 -0
  16. package/dist/payments/channel-store.d.ts.map +1 -1
  17. package/dist/payments/channel-store.js +54 -0
  18. package/dist/payments/channel-store.js.map +1 -1
  19. package/dist/payments/evm/base-evm-client.d.ts.map +1 -1
  20. package/dist/payments/evm/base-evm-client.js +11 -4
  21. package/dist/payments/evm/base-evm-client.js.map +1 -1
  22. package/dist/payments/evm/emissions-client.d.ts +11 -7
  23. package/dist/payments/evm/emissions-client.d.ts.map +1 -1
  24. package/dist/payments/evm/emissions-client.js +37 -1
  25. package/dist/payments/evm/emissions-client.js.map +1 -1
  26. package/dist/payments/evm/signatures.d.ts +33 -1
  27. package/dist/payments/evm/signatures.d.ts.map +1 -1
  28. package/dist/payments/evm/signatures.js +15 -3
  29. package/dist/payments/evm/signatures.js.map +1 -1
  30. package/dist/payments/index.d.ts +3 -3
  31. package/dist/payments/index.d.ts.map +1 -1
  32. package/dist/payments/index.js +1 -1
  33. package/dist/payments/index.js.map +1 -1
  34. package/dist/seller-request-handler.d.ts +6 -1
  35. package/dist/seller-request-handler.d.ts.map +1 -1
  36. package/dist/seller-request-handler.js +113 -36
  37. package/dist/seller-request-handler.js.map +1 -1
  38. package/dist/storage/migrations/channels/{003_create_usage_verification_tables.d.ts → 003_create_service_totals.d.ts} +1 -1
  39. package/dist/storage/migrations/channels/003_create_service_totals.d.ts.map +1 -0
  40. package/dist/storage/migrations/channels/003_create_service_totals.js +21 -0
  41. package/dist/storage/migrations/channels/003_create_service_totals.js.map +1 -0
  42. package/dist/storage/migrations/channels/index.d.ts.map +1 -1
  43. package/dist/storage/migrations/channels/index.js +2 -1
  44. package/dist/storage/migrations/channels/index.js.map +1 -1
  45. package/package.json +1 -1
  46. package/dist/p2p/verification-codec.d.ts +0 -16
  47. package/dist/p2p/verification-codec.d.ts.map +0 -1
  48. package/dist/p2p/verification-codec.js +0 -121
  49. package/dist/p2p/verification-codec.js.map +0 -1
  50. package/dist/p2p/verification-mux.d.ts +0 -30
  51. package/dist/p2p/verification-mux.d.ts.map +0 -1
  52. package/dist/p2p/verification-mux.js +0 -89
  53. package/dist/p2p/verification-mux.js.map +0 -1
  54. package/dist/payments/evm/usage-verification-client.d.ts +0 -72
  55. package/dist/payments/evm/usage-verification-client.d.ts.map +0 -1
  56. package/dist/payments/evm/usage-verification-client.js +0 -141
  57. package/dist/payments/evm/usage-verification-client.js.map +0 -1
  58. package/dist/payments/usage-verification-manager.d.ts +0 -68
  59. package/dist/payments/usage-verification-manager.d.ts.map +0 -1
  60. package/dist/payments/usage-verification-manager.js +0 -316
  61. package/dist/payments/usage-verification-manager.js.map +0 -1
  62. package/dist/payments/usage-verification-store.d.ts +0 -56
  63. package/dist/payments/usage-verification-store.d.ts.map +0 -1
  64. package/dist/payments/usage-verification-store.js +0 -146
  65. package/dist/payments/usage-verification-store.js.map +0 -1
  66. package/dist/storage/migrations/channels/003_create_usage_verification_tables.d.ts.map +0 -1
  67. package/dist/storage/migrations/channels/003_create_usage_verification_tables.js +0 -54
  68. package/dist/storage/migrations/channels/003_create_usage_verification_tables.js.map +0 -1
@@ -1,316 +0,0 @@
1
- import { randomBytes } from 'node:crypto';
2
- import { UsageVerificationClient } from './evm/usage-verification-client.js';
3
- import { UsageVerificationStore } from './usage-verification-store.js';
4
- import { computeServiceKey, computeUsageClaimHash, computeUsageRevealHash, makeUsageVerificationDomain, signUsageCommit, USAGE_CLAIM_VERSION, USAGE_PARTY_BUYER, USAGE_PARTY_SELLER, } from './evm/signatures.js';
5
- import { debugWarn } from '../utils/debug.js';
6
- import { computeCostUsdc } from './pricing.js';
7
- export class SellerUsageVerificationManager {
8
- _signer;
9
- _client;
10
- _store;
11
- _domain;
12
- _stakingClient;
13
- constructor(identity, config, stakingClient) {
14
- this._signer = identity.wallet;
15
- this._client = new UsageVerificationClient(config);
16
- this._store = new UsageVerificationStore(config.dataDir);
17
- this._domain = makeUsageVerificationDomain(config.chainId, config.contractAddress);
18
- this._stakingClient = stakingClient;
19
- }
20
- get client() { return this._client; }
21
- setSigner(signer) { this._signer = signer; }
22
- async recordAndRequestCommit(input) {
23
- const epoch = (await this._client.currentEpoch()).toString();
24
- const serviceKey = computeServiceKey(input.providerName, input.serviceName);
25
- const existing = this._store.getSnapshot(input.channel.sessionId, serviceKey, epoch);
26
- const now = Date.now();
27
- const sellerAgentId = await this._resolveSellerAgentId(input.channel.sellerEvmAddr);
28
- const snapshot = {
29
- channelId: input.channel.sessionId,
30
- serviceKey,
31
- providerName: input.providerName,
32
- serviceName: input.serviceName,
33
- epoch,
34
- buyerEvmAddr: input.channel.buyerEvmAddr,
35
- sellerEvmAddr: input.channel.sellerEvmAddr,
36
- sellerAgentId: sellerAgentId.toString(),
37
- cumulativeInputTokens: ((existing ? BigInt(existing.cumulativeInputTokens) : 0n) + input.inputTokens).toString(),
38
- cumulativeCachedInputTokens: ((existing ? BigInt(existing.cumulativeCachedInputTokens) : 0n) + input.cachedInputTokens).toString(),
39
- cumulativeFreshInputTokens: ((existing ? BigInt(existing.cumulativeFreshInputTokens) : 0n) + input.freshInputTokens).toString(),
40
- cumulativeOutputTokens: ((existing ? BigInt(existing.cumulativeOutputTokens) : 0n) + input.outputTokens).toString(),
41
- cumulativeRequestCount: ((existing ? BigInt(existing.cumulativeRequestCount) : 0n) + 1n).toString(),
42
- cumulativeCostUsdc: ((existing ? BigInt(existing.cumulativeCostUsdc) : 0n) + input.costUsdc).toString(),
43
- paymentCumulativeAmount: input.paymentCumulativeAmount.toString(),
44
- createdAt: existing?.createdAt ?? now,
45
- updatedAt: now,
46
- };
47
- this._store.upsertSnapshot(snapshot);
48
- const claim = snapshotToClaim(snapshot);
49
- const claimMsg = claimPayloadToMessage(claim);
50
- const claimHash = computeUsageClaimHash(claimMsg);
51
- const sellerNonce = randomNonce();
52
- const sellerRevealHash = computeUsageRevealHash(claimHash, sellerNonce);
53
- const expectedEpoch = BigInt(epoch);
54
- const sellerSig = await signUsageCommit(this._signer, this._domain, {
55
- claimHash,
56
- revealHash: sellerRevealHash,
57
- expectedEpoch,
58
- party: USAGE_PARTY_SELLER,
59
- });
60
- this._store.upsertAttestation({
61
- claimHash,
62
- requestId: input.requestId,
63
- channelId: input.channel.sessionId,
64
- serviceKey,
65
- epoch,
66
- claim,
67
- buyerRevealHash: null,
68
- sellerRevealHash,
69
- buyerNonce: null,
70
- sellerNonce,
71
- buyerSig: null,
72
- sellerSig,
73
- commitTxHash: null,
74
- revealTxHash: null,
75
- status: 'pending_buyer',
76
- createdAt: now,
77
- updatedAt: now,
78
- });
79
- input.mux.sendCommitRequest({
80
- requestId: input.requestId,
81
- claim,
82
- claimHash,
83
- revealHash: sellerRevealHash,
84
- expectedEpoch: epoch,
85
- sellerSig,
86
- });
87
- }
88
- async handleCommitResponse(payload, mux) {
89
- const attestation = this._store.getAttestation(payload.claimHash);
90
- if (!attestation)
91
- return;
92
- if (!payload.accepted || !payload.buyerSig || !payload.revealHash) {
93
- this._store.updateAttestationStatus(payload.claimHash, 'failed');
94
- debugWarn(`[UsageVerification] Buyer rejected usage commit ${payload.claimHash.slice(0, 18)}...: ${payload.reason ?? 'unknown'}`);
95
- return;
96
- }
97
- const updated = {
98
- ...attestation,
99
- buyerRevealHash: payload.revealHash,
100
- buyerSig: payload.buyerSig,
101
- status: 'buyer_signed',
102
- updatedAt: Date.now(),
103
- };
104
- this._store.upsertAttestation(updated);
105
- let commitTxHash;
106
- try {
107
- commitTxHash = await this._client.commitPair(this._signer, {
108
- claimHash: updated.claimHash,
109
- channelId: updated.channelId,
110
- buyer: updated.claim.buyer,
111
- seller: updated.claim.seller,
112
- sellerAgentId: BigInt(updated.claim.sellerAgentId),
113
- serviceKey: updated.serviceKey,
114
- buyerRevealHash: payload.revealHash,
115
- sellerRevealHash: updated.sellerRevealHash,
116
- expectedEpoch: BigInt(updated.epoch),
117
- buyerSig: payload.buyerSig,
118
- sellerSig: updated.sellerSig,
119
- });
120
- this._store.updateAttestationStatus(updated.claimHash, 'committed', { commitTxHash });
121
- mux.sendCommitProof({ requestId: updated.requestId, claimHash: updated.claimHash, txHash: commitTxHash });
122
- }
123
- catch (err) {
124
- this._store.updateAttestationStatus(updated.claimHash, 'failed');
125
- debugWarn(`[UsageVerification] commitPair failed: ${err instanceof Error ? err.message : err}`);
126
- return;
127
- }
128
- mux.sendRevealPackage({
129
- requestId: updated.requestId,
130
- claim: updated.claim,
131
- claimHash: updated.claimHash,
132
- nonce: updated.sellerNonce,
133
- party: 'seller',
134
- });
135
- }
136
- async retryCommittedReveals(limit = 25) {
137
- const committed = this._store.listAttestationsByStatus('committed', limit);
138
- for (const attestation of committed) {
139
- if (!attestation.buyerNonce || !attestation.sellerNonce)
140
- continue;
141
- try {
142
- const txHash = await this._client.revealPair(this._signer, claimPayloadToMessage(attestation.claim), attestation.buyerNonce, attestation.sellerNonce);
143
- this._store.updateAttestationStatus(attestation.claimHash, 'revealed', { revealTxHash: txHash });
144
- }
145
- catch {
146
- // Payment coverage may still be pending; leave as committed for the next retry.
147
- }
148
- }
149
- }
150
- async handleRevealResponse(payload, mux) {
151
- const attestation = this._store.getAttestation(payload.claimHash);
152
- if (!attestation || !payload.accepted || !payload.nonce)
153
- return;
154
- if (!attestation.sellerNonce)
155
- return;
156
- this._store.upsertAttestation({ ...attestation, buyerNonce: payload.nonce, updatedAt: Date.now() });
157
- try {
158
- const txHash = await this._client.revealPair(this._signer, claimPayloadToMessage(attestation.claim), payload.nonce, attestation.sellerNonce);
159
- this._store.updateAttestationStatus(attestation.claimHash, 'revealed', { revealTxHash: txHash });
160
- mux.sendRevealAck({ requestId: attestation.requestId, claimHash: attestation.claimHash, txHash });
161
- }
162
- catch (err) {
163
- // Most commonly payment coverage has not landed yet. Keep committed state
164
- // so a future retry can reveal after settlement.
165
- this._store.updateAttestationStatus(attestation.claimHash, 'committed');
166
- debugWarn(`[UsageVerification] revealPair deferred: ${err instanceof Error ? err.message : err}`);
167
- }
168
- }
169
- close() { this._store.close(); }
170
- async _resolveSellerAgentId(seller) {
171
- if (!this._stakingClient)
172
- return 0n;
173
- try {
174
- return BigInt(await this._stakingClient.getAgentId(seller));
175
- }
176
- catch {
177
- return 0n;
178
- }
179
- }
180
- }
181
- export class BuyerUsageVerificationManager {
182
- _identity;
183
- _signer;
184
- _domain;
185
- _store;
186
- _requestService = new Map();
187
- constructor(identity, config) {
188
- this._identity = identity;
189
- this._signer = identity.wallet;
190
- this._domain = makeUsageVerificationDomain(config.chainId, config.contractAddress);
191
- this._store = new UsageVerificationStore(config.dataDir);
192
- }
193
- setSigner(signer) { this._signer = signer; }
194
- trackRequestService(requestId, service) {
195
- this._requestService.set(requestId, service);
196
- }
197
- async handleCommitRequest(payload, mux) {
198
- const expectedService = this._requestService.get(payload.requestId);
199
- if (expectedService && expectedService !== payload.claim.serviceName) {
200
- mux.sendCommitResponse({
201
- requestId: payload.requestId,
202
- accepted: false,
203
- claimHash: payload.claimHash,
204
- reason: `service mismatch: expected ${expectedService}, got ${payload.claim.serviceName}`,
205
- });
206
- return;
207
- }
208
- if (payload.claim.buyer.toLowerCase() !== this._identity.wallet.address.toLowerCase()) {
209
- mux.sendCommitResponse({ requestId: payload.requestId, accepted: false, claimHash: payload.claimHash, reason: 'buyer mismatch' });
210
- return;
211
- }
212
- const claimHash = computeUsageClaimHash(claimPayloadToMessage(payload.claim));
213
- if (claimHash !== payload.claimHash) {
214
- mux.sendCommitResponse({ requestId: payload.requestId, accepted: false, claimHash: payload.claimHash, reason: 'claim hash mismatch' });
215
- return;
216
- }
217
- const buyerNonce = randomNonce();
218
- const buyerRevealHash = computeUsageRevealHash(claimHash, buyerNonce);
219
- const buyerSig = await signUsageCommit(this._signer, this._domain, {
220
- claimHash,
221
- revealHash: buyerRevealHash,
222
- expectedEpoch: BigInt(payload.expectedEpoch),
223
- party: USAGE_PARTY_BUYER,
224
- });
225
- const now = Date.now();
226
- this._store.upsertAttestation({
227
- claimHash,
228
- requestId: payload.requestId,
229
- channelId: payload.claim.channelId,
230
- serviceKey: payload.claim.serviceKey,
231
- epoch: payload.expectedEpoch,
232
- claim: payload.claim,
233
- buyerRevealHash,
234
- sellerRevealHash: payload.revealHash,
235
- buyerNonce,
236
- sellerNonce: null,
237
- buyerSig,
238
- sellerSig: payload.sellerSig,
239
- commitTxHash: null,
240
- revealTxHash: null,
241
- status: 'buyer_signed',
242
- createdAt: now,
243
- updatedAt: now,
244
- });
245
- mux.sendCommitResponse({
246
- requestId: payload.requestId,
247
- accepted: true,
248
- claimHash,
249
- revealHash: buyerRevealHash,
250
- buyerSig,
251
- });
252
- }
253
- handleRevealPackage(payload, mux) {
254
- const attestation = this._store.getAttestation(payload.claimHash);
255
- if (!attestation || !attestation.buyerNonce) {
256
- mux.sendRevealResponse({ requestId: payload.requestId, accepted: false, claimHash: payload.claimHash, reason: 'unknown claim' });
257
- return;
258
- }
259
- this._store.upsertAttestation({ ...attestation, sellerNonce: payload.nonce, status: 'committed', updatedAt: Date.now() });
260
- mux.sendRevealResponse({
261
- requestId: payload.requestId,
262
- accepted: true,
263
- claimHash: payload.claimHash,
264
- nonce: attestation.buyerNonce,
265
- });
266
- }
267
- handleRevealAck(payload) {
268
- this._store.updateAttestationStatus(payload.claimHash, 'revealed', { revealTxHash: payload.txHash });
269
- }
270
- close() { this._store.close(); }
271
- }
272
- export function claimPayloadToMessage(claim) {
273
- return {
274
- version: BigInt(claim.version),
275
- channelId: claim.channelId,
276
- buyer: claim.buyer,
277
- seller: claim.seller,
278
- sellerAgentId: BigInt(claim.sellerAgentId),
279
- serviceKey: claim.serviceKey,
280
- providerName: claim.providerName,
281
- serviceName: claim.serviceName,
282
- cumulativeInputTokens: BigInt(claim.cumulativeInputTokens),
283
- cumulativeCachedInputTokens: BigInt(claim.cumulativeCachedInputTokens),
284
- cumulativeFreshInputTokens: BigInt(claim.cumulativeFreshInputTokens),
285
- cumulativeOutputTokens: BigInt(claim.cumulativeOutputTokens),
286
- cumulativeRequestCount: BigInt(claim.cumulativeRequestCount),
287
- cumulativeCostUsdc: BigInt(claim.cumulativeCostUsdc),
288
- paymentCumulativeAmount: BigInt(claim.paymentCumulativeAmount),
289
- };
290
- }
291
- function snapshotToClaim(snapshot) {
292
- return {
293
- version: USAGE_CLAIM_VERSION.toString(),
294
- channelId: snapshot.channelId,
295
- buyer: snapshot.buyerEvmAddr,
296
- seller: snapshot.sellerEvmAddr,
297
- sellerAgentId: snapshot.sellerAgentId,
298
- serviceKey: snapshot.serviceKey,
299
- providerName: snapshot.providerName,
300
- serviceName: snapshot.serviceName,
301
- cumulativeInputTokens: snapshot.cumulativeInputTokens,
302
- cumulativeCachedInputTokens: snapshot.cumulativeCachedInputTokens,
303
- cumulativeFreshInputTokens: snapshot.cumulativeFreshInputTokens,
304
- cumulativeOutputTokens: snapshot.cumulativeOutputTokens,
305
- cumulativeRequestCount: snapshot.cumulativeRequestCount,
306
- cumulativeCostUsdc: snapshot.cumulativeCostUsdc,
307
- paymentCumulativeAmount: snapshot.paymentCumulativeAmount,
308
- };
309
- }
310
- function randomNonce() {
311
- return '0x' + randomBytes(32).toString('hex');
312
- }
313
- export function computeUsageCostFromTokens(params) {
314
- return computeCostUsdc(params.freshInputTokens, params.outputTokens, params.pricing, params.cachedInputTokens);
315
- }
316
- //# sourceMappingURL=usage-verification-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usage-verification-manager.js","sourceRoot":"","sources":["../../src/payments/usage-verification-manager.ts"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- import type { VerificationUsageClaimPayload } from '../types/protocol.js';
2
- export interface UsageSnapshotRecord {
3
- channelId: string;
4
- serviceKey: string;
5
- providerName: string;
6
- serviceName: string;
7
- epoch: string;
8
- buyerEvmAddr: string;
9
- sellerEvmAddr: string;
10
- sellerAgentId: string;
11
- cumulativeInputTokens: string;
12
- cumulativeCachedInputTokens: string;
13
- cumulativeFreshInputTokens: string;
14
- cumulativeOutputTokens: string;
15
- cumulativeRequestCount: string;
16
- cumulativeCostUsdc: string;
17
- paymentCumulativeAmount: string;
18
- createdAt: number;
19
- updatedAt: number;
20
- }
21
- export type UsageAttestationStatus = 'pending_buyer' | 'buyer_signed' | 'committed' | 'revealed' | 'partial' | 'failed';
22
- export interface UsageAttestationRecord {
23
- claimHash: string;
24
- requestId: string;
25
- channelId: string;
26
- serviceKey: string;
27
- epoch: string;
28
- claim: VerificationUsageClaimPayload;
29
- buyerRevealHash: string | null;
30
- sellerRevealHash: string | null;
31
- buyerNonce: string | null;
32
- sellerNonce: string | null;
33
- buyerSig: string | null;
34
- sellerSig: string | null;
35
- commitTxHash: string | null;
36
- revealTxHash: string | null;
37
- status: UsageAttestationStatus;
38
- createdAt: number;
39
- updatedAt: number;
40
- }
41
- export declare class UsageVerificationStore {
42
- private readonly _db;
43
- private readonly _stmts;
44
- constructor(dataDir: string);
45
- getSnapshot(channelId: string, serviceKey: string, epoch: string): UsageSnapshotRecord | null;
46
- upsertSnapshot(record: UsageSnapshotRecord): void;
47
- upsertAttestation(record: UsageAttestationRecord): void;
48
- getAttestation(claimHash: string): UsageAttestationRecord | null;
49
- listAttestationsByStatus(status: UsageAttestationStatus, limit?: number): UsageAttestationRecord[];
50
- updateAttestationStatus(claimHash: string, status: UsageAttestationStatus, hashes?: {
51
- commitTxHash?: string;
52
- revealTxHash?: string;
53
- }): void;
54
- close(): void;
55
- }
56
- //# sourceMappingURL=usage-verification-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usage-verification-store.d.ts","sourceRoot":"","sources":["../../src/payments/usage-verification-store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,2BAA2B,EAAE,MAAM,CAAC;IACpC,0BAA0B,EAAE,MAAM,CAAC;IACnC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAExH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,6BAA6B,CAAC;IACrC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAOrB;gBAEU,OAAO,EAAE,MAAM;IAoE3B,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAK7F,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAIjD,iBAAiB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAOvD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI;IAKhE,wBAAwB,CAAC,MAAM,EAAE,sBAAsB,EAAE,KAAK,SAAM,GAAG,sBAAsB,EAAE;IAK/F,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAI3I,KAAK,IAAI,IAAI;CAGd"}
@@ -1,146 +0,0 @@
1
- import Database from 'better-sqlite3';
2
- import { mkdirSync } from 'node:fs';
3
- import { join } from 'node:path';
4
- import { runMigrations } from '../storage/migrate.js';
5
- import { channelMigrations } from '../storage/migrations/channels/index.js';
6
- export class UsageVerificationStore {
7
- _db;
8
- _stmts;
9
- constructor(dataDir) {
10
- mkdirSync(dataDir, { recursive: true });
11
- this._db = new Database(join(dataDir, 'sessions.db'));
12
- this._db.pragma('journal_mode = WAL');
13
- runMigrations(this._db, channelMigrations);
14
- this._stmts = {
15
- upsertSnapshot: this._db.prepare(`
16
- INSERT INTO usage_verification_snapshots (
17
- channel_id, service_key, provider_name, service_name, epoch,
18
- buyer_evm_addr, seller_evm_addr, seller_agent_id,
19
- cumulative_input_tokens, cumulative_cached_input_tokens, cumulative_fresh_input_tokens,
20
- cumulative_output_tokens, cumulative_request_count, cumulative_cost_usdc, payment_cumulative_amount,
21
- created_at, updated_at
22
- ) VALUES (
23
- @channelId, @serviceKey, @providerName, @serviceName, @epoch,
24
- @buyerEvmAddr, @sellerEvmAddr, @sellerAgentId,
25
- @cumulativeInputTokens, @cumulativeCachedInputTokens, @cumulativeFreshInputTokens,
26
- @cumulativeOutputTokens, @cumulativeRequestCount, @cumulativeCostUsdc, @paymentCumulativeAmount,
27
- @createdAt, @updatedAt
28
- )
29
- ON CONFLICT(channel_id, service_key, epoch) DO UPDATE SET
30
- provider_name = @providerName,
31
- service_name = @serviceName,
32
- buyer_evm_addr = @buyerEvmAddr,
33
- seller_evm_addr = @sellerEvmAddr,
34
- seller_agent_id = @sellerAgentId,
35
- cumulative_input_tokens = @cumulativeInputTokens,
36
- cumulative_cached_input_tokens = @cumulativeCachedInputTokens,
37
- cumulative_fresh_input_tokens = @cumulativeFreshInputTokens,
38
- cumulative_output_tokens = @cumulativeOutputTokens,
39
- cumulative_request_count = @cumulativeRequestCount,
40
- cumulative_cost_usdc = @cumulativeCostUsdc,
41
- payment_cumulative_amount = @paymentCumulativeAmount,
42
- updated_at = @updatedAt
43
- `),
44
- getSnapshot: this._db.prepare(`
45
- SELECT * FROM usage_verification_snapshots WHERE channel_id = ? AND service_key = ? AND epoch = ?
46
- `),
47
- upsertAttestation: this._db.prepare(`
48
- INSERT INTO usage_verification_attestations (
49
- claim_hash, request_id, channel_id, service_key, epoch, claim_json,
50
- buyer_reveal_hash, seller_reveal_hash, buyer_nonce, seller_nonce,
51
- buyer_sig, seller_sig, commit_tx_hash, reveal_tx_hash, status, created_at, updated_at
52
- ) VALUES (
53
- @claimHash, @requestId, @channelId, @serviceKey, @epoch, @claimJson,
54
- @buyerRevealHash, @sellerRevealHash, @buyerNonce, @sellerNonce,
55
- @buyerSig, @sellerSig, @commitTxHash, @revealTxHash, @status, @createdAt, @updatedAt
56
- )
57
- ON CONFLICT(claim_hash) DO UPDATE SET
58
- request_id = @requestId,
59
- claim_json = @claimJson,
60
- buyer_reveal_hash = @buyerRevealHash,
61
- seller_reveal_hash = @sellerRevealHash,
62
- buyer_nonce = @buyerNonce,
63
- seller_nonce = @sellerNonce,
64
- buyer_sig = @buyerSig,
65
- seller_sig = @sellerSig,
66
- commit_tx_hash = @commitTxHash,
67
- reveal_tx_hash = @revealTxHash,
68
- status = @status,
69
- updated_at = @updatedAt
70
- `),
71
- getAttestation: this._db.prepare('SELECT * FROM usage_verification_attestations WHERE claim_hash = ?'),
72
- listAttestationsByStatus: this._db.prepare('SELECT * FROM usage_verification_attestations WHERE status = ? ORDER BY updated_at LIMIT ?'),
73
- updateAttestationStatus: this._db.prepare('UPDATE usage_verification_attestations SET status = ?, commit_tx_hash = COALESCE(?, commit_tx_hash), reveal_tx_hash = COALESCE(?, reveal_tx_hash), updated_at = ? WHERE claim_hash = ?'),
74
- };
75
- }
76
- getSnapshot(channelId, serviceKey, epoch) {
77
- const row = this._stmts.getSnapshot.get(channelId, serviceKey, epoch);
78
- return row ? snapshotFromRow(row) : null;
79
- }
80
- upsertSnapshot(record) {
81
- this._stmts.upsertSnapshot.run(record);
82
- }
83
- upsertAttestation(record) {
84
- this._stmts.upsertAttestation.run({
85
- ...record,
86
- claimJson: JSON.stringify(record.claim),
87
- });
88
- }
89
- getAttestation(claimHash) {
90
- const row = this._stmts.getAttestation.get(claimHash);
91
- return row ? attestationFromRow(row) : null;
92
- }
93
- listAttestationsByStatus(status, limit = 100) {
94
- const rows = this._stmts.listAttestationsByStatus.all(status, limit);
95
- return rows.map(attestationFromRow);
96
- }
97
- updateAttestationStatus(claimHash, status, hashes) {
98
- this._stmts.updateAttestationStatus.run(status, hashes?.commitTxHash ?? null, hashes?.revealTxHash ?? null, Date.now(), claimHash);
99
- }
100
- close() {
101
- this._db.close();
102
- }
103
- }
104
- function snapshotFromRow(row) {
105
- return {
106
- channelId: row.channel_id,
107
- serviceKey: row.service_key,
108
- providerName: row.provider_name,
109
- serviceName: row.service_name,
110
- epoch: row.epoch,
111
- buyerEvmAddr: row.buyer_evm_addr,
112
- sellerEvmAddr: row.seller_evm_addr,
113
- sellerAgentId: row.seller_agent_id,
114
- cumulativeInputTokens: row.cumulative_input_tokens,
115
- cumulativeCachedInputTokens: row.cumulative_cached_input_tokens,
116
- cumulativeFreshInputTokens: row.cumulative_fresh_input_tokens,
117
- cumulativeOutputTokens: row.cumulative_output_tokens,
118
- cumulativeRequestCount: row.cumulative_request_count,
119
- cumulativeCostUsdc: row.cumulative_cost_usdc,
120
- paymentCumulativeAmount: row.payment_cumulative_amount,
121
- createdAt: row.created_at,
122
- updatedAt: row.updated_at,
123
- };
124
- }
125
- function attestationFromRow(row) {
126
- return {
127
- claimHash: row.claim_hash,
128
- requestId: row.request_id,
129
- channelId: row.channel_id,
130
- serviceKey: row.service_key,
131
- epoch: row.epoch,
132
- claim: JSON.parse(row.claim_json),
133
- buyerRevealHash: row.buyer_reveal_hash,
134
- sellerRevealHash: row.seller_reveal_hash,
135
- buyerNonce: row.buyer_nonce,
136
- sellerNonce: row.seller_nonce,
137
- buyerSig: row.buyer_sig,
138
- sellerSig: row.seller_sig,
139
- commitTxHash: row.commit_tx_hash,
140
- revealTxHash: row.reveal_tx_hash,
141
- status: row.status,
142
- createdAt: row.created_at,
143
- updatedAt: row.updated_at,
144
- };
145
- }
146
- //# sourceMappingURL=usage-verification-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usage-verification-store.js","sourceRoot":"","sources":["../../src/payments/usage-verification-store.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"003_create_usage_verification_tables.d.ts","sourceRoot":"","sources":["../../../../src/storage/migrations/channels/003_create_usage_verification_tables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,eAAO,MAAM,SAAS,EAAE,SAoDvB,CAAC"}
@@ -1,54 +0,0 @@
1
- export const migration = {
2
- version: 3,
3
- name: 'create_usage_verification_tables',
4
- up: (db) => {
5
- db.exec(`
6
- CREATE TABLE IF NOT EXISTS usage_verification_snapshots (
7
- channel_id TEXT NOT NULL,
8
- service_key TEXT NOT NULL,
9
- provider_name TEXT NOT NULL,
10
- service_name TEXT NOT NULL,
11
- epoch TEXT NOT NULL,
12
- buyer_evm_addr TEXT NOT NULL,
13
- seller_evm_addr TEXT NOT NULL,
14
- seller_agent_id TEXT NOT NULL,
15
- cumulative_input_tokens TEXT NOT NULL DEFAULT '0',
16
- cumulative_cached_input_tokens TEXT NOT NULL DEFAULT '0',
17
- cumulative_fresh_input_tokens TEXT NOT NULL DEFAULT '0',
18
- cumulative_output_tokens TEXT NOT NULL DEFAULT '0',
19
- cumulative_request_count TEXT NOT NULL DEFAULT '0',
20
- cumulative_cost_usdc TEXT NOT NULL DEFAULT '0',
21
- payment_cumulative_amount TEXT NOT NULL DEFAULT '0',
22
- created_at INTEGER NOT NULL,
23
- updated_at INTEGER NOT NULL,
24
- PRIMARY KEY (channel_id, service_key, epoch)
25
- );
26
-
27
- CREATE TABLE IF NOT EXISTS usage_verification_attestations (
28
- claim_hash TEXT PRIMARY KEY,
29
- request_id TEXT NOT NULL,
30
- channel_id TEXT NOT NULL,
31
- service_key TEXT NOT NULL,
32
- epoch TEXT NOT NULL,
33
- claim_json TEXT NOT NULL,
34
- buyer_reveal_hash TEXT,
35
- seller_reveal_hash TEXT,
36
- buyer_nonce TEXT,
37
- seller_nonce TEXT,
38
- buyer_sig TEXT,
39
- seller_sig TEXT,
40
- commit_tx_hash TEXT,
41
- reveal_tx_hash TEXT,
42
- status TEXT NOT NULL,
43
- created_at INTEGER NOT NULL,
44
- updated_at INTEGER NOT NULL
45
- );
46
-
47
- CREATE INDEX IF NOT EXISTS idx_usage_verification_attestations_status
48
- ON usage_verification_attestations(status, updated_at);
49
- CREATE INDEX IF NOT EXISTS idx_usage_verification_attestations_channel
50
- ON usage_verification_attestations(channel_id, service_key, epoch);
51
- `);
52
- },
53
- };
54
- //# sourceMappingURL=003_create_usage_verification_tables.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"003_create_usage_verification_tables.js","sourceRoot":"","sources":["../../../../src/storage/migrations/channels/003_create_usage_verification_tables.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,kCAAkC;IACxC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8CP,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}