openclaw-channel-dmwork 0.6.0-dev.5487c3d1 → 0.6.0-dev.93ccd127

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/bind.js CHANGED
@@ -34,18 +34,38 @@ export async function runBind(opts) {
34
34
  cfg.channels.dmwork = {};
35
35
  if (!cfg.channels.dmwork.accounts)
36
36
  cfg.channels.dmwork.accounts = {};
37
- // 4. Write account config
38
- cfg.channels.dmwork.accounts[opts.accountId] = {
37
+ // 4. Register once, store full result for config + greeting
38
+ let botName = "";
39
+ let ownerUID = "";
40
+ try {
41
+ const regResp = await fetch(`${opts.apiUrl.replace(/\/+$/, "")}/v1/bot/register`, {
42
+ method: "POST",
43
+ headers: { "Authorization": `Bearer ${opts.botToken}`, "Content-Type": "application/json" },
44
+ body: "{}",
45
+ signal: AbortSignal.timeout(10000),
46
+ });
47
+ if (regResp.ok) {
48
+ const regData = await regResp.json();
49
+ botName = regData.name ?? "";
50
+ ownerUID = regData.owner_uid ?? "";
51
+ }
52
+ }
53
+ catch { /* best-effort */ }
54
+ // 5. Write account config
55
+ const accountConfig = {
39
56
  botToken: opts.botToken,
40
57
  apiUrl: opts.apiUrl,
41
58
  };
42
- // 5. Set dmScope (multi-bot isolation)
59
+ if (botName)
60
+ accountConfig.name = botName;
61
+ cfg.channels.dmwork.accounts[opts.accountId] = accountConfig;
62
+ // 6. Set dmScope (multi-bot isolation)
43
63
  if (!cfg.session)
44
64
  cfg.session = {};
45
65
  if (!cfg.session.dmScope) {
46
66
  cfg.session.dmScope = RECOMMENDED_DM_SCOPE;
47
67
  }
48
- // 6. Add or update binding
68
+ // 7. Add or update binding
49
69
  if (!cfg.bindings)
50
70
  cfg.bindings = [];
51
71
  const existingIdx = cfg.bindings.findIndex((b) => b.match?.channel === "dmwork" && b.match?.accountId === opts.accountId);
@@ -58,46 +78,36 @@ export async function runBind(opts) {
58
78
  match: { channel: "dmwork", accountId: opts.accountId },
59
79
  });
60
80
  }
61
- // 7. Atomic write
81
+ // 8. Atomic write
62
82
  writeConfigAtomic(cfg);
63
- console.log(`Bot account "${opts.accountId}" configured and bound to agent "${opts.agent}".`);
64
- // 8. Wait for channel hot-reload
83
+ const displayLabel = botName || opts.accountId;
84
+ console.log(`Bot "${displayLabel}" (${opts.accountId}) configured and bound to agent "${opts.agent}".`);
85
+ // 9. Wait for channel hot-reload
65
86
  console.log("Waiting for DMWork channel to reload...");
66
87
  await new Promise((r) => setTimeout(r, 2000));
67
- // 9. Send greeting to bot owner (best-effort, not a connectivity proof)
68
- console.log("Sending greeting to bot owner...");
69
- try {
70
- const registerResp = await fetch(`${opts.apiUrl.replace(/\/+$/, "")}/v1/bot/register`, {
71
- method: "POST",
72
- headers: {
73
- "Authorization": `Bearer ${opts.botToken}`,
74
- "Content-Type": "application/json",
75
- },
76
- body: "{}",
77
- signal: AbortSignal.timeout(10000),
78
- });
79
- if (registerResp.ok) {
80
- const data = await registerResp.json();
81
- if (data.owner_uid) {
82
- await fetch(`${opts.apiUrl.replace(/\/+$/, "")}/v1/bot/sendMessage`, {
83
- method: "POST",
84
- headers: {
85
- "Authorization": `Bearer ${opts.botToken}`,
86
- "Content-Type": "application/json",
87
- },
88
- body: JSON.stringify({
89
- channel_id: data.owner_uid,
90
- channel_type: 1,
91
- payload: { type: 1, content: `你好!我是 ${data.robot_id ?? opts.accountId},已上线 👋` },
92
- }),
93
- signal: AbortSignal.timeout(10000),
94
- });
95
- console.log(`Greeting sent to owner (${data.owner_uid}).`);
96
- }
88
+ // 10. Send greeting to bot owner (reuse register data from step 4)
89
+ if (ownerUID) {
90
+ console.log("Sending greeting to bot owner...");
91
+ try {
92
+ const greetName = botName || displayLabel;
93
+ await fetch(`${opts.apiUrl.replace(/\/+$/, "")}/v1/bot/sendMessage`, {
94
+ method: "POST",
95
+ headers: {
96
+ "Authorization": `Bearer ${opts.botToken}`,
97
+ "Content-Type": "application/json",
98
+ },
99
+ body: JSON.stringify({
100
+ channel_id: ownerUID,
101
+ channel_type: 1,
102
+ payload: { type: 1, content: `你好!我是 ${greetName},已上线 👋` },
103
+ }),
104
+ signal: AbortSignal.timeout(10000),
105
+ });
106
+ console.log(`Greeting sent to owner (${ownerUID}).`);
107
+ }
108
+ catch {
109
+ console.log("Could not send greeting. Please test connectivity by sending a message to the bot in DMWork.");
97
110
  }
98
- }
99
- catch {
100
- console.log("Could not send greeting. Please test connectivity by sending a message to the bot in DMWork.");
101
111
  }
102
112
  console.log("\nBind complete! Please send a message to the bot in DMWork to verify the connection.");
103
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bind.js","sourceRoot":"","sources":["../../cli/bind.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bind.js","sourceRoot":"","sources":["../../cli/bind.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,7 @@
5
5
  * (using openclaw config get) and in-process mode (using ctx.config).
6
6
  */
7
7
  import { existsSync } from "node:fs";
8
- import { execFileSync } from "node:child_process";
9
- import { cleanupBrokenInstall, cleanupStaleStageDirectories, configGet, configGetJson, configSet, detectScenario, gatewayRestart, gatewayStatus, pluginsInstall, removeOrphanedBindingsFromFile, readConfigFromFile, resolvePluginState, } from "./openclaw-cli.js";
8
+ import { cleanupBrokenInstall, cleanupStaleStageDirectories, configGet, configGetJson, configSet, detectScenario, gatewayRestart, gatewayStatus, pluginsInstall, removeOrphanedBindingsFromFile, readConfigFromFile, resolvePluginState, runCmd, } from "./openclaw-cli.js";
10
9
  import { PLUGIN_ID, RECOMMENDED_DM_SCOPE } from "./utils.js";
11
10
  /** CLI mode: reads via openclaw config get */
12
11
  export const cliConfigReader = {
@@ -195,7 +194,7 @@ export async function runDoctorChecks(params) {
195
194
  }
196
195
  else if (fix) {
197
196
  try {
198
- execFileSync("npm", ["install", "--production", "--ignore-scripts"], {
197
+ runCmd("npm", ["install", "--production", "--ignore-scripts"], {
199
198
  cwd: resolvedPath,
200
199
  stdio: ["pipe", "pipe", "pipe"],
201
200
  });
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../cli/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../cli/doctor.ts"],"names":[],"mappings":"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"}
@@ -10,13 +10,11 @@
10
10
  * 5. Broken install cleanup
11
11
  */
12
12
  import { copyFileSync, existsSync, rmSync } from "node:fs";
13
- import { execFileSync } from "node:child_process";
14
- import { cleanupBrokenInstall, deleteLegacyBackup, detectScenario, ensurePluginsAllow, gatewayRestart, getConfigFilePathSafe, isHealthyInstall, pluginsInspect, pluginsInstall, readConfigFromFile, removeLegacyFromConfig, renameLegacyDir, restoreChannelConfigFromDisk, restoreLegacyDir, saveChannelConfigToDisk, removeChannelConfigFromFile, } from "./openclaw-cli.js";
13
+ import { cleanupBrokenInstall, deleteLegacyBackup, detectScenario, ensurePluginsAllow, gatewayRestart, getConfigFilePathSafe, isHealthyInstall, pluginsInspect, pluginsInstall, readConfigFromFile, removeLegacyFromConfig, renameLegacyDir, restoreChannelConfigFromDisk, restoreLegacyDir, saveChannelConfigToDisk, removeChannelConfigFromFile, runCmd, } from "./openclaw-cli.js";
15
14
  import { PLUGIN_ID, ensureOpenClawCompat, } from "./utils.js";
16
15
  function getLatestNpmVersion(tag) {
17
16
  try {
18
- return execFileSync("npm", ["view", `${PLUGIN_ID}@${tag}`, "version"], {
19
- encoding: "utf-8",
17
+ return runCmd("npm", ["view", `${PLUGIN_ID}@${tag}`, "version"], {
20
18
  stdio: ["pipe", "pipe", "pipe"],
21
19
  }).trim();
22
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../cli/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../cli/install.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,20 @@
3
3
  * All openclaw invocations go through this module using execFileSync with
4
4
  * argument arrays to avoid shell-quoting issues.
5
5
  */
6
+ /**
7
+ * Execute an external command, compatible with Windows .cmd shims.
8
+ * On Windows, .cmd files are executed via cmd.exe /d /s /c explicitly.
9
+ * All external command invocations (openclaw, npm, etc.) should use this.
10
+ */
11
+ export declare function runCmd(command: string, args: string[], opts?: Record<string, unknown>): string;
12
+ /**
13
+ * Execute openclaw CLI command. Wrapper with pre-resolved path.
14
+ */
15
+ declare function runOpenclaw(args: string[], opts?: Record<string, unknown>): string;
6
16
  /** Get the resolved openclaw binary path */
7
17
  export declare function getOpenClawBin(): string;
18
+ /** Execute openclaw command (exported for quickstart.ts etc.) */
19
+ export { runOpenclaw };
8
20
  export declare function getConfigFilePath(): string;
9
21
  export declare function configGet(path: string): string | null;
10
22
  export declare function configGetJson(path: string): any;
@@ -15,6 +15,7 @@ import { resolve } from "node:path";
15
15
  * causes version incompatibility crashes on older OpenClaw servers.
16
16
  */
17
17
  function findGlobalOpenclaw() {
18
+ const isWindows = process.platform === "win32";
18
19
  // Strategy 1: use "which -a" (Unix) or "where" (Windows) to find all openclaw paths
19
20
  // Skip: _npx (npx cache), npx-cache, node_modules (project-local devDependency)
20
21
  for (const cmd of ["which -a openclaw", "where openclaw"]) {
@@ -30,14 +31,42 @@ function findGlobalOpenclaw() {
30
31
  !p.includes("_npx") &&
31
32
  !p.includes("npx-cache") &&
32
33
  !p.includes("node_modules"));
33
- if (paths.length > 0)
34
+ if (paths.length > 0) {
35
+ // On Windows, `where openclaw` may return both the extensionless shim
36
+ // and `openclaw.cmd`. Prefer `.cmd`, otherwise execFileSync may hit
37
+ // ENOENT for the extensionless path.
38
+ if (isWindows) {
39
+ const cmdShim = paths.find((p) => /\.cmd$/i.test(p));
40
+ if (cmdShim)
41
+ return cmdShim;
42
+ }
34
43
  return paths[0];
44
+ }
35
45
  }
36
46
  catch {
37
47
  // command not available on this platform
38
48
  }
39
49
  }
40
- // Strategy 2: check common global install paths
50
+ // Strategy 2 (Windows): npm global prefix + openclaw.cmd
51
+ // npm i -g openclaw 在 Windows 上生成 .ps1 和 .cmd,但 npx 子进程的 PATH
52
+ // 可能不包含 npm 全局目录,导致 where 找不到。直接通过 npm prefix 定位。
53
+ if (isWindows) {
54
+ try {
55
+ const prefix = execSync("npm config get prefix", {
56
+ encoding: "utf-8",
57
+ stdio: ["pipe", "pipe", "pipe"],
58
+ }).trim();
59
+ if (prefix) {
60
+ const cmdPath = resolve(prefix, "openclaw.cmd");
61
+ if (existsSync(cmdPath))
62
+ return cmdPath;
63
+ }
64
+ }
65
+ catch {
66
+ // npm not available
67
+ }
68
+ }
69
+ // Strategy 3: check common global install paths
41
70
  const candidates = [
42
71
  "/opt/homebrew/bin/openclaw",
43
72
  "/usr/local/bin/openclaw",
@@ -51,11 +80,65 @@ function findGlobalOpenclaw() {
51
80
  // Last resort: use PATH (may still be npx version)
52
81
  return "openclaw";
53
82
  }
83
+ const IS_WINDOWS = process.platform === "win32";
84
+ /**
85
+ * Resolve a command name to its .cmd shim on Windows.
86
+ * On Windows, `where.exe <cmd>` may return both a bare file and a .cmd;
87
+ * execFileSync cannot execute the bare file (ENOENT), so we prefer .cmd.
88
+ */
89
+ function resolveCommand(name) {
90
+ if (IS_WINDOWS) {
91
+ try {
92
+ const output = execSync(`where.exe ${name}`, {
93
+ encoding: "utf-8",
94
+ stdio: ["pipe", "pipe", "pipe"],
95
+ });
96
+ const paths = output.split(/\r?\n/).map((p) => p.trim()).filter((p) => p.length > 0);
97
+ const cmdShim = paths.find((p) => /\.cmd$/i.test(p));
98
+ if (cmdShim)
99
+ return cmdShim;
100
+ if (paths.length > 0)
101
+ return paths[0];
102
+ }
103
+ catch { /* not found via where */ }
104
+ }
105
+ return name;
106
+ }
107
+ /**
108
+ * Execute an external command, compatible with Windows .cmd shims.
109
+ * On Windows, .cmd files are executed via cmd.exe /d /s /c explicitly.
110
+ * All external command invocations (openclaw, npm, etc.) should use this.
111
+ */
112
+ export function runCmd(command, args, opts = {}) {
113
+ const resolved = resolveCommand(command);
114
+ if (IS_WINDOWS && /\.cmd$/i.test(resolved)) {
115
+ const comspec = process.env.ComSpec || "C:\\Windows\\System32\\cmd.exe";
116
+ const escaped = args.map((a) => /[\s"&|<>^%]/.test(a) ? `"${a.replace(/"/g, '""')}"` : a);
117
+ const cmdline = `"${resolved}" ${escaped.join(" ")}`;
118
+ return execFileSync(comspec, ["/d", "/s", "/c", cmdline], { encoding: "utf-8", ...opts });
119
+ }
120
+ return execFileSync(resolved, args, { encoding: "utf-8", ...opts });
121
+ }
54
122
  const OPENCLAW = findGlobalOpenclaw();
123
+ const NEEDS_SHELL = IS_WINDOWS && /\.cmd$/i.test(OPENCLAW);
124
+ /**
125
+ * Execute openclaw CLI command. Wrapper with pre-resolved path.
126
+ */
127
+ function runOpenclaw(args, opts = {}) {
128
+ if (NEEDS_SHELL) {
129
+ const comspec = process.env.ComSpec || "C:\\Windows\\System32\\cmd.exe";
130
+ const escaped = args.map((a) => /[\s"&|<>^%]/.test(a) ? `"${a.replace(/"/g, '""')}"` : a);
131
+ const cmdline = `"${OPENCLAW}" ${escaped.join(" ")}`;
132
+ return execFileSync(comspec, ["/d", "/s", "/c", cmdline], { encoding: "utf-8", ...opts });
133
+ }
134
+ return execFileSync(OPENCLAW, args, { encoding: "utf-8", ...opts });
135
+ }
55
136
  /** Get the resolved openclaw binary path */
56
137
  export function getOpenClawBin() {
57
138
  return OPENCLAW;
58
139
  }
140
+ /** Execute openclaw command (exported for quickstart.ts etc.) */
141
+ export { runOpenclaw };
59
142
  /** Expand ~ to home directory */
60
143
  function expandHome(p) {
61
144
  if (p.startsWith("~/"))
@@ -66,7 +149,7 @@ function expandHome(p) {
66
149
  // Config helpers
67
150
  // ---------------------------------------------------------------------------
68
151
  export function getConfigFilePath() {
69
- const out = execFileSync(OPENCLAW, ["config", "file"], { encoding: "utf-8" });
152
+ const out = runOpenclaw(["config", "file"]);
70
153
  // openclaw may prepend warnings/box-drawing to stdout; extract the actual path
71
154
  // The path is typically the last non-empty line containing openclaw.json
72
155
  const lines = out.split(/\r?\n/).map((l) => l.trim()).filter((l) => l.length > 0);
@@ -100,8 +183,7 @@ function stripStdoutNoise(raw) {
100
183
  }
101
184
  export function configGet(path) {
102
185
  try {
103
- const raw = execFileSync(OPENCLAW, ["config", "get", path], {
104
- encoding: "utf-8",
186
+ const raw = runOpenclaw(["config", "get", path], {
105
187
  stdio: ["pipe", "pipe", "pipe"],
106
188
  });
107
189
  const val = stripStdoutNoise(raw);
@@ -113,8 +195,7 @@ export function configGet(path) {
113
195
  }
114
196
  export function configGetJson(path) {
115
197
  try {
116
- const out = execFileSync(OPENCLAW, ["config", "get", path, "--json"], {
117
- encoding: "utf-8",
198
+ const out = runOpenclaw(["config", "get", path, "--json"], {
118
199
  stdio: ["pipe", "pipe", "pipe"],
119
200
  });
120
201
  const jsonStart = out.indexOf("{");
@@ -149,23 +230,23 @@ export function configGetJson(path) {
149
230
  }
150
231
  }
151
232
  export function configSet(path, value) {
152
- execFileSync(OPENCLAW, ["config", "set", path, value], {
233
+ runOpenclaw(["config", "set", path, value], {
153
234
  stdio: ["pipe", "pipe", "pipe"],
154
235
  });
155
236
  }
156
237
  export function configSetBatch(operations) {
157
238
  const batchJson = JSON.stringify(operations.map((op) => ({ path: op.path, value: op.value })));
158
- execFileSync(OPENCLAW, ["config", "set", "--batch-json", batchJson], {
239
+ runOpenclaw(["config", "set", "--batch-json", batchJson], {
159
240
  stdio: ["pipe", "pipe", "pipe"],
160
241
  });
161
242
  }
162
243
  export function configSetJson(path, value) {
163
- execFileSync(OPENCLAW, ["config", "set", path, JSON.stringify(value), "--strict-json"], {
244
+ runOpenclaw(["config", "set", path, JSON.stringify(value), "--strict-json"], {
164
245
  stdio: ["pipe", "pipe", "pipe"],
165
246
  });
166
247
  }
167
248
  export function configUnset(path) {
168
- execFileSync(OPENCLAW, ["config", "unset", path], {
249
+ runOpenclaw(["config", "unset", path], {
169
250
  stdio: ["pipe", "pipe", "pipe"],
170
251
  });
171
252
  }
@@ -215,7 +296,7 @@ export function pluginsInstall(spec, quiet, force) {
215
296
  // making isUnsupportedOptionError() unable to detect "unknown option".
216
297
  for (let i = 0; i < attempts.length; i++) {
217
298
  try {
218
- const result = execFileSync(OPENCLAW, attempts[i], {
299
+ const result = runOpenclaw(attempts[i], {
219
300
  stdio: ["pipe", "pipe", "pipe"],
220
301
  encoding: "utf-8",
221
302
  });
@@ -241,7 +322,7 @@ export function pluginsInstall(spec, quiet, force) {
241
322
  }
242
323
  }
243
324
  export function pluginsUpdate(id, quiet) {
244
- const result = execFileSync(OPENCLAW, ["plugins", "update", id], {
325
+ const result = runOpenclaw(["plugins", "update", id], {
245
326
  stdio: ["pipe", "pipe", "pipe"],
246
327
  encoding: "utf-8",
247
328
  });
@@ -252,7 +333,7 @@ export function pluginsUninstall(id, yes) {
252
333
  const args = ["plugins", "uninstall", id];
253
334
  if (yes)
254
335
  args.push("--force");
255
- execFileSync(OPENCLAW, args, { stdio: "inherit" });
336
+ runOpenclaw(args, { stdio: "inherit" });
256
337
  }
257
338
  /**
258
339
  * Inspect a plugin. Returns structured outcome distinguishing:
@@ -263,7 +344,7 @@ export function pluginsUninstall(id, yes) {
263
344
  */
264
345
  export function pluginsInspectDetailed(id) {
265
346
  try {
266
- const out = execFileSync(OPENCLAW, ["plugins", "inspect", id, "--json"], {
347
+ const out = runOpenclaw(["plugins", "inspect", id, "--json"], {
267
348
  encoding: "utf-8",
268
349
  stdio: ["pipe", "pipe", "pipe"],
269
350
  });
@@ -353,7 +434,7 @@ export function resolvePluginState(id) {
353
434
  // ---------------------------------------------------------------------------
354
435
  export function gatewayStatus() {
355
436
  try {
356
- const out = execFileSync(OPENCLAW, ["gateway", "status", "--json"], {
437
+ const out = runOpenclaw(["gateway", "status", "--json"], {
357
438
  encoding: "utf-8",
358
439
  stdio: ["pipe", "pipe", "pipe"],
359
440
  });
@@ -389,7 +470,7 @@ export function gatewayStatus() {
389
470
  }
390
471
  export function gatewayRestart(quiet) {
391
472
  try {
392
- execFileSync(OPENCLAW, ["gateway", "restart"], {
473
+ runOpenclaw(["gateway", "restart"], {
393
474
  stdio: quiet ? ["pipe", "pipe", "pipe"] : "inherit",
394
475
  });
395
476
  return true;
@@ -403,7 +484,7 @@ export function gatewayRestart(quiet) {
403
484
  // ---------------------------------------------------------------------------
404
485
  export function getOpenClawVersion() {
405
486
  try {
406
- const out = execFileSync(OPENCLAW, ["--version"], {
487
+ const out = runOpenclaw(["--version"], {
407
488
  encoding: "utf-8",
408
489
  stdio: ["pipe", "pipe", "pipe"],
409
490
  });
@@ -548,7 +629,7 @@ export function cleanupLegacyPlugin() {
548
629
  if (existsSync(legacyDir)) {
549
630
  // Try to uninstall via openclaw CLI first (removes entries/installs/allow)
550
631
  try {
551
- execFileSync(OPENCLAW, ["plugins", "uninstall", LEGACY_PLUGIN_ID, "--force", "--keep-files"], {
632
+ runOpenclaw(["plugins", "uninstall", LEGACY_PLUGIN_ID, "--force", "--keep-files"], {
552
633
  stdio: ["pipe", "pipe", "pipe"],
553
634
  });
554
635
  actions.push(`Unregistered legacy plugin "${LEGACY_PLUGIN_ID}"`);
@@ -737,7 +818,7 @@ export function ensurePluginsAllow() {
737
818
  // ---------------------------------------------------------------------------
738
819
  export function pluginsUpdateCompat(id, tag, quiet) {
739
820
  try {
740
- const result = execFileSync(OPENCLAW, ["plugins", "update", id], {
821
+ const result = runOpenclaw(["plugins", "update", id], {
741
822
  stdio: ["pipe", "pipe", "pipe"],
742
823
  encoding: "utf-8",
743
824
  });