Propose file changes inside a Skill, Drive, or AirApp node
node_files_change_requestPropose file changes inside a Skill, Drive, or AirApp node
Review is permission-aware, decided server-side: the change merges immediately when your key has write access on the node and lands as a pending ChangeRequest otherwise — check the response's status. Pass requireReview to always propose instead — worth doing for a batch containing a delete, since that removes a mounted file (its previous bytes stay in the change request's history, and a batch is never partially merged). Each operation is one of create / update / delete / metadata_update. Include baseContentHash (from node_file_read) on an update so a concurrent edit is caught. For kind "airapp", keep the project runnable by npm run dev — editing package.json must leave a "dev" script starting a plain Node server, not a bundler dev server.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Which file-tree node kind to act on. | |
| nodeId | Yes | Id of the node. | |
| message | No | Explanation for the reviewer. Conventional-commit style, e.g. "Rewrite README quickstart for the new auth flow". | |
| playbook | No | Optional. The playbook you are following, as `kind:nodeId[:key]` from playbooks_search (e.g. `prompt:nod_123:log-visit`). Recorded on the change request so the person can see which playbook produced it. | |
| autoMerge | No | Skip review and apply the file changes immediately if you have write access. Not a permission override, and ignored for a batch containing a delete. Default is permission-aware: merge when you can, otherwise propose. | |
| operations | No | File operations, e.g. [{"kind":"update","path":"SKILL.md","content":"...","baseContentHash":"..."}]. | |
| submittedBy | No | Producer label recorded on the change. | |
| requireReview | No | Always propose a pending ChangeRequest, even with write access. | |
| targetSpaceId | No | Busabase space id. Call auth_verify first and ask the user which space to use when more than one is returned. |