@agentxv2/sdk 0.3.0 → 0.3.1

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 (107) hide show
  1. package/README.md +11 -11
  2. package/dist/core.d.mts +64 -0
  3. package/dist/core.d.ts +64 -0
  4. package/dist/core.js +275 -0
  5. package/dist/core.js.map +1 -0
  6. package/dist/core.mjs +240 -0
  7. package/dist/core.mjs.map +1 -0
  8. package/dist/{agent/agent-runner.d.ts → index-DhXVi_ub.d.ts} +94 -10
  9. package/dist/index-eQO4iaOr.d.mts +208 -0
  10. package/dist/index.d.mts +269 -0
  11. package/dist/index.d.ts +269 -10
  12. package/dist/index.js +2398 -31
  13. package/dist/index.js.map +1 -1
  14. package/dist/index.mjs +2345 -0
  15. package/dist/index.mjs.map +1 -0
  16. package/dist/react.d.mts +3 -0
  17. package/dist/react.d.ts +3 -0
  18. package/dist/react.js +737 -0
  19. package/dist/react.js.map +1 -0
  20. package/dist/react.mjs +717 -0
  21. package/dist/react.mjs.map +1 -0
  22. package/dist/{core/types.d.ts → types-2aHUvS4M.d.mts} +34 -33
  23. package/dist/types-2aHUvS4M.d.ts +297 -0
  24. package/package.json +12 -11
  25. package/dist/a2a/a2a.d.ts +0 -37
  26. package/dist/a2a/a2a.d.ts.map +0 -1
  27. package/dist/a2a/a2a.js +0 -252
  28. package/dist/a2a/a2a.js.map +0 -1
  29. package/dist/a2a/index.d.ts +0 -4
  30. package/dist/a2a/index.d.ts.map +0 -1
  31. package/dist/a2a/index.js +0 -4
  32. package/dist/a2a/index.js.map +0 -1
  33. package/dist/agent/agent-runner.d.ts.map +0 -1
  34. package/dist/agent/agent-runner.js +0 -249
  35. package/dist/agent/agent-runner.js.map +0 -1
  36. package/dist/agent/index.d.ts +0 -3
  37. package/dist/agent/index.d.ts.map +0 -1
  38. package/dist/agent/index.js +0 -3
  39. package/dist/agent/index.js.map +0 -1
  40. package/dist/config/config.d.ts +0 -31
  41. package/dist/config/config.d.ts.map +0 -1
  42. package/dist/config/config.js +0 -95
  43. package/dist/config/config.js.map +0 -1
  44. package/dist/config/index.d.ts +0 -4
  45. package/dist/config/index.d.ts.map +0 -1
  46. package/dist/config/index.js +0 -4
  47. package/dist/config/index.js.map +0 -1
  48. package/dist/core/crypto.d.ts +0 -62
  49. package/dist/core/crypto.d.ts.map +0 -1
  50. package/dist/core/crypto.js +0 -291
  51. package/dist/core/crypto.js.map +0 -1
  52. package/dist/core/index.d.ts +0 -3
  53. package/dist/core/index.d.ts.map +0 -1
  54. package/dist/core/index.js +0 -4
  55. package/dist/core/index.js.map +0 -1
  56. package/dist/core/types.d.ts.map +0 -1
  57. package/dist/core/types.js +0 -30
  58. package/dist/core/types.js.map +0 -1
  59. package/dist/index.d.ts.map +0 -1
  60. package/dist/mcp/connector.d.ts +0 -43
  61. package/dist/mcp/connector.d.ts.map +0 -1
  62. package/dist/mcp/connector.js +0 -79
  63. package/dist/mcp/connector.js.map +0 -1
  64. package/dist/mcp/index.d.ts +0 -4
  65. package/dist/mcp/index.d.ts.map +0 -1
  66. package/dist/mcp/index.js +0 -4
  67. package/dist/mcp/index.js.map +0 -1
  68. package/dist/react/index.d.ts +0 -4
  69. package/dist/react/index.d.ts.map +0 -1
  70. package/dist/react/index.js +0 -3
  71. package/dist/react/index.js.map +0 -1
  72. package/dist/react/useAgentRunner.d.ts +0 -16
  73. package/dist/react/useAgentRunner.d.ts.map +0 -1
  74. package/dist/react/useAgentRunner.js +0 -204
  75. package/dist/react/useAgentRunner.js.map +0 -1
  76. package/dist/registry/agent-registry.d.ts +0 -52
  77. package/dist/registry/agent-registry.d.ts.map +0 -1
  78. package/dist/registry/agent-registry.js +0 -221
  79. package/dist/registry/agent-registry.js.map +0 -1
  80. package/dist/registry/index.d.ts +0 -7
  81. package/dist/registry/index.d.ts.map +0 -1
  82. package/dist/registry/index.js +0 -6
  83. package/dist/registry/index.js.map +0 -1
  84. package/dist/registry/ipfs-fetcher.d.ts +0 -39
  85. package/dist/registry/ipfs-fetcher.d.ts.map +0 -1
  86. package/dist/registry/ipfs-fetcher.js +0 -139
  87. package/dist/registry/ipfs-fetcher.js.map +0 -1
  88. package/dist/reputation/index.d.ts +0 -4
  89. package/dist/reputation/index.d.ts.map +0 -1
  90. package/dist/reputation/index.js +0 -4
  91. package/dist/reputation/index.js.map +0 -1
  92. package/dist/reputation/reputation.d.ts +0 -26
  93. package/dist/reputation/reputation.d.ts.map +0 -1
  94. package/dist/reputation/reputation.js +0 -113
  95. package/dist/reputation/reputation.js.map +0 -1
  96. package/dist/subscription/agent-x402.d.ts +0 -33
  97. package/dist/subscription/agent-x402.d.ts.map +0 -1
  98. package/dist/subscription/agent-x402.js +0 -144
  99. package/dist/subscription/agent-x402.js.map +0 -1
  100. package/dist/subscription/index.d.ts +0 -6
  101. package/dist/subscription/index.d.ts.map +0 -1
  102. package/dist/subscription/index.js +0 -5
  103. package/dist/subscription/index.js.map +0 -1
  104. package/dist/subscription/subscription.d.ts +0 -67
  105. package/dist/subscription/subscription.d.ts.map +0 -1
  106. package/dist/subscription/subscription.js +0 -346
  107. package/dist/subscription/subscription.js.map +0 -1
@@ -1,204 +0,0 @@
1
- // ---------------------------------------------------------------------------
2
- // @agentx/sdk — useAgentRunner React Hook
3
- // ---------------------------------------------------------------------------
4
- // Wraps AgentRunner.useAgent() for React + wagmi integration.
5
- //
6
- // const { ctx, isLoading, error } = useAgentRunner(agentId)
7
- // // ctx.prompt → inject into LLM
8
- // // ctx.skills → RunnableSkill[] with execute()
9
- // // ctx.mcp → MCP connection info
10
- // ---------------------------------------------------------------------------
11
- 'use client';
12
- import { useState, useEffect, useRef } from 'react';
13
- import { usePublicClient, useWalletClient } from 'wagmi';
14
- import { AgentRunner } from '../agent/agent-runner';
15
- import { IPFSFetcher } from '../registry/ipfs-fetcher';
16
- import { KNOWN_CHAINS } from '../config/config';
17
- // ── IdentityRegistry ABI (minimal — only what useAgent needs) ──────────────
18
- const IDENTITY_REGISTRY_ABI = [
19
- // getAgentMetadata returns MetadataEntry[] with key+value strings
20
- {
21
- name: 'getAgentMetadata',
22
- type: 'function',
23
- stateMutability: 'view',
24
- inputs: [{ name: 'agentId', type: 'uint256' }],
25
- outputs: [
26
- {
27
- name: '',
28
- type: 'tuple[]',
29
- components: [
30
- { name: 'key', type: 'string' },
31
- { name: 'value', type: 'bytes' },
32
- ],
33
- },
34
- ],
35
- },
36
- ];
37
- // ── SubscriptionManager ABI (minimal) ─────────────────────────────────────
38
- const SUBSCRIPTION_MANAGER_ABI = [
39
- {
40
- name: 'hasActiveSubscription',
41
- type: 'function',
42
- stateMutability: 'view',
43
- inputs: [
44
- { name: 'subscriber', type: 'address' },
45
- { name: 'agentId', type: 'uint256' },
46
- ],
47
- outputs: [{ name: '', type: 'bool' }],
48
- },
49
- ];
50
- // ── OnChainReader Implementation (viem) ────────────────────────────────────
51
- class ViemOnChainReader {
52
- publicClient;
53
- chainConfig;
54
- constructor(publicClient, chainConfig) {
55
- this.publicClient = publicClient;
56
- this.chainConfig = chainConfig;
57
- }
58
- async getTokenURI(_agentId) {
59
- // tokenURI is standard ERC-721 metadata — not needed for our flow
60
- // Metadata is fetched via getAgentMetadata
61
- return '';
62
- }
63
- async getAttributes(agentId) {
64
- if (!this.publicClient)
65
- throw new Error('Public client not available');
66
- const entries = (await this.publicClient.readContract({
67
- address: this.chainConfig.contracts.identityRegistry,
68
- abi: IDENTITY_REGISTRY_ABI,
69
- functionName: 'getAgentMetadata',
70
- args: [BigInt(agentId)],
71
- }));
72
- const attrs = {};
73
- for (const entry of entries) {
74
- // value is bytes — convert to string
75
- const hexStr = entry.value;
76
- if (hexStr && hexStr !== '0x') {
77
- attrs[entry.key] = hexToStringUTF8(hexStr);
78
- }
79
- else {
80
- attrs[entry.key] = '';
81
- }
82
- }
83
- return attrs;
84
- }
85
- async hasActiveSubscription(address, agentId) {
86
- if (!this.publicClient)
87
- return false;
88
- try {
89
- return (await this.publicClient.readContract({
90
- address: this.chainConfig.contracts.subscriptionManager,
91
- abi: SUBSCRIPTION_MANAGER_ABI,
92
- functionName: 'hasActiveSubscription',
93
- args: [address, BigInt(agentId)],
94
- }));
95
- }
96
- catch {
97
- return false;
98
- }
99
- }
100
- }
101
- // ── Helpers ────────────────────────────────────────────────────────────────
102
- function hexToStringUTF8(hex) {
103
- if (!hex.startsWith('0x'))
104
- return hex;
105
- const hexClean = hex.slice(2);
106
- if (hexClean.length === 0)
107
- return '';
108
- try {
109
- const bytes = new Uint8Array(hexClean.length / 2);
110
- for (let i = 0; i < bytes.length; i++) {
111
- bytes[i] = parseInt(hexClean.substring(i * 2, i * 2 + 2), 16);
112
- }
113
- return new TextDecoder().decode(bytes);
114
- }
115
- catch {
116
- return hex;
117
- }
118
- }
119
- // ── Hook ───────────────────────────────────────────────────────────────────
120
- export function useAgentRunner(config) {
121
- const { agentId, chainConfig: chainConfigOverride, ipfsGateways } = config;
122
- const publicClient = usePublicClient();
123
- const { data: walletClient } = useWalletClient();
124
- const [ctx, setCtx] = useState(null);
125
- const [isLoading, setIsLoading] = useState(false);
126
- const [error, setError] = useState(null);
127
- const [refetchKey, setRefetchKey] = useState(0);
128
- const runnerRef = useRef(null);
129
- const mountedRef = useRef(true);
130
- useEffect(() => {
131
- mountedRef.current = true;
132
- return () => {
133
- mountedRef.current = false;
134
- };
135
- }, []);
136
- useEffect(() => {
137
- if (!publicClient || !walletClient) {
138
- setError(new Error('Wallet not connected'));
139
- return;
140
- }
141
- const chainConfig = chainConfigOverride ?? (publicClient.chain?.id ? KNOWN_CHAINS[publicClient.chain.id] : undefined);
142
- if (!chainConfig) {
143
- setError(new Error(`Chain ${publicClient.chain?.id} not supported`));
144
- return;
145
- }
146
- // Create OnChainReader
147
- const reader = new ViemOnChainReader(publicClient, chainConfig);
148
- // WalletSigner from wagmi
149
- const signer = {
150
- async signMessage(message) {
151
- if (!walletClient.account)
152
- throw new Error('Wallet not connected');
153
- return walletClient.signMessage({ account: walletClient.account, message });
154
- },
155
- async getAddress() {
156
- if (!walletClient.account)
157
- throw new Error('Wallet not connected');
158
- return walletClient.account.address;
159
- },
160
- async getPrivateKey() {
161
- // wagmi walletClient doesn't expose private key
162
- // ECIES decryption requires private key — must be injected from wallet provider
163
- throw new Error('Private key not available via wagmi. ' +
164
- 'Use window.ethereum.request({ method: "eth_private_key" }) or inject getPrivateKey via custom WalletSigner.');
165
- },
166
- };
167
- // IPFS Fetcher
168
- const ipfsFetcher = new IPFSFetcher({
169
- fallbackGateways: ipfsGateways ?? chainConfig.ipfsGateways ?? [
170
- 'gateway.pinata.cloud',
171
- 'dweb.link',
172
- 'cf-ipfs.com',
173
- ],
174
- });
175
- runnerRef.current = new AgentRunner({
176
- reader,
177
- wallet: signer,
178
- ipfsFetcher,
179
- });
180
- setIsLoading(true);
181
- setError(null);
182
- runnerRef.current
183
- .useAgent(agentId)
184
- .then(result => {
185
- if (mountedRef.current) {
186
- setCtx(result);
187
- setIsLoading(false);
188
- }
189
- })
190
- .catch(err => {
191
- if (mountedRef.current) {
192
- setError(err instanceof Error ? err : new Error(String(err)));
193
- setIsLoading(false);
194
- }
195
- });
196
- return () => {
197
- mountedRef.current = false;
198
- };
199
- // eslint-disable-next-line react-hooks/exhaustive-deps
200
- }, [agentId, publicClient?.chain?.id, publicClient, walletClient, refetchKey]);
201
- const refetch = () => setRefetchKey(k => k + 1);
202
- return { ctx, isLoading, error, refetch };
203
- }
204
- //# sourceMappingURL=useAgentRunner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAgentRunner.js","sourceRoot":"","sources":["../../src/react/useAgentRunner.ts"],"names":[],"mappings":"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"}
@@ -1,52 +0,0 @@
1
- import type { PublicClient, WalletClient, Address, Hash } from 'viem';
2
- export interface AgentRegistryConfig {
3
- /** IdentityRegistry contract address */
4
- contractAddress: Address;
5
- /** viem PublicClient for read calls */
6
- publicClient: PublicClient;
7
- /** viem WalletClient for write calls */
8
- walletClient: WalletClient;
9
- }
10
- export declare class AgentRegistry {
11
- private address;
12
- private publicClient;
13
- private walletClient;
14
- constructor(config: AgentRegistryConfig);
15
- /**
16
- * Register a new Agent NFT on-chain.
17
- *
18
- * @param tokenURI IPFS URI of the public metadata (ipfs://...)
19
- * @param metadata Key-value metadata (encryptedPayloadCid, eciesEncryptedKey, etc.)
20
- * @param valueWei Optional: native currency to send with registration
21
- * @returns { agentId: number, txHash: Hash }
22
- */
23
- register(tokenURI: string, metadata: {
24
- key: string;
25
- value: string;
26
- }[], valueWei?: bigint): Promise<{
27
- agentId: number;
28
- txHash: Hash;
29
- }>;
30
- /**
31
- * Simple register — just a tokenURI, no extra metadata.
32
- */
33
- registerSimple(tokenURI: string, valueWei?: bigint): Promise<{
34
- agentId: number;
35
- txHash: Hash;
36
- }>;
37
- /** Get all agent IDs owned by an address. */
38
- getAgentsByOwner(owner: Address): Promise<number[]>;
39
- /** Get the current total agent count. */
40
- getCurrentAgentId(): Promise<number>;
41
- /** Check if an agent exists. */
42
- agentExists(agentId: number): Promise<boolean>;
43
- /** Get the tokenURI for an agent. */
44
- tokenURI(agentId: number): Promise<string>;
45
- /** Get all metadata attributes for an agent as key-value pairs. */
46
- getAttributes(agentId: number): Promise<Record<string, string>>;
47
- /** Extract tokenId from the Transfer event in the receipt. */
48
- private _parseAgentIdFromReceipt;
49
- }
50
- /** Extract IPFS CID from an ipfs:// URI. */
51
- export declare function cidFromURI(uri: string): string;
52
- //# sourceMappingURL=agent-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-registry.d.ts","sourceRoot":"","sources":["../../src/registry/agent-registry.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AA8ErE,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,eAAe,EAAE,OAAO,CAAA;IACxB,uCAAuC;IACvC,YAAY,EAAE,YAAY,CAAA;IAC1B,wCAAwC;IACxC,YAAY,EAAE,YAAY,CAAA;CAC3B;AAID,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,YAAY,CAAc;gBAEtB,MAAM,EAAE,mBAAmB;IAQvC;;;;;;;OAOG;IACG,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,EAC1C,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,IAAI,CAAA;KAAE,CAAC;IA0B7C;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,IAAI,CAAA;KAAE,CAAC;IA2BrG,6CAA6C;IACvC,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAUzD,yCAAyC;IACnC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAS1C,gCAAgC;IAC1B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUpD,qCAAqC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUhD,mEAAmE;IAC7D,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAgBrE,8DAA8D;IAC9D,OAAO,CAAC,wBAAwB;CAUjC;AAID,4CAA4C;AAC5C,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C"}
@@ -1,221 +0,0 @@
1
- // ---------------------------------------------------------------------------
2
- // @agentx/sdk — Agent Registry
3
- // ---------------------------------------------------------------------------
4
- // Wraps IdentityRegistry contract interactions (on-chain agent CRUD).
5
- //
6
- // Design:
7
- // - Takes a viem PublicClient + WalletClient (chain-agnostic).
8
- // - No wagmi dependency — works with any wallet provider that implements
9
- // the WalletClient interface.
10
- // - Methods match the existing ERC8004 IdentityRegistry ABI.
11
- // ---------------------------------------------------------------------------
12
- import { stringToHex, hexToString } from 'viem';
13
- // ── Minimal ABI Fragments ──────────────────────────────────────────────────
14
- const IDENTITY_REGISTRY_ABI = {
15
- // Register
16
- register: {
17
- inputs: [],
18
- name: 'register',
19
- outputs: [{ name: 'agentId', type: 'uint256' }],
20
- stateMutability: 'payable',
21
- type: 'function',
22
- },
23
- registerWithTokenURI: {
24
- inputs: [{ name: 'tokenURI', type: 'string' }],
25
- name: 'register',
26
- outputs: [{ name: 'agentId', type: 'uint256' }],
27
- stateMutability: 'payable',
28
- type: 'function',
29
- },
30
- registerWithMetadata: {
31
- inputs: [
32
- { name: 'tokenURI', type: 'string' },
33
- {
34
- name: 'metadata',
35
- type: 'tuple[]',
36
- components: [
37
- { name: 'key', type: 'string' },
38
- { name: 'value', type: 'bytes' },
39
- ],
40
- },
41
- ],
42
- name: 'registerWithMetadata',
43
- outputs: [{ name: 'agentId', type: 'uint256' }],
44
- stateMutability: 'payable',
45
- type: 'function',
46
- },
47
- // Queries
48
- getAgentsByOwner: {
49
- inputs: [{ name: 'owner', type: 'address' }],
50
- name: 'getAgentsByOwner',
51
- outputs: [{ name: '', type: 'uint256[]' }],
52
- stateMutability: 'view',
53
- type: 'function',
54
- },
55
- getCurrentAgentId: {
56
- inputs: [],
57
- name: 'getCurrentAgentId',
58
- outputs: [{ name: '', type: 'uint256' }],
59
- stateMutability: 'view',
60
- type: 'function',
61
- },
62
- agentExists: {
63
- inputs: [{ name: 'agentId', type: 'uint256' }],
64
- name: 'agentExists',
65
- outputs: [{ name: '', type: 'bool' }],
66
- stateMutability: 'view',
67
- type: 'function',
68
- },
69
- tokenURI: {
70
- inputs: [{ name: 'tokenId', type: 'uint256' }],
71
- name: 'tokenURI',
72
- outputs: [{ name: '', type: 'string' }],
73
- stateMutability: 'view',
74
- type: 'function',
75
- },
76
- getAgentMetadata: {
77
- inputs: [{ name: 'agentId', type: 'uint256' }],
78
- name: 'getAgentMetadata',
79
- outputs: [{ name: '', type: 'tuple[]', components: [{ name: 'key', type: 'string' }, { name: 'value', type: 'bytes' }] }],
80
- stateMutability: 'view',
81
- type: 'function',
82
- },
83
- };
84
- // ── Agent Registry ─────────────────────────────────────────────────────────
85
- export class AgentRegistry {
86
- address;
87
- publicClient;
88
- walletClient;
89
- constructor(config) {
90
- this.address = config.contractAddress;
91
- this.publicClient = config.publicClient;
92
- this.walletClient = config.walletClient;
93
- }
94
- // ── Write: Register Agent ───────────────────────────────────────────────
95
- /**
96
- * Register a new Agent NFT on-chain.
97
- *
98
- * @param tokenURI IPFS URI of the public metadata (ipfs://...)
99
- * @param metadata Key-value metadata (encryptedPayloadCid, eciesEncryptedKey, etc.)
100
- * @param valueWei Optional: native currency to send with registration
101
- * @returns { agentId: number, txHash: Hash }
102
- */
103
- async register(tokenURI, metadata, valueWei) {
104
- const [account] = await this.walletClient.getAddresses();
105
- if (!account)
106
- throw new Error('Wallet not connected');
107
- const encodedMetadata = metadata.map(m => ({
108
- key: m.key,
109
- value: stringToHex(m.value),
110
- }));
111
- const { request } = await this.publicClient.simulateContract({
112
- account,
113
- address: this.address,
114
- abi: [IDENTITY_REGISTRY_ABI.registerWithMetadata],
115
- functionName: 'registerWithMetadata',
116
- args: [tokenURI, encodedMetadata],
117
- value: valueWei,
118
- });
119
- const hash = await this.walletClient.writeContract(request);
120
- const receipt = await this.publicClient.waitForTransactionReceipt({ hash });
121
- // Parse agentId from Transfer event (ERC-721)
122
- const agentId = this._parseAgentIdFromReceipt(receipt);
123
- return { agentId, txHash: hash };
124
- }
125
- /**
126
- * Simple register — just a tokenURI, no extra metadata.
127
- */
128
- async registerSimple(tokenURI, valueWei) {
129
- const [account] = await this.walletClient.getAddresses();
130
- if (!account)
131
- throw new Error('Wallet not connected');
132
- const abi = tokenURI
133
- ? [IDENTITY_REGISTRY_ABI.registerWithTokenURI]
134
- : [IDENTITY_REGISTRY_ABI.register];
135
- const args = tokenURI ? [tokenURI] : [];
136
- const { request } = await this.publicClient.simulateContract({
137
- account,
138
- address: this.address,
139
- abi: abi,
140
- functionName: 'register',
141
- args: args,
142
- value: valueWei,
143
- });
144
- const hash = await this.walletClient.writeContract(request);
145
- const receipt = await this.publicClient.waitForTransactionReceipt({ hash });
146
- const agentId = this._parseAgentIdFromReceipt(receipt);
147
- return { agentId, txHash: hash };
148
- }
149
- // ── Read: Query ──────────────────────────────────────────────────────────
150
- /** Get all agent IDs owned by an address. */
151
- async getAgentsByOwner(owner) {
152
- const result = await this.publicClient.readContract({
153
- address: this.address,
154
- abi: [IDENTITY_REGISTRY_ABI.getAgentsByOwner],
155
- functionName: 'getAgentsByOwner',
156
- args: [owner],
157
- });
158
- return result.map(Number);
159
- }
160
- /** Get the current total agent count. */
161
- async getCurrentAgentId() {
162
- const result = await this.publicClient.readContract({
163
- address: this.address,
164
- abi: [IDENTITY_REGISTRY_ABI.getCurrentAgentId],
165
- functionName: 'getCurrentAgentId',
166
- });
167
- return Number(result);
168
- }
169
- /** Check if an agent exists. */
170
- async agentExists(agentId) {
171
- const result = await this.publicClient.readContract({
172
- address: this.address,
173
- abi: [IDENTITY_REGISTRY_ABI.agentExists],
174
- functionName: 'agentExists',
175
- args: [BigInt(agentId)],
176
- });
177
- return result;
178
- }
179
- /** Get the tokenURI for an agent. */
180
- async tokenURI(agentId) {
181
- const result = await this.publicClient.readContract({
182
- address: this.address,
183
- abi: [IDENTITY_REGISTRY_ABI.tokenURI],
184
- functionName: 'tokenURI',
185
- args: [BigInt(agentId)],
186
- });
187
- return result;
188
- }
189
- /** Get all metadata attributes for an agent as key-value pairs. */
190
- async getAttributes(agentId) {
191
- const result = await this.publicClient.readContract({
192
- address: this.address,
193
- abi: [IDENTITY_REGISTRY_ABI.getAgentMetadata],
194
- functionName: 'getAgentMetadata',
195
- args: [BigInt(agentId)],
196
- });
197
- const attrs = {};
198
- for (const item of result) {
199
- attrs[item.key] = hexToString(item.value);
200
- }
201
- return attrs;
202
- }
203
- // ── Helpers ──────────────────────────────────────────────────────────────
204
- /** Extract tokenId from the Transfer event in the receipt. */
205
- _parseAgentIdFromReceipt(receipt) {
206
- for (const log of receipt.logs) {
207
- // ERC-721 Transfer event: keccak("Transfer(address,address,uint256)")
208
- const transferTopic = '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef';
209
- if (log.topics[0] === transferTopic && log.topics.length >= 4) {
210
- return Number(BigInt(log.topics[3]));
211
- }
212
- }
213
- throw new Error('Could not parse agentId from Transfer event in receipt');
214
- }
215
- }
216
- // ── Utility ─────────────────────────────────────────────────────────────────
217
- /** Extract IPFS CID from an ipfs:// URI. */
218
- export function cidFromURI(uri) {
219
- return uri.replace(/^ipfs:\/\//, '');
220
- }
221
- //# sourceMappingURL=agent-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-registry.js","sourceRoot":"","sources":["../../src/registry/agent-registry.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export { AgentRegistry, cidFromURI } from './agent-registry';
2
- export type { AgentRegistryConfig } from './agent-registry';
3
- export { IPFSFetcher, defaultIPFSFetcher } from './ipfs-fetcher';
4
- export type { IPFSFetcherConfig } from './ipfs-fetcher';
5
- export type { RegisteredAgent, AgentSearchQuery, AgentSearchResult, OnChainAgentMetadata, } from '../core/types';
6
- export declare const REGISTRY_VERSION = "0.1.0";
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC5D,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE3D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGvD,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,eAAe,CAAA;AAEtB,eAAO,MAAM,gBAAgB,UAAU,CAAA"}
@@ -1,6 +0,0 @@
1
- // @agentx/sdk — Registry module
2
- // Agent registration, query, and IPFS fetching.
3
- export { AgentRegistry, cidFromURI } from './agent-registry';
4
- export { IPFSFetcher, defaultIPFSFetcher } from './ipfs-fetcher';
5
- export const REGISTRY_VERSION = '0.1.0';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,gDAAgD;AAEhD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG5D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAWhE,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAA"}
@@ -1,39 +0,0 @@
1
- import type { EncryptedPayload } from '../core/types';
2
- export interface IPFSFetcherConfig {
3
- /** Primary IPFS gateway (default: ipfs.io) */
4
- gateway?: string;
5
- /** Fallback gateways in order of preference */
6
- fallbackGateways?: string[];
7
- /** Request timeout in ms (default: 10_000) */
8
- timeoutMs?: number;
9
- /** Max cached entries (LRU-like eviction, default: 200) */
10
- maxCache?: number;
11
- }
12
- export declare class IPFSFetcher {
13
- private gateway;
14
- private fallbackGateways;
15
- private timeoutMs;
16
- private cache;
17
- private maxCache;
18
- private pending;
19
- private failed;
20
- constructor(config?: IPFSFetcherConfig);
21
- /** Fetch JSON from a single IPFS CID. */
22
- fetchJSON<T = unknown>(cid: string): Promise<T>;
23
- /** Fetch encrypted agent payload (validates algorithm). */
24
- fetchEncryptedPayload(cid: string): Promise<EncryptedPayload>;
25
- /** Batch fetch multiple CIDs with concurrency control. */
26
- fetchBatch<T = unknown>(cids: string[], concurrency?: number): Promise<Map<string, T>>;
27
- /** Check if a string looks like a valid IPFS CID. */
28
- isValidCID(cid: string): boolean;
29
- /** Clear cache (optionally for a specific CID). */
30
- clearCache(cid?: string): void;
31
- /** Number of cached entries. */
32
- get cacheSize(): number;
33
- private _doFetch;
34
- private _fetchFrom;
35
- private _cacheSet;
36
- }
37
- /** Singleton-friendly default instance. */
38
- export declare const defaultIPFSFetcher: IPFSFetcher;
39
- //# sourceMappingURL=ipfs-fetcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ipfs-fetcher.d.ts","sourceRoot":"","sources":["../../src/registry/ipfs-fetcher.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAIrD,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AASD,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,KAAK,CAAyC;IACtD,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,GAAE,iBAAsB;IAa1C,yCAAyC;IACnC,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAwBrD,2DAA2D;IACrD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQnE,0DAA0D;IACpD,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,SAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAmBvF,qDAAqD;IACrD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIhC,mDAAmD;IACnD,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAS9B,gCAAgC;IAChC,IAAI,SAAS,IAAI,MAAM,CAEtB;YAIa,QAAQ;YAsBR,UAAU;IAUxB,OAAO,CAAC,SAAS;CAUlB;AAED,2CAA2C;AAC3C,eAAO,MAAM,kBAAkB,aAAoB,CAAA"}