wangchuan 3.1.0 → 4.0.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.
@@ -2,8 +2,16 @@
2
2
  /**
3
3
  * wangchuan.ts — CLI entry
4
4
  *
5
- * Usage:
6
- * wangchuan <command> [--agent openclaw|claude|gemini|codebuddy|workbuddy|cursor|codex] [flags]
5
+ * Simplified CLI surface: 6 user-facing commands.
6
+ * Philosophy: "foolproof AI memory sync" — minimize cognitive load.
7
+ *
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
7
15
  */
8
16
  export {};
9
17
  //# sourceMappingURL=wangchuan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wangchuan.d.ts","sourceRoot":"","sources":["../../bin/wangchuan.ts"],"names":[],"mappings":";AACA;;;;;GAKG"}
1
+ {"version":3,"file":"wangchuan.d.ts","sourceRoot":"","sources":["../../bin/wangchuan.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG"}
@@ -2,38 +2,24 @@
2
2
  /**
3
3
  * wangchuan.ts — CLI entry
4
4
  *
5
- * Usage:
6
- * wangchuan <command> [--agent openclaw|claude|gemini|codebuddy|workbuddy|cursor|codex] [flags]
5
+ * Simplified CLI surface: 6 user-facing commands.
6
+ * Philosophy: "foolproof AI memory sync" — minimize cognitive load.
7
+ *
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
7
15
  */
8
16
  import { Command } from 'commander';
9
17
  import { cmdInit } from '../src/commands/init.js';
10
- import { cmdPull } from '../src/commands/pull.js';
11
- import { cmdPush } from '../src/commands/push.js';
12
18
  import { cmdStatus } from '../src/commands/status.js';
13
- import { cmdDiff } from '../src/commands/diff.js';
14
- import { cmdList } from '../src/commands/list.js';
15
- import { cmdDump } from '../src/commands/dump.js';
16
- import { cmdLang } from '../src/commands/lang.js';
17
19
  import { cmdSync } from '../src/commands/sync.js';
18
- import { cmdWatch } from '../src/commands/watch.js';
19
20
  import { cmdEnv } from '../src/commands/env.js';
20
- import { cmdAgent } from '../src/commands/agent.js';
21
- import { cmdKey } from '../src/commands/key.js';
22
- import { cmdReport } from '../src/commands/report.js';
23
21
  import { cmdDoctor } from '../src/commands/doctor.js';
24
- import { cmdHistory } from '../src/commands/history.js';
25
- import { cmdSnapshot } from '../src/commands/snapshot.js';
26
- import { cmdSummary } from '../src/commands/summary.js';
27
- import { cmdSetup } from '../src/commands/setup.js';
28
- import { cmdHealth } from '../src/commands/health.js';
29
- import { cmdSearch } from '../src/commands/search.js';
30
- import { cmdConfigMgmt } from '../src/commands/config-mgmt.js';
31
- import { cmdChangelog } from '../src/commands/changelog.js';
32
- import { cmdTag } from '../src/commands/tag.js';
33
- import { cmdCleanup } from '../src/commands/cleanup.js';
34
- import { cmdTemplate } from '../src/commands/template.js';
35
- import { cmdBatch } from '../src/commands/batch.js';
36
- import { cmdCompletions } from '../src/commands/completions.js';
22
+ import { cmdLang } from '../src/commands/lang.js';
37
23
  import { logger } from '../src/utils/logger.js';
38
24
  import { t } from '../src/i18n.js';
39
25
  import { AGENT_NAMES } from '../src/types.js';
@@ -43,14 +29,11 @@ function parseAgent(val) {
43
29
  }
44
30
  return val;
45
31
  }
46
- function parseCommaSeparated(val) {
47
- return val.split(',').map(s => s.trim()).filter(s => s.length > 0);
48
- }
49
32
  const program = new Command();
50
33
  program
51
34
  .name('wangchuan')
52
35
  .description(t('cli.description'))
53
- .version('3.1.0');
36
+ .version('4.0.0');
54
37
  // ── init ────────────────────────────────────────────────────────
55
38
  program
56
39
  .command('init')
@@ -61,29 +44,15 @@ program
61
44
  .action(async (opts) => {
62
45
  await run(() => cmdInit(opts));
63
46
  });
64
- // ── pull ────────────────────────────────────────────────────────
65
- program
66
- .command('pull')
67
- .alias('down')
68
- .description(t('cli.cmd.pull'))
69
- .option('-a, --agent <name>', t('cli.cmd.agent'), parseAgent)
70
- .option('-o, --only <patterns>', t('cli.cmd.only'), parseCommaSeparated)
71
- .option('-x, --exclude <patterns>', t('cli.cmd.exclude'), parseCommaSeparated)
72
- .action(async (opts) => {
73
- await run(() => cmdPull(opts));
74
- });
75
- // ── push ────────────────────────────────────────────────────────
47
+ // ── sync ────────────────────────────────────────────────────────
76
48
  program
77
- .command('push')
78
- .alias('up')
79
- .description(t('cli.cmd.push'))
80
- .option('-m, --message <msg>', t('cli.cmd.push.msg'))
49
+ .command('sync')
50
+ .alias('s')
51
+ .description(t('cli.cmd.sync'))
81
52
  .option('-a, --agent <name>', t('cli.cmd.agent'), parseAgent)
82
53
  .option('-n, --dry-run', t('cli.cmd.dryRun'), false)
83
- .option('-o, --only <patterns>', t('cli.cmd.only'), parseCommaSeparated)
84
- .option('-x, --exclude <patterns>', t('cli.cmd.exclude'), parseCommaSeparated)
85
54
  .action(async (opts) => {
86
- await run(() => cmdPush(opts));
55
+ await run(() => cmdSync(opts));
87
56
  });
88
57
  // ── status ──────────────────────────────────────────────────────
89
58
  program
@@ -91,62 +60,19 @@ program
91
60
  .alias('st')
92
61
  .description(t('cli.cmd.status'))
93
62
  .option('-a, --agent <name>', t('cli.cmd.agent'), parseAgent)
63
+ .option('-v, --verbose', t('cli.cmd.status.verbose'), false)
94
64
  .action(async (opts) => {
95
65
  await run(() => cmdStatus(opts));
96
66
  });
97
- // ── diff ────────────────────────────────────────────────────────
98
- program
99
- .command('diff')
100
- .alias('d')
101
- .description(t('cli.cmd.diff'))
102
- .option('-a, --agent <name>', t('cli.cmd.agent'), parseAgent)
103
- .action(async (opts) => {
104
- await run(() => cmdDiff(opts));
105
- });
106
- // ── list ────────────────────────────────────────────────────────
107
- program
108
- .command('list')
109
- .alias('ls')
110
- .description(t('cli.cmd.list'))
111
- .option('-a, --agent <name>', t('cli.cmd.agent'), parseAgent)
112
- .action(async (opts) => {
113
- await run(() => cmdList(opts));
114
- });
115
- // ── dump ────────────────────────────────────────────────────────
67
+ // ── doctor ──────────────────────────────────────────────────────
116
68
  program
117
- .command('dump')
118
- .description(t('cli.cmd.dump'))
119
- .option('-a, --agent <name>', t('cli.cmd.agent'), parseAgent)
120
- .action(async (opts) => {
121
- await run(() => cmdDump(opts));
122
- });
123
- // ── lang ────────────────────────────────────────────────────────
124
- program
125
- .command('lang [language]')
126
- .description(t('cli.cmd.lang'))
127
- .action(async (language) => {
128
- await run(() => cmdLang(language));
129
- });
130
- // ── sync ────────────────────────────────────────────────────────
131
- program
132
- .command('sync')
133
- .alias('s')
134
- .description(t('cli.cmd.sync'))
135
- .option('-a, --agent <name>', t('cli.cmd.agent'), parseAgent)
136
- .option('-n, --dry-run', t('cli.cmd.dryRun'), false)
137
- .option('-o, --only <patterns>', t('cli.cmd.only'), parseCommaSeparated)
138
- .option('-x, --exclude <patterns>', t('cli.cmd.exclude'), parseCommaSeparated)
139
- .action(async (opts) => {
140
- await run(() => cmdSync(opts));
141
- });
142
- // ── watch ───────────────────────────────────────────────────────
143
- program
144
- .command('watch')
145
- .description(t('cli.cmd.watch'))
146
- .option('-a, --agent <name>', t('cli.cmd.agent'), parseAgent)
147
- .option('-i, --interval <minutes>', t('cli.cmd.watch.interval'), parseFloat)
69
+ .command('doctor')
70
+ .description(t('cli.cmd.doctor'))
71
+ .option('--key-rotate', t('cli.cmd.doctor.keyRotate'), false)
72
+ .option('--key-export', t('cli.cmd.doctor.keyExport'), false)
73
+ .option('--setup', t('cli.cmd.doctor.setup'), false)
148
74
  .action(async (opts) => {
149
- await run(() => cmdWatch(opts));
75
+ await run(() => cmdDoctor(opts));
150
76
  });
151
77
  // ── env ─────────────────────────────────────────────────────────
152
78
  program
@@ -156,141 +82,12 @@ program
156
82
  .action(async (action, name, opts) => {
157
83
  await run(() => cmdEnv({ action, name, from: opts.from }));
158
84
  });
159
- // ── agent ───────────────────────────────────────────────────
160
- program
161
- .command('agent <action> [name] [path]')
162
- .description(t('cli.cmd.agent.desc'))
163
- .action(async (action, name, agentPath) => {
164
- await run(() => cmdAgent({ action, name, path: agentPath }));
165
- });
166
- // ── key ─────────────────────────────────────────────────────
167
- program
168
- .command('key <action> [hex]')
169
- .description(t('cli.cmd.key.desc'))
170
- .action(async (action, hex) => {
171
- await run(() => cmdKey({ action, hex }));
172
- });
173
- // ── report ──────────────────────────────────────────────────
174
- program
175
- .command('report')
176
- .description(t('cli.cmd.report'))
177
- .option('--json', t('cli.cmd.report.json'), false)
178
- .action(async (opts) => {
179
- await run(() => cmdReport(opts));
180
- });
181
- // ── doctor ──────────────────────────────────────────────────
182
- program
183
- .command('doctor')
184
- .alias('doc')
185
- .description(t('cli.cmd.doctor'))
186
- .option('--fix', t('cli.cmd.doctor.fix'), false)
187
- .action(async (opts) => {
188
- await run(() => cmdDoctor({ fix: opts.fix }));
189
- });
190
- // ── history ─────────────────────────────────────────────────
191
- program
192
- .command('history')
193
- .alias('hist')
194
- .description(t('cli.cmd.history'))
195
- .option('-l, --limit <n>', t('cli.cmd.history.limit'), parseInt)
196
- .option('--json', t('cli.cmd.history.json'), false)
197
- .action(async (opts) => {
198
- await run(() => cmdHistory({ limit: opts.limit ?? 10, json: opts.json }));
199
- });
200
- // ── snapshot ──────────────────────────────────────────────────
201
- program
202
- .command('snapshot <action> [name]')
203
- .description(t('cli.cmd.snapshot'))
204
- .option('-l, --limit <n>', t('cli.cmd.snapshot.limit'), parseInt)
205
- .action(async (action, name, opts) => {
206
- await run(() => cmdSnapshot({ action, name, maxSnapshots: opts?.limit }));
207
- });
208
- // ── summary ─────────────────────────────────────────────────
209
- program
210
- .command('summary')
211
- .description(t('cli.cmd.summary'))
212
- .option('--json', t('cli.cmd.summary.json'), false)
213
- .action(async (opts) => {
214
- await run(() => cmdSummary(opts));
215
- });
216
- // ── setup ───────────────────────────────────────────────────
217
- program
218
- .command('setup')
219
- .description(t('cli.cmd.setup'))
220
- .action(async () => {
221
- await run(() => cmdSetup());
222
- });
223
- // ── health ──────────────────────────────────────────────────
224
- program
225
- .command('health')
226
- .description(t('cli.cmd.health'))
227
- .action(async () => {
228
- await run(() => cmdHealth());
229
- });
230
- // ── search ──────────────────────────────────────────────────
231
- program
232
- .command('search <query>')
233
- .description(t('cli.cmd.search'))
234
- .option('-a, --agent <name>', t('cli.cmd.agent'), parseAgent)
235
- .option('-i, --ignore-case', t('cli.cmd.search.ignoreCase'), false)
236
- .option('--regex', t('cli.cmd.search.regex'), false)
237
- .option('-C, --context <lines>', t('cli.cmd.search.context'), parseInt)
238
- .action(async (query, opts) => {
239
- await run(() => cmdSearch({ query, ...opts }));
240
- });
241
- // ── config export/import ────────────────────────────────────
242
- program
243
- .command('config <action> [file]')
244
- .description(t('cli.cmd.config'))
245
- .action(async (action, file) => {
246
- await run(() => cmdConfigMgmt({ action, file }));
247
- });
248
- // ── changelog ───────────────────────────────────────────────
249
- program
250
- .command('changelog')
251
- .description(t('cli.cmd.changelog'))
252
- .option('-l, --limit <n>', t('cli.cmd.changelog.limit'), parseInt)
253
- .action(async (opts) => {
254
- await run(() => cmdChangelog({ limit: opts.limit ?? 5 }));
255
- });
256
- // ── tag ──────────────────────────────────────────────────────
257
- program
258
- .command('tag <action> [pattern] [tags...]')
259
- .description(t('cli.cmd.tag'))
260
- .action(async (action, pattern, tags) => {
261
- await run(() => cmdTag({ action, pattern, tags: tags ?? [] }));
262
- });
263
- // ── cleanup ──────────────────────────────────────────────────
264
- program
265
- .command('cleanup')
266
- .description(t('cli.cmd.cleanup'))
267
- .option('-a, --agent <name>', t('cli.cmd.agent'), parseAgent)
268
- .option('--auto', t('cli.cmd.cleanup.auto'), false)
269
- .option('--days <n>', t('cli.cmd.cleanup.days'), parseInt)
270
- .action(async (opts) => {
271
- await run(() => cmdCleanup(opts));
272
- });
273
- // ── template ──────────────────────────────────────────────────
274
- program
275
- .command('template <action> [name]')
276
- .description(t('cli.cmd.template'))
277
- .action(async (action, name) => {
278
- await run(() => cmdTemplate({ action, name }));
279
- });
280
- // ── batch ─────────────────────────────────────────────────────
281
- program
282
- .command('batch <commands...>')
283
- .description(t('cli.cmd.batch'))
284
- .option('--continue-on-error', t('cli.cmd.batch.continueOnError'), false)
285
- .action(async (commands, opts) => {
286
- await run(() => cmdBatch({ commands, continueOnError: opts.continueOnError ?? false }));
287
- });
288
- // ── completions ─────────────────────────────────────────────────
85
+ // ── lang ────────────────────────────────────────────────────────
289
86
  program
290
- .command('completions [shell]')
291
- .description(t('cli.cmd.completions'))
292
- .action(async (shell) => {
293
- await run(() => cmdCompletions(shell));
87
+ .command('lang [language]')
88
+ .description(t('cli.cmd.lang'))
89
+ .action(async (language) => {
90
+ await run(() => cmdLang(language));
294
91
  });
295
92
  // ── Error handler ───────────────────────────────────────────────
296
93
  async function run(fn) {
@@ -1 +1 @@
1
- {"version":3,"file":"wangchuan.js","sourceRoot":"","sources":["../../bin/wangchuan.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAQ,yBAAyB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAQ,yBAAyB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAQ,yBAAyB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAQ,yBAAyB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAQ,yBAAyB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAQ,yBAAyB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAQ,yBAAyB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAQ,yBAAyB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAO,0BAA0B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAS,wBAAwB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAO,0BAA0B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAS,wBAAwB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAQ,0BAA0B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAU,2BAA2B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAU,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAO,8BAA8B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAa,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAS,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAQ,6BAA6B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAW,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAS,wBAAwB,CAAC;AACnD,OAAO,EAAE,CAAC,EAAE,MAAc,gBAAgB,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAE,WAAiC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,GAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;KACjC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,mEAAmE;AACnE,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;KAC9B,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC;KAClD,MAAM,CAAC,wBAAwB,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC;KACvD,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC;KACjD,MAAM,CAAC,KAAK,EAAE,IAAqD,EAAE,EAAE;IACtE,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEL,mEAAmE;AACnE,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,MAAM,CAAC;KACb,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;KAC9B,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;KACvE,MAAM,CAAC,0BAA0B,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;KAC7E,MAAM,CAAC,KAAK,EAAE,IAAgE,EAAE,EAAE;IACjF,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEL,mEAAmE;AACnE,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;KAC9B,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC;KACpD,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC;KACnD,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;KACvE,MAAM,CAAC,0BAA0B,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;KAC7E,MAAM,CAAC,KAAK,EAAE,IAAoG,EAAE,EAAE;IACrH,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEL,mEAAmE;AACnE,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;KAChC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAE,IAA2B,EAAE,EAAE;IAC5C,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEL,mEAAmE;AACnE,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;KAC9B,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAE,IAA2B,EAAE,EAAE;IAC5C,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEL,mEAAmE;AACnE,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;KAC9B,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAE,IAA2B,EAAE,EAAE;IAC5C,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEL,mEAAmE;AACnE,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;KAC9B,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAE,IAA2B,EAAE,EAAE;IAC5C,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEL,mEAAmE;AACnE,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;KAC9B,MAAM,CAAC,KAAK,EAAE,QAAiB,EAAE,EAAE;IAClC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEL,mEAAmE;AACnE,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;KAC9B,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC;KACnD,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;KACvE,MAAM,CAAC,0BAA0B,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;KAC7E,MAAM,CAAC,KAAK,EAAE,IAAkF,EAAE,EAAE;IACnG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEL,mEAAmE;AACnE,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;KAC/B,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,0BAA0B,EAAE,CAAC,CAAC,wBAAwB,CAAC,EAAE,UAAU,CAAC;KAC3E,MAAM,CAAC,KAAK,EAAE,IAA8C,EAAE,EAAE;IAC/D,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEL,mEAAmE;AACnE,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;KAC7B,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC;KAChD,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAwB,EAAE,IAAuB,EAAE,EAAE;IAClF,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;AAEL,+DAA+D;AAC/D,OAAO;KACJ,OAAO,CAAC,8BAA8B,CAAC;KACvC,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;KACpC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAa,EAAE,SAAkB,EAAE,EAAE;IAClE,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC;AAEL,+DAA+D;AAC/D,OAAO;KACJ,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;KAClC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,GAAY,EAAE,EAAE;IAC7C,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEL,+DAA+D;AAC/D,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;KAChC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,qBAAqB,CAAC,EAAE,KAAK,CAAC;KACjD,MAAM,CAAC,KAAK,EAAE,IAAuB,EAAE,EAAE;IACxC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEL,+DAA+D;AAC/D,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;KAChC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC;KAC/C,MAAM,CAAC,KAAK,EAAE,IAAuB,EAAE,EAAE;IACxC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEL,+DAA+D;AAC/D,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,KAAK,CAAC,MAAM,CAAC;KACb,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;KACjC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,uBAAuB,CAAC,EAAE,QAAQ,CAAC;KAC/D,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC;KAClD,MAAM,CAAC,KAAK,EAAE,IAAwC,EAAE,EAAE;IACzD,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC;AAEL,iEAAiE;AACjE,OAAO;KACJ,OAAO,CAAC,0BAA0B,CAAC;KACnC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;KAClC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC;KAChE,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAa,EAAE,IAAyB,EAAE,EAAE;IACzE,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC;AAEL,+DAA+D;AAC/D,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;KACjC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC;KAClD,MAAM,CAAC,KAAK,EAAE,IAAuB,EAAE,EAAE;IACxC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEL,+DAA+D;AAC/D,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;KAC/B,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEL,+DAA+D;AAC/D,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;KAChC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEL,+DAA+D;AAC/D,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;KAChC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,2BAA2B,CAAC,EAAE,KAAK,CAAC;KAClE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC;KACnD,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,IAAoF,EAAE,EAAE;IACpH,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEL,+DAA+D;AAC/D,OAAO;KACJ,OAAO,CAAC,wBAAwB,CAAC;KACjC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;KAChC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAa,EAAE,EAAE;IAC9C,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEL,+DAA+D;AAC/D,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;KACnC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,yBAAyB,CAAC,EAAE,QAAQ,CAAC;KACjE,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;IACzC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEL,gEAAgE;AAChE,OAAO;KACJ,OAAO,CAAC,kCAAkC,CAAC;KAC3C,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;KAC7B,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAgB,EAAE,IAAe,EAAE,EAAE;IAClE,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEL,gEAAgE;AAChE,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;KACjC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC;KAClD,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,sBAAsB,CAAC,EAAE,QAAQ,CAAC;KACzD,MAAM,CAAC,KAAK,EAAE,IAA0D,EAAE,EAAE;IAC3E,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEL,iEAAiE;AACjE,OAAO;KACJ,OAAO,CAAC,0BAA0B,CAAC;KACnC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;KAClC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAa,EAAE,EAAE;IAC9C,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEL,iEAAiE;AACjE,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;KAC/B,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,+BAA+B,CAAC,EAAE,KAAK,CAAC;KACxE,MAAM,CAAC,KAAK,EAAE,QAAkB,EAAE,IAAmC,EAAE,EAAE;IACxE,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;AAC1F,CAAC,CAAC,CAAC;AAEL,mEAAmE;AACnE,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;KACrC,MAAM,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE;IAC/B,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEL,mEAAmE;AACnE,KAAK,UAAU,GAAG,CAAC,EAA0B;IAC3C,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAC;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,OAAO,EAAE,CAAC;YACnD,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"wangchuan.js","sourceRoot":"","sources":["../../bin/wangchuan.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,28 @@
1
1
  /**
2
- * doctor.ts — wangchuan doctor command
2
+ * doctor.ts — wangchuan doctor command (enhanced)
3
3
  *
4
- * Validates the entire Wangchuan setup and reports issues:
4
+ * All-in-one diagnostic and fix tool. Always auto-fixes (no --fix needed).
5
+ *
6
+ * Checks:
5
7
  * - config.json exists and is valid
6
8
  * - master.key exists with correct permissions (0o600)
7
9
  * - git is available and repo is cloned
8
- * - SSH key can access the remote repo (git ls-remote, timeout 10s)
10
+ * - SSH key can access the remote repo
9
11
  * - each enabled agent's workspace directory exists
12
+ * - auto-discover disabled agents with existing workspaces → auto-enable
10
13
  * - no stale sync-lock.json
11
- * - integrity.json checksums match repo files
14
+ * - integrity.json checksums match
15
+ * - stale/phantom file warnings (from cleanup logic)
16
+ *
17
+ * Flags:
18
+ * --key-rotate Rotate the master encryption key
19
+ * --key-export Print the master key hex for migration
20
+ * --setup Show one-liner init command for a new machine
12
21
  */
13
22
  export interface DoctorOptions {
14
- readonly fix?: boolean | undefined;
23
+ readonly keyRotate?: boolean | undefined;
24
+ readonly keyExport?: boolean | undefined;
25
+ readonly setup?: boolean | undefined;
15
26
  }
16
- export declare function cmdDoctor({ fix }?: DoctorOptions): Promise<void>;
27
+ export declare function cmdDoctor(opts?: DoctorOptions): Promise<void>;
17
28
  //# sourceMappingURL=doctor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA2KH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACpC;AAED,wBAAsB,SAAS,CAAC,EAAE,GAAG,EAAE,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuH1E"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAgTH,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,CAsKvE"}