4runr-os 2.0.12 → 2.0.13

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.
@@ -4,7 +4,7 @@
4
4
  * RULES (NEVER VIOLATE):
5
5
  * 1. Always return integers
6
6
  * 2. Clamp to minimums (prevents 0/undefined during resize)
7
- * 3. Account for margins/borders
7
+ * 3. Account for margins/borders (right edge must be <= cols - 1)
8
8
  * 4. Never exceed these dimensions in any widget
9
9
  */
10
10
  import type { Widgets } from 'neo-blessed';
@@ -14,16 +14,30 @@ export interface TerminalGeometry {
14
14
  safeCols: number;
15
15
  safeRows: number;
16
16
  source: 'screen' | 'stdout' | 'clamped';
17
+ mode: 'native' | 'ssh' | 'browser' | 'unknown';
17
18
  timestamp: number;
18
19
  }
20
+ /**
21
+ * Get terminal size - SINGLE SOURCE OF TRUTH
22
+ *
23
+ * Priority (most accurate first):
24
+ * 1. If browser mode: Use size from client (xterm sends cols/rows via websocket)
25
+ * - For now, fallback to blessed screen since we don't have websocket integration yet
26
+ * 2. Blessed screen.program.cols/rows (most accurate for blessed)
27
+ * 3. Blessed screen.cols/rows (alternative blessed API)
28
+ * 4. Blessed screen.width/height (fallback for blessed)
29
+ * 5. process.stdout.columns/rows (fallback)
30
+ * 6. Clamped minimums (safety)
31
+ */
32
+ export declare function getTerminalSize(screen?: Widgets.Screen): {
33
+ cols: number;
34
+ rows: number;
35
+ source: TerminalGeometry['source'];
36
+ };
19
37
  /**
20
38
  * Get current terminal geometry
21
39
  *
22
- * Priority (Step 2 - Make geometry source authoritative):
23
- * 1. Blessed screen.cols/rows (most accurate for blessed)
24
- * 2. Blessed screen.width/height (fallback for blessed)
25
- * 3. process.stdout.columns/rows (fallback)
26
- * 4. Clamped minimums (safety)
40
+ * Uses getTerminalSize() as single source of truth, then applies mode-specific margins
27
41
  */
28
42
  export declare function getTerminalGeometry(screen?: Widgets.Screen): TerminalGeometry;
29
43
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/tui/geometry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAU3C,MAAM,WAAW,gBAAgB;IAE/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IAGb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IAGjB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB;AAID;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAuE7E;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,gBAAgB,GAAG,IAAI,CAEzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAQnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CASjE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAW,GAAG,MAAM,CAG5E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG,MAAM,CAG9E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAE5D"}
1
+ {"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/tui/geometry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAW3C,MAAM,WAAW,gBAAgB;IAE/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IAGb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IAGjB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC;CACnB;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;CAAE,CA6D3H;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAiC7E;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,gBAAgB,GAAG,IAAI,CAEzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CASnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CASjE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAW,GAAG,MAAM,CAG5E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG,MAAM,CAG9E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAE5D"}
@@ -4,9 +4,10 @@
4
4
  * RULES (NEVER VIOLATE):
5
5
  * 1. Always return integers
6
6
  * 2. Clamp to minimums (prevents 0/undefined during resize)
7
- * 3. Account for margins/borders
7
+ * 3. Account for margins/borders (right edge must be <= cols - 1)
8
8
  * 4. Never exceed these dimensions in any widget
9
9
  */
10
+ import { detectTerminalMode } from './terminalMode.js';
10
11
  // Absolute minimums (below this, TUI is unusable)
11
12
  const MIN_COLS = 40;
12
13
  const MIN_ROWS = 15;
@@ -15,64 +16,89 @@ const HORIZONTAL_MARGIN = 0; // Blessed handles borders internally
15
16
  const VERTICAL_MARGIN = 0; // Blessed handles borders internally
16
17
  let lastGeometry = null;
17
18
  /**
18
- * Get current terminal geometry
19
+ * Get terminal size - SINGLE SOURCE OF TRUTH
19
20
  *
20
- * Priority (Step 2 - Make geometry source authoritative):
21
- * 1. Blessed screen.cols/rows (most accurate for blessed)
22
- * 2. Blessed screen.width/height (fallback for blessed)
23
- * 3. process.stdout.columns/rows (fallback)
24
- * 4. Clamped minimums (safety)
21
+ * Priority (most accurate first):
22
+ * 1. If browser mode: Use size from client (xterm sends cols/rows via websocket)
23
+ * - For now, fallback to blessed screen since we don't have websocket integration yet
24
+ * 2. Blessed screen.program.cols/rows (most accurate for blessed)
25
+ * 3. Blessed screen.cols/rows (alternative blessed API)
26
+ * 4. Blessed screen.width/height (fallback for blessed)
27
+ * 5. process.stdout.columns/rows (fallback)
28
+ * 6. Clamped minimums (safety)
25
29
  */
26
- export function getTerminalGeometry(screen) {
30
+ export function getTerminalSize(screen) {
31
+ const mode = detectTerminalMode();
32
+ // Future: If browser mode and we have a websocket resize message store, use that
33
+ // For now, use blessed screen as primary source
27
34
  let cols;
28
35
  let rows;
29
36
  let source;
30
- // Step 2: Try blessed screen.cols/rows first (blessed API uses cols/rows)
31
- if (screen && typeof screen.cols === 'number' && typeof screen.rows === 'number') {
37
+ // Priority 1: Blessed screen.program.cols/rows (most accurate)
38
+ if (screen && screen.program) {
39
+ const program = screen.program;
40
+ if (typeof program.cols === 'number' && typeof program.rows === 'number') {
41
+ cols = program.cols;
42
+ rows = program.rows;
43
+ source = 'screen';
44
+ }
45
+ }
46
+ // Priority 2: Blessed screen.cols/rows (blessed API)
47
+ if (cols === undefined && screen && typeof screen.cols === 'number' && typeof screen.rows === 'number') {
32
48
  cols = screen.cols;
33
49
  rows = screen.rows;
34
50
  source = 'screen';
35
51
  }
36
- // Try blessed screen.width/height (alternative blessed API)
37
- else if (screen && typeof screen.width === 'number' && typeof screen.height === 'number') {
52
+ // Priority 3: Blessed screen.width/height (alternative blessed API)
53
+ if (cols === undefined && screen && typeof screen.width === 'number' && typeof screen.height === 'number') {
38
54
  cols = screen.width;
39
55
  rows = screen.height;
40
56
  source = 'screen';
41
57
  }
42
- // Fallback to stdout
43
- else if (process.stdout.columns && process.stdout.rows) {
58
+ // Priority 4: process.stdout.columns/rows (fallback)
59
+ if (cols === undefined && process.stdout.columns && process.stdout.rows) {
44
60
  cols = process.stdout.columns;
45
61
  rows = process.stdout.rows;
46
62
  source = 'stdout';
47
63
  }
48
- // Safety fallback
49
- else {
64
+ // Priority 5: Safety fallback
65
+ if (cols === undefined) {
50
66
  cols = MIN_COLS;
51
67
  rows = MIN_ROWS;
52
68
  source = 'clamped';
53
69
  }
70
+ // Ensure rows is defined (should always be set by this point, but TypeScript safety)
71
+ if (rows === undefined) {
72
+ rows = MIN_ROWS;
73
+ }
74
+ if (source === undefined) {
75
+ source = 'clamped';
76
+ }
54
77
  // Clamp to minimums (prevents transient 0/undefined during resize)
55
78
  cols = Math.max(MIN_COLS, Math.floor(cols));
56
79
  rows = Math.max(MIN_ROWS, Math.floor(rows));
57
- // CRITICAL: CloudShell/browser terminals often report widths that cause horizontal scrollbars
58
- // Detect browser-like environment and apply aggressive clamping
59
- // ONLY detect CloudShell explicitly - don't assume all wide terminals are browser terminals
60
- const isBrowserTerminal = typeof process.env.CLOUDSHELL_SESSION !== 'undefined' ||
61
- process.env.AWS_EXECUTION_ENV?.includes('CloudShell');
62
- // Removed: (process.stdout.columns && cols === process.stdout.columns && cols > 200)
63
- // This was incorrectly detecting Windows Terminal and other local terminals as browser terminals
64
- // Apply extra safety margin for browser terminals (prevents horizontal scrollbar)
65
- // CloudShell reports 282 but actual usable width is ~270-275 (need 10-12 char margin)
66
- // Local terminals like Windows Terminal don't need this margin
80
+ return { cols, rows, source };
81
+ }
82
+ /**
83
+ * Get current terminal geometry
84
+ *
85
+ * Uses getTerminalSize() as single source of truth, then applies mode-specific margins
86
+ */
87
+ export function getTerminalGeometry(screen) {
88
+ const mode = detectTerminalMode();
89
+ const { cols, rows, source } = getTerminalSize(screen);
90
+ // Apply mode-specific margins
91
+ // Browser terminals (CloudShell) need extra margin to prevent scrollbars
92
+ const isBrowserTerminal = mode === 'browser';
67
93
  const browserTerminalMargin = isBrowserTerminal ? 12 : 0; // 12-char margin for CloudShell
68
94
  // Additional: Hard cap for CloudShell if width is suspiciously large
69
- // CloudShell viewport is often 270-275 even when it reports 282+
70
95
  let adjustedCols = cols;
71
96
  if (isBrowserTerminal && cols > 270) {
72
97
  // Cap at 270 for CloudShell (conservative)
73
98
  adjustedCols = Math.min(cols, 270);
74
99
  }
75
- // Calculate safe dimensions (accounting for margins and browser terminal quirks)
100
+ // Calculate safe dimensions (accounting for margins)
101
+ // CRITICAL: right edge must be <= cols - 1 to prevent scrollbars
76
102
  const safeCols = Math.max(MIN_COLS, adjustedCols - HORIZONTAL_MARGIN - browserTerminalMargin);
77
103
  const safeRows = Math.max(MIN_ROWS, rows - VERTICAL_MARGIN);
78
104
  const geometry = {
@@ -81,6 +107,7 @@ export function getTerminalGeometry(screen) {
81
107
  safeCols,
82
108
  safeRows,
83
109
  source,
110
+ mode,
84
111
  timestamp: Date.now(),
85
112
  };
86
113
  lastGeometry = geometry;
@@ -99,6 +126,7 @@ export function hasGeometryChanged(screen) {
99
126
  if (!lastGeometry)
100
127
  return true;
101
128
  const current = getTerminalGeometry(screen);
129
+ // Only check cols/rows, not safeCols/safeRows (which can change due to mode detection)
102
130
  return (current.cols !== lastGeometry.cols ||
103
131
  current.rows !== lastGeometry.rows);
104
132
  }
@@ -144,6 +172,6 @@ export function clampPanelHeight(height, minHeight = 3) {
144
172
  * Format geometry for debug output
145
173
  */
146
174
  export function formatGeometry(geo) {
147
- return `cols=${geo.cols} rows=${geo.rows} safeCols=${geo.safeCols} safeRows=${geo.safeRows} source=${geo.source}`;
175
+ return `cols=${geo.cols} rows=${geo.rows} safeCols=${geo.safeCols} safeRows=${geo.safeRows} source=${geo.source} mode=${geo.mode}`;
148
176
  }
149
177
  //# sourceMappingURL=geometry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../../../src/ui/v3/tui/geometry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../../../src/ui/v3/tui/geometry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Terminal Mode Detection - Explicit Runtime Environment Detection
3
+ *
4
+ * Determines the terminal runtime mode to handle resize and layout correctly
5
+ * for each environment type.
6
+ */
7
+ export type TerminalMode = 'native' | 'ssh' | 'browser' | 'unknown';
8
+ /**
9
+ * Detect terminal runtime mode
10
+ *
11
+ * Returns:
12
+ * - "native": Real local terminal (Windows Terminal / iTerm / Linux native)
13
+ * - "ssh": Remote terminal via SSH
14
+ * - "browser": Browser-based terminal (xterm.js / web terminal / CloudShell)
15
+ * - "unknown": Cannot determine (fallback)
16
+ *
17
+ * Detection logic:
18
+ * 1. Browser: Check for websocket client or CloudShell environment variables
19
+ * 2. SSH: Check for SSH environment variables
20
+ * 3. Native: Default for local terminals
21
+ */
22
+ export declare function detectTerminalMode(): TerminalMode;
23
+ /**
24
+ * Get detection log (for debugging)
25
+ */
26
+ export declare function getDetectionLog(): string[];
27
+ /**
28
+ * Reset detection (for testing)
29
+ */
30
+ export declare function resetDetection(): void;
31
+ //# sourceMappingURL=terminalMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminalMode.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/tui/terminalMode.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;AAKpE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAiDjD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAGrC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Terminal Mode Detection - Explicit Runtime Environment Detection
3
+ *
4
+ * Determines the terminal runtime mode to handle resize and layout correctly
5
+ * for each environment type.
6
+ */
7
+ let detectedMode = null;
8
+ let detectionLog = [];
9
+ /**
10
+ * Detect terminal runtime mode
11
+ *
12
+ * Returns:
13
+ * - "native": Real local terminal (Windows Terminal / iTerm / Linux native)
14
+ * - "ssh": Remote terminal via SSH
15
+ * - "browser": Browser-based terminal (xterm.js / web terminal / CloudShell)
16
+ * - "unknown": Cannot determine (fallback)
17
+ *
18
+ * Detection logic:
19
+ * 1. Browser: Check for websocket client or CloudShell environment variables
20
+ * 2. SSH: Check for SSH environment variables
21
+ * 3. Native: Default for local terminals
22
+ */
23
+ export function detectTerminalMode() {
24
+ if (detectedMode !== null) {
25
+ return detectedMode;
26
+ }
27
+ detectionLog = [];
28
+ detectionLog.push('=== Terminal Mode Detection ===');
29
+ // Check 1: Browser/Web terminal
30
+ // CloudShell sets specific environment variables
31
+ const hasCloudShellEnv = typeof process.env.CLOUDSHELL_SESSION !== 'undefined' ||
32
+ process.env.AWS_EXECUTION_ENV?.includes('CloudShell');
33
+ // Check for websocket/HTTP server indicators (if running in browser context)
34
+ // Note: In Node.js backend, we can't directly detect if frontend is browser,
35
+ // but we can check for CloudShell which is a known browser terminal
36
+ const isBrowser = hasCloudShellEnv;
37
+ if (isBrowser) {
38
+ detectedMode = 'browser';
39
+ detectionLog.push(`Detected: browser (CloudShell environment)`);
40
+ detectionLog.push(` CLOUDSHELL_SESSION: ${process.env.CLOUDSHELL_SESSION ?? 'not set'}`);
41
+ detectionLog.push(` AWS_EXECUTION_ENV: ${process.env.AWS_EXECUTION_ENV ?? 'not set'}`);
42
+ return detectedMode;
43
+ }
44
+ // Check 2: SSH
45
+ // SSH connections set SSH_TTY or SSH_CONNECTION
46
+ const hasSshEnv = typeof process.env.SSH_TTY !== 'undefined' ||
47
+ typeof process.env.SSH_CONNECTION !== 'undefined' ||
48
+ typeof process.env.SSH_CLIENT !== 'undefined';
49
+ if (hasSshEnv) {
50
+ detectedMode = 'ssh';
51
+ detectionLog.push(`Detected: ssh (SSH environment)`);
52
+ detectionLog.push(` SSH_TTY: ${process.env.SSH_TTY ?? 'not set'}`);
53
+ detectionLog.push(` SSH_CONNECTION: ${process.env.SSH_CONNECTION ?? 'not set'}`);
54
+ return detectedMode;
55
+ }
56
+ // Default: Native terminal (Windows Terminal, iTerm, Linux native terminal)
57
+ detectedMode = 'native';
58
+ detectionLog.push(`Detected: native (local terminal)`);
59
+ detectionLog.push(` Platform: ${process.platform}`);
60
+ detectionLog.push(` TERM: ${process.env.TERM ?? 'not set'}`);
61
+ return detectedMode;
62
+ }
63
+ /**
64
+ * Get detection log (for debugging)
65
+ */
66
+ export function getDetectionLog() {
67
+ return [...detectionLog];
68
+ }
69
+ /**
70
+ * Reset detection (for testing)
71
+ */
72
+ export function resetDetection() {
73
+ detectedMode = null;
74
+ detectionLog = [];
75
+ }
76
+ //# sourceMappingURL=terminalMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminalMode.js","sourceRoot":"","sources":["../../../../src/ui/v3/tui/terminalMode.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,IAAI,YAAY,GAAwB,IAAI,CAAC;AAC7C,IAAI,YAAY,GAAa,EAAE,CAAC;AAEhC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,YAAY,GAAG,EAAE,CAAC;IAClB,YAAY,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAErD,gCAAgC;IAChC,iDAAiD;IACjD,MAAM,gBAAgB,GACpB,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,WAAW;QACrD,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAExD,6EAA6E;IAC7E,6EAA6E;IAC7E,oEAAoE;IACpE,MAAM,SAAS,GAAG,gBAAgB,CAAC;IAEnC,IAAI,SAAS,EAAE,CAAC;QACd,YAAY,GAAG,SAAS,CAAC;QACzB,YAAY,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAChE,YAAY,CAAC,IAAI,CAAC,yBAAyB,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,SAAS,EAAE,CAAC,CAAC;QAC1F,YAAY,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,SAAS,EAAE,CAAC,CAAC;QACxF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,eAAe;IACf,gDAAgD;IAChD,MAAM,SAAS,GACb,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,WAAW;QAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,WAAW;QACjD,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,WAAW,CAAC;IAEhD,IAAI,SAAS,EAAE,CAAC;QACd,YAAY,GAAG,KAAK,CAAC;QACrB,YAAY,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACrD,YAAY,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC;QACpE,YAAY,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,SAAS,EAAE,CAAC,CAAC;QAClF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,4EAA4E;IAC5E,YAAY,GAAG,QAAQ,CAAC;IACxB,YAAY,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACvD,YAAY,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrD,YAAY,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC;IAE9D,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,YAAY,GAAG,IAAI,CAAC;IACpB,YAAY,GAAG,EAAE,CAAC;AACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"phase1Layout.d.ts","sourceRoot":"","sources":["../../../../../src/ui/v3/ui/layout/phase1Layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAGD,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,eAAO,MAAM,UAAU,KAAK,CAAC;AAM7B;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,YAAY,CAwNxG"}
1
+ {"version":3,"file":"phase1Layout.d.ts","sourceRoot":"","sources":["../../../../../src/ui/v3/ui/layout/phase1Layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAGD,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,eAAO,MAAM,UAAU,KAAK,CAAC;AAM7B;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,YAAY,CA6OxG"}
@@ -57,10 +57,8 @@ export function computePhase1Layout(width, height, screen) {
57
57
  // can trust safeWidth and only subtract gutters for local terminals
58
58
  // ============================================================================
59
59
  const totalGutters = GUTTER * 2; // 2 gutters between 3 columns
60
- // Detect if this is a browser terminal (geometry.ts applies browser margin)
61
- const isBrowserTerminal = typeof process.env.CLOUDSHELL_SESSION !== 'undefined' ||
62
- process.env.AWS_EXECUTION_ENV?.includes('CloudShell') ||
63
- (process.stdout.columns && geo.cols === process.stdout.columns && geo.cols > 200);
60
+ // Detect if this is a browser terminal (use mode from geometry - authoritative)
61
+ const isBrowserTerminal = geo.mode === 'browser';
64
62
  // For local terminals: use FULL width (safeWidth = cols for local terminals)
65
63
  // For browser terminals: geometry.ts already subtracted browser margin, so use safeWidth as-is
66
64
  // Use full safeWidth minus only the gutters needed for column spacing
@@ -209,6 +207,28 @@ export function computePhase1Layout(width, height, screen) {
209
207
  if (layout.commandLine.top + layout.commandLine.height > safeHeight) {
210
208
  errors.push(`Command line overflow: ${layout.commandLine.top + layout.commandLine.height} > ${safeHeight}`);
211
209
  }
210
+ // DEBUG MODE: Assert right edge <= cols - 1 for all panels (prevents horizontal scrollbar)
211
+ const isDebugMode = process.env.TUI_DEBUG === '1';
212
+ if (isDebugMode) {
213
+ const panels = [
214
+ { name: 'POSTURE', rect: layout.posture },
215
+ { name: 'RESOURCES', rect: layout.resources },
216
+ { name: 'ASSETS', rect: layout.assets },
217
+ { name: 'OPERATIONS', rect: layout.operations },
218
+ { name: 'NETWORK', rect: layout.network },
219
+ { name: 'CAPABILITIES', rect: layout.capabilities },
220
+ { name: 'COMMAND_LINE', rect: layout.commandLine },
221
+ ];
222
+ for (const { name, rect } of panels) {
223
+ const rightEdge = rect.left + rect.width;
224
+ // CRITICAL: right edge must be <= cols - 1 to prevent scrollbar
225
+ // For safeCols, use <= safeCols - 1 (accounting for browser margins)
226
+ const maxRightEdge = safeWidth - 1;
227
+ if (rightEdge > maxRightEdge) {
228
+ errors.push(`⚠ WARNING: ${name} right edge overflow: ${rightEdge} > ${maxRightEdge} (cols=${geo.cols}, safeCols=${safeWidth})`);
229
+ }
230
+ }
231
+ }
212
232
  if (errors.length > 0) {
213
233
  return {
214
234
  ok: false,
@@ -1 +1 @@
1
- {"version":3,"file":"phase1Layout.js","sourceRoot":"","sources":["../../../../../src/ui/v3/ui/layout/phase1Layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phase1Layout.js","sourceRoot":"","sources":["../../../../../src/ui/v3/ui/layout/phase1Layout.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"phase1RuntimeClean.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/ui/phase1RuntimeClean.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA2MH;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwKxD;AA2dD;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,EAAE,CAoJrC"}
1
+ {"version":3,"file":"phase1RuntimeClean.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/ui/phase1RuntimeClean.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA6MH;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA6LxD;AAsgBD;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,EAAE,CAyJrC"}
@@ -23,8 +23,9 @@ import { renderNetworkPanel } from './panels/NetworkPanel.js';
23
23
  import { renderCapabilitiesPanel } from './panels/CapabilitiesPanel.js';
24
24
  import { isAvailable } from '../state/value.js';
25
25
  import { parse, execute, UiAction } from '../commands/commandEngine.js';
26
- import { BOOT_ID, isDebugMode, trackWidget, trackListenerBinding, dumpUIInventory, installStdoutMonkeypatch, updateResizeStats } from './debugUtils.js';
26
+ import { BOOT_ID, isDebugMode, trackWidget, trackListenerBinding, installStdoutMonkeypatch, updateResizeStats } from './debugUtils.js';
27
27
  import { getTerminalGeometry, hasGeometryChanged, isGeometryStable, formatGeometry } from '../tui/geometry.js';
28
+ import { detectTerminalMode, getDetectionLog } from '../tui/terminalMode.js';
28
29
  const blessedLib = blessed;
29
30
  const PROMPT = '4runr> ';
30
31
  // Phase B1: Global mount guard - ONE SCREEN. ONE MOUNT. FOREVER.
@@ -49,7 +50,8 @@ let cursorPosition = PROMPT.length;
49
50
  let scrollOffset = 0;
50
51
  // Phase C1: Resize debounce (prevent resize storm)
51
52
  let resizeDebounceTimer = null;
52
- const RESIZE_DEBOUNCE_MS = 100; // 100ms debounce (Phase C1 requirement)
53
+ let lastAppliedSize = null;
54
+ const RESIZE_DEBOUNCE_MS = 200; // 200ms debounce to handle resize storms
53
55
  let resizeEventCount = 0;
54
56
  let resizeApplyCount = 0;
55
57
  // Resize handler guard (Step 4A: bind once)
@@ -172,6 +174,21 @@ export async function startPhase1Runtime() {
172
174
  }
173
175
  // Log boot ID and terminal size
174
176
  log('SYS', `TUI starting (bootId=${BOOT_ID})`);
177
+ // Detect and log terminal mode (once at boot)
178
+ const terminalMode = detectTerminalMode();
179
+ const detectionLog = getDetectionLog();
180
+ log('SYS', `Terminal mode: ${terminalMode}`);
181
+ if (isDebugMode()) {
182
+ for (const line of detectionLog) {
183
+ log('DBG', line);
184
+ }
185
+ }
186
+ // Hard guard: Check global TUI initialization flag
187
+ if (globalThis.__TUI_INITIALIZED__) {
188
+ log('ERR', 'TUI already initialized - refusing to re-init', 'ERROR');
189
+ throw new Error('TUI already initialized - cannot reinitialize');
190
+ }
191
+ globalThis.__TUI_INITIALIZED__ = true;
175
192
  // Issue 2 - Step 2: Patch console in TUI mode (failsafe)
176
193
  // This prevents any library or accidental console.log from breaking the TUI
177
194
  const originalLog = console.log;
@@ -217,6 +234,8 @@ export async function startPhase1Runtime() {
217
234
  // Step 2: Get geometry from authoritative source (screen values are authoritative)
218
235
  // Pass screen so geometry can read screen.cols/rows directly
219
236
  const geo = getTerminalGeometry(screen);
237
+ // Initialize last applied size (prevents duplicate processing on first resize)
238
+ lastAppliedSize = { cols: geo.cols, rows: geo.rows };
220
239
  const layoutResult = computePhase1Layout(geo.cols, geo.rows, screen);
221
240
  if (!layoutResult.ok || !layoutResult.layout) {
222
241
  const errorMsg = layoutResult.errorMessage || 'Terminal too small';
@@ -303,6 +322,58 @@ export async function startPhase1Runtime() {
303
322
  level: 'INFO'
304
323
  });
305
324
  }
325
+ /**
326
+ * Schedule resize application with throttling and "last applied" guard
327
+ *
328
+ * Ensures:
329
+ * - Debounce: Multiple rapid resize events result in single layout update
330
+ * - Ignore duplicates: Skip if size hasn't changed from last applied
331
+ * - Single render: Only one render per resize application
332
+ */
333
+ function scheduleResize(nextCols, nextRows, screen, widgets) {
334
+ // Check if this is the same as last applied (ignore duplicates)
335
+ if (lastAppliedSize && lastAppliedSize.cols === nextCols && lastAppliedSize.rows === nextRows) {
336
+ return; // Same size, no need to recompute
337
+ }
338
+ // Cancel any pending resize
339
+ if (resizeDebounceTimer) {
340
+ clearTimeout(resizeDebounceTimer);
341
+ }
342
+ // Schedule resize application
343
+ resizeDebounceTimer = setTimeout(() => {
344
+ resizeDebounceTimer = null;
345
+ resizeApplyCount++;
346
+ // Update last applied size BEFORE processing (prevents duplicate processing)
347
+ lastAppliedSize = { cols: nextCols, rows: nextRows };
348
+ updateResizeStats({ eventCount: resizeEventCount, applyCount: resizeApplyCount });
349
+ // Get current geometry (always fresh from screen)
350
+ const geo = getTerminalGeometry(screen);
351
+ // Verify we're applying the expected size
352
+ if (geo.cols !== nextCols || geo.rows !== nextRows) {
353
+ // Screen dimensions changed while debouncing - use current screen dimensions
354
+ if (isDebugMode()) {
355
+ log('DBG', `Size changed during debounce: requested ${nextCols}x${nextRows}, using ${geo.cols}x${geo.rows}`);
356
+ }
357
+ }
358
+ // Throttle resize logging to prevent spam (only log every 5th resize apply)
359
+ if (isDebugMode() && resizeApplyCount % 5 === 0) {
360
+ log('DBG', `Resize apply #${resizeApplyCount} (${resizeEventCount} events): ${formatGeometry(geo)}`);
361
+ const screenCols = screen.cols ?? screen.program?.cols ?? screen.width;
362
+ const screenRows = screen.rows ?? screen.program?.rows ?? screen.height;
363
+ log('DBG', `screen.cols=${screenCols} screen.rows=${screenRows} screen.width=${screen.width} screen.height=${screen.height}`);
364
+ }
365
+ // Resize = REFLOW ONLY (layoutUI reads geometry fresh from screen)
366
+ layoutUI(screen, widgets);
367
+ // Render once (no logging inside render)
368
+ screen.render();
369
+ // Validate no duplication occurred
370
+ const widgetCount = screen.children?.length || 0;
371
+ const commandLineCount = screen.children?.filter((w) => w === widgets.commandLine).length || 0;
372
+ if (commandLineCount > 1) {
373
+ log('ERR', `DUPLICATION DETECTED: ${commandLineCount} command lines!`, 'ERROR');
374
+ }
375
+ }, RESIZE_DEBOUNCE_MS);
376
+ }
306
377
  /**
307
378
  * Step 2: Resize handler - UPDATE LAYOUT ONLY
308
379
  * Step 4A: Bind once guard
@@ -315,10 +386,10 @@ function setupResizeHandling(screen, widgets, unbindFns) {
315
386
  }
316
387
  resizeHandlerBound = true;
317
388
  updateResizeStats({ handlerBound: true });
318
- const resizeHandler = () => {
319
- // Phase C1: Count resize events
389
+ // Common resize handler (used by both screen and stdout resize events)
390
+ const handleResize = () => {
320
391
  resizeEventCount++;
321
- // Phase C1: Check geometry stability (reject impossible sizes)
392
+ // Check geometry stability (reject impossible sizes)
322
393
  if (!isGeometryStable(screen)) {
323
394
  if (isDebugMode()) {
324
395
  const geo = getTerminalGeometry(screen);
@@ -326,58 +397,39 @@ function setupResizeHandling(screen, widgets, unbindFns) {
326
397
  }
327
398
  return;
328
399
  }
329
- // Phase C1: Check if geometry actually changed
400
+ // Get current screen dimensions (authoritative source)
401
+ const screenCols = screen.cols ?? screen.program?.cols ?? screen.width;
402
+ const screenRows = screen.rows ?? screen.program?.rows ?? screen.height;
403
+ // Fallback to stdout if screen dimensions not available
404
+ const cols = screenCols ?? process.stdout.columns ?? 80;
405
+ const rows = screenRows ?? process.stdout.rows ?? 24;
406
+ // Check if geometry actually changed from last known
330
407
  if (!hasGeometryChanged(screen)) {
331
408
  return; // No-op resize, ignore
332
409
  }
333
- // Phase C1: Debounce (100-150ms to handle resize storms)
334
- if (resizeDebounceTimer) {
335
- clearTimeout(resizeDebounceTimer);
336
- }
337
- resizeDebounceTimer = setTimeout(() => {
338
- resizeDebounceTimer = null;
339
- resizeApplyCount++;
340
- updateResizeStats({ eventCount: resizeEventCount, applyCount: resizeApplyCount });
341
- // Step 5: Get current geometry using screen dimensions directly (always fresh, never cached)
342
- // Use screen.cols/rows if available, fallback to screen.width/height
343
- const screenCols = screen.cols ?? screen.width ?? 80;
344
- const screenRows = screen.rows ?? screen.height ?? 24;
345
- const geo = getTerminalGeometry(screen);
346
- // Throttle resize logging to prevent spam (only log every 5th resize apply)
347
- if (isDebugMode() && resizeApplyCount % 5 === 0) {
348
- log('DBG', `Resize apply #${resizeApplyCount} (${resizeEventCount} events): ${formatGeometry(geo)}`);
349
- log('DBG', `screen.cols=${screenCols} screen.rows=${screenRows} screen.width=${screen.width} screen.height=${screen.height}`);
350
- }
351
- // Step 5: Resize = REFLOW ONLY (layoutUI reads geometry fresh from screen)
352
- // Recompute layout with current screen dimensions
353
- layoutUI(screen, widgets);
354
- // Render once (no logging inside render)
355
- screen.render();
356
- // Phase B1: Validate no duplication occurred
357
- const widgetCount = screen.children?.length || 0;
358
- const commandLineCount = screen.children?.filter((w) => w === widgets.commandLine).length || 0;
359
- if (commandLineCount > 1) {
360
- log('ERR', `DUPLICATION DETECTED: ${commandLineCount} command lines!`, 'ERROR');
361
- }
362
- // Log resize completion (quiet in non-debug mode, verbose in debug mode)
363
- if (isDebugMode()) {
364
- log('DBG', `Resize applied: ${geo.cols}x${geo.rows} (events: ${resizeEventCount}, applies: ${resizeApplyCount})`);
365
- dumpUIInventory(screen);
366
- }
367
- else {
368
- // Only log resize if it's a significant change (suppress spam during resize storms)
369
- // This is already debounced, so occasional logs are acceptable
370
- }
371
- }, RESIZE_DEBOUNCE_MS);
410
+ // Schedule resize application (debounced + duplicate guard)
411
+ scheduleResize(cols, rows, screen, widgets);
372
412
  };
373
413
  // Debug: Track listener binding
374
414
  trackListenerBinding('resize');
375
- screen.on('resize', resizeHandler);
415
+ // Bind to blessed screen resize event
416
+ screen.on('resize', handleResize);
417
+ // Also bind to process.stdout resize (for Windows compatibility)
418
+ // Both handlers call the same function to avoid double-processing
419
+ if (process.stdout.on && typeof process.stdout.on === 'function') {
420
+ process.stdout.on('resize', handleResize);
421
+ }
376
422
  unbindFns.push(() => {
377
- // Use off() method (EventEmitter API) instead of removeListener
378
- screen.off('resize', resizeHandler);
423
+ // Unbind screen resize
424
+ screen.off('resize', handleResize);
425
+ // Unbind stdout resize
426
+ if (process.stdout.removeListener && typeof process.stdout.removeListener === 'function') {
427
+ process.stdout.removeListener('resize', handleResize);
428
+ }
429
+ // Clear pending resize timer
379
430
  if (resizeDebounceTimer) {
380
431
  clearTimeout(resizeDebounceTimer);
432
+ resizeDebounceTimer = null;
381
433
  }
382
434
  });
383
435
  }
@@ -719,16 +771,11 @@ export function dumpLayout() {
719
771
  lines.push(`Raw terminal: ${geo.cols} cols x ${geo.rows} rows`);
720
772
  lines.push(`Safe terminal: ${geo.safeCols} cols x ${geo.safeRows} rows`);
721
773
  lines.push(`Source: ${geo.source}`);
774
+ lines.push(`Mode: ${geo.mode}`);
722
775
  lines.push(`Screen object: width=${screen.width} height=${screen.height} cols=${screen.cols ?? 'N/A'} rows=${screen.rows ?? 'N/A'}`);
776
+ lines.push(`Screen program: cols=${screen.program?.cols ?? 'N/A'} rows=${screen.program?.rows ?? 'N/A'}`);
723
777
  lines.push(`process.stdout: columns=${process.stdout.columns} rows=${process.stdout.rows}`);
724
- // Browser terminal detection (matching geometry.ts logic)
725
- const isBrowserTerminal = typeof process.env.CLOUDSHELL_SESSION !== 'undefined' ||
726
- process.env.AWS_EXECUTION_ENV?.includes('CloudShell');
727
- lines.push(`Browser terminal detected: ${isBrowserTerminal}`);
728
- if (isBrowserTerminal) {
729
- lines.push(` CLOUDSHELL_SESSION: ${process.env.CLOUDSHELL_SESSION ?? 'not set'}`);
730
- lines.push(` AWS_EXECUTION_ENV: ${process.env.AWS_EXECUTION_ENV ?? 'not set'}`);
731
- }
778
+ lines.push(`Last applied size: ${lastAppliedSize ? `${lastAppliedSize.cols}x${lastAppliedSize.rows}` : 'none'}`);
732
779
  lines.push(``);
733
780
  // Layout calculations (if available)
734
781
  if (layoutResult.ok && layoutResult.layout) {
@@ -803,8 +850,13 @@ export function dumpLayout() {
803
850
  lines.push(` position: (${left}, ${top})`);
804
851
  lines.push(` size: ${width}w x ${height}h`);
805
852
  lines.push(` bounds: left=${left} right=${right} top=${top} bottom=${bottom}`);
806
- lines.push(` right edge: ${right} (terminal: ${geo.safeCols})`);
807
- lines.push(` bottom edge: ${bottom} (terminal: ${geo.safeRows})`);
853
+ lines.push(` right edge: ${right} (terminal safeCols: ${geo.safeCols}, raw cols: ${geo.cols})`);
854
+ lines.push(` bottom edge: ${bottom} (terminal safeRows: ${geo.safeRows}, raw rows: ${geo.rows})`);
855
+ // Check for overflow (right edge must be <= cols - 1)
856
+ const maxRightEdge = geo.safeCols - 1;
857
+ if (right > maxRightEdge) {
858
+ lines.push(` ⚠ OVERFLOW: right edge ${right} > ${maxRightEdge} (will cause scrollbar!)`);
859
+ }
808
860
  lines.push(``);
809
861
  }
810
862
  lines.push(`--- SUMMARY ---`);
@@ -813,6 +865,11 @@ export function dumpLayout() {
813
865
  lines.push(`Unused width: ${geo.safeCols - maxRight} chars (${((geo.safeCols - maxRight) / geo.safeCols * 100).toFixed(1)}%)`);
814
866
  lines.push(`Unused height: ${geo.safeRows - maxBottom} rows (${((geo.safeRows - maxBottom) / geo.safeRows * 100).toFixed(1)}%)`);
815
867
  lines.push(``);
868
+ // Overflow checks
869
+ const maxAllowedRight = geo.safeCols - 1;
870
+ if (maxRight > maxAllowedRight) {
871
+ lines.push(`⚠ CRITICAL: Layout overflow detected! Max right edge ${maxRight} > ${maxAllowedRight} (will cause horizontal scrollbar)`);
872
+ }
816
873
  if (maxRight < geo.safeCols - 5) {
817
874
  lines.push(`⚠ WARNING: Significant unused width detected (${geo.safeCols - maxRight} chars)`);
818
875
  }
@@ -1 +1 @@
1
- {"version":3,"file":"phase1RuntimeClean.js","sourceRoot":"","sources":["../../../../src/ui/v3/ui/phase1RuntimeClean.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,OAAO,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAkC,MAAM,gBAAgB,CAAC;AAC3H,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,EACL,OAAO,EACP,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,eAAe,EAGf,wBAAwB,EAExB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAE5B,MAAM,UAAU,GAAG,OAAc,CAAC;AAClC,MAAM,MAAM,GAAG,SAAS,CAAC;AAEzB,iEAAiE;AACjE,IAAK,UAAkB,CAAC,eAAe,EAAE,CAAC;IACxC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;AACvE,CAAC;AAED,wDAAwD;AACxD,IAAI,OAAO,GAAG,KAAK,CAAC;AAEpB,mDAAmD;AACnD,IAAI,OAAO,GAAqB,IAAI,CAAC;AAErC,mBAAmB;AACnB,IAAI,cAAc,GAAY;IAC5B,GAAG,cAAc;IACjB,OAAO,EAAE,sBAAsB,EAAE;CAClC,CAAC;AAEF,kBAAkB;AAClB,MAAM,cAAc,GAAa,EAAE,CAAC;AACpC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;AAEtB,cAAc;AACd,IAAI,iBAAiB,GAAG,MAAM,CAAC;AAC/B,IAAI,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;AACnC,IAAI,YAAY,GAAG,CAAC,CAAC;AAErB,mDAAmD;AACnD,IAAI,mBAAmB,GAA0B,IAAI,CAAC;AACtD,MAAM,kBAAkB,GAAG,GAAG,CAAC,CAAC,wCAAwC;AACxE,IAAI,gBAAgB,GAAG,CAAC,CAAC;AACzB,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAEzB,4CAA4C;AAC5C,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B;;;GAGG;AACH,SAAS,GAAG,CAAC,GAAU,EAAE,GAAW,EAAE,QAAmC,MAAM;IAC7E,QAAQ,CAAC,IAAI,CAAC;QACZ,GAAG;QACH,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG;QACrD,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,MAAsB,EAAE,MAAmB;IAC7D,sDAAsD;IACtD,IAAK,MAAc,CAAC,MAAM,EAAE,CAAC;QAC3B,GAAG,CAAC,KAAK,EAAE,kDAAkD,EAAE,MAAM,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IAED,6CAA6C;IAC7C,MAAM,QAAQ,GAAI,MAAc,CAAC,QAAQ,IAAI,EAAE,CAAC;IAChD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,KAAK,EAAE,0DAA0D,EAAE,MAAM,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IAED,iBAAiB;IACjB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,SAAS,OAAO,CAAC,MAAsB,EAAE,MAAW;IAClD,oDAAoD;IACpD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,GAAG,IAAI,CAAC;IAEf,qDAAqD;IACrD,MAAM,cAAc,GAAc;QAChC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;QACvD,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC;QAC7D,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;QACpD,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC;QAChE,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;QACvD,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC;QACtE,WAAW,EAAE,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC;QAC9C,WAAW,EAAE,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC;KAC/C,CAAC;IAEF,mDAAmD;IACnD,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IAC7C,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC1C,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAC9C,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IAChD,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IAC/C,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IAE/C,2CAA2C;IAC3C,MAAM,YAAY,GAAI,MAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;IAC3D,GAAG,CAAC,KAAK,EAAE,eAAe,YAAY,UAAU,CAAC,CAAC;IAElD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CAAC,MAAsB,EAAE,OAAkB;IAC1D,qFAAqF;IACrF,8EAA8E;IAC9E,MAAM,UAAU,GAAI,MAAc,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IAC9D,MAAM,UAAU,GAAI,MAAc,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IAC/D,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAExC,qFAAqF;IACrF,MAAM,YAAY,GAAG,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAEzE,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAC7C,GAAG,CAAC,KAAK,EAAE,uBAAuB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,UAAU,SAAS,IAAI,UAAU,GAAG,EAAE,MAAM,CAAC,CAAC;QACpG,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IAEnC,iEAAiE;IACjE,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACxD,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC1D,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAE9D,mEAAmE;IACnE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,GAAG,WAAW,GAAG,CAAC,CAAC;IAEhE,kBAAkB,CAAC,OAAO,CAAC,WAAW,EAAE;QACtC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG;QAC3B,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;QAC7B,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM;KAClC,CAAC,CAAC;IACH,kBAAkB,CAAC,OAAO,CAAC,WAAW,EAAE;QACtC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG;QAC3B,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG,WAAW,GAAG,CAAC;QAC/C,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM;KAClC,CAAC,CAAC;IAEH,8DAA8D;IAC9D,eAAe,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,wDAAwD;IACxD,IAAI,WAAW,EAAE,EAAE,CAAC;QAClB,8DAA8D;QAC9D,GAAG,CAAC,KAAK,EAAE,yCAAyC,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,gCAAgC;IAChC,GAAG,CAAC,KAAK,EAAE,wBAAwB,OAAO,GAAG,CAAC,CAAC;IAE/C,yDAAyD;IACzD,4EAA4E;IAC5E,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAChC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;IACpC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAElC,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;QAC/B,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC;IACF,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;QACjC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;QAChC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,6DAA6D;IAC7D,aAAa,EAAE,CAAC;IAEhB,mBAAmB;IACnB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,uBAAuB;IACvB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAC/B,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,KAAK;KACnB,CAAmB,CAAC;IAErB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,+BAA+B;IAC/B,GAAG,CAAC,KAAK,EAAE,gBAAgB,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAE5D,cAAc;IACd,IAAK,MAAc,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;QACvC,MAAc,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC;IAED,mFAAmF;IACnF,6DAA6D;IAC7D,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAErE,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,IAAI,oBAAoB,CAAC;QACnE,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IAEnC,+BAA+B;IAC/B,IAAI,WAAW,EAAE,EAAE,CAAC;QAClB,GAAG,CAAC,KAAK,EAAE,uBAAuB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAClF,GAAG,CAAC,KAAK,EAAE,SAAS,MAAM,CAAC,OAAO,CAAC,KAAK,cAAc,MAAM,CAAC,UAAU,CAAC,KAAK,aAAa,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;QACnH,GAAG,CAAC,KAAK,EAAE,4BAA4B,MAAM,CAAC,OAAO,CAAC,IAAI,WAAW,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7F,GAAG,CAAC,KAAK,EAAE,eAAe,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,kBAAkB,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IACrG,CAAC;IAED,qCAAqC;IACrC,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC,yBAAyB;IACzB,MAAM,SAAS,GAAsB,EAAE,CAAC;IAExC,mDAAmD;IACnD,MAAM,0BAA0B,GAAG,wBAAwB,EAAE,CAAC;IAC9D,SAAS,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAE3C,6BAA6B;IAC7B,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC;QAC1B,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC;QAC9B,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,MAAM,eAAe,GAAG,CAAC,KAAY,EAAE,EAAE;QACvC,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,CAAC,MAAW,EAAE,EAAE;QACvC,GAAG,CAAC,KAAK,EAAE,wBAAwB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;IACnD,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,OAAO,CAAC,cAAc,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;QAC7D,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,uBAAuB;IACvB,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAE3D,yDAAyD;IACzD,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAEhD,wBAAwB;IACxB,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACtC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAChD,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,MAAM,OAAO,GAAc;QACzB,MAAM;QACN,OAAO;QACP,SAAS,EAAE,IAAI;QACf,SAAS;KACV,CAAC;IACF,YAAY,CAAC,OAAO,CAAC,CAAC;IAEtB,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAc,EAAE,EAAE;QACpC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,OAAO,EAAE,CAAC;YACZ,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,eAAe,CAAC,OAAO,CAAC,CAAC;IAEzB,iBAAiB;IACjB,MAAM,CAAC,MAAM,EAAE,CAAC;IAEhB,qCAAqC;IACpC,UAAkB,CAAC,eAAe,GAAG,IAAI,CAAC;IAE3C,qDAAqD;IACrD,gBAAgB,EAAE,CAAC;IAEnB,iCAAiC;IACjC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAExC,WAAW;IACX,QAAQ,CAAC,IAAI,CAAC;QACZ,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,iBAAiB;QACtB,KAAK,EAAE,MAAM;KACd,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAC1B,MAAsB,EACtB,OAAkB,EAClB,SAA4B;IAE5B,0DAA0D;IAC1D,IAAI,kBAAkB,EAAE,CAAC;QACvB,GAAG,CAAC,KAAK,EAAE,8CAA8C,EAAE,MAAM,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,kBAAkB,GAAG,IAAI,CAAC;IAC1B,iBAAiB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,gCAAgC;QAChC,gBAAgB,EAAE,CAAC;QAEnB,+DAA+D;QAC/D,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,IAAI,WAAW,EAAE,EAAE,CAAC;gBAClB,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACxC,GAAG,CAAC,KAAK,EAAE,+BAA+B,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO;QACT,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,uBAAuB;QACjC,CAAC;QAED,yDAAyD;QACzD,IAAI,mBAAmB,EAAE,CAAC;YACxB,YAAY,CAAC,mBAAmB,CAAC,CAAC;QACpC,CAAC;QAEC,mBAAmB,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,mBAAmB,GAAG,IAAI,CAAC;YAC3B,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAElF,6FAA6F;YAC7F,qEAAqE;YACrE,MAAM,UAAU,GAAI,MAAc,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAC9D,MAAM,UAAU,GAAI,MAAc,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;YAC/D,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAExC,4EAA4E;YAC5E,IAAI,WAAW,EAAE,IAAI,gBAAgB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,GAAG,CAAC,KAAK,EAAE,iBAAiB,gBAAgB,KAAK,gBAAgB,aAAa,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrG,GAAG,CAAC,KAAK,EAAE,eAAe,UAAU,gBAAgB,UAAU,iBAAiB,MAAM,CAAC,KAAK,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAChI,CAAC;YAED,2EAA2E;YAC3E,kDAAkD;YAClD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAE1B,yCAAyC;YACzC,MAAM,CAAC,MAAM,EAAE,CAAC;YAElB,6CAA6C;YAC7C,MAAM,WAAW,GAAI,MAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;YAC1D,MAAM,gBAAgB,GAAI,MAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CACnE,CAAC,KAAK,OAAO,CAAC,WAAW,CAC1B,CAAC,MAAM,IAAI,CAAC,CAAC;YAEd,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,KAAK,EAAE,yBAAyB,gBAAgB,iBAAiB,EAAE,OAAO,CAAC,CAAC;YAClF,CAAC;YAED,yEAAyE;YACzE,IAAI,WAAW,EAAE,EAAE,CAAC;gBAClB,GAAG,CAAC,KAAK,EAAE,mBAAmB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,aAAa,gBAAgB,cAAc,gBAAgB,GAAG,CAAC,CAAC;gBAClH,eAAe,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,oFAAoF;gBACpF,+DAA+D;YACjE,CAAC;QACH,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,gCAAgC;IAChC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAE/B,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACnC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,gEAAgE;QAC/D,MAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC7C,IAAI,mBAAmB,EAAE,CAAC;YACxB,YAAY,CAAC,mBAAmB,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,MAAmB,EACnB,IAAkE;IAElE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACtB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAClB,MAAsB,EACtB,IAAkE,EAClE,KAAa;IAEb,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC;QAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACxB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,EAAE;QACX,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;SACvB;QACD,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,KAAK;KACjB,CAAgB,CAAC;IAElB,KAAK,CAAC,QAAQ,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC;IAExC,+BAA+B;IAC/B,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAE1B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,MAAsB,EACtB,MAAW;IAEX,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC;QAC3B,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG;QAC3B,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;QAC7B,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM;QACjC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACxB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;YACtB,EAAE,EAAE,MAAM;SACX;QACD,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,KAAK;KACjB,CAAgB,CAAC;IAElB,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAEtC,+BAA+B;IAC/B,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAEnC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,MAAsB,EACtB,MAAW;IAEX,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC;QAC7B,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG;QAC3B,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG,WAAW,GAAG,CAAC;QAC/C,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,GAAG,WAAW,GAAG,CAAC;QACjD,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM;QACjC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACxB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,MAAM;QACf,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;YACtB,EAAE,EAAE,OAAO;SACZ;QACD,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,KAAK;KACZ,CAAgB,CAAC;IAElB,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IAE9C,+BAA+B;IAC/B,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAErC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,MAAsB,EACtB,WAAwB,EACxB,SAA4B;IAE5B,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,MAAM,cAAc,GAAI,WAAW,CAAC,KAAgB,GAAG,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,iBAAiB,CAAC;QACnC,MAAM,WAAW,GAAG,cAAc,CAAC;QAEnC,IAAI,WAAW,GAAG,YAAY,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACrD,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,WAAW,GAAG,YAAY,EAAE,CAAC;YAC/B,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,YAAY,GAAG,YAAY,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC;QAChF,IAAI,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAE/D,MAAM,kBAAkB,GAAG,WAAW,GAAG,YAAY,CAAC;QACtD,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,YAAY,GAAG,eAAe,GAAG,WAAW,CAAC;QAElE,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;QAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAEhG,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,iBAAiB;QACjB,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,cAAc,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAChC,cAAc,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;QACD,YAAY,GAAG,CAAC,CAAC,CAAC;QAElB,cAAc;QACd,iBAAiB,GAAG,MAAM,CAAC;QAC3B,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;QAC/B,YAAY,GAAG,CAAC,CAAC;QACjB,aAAa,EAAE,CAAC;QAEhB,qBAAqB;QACrB,QAAQ,CAAC,IAAI,CAAC;YACZ,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QAEH,kBAAkB;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,IAAI;YAAE,OAAO;QAEzB,MAAM,GAAG,GAAmB,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAE1C,qBAAqB;YACrB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YAED,yBAAyB;YACzB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBACtD,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;gBAC/B,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACjC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC1B,CAAC;YAED,iBAAiB;YACjB,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACpC,SAAS,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACjD,SAAS,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,kBAAkB,KAAK,CAAC,OAAO,EAAE;gBACtC,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,IAAqB,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE9B,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC,CAAC,SAAS;YAC/B,SAAS,CAAC,CAAC,CAAC,CAAC;YACb,OAAO;QACT,CAAC;QAED,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC,QAAQ;YAC9C,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC9C,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;gBAC/C,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,GAAG,EAAE,CAAC;gBACR,YAAY,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBAC1C,QAAQ,CAAC,IAAI,CAAC;wBACZ,GAAG,EAAE,KAAK;wBACV,GAAG,EAAE,kBAAkB,GAAG,CAAC,OAAO,EAAE;wBACpC,KAAK,EAAE,OAAO;qBACf,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,iBAAiB,GAAG,MAAM,CAAC;gBAC3B,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC/B,aAAa,EAAE,CAAC;YAClB,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC,CAAC,YAAY;YACtD,IAAI,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnC,iBAAiB,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;gBACrH,cAAc,EAAE,CAAC;gBACjB,aAAa,EAAE,CAAC;YAClB,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC,CAAC,aAAa;YACrC,IAAI,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnC,cAAc,EAAE,CAAC;gBACjB,aAAa,EAAE,CAAC;YAClB,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC,CAAC,cAAc;YACtC,IAAI,cAAc,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAC9C,cAAc,EAAE,CAAC;gBACjB,aAAa,EAAE,CAAC;YAClB,CAAC;YACD,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;YACvD,iBAAiB,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,KAAK,GAAG,iBAAiB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACzH,cAAc,EAAE,CAAC;YACjB,aAAa,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,qBAAqB;IACrB,WAAW,CAAC,KAAK,EAAE,CAAC;IACpB,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,OAAkB;IACzC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/E,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1C,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,uBAAuB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IAExF,sBAAsB;IACtB,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;IAC/C,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC;QAC/B,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,KAAkB,EAAE,KAAe;IACtD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAe,CAAC;IACzC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAgB,CAAC;IAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;IAEjD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC5D,IAAI,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,KAAkB;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,MAAgB,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,KAAe,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,GAAG,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,OAAkB,EAAE,MAAsB;IACxE,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACtC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,CAAC;YACpD,cAAc,GAAG,QAAQ,CAAC;YAC1B,eAAe,CAAC,OAAO,CAAC,CAAC;YACzB,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAgB;QAClB,CAAC;IACH,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAExC,wEAAwE;IACxE,MAAM,UAAU,GAAI,MAAc,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC;IACpE,MAAM,UAAU,GAAI,MAAc,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC;IACrE,MAAM,YAAY,GAAG,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAEzE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACjD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,oBAAoB;IACpB,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,QAAQ,WAAW,GAAG,CAAC,QAAQ,OAAO,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,KAAK,WAAW,MAAM,CAAC,MAAM,SAAU,MAAc,CAAC,IAAI,IAAI,KAAK,SAAU,MAAc,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;IACvJ,KAAK,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAC,MAAM,CAAC,OAAO,SAAS,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAE5F,0DAA0D;IAC1D,MAAM,iBAAiB,GACrB,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,WAAW;QACrD,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,8BAA8B,iBAAiB,EAAE,CAAC,CAAC;IAC9D,IAAI,iBAAiB,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,yBAAyB,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,SAAS,EAAE,CAAC,CAAC;QACnF,KAAK,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,SAAS,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,qCAAqC;IACrC,IAAI,YAAY,CAAC,EAAE,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QACnC,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,mBAAmB,GAAG,CAAC,CAAC;QAC9B,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,CAAC;QAChC,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAC;QACnD,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,GAAG,mBAAmB,GAAG,MAAM,CAAC;QAElE,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,QAAQ,MAAM,YAAY,cAAc,cAAc,EAAE,CAAC,CAAC;QAC7F,KAAK,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,QAAQ,MAAM,mBAAmB,UAAU,MAAM,aAAa,aAAa,EAAE,CAAC,CAAC;QACnH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,OAAO,CAAC,KAAK,eAAe,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,OAAO,CAAC,KAAK,cAAc,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACxG,KAAK,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,YAAY,EAAE,CAAC,CAAC;QAC5H,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,uBAAuB;QACvB,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC;QACtF,MAAM,aAAa,GAAG,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1D,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;QAE5E,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,wBAAwB,YAAY,EAAE,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,yBAAyB,aAAa,EAAE,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,yBAAyB,gBAAgB,EAAE,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,wBAAwB,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,wBAAwB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,QAAQ,GAAG,aAAa,QAAQ,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,uBAAuB,GAAG,CAAC,QAAQ,GAAG,gBAAgB,QAAQ,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,qBAAqB,aAAa,EAAE,CAAC,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3F,KAAK,CAAC,IAAI,CAAC,wBAAwB,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,wBAAwB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3G,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,gCAAgC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG;QACb,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE;QAC5C,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE;QAChD,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;QAC1C,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE;QAClD,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE;QAC5C,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE;QACtD,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE;QACrD,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE;KACtD,CAAC;IAEF,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAa,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAc,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAe,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAgB,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;QAC3B,MAAM,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;QAE5B,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAExC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,MAAM,GAAG,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,UAAU,KAAK,QAAQ,GAAG,WAAW,MAAM,EAAE,CAAC,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,eAAe,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,eAAe,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,uBAAuB,QAAQ,wBAAwB,GAAG,CAAC,QAAQ,eAAe,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IAC1G,KAAK,CAAC,IAAI,CAAC,wBAAwB,SAAS,wBAAwB,GAAG,CAAC,QAAQ,eAAe,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IAC5G,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,QAAQ,GAAG,QAAQ,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/H,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,QAAQ,GAAG,SAAS,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,iDAAiD,GAAG,CAAC,QAAQ,GAAG,QAAQ,SAAS,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,SAAS,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,kDAAkD,GAAG,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,CAAC;IACjG,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAEvC,8DAA8D;IAC9D,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;QACnC,OAAO;YACL,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC;YACtC,QAAQ,KAAK,CAAC,MAAM,GAAG,eAAe,4BAA4B;YAClE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACxB,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,IAAY;IAC7B,gBAAgB,EAAE,CAAC;IAEnB,mBAAmB;IACnB,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc;QACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,wBAAwB;IAC/D,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"phase1RuntimeClean.js","sourceRoot":"","sources":["../../../../src/ui/v3/ui/phase1RuntimeClean.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "4runr-os",
3
- "version": "2.0.12",
3
+ "version": "2.0.13",
4
4
  "type": "module",
5
5
  "description": "4Runr AI Agent OS - Interactive terminal for managing AI agents",
6
6
  "main": "dist/index.js",