> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eigenpal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 0.16.4

> EigenPal platform release 0.16.4

## Platform (Studio)

* Studio adds List Archive and Extract Archive File steps for ZIP workflow inputs. Enumerate archive contents, wire `\{\{ item.path }}` through foreach, and pass extracted files straight into Parse, Vision, or Search Files without leaving the builder.
* Studio now finishes multi-GB file uploads with resumable multipart transfers, retrying individual parts without restarting the whole file.
* Studio workflows now include Search Files: ask a question about a ZIP archive and get a cited answer plus the files the step inspected. Scope the search to a folder inside the archive and use the same model and reasoning controls as other AI steps.

## Public API

* Upload ZIP archives as reusable workflow inputs through the Files API. Archives can be much larger than single documents, so teams can pass bundled evidence, exports, or multi-file drops into the same runs that already accept PDFs and Office files.
* File uploads can now negotiate a resumable multipart session for multi-GB objects, with on-demand part URLs, authoritative resume listing, and safe completion that never overwrites a finished file.
* Starting a run from a reusable file id now keeps a private run-owned reference to the original bytes instead of duplicating large uploads. Deleting the reusable file leaves past runs readable until those runs themselves are deleted.

## CLI

* Dataset import and export now keep a single `/api/v1` prefix when the CLI base URL already includes `/api/v1`, so those commands reach the dataset API instead of a doubled `/v1/v1` path.
* The CLI now uploads large run files with resumable, storage-direct transfers, so multi-GB inputs stream from disk instead of loading into memory or a single request.
* The CLI now recognizes `.zip` files when uploading reusable workflow inputs, so archive uploads get the correct content type without extra flags.

## SDK

* The TypeScript and Python SDKs now upload large files through resumable multipart sessions, streaming from a path or seekable source so callers do not have to load the whole object into memory.

## Infrastructure & processing

* Workflows can add `transform.archive-list` and `transform.archive-extract` to inspect ZIP inputs and pull out individual files. List every entry in an archive, then extract one path as a run output file that Parse, Vision, Search Files, and other archive-aware steps can use in the same run — including after resume and inside foreach or parallel\_map. Nested archives stay as ZIP files. Each extraction is capped at 64 MiB, with safe concurrency limits on parallel extracts so large batches cannot unpack unbounded data at once.
* Workflows can add `ai.search-files` to ask a natural-language question against a ZIP archive. The step returns a cited answer, the files it inspected, and optional folder scoping — with bounded investigation limits so runs stay predictable.
* Restore extracted file handles inside parallel branches when workflows resume, and reject ZIP entries whose contents fail their CRC32 checksum.
