4runr-os 2.9.36 → 2.9.38
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.
|
Binary file
|
package/mk3-tui/src/ui/layout.rs
CHANGED
|
@@ -144,7 +144,7 @@ fn render_header(f: &mut Frame, area: Rect, state: &AppState) {
|
|
|
144
144
|
|
|
145
145
|
// Line 1: Brand + version + mode + uptime - Bug 3 fix: Use "4Runr." with dot (matches brand logo)
|
|
146
146
|
// Use npm package version (2.9.24) - matches package.json
|
|
147
|
-
const PACKAGE_VERSION: &str = "2.9.
|
|
147
|
+
const PACKAGE_VERSION: &str = "2.9.38";
|
|
148
148
|
let brand_line = Line::from(vec![
|
|
149
149
|
Span::styled("4Runr.", Style::default().fg(BRAND_PURPLE).add_modifier(Modifier::BOLD)),
|
|
150
150
|
Span::styled(" AI AGENT OS", Style::default().fg(BRAND_VIOLET)),
|
|
@@ -41,9 +41,6 @@ pub fn render(f: &mut Frame, state: &AppState) {
|
|
|
41
41
|
height: portal_height,
|
|
42
42
|
};
|
|
43
43
|
|
|
44
|
-
// Clear the portal area for clean rendering
|
|
45
|
-
f.render_widget(Clear, portal_area);
|
|
46
|
-
|
|
47
44
|
// Split portal into sections
|
|
48
45
|
use ratatui::layout::{Constraint, Direction, Layout};
|
|
49
46
|
|
|
@@ -84,9 +81,6 @@ pub fn render(f: &mut Frame, state: &AppState) {
|
|
|
84
81
|
}
|
|
85
82
|
|
|
86
83
|
fn render_header(f: &mut Frame, area: Rect, state: &AppState) {
|
|
87
|
-
// Clear the area first to prevent duplication
|
|
88
|
-
f.render_widget(Clear, area);
|
|
89
|
-
|
|
90
84
|
let title = if state.setup_portal.error.is_some() {
|
|
91
85
|
" ⚙ Gateway Setup Portal - Error "
|
|
92
86
|
} else if state.setup_portal.detecting {
|
|
@@ -111,9 +105,6 @@ fn render_header(f: &mut Frame, area: Rect, state: &AppState) {
|
|
|
111
105
|
}
|
|
112
106
|
|
|
113
107
|
fn render_description(f: &mut Frame, area: Rect) {
|
|
114
|
-
// Clear the area first to prevent duplication
|
|
115
|
-
f.render_widget(Clear, area);
|
|
116
|
-
|
|
117
108
|
let block = Block::default()
|
|
118
109
|
.borders(Borders::LEFT | Borders::RIGHT)
|
|
119
110
|
.style(Style::default().bg(BG_PANEL));
|
|
@@ -143,9 +134,6 @@ fn render_content(f: &mut Frame, area: Rect, state: &AppState) {
|
|
|
143
134
|
}
|
|
144
135
|
|
|
145
136
|
fn render_options_list(f: &mut Frame, area: Rect, state: &AppState) {
|
|
146
|
-
// Clear the area first to prevent duplication
|
|
147
|
-
f.render_widget(Clear, area);
|
|
148
|
-
|
|
149
137
|
let options = vec![
|
|
150
138
|
("Local Bundle", GatewayOption::LocalBundle),
|
|
151
139
|
("4Runr Server", GatewayOption::CloudServer),
|
|
@@ -183,21 +171,21 @@ fn render_options_list(f: &mut Frame, area: Rect, state: &AppState) {
|
|
|
183
171
|
let mut list_state = ListState::default();
|
|
184
172
|
list_state.select(Some(selected_index));
|
|
185
173
|
|
|
174
|
+
// Use Block to properly contain and clear the area
|
|
175
|
+
let block = Block::default()
|
|
176
|
+
.borders(Borders::ALL)
|
|
177
|
+
.title(" Gateway Options ")
|
|
178
|
+
.border_style(Style::default().fg(CYBER_CYAN))
|
|
179
|
+
.style(Style::default().bg(BG_PANEL));
|
|
180
|
+
|
|
186
181
|
let list = List::new(items)
|
|
187
|
-
.block(
|
|
188
|
-
.borders(Borders::ALL)
|
|
189
|
-
.title(" Gateway Options ")
|
|
190
|
-
.border_style(Style::default().fg(CYBER_CYAN))
|
|
191
|
-
.style(Style::default().bg(BG_PANEL)))
|
|
182
|
+
.block(block)
|
|
192
183
|
.highlight_style(Style::default().fg(CYBER_CYAN).bold().bg(BG_PANEL));
|
|
193
184
|
|
|
194
185
|
f.render_stateful_widget(list, area, &mut list_state);
|
|
195
186
|
}
|
|
196
187
|
|
|
197
188
|
fn render_option_details(f: &mut Frame, area: Rect, state: &AppState) {
|
|
198
|
-
// Clear the area first to prevent duplication
|
|
199
|
-
f.render_widget(Clear, area);
|
|
200
|
-
|
|
201
189
|
let selected_option = &state.setup_portal.selected_option;
|
|
202
190
|
let detection_result = &state.setup_portal.detection_result;
|
|
203
191
|
|
|
@@ -283,6 +271,7 @@ fn render_option_details(f: &mut Frame, area: Rect, state: &AppState) {
|
|
|
283
271
|
),
|
|
284
272
|
};
|
|
285
273
|
|
|
274
|
+
// Use Block to properly contain and clear the area
|
|
286
275
|
let block = Block::default()
|
|
287
276
|
.title(title)
|
|
288
277
|
.borders(Borders::ALL)
|
|
@@ -324,9 +313,6 @@ fn render_error_box(f: &mut Frame, area: Rect, state: &AppState) {
|
|
|
324
313
|
}
|
|
325
314
|
|
|
326
315
|
fn render_actions(f: &mut Frame, area: Rect, state: &AppState) {
|
|
327
|
-
// Clear the area first to prevent duplication
|
|
328
|
-
f.render_widget(Clear, area);
|
|
329
|
-
|
|
330
316
|
let block = Block::default()
|
|
331
317
|
.borders(Borders::ALL)
|
|
332
318
|
.border_style(Style::default().fg(TEXT_DIM))
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "4runr-os",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.38",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.9.
|
|
5
|
+
"description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.9.38: Fixed Setup Portal character corruption - removed redundant Clear widget causing buffer corruption during navigation. ⚠️ Pre-MVP / Development Phase",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"bin": {
|
|
8
8
|
"4runr": "dist/index.js",
|