@wecom/wecom-openclaw-cli 1.0.19 → 1.0.21-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +19 -4
- package/dist/commands/install.js.map +1 -1
- package/dist/node_modules/qrcode/lib/core/utils.js +1 -1
- package/dist/node_modules/qrcode/lib/renderer/utils.js +1 -1
- package/dist/package.json.js +1 -1
- package/dist/utils/qrcode.d.ts.map +1 -1
- package/dist/utils/qrcode.js +5 -2
- package/dist/utils/qrcode.js.map +1 -1
- package/dist/utils/version.d.ts +61 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +114 -0
- package/dist/utils/version.js.map +1 -0
- package/package.json +1 -1
|
@@ -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":"AA0JA;;;;;;;;;;;;;;;;;GAiBG;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,CAoJ9I"}
|
package/dist/commands/install.js
CHANGED
|
@@ -10,6 +10,7 @@ var qrcode = require('../utils/qrcode.js');
|
|
|
10
10
|
var update = require('./update.js');
|
|
11
11
|
var constants = require('../utils/constants.js');
|
|
12
12
|
var plugin = require('../utils/plugin.js');
|
|
13
|
+
var version = require('../utils/version.js');
|
|
13
14
|
|
|
14
15
|
function _interopNamespaceDefault(e) {
|
|
15
16
|
var n = Object.create(null);
|
|
@@ -205,10 +206,17 @@ async function installCommand(options) {
|
|
|
205
206
|
console.log(chalk.blue(`正在移除插件目录: ${constants.PLUGIN_PATH}...`));
|
|
206
207
|
await fs__namespace.remove(constants.PLUGIN_PATH);
|
|
207
208
|
}
|
|
208
|
-
// 步骤 3
|
|
209
|
+
// 步骤 3:解析兼容的插件版本
|
|
210
|
+
const forceResolution = version.resolvePluginVersion(options.version);
|
|
211
|
+
if (forceResolution.reason === 'no-match') {
|
|
212
|
+
console.error(chalk.red(`错误: ${forceResolution.message}`));
|
|
213
|
+
process.exit(1);
|
|
214
|
+
}
|
|
215
|
+
console.log(chalk.blue(forceResolution.message));
|
|
216
|
+
// 步骤 4:备份并移除 channels.wecom → 安装插件 → 处理配置还原
|
|
209
217
|
const channelBackup = await backupAndRemoveChannelConfig();
|
|
210
218
|
console.log(chalk.blue('正在安装官方 WeCom 插件...'));
|
|
211
|
-
if (!plugin.installPluginFromRegistry(
|
|
219
|
+
if (!plugin.installPluginFromRegistry(forceResolution.version ?? undefined, options.packageName)) {
|
|
212
220
|
process.exit(1);
|
|
213
221
|
}
|
|
214
222
|
await handleChannelConfigAfterInstall(channelBackup, !!options.skipConfig);
|
|
@@ -258,10 +266,17 @@ async function installCommand(options) {
|
|
|
258
266
|
await fs__namespace.remove(conflictPath);
|
|
259
267
|
}
|
|
260
268
|
}
|
|
261
|
-
// 步骤 5
|
|
269
|
+
// 步骤 5:解析兼容的插件版本
|
|
270
|
+
const resolution = version.resolvePluginVersion(options.version);
|
|
271
|
+
if (resolution.reason === 'no-match') {
|
|
272
|
+
console.error(chalk.red(`错误: ${resolution.message}`));
|
|
273
|
+
process.exit(1);
|
|
274
|
+
}
|
|
275
|
+
console.log(chalk.blue(resolution.message));
|
|
276
|
+
// 步骤 6:备份并移除 channels.wecom → 安装插件 → 处理配置还原
|
|
262
277
|
const channelBackup = await backupAndRemoveChannelConfig();
|
|
263
278
|
console.log(chalk.blue('正在安装官方 WeCom 插件...'));
|
|
264
|
-
if (!plugin.installPluginFromRegistry(
|
|
279
|
+
if (!plugin.installPluginFromRegistry(resolution.version ?? undefined, options.packageName)) {
|
|
265
280
|
process.exit(1);
|
|
266
281
|
}
|
|
267
282
|
await handleChannelConfigAfterInstall(channelBackup, !!options.skipConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sources":["../../src/commands/install.ts"],"sourcesContent":[null],"names":["config","readConfig","CHANNEL_NAME","writeConfig","promptRestoreChannelConfig","PLUGIN_NAME","promptConfirmBotId","promptBindMethod","scanQRCodeForBotInfo","promptBotId","promptSecret","disableConflictPlugins","removePluginConfig","CONFLICT_PLUGIN_PATHS","fs","PLUGIN_PATH","installPluginFromRegistry","updateCommand","validateVersion","getPlatformCommand","runCommandQuiet","compareVersions","path","runCommand"],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.js","sources":["../../src/commands/install.ts"],"sourcesContent":[null],"names":["config","readConfig","CHANNEL_NAME","writeConfig","promptRestoreChannelConfig","PLUGIN_NAME","promptConfirmBotId","promptBindMethod","scanQRCodeForBotInfo","promptBotId","promptSecret","disableConflictPlugins","removePluginConfig","CONFLICT_PLUGIN_PATHS","fs","PLUGIN_PATH","resolvePluginVersion","installPluginFromRegistry","updateCommand","validateVersion","getPlatformCommand","runCommandQuiet","compareVersions","path","runCommand"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA;;;AAGG;AACH,eAAe,4BAA4B,GAAA;AACzC,IAAA,MAAMA,QAAM,GAAG,MAAMC,iBAAU,EAAE;IACjC,IAAI,MAAM,GAAyB,IAAI;IAEvC,IAAID,QAAM,CAAC,QAAQ,GAAGE,sBAAY,CAAC,EAAE;QACnC,MAAM,aAAa,GAAGF,QAAM,CAAC,QAAQ,CAACE,sBAAY,CAAC;;QAEnD,IAAI,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE;AAC/C,YAAA,MAAM,GAAG,EAAE,GAAG,aAAa,EAAE;AAC7B,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA,aAAA,EAAgBA,sBAAY,CAAA,IAAA,CAAM,CAAC,CAAC;QAC7D;;AAEA,QAAA,OAAOF,QAAM,CAAC,QAAQ,CAACE,sBAAY,CAAC;AACpC,QAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA,aAAA,EAAgBA,sBAAY,CAAA,IAAA,CAAM,CAAC,CAAC;AAC3D,QAAA,MAAMC,kBAAW,CAACH,QAAM,CAAC;IAC3B;AAEA,IAAA,OAAO,MAAM;AACf;AAEA;;;;AAIG;AACH,eAAe,+BAA+B,CAAC,MAA4B,EAAE,UAAmB,EAAA;AAC9F,IAAA,MAAMA,QAAM,GAAG,MAAMC,iBAAU,EAAE;IAEjC,IAAI,CAACD,QAAM,CAAC,QAAQ;AAAE,QAAAA,QAAM,CAAC,QAAQ,GAAG,EAAE;IAE1C,IAAI,MAAM,EAAE;;QAEV,IAAI,UAAU,EAAE;;AAEd,YAAAA,QAAM,CAAC,QAAQ,CAACE,sBAAY,CAAC,GAAG,MAAM;AACtC,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA,eAAA,EAAkBA,sBAAY,CAAA,IAAA,CAAM,CAAC,CAAC;QAChE;aAAO;;YAEL,MAAM,OAAO,GAAG,MAAME,kCAA0B,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9D,IAAI,OAAO,EAAE;AACX,gBAAAJ,QAAM,CAAC,QAAQ,CAACE,sBAAY,CAAC,GAAG,MAAM;AACtC,gBAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA,aAAA,EAAgBA,sBAAY,CAAA,IAAA,CAAM,CAAC,CAAC;YAC9D;iBAAO;;AAEL,gBAAA,MAAM,mBAAmB,CAACF,QAAM,CAAC;YACnC;QACF;IACF;SAAO;;QAEL,IAAI,UAAU,EAAE;;AAEd,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA,YAAA,EAAeE,sBAAY,CAAA,cAAA,CAAgB,CAAC,CAAC;QACxE;aAAO;;AAEL,YAAA,MAAM,mBAAmB,CAACF,QAAM,CAAC;QACnC;IACF;;IAGA,IAAI,CAACA,QAAM,CAAC,OAAO;AAAE,QAAAA,QAAM,CAAC,OAAO,GAAG,EAAE;AACxC,IAAA,IAAI,CAACA,QAAM,CAAC,OAAO,CAAC,KAAK;AAAE,QAAAA,QAAM,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE;AACpD,IAAA,IAAI,CAACA,QAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAACK,qBAAW,CAAC,EAAE;QAC/CL,QAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAACK,qBAAW,CAAC;IACxC;;IAGA,IAAI,CAACL,QAAM,CAAC,KAAK;AAAE,QAAAA,QAAM,CAAC,KAAK,GAAG,EAAE;AACpC,IAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAACA,QAAM,CAAC,KAAK,CAAC,KAAK,CAAC;AAClD,IAAA,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAACA,QAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IAC1D,IAAI,QAAQ,EAAE;AACZ,QAAA,IAAI,CAACA,QAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC7CA,QAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;QACtC;IACF;IACA,IAAI,YAAY,EAAE;AAChB,QAAA,IAAI,CAACA,QAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YACjDA,QAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;QAC1C;IACF;AACA,IAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE;QAC9BA,QAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,WAAW,CAAC;IACxC;AAEA,IAAA,MAAMG,kBAAW,CAACH,QAAM,CAAC;AAC3B;AAEA;;AAEG;AACH,eAAe,mBAAmB,CAAC,MAAW,EAAA;IAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAE3C,IAAI,CAAC,MAAM,CAAC,QAAQ;AAAE,QAAA,MAAM,CAAC,QAAQ,GAAG,EAAE;IAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACE,sBAAY,CAAC,EAAE;AAClC,QAAA,MAAM,CAAC,QAAQ,CAACA,sBAAY,CAAC,GAAG;AAC9B,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,MAAM,EAAE,EAAE;SACX;IACH;;IAGA,IAAI,QAAQ,GAAG,KAAK;IACpB,IAAI,MAAM,CAAC,QAAQ,CAACA,sBAAY,CAAC,CAAC,KAAK,EAAE;AACvC,QAAA,MAAM,OAAO,GAAG,MAAMI,0BAAkB,CAAC,MAAM,CAAC,QAAQ,CAACJ,sBAAY,CAAC,CAAC,KAAK,CAAC;QAC7E,IAAI,CAAC,OAAO,EAAE;YACZ,QAAQ,GAAG,IAAI;QACjB;IACF;SAAO;QACL,QAAQ,GAAG,IAAI;IACjB;IAEA,IAAI,QAAQ,EAAE;AACZ,QAAA,MAAM,MAAM,GAAG,MAAMK,wBAAgB,EAAE;AACvC,QAAA,IAAI,MAAM,KAAK,QAAQ,EAAE;YACvB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAMC,2BAAoB,EAAE;YACtD,MAAM,CAAC,QAAQ,CAACN,sBAAY,CAAC,CAAC,KAAK,GAAG,KAAK;YAC3C,MAAM,CAAC,QAAQ,CAACA,sBAAY,CAAC,CAAC,MAAM,GAAG,MAAM;QAC/C;aAAO;YACL,MAAM,CAAC,QAAQ,CAACA,sBAAY,CAAC,CAAC,KAAK,GAAG,MAAMO,mBAAW,EAAE;YACzD,MAAM,CAAC,QAAQ,CAACP,sBAAY,CAAC,CAAC,MAAM,GAAG,MAAMQ,oBAAY,EAAE;QAC7D;IACF;SAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACR,sBAAY,CAAC,CAAC,MAAM,EAAE;;QAE9C,MAAM,CAAC,QAAQ,CAACA,sBAAY,CAAC,CAAC,MAAM,GAAG,MAAMQ,oBAAY,EAAE;IAC/D;AACF;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACI,eAAe,cAAc,CAAC,OAA0F,EAAA;IAC7H,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;;;AAKlC,IAAA,IAAI,OAAO,CAAC,KAAK,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;;QAG/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC3C,QAAA,MAAM,aAAa,GAAG,MAAMT,iBAAU,EAAE;AACxC,QAAA,MAAM,aAAa,GAAG,MAAMU,6BAAsB,CAAC,aAAa,CAAC;;QAEjEC,yBAAkB,CAAC,aAAa,EAAEP,qBAAwC,CAAC;AAC3E,QAAA,MAAMF,kBAAW,CAAC,aAAa,CAAC;;AAGhC,QAAA,KAAK,MAAM,YAAY,IAAIU,+BAAqB,EAAE;YAChD,IAAI,MAAMC,aAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;AACrC,gBAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA,aAAA,EAAgB,YAAY,CAAA,GAAA,CAAK,CAAC,CAAC;AAC1D,gBAAA,MAAMA,aAAE,CAAC,MAAM,CAAC,YAAY,CAAC;YAC/B;QACF;QACA,IAAI,MAAMA,aAAE,CAAC,UAAU,CAACC,qBAAW,CAAC,EAAE;AACpC,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA,UAAA,EAAaA,qBAAW,CAAA,GAAA,CAAK,CAAC,CAAC;AACtD,YAAA,MAAMD,aAAE,CAAC,MAAM,CAACC,qBAAW,CAAC;QAC9B;;QAGA,MAAM,eAAe,GAAGC,4BAAoB,CAAC,OAAO,CAAC,OAAO,CAAC;AAC7D,QAAA,IAAI,eAAe,CAAC,MAAM,KAAK,UAAU,EAAE;AACzC,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,IAAA,EAAO,eAAe,CAAC,OAAO,CAAA,CAAE,CAAC,CAAC;AAC1D,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjB;AACA,QAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;;AAGhD,QAAA,MAAM,aAAa,GAAG,MAAM,4BAA4B,EAAE;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAC7C,QAAA,IAAI,CAACC,gCAAyB,CAAC,eAAe,CAAC,OAAO,IAAI,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE;AACzF,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjB;QACA,MAAM,+BAA+B,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;;;;IAK5E;SAAO,IAAI,MAAMH,aAAE,CAAC,UAAU,CAACC,qBAAW,CAAC,EAAE;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAE5C,MAAM,UAAU,GAAG,MAAMG,oBAAa,CAAC,SAAS,EAAE,IAAI,CAAC;QAEvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAA,UAAA,EAAa,UAAU,EAAE,GAAG,OAAO,CAAC,CAAC;QAC1E;;;;IAKF;SAAO;;AAEL,QAAA,IAAI,OAAO,CAAC,OAAO,IAAI,CAACC,sBAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACxD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AACxD,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjB;;AAGA,QAAA,IAAI;AACF,YAAA,MAAM,WAAW,GAAGC,yBAAkB,CAAC,UAAU,CAAC;YAClD,MAAM,OAAO,GAAGC,sBAAe,CAAC,GAAG,WAAW,CAAA,UAAA,CAAY,CAAC;YAC3D,IAAIC,sBAAe,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE;AAC7C,gBAAA,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CACP,CAAA,wCAAA,EAA2C,OAAO,CAAA,sBAAA,CAAwB,CAC3E,CACF;AACD,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACjB;QACF;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC1C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACjF,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,MAAM,CACV,4DAA4D,CAC7D,CACF;YACH;AACA,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjB;;QAGA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtC,MAAMX,6BAAsB,EAAE;;AAG9B,QAAA,KAAK,MAAM,YAAY,IAAIE,+BAAqB,EAAE;YAChD,IAAI,MAAMC,aAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;AACrC,gBAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA,aAAA,EAAgB,YAAY,CAAA,GAAA,CAAK,CAAC,CAAC;AAC1D,gBAAA,MAAMA,aAAE,CAAC,MAAM,CAAC,YAAY,CAAC;YAC/B;QACF;;QAGA,MAAM,UAAU,GAAGE,4BAAoB,CAAC,OAAO,CAAC,OAAO,CAAC;AACxD,QAAA,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE;AACpC,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,IAAA,EAAO,UAAU,CAAC,OAAO,CAAA,CAAE,CAAC,CAAC;AACrD,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjB;AACA,QAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;;AAG3C,QAAA,MAAM,aAAa,GAAG,MAAM,4BAA4B,EAAE;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAC7C,QAAA,IAAI,CAACC,gCAAyB,CAAC,UAAU,CAAC,OAAO,IAAI,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE;AACpF,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjB;QACA,MAAM,+BAA+B,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC5E;;;;IAKA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpC,IAAA,MAAM,WAAW,GAAG,MAAMhB,iBAAU,EAAE;AACtC,IAAA,MAAM,MAAM,GAAG;QACb,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAACI,qBAAW,CAAC;AACjD,QAAA,MAAMS,aAAE,CAAC,UAAU,CAACS,eAAI,CAAC,IAAI,CAACR,qBAAW,EAAE,cAAc,CAAC,CAAC;KAC5D;AAED,IAAA,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;;QAEjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpC,QAAA,IAAI;AACF,YAAA,MAAM,WAAW,GAAGK,yBAAkB,CAAC,UAAU,CAAC;AAClD,YAAAI,iBAAU,CAAC,CAAA,EAAG,WAAW,CAAA,gBAAA,CAAkB,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC;QAAE,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC;QACtE;IACF;SAAO;QACL,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,MAAM,CACV,qCAAqC,CACtC,CACF;IACH;AACF;;;;"}
|
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.21-beta.0";
|
|
7
7
|
var description = "CLI for managing WeCom official plugin for OpenClaw";
|
|
8
8
|
var main = "dist/index.js";
|
|
9
9
|
var type = "commonjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qrcode.d.ts","sourceRoot":"","sources":["../../src/utils/qrcode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"qrcode.d.ts","sourceRoot":"","sources":["../../src/utils/qrcode.ts"],"names":[],"mappings":"AAkGA;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAcvF"}
|
package/dist/utils/qrcode.js
CHANGED
|
@@ -39,8 +39,9 @@ function getPlatCode() {
|
|
|
39
39
|
}
|
|
40
40
|
const QR_GENERATE_URL = `https://work.weixin.qq.com/ai/qc/generate?source=wecom-cli&plat=${getPlatCode()}`;
|
|
41
41
|
const QR_QUERY_URL = 'https://work.weixin.qq.com/ai/qc/query_result';
|
|
42
|
+
const QR_CODE_PAGE = 'https://work.weixin.qq.com/ai/qc/gen?source=wecom-cli&scode=';
|
|
42
43
|
const POLL_INTERVAL = 3000; // 轮询间隔 3 秒
|
|
43
|
-
const POLL_TIMEOUT =
|
|
44
|
+
const POLL_TIMEOUT = 300000; // 超时 5 分钟
|
|
44
45
|
/**
|
|
45
46
|
* 发起 HTTPS GET 请求
|
|
46
47
|
*/
|
|
@@ -94,7 +95,8 @@ async function pollResult(scode) {
|
|
|
94
95
|
// 继续等待
|
|
95
96
|
await new Promise((r) => setTimeout(r, POLL_INTERVAL));
|
|
96
97
|
}
|
|
97
|
-
|
|
98
|
+
console.log(chalk.yellow('扫码超时(5 分钟),请重试。'));
|
|
99
|
+
process.exit(0);
|
|
98
100
|
}
|
|
99
101
|
/**
|
|
100
102
|
* 扫码接入完整流程:获取二维码 → 终端展示 → 轮询结果 → 返回 botId 和 secret
|
|
@@ -104,6 +106,7 @@ async function scanQRCodeForBotInfo() {
|
|
|
104
106
|
const { scode, auth_url } = await fetchQRCode();
|
|
105
107
|
console.log(chalk.green('请使用企业微信扫描以下二维码:'));
|
|
106
108
|
await renderQRCode(auth_url);
|
|
109
|
+
console.log(`也可打开二维码链接扫码: ${QR_CODE_PAGE + scode}`);
|
|
107
110
|
console.log(chalk.blue('等待扫码中...'));
|
|
108
111
|
const botInfo = await pollResult(scode);
|
|
109
112
|
console.log(chalk.green('✔ 扫码成功!Bot ID 和 Secret 已自动获取。'));
|
package/dist/utils/qrcode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qrcode.js","sources":["../../src/utils/qrcode.ts"],"sourcesContent":[null],"names":["os","https","QRCode"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"qrcode.js","sources":["../../src/utils/qrcode.ts"],"sourcesContent":[null],"names":["os","https","QRCode"],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 版本兼容映射表条目
|
|
3
|
+
*/
|
|
4
|
+
interface VersionCompatEntry {
|
|
5
|
+
/** 插件版本 */
|
|
6
|
+
pluginVersion: string;
|
|
7
|
+
/** 兼容的最低 openclaw 版本 */
|
|
8
|
+
minOpenclawVersion: string;
|
|
9
|
+
/** 兼容的最高 openclaw 版本(可选,不填则无上限) */
|
|
10
|
+
maxOpenclawVersion?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 版本解析结果
|
|
14
|
+
*/
|
|
15
|
+
export interface VersionResolution {
|
|
16
|
+
/** 解析出的插件版本,null 表示使用最新版(不指定版本) */
|
|
17
|
+
version: string | null;
|
|
18
|
+
/** 解析原因 */
|
|
19
|
+
reason: 'exact' | 'compat' | 'check-failed' | 'no-match';
|
|
20
|
+
/** 描述信息 */
|
|
21
|
+
message: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 版本兼容映射表
|
|
25
|
+
*
|
|
26
|
+
* 根据用户本地的 openclaw 版本,自动匹配应安装的插件版本。
|
|
27
|
+
*
|
|
28
|
+
* ┌─ 映射规则 ────────────────────────────────────────────┐
|
|
29
|
+
* │ openclaw >= 2026.3.22 → 安装插件 2026.3.24 │
|
|
30
|
+
* │ openclaw < 2026.3.22 → 安装插件 2026.3.20 │
|
|
31
|
+
* └───────────────────────────────────────────────────────┘
|
|
32
|
+
*
|
|
33
|
+
* ┌─ 如何新增条目 ────────────────────────────────────────┐
|
|
34
|
+
* │ 1. 在数组首位插入新条目(保持版本降序) │
|
|
35
|
+
* │ 2. 填写 pluginVersion 和 minOpenclawVersion │
|
|
36
|
+
* │ 3. 为上一条补充 maxOpenclawVersion 以划定版本边界 │
|
|
37
|
+
* └───────────────────────────────────────────────────────┘
|
|
38
|
+
*/
|
|
39
|
+
export declare const VERSION_MAP: VersionCompatEntry[];
|
|
40
|
+
/**
|
|
41
|
+
* 检测本地安装的 openclaw 版本
|
|
42
|
+
* @returns 版本号字符串(如 "2026.3.22"),检测失败返回 null
|
|
43
|
+
*/
|
|
44
|
+
export declare function detectOpenclawVersion(): string | null;
|
|
45
|
+
/**
|
|
46
|
+
* 根据本地 openclaw 版本,解析应安装的插件版本
|
|
47
|
+
*
|
|
48
|
+
* ┌─ 解析流程 ────────────────────────────────────────────┐
|
|
49
|
+
* │ 1. 用户通过 --version 手动指定 → 直接采用 │
|
|
50
|
+
* │ 2. 自动检测本地 openclaw 版本 │
|
|
51
|
+
* │ 检测失败 → 回退到最新插件版本并输出警告 │
|
|
52
|
+
* │ 3. 按映射表从新到旧逐条匹配 (min <= openclaw <= max) │
|
|
53
|
+
* │ 4. openclaw 高于所有条目上限 → 回退到最新插件版本 │
|
|
54
|
+
* │ 5. openclaw 低于最低要求 → 提示用户升级 │
|
|
55
|
+
* └───────────────────────────────────────────────────────┘
|
|
56
|
+
*
|
|
57
|
+
* @param userSpecifiedVersion 用户通过 --version 指定的版本,undefined 表示未指定
|
|
58
|
+
*/
|
|
59
|
+
export declare function resolvePluginVersion(userSpecifiedVersion?: string): VersionResolution;
|
|
60
|
+
export {};
|
|
61
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,UAAU,kBAAkB;IAC1B,WAAW;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW;IACX,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,cAAc,GAAG,UAAU,CAAC;IACzD,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,WAAW,EAAE,kBAAkB,EAG3C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAerD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,oBAAoB,CAAC,EAAE,MAAM,GAC5B,iBAAiB,CAsDnB"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var system = require('./system.js');
|
|
4
|
+
var plugin = require('./plugin.js');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 版本兼容映射表
|
|
8
|
+
*
|
|
9
|
+
* 根据用户本地的 openclaw 版本,自动匹配应安装的插件版本。
|
|
10
|
+
*
|
|
11
|
+
* ┌─ 映射规则 ────────────────────────────────────────────┐
|
|
12
|
+
* │ openclaw >= 2026.3.22 → 安装插件 2026.3.24 │
|
|
13
|
+
* │ openclaw < 2026.3.22 → 安装插件 2026.3.20 │
|
|
14
|
+
* └───────────────────────────────────────────────────────┘
|
|
15
|
+
*
|
|
16
|
+
* ┌─ 如何新增条目 ────────────────────────────────────────┐
|
|
17
|
+
* │ 1. 在数组首位插入新条目(保持版本降序) │
|
|
18
|
+
* │ 2. 填写 pluginVersion 和 minOpenclawVersion │
|
|
19
|
+
* │ 3. 为上一条补充 maxOpenclawVersion 以划定版本边界 │
|
|
20
|
+
* └───────────────────────────────────────────────────────┘
|
|
21
|
+
*/
|
|
22
|
+
const VERSION_MAP = [
|
|
23
|
+
{ pluginVersion: 'latest', minOpenclawVersion: '2026.3.22' },
|
|
24
|
+
{ pluginVersion: '2026.3.20', minOpenclawVersion: '2026.2.13', maxOpenclawVersion: '2026.3.13' },
|
|
25
|
+
];
|
|
26
|
+
/**
|
|
27
|
+
* 检测本地安装的 openclaw 版本
|
|
28
|
+
* @returns 版本号字符串(如 "2026.3.22"),检测失败返回 null
|
|
29
|
+
*/
|
|
30
|
+
function detectOpenclawVersion() {
|
|
31
|
+
try {
|
|
32
|
+
const openclawCmd = system.getPlatformCommand('openclaw');
|
|
33
|
+
const output = system.runCommandQuiet(`${openclawCmd} --version`);
|
|
34
|
+
if (!output)
|
|
35
|
+
return null;
|
|
36
|
+
// openclaw --version 可能输出多行,取最后一行非空行
|
|
37
|
+
// 格式示例: "OpenClaw 2026.3.22 (commit)" 或 "2026.3.22"
|
|
38
|
+
const lines = output.split('\n').map(l => l.trim()).filter(Boolean);
|
|
39
|
+
const lastLine = lines[lines.length - 1];
|
|
40
|
+
const versionMatch = lastLine ? lastLine.match(/(?:OpenClaw\s+)?(\d+\.\d+\.\d+)/) : null;
|
|
41
|
+
return versionMatch ? versionMatch[1] ?? null : null;
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 根据本地 openclaw 版本,解析应安装的插件版本
|
|
49
|
+
*
|
|
50
|
+
* ┌─ 解析流程 ────────────────────────────────────────────┐
|
|
51
|
+
* │ 1. 用户通过 --version 手动指定 → 直接采用 │
|
|
52
|
+
* │ 2. 自动检测本地 openclaw 版本 │
|
|
53
|
+
* │ 检测失败 → 回退到最新插件版本并输出警告 │
|
|
54
|
+
* │ 3. 按映射表从新到旧逐条匹配 (min <= openclaw <= max) │
|
|
55
|
+
* │ 4. openclaw 高于所有条目上限 → 回退到最新插件版本 │
|
|
56
|
+
* │ 5. openclaw 低于最低要求 → 提示用户升级 │
|
|
57
|
+
* └───────────────────────────────────────────────────────┘
|
|
58
|
+
*
|
|
59
|
+
* @param userSpecifiedVersion 用户通过 --version 指定的版本,undefined 表示未指定
|
|
60
|
+
*/
|
|
61
|
+
function resolvePluginVersion(userSpecifiedVersion) {
|
|
62
|
+
// 1. 用户显式指定版本 — 直接使用
|
|
63
|
+
if (userSpecifiedVersion) {
|
|
64
|
+
return {
|
|
65
|
+
version: userSpecifiedVersion,
|
|
66
|
+
reason: 'exact',
|
|
67
|
+
message: `用户指定版本: ${userSpecifiedVersion}`,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
// 2. 检测本地 openclaw 版本
|
|
71
|
+
const localVersion = detectOpenclawVersion();
|
|
72
|
+
if (!localVersion) {
|
|
73
|
+
return {
|
|
74
|
+
version: null,
|
|
75
|
+
reason: 'check-failed',
|
|
76
|
+
message: `无法检测 OpenClaw 版本,默认安装最新兼容插件版本`,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
// 3. 遍历映射表,找到兼容的插件版本
|
|
80
|
+
for (const entry of VERSION_MAP) {
|
|
81
|
+
const meetsMin = plugin.compareVersions(localVersion, entry.minOpenclawVersion) >= 0;
|
|
82
|
+
const meetsMax = entry.maxOpenclawVersion
|
|
83
|
+
? plugin.compareVersions(localVersion, entry.maxOpenclawVersion) <= 0
|
|
84
|
+
: true;
|
|
85
|
+
if (meetsMin && meetsMax) {
|
|
86
|
+
return {
|
|
87
|
+
version: entry.pluginVersion,
|
|
88
|
+
reason: 'compat',
|
|
89
|
+
message: `OpenClaw: ${localVersion} 插件支持的最高版本: ${entry.pluginVersion}`,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
// 4. 未命中任何条目
|
|
94
|
+
// 如果 openclaw 版本 >= 最新条目的 minOpenclawVersion,说明是更新的版本,fallback 到最新
|
|
95
|
+
const latestEntry = VERSION_MAP[0];
|
|
96
|
+
if (plugin.compareVersions(localVersion, latestEntry.minOpenclawVersion) >= 0) {
|
|
97
|
+
return {
|
|
98
|
+
version: latestEntry.pluginVersion,
|
|
99
|
+
reason: 'compat',
|
|
100
|
+
message: `OpenClaw: ${localVersion} 插件支持的最高版本: ${latestEntry.pluginVersion}`,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
// 5. openclaw 版本太旧,不在任何兼容范围内
|
|
104
|
+
return {
|
|
105
|
+
version: null,
|
|
106
|
+
reason: 'no-match',
|
|
107
|
+
message: `OpenClaw(${localVersion}) 版本过低、请升级到新版本OpenClaw。`,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
exports.VERSION_MAP = VERSION_MAP;
|
|
112
|
+
exports.detectOpenclawVersion = detectOpenclawVersion;
|
|
113
|
+
exports.resolvePluginVersion = resolvePluginVersion;
|
|
114
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sources":["../../src/utils/version.ts"],"sourcesContent":[null],"names":["getPlatformCommand","runCommandQuiet","compareVersions"],"mappings":";;;;;AA2BA;;;;;;;;;;;;;;;AAeG;AACI,MAAM,WAAW,GAAyB;AAC/C,IAAA,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE;IAC5D,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE;;AAGlG;;;AAGG;SACa,qBAAqB,GAAA;AACnC,IAAA,IAAI;AACF,QAAA,MAAM,WAAW,GAAGA,yBAAkB,CAAC,UAAU,CAAC;QAClD,MAAM,MAAM,GAAGC,sBAAe,CAAC,GAAG,WAAW,CAAA,UAAA,CAAY,CAAC;AAC1D,QAAA,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,IAAI;;;QAIxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AACxC,QAAA,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,iCAAiC,CAAC,GAAG,IAAI;AACxF,QAAA,OAAO,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI;IACtD;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,IAAI;IACb;AACF;AAEA;;;;;;;;;;;;;AAaG;AACG,SAAU,oBAAoB,CAClC,oBAA6B,EAAA;;IAG7B,IAAI,oBAAoB,EAAE;QACxB,OAAO;AACL,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,CAAA,QAAA,EAAW,oBAAoB,CAAA,CAAE;SAC3C;IACH;;AAGA,IAAA,MAAM,YAAY,GAAG,qBAAqB,EAAE;IAE5C,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO;AACL,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,MAAM,EAAE,cAAc;AACtB,YAAA,OAAO,EAAE,CAAA,6BAAA,CAA+B;SACzC;IACH;;AAGA,IAAA,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;AAC/B,QAAA,MAAM,QAAQ,GAAGC,sBAAe,CAAC,YAAY,EAAE,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAC7E,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC;cACnBA,sBAAe,CAAC,YAAY,EAAE,KAAK,CAAC,kBAAkB,CAAC,IAAI;cAC3D,IAAI;AAER,QAAA,IAAI,QAAQ,IAAI,QAAQ,EAAE;YACxB,OAAO;gBACL,OAAO,EAAE,KAAK,CAAC,aAAa;AAC5B,gBAAA,MAAM,EAAE,QAAQ;AAChB,gBAAA,OAAO,EAAE,CAAA,UAAA,EAAa,YAAY,eAAe,KAAK,CAAC,aAAa,CAAA,CAAE;aACvE;QACH;IACF;;;AAIA,IAAA,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC;IAClC,IAAIA,sBAAe,CAAC,YAAY,EAAE,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;QACtE,OAAO;YACL,OAAO,EAAE,WAAW,CAAC,aAAa;AAClC,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,OAAO,EAAE,CAAA,UAAA,EAAa,YAAY,eAAe,WAAW,CAAC,aAAa,CAAA,CAAE;SAC7E;IACH;;IAGA,OAAO;AACL,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,CAAA,SAAA,EAAY,YAAY,CAAA,uBAAA,CAAyB;KAC3D;AACH;;;;;;"}
|