agent0-sdk 1.5.2 → 1.6.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.
Files changed (43) hide show
  1. package/README.md +62 -16
  2. package/dist/core/agent.d.ts +9 -0
  3. package/dist/core/agent.d.ts.map +1 -1
  4. package/dist/core/agent.js +25 -0
  5. package/dist/core/agent.js.map +1 -1
  6. package/dist/core/contracts.d.ts.map +1 -1
  7. package/dist/core/contracts.js +23 -0
  8. package/dist/core/contracts.js.map +1 -1
  9. package/dist/core/feedback-manager.d.ts.map +1 -1
  10. package/dist/core/feedback-manager.js +27 -32
  11. package/dist/core/feedback-manager.js.map +1 -1
  12. package/dist/core/ipfs-client.d.ts +26 -5
  13. package/dist/core/ipfs-client.d.ts.map +1 -1
  14. package/dist/core/ipfs-client.js +133 -108
  15. package/dist/core/ipfs-client.js.map +1 -1
  16. package/dist/core/sdk.d.ts +14 -1
  17. package/dist/core/sdk.d.ts.map +1 -1
  18. package/dist/core/sdk.js +10 -3
  19. package/dist/core/sdk.js.map +1 -1
  20. package/dist/core/subgraph-client.d.ts.map +1 -1
  21. package/dist/core/subgraph-client.js +16 -0
  22. package/dist/core/subgraph-client.js.map +1 -1
  23. package/dist/models/generated/subgraph-types.d.ts +87 -26
  24. package/dist/models/generated/subgraph-types.d.ts.map +1 -1
  25. package/dist/models/interfaces.d.ts +16 -10
  26. package/dist/models/interfaces.d.ts.map +1 -1
  27. package/dist/models/interfaces.js.map +1 -1
  28. package/dist/utils/data-uri.d.ts +33 -0
  29. package/dist/utils/data-uri.d.ts.map +1 -0
  30. package/dist/utils/data-uri.js +157 -0
  31. package/dist/utils/data-uri.js.map +1 -0
  32. package/dist/utils/index.d.ts +2 -0
  33. package/dist/utils/index.d.ts.map +1 -1
  34. package/dist/utils/index.js +2 -0
  35. package/dist/utils/index.js.map +1 -1
  36. package/dist/utils/registration-json.d.ts +12 -0
  37. package/dist/utils/registration-json.d.ts.map +1 -0
  38. package/dist/utils/registration-json.js +67 -0
  39. package/dist/utils/registration-json.js.map +1 -0
  40. package/dist/utils/validation.d.ts.map +1 -1
  41. package/dist/utils/validation.js +4 -0
  42. package/dist/utils/validation.js.map +1 -1
  43. package/package.json +7 -3
@@ -128,7 +128,7 @@ export class FeedbackManager {
128
128
  ...(tag1OnChain ? { tag1: tag1OnChain } : {}),
129
129
  ...(tag2OnChain ? { tag2: tag2OnChain } : {}),
130
130
  ...(endpointOnChain ? { endpoint: endpointOnChain } : {}),
131
- // Rich/off-chain fields (capability/name/skill/task/context/proofOfPayment/etc)
131
+ // Rich/off-chain fields (mcpTool, a2aSkills, a2aContextId, a2aTaskId, proofOfPayment, etc.)
132
132
  ...(feedbackFile || {}),
133
133
  };
134
134
  const cid = await this.ipfsClient.addJson(fileForStorage, 'feedback.json');
@@ -178,22 +178,21 @@ export class FeedbackManager {
178
178
  throw new Error(`Failed to submit feedback to blockchain: ${errorMessage}`);
179
179
  }
180
180
  return new TransactionHandle(txHash, this.chainClient, async () => {
181
- // Create feedback object (deterministic from submission-time inputs)
182
181
  const parsedId = parseFeedbackId(formatFeedbackId(agentId, clientAddress, feedbackIndex));
183
- // Extract typed values from the optional off-chain file
184
182
  const textValue = feedbackFile && typeof feedbackFile.text === 'string' ? feedbackFile.text : undefined;
185
- const contextValue = feedbackFile &&
186
- feedbackFile.context &&
187
- typeof feedbackFile.context === 'object' &&
188
- !Array.isArray(feedbackFile.context)
189
- ? feedbackFile.context
190
- : undefined;
191
183
  const proofOfPaymentValue = feedbackFile &&
192
184
  feedbackFile.proofOfPayment &&
193
185
  typeof feedbackFile.proofOfPayment === 'object' &&
194
186
  !Array.isArray(feedbackFile.proofOfPayment)
195
187
  ? feedbackFile.proofOfPayment
196
188
  : undefined;
189
+ // Spec-aligned fields only (no legacy mapping)
190
+ const mcpTool = feedbackFile?.mcpTool;
191
+ const a2aSkills = Array.isArray(feedbackFile?.a2aSkills) ? feedbackFile.a2aSkills : undefined;
192
+ const a2aContextId = feedbackFile?.a2aContextId;
193
+ const a2aTaskId = feedbackFile?.a2aTaskId;
194
+ const oasfSkills = Array.isArray(feedbackFile?.oasfSkills) ? feedbackFile.oasfSkills : undefined;
195
+ const oasfDomains = Array.isArray(feedbackFile?.oasfDomains) ? feedbackFile.oasfDomains : undefined;
197
196
  return {
198
197
  id: [parsedId.agentId, parsedId.clientAddress, parsedId.feedbackIndex],
199
198
  agentId,
@@ -203,17 +202,19 @@ export class FeedbackManager {
203
202
  tags: [tag1OnChain || undefined, tag2OnChain || undefined].filter(Boolean),
204
203
  endpoint: endpointOnChain || undefined,
205
204
  text: textValue,
206
- context: contextValue,
207
205
  proofOfPayment: proofOfPaymentValue,
208
206
  fileURI: feedbackUri || undefined,
209
207
  createdAt: Math.floor(Date.now() / 1000),
210
208
  answers: [],
211
209
  isRevoked: false,
212
- // Off-chain only fields
213
- capability: feedbackFile && typeof feedbackFile.capability === 'string' ? feedbackFile.capability : undefined,
214
- name: feedbackFile && typeof feedbackFile.name === 'string' ? feedbackFile.name : undefined,
215
- skill: feedbackFile && typeof feedbackFile.skill === 'string' ? feedbackFile.skill : undefined,
216
- task: feedbackFile && typeof feedbackFile.task === 'string' ? feedbackFile.task : undefined,
210
+ mcpTool,
211
+ mcpPrompt: feedbackFile?.mcpPrompt,
212
+ mcpResource: feedbackFile?.mcpResource,
213
+ a2aSkills,
214
+ a2aContextId,
215
+ a2aTaskId,
216
+ oasfSkills,
217
+ oasfDomains,
217
218
  };
218
219
  });
219
220
  }
@@ -450,19 +451,10 @@ export class FeedbackManager {
450
451
  txHash: feedbackFile.proofOfPaymentTxHash,
451
452
  };
452
453
  }
453
- // Build context object if available
454
- let context;
455
- if (feedbackFile.context) {
456
- try {
457
- context = typeof feedbackFile.context === 'string'
458
- ? JSON.parse(feedbackFile.context)
459
- : feedbackFile.context;
460
- }
461
- catch {
462
- context = { raw: feedbackFile.context };
463
- }
464
- }
465
454
  const id = [agentId, clientAddress, feedbackIndex];
455
+ const a2aSkills = Array.isArray(feedbackFile.a2aSkills) ? feedbackFile.a2aSkills : undefined;
456
+ const oasfSkills = Array.isArray(feedbackFile.oasfSkills) ? feedbackFile.oasfSkills : undefined;
457
+ const oasfDomains = Array.isArray(feedbackFile.oasfDomains) ? feedbackFile.oasfDomains : undefined;
466
458
  return {
467
459
  id,
468
460
  agentId,
@@ -473,16 +465,19 @@ export class FeedbackManager {
473
465
  ? (feedbackData.endpoint || undefined)
474
466
  : (typeof feedbackFile.endpoint === 'string' ? (feedbackFile.endpoint || undefined) : undefined),
475
467
  text: feedbackFile.text || undefined,
476
- context,
477
468
  proofOfPayment,
478
469
  fileURI: feedbackData.feedbackURI || feedbackData.feedbackUri || undefined,
479
470
  createdAt: feedbackData.createdAt ? parseInt(feedbackData.createdAt, 10) : Math.floor(Date.now() / 1000),
480
471
  answers,
481
472
  isRevoked: feedbackData.isRevoked || false,
482
- capability: feedbackFile.capability || undefined,
483
- name: feedbackFile.name || undefined,
484
- skill: feedbackFile.skill || undefined,
485
- task: feedbackFile.task || undefined,
473
+ mcpTool: feedbackFile.mcpTool ?? undefined,
474
+ mcpPrompt: feedbackFile.mcpPrompt ?? undefined,
475
+ mcpResource: feedbackFile.mcpResource ?? undefined,
476
+ a2aSkills,
477
+ a2aContextId: feedbackFile.a2aContextId ?? undefined,
478
+ a2aTaskId: feedbackFile.a2aTaskId ?? undefined,
479
+ oasfSkills,
480
+ oasfDomains,
486
481
  };
487
482
  }
488
483
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"feedback-manager.js","sourceRoot":"","sources":["../../src/core/feedback-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feedback-manager.js","sourceRoot":"","sources":["../../src/core/feedback-manager.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,24 @@
1
1
  /**
2
2
  * IPFS client for decentralized storage with support for multiple providers:
3
- * - Local IPFS nodes (via ipfs-http-client)
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 type { RegistrationFile } from '../models/interfaces.js';
8
9
  export interface IPFSClientConfig {
10
+ /**
11
+ * URL for a running Kubo daemon HTTP RPC API.
12
+ *
13
+ * Examples:
14
+ * - "http://localhost:5001" (default path will be resolved)
15
+ * - "http://localhost:5001/api/v0"
16
+ */
9
17
  url?: string;
18
+ /**
19
+ * If true, run an embedded Helia node in-process (no daemon required).
20
+ */
21
+ embeddedHeliaEnabled?: boolean;
10
22
  filecoinPinEnabled?: boolean;
11
23
  filecoinPrivateKey?: string;
12
24
  pinataEnabled?: boolean;
@@ -18,12 +30,19 @@ export interface IPFSClientConfig {
18
30
  export declare class IPFSClient {
19
31
  private provider;
20
32
  private config;
21
- private client?;
33
+ private kubo?;
34
+ private helia?;
35
+ private heliaFs?;
36
+ private CID?;
22
37
  constructor(config: IPFSClientConfig);
23
38
  /**
24
- * Initialize IPFS HTTP client (lazy, only when needed)
39
+ * Initialize Kubo RPC client (lazy, only when needed)
40
+ */
41
+ private _ensureKubo;
42
+ /**
43
+ * Initialize embedded Helia node (lazy, only when needed)
25
44
  */
26
- private _ensureClient;
45
+ private _ensureHelia;
27
46
  private _verifyPinataJwt;
28
47
  /**
29
48
  * Pin data to Pinata using v3 API
@@ -38,7 +57,8 @@ export declare class IPFSClient {
38
57
  /**
39
58
  * Pin data to local IPFS node
40
59
  */
41
- private _pinToLocalIpfs;
60
+ private _pinToKubo;
61
+ private _addToHelia;
42
62
  /**
43
63
  * Add data to IPFS and return CID
44
64
  */
@@ -52,6 +72,7 @@ export declare class IPFSClient {
52
72
  * Get data from IPFS by CID
53
73
  */
54
74
  get(cid: string): Promise<string>;
75
+ private _decodeChunks;
55
76
  /**
56
77
  * Get JSON data from IPFS by CID
57
78
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ipfs-client.d.ts","sourceRoot":"","sources":["../../src/core/ipfs-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAAC,CAAiB;gBAEpB,MAAM,EAAE,gBAAgB;IAmBpC;;OAEG;YACW,aAAa;IAO3B,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;YACW,YAAY;IAkG1B;;;;OAIG;YACW,cAAc;IAS5B;;OAEG;YACW,eAAe;IAU7B;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAc3D;;;OAGG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BnE;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0DvC;;OAEG;IACG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAKnE;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAcrD;;OAEG;IACG,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAczD;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKhF;;OAEG;IACG,mBAAmB,CACvB,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,CAAC,EAAE,MAAM,EAChB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,MAAM,CAAC;IAmElB;;OAEG;IACG,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAKjE;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B"}
1
+ {"version":3,"file":"ipfs-client.d.ts","sourceRoot":"","sources":["../../src/core/ipfs-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,IAAI,CAAC,CAAsC;IACnD,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,GAAG,CAAC,CAAwC;gBAExC,MAAM,EAAE,gBAAgB;IAwBpC;;OAEG;YACW,WAAW;IAQzB;;OAEG;YACW,YAAY;IAc1B,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;YACW,YAAY;IAkG1B;;;;OAIG;YACW,cAAc;IAS5B;;OAEG;YACW,UAAU;YAOV,WAAW;IAQzB;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB3D;;;OAGG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA+BnE;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyDvC,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAKnE;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA4BrD;;OAEG;IACG,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA4BzD;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKhF;;OAEG;IACG,mBAAmB,CACvB,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,CAAC,EAAE,MAAM,EAChB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,MAAM,CAAC;IAQlB;;OAEG;IACG,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAKjE;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAS7B"}
@@ -1,11 +1,12 @@
1
1
  /**
2
2
  * IPFS client for decentralized storage with support for multiple providers:
3
- * - Local IPFS nodes (via ipfs-http-client)
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 { parseAgentId } from '../utils/id-format.js';
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 = 'node';
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 IPFS HTTP client (lazy, only when needed)
49
+ * Initialize embedded Helia node (lazy, only when needed)
35
50
  */
36
- async _ensureClient() {
37
- if (this.provider === 'node' && !this.client && this.config.url) {
38
- const { create } = await import('ipfs-http-client');
39
- this.client = create({ url: this.config.url });
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 _pinToLocalIpfs(data) {
148
- await this._ensureClient();
149
- if (!this.client) {
150
- throw new Error('No IPFS client available');
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._pinToLocalIpfs(data);
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._ensureClient();
194
- if (!this.client) {
195
- throw new Error('No IPFS client available');
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.client.add(fileContent);
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
- else {
239
- await this._ensureClient();
240
- if (!this.client) {
241
- throw new Error('No IPFS client available');
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.client.cat(cid)) {
280
+ for await (const chunk of this.kubo.cat(cid)) {
245
281
  chunks.push(chunk);
246
282
  }
247
- // Concatenate chunks and convert to string
248
- const totalLength = chunks.reduce((acc, chunk) => acc + chunk.length, 0);
249
- const result = new Uint8Array(totalLength);
250
- let offset = 0;
251
- for (const chunk of chunks) {
252
- result.set(chunk, offset);
253
- offset += chunk.length;
254
- }
255
- return new TextDecoder().decode(result);
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
- else {
274
- await this._ensureClient();
275
- if (!this.client) {
276
- throw new Error('No IPFS client available');
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
- else {
291
- await this._ensureClient();
292
- if (!this.client) {
293
- throw new Error('No IPFS client available');
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
- // Convert from internal format { type, value, meta } to ERC-8004 format { name, endpoint, version }
311
- const services = [];
312
- for (const ep of registrationFile.endpoints) {
313
- const endpointDict = {
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.client) {
380
- // IPFS HTTP client doesn't have a close method in the same way
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