@@ -155,15 +155,13 @@ use crate::agent::util::request_channel::{
155155pub struct McpManagerHandle {
156156 /// Sender for sending requests to the tool manager task
157157 request_tx : RequestSender < McpManagerRequest , McpManagerResponse , McpManagerError > ,
158- server_to_handle_server_event_tx : mpsc:: Sender < McpServerActorEvent > ,
159158 mcp_main_loop_to_handle_server_event_rx : broadcast:: Receiver < McpServerActorEvent > ,
160159}
161160
162161impl Clone for McpManagerHandle {
163162 fn clone ( & self ) -> Self {
164163 Self {
165164 request_tx : self . request_tx . clone ( ) ,
166- server_to_handle_server_event_tx : self . server_to_handle_server_event_tx . clone ( ) ,
167165 mcp_main_loop_to_handle_server_event_rx : self . mcp_main_loop_to_handle_server_event_rx . resubscribe ( ) ,
168166 }
169167 }
@@ -172,12 +170,10 @@ impl Clone for McpManagerHandle {
172170impl McpManagerHandle {
173171 fn new (
174172 request_tx : RequestSender < McpManagerRequest , McpManagerResponse , McpManagerError > ,
175- server_to_handle_server_event_tx : mpsc:: Sender < McpServerActorEvent > ,
176173 mcp_main_loop_to_handle_server_event_rx : broadcast:: Receiver < McpServerActorEvent > ,
177174 ) -> Self {
178175 Self {
179176 request_tx,
180- server_to_handle_server_event_tx,
181177 mcp_main_loop_to_handle_server_event_rx,
182178 }
183179 }
@@ -187,12 +183,9 @@ impl McpManagerHandle {
187183 name : String ,
188184 config : McpServerConfig ,
189185 ) -> Result < McpManagerResponse , McpManagerError > {
190- let server_event_sender = self . server_to_handle_server_event_tx . clone ( ) ;
191-
192186 self . request_tx
193187 . send_recv ( McpManagerRequest :: LaunchServer {
194188 server_name : name,
195- server_event_sender,
196189 config,
197190 } )
198191 . await
@@ -291,19 +284,14 @@ impl McpManager {
291284
292285 pub fn spawn ( self ) -> McpManagerHandle {
293286 let request_tx = self . request_tx . clone ( ) ;
294- let server_to_handle_server_event_tx = self . server_event_tx . clone ( ) ;
295287 let ( mcp_main_loop_to_handle_server_event_tx, mcp_main_loop_to_handle_server_event_rx) =
296288 broadcast:: channel :: < McpServerActorEvent > ( 100 ) ;
297289
298290 tokio:: spawn ( async move {
299291 self . main_loop ( mcp_main_loop_to_handle_server_event_tx) . await ;
300292 } ) ;
301293
302- McpManagerHandle :: new (
303- request_tx,
304- server_to_handle_server_event_tx,
305- mcp_main_loop_to_handle_server_event_rx,
306- )
294+ McpManagerHandle :: new ( request_tx, mcp_main_loop_to_handle_server_event_rx)
307295 }
308296
309297 async fn main_loop ( mut self , mcp_main_loop_to_handle_server_event_tx : broadcast:: Sender < McpServerActorEvent > ) {
@@ -339,13 +327,13 @@ impl McpManager {
339327 McpManagerRequest :: LaunchServer {
340328 server_name : name,
341329 config,
342- server_event_sender : event_tx,
343330 } => {
344331 if self . initializing_servers . contains_key ( & name) {
345332 return Err ( McpManagerError :: ServerCurrentlyInitializing { name } ) ;
346333 } else if self . servers . contains_key ( & name) {
347334 return Err ( McpManagerError :: ServerAlreadyLaunched { name } ) ;
348335 }
336+ let event_tx = self . server_event_tx . clone ( ) ;
349337 let handle = McpServerActor :: spawn ( name. clone ( ) , config, self . cred_path . clone ( ) , event_tx) ;
350338 self . initializing_servers . insert ( name, handle) ;
351339 Ok ( McpManagerResponse :: LaunchServer )
@@ -417,8 +405,6 @@ pub enum McpManagerRequest {
417405 server_name : String ,
418406 /// Config to use
419407 config : McpServerConfig ,
420- /// Channel for sending server events back to the manager
421- server_event_sender : mpsc:: Sender < McpServerActorEvent > ,
422408 } ,
423409 GetToolSpecs {
424410 server_name : String ,
0 commit comments