From 86b5555ecc97df6fc3e28d1d929d7ef6a081b9f4 Mon Sep 17 00:00:00 2001 From: Sebas Date: Tue, 23 Jun 2026 20:10:29 +0000 Subject: [PATCH] Stage 3: dtrack-http nutzt shared_client (Vorbereitung Live-Reload) --- crates/dtrack-http/src/main.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/crates/dtrack-http/src/main.rs b/crates/dtrack-http/src/main.rs index b83e52c..2fc6db1 100644 --- a/crates/dtrack-http/src/main.rs +++ b/crates/dtrack-http/src/main.rs @@ -11,7 +11,7 @@ use axum::{ Router, }; use dtrack_core::{DtrackClient, DtrackConfig}; -use dtrack_tools::DtrackServer; +use dtrack_tools::{shared_client, DtrackServer}; use rmcp::transport::streamable_http_server::{ session::local::LocalSessionManager, StreamableHttpService, }; @@ -79,9 +79,12 @@ async fn main() -> Result<()> { let cfg = DtrackConfig::resolve()?; let client = DtrackClient::from_config(&cfg)?; - // Pro Session ein frischer DtrackServer; der Client wird nur geklont (billig). + // Laufzeit-austauschbarer Client-Handle (Admin-UI kann ihn spaeter neu bauen). + let shared = shared_client(client); + + // Pro Session ein frischer DtrackServer; der Handle wird nur geklont (Arc). let mcp_service = StreamableHttpService::new( - move || Ok(DtrackServer::new(client.clone())), + move || Ok(DtrackServer::new(shared.clone())), LocalSessionManager::default().into(), Default::default(), );