4runr-os 2.8.6 → 2.8.7
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.
- package/dist/tui-handlers.js +77 -0
- package/dist/tui-handlers.js.map +1 -1
- package/mk3-tui/src/app.rs +244 -34
- package/mk3-tui/src/main.rs +111 -1
- package/mk3-tui/src/screens/mod.rs +2 -1
- package/mk3-tui/src/ui/connection_portal.rs +45 -5
- package/mk3-tui/src/ui/layout.rs +1 -1
- package/mk3-tui/src/ui/mod.rs +1 -0
- package/mk3-tui/src/ui/setup_portal.rs +453 -0
- package/package.json +2 -2
package/dist/tui-handlers.js
CHANGED
|
@@ -486,6 +486,9 @@ async function handleGatewayCommand(ctx, action) {
|
|
|
486
486
|
case 'status':
|
|
487
487
|
await handleGatewayStatus(ctx);
|
|
488
488
|
break;
|
|
489
|
+
case 'detect':
|
|
490
|
+
await handleGatewayDetect(ctx);
|
|
491
|
+
break;
|
|
489
492
|
default:
|
|
490
493
|
ctx.server.sendError(ctx.ws, ctx.id, `Unknown gateway action: ${action}`);
|
|
491
494
|
}
|
|
@@ -551,6 +554,50 @@ async function handleGatewayStatus(ctx) {
|
|
|
551
554
|
},
|
|
552
555
|
});
|
|
553
556
|
}
|
|
557
|
+
async function handleGatewayDetect(ctx) {
|
|
558
|
+
if (!ctx.data?.url) {
|
|
559
|
+
ctx.server.sendError(ctx.ws, ctx.id, 'Gateway URL is required for detection');
|
|
560
|
+
return;
|
|
561
|
+
}
|
|
562
|
+
const url = ctx.data.url;
|
|
563
|
+
const isLocalhost = url.includes('localhost') || url.includes('127.0.0.1') || url.includes('0.0.0.0');
|
|
564
|
+
try {
|
|
565
|
+
// Try to connect to Gateway and check health
|
|
566
|
+
const client = new GatewayClient({ gatewayUrl: url, timeout: 5000 });
|
|
567
|
+
const health = await client.health();
|
|
568
|
+
// Gateway is running and healthy
|
|
569
|
+
ctx.server.sendResponse(ctx.ws, ctx.id, {
|
|
570
|
+
success: true,
|
|
571
|
+
data: {
|
|
572
|
+
available: true,
|
|
573
|
+
running: true,
|
|
574
|
+
url: url,
|
|
575
|
+
health: health,
|
|
576
|
+
isLocalhost: isLocalhost,
|
|
577
|
+
localBundleExists: isLocalhost ? checkLocalBundleExists() : false,
|
|
578
|
+
},
|
|
579
|
+
});
|
|
580
|
+
}
|
|
581
|
+
catch (error) {
|
|
582
|
+
// Gateway is not running or not reachable
|
|
583
|
+
// If it's localhost, check if local bundle exists
|
|
584
|
+
const localBundleExists = isLocalhost ? checkLocalBundleExists() : false;
|
|
585
|
+
ctx.server.sendResponse(ctx.ws, ctx.id, {
|
|
586
|
+
success: true,
|
|
587
|
+
data: {
|
|
588
|
+
available: false,
|
|
589
|
+
running: false,
|
|
590
|
+
url: url,
|
|
591
|
+
error: error.message || 'Gateway not reachable',
|
|
592
|
+
isLocalhost: isLocalhost,
|
|
593
|
+
localBundleExists: localBundleExists,
|
|
594
|
+
suggestion: localBundleExists
|
|
595
|
+
? 'Local Gateway bundle detected but not running. Start it to connect.'
|
|
596
|
+
: 'Gateway not found. Use Setup Portal to configure Gateway.',
|
|
597
|
+
},
|
|
598
|
+
});
|
|
599
|
+
}
|
|
600
|
+
}
|
|
554
601
|
// ============================================================
|
|
555
602
|
// HELPER FUNCTIONS
|
|
556
603
|
// ============================================================
|
|
@@ -562,6 +609,36 @@ function getConfigDir() {
|
|
|
562
609
|
}
|
|
563
610
|
return configDir;
|
|
564
611
|
}
|
|
612
|
+
/**
|
|
613
|
+
* Check if local Gateway bundle exists
|
|
614
|
+
* Returns true if Gateway files are present in the installation
|
|
615
|
+
*/
|
|
616
|
+
function checkLocalBundleExists() {
|
|
617
|
+
try {
|
|
618
|
+
// Check for Gateway app directory
|
|
619
|
+
const gatewayPath = path.resolve(__dirname, '../../apps/gateway');
|
|
620
|
+
if (fs.existsSync(gatewayPath)) {
|
|
621
|
+
// Check for key Gateway files
|
|
622
|
+
const packageJsonPath = path.join(gatewayPath, 'package.json');
|
|
623
|
+
const indexPath = path.join(gatewayPath, 'dist/index.js');
|
|
624
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
625
|
+
return true;
|
|
626
|
+
}
|
|
627
|
+
if (fs.existsSync(indexPath)) {
|
|
628
|
+
return true;
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
// Check for bundled Gateway in package
|
|
632
|
+
const bundledGatewayPath = path.resolve(__dirname, '../gateway');
|
|
633
|
+
if (fs.existsSync(bundledGatewayPath)) {
|
|
634
|
+
return true;
|
|
635
|
+
}
|
|
636
|
+
return false;
|
|
637
|
+
}
|
|
638
|
+
catch {
|
|
639
|
+
return false;
|
|
640
|
+
}
|
|
641
|
+
}
|
|
565
642
|
function loadCustomAgents() {
|
|
566
643
|
const agents = new Map();
|
|
567
644
|
try {
|
package/dist/tui-handlers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-handlers.js","sourceRoot":"","sources":["../src/tui-handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tui-handlers.js","sourceRoot":"","sources":["../src/tui-handlers.ts"],"names":[],"mappings":"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"}
|
package/mk3-tui/src/app.rs
CHANGED
|
@@ -46,10 +46,36 @@ impl OperationMode {
|
|
|
46
46
|
|
|
47
47
|
#[derive(Debug, Clone, PartialEq)]
|
|
48
48
|
pub enum PortalField {
|
|
49
|
+
GatewayType,
|
|
49
50
|
GatewayUrl,
|
|
50
51
|
Username,
|
|
51
52
|
}
|
|
52
53
|
|
|
54
|
+
#[derive(Debug, Clone, PartialEq)]
|
|
55
|
+
pub enum GatewayType {
|
|
56
|
+
FourRunrServer, // External 4Runr cloud server
|
|
57
|
+
LocalBundle, // Local Gateway bundle (included with Full OS)
|
|
58
|
+
CustomUrl, // User's own Gateway server
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
impl GatewayType {
|
|
62
|
+
pub fn as_str(&self) -> &str {
|
|
63
|
+
match self {
|
|
64
|
+
GatewayType::FourRunrServer => "4Runr Server",
|
|
65
|
+
GatewayType::LocalBundle => "Local Bundle",
|
|
66
|
+
GatewayType::CustomUrl => "Custom URL",
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
pub fn default_url(&self) -> &str {
|
|
71
|
+
match self {
|
|
72
|
+
GatewayType::FourRunrServer => "https://gateway.4runr.com",
|
|
73
|
+
GatewayType::LocalBundle => "http://localhost:3001",
|
|
74
|
+
GatewayType::CustomUrl => "",
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
53
79
|
#[derive(Debug, Clone)]
|
|
54
80
|
pub struct ConnectionPortalState {
|
|
55
81
|
pub gateway_url: String,
|
|
@@ -58,6 +84,24 @@ pub struct ConnectionPortalState {
|
|
|
58
84
|
pub connecting: bool,
|
|
59
85
|
pub error: Option<String>,
|
|
60
86
|
pub last_successful_url: Option<String>,
|
|
87
|
+
pub selected_gateway_type: GatewayType,
|
|
88
|
+
pub detecting: bool,
|
|
89
|
+
pub detection_result: Option<DetectionResult>,
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
#[derive(Debug, Clone)]
|
|
93
|
+
pub struct DetectionResult {
|
|
94
|
+
pub available: bool,
|
|
95
|
+
pub running: bool,
|
|
96
|
+
pub is_localhost: bool,
|
|
97
|
+
pub local_bundle_exists: bool,
|
|
98
|
+
pub suggestion: Option<String>,
|
|
99
|
+
pub error: Option<String>,
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
#[derive(Debug, Clone)]
|
|
103
|
+
pub struct SetupPortalState {
|
|
104
|
+
pub selected_gateway_type: GatewayType,
|
|
61
105
|
}
|
|
62
106
|
|
|
63
107
|
impl Default for ConnectionPortalState {
|
|
@@ -65,10 +109,13 @@ impl Default for ConnectionPortalState {
|
|
|
65
109
|
Self {
|
|
66
110
|
gateway_url: "http://localhost:3001".to_string(),
|
|
67
111
|
username: String::new(),
|
|
68
|
-
focused_field: PortalField::
|
|
112
|
+
focused_field: PortalField::GatewayType,
|
|
69
113
|
connecting: false,
|
|
70
114
|
error: None,
|
|
71
115
|
last_successful_url: None,
|
|
116
|
+
selected_gateway_type: GatewayType::LocalBundle,
|
|
117
|
+
detecting: false,
|
|
118
|
+
detection_result: None,
|
|
72
119
|
}
|
|
73
120
|
}
|
|
74
121
|
}
|
|
@@ -77,16 +124,32 @@ impl ConnectionPortalState {
|
|
|
77
124
|
pub fn reset(&mut self) {
|
|
78
125
|
self.gateway_url = self.last_successful_url.clone().unwrap_or_else(|| "http://localhost:3001".to_string());
|
|
79
126
|
self.username = String::new();
|
|
80
|
-
self.focused_field = PortalField::
|
|
127
|
+
self.focused_field = PortalField::GatewayType;
|
|
81
128
|
self.connecting = false;
|
|
82
129
|
self.error = None;
|
|
130
|
+
self.selected_gateway_type = GatewayType::LocalBundle;
|
|
131
|
+
self.detecting = false;
|
|
132
|
+
self.detection_result = None;
|
|
83
133
|
}
|
|
84
134
|
|
|
85
135
|
pub fn toggle_field(&mut self) {
|
|
86
136
|
self.focused_field = match self.focused_field {
|
|
137
|
+
PortalField::GatewayType => PortalField::GatewayUrl,
|
|
87
138
|
PortalField::GatewayUrl => PortalField::Username,
|
|
88
|
-
PortalField::Username => PortalField::
|
|
139
|
+
PortalField::Username => PortalField::GatewayType,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
pub fn cycle_gateway_type(&mut self) {
|
|
144
|
+
self.selected_gateway_type = match self.selected_gateway_type {
|
|
145
|
+
GatewayType::LocalBundle => GatewayType::FourRunrServer,
|
|
146
|
+
GatewayType::FourRunrServer => GatewayType::CustomUrl,
|
|
147
|
+
GatewayType::CustomUrl => GatewayType::LocalBundle,
|
|
89
148
|
};
|
|
149
|
+
// Update URL when type changes
|
|
150
|
+
self.gateway_url = self.selected_gateway_type.default_url().to_string();
|
|
151
|
+
// Clear detection result when type changes
|
|
152
|
+
self.detection_result = None;
|
|
90
153
|
}
|
|
91
154
|
}
|
|
92
155
|
|
|
@@ -159,12 +222,15 @@ pub struct AppState {
|
|
|
159
222
|
pub settings: SettingsState,
|
|
160
223
|
pub agent_list: AgentListState,
|
|
161
224
|
pub connection_portal: ConnectionPortalState,
|
|
225
|
+
pub setup_portal: SetupPortalState,
|
|
162
226
|
|
|
163
227
|
// Command tracking for response handling (Step 5.1)
|
|
164
228
|
pub pending_agent_create_id: Option<String>,
|
|
165
229
|
pub pending_agent_list_id: Option<String>,
|
|
166
230
|
pub pending_agent_delete_id: Option<String>,
|
|
167
231
|
pub pending_gateway_connect_id: Option<String>,
|
|
232
|
+
pub pending_gateway_detect_id: Option<String>,
|
|
233
|
+
pub pending_bundle_check_id: Option<String>,
|
|
168
234
|
|
|
169
235
|
// Deletion confirmation (Step 5.5)
|
|
170
236
|
pub agent_delete_requested: bool,
|
|
@@ -231,10 +297,13 @@ impl Default for AppState {
|
|
|
231
297
|
settings: SettingsState::default(),
|
|
232
298
|
agent_list: AgentListState::default(),
|
|
233
299
|
connection_portal: ConnectionPortalState::default(),
|
|
300
|
+
setup_portal: SetupPortalState::default(),
|
|
234
301
|
pending_agent_create_id: None,
|
|
235
302
|
pending_agent_list_id: None,
|
|
236
303
|
pending_agent_delete_id: None,
|
|
237
304
|
pending_gateway_connect_id: None,
|
|
305
|
+
pending_gateway_detect_id: None,
|
|
306
|
+
pending_bundle_check_id: None,
|
|
238
307
|
agent_delete_requested: false,
|
|
239
308
|
operation_mode: OperationMode::Local,
|
|
240
309
|
cache: Cache::new().ok(),
|
|
@@ -243,6 +312,30 @@ impl Default for AppState {
|
|
|
243
312
|
}
|
|
244
313
|
}
|
|
245
314
|
|
|
315
|
+
#[derive(Debug, Clone)]
|
|
316
|
+
pub struct SetupPortalState {
|
|
317
|
+
pub selected_gateway_type: GatewayType,
|
|
318
|
+
pub bundle_checking: bool,
|
|
319
|
+
pub bundle_check_result: Option<BundleCheckResult>,
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
#[derive(Debug, Clone)]
|
|
323
|
+
pub struct BundleCheckResult {
|
|
324
|
+
pub exists: bool,
|
|
325
|
+
pub running: bool,
|
|
326
|
+
pub error: Option<String>,
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
impl Default for SetupPortalState {
|
|
330
|
+
fn default() -> Self {
|
|
331
|
+
Self {
|
|
332
|
+
selected_gateway_type: GatewayType::LocalBundle,
|
|
333
|
+
bundle_checking: false,
|
|
334
|
+
bundle_check_result: None,
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
|
|
246
339
|
#[derive(Debug, Clone)]
|
|
247
340
|
pub struct AgentListState {
|
|
248
341
|
pub agents: Vec<AgentInfo>,
|
|
@@ -457,6 +550,11 @@ impl App {
|
|
|
457
550
|
return self.handle_connection_portal_input(key, ws_client);
|
|
458
551
|
}
|
|
459
552
|
|
|
553
|
+
// === SETUP PORTAL INPUT HANDLING ===
|
|
554
|
+
if self.state.navigation.current_screen() == &Screen::SetupPortal {
|
|
555
|
+
return self.handle_setup_portal_input(key, ws_client);
|
|
556
|
+
}
|
|
557
|
+
|
|
460
558
|
// === AGENT LIST INPUT HANDLING ===
|
|
461
559
|
if self.state.navigation.current_screen() == &Screen::AgentList {
|
|
462
560
|
return self.handle_agent_list_input(key);
|
|
@@ -593,6 +691,10 @@ impl App {
|
|
|
593
691
|
self.state.connection_portal.reset();
|
|
594
692
|
self.state.logs.push_back("[NAV] Opening Connection Portal...".into());
|
|
595
693
|
}
|
|
694
|
+
"setup" | "setup gateway" | "setup portal" => {
|
|
695
|
+
self.push_overlay(Screen::SetupPortal);
|
|
696
|
+
self.state.logs.push_back("[NAV] Opening Setup Portal...".into());
|
|
697
|
+
}
|
|
596
698
|
"disconnect" => {
|
|
597
699
|
// Disconnect from Gateway
|
|
598
700
|
if let Some(ws) = ws_client {
|
|
@@ -762,6 +864,10 @@ impl App {
|
|
|
762
864
|
use crate::ui::connection_portal;
|
|
763
865
|
connection_portal::render(f, &self.state);
|
|
764
866
|
}
|
|
867
|
+
Screen::SetupPortal => {
|
|
868
|
+
use crate::ui::setup_portal;
|
|
869
|
+
setup_portal::render(f, &self.state);
|
|
870
|
+
}
|
|
765
871
|
Screen::Confirmation { message, action } => {
|
|
766
872
|
// TODO: Implement confirmation popup
|
|
767
873
|
// For now, just render the base screen
|
|
@@ -1473,8 +1579,16 @@ impl App {
|
|
|
1473
1579
|
}
|
|
1474
1580
|
}
|
|
1475
1581
|
|
|
1476
|
-
//
|
|
1477
|
-
if
|
|
1582
|
+
// Handle F1 - Open Setup Portal (always available, even during connecting/detecting)
|
|
1583
|
+
if key.code == KeyCode::F(1) {
|
|
1584
|
+
self.add_log("[NAV] Opening Setup Portal...".to_string());
|
|
1585
|
+
self.push_overlay(Screen::SetupPortal);
|
|
1586
|
+
self.request_render("open_setup_portal");
|
|
1587
|
+
return Ok(false);
|
|
1588
|
+
}
|
|
1589
|
+
|
|
1590
|
+
// Disable other input if connecting or detecting
|
|
1591
|
+
if self.state.connection_portal.connecting || self.state.connection_portal.detecting {
|
|
1478
1592
|
return Ok(false);
|
|
1479
1593
|
}
|
|
1480
1594
|
|
|
@@ -1492,16 +1606,11 @@ impl App {
|
|
|
1492
1606
|
self.request_render("portal_field_toggle");
|
|
1493
1607
|
}
|
|
1494
1608
|
|
|
1495
|
-
// Enter -
|
|
1609
|
+
// Enter - Detect Gateway first, then connect
|
|
1496
1610
|
KeyCode::Enter => {
|
|
1497
1611
|
let url = self.state.connection_portal.gateway_url.clone();
|
|
1498
|
-
let username = if self.state.connection_portal.username.is_empty() {
|
|
1499
|
-
None
|
|
1500
|
-
} else {
|
|
1501
|
-
Some(self.state.connection_portal.username.clone())
|
|
1502
|
-
};
|
|
1503
1612
|
|
|
1504
|
-
// Validate URL format
|
|
1613
|
+
// Validate URL format first
|
|
1505
1614
|
if url.is_empty() {
|
|
1506
1615
|
self.state.connection_portal.error = Some("Gateway URL is required".to_string());
|
|
1507
1616
|
self.request_render("portal_error");
|
|
@@ -1514,47 +1623,45 @@ impl App {
|
|
|
1514
1623
|
return Ok(false);
|
|
1515
1624
|
}
|
|
1516
1625
|
|
|
1517
|
-
//
|
|
1518
|
-
self.state.connection_portal.
|
|
1626
|
+
// First, detect if Gateway is available
|
|
1627
|
+
self.state.connection_portal.detecting = true;
|
|
1519
1628
|
self.state.connection_portal.error = None;
|
|
1629
|
+
self.state.connection_portal.detection_result = None;
|
|
1520
1630
|
|
|
1521
|
-
// Send gateway.
|
|
1631
|
+
// Send gateway.detect command
|
|
1522
1632
|
if let Some(ws) = ws_client {
|
|
1523
|
-
let
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
"username": username
|
|
1527
|
-
})
|
|
1528
|
-
} else {
|
|
1529
|
-
serde_json::json!({
|
|
1530
|
-
"url": url
|
|
1531
|
-
})
|
|
1532
|
-
};
|
|
1633
|
+
let detect_data = serde_json::json!({
|
|
1634
|
+
"url": url
|
|
1635
|
+
});
|
|
1533
1636
|
|
|
1534
|
-
match ws.send_command("gateway.
|
|
1637
|
+
match ws.send_command("gateway.detect", Some(detect_data)) {
|
|
1535
1638
|
Ok(id) => {
|
|
1536
1639
|
let short_id = &id[id.len().saturating_sub(8)..];
|
|
1537
|
-
self.add_log(format!("[GATEWAY]
|
|
1538
|
-
self.state.
|
|
1640
|
+
self.add_log(format!("[GATEWAY] Detecting Gateway at {} (id: {})", url, short_id));
|
|
1641
|
+
self.state.pending_gateway_detect_id = Some(id);
|
|
1539
1642
|
}
|
|
1540
1643
|
Err(e) => {
|
|
1541
|
-
self.state.connection_portal.
|
|
1542
|
-
self.state.connection_portal.error = Some(format!("Failed to
|
|
1543
|
-
self.add_log(format!("[ERROR] Gateway
|
|
1644
|
+
self.state.connection_portal.detecting = false;
|
|
1645
|
+
self.state.connection_portal.error = Some(format!("Failed to detect Gateway: {}", e));
|
|
1646
|
+
self.add_log(format!("[ERROR] Gateway detection failed: {}", e));
|
|
1544
1647
|
}
|
|
1545
1648
|
}
|
|
1546
1649
|
} else {
|
|
1547
|
-
self.state.connection_portal.
|
|
1650
|
+
self.state.connection_portal.detecting = false;
|
|
1548
1651
|
self.state.connection_portal.error = Some("WebSocket not connected".to_string());
|
|
1549
|
-
self.add_log("[ERROR] WebSocket not connected. Cannot
|
|
1652
|
+
self.add_log("[ERROR] WebSocket not connected. Cannot detect Gateway.".to_string());
|
|
1550
1653
|
}
|
|
1551
1654
|
|
|
1552
|
-
self.request_render("
|
|
1655
|
+
self.request_render("portal_detect");
|
|
1553
1656
|
}
|
|
1554
1657
|
|
|
1555
1658
|
// Typing - edit focused field
|
|
1556
1659
|
KeyCode::Char(c) => {
|
|
1557
1660
|
match self.state.connection_portal.focused_field {
|
|
1661
|
+
PortalField::GatewayType => {
|
|
1662
|
+
// Cycle through Gateway types with any key press
|
|
1663
|
+
self.state.connection_portal.cycle_gateway_type();
|
|
1664
|
+
}
|
|
1558
1665
|
PortalField::GatewayUrl => {
|
|
1559
1666
|
self.state.connection_portal.gateway_url.push(c);
|
|
1560
1667
|
}
|
|
@@ -1569,6 +1676,9 @@ impl App {
|
|
|
1569
1676
|
// Backspace - delete character
|
|
1570
1677
|
KeyCode::Backspace => {
|
|
1571
1678
|
match self.state.connection_portal.focused_field {
|
|
1679
|
+
PortalField::GatewayType => {
|
|
1680
|
+
// No backspace action for type selector
|
|
1681
|
+
}
|
|
1572
1682
|
PortalField::GatewayUrl => {
|
|
1573
1683
|
self.state.connection_portal.gateway_url.pop();
|
|
1574
1684
|
}
|
|
@@ -1585,5 +1695,105 @@ impl App {
|
|
|
1585
1695
|
|
|
1586
1696
|
Ok(false)
|
|
1587
1697
|
}
|
|
1698
|
+
|
|
1699
|
+
// ============================================================
|
|
1700
|
+
// SETUP PORTAL INPUT HANDLING
|
|
1701
|
+
// ============================================================
|
|
1702
|
+
|
|
1703
|
+
fn handle_setup_portal_input(&mut self, key: KeyEvent, ws_client: Option<&WebSocketClient>) -> antml::Result<bool> {
|
|
1704
|
+
match key.code {
|
|
1705
|
+
// ESC - Cancel and close portal
|
|
1706
|
+
KeyCode::Esc => {
|
|
1707
|
+
self.pop_overlay();
|
|
1708
|
+
self.add_log("[NAV] Setup Portal closed".to_string());
|
|
1709
|
+
self.request_render("setup_portal_close");
|
|
1710
|
+
}
|
|
1711
|
+
|
|
1712
|
+
// F2 - Go directly to Connection Portal
|
|
1713
|
+
KeyCode::F(2) => {
|
|
1714
|
+
self.pop_overlay();
|
|
1715
|
+
self.push_overlay(Screen::ConnectionPortal);
|
|
1716
|
+
self.add_log("[NAV] Opening Connection Portal...".to_string());
|
|
1717
|
+
self.request_render("open_connection_portal");
|
|
1718
|
+
}
|
|
1719
|
+
|
|
1720
|
+
// Disable other input if checking
|
|
1721
|
+
_ if self.state.setup_portal.bundle_checking => {
|
|
1722
|
+
return Ok(false);
|
|
1723
|
+
}
|
|
1724
|
+
|
|
1725
|
+
// Up/Down - Navigate options
|
|
1726
|
+
KeyCode::Up => {
|
|
1727
|
+
self.state.setup_portal.selected_gateway_type = match self.state.setup_portal.selected_gateway_type {
|
|
1728
|
+
GatewayType::FourRunrServer => GatewayType::LocalBundle,
|
|
1729
|
+
GatewayType::LocalBundle => GatewayType::CustomUrl,
|
|
1730
|
+
GatewayType::CustomUrl => GatewayType::CustomUrl, // Stay at bottom
|
|
1731
|
+
};
|
|
1732
|
+
self.request_render("setup_portal_nav");
|
|
1733
|
+
}
|
|
1734
|
+
|
|
1735
|
+
KeyCode::Down => {
|
|
1736
|
+
self.state.setup_portal.selected_gateway_type = match self.state.setup_portal.selected_gateway_type {
|
|
1737
|
+
GatewayType::LocalBundle => GatewayType::FourRunrServer,
|
|
1738
|
+
GatewayType::FourRunrServer => GatewayType::CustomUrl,
|
|
1739
|
+
GatewayType::CustomUrl => GatewayType::LocalBundle, // Wrap to top
|
|
1740
|
+
};
|
|
1741
|
+
self.request_render("setup_portal_nav");
|
|
1742
|
+
}
|
|
1743
|
+
|
|
1744
|
+
// Enter - Proceed with selected option
|
|
1745
|
+
KeyCode::Enter => {
|
|
1746
|
+
match self.state.setup_portal.selected_gateway_type {
|
|
1747
|
+
GatewayType::LocalBundle => {
|
|
1748
|
+
// Check if bundle exists first
|
|
1749
|
+
self.state.setup_portal.bundle_checking = true;
|
|
1750
|
+
self.state.setup_portal.bundle_check_result = None;
|
|
1751
|
+
self.add_log("[SETUP] Checking Local Bundle availability...".to_string());
|
|
1752
|
+
|
|
1753
|
+
// Send gateway.detect command to check localhost:3001
|
|
1754
|
+
if let Some(ws) = ws_client {
|
|
1755
|
+
let detect_data = serde_json::json!({
|
|
1756
|
+
"url": "http://localhost:3001"
|
|
1757
|
+
});
|
|
1758
|
+
|
|
1759
|
+
match ws.send_command("gateway.detect", Some(detect_data)) {
|
|
1760
|
+
Ok(id) => {
|
|
1761
|
+
self.state.pending_bundle_check_id = Some(id);
|
|
1762
|
+
}
|
|
1763
|
+
Err(e) => {
|
|
1764
|
+
self.state.setup_portal.bundle_checking = false;
|
|
1765
|
+
self.add_log(format!("[ERROR] Failed to check bundle: {}", e));
|
|
1766
|
+
}
|
|
1767
|
+
}
|
|
1768
|
+
} else {
|
|
1769
|
+
self.state.setup_portal.bundle_checking = false;
|
|
1770
|
+
self.add_log("[ERROR] WebSocket not connected".to_string());
|
|
1771
|
+
}
|
|
1772
|
+
}
|
|
1773
|
+
GatewayType::FourRunrServer => {
|
|
1774
|
+
// Pre-fill 4Runr Server URL and open connection portal
|
|
1775
|
+
self.state.connection_portal.selected_gateway_type = GatewayType::FourRunrServer;
|
|
1776
|
+
self.state.connection_portal.gateway_url = "https://gateway.4runr.com".to_string();
|
|
1777
|
+
self.add_log("[SETUP] 4Runr Server selected".to_string());
|
|
1778
|
+
self.pop_overlay();
|
|
1779
|
+
self.push_overlay(Screen::ConnectionPortal);
|
|
1780
|
+
}
|
|
1781
|
+
GatewayType::CustomUrl => {
|
|
1782
|
+
// Open connection portal with custom URL selected
|
|
1783
|
+
self.state.connection_portal.selected_gateway_type = GatewayType::CustomUrl;
|
|
1784
|
+
self.state.connection_portal.gateway_url = String::new();
|
|
1785
|
+
self.add_log("[SETUP] Custom URL selected".to_string());
|
|
1786
|
+
self.pop_overlay();
|
|
1787
|
+
self.push_overlay(Screen::ConnectionPortal);
|
|
1788
|
+
}
|
|
1789
|
+
}
|
|
1790
|
+
self.request_render("setup_portal_proceed");
|
|
1791
|
+
}
|
|
1792
|
+
|
|
1793
|
+
_ => {}
|
|
1794
|
+
}
|
|
1795
|
+
|
|
1796
|
+
Ok(false)
|
|
1797
|
+
}
|
|
1588
1798
|
}
|
|
1589
1799
|
|