@@ -104,22 +104,23 @@ async def stop(self):
104104 self ._stderr_thread .join (timeout = 1.0 )
105105
106106 async def request (
107- self , method : str , params : Optional [dict ] = None , timeout : float = 30.0
107+ self , method : str , params : Optional [dict ] = None , timeout : Optional [ float ] = None
108108 ) -> Any :
109109 """
110110 Send a JSON-RPC request and wait for response
111111
112112 Args:
113113 method: Method name
114114 params: Optional parameters
115- timeout: Request timeout in seconds (default 30s)
115+ timeout: Optional request timeout in seconds. If None (default),
116+ waits indefinitely for the server to respond.
116117
117118 Returns:
118119 The result from the response
119120
120121 Raises:
121122 JsonRpcError: If server returns an error
122- asyncio.TimeoutError: If request times out
123+ asyncio.TimeoutError: If request times out (only when timeout is set)
123124 """
124125 request_id = str (uuid .uuid4 ())
125126
@@ -141,7 +142,9 @@ async def request(
141142 await self ._send_message (message )
142143
143144 try :
144- return await asyncio .wait_for (future , timeout = timeout )
145+ if timeout is not None :
146+ return await asyncio .wait_for (future , timeout = timeout )
147+ return await future
145148 finally :
146149 with self ._pending_lock :
147150 self .pending_requests .pop (request_id , None )
0 commit comments