@quantulabs/8004-mcp 0.1.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 (243) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +370 -0
  3. package/dist/chains/evm/index.d.ts +2 -0
  4. package/dist/chains/evm/index.d.ts.map +1 -0
  5. package/dist/chains/evm/index.js +3 -0
  6. package/dist/chains/evm/index.js.map +1 -0
  7. package/dist/chains/evm/provider.d.ts +48 -0
  8. package/dist/chains/evm/provider.d.ts.map +1 -0
  9. package/dist/chains/evm/provider.js +446 -0
  10. package/dist/chains/evm/provider.js.map +1 -0
  11. package/dist/chains/index.d.ts +3 -0
  12. package/dist/chains/index.d.ts.map +1 -0
  13. package/dist/chains/index.js +4 -0
  14. package/dist/chains/index.js.map +1 -0
  15. package/dist/chains/solana/data-source.d.ts +17 -0
  16. package/dist/chains/solana/data-source.d.ts.map +1 -0
  17. package/dist/chains/solana/data-source.js +65 -0
  18. package/dist/chains/solana/data-source.js.map +1 -0
  19. package/dist/chains/solana/index.d.ts +8 -0
  20. package/dist/chains/solana/index.d.ts.map +1 -0
  21. package/dist/chains/solana/index.js +9 -0
  22. package/dist/chains/solana/index.js.map +1 -0
  23. package/dist/chains/solana/parsers.d.ts +11 -0
  24. package/dist/chains/solana/parsers.d.ts.map +1 -0
  25. package/dist/chains/solana/parsers.js +94 -0
  26. package/dist/chains/solana/parsers.js.map +1 -0
  27. package/dist/chains/solana/provider.d.ts +33 -0
  28. package/dist/chains/solana/provider.d.ts.map +1 -0
  29. package/dist/chains/solana/provider.js +407 -0
  30. package/dist/chains/solana/provider.js.map +1 -0
  31. package/dist/chains/solana/state.d.ts +55 -0
  32. package/dist/chains/solana/state.d.ts.map +1 -0
  33. package/dist/chains/solana/state.js +162 -0
  34. package/dist/chains/solana/state.js.map +1 -0
  35. package/dist/chains/solana/tools/atom.d.ts +45 -0
  36. package/dist/chains/solana/tools/atom.d.ts.map +1 -0
  37. package/dist/chains/solana/tools/atom.js +115 -0
  38. package/dist/chains/solana/tools/atom.js.map +1 -0
  39. package/dist/chains/solana/tools/validation.d.ts +45 -0
  40. package/dist/chains/solana/tools/validation.d.ts.map +1 -0
  41. package/dist/chains/solana/tools/validation.js +212 -0
  42. package/dist/chains/solana/tools/validation.js.map +1 -0
  43. package/dist/chains/solana/tools/wallet.d.ts +45 -0
  44. package/dist/chains/solana/tools/wallet.d.ts.map +1 -0
  45. package/dist/chains/solana/tools/wallet.js +103 -0
  46. package/dist/chains/solana/tools/wallet.js.map +1 -0
  47. package/dist/config/defaults.d.ts +68 -0
  48. package/dist/config/defaults.d.ts.map +1 -0
  49. package/dist/config/defaults.js +247 -0
  50. package/dist/config/defaults.js.map +1 -0
  51. package/dist/config/env.d.ts +33 -0
  52. package/dist/config/env.d.ts.map +1 -0
  53. package/dist/config/env.js +42 -0
  54. package/dist/config/env.js.map +1 -0
  55. package/dist/config/index.d.ts +3 -0
  56. package/dist/config/index.d.ts.map +1 -0
  57. package/dist/config/index.js +3 -0
  58. package/dist/config/index.js.map +1 -0
  59. package/dist/core/cache/agent-cache.d.ts +36 -0
  60. package/dist/core/cache/agent-cache.d.ts.map +1 -0
  61. package/dist/core/cache/agent-cache.js +87 -0
  62. package/dist/core/cache/agent-cache.js.map +1 -0
  63. package/dist/core/cache/data-source.d.ts +31 -0
  64. package/dist/core/cache/data-source.d.ts.map +1 -0
  65. package/dist/core/cache/data-source.js +6 -0
  66. package/dist/core/cache/data-source.js.map +1 -0
  67. package/dist/core/cache/index.d.ts +7 -0
  68. package/dist/core/cache/index.d.ts.map +1 -0
  69. package/dist/core/cache/index.js +9 -0
  70. package/dist/core/cache/index.js.map +1 -0
  71. package/dist/core/cache/lazy-cache.d.ts +30 -0
  72. package/dist/core/cache/lazy-cache.d.ts.map +1 -0
  73. package/dist/core/cache/lazy-cache.js +79 -0
  74. package/dist/core/cache/lazy-cache.js.map +1 -0
  75. package/dist/core/cache/slim-store.d.ts +66 -0
  76. package/dist/core/cache/slim-store.d.ts.map +1 -0
  77. package/dist/core/cache/slim-store.js +285 -0
  78. package/dist/core/cache/slim-store.js.map +1 -0
  79. package/dist/core/cache/sqlite-store.d.ts +99 -0
  80. package/dist/core/cache/sqlite-store.d.ts.map +1 -0
  81. package/dist/core/cache/sqlite-store.js +470 -0
  82. package/dist/core/cache/sqlite-store.js.map +1 -0
  83. package/dist/core/cache/sync-manager.d.ts +38 -0
  84. package/dist/core/cache/sync-manager.d.ts.map +1 -0
  85. package/dist/core/cache/sync-manager.js +213 -0
  86. package/dist/core/cache/sync-manager.js.map +1 -0
  87. package/dist/core/errors/index.d.ts +2 -0
  88. package/dist/core/errors/index.d.ts.map +1 -0
  89. package/dist/core/errors/index.js +2 -0
  90. package/dist/core/errors/index.js.map +1 -0
  91. package/dist/core/errors/mcp-error.d.ts +39 -0
  92. package/dist/core/errors/mcp-error.d.ts.map +1 -0
  93. package/dist/core/errors/mcp-error.js +79 -0
  94. package/dist/core/errors/mcp-error.js.map +1 -0
  95. package/dist/core/interfaces/agent.d.ts +84 -0
  96. package/dist/core/interfaces/agent.d.ts.map +1 -0
  97. package/dist/core/interfaces/agent.js +40 -0
  98. package/dist/core/interfaces/agent.js.map +1 -0
  99. package/dist/core/interfaces/chain-provider.d.ts +50 -0
  100. package/dist/core/interfaces/chain-provider.d.ts.map +1 -0
  101. package/dist/core/interfaces/chain-provider.js +5 -0
  102. package/dist/core/interfaces/chain-provider.js.map +1 -0
  103. package/dist/core/interfaces/feedback.d.ts +46 -0
  104. package/dist/core/interfaces/feedback.d.ts.map +1 -0
  105. package/dist/core/interfaces/feedback.js +3 -0
  106. package/dist/core/interfaces/feedback.js.map +1 -0
  107. package/dist/core/interfaces/index.d.ts +6 -0
  108. package/dist/core/interfaces/index.d.ts.map +1 -0
  109. package/dist/core/interfaces/index.js +7 -0
  110. package/dist/core/interfaces/index.js.map +1 -0
  111. package/dist/core/interfaces/reputation.d.ts +47 -0
  112. package/dist/core/interfaces/reputation.d.ts.map +1 -0
  113. package/dist/core/interfaces/reputation.js +30 -0
  114. package/dist/core/interfaces/reputation.js.map +1 -0
  115. package/dist/core/interfaces/x402.d.ts +226 -0
  116. package/dist/core/interfaces/x402.d.ts.map +1 -0
  117. package/dist/core/interfaces/x402.js +120 -0
  118. package/dist/core/interfaces/x402.js.map +1 -0
  119. package/dist/core/parsers/common.d.ts +31 -0
  120. package/dist/core/parsers/common.d.ts.map +1 -0
  121. package/dist/core/parsers/common.js +185 -0
  122. package/dist/core/parsers/common.js.map +1 -0
  123. package/dist/core/parsers/index.d.ts +2 -0
  124. package/dist/core/parsers/index.d.ts.map +1 -0
  125. package/dist/core/parsers/index.js +2 -0
  126. package/dist/core/parsers/index.js.map +1 -0
  127. package/dist/core/registry/chain-registry.d.ts +26 -0
  128. package/dist/core/registry/chain-registry.d.ts.map +1 -0
  129. package/dist/core/registry/chain-registry.js +141 -0
  130. package/dist/core/registry/chain-registry.js.map +1 -0
  131. package/dist/core/registry/index.d.ts +3 -0
  132. package/dist/core/registry/index.d.ts.map +1 -0
  133. package/dist/core/registry/index.js +3 -0
  134. package/dist/core/registry/index.js.map +1 -0
  135. package/dist/core/registry/tool-registry.d.ts +23 -0
  136. package/dist/core/registry/tool-registry.d.ts.map +1 -0
  137. package/dist/core/registry/tool-registry.js +66 -0
  138. package/dist/core/registry/tool-registry.js.map +1 -0
  139. package/dist/core/serializers/common.d.ts +20 -0
  140. package/dist/core/serializers/common.d.ts.map +1 -0
  141. package/dist/core/serializers/common.js +76 -0
  142. package/dist/core/serializers/common.js.map +1 -0
  143. package/dist/core/serializers/index.d.ts +2 -0
  144. package/dist/core/serializers/index.d.ts.map +1 -0
  145. package/dist/core/serializers/index.js +2 -0
  146. package/dist/core/serializers/index.js.map +1 -0
  147. package/dist/core/services/index.d.ts +3 -0
  148. package/dist/core/services/index.d.ts.map +1 -0
  149. package/dist/core/services/index.js +3 -0
  150. package/dist/core/services/index.js.map +1 -0
  151. package/dist/core/services/ipfs-service.d.ts +59 -0
  152. package/dist/core/services/ipfs-service.d.ts.map +1 -0
  153. package/dist/core/services/ipfs-service.js +84 -0
  154. package/dist/core/services/ipfs-service.js.map +1 -0
  155. package/dist/core/utils/tags.d.ts +38 -0
  156. package/dist/core/utils/tags.d.ts.map +1 -0
  157. package/dist/core/utils/tags.js +77 -0
  158. package/dist/core/utils/tags.js.map +1 -0
  159. package/dist/core/utils/value-encoding.d.ts +36 -0
  160. package/dist/core/utils/value-encoding.d.ts.map +1 -0
  161. package/dist/core/utils/value-encoding.js +196 -0
  162. package/dist/core/utils/value-encoding.js.map +1 -0
  163. package/dist/core/wallet/index.d.ts +2 -0
  164. package/dist/core/wallet/index.d.ts.map +1 -0
  165. package/dist/core/wallet/index.js +3 -0
  166. package/dist/core/wallet/index.js.map +1 -0
  167. package/dist/core/wallet/wallet-manager.d.ts +86 -0
  168. package/dist/core/wallet/wallet-manager.d.ts.map +1 -0
  169. package/dist/core/wallet/wallet-manager.js +783 -0
  170. package/dist/core/wallet/wallet-manager.js.map +1 -0
  171. package/dist/core/x402/index.d.ts +2 -0
  172. package/dist/core/x402/index.d.ts.map +1 -0
  173. package/dist/core/x402/index.js +3 -0
  174. package/dist/core/x402/index.js.map +1 -0
  175. package/dist/core/x402/proof-validator.d.ts +57 -0
  176. package/dist/core/x402/proof-validator.d.ts.map +1 -0
  177. package/dist/core/x402/proof-validator.js +103 -0
  178. package/dist/core/x402/proof-validator.js.map +1 -0
  179. package/dist/index.d.ts +3 -0
  180. package/dist/index.d.ts.map +1 -0
  181. package/dist/index.js +135 -0
  182. package/dist/index.js.map +1 -0
  183. package/dist/state/global-state.d.ts +98 -0
  184. package/dist/state/global-state.d.ts.map +1 -0
  185. package/dist/state/global-state.js +258 -0
  186. package/dist/state/global-state.js.map +1 -0
  187. package/dist/tools/definitions.d.ts +10 -0
  188. package/dist/tools/definitions.d.ts.map +1 -0
  189. package/dist/tools/definitions.js +163 -0
  190. package/dist/tools/definitions.js.map +1 -0
  191. package/dist/tools/unified/agent.d.ts +5 -0
  192. package/dist/tools/unified/agent.d.ts.map +1 -0
  193. package/dist/tools/unified/agent.js +300 -0
  194. package/dist/tools/unified/agent.js.map +1 -0
  195. package/dist/tools/unified/cache.d.ts +5 -0
  196. package/dist/tools/unified/cache.d.ts.map +1 -0
  197. package/dist/tools/unified/cache.js +207 -0
  198. package/dist/tools/unified/cache.js.map +1 -0
  199. package/dist/tools/unified/collection.d.ts +5 -0
  200. package/dist/tools/unified/collection.d.ts.map +1 -0
  201. package/dist/tools/unified/collection.js +162 -0
  202. package/dist/tools/unified/collection.js.map +1 -0
  203. package/dist/tools/unified/config.d.ts +5 -0
  204. package/dist/tools/unified/config.d.ts.map +1 -0
  205. package/dist/tools/unified/config.js +217 -0
  206. package/dist/tools/unified/config.js.map +1 -0
  207. package/dist/tools/unified/crawler.d.ts +5 -0
  208. package/dist/tools/unified/crawler.d.ts.map +1 -0
  209. package/dist/tools/unified/crawler.js +212 -0
  210. package/dist/tools/unified/crawler.js.map +1 -0
  211. package/dist/tools/unified/feedback.d.ts +5 -0
  212. package/dist/tools/unified/feedback.d.ts.map +1 -0
  213. package/dist/tools/unified/feedback.js +274 -0
  214. package/dist/tools/unified/feedback.js.map +1 -0
  215. package/dist/tools/unified/ipfs.d.ts +5 -0
  216. package/dist/tools/unified/ipfs.d.ts.map +1 -0
  217. package/dist/tools/unified/ipfs.js +156 -0
  218. package/dist/tools/unified/ipfs.js.map +1 -0
  219. package/dist/tools/unified/oasf.d.ts +5 -0
  220. package/dist/tools/unified/oasf.d.ts.map +1 -0
  221. package/dist/tools/unified/oasf.js +167 -0
  222. package/dist/tools/unified/oasf.js.map +1 -0
  223. package/dist/tools/unified/registration.d.ts +5 -0
  224. package/dist/tools/unified/registration.d.ts.map +1 -0
  225. package/dist/tools/unified/registration.js +223 -0
  226. package/dist/tools/unified/registration.js.map +1 -0
  227. package/dist/tools/unified/reputation.d.ts +5 -0
  228. package/dist/tools/unified/reputation.d.ts.map +1 -0
  229. package/dist/tools/unified/reputation.js +121 -0
  230. package/dist/tools/unified/reputation.js.map +1 -0
  231. package/dist/tools/unified/wallet.d.ts +5 -0
  232. package/dist/tools/unified/wallet.d.ts.map +1 -0
  233. package/dist/tools/unified/wallet.js +434 -0
  234. package/dist/tools/unified/wallet.js.map +1 -0
  235. package/dist/tools/unified/write-operations.d.ts +5 -0
  236. package/dist/tools/unified/write-operations.d.ts.map +1 -0
  237. package/dist/tools/unified/write-operations.js +582 -0
  238. package/dist/tools/unified/write-operations.js.map +1 -0
  239. package/dist/tools/unified/x402.d.ts +5 -0
  240. package/dist/tools/unified/x402.d.ts.map +1 -0
  241. package/dist/tools/unified/x402.js +594 -0
  242. package/dist/tools/unified/x402.js.map +1 -0
  243. package/package.json +67 -0
@@ -0,0 +1,223 @@
1
+ // Agent registration tools (create agents on-chain)
2
+ import { getArgs, readString, readBoolean, parseChainParam, } from '../../core/parsers/common.js';
3
+ import { successResponse } from '../../core/serializers/common.js';
4
+ import { globalState } from '../../state/global-state.js';
5
+ import { PublicKey } from '@solana/web3.js';
6
+ export const registrationTools = [
7
+ {
8
+ name: 'agent_register',
9
+ description: 'Register a new agent on-chain. For Solana, requires tokenUri (IPFS). For EVM, can use IPFS or HTTP URI.',
10
+ inputSchema: {
11
+ type: 'object',
12
+ properties: {
13
+ name: {
14
+ type: 'string',
15
+ description: 'Agent name (required for EVM, optional for Solana if in tokenUri)',
16
+ },
17
+ description: {
18
+ type: 'string',
19
+ description: 'Agent description (EVM only)',
20
+ },
21
+ image: {
22
+ type: 'string',
23
+ description: 'Agent image URI (EVM only)',
24
+ },
25
+ tokenUri: {
26
+ type: 'string',
27
+ description: 'Token/Agent URI (IPFS or HTTP). Required for Solana, optional for EVM (will upload to IPFS if not provided)',
28
+ },
29
+ collection: {
30
+ type: 'string',
31
+ description: 'Collection address/pubkey (Solana only, uses base registry if not provided)',
32
+ },
33
+ mcpEndpoint: {
34
+ type: 'string',
35
+ description: 'MCP server endpoint URL (EVM only)',
36
+ },
37
+ a2aEndpoint: {
38
+ type: 'string',
39
+ description: 'A2A agent card URL (EVM only)',
40
+ },
41
+ chain: {
42
+ type: 'string',
43
+ description: 'Chain to register on (sol, eth, base, etc.). Default: current chain',
44
+ },
45
+ skipSend: {
46
+ type: 'boolean',
47
+ description: 'If true, returns unsigned transaction instead of sending',
48
+ },
49
+ },
50
+ },
51
+ },
52
+ {
53
+ name: 'collection_create',
54
+ description: 'Create a new agent collection (Solana only). Collections group related agents.',
55
+ inputSchema: {
56
+ type: 'object',
57
+ properties: {
58
+ name: {
59
+ type: 'string',
60
+ description: 'Collection name',
61
+ },
62
+ uri: {
63
+ type: 'string',
64
+ description: 'Collection metadata URI (IPFS or HTTP)',
65
+ },
66
+ skipSend: {
67
+ type: 'boolean',
68
+ description: 'If true, returns unsigned transaction',
69
+ },
70
+ },
71
+ required: ['name', 'uri'],
72
+ },
73
+ },
74
+ ];
75
+ export const registrationHandlers = {
76
+ agent_register: async (args) => {
77
+ const input = getArgs(args);
78
+ const name = readString(input, 'name');
79
+ const description = readString(input, 'description');
80
+ const image = readString(input, 'image');
81
+ const tokenUri = readString(input, 'tokenUri');
82
+ const collection = readString(input, 'collection');
83
+ const mcpEndpoint = readString(input, 'mcpEndpoint');
84
+ const a2aEndpoint = readString(input, 'a2aEndpoint');
85
+ const { chainPrefix } = parseChainParam(input);
86
+ const skipSend = readBoolean(input, 'skipSend') ?? false;
87
+ // Determine which chain to use
88
+ const targetChain = chainPrefix || globalState.chains.getDefault()?.chainPrefix || 'sol';
89
+ if (targetChain === 'sol') {
90
+ return registerSolanaAgent({ tokenUri, collection, skipSend });
91
+ }
92
+ else {
93
+ if (skipSend) {
94
+ throw new Error('skipSend is not supported for EVM registration. Transactions are always sent.');
95
+ }
96
+ return registerEvmAgent({
97
+ name,
98
+ description,
99
+ image,
100
+ tokenUri,
101
+ mcpEndpoint,
102
+ a2aEndpoint,
103
+ chainPrefix: targetChain,
104
+ });
105
+ }
106
+ },
107
+ collection_create: async (args) => {
108
+ const input = getArgs(args);
109
+ const name = readString(input, 'name', true);
110
+ const uri = readString(input, 'uri', true);
111
+ const skipSend = readBoolean(input, 'skipSend') ?? false;
112
+ const provider = globalState.chains.getByPrefix('sol');
113
+ if (!provider) {
114
+ throw new Error('Solana provider not available');
115
+ }
116
+ if (!skipSend && !provider.canWrite()) {
117
+ throw new Error('Write operations require an unlocked wallet. Use wallet_create or wallet_unlock first.');
118
+ }
119
+ const sdk = provider.getState().getSdk();
120
+ const result = await sdk.createCollection(name, uri, { skipSend });
121
+ if (skipSend && 'transaction' in result) {
122
+ return successResponse({
123
+ unsigned: true,
124
+ transaction: String(result.transaction),
125
+ collection: result.collection?.toBase58(),
126
+ message: 'Sign this transaction to create your collection.',
127
+ });
128
+ }
129
+ return successResponse({
130
+ unsigned: false,
131
+ signature: 'signature' in result ? result.signature : undefined,
132
+ collection: result.collection?.toBase58(),
133
+ message: `Collection "${name}" created successfully.`,
134
+ });
135
+ },
136
+ };
137
+ // Solana agent registration
138
+ async function registerSolanaAgent(params) {
139
+ const { tokenUri, collection, skipSend } = params;
140
+ if (!tokenUri) {
141
+ throw new Error('tokenUri is required for Solana agent registration. Upload metadata to IPFS first using ipfs_add_registration.');
142
+ }
143
+ const provider = globalState.chains.getByPrefix('sol');
144
+ if (!provider) {
145
+ throw new Error('Solana provider not available');
146
+ }
147
+ if (!skipSend && !provider.canWrite()) {
148
+ throw new Error('Write operations require an unlocked wallet. Use wallet_create or wallet_unlock first.');
149
+ }
150
+ const sdk = provider.getState().getSdk();
151
+ // Parse collection if provided
152
+ const collectionPubkey = collection ? new PublicKey(collection) : undefined;
153
+ const result = await sdk.registerAgent(tokenUri, collectionPubkey, { skipSend });
154
+ if (skipSend && 'transaction' in result) {
155
+ return successResponse({
156
+ unsigned: true,
157
+ transaction: String(result.transaction),
158
+ agentId: result.asset?.toBase58(),
159
+ message: 'Sign this transaction to register your agent.',
160
+ });
161
+ }
162
+ return successResponse({
163
+ unsigned: false,
164
+ signature: 'signature' in result ? result.signature : undefined,
165
+ agentId: result.asset?.toBase58(),
166
+ globalId: result.asset ? `sol:${result.asset.toBase58()}` : undefined,
167
+ message: 'Agent registered successfully on Solana.',
168
+ explorer: result.asset
169
+ ? `https://explorer.solana.com/address/${result.asset.toBase58()}?cluster=devnet`
170
+ : undefined,
171
+ });
172
+ }
173
+ // EVM agent registration
174
+ // Note: EVM registration doesn't support skipSend - transactions are always sent
175
+ async function registerEvmAgent(params) {
176
+ const { name, description, image, tokenUri, mcpEndpoint, a2aEndpoint, chainPrefix } = params;
177
+ const provider = globalState.chains.getByPrefix(chainPrefix);
178
+ if (!provider) {
179
+ throw new Error(`EVM provider not available for chain: ${chainPrefix}`);
180
+ }
181
+ if (!provider.canWrite()) {
182
+ throw new Error('Write operations require an unlocked wallet. Use wallet_create or wallet_unlock first.');
183
+ }
184
+ const sdk = provider.getSdk();
185
+ // Create agent object
186
+ const agentName = name || 'Unnamed Agent';
187
+ const agentDescription = description || '';
188
+ const agent = sdk.createAgent(agentName, agentDescription, image);
189
+ // Set endpoints if provided
190
+ if (mcpEndpoint) {
191
+ await agent.setMCP(mcpEndpoint);
192
+ }
193
+ if (a2aEndpoint) {
194
+ await agent.setA2A(a2aEndpoint);
195
+ }
196
+ // Register on-chain
197
+ let registrationFile;
198
+ if (tokenUri) {
199
+ // Use provided URI (HTTP or IPFS)
200
+ registrationFile = await agent.registerHTTP(tokenUri);
201
+ }
202
+ else {
203
+ // Upload to IPFS and register
204
+ registrationFile = await agent.registerIPFS();
205
+ }
206
+ const agentId = agent.agentId;
207
+ const chainId = await sdk.chainId();
208
+ return successResponse({
209
+ unsigned: false,
210
+ agentId,
211
+ globalId: agentId ? `${chainPrefix}:${chainId}:${agentId}` : undefined,
212
+ name: agentName,
213
+ tokenUri: agent.agentURI,
214
+ message: `Agent registered successfully on ${chainPrefix}.`,
215
+ registrationFile,
216
+ });
217
+ }
218
+ // Backward compatibility aliases
219
+ export const registrationAliases = {
220
+ sdk_register_agent: 'agent_register',
221
+ sdk_create_collection: 'collection_create',
222
+ };
223
+ //# sourceMappingURL=registration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../src/tools/unified/registration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ export declare const reputationTools: Tool[];
3
+ export declare const reputationHandlers: Record<string, (args: unknown) => Promise<unknown>>;
4
+ export declare const reputationAliases: Record<string, string>;
5
+ //# sourceMappingURL=reputation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reputation.d.ts","sourceRoot":"","sources":["../../../src/tools/unified/reputation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAY/D,eAAO,MAAM,eAAe,EAAE,IAAI,EAgDjC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAoElF,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGpD,CAAC"}
@@ -0,0 +1,121 @@
1
+ // Unified reputation tools
2
+ import { getArgs, readString, readNumber, parseChainParam, parsePagination, } from '../../core/parsers/common.js';
3
+ import { successResponse } from '../../core/serializers/common.js';
4
+ import { globalState } from '../../state/global-state.js';
5
+ import { parseGlobalId, isValidGlobalId } from '../../core/interfaces/agent.js';
6
+ export const reputationTools = [
7
+ {
8
+ name: 'reputation_get',
9
+ description: 'Get reputation summary for an agent including trust tier, quality score, and feedback statistics',
10
+ inputSchema: {
11
+ type: 'object',
12
+ properties: {
13
+ id: {
14
+ type: 'string',
15
+ description: 'Agent ID (global or chain-specific)',
16
+ },
17
+ chain: {
18
+ type: 'string',
19
+ description: 'Chain to use (optional if using global ID)',
20
+ },
21
+ },
22
+ required: ['id'],
23
+ },
24
+ },
25
+ {
26
+ name: 'leaderboard_get',
27
+ description: 'Get top agents ranked by reputation score',
28
+ inputSchema: {
29
+ type: 'object',
30
+ properties: {
31
+ chain: {
32
+ type: 'string',
33
+ description: 'Chain to query (sol, base, all)',
34
+ },
35
+ collection: {
36
+ type: 'string',
37
+ description: 'Filter by collection',
38
+ },
39
+ minFeedbacks: {
40
+ type: 'number',
41
+ description: 'Minimum feedback count to qualify',
42
+ },
43
+ limit: {
44
+ type: 'number',
45
+ description: 'Max results (default: 20)',
46
+ },
47
+ offset: {
48
+ type: 'number',
49
+ description: 'Pagination offset',
50
+ },
51
+ },
52
+ },
53
+ },
54
+ ];
55
+ export const reputationHandlers = {
56
+ reputation_get: async (args) => {
57
+ const input = getArgs(args);
58
+ const agentId = readString(input, 'id', true);
59
+ const { chainPrefix } = parseChainParam(input);
60
+ let provider;
61
+ let rawId = agentId;
62
+ if (isValidGlobalId(agentId)) {
63
+ const parsed = parseGlobalId(agentId);
64
+ provider = globalState.chains.getByPrefix(parsed.prefix);
65
+ rawId = parsed.rawId;
66
+ }
67
+ else if (chainPrefix) {
68
+ provider = globalState.chains.getByPrefix(chainPrefix);
69
+ }
70
+ else {
71
+ provider = globalState.chains.getDefault();
72
+ }
73
+ if (!provider) {
74
+ throw new Error('No chain provider available');
75
+ }
76
+ const summary = await provider.getReputationSummary(rawId);
77
+ if (!summary) {
78
+ throw new Error(`Reputation data not found for agent: ${rawId}`);
79
+ }
80
+ return successResponse(summary);
81
+ },
82
+ leaderboard_get: async (args) => {
83
+ const input = getArgs(args);
84
+ const { chainPrefix } = parseChainParam(input);
85
+ const collection = readString(input, 'collection');
86
+ const minFeedbacks = readNumber(input, 'minFeedbacks');
87
+ const { limit, offset } = parsePagination(input);
88
+ // If specific chain requested
89
+ if (chainPrefix && chainPrefix !== 'all') {
90
+ const provider = globalState.chains.getByPrefix(chainPrefix);
91
+ if (provider && provider.getLeaderboard) {
92
+ const result = await provider.getLeaderboard({
93
+ collection,
94
+ minFeedbacks,
95
+ limit,
96
+ offset,
97
+ });
98
+ return successResponse(result);
99
+ }
100
+ return successResponse({ entries: [], total: 0, hasMore: false });
101
+ }
102
+ // Default to current chain
103
+ const provider = globalState.chains.getDefault();
104
+ if (!provider || !provider.getLeaderboard) {
105
+ return successResponse({ entries: [], total: 0, hasMore: false });
106
+ }
107
+ const result = await provider.getLeaderboard({
108
+ collection,
109
+ minFeedbacks,
110
+ limit,
111
+ offset,
112
+ });
113
+ return successResponse(result);
114
+ },
115
+ };
116
+ // Backward compatibility aliases
117
+ export const reputationAliases = {
118
+ sdk_get_reputation_summary: 'reputation_get',
119
+ sdk_get_leaderboard: 'leaderboard_get',
120
+ };
121
+ //# sourceMappingURL=reputation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reputation.js","sourceRoot":"","sources":["../../../src/tools/unified/reputation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ export declare const walletTools: Tool[];
3
+ export declare const walletHandlers: Record<string, (args: unknown) => Promise<unknown>>;
4
+ export declare const walletAliases: Record<string, string>;
5
+ //# sourceMappingURL=wallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/tools/unified/wallet.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AA2B/D,eAAO,MAAM,WAAW,EAAE,IAAI,EAmL7B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAsQ9E,CAAC;AAGF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGhD,CAAC"}