@orchestrator-claude/definitions 3.32.1 → 3.33.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 (87) hide show
  1. package/README.md +113 -0
  2. package/agents/debug-sidecar.md +1 -1
  3. package/agents/doc-sidecar.md +1 -1
  4. package/agents/test-sidecar.md +1 -1
  5. package/dist/cli.js +78 -0
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/DiffCommand.js +1 -1
  8. package/dist/commands/DiffCommand.js.map +1 -1
  9. package/dist/commands/InstallCommand.d.ts +41 -0
  10. package/dist/commands/InstallCommand.d.ts.map +1 -0
  11. package/dist/commands/InstallCommand.js +253 -0
  12. package/dist/commands/InstallCommand.js.map +1 -0
  13. package/dist/http/ApiClient.d.ts +5 -0
  14. package/dist/http/ApiClient.d.ts.map +1 -1
  15. package/dist/http/ApiClient.js.map +1 -1
  16. package/dist/install/DevCheckoutDetector.d.ts +66 -0
  17. package/dist/install/DevCheckoutDetector.d.ts.map +1 -0
  18. package/dist/install/DevCheckoutDetector.js +150 -0
  19. package/dist/install/DevCheckoutDetector.js.map +1 -0
  20. package/dist/install/HooksWirer.d.ts +29 -0
  21. package/dist/install/HooksWirer.d.ts.map +1 -0
  22. package/dist/install/HooksWirer.js +80 -0
  23. package/dist/install/HooksWirer.js.map +1 -0
  24. package/dist/install/LocalDiffReporter.d.ts +25 -0
  25. package/dist/install/LocalDiffReporter.d.ts.map +1 -0
  26. package/dist/install/LocalDiffReporter.js +50 -0
  27. package/dist/install/LocalDiffReporter.js.map +1 -0
  28. package/dist/install/Materializer.d.ts +67 -0
  29. package/dist/install/Materializer.d.ts.map +1 -0
  30. package/dist/install/Materializer.js +196 -0
  31. package/dist/install/Materializer.js.map +1 -0
  32. package/dist/install/McpRegistrar.d.ts +63 -0
  33. package/dist/install/McpRegistrar.d.ts.map +1 -0
  34. package/dist/install/McpRegistrar.js +114 -0
  35. package/dist/install/McpRegistrar.js.map +1 -0
  36. package/dist/install/ProcessRunner.d.ts +25 -0
  37. package/dist/install/ProcessRunner.d.ts.map +1 -0
  38. package/dist/install/ProcessRunner.js +41 -0
  39. package/dist/install/ProcessRunner.js.map +1 -0
  40. package/dist/install/ProjectSettingsNeutralizer.d.ts +39 -0
  41. package/dist/install/ProjectSettingsNeutralizer.d.ts.map +1 -0
  42. package/dist/install/ProjectSettingsNeutralizer.js +100 -0
  43. package/dist/install/ProjectSettingsNeutralizer.js.map +1 -0
  44. package/dist/install/types.d.ts +52 -0
  45. package/dist/install/types.d.ts.map +1 -0
  46. package/dist/install/types.js +8 -0
  47. package/dist/install/types.js.map +1 -0
  48. package/dist/manifest/ManifestLoader.d.ts.map +1 -1
  49. package/dist/manifest/ManifestLoader.js +3 -2
  50. package/dist/manifest/ManifestLoader.js.map +1 -1
  51. package/dist/manifest/types.d.ts +3 -0
  52. package/dist/manifest/types.d.ts.map +1 -1
  53. package/dist/scripts/bundle-hooks.d.ts +39 -0
  54. package/dist/scripts/bundle-hooks.d.ts.map +1 -0
  55. package/dist/scripts/bundle-hooks.js +165 -0
  56. package/dist/scripts/bundle-hooks.js.map +1 -0
  57. package/dist/scripts/generate-manifest.d.ts +22 -3
  58. package/dist/scripts/generate-manifest.d.ts.map +1 -1
  59. package/dist/scripts/generate-manifest.js +78 -35
  60. package/dist/scripts/generate-manifest.js.map +1 -1
  61. package/hooks/dangling-guard.mjs +7426 -0
  62. package/hooks/dangling-guard.ts +223 -6
  63. package/hooks/gate-guardian.mjs +463 -0
  64. package/hooks/lib/additional-directories-sync.ts +295 -0
  65. package/hooks/lib/api-client.ts +388 -7
  66. package/hooks/lib/session-selection.ts +81 -0
  67. package/hooks/mailbox-listener.mjs +259 -0
  68. package/hooks/post-compact.mjs +7931 -0
  69. package/hooks/post-implement.mjs +238 -0
  70. package/hooks/session-start.mjs +8234 -0
  71. package/hooks/session-start.ts +264 -23
  72. package/hooks/sprint-registry.mjs +59 -0
  73. package/hooks/subagent-start.mjs +289 -0
  74. package/hooks/subagent-stop.mjs +7793 -0
  75. package/hooks/subagent-stop.ts +4 -2
  76. package/hooks/user-prompt.mjs +329 -0
  77. package/hooks/workflow-guard.mjs +7805 -0
  78. package/hooks/workflow-guard.ts +360 -119
  79. package/hooks-settings-template.json +63 -0
  80. package/manifest.json +54 -68
  81. package/mcp-servers.json +48 -0
  82. package/package.json +10 -4
  83. package/personas/auditor-compliance.md +104 -0
  84. package/personas/cfo-conservador.md +88 -0
  85. package/personas/designer-perfeccionista.md +104 -0
  86. package/personas/diretor-cetico-fmcg.md +80 -0
  87. package/personas/engenheiro-cetico-construcao.md +107 -0
package/README.md ADDED
@@ -0,0 +1,113 @@
1
+ # @orchestrator-claude/definitions
2
+
3
+ Built-in definitions (agents, skills, hooks, workflows, KB seeds) for the
4
+ Orchestrator ecosystem, distributed as an npm package and installed into
5
+ `~/.claude/*` via `orch-defs install`.
6
+
7
+ ## CLI
8
+
9
+ ```bash
10
+ npx orch-defs <command>
11
+ ```
12
+
13
+ | Command | Purpose |
14
+ |---|---|
15
+ | `install` | Materialize agents/skills/hooks/personas/kb into `~/.claude/*`, wire hooks into `~/.claude/settings.json`, and register MCP servers via `claude mcp add --scope user` (RFC-040 ④) |
16
+ | `seed` | Seed a project's definitions into the orchestrator API (Postgres) |
17
+ | `diff` | Compare the local package's definitions against a target |
18
+ | `verify` | Verify manifest checksums |
19
+ | `info` | Show manifest metadata |
20
+
21
+ Run `npx orch-defs install --help` for the full flag reference and the
22
+ in-context risk notes summarized below.
23
+
24
+ ## `install`: two configuration owners (RF-006)
25
+
26
+ `orch-defs install` writes to **two physically distinct configuration
27
+ surfaces**, each owned by a different Claude Code subsystem, and **never
28
+ attempts to unify them**:
29
+
30
+ | Surface | Owner | How the installer writes it |
31
+ |---|---|---|
32
+ | `~/.claude.json` (MCP server registry) | Internal Claude Code state — rewritten live by the running CLI, ~200KB, mostly telemetry | **Never** written directly. The installer only ever invokes `claude mcp add --scope user <name> ...` and checks `claude mcp list` first for idempotency. |
33
+ | `~/.claude/settings.json` (`hooks` block) | Documented contract surface (published precedence, stable schema) | Read-modify-write JSON merge — existing non-orchestrator keys survive. |
34
+
35
+ **Why not unified?** `~/.claude.json` is Claude Code's own live-rewritten
36
+ internal state file — editing it directly races with the running CLI and
37
+ risks corruption/state loss (`~/.claude/.mcp.json` is a dead path that Claude
38
+ Code never reads, confirmed both in official docs and empirically). By
39
+ contrast, `~/.claude/settings.json` is a documented, stable contract surface
40
+ safe to edit directly. Collapsing both into one "installer config" write path
41
+ would hide this differing discipline and reintroduce the exact corruption
42
+ risk the split is designed to avoid (spec RF-006 / RF-004).
43
+
44
+ The codebase enforces this split structurally: MCP registration
45
+ (`McpRegistrar`) and hooks wiring (`HooksWirer`) are two separate modules,
46
+ not one generic "write config" function that treats both files as
47
+ interchangeable.
48
+
49
+ ## Dev-checkout mode (spec §5.2) — primary use case, not an edge case
50
+
51
+ `orch-defs install` detects two modes:
52
+
53
+ - **Clean-install**: cwd is a consumer project (e.g. `orch-testproj-rfc040`,
54
+ `trc`, `red-bull`) or a fresh machine — nothing competes with the
55
+ newly-materialized user-scope copy.
56
+ - **Dev-checkout**: cwd is inside the orchestrator monorepo itself, where
57
+ `.claude/agents/`, `.claude/skills/` are the authored, git-tracked,
58
+ PR-reviewed source.
59
+
60
+ **Dev-checkout is cmac's primary, everyday use case** — not a rare edge
61
+ case. The "launch-from-root" goal (RFC-040) is primarily about starting
62
+ sessions *outside* the monorepo, but cmac continues developing the
63
+ orchestrator itself *from inside* the monorepo checkout on a daily basis.
64
+
65
+ ### Precedence — MEASURED (AC-007/TASK-036, S385)
66
+
67
+ An earlier draft of this spec (§3.3) treated the precedence direction between
68
+ project-scope and user-scope as **asserted by Claude Code's official docs but
69
+ not empirically measured**. `scripts/probes/ac007-precedence-probe.ts`
70
+ (TASK-035) has since run that probe for real (TASK-036): an isolated
71
+ `CLAUDE_CONFIG_DIR` fixture, 3/3 deterministic runs per axis, with a
72
+ hard isolation gate confirming the real `~/.claude` and the real repo were
73
+ never mutated by the probe itself.
74
+
75
+ **Verdict: CONFIRMS the documented claim.** Agents resolve by **project**
76
+ scope (a local edit inside this repo takes effect on the next live session
77
+ immediately); skills resolve by **user** scope (`~/.claude/skills` — editing
78
+ a skill here has **no** effect on a live session until `orch-defs install`
79
+ re-runs, unless the file happens to be an INTERIM per-file symlink,
80
+ C6/TD-204). The precedence direction is **not inverted**.
81
+
82
+ **The risk that remains is silent drift, not precedence direction.** Because
83
+ `~/.claude/agents|skills` now resolves from the distributed **package**
84
+ copy while `<repo>/.claude/agents|skills` remains the **authored** copy,
85
+ the two can silently diverge over time — a project-scope skill edit has no
86
+ effect on a live session until you re-run `orch-defs install` to refresh
87
+ `~/.claude/skills`. `orch-defs install` detects dev-checkout mode and
88
+ requires an explicit `--dev-checkout-ack` before proceeding, precisely
89
+ because this drift risk is real and ongoing, not a one-time inverted-
90
+ precedence hazard.
91
+
92
+ ### Full convergence — open question, not closed by this backlog
93
+
94
+ Fully resolving requirement (a) for the dev-checkout case — converging
95
+ `<repo>/.claude/{agents,skills}` into symlinks pointing at
96
+ `packages/definitions/` (the C6 model, in the reverse direction) — is
97
+ **bigger than this installer** and is explicitly **out of scope** here
98
+ (spec §3.2/§5.2). `orch-defs install` v1 detects-and-warns; full repo
99
+ convergence is a separate design decision, not implemented in this version.
100
+
101
+ ## Development
102
+
103
+ ```bash
104
+ npm run build # tsc + bundle-hooks + generate-manifest
105
+ npm run test # vitest run
106
+ npm run test:coverage # vitest run --coverage
107
+ ```
108
+
109
+ Hooks (`hooks/*.ts`) are bundled into self-contained `hooks/*.mjs` bundles at
110
+ build time (`npm run bundle-hooks`, `src/scripts/bundle-hooks.ts`) — a fresh
111
+ install target has no `node_modules` of its own, so hooks must not depend on
112
+ runtime module resolution outside the bundle. `tests/HooksBundleFreshness.test.ts`
113
+ guards against source/bundle drift (see below).
@@ -2,7 +2,7 @@
2
2
  name: debug-sidecar
3
3
  description: Code review sidecar for sprint sessions. Continuously reviews implementer commits for bugs, SOLID violations, and security issues. Use in squad-review or platoon-full preset sprints alongside implementer panes.
4
4
  tools: Read, Glob, Grep, Bash
5
- model: claude-sonnet-4-5
5
+ model: sonnet
6
6
  color: red
7
7
  permissionMode: default
8
8
  skills:
@@ -2,7 +2,7 @@
2
2
  name: doc-sidecar
3
3
  description: Documentation co-pilot for sprint sessions. Monitors implementation progress and keeps docs in sync with code changes. Use in duo-doc preset sprints alongside the implementer pane.
4
4
  tools: Read, Edit, Write, Glob, Grep
5
- model: claude-sonnet-4-5
5
+ model: sonnet
6
6
  color: cyan
7
7
  permissionMode: default
8
8
  skills:
@@ -2,7 +2,7 @@
2
2
  name: test-sidecar
3
3
  description: Test execution sidecar for sprint sessions. Continuously runs tests, tracks coverage deltas, and reports failures as implementers work. Use in platoon-full preset sprints alongside implementer panes.
4
4
  tools: Read, Glob, Grep, Bash
5
- model: claude-sonnet-4-5
5
+ model: sonnet
6
6
  color: green
7
7
  permissionMode: default
8
8
  skills:
package/dist/cli.js CHANGED
@@ -6,6 +6,7 @@ import { resolve, dirname } from 'node:path';
6
6
  import { fileURLToPath } from 'node:url';
7
7
  import { SeedCommand } from './commands/SeedCommand.js';
8
8
  import { DiffCommand } from './commands/DiffCommand.js';
9
+ import { InstallCommand } from './commands/InstallCommand.js';
9
10
  import { ManifestLoader } from './manifest/ManifestLoader.js';
10
11
  const __dirname = dirname(fileURLToPath(import.meta.url));
11
12
  const packageRoot = resolve(__dirname, '..');
@@ -49,6 +50,7 @@ program
49
50
  console.log(` Agents: ${s.agentsSeeded} seeded, ${s.agentsFailed} failed`);
50
51
  console.log(` Skills: ${s.skillsSeeded} seeded, ${s.skillsFailed} failed`);
51
52
  console.log(` Hooks: ${s.hooksSeeded} seeded, ${s.hooksFailed} failed`);
53
+ console.log(` Personas: ${s.personasSeeded} seeded, ${s.personasFailed} failed`);
52
54
  console.log(` KB: ${s.kbSeeded} seeded, ${s.kbFailed} failed`);
53
55
  if (result.warnings.length > 0) {
54
56
  console.log(chalk.yellow('\nWarnings:'));
@@ -159,6 +161,7 @@ program
159
161
  console.log(` Agents: ${manifest.definitions.agents.length}`);
160
162
  console.log(` Skills: ${manifest.definitions.skills.length}`);
161
163
  console.log(` Hooks: ${manifest.definitions.hooks.length}`);
164
+ console.log(` Personas: ${manifest.definitions.personas.length}`);
162
165
  console.log(` KB Seeds: ${manifest.definitions.kb.length}`);
163
166
  }
164
167
  catch (err) {
@@ -166,5 +169,80 @@ program
166
169
  process.exit(1);
167
170
  }
168
171
  });
172
+ program
173
+ .command('install')
174
+ .description('Install orchestrator definitions into ~/.claude (agents, skills, hooks, MCP servers)')
175
+ .option('--dry-run', 'Show what would change without writing anything')
176
+ .option('--dev-checkout-ack', 'Acknowledge the dev-checkout inverted-precedence risk and proceed anyway')
177
+ .option('--monorepo-root <path>', 'Absolute monorepo root, used to resolve {{MONOREPO_ROOT}} in bundled MCP server args (ADR-007)')
178
+ .option('--home-dir <path>', 'Override ~/.claude target root (test/advanced escape hatch)')
179
+ .addHelpText('after', '\n' +
180
+ 'Risks (measured — AC-007/TASK-036, S385):\n' +
181
+ ' Dev-checkout mode: agents resolve by PROJECT-scope and skills resolve by\n' +
182
+ ' USER-scope — this confirms Claude Code\'s documented behavior; precedence is\n' +
183
+ ' NÃO É INVERTIDA (not inverted, as an earlier unmeasured hypothesis assumed).\n' +
184
+ ' The real risk that remains is DIVERGÊNCIA SILENCIOSA (silent drift) between\n' +
185
+ ' the authored project-scope copy (<repo>/.claude/*) and the installed\n' +
186
+ ' user-scope copy (~/.claude/*) over time, until `orch-defs install` re-runs.\n' +
187
+ ' Pass --dev-checkout-ack to proceed once you understand and accept this risk.\n' +
188
+ '\n' +
189
+ 'Configuration owners (RF-006):\n' +
190
+ ' MCP servers are registered via `claude mcp add --scope user` (~/.claude.json).\n' +
191
+ ' Hooks are wired into ~/.claude/settings.json.\n' +
192
+ ' These two configuration surfaces are managed independently and are not\n' +
193
+ ' unified — each is owned by a different Claude Code subsystem (MCP registry vs.\n' +
194
+ ' hook wiring), so a single install step must touch both separately (see README\n' +
195
+ ' §"Two config owners" for the full rationale).\n' +
196
+ '\n' +
197
+ 'Dev-checkout (§5.2):\n' +
198
+ ' Dev-checkout is a PRIMARY use case for monorepo contributors — not an edge\n' +
199
+ ' case. Full convergence of <repo>/.claude/* to symlinks pointing at\n' +
200
+ ' packages/definitions/ remains an OPEN QUESTION (RFC-040), not closed by this\n' +
201
+ ' backlog. See README for details.\n')
202
+ .action(async (options) => {
203
+ try {
204
+ const cmd = new InstallCommand(packageRoot);
205
+ const result = await cmd.execute({
206
+ dryRun: options.dryRun,
207
+ devCheckoutAck: options.devCheckoutAck,
208
+ monorepoRoot: options.monorepoRoot,
209
+ homeDir: options.homeDir,
210
+ });
211
+ if (result.dryRun) {
212
+ console.log(chalk.blue('Dry-run: showing planned changes only (nothing written).'));
213
+ }
214
+ if (result.success) {
215
+ console.log(chalk.green('\nInstall completed successfully:'));
216
+ }
217
+ else {
218
+ console.log(chalk.red('\nInstall failed:'));
219
+ }
220
+ const s = result.summary;
221
+ console.log(` Mode: ${result.mode}`);
222
+ console.log(` Files written: ${s.filesWritten}`);
223
+ console.log(` Files unchanged: ${s.filesUnchanged}`);
224
+ console.log(` MCP registered: ${s.mcpServersRegistered}`);
225
+ console.log(` MCP skipped: ${s.mcpServersSkipped}`);
226
+ console.log(` Hooks wired: ${s.hooksWired}`);
227
+ console.log(` Project neutralized: ${s.projectNeutralized}`);
228
+ if (result.warnings.length > 0) {
229
+ console.log(chalk.yellow('\nWarnings:'));
230
+ for (const w of result.warnings) {
231
+ console.log(chalk.yellow(` - ${w}`));
232
+ }
233
+ }
234
+ if (result.errors.length > 0) {
235
+ console.log(chalk.red('\nErrors:'));
236
+ for (const e of result.errors) {
237
+ console.log(chalk.red(` - ${e}`));
238
+ }
239
+ process.exit(1);
240
+ }
241
+ }
242
+ catch (err) {
243
+ console.error(chalk.red(`Install failed: ${err.message}`));
244
+ process.exit(1);
245
+ }
246
+ });
169
247
  program.parse();
170
248
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ export class DiffCommand {
16
16
  }
17
17
  const remote = await client.getDefinitionsMetadata();
18
18
  const entries = [];
19
- const categories = ['agents', 'skills', 'hooks', 'kb'];
19
+ const categories = ['agents', 'skills', 'hooks', 'personas', 'kb'];
20
20
  for (const cat of categories) {
21
21
  const localDefs = manifest.definitions[cat];
22
22
  const remoteDefs = remote[cat] ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"DiffCommand.js","sourceRoot":"","sources":["../../src/commands/DiffCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DiffCommand.js","sourceRoot":"","sources":["../../src/commands/DiffCommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { InstallCommandOptions, InstallResult } from '../install/types.js';
2
+ export declare class InstallCommand {
3
+ private readonly loader;
4
+ constructor(packageRoot?: string);
5
+ execute(options: InstallCommandOptions): Promise<InstallResult>;
6
+ private buildResult;
7
+ private loadHooksTemplate;
8
+ /**
9
+ * Loads the bundled MCP server specs (ADR-007), resolving the
10
+ * `{{MONOREPO_ROOT}}` placeholder in stdio `args` per mode:
11
+ *
12
+ * - dev-checkout (`monorepoRoot` provided): in-place string
13
+ * substitution of the placeholder token within each arg — UNCHANGED
14
+ * from the original ADR-007 behavior (RNF-001, byte-for-byte).
15
+ * - npm-user (`monorepoRoot` absent, ADR-P001/ADR-P003): resolves the
16
+ * REAL installed location of `@orchestrator-claude/mcp-server` via
17
+ * `resolveModulePath()` and replaces ONLY the placeholder-bearing arg
18
+ * with the FULL resolved path — never a substring splice inside the
19
+ * original arg, which would leave a duplicated/invalid path (e.g.
20
+ * `.../mcp-server/dist/index.js/packages/mcp-server/dist/index.js`).
21
+ * On any resolution failure (AD-004 — e.g. a from-scratch npm install
22
+ * without hoisting, Yarn PnP, etc.), falls back to the pre-existing
23
+ * skip+warning behavior, unchanged. `resolveModulePath()` is never
24
+ * called at all when `monorepoRoot` is provided (AD-001).
25
+ */
26
+ private resolveMcpServers;
27
+ /**
28
+ * Resolves a bare module specifier to its real on-disk path (ADR-P001).
29
+ * This file is ESM (`"type": "module"`) — bare `require.resolve` doesn't
30
+ * exist here, so `createRequire(import.meta.url)` is used to synthesize a
31
+ * CJS-style resolver bound to this file's location. Deliberately NOT
32
+ * `import.meta.resolve` (rejected — historically unstable/experimental
33
+ * across Node versions). An instance method (not a standalone function)
34
+ * so it is mockable via `vi.spyOn(InstallCommand.prototype,
35
+ * 'resolveModulePath')`, the same DI-via-prototype-spy seam already used
36
+ * for `Materializer`/`NodeProcessRunner`/`ProjectSettingsNeutralizer` in
37
+ * this class's tests.
38
+ */
39
+ private resolveModulePath;
40
+ }
41
+ //# sourceMappingURL=InstallCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstallCommand.d.ts","sourceRoot":"","sources":["../../src/commands/InstallCommand.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAiB,qBAAqB,EAAE,aAAa,EAAiB,MAAM,qBAAqB,CAAC;AAe9G,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE5B,WAAW,CAAC,EAAE,MAAM;IAI1B,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IAwIrE,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,iBAAiB;IAKzB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,iBAAiB;IAuDzB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iBAAiB;CAG1B"}
@@ -0,0 +1,253 @@
1
+ /**
2
+ * InstallCommand - orchestrates the 5 SRP install modules (Materializer,
3
+ * McpRegistrar, HooksWirer, ProjectSettingsNeutralizer, DevCheckoutDetector)
4
+ * per spec §6's 7-step atomicity sequence:
5
+ * 1. Stage (Materializer.stage() + copySkillAssets())
6
+ * 2. Verify (Materializer.verify(stagingDir))
7
+ * 3. MCP (McpRegistrar.checkClaudeAvailable() + ensureRegistered())
8
+ * 4. Swap (Materializer.swap(stagingDir) + HooksWirer.wire())
9
+ * 5. Backup (ProjectSettingsNeutralizer.backup())
10
+ * 6. Neutralize — the point of no return (ProjectSettingsNeutralizer.neutralize())
11
+ * 7. Report
12
+ *
13
+ * ADR-001: this class is deliberately thin — pure orchestration, no I/O logic
14
+ * of its own beyond reading the 2 bundled JSON assets (hooks template, MCP
15
+ * server list) that the constructor's `packageRoot` ships alongside the
16
+ * manifest. Never imports `ApiClient` (ADR-005) — `install`'s target is the
17
+ * operator's local filesystem + the `claude` CLI, not the orchestrator API.
18
+ *
19
+ * Atomicity (AC-005, TASK-031/032): every step from `stage()` through
20
+ * `swap()`'s post-swap verification runs inside ONE try/catch. Any throw —
21
+ * whether from `stage()`, `verify()`, the MCP step, or `swap()` — jumps
22
+ * straight to the catch, which builds an abort `InstallResult` WITHOUT ever
23
+ * reaching `ProjectSettingsNeutralizer.backup()`/`neutralize()` (both
24
+ * declared strictly AFTER the post-swap verification, by construction — no
25
+ * code path reaches them except after a verified-successful swap). Only
26
+ * `neutralize()` itself has a nested try/catch that calls
27
+ * `ProjectSettingsNeutralizer.restore(bakPath)` before propagating (AC-006).
28
+ */
29
+ import { existsSync, readFileSync, rmSync } from 'node:fs';
30
+ import { createRequire } from 'node:module';
31
+ import { homedir } from 'node:os';
32
+ import { join } from 'node:path';
33
+ import { ManifestLoader } from '../manifest/ManifestLoader.js';
34
+ import { Materializer } from '../install/Materializer.js';
35
+ import { McpRegistrar } from '../install/McpRegistrar.js';
36
+ import { NodeProcessRunner } from '../install/ProcessRunner.js';
37
+ import { HooksWirer } from '../install/HooksWirer.js';
38
+ import { ProjectSettingsNeutralizer } from '../install/ProjectSettingsNeutralizer.js';
39
+ import { DevCheckoutDetector } from '../install/DevCheckoutDetector.js';
40
+ import { LocalDiffReporter } from '../install/LocalDiffReporter.js';
41
+ const MONOREPO_ROOT_PLACEHOLDER = '{{MONOREPO_ROOT}}';
42
+ function emptySummary() {
43
+ return {
44
+ filesWritten: 0,
45
+ filesUnchanged: 0,
46
+ mcpServersRegistered: 0,
47
+ mcpServersSkipped: 0,
48
+ hooksWired: false,
49
+ projectNeutralized: false,
50
+ };
51
+ }
52
+ export class InstallCommand {
53
+ loader;
54
+ constructor(packageRoot) {
55
+ this.loader = new ManifestLoader(packageRoot);
56
+ }
57
+ async execute(options) {
58
+ const homeDir = options.homeDir ?? homedir();
59
+ const cwd = options.cwd ?? process.cwd();
60
+ const targetRoot = join(homeDir, '.claude');
61
+ const targetSettingsPath = join(targetRoot, 'settings.json');
62
+ const projectSettingsPath = join(cwd, '.claude', 'settings.json');
63
+ const warnings = [];
64
+ const errors = [];
65
+ const summary = emptySummary();
66
+ const manifest = this.loader.load();
67
+ const manifestAgentSlugs = manifest.definitions.agents.map((entry) => entry.slug);
68
+ const detector = new DevCheckoutDetector(manifestAgentSlugs);
69
+ const detection = detector.detect(cwd);
70
+ // Gate: dev-checkout without explicit ack aborts BEFORE step 1 (RF-002, AC-010) —
71
+ // no other module is ever touched on this path.
72
+ if (detection.mode === 'dev-checkout' && !options.devCheckoutAck) {
73
+ return this.buildResult(false, detection.mode, options, summary, warnings, [detection.reason]);
74
+ }
75
+ const materializer = new Materializer(this.loader, targetRoot);
76
+ const localDiffReporter = new LocalDiffReporter(this.loader, targetRoot);
77
+ let stagingDir;
78
+ try {
79
+ // Step 1: Stage
80
+ const staged = await materializer.stage();
81
+ stagingDir = staged.stagingDir;
82
+ await materializer.copySkillAssets(stagingDir);
83
+ // Step 2: Verify (staged content vs. manifest checksums)
84
+ const verifyResult = materializer.verify(stagingDir);
85
+ if (!verifyResult.valid) {
86
+ errors.push(`Checksum verification failed for staged entries: ${verifyResult.mismatches.map((m) => m.file).join(', ')}`);
87
+ return this.buildResult(false, detection.mode, options, summary, warnings, errors);
88
+ }
89
+ // LocalDiffReporter's plan, computed once — reused by both the
90
+ // --dry-run report below AND the idempotency short-circuit (RF-007).
91
+ const diff = localDiffReporter.report(stagingDir);
92
+ // --dry-run short-circuit (RF-008, AC-011): stops BEFORE step 3 (MCP) and
93
+ // step 4 (swap) — reports the "would-write" plan via LocalDiffReporter,
94
+ // never invokes `claude mcp add`, never touches targetRoot/project settings.
95
+ if (options.dryRun) {
96
+ summary.filesWritten = diff.entries.filter((e) => e.status !== 'unchanged').length;
97
+ summary.filesUnchanged = diff.entries.filter((e) => e.status === 'unchanged').length;
98
+ return this.buildResult(true, detection.mode, options, summary, warnings, errors);
99
+ }
100
+ const runner = new NodeProcessRunner();
101
+ const servers = this.resolveMcpServers(options.monorepoRoot, warnings);
102
+ const registrar = new McpRegistrar(runner, servers);
103
+ // Idempotency short-circuit (RF-007, AC-004 completo): nothing changed
104
+ // since the last install (diff has no changes) AND every configured MCP
105
+ // server is already registered -> skip steps 3-6 entirely, zero writes,
106
+ // zero `claude mcp add`.
107
+ const alreadyRegisteredNames = new Set(await registrar.listRegistered());
108
+ const allServersAlreadyRegistered = servers.every((server) => alreadyRegisteredNames.has(server.name));
109
+ if (!diff.hasChanges && allServersAlreadyRegistered) {
110
+ summary.filesWritten = 0;
111
+ summary.filesUnchanged = diff.entries.length;
112
+ summary.mcpServersRegistered = 0;
113
+ summary.mcpServersSkipped = servers.length;
114
+ return this.buildResult(true, detection.mode, options, summary, warnings, errors);
115
+ }
116
+ // Step 3: MCP registration (R-3: availability checked BEFORE any add)
117
+ const claudeAvailable = await registrar.checkClaudeAvailable();
118
+ if (!claudeAvailable) {
119
+ errors.push('claude CLI not found in PATH. Register MCP servers manually: ' +
120
+ servers.map((s) => s.name).join(', '));
121
+ return this.buildResult(false, detection.mode, options, summary, warnings, errors);
122
+ }
123
+ const mcpResult = await registrar.ensureRegistered();
124
+ summary.mcpServersRegistered = mcpResult.registered.length;
125
+ summary.mcpServersSkipped = mcpResult.skipped.length;
126
+ // Step 4: Swap + hooks wiring
127
+ const swapResult = await materializer.swap(stagingDir);
128
+ stagingDir = undefined; // swap() cleans up staging in its own finally, whether it succeeds or throws
129
+ summary.filesWritten = swapResult.filesWritten;
130
+ summary.filesUnchanged = swapResult.filesUnchanged;
131
+ // Post-swap verification (spec §6.4): read back targetRoot and re-compare
132
+ // checksums BEFORE the point of no return. `neutralize()` (step 6) must
133
+ // never be reached unless this passes — by construction, throwing here
134
+ // jumps straight to the outer catch, skipping hooks-wire/backup/neutralize.
135
+ const postSwapVerify = materializer.verify(targetRoot);
136
+ if (!postSwapVerify.valid) {
137
+ throw new Error(`Post-swap verification failed for: ${postSwapVerify.mismatches.map((m) => m.file).join(', ')}`);
138
+ }
139
+ const hooksTemplate = this.loadHooksTemplate();
140
+ const hooksWirer = new HooksWirer(hooksTemplate, targetSettingsPath);
141
+ hooksWirer.wire();
142
+ summary.hooksWired = true;
143
+ // Steps 5-6: Backup + neutralize (only when the project has settings to neutralize)
144
+ if (existsSync(projectSettingsPath)) {
145
+ const neutralizer = new ProjectSettingsNeutralizer(projectSettingsPath);
146
+ const bakPath = neutralizer.backup();
147
+ try {
148
+ const neutralizeResult = neutralizer.neutralize();
149
+ summary.projectNeutralized = neutralizeResult.neutralized;
150
+ }
151
+ catch (neutralizeError) {
152
+ neutralizer.restore(bakPath);
153
+ throw new Error(`Failed to neutralize project settings (restored from backup): ${neutralizeError.message}`);
154
+ }
155
+ }
156
+ // Step 7: Report
157
+ return this.buildResult(true, detection.mode, options, summary, warnings, errors);
158
+ }
159
+ catch (error) {
160
+ errors.push(error.message);
161
+ return this.buildResult(false, detection.mode, options, summary, warnings, errors);
162
+ }
163
+ finally {
164
+ if (stagingDir && existsSync(stagingDir)) {
165
+ rmSync(stagingDir, { recursive: true, force: true });
166
+ }
167
+ }
168
+ }
169
+ buildResult(success, mode, options, summary, warnings, errors) {
170
+ return { success, mode, dryRun: !!options.dryRun, summary, warnings, errors };
171
+ }
172
+ loadHooksTemplate() {
173
+ const raw = readFileSync(join(this.loader.getPackageRoot(), 'hooks-settings-template.json'), 'utf-8');
174
+ return JSON.parse(raw);
175
+ }
176
+ /**
177
+ * Loads the bundled MCP server specs (ADR-007), resolving the
178
+ * `{{MONOREPO_ROOT}}` placeholder in stdio `args` per mode:
179
+ *
180
+ * - dev-checkout (`monorepoRoot` provided): in-place string
181
+ * substitution of the placeholder token within each arg — UNCHANGED
182
+ * from the original ADR-007 behavior (RNF-001, byte-for-byte).
183
+ * - npm-user (`monorepoRoot` absent, ADR-P001/ADR-P003): resolves the
184
+ * REAL installed location of `@orchestrator-claude/mcp-server` via
185
+ * `resolveModulePath()` and replaces ONLY the placeholder-bearing arg
186
+ * with the FULL resolved path — never a substring splice inside the
187
+ * original arg, which would leave a duplicated/invalid path (e.g.
188
+ * `.../mcp-server/dist/index.js/packages/mcp-server/dist/index.js`).
189
+ * On any resolution failure (AD-004 — e.g. a from-scratch npm install
190
+ * without hoisting, Yarn PnP, etc.), falls back to the pre-existing
191
+ * skip+warning behavior, unchanged. `resolveModulePath()` is never
192
+ * called at all when `monorepoRoot` is provided (AD-001).
193
+ */
194
+ resolveMcpServers(monorepoRoot, warnings) {
195
+ const raw = JSON.parse(readFileSync(join(this.loader.getPackageRoot(), 'mcp-servers.json'), 'utf-8'));
196
+ if (monorepoRoot) {
197
+ return raw.servers.map((server) => ({
198
+ ...server,
199
+ ...(server.args
200
+ ? { args: server.args.map((arg) => arg.replaceAll(MONOREPO_ROOT_PLACEHOLDER, monorepoRoot)) }
201
+ : {}),
202
+ }));
203
+ }
204
+ let resolvedMcpServerPath;
205
+ try {
206
+ resolvedMcpServerPath = this.resolveModulePath('@orchestrator-claude/mcp-server');
207
+ }
208
+ catch {
209
+ resolvedMcpServerPath = undefined;
210
+ }
211
+ if (resolvedMcpServerPath !== undefined) {
212
+ const resolvedPath = resolvedMcpServerPath;
213
+ return raw.servers.map((server) => ({
214
+ ...server,
215
+ ...(server.args
216
+ ? {
217
+ args: server.args.map((arg) => arg.includes(MONOREPO_ROOT_PLACEHOLDER) ? resolvedPath : arg),
218
+ }
219
+ : {}),
220
+ }));
221
+ }
222
+ const resolvable = [];
223
+ const skipped = [];
224
+ for (const server of raw.servers) {
225
+ const needsMonorepoRoot = server.args?.some((arg) => arg.includes(MONOREPO_ROOT_PLACEHOLDER)) ?? false;
226
+ if (needsMonorepoRoot) {
227
+ skipped.push(server.name);
228
+ continue;
229
+ }
230
+ resolvable.push(server);
231
+ }
232
+ if (skipped.length > 0) {
233
+ warnings.push(`monorepoRoot not resolved — skipping MCP servers that require it: ${skipped.join(', ')}. Use --monorepo-root to register them.`);
234
+ }
235
+ return resolvable;
236
+ }
237
+ /**
238
+ * Resolves a bare module specifier to its real on-disk path (ADR-P001).
239
+ * This file is ESM (`"type": "module"`) — bare `require.resolve` doesn't
240
+ * exist here, so `createRequire(import.meta.url)` is used to synthesize a
241
+ * CJS-style resolver bound to this file's location. Deliberately NOT
242
+ * `import.meta.resolve` (rejected — historically unstable/experimental
243
+ * across Node versions). An instance method (not a standalone function)
244
+ * so it is mockable via `vi.spyOn(InstallCommand.prototype,
245
+ * 'resolveModulePath')`, the same DI-via-prototype-spy seam already used
246
+ * for `Materializer`/`NodeProcessRunner`/`ProjectSettingsNeutralizer` in
247
+ * this class's tests.
248
+ */
249
+ resolveModulePath(specifier) {
250
+ return createRequire(import.meta.url).resolve(specifier);
251
+ }
252
+ }
253
+ //# sourceMappingURL=InstallCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstallCommand.js","sourceRoot":"","sources":["../../src/commands/InstallCommand.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,11 @@ export declare class ApiClient {
39
39
  version: string;
40
40
  origin: string;
41
41
  }>;
42
+ personas: Array<{
43
+ slug: string;
44
+ version: string;
45
+ origin: string;
46
+ }>;
42
47
  kb: Array<{
43
48
  slug: string;
44
49
  version: string;