openclaw-channel-dmwork 0.5.21 → 0.6.0-dev.1c691678

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.
@@ -0,0 +1,12 @@
1
+ /**
2
+ * bind command: configure a single bot account and bind it to an agent.
3
+ * Writes config atomically (no multiple `openclaw config set` calls).
4
+ * Does NOT restart gateway — relies on channel hot-reload.
5
+ */
6
+ export interface BindOptions {
7
+ botToken: string;
8
+ apiUrl: string;
9
+ accountId: string;
10
+ agent: string;
11
+ }
12
+ export declare function runBind(opts: BindOptions): Promise<void>;
@@ -0,0 +1,104 @@
1
+ /**
2
+ * bind command: configure a single bot account and bind it to an agent.
3
+ * Writes config atomically (no multiple `openclaw config set` calls).
4
+ * Does NOT restart gateway — relies on channel hot-reload.
5
+ */
6
+ import { isHealthyInstall, readConfigFromFile, writeConfigAtomic, } from "./openclaw-cli.js";
7
+ import { RECOMMENDED_DM_SCOPE, ensureOpenClawCompat, validateAccountId, } from "./utils.js";
8
+ export async function runBind(opts) {
9
+ ensureOpenClawCompat();
10
+ // 1. Pre-flight: plugin must be healthy
11
+ if (!isHealthyInstall()) {
12
+ console.error("DMWork plugin is not installed or in an unhealthy state.");
13
+ console.error("Please run first: npx -y openclaw-channel-dmwork install");
14
+ process.exit(1);
15
+ }
16
+ // 2. Validate params
17
+ if (!opts.botToken.startsWith("bf_")) {
18
+ console.error("Error: Bot token must start with 'bf_'.");
19
+ process.exit(1);
20
+ }
21
+ if (!validateAccountId(opts.accountId)) {
22
+ console.error(`Error: Invalid account ID "${opts.accountId}". Only letters, digits, and underscores are allowed.`);
23
+ process.exit(1);
24
+ }
25
+ if (!opts.agent) {
26
+ console.error("Error: --agent is required. Use /status in OpenClaw to find your agent identifier.");
27
+ process.exit(1);
28
+ }
29
+ // 3. Read existing config
30
+ const cfg = readConfigFromFile() || {};
31
+ if (!cfg.channels)
32
+ cfg.channels = {};
33
+ if (!cfg.channels.dmwork)
34
+ cfg.channels.dmwork = {};
35
+ if (!cfg.channels.dmwork.accounts)
36
+ cfg.channels.dmwork.accounts = {};
37
+ // 4. Write account config
38
+ cfg.channels.dmwork.accounts[opts.accountId] = {
39
+ botToken: opts.botToken,
40
+ apiUrl: opts.apiUrl,
41
+ };
42
+ // 5. Set dmScope (multi-bot isolation)
43
+ if (!cfg.session)
44
+ cfg.session = {};
45
+ if (!cfg.session.dmScope) {
46
+ cfg.session.dmScope = RECOMMENDED_DM_SCOPE;
47
+ }
48
+ // 6. Add or update binding
49
+ if (!cfg.bindings)
50
+ cfg.bindings = [];
51
+ const existingIdx = cfg.bindings.findIndex((b) => b.match?.channel === "dmwork" && b.match?.accountId === opts.accountId);
52
+ if (existingIdx >= 0) {
53
+ cfg.bindings[existingIdx].agentId = opts.agent;
54
+ }
55
+ else {
56
+ cfg.bindings.push({
57
+ agentId: opts.agent,
58
+ match: { channel: "dmwork", accountId: opts.accountId },
59
+ });
60
+ }
61
+ // 7. Atomic write
62
+ writeConfigAtomic(cfg);
63
+ console.log(`Bot account "${opts.accountId}" configured and bound to agent "${opts.agent}".`);
64
+ // 8. Wait for channel hot-reload
65
+ console.log("Waiting for DMWork channel to reload...");
66
+ 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
+ }
97
+ }
98
+ }
99
+ catch {
100
+ console.log("Could not send greeting. Please test connectivity by sending a message to the bot in DMWork.");
101
+ }
102
+ console.log("\nBind complete! Please send a message to the bot in DMWork to verify the connection.");
103
+ }
104
+ //# sourceMappingURL=bind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind.js","sourceRoot":"","sources":["../../cli/bind.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { existsSync } from "node:fs";
8
8
  import { execFileSync } from "node:child_process";
9
- import { cleanupLegacyPlugin, configGet, configGetJson, configSet, gatewayRestart, gatewayStatus, pluginsInspect, pluginsInstall, removeChannelConfigFromFile, removeOrphanedBindingsFromFile, readConfigFromFile, } from "./openclaw-cli.js";
9
+ import { cleanupBrokenInstall, cleanupStaleStageDirectories, configGet, configGetJson, configSet, detectScenario, gatewayRestart, gatewayStatus, pluginsInstall, removeOrphanedBindingsFromFile, readConfigFromFile, resolvePluginState, } from "./openclaw-cli.js";
10
10
  import { PLUGIN_ID, RECOMMENDED_DM_SCOPE } from "./utils.js";
11
11
  /** CLI mode: reads via openclaw config get */
12
12
  export const cliConfigReader = {
@@ -50,11 +50,14 @@ export async function runDoctorChecks(params) {
50
50
  // Phase 1: Fatal config issues (OpenClaw CLI may not work)
51
51
  // =========================================================================
52
52
  if (!params.inProcess && fix) {
53
- // Phase 0: Clean up legacy "dmwork" plugin
54
- const legacyActions = cleanupLegacyPlugin();
55
- for (const action of legacyActions) {
53
+ // Phase 0a: Use scenario detection don't use old destructive cleanupLegacyPlugin()
54
+ // Legacy and deadlock scenarios are handled in Phase 2 plugin install section
55
+ // Here we only do non-destructive cleanup: stage directories and orphaned bindings
56
+ // Phase 0b: Clean up stale install stage directories (DMWork only, >10min old)
57
+ const stageActions = cleanupStaleStageDirectories();
58
+ for (const action of stageActions) {
56
59
  checks.push({
57
- name: "Legacy plugin cleanup",
60
+ name: "Stage directory cleanup",
58
61
  status: "FIXED",
59
62
  detail: action,
60
63
  });
@@ -62,20 +65,6 @@ export async function runDoctorChecks(params) {
62
65
  const cfg = readConfigFromFile();
63
66
  if (cfg) {
64
67
  const hasDmworkChannel = Boolean(cfg.channels?.dmwork);
65
- // Check if plugin actually exists on disk, not just config records
66
- const installPath = cfg.plugins?.installs?.["openclaw-channel-dmwork"]?.installPath;
67
- const pluginOnDisk = installPath
68
- ? existsSync(installPath.replace(/^~/, process.env.HOME ?? ""))
69
- : false;
70
- // channels.dmwork exists but plugin not on disk → residual config
71
- if (hasDmworkChannel && !pluginOnDisk) {
72
- removeChannelConfigFromFile();
73
- checks.push({
74
- name: "Residual channels.dmwork",
75
- status: "FIXED",
76
- detail: "Removed orphaned channel config (plugin not installed)",
77
- });
78
- }
79
68
  // Orphaned dmwork bindings
80
69
  const bindings = cfg.bindings;
81
70
  const dmworkBindings = bindings?.filter((b) => b.match?.channel === "dmwork") ?? [];
@@ -110,23 +99,52 @@ export async function runDoctorChecks(params) {
110
99
  // =========================================================================
111
100
  const reader = params.reader ?? cliConfigReader;
112
101
  // 1. Plugin installed
102
+ // Uses resolvePluginState (inspect + fallback) but cross-checks with
103
+ // detectScenario() when fallback says not-installed, to avoid hiding
104
+ // broken/partial states behind "not installed".
105
+ let pluginState = null;
113
106
  if (!params.inProcess) {
114
- const inspect = pluginsInspect(PLUGIN_ID);
115
- if (inspect?.plugin) {
107
+ pluginState = resolvePluginState(PLUGIN_ID);
108
+ if (pluginState.installed) {
109
+ // Healthy via inspect or fallback (all 3 artifacts present)
110
+ const versionLabel = pluginState.version ? `v${pluginState.version}` : "version unknown";
111
+ let sourceNote = "";
112
+ if (pluginState.source === "fallback" && pluginState.inspectFailReason === "unsupported") {
113
+ sourceNote = " (fallback; plugins inspect unsupported on this OpenClaw version)";
114
+ }
115
+ else if (pluginState.source === "fallback") {
116
+ sourceNote = " (fallback; plugins inspect failed)";
117
+ }
116
118
  checks.push({
117
119
  name: "Plugin installed",
118
120
  status: "PASS",
119
- detail: `v${inspect.plugin.version}`,
121
+ detail: `${versionLabel}${sourceNote}`,
120
122
  });
121
123
  }
122
124
  else if (fix) {
125
+ // Not installed (or broken/partial). Use detectScenario() for precise fix.
123
126
  try {
124
- pluginsInstall(PLUGIN_ID, true);
125
- const after = pluginsInspect(PLUGIN_ID);
127
+ const scenario = detectScenario();
128
+ if (scenario === "legacy") {
129
+ const { runLegacyMigrationForUpdate } = await import("./install.js");
130
+ runLegacyMigrationForUpdate(PLUGIN_ID, true);
131
+ }
132
+ else if (scenario === "deadlock") {
133
+ const { runDeadlockRepairForUpdate } = await import("./install.js");
134
+ runDeadlockRepairForUpdate(PLUGIN_ID, true);
135
+ }
136
+ else if (scenario === "broken") {
137
+ cleanupBrokenInstall();
138
+ pluginsInstall(PLUGIN_ID, true);
139
+ }
140
+ else {
141
+ pluginsInstall(PLUGIN_ID, true);
142
+ }
143
+ pluginState = resolvePluginState(PLUGIN_ID);
126
144
  checks.push({
127
145
  name: "Plugin installed",
128
146
  status: "FIXED",
129
- detail: `Installed v${after?.plugin?.version ?? "unknown"}`,
147
+ detail: `Installed v${pluginState.version ?? "unknown"}`,
130
148
  });
131
149
  }
132
150
  catch {
@@ -166,19 +184,19 @@ export async function runDoctorChecks(params) {
166
184
  checks.push({ name: "Plugin enabled", status: "FAIL", detail: "No" });
167
185
  }
168
186
  }
169
- // 3. node_modules check
187
+ // 3. node_modules check (uses installPath from resolvePluginState)
170
188
  if (!params.inProcess) {
171
- const inspect = pluginsInspect(PLUGIN_ID);
172
- const installPath = inspect?.install?.installPath;
189
+ const installPath = pluginState?.installPath;
173
190
  if (installPath) {
174
- const nmPath = installPath.replace(/^~/, process.env.HOME ?? "") + "/node_modules";
191
+ const resolvedPath = installPath.replace(/^~/, process.env.HOME ?? "");
192
+ const nmPath = resolvedPath + "/node_modules";
175
193
  if (existsSync(nmPath)) {
176
194
  checks.push({ name: "Dependencies", status: "PASS", detail: "node_modules exists" });
177
195
  }
178
196
  else if (fix) {
179
197
  try {
180
198
  execFileSync("npm", ["install", "--production", "--ignore-scripts"], {
181
- cwd: installPath.replace(/^~/, process.env.HOME ?? ""),
199
+ cwd: resolvedPath,
182
200
  stdio: ["pipe", "pipe", "pipe"],
183
201
  });
184
202
  checks.push({ name: "Dependencies", status: "FIXED", detail: "npm install completed" });
@@ -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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"}
@@ -1,4 +1,4 @@
1
1
  /**
2
- * CLI entry point: register 5 subcommands with commander.
2
+ * CLI entry point: register subcommands with commander.
3
3
  */
4
4
  export {};
package/dist/cli/index.js CHANGED
@@ -1,14 +1,16 @@
1
1
  /**
2
- * CLI entry point: register 5 subcommands with commander.
2
+ * CLI entry point: register subcommands with commander.
3
3
  */
4
4
  import { Command, Option } from "commander";
5
5
  import { runInstall } from "./install.js";
6
6
  import { runUpdate } from "./update.js";
7
+ import { runBind } from "./bind.js";
8
+ import { runQuickstart } from "./quickstart.js";
7
9
  import { cliConfigReader, formatDoctorResult, runDoctorChecks, } from "./doctor.js";
8
10
  import { runUninstall } from "./uninstall.js";
9
11
  import { runRemoveAccount } from "./remove-account.js";
10
12
  import { ensureOpenClawCompat, PLUGIN_ID } from "./utils.js";
11
- import { getOpenClawVersion, pluginsInspect } from "./openclaw-cli.js";
13
+ import { getOpenClawVersion, resolvePluginState } from "./openclaw-cli.js";
12
14
  import { createRequire } from "node:module";
13
15
  const program = new Command();
14
16
  const _require = createRequire(import.meta.url);
@@ -23,13 +25,23 @@ program
23
25
  .description("Show CLI and plugin version info")
24
26
  .action(() => {
25
27
  const openclawVersion = getOpenClawVersion() ?? "not found";
26
- const inspect = pluginsInspect(PLUGIN_ID);
27
- const installedVersion = inspect?.plugin?.version ?? "not installed";
28
- // ANSI: \x1b[1m = bold, \x1b[32m = green, \x1b[4m = underline, \x1b[0m = reset
29
- const b = "\x1b[1m"; // bold
30
- const g = "\x1b[32m"; // green
31
- const u = "\x1b[4m"; // underline
32
- const r = "\x1b[0m"; // reset
28
+ const state = resolvePluginState(PLUGIN_ID);
29
+ let installedVersion = "not installed";
30
+ if (state.installed && state.version) {
31
+ installedVersion = state.version;
32
+ if (state.source === "fallback" && state.inspectFailReason === "unsupported") {
33
+ installedVersion += " (fallback; plugins inspect unsupported on this OpenClaw version)";
34
+ }
35
+ else if (state.source === "fallback") {
36
+ installedVersion += " (fallback; plugins inspect failed)";
37
+ }
38
+ }
39
+ else if (state.installed) {
40
+ installedVersion = "installed (version unknown)";
41
+ }
42
+ const b = "\x1b[1m";
43
+ const g = "\x1b[32m";
44
+ const r = "\x1b[0m";
33
45
  console.log(`${b}openclaw-channel-dmwork-cli:${r} ${g}${_pkg.version}${r}`);
34
46
  console.log(`${b}openclaw:${r} ${g}${openclawVersion}${r}`);
35
47
  console.log(`${b}openclaw-channel-dmwork:${r} ${g}${installedVersion}${r}`);
@@ -43,31 +55,50 @@ program
43
55
  // --- install ---
44
56
  program
45
57
  .command("install")
46
- .description("Install the DMWork plugin and configure a bot account")
47
- .option("--bot-token <token>", "Bot token (starts with bf_)")
48
- .option("--api-url <url>", "API server URL")
49
- .option("--account-id <id>", "Account ID (required in non-interactive mode)")
50
- .option("--skip-config", "Skip bot configuration", false)
58
+ .description("Install or update the DMWork plugin")
51
59
  .option("--force", "Force reinstall", false)
52
60
  .addOption(new Option("--dev").hideHelp().default(false))
53
61
  .action(async (opts) => {
54
62
  await runInstall({
55
- botToken: opts.botToken,
56
- apiUrl: opts.apiUrl,
57
- accountId: opts.accountId,
58
- skipConfig: opts.skipConfig,
59
63
  force: opts.force,
60
64
  dev: opts.dev,
61
65
  });
62
66
  });
63
- // --- update ---
67
+ // --- update (alias for install) ---
64
68
  program
65
69
  .command("update")
66
- .description("Update the DMWork plugin to the latest version")
67
- .option("--json", "Output JSON", false)
70
+ .description("Update the DMWork plugin (alias for install)")
68
71
  .addOption(new Option("--dev").hideHelp().default(false))
69
72
  .action(async (opts) => {
70
- await runUpdate({ json: opts.json, dev: opts.dev });
73
+ await runUpdate({ dev: opts.dev });
74
+ });
75
+ // --- bind ---
76
+ program
77
+ .command("bind")
78
+ .description("Configure a bot account and bind it to an agent")
79
+ .requiredOption("--bot-token <token>", "Bot token (starts with bf_)")
80
+ .requiredOption("--api-url <url>", "API server URL")
81
+ .requiredOption("--account-id <id>", "Bot account ID")
82
+ .requiredOption("--agent <agent>", "Agent identifier to bind to")
83
+ .action(async (opts) => {
84
+ await runBind({
85
+ botToken: opts.botToken,
86
+ apiUrl: opts.apiUrl,
87
+ accountId: opts.accountId,
88
+ agent: opts.agent,
89
+ });
90
+ });
91
+ // --- quickstart ---
92
+ program
93
+ .command("quickstart")
94
+ .description("Create bots for all agents and bind them (one-time setup)")
95
+ .requiredOption("--api-key <key>", "User API key (starts with uk_)")
96
+ .requiredOption("--api-url <url>", "API server URL")
97
+ .action(async (opts) => {
98
+ await runQuickstart({
99
+ apiKey: opts.apiKey,
100
+ apiUrl: opts.apiUrl,
101
+ });
71
102
  });
72
103
  // --- doctor ---
73
104
  program
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../cli/index.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,25 @@
1
1
  /**
2
- * install command: install plugin via official CLI + interactive config setup.
2
+ * install command: install or update the DMWork plugin.
3
+ * Pure plugin management — does NOT configure bots or bindings.
3
4
  *
4
- * Only manages channels.dmwork account config. Agent creation (binding,
5
- * workspace, agent.md) is left to the user via `openclaw agents add`.
5
+ * Handles 5 scenarios:
6
+ * 1. Legacy migration (dmwork openclaw-channel-dmwork)
7
+ * 2. Normal update (check version, update if needed)
8
+ * 3. Fresh install (nothing installed)
9
+ * 4. Deadlock repair (channels.dmwork exists but no plugin)
10
+ * 5. Broken install cleanup
6
11
  */
7
12
  export interface InstallOptions {
8
- botToken?: string;
9
- apiUrl?: string;
10
- accountId?: string;
11
- skipConfig?: boolean;
12
13
  force?: boolean;
13
14
  dev?: boolean;
14
15
  }
16
+ /**
17
+ * install command: install or update the DMWork plugin.
18
+ * Pure plugin management — does NOT configure bots or bindings.
19
+ * Use `bind` or `quickstart` for bot configuration after install.
20
+ */
15
21
  export declare function runInstall(opts: InstallOptions): Promise<void>;
22
+ declare function runLegacyMigration(spec: string, quiet: boolean, force?: boolean): void;
23
+ declare function runDeadlockRepair(spec: string, quiet: boolean): void;
24
+ export { runLegacyMigration as runLegacyMigrationForUpdate };
25
+ export { runDeadlockRepair as runDeadlockRepairForUpdate };