@geravant/sinain 1.0.12 → 1.0.14

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 (2) hide show
  1. package/install.js +24 -9
  2. package/package.json +1 -1
package/install.js CHANGED
@@ -116,8 +116,7 @@ async function installNemoClaw({ sandboxName }) {
116
116
  cfg.agents.defaults ??= {};
117
117
  cfg.agents.defaults.sandbox ??= {};
118
118
  cfg.agents.defaults.sandbox.sessionToolsVisibility = "all";
119
- cfg.compaction = { mode: "safeguard", maxHistoryShare: 0.2, reserveTokensFloor: 40000 };
120
- // NemoClaw: gateway bind/auth are managed by OpenShell — do not overwrite them
119
+ // NemoClaw: gateway bind/auth and compaction are managed by OpenShell do not overwrite them
121
120
 
122
121
  const token = cfg.gateway?.auth?.token ?? "(see sandbox openclaw.json)";
123
122
 
@@ -141,23 +140,39 @@ async function installNemoClaw({ sandboxName }) {
141
140
  }
142
141
  }
143
142
 
144
- // Reload openclaw gateway inside sandbox
143
+ // Restart openclaw gateway inside sandbox (kill existing PID + start fresh)
145
144
  try {
146
- run_capture(`ssh -T openshell-${sandboxName} 'openclaw reload'`);
147
- console.log(" Gateway reloaded");
145
+ // Find the gateway PID, kill it, then start a new instance detached
146
+ run_capture(`ssh -T openshell-${sandboxName} 'pid=$(ss -tlnp 2>/dev/null | awk -F"pid=" "/18789/{print \\$2}" | cut -d, -f1); [ -n "$pid" ] && kill "$pid"; nohup openclaw gateway > /tmp/oc-gateway.log 2>&1 &'`);
147
+ console.log(" ✓ Gateway restarted");
148
148
  } catch {
149
- console.warn(" ⚠ Could not reload gateway — it will pick up changes on next start");
149
+ console.warn(" ⚠ Could not restart gateway — it will pick up changes on next start");
150
150
  }
151
151
 
152
+ // Forward sandbox port 18789 → VM (idempotent — safe to re-run)
153
+ try {
154
+ run(`openshell forward start --background 18789 ${sandboxName}`);
155
+ console.log(" ✓ Port 18789 forwarded (sandbox → VM)");
156
+ } catch {
157
+ console.warn(" ⚠ Port forward may already be running — check: openshell forward list");
158
+ }
159
+
160
+ const vmIp = (() => {
161
+ try { return run_capture("curl -s ifconfig.me 2>/dev/null"); } catch {}
162
+ try { return run_capture("hostname -I | awk '{print $1}'"); } catch {}
163
+ return "YOUR-BREV-IP";
164
+ })();
165
+
152
166
  console.log(`
153
167
  ✓ sinain installed successfully.
154
168
  Sandbox: ${sandboxName}
155
169
  Auth token: ${token}
156
170
 
157
171
  Next steps:
158
- 1. Note the token above
159
- 2. Run ./setup-nemoclaw.sh on your Mac
160
- NemoClaw URL: ws://YOUR-BREV-IP:18789
172
+ 1. In your Brev dashboard → "Expose Port(s)" → enter 18789 → TCP
173
+ (This makes the gateway reachable from your Mac — no SSH tunnel needed)
174
+ 2. Run ./setup-nemoclaw.sh on your Mac:
175
+ NemoClaw URL: ws://${vmIp}:18789
161
176
  Auth token: ${token}
162
177
  `);
163
178
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geravant/sinain",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "description": "sinain OpenClaw plugin — AI overlay for macOS",
5
5
  "type": "module",
6
6
  "bin": {