4runr-os 1.3.61 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui/v3/index.d.ts +1 -1
- package/dist/ui/v3/index.d.ts.map +1 -1
- package/dist/ui/v3/index.js +2 -2
- package/dist/ui/v3/index.js.map +1 -1
- package/dist/ui/v3/ui/phase1Runtime.d.ts.map +1 -1
- package/dist/ui/v3/ui/phase1Runtime.js +16 -176
- package/dist/ui/v3/ui/phase1Runtime.js.map +1 -1
- package/dist/ui/v3/ui/phase1RuntimeClean.d.ts +14 -0
- package/dist/ui/v3/ui/phase1RuntimeClean.d.ts.map +1 -0
- package/dist/ui/v3/ui/phase1RuntimeClean.js +578 -0
- package/dist/ui/v3/ui/phase1RuntimeClean.js.map +1 -0
- package/dist/ui/v3/ui/uiRuntime.d.ts +40 -0
- package/dist/ui/v3/ui/uiRuntime.d.ts.map +1 -0
- package/dist/ui/v3/ui/uiRuntime.js +60 -0
- package/dist/ui/v3/ui/uiRuntime.js.map +1 -0
- package/package.json +1 -1
package/dist/ui/v3/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/v3/index.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/v3/index.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}
|
package/dist/ui/v3/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Phase 1: Layout Skeleton + Dedicated Command Line
|
|
6
6
|
*/
|
|
7
7
|
// Export for use as a library
|
|
8
|
-
export { startPhase1Runtime } from './ui/
|
|
8
|
+
export { startPhase1Runtime } from './ui/phase1RuntimeClean.js';
|
|
9
9
|
// If run directly (not imported), start the TUI
|
|
10
10
|
const isMainModule = import.meta.url === `file://${process.argv[1]?.replace(/\\/g, '/')}` ||
|
|
11
11
|
process.argv[1]?.endsWith('index.js') ||
|
|
@@ -20,7 +20,7 @@ if (isMainModule) {
|
|
|
20
20
|
}
|
|
21
21
|
else {
|
|
22
22
|
// TUI mode (Phase 1)
|
|
23
|
-
const { startPhase1Runtime } = await import('./ui/
|
|
23
|
+
const { startPhase1Runtime } = await import('./ui/phase1RuntimeClean.js');
|
|
24
24
|
startPhase1Runtime().catch((error) => {
|
|
25
25
|
console.error('FATAL: TUI failed to start:', error);
|
|
26
26
|
process.exit(1);
|
package/dist/ui/v3/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/v3/index.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,8BAA8B;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/v3/index.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,8BAA8B;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,gDAAgD;AAChD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;IACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AAE3D,IAAI,YAAY,EAAE,CAAC;IACjB,wBAAwB;IACxB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAElF,IAAI,KAAK,EAAE,CAAC;QACV,oCAAoC;QACpC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,qBAAqB;QACrB,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAC1E,kBAAkB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACnC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phase1Runtime.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/ui/phase1Runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAqoBH;;GAEG;AACH;;GAEG;AACH;;GAEG;AACH,wBAAgB,SAAS,IAAI,IAAI,CAIhC;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"phase1Runtime.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/ui/phase1Runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAqoBH;;GAEG;AACH;;GAEG;AACH;;GAEG;AACH,wBAAgB,SAAS,IAAI,IAAI,CAIhC;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAqrCxD"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
import blessed from 'neo-blessed';
|
|
19
19
|
// Type assertion for blessed (textbox not in types)
|
|
20
20
|
const blessedLib = blessed;
|
|
21
|
-
import { computePhase1Layout
|
|
21
|
+
import { computePhase1Layout } from './layout/phase1Layout.js';
|
|
22
22
|
import { feedStore } from '../core/feedStore.js';
|
|
23
23
|
import { eventBus } from '../core/eventBus.js';
|
|
24
24
|
import { logger, enableTuiMode, disableBootPhase } from '../core/logger.js';
|
|
@@ -624,6 +624,17 @@ export async function startPhase1Runtime() {
|
|
|
624
624
|
level: 'INFO'
|
|
625
625
|
});
|
|
626
626
|
}
|
|
627
|
+
// CRITICAL: Block SIGWINCH (resize signal) BEFORE creating screen
|
|
628
|
+
// This prevents blessed from ever detecting resize events
|
|
629
|
+
// User will need to restart TUI after resizing terminal
|
|
630
|
+
if (process.stdout.isTTY) {
|
|
631
|
+
// Remove all existing SIGWINCH listeners
|
|
632
|
+
process.removeAllListeners('SIGWINCH');
|
|
633
|
+
// Add a no-op handler to block the signal
|
|
634
|
+
process.on('SIGWINCH', () => {
|
|
635
|
+
// Do nothing - block blessed from seeing this signal
|
|
636
|
+
});
|
|
637
|
+
}
|
|
627
638
|
// Create screen
|
|
628
639
|
screen = blessedLib.screen({
|
|
629
640
|
smartCSR: false, // CRITICAL: Disable smartCSR - it can cause duplicate rendering on resize
|
|
@@ -1344,181 +1355,10 @@ export async function startPhase1Runtime() {
|
|
|
1344
1355
|
// Note: We don't use 'keypress' here as it can cause double-typing issues
|
|
1345
1356
|
// The textbox handles input automatically, we just need to track when user types
|
|
1346
1357
|
// We'll reset history index on submit instead
|
|
1347
|
-
// CRITICAL:
|
|
1348
|
-
//
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
// Hard guard - resize handler bound exactly once
|
|
1352
|
-
if (currentScreen._resizeHandlerBound) {
|
|
1353
|
-
// Already bound - hard stop
|
|
1354
|
-
}
|
|
1355
|
-
else {
|
|
1356
|
-
currentScreen._resizeHandlerBound = true;
|
|
1357
|
-
// Resize debounce state
|
|
1358
|
-
const RESIZE_DEBOUNCE_MS = 150; // 150ms debounce for stability
|
|
1359
|
-
currentScreen.on('resize', () => {
|
|
1360
|
-
if (!currentScreen || !inputHandlersBound)
|
|
1361
|
-
return;
|
|
1362
|
-
// Get current dimensions
|
|
1363
|
-
const newWidth = currentScreen.width;
|
|
1364
|
-
const newHeight = currentScreen.height;
|
|
1365
|
-
// Ignore no-op resizes
|
|
1366
|
-
if (newWidth === lastResizeWidth && newHeight === lastResizeHeight) {
|
|
1367
|
-
return;
|
|
1368
|
-
}
|
|
1369
|
-
// Clear previous debounce timer
|
|
1370
|
-
if (currentScreen._resizeDebounceTimer) {
|
|
1371
|
-
clearTimeout(currentScreen._resizeDebounceTimer);
|
|
1372
|
-
}
|
|
1373
|
-
// Debounce: Wait for resize to settle
|
|
1374
|
-
currentScreen._resizeDebounceTimer = setTimeout(() => {
|
|
1375
|
-
currentScreen._resizeDebounceTimer = null;
|
|
1376
|
-
// Re-check dimensions (might have changed again)
|
|
1377
|
-
const currentWidth = currentScreen.width;
|
|
1378
|
-
const currentHeight = currentScreen.height;
|
|
1379
|
-
if (currentWidth === lastResizeWidth && currentHeight === lastResizeHeight) {
|
|
1380
|
-
return; // No change
|
|
1381
|
-
}
|
|
1382
|
-
// Update tracked dimensions
|
|
1383
|
-
lastResizeWidth = currentWidth;
|
|
1384
|
-
lastResizeHeight = currentHeight;
|
|
1385
|
-
// NUCLEAR OPTION: Destroy ALL widgets and recreate from scratch
|
|
1386
|
-
// This is the only reliable way to prevent blessed's internal state corruption
|
|
1387
|
-
// Step 1: Destroy all existing widgets
|
|
1388
|
-
const allWidgets = [...panels];
|
|
1389
|
-
if (statusStrip)
|
|
1390
|
-
allWidgets.push(statusStrip);
|
|
1391
|
-
if (commandLine)
|
|
1392
|
-
allWidgets.push(commandLine);
|
|
1393
|
-
for (const widget of allWidgets) {
|
|
1394
|
-
try {
|
|
1395
|
-
currentScreen.remove(widget);
|
|
1396
|
-
if (widget.destroy) {
|
|
1397
|
-
widget.destroy();
|
|
1398
|
-
}
|
|
1399
|
-
}
|
|
1400
|
-
catch (e) {
|
|
1401
|
-
// Ignore errors
|
|
1402
|
-
}
|
|
1403
|
-
}
|
|
1404
|
-
// Step 2: Clear blessed's internal state
|
|
1405
|
-
if (currentScreen.children) {
|
|
1406
|
-
currentScreen.children = [];
|
|
1407
|
-
}
|
|
1408
|
-
if (currentScreen.lines) {
|
|
1409
|
-
currentScreen.lines = [];
|
|
1410
|
-
}
|
|
1411
|
-
if (currentScreen.olines) {
|
|
1412
|
-
currentScreen.olines = [];
|
|
1413
|
-
}
|
|
1414
|
-
// Step 3: Clear the physical screen
|
|
1415
|
-
if (currentScreen.program && currentScreen.program.clear) {
|
|
1416
|
-
currentScreen.program.clear();
|
|
1417
|
-
}
|
|
1418
|
-
if (process.stdout.isTTY) {
|
|
1419
|
-
process.stdout.write('\x1b[2J\x1b[H'); // Clear screen
|
|
1420
|
-
}
|
|
1421
|
-
// Step 4: Compute new layout
|
|
1422
|
-
const newLayoutResult = computePhase1Layout(currentWidth, currentHeight);
|
|
1423
|
-
if (!newLayoutResult.ok || !newLayoutResult.layout) {
|
|
1424
|
-
// Terminal too small - just show error
|
|
1425
|
-
eventBus.emit({
|
|
1426
|
-
tag: 'SYS',
|
|
1427
|
-
msg: `Terminal too small (${currentWidth}x${currentHeight}). Need at least ${MIN_WIDTH}x${MIN_HEIGHT}.`,
|
|
1428
|
-
level: 'ERROR'
|
|
1429
|
-
});
|
|
1430
|
-
return;
|
|
1431
|
-
}
|
|
1432
|
-
const newLayout = newLayoutResult.layout;
|
|
1433
|
-
// Step 5: Recreate all widgets with new layout
|
|
1434
|
-
panels = [];
|
|
1435
|
-
panels.push(createPanel(currentScreen, newLayout.posture, 'POSTURE'));
|
|
1436
|
-
panels.push(createPanel(currentScreen, newLayout.resources, 'RESOURCES'));
|
|
1437
|
-
panels.push(createPanel(currentScreen, newLayout.assets, 'ASSETS'));
|
|
1438
|
-
panels.push(createPanel(currentScreen, newLayout.operations, 'OPERATIONS', formatFeedEntries));
|
|
1439
|
-
panels.push(createPanel(currentScreen, newLayout.network, 'NETWORK'));
|
|
1440
|
-
panels.push(createPanel(currentScreen, newLayout.capabilities, 'CAPABILITIES'));
|
|
1441
|
-
// Recreate status strip
|
|
1442
|
-
const newStatusWidth = Math.floor(newLayout.commandLine.width * 0.2);
|
|
1443
|
-
statusStrip = blessedLib.box({
|
|
1444
|
-
top: newLayout.commandLine.top,
|
|
1445
|
-
left: newLayout.commandLine.left,
|
|
1446
|
-
width: newStatusWidth,
|
|
1447
|
-
height: newLayout.commandLine.height,
|
|
1448
|
-
border: { type: 'line' },
|
|
1449
|
-
tags: true,
|
|
1450
|
-
content: ' MODE: OFFLINE | CONNECT: NO | POSTURE: UNKNOWN ',
|
|
1451
|
-
style: {
|
|
1452
|
-
border: { fg: 'grey' },
|
|
1453
|
-
fg: 'grey',
|
|
1454
|
-
},
|
|
1455
|
-
clickable: false,
|
|
1456
|
-
keys: false,
|
|
1457
|
-
mouse: false,
|
|
1458
|
-
input: false,
|
|
1459
|
-
});
|
|
1460
|
-
statusStrip.setLabel(' {grey-fg}STATUS{/}');
|
|
1461
|
-
// Recreate command line
|
|
1462
|
-
const newCommandWidth = newLayout.commandLine.width - newStatusWidth - 1;
|
|
1463
|
-
commandLine = blessedLib.box({
|
|
1464
|
-
top: newLayout.commandLine.top,
|
|
1465
|
-
left: newLayout.commandLine.left + newStatusWidth + 1,
|
|
1466
|
-
width: newCommandWidth,
|
|
1467
|
-
height: newLayout.commandLine.height,
|
|
1468
|
-
border: { type: 'line' },
|
|
1469
|
-
tags: true,
|
|
1470
|
-
content: PROMPT,
|
|
1471
|
-
style: {
|
|
1472
|
-
border: { fg: 'cyan' },
|
|
1473
|
-
fg: 'white',
|
|
1474
|
-
focus: {
|
|
1475
|
-
border: { fg: 'green' },
|
|
1476
|
-
fg: 'white',
|
|
1477
|
-
},
|
|
1478
|
-
},
|
|
1479
|
-
focusable: true,
|
|
1480
|
-
keyable: true,
|
|
1481
|
-
input: false,
|
|
1482
|
-
keys: false,
|
|
1483
|
-
mouse: false,
|
|
1484
|
-
scrollable: false,
|
|
1485
|
-
alwaysScroll: false,
|
|
1486
|
-
});
|
|
1487
|
-
commandLine.setLabel(' {cyan-fg}COMMAND LINE{/}');
|
|
1488
|
-
// Step 6: Append all widgets
|
|
1489
|
-
for (const panel of panels) {
|
|
1490
|
-
currentScreen.append(panel);
|
|
1491
|
-
panel.focusable = false;
|
|
1492
|
-
panel.keyable = false;
|
|
1493
|
-
}
|
|
1494
|
-
if (statusStrip) {
|
|
1495
|
-
currentScreen.append(statusStrip);
|
|
1496
|
-
}
|
|
1497
|
-
if (commandLine) {
|
|
1498
|
-
currentScreen.append(commandLine);
|
|
1499
|
-
}
|
|
1500
|
-
// Step 7: Update all content
|
|
1501
|
-
updateOperationsPanel();
|
|
1502
|
-
updatePosturePanel();
|
|
1503
|
-
updateResourcesPanel();
|
|
1504
|
-
updateAssetsPanel();
|
|
1505
|
-
updateNetworkPanel();
|
|
1506
|
-
updateCapabilitiesPanel();
|
|
1507
|
-
updateStatusStrip();
|
|
1508
|
-
// Step 8: Reassert focus
|
|
1509
|
-
reassertFocus();
|
|
1510
|
-
// Step 9: Render
|
|
1511
|
-
currentScreen.render();
|
|
1512
|
-
// Log resize
|
|
1513
|
-
eventBus.emit({
|
|
1514
|
-
tag: 'SYS',
|
|
1515
|
-
msg: `Terminal resized to ${currentWidth}x${currentHeight}`,
|
|
1516
|
-
level: 'INFO'
|
|
1517
|
-
});
|
|
1518
|
-
}, RESIZE_DEBOUNCE_MS);
|
|
1519
|
-
});
|
|
1520
|
-
}
|
|
1521
|
-
}
|
|
1358
|
+
// CRITICAL: NO RESIZE HANDLING
|
|
1359
|
+
// We've blocked SIGWINCH above, so blessed will never detect resize
|
|
1360
|
+
// User must restart TUI after resizing terminal
|
|
1361
|
+
// This is the ONLY way to prevent blessed's duplication bugs
|
|
1522
1362
|
// Prevent Tab from moving focus to panels (single handler only, bound once)
|
|
1523
1363
|
// Note: Tab handler is already bound above with other keys, so we don't need this
|
|
1524
1364
|
// But keeping it as a safety guard (only if somehow handlers weren't bound)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phase1Runtime.js","sourceRoot":"","sources":["../../../../src/ui/v3/ui/phase1Runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"phase1Runtime.js","sourceRoot":"","sources":["../../../../src/ui/v3/ui/phase1Runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase 1 Runtime - CLEAN IMPLEMENTATION
|
|
3
|
+
*
|
|
4
|
+
* Following strict lifecycle rules:
|
|
5
|
+
* - Single instance guard
|
|
6
|
+
* - Resize updates layout only (no recreate)
|
|
7
|
+
* - Zero stdout writes
|
|
8
|
+
* - Clean unbinding
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Step 1: Single instance guard
|
|
12
|
+
*/
|
|
13
|
+
export declare function startPhase1Runtime(): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=phase1RuntimeClean.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase1RuntimeClean.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/ui/phase1RuntimeClean.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA+CH;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAsJxD"}
|
|
@@ -0,0 +1,578 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase 1 Runtime - CLEAN IMPLEMENTATION
|
|
3
|
+
*
|
|
4
|
+
* Following strict lifecycle rules:
|
|
5
|
+
* - Single instance guard
|
|
6
|
+
* - Resize updates layout only (no recreate)
|
|
7
|
+
* - Zero stdout writes
|
|
8
|
+
* - Clean unbinding
|
|
9
|
+
*/
|
|
10
|
+
import blessed from 'neo-blessed';
|
|
11
|
+
import { computePhase1Layout, MIN_WIDTH, MIN_HEIGHT } from './layout/phase1Layout.js';
|
|
12
|
+
import { isUIMounted, setUIRuntime, getUIRuntime, destroyUIRuntime } from './uiRuntime.js';
|
|
13
|
+
import { feedStore } from '../core/feedStore.js';
|
|
14
|
+
import { eventBus } from '../core/eventBus.js';
|
|
15
|
+
import { logger, enableTuiMode, disableBootPhase } from '../core/logger.js';
|
|
16
|
+
import { buildUiState } from '../state/uiStateBuilder.js';
|
|
17
|
+
import { defaultUiState } from '../state/defaultState.js';
|
|
18
|
+
import { initializePostureState } from '../state/initializePostureState.js';
|
|
19
|
+
import { renderResourcesPanel } from './panels/ResourcesPanel.js';
|
|
20
|
+
import { renderPosturePanel } from './panels/PosturePanel.js';
|
|
21
|
+
import { renderAssetsPanel } from './panels/AssetsPanel.js';
|
|
22
|
+
import { renderNetworkPanel } from './panels/NetworkPanel.js';
|
|
23
|
+
import { renderCapabilitiesPanel } from './panels/CapabilitiesPanel.js';
|
|
24
|
+
import { isAvailable } from '../state/value.js';
|
|
25
|
+
import { parse, execute, UiAction } from '../commands/commandEngine.js';
|
|
26
|
+
const blessedLib = blessed;
|
|
27
|
+
const PROMPT = '4runr> ';
|
|
28
|
+
// Current UI state
|
|
29
|
+
let currentUiState = {
|
|
30
|
+
...defaultUiState,
|
|
31
|
+
posture: initializePostureState()
|
|
32
|
+
};
|
|
33
|
+
// Command history
|
|
34
|
+
const commandHistory = [];
|
|
35
|
+
let historyIndex = -1;
|
|
36
|
+
// Input state
|
|
37
|
+
let commandInputValue = PROMPT;
|
|
38
|
+
let cursorPosition = PROMPT.length;
|
|
39
|
+
let scrollOffset = 0;
|
|
40
|
+
// Resize debounce
|
|
41
|
+
let resizeDebounceTimer = null;
|
|
42
|
+
const RESIZE_DEBOUNCE_MS = 100;
|
|
43
|
+
let lastResizeWidth = 0;
|
|
44
|
+
let lastResizeHeight = 0;
|
|
45
|
+
/**
|
|
46
|
+
* Step 1: Single instance guard
|
|
47
|
+
*/
|
|
48
|
+
export async function startPhase1Runtime() {
|
|
49
|
+
// HARD GUARD: If UI already mounted, return immediately
|
|
50
|
+
if (isUIMounted()) {
|
|
51
|
+
logger.error('UI already mounted - cannot mount twice');
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
// Step 5: Enable TUI mode (routes console.log to eventBus)
|
|
55
|
+
enableTuiMode();
|
|
56
|
+
// Set up raw input
|
|
57
|
+
if (process.stdin.isTTY) {
|
|
58
|
+
process.stdin.setRawMode(true);
|
|
59
|
+
process.stdin.resume();
|
|
60
|
+
process.stdin.setEncoding('utf8');
|
|
61
|
+
}
|
|
62
|
+
// Create screen (ONCE)
|
|
63
|
+
const screen = blessedLib.screen({
|
|
64
|
+
smartCSR: false,
|
|
65
|
+
fastCSR: false,
|
|
66
|
+
title: '4Runr OS',
|
|
67
|
+
fullUnicode: true,
|
|
68
|
+
sendFocus: false,
|
|
69
|
+
warnings: false,
|
|
70
|
+
autoPadding: false,
|
|
71
|
+
dockBorders: false,
|
|
72
|
+
});
|
|
73
|
+
if (!screen) {
|
|
74
|
+
throw new Error('Failed to create screen');
|
|
75
|
+
}
|
|
76
|
+
// Hide cursor
|
|
77
|
+
if (screen.program?.hideCursor) {
|
|
78
|
+
screen.program.hideCursor();
|
|
79
|
+
}
|
|
80
|
+
// Check terminal size
|
|
81
|
+
const width = screen.width;
|
|
82
|
+
const height = screen.height;
|
|
83
|
+
const layoutResult = computePhase1Layout(width, height);
|
|
84
|
+
if (!layoutResult.ok || !layoutResult.layout) {
|
|
85
|
+
const errorMsg = layoutResult.errorMessage || 'Terminal too small';
|
|
86
|
+
screen.destroy();
|
|
87
|
+
throw new Error(errorMsg);
|
|
88
|
+
}
|
|
89
|
+
const layout = layoutResult.layout;
|
|
90
|
+
// Create all widgets ONCE
|
|
91
|
+
const widgets = {
|
|
92
|
+
posture: createPanel(screen, layout.posture, 'POSTURE'),
|
|
93
|
+
resources: createPanel(screen, layout.resources, 'RESOURCES'),
|
|
94
|
+
assets: createPanel(screen, layout.assets, 'ASSETS'),
|
|
95
|
+
operations: createPanel(screen, layout.operations, 'OPERATIONS'),
|
|
96
|
+
network: createPanel(screen, layout.network, 'NETWORK'),
|
|
97
|
+
capabilities: createPanel(screen, layout.capabilities, 'CAPABILITIES'),
|
|
98
|
+
statusStrip: createStatusStrip(screen, layout),
|
|
99
|
+
commandLine: createCommandLine(screen, layout),
|
|
100
|
+
};
|
|
101
|
+
// Append all widgets ONCE
|
|
102
|
+
screen.append(widgets.posture);
|
|
103
|
+
screen.append(widgets.resources);
|
|
104
|
+
screen.append(widgets.assets);
|
|
105
|
+
screen.append(widgets.operations);
|
|
106
|
+
screen.append(widgets.network);
|
|
107
|
+
screen.append(widgets.capabilities);
|
|
108
|
+
screen.append(widgets.statusStrip);
|
|
109
|
+
screen.append(widgets.commandLine);
|
|
110
|
+
// Store unbind functions
|
|
111
|
+
const unbindFns = [];
|
|
112
|
+
// Step 6: Error handlers
|
|
113
|
+
const uncaughtHandler = (error) => {
|
|
114
|
+
eventBus.emit({
|
|
115
|
+
tag: 'ERR',
|
|
116
|
+
msg: `Uncaught: ${error.message}`,
|
|
117
|
+
level: 'ERROR'
|
|
118
|
+
});
|
|
119
|
+
};
|
|
120
|
+
const unhandledHandler = (reason) => {
|
|
121
|
+
eventBus.emit({
|
|
122
|
+
tag: 'ERR',
|
|
123
|
+
msg: `Unhandled rejection: ${reason}`,
|
|
124
|
+
level: 'ERROR'
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
process.on('uncaughtException', uncaughtHandler);
|
|
128
|
+
process.on('unhandledRejection', unhandledHandler);
|
|
129
|
+
unbindFns.push(() => {
|
|
130
|
+
process.removeListener('uncaughtException', uncaughtHandler);
|
|
131
|
+
process.removeListener('unhandledRejection', unhandledHandler);
|
|
132
|
+
});
|
|
133
|
+
// Setup input handling
|
|
134
|
+
setupInputHandling(screen, widgets.commandLine, unbindFns);
|
|
135
|
+
// Step 2 & 3: Setup resize handling (layout update only)
|
|
136
|
+
setupResizeHandling(screen, widgets, unbindFns);
|
|
137
|
+
// Setup signal handlers
|
|
138
|
+
const sigintHandler = () => cleanExit(0);
|
|
139
|
+
const sigtermHandler = () => cleanExit(0);
|
|
140
|
+
process.on('SIGINT', sigintHandler);
|
|
141
|
+
process.on('SIGTERM', sigtermHandler);
|
|
142
|
+
unbindFns.push(() => {
|
|
143
|
+
process.removeListener('SIGINT', sigintHandler);
|
|
144
|
+
process.removeListener('SIGTERM', sigtermHandler);
|
|
145
|
+
});
|
|
146
|
+
// Store runtime
|
|
147
|
+
const runtime = {
|
|
148
|
+
screen,
|
|
149
|
+
widgets,
|
|
150
|
+
isMounted: true,
|
|
151
|
+
unbindFns,
|
|
152
|
+
};
|
|
153
|
+
setUIRuntime(runtime);
|
|
154
|
+
// Subscribe to eventBus for Operations panel
|
|
155
|
+
eventBus.subscribe((event) => {
|
|
156
|
+
feedStore.push(event);
|
|
157
|
+
updateOperationsPanel(widgets.operations);
|
|
158
|
+
screen.render();
|
|
159
|
+
});
|
|
160
|
+
// Initial content update
|
|
161
|
+
updateAllPanels(widgets);
|
|
162
|
+
// Initial render
|
|
163
|
+
lastResizeWidth = width;
|
|
164
|
+
lastResizeHeight = height;
|
|
165
|
+
screen.render();
|
|
166
|
+
// Disable boot phase (enable strict stdout blocking)
|
|
167
|
+
disableBootPhase();
|
|
168
|
+
// Start background state updates
|
|
169
|
+
startBackgroundUpdates(widgets, screen);
|
|
170
|
+
// Log boot
|
|
171
|
+
eventBus.emit({
|
|
172
|
+
tag: 'SYS',
|
|
173
|
+
msg: 'TUI initialized',
|
|
174
|
+
level: 'INFO'
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Step 2: Resize handler - UPDATE LAYOUT ONLY
|
|
179
|
+
*/
|
|
180
|
+
function setupResizeHandling(screen, widgets, unbindFns) {
|
|
181
|
+
const resizeHandler = () => {
|
|
182
|
+
const newWidth = screen.width;
|
|
183
|
+
const newHeight = screen.height;
|
|
184
|
+
// Step 3: Ignore no-op resizes
|
|
185
|
+
if (newWidth === lastResizeWidth && newHeight === lastResizeHeight) {
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
// Step 3: Debounce
|
|
189
|
+
if (resizeDebounceTimer) {
|
|
190
|
+
clearTimeout(resizeDebounceTimer);
|
|
191
|
+
}
|
|
192
|
+
resizeDebounceTimer = setTimeout(() => {
|
|
193
|
+
resizeDebounceTimer = null;
|
|
194
|
+
// Double-check dimensions
|
|
195
|
+
const currentWidth = screen.width;
|
|
196
|
+
const currentHeight = screen.height;
|
|
197
|
+
if (currentWidth === lastResizeWidth && currentHeight === lastResizeHeight) {
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
lastResizeWidth = currentWidth;
|
|
201
|
+
lastResizeHeight = currentHeight;
|
|
202
|
+
// Recompute layout
|
|
203
|
+
const newLayoutResult = computePhase1Layout(currentWidth, currentHeight);
|
|
204
|
+
if (!newLayoutResult.ok || !newLayoutResult.layout) {
|
|
205
|
+
eventBus.emit({
|
|
206
|
+
tag: 'SYS',
|
|
207
|
+
msg: `Terminal too small: ${currentWidth}x${currentHeight} (need ${MIN_WIDTH}x${MIN_HEIGHT})`,
|
|
208
|
+
level: 'WARN'
|
|
209
|
+
});
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
const newLayout = newLayoutResult.layout;
|
|
213
|
+
// Step 2: Update widget positions/sizes ONLY (no recreate, no re-append)
|
|
214
|
+
updateWidgetLayout(widgets.posture, newLayout.posture);
|
|
215
|
+
updateWidgetLayout(widgets.resources, newLayout.resources);
|
|
216
|
+
updateWidgetLayout(widgets.assets, newLayout.assets);
|
|
217
|
+
updateWidgetLayout(widgets.operations, newLayout.operations);
|
|
218
|
+
updateWidgetLayout(widgets.network, newLayout.network);
|
|
219
|
+
updateWidgetLayout(widgets.capabilities, newLayout.capabilities);
|
|
220
|
+
// Update status strip and command line
|
|
221
|
+
const statusWidth = Math.floor(newLayout.commandLine.width * 0.2);
|
|
222
|
+
updateWidgetLayout(widgets.statusStrip, {
|
|
223
|
+
top: newLayout.commandLine.top,
|
|
224
|
+
left: newLayout.commandLine.left,
|
|
225
|
+
width: statusWidth,
|
|
226
|
+
height: newLayout.commandLine.height,
|
|
227
|
+
});
|
|
228
|
+
updateWidgetLayout(widgets.commandLine, {
|
|
229
|
+
top: newLayout.commandLine.top,
|
|
230
|
+
left: newLayout.commandLine.left + statusWidth + 1,
|
|
231
|
+
width: newLayout.commandLine.width - statusWidth - 1,
|
|
232
|
+
height: newLayout.commandLine.height,
|
|
233
|
+
});
|
|
234
|
+
// Update all panel content (may need to reflow for new width)
|
|
235
|
+
updateAllPanels(widgets);
|
|
236
|
+
// Render
|
|
237
|
+
screen.render();
|
|
238
|
+
eventBus.emit({
|
|
239
|
+
tag: 'SYS',
|
|
240
|
+
msg: `Resized to ${currentWidth}x${currentHeight}`,
|
|
241
|
+
level: 'INFO'
|
|
242
|
+
});
|
|
243
|
+
}, RESIZE_DEBOUNCE_MS);
|
|
244
|
+
};
|
|
245
|
+
screen.on('resize', resizeHandler);
|
|
246
|
+
unbindFns.push(() => {
|
|
247
|
+
// Use off() method (EventEmitter API) instead of removeListener
|
|
248
|
+
screen.off('resize', resizeHandler);
|
|
249
|
+
if (resizeDebounceTimer) {
|
|
250
|
+
clearTimeout(resizeDebounceTimer);
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Update widget layout (geometry only)
|
|
256
|
+
*/
|
|
257
|
+
function updateWidgetLayout(widget, rect) {
|
|
258
|
+
widget.top = rect.top;
|
|
259
|
+
widget.left = rect.left;
|
|
260
|
+
widget.width = rect.width;
|
|
261
|
+
widget.height = rect.height;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Create a read-only panel
|
|
265
|
+
*/
|
|
266
|
+
function createPanel(screen, rect, title) {
|
|
267
|
+
const panel = blessedLib.box({
|
|
268
|
+
top: rect.top,
|
|
269
|
+
left: rect.left,
|
|
270
|
+
width: rect.width,
|
|
271
|
+
height: rect.height,
|
|
272
|
+
border: { type: 'line' },
|
|
273
|
+
tags: true,
|
|
274
|
+
content: '',
|
|
275
|
+
style: {
|
|
276
|
+
border: { fg: 'cyan' },
|
|
277
|
+
},
|
|
278
|
+
wrap: false,
|
|
279
|
+
scrollable: false,
|
|
280
|
+
clickable: false,
|
|
281
|
+
keys: false,
|
|
282
|
+
mouse: false,
|
|
283
|
+
input: false,
|
|
284
|
+
focusable: false,
|
|
285
|
+
});
|
|
286
|
+
panel.setLabel(` {cyan-fg}${title}{/}`);
|
|
287
|
+
return panel;
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Create status strip
|
|
291
|
+
*/
|
|
292
|
+
function createStatusStrip(screen, layout) {
|
|
293
|
+
const statusWidth = Math.floor(layout.commandLine.width * 0.2);
|
|
294
|
+
const strip = blessedLib.box({
|
|
295
|
+
top: layout.commandLine.top,
|
|
296
|
+
left: layout.commandLine.left,
|
|
297
|
+
width: statusWidth,
|
|
298
|
+
height: layout.commandLine.height,
|
|
299
|
+
border: { type: 'line' },
|
|
300
|
+
tags: true,
|
|
301
|
+
content: ' OFFLINE',
|
|
302
|
+
style: {
|
|
303
|
+
border: { fg: 'grey' },
|
|
304
|
+
fg: 'grey',
|
|
305
|
+
},
|
|
306
|
+
clickable: false,
|
|
307
|
+
keys: false,
|
|
308
|
+
mouse: false,
|
|
309
|
+
input: false,
|
|
310
|
+
focusable: false,
|
|
311
|
+
});
|
|
312
|
+
strip.setLabel(' {grey-fg}STATUS{/}');
|
|
313
|
+
return strip;
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Create command line
|
|
317
|
+
*/
|
|
318
|
+
function createCommandLine(screen, layout) {
|
|
319
|
+
const statusWidth = Math.floor(layout.commandLine.width * 0.2);
|
|
320
|
+
const cmdLine = blessedLib.box({
|
|
321
|
+
top: layout.commandLine.top,
|
|
322
|
+
left: layout.commandLine.left + statusWidth + 1,
|
|
323
|
+
width: layout.commandLine.width - statusWidth - 1,
|
|
324
|
+
height: layout.commandLine.height,
|
|
325
|
+
border: { type: 'line' },
|
|
326
|
+
tags: true,
|
|
327
|
+
content: PROMPT,
|
|
328
|
+
style: {
|
|
329
|
+
border: { fg: 'cyan' },
|
|
330
|
+
fg: 'white',
|
|
331
|
+
},
|
|
332
|
+
focusable: true,
|
|
333
|
+
keyable: true,
|
|
334
|
+
input: false,
|
|
335
|
+
keys: false,
|
|
336
|
+
});
|
|
337
|
+
cmdLine.setLabel(' {cyan-fg}COMMAND LINE{/}');
|
|
338
|
+
return cmdLine;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Setup input handling
|
|
342
|
+
*/
|
|
343
|
+
function setupInputHandling(screen, commandLine, unbindFns) {
|
|
344
|
+
const updateDisplay = () => {
|
|
345
|
+
const availableWidth = commandLine.width - 4;
|
|
346
|
+
const fullText = commandInputValue;
|
|
347
|
+
const cursorIndex = cursorPosition;
|
|
348
|
+
if (cursorIndex - scrollOffset >= availableWidth - 1) {
|
|
349
|
+
scrollOffset = cursorIndex - availableWidth + 2;
|
|
350
|
+
}
|
|
351
|
+
if (cursorIndex < scrollOffset) {
|
|
352
|
+
scrollOffset = Math.max(0, cursorIndex - 5);
|
|
353
|
+
}
|
|
354
|
+
const visibleStart = scrollOffset;
|
|
355
|
+
const visibleEnd = Math.min(fullText.length, visibleStart + availableWidth - 1);
|
|
356
|
+
let visibleText = fullText.substring(visibleStart, visibleEnd);
|
|
357
|
+
const cursorPosInVisible = cursorIndex - visibleStart;
|
|
358
|
+
const beforeCursor = visibleText.substring(0, cursorPosInVisible);
|
|
359
|
+
const afterCursor = visibleText.substring(cursorPosInVisible);
|
|
360
|
+
const displayValue = beforeCursor + '{inverse} {/}' + afterCursor;
|
|
361
|
+
commandLine.setContent(displayValue);
|
|
362
|
+
screen.render();
|
|
363
|
+
};
|
|
364
|
+
const handleSubmit = async (value) => {
|
|
365
|
+
const commandPart = value.startsWith(PROMPT) ? value.slice(PROMPT.length).trim() : value.trim();
|
|
366
|
+
if (!commandPart) {
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
// Add to history
|
|
370
|
+
commandHistory.push(commandPart);
|
|
371
|
+
if (commandHistory.length > 100) {
|
|
372
|
+
commandHistory.shift();
|
|
373
|
+
}
|
|
374
|
+
historyIndex = -1;
|
|
375
|
+
// Clear input
|
|
376
|
+
commandInputValue = PROMPT;
|
|
377
|
+
cursorPosition = PROMPT.length;
|
|
378
|
+
scrollOffset = 0;
|
|
379
|
+
updateDisplay();
|
|
380
|
+
// Emit command event
|
|
381
|
+
eventBus.emit({
|
|
382
|
+
tag: 'CMD',
|
|
383
|
+
msg: commandPart,
|
|
384
|
+
level: 'INFO'
|
|
385
|
+
});
|
|
386
|
+
// Execute command
|
|
387
|
+
const parsed = parse(commandPart);
|
|
388
|
+
if (!parsed.name)
|
|
389
|
+
return;
|
|
390
|
+
const ctx = {};
|
|
391
|
+
try {
|
|
392
|
+
const result = await execute(parsed, ctx);
|
|
393
|
+
// Emit result events
|
|
394
|
+
for (const event of result.events) {
|
|
395
|
+
eventBus.emit(event);
|
|
396
|
+
}
|
|
397
|
+
// Handle UI state update
|
|
398
|
+
if (result.uiStateUpdate) {
|
|
399
|
+
currentUiState = result.uiStateUpdate(currentUiState);
|
|
400
|
+
const runtime = getUIRuntime();
|
|
401
|
+
updateAllPanels(runtime.widgets);
|
|
402
|
+
runtime.screen.render();
|
|
403
|
+
}
|
|
404
|
+
// Handle actions
|
|
405
|
+
if (result.action === UiAction.EXIT) {
|
|
406
|
+
cleanExit(0);
|
|
407
|
+
}
|
|
408
|
+
else if (result.action === UiAction.CLEAR_FEED) {
|
|
409
|
+
feedStore.clear();
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
catch (error) {
|
|
413
|
+
eventBus.emit({
|
|
414
|
+
tag: 'ERR',
|
|
415
|
+
msg: `Command error: ${error.message}`,
|
|
416
|
+
level: 'ERROR'
|
|
417
|
+
});
|
|
418
|
+
}
|
|
419
|
+
};
|
|
420
|
+
const stdinListener = (data) => {
|
|
421
|
+
const input = data.toString();
|
|
422
|
+
if (input === '\x03') { // Ctrl+C
|
|
423
|
+
cleanExit(0);
|
|
424
|
+
return;
|
|
425
|
+
}
|
|
426
|
+
if (input === '\r' || input === '\n') { // Enter
|
|
427
|
+
const cmd = commandInputValue.startsWith(PROMPT)
|
|
428
|
+
? commandInputValue.slice(PROMPT.length).trim()
|
|
429
|
+
: commandInputValue.trim();
|
|
430
|
+
if (cmd) {
|
|
431
|
+
handleSubmit(commandInputValue).catch(err => {
|
|
432
|
+
eventBus.emit({
|
|
433
|
+
tag: 'ERR',
|
|
434
|
+
msg: `Handler error: ${err.message}`,
|
|
435
|
+
level: 'ERROR'
|
|
436
|
+
});
|
|
437
|
+
});
|
|
438
|
+
}
|
|
439
|
+
else {
|
|
440
|
+
commandInputValue = PROMPT;
|
|
441
|
+
cursorPosition = PROMPT.length;
|
|
442
|
+
updateDisplay();
|
|
443
|
+
}
|
|
444
|
+
return;
|
|
445
|
+
}
|
|
446
|
+
if (input === '\x7f' || input === '\x08') { // Backspace
|
|
447
|
+
if (cursorPosition > PROMPT.length) {
|
|
448
|
+
commandInputValue = commandInputValue.substring(0, cursorPosition - 1) + commandInputValue.substring(cursorPosition);
|
|
449
|
+
cursorPosition--;
|
|
450
|
+
updateDisplay();
|
|
451
|
+
}
|
|
452
|
+
return;
|
|
453
|
+
}
|
|
454
|
+
if (input === '\x1b[D') { // Left arrow
|
|
455
|
+
if (cursorPosition > PROMPT.length) {
|
|
456
|
+
cursorPosition--;
|
|
457
|
+
updateDisplay();
|
|
458
|
+
}
|
|
459
|
+
return;
|
|
460
|
+
}
|
|
461
|
+
if (input === '\x1b[C') { // Right arrow
|
|
462
|
+
if (cursorPosition < commandInputValue.length) {
|
|
463
|
+
cursorPosition++;
|
|
464
|
+
updateDisplay();
|
|
465
|
+
}
|
|
466
|
+
return;
|
|
467
|
+
}
|
|
468
|
+
// Printable characters
|
|
469
|
+
if (input.length === 1 && input >= ' ' && input <= '~') {
|
|
470
|
+
commandInputValue = commandInputValue.substring(0, cursorPosition) + input + commandInputValue.substring(cursorPosition);
|
|
471
|
+
cursorPosition++;
|
|
472
|
+
updateDisplay();
|
|
473
|
+
}
|
|
474
|
+
};
|
|
475
|
+
process.stdin.on('data', stdinListener);
|
|
476
|
+
unbindFns.push(() => {
|
|
477
|
+
process.stdin.removeListener('data', stdinListener);
|
|
478
|
+
});
|
|
479
|
+
// Focus command line
|
|
480
|
+
commandLine.focus();
|
|
481
|
+
screen.focused = commandLine;
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* Update all panel content
|
|
485
|
+
*/
|
|
486
|
+
function updateAllPanels(widgets) {
|
|
487
|
+
updatePanel(widgets.posture, renderPosturePanel(currentUiState.posture));
|
|
488
|
+
updatePanel(widgets.resources, renderResourcesPanel(currentUiState.resources));
|
|
489
|
+
updatePanel(widgets.assets, renderAssetsPanel(currentUiState.assets));
|
|
490
|
+
updateOperationsPanel(widgets.operations);
|
|
491
|
+
updatePanel(widgets.network, renderNetworkPanel(currentUiState.network));
|
|
492
|
+
updatePanel(widgets.capabilities, renderCapabilitiesPanel(currentUiState.capabilities));
|
|
493
|
+
// Update status strip
|
|
494
|
+
const statusValue = currentUiState.statusStrip;
|
|
495
|
+
if (isAvailable(statusValue)) {
|
|
496
|
+
const data = statusValue.value;
|
|
497
|
+
widgets.statusStrip.setContent(` ${data.left} | ${data.right} `);
|
|
498
|
+
}
|
|
499
|
+
else {
|
|
500
|
+
widgets.statusStrip.setContent(' OFFLINE');
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
/**
|
|
504
|
+
* Update a panel with content lines
|
|
505
|
+
*/
|
|
506
|
+
function updatePanel(panel, lines) {
|
|
507
|
+
const panelWidth = panel.width;
|
|
508
|
+
const panelHeight = panel.height;
|
|
509
|
+
const innerWidth = Math.max(1, panelWidth - 4);
|
|
510
|
+
const innerHeight = Math.max(1, panelHeight - 2);
|
|
511
|
+
const truncatedLines = lines.slice(0, innerHeight).map(line => {
|
|
512
|
+
if (line.length > innerWidth) {
|
|
513
|
+
return line.substring(0, innerWidth - 3) + '...';
|
|
514
|
+
}
|
|
515
|
+
return line;
|
|
516
|
+
});
|
|
517
|
+
const content = '\n ' + truncatedLines.join('\n ');
|
|
518
|
+
panel.setContent(content);
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
* Update operations panel
|
|
522
|
+
*/
|
|
523
|
+
function updateOperationsPanel(panel) {
|
|
524
|
+
const panelHeight = panel.height;
|
|
525
|
+
const panelWidth = panel.width;
|
|
526
|
+
const innerHeight = Math.max(1, panelHeight - 2);
|
|
527
|
+
const innerWidth = Math.max(1, panelWidth - 2);
|
|
528
|
+
const events = feedStore.getLatest(innerHeight);
|
|
529
|
+
const lines = [];
|
|
530
|
+
if (events.length === 0) {
|
|
531
|
+
lines.push('No operations yet');
|
|
532
|
+
}
|
|
533
|
+
else {
|
|
534
|
+
for (const event of events.slice(-innerHeight)) {
|
|
535
|
+
const time = new Date(event.ts).toLocaleTimeString();
|
|
536
|
+
const line = `${time} [${event.tag}] ${event.msg}`;
|
|
537
|
+
if (line.length > innerWidth) {
|
|
538
|
+
lines.push(line.substring(0, innerWidth - 3) + '...');
|
|
539
|
+
}
|
|
540
|
+
else {
|
|
541
|
+
lines.push(line);
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
const content = '\n ' + lines.join('\n ');
|
|
546
|
+
panel.setContent(content);
|
|
547
|
+
}
|
|
548
|
+
/**
|
|
549
|
+
* Start background state updates
|
|
550
|
+
*/
|
|
551
|
+
function startBackgroundUpdates(widgets, screen) {
|
|
552
|
+
const interval = setInterval(async () => {
|
|
553
|
+
try {
|
|
554
|
+
const newState = await buildUiState(currentUiState);
|
|
555
|
+
currentUiState = newState;
|
|
556
|
+
updateAllPanels(widgets);
|
|
557
|
+
screen.render();
|
|
558
|
+
}
|
|
559
|
+
catch (error) {
|
|
560
|
+
// Ignore errors
|
|
561
|
+
}
|
|
562
|
+
}, 1500);
|
|
563
|
+
const runtime = getUIRuntime();
|
|
564
|
+
runtime.unbindFns.push(() => clearInterval(interval));
|
|
565
|
+
}
|
|
566
|
+
/**
|
|
567
|
+
* Step 4: Clean exit
|
|
568
|
+
*/
|
|
569
|
+
function cleanExit(code) {
|
|
570
|
+
destroyUIRuntime();
|
|
571
|
+
// Restore terminal
|
|
572
|
+
if (process.stdout.isTTY) {
|
|
573
|
+
process.stdout.write('\x1b[?25h'); // Show cursor
|
|
574
|
+
process.stdout.write('\x1b[?1049l'); // Exit alternate screen
|
|
575
|
+
}
|
|
576
|
+
process.exit(code);
|
|
577
|
+
}
|
|
578
|
+
//# sourceMappingURL=phase1RuntimeClean.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase1RuntimeClean.js","sourceRoot":"","sources":["../../../../src/ui/v3/ui/phase1RuntimeClean.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI Runtime Singleton
|
|
3
|
+
*
|
|
4
|
+
* Single instance guard and lifecycle management for the TUI.
|
|
5
|
+
* Ensures only one UI instance exists and handles clean shutdown.
|
|
6
|
+
*/
|
|
7
|
+
import type { Widgets } from 'neo-blessed';
|
|
8
|
+
export interface UIWidgets {
|
|
9
|
+
posture: Widgets.Box;
|
|
10
|
+
resources: Widgets.Box;
|
|
11
|
+
assets: Widgets.Box;
|
|
12
|
+
operations: Widgets.Box;
|
|
13
|
+
network: Widgets.Box;
|
|
14
|
+
capabilities: Widgets.Box;
|
|
15
|
+
statusStrip: Widgets.Box;
|
|
16
|
+
commandLine: Widgets.Box;
|
|
17
|
+
}
|
|
18
|
+
export interface UIRuntime {
|
|
19
|
+
screen: Widgets.Screen;
|
|
20
|
+
widgets: UIWidgets;
|
|
21
|
+
isMounted: boolean;
|
|
22
|
+
unbindFns: Array<() => void>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Check if UI is already mounted
|
|
26
|
+
*/
|
|
27
|
+
export declare function isUIMounted(): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Get the current UI runtime (throws if not mounted)
|
|
30
|
+
*/
|
|
31
|
+
export declare function getUIRuntime(): UIRuntime;
|
|
32
|
+
/**
|
|
33
|
+
* Set the UI runtime (only allowed once)
|
|
34
|
+
*/
|
|
35
|
+
export declare function setUIRuntime(runtime: UIRuntime): void;
|
|
36
|
+
/**
|
|
37
|
+
* Destroy the UI runtime and reset singleton
|
|
38
|
+
*/
|
|
39
|
+
export declare function destroyUIRuntime(): void;
|
|
40
|
+
//# sourceMappingURL=uiRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uiRuntime.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/ui/uiRuntime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;IACvB,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;CAC9B;AAKD;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAKxC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI,CAKrD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAuBvC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI Runtime Singleton
|
|
3
|
+
*
|
|
4
|
+
* Single instance guard and lifecycle management for the TUI.
|
|
5
|
+
* Ensures only one UI instance exists and handles clean shutdown.
|
|
6
|
+
*/
|
|
7
|
+
// Global singleton guard
|
|
8
|
+
let uiRuntime = null;
|
|
9
|
+
/**
|
|
10
|
+
* Check if UI is already mounted
|
|
11
|
+
*/
|
|
12
|
+
export function isUIMounted() {
|
|
13
|
+
return uiRuntime !== null && uiRuntime.isMounted;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get the current UI runtime (throws if not mounted)
|
|
17
|
+
*/
|
|
18
|
+
export function getUIRuntime() {
|
|
19
|
+
if (!uiRuntime || !uiRuntime.isMounted) {
|
|
20
|
+
throw new Error('UI not mounted');
|
|
21
|
+
}
|
|
22
|
+
return uiRuntime;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Set the UI runtime (only allowed once)
|
|
26
|
+
*/
|
|
27
|
+
export function setUIRuntime(runtime) {
|
|
28
|
+
if (uiRuntime !== null) {
|
|
29
|
+
throw new Error('UI already mounted - cannot mount twice');
|
|
30
|
+
}
|
|
31
|
+
uiRuntime = runtime;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Destroy the UI runtime and reset singleton
|
|
35
|
+
*/
|
|
36
|
+
export function destroyUIRuntime() {
|
|
37
|
+
if (!uiRuntime)
|
|
38
|
+
return;
|
|
39
|
+
// Call all unbind functions
|
|
40
|
+
for (const unbind of uiRuntime.unbindFns) {
|
|
41
|
+
try {
|
|
42
|
+
unbind();
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
// Ignore errors during cleanup
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// Destroy screen
|
|
49
|
+
try {
|
|
50
|
+
if (uiRuntime.screen) {
|
|
51
|
+
uiRuntime.screen.destroy();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
// Ignore errors
|
|
56
|
+
}
|
|
57
|
+
// Reset singleton
|
|
58
|
+
uiRuntime = null;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=uiRuntime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uiRuntime.js","sourceRoot":"","sources":["../../../../src/ui/v3/ui/uiRuntime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsBH,yBAAyB;AACzB,IAAI,SAAS,GAAqB,IAAI,CAAC;AAEvC;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,SAAS,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAkB;IAC7C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,SAAS,GAAG,OAAO,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC,SAAS;QAAE,OAAO;IAEvB,4BAA4B;IAC5B,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC;QACX,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,+BAA+B;QACjC,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,IAAI,CAAC;QACH,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,gBAAgB;IAClB,CAAC;IAED,kBAAkB;IAClB,SAAS,GAAG,IAAI,CAAC;AACnB,CAAC"}
|