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 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.6.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);
@@ -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,yJAAyJ;KACvK,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"}
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"}
@@ -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;AAE5D,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;CACpB;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;IAE3D,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;IAQzD,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,SAAS,IAAI,aAAa;CAW3B;AAGD,eAAO,MAAM,OAAO,aAAoB,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"}
@@ -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: this._privateKey !== null,
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":"AAwBA,MAAM,OAAO,WAAW;IACd,GAAG,GAAS,EAAE,CAAC;IACf,gBAAgB,GAAS,EAAE,CAAC;IAC5B,SAAS,GAAsB,EAAE,CAAC;IAClC,WAAW,GAAkB,IAAI,CAAC;IAClC,QAAQ,GAAkB,IAAI,CAAC;IAC/B,cAAc,GAAkB,IAAI,CAAC;IACrC,mBAAmB,GAA2B,IAAI,CAAC;IAE3D,MAAM,CAAC,GAAS,EAAE,QAAyB;QACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,MAAM;QACJ,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,mBAAmB,CAAC,GAAS;QAC3B,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,mBAAmB;QACjB,OAAO,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAED,YAAY;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAA4C;QAChD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,EAAE,oBAAoB,EAAE,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU,CAAC,GAAkB;QAC/B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,EAAiB;QAC3B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAI,aAAa,CAAC,OAAsB;QACtC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,IAAI,kBAAkB,CAAC,MAA8B;QACnD,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;IACpC,CAAC;IAED,SAAS;QACP,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM;YACzB,qBAAqB,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM;YACnD,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,gBAAgB,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI;YAC3C,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;CACF;AAED,6BAA6B;AAC7B,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/state/session.ts"],"names":[],"mappings":"AA6BA,MAAM,OAAO,WAAW;IACd,GAAG,GAAS,EAAE,CAAC;IACf,gBAAgB,GAAS,EAAE,CAAC;IAC5B,SAAS,GAAsB,EAAE,CAAC;IAClC,WAAW,GAAkB,IAAI,CAAC;IAClC,QAAQ,GAAkB,IAAI,CAAC;IAC/B,cAAc,GAAkB,IAAI,CAAC;IACrC,mBAAmB,GAA2B,IAAI,CAAC;IACnD,WAAW,GAAe,aAAa,CAAC;IACxC,oBAAoB,GAAyB,EAAE,CAAC;IAChD,cAAc,GAAyC,IAAI,GAAG,EAAE,CAAC;IAEzE,MAAM,CAAC,GAAS,EAAE,QAAyB;QACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,MAAM;QACJ,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,mBAAmB,CAAC,GAAS;QAC3B,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,mBAAmB;QACjB,OAAO,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAED,YAAY;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAA4C;QAChD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,EAAE,oBAAoB,EAAE,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU,CAAC,GAAkB;QAC/B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,EAAiB;QAC3B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAI,aAAa,CAAC,OAAsB;QACtC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,IAAI,kBAAkB,CAAC,MAA8B;QACnD,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;IACpC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU,CAAC,IAAgB;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,sEAAsE;IAEtE,IAAI,mBAAmB;QACrB,OAAO,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,qBAAqB,CAAC,EAAsB;QAC1C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,qBAAqB,CAAC,EAAU;QAC9B,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,wBAAwB,CAAC,EAAU;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sEAAsE;IAEtE,eAAe,CAAC,CAA0B;QACxC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,eAAe,CAAC,WAAmB;QACjC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,kBAAkB,CAAC,WAAmB;QACpC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,SAAS;QACP,MAAM,gBAAgB,GACpB,IAAI,CAAC,WAAW,KAAK,UAAU;YAC7B,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI;YAC9B,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC;QAEhC,IAAI,IAAuC,CAAC;QAC5C,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACpE,IAAI,GAAG,UAAU,CAAC;QACpB,CAAC;aAAM,IAAI,gBAAgB,EAAE,CAAC;YAC5B,IAAI,GAAG,MAAM,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,WAAW,CAAC;QACrB,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM;YACzB,qBAAqB,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM;YACnD,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,gBAAgB;YAChB,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,OAAO,EAAE,SAAS;YAClB,IAAI;YACJ,uBAAuB,EAAE,IAAI,CAAC,oBAAoB,CAAC,MAAM;SAC1D,CAAC;IACJ,CAAC;CACF;AAED,6BAA6B;AAC7B,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC"}
@@ -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;AAKpE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMvD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CA4NrF"}
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"}
@@ -1,12 +1,11 @@
1
- import { TESTNET_RPC_URL } from '@geoprotocol/geo-sdk';
2
1
  import { MainVotingAbi } from '@geoprotocol/geo-sdk/abis';
3
- import { createPublicClient, encodeFunctionData, http, stringToHex } from 'viem';
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 || !session.smartAccountClient) {
23
- return err(ensured.ok ? 'Wallet not configured.' : ensured.error);
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 txHash = await session.smartAccountClient.sendTransaction({
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
- await publicClient.waitForTransactionReceipt({ hash: txHash });
37
- return ok({ txHash, proposalId, vote, tryEarlyExecution });
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 || !session.smartAccountClient) {
52
- return err(ensured.ok ? 'Wallet not configured.' : ensured.error);
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 txHash = await session.smartAccountClient.sendTransaction({
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
- await publicClient.waitForTransactionReceipt({ hash: txHash });
66
- return ok({ txHash, editorAddress: normalizedEditor, ipfsUri });
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 || !session.smartAccountClient) {
81
- return err(ensured.ok ? 'Wallet not configured.' : ensured.error);
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 txHash = await session.smartAccountClient.sendTransaction({
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
- await publicClient.waitForTransactionReceipt({ hash: txHash });
95
- return ok({ txHash, editorAddress: normalizedEditor, ipfsUri });
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 || !session.smartAccountClient) {
111
- return err(ensured.ok ? 'Wallet not configured.' : ensured.error);
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 txHash = await session.smartAccountClient.sendTransaction({
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
- await publicClient.waitForTransactionReceipt({ hash: txHash });
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 || !session.smartAccountClient) {
147
- return err(ensured.ok ? 'Wallet not configured.' : ensured.error);
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 txHash = await session.smartAccountClient.sendTransaction({
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
- await publicClient.waitForTransactionReceipt({ hash: txHash });
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":"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"}
1
+ {"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/tools/governance.ts"],"names":[],"mappings":"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"}
@@ -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;AAYpE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AA4KvD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAojBhF"}
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"}