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 - Unified launch sequence with futuristic loading UI
2
+ * Boot Orchestrator — pre-launch sequence before the MK3 TUI starts.
3
3
  *
4
- * Handles:
5
- * - Version detection & update checks
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, show [DEV] indicator.
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;;;;;;;;;;;GAWG;AA0BH,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,CAAsB;IACvC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,iBAAiB,CAA+B;;IAOxD,OAAO,CAAC,eAAe;IAwCvB;;;OAGG;IACH,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,UAAU;IA6BlB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,mBAAmB;IA+D3B,OAAO,CAAC,iBAAiB;IAuCzB;;OAEG;YACW,YAAY;IA6B1B;;OAEG;YACW,qBAAqB;IAiBnC;;OAEG;YACW,WAAW;IAwBzB;;OAEG;YACW,WAAW;IAezB;;OAEG;YACW,kBAAkB;IAsBhC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IA+CjC,OAAO,CAAC,mBAAmB;CAyD5B;AAED;;GAEG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,UAAU,CAAC,CAGnE"}
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 - Unified launch sequence with futuristic loading UI
2
+ * Boot Orchestrator — pre-launch sequence before the MK3 TUI starts.
3
3
  *
4
- * Handles:
5
- * - Version detection & update checks
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, show [DEV] indicator.
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 (err) {
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 (err) {
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 (ensures Redis saves data)
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 for graceful shutdown (respects healthchecks and stop_grace_period)
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}" down 2>nul`, {
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}" down 2>/dev/null || true`, {
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 gracefully using compose
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}" down 2>nul\`, { stdio: 'pipe', timeout: 30000, windowsHide: true });
180
+ execSync(\`docker compose -f "\${composePath}" stop 2>nul\`, { stdio: 'pipe', timeout: 30000, windowsHide: true });
181
181
  } else {
182
- execSync(\`docker compose -f "\${composePath}" down 2>/dev/null || true\`, { stdio: 'pipe', timeout: 30000 });
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
@@ -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,8FAA8F;QAC9F,8BAA8B;QAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC7C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;QAEhD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QAEhE,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,QAAQ,CAAC,sBAAsB,WAAW,cAAc,EAAE;oBACxD,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,KAAK,EAAE,4BAA4B;oBAC5C,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,sBAAsB,WAAW,4BAA4B,EAAE;oBACtE,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,kEAAkE;YAClE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,QAAQ,CAAC,oDAAoD,EAAE;oBAC7D,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,kEAAkE,EAAE;oBAC3E,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW;IAClB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC;IAC5E,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1E,IAAI,GAAG,GAAG,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAC/B,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;YACH,CAAC;YACD,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,6BAA6B;IAC7B,MAAM,mBAAmB,GAAG,kBAAkB,EAAE,CAAC;IACjD,IAAI,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/E,IAAI,GAAG,GAAG,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IAEjE,kCAAkC;IAClC,MAAM,cAAc,GAAG;;;;;;gDAMuB,eAAe;kDACb,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoElE,CAAC;IAEA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE;QAC5D,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IAEH,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,qCAAqC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3E,IAAI,GAAG,GAAG,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,WAAW,EAAE,CAAC;IACd,cAAc,EAAE,CAAC;IAEjB,oBAAoB;IACpB,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC"}
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.25",
3
+ "version": "2.10.28",
4
4
  "type": "module",
5
- "description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.10.25: Graceful Redis shutdown with SAVE + docker compose down. v2.10.24: Energy sword boot. See docs",
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",