Files
Files are stored on the hub’s disk by their SHA-256, so identical content is stored once. Names, folders and versions live in the database. Folders are path prefixes like reports/2026/.
From the CLI (streamed)
Section titled “From the CLI (streamed)”aw files put ./report.pdf reports/ # upload; a trailing / keeps the file nameaw files get reports/report.pdf ./ # download (written atomically)aw files ls reports/aw files rm reports/old.pdfaw files push ./out reports/ # upload only what changedaw files pull reports/ ./in --delete -n # preview a mirror including deletionspush and pull are one-way. They compare SHA-256 hashes and transfer only changed files. Content the hub already has is never sent again. They skip dotfiles such as .git, and delete only with --delete.
As tools
Section titled “As tools”| Tool | Use |
|---|---|
files.put / files.get |
Small files (up to 1 MB in, 256 KB of text out) inline as JSON |
files.list |
One folder level, or everything below with recursive=true (paged) |
files.stat, files.history, files.delete |
Metadata, versions, deletion |
files.commit |
Point a path at content uploaded with PUT /v1/blobs |
Limits and retention
Section titled “Limits and retention”- Size limit: 100 MB per file by default (
AW_MAX_FILE_MB), enforced while the upload streams in. - Versions: every overwrite is a new version. Deleted files and old versions stay available for 30 days, then unused content is removed.
- Safe serving: HTML and SVG never run inside the hub. The UI shows them as text, and downloads keep their type.
In the UI, Files has a folder browser, drag-and-drop upload with progress, previews (images, PDF, Markdown, text) and the version history.