Skip to main content

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.