Parses one stdout line, returning parse errors as values for the session to surface.
(line: str)
| 216 | |
| 217 | |
| 218 | def _parse_line(line: str) -> SessionMessage | Exception: |
| 219 | """Parses one stdout line, returning parse errors as values for the session to surface.""" |
| 220 | try: |
| 221 | message = types.jsonrpc_message_adapter.validate_json(line, by_name=False) |
| 222 | except ValueError as exc: |
| 223 | logger.exception("Failed to parse JSONRPC message from server") |
| 224 | return exc |
| 225 | return SessionMessage(message) |
| 226 | |
| 227 | |
| 228 | async def _drain_stdout(process: ServerProcess) -> None: |
no test coverage detected