@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.
- package/LICENSE +21 -0
- package/README.md +370 -0
- package/dist/chains/evm/index.d.ts +2 -0
- package/dist/chains/evm/index.d.ts.map +1 -0
- package/dist/chains/evm/index.js +3 -0
- package/dist/chains/evm/index.js.map +1 -0
- package/dist/chains/evm/provider.d.ts +48 -0
- package/dist/chains/evm/provider.d.ts.map +1 -0
- package/dist/chains/evm/provider.js +446 -0
- package/dist/chains/evm/provider.js.map +1 -0
- package/dist/chains/index.d.ts +3 -0
- package/dist/chains/index.d.ts.map +1 -0
- package/dist/chains/index.js +4 -0
- package/dist/chains/index.js.map +1 -0
- package/dist/chains/solana/data-source.d.ts +17 -0
- package/dist/chains/solana/data-source.d.ts.map +1 -0
- package/dist/chains/solana/data-source.js +65 -0
- package/dist/chains/solana/data-source.js.map +1 -0
- package/dist/chains/solana/index.d.ts +8 -0
- package/dist/chains/solana/index.d.ts.map +1 -0
- package/dist/chains/solana/index.js +9 -0
- package/dist/chains/solana/index.js.map +1 -0
- package/dist/chains/solana/parsers.d.ts +11 -0
- package/dist/chains/solana/parsers.d.ts.map +1 -0
- package/dist/chains/solana/parsers.js +94 -0
- package/dist/chains/solana/parsers.js.map +1 -0
- package/dist/chains/solana/provider.d.ts +33 -0
- package/dist/chains/solana/provider.d.ts.map +1 -0
- package/dist/chains/solana/provider.js +407 -0
- package/dist/chains/solana/provider.js.map +1 -0
- package/dist/chains/solana/state.d.ts +55 -0
- package/dist/chains/solana/state.d.ts.map +1 -0
- package/dist/chains/solana/state.js +162 -0
- package/dist/chains/solana/state.js.map +1 -0
- package/dist/chains/solana/tools/atom.d.ts +45 -0
- package/dist/chains/solana/tools/atom.d.ts.map +1 -0
- package/dist/chains/solana/tools/atom.js +115 -0
- package/dist/chains/solana/tools/atom.js.map +1 -0
- package/dist/chains/solana/tools/validation.d.ts +45 -0
- package/dist/chains/solana/tools/validation.d.ts.map +1 -0
- package/dist/chains/solana/tools/validation.js +212 -0
- package/dist/chains/solana/tools/validation.js.map +1 -0
- package/dist/chains/solana/tools/wallet.d.ts +45 -0
- package/dist/chains/solana/tools/wallet.d.ts.map +1 -0
- package/dist/chains/solana/tools/wallet.js +103 -0
- package/dist/chains/solana/tools/wallet.js.map +1 -0
- package/dist/config/defaults.d.ts +68 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +247 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/env.d.ts +33 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/env.js +42 -0
- package/dist/config/env.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/core/cache/agent-cache.d.ts +36 -0
- package/dist/core/cache/agent-cache.d.ts.map +1 -0
- package/dist/core/cache/agent-cache.js +87 -0
- package/dist/core/cache/agent-cache.js.map +1 -0
- package/dist/core/cache/data-source.d.ts +31 -0
- package/dist/core/cache/data-source.d.ts.map +1 -0
- package/dist/core/cache/data-source.js +6 -0
- package/dist/core/cache/data-source.js.map +1 -0
- package/dist/core/cache/index.d.ts +7 -0
- package/dist/core/cache/index.d.ts.map +1 -0
- package/dist/core/cache/index.js +9 -0
- package/dist/core/cache/index.js.map +1 -0
- package/dist/core/cache/lazy-cache.d.ts +30 -0
- package/dist/core/cache/lazy-cache.d.ts.map +1 -0
- package/dist/core/cache/lazy-cache.js +79 -0
- package/dist/core/cache/lazy-cache.js.map +1 -0
- package/dist/core/cache/slim-store.d.ts +66 -0
- package/dist/core/cache/slim-store.d.ts.map +1 -0
- package/dist/core/cache/slim-store.js +285 -0
- package/dist/core/cache/slim-store.js.map +1 -0
- package/dist/core/cache/sqlite-store.d.ts +99 -0
- package/dist/core/cache/sqlite-store.d.ts.map +1 -0
- package/dist/core/cache/sqlite-store.js +470 -0
- package/dist/core/cache/sqlite-store.js.map +1 -0
- package/dist/core/cache/sync-manager.d.ts +38 -0
- package/dist/core/cache/sync-manager.d.ts.map +1 -0
- package/dist/core/cache/sync-manager.js +213 -0
- package/dist/core/cache/sync-manager.js.map +1 -0
- package/dist/core/errors/index.d.ts +2 -0
- package/dist/core/errors/index.d.ts.map +1 -0
- package/dist/core/errors/index.js +2 -0
- package/dist/core/errors/index.js.map +1 -0
- package/dist/core/errors/mcp-error.d.ts +39 -0
- package/dist/core/errors/mcp-error.d.ts.map +1 -0
- package/dist/core/errors/mcp-error.js +79 -0
- package/dist/core/errors/mcp-error.js.map +1 -0
- package/dist/core/interfaces/agent.d.ts +84 -0
- package/dist/core/interfaces/agent.d.ts.map +1 -0
- package/dist/core/interfaces/agent.js +40 -0
- package/dist/core/interfaces/agent.js.map +1 -0
- package/dist/core/interfaces/chain-provider.d.ts +50 -0
- package/dist/core/interfaces/chain-provider.d.ts.map +1 -0
- package/dist/core/interfaces/chain-provider.js +5 -0
- package/dist/core/interfaces/chain-provider.js.map +1 -0
- package/dist/core/interfaces/feedback.d.ts +46 -0
- package/dist/core/interfaces/feedback.d.ts.map +1 -0
- package/dist/core/interfaces/feedback.js +3 -0
- package/dist/core/interfaces/feedback.js.map +1 -0
- package/dist/core/interfaces/index.d.ts +6 -0
- package/dist/core/interfaces/index.d.ts.map +1 -0
- package/dist/core/interfaces/index.js +7 -0
- package/dist/core/interfaces/index.js.map +1 -0
- package/dist/core/interfaces/reputation.d.ts +47 -0
- package/dist/core/interfaces/reputation.d.ts.map +1 -0
- package/dist/core/interfaces/reputation.js +30 -0
- package/dist/core/interfaces/reputation.js.map +1 -0
- package/dist/core/interfaces/x402.d.ts +226 -0
- package/dist/core/interfaces/x402.d.ts.map +1 -0
- package/dist/core/interfaces/x402.js +120 -0
- package/dist/core/interfaces/x402.js.map +1 -0
- package/dist/core/parsers/common.d.ts +31 -0
- package/dist/core/parsers/common.d.ts.map +1 -0
- package/dist/core/parsers/common.js +185 -0
- package/dist/core/parsers/common.js.map +1 -0
- package/dist/core/parsers/index.d.ts +2 -0
- package/dist/core/parsers/index.d.ts.map +1 -0
- package/dist/core/parsers/index.js +2 -0
- package/dist/core/parsers/index.js.map +1 -0
- package/dist/core/registry/chain-registry.d.ts +26 -0
- package/dist/core/registry/chain-registry.d.ts.map +1 -0
- package/dist/core/registry/chain-registry.js +141 -0
- package/dist/core/registry/chain-registry.js.map +1 -0
- package/dist/core/registry/index.d.ts +3 -0
- package/dist/core/registry/index.d.ts.map +1 -0
- package/dist/core/registry/index.js +3 -0
- package/dist/core/registry/index.js.map +1 -0
- package/dist/core/registry/tool-registry.d.ts +23 -0
- package/dist/core/registry/tool-registry.d.ts.map +1 -0
- package/dist/core/registry/tool-registry.js +66 -0
- package/dist/core/registry/tool-registry.js.map +1 -0
- package/dist/core/serializers/common.d.ts +20 -0
- package/dist/core/serializers/common.d.ts.map +1 -0
- package/dist/core/serializers/common.js +76 -0
- package/dist/core/serializers/common.js.map +1 -0
- package/dist/core/serializers/index.d.ts +2 -0
- package/dist/core/serializers/index.d.ts.map +1 -0
- package/dist/core/serializers/index.js +2 -0
- package/dist/core/serializers/index.js.map +1 -0
- package/dist/core/services/index.d.ts +3 -0
- package/dist/core/services/index.d.ts.map +1 -0
- package/dist/core/services/index.js +3 -0
- package/dist/core/services/index.js.map +1 -0
- package/dist/core/services/ipfs-service.d.ts +59 -0
- package/dist/core/services/ipfs-service.d.ts.map +1 -0
- package/dist/core/services/ipfs-service.js +84 -0
- package/dist/core/services/ipfs-service.js.map +1 -0
- package/dist/core/utils/tags.d.ts +38 -0
- package/dist/core/utils/tags.d.ts.map +1 -0
- package/dist/core/utils/tags.js +77 -0
- package/dist/core/utils/tags.js.map +1 -0
- package/dist/core/utils/value-encoding.d.ts +36 -0
- package/dist/core/utils/value-encoding.d.ts.map +1 -0
- package/dist/core/utils/value-encoding.js +196 -0
- package/dist/core/utils/value-encoding.js.map +1 -0
- package/dist/core/wallet/index.d.ts +2 -0
- package/dist/core/wallet/index.d.ts.map +1 -0
- package/dist/core/wallet/index.js +3 -0
- package/dist/core/wallet/index.js.map +1 -0
- package/dist/core/wallet/wallet-manager.d.ts +86 -0
- package/dist/core/wallet/wallet-manager.d.ts.map +1 -0
- package/dist/core/wallet/wallet-manager.js +783 -0
- package/dist/core/wallet/wallet-manager.js.map +1 -0
- package/dist/core/x402/index.d.ts +2 -0
- package/dist/core/x402/index.d.ts.map +1 -0
- package/dist/core/x402/index.js +3 -0
- package/dist/core/x402/index.js.map +1 -0
- package/dist/core/x402/proof-validator.d.ts +57 -0
- package/dist/core/x402/proof-validator.d.ts.map +1 -0
- package/dist/core/x402/proof-validator.js +103 -0
- package/dist/core/x402/proof-validator.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +135 -0
- package/dist/index.js.map +1 -0
- package/dist/state/global-state.d.ts +98 -0
- package/dist/state/global-state.d.ts.map +1 -0
- package/dist/state/global-state.js +258 -0
- package/dist/state/global-state.js.map +1 -0
- package/dist/tools/definitions.d.ts +10 -0
- package/dist/tools/definitions.d.ts.map +1 -0
- package/dist/tools/definitions.js +163 -0
- package/dist/tools/definitions.js.map +1 -0
- package/dist/tools/unified/agent.d.ts +5 -0
- package/dist/tools/unified/agent.d.ts.map +1 -0
- package/dist/tools/unified/agent.js +300 -0
- package/dist/tools/unified/agent.js.map +1 -0
- package/dist/tools/unified/cache.d.ts +5 -0
- package/dist/tools/unified/cache.d.ts.map +1 -0
- package/dist/tools/unified/cache.js +207 -0
- package/dist/tools/unified/cache.js.map +1 -0
- package/dist/tools/unified/collection.d.ts +5 -0
- package/dist/tools/unified/collection.d.ts.map +1 -0
- package/dist/tools/unified/collection.js +162 -0
- package/dist/tools/unified/collection.js.map +1 -0
- package/dist/tools/unified/config.d.ts +5 -0
- package/dist/tools/unified/config.d.ts.map +1 -0
- package/dist/tools/unified/config.js +217 -0
- package/dist/tools/unified/config.js.map +1 -0
- package/dist/tools/unified/crawler.d.ts +5 -0
- package/dist/tools/unified/crawler.d.ts.map +1 -0
- package/dist/tools/unified/crawler.js +212 -0
- package/dist/tools/unified/crawler.js.map +1 -0
- package/dist/tools/unified/feedback.d.ts +5 -0
- package/dist/tools/unified/feedback.d.ts.map +1 -0
- package/dist/tools/unified/feedback.js +274 -0
- package/dist/tools/unified/feedback.js.map +1 -0
- package/dist/tools/unified/ipfs.d.ts +5 -0
- package/dist/tools/unified/ipfs.d.ts.map +1 -0
- package/dist/tools/unified/ipfs.js +156 -0
- package/dist/tools/unified/ipfs.js.map +1 -0
- package/dist/tools/unified/oasf.d.ts +5 -0
- package/dist/tools/unified/oasf.d.ts.map +1 -0
- package/dist/tools/unified/oasf.js +167 -0
- package/dist/tools/unified/oasf.js.map +1 -0
- package/dist/tools/unified/registration.d.ts +5 -0
- package/dist/tools/unified/registration.d.ts.map +1 -0
- package/dist/tools/unified/registration.js +223 -0
- package/dist/tools/unified/registration.js.map +1 -0
- package/dist/tools/unified/reputation.d.ts +5 -0
- package/dist/tools/unified/reputation.d.ts.map +1 -0
- package/dist/tools/unified/reputation.js +121 -0
- package/dist/tools/unified/reputation.js.map +1 -0
- package/dist/tools/unified/wallet.d.ts +5 -0
- package/dist/tools/unified/wallet.d.ts.map +1 -0
- package/dist/tools/unified/wallet.js +434 -0
- package/dist/tools/unified/wallet.js.map +1 -0
- package/dist/tools/unified/write-operations.d.ts +5 -0
- package/dist/tools/unified/write-operations.d.ts.map +1 -0
- package/dist/tools/unified/write-operations.js +582 -0
- package/dist/tools/unified/write-operations.js.map +1 -0
- package/dist/tools/unified/x402.d.ts +5 -0
- package/dist/tools/unified/x402.d.ts.map +1 -0
- package/dist/tools/unified/x402.js +594 -0
- package/dist/tools/unified/x402.js.map +1 -0
- 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"}
|