Download multiple files from the Runloop devbox.
Downloads files individually using the Runloop API. Returns a list of FileDownloadResponse objects preserving order and reporting per-file errors rather than raising exceptions.
TODO: Implement proper error handling with standardized FileOperationError codes. Currently only implements happy path.
download_files(
self,
paths: list[str],
) -> list[FileDownloadResponse]