4runr-os 2.6.9 → 2.6.11

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.
@@ -399,47 +399,49 @@ impl App {
399
399
  "clear" => self.state.logs.clear(),
400
400
  "help" => {
401
401
  // Display help in operations log - clean and organized
402
- self.state.logs.push_back("════════════════════════════════════════════════════════════════".to_string());
403
- self.state.logs.push_back("📖 4RUNR AI AGENT OS - COMMAND REFERENCE".to_string());
404
- self.state.logs.push_back("════════════════════════════════════════════════════════════════".to_string());
405
- self.state.logs.push_back("".to_string());
402
+ // NOTE: VecDeque displays newest items first, so we push in REVERSE order
403
+ // (Last item pushed appears at top of log)
406
404
 
407
- // Navigation Commands
408
- self.state.logs.push_back("🧭 NAVIGATION COMMANDS".to_string());
405
+ // Push Keyboard Shortcuts FIRST (will appear at BOTTOM)
406
+ self.state.logs.push_back(" Settings: ↑/↓=Navigate, Space=Toggle, Enter=Save".to_string());
407
+ self.state.logs.push_back(" Run Manager: ↑/↓=Navigate, F=Filter, S=Sort, R=Refresh".to_string());
408
+ self.state.logs.push_back(" Agent Builder: Enter=Next, Backspace=Back, ESC=Cancel".to_string());
409
409
  self.state.logs.push_back("────────────────────────────────────────────────────────────────".to_string());
410
- self.state.logs.push_back(" build - Open Agent Builder (6-step wizard)".to_string());
411
- self.state.logs.push_back(" runs - Open Run Manager (list, filter, sort)".to_string());
412
- self.state.logs.push_back(" config, settings - Open Settings (mode, AI provider)".to_string());
410
+ self.state.logs.push_back("⌨️ KEYBOARD SHORTCUTS".to_string());
413
411
  self.state.logs.push_back("".to_string());
414
412
 
415
- // Local Commands
416
- self.state.logs.push_back("💻 LOCAL COMMANDS".to_string());
413
+ // WebSocket Commands
414
+ self.state.logs.push_back(" tool.list - List available tools".to_string());
415
+ self.state.logs.push_back(" run.list - List runs (requires gateway)".to_string());
416
+ self.state.logs.push_back(" system.status - Get system status".to_string());
417
+ self.state.logs.push_back(" agent.delete - Delete agent (data: {name})".to_string());
418
+ self.state.logs.push_back(" agent.create - Create new agent (use Agent Builder)".to_string());
419
+ self.state.logs.push_back(" agent.get - Get agent details (data: {name})".to_string());
420
+ self.state.logs.push_back(" agent.list - List all agents".to_string());
417
421
  self.state.logs.push_back("────────────────────────────────────────────────────────────────".to_string());
418
- self.state.logs.push_back(" quit, exit - Exit application".to_string());
419
- self.state.logs.push_back(" clear - Clear operations log".to_string());
420
- self.state.logs.push_back(" help - Show this help".to_string());
421
- self.state.logs.push_back(" :perf - Show performance stats".to_string());
422
+ self.state.logs.push_back("🌐 WEBSOCKET COMMANDS (requires connection)".to_string());
422
423
  self.state.logs.push_back("".to_string());
423
424
 
424
- // WebSocket Commands
425
- self.state.logs.push_back("🌐 WEBSOCKET COMMANDS (requires connection)".to_string());
425
+ // Local Commands
426
+ self.state.logs.push_back(" :perf - Show performance stats".to_string());
427
+ self.state.logs.push_back(" help - Show this help".to_string());
428
+ self.state.logs.push_back(" clear - Clear operations log".to_string());
429
+ self.state.logs.push_back(" quit, exit - Exit application".to_string());
426
430
  self.state.logs.push_back("────────────────────────────────────────────────────────────────".to_string());
427
- self.state.logs.push_back(" agent.list - List all agents".to_string());
428
- self.state.logs.push_back(" agent.get - Get agent details (data: {name})".to_string());
429
- self.state.logs.push_back(" agent.create - Create new agent (use Agent Builder)".to_string());
430
- self.state.logs.push_back(" agent.delete - Delete agent (data: {name})".to_string());
431
- self.state.logs.push_back(" system.status - Get system status".to_string());
432
- self.state.logs.push_back(" run.list - List runs (requires gateway)".to_string());
433
- self.state.logs.push_back(" tool.list - List available tools".to_string());
431
+ self.state.logs.push_back("💻 LOCAL COMMANDS".to_string());
434
432
  self.state.logs.push_back("".to_string());
435
433
 
436
- // Screen Controls
437
- self.state.logs.push_back("⌨️ SCREEN CONTROLS".to_string());
434
+ // Navigation Commands
435
+ self.state.logs.push_back(" config, settings - Open Settings (mode, AI provider)".to_string());
436
+ self.state.logs.push_back(" runs - Open Run Manager (list, filter, sort)".to_string());
437
+ self.state.logs.push_back(" build - Open Agent Builder (6-step wizard)".to_string());
438
438
  self.state.logs.push_back("────────────────────────────────────────────────────────────────".to_string());
439
- self.state.logs.push_back(" Agent Builder: Enter=Next, Backspace=Back, ESC=Cancel".to_string());
440
- self.state.logs.push_back(" Run Manager: ↑/↓=Navigate, F=Filter, S=Sort, R=Refresh".to_string());
441
- self.state.logs.push_back(" Settings: ↑/↓=Navigate, Space=Toggle, Enter=Save".to_string());
439
+ self.state.logs.push_back("🧭 NAVIGATION COMMANDS".to_string());
442
440
  self.state.logs.push_back("".to_string());
441
+
442
+ // Push Header LAST (will appear at TOP)
443
+ self.state.logs.push_back("════════════════════════════════════════════════════════════════".to_string());
444
+ self.state.logs.push_back("📖 4RUNR AI AGENT OS - COMMAND REFERENCE".to_string());
443
445
  self.state.logs.push_back("════════════════════════════════════════════════════════════════".to_string());
444
446
 
445
447
  self.request_render("help_command");
@@ -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.9";
123
+ const PACKAGE_VERSION: &str = "2.6.11";
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.9",
3
+ "version": "2.6.11",
4
4
  "type": "module",
5
- "description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.6.9: Fixed auto-update loop (version check, integrity verification). Help command in operations log. All compilation errors resolved. Built with Rust + Ratatui. ⚠️ Pre-MVP / Development Phase",
5
+ "description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.6.11: Fixed section labels appearing with correct commands. Help display now perfect with proper label alignment. Built with Rust + Ratatui. ⚠️ Pre-MVP / Development Phase",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
8
8
  "4runr": "dist/index.js",