geo-mcp-server 1.7.0 → 1.8.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/dist/server.js +2 -2
- package/dist/server.js.map +1 -1
- package/dist/state/session.d.ts +16 -0
- package/dist/state/session.d.ts.map +1 -1
- package/dist/state/session.js +54 -1
- package/dist/state/session.js.map +1 -1
- package/dist/tools/governance.d.ts.map +1 -1
- package/dist/tools/governance.js +67 -28
- package/dist/tools/governance.js.map +1 -1
- package/dist/tools/spaces.d.ts +10 -0
- package/dist/tools/spaces.d.ts.map +1 -1
- package/dist/tools/spaces.js +475 -67
- package/dist/tools/spaces.js.map +1 -1
- package/dist/tools/workspace.d.ts.map +1 -1
- package/dist/tools/workspace.js +46 -18
- package/dist/tools/workspace.js.map +1 -1
- package/dist/utils/tx-executor.d.ts +3679 -0
- package/dist/utils/tx-executor.d.ts.map +1 -0
- package/dist/utils/tx-executor.js +45 -0
- package/dist/utils/tx-executor.js.map +1 -0
- package/dist/utils/wallet.d.ts.map +1 -1
- package/dist/utils/wallet.js +4 -0
- package/dist/utils/wallet.js.map +1 -1
- package/package.json +1 -1
package/dist/server.js
CHANGED
|
@@ -9,8 +9,8 @@ import { registerWorkspaceTools } from './tools/workspace.js';
|
|
|
9
9
|
export function createServer() {
|
|
10
10
|
const server = new McpServer({
|
|
11
11
|
name: 'geo-mcp-server',
|
|
12
|
-
version: '1.
|
|
13
|
-
description: 'Geo knowledge graph MCP server. Works in read-only mode without configuration. Set GEO_PRIVATE_KEY or call configure_wallet to enable write operations.',
|
|
12
|
+
version: '1.8.0',
|
|
13
|
+
description: 'Geo knowledge graph MCP server. Works in read-only mode without configuration. Set GEO_PRIVATE_KEY or call configure_wallet to enable write operations. Supports APPROVAL mode for external wallet signing.',
|
|
14
14
|
});
|
|
15
15
|
registerGraphTools(server, session);
|
|
16
16
|
registerSpaceTools(server, session);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,6MAA6M;KAC3N,CAAC,CAAC;IAEH,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzC,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/state/session.d.ts
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { Op } from '@geoprotocol/grc-20';
|
|
6
6
|
import type { GeoSmartAccount } from '@geoprotocol/geo-sdk';
|
|
7
|
+
import type { PendingTransaction, TransactionContinuation } from '../utils/tx-executor.js';
|
|
8
|
+
export type WalletMode = 'PRIVATE_KEY' | 'APPROVAL';
|
|
7
9
|
export interface CreatedArtifact {
|
|
8
10
|
id: string;
|
|
9
11
|
type: 'property' | 'type' | 'entity' | 'relation' | 'image';
|
|
@@ -18,6 +20,8 @@ export interface SessionStatus {
|
|
|
18
20
|
spaceId: string | null;
|
|
19
21
|
walletAddress: string | null;
|
|
20
22
|
network: 'TESTNET';
|
|
23
|
+
mode: 'full' | 'read-only' | 'approval';
|
|
24
|
+
pendingTransactionCount: number;
|
|
21
25
|
}
|
|
22
26
|
export declare class EditSession {
|
|
23
27
|
private ops;
|
|
@@ -27,6 +31,9 @@ export declare class EditSession {
|
|
|
27
31
|
private _spaceId;
|
|
28
32
|
private _walletAddress;
|
|
29
33
|
private _smartAccountClient;
|
|
34
|
+
private _walletMode;
|
|
35
|
+
private _pendingTransactions;
|
|
36
|
+
private _continuations;
|
|
30
37
|
addOps(ops: Op[], artifact: CreatedArtifact): void;
|
|
31
38
|
getOps(): Op[];
|
|
32
39
|
setLastPublishedOps(ops: Op[]): void;
|
|
@@ -44,6 +51,15 @@ export declare class EditSession {
|
|
|
44
51
|
set walletAddress(address: string | null);
|
|
45
52
|
get smartAccountClient(): GeoSmartAccount | null;
|
|
46
53
|
set smartAccountClient(client: GeoSmartAccount | null);
|
|
54
|
+
get walletMode(): WalletMode;
|
|
55
|
+
set walletMode(mode: WalletMode);
|
|
56
|
+
get pendingTransactions(): PendingTransaction[];
|
|
57
|
+
addPendingTransaction(tx: PendingTransaction): void;
|
|
58
|
+
getPendingTransaction(id: string): PendingTransaction | undefined;
|
|
59
|
+
removePendingTransaction(id: string): boolean;
|
|
60
|
+
addContinuation(c: TransactionContinuation): void;
|
|
61
|
+
getContinuation(pendingTxId: string): TransactionContinuation | undefined;
|
|
62
|
+
removeContinuation(pendingTxId: string): boolean;
|
|
47
63
|
getStatus(): SessionStatus;
|
|
48
64
|
}
|
|
49
65
|
export declare const session: EditSession;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/state/session.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/state/session.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAE3F,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,UAAU,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC;IACxC,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,GAAG,CAAY;IACvB,OAAO,CAAC,gBAAgB,CAAY;IACpC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,mBAAmB,CAAgC;IAC3D,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,oBAAoB,CAA4B;IACxD,OAAO,CAAC,cAAc,CAAmD;IAEzE,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAKlD,MAAM,IAAI,EAAE,EAAE;IAId,mBAAmB,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI;IAIpC,mBAAmB,IAAI,EAAE,EAAE;IAI3B,YAAY,IAAI,eAAe,EAAE;IAIjC,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAUzD,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,IAAI,CAE9B;IAED,IAAI,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAEhC;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,IAAI,CAE3B;IAED,IAAI,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,EAE5B;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAEjC;IAED,IAAI,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAEvC;IAED,IAAI,kBAAkB,IAAI,eAAe,GAAG,IAAI,CAE/C;IAED,IAAI,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,EAEpD;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,UAAU,CAAC,IAAI,EAAE,UAAU,EAE9B;IAID,IAAI,mBAAmB,IAAI,kBAAkB,EAAE,CAE9C;IAED,qBAAqB,CAAC,EAAE,EAAE,kBAAkB,GAAG,IAAI;IAInD,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAIjE,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAS7C,eAAe,CAAC,CAAC,EAAE,uBAAuB,GAAG,IAAI;IAIjD,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS;IAIzE,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAIhD,SAAS,IAAI,aAAa;CA2B3B;AAGD,eAAO,MAAM,OAAO,aAAoB,CAAC"}
|
package/dist/state/session.js
CHANGED
|
@@ -6,6 +6,9 @@ export class EditSession {
|
|
|
6
6
|
_spaceId = null;
|
|
7
7
|
_walletAddress = null;
|
|
8
8
|
_smartAccountClient = null;
|
|
9
|
+
_walletMode = 'PRIVATE_KEY';
|
|
10
|
+
_pendingTransactions = [];
|
|
11
|
+
_continuations = new Map();
|
|
9
12
|
addOps(ops, artifact) {
|
|
10
13
|
this.ops.push(...ops);
|
|
11
14
|
this.artifacts.push(artifact);
|
|
@@ -28,6 +31,8 @@ export class EditSession {
|
|
|
28
31
|
if (options?.includeLastPublished) {
|
|
29
32
|
this.lastPublishedOps = [];
|
|
30
33
|
}
|
|
34
|
+
this._pendingTransactions = [];
|
|
35
|
+
this._continuations = new Map();
|
|
31
36
|
}
|
|
32
37
|
get opsCount() {
|
|
33
38
|
return this.ops.length;
|
|
@@ -56,15 +61,63 @@ export class EditSession {
|
|
|
56
61
|
set smartAccountClient(client) {
|
|
57
62
|
this._smartAccountClient = client;
|
|
58
63
|
}
|
|
64
|
+
get walletMode() {
|
|
65
|
+
return this._walletMode;
|
|
66
|
+
}
|
|
67
|
+
set walletMode(mode) {
|
|
68
|
+
this._walletMode = mode;
|
|
69
|
+
}
|
|
70
|
+
// ── Pending transactions ───────────────────────────────────────────
|
|
71
|
+
get pendingTransactions() {
|
|
72
|
+
return [...this._pendingTransactions];
|
|
73
|
+
}
|
|
74
|
+
addPendingTransaction(tx) {
|
|
75
|
+
this._pendingTransactions.push(tx);
|
|
76
|
+
}
|
|
77
|
+
getPendingTransaction(id) {
|
|
78
|
+
return this._pendingTransactions.find((tx) => tx.id === id);
|
|
79
|
+
}
|
|
80
|
+
removePendingTransaction(id) {
|
|
81
|
+
const idx = this._pendingTransactions.findIndex((tx) => tx.id === id);
|
|
82
|
+
if (idx === -1)
|
|
83
|
+
return false;
|
|
84
|
+
this._pendingTransactions.splice(idx, 1);
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
// ── Continuations ──────────────────────────────────────────────────
|
|
88
|
+
addContinuation(c) {
|
|
89
|
+
this._continuations.set(c.pendingTxId, c);
|
|
90
|
+
}
|
|
91
|
+
getContinuation(pendingTxId) {
|
|
92
|
+
return this._continuations.get(pendingTxId);
|
|
93
|
+
}
|
|
94
|
+
removeContinuation(pendingTxId) {
|
|
95
|
+
return this._continuations.delete(pendingTxId);
|
|
96
|
+
}
|
|
59
97
|
getStatus() {
|
|
98
|
+
const walletConfigured = this._walletMode === 'APPROVAL'
|
|
99
|
+
? this._walletAddress !== null
|
|
100
|
+
: this._privateKey !== null;
|
|
101
|
+
let mode;
|
|
102
|
+
if (this._walletMode === 'APPROVAL' && this._walletAddress !== null) {
|
|
103
|
+
mode = 'approval';
|
|
104
|
+
}
|
|
105
|
+
else if (walletConfigured) {
|
|
106
|
+
mode = 'full';
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
mode = 'read-only';
|
|
110
|
+
}
|
|
60
111
|
return {
|
|
61
112
|
opsCount: this.ops.length,
|
|
62
113
|
lastPublishedOpsCount: this.lastPublishedOps.length,
|
|
63
114
|
artifacts: [...this.artifacts],
|
|
64
|
-
walletConfigured
|
|
115
|
+
walletConfigured,
|
|
65
116
|
spaceId: this._spaceId,
|
|
66
117
|
walletAddress: this._walletAddress,
|
|
67
118
|
network: 'TESTNET',
|
|
119
|
+
mode,
|
|
120
|
+
pendingTransactionCount: this._pendingTransactions.length,
|
|
68
121
|
};
|
|
69
122
|
}
|
|
70
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/state/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/state/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../src/tools/governance.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../src/tools/governance.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOvD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAkQrF"}
|
package/dist/tools/governance.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { TESTNET_RPC_URL } from '@geoprotocol/geo-sdk';
|
|
2
1
|
import { MainVotingAbi } from '@geoprotocol/geo-sdk/abis';
|
|
3
|
-
import {
|
|
2
|
+
import { encodeFunctionData, stringToHex } from 'viem';
|
|
4
3
|
import { z } from 'zod';
|
|
5
4
|
import { ensureWalletConfigured, normalizeAddress } from '../utils/wallet.js';
|
|
5
|
+
import { executeTransaction } from '../utils/tx-executor.js';
|
|
6
6
|
import { ok, err } from './helpers.js';
|
|
7
7
|
const VOTE_OPTIONS = { YES: 2, NO: 3, ABSTAIN: 1 };
|
|
8
8
|
export function registerGovernanceTools(server, session) {
|
|
9
|
-
const publicClient = createPublicClient({ transport: http(TESTNET_RPC_URL) });
|
|
10
9
|
// ── vote_on_proposal ─────────────────────────────────────────────
|
|
11
10
|
server.tool('vote_on_proposal', 'Cast a vote on a DAO proposal (YES, NO, or ABSTAIN)', {
|
|
12
11
|
mainVotingAddress: z.string().describe('0x address of the MainVoting plugin contract'),
|
|
@@ -19,8 +18,11 @@ export function registerGovernanceTools(server, session) {
|
|
|
19
18
|
}, { readOnlyHint: false }, async ({ mainVotingAddress, proposalId, vote, tryEarlyExecution }) => {
|
|
20
19
|
try {
|
|
21
20
|
const ensured = await ensureWalletConfigured(session);
|
|
22
|
-
if (!ensured.ok
|
|
23
|
-
return err(ensured.
|
|
21
|
+
if (!ensured.ok) {
|
|
22
|
+
return err(ensured.error);
|
|
23
|
+
}
|
|
24
|
+
if (session.walletMode !== 'APPROVAL' && !session.smartAccountClient) {
|
|
25
|
+
return err('Wallet not configured.');
|
|
24
26
|
}
|
|
25
27
|
const normalizedAddress = normalizeAddress(mainVotingAddress, 'mainVotingAddress');
|
|
26
28
|
const voteOption = VOTE_OPTIONS[vote];
|
|
@@ -29,12 +31,17 @@ export function registerGovernanceTools(server, session) {
|
|
|
29
31
|
functionName: 'vote',
|
|
30
32
|
args: [BigInt(proposalId), voteOption, tryEarlyExecution],
|
|
31
33
|
});
|
|
32
|
-
const
|
|
34
|
+
const txResult = await executeTransaction(session, {
|
|
33
35
|
to: normalizedAddress,
|
|
34
36
|
data,
|
|
37
|
+
description: `Vote ${vote} on proposal ${proposalId}`,
|
|
38
|
+
toolName: 'vote_on_proposal',
|
|
39
|
+
metadata: { proposalId, vote, tryEarlyExecution },
|
|
35
40
|
});
|
|
36
|
-
|
|
37
|
-
|
|
41
|
+
if (txResult.mode === 'pending_approval') {
|
|
42
|
+
return ok({ status: 'pending_signature', ...txResult.pendingTx });
|
|
43
|
+
}
|
|
44
|
+
return ok({ txHash: txResult.txHash, proposalId, vote, tryEarlyExecution });
|
|
38
45
|
}
|
|
39
46
|
catch (error) {
|
|
40
47
|
return err(error);
|
|
@@ -48,8 +55,11 @@ export function registerGovernanceTools(server, session) {
|
|
|
48
55
|
}, { readOnlyHint: false }, async ({ mainVotingAddress, editorAddress, ipfsUri }) => {
|
|
49
56
|
try {
|
|
50
57
|
const ensured = await ensureWalletConfigured(session);
|
|
51
|
-
if (!ensured.ok
|
|
52
|
-
return err(ensured.
|
|
58
|
+
if (!ensured.ok) {
|
|
59
|
+
return err(ensured.error);
|
|
60
|
+
}
|
|
61
|
+
if (session.walletMode !== 'APPROVAL' && !session.smartAccountClient) {
|
|
62
|
+
return err('Wallet not configured.');
|
|
53
63
|
}
|
|
54
64
|
const normalizedMainVoting = normalizeAddress(mainVotingAddress, 'mainVotingAddress');
|
|
55
65
|
const normalizedEditor = normalizeAddress(editorAddress, 'editorAddress');
|
|
@@ -58,12 +68,17 @@ export function registerGovernanceTools(server, session) {
|
|
|
58
68
|
functionName: 'proposeAddEditor',
|
|
59
69
|
args: [stringToHex(ipfsUri), normalizedEditor],
|
|
60
70
|
});
|
|
61
|
-
const
|
|
71
|
+
const txResult = await executeTransaction(session, {
|
|
62
72
|
to: normalizedMainVoting,
|
|
63
73
|
data,
|
|
74
|
+
description: `Propose adding editor ${normalizedEditor}`,
|
|
75
|
+
toolName: 'propose_accept_editor',
|
|
76
|
+
metadata: { editorAddress: normalizedEditor, ipfsUri },
|
|
64
77
|
});
|
|
65
|
-
|
|
66
|
-
|
|
78
|
+
if (txResult.mode === 'pending_approval') {
|
|
79
|
+
return ok({ status: 'pending_signature', ...txResult.pendingTx });
|
|
80
|
+
}
|
|
81
|
+
return ok({ txHash: txResult.txHash, editorAddress: normalizedEditor, ipfsUri });
|
|
67
82
|
}
|
|
68
83
|
catch (error) {
|
|
69
84
|
return err(error);
|
|
@@ -77,8 +92,11 @@ export function registerGovernanceTools(server, session) {
|
|
|
77
92
|
}, { readOnlyHint: false }, async ({ mainVotingAddress, editorAddress, ipfsUri }) => {
|
|
78
93
|
try {
|
|
79
94
|
const ensured = await ensureWalletConfigured(session);
|
|
80
|
-
if (!ensured.ok
|
|
81
|
-
return err(ensured.
|
|
95
|
+
if (!ensured.ok) {
|
|
96
|
+
return err(ensured.error);
|
|
97
|
+
}
|
|
98
|
+
if (session.walletMode !== 'APPROVAL' && !session.smartAccountClient) {
|
|
99
|
+
return err('Wallet not configured.');
|
|
82
100
|
}
|
|
83
101
|
const normalizedMainVoting = normalizeAddress(mainVotingAddress, 'mainVotingAddress');
|
|
84
102
|
const normalizedEditor = normalizeAddress(editorAddress, 'editorAddress');
|
|
@@ -87,12 +105,17 @@ export function registerGovernanceTools(server, session) {
|
|
|
87
105
|
functionName: 'proposeRemoveEditor',
|
|
88
106
|
args: [stringToHex(ipfsUri), normalizedEditor],
|
|
89
107
|
});
|
|
90
|
-
const
|
|
108
|
+
const txResult = await executeTransaction(session, {
|
|
91
109
|
to: normalizedMainVoting,
|
|
92
110
|
data,
|
|
111
|
+
description: `Propose removing editor ${normalizedEditor}`,
|
|
112
|
+
toolName: 'propose_remove_editor',
|
|
113
|
+
metadata: { editorAddress: normalizedEditor, ipfsUri },
|
|
93
114
|
});
|
|
94
|
-
|
|
95
|
-
|
|
115
|
+
if (txResult.mode === 'pending_approval') {
|
|
116
|
+
return ok({ status: 'pending_signature', ...txResult.pendingTx });
|
|
117
|
+
}
|
|
118
|
+
return ok({ txHash: txResult.txHash, editorAddress: normalizedEditor, ipfsUri });
|
|
96
119
|
}
|
|
97
120
|
catch (error) {
|
|
98
121
|
return err(error);
|
|
@@ -107,8 +130,11 @@ export function registerGovernanceTools(server, session) {
|
|
|
107
130
|
}, { readOnlyHint: false }, async ({ mainVotingAddress, spacePluginAddress, subspaceAddress, ipfsUri }) => {
|
|
108
131
|
try {
|
|
109
132
|
const ensured = await ensureWalletConfigured(session);
|
|
110
|
-
if (!ensured.ok
|
|
111
|
-
return err(ensured.
|
|
133
|
+
if (!ensured.ok) {
|
|
134
|
+
return err(ensured.error);
|
|
135
|
+
}
|
|
136
|
+
if (session.walletMode !== 'APPROVAL' && !session.smartAccountClient) {
|
|
137
|
+
return err('Wallet not configured.');
|
|
112
138
|
}
|
|
113
139
|
const normalizedMainVoting = normalizeAddress(mainVotingAddress, 'mainVotingAddress');
|
|
114
140
|
const normalizedSpacePlugin = normalizeAddress(spacePluginAddress, 'spacePluginAddress');
|
|
@@ -118,13 +144,18 @@ export function registerGovernanceTools(server, session) {
|
|
|
118
144
|
functionName: 'proposeAcceptSubspace',
|
|
119
145
|
args: [stringToHex(ipfsUri), normalizedSubspace, normalizedSpacePlugin],
|
|
120
146
|
});
|
|
121
|
-
const
|
|
147
|
+
const txResult = await executeTransaction(session, {
|
|
122
148
|
to: normalizedMainVoting,
|
|
123
149
|
data,
|
|
150
|
+
description: `Propose accepting subspace ${normalizedSubspace}`,
|
|
151
|
+
toolName: 'propose_accept_subspace',
|
|
152
|
+
metadata: { subspaceAddress: normalizedSubspace, spacePluginAddress: normalizedSpacePlugin, ipfsUri },
|
|
124
153
|
});
|
|
125
|
-
|
|
154
|
+
if (txResult.mode === 'pending_approval') {
|
|
155
|
+
return ok({ status: 'pending_signature', ...txResult.pendingTx });
|
|
156
|
+
}
|
|
126
157
|
return ok({
|
|
127
|
-
txHash,
|
|
158
|
+
txHash: txResult.txHash,
|
|
128
159
|
subspaceAddress: normalizedSubspace,
|
|
129
160
|
spacePluginAddress: normalizedSpacePlugin,
|
|
130
161
|
ipfsUri,
|
|
@@ -143,8 +174,11 @@ export function registerGovernanceTools(server, session) {
|
|
|
143
174
|
}, { readOnlyHint: false }, async ({ mainVotingAddress, spacePluginAddress, subspaceAddress, ipfsUri }) => {
|
|
144
175
|
try {
|
|
145
176
|
const ensured = await ensureWalletConfigured(session);
|
|
146
|
-
if (!ensured.ok
|
|
147
|
-
return err(ensured.
|
|
177
|
+
if (!ensured.ok) {
|
|
178
|
+
return err(ensured.error);
|
|
179
|
+
}
|
|
180
|
+
if (session.walletMode !== 'APPROVAL' && !session.smartAccountClient) {
|
|
181
|
+
return err('Wallet not configured.');
|
|
148
182
|
}
|
|
149
183
|
const normalizedMainVoting = normalizeAddress(mainVotingAddress, 'mainVotingAddress');
|
|
150
184
|
const normalizedSpacePlugin = normalizeAddress(spacePluginAddress, 'spacePluginAddress');
|
|
@@ -154,13 +188,18 @@ export function registerGovernanceTools(server, session) {
|
|
|
154
188
|
functionName: 'proposeRemoveSubspace',
|
|
155
189
|
args: [stringToHex(ipfsUri), normalizedSubspace, normalizedSpacePlugin],
|
|
156
190
|
});
|
|
157
|
-
const
|
|
191
|
+
const txResult = await executeTransaction(session, {
|
|
158
192
|
to: normalizedMainVoting,
|
|
159
193
|
data,
|
|
194
|
+
description: `Propose removing subspace ${normalizedSubspace}`,
|
|
195
|
+
toolName: 'propose_remove_subspace',
|
|
196
|
+
metadata: { subspaceAddress: normalizedSubspace, spacePluginAddress: normalizedSpacePlugin, ipfsUri },
|
|
160
197
|
});
|
|
161
|
-
|
|
198
|
+
if (txResult.mode === 'pending_approval') {
|
|
199
|
+
return ok({ status: 'pending_signature', ...txResult.pendingTx });
|
|
200
|
+
}
|
|
162
201
|
return ok({
|
|
163
|
-
txHash,
|
|
202
|
+
txHash: txResult.txHash,
|
|
164
203
|
subspaceAddress: normalizedSubspace,
|
|
165
204
|
spacePluginAddress: normalizedSpacePlugin,
|
|
166
205
|
ipfsUri,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/tools/governance.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/tools/governance.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/spaces.d.ts
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import { type EditSession } from '../state/session.js';
|
|
3
|
+
/** Build vote calldata for a DAO proposal. */
|
|
4
|
+
export declare function buildVoteCalldata(callerSpaceId: string, daoSpaceIdHex: string, proposalId: string): {
|
|
5
|
+
to: `0x${string}`;
|
|
6
|
+
data: `0x${string}`;
|
|
7
|
+
};
|
|
8
|
+
/** Build execute calldata for a DAO proposal. */
|
|
9
|
+
export declare function buildExecuteCalldata(callerSpaceId: string, daoSpaceIdHex: string, proposalId: string): {
|
|
10
|
+
to: `0x${string}`;
|
|
11
|
+
data: `0x${string}`;
|
|
12
|
+
};
|
|
3
13
|
export declare function registerSpaceTools(server: McpServer, session: EditSession): void;
|
|
4
14
|
//# sourceMappingURL=spaces.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spaces.d.ts","sourceRoot":"","sources":["../../src/tools/spaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"spaces.d.ts","sourceRoot":"","sources":["../../src/tools/spaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWpE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAuCvD,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GACjB;IAAE,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAA;CAAE,CAiC5C;AAED,iDAAiD;AACjD,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GACjB;IAAE,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAA;CAAE,CA8B5C;AA+HD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAi8BhF"}
|