Upload multiple files to the sandbox.
Implementations must support partial success - catch exceptions per-file and return errors in FileUploadResponse objects rather than raising.
upload_files(
self,
files: list[tuple[str, bytes]],
) -> list[FileUploadResponse]