@bettercms-ai/mcp 0.77.0 → 0.78.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -149,7 +149,7 @@ helpers rather than by hand.
149
149
  `display:contents` span, and `as` names a real wrapper. `path` is dotted keys with any
150
150
  number of `[n]` indices: `title`, `hero.title`, `columns[0].links[2].href`.
151
151
  - Rich text is addressed per paragraph: `<base>#<_key>`. No write tool takes an address:
152
- `update_content_entry` replaces the whole field (with `merge: true` it keeps the other
152
+ `update_content_entry` replaces the whole field (it merges by default, keeping the other
153
153
  top-level fields, never other blocks of the same field). The platform's own path writer refuses a
154
154
  `#<_key>` path (`KEYED_PATH_NOT_WRITABLE`), and only the editor patches one block. A `_key` is
155
155
  part of an address, so never regenerate keys of blocks that already exist.
@@ -27,11 +27,11 @@ The batch route reports steps 2, 4 and 5 as `code: "UNIQUE_CONFLICT"` or `"VALID
27
27
 
28
28
  Rule: read `errors` by field key, fix exactly those fields, write again once.
29
29
 
30
- `update_content_entry` `data` REPLACES the entry's whole value object: an optional field left out
31
- is deleted. Send `merge: true` to lay `data` over the stored value by top-level key (a group or
32
- repeater you send still replaces that whole key). Pass `ifMatch` (the `optimisticVersion` from
33
- `get_content_entry`) so a 409 tells you someone wrote since your read; with `merge` it defaults to
34
- the version the merge read.
30
+ `update_content_entry` merges `data` into the stored value by top-level key: a field left out is
31
+ kept, and a group or repeater you send still replaces that whole key. `merge: false` REPLACES the
32
+ whole value object instead, deleting every optional field left out. Pass `ifMatch` (the
33
+ `optimisticVersion` from `get_content_entry`) so a 409 tells you someone wrote since your read; a
34
+ merge defaults to the version it read.
35
35
 
36
36
  ## Value contract
37
37
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bettercms-ai/mcp",
3
- "version": "0.77.0",
3
+ "version": "0.78.0",
4
4
  "type": "module",
5
5
  "description": "BetterCMS MCP server — schema, content, forms + components authoring tools over the Management API, authed via OAuth device-code.",
6
6
  "bin": {