@memnexus-ai/mx-agent-cli 0.1.166 → 0.1.168

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 (127) hide show
  1. package/dist/__tests__/claude-sync.test.js +15 -0
  2. package/dist/__tests__/claude-sync.test.js.map +1 -1
  3. package/dist/__tests__/config-command.test.d.ts +9 -0
  4. package/dist/__tests__/config-command.test.d.ts.map +1 -0
  5. package/dist/__tests__/config-command.test.js +55 -0
  6. package/dist/__tests__/config-command.test.js.map +1 -0
  7. package/dist/__tests__/config-generation.test.d.ts +7 -0
  8. package/dist/__tests__/config-generation.test.d.ts.map +1 -0
  9. package/dist/__tests__/config-generation.test.js +141 -0
  10. package/dist/__tests__/config-generation.test.js.map +1 -0
  11. package/dist/__tests__/config-sync.test.d.ts +10 -0
  12. package/dist/__tests__/config-sync.test.d.ts.map +1 -0
  13. package/dist/__tests__/config-sync.test.js +180 -0
  14. package/dist/__tests__/config-sync.test.js.map +1 -0
  15. package/dist/__tests__/coordination-client.test.d.ts +9 -0
  16. package/dist/__tests__/coordination-client.test.d.ts.map +1 -0
  17. package/dist/__tests__/coordination-client.test.js +72 -0
  18. package/dist/__tests__/coordination-client.test.js.map +1 -0
  19. package/dist/__tests__/coordination-command.test.d.ts +9 -0
  20. package/dist/__tests__/coordination-command.test.d.ts.map +1 -0
  21. package/dist/__tests__/coordination-command.test.js +108 -0
  22. package/dist/__tests__/coordination-command.test.js.map +1 -0
  23. package/dist/__tests__/coordination-fallback.test.d.ts +9 -0
  24. package/dist/__tests__/coordination-fallback.test.d.ts.map +1 -0
  25. package/dist/__tests__/coordination-fallback.test.js +158 -0
  26. package/dist/__tests__/coordination-fallback.test.js.map +1 -0
  27. package/dist/__tests__/project-config.test.js +1 -0
  28. package/dist/__tests__/project-config.test.js.map +1 -1
  29. package/dist/agent-config/.mx-config-generation.json +4 -0
  30. package/dist/agent-config/CLAUDE.md.template +140 -0
  31. package/dist/agent-config/OWNERS.md +51 -0
  32. package/dist/agent-config/agents/bar-raiser.md +205 -0
  33. package/dist/agent-config/agents/dogfood-auditor.md +243 -0
  34. package/dist/agent-config/agents/git-expert.md +380 -0
  35. package/dist/agent-config/agents/implementation-engineer.md +387 -0
  36. package/dist/agent-config/agents/memory-creator.md +330 -0
  37. package/dist/agent-config/agents/prd-writer.md +478 -0
  38. package/dist/agent-config/agents/prfaq-writer.md +344 -0
  39. package/dist/agent-config/agents/prior-art-researcher.md +264 -0
  40. package/dist/agent-config/agents/qa-tester.md +406 -0
  41. package/dist/agent-config/agents/red-team.md +330 -0
  42. package/dist/agent-config/agents/security-reviewer.md +300 -0
  43. package/dist/agent-config/agents/status-reporter.md +297 -0
  44. package/dist/agent-config/claude-md/CLAUDE.core.md +105 -0
  45. package/dist/agent-config/claude-md/CLAUDE.overlay.memnexus.md +68 -0
  46. package/dist/agent-config/claude-md/compose.mjs +179 -0
  47. package/dist/agent-config/claude-md/vars.memnexus.json +4 -0
  48. package/dist/agent-config/hooks/auto-capture-precompact.sh +176 -0
  49. package/dist/agent-config/hooks/auto-capture-session-end.sh +178 -0
  50. package/dist/agent-config/hooks/auto-checkpoint.sh +102 -0
  51. package/dist/agent-config/hooks/ci-validate-hook.sh +499 -0
  52. package/dist/agent-config/hooks/ci-validate-routes.conf +16 -0
  53. package/dist/agent-config/hooks/delegation-audit.sh +61 -0
  54. package/dist/agent-config/hooks/deploy-verification-reminder.sh +179 -0
  55. package/dist/agent-config/hooks/git-mutation-guard.sh +219 -0
  56. package/dist/agent-config/hooks/iteration-log-check.sh +212 -0
  57. package/dist/agent-config/hooks/memory-checkpoint-reminder.sh +103 -0
  58. package/dist/agent-config/hooks/mx-guard-hook.sh +77 -0
  59. package/dist/agent-config/hooks/named-memory-write-guard.sh +237 -0
  60. package/dist/agent-config/hooks/reload-checkpoint.sh +68 -0
  61. package/dist/agent-config/hooks/set-terminal-appearance.sh +34 -0
  62. package/dist/agent-config/hooks/workflow-dispatch-guard.sh +184 -0
  63. package/dist/agent-config/hooks/worktree-guard.sh +258 -0
  64. package/dist/agent-config/rules/eval-harness.md +33 -0
  65. package/dist/agent-config/rules/frontend.md +17 -0
  66. package/dist/agent-config/rules/mcp-protocol.md +15 -0
  67. package/dist/agent-config/rules/retrieval.md +17 -0
  68. package/dist/agent-config/settings.json +196 -0
  69. package/dist/agent-config/shared/eval-tiered-rigor.md +15 -0
  70. package/dist/agent-config/shared/team-operating-rules.md +37 -0
  71. package/dist/agent-config/skills/eval-claim-impact/SKILL.md +20 -0
  72. package/dist/agent-config/skills/eval-harness-review/SKILL.md +21 -0
  73. package/dist/agent-config/skills/mx-checkpoint/SKILL.md +111 -0
  74. package/dist/agent-config/skills/mx-fix-pr/SKILL.md +90 -0
  75. package/dist/agent-config/skills/mx-gap-assessment/SKILL.md +90 -0
  76. package/dist/agent-config/skills/mx-iteration-close/SKILL.md +81 -0
  77. package/dist/agent-config/skills/mx-post-merge-sync/SKILL.md +83 -0
  78. package/dist/agent-config/skills/mx-pre-pr-check/SKILL.md +85 -0
  79. package/dist/agent-config/skills/mx-save/SKILL.md +102 -0
  80. package/dist/agent-config/skills/mx-session-start/SKILL.md +85 -0
  81. package/dist/agent-config/skills/team-gate-checklist/SKILL.md +19 -0
  82. package/dist/commands/config-sync.d.ts +39 -0
  83. package/dist/commands/config-sync.d.ts.map +1 -0
  84. package/dist/commands/config-sync.js +212 -0
  85. package/dist/commands/config-sync.js.map +1 -0
  86. package/dist/commands/config.d.ts.map +1 -1
  87. package/dist/commands/config.js +5 -1
  88. package/dist/commands/config.js.map +1 -1
  89. package/dist/commands/coordination.d.ts +49 -0
  90. package/dist/commands/coordination.d.ts.map +1 -0
  91. package/dist/commands/coordination.js +128 -0
  92. package/dist/commands/coordination.js.map +1 -0
  93. package/dist/commands/create.d.ts.map +1 -1
  94. package/dist/commands/create.js +3 -0
  95. package/dist/commands/create.js.map +1 -1
  96. package/dist/commands/init.d.ts.map +1 -1
  97. package/dist/commands/init.js +12 -4
  98. package/dist/commands/init.js.map +1 -1
  99. package/dist/commands/start.d.ts.map +1 -1
  100. package/dist/commands/start.js +6 -0
  101. package/dist/commands/start.js.map +1 -1
  102. package/dist/index.js +64 -0
  103. package/dist/index.js.map +1 -1
  104. package/dist/lib/bundled-config.d.ts +44 -0
  105. package/dist/lib/bundled-config.d.ts.map +1 -0
  106. package/dist/lib/bundled-config.js +164 -0
  107. package/dist/lib/bundled-config.js.map +1 -0
  108. package/dist/lib/claude.d.ts.map +1 -1
  109. package/dist/lib/claude.js +9 -3
  110. package/dist/lib/claude.js.map +1 -1
  111. package/dist/lib/config-generation.d.ts +36 -0
  112. package/dist/lib/config-generation.d.ts.map +1 -0
  113. package/dist/lib/config-generation.js +73 -0
  114. package/dist/lib/config-generation.js.map +1 -0
  115. package/dist/lib/coordination-client.d.ts +74 -0
  116. package/dist/lib/coordination-client.d.ts.map +1 -0
  117. package/dist/lib/coordination-client.js +83 -0
  118. package/dist/lib/coordination-client.js.map +1 -0
  119. package/dist/lib/coordination-fallback.d.ts +75 -0
  120. package/dist/lib/coordination-fallback.d.ts.map +1 -0
  121. package/dist/lib/coordination-fallback.js +224 -0
  122. package/dist/lib/coordination-fallback.js.map +1 -0
  123. package/dist/lib/project-config.d.ts +7 -0
  124. package/dist/lib/project-config.d.ts.map +1 -1
  125. package/dist/lib/project-config.js +4 -0
  126. package/dist/lib/project-config.js.map +1 -1
  127. package/package.json +2 -2
@@ -56,6 +56,21 @@ describe('syncClaudeConfig — atomic write', () => {
56
56
  expect(readFileSync(settingsPath, 'utf-8')).toBe('{"allow":[],"deny":[]}');
57
57
  expect(readFileSync(guardPath, 'utf-8')).toBe('#!/bin/bash\n# guard script\n');
58
58
  });
59
+ it('deploys .conf sidecars alongside .sh hooks (#4017 routes.conf gap)', () => {
60
+ // ls-tree lists a hook script AND its .conf sidecar; both must deploy.
61
+ mockSpawnSync
62
+ .mockReturnValueOnce(ok()) // git fetch
63
+ .mockReturnValueOnce(ok('{"allow":[],"deny":[]}')) // git show settings.json
64
+ .mockReturnValueOnce(ok('ci-validate-hook.sh\nci-validate-routes.conf\n')) // ls-tree hooks/
65
+ .mockReturnValueOnce(ok('#!/bin/bash\n# hook\n')) // git show ci-validate-hook.sh
66
+ .mockReturnValueOnce(ok('cli/*|scripts/validate-cli.sh|cli\n')); // git show ci-validate-routes.conf
67
+ syncClaudeConfig(tmpRoot, { baseBranch: 'main', configSource: 'mx-agent-system/agent-config' });
68
+ const shPath = join(tmpRoot, '.claude', 'hooks', 'ci-validate-hook.sh');
69
+ const confPath = join(tmpRoot, '.claude', 'hooks', 'ci-validate-routes.conf');
70
+ expect(existsSync(shPath)).toBe(true);
71
+ expect(existsSync(confPath)).toBe(true);
72
+ expect(readFileSync(confPath, 'utf-8')).toBe('cli/*|scripts/validate-cli.sh|cli\n');
73
+ });
59
74
  it('settings.json fetch fails — bundled fallback deployed', () => {
60
75
  mockSpawnSync
61
76
  .mockReturnValueOnce(ok()) // git fetch succeeds
@@ -1 +1 @@
1
- {"version":3,"file":"claude-sync.test.js","sourceRoot":"","sources":["../../src/__tests__/claude-sync.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-sync.test.js","sourceRoot":"","sources":["../../src/__tests__/claude-sync.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * mx-agent config -- secret masking (BLOCKER-1).
3
+ *
4
+ * The coordination-service-token must be masked on set / get / list; the raw
5
+ * token must never appear in stdout. Uses a mocked config store so the real
6
+ * ~/.mx-agent/config.json is untouched.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=config-command.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-command.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/config-command.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * mx-agent config -- secret masking (BLOCKER-1).
3
+ *
4
+ * The coordination-service-token must be masked on set / get / list; the raw
5
+ * token must never appear in stdout. Uses a mocked config store so the real
6
+ * ~/.mx-agent/config.json is untouched.
7
+ */
8
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
9
+ const store = vi.hoisted(() => ({ data: {} }));
10
+ vi.mock('../lib/config.js', () => ({
11
+ loadConfig: () => ({ ...store.data }),
12
+ saveConfig: (c) => { store.data = { ...c }; },
13
+ getConfigValue: (k) => store.data[k],
14
+ setConfigValue: (k, v) => { store.data[k] = v; },
15
+ deleteConfigValue: (k) => { if (k in store.data) {
16
+ delete store.data[k];
17
+ return true;
18
+ } return false; },
19
+ }));
20
+ import { runConfig } from '../commands/config.js';
21
+ const SECRET = 'coord-tok-DEADBEEF-must-not-leak';
22
+ let logs;
23
+ beforeEach(() => {
24
+ store.data = {};
25
+ logs = [];
26
+ vi.spyOn(console, 'log').mockImplementation((m) => { logs.push(String(m)); });
27
+ vi.spyOn(console, 'warn').mockImplementation(() => { });
28
+ });
29
+ afterEach(() => vi.restoreAllMocks());
30
+ describe('config secret masking (BLOCKER-1)', () => {
31
+ it('masks coordination-service-token on set', () => {
32
+ runConfig({ subcommand: 'set', key: 'coordination-service-token', value: SECRET });
33
+ const out = logs.join('\n');
34
+ expect(out).toContain('***');
35
+ expect(out).not.toContain(SECRET);
36
+ });
37
+ it('masks coordination-service-token on get', () => {
38
+ store.data['coordination-service-token'] = SECRET;
39
+ runConfig({ subcommand: 'get', key: 'coordination-service-token' });
40
+ const out = logs.join('\n');
41
+ expect(out).toContain('***');
42
+ expect(out).not.toContain(SECRET);
43
+ });
44
+ it('masks coordination-service-token on list', () => {
45
+ store.data['coordination-service-token'] = SECRET;
46
+ store.data['coordination-service-url'] = 'https://coord.example:8443';
47
+ runConfig({ subcommand: 'list' });
48
+ const out = logs.join('\n');
49
+ expect(out).not.toContain(SECRET);
50
+ expect(out).toContain('***');
51
+ // Non-secret url is shown in the clear.
52
+ expect(out).toContain('https://coord.example:8443');
53
+ });
54
+ });
55
+ //# sourceMappingURL=config-command.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-command.test.js","sourceRoot":"","sources":["../../src/__tests__/config-command.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Tests for the agent-config generation drift check (Platform v2.35 Phase 3,
3
+ * #4017): pure comparison, the non-blocking start/create check, and the
4
+ * bundled-config helpers (resolution, hashing, generation read).
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=config-generation.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-generation.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/config-generation.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Tests for the agent-config generation drift check (Platform v2.35 Phase 3,
3
+ * #4017): pure comparison, the non-blocking start/create check, and the
4
+ * bundled-config helpers (resolution, hashing, generation read).
5
+ */
6
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
7
+ import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from 'fs';
8
+ import { tmpdir } from 'os';
9
+ import { join } from 'path';
10
+ import { evaluateGeneration, checkConfigGeneration } from '../lib/config-generation.js';
11
+ import { getBundledConfigDir, readGeneration, getBundledGeneration, listConfigFiles, hashConfigTree, } from '../lib/bundled-config.js';
12
+ let tmp;
13
+ const OLD_ENV = { ...process.env };
14
+ beforeEach(() => {
15
+ tmp = mkdtempSync(join(tmpdir(), 'mx-gen-'));
16
+ });
17
+ afterEach(() => {
18
+ rmSync(tmp, { recursive: true, force: true });
19
+ process.env = { ...OLD_ENV };
20
+ });
21
+ /** Build a fake config dir with a generation file and some files. */
22
+ function makeConfigDir(dir, generation, files = {}) {
23
+ mkdirSync(dir, { recursive: true });
24
+ if (generation !== null) {
25
+ writeFileSync(join(dir, '.mx-config-generation.json'), JSON.stringify({ generation }) + '\n');
26
+ }
27
+ for (const [rel, content] of Object.entries(files)) {
28
+ const p = join(dir, rel);
29
+ mkdirSync(join(p, '..'), { recursive: true });
30
+ writeFileSync(p, content);
31
+ }
32
+ return dir;
33
+ }
34
+ describe('evaluateGeneration', () => {
35
+ it('stale when project < bundle', () => {
36
+ expect(evaluateGeneration(1, 2)).toBe('stale');
37
+ });
38
+ it('in-sync when equal', () => {
39
+ expect(evaluateGeneration(3, 3)).toBe('in-sync');
40
+ });
41
+ it('ahead when project > bundle', () => {
42
+ expect(evaluateGeneration(5, 4)).toBe('ahead');
43
+ });
44
+ it('unknown when either side is null', () => {
45
+ expect(evaluateGeneration(null, 2)).toBe('unknown');
46
+ expect(evaluateGeneration(2, null)).toBe('unknown');
47
+ expect(evaluateGeneration(null, null)).toBe('unknown');
48
+ });
49
+ });
50
+ describe('checkConfigGeneration', () => {
51
+ it('reports stale with a config-sync hint, never throws', () => {
52
+ const bundle = makeConfigDir(join(tmp, 'bundle'), 3);
53
+ const projectRoot = tmp;
54
+ makeConfigDir(join(projectRoot, 'cfg'), 1); // project at gen 1
55
+ process.env.MX_BUNDLED_CONFIG_DIR = bundle;
56
+ const lines = [];
57
+ const res = checkConfigGeneration(projectRoot, 'cfg', (m) => lines.push(m));
58
+ expect(res.status).toBe('stale');
59
+ expect(lines.join('\n')).toMatch(/generation 1/);
60
+ expect(lines.join('\n')).toMatch(/config-sync/);
61
+ });
62
+ it('reports in-sync in a single line when equal', () => {
63
+ const bundle = makeConfigDir(join(tmp, 'bundle'), 2);
64
+ makeConfigDir(join(tmp, 'cfg'), 2);
65
+ process.env.MX_BUNDLED_CONFIG_DIR = bundle;
66
+ const lines = [];
67
+ const res = checkConfigGeneration(tmp, 'cfg', (m) => lines.push(m));
68
+ expect(res.status).toBe('in-sync');
69
+ expect(lines).toHaveLength(1);
70
+ expect(lines[0]).toMatch(/in sync/);
71
+ });
72
+ it('stays silent when the project has no generation stamp (unknown)', () => {
73
+ const bundle = makeConfigDir(join(tmp, 'bundle'), 2);
74
+ makeConfigDir(join(tmp, 'cfg'), null); // no generation file
75
+ process.env.MX_BUNDLED_CONFIG_DIR = bundle;
76
+ const lines = [];
77
+ const res = checkConfigGeneration(tmp, 'cfg', (m) => lines.push(m));
78
+ expect(res.status).toBe('unknown');
79
+ expect(lines).toHaveLength(0);
80
+ });
81
+ });
82
+ describe('bundled-config helpers', () => {
83
+ it('reads generation from a config dir', () => {
84
+ const dir = makeConfigDir(join(tmp, 'c'), 7);
85
+ expect(readGeneration(dir)).toBe(7);
86
+ });
87
+ it('returns null generation for a malformed file', () => {
88
+ const dir = join(tmp, 'bad');
89
+ mkdirSync(dir, { recursive: true });
90
+ writeFileSync(join(dir, '.mx-config-generation.json'), '{ not json');
91
+ expect(readGeneration(dir)).toBeNull();
92
+ });
93
+ it('rejects fractional, negative, and non-number generations → null', () => {
94
+ for (const bad of ['1.5', '-3', '"2"', 'null', 'true']) {
95
+ const dir = mkdtempSync(join(tmp, 'g-'));
96
+ writeFileSync(join(dir, '.mx-config-generation.json'), `{"generation": ${bad}}`);
97
+ expect(readGeneration(dir), `generation ${bad} should be rejected`).toBeNull();
98
+ }
99
+ // A valid zero generation is accepted.
100
+ const zero = mkdtempSync(join(tmp, 'g0-'));
101
+ writeFileSync(join(zero, '.mx-config-generation.json'), '{"generation": 0}');
102
+ expect(readGeneration(zero)).toBe(0);
103
+ });
104
+ it('MX_BUNDLED_CONFIG_DIR override drives getBundledConfigDir/getBundledGeneration', () => {
105
+ const bundle = makeConfigDir(join(tmp, 'b'), 9);
106
+ process.env.MX_BUNDLED_CONFIG_DIR = bundle;
107
+ expect(getBundledConfigDir()).toBe(bundle);
108
+ expect(getBundledGeneration()).toBe(9);
109
+ });
110
+ it('listConfigFiles excludes generation, sync-state, and *.test.sh', () => {
111
+ const dir = makeConfigDir(join(tmp, 'c'), 1, {
112
+ 'hooks/a.sh': '#!/bin/bash\n',
113
+ 'hooks/a.test.sh': 'echo test\n',
114
+ 'hooks/routes.conf': 'x|y|z\n',
115
+ 'agents/foo.md': '# foo\n',
116
+ '.mx-config-sync-state.json': '{}',
117
+ });
118
+ const files = listConfigFiles(dir);
119
+ expect(files).toContain('hooks/a.sh');
120
+ expect(files).toContain('hooks/routes.conf');
121
+ expect(files).toContain('agents/foo.md');
122
+ expect(files).not.toContain('hooks/a.test.sh');
123
+ expect(files).not.toContain('.mx-config-generation.json');
124
+ expect(files).not.toContain('.mx-config-sync-state.json');
125
+ });
126
+ it('hashConfigTree hashes every surface file and changes when content changes', () => {
127
+ const dir = makeConfigDir(join(tmp, 'c'), 1, { 'hooks/a.sh': 'one' });
128
+ const h1 = hashConfigTree(dir);
129
+ expect(Object.keys(h1)).toEqual(['hooks/a.sh']);
130
+ writeFileSync(join(dir, 'hooks/a.sh'), 'two');
131
+ const h2 = hashConfigTree(dir);
132
+ expect(h2['hooks/a.sh']).not.toBe(h1['hooks/a.sh']);
133
+ });
134
+ it('the real repo bundle resolves and carries a generation (dev fallback)', () => {
135
+ delete process.env.MX_BUNDLED_CONFIG_DIR;
136
+ const dir = getBundledConfigDir();
137
+ expect(dir).not.toBeNull();
138
+ expect(getBundledGeneration()).toBeGreaterThanOrEqual(1);
139
+ });
140
+ });
141
+ //# sourceMappingURL=config-generation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-generation.test.js","sourceRoot":"","sources":["../../src/__tests__/config-generation.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Tests for `mx-agent config-sync` (Platform v2.35 Phase 3, #4017).
3
+ *
4
+ * Drives the real runConfigSync against temp bundle + project dirs via the
5
+ * MX_BUNDLED_CONFIG_DIR and MX_PROJECT_ROOT env seams. Covers: dry-run default,
6
+ * add/update apply, locally-modified skip, --force overwrite, dirty-tree
7
+ * refusal, generation stamping, and the MemNexus all-in-sync case.
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=config-sync.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-sync.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/config-sync.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,180 @@
1
+ /**
2
+ * Tests for `mx-agent config-sync` (Platform v2.35 Phase 3, #4017).
3
+ *
4
+ * Drives the real runConfigSync against temp bundle + project dirs via the
5
+ * MX_BUNDLED_CONFIG_DIR and MX_PROJECT_ROOT env seams. Covers: dry-run default,
6
+ * add/update apply, locally-modified skip, --force overwrite, dirty-tree
7
+ * refusal, generation stamping, and the MemNexus all-in-sync case.
8
+ */
9
+ import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
10
+ import { createHash } from 'crypto';
11
+ import { spawnSync } from 'child_process';
12
+ import { mkdtempSync, mkdirSync, writeFileSync, readFileSync, existsSync, rmSync, } from 'fs';
13
+ import { tmpdir } from 'os';
14
+ import { join } from 'path';
15
+ import { classifyFile, runConfigSync } from '../commands/config-sync.js';
16
+ const sha = (s) => createHash('sha256').update(Buffer.from(s)).digest('hex');
17
+ let tmp;
18
+ let bundle;
19
+ let project;
20
+ let cfgDir; // project's configSource dir
21
+ const CONFIG_SOURCE = 'cfg';
22
+ const OLD_ENV = { ...process.env };
23
+ let logs;
24
+ let errs;
25
+ // Typed as MockInstance<typeof process.exit> so tsc accepts the spy assignment —
26
+ // a bare ReturnType<typeof vi.spyOn> is rejected (the blocker QA caught: vitest
27
+ // passing does not type-check; only `npm run build` / tsc does).
28
+ let exitSpy;
29
+ beforeEach(() => {
30
+ tmp = mkdtempSync(join(tmpdir(), 'mx-cs-'));
31
+ bundle = join(tmp, 'bundle');
32
+ project = join(tmp, 'project');
33
+ cfgDir = join(project, CONFIG_SOURCE);
34
+ mkdirSync(bundle, { recursive: true });
35
+ mkdirSync(cfgDir, { recursive: true });
36
+ // Point the project's configSource at "cfg" so paths stay short.
37
+ writeFileSync(join(project, 'mx-agent.config.json'), JSON.stringify({ configSource: CONFIG_SOURCE }) + '\n');
38
+ process.env = { ...OLD_ENV, MX_PROJECT_ROOT: project, MX_BUNDLED_CONFIG_DIR: bundle };
39
+ logs = [];
40
+ errs = [];
41
+ vi.spyOn(console, 'log').mockImplementation((...a) => { logs.push(a.join(' ')); });
42
+ vi.spyOn(console, 'error').mockImplementation((...a) => { errs.push(a.join(' ')); });
43
+ exitSpy = vi.spyOn(process, 'exit').mockImplementation((code) => {
44
+ throw new Error(`process.exit:${code ?? 0}`);
45
+ });
46
+ });
47
+ afterEach(() => {
48
+ vi.restoreAllMocks();
49
+ rmSync(tmp, { recursive: true, force: true });
50
+ process.env = { ...OLD_ENV };
51
+ });
52
+ function writeBundle(files, generation = 2) {
53
+ writeFileSync(join(bundle, '.mx-config-generation.json'), JSON.stringify({ generation }) + '\n');
54
+ for (const [rel, content] of Object.entries(files)) {
55
+ const p = join(bundle, rel);
56
+ mkdirSync(join(p, '..'), { recursive: true });
57
+ writeFileSync(p, content);
58
+ }
59
+ }
60
+ function writeProjectFile(rel, content) {
61
+ const p = join(cfgDir, rel);
62
+ mkdirSync(join(p, '..'), { recursive: true });
63
+ writeFileSync(p, content);
64
+ }
65
+ function writeProjectGeneration(generation) {
66
+ writeFileSync(join(cfgDir, '.mx-config-generation.json'), JSON.stringify({ generation }) + '\n');
67
+ }
68
+ function writeSyncState(files, generation = 1) {
69
+ writeFileSync(join(cfgDir, '.mx-config-sync-state.json'), JSON.stringify({ generation, files }) + '\n');
70
+ }
71
+ const readProject = (rel) => readFileSync(join(cfgDir, rel), 'utf-8');
72
+ const out = () => logs.join('\n');
73
+ // ── classifyFile (pure) ───────────────────────────────────────────────────────
74
+ describe('classifyFile', () => {
75
+ const theirs = sha('new');
76
+ it('add when project file is absent', () => {
77
+ expect(classifyFile(null, null, theirs)).toBe('add');
78
+ });
79
+ it('unchanged when project already equals bundle', () => {
80
+ expect(classifyFile(theirs, sha('old'), theirs)).toBe('unchanged');
81
+ });
82
+ it('update when project unchanged since last sync (ours == base)', () => {
83
+ expect(classifyFile(sha('old'), sha('old'), theirs)).toBe('update');
84
+ });
85
+ it('skip-local when project differs from bundle and baseline', () => {
86
+ expect(classifyFile(sha('local'), sha('old'), theirs)).toBe('skip-local');
87
+ });
88
+ it('skip-local when no baseline and project differs from bundle', () => {
89
+ expect(classifyFile(sha('local'), null, theirs)).toBe('skip-local');
90
+ });
91
+ });
92
+ // ── dry-run default ────────────────────────────────────────────────────────────
93
+ describe('runConfigSync — dry run (default)', () => {
94
+ it('shows the plan and writes nothing', () => {
95
+ writeBundle({ 'hooks/new.sh': 'echo new\n', 'agents/a.md': 'NEW\n' });
96
+ writeProjectFile('agents/a.md', 'OLD\n');
97
+ writeSyncState({ 'agents/a.md': sha('OLD\n') });
98
+ writeProjectGeneration(1);
99
+ runConfigSync({}); // no --apply → dry run
100
+ expect(out()).toMatch(/dry run/i);
101
+ expect(out()).toMatch(/add .*hooks\/new\.sh/);
102
+ expect(out()).toMatch(/update .*agents\/a\.md/);
103
+ // nothing written
104
+ expect(existsSync(join(cfgDir, 'hooks/new.sh'))).toBe(false);
105
+ expect(readProject('agents/a.md')).toBe('OLD\n');
106
+ });
107
+ });
108
+ // ── apply: add + clean update ──────────────────────────────────────────────────
109
+ describe('runConfigSync — apply', () => {
110
+ it('adds new files and cleanly updates unmodified ones, stamping generation', () => {
111
+ writeBundle({ 'hooks/new.sh': 'echo new\n', 'agents/a.md': 'NEW\n' }, 5);
112
+ writeProjectFile('agents/a.md', 'OLD\n');
113
+ writeSyncState({ 'agents/a.md': sha('OLD\n') }, 1);
114
+ writeProjectGeneration(1);
115
+ runConfigSync({ apply: true });
116
+ expect(readProject('hooks/new.sh')).toBe('echo new\n');
117
+ expect(readProject('agents/a.md')).toBe('NEW\n');
118
+ // generation stamped to bundle
119
+ expect(JSON.parse(readProject('.mx-config-generation.json')).generation).toBe(5);
120
+ // sync-state baseline advanced
121
+ const state = JSON.parse(readProject('.mx-config-sync-state.json'));
122
+ expect(state.generation).toBe(5);
123
+ expect(state.files['agents/a.md']).toBe(sha('NEW\n'));
124
+ });
125
+ it('skips locally-modified files (listed, not overwritten)', () => {
126
+ writeBundle({ 'agents/a.md': 'NEW\n' });
127
+ writeProjectFile('agents/a.md', 'LOCALLY EDITED\n');
128
+ writeSyncState({ 'agents/a.md': sha('OLD\n') }); // base=old, ours=local, theirs=new
129
+ writeProjectGeneration(1);
130
+ runConfigSync({ apply: true });
131
+ expect(readProject('agents/a.md')).toBe('LOCALLY EDITED\n'); // untouched
132
+ expect(out()).toMatch(/skip local .*agents\/a\.md/);
133
+ expect(out()).toMatch(/--force/);
134
+ });
135
+ it('--force overwrites locally-modified files', () => {
136
+ writeBundle({ 'agents/a.md': 'NEW\n' });
137
+ writeProjectFile('agents/a.md', 'LOCALLY EDITED\n');
138
+ writeSyncState({ 'agents/a.md': sha('OLD\n') });
139
+ writeProjectGeneration(1);
140
+ runConfigSync({ apply: true, force: true });
141
+ expect(readProject('agents/a.md')).toBe('NEW\n'); // overwritten
142
+ });
143
+ it('reports everything in sync when project equals bundle (MemNexus case)', () => {
144
+ writeBundle({ 'hooks/x.sh': 'same\n', 'agents/a.md': 'same\n' }, 3);
145
+ writeProjectFile('hooks/x.sh', 'same\n');
146
+ writeProjectFile('agents/a.md', 'same\n');
147
+ writeProjectGeneration(3);
148
+ runConfigSync({ apply: true });
149
+ expect(out()).toMatch(/Everything is in sync/);
150
+ });
151
+ });
152
+ // ── dirty-tree refusal ─────────────────────────────────────────────────────────
153
+ describe('runConfigSync — dirty git tree', () => {
154
+ function gitInitDirty() {
155
+ spawnSync('git', ['init', '-q'], { cwd: project });
156
+ spawnSync('git', ['config', 'user.email', 't@e.com'], { cwd: project });
157
+ spawnSync('git', ['config', 'user.name', 't'], { cwd: project });
158
+ writeFileSync(join(project, 'dirty.txt'), 'uncommitted\n'); // untracked → dirty
159
+ }
160
+ it('refuses --apply on a dirty tree without --allow-dirty', () => {
161
+ writeBundle({ 'agents/a.md': 'NEW\n' });
162
+ writeProjectFile('agents/a.md', 'OLD\n');
163
+ writeSyncState({ 'agents/a.md': sha('OLD\n') });
164
+ writeProjectGeneration(1);
165
+ gitInitDirty();
166
+ expect(() => runConfigSync({ apply: true })).toThrow(/process\.exit:1/);
167
+ expect(errs.join('\n')).toMatch(/uncommitted changes/);
168
+ expect(readProject('agents/a.md')).toBe('OLD\n'); // nothing written
169
+ });
170
+ it('proceeds on a dirty tree with --allow-dirty', () => {
171
+ writeBundle({ 'agents/a.md': 'NEW\n' });
172
+ writeProjectFile('agents/a.md', 'OLD\n');
173
+ writeSyncState({ 'agents/a.md': sha('OLD\n') });
174
+ writeProjectGeneration(1);
175
+ gitInitDirty();
176
+ runConfigSync({ apply: true, allowDirty: true });
177
+ expect(readProject('agents/a.md')).toBe('NEW\n');
178
+ });
179
+ });
180
+ //# sourceMappingURL=config-sync.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-sync.test.js","sourceRoot":"","sources":["../../src/__tests__/config-sync.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * coordination-client -- HTTP client for the coordination service (FR-7).
3
+ *
4
+ * Uses a stubbed global fetch to assert the client builds correct requests and
5
+ * maps transport failures to ServiceUnreachableError and non-2xx to
6
+ * ServiceHttpError.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=coordination-client.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordination-client.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/coordination-client.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}