@cecwxf/wtt 0.1.18 → 0.1.19
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.
- package/dist/commands/handlers.d.ts.map +1 -1
- package/dist/commands/handlers.js +2 -7
- package/dist/commands/handlers.js.map +1 -1
- package/dist/commands/update.d.ts +3 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +83 -0
- package/dist/commands/update.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/commands/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/commands/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAiBpB,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,GAAG,EAAE,0BAA0B,GAC9B,OAAO,CAAC,MAAM,CAAC,CAsFjB"}
|
|
@@ -5,6 +5,7 @@ import { handleSetupCommand } from "./setup.js";
|
|
|
5
5
|
import { handleTaskCommand } from "./task.js";
|
|
6
6
|
import { handlePipelineCommand } from "./pipeline.js";
|
|
7
7
|
import { handleDelegateCommand } from "./delegate.js";
|
|
8
|
+
import { handleUpdateCommand } from "./update.js";
|
|
8
9
|
export async function executeWTTCommand(command, client, ctx) {
|
|
9
10
|
switch (command.name) {
|
|
10
11
|
case "help":
|
|
@@ -20,13 +21,7 @@ export async function executeWTTCommand(command, client, ctx) {
|
|
|
20
21
|
case "setup":
|
|
21
22
|
return handleSetupCommand(command, ctx);
|
|
22
23
|
case "update":
|
|
23
|
-
return
|
|
24
|
-
"WTT 插件升级命令:",
|
|
25
|
-
"1) openclaw plugins install @cecwxf/wtt@latest",
|
|
26
|
-
"2) openclaw plugins enable wtt",
|
|
27
|
-
"3) openclaw gateway restart",
|
|
28
|
-
"4) openclaw status",
|
|
29
|
-
].join("\n");
|
|
24
|
+
return handleUpdateCommand(ctx);
|
|
30
25
|
case "task":
|
|
31
26
|
return handleTaskCommand(command, ctx);
|
|
32
27
|
case "pipeline":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/commands/handlers.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,aAAa,EACb,UAAU,EACV,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/commands/handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAoE7D,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CA0B3F"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
async function runCommand(cmd, args, timeoutMs) {
|
|
3
|
+
return new Promise((resolve) => {
|
|
4
|
+
const child = spawn(cmd, args, {
|
|
5
|
+
env: process.env,
|
|
6
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
7
|
+
});
|
|
8
|
+
let stdout = "";
|
|
9
|
+
let stderr = "";
|
|
10
|
+
let finished = false;
|
|
11
|
+
child.stdout.on("data", (chunk) => {
|
|
12
|
+
stdout += String(chunk ?? "");
|
|
13
|
+
});
|
|
14
|
+
child.stderr.on("data", (chunk) => {
|
|
15
|
+
stderr += String(chunk ?? "");
|
|
16
|
+
});
|
|
17
|
+
const timer = setTimeout(() => {
|
|
18
|
+
if (finished)
|
|
19
|
+
return;
|
|
20
|
+
finished = true;
|
|
21
|
+
child.kill("SIGTERM");
|
|
22
|
+
resolve({ code: 124, stdout, stderr, timedOut: true });
|
|
23
|
+
}, timeoutMs);
|
|
24
|
+
child.on("error", (err) => {
|
|
25
|
+
if (finished)
|
|
26
|
+
return;
|
|
27
|
+
finished = true;
|
|
28
|
+
clearTimeout(timer);
|
|
29
|
+
resolve({ code: 1, stdout, stderr: `${stderr}\n${String(err?.message ?? err)}`.trim(), timedOut: false });
|
|
30
|
+
});
|
|
31
|
+
child.on("close", (code) => {
|
|
32
|
+
if (finished)
|
|
33
|
+
return;
|
|
34
|
+
finished = true;
|
|
35
|
+
clearTimeout(timer);
|
|
36
|
+
resolve({ code: code ?? 1, stdout, stderr, timedOut: false });
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function compactOutput(value, maxLen) {
|
|
41
|
+
const text = String(value || "").trim();
|
|
42
|
+
if (!text)
|
|
43
|
+
return "";
|
|
44
|
+
if (text.length <= maxLen)
|
|
45
|
+
return text;
|
|
46
|
+
return `${text.slice(0, maxLen - 1)}…`;
|
|
47
|
+
}
|
|
48
|
+
function scheduleGatewayRestart() {
|
|
49
|
+
// Delay a little so command response can be delivered before gateway restarts.
|
|
50
|
+
const script = "sleep 2; openclaw gateway restart >/tmp/wtt-plugin-update.log 2>&1";
|
|
51
|
+
const child = spawn("sh", ["-lc", script], {
|
|
52
|
+
detached: true,
|
|
53
|
+
stdio: "ignore",
|
|
54
|
+
env: process.env,
|
|
55
|
+
});
|
|
56
|
+
child.unref();
|
|
57
|
+
}
|
|
58
|
+
export async function handleUpdateCommand(_ctx) {
|
|
59
|
+
const cmd = process.env.OPENCLAW_BIN?.trim() || "openclaw";
|
|
60
|
+
const install = await runCommand(cmd, ["plugins", "install", "@cecwxf/wtt@latest"], 180_000);
|
|
61
|
+
if (install.code !== 0) {
|
|
62
|
+
const reason = install.timedOut
|
|
63
|
+
? "超时(180s)"
|
|
64
|
+
: `退出码 ${install.code}`;
|
|
65
|
+
const detail = compactOutput(install.stderr || install.stdout, 800);
|
|
66
|
+
return [
|
|
67
|
+
`WTT 插件升级失败:${reason}`,
|
|
68
|
+
detail ? `详情: ${detail}` : "详情: 无",
|
|
69
|
+
"你可以稍后重试:/wtt update",
|
|
70
|
+
].join("\n");
|
|
71
|
+
}
|
|
72
|
+
scheduleGatewayRestart();
|
|
73
|
+
const installSummary = compactOutput(install.stdout || install.stderr, 260);
|
|
74
|
+
const lines = [
|
|
75
|
+
"WTT 插件已升级到 latest(自动执行)。",
|
|
76
|
+
"网关将在约 2 秒后自动重启。",
|
|
77
|
+
"重启期间短暂离线属正常,恢复后可用 /wtt help 验证。",
|
|
78
|
+
];
|
|
79
|
+
if (installSummary)
|
|
80
|
+
lines.push(`install: ${installSummary}`);
|
|
81
|
+
return lines.join("\n");
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|