4runr-os 2.1.5 → 2.1.6
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../src/tui_mk2/kernel.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../src/tui_mk2/kernel.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AA6CpD,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAA+B;IAE7C;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI;IAIlC;;OAEG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwE7E;;OAEG;IACH,IAAI,IAAI,IAAI;CAWb"}
|
package/dist/tui_mk2/kernel.js
CHANGED
|
@@ -7,6 +7,44 @@
|
|
|
7
7
|
* - No command logic, no adapters, no AI features
|
|
8
8
|
*/
|
|
9
9
|
import blessed from 'neo-blessed';
|
|
10
|
+
// Simple stdout guard for MK2 - prevent console.log from corrupting TUI
|
|
11
|
+
let stdoutGuardActive = false;
|
|
12
|
+
const originalStdoutWrite = process.stdout.write.bind(process.stdout);
|
|
13
|
+
const originalStderrWrite = process.stderr.write.bind(process.stderr);
|
|
14
|
+
function enableStdoutGuard() {
|
|
15
|
+
if (stdoutGuardActive)
|
|
16
|
+
return;
|
|
17
|
+
stdoutGuardActive = true;
|
|
18
|
+
// Block console.log/stdout writes (but allow blessed's internal writes)
|
|
19
|
+
process.stdout.write = function (chunk, encoding, cb) {
|
|
20
|
+
// CRITICAL: Allow blessed's output through (it needs to write escape sequences)
|
|
21
|
+
// Check if this is from blessed by looking at the stack trace
|
|
22
|
+
const stack = new Error().stack || '';
|
|
23
|
+
if (stack.includes('blessed') || stack.includes('neo-blessed') || stack.includes('program.js')) {
|
|
24
|
+
// This is from blessed - allow it through
|
|
25
|
+
return originalStdoutWrite(chunk, encoding, cb);
|
|
26
|
+
}
|
|
27
|
+
// Also allow escape sequences (blessed output)
|
|
28
|
+
if (typeof chunk === 'string' && (chunk.includes('\x1b[') || chunk.includes('\u001b['))) {
|
|
29
|
+
return originalStdoutWrite(chunk, encoding, cb);
|
|
30
|
+
}
|
|
31
|
+
// Block everything else (console.log, etc.)
|
|
32
|
+
if (cb) {
|
|
33
|
+
cb();
|
|
34
|
+
}
|
|
35
|
+
return true;
|
|
36
|
+
};
|
|
37
|
+
process.stderr.write = function (chunk, encoding, cb) {
|
|
38
|
+
// Block stderr writes (but allow if explicitly allowed)
|
|
39
|
+
if (process.env.TUI_ALLOW_STDOUT === '1') {
|
|
40
|
+
return originalStderrWrite(chunk, encoding, cb);
|
|
41
|
+
}
|
|
42
|
+
if (cb) {
|
|
43
|
+
cb();
|
|
44
|
+
}
|
|
45
|
+
return true;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
10
48
|
export class MK2Kernel {
|
|
11
49
|
screen = null;
|
|
12
50
|
/**
|
|
@@ -29,6 +67,8 @@ export class MK2Kernel {
|
|
|
29
67
|
}
|
|
30
68
|
globalThis.__MK2_SCREEN__ = undefined;
|
|
31
69
|
}
|
|
70
|
+
// Enable stdout guard BEFORE creating screen
|
|
71
|
+
enableStdoutGuard();
|
|
32
72
|
// Ensure stdin is a TTY
|
|
33
73
|
if (!process.stdin.isTTY) {
|
|
34
74
|
throw new Error('stdin is not a TTY. Cannot start TUI.');
|
|
@@ -52,20 +92,32 @@ export class MK2Kernel {
|
|
|
52
92
|
});
|
|
53
93
|
// Store globally for singleton enforcement
|
|
54
94
|
globalThis.__MK2_SCREEN__ = this.screen;
|
|
95
|
+
// Clear screen and prepare for rendering
|
|
96
|
+
if (this.screen.program) {
|
|
97
|
+
this.screen.program.clear();
|
|
98
|
+
this.screen.program.hideCursor();
|
|
99
|
+
}
|
|
55
100
|
// Set up resize handler
|
|
56
101
|
this.screen.on('resize', () => {
|
|
57
102
|
const cols = this.screen?.width || 0;
|
|
58
103
|
const rows = this.screen?.height || 0;
|
|
59
104
|
if (options.onRebuild) {
|
|
60
105
|
Promise.resolve(options.onRebuild(cols, rows)).catch((err) => {
|
|
61
|
-
|
|
106
|
+
// Log to stderr (will be blocked by guard, but try anyway)
|
|
107
|
+
try {
|
|
108
|
+
originalStderrWrite(`[MK2] Resize handler error: ${err}\n`);
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
// Ignore
|
|
112
|
+
}
|
|
62
113
|
});
|
|
63
114
|
}
|
|
64
115
|
});
|
|
65
116
|
// Initial render
|
|
66
117
|
renderFn();
|
|
67
|
-
//
|
|
68
|
-
this.screen.
|
|
118
|
+
// Render screen
|
|
119
|
+
this.screen.render();
|
|
120
|
+
// Screen is ready
|
|
69
121
|
}
|
|
70
122
|
/**
|
|
71
123
|
* Stop kernel - cleanup
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../src/tui_mk2/kernel.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,OAAyB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../src/tui_mk2/kernel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mk2App.d.ts","sourceRoot":"","sources":["../../src/tui_mk2/mk2App.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAY;;IAM1B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B;;OAEG;IACH,OAAO,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"mk2App.d.ts","sourceRoot":"","sources":["../../src/tui_mk2/mk2App.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAY;;IAM1B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B;;OAEG;IACH,OAAO,CAAC,MAAM;IAsEd;;OAEG;YACW,YAAY;IAK1B;;OAEG;IACH,IAAI,IAAI,IAAI;CAGb;AAED;;GAEG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAuB9C"}
|
package/dist/tui_mk2/mk2App.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* - No scrollbars
|
|
8
8
|
*/
|
|
9
9
|
import { MK2Kernel } from './kernel.js';
|
|
10
|
+
import blessed from 'neo-blessed';
|
|
10
11
|
export class MK2App {
|
|
11
12
|
kernel;
|
|
12
13
|
constructor() {
|
|
@@ -34,22 +35,63 @@ export class MK2App {
|
|
|
34
35
|
if (!screen) {
|
|
35
36
|
return;
|
|
36
37
|
}
|
|
37
|
-
//
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
// Clear any existing children
|
|
39
|
+
const children = screen.children || [];
|
|
40
|
+
children.forEach((child) => {
|
|
41
|
+
try {
|
|
42
|
+
child.detach();
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
// Ignore
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
// Create a simple placeholder box with watermark
|
|
49
|
+
const cols = screen.width || 80;
|
|
50
|
+
const rows = screen.height || 24;
|
|
51
|
+
// Watermark text - centered and visible
|
|
52
|
+
const watermark = 'MK2 - Phase 1 Frame Lock';
|
|
53
|
+
const watermarkLine = '═'.repeat(Math.min(watermark.length + 4, cols - 4));
|
|
54
|
+
const centeredWatermark = watermark.padStart(Math.floor((cols + watermark.length) / 2), ' ').substring(0, cols);
|
|
55
|
+
const content = [
|
|
56
|
+
'',
|
|
57
|
+
centeredWatermark,
|
|
58
|
+
watermarkLine.substring(0, cols),
|
|
59
|
+
'',
|
|
60
|
+
'Placeholder boxes will be rendered here',
|
|
61
|
+
'',
|
|
62
|
+
'Press Ctrl+C to exit',
|
|
63
|
+
'',
|
|
64
|
+
`Terminal: ${cols}x${rows}`,
|
|
65
|
+
].join('\n');
|
|
66
|
+
const placeholder = blessed.box({
|
|
40
67
|
top: 0,
|
|
41
68
|
left: 0,
|
|
42
69
|
width: '100%',
|
|
43
70
|
height: '100%',
|
|
44
|
-
content:
|
|
71
|
+
content: content,
|
|
45
72
|
style: {
|
|
46
73
|
fg: 'cyan',
|
|
74
|
+
bg: 'black',
|
|
47
75
|
},
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
76
|
+
tags: true,
|
|
77
|
+
});
|
|
78
|
+
// Add a visible watermark box in top-right corner
|
|
79
|
+
const watermarkBox = blessed.box({
|
|
80
|
+
top: 0,
|
|
81
|
+
right: 0,
|
|
82
|
+
width: watermark.length + 4,
|
|
83
|
+
height: 3,
|
|
84
|
+
content: `┌${'─'.repeat(watermark.length + 2)}┐\n│ ${watermark} │\n└${'─'.repeat(watermark.length + 2)}┘`,
|
|
85
|
+
style: {
|
|
86
|
+
fg: 'yellow',
|
|
87
|
+
bg: 'black',
|
|
88
|
+
bold: true,
|
|
89
|
+
},
|
|
90
|
+
tags: true,
|
|
91
|
+
});
|
|
92
|
+
screen.append(placeholder);
|
|
93
|
+
screen.append(watermarkBox);
|
|
94
|
+
// Don't call screen.render() here - kernel handles it
|
|
53
95
|
}
|
|
54
96
|
/**
|
|
55
97
|
* Handle resize (Step 7)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mk2App.js","sourceRoot":"","sources":["../../src/tui_mk2/mk2App.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"mk2App.js","sourceRoot":"","sources":["../../src/tui_mk2/mk2App.ts"],"names":[],"mappings":"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"}
|