Stage 3: dtrack-http nutzt shared_client (Vorbereitung Live-Reload)
CI / test (push) Successful in 11m56s
CI / test (push) Successful in 11m56s
This commit is contained in:
@@ -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(),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user