4runr-os 1.0.92 → 1.0.94
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/commands/router.js +9 -9
- package/dist/ui/v3/commands/router.js.map +1 -1
- package/dist/ui/v3/core/eventBus.d.ts +16 -10
- package/dist/ui/v3/core/eventBus.d.ts.map +1 -1
- package/dist/ui/v3/core/eventBus.js +25 -30
- package/dist/ui/v3/core/eventBus.js.map +1 -1
- package/dist/ui/v3/core/feedStore.d.ts +34 -0
- package/dist/ui/v3/core/feedStore.d.ts.map +1 -0
- package/dist/ui/v3/core/feedStore.js +46 -0
- package/dist/ui/v3/core/feedStore.js.map +1 -0
- package/dist/ui/v3/core/logger.d.ts +24 -0
- package/dist/ui/v3/core/logger.d.ts.map +1 -0
- package/dist/ui/v3/core/logger.js +58 -0
- package/dist/ui/v3/core/logger.js.map +1 -0
- package/dist/ui/v3/core/opEvent.d.ts +13 -0
- package/dist/ui/v3/core/opEvent.d.ts.map +1 -0
- package/dist/ui/v3/core/opEvent.js +7 -0
- package/dist/ui/v3/core/opEvent.js.map +1 -0
- package/dist/ui/v3/ui/phase1Runtime.d.ts.map +1 -1
- package/dist/ui/v3/ui/phase1Runtime.js +159 -89
- package/dist/ui/v3/ui/phase1Runtime.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* All output goes through EventBus (not direct feed manipulation).
|
|
6
6
|
*/
|
|
7
7
|
import { eventBus } from '../core/eventBus.js';
|
|
8
|
-
import { feedStore } from '../
|
|
8
|
+
import { feedStore } from '../core/feedStore.js';
|
|
9
9
|
import { exitResult, noOpResult } from './commandResult.js';
|
|
10
10
|
import { getLastState } from '../state/uiStateBuilder.js';
|
|
11
11
|
import { isAvailable } from '../state/value.js';
|
|
@@ -36,7 +36,7 @@ export function routeCommand(cmd, args) {
|
|
|
36
36
|
* Emits event through EventBus
|
|
37
37
|
*/
|
|
38
38
|
function handleHelp() {
|
|
39
|
-
eventBus.emitTag('SYS', 'COMMANDS: help, clear, exit, home, status'
|
|
39
|
+
eventBus.emitTag('SYS', 'COMMANDS: help, clear, exit, home, status');
|
|
40
40
|
return noOpResult();
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
@@ -45,7 +45,7 @@ function handleHelp() {
|
|
|
45
45
|
*/
|
|
46
46
|
function handleClear() {
|
|
47
47
|
feedStore.clear();
|
|
48
|
-
eventBus.emitTag('SYS', 'FEED CLEARED'
|
|
48
|
+
eventBus.emitTag('SYS', 'FEED CLEARED');
|
|
49
49
|
return noOpResult();
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
@@ -60,7 +60,7 @@ function handleExit() {
|
|
|
60
60
|
*/
|
|
61
61
|
function handleHome() {
|
|
62
62
|
// S0.3: State machine - always return to HUB
|
|
63
|
-
eventBus.emitTag('SYS', 'HOME (HUB state)'
|
|
63
|
+
eventBus.emitTag('SYS', 'HOME (HUB state)');
|
|
64
64
|
return noOpResult();
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
@@ -70,16 +70,16 @@ function handleHome() {
|
|
|
70
70
|
function handleStatus() {
|
|
71
71
|
const state = getLastState();
|
|
72
72
|
// Emit status summary
|
|
73
|
-
eventBus.emitTag('SYS', '=== UI STATE SUMMARY ==='
|
|
73
|
+
eventBus.emitTag('SYS', '=== UI STATE SUMMARY ===');
|
|
74
74
|
// Resources status
|
|
75
75
|
if (isAvailable(state.resources)) {
|
|
76
76
|
const r = state.resources.data;
|
|
77
|
-
eventBus.emitTag('SYS', `RESOURCES: CPU ${r.cpuPercent.toFixed(1)}% | RAM ${r.ramUsedMB}/${r.ramTotalMB}MB | Disk ${r.diskUsedGB}/${r.diskTotalGB}GB
|
|
77
|
+
eventBus.emitTag('SYS', `RESOURCES: CPU ${r.cpuPercent.toFixed(1)}% | RAM ${r.ramUsedMB}/${r.ramTotalMB}MB | Disk ${r.diskUsedGB}/${r.diskTotalGB}GB`);
|
|
78
78
|
}
|
|
79
79
|
else {
|
|
80
|
-
eventBus.emitTag('SYS', `RESOURCES: ${state.resources.status} - ${state.resources.reason || 'Unknown'}
|
|
80
|
+
eventBus.emitTag('SYS', `RESOURCES: ${state.resources.status} - ${state.resources.reason || 'Unknown'}`);
|
|
81
81
|
}
|
|
82
|
-
eventBus.emitTag('SYS', '=== END STATE SUMMARY ==='
|
|
82
|
+
eventBus.emitTag('SYS', '=== END STATE SUMMARY ===');
|
|
83
83
|
return noOpResult();
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
@@ -87,7 +87,7 @@ function handleStatus() {
|
|
|
87
87
|
* Emits error event through EventBus
|
|
88
88
|
*/
|
|
89
89
|
function handleUnknown(cmd) {
|
|
90
|
-
eventBus.emitTag('ERR', `UNKNOWN COMMAND: ${cmd} (try: help)
|
|
90
|
+
eventBus.emitTag('ERR', `UNKNOWN COMMAND: ${cmd} (try: help)`);
|
|
91
91
|
return noOpResult();
|
|
92
92
|
}
|
|
93
93
|
//# sourceMappingURL=router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../src/ui/v3/commands/router.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../src/ui/v3/commands/router.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,IAAc;IACtD,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAEzC,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,UAAU,EAAE,CAAC;QAEtB,KAAK,OAAO;YACV,OAAO,WAAW,EAAE,CAAC;QAEvB,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,UAAU,EAAE,CAAC;QAEtB,KAAK,MAAM;YACT,OAAO,UAAU,EAAE,CAAC;QAEtB,KAAK,QAAQ;YACX,OAAO,YAAY,EAAE,CAAC;QAExB;YACE,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU;IACjB,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,2CAA2C,CAAC,CAAC;IACrE,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW;IAClB,SAAS,CAAC,KAAK,EAAE,CAAC;IAClB,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACxC,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAS,UAAU;IACjB,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU;IACjB,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAC5C,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY;IACnB,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAE7B,sBAAsB;IACtB,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;IAEpD,mBAAmB;IACnB,IAAI,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;QAC/B,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,aAAa,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;IACzJ,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,KAAK,CAAC,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;IAC3G,CAAC;IAEC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;IACvD,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,GAAW;IAChC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,GAAG,cAAc,CAAC,CAAC;IAC/D,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC"}
|
|
@@ -1,28 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* EventBus
|
|
2
|
+
* Section 2: EventBus
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* All output goes through the EventBus.
|
|
4
|
+
* In-memory pub/sub system for Operations Feed.
|
|
5
|
+
* All visible output goes through the EventBus.
|
|
6
|
+
*
|
|
7
|
+
* Rules:
|
|
8
|
+
* - In-memory only (no persistence)
|
|
9
|
+
* - No UI imports inside bus. Bus is pure logic.
|
|
10
|
+
* - Must support multiple subscribers.
|
|
11
|
+
* - Must return an unsubscribe() function.
|
|
6
12
|
*/
|
|
7
|
-
import type {
|
|
8
|
-
type
|
|
13
|
+
import type { OpEvent } from './opEvent.js';
|
|
14
|
+
export type EventListener = (e: OpEvent) => void;
|
|
9
15
|
declare class EventBus {
|
|
10
16
|
private subscribers;
|
|
11
17
|
private eventCounter;
|
|
12
18
|
/**
|
|
13
19
|
* Emit an event
|
|
14
|
-
*
|
|
20
|
+
* Generates id and ts if missing, then calls all subscribers synchronously
|
|
15
21
|
*/
|
|
16
|
-
emit(
|
|
22
|
+
emit(e: Omit<OpEvent, "id" | "ts"> & Partial<Pick<OpEvent, "id" | "ts">>): void;
|
|
17
23
|
/**
|
|
18
24
|
* Subscribe to events
|
|
19
25
|
* Returns unsubscribe function
|
|
20
26
|
*/
|
|
21
|
-
subscribe(fn:
|
|
27
|
+
subscribe(fn: EventListener): () => void;
|
|
22
28
|
/**
|
|
23
|
-
* Helper: emit with tag and message
|
|
29
|
+
* Helper: emit with tag and message (for compatibility)
|
|
24
30
|
*/
|
|
25
|
-
emitTag(tag:
|
|
31
|
+
emitTag(tag: OpEvent['tag'], msg: string): void;
|
|
26
32
|
/**
|
|
27
33
|
* Get subscriber count (for debugging)
|
|
28
34
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventBus.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/core/eventBus.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"eventBus.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/core/eventBus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAEjD,cAAM,QAAQ;IACZ,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,YAAY,CAAK;IAEzB;;;OAGG;IACH,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI;IA8B/E;;;OAGG;IACH,SAAS,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,IAAI;IASxC;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAI/C;;OAEG;IACH,kBAAkB,IAAI,MAAM;CAG7B;AAGD,eAAO,MAAM,QAAQ,UAAiB,CAAC"}
|
|
@@ -1,32 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* EventBus
|
|
2
|
+
* Section 2: EventBus
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* All output goes through the EventBus.
|
|
4
|
+
* In-memory pub/sub system for Operations Feed.
|
|
5
|
+
* All visible output goes through the EventBus.
|
|
6
|
+
*
|
|
7
|
+
* Rules:
|
|
8
|
+
* - In-memory only (no persistence)
|
|
9
|
+
* - No UI imports inside bus. Bus is pure logic.
|
|
10
|
+
* - Must support multiple subscribers.
|
|
11
|
+
* - Must return an unsubscribe() function.
|
|
6
12
|
*/
|
|
7
13
|
class EventBus {
|
|
8
14
|
subscribers = new Set();
|
|
9
15
|
eventCounter = 0; // Monotonic counter for IDs
|
|
10
16
|
/**
|
|
11
17
|
* Emit an event
|
|
12
|
-
*
|
|
18
|
+
* Generates id and ts if missing, then calls all subscribers synchronously
|
|
13
19
|
*/
|
|
14
|
-
emit(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
ts: Date.now(),
|
|
26
|
-
...eventInput,
|
|
27
|
-
};
|
|
28
|
-
}
|
|
20
|
+
emit(e) {
|
|
21
|
+
// Generate id if missing
|
|
22
|
+
const id = e.id || `evt-${++this.eventCounter}`;
|
|
23
|
+
// Set ts = Date.now() if missing
|
|
24
|
+
const ts = e.ts ?? Date.now();
|
|
25
|
+
const event = {
|
|
26
|
+
id,
|
|
27
|
+
ts,
|
|
28
|
+
tag: e.tag,
|
|
29
|
+
msg: e.msg,
|
|
30
|
+
};
|
|
29
31
|
// Call all subscribers synchronously
|
|
32
|
+
// Wrap in try/catch so one bad subscriber doesn't kill updates
|
|
30
33
|
this.subscribers.forEach(subscriber => {
|
|
31
34
|
try {
|
|
32
35
|
subscriber(event);
|
|
@@ -53,18 +56,10 @@ class EventBus {
|
|
|
53
56
|
};
|
|
54
57
|
}
|
|
55
58
|
/**
|
|
56
|
-
* Helper: emit with tag and message
|
|
59
|
+
* Helper: emit with tag and message (for compatibility)
|
|
57
60
|
*/
|
|
58
|
-
emitTag(tag,
|
|
59
|
-
|
|
60
|
-
const inferredLevel = level || (tag === 'ERR' ? 'ERROR' :
|
|
61
|
-
tag === 'SYS' ? 'INFO' :
|
|
62
|
-
'INFO');
|
|
63
|
-
this.emit({
|
|
64
|
-
tag,
|
|
65
|
-
level: inferredLevel,
|
|
66
|
-
message,
|
|
67
|
-
});
|
|
61
|
+
emitTag(tag, msg) {
|
|
62
|
+
this.emit({ tag, msg });
|
|
68
63
|
}
|
|
69
64
|
/**
|
|
70
65
|
* Get subscriber count (for debugging)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventBus.js","sourceRoot":"","sources":["../../../../src/ui/v3/core/eventBus.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"eventBus.js","sourceRoot":"","sources":["../../../../src/ui/v3/core/eventBus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,MAAM,QAAQ;IACJ,WAAW,GAAuB,IAAI,GAAG,EAAE,CAAC;IAC5C,YAAY,GAAG,CAAC,CAAC,CAAC,4BAA4B;IAEtD;;;OAGG;IACH,IAAI,CAAC,CAAmE;QACtE,yBAAyB;QACzB,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QAEhD,iCAAiC;QACjC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAE9B,MAAM,KAAK,GAAY;YACrB,EAAE;YACF,EAAE;YACF,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,GAAG,EAAE,CAAC,CAAC,GAAG;SACX,CAAC;QAEF,qCAAqC;QACrC,+DAA+D;QAC/D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACpC,IAAI,CAAC;gBACH,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4CAA4C;gBAC5C,qDAAqD;gBACrD,wCAAwC;gBACxC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,EAAE,CAAC;oBACrC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,EAAiB;QACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEzB,8BAA8B;QAC9B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,GAAmB,EAAE,GAAW;QACtC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/B,CAAC;CACF;AAED,qBAAqB;AACrB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Section 2: FeedStore
|
|
3
|
+
*
|
|
4
|
+
* Bounded ring buffer for Operations Feed events.
|
|
5
|
+
*
|
|
6
|
+
* Rules:
|
|
7
|
+
* - Stores last N=200 events (configurable constant)
|
|
8
|
+
* - Truncate from the front when over capacity (drop oldest)
|
|
9
|
+
* - No formatting here. Store raw events only.
|
|
10
|
+
*/
|
|
11
|
+
import type { OpEvent } from './opEvent.js';
|
|
12
|
+
declare class FeedStore {
|
|
13
|
+
private events;
|
|
14
|
+
/**
|
|
15
|
+
* Push an event to the store
|
|
16
|
+
* Truncates from the front when over capacity
|
|
17
|
+
*/
|
|
18
|
+
push(e: OpEvent): void;
|
|
19
|
+
/**
|
|
20
|
+
* Clear all events
|
|
21
|
+
*/
|
|
22
|
+
clear(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Get latest N events
|
|
25
|
+
*/
|
|
26
|
+
getLatest(count: number): OpEvent[];
|
|
27
|
+
/**
|
|
28
|
+
* Get current size
|
|
29
|
+
*/
|
|
30
|
+
size(): number;
|
|
31
|
+
}
|
|
32
|
+
export declare const feedStore: FeedStore;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=feedStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedStore.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/core/feedStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C,cAAM,SAAS;IACb,OAAO,CAAC,MAAM,CAAiB;IAE/B;;;OAGG;IACH,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAStB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE;IAInC;;OAEG;IACH,IAAI,IAAI,MAAM;CAGf;AAGD,eAAO,MAAM,SAAS,WAAkB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Section 2: FeedStore
|
|
3
|
+
*
|
|
4
|
+
* Bounded ring buffer for Operations Feed events.
|
|
5
|
+
*
|
|
6
|
+
* Rules:
|
|
7
|
+
* - Stores last N=200 events (configurable constant)
|
|
8
|
+
* - Truncate from the front when over capacity (drop oldest)
|
|
9
|
+
* - No formatting here. Store raw events only.
|
|
10
|
+
*/
|
|
11
|
+
const MAX_EVENTS = 200; // Configurable constant
|
|
12
|
+
class FeedStore {
|
|
13
|
+
events = [];
|
|
14
|
+
/**
|
|
15
|
+
* Push an event to the store
|
|
16
|
+
* Truncates from the front when over capacity
|
|
17
|
+
*/
|
|
18
|
+
push(e) {
|
|
19
|
+
this.events.push(e);
|
|
20
|
+
// Truncate from the front when over capacity (drop oldest)
|
|
21
|
+
if (this.events.length > MAX_EVENTS) {
|
|
22
|
+
this.events = this.events.slice(-MAX_EVENTS);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Clear all events
|
|
27
|
+
*/
|
|
28
|
+
clear() {
|
|
29
|
+
this.events = [];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Get latest N events
|
|
33
|
+
*/
|
|
34
|
+
getLatest(count) {
|
|
35
|
+
return this.events.slice(-count);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get current size
|
|
39
|
+
*/
|
|
40
|
+
size() {
|
|
41
|
+
return this.events.length;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Singleton instance
|
|
45
|
+
export const feedStore = new FeedStore();
|
|
46
|
+
//# sourceMappingURL=feedStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedStore.js","sourceRoot":"","sources":["../../../../src/ui/v3/core/feedStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,wBAAwB;AAEhD,MAAM,SAAS;IACL,MAAM,GAAc,EAAE,CAAC;IAE/B;;;OAGG;IACH,IAAI,CAAC,CAAU;QACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,2DAA2D;QAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;CACF;AAED,qBAAqB;AACrB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Section 2: Logger Wrapper
|
|
3
|
+
*
|
|
4
|
+
* Hard enforcement: No console.log in TUI mode
|
|
5
|
+
* All output goes through eventBus as [SYS] / [ERR] depending on level
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Enable TUI mode (suppresses console.log)
|
|
9
|
+
*/
|
|
10
|
+
export declare function enableTuiMode(): void;
|
|
11
|
+
/**
|
|
12
|
+
* Disable TUI mode (restores console.log)
|
|
13
|
+
*/
|
|
14
|
+
export declare function disableTuiMode(): void;
|
|
15
|
+
/**
|
|
16
|
+
* Logger interface
|
|
17
|
+
*/
|
|
18
|
+
export declare const logger: {
|
|
19
|
+
debug: (msg: string) => void;
|
|
20
|
+
info: (msg: string) => void;
|
|
21
|
+
warn: (msg: string) => void;
|
|
22
|
+
error: (msg: string) => void;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/core/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED;;GAEG;AACH,eAAO,MAAM,MAAM;iBACJ,MAAM,KAAG,IAAI;gBAQd,MAAM,KAAG,IAAI;gBAQb,MAAM,KAAG,IAAI;iBAQZ,MAAM,KAAG,IAAI;CAO3B,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Section 2: Logger Wrapper
|
|
3
|
+
*
|
|
4
|
+
* Hard enforcement: No console.log in TUI mode
|
|
5
|
+
* All output goes through eventBus as [SYS] / [ERR] depending on level
|
|
6
|
+
*/
|
|
7
|
+
import { eventBus } from './eventBus.js';
|
|
8
|
+
let tuiMode = false;
|
|
9
|
+
/**
|
|
10
|
+
* Enable TUI mode (suppresses console.log)
|
|
11
|
+
*/
|
|
12
|
+
export function enableTuiMode() {
|
|
13
|
+
tuiMode = true;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Disable TUI mode (restores console.log)
|
|
17
|
+
*/
|
|
18
|
+
export function disableTuiMode() {
|
|
19
|
+
tuiMode = false;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Logger interface
|
|
23
|
+
*/
|
|
24
|
+
export const logger = {
|
|
25
|
+
debug: (msg) => {
|
|
26
|
+
if (tuiMode) {
|
|
27
|
+
eventBus.emit({ tag: "SYS", msg });
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
console.debug(msg);
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
info: (msg) => {
|
|
34
|
+
if (tuiMode) {
|
|
35
|
+
eventBus.emit({ tag: "SYS", msg });
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
console.info(msg);
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
warn: (msg) => {
|
|
42
|
+
if (tuiMode) {
|
|
43
|
+
eventBus.emit({ tag: "SYS", msg });
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
console.warn(msg);
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
error: (msg) => {
|
|
50
|
+
if (tuiMode) {
|
|
51
|
+
eventBus.emit({ tag: "ERR", msg });
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
console.error(msg);
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/ui/v3/core/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,IAAI,OAAO,GAAG,KAAK,CAAC;AAEpB;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,GAAG,IAAI,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,GAAG,KAAK,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,CAAC,GAAW,EAAQ,EAAE;QAC3B,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,EAAE,CAAC,GAAW,EAAQ,EAAE;QAC1B,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,IAAI,EAAE,CAAC,GAAW,EAAQ,EAAE;QAC1B,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,KAAK,EAAE,CAAC,GAAW,EAAQ,EAAE;QAC3B,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Section 2: Operations Feed Event Types
|
|
3
|
+
*
|
|
4
|
+
* Minimal event interface for the Operations Feed output bus.
|
|
5
|
+
*/
|
|
6
|
+
export type OpTag = "SYS" | "CMD" | "RUN" | "NET" | "SEC" | "DB" | "GW" | "ERR";
|
|
7
|
+
export interface OpEvent {
|
|
8
|
+
id: string;
|
|
9
|
+
ts: number;
|
|
10
|
+
tag: OpTag;
|
|
11
|
+
msg: string;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=opEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opEvent.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/core/opEvent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAEhF,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,KAAK,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opEvent.js","sourceRoot":"","sources":["../../../../src/ui/v3/core/opEvent.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phase1Runtime.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/ui/phase1Runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"phase1Runtime.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/ui/phase1Runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA+SH;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAorBxD"}
|
|
@@ -19,10 +19,11 @@ import blessed from 'neo-blessed';
|
|
|
19
19
|
// Type assertion for blessed (textbox not in types)
|
|
20
20
|
const blessedLib = blessed;
|
|
21
21
|
import { computePhase1Layout } from './layout/phase1Layout.js';
|
|
22
|
-
import { feedStore
|
|
22
|
+
import { feedStore } from '../core/feedStore.js';
|
|
23
|
+
import { eventBus } from '../core/eventBus.js';
|
|
24
|
+
import { enableTuiMode } from '../core/logger.js';
|
|
23
25
|
import { parseCommand } from '../commands/parser.js';
|
|
24
26
|
import { routeCommand } from '../commands/router.js';
|
|
25
|
-
import { eventBus } from '../core/eventBus.js';
|
|
26
27
|
import { buildUiState } from '../state/uiStateBuilder.js';
|
|
27
28
|
import { renderResourcesPanel } from './panels/ResourcesPanel.js';
|
|
28
29
|
import { isAvailable, isUnavailable } from '../state/value.js';
|
|
@@ -55,30 +56,33 @@ function reassertFocus() {
|
|
|
55
56
|
* Cleanup and exit
|
|
56
57
|
*/
|
|
57
58
|
/**
|
|
58
|
-
* Update operations panel with latest feed entries
|
|
59
|
+
* Section 2: Update operations panel with latest feed entries
|
|
59
60
|
*
|
|
60
|
-
*
|
|
61
|
+
* Rules:
|
|
62
|
+
* - Render last 10-15 events depending on available height
|
|
63
|
+
* - Line format: HH:MM:SS [TAG] message...
|
|
64
|
+
* - Truncate long lines with ... (never wrap, never overflow)
|
|
61
65
|
*/
|
|
62
66
|
function updateOperationsPanel() {
|
|
63
67
|
const operationsPanel = panels[3]; // OPERATIONS is 4th panel (index 3)
|
|
64
68
|
if (!operationsPanel)
|
|
65
69
|
return;
|
|
66
|
-
|
|
67
|
-
const paddingTop = '\n';
|
|
68
|
-
const paddingLeft = ' ';
|
|
69
|
-
// Calculate available space (account for border and padding)
|
|
70
|
+
// Calculate available space (account for border)
|
|
70
71
|
const innerHeight = operationsPanel.height - 2; // Top and bottom border
|
|
71
72
|
const innerWidth = operationsPanel.width - 4; // Left/right border + padding
|
|
72
|
-
//
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
73
|
+
// Get last 10-15 events depending on available height
|
|
74
|
+
const maxLines = Math.min(15, Math.max(10, innerHeight));
|
|
75
|
+
const contentLines = formatFeedEntries(maxLines);
|
|
76
|
+
// Apply truncation to each line (prevents overflow)
|
|
77
|
+
const truncatedLines = contentLines.map(line => {
|
|
78
|
+
return safeLine(line, innerWidth);
|
|
77
79
|
});
|
|
80
|
+
// Join with newlines, add padding
|
|
81
|
+
const paddingLeft = ' ';
|
|
78
82
|
const content = truncatedLines
|
|
79
83
|
.map(line => paddingLeft + line)
|
|
80
84
|
.join('\n');
|
|
81
|
-
operationsPanel.setContent(
|
|
85
|
+
operationsPanel.setContent('\n' + content);
|
|
82
86
|
}
|
|
83
87
|
/**
|
|
84
88
|
* Update resources panel content (Phase 4)
|
|
@@ -99,7 +103,7 @@ function updateResourcesPanel() {
|
|
|
99
103
|
const displayLines = contentLines.slice(0, Math.min(contentLines.length, innerHeight));
|
|
100
104
|
// Truncate each line to fit width (Phase 4)
|
|
101
105
|
const truncatedLines = displayLines.map(line => {
|
|
102
|
-
return
|
|
106
|
+
return safeLine(line, innerWidth);
|
|
103
107
|
});
|
|
104
108
|
// Pad to fill available height if needed
|
|
105
109
|
while (truncatedLines.length < innerHeight) {
|
|
@@ -183,31 +187,53 @@ function createPanel(screen, boxRect, title, getContent) {
|
|
|
183
187
|
* - If text.length <= width, return as-is
|
|
184
188
|
* - Else return text.slice(0, width - 1) + "…"
|
|
185
189
|
*/
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
190
|
+
// Old truncateLine removed - using safeLine instead (defined above)
|
|
191
|
+
/**
|
|
192
|
+
* Section 2: Format feed entries for display in OPERATIONS panel
|
|
193
|
+
*
|
|
194
|
+
* Line format: HH:MM:SS [TAG] message...
|
|
195
|
+
*/
|
|
196
|
+
function formatTimestamp(ts) {
|
|
197
|
+
try {
|
|
198
|
+
const date = new Date(ts);
|
|
199
|
+
const hours = date.getHours().toString().padStart(2, '0');
|
|
200
|
+
const minutes = date.getMinutes().toString().padStart(2, '0');
|
|
201
|
+
const seconds = date.getSeconds().toString().padStart(2, '0');
|
|
202
|
+
return `${hours}:${minutes}:${seconds}`;
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
return '00:00:00';
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Safe line truncation helper
|
|
210
|
+
* Strips newlines/tabs, truncates to max width, appends ...
|
|
211
|
+
*/
|
|
212
|
+
function safeLine(line, max) {
|
|
213
|
+
// Strip newlines and tabs, replace with spaces
|
|
214
|
+
let cleaned = line.replace(/[\n\r\t]/g, ' ');
|
|
215
|
+
// Truncate if exceeds max width
|
|
216
|
+
if (cleaned.length > max) {
|
|
217
|
+
// Reserve 3 chars for "..."
|
|
218
|
+
const truncateAt = max - 3;
|
|
219
|
+
cleaned = cleaned.substring(0, truncateAt) + '...';
|
|
189
220
|
}
|
|
190
|
-
return
|
|
221
|
+
return cleaned;
|
|
191
222
|
}
|
|
192
223
|
/**
|
|
193
|
-
* Format feed entries for display in OPERATIONS panel
|
|
224
|
+
* Format feed entries for display in OPERATIONS panel
|
|
225
|
+
* Returns array of formatted lines (HH:MM:SS [TAG] message...)
|
|
194
226
|
*/
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
const events = feedStore.getLast(FEED_MAX);
|
|
227
|
+
function formatFeedEntries(maxLines = 15) {
|
|
228
|
+
const events = feedStore.getLatest(maxLines);
|
|
198
229
|
const lines = [];
|
|
199
230
|
if (events.length === 0) {
|
|
200
231
|
lines.push('No operations yet');
|
|
201
|
-
lines.push('Type "help" for commands');
|
|
202
232
|
}
|
|
203
233
|
else {
|
|
204
234
|
for (const event of events) {
|
|
205
235
|
const time = formatTimestamp(event.ts);
|
|
206
|
-
const
|
|
207
|
-
const prefix = `${time} [{${levelColor}-fg}${event.tag}{/}] `;
|
|
208
|
-
const message = event.message;
|
|
209
|
-
// Note: Truncation will be applied based on panel width in updateOperationsPanel
|
|
210
|
-
const line = prefix + message;
|
|
236
|
+
const line = `${time} [${event.tag}] ${event.msg}`;
|
|
211
237
|
lines.push(line);
|
|
212
238
|
}
|
|
213
239
|
}
|
|
@@ -215,6 +241,31 @@ function formatFeedEntries() {
|
|
|
215
241
|
}
|
|
216
242
|
// CRITICAL: Guard to prevent multiple runtime instances
|
|
217
243
|
let runtimeStarted = false;
|
|
244
|
+
// Section 2: Render queue system (prevents render storms)
|
|
245
|
+
let renderQueued = false;
|
|
246
|
+
let renderScheduled = false;
|
|
247
|
+
/**
|
|
248
|
+
* Section 2: Request render (batches multiple render requests)
|
|
249
|
+
* If render already queued, do nothing.
|
|
250
|
+
* Uses setImmediate to batch renders.
|
|
251
|
+
*/
|
|
252
|
+
function requestRender() {
|
|
253
|
+
if (renderQueued) {
|
|
254
|
+
return; // Already queued, skip
|
|
255
|
+
}
|
|
256
|
+
renderQueued = true;
|
|
257
|
+
if (!renderScheduled) {
|
|
258
|
+
renderScheduled = true;
|
|
259
|
+
setImmediate(() => {
|
|
260
|
+
renderQueued = false;
|
|
261
|
+
renderScheduled = false;
|
|
262
|
+
if (screen) {
|
|
263
|
+
updateOperationsPanel();
|
|
264
|
+
screen.render();
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
}
|
|
218
269
|
/**
|
|
219
270
|
* Start Phase 1 runtime
|
|
220
271
|
*/
|
|
@@ -226,7 +277,8 @@ export async function startPhase1Runtime() {
|
|
|
226
277
|
}
|
|
227
278
|
runtimeStarted = true;
|
|
228
279
|
console.log('[DEBUG] Starting Phase 1 runtime (should see this ONCE)');
|
|
229
|
-
//
|
|
280
|
+
// Section 2: Enable TUI mode (suppresses console.log, routes to eventBus)
|
|
281
|
+
enableTuiMode();
|
|
230
282
|
const originalLog = console.log;
|
|
231
283
|
console.log = () => { };
|
|
232
284
|
// CRITICAL: Set up raw input handling FIRST (before blessed can interfere)
|
|
@@ -324,6 +376,12 @@ export async function startPhase1Runtime() {
|
|
|
324
376
|
panels.push(operationsPanel);
|
|
325
377
|
panels.push(createPanel(screen, layout.network, 'NETWORK'));
|
|
326
378
|
panels.push(createPanel(screen, layout.capabilities, 'CAPABILITIES'));
|
|
379
|
+
// Section 2: Wire eventBus -> feedStore -> OperationsPanel
|
|
380
|
+
// Subscribe once during app startup
|
|
381
|
+
eventBus.subscribe((e) => {
|
|
382
|
+
feedStore.push(e);
|
|
383
|
+
requestRender();
|
|
384
|
+
});
|
|
327
385
|
// Create status strip (left side of bottom bar)
|
|
328
386
|
const statusWidth = Math.floor(layout.commandLine.width * 0.6); // 60% for status
|
|
329
387
|
statusStrip = blessedLib.box({
|
|
@@ -403,64 +461,10 @@ export async function startPhase1Runtime() {
|
|
|
403
461
|
screen.render();
|
|
404
462
|
}
|
|
405
463
|
};
|
|
406
|
-
// CRITICAL:
|
|
407
|
-
//
|
|
408
|
-
process.stdin.on('data', (data) => {
|
|
409
|
-
if (!commandLine || !screen)
|
|
410
|
-
return;
|
|
411
|
-
const input = data.toString();
|
|
412
|
-
// Handle Ctrl+C (ASCII 3) - ALWAYS works
|
|
413
|
-
if (input === '\x03') {
|
|
414
|
-
cleanupAndExit(0);
|
|
415
|
-
return;
|
|
416
|
-
}
|
|
417
|
-
// Handle Enter (ASCII 13 or 10)
|
|
418
|
-
if (input === '\r' || input === '\n') {
|
|
419
|
-
const commandPart = commandInputValue.startsWith(PROMPT)
|
|
420
|
-
? commandInputValue.slice(PROMPT.length).trim()
|
|
421
|
-
: commandInputValue.trim();
|
|
422
|
-
if (commandPart) {
|
|
423
|
-
// Emit submit event (compatible with existing code)
|
|
424
|
-
commandLine.emit('submit', commandInputValue);
|
|
425
|
-
}
|
|
426
|
-
// Reset will happen in submit handler
|
|
427
|
-
return;
|
|
428
|
-
}
|
|
429
|
-
// Handle Backspace (ASCII 127 or 8)
|
|
430
|
-
if (input === '\x7f' || input === '\x08') {
|
|
431
|
-
if (commandInputValue.length > PROMPT.length) {
|
|
432
|
-
commandInputValue = commandInputValue.slice(0, -1);
|
|
433
|
-
updateCommandLineDisplay();
|
|
434
|
-
}
|
|
435
|
-
return;
|
|
436
|
-
}
|
|
437
|
-
// Handle Escape (ASCII 27)
|
|
438
|
-
if (input === '\x1b') {
|
|
439
|
-
commandInputValue = PROMPT;
|
|
440
|
-
updateCommandLineDisplay();
|
|
441
|
-
return;
|
|
442
|
-
}
|
|
443
|
-
// Handle printable characters
|
|
444
|
-
if (input.length === 1 && input >= ' ' && input <= '~') {
|
|
445
|
-
commandInputValue += input;
|
|
446
|
-
updateCommandLineDisplay();
|
|
447
|
-
}
|
|
448
|
-
});
|
|
449
|
-
// Prompt protection is now handled in the manual keypress handler above
|
|
450
|
-
// No need for separate protection since we control all input
|
|
451
|
-
// Handle command submission (Phase 3: EventBus)
|
|
452
|
-
// CRITICAL: Bind handlers exactly ONCE - never in render loops or intervals
|
|
453
|
-
if (!commandLine)
|
|
454
|
-
throw new Error('Command line not initialized');
|
|
455
|
-
if (inputHandlersBound) {
|
|
456
|
-
console.error('[BUG] Input handlers already bound! This should never happen.');
|
|
457
|
-
return; // Don't bind again
|
|
458
|
-
}
|
|
459
|
-
console.log('[DEBUG] Binding input listeners (should see this ONCE)');
|
|
460
|
-
inputHandlersBound = true;
|
|
461
|
-
// CRITICAL: Wrap input handling to prevent duplicate processing
|
|
464
|
+
// CRITICAL: Define handleSubmit BEFORE stdin handler so it can be called
|
|
465
|
+
// Wrap input handling to prevent duplicate processing
|
|
462
466
|
let isProcessingInput = false;
|
|
463
|
-
// Define submit handler as a function so we can
|
|
467
|
+
// Define submit handler as a function so we can call it directly from stdin handler
|
|
464
468
|
const handleSubmit = (value) => {
|
|
465
469
|
// Prevent duplicate processing
|
|
466
470
|
if (isProcessingInput) {
|
|
@@ -521,7 +525,69 @@ export async function startPhase1Runtime() {
|
|
|
521
525
|
}, 100);
|
|
522
526
|
}
|
|
523
527
|
};
|
|
524
|
-
//
|
|
528
|
+
// CRITICAL: Use RAW stdin handler (blessed breaks on resize)
|
|
529
|
+
// Read directly from process.stdin - bypasses blessed completely
|
|
530
|
+
// NOTE: This handler is bound ONCE and never re-bound, so it always uses current variables
|
|
531
|
+
process.stdin.on('data', (data) => {
|
|
532
|
+
// Don't check commandLine here - it might be recreated, but we'll call handleSubmit directly
|
|
533
|
+
if (!screen)
|
|
534
|
+
return;
|
|
535
|
+
const input = data.toString();
|
|
536
|
+
// Handle Ctrl+C (ASCII 3) - ALWAYS works
|
|
537
|
+
if (input === '\x03') {
|
|
538
|
+
cleanupAndExit(0);
|
|
539
|
+
return;
|
|
540
|
+
}
|
|
541
|
+
// Handle Enter (ASCII 13 or 10)
|
|
542
|
+
if (input === '\r' || input === '\n') {
|
|
543
|
+
const commandPart = commandInputValue.startsWith(PROMPT)
|
|
544
|
+
? commandInputValue.slice(PROMPT.length).trim()
|
|
545
|
+
: commandInputValue.trim();
|
|
546
|
+
if (commandPart) {
|
|
547
|
+
// Call handleSubmit DIRECTLY instead of emitting to widget
|
|
548
|
+
// This ensures it works even after resize when widget is recreated
|
|
549
|
+
handleSubmit(commandInputValue);
|
|
550
|
+
}
|
|
551
|
+
else {
|
|
552
|
+
// Empty command - just reset
|
|
553
|
+
commandInputValue = PROMPT;
|
|
554
|
+
updateCommandLineDisplay();
|
|
555
|
+
}
|
|
556
|
+
return;
|
|
557
|
+
}
|
|
558
|
+
// Handle Backspace (ASCII 127 or 8)
|
|
559
|
+
if (input === '\x7f' || input === '\x08') {
|
|
560
|
+
if (commandInputValue.length > PROMPT.length) {
|
|
561
|
+
commandInputValue = commandInputValue.slice(0, -1);
|
|
562
|
+
updateCommandLineDisplay();
|
|
563
|
+
}
|
|
564
|
+
return;
|
|
565
|
+
}
|
|
566
|
+
// Handle Escape (ASCII 27)
|
|
567
|
+
if (input === '\x1b') {
|
|
568
|
+
commandInputValue = PROMPT;
|
|
569
|
+
updateCommandLineDisplay();
|
|
570
|
+
return;
|
|
571
|
+
}
|
|
572
|
+
// Handle printable characters
|
|
573
|
+
if (input.length === 1 && input >= ' ' && input <= '~') {
|
|
574
|
+
commandInputValue += input;
|
|
575
|
+
updateCommandLineDisplay();
|
|
576
|
+
}
|
|
577
|
+
});
|
|
578
|
+
// Prompt protection is now handled in the manual keypress handler above
|
|
579
|
+
// No need for separate protection since we control all input
|
|
580
|
+
// Handle command submission (Phase 3: EventBus)
|
|
581
|
+
// CRITICAL: Bind handlers exactly ONCE - never in render loops or intervals
|
|
582
|
+
if (!commandLine)
|
|
583
|
+
throw new Error('Command line not initialized');
|
|
584
|
+
if (inputHandlersBound) {
|
|
585
|
+
console.error('[BUG] Input handlers already bound! This should never happen.');
|
|
586
|
+
return; // Don't bind again
|
|
587
|
+
}
|
|
588
|
+
console.log('[DEBUG] Binding input listeners (should see this ONCE)');
|
|
589
|
+
inputHandlersBound = true;
|
|
590
|
+
// Attach submit handler to initial commandLine (handleSubmit is defined above)
|
|
525
591
|
commandLine.on('submit', handleSubmit);
|
|
526
592
|
// S0.4: Command history navigation (Up/Down)
|
|
527
593
|
// These are bound once at startup, never in intervals
|
|
@@ -761,6 +827,10 @@ export async function startPhase1Runtime() {
|
|
|
761
827
|
reassertFocus();
|
|
762
828
|
});
|
|
763
829
|
}
|
|
830
|
+
// Section 2: Startup events (must emit on boot)
|
|
831
|
+
// Emit once the screen is ready
|
|
832
|
+
eventBus.emit({ tag: "SYS", msg: "UI booted" });
|
|
833
|
+
eventBus.emit({ tag: "SYS", msg: 'Type "help" for commands' });
|
|
764
834
|
// Update operations panel with feed content
|
|
765
835
|
updateOperationsPanel();
|
|
766
836
|
// Phase 4: Initial UiState build
|
|
@@ -783,7 +853,7 @@ export async function startPhase1Runtime() {
|
|
|
783
853
|
const isNowAvailable = isAvailable(newState.resources);
|
|
784
854
|
if (wasAvailable && !isNowAvailable && isUnavailable(newState.resources)) {
|
|
785
855
|
// Transition to UNAVAILABLE - emit event
|
|
786
|
-
eventBus.emitTag('SYS', `RESOURCES UNAVAILABLE: ${newState.resources.reason || 'Unknown reason'}
|
|
856
|
+
eventBus.emitTag('SYS', `RESOURCES UNAVAILABLE: ${newState.resources.reason || 'Unknown reason'}`);
|
|
787
857
|
}
|
|
788
858
|
lastResourcesAvailable = isNowAvailable;
|
|
789
859
|
currentUiState = newState;
|
|
@@ -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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"}
|