huskies: merge 898

This commit is contained in:
dave
2026-05-12 21:29:04 +00:00
parent d78dd9e8f9
commit 937792f208
10 changed files with 829 additions and 23 deletions
+3
View File
@@ -55,6 +55,8 @@ pub fn build_gateway_route(state_arc: Arc<GatewayState>) -> impl poem::Endpoint
)
// Agent registration via CRDT-sync WebSocket.
.at("/crdt-sync", poem::get(gateway_crdt_sync_handler))
// Sled uplink: permission-forwarding WebSocket from sleds to gateway.
.at("/api/sled-uplink", poem::get(gateway_sled_uplink_handler))
// Agent management REST endpoints.
.at(
"/gateway/agents/:id/assign",
@@ -126,6 +128,7 @@ pub async fn run(config_path: &Path, port: u16) -> Result<(), std::io::Error> {
gateway_project_urls,
port,
Some(state_arc.event_tx.clone()),
Arc::clone(&state_arc.perm_rx),
);
*state_arc.bot_handle.lock().await = bot_abort;
*state_arc.bot_shutdown_tx.lock().await = Some(bot_shutdown_tx);
+24 -6
View File
@@ -13,7 +13,10 @@ fn make_test_state() -> Arc<GatewayState> {
url: "http://test:3001".into(),
},
);
let config = GatewayConfig { projects };
let config = GatewayConfig {
projects,
sled_tokens: BTreeMap::new(),
};
Arc::new(GatewayState::new(config, PathBuf::new(), 3000).unwrap())
}
@@ -368,7 +371,10 @@ async fn init_project_registers_in_projects_toml_when_name_and_url_given() {
url: "http://existing:3001".into(),
},
);
let config = GatewayConfig { projects };
let config = GatewayConfig {
projects,
sled_tokens: BTreeMap::new(),
};
let state = Arc::new(GatewayState::new(config, config_dir.path().to_path_buf(), 3000).unwrap());
let result = gateway::init_project(
@@ -395,7 +401,10 @@ async fn init_project_duplicate_name_returns_error() {
url: "http://taken:3001".into(),
},
);
let config = GatewayConfig { projects };
let config = GatewayConfig {
projects,
sled_tokens: BTreeMap::new(),
};
let state = Arc::new(GatewayState::new(config, PathBuf::new(), 3000).unwrap());
let result = gateway::init_project(
@@ -444,7 +453,10 @@ async fn init_project_then_wizard_status_integration() {
let mut projects = BTreeMap::new();
projects.insert("mock-project".into(), ProjectEntry { url: mock_url });
let config = GatewayConfig { projects };
let config = GatewayConfig {
projects,
sled_tokens: BTreeMap::new(),
};
let config_dir = tempfile::tempdir().unwrap();
let state = Arc::new(GatewayState::new(config, config_dir.path().to_path_buf(), 3000).unwrap());
@@ -966,7 +978,10 @@ async fn gateway_mcp_sse_proxy_streams_progress_and_final_response() {
url: mock_sled.url(),
},
);
let config = GatewayConfig { projects };
let config = GatewayConfig {
projects,
sled_tokens: BTreeMap::new(),
};
let state = Arc::new(GatewayState::new(config, PathBuf::new(), 3000).unwrap());
let app = poem::Route::new()
@@ -1059,7 +1074,10 @@ async fn gateway_mcp_post_without_sse_returns_plain_json() {
url: mock_sled.url(),
},
);
let config = GatewayConfig { projects };
let config = GatewayConfig {
projects,
sled_tokens: BTreeMap::new(),
};
let state = Arc::new(GatewayState::new(config, PathBuf::new(), 3000).unwrap());
let app = poem::Route::new()