openclaw-channel-dmwork 0.5.20-dev.c2f67f45 → 0.5.20-dev.e09dddd5
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/cli/doctor.js +69 -32
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/install.d.ts +10 -2
- package/dist/cli/install.js +191 -41
- package/dist/cli/install.js.map +1 -1
- package/dist/cli/openclaw-cli.d.ts +57 -0
- package/dist/cli/openclaw-cli.js +422 -18
- package/dist/cli/openclaw-cli.js.map +1 -1
- package/dist/cli/update.d.ts +3 -3
- package/dist/cli/update.js +68 -23
- package/dist/cli/update.js.map +1 -1
- package/dist/package.json +1 -1
- package/package.json +1 -1
package/dist/cli/doctor.js
CHANGED
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { existsSync } from "node:fs";
|
|
8
8
|
import { execFileSync } from "node:child_process";
|
|
9
|
-
import {
|
|
9
|
+
import { readFileSync } from "node:fs";
|
|
10
|
+
import { resolve } from "node:path";
|
|
11
|
+
import { cleanupBrokenInstall, cleanupStaleStageDirectories, configGet, configGetJson, configSet, detectScenario, gatewayRestart, gatewayStatus, getConfigFilePathSafe, pluginsInspect, pluginsInstall, removeOrphanedBindingsFromFile, readConfigFromFile, } from "./openclaw-cli.js";
|
|
10
12
|
import { PLUGIN_ID, RECOMMENDED_DM_SCOPE } from "./utils.js";
|
|
11
13
|
/** CLI mode: reads via openclaw config get */
|
|
12
14
|
export const cliConfigReader = {
|
|
@@ -50,23 +52,21 @@ export async function runDoctorChecks(params) {
|
|
|
50
52
|
// Phase 1: Fatal config issues (OpenClaw CLI may not work)
|
|
51
53
|
// =========================================================================
|
|
52
54
|
if (!params.inProcess && fix) {
|
|
55
|
+
// Phase 0a: Use scenario detection — don't use old destructive cleanupLegacyPlugin()
|
|
56
|
+
// Legacy and deadlock scenarios are handled in Phase 2 plugin install section
|
|
57
|
+
// Here we only do non-destructive cleanup: stage directories and orphaned bindings
|
|
58
|
+
// Phase 0b: Clean up stale install stage directories (DMWork only, >10min old)
|
|
59
|
+
const stageActions = cleanupStaleStageDirectories();
|
|
60
|
+
for (const action of stageActions) {
|
|
61
|
+
checks.push({
|
|
62
|
+
name: "Stage directory cleanup",
|
|
63
|
+
status: "FIXED",
|
|
64
|
+
detail: action,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
53
67
|
const cfg = readConfigFromFile();
|
|
54
68
|
if (cfg) {
|
|
55
69
|
const hasDmworkChannel = Boolean(cfg.channels?.dmwork);
|
|
56
|
-
// Check if plugin actually exists on disk, not just config records
|
|
57
|
-
const installPath = cfg.plugins?.installs?.["openclaw-channel-dmwork"]?.installPath;
|
|
58
|
-
const pluginOnDisk = installPath
|
|
59
|
-
? existsSync(installPath.replace(/^~/, process.env.HOME ?? ""))
|
|
60
|
-
: false;
|
|
61
|
-
// channels.dmwork exists but plugin not on disk → residual config
|
|
62
|
-
if (hasDmworkChannel && !pluginOnDisk) {
|
|
63
|
-
removeChannelConfigFromFile();
|
|
64
|
-
checks.push({
|
|
65
|
-
name: "Residual channels.dmwork",
|
|
66
|
-
status: "FIXED",
|
|
67
|
-
detail: "Removed orphaned channel config (plugin not installed)",
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
70
|
// Orphaned dmwork bindings
|
|
71
71
|
const bindings = cfg.bindings;
|
|
72
72
|
const dmworkBindings = bindings?.filter((b) => b.match?.channel === "dmwork") ?? [];
|
|
@@ -100,7 +100,7 @@ export async function runDoctorChecks(params) {
|
|
|
100
100
|
// Phase 2: Standard checks (with fix support)
|
|
101
101
|
// =========================================================================
|
|
102
102
|
const reader = params.reader ?? cliConfigReader;
|
|
103
|
-
// 1. Plugin installed
|
|
103
|
+
// 1. Plugin installed (with fallback for inspect failures)
|
|
104
104
|
if (!params.inProcess) {
|
|
105
105
|
const inspect = pluginsInspect(PLUGIN_ID);
|
|
106
106
|
if (inspect?.plugin) {
|
|
@@ -110,33 +110,70 @@ export async function runDoctorChecks(params) {
|
|
|
110
110
|
detail: `v${inspect.plugin.version}`,
|
|
111
111
|
});
|
|
112
112
|
}
|
|
113
|
-
else
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
113
|
+
else {
|
|
114
|
+
// Fallback: inspect failed, check if plugin directory exists on disk
|
|
115
|
+
const extensionsDir = getConfigFilePathSafe().replace(/openclaw\.json$/, "extensions");
|
|
116
|
+
const pluginDir = resolve(extensionsDir, "openclaw-channel-dmwork");
|
|
117
|
+
let fallbackVersion = null;
|
|
118
|
+
if (existsSync(pluginDir)) {
|
|
119
|
+
try {
|
|
120
|
+
const pkg = JSON.parse(readFileSync(resolve(pluginDir, "package.json"), "utf-8"));
|
|
121
|
+
fallbackVersion = pkg.version ?? null;
|
|
122
|
+
}
|
|
123
|
+
catch { /* no package.json */ }
|
|
124
|
+
}
|
|
125
|
+
if (fallbackVersion) {
|
|
126
|
+
// Plugin exists on disk but inspect can't see it
|
|
117
127
|
checks.push({
|
|
118
128
|
name: "Plugin installed",
|
|
119
|
-
status: "
|
|
120
|
-
detail: `
|
|
129
|
+
status: "WARN",
|
|
130
|
+
detail: `v${fallbackVersion} (directory exists but openclaw inspect failed — try: openclaw gateway restart)`,
|
|
121
131
|
});
|
|
122
132
|
}
|
|
123
|
-
|
|
133
|
+
else if (fix) {
|
|
134
|
+
try {
|
|
135
|
+
// Use scenario-aware install (handles legacy, deadlock, broken)
|
|
136
|
+
const scenario = detectScenario();
|
|
137
|
+
if (scenario === "legacy") {
|
|
138
|
+
const { runLegacyMigrationForUpdate } = await import("./install.js");
|
|
139
|
+
runLegacyMigrationForUpdate(PLUGIN_ID, true);
|
|
140
|
+
}
|
|
141
|
+
else if (scenario === "deadlock") {
|
|
142
|
+
const { runDeadlockRepairForUpdate } = await import("./install.js");
|
|
143
|
+
runDeadlockRepairForUpdate(PLUGIN_ID, true);
|
|
144
|
+
}
|
|
145
|
+
else if (scenario === "broken") {
|
|
146
|
+
cleanupBrokenInstall();
|
|
147
|
+
pluginsInstall(PLUGIN_ID, true);
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
pluginsInstall(PLUGIN_ID, true);
|
|
151
|
+
}
|
|
152
|
+
const after = pluginsInspect(PLUGIN_ID);
|
|
153
|
+
checks.push({
|
|
154
|
+
name: "Plugin installed",
|
|
155
|
+
status: "FIXED",
|
|
156
|
+
detail: `Installed v${after?.plugin?.version ?? "unknown"}`,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
checks.push({
|
|
161
|
+
name: "Plugin installed",
|
|
162
|
+
status: "FAIL",
|
|
163
|
+
detail: "Not installed (auto-install failed)",
|
|
164
|
+
});
|
|
165
|
+
return summarize(checks);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
124
169
|
checks.push({
|
|
125
170
|
name: "Plugin installed",
|
|
126
171
|
status: "FAIL",
|
|
127
|
-
detail: "Not installed
|
|
172
|
+
detail: "Not installed",
|
|
128
173
|
});
|
|
129
174
|
return summarize(checks);
|
|
130
175
|
}
|
|
131
176
|
}
|
|
132
|
-
else {
|
|
133
|
-
checks.push({
|
|
134
|
-
name: "Plugin installed",
|
|
135
|
-
status: "FAIL",
|
|
136
|
-
detail: "Not installed",
|
|
137
|
-
});
|
|
138
|
-
return summarize(checks);
|
|
139
|
-
}
|
|
140
177
|
}
|
|
141
178
|
// 2. Plugin enabled
|
|
142
179
|
if (!params.inProcess) {
|
package/dist/cli/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../cli/doctor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,SAAS,EACT,aAAa,EACb,SAAS,EACT,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,2BAA2B,EAC3B,8BAA8B,EAC9B,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA8B7D,8CAA8C;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAiB;IAC3C,GAAG,EAAE,SAAS;IACd,OAAO,EAAE,aAAa;CACvB,CAAC;AAEF,kDAAkD;AAClD,MAAM,UAAU,qBAAqB,CAAC,MAAW;IAC/C,OAAO;QACL,GAAG,CAAC,IAAY;YACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,GAAG,GAAG,MAAM,CAAC;YACjB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;oBAAE,OAAO,IAAI,CAAC;gBACxD,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;YACD,IAAI,GAAG,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC7B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,IAAY;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,GAAG,GAAG,MAAM,CAAC;YACjB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;oBAAE,OAAO,IAAI,CAAC;gBACxD,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;YACD,OAAO,GAAG,IAAI,IAAI,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAKrC;IACC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC;IAChC,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,4EAA4E;IAC5E,2DAA2D;IAC3D,4EAA4E;IAC5E,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;QACjC,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACvD,mEAAmE;YACnE,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,yBAAyB,CAAC,EAAE,WAAW,CAAC;YACpF,MAAM,YAAY,GAAG,WAAW;gBAC9B,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC/D,CAAC,CAAC,KAAK,CAAC;YAEV,kEAAkE;YAClE,IAAI,gBAAgB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtC,2BAA2B,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,0BAA0B;oBAChC,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,wDAAwD;iBACjE,CAAC,CAAC;YACL,CAAC;YAED,2BAA2B;YAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAoG,CAAC;YAC1H,MAAM,cAAc,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpF,MAAM,kBAAkB,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ;gBACvD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC3C,CAAC,CAAC,EAAE,CAAC;YAEP,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACnD,8DAA8D;gBAC9D,8BAA8B,CAAC,QAAQ,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,mBAAmB;oBACzB,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,WAAW,cAAc,CAAC,MAAM,6BAA6B;iBACtE,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtE,uDAAuD;gBACvD,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAC7E,CAAC;gBACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,8BAA8B,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;oBAC7D,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,mBAAmB;wBACzB,MAAM,EAAE,OAAO;wBACf,MAAM,EAAE,WAAW,QAAQ,CAAC,MAAM,yCAAyC;qBAC5E,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,8CAA8C;IAC9C,4EAA4E;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,eAAe,CAAC;IAEhD,sBAAsB;IACtB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;aACrC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAChC,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,cAAc,KAAK,EAAE,MAAM,EAAE,OAAO,IAAI,SAAS,EAAE;iBAC5D,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,qCAAqC;iBAC9C,CAAC,CAAC;gBACH,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,eAAe;aACxB,CAAC,CAAC;YACH,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CACxB,iDAAiD,CAClD,CAAC;QACF,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,SAAS,CAAC,iDAAiD,EAAE,MAAM,CAAC,CAAC;gBACrE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9E,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC;QAClD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC;YACnF,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;YACvF,CAAC;iBAAM,IAAI,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,YAAY,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,kBAAkB,CAAC,EAAE;wBACnE,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;wBACtD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;qBAChC,CAAC,CAAC;oBACH,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;gBAC1F,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,2CAA2C,EAAE,CAAC,CAAC;gBAC7G,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAE3D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,MAAM,SAAS;SAChE,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,WAAW,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,yCAAyC;SAClD,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,mDAAmD;SAC5D,CAAC,CAAC;QACH,qDAAqD;IACvD,CAAC;IAED,yDAAyD;IACzD,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS;QACrC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QACpB,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,WAAW;gBACX,CAAC,CAAC,CAAC,YAAY,CAAC;gBAChB,CAAC,CAAC,EAAE,CAAC;IAEX,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,KAAK,YAAY,CAAC;QACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAE5C,MAAM,SAAS,GAAG,QAAQ;YACxB,CAAC,CAAC,0BAA0B;YAC5B,CAAC,CAAC,4BAA4B,MAAM,WAAW,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEvC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,GAAG,KAAK,mBAAmB;oBACjC,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,yBAAyB;iBAClC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,GAAG,KAAK,YAAY;oBAC1B,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,YAAY;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,KAAK,YAAY;gBAC1B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,gBAAgB;aACzB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ;YACzB,CAAC,CAAC,wBAAwB;YAC1B,CAAC,CAAC,4BAA4B,MAAM,SAAS,CAAC;QAChD,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,uBAAuB,CAAC;QAE9C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC;YACjE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,KAAK,iBAAiB;gBAC/B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;gBACjC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE;aACjD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,KAAK,iBAAiB;gBAC/B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,GAAG,MAAM,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;aAC1E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;QAC3B,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACf,IAAI,cAAc,EAAE,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC9C,IAAI,OAAO,KAAK,oBAAoB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;SAAM,IAAI,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,SAAS,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,oBAAoB,EAAE,EAAE,CAAC,CAAC;QACtG,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,oBAAoB,GAAG,EAAE,CAAC,CAAC;QACrH,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,oBAAoB,GAAG,EAAE,CAAC,CAAC;IACrH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,kBAAkB,oBAAoB,GAAG,EAAE,CAAC,CAAC;IACxH,CAAC;IAED,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,SAAS,SAAS,CAAC,MAAqB;IACtC,OAAO;QACL,MAAM;QACN,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;QACxD,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;QAC1D,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACrD,MAAM,KAAK,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,GAAG,GACP,CAAC,CAAC,MAAM,KAAK,MAAM;YACjB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM;gBACnB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO;oBACpB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,SAAS,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACjD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,WAAW,EAAE,GAAG,MAAM,CAAC,QAAQ,aAAa,CAAC,CAAC;IAC7E,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC1D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../cli/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/install.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* install command: install plugin via official CLI + interactive config setup.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Handles 4 upgrade scenarios:
|
|
5
|
+
* 1. Legacy migration (dmwork → openclaw-channel-dmwork)
|
|
6
|
+
* 2. Normal update (openclaw-channel-dmwork → openclaw-channel-dmwork)
|
|
7
|
+
* 3. Fresh install (nothing installed)
|
|
8
|
+
* 4. Deadlock repair (channels.dmwork exists but no plugin)
|
|
9
|
+
* + broken install cleanup
|
|
6
10
|
*/
|
|
7
11
|
export interface InstallOptions {
|
|
8
12
|
botToken?: string;
|
|
@@ -13,3 +17,7 @@ export interface InstallOptions {
|
|
|
13
17
|
dev?: boolean;
|
|
14
18
|
}
|
|
15
19
|
export declare function runInstall(opts: InstallOptions): Promise<void>;
|
|
20
|
+
declare function runLegacyMigration(spec: string, quiet: boolean, force?: boolean, skipConfig?: boolean): void;
|
|
21
|
+
declare function runDeadlockRepair(spec: string, quiet: boolean, skipConfig?: boolean): void;
|
|
22
|
+
export { runLegacyMigration as runLegacyMigrationForUpdate };
|
|
23
|
+
export { runDeadlockRepair as runDeadlockRepairForUpdate };
|
package/dist/cli/install.js
CHANGED
|
@@ -1,55 +1,221 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* install command: install plugin via official CLI + interactive config setup.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Handles 4 upgrade scenarios:
|
|
5
|
+
* 1. Legacy migration (dmwork → openclaw-channel-dmwork)
|
|
6
|
+
* 2. Normal update (openclaw-channel-dmwork → openclaw-channel-dmwork)
|
|
7
|
+
* 3. Fresh install (nothing installed)
|
|
8
|
+
* 4. Deadlock repair (channels.dmwork exists but no plugin)
|
|
9
|
+
* + broken install cleanup
|
|
6
10
|
*/
|
|
7
|
-
import {
|
|
11
|
+
import { copyFileSync, existsSync, rmSync } from "node:fs";
|
|
12
|
+
import { cleanupBrokenInstall, configGet, configGetJson, configSet, configUnset, deleteLegacyBackup, detectScenario, ensurePluginsAllow, gatewayRestart, getConfigFilePathSafe, isHealthyInstall, pluginsInspect, pluginsInstall, readConfigFromFile, removeLegacyFromConfig, renameLegacyDir, restoreChannelConfigFromDisk, restoreLegacyDir, saveChannelConfigToDisk, removeChannelConfigFromFile, } from "./openclaw-cli.js";
|
|
8
13
|
import { PLUGIN_ID, RECOMMENDED_DM_SCOPE, confirm, ensureOpenClawCompat, isInteractive, prompt, validateAccountId, } from "./utils.js";
|
|
9
14
|
export async function runInstall(opts) {
|
|
10
|
-
// 1. Pre-check
|
|
11
15
|
ensureOpenClawCompat();
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
const scenario = detectScenario();
|
|
17
|
+
const spec = opts.dev ? `${PLUGIN_ID}@dev` : PLUGIN_ID;
|
|
18
|
+
const quiet = false;
|
|
19
|
+
switch (scenario) {
|
|
20
|
+
case "legacy":
|
|
21
|
+
runLegacyMigration(spec, quiet, opts.force, opts.skipConfig);
|
|
22
|
+
break;
|
|
23
|
+
case "update": {
|
|
24
|
+
const inspect = pluginsInspect(PLUGIN_ID);
|
|
25
|
+
if (inspect?.plugin && !opts.force) {
|
|
26
|
+
console.log(`DMWork plugin is already installed (v${inspect.plugin.version}). Skipping install.`);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
console.log(`Installing DMWork plugin${opts.dev ? " (dev)" : ""}...`);
|
|
30
|
+
pluginsInstall(spec, quiet, opts.force);
|
|
31
|
+
console.log("Plugin installed successfully.");
|
|
32
|
+
}
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
case "broken": {
|
|
36
|
+
console.log("Detected broken plugin install. Cleaning up...");
|
|
37
|
+
const actions = cleanupBrokenInstall();
|
|
38
|
+
actions.forEach((a) => console.log(` ${a}`));
|
|
39
|
+
console.log(`Installing DMWork plugin${opts.dev ? " (dev)" : ""}...`);
|
|
40
|
+
pluginsInstall(spec, quiet, opts.force);
|
|
41
|
+
console.log("Plugin installed successfully.");
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
case "deadlock":
|
|
45
|
+
runDeadlockRepair(spec, quiet, opts.skipConfig);
|
|
46
|
+
break;
|
|
47
|
+
case "fresh":
|
|
48
|
+
console.log(`Installing DMWork plugin${opts.dev ? " (dev)" : ""}...`);
|
|
49
|
+
pluginsInstall(spec, quiet, opts.force);
|
|
50
|
+
console.log("Plugin installed successfully.");
|
|
51
|
+
break;
|
|
22
52
|
}
|
|
23
|
-
//
|
|
53
|
+
// Post-install: config + gateway
|
|
24
54
|
if (!opts.skipConfig) {
|
|
25
55
|
await migrateLegacyConfig();
|
|
26
56
|
await configureDmworkAccount(opts);
|
|
27
57
|
}
|
|
28
|
-
// 5. Gateway restart
|
|
29
58
|
console.log("Restarting gateway...");
|
|
30
59
|
if (!gatewayRestart()) {
|
|
31
60
|
console.log("Warning: Gateway restart failed. Run 'openclaw gateway restart' manually.");
|
|
32
61
|
}
|
|
33
|
-
// 6. Success
|
|
34
62
|
console.log("\nDMWork plugin setup complete!");
|
|
35
63
|
}
|
|
36
64
|
// ---------------------------------------------------------------------------
|
|
37
|
-
// Legacy
|
|
65
|
+
// Scenario 1: Legacy migration (dmwork → openclaw-channel-dmwork)
|
|
66
|
+
// ---------------------------------------------------------------------------
|
|
67
|
+
function runLegacyMigration(spec, quiet, force, skipConfig) {
|
|
68
|
+
console.log("Detected legacy DMWork plugin (dmwork). Starting migration...");
|
|
69
|
+
// 1. Backup everything to disk
|
|
70
|
+
const configPath = getConfigFilePathSafe();
|
|
71
|
+
const backupPath = configPath + ".dmwork-upgrade-backup";
|
|
72
|
+
copyFileSync(configPath, backupPath);
|
|
73
|
+
saveChannelConfigToDisk();
|
|
74
|
+
console.log(" Backed up config and channels.dmwork to disk.");
|
|
75
|
+
// 2. Clean up any broken new plugin install from a previous failed attempt
|
|
76
|
+
const brokenActions = cleanupBrokenInstall();
|
|
77
|
+
if (brokenActions.length > 0) {
|
|
78
|
+
console.log(" Cleaned up broken previous install:");
|
|
79
|
+
brokenActions.forEach((a) => console.log(` ${a}`));
|
|
80
|
+
}
|
|
81
|
+
// 3. Remove legacy from config FIRST (breaks deadlock)
|
|
82
|
+
removeLegacyFromConfig();
|
|
83
|
+
console.log(" Removed legacy config entries.");
|
|
84
|
+
// 3. Rename legacy directory (not delete!)
|
|
85
|
+
const legacyDirExists = existsSync(getConfigFilePathSafe().replace(/openclaw\.json$/, "extensions/dmwork"));
|
|
86
|
+
let renamed = false;
|
|
87
|
+
if (legacyDirExists) {
|
|
88
|
+
renamed = renameLegacyDir();
|
|
89
|
+
if (renamed) {
|
|
90
|
+
console.log(" Renamed extensions/dmwork → .dmwork-backup.");
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
// Cannot isolate old directory — abort to prevent conflict
|
|
94
|
+
console.error(" Failed to rename extensions/dmwork. Aborting migration.");
|
|
95
|
+
try {
|
|
96
|
+
copyFileSync(backupPath, configPath);
|
|
97
|
+
}
|
|
98
|
+
catch { /* best effort */ }
|
|
99
|
+
throw new Error("Legacy migration aborted: could not rename extensions/dmwork");
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// 4. Install new plugin
|
|
103
|
+
try {
|
|
104
|
+
console.log(" Installing openclaw-channel-dmwork...");
|
|
105
|
+
pluginsInstall(spec, quiet, force);
|
|
106
|
+
}
|
|
107
|
+
catch (installErr) {
|
|
108
|
+
// FAIL: restore everything
|
|
109
|
+
console.error(" Install failed! Restoring previous state...");
|
|
110
|
+
if (renamed)
|
|
111
|
+
restoreLegacyDir();
|
|
112
|
+
try {
|
|
113
|
+
copyFileSync(backupPath, configPath);
|
|
114
|
+
}
|
|
115
|
+
catch { /* best effort */ }
|
|
116
|
+
console.error(" Previous state restored. Legacy plugin should still work.");
|
|
117
|
+
throw installErr;
|
|
118
|
+
}
|
|
119
|
+
// 5. Verify healthy install
|
|
120
|
+
if (!isHealthyInstall()) {
|
|
121
|
+
console.error(" Install completed but verification failed. Restoring...");
|
|
122
|
+
if (renamed)
|
|
123
|
+
restoreLegacyDir();
|
|
124
|
+
try {
|
|
125
|
+
copyFileSync(backupPath, configPath);
|
|
126
|
+
}
|
|
127
|
+
catch { /* best effort */ }
|
|
128
|
+
console.error(" Previous state restored.");
|
|
129
|
+
throw new Error("Legacy migration failed: post-install verification did not pass");
|
|
130
|
+
}
|
|
131
|
+
// 6. Success: restore channels.dmwork + cleanup
|
|
132
|
+
ensurePluginsAllow();
|
|
133
|
+
restoreChannelConfigFromDisk();
|
|
134
|
+
// Verify config was actually restored before deleting backups
|
|
135
|
+
const restoredCfg = readConfigFromFile();
|
|
136
|
+
if (restoredCfg?.channels?.dmwork) {
|
|
137
|
+
// Config restore succeeded — safe to delete backups
|
|
138
|
+
deleteLegacyBackup();
|
|
139
|
+
try {
|
|
140
|
+
rmSync(backupPath, { force: true });
|
|
141
|
+
}
|
|
142
|
+
catch { /* best effort */ }
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
console.log(" Warning: channels.dmwork restore may not have succeeded. Keeping backups for safety.");
|
|
146
|
+
}
|
|
147
|
+
console.log(" Legacy migration complete!");
|
|
148
|
+
}
|
|
149
|
+
// ---------------------------------------------------------------------------
|
|
150
|
+
// Scenario 4: Deadlock repair
|
|
151
|
+
// ---------------------------------------------------------------------------
|
|
152
|
+
function runDeadlockRepair(spec, quiet, skipConfig) {
|
|
153
|
+
console.log("Detected config deadlock (channels.dmwork exists but no plugin).");
|
|
154
|
+
// 1. Backup
|
|
155
|
+
const configPath = getConfigFilePathSafe();
|
|
156
|
+
const backupPath = configPath + ".dmwork-upgrade-backup";
|
|
157
|
+
copyFileSync(configPath, backupPath);
|
|
158
|
+
saveChannelConfigToDisk();
|
|
159
|
+
// 2. Remove channels.dmwork
|
|
160
|
+
removeChannelConfigFromFile();
|
|
161
|
+
console.log(" Temporarily removed channels.dmwork.");
|
|
162
|
+
// 3. Install
|
|
163
|
+
try {
|
|
164
|
+
console.log(" Installing openclaw-channel-dmwork...");
|
|
165
|
+
pluginsInstall(spec, quiet);
|
|
166
|
+
}
|
|
167
|
+
catch (installErr) {
|
|
168
|
+
console.error(" Install failed! Restoring config...");
|
|
169
|
+
try {
|
|
170
|
+
copyFileSync(backupPath, configPath);
|
|
171
|
+
}
|
|
172
|
+
catch { /* best effort */ }
|
|
173
|
+
throw installErr;
|
|
174
|
+
}
|
|
175
|
+
// 4. Verify
|
|
176
|
+
if (!isHealthyInstall()) {
|
|
177
|
+
console.error(" Install completed but verification failed. Restoring config...");
|
|
178
|
+
try {
|
|
179
|
+
copyFileSync(backupPath, configPath);
|
|
180
|
+
}
|
|
181
|
+
catch { /* best effort */ }
|
|
182
|
+
throw new Error("Deadlock repair failed: post-install verification did not pass");
|
|
183
|
+
}
|
|
184
|
+
// 5. Success
|
|
185
|
+
ensurePluginsAllow();
|
|
186
|
+
restoreChannelConfigFromDisk();
|
|
187
|
+
// Verify config was restored before deleting backup
|
|
188
|
+
const restoredCfg = readConfigFromFile();
|
|
189
|
+
if (restoredCfg?.channels?.dmwork) {
|
|
190
|
+
try {
|
|
191
|
+
rmSync(backupPath, { force: true });
|
|
192
|
+
}
|
|
193
|
+
catch { /* best effort */ }
|
|
194
|
+
console.log(" Deadlock repaired!");
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
// Config restore failed — plugin is installed but bot config is missing
|
|
198
|
+
throw new Error("Deadlock repair incomplete: plugin installed but channels.dmwork could not be restored. Backup kept at " + backupPath);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
// ---------------------------------------------------------------------------
|
|
202
|
+
// Exported for update.ts to reuse
|
|
203
|
+
// ---------------------------------------------------------------------------
|
|
204
|
+
export { runLegacyMigration as runLegacyMigrationForUpdate };
|
|
205
|
+
export { runDeadlockRepair as runDeadlockRepairForUpdate };
|
|
206
|
+
// ---------------------------------------------------------------------------
|
|
207
|
+
// Legacy config migration (flat → accounts)
|
|
38
208
|
// ---------------------------------------------------------------------------
|
|
39
209
|
async function migrateLegacyConfig() {
|
|
40
210
|
const legacyToken = configGet("channels.dmwork.botToken");
|
|
41
211
|
const accounts = configGetJson("channels.dmwork.accounts");
|
|
42
|
-
// Has top-level botToken but no accounts map → legacy flat config
|
|
43
212
|
if (legacyToken && (!accounts || Object.keys(accounts).length === 0)) {
|
|
44
213
|
console.log("Detected legacy flat config. Migrating to accounts model...");
|
|
45
|
-
// Copy token to accounts.default
|
|
46
214
|
configSet("channels.dmwork.accounts.default.botToken", legacyToken);
|
|
47
|
-
// Copy apiUrl if present
|
|
48
215
|
const legacyApiUrl = configGet("channels.dmwork.apiUrl");
|
|
49
216
|
if (legacyApiUrl) {
|
|
50
217
|
configSet("channels.dmwork.accounts.default.apiUrl", legacyApiUrl);
|
|
51
218
|
}
|
|
52
|
-
// Remove top-level botToken (keep apiUrl as shared default)
|
|
53
219
|
configUnset("channels.dmwork.botToken");
|
|
54
220
|
console.log("Migrated legacy config to accounts.default.");
|
|
55
221
|
}
|
|
@@ -58,7 +224,6 @@ async function migrateLegacyConfig() {
|
|
|
58
224
|
// Account configuration
|
|
59
225
|
// ---------------------------------------------------------------------------
|
|
60
226
|
async function configureDmworkAccount(opts) {
|
|
61
|
-
// Collect accountId
|
|
62
227
|
let accountId = opts.accountId;
|
|
63
228
|
if (!accountId) {
|
|
64
229
|
accountId = await prompt("Enter bot account ID (e.g. my_bot):");
|
|
@@ -71,7 +236,6 @@ async function configureDmworkAccount(opts) {
|
|
|
71
236
|
console.error(`Error: Invalid account ID "${accountId}". Only letters, digits, and underscores are allowed.`);
|
|
72
237
|
process.exit(1);
|
|
73
238
|
}
|
|
74
|
-
// Check if account already exists
|
|
75
239
|
const existingToken = configGet(`channels.dmwork.accounts.${accountId}.botToken`);
|
|
76
240
|
if (existingToken) {
|
|
77
241
|
if (!isInteractive()) {
|
|
@@ -99,25 +263,20 @@ async function configureDmworkAccount(opts) {
|
|
|
99
263
|
}
|
|
100
264
|
}
|
|
101
265
|
}
|
|
102
|
-
// Collect botToken
|
|
103
266
|
let botToken = opts.botToken;
|
|
104
|
-
if (!botToken)
|
|
267
|
+
if (!botToken)
|
|
105
268
|
botToken = await prompt("Enter bot token (bf_...):");
|
|
106
|
-
}
|
|
107
269
|
if (!botToken?.startsWith("bf_")) {
|
|
108
270
|
console.error("Error: Bot token must start with 'bf_'.");
|
|
109
271
|
process.exit(1);
|
|
110
272
|
}
|
|
111
|
-
// Collect apiUrl
|
|
112
273
|
let apiUrl = opts.apiUrl;
|
|
113
|
-
if (!apiUrl)
|
|
274
|
+
if (!apiUrl)
|
|
114
275
|
apiUrl = await prompt("Enter API server URL:");
|
|
115
|
-
}
|
|
116
276
|
if (!apiUrl) {
|
|
117
277
|
console.error("Error: API URL is required.");
|
|
118
278
|
process.exit(1);
|
|
119
279
|
}
|
|
120
|
-
// Write account config
|
|
121
280
|
configSet(`channels.dmwork.accounts.${accountId}.botToken`, botToken);
|
|
122
281
|
configSet(`channels.dmwork.accounts.${accountId}.apiUrl`, apiUrl);
|
|
123
282
|
console.log(`Configured bot account: ${accountId}`);
|
|
@@ -125,9 +284,6 @@ async function configureDmworkAccount(opts) {
|
|
|
125
284
|
ensureDmScope();
|
|
126
285
|
printAgentHint(accountId);
|
|
127
286
|
}
|
|
128
|
-
// ---------------------------------------------------------------------------
|
|
129
|
-
// session.dmScope
|
|
130
|
-
// ---------------------------------------------------------------------------
|
|
131
287
|
function ensureDmScope() {
|
|
132
288
|
const current = configGet("session.dmScope");
|
|
133
289
|
if (!current) {
|
|
@@ -137,14 +293,8 @@ function ensureDmScope() {
|
|
|
137
293
|
console.log(`Warning: session.dmScope is "${current}" (recommended: ${RECOMMENDED_DM_SCOPE})`);
|
|
138
294
|
}
|
|
139
295
|
}
|
|
140
|
-
// ---------------------------------------------------------------------------
|
|
141
|
-
// Agent hint
|
|
142
|
-
// ---------------------------------------------------------------------------
|
|
143
296
|
function printAgentHint(accountId) {
|
|
144
297
|
const agentName = accountId.replace(/_bot$/, "");
|
|
145
|
-
console.log(`
|
|
146
|
-
To create an independent agent for this bot (optional):
|
|
147
|
-
openclaw agents add ${agentName}
|
|
148
|
-
openclaw agents bind ${agentName} dmwork ${accountId}`);
|
|
298
|
+
console.log(`\nTo create an independent agent for this bot (optional):\n openclaw agents add ${agentName}\n openclaw agents bind ${agentName} dmwork ${accountId}`);
|
|
149
299
|
}
|
|
150
300
|
//# sourceMappingURL=install.js.map
|
package/dist/cli/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../cli/install.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../cli/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,17 @@ export declare function saveChannelConfigFromFile(): Record<string, unknown> | n
|
|
|
45
45
|
* Creates a .bak backup before writing.
|
|
46
46
|
*/
|
|
47
47
|
export declare function restoreChannelConfigToFile(dmworkConfig: Record<string, unknown>): void;
|
|
48
|
+
/**
|
|
49
|
+
* Remove channels.dmwork directly from the JSON file.
|
|
50
|
+
* Used before uninstall to avoid config validation errors
|
|
51
|
+
* (openclaw config unset also fails when the channel id is unknown).
|
|
52
|
+
*/
|
|
53
|
+
/**
|
|
54
|
+
* Get the openclaw config file path without calling the CLI.
|
|
55
|
+
* Falls back to the standard default when CLI is unavailable
|
|
56
|
+
* (e.g. during uninstall when config validation fails).
|
|
57
|
+
*/
|
|
58
|
+
export declare function getConfigFilePathSafe(): string;
|
|
48
59
|
export declare function removeChannelConfigFromFile(): void;
|
|
49
60
|
/**
|
|
50
61
|
* Read the full config object directly from file (for doctor phase-1 checks).
|
|
@@ -56,3 +67,49 @@ export declare function readConfigFromFile(): Record<string, any> | null;
|
|
|
56
67
|
* not in that list. Otherwise removes all dmwork bindings.
|
|
57
68
|
*/
|
|
58
69
|
export declare function removeOrphanedBindingsFromFile(channel: string, validAccountIds?: string[]): void;
|
|
70
|
+
/**
|
|
71
|
+
* Detect and clean up legacy DMWork plugin installations that conflict
|
|
72
|
+
* with the current openclaw-channel-dmwork plugin.
|
|
73
|
+
*
|
|
74
|
+
* Known legacy artifacts:
|
|
75
|
+
* - ~/.openclaw/extensions/dmwork/ (old plugin directory, id="dmwork")
|
|
76
|
+
* - plugins.entries.dmwork in openclaw.json
|
|
77
|
+
*
|
|
78
|
+
* Returns a list of actions taken (for logging).
|
|
79
|
+
*/
|
|
80
|
+
export declare function cleanupLegacyPlugin(): string[];
|
|
81
|
+
/**
|
|
82
|
+
* Clean up stale openclaw-channel-dmwork directory that is not registered
|
|
83
|
+
* in plugins.installs (orphaned from a failed previous install).
|
|
84
|
+
*
|
|
85
|
+
* Only removes the directory if ALL of these are true:
|
|
86
|
+
* 1. The directory exists
|
|
87
|
+
* 2. pluginsInspect returns null (openclaw doesn't recognize it)
|
|
88
|
+
* 3. plugins.installs has no record for openclaw-channel-dmwork
|
|
89
|
+
*/
|
|
90
|
+
export declare function cleanupStalePluginDir(): string[];
|
|
91
|
+
/**
|
|
92
|
+
* Clean up stale openclaw-install-stage directories that belong to DMWork.
|
|
93
|
+
* Only removes directories that:
|
|
94
|
+
* 1. Match .openclaw-install-stage-* pattern
|
|
95
|
+
* 2. Are older than 10 minutes (not a current installation)
|
|
96
|
+
* 3. Contain a package.json with name "openclaw-channel-dmwork"
|
|
97
|
+
*/
|
|
98
|
+
export declare function cleanupStaleStageDirectories(): string[];
|
|
99
|
+
/**
|
|
100
|
+
* Write openclaw.json atomically: write to .tmp then rename.
|
|
101
|
+
* Prevents gateway watcher from reading half-written/truncated JSON.
|
|
102
|
+
*/
|
|
103
|
+
export declare function writeConfigAtomic(cfg: Record<string, any>): void;
|
|
104
|
+
export type UpgradeScenario = "legacy" | "update" | "fresh" | "deadlock" | "broken";
|
|
105
|
+
export declare function detectScenario(): UpgradeScenario;
|
|
106
|
+
export declare function isHealthyInstall(): boolean;
|
|
107
|
+
export declare function ensurePluginsAllow(): void;
|
|
108
|
+
export declare function pluginsUpdateCompat(id: string, tag: string, quiet?: boolean): void;
|
|
109
|
+
export declare function renameLegacyDir(): boolean;
|
|
110
|
+
export declare function restoreLegacyDir(): void;
|
|
111
|
+
export declare function deleteLegacyBackup(): void;
|
|
112
|
+
export declare function removeLegacyFromConfig(): void;
|
|
113
|
+
export declare function saveChannelConfigToDisk(): void;
|
|
114
|
+
export declare function restoreChannelConfigFromDisk(): void;
|
|
115
|
+
export declare function cleanupBrokenInstall(): string[];
|