Patch site node
patch_site_nodePatch one node (several: patch_site_bulk, one atomic write). classNamePatch merges Tailwind classes; propsPatch sets other props (objects like dataSource deep-merge, strings and arrays replace); typePatch swaps the component type; unsetProps (runs first) drops a key or branch. Image: write src only; writing content is rejected, and unsetProps ["content"] clears an old one. No children. Rules: get_style_reference({ topic: "editing" }).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Site id. | |
| name | No | Optional site rename. | |
| nodeId | Yes | Node id, e.g. ROOT, page_home. | |
| typePatch | No | New type.resolvedName, e.g. "Text". isCanvas follows. | |
| nodesPatch | No | REORDER ONLY: the exact same child ids in a new order. Anything else blanks the canvas. | |
| propsPatch | No | Non-class props. Objects merge: { dataSource: { filter } } keeps provider. | |
| unsetProps | No | Keys or dotted paths to delete, e.g. "dataSource.filter". | |
| unsetClasses | No | Classes or prefixes to remove; "gap-" also removes md:gap-*. | |
| classNamePatch | No | Classes merged via twMerge. Mobile-first: unprefixed = mobile, md:/lg: up. | |
| buttonValidation | No | off | warn | fix (default) | strict, for touched Buttons. | |
| designValidation | No | off | warn (default) | strict token checks on touched nodes. |