Stage 3: dtrack-http nutzt shared_client (Vorbereitung Live-Reload)
CI / test (push) Successful in 11m56s

This commit is contained in:
2026-06-23 20:10:29 +00:00
parent 25083db63a
commit 86b5555ecc
+6 -3
View File
@@ -11,7 +11,7 @@ use axum::{
Router, Router,
}; };
use dtrack_core::{DtrackClient, DtrackConfig}; use dtrack_core::{DtrackClient, DtrackConfig};
use dtrack_tools::DtrackServer; use dtrack_tools::{shared_client, DtrackServer};
use rmcp::transport::streamable_http_server::{ use rmcp::transport::streamable_http_server::{
session::local::LocalSessionManager, StreamableHttpService, session::local::LocalSessionManager, StreamableHttpService,
}; };
@@ -79,9 +79,12 @@ async fn main() -> Result<()> {
let cfg = DtrackConfig::resolve()?; let cfg = DtrackConfig::resolve()?;
let client = DtrackClient::from_config(&cfg)?; 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( let mcp_service = StreamableHttpService::new(
move || Ok(DtrackServer::new(client.clone())), move || Ok(DtrackServer::new(shared.clone())),
LocalSessionManager::default().into(), LocalSessionManager::default().into(),
Default::default(), Default::default(),
); );