omniwire 2.2.1 → 2.3.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/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  <p align="center">
10
10
  <a href="https://www.npmjs.com/package/omniwire"><img src="https://img.shields.io/npm/v/omniwire?style=for-the-badge&logo=npm&color=CB3837&labelColor=0A0E14" alt="npm" /></a>
11
- <img src="https://img.shields.io/badge/MCP-34_tools-59C2FF?style=for-the-badge&labelColor=0A0E14" alt="tools" />
11
+ <img src="https://img.shields.io/badge/MCP-40_tools-59C2FF?style=for-the-badge&labelColor=0A0E14" alt="tools" />
12
12
  <img src="https://img.shields.io/badge/transport-stdio_%7C_SSE_%7C_REST-91B362?style=for-the-badge&labelColor=0A0E14" alt="transports" />
13
13
  <img src="https://img.shields.io/badge/node-%E2%89%A520-CC93E6?style=for-the-badge&logo=node.js&labelColor=0A0E14" alt="node" />
14
14
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-E6B450?style=for-the-badge&labelColor=0A0E14" alt="license" /></a>
@@ -34,7 +34,7 @@ graph TB
34
34
  direction TB
35
35
  MCP["MCP Protocol Layer\nstdio | SSE | REST"]
36
36
 
37
- subgraph tools["34 Tools"]
37
+ subgraph tools["40 Tools"]
38
38
  direction LR
39
39
  EXEC["Execution\nexec run batch\nbroadcast"]
40
40
  FILES["Files\nread write\ntransfer deploy"]
@@ -110,9 +110,9 @@ omniwire_broadcast parallel across all nodes
110
110
 
111
111
  ### Connection Resilience
112
112
  ```
113
- Connected --> Health Ping (45s)
113
+ Connected --> Health Ping (30s, parallel)
114
114
  | |
115
- | > 5s? --> Degraded warning
115
+ | > 3s? --> Degraded warning
116
116
  |
117
117
  Failure --> Multi-path Failover
118
118
  | WireGuard --> Tailscale --> Public IP
@@ -120,7 +120,7 @@ Failure --> Multi-path Failover
120
120
  +--> Retry (exp. backoff)
121
121
  | 500ms -> 1s -> 2s -> ... -> 15s
122
122
  |
123
- 3 fails --> Circuit OPEN (30s)
123
+ 3 fails --> Circuit OPEN (20s)
124
124
  --> Auto-recover
125
125
  ```
126
126
 
@@ -148,7 +148,7 @@ Claude OpenCode Codex Gemini ...
148
148
 
149
149
  ---
150
150
 
151
- ## All 34 Tools
151
+ ## All 40 Tools
152
152
 
153
153
  <details>
154
154
  <summary><b>Execution (4 tools)</b></summary>
@@ -231,6 +231,20 @@ Claude OpenCode Codex Gemini ...
231
231
 
232
232
  </details>
233
233
 
234
+ <details>
235
+ <summary><b>DevOps (6 tools) — NEW in v2.3.0</b></summary>
236
+
237
+ | Tool | Description |
238
+ |------|-------------|
239
+ | `omniwire_cron` | List/add/remove cron jobs on any node |
240
+ | `omniwire_env` | Get/set/list environment variables (persistent via /etc/environment) |
241
+ | `omniwire_network` | Network diagnostics: ping, traceroute, dns, ports, speed, connections |
242
+ | `omniwire_clipboard` | Shared clipboard buffer across all mesh nodes |
243
+ | `omniwire_git` | Run git commands on repos on any node |
244
+ | `omniwire_syslog` | Query journalctl with unit/priority/time filters |
245
+
246
+ </details>
247
+
234
248
  <details>
235
249
  <summary><b>CyberSync (9 tools)</b></summary>
236
250
 
@@ -309,7 +323,7 @@ omniwire # or: ow
309
323
  | Operation | Latency | Details |
310
324
  |-----------|---------|---------|
311
325
  | **Command exec** | `~120ms` | SSH2 + command + return |
312
- | **Mesh status** | `~150ms` | Parallel probes, 8s cache |
326
+ | **Mesh status** | `~150ms` | Parallel probes, 5s cache |
313
327
  | **File read (<1MB)** | `~80ms` | SFTP, binary-safe |
314
328
  | **Transfer (10MB)** | `~200ms` | gzip netcat over WireGuard |
315
329
  | **Config push** | `~200ms` | Parallel to all nodes + Obsidian mirror |
@@ -319,7 +333,7 @@ omniwire # or: ow
319
333
 
320
334
  ## Security
321
335
 
322
- All remote execution uses `ssh2.Client.exec()`, never `child_process.exec()`. Key-based auth only, no passwords stored. Multi-path failover (WireGuard → Tailscale → Public IP) with SSH key caching. CyberBase: single PostgreSQL DB for all projects. XChaCha20-Poly1305 at-rest encryption for synced configs. 2MB output guard prevents memory exhaustion. Circuit breaker with 30s auto-recovery isolates failing nodes.
336
+ All remote execution uses `ssh2.Client.exec()`, never `child_process.exec()`. Key-based auth only, no passwords stored. Multi-path failover (WireGuard → Tailscale → Public IP) with SSH key caching. CyberBase: single PostgreSQL DB for all projects. XChaCha20-Poly1305 at-rest encryption for synced configs. 2MB output guard prevents memory exhaustion. Circuit breaker with 20s auto-recovery isolates failing nodes. Output auto-truncated at 4KB to prevent context bloat in AI agents.
323
337
 
324
338
  ---
325
339
 
@@ -341,6 +355,39 @@ omniwire --stdio --no-sync # MCP without CyberSync
341
355
 
342
356
  ## Changelog
343
357
 
358
+ ### v2.3.0 — Compact Output, Speed, New Tools
359
+
360
+ **Output Overhaul**
361
+ - Complete rewrite of MCP output formatting — compact, scannable, AI-agent optimized
362
+ - Auto-truncation at 4KB prevents context window bloat
363
+ - Smart time formatting: `342ms` for fast, `2.1s` for slow ops
364
+ - Multi-node results use `--` separator with per-node status markers
365
+ - One-liner responses for write/install/deploy/tunnel operations
366
+ - Mesh status now tabular with `+`/`-` online indicators
367
+ - Human-readable file sizes in transfer results (`1.2MB` not bytes)
368
+ - Error prefix standardized to `ERR` for quick scanning
369
+ - `label` parameter now used as primary display in all exec-type tools
370
+
371
+ **Performance**
372
+ - Health pings now parallel (`Promise.allSettled`) instead of serial loop
373
+ - Keepalive interval: 3s (was 5s) — faster dead connection detection
374
+ - Keepalive max retries: 2 (was 3) — 6s detection vs 15s
375
+ - Status cache TTL: 5s (was 8s) — fresher data
376
+ - Circuit breaker recovery: 20s (was 30s) — faster node recovery
377
+ - Connection timeout: 6s (was 8s) — faster failover
378
+ - Transfer netcat sleep: 100ms (was 200ms)
379
+ - Transfer aria2c sleep: 250ms (was 500ms)
380
+
381
+ **6 New Tools (34 → 40)**
382
+ - `omniwire_cron` — manage cron jobs (list/add/remove) on any node
383
+ - `omniwire_env` — get/set/list persistent environment variables
384
+ - `omniwire_network` — diagnostics: ping, traceroute, dns, ports, speed, connections
385
+ - `omniwire_clipboard` — shared clipboard buffer across all mesh nodes
386
+ - `omniwire_git` — run git commands on repos on any node
387
+ - `omniwire_syslog` — query journalctl with unit/priority/time filters
388
+
389
+ ---
390
+
344
391
  ### v2.2.1 — Security & Bug Fixes
345
392
 
346
393
  **omniwire_exec**
@@ -405,7 +452,7 @@ omniwire --stdio --no-sync # MCP without CyberSync
405
452
  ```
406
453
  omniwire/
407
454
  src/
408
- mcp/ MCP server (34 tools, 3 transports)
455
+ mcp/ MCP server (40 tools, 3 transports)
409
456
  nodes/ SSH2 pool, transfer engine, PTY, tunnels
410
457
  sync/ CyberSync + CyberBase (PostgreSQL, Obsidian vault, encryption)
411
458
  protocol/ Mesh config, types, path parsing
@@ -1,4 +1,4 @@
1
- // OmniWire MCP Server — 34-tool universal AI agent interface (25 core + 9 CyberSync)
1
+ // OmniWire MCP Server -- 34-tool universal AI agent interface (25 core + 9 CyberSync)
2
2
  // Works with Claude Code, OpenCode, Oh-My-OpenAgent, OpenClaw, and any MCP client
3
3
  //
4
4
  // SECURITY NOTE: This file does NOT use child_process.exec(). All remote command
@@ -10,21 +10,47 @@ import { ShellManager, kernelExec } from '../nodes/shell.js';
10
10
  import { RealtimeChannel } from '../nodes/realtime.js';
11
11
  import { TunnelManager } from '../nodes/tunnel.js';
12
12
  import { openBrowser } from '../commands/browser.js';
13
- import { allNodes, remoteNodes, findNode, NODE_ROLES, getDefaultNodeForTask } from '../protocol/config.js';
13
+ import { remoteNodes, findNode, NODE_ROLES, getDefaultNodeForTask } from '../protocol/config.js';
14
14
  import { parseMeshPath } from '../protocol/paths.js';
15
- // Compact output helpers — keeps Claude Code tool results clean
15
+ const MAX_OUTPUT = 4000;
16
+ function t(ms) {
17
+ return ms < 1000 ? `${ms}ms` : `${(ms / 1000).toFixed(1)}s`;
18
+ }
19
+ function trim(s) {
20
+ return s.length > MAX_OUTPUT ? s.slice(0, MAX_OUTPUT) + '\n...(truncated)' : s;
21
+ }
16
22
  function ok(node, ms, body, label) {
17
- const tag = label ?? node;
18
- return { content: [{ type: 'text', text: `[${tag}] (${ms}ms)
19
- ${body}` }] };
23
+ const hdr = label ? `${node} > ${label}` : node;
24
+ return { content: [{ type: 'text', text: `${hdr} ${t(ms)}\n${trim(body)}` }] };
20
25
  }
21
- function fail(msg) {
26
+ function okBrief(msg) {
22
27
  return { content: [{ type: 'text', text: msg }] };
23
28
  }
29
+ function fail(msg) {
30
+ return { content: [{ type: 'text', text: `ERR ${msg}` }] };
31
+ }
32
+ function fmtExecOutput(result, timeoutSec) {
33
+ if (result.code === 0)
34
+ return result.stdout || '(empty)';
35
+ if (result.code === 124)
36
+ return `TIMEOUT ${timeoutSec}s\n${result.stdout || '(empty)'}`;
37
+ return `exit ${result.code}\n${result.stderr}`;
38
+ }
39
+ function multiResult(results) {
40
+ const parts = results.map((r) => {
41
+ const mark = r.code === 0 ? 'ok' : `exit ${r.code}`;
42
+ const body = r.code === 0
43
+ ? (r.stdout || '(empty)').split('\n').slice(0, 30).join('\n')
44
+ : r.stderr.split('\n').slice(0, 10).join('\n');
45
+ return `-- ${r.nodeId} ${t(r.durationMs)} ${mark}\n${body}`;
46
+ });
47
+ return okBrief(trim(parts.join('\n\n')));
48
+ }
49
+ // -----------------------------------------------------------------------------
24
50
  export function createOmniWireServer(manager, transfer) {
25
51
  const server = new McpServer({
26
52
  name: 'omniwire',
27
- version: '2.2.1',
53
+ version: '2.3.0',
28
54
  });
29
55
  const shells = new ShellManager(manager);
30
56
  const realtime = new RealtimeChannel(manager);
@@ -37,16 +63,15 @@ export function createOmniWireServer(manager, transfer) {
37
63
  script: z.string().optional().describe('Multi-line script content. Sent as temp file via SFTP then executed. Use this instead of command for scripts >3 lines to keep tool calls compact.'),
38
64
  label: z.string().optional().describe('Short label for the operation (shown in tool call UI instead of full command). Max 60 chars.'),
39
65
  },
40
- // Remote SSH2 execution — manager.exec() uses ssh2 client.exec(), not child_process
66
+ // Remote SSH2 execution -- manager.exec() uses ssh2 client.exec(), not child_process
41
67
  async ({ node, command, timeout, script, label }) => {
42
68
  if (!command && !script) {
43
- return fail('Error: either command or script is required');
69
+ return fail('either command or script is required');
44
70
  }
45
71
  const nodeId = node ?? 'contabo';
46
72
  const timeoutSec = timeout ?? 30;
47
73
  let effectiveCmd;
48
74
  if (script) {
49
- // Multi-line script: write to temp file via SSH, execute, clean up
50
75
  const tmpFile = `/tmp/.ow-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
51
76
  effectiveCmd = `cat << 'OMNIWIRE_SCRIPT_EOF' > ${tmpFile}\n${script}\nOMNIWIRE_SCRIPT_EOF\nchmod +x ${tmpFile} && timeout ${timeoutSec} ${tmpFile}; _rc=$?; rm -f ${tmpFile}; exit $_rc`;
52
77
  }
@@ -56,12 +81,7 @@ export function createOmniWireServer(manager, transfer) {
56
81
  : command;
57
82
  }
58
83
  const result = await manager.exec(nodeId, effectiveCmd);
59
- const output = result.code === 0
60
- ? result.stdout || '(no output)'
61
- : result.code === 124
62
- ? `Timeout after ${timeoutSec}s: ${result.stdout || '(no output)'}`
63
- : `Error (exit ${result.code}): ${result.stderr}`;
64
- return ok(nodeId, result.durationMs, output, label ?? undefined);
84
+ return ok(nodeId, result.durationMs, fmtExecOutput(result, timeoutSec), label ?? undefined);
65
85
  });
66
86
  // --- Tool 2: omniwire_broadcast ---
67
87
  server.tool('omniwire_broadcast', 'Execute a command on all online mesh nodes simultaneously.', {
@@ -71,47 +91,34 @@ export function createOmniWireServer(manager, transfer) {
71
91
  const results = targetNodes
72
92
  ? await manager.execOn(targetNodes, command)
73
93
  : await manager.execAll(command);
74
- const text = results.map((r) => {
75
- const body = r.code === 0 ? r.stdout || '(no output)' : `Error: ${r.stderr}`;
76
- return `[${r.nodeId}] (${r.durationMs}ms)\n${body}`;
77
- }).join('\n\n');
78
- return { content: [{ type: 'text', text }] };
94
+ return multiResult(results);
79
95
  });
80
96
  // --- Tool 3: omniwire_mesh_status ---
81
97
  server.tool('omniwire_mesh_status', 'Get health and resource usage for all mesh nodes.', {}, async () => {
82
98
  const statuses = await manager.getAllStatus();
83
99
  const lines = statuses.map((s) => {
84
- const node = allNodes().find((n) => n.id === s.nodeId);
85
- const role = NODE_ROLES[s.nodeId] ?? 'unknown';
86
- const status = s.online ? 'ONLINE' : 'OFFLINE';
87
- const lat = s.latencyMs !== null ? `${s.latencyMs}ms` : '-';
88
- const mem = s.memUsedPct !== null ? `${s.memUsedPct.toFixed(0)}%` : '-';
89
- const disk = s.diskUsedPct !== null ? `${s.diskUsedPct.toFixed(0)}%` : '-';
90
- return `${s.nodeId} (${role}) | ${node?.host ?? '-'} | ${status} | lat=${lat} | load=${s.loadAvg ?? '-'} | mem=${mem} | disk=${disk}`;
100
+ const status = s.online ? '+' : '-';
101
+ const lat = s.latencyMs !== null ? `${s.latencyMs}ms` : '--';
102
+ const mem = s.memUsedPct !== null ? `${s.memUsedPct.toFixed(0)}%` : '--';
103
+ const disk = s.diskUsedPct !== null ? `${s.diskUsedPct.toFixed(0)}%` : '--';
104
+ const role = NODE_ROLES[s.nodeId] ?? '';
105
+ return `${status} ${s.nodeId.padEnd(10)} ${role.padEnd(8)} lat=${lat.padStart(5)} mem=${mem.padStart(4)} disk=${disk.padStart(4)} load=${s.loadAvg ?? '--'}`;
91
106
  });
92
- return { content: [{ type: 'text', text: lines.join('\n') }] };
107
+ return okBrief(lines.join('\n'));
93
108
  });
94
109
  // --- Tool 4: omniwire_node_info ---
95
110
  server.tool('omniwire_node_info', 'Get detailed information about a specific node.', { node: z.string().describe('Node id') }, async ({ node }) => {
96
111
  const meshNode = findNode(node);
97
112
  if (!meshNode)
98
- return { content: [{ type: 'text', text: `Unknown node: ${node}` }] };
99
- const status = await manager.getNodeStatus(meshNode.id);
100
- const role = NODE_ROLES[meshNode.id] ?? 'unknown';
101
- const text = [
102
- `Node: ${meshNode.id} (${meshNode.alias})`,
103
- `Role: ${role}`,
104
- `Host: ${meshNode.host}:${meshNode.port}`,
105
- `OS: ${meshNode.os}`,
106
- `Tags: ${meshNode.tags.join(', ')}`,
107
- `Status: ${status.online ? 'ONLINE' : 'OFFLINE'}`,
108
- `Latency: ${status.latencyMs ?? '-'}ms`,
109
- `Uptime: ${status.uptime ?? '-'}`,
110
- `Load: ${status.loadAvg ?? '-'}`,
111
- `Memory: ${status.memUsedPct !== null ? `${status.memUsedPct.toFixed(1)}%` : '-'}`,
112
- `Disk: ${status.diskUsedPct !== null ? `${status.diskUsedPct.toFixed(0)}%` : '-'}`,
113
- ].join('\n');
114
- return { content: [{ type: 'text', text }] };
113
+ return fail(`unknown node: ${node}`);
114
+ const s = await manager.getNodeStatus(meshNode.id);
115
+ const role = NODE_ROLES[meshNode.id] ?? '';
116
+ const status = s.online ? 'ONLINE' : 'OFFLINE';
117
+ const text = `${meshNode.id} (${meshNode.alias}) ${status}
118
+ role=${role} host=${meshNode.host}:${meshNode.port} os=${meshNode.os}
119
+ lat=${s.latencyMs ?? '--'}ms up=${s.uptime ?? '--'} load=${s.loadAvg ?? '--'} mem=${s.memUsedPct !== null ? `${s.memUsedPct.toFixed(1)}%` : '--'} disk=${s.diskUsedPct !== null ? `${s.diskUsedPct.toFixed(0)}%` : '--'}
120
+ tags: ${meshNode.tags.join(', ')}`;
121
+ return okBrief(text);
115
122
  });
116
123
  // --- Tool 5: omniwire_read_file ---
117
124
  server.tool('omniwire_read_file', 'Read a file from any mesh node. Default node: contabo (storage).', {
@@ -131,10 +138,10 @@ export function createOmniWireServer(manager, transfer) {
131
138
  if (max_lines) {
132
139
  content = content.split('\n').slice(0, max_lines).join('\n');
133
140
  }
134
- return { content: [{ type: 'text', text: content }] };
141
+ return okBrief(trim(content));
135
142
  }
136
143
  catch (e) {
137
- return { content: [{ type: 'text', text: `Error: ${e.message}` }] };
144
+ return fail(e.message);
138
145
  }
139
146
  });
140
147
  // --- Tool 6: omniwire_write_file ---
@@ -152,10 +159,10 @@ export function createOmniWireServer(manager, transfer) {
152
159
  }
153
160
  try {
154
161
  await transfer.writeFile(nodeId, filePath, content);
155
- return { content: [{ type: 'text', text: `Written ${filePath} on ${nodeId}` }] };
162
+ return okBrief(`${nodeId}:${filePath} written`);
156
163
  }
157
164
  catch (e) {
158
- return { content: [{ type: 'text', text: `Error: ${e.message}` }] };
165
+ return fail(e.message);
159
166
  }
160
167
  });
161
168
  // --- Tool 7: omniwire_transfer_file ---
@@ -167,15 +174,18 @@ export function createOmniWireServer(manager, transfer) {
167
174
  const srcParsed = parseMeshPath(src);
168
175
  const dstParsed = parseMeshPath(dst);
169
176
  if (!srcParsed)
170
- return { content: [{ type: 'text', text: `Invalid source path: ${src}. Use node:/path format.` }] };
177
+ return fail(`invalid source: ${src} (use node:/path)`);
171
178
  if (!dstParsed)
172
- return { content: [{ type: 'text', text: `Invalid dest path: ${dst}. Use node:/path format.` }] };
179
+ return fail(`invalid dest: ${dst} (use node:/path)`);
173
180
  try {
174
- const result = await transfer.transfer(srcParsed.nodeId, srcParsed.path, dstParsed.nodeId, dstParsed.path, mode ? { mode } : undefined);
175
- return { content: [{ type: 'text', text: `Transferred ${result.bytesTransferred} bytes via ${result.mode} in ${result.durationMs}ms (${result.speedMBps.toFixed(1)} MB/s)` }] };
181
+ const r = await transfer.transfer(srcParsed.nodeId, srcParsed.path, dstParsed.nodeId, dstParsed.path, mode ? { mode } : undefined);
182
+ const size = r.bytesTransferred > 1048576
183
+ ? `${(r.bytesTransferred / 1048576).toFixed(1)}MB`
184
+ : `${(r.bytesTransferred / 1024).toFixed(0)}KB`;
185
+ return okBrief(`${srcParsed.nodeId} -> ${dstParsed.nodeId} ${size} via ${r.mode} ${t(r.durationMs)} ${r.speedMBps.toFixed(1)}MB/s`);
176
186
  }
177
187
  catch (e) {
178
- return { content: [{ type: 'text', text: `Transfer error: ${e.message}` }] };
188
+ return fail(e.message);
179
189
  }
180
190
  });
181
191
  // --- Tool 8: omniwire_list_files ---
@@ -193,10 +203,10 @@ export function createOmniWireServer(manager, transfer) {
193
203
  try {
194
204
  const entries = await transfer.readdir(nodeId, dirPath);
195
205
  const text = entries.map((e) => `${e.isDirectory ? 'd' : '-'} ${e.permissions.padEnd(11)} ${String(e.size).padStart(10)} ${e.modified} ${e.name}`).join('\n');
196
- return { content: [{ type: 'text', text: text || '(empty directory)' }] };
206
+ return okBrief(trim(text || '(empty)'));
197
207
  }
198
208
  catch (e) {
199
- return { content: [{ type: 'text', text: `Error: ${e.message}` }] };
209
+ return fail(e.message);
200
210
  }
201
211
  });
202
212
  // --- Tool 9: omniwire_find_files ---
@@ -214,11 +224,7 @@ export function createOmniWireServer(manager, transfer) {
214
224
  const results = targetNodes
215
225
  ? await manager.execOn(targetNodes, cmd)
216
226
  : await manager.execAll(cmd);
217
- const text = results.map((r) => {
218
- const body = r.code === 0 ? r.stdout || '(no matches)' : `Error: ${r.stderr}`;
219
- return `[${r.nodeId}]\n${body}`;
220
- }).join('\n\n');
221
- return { content: [{ type: 'text', text }] };
227
+ return multiResult(results);
222
228
  });
223
229
  // --- Tool 10: omniwire_tail_log ---
224
230
  server.tool('omniwire_tail_log', 'Read the last N lines of a log file on a node.', {
@@ -228,8 +234,9 @@ export function createOmniWireServer(manager, transfer) {
228
234
  }, async ({ path, node, lines }) => {
229
235
  const n = lines ?? 50;
230
236
  const result = await manager.exec(node, `tail -n ${n} "${path}"`);
231
- const text = result.code === 0 ? result.stdout : `Error: ${result.stderr}`;
232
- return { content: [{ type: 'text', text: `[${node}] ${path} (last ${n} lines)\n${text}` }] };
237
+ if (result.code !== 0)
238
+ return fail(result.stderr);
239
+ return ok(node, result.durationMs, result.stdout, `tail ${path}`);
233
240
  });
234
241
  // --- Tool 11: omniwire_process_list ---
235
242
  server.tool('omniwire_process_list', 'List processes across mesh nodes, optionally filtered.', {
@@ -243,8 +250,7 @@ export function createOmniWireServer(manager, transfer) {
243
250
  const results = targetNodes
244
251
  ? await manager.execOn(targetNodes, cmd)
245
252
  : await manager.execAll(cmd);
246
- const text = results.map((r) => `[${r.nodeId}]\n${r.stdout}`).join('\n\n');
247
- return { content: [{ type: 'text', text }] };
253
+ return multiResult(results);
248
254
  });
249
255
  // --- Tool 12: omniwire_disk_usage ---
250
256
  server.tool('omniwire_disk_usage', 'Show disk usage across mesh nodes.', { nodes: z.array(z.string()).optional() }, async ({ nodes: targetNodes }) => {
@@ -252,8 +258,7 @@ export function createOmniWireServer(manager, transfer) {
252
258
  const results = targetNodes
253
259
  ? await manager.execOn(targetNodes, cmd)
254
260
  : await manager.execAll(cmd);
255
- const text = results.map((r) => `[${r.nodeId}]\n${r.stdout}`).join('\n\n');
256
- return { content: [{ type: 'text', text }] };
261
+ return multiResult(results);
257
262
  });
258
263
  // --- Tool 13: omniwire_install_package ---
259
264
  server.tool('omniwire_install_package', 'Install a package on a node via apt, npm, or pip.', {
@@ -275,10 +280,9 @@ export function createOmniWireServer(manager, transfer) {
275
280
  break;
276
281
  }
277
282
  const result = await manager.exec(node, cmd);
278
- const text = result.code === 0
279
- ? `Installed ${package_name} via ${pm} on ${node}`
280
- : `Install failed: ${result.stderr}`;
281
- return { content: [{ type: 'text', text }] };
283
+ return result.code === 0
284
+ ? okBrief(`${node} installed ${package_name} (${pm})`)
285
+ : fail(`${node} ${pm} install ${package_name}: ${result.stderr.split('\n').slice(-3).join('\n')}`);
282
286
  });
283
287
  // --- Tool 14: omniwire_service_control ---
284
288
  server.tool('omniwire_service_control', 'Control systemd services on a node.', {
@@ -287,8 +291,10 @@ export function createOmniWireServer(manager, transfer) {
287
291
  node: z.string().describe('Target node'),
288
292
  }, async ({ service, action, node }) => {
289
293
  const result = await manager.exec(node, `systemctl ${action} ${service}`);
290
- const text = result.code === 0 ? result.stdout || `${action} ${service}: OK` : `Error: ${result.stderr}`;
291
- return { content: [{ type: 'text', text: `[${node}] ${text}` }] };
294
+ if (result.code !== 0)
295
+ return fail(`${node} systemctl ${action} ${service}: ${result.stderr}`);
296
+ const body = result.stdout || 'ok';
297
+ return okBrief(`${node} ${action} ${service}: ${body.split('\n').slice(0, 5).join('\n')}`);
292
298
  });
293
299
  // --- Tool 15: omniwire_docker ---
294
300
  server.tool('omniwire_docker', 'Run docker commands on a node. Default: contabo.', {
@@ -297,8 +303,9 @@ export function createOmniWireServer(manager, transfer) {
297
303
  }, async ({ command, node }) => {
298
304
  const nodeId = node ?? 'contabo';
299
305
  const result = await manager.exec(nodeId, `docker ${command}`);
300
- const text = result.code === 0 ? result.stdout : `Error: ${result.stderr}`;
301
- return { content: [{ type: 'text', text: `[${nodeId}] docker ${command}\n${text}` }] };
306
+ if (result.code !== 0)
307
+ return fail(`${nodeId} docker ${command}: ${result.stderr}`);
308
+ return ok(nodeId, result.durationMs, result.stdout, `docker ${command.split(' ')[0]}`);
302
309
  });
303
310
  // --- Tool 16: omniwire_open_browser ---
304
311
  server.tool('omniwire_open_browser', 'Open a URL in a browser. Default: thinkpad (has GPU + display).', {
@@ -306,7 +313,7 @@ export function createOmniWireServer(manager, transfer) {
306
313
  node: z.string().optional().describe('Node to open on (default: thinkpad)'),
307
314
  }, async ({ url, node }) => {
308
315
  const result = await openBrowser(manager, url, node);
309
- return { content: [{ type: 'text', text: result }] };
316
+ return okBrief(result);
310
317
  });
311
318
  // --- Tool 17: omniwire_port_forward ---
312
319
  server.tool('omniwire_port_forward', 'Create an SSH port forward tunnel to a node.', {
@@ -320,21 +327,20 @@ export function createOmniWireServer(manager, transfer) {
320
327
  const act = action ?? 'create';
321
328
  if (act === 'list') {
322
329
  const list = tunnels.list();
323
- const text = list.length === 0
324
- ? 'No active tunnels'
325
- : list.map((t) => `${t.id}: localhost:${t.localPort} → ${t.nodeId}:${t.remotePort}`).join('\n');
326
- return { content: [{ type: 'text', text }] };
330
+ if (list.length === 0)
331
+ return okBrief('no active tunnels');
332
+ return okBrief(list.map((tn) => `${tn.id} :${tn.localPort} -> ${tn.nodeId}:${tn.remotePort}`).join('\n'));
327
333
  }
328
334
  if (act === 'close' && tunnel_id) {
329
335
  tunnels.close(tunnel_id);
330
- return { content: [{ type: 'text', text: `Closed tunnel ${tunnel_id}` }] };
336
+ return okBrief(`closed ${tunnel_id}`);
331
337
  }
332
338
  try {
333
339
  const info = await tunnels.create(node, local_port, remote_port, remote_host);
334
- return { content: [{ type: 'text', text: `Tunnel ${info.id}: localhost:${info.localPort} → ${info.nodeId}:${info.remotePort}` }] };
340
+ return okBrief(`tunnel ${info.id} :${info.localPort} -> ${info.nodeId}:${info.remotePort}`);
335
341
  }
336
342
  catch (e) {
337
- return { content: [{ type: 'text', text: `Error: ${e.message}` }] };
343
+ return fail(e.message);
338
344
  }
339
345
  });
340
346
  // --- Tool 18: omniwire_deploy ---
@@ -345,15 +351,14 @@ export function createOmniWireServer(manager, transfer) {
345
351
  dst_nodes: z.array(z.string()).optional().describe('Target nodes (default: all remote)'),
346
352
  }, async ({ src_node, src_path, dst_path, dst_nodes }) => {
347
353
  const targets = (dst_nodes ?? remoteNodes().map((n) => n.id)).filter((dst) => dst !== src_node);
348
- // Parallel deployment to all targets
349
354
  const settled = await Promise.allSettled(targets.map(async (dst) => {
350
355
  const r = await transfer.transfer(src_node, src_path, dst, dst_path);
351
356
  return { dst, speed: r.speedMBps };
352
357
  }));
353
- const results = settled.map((s, i) => s.status === 'fulfilled'
354
- ? `${s.value.dst}: OK (${s.value.speed.toFixed(1)} MB/s)`
355
- : `${targets[i]}: FAILED — ${s.reason.message}`);
356
- return { content: [{ type: 'text', text: `Deploy ${src_path} → ${dst_path}\n${results.join('\n')}` }] };
358
+ const lines = settled.map((s, i) => s.status === 'fulfilled'
359
+ ? ` ${s.value.dst} ok ${s.value.speed.toFixed(1)}MB/s`
360
+ : ` ${targets[i]} FAIL ${s.reason.message}`);
361
+ return okBrief(`deploy ${src_path} -> ${dst_path}\n${lines.join('\n')}`);
357
362
  });
358
363
  // --- Tool 19: omniwire_kernel ---
359
364
  server.tool('omniwire_kernel', 'Kernel-level operations: dmesg, sysctl, modprobe, lsmod, strace, perf.', {
@@ -362,7 +367,7 @@ export function createOmniWireServer(manager, transfer) {
362
367
  node: z.string().describe('Target node'),
363
368
  }, async ({ operation, args, node }) => {
364
369
  const output = await kernelExec(manager, node, operation, args ?? '');
365
- return { content: [{ type: 'text', text: `[${node}] ${operation} ${args ?? ''}\n${output}` }] };
370
+ return ok(node, 0, output, `${operation} ${args ?? ''}`.trim());
366
371
  });
367
372
  // --- Tool 20: omniwire_stream ---
368
373
  server.tool('omniwire_stream', 'Capture streaming command output (for tail -f, watch, etc.) for a limited duration.', {
@@ -383,7 +388,7 @@ export function createOmniWireServer(manager, transfer) {
383
388
  finally {
384
389
  clearTimeout(timer);
385
390
  }
386
- return { content: [{ type: 'text', text: `[${node}] stream: ${command}\n${output}` }] };
391
+ return ok(node, maxMs, output, `stream`);
387
392
  });
388
393
  // --- Tool 21: omniwire_shell ---
389
394
  server.tool('omniwire_shell', 'Run a sequence of commands in a persistent shell session (preserves cwd, env vars).', {
@@ -407,7 +412,7 @@ export function createOmniWireServer(manager, transfer) {
407
412
  channel.write('exit\n');
408
413
  await closePromise;
409
414
  shells.closeShell(session.id);
410
- return { content: [{ type: 'text', text: `[${node}] persistent shell\n${output}` }] };
415
+ return ok(node, 0, output, `shell (${commands.length} cmds)`);
411
416
  });
412
417
  // --- Tool 22: omniwire_live_monitor ---
413
418
  server.tool('omniwire_live_monitor', 'Watch system metrics across all nodes (snapshot).', {
@@ -429,12 +434,11 @@ export function createOmniWireServer(manager, transfer) {
429
434
  cmd = "ss -s";
430
435
  break;
431
436
  case 'all':
432
- cmd = "echo '=== CPU ===' && top -bn1 | head -5 && echo '=== MEM ===' && free -h && echo '=== DISK ===' && df -h / 2>/dev/null";
437
+ cmd = "echo '=CPU=' && top -bn1 | head -5 && echo '=MEM=' && free -h && echo '=DISK=' && df -h / 2>/dev/null";
433
438
  break;
434
439
  }
435
440
  const results = await manager.execAll(cmd);
436
- const text = results.map((r) => `[${r.nodeId}]\n${r.stdout}`).join('\n\n');
437
- return { content: [{ type: 'text', text }] };
441
+ return multiResult(results);
438
442
  });
439
443
  // --- Tool 23: omniwire_run (compact multi-line script execution) ---
440
444
  server.tool('omniwire_run', 'Execute a multi-line script on a node. The script is written to a temp file and executed, keeping tool call display compact. Use this instead of omniwire_exec for Python scripts, heredocs, or any command >3 lines.', {
@@ -463,13 +467,7 @@ export function createOmniWireServer(manager, transfer) {
463
467
  `_rc=$?; rm -f ${tmpFile}; exit $_rc`,
464
468
  ].join('\n');
465
469
  const result = await manager.exec(nodeId, wrappedCmd);
466
- const displayLabel = label ? ` (${label})` : '';
467
- const output = result.code === 0
468
- ? result.stdout || '(no output)'
469
- : result.code === 124
470
- ? `Timeout after ${timeoutSec}s: ${result.stdout || '(no output)'}`
471
- : `Error (exit ${result.code}): ${result.stderr}`;
472
- return { content: [{ type: 'text', text: `[${nodeId}]${displayLabel} (${result.durationMs}ms)\n${output}` }] };
470
+ return ok(nodeId, result.durationMs, fmtExecOutput(result, timeoutSec), label ?? `${interp} script`);
473
471
  });
474
472
  // --- Tool 25: omniwire_batch (multiple commands, single tool call) ---
475
473
  server.tool('omniwire_batch', 'Run multiple commands on one or more nodes in a single tool call. Returns all results. Use this to avoid multiple sequential omniwire_exec calls.', {
@@ -484,11 +482,11 @@ export function createOmniWireServer(manager, transfer) {
484
482
  const execute = async (item) => {
485
483
  const nodeId = item.node ?? 'contabo';
486
484
  const result = await manager.exec(nodeId, item.command);
487
- const lbl = item.label ? ` ${item.label}` : '';
488
- const output = result.code === 0
489
- ? result.stdout || '(no output)'
490
- : `Error (exit ${result.code}): ${result.stderr}`;
491
- return `[${nodeId}]${lbl} (${result.durationMs}ms)\n${output}`;
485
+ const lbl = item.label ?? item.command.slice(0, 40);
486
+ const body = result.code === 0
487
+ ? (result.stdout || '(empty)').split('\n').slice(0, 20).join('\n')
488
+ : `exit ${result.code}: ${result.stderr.split('\n').slice(0, 5).join('\n')}`;
489
+ return `-- ${nodeId} > ${lbl} ${t(result.durationMs)}\n${body}`;
492
490
  };
493
491
  const results = runParallel
494
492
  ? await Promise.all(commands.map(execute))
@@ -497,7 +495,7 @@ export function createOmniWireServer(manager, transfer) {
497
495
  const result = await execute(cmd);
498
496
  return [...prev, result];
499
497
  }, Promise.resolve([]));
500
- return { content: [{ type: 'text', text: results.join('\n\n') }] };
498
+ return okBrief(trim(results.join('\n\n')));
501
499
  });
502
500
  // --- Tool 26: omniwire_update ---
503
501
  server.tool('omniwire_update', 'Check for updates and self-update OmniWire to the latest version.', {
@@ -507,13 +505,162 @@ export function createOmniWireServer(manager, transfer) {
507
505
  const info = getSystemInfo();
508
506
  if (check_only) {
509
507
  const check = await checkForUpdate();
510
- const text = check.updateAvailable
511
- ? `Update available: ${check.current} → ${check.latest}\nRun omniwire_update to install.\n\nSystem: ${info.platform}/${info.arch} node ${info.nodeVersion}`
512
- : `Up to date (${check.current})\n\nSystem: ${info.platform}/${info.arch} node ${info.nodeVersion}`;
513
- return { content: [{ type: 'text', text }] };
508
+ return check.updateAvailable
509
+ ? okBrief(`update available: ${check.current} -> ${check.latest} (${info.platform}/${info.arch})`)
510
+ : okBrief(`up to date (${check.current}) ${info.platform}/${info.arch}`);
514
511
  }
515
512
  const result = await selfUpdate();
516
- return { content: [{ type: 'text', text: `${result.message}\n\nSystem: ${info.platform}/${info.arch} node ${info.nodeVersion}` }] };
513
+ return okBrief(`${result.message} ${info.platform}/${info.arch}`);
514
+ });
515
+ // --- Tool 27: omniwire_cron ---
516
+ server.tool('omniwire_cron', 'Manage cron jobs on a node. List, add, or remove scheduled tasks.', {
517
+ action: z.enum(['list', 'add', 'remove']).describe('Action'),
518
+ node: z.string().describe('Target node'),
519
+ schedule: z.string().optional().describe('Cron schedule (e.g., "0 */6 * * *"). Required for add.'),
520
+ command: z.string().optional().describe('Command to schedule. Required for add.'),
521
+ pattern: z.string().optional().describe('Pattern to match for remove (removes matching lines from crontab)'),
522
+ }, async ({ action, node, schedule, command, pattern }) => {
523
+ if (action === 'list') {
524
+ const result = await manager.exec(node, 'crontab -l 2>/dev/null || echo "(no crontab)"');
525
+ return ok(node, result.durationMs, result.stdout, 'crontab');
526
+ }
527
+ if (action === 'add') {
528
+ if (!schedule || !command)
529
+ return fail('schedule and command required for add');
530
+ const escaped = command.replace(/'/g, "'\\''");
531
+ const result = await manager.exec(node, `(crontab -l 2>/dev/null; echo '${schedule} ${escaped}') | sort -u | crontab -`);
532
+ return result.code === 0
533
+ ? okBrief(`${node} cron added: ${schedule} ${command.slice(0, 50)}`)
534
+ : fail(`${node} cron add: ${result.stderr}`);
535
+ }
536
+ if (action === 'remove' && pattern) {
537
+ const esc = pattern.replace(/'/g, "'\\''");
538
+ const result = await manager.exec(node, `crontab -l 2>/dev/null | grep -v '${esc}' | crontab -`);
539
+ return result.code === 0
540
+ ? okBrief(`${node} cron removed matching: ${pattern}`)
541
+ : fail(`${node} cron remove: ${result.stderr}`);
542
+ }
543
+ return fail('invalid action/params');
544
+ });
545
+ // --- Tool 28: omniwire_env ---
546
+ server.tool('omniwire_env', 'Get or set environment variables on a node (persistent via /etc/environment).', {
547
+ action: z.enum(['get', 'set', 'list']).describe('Action'),
548
+ node: z.string().describe('Target node'),
549
+ key: z.string().optional().describe('Variable name'),
550
+ value: z.string().optional().describe('Variable value (for set)'),
551
+ }, async ({ action, node, key, value }) => {
552
+ if (action === 'list') {
553
+ const result = await manager.exec(node, 'cat /etc/environment 2>/dev/null; echo "---"; env | sort | head -40');
554
+ return ok(node, result.durationMs, result.stdout, 'env list');
555
+ }
556
+ if (action === 'get' && key) {
557
+ const result = await manager.exec(node, `bash -c 'source /etc/environment 2>/dev/null; echo "\${${key}}"'`);
558
+ const val = result.stdout.trim();
559
+ return okBrief(`${node} ${key}=${val || '(unset)'}`);
560
+ }
561
+ if (action === 'set' && key && value !== undefined) {
562
+ const esc = value.replace(/'/g, "'\\''");
563
+ const result = await manager.exec(node, `grep -q '^${key}=' /etc/environment 2>/dev/null && sed -i 's|^${key}=.*|${key}=${esc}|' /etc/environment || echo '${key}=${esc}' >> /etc/environment`);
564
+ return result.code === 0
565
+ ? okBrief(`${node} ${key}=${value.slice(0, 40)} (persisted)`)
566
+ : fail(`${node} env set: ${result.stderr}`);
567
+ }
568
+ return fail('invalid action/params');
569
+ });
570
+ // --- Tool 29: omniwire_network ---
571
+ server.tool('omniwire_network', 'Network diagnostics: ping, traceroute, dns lookup, open ports, bandwidth test.', {
572
+ action: z.enum(['ping', 'traceroute', 'dns', 'ports', 'speed', 'connections']).describe('Diagnostic action'),
573
+ node: z.string().describe('Node to run from'),
574
+ target: z.string().optional().describe('Target host/IP (required for ping, traceroute, dns)'),
575
+ }, async ({ action, node, target }) => {
576
+ let cmd;
577
+ switch (action) {
578
+ case 'ping':
579
+ if (!target)
580
+ return fail('target required');
581
+ cmd = `ping -c 4 -W 2 ${target} 2>&1 | tail -5`;
582
+ break;
583
+ case 'traceroute':
584
+ if (!target)
585
+ return fail('target required');
586
+ cmd = `traceroute -m 15 -w 2 ${target} 2>&1 | head -20`;
587
+ break;
588
+ case 'dns':
589
+ if (!target)
590
+ return fail('target required');
591
+ cmd = `dig +short ${target} 2>/dev/null || nslookup ${target} 2>&1 | tail -5`;
592
+ break;
593
+ case 'ports':
594
+ cmd = 'ss -tlnp | head -30';
595
+ break;
596
+ case 'speed':
597
+ cmd = "curl -s -o /dev/null -w 'download: %{speed_download} bytes/s\\ntime: %{time_total}s\\n' https://speed.cloudflare.com/__down?bytes=10000000 2>&1";
598
+ break;
599
+ case 'connections':
600
+ cmd = 'ss -s';
601
+ break;
602
+ }
603
+ const result = await manager.exec(node, cmd);
604
+ return ok(node, result.durationMs, result.code === 0 ? result.stdout : result.stderr, `net ${action}`);
605
+ });
606
+ // --- Tool 30: omniwire_clipboard ---
607
+ server.tool('omniwire_clipboard', 'Copy text between nodes via a shared clipboard buffer.', {
608
+ action: z.enum(['copy', 'paste', 'clear']).describe('Action'),
609
+ content: z.string().optional().describe('Text to copy (for copy action)'),
610
+ node: z.string().optional().describe('Node for paste (default: all)'),
611
+ }, async ({ action, content, node }) => {
612
+ const clipPath = '/tmp/.omniwire-clipboard';
613
+ if (action === 'copy' && content) {
614
+ const results = await manager.execAll(`cat << 'OW_CLIP' > ${clipPath}\n${content}\nOW_CLIP`);
615
+ const ok_count = results.filter((r) => r.code === 0).length;
616
+ return okBrief(`clipboard set on ${ok_count} nodes (${content.length} chars)`);
617
+ }
618
+ if (action === 'paste') {
619
+ const nodeId = node ?? 'contabo';
620
+ const result = await manager.exec(nodeId, `cat ${clipPath} 2>/dev/null || echo '(empty)'`);
621
+ return ok(nodeId, result.durationMs, result.stdout, 'clipboard');
622
+ }
623
+ if (action === 'clear') {
624
+ await manager.execAll(`rm -f ${clipPath}`);
625
+ return okBrief('clipboard cleared');
626
+ }
627
+ return fail('invalid action');
628
+ });
629
+ // --- Tool 31: omniwire_git ---
630
+ server.tool('omniwire_git', 'Run git commands on a repository on any node.', {
631
+ command: z.string().describe('Git subcommand (status, log --oneline -5, pull, etc.)'),
632
+ path: z.string().describe('Repository path on the node'),
633
+ node: z.string().optional().describe('Node (default: contabo)'),
634
+ }, async ({ command, path, node }) => {
635
+ const nodeId = node ?? 'contabo';
636
+ const result = await manager.exec(nodeId, `cd "${path}" && git ${command}`);
637
+ const shortCmd = command.split(' ').slice(0, 2).join(' ');
638
+ if (result.code !== 0)
639
+ return fail(`${nodeId} git ${shortCmd}: ${result.stderr}`);
640
+ return ok(nodeId, result.durationMs, result.stdout, `git ${shortCmd}`);
641
+ });
642
+ // --- Tool 32: omniwire_syslog ---
643
+ server.tool('omniwire_syslog', 'Query system logs via journalctl on a node.', {
644
+ node: z.string().describe('Target node'),
645
+ unit: z.string().optional().describe('Systemd unit to filter (e.g., nginx, docker)'),
646
+ lines: z.number().optional().describe('Number of lines (default 30)'),
647
+ since: z.string().optional().describe('Time filter (e.g., "1 hour ago", "today")'),
648
+ priority: z.enum(['emerg', 'alert', 'crit', 'err', 'warning', 'notice', 'info', 'debug']).optional(),
649
+ }, async ({ node, unit, lines, since, priority }) => {
650
+ const parts = ['journalctl --no-pager'];
651
+ if (unit)
652
+ parts.push(`-u ${unit}`);
653
+ if (lines)
654
+ parts.push(`-n ${lines}`);
655
+ else
656
+ parts.push('-n 30');
657
+ if (since)
658
+ parts.push(`--since '${since}'`);
659
+ if (priority)
660
+ parts.push(`-p ${priority}`);
661
+ const result = await manager.exec(node, parts.join(' '));
662
+ const label = unit ? `syslog ${unit}` : 'syslog';
663
+ return ok(node, result.durationMs, result.code === 0 ? result.stdout : result.stderr, label);
517
664
  });
518
665
  return server;
519
666
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,11 @@ import { readFileSync } from 'node:fs';
4
4
  import { execFile } from 'node:child_process';
5
5
  import { remoteNodes, getHostCandidates } from '../protocol/config.js';
6
6
  const MAX_OUTPUT_BYTES = 2 * 1024 * 1024; // 2MB output guard
7
- const STATUS_CACHE_TTL = 8000; // 8s status cache (reduced SSH round-trips)
8
- const HEALTH_PING_INTERVAL = 45_000; // 45s health pings (less overhead)
9
- const CIRCUIT_OPEN_DURATION = 30_000; // 30s circuit breaker (recover faster)
7
+ const STATUS_CACHE_TTL = 5000; // 5s status cache
8
+ const HEALTH_PING_INTERVAL = 30_000; // 30s health pings
9
+ const CIRCUIT_OPEN_DURATION = 20_000; // 20s circuit breaker (recover faster)
10
10
  const CIRCUIT_FAILURE_THRESHOLD = 3;
11
+ const CONNECT_TIMEOUT = 6000; // 6s connection timeout
11
12
  export class NodeManager {
12
13
  connections = new Map();
13
14
  reconnectCallbacks = [];
@@ -65,7 +66,7 @@ export class NodeManager {
65
66
  const timeout = setTimeout(() => {
66
67
  client.end();
67
68
  reject(new Error(`Connection to ${node.id} timed out`));
68
- }, 8000);
69
+ }, CONNECT_TIMEOUT);
69
70
  client.on('ready', () => {
70
71
  clearTimeout(timeout);
71
72
  conn.connected = true;
@@ -89,9 +90,9 @@ export class NodeManager {
89
90
  port: node.port,
90
91
  username: node.user,
91
92
  privateKey: this.getKey(node.identityFile),
92
- readyTimeout: 8000,
93
- keepaliveInterval: 5000,
94
- keepaliveCountMax: 3,
93
+ readyTimeout: CONNECT_TIMEOUT,
94
+ keepaliveInterval: 3000,
95
+ keepaliveCountMax: 2,
95
96
  algorithms: {
96
97
  compress: ['none'], // no compression � faster for small commands
97
98
  },
@@ -346,19 +347,20 @@ export class NodeManager {
346
347
  });
347
348
  });
348
349
  }
349
- // Periodic health ping — verifies end-to-end SSH responsiveness
350
+ // Periodic health ping — parallel pings to all nodes
350
351
  startHealthPing() {
351
- this.healthTimer = setInterval(async () => {
352
- for (const [nodeId, conn] of this.connections) {
353
- if (!conn.connected || conn.circuitOpenUntil > Date.now())
354
- continue;
352
+ this.healthTimer = setInterval(() => {
353
+ const pings = [...this.connections.entries()]
354
+ .filter(([, conn]) => conn.connected && conn.circuitOpenUntil <= Date.now())
355
+ .map(async ([nodeId]) => {
355
356
  const start = Date.now();
356
357
  const result = await this.exec(nodeId, 'true');
357
358
  const elapsed = Date.now() - start;
358
359
  if (elapsed > 3000 || result.code !== 0) {
359
- process.stderr.write(`[health] ${nodeId} degraded (${elapsed}ms, code=${result.code})\n`);
360
+ process.stderr.write(`[health] ${nodeId} degraded (${elapsed}ms)\n`);
360
361
  }
361
- }
362
+ });
363
+ Promise.allSettled(pings);
362
364
  }, HEALTH_PING_INTERVAL);
363
365
  }
364
366
  disconnect() {
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/nodes/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/nodes/manager.ts"],"names":[],"mappings":"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"}
@@ -64,8 +64,8 @@ export class TransferEngine {
64
64
  // Start receiver first (background, timeout 30s) — gzip compressed
65
65
  const receiverCmd = `timeout 30 bash -c 'nc -l -p ${port} | tar xzf - -C "${dstDir}"'`;
66
66
  const receiverPromise = this.manager.exec(dstNode, `mkdir -p "${dstDir}" && ${receiverCmd}`);
67
- // Small delay to ensure receiver is listening
68
- await new Promise((r) => setTimeout(r, 200));
67
+ // Brief delay for receiver to bind port
68
+ await new Promise((r) => setTimeout(r, 100));
69
69
  // Start sender — gzip compressed
70
70
  const senderCmd = isDirectory
71
71
  ? `tar czf - -C "${srcPath}" . | nc -w 10 ${dstIp} ${port}`
@@ -89,7 +89,7 @@ export class TransferEngine {
89
89
  // Start HTTP server on source (background, auto-kill after transfer)
90
90
  const serverCmd = `cd "${srcDir}" && timeout 300 python3 -m http.server ${port} --bind 0.0.0.0 &`;
91
91
  await this.manager.exec(srcNode, `bash -c '${serverCmd}'`);
92
- await new Promise((r) => setTimeout(r, 500));
92
+ await new Promise((r) => setTimeout(r, 250));
93
93
  try {
94
94
  const downloadCmd = `mkdir -p "${dstDir}" && aria2c -x16 -s16 --allow-overwrite=true -d "${dstDir}" -o "${fileName}" "http://${srcIp}:${port}/${fileName}" 2>&1`;
95
95
  const result = await this.manager.exec(dstNode, downloadCmd);
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../src/nodes/transfer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../src/nodes/transfer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omniwire",
3
- "version": "2.2.1",
3
+ "version": "2.3.0",
4
4
  "description": "OmniWire Terminal \u00e2\u20ac\u201d unified mesh control layer with MCP server (30 tools) + CyberSync daemon",
5
5
  "type": "module",
6
6
  "bin": {