wangchuan 5.0.0 → 5.2.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.
Files changed (75) hide show
  1. package/README.md +19 -8
  2. package/README.zh-CN.md +19 -8
  3. package/dist/bin/wangchuan.d.ts +10 -7
  4. package/dist/bin/wangchuan.d.ts.map +1 -1
  5. package/dist/bin/wangchuan.js +31 -11
  6. package/dist/bin/wangchuan.js.map +1 -1
  7. package/dist/src/agents/index.d.ts +5 -0
  8. package/dist/src/agents/index.d.ts.map +1 -1
  9. package/dist/src/agents/index.js +32 -0
  10. package/dist/src/agents/index.js.map +1 -1
  11. package/dist/src/commands/doctor.d.ts.map +1 -1
  12. package/dist/src/commands/doctor.js +3 -17
  13. package/dist/src/commands/doctor.js.map +1 -1
  14. package/dist/src/commands/init.d.ts.map +1 -1
  15. package/dist/src/commands/init.js +70 -6
  16. package/dist/src/commands/init.js.map +1 -1
  17. package/dist/src/commands/key.d.ts.map +1 -1
  18. package/dist/src/commands/key.js +1 -17
  19. package/dist/src/commands/key.js.map +1 -1
  20. package/dist/src/commands/memory.js +44 -2
  21. package/dist/src/commands/memory.js.map +1 -1
  22. package/dist/src/commands/pull.js.map +1 -1
  23. package/dist/src/commands/push.js.map +1 -1
  24. package/dist/src/commands/snapshot.d.ts.map +1 -1
  25. package/dist/src/commands/snapshot.js +1 -19
  26. package/dist/src/commands/snapshot.js.map +1 -1
  27. package/dist/src/commands/sync.d.ts.map +1 -1
  28. package/dist/src/commands/sync.js +1 -15
  29. package/dist/src/commands/sync.js.map +1 -1
  30. package/dist/src/commands/watch.js.map +1 -1
  31. package/dist/src/core/config.d.ts.map +1 -1
  32. package/dist/src/core/config.js +4 -2
  33. package/dist/src/core/config.js.map +1 -1
  34. package/dist/src/core/crypto.d.ts +2 -0
  35. package/dist/src/core/crypto.d.ts.map +1 -1
  36. package/dist/src/core/crypto.js +10 -2
  37. package/dist/src/core/crypto.js.map +1 -1
  38. package/dist/src/core/merge.d.ts +1 -1
  39. package/dist/src/core/merge.d.ts.map +1 -1
  40. package/dist/src/core/merge.js +2 -18
  41. package/dist/src/core/merge.js.map +1 -1
  42. package/dist/src/core/migrate.d.ts.map +1 -1
  43. package/dist/src/core/migrate.js +5 -20
  44. package/dist/src/core/migrate.js.map +1 -1
  45. package/dist/src/core/sync-lock.d.ts.map +1 -1
  46. package/dist/src/core/sync-lock.js +20 -1
  47. package/dist/src/core/sync-lock.js.map +1 -1
  48. package/dist/src/core/sync.d.ts +4 -4
  49. package/dist/src/core/sync.d.ts.map +1 -1
  50. package/dist/src/core/sync.js +60 -25
  51. package/dist/src/core/sync.js.map +1 -1
  52. package/dist/src/i18n.d.ts.map +1 -1
  53. package/dist/src/i18n.js +17 -1
  54. package/dist/src/i18n.js.map +1 -1
  55. package/dist/src/types.d.ts +13 -3
  56. package/dist/src/types.d.ts.map +1 -1
  57. package/dist/src/types.js.map +1 -1
  58. package/dist/src/utils/fs.d.ts +18 -0
  59. package/dist/src/utils/fs.d.ts.map +1 -0
  60. package/dist/src/utils/fs.js +56 -0
  61. package/dist/src/utils/fs.js.map +1 -0
  62. package/dist/src/utils/lcs.d.ts +8 -0
  63. package/dist/src/utils/lcs.d.ts.map +1 -0
  64. package/dist/src/utils/lcs.js +20 -0
  65. package/dist/src/utils/lcs.js.map +1 -0
  66. package/dist/src/utils/linediff.d.ts +1 -1
  67. package/dist/src/utils/linediff.d.ts.map +1 -1
  68. package/dist/src/utils/linediff.js +22 -39
  69. package/dist/src/utils/linediff.js.map +1 -1
  70. package/dist/test/merge.test.d.ts +5 -0
  71. package/dist/test/merge.test.d.ts.map +1 -0
  72. package/dist/test/merge.test.js +226 -0
  73. package/dist/test/merge.test.js.map +1 -0
  74. package/package.json +2 -2
  75. package/skill/SKILL.md +50 -3
package/README.md CHANGED
@@ -17,13 +17,10 @@ Wangchuan encrypts and syncs your AI agent configurations, memories, and skills
17
17
  ```bash
18
18
  npm install -g wangchuan
19
19
 
20
- # 1. Initialize (interactive wizard)
20
+ # 1. Initialize auto-detects installed agents and runs first sync
21
21
  wangchuan init
22
22
 
23
- # 2. Sync everything
24
- wangchuan sync
25
-
26
- # 3. Start background daemon
23
+ # 2. Start background daemon (optional)
27
24
  wangchuan watch
28
25
  ```
29
26
 
@@ -31,7 +28,6 @@ On a new machine:
31
28
 
32
29
  ```bash
33
30
  wangchuan init --repo git@github.com:you/brain.git --key /path/to/master.key
34
- wangchuan sync
35
31
  ```
36
32
 
37
33
  ---
@@ -40,13 +36,14 @@ wangchuan sync
40
36
 
41
37
  | Command | Aliases | Description | Key Flags |
42
38
  |---------|---------|-------------|-----------|
43
- | `init` | — | One-time setup (interactive if no `--repo`) | `--repo`, `--key`, `--force` |
44
- | `sync` | `s` | Smart bidirectional sync — THE daily command | `-a, --agent`, `-n, --dry-run` |
39
+ | `init` | — | One-time setup auto-detects agents, offers `gh repo create`, runs first sync | `--repo`, `--key`, `--force` |
40
+ | `sync` | `s` | Smart bidirectional sync — THE daily command | `-a, --agent`, `-n, --dry-run`, `-o, --only`, `-x, --exclude` |
45
41
  | `status` | `st` | One-screen summary + health score | `-v, --verbose` |
46
42
  | `watch` | — | Background daemon for continuous sync | `-i, --interval <min>` |
47
43
  | `doctor` | — | Diagnose + auto-fix everything | `--key-export`, `--key-rotate`, `--setup` |
48
44
  | `memory` | — | Browse/copy memories between agents | `list`, `show`, `copy`, `broadcast` |
49
45
  | `env` | — | Multi-environment management | `list`, `create`, `switch`, `current`, `delete` |
46
+ | `snapshot` | `snap` | Manage sync snapshots | `save`, `list`, `restore`, `delete` |
50
47
  | `lang` | — | Switch display language | `zh`, `en` |
51
48
 
52
49
  ---
@@ -81,6 +78,19 @@ Agent paths are customizable in `~/.wangchuan/config.json`.
81
78
  - Delete propagation — removed from all agents → pruned from repo
82
79
  - Existing entries preserved (no overwrite)
83
80
 
81
+ ### Snapshot Rollback
82
+ - `wangchuan snapshot save [name]` — save a named snapshot before risky changes
83
+ - `wangchuan snapshot list` — view all saved snapshots
84
+ - `wangchuan snapshot restore <name>` — roll back to a previous snapshot
85
+ - `wangchuan snapshot delete <name>` — remove a snapshot
86
+
87
+ ### Custom Agent Registration
88
+ - Define custom agents in `config.json` via `customAgents` field — no recompilation needed
89
+ - Custom agents participate in sync just like built-in agents
90
+
91
+ ### Extended Conflict Resolution
92
+ - Three-way merge now supports `.json`, `.yaml`, `.yml` files in addition to `.md`/`.txt`
93
+
84
94
  ### Multi-Environment
85
95
  - Create isolated environments: `wangchuan env create work`
86
96
  - Switch instantly: `wangchuan env switch work`
@@ -93,6 +103,7 @@ Agent paths are customizable in `~/.wangchuan/config.json`.
93
103
 
94
104
  ### Memory Browsing
95
105
  - `wangchuan memory list` — overview of all agent memories
106
+ - `wangchuan memory show <agent>` — list all files; fuzzy/substring matching with suggestions on mismatch
96
107
  - `wangchuan memory copy openclaw claude` — transfer memories
97
108
  - `wangchuan memory broadcast claude` — share to all agents
98
109
 
package/README.zh-CN.md CHANGED
@@ -17,13 +17,10 @@
17
17
  ```bash
18
18
  npm install -g wangchuan
19
19
 
20
- # 1. 初始化(交互式向导)
20
+ # 1. 初始化 — 自动检测已安装的智能体并执行首次同步
21
21
  wangchuan init
22
22
 
23
- # 2. 同步全部
24
- wangchuan sync
25
-
26
- # 3. 启动后台守护进程
23
+ # 2. 启动后台守护进程(可选)
27
24
  wangchuan watch
28
25
  ```
29
26
 
@@ -31,7 +28,6 @@ wangchuan watch
31
28
 
32
29
  ```bash
33
30
  wangchuan init --repo git@github.com:you/brain.git --key /path/to/master.key
34
- wangchuan sync
35
31
  ```
36
32
 
37
33
  ---
@@ -40,13 +36,14 @@ wangchuan sync
40
36
 
41
37
  | 命令 | 别名 | 描述 | 主要参数 |
42
38
  |------|------|------|----------|
43
- | `init` | — | 首次初始化(无 `--repo` 时进入交互向导) | `--repo`、`--key`、`--force` |
44
- | `sync` | `s` | 智能双向同步 — 日常唯一命令 | `-a, --agent`、`-n, --dry-run` |
39
+ | `init` | — | 首次初始化 — 自动检测智能体,支持 `gh repo create` 创建仓库,执行首次同步 | `--repo`、`--key`、`--force` |
40
+ | `sync` | `s` | 智能双向同步 — 日常唯一命令 | `-a, --agent`、`-n, --dry-run`、`-o, --only`、`-x, --exclude` |
45
41
  | `status` | `st` | 一屏总览 + 健康评分 | `-v, --verbose` |
46
42
  | `watch` | — | 后台守护进程,持续自动同步 | `-i, --interval <分钟>` |
47
43
  | `doctor` | — | 诊断 + 自动修复所有问题 | `--key-export`、`--key-rotate`、`--setup` |
48
44
  | `memory` | — | 浏览/复制智能体记忆 | `list`、`show`、`copy`、`broadcast` |
49
45
  | `env` | — | 多环境管理 | `list`、`create`、`switch`、`current`、`delete` |
46
+ | `snapshot` | `snap` | 管理同步快照 | `save`、`list`、`restore`、`delete` |
50
47
  | `lang` | — | 切换显示语言 | `zh`、`en` |
51
48
 
52
49
  ---
@@ -81,6 +78,19 @@ wangchuan sync
81
78
  - 删除传播 — 所有智能体都删除后自动从仓库清理
82
79
  - 已有条目不会被覆盖
83
80
 
81
+ ### 快照回滚
82
+ - `wangchuan snapshot save [name]` — 在危险操作前保存命名快照
83
+ - `wangchuan snapshot list` — 查看所有已保存的快照
84
+ - `wangchuan snapshot restore <name>` — 回滚到指定快照
85
+ - `wangchuan snapshot delete <name>` — 删除快照
86
+
87
+ ### 自定义智能体注册
88
+ - 在 `config.json` 中通过 `customAgents` 字段定义自定义智能体,无需重新编译
89
+ - 自定义智能体与内置智能体一样参与同步
90
+
91
+ ### 扩展冲突解决
92
+ - 三方合并现在支持 `.json`、`.yaml`、`.yml` 文件(除 `.md`/`.txt` 外)
93
+
84
94
  ### 多环境管理
85
95
  - 创建隔离环境:`wangchuan env create work`
86
96
  - 即时切换:`wangchuan env switch work`
@@ -93,6 +103,7 @@ wangchuan sync
93
103
 
94
104
  ### 记忆浏览
95
105
  - `wangchuan memory list` — 查看所有智能体记忆概览
106
+ - `wangchuan memory show <agent>` — 列出所有文件;支持模糊/子串匹配,不匹配时给出建议
96
107
  - `wangchuan memory copy openclaw claude` — 在智能体间传输记忆
97
108
  - `wangchuan memory broadcast claude` — 将记忆广播到所有智能体
98
109
 
@@ -2,16 +2,19 @@
2
2
  /**
3
3
  * wangchuan.ts — CLI entry
4
4
  *
5
- * Simplified CLI surface: 6 user-facing commands.
5
+ * Simplified CLI surface: 9 user-facing commands.
6
6
  * Philosophy: "foolproof AI memory sync" — minimize cognitive load.
7
7
  *
8
8
  * Commands:
9
- * init — One-time setup (interactive if no --repo)
10
- * sync — Smart bidirectional sync (the ONE daily command)
11
- * status — Show sync state at a glance (--verbose for full detail)
12
- * doctor — Diagnose + auto-fix issues (always runs --fix)
13
- * env — Multi-environment management
14
- * lang Switch display language
9
+ * init — One-time setup (interactive if no --repo)
10
+ * sync — Smart bidirectional sync (the ONE daily command)
11
+ * status — Show sync state at a glance (--verbose for full detail)
12
+ * doctor — Diagnose + auto-fix issues (always runs --fix)
13
+ * env — Multi-environment management
14
+ * watch Background daemon for continuous sync
15
+ * memory — Browse/copy memories across agents
16
+ * snapshot — Manage sync snapshots (save/list/restore/delete)
17
+ * lang — Switch display language
15
18
  */
16
19
  export {};
17
20
  //# sourceMappingURL=wangchuan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wangchuan.d.ts","sourceRoot":"","sources":["../../bin/wangchuan.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG"}
1
+ {"version":3,"file":"wangchuan.d.ts","sourceRoot":"","sources":["../../bin/wangchuan.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;GAgBG"}
@@ -2,16 +2,19 @@
2
2
  /**
3
3
  * wangchuan.ts — CLI entry
4
4
  *
5
- * Simplified CLI surface: 6 user-facing commands.
5
+ * Simplified CLI surface: 9 user-facing commands.
6
6
  * Philosophy: "foolproof AI memory sync" — minimize cognitive load.
7
7
  *
8
8
  * Commands:
9
- * init — One-time setup (interactive if no --repo)
10
- * sync — Smart bidirectional sync (the ONE daily command)
11
- * status — Show sync state at a glance (--verbose for full detail)
12
- * doctor — Diagnose + auto-fix issues (always runs --fix)
13
- * env — Multi-environment management
14
- * lang Switch display language
9
+ * init — One-time setup (interactive if no --repo)
10
+ * sync — Smart bidirectional sync (the ONE daily command)
11
+ * status — Show sync state at a glance (--verbose for full detail)
12
+ * doctor — Diagnose + auto-fix issues (always runs --fix)
13
+ * env — Multi-environment management
14
+ * watch Background daemon for continuous sync
15
+ * memory — Browse/copy memories across agents
16
+ * snapshot — Manage sync snapshots (save/list/restore/delete)
17
+ * lang — Switch display language
15
18
  */
16
19
  import { Command } from 'commander';
17
20
  import { cmdInit } from '../src/commands/init.js';
@@ -22,20 +25,27 @@ import { cmdDoctor } from '../src/commands/doctor.js';
22
25
  import { cmdLang } from '../src/commands/lang.js';
23
26
  import { cmdWatch } from '../src/commands/watch.js';
24
27
  import { cmdMemory } from '../src/commands/memory.js';
28
+ import { cmdSnapshot } from '../src/commands/snapshot.js';
29
+ import { config } from '../src/core/config.js';
25
30
  import { logger } from '../src/utils/logger.js';
26
31
  import { t } from '../src/i18n.js';
27
32
  import { AGENT_NAMES } from '../src/types.js';
28
33
  function parseAgent(val) {
29
- if (!AGENT_NAMES.includes(val)) {
30
- throw new Error(t('cli.invalidAgent', { val }));
34
+ if (AGENT_NAMES.includes(val)) {
35
+ return val;
31
36
  }
32
- return val;
37
+ // Also accept custom agent names from config
38
+ const cfg = config.load();
39
+ if (cfg?.customAgents && val in cfg.customAgents) {
40
+ return val;
41
+ }
42
+ throw new Error(t('cli.invalidAgent', { val }));
33
43
  }
34
44
  const program = new Command();
35
45
  program
36
46
  .name('wangchuan')
37
47
  .description(t('cli.description'))
38
- .version('5.0.0');
48
+ .version('5.2.0');
39
49
  // ── init ────────────────────────────────────────────────────────
40
50
  program
41
51
  .command('init')
@@ -53,6 +63,8 @@ program
53
63
  .description(t('cli.cmd.sync'))
54
64
  .option('-a, --agent <name>', t('cli.cmd.agent'), parseAgent)
55
65
  .option('-n, --dry-run', t('cli.cmd.dryRun'), false)
66
+ .option('-o, --only <patterns...>', t('cli.cmd.sync.only'))
67
+ .option('-x, --exclude <patterns...>', t('cli.cmd.sync.exclude'))
56
68
  .action(async (opts) => {
57
69
  await run(() => cmdSync(opts));
58
70
  });
@@ -102,6 +114,14 @@ program
102
114
  .action(async (action, args, opts) => {
103
115
  await run(() => cmdMemory({ action, args, agent: opts.agent, file: opts.file }));
104
116
  });
117
+ // ── snapshot ──────────────────────────────────────────────────
118
+ program
119
+ .command('snapshot <action> [name]')
120
+ .alias('snap')
121
+ .description(t('cli.cmd.snapshot'))
122
+ .action(async (action, name) => {
123
+ await run(() => cmdSnapshot({ action, name }));
124
+ });
105
125
  // ── lang ────────────────────────────────────────────────────────
106
126
  program
107
127
  .command('lang [language]')
@@ -1 +1 @@
1
- {"version":3,"file":"wangchuan.js","sourceRoot":"","sources":["../../bin/wangchuan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wangchuan.js","sourceRoot":"","sources":["../../bin/wangchuan.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,11 @@ export declare const AGENT_DEFINITIONS: readonly AgentDefinition[];
20
20
  export declare const AGENT_NAMES_FROM_DEFS: string[];
21
21
  /** Build AgentProfiles from definitions */
22
22
  export declare function buildDefaultProfiles(): AgentProfiles;
23
+ /**
24
+ * Auto-detect which agents are installed by checking workspace directory existence.
25
+ * Returns a new AgentProfiles with only detected agents enabled.
26
+ */
27
+ export declare function autoDetectAgents(profiles: AgentProfiles): AgentProfiles;
23
28
  /** Build SharedConfig from definitions */
24
29
  export declare function buildDefaultShared(): SharedConfig;
25
30
  export type { AgentDefinition } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAU/D;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,eAAe,EAQ9C,CAAC;AAEX,oEAAoE;AACpE,eAAO,MAAM,qBAAqB,UAAqC,CAAC;AAExE,2CAA2C;AAC3C,wBAAgB,oBAAoB,IAAI,aAAa,CAMpD;AAED,0CAA0C;AAC1C,wBAAgB,kBAAkB,IAAI,YAAY,CAqBjD;AAED,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAgB,YAAY,EAAE,MAAM,aAAa,CAAC;AAW7E;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,eAAe,EAQ9C,CAAC;AAEX,oEAAoE;AACpE,eAAO,MAAM,qBAAqB,UAAqC,CAAC;AAaxE,2CAA2C;AAC3C,wBAAgB,oBAAoB,IAAI,aAAa,CAMpD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAcvE;AAED,0CAA0C;AAC1C,wBAAgB,kBAAkB,IAAI,YAAY,CAqBjD;AAED,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
@@ -9,6 +9,10 @@
9
9
  * To add a new agent, create a new file in src/agents/ and add it to
10
10
  * the imports below — no changes needed in types.ts or config.ts.
11
11
  */
12
+ import fs from 'fs';
13
+ import os from 'os';
14
+ import path from 'path';
15
+ import { AGENT_NAMES } from '../types.js';
12
16
  import { openclaw } from './openclaw.js';
13
17
  import { claude } from './claude.js';
14
18
  import { gemini } from './gemini.js';
@@ -31,6 +35,14 @@ export const AGENT_DEFINITIONS = [
31
35
  ];
32
36
  /** Derive AGENT_NAMES tuple from definitions (keeps type safety) */
33
37
  export const AGENT_NAMES_FROM_DEFS = AGENT_DEFINITIONS.map(d => d.name);
38
+ // Runtime guard: AGENT_DEFINITIONS must match AGENT_NAMES in types.ts.
39
+ // If you add/remove an agent, update BOTH AGENT_DEFINITIONS here AND AGENT_NAMES in types.ts.
40
+ if (AGENT_NAMES.length !== AGENT_NAMES_FROM_DEFS.length ||
41
+ !AGENT_NAMES.every((n, i) => n === AGENT_NAMES_FROM_DEFS[i])) {
42
+ throw new Error(`AGENT_NAMES is out of sync with AGENT_DEFINITIONS.\n` +
43
+ ` types.ts: [${[...AGENT_NAMES].join(', ')}]\n` +
44
+ ` agents/index.ts: [${AGENT_NAMES_FROM_DEFS.join(', ')}]`);
45
+ }
34
46
  /** Build AgentProfiles from definitions */
35
47
  export function buildDefaultProfiles() {
36
48
  const profiles = {};
@@ -39,6 +51,26 @@ export function buildDefaultProfiles() {
39
51
  }
40
52
  return profiles;
41
53
  }
54
+ /**
55
+ * Auto-detect which agents are installed by checking workspace directory existence.
56
+ * Returns a new AgentProfiles with only detected agents enabled.
57
+ */
58
+ export function autoDetectAgents(profiles) {
59
+ const result = {};
60
+ for (const def of AGENT_DEFINITIONS) {
61
+ const profile = profiles[def.name];
62
+ const wsPath = profile.workspacePath.startsWith('~')
63
+ ? path.join(os.homedir(), profile.workspacePath.slice(1))
64
+ : profile.workspacePath;
65
+ let detected = false;
66
+ try {
67
+ detected = fs.statSync(wsPath).isDirectory();
68
+ }
69
+ catch { /* does not exist */ }
70
+ result[def.name] = { ...profile, enabled: detected };
71
+ }
72
+ return result;
73
+ }
42
74
  /** Build SharedConfig from definitions */
43
75
  export function buildDefaultShared() {
44
76
  const skillSources = AGENT_DEFINITIONS
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,QAAQ,EAAE,MAAO,eAAe,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAS,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAS,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAS,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAU,YAAY,CAAC;AAEvC;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA+B;IAC3D,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,SAAS;IACT,MAAM;IACN,KAAK;CACG,CAAC;AAEX,oEAAoE;AACpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAExE,2CAA2C;AAC3C,MAAM,UAAU,oBAAoB;IAClC,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACpC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;IACnC,CAAC;IACD,OAAO,QAAoC,CAAC;AAC9C,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,kBAAkB;IAChC,MAAM,YAAY,GAAG,iBAAiB;SACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAa,EAAE,GAAG,EAAE,CAAC,CAAC,YAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,iBAAiB;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAa,EAAE,GAAG,EAAE,CAAC,CAAC,SAAU,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,SAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAE5F,MAAM,YAAY,GAAG,iBAAiB;SACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAa,EAAE,GAAG,EAAE,CAAC,CAAC,YAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEpE,OAAO;QACL,MAAM,EAAK,EAAE,OAAO,EAAE,YAAY,EAAE;QACpC,GAAG,EAAQ,EAAE,OAAO,EAAE,UAAU,EAAE;QAClC,MAAM,EAAK,EAAE,OAAO,EAAE,YAAY,EAAE;QACpC,SAAS,EAAE;YACT,EAAE,GAAG,EAAE,kBAAkB,EAAE,aAAa,EAAE,uBAAuB,EAAE,OAAO,EAAE,IAAI,EAAE;SACnF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAqUH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACtC;AAID,wBAAsB,SAAS,CAAC,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyKvE"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAwTH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACtC;AAID,wBAAsB,SAAS,CAAC,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyKvE"}
@@ -27,7 +27,7 @@ import { execSync } from 'child_process';
27
27
  import { config } from '../core/config.js';
28
28
  import { resolveGitBranch } from '../core/config.js';
29
29
  import { gitEngine } from '../core/git.js';
30
- import { cryptoEngine } from '../core/crypto.js';
30
+ import { cryptoEngine, clearKeyCache } from '../core/crypto.js';
31
31
  import { syncLock } from '../core/sync-lock.js';
32
32
  import { logger } from '../utils/logger.js';
33
33
  import { t } from '../i18n.js';
@@ -36,6 +36,7 @@ import { syncEngine } from '../core/sync.js';
36
36
  import { loadIgnorePatterns } from '../core/sync.js';
37
37
  import { ensureMigrated } from '../core/migrate.js';
38
38
  import { validator } from '../utils/validator.js';
39
+ import { walkDir } from '../utils/fs.js';
39
40
  import chalk from 'chalk';
40
41
  import ora from 'ora';
41
42
  const PASS = (msg) => ({ status: 'pass', message: msg });
@@ -215,22 +216,6 @@ function classifyFiles(entries, staleDays = 90) {
215
216
  return { stale, dormant, phantom };
216
217
  }
217
218
  // ── Key management helpers (from key.ts) ────────────────────────
218
- function walkDir(dirAbs) {
219
- const results = [];
220
- if (!fs.existsSync(dirAbs))
221
- return results;
222
- function walk(subPath) {
223
- const full = path.join(dirAbs, subPath);
224
- if (fs.statSync(full).isDirectory()) {
225
- fs.readdirSync(full).forEach(f => walk(path.join(subPath, f)));
226
- }
227
- else {
228
- results.push(subPath);
229
- }
230
- }
231
- fs.readdirSync(dirAbs).forEach(f => walk(f));
232
- return results;
233
- }
234
219
  function findEncFiles(repoPath) {
235
220
  const encFiles = [];
236
221
  for (const topDir of ['agents', 'shared']) {
@@ -264,6 +249,7 @@ async function handleKeyRotate(cfg) {
264
249
  decryptedContents.set(relFile, decrypted);
265
250
  }
266
251
  const newKey = cryptoEngine.generateKey(keyPath);
252
+ clearKeyCache(); // Invalidate cached key after rotation
267
253
  spinner.text = t('key.rotate.reencrypting');
268
254
  try {
269
255
  for (const [relFile, plaintext] of decryptedContents) {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAwBhE,wBAAsB,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAa,EAAE,GAAG,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CA0D1G"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAa,MAAM,aAAa,CAAC;AAuE3E,wBAAsB,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAa,EAAE,GAAG,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CA6E1G"}
@@ -14,24 +14,70 @@ import { gitEngine } from '../core/git.js';
14
14
  import { validator } from '../utils/validator.js';
15
15
  import { logger } from '../utils/logger.js';
16
16
  import { t } from '../i18n.js';
17
+ import { AGENT_NAMES } from '../types.js';
17
18
  import ora from 'ora';
18
19
  import fs from 'fs';
19
20
  import path from 'path';
20
21
  import readline from 'readline';
22
+ import { execSync } from 'child_process';
23
+ /** Check if GitHub CLI is installed and authenticated */
24
+ function isGhAvailable() {
25
+ try {
26
+ execSync('which gh', { stdio: 'ignore' });
27
+ execSync('gh auth status', { stdio: 'ignore' });
28
+ return true;
29
+ }
30
+ catch {
31
+ return false;
32
+ }
33
+ }
34
+ /** Create a private repo via GitHub CLI and return the SSH URL */
35
+ function createRepoViaGh() {
36
+ logger.info(t('init.ghCreating'));
37
+ const output = execSync('gh repo create wangchuan-sync --private --confirm 2>&1', {
38
+ encoding: 'utf-8',
39
+ }).trim();
40
+ // gh repo create prints the URL (e.g. https://github.com/user/wangchuan-sync)
41
+ const match = /https:\/\/github\.com\/[^\s]+/.exec(output);
42
+ if (!match) {
43
+ throw new Error(t('init.ghParseFailed', { output }));
44
+ }
45
+ const httpsUrl = match[0];
46
+ // Convert to SSH URL for better auth experience
47
+ const sshUrl = httpsUrl.replace('https://github.com/', 'git@github.com:') + '.git';
48
+ logger.ok(t('init.ghCreated', { url: sshUrl }));
49
+ return sshUrl;
50
+ }
21
51
  /**
22
52
  * Prompt the user for the git repo URL when --repo is not provided and stdin is a TTY.
53
+ * If gh CLI is available, offers to create a new repo.
23
54
  */
24
55
  async function promptRepoUrl() {
56
+ const ghAvailable = isGhAvailable();
57
+ const prompt = ghAvailable ? t('init.promptRepoOrCreate') : t('init.promptRepo');
25
58
  const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
26
59
  return new Promise((resolve, reject) => {
27
- rl.question(t('init.promptRepo') + ' ', (answer) => {
60
+ rl.question(prompt + ' ', (answer) => {
28
61
  rl.close();
29
- const url = answer.trim();
30
- if (!url) {
62
+ const input = answer.trim();
63
+ if (!input) {
31
64
  reject(new Error(t('init.repoRequired')));
32
65
  return;
33
66
  }
34
- resolve(url);
67
+ if (input.toLowerCase() === 'create') {
68
+ if (!ghAvailable) {
69
+ reject(new Error(t('init.ghNotAvailable')));
70
+ return;
71
+ }
72
+ try {
73
+ resolve(createRepoViaGh());
74
+ }
75
+ catch (err) {
76
+ reject(err);
77
+ }
78
+ return;
79
+ }
80
+ resolve(input);
35
81
  });
36
82
  });
37
83
  }
@@ -78,11 +124,29 @@ export async function cmdInit({ repo: repoArg, force = false, key }) {
78
124
  let spinner = ora(t('init.writingConfig')).start();
79
125
  const cfg = await config.initialize(repo);
80
126
  spinner.succeed(t('init.configSaved', { path: config.paths.config }));
127
+ // Report auto-detected agents
128
+ const detectedAgents = AGENT_NAMES.filter(name => cfg.profiles.default[name].enabled);
129
+ if (detectedAgents.length > 0) {
130
+ logger.ok(t('init.detectedAgents', { agents: detectedAgents.join(', ') }));
131
+ }
132
+ else {
133
+ logger.warn(t('init.noAgentsDetected'));
134
+ }
81
135
  await ensureKey(cfg, key);
82
136
  await cloneRepo(repo, cfg.localRepoPath, cfg.branch);
137
+ // ── Auto first sync ────────────────────────────────────────────
138
+ if (detectedAgents.length > 0) {
139
+ logger.info(t('init.autoSync'));
140
+ try {
141
+ const { cmdSync } = await import('./sync.js');
142
+ await cmdSync();
143
+ logger.ok(t('init.autoSyncDone'));
144
+ }
145
+ catch (err) {
146
+ logger.warn(t('init.autoSyncFailed', { error: err.message }));
147
+ }
148
+ }
83
149
  logger.ok('\n' + t('init.complete'));
84
- logger.step(t('init.nextPull'));
85
- logger.step(t('init.nextPush'));
86
150
  return cfg;
87
151
  }
88
152
  /** Normalize a git URL for comparison (strip trailing .git and slashes) */