4runr-os 1.3.42 → 1.3.44

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.
Files changed (41) hide show
  1. package/dist/index.js +3 -2
  2. package/dist/index.js.map +1 -1
  3. package/dist/ui/v3/collectors/resources.d.ts.map +1 -1
  4. package/dist/ui/v3/collectors/resources.js +7 -2
  5. package/dist/ui/v3/collectors/resources.js.map +1 -1
  6. package/dist/ui/v3/core/eventBus.d.ts.map +1 -1
  7. package/dist/ui/v3/core/eventBus.js +4 -1
  8. package/dist/ui/v3/core/eventBus.js.map +1 -1
  9. package/dist/ui/v3/core/logger.d.ts +16 -5
  10. package/dist/ui/v3/core/logger.d.ts.map +1 -1
  11. package/dist/ui/v3/core/logger.js +111 -28
  12. package/dist/ui/v3/core/logger.js.map +1 -1
  13. package/dist/ui/v3/state/capabilitiesStore.d.ts.map +1 -1
  14. package/dist/ui/v3/state/capabilitiesStore.js +7 -1
  15. package/dist/ui/v3/state/capabilitiesStore.js.map +1 -1
  16. package/dist/ui/v3/state/gatewayConnectionStore.d.ts.map +1 -1
  17. package/dist/ui/v3/state/gatewayConnectionStore.js +7 -1
  18. package/dist/ui/v3/state/gatewayConnectionStore.js.map +1 -1
  19. package/dist/ui/v3/state/panelStore.d.ts.map +1 -1
  20. package/dist/ui/v3/state/panelStore.js +8 -1
  21. package/dist/ui/v3/state/panelStore.js.map +1 -1
  22. package/dist/ui/v3/state/value.d.ts.map +1 -1
  23. package/dist/ui/v3/state/value.js +2 -1
  24. package/dist/ui/v3/state/value.js.map +1 -1
  25. package/dist/ui/v3/tui/startTui.d.ts +25 -0
  26. package/dist/ui/v3/tui/startTui.d.ts.map +1 -0
  27. package/dist/ui/v3/tui/startTui.js +43 -0
  28. package/dist/ui/v3/tui/startTui.js.map +1 -0
  29. package/dist/ui/v3/ui/panels/AssetsPanel.d.ts.map +1 -1
  30. package/dist/ui/v3/ui/panels/AssetsPanel.js +15 -11
  31. package/dist/ui/v3/ui/panels/AssetsPanel.js.map +1 -1
  32. package/dist/ui/v3/ui/panels/PosturePanel.d.ts.map +1 -1
  33. package/dist/ui/v3/ui/panels/PosturePanel.js +20 -2
  34. package/dist/ui/v3/ui/panels/PosturePanel.js.map +1 -1
  35. package/dist/ui/v3/ui/panels/ResourcesPanel.d.ts.map +1 -1
  36. package/dist/ui/v3/ui/panels/ResourcesPanel.js +15 -12
  37. package/dist/ui/v3/ui/panels/ResourcesPanel.js.map +1 -1
  38. package/dist/ui/v3/ui/phase1Runtime.d.ts.map +1 -1
  39. package/dist/ui/v3/ui/phase1Runtime.js +26 -27
  40. package/dist/ui/v3/ui/phase1Runtime.js.map +1 -1
  41. package/package.json +1 -1
@@ -1,58 +1,141 @@
1
1
  /**
2
- * Section 2: Logger Wrapper
2
+ * Structural Fix A: Logger Wrapper
3
3
  *
4
- * Hard enforcement: No console.log in TUI mode
4
+ * Hard enforcement: No console.log/process.stdout.write in TUI mode
5
5
  * All output goes through eventBus as [SYS] / [ERR] depending on level
6
+ *
7
+ * Rules:
8
+ * - logger.info() → Operations feed (NOT stdout)
9
+ * - logger.error() → Operations feed AND stderr (optional)
10
+ * - logger.raw() is FORBIDDEN
11
+ * - stdout.write is monkeypatched to throw in TUI mode
6
12
  */
7
13
  import { eventBus } from './eventBus.js';
8
14
  let tuiMode = false;
15
+ let originalStdoutWrite = null;
16
+ let originalConsoleLog = null;
17
+ let originalConsoleError = null;
18
+ let originalConsoleWarn = null;
19
+ let originalConsoleInfo = null;
20
+ let originalConsoleDebug = null;
9
21
  /**
10
- * Enable TUI mode (suppresses console.log)
22
+ * Structural Fix A: Enable TUI mode (suppresses all stdout/console writes)
23
+ *
24
+ * Monkeypatches stdout.write and console methods to throw errors
25
+ * Only the renderer (blessed) is allowed to write to stdout
11
26
  */
12
27
  export function enableTuiMode() {
28
+ if (tuiMode)
29
+ return; // Already enabled
13
30
  tuiMode = true;
31
+ // Structural Fix A: Monkeypatch stdout.write to throw
32
+ // This prevents ANY code from writing to stdout outside the renderer
33
+ originalStdoutWrite = process.stdout.write.bind(process.stdout);
34
+ process.stdout.write = function (chunk, encoding, cb) {
35
+ // Allow blessed to write (it's the renderer)
36
+ // Check if this is coming from blessed by checking stack trace
37
+ const stack = new Error().stack || '';
38
+ const isBlessed = stack.includes('blessed') ||
39
+ stack.includes('neo-blessed') ||
40
+ stack.includes('blessed-contrib') ||
41
+ stack.includes('node_modules/blessed') ||
42
+ stack.includes('node_modules/neo-blessed');
43
+ if (isBlessed) {
44
+ // This is from blessed - allow it
45
+ return originalStdoutWrite(chunk, encoding, cb);
46
+ }
47
+ // Structural Fix A: Throw error for any other stdout writes
48
+ // This ensures NO code writes to stdout except the renderer
49
+ const chunkStr = String(chunk).substring(0, 100);
50
+ throw new Error(`STDOUT WRITE OUTSIDE TUI: ${chunkStr}. Use logger.info() instead. Stack: ${stack.split('\n').slice(0, 3).join(' | ')}`);
51
+ };
52
+ // Structural Fix A: Monkeypatch console methods to use logger
53
+ originalConsoleLog = console.log;
54
+ originalConsoleError = console.error;
55
+ originalConsoleWarn = console.warn;
56
+ originalConsoleInfo = console.info;
57
+ originalConsoleDebug = console.debug;
58
+ console.log = (...args) => {
59
+ const msg = args.map(a => String(a)).join(' ');
60
+ eventBus.emit({ tag: "SYS", msg, level: 'INFO' });
61
+ };
62
+ console.error = (...args) => {
63
+ const msg = args.map(a => String(a)).join(' ');
64
+ eventBus.emit({ tag: "ERR", msg, level: 'ERROR' });
65
+ // Also write to stderr (not stdout) for critical errors
66
+ if (originalConsoleError) {
67
+ originalConsoleError(...args);
68
+ }
69
+ };
70
+ console.warn = (...args) => {
71
+ const msg = args.map(a => String(a)).join(' ');
72
+ eventBus.emit({ tag: "SYS", msg, level: 'WARN' });
73
+ };
74
+ console.info = (...args) => {
75
+ const msg = args.map(a => String(a)).join(' ');
76
+ eventBus.emit({ tag: "SYS", msg, level: 'INFO' });
77
+ };
78
+ console.debug = (...args) => {
79
+ const msg = args.map(a => String(a)).join(' ');
80
+ eventBus.emit({ tag: "SYS", msg, level: 'INFO' });
81
+ };
14
82
  }
15
83
  /**
16
- * Disable TUI mode (restores console.log)
84
+ * Disable TUI mode (restores console/stdout)
17
85
  */
18
86
  export function disableTuiMode() {
87
+ if (!tuiMode)
88
+ return; // Already disabled
19
89
  tuiMode = false;
90
+ // Restore original functions
91
+ if (originalStdoutWrite) {
92
+ process.stdout.write = originalStdoutWrite;
93
+ originalStdoutWrite = null;
94
+ }
95
+ if (originalConsoleLog) {
96
+ console.log = originalConsoleLog;
97
+ originalConsoleLog = null;
98
+ }
99
+ if (originalConsoleError) {
100
+ console.error = originalConsoleError;
101
+ originalConsoleError = null;
102
+ }
103
+ if (originalConsoleWarn) {
104
+ console.warn = originalConsoleWarn;
105
+ originalConsoleWarn = null;
106
+ }
107
+ if (originalConsoleInfo) {
108
+ console.info = originalConsoleInfo;
109
+ originalConsoleInfo = null;
110
+ }
111
+ if (originalConsoleDebug) {
112
+ console.debug = originalConsoleDebug;
113
+ originalConsoleDebug = null;
114
+ }
20
115
  }
21
116
  /**
22
- * Logger interface
117
+ * Structural Fix A: Logger interface
118
+ *
119
+ * All logging goes through Operations feed, NOT stdout
23
120
  */
24
121
  export const logger = {
25
122
  debug: (msg) => {
26
- if (tuiMode) {
27
- eventBus.emit({ tag: "SYS", msg, level: 'INFO' });
28
- }
29
- else {
30
- console.debug(msg);
31
- }
123
+ eventBus.emit({ tag: "SYS", msg, level: 'INFO' });
32
124
  },
33
125
  info: (msg) => {
34
- if (tuiMode) {
35
- eventBus.emit({ tag: "SYS", msg, level: 'INFO' });
36
- }
37
- else {
38
- console.info(msg);
39
- }
126
+ eventBus.emit({ tag: "SYS", msg, level: 'INFO' });
40
127
  },
41
128
  warn: (msg) => {
42
- if (tuiMode) {
43
- eventBus.emit({ tag: "SYS", msg, level: 'WARN' });
44
- }
45
- else {
46
- console.warn(msg);
47
- }
129
+ eventBus.emit({ tag: "SYS", msg, level: 'WARN' });
48
130
  },
49
131
  error: (msg) => {
50
- if (tuiMode) {
51
- eventBus.emit({ tag: "ERR", msg, level: 'ERROR' });
52
- }
53
- else {
54
- console.error(msg);
132
+ eventBus.emit({ tag: "ERR", msg, level: 'ERROR' });
133
+ // Also write to stderr for critical errors (not stdout)
134
+ if (!tuiMode && originalConsoleError) {
135
+ originalConsoleError(msg);
55
136
  }
56
137
  },
138
+ // Structural Fix A: raw() is FORBIDDEN - do not use
139
+ // raw: () => { throw new Error('logger.raw() is forbidden - use logger.info() instead'); }
57
140
  };
58
141
  //# sourceMappingURL=logger.js.map
@@ -1 +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,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACpD,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,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACpD,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,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACpD,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,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/ui/v3/core/logger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"capabilitiesStore.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/state/capabilitiesStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,iBAAiB,GACzB;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GACtB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC;;GAEG;AACH,cAAM,iBAAiB;IACrB,OAAO,CAAC,KAAK,CAEX;IAEF,OAAO,CAAC,SAAS,CAAsD;IAEvE;;OAEG;IACH,QAAQ,IAAI,iBAAiB;IAI7B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,MAAM,IAAI;IAOnE;;OAEG;IACH,OAAO,CAAC,QAAQ;IAWhB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAIhC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AAGD,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
1
+ {"version":3,"file":"capabilitiesStore.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/state/capabilitiesStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,iBAAiB,GACzB;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GACtB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC;;GAEG;AACH,cAAM,iBAAiB;IACrB,OAAO,CAAC,KAAK,CAEX;IAEF,OAAO,CAAC,SAAS,CAAsD;IAEvE;;OAEG;IACH,QAAQ,IAAI,iBAAiB;IAI7B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,MAAM,IAAI;IAOnE;;OAEG;IACH,OAAO,CAAC,QAAQ;IAiBhB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAIhC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AAGD,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
@@ -36,7 +36,13 @@ class CapabilitiesStore {
36
36
  listener(newState);
37
37
  }
38
38
  catch (error) {
39
- console.error('CapabilitiesStore listener error:', error);
39
+ // Structural Fix A: Use logger
40
+ // Use dynamic import without await to avoid async issues
41
+ import('../core/logger.js').then(({ logger }) => {
42
+ logger.error(`CapabilitiesStore listener error: ${error instanceof Error ? error.message : String(error)}`);
43
+ }).catch(() => {
44
+ // Logger not available - ignore
45
+ });
40
46
  }
41
47
  });
42
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"capabilitiesStore.js","sourceRoot":"","sources":["../../../../src/ui/v3/state/capabilitiesStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;GAEG;AACH,MAAM,iBAAiB;IACb,KAAK,GAAsB;QACjC,MAAM,EAAE,UAAU;KACnB,CAAC;IAEM,SAAS,GAA4C,IAAI,GAAG,EAAE,CAAC;IAEvE;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAA4C;QACpD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,QAA2B;QAC1C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAChC,IAAI,CAAC;gBACH,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAAe;QACvB,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,OAAe;QACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IACxC,CAAC;CACF;AAED,qBAAqB;AACrB,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"capabilitiesStore.js","sourceRoot":"","sources":["../../../../src/ui/v3/state/capabilitiesStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;GAEG;AACH,MAAM,iBAAiB;IACb,KAAK,GAAsB;QACjC,MAAM,EAAE,UAAU;KACnB,CAAC;IAEM,SAAS,GAA4C,IAAI,GAAG,EAAE,CAAC;IAEvE;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAA4C;QACpD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,QAA2B;QAC1C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAChC,IAAI,CAAC;gBACH,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,+BAA+B;gBAC/B,yDAAyD;gBACzD,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;oBAC9C,MAAM,CAAC,KAAK,CAAC,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC9G,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACZ,gCAAgC;gBAClC,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAAe;QACvB,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,OAAe;QACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IACxC,CAAC;CACF;AAED,qBAAqB;AACrB,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gatewayConnectionStore.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/state/gatewayConnectionStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC9E;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAClH;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5G;;GAEG;AACH,cAAM,sBAAsB;IAC1B,OAAO,CAAC,KAAK,CAIX;IAEF,OAAO,CAAC,SAAS,CAAoD;IAErE;;OAEG;IACH,QAAQ,IAAI,eAAe;IAI3B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,MAAM,IAAI;IAOjE;;OAEG;IACH,OAAO,CAAC,QAAQ;IAahB;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAa,GAAG,IAAI;IAS7D;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAWxF;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAWxF;;OAEG;IACH,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;CAOtD;AAGD,eAAO,MAAM,sBAAsB,wBAA+B,CAAC"}
1
+ {"version":3,"file":"gatewayConnectionStore.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/state/gatewayConnectionStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC9E;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAClH;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5G;;GAEG;AACH,cAAM,sBAAsB;IAC1B,OAAO,CAAC,KAAK,CAIX;IAEF,OAAO,CAAC,SAAS,CAAoD;IAErE;;OAEG;IACH,QAAQ,IAAI,eAAe;IAI3B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,MAAM,IAAI;IAOjE;;OAEG;IACH,OAAO,CAAC,QAAQ;IAmBhB;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAa,GAAG,IAAI;IAS7D;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAWxF;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAWxF;;OAEG;IACH,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;CAOtD;AAGD,eAAO,MAAM,sBAAsB,wBAA+B,CAAC"}
@@ -45,7 +45,13 @@ class GatewayConnectionStore {
45
45
  }
46
46
  catch (error) {
47
47
  // Don't let listener errors break the store
48
- console.error('GatewayConnectionStore listener error:', error);
48
+ // Structural Fix A: Use logger
49
+ // Use dynamic import without await to avoid async issues
50
+ import('../core/logger.js').then(({ logger }) => {
51
+ logger.error(`GatewayConnectionStore listener error: ${error instanceof Error ? error.message : String(error)}`);
52
+ }).catch(() => {
53
+ // Logger not available - ignore
54
+ });
49
55
  }
50
56
  });
51
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gatewayConnectionStore.js","sourceRoot":"","sources":["../../../../src/ui/v3/state/gatewayConnectionStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH;;GAEG;AACH,MAAM,sBAAsB;IAClB,KAAK,GAAoB;QAC/B,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,eAAe;QACvB,IAAI,EAAE,qCAAqC;KAC5C,CAAC;IAEM,SAAS,GAA0C,IAAI,GAAG,EAAE,CAAC;IAErE;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAA0C;QAClD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,QAAyB;QACxC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,uBAAuB;QACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAChC,IAAI,CAAC;gBACH,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4CAA4C;gBAC5C,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAc,EAAE,YAAoB,IAAI;QACpD,IAAI,CAAC,QAAQ,CAAC;YACZ,MAAM,EAAE,YAAY;YACpB,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAc,EAAE,UAAkB,EAAE,MAAY,EAAE,SAAkB;QAC/E,IAAI,CAAC,QAAQ,CAAC;YACZ,MAAM,EAAE,WAAW;YACnB,MAAM;YACN,UAAU;YACV,MAAM;YACN,SAAS;YACT,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,MAAc,EAAE,IAAwB,EAAE,OAAe,EAAE,IAAa;QAC/E,IAAI,CAAC,QAAQ,CAAC;YACZ,MAAM,EAAE,OAAO;YACf,MAAM;YACN,IAAI;YACJ,OAAO;YACP,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;YACvB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAAe,EAAE,IAAa;QAC5C,IAAI,CAAC,QAAQ,CAAC;YACZ,MAAM,EAAE,cAAc;YACtB,MAAM;YACN,IAAI;SACL,CAAC,CAAC;IACL,CAAC;CACF;AAED,qBAAqB;AACrB,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"gatewayConnectionStore.js","sourceRoot":"","sources":["../../../../src/ui/v3/state/gatewayConnectionStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH;;GAEG;AACH,MAAM,sBAAsB;IAClB,KAAK,GAAoB;QAC/B,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,eAAe;QACvB,IAAI,EAAE,qCAAqC;KAC5C,CAAC;IAEM,SAAS,GAA0C,IAAI,GAAG,EAAE,CAAC;IAErE;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAA0C;QAClD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,QAAyB;QACxC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,uBAAuB;QACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAChC,IAAI,CAAC;gBACH,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4CAA4C;gBAC5C,+BAA+B;gBAC/B,yDAAyD;gBACzD,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;oBAC9C,MAAM,CAAC,KAAK,CAAC,0CAA0C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACnH,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACZ,gCAAgC;gBAClC,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAc,EAAE,YAAoB,IAAI;QACpD,IAAI,CAAC,QAAQ,CAAC;YACZ,MAAM,EAAE,YAAY;YACpB,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAc,EAAE,UAAkB,EAAE,MAAY,EAAE,SAAkB;QAC/E,IAAI,CAAC,QAAQ,CAAC;YACZ,MAAM,EAAE,WAAW;YACnB,MAAM;YACN,UAAU;YACV,MAAM;YACN,SAAS;YACT,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,MAAc,EAAE,IAAwB,EAAE,OAAe,EAAE,IAAa;QAC/E,IAAI,CAAC,QAAQ,CAAC;YACZ,MAAM,EAAE,OAAO;YACf,MAAM;YACN,IAAI;YACJ,OAAO;YACP,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;YACvB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAAe,EAAE,IAAa;QAC5C,IAAI,CAAC,QAAQ,CAAC;YACZ,MAAM,EAAE,cAAc;YACtB,MAAM;YACN,IAAI;SACL,CAAC,CAAC;IACL,CAAC;CACF;AAED,qBAAqB;AACrB,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,sBAAsB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"panelStore.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/state/panelStore.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGtI;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,MAAM,EAAE,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7D,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAChC,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAClC,YAAY,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC5C,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAClC,WAAW,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,cAAM,UAAU;IACd,OAAO,CAAC,KAAK,CA8BX;IAEF,OAAO,CAAC,SAAS,CAAgD;IAEjE;;OAEG;IACH,QAAQ,IAAI,WAAW;IAIvB;;OAEG;IACH,QAAQ,CAAC,CAAC,SAAS,MAAM,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAIjF;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,MAAM,IAAI;IAO7D;;OAEG;IACH,OAAO,CAAC,QAAQ;IAqBhB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG,IAAI;IAIrD;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI;IAI/C;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI;IAIjD;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAI3D;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI;IAIjD;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC,GAAG,IAAI;CAG1D;AAGD,eAAO,MAAM,UAAU,YAAmB,CAAC"}
1
+ {"version":3,"file":"panelStore.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/state/panelStore.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGtI;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,MAAM,EAAE,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7D,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAChC,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAClC,YAAY,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC5C,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAClC,WAAW,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,cAAM,UAAU;IACd,OAAO,CAAC,KAAK,CA8BX;IAEF,OAAO,CAAC,SAAS,CAAgD;IAEjE;;OAEG;IACH,QAAQ,IAAI,WAAW;IAIvB;;OAEG;IACH,QAAQ,CAAC,CAAC,SAAS,MAAM,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAIjF;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,MAAM,IAAI;IAO7D;;OAEG;IACH,OAAO,CAAC,QAAQ;IA4BhB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG,IAAI;IAIrD;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI;IAI/C;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI;IAIjD;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAI3D;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI;IAIjD;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC,GAAG,IAAI;CAG1D;AAGD,eAAO,MAAM,UAAU,YAAmB,CAAC"}
@@ -78,7 +78,14 @@ class PanelStore {
78
78
  listener({ ...this.state });
79
79
  }
80
80
  catch (error) {
81
- console.error('PanelStore listener error:', error);
81
+ // Structural Fix A: Use logger (but logger might not be available during store init)
82
+ // Silently continue - don't break the store if logger fails
83
+ // Use dynamic import without await to avoid async issues
84
+ import('../core/logger.js').then(({ logger }) => {
85
+ logger.error(`PanelStore listener error: ${error instanceof Error ? error.message : String(error)}`);
86
+ }).catch(() => {
87
+ // Logger not available - ignore
88
+ });
82
89
  }
83
90
  });
84
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"panelStore.js","sourceRoot":"","sources":["../../../../src/ui/v3/state/panelStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panelStore.js","sourceRoot":"","sources":["../../../../src/ui/v3/state/panelStore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/state/value.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/state/value.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  * - UNAVAILABLE/UNKNOWN must not include value
10
10
  * - No other fields
11
11
  */
12
+ import { logger } from '../core/logger.js';
12
13
  /**
13
14
  * Create an AVAILABLE value
14
15
  */
@@ -74,7 +75,7 @@ export function renderValue(v, renderAvailable, renderLoading) {
74
75
  // CRITICAL: If not available, ensure no value is present (defensive check)
75
76
  if ('value' in v && v.value !== undefined) {
76
77
  // State corruption detected - log and return error
77
- console.error('[renderValue] State corruption: UNAVAILABLE/UNKNOWN/LOADING state has value property', v);
78
+ logger.error(`[renderValue] State corruption: ${v.availability} state has value property`);
78
79
  return `UNAVAILABLE\nReason: State corruption (${v.availability} with value)\nNext: Restart application`;
79
80
  }
80
81
  if (isLoading(v)) {
@@ -1 +1 @@
1
- {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../../src/ui/v3/state/value.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../../src/ui/v3/state/value.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Structural Fix B: Enforce One UI Root
3
+ *
4
+ * Centralized TUI boot entry point with singleton guard.
5
+ * This is the ONLY place that should start the TUI.
6
+ *
7
+ * Rules:
8
+ * - Singleton guard prevents multiple UI instances
9
+ * - connect/reconnect updates store state only, never recreates UI
10
+ * - Never calls render() or creates new screen instances after initial boot
11
+ */
12
+ declare global {
13
+ var __TUI_STARTED__: boolean | undefined;
14
+ }
15
+ /**
16
+ * Start the TUI (singleton - only runs once per process)
17
+ *
18
+ * Returns true if TUI was started, false if already running
19
+ */
20
+ export declare function startTui(): Promise<boolean>;
21
+ /**
22
+ * Check if TUI is already started
23
+ */
24
+ export declare function isTuiStarted(): boolean;
25
+ //# sourceMappingURL=startTui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startTui.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/tui/startTui.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAmBjD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Structural Fix B: Enforce One UI Root
3
+ *
4
+ * Centralized TUI boot entry point with singleton guard.
5
+ * This is the ONLY place that should start the TUI.
6
+ *
7
+ * Rules:
8
+ * - Singleton guard prevents multiple UI instances
9
+ * - connect/reconnect updates store state only, never recreates UI
10
+ * - Never calls render() or creates new screen instances after initial boot
11
+ */
12
+ import { startPhase1Runtime } from '../ui/phase1Runtime.js';
13
+ /**
14
+ * Start the TUI (singleton - only runs once per process)
15
+ *
16
+ * Returns true if TUI was started, false if already running
17
+ */
18
+ export async function startTui() {
19
+ // Structural Fix B: Singleton guard
20
+ if (globalThis.__TUI_STARTED__) {
21
+ // TUI already started - do nothing
22
+ return false;
23
+ }
24
+ // Mark as started BEFORE calling startPhase1Runtime
25
+ // This prevents race conditions if startPhase1Runtime is called multiple times
26
+ globalThis.__TUI_STARTED__ = true;
27
+ try {
28
+ await startPhase1Runtime();
29
+ return true;
30
+ }
31
+ catch (error) {
32
+ // If start fails, reset the flag so we can retry
33
+ globalThis.__TUI_STARTED__ = false;
34
+ throw error;
35
+ }
36
+ }
37
+ /**
38
+ * Check if TUI is already started
39
+ */
40
+ export function isTuiStarted() {
41
+ return globalThis.__TUI_STARTED__ === true;
42
+ }
43
+ //# sourceMappingURL=startTui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startTui.js","sourceRoot":"","sources":["../../../../src/ui/v3/tui/startTui.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAQ5D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,oCAAoC;IACpC,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;QAC/B,mCAAmC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oDAAoD;IACpD,+EAA+E;IAC/E,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC;IAElC,IAAI,CAAC;QACH,MAAM,kBAAkB,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,iDAAiD;QACjD,UAAU,CAAC,eAAe,GAAG,KAAK,CAAC;QACnC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC,eAAe,KAAK,IAAI,CAAC;AAC7C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsPanel.d.ts","sourceRoot":"","sources":["../../../../../src/ui/v3/ui/panels/AssetsPanel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAe/D;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,MAAM,EAAE,CA2BrE"}
1
+ {"version":3,"file":"AssetsPanel.d.ts","sourceRoot":"","sources":["../../../../../src/ui/v3/ui/panels/AssetsPanel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAgB/D;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,MAAM,EAAE,CA6BrE"}
@@ -5,6 +5,7 @@
5
5
  * Handles Value<AssetsState> correctly - no blank panels.
6
6
  */
7
7
  import { renderValue, isAvailable } from '../../state/value.js';
8
+ import { logger } from '../../core/logger.js';
8
9
  /**
9
10
  * Render Assets panel content when AVAILABLE
10
11
  */
@@ -30,19 +31,22 @@ export function renderAssetsPanel(value) {
30
31
  if (!value || typeof value !== 'object' || !('availability' in value)) {
31
32
  return ['UNAVAILABLE', 'Reason: Invalid state object', 'Next: Restart application'];
32
33
  }
34
+ // CRITICAL: If state is not AVAILABLE, return UNAVAILABLE message immediately
35
+ // Do NOT call renderValue which might show data
36
+ if (!isAvailable(value)) {
37
+ const status = value.availability;
38
+ const reason = value.reason || 'Not available';
39
+ const nextAction = ('nextAction' in value && value.nextAction) ? value.nextAction : 'Run "help"';
40
+ return [status, `Reason: ${reason}`, `Next: ${nextAction}`];
41
+ }
42
+ // Only render data if state is AVAILABLE
33
43
  const content = renderValue(value, renderAvailable);
34
44
  const lines = content.split('\n').filter(line => line.trim().length > 0);
35
- // CRITICAL: If state is not AVAILABLE, ensure no data lines are present
36
- if (!isAvailable(value)) {
37
- // Double-check: if content contains data-like lines, something is wrong
38
- const hasDataLines = lines.some(line => line.includes('Total:') || line.includes('Active:') || line.includes('Idle:') || line.includes('Error:'));
39
- if (hasDataLines) {
40
- // State corruption detected - return only the UNAVAILABLE message
41
- const status = value.availability;
42
- const reason = value.reason || 'State corruption detected';
43
- const nextAction = ('nextAction' in value && value.nextAction) ? value.nextAction : 'Restart application';
44
- return [status, `Reason: ${reason}`, `Next: ${nextAction}`];
45
- }
45
+ // Final safety check: if lines contain UNAVAILABLE/UNKNOWN status, something is wrong
46
+ if (lines.some(line => line === 'UNAVAILABLE' || line === 'UNKNOWN' || line === 'DISABLED')) {
47
+ // This shouldn't happen if state is AVAILABLE, but defensive check
48
+ logger.error('[AssetsPanel] State corruption: AVAILABLE state returned UNAVAILABLE message');
49
+ return ['UNAVAILABLE', 'Reason: State corruption detected', 'Next: Restart application'];
46
50
  }
47
51
  return lines;
48
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsPanel.js","sourceRoot":"","sources":["../../../../../src/ui/v3/ui/panels/AssetsPanel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAiB,MAAM,sBAAsB,CAAC;AAE/E;;GAEG;AACH,SAAS,eAAe,CAAC,IAAiB;IACxC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,mDAAmD;IACnD,mDAAmD;IACnD,0DAA0D;IAC1D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,cAAc,IAAI,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,CAAC,aAAa,EAAE,8BAA8B,EAAE,2BAA2B,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEzE,wEAAwE;IACxE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,wEAAwE;QACxE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACzG,CAAC;QACF,IAAI,YAAY,EAAE,CAAC;YACjB,kEAAkE;YAClE,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;YAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,2BAA2B,CAAC;YAC3D,MAAM,UAAU,GAAG,CAAC,YAAY,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC;YAC1G,OAAO,CAAC,MAAM,EAAE,WAAW,MAAM,EAAE,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"AssetsPanel.js","sourceRoot":"","sources":["../../../../../src/ui/v3/ui/panels/AssetsPanel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAiB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C;;GAEG;AACH,SAAS,eAAe,CAAC,IAAiB;IACxC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,mDAAmD;IACnD,mDAAmD;IACnD,0DAA0D;IAC1D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,cAAc,IAAI,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,CAAC,aAAa,EAAE,8BAA8B,EAAE,2BAA2B,CAAC,CAAC;IACtF,CAAC;IAED,8EAA8E;IAC9E,gDAAgD;IAChD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,eAAe,CAAC;QAC/C,MAAM,UAAU,GAAG,CAAC,YAAY,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;QACjG,OAAO,CAAC,MAAM,EAAE,WAAW,MAAM,EAAE,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,yCAAyC;IACzC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEzE,sFAAsF;IACtF,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;QAC5F,mEAAmE;QACnE,MAAM,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;QAC7F,OAAO,CAAC,aAAa,EAAE,mCAAmC,EAAE,2BAA2B,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PosturePanel.d.ts","sourceRoot":"","sources":["../../../../../src/ui/v3/ui/panels/PosturePanel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAUhE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,MAAM,EAAE,CAsBvE"}
1
+ {"version":3,"file":"PosturePanel.d.ts","sourceRoot":"","sources":["../../../../../src/ui/v3/ui/panels/PosturePanel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAUhE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,MAAM,EAAE,CAyCvE"}
@@ -4,7 +4,7 @@
4
4
  * Renders the POSTURE panel content.
5
5
  * Currently shows DISABLED state since posture module is not implemented.
6
6
  */
7
- import { renderValue, isUnavailable } from '../../state/value.js';
7
+ import { renderValue, isUnavailable, isUnknown } from '../../state/value.js';
8
8
  /**
9
9
  * Render Posture panel content when AVAILABLE
10
10
  */
@@ -18,6 +18,24 @@ function renderAvailable(data) {
18
18
  * Shows DISABLED message if posture is not implemented
19
19
  */
20
20
  export function renderPosturePanel(value) {
21
+ // CRITICAL: Handle UNKNOWN state explicitly (prevents "UNKNOWN" from appearing as title)
22
+ if (isUnknown(value)) {
23
+ // UNKNOWN state - check if it should be DISABLED based on reason
24
+ if (value.reason?.includes('not probed') || value.reason?.includes('not enabled') || value.reason?.includes('POSTURE_URL')) {
25
+ // This is the initial UNKNOWN that should become DISABLED
26
+ return [
27
+ 'DISABLED',
28
+ `Reason: ${value.reason || 'Posture module not enabled in this build'}`,
29
+ `Next: ${value.nextAction || 'Enable posture service or configure POSTURE_URL'}`
30
+ ];
31
+ }
32
+ // Otherwise it's a true UNKNOWN state
33
+ return [
34
+ 'UNKNOWN',
35
+ value.reason ? `Reason: ${value.reason}` : 'Posture state unknown',
36
+ value.nextAction ? `Next: ${value.nextAction}` : 'Run "status" to check system state'
37
+ ];
38
+ }
21
39
  // If unavailable, check if it's a disabled state (deterministic)
22
40
  if (isUnavailable(value)) {
23
41
  // Check if reason indicates disabled (from module config probe)
@@ -35,7 +53,7 @@ export function renderPosturePanel(value) {
35
53
  value.nextAction ? `Next: ${value.nextAction}` : 'Connect to Gateway'
36
54
  ];
37
55
  }
38
- // Otherwise use normal rendering
56
+ // Otherwise use normal rendering (AVAILABLE or LOADING)
39
57
  const content = renderValue(value, renderAvailable);
40
58
  return content.split('\n');
41
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PosturePanel.js","sourceRoot":"","sources":["../../../../../src/ui/v3/ui/panels/PosturePanel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAElE;;GAEG;AACH,SAAS,eAAe,CAAC,IAAkB;IACzC,OAAO,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA0B;IAC3D,iEAAiE;IACjE,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,gEAAgE;QAChE,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACnF,OAAO;gBACL,UAAU;gBACV,WAAW,KAAK,CAAC,MAAM,EAAE;gBACzB,SAAS,KAAK,CAAC,UAAU,IAAI,iDAAiD,EAAE;aACjF,CAAC;QACJ,CAAC;QACD,mEAAmE;QACnE,OAAO;YACL,aAAa;YACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,eAAe;YAC1D,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,oBAAoB;SACtE,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACpD,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"PosturePanel.js","sourceRoot":"","sources":["../../../../../src/ui/v3/ui/panels/PosturePanel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE7E;;GAEG;AACH,SAAS,eAAe,CAAC,IAAkB;IACzC,OAAO,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA0B;IAC3D,yFAAyF;IACzF,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,iEAAiE;QACjE,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3H,0DAA0D;YAC1D,OAAO;gBACL,UAAU;gBACV,WAAW,KAAK,CAAC,MAAM,IAAI,0CAA0C,EAAE;gBACvE,SAAS,KAAK,CAAC,UAAU,IAAI,iDAAiD,EAAE;aACjF,CAAC;QACJ,CAAC;QACD,sCAAsC;QACtC,OAAO;YACL,SAAS;YACT,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,uBAAuB;YAClE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,oCAAoC;SACtF,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,gEAAgE;QAChE,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACnF,OAAO;gBACL,UAAU;gBACV,WAAW,KAAK,CAAC,MAAM,EAAE;gBACzB,SAAS,KAAK,CAAC,UAAU,IAAI,iDAAiD,EAAE;aACjF,CAAC;QACJ,CAAC;QACD,mEAAmE;QACnE,OAAO;YACL,aAAa;YACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,eAAe;YAC1D,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,oBAAoB;SACtE,CAAC;IACJ,CAAC;IAED,wDAAwD;IACxD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACpD,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ResourcesPanel.d.ts","sourceRoot":"","sources":["../../../../../src/ui/v3/ui/panels/ResourcesPanel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AA+BlE;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,MAAM,EAAE,CA4B3E"}
1
+ {"version":3,"file":"ResourcesPanel.d.ts","sourceRoot":"","sources":["../../../../../src/ui/v3/ui/panels/ResourcesPanel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAgClE;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,MAAM,EAAE,CA6B3E"}
@@ -6,6 +6,7 @@
6
6
  * Line-budgeted, truncation-safe.
7
7
  */
8
8
  import { isAvailable, renderValue } from '../../state/value.js';
9
+ import { logger } from '../../core/logger.js';
9
10
  /**
10
11
  * Format uptime string (already formatted in ResourcesState)
11
12
  */
@@ -43,20 +44,22 @@ export function renderResourcesPanel(value) {
43
44
  if (!value || typeof value !== 'object' || !('availability' in value)) {
44
45
  return ['UNAVAILABLE', 'Reason: Invalid state object', 'Next: Restart application'];
45
46
  }
47
+ // CRITICAL: If state is not AVAILABLE, return UNAVAILABLE message immediately
48
+ // Do NOT call renderValue which might show data
49
+ if (!isAvailable(value)) {
50
+ const status = value.availability;
51
+ const reason = value.reason || 'Not available';
52
+ const nextAction = ('nextAction' in value && value.nextAction) ? value.nextAction : 'Run "help"';
53
+ return [status, `Reason: ${reason}`, `Next: ${nextAction}`];
54
+ }
55
+ // Only render data if state is AVAILABLE
46
56
  const content = renderValue(value, renderAvailable);
47
57
  const lines = content.split('\n').filter(line => line.trim().length > 0);
48
- // CRITICAL: If state is not AVAILABLE, ensure no data lines are present
49
- // This is a defensive check to prevent showing data when state is UNAVAILABLE
50
- if (!isAvailable(value)) {
51
- // Double-check: if content contains data-like lines (CPU, RAM, etc.), something is wrong
52
- const hasDataLines = lines.some(line => line.includes('CPU:') || line.includes('RAM:') || line.includes('DISK:') || line.includes('UP:'));
53
- if (hasDataLines) {
54
- // State corruption detected - return only the UNAVAILABLE message
55
- const status = value.availability;
56
- const reason = value.reason || 'State corruption detected';
57
- const nextAction = ('nextAction' in value && value.nextAction) ? value.nextAction : 'Restart application';
58
- return [status, `Reason: ${reason}`, `Next: ${nextAction}`];
59
- }
58
+ // Final safety check: if lines contain UNAVAILABLE/UNKNOWN status, something is wrong
59
+ if (lines.some(line => line === 'UNAVAILABLE' || line === 'UNKNOWN' || line === 'DISABLED')) {
60
+ // This shouldn't happen if state is AVAILABLE, but defensive check
61
+ logger.error('[ResourcesPanel] State corruption: AVAILABLE state returned UNAVAILABLE message');
62
+ return ['UNAVAILABLE', 'Reason: State corruption detected', 'Next: Restart application'];
60
63
  }
61
64
  return lines;
62
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ResourcesPanel.js","sourceRoot":"","sources":["../../../../../src/ui/v3/ui/panels/ResourcesPanel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAiB,MAAM,sBAAsB,CAAC;AAE/E;;GAEG;AACH,SAAS,YAAY,CAAC,MAAc;IAClC,OAAO,MAAM,CAAC,CAAC,gCAAgC;AACjD,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,IAAoB;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,cAAc;IACd,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE5C,cAAc;IACd,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,MAAM,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC;IAE7D,eAAe;IACf,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,MAAM,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC;IAEhE,iBAAiB;IACnB,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAEjC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA4B;IAC/D,mDAAmD;IACnD,mDAAmD;IACnD,0DAA0D;IAC1D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,cAAc,IAAI,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,CAAC,aAAa,EAAE,8BAA8B,EAAE,2BAA2B,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEzE,wEAAwE;IACxE,8EAA8E;IAC9E,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,yFAAyF;QACzF,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CACjG,CAAC;QACF,IAAI,YAAY,EAAE,CAAC;YACjB,kEAAkE;YAClE,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;YAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,2BAA2B,CAAC;YAC3D,MAAM,UAAU,GAAG,CAAC,YAAY,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC;YAC1G,OAAO,CAAC,MAAM,EAAE,WAAW,MAAM,EAAE,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"ResourcesPanel.js","sourceRoot":"","sources":["../../../../../src/ui/v3/ui/panels/ResourcesPanel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAiB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C;;GAEG;AACH,SAAS,YAAY,CAAC,MAAc;IAClC,OAAO,MAAM,CAAC,CAAC,gCAAgC;AACjD,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,IAAoB;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,cAAc;IACd,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE5C,cAAc;IACd,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,MAAM,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC;IAE7D,eAAe;IACf,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,MAAM,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC;IAEhE,iBAAiB;IACnB,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAEjC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA4B;IAC/D,mDAAmD;IACnD,mDAAmD;IACnD,0DAA0D;IAC1D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,cAAc,IAAI,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,CAAC,aAAa,EAAE,8BAA8B,EAAE,2BAA2B,CAAC,CAAC;IACtF,CAAC;IAED,8EAA8E;IAC9E,gDAAgD;IAChD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,eAAe,CAAC;QAC/C,MAAM,UAAU,GAAG,CAAC,YAAY,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;QACjG,OAAO,CAAC,MAAM,EAAE,WAAW,MAAM,EAAE,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,yCAAyC;IACzC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEzE,sFAAsF;IACtF,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;QAC5F,mEAAmE;QACnE,MAAM,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;QAChG,OAAO,CAAC,aAAa,EAAE,mCAAmC,EAAE,2BAA2B,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}