traderclaw-cli 1.0.80 → 1.0.82

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.
@@ -10,6 +10,9 @@ import { getLinuxGatewayPersistenceSnapshot } from "./gateway-persistence-linux.
10
10
  const CONFIG_DIR = join(homedir(), ".openclaw");
11
11
  const CONFIG_FILE = join(CONFIG_DIR, "openclaw.json");
12
12
 
13
+ /** Pinned openclaw platform version — bump deliberately after testing, never use "latest". */
14
+ export const OPENCLAW_VERSION = "2026.4.9";
15
+
13
16
  /** Directory containing solana-traderclaw (openclaw.plugin.json) — works for plugin layout or traderclaw-cli + dependency. */
14
17
  const PLUGIN_PACKAGE_ROOT = resolvePluginPackageRoot(import.meta.url);
15
18
 
@@ -357,7 +360,7 @@ function gatewayTimeoutRemediation() {
357
360
  "- Check RAM: openclaw gateway requires >=512MB free (>=2GB total recommended)",
358
361
  "- Check disk: df -h ~/.openclaw",
359
362
  "- Try: openclaw config validate && openclaw gateway doctor || true",
360
- "- If config schema error appears, run: npm install -g openclaw@latest",
363
+ `- If config schema error appears, run: npm install -g openclaw@${OPENCLAW_VERSION}`,
361
364
  "Once the gateway shows 'running' in status, click Start Installation again.",
362
365
  ].join("\n");
363
366
  }
@@ -380,7 +383,7 @@ function gatewayConfigValidationRemediation() {
380
383
  "The first `openclaw config validate` in this installer runs before plugins install; validation must be re-run once plugin schemas are registered — that is why this can appear only at gateway.",
381
384
  "On the VPS, try in order:",
382
385
  "1) openclaw --version",
383
- "2) npm install -g openclaw@latest",
386
+ `2) npm install -g openclaw@${OPENCLAW_VERSION}`,
384
387
  "3) openclaw config validate",
385
388
  "4) openclaw plugins doctor",
386
389
  "5) cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak.$(date +%s) || true",
@@ -511,11 +514,11 @@ export async function ensureOpenClawGlobalPackageDependencies() {
511
514
  async function installOpenClawPlatform() {
512
515
  const hadOpenclaw = commandExists("openclaw");
513
516
  const previousVersion = hadOpenclaw ? getCommandOutput("openclaw --version") : null;
514
- await runCommandWithEvents("npm", ["install", "-g", "--ignore-scripts", "--registry", "https://registry.npmjs.org/", "openclaw@latest"]);
517
+ await runCommandWithEvents("npm", ["install", "-g", "--ignore-scripts", "--registry", "https://registry.npmjs.org/", `openclaw@${OPENCLAW_VERSION}`]);
515
518
  const available = commandExists("openclaw");
516
519
  const version = available ? getCommandOutput("openclaw --version") : null;
517
520
  if (!available) {
518
- throw new Error("npm install -g openclaw@latest finished but `openclaw` is not available on PATH");
521
+ throw new Error(`npm install -g openclaw@${OPENCLAW_VERSION} finished but \`openclaw\` is not available on PATH`);
519
522
  }
520
523
  return {
521
524
  alreadyInstalled: hadOpenclaw,
@@ -10,6 +10,7 @@ import { execFile, execSync } from "child_process";
10
10
  import { promisify } from "util";
11
11
  import { createServer } from "http";
12
12
  import { resolvePluginPackageRoot } from "./resolve-plugin-root.mjs";
13
+ import { OPENCLAW_VERSION } from "./installer-step-engine.mjs";
13
14
 
14
15
  const execFileAsync = promisify(execFile);
15
16
 
@@ -1816,7 +1817,7 @@ async function cmdPrecheck(args) {
1816
1817
  } else if (opts.mode === "allow-install") {
1817
1818
  log.info("Installing openclaw (allow-install mode)");
1818
1819
  try {
1819
- execSync("npm install -g --registry https://registry.npmjs.org/ openclaw@latest", { stdio: "ignore" });
1820
+ execSync(`npm install -g --ignore-scripts --registry https://registry.npmjs.org/ openclaw@${OPENCLAW_VERSION}`, { stdio: "ignore" });
1820
1821
  if (commandExists("openclaw")) log.pass("openclaw installed successfully");
1821
1822
  else log.fail("openclaw install completed but command is still missing");
1822
1823
  } catch {
@@ -4155,7 +4156,7 @@ async function cmdRepairOpenclaw() {
4155
4156
  printInfo("Repairing global OpenClaw npm dependencies (fixes missing grammy, @buape/carbon, etc.)...");
4156
4157
  const r = await ensureOpenClawGlobalPackageDependencies();
4157
4158
  if (r.skipped) {
4158
- printError(`Could not find global OpenClaw package (${r.reason}). Install or upgrade: npm install -g openclaw@latest`);
4159
+ printError(`Could not find global OpenClaw package (${r.reason}). Install or upgrade: npm install -g openclaw@${OPENCLAW_VERSION}`);
4159
4160
  process.exit(1);
4160
4161
  }
4161
4162
  printSuccess(`Dependencies refreshed under ${r.dir}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "traderclaw-cli",
3
- "version": "1.0.80",
3
+ "version": "1.0.82",
4
4
  "description": "Global TraderClaw CLI (install --wizard, setup, precheck). Installs solana-traderclaw as a dependency for OpenClaw plugin files.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -17,7 +17,7 @@
17
17
  "node": ">=22"
18
18
  },
19
19
  "dependencies": {
20
- "solana-traderclaw": "^1.0.80"
20
+ "solana-traderclaw": "^1.0.82"
21
21
  },
22
22
  "keywords": [
23
23
  "traderclaw",