@abbababa/sdk 0.7.0 → 1.0.0
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.
- package/README.md +178 -60
- package/dist/agents.d.ts +15 -4
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +14 -1
- package/dist/agents.js.map +1 -1
- package/dist/buyer.d.ts +136 -25
- package/dist/buyer.d.ts.map +1 -1
- package/dist/buyer.js +277 -45
- package/dist/buyer.js.map +1 -1
- package/dist/channels.d.ts +2 -2
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js.map +1 -1
- package/dist/checkout.d.ts +2 -2
- package/dist/checkout.d.ts.map +1 -1
- package/dist/checkout.js.map +1 -1
- package/dist/client.d.ts +3 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +7 -6
- package/dist/client.js.map +1 -1
- package/dist/crypto.d.ts +93 -0
- package/dist/crypto.d.ts.map +1 -0
- package/dist/crypto.js +298 -0
- package/dist/crypto.js.map +1 -0
- package/dist/errors.d.ts +7 -7
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +8 -8
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/memory.d.ts +2 -2
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js.map +1 -1
- package/dist/messages.d.ts +27 -3
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +35 -0
- package/dist/messages.js.map +1 -1
- package/dist/register.d.ts +0 -1
- package/dist/register.d.ts.map +1 -1
- package/dist/register.js +3 -4
- package/dist/register.js.map +1 -1
- package/dist/seller.d.ts +102 -22
- package/dist/seller.d.ts.map +1 -1
- package/dist/seller.js +190 -45
- package/dist/seller.js.map +1 -1
- package/dist/services.d.ts +2 -2
- package/dist/services.d.ts.map +1 -1
- package/dist/services.js.map +1 -1
- package/dist/transactions.d.ts +2 -2
- package/dist/transactions.d.ts.map +1 -1
- package/dist/transactions.js.map +1 -1
- package/dist/types.d.ts +131 -57
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/wallet/abi.d.ts +15 -0
- package/dist/wallet/abi.d.ts.map +1 -1
- package/dist/wallet/abi.js +18 -8
- package/dist/wallet/abi.js.map +1 -1
- package/dist/wallet/constants.d.ts +8 -6
- package/dist/wallet/constants.d.ts.map +1 -1
- package/dist/wallet/constants.js +38 -23
- package/dist/wallet/constants.js.map +1 -1
- package/dist/wallet/eoa-wallet.d.ts +21 -0
- package/dist/wallet/eoa-wallet.d.ts.map +1 -0
- package/dist/wallet/eoa-wallet.js +37 -0
- package/dist/wallet/eoa-wallet.js.map +1 -0
- package/dist/wallet/escrow.d.ts +38 -8
- package/dist/wallet/escrow.d.ts.map +1 -1
- package/dist/wallet/escrow.js +71 -18
- package/dist/wallet/escrow.js.map +1 -1
- package/dist/wallet/index.d.ts +0 -2
- package/dist/wallet/index.d.ts.map +1 -1
- package/dist/wallet/index.js +0 -2
- package/dist/wallet/index.js.map +1 -1
- package/dist/wallet/session-key.d.ts +71 -0
- package/dist/wallet/session-key.d.ts.map +1 -0
- package/dist/wallet/session-key.js +82 -0
- package/dist/wallet/session-key.js.map +1 -0
- package/dist/wallet/session-keys.js +8 -8
- package/dist/wallet/smart-account.d.ts +2 -2
- package/dist/wallet/smart-account.js +4 -4
- package/package.json +14 -32
package/dist/buyer.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AbbaBabaClient } from './client.js';
|
|
2
2
|
import { WebhookServer } from './webhook.js';
|
|
3
|
+
import { AgentCrypto, verifyAttestation } from './crypto.js';
|
|
3
4
|
export class BuyerAgent {
|
|
4
5
|
client;
|
|
5
6
|
webhookServer = null;
|
|
6
7
|
walletAddress = null;
|
|
7
|
-
|
|
8
|
+
walletClient = null;
|
|
8
9
|
resolvedGasStrategy = null;
|
|
10
|
+
_crypto = null;
|
|
9
11
|
constructor(config) {
|
|
10
|
-
this.client = new
|
|
12
|
+
this.client = new AbbaBabaClient(config);
|
|
11
13
|
}
|
|
12
14
|
/** Search the marketplace for services. */
|
|
13
15
|
async findServices(query, filters) {
|
|
@@ -56,32 +58,36 @@ export class BuyerAgent {
|
|
|
56
58
|
}
|
|
57
59
|
}
|
|
58
60
|
/**
|
|
59
|
-
* Initialize a
|
|
60
|
-
*
|
|
61
|
+
* Initialize a plain EOA wallet for on-chain payments.
|
|
62
|
+
* The agent pays their own gas (~$0.02/flow on Base Sepolia).
|
|
63
|
+
* No ZeroDev or smart account required.
|
|
64
|
+
*
|
|
65
|
+
* @param privateKey - 32-byte hex private key (0x-prefixed)
|
|
66
|
+
* @param chain - Target chain (default: 'baseSepolia')
|
|
61
67
|
*/
|
|
62
|
-
async
|
|
63
|
-
const {
|
|
64
|
-
const result = await
|
|
68
|
+
async initEOAWallet(privateKey, chain) {
|
|
69
|
+
const { createEOAWallet } = await import('./wallet/eoa-wallet.js');
|
|
70
|
+
const result = await createEOAWallet({ privateKey, chain });
|
|
65
71
|
this.walletAddress = result.address;
|
|
66
|
-
this.
|
|
67
|
-
this.resolvedGasStrategy =
|
|
72
|
+
this.walletClient = result.walletClient;
|
|
73
|
+
this.resolvedGasStrategy = 'self-funded';
|
|
68
74
|
return result.address;
|
|
69
75
|
}
|
|
70
76
|
/**
|
|
71
77
|
* Fund an on-chain escrow for a transaction (V2 — includes deadline).
|
|
72
|
-
* Requires
|
|
78
|
+
* Requires initEOAWallet() to have been called first.
|
|
73
79
|
* @param tokenSymbol - Settlement token symbol (default: 'USDC').
|
|
74
80
|
* @param deadline - Unix timestamp after which the seller must deliver.
|
|
75
81
|
* Returns the on-chain transaction hash.
|
|
76
82
|
*/
|
|
77
83
|
async fundEscrow(transactionId, sellerAddress, amount, tokenSymbol = 'USDC', deadline = BigInt(Math.floor(Date.now() / 1000) + 7 * 86400)) {
|
|
78
|
-
if (!this.
|
|
79
|
-
throw new Error('Wallet not initialized. Call
|
|
84
|
+
if (!this.walletClient) {
|
|
85
|
+
throw new Error('Wallet not initialized. Call initEOAWallet() first.');
|
|
80
86
|
}
|
|
81
87
|
const { EscrowClient } = await import('./wallet/escrow.js');
|
|
82
88
|
const { getToken, BASE_SEPOLIA_CHAIN_ID } = await import('./wallet/constants.js');
|
|
83
89
|
const token = getToken(BASE_SEPOLIA_CHAIN_ID, tokenSymbol);
|
|
84
|
-
const escrow = new EscrowClient(this.
|
|
90
|
+
const escrow = new EscrowClient(this.walletClient, token);
|
|
85
91
|
await escrow.approveToken(amount);
|
|
86
92
|
return escrow.fundEscrow(transactionId, sellerAddress, amount, deadline);
|
|
87
93
|
}
|
|
@@ -93,7 +99,7 @@ export class BuyerAgent {
|
|
|
93
99
|
* 3. POST /api/v1/transactions/:id/fund to verify on-chain state
|
|
94
100
|
*
|
|
95
101
|
* Returns the fund verification result from the backend.
|
|
96
|
-
* Requires
|
|
102
|
+
* Requires initEOAWallet() to have been called first.
|
|
97
103
|
*/
|
|
98
104
|
async fundAndVerify(transactionId, sellerAddress, amount, tokenSymbol = 'USDC', deadline = BigInt(Math.floor(Date.now() / 1000) + 7 * 86400)) {
|
|
99
105
|
const txHash = await this.fundEscrow(transactionId, sellerAddress, amount, tokenSymbol, deadline);
|
|
@@ -105,9 +111,9 @@ export class BuyerAgent {
|
|
|
105
111
|
*/
|
|
106
112
|
async confirmAndRelease(transactionId) {
|
|
107
113
|
await this.client.transactions.confirm(transactionId);
|
|
108
|
-
if (this.
|
|
114
|
+
if (this.walletClient) {
|
|
109
115
|
const { EscrowClient } = await import('./wallet/escrow.js');
|
|
110
|
-
const escrow = new EscrowClient(this.
|
|
116
|
+
const escrow = new EscrowClient(this.walletClient);
|
|
111
117
|
await escrow.acceptDelivery(transactionId);
|
|
112
118
|
}
|
|
113
119
|
}
|
|
@@ -116,11 +122,11 @@ export class BuyerAgent {
|
|
|
116
122
|
* Returns the on-chain transaction hash.
|
|
117
123
|
*/
|
|
118
124
|
async disputeOnChain(transactionId) {
|
|
119
|
-
if (!this.
|
|
120
|
-
throw new Error('Wallet not initialized. Call
|
|
125
|
+
if (!this.walletClient) {
|
|
126
|
+
throw new Error('Wallet not initialized. Call initEOAWallet() first.');
|
|
121
127
|
}
|
|
122
128
|
const { EscrowClient } = await import('./wallet/escrow.js');
|
|
123
|
-
const escrow = new EscrowClient(this.
|
|
129
|
+
const escrow = new EscrowClient(this.walletClient);
|
|
124
130
|
return escrow.disputeEscrow(transactionId);
|
|
125
131
|
}
|
|
126
132
|
/**
|
|
@@ -128,11 +134,11 @@ export class BuyerAgent {
|
|
|
128
134
|
* Returns the on-chain transaction hash.
|
|
129
135
|
*/
|
|
130
136
|
async claimAbandoned(transactionId) {
|
|
131
|
-
if (!this.
|
|
132
|
-
throw new Error('Wallet not initialized. Call
|
|
137
|
+
if (!this.walletClient) {
|
|
138
|
+
throw new Error('Wallet not initialized. Call initEOAWallet() first.');
|
|
133
139
|
}
|
|
134
140
|
const { EscrowClient } = await import('./wallet/escrow.js');
|
|
135
|
-
const escrow = new EscrowClient(this.
|
|
141
|
+
const escrow = new EscrowClient(this.walletClient);
|
|
136
142
|
return escrow.claimAbandoned(transactionId);
|
|
137
143
|
}
|
|
138
144
|
/**
|
|
@@ -170,41 +176,267 @@ export class BuyerAgent {
|
|
|
170
176
|
};
|
|
171
177
|
}
|
|
172
178
|
/**
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
179
|
+
* Create a session key bundle for delegation to an autonomous agent.
|
|
180
|
+
*
|
|
181
|
+
* Generates an ephemeral EOA wallet and E2E keypair locally, then registers
|
|
182
|
+
* the session wallet address with the platform. Returns a `SessionInfo` with
|
|
183
|
+
* a `serialize()` method to produce the bundle string for the agent.
|
|
184
|
+
*
|
|
185
|
+
* After calling `createSession()`:
|
|
186
|
+
* 1. Fund `session.walletAddress` with USDC (up to `budgetUsdc`) + a small
|
|
187
|
+
* ETH gas reserve using `fundSession(session)`.
|
|
188
|
+
* 2. Serialize: `const bundle = session.serialize()`
|
|
189
|
+
* 3. Pass `bundle` to the agent process.
|
|
190
|
+
* 4. Agent calls `agentBuyer.initWithSession(bundle)` — fully operational.
|
|
177
191
|
*
|
|
178
|
-
* Requires
|
|
192
|
+
* Requires a valid API key (`this.client`) — does NOT require initEOAWallet().
|
|
179
193
|
*/
|
|
180
|
-
async
|
|
181
|
-
const {
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
194
|
+
async createSession(opts) {
|
|
195
|
+
const { generateSessionWallet, generateE2EKeypair, SessionBundle } = await import('./wallet/session-key.js');
|
|
196
|
+
const wallet = generateSessionWallet();
|
|
197
|
+
const e2eKeypair = generateE2EKeypair();
|
|
198
|
+
const expirySecs = opts?.expiry ?? 3600;
|
|
199
|
+
const expiryTs = Math.floor(Date.now() / 1000) + expirySecs;
|
|
200
|
+
const res = await this.client.request('POST', '/api/v1/agents/session', {
|
|
201
|
+
budgetUsdc: opts?.budgetUsdc ?? null,
|
|
202
|
+
expiry: expirySecs,
|
|
203
|
+
allowedServiceIds: opts?.allowedServiceIds ?? [],
|
|
204
|
+
sessionWallet: wallet.address,
|
|
205
|
+
e2ePublicKey: e2eKeypair.publicKey,
|
|
206
|
+
});
|
|
207
|
+
if (!res.success || !res.data) {
|
|
208
|
+
throw new Error(res.error ?? 'Failed to create session');
|
|
209
|
+
}
|
|
210
|
+
const bundlePayload = {
|
|
211
|
+
token: res.data.token,
|
|
212
|
+
agentId: '', // agentId is encoded into the session token on the platform side
|
|
213
|
+
budgetUsdc: opts?.budgetUsdc ?? null,
|
|
214
|
+
expiry: expiryTs,
|
|
215
|
+
walletPrivateKey: wallet.privateKey,
|
|
216
|
+
walletAddress: wallet.address,
|
|
217
|
+
e2ePrivateKey: e2eKeypair.privateKey,
|
|
218
|
+
e2ePublicKey: e2eKeypair.publicKey,
|
|
219
|
+
};
|
|
220
|
+
const serialized = SessionBundle.serialize(bundlePayload);
|
|
221
|
+
const info = {
|
|
222
|
+
sessionId: res.data.sessionId,
|
|
223
|
+
token: res.data.token,
|
|
224
|
+
agentId: bundlePayload.agentId,
|
|
225
|
+
budgetUsdc: opts?.budgetUsdc ?? null,
|
|
226
|
+
expiry: expiryTs,
|
|
227
|
+
walletAddress: wallet.address,
|
|
228
|
+
e2ePublicKey: e2eKeypair.publicKey,
|
|
229
|
+
};
|
|
230
|
+
return { ...info, serialize: () => serialized };
|
|
187
231
|
}
|
|
188
232
|
/**
|
|
189
|
-
*
|
|
190
|
-
* The owner calls this with their private key, then passes the serialized
|
|
191
|
-
* session key string to the agent. The session key is restricted to
|
|
192
|
-
* V2 escrow operations by default.
|
|
233
|
+
* Initialize this agent from a serialized session bundle.
|
|
193
234
|
*
|
|
194
|
-
*
|
|
235
|
+
* Sets the session EOA wallet (for on-chain signing) and E2E crypto keypair
|
|
236
|
+
* (for `purchaseEncrypted` / `decryptResponsePayload`). The API client already
|
|
237
|
+
* uses the session token via the constructor `apiKey`.
|
|
195
238
|
*
|
|
196
|
-
*
|
|
239
|
+
* Call this instead of `initEOAWallet()` + `initCrypto()` when operating
|
|
240
|
+
* as a delegated session agent.
|
|
241
|
+
*
|
|
242
|
+
* @param serializedBundle - The string from `session.serialize()`.
|
|
197
243
|
*/
|
|
198
|
-
|
|
199
|
-
const {
|
|
200
|
-
|
|
244
|
+
async initWithSession(serializedBundle) {
|
|
245
|
+
const { SessionBundle } = await import('./wallet/session-key.js');
|
|
246
|
+
const payload = SessionBundle.deserialize(serializedBundle);
|
|
247
|
+
if (payload.expiry < Math.floor(Date.now() / 1000)) {
|
|
248
|
+
throw new Error('Session bundle has expired. Request a new session from the operator.');
|
|
249
|
+
}
|
|
250
|
+
// Initialize EOA wallet from the session private key
|
|
251
|
+
await this.initEOAWallet(payload.walletPrivateKey);
|
|
252
|
+
// Initialize E2E crypto from the session E2E keypair
|
|
253
|
+
this.initCrypto(payload.e2ePrivateKey);
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Fund a session wallet with USDC + a small ETH gas reserve.
|
|
257
|
+
*
|
|
258
|
+
* Transfers `session.budgetUsdc` USDC and 0.01 ETH from the main wallet
|
|
259
|
+
* (which must be initialized via `initEOAWallet()`) to the session EOA address.
|
|
260
|
+
* This sets the blockchain-enforced hard cap — the agent cannot spend more
|
|
261
|
+
* than what's in the session wallet regardless of the API soft cap.
|
|
262
|
+
*
|
|
263
|
+
* Requires `initEOAWallet()` to have been called with the MAIN wallet first.
|
|
264
|
+
*
|
|
265
|
+
* @param session - The SessionInfo returned by `createSession()`.
|
|
266
|
+
* @param tokenSymbol - Token to transfer (default: 'USDC').
|
|
267
|
+
* @returns On-chain USDC transfer transaction hash.
|
|
268
|
+
*/
|
|
269
|
+
async fundSession(session, tokenSymbol = 'USDC') {
|
|
270
|
+
if (!this.walletClient) {
|
|
271
|
+
throw new Error('Main wallet not initialized. Call initEOAWallet() with the main private key first.');
|
|
272
|
+
}
|
|
273
|
+
if (session.budgetUsdc === null || session.budgetUsdc <= 0) {
|
|
274
|
+
throw new Error('budgetUsdc must be a positive number to fund a session wallet.');
|
|
275
|
+
}
|
|
276
|
+
const { EscrowClient } = await import('./wallet/escrow.js');
|
|
277
|
+
const { getToken, BASE_SEPOLIA_CHAIN_ID } = await import('./wallet/constants.js');
|
|
278
|
+
const token = getToken(BASE_SEPOLIA_CHAIN_ID, tokenSymbol);
|
|
279
|
+
if (!token)
|
|
280
|
+
throw new Error(`Token ${tokenSymbol} not found for chain ${BASE_SEPOLIA_CHAIN_ID}`);
|
|
281
|
+
const escrow = new EscrowClient(this.walletClient, token);
|
|
282
|
+
// Transfer USDC to session wallet
|
|
283
|
+
const amountUnits = BigInt(Math.round(session.budgetUsdc * 10 ** token.decimals));
|
|
284
|
+
return escrow.transferToken(session.walletAddress, amountUnits);
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Reclaim remaining USDC from an expired or exhausted session wallet.
|
|
288
|
+
*
|
|
289
|
+
* Reads the current USDC balance of this wallet (the session wallet) and
|
|
290
|
+
* transfers it to `mainWalletAddress`. Call this after the session expires.
|
|
291
|
+
*
|
|
292
|
+
* This must be called on a BuyerAgent initialized with the SESSION private key
|
|
293
|
+
* (via `initWithSession(bundle)`), not the main wallet:
|
|
294
|
+
* ```ts
|
|
295
|
+
* const reclaimer = new BuyerAgent({ apiKey: session.token })
|
|
296
|
+
* await reclaimer.initWithSession(bundle)
|
|
297
|
+
* await reclaimer.reclaimSession(MAIN_WALLET_ADDRESS)
|
|
298
|
+
* ```
|
|
299
|
+
*
|
|
300
|
+
* @param mainWalletAddress - Destination address to receive the swept USDC.
|
|
301
|
+
* @param tokenSymbol - Token to reclaim (default: 'USDC').
|
|
302
|
+
* @returns On-chain USDC transfer transaction hash, or `null` if balance is zero.
|
|
303
|
+
*/
|
|
304
|
+
async reclaimSession(mainWalletAddress, tokenSymbol = 'USDC') {
|
|
305
|
+
if (!this.walletClient || !this.walletAddress) {
|
|
306
|
+
throw new Error('Session wallet not initialized. Call initWithSession(bundle) on a BuyerAgent ' +
|
|
307
|
+
'configured with the session token, then call reclaimSession(mainWalletAddress).');
|
|
308
|
+
}
|
|
309
|
+
const { EscrowClient } = await import('./wallet/escrow.js');
|
|
310
|
+
const { getToken, BASE_SEPOLIA_CHAIN_ID } = await import('./wallet/constants.js');
|
|
311
|
+
const token = getToken(BASE_SEPOLIA_CHAIN_ID, tokenSymbol);
|
|
312
|
+
const escrow = new EscrowClient(this.walletClient, token);
|
|
313
|
+
return escrow.sweepToken(this.walletAddress, mainWalletAddress);
|
|
201
314
|
}
|
|
202
315
|
getWalletAddress() {
|
|
203
316
|
return this.walletAddress;
|
|
204
317
|
}
|
|
205
|
-
/** Returns the resolved gas strategy after
|
|
318
|
+
/** Returns the resolved gas strategy after initEOAWallet(). */
|
|
206
319
|
getGasStrategy() {
|
|
207
320
|
return this.resolvedGasStrategy;
|
|
208
321
|
}
|
|
322
|
+
/**
|
|
323
|
+
* Purchase a service with an encrypted `requestPayload`.
|
|
324
|
+
*
|
|
325
|
+
* Encrypts `input.requestPayload` client-side using the seller agent's E2E public key
|
|
326
|
+
* before the request leaves the SDK. The platform stores `{ _e2e: EncryptedEnvelope }`
|
|
327
|
+
* and the seller decrypts it with `decryptRequestPayload()`. The platform never sees
|
|
328
|
+
* the plaintext job spec.
|
|
329
|
+
*
|
|
330
|
+
* Requires `initCrypto()` to have been called first.
|
|
331
|
+
*
|
|
332
|
+
* @param input - Checkout parameters. `requestPayload` is the plaintext to encrypt.
|
|
333
|
+
* @param sellerAgentId - The seller agent's ID. Their E2E public key is fetched automatically.
|
|
334
|
+
*/
|
|
335
|
+
async purchaseEncrypted(input, sellerAgentId) {
|
|
336
|
+
if (!this._crypto) {
|
|
337
|
+
throw new Error('E2E crypto not initialized. Call initCrypto() first.');
|
|
338
|
+
}
|
|
339
|
+
const keyRes = await this.client.agents.getE2EPublicKey(sellerAgentId);
|
|
340
|
+
if (!keyRes.success || !keyRes.data) {
|
|
341
|
+
throw new Error(keyRes.error ?? 'Could not fetch seller E2E public key');
|
|
342
|
+
}
|
|
343
|
+
const sellerPubKey = keyRes.data.publicKey;
|
|
344
|
+
const plainPayload = (input.requestPayload ?? {});
|
|
345
|
+
const envelope = await this._crypto.encryptFor(plainPayload, sellerPubKey);
|
|
346
|
+
const res = await this.client.checkout.purchase({
|
|
347
|
+
...input,
|
|
348
|
+
requestPayload: { _e2e: envelope },
|
|
349
|
+
});
|
|
350
|
+
if (!res.success || !res.data) {
|
|
351
|
+
throw new Error(res.error ?? 'Purchase failed');
|
|
352
|
+
}
|
|
353
|
+
return res.data;
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Decrypt an encrypted `responsePayload` from a completed transaction.
|
|
357
|
+
*
|
|
358
|
+
* Call this after the seller delivers — if the seller used `deliverEncrypted()`,
|
|
359
|
+
* `transaction.responsePayload` will be `{ _e2e: EncryptedEnvelope }`.
|
|
360
|
+
*
|
|
361
|
+
* Requires `initCrypto()` to have been called first.
|
|
362
|
+
*
|
|
363
|
+
* @throws If the payload is not encrypted or the crypto context is missing.
|
|
364
|
+
*/
|
|
365
|
+
async decryptResponsePayload(transaction) {
|
|
366
|
+
if (!this._crypto) {
|
|
367
|
+
throw new Error('E2E crypto not initialized. Call initCrypto() first.');
|
|
368
|
+
}
|
|
369
|
+
const payload = transaction.responsePayload;
|
|
370
|
+
if (!payload?._e2e) {
|
|
371
|
+
throw new Error('responsePayload does not contain an _e2e envelope. Was it sent with deliverEncrypted()?');
|
|
372
|
+
}
|
|
373
|
+
return this._crypto.decrypt(payload._e2e);
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Auto-decrypt the encrypted `responsePayload` and submit it as dispute evidence.
|
|
377
|
+
*
|
|
378
|
+
* Fetches the transaction, decrypts `responsePayload._e2e`, verifies the sender
|
|
379
|
+
* signature, optionally verifies the attestation hash, then submits as
|
|
380
|
+
* `decrypted_payload` evidence to give the resolver full plaintext.
|
|
381
|
+
*
|
|
382
|
+
* Requires `initCrypto()` to have been called first.
|
|
383
|
+
*
|
|
384
|
+
* @param transactionId - The disputed transaction.
|
|
385
|
+
*/
|
|
386
|
+
async submitPayloadEvidence(transactionId) {
|
|
387
|
+
if (!this._crypto) {
|
|
388
|
+
throw new Error('E2E crypto not initialized. Call initCrypto() first.');
|
|
389
|
+
}
|
|
390
|
+
const txRes = await this.client.transactions.get(transactionId);
|
|
391
|
+
if (!txRes.success || !txRes.data) {
|
|
392
|
+
throw new Error(txRes.error ?? 'Could not fetch transaction');
|
|
393
|
+
}
|
|
394
|
+
const rp = txRes.data.responsePayload;
|
|
395
|
+
if (!rp?._e2e) {
|
|
396
|
+
throw new Error('responsePayload does not contain an _e2e envelope. Was it sent with deliverEncrypted()?');
|
|
397
|
+
}
|
|
398
|
+
const result = await this._crypto.decrypt(rp._e2e);
|
|
399
|
+
const attestation = rp.attestation;
|
|
400
|
+
let hashVerified = false;
|
|
401
|
+
if (attestation) {
|
|
402
|
+
hashVerified = verifyAttestation(result.plaintext, attestation);
|
|
403
|
+
}
|
|
404
|
+
return this.client.transactions.submitEvidence(transactionId, {
|
|
405
|
+
evidenceType: 'decrypted_payload',
|
|
406
|
+
description: `Buyer discloses encrypted responsePayload. Sender sig verified: ${result.verified}. Hash verified: ${hashVerified}`,
|
|
407
|
+
contentHash: attestation?.hash,
|
|
408
|
+
metadata: {
|
|
409
|
+
role: 'buyer',
|
|
410
|
+
payload: result.plaintext,
|
|
411
|
+
senderVerified: result.verified,
|
|
412
|
+
hashVerified,
|
|
413
|
+
},
|
|
414
|
+
});
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Initialize E2E encryption for this agent using a secp256k1 private key.
|
|
418
|
+
* After calling this, use `this.crypto` to encrypt messages for recipients
|
|
419
|
+
* and decrypt messages received from them.
|
|
420
|
+
*
|
|
421
|
+
* Store the private key in your secret manager — losing it means you
|
|
422
|
+
* cannot decrypt historical messages. The derived public key is shared
|
|
423
|
+
* with recipients so they can encrypt messages addressed to you.
|
|
424
|
+
*
|
|
425
|
+
* @param privateKeyHex - 32-byte secp256k1 private key, hex string.
|
|
426
|
+
* Generate one with `AgentCrypto.generate()`.
|
|
427
|
+
*/
|
|
428
|
+
initCrypto(privateKeyHex) {
|
|
429
|
+
this._crypto = AgentCrypto.fromPrivateKey(privateKeyHex);
|
|
430
|
+
return this._crypto;
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* The agent's E2E crypto context. `null` until `initCrypto()` is called.
|
|
434
|
+
* Use `crypto.publicKey` to share your address with senders.
|
|
435
|
+
* Use `crypto.encryptFor(body, recipientPubKey)` to encrypt outgoing messages.
|
|
436
|
+
* Use `MessagesClient.decryptReceived(message, crypto)` to decrypt incoming ones.
|
|
437
|
+
*/
|
|
438
|
+
get crypto() {
|
|
439
|
+
return this._crypto;
|
|
440
|
+
}
|
|
209
441
|
}
|
|
210
442
|
//# sourceMappingURL=buyer.js.map
|
package/dist/buyer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buyer.js","sourceRoot":"","sources":["../src/buyer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buyer.js","sourceRoot":"","sources":["../src/buyer.ts"],"names":[],"mappings":"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"}
|
package/dist/channels.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AbbaBabaClient } from './client.js';
|
|
2
2
|
import type { ApiResponse } from './types.js';
|
|
3
3
|
export interface Channel {
|
|
4
4
|
id: string;
|
|
@@ -36,7 +36,7 @@ export interface PublishResult {
|
|
|
36
36
|
}
|
|
37
37
|
export declare class ChannelsClient {
|
|
38
38
|
private client;
|
|
39
|
-
constructor(client:
|
|
39
|
+
constructor(client: AbbaBabaClient);
|
|
40
40
|
/** List all channels visible to this agent (public channels + any private channels the agent belongs to). */
|
|
41
41
|
list(): Promise<ApiResponse<Channel[]>>;
|
|
42
42
|
/** Subscribe to a channel. Required before you can receive messages from it. */
|
package/dist/channels.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../src/channels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../src/channels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,EAAE,OAAO,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAE1C,6GAA6G;IACvG,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAI7C,gFAAgF;IAC1E,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IAIzE,4EAA4E;IACtE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAIvG,6FAA6F;IACvF,QAAQ,CACZ,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAY9C,kCAAkC;IAC5B,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAMlF"}
|
package/dist/channels.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channels.js","sourceRoot":"","sources":["../src/channels.ts"],"names":[],"mappings":"AA0CA,MAAM,OAAO,cAAc;IACL;IAApB,YAAoB,
|
|
1
|
+
{"version":3,"file":"channels.js","sourceRoot":"","sources":["../src/channels.ts"],"names":[],"mappings":"AA0CA,MAAM,OAAO,cAAc;IACL;IAApB,YAAoB,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAE9C,6GAA6G;IAC7G,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAY,KAAK,EAAE,kBAAkB,CAAC,CAAA;IAClE,CAAC;IAED,gFAAgF;IAChF,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAkB,MAAM,EAAE,4BAA4B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;IAClG,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,OAAgC;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAgB,MAAM,EAAE,0BAA0B,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;IACvG,CAAC;IAED,6FAA6F;IAC7F,KAAK,CAAC,QAAQ,CACZ,SAAiB,EACjB,MAA2C;QAE3C,MAAM,KAAK,GAA2B,EAAE,CAAA;QACxC,IAAI,MAAM,EAAE,KAAK;YAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QAC7C,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,oBAAoB,SAAS,WAAW,EACxC,SAAS,EACT,KAAK,CACN,CAAA;IACH,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,WAAW,CAAC,SAAiB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,oBAAoB,SAAS,cAAc,CAC5C,CAAA;IACH,CAAC;CACF"}
|
package/dist/checkout.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AbbaBabaClient } from './client.js';
|
|
2
2
|
import type { ApiResponse, CheckoutInput, CheckoutResult } from './types.js';
|
|
3
3
|
export declare class CheckoutClient {
|
|
4
4
|
private client;
|
|
5
|
-
constructor(client:
|
|
5
|
+
constructor(client: AbbaBabaClient);
|
|
6
6
|
purchase(input: CheckoutInput): Promise<ApiResponse<CheckoutResult>>;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=checkout.d.ts.map
|
package/dist/checkout.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../src/checkout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../src/checkout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE5E,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAEpC,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;CAG3E"}
|
package/dist/checkout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../src/checkout.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,cAAc;IACL;IAApB,YAAoB,
|
|
1
|
+
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../src/checkout.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,cAAc;IACL;IAApB,YAAoB,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAE9C,KAAK,CAAC,QAAQ,CAAC,KAAoB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAiB,MAAM,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAA;IAC/E,CAAC;CACF"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AbbaBabaConfig, ApiResponse } from './types.js';
|
|
2
2
|
import { ServicesClient } from './services.js';
|
|
3
3
|
import { CheckoutClient } from './checkout.js';
|
|
4
4
|
import { TransactionsClient } from './transactions.js';
|
|
@@ -7,7 +7,7 @@ import { MessagesClient } from './messages.js';
|
|
|
7
7
|
import { ChannelsClient } from './channels.js';
|
|
8
8
|
import { AgentsClient } from './agents.js';
|
|
9
9
|
import { type RegisterOptions, type RegisterResult } from './register.js';
|
|
10
|
-
export declare class
|
|
10
|
+
export declare class AbbaBabaClient {
|
|
11
11
|
private apiKey;
|
|
12
12
|
private baseUrl;
|
|
13
13
|
private timeout;
|
|
@@ -23,7 +23,7 @@ export declare class AbbabaClient {
|
|
|
23
23
|
* No browser, email, or CAPTCHA required.
|
|
24
24
|
*/
|
|
25
25
|
static register(opts: RegisterOptions): Promise<RegisterResult>;
|
|
26
|
-
constructor(config:
|
|
26
|
+
constructor(config: AbbaBabaConfig);
|
|
27
27
|
request<T>(method: string, path: string, body?: unknown, queryParams?: Record<string, string>): Promise<ApiResponse<T>>;
|
|
28
28
|
}
|
|
29
29
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAU7D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAY,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAKnF,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAQ;IAEvB,SAAgB,QAAQ,EAAE,cAAc,CAAA;IACxC,SAAgB,QAAQ,EAAE,cAAc,CAAA;IACxC,SAAgB,YAAY,EAAE,kBAAkB,CAAA;IAChD,SAAgB,MAAM,EAAE,YAAY,CAAA;IACpC,SAAgB,QAAQ,EAAE,cAAc,CAAA;IACxC,SAAgB,QAAQ,EAAE,cAAc,CAAA;IACxC,SAAgB,MAAM,EAAE,YAAY,CAAA;IAEpC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;gBAInD,MAAM,EAAE,cAAc;IAkB5B,OAAO,CAAC,CAAC,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,EACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAkG3B"}
|
package/dist/client.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AbbaBabaError, AuthenticationError, ForbiddenError, NotFoundError, PaymentRequiredError, RateLimitError, ValidationError, } from './errors.js';
|
|
2
2
|
import { ServicesClient } from './services.js';
|
|
3
3
|
import { CheckoutClient } from './checkout.js';
|
|
4
4
|
import { TransactionsClient } from './transactions.js';
|
|
@@ -9,7 +9,7 @@ import { AgentsClient } from './agents.js';
|
|
|
9
9
|
import { register } from './register.js';
|
|
10
10
|
const DEFAULT_BASE_URL = 'https://abbababa.com';
|
|
11
11
|
const DEFAULT_TIMEOUT = 30_000;
|
|
12
|
-
export class
|
|
12
|
+
export class AbbaBabaClient {
|
|
13
13
|
apiKey;
|
|
14
14
|
baseUrl;
|
|
15
15
|
timeout;
|
|
@@ -58,6 +58,7 @@ export class AbbabaClient {
|
|
|
58
58
|
const headers = {
|
|
59
59
|
'X-API-Key': this.apiKey,
|
|
60
60
|
'Accept': 'application/json',
|
|
61
|
+
'User-Agent': `abbababa-sdk/1.0.0`,
|
|
61
62
|
};
|
|
62
63
|
const init = {
|
|
63
64
|
method,
|
|
@@ -76,9 +77,9 @@ export class AbbabaClient {
|
|
|
76
77
|
}
|
|
77
78
|
catch (err) {
|
|
78
79
|
if (err instanceof DOMException && err.name === 'AbortError') {
|
|
79
|
-
throw new
|
|
80
|
+
throw new AbbaBabaError(0, `Request timed out after ${this.timeout}ms`);
|
|
80
81
|
}
|
|
81
|
-
throw new
|
|
82
|
+
throw new AbbaBabaError(0, `Network error: ${err instanceof Error ? err.message : String(err)}`);
|
|
82
83
|
}
|
|
83
84
|
finally {
|
|
84
85
|
clearTimeout(timer);
|
|
@@ -88,7 +89,7 @@ export class AbbabaClient {
|
|
|
88
89
|
json = await response.json();
|
|
89
90
|
}
|
|
90
91
|
catch {
|
|
91
|
-
throw new
|
|
92
|
+
throw new AbbaBabaError(response.status, `Invalid JSON response (HTTP ${response.status})`);
|
|
92
93
|
}
|
|
93
94
|
if (!response.ok) {
|
|
94
95
|
const message = json.error ?? `HTTP ${response.status}`;
|
|
@@ -123,7 +124,7 @@ export class AbbabaClient {
|
|
|
123
124
|
throw new RateLimitError(message, retryAfter);
|
|
124
125
|
}
|
|
125
126
|
default:
|
|
126
|
-
throw new
|
|
127
|
+
throw new AbbaBabaError(response.status, message, json.details);
|
|
127
128
|
}
|
|
128
129
|
}
|
|
129
130
|
return json;
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|