Overview
dsh-file-download
README / EN
Package documentation
Registry summary
dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.
Read the full README on GitHubLIMITATIONS
Known limitations
- **Write scope is narrow by design.** Upload adds a file into an existing directory; it cannot create directories, rename, move, delete, or edit in place. Directories are created by the agent or by `mkdir` in a shell. - **Resume is the browser's.** The route serves `Range`, so the download manager resumes; a client that ignores it simply starts over. A generated ZIP cannot resume, because it has no stable byte identity between requests. - **Archive caps are hard.** A tree over 20000 entries or 2 GiB in total is refused instead of streamed. The total cap keeps every offset inside the 32-bit fields this writer emits, which is why no ZIP64 record is needed; raising it means implementing ZIP64. - **Symlinks and special files are skipped** rather than followed, in listings and archives alike. - **Binary uploads assume a local execution world.** A text upload always goes through the composed filesystem; a binary one is written by the host process, so a backend whose execution world is not this host (a remote workspace) would text-upload correctly but binary-upload to the wrong place. - **Download-all is a burst of downloads.** Browsers may ask for permission or block the extra downloads when a turn has many files; per-file downloads are always reliable. - **A turn's list is bounded by the official row.** Only files the official deliverables row would show are listed: successful first-party mutations and explicit `present` declarations.
