4runr-os 2.10.25 → 2.10.28
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.
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Boot Orchestrator -
|
|
2
|
+
* Boot Orchestrator — pre-launch sequence before the MK3 TUI starts.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* - Stale process cleanup
|
|
7
|
-
* - Gateway health verification
|
|
8
|
-
* - Docker container startup
|
|
9
|
-
* - Animated, futuristic loading screen with 4Runr purple aesthetic
|
|
10
|
-
*
|
|
11
|
-
* Centralizes all pre-launch logic with a premium, alive UI experience.
|
|
4
|
+
* Runs version check, stale-process cleanup, installation health, Docker probe,
|
|
5
|
+
* and gateway bundle checks. No terminal loading UI (boot visuals are in the TUI).
|
|
12
6
|
*/
|
|
13
7
|
interface BootStep {
|
|
14
8
|
id: string;
|
|
@@ -30,26 +24,15 @@ interface BootResult {
|
|
|
30
24
|
}
|
|
31
25
|
export declare class BootOrchestrator {
|
|
32
26
|
private steps;
|
|
33
|
-
private startTime;
|
|
34
27
|
private isDevMode;
|
|
35
|
-
private frameCount;
|
|
36
|
-
private animationInterval;
|
|
37
28
|
constructor();
|
|
38
29
|
private initializeSteps;
|
|
39
30
|
/**
|
|
40
31
|
* Detect if running from dev/repo vs global install.
|
|
41
|
-
* Dev mode: skip auto-updates
|
|
32
|
+
* Dev mode: skip auto-updates.
|
|
42
33
|
*/
|
|
43
34
|
private detectDevMode;
|
|
44
35
|
private updateStep;
|
|
45
|
-
private startAnimation;
|
|
46
|
-
private getSpinner;
|
|
47
|
-
private getGlitchText;
|
|
48
|
-
private getHexStream;
|
|
49
|
-
private getScanline;
|
|
50
|
-
private getProgressBar;
|
|
51
|
-
private renderLoadingScreen;
|
|
52
|
-
private getEnergySwordArt;
|
|
53
36
|
/**
|
|
54
37
|
* Step 1: Version Check & Update Detection
|
|
55
38
|
*/
|
|
@@ -71,14 +54,10 @@ export declare class BootOrchestrator {
|
|
|
71
54
|
*/
|
|
72
55
|
private checkGatewayBundle;
|
|
73
56
|
/**
|
|
74
|
-
* Main orchestration: run all boot steps
|
|
57
|
+
* Main orchestration: run all boot steps (silent — TUI owns boot visuals)
|
|
75
58
|
*/
|
|
76
59
|
boot(): Promise<BootResult>;
|
|
77
|
-
private renderSuccessScreen;
|
|
78
60
|
}
|
|
79
|
-
/**
|
|
80
|
-
* Convenience export for existing code
|
|
81
|
-
*/
|
|
82
61
|
export declare function orchestrateBootSequence(): Promise<BootResult>;
|
|
83
62
|
export {};
|
|
84
63
|
//# sourceMappingURL=boot-orchestrator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot-orchestrator.d.ts","sourceRoot":"","sources":["../src/boot-orchestrator.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"boot-orchestrator.d.ts","sourceRoot":"","sources":["../src/boot-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,SAAS,CAAkB;;IAOnC,OAAO,CAAC,eAAe;IAwCvB;;;OAGG;IACH,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,UAAU;IAsBlB;;OAEG;YACW,YAAY;IA6B1B;;OAEG;YACW,qBAAqB;IAiBnC;;OAEG;YACW,WAAW;IAwBzB;;OAEG;YACW,WAAW;IAezB;;OAEG;YACW,kBAAkB;IAqBhC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;CAgClC;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,UAAU,CAAC,CAGnE"}
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Boot Orchestrator -
|
|
2
|
+
* Boot Orchestrator — pre-launch sequence before the MK3 TUI starts.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* - Stale process cleanup
|
|
7
|
-
* - Gateway health verification
|
|
8
|
-
* - Docker container startup
|
|
9
|
-
* - Animated, futuristic loading screen with 4Runr purple aesthetic
|
|
10
|
-
*
|
|
11
|
-
* Centralizes all pre-launch logic with a premium, alive UI experience.
|
|
4
|
+
* Runs version check, stale-process cleanup, installation health, Docker probe,
|
|
5
|
+
* and gateway bundle checks. No terminal loading UI (boot visuals are in the TUI).
|
|
12
6
|
*/
|
|
13
7
|
import { execSync } from 'child_process';
|
|
14
8
|
import * as fs from 'fs';
|
|
@@ -17,26 +11,9 @@ import { fileURLToPath } from 'url';
|
|
|
17
11
|
import { dirname } from 'path';
|
|
18
12
|
const __filename = fileURLToPath(import.meta.url);
|
|
19
13
|
const __dirname = dirname(__filename);
|
|
20
|
-
// 4Runr Brand Colors
|
|
21
|
-
const COLORS = {
|
|
22
|
-
purple: '\x1b[38;5;141m', // 4Runr signature purple
|
|
23
|
-
purpleBright: '\x1b[38;5;171m', // Brighter purple for highlights
|
|
24
|
-
cyan: '\x1b[38;5;87m', // Accent cyan
|
|
25
|
-
green: '\x1b[38;5;120m', // Success green
|
|
26
|
-
yellow: '\x1b[38;5;228m', // Warning yellow
|
|
27
|
-
red: '\x1b[38;5;210m', // Error red
|
|
28
|
-
gray: '\x1b[38;5;240m', // Subtle gray
|
|
29
|
-
white: '\x1b[97m', // Pure white
|
|
30
|
-
reset: '\x1b[0m',
|
|
31
|
-
bold: '\x1b[1m',
|
|
32
|
-
dim: '\x1b[2m',
|
|
33
|
-
};
|
|
34
14
|
export class BootOrchestrator {
|
|
35
15
|
steps = [];
|
|
36
|
-
startTime = Date.now();
|
|
37
16
|
isDevMode = false;
|
|
38
|
-
frameCount = 0;
|
|
39
|
-
animationInterval = null;
|
|
40
17
|
constructor() {
|
|
41
18
|
this.initializeSteps();
|
|
42
19
|
this.detectDevMode();
|
|
@@ -48,45 +25,44 @@ export class BootOrchestrator {
|
|
|
48
25
|
label: 'Initializing Core',
|
|
49
26
|
techLabel: 'version_check :: registry_sync',
|
|
50
27
|
status: 'pending',
|
|
51
|
-
progress: 0
|
|
28
|
+
progress: 0,
|
|
52
29
|
},
|
|
53
30
|
{
|
|
54
31
|
id: 'cleanup',
|
|
55
32
|
label: 'Clearing Memory Space',
|
|
56
33
|
techLabel: 'process_manager :: cleanup_stale',
|
|
57
34
|
status: 'pending',
|
|
58
|
-
progress: 0
|
|
35
|
+
progress: 0,
|
|
59
36
|
},
|
|
60
37
|
{
|
|
61
38
|
id: 'health',
|
|
62
39
|
label: 'System Integrity Check',
|
|
63
40
|
techLabel: 'integrity :: gateway_bundle',
|
|
64
41
|
status: 'pending',
|
|
65
|
-
progress: 0
|
|
42
|
+
progress: 0,
|
|
66
43
|
},
|
|
67
44
|
{
|
|
68
45
|
id: 'docker',
|
|
69
46
|
label: 'Container Engine',
|
|
70
47
|
techLabel: 'docker :: availability_check',
|
|
71
48
|
status: 'pending',
|
|
72
|
-
progress: 0
|
|
49
|
+
progress: 0,
|
|
73
50
|
},
|
|
74
51
|
{
|
|
75
52
|
id: 'gateway',
|
|
76
53
|
label: 'AI Gateway Systems',
|
|
77
54
|
techLabel: 'gateway :: runtime_verification',
|
|
78
55
|
status: 'pending',
|
|
79
|
-
progress: 0
|
|
56
|
+
progress: 0,
|
|
80
57
|
},
|
|
81
58
|
];
|
|
82
59
|
}
|
|
83
60
|
/**
|
|
84
61
|
* Detect if running from dev/repo vs global install.
|
|
85
|
-
* Dev mode: skip auto-updates
|
|
62
|
+
* Dev mode: skip auto-updates.
|
|
86
63
|
*/
|
|
87
64
|
detectDevMode() {
|
|
88
65
|
try {
|
|
89
|
-
// Running from repo if .git exists in ancestor directories
|
|
90
66
|
let current = __dirname;
|
|
91
67
|
for (let i = 0; i < 6; i++) {
|
|
92
68
|
const gitPath = path.join(current, '.git');
|
|
@@ -99,7 +75,6 @@ export class BootOrchestrator {
|
|
|
99
75
|
break;
|
|
100
76
|
current = parent;
|
|
101
77
|
}
|
|
102
|
-
// Also dev if package.json has "workspaces" (monorepo root)
|
|
103
78
|
const pkgPath = path.join(__dirname, '..', 'package.json');
|
|
104
79
|
if (fs.existsSync(pkgPath)) {
|
|
105
80
|
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
|
|
@@ -109,26 +84,20 @@ export class BootOrchestrator {
|
|
|
109
84
|
}
|
|
110
85
|
}
|
|
111
86
|
catch {
|
|
112
|
-
// Assume production if detection fails
|
|
113
87
|
this.isDevMode = false;
|
|
114
88
|
}
|
|
115
89
|
}
|
|
116
90
|
updateStep(id, status, message, progressIncrement = 0) {
|
|
117
|
-
const step = this.steps.find(s => s.id === id);
|
|
91
|
+
const step = this.steps.find((s) => s.id === id);
|
|
118
92
|
if (!step)
|
|
119
93
|
return;
|
|
120
94
|
if (status === 'running' && !step.startTime) {
|
|
121
95
|
step.startTime = Date.now();
|
|
122
96
|
step.progress = 0;
|
|
123
|
-
this.startAnimation();
|
|
124
97
|
}
|
|
125
98
|
if ((status === 'complete' || status === 'error' || status === 'warning') && !step.endTime) {
|
|
126
99
|
step.endTime = Date.now();
|
|
127
100
|
step.progress = 100;
|
|
128
|
-
if (this.animationInterval) {
|
|
129
|
-
clearInterval(this.animationInterval);
|
|
130
|
-
this.animationInterval = null;
|
|
131
|
-
}
|
|
132
101
|
}
|
|
133
102
|
step.status = status;
|
|
134
103
|
if (message !== undefined) {
|
|
@@ -137,150 +106,6 @@ export class BootOrchestrator {
|
|
|
137
106
|
if (progressIncrement > 0 && step.progress !== undefined) {
|
|
138
107
|
step.progress = Math.min(100, step.progress + progressIncrement);
|
|
139
108
|
}
|
|
140
|
-
this.renderLoadingScreen();
|
|
141
|
-
}
|
|
142
|
-
startAnimation() {
|
|
143
|
-
if (this.animationInterval)
|
|
144
|
-
return;
|
|
145
|
-
this.animationInterval = setInterval(() => {
|
|
146
|
-
this.frameCount++;
|
|
147
|
-
const runningStep = this.steps.find(s => s.status === 'running');
|
|
148
|
-
if (runningStep && runningStep.progress !== undefined && runningStep.progress < 90) {
|
|
149
|
-
// Smooth progress animation (slows near completion)
|
|
150
|
-
const increment = runningStep.progress < 50 ? 3 : runningStep.progress < 70 ? 2 : 1;
|
|
151
|
-
runningStep.progress = Math.min(90, runningStep.progress + increment);
|
|
152
|
-
}
|
|
153
|
-
this.renderLoadingScreen();
|
|
154
|
-
}, 80);
|
|
155
|
-
}
|
|
156
|
-
getSpinner() {
|
|
157
|
-
const frames = ['◜', '◠', '◝', '◞', '◡', '◟'];
|
|
158
|
-
return frames[this.frameCount % frames.length];
|
|
159
|
-
}
|
|
160
|
-
getGlitchText(text) {
|
|
161
|
-
// Random glitch effect - occasionally shows "corrupted" version
|
|
162
|
-
if (this.frameCount % 17 === 0) {
|
|
163
|
-
const glitchChars = ['░', '▒', '▓', '█', '▀', '▄', '▌', '▐'];
|
|
164
|
-
const pos = Math.floor(Math.random() * text.length);
|
|
165
|
-
return text.substring(0, pos) + glitchChars[Math.floor(Math.random() * glitchChars.length)] + text.substring(pos + 1);
|
|
166
|
-
}
|
|
167
|
-
return text;
|
|
168
|
-
}
|
|
169
|
-
getHexStream() {
|
|
170
|
-
// Generate flowing hex stream like Matrix
|
|
171
|
-
const hexChars = '0123456789ABCDEF';
|
|
172
|
-
let stream = '';
|
|
173
|
-
for (let i = 0; i < 16; i++) {
|
|
174
|
-
stream += hexChars[Math.floor(Math.random() * hexChars.length)];
|
|
175
|
-
if (i % 2 === 1)
|
|
176
|
-
stream += ' ';
|
|
177
|
-
}
|
|
178
|
-
return `${COLORS.dim}${COLORS.purple}${stream}${COLORS.reset}`;
|
|
179
|
-
}
|
|
180
|
-
getScanline() {
|
|
181
|
-
// Animated scanline effect
|
|
182
|
-
const width = 58;
|
|
183
|
-
const pos = this.frameCount % width;
|
|
184
|
-
const line = '─'.repeat(pos) + '█' + '─'.repeat(width - pos - 1);
|
|
185
|
-
return `${COLORS.dim}${COLORS.cyan}${line}${COLORS.reset}`;
|
|
186
|
-
}
|
|
187
|
-
getProgressBar(progress = 0, width = 30) {
|
|
188
|
-
const filled = Math.floor((progress / 100) * width);
|
|
189
|
-
const empty = width - filled;
|
|
190
|
-
// Cyberpunk progress bar with glitch effect
|
|
191
|
-
const filledChar = progress > 75 ? '█' : progress > 50 ? '▓' : progress > 25 ? '▒' : '░';
|
|
192
|
-
const emptyChar = '─';
|
|
193
|
-
const head = filled === width ? '' : '▶';
|
|
194
|
-
// Random glitch on the bar occasionally
|
|
195
|
-
const glitch = this.frameCount % 13 === 0 ? `${COLORS.red}▓${COLORS.purpleBright}` : '';
|
|
196
|
-
return `${COLORS.purpleBright}${filledChar.repeat(filled)}${glitch}${head}${COLORS.gray}${emptyChar.repeat(empty)}${COLORS.reset}`;
|
|
197
|
-
}
|
|
198
|
-
renderLoadingScreen() {
|
|
199
|
-
// Clear screen
|
|
200
|
-
process.stderr.write('\x1Bc');
|
|
201
|
-
const devBadge = this.isDevMode ? ` ${COLORS.yellow}${COLORS.bold}[DEV]${COLORS.reset}` : '';
|
|
202
|
-
// Calculate overall progress (0-100)
|
|
203
|
-
const completedSteps = this.steps.filter(s => s.status === 'complete').length;
|
|
204
|
-
const totalSteps = this.steps.length;
|
|
205
|
-
const overallProgress = Math.floor((completedSteps / totalSteps) * 100);
|
|
206
|
-
// Energy sword glow intensity based on progress
|
|
207
|
-
const glowIntensity = Math.floor((overallProgress / 100) * 5); // 0-5 levels
|
|
208
|
-
// Purple energy sword ASCII art with glow effect
|
|
209
|
-
const swordArt = this.getEnergySwordArt(glowIntensity);
|
|
210
|
-
// Simple header
|
|
211
|
-
process.stderr.write(`\n${COLORS.purpleBright}${COLORS.bold}4RUNR AI AGENT OS${COLORS.reset}${devBadge}\n`);
|
|
212
|
-
process.stderr.write(`${COLORS.dim}${COLORS.gray}${'─'.repeat(60)}${COLORS.reset}\n\n`);
|
|
213
|
-
// Energy sword visualization
|
|
214
|
-
process.stderr.write(swordArt);
|
|
215
|
-
process.stderr.write(`\n`);
|
|
216
|
-
// Progress indicator
|
|
217
|
-
const progressBar = '█'.repeat(Math.floor(overallProgress / 5)) + '░'.repeat(20 - Math.floor(overallProgress / 5));
|
|
218
|
-
process.stderr.write(`${COLORS.purple} ${progressBar}${COLORS.reset} ${COLORS.cyan}${overallProgress}%${COLORS.reset}\n\n`);
|
|
219
|
-
// Boot process details (simple, clean)
|
|
220
|
-
for (const step of this.steps) {
|
|
221
|
-
let statusIcon = `${COLORS.gray}○${COLORS.reset}`;
|
|
222
|
-
let statusColor = COLORS.gray;
|
|
223
|
-
if (step.status === 'running') {
|
|
224
|
-
statusIcon = `${COLORS.cyan}◉${COLORS.reset}`;
|
|
225
|
-
statusColor = COLORS.cyan;
|
|
226
|
-
}
|
|
227
|
-
else if (step.status === 'complete') {
|
|
228
|
-
statusIcon = `${COLORS.green}●${COLORS.reset}`;
|
|
229
|
-
statusColor = COLORS.green;
|
|
230
|
-
}
|
|
231
|
-
else if (step.status === 'warning') {
|
|
232
|
-
statusIcon = `${COLORS.yellow}◆${COLORS.reset}`;
|
|
233
|
-
statusColor = COLORS.yellow;
|
|
234
|
-
}
|
|
235
|
-
else if (step.status === 'error') {
|
|
236
|
-
statusIcon = `${COLORS.red}✖${COLORS.reset}`;
|
|
237
|
-
statusColor = COLORS.red;
|
|
238
|
-
}
|
|
239
|
-
process.stderr.write(` ${statusIcon} ${statusColor}${step.label}${COLORS.reset}`);
|
|
240
|
-
if (step.status === 'complete' && step.startTime && step.endTime) {
|
|
241
|
-
const duration = step.endTime - step.startTime;
|
|
242
|
-
process.stderr.write(` ${COLORS.dim}${duration}ms${COLORS.reset}`);
|
|
243
|
-
}
|
|
244
|
-
process.stderr.write(`\n`);
|
|
245
|
-
}
|
|
246
|
-
const totalElapsed = Date.now() - this.startTime;
|
|
247
|
-
const elapsedSec = (totalElapsed / 1000).toFixed(2);
|
|
248
|
-
process.stderr.write(`\n${COLORS.dim}${COLORS.gray} Elapsed: ${elapsedSec}s${COLORS.reset}\n\n`);
|
|
249
|
-
}
|
|
250
|
-
getEnergySwordArt(glowLevel) {
|
|
251
|
-
// Energy sword blade - gets brighter as boot progresses
|
|
252
|
-
const bladeColors = [
|
|
253
|
-
COLORS.dim + COLORS.purple, // 0% - very dim
|
|
254
|
-
COLORS.purple, // 20% - dim
|
|
255
|
-
COLORS.purple, // 40% - normal
|
|
256
|
-
COLORS.purpleBright, // 60% - bright
|
|
257
|
-
COLORS.purpleBright + COLORS.bold, // 80% - very bright
|
|
258
|
-
COLORS.purpleBright + COLORS.bold, // 100% - maximum glow
|
|
259
|
-
];
|
|
260
|
-
const color = bladeColors[glowLevel] || bladeColors[0];
|
|
261
|
-
const glow = glowLevel >= 4 ? '▓' : glowLevel >= 2 ? '▒' : '░';
|
|
262
|
-
// Halo energy sword shape
|
|
263
|
-
const sword = `
|
|
264
|
-
${color} ╱╲
|
|
265
|
-
${color} ╱ ╲
|
|
266
|
-
${color} ╱ ╲
|
|
267
|
-
${color} ╱ ${glow}${glow}${glow}${glow} ╲
|
|
268
|
-
${color} ╱ ${glow}${glow}${glow}${glow}${glow}${glow} ╲
|
|
269
|
-
${color} ╱ ${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow} ╲
|
|
270
|
-
${color} ╱ ${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow} ╲
|
|
271
|
-
${color} ╱ ${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow} ╲
|
|
272
|
-
${color} ╱ ${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow} ╲
|
|
273
|
-
${color} ╲ ${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow} ╱
|
|
274
|
-
${color} ╲ ${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow} ╱
|
|
275
|
-
${color} ╲ ${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow} ╱
|
|
276
|
-
${color} ╲ ${glow}${glow}${glow}${glow}${glow}${glow}${glow}${glow} ╱
|
|
277
|
-
${color} ╲ ${glow}${glow}${glow}${glow}${glow}${glow} ╱
|
|
278
|
-
${color} ╲ ${glow}${glow}${glow}${glow} ╱
|
|
279
|
-
${COLORS.gray} ═══════
|
|
280
|
-
${COLORS.gray} ═════
|
|
281
|
-
${COLORS.gray} ═══${COLORS.reset}
|
|
282
|
-
`;
|
|
283
|
-
return sword;
|
|
284
109
|
}
|
|
285
110
|
/**
|
|
286
111
|
* Step 1: Version Check & Update Detection
|
|
@@ -299,13 +124,13 @@ ${COLORS.gray} ═══${COLORS.reset}
|
|
|
299
124
|
return {
|
|
300
125
|
needsUpdate: true,
|
|
301
126
|
latestVersion: versionInfo.latest,
|
|
302
|
-
currentVersion: versionInfo.current
|
|
127
|
+
currentVersion: versionInfo.current,
|
|
303
128
|
};
|
|
304
129
|
}
|
|
305
130
|
this.updateStep('version', 'complete', `v${versionInfo.current}`);
|
|
306
131
|
return { needsUpdate: false, currentVersion: versionInfo.current };
|
|
307
132
|
}
|
|
308
|
-
catch
|
|
133
|
+
catch {
|
|
309
134
|
this.updateStep('version', 'warning', 'Version check failed');
|
|
310
135
|
return { needsUpdate: false };
|
|
311
136
|
}
|
|
@@ -320,10 +145,10 @@ ${COLORS.gray} ═══${COLORS.reset}
|
|
|
320
145
|
const { forceClearGlobalDeferredNpmLock } = await import('./deferred-npm-install-lock.js');
|
|
321
146
|
forceClearGlobalDeferredNpmLock();
|
|
322
147
|
killStaleProcesses();
|
|
323
|
-
await new Promise(r => setTimeout(r, 300));
|
|
148
|
+
await new Promise((r) => setTimeout(r, 300));
|
|
324
149
|
this.updateStep('cleanup', 'complete');
|
|
325
150
|
}
|
|
326
|
-
catch
|
|
151
|
+
catch {
|
|
327
152
|
this.updateStep('cleanup', 'warning', 'Some processes may still be running');
|
|
328
153
|
}
|
|
329
154
|
}
|
|
@@ -373,12 +198,11 @@ ${COLORS.gray} ═══${COLORS.reset}
|
|
|
373
198
|
async checkGatewayBundle() {
|
|
374
199
|
this.updateStep('gateway', 'running');
|
|
375
200
|
try {
|
|
376
|
-
// Quick sanity check - full bundle copied by prepublishOnly
|
|
377
201
|
const possiblePaths = [
|
|
378
202
|
path.join(__dirname, '..', 'apps', 'gateway', 'dist', 'index.js'),
|
|
379
203
|
path.join(__dirname, '..', '..', 'apps', 'gateway', 'dist', 'index.js'),
|
|
380
204
|
];
|
|
381
|
-
const bundleExists = possiblePaths.some(p => fs.existsSync(p));
|
|
205
|
+
const bundleExists = possiblePaths.some((p) => fs.existsSync(p));
|
|
382
206
|
if (bundleExists) {
|
|
383
207
|
this.updateStep('gateway', 'complete');
|
|
384
208
|
}
|
|
@@ -391,14 +215,11 @@ ${COLORS.gray} ═══${COLORS.reset}
|
|
|
391
215
|
}
|
|
392
216
|
}
|
|
393
217
|
/**
|
|
394
|
-
* Main orchestration: run all boot steps
|
|
218
|
+
* Main orchestration: run all boot steps (silent — TUI owns boot visuals)
|
|
395
219
|
*/
|
|
396
220
|
async boot() {
|
|
397
|
-
this.renderLoadingScreen();
|
|
398
|
-
// Step 1: Version check (skip if dev)
|
|
399
221
|
const versionCheck = await this.checkVersion();
|
|
400
222
|
if (versionCheck.needsUpdate) {
|
|
401
|
-
// Don't proceed with boot - user needs to update
|
|
402
223
|
return {
|
|
403
224
|
success: false,
|
|
404
225
|
needsUpdate: true,
|
|
@@ -406,9 +227,7 @@ ${COLORS.gray} ═══${COLORS.reset}
|
|
|
406
227
|
steps: this.steps,
|
|
407
228
|
};
|
|
408
229
|
}
|
|
409
|
-
// Step 2: Cleanup
|
|
410
230
|
await this.cleanupStaleProcesses();
|
|
411
|
-
// Step 3: Health check
|
|
412
231
|
const healthOk = await this.checkHealth();
|
|
413
232
|
if (!healthOk) {
|
|
414
233
|
return {
|
|
@@ -417,72 +236,14 @@ ${COLORS.gray} ═══${COLORS.reset}
|
|
|
417
236
|
steps: this.steps,
|
|
418
237
|
};
|
|
419
238
|
}
|
|
420
|
-
// Step 4: Docker check (non-blocking)
|
|
421
239
|
await this.checkDocker();
|
|
422
|
-
// Step 5: Gateway bundle check (non-blocking)
|
|
423
240
|
await this.checkGatewayBundle();
|
|
424
|
-
// Boot complete - final success screen
|
|
425
|
-
if (healthOk) {
|
|
426
|
-
this.renderSuccessScreen();
|
|
427
|
-
await new Promise(r => setTimeout(r, 800)); // Let user see completion
|
|
428
|
-
}
|
|
429
241
|
return {
|
|
430
242
|
success: true,
|
|
431
243
|
steps: this.steps,
|
|
432
244
|
};
|
|
433
245
|
}
|
|
434
|
-
renderSuccessScreen() {
|
|
435
|
-
if (this.animationInterval) {
|
|
436
|
-
clearInterval(this.animationInterval);
|
|
437
|
-
this.animationInterval = null;
|
|
438
|
-
}
|
|
439
|
-
// Clear and show EPIC HACKER SUCCESS STATE
|
|
440
|
-
process.stderr.write('\x1Bc');
|
|
441
|
-
// Matrix-style success banner
|
|
442
|
-
const successBanner = `
|
|
443
|
-
${COLORS.green} ██████╗ ██████╗ ██████╗ ████████╗ ███████╗██╗ ██╗ ██████╗ ██████╗███████╗███████╗███████╗
|
|
444
|
-
${COLORS.green} ██╔══██╗██╔═══██╗██╔═══██╗╚══██╔══╝ ██╔════╝██║ ██║██╔════╝██╔════╝██╔════╝██╔════╝██╔════╝
|
|
445
|
-
${COLORS.green} ██████╔╝██║ ██║██║ ██║ ██║ ███████╗██║ ██║██║ ██║ █████╗ ███████╗███████╗
|
|
446
|
-
${COLORS.green} ██╔══██╗██║ ██║██║ ██║ ██║ ╚════██║██║ ██║██║ ██║ ██╔══╝ ╚════██║╚════██║
|
|
447
|
-
${COLORS.green} ██████╔╝╚██████╔╝╚██████╔╝ ██║ ███████║╚██████╔╝╚██████╗╚██████╗███████╗███████║███████║
|
|
448
|
-
${COLORS.green} ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝╚══════╝╚══════╝╚══════╝${COLORS.reset}
|
|
449
|
-
`;
|
|
450
|
-
process.stderr.write(successBanner);
|
|
451
|
-
process.stderr.write(`\n`);
|
|
452
|
-
const headerBorder = `${COLORS.purple}${'▓'.repeat(60)}${COLORS.reset}`;
|
|
453
|
-
process.stderr.write(`${headerBorder}\n`);
|
|
454
|
-
process.stderr.write(`${COLORS.purple} ⬢▓▒░${COLORS.reset} ${COLORS.bold}${COLORS.purpleBright}4RUNR${COLORS.reset} ${COLORS.cyan}AI AGENT OS${COLORS.reset} ${COLORS.purple}░▒▓⬢${COLORS.reset}\n`);
|
|
455
|
-
process.stderr.write(`${headerBorder}\n\n`);
|
|
456
|
-
const totalElapsed = Date.now() - this.startTime;
|
|
457
|
-
const elapsedSec = (totalElapsed / 1000).toFixed(2);
|
|
458
|
-
const elapsedHex = `0x${totalElapsed.toString(16).toUpperCase()}`;
|
|
459
|
-
process.stderr.write(`${COLORS.gray} ╔═══ SYSTEM STATUS ${COLORS.green}▓${COLORS.gray} ════════════════════════════════╗${COLORS.reset}\n`);
|
|
460
|
-
process.stderr.write(`${COLORS.gray} ║${COLORS.reset} ${COLORS.green}●${COLORS.reset} ${COLORS.bold}${COLORS.green}ALL SYSTEMS OPERATIONAL${COLORS.reset}${' '.repeat(30)}${COLORS.gray}║${COLORS.reset}\n`);
|
|
461
|
-
process.stderr.write(`${COLORS.gray} ║${COLORS.reset} ${COLORS.dim}[BOOT TIME]${COLORS.reset} ${COLORS.cyan}${elapsedSec}s${COLORS.reset} ${COLORS.dim}(${elapsedHex} ms)${COLORS.reset}${' '.repeat(25 - elapsedSec.length - elapsedHex.length)}${COLORS.gray}║${COLORS.reset}\n`);
|
|
462
|
-
process.stderr.write(`${COLORS.gray} ║${COLORS.reset} ${COLORS.dim}[TIMESTAMP]${COLORS.reset} ${COLORS.cyan}${new Date().toISOString()}${COLORS.reset} ${COLORS.gray}║${COLORS.reset}\n`);
|
|
463
|
-
process.stderr.write(`${COLORS.gray} ╚═══════════════════════════════════════════════════════╝${COLORS.reset}\n\n`);
|
|
464
|
-
// Show all steps with hacker completion stats
|
|
465
|
-
process.stderr.write(`${COLORS.dim}${COLORS.gray} >>> EXECUTION TRACE <<<${COLORS.reset}\n\n`);
|
|
466
|
-
for (const step of this.steps) {
|
|
467
|
-
const icon = step.status === 'complete' ? `${COLORS.green}[✓]${COLORS.reset}` :
|
|
468
|
-
step.status === 'warning' ? `${COLORS.yellow}[!]${COLORS.reset}` :
|
|
469
|
-
`${COLORS.gray}[ ]${COLORS.reset}`;
|
|
470
|
-
const duration = step.endTime && step.startTime ? `${step.endTime - step.startTime}ms` : '---';
|
|
471
|
-
const durationHex = step.endTime && step.startTime ? `0x${(step.endTime - step.startTime).toString(16).toUpperCase()}` : '0x00';
|
|
472
|
-
process.stderr.write(` ${icon} ${COLORS.dim}${step.label}${COLORS.reset}${' '.repeat(35 - step.label.length)}${COLORS.cyan}${duration}${COLORS.reset} ${COLORS.dim}${durationHex}${COLORS.reset}\n`);
|
|
473
|
-
}
|
|
474
|
-
// Epic footer
|
|
475
|
-
process.stderr.write(`\n${COLORS.purple} ${'▓'.repeat(58)}${COLORS.reset}\n`);
|
|
476
|
-
process.stderr.write(`${COLORS.purpleBright} ${COLORS.bold}▓▒░ LAUNCHING TERMINAL INTERFACE ░▒▓${COLORS.reset}\n`);
|
|
477
|
-
process.stderr.write(`${COLORS.dim}${COLORS.gray} >> NEURAL PATHWAYS: ACTIVE${COLORS.reset}\n`);
|
|
478
|
-
process.stderr.write(`${COLORS.dim}${COLORS.gray} >> SECURE CHANNELS: ESTABLISHED${COLORS.reset}\n`);
|
|
479
|
-
process.stderr.write(`${COLORS.dim}${COLORS.gray} >> AI PROTOCOLS: LOADED${COLORS.reset}\n`);
|
|
480
|
-
process.stderr.write(`${COLORS.purple} ${'▓'.repeat(58)}${COLORS.reset}\n\n`);
|
|
481
|
-
}
|
|
482
246
|
}
|
|
483
|
-
/**
|
|
484
|
-
* Convenience export for existing code
|
|
485
|
-
*/
|
|
486
247
|
export async function orchestrateBootSequence() {
|
|
487
248
|
const orchestrator = new BootOrchestrator();
|
|
488
249
|
return orchestrator.boot();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot-orchestrator.js","sourceRoot":"","sources":["../src/boot-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"boot-orchestrator.js","sourceRoot":"","sources":["../src/boot-orchestrator.ts"],"names":[],"mappings":"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"}
|
package/dist/watchdog.js
CHANGED
|
@@ -27,7 +27,7 @@ function isProcessRunning(pid) {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
|
-
* Stop Docker containers gracefully (
|
|
30
|
+
* Stop Docker containers gracefully (keeps containers, just stops them)
|
|
31
31
|
*/
|
|
32
32
|
function stopContainers() {
|
|
33
33
|
try {
|
|
@@ -50,7 +50,7 @@ function stopContainers() {
|
|
|
50
50
|
catch {
|
|
51
51
|
// Redis might not be running or SAVE might timeout — continue with stop
|
|
52
52
|
}
|
|
53
|
-
// Use docker compose down
|
|
53
|
+
// Use docker compose stop (NOT down) to keep containers, just stop them
|
|
54
54
|
// Compose is in user data dir
|
|
55
55
|
const composeDir = process.platform === 'win32'
|
|
56
56
|
? path.join(process.env.APPDATA || '', '4runr')
|
|
@@ -58,14 +58,14 @@ function stopContainers() {
|
|
|
58
58
|
const composePath = path.join(composeDir, 'docker-compose.yml');
|
|
59
59
|
if (fs.existsSync(composePath)) {
|
|
60
60
|
if (process.platform === 'win32') {
|
|
61
|
-
execSync(`docker compose -f "${composePath}"
|
|
61
|
+
execSync(`docker compose -f "${composePath}" stop 2>nul`, {
|
|
62
62
|
stdio: 'pipe',
|
|
63
63
|
timeout: 30000, // 30s for graceful shutdown
|
|
64
64
|
windowsHide: true,
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
67
|
else {
|
|
68
|
-
execSync(`docker compose -f "${composePath}"
|
|
68
|
+
execSync(`docker compose -f "${composePath}" stop 2>/dev/null || true`, {
|
|
69
69
|
stdio: 'pipe',
|
|
70
70
|
timeout: 30000,
|
|
71
71
|
});
|
|
@@ -168,7 +168,7 @@ function cleanup() {
|
|
|
168
168
|
execSync('docker exec 4runr-redis redis-cli SAVE', { stdio: 'pipe', timeout: 5000 });
|
|
169
169
|
} catch {}
|
|
170
170
|
|
|
171
|
-
// Stop Docker containers
|
|
171
|
+
// Stop Docker containers (use stop, NOT down, to keep containers)
|
|
172
172
|
try {
|
|
173
173
|
const composeDir = process.platform === 'win32'
|
|
174
174
|
? path.join(process.env.APPDATA || '', '4runr')
|
|
@@ -177,9 +177,9 @@ function cleanup() {
|
|
|
177
177
|
|
|
178
178
|
if (fs.existsSync(composePath)) {
|
|
179
179
|
if (process.platform === 'win32') {
|
|
180
|
-
execSync(\`docker compose -f "\${composePath}"
|
|
180
|
+
execSync(\`docker compose -f "\${composePath}" stop 2>nul\`, { stdio: 'pipe', timeout: 30000, windowsHide: true });
|
|
181
181
|
} else {
|
|
182
|
-
execSync(\`docker compose -f "\${composePath}"
|
|
182
|
+
execSync(\`docker compose -f "\${composePath}" stop 2>/dev/null || true\`, { stdio: 'pipe', timeout: 30000 });
|
|
183
183
|
}
|
|
184
184
|
} else {
|
|
185
185
|
// Fallback with longer grace period
|
package/dist/watchdog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchdog.js","sourceRoot":"","sources":["../src/watchdog.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAC/C,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAE3C,SAAS,kBAAkB;IACzB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,yCAAyC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,kEAAkE;QAClE,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,QAAQ,CAAC,8CAA8C,EAAE;oBACvD,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,4DAA4D,EAAE;oBACrE,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;QAC1E,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"watchdog.js","sourceRoot":"","sources":["../src/watchdog.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "4runr-os",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.28",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.10.
|
|
5
|
+
"description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.10.28: Silent Node boot orchestrator (no stderr sword UI); TUI boot unchanged. v2.10.27: compose stop; prepublish gate. See docs",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"bin": {
|
|
8
8
|
"4runr": "dist/index.js",
|