4runr-os 1.0.93 → 1.0.95
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 +274 -49
- 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,CA02BxD"}
|
|
@@ -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';
|
|
189
206
|
}
|
|
190
|
-
return text.slice(0, Math.max(0, width - 1)) + '…';
|
|
191
207
|
}
|
|
192
208
|
/**
|
|
193
|
-
*
|
|
209
|
+
* Safe line truncation helper
|
|
210
|
+
* Strips newlines/tabs, truncates to max width, appends ...
|
|
194
211
|
*/
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
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) + '...';
|
|
220
|
+
}
|
|
221
|
+
return cleaned;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Format feed entries for display in OPERATIONS panel
|
|
225
|
+
* Returns array of formatted lines (HH:MM:SS [TAG] message...)
|
|
226
|
+
*/
|
|
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,8 +376,15 @@ 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
|
+
// Make command line bigger - reduce status to 20%
|
|
387
|
+
const statusWidth = Math.floor(layout.commandLine.width * 0.2); // 20% for status (was 60%)
|
|
329
388
|
statusStrip = blessedLib.box({
|
|
330
389
|
top: layout.commandLine.top,
|
|
331
390
|
left: layout.commandLine.left,
|
|
@@ -389,15 +448,34 @@ export async function startPhase1Runtime() {
|
|
|
389
448
|
commandLine.setLabel(' {cyan-fg}COMMAND LINE{/}');
|
|
390
449
|
// Manual input handling - bypass blessed textbox completely
|
|
391
450
|
let isProcessingKey = false;
|
|
451
|
+
let cursorPosition = PROMPT.length; // Track cursor position (after prompt)
|
|
452
|
+
let scrollOffset = 0; // Horizontal scroll offset for long input
|
|
392
453
|
// Make updateCommandLineDisplay a variable so we can update it on resize
|
|
393
|
-
// Add
|
|
454
|
+
// Add horizontal scrolling for long input
|
|
394
455
|
let updateCommandLineDisplay = () => {
|
|
395
456
|
if (commandLine && screen) {
|
|
396
|
-
//
|
|
397
|
-
|
|
398
|
-
//
|
|
457
|
+
// Calculate available width (account for border and padding)
|
|
458
|
+
const availableWidth = commandLine.width - 4; // Left/right border + padding
|
|
459
|
+
// Calculate cursor position in the full string
|
|
460
|
+
const fullText = commandInputValue;
|
|
461
|
+
const cursorIndex = cursorPosition;
|
|
462
|
+
// If cursor is beyond visible area, adjust scroll
|
|
463
|
+
if (cursorIndex - scrollOffset >= availableWidth - 1) {
|
|
464
|
+
scrollOffset = cursorIndex - availableWidth + 2; // Keep cursor visible
|
|
465
|
+
}
|
|
466
|
+
if (cursorIndex < scrollOffset) {
|
|
467
|
+
scrollOffset = Math.max(0, cursorIndex - 5); // Show some context before cursor
|
|
468
|
+
}
|
|
469
|
+
// Extract visible portion
|
|
470
|
+
const visibleStart = scrollOffset;
|
|
471
|
+
const visibleEnd = Math.min(fullText.length, visibleStart + availableWidth - 1);
|
|
472
|
+
let visibleText = fullText.substring(visibleStart, visibleEnd);
|
|
473
|
+
// Insert cursor at correct position
|
|
474
|
+
const cursorPosInVisible = cursorIndex - visibleStart;
|
|
475
|
+
const beforeCursor = visibleText.substring(0, cursorPosInVisible);
|
|
476
|
+
const afterCursor = visibleText.substring(cursorPosInVisible);
|
|
399
477
|
const cursorChar = '{inverse} {/}'; // Inverted space (block cursor)
|
|
400
|
-
const displayValue =
|
|
478
|
+
const displayValue = beforeCursor + cursorChar + afterCursor;
|
|
401
479
|
commandLine.setContent(displayValue);
|
|
402
480
|
// Render will automatically hide cursor via our hook above
|
|
403
481
|
screen.render();
|
|
@@ -453,6 +531,8 @@ export async function startPhase1Runtime() {
|
|
|
453
531
|
// Clear input and restore prompt after submission
|
|
454
532
|
currentCommandValue = PROMPT;
|
|
455
533
|
commandInputValue = PROMPT;
|
|
534
|
+
cursorPosition = PROMPT.length;
|
|
535
|
+
scrollOffset = 0;
|
|
456
536
|
updateCommandLineDisplay();
|
|
457
537
|
// S0.1: Reassert focus after command to keep cursor in command line
|
|
458
538
|
reassertFocus();
|
|
@@ -493,27 +573,144 @@ export async function startPhase1Runtime() {
|
|
|
493
573
|
else {
|
|
494
574
|
// Empty command - just reset
|
|
495
575
|
commandInputValue = PROMPT;
|
|
576
|
+
cursorPosition = PROMPT.length;
|
|
577
|
+
scrollOffset = 0;
|
|
496
578
|
updateCommandLineDisplay();
|
|
497
579
|
}
|
|
498
580
|
return;
|
|
499
581
|
}
|
|
500
582
|
// Handle Backspace (ASCII 127 or 8)
|
|
501
583
|
if (input === '\x7f' || input === '\x08') {
|
|
502
|
-
if (
|
|
503
|
-
|
|
584
|
+
if (cursorPosition > PROMPT.length) {
|
|
585
|
+
// Delete character before cursor
|
|
586
|
+
const before = commandInputValue.substring(0, cursorPosition - 1);
|
|
587
|
+
const after = commandInputValue.substring(cursorPosition);
|
|
588
|
+
commandInputValue = before + after;
|
|
589
|
+
cursorPosition--;
|
|
590
|
+
updateCommandLineDisplay();
|
|
591
|
+
}
|
|
592
|
+
return;
|
|
593
|
+
}
|
|
594
|
+
// Handle Delete (not standard in raw mode, but handle if received)
|
|
595
|
+
if (input === '\x1b[3~') {
|
|
596
|
+
if (cursorPosition < commandInputValue.length) {
|
|
597
|
+
const before = commandInputValue.substring(0, cursorPosition);
|
|
598
|
+
const after = commandInputValue.substring(cursorPosition + 1);
|
|
599
|
+
commandInputValue = before + after;
|
|
600
|
+
updateCommandLineDisplay();
|
|
601
|
+
}
|
|
602
|
+
return;
|
|
603
|
+
}
|
|
604
|
+
// Handle Left Arrow (cursor movement)
|
|
605
|
+
if (input === '\x1b[D' || input === '\x1b[1;2D') {
|
|
606
|
+
if (cursorPosition > PROMPT.length) {
|
|
607
|
+
cursorPosition--;
|
|
608
|
+
updateCommandLineDisplay();
|
|
609
|
+
}
|
|
610
|
+
return;
|
|
611
|
+
}
|
|
612
|
+
// Handle Right Arrow (cursor movement)
|
|
613
|
+
if (input === '\x1b[C' || input === '\x1b[1;2C') {
|
|
614
|
+
if (cursorPosition < commandInputValue.length) {
|
|
615
|
+
cursorPosition++;
|
|
616
|
+
updateCommandLineDisplay();
|
|
617
|
+
}
|
|
618
|
+
return;
|
|
619
|
+
}
|
|
620
|
+
// Handle Up Arrow (history navigation)
|
|
621
|
+
if (input === '\x1b[A') {
|
|
622
|
+
if (commandHistory.length === 0)
|
|
623
|
+
return;
|
|
624
|
+
if (historyIndex === -1) {
|
|
625
|
+
historyIndex = commandHistory.length - 1;
|
|
626
|
+
}
|
|
627
|
+
else if (historyIndex > 0) {
|
|
628
|
+
historyIndex--;
|
|
629
|
+
}
|
|
630
|
+
if (historyIndex >= 0 && historyIndex < commandHistory.length) {
|
|
631
|
+
const historyCmd = commandHistory[historyIndex];
|
|
632
|
+
const fullValue = `${PROMPT}${historyCmd}`;
|
|
633
|
+
commandInputValue = fullValue;
|
|
634
|
+
cursorPosition = fullValue.length;
|
|
635
|
+
scrollOffset = 0;
|
|
504
636
|
updateCommandLineDisplay();
|
|
505
637
|
}
|
|
506
638
|
return;
|
|
507
639
|
}
|
|
508
|
-
// Handle
|
|
640
|
+
// Handle Down Arrow (history navigation)
|
|
641
|
+
if (input === '\x1b[B') {
|
|
642
|
+
if (historyIndex === -1)
|
|
643
|
+
return;
|
|
644
|
+
if (historyIndex < commandHistory.length - 1) {
|
|
645
|
+
historyIndex++;
|
|
646
|
+
const historyCmd = commandHistory[historyIndex];
|
|
647
|
+
const fullValue = `${PROMPT}${historyCmd}`;
|
|
648
|
+
commandInputValue = fullValue;
|
|
649
|
+
cursorPosition = fullValue.length;
|
|
650
|
+
scrollOffset = 0;
|
|
651
|
+
updateCommandLineDisplay();
|
|
652
|
+
}
|
|
653
|
+
else {
|
|
654
|
+
historyIndex = -1;
|
|
655
|
+
commandInputValue = PROMPT;
|
|
656
|
+
cursorPosition = PROMPT.length;
|
|
657
|
+
scrollOffset = 0;
|
|
658
|
+
updateCommandLineDisplay();
|
|
659
|
+
}
|
|
660
|
+
return;
|
|
661
|
+
}
|
|
662
|
+
// Handle Home (move to start of input, after prompt)
|
|
663
|
+
if (input === '\x1b[H' || input === '\x1b[1~') {
|
|
664
|
+
cursorPosition = PROMPT.length;
|
|
665
|
+
updateCommandLineDisplay();
|
|
666
|
+
return;
|
|
667
|
+
}
|
|
668
|
+
// Handle End (move to end of input)
|
|
669
|
+
if (input === '\x1b[F' || input === '\x1b[4~') {
|
|
670
|
+
cursorPosition = commandInputValue.length;
|
|
671
|
+
updateCommandLineDisplay();
|
|
672
|
+
return;
|
|
673
|
+
}
|
|
674
|
+
// Handle Ctrl+V (paste) - ASCII 22
|
|
675
|
+
if (input === '\x16') {
|
|
676
|
+
// Paste from clipboard (if available)
|
|
677
|
+
// Note: In raw mode, we can't easily access clipboard
|
|
678
|
+
// But we can handle multi-character paste sequences
|
|
679
|
+
// For now, we'll handle it in the printable characters section
|
|
680
|
+
// by detecting rapid character sequences
|
|
681
|
+
return; // Will be handled by detecting rapid input
|
|
682
|
+
}
|
|
683
|
+
// Handle Escape (ASCII 27) - clear input
|
|
509
684
|
if (input === '\x1b') {
|
|
510
685
|
commandInputValue = PROMPT;
|
|
686
|
+
cursorPosition = PROMPT.length;
|
|
687
|
+
scrollOffset = 0;
|
|
688
|
+
updateCommandLineDisplay();
|
|
689
|
+
return;
|
|
690
|
+
}
|
|
691
|
+
// Handle printable characters (including paste sequences)
|
|
692
|
+
// Check for multi-character input (paste)
|
|
693
|
+
if (input.length > 1) {
|
|
694
|
+
// This is likely a paste - insert all characters at cursor
|
|
695
|
+
for (let i = 0; i < input.length; i++) {
|
|
696
|
+
const ch = input[i];
|
|
697
|
+
if (ch >= ' ' && ch <= '~') {
|
|
698
|
+
const before = commandInputValue.substring(0, cursorPosition);
|
|
699
|
+
const after = commandInputValue.substring(cursorPosition);
|
|
700
|
+
commandInputValue = before + ch + after;
|
|
701
|
+
cursorPosition++;
|
|
702
|
+
}
|
|
703
|
+
}
|
|
511
704
|
updateCommandLineDisplay();
|
|
512
705
|
return;
|
|
513
706
|
}
|
|
514
|
-
// Handle printable
|
|
707
|
+
// Handle single printable character
|
|
515
708
|
if (input.length === 1 && input >= ' ' && input <= '~') {
|
|
516
|
-
|
|
709
|
+
// Insert at cursor position
|
|
710
|
+
const before = commandInputValue.substring(0, cursorPosition);
|
|
711
|
+
const after = commandInputValue.substring(cursorPosition);
|
|
712
|
+
commandInputValue = before + input + after;
|
|
713
|
+
cursorPosition++;
|
|
517
714
|
updateCommandLineDisplay();
|
|
518
715
|
}
|
|
519
716
|
});
|
|
@@ -551,6 +748,8 @@ export async function startPhase1Runtime() {
|
|
|
551
748
|
const fullValue = `${PROMPT}${historyCmd}`;
|
|
552
749
|
commandInputValue = fullValue;
|
|
553
750
|
currentCommandValue = fullValue;
|
|
751
|
+
cursorPosition = fullValue.length;
|
|
752
|
+
scrollOffset = 0;
|
|
554
753
|
updateCommandLineDisplay();
|
|
555
754
|
}
|
|
556
755
|
});
|
|
@@ -563,6 +762,8 @@ export async function startPhase1Runtime() {
|
|
|
563
762
|
const fullValue = `${PROMPT}${historyCmd}`;
|
|
564
763
|
commandInputValue = fullValue;
|
|
565
764
|
currentCommandValue = fullValue;
|
|
765
|
+
cursorPosition = fullValue.length;
|
|
766
|
+
scrollOffset = 0;
|
|
566
767
|
updateCommandLineDisplay();
|
|
567
768
|
}
|
|
568
769
|
else {
|
|
@@ -570,6 +771,8 @@ export async function startPhase1Runtime() {
|
|
|
570
771
|
historyIndex = -1;
|
|
571
772
|
commandInputValue = PROMPT;
|
|
572
773
|
currentCommandValue = PROMPT;
|
|
774
|
+
cursorPosition = PROMPT.length;
|
|
775
|
+
scrollOffset = 0;
|
|
573
776
|
updateCommandLineDisplay();
|
|
574
777
|
}
|
|
575
778
|
});
|
|
@@ -628,8 +831,8 @@ export async function startPhase1Runtime() {
|
|
|
628
831
|
panels.push(newOperationsPanel);
|
|
629
832
|
panels.push(createPanel(currentScreen, newLayout.network, 'NETWORK'));
|
|
630
833
|
panels.push(createPanel(currentScreen, newLayout.capabilities, 'CAPABILITIES'));
|
|
631
|
-
// Recreate status strip
|
|
632
|
-
const newStatusWidth = Math.floor(newLayout.commandLine.width * 0.
|
|
834
|
+
// Recreate status strip (20% for status, 80% for command line)
|
|
835
|
+
const newStatusWidth = Math.floor(newLayout.commandLine.width * 0.2);
|
|
633
836
|
statusStrip = blessedLib.box({
|
|
634
837
|
top: newLayout.commandLine.top,
|
|
635
838
|
left: newLayout.commandLine.left,
|
|
@@ -676,19 +879,37 @@ export async function startPhase1Runtime() {
|
|
|
676
879
|
// The raw stdin handler emits 'submit' events, so we need to listen on the new widget
|
|
677
880
|
commandLine.on('submit', handleSubmit);
|
|
678
881
|
// Update the global updateCommandLineDisplay function to use new widget
|
|
882
|
+
// Preserve cursorPosition and scrollOffset
|
|
679
883
|
updateCommandLineDisplay = () => {
|
|
680
884
|
if (commandLine && currentScreen) {
|
|
681
|
-
//
|
|
682
|
-
|
|
683
|
-
//
|
|
885
|
+
// Calculate available width (account for border and padding)
|
|
886
|
+
const availableWidth = commandLine.width - 4; // Left/right border + padding
|
|
887
|
+
// Calculate cursor position in the full string
|
|
888
|
+
const fullText = commandInputValue;
|
|
889
|
+
const cursorIndex = cursorPosition;
|
|
890
|
+
// If cursor is beyond visible area, adjust scroll
|
|
891
|
+
if (cursorIndex - scrollOffset >= availableWidth - 1) {
|
|
892
|
+
scrollOffset = cursorIndex - availableWidth + 2; // Keep cursor visible
|
|
893
|
+
}
|
|
894
|
+
if (cursorIndex < scrollOffset) {
|
|
895
|
+
scrollOffset = Math.max(0, cursorIndex - 5); // Show some context before cursor
|
|
896
|
+
}
|
|
897
|
+
// Extract visible portion
|
|
898
|
+
const visibleStart = scrollOffset;
|
|
899
|
+
const visibleEnd = Math.min(fullText.length, visibleStart + availableWidth - 1);
|
|
900
|
+
let visibleText = fullText.substring(visibleStart, visibleEnd);
|
|
901
|
+
// Insert cursor at correct position
|
|
902
|
+
const cursorPosInVisible = cursorIndex - visibleStart;
|
|
903
|
+
const beforeCursor = visibleText.substring(0, cursorPosInVisible);
|
|
904
|
+
const afterCursor = visibleText.substring(cursorPosInVisible);
|
|
684
905
|
const cursorChar = '{inverse} {/}'; // Inverted space (block cursor)
|
|
685
|
-
const displayValue =
|
|
906
|
+
const displayValue = beforeCursor + cursorChar + afterCursor;
|
|
686
907
|
commandLine.setContent(displayValue);
|
|
687
908
|
// Render will automatically hide cursor via our hook above
|
|
688
909
|
currentScreen.render();
|
|
689
910
|
}
|
|
690
911
|
};
|
|
691
|
-
// Update display with preserved value
|
|
912
|
+
// Update display with preserved value (cursorPosition and scrollOffset are preserved)
|
|
692
913
|
updateCommandLineDisplay();
|
|
693
914
|
// Append all widgets
|
|
694
915
|
panels.forEach(panel => currentScreen.append(panel));
|
|
@@ -769,6 +990,10 @@ export async function startPhase1Runtime() {
|
|
|
769
990
|
reassertFocus();
|
|
770
991
|
});
|
|
771
992
|
}
|
|
993
|
+
// Section 2: Startup events (must emit on boot)
|
|
994
|
+
// Emit once the screen is ready
|
|
995
|
+
eventBus.emit({ tag: "SYS", msg: "UI booted" });
|
|
996
|
+
eventBus.emit({ tag: "SYS", msg: 'Type "help" for commands' });
|
|
772
997
|
// Update operations panel with feed content
|
|
773
998
|
updateOperationsPanel();
|
|
774
999
|
// Phase 4: Initial UiState build
|
|
@@ -791,7 +1016,7 @@ export async function startPhase1Runtime() {
|
|
|
791
1016
|
const isNowAvailable = isAvailable(newState.resources);
|
|
792
1017
|
if (wasAvailable && !isNowAvailable && isUnavailable(newState.resources)) {
|
|
793
1018
|
// Transition to UNAVAILABLE - emit event
|
|
794
|
-
eventBus.emitTag('SYS', `RESOURCES UNAVAILABLE: ${newState.resources.reason || 'Unknown reason'}
|
|
1019
|
+
eventBus.emitTag('SYS', `RESOURCES UNAVAILABLE: ${newState.resources.reason || 'Unknown reason'}`);
|
|
795
1020
|
}
|
|
796
1021
|
lastResourcesAvailable = isNowAvailable;
|
|
797
1022
|
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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"}
|