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 +56 -9
- package/dist/mcp/server.js +261 -114
- package/dist/mcp/server.js.map +1 -1
- package/dist/nodes/manager.js +16 -14
- package/dist/nodes/manager.js.map +1 -1
- package/dist/nodes/transfer.js +3 -3
- package/dist/nodes/transfer.js.map +1 -1
- package/package.json +1 -1
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-
|
|
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["
|
|
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 (
|
|
113
|
+
Connected --> Health Ping (30s, parallel)
|
|
114
114
|
| |
|
|
115
|
-
| >
|
|
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 (
|
|
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
|
|
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,
|
|
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
|
|
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 (
|
|
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
|
package/dist/mcp/server.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// OmniWire MCP Server
|
|
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 {
|
|
13
|
+
import { remoteNodes, findNode, NODE_ROLES, getDefaultNodeForTask } from '../protocol/config.js';
|
|
14
14
|
import { parseMeshPath } from '../protocol/paths.js';
|
|
15
|
-
|
|
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
|
|
18
|
-
return { content: [{ type: 'text', text:
|
|
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
|
|
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.
|
|
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
|
|
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('
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
85
|
-
const
|
|
86
|
-
const
|
|
87
|
-
const
|
|
88
|
-
const
|
|
89
|
-
|
|
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
|
|
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
|
|
99
|
-
const
|
|
100
|
-
const role = NODE_ROLES[meshNode.id] ?? '
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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
|
|
141
|
+
return okBrief(trim(content));
|
|
135
142
|
}
|
|
136
143
|
catch (e) {
|
|
137
|
-
return
|
|
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 {
|
|
162
|
+
return okBrief(`${nodeId}:${filePath} written`);
|
|
156
163
|
}
|
|
157
164
|
catch (e) {
|
|
158
|
-
return
|
|
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
|
|
177
|
+
return fail(`invalid source: ${src} (use node:/path)`);
|
|
171
178
|
if (!dstParsed)
|
|
172
|
-
return
|
|
179
|
+
return fail(`invalid dest: ${dst} (use node:/path)`);
|
|
173
180
|
try {
|
|
174
|
-
const
|
|
175
|
-
|
|
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
|
|
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
|
|
206
|
+
return okBrief(trim(text || '(empty)'));
|
|
197
207
|
}
|
|
198
208
|
catch (e) {
|
|
199
|
-
return
|
|
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
|
-
|
|
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
|
-
|
|
232
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
279
|
-
?
|
|
280
|
-
:
|
|
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
|
-
|
|
291
|
-
|
|
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
|
-
|
|
301
|
-
|
|
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
|
|
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
|
-
|
|
324
|
-
|
|
325
|
-
|
|
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
|
|
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
|
|
340
|
+
return okBrief(`tunnel ${info.id} :${info.localPort} -> ${info.nodeId}:${info.remotePort}`);
|
|
335
341
|
}
|
|
336
342
|
catch (e) {
|
|
337
|
-
return
|
|
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
|
|
354
|
-
?
|
|
355
|
-
:
|
|
356
|
-
return
|
|
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
|
|
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
|
|
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
|
|
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 '
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
488
|
-
const
|
|
489
|
-
? result.stdout || '(
|
|
490
|
-
: `
|
|
491
|
-
return
|
|
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
|
|
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
|
-
|
|
511
|
-
? `
|
|
512
|
-
: `
|
|
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
|
|
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
|
}
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -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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"}
|
package/dist/nodes/manager.js
CHANGED
|
@@ -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 =
|
|
8
|
-
const HEALTH_PING_INTERVAL =
|
|
9
|
-
const CIRCUIT_OPEN_DURATION =
|
|
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
|
-
},
|
|
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:
|
|
93
|
-
keepaliveInterval:
|
|
94
|
-
keepaliveCountMax:
|
|
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 —
|
|
350
|
+
// Periodic health ping — parallel pings to all nodes
|
|
350
351
|
startHealthPing() {
|
|
351
|
-
this.healthTimer = setInterval(
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
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
|
|
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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"}
|
package/dist/nodes/transfer.js
CHANGED
|
@@ -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
|
-
//
|
|
68
|
-
await new Promise((r) => setTimeout(r,
|
|
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,
|
|
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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"}
|