@antseed/node 0.2.25 → 0.2.27

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 (111) hide show
  1. package/README.md +74 -1
  2. package/dist/discovery/announcer.d.ts +2 -0
  3. package/dist/discovery/announcer.d.ts.map +1 -1
  4. package/dist/discovery/announcer.js +10 -6
  5. package/dist/discovery/announcer.js.map +1 -1
  6. package/dist/discovery/index.d.ts +0 -1
  7. package/dist/discovery/index.d.ts.map +1 -1
  8. package/dist/discovery/index.js +0 -1
  9. package/dist/discovery/index.js.map +1 -1
  10. package/dist/discovery/reputation-verifier.d.ts +7 -4
  11. package/dist/discovery/reputation-verifier.d.ts.map +1 -1
  12. package/dist/discovery/reputation-verifier.js +33 -9
  13. package/dist/discovery/reputation-verifier.js.map +1 -1
  14. package/dist/index.d.ts +12 -3
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +6 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/node.d.ts +60 -33
  19. package/dist/node.d.ts.map +1 -1
  20. package/dist/node.js +640 -324
  21. package/dist/node.js.map +1 -1
  22. package/dist/p2p/connection-manager.d.ts.map +1 -1
  23. package/dist/p2p/connection-manager.js +6 -0
  24. package/dist/p2p/connection-manager.js.map +1 -1
  25. package/dist/p2p/identity.d.ts +27 -3
  26. package/dist/p2p/identity.d.ts.map +1 -1
  27. package/dist/p2p/identity.js +52 -13
  28. package/dist/p2p/identity.js.map +1 -1
  29. package/dist/p2p/index.d.ts +0 -2
  30. package/dist/p2p/index.d.ts.map +1 -1
  31. package/dist/p2p/index.js +0 -2
  32. package/dist/p2p/index.js.map +1 -1
  33. package/dist/p2p/payment-codec.d.ts +7 -13
  34. package/dist/p2p/payment-codec.d.ts.map +1 -1
  35. package/dist/p2p/payment-codec.js +32 -50
  36. package/dist/p2p/payment-codec.js.map +1 -1
  37. package/dist/p2p/payment-mux.d.ts +11 -20
  38. package/dist/p2p/payment-mux.d.ts.map +1 -1
  39. package/dist/p2p/payment-mux.js +36 -52
  40. package/dist/p2p/payment-mux.js.map +1 -1
  41. package/dist/payments/buyer-payment-manager.d.ts +34 -93
  42. package/dist/payments/buyer-payment-manager.d.ts.map +1 -1
  43. package/dist/payments/buyer-payment-manager.js +184 -189
  44. package/dist/payments/buyer-payment-manager.js.map +1 -1
  45. package/dist/payments/chain-config.d.ts +38 -0
  46. package/dist/payments/chain-config.d.ts.map +1 -0
  47. package/dist/payments/chain-config.js +60 -0
  48. package/dist/payments/chain-config.js.map +1 -0
  49. package/dist/payments/evm/ants-token-client.d.ts +16 -0
  50. package/dist/payments/evm/ants-token-client.d.ts.map +1 -0
  51. package/dist/payments/evm/ants-token-client.js +66 -0
  52. package/dist/payments/evm/ants-token-client.js.map +1 -0
  53. package/dist/payments/evm/base-evm-client.d.ts +13 -0
  54. package/dist/payments/evm/base-evm-client.d.ts.map +1 -0
  55. package/dist/payments/evm/base-evm-client.js +38 -0
  56. package/dist/payments/evm/base-evm-client.js.map +1 -0
  57. package/dist/payments/evm/emissions-client.d.ts +23 -0
  58. package/dist/payments/evm/emissions-client.d.ts.map +1 -0
  59. package/dist/payments/evm/emissions-client.js +84 -0
  60. package/dist/payments/evm/emissions-client.js.map +1 -0
  61. package/dist/payments/evm/escrow-client.d.ts +57 -36
  62. package/dist/payments/evm/escrow-client.d.ts.map +1 -1
  63. package/dist/payments/evm/escrow-client.js +200 -93
  64. package/dist/payments/evm/escrow-client.js.map +1 -1
  65. package/dist/payments/evm/identity-client.d.ts +34 -0
  66. package/dist/payments/evm/identity-client.d.ts.map +1 -0
  67. package/dist/payments/evm/identity-client.js +125 -0
  68. package/dist/payments/evm/identity-client.js.map +1 -0
  69. package/dist/payments/evm/signatures.d.ts +18 -5
  70. package/dist/payments/evm/signatures.d.ts.map +1 -1
  71. package/dist/payments/evm/signatures.js +21 -12
  72. package/dist/payments/evm/signatures.js.map +1 -1
  73. package/dist/payments/evm/subpool-client.d.ts +30 -0
  74. package/dist/payments/evm/subpool-client.d.ts.map +1 -0
  75. package/dist/payments/evm/subpool-client.js +158 -0
  76. package/dist/payments/evm/subpool-client.js.map +1 -0
  77. package/dist/payments/index.d.ts +20 -7
  78. package/dist/payments/index.d.ts.map +1 -1
  79. package/dist/payments/index.js +17 -6
  80. package/dist/payments/index.js.map +1 -1
  81. package/dist/payments/readiness.d.ts +12 -0
  82. package/dist/payments/readiness.d.ts.map +1 -0
  83. package/dist/payments/readiness.js +64 -0
  84. package/dist/payments/readiness.js.map +1 -0
  85. package/dist/payments/seller-payment-manager.d.ts +74 -34
  86. package/dist/payments/seller-payment-manager.d.ts.map +1 -1
  87. package/dist/payments/seller-payment-manager.js +327 -118
  88. package/dist/payments/seller-payment-manager.js.map +1 -1
  89. package/dist/payments/session-store.d.ts +65 -0
  90. package/dist/payments/session-store.d.ts.map +1 -0
  91. package/dist/payments/session-store.js +243 -0
  92. package/dist/payments/session-store.js.map +1 -0
  93. package/dist/payments/usdc-utils.d.ts +9 -0
  94. package/dist/payments/usdc-utils.d.ts.map +1 -0
  95. package/dist/payments/usdc-utils.js +17 -0
  96. package/dist/payments/usdc-utils.js.map +1 -0
  97. package/dist/types/http.d.ts +2 -0
  98. package/dist/types/http.d.ts.map +1 -1
  99. package/dist/types/http.js +2 -0
  100. package/dist/types/http.js.map +1 -1
  101. package/dist/types/index.d.ts +0 -1
  102. package/dist/types/index.d.ts.map +1 -1
  103. package/dist/types/index.js +0 -1
  104. package/dist/types/index.js.map +1 -1
  105. package/dist/types/metering.d.ts +1 -1
  106. package/dist/types/metering.d.ts.map +1 -1
  107. package/dist/types/protocol.d.ts +43 -60
  108. package/dist/types/protocol.d.ts.map +1 -1
  109. package/dist/types/protocol.js +5 -8
  110. package/dist/types/protocol.js.map +1 -1
  111. package/package.json +3 -2
@@ -0,0 +1,243 @@
1
+ import Database from 'better-sqlite3';
2
+ import { mkdirSync } from 'node:fs';
3
+ import { join } from 'node:path';
4
+ export const SESSION_STATUS = {
5
+ ACTIVE: 'active',
6
+ SETTLED: 'settled',
7
+ TIMEOUT: 'timeout',
8
+ GHOST: 'ghost',
9
+ };
10
+ export class SessionStore {
11
+ _db;
12
+ // ── Cached prepared statements (compiled once, reused every call) ──
13
+ /** Cached transaction function for updateDeliveredAndInsertReceipt (compiled once). */
14
+ _updateDeliveredAndInsertReceiptTxn;
15
+ _stmts;
16
+ constructor(dataDir) {
17
+ mkdirSync(dataDir, { recursive: true });
18
+ this._db = new Database(join(dataDir, 'sessions.db'));
19
+ this._db.pragma('journal_mode = WAL');
20
+ this._createTables();
21
+ this._stmts = this._prepareStatements();
22
+ this._updateDeliveredAndInsertReceiptTxn = this._db.transaction((sessionId, tokens, requestCount, receipt) => {
23
+ this.updateTokensDelivered(sessionId, tokens, requestCount);
24
+ this.insertReceipt(receipt);
25
+ });
26
+ }
27
+ _createTables() {
28
+ this._db.exec(`
29
+ CREATE TABLE IF NOT EXISTS payment_sessions (
30
+ session_id TEXT PRIMARY KEY,
31
+ peer_id TEXT NOT NULL,
32
+ role TEXT NOT NULL,
33
+ seller_evm_addr TEXT NOT NULL,
34
+ buyer_evm_addr TEXT NOT NULL,
35
+ nonce INTEGER NOT NULL,
36
+ auth_max TEXT NOT NULL,
37
+ deadline INTEGER NOT NULL,
38
+ previous_session_id TEXT NOT NULL,
39
+ previous_consumption TEXT NOT NULL,
40
+ tokens_delivered TEXT NOT NULL DEFAULT '0',
41
+ request_count INTEGER NOT NULL DEFAULT 0,
42
+ reserved_at INTEGER NOT NULL,
43
+ settled_at INTEGER,
44
+ settled_amount TEXT,
45
+ status TEXT NOT NULL DEFAULT 'active',
46
+ created_at INTEGER NOT NULL,
47
+ updated_at INTEGER NOT NULL
48
+ );
49
+
50
+ CREATE INDEX IF NOT EXISTS idx_sessions_peer_role_status ON payment_sessions(peer_id, role, status);
51
+ CREATE INDEX IF NOT EXISTS idx_sessions_status_updated ON payment_sessions(status, updated_at);
52
+
53
+ CREATE TABLE IF NOT EXISTS payment_receipts (
54
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
55
+ session_id TEXT NOT NULL,
56
+ running_total TEXT NOT NULL,
57
+ request_count INTEGER NOT NULL,
58
+ response_hash TEXT NOT NULL,
59
+ seller_sig TEXT NOT NULL,
60
+ buyer_ack_sig TEXT,
61
+ created_at INTEGER NOT NULL,
62
+ FOREIGN KEY (session_id) REFERENCES payment_sessions(session_id)
63
+ );
64
+
65
+ CREATE INDEX IF NOT EXISTS idx_receipts_session ON payment_receipts(session_id);
66
+ `);
67
+ }
68
+ _prepareStatements() {
69
+ return {
70
+ upsert: this._db.prepare(`
71
+ INSERT INTO payment_sessions (
72
+ session_id, peer_id, role, seller_evm_addr, buyer_evm_addr,
73
+ nonce, auth_max, deadline, previous_session_id, previous_consumption,
74
+ tokens_delivered, request_count, reserved_at, settled_at, settled_amount,
75
+ status, created_at, updated_at
76
+ ) VALUES (
77
+ @sessionId, @peerId, @role, @sellerEvmAddr, @buyerEvmAddr,
78
+ @nonce, @authMax, @deadline, @previousSessionId, @previousConsumption,
79
+ @tokensDelivered, @requestCount, @reservedAt, @settledAt, @settledAmount,
80
+ @status, @createdAt, @updatedAt
81
+ )
82
+ ON CONFLICT(session_id) DO UPDATE SET
83
+ tokens_delivered = @tokensDelivered,
84
+ request_count = @requestCount,
85
+ settled_at = @settledAt,
86
+ settled_amount = @settledAmount,
87
+ status = @status,
88
+ updated_at = @updatedAt
89
+ `),
90
+ getById: this._db.prepare('SELECT * FROM payment_sessions WHERE session_id = ?'),
91
+ getActiveByPeer: this._db.prepare('SELECT * FROM payment_sessions WHERE peer_id = ? AND role = ? AND status = ? ORDER BY created_at DESC LIMIT 1'),
92
+ getLatestByPeer: this._db.prepare('SELECT * FROM payment_sessions WHERE peer_id = ? AND role = ? ORDER BY created_at DESC LIMIT 1'),
93
+ updateStatusWithAmount: this._db.prepare('UPDATE payment_sessions SET status = ?, settled_at = ?, settled_amount = ?, updated_at = ? WHERE session_id = ?'),
94
+ updateStatus: this._db.prepare('UPDATE payment_sessions SET status = ?, updated_at = ? WHERE session_id = ?'),
95
+ updateTokens: this._db.prepare('UPDATE payment_sessions SET tokens_delivered = ?, request_count = ?, updated_at = ? WHERE session_id = ?'),
96
+ getMaxNonce: this._db.prepare('SELECT MAX(nonce) as max_nonce FROM payment_sessions WHERE role = ?'),
97
+ listAll: this._db.prepare('SELECT * FROM payment_sessions ORDER BY updated_at DESC LIMIT ?'),
98
+ getTimedOut: this._db.prepare('SELECT * FROM payment_sessions WHERE status = ? AND updated_at < ? ORDER BY updated_at LIMIT 100'),
99
+ insertReceipt: this._db.prepare(`
100
+ INSERT INTO payment_receipts (
101
+ session_id, running_total, request_count, response_hash,
102
+ seller_sig, buyer_ack_sig, created_at
103
+ ) VALUES (
104
+ @sessionId, @runningTotal, @requestCount, @responseHash,
105
+ @sellerSig, @buyerAckSig, @createdAt
106
+ )
107
+ `),
108
+ getReceipts: this._db.prepare('SELECT * FROM payment_receipts WHERE session_id = ? ORDER BY created_at'),
109
+ updateReceiptAck: this._db.prepare('UPDATE payment_receipts SET buyer_ack_sig = ? WHERE session_id = ? AND running_total = ? AND request_count = ?'),
110
+ getActiveSessions: this._db.prepare('SELECT * FROM payment_sessions WHERE role = ? AND status = ? ORDER BY created_at DESC'),
111
+ };
112
+ }
113
+ // ── Session CRUD ──────────────────────────────────────────────
114
+ upsertSession(session) {
115
+ this._stmts.upsert.run({
116
+ sessionId: session.sessionId,
117
+ peerId: session.peerId,
118
+ role: session.role,
119
+ sellerEvmAddr: session.sellerEvmAddr,
120
+ buyerEvmAddr: session.buyerEvmAddr,
121
+ nonce: session.nonce,
122
+ authMax: session.authMax,
123
+ deadline: session.deadline,
124
+ previousSessionId: session.previousSessionId,
125
+ previousConsumption: session.previousConsumption,
126
+ tokensDelivered: session.tokensDelivered,
127
+ requestCount: session.requestCount,
128
+ reservedAt: session.reservedAt,
129
+ settledAt: session.settledAt,
130
+ settledAmount: session.settledAmount,
131
+ status: session.status,
132
+ createdAt: session.createdAt,
133
+ updatedAt: session.updatedAt,
134
+ });
135
+ }
136
+ getSession(sessionId) {
137
+ const row = this._stmts.getById.get(sessionId);
138
+ return row ? rowToSession(row) : null;
139
+ }
140
+ getActiveSessionByPeer(peerId, role) {
141
+ const row = this._stmts.getActiveByPeer.get(peerId, role, SESSION_STATUS.ACTIVE);
142
+ return row ? rowToSession(row) : null;
143
+ }
144
+ getLatestSession(peerId, role) {
145
+ const row = this._stmts.getLatestByPeer.get(peerId, role);
146
+ return row ? rowToSession(row) : null;
147
+ }
148
+ updateSessionStatus(sessionId, status, settledAmount) {
149
+ const now = Date.now();
150
+ if (settledAmount !== undefined) {
151
+ this._stmts.updateStatusWithAmount.run(status, now, settledAmount, now, sessionId);
152
+ }
153
+ else {
154
+ this._stmts.updateStatus.run(status, now, sessionId);
155
+ }
156
+ }
157
+ updateTokensDelivered(sessionId, tokens, requestCount) {
158
+ this._stmts.updateTokens.run(tokens, requestCount, Date.now(), sessionId);
159
+ }
160
+ getMaxNonce(role) {
161
+ const row = this._stmts.getMaxNonce.get(role);
162
+ return row?.max_nonce ?? 0;
163
+ }
164
+ /** List all sessions ordered by most recent first. */
165
+ listAllSessions(limit = 100) {
166
+ const rows = this._stmts.listAll.all(limit);
167
+ return rows.map(rowToSession);
168
+ }
169
+ /** Get all active sessions for a given role (buyer or seller). */
170
+ getActiveSessions(role) {
171
+ const rows = this._stmts.getActiveSessions.all(role, SESSION_STATUS.ACTIVE);
172
+ return rows.map(rowToSession);
173
+ }
174
+ // ── Timeout queries ───────────────────────────────────────────
175
+ getTimedOutSessions(timeoutSeconds) {
176
+ const cutoff = Date.now() - timeoutSeconds * 1000;
177
+ const rows = this._stmts.getTimedOut.all(SESSION_STATUS.ACTIVE, cutoff);
178
+ return rows.map(rowToSession);
179
+ }
180
+ // ── Receipt CRUD ──────────────────────────────────────────────
181
+ insertReceipt(receipt) {
182
+ this._stmts.insertReceipt.run({
183
+ sessionId: receipt.sessionId,
184
+ runningTotal: receipt.runningTotal,
185
+ requestCount: receipt.requestCount,
186
+ responseHash: receipt.responseHash,
187
+ sellerSig: receipt.sellerSig,
188
+ buyerAckSig: receipt.buyerAckSig,
189
+ createdAt: receipt.createdAt,
190
+ });
191
+ }
192
+ getReceipts(sessionId) {
193
+ const rows = this._stmts.getReceipts.all(sessionId);
194
+ return rows.map(rowToReceipt);
195
+ }
196
+ /** Atomically update tokens delivered and insert receipt in a single transaction. */
197
+ updateDeliveredAndInsertReceipt(sessionId, tokens, requestCount, receipt) {
198
+ this._updateDeliveredAndInsertReceiptTxn(sessionId, tokens, requestCount, receipt);
199
+ }
200
+ /** Update receipt ack directly by composite key (no load-all-then-filter). */
201
+ updateReceiptAck(sessionId, runningTotal, requestCount, buyerAckSig) {
202
+ this._stmts.updateReceiptAck.run(buyerAckSig, sessionId, runningTotal, requestCount);
203
+ }
204
+ // ── Lifecycle ─────────────────────────────────────────────────
205
+ close() {
206
+ this._db.close();
207
+ }
208
+ }
209
+ function rowToSession(row) {
210
+ return {
211
+ sessionId: row.session_id,
212
+ peerId: row.peer_id,
213
+ role: row.role,
214
+ sellerEvmAddr: row.seller_evm_addr,
215
+ buyerEvmAddr: row.buyer_evm_addr,
216
+ nonce: row.nonce,
217
+ authMax: row.auth_max,
218
+ deadline: row.deadline,
219
+ previousSessionId: row.previous_session_id,
220
+ previousConsumption: row.previous_consumption,
221
+ tokensDelivered: row.tokens_delivered,
222
+ requestCount: row.request_count,
223
+ reservedAt: row.reserved_at,
224
+ settledAt: row.settled_at,
225
+ settledAmount: row.settled_amount,
226
+ status: row.status,
227
+ createdAt: row.created_at,
228
+ updatedAt: row.updated_at,
229
+ };
230
+ }
231
+ function rowToReceipt(row) {
232
+ return {
233
+ id: row.id,
234
+ sessionId: row.session_id,
235
+ runningTotal: row.running_total,
236
+ requestCount: row.request_count,
237
+ responseHash: row.response_hash,
238
+ sellerSig: row.seller_sig,
239
+ buyerAckSig: row.buyer_ack_sig,
240
+ createdAt: row.created_at,
241
+ };
242
+ }
243
+ //# sourceMappingURL=session-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/payments/session-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Shared USDC formatting and parsing utilities.
3
+ * USDC uses 6 decimal places (1 USDC = 1,000,000 base units).
4
+ */
5
+ /** Format USDC base units (bigint) to human-readable string (e.g., "10.5"). */
6
+ export declare function formatUsdc(baseUnits: bigint): string;
7
+ /** Parse a decimal USDC string to base units (6 decimals) without floating-point. */
8
+ export declare function parseUsdc(s: string): bigint;
9
+ //# sourceMappingURL=usdc-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usdc-utils.d.ts","sourceRoot":"","sources":["../../src/payments/usdc-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIpD;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI3C"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Shared USDC formatting and parsing utilities.
3
+ * USDC uses 6 decimal places (1 USDC = 1,000,000 base units).
4
+ */
5
+ /** Format USDC base units (bigint) to human-readable string (e.g., "10.5"). */
6
+ export function formatUsdc(baseUnits) {
7
+ const whole = baseUnits / 1000000n;
8
+ const frac = (baseUnits % 1000000n).toString().padStart(6, '0').replace(/0+$/, '') || '0';
9
+ return `${whole}.${frac}`;
10
+ }
11
+ /** Parse a decimal USDC string to base units (6 decimals) without floating-point. */
12
+ export function parseUsdc(s) {
13
+ const [whole = '0', frac = ''] = s.split('.');
14
+ const fracPadded = frac.slice(0, 6).padEnd(6, '0');
15
+ return BigInt(whole) * 1000000n + BigInt(fracPadded);
16
+ }
17
+ //# sourceMappingURL=usdc-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usdc-utils.js","sourceRoot":"","sources":["../../src/payments/usdc-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,+EAA+E;AAC/E,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,MAAM,KAAK,GAAG,SAAS,GAAG,QAAU,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,SAAS,GAAG,QAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;IAC5F,OAAO,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,QAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AACzD,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export declare const ANTSEED_STREAMING_RESPONSE_HEADER = "x-antseed-streaming";
2
+ /** Header carrying a pre-signed SpendingAuth for manual payment approval. Base64-encoded JSON. */
3
+ export declare const ANTSEED_SPENDING_AUTH_HEADER = "x-antseed-spending-auth";
2
4
  /** Marker header set on HttpRequest frames whose body is sent via HttpRequestChunk/End frames. */
3
5
  export declare const ANTSEED_UPLOAD_CHUNK_HEADER = "x-antseed-upload";
4
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/types/http.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,wBAAwB,CAAC;AACvE,kGAAkG;AAClG,eAAO,MAAM,2BAA2B,qBAAqB,CAAC;AAC9D;;;GAGG;AACH,eAAO,MAAM,8BAA8B,QAAa,CAAC;AACzD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,QAAW,CAAC;AAElD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACf"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/types/http.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,wBAAwB,CAAC;AACvE,kGAAkG;AAClG,eAAO,MAAM,4BAA4B,4BAA4B,CAAC;AACtE,kGAAkG;AAClG,eAAO,MAAM,2BAA2B,qBAAqB,CAAC;AAC9D;;;GAGG;AACH,eAAO,MAAM,8BAA8B,QAAa,CAAC;AACzD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,QAAW,CAAC;AAElD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACf"}
@@ -1,4 +1,6 @@
1
1
  export const ANTSEED_STREAMING_RESPONSE_HEADER = 'x-antseed-streaming';
2
+ /** Header carrying a pre-signed SpendingAuth for manual payment approval. Base64-encoded JSON. */
3
+ export const ANTSEED_SPENDING_AUTH_HEADER = 'x-antseed-spending-auth';
2
4
  /** Marker header set on HttpRequest frames whose body is sent via HttpRequestChunk/End frames. */
3
5
  export const ANTSEED_UPLOAD_CHUNK_HEADER = 'x-antseed-upload';
4
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/types/http.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iCAAiC,GAAG,qBAAqB,CAAC;AACvE,kGAAkG;AAClG,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAAkB,CAAC;AAC9D;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,GAAG,IAAI,CAAC;AACzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/types/http.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iCAAiC,GAAG,qBAAqB,CAAC;AACvE,kGAAkG;AAClG,MAAM,CAAC,MAAM,4BAA4B,GAAG,yBAAyB,CAAC;AACtE,kGAAkG;AAClG,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAAkB,CAAC;AAC9D;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,GAAG,IAAI,CAAC;AACzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,GAAG,IAAI,CAAC"}
@@ -7,7 +7,6 @@ export * from './seller.js';
7
7
  export * from './buyer.js';
8
8
  export * from './http.js';
9
9
  export * from './capability.js';
10
- export * from './staking.js';
11
10
  export * from './report.js';
12
11
  export * from './rating.js';
13
12
  export * from './plugin-config.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
@@ -7,7 +7,6 @@ export * from './seller.js';
7
7
  export * from './buyer.js';
8
8
  export * from './http.js';
9
9
  export * from './capability.js';
10
- export * from './staking.js';
11
10
  export * from './report.js';
12
11
  export * from './rating.js';
13
12
  export * from './plugin-config.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
@@ -14,7 +14,7 @@ export interface TokenCount {
14
14
  /** Total estimated tokens */
15
15
  totalTokens: number;
16
16
  /** The estimation method used */
17
- method: 'content-length' | 'chunk-accumulation' | 'fallback';
17
+ method: 'content-length' | 'chunk-accumulation' | 'provider-usage' | 'fallback';
18
18
  /**
19
19
  * Confidence level of the estimate.
20
20
  * 'high' = Content-Length header was present.
@@ -1 +1 @@
1
- {"version":3,"file":"metering.d.ts","sourceRoot":"","sources":["../../src/types/metering.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metering.d.ts","sourceRoot":"","sources":["../../src/types/metering.ts"],"names":[],"mappings":"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"}
@@ -10,15 +10,12 @@ export declare enum MessageType {
10
10
  HttpResponseError = 36,
11
11
  HttpRequestChunk = 37,
12
12
  HttpRequestEnd = 38,
13
- SessionLockAuth = 80,
14
- SessionLockConfirm = 81,
15
- SessionLockReject = 82,
13
+ SpendingAuth = 80,
14
+ AuthAck = 81,
16
15
  SellerReceipt = 83,
17
16
  BuyerAck = 84,
18
- SessionEnd = 85,
19
- TopUpRequest = 86,
20
- TopUpAuth = 87,
21
- DisputeNotify = 88,
17
+ TopUpRequest = 85,
18
+ PaymentRequired = 86,
22
19
  PeerReport = 96,
23
20
  ReportAck = 97,
24
21
  PeerRating = 112,
@@ -35,31 +32,32 @@ export interface FramedMessage {
35
32
  export declare const FRAME_HEADER_SIZE = 9;
36
33
  export declare const MAX_PAYLOAD_SIZE: number;
37
34
  /**
38
- * Buyer authorizes locking funds for a session.
39
- * Contains the buyer's ECDSA signature over keccak256(sessionId, seller, amount).
35
+ * Buyer authorizes spending via EIP-712 signed SpendingAuth.
40
36
  */
41
- export interface SessionLockAuthPayload {
37
+ export interface SpendingAuthPayload {
42
38
  /** 32-byte session ID as hex string */
43
39
  sessionId: string;
44
- /** Amount to lock in USDC base units (6 decimals) */
45
- lockedAmount: string;
46
- /** Buyer's ECDSA signature over keccak256(sessionId || seller || amount) as hex */
40
+ /** Maximum amount in USDC base units (6 decimals) */
41
+ maxAmountUsdc: string;
42
+ /** Replay-protection nonce */
43
+ nonce: number;
44
+ /** Unix timestamp deadline */
45
+ deadline: number;
46
+ /** Buyer's EIP-712 signature as hex */
47
47
  buyerSig: string;
48
+ /** Buyer's EVM address */
49
+ buyerEvmAddr: string;
50
+ /** Token consumption from the previous session (USDC base units) */
51
+ previousConsumption: string;
52
+ /** Previous session ID (bytes32 hex, 0x00..00 for first sign) */
53
+ previousSessionId: string;
48
54
  }
49
55
  /**
50
- * Seller confirms the lock was committed on-chain.
56
+ * Seller acknowledges the spending authorization was reserved on-chain.
51
57
  */
52
- export interface SessionLockConfirmPayload {
58
+ export interface AuthAckPayload {
53
59
  sessionId: string;
54
- /** Base transaction hash for the commit_lock instruction */
55
- txSignature: string;
56
- }
57
- /**
58
- * Seller rejects the lock (insufficient funds, invalid sig, etc).
59
- */
60
- export interface SessionLockRejectPayload {
61
- sessionId: string;
62
- reason: string;
60
+ nonce: number;
63
61
  }
64
62
  /**
65
63
  * Running-total receipt signed by seller after processing a request.
@@ -88,50 +86,35 @@ export interface BuyerAckPayload {
88
86
  /** Buyer's Ed25519 signature over (sessionId || runningTotal || requestCount) */
89
87
  buyerSig: string;
90
88
  }
91
- /**
92
- * Buyer ends the session with a final score.
93
- */
94
- export interface SessionEndPayload {
95
- sessionId: string;
96
- /** Final running total (must match last ack'd receipt) */
97
- runningTotal: string;
98
- /** Final request count */
99
- requestCount: number;
100
- /** Quality score 0-100 */
101
- score: number;
102
- /** Buyer's ECDSA signature over keccak256(sessionId || runningTotal || score) as hex */
103
- buyerSig: string;
104
- }
105
89
  /**
106
90
  * Seller requests additional funds when budget is running low.
107
91
  */
108
92
  export interface TopUpRequestPayload {
109
93
  sessionId: string;
94
+ /** Current total used so far (USDC base units) */
95
+ currentUsed: string;
96
+ /** Current max authorized (USDC base units) */
97
+ currentMax: string;
110
98
  /** Additional USDC amount requested (base units) */
111
- additionalAmount: string;
112
- /** Current running total for context */
113
- currentRunningTotal: string;
114
- /** Current locked amount for context */
115
- currentLockedAmount: string;
116
- }
117
- /**
118
- * Buyer authorizes a top-up.
119
- */
120
- export interface TopUpAuthPayload {
121
- sessionId: string;
122
- /** Additional amount authorized (USDC base units) */
123
- additionalAmount: string;
124
- /** Buyer's ECDSA signature over keccak256(sessionId || seller || additionalAmount) as hex */
125
- buyerSig: string;
99
+ requestedAdditional: string;
126
100
  }
127
101
  /**
128
- * Notify counterparty that a dispute has been opened on-chain.
102
+ * Seller tells buyer what's needed to start a payment session.
103
+ * Sent via PaymentMux alongside the HTTP 402 response.
129
104
  */
130
- export interface DisputeNotifyPayload {
131
- sessionId: string;
132
- /** Reason for the dispute */
133
- reason: string;
134
- /** Base tx hash of the open_dispute instruction */
135
- txSignature: string;
105
+ export interface PaymentRequiredPayload {
106
+ /** Seller's EVM address for the SpendingAuth */
107
+ sellerEvmAddr: string;
108
+ /** Seller's token rate in USDC base units per token (from escrow contract) */
109
+ tokenRate: string;
110
+ /** FIRST_SIGN_CAP from escrow contract (USDC base units) */
111
+ firstSignCap: string;
112
+ /** Suggested auth amount in USDC base units */
113
+ suggestedAmount: string;
114
+ /** The requestId that triggered the 402, so the buyer can correlate */
115
+ requestId: string;
116
+ /** Per-direction pricing from seller metadata (USD per 1M tokens), if available */
117
+ inputUsdPerMillion?: number;
118
+ outputUsdPerMillion?: number;
136
119
  }
137
120
  //# sourceMappingURL=protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/types/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/types/protocol.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,aAAa,IAAO;IACpB,YAAY,IAAO;IACnB,IAAI,KAAO;IACX,IAAI,KAAO;IACX,WAAW,KAAO;IAClB,YAAY,KAAO;IACnB,iBAAiB,KAAO;IACxB,eAAe,KAAO;IACtB,iBAAiB,KAAO;IAExB,gBAAgB,KAAO;IACvB,cAAc,KAAS;IAGvB,YAAY,KAAO;IACnB,OAAO,KAAO;IACd,aAAa,KAAO;IACpB,QAAQ,KAAO;IACf,YAAY,KAAO;IACnB,eAAe,KAAO;IAGtB,UAAU,KAAO;IACjB,SAAS,KAAO;IAGhB,UAAU,MAAO;IACjB,WAAW,MAAO;IAClB,cAAc,MAAO;IAErB,UAAU,MAAO;IACjB,KAAK,MAAO;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,gBAAgB,QAAmB,CAAC;AAIjD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iEAAiE;IACjE,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,kGAAkG;IAClG,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,eAAe,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
@@ -12,16 +12,13 @@ export var MessageType;
12
12
  // Chunked request upload (buyer→seller body streaming)
13
13
  MessageType[MessageType["HttpRequestChunk"] = 37] = "HttpRequestChunk";
14
14
  MessageType[MessageType["HttpRequestEnd"] = 38] = "HttpRequestEnd";
15
- // --- Bilateral Payment Protocol (0x50-0x5F) ---
16
- MessageType[MessageType["SessionLockAuth"] = 80] = "SessionLockAuth";
17
- MessageType[MessageType["SessionLockConfirm"] = 81] = "SessionLockConfirm";
18
- MessageType[MessageType["SessionLockReject"] = 82] = "SessionLockReject";
15
+ // --- Payment Protocol (0x50-0x5F) ---
16
+ MessageType[MessageType["SpendingAuth"] = 80] = "SpendingAuth";
17
+ MessageType[MessageType["AuthAck"] = 81] = "AuthAck";
19
18
  MessageType[MessageType["SellerReceipt"] = 83] = "SellerReceipt";
20
19
  MessageType[MessageType["BuyerAck"] = 84] = "BuyerAck";
21
- MessageType[MessageType["SessionEnd"] = 85] = "SessionEnd";
22
- MessageType[MessageType["TopUpRequest"] = 86] = "TopUpRequest";
23
- MessageType[MessageType["TopUpAuth"] = 87] = "TopUpAuth";
24
- MessageType[MessageType["DisputeNotify"] = 88] = "DisputeNotify";
20
+ MessageType[MessageType["TopUpRequest"] = 85] = "TopUpRequest";
21
+ MessageType[MessageType["PaymentRequired"] = 86] = "PaymentRequired";
25
22
  // Report message types
26
23
  MessageType[MessageType["PeerReport"] = 96] = "PeerReport";
27
24
  MessageType[MessageType["ReportAck"] = 97] = "ReportAck";
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/types/protocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAoCX;AApCD,WAAY,WAAW;IACrB,+DAAoB,CAAA;IACpB,6DAAmB,CAAA;IACnB,8CAAW,CAAA;IACX,8CAAW,CAAA;IACX,4DAAkB,CAAA;IAClB,8DAAmB,CAAA;IACnB,wEAAwB,CAAA;IACxB,oEAAsB,CAAA;IACtB,wEAAwB,CAAA;IACxB,uDAAuD;IACvD,sEAAuB,CAAA;IACvB,kEAAuB,CAAA;IAEvB,iDAAiD;IACjD,oEAAsB,CAAA;IACtB,0EAAyB,CAAA;IACzB,wEAAwB,CAAA;IACxB,gEAAoB,CAAA;IACpB,sDAAe,CAAA;IACf,0DAAiB,CAAA;IACjB,8DAAmB,CAAA;IACnB,wDAAgB,CAAA;IAChB,gEAAoB,CAAA;IAEpB,uBAAuB;IACvB,0DAAiB,CAAA;IACjB,wDAAgB,CAAA;IAEhB,uBAAuB;IACvB,2DAAiB,CAAA;IACjB,6DAAkB,CAAA;IAClB,mEAAqB,CAAA;IAErB,2DAAiB,CAAA;IACjB,iDAAY,CAAA;AACd,CAAC,EApCW,WAAW,KAAX,WAAW,QAoCtB;AAQD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/types/protocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAiCX;AAjCD,WAAY,WAAW;IACrB,+DAAoB,CAAA;IACpB,6DAAmB,CAAA;IACnB,8CAAW,CAAA;IACX,8CAAW,CAAA;IACX,4DAAkB,CAAA;IAClB,8DAAmB,CAAA;IACnB,wEAAwB,CAAA;IACxB,oEAAsB,CAAA;IACtB,wEAAwB,CAAA;IACxB,uDAAuD;IACvD,sEAAuB,CAAA;IACvB,kEAAuB,CAAA;IAEvB,uCAAuC;IACvC,8DAAmB,CAAA;IACnB,oDAAc,CAAA;IACd,gEAAoB,CAAA;IACpB,sDAAe,CAAA;IACf,8DAAmB,CAAA;IACnB,oEAAsB,CAAA;IAEtB,uBAAuB;IACvB,0DAAiB,CAAA;IACjB,wDAAgB,CAAA;IAEhB,uBAAuB;IACvB,2DAAiB,CAAA;IACjB,6DAAkB,CAAA;IAClB,mEAAqB,CAAA;IAErB,2DAAiB,CAAA;IACjB,iDAAY,CAAA;AACd,CAAC,EAjCW,WAAW,KAAX,WAAW,QAiCtB;AAQD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antseed/node",
3
- "version": "0.2.25",
3
+ "version": "0.2.27",
4
4
  "description": "Antseed Network protocol SDK — P2P inference marketplace",
5
5
  "type": "module",
6
6
  "files": [
@@ -45,12 +45,13 @@
45
45
  "bittorrent-dht": "^11.0.11",
46
46
  "ethers": "~6.16.0",
47
47
  "node-datachannel": "^0.7.0",
48
- "@antseed/api-adapter": "0.1.12"
48
+ "@antseed/api-adapter": "0.1.14"
49
49
  },
50
50
  "optionalDependencies": {
51
51
  "keytar": "^7.9.0"
52
52
  },
53
53
  "devDependencies": {
54
+ "@openzeppelin/contracts": "^5.6.1",
54
55
  "@types/better-sqlite3": "^7.6.13",
55
56
  "@types/node": "^20.11.0",
56
57
  "typescript": "^5.3.0",