/.
Relative paths are rejected, .. cannot escape the volume root, and there is
no sandbox cwd or user context for direct volume file operations.
Read and write
List and inspect
Search and replace
VolumeReplaceResult also includes the matched file list, so dry runs can show
the planned changes before writing.
Move and remove
Watch
resync_required as a prompt
to list or stat the watched tree again.
volume.files.replace_in_files() returns a VolumeReplaceResult. Sandbox
filesystem replacement returns a plain integer count.
Direct watches are opened against a concrete volume ID under the hood. If you
look up a volume by name, the SDK resolves it first and then watches that ID.