@wecom/wecom-openclaw-cli 1.0.10 → 1.0.12
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/README.md +24 -20
- package/dist/commands/info.d.ts.map +1 -1
- package/dist/commands/info.js +15 -1
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/install.d.ts +18 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +171 -71
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/update.d.ts +1 -4
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +3 -9
- package/dist/commands/update.js.map +1 -1
- package/dist/index.js +4 -5
- package/dist/index.js.map +1 -1
- package/dist/package.json.js +1 -1
- package/dist/utils/constants.js +1 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/plugin.d.ts +5 -2
- package/dist/utils/plugin.d.ts.map +1 -1
- package/dist/utils/plugin.js +8 -11
- package/dist/utils/plugin.js.map +1 -1
- package/dist/utils/prompts.d.ts +4 -0
- package/dist/utils/prompts.d.ts.map +1 -1
- package/dist/utils/prompts.js +15 -0
- package/dist/utils/prompts.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -34,7 +34,7 @@ npm install -g @wecom/wecom-openclaw-cli
|
|
|
34
34
|
安装完成后,可以直接使用 `wecom-openclaw-cli` 命令:
|
|
35
35
|
|
|
36
36
|
```bash
|
|
37
|
-
wecom-openclaw-cli --help
|
|
37
|
+
npx -y @wecom/wecom-openclaw-cli --help
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
## 命令
|
|
@@ -46,16 +46,22 @@ wecom-openclaw-cli --help
|
|
|
46
46
|
> **提示**:如果插件已安装,`install` 会自动进入更新流程,无需手动调用 `update`。
|
|
47
47
|
|
|
48
48
|
```bash
|
|
49
|
-
wecom-openclaw-cli install
|
|
49
|
+
npx -y @wecom/wecom-openclaw-cli install
|
|
50
50
|
|
|
51
51
|
# 指定版本安装
|
|
52
|
-
wecom-openclaw-cli install --version 1.2.0
|
|
52
|
+
npx -y @wecom/wecom-openclaw-cli install --version 1.2.0
|
|
53
53
|
|
|
54
54
|
# 强制重新安装(清除已有插件和配置后全量重装)
|
|
55
|
-
wecom-openclaw-cli install --force
|
|
55
|
+
npx -y @wecom/wecom-openclaw-cli install --force
|
|
56
56
|
|
|
57
57
|
# 指定 npm 包名(适用于私有源或自定义包名场景)
|
|
58
|
-
wecom-openclaw-cli install --package-name @my-scope/my-plugin
|
|
58
|
+
npx -y @wecom/wecom-openclaw-cli install --package-name @my-scope/my-plugin
|
|
59
|
+
|
|
60
|
+
# 跳过 channels 配置引导(有历史配置则自动恢复,无则跳过)
|
|
61
|
+
npx -y @wecom/wecom-openclaw-cli install --skip-config
|
|
62
|
+
|
|
63
|
+
# 强制重装并跳过配置引导
|
|
64
|
+
npx -y @wecom/wecom-openclaw-cli install --force --skip-config
|
|
59
65
|
```
|
|
60
66
|
|
|
61
67
|
| 参数 | 说明 |
|
|
@@ -63,35 +69,33 @@ wecom-openclaw-cli install --package-name @my-scope/my-plugin
|
|
|
63
69
|
| `--version <version>` | 安装指定版本的插件 |
|
|
64
70
|
| `--package-name <packageName>` | 指定 npm 包名(默认 `@wecom/wecom-openclaw-plugin`) |
|
|
65
71
|
| `--force` | 强制重新安装,清除已有插件目录和配置 |
|
|
72
|
+
| `--skip-config` | 跳过 channels 配置引导(有历史配置则自动恢复,无则跳过) |
|
|
66
73
|
|
|
67
74
|
### `update` — 更新插件
|
|
68
75
|
|
|
69
|
-
|
|
76
|
+
将已安装的企业微信插件更新到最新版本。更新完成后会自动运行 `doctor` 诊断检查。
|
|
70
77
|
|
|
71
78
|
```bash
|
|
72
|
-
wecom-openclaw-
|
|
73
|
-
|
|
74
|
-
# 更新到指定版本
|
|
75
|
-
wecom-openclaw-cli update --version 1.3.0
|
|
79
|
+
# 更新默认插件(wecom-openclaw-plugin)
|
|
80
|
+
npx -y @wecom/wecom-openclaw-cli update
|
|
76
81
|
|
|
77
|
-
#
|
|
78
|
-
wecom-openclaw-cli update
|
|
82
|
+
# 指定插件名进行更新
|
|
83
|
+
npx -y @wecom/wecom-openclaw-cli update wecom-openclaw-plugin
|
|
79
84
|
```
|
|
80
85
|
|
|
81
86
|
| 参数 | 说明 |
|
|
82
87
|
|------|------|
|
|
83
|
-
|
|
|
84
|
-
| `--package-name <packageName>` | 指定 npm 包名(默认 `@wecom/wecom-openclaw-plugin`) |
|
|
88
|
+
| `[pluginName]` | 可选,指定要更新的插件名(默认 `wecom-openclaw-plugin`) |
|
|
85
89
|
|
|
86
90
|
### `info` — 查看信息
|
|
87
91
|
|
|
88
92
|
显示 CLI 版本、OpenClaw 版本、插件版本和环境信息。
|
|
89
93
|
|
|
90
94
|
```bash
|
|
91
|
-
wecom-openclaw-cli info
|
|
95
|
+
npx -y @wecom/wecom-openclaw-cli info
|
|
92
96
|
|
|
93
97
|
# 显示完整详情(含配置状态、冲突插件检测、npm 源连通性及脱敏后的配置内容)
|
|
94
|
-
wecom-openclaw-cli info --all
|
|
98
|
+
npx -y @wecom/wecom-openclaw-cli info --all
|
|
95
99
|
```
|
|
96
100
|
|
|
97
101
|
| 参数 | 说明 |
|
|
@@ -103,10 +107,10 @@ wecom-openclaw-cli info --all
|
|
|
103
107
|
全面检查插件安装状态,包括:插件目录、依赖完整性、配置正确性、冲突插件检测和 channel 配置。
|
|
104
108
|
|
|
105
109
|
```bash
|
|
106
|
-
wecom-openclaw-cli doctor
|
|
110
|
+
npx -y @wecom/wecom-openclaw-cli doctor
|
|
107
111
|
|
|
108
112
|
# 自动修复检测到的问题
|
|
109
|
-
wecom-openclaw-cli doctor --fix
|
|
113
|
+
npx -y @wecom/wecom-openclaw-cli doctor --fix
|
|
110
114
|
```
|
|
111
115
|
|
|
112
116
|
| 参数 | 说明 |
|
|
@@ -118,9 +122,9 @@ wecom-openclaw-cli doctor --fix
|
|
|
118
122
|
### 版本查看
|
|
119
123
|
|
|
120
124
|
```bash
|
|
121
|
-
wecom-openclaw-cli -V
|
|
125
|
+
npx -y @wecom/wecom-openclaw-cli -V
|
|
122
126
|
# 或
|
|
123
|
-
wecom-openclaw-cli --cli-version
|
|
127
|
+
npx -y @wecom/wecom-openclaw-cli --cli-version
|
|
124
128
|
```
|
|
125
129
|
|
|
126
130
|
## License
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA+HhF"}
|
package/dist/commands/info.js
CHANGED
|
@@ -109,7 +109,21 @@ async function infoCommand(options = {}) {
|
|
|
109
109
|
console.log(chalk.bold(`${registry} `) + chalk.red('❌ 不可达'));
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
// 4.5
|
|
112
|
+
// 4.5 openws WebSocket 服务连通性(TCP 端口检测)
|
|
113
|
+
console.log('');
|
|
114
|
+
console.log(chalk.bold.underline('服务连通性:'));
|
|
115
|
+
const openWsReachable = await new Promise((resolve) => {
|
|
116
|
+
const net = require('net');
|
|
117
|
+
const socket = new net.Socket();
|
|
118
|
+
socket.setTimeout(5000);
|
|
119
|
+
socket.once('connect', () => { socket.destroy(); resolve(true); });
|
|
120
|
+
socket.once('timeout', () => { socket.destroy(); resolve(false); });
|
|
121
|
+
socket.once('error', () => { resolve(false); });
|
|
122
|
+
socket.connect(443, 'openws.work.weixin.qq.com');
|
|
123
|
+
});
|
|
124
|
+
console.log(chalk.bold('openws.work.weixin.qq.com ') +
|
|
125
|
+
(openWsReachable ? chalk.green('✅ 网络正常') : chalk.red('❌ 网络不通')));
|
|
126
|
+
// 4.6 配置详情(脱敏处理)
|
|
113
127
|
console.log('');
|
|
114
128
|
console.log(chalk.bold.underline('配置详情:'));
|
|
115
129
|
const sanitizedConfig = JSON.parse(JSON.stringify(config$1));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sources":["../../src/commands/info.ts"],"sourcesContent":[null],"names":["pkg","getPlatformCommand","runCommandQuiet","getPluginPackageName","getPluginVersion","os","getConfigPath","fs","config","readConfig","PLUGIN_NAME","CONFLICT_PLUGINS","NPM_REGISTRIES","CHANNEL_NAME"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA;;AAEG;AACI,eAAe,WAAW,CAAC,UAA6B,EAAE,EAAA;AAC/D,IAAA,IAAI;;AAEF,QAAA,MAAM,UAAU,GAAGA,gBAAG,CAAC,OAAO,IAAI,SAAS;AAC3C,QAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;QAGzE,IAAI,eAAe,GAAG,KAAK;AAC3B,QAAA,IAAI;AACF,YAAA,MAAM,WAAW,GAAGC,yBAAkB,CAAC,UAAU,CAAC;AAClD,YAAA,eAAe,GAAGC,sBAAe,CAAC,GAAG,WAAW,CAAA,UAAA,CAAY,CAAC;QAC/D;QAAE,OAAO,CAAC,EAAE;;QAEZ;QACA,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;aACrB,eAAe,KAAK;AACnB,kBAAE,KAAK,CAAC,KAAK,CAAC,eAAe;kBAC3B,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAClC;;QAGD,MAAM,iBAAiB,GAAG,CAAC,MAAMC,2BAAoB,EAAE,KAAK,KAAK;QACjE,MAAM,aAAa,GAAG,CAAC,MAAMC,uBAAgB,EAAE,KAAK,KAAK;QACzD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC;aAClC,aAAa,KAAK;AACjB,kBAAE,KAAK,CAAC,KAAK,CAAC,aAAa;kBACzB,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAChC;QACD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;aAC3B,iBAAiB,KAAK;AACrB,kBAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB;kBAC7B,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CACpC;;AAGD,QAAA,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;AACf,QAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YAChB,KAAK,CAAC,KAAK,CAAC,CAAA,EAAGC,aAAE,CAAC,QAAQ,EAAE,CAAA,CAAA,EAAIA,aAAE,CAAC,OAAO,EAAE,KAAKA,aAAE,CAAC,IAAI,EAAE,CAAA,CAAA,CAAG,CAAC,CACjE;AACD,QAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;AACnB,YAAA,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC,CACrE;;AAGD,QAAA,IAAI,OAAO,CAAC,GAAG,EAAE;;AAEf,YAAA,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;AACf,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC1C,YAAA,MAAM,UAAU,GAAGC,oBAAa,EAAE;YAClC,MAAM,YAAY,GAAG,MAAMC,aAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YACpD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;AAClB,iBAAC;sBACG,KAAK,CAAC,KAAK,CAAC,CAAA,IAAA,EAAO,UAAU,GAAG;sBAChC,KAAK,CAAC,GAAG,CAAC,CAAA,KAAA,EAAQ,UAAU,CAAA,CAAA,CAAG,CAAC,CAAC,CACxC;;AAGD,YAAA,MAAMC,QAAM,GAAG,MAAMC,iBAAU,EAAE;YACjC,MAAM,WAAW,GAAGD,QAAM,CAAC,OAAO,EAAE,OAAO,GAAGE,qBAAW,CAAC;AAC1D,YAAA,MAAM,aAAa,GAAG,WAAW,EAAE,OAAO,KAAK,IAAI;YACnD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;iBACjB,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAC9D;;AAGD,YAAA,KAAK,MAAM,IAAI,IAAIC,0BAAgB,EAAE;gBACnC,MAAM,KAAK,GAAGH,QAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;AAC7C,gBAAA,IAAI,CAAC,KAAK;AAAE,oBAAA,SAAS;AACrB,gBAAA,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI;gBACtC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAA,EAAA,CAAI,CAAC;qBACzB,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CACvD;YACH;;;;AAKA,YAAA,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;AACf,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AAC9C,YAAA,KAAK,MAAM,QAAQ,IAAII,wBAAc,EAAE;AACrC,gBAAA,IAAI;AACF,oBAAAV,sBAAe,CAAC,CAAA,wBAAA,EAA2B,QAAQ,CAAA,QAAA,CAAU,CAAC;AAC9D,oBAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA,EAAG,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/D;AAAE,gBAAA,MAAM;AACN,oBAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA,EAAG,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC9D;YACF;;AAGA,YAAA,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;AACf,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC1C,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAACM,QAAM,CAAC,CAAC;YAC1D,IAAI,eAAe,CAAC,QAAQ,GAAGK,sBAAY,CAAC,EAAE,MAAM,EAAE;gBACpD,eAAe,CAAC,QAAQ,CAACA,sBAAY,CAAC,CAAC,MAAM,GAAG,QAAQ;YAC1D;AACA,YAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACvD;IACF;IAAE,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IACrF;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"info.js","sources":["../../src/commands/info.ts"],"sourcesContent":[null],"names":["pkg","getPlatformCommand","runCommandQuiet","getPluginPackageName","getPluginVersion","os","getConfigPath","fs","config","readConfig","PLUGIN_NAME","CONFLICT_PLUGINS","NPM_REGISTRIES","CHANNEL_NAME"],"mappings":"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"}
|
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* install 命令
|
|
3
|
+
*
|
|
4
|
+
* 流程概览:
|
|
5
|
+
* ┌─ force 模式 ─────────────────────────────────────┐
|
|
6
|
+
* │ 1. 禁用冲突插件并清理 plugins 配置 │
|
|
7
|
+
* │ 2. 移除冲突插件目录和当前插件目录 │
|
|
8
|
+
* │ 3. 备份并移除 channels.wecom → 安装插件 → 处理配置还原 │
|
|
9
|
+
* └──────────────────────────────────────────────────┘
|
|
10
|
+
* ┌─ 已安装(更新模式)──────────────────────────────────┐
|
|
11
|
+
* │ 1. 备份并移除 channels.wecom │
|
|
12
|
+
* │ 2. 执行更新 │
|
|
13
|
+
* │ 3. 处理配置还原 │
|
|
14
|
+
* └──────────────────────────────────────────────────┘
|
|
15
|
+
* ┌─ 全新安装 ───────────────────────────────────────────┐
|
|
16
|
+
* │ 1. 校验版本号 / 检查 openclaw 版本 │
|
|
17
|
+
* │ 2. 禁用冲突插件并移除冲突目录 │
|
|
18
|
+
* │ 3. 备份并移除 channels.wecom → 安装插件 → 处理配置还原 │
|
|
19
|
+
* └──────────────────────────────────────────────────┘
|
|
3
20
|
*/
|
|
4
21
|
export declare function installCommand(options: {
|
|
5
22
|
version?: string;
|
|
6
23
|
packageName?: string;
|
|
7
24
|
force?: boolean;
|
|
25
|
+
skipConfig?: boolean;
|
|
8
26
|
}): Promise<void>;
|
|
9
27
|
//# sourceMappingURL=install.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AA+HA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2I9I"}
|
package/dist/commands/install.js
CHANGED
|
@@ -31,133 +31,223 @@ var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs);
|
|
|
31
31
|
var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
|
-
*
|
|
34
|
+
* 备份并移除 channels.wecom 配置
|
|
35
|
+
* @returns 如果之前有完整配置(botId 和 secret 都有),返回备份;否则返回 null
|
|
35
36
|
*/
|
|
36
|
-
async function
|
|
37
|
+
async function backupAndRemoveChannelConfig() {
|
|
38
|
+
const config$1 = await config.readConfig();
|
|
39
|
+
let backup = null;
|
|
40
|
+
if (config$1.channels?.[constants.CHANNEL_NAME]) {
|
|
41
|
+
const channelConfig = config$1.channels[constants.CHANNEL_NAME];
|
|
42
|
+
// 只有 botId 和 secret 都有时才备份
|
|
43
|
+
if (channelConfig.botId && channelConfig.secret) {
|
|
44
|
+
backup = { ...channelConfig };
|
|
45
|
+
console.log(chalk.blue(`已备份 channels.${constants.CHANNEL_NAME} 配置。`));
|
|
46
|
+
}
|
|
47
|
+
// 无论是否备份成功,都删除 channels.wecom 配置
|
|
48
|
+
delete config$1.channels[constants.CHANNEL_NAME];
|
|
49
|
+
console.log(chalk.blue(`已移除 channels.${constants.CHANNEL_NAME} 配置。`));
|
|
50
|
+
await config.writeConfig(config$1);
|
|
51
|
+
}
|
|
52
|
+
return backup;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* 安装后:处理 channels.wecom 配置还原或新建
|
|
56
|
+
* @param backup 之前备份的配置(可能为 null)
|
|
57
|
+
* @param skipConfig 是否跳过配置引导
|
|
58
|
+
*/
|
|
59
|
+
async function handleChannelConfigAfterInstall(backup, skipConfig) {
|
|
60
|
+
const config$1 = await config.readConfig();
|
|
61
|
+
if (!config$1.channels)
|
|
62
|
+
config$1.channels = {};
|
|
63
|
+
if (backup) {
|
|
64
|
+
// 之前有完整配置
|
|
65
|
+
if (skipConfig) {
|
|
66
|
+
// --skip-config:默认恢复
|
|
67
|
+
config$1.channels[constants.CHANNEL_NAME] = backup;
|
|
68
|
+
console.log(chalk.green(`已自动恢复 channels.${constants.CHANNEL_NAME} 配置。`));
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
// 未指定 --skip-config:引导用户选择是否恢复
|
|
72
|
+
const restore = await prompts.promptRestoreChannelConfig(backup.botId);
|
|
73
|
+
if (restore) {
|
|
74
|
+
config$1.channels[constants.CHANNEL_NAME] = backup;
|
|
75
|
+
console.log(chalk.green(`已恢复 channels.${constants.CHANNEL_NAME} 配置。`));
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
// 用户不恢复,走新建引导
|
|
79
|
+
await configureNewChannel(config$1);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
// 之前没有完整配置
|
|
85
|
+
if (skipConfig) {
|
|
86
|
+
// --skip-config:不出引导,跳过
|
|
87
|
+
console.log(chalk.yellow(`跳过 channels.${constants.CHANNEL_NAME} 配置(无历史配置可恢复)。`));
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
// 未指定 --skip-config:出引导配置
|
|
91
|
+
await configureNewChannel(config$1);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// 更新 plugins.allow
|
|
95
|
+
if (!config$1.plugins)
|
|
96
|
+
config$1.plugins = {};
|
|
97
|
+
if (!config$1.plugins.allow)
|
|
98
|
+
config$1.plugins.allow = [];
|
|
99
|
+
if (!config$1.plugins.allow.includes(constants.PLUGIN_NAME)) {
|
|
100
|
+
config$1.plugins.allow.push(constants.PLUGIN_NAME);
|
|
101
|
+
}
|
|
102
|
+
await config.writeConfig(config$1);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* 引导用户配置新的 channel
|
|
106
|
+
*/
|
|
107
|
+
async function configureNewChannel(config) {
|
|
37
108
|
console.log(chalk.blue('正在配置 channels...'));
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
newConfig.channels[constants.CHANNEL_NAME] = {
|
|
109
|
+
if (!config.channels)
|
|
110
|
+
config.channels = {};
|
|
111
|
+
if (!config.channels[constants.CHANNEL_NAME]) {
|
|
112
|
+
config.channels[constants.CHANNEL_NAME] = {
|
|
43
113
|
enabled: true,
|
|
44
114
|
botId: '',
|
|
45
115
|
secret: '',
|
|
46
|
-
dmPolicy: '
|
|
116
|
+
dmPolicy: 'open',
|
|
47
117
|
allowFrom: [],
|
|
48
118
|
};
|
|
49
119
|
}
|
|
50
120
|
// 处理 botId
|
|
51
|
-
if (
|
|
52
|
-
const confirm = await prompts.promptConfirmBotId(
|
|
121
|
+
if (config.channels[constants.CHANNEL_NAME].botId) {
|
|
122
|
+
const confirm = await prompts.promptConfirmBotId(config.channels[constants.CHANNEL_NAME].botId);
|
|
53
123
|
if (!confirm) {
|
|
54
|
-
|
|
124
|
+
config.channels[constants.CHANNEL_NAME].botId = await prompts.promptBotId();
|
|
55
125
|
// 如果 botId 变更,清除旧的 secret
|
|
56
|
-
delete
|
|
126
|
+
delete config.channels[constants.CHANNEL_NAME].secret;
|
|
57
127
|
}
|
|
58
128
|
}
|
|
59
129
|
else {
|
|
60
|
-
|
|
130
|
+
config.channels[constants.CHANNEL_NAME].botId = await prompts.promptBotId();
|
|
61
131
|
}
|
|
62
132
|
// 处理 secret
|
|
63
|
-
if (!
|
|
64
|
-
|
|
133
|
+
if (!config.channels[constants.CHANNEL_NAME].secret) {
|
|
134
|
+
config.channels[constants.CHANNEL_NAME].secret = await prompts.promptSecret();
|
|
65
135
|
}
|
|
66
|
-
// 更新 plugins.allow
|
|
67
|
-
if (!newConfig.plugins)
|
|
68
|
-
newConfig.plugins = {};
|
|
69
|
-
if (!newConfig.plugins.allow)
|
|
70
|
-
newConfig.plugins.allow = [];
|
|
71
|
-
if (!newConfig.plugins.allow.includes(constants.PLUGIN_NAME)) {
|
|
72
|
-
newConfig.plugins.allow.push(constants.PLUGIN_NAME);
|
|
73
|
-
}
|
|
74
|
-
await config.writeConfig(newConfig);
|
|
75
136
|
}
|
|
76
137
|
/**
|
|
77
138
|
* install 命令
|
|
139
|
+
*
|
|
140
|
+
* 流程概览:
|
|
141
|
+
* ┌─ force 模式 ─────────────────────────────────────┐
|
|
142
|
+
* │ 1. 禁用冲突插件并清理 plugins 配置 │
|
|
143
|
+
* │ 2. 移除冲突插件目录和当前插件目录 │
|
|
144
|
+
* │ 3. 备份并移除 channels.wecom → 安装插件 → 处理配置还原 │
|
|
145
|
+
* └──────────────────────────────────────────────────┘
|
|
146
|
+
* ┌─ 已安装(更新模式)──────────────────────────────────┐
|
|
147
|
+
* │ 1. 备份并移除 channels.wecom │
|
|
148
|
+
* │ 2. 执行更新 │
|
|
149
|
+
* │ 3. 处理配置还原 │
|
|
150
|
+
* └──────────────────────────────────────────────────┘
|
|
151
|
+
* ┌─ 全新安装 ───────────────────────────────────────────┐
|
|
152
|
+
* │ 1. 校验版本号 / 检查 openclaw 版本 │
|
|
153
|
+
* │ 2. 禁用冲突插件并移除冲突目录 │
|
|
154
|
+
* │ 3. 备份并移除 channels.wecom → 安装插件 → 处理配置还原 │
|
|
155
|
+
* └──────────────────────────────────────────────────┘
|
|
78
156
|
*/
|
|
79
157
|
async function installCommand(options) {
|
|
80
158
|
console.log(chalk.blue('开始安装...'));
|
|
81
|
-
//
|
|
159
|
+
// =============================================
|
|
160
|
+
// 分支一:force 模式 — 清理一切,重新安装
|
|
161
|
+
// =============================================
|
|
82
162
|
if (options.force) {
|
|
83
163
|
console.log(chalk.yellow('强制安装模式,正在清理已有安装...'));
|
|
84
|
-
//
|
|
164
|
+
// 步骤 1:禁用冲突插件并清理 plugins 配置
|
|
85
165
|
console.log(chalk.blue('正在禁用冲突插件并清理配置...'));
|
|
86
166
|
const currentConfig = await config.readConfig();
|
|
87
167
|
const cleanedConfig = await plugin.disableConflictPlugins(currentConfig);
|
|
88
|
-
//
|
|
168
|
+
// 移除插件本身的 plugins 配置(保留 channels,由后面统一处理)
|
|
89
169
|
plugin.removePluginConfig(cleanedConfig, constants.PLUGIN_NAME);
|
|
90
170
|
await config.writeConfig(cleanedConfig);
|
|
91
|
-
//
|
|
171
|
+
// 步骤 2:移除冲突插件目录和当前插件目录
|
|
92
172
|
for (const conflictPath of constants.CONFLICT_PLUGIN_PATHS) {
|
|
93
173
|
if (await fs__namespace.pathExists(conflictPath)) {
|
|
94
174
|
console.log(chalk.blue(`正在移除冲突的插件目录: ${conflictPath}...`));
|
|
95
175
|
await fs__namespace.remove(conflictPath);
|
|
96
176
|
}
|
|
97
177
|
}
|
|
98
|
-
// 移除 wecom-openclaw-plugin 目录
|
|
99
178
|
if (await fs__namespace.pathExists(constants.PLUGIN_PATH)) {
|
|
100
179
|
console.log(chalk.blue(`正在移除插件目录: ${constants.PLUGIN_PATH}...`));
|
|
101
180
|
await fs__namespace.remove(constants.PLUGIN_PATH);
|
|
102
181
|
}
|
|
182
|
+
// 步骤 3:备份并移除 channels.wecom → 安装插件 → 处理配置还原
|
|
183
|
+
const channelBackup = await backupAndRemoveChannelConfig();
|
|
184
|
+
console.log(chalk.blue('正在安装官方 WeCom 插件...'));
|
|
185
|
+
if (!plugin.installPluginFromRegistry(options.version, options.packageName)) {
|
|
186
|
+
process.exit(1);
|
|
187
|
+
}
|
|
188
|
+
await handleChannelConfigAfterInstall(channelBackup, !!options.skipConfig);
|
|
189
|
+
// =============================================
|
|
190
|
+
// 分支二:已安装 — 走更新流程
|
|
191
|
+
// =============================================
|
|
103
192
|
}
|
|
104
193
|
else if (await fs__namespace.pathExists(constants.PLUGIN_PATH)) {
|
|
105
|
-
// 1. 非 force 模式下检查已有安装,走更新流程
|
|
106
194
|
console.log(chalk.yellow('插件已安装,开始更新流程...'));
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
console.log(chalk.green('更新完成!'));
|
|
115
|
-
}
|
|
195
|
+
// 步骤 1:备份并移除 channels.wecom
|
|
196
|
+
const channelBackup = await backupAndRemoveChannelConfig();
|
|
197
|
+
// 步骤 2:执行更新
|
|
198
|
+
const newVersion = await update.updateCommand(undefined, true);
|
|
199
|
+
// 步骤 3:处理配置还原
|
|
200
|
+
await handleChannelConfigAfterInstall(channelBackup, !!options.skipConfig);
|
|
201
|
+
console.log(chalk.green(newVersion ? `更新完成!新版本: ${newVersion}` : '更新完成!'));
|
|
116
202
|
return;
|
|
203
|
+
// =============================================
|
|
204
|
+
// 分支三:全新安装
|
|
205
|
+
// =============================================
|
|
117
206
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
123
|
-
// 3. 检查 openclaw 版本
|
|
124
|
-
try {
|
|
125
|
-
const openclawCmd = system.getPlatformCommand('openclaw');
|
|
126
|
-
const version = system.runCommandQuiet(`${openclawCmd} --version`);
|
|
127
|
-
if (plugin.compareVersions(version, '2026.2.13') < 0) {
|
|
128
|
-
console.error(chalk.red(`错误: OpenClaw 版本不匹配,需要 >= 2026.2.13,当前版本 ${version},请升级: openclaw update。`));
|
|
207
|
+
else {
|
|
208
|
+
// 步骤 1:校验版本号参数
|
|
209
|
+
if (options.version && !system.validateVersion(options.version)) {
|
|
210
|
+
console.error(chalk.red('错误: 版本号格式不合法,只允许数字、点、连字符和字母。'));
|
|
129
211
|
process.exit(1);
|
|
130
212
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
213
|
+
// 步骤 2:检查 openclaw 版本
|
|
214
|
+
try {
|
|
215
|
+
const openclawCmd = system.getPlatformCommand('openclaw');
|
|
216
|
+
const version = system.runCommandQuiet(`${openclawCmd} --version`);
|
|
217
|
+
if (plugin.compareVersions(version, '2026.2.13') < 0) {
|
|
218
|
+
console.error(chalk.red(`错误: OpenClaw 版本不匹配,需要 >= 2026.2.13,当前版本 ${version},请升级: openclaw update。`));
|
|
219
|
+
process.exit(1);
|
|
220
|
+
}
|
|
137
221
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
222
|
+
catch (error) {
|
|
223
|
+
const isWin = process.platform === 'win32';
|
|
224
|
+
console.error(chalk.red('错误: OpenClaw 未安装或未添加到 PATH 环境变量。 https://openclaw.ai/'));
|
|
225
|
+
if (isWin) {
|
|
226
|
+
console.error(chalk.yellow('提示: Windows 用户请确认已将 OpenClaw 安装目录添加到系统 PATH 中,安装后可能需要重启终端。'));
|
|
227
|
+
}
|
|
228
|
+
process.exit(1);
|
|
229
|
+
}
|
|
230
|
+
// 步骤 3:禁用冲突插件
|
|
142
231
|
console.log(chalk.blue('正在禁用冲突插件...'));
|
|
143
232
|
await plugin.disableConflictPlugins();
|
|
144
|
-
//
|
|
233
|
+
// 步骤 4:移除冲突目录
|
|
145
234
|
for (const conflictPath of constants.CONFLICT_PLUGIN_PATHS) {
|
|
146
235
|
if (await fs__namespace.pathExists(conflictPath)) {
|
|
147
236
|
console.log(chalk.blue(`正在移除冲突的插件目录: ${conflictPath}...`));
|
|
148
237
|
await fs__namespace.remove(conflictPath);
|
|
149
238
|
}
|
|
150
239
|
}
|
|
240
|
+
// 步骤 5:备份并移除 channels.wecom → 安装插件 → 处理配置还原
|
|
241
|
+
const channelBackup = await backupAndRemoveChannelConfig();
|
|
242
|
+
console.log(chalk.blue('正在安装官方 WeCom 插件...'));
|
|
243
|
+
if (!plugin.installPluginFromRegistry(options.version, options.packageName)) {
|
|
244
|
+
process.exit(1);
|
|
245
|
+
}
|
|
246
|
+
await handleChannelConfigAfterInstall(channelBackup, !!options.skipConfig);
|
|
151
247
|
}
|
|
152
|
-
//
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
if (!installed) {
|
|
156
|
-
process.exit(1);
|
|
157
|
-
}
|
|
158
|
-
// 7. 配置 channels
|
|
159
|
-
await ensureChannelConfig();
|
|
160
|
-
// 8. 最终验证
|
|
248
|
+
// =============================================
|
|
249
|
+
// 公共步骤:验证安装结果 & 重启网关
|
|
250
|
+
// =============================================
|
|
161
251
|
console.log(chalk.blue('正在验证安装...'));
|
|
162
252
|
const finalConfig = await config.readConfig();
|
|
163
253
|
const checks = [
|
|
@@ -165,7 +255,17 @@ async function installCommand(options) {
|
|
|
165
255
|
await fs__namespace.pathExists(path__namespace.join(constants.PLUGIN_PATH, 'node_modules')),
|
|
166
256
|
];
|
|
167
257
|
if (checks.every(Boolean)) {
|
|
168
|
-
console.log(chalk.green('
|
|
258
|
+
console.log(chalk.green('安装完成!'));
|
|
259
|
+
// 重启网关
|
|
260
|
+
console.log(chalk.blue('正在重启网关...'));
|
|
261
|
+
try {
|
|
262
|
+
const openclawCmd = system.getPlatformCommand('openclaw');
|
|
263
|
+
system.runCommand(`${openclawCmd} gateway restart`);
|
|
264
|
+
console.log(chalk.green('网关重启成功!'));
|
|
265
|
+
}
|
|
266
|
+
catch (error) {
|
|
267
|
+
console.warn(chalk.yellow('网关重启失败,请手动执行: openclaw gateway restart'));
|
|
268
|
+
}
|
|
169
269
|
}
|
|
170
270
|
else {
|
|
171
271
|
console.warn(chalk.yellow('安装已完成,但部分检查未通过。请运行 "doctor" 命令进行诊断。'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sources":["../../src/commands/install.ts"],"sourcesContent":[null],"names":["readConfig","CHANNEL_NAME","
|
|
1
|
+
{"version":3,"file":"install.js","sources":["../../src/commands/install.ts"],"sourcesContent":[null],"names":["config","readConfig","CHANNEL_NAME","writeConfig","promptRestoreChannelConfig","PLUGIN_NAME","promptConfirmBotId","promptBotId","promptSecret","disableConflictPlugins","removePluginConfig","CONFLICT_PLUGIN_PATHS","fs","PLUGIN_PATH","installPluginFromRegistry","updateCommand","validateVersion","getPlatformCommand","runCommandQuiet","compareVersions","path","runCommand"],"mappings":"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"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* update 命令
|
|
3
3
|
*/
|
|
4
|
-
export declare function updateCommand(
|
|
5
|
-
version?: string;
|
|
6
|
-
packageName?: string;
|
|
7
|
-
}, silent?: boolean): Promise<string | undefined>;
|
|
4
|
+
export declare function updateCommand(pluginName?: string, silent?: boolean): Promise<string | undefined>;
|
|
8
5
|
//# sourceMappingURL=update.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAsB,aAAa,CACjC,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8B7B"}
|
package/dist/commands/update.js
CHANGED
|
@@ -1,23 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
|
-
var system = require('../utils/system.js');
|
|
5
4
|
var doctor = require('./doctor.js');
|
|
6
5
|
var plugin = require('../utils/plugin.js');
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* update 命令
|
|
10
9
|
*/
|
|
11
|
-
async function updateCommand(
|
|
10
|
+
async function updateCommand(pluginName, silent = false) {
|
|
12
11
|
console.log(chalk.blue('开始更新流程...'));
|
|
13
|
-
// 1.
|
|
14
|
-
if (options.version && !system.validateVersion(options.version)) {
|
|
15
|
-
console.error(chalk.red('错误: 版本号格式不合法,只允许数字、点、连字符和字母。'));
|
|
16
|
-
process.exit(1);
|
|
17
|
-
}
|
|
18
|
-
// 2. 更新插件
|
|
12
|
+
// 1. 更新插件
|
|
19
13
|
console.log(chalk.blue('正在更新插件...'));
|
|
20
|
-
const installed = plugin.updatePluginFromRegistry(
|
|
14
|
+
const installed = plugin.updatePluginFromRegistry(pluginName);
|
|
21
15
|
if (!installed) {
|
|
22
16
|
process.exit(1);
|
|
23
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sources":["../../src/commands/update.ts"],"sourcesContent":[null],"names":["
|
|
1
|
+
{"version":3,"file":"update.js","sources":["../../src/commands/update.ts"],"sourcesContent":[null],"names":["updatePluginFromRegistry","doctorCommand","getPluginVersion"],"mappings":";;;;;;AAIA;;AAEG;AACI,eAAe,aAAa,CACjC,UAAmB,EACnB,SAAkB,KAAK,EAAA;IAEvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;IAGpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpC,IAAA,MAAM,SAAS,GAAGA,+BAAwB,CAAC,UAAU,CAAC;IACtD,IAAI,CAAC,SAAS,EAAE;AACd,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;;IAGA,MAAMC,oBAAa,EAAE;;AAGrB,IAAA,MAAM,OAAO,GAAG,MAAMC,uBAAgB,EAAE;IACxC,IAAI,OAAO,EAAE;QACX,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA,UAAA,EAAa,OAAO,CAAA,CAAE,CAAC,CAAC;QAClD;IACF;SAAO;QACL,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,MAAM,CACV,sCAAsC,CACvC,CACF;QACH;IACF;AAEA,IAAA,OAAO,OAAO;AAChB;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -24,6 +24,7 @@ program
|
|
|
24
24
|
.option('--version <version>', '安装指定版本的插件')
|
|
25
25
|
.option('--package-name <packageName>', '指定 npm 包名(默认 @wecom/wecom-openclaw-plugin)')
|
|
26
26
|
.option('--force', '强制重新安装,清除已有插件和配置')
|
|
27
|
+
.option('--skip-config', '跳过 channels 配置引导(有历史配置则自动恢复,无则跳过)')
|
|
27
28
|
.action(async (options) => {
|
|
28
29
|
await install.installCommand(options);
|
|
29
30
|
});
|
|
@@ -45,12 +46,10 @@ program
|
|
|
45
46
|
}
|
|
46
47
|
});
|
|
47
48
|
program
|
|
48
|
-
.command('update')
|
|
49
|
+
.command('update [pluginName]')
|
|
49
50
|
.description('更新企业微信官方插件')
|
|
50
|
-
.
|
|
51
|
-
.
|
|
52
|
-
.action(async (options) => {
|
|
53
|
-
await update.updateCommand(options);
|
|
51
|
+
.action(async (pluginName) => {
|
|
52
|
+
await update.updateCommand(pluginName);
|
|
54
53
|
});
|
|
55
54
|
program.parse(process.argv);
|
|
56
55
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":["Command","pkg","installCommand","infoCommand","doctorCommand","updateCommand"],"mappings":";;;;;;;;;;AAOA;AACA,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,KAAI;AACvC,IAAA,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC;AAC7B,IAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,IAAIA,iBAAO,EAAE;AAE7B;KACG,IAAI,CAAC,oBAAoB;KACzB,WAAW,CAAC,sBAAsB;AAClC,KAAA,OAAO,CAACC,gBAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC;AAE5C;KACG,OAAO,CAAC,SAAS;KACjB,WAAW,CAAC,eAAe;AAC3B,KAAA,MAAM,CAAC,qBAAqB,EAAE,WAAW;AACzC,KAAA,MAAM,CAAC,8BAA8B,EAAE,4CAA4C;AACnF,KAAA,MAAM,CAAC,SAAS,EAAE,kBAAkB;AACpC,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAMC,sBAAc,CAAC,OAAO,CAAC;AAC/B,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,MAAM;KACd,WAAW,CAAC,QAAQ;AACpB,KAAA,MAAM,CAAC,OAAO,EAAE,eAAe;AAC/B,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAMC,gBAAW,CAAC,OAAO,CAAC;AAC5B,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,QAAQ;KAChB,WAAW,CAAC,QAAQ;AACpB,KAAA,MAAM,CAAC,OAAO,EAAE,UAAU;AAC1B,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAM,MAAM,GAAG,MAAMC,oBAAa,CAAC,OAAO,CAAC;IAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;AAC3B,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACF,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":["Command","pkg","installCommand","infoCommand","doctorCommand","updateCommand"],"mappings":";;;;;;;;;;AAOA;AACA,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,KAAI;AACvC,IAAA,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC;AAC7B,IAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,IAAIA,iBAAO,EAAE;AAE7B;KACG,IAAI,CAAC,oBAAoB;KACzB,WAAW,CAAC,sBAAsB;AAClC,KAAA,OAAO,CAACC,gBAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC;AAE5C;KACG,OAAO,CAAC,SAAS;KACjB,WAAW,CAAC,eAAe;AAC3B,KAAA,MAAM,CAAC,qBAAqB,EAAE,WAAW;AACzC,KAAA,MAAM,CAAC,8BAA8B,EAAE,4CAA4C;AACnF,KAAA,MAAM,CAAC,SAAS,EAAE,kBAAkB;AACpC,KAAA,MAAM,CAAC,eAAe,EAAE,mCAAmC;AAC3D,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAMC,sBAAc,CAAC,OAAO,CAAC;AAC/B,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,MAAM;KACd,WAAW,CAAC,QAAQ;AACpB,KAAA,MAAM,CAAC,OAAO,EAAE,eAAe;AAC/B,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAMC,gBAAW,CAAC,OAAO,CAAC;AAC5B,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,QAAQ;KAChB,WAAW,CAAC,QAAQ;AACpB,KAAA,MAAM,CAAC,OAAO,EAAE,UAAU;AAC1B,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAM,MAAM,GAAG,MAAMC,oBAAa,CAAC,OAAO,CAAC;IAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;AAC3B,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACF,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,qBAAqB;KAC7B,WAAW,CAAC,YAAY;AACxB,KAAA,MAAM,CAAC,OAAO,UAAU,KAAI;AAC3B,IAAA,MAAMC,oBAAa,CAAC,UAAU,CAAC;AACjC,CAAC,CAAC;AAEJ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;;"}
|
package/dist/package.json.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var name = "@wecom/wecom-openclaw-cli";
|
|
6
|
-
var version = "1.0.
|
|
6
|
+
var version = "1.0.12";
|
|
7
7
|
var description = "CLI for managing WeCom official plugin for OpenClaw";
|
|
8
8
|
var main = "dist/index.js";
|
|
9
9
|
var type = "commonjs";
|
package/dist/utils/constants.js
CHANGED
|
@@ -38,8 +38,8 @@ const CONFLICT_PLUGINS = ['wecom', 'openclaw-wecom', 'wecom-openclaw'];
|
|
|
38
38
|
const CONFLICT_PLUGIN_PATHS = CONFLICT_PLUGINS.map(name => path__namespace.join(EXTENSIONS_DIR, name));
|
|
39
39
|
/** npm 源列表(按优先级排序,第一个失败后依次尝试后续源) */
|
|
40
40
|
const NPM_REGISTRIES = [
|
|
41
|
-
'http://mirrors.cloud.tencent.com/npm/',
|
|
42
41
|
'https://registry.npmjs.org/',
|
|
42
|
+
'http://mirrors.cloud.tencent.com/npm/',
|
|
43
43
|
];
|
|
44
44
|
|
|
45
45
|
exports.CHANNEL_NAME = CHANNEL_NAME;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../src/utils/constants.ts"],"sourcesContent":[null],"names":["getExtensionsDir","path"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACO,MAAM,cAAc,GAAGA,uBAAgB;AAE9C;AACO,MAAM,WAAW,GAAG;AAE3B;AACO,MAAM,YAAY,GAAG;AAE5B;AACO,MAAM,WAAW,GAAGC,eAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW;AAEhE;AACO,MAAM,oBAAoB,GAAG;AAEpC;AACO,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB;AAE5E;MACa,qBAAqB,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAIA,eAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;AAEjG;AACO,MAAM,cAAc,GAAG;IAC5B,
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../src/utils/constants.ts"],"sourcesContent":[null],"names":["getExtensionsDir","path"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACO,MAAM,cAAc,GAAGA,uBAAgB;AAE9C;AACO,MAAM,WAAW,GAAG;AAE3B;AACO,MAAM,YAAY,GAAG;AAE5B;AACO,MAAM,WAAW,GAAGC,eAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW;AAEhE;AACO,MAAM,oBAAoB,GAAG;AAEpC;AACO,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB;AAE5E;MACa,qBAAqB,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAIA,eAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;AAEjG;AACO,MAAM,cAAc,GAAG;IAC5B,6BAA6B;IAC7B,uCAAuC;;;;;;;;;;;;"}
|
package/dist/utils/plugin.d.ts
CHANGED
|
@@ -10,9 +10,10 @@ export declare function compareVersions(v1: string, v2: string): number;
|
|
|
10
10
|
export declare function installPluginFromRegistry(version?: string, packageName?: string): boolean;
|
|
11
11
|
/**
|
|
12
12
|
* 从多个 npm 源尝试更新插件(插件已安装时使用)
|
|
13
|
+
* @param pluginName 插件名(默认使用 PLUGIN_NAME)
|
|
13
14
|
* @returns 是否更新成功
|
|
14
15
|
*/
|
|
15
|
-
export declare function updatePluginFromRegistry(
|
|
16
|
+
export declare function updatePluginFromRegistry(pluginName?: string): boolean;
|
|
16
17
|
/**
|
|
17
18
|
* 获取已安装插件的版本号
|
|
18
19
|
* @returns 版本号字符串,未安装或读取失败时返回 undefined
|
|
@@ -29,5 +30,7 @@ export declare function disableConflictPlugins(config?: any): Promise<any>;
|
|
|
29
30
|
/**
|
|
30
31
|
* 移除指定插件在 plugins 中的所有配置(entries / installs / allow)
|
|
31
32
|
*/
|
|
32
|
-
export declare function removePluginConfig(config: any, pluginName: string
|
|
33
|
+
export declare function removePluginConfig(config: any, pluginName: string, options?: {
|
|
34
|
+
keepChannelConfig?: boolean;
|
|
35
|
+
}): void;
|
|
33
36
|
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/utils/plugin.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAU9D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CA2BzF;AAED
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/utils/plugin.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAU9D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CA2BzF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAuBrE;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAWpE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAWxE;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAkCvE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAiCnH"}
|
package/dist/utils/plugin.js
CHANGED
|
@@ -84,19 +84,17 @@ function installPluginFromRegistry(version, packageName) {
|
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
86
|
* 从多个 npm 源尝试更新插件(插件已安装时使用)
|
|
87
|
+
* @param pluginName 插件名(默认使用 PLUGIN_NAME)
|
|
87
88
|
* @returns 是否更新成功
|
|
88
89
|
*/
|
|
89
|
-
function updatePluginFromRegistry(
|
|
90
|
-
const
|
|
91
|
-
const packageIdentifier = version
|
|
92
|
-
? `${resolvedPackageName}@${version}`
|
|
93
|
-
: resolvedPackageName;
|
|
90
|
+
function updatePluginFromRegistry(pluginName) {
|
|
91
|
+
const resolvedPluginName = pluginName || constants.PLUGIN_NAME;
|
|
94
92
|
const openclawCmd = system.getPlatformCommand('openclaw');
|
|
95
93
|
for (let i = 0; i < constants.NPM_REGISTRIES.length; i++) {
|
|
96
94
|
const registry = constants.NPM_REGISTRIES[i];
|
|
97
95
|
try {
|
|
98
|
-
console.log(chalk.blue(`正在从 ${registry} 更新插件 ${
|
|
99
|
-
system.runCommandWithEnv(`${openclawCmd} plugins update ${
|
|
96
|
+
console.log(chalk.blue(`正在从 ${registry} 更新插件 ${resolvedPluginName}...`));
|
|
97
|
+
system.runCommandWithEnv(`${openclawCmd} plugins update ${resolvedPluginName}`, { npm_config_registry: registry });
|
|
100
98
|
return true;
|
|
101
99
|
}
|
|
102
100
|
catch (error) {
|
|
@@ -180,7 +178,7 @@ async function disableConflictPlugins(config$1) {
|
|
|
180
178
|
/**
|
|
181
179
|
* 移除指定插件在 plugins 中的所有配置(entries / installs / allow)
|
|
182
180
|
*/
|
|
183
|
-
function removePluginConfig(config, pluginName) {
|
|
181
|
+
function removePluginConfig(config, pluginName, options) {
|
|
184
182
|
if (!config.plugins)
|
|
185
183
|
return;
|
|
186
184
|
// 从 entries 中移除
|
|
@@ -200,10 +198,9 @@ function removePluginConfig(config, pluginName) {
|
|
|
200
198
|
if (Array.isArray(config.plugins.allow)) {
|
|
201
199
|
config.plugins.allow = config.plugins.allow.filter((name) => name !== pluginName);
|
|
202
200
|
}
|
|
203
|
-
// 清除 channels
|
|
201
|
+
// 清除 channels 配置(如果指定了 keepChannelConfig 则保留)
|
|
204
202
|
if (config.channels?.[constants.CHANNEL_NAME]) {
|
|
205
|
-
|
|
206
|
-
console.log(chalk.blue(`已清除 channels.${constants.CHANNEL_NAME} 配置。`));
|
|
203
|
+
console.log(chalk.blue(`已保留 channels.${constants.CHANNEL_NAME} 配置。`));
|
|
207
204
|
}
|
|
208
205
|
}
|
|
209
206
|
|
package/dist/utils/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["../../src/utils/plugin.ts"],"sourcesContent":[null],"names":["DEFAULT_PACKAGE_NAME","getPlatformCommand","NPM_REGISTRIES","runCommandWithEnv","path","PLUGIN_PATH","fs","config","readConfig","CONFLICT_PLUGINS","writeConfig","CHANNEL_NAME"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;;AAGG;AACH,SAAS,cAAc,CAAC,UAAkB,EAAA;IACxC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,sBAAsB,CAAC;AACtD,IAAA,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU;AACtC;AAEA;;;AAGG;AACG,SAAU,eAAe,CAAC,EAAU,EAAE,EAAU,EAAA;AACpD,IAAA,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;AACxD,IAAA,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;IACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE;QAC/D,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACzB,IAAI,EAAE,GAAG,EAAE;AAAE,YAAA,OAAO,CAAC;QACrB,IAAI,EAAE,GAAG,EAAE;YAAE,OAAO,EAAE;IACxB;AACA,IAAA,OAAO,CAAC;AACV;AAEA;;;AAGG;AACG,SAAU,yBAAyB,CAAC,OAAgB,EAAE,WAAoB,EAAA;AAC9E,IAAA,MAAM,mBAAmB,GAAG,WAAW,IAAIA,8BAAoB;IAC/D,MAAM,iBAAiB,GAAG;AACxB,UAAE,CAAA,EAAG,mBAAmB,CAAA,CAAA,EAAI,OAAO,CAAA;UACjC,mBAAmB;AACvB,IAAA,MAAM,WAAW,GAAGC,yBAAkB,CAAC,UAAU,CAAC;AAElD,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAGC,wBAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC9C,QAAA,MAAM,QAAQ,GAAGA,wBAAc,CAAC,CAAC,CAAC;AAClC,QAAA,IAAI;AACF,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA,IAAA,EAAO,QAAQ,CAAA,MAAA,EAAS,iBAAiB,CAAA,GAAA,CAAK,CAAC,CAAC;;AAEvE,YAAAC,wBAAiB,CACf,CAAA,EAAG,WAAW,CAAA,iBAAA,EAAoB,iBAAiB,CAAA,CAAE,EACrD,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAClC;AACD,YAAA,OAAO,IAAI;QACb;QAAE,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,GAAGD,wBAAc,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,gBAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA,EAAA,EAAK,QAAQ,CAAA,mBAAA,CAAqB,CAAC,CAAC;YAChE;iBAAO;gBACL,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC1C,gBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;YACtB;QACF;IACF;AACA,IAAA,OAAO,KAAK;AACd;AAEA
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["../../src/utils/plugin.ts"],"sourcesContent":[null],"names":["DEFAULT_PACKAGE_NAME","getPlatformCommand","NPM_REGISTRIES","runCommandWithEnv","PLUGIN_NAME","path","PLUGIN_PATH","fs","config","readConfig","CONFLICT_PLUGINS","writeConfig","CHANNEL_NAME"],"mappings":"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"}
|
package/dist/utils/prompts.d.ts
CHANGED
|
@@ -13,6 +13,10 @@ export declare function promptConfirmBotId(currentBotId: string): Promise<boolea
|
|
|
13
13
|
* 单独提示输入 botId
|
|
14
14
|
*/
|
|
15
15
|
export declare function promptBotId(): Promise<string>;
|
|
16
|
+
/**
|
|
17
|
+
* 确认是否还原之前的 channels.wecom 配置
|
|
18
|
+
*/
|
|
19
|
+
export declare function promptRestoreChannelConfig(botId: string): Promise<boolean>;
|
|
16
20
|
/**
|
|
17
21
|
* 单独提示输入 secret
|
|
18
22
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBpF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAU/E;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAUnD;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAWpD"}
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBpF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAU/E;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAUnD;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUhF;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAWpD"}
|
package/dist/utils/prompts.js
CHANGED
|
@@ -50,6 +50,20 @@ async function promptBotId() {
|
|
|
50
50
|
]);
|
|
51
51
|
return answer.botId;
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* 确认是否还原之前的 channels.wecom 配置
|
|
55
|
+
*/
|
|
56
|
+
async function promptRestoreChannelConfig(botId) {
|
|
57
|
+
const answer = await inquirer.prompt([
|
|
58
|
+
{
|
|
59
|
+
type: 'confirm',
|
|
60
|
+
name: 'confirm',
|
|
61
|
+
message: `检测到之前的 channels.wecom 配置(Bot ID: ${botId}),是否还原?`,
|
|
62
|
+
default: true,
|
|
63
|
+
},
|
|
64
|
+
]);
|
|
65
|
+
return answer.confirm;
|
|
66
|
+
}
|
|
53
67
|
/**
|
|
54
68
|
* 单独提示输入 secret
|
|
55
69
|
*/
|
|
@@ -69,5 +83,6 @@ async function promptSecret() {
|
|
|
69
83
|
exports.promptBotId = promptBotId;
|
|
70
84
|
exports.promptBotIdSecret = promptBotIdSecret;
|
|
71
85
|
exports.promptConfirmBotId = promptConfirmBotId;
|
|
86
|
+
exports.promptRestoreChannelConfig = promptRestoreChannelConfig;
|
|
72
87
|
exports.promptSecret = promptSecret;
|
|
73
88
|
//# sourceMappingURL=prompts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sources":["../../src/utils/prompts.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAEA;;AAEG;AACI,eAAe,iBAAiB,GAAA;IACrC,OAAO,QAAQ,CAAC,MAAM,CAAC;AACrB,QAAA;AACE,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,QAAQ,EAAE,CAAC,KAAa,MAAM,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAC5D,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,QAAQ,EAAE,CAAC,KAAa,MAAM,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAC5D,SAAA;AACF,KAAA,CAAC;AACJ;AAEA;;AAEG;AACI,eAAe,kBAAkB,CAAC,YAAoB,EAAA;AAC3D,IAAA,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;AACnC,QAAA;AACE,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAA,mBAAA,EAAsB,YAAY,CAAA,QAAA,CAAU;AACrD,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACF,KAAA,CAAC;IACF,OAAO,MAAM,CAAC,OAAO;AACvB;AAEA;;AAEG;AACI,eAAe,WAAW,GAAA;AAC/B,IAAA,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;AACnC,QAAA;AACE,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,QAAQ,EAAE,CAAC,KAAa,MAAM,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAC5D,SAAA;AACF,KAAA,CAAC;IACF,OAAO,MAAM,CAAC,KAAK;AACrB;AAEA;;AAEG;AACI,eAAe,YAAY,GAAA;AAChC,IAAA,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;AACnC,QAAA;AACE,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,QAAQ,EAAE,CAAC,KAAa,MAAM,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAC5D,SAAA;AACF,KAAA,CAAC;IACF,OAAO,MAAM,CAAC,MAAM;AACtB
|
|
1
|
+
{"version":3,"file":"prompts.js","sources":["../../src/utils/prompts.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAEA;;AAEG;AACI,eAAe,iBAAiB,GAAA;IACrC,OAAO,QAAQ,CAAC,MAAM,CAAC;AACrB,QAAA;AACE,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,QAAQ,EAAE,CAAC,KAAa,MAAM,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAC5D,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,QAAQ,EAAE,CAAC,KAAa,MAAM,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAC5D,SAAA;AACF,KAAA,CAAC;AACJ;AAEA;;AAEG;AACI,eAAe,kBAAkB,CAAC,YAAoB,EAAA;AAC3D,IAAA,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;AACnC,QAAA;AACE,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAA,mBAAA,EAAsB,YAAY,CAAA,QAAA,CAAU;AACrD,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACF,KAAA,CAAC;IACF,OAAO,MAAM,CAAC,OAAO;AACvB;AAEA;;AAEG;AACI,eAAe,WAAW,GAAA;AAC/B,IAAA,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;AACnC,QAAA;AACE,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,QAAQ,EAAE,CAAC,KAAa,MAAM,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAC5D,SAAA;AACF,KAAA,CAAC;IACF,OAAO,MAAM,CAAC,KAAK;AACrB;AAEA;;AAEG;AACI,eAAe,0BAA0B,CAAC,KAAa,EAAA;AAC5D,IAAA,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;AACnC,QAAA;AACE,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAA,iCAAA,EAAoC,KAAK,CAAA,OAAA,CAAS;AAC3D,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACF,KAAA,CAAC;IACF,OAAO,MAAM,CAAC,OAAO;AACvB;AAEA;;AAEG;AACI,eAAe,YAAY,GAAA;AAChC,IAAA,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;AACnC,QAAA;AACE,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,QAAQ,EAAE,CAAC,KAAa,MAAM,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAC5D,SAAA;AACF,KAAA,CAAC;IACF,OAAO,MAAM,CAAC,MAAM;AACtB;;;;;;;;"}
|