agent0-sdk 1.5.3 → 1.7.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 +59 -18
- package/dist/core/a2a-client.d.ts +109 -0
- package/dist/core/a2a-client.d.ts.map +1 -0
- package/dist/core/a2a-client.js +792 -0
- package/dist/core/a2a-client.js.map +1 -0
- package/dist/core/a2a-summary-client.d.ts +28 -0
- package/dist/core/a2a-summary-client.d.ts.map +1 -0
- package/dist/core/a2a-summary-client.js +79 -0
- package/dist/core/a2a-summary-client.js.map +1 -0
- package/dist/core/agent.d.ts +74 -3
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +267 -7
- package/dist/core/agent.js.map +1 -1
- package/dist/core/contracts.d.ts +5 -0
- package/dist/core/contracts.d.ts.map +1 -1
- package/dist/core/contracts.js +11 -0
- package/dist/core/contracts.js.map +1 -1
- package/dist/core/endpoint-crawler.d.ts +10 -0
- package/dist/core/endpoint-crawler.d.ts.map +1 -1
- package/dist/core/endpoint-crawler.js +59 -4
- package/dist/core/endpoint-crawler.js.map +1 -1
- package/dist/core/feedback-manager.d.ts.map +1 -1
- package/dist/core/feedback-manager.js +27 -32
- package/dist/core/feedback-manager.js.map +1 -1
- package/dist/core/ipfs-client.d.ts +26 -5
- package/dist/core/ipfs-client.d.ts.map +1 -1
- package/dist/core/ipfs-client.js +133 -108
- package/dist/core/ipfs-client.js.map +1 -1
- package/dist/core/sdk.d.ts +70 -3
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +158 -19
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/subgraph-client.d.ts.map +1 -1
- package/dist/core/subgraph-client.js +16 -0
- package/dist/core/subgraph-client.js.map +1 -1
- package/dist/core/viem-chain-client.d.ts.map +1 -1
- package/dist/core/viem-chain-client.js +5 -4
- package/dist/core/viem-chain-client.js.map +1 -1
- package/dist/core/x402-payment.d.ts +28 -0
- package/dist/core/x402-payment.d.ts.map +1 -0
- package/dist/core/x402-payment.js +242 -0
- package/dist/core/x402-payment.js.map +1 -0
- package/dist/core/x402-request.d.ts +33 -0
- package/dist/core/x402-request.d.ts.map +1 -0
- package/dist/core/x402-request.js +195 -0
- package/dist/core/x402-request.js.map +1 -0
- package/dist/core/x402-types.d.ts +147 -0
- package/dist/core/x402-types.d.ts.map +1 -0
- package/dist/core/x402-types.js +190 -0
- package/dist/core/x402-types.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/models/a2a.d.ts +176 -0
- package/dist/models/a2a.d.ts.map +1 -0
- package/dist/models/a2a.js +5 -0
- package/dist/models/a2a.js.map +1 -0
- package/dist/models/generated/subgraph-types.d.ts +87 -26
- package/dist/models/generated/subgraph-types.d.ts.map +1 -1
- package/dist/models/index.d.ts +1 -0
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +1 -0
- package/dist/models/index.js.map +1 -1
- package/dist/models/interfaces.d.ts +16 -10
- package/dist/models/interfaces.d.ts.map +1 -1
- package/dist/models/interfaces.js.map +1 -1
- package/dist/utils/data-uri.d.ts +33 -0
- package/dist/utils/data-uri.d.ts.map +1 -0
- package/dist/utils/data-uri.js +157 -0
- package/dist/utils/data-uri.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/registration-json.d.ts +12 -0
- package/dist/utils/registration-json.d.ts.map +1 -0
- package/dist/utils/registration-json.js +67 -0
- package/dist/utils/registration-json.js.map +1 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +4 -0
- package/dist/utils/validation.js.map +1 -1
- package/package.json +15 -3
package/dist/core/ipfs-client.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* IPFS client for decentralized storage with support for multiple providers:
|
|
3
|
-
* -
|
|
3
|
+
* - Remote Kubo/IPFS daemon (via kubo-rpc-client)
|
|
4
|
+
* - Embedded Helia node (via helia + @helia/unixfs)
|
|
4
5
|
* - Pinata IPFS pinning service
|
|
5
6
|
* - Filecoin Pin service
|
|
6
7
|
*/
|
|
7
8
|
import { IPFS_GATEWAYS, TIMEOUTS } from '../utils/constants.js';
|
|
8
|
-
import {
|
|
9
|
+
import { buildErc8004RegistrationJson } from '../utils/registration-json.js';
|
|
9
10
|
/**
|
|
10
11
|
* Client for IPFS operations supporting multiple providers
|
|
11
12
|
*/
|
|
@@ -22,21 +23,41 @@ export class IPFSClient {
|
|
|
22
23
|
// Note: Filecoin Pin in TypeScript requires external CLI or API
|
|
23
24
|
// We'll use HTTP API if available, otherwise throw error
|
|
24
25
|
}
|
|
26
|
+
else if (config.embeddedHeliaEnabled) {
|
|
27
|
+
this.provider = 'helia';
|
|
28
|
+
// Lazy initialization - Helia node will be created on first use
|
|
29
|
+
}
|
|
25
30
|
else if (config.url) {
|
|
26
|
-
this.provider = '
|
|
31
|
+
this.provider = 'kubo';
|
|
27
32
|
// Lazy initialization - client will be created on first use
|
|
28
33
|
}
|
|
29
34
|
else {
|
|
30
|
-
throw new Error('No IPFS provider configured. Specify url, pinataEnabled, or filecoinPinEnabled.');
|
|
35
|
+
throw new Error('No IPFS provider configured. Specify url (Kubo RPC), embeddedHeliaEnabled, pinataEnabled, or filecoinPinEnabled.');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Initialize Kubo RPC client (lazy, only when needed)
|
|
40
|
+
*/
|
|
41
|
+
async _ensureKubo() {
|
|
42
|
+
if (this.provider === 'kubo' && !this.kubo && this.config.url) {
|
|
43
|
+
const { create } = await import('kubo-rpc-client');
|
|
44
|
+
// `create` accepts a URL string (e.g., "http://localhost:5001") and resolves the API path.
|
|
45
|
+
this.kubo = create(this.config.url);
|
|
31
46
|
}
|
|
32
47
|
}
|
|
33
48
|
/**
|
|
34
|
-
* Initialize
|
|
49
|
+
* Initialize embedded Helia node (lazy, only when needed)
|
|
35
50
|
*/
|
|
36
|
-
async
|
|
37
|
-
if (this.provider === '
|
|
38
|
-
const {
|
|
39
|
-
|
|
51
|
+
async _ensureHelia() {
|
|
52
|
+
if (this.provider === 'helia' && !this.helia) {
|
|
53
|
+
const [{ createHelia }, { unixfs }, { CID }] = await Promise.all([
|
|
54
|
+
import('helia'),
|
|
55
|
+
import('@helia/unixfs'),
|
|
56
|
+
import('multiformats/cid'),
|
|
57
|
+
]);
|
|
58
|
+
this.helia = await createHelia();
|
|
59
|
+
this.heliaFs = unixfs(this.helia);
|
|
60
|
+
this.CID = CID;
|
|
40
61
|
}
|
|
41
62
|
}
|
|
42
63
|
_verifyPinataJwt() {
|
|
@@ -144,14 +165,21 @@ export class IPFSClient {
|
|
|
144
165
|
/**
|
|
145
166
|
* Pin data to local IPFS node
|
|
146
167
|
*/
|
|
147
|
-
async
|
|
148
|
-
await this.
|
|
149
|
-
if (!this.
|
|
150
|
-
throw new Error('No
|
|
151
|
-
|
|
152
|
-
const result = await this.client.add(data);
|
|
168
|
+
async _pinToKubo(data) {
|
|
169
|
+
await this._ensureKubo();
|
|
170
|
+
if (!this.kubo)
|
|
171
|
+
throw new Error('No Kubo RPC client available');
|
|
172
|
+
const result = await this.kubo.add(data);
|
|
153
173
|
return result.cid.toString();
|
|
154
174
|
}
|
|
175
|
+
async _addToHelia(data) {
|
|
176
|
+
await this._ensureHelia();
|
|
177
|
+
if (!this.heliaFs)
|
|
178
|
+
throw new Error('No Helia UnixFS available');
|
|
179
|
+
const bytes = new TextEncoder().encode(data);
|
|
180
|
+
const cid = await this.heliaFs.addBytes(bytes);
|
|
181
|
+
return cid.toString();
|
|
182
|
+
}
|
|
155
183
|
/**
|
|
156
184
|
* Add data to IPFS and return CID
|
|
157
185
|
*/
|
|
@@ -163,8 +191,11 @@ export class IPFSClient {
|
|
|
163
191
|
else if (this.provider === 'filecoinPin') {
|
|
164
192
|
return await this._pinToFilecoin(data);
|
|
165
193
|
}
|
|
194
|
+
else if (this.provider === 'kubo') {
|
|
195
|
+
return await this._pinToKubo(data);
|
|
196
|
+
}
|
|
166
197
|
else {
|
|
167
|
-
return await this.
|
|
198
|
+
return await this._addToHelia(data);
|
|
168
199
|
}
|
|
169
200
|
}
|
|
170
201
|
catch (error) {
|
|
@@ -189,16 +220,22 @@ export class IPFSClient {
|
|
|
189
220
|
else if (this.provider === 'filecoinPin') {
|
|
190
221
|
return this._pinToFilecoin(filepath);
|
|
191
222
|
}
|
|
192
|
-
else {
|
|
193
|
-
await this.
|
|
194
|
-
if (!this.
|
|
195
|
-
throw new Error('No
|
|
196
|
-
}
|
|
197
|
-
// For local IPFS, add file directly
|
|
223
|
+
else if (this.provider === 'kubo') {
|
|
224
|
+
await this._ensureKubo();
|
|
225
|
+
if (!this.kubo)
|
|
226
|
+
throw new Error('No Kubo RPC client available');
|
|
198
227
|
const fileContent = fs.readFileSync(filepath);
|
|
199
|
-
const result = await this.
|
|
228
|
+
const result = await this.kubo.add(fileContent);
|
|
200
229
|
return result.cid.toString();
|
|
201
230
|
}
|
|
231
|
+
else {
|
|
232
|
+
await this._ensureHelia();
|
|
233
|
+
if (!this.heliaFs)
|
|
234
|
+
throw new Error('No Helia UnixFS available');
|
|
235
|
+
const fileContent = fs.readFileSync(filepath);
|
|
236
|
+
const cid = await this.heliaFs.addBytes(fileContent);
|
|
237
|
+
return cid.toString();
|
|
238
|
+
}
|
|
202
239
|
}
|
|
203
240
|
/**
|
|
204
241
|
* Get data from IPFS by CID
|
|
@@ -235,25 +272,35 @@ export class IPFSClient {
|
|
|
235
272
|
}
|
|
236
273
|
throw new Error('Failed to retrieve data from all IPFS gateways');
|
|
237
274
|
}
|
|
238
|
-
|
|
239
|
-
await this.
|
|
240
|
-
if (!this.
|
|
241
|
-
throw new Error('No
|
|
242
|
-
}
|
|
275
|
+
if (this.provider === 'kubo') {
|
|
276
|
+
await this._ensureKubo();
|
|
277
|
+
if (!this.kubo)
|
|
278
|
+
throw new Error('No Kubo RPC client available');
|
|
243
279
|
const chunks = [];
|
|
244
|
-
for await (const chunk of this.
|
|
280
|
+
for await (const chunk of this.kubo.cat(cid)) {
|
|
245
281
|
chunks.push(chunk);
|
|
246
282
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
283
|
+
return this._decodeChunks(chunks);
|
|
284
|
+
}
|
|
285
|
+
await this._ensureHelia();
|
|
286
|
+
if (!this.heliaFs || !this.CID)
|
|
287
|
+
throw new Error('No Helia UnixFS available');
|
|
288
|
+
const parsed = this.CID.parse(cid);
|
|
289
|
+
const chunks = [];
|
|
290
|
+
for await (const chunk of this.heliaFs.cat(parsed)) {
|
|
291
|
+
chunks.push(chunk);
|
|
292
|
+
}
|
|
293
|
+
return this._decodeChunks(chunks);
|
|
294
|
+
}
|
|
295
|
+
_decodeChunks(chunks) {
|
|
296
|
+
const totalLength = chunks.reduce((acc, chunk) => acc + chunk.length, 0);
|
|
297
|
+
const result = new Uint8Array(totalLength);
|
|
298
|
+
let offset = 0;
|
|
299
|
+
for (const chunk of chunks) {
|
|
300
|
+
result.set(chunk, offset);
|
|
301
|
+
offset += chunk.length;
|
|
256
302
|
}
|
|
303
|
+
return new TextDecoder().decode(result);
|
|
257
304
|
}
|
|
258
305
|
/**
|
|
259
306
|
* Get JSON data from IPFS by CID
|
|
@@ -270,14 +317,28 @@ export class IPFSClient {
|
|
|
270
317
|
// Filecoin Pin automatically pins data, so this is a no-op
|
|
271
318
|
return { pinned: [cid] };
|
|
272
319
|
}
|
|
273
|
-
|
|
274
|
-
await this.
|
|
275
|
-
if (!this.
|
|
276
|
-
throw new Error('No
|
|
320
|
+
if (this.provider === 'kubo') {
|
|
321
|
+
await this._ensureKubo();
|
|
322
|
+
if (!this.kubo)
|
|
323
|
+
throw new Error('No Kubo RPC client available');
|
|
324
|
+
const maybe = this.kubo.pin.add(cid);
|
|
325
|
+
if (maybe && typeof maybe === 'object' && Symbol.asyncIterator in maybe) {
|
|
326
|
+
for await (const _ of maybe) {
|
|
327
|
+
// drain
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
await maybe;
|
|
277
332
|
}
|
|
278
|
-
await this.client.pin.add(cid);
|
|
279
333
|
return { pinned: [cid] };
|
|
280
334
|
}
|
|
335
|
+
await this._ensureHelia();
|
|
336
|
+
if (!this.helia || !this.CID)
|
|
337
|
+
throw new Error('No Helia node available');
|
|
338
|
+
for await (const _ of this.helia.pins.add(this.CID.parse(cid))) {
|
|
339
|
+
// drain
|
|
340
|
+
}
|
|
341
|
+
return { pinned: [cid] };
|
|
281
342
|
}
|
|
282
343
|
/**
|
|
283
344
|
* Unpin a CID from local node
|
|
@@ -287,14 +348,28 @@ export class IPFSClient {
|
|
|
287
348
|
// Filecoin Pin doesn't support unpinning in the same way
|
|
288
349
|
return { unpinned: [cid] };
|
|
289
350
|
}
|
|
290
|
-
|
|
291
|
-
await this.
|
|
292
|
-
if (!this.
|
|
293
|
-
throw new Error('No
|
|
351
|
+
if (this.provider === 'kubo') {
|
|
352
|
+
await this._ensureKubo();
|
|
353
|
+
if (!this.kubo)
|
|
354
|
+
throw new Error('No Kubo RPC client available');
|
|
355
|
+
const maybe = this.kubo.pin.rm(cid);
|
|
356
|
+
if (maybe && typeof maybe === 'object' && Symbol.asyncIterator in maybe) {
|
|
357
|
+
for await (const _ of maybe) {
|
|
358
|
+
// drain
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
else {
|
|
362
|
+
await maybe;
|
|
294
363
|
}
|
|
295
|
-
await this.client.pin.rm(cid);
|
|
296
364
|
return { unpinned: [cid] };
|
|
297
365
|
}
|
|
366
|
+
await this._ensureHelia();
|
|
367
|
+
if (!this.helia || !this.CID)
|
|
368
|
+
throw new Error('No Helia node available');
|
|
369
|
+
for await (const _ of this.helia.pins.rm(this.CID.parse(cid))) {
|
|
370
|
+
// drain
|
|
371
|
+
}
|
|
372
|
+
return { unpinned: [cid] };
|
|
298
373
|
}
|
|
299
374
|
/**
|
|
300
375
|
* Add JSON data to IPFS and return CID
|
|
@@ -307,62 +382,10 @@ export class IPFSClient {
|
|
|
307
382
|
* Add registration file to IPFS and return CID
|
|
308
383
|
*/
|
|
309
384
|
async addRegistrationFile(registrationFile, chainId, identityRegistryAddress) {
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
name: ep.type, // EndpointType enum value (e.g., "MCP", "A2A")
|
|
315
|
-
endpoint: ep.value,
|
|
316
|
-
};
|
|
317
|
-
// Spread meta fields (version, mcpTools, mcpPrompts, etc.) into the endpoint dict
|
|
318
|
-
if (ep.meta) {
|
|
319
|
-
Object.assign(endpointDict, ep.meta);
|
|
320
|
-
}
|
|
321
|
-
services.push(endpointDict);
|
|
322
|
-
}
|
|
323
|
-
// Build registrations array
|
|
324
|
-
const registrations = [];
|
|
325
|
-
if (registrationFile.agentId) {
|
|
326
|
-
// Support both internal SDK AgentId format ("chainId:tokenId") and CAIP-style ("eip155:chainId:tokenId")
|
|
327
|
-
const agentIdParts = registrationFile.agentId.split(':');
|
|
328
|
-
let parsedChainId;
|
|
329
|
-
let parsedTokenId;
|
|
330
|
-
if (agentIdParts.length === 3 && agentIdParts[0] === 'eip155') {
|
|
331
|
-
parsedChainId = parseInt(agentIdParts[1], 10);
|
|
332
|
-
parsedTokenId = parseInt(agentIdParts[2], 10);
|
|
333
|
-
}
|
|
334
|
-
else {
|
|
335
|
-
const parsed = parseAgentId(registrationFile.agentId);
|
|
336
|
-
parsedChainId = parsed.chainId;
|
|
337
|
-
parsedTokenId = parsed.tokenId;
|
|
338
|
-
}
|
|
339
|
-
if (parsedTokenId === undefined || Number.isNaN(parsedTokenId)) {
|
|
340
|
-
throw new Error(`Invalid agentId for registration file: ${registrationFile.agentId}`);
|
|
341
|
-
}
|
|
342
|
-
const effectiveChainId = chainId ?? parsedChainId ?? 1;
|
|
343
|
-
const agentRegistry = identityRegistryAddress
|
|
344
|
-
? `eip155:${effectiveChainId}:${identityRegistryAddress}`
|
|
345
|
-
: `eip155:${effectiveChainId}:{identityRegistry}`;
|
|
346
|
-
registrations.push({
|
|
347
|
-
agentId: parsedTokenId,
|
|
348
|
-
agentRegistry,
|
|
349
|
-
});
|
|
350
|
-
}
|
|
351
|
-
// Build ERC-8004 compliant registration file
|
|
352
|
-
const data = {
|
|
353
|
-
type: 'https://eips.ethereum.org/EIPS/eip-8004#registration-v1',
|
|
354
|
-
name: registrationFile.name,
|
|
355
|
-
description: registrationFile.description,
|
|
356
|
-
...(registrationFile.image && { image: registrationFile.image }),
|
|
357
|
-
services,
|
|
358
|
-
...(registrations.length > 0 && { registrations }),
|
|
359
|
-
...(registrationFile.trustModels.length > 0 && {
|
|
360
|
-
supportedTrust: registrationFile.trustModels,
|
|
361
|
-
}),
|
|
362
|
-
active: registrationFile.active,
|
|
363
|
-
// ERC-8004 registration file uses `x402Support` (camelCase).
|
|
364
|
-
x402Support: registrationFile.x402support,
|
|
365
|
-
};
|
|
385
|
+
const data = buildErc8004RegistrationJson(registrationFile, {
|
|
386
|
+
chainId,
|
|
387
|
+
identityRegistryAddress,
|
|
388
|
+
});
|
|
366
389
|
return this.addJson(data, 'agent-registration.json');
|
|
367
390
|
}
|
|
368
391
|
/**
|
|
@@ -376,11 +399,13 @@ export class IPFSClient {
|
|
|
376
399
|
* Close IPFS client connection
|
|
377
400
|
*/
|
|
378
401
|
async close() {
|
|
379
|
-
if (this.
|
|
380
|
-
|
|
381
|
-
// But we can clear the reference
|
|
382
|
-
this.client = undefined;
|
|
402
|
+
if (this.helia) {
|
|
403
|
+
await this.helia.stop();
|
|
383
404
|
}
|
|
405
|
+
this.kubo = undefined;
|
|
406
|
+
this.heliaFs = undefined;
|
|
407
|
+
this.helia = undefined;
|
|
408
|
+
this.CID = undefined;
|
|
384
409
|
}
|
|
385
410
|
}
|
|
386
411
|
//# sourceMappingURL=ipfs-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipfs-client.js","sourceRoot":"","sources":["../../src/core/ipfs-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ipfs-client.js","sourceRoot":"","sources":["../../src/core/ipfs-client.ts"],"names":[],"mappings":"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"}
|
package/dist/core/sdk.d.ts
CHANGED
|
@@ -7,10 +7,17 @@ import type { ChainClient, EIP1193Provider as Eip1193Provider } from './chain-cl
|
|
|
7
7
|
import { IPFSClient } from './ipfs-client.js';
|
|
8
8
|
import { SubgraphClient } from './subgraph-client.js';
|
|
9
9
|
import { Agent } from './agent.js';
|
|
10
|
+
import { A2AClientFromSummary } from './a2a-summary-client.js';
|
|
10
11
|
import type { TransactionHandle } from './transaction-handle.js';
|
|
12
|
+
import { type X402RequestDeps } from './x402-request.js';
|
|
13
|
+
import type { X402RequestOptions, X402RequestResult } from './x402-types.js';
|
|
11
14
|
export interface SDKConfig {
|
|
12
15
|
chainId: ChainId;
|
|
13
|
-
|
|
16
|
+
/**
|
|
17
|
+
* RPC URL for the primary chain. Optional when a built-in default exists for `chainId`.
|
|
18
|
+
* Overrides DEFAULT_RPC_URLS for this chain when provided.
|
|
19
|
+
*/
|
|
20
|
+
rpcUrl?: string;
|
|
14
21
|
/**
|
|
15
22
|
* Backwards-compatible alias for `privateKey` (accepts a hex private key string).
|
|
16
23
|
*/
|
|
@@ -24,12 +31,29 @@ export interface SDKConfig {
|
|
|
24
31
|
*/
|
|
25
32
|
walletProvider?: Eip1193Provider;
|
|
26
33
|
registryOverrides?: Record<ChainId, Record<string, Address>>;
|
|
27
|
-
|
|
34
|
+
/**
|
|
35
|
+
* IPFS provider selection:
|
|
36
|
+
* - `node`: connect to a running Kubo daemon via HTTP RPC API (`ipfsNodeUrl` required)
|
|
37
|
+
* - `helia`: run an embedded Helia node in-process (no daemon required)
|
|
38
|
+
* - `pinata`: pin via Pinata
|
|
39
|
+
* - `filecoinPin`: (placeholder) Filecoin pinning integration
|
|
40
|
+
*/
|
|
41
|
+
ipfs?: 'node' | 'helia' | 'filecoinPin' | 'pinata';
|
|
28
42
|
ipfsNodeUrl?: string;
|
|
29
43
|
filecoinPrivateKey?: string;
|
|
30
44
|
pinataJwt?: string;
|
|
31
45
|
subgraphUrl?: string;
|
|
32
46
|
subgraphOverrides?: Record<ChainId, string>;
|
|
47
|
+
/**
|
|
48
|
+
* Per-chain RPC URL overrides (e.g. for x402 payments on other chains).
|
|
49
|
+
* Applied after built-in defaults and config.rpcUrl. Example: { 84532: 'https://base-sepolia.drpc.org' }.
|
|
50
|
+
*/
|
|
51
|
+
overrideRpcUrls?: Record<number, string>;
|
|
52
|
+
/**
|
|
53
|
+
* Max decoded bytes for ERC-8004 JSON base64 data URIs (on-chain registration files).
|
|
54
|
+
* Default: 256 KiB.
|
|
55
|
+
*/
|
|
56
|
+
registrationDataUriMaxBytes?: number;
|
|
33
57
|
}
|
|
34
58
|
/**
|
|
35
59
|
* Main SDK class for Agent0
|
|
@@ -41,9 +65,15 @@ export declare class SDK {
|
|
|
41
65
|
private readonly _feedbackManager;
|
|
42
66
|
private readonly _indexer;
|
|
43
67
|
private readonly _registries;
|
|
68
|
+
private readonly _registryOverrides;
|
|
44
69
|
private readonly _chainId;
|
|
45
70
|
private readonly _subgraphUrls;
|
|
46
71
|
private readonly _hasSignerConfig;
|
|
72
|
+
private readonly _rpcUrls;
|
|
73
|
+
private readonly _paymentChainClients;
|
|
74
|
+
private readonly _readOnlyChainClients;
|
|
75
|
+
private readonly _signerForPayment;
|
|
76
|
+
private readonly _registrationDataUriMaxBytes;
|
|
47
77
|
constructor(config: SDKConfig);
|
|
48
78
|
/**
|
|
49
79
|
* Initialize IPFS client based on configuration
|
|
@@ -61,9 +91,33 @@ export declare class SDK {
|
|
|
61
91
|
* Get subgraph client for a specific chain
|
|
62
92
|
*/
|
|
63
93
|
getSubgraphClient(chainId?: ChainId): SubgraphClient | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* Return the chain client to use for building an x402 payment for the given accept.
|
|
96
|
+
* Uses the accept's network (e.g. eip155:84532) so the signature matches the chain the server verifies.
|
|
97
|
+
*/
|
|
98
|
+
private getChainClientForAccept;
|
|
99
|
+
/**
|
|
100
|
+
* Perform an HTTP request with built-in x402 (402 Payment Required) handling.
|
|
101
|
+
* On 2xx returns the parsed result (default: JSON body); on 402 returns { x402Required: true, x402Payment } (no throw).
|
|
102
|
+
* Use x402Payment.pay() to pay and retry.
|
|
103
|
+
*/
|
|
104
|
+
request<T = object>(options: X402RequestOptions<T>): Promise<X402RequestResult<T>>;
|
|
105
|
+
/**
|
|
106
|
+
* Alias for request() for x402-specific usage.
|
|
107
|
+
*/
|
|
108
|
+
fetchWithX402<T = object>(options: X402RequestOptions<T>): Promise<X402RequestResult<T>>;
|
|
64
109
|
identityRegistryAddress(): Address;
|
|
65
110
|
reputationRegistryAddress(): Address;
|
|
66
111
|
validationRegistryAddress(): Address;
|
|
112
|
+
/**
|
|
113
|
+
* Get a chain client for the given chain (for reads, e.g. loadAgent or getWallet on another chain).
|
|
114
|
+
* Returns the SDK's main chain client when chainId matches; otherwise a read-only cached client.
|
|
115
|
+
*/
|
|
116
|
+
getChainClientForChain(chainId: ChainId): ChainClient;
|
|
117
|
+
/**
|
|
118
|
+
* Get identity registry address for the given chain (for reads when loading or querying agents on that chain).
|
|
119
|
+
*/
|
|
120
|
+
getIdentityRegistryAddressForChain(chainId: ChainId): Address;
|
|
67
121
|
/**
|
|
68
122
|
* Check if SDK is in read-only mode (no signer)
|
|
69
123
|
*/
|
|
@@ -73,7 +127,8 @@ export declare class SDK {
|
|
|
73
127
|
*/
|
|
74
128
|
createAgent(name: string, description: string, image?: URI): Agent;
|
|
75
129
|
/**
|
|
76
|
-
* Load an existing agent (hydrates from registration file if registered)
|
|
130
|
+
* Load an existing agent (hydrates from registration file if registered).
|
|
131
|
+
* Supports loading agents from any chain; use the same SDK chain to update them.
|
|
77
132
|
*/
|
|
78
133
|
loadAgent(agentId: AgentId): Promise<Agent>;
|
|
79
134
|
/**
|
|
@@ -86,6 +141,13 @@ export declare class SDK {
|
|
|
86
141
|
* Supports multi-chain search when chains parameter is provided
|
|
87
142
|
*/
|
|
88
143
|
searchAgents(filters?: SearchFilters, options?: SearchOptions): Promise<AgentSummary[]>;
|
|
144
|
+
/**
|
|
145
|
+
* Create an A2A client from a loaded Agent or an AgentSummary.
|
|
146
|
+
* When given an Agent, returns it as-is (Agent already has messageA2A, listTasks, loadTask).
|
|
147
|
+
* When given an AgentSummary, returns an A2AClientFromSummary that resolves the agent card from summary.a2a on first use.
|
|
148
|
+
* Use this to treat agents and summaries interchangeably for A2A.
|
|
149
|
+
*/
|
|
150
|
+
createA2AClient(agentOrSummary: Agent | AgentSummary): Agent | A2AClientFromSummary;
|
|
89
151
|
/**
|
|
90
152
|
* Transfer agent ownership
|
|
91
153
|
*/
|
|
@@ -164,6 +226,11 @@ export declare class SDK {
|
|
|
164
226
|
* Extract wallet address and chain ID from raw data
|
|
165
227
|
*/
|
|
166
228
|
private _extractWalletInfo;
|
|
229
|
+
/**
|
|
230
|
+
* Returns deps for x402-aware requests (fetch + buildPayment + checkBalance).
|
|
231
|
+
* Used by A2A client so messageA2A and task methods can return 402 + pay() or payFirst() instead of throwing.
|
|
232
|
+
*/
|
|
233
|
+
getX402RequestDeps(): X402RequestDeps;
|
|
167
234
|
get chainClient(): ChainClient;
|
|
168
235
|
get ipfsClient(): IPFSClient | undefined;
|
|
169
236
|
get subgraphClient(): SubgraphClient | undefined;
|
package/dist/core/sdk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/core/sdk.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EAIR,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/core/sdk.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EAIR,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAKzE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzF,OAAO,EAAE,UAAU,EAAyB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAQjE,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE7E,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAE7D;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC;;;OAGG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;;GAEG;AACH,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IACtD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2C;IAC9E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+B;IAC7D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAkC;IACvE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAkC;IACxE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4D;IAC9F,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAS;gBAE1C,MAAM,EAAE,SAAS;IAgF7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmC7B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC;;OAEG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIrC;;OAEG;IACH,iBAAiB,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS;IAsBhE;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAyB/B;;;;OAIG;IACG,OAAO,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAIxF;;OAEG;IACG,aAAa,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAI9F,uBAAuB,IAAI,OAAO;IAQlC,yBAAyB,IAAI,OAAO;IAOpC,yBAAyB,IAAI,OAAO;IAMpC;;;OAGG;IACH,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW;IAoBrD;;OAEG;IACH,kCAAkC,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAU7D;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAID;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,KAAK;IAkBlE;;;OAGG;IACG,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IAoCjD;;;OAGG;IACG,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IA+B9D;;;OAGG;IACG,YAAY,CAChB,OAAO,GAAE,aAAkB,EAC3B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,EAAE,CAAC;IAI1B;;;;;OAKG;IACH,eAAe,CAAC,cAAc,EAAE,KAAK,GAAG,YAAY,GAAG,KAAK,GAAG,oBAAoB;IAOnF;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,iBAAiB,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAK/F;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAaxE;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAcvD;;;;OAIG;IACH,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,iBAAiB;IAIjG;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,iBAAiB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAQvC;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIrG;;OAEG;IACG,cAAc,CAClB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAyCtB;;OAEG;IACG,cAAc,CAClB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,OAAO,EACtB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACnC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAOvC;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAOnG;;OAEG;IACG,oBAAoB,CACxB,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAOnD;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAepC;;OAEG;YACW,qBAAqB;IAkEnC;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAkClC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiC3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAuChC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;;OAGG;IACH,kBAAkB,IAAI,eAAe;IAiBrC,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,IAAI,UAAU,IAAI,UAAU,GAAG,SAAS,CAEvC;IAED,IAAI,cAAc,IAAI,cAAc,GAAG,SAAS,CAE/C;CACF"}
|