@okclaw-build/cli 1.0.0-beta.5 → 1.0.0-beta.52

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 (88) hide show
  1. package/dist/commands/backup.d.ts +16 -0
  2. package/dist/commands/backup.js +80 -0
  3. package/dist/commands/backup.js.map +1 -0
  4. package/dist/commands/check.js +22 -6
  5. package/dist/commands/check.js.map +1 -1
  6. package/dist/commands/edit.d.ts +2 -7
  7. package/dist/commands/edit.js +27 -15
  8. package/dist/commands/edit.js.map +1 -1
  9. package/dist/commands/feed.js +63 -19
  10. package/dist/commands/feed.js.map +1 -1
  11. package/dist/commands/install.js +79 -18
  12. package/dist/commands/install.js.map +1 -1
  13. package/dist/commands/migration.d.ts +1 -0
  14. package/dist/commands/migration.js +205 -0
  15. package/dist/commands/migration.js.map +1 -0
  16. package/dist/commands/restore.d.ts +16 -0
  17. package/dist/commands/restore.js +75 -0
  18. package/dist/commands/restore.js.map +1 -0
  19. package/dist/commands/service.js +56 -13
  20. package/dist/commands/service.js.map +1 -1
  21. package/dist/commands/show.d.ts +13 -0
  22. package/dist/commands/show.js +70 -0
  23. package/dist/commands/show.js.map +1 -0
  24. package/dist/commands/skill.d.ts +1 -0
  25. package/dist/commands/skill.js +137 -0
  26. package/dist/commands/skill.js.map +1 -0
  27. package/dist/commands/uninstall.d.ts +1 -0
  28. package/dist/commands/uninstall.js +46 -0
  29. package/dist/commands/uninstall.js.map +1 -0
  30. package/dist/index.js +102 -9
  31. package/dist/index.js.map +1 -1
  32. package/dist/installers/base.d.ts +3 -1
  33. package/dist/installers/channel.d.ts +19 -3
  34. package/dist/installers/channel.js +170 -30
  35. package/dist/installers/channel.js.map +1 -1
  36. package/dist/installers/openclaw.d.ts +10 -2
  37. package/dist/installers/openclaw.js +154 -52
  38. package/dist/installers/openclaw.js.map +1 -1
  39. package/dist/installers/openviking-purge.d.ts +52 -0
  40. package/dist/installers/openviking-purge.js +380 -0
  41. package/dist/installers/openviking-purge.js.map +1 -0
  42. package/dist/installers/openviking.js +1 -2
  43. package/dist/installers/openviking.js.map +1 -1
  44. package/dist/installers/skill.d.ts +5 -2
  45. package/dist/installers/skill.js +67 -18
  46. package/dist/installers/skill.js.map +1 -1
  47. package/dist/migration/archive.d.ts +14 -0
  48. package/dist/migration/archive.js +84 -0
  49. package/dist/migration/archive.js.map +1 -0
  50. package/dist/migration/crypto.d.ts +16 -0
  51. package/dist/migration/crypto.js +56 -0
  52. package/dist/migration/crypto.js.map +1 -0
  53. package/dist/migration/manifest.d.ts +39 -0
  54. package/dist/migration/manifest.js +140 -0
  55. package/dist/migration/manifest.js.map +1 -0
  56. package/dist/openclaw-user-data.d.ts +81 -0
  57. package/dist/openclaw-user-data.js +411 -0
  58. package/dist/openclaw-user-data.js.map +1 -0
  59. package/dist/output/mode.d.ts +11 -0
  60. package/dist/output/mode.js +27 -0
  61. package/dist/output/mode.js.map +1 -0
  62. package/dist/output/ndjson.d.ts +57 -0
  63. package/dist/output/ndjson.js +136 -0
  64. package/dist/output/ndjson.js.map +1 -0
  65. package/dist/utils/constants.d.ts +8 -13
  66. package/dist/utils/constants.js +31 -20
  67. package/dist/utils/constants.js.map +1 -1
  68. package/dist/utils/deps.d.ts +34 -3
  69. package/dist/utils/deps.js +62 -100
  70. package/dist/utils/deps.js.map +1 -1
  71. package/dist/utils/install-safety.d.ts +25 -0
  72. package/dist/utils/install-safety.js +95 -0
  73. package/dist/utils/install-safety.js.map +1 -0
  74. package/dist/utils/logger.d.ts +10 -0
  75. package/dist/utils/logger.js +31 -4
  76. package/dist/utils/logger.js.map +1 -1
  77. package/dist/utils/mirror.js +14 -0
  78. package/dist/utils/mirror.js.map +1 -1
  79. package/dist/utils/openclaw-config-cli.d.ts +19 -0
  80. package/dist/utils/openclaw-config-cli.js +81 -0
  81. package/dist/utils/openclaw-config-cli.js.map +1 -0
  82. package/dist/utils/openclaw-daemon.d.ts +58 -0
  83. package/dist/utils/openclaw-daemon.js +154 -0
  84. package/dist/utils/openclaw-daemon.js.map +1 -0
  85. package/dist/utils/shell.d.ts +23 -2
  86. package/dist/utils/shell.js +138 -5
  87. package/dist/utils/shell.js.map +1 -1
  88. package/package.json +5 -4
@@ -1,5 +1,7 @@
1
1
  import { spawn, execFileSync } from 'node:child_process';
2
2
  import { error as logError, info } from './logger.js';
3
+ import { isNdjson } from '../output/mode.js';
4
+ import { getActiveEmitter } from '../output/ndjson.js';
3
5
  /**
4
6
  * Ensure running as root. If not, re-exec with sudo and exit.
5
7
  */
@@ -20,19 +22,47 @@ export function ensureRoot() {
20
22
  process.exit(code);
21
23
  }
22
24
  }
23
- // Prefix to source nvm before every shell command so node/npm are on PATH
24
- const NVM_INIT = 'export HOME=/root; export NVM_DIR=/root/.nvm; [ -s "$NVM_DIR/nvm.sh" ] && source "$NVM_DIR/nvm.sh"; ';
25
+ // Prefix to source nvm before every shell command so node/npm are on PATH.
26
+ //
27
+ // 关键:source nvm.sh 之后必须显式 `nvm use default`。nvm.sh 被 source 时的
28
+ // auto-use 只会激活"当前 PATH 上已有的那个 node"(nvm_ls_current 命中即
29
+ // `nvm use $NVM_CURRENT`),而不是 default。bootstrap 脚本只 source 一次 nvm、
30
+ // 把旧 node(如 22.16)钉进并 export 进 PATH,于是这里每个子进程继承到的都是
31
+ // 旧 node —— 即便 `okclaw check` 已经把 default 升到 24,`npm install openclaw`/
32
+ // `openclaw onboard`/`openclaw gateway` 仍跑在旧 node 上,触发 openclaw 的
33
+ // "Node.js vX is required" 而部署失败。强制 `nvm use default` 抵消这个行为,
34
+ // 让所有命令都跑在升级后的 default(24)。
35
+ // `command -v nvm` 守卫:全新主机只有 ensureNodeScript 写的极简 nvm.sh(无 nvm
36
+ // 函数,升级前),此时跳过 use default,不影响首个 node 的安装与版本判定。
37
+ const NVM_INIT = 'export HOME=/root; export NVM_DIR=/root/.nvm; '
38
+ + '[ -s "$NVM_DIR/nvm.sh" ] && { source "$NVM_DIR/nvm.sh"; command -v nvm >/dev/null 2>&1 && nvm use default --silent >/dev/null 2>&1; }; ';
39
+ const NVM_EXEC_SCRIPT = `${NVM_INIT} exec "$@"`;
25
40
  /**
26
- * Run a shell command with inherited stdio (visible output).
27
- * Automatically sources nvm so node/npm/openclaw are available.
41
+ * Run a shell command and wait for exit.
42
+ *
43
+ * text 模式:stdio:inherit,子进程输出直通父进程 TTY(本地交互体验不变)。
44
+ *
45
+ * ndjson 模式:捕获 stdout/stderr 并按行合成 phase="log" 事件(stdout→level=info,
46
+ * stderr→level=warn),通过 {@link getActiveEmitter} 拿到当前 op 的 emitter 发出。
47
+ * 这样像 `npm install` 这种几分钟才回一行 ndjson 的长操作,其实时进度也能通过
48
+ * 事件流推给 os-api / 前端,用户不会看到 UI 卡死 10 分钟。
49
+ *
50
+ * 透传是"尽力而为":emitter 缺失(理论上只有本地脚本直接 import shell() 且没走
51
+ * 正常 command 入口才会发生)时静默吞,不影响命令本身执行。
52
+ *
28
53
  * Throws on non-zero exit.
29
54
  */
30
55
  export function shell(cmd) {
31
56
  return new Promise((resolve, reject) => {
57
+ const ndjson = isNdjson();
32
58
  const child = spawn('bash', ['-c', NVM_INIT + cmd], {
33
- stdio: 'inherit',
59
+ stdio: ndjson ? ['ignore', 'pipe', 'pipe'] : 'inherit',
34
60
  env: { ...process.env, HOME: '/root' },
35
61
  });
62
+ if (ndjson) {
63
+ forwardStreamAsLogEvents(child, 'stdout', 'info');
64
+ forwardStreamAsLogEvents(child, 'stderr', 'warn');
65
+ }
36
66
  child.on('error', reject);
37
67
  child.on('close', (code) => {
38
68
  if (code === 0)
@@ -42,6 +72,77 @@ export function shell(cmd) {
42
72
  });
43
73
  });
44
74
  }
75
+ /**
76
+ * Run a command with argv instead of interpolating external values into a shell
77
+ * string. The fixed bash wrapper only initializes nvm, then `exec "$@"`.
78
+ */
79
+ export function runCommand(cmd, args = [], options) {
80
+ return new Promise((resolve, reject) => {
81
+ const ndjson = isNdjson();
82
+ const child = spawn('bash', ['-c', NVM_EXEC_SCRIPT, 'okclaw-run', cmd, ...args], {
83
+ cwd: options?.cwd,
84
+ stdio: ndjson ? ['ignore', 'pipe', 'pipe'] : 'inherit',
85
+ env: { ...process.env, ...options?.env, HOME: '/root' },
86
+ });
87
+ if (ndjson) {
88
+ forwardStreamAsLogEvents(child, 'stdout', 'info');
89
+ forwardStreamAsLogEvents(child, 'stderr', 'warn');
90
+ }
91
+ child.on('error', reject);
92
+ child.on('close', (code) => {
93
+ if (code === 0)
94
+ resolve();
95
+ else
96
+ reject(new Error(`Command failed (exit ${code}): ${formatCommand(cmd, args)}`));
97
+ });
98
+ });
99
+ }
100
+ /**
101
+ * 把子进程的一个输出流按换行切分,每行合成一条 phase="log" ndjson 事件。
102
+ *
103
+ * 实现细节:
104
+ * - 跨 chunk 续行:`buf` 累积未看到 \n 的尾巴,下次 data 再拼
105
+ * - 空行丢弃(避免 npm 输出里的空白行污染事件流)
106
+ * - \r 尾字符剥掉(Windows / 终端控制字符常见)
107
+ * - close 时 flush 尾 buf,防止最后一行没 \n 漏掉
108
+ * - emitter 为空时整段 no-op,绝不抛异常——shell() 的主路径不能因日志透传失败而失败
109
+ */
110
+ function forwardStreamAsLogEvents(child, streamName, level) {
111
+ const stream = child[streamName];
112
+ if (!stream)
113
+ return;
114
+ let buf = '';
115
+ stream.setEncoding('utf8');
116
+ stream.on('data', (chunk) => {
117
+ buf += chunk;
118
+ let idx = buf.indexOf('\n');
119
+ while (idx >= 0) {
120
+ emitLogLine(buf.slice(0, idx), level);
121
+ buf = buf.slice(idx + 1);
122
+ idx = buf.indexOf('\n');
123
+ }
124
+ });
125
+ stream.on('close', () => {
126
+ if (buf.length > 0) {
127
+ emitLogLine(buf, level);
128
+ buf = '';
129
+ }
130
+ });
131
+ }
132
+ function emitLogLine(line, level) {
133
+ const cleaned = line.endsWith('\r') ? line.slice(0, -1) : line;
134
+ if (cleaned.length === 0)
135
+ return;
136
+ const emitter = getActiveEmitter();
137
+ if (!emitter)
138
+ return;
139
+ try {
140
+ emitter.log(level, cleaned);
141
+ }
142
+ catch {
143
+ // log 事件透传失败不能影响命令本身执行;这里静默
144
+ }
145
+ }
45
146
  /**
46
147
  * Run a shell command with retries.
47
148
  */
@@ -59,6 +160,20 @@ export async function shellRetry(cmd, retries = 3, delayMs = 2000) {
59
160
  }
60
161
  }
61
162
  }
163
+ export async function runCommandRetry(cmd, args = [], retries = 3, delayMs = 2000, options) {
164
+ for (let attempt = 1; attempt <= retries; attempt++) {
165
+ try {
166
+ await runCommand(cmd, args, options);
167
+ return;
168
+ }
169
+ catch (err) {
170
+ if (attempt === retries)
171
+ throw err;
172
+ logError(`Attempt ${attempt}/${retries} failed, retrying in ${delayMs}ms...`);
173
+ await sleep(delayMs);
174
+ }
175
+ }
176
+ }
62
177
  /**
63
178
  * Run a shell command and capture stdout/stderr.
64
179
  */
@@ -76,6 +191,21 @@ export function shellCapture(cmd) {
76
191
  child.on('close', (code) => resolve({ code: code ?? -1, stdout: stdout.trim(), stderr: stderr.trim() }));
77
192
  });
78
193
  }
194
+ export function runCommandCapture(cmd, args = [], options) {
195
+ return new Promise((resolve) => {
196
+ const child = spawn('bash', ['-c', NVM_EXEC_SCRIPT, 'okclaw-run', cmd, ...args], {
197
+ cwd: options?.cwd,
198
+ stdio: ['ignore', 'pipe', 'pipe'],
199
+ env: { ...process.env, ...options?.env, HOME: '/root' },
200
+ });
201
+ let stdout = '';
202
+ let stderr = '';
203
+ child.stdout?.on('data', (chunk) => { stdout += String(chunk); });
204
+ child.stderr?.on('data', (chunk) => { stderr += String(chunk); });
205
+ child.on('error', (err) => resolve({ code: -1, stdout: '', stderr: String(err) }));
206
+ child.on('close', (code) => resolve({ code: code ?? -1, stdout: stdout.trim(), stderr: stderr.trim() }));
207
+ });
208
+ }
79
209
  export async function commandExists(cmd) {
80
210
  const result = await shellCapture(`command -v ${cmd}`);
81
211
  return result.code === 0;
@@ -83,4 +213,7 @@ export async function commandExists(cmd) {
83
213
  function sleep(ms) {
84
214
  return new Promise((resolve) => setTimeout(resolve, ms));
85
215
  }
216
+ function formatCommand(cmd, args) {
217
+ return [cmd, ...args].map((part) => JSON.stringify(part)).join(' ');
218
+ }
86
219
  //# sourceMappingURL=shell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@okclaw-build/cli",
3
- "version": "1.0.0-beta.5",
4
- "description": "OKClaw deployment CLI - install and manage OpenClaw, OpenViking, and channel plugins",
3
+ "version": "1.0.0-beta.52",
4
+ "description": "OKClaw deployment CLI - install and manage OpenClaw, channel plugins, and skills",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
@@ -10,9 +10,10 @@
10
10
  "scripts": {
11
11
  "build": "tsc",
12
12
  "dev": "tsc --watch",
13
- "prepublishOnly": "npm run build"
13
+ "prepublishOnly": "npm run build",
14
+ "test": "tsc -p tsconfig.test.json && node --test dist-test/tests/*.test.js dist-test/tests/*/*.test.js"
14
15
  },
15
- "keywords": ["openclaw", "openviking", "deploy", "cli"],
16
+ "keywords": ["openclaw", "deploy", "cli"],
16
17
  "license": "MIT",
17
18
  "devDependencies": {
18
19
  "typescript": "^5.4.0",