Register client-session request handlers on a JSON-RPC connection.
(
client: "JsonRpcClient",
get_handlers: Callable[[str], ClientSessionApiHandlers],
)
| 26935 | canvas: CanvasHandler | None = None |
| 26936 | |
| 26937 | def register_client_session_api_handlers( |
| 26938 | client: "JsonRpcClient", |
| 26939 | get_handlers: Callable[[str], ClientSessionApiHandlers], |
| 26940 | ) -> None: |
| 26941 | """Register client-session request handlers on a JSON-RPC connection.""" |
| 26942 | async def handle_provider_token_get_token(params: dict) -> dict | None: |
| 26943 | request = ProviderTokenAcquireRequest.from_dict(params) |
| 26944 | handler = get_handlers(request.session_id).provider_token |
| 26945 | if handler is None: raise RuntimeError(f"No provider_token handler registered for session: {request.session_id}") |
| 26946 | result = await handler.get_token(request) |
| 26947 | return result.to_dict() |
| 26948 | client.set_request_handler("providerToken.getToken", handle_provider_token_get_token) |
| 26949 | async def handle_session_fs_read_file(params: dict) -> dict | None: |
| 26950 | request = SessionFSReadFileRequest.from_dict(params) |
| 26951 | handler = get_handlers(request.session_id).session_fs |
| 26952 | if handler is None: raise RuntimeError(f"No session_fs handler registered for session: {request.session_id}") |
| 26953 | result = await handler.read_file(request) |
| 26954 | return result.to_dict() |
| 26955 | client.set_request_handler("sessionFs.readFile", handle_session_fs_read_file) |
| 26956 | async def handle_session_fs_write_file(params: dict) -> dict | None: |
| 26957 | request = SessionFSWriteFileRequest.from_dict(params) |
| 26958 | handler = get_handlers(request.session_id).session_fs |
| 26959 | if handler is None: raise RuntimeError(f"No session_fs handler registered for session: {request.session_id}") |
| 26960 | result = await handler.write_file(request) |
| 26961 | return result.to_dict() if result is not None else None |
| 26962 | client.set_request_handler("sessionFs.writeFile", handle_session_fs_write_file) |
| 26963 | async def handle_session_fs_append_file(params: dict) -> dict | None: |
| 26964 | request = SessionFSAppendFileRequest.from_dict(params) |
| 26965 | handler = get_handlers(request.session_id).session_fs |
| 26966 | if handler is None: raise RuntimeError(f"No session_fs handler registered for session: {request.session_id}") |
| 26967 | result = await handler.append_file(request) |
| 26968 | return result.to_dict() if result is not None else None |
| 26969 | client.set_request_handler("sessionFs.appendFile", handle_session_fs_append_file) |
| 26970 | async def handle_session_fs_exists(params: dict) -> dict | None: |
| 26971 | request = SessionFSExistsRequest.from_dict(params) |
| 26972 | handler = get_handlers(request.session_id).session_fs |
| 26973 | if handler is None: raise RuntimeError(f"No session_fs handler registered for session: {request.session_id}") |
| 26974 | result = await handler.exists(request) |
| 26975 | return result.to_dict() |
| 26976 | client.set_request_handler("sessionFs.exists", handle_session_fs_exists) |
| 26977 | async def handle_session_fs_stat(params: dict) -> dict | None: |
| 26978 | request = SessionFSStatRequest.from_dict(params) |
| 26979 | handler = get_handlers(request.session_id).session_fs |
| 26980 | if handler is None: raise RuntimeError(f"No session_fs handler registered for session: {request.session_id}") |
| 26981 | result = await handler.stat(request) |
| 26982 | return result.to_dict() |
| 26983 | client.set_request_handler("sessionFs.stat", handle_session_fs_stat) |
| 26984 | async def handle_session_fs_mkdir(params: dict) -> dict | None: |
| 26985 | request = SessionFSMkdirRequest.from_dict(params) |
| 26986 | handler = get_handlers(request.session_id).session_fs |
| 26987 | if handler is None: raise RuntimeError(f"No session_fs handler registered for session: {request.session_id}") |
| 26988 | result = await handler.mkdir(request) |
| 26989 | return result.to_dict() if result is not None else None |
| 26990 | client.set_request_handler("sessionFs.mkdir", handle_session_fs_mkdir) |
| 26991 | async def handle_session_fs_readdir(params: dict) -> dict | None: |
| 26992 | request = SessionFSReaddirRequest.from_dict(params) |
| 26993 | handler = get_handlers(request.session_id).session_fs |
| 26994 | if handler is None: raise RuntimeError(f"No session_fs handler registered for session: {request.session_id}") |
no test coverage detected
searching dependent graphs…