4runr-os 1.0.83 → 1.0.85
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/section1/index.d.ts.map +1 -1
- package/dist/ui/v3/section1/index.js +84 -7
- package/dist/ui/v3/section1/index.js.map +1 -1
- package/dist/ui/v3/section1/runtime/commandLine.d.ts +1 -1
- package/dist/ui/v3/section1/runtime/commandLine.d.ts.map +1 -1
- package/dist/ui/v3/section1/runtime/commandLine.js +13 -8
- package/dist/ui/v3/section1/runtime/commandLine.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/section1/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAsGH;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/section1/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAsGH;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAiOnD"}
|
|
@@ -16,7 +16,7 @@ import blessed from 'neo-blessed';
|
|
|
16
16
|
import { createScreen } from '../section0/runtime/createScreen.js';
|
|
17
17
|
import { initializeLifecycle } from '../section0/runtime/lifecycle.js';
|
|
18
18
|
import { computePhase1Layout } from '../ui/layout/phase1Layout.js';
|
|
19
|
-
import { createCommandLineWidgets, focusCommandInput, attachCommandLineHandlers, updateStatusStrip } from './runtime/commandLine.js';
|
|
19
|
+
import { createCommandLineWidgets, focusCommandInput, attachCommandLineHandlers, updateStatusStrip, resetCommandLineHandlers } from './runtime/commandLine.js';
|
|
20
20
|
import { lockAllPanelsFocus, overrideTabNavigation } from './runtime/focusLock.js';
|
|
21
21
|
const blessedLib = blessed;
|
|
22
22
|
let screen = null;
|
|
@@ -178,20 +178,97 @@ export async function startSection1() {
|
|
|
178
178
|
commandLineWidgets.inputTextbox.width = inputWidth;
|
|
179
179
|
commandLineWidgets.statusStrip.top = commandLineRect.top;
|
|
180
180
|
commandLineWidgets.statusStrip.left = commandLineRect.left + promptWidth + gap + inputWidth + gap;
|
|
181
|
-
// CRITICAL:
|
|
181
|
+
// CRITICAL: Re-attach handlers after resize (blessed might lose them)
|
|
182
|
+
// Reset the guard to allow re-attachment
|
|
183
|
+
resetCommandLineHandlers();
|
|
184
|
+
attachCommandLineHandlers(screen, commandLineWidgets, handleCommandSubmit);
|
|
185
|
+
// CRITICAL: Ensure textbox properties are still set after resize
|
|
186
|
+
// Blessed might reset these
|
|
187
|
+
commandLineWidgets.inputTextbox.inputOnFocus = true;
|
|
188
|
+
commandLineWidgets.inputTextbox.keys = true;
|
|
189
|
+
commandLineWidgets.inputTextbox.focusable = true;
|
|
190
|
+
commandLineWidgets.inputTextbox.keyable = true;
|
|
191
|
+
// CRITICAL: Refocus textbox after resize
|
|
182
192
|
setImmediate(() => {
|
|
183
193
|
if (commandLineWidgets) {
|
|
184
194
|
focusCommandInput(commandLineWidgets, 'resize');
|
|
195
|
+
// Force focus one more time after a short delay
|
|
196
|
+
setTimeout(() => {
|
|
197
|
+
if (commandLineWidgets) {
|
|
198
|
+
try {
|
|
199
|
+
commandLineWidgets.inputTextbox.focus();
|
|
200
|
+
}
|
|
201
|
+
catch (e) {
|
|
202
|
+
// Ignore
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}, 100);
|
|
185
206
|
}
|
|
186
207
|
});
|
|
187
208
|
screen.render();
|
|
188
209
|
});
|
|
189
|
-
// Add screen-level Ctrl+C handler
|
|
190
|
-
//
|
|
210
|
+
// Add screen-level Ctrl+C handler (CRITICAL: Must work always)
|
|
211
|
+
// Blessed uses 'C-c' for Ctrl+C
|
|
191
212
|
screen.key(['C-c'], () => {
|
|
192
|
-
//
|
|
193
|
-
|
|
194
|
-
|
|
213
|
+
// Direct shutdown - don't rely on process handlers
|
|
214
|
+
if (screen) {
|
|
215
|
+
try {
|
|
216
|
+
// Show cursor
|
|
217
|
+
if (screen.program && screen.program.showCursor) {
|
|
218
|
+
screen.program.showCursor();
|
|
219
|
+
}
|
|
220
|
+
else if (process.stdout.isTTY) {
|
|
221
|
+
process.stdout.write('\x1b[?25h');
|
|
222
|
+
}
|
|
223
|
+
screen.destroy();
|
|
224
|
+
}
|
|
225
|
+
catch (e) {
|
|
226
|
+
// Ignore
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
if (process.stdout.isTTY) {
|
|
230
|
+
process.stdout.write('\x1b[?25h');
|
|
231
|
+
process.stdout.write('\x1b[?1049l');
|
|
232
|
+
}
|
|
233
|
+
process.exit(0);
|
|
234
|
+
});
|
|
235
|
+
// Also handle Ctrl+C at process level (backup)
|
|
236
|
+
// This should already be handled by Section 0, but ensure it works
|
|
237
|
+
const ctrlCHandler = () => {
|
|
238
|
+
if (screen) {
|
|
239
|
+
try {
|
|
240
|
+
if (screen.program && screen.program.showCursor) {
|
|
241
|
+
screen.program.showCursor();
|
|
242
|
+
}
|
|
243
|
+
else if (process.stdout.isTTY) {
|
|
244
|
+
process.stdout.write('\x1b[?25h');
|
|
245
|
+
}
|
|
246
|
+
screen.destroy();
|
|
247
|
+
}
|
|
248
|
+
catch (e) {
|
|
249
|
+
// Ignore
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
if (process.stdout.isTTY) {
|
|
253
|
+
process.stdout.write('\x1b[?25h');
|
|
254
|
+
process.stdout.write('\x1b[?1049l');
|
|
255
|
+
}
|
|
256
|
+
process.exit(0);
|
|
257
|
+
};
|
|
258
|
+
process.on('SIGINT', ctrlCHandler);
|
|
259
|
+
process.on('SIGTERM', ctrlCHandler);
|
|
260
|
+
// Add screen-level Enter handler as backup (in case textbox handlers fail after resize)
|
|
261
|
+
screen.key(['enter'], () => {
|
|
262
|
+
// Only handle if textbox is focused
|
|
263
|
+
if (commandLineWidgets && screen?.focused === commandLineWidgets.inputTextbox) {
|
|
264
|
+
const value = commandLineWidgets.inputTextbox.value || '';
|
|
265
|
+
const trimmed = value.trim();
|
|
266
|
+
if (trimmed) {
|
|
267
|
+
handleCommandSubmit(trimmed);
|
|
268
|
+
commandLineWidgets.inputTextbox.clearValue();
|
|
269
|
+
focusCommandInput(commandLineWidgets, 'screen-enter');
|
|
270
|
+
}
|
|
271
|
+
}
|
|
195
272
|
});
|
|
196
273
|
// Initial focus (once on startup, after render)
|
|
197
274
|
// Use setImmediate to ensure focus happens after initial render
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/v3/section1/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAEH,OAAO,OAAO,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/v3/section1/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,7 +43,7 @@ export declare function attachCommandLineHandlers(screen: Widgets.Screen, widget
|
|
|
43
43
|
*/
|
|
44
44
|
export declare function updateStatusStrip(widgets: CommandLineWidgets, content: string): void;
|
|
45
45
|
/**
|
|
46
|
-
* Reset handler attachment guard (for testing)
|
|
46
|
+
* Reset handler attachment guard (for testing or re-attachment)
|
|
47
47
|
*/
|
|
48
48
|
export declare function resetCommandLineHandlers(): void;
|
|
49
49
|
//# sourceMappingURL=commandLine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandLine.d.ts","sourceRoot":"","sources":["../../../../../src/ui/v3/section1/runtime/commandLine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC;CAC1B;AASD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,kBAAkB,CAmEpB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,kBAAkB,EAC3B,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CASN;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACjC,QAAQ,CAAC,EAAE,MAAM,IAAI,GACpB,IAAI,
|
|
1
|
+
{"version":3,"file":"commandLine.d.ts","sourceRoot":"","sources":["../../../../../src/ui/v3/section1/runtime/commandLine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC;CAC1B;AASD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,kBAAkB,CAmEpB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,kBAAkB,EAC3B,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CASN;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACjC,QAAQ,CAAC,EAAE,MAAM,IAAI,GACpB,IAAI,CAiEN;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,MAAM,GACd,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
|
|
@@ -13,8 +13,8 @@ const blessedLib = blessed;
|
|
|
13
13
|
const PROMPT = '4runr> ';
|
|
14
14
|
const PROMPT_WIDTH = PROMPT.length;
|
|
15
15
|
const GAP = 1; // Gap between label and input
|
|
16
|
-
//
|
|
17
|
-
let
|
|
16
|
+
// Track which textbox has handlers attached (to allow re-attachment after resize)
|
|
17
|
+
let lastTextboxWithHandlers = null;
|
|
18
18
|
/**
|
|
19
19
|
* Create the three command line widgets
|
|
20
20
|
*
|
|
@@ -111,12 +111,17 @@ export function focusCommandInput(widgets, reason) {
|
|
|
111
111
|
* - Use screen keys only for global exit shortcuts (q, Ctrl+C)
|
|
112
112
|
*/
|
|
113
113
|
export function attachCommandLineHandlers(screen, widgets, onSubmit, onCancel) {
|
|
114
|
-
|
|
115
|
-
|
|
114
|
+
const { inputTextbox } = widgets;
|
|
115
|
+
// If handlers already attached to this textbox, skip
|
|
116
|
+
if (lastTextboxWithHandlers === inputTextbox) {
|
|
116
117
|
return;
|
|
117
118
|
}
|
|
118
|
-
|
|
119
|
-
|
|
119
|
+
// Remove old handlers if switching textboxes (shouldn't happen, but safety)
|
|
120
|
+
if (lastTextboxWithHandlers && lastTextboxWithHandlers !== inputTextbox) {
|
|
121
|
+
// Handlers are bound to the widget, so old widget will be destroyed
|
|
122
|
+
// No need to manually remove
|
|
123
|
+
}
|
|
124
|
+
lastTextboxWithHandlers = inputTextbox;
|
|
120
125
|
// Handle Enter key explicitly (blessed textbox needs this)
|
|
121
126
|
inputTextbox.key('enter', () => {
|
|
122
127
|
// Get value from textbox (blessed textbox uses .value property)
|
|
@@ -165,9 +170,9 @@ export function updateStatusStrip(widgets, content) {
|
|
|
165
170
|
widgets.statusStrip.setContent(content);
|
|
166
171
|
}
|
|
167
172
|
/**
|
|
168
|
-
* Reset handler attachment guard (for testing)
|
|
173
|
+
* Reset handler attachment guard (for testing or re-attachment)
|
|
169
174
|
*/
|
|
170
175
|
export function resetCommandLineHandlers() {
|
|
171
|
-
|
|
176
|
+
lastTextboxWithHandlers = null;
|
|
172
177
|
}
|
|
173
178
|
//# sourceMappingURL=commandLine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandLine.js","sourceRoot":"","sources":["../../../../../src/ui/v3/section1/runtime/commandLine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,OAAO,MAAM,aAAa,CAAC;AAGlC,MAAM,UAAU,GAAG,OAAc,CAAC;AAQlC,MAAM,MAAM,GAAG,SAAS,CAAC;AACzB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;AACnC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,8BAA8B;AAE7C,
|
|
1
|
+
{"version":3,"file":"commandLine.js","sourceRoot":"","sources":["../../../../../src/ui/v3/section1/runtime/commandLine.ts"],"names":[],"mappings":"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"}
|