wangchuan 2.4.0 → 2.5.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/bin/wangchuan.d.ts +2 -2
- package/dist/bin/wangchuan.js +32 -24
- package/dist/bin/wangchuan.js.map +1 -1
- package/dist/src/commands/diff.d.ts +1 -1
- package/dist/src/commands/diff.d.ts.map +1 -1
- package/dist/src/commands/diff.js +13 -12
- package/dist/src/commands/diff.js.map +1 -1
- package/dist/src/commands/dump.d.ts +1 -1
- package/dist/src/commands/dump.d.ts.map +1 -1
- package/dist/src/commands/dump.js +12 -9
- package/dist/src/commands/dump.js.map +1 -1
- package/dist/src/commands/init.d.ts +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +23 -22
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/lang.d.ts +7 -0
- package/dist/src/commands/lang.d.ts.map +1 -0
- package/dist/src/commands/lang.js +19 -0
- package/dist/src/commands/lang.js.map +1 -0
- package/dist/src/commands/list.d.ts +1 -1
- package/dist/src/commands/list.d.ts.map +1 -1
- package/dist/src/commands/list.js +10 -8
- package/dist/src/commands/list.js.map +1 -1
- package/dist/src/commands/pull.d.ts +1 -1
- package/dist/src/commands/pull.d.ts.map +1 -1
- package/dist/src/commands/pull.js +21 -16
- package/dist/src/commands/pull.js.map +1 -1
- package/dist/src/commands/push.d.ts +1 -1
- package/dist/src/commands/push.d.ts.map +1 -1
- package/dist/src/commands/push.js +29 -24
- package/dist/src/commands/push.js.map +1 -1
- package/dist/src/commands/status.d.ts +1 -1
- package/dist/src/commands/status.d.ts.map +1 -1
- package/dist/src/commands/status.js +26 -25
- package/dist/src/commands/status.js.map +1 -1
- package/dist/src/core/config.d.ts.map +1 -1
- package/dist/src/core/config.js +3 -2
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/migrate.d.ts +12 -12
- package/dist/src/core/migrate.d.ts.map +1 -1
- package/dist/src/core/migrate.js +39 -42
- package/dist/src/core/migrate.js.map +1 -1
- package/dist/src/core/sync.d.ts.map +1 -1
- package/dist/src/core/sync.js +11 -10
- package/dist/src/core/sync.js.map +1 -1
- package/dist/src/i18n.d.ts +22 -0
- package/dist/src/i18n.d.ts.map +1 -0
- package/dist/src/i18n.js +223 -0
- package/dist/src/i18n.js.map +1 -0
- package/dist/src/types.d.ts +2 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/prompt.d.ts +1 -1
- package/dist/src/utils/prompt.d.ts.map +1 -1
- package/dist/src/utils/prompt.js +6 -5
- package/dist/src/utils/prompt.js.map +1 -1
- package/dist/src/utils/validator.d.ts +1 -1
- package/dist/src/utils/validator.d.ts.map +1 -1
- package/dist/src/utils/validator.js +3 -2
- package/dist/src/utils/validator.js.map +1 -1
- package/package.json +1 -1
- package/skill/wangchuan-skill.sh +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/list.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAe,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAO,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAW,iBAAiB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAY,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAe,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/commands/pull.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/commands/pull.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI9D,wBAAsB,OAAO,CAAC,EAAE,KAAK,EAAE,GAAE,WAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CA4DjF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* pull.ts — wangchuan pull command
|
|
2
|
+
* pull.ts — wangchuan pull command
|
|
3
3
|
*/
|
|
4
4
|
import { config } from '../core/config.js';
|
|
5
5
|
import { ensureMigrated } from '../core/migrate.js';
|
|
@@ -7,57 +7,62 @@ import { gitEngine } from '../core/git.js';
|
|
|
7
7
|
import { syncEngine } from '../core/sync.js';
|
|
8
8
|
import { validator } from '../utils/validator.js';
|
|
9
9
|
import { logger } from '../utils/logger.js';
|
|
10
|
+
import { t } from '../i18n.js';
|
|
10
11
|
import chalk from 'chalk';
|
|
11
12
|
import ora from 'ora';
|
|
12
13
|
export async function cmdPull({ agent } = {}) {
|
|
13
|
-
logger.banner('
|
|
14
|
+
logger.banner(t('pull.banner'));
|
|
14
15
|
let cfg = config.load();
|
|
15
16
|
validator.requireInit(cfg);
|
|
16
17
|
cfg = ensureMigrated(cfg);
|
|
17
18
|
const repoPath = syncEngine.expandHome(cfg.localRepoPath);
|
|
18
19
|
if (agent)
|
|
19
|
-
logger.info(
|
|
20
|
+
logger.info(t('pull.filterAgent', { agent: chalk.cyan(agent) }));
|
|
20
21
|
// ── 1. git pull ────────────────────────────────────────────
|
|
21
|
-
let spinner = ora(
|
|
22
|
+
let spinner = ora(t('pull.pulling', { repo: cfg.repo })).start();
|
|
22
23
|
try {
|
|
23
24
|
await gitEngine.pull(repoPath, cfg.branch);
|
|
24
|
-
spinner.succeed('
|
|
25
|
+
spinner.succeed(t('pull.pulled'));
|
|
25
26
|
}
|
|
26
27
|
catch (err) {
|
|
27
|
-
spinner.fail('
|
|
28
|
-
throw new Error(
|
|
28
|
+
spinner.fail(t('pull.gitFailed'));
|
|
29
|
+
throw new Error(t('pull.gitFailedDetail', { error: err.message }));
|
|
29
30
|
}
|
|
30
|
-
// ── 2. Restore files
|
|
31
|
+
// ── 2. Restore files ──────────────────────────────────────
|
|
31
32
|
spinner.stop();
|
|
32
33
|
let result;
|
|
33
34
|
try {
|
|
34
35
|
result = await syncEngine.restoreFromRepo(cfg, agent);
|
|
35
36
|
}
|
|
36
37
|
catch (err) {
|
|
37
|
-
throw new Error(
|
|
38
|
+
throw new Error(t('pull.restoreFailed', { error: err.message }));
|
|
38
39
|
}
|
|
39
|
-
// ── 3. Output
|
|
40
|
+
// ── 3. Output ─────────────────────────────────────────────
|
|
40
41
|
console.log();
|
|
41
42
|
if (result.synced.length === 0 && result.skipped.length > 0) {
|
|
42
|
-
logger.info('
|
|
43
|
+
logger.info(t('pull.noConfigs'));
|
|
43
44
|
return result;
|
|
44
45
|
}
|
|
45
46
|
for (const f of result.synced) {
|
|
46
|
-
const label = result.decrypted.includes(f) ? chalk.gray('
|
|
47
|
+
const label = result.decrypted.includes(f) ? chalk.gray(t('pull.decrypted')) : '';
|
|
47
48
|
logger.ok(` ${chalk.green(f)} ${label}`);
|
|
48
49
|
}
|
|
49
50
|
if (result.skipped.length > 0) {
|
|
50
|
-
logger.info(
|
|
51
|
+
logger.info('\n' + t('pull.skipped', { count: result.skipped.length }));
|
|
51
52
|
}
|
|
52
53
|
if (result.localOnly.length > 0) {
|
|
53
54
|
console.log();
|
|
54
|
-
logger.warn(
|
|
55
|
+
logger.warn(t('pull.localOnly', { count: result.localOnly.length }));
|
|
55
56
|
for (const f of result.localOnly) {
|
|
56
57
|
logger.warn(` ${chalk.yellow(f)}`);
|
|
57
58
|
}
|
|
58
|
-
logger.info('
|
|
59
|
+
logger.info(t('pull.suggestPush'));
|
|
59
60
|
}
|
|
60
|
-
logger.ok(
|
|
61
|
+
logger.ok('\n' + t('pull.summary', {
|
|
62
|
+
synced: result.synced.length,
|
|
63
|
+
encrypted: result.decrypted.length,
|
|
64
|
+
conflicts: result.conflicts.length,
|
|
65
|
+
}));
|
|
61
66
|
return result;
|
|
62
67
|
}
|
|
63
68
|
//# sourceMappingURL=pull.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/pull.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAe,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAO,oBAAoB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAY,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAW,iBAAiB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAY,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAe,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/pull.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAe,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAO,oBAAoB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAY,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAW,iBAAiB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAY,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAe,oBAAoB,CAAC;AACrD,OAAO,EAAE,CAAC,EAAE,MAAoB,YAAY,CAAC;AAE7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAQ,KAAK,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,EAAE,KAAK,KAAkB,EAAE;IACvD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IAEhC,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IACxB,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3B,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAE1B,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC1D,IAAI,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5E,8DAA8D;IAC9D,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACjE,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,6DAA6D;IAC7D,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,IAAI,MAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,6DAA6D;IAC7D,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,MAAM,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACrE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE;QACjC,MAAM,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;QAClC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;KACnC,CAAC,CAAC,CAAC;IACJ,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/push.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/push.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1E,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;CACpC;AAED,wBAAsB,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAE,WAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAuE9F"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* push.ts — wangchuan push command
|
|
2
|
+
* push.ts — wangchuan push command
|
|
3
3
|
*/
|
|
4
4
|
import os from 'os';
|
|
5
5
|
import { config } from '../core/config.js';
|
|
@@ -8,72 +8,77 @@ import { gitEngine } from '../core/git.js';
|
|
|
8
8
|
import { syncEngine } from '../core/sync.js';
|
|
9
9
|
import { validator } from '../utils/validator.js';
|
|
10
10
|
import { logger } from '../utils/logger.js';
|
|
11
|
+
import { t } from '../i18n.js';
|
|
11
12
|
import chalk from 'chalk';
|
|
12
13
|
import ora from 'ora';
|
|
13
14
|
export async function cmdPush({ message, agent } = {}) {
|
|
14
|
-
logger.banner('
|
|
15
|
+
logger.banner(t('push.banner'));
|
|
15
16
|
let cfg = config.load();
|
|
16
17
|
validator.requireInit(cfg);
|
|
17
18
|
cfg = ensureMigrated(cfg);
|
|
18
19
|
const repoPath = syncEngine.expandHome(cfg.localRepoPath);
|
|
19
20
|
const hostname = cfg.hostname || os.hostname();
|
|
20
21
|
if (agent)
|
|
21
|
-
logger.info(
|
|
22
|
+
logger.info(t('push.filterAgent', { agent: chalk.cyan(agent) }));
|
|
22
23
|
const agentTag = agent ? `[${agent}]` : '';
|
|
23
24
|
const msg = message
|
|
24
|
-
?
|
|
25
|
-
:
|
|
26
|
-
// ── 1. Workspace → repo dir
|
|
27
|
-
let spinner = ora('
|
|
25
|
+
? t('push.commitMsgCustom', { message, tag: agentTag, host: hostname })
|
|
26
|
+
: t('push.commitMsgDefault', { tag: agentTag, host: hostname });
|
|
27
|
+
// ── 1. Workspace → repo dir ────────────────────────────────────
|
|
28
|
+
let spinner = ora(t('push.staging')).start();
|
|
28
29
|
let stageResult;
|
|
29
30
|
try {
|
|
30
31
|
stageResult = await syncEngine.stageToRepo(cfg, agent);
|
|
31
|
-
spinner.succeed(
|
|
32
|
+
spinner.succeed(t('push.staged', { count: stageResult.synced.length }));
|
|
32
33
|
}
|
|
33
34
|
catch (err) {
|
|
34
|
-
spinner.fail('
|
|
35
|
-
throw new Error(
|
|
35
|
+
spinner.fail(t('push.stagingFailed'));
|
|
36
|
+
throw new Error(t('push.stagingFailedDetail', { error: err.message }));
|
|
36
37
|
}
|
|
37
38
|
if (stageResult.synced.length === 0 && stageResult.deleted.length === 0) {
|
|
38
|
-
logger.info('
|
|
39
|
+
logger.info(t('push.noFiles'));
|
|
39
40
|
return { committed: false, pushed: false };
|
|
40
41
|
}
|
|
41
|
-
// ── 2. commit + push
|
|
42
|
-
spinner = ora('
|
|
42
|
+
// ── 2. commit + push ──────────────────────────────────────────
|
|
43
|
+
spinner = ora(t('push.committing')).start();
|
|
43
44
|
let pushResult;
|
|
44
45
|
try {
|
|
45
46
|
pushResult = await gitEngine.commitAndPush(repoPath, msg, cfg.branch);
|
|
46
47
|
if (pushResult.committed) {
|
|
47
|
-
spinner.succeed(
|
|
48
|
+
spinner.succeed(t('push.pushed', { repo: cfg.repo }));
|
|
48
49
|
}
|
|
49
50
|
else {
|
|
50
|
-
spinner.info(
|
|
51
|
+
spinner.info(t('push.nothingToCommit'));
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
54
|
catch (err) {
|
|
54
|
-
spinner.fail('
|
|
55
|
+
spinner.fail(t('push.pushFailed'));
|
|
55
56
|
try {
|
|
56
57
|
await gitEngine.rollback(repoPath);
|
|
57
58
|
}
|
|
58
59
|
catch (re) {
|
|
59
|
-
logger.error(
|
|
60
|
+
logger.error(t('push.rollbackFailed', { error: re.message }));
|
|
60
61
|
}
|
|
61
|
-
throw new Error(
|
|
62
|
+
throw new Error(t('push.pushFailedDetail', { error: err.message }));
|
|
62
63
|
}
|
|
63
|
-
// ── 3. Summary
|
|
64
|
+
// ── 3. Summary ────────────────────────────────────────────────
|
|
64
65
|
if (pushResult.committed) {
|
|
65
66
|
console.log();
|
|
66
67
|
for (const f of stageResult.synced) {
|
|
67
|
-
const label = stageResult.encrypted.includes(f) ? chalk.gray('
|
|
68
|
+
const label = stageResult.encrypted.includes(f) ? chalk.gray(t('push.encrypted')) : '';
|
|
68
69
|
logger.ok(` ${chalk.green(f)} ${label}`);
|
|
69
70
|
}
|
|
70
71
|
for (const f of stageResult.deleted) {
|
|
71
|
-
logger.info(` ${chalk.red('✕ ' + f)} ${chalk.gray('
|
|
72
|
+
logger.info(` ${chalk.red('✕ ' + f)} ${chalk.gray(t('push.pruned'))}`);
|
|
72
73
|
}
|
|
73
|
-
const
|
|
74
|
-
?
|
|
74
|
+
const pruned = stageResult.deleted.length > 0
|
|
75
|
+
? t('push.prunedSummary', { count: stageResult.deleted.length })
|
|
75
76
|
: '';
|
|
76
|
-
logger.ok(
|
|
77
|
+
logger.ok('\n' + t('push.complete', {
|
|
78
|
+
count: stageResult.synced.length,
|
|
79
|
+
pruned,
|
|
80
|
+
sha: pushResult.sha ?? '-',
|
|
81
|
+
}));
|
|
77
82
|
}
|
|
78
83
|
return { ...pushResult, stageResult };
|
|
79
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/push.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAe,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAO,oBAAoB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAY,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAW,iBAAiB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAY,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAe,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/push.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,wBAAsB,SAAS,CAAC,EAAE,KAAK,EAAE,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoF5E"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* status.ts — wangchuan status command
|
|
2
|
+
* status.ts — wangchuan status command
|
|
3
3
|
*/
|
|
4
4
|
import fs from 'fs';
|
|
5
5
|
import { config } from '../core/config.js';
|
|
@@ -8,24 +8,25 @@ import { gitEngine } from '../core/git.js';
|
|
|
8
8
|
import { syncEngine } from '../core/sync.js';
|
|
9
9
|
import { validator } from '../utils/validator.js';
|
|
10
10
|
import { logger } from '../utils/logger.js';
|
|
11
|
+
import { t } from '../i18n.js';
|
|
11
12
|
import chalk from 'chalk';
|
|
12
13
|
export async function cmdStatus({ agent } = {}) {
|
|
13
|
-
logger.banner('
|
|
14
|
+
logger.banner(t('status.banner'));
|
|
14
15
|
let cfg = config.load();
|
|
15
16
|
validator.requireInit(cfg);
|
|
16
17
|
cfg = ensureMigrated(cfg);
|
|
17
18
|
const repoPath = syncEngine.expandHome(cfg.localRepoPath);
|
|
18
|
-
console.log(chalk.bold('
|
|
19
|
-
console.log(chalk.bold('
|
|
20
|
-
console.log(chalk.bold('
|
|
19
|
+
console.log(chalk.bold(' ' + t('status.repo')) + chalk.cyan(cfg.repo));
|
|
20
|
+
console.log(chalk.bold(' ' + t('status.local')) + repoPath);
|
|
21
|
+
console.log(chalk.bold(' ' + t('status.branch')) + chalk.yellow(cfg.branch));
|
|
21
22
|
if (agent)
|
|
22
|
-
console.log(chalk.bold('
|
|
23
|
+
console.log(chalk.bold(' ' + t('status.agent')) + chalk.cyan(agent));
|
|
23
24
|
console.log();
|
|
24
|
-
// ── Recent commits
|
|
25
|
+
// ── Recent commits ──────────────────────────────────────────────
|
|
25
26
|
try {
|
|
26
27
|
const logs = await gitEngine.log(repoPath, 3);
|
|
27
28
|
if (logs.length > 0) {
|
|
28
|
-
console.log(chalk.bold('
|
|
29
|
+
console.log(chalk.bold(' ' + t('status.recentCommits')));
|
|
29
30
|
for (const c of logs) {
|
|
30
31
|
const date = new Date(c.date).toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai' });
|
|
31
32
|
console.log(` ${chalk.gray(c.hash.slice(0, 7))} ${chalk.white(c.message.slice(0, 60))} ${chalk.gray(date)}`);
|
|
@@ -34,15 +35,15 @@ export async function cmdStatus({ agent } = {}) {
|
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
catch {
|
|
37
|
-
logger.warn(
|
|
38
|
+
logger.warn(t('status.cannotReadLog'));
|
|
38
39
|
}
|
|
39
|
-
// ── Git worktree status
|
|
40
|
+
// ── Git worktree status ─────────────────────────────────────────
|
|
40
41
|
const gitStatus = await gitEngine.status(repoPath);
|
|
41
42
|
if (gitStatus !== null) {
|
|
42
43
|
const { modified, created, deleted, not_added } = gitStatus;
|
|
43
44
|
const hasPending = modified.length + created.length + deleted.length + not_added.length > 0;
|
|
44
45
|
if (hasPending) {
|
|
45
|
-
console.log(chalk.bold('
|
|
46
|
+
console.log(chalk.bold(' ' + t('status.uncommitted')));
|
|
46
47
|
modified.forEach(f => console.log(` ${chalk.yellow('M')} ${f}`));
|
|
47
48
|
created.forEach(f => console.log(` ${chalk.green('A')} ${f}`));
|
|
48
49
|
deleted.forEach(f => console.log(` ${chalk.red('D')} ${f}`));
|
|
@@ -50,39 +51,39 @@ export async function cmdStatus({ agent } = {}) {
|
|
|
50
51
|
console.log();
|
|
51
52
|
}
|
|
52
53
|
else {
|
|
53
|
-
logger.ok('
|
|
54
|
+
logger.ok(' ' + t('status.inSync'));
|
|
54
55
|
console.log();
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
|
-
// ── Workspace diff
|
|
58
|
+
// ── Workspace diff ──────────────────────────────────────────────
|
|
58
59
|
try {
|
|
59
60
|
const diff = await syncEngine.diff(cfg, agent);
|
|
60
61
|
const total = diff.added.length + diff.modified.length + diff.missing.length;
|
|
61
62
|
if (total === 0) {
|
|
62
|
-
logger.ok('
|
|
63
|
+
logger.ok(' ' + t('status.noSync'));
|
|
63
64
|
}
|
|
64
65
|
else {
|
|
65
|
-
console.log(chalk.bold('
|
|
66
|
-
diff.added.forEach(f => console.log(` ${chalk.green('+')} ${f} ${chalk.gray(
|
|
67
|
-
diff.modified.forEach(f => console.log(` ${chalk.yellow('~')} ${f} ${chalk.gray(
|
|
68
|
-
diff.missing.forEach(f => console.log(` ${chalk.red('-')} ${f} ${chalk.gray(
|
|
66
|
+
console.log(chalk.bold(' ' + t('status.workspaceDiff')));
|
|
67
|
+
diff.added.forEach(f => console.log(` ${chalk.green('+')} ${f} ${chalk.gray(t('status.newTag'))}`));
|
|
68
|
+
diff.modified.forEach(f => console.log(` ${chalk.yellow('~')} ${f} ${chalk.gray(t('status.modifiedTag'))}`));
|
|
69
|
+
diff.missing.forEach(f => console.log(` ${chalk.red('-')} ${f} ${chalk.gray(t('status.missingTag'))}`));
|
|
69
70
|
console.log();
|
|
70
|
-
console.log(` ${chalk.yellow('+')} ${diff.added.length}
|
|
71
|
-
`${chalk.yellow('~')} ${diff.modified.length}
|
|
72
|
-
`${chalk.red('-')} ${diff.missing.length}
|
|
71
|
+
console.log(` ${chalk.yellow('+')} ${diff.added.length} ${t('status.addedLabel')} ` +
|
|
72
|
+
`${chalk.yellow('~')} ${diff.modified.length} ${t('status.modifiedLabel')} ` +
|
|
73
|
+
`${chalk.red('-')} ${diff.missing.length} ${t('status.missingLabel')}`);
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
76
|
catch (err) {
|
|
76
|
-
logger.warn(
|
|
77
|
+
logger.warn(t('status.diffFailed', { error: err.message }));
|
|
77
78
|
}
|
|
78
|
-
// ── File inventory
|
|
79
|
+
// ── File inventory ──────────────────────────────────────────────
|
|
79
80
|
console.log();
|
|
80
81
|
const entries = syncEngine.buildFileEntries(cfg, undefined, agent);
|
|
81
|
-
console.log(chalk.bold(`
|
|
82
|
+
console.log(chalk.bold(` ${t('status.inventory', { count: entries.length })}`));
|
|
82
83
|
for (const e of entries) {
|
|
83
84
|
const mark = fs.existsSync(e.srcAbs) ? chalk.green('✔') : chalk.red('✖');
|
|
84
85
|
const encLabel = e.encrypt ? chalk.gray('[enc]') : '';
|
|
85
|
-
const jfLabel = e.jsonExtract ? chalk.blue('
|
|
86
|
+
const jfLabel = e.jsonExtract ? chalk.blue(t('status.fieldLabel')) : '';
|
|
86
87
|
console.log(` ${mark} ${e.repoRel} ${encLabel}${jfLabel}`);
|
|
87
88
|
}
|
|
88
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAe,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAO,oBAAoB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAY,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAW,iBAAiB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAY,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAe,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOhF,eAAO,MAAM,cAAc,IAAI,CAAC;AAoEhC,eAAO,MAAM,MAAM;IACjB,uBAAuB;yBACf,eAAe,GAAG,IAAI;IAU9B,cAAc;yBACJ,eAAe,KAAG,IAAI;IAMhC,kBAAkB;yCACc,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;IAaxD,2BAA2B;gCACJ,MAAM,KAAG,OAAO,CAAC,eAAe,CAAC;IAiBxD,2BAA2B;2BACf,eAAe,YAAY,OAAO,CAAC,eAAe,CAAC,KAAG,eAAe;IAIjF,kBAAkB;;;;;;IAOlB,aAAa;;;;;;;CAOL,CAAC"}
|
package/dist/src/core/config.js
CHANGED
|
@@ -9,6 +9,7 @@ import os from 'os';
|
|
|
9
9
|
import path from 'path';
|
|
10
10
|
import { fileURLToPath } from 'url';
|
|
11
11
|
import { logger } from '../utils/logger.js';
|
|
12
|
+
import { t } from '../i18n.js';
|
|
12
13
|
const WANGCHUAN_DIR = path.join(os.homedir(), '.wangchuan');
|
|
13
14
|
const CONFIG_PATH = path.join(WANGCHUAN_DIR, 'config.json');
|
|
14
15
|
const KEY_PATH = path.join(WANGCHUAN_DIR, 'master.key');
|
|
@@ -88,14 +89,14 @@ export const config = {
|
|
|
88
89
|
return JSON.parse(raw);
|
|
89
90
|
}
|
|
90
91
|
catch (err) {
|
|
91
|
-
throw new Error(
|
|
92
|
+
throw new Error(t('config.loadFailed', { error: err.message }));
|
|
92
93
|
}
|
|
93
94
|
},
|
|
94
95
|
/** 保存配置到磁盘 */
|
|
95
96
|
save(cfg) {
|
|
96
97
|
fs.mkdirSync(WANGCHUAN_DIR, { recursive: true });
|
|
97
98
|
fs.writeFileSync(CONFIG_PATH, JSON.stringify(cfg, null, 2), 'utf-8');
|
|
98
|
-
logger.debug(
|
|
99
|
+
logger.debug(t('config.saved', { path: CONFIG_PATH }));
|
|
99
100
|
},
|
|
100
101
|
/** 探测远程仓库的默认分支 */
|
|
101
102
|
async detectDefaultBranch(repo) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAQ,IAAI,CAAC;AACtB,OAAO,EAAE,MAAQ,IAAI,CAAC;AACtB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* migrate.ts —
|
|
2
|
+
* migrate.ts — Config version migration
|
|
3
3
|
*
|
|
4
4
|
* v1 → v2:
|
|
5
|
-
* - repo
|
|
6
|
-
* - skills
|
|
7
|
-
* -
|
|
8
|
-
* - config.json
|
|
5
|
+
* - repo structure from <agent>/ to agents/<agent>/
|
|
6
|
+
* - skills merged to shared/skills/
|
|
7
|
+
* - stale entries removed from repo
|
|
8
|
+
* - config.json upgraded to v2 format
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
* -
|
|
12
|
-
* -
|
|
13
|
-
* -
|
|
14
|
-
* -
|
|
10
|
+
* Safety measures:
|
|
11
|
+
* - Full backup to ~/.wangchuan/backup-v1/ before migration
|
|
12
|
+
* - Migration lock file prevents partial re-execution
|
|
13
|
+
* - Post-migration validation of key directories
|
|
14
|
+
* - Auto-rollback from backup on failure
|
|
15
15
|
*/
|
|
16
16
|
import type { WangchuanConfig } from '../types.js';
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
18
|
+
* Detect and execute config migration, returns latest version config.
|
|
19
|
+
* Call after config.load().
|
|
20
20
|
*/
|
|
21
21
|
export declare function ensureMigrated(cfg: WangchuanConfig): WangchuanConfig;
|
|
22
22
|
//# sourceMappingURL=migrate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/core/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/core/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAqJnD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,eAAe,CAepE"}
|