@@ -548,23 +548,24 @@ def __init__(self, client: "JsonRpcClient"):
548548 self ._client = client
549549
550550 async def list (self ) -> ModelsListResult :
551- return await self ._client .request ("models.list" , {})
551+ return ModelsListResult . from_dict ( await self ._client .request ("models.list" , {}) )
552552
553553
554554class ToolsApi :
555555 def __init__ (self , client : "JsonRpcClient" ):
556556 self ._client = client
557557
558- async def list (self , model ) -> ToolsListResult :
559- return await self ._client .request ("tools.list" , {"model" : model })
558+ async def list (self , params : ToolsListParams ) -> ToolsListResult :
559+ params_dict = {k : v for k , v in params .to_dict ().items () if v is not None }
560+ return ToolsListResult .from_dict (await self ._client .request ("tools.list" , params_dict ))
560561
561562
562563class AccountApi :
563564 def __init__ (self , client : "JsonRpcClient" ):
564565 self ._client = client
565566
566567 async def get_quota (self ) -> AccountGetQuotaResult :
567- return await self ._client .request ("account.getQuota" , {})
568+ return AccountGetQuotaResult . from_dict ( await self ._client .request ("account.getQuota" , {}) )
568569
569570
570571class ServerRpc :
@@ -575,8 +576,9 @@ def __init__(self, client: "JsonRpcClient"):
575576 self .tools = ToolsApi (client )
576577 self .account = AccountApi (client )
577578
578- async def ping (self , message ) -> PingResult :
579- return await self ._client .request ("ping" , {"message" : message })
579+ async def ping (self , params : PingParams ) -> PingResult :
580+ params_dict = {k : v for k , v in params .to_dict ().items () if v is not None }
581+ return PingResult .from_dict (await self ._client .request ("ping" , params_dict ))
580582
581583
582584class ModelApi :
@@ -585,10 +587,12 @@ def __init__(self, client: "JsonRpcClient", session_id: str):
585587 self ._session_id = session_id
586588
587589 async def get_current (self ) -> SessionModelGetCurrentResult :
588- return await self ._client .request ("session.model.getCurrent" , {"sessionId" : self ._session_id })
590+ return SessionModelGetCurrentResult . from_dict ( await self ._client .request ("session.model.getCurrent" , {"sessionId" : self ._session_id }) )
589591
590- async def switch_to (self , model_id ) -> SessionModelSwitchToResult :
591- return await self ._client .request ("session.model.switchTo" , {"sessionId" : self ._session_id , "modelId" : model_id })
592+ async def switch_to (self , params : SessionModelSwitchToParams ) -> SessionModelSwitchToResult :
593+ params_dict = {k : v for k , v in params .to_dict ().items () if v is not None }
594+ params_dict ["sessionId" ] = self ._session_id
595+ return SessionModelSwitchToResult .from_dict (await self ._client .request ("session.model.switchTo" , params_dict ))
592596
593597
594598class SessionRpc :
0 commit comments