omniwire 2.0.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/.mcp.json.disabled +8 -0
  2. package/LICENSE +21 -21
  3. package/README.md +438 -316
  4. package/clawhub-skill/SKILL.md +354 -0
  5. package/dist/claude/integration.js +15 -18
  6. package/dist/claude/integration.js.map +1 -1
  7. package/dist/commands/browser.js +1 -1
  8. package/dist/commands/browser.js.map +1 -1
  9. package/dist/commands/builtins.js +6 -6
  10. package/dist/commands/builtins.js.map +1 -1
  11. package/dist/mcp/index.js +10 -3
  12. package/dist/mcp/index.js.map +1 -1
  13. package/dist/mcp/rest.js +9 -1
  14. package/dist/mcp/rest.js.map +1 -1
  15. package/dist/mcp/server.js +133 -32
  16. package/dist/mcp/server.js.map +1 -1
  17. package/dist/mcp/sync-tools.d.ts +3 -1
  18. package/dist/mcp/sync-tools.js +134 -1
  19. package/dist/mcp/sync-tools.js.map +1 -1
  20. package/dist/nodes/manager.d.ts +4 -0
  21. package/dist/nodes/manager.js +55 -18
  22. package/dist/nodes/manager.js.map +1 -1
  23. package/dist/nodes/transfer.js +8 -3
  24. package/dist/nodes/transfer.js.map +1 -1
  25. package/dist/protocol/config.d.ts +7 -1
  26. package/dist/protocol/config.js +73 -102
  27. package/dist/protocol/config.js.map +1 -1
  28. package/dist/sync/cookies.d.ts +52 -0
  29. package/dist/sync/cookies.js +259 -0
  30. package/dist/sync/cookies.js.map +1 -0
  31. package/dist/sync/crypto.d.ts +11 -0
  32. package/dist/sync/crypto.js +95 -0
  33. package/dist/sync/crypto.js.map +1 -0
  34. package/dist/sync/db.d.ts +3 -0
  35. package/dist/sync/db.js +21 -4
  36. package/dist/sync/db.js.map +1 -1
  37. package/dist/sync/engine.d.ts +3 -1
  38. package/dist/sync/engine.js +59 -8
  39. package/dist/sync/engine.js.map +1 -1
  40. package/dist/sync/index.d.ts +2 -0
  41. package/dist/sync/index.js +44 -9
  42. package/dist/sync/index.js.map +1 -1
  43. package/dist/sync/manifest.js +5 -5
  44. package/dist/sync/manifest.js.map +1 -1
  45. package/dist/sync/openclaw-bridge.d.ts +9 -0
  46. package/dist/sync/openclaw-bridge.js +206 -0
  47. package/dist/sync/openclaw-bridge.js.map +1 -0
  48. package/dist/sync/paths.js +6 -7
  49. package/dist/sync/paths.js.map +1 -1
  50. package/dist/sync/schema.js +2 -0
  51. package/dist/sync/schema.js.map +1 -1
  52. package/dist/sync/secrets.d.ts +32 -0
  53. package/dist/sync/secrets.js +221 -0
  54. package/dist/sync/secrets.js.map +1 -0
  55. package/dist/sync/types.d.ts +2 -0
  56. package/dist/sync/types.js +7 -7
  57. package/dist/sync/types.js.map +1 -1
  58. package/dist/sync/vault-bridge.d.ts +12 -0
  59. package/dist/sync/vault-bridge.js +152 -0
  60. package/dist/sync/vault-bridge.js.map +1 -0
  61. package/dist/ui/format.js +15 -14
  62. package/dist/ui/format.js.map +1 -1
  63. package/dist/update.d.ts +17 -0
  64. package/dist/update.js +108 -0
  65. package/dist/update.js.map +1 -0
  66. package/mesh.example.json +39 -0
  67. package/motd/00-cybernord +410 -0
  68. package/package.json +3 -36
@@ -0,0 +1,354 @@
1
+ ---
2
+ name: omniwire
3
+ version: 2.1.0
4
+ description: "Control your entire server mesh from chat. Execute commands, transfer files, manage Docker, sync configs, and monitor all your nodes — VPS, Raspberry Pi, laptop, desktop — through one unified interface. 30 MCP tools. Works on any architecture (x64, ARM, Apple Silicon). SSH2 with compression, encrypted config sync, 1Password secrets backend. Just say what you need and your agent runs it across every machine."
5
+ tags: [infrastructure, mesh, ssh, devops, servers, vps, docker, remote, mcp, file-transfer, monitoring, config-sync, secrets, multi-node, raspberry-pi, arm]
6
+ author: VoidChecksum
7
+ homepage: https://github.com/VoidChecksum/omniwire
8
+ metadata:
9
+ openclaw:
10
+ emoji: "🌐"
11
+ requires:
12
+ bins: ["node", "ssh"]
13
+ env: []
14
+ stateDirs: ["~/.omniwire"]
15
+ persistence: "This skill uses OmniWire (npm package) to manage SSH connections to your mesh nodes. Config lives in ~/.omniwire/mesh.json. Encrypted secrets in ~/.omniwire/secret.key. No data leaves your network — all operations run over your own SSH connections."
16
+ ---
17
+
18
+ # OmniWire — Mesh Control for OpenClaw
19
+
20
+ > **Your entire infrastructure, controlled from chat.**
21
+
22
+ Tell your agent to run commands on any server, transfer files between nodes, manage Docker containers, check system health, sync configurations, and manage secrets — across every machine you own. One skill. Any architecture.
23
+
24
+ ```
25
+ You: check disk usage on all my servers
26
+
27
+ Agent: [runs across all nodes simultaneously]
28
+
29
+ [server1] (142ms)
30
+ /dev/sda1 1.2T 178G 16% /
31
+
32
+ [server2] (198ms)
33
+ /dev/sda1 50G 31G 61% /
34
+
35
+ [rpi] (215ms)
36
+ /dev/mmcblk0 32G 6.4G 20% /
37
+ ```
38
+
39
+ ---
40
+
41
+ ## What It Does
42
+
43
+ OmniWire connects all your machines (VPS, laptops, Raspberry Pis, desktops) into one mesh that your OpenClaw agent can control. It provides **30 tools** across 8 categories:
44
+
45
+ | Category | What your agent can do |
46
+ |----------|----------------------|
47
+ | **Execute** | Run any command on any node or all nodes at once |
48
+ | **Files** | Read, write, list, search files on any machine |
49
+ | **Transfer** | Move files between nodes (auto-selects fastest method) |
50
+ | **Docker** | Manage containers, images, logs across nodes |
51
+ | **Monitor** | CPU, memory, disk, network, processes — live |
52
+ | **Services** | Start/stop/restart systemd services remotely |
53
+ | **Secrets** | Store, retrieve, sync secrets (1Password or file-based) |
54
+ | **Sync** | Keep configs synchronized across all machines |
55
+
56
+ ---
57
+
58
+ ## Setup — 3 Steps
59
+
60
+ ### Step 1: Install OmniWire
61
+
62
+ > **AGENT: Run this via exec. User just clicks Approve.**
63
+
64
+ ```
65
+ npm install -g omniwire
66
+ ```
67
+
68
+ Works on: Linux (x64, ARM, armv7l), macOS (Intel + Apple Silicon), Windows, Raspberry Pi.
69
+
70
+ ### Step 2: Configure Your Mesh
71
+
72
+ Create the mesh config. Ask the user for their server details:
73
+
74
+ > **AGENT: Ask the user:**
75
+ > "What servers do you want to control? I need for each one:
76
+ > - A name (e.g., `server1`, `rpi`, `laptop`)
77
+ > - IP address or hostname
78
+ > - SSH user (usually `root`)
79
+ > - SSH key filename in ~/.ssh/ (e.g., `id_ed25519`)"
80
+
81
+ Then create the config via exec:
82
+
83
+ ```
84
+ mkdir -p ~/.omniwire
85
+ cat > ~/.omniwire/mesh.json << 'EOF'
86
+ {
87
+ "nodes": [
88
+ {
89
+ "id": "SERVER_NAME",
90
+ "host": "SERVER_IP",
91
+ "user": "root",
92
+ "identityFile": "id_ed25519",
93
+ "role": "storage",
94
+ "tags": ["vps"]
95
+ }
96
+ ]
97
+ }
98
+ EOF
99
+ ```
100
+
101
+ **Roles:** `storage` (file server/DB), `compute` (heavy processing), `gpu+browser` (GPU/display), or omit for general.
102
+
103
+ ### Step 3: Verify
104
+
105
+ ```
106
+ echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1"}}}' | omniwire --stdio --no-sync 2>/dev/null | head -1
107
+ ```
108
+
109
+ Should show `omniwire v2.1.0`. Done.
110
+
111
+ ---
112
+
113
+ ## How to Use — Just Talk
114
+
115
+ Once set up, just tell your agent what you need. It uses OmniWire's MCP tools automatically.
116
+
117
+ ### Run commands anywhere
118
+
119
+ ```
120
+ You: restart nginx on server1
121
+
122
+ Agent: [exec on server1] systemctl restart nginx
123
+ ✓ nginx restarted
124
+
125
+ You: show me what's using the most CPU on all servers
126
+
127
+ Agent: [broadcast to all nodes]
128
+ [server1] node (45% CPU) — omnibus-hub
129
+ [server2] python3 (23% CPU) — training job
130
+ [rpi] chromium (12% CPU) — dashboard
131
+ ```
132
+
133
+ ### Transfer files between machines
134
+
135
+ ```
136
+ You: copy /var/log/app.log from server1 to server2
137
+
138
+ Agent: Transferred 4.2MB via netcat+gzip in 180ms (23.3 MB/s)
139
+ ```
140
+
141
+ OmniWire auto-selects the fastest transfer mode:
142
+ - **SFTP** for files under 10MB (zero overhead)
143
+ - **netcat+gzip** for 10MB-1GB (compressed TCP stream)
144
+ - **aria2c** for files over 1GB (16 parallel connections)
145
+
146
+ ### Manage Docker
147
+
148
+ ```
149
+ You: what containers are running on server1?
150
+
151
+ Agent: [server1] docker ps
152
+ 12 running · 3 stopped
153
+ kali-htb redamon-agent omnibus-hub neo4j postgres ...
154
+
155
+ You: restart the neo4j container
156
+
157
+ Agent: [server1] docker restart neo4j
158
+ ✓ neo4j restarted (healthy)
159
+ ```
160
+
161
+ ### Monitor everything
162
+
163
+ ```
164
+ You: how are my servers doing?
165
+
166
+ Agent: [mesh status — all nodes parallel]
167
+
168
+ server1 (storage) | 10.0.0.1 | ONLINE | 142ms | load=2.3 | mem=26% | disk=16%
169
+ server2 (compute) | 10.0.0.2 | ONLINE | 198ms | load=1.4 | mem=27% | disk=61%
170
+ rpi (gpu) | 10.0.0.3 | ONLINE | 215ms | load=0.7 | mem=21% | disk=20%
171
+ ```
172
+
173
+ ### Manage secrets across nodes
174
+
175
+ ```
176
+ You: store my API key across all servers
177
+
178
+ Agent: What's the key name and value?
179
+
180
+ You: OPENAI_KEY = sk-proj-abc123...
181
+
182
+ Agent: [omniwire_secrets set + sync]
183
+ server1: OK
184
+ server2: OK
185
+ rpi: OK
186
+ ✓ Synced OPENAI_KEY to 3 nodes
187
+ ```
188
+
189
+ Supports **1Password** backend — configure in `~/.omniwire/secrets.json`:
190
+ ```json
191
+ {"backend": "onepassword", "vault": "Infrastructure"}
192
+ ```
193
+
194
+ ### Sync configurations
195
+
196
+ CyberSync keeps your AI tool configs (Claude Code, OpenCode, OpenClaw, Codex, Gemini) synchronized across all machines:
197
+
198
+ ```
199
+ You: sync my claude code settings to all servers
200
+
201
+ Agent: [cybersync_sync_now]
202
+ Reconciled: pushed=3, pulled=0, conflicts=0
203
+ ✓ All nodes up to date
204
+ ```
205
+
206
+ Sensitive files (settings.json, credentials, memory) are encrypted at rest with **XChaCha20-Poly1305**.
207
+
208
+ ---
209
+
210
+ ## All 30 Tools
211
+
212
+ Your agent has access to these automatically via MCP:
213
+
214
+ ### Core (22 tools)
215
+ | Tool | Description |
216
+ |------|-------------|
217
+ | `omniwire_exec` | Execute command on a specific node |
218
+ | `omniwire_broadcast` | Execute on all nodes simultaneously |
219
+ | `omniwire_mesh_status` | Health + resources for all nodes |
220
+ | `omniwire_node_info` | Detailed info for one node |
221
+ | `omniwire_read_file` | Read file from any node |
222
+ | `omniwire_write_file` | Write file to any node |
223
+ | `omniwire_transfer_file` | Copy files between nodes (auto mode) |
224
+ | `omniwire_list_files` | List directory on any node |
225
+ | `omniwire_find_files` | Search files across all nodes |
226
+ | `omniwire_tail_log` | Read last N lines of a log |
227
+ | `omniwire_process_list` | List processes (filterable) |
228
+ | `omniwire_disk_usage` | Disk usage across nodes |
229
+ | `omniwire_install_package` | Install via apt/npm/pip |
230
+ | `omniwire_service_control` | systemd start/stop/restart/status |
231
+ | `omniwire_docker` | Docker commands on any node |
232
+ | `omniwire_open_browser` | Open URL on GUI node |
233
+ | `omniwire_port_forward` | SSH tunnel management |
234
+ | `omniwire_deploy` | Push files to multiple nodes |
235
+ | `omniwire_kernel` | dmesg, sysctl, modprobe, strace, perf |
236
+ | `omniwire_shell` | Persistent shell sessions (preserves state) |
237
+ | `omniwire_stream` | Real-time streaming output |
238
+ | `omniwire_live_monitor` | Live system metrics snapshot |
239
+
240
+ ### CyberSync (8 tools)
241
+ | Tool | Description |
242
+ |------|-------------|
243
+ | `cybersync_status` | Sync status, item counts, heartbeats |
244
+ | `cybersync_sync_now` | Force immediate reconciliation |
245
+ | `cybersync_diff` | Show what needs syncing |
246
+ | `cybersync_history` | Sync event log |
247
+ | `cybersync_search_knowledge` | Search unified knowledge base |
248
+ | `cybersync_get_memory` | Query Claude memory from DB |
249
+ | `cybersync_manifest` | Show tracked files per tool |
250
+ | `cybersync_force_push` | Push specific file to all nodes |
251
+
252
+ ### Secrets + Update
253
+ | Tool | Description |
254
+ |------|-------------|
255
+ | `omniwire_secrets` | Get/set/delete/list/sync secrets |
256
+ | `omniwire_update` | Check for updates + self-update |
257
+
258
+ ---
259
+
260
+ ## Performance
261
+
262
+ | Operation | Speed |
263
+ |-----------|-------|
264
+ | Command execution | ~120ms per node |
265
+ | File read (< 1MB) | ~80ms (SFTP) |
266
+ | File transfer (10MB) | ~200ms (gzip netcat) |
267
+ | Config sync (push all) | ~200ms (parallel) |
268
+ | Mesh status check | ~150ms (cached 5s) |
269
+
270
+ All connections use **SSH2 with zlib compression** over your existing network (WireGuard, Tailscale, direct SSH — anything works).
271
+
272
+ ---
273
+
274
+ ## Architecture & Platform Support
275
+
276
+ | Platform | Architecture | Status |
277
+ |----------|-------------|--------|
278
+ | Linux | x64 | ✅ |
279
+ | Linux | arm64 (RPi 4/5, AWS Graviton) | ✅ |
280
+ | Linux | armv7l (RPi 3, older ARM) | ✅ |
281
+ | macOS | Intel (x64) | ✅ |
282
+ | macOS | Apple Silicon (arm64) | ✅ |
283
+ | Windows | x64 | ✅ |
284
+
285
+ No native compilation required — pure JavaScript + SSH2. `npm install -g omniwire` works everywhere Node.js runs.
286
+
287
+ ---
288
+
289
+ ## Security
290
+
291
+ - **Transport**: SSH2 with zlib compression (encrypted by default)
292
+ - **At-rest encryption**: XChaCha20-Poly1305 for sensitive sync items
293
+ - **Secrets**: 1Password, file-based, or env var backends
294
+ - **No external services**: Everything runs on your own infrastructure
295
+ - **Key management**: Master key in `~/.omniwire/secret.key` (generated locally, never transmitted)
296
+
297
+ ---
298
+
299
+ ## Agent Instructions
300
+
301
+ ### When to use OmniWire tools
302
+
303
+ Use OmniWire tools when the user:
304
+ - Mentions servers, VPS, nodes, infrastructure, or "my machines"
305
+ - Wants to run commands remotely ("run X on server1", "check Y on all servers")
306
+ - Needs to transfer, read, or write files on remote machines
307
+ - Asks about Docker containers on remote nodes
308
+ - Wants to monitor system resources across machines
309
+ - Needs to manage secrets or sync configurations
310
+ - Mentions "deploy", "restart service", "install package" on remote targets
311
+
312
+ ### How to pick the right tool
313
+
314
+ - **Single node command** → `omniwire_exec`
315
+ - **All nodes at once** → `omniwire_broadcast`
316
+ - **Read a remote file** → `omniwire_read_file`
317
+ - **Copy between nodes** → `omniwire_transfer_file`
318
+ - **Docker anything** → `omniwire_docker`
319
+ - **Check health** → `omniwire_mesh_status`
320
+ - **Store a secret** → `omniwire_secrets` (action: set)
321
+ - **Sync configs** → `cybersync_sync_now`
322
+
323
+ ### Default node selection
324
+
325
+ If the user doesn't specify a node:
326
+ - File storage operations → use the node with `role: "storage"`
327
+ - Docker operations → use the node with `role: "storage"` (usually the Docker host)
328
+ - Browser operations → use the node with `role: "gpu+browser"`
329
+ - Heavy compute → use `role: "compute"`
330
+ - If unclear, ask: "Which server should I run this on?"
331
+
332
+ ### Error handling
333
+
334
+ - If a node is offline, tell the user and offer to try another node
335
+ - If a command fails, show the error and suggest fixes
336
+ - If transfer fails, retry with a different mode
337
+
338
+ ---
339
+
340
+ ## Links
341
+
342
+ - **GitHub**: https://github.com/VoidChecksum/omniwire
343
+ - **NPM**: https://www.npmjs.com/package/omniwire
344
+ - **Issues**: https://github.com/VoidChecksum/omniwire/issues
345
+
346
+ ---
347
+
348
+ ## License
349
+
350
+ MIT — Use freely, modify, distribute.
351
+
352
+ ---
353
+
354
+ *OmniWire — Every machine, one agent, zero friction.*
@@ -1,6 +1,6 @@
1
- // OmniWire Claude Integration AI-powered mesh orchestration
1
+ // OmniWire Claude Integration — AI-powered mesh orchestration
2
2
  // v2: streaming output, multi-turn sessions, MCP tool awareness
3
- // SECURITY: Uses spawn() with explicit argv prompt goes as argument, not through shell.
3
+ // SECURITY: Uses spawn() with explicit argv — prompt goes as argument, not through shell.
4
4
  // The manager.execAll() calls below use SSH2 client channels, not child_process.
5
5
  import { spawn } from 'node:child_process';
6
6
  import { allNodes, NODE_ROLES } from '../protocol/config.js';
@@ -41,25 +41,21 @@ export class ClaudeIntegration {
41
41
  return ` - ${n.id} (${n.alias}): ${n.host} [${n.os}] [${status}] role=${role} tags: ${n.tags.join(', ')}`;
42
42
  })
43
43
  .join('\n');
44
- const roleLines = Object.entries(NODE_ROLES)
45
- .map(([id, role]) => `- ${id} (${role})`)
46
- .join('\n');
47
- const storageNode = Object.entries(NODE_ROLES).find(([, r]) => r === 'storage')?.[0] ?? 'storage node';
48
- const browserNode = Object.entries(NODE_ROLES).find(([, r]) => r === 'gpu+browser')?.[0] ?? 'gpu+browser node';
49
- const computeNode = Object.entries(NODE_ROLES).find(([, r]) => r === 'compute')?.[0] ?? storageNode;
50
- const controllerNode = Object.entries(NODE_ROLES).find(([, r]) => r === 'controller')?.[0] ?? 'local';
51
44
  return `OMNIWIRE MESH STATUS:
52
45
  Nodes:
53
46
  ${nodeList}
54
47
 
55
48
  NODE ROLES:
56
- ${roleLines}
49
+ - windows (controller): OmniWire host, Claude Code, REPL
50
+ - contabo (storage): Primary storage (1.2TB), Docker host, DB, file server
51
+ - hostinger (compute): Secondary compute, services
52
+ - thinkpad (gpu+browser): GPU workloads, browser automation, GUI apps
57
53
 
58
54
  ROUTING DEFAULTS:
59
- - File storage/retrieval ${storageNode}
60
- - Browser/GUI ops ${browserNode}
61
- - Heavy compute ${computeNode}
62
- - Local dev ${controllerNode}
55
+ - File storage/retrieval → contabo
56
+ - Browser/GUI ops → thinkpad
57
+ - Heavy compute → contabo or thinkpad
58
+ - Local dev → windows
63
59
 
64
60
  MCP TOOLS AVAILABLE:
65
61
  You have 22 omniwire_* tools for direct mesh access via MCP.
@@ -68,7 +64,8 @@ omniwire_transfer_file, omniwire_docker, omniwire_service_control, omniwire_kern
68
64
 
69
65
  LEGACY COMMANDS (still work):
70
66
  - @<node> <command>, @all <command>, @sync <file> <src> <dst>
71
- - Online nodes: ${online.join(', ')}`;
67
+ - Online nodes: ${online.join(', ')}
68
+ - Mesh subnet: <mesh-subnet> (WireGuard)`;
72
69
  }
73
70
  buildClaudePrompt(userPrompt, meshContext) {
74
71
  return `You are the AI brain of OmniWire Terminal, a unified terminal for a WireGuard mesh network.
@@ -83,7 +80,7 @@ After the commands, briefly explain what they do.
83
80
 
84
81
  USER REQUEST: ${userPrompt}`;
85
82
  }
86
- // spawn with explicit argv prompt goes as argument, not through shell
83
+ // spawn with explicit argv — prompt goes as argument, not through shell
87
84
  runClaude(prompt, useSession = false) {
88
85
  return new Promise((resolve, reject) => {
89
86
  const spinner = new Spinner('Claude is thinking...');
@@ -102,7 +99,7 @@ USER REQUEST: ${userPrompt}`;
102
99
  const chunk = data.toString();
103
100
  stdout += chunk;
104
101
  spinner.stop();
105
- process.stdout.write(dim(' ') + chunk);
102
+ process.stdout.write(dim('│ ') + chunk);
106
103
  });
107
104
  proc.stderr?.on('data', (data) => {
108
105
  stderr += data.toString();
@@ -152,6 +149,6 @@ USER REQUEST: ${userPrompt}`;
152
149
  }
153
150
  }
154
151
  function formatClaudeResponse(response) {
155
- return `${cyan('┌─ Claude')}\n${dim('')} ${response.split('\n').join(`\n${dim('')} `)}\n${cyan('└─')}`;
152
+ return `${cyan('┌─ Claude')}\n${dim('│')} ${response.split('\n').join(`\n${dim('│')} `)}\n${cyan('└─')}`;
156
153
  }
157
154
  //# sourceMappingURL=integration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"integration.js","sourceRoot":"","sources":["../../src/claude/integration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration.js","sourceRoot":"","sources":["../../src/claude/integration.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  // OmniWire Browser Command — opens URLs on appropriate node
2
- // Default: GPU/browser node (configured via mesh.json or OMNIWIRE_CONFIG)
2
+ // Default: thinkpad (GPU + display)
3
3
  // NOTE: Uses manager.exec() which is SSH2 client channel, not child_process
4
4
  import { getDefaultNodeForTask, findNode } from '../protocol/config.js';
5
5
  export async function openBrowser(manager, url, nodeId) {
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/commands/browser.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,0EAA0E;AAC1E,4EAA4E;AAG5E,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAExE,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAoB,EACpB,GAAW,EACX,MAAe;IAEf,MAAM,MAAM,GAAG,MAAM,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI;QAAE,OAAO,iBAAiB,MAAM,EAAE,CAAC;IAE5C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAClC,OAAO,QAAQ,IAAI,CAAC,EAAE,aAAa,CAAC;IACtC,CAAC;IAED,+DAA+D;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,SAAS;QACnC,CAAC,CAAC,wBAAwB,GAAG,GAAG;QAChC,CAAC,CAAC,aAAa,GAAG,sCAAsC,GAAG,6BAA6B,GAAG,sCAAsC,GAAG,iBAAiB,CAAC;IAExJ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACvC,OAAO,6BAA6B,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;IAClE,CAAC;IACD,OAAO,UAAU,GAAG,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/commands/browser.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,oCAAoC;AACpC,4EAA4E;AAG5E,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAExE,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAoB,EACpB,GAAW,EACX,MAAe;IAEf,MAAM,MAAM,GAAG,MAAM,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI;QAAE,OAAO,iBAAiB,MAAM,EAAE,CAAC;IAE5C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAClC,OAAO,QAAQ,IAAI,CAAC,EAAE,aAAa,CAAC;IACtC,CAAC;IAED,+DAA+D;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,SAAS;QACnC,CAAC,CAAC,wBAAwB,GAAG,GAAG;QAChC,CAAC,CAAC,aAAa,GAAG,sCAAsC,GAAG,6BAA6B,GAAG,sCAAsC,GAAG,iBAAiB,CAAC;IAExJ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACvC,OAAO,6BAA6B,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;IAClE,CAAC;IACD,OAAO,UAAU,GAAG,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC;AACvC,CAAC"}
@@ -228,7 +228,7 @@ async function cmdDocker(raw, manager) {
228
228
  const dockerCmd = raw.trim();
229
229
  if (!dockerCmd)
230
230
  return red('Usage: @docker <command>');
231
- const nodeId = getDefaultNodeForTask('storage');
231
+ const nodeId = 'contabo';
232
232
  const result = await manager.exec(nodeId, `docker ${dockerCmd}`);
233
233
  return `${nodeColor(nodeId)} docker ${dockerCmd}\n${result.code === 0 ? result.stdout : red(result.stderr)}`;
234
234
  }
@@ -250,9 +250,9 @@ function cmdHelp() {
250
250
  ${bold('OmniWire Terminal v2.0 — Command Reference')}
251
251
 
252
252
  ${cyan('Targeting:')}
253
- ${dim('(no prefix)')} Execute on local machine
254
- ${cyan('@node')} cmd Execute on specific node by id or alias
255
- ${cyan('@alias')} cmd Use node alias (see @status for aliases)
253
+ ${dim('(no prefix)')} Execute on local machine (Windows)
254
+ ${cyan('@contabo')} cmd Execute on specific node (contabo/hostinger/thinkpad)
255
+ ${cyan('@c1')} cmd Use node alias (c1/h1/tp/win)
256
256
  ${cyan('@all')} cmd Broadcast to ALL nodes simultaneously
257
257
  ${cyan('@remote')} cmd Execute on all remote nodes (skip local)
258
258
 
@@ -277,8 +277,8 @@ ${cyan('File Operations (v2):')}
277
277
  ${cyan('@mkdir')} n:/path Create directory on node
278
278
 
279
279
  ${cyan('Services & Control:')}
280
- ${cyan('@browser')} url Open URL on GPU/browser node
281
- ${cyan('@docker')} cmd Run docker command on default storage node
280
+ ${cyan('@browser')} url Open URL on thinkpad (GPU+display)
281
+ ${cyan('@docker')} cmd Run docker command on contabo
282
282
  ${cyan('@shell')} node Enter persistent interactive shell (Ctrl+] to exit)
283
283
  ${cyan('@kernel')} n cmd Kernel operations (dmesg, sysctl, modprobe)
284
284
  ${cyan('@stream')} n cmd Real-time streaming output (tail -f, watch)
@@ -1 +1 @@
1
- {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/commands/builtins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/commands/builtins.ts"],"names":[],"mappings":"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"}
package/dist/mcp/index.js CHANGED
@@ -22,7 +22,14 @@ const noSync = args.includes('--no-sync');
22
22
  function detectNodeId() {
23
23
  if (process.platform === 'win32')
24
24
  return 'windows';
25
- return process.env.OMNIWIRE_NODE_ID ?? process.env.HOSTNAME ?? 'local';
25
+ const hostname = (process.env.HOSTNAME ?? '').toLowerCase();
26
+ if (hostname.includes('contabo'))
27
+ return 'contabo';
28
+ if (hostname.includes('hostinger'))
29
+ return 'hostinger';
30
+ if (hostname.includes('thinkpad'))
31
+ return 'thinkpad';
32
+ return 'unknown';
26
33
  }
27
34
  async function main() {
28
35
  const manager = new NodeManager();
@@ -41,8 +48,8 @@ async function main() {
41
48
  const os = node?.os ?? 'windows';
42
49
  const manifests = getManifests(os);
43
50
  const engine = new SyncEngine(syncDb, config, manager, transfer);
44
- registerSyncTools(server, syncDb, engine, manifests, nodeId);
45
- process.stderr.write(`CyberSync: 8 tools registered (node=${nodeId})\n`);
51
+ registerSyncTools(server, syncDb, engine, manifests, nodeId, manager, transfer);
52
+ process.stderr.write(`CyberSync: 12 tools registered (node=${nodeId})\n`);
46
53
  }
47
54
  catch (err) {
48
55
  process.stderr.write(`CyberSync init failed (continuing without sync): ${err.message}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
package/dist/mcp/rest.js CHANGED
@@ -17,7 +17,7 @@ function json(res, status, data) {
17
17
  }
18
18
  export function startRESTServer(manager, transfer, port) {
19
19
  const httpServer = createServer(async (req, res) => {
20
- res.setHeader('Access-Control-Allow-Origin', '*');
20
+ res.setHeader('Access-Control-Allow-Origin', 'http://localhost');
21
21
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, OPTIONS');
22
22
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
23
23
  if (req.method === 'OPTIONS') {
@@ -54,6 +54,10 @@ export function startRESTServer(manager, transfer, port) {
54
54
  // POST /api/exec — { node, command } — runs command on remote node via SSH
55
55
  if (req.method === 'POST' && path === '/api/exec') {
56
56
  const body = JSON.parse(await readBody(req));
57
+ if (typeof body.node !== 'string' || typeof body.command !== 'string') {
58
+ json(res, 400, { error: 'Required: { node: string, command: string }' });
59
+ return;
60
+ }
57
61
  const result = await manager.exec(body.node, body.command);
58
62
  json(res, 200, result);
59
63
  return;
@@ -61,6 +65,10 @@ export function startRESTServer(manager, transfer, port) {
61
65
  // POST /api/transfer — { src, dst }
62
66
  if (req.method === 'POST' && path === '/api/transfer') {
63
67
  const body = JSON.parse(await readBody(req));
68
+ if (typeof body.src !== 'string' || typeof body.dst !== 'string') {
69
+ json(res, 400, { error: 'Required: { src: string, dst: string }' });
70
+ return;
71
+ }
64
72
  const srcParsed = parseMeshPath(body.src);
65
73
  const dstParsed = parseMeshPath(body.dst);
66
74
  if (!srcParsed || !dstParsed) {