Skip to content

v0.6.0 — Drive as a filesystem

Latest

Choose a tag to compare

@damith-dasasian damith-dasasian released this 21 Aug 15:57

[0.6.0] — 2026-08-21

Changed

Breaking: five Drive tools became one. list_folder, search_drive, create_folder, copy_doc and update_doc are removed, replaced by drive({ cmd, args }). Anything calling them by name must be updated.

  • Drive navigation is now a filesystem (#44). The five Drive tools became drive({ cmd, args }) speaking ls / find / mkdir / cp / mv — 36 tools down to 32. Paths are / or ~ (My Drive), /shared/<drive name>, /shared-with-me and /lost+found; anything else is read as a Drive id or URL, so ids from other tools paste straight in. A whole path resolves in a single files.list call.
  • Drive is not a filesystem in three ways, and each refuses rather than half-working (#44). Two files may share a name in one folder and matching folds case, so an ambiguous path is refused with the candidates listed — and cp/mv refuse to create that state. cp -r does not exist: Drive's files.copy rejects folders outright. mv into /shared/… transfers ownership irreversibly, so it requires acceptOwnershipTransfer.
  • mv keeps update_doc's guard as expectName, and covers rename and move together the way a filesystem does: an existing folder as the destination means "into it", anything else means "to that name" (#44).
  • Flags and operands parse in any order, as a terminal accepts them: cp -r a b, cp a b -r and cp a -r b are one command, and -- ends the options. What an unrecognised -token means is set per command, because the commands disagree — ls -la /Work wants the flag ignored, find -2026 wants -2026 searched for (#44).
  • cp keeps the source name. Drive's files.copy defaults to "Copy of …", which is its UI convention; cp file /dir on a filesystem produces file (#44).
  • ls /lost+found replaces list_folder({ folder: "orphaned" }) — Unix's name for exactly this (#44, #46).
  • No destructive command ships. There is none in the surface to collapse, and host permissions are granted per tool name: allowlisting drive so ls stops prompting would allowlist rm too. Conditions that would change that are in #47 (#44).

Added

  • Files in no folder are listablels /lost+found. A parentless file opens and turns up in a search, but nothing that browses the tree will ever show it, so it is found only by someone who already remembers it exists. Drive has no query operator for "has no parent", so the scan pages the files you own and reports scanned/complete rather than passing a silent cap off as the whole answer. Re-home one with mv (#46).
  • The README shows what to ask for. Two chained examples — filling a template without rebuilding it, and a whole review pass in one instruction — now sit above the tool table, where the only pointer to docs/recipes.md used to be a blockquote below it. docs/recipes.md gains a Whole jobs section above the single-tool recipes (#44).