sync_files
Uploads a local file or folder to a Constructor project disk, sending only new or changed files by size and SHA-256 while preserving existing files. Preview with dry_run; confirm replacements once.
Instructions
Upload a local file or folder to a project disk. Compares by size and SHA-256 and sends only new and changed files; never deletes. New files and folders upload without asking. If existing files would be replaced, nothing is uploaded and status is confirm_required: ask the user once for the whole list, then repeat with confirm=true. dry_run=true only previews. Skips .git, node_modules, .env, .venv, pycache, .DS_Store and files over 100 MB. If the result is in_progress, repeat the same call to continue.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Needed only when existing files would be replaced: the first call returns the list for the user to approve once; repeat with confirm=true. | |
| desk_id | No | ||
| dry_run | No | true only reports the plan, without uploading. | |
| exclude | No | Extra names or '*' patterns to skip, matched against file names and relative paths. | |
| desk_url | No | Link to the Constructor desk the user copied from the browser, e.g. https://constructor.app/research/projects/<project>/desks/<desk>/viewer/file. Supplies project_id and desk_id; ask the user for it instead of choosing a project or desk yourself. | |
| local_path | Yes | Absolute local file or folder. A folder's contents go into remote_path. | |
| project_id | No | ||
| remote_path | No | Destination folder on the disk; '' is the root. |