4runr-os 2.6.2 → 2.6.4
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.
|
@@ -231,33 +231,33 @@ fn render_agent_detail(f: &mut Frame, area: Rect, agent: &AgentInfo) {
|
|
|
231
231
|
f.render_widget(content_block, chunks[1]);
|
|
232
232
|
|
|
233
233
|
// Create detail text with cleaner layout
|
|
234
|
-
let mut detail_lines = vec![
|
|
234
|
+
let mut detail_lines: Vec<Line> = vec![
|
|
235
235
|
Line::from(""),
|
|
236
236
|
];
|
|
237
237
|
|
|
238
238
|
// Basic Info
|
|
239
|
-
add_field(&mut detail_lines, "Name",
|
|
239
|
+
add_field(&mut detail_lines, "Name", agent.name.clone());
|
|
240
240
|
|
|
241
241
|
if let Some(desc) = &agent.description {
|
|
242
242
|
if !desc.is_empty() {
|
|
243
|
-
add_field(&mut detail_lines, "Description",
|
|
243
|
+
add_field(&mut detail_lines, "Description", desc.clone());
|
|
244
244
|
}
|
|
245
245
|
}
|
|
246
246
|
|
|
247
247
|
let model_display = if agent.model.is_empty() || agent.model == "unknown" { "—".to_string() } else { agent.model.clone() };
|
|
248
|
-
add_field(&mut detail_lines, "Model",
|
|
248
|
+
add_field(&mut detail_lines, "Model", model_display);
|
|
249
249
|
|
|
250
250
|
let provider_display = if agent.provider.is_empty() || agent.provider == "unknown" { "—".to_string() } else { agent.provider.clone() };
|
|
251
|
-
add_field(&mut detail_lines, "Provider",
|
|
251
|
+
add_field(&mut detail_lines, "Provider", provider_display);
|
|
252
252
|
|
|
253
253
|
if let Some(temp) = agent.temperature {
|
|
254
254
|
let temp_str = format!("{:.2}", temp);
|
|
255
|
-
add_field(&mut detail_lines, "Temperature",
|
|
255
|
+
add_field(&mut detail_lines, "Temperature", temp_str);
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
if let Some(max_tokens) = agent.max_tokens {
|
|
259
259
|
let tokens_str = format!("{}", max_tokens);
|
|
260
|
-
add_field(&mut detail_lines, "Max Tokens",
|
|
260
|
+
add_field(&mut detail_lines, "Max Tokens", tokens_str);
|
|
261
261
|
}
|
|
262
262
|
|
|
263
263
|
if !agent.tools.is_empty() {
|
|
@@ -333,9 +333,9 @@ fn render_agent_detail(f: &mut Frame, area: Rect, agent: &AgentInfo) {
|
|
|
333
333
|
}
|
|
334
334
|
|
|
335
335
|
/// Helper function to add a field line
|
|
336
|
-
fn add_field(lines: &mut Vec<Line
|
|
336
|
+
fn add_field(lines: &mut Vec<Line>, label: &str, value: String) {
|
|
337
337
|
lines.push(Line::from(vec![
|
|
338
338
|
Span::styled(format!(" {:<15}", format!("{}:", label)), Style::default().fg(CYBER_CYAN).add_modifier(Modifier::BOLD)),
|
|
339
|
-
Span::styled(value
|
|
339
|
+
Span::styled(value, Style::default().fg(TEXT_PRIMARY)),
|
|
340
340
|
]));
|
|
341
341
|
}
|
package/mk3-tui/src/ui/help.rs
CHANGED
|
@@ -85,7 +85,7 @@ fn render_help_content(f: &mut Frame, area: Rect) {
|
|
|
85
85
|
f.render_widget(content_block, chunks[1]);
|
|
86
86
|
|
|
87
87
|
// Build help content with card-based sections
|
|
88
|
-
let mut lines = Vec::new();
|
|
88
|
+
let mut lines: Vec<Line> = Vec::new();
|
|
89
89
|
|
|
90
90
|
// Navigation Commands Section
|
|
91
91
|
lines.push(Line::from(vec![
|
|
@@ -202,10 +202,10 @@ fn render_help_content(f: &mut Frame, area: Rect) {
|
|
|
202
202
|
}
|
|
203
203
|
|
|
204
204
|
/// Helper function to add a command line
|
|
205
|
-
fn add_command(lines: &mut Vec<Line
|
|
205
|
+
fn add_command(lines: &mut Vec<Line>, command: &str, description: &str) {
|
|
206
206
|
lines.push(Line::from(vec![
|
|
207
207
|
Span::styled(" ", Style::default()),
|
|
208
208
|
Span::styled(format!("{:<20}", command), Style::default().fg(NEON_GREEN).add_modifier(Modifier::BOLD)),
|
|
209
|
-
Span::styled(description
|
|
209
|
+
Span::styled(description, Style::default().fg(TEXT_PRIMARY)),
|
|
210
210
|
]));
|
|
211
211
|
}
|
package/mk3-tui/src/ui/layout.rs
CHANGED
|
@@ -120,7 +120,7 @@ fn render_header(f: &mut Frame, area: Rect, state: &AppState) {
|
|
|
120
120
|
|
|
121
121
|
// Line 1: Brand + version + uptime - Bug 3 fix: Use "4Runr." with dot (matches brand logo)
|
|
122
122
|
// Use npm package version (2.3.5) - matches package.json
|
|
123
|
-
const PACKAGE_VERSION: &str = "2.6.
|
|
123
|
+
const PACKAGE_VERSION: &str = "2.6.4";
|
|
124
124
|
let brand_line = Line::from(vec![
|
|
125
125
|
Span::styled("4Runr.", Style::default().fg(BRAND_PURPLE).add_modifier(Modifier::BOLD)),
|
|
126
126
|
Span::styled(" AI AGENT OS", Style::default().fg(BRAND_VIOLET)),
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "4runr-os",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.4",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.6.
|
|
5
|
+
"description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.6.4: Fixed lifetime errors by removing 'static constraint from Line vectors, allowing Rust to infer appropriate lifetimes. Complete UI polish with redesigned help popup, fixed agent detail popup overlay, and enhanced agent list. Professional, clean, readable interface. Built with Rust + Ratatui. ⚠️ Pre-MVP / Development Phase",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"bin": {
|
|
8
8
|
"4runr": "dist/index.js",
|