@principles/pd-cli 1.146.0 → 1.146.1
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.
|
@@ -15,6 +15,19 @@ interface ConsoleOptions {
|
|
|
15
15
|
noAuth?: boolean;
|
|
16
16
|
json?: boolean;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Verify the console server's runtime dependency slots are resolvable.
|
|
20
|
+
*
|
|
21
|
+
* The console's dist statically imports `@principles/core/runtime-v2` and
|
|
22
|
+
* `@principles/host-runtime`, and reads plugin governance exports from
|
|
23
|
+
* `principles-disciple`. Each slot must be a real package (package.json present
|
|
24
|
+
* AND dist/index.js present) — a dangling junction or an empty shell (package.json
|
|
25
|
+
* without dist) makes the server crash with ERR_MODULE_NOT_FOUND at startup.
|
|
26
|
+
*
|
|
27
|
+
* Returns a human-readable description of the first broken slot, or undefined
|
|
28
|
+
* when everything is resolvable.
|
|
29
|
+
*/
|
|
30
|
+
export declare function checkConsoleRuntimeDependencies(consoleDir: string): string | undefined;
|
|
18
31
|
export declare function handleConsole(opts?: ConsoleOptions): Promise<void>;
|
|
19
32
|
/**
|
|
20
33
|
* Launch (or reuse) the PD Console with seed-friendly defaults:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/commands/console.ts"],"names":[],"mappings":"AAwBA,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAID,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAuBD,wBAAsB,aAAa,CAAC,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/commands/console.ts"],"names":[],"mappings":"AAwBA,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAID,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAuBD;;;;;;;;;;;GAWG;AACH,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAqCtF;AAED,wBAAsB,aAAa,CAAC,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyI5E;AAID;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0fpF"}
|
package/dist/commands/console.js
CHANGED
|
@@ -30,6 +30,56 @@ function getConsoleDir() {
|
|
|
30
30
|
const dir = resolved.mode === 'canonical' ? paths.consoleDir : path.join(paths.openClawExtensionDir, 'console');
|
|
31
31
|
return { dir, mode: resolved.mode };
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Verify the console server's runtime dependency slots are resolvable.
|
|
35
|
+
*
|
|
36
|
+
* The console's dist statically imports `@principles/core/runtime-v2` and
|
|
37
|
+
* `@principles/host-runtime`, and reads plugin governance exports from
|
|
38
|
+
* `principles-disciple`. Each slot must be a real package (package.json present
|
|
39
|
+
* AND dist/index.js present) — a dangling junction or an empty shell (package.json
|
|
40
|
+
* without dist) makes the server crash with ERR_MODULE_NOT_FOUND at startup.
|
|
41
|
+
*
|
|
42
|
+
* Returns a human-readable description of the first broken slot, or undefined
|
|
43
|
+
* when everything is resolvable.
|
|
44
|
+
*/
|
|
45
|
+
export function checkConsoleRuntimeDependencies(consoleDir) {
|
|
46
|
+
// These are the exact entry files the console server resolves at startup,
|
|
47
|
+
// derived from each package's real `exports` map (not assumed dist/index.js):
|
|
48
|
+
// @principles/core/principle-tree-ledger → dist/principle-tree-ledger.js
|
|
49
|
+
// @principles/core/runtime-v2 → dist/runtime-v2/index.js
|
|
50
|
+
// @principles/host-runtime → dist/index.js
|
|
51
|
+
// @principles/install-layout → dist/index.js
|
|
52
|
+
// principles-disciple/governance-audit → dist/governance-audit.js
|
|
53
|
+
// Checking the real resolved entries (not just dist/index.js) catches broken
|
|
54
|
+
// shells where package.json exists but the actual import target is missing.
|
|
55
|
+
// One package can have multiple required entries (@principles/core).
|
|
56
|
+
const slots = [
|
|
57
|
+
{
|
|
58
|
+
pkg: '@principles/core',
|
|
59
|
+
entries: [
|
|
60
|
+
path.join('dist', 'principle-tree-ledger.js'),
|
|
61
|
+
path.join('dist', 'runtime-v2', 'index.js'),
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
{ pkg: '@principles/host-runtime', entries: [path.join('dist', 'index.js')] },
|
|
65
|
+
{ pkg: '@principles/install-layout', entries: [path.join('dist', 'index.js')] },
|
|
66
|
+
{ pkg: 'principles-disciple', entries: [path.join('dist', 'governance-audit.js')] },
|
|
67
|
+
];
|
|
68
|
+
for (const slot of slots) {
|
|
69
|
+
const base = path.join(consoleDir, 'node_modules', slot.pkg);
|
|
70
|
+
const pkgJson = path.join(base, 'package.json');
|
|
71
|
+
if (!fs.existsSync(pkgJson)) {
|
|
72
|
+
return `console/node_modules/${slot.pkg}/package.json is missing`;
|
|
73
|
+
}
|
|
74
|
+
for (const entry of slot.entries) {
|
|
75
|
+
const entryFile = path.join(base, entry);
|
|
76
|
+
if (!fs.existsSync(entryFile)) {
|
|
77
|
+
return `console/node_modules/${slot.pkg}/${entry.replaceAll('\\', '/')} is missing (incomplete package)`;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
33
83
|
export async function handleConsole(opts = {}) {
|
|
34
84
|
const workspaceDir = opts.workspace
|
|
35
85
|
? path.resolve(opts.workspace)
|
|
@@ -73,6 +123,27 @@ export async function handleConsole(opts = {}) {
|
|
|
73
123
|
process.exit(1);
|
|
74
124
|
return;
|
|
75
125
|
}
|
|
126
|
+
// Runtime dependency integrity check: the console server statically imports
|
|
127
|
+
// @principles/core/runtime-v2 and @principles/host-runtime, and the console
|
|
128
|
+
// reads plugin governance exports from principles-disciple. When the OpenClaw
|
|
129
|
+
// upgrade path refreshes the plugin bundle without re-running the PD installer
|
|
130
|
+
// (2026-09: console_cli_exited_before_result), these node_modules slots can be
|
|
131
|
+
// left as an empty shell (package.json without dist) or a dangling junction.
|
|
132
|
+
// The server then crashes with ERR_MODULE_NOT_FOUND at startup, which the
|
|
133
|
+
// Companion reports as the opaque console_cli_exited_before_result. Fail loud
|
|
134
|
+
// here with the actionable repair command instead.
|
|
135
|
+
const integrityError = checkConsoleRuntimeDependencies(consoleLocation.dir);
|
|
136
|
+
if (integrityError) {
|
|
137
|
+
const msg = `Console runtime dependency broken: ${integrityError}. Re-run installer to repair.`;
|
|
138
|
+
if (opts.json) {
|
|
139
|
+
console.log(JSON.stringify({ success: false, reason: msg, nextAction: 'npx create-principles-disciple' }));
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
console.error(msg);
|
|
143
|
+
}
|
|
144
|
+
process.exit(1);
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
76
147
|
const port = opts.port || '3100';
|
|
77
148
|
const host = '127.0.0.1';
|
|
78
149
|
const args = [serverEntry, '--workspace', workspaceDir, '--port', port, '--host', host];
|
|
@@ -456,6 +527,39 @@ export async function handleConsoleOpen(opts = {}) {
|
|
|
456
527
|
return;
|
|
457
528
|
}
|
|
458
529
|
// 5) Fresh spawn path
|
|
530
|
+
// Runtime dependency integrity check — only here, NOT before the reuse
|
|
531
|
+
// probe above. A healthy console already running (reused) has its modules
|
|
532
|
+
// loaded in memory; broken disk slots (dangling junction / empty shell left
|
|
533
|
+
// by an interrupted update) must not prevent reusing it. Only when we are
|
|
534
|
+
// about to execute the local console bytes do the local bytes need to be
|
|
535
|
+
// resolvable. The server statically imports @principles/core/runtime-v2 and
|
|
536
|
+
// @principles/host-runtime, and reads plugin governance exports from
|
|
537
|
+
// principles-disciple; without this check a broken install crashes with
|
|
538
|
+
// ERR_MODULE_NOT_FOUND which the Companion reports as the opaque
|
|
539
|
+
// console_cli_exited_before_result.
|
|
540
|
+
const integrityError = checkConsoleRuntimeDependencies(consoleLocation.dir);
|
|
541
|
+
if (integrityError) {
|
|
542
|
+
const result = {
|
|
543
|
+
status: 'failed',
|
|
544
|
+
url: '',
|
|
545
|
+
port: plan.port,
|
|
546
|
+
host: plan.host,
|
|
547
|
+
workspaceDir,
|
|
548
|
+
reused: false,
|
|
549
|
+
browserOpened: false,
|
|
550
|
+
reason: 'console_runtime_dependency_broken',
|
|
551
|
+
nextAction: `Re-run installer: npx create-principles-disciple (${integrityError})`,
|
|
552
|
+
};
|
|
553
|
+
if (opts.json) {
|
|
554
|
+
console.log(JSON.stringify(result, null, 2));
|
|
555
|
+
}
|
|
556
|
+
else {
|
|
557
|
+
console.error(`error: ${result.reason}`);
|
|
558
|
+
console.error(`next: ${result.nextAction}`);
|
|
559
|
+
}
|
|
560
|
+
process.exit(1);
|
|
561
|
+
return;
|
|
562
|
+
}
|
|
459
563
|
const args = [serverEntry, '--workspace', workspaceDir, '--port', String(plan.port), '--host', plan.host];
|
|
460
564
|
if (opts.noAuth)
|
|
461
565
|
args.push('--no-auth');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/commands/console.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/commands/console.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/commands/console.ts
CHANGED
|
@@ -64,6 +64,57 @@ function getConsoleDir(): { dir: string; mode: InstallLayoutMode } | null {
|
|
|
64
64
|
return { dir, mode: resolved.mode };
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
+
/**
|
|
68
|
+
* Verify the console server's runtime dependency slots are resolvable.
|
|
69
|
+
*
|
|
70
|
+
* The console's dist statically imports `@principles/core/runtime-v2` and
|
|
71
|
+
* `@principles/host-runtime`, and reads plugin governance exports from
|
|
72
|
+
* `principles-disciple`. Each slot must be a real package (package.json present
|
|
73
|
+
* AND dist/index.js present) — a dangling junction or an empty shell (package.json
|
|
74
|
+
* without dist) makes the server crash with ERR_MODULE_NOT_FOUND at startup.
|
|
75
|
+
*
|
|
76
|
+
* Returns a human-readable description of the first broken slot, or undefined
|
|
77
|
+
* when everything is resolvable.
|
|
78
|
+
*/
|
|
79
|
+
export function checkConsoleRuntimeDependencies(consoleDir: string): string | undefined {
|
|
80
|
+
// These are the exact entry files the console server resolves at startup,
|
|
81
|
+
// derived from each package's real `exports` map (not assumed dist/index.js):
|
|
82
|
+
// @principles/core/principle-tree-ledger → dist/principle-tree-ledger.js
|
|
83
|
+
// @principles/core/runtime-v2 → dist/runtime-v2/index.js
|
|
84
|
+
// @principles/host-runtime → dist/index.js
|
|
85
|
+
// @principles/install-layout → dist/index.js
|
|
86
|
+
// principles-disciple/governance-audit → dist/governance-audit.js
|
|
87
|
+
// Checking the real resolved entries (not just dist/index.js) catches broken
|
|
88
|
+
// shells where package.json exists but the actual import target is missing.
|
|
89
|
+
// One package can have multiple required entries (@principles/core).
|
|
90
|
+
const slots: { pkg: string; entries: string[] }[] = [
|
|
91
|
+
{
|
|
92
|
+
pkg: '@principles/core',
|
|
93
|
+
entries: [
|
|
94
|
+
path.join('dist', 'principle-tree-ledger.js'),
|
|
95
|
+
path.join('dist', 'runtime-v2', 'index.js'),
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
{ pkg: '@principles/host-runtime', entries: [path.join('dist', 'index.js')] },
|
|
99
|
+
{ pkg: '@principles/install-layout', entries: [path.join('dist', 'index.js')] },
|
|
100
|
+
{ pkg: 'principles-disciple', entries: [path.join('dist', 'governance-audit.js')] },
|
|
101
|
+
];
|
|
102
|
+
for (const slot of slots) {
|
|
103
|
+
const base = path.join(consoleDir, 'node_modules', slot.pkg);
|
|
104
|
+
const pkgJson = path.join(base, 'package.json');
|
|
105
|
+
if (!fs.existsSync(pkgJson)) {
|
|
106
|
+
return `console/node_modules/${slot.pkg}/package.json is missing`;
|
|
107
|
+
}
|
|
108
|
+
for (const entry of slot.entries) {
|
|
109
|
+
const entryFile = path.join(base, entry);
|
|
110
|
+
if (!fs.existsSync(entryFile)) {
|
|
111
|
+
return `console/node_modules/${slot.pkg}/${entry.replaceAll('\\', '/')} is missing (incomplete package)`;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return undefined;
|
|
116
|
+
}
|
|
117
|
+
|
|
67
118
|
export async function handleConsole(opts: ConsoleOptions = {}): Promise<void> {
|
|
68
119
|
const workspaceDir = opts.workspace
|
|
69
120
|
? path.resolve(opts.workspace)
|
|
@@ -108,6 +159,27 @@ export async function handleConsole(opts: ConsoleOptions = {}): Promise<void> {
|
|
|
108
159
|
return;
|
|
109
160
|
}
|
|
110
161
|
|
|
162
|
+
// Runtime dependency integrity check: the console server statically imports
|
|
163
|
+
// @principles/core/runtime-v2 and @principles/host-runtime, and the console
|
|
164
|
+
// reads plugin governance exports from principles-disciple. When the OpenClaw
|
|
165
|
+
// upgrade path refreshes the plugin bundle without re-running the PD installer
|
|
166
|
+
// (2026-09: console_cli_exited_before_result), these node_modules slots can be
|
|
167
|
+
// left as an empty shell (package.json without dist) or a dangling junction.
|
|
168
|
+
// The server then crashes with ERR_MODULE_NOT_FOUND at startup, which the
|
|
169
|
+
// Companion reports as the opaque console_cli_exited_before_result. Fail loud
|
|
170
|
+
// here with the actionable repair command instead.
|
|
171
|
+
const integrityError = checkConsoleRuntimeDependencies(consoleLocation.dir);
|
|
172
|
+
if (integrityError) {
|
|
173
|
+
const msg = `Console runtime dependency broken: ${integrityError}. Re-run installer to repair.`;
|
|
174
|
+
if (opts.json) {
|
|
175
|
+
console.log(JSON.stringify({ success: false, reason: msg, nextAction: 'npx create-principles-disciple' }));
|
|
176
|
+
} else {
|
|
177
|
+
console.error(msg);
|
|
178
|
+
}
|
|
179
|
+
process.exit(1);
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
|
|
111
183
|
const port = opts.port || '3100';
|
|
112
184
|
const host = '127.0.0.1';
|
|
113
185
|
const args = [serverEntry, '--workspace', workspaceDir, '--port', port, '--host', host];
|
|
@@ -485,6 +557,39 @@ export async function handleConsoleOpen(opts: ConsoleOpenOptions = {}): Promise<
|
|
|
485
557
|
}
|
|
486
558
|
|
|
487
559
|
// 5) Fresh spawn path
|
|
560
|
+
// Runtime dependency integrity check — only here, NOT before the reuse
|
|
561
|
+
// probe above. A healthy console already running (reused) has its modules
|
|
562
|
+
// loaded in memory; broken disk slots (dangling junction / empty shell left
|
|
563
|
+
// by an interrupted update) must not prevent reusing it. Only when we are
|
|
564
|
+
// about to execute the local console bytes do the local bytes need to be
|
|
565
|
+
// resolvable. The server statically imports @principles/core/runtime-v2 and
|
|
566
|
+
// @principles/host-runtime, and reads plugin governance exports from
|
|
567
|
+
// principles-disciple; without this check a broken install crashes with
|
|
568
|
+
// ERR_MODULE_NOT_FOUND which the Companion reports as the opaque
|
|
569
|
+
// console_cli_exited_before_result.
|
|
570
|
+
const integrityError = checkConsoleRuntimeDependencies(consoleLocation.dir);
|
|
571
|
+
if (integrityError) {
|
|
572
|
+
const result: ConsoleLaunchResult = {
|
|
573
|
+
status: 'failed',
|
|
574
|
+
url: '',
|
|
575
|
+
port: plan.port,
|
|
576
|
+
host: plan.host,
|
|
577
|
+
workspaceDir,
|
|
578
|
+
reused: false,
|
|
579
|
+
browserOpened: false,
|
|
580
|
+
reason: 'console_runtime_dependency_broken',
|
|
581
|
+
nextAction: `Re-run installer: npx create-principles-disciple (${integrityError})`,
|
|
582
|
+
};
|
|
583
|
+
if (opts.json) {
|
|
584
|
+
console.log(JSON.stringify(result, null, 2));
|
|
585
|
+
} else {
|
|
586
|
+
console.error(`error: ${result.reason}`);
|
|
587
|
+
console.error(`next: ${result.nextAction}`);
|
|
588
|
+
}
|
|
589
|
+
process.exit(1);
|
|
590
|
+
return;
|
|
591
|
+
}
|
|
592
|
+
|
|
488
593
|
const args = [serverEntry, '--workspace', workspaceDir, '--port', String(plan.port), '--host', plan.host];
|
|
489
594
|
if (opts.noAuth) args.push('--no-auth');
|
|
490
595
|
if (opts.token) args.push('--token', opts.token);
|
|
@@ -569,6 +569,28 @@ describe('CLI command wiring (pd console open)', () => {
|
|
|
569
569
|
fs.writeFileSync(path.join(consoleDir, 'package.json'), JSON.stringify({ name: 'fake-pd-console', version: '0.0.0', type: 'module' }, null, 2));
|
|
570
570
|
// EP-06 regression guard: dist/web/index.html must exist (PR #1169 fix)
|
|
571
571
|
fs.writeFileSync(path.join(consoleDir, 'dist', 'web', 'index.html'), '<!DOCTYPE html><html></html>');
|
|
572
|
+
// Runtime dependency integrity check: fake console needs minimal node_modules
|
|
573
|
+
// slots so the launcher passes the integrity gate and reaches spawn/health logic.
|
|
574
|
+
const nm = path.join(consoleDir, 'node_modules');
|
|
575
|
+
// principles-disciple: server imports principles-disciple/governance-audit
|
|
576
|
+
fs.mkdirSync(path.join(nm, 'principles-disciple', 'dist'), { recursive: true });
|
|
577
|
+
fs.writeFileSync(path.join(nm, 'principles-disciple', 'package.json'), JSON.stringify({ name: 'x', version: '0.0.0' }, null, 2));
|
|
578
|
+
fs.writeFileSync(path.join(nm, 'principles-disciple', 'dist', 'governance-audit.js'), 'export {};\n');
|
|
579
|
+
// @principles/core: server imports TWO subpaths
|
|
580
|
+
// @principles/core/principle-tree-ledger → dist/principle-tree-ledger.js
|
|
581
|
+
// @principles/core/runtime-v2 → dist/runtime-v2/index.js
|
|
582
|
+
fs.mkdirSync(path.join(nm, '@principles', 'core', 'dist', 'runtime-v2'), { recursive: true });
|
|
583
|
+
fs.writeFileSync(path.join(nm, '@principles', 'core', 'package.json'), JSON.stringify({ name: 'x', version: '0.0.0' }, null, 2));
|
|
584
|
+
fs.writeFileSync(path.join(nm, '@principles', 'core', 'dist', 'principle-tree-ledger.js'), 'export {};\n');
|
|
585
|
+
fs.writeFileSync(path.join(nm, '@principles', 'core', 'dist', 'runtime-v2', 'index.js'), 'export {};\n');
|
|
586
|
+
// @principles/host-runtime: uses root entry dist/index.js
|
|
587
|
+
fs.mkdirSync(path.join(nm, '@principles', 'host-runtime', 'dist'), { recursive: true });
|
|
588
|
+
fs.writeFileSync(path.join(nm, '@principles', 'host-runtime', 'package.json'), JSON.stringify({ name: 'x', version: '0.0.0' }, null, 2));
|
|
589
|
+
fs.writeFileSync(path.join(nm, '@principles', 'host-runtime', 'dist', 'index.js'), 'export {};\n');
|
|
590
|
+
// @principles/install-layout: uses root entry dist/index.js
|
|
591
|
+
fs.mkdirSync(path.join(nm, '@principles', 'install-layout', 'dist'), { recursive: true });
|
|
592
|
+
fs.writeFileSync(path.join(nm, '@principles', 'install-layout', 'package.json'), JSON.stringify({ name: 'x', version: '0.0.0' }, null, 2));
|
|
593
|
+
fs.writeFileSync(path.join(nm, '@principles', 'install-layout', 'dist', 'index.js'), 'export {};\n');
|
|
572
594
|
fs.writeFileSync(path.join(consoleDir, 'dist', 'server.js'), `
|
|
573
595
|
import http from 'node:http';
|
|
574
596
|
const args = process.argv.slice(2);
|
|
@@ -710,6 +732,48 @@ describe('CLI command wiring (pd console open)', () => {
|
|
|
710
732
|
}
|
|
711
733
|
}, 20_000);
|
|
712
734
|
|
|
735
|
+
it('reuses a healthy running Console even when local dependency slots are broken (reuse-before-integrity contract)', async () => {
|
|
736
|
+
// Regression for the control-flow contract: the integrity gate must only
|
|
737
|
+
// run on the fresh-spawn branch. If a healthy Console is already running,
|
|
738
|
+
// broken on-disk node_modules (dangling junction / empty shell left by an
|
|
739
|
+
// interrupted update) must NOT prevent reusing it — its modules are loaded
|
|
740
|
+
// in memory. This test breaks the @principles/core slot on disk, then
|
|
741
|
+
// verifies the CLI still returns status "reused" (never hits the gate).
|
|
742
|
+
const nm = path.join(
|
|
743
|
+
process.env.__PD_CONSOLE_TEST_FAKE_HOME ?? '',
|
|
744
|
+
'.openclaw', 'extensions', 'principles-disciple', 'console', 'node_modules',
|
|
745
|
+
);
|
|
746
|
+
// Simulate a broken install: remove the @principles/core dist entry entirely.
|
|
747
|
+
const coreDist = path.join(nm, '@principles', 'core', 'dist');
|
|
748
|
+
if (fs.existsSync(coreDist)) fs.rmSync(coreDist, { recursive: true, force: true });
|
|
749
|
+
|
|
750
|
+
const server = http.createServer((req, res) => {
|
|
751
|
+
if (req.url === '/api/health') {
|
|
752
|
+
res.statusCode = 200;
|
|
753
|
+
res.end(JSON.stringify({ success: true, data: { authenticationMode: 'no_auth' } }));
|
|
754
|
+
return;
|
|
755
|
+
}
|
|
756
|
+
res.statusCode = 404;
|
|
757
|
+
res.end();
|
|
758
|
+
});
|
|
759
|
+
await new Promise<void>((resolve) => server.listen(0, '127.0.0.1', () => resolve()));
|
|
760
|
+
const addr = server.address();
|
|
761
|
+
if (typeof addr !== 'object' || !addr) throw new Error('no addr');
|
|
762
|
+
let run: CliJsonRun | undefined;
|
|
763
|
+
try {
|
|
764
|
+
run = await runPdUntilJson(
|
|
765
|
+
['console', 'open', '--workspace', tmp, '--port', String(addr.port), '--json', '--no-browser'],
|
|
766
|
+
workspaceRoot,
|
|
767
|
+
);
|
|
768
|
+
if (!isRecord(run.parsed)) throw new Error('CLI JSON output was not an object');
|
|
769
|
+
expect(run.parsed.status).toBe('reused');
|
|
770
|
+
expect(run.parsed.reused).toBe(true);
|
|
771
|
+
} finally {
|
|
772
|
+
await teardownCliTree(run);
|
|
773
|
+
server.close();
|
|
774
|
+
}
|
|
775
|
+
}, 20_000);
|
|
776
|
+
|
|
713
777
|
it('pd console open --port 99999 --json returns a structured failure (invalid port)', () => {
|
|
714
778
|
const out = runPd(['console', 'open', '--workspace', tmp, '--port', '99999', '--json', '--no-browser'], workspaceRoot);
|
|
715
779
|
const parsed = JSON.parse(out);
|
|
@@ -1115,3 +1179,114 @@ function killTreeForce(child: childProcessModule.ChildProcess): void {
|
|
|
1115
1179
|
child.kill('SIGKILL');
|
|
1116
1180
|
} catch { /* already gone */ }
|
|
1117
1181
|
}
|
|
1182
|
+
|
|
1183
|
+
import { checkConsoleRuntimeDependencies } from '../../src/commands/console.js';
|
|
1184
|
+
|
|
1185
|
+
describe('checkConsoleRuntimeDependencies', () => {
|
|
1186
|
+
it('returns undefined when all deps are intact', () => {
|
|
1187
|
+
const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'console-integ-'));
|
|
1188
|
+
try {
|
|
1189
|
+
// @principles/core: entries are dist/principle-tree-ledger.js + dist/runtime-v2/index.js
|
|
1190
|
+
fs.mkdirSync(path.join(tmp, 'node_modules', '@principles', 'core', 'dist', 'runtime-v2'), { recursive: true });
|
|
1191
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'core', 'package.json'), '{}');
|
|
1192
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'core', 'dist', 'principle-tree-ledger.js'), '');
|
|
1193
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'core', 'dist', 'runtime-v2', 'index.js'), '');
|
|
1194
|
+
// @principles/host-runtime: entry is dist/index.js
|
|
1195
|
+
fs.mkdirSync(path.join(tmp, 'node_modules', '@principles', 'host-runtime', 'dist'), { recursive: true });
|
|
1196
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'host-runtime', 'package.json'), '{}');
|
|
1197
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'host-runtime', 'dist', 'index.js'), '');
|
|
1198
|
+
// @principles/install-layout: entry is dist/index.js
|
|
1199
|
+
fs.mkdirSync(path.join(tmp, 'node_modules', '@principles', 'install-layout', 'dist'), { recursive: true });
|
|
1200
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'install-layout', 'package.json'), '{}');
|
|
1201
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'install-layout', 'dist', 'index.js'), '');
|
|
1202
|
+
// principles-disciple: entry is dist/governance-audit.js
|
|
1203
|
+
fs.mkdirSync(path.join(tmp, 'node_modules', 'principles-disciple', 'dist'), { recursive: true });
|
|
1204
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', 'principles-disciple', 'package.json'), '{}');
|
|
1205
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', 'principles-disciple', 'dist', 'governance-audit.js'), '');
|
|
1206
|
+
|
|
1207
|
+
expect(checkConsoleRuntimeDependencies(tmp)).toBeUndefined();
|
|
1208
|
+
} finally {
|
|
1209
|
+
fs.rmSync(tmp, { recursive: true, force: true });
|
|
1210
|
+
}
|
|
1211
|
+
});
|
|
1212
|
+
|
|
1213
|
+
it('returns error when a dep is missing package.json', () => {
|
|
1214
|
+
const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'console-integ-'));
|
|
1215
|
+
try {
|
|
1216
|
+
// Create all deps intact except host-runtime (no package.json)
|
|
1217
|
+
// core
|
|
1218
|
+
fs.mkdirSync(path.join(tmp, 'node_modules', '@principles', 'core', 'dist', 'runtime-v2'), { recursive: true });
|
|
1219
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'core', 'package.json'), '{}');
|
|
1220
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'core', 'dist', 'principle-tree-ledger.js'), '');
|
|
1221
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'core', 'dist', 'runtime-v2', 'index.js'), '');
|
|
1222
|
+
// install-layout
|
|
1223
|
+
fs.mkdirSync(path.join(tmp, 'node_modules', '@principles', 'install-layout', 'dist'), { recursive: true });
|
|
1224
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'install-layout', 'package.json'), '{}');
|
|
1225
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'install-layout', 'dist', 'index.js'), '');
|
|
1226
|
+
// principles-disciple
|
|
1227
|
+
fs.mkdirSync(path.join(tmp, 'node_modules', 'principles-disciple', 'dist'), { recursive: true });
|
|
1228
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', 'principles-disciple', 'package.json'), '{}');
|
|
1229
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', 'principles-disciple', 'dist', 'governance-audit.js'), '');
|
|
1230
|
+
// @principles/host-runtime without package.json — the broken-shell case
|
|
1231
|
+
fs.mkdirSync(path.join(tmp, 'node_modules', '@principles', 'host-runtime', 'dist'), { recursive: true });
|
|
1232
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'host-runtime', 'dist', 'index.js'), '');
|
|
1233
|
+
|
|
1234
|
+
const err = checkConsoleRuntimeDependencies(tmp);
|
|
1235
|
+
expect(err).toContain('host-runtime');
|
|
1236
|
+
expect(err).toContain('package.json');
|
|
1237
|
+
} finally {
|
|
1238
|
+
fs.rmSync(tmp, { recursive: true, force: true });
|
|
1239
|
+
}
|
|
1240
|
+
});
|
|
1241
|
+
|
|
1242
|
+
it('returns error when a dep has package.json but no dist entry (empty shell)', () => {
|
|
1243
|
+
const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'console-integ-'));
|
|
1244
|
+
try {
|
|
1245
|
+
// core intact
|
|
1246
|
+
fs.mkdirSync(path.join(tmp, 'node_modules', '@principles', 'core', 'dist', 'runtime-v2'), { recursive: true });
|
|
1247
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'core', 'package.json'), '{}');
|
|
1248
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'core', 'dist', 'principle-tree-ledger.js'), '');
|
|
1249
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'core', 'dist', 'runtime-v2', 'index.js'), '');
|
|
1250
|
+
// install-layout intact
|
|
1251
|
+
fs.mkdirSync(path.join(tmp, 'node_modules', '@principles', 'install-layout', 'dist'), { recursive: true });
|
|
1252
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'install-layout', 'package.json'), '{}');
|
|
1253
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'install-layout', 'dist', 'index.js'), '');
|
|
1254
|
+
// principles-disciple intact
|
|
1255
|
+
fs.mkdirSync(path.join(tmp, 'node_modules', 'principles-disciple', 'dist'), { recursive: true });
|
|
1256
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', 'principles-disciple', 'package.json'), '{}');
|
|
1257
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', 'principles-disciple', 'dist', 'governance-audit.js'), '');
|
|
1258
|
+
// host-runtime exists but has no dist/index.js (root entry missing)
|
|
1259
|
+
fs.mkdirSync(path.join(tmp, 'node_modules', '@principles', 'host-runtime'));
|
|
1260
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'host-runtime', 'package.json'), '{}');
|
|
1261
|
+
|
|
1262
|
+
const err = checkConsoleRuntimeDependencies(tmp);
|
|
1263
|
+
expect(err).toContain('host-runtime');
|
|
1264
|
+
expect(err).toContain('dist/index.js');
|
|
1265
|
+
} finally {
|
|
1266
|
+
fs.rmSync(tmp, { recursive: true, force: true });
|
|
1267
|
+
}
|
|
1268
|
+
});
|
|
1269
|
+
|
|
1270
|
+
it('returns error when a dep junction is dangling (directory missing)', () => {
|
|
1271
|
+
const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'console-integ-'));
|
|
1272
|
+
try {
|
|
1273
|
+
// Create core, install-layout, principles-disciple; leave host-runtime missing
|
|
1274
|
+
fs.mkdirSync(path.join(tmp, 'node_modules', '@principles', 'core', 'dist', 'runtime-v2'), { recursive: true });
|
|
1275
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'core', 'package.json'), '{}');
|
|
1276
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'core', 'dist', 'principle-tree-ledger.js'), '');
|
|
1277
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'core', 'dist', 'runtime-v2', 'index.js'), '');
|
|
1278
|
+
fs.mkdirSync(path.join(tmp, 'node_modules', '@principles', 'install-layout', 'dist'), { recursive: true });
|
|
1279
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'install-layout', 'package.json'), '{}');
|
|
1280
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', '@principles', 'install-layout', 'dist', 'index.js'), '');
|
|
1281
|
+
fs.mkdirSync(path.join(tmp, 'node_modules', 'principles-disciple', 'dist'), { recursive: true });
|
|
1282
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', 'principles-disciple', 'package.json'), '{}');
|
|
1283
|
+
fs.writeFileSync(path.join(tmp, 'node_modules', 'principles-disciple', 'dist', 'governance-audit.js'), '');
|
|
1284
|
+
|
|
1285
|
+
const err = checkConsoleRuntimeDependencies(tmp);
|
|
1286
|
+
expect(err).toContain('host-runtime');
|
|
1287
|
+
expect(err).toContain('package.json');
|
|
1288
|
+
} finally {
|
|
1289
|
+
fs.rmSync(tmp, { recursive: true, force: true });
|
|
1290
|
+
}
|
|
1291
|
+
});
|
|
1292
|
+
});
|