@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,582 @@
|
|
|
1
|
+
// Additional write operation tools (transfer, revoke, update, etc.)
|
|
2
|
+
import { PublicKey } from '@solana/web3.js';
|
|
3
|
+
import { getArgs, readString, readNumber, readBoolean, parseChainParam, parseBuffer, } from '../../core/parsers/common.js';
|
|
4
|
+
import { successResponse } from '../../core/serializers/common.js';
|
|
5
|
+
import { globalState } from '../../state/global-state.js';
|
|
6
|
+
import { parseGlobalId, isValidGlobalId } from '../../core/interfaces/agent.js';
|
|
7
|
+
export const writeOperationTools = [
|
|
8
|
+
// Agent Transfer
|
|
9
|
+
{
|
|
10
|
+
name: 'agent_transfer',
|
|
11
|
+
description: 'Transfer agent ownership to a new address',
|
|
12
|
+
inputSchema: {
|
|
13
|
+
type: 'object',
|
|
14
|
+
properties: {
|
|
15
|
+
id: {
|
|
16
|
+
type: 'string',
|
|
17
|
+
description: 'Agent ID (global format or chain-specific)',
|
|
18
|
+
},
|
|
19
|
+
newOwner: {
|
|
20
|
+
type: 'string',
|
|
21
|
+
description: 'New owner address (PublicKey for Solana, 0x address for EVM)',
|
|
22
|
+
},
|
|
23
|
+
collection: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
description: 'Collection address (Solana only, required)',
|
|
26
|
+
},
|
|
27
|
+
chain: {
|
|
28
|
+
type: 'string',
|
|
29
|
+
description: 'Chain prefix (sol, eth, base)',
|
|
30
|
+
},
|
|
31
|
+
skipSend: {
|
|
32
|
+
type: 'boolean',
|
|
33
|
+
description: 'If true, returns unsigned transaction (Solana only)',
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
required: ['id', 'newOwner'],
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
// Agent URI Update
|
|
40
|
+
{
|
|
41
|
+
name: 'agent_uri_update',
|
|
42
|
+
description: 'Update agent metadata URI',
|
|
43
|
+
inputSchema: {
|
|
44
|
+
type: 'object',
|
|
45
|
+
properties: {
|
|
46
|
+
id: {
|
|
47
|
+
type: 'string',
|
|
48
|
+
description: 'Agent ID',
|
|
49
|
+
},
|
|
50
|
+
newUri: {
|
|
51
|
+
type: 'string',
|
|
52
|
+
description: 'New metadata URI (IPFS or HTTP)',
|
|
53
|
+
},
|
|
54
|
+
collection: {
|
|
55
|
+
type: 'string',
|
|
56
|
+
description: 'Collection address (Solana only)',
|
|
57
|
+
},
|
|
58
|
+
chain: {
|
|
59
|
+
type: 'string',
|
|
60
|
+
description: 'Chain prefix',
|
|
61
|
+
},
|
|
62
|
+
skipSend: {
|
|
63
|
+
type: 'boolean',
|
|
64
|
+
description: 'If true, returns unsigned transaction (Solana only)',
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
required: ['id', 'newUri'],
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
// Collection URI Update (Solana only)
|
|
71
|
+
{
|
|
72
|
+
name: 'collection_uri_update',
|
|
73
|
+
description: 'Update collection metadata URI (Solana only)',
|
|
74
|
+
inputSchema: {
|
|
75
|
+
type: 'object',
|
|
76
|
+
properties: {
|
|
77
|
+
collection: {
|
|
78
|
+
type: 'string',
|
|
79
|
+
description: 'Collection address (PublicKey)',
|
|
80
|
+
},
|
|
81
|
+
newUri: {
|
|
82
|
+
type: 'string',
|
|
83
|
+
description: 'New metadata URI',
|
|
84
|
+
},
|
|
85
|
+
skipSend: {
|
|
86
|
+
type: 'boolean',
|
|
87
|
+
description: 'If true, returns unsigned transaction',
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
required: ['collection', 'newUri'],
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
// Agent Metadata Set (Solana only)
|
|
94
|
+
{
|
|
95
|
+
name: 'agent_metadata_set',
|
|
96
|
+
description: 'Set on-chain metadata key-value pair for an agent (Solana only)',
|
|
97
|
+
inputSchema: {
|
|
98
|
+
type: 'object',
|
|
99
|
+
properties: {
|
|
100
|
+
id: {
|
|
101
|
+
type: 'string',
|
|
102
|
+
description: 'Agent ID (PublicKey)',
|
|
103
|
+
},
|
|
104
|
+
key: {
|
|
105
|
+
type: 'string',
|
|
106
|
+
description: 'Metadata key',
|
|
107
|
+
},
|
|
108
|
+
value: {
|
|
109
|
+
type: 'string',
|
|
110
|
+
description: 'Metadata value',
|
|
111
|
+
},
|
|
112
|
+
immutable: {
|
|
113
|
+
type: 'boolean',
|
|
114
|
+
description: 'If true, this key cannot be changed later',
|
|
115
|
+
},
|
|
116
|
+
skipSend: {
|
|
117
|
+
type: 'boolean',
|
|
118
|
+
description: 'If true, returns unsigned transaction',
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
required: ['id', 'key', 'value'],
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
// Feedback Revoke
|
|
125
|
+
{
|
|
126
|
+
name: 'feedback_revoke',
|
|
127
|
+
description: 'Revoke a previously given feedback',
|
|
128
|
+
inputSchema: {
|
|
129
|
+
type: 'object',
|
|
130
|
+
properties: {
|
|
131
|
+
id: {
|
|
132
|
+
type: 'string',
|
|
133
|
+
description: 'Agent ID',
|
|
134
|
+
},
|
|
135
|
+
feedbackIndex: {
|
|
136
|
+
type: 'number',
|
|
137
|
+
description: 'Index of the feedback to revoke',
|
|
138
|
+
},
|
|
139
|
+
chain: {
|
|
140
|
+
type: 'string',
|
|
141
|
+
description: 'Chain prefix',
|
|
142
|
+
},
|
|
143
|
+
skipSend: {
|
|
144
|
+
type: 'boolean',
|
|
145
|
+
description: 'If true, returns unsigned transaction (Solana only)',
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
required: ['id', 'feedbackIndex'],
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
// Feedback Response Append
|
|
152
|
+
{
|
|
153
|
+
name: 'feedback_response_append',
|
|
154
|
+
description: 'Append a response to an existing feedback (as agent owner)',
|
|
155
|
+
inputSchema: {
|
|
156
|
+
type: 'object',
|
|
157
|
+
properties: {
|
|
158
|
+
id: {
|
|
159
|
+
type: 'string',
|
|
160
|
+
description: 'Agent ID',
|
|
161
|
+
},
|
|
162
|
+
client: {
|
|
163
|
+
type: 'string',
|
|
164
|
+
description: 'Client address who gave the feedback',
|
|
165
|
+
},
|
|
166
|
+
feedbackIndex: {
|
|
167
|
+
type: 'number',
|
|
168
|
+
description: 'Index of the feedback',
|
|
169
|
+
},
|
|
170
|
+
responseUri: {
|
|
171
|
+
type: 'string',
|
|
172
|
+
description: 'Response URI (IPFS or HTTP)',
|
|
173
|
+
},
|
|
174
|
+
responseHash: {
|
|
175
|
+
type: 'string',
|
|
176
|
+
description: 'Response hash (optional, base64 or hex)',
|
|
177
|
+
},
|
|
178
|
+
chain: {
|
|
179
|
+
type: 'string',
|
|
180
|
+
description: 'Chain prefix',
|
|
181
|
+
},
|
|
182
|
+
skipSend: {
|
|
183
|
+
type: 'boolean',
|
|
184
|
+
description: 'If true, returns unsigned transaction (Solana only)',
|
|
185
|
+
},
|
|
186
|
+
},
|
|
187
|
+
required: ['id', 'client', 'feedbackIndex', 'responseUri'],
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
// EVM Agent Wallet Set
|
|
191
|
+
{
|
|
192
|
+
name: 'evm_agent_wallet_set',
|
|
193
|
+
description: 'Set operational wallet for an EVM agent (EIP-712 signature)',
|
|
194
|
+
inputSchema: {
|
|
195
|
+
type: 'object',
|
|
196
|
+
properties: {
|
|
197
|
+
id: {
|
|
198
|
+
type: 'string',
|
|
199
|
+
description: 'Agent ID (tokenId or chainId:tokenId)',
|
|
200
|
+
},
|
|
201
|
+
newWallet: {
|
|
202
|
+
type: 'string',
|
|
203
|
+
description: 'New wallet address (0x...)',
|
|
204
|
+
},
|
|
205
|
+
chain: {
|
|
206
|
+
type: 'string',
|
|
207
|
+
description: 'Chain prefix (eth, base, etc.)',
|
|
208
|
+
},
|
|
209
|
+
},
|
|
210
|
+
required: ['id', 'newWallet'],
|
|
211
|
+
},
|
|
212
|
+
},
|
|
213
|
+
// EVM Agent Wallet Unset
|
|
214
|
+
{
|
|
215
|
+
name: 'evm_agent_wallet_unset',
|
|
216
|
+
description: 'Remove operational wallet from an EVM agent',
|
|
217
|
+
inputSchema: {
|
|
218
|
+
type: 'object',
|
|
219
|
+
properties: {
|
|
220
|
+
id: {
|
|
221
|
+
type: 'string',
|
|
222
|
+
description: 'Agent ID',
|
|
223
|
+
},
|
|
224
|
+
chain: {
|
|
225
|
+
type: 'string',
|
|
226
|
+
description: 'Chain prefix',
|
|
227
|
+
},
|
|
228
|
+
},
|
|
229
|
+
required: ['id'],
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
];
|
|
233
|
+
export const writeOperationHandlers = {
|
|
234
|
+
// Agent Transfer
|
|
235
|
+
agent_transfer: async (args) => {
|
|
236
|
+
const input = getArgs(args);
|
|
237
|
+
const id = readString(input, 'id', true);
|
|
238
|
+
const newOwner = readString(input, 'newOwner', true);
|
|
239
|
+
const collection = readString(input, 'collection');
|
|
240
|
+
const { chainPrefix } = parseChainParam(input);
|
|
241
|
+
const skipSend = readBoolean(input, 'skipSend') ?? false;
|
|
242
|
+
// Determine chain
|
|
243
|
+
let targetChain = chainPrefix;
|
|
244
|
+
let rawId = id;
|
|
245
|
+
if (isValidGlobalId(id)) {
|
|
246
|
+
const parsed = parseGlobalId(id);
|
|
247
|
+
targetChain = parsed.prefix;
|
|
248
|
+
rawId = parsed.rawId;
|
|
249
|
+
}
|
|
250
|
+
targetChain = targetChain || globalState.chains.getDefault()?.chainPrefix || 'sol';
|
|
251
|
+
if (targetChain === 'sol') {
|
|
252
|
+
const provider = globalState.chains.getByPrefix('sol');
|
|
253
|
+
if (!provider)
|
|
254
|
+
throw new Error('Solana provider not available');
|
|
255
|
+
if (!skipSend && !provider.canWrite()) {
|
|
256
|
+
throw new Error('Write operations require an unlocked wallet');
|
|
257
|
+
}
|
|
258
|
+
if (!collection) {
|
|
259
|
+
throw new Error('collection is required for Solana agent transfer');
|
|
260
|
+
}
|
|
261
|
+
const sdk = provider.getState().getSdk();
|
|
262
|
+
const assetPubkey = new PublicKey(rawId);
|
|
263
|
+
const collectionPubkey = new PublicKey(collection);
|
|
264
|
+
const newOwnerPubkey = new PublicKey(newOwner);
|
|
265
|
+
const result = await sdk.transferAgent(assetPubkey, collectionPubkey, newOwnerPubkey, { skipSend });
|
|
266
|
+
if (skipSend && 'transaction' in result) {
|
|
267
|
+
return successResponse({
|
|
268
|
+
unsigned: true,
|
|
269
|
+
transaction: String(result.transaction),
|
|
270
|
+
message: 'Sign this transaction to transfer the agent.',
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
return successResponse({
|
|
274
|
+
unsigned: false,
|
|
275
|
+
signature: 'signature' in result ? result.signature : undefined,
|
|
276
|
+
message: `Agent transferred to ${newOwner}`,
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
// EVM
|
|
281
|
+
const provider = globalState.chains.getByPrefix(targetChain);
|
|
282
|
+
if (!provider)
|
|
283
|
+
throw new Error(`EVM provider not available for chain: ${targetChain}`);
|
|
284
|
+
if (!provider.canWrite()) {
|
|
285
|
+
throw new Error('Write operations require an unlocked wallet');
|
|
286
|
+
}
|
|
287
|
+
const sdk = provider.getSdk();
|
|
288
|
+
const result = await sdk.transferAgent(rawId, newOwner);
|
|
289
|
+
return successResponse({
|
|
290
|
+
unsigned: false,
|
|
291
|
+
txHash: result.hash,
|
|
292
|
+
message: `Agent transferred to ${newOwner}`,
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
},
|
|
296
|
+
// Agent URI Update
|
|
297
|
+
agent_uri_update: async (args) => {
|
|
298
|
+
const input = getArgs(args);
|
|
299
|
+
const id = readString(input, 'id', true);
|
|
300
|
+
const newUri = readString(input, 'newUri', true);
|
|
301
|
+
const collection = readString(input, 'collection');
|
|
302
|
+
const { chainPrefix } = parseChainParam(input);
|
|
303
|
+
const skipSend = readBoolean(input, 'skipSend') ?? false;
|
|
304
|
+
let targetChain = chainPrefix;
|
|
305
|
+
let rawId = id;
|
|
306
|
+
if (isValidGlobalId(id)) {
|
|
307
|
+
const parsed = parseGlobalId(id);
|
|
308
|
+
targetChain = parsed.prefix;
|
|
309
|
+
rawId = parsed.rawId;
|
|
310
|
+
}
|
|
311
|
+
targetChain = targetChain || globalState.chains.getDefault()?.chainPrefix || 'sol';
|
|
312
|
+
if (targetChain === 'sol') {
|
|
313
|
+
const provider = globalState.chains.getByPrefix('sol');
|
|
314
|
+
if (!provider)
|
|
315
|
+
throw new Error('Solana provider not available');
|
|
316
|
+
if (!skipSend && !provider.canWrite()) {
|
|
317
|
+
throw new Error('Write operations require an unlocked wallet');
|
|
318
|
+
}
|
|
319
|
+
if (!collection) {
|
|
320
|
+
throw new Error('collection is required for Solana agent URI update');
|
|
321
|
+
}
|
|
322
|
+
const sdk = provider.getState().getSdk();
|
|
323
|
+
const assetPubkey = new PublicKey(rawId);
|
|
324
|
+
const collectionPubkey = new PublicKey(collection);
|
|
325
|
+
const result = await sdk.setAgentUri(assetPubkey, collectionPubkey, newUri, { skipSend });
|
|
326
|
+
if (skipSend && 'transaction' in result) {
|
|
327
|
+
return successResponse({
|
|
328
|
+
unsigned: true,
|
|
329
|
+
transaction: String(result.transaction),
|
|
330
|
+
message: 'Sign this transaction to update the agent URI.',
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
return successResponse({
|
|
334
|
+
unsigned: false,
|
|
335
|
+
signature: 'signature' in result ? result.signature : undefined,
|
|
336
|
+
message: `Agent URI updated to ${newUri}`,
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
// EVM - need to load agent and call setAgentURI
|
|
341
|
+
const provider = globalState.chains.getByPrefix(targetChain);
|
|
342
|
+
if (!provider)
|
|
343
|
+
throw new Error(`EVM provider not available for chain: ${targetChain}`);
|
|
344
|
+
if (!provider.canWrite()) {
|
|
345
|
+
throw new Error('Write operations require an unlocked wallet');
|
|
346
|
+
}
|
|
347
|
+
const sdk = provider.getSdk();
|
|
348
|
+
const agent = await sdk.loadAgent(rawId);
|
|
349
|
+
await agent.setAgentURI(newUri);
|
|
350
|
+
return successResponse({
|
|
351
|
+
unsigned: false,
|
|
352
|
+
message: `Agent URI updated to ${newUri}`,
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
},
|
|
356
|
+
// Collection URI Update (Solana only)
|
|
357
|
+
collection_uri_update: async (args) => {
|
|
358
|
+
const input = getArgs(args);
|
|
359
|
+
const collection = readString(input, 'collection', true);
|
|
360
|
+
const newUri = readString(input, 'newUri', true);
|
|
361
|
+
const skipSend = readBoolean(input, 'skipSend') ?? false;
|
|
362
|
+
const provider = globalState.chains.getByPrefix('sol');
|
|
363
|
+
if (!provider)
|
|
364
|
+
throw new Error('Solana provider not available');
|
|
365
|
+
if (!skipSend && !provider.canWrite()) {
|
|
366
|
+
throw new Error('Write operations require an unlocked wallet');
|
|
367
|
+
}
|
|
368
|
+
const sdk = provider.getState().getSdk();
|
|
369
|
+
const collectionPubkey = new PublicKey(collection);
|
|
370
|
+
const result = await sdk.updateCollectionUri(collectionPubkey, newUri, { skipSend });
|
|
371
|
+
if (skipSend && 'transaction' in result) {
|
|
372
|
+
return successResponse({
|
|
373
|
+
unsigned: true,
|
|
374
|
+
transaction: String(result.transaction),
|
|
375
|
+
message: 'Sign this transaction to update the collection URI.',
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
return successResponse({
|
|
379
|
+
unsigned: false,
|
|
380
|
+
signature: 'signature' in result ? result.signature : undefined,
|
|
381
|
+
message: `Collection URI updated to ${newUri}`,
|
|
382
|
+
});
|
|
383
|
+
},
|
|
384
|
+
// Agent Metadata Set (Solana only)
|
|
385
|
+
agent_metadata_set: async (args) => {
|
|
386
|
+
const input = getArgs(args);
|
|
387
|
+
const id = readString(input, 'id', true);
|
|
388
|
+
const key = readString(input, 'key', true);
|
|
389
|
+
const value = readString(input, 'value', true);
|
|
390
|
+
const immutable = readBoolean(input, 'immutable') ?? false;
|
|
391
|
+
const skipSend = readBoolean(input, 'skipSend') ?? false;
|
|
392
|
+
const provider = globalState.chains.getByPrefix('sol');
|
|
393
|
+
if (!provider)
|
|
394
|
+
throw new Error('Solana provider not available');
|
|
395
|
+
if (!skipSend && !provider.canWrite()) {
|
|
396
|
+
throw new Error('Write operations require an unlocked wallet');
|
|
397
|
+
}
|
|
398
|
+
const sdk = provider.getState().getSdk();
|
|
399
|
+
const assetPubkey = new PublicKey(id);
|
|
400
|
+
const result = await sdk.setMetadata(assetPubkey, key, value, immutable, { skipSend });
|
|
401
|
+
if (skipSend && 'transaction' in result) {
|
|
402
|
+
return successResponse({
|
|
403
|
+
unsigned: true,
|
|
404
|
+
transaction: String(result.transaction),
|
|
405
|
+
message: 'Sign this transaction to set metadata.',
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
return successResponse({
|
|
409
|
+
unsigned: false,
|
|
410
|
+
signature: 'signature' in result ? result.signature : undefined,
|
|
411
|
+
message: `Metadata set: ${key}=${value}${immutable ? ' (immutable)' : ''}`,
|
|
412
|
+
});
|
|
413
|
+
},
|
|
414
|
+
// Feedback Revoke
|
|
415
|
+
feedback_revoke: async (args) => {
|
|
416
|
+
const input = getArgs(args);
|
|
417
|
+
const id = readString(input, 'id', true);
|
|
418
|
+
const feedbackIndex = readNumber(input, 'feedbackIndex', true);
|
|
419
|
+
const { chainPrefix } = parseChainParam(input);
|
|
420
|
+
const skipSend = readBoolean(input, 'skipSend') ?? false;
|
|
421
|
+
let targetChain = chainPrefix;
|
|
422
|
+
let rawId = id;
|
|
423
|
+
if (isValidGlobalId(id)) {
|
|
424
|
+
const parsed = parseGlobalId(id);
|
|
425
|
+
targetChain = parsed.prefix;
|
|
426
|
+
rawId = parsed.rawId;
|
|
427
|
+
}
|
|
428
|
+
targetChain = targetChain || globalState.chains.getDefault()?.chainPrefix || 'sol';
|
|
429
|
+
if (targetChain === 'sol') {
|
|
430
|
+
const provider = globalState.chains.getByPrefix('sol');
|
|
431
|
+
if (!provider)
|
|
432
|
+
throw new Error('Solana provider not available');
|
|
433
|
+
if (!skipSend && !provider.canWrite()) {
|
|
434
|
+
throw new Error('Write operations require an unlocked wallet');
|
|
435
|
+
}
|
|
436
|
+
const sdk = provider.getState().getSdk();
|
|
437
|
+
const assetPubkey = new PublicKey(rawId);
|
|
438
|
+
const result = await sdk.revokeFeedback(assetPubkey, feedbackIndex, { skipSend });
|
|
439
|
+
if (skipSend && 'transaction' in result) {
|
|
440
|
+
return successResponse({
|
|
441
|
+
unsigned: true,
|
|
442
|
+
transaction: String(result.transaction),
|
|
443
|
+
message: 'Sign this transaction to revoke feedback.',
|
|
444
|
+
});
|
|
445
|
+
}
|
|
446
|
+
return successResponse({
|
|
447
|
+
unsigned: false,
|
|
448
|
+
signature: 'signature' in result ? result.signature : undefined,
|
|
449
|
+
message: `Feedback #${feedbackIndex} revoked`,
|
|
450
|
+
});
|
|
451
|
+
}
|
|
452
|
+
else {
|
|
453
|
+
// EVM
|
|
454
|
+
const provider = globalState.chains.getByPrefix(targetChain);
|
|
455
|
+
if (!provider)
|
|
456
|
+
throw new Error(`EVM provider not available for chain: ${targetChain}`);
|
|
457
|
+
if (!provider.canWrite()) {
|
|
458
|
+
throw new Error('Write operations require an unlocked wallet');
|
|
459
|
+
}
|
|
460
|
+
const sdk = provider.getSdk();
|
|
461
|
+
const txHash = await sdk.revokeFeedback(rawId, feedbackIndex);
|
|
462
|
+
return successResponse({
|
|
463
|
+
unsigned: false,
|
|
464
|
+
txHash,
|
|
465
|
+
message: `Feedback #${feedbackIndex} revoked`,
|
|
466
|
+
});
|
|
467
|
+
}
|
|
468
|
+
},
|
|
469
|
+
// Feedback Response Append
|
|
470
|
+
feedback_response_append: async (args) => {
|
|
471
|
+
const input = getArgs(args);
|
|
472
|
+
const id = readString(input, 'id', true);
|
|
473
|
+
const client = readString(input, 'client', true);
|
|
474
|
+
const feedbackIndex = readNumber(input, 'feedbackIndex', true);
|
|
475
|
+
const responseUri = readString(input, 'responseUri', true);
|
|
476
|
+
const responseHashStr = readString(input, 'responseHash');
|
|
477
|
+
const { chainPrefix } = parseChainParam(input);
|
|
478
|
+
const skipSend = readBoolean(input, 'skipSend') ?? false;
|
|
479
|
+
let targetChain = chainPrefix;
|
|
480
|
+
let rawId = id;
|
|
481
|
+
if (isValidGlobalId(id)) {
|
|
482
|
+
const parsed = parseGlobalId(id);
|
|
483
|
+
targetChain = parsed.prefix;
|
|
484
|
+
rawId = parsed.rawId;
|
|
485
|
+
}
|
|
486
|
+
targetChain = targetChain || globalState.chains.getDefault()?.chainPrefix || 'sol';
|
|
487
|
+
if (targetChain === 'sol') {
|
|
488
|
+
const provider = globalState.chains.getByPrefix('sol');
|
|
489
|
+
if (!provider)
|
|
490
|
+
throw new Error('Solana provider not available');
|
|
491
|
+
if (!skipSend && !provider.canWrite()) {
|
|
492
|
+
throw new Error('Write operations require an unlocked wallet');
|
|
493
|
+
}
|
|
494
|
+
const sdk = provider.getState().getSdk();
|
|
495
|
+
const assetPubkey = new PublicKey(rawId);
|
|
496
|
+
const clientPubkey = new PublicKey(client);
|
|
497
|
+
const responseHash = responseHashStr ? parseBuffer(responseHashStr, 'responseHash') : undefined;
|
|
498
|
+
const result = await sdk.appendResponse(assetPubkey, clientPubkey, feedbackIndex, responseUri, responseHash, { skipSend });
|
|
499
|
+
if (skipSend && 'transaction' in result) {
|
|
500
|
+
return successResponse({
|
|
501
|
+
unsigned: true,
|
|
502
|
+
transaction: String(result.transaction),
|
|
503
|
+
message: 'Sign this transaction to append response.',
|
|
504
|
+
});
|
|
505
|
+
}
|
|
506
|
+
return successResponse({
|
|
507
|
+
unsigned: false,
|
|
508
|
+
signature: 'signature' in result ? result.signature : undefined,
|
|
509
|
+
message: `Response appended to feedback #${feedbackIndex}`,
|
|
510
|
+
});
|
|
511
|
+
}
|
|
512
|
+
else {
|
|
513
|
+
// EVM
|
|
514
|
+
const provider = globalState.chains.getByPrefix(targetChain);
|
|
515
|
+
if (!provider)
|
|
516
|
+
throw new Error(`EVM provider not available for chain: ${targetChain}`);
|
|
517
|
+
if (!provider.canWrite()) {
|
|
518
|
+
throw new Error('Write operations require an unlocked wallet');
|
|
519
|
+
}
|
|
520
|
+
const sdk = provider.getSdk();
|
|
521
|
+
const txHash = await sdk.appendResponse(rawId, client, feedbackIndex, { uri: responseUri, hash: responseHashStr || '' });
|
|
522
|
+
return successResponse({
|
|
523
|
+
unsigned: false,
|
|
524
|
+
txHash,
|
|
525
|
+
message: `Response appended to feedback #${feedbackIndex}`,
|
|
526
|
+
});
|
|
527
|
+
}
|
|
528
|
+
},
|
|
529
|
+
// EVM Agent Wallet Set
|
|
530
|
+
evm_agent_wallet_set: async (args) => {
|
|
531
|
+
const input = getArgs(args);
|
|
532
|
+
const id = readString(input, 'id', true);
|
|
533
|
+
const newWallet = readString(input, 'newWallet', true);
|
|
534
|
+
const { chainPrefix } = parseChainParam(input);
|
|
535
|
+
const targetChain = chainPrefix || 'eth';
|
|
536
|
+
const provider = globalState.chains.getByPrefix(targetChain);
|
|
537
|
+
if (!provider)
|
|
538
|
+
throw new Error(`EVM provider not available for chain: ${targetChain}`);
|
|
539
|
+
if (!provider.canWrite()) {
|
|
540
|
+
throw new Error('Write operations require an unlocked wallet');
|
|
541
|
+
}
|
|
542
|
+
const sdk = provider.getSdk();
|
|
543
|
+
const agent = await sdk.loadAgent(id);
|
|
544
|
+
const txHash = await agent.setWallet(newWallet);
|
|
545
|
+
return successResponse({
|
|
546
|
+
unsigned: false,
|
|
547
|
+
txHash,
|
|
548
|
+
message: `Agent wallet set to ${newWallet}`,
|
|
549
|
+
});
|
|
550
|
+
},
|
|
551
|
+
// EVM Agent Wallet Unset
|
|
552
|
+
evm_agent_wallet_unset: async (args) => {
|
|
553
|
+
const input = getArgs(args);
|
|
554
|
+
const id = readString(input, 'id', true);
|
|
555
|
+
const { chainPrefix } = parseChainParam(input);
|
|
556
|
+
const targetChain = chainPrefix || 'eth';
|
|
557
|
+
const provider = globalState.chains.getByPrefix(targetChain);
|
|
558
|
+
if (!provider)
|
|
559
|
+
throw new Error(`EVM provider not available for chain: ${targetChain}`);
|
|
560
|
+
if (!provider.canWrite()) {
|
|
561
|
+
throw new Error('Write operations require an unlocked wallet');
|
|
562
|
+
}
|
|
563
|
+
const sdk = provider.getSdk();
|
|
564
|
+
const agent = await sdk.loadAgent(id);
|
|
565
|
+
const txHash = await agent.unsetWallet();
|
|
566
|
+
return successResponse({
|
|
567
|
+
unsigned: false,
|
|
568
|
+
txHash,
|
|
569
|
+
message: 'Agent wallet unset',
|
|
570
|
+
});
|
|
571
|
+
},
|
|
572
|
+
};
|
|
573
|
+
// Backward compatibility aliases
|
|
574
|
+
export const writeOperationAliases = {
|
|
575
|
+
sdk_transfer_agent: 'agent_transfer',
|
|
576
|
+
sdk_set_agent_uri: 'agent_uri_update',
|
|
577
|
+
sdk_update_collection_uri: 'collection_uri_update',
|
|
578
|
+
sdk_set_metadata: 'agent_metadata_set',
|
|
579
|
+
sdk_revoke_feedback: 'feedback_revoke',
|
|
580
|
+
sdk_append_response: 'feedback_response_append',
|
|
581
|
+
};
|
|
582
|
+
//# sourceMappingURL=write-operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-operations.js","sourceRoot":"","sources":["../../../src/tools/unified/write-operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
export declare const x402Tools: Tool[];
|
|
3
|
+
export declare const x402Handlers: Record<string, (args: unknown) => Promise<unknown>>;
|
|
4
|
+
export declare const x402Aliases: Record<string, string>;
|
|
5
|
+
//# sourceMappingURL=x402.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"x402.d.ts","sourceRoot":"","sources":["../../../src/tools/unified/x402.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AA4B/D,eAAO,MAAM,SAAS,EAAE,IAAI,EAkN3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAC/B,MAAM,EACN,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAsepC,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAE9C,CAAC"}
|