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.
@@ -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 '../state/feedModel.js';
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', 'INFO');
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', 'INFO');
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)', 'INFO');
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 ===', 'INFO');
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`, 'INFO');
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'}`, 'WARN');
80
+ eventBus.emitTag('SYS', `RESOURCES: ${state.resources.status} - ${state.resources.reason || 'Unknown'}`);
81
81
  }
82
- eventBus.emitTag('SYS', '=== END STATE SUMMARY ===', 'INFO');
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)`, 'ERROR');
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":"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"}
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
- * Central event system for the TUI.
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 { Event, EventInput, EventTag, EventLevel } from './event.js';
8
- type Subscriber = (event: Event) => void;
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
- * Normalizes the event (assigns id + ts) and calls all subscribers synchronously
20
+ * Generates id and ts if missing, then calls all subscribers synchronously
15
21
  */
16
- emit(eventInput: EventInput | Event): void;
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: Subscriber): () => void;
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: EventTag, message: string, level?: EventLevel): void;
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;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1E,KAAK,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAEzC,cAAM,QAAQ;IACZ,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,YAAY,CAAK;IAEzB;;;OAGG;IACH,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,KAAK,GAAG,IAAI;IA+B1C;;;OAGG;IACH,SAAS,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM,IAAI;IASrC;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI;IAejE;;OAEG;IACH,kBAAkB,IAAI,MAAM;CAG7B;AAGD,eAAO,MAAM,QAAQ,UAAiB,CAAC"}
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
- * Central event system for the TUI.
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
- * Normalizes the event (assigns id + ts) and calls all subscribers synchronously
18
+ * Generates id and ts if missing, then calls all subscribers synchronously
13
19
  */
14
- emit(eventInput) {
15
- let event;
16
- // If already has id and ts, use as-is
17
- if ('id' in eventInput && 'ts' in eventInput) {
18
- event = eventInput;
19
- }
20
- else {
21
- // Normalize: assign id and ts
22
- this.eventCounter++;
23
- event = {
24
- id: `evt-${this.eventCounter}`,
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, message, level) {
59
- // Infer level from tag if not provided
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;;;;;GAKG;AAMH,MAAM,QAAQ;IACJ,WAAW,GAAoB,IAAI,GAAG,EAAE,CAAC;IACzC,YAAY,GAAG,CAAC,CAAC,CAAC,4BAA4B;IAEtD;;;OAGG;IACH,IAAI,CAAC,UAA8B;QACjC,IAAI,KAAY,CAAC;QAEjB,sCAAsC;QACtC,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;YAC7C,KAAK,GAAG,UAAmB,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,8BAA8B;YAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,KAAK,GAAG;gBACN,EAAE,EAAE,OAAO,IAAI,CAAC,YAAY,EAAE;gBAC9B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;gBACd,GAAG,UAAU;aACd,CAAC;QACJ,CAAC;QAED,qCAAqC;QACrC,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,EAAc;QACtB,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,GAAa,EAAE,OAAe,EAAE,KAAkB;QACxD,uCAAuC;QACvC,MAAM,aAAa,GAAe,KAAK,IAAI,CACzC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACzB,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACxB,MAAM,CACP,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC;YACR,GAAG;YACH,KAAK,EAAE,aAAa;YACpB,OAAO;SACR,CAAC,CAAC;IACL,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"}
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,7 @@
1
+ /**
2
+ * Section 2: Operations Feed Event Types
3
+ *
4
+ * Minimal event interface for the Operations Feed output bus.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=opEvent.js.map
@@ -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;AAuPH;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAuqBxD"}
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, formatTimestamp } from '../state/feedModel.js';
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 (Phase 3)
59
+ * Section 2: Update operations panel with latest feed entries
59
60
  *
60
- * Applies truncation to prevent overflow into adjacent panels
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
- const contentLines = formatFeedEntries();
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
- // Truncate to fit panel height
73
- const displayLines = contentLines.slice(-innerHeight);
74
- // Phase 3: Apply truncation to each line (prevents overflow)
75
- const truncatedLines = displayLines.map(line => {
76
- return truncateLine(line, innerWidth);
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(paddingTop + content);
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 truncateLine(line, innerWidth);
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
- function truncateLine(text, width) {
187
- if (text.length <= width) {
188
- return text;
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
- * Format feed entries for display in OPERATIONS panel (Phase 3)
209
+ * Safe line truncation helper
210
+ * Strips newlines/tabs, truncates to max width, appends ...
194
211
  */
195
- const FEED_MAX = 12; // Show latest 12 events
196
- function formatFeedEntries() {
197
- const events = feedStore.getLast(FEED_MAX);
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 levelColor = event.level === 'ERROR' ? 'red' : event.level === 'WARN' ? 'yellow' : 'white';
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
- // Suppress console.log during TUI
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
- const statusWidth = Math.floor(layout.commandLine.width * 0.6); // 60% for status
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 a visible cursor character at the end of the input
454
+ // Add horizontal scrolling for long input
394
455
  let updateCommandLineDisplay = () => {
395
456
  if (commandLine && screen) {
396
- // Append a cursor character to show where typing will appear
397
- // Use a block cursor (inverted colors) that appears inside the box on the first line
398
- // The cursor character is part of the content string, so it's automatically aligned
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 = commandInputValue + cursorChar;
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 (commandInputValue.length > PROMPT.length) {
503
- commandInputValue = commandInputValue.slice(0, -1);
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 Escape (ASCII 27)
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 characters
707
+ // Handle single printable character
515
708
  if (input.length === 1 && input >= ' ' && input <= '~') {
516
- commandInputValue += input;
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.6);
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
- // Append a cursor character to show where typing will appear
682
- // Use a block cursor (inverted colors) that appears inside the box on the first line
683
- // The cursor character is part of the content string, so it's automatically aligned
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 = commandInputValue + cursorChar;
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'}`, 'WARN');
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "4runr-os",
3
- "version": "1.0.93",
3
+ "version": "1.0.95",
4
4
  "type": "module",
5
5
  "description": "4Runr AI Agent OS - Interactive terminal for managing AI agents",
6
6
  "main": "dist/index.js",