@@ -176,13 +176,17 @@ impl Agent for ClientSideConnection {
176176 . await
177177 }
178178
179- async fn authenticate ( & self , arguments : AuthenticateRequest ) -> Result < ( ) , Error > {
179+ async fn authenticate (
180+ & self ,
181+ arguments : AuthenticateRequest ,
182+ ) -> Result < AuthenticateResponse , Error > {
180183 self . conn
181- . request (
184+ . request :: < Option < _ > > (
182185 AUTHENTICATE_METHOD_NAME ,
183186 Some ( ClientRequest :: AuthenticateRequest ( arguments) ) ,
184187 )
185188 . await
189+ . map ( |value| value. unwrap_or_default ( ) )
186190 }
187191
188192 async fn new_session ( & self , arguments : NewSessionRequest ) -> Result < NewSessionResponse , Error > {
@@ -199,11 +203,12 @@ impl Agent for ClientSideConnection {
199203 arguments : LoadSessionRequest ,
200204 ) -> Result < LoadSessionResponse , Error > {
201205 self . conn
202- . request (
206+ . request :: < Option < _ > > (
203207 SESSION_LOAD_METHOD_NAME ,
204208 Some ( ClientRequest :: LoadSessionRequest ( arguments) ) ,
205209 )
206210 . await
211+ . map ( |value| value. unwrap_or_default ( ) )
207212 }
208213
209214 #[ cfg( feature = "unstable" ) ]
@@ -349,8 +354,8 @@ impl<T: Client> MessageHandler<ClientSide> for T {
349354 Ok ( ClientResponse :: RequestPermissionResponse ( response) )
350355 }
351356 AgentRequest :: WriteTextFileRequest ( args) => {
352- self . write_text_file ( args) . await ?;
353- Ok ( ClientResponse :: WriteTextFileResponse )
357+ let response = self . write_text_file ( args) . await ?;
358+ Ok ( ClientResponse :: WriteTextFileResponse ( response ) )
354359 }
355360 AgentRequest :: ReadTextFileRequest ( args) => {
356361 let response = self . read_text_file ( args) . await ?;
@@ -365,16 +370,16 @@ impl<T: Client> MessageHandler<ClientSide> for T {
365370 Ok ( ClientResponse :: TerminalOutputResponse ( response) )
366371 }
367372 AgentRequest :: ReleaseTerminalRequest ( args) => {
368- self . release_terminal ( args) . await ?;
369- Ok ( ClientResponse :: ReleaseTerminalResponse )
373+ let response = self . release_terminal ( args) . await ?;
374+ Ok ( ClientResponse :: ReleaseTerminalResponse ( response ) )
370375 }
371376 AgentRequest :: WaitForTerminalExitRequest ( args) => {
372377 let response = self . wait_for_terminal_exit ( args) . await ?;
373378 Ok ( ClientResponse :: WaitForTerminalExitResponse ( response) )
374379 }
375380 AgentRequest :: KillTerminalCommandRequest ( args) => {
376- self . kill_terminal_command ( args) . await ?;
377- Ok ( ClientResponse :: KillTerminalResponse )
381+ let response = self . kill_terminal_command ( args) . await ?;
382+ Ok ( ClientResponse :: KillTerminalResponse ( response ) )
378383 }
379384 AgentRequest :: ExtMethodRequest ( args) => {
380385 let response = self . ext_method ( args. method , args. params ) . await ?;
@@ -466,13 +471,17 @@ impl Client for AgentSideConnection {
466471 . await
467472 }
468473
469- async fn write_text_file ( & self , arguments : WriteTextFileRequest ) -> Result < ( ) , Error > {
474+ async fn write_text_file (
475+ & self ,
476+ arguments : WriteTextFileRequest ,
477+ ) -> Result < WriteTextFileResponse , Error > {
470478 self . conn
471- . request (
479+ . request :: < Option < _ > > (
472480 FS_WRITE_TEXT_FILE_METHOD_NAME ,
473481 Some ( AgentRequest :: WriteTextFileRequest ( arguments) ) ,
474482 )
475483 . await
484+ . map ( |value| value. unwrap_or_default ( ) )
476485 }
477486
478487 async fn read_text_file (
@@ -511,13 +520,17 @@ impl Client for AgentSideConnection {
511520 . await
512521 }
513522
514- async fn release_terminal ( & self , arguments : ReleaseTerminalRequest ) -> Result < ( ) , Error > {
523+ async fn release_terminal (
524+ & self ,
525+ arguments : ReleaseTerminalRequest ,
526+ ) -> Result < ReleaseTerminalResponse , Error > {
515527 self . conn
516- . request (
528+ . request :: < Option < _ > > (
517529 TERMINAL_RELEASE_METHOD_NAME ,
518530 Some ( AgentRequest :: ReleaseTerminalRequest ( arguments) ) ,
519531 )
520532 . await
533+ . map ( |value| value. unwrap_or_default ( ) )
521534 }
522535
523536 async fn wait_for_terminal_exit (
@@ -535,13 +548,14 @@ impl Client for AgentSideConnection {
535548 async fn kill_terminal_command (
536549 & self ,
537550 arguments : KillTerminalCommandRequest ,
538- ) -> Result < ( ) , Error > {
551+ ) -> Result < KillTerminalCommandResponse , Error > {
539552 self . conn
540- . request (
553+ . request :: < Option < _ > > (
541554 TERMINAL_KILL_METHOD_NAME ,
542555 Some ( AgentRequest :: KillTerminalCommandRequest ( arguments) ) ,
543556 )
544557 . await
558+ . map ( |value| value. unwrap_or_default ( ) )
545559 }
546560
547561 async fn session_notification ( & self , notification : SessionNotification ) -> Result < ( ) , Error > {
@@ -657,8 +671,8 @@ impl<T: Agent> MessageHandler<AgentSide> for T {
657671 Ok ( AgentResponse :: InitializeResponse ( response) )
658672 }
659673 ClientRequest :: AuthenticateRequest ( args) => {
660- self . authenticate ( args) . await ?;
661- Ok ( AgentResponse :: AuthenticateResponse )
674+ let response = self . authenticate ( args) . await ?;
675+ Ok ( AgentResponse :: AuthenticateResponse ( response ) )
662676 }
663677 ClientRequest :: NewSessionRequest ( args) => {
664678 let response = self . new_session ( args) . await ?;
0 commit comments