agent-zero/api/extract_work_dir_archive.py.dox.md
Alessandro 98589c6357 Add Editor downloads and archive extraction
Add Download to Editor file actions and safe File Browser extraction for ZIP, TAR, RAR, 7z, and compressed archives. Include archive safety checks, focused regressions, and 7zip in the base image.
2026-07-16 15:14:03 +02:00

908 B

extract_work_dir_archive.py DOX

Purpose

  • Own the authenticated, CSRF-protected archive extraction endpoint for File Browser.
  • Extract supported archives into a new sibling folder without overwriting existing content.

Ownership

  • ExtractWorkDirArchive receives a file path and optional listing currentPath.
  • extract_archive validates the source, creates the destination, and removes partial output on failure.

Runtime Contracts

  • ZIP and TAR-family archives use the Python standard library; RAR, 7z, and single-file compression formats use the image 7zip binary.
  • Archive members must remain below the new destination and cannot be links or devices.
  • Successful extraction emits workdir_file_mutation_after and returns a refreshed file listing plus extracted_path.

Verification

  • Run pytest tests/test_file_browser_archives.py tests/test_file_browser_navigation.py.