claude-ide-bridge 2.5.0 → 2.5.2

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 (54) hide show
  1. package/README.md +47 -8
  2. package/dist/activityLog.d.ts +2 -8
  3. package/dist/activityLog.js +2 -6
  4. package/dist/activityLog.js.map +1 -1
  5. package/dist/activityTypes.d.ts +0 -4
  6. package/dist/bridge.d.ts +3 -0
  7. package/dist/bridge.js +36 -39
  8. package/dist/bridge.js.map +1 -1
  9. package/dist/config.d.ts +0 -2
  10. package/dist/config.js +0 -17
  11. package/dist/config.js.map +1 -1
  12. package/dist/index.js +0 -95
  13. package/dist/index.js.map +1 -1
  14. package/dist/prompts.js +3 -2
  15. package/dist/prompts.js.map +1 -1
  16. package/dist/server.d.ts +1 -31
  17. package/dist/server.js +12 -99
  18. package/dist/server.js.map +1 -1
  19. package/dist/streamableHttp.js +5 -10
  20. package/dist/streamableHttp.js.map +1 -1
  21. package/dist/tools/auditDependencies.js +5 -2
  22. package/dist/tools/auditDependencies.js.map +1 -1
  23. package/dist/tools/fileOperations.js +5 -5
  24. package/dist/tools/fileOperations.js.map +1 -1
  25. package/dist/tools/getSecurityAdvisories.js +5 -2
  26. package/dist/tools/getSecurityAdvisories.js.map +1 -1
  27. package/dist/tools/handoffNote.d.ts +17 -2
  28. package/dist/tools/handoffNote.js +56 -18
  29. package/dist/tools/handoffNote.js.map +1 -1
  30. package/dist/tools/httpClient.js +17 -1
  31. package/dist/tools/httpClient.js.map +1 -1
  32. package/dist/tools/index.js +2 -2
  33. package/dist/tools/index.js.map +1 -1
  34. package/dist/tools/searchAndReplace.js +8 -0
  35. package/dist/tools/searchAndReplace.js.map +1 -1
  36. package/dist/tools/terminal.js +24 -2
  37. package/dist/tools/terminal.js.map +1 -1
  38. package/dist/tools/utils.js +35 -13
  39. package/dist/tools/utils.js.map +1 -1
  40. package/dist/transport.d.ts +0 -2
  41. package/dist/transport.js +2 -32
  42. package/dist/transport.js.map +1 -1
  43. package/package.json +1 -1
  44. package/scripts/gen-mcp-config.sh +15 -4
  45. package/scripts/install-extension.sh +6 -1
  46. package/scripts/start-all.sh +86 -9
  47. package/templates/CLAUDE.bridge.md +37 -1
  48. package/templates/dispatch-context.md +4 -0
  49. package/templates/scheduled-tasks/dependency-audit/SKILL.md +27 -2
  50. package/templates/scheduled-tasks/health-check/SKILL.md +19 -0
  51. package/templates/scheduled-tasks/nightly-review/SKILL.md +24 -0
  52. package/dist/teammateTokens.d.ts +0 -61
  53. package/dist/teammateTokens.js +0 -202
  54. package/dist/teammateTokens.js.map +0 -1
@@ -64,19 +64,12 @@ export function optionalArray(args, key) {
64
64
  }
65
65
  return val;
66
66
  }
67
- // Cache for workspace realpath — short TTL to limit the TOCTOU window if the workspace
68
- // directory itself is replaced with a symlink while the bridge is running.
69
- const REALPATH_CACHE_TTL_MS = 5_000;
70
- const realpathCache = new Map();
67
+ // No caching for workspace realpath — a stale cache creates a TOCTOU window
68
+ // where a symlink swap of the workspace directory could allow path traversal
69
+ // outside the workspace. The overhead of realpathSync is negligible relative
70
+ // to the file I/O that follows each resolveFilePath call.
71
71
  function cachedRealpathSync(p) {
72
- const now = Date.now();
73
- const entry = realpathCache.get(p);
74
- if (entry !== undefined && now < entry.expiresAt) {
75
- return entry.value;
76
- }
77
- const value = fs.realpathSync(p);
78
- realpathCache.set(p, { value, expiresAt: now + REALPATH_CACHE_TTL_MS });
79
- return value;
72
+ return fs.realpathSync(p);
80
73
  }
81
74
  export function resolveFilePath(filePath, workspace, opts = {}) {
82
75
  if (typeof filePath !== "string") {
@@ -227,9 +220,38 @@ export async function execSafe(cmd, args, opts = {}) {
227
220
  const maxBuffer = opts.maxBuffer ?? 512 * 1024;
228
221
  const start = Date.now();
229
222
  try {
223
+ // Use a minimal environment by default to prevent subprocess access to
224
+ // secrets inherited from the bridge process (ANTHROPIC_API_KEY, DB creds, etc.).
225
+ // Callers may pass opts.env to extend or override specific vars.
226
+ const minimalEnv = {
227
+ PATH: process.env["PATH"],
228
+ HOME: process.env["HOME"],
229
+ USER: process.env["USER"],
230
+ LOGNAME: process.env["LOGNAME"],
231
+ LANG: process.env["LANG"],
232
+ LC_ALL: process.env["LC_ALL"],
233
+ TMPDIR: process.env["TMPDIR"],
234
+ TEMP: process.env["TEMP"],
235
+ TMP: process.env["TMP"],
236
+ // Node/npm toolchain vars needed by most build commands
237
+ NVM_DIR: process.env["NVM_DIR"],
238
+ NPM_CONFIG_PREFIX: process.env["NPM_CONFIG_PREFIX"],
239
+ NODE_PATH: process.env["NODE_PATH"],
240
+ CARGO_HOME: process.env["CARGO_HOME"],
241
+ RUSTUP_HOME: process.env["RUSTUP_HOME"],
242
+ GOPATH: process.env["GOPATH"],
243
+ GOROOT: process.env["GOROOT"],
244
+ // Allow caller to extend with additional vars
245
+ ...opts.env,
246
+ };
247
+ // Strip undefined values (env keys with undefined values cause spawn errors)
248
+ for (const k of Object.keys(minimalEnv)) {
249
+ if (minimalEnv[k] === undefined)
250
+ delete minimalEnv[k];
251
+ }
230
252
  const { stdout, stderr } = await execFileAsync(cmd, args, {
231
253
  cwd: opts.cwd,
232
- env: opts.env ?? process.env,
254
+ env: minimalEnv,
233
255
  timeout,
234
256
  maxBuffer,
235
257
  signal: opts.signal,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tools/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tools/utils.ts"],"names":[],"mappings":"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"}
@@ -44,8 +44,6 @@ export declare class McpTransport {
44
44
  private notifCount;
45
45
  private notifWindowStart;
46
46
  sessionId: string | null;
47
- teammateName: string | null;
48
- scopes: string[] | null;
49
47
  private activityLog;
50
48
  private isExtensionConnectedFn;
51
49
  private readonly ajv;
package/dist/transport.js CHANGED
@@ -41,8 +41,6 @@ export class McpTransport {
41
41
  notifCount = 0;
42
42
  notifWindowStart = 0;
43
43
  sessionId = null;
44
- teammateName = null;
45
- scopes = null;
46
44
  activityLog = null;
47
45
  isExtensionConnectedFn = null;
48
46
  ajv = new Ajv({ strict: false, allErrors: true });
@@ -621,28 +619,6 @@ export class McpTransport {
621
619
  };
622
620
  break;
623
621
  }
624
- // Enforce read-only scope: block mutating tools for read-only teammates.
625
- // Tools that declare readOnlyHint: true in annotations are safe to call.
626
- if (this.scopes?.includes("read-only") &&
627
- !this.scopes.includes("full") &&
628
- !tool.schema.annotations?.readOnlyHint) {
629
- this.callCount++;
630
- this.errorCount++;
631
- response = {
632
- jsonrpc: "2.0",
633
- id: msg.id,
634
- result: {
635
- content: [
636
- {
637
- type: "text",
638
- text: `Tool "${params.name}" requires full access. Your token has read-only scope.`,
639
- },
640
- ],
641
- isError: true,
642
- },
643
- };
644
- break;
645
- }
646
622
  this.callCount++; // Count after validation — only real execution attempts
647
623
  callLog.debug(`Calling tool: ${params.name}`);
648
624
  this.logger.event("tool_call", { tool: params.name, callId });
@@ -677,10 +653,7 @@ export class McpTransport {
677
653
  timeoutPromise,
678
654
  ]);
679
655
  const durationMs = Date.now() - startTime;
680
- this.activityLog?.record(params.name, durationMs, "success", undefined, {
681
- sessionId: this.sessionId?.slice(0, 8),
682
- teammateName: this.teammateName ?? undefined,
683
- });
656
+ this.activityLog?.record(params.name, durationMs, "success");
684
657
  callLog.debug(`Tool completed in ${durationMs}ms`);
685
658
  response = { jsonrpc: "2.0", id: msg.id, result };
686
659
  }
@@ -709,10 +682,7 @@ export class McpTransport {
709
682
  : undefined;
710
683
  callLog.error(`Tool ${params.name} failed: ${message}`);
711
684
  this.errorCount++;
712
- this.activityLog?.record(params.name, Date.now() - startTime, "error", message, {
713
- sessionId: this.sessionId?.slice(0, 8),
714
- teammateName: this.teammateName ?? undefined,
715
- });
685
+ this.activityLog?.record(params.name, Date.now() - startTime, "error", message);
716
686
  const errPayload = { error: message };
717
687
  if (errCode !== undefined)
718
688
  errPayload.code = errCode;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-ide-bridge",
3
- "version": "2.5.0",
3
+ "version": "2.5.2",
4
4
  "description": "Standalone MCP bridge for Claude Code IDE integration with any editor — 124+ tools for LSP, debugging, terminals, Git, GitHub, and more",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -118,8 +118,8 @@ fi
118
118
  # --- Remote target: no lock file needed — caller supplies host and token ---
119
119
  if [[ "$TARGET" == "remote" ]]; then
120
120
  if [[ -z "$REMOTE_HOST" || -z "$REMOTE_TOKEN" ]]; then
121
- echo "Error: remote target requires --host <host:port> and --token <token>" >&2
122
- echo " Get the token with: claude-ide-bridge print-token" >&2
121
+ echo "Error: 'remote' target requires --host <host:port> and --token <token>" >&2
122
+ echo " Example: bash gen-mcp-config.sh remote --host mybridge.example.com:8080 --token abc123 --write" >&2
123
123
  exit 1
124
124
  fi
125
125
  OUTPUT_PATH="${HOME}/.claude/mcp.json"
@@ -137,7 +137,9 @@ if [[ "$TARGET" == "remote" ]]; then
137
137
  }
138
138
  EOF
139
139
  )
140
- # Warn when using an ephemeral trycloudflare.com tunnel
140
+ # WARNING: Ephemeral tunnels (trycloudflare.com) generate a new URL on every restart.
141
+ # Any MCP config using this URL will break when the tunnel restarts.
142
+ # For stable remote access, use a fixed domain with --fixed-token.
141
143
  if [[ "$REMOTE_HOST" == *".trycloudflare.com"* ]]; then
142
144
  echo "⚠️ WARNING: trycloudflare.com tunnels are ephemeral — the URL changes every time" >&2
143
145
  echo " cloudflared restarts. Your MCP config will break on the next restart." >&2
@@ -158,6 +160,11 @@ EOF
158
160
  echo "Tip: Claude Code supports \${VAR:-default} in .mcp.json. Replace the token value"
159
161
  echo " with \${BRIDGE_TOKEN} and set BRIDGE_TOKEN in your shell profile to avoid"
160
162
  echo " storing the token in the config file. See docs/remote-access.md for details."
163
+ echo ""
164
+ echo "⚠️ IMPORTANT: Start your bridge with --fixed-token <uuid> (or CLAUDE_IDE_BRIDGE_TOKEN=<uuid>)"
165
+ echo " to keep this token stable across restarts. Without it, the bridge generates a new"
166
+ echo " token on every restart and this MCP config will stop working immediately."
167
+ echo " Example: claude-ide-bridge --bind 0.0.0.0 --fixed-token \$BRIDGE_TOKEN --workspace /path/to/project"
161
168
  if $WRITE; then
162
169
  # Find the nearest .mcp.json (walk up from cwd, fallback to ~/.claude/mcp.json)
163
170
  _find_mcp_json() {
@@ -271,7 +278,9 @@ PYEOF
271
278
  elif command -v jq >/dev/null 2>&1; then
272
279
  jq -r --arg f "$field" '.[$f]' "$LOCK_FILE"
273
280
  else
274
- echo "Error: python3 or jq is required to parse lock file" >&2
281
+ echo "Error: python3 or jq is required to parse the bridge lock file." >&2
282
+ echo " Install python3: brew install python3 (macOS) or apt install python3 (Linux)" >&2
283
+ echo " Install jq: brew install jq (macOS) or apt install jq (Linux)" >&2
275
284
  exit 1
276
285
  fi
277
286
  }
@@ -369,6 +378,8 @@ if $WRITE; then
369
378
  echo "Backed up existing config to $(basename "$BACKUP")"
370
379
  fi
371
380
  # Atomic write via tmp file to prevent partial writes on interrupt
381
+ TMP_FILE="$(mktemp)"
382
+ trap 'rm -f "$TMP_FILE"' EXIT
372
383
  TMP_PATH="${OUTPUT_PATH}.tmp"
373
384
  printf '%s\n' "$CONFIG" > "$TMP_PATH"
374
385
  mv "$TMP_PATH" "$OUTPUT_PATH"
@@ -86,6 +86,10 @@ if $DO_BUILD; then
86
86
  fi
87
87
 
88
88
  # --- Find the VSIX ---
89
+ VSIX_COUNT=$(ls "$VSIX_DIR"/*.vsix 2>/dev/null | wc -l | tr -d ' ')
90
+ if [ "$VSIX_COUNT" -gt 1 ]; then
91
+ echo "Warning: Found $VSIX_COUNT .vsix files — using newest. Run with --build to rebuild." >&2
92
+ fi
89
93
  VSIX=$(ls -t "$VSIX_DIR"/*.vsix 2>/dev/null | head -1)
90
94
  if [[ -z "$VSIX" ]]; then
91
95
  echo "Error: No .vsix file found in $VSIX_DIR" >&2
@@ -94,8 +98,9 @@ if [[ -z "$VSIX" ]]; then
94
98
  fi
95
99
 
96
100
  echo "Installing $(basename "$VSIX") into $IDE..."
101
+ # --force reinstalls even if already installed (needed for upgrades)
97
102
  "$INSTALL_CMD" --install-extension "$VSIX" --force
98
103
 
99
104
  echo ""
100
- echo "Done. Restart $IDE (or reload window) for the extension to activate."
105
+ echo "Done. To activate: restart your IDE, or open the Command Palette (Cmd+Shift+P on Mac / Ctrl+Shift+P on Windows/Linux) and run 'Developer: Reload Window'."
101
106
  echo "The extension will auto-connect to any running bridge."
@@ -8,25 +8,43 @@
8
8
  # 2 — claude --ide (Claude Code CLI, connects to bridge for IDE tools)
9
9
  # 3 — claude remote-control --spawn=session (exposes the workspace to claude.ai;
10
10
  # spawned sessions auto-discover the bridge via ~/.claude/ide/*.lock)
11
+ # 4 — SSH reverse tunnel to VPS (optional, enabled with --vps <user@host:port>)
12
+ # Forwards VPS_PORT on the remote host back to the local bridge port.
13
+ # Allows claude.ai integrations to use a static VPS URL instead of a
14
+ # rotating remote-control session URL.
11
15
  #
12
16
  # Usage:
13
- # ./scripts/start-all.sh [--workspace <path>] [--notify <ntfy-topic>]
17
+ # ./scripts/start-all.sh [--workspace <path>] [--notify <ntfy-topic>] [--vps <user@host:port>]
14
18
  # npm run start-all -- --workspace /path/to/project
15
19
  #
20
+ # Options:
21
+ # --workspace <path> Directory to open in Claude (default: current directory)
22
+ # --notify <topic> Push notifications via ntfy.sh when remote-control connects or
23
+ # the bridge restarts. Free, no account needed — pick any topic
24
+ # name and subscribe at ntfy.sh/<topic> or in the ntfy mobile app.
25
+ # Example: --notify my-claude-alerts
26
+ # The session URL is pushed automatically on each (re)connect,
27
+ # so Dispatch always has the current link without manual copy/paste.
28
+ # --vps <user@host> SSH reverse tunnel: forward a VPS port back to the local bridge,
29
+ # enabling a stable public URL for claude.ai integrations.
30
+ #
16
31
  # Controls:
17
32
  # Ctrl+C in any pane — stops that process only
18
- # Ctrl+B, D — detach (everything keeps running)
33
+ # Ctrl+B then D (press Ctrl+B, release, then press D) — detach (everything keeps running)
19
34
  # tmux kill-session -t claude-all — stop everything
20
35
 
21
36
  set -uo pipefail
22
37
 
38
+ trap 'echo "[orchestrator] Caught signal, stopping all panes..."; tmux kill-session -t "${SESSION:-claude-all}" 2>/dev/null; exit 0' SIGINT SIGTERM
39
+
23
40
  SESSION="claude-all"
24
41
  SCRIPT_PATH="$(cd "$(dirname "$0")" && pwd)/$(basename "$0")"
25
42
  BRIDGE_DIR="$(cd "$(dirname "$0")/.." && pwd)"
26
43
  WORKSPACE="."
27
44
  NTFY_TOPIC=""
28
45
  IDE_NAME=""
29
- BRIDGE_READY_TIMEOUT=30
46
+ VPS=""
47
+ BRIDGE_READY_TIMEOUT="${BRIDGE_READY_TIMEOUT:-30}"
30
48
  LAST_CLAUDE_RESTART=0
31
49
  RESTART_COUNT=0
32
50
  RESTART_DELAY=5
@@ -38,10 +56,15 @@ while [[ $# -gt 0 ]]; do
38
56
  --workspace) WORKSPACE="$2"; shift 2 ;;
39
57
  --notify) NTFY_TOPIC="$2"; shift 2 ;;
40
58
  --ide) IDE_NAME="$2"; shift 2 ;;
59
+ --vps) VPS="$2"; shift 2 ;;
41
60
  *) echo "Unknown option: $1" >&2; exit 1 ;;
42
61
  esac
43
62
  done
44
63
  WORKSPACE="$(cd "$WORKSPACE" && pwd)" || { echo "Error: workspace directory not found" >&2; exit 1; }
64
+ if [ ! -d "$WORKSPACE" ]; then
65
+ echo "Error: workspace directory does not exist: $WORKSPACE" >&2
66
+ exit 1
67
+ fi
45
68
 
46
69
  # --- Dependency checks ---
47
70
  command -v tmux >/dev/null 2>&1 || {
@@ -65,14 +88,14 @@ if [[ -z "${TMUX:-}" ]]; then
65
88
  fi
66
89
  # Create session detached, re-run this script inside it, then attach
67
90
  tmux new-session -d -s "$SESSION" -x 200 -y 50
68
- tmux send-keys -t "$SESSION" "\"$SCRIPT_PATH\" --workspace \"$WORKSPACE\"$([ -n "$NTFY_TOPIC" ] && echo " --notify \"$NTFY_TOPIC\"")$([ -n "$IDE_NAME" ] && echo " --ide \"$IDE_NAME\"")" Enter
91
+ tmux send-keys -t "$SESSION" "\"$SCRIPT_PATH\" --workspace \"$WORKSPACE\"$([ -n "$NTFY_TOPIC" ] && echo " --notify \"$NTFY_TOPIC\"")$([ -n "$IDE_NAME" ] && echo " --ide \"$IDE_NAME\"")$([ -n "$VPS" ] && echo " --vps \"$VPS\"")" Enter
69
92
  exec tmux attach -t "$SESSION"
70
93
  fi
71
94
 
72
95
  # --- We're inside tmux now (running in pane 0) ---
73
96
  echo "=== Claude IDE Bridge Full Orchestrator ==="
74
97
  echo " Ctrl+C in any pane — stops that process"
75
- echo " Ctrl+B, D — detach (keeps running)"
98
+ echo " Ctrl+B then D (press Ctrl+B, release, then press D) — detach (keeps running)"
76
99
  echo " tmux kill-session -t $SESSION — stop everything"
77
100
  [[ -n "$NTFY_TOPIC" ]] && echo " Push notifications: ntfy.sh/$NTFY_TOPIC"
78
101
  echo ""
@@ -124,6 +147,43 @@ SESSION_DISPLAY_NAME="bridge:${WS_BASENAME}"
124
147
  # Ensures PostToolUse/SessionEnd hook payloads are delivered even during graceful shutdown.
125
148
  CLAUDE_CMD="cd $(printf '%q' "$WORKSPACE") && unset CLAUDECODE && CLAUDE_CODE_IDE_SKIP_VALID_CHECK=true CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=10000 claude --ide --name $(printf '%q' "$SESSION_DISPLAY_NAME")"
126
149
 
150
+ # --- SSH reverse tunnel command (pane 4, only when --vps is set) ---
151
+ # Format: --vps user@host:remote_port (e.g. root@185.220.204.65:9000)
152
+ # The tunnel forwards remote_port on the VPS back to the local bridge port,
153
+ # so a static MCP URL on the VPS proxies directly to the local bridge.
154
+ TUNNEL_CMD=""
155
+ if [[ -n "$VPS" ]]; then
156
+ VPS_HOST="${VPS%:*}" # everything before the last colon
157
+ VPS_PORT="${VPS##*:}" # everything after the last colon
158
+ # Derive local bridge port from lock file at startup time (resolved later after bridge starts)
159
+ # We use a wrapper that reads the port dynamically so restarts pick up new ports automatically.
160
+ TUNNEL_CMD="bash -c '
161
+ delay=5; max_delay=60; failures=0
162
+ while true; do
163
+ # Read current bridge port from the newest lock file
164
+ LOCAL_PORT=\$(ls -t ~/.claude/ide/*.lock 2>/dev/null | head -1 | xargs -I{} python3 -c \"import json,sys; d=json.load(open(sys.argv[1])); print(d.get(\\\"port\\\", \\\"\\\"))\" {} 2>/dev/null || echo \"\")
165
+ # Fall back to basename of lock file (port is the filename)
166
+ if [[ -z \"\$LOCAL_PORT\" ]]; then
167
+ LOCAL_PORT=\$(ls -t ~/.claude/ide/*.lock 2>/dev/null | head -1 | xargs basename 2>/dev/null | sed \"s/.lock//\")
168
+ fi
169
+ if [[ -z \"\$LOCAL_PORT\" ]]; then
170
+ echo \"[\$(date +%H:%M:%S)] No bridge lock file found, retrying in \${delay}s...\"
171
+ sleep \$delay; continue
172
+ fi
173
+ echo \"[\$(date +%H:%M:%S)] Opening SSH tunnel: ${VPS_HOST} port ${VPS_PORT} -> localhost:\$LOCAL_PORT\"
174
+ ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=30 -o ServerAliveCountMax=3 \
175
+ -o ExitOnForwardFailure=yes -o BatchMode=yes \
176
+ -R 0.0.0.0:${VPS_PORT}:localhost:\$LOCAL_PORT -N ${VPS_HOST}
177
+ code=\$?
178
+ [ \$code -eq 130 ] && { echo \"Exited by Ctrl+C.\"; exit 0; }
179
+ failures=\$((failures+1))
180
+ [ \$failures -ge 20 ] && { echo \"Too many tunnel failures. Giving up.\"; exit 1; }
181
+ echo \"[\$(date +%H:%M:%S)] Tunnel disconnected (exit \$code). Reconnecting in \${delay}s...\"
182
+ sleep \$delay
183
+ [ \$delay -lt \$max_delay ] && delay=\$((delay*2))
184
+ done'"
185
+ fi
186
+
127
187
  # Export for subshell access
128
188
  export NTFY_TOPIC
129
189
 
@@ -157,10 +217,11 @@ while true; do
157
217
  sleep \$delay
158
218
  done'"
159
219
 
160
- # --- Create 3 additional panes (pane 0 = orchestrator, 1 = bridge, 2 = claude, 3 = remote-control) ---
220
+ # --- Create additional panes (pane 0 = orchestrator, 1 = bridge, 2 = claude, 3 = remote-control, 4 = ssh tunnel) ---
161
221
  tmux split-window -v -t "$SESSION" # pane 1 for bridge
162
222
  tmux split-window -v -t "$SESSION" # pane 2 for claude --ide
163
223
  tmux split-window -v -t "$SESSION" # pane 3 for claude remote-control
224
+ [[ -n "$TUNNEL_CMD" ]] && tmux split-window -v -t "$SESSION" # pane 4 for ssh tunnel (optional)
164
225
  tmux select-layout -t "$SESSION" even-vertical
165
226
 
166
227
  # --- Helper: wait for a NEW lock file (ignores pre-existing ones) ---
@@ -239,6 +300,12 @@ sleep 3
239
300
  # Pane 3: Remote control with auto-restart loop
240
301
  tmux send-keys -t "${SESSION}:0.3" "$REMOTE_CMD" Enter
241
302
 
303
+ # Pane 4: SSH reverse tunnel (only if --vps was set)
304
+ if [[ -n "$TUNNEL_CMD" ]]; then
305
+ notify "Starting SSH tunnel to ${VPS}..."
306
+ tmux send-keys -t "${SESSION}:0.4" "$TUNNEL_CMD" Enter
307
+ fi
308
+
242
309
  # --- Health monitor (runs in pane 0 — the orchestrator pane) ---
243
310
  echo ""
244
311
  echo "Health monitor active. Watching: $(basename "$LOCK_FILE")"
@@ -251,22 +318,27 @@ cleanup() {
251
318
  tmux send-keys -t "${SESSION}:0.1" C-c 2>/dev/null
252
319
  tmux send-keys -t "${SESSION}:0.2" C-c 2>/dev/null
253
320
  tmux send-keys -t "${SESSION}:0.3" C-c 2>/dev/null
321
+ [[ -n "$TUNNEL_CMD" ]] && tmux send-keys -t "${SESSION}:0.4" C-c 2>/dev/null
254
322
  # Wait up to 5s for panes to exit gracefully, then force-kill
323
+ local panes=(1 2 3)
324
+ [[ -n "$TUNNEL_CMD" ]] && panes=(1 2 3 4)
255
325
  for _ in $(seq 1 5); do
256
326
  sleep 1
257
327
  all_idle=true
258
- for pane in 1 2 3; do
328
+ for pane in "${panes[@]}"; do
259
329
  cmd=$(tmux display-message -t "${SESSION}:0.${pane}" -p '#{pane_current_command}' 2>/dev/null || echo "")
260
330
  [[ "$cmd" != "bash" && "$cmd" != "zsh" && -n "$cmd" ]] && { all_idle=false; break; }
261
331
  done
262
332
  $all_idle && break
263
333
  done
264
334
  # Force-kill any remaining panes
265
- for pane in 1 2 3; do
335
+ for pane in "${panes[@]}"; do
266
336
  tmux send-keys -t "${SESSION}:0.${pane}" C-c 2>/dev/null || true
267
337
  done
268
338
  sleep 1
269
- for pane in 3 2 1; do
339
+ local rpanes=(3 2 1)
340
+ [[ -n "$TUNNEL_CMD" ]] && rpanes=(4 3 2 1)
341
+ for pane in "${rpanes[@]}"; do
270
342
  tmux kill-pane -t "${SESSION}:0.${pane}" 2>/dev/null || true
271
343
  done
272
344
  }
@@ -282,6 +354,7 @@ while true; do
282
354
  tmux send-keys -t "${SESSION}:0.1" C-c
283
355
  tmux send-keys -t "${SESSION}:0.2" C-c
284
356
  tmux send-keys -t "${SESSION}:0.3" C-c
357
+ [[ -n "$TUNNEL_CMD" ]] && tmux send-keys -t "${SESSION}:0.4" C-c
285
358
  # Wait for bridge (pane 1) and claude (pane 2) to actually stop
286
359
  for _ in $(seq 1 10); do
287
360
  pane1_cmd=$(tmux display-message -t "${SESSION}:0.1" -p '#{pane_current_command}' 2>/dev/null || echo "")
@@ -344,6 +417,10 @@ while true; do
344
417
  sleep 3
345
418
  # Restart remote-control
346
419
  tmux send-keys -t "${SESSION}:0.3" "$REMOTE_CMD" Enter
420
+ # Restart SSH tunnel (port may have changed — tunnel cmd reads lock file dynamically)
421
+ if [[ -n "$TUNNEL_CMD" ]]; then
422
+ tmux send-keys -t "${SESSION}:0.4" "$TUNNEL_CMD" Enter
423
+ fi
347
424
  notify "All processes restarted"
348
425
  else
349
426
  # Bridge is alive — check if Claude CLI (pane 2) has exited