What problem does it solve?
It solves the problem of getting users the correct file download when the content is stored inside the app, generated dynamically in memory, or hosted externally—without breaking authentication or browser security constraints.
Core Features & Use Cases
- Authenticated downloads from app filesystem paths: Serve files from the user’s layer paths (including
~/ and explicit /L0/, /L1/, /L2/ routes) while enforcing read permissions and returning 401/403 appropriately.
- Runtime-generated downloads (in-memory content): Create Blob-based downloads for text, CSV, JSON, and binary data like PDFs directly from generated content.
- External URL downloads via server proxy: Fetch external files through the server proxy to avoid CORS issues, then stream the response into a browser download.
Quick Start
Use the file-download skill to let the browser download report data as a file by providing the app layer path, in-memory content, or an external URL along with the desired download filename.