@@ -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
@@ -288,19 +281,14 @@ impl McpManager {
288281
289282 pub fn spawn ( self ) -> McpManagerHandle {
290283 let request_tx = self . request_tx . clone ( ) ;
291- let server_to_handle_server_event_tx = self . server_event_tx . clone ( ) ;
292284 let ( mcp_main_loop_to_handle_server_event_tx, mcp_main_loop_to_handle_server_event_rx) =
293285 broadcast:: channel :: < McpServerActorEvent > ( 100 ) ;
294286
295287 tokio:: spawn ( async move {
296288 self . main_loop ( mcp_main_loop_to_handle_server_event_tx) . await ;
297289 } ) ;
298290
299- McpManagerHandle :: new (
300- request_tx,
301- server_to_handle_server_event_tx,
302- mcp_main_loop_to_handle_server_event_rx,
303- )
291+ McpManagerHandle :: new ( request_tx, mcp_main_loop_to_handle_server_event_rx)
304292 }
305293
306294 async fn main_loop ( mut self , mcp_main_loop_to_handle_server_event_tx : broadcast:: Sender < McpServerActorEvent > ) {
@@ -336,13 +324,13 @@ impl McpManager {
336324 McpManagerRequest :: LaunchServer {
337325 server_name : name,
338326 config,
339- server_event_sender : event_tx,
340327 } => {
341328 if self . initializing_servers . contains_key ( & name) {
342329 return Err ( McpManagerError :: ServerCurrentlyInitializing { name } ) ;
343330 } else if self . servers . contains_key ( & name) {
344331 return Err ( McpManagerError :: ServerAlreadyLaunched { name } ) ;
345332 }
333+ let event_tx = self . server_event_tx . clone ( ) ;
346334 let handle = McpServerActor :: spawn ( name. clone ( ) , config, self . cred_path . clone ( ) , event_tx) ;
347335 self . initializing_servers . insert ( name, handle) ;
348336 Ok ( McpManagerResponse :: LaunchServer )
@@ -414,8 +402,6 @@ pub enum McpManagerRequest {
414402 server_name : String ,
415403 /// Config to use
416404 config : McpServerConfig ,
417- /// Channel for sending server events back to the manager
418- server_event_sender : mpsc:: Sender < McpServerActorEvent > ,
419405 } ,
420406 GetToolSpecs {
421407 server_name : String ,
0 commit comments