agentmesh-ai 0.1.5 → 0.2.1

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/GUIDE.md CHANGED
@@ -245,49 +245,38 @@ npx agentmesh-ai serve
245
245
  会显示:
246
246
 
247
247
  ```
248
- 🚀 对话空间已启动
248
+ 🚀 Conversation space is running
249
249
 
250
- Local: ws://localhost:4800
251
- Network: ws://192.168.1.100:4800
250
+ Address: ws://192.168.31.66:4800
252
251
  Key: abc123
253
252
 
254
- 把以下信息发给队友:
255
- AGENTHUB_SERVER_URL=ws://192.168.1.100:4800
256
- AGENTHUB_SERVER_KEY=abc123
253
+ Send this to your teammates:
254
+
255
+ npx agentmesh-ai join ws://192.168.31.66:4800 --key abc123
256
+
257
+ Restart your AI tool to connect.
257
258
  ```
258
259
 
259
- ### 其他人连入
260
+ serve 会自动:
261
+ - 检测你的局域网 IP(过滤掉虚拟网卡)
262
+ - 配好你自己的 MCP(加上对话空间地址)
263
+ - Windows 上自动尝试开放防火墙端口
260
264
 
261
- **Claude Code 用户:**
265
+ ### 同事加入(一行命令)
262
266
 
263
- 先移除旧配置再重新添加(带上对话空间地址):
267
+ 把 serve 输出的那行命令发给同事,同事粘贴运行:
264
268
 
265
269
  ```bash
266
- claude mcp remove agentmesh
267
- claude mcp add agentmesh -e AGENTHUB_AGENT_ID=你的agent-id -e AGENTHUB_SERVER_URL=ws://192.168.1.100:4800 -e AGENTHUB_SERVER_KEY=abc123 -- npx -y agentmesh-ai mcp
270
+ npx agentmesh-ai join ws://192.168.31.66:4800 --key abc123
268
271
  ```
269
272
 
270
- **Cursor / Windsurf 用户:**
271
-
272
- `.cursor/mcp.json` 或 `.windsurf/mcp.json` 的 `env` 里加上对话空间地址:
273
-
274
- ```json
275
- {
276
- "mcpServers": {
277
- "agentmesh": {
278
- "command": "npx",
279
- "args": ["-y", "agentmesh-ai", "mcp"],
280
- "env": {
281
- "AGENTHUB_AGENT_ID": "你的agent-id",
282
- "AGENTHUB_SERVER_URL": "ws://192.168.1.100:4800",
283
- "AGENTHUB_SERVER_KEY": "abc123"
284
- }
285
- }
286
- }
287
- }
288
- ```
273
+ 这个命令会自动完成所有事情:
274
+ - 如果没有 .agenthub/,自动初始化
275
+ - 测试网络连接是否通
276
+ - 自动检测 AI 工具(Claude Code / Cursor / Windsurf)
277
+ - 自动配好 MCP(包含对话空间地址)
289
278
 
290
- 然后重启 AI 工具。
279
+ 同事只需要在命令完成后**重启 AI 工具**即可。
291
280
 
292
281
  **注意:** 所有人必须在同一个局域网内(同一个 WiFi 或公司网络)。如果是远程协作,启动 serve 的人需要用 ngrok 等工具做内网穿透。
293
282
 
@@ -418,10 +407,15 @@ Cursor 自动读取共享记忆,知道:
418
407
 
419
408
  ```bash
420
409
  npx agentmesh-ai serve
421
- # 把 URL 和 Key 发给小红
410
+ # 输出一行命令,小明把它发给小红
422
411
  ```
423
412
 
424
- 小红在 MCP 配置里加上对话空间地址,重启 Cursor。
413
+ 小红运行小明发来的命令:
414
+
415
+ ```bash
416
+ npx agentmesh-ai join ws://192.168.31.66:4800 --key abc123
417
+ # 自动配好一切,重启 Cursor
418
+ ```
425
419
 
426
420
  小红对 Cursor 说:"帮我和团队讨论一下 UI 用什么组件库和颜色"
427
421
 
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  You use Claude Code. Your teammate uses Cursor. Another uses Copilot. Your AIs have no idea what each other is doing. AgentHub fixes that.
6
6
 
7
7
  ```
8
- npx agenthub init && npx agenthub setup
8
+ npx agentmesh-ai init && npx agentmesh-ai setup
9
9
  ```
10
10
 
11
11
  That's it. Your AI now shares knowledge with every other AI on the team.
@@ -27,7 +27,7 @@ That's it. Your AI now shares knowledge with every other AI on the team.
27
27
  ### 1. Initialize (30 seconds)
28
28
 
29
29
  ```bash
30
- npx agenthub init
30
+ npx agentmesh-ai init
31
31
  ```
32
32
 
33
33
  Answers a few questions, creates `.agenthub/` in your project.
@@ -35,7 +35,7 @@ Answers a few questions, creates `.agenthub/` in your project.
35
35
  ### 2. Configure your AI tool (1 minute)
36
36
 
37
37
  ```bash
38
- npx agenthub setup
38
+ npx agentmesh-ai setup
39
39
  ```
40
40
 
41
41
  Auto-detects Claude Code, Cursor, Windsurf and writes their MCP config.
@@ -43,7 +43,7 @@ Auto-detects Claude Code, Cursor, Windsurf and writes their MCP config.
43
43
  ### 3. Invite teammates
44
44
 
45
45
  ```
46
- "Clone the repo and run: npx agenthub setup"
46
+ "Clone the repo and run: npx agentmesh-ai setup"
47
47
  ```
48
48
 
49
49
  No accounts, no servers, no extra software.
@@ -106,8 +106,12 @@ shadcn/ui, Indigo primary, 8px radius, 4px spacing
106
106
  When your AI needs to discuss something with the team:
107
107
 
108
108
  ```bash
109
- # One person starts the conversation space
110
- npx agenthub serve
109
+ # You start the conversation space
110
+ npx agentmesh-ai serve
111
+
112
+ # It outputs a command — send it to your teammates
113
+ # Teammates run it to join:
114
+ npx agentmesh-ai join ws://192.168.31.66:4800 --key abc123
111
115
  ```
112
116
 
113
117
  Then any team member can say: *"Discuss database selection with the team"*
@@ -184,12 +188,13 @@ High-risk content is **blocked**. Medium-risk gets a **warning**.
184
188
 
185
189
  | Command | Description |
186
190
  |---------|-------------|
187
- | `npx agenthub init` | Create .agenthub/ directory |
188
- | `npx agenthub setup` | Auto-configure MCP for your AI tools |
189
- | `npx agenthub serve` | Start conversation space |
190
- | `npx agenthub status` | Show project memory status |
191
- | `npx agenthub memory` | View/search shared memory |
192
- | `npx agenthub memory -s "database"` | Search for specific info |
191
+ | `npx agentmesh-ai init` | Create .agenthub/ directory |
192
+ | `npx agentmesh-ai setup` | Auto-configure MCP for your AI tools |
193
+ | `npx agentmesh-ai serve` | Start conversation space (auto-configures your MCP) |
194
+ | `npx agentmesh-ai join <url> --key <key>` | Join a teammate's space (one command does everything) |
195
+ | `npx agentmesh-ai status` | Show project memory status |
196
+ | `npx agentmesh-ai memory` | View/search shared memory |
197
+ | `npx agentmesh-ai memory -s "database"` | Search for specific info |
193
198
 
194
199
  ---
195
200
 
@@ -0,0 +1,6 @@
1
+ interface JoinOptions {
2
+ key?: string;
3
+ }
4
+ export declare function joinCommand(serverUrl: string, options: JoinOptions): Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=join.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/join.ts"],"names":[],"mappings":"AAiBA,UAAU,WAAW;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,iBAmHxE"}
@@ -0,0 +1,237 @@
1
+ /**
2
+ * agentmesh join — One command to join a teammate's conversation space.
3
+ * Handles init, MCP config, and connection test automatically.
4
+ */
5
+ import chalk from 'chalk';
6
+ import { execSync } from 'node:child_process';
7
+ import { existsSync } from 'node:fs';
8
+ import { join } from 'node:path';
9
+ import { readFile, writeFile, mkdir } from 'node:fs/promises';
10
+ import inquirer from 'inquirer';
11
+ import WebSocket from 'ws';
12
+ import { findAgentHubDir } from '../../utils/git.js';
13
+ import { readHubConfig } from '../../memory/reader.js';
14
+ import { writeYaml } from '../../utils/yaml.js';
15
+ import { generateAgentId } from '../../utils/id.js';
16
+ export async function joinCommand(serverUrl, options) {
17
+ const cwd = process.cwd();
18
+ const key = options.key;
19
+ if (!serverUrl) {
20
+ console.log(chalk.red('❌ Usage: npx agentmesh-ai join ws://IP:PORT --key KEY'));
21
+ return;
22
+ }
23
+ console.log('');
24
+ // Step 1: Test connection
25
+ console.log(chalk.dim(' Testing connection...'));
26
+ const connected = await testConnection(serverUrl, key);
27
+ if (!connected) {
28
+ console.log(chalk.red(' ❌ Cannot connect to conversation space.'));
29
+ console.log(chalk.dim(' Check: Is the address correct? Is the host\'s firewall open?'));
30
+ console.log(chalk.dim(' Ask the host to run: netsh advfirewall firewall add rule name="AgentMesh" dir=in action=allow protocol=TCP localport=4800'));
31
+ return;
32
+ }
33
+ console.log(chalk.green(' ✅ Connection OK'));
34
+ console.log('');
35
+ // Step 2: Init if needed
36
+ let agentHubDir = findAgentHubDir(cwd);
37
+ let agentId;
38
+ if (!agentHubDir) {
39
+ console.log(chalk.dim(' No .agenthub/ found. Setting up...'));
40
+ console.log('');
41
+ const answers = await inquirer.prompt([
42
+ { type: 'input', name: 'displayName', message: 'Your name?' },
43
+ {
44
+ type: 'list',
45
+ name: 'role',
46
+ message: 'Your role?',
47
+ choices: ['Backend Developer', 'Frontend Developer', 'Full Stack Developer', 'Mobile Developer', 'Designer', 'Other'],
48
+ },
49
+ {
50
+ type: 'list',
51
+ name: 'tool',
52
+ message: 'Your AI coding tool?',
53
+ choices: [
54
+ { name: 'Claude Code', value: 'claude-code' },
55
+ { name: 'Cursor', value: 'cursor' },
56
+ { name: 'Windsurf', value: 'windsurf' },
57
+ { name: 'GitHub Copilot', value: 'copilot' },
58
+ { name: 'Other', value: 'other' },
59
+ ],
60
+ },
61
+ ]);
62
+ agentId = generateAgentId(answers.displayName, answers.tool);
63
+ agentHubDir = join(cwd, '.agenthub');
64
+ await mkdir(join(agentHubDir, 'memory'), { recursive: true });
65
+ await mkdir(join(agentHubDir, 'conversations'), { recursive: true });
66
+ const now = new Date().toISOString();
67
+ const hub = {
68
+ project: cwd.split(/[\\/]/).pop() || 'my-project',
69
+ created: now,
70
+ version: '1.0',
71
+ agents: [{ id: agentId, display_name: answers.displayName, role: answers.role, tool: answers.tool }],
72
+ };
73
+ await writeYaml(join(agentHubDir, 'hub.yaml'), hub);
74
+ const memoryFile = {
75
+ agent: agentId,
76
+ role: answers.role,
77
+ tool: answers.tool,
78
+ last_active: now,
79
+ entries: [],
80
+ };
81
+ await writeYaml(join(agentHubDir, 'memory', `${agentId}.yaml`), memoryFile);
82
+ console.log(chalk.green(` ✅ Initialized .agenthub/ (Agent ID: ${agentId})`));
83
+ }
84
+ else {
85
+ const hub = await readHubConfig(agentHubDir);
86
+ if (hub?.agents.length === 1) {
87
+ agentId = hub.agents[0].id;
88
+ }
89
+ else if (hub && hub.agents.length > 1) {
90
+ const { selected } = await inquirer.prompt([{
91
+ type: 'list',
92
+ name: 'selected',
93
+ message: 'Which agent are you?',
94
+ choices: hub.agents.map(a => ({ name: `${a.display_name} (${a.role})`, value: a.id })),
95
+ }]);
96
+ agentId = selected;
97
+ }
98
+ else {
99
+ agentId = 'default-agent';
100
+ }
101
+ console.log(chalk.dim(` Agent ID: ${agentId}`));
102
+ }
103
+ // Step 3: Detect AI tool and configure MCP
104
+ console.log('');
105
+ const configured = await configureMcp(cwd, agentId, serverUrl, key);
106
+ if (!configured) {
107
+ console.log(chalk.yellow(' ⚠️ Could not auto-configure MCP.'));
108
+ console.log(chalk.dim(' For Claude Code, run manually:'));
109
+ console.log(chalk.dim(` claude mcp add agentmesh -e AGENTHUB_AGENT_ID=${agentId} -e AGENTHUB_SERVER_URL=${serverUrl}${key ? ` -e AGENTHUB_SERVER_KEY=${key}` : ''} -- npx -y agentmesh-ai mcp`));
110
+ console.log('');
111
+ console.log(chalk.dim(' For Cursor, create .cursor/mcp.json with the correct config.'));
112
+ return;
113
+ }
114
+ // Step 4: Done
115
+ console.log('');
116
+ console.log(chalk.green(' ✅ All set!'));
117
+ console.log('');
118
+ console.log(chalk.bold(' Now restart your AI tool and start collaborating.'));
119
+ console.log('');
120
+ }
121
+ async function testConnection(url, key) {
122
+ return new Promise((resolve) => {
123
+ const timeout = setTimeout(() => {
124
+ ws.close();
125
+ resolve(false);
126
+ }, 5000);
127
+ const ws = new WebSocket(url);
128
+ ws.on('open', () => {
129
+ // Send a JOIN to verify key works
130
+ ws.send(JSON.stringify({
131
+ type: 'JOIN',
132
+ agent: { id: '__test__', displayName: 'test', role: 'test', tool: 'test' },
133
+ key,
134
+ }));
135
+ });
136
+ ws.on('message', (data) => {
137
+ clearTimeout(timeout);
138
+ const msg = JSON.parse(data.toString());
139
+ if (msg.type === 'WELCOME') {
140
+ ws.send(JSON.stringify({ type: 'LEAVE' }));
141
+ ws.close();
142
+ resolve(true);
143
+ }
144
+ else if (msg.type === 'ERROR') {
145
+ ws.close();
146
+ resolve(false);
147
+ }
148
+ });
149
+ ws.on('error', () => {
150
+ clearTimeout(timeout);
151
+ resolve(false);
152
+ });
153
+ });
154
+ }
155
+ async function configureMcp(cwd, agentId, serverUrl, key) {
156
+ const envParts = [`AGENTHUB_AGENT_ID=${agentId}`, `AGENTHUB_SERVER_URL=${serverUrl}`];
157
+ if (key)
158
+ envParts.push(`AGENTHUB_SERVER_KEY=${key}`);
159
+ // Try Claude Code
160
+ try {
161
+ try {
162
+ execSync('claude mcp remove agentmesh', { stdio: 'pipe' });
163
+ }
164
+ catch { /* ok */ }
165
+ const envFlags = envParts.map(e => `-e ${e}`).join(' ');
166
+ execSync(`claude mcp add agentmesh ${envFlags} -- npx -y agentmesh-ai mcp`, { stdio: 'pipe' });
167
+ console.log(chalk.green(' ✅ MCP configured (Claude Code)'));
168
+ return true;
169
+ }
170
+ catch {
171
+ // Claude Code CLI not available
172
+ }
173
+ // Try Cursor
174
+ const cursorDir = join(cwd, '.cursor');
175
+ try {
176
+ if (!existsSync(cursorDir))
177
+ await mkdir(cursorDir, { recursive: true });
178
+ const configPath = join(cursorDir, 'mcp.json');
179
+ let existing = {};
180
+ if (existsSync(configPath)) {
181
+ try {
182
+ existing = JSON.parse(await readFile(configPath, 'utf-8'));
183
+ }
184
+ catch { /* ok */ }
185
+ }
186
+ const env = { AGENTHUB_AGENT_ID: agentId, AGENTHUB_SERVER_URL: serverUrl };
187
+ if (key)
188
+ env.AGENTHUB_SERVER_KEY = key;
189
+ const merged = {
190
+ ...existing,
191
+ mcpServers: {
192
+ ...existing.mcpServers,
193
+ agentmesh: {
194
+ command: 'npx',
195
+ args: ['-y', 'agentmesh-ai', 'mcp'],
196
+ env,
197
+ },
198
+ },
199
+ };
200
+ await writeFile(configPath, JSON.stringify(merged, null, 2), 'utf-8');
201
+ console.log(chalk.green(` ✅ MCP configured (Cursor): ${configPath}`));
202
+ return true;
203
+ }
204
+ catch {
205
+ // Failed
206
+ }
207
+ // Try Windsurf
208
+ const windsurfDir = join(cwd, '.windsurf');
209
+ if (existsSync(windsurfDir)) {
210
+ try {
211
+ const configPath = join(windsurfDir, 'mcp.json');
212
+ let existing = {};
213
+ if (existsSync(configPath)) {
214
+ try {
215
+ existing = JSON.parse(await readFile(configPath, 'utf-8'));
216
+ }
217
+ catch { /* ok */ }
218
+ }
219
+ const env = { AGENTHUB_AGENT_ID: agentId, AGENTHUB_SERVER_URL: serverUrl };
220
+ if (key)
221
+ env.AGENTHUB_SERVER_KEY = key;
222
+ const merged = {
223
+ ...existing,
224
+ mcpServers: {
225
+ ...existing.mcpServers,
226
+ agentmesh: { command: 'npx', args: ['-y', 'agentmesh-ai', 'mcp'], env },
227
+ },
228
+ };
229
+ await writeFile(configPath, JSON.stringify(merged, null, 2), 'utf-8');
230
+ console.log(chalk.green(` ✅ MCP configured (Windsurf): ${configPath}`));
231
+ return true;
232
+ }
233
+ catch { /* ok */ }
234
+ }
235
+ return false;
236
+ }
237
+ //# sourceMappingURL=join.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"join.js","sourceRoot":"","sources":["../../../src/cli/commands/join.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"AASA,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,iBAmFvD"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"AAcA,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,iBAyGvD"}
@@ -1,16 +1,22 @@
1
1
  /**
2
- * agenthub serve — Start the conversation space server.
2
+ * agentmesh serve — Start the conversation space server.
3
+ * Auto-configures MCP, shows correct LAN IP, outputs join command for teammates.
3
4
  */
4
5
  import chalk from 'chalk';
6
+ import { execSync } from 'node:child_process';
7
+ import { existsSync } from 'node:fs';
8
+ import { join } from 'node:path';
9
+ import { networkInterfaces } from 'node:os';
5
10
  import { ConversationServer } from '../../conversation/server.js';
6
11
  import { saveConversation } from '../../conversation/recorder.js';
7
12
  import { findAgentHubDir } from '../../utils/git.js';
8
- import { networkInterfaces } from 'node:os';
13
+ import { readHubConfig } from '../../memory/reader.js';
9
14
  export async function serveCommand(options) {
10
15
  const cwd = process.cwd();
11
- const agentHubDir = findAgentHubDir(cwd);
16
+ let agentHubDir = findAgentHubDir(cwd);
17
+ // Auto-init if no .agenthub/ exists
12
18
  if (!agentHubDir) {
13
- console.log(chalk.red('No .agenthub/ found. Run "npx agentmesh-ai init" first.'));
19
+ console.log(chalk.yellow(' No .agenthub/ found. Run "npx agentmesh-ai init" first.'));
14
20
  return;
15
21
  }
16
22
  const port = parseInt(options.port ?? '4800', 10);
@@ -29,6 +35,17 @@ export async function serveCommand(options) {
29
35
  server.onConclusion = (conclusion) => {
30
36
  console.log(chalk.cyan(` 📋 Conclusion on "${conclusion.topic}": ${conclusion.summary.slice(0, 80)}...`));
31
37
  };
38
+ // Try to open firewall on Windows
39
+ if (process.platform === 'win32') {
40
+ try {
41
+ execSync(`netsh advfirewall firewall add rule name="AgentMesh" dir=in action=allow protocol=TCP localport=${port}`, { stdio: 'pipe' });
42
+ }
43
+ catch {
44
+ console.log(chalk.yellow(` ⚠️ Could not auto-open firewall port ${port}.`));
45
+ console.log(chalk.dim(` Run as admin: netsh advfirewall firewall add rule name="AgentMesh" dir=in action=allow protocol=TCP localport=${port}`));
46
+ console.log('');
47
+ }
48
+ }
32
49
  try {
33
50
  await server.start();
34
51
  }
@@ -37,27 +54,32 @@ export async function serveCommand(options) {
37
54
  return;
38
55
  }
39
56
  const lanIp = getLanIp();
57
+ const serverUrl = `ws://${lanIp ?? 'localhost'}:${port}`;
58
+ const serverKey = server.key;
59
+ // Auto-configure own MCP with SERVER_URL
60
+ const hub = await readHubConfig(agentHubDir);
61
+ const myAgentId = hub?.agents[0]?.id;
62
+ if (myAgentId) {
63
+ await autoConfigureMcp(cwd, myAgentId, serverUrl, serverKey);
64
+ }
65
+ // Display info
40
66
  console.log('');
41
67
  console.log(chalk.green(' 🚀 Conversation space is running'));
42
68
  console.log('');
43
- console.log(` Local: ${chalk.cyan(`ws://localhost:${port}`)}`);
44
- if (lanIp) {
45
- console.log(` Network: ${chalk.cyan(`ws://${lanIp}:${port}`)}`);
46
- }
47
- console.log(` Key: ${chalk.cyan(server.key)}`);
69
+ console.log(` Address: ${chalk.cyan(serverUrl)}`);
70
+ console.log(` Key: ${chalk.cyan(serverKey)}`);
48
71
  console.log('');
49
- console.log(chalk.dim(' Share with teammates:'));
50
- console.log(chalk.dim(` Set these env vars in their MCP config:`));
51
- console.log(chalk.dim(` AGENTHUB_SERVER_URL=ws://${lanIp ?? 'localhost'}:${port}`));
52
- console.log(chalk.dim(` AGENTHUB_SERVER_KEY=${server.key}`));
72
+ console.log(chalk.bold(' Send this to your teammates:'));
53
73
  console.log('');
54
- console.log(chalk.dim(' Press Ctrl+C to stop'));
74
+ console.log(` ${chalk.cyan(`npx agentmesh-ai join ${serverUrl} --key ${serverKey}`)}`);
75
+ console.log('');
76
+ console.log(chalk.dim(' Restart your AI tool to connect.'));
77
+ console.log(chalk.dim(' Press Ctrl+C to stop.'));
55
78
  console.log('');
56
79
  // Handle graceful shutdown
57
80
  const shutdown = async () => {
58
81
  console.log('');
59
82
  console.log(chalk.dim(' Shutting down...'));
60
- // Save conversation logs
61
83
  const messages = server.allMessages;
62
84
  const conclusions = server.allConclusions;
63
85
  if (messages.length > 0) {
@@ -76,15 +98,81 @@ export async function serveCommand(options) {
76
98
  process.on('SIGINT', shutdown);
77
99
  process.on('SIGTERM', shutdown);
78
100
  }
101
+ /** Auto-configure MCP for the serve host */
102
+ async function autoConfigureMcp(cwd, agentId, serverUrl, serverKey) {
103
+ // Try Claude Code first
104
+ try {
105
+ try {
106
+ execSync('claude mcp remove agentmesh', { stdio: 'pipe' });
107
+ }
108
+ catch { /* ok */ }
109
+ execSync(`claude mcp add agentmesh -e AGENTHUB_AGENT_ID=${agentId} -e AGENTHUB_SERVER_URL=${serverUrl} -e AGENTHUB_SERVER_KEY=${serverKey} -- npx -y agentmesh-ai mcp`, { stdio: 'pipe' });
110
+ console.log(chalk.green(' ✅ Your MCP configured (Claude Code)'));
111
+ return;
112
+ }
113
+ catch {
114
+ // Claude Code CLI not available
115
+ }
116
+ // Try Cursor config file
117
+ const cursorConfig = join(cwd, '.cursor', 'mcp.json');
118
+ if (existsSync(join(cwd, '.cursor'))) {
119
+ try {
120
+ const { readFile, writeFile } = await import('node:fs/promises');
121
+ let existing = {};
122
+ if (existsSync(cursorConfig)) {
123
+ try {
124
+ existing = JSON.parse(await readFile(cursorConfig, 'utf-8'));
125
+ }
126
+ catch { /* ok */ }
127
+ }
128
+ const merged = {
129
+ ...existing,
130
+ mcpServers: {
131
+ ...existing.mcpServers,
132
+ agentmesh: {
133
+ command: 'npx',
134
+ args: ['-y', 'agentmesh-ai', 'mcp'],
135
+ env: {
136
+ AGENTHUB_AGENT_ID: agentId,
137
+ AGENTHUB_SERVER_URL: serverUrl,
138
+ AGENTHUB_SERVER_KEY: serverKey,
139
+ },
140
+ },
141
+ },
142
+ };
143
+ await writeFile(cursorConfig, JSON.stringify(merged, null, 2), 'utf-8');
144
+ console.log(chalk.green(' ✅ Your MCP configured (Cursor)'));
145
+ }
146
+ catch {
147
+ // Failed to write
148
+ }
149
+ }
150
+ }
151
+ /** Get the real LAN IP, filtering out virtual adapters */
79
152
  function getLanIp() {
80
153
  const interfaces = networkInterfaces();
81
- for (const name of Object.keys(interfaces)) {
82
- for (const iface of interfaces[name] ?? []) {
83
- if (iface.family === 'IPv4' && !iface.internal) {
154
+ // Virtual adapter name patterns to skip
155
+ const virtualPatterns = /meta|wsl|vethernet|vmware|virtualbox|docker|hyper-v|loopback/i;
156
+ // Virtual IP ranges to skip
157
+ const virtualIpPatterns = /^198\.18\.|^172\.(1[6-9]|2[0-9]|3[01])\./;
158
+ let fallback = null;
159
+ for (const [name, addrs] of Object.entries(interfaces)) {
160
+ if (virtualPatterns.test(name))
161
+ continue;
162
+ for (const iface of addrs ?? []) {
163
+ if (iface.family !== 'IPv4' || iface.internal)
164
+ continue;
165
+ if (virtualIpPatterns.test(iface.address))
166
+ continue;
167
+ // Prefer 192.168.x.x or 10.x.x.x
168
+ if (iface.address.startsWith('192.168.') || iface.address.startsWith('10.')) {
84
169
  return iface.address;
85
170
  }
171
+ // Keep as fallback
172
+ if (!fallback)
173
+ fallback = iface.address;
86
174
  }
87
175
  }
88
- return null;
176
+ return fallback;
89
177
  }
90
178
  //# sourceMappingURL=serve.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -8,9 +8,10 @@ import { setupCommand } from './commands/setup.js';
8
8
  import { statusCommand } from './commands/status.js';
9
9
  import { memoryCommand } from './commands/memory.js';
10
10
  import { serveCommand } from './commands/serve.js';
11
+ import { joinCommand } from './commands/join.js';
11
12
  const program = new Command();
12
13
  program
13
- .name('agenthub')
14
+ .name('agentmesh')
14
15
  .description('Shared memory & conversation protocol for AI coding agents')
15
16
  .version('0.1.0');
16
17
  program
@@ -39,6 +40,11 @@ program
39
40
  .option('--host <host>', 'Host to bind to', '0.0.0.0')
40
41
  .option('-k, --key <key>', 'Room key (auto-generated if not provided)')
41
42
  .action(serveCommand);
43
+ program
44
+ .command('join <serverUrl>')
45
+ .description('Join a teammate\'s conversation space (one command does everything)')
46
+ .option('-k, --key <key>', 'Room key')
47
+ .action(joinCommand);
42
48
  program
43
49
  .command('mcp')
44
50
  .description('Start the MCP server (used by AI tools, not humans)')
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,4DAA4D,CAAC;KACzE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kEAAkE,CAAC;KAC/E,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,sBAAsB,EAAE,iCAAiC,CAAC;KACjE,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;KAC7C,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;KAC/D,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,MAAM,CAAC;KAClD,MAAM,CAAC,eAAe,EAAE,iBAAiB,EAAE,SAAS,CAAC;KACrD,MAAM,CAAC,iBAAiB,EAAE,2CAA2C,CAAC;KACtE,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,uEAAuE;IACvE,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,4DAA4D,CAAC;KACzE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kEAAkE,CAAC;KAC/E,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,sBAAsB,EAAE,iCAAiC,CAAC;KACjE,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;KAC7C,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;KAC/D,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,MAAM,CAAC;KAClD,MAAM,CAAC,eAAe,EAAE,iBAAiB,EAAE,SAAS,CAAC;KACrD,MAAM,CAAC,iBAAiB,EAAE,2CAA2C,CAAC;KACtE,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,qEAAqE,CAAC;KAClF,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC;KACrC,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,uEAAuE;IACvE,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { ConversationClient } from '../conversation/client.js';
2
2
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
- export declare function registerConversationTools(server: McpServer, getAgentHubDir: () => string, getAgentId: () => string, getClient: () => ConversationClient | null): void;
3
+ export declare function registerConversationTools(server: McpServer, getAgentHubDir: () => string, getAgentId: () => string, getOrConnectClient: () => Promise<ConversationClient | null>): void;
4
4
  //# sourceMappingURL=conversation-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/conversation-tools.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,MAAM,MAAM,EAC5B,UAAU,EAAE,MAAM,MAAM,EACxB,SAAS,EAAE,MAAM,kBAAkB,GAAG,IAAI,QAioB3C"}
1
+ {"version":3,"file":"conversation-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/conversation-tools.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,MAAM,MAAM,EAC5B,UAAU,EAAE,MAAM,MAAM,EACxB,kBAAkB,EAAE,MAAM,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAioB7D"}
@@ -5,7 +5,7 @@ import { z } from 'zod';
5
5
  import { randomUUID } from 'node:crypto';
6
6
  import { writeMemoryEntry } from '../memory/writer.js';
7
7
  import { readHubConfig } from '../memory/reader.js';
8
- export function registerConversationTools(server, getAgentHubDir, getAgentId, getClient) {
8
+ export function registerConversationTools(server, getAgentHubDir, getAgentId, getOrConnectClient) {
9
9
  server.tool('start_meeting', `Start a meeting — check that all required team members are online before discussing.
10
10
 
11
11
  Use this BEFORE using discuss when you need a team decision. It ensures everyone
@@ -16,7 +16,7 @@ to come online. You can call start_meeting again to check if they've joined.`, {
16
16
  topic: z.string().describe('Meeting topic (e.g. "Database selection", "Architecture review")'),
17
17
  requiredAgents: z.array(z.string()).optional().describe('Agent IDs that must attend. If omitted, all agents from hub.yaml are required.'),
18
18
  }, async ({ topic, requiredAgents }) => {
19
- const client = getClient();
19
+ const client = await getOrConnectClient();
20
20
  if (!client?.isConnected) {
21
21
  return {
22
22
  content: [{
@@ -66,7 +66,7 @@ to come online. You can call start_meeting again to check if they've joined.`, {
66
66
  server.tool('list_conversations', `List active conversation topics and connected agents in the conversation space.
67
67
  Returns the list of online agents and what topics are being discussed.
68
68
  If no conversation space is running, tells you so.`, {}, async () => {
69
- const client = getClient();
69
+ const client = await getOrConnectClient();
70
70
  if (!client?.isConnected) {
71
71
  return {
72
72
  content: [{
@@ -108,7 +108,7 @@ Your message will be seen by all connected agents.`, {
108
108
  message: z.string().describe('Your message to the other agents'),
109
109
  related_to: z.string().optional().describe('Memory topic or file path this relates to'),
110
110
  }, async ({ topic, message, related_to }) => {
111
- const client = getClient();
111
+ const client = await getOrConnectClient();
112
112
  if (!client?.isConnected) {
113
113
  return {
114
114
  content: [{
@@ -141,7 +141,7 @@ Use this to check if other agents have replied to your earlier message.`, {
141
141
  topic: z.string().describe('The topic to get messages from'),
142
142
  since: z.string().optional().describe('Only get messages after this ISO timestamp'),
143
143
  }, async ({ topic, since }) => {
144
- const client = getClient();
144
+ const client = await getOrConnectClient();
145
145
  if (!client?.isConnected) {
146
146
  return {
147
147
  content: [{
@@ -202,7 +202,7 @@ you can discuss asynchronously through shared memory:
202
202
  wait_seconds: z.number().optional().describe('How long to wait for replies (default: 30, max: 120)'),
203
203
  related_to: z.string().optional().describe('Memory topic or file path this discussion relates to'),
204
204
  }, async ({ topic, message, wait_seconds, related_to }) => {
205
- const client = getClient();
205
+ const client = await getOrConnectClient();
206
206
  if (!client?.isConnected) {
207
207
  return {
208
208
  content: [{
@@ -281,7 +281,7 @@ This records the conclusion permanently so all agents (including offline ones) w
281
281
  // Write to memory
282
282
  await writeMemoryEntry(dir, agentId, agentInfo?.role ?? 'developer', agentInfo?.tool ?? 'unknown', { topic, content, tags, decided_with });
283
283
  // Also send CONCLUDE to conversation space
284
- const client = getClient();
284
+ const client = await getOrConnectClient();
285
285
  if (client?.isConnected) {
286
286
  client.conclude(topic, content, tags);
287
287
  }
@@ -316,7 +316,7 @@ Flow:
316
316
  })).describe('The options to choose from (2-5 options)'),
317
317
  recommendation: z.string().optional().describe('Your recommended option and why, if you have one'),
318
318
  }, async ({ title, description: desc, options, recommendation }) => {
319
- const client = getClient();
319
+ const client = await getOrConnectClient();
320
320
  const optionLabels = options.map(o => o.label);
321
321
  const message = [
322
322
  desc,
@@ -447,7 +447,7 @@ Flow:
447
447
  }
448
448
  });
449
449
  server.tool('list_pending_decisions', `List all pending decisions that need votes from team members.`, {}, async () => {
450
- const client = getClient();
450
+ const client = await getOrConnectClient();
451
451
  if (!client?.isConnected) {
452
452
  return { content: [{ type: 'text', text: 'No conversation space running.' }] };
453
453
  }
@@ -479,7 +479,7 @@ A decision is only finalized when ALL humans have voted.`, {
479
479
  })).describe('The options to vote on'),
480
480
  recommendation: z.string().optional().describe('The proposer\'s recommendation'),
481
481
  }, async ({ decisionId, topic, options, recommendation }) => {
482
- const client = getClient();
482
+ const client = await getOrConnectClient();
483
483
  const optionLabels = options.map(o => o.label);
484
484
  const message = [
485
485
  `Team decision requested: ${topic}`,
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-tools.js","sourceRoot":"","sources":["../../src/mcp/conversation-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-tools.js","sourceRoot":"","sources":["../../src/mcp/conversation-tools.ts"],"names":[],"mappings":"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"}
package/dist/mcp/index.js CHANGED
@@ -2,8 +2,9 @@
2
2
  /**
3
3
  * AgentHub MCP Server entry point.
4
4
  *
5
- * This runs as a stdio MCP server, exposing shared memory tools
6
- * to AI coding tools like Claude Code and Cursor.
5
+ * Uses lazy connection to conversation space connects when a tool
6
+ * needs it, not on startup. This fixes the issue where MCP starts
7
+ * before the conversation server is ready.
7
8
  */
8
9
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
9
10
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
@@ -12,20 +13,19 @@ import { registerConversationTools } from './conversation-tools.js';
12
13
  import { registerResources } from './resources.js';
13
14
  import { findAgentHubDir } from '../utils/git.js';
14
15
  import { ConversationClient } from '../conversation/client.js';
15
- import { readHubConfig } from '../memory/reader.js';
16
+ import { readHubConfig, readAgentMemory } from '../memory/reader.js';
17
+ import { join } from 'node:path';
16
18
  async function main() {
17
19
  const server = new McpServer({
18
20
  name: 'AgentHub',
19
21
  version: '0.1.0',
20
22
  });
21
- // Resolve .agenthub directory from current working directory
22
23
  const cwd = process.cwd();
23
24
  let agentHubDir = findAgentHubDir(cwd);
24
- // Read agent identity from environment variables (set during setup)
25
25
  const agentId = process.env.AGENTHUB_AGENT_ID ?? 'default-agent';
26
+ const serverUrl = process.env.AGENTHUB_SERVER_URL;
26
27
  const getDir = () => {
27
28
  if (!agentHubDir) {
28
- // Try again in case it was created after MCP started
29
29
  agentHubDir = findAgentHubDir(cwd);
30
30
  if (!agentHubDir) {
31
31
  throw new Error('No .agenthub/ directory found. Run "npx agentmesh-ai init" first.');
@@ -34,47 +34,70 @@ async function main() {
34
34
  return agentHubDir;
35
35
  };
36
36
  const getAgentId = () => agentId;
37
- // Try to connect to conversation space if available
37
+ // Lazy conversation client connects on demand
38
38
  let conversationClient = null;
39
- const serverUrl = process.env.AGENTHUB_SERVER_URL;
40
- if (serverUrl) {
41
- try {
42
- const hub = await readHubConfig(getDir());
43
- const agentInfo = hub?.agents.find(a => a.id === agentId);
44
- conversationClient = new ConversationClient({
45
- url: serverUrl,
46
- agent: {
47
- id: agentId,
48
- displayName: agentInfo?.display_name ?? agentId,
49
- role: agentInfo?.role ?? 'developer',
50
- tool: agentInfo?.tool ?? 'unknown',
51
- },
52
- key: process.env.AGENTHUB_SERVER_KEY,
53
- });
54
- await conversationClient.connect();
55
- // Auto-sync local memory to conversation space
39
+ let connectPromise = null;
40
+ async function ensureConnected() {
41
+ if (!serverUrl)
42
+ return null;
43
+ if (conversationClient?.isConnected)
44
+ return conversationClient;
45
+ // If already connecting, wait for it
46
+ if (connectPromise) {
47
+ await connectPromise;
48
+ return conversationClient;
49
+ }
50
+ // Start new connection
51
+ connectPromise = (async () => {
56
52
  try {
57
- const { readAgentMemory } = await import('../memory/reader.js');
58
- const { join } = await import('node:path');
59
- const myMemory = await readAgentMemory(join(getDir(), 'memory', `${agentId}.yaml`));
60
- if (myMemory && myMemory.entries.length > 0) {
61
- conversationClient.syncMemory(myMemory.entries);
53
+ const hub = await readHubConfig(getDir());
54
+ const agentInfo = hub?.agents.find(a => a.id === agentId);
55
+ const client = new ConversationClient({
56
+ url: serverUrl,
57
+ agent: {
58
+ id: agentId,
59
+ displayName: agentInfo?.display_name ?? agentId,
60
+ role: agentInfo?.role ?? 'developer',
61
+ tool: agentInfo?.tool ?? 'unknown',
62
+ },
63
+ key: process.env.AGENTHUB_SERVER_KEY,
64
+ });
65
+ await client.connect();
66
+ conversationClient = client;
67
+ // Auto-sync local memory
68
+ try {
69
+ const myMemory = await readAgentMemory(join(getDir(), 'memory', `${agentId}.yaml`));
70
+ if (myMemory && myMemory.entries.length > 0) {
71
+ client.syncMemory(myMemory.entries);
72
+ }
73
+ }
74
+ catch {
75
+ // Best-effort
62
76
  }
63
77
  }
64
78
  catch {
65
- // Memory sync is best-effort
79
+ conversationClient = null;
66
80
  }
67
- }
68
- catch {
69
- // Conversation space not available — memory tools still work fine
70
- conversationClient = null;
71
- }
81
+ finally {
82
+ connectPromise = null;
83
+ }
84
+ })();
85
+ await connectPromise;
86
+ return conversationClient;
72
87
  }
88
+ // getClient returns current client (may be null if not yet connected)
89
+ // Tools that need conversation should call ensureConnected() first
73
90
  const getClient = () => conversationClient;
91
+ // Expose ensureConnected for tools to use
92
+ const getOrConnectClient = () => ensureConnected();
74
93
  // Register tools and resources
75
94
  registerMemoryTools(server, getDir, getAgentId, getClient);
76
- registerConversationTools(server, getDir, getAgentId, getClient);
95
+ registerConversationTools(server, getDir, getAgentId, getOrConnectClient);
77
96
  registerResources(server, getDir);
97
+ // Try connecting eagerly in background (don't block startup)
98
+ if (serverUrl) {
99
+ ensureConnected().catch(() => { });
100
+ }
78
101
  // Connect via stdio
79
102
  const transport = new StdioServerTransport();
80
103
  await server.connect(transport);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentmesh-ai",
3
- "version": "0.1.5",
3
+ "version": "0.2.1",
4
4
  "description": "Shared memory & conversation protocol for AI coding agents",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",