claude-pangu 1.2.1 → 1.2.2
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/.claude-plugin/plugin.json +1 -1
- package/commands/cancel-yishan.md +45 -45
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +41 -24
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/installer.d.ts +1 -1
- package/dist/lib/installer.d.ts.map +1 -1
- package/dist/lib/installer.js +53 -25
- package/dist/lib/installer.js.map +1 -1
- package/hooks/ast-grep.sh +520 -520
- package/hooks/auto-update-checker.sh +402 -402
- package/hooks/code-quality-checker.sh +428 -428
- package/hooks/directory-agents-injector.sh +467 -467
- package/hooks/lsp-tools.sh +508 -508
- package/hooks/output-truncator.sh +409 -409
- package/hooks/preemptive-compaction.sh +444 -444
- package/hooks/rules-injector.sh +491 -491
- package/hooks/think-mode.sh +457 -457
- package/package.json +1 -1
- package/scripts/cli.js +1357 -1357
- package/scripts/logger.ts +51 -51
- package/scripts/setup-yishan-loop.sh +99 -99
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://code.claude.com/plugin-schema.json",
|
|
3
3
|
"name": "oh-my-claude",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.2",
|
|
5
5
|
"description": "基于中国传统文化的 Claude Code 智能编排插件 - A Claude Code plugin inspired by Chinese traditional culture",
|
|
6
6
|
"author": "ZDragon17",
|
|
7
7
|
"contributors": [
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cancel-yishan
|
|
3
|
-
description: |
|
|
4
|
-
取消愚公移山循环 - 停止当前的自主循环执行。
|
|
5
|
-
别名:/stop-yishan, /cancel-yugong, /stop-loop
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# 取消愚公移山循环
|
|
9
|
-
|
|
10
|
-
你需要取消当前正在进行的愚公移山循环。
|
|
11
|
-
|
|
12
|
-
## 取消操作
|
|
13
|
-
|
|
14
|
-
请执行以下步骤:
|
|
15
|
-
|
|
16
|
-
### 1. 删除状态文件
|
|
17
|
-
|
|
18
|
-
使用 Bash 工具删除状态文件:
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
rm -f .claude/yishan-loop.local.md
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
### 2. 确认取消
|
|
25
|
-
|
|
26
|
-
删除成功后,向用户确认:
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
🛑 愚公移山循环已取消
|
|
30
|
-
|
|
31
|
-
状态文件已删除:.claude/yishan-loop.local.md
|
|
32
|
-
循环将在当前响应结束后停止。
|
|
33
|
-
|
|
34
|
-
如需重新启动循环,请使用 /yishan 或 /yugong 命令。
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## 注意事项
|
|
38
|
-
|
|
39
|
-
- 取消操作会立即停止循环,当前响应完成后不会再继续
|
|
40
|
-
- 已完成的工作不会被撤销
|
|
41
|
-
- TODO 列表会保留,可以稍后继续处理
|
|
42
|
-
|
|
43
|
-
## 执行
|
|
44
|
-
|
|
45
|
-
现在请删除状态文件以取消循环。
|
|
1
|
+
---
|
|
2
|
+
name: cancel-yishan
|
|
3
|
+
description: |
|
|
4
|
+
取消愚公移山循环 - 停止当前的自主循环执行。
|
|
5
|
+
别名:/stop-yishan, /cancel-yugong, /stop-loop
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# 取消愚公移山循环
|
|
9
|
+
|
|
10
|
+
你需要取消当前正在进行的愚公移山循环。
|
|
11
|
+
|
|
12
|
+
## 取消操作
|
|
13
|
+
|
|
14
|
+
请执行以下步骤:
|
|
15
|
+
|
|
16
|
+
### 1. 删除状态文件
|
|
17
|
+
|
|
18
|
+
使用 Bash 工具删除状态文件:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
rm -f .claude/yishan-loop.local.md
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### 2. 确认取消
|
|
25
|
+
|
|
26
|
+
删除成功后,向用户确认:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
🛑 愚公移山循环已取消
|
|
30
|
+
|
|
31
|
+
状态文件已删除:.claude/yishan-loop.local.md
|
|
32
|
+
循环将在当前响应结束后停止。
|
|
33
|
+
|
|
34
|
+
如需重新启动循环,请使用 /yishan 或 /yugong 命令。
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## 注意事项
|
|
38
|
+
|
|
39
|
+
- 取消操作会立即停止循环,当前响应完成后不会再继续
|
|
40
|
+
- 已完成的工作不会被撤销
|
|
41
|
+
- TODO 列表会保留,可以稍后继续处理
|
|
42
|
+
|
|
43
|
+
## 执行
|
|
44
|
+
|
|
45
|
+
现在请删除状态文件以取消循环。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiEH,iCAAiC;AACjC,eAAO,MAAM,OAAO,EAAE,MAA4B,CAAC;AAEnD,WAAW;AACX,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAI1C,YAAY;AACZ,eAAO,MAAM,QAAQ,QAAe,CAAC;AAErC,WAAW;AACX,eAAO,MAAM,OAAO,QAA+C,CAAC;AAEpE,eAAe;AACf,eAAO,MAAM,cAAc,QAAkC,CAAC;AAE9D,aAAa;AACb,eAAO,MAAM,gBAAgB,QAAgD,CAAC;AAE9E,eAAe;AACf,eAAO,MAAM,iBAAiB,QAAmD,CAAC;AAElF,aAAa;AACb,eAAO,MAAM,UAAU,QAAyD,CAAC;AAEjF,oBAAoB;AACpB,eAAO,MAAM,YAAY,QAA6C,CAAC;AAEvE,kBAAkB;AAClB,eAAO,MAAM,UAAU,QAA2C,CAAC;AAInE,YAAY;AACZ,eAAO,MAAM,eAAe,QAAQ,CAAC;AAErC,iBAAiB;AACjB,eAAO,MAAM,aAAa,QAAgB,CAAC;AAE3C,YAAY;AACZ,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAI3C,gBAAgB;AAChB,eAAO,MAAM,0BAA0B,QAAc,CAAC;AAEtD,cAAc;AACd,eAAO,MAAM,gBAAgB,QAAY,CAAC;AAI1C,aAAa;AACb,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,aAAa;AACb,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAItC,kBAAkB;AAClB,eAAO,MAAM,WAAW,2BAA2B,CAAC;AAEpD,uBAAuB;AACvB,eAAO,MAAM,iBAAiB,qDAA6C,CAAC;AAI5E,eAAe;AACf,eAAO,MAAM,WAAW,sEAAuE,CAAC;AAEhG,eAAe;AACf,eAAO,MAAM,YAAY,mDAAoD,CAAC;AAI9E,kBAAkB;AAClB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBd,CAAC;AAEX,0BAA0B;AAC1B,eAAO,MAAM,gBAAgB,mDAAoD,CAAC;AAElF,aAAa;AACb,eAAO,MAAM,aAAa,6DAA8D,CAAC;AAEzF,aAAa;AACb,eAAO,MAAM,aAAa,oBAAqB,CAAC"}
|
package/dist/lib/constants.js
CHANGED
|
@@ -8,39 +8,56 @@ import * as fs from 'fs';
|
|
|
8
8
|
// ==================== 版本和名称 ====================
|
|
9
9
|
/**
|
|
10
10
|
* 获取 package.json 版本号
|
|
11
|
-
* 兼容 ESM 和
|
|
11
|
+
* 兼容 ESM、CommonJS 和 npx 环境
|
|
12
12
|
*/
|
|
13
13
|
function getPackageVersion() {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
// 查找并验证 package.json
|
|
15
|
+
const findPackageJson = (dir) => {
|
|
16
|
+
const pkgPath = path.join(dir, 'package.json');
|
|
17
|
+
if (!fs.existsSync(pkgPath))
|
|
18
|
+
return null;
|
|
19
|
+
try {
|
|
20
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
|
|
21
|
+
if (pkg.name === 'claude-pangu' || pkg.name === 'oh-my-claude') {
|
|
20
22
|
return pkg.version || '0.0.0';
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
catch {
|
|
26
|
+
// 忽略解析错误
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
};
|
|
30
|
+
try {
|
|
31
|
+
// 方法 1: 使用 __dirname 向上查找 (CommonJS / Jest / npx 环境)
|
|
32
|
+
if (typeof __dirname !== 'undefined' && __dirname) {
|
|
33
|
+
const candidatePaths = [
|
|
34
|
+
path.resolve(__dirname, '..'), // lib/ -> 根目录
|
|
35
|
+
path.resolve(__dirname, '..', '..'), // dist/lib/ -> 根目录
|
|
36
|
+
path.resolve(__dirname, '..', '..', '..'), // 深层嵌套
|
|
37
|
+
];
|
|
38
|
+
for (const candidate of candidatePaths) {
|
|
39
|
+
const version = findPackageJson(candidate);
|
|
40
|
+
if (version)
|
|
41
|
+
return version;
|
|
29
42
|
}
|
|
30
43
|
}
|
|
31
|
-
// 方法
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
if (
|
|
40
|
-
|
|
41
|
-
|
|
44
|
+
// 方法 2: 使用 __filename 向上遍历查找 (更可靠的 npx 支持)
|
|
45
|
+
if (typeof __filename !== 'undefined' && __filename) {
|
|
46
|
+
let currentDir = path.dirname(__filename);
|
|
47
|
+
for (let i = 0; i < 10; i++) {
|
|
48
|
+
const version = findPackageJson(currentDir);
|
|
49
|
+
if (version)
|
|
50
|
+
return version;
|
|
51
|
+
const parentDir = path.dirname(currentDir);
|
|
52
|
+
if (parentDir === currentDir)
|
|
53
|
+
break;
|
|
54
|
+
currentDir = parentDir;
|
|
42
55
|
}
|
|
43
56
|
}
|
|
57
|
+
// 方法 3: 从 process.cwd() 查找(开发环境)
|
|
58
|
+
const cwdVersion = findPackageJson(process.cwd());
|
|
59
|
+
if (cwdVersion)
|
|
60
|
+
return cwdVersion;
|
|
44
61
|
return '0.0.0';
|
|
45
62
|
}
|
|
46
63
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,kDAAkD;AAElD;;;GAGG;AACH,SAAS,iBAAiB;IACxB,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,kDAAkD;AAElD;;;GAGG;AACH,SAAS,iBAAiB;IACxB,qBAAqB;IACrB,MAAM,eAAe,GAAG,CAAC,GAAW,EAAiB,EAAE;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAwC,CAAC;YACjG,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC/D,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;YAChC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,qDAAqD;QACrD,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,EAAE,CAAC;YAClD,MAAM,cAAc,GAAG;gBACrB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,EAAY,cAAc;gBACvD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,EAAM,mBAAmB;gBAC5D,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO;aACnD,CAAC;YAEF,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;gBAC3C,IAAI,OAAO;oBAAE,OAAO,OAAO,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,IAAI,OAAO,UAAU,KAAK,WAAW,IAAI,UAAU,EAAE,CAAC;YACpD,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;gBAC5C,IAAI,OAAO;oBAAE,OAAO,OAAO,CAAC;gBAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC3C,IAAI,SAAS,KAAK,UAAU;oBAAE,MAAM;gBACpC,UAAU,GAAG,SAAS,CAAC;YACzB,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAClD,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;QAElC,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,iCAAiC;AACjC,MAAM,CAAC,MAAM,OAAO,GAAW,iBAAiB,EAAE,CAAC;AAEnD,WAAW;AACX,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC;AAE1C,iDAAiD;AAEjD,YAAY;AACZ,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AAErC,WAAW;AACX,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;AAEpE,eAAe;AACf,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAE9D,aAAa;AACb,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;AAE9E,eAAe;AACf,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;AAElF,aAAa;AACb,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAEjF,oBAAoB;AACpB,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAEvE,kBAAkB;AAClB,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAEnE,qDAAqD;AAErD,YAAY;AACZ,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AAErC,iBAAiB;AACjB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3C,YAAY;AACZ,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C,mDAAmD;AAEnD,gBAAgB;AAChB,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtD,cAAc;AACd,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE1C,kDAAkD;AAElD,aAAa;AACb,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AAEjC,aAAa;AACb,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,sDAAsD;AAEtD,kBAAkB;AAClB,MAAM,CAAC,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAEpD,uBAAuB;AACvB,MAAM,CAAC,MAAM,iBAAiB,GAAG,sBAAsB,WAAW,SAAS,CAAC;AAE5E,sDAAsD;AAEtD,eAAe;AACf,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,CAAU,CAAC;AAEhG,eAAe;AACf,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,cAAc,EAAE,SAAS,CAAU,CAAC;AAE9E,qDAAqD;AAErD,kBAAkB;AAClB,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE;IACrC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE;IACnC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE;IACnC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE;IACrC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE;IACvC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;IACjC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE;IACnC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAC1C,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE;IACvC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAC3C,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE;IACrC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE;IACnC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE;IACzC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE;IACzC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE;IACvC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE;IACnC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAC1C,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE;CAC7B,CAAC;AAEX,0BAA0B;AAC1B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,aAAa,CAAU,CAAC;AAElF,aAAa;AACb,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,CAAU,CAAC;AAEzF,aAAa;AACb,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAO,CAAU,CAAC"}
|
package/dist/lib/installer.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../lib/installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAsD,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKzH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;AAIxC;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../lib/installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAsD,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKzH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;AAIxC;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAsEtC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAOzC;AAID;;GAEG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA2C7C;AAID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAWxD;AAED;;GAEG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAqC/C;AAID;;GAEG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CA0D5C"}
|
package/dist/lib/installer.js
CHANGED
|
@@ -22,46 +22,74 @@ export function getPluginDir() {
|
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* 获取当前包的路径
|
|
25
|
-
* 兼容 ESM 和
|
|
25
|
+
* 兼容 ESM、CommonJS 和 npx 环境
|
|
26
26
|
*/
|
|
27
27
|
export function getPackageDir() {
|
|
28
|
-
//
|
|
28
|
+
// 验证路径是否为有效的 claude-pangu 包目录
|
|
29
|
+
const isValidPackageDir = (dir) => {
|
|
30
|
+
const pkgPath = path.join(dir, 'package.json');
|
|
31
|
+
if (!fs.existsSync(pkgPath))
|
|
32
|
+
return false;
|
|
33
|
+
try {
|
|
34
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
|
|
35
|
+
if (pkg.name !== 'claude-pangu' && pkg.name !== 'oh-my-claude')
|
|
36
|
+
return false;
|
|
37
|
+
// 还需要检查是否有 agents 目录(确保是完整的包)
|
|
38
|
+
const agentsDir = path.join(dir, 'agents');
|
|
39
|
+
return fs.existsSync(agentsDir);
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
// 方法 1: 使用 __dirname (CommonJS / Jest / npx 环境)
|
|
29
46
|
if (typeof __dirname !== 'undefined' && __dirname) {
|
|
30
|
-
//
|
|
31
|
-
//
|
|
47
|
+
// 可能的目录结构:
|
|
48
|
+
// - lib/installer.ts -> 根目录 (开发环境, ts-node)
|
|
49
|
+
// - dist/lib/installer.js -> 根目录 (编译后)
|
|
50
|
+
// - node_modules/.pnpm/claude-pangu@x.x.x/node_modules/claude-pangu/dist/lib/installer.js
|
|
51
|
+
// - AppData/Local/npm-cache/_npx/.../node_modules/claude-pangu/dist/lib/installer.js
|
|
32
52
|
const candidatePaths = [
|
|
33
53
|
path.resolve(__dirname, '..'), // lib/ -> 根目录
|
|
34
54
|
path.resolve(__dirname, '..', '..'), // dist/lib/ -> 根目录
|
|
55
|
+
path.resolve(__dirname, '..', '..', '..'), // 深层嵌套情况
|
|
35
56
|
];
|
|
36
57
|
for (const candidate of candidatePaths) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
try {
|
|
40
|
-
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
|
|
41
|
-
if (pkg.name === 'claude-pangu' || pkg.name === 'oh-my-claude') {
|
|
42
|
-
return candidate;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
catch {
|
|
46
|
-
// 继续尝试下一个路径
|
|
47
|
-
}
|
|
58
|
+
if (isValidPackageDir(candidate)) {
|
|
59
|
+
return candidate;
|
|
48
60
|
}
|
|
49
61
|
}
|
|
50
62
|
}
|
|
51
|
-
// 方法 2:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
if (
|
|
57
|
-
return
|
|
63
|
+
// 方法 2: 使用 __filename 向上遍历查找 (更可靠的 npx 支持)
|
|
64
|
+
if (typeof __filename !== 'undefined' && __filename) {
|
|
65
|
+
let currentDir = path.dirname(__filename);
|
|
66
|
+
// 最多向上查找 10 层
|
|
67
|
+
for (let i = 0; i < 10; i++) {
|
|
68
|
+
if (isValidPackageDir(currentDir)) {
|
|
69
|
+
return currentDir;
|
|
58
70
|
}
|
|
71
|
+
const parentDir = path.dirname(currentDir);
|
|
72
|
+
if (parentDir === currentDir)
|
|
73
|
+
break; // 到达根目录
|
|
74
|
+
currentDir = parentDir;
|
|
59
75
|
}
|
|
60
|
-
|
|
61
|
-
|
|
76
|
+
}
|
|
77
|
+
// 方法 3: 从 process.cwd() 查找(开发环境)
|
|
78
|
+
if (isValidPackageDir(process.cwd())) {
|
|
79
|
+
return process.cwd();
|
|
80
|
+
}
|
|
81
|
+
// 方法 4: 检查全局 npm 安装路径
|
|
82
|
+
const globalPaths = [
|
|
83
|
+
path.join(process.env.APPDATA || '', 'npm', 'node_modules', 'claude-pangu'),
|
|
84
|
+
path.join(process.env.PREFIX || '/usr/local', 'lib', 'node_modules', 'claude-pangu'),
|
|
85
|
+
'/usr/local/lib/node_modules/claude-pangu',
|
|
86
|
+
];
|
|
87
|
+
for (const globalPath of globalPaths) {
|
|
88
|
+
if (isValidPackageDir(globalPath)) {
|
|
89
|
+
return globalPath;
|
|
62
90
|
}
|
|
63
91
|
}
|
|
64
|
-
//
|
|
92
|
+
// 后备:返回当前工作目录(可能会失败,但至少会有清晰的错误信息)
|
|
65
93
|
return process.cwd();
|
|
66
94
|
}
|
|
67
95
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../lib/installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACzH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEhG,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;AAExC,mDAAmD;AAEnD;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../lib/installer.ts"],"names":[],"mappings":"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"}
|