diff --git a/src/ModularPipelines/Context/IZip.cs b/src/ModularPipelines/Context/IZip.cs
index 5c5c8330bf..5c2dc1ac01 100644
--- a/src/ModularPipelines/Context/IZip.cs
+++ b/src/ModularPipelines/Context/IZip.cs
@@ -4,13 +4,42 @@
namespace ModularPipelines.Context;
+///
+/// Provides ZIP compression and decompression functionality for folders and files.
+///
public interface IZip
{
+ ///
+ /// Compresses a folder into a ZIP file using optimal compression level.
+ ///
+ /// The folder to compress.
+ /// The path where the ZIP file will be created.
+ /// A representing the created ZIP file.
public File ZipFolder(Folder folder, string outputPath) => ZipFolder(folder, outputPath, CompressionLevel.Optimal);
+ ///
+ /// Compresses a folder into a ZIP file with the specified compression level.
+ ///
+ /// The folder to compress.
+ /// The path where the ZIP file will be created.
+ /// The level of compression to use.
+ /// A representing the created ZIP file.
public File ZipFolder(Folder folder, string outputPath, CompressionLevel compressionLevel);
+ ///
+ /// Extracts a ZIP file to a folder, overwriting existing files by default.
+ ///
+ /// The path to the ZIP file to extract.
+ /// The path where the contents will be extracted.
+ /// A representing the extraction destination folder.
public Folder UnZipToFolder(string zipPath, string outputFolderPath) => UnZipToFolder(zipPath, outputFolderPath, true);
+ ///
+ /// Extracts a ZIP file to a folder with control over whether to overwrite existing files.
+ ///
+ /// The path to the ZIP file to extract.
+ /// The path where the contents will be extracted.
+ /// If true, existing files will be overwritten; otherwise, an exception is thrown for conflicts.
+ /// A representing the extraction destination folder.
public Folder UnZipToFolder(string zipPath, string outputFolderPath, bool overwriteFiles);
}
\ No newline at end of file