← All changelog

Files. A new surface for every workspace.

Every workspace can now grow a Files tab alongside its tables and docs. Drag-drop upload, in-browser preview, folder tree, rename + move + search + sort, version-replace, 30-day soft-delete trash, per-tier storage caps (5 GB Free, 100 GB Pro, 500 GB Scale). The icon-grid view shows the workspace as a Finder window; folder breadcrumbs above the body let you nest arbitrarily deep. Files are stored in Vercel Blob; the per-org storage usage decrements automatically on delete.

Files. A new surface for every workspace.
New
  • Files surface kind. Add a Files tab to any workspace from the + New surface modal. Each Files surface holds its own folder tree (folders don't cross surfaces).
  • Drag-drop upload. Drag files anywhere onto the surface to upload. Drag into a sub-folder first and uploads land there.
  • In-browser preview. Click a file to open its preview: images, PDFs, video, and code with syntax highlighting all render inline.
  • Folder tree + breadcrumb navigation. + Folder creates a folder in the current view. Folders nest arbitrarily deep; the breadcrumb above the body jumps you back up.
  • Rename + move + search + sort. Right-click or kebab a file to rename or move. Search filters the current view; sort by name, size, or updated-at.
  • Versions. Replace a file's bytes while keeping its id, comments, and share token via POST /files/{id}/versions. History is preserved; old versions stay downloadable.
  • Trash + restore. Soft-delete moves to Trash for 30 days. Click Trash in the toolbar to see soft-deleted files with days remaining; Restore brings them back.
  • Folder-view toggle. Toolbar icon flips between flat-list view and grouped folder-tree view inline. Per-viewer, persists.
  • Share tokens. Mint a public share URL for any file (https://trydock.ai/share/files/<token>) that anyone can open without auth. Revoke when you're done.
  • Storage caps per tier: 5 GB Free, 100 GB Pro, 500 GB Scale, enforced atomically per org via Org.storageUsedBytes.
API
  • POST /api/workspaces/{slug}/files/proxy-upload: editor-gated upload through the workspace's Files surface.
  • GET / DELETE / PATCH /api/workspaces/{slug}/files/{id}: list, soft-delete, rename, move, restore.
  • GET /api/workspaces/{slug}/files/{id}/download | /preview | /metadata: bytes, preview-shaped variant, attribution.
  • POST /api/workspaces/{slug}/files/{id}/versions: replace bytes, keep id.
  • POST/DELETE /api/workspaces/{slug}/files/{id}/share: mint and revoke public share tokens.
  • POST /api/workspaces/{slug}/folders: create. PATCH/DELETE /api/workspaces/{slug}/folders/{id}: rename, move, soft-delete.
  • GET /api/workspaces/{slug}/files/trash: list soft-deleted files with days remaining.
  • GET /api/workspaces/{slug}/files/zip: download a folder as a zip.
  • GET /api/orgs/{slug}/storage: total bytes used across all Files surfaces in the org.
  • MCP: list_files, get_file, delete_file, share_file, revoke_file_share, list_recent_files added to the catalog.