@orchestrator-claude/definitions 3.32.2 → 3.34.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/README.md +145 -0
- package/agents/adversarial-reviewer.md +2 -2
- package/agents/azure-devops-engineer.md +9 -1
- package/agents/cicd-platform-engineer.md +477 -0
- package/agents/debug-sidecar.md +6 -1
- package/agents/doc-sidecar.md +6 -1
- package/agents/frontend-engineer.md +173 -0
- package/agents/implementer.md +39 -23
- package/agents/methodology-researcher.md +2 -1
- package/agents/operational-artifact-builder.md +2 -1
- package/agents/orchestrator.md +47 -76
- package/agents/planner.md +2 -2
- package/agents/presentation-engineer.md +1 -1
- package/agents/python-data-engineer.md +214 -0
- package/agents/reviewer.md +16 -8
- package/agents/specifier.md +1 -1
- package/agents/task-generator.md +1 -1
- package/agents/test-sidecar.md +15 -4
- package/dist/cli.js +78 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/DiffCommand.js +1 -1
- package/dist/commands/DiffCommand.js.map +1 -1
- package/dist/commands/InstallCommand.d.ts +41 -0
- package/dist/commands/InstallCommand.d.ts.map +1 -0
- package/dist/commands/InstallCommand.js +253 -0
- package/dist/commands/InstallCommand.js.map +1 -0
- package/dist/http/ApiClient.d.ts +5 -0
- package/dist/http/ApiClient.d.ts.map +1 -1
- package/dist/http/ApiClient.js.map +1 -1
- package/dist/install/DevCheckoutDetector.d.ts +66 -0
- package/dist/install/DevCheckoutDetector.d.ts.map +1 -0
- package/dist/install/DevCheckoutDetector.js +150 -0
- package/dist/install/DevCheckoutDetector.js.map +1 -0
- package/dist/install/HooksWirer.d.ts +29 -0
- package/dist/install/HooksWirer.d.ts.map +1 -0
- package/dist/install/HooksWirer.js +80 -0
- package/dist/install/HooksWirer.js.map +1 -0
- package/dist/install/LocalDiffReporter.d.ts +25 -0
- package/dist/install/LocalDiffReporter.d.ts.map +1 -0
- package/dist/install/LocalDiffReporter.js +50 -0
- package/dist/install/LocalDiffReporter.js.map +1 -0
- package/dist/install/Materializer.d.ts +67 -0
- package/dist/install/Materializer.d.ts.map +1 -0
- package/dist/install/Materializer.js +196 -0
- package/dist/install/Materializer.js.map +1 -0
- package/dist/install/McpRegistrar.d.ts +63 -0
- package/dist/install/McpRegistrar.d.ts.map +1 -0
- package/dist/install/McpRegistrar.js +114 -0
- package/dist/install/McpRegistrar.js.map +1 -0
- package/dist/install/ProcessRunner.d.ts +25 -0
- package/dist/install/ProcessRunner.d.ts.map +1 -0
- package/dist/install/ProcessRunner.js +41 -0
- package/dist/install/ProcessRunner.js.map +1 -0
- package/dist/install/ProjectSettingsNeutralizer.d.ts +39 -0
- package/dist/install/ProjectSettingsNeutralizer.d.ts.map +1 -0
- package/dist/install/ProjectSettingsNeutralizer.js +100 -0
- package/dist/install/ProjectSettingsNeutralizer.js.map +1 -0
- package/dist/install/types.d.ts +52 -0
- package/dist/install/types.d.ts.map +1 -0
- package/dist/install/types.js +8 -0
- package/dist/install/types.js.map +1 -0
- package/dist/manifest/ManifestLoader.d.ts.map +1 -1
- package/dist/manifest/ManifestLoader.js +3 -2
- package/dist/manifest/ManifestLoader.js.map +1 -1
- package/dist/manifest/types.d.ts +3 -0
- package/dist/manifest/types.d.ts.map +1 -1
- package/dist/scripts/bundle-hooks.d.ts +39 -0
- package/dist/scripts/bundle-hooks.d.ts.map +1 -0
- package/dist/scripts/bundle-hooks.js +165 -0
- package/dist/scripts/bundle-hooks.js.map +1 -0
- package/dist/scripts/generate-manifest.d.ts +22 -3
- package/dist/scripts/generate-manifest.d.ts.map +1 -1
- package/dist/scripts/generate-manifest.js +78 -35
- package/dist/scripts/generate-manifest.js.map +1 -1
- package/hooks/dangling-guard.mjs +7426 -0
- package/hooks/dangling-guard.ts +223 -6
- package/hooks/gate-guardian.mjs +463 -0
- package/hooks/hooks.json +63 -0
- package/hooks/lib/additional-directories-sync.ts +295 -0
- package/hooks/lib/api-client.ts +388 -7
- package/hooks/lib/session-selection.ts +81 -0
- package/hooks/mailbox-listener.mjs +259 -0
- package/hooks/post-compact.mjs +7931 -0
- package/hooks/post-implement.mjs +238 -0
- package/hooks/session-start.mjs +8234 -0
- package/hooks/session-start.ts +264 -23
- package/hooks/sprint-registry.mjs +59 -0
- package/hooks/subagent-start.mjs +289 -0
- package/hooks/subagent-stop.mjs +7793 -0
- package/hooks/subagent-stop.ts +4 -2
- package/hooks/user-prompt.mjs +329 -0
- package/hooks/workflow-guard.mjs +7805 -0
- package/hooks/workflow-guard.ts +360 -119
- package/hooks-settings-template.json +63 -0
- package/manifest.json +124 -90
- package/mcp-servers.json +48 -0
- package/package.json +10 -4
- package/personas/auditor-compliance.md +104 -0
- package/personas/cfo-conservador.md +88 -0
- package/personas/designer-perfeccionista.md +104 -0
- package/personas/diretor-cetico-fmcg.md +80 -0
- package/personas/engenheiro-cetico-construcao.md +107 -0
- package/skills/artifact-generator/SKILL.md +1 -1
- package/skills/artifact-production/SKILL.md +28 -0
- package/skills/backlog-synthesis/SKILL.md +8 -3
- package/skills/checkpoint-protocol/SKILL.md +7 -0
- package/skills/infographic-engine/SKILL.md +116 -0
- package/skills/orchestrator/SKILL.md +93 -7
- package/skills/persona-library/SKILL.md +1 -1
- package/skills/project-conventions/SKILL.md +53 -30
- package/skills/project-management-enterprise/SKILL.md +1 -1
- package/skills/python-data-engineering/SKILL.md +792 -0
- package/skills/release/SKILL.md +29 -18
- package/skills/release/release.sh +65 -4
- package/skills/storybook-validated-loop/SKILL.md +110 -0
- package/skills/tdd-discipline/SKILL.md +16 -0
- package/skills/workflow-coordination/SKILL.md +117 -16
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export declare class ProjectSettingsNeutralizer {
|
|
2
|
+
private readonly projectSettingsPath;
|
|
3
|
+
constructor(projectSettingsPath: string);
|
|
4
|
+
/**
|
|
5
|
+
* Copies `projectSettingsPath` to `<path>.orch-install-bak` (R-2). Safe to
|
|
6
|
+
* call more than once — always re-copies the CURRENT on-disk content, so
|
|
7
|
+
* a caller that already backed up before calling `neutralize()` (which
|
|
8
|
+
* also backs up internally) never loses the true pre-mutation state.
|
|
9
|
+
*/
|
|
10
|
+
backup(): string;
|
|
11
|
+
/**
|
|
12
|
+
* Removes only the `hooks` key from `projectSettingsPath`, preserving
|
|
13
|
+
* every other key untouched. Calls `backup()` unconditionally as its
|
|
14
|
+
* first action (R-2) — no branch in this method mutates the file before
|
|
15
|
+
* a backup exists.
|
|
16
|
+
*/
|
|
17
|
+
neutralize(): {
|
|
18
|
+
neutralized: boolean;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Restores `projectSettingsPath` from a previously-created backup path
|
|
22
|
+
* (as returned by `backup()`). Called by the ORCHESTRATOR's own `catch` —
|
|
23
|
+
* see module JSDoc — never invoked internally by this class.
|
|
24
|
+
*/
|
|
25
|
+
restore(bakPath: string): void;
|
|
26
|
+
private backupPath;
|
|
27
|
+
private readSettings;
|
|
28
|
+
/**
|
|
29
|
+
* Stage-then-swap for a SINGLE file (ADR-003 discipline, scaled down from
|
|
30
|
+
* `Materializer`'s per-category directory rename): write to a sibling
|
|
31
|
+
* temp path, then `renameSync` over the target. A failure at either step
|
|
32
|
+
* never touches `projectSettingsPath` — the temp file is the only thing
|
|
33
|
+
* that can be left in an inconsistent state, and it is cleaned up in the
|
|
34
|
+
* `catch`.
|
|
35
|
+
*/
|
|
36
|
+
private writeAtomic;
|
|
37
|
+
private tmpPath;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=ProjectSettingsNeutralizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectSettingsNeutralizer.d.ts","sourceRoot":"","sources":["../../src/install/ProjectSettingsNeutralizer.ts"],"names":[],"mappings":"AA8BA,qBAAa,0BAA0B;IACzB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,MAAM;IAExD;;;;;OAKG;IACH,MAAM,IAAI,MAAM;IAMhB;;;;;OAKG;IACH,UAAU,IAAI;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE;IAYtC;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI9B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,YAAY;IAKpB;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,OAAO;CAGhB"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ProjectSettingsNeutralizer - backup + atomic removal of the `hooks` key
|
|
3
|
+
* from the target project's `.claude/settings.json`, with rollback
|
|
4
|
+
* (RF-003/RF-006, R-2).
|
|
5
|
+
*
|
|
6
|
+
* Two independent safety nets protect against a partial mutation corrupting
|
|
7
|
+
* the project's settings file:
|
|
8
|
+
* 1. **Atomic write** (this module, `writeAtomic()`): `neutralize()` never
|
|
9
|
+
* writes through `projectSettingsPath` directly — it writes the next
|
|
10
|
+
* content to a sibling temp file and `renameSync`s it over the target
|
|
11
|
+
* (same stage-then-swap discipline as `Materializer`, ADR-003). A
|
|
12
|
+
* rename replaces whatever directory entry currently sits at the
|
|
13
|
+
* target path (including a symlink, FA-002) without following it, so a
|
|
14
|
+
* mid-write failure (e.g. a mocked `ENOSPC`) always leaves the
|
|
15
|
+
* ORIGINAL file untouched — never a half-written one.
|
|
16
|
+
* 2. **Backup + restore** (R-2, AC-006): `neutralize()` unconditionally
|
|
17
|
+
* calls `backup()` as its very first action — there is no code path
|
|
18
|
+
* that mutates `projectSettingsPath` without a `.orch-install-bak`
|
|
19
|
+
* copy already on disk. `restore(bakPath)` is the counterpart the
|
|
20
|
+
* ORCHESTRATOR (`InstallCommand`, TASK-032, Fase 6 — out of this
|
|
21
|
+
* module's scope) calls from its own `catch` if a LATER step of the
|
|
22
|
+
* overall install sequence fails after `neutralize()` already
|
|
23
|
+
* succeeded. This class only implements the primitive — it never
|
|
24
|
+
* calls `restore()` on itself.
|
|
25
|
+
*
|
|
26
|
+
* `neutralize()` removes ONLY the `hooks` key — every other key (`env`,
|
|
27
|
+
* `permissions`, `enabledPlugins`, ...) is preserved untouched.
|
|
28
|
+
*/
|
|
29
|
+
import { copyFileSync, existsSync, readFileSync, renameSync, rmSync, writeFileSync } from 'node:fs';
|
|
30
|
+
export class ProjectSettingsNeutralizer {
|
|
31
|
+
projectSettingsPath;
|
|
32
|
+
constructor(projectSettingsPath) {
|
|
33
|
+
this.projectSettingsPath = projectSettingsPath;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Copies `projectSettingsPath` to `<path>.orch-install-bak` (R-2). Safe to
|
|
37
|
+
* call more than once — always re-copies the CURRENT on-disk content, so
|
|
38
|
+
* a caller that already backed up before calling `neutralize()` (which
|
|
39
|
+
* also backs up internally) never loses the true pre-mutation state.
|
|
40
|
+
*/
|
|
41
|
+
backup() {
|
|
42
|
+
const bakPath = this.backupPath();
|
|
43
|
+
copyFileSync(this.projectSettingsPath, bakPath);
|
|
44
|
+
return bakPath;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Removes only the `hooks` key from `projectSettingsPath`, preserving
|
|
48
|
+
* every other key untouched. Calls `backup()` unconditionally as its
|
|
49
|
+
* first action (R-2) — no branch in this method mutates the file before
|
|
50
|
+
* a backup exists.
|
|
51
|
+
*/
|
|
52
|
+
neutralize() {
|
|
53
|
+
this.backup();
|
|
54
|
+
const current = this.readSettings();
|
|
55
|
+
const hadHooks = Object.prototype.hasOwnProperty.call(current, 'hooks');
|
|
56
|
+
const { hooks: _hooks, ...rest } = current;
|
|
57
|
+
this.writeAtomic(JSON.stringify(rest, null, 2));
|
|
58
|
+
return { neutralized: hadHooks };
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Restores `projectSettingsPath` from a previously-created backup path
|
|
62
|
+
* (as returned by `backup()`). Called by the ORCHESTRATOR's own `catch` —
|
|
63
|
+
* see module JSDoc — never invoked internally by this class.
|
|
64
|
+
*/
|
|
65
|
+
restore(bakPath) {
|
|
66
|
+
copyFileSync(bakPath, this.projectSettingsPath);
|
|
67
|
+
}
|
|
68
|
+
backupPath() {
|
|
69
|
+
return `${this.projectSettingsPath}.orch-install-bak`;
|
|
70
|
+
}
|
|
71
|
+
readSettings() {
|
|
72
|
+
const raw = readFileSync(this.projectSettingsPath, 'utf-8');
|
|
73
|
+
return JSON.parse(raw);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Stage-then-swap for a SINGLE file (ADR-003 discipline, scaled down from
|
|
77
|
+
* `Materializer`'s per-category directory rename): write to a sibling
|
|
78
|
+
* temp path, then `renameSync` over the target. A failure at either step
|
|
79
|
+
* never touches `projectSettingsPath` — the temp file is the only thing
|
|
80
|
+
* that can be left in an inconsistent state, and it is cleaned up in the
|
|
81
|
+
* `catch`.
|
|
82
|
+
*/
|
|
83
|
+
writeAtomic(content) {
|
|
84
|
+
const tmpPath = this.tmpPath();
|
|
85
|
+
try {
|
|
86
|
+
writeFileSync(tmpPath, content, 'utf-8');
|
|
87
|
+
renameSync(tmpPath, this.projectSettingsPath);
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
if (existsSync(tmpPath)) {
|
|
91
|
+
rmSync(tmpPath, { force: true });
|
|
92
|
+
}
|
|
93
|
+
throw new Error(`ProjectSettingsNeutralizer.neutralize() failed writing "${this.projectSettingsPath}": ${error.message}`, { cause: error });
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
tmpPath() {
|
|
97
|
+
return `${this.projectSettingsPath}.orch-neutralize-tmp-${process.pid}`;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=ProjectSettingsNeutralizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectSettingsNeutralizer.js","sourceRoot":"","sources":["../../src/install/ProjectSettingsNeutralizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEpG,MAAM,OAAO,0BAA0B;IACR;IAA7B,YAA6B,mBAA2B;QAA3B,wBAAmB,GAAnB,mBAAmB,CAAQ;IAAG,CAAC;IAE5D;;;;;OAKG;IACH,MAAM;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,UAAU;QACR,IAAI,CAAC,MAAM,EAAE,CAAC;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAE3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEhD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,OAAe;QACrB,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClD,CAAC;IAEO,UAAU;QAChB,OAAO,GAAG,IAAI,CAAC,mBAAmB,mBAAmB,CAAC;IACxD,CAAC;IAEO,YAAY;QAClB,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;IACpD,CAAC;IAED;;;;;;;OAOG;IACK,WAAW,CAAC,OAAe;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACzC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACnC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,2DAA2D,IAAI,CAAC,mBAAmB,MAAO,KAAe,CAAC,OAAO,EAAE,EACnH,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,OAAO;QACb,OAAO,GAAG,IAAI,CAAC,mBAAmB,wBAAwB,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1E,CAAC;CACF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the `orch-defs install` command (RFC-040 §9.1).
|
|
3
|
+
*
|
|
4
|
+
* These types define the public contract used across the install pipeline
|
|
5
|
+
* (detection, MCP server registration, hooks wiring, project neutralization).
|
|
6
|
+
*/
|
|
7
|
+
export interface InstallCommandOptions {
|
|
8
|
+
dryRun?: boolean;
|
|
9
|
+
devCheckoutAck?: boolean;
|
|
10
|
+
homeDir?: string;
|
|
11
|
+
monorepoRoot?: string;
|
|
12
|
+
cwd?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface InstallResult {
|
|
15
|
+
success: boolean;
|
|
16
|
+
mode: 'clean-install' | 'dev-checkout';
|
|
17
|
+
dryRun: boolean;
|
|
18
|
+
summary: {
|
|
19
|
+
filesWritten: number;
|
|
20
|
+
filesUnchanged: number;
|
|
21
|
+
mcpServersRegistered: number;
|
|
22
|
+
mcpServersSkipped: number;
|
|
23
|
+
hooksWired: boolean;
|
|
24
|
+
projectNeutralized: boolean;
|
|
25
|
+
};
|
|
26
|
+
warnings: string[];
|
|
27
|
+
errors: string[];
|
|
28
|
+
}
|
|
29
|
+
export interface DetectionResult {
|
|
30
|
+
mode: 'clean-install' | 'dev-checkout';
|
|
31
|
+
matchedSlugs: string[];
|
|
32
|
+
reason: string;
|
|
33
|
+
}
|
|
34
|
+
export interface McpServerSpec {
|
|
35
|
+
name: string;
|
|
36
|
+
type?: 'stdio' | 'http';
|
|
37
|
+
command?: string;
|
|
38
|
+
args?: string[];
|
|
39
|
+
env?: Record<string, string>;
|
|
40
|
+
url?: string;
|
|
41
|
+
}
|
|
42
|
+
export interface HooksTemplate {
|
|
43
|
+
hooks: Record<string, Array<{
|
|
44
|
+
matcher: string;
|
|
45
|
+
hooks: Array<{
|
|
46
|
+
type: 'command';
|
|
47
|
+
command: string;
|
|
48
|
+
timeout: number;
|
|
49
|
+
}>;
|
|
50
|
+
}>>;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/install/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,eAAe,GAAG,cAAc,CAAC;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,EAAE,OAAO,CAAC;QACpB,kBAAkB,EAAE,OAAO,CAAC;KAC7B,CAAC;IACF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,eAAe,GAAG,cAAc,CAAC;IACvC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CACX,MAAM,EACN,KAAK,CAAC;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,SAAS,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACrE,CAAC,CACH,CAAC;CACH"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the `orch-defs install` command (RFC-040 §9.1).
|
|
3
|
+
*
|
|
4
|
+
* These types define the public contract used across the install pipeline
|
|
5
|
+
* (detection, MCP server registration, hooks wiring, project neutralization).
|
|
6
|
+
*/
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/install/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManifestLoader.d.ts","sourceRoot":"","sources":["../../src/manifest/ManifestLoader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAItF,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,WAAW,CAAC,EAAE,MAAM;IAKhC;;OAEG;IACH,IAAI,IAAI,cAAc;IAqBtB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAuBxC;;;OAGG;IACH,eAAe,IAAI;QAAE,KAAK,EAAE,eAAe,EAAE,CAAC;QAAC,OAAO,EAAE,eAAe,EAAE,CAAA;KAAE;
|
|
1
|
+
{"version":3,"file":"ManifestLoader.d.ts","sourceRoot":"","sources":["../../src/manifest/ManifestLoader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAItF,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,WAAW,CAAC,EAAE,MAAM;IAKhC;;OAEG;IACH,IAAI,IAAI,cAAc;IAqBtB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAuBxC;;;OAGG;IACH,eAAe,IAAI;QAAE,KAAK,EAAE,eAAe,EAAE,CAAC;QAAC,OAAO,EAAE,eAAe,EAAE,CAAA;KAAE;IAiC3E;;OAEG;IACH,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM;IAQrD;;OAEG;IACH,aAAa,IAAI,KAAK,CAAC,eAAe,GAAG;QAAE,QAAQ,EAAE,kBAAkB,CAAA;KAAE,CAAC;IAc1E,cAAc,IAAI,MAAM;CAGzB"}
|
|
@@ -40,7 +40,7 @@ export class ManifestLoader {
|
|
|
40
40
|
if (!manifest.version || typeof manifest.version !== 'string') {
|
|
41
41
|
throw new Error('Manifest must have a version string.');
|
|
42
42
|
}
|
|
43
|
-
const categories = ['agents', 'skills', 'hooks', 'kb'];
|
|
43
|
+
const categories = ['agents', 'skills', 'hooks', 'personas', 'kb'];
|
|
44
44
|
for (const cat of categories) {
|
|
45
45
|
if (!Array.isArray(manifest.definitions[cat])) {
|
|
46
46
|
throw new Error(`Manifest definitions.${cat} must be an array.`);
|
|
@@ -59,6 +59,7 @@ export class ManifestLoader {
|
|
|
59
59
|
...manifest.definitions.agents,
|
|
60
60
|
...manifest.definitions.skills,
|
|
61
61
|
...manifest.definitions.hooks,
|
|
62
|
+
...manifest.definitions.personas,
|
|
62
63
|
...manifest.definitions.kb,
|
|
63
64
|
];
|
|
64
65
|
for (const entry of allEntries) {
|
|
@@ -94,7 +95,7 @@ export class ManifestLoader {
|
|
|
94
95
|
getAllEntries() {
|
|
95
96
|
const manifest = this.load();
|
|
96
97
|
const entries = [];
|
|
97
|
-
const categories = ['agents', 'skills', 'hooks', 'kb'];
|
|
98
|
+
const categories = ['agents', 'skills', 'hooks', 'personas', 'kb'];
|
|
98
99
|
for (const cat of categories) {
|
|
99
100
|
for (const entry of manifest.definitions[cat]) {
|
|
100
101
|
entries.push({ ...entry, category: cat });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManifestLoader.js","sourceRoot":"","sources":["../../src/manifest/ManifestLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,MAAM,OAAO,cAAc;IACjB,QAAQ,GAA0B,IAAI,CAAC;IAC9B,WAAW,CAAS;IAErC,YAAY,WAAoB;QAC9B,8EAA8E;QAC9E,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAEhE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,8BAA8B,YAAY,0CAA0C,CACrF,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;QAEjD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAAwB;QAC/B,IAAI,QAAQ,CAAC,MAAM,KAAK,6BAA6B,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CACb,gCAAgC,QAAQ,CAAC,MAAM,2CAA2C,CAC3F,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,UAAU,GAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ManifestLoader.js","sourceRoot":"","sources":["../../src/manifest/ManifestLoader.ts"],"names":[],"mappings":"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"}
|
package/dist/manifest/types.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export interface ManifestSchema {
|
|
|
18
18
|
agents: DefinitionEntry[];
|
|
19
19
|
skills: DefinitionEntry[];
|
|
20
20
|
hooks: DefinitionEntry[];
|
|
21
|
+
personas: DefinitionEntry[];
|
|
21
22
|
kb: DefinitionEntry[];
|
|
22
23
|
};
|
|
23
24
|
}
|
|
@@ -35,6 +36,8 @@ export interface SeedResult {
|
|
|
35
36
|
skillsFailed: number;
|
|
36
37
|
hooksSeeded: number;
|
|
37
38
|
hooksFailed: number;
|
|
39
|
+
personasSeeded: number;
|
|
40
|
+
personasFailed: number;
|
|
38
41
|
kbSeeded: number;
|
|
39
42
|
kbFailed: number;
|
|
40
43
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/manifest/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,6BAA6B,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,MAAM,EAAE,eAAe,EAAE,CAAC;QAC1B,MAAM,EAAE,eAAe,EAAE,CAAC;QAC1B,KAAK,EAAE,eAAe,EAAE,CAAC;QACzB,EAAE,EAAE,eAAe,EAAE,CAAC;KACvB,CAAC;CACH;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,CAAC;AAErE,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,GAAG,eAAe,CAAC;IAC1D,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;CACrB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/manifest/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,6BAA6B,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,MAAM,EAAE,eAAe,EAAE,CAAC;QAC1B,MAAM,EAAE,eAAe,EAAE,CAAC;QAC1B,KAAK,EAAE,eAAe,EAAE,CAAC;QACzB,QAAQ,EAAE,eAAe,EAAE,CAAC;QAC5B,EAAE,EAAE,eAAe,EAAE,CAAC;KACvB,CAAC;CACH;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,CAAC;AAErE,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,GAAG,eAAe,CAAC;IAC1D,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;CACrB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
export interface BundledHook {
|
|
3
|
+
entryFile: string;
|
|
4
|
+
outputFile: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Lists TOP-LEVEL `.ts` files directly under `hooksDir` — never recursing
|
|
8
|
+
* into `lib/` (or any other subdirectory). `hooks/lib/*.ts` files are
|
|
9
|
+
* imported BY these entry points, not separate install-time artifacts once
|
|
10
|
+
* bundled (their code is inlined into whichever top-level bundle(s)
|
|
11
|
+
* reference them).
|
|
12
|
+
*/
|
|
13
|
+
export declare function discoverTopLevelHookEntryPoints(hooksDir: string): string[];
|
|
14
|
+
/**
|
|
15
|
+
* Bundles ONE entry point to `outputPath` via esbuild, using the exact
|
|
16
|
+
* options the real build relies on (ESM + Node platform + the CJS-interop
|
|
17
|
+
* `require` shim banner — see module JSDoc for why each option is needed).
|
|
18
|
+
*
|
|
19
|
+
* IMPORTANT (empirically verified — TASK freshness-guard probe): esbuild's
|
|
20
|
+
* generated bytes depend on the ENTRY file's real on-disk path (its
|
|
21
|
+
* relative depth from `process.cwd()` affects both an embedded path comment
|
|
22
|
+
* and, less obviously, the generated CJS-interop helper call for `yaml`).
|
|
23
|
+
* Only `outputPath` is safe to redirect to a throwaway location — copying
|
|
24
|
+
* the `.ts` SOURCE to a different absolute path before bundling changes the
|
|
25
|
+
* output for reasons unrelated to source drift. Callers that need a
|
|
26
|
+
* freshness/drift check (bundle now, compare against a committed file) MUST
|
|
27
|
+
* bundle the entry from its real location and only redirect `outputPath`.
|
|
28
|
+
*/
|
|
29
|
+
export declare function bundleOneHook(entryPath: string, outputPath: string): void;
|
|
30
|
+
/**
|
|
31
|
+
* Bundles every top-level hook entry point discovered under
|
|
32
|
+
* `<packageRoot>/hooks` into a co-located, self-contained `<name>.mjs` file.
|
|
33
|
+
* Pure side effect is writing those `.mjs` files (esbuild `buildSync`) —
|
|
34
|
+
* mirrors the `generateManifest`/`writeManifest` split in spirit (this
|
|
35
|
+
* module has no separate "pure" variant since bundling IS the write), but
|
|
36
|
+
* is safe to call repeatedly: each run fully regenerates its own outputs.
|
|
37
|
+
*/
|
|
38
|
+
export declare function bundleHooks(packageRoot?: string): BundledHook[];
|
|
39
|
+
//# sourceMappingURL=bundle-hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle-hooks.d.ts","sourceRoot":"","sources":["../../src/scripts/bundle-hooks.ts"],"names":[],"mappings":";AA4FA,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ1E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAYzE;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,WAAW,GAAE,MAA6B,GAAG,WAAW,EAAE,CAmBrF"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Build-time script: bundles every TOP-LEVEL hook entry point
|
|
4
|
+
* (`hooks/*.ts`, excluding `hooks/lib/*.ts`) into a self-contained ESM
|
|
5
|
+
* `.mjs` bundle, co-located next to its `.ts` source (RFC-040 installer,
|
|
6
|
+
* TASK-043 "hook bundling", inserted between Fase 9 and Fase 10).
|
|
7
|
+
*
|
|
8
|
+
* ROOT CAUSE this fixes (measured by the AC-008 probe re-run, Fase 9):
|
|
9
|
+
* `Materializer` stages manifested hook entries as bare TypeScript source
|
|
10
|
+
* (a raw text copy driven by `manifest.json`), and `HooksWirer` wires them
|
|
11
|
+
* as `npx tsx <target>/hooks/<hook>.ts`. On a genuinely fresh install
|
|
12
|
+
* target (no monorepo, no INTERIM/C6-TD-204 symlink farm masking this on a
|
|
13
|
+
* dev machine), every hook that imports a non-builtin package (`yaml`,
|
|
14
|
+
* `@orchestrator-claude/project-root-resolver`, transitively `glob` via
|
|
15
|
+
* `lib/finops-parser.ts` — verified empirically, NOT just the `yaml` +
|
|
16
|
+
* `project-root-resolver` surface originally hypothesized) crashes at
|
|
17
|
+
* import time with `MODULE_NOT_FOUND`, before the hook's own logic ever
|
|
18
|
+
* runs.
|
|
19
|
+
*
|
|
20
|
+
* BUILD-TIME vs INSTALL-TIME bundling (verify-before-assert decision):
|
|
21
|
+
* bundling happens HERE, as a `packages/definitions` build step (wired into
|
|
22
|
+
* `npm run build` / `prepublishOnly`, alongside the existing `tsc` +
|
|
23
|
+
* `generate-manifest` steps) — NOT inside `Materializer` at install-time.
|
|
24
|
+
* Reasons, confirmed by reading the package's real build/publish flow
|
|
25
|
+
* (`package.json` `build`/`prepublishOnly` scripts) before choosing:
|
|
26
|
+
* 1. `esbuild` bundling here needs to resolve `yaml` and the WORKSPACE
|
|
27
|
+
* package `@orchestrator-claude/project-root-resolver` from
|
|
28
|
+
* node_modules — reliably available inside this monorepo (where
|
|
29
|
+
* `npm run build` always runs) but NOT guaranteed on an end user's
|
|
30
|
+
* fresh install target (the exact absence that causes the bug).
|
|
31
|
+
* 2. A single deterministic bundle is produced once at publish time and
|
|
32
|
+
* shipped as the actual package artifact (`hooks/*.mjs` is covered by
|
|
33
|
+
* the existing `files: ["hooks", ...]` entry) — every `orch-defs
|
|
34
|
+
* install` run then just copies pre-verified bytes (unchanged
|
|
35
|
+
* `Materializer`/manifest-driven flow), instead of re-invoking esbuild
|
|
36
|
+
* (and re-trusting whatever esbuild version happens to be installed)
|
|
37
|
+
* on every end-user machine at install time.
|
|
38
|
+
*
|
|
39
|
+
* ESM + a `createRequire` banner shim (not CJS, not bare `.js`) — verified
|
|
40
|
+
* empirically, not by extension convention alone:
|
|
41
|
+
* - `import.meta.url` (used by several hooks/libs for `__dirname`
|
|
42
|
+
* derivation) is used natively and correctly ONLY in esbuild's `esm`
|
|
43
|
+
* output format; the `cjs` format empties `import.meta` at build time
|
|
44
|
+
* (esbuild's own documented behavior), which crashes
|
|
45
|
+
* `fileURLToPath(import.meta.url)` at runtime (`ERR_INVALID_ARG_TYPE`,
|
|
46
|
+
* confirmed empirically during this task's Verify-Before-Assert probe).
|
|
47
|
+
* - `.mjs` (not bare `.js`) guarantees Node interprets the bundle as an ES
|
|
48
|
+
* module regardless of Node version or the absence of any nearby
|
|
49
|
+
* `package.json` `"type"` field at the install target (a bare `.js`
|
|
50
|
+
* bundle's module-type is otherwise version-dependent on Node's
|
|
51
|
+
* experimental CommonJS/ESM entry-point sniffing heuristic).
|
|
52
|
+
* - `yaml` is a genuine CommonJs package (`"type": "commonjs"`) whose
|
|
53
|
+
* internal modules `require()` Node builtins (e.g. `require('process')`
|
|
54
|
+
* in `yaml/dist/compose/composer.js`). When esbuild bundles such a
|
|
55
|
+
* lazily-wrapped CJS dependency into an `esm` bundle, its generated
|
|
56
|
+
* `require()`-forwarding shim throws `Dynamic require of "..." is not
|
|
57
|
+
* supported` at runtime UNLESS a real `require` function exists in
|
|
58
|
+
* scope — confirmed empirically. The `banner` below injects exactly
|
|
59
|
+
* that (`createRequire(import.meta.url)`), which resolves Node builtins
|
|
60
|
+
* natively; this is the standard, documented esbuild fix for this exact
|
|
61
|
+
* ESM+CJS-interop class of bug.
|
|
62
|
+
*
|
|
63
|
+
* `bundleHooks(packageRoot)` (like `generateManifest`) is written to be
|
|
64
|
+
* called directly from `scripts/sync-hook-mirrors.ts` in the future (its
|
|
65
|
+
* write-mode currently regenerates `manifest.json` after syncing hook
|
|
66
|
+
* mirrors but does NOT yet re-run this bundler — see the TASK-043
|
|
67
|
+
* implementation report's flagged follow-up finding, deliberately NOT
|
|
68
|
+
* fixed here to keep this fix's blast radius to the RFC-040 installer
|
|
69
|
+
* pipeline, per the "document, don't silently expand scope" rule).
|
|
70
|
+
*
|
|
71
|
+
* Usage: npx tsx src/scripts/bundle-hooks.ts
|
|
72
|
+
*/
|
|
73
|
+
import { readdirSync, statSync, existsSync } from 'node:fs';
|
|
74
|
+
import { resolve, join, dirname, basename } from 'node:path';
|
|
75
|
+
import { fileURLToPath } from 'node:url';
|
|
76
|
+
import { buildSync } from 'esbuild';
|
|
77
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
78
|
+
const DEFAULT_PACKAGE_ROOT = resolve(__dirname, '../..');
|
|
79
|
+
/**
|
|
80
|
+
* esbuild's generated `require()`-forwarding shim throws `Dynamic require of
|
|
81
|
+
* "..." is not supported` for CJS dependencies (e.g. `yaml`) that `require()`
|
|
82
|
+
* a Node builtin from inside a lazily-invoked CommonJS wrapper, when the
|
|
83
|
+
* output format is `esm` and no real `require` exists at runtime. Injecting
|
|
84
|
+
* a real one via `createRequire` (Node's own documented mechanism) resolves
|
|
85
|
+
* this — verified empirically against every real distributable hook.
|
|
86
|
+
*/
|
|
87
|
+
const REQUIRE_SHIM_BANNER = "import { createRequire as __createRequireShim } from 'node:module'; " +
|
|
88
|
+
'const require = __createRequireShim(import.meta.url);';
|
|
89
|
+
/**
|
|
90
|
+
* Lists TOP-LEVEL `.ts` files directly under `hooksDir` — never recursing
|
|
91
|
+
* into `lib/` (or any other subdirectory). `hooks/lib/*.ts` files are
|
|
92
|
+
* imported BY these entry points, not separate install-time artifacts once
|
|
93
|
+
* bundled (their code is inlined into whichever top-level bundle(s)
|
|
94
|
+
* reference them).
|
|
95
|
+
*/
|
|
96
|
+
export function discoverTopLevelHookEntryPoints(hooksDir) {
|
|
97
|
+
if (!existsSync(hooksDir)) {
|
|
98
|
+
return [];
|
|
99
|
+
}
|
|
100
|
+
return readdirSync(hooksDir)
|
|
101
|
+
.filter((name) => name.endsWith('.ts') && statSync(join(hooksDir, name)).isFile())
|
|
102
|
+
.sort();
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Bundles ONE entry point to `outputPath` via esbuild, using the exact
|
|
106
|
+
* options the real build relies on (ESM + Node platform + the CJS-interop
|
|
107
|
+
* `require` shim banner — see module JSDoc for why each option is needed).
|
|
108
|
+
*
|
|
109
|
+
* IMPORTANT (empirically verified — TASK freshness-guard probe): esbuild's
|
|
110
|
+
* generated bytes depend on the ENTRY file's real on-disk path (its
|
|
111
|
+
* relative depth from `process.cwd()` affects both an embedded path comment
|
|
112
|
+
* and, less obviously, the generated CJS-interop helper call for `yaml`).
|
|
113
|
+
* Only `outputPath` is safe to redirect to a throwaway location — copying
|
|
114
|
+
* the `.ts` SOURCE to a different absolute path before bundling changes the
|
|
115
|
+
* output for reasons unrelated to source drift. Callers that need a
|
|
116
|
+
* freshness/drift check (bundle now, compare against a committed file) MUST
|
|
117
|
+
* bundle the entry from its real location and only redirect `outputPath`.
|
|
118
|
+
*/
|
|
119
|
+
export function bundleOneHook(entryPath, outputPath) {
|
|
120
|
+
buildSync({
|
|
121
|
+
entryPoints: [entryPath],
|
|
122
|
+
bundle: true,
|
|
123
|
+
platform: 'node',
|
|
124
|
+
format: 'esm',
|
|
125
|
+
target: 'node20',
|
|
126
|
+
banner: { js: REQUIRE_SHIM_BANNER },
|
|
127
|
+
sourcemap: false,
|
|
128
|
+
logLevel: 'silent',
|
|
129
|
+
outfile: outputPath,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Bundles every top-level hook entry point discovered under
|
|
134
|
+
* `<packageRoot>/hooks` into a co-located, self-contained `<name>.mjs` file.
|
|
135
|
+
* Pure side effect is writing those `.mjs` files (esbuild `buildSync`) —
|
|
136
|
+
* mirrors the `generateManifest`/`writeManifest` split in spirit (this
|
|
137
|
+
* module has no separate "pure" variant since bundling IS the write), but
|
|
138
|
+
* is safe to call repeatedly: each run fully regenerates its own outputs.
|
|
139
|
+
*/
|
|
140
|
+
export function bundleHooks(packageRoot = DEFAULT_PACKAGE_ROOT) {
|
|
141
|
+
const hooksDir = resolve(packageRoot, 'hooks');
|
|
142
|
+
const entryNames = discoverTopLevelHookEntryPoints(hooksDir);
|
|
143
|
+
const results = [];
|
|
144
|
+
for (const entryName of entryNames) {
|
|
145
|
+
const entryPath = join(hooksDir, entryName);
|
|
146
|
+
const outputName = `${basename(entryName, '.ts')}.mjs`;
|
|
147
|
+
const outputPath = join(hooksDir, outputName);
|
|
148
|
+
bundleOneHook(entryPath, outputPath);
|
|
149
|
+
results.push({
|
|
150
|
+
entryFile: `hooks/${entryName}`,
|
|
151
|
+
outputFile: `hooks/${outputName}`,
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
return results;
|
|
155
|
+
}
|
|
156
|
+
// ─── CLI Entry Guard ──────────────────────────────────────────────────────────
|
|
157
|
+
const isCli = process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1];
|
|
158
|
+
if (isCli) {
|
|
159
|
+
const results = bundleHooks();
|
|
160
|
+
console.log(`Bundled ${String(results.length)} hook(s):`);
|
|
161
|
+
for (const { entryFile, outputFile } of results) {
|
|
162
|
+
console.log(` ${entryFile} -> ${outputFile}`);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=bundle-hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle-hooks.js","sourceRoot":"","sources":["../../src/scripts/bundle-hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,27 @@
|
|
|
3
3
|
* Build-time script: generates manifest.json with SHA256 checksums
|
|
4
4
|
* for all definition files in the package.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* generateManifest(packageRoot) is a PURE, in-memory computation (no writes) —
|
|
7
|
+
* safe to import from other packages/scripts (e.g. scripts/sync-hook-mirrors.ts,
|
|
8
|
+
* RFC-040/TD-204 follow-up) without triggering a manifest.json write as a side
|
|
9
|
+
* effect of module import. The CLI entry point (writeManifest + isCli guard,
|
|
10
|
+
* mirroring the pattern in scripts/sync-hook-mirrors.ts) performs the actual
|
|
11
|
+
* write and is the only thing that runs when this file is executed directly.
|
|
12
|
+
*
|
|
13
|
+
* Usage: npx tsx src/scripts/generate-manifest.ts
|
|
14
|
+
*/
|
|
15
|
+
import type { ManifestSchema } from '../manifest/types.js';
|
|
16
|
+
/**
|
|
17
|
+
* Pure, in-memory computation of the definitions manifest for `packageRoot`.
|
|
18
|
+
* Performs NO writes — safe to call repeatedly (e.g. from a check-mode drift
|
|
19
|
+
* detector) without side effects. Defaults to this package's own root when
|
|
20
|
+
* called with no argument (preserves the original CLI behavior).
|
|
21
|
+
*/
|
|
22
|
+
export declare function generateManifest(packageRoot?: string): ManifestSchema;
|
|
23
|
+
/**
|
|
24
|
+
* Thin writer: computes the manifest via generateManifest() and writes it to
|
|
25
|
+
* <packageRoot>/manifest.json. This is the only function in this module that
|
|
26
|
+
* performs I/O writes.
|
|
8
27
|
*/
|
|
9
|
-
export
|
|
28
|
+
export declare function writeManifest(packageRoot?: string): ManifestSchema;
|
|
10
29
|
//# sourceMappingURL=generate-manifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-manifest.d.ts","sourceRoot":"","sources":["../../src/scripts/generate-manifest.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"generate-manifest.d.ts","sourceRoot":"","sources":["../../src/scripts/generate-manifest.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,sBAAsB,CAAC;AAkF5E;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,GAAE,MAA6B,GAAG,cAAc,CAuC3F;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,WAAW,GAAE,MAA6B,GAAG,cAAc,CAKxF"}
|