@fanchao8609/agent_brain_sync 1.8.3 → 1.8.4

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/install.js +14 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fanchao8609/agent_brain_sync",
3
- "version": "1.8.3",
3
+ "version": "1.8.4",
4
4
  "description": "agent-brain-sync: 跨会话 AI 编码记忆 — hook 纯触发 + CLI/MCP 读写 .brain markdown 图谱, 防并发写保护。",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/src/install.js CHANGED
@@ -39,6 +39,20 @@ const ALL_SKILLS = (() => {
39
39
  if (!fsSync.existsSync(src)) continue; // 只认含 SKILL.md 的子目录
40
40
  out.push({ name: e.name, src });
41
41
  }
42
+ if (!out.length) {
43
+ // 包内一个 skill 都没找到 = 安装树与代码版本不一致(半升级 / 旧布局 / 打包漏文件)。
44
+ // 不静默装 0 个: 曾实测新版代码遇扁平旧布局 → out=[] → 一句不说就什么都不装,
45
+ // 而旧版代码遇新布局只报一个当前版本根本不存在的路径(E​NOENT skill/SKILL.md), 把人引去查源码。
46
+ const v = (() => { try { return JSON.parse(fsSync.readFileSync(join(ABS_DIR, 'package.json'), 'utf8')).version; } catch { return 'unknown'; } })();
47
+ const flat = fsSync.existsSync(join(SKILL_ROOT, 'SKILL.md'));
48
+ throw new Error(
49
+ `本包内没有可安装的 skill(${SKILL_ROOT}),安装树与代码版本不一致(当前 ${v})。\n` +
50
+ (flat
51
+ ? ' 检测到旧版扁平布局 skill/SKILL.md,本版要求 skill/<名称>/SKILL.md。\n'
52
+ : ' skill/ 目录缺失或不含任何 <名称>/SKILL.md。\n') +
53
+ ' 修复: npm i -g @fanchao8609/agent_brain_sync@latest && abs install(幂等,可安全重跑)',
54
+ );
55
+ }
42
56
  return out;
43
57
  })();
44
58
  // 主 skill(会话开场加载的那个)。它也只是 ALL_SKILLS 的一员,此处仅用于告警比对。