@bettercms-ai/mcp 0.76.6 → 0.77.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.
- package/dist/index.js +10 -5
- package/dist/index.js.map +1 -1
- package/dist/kit-catalog.json +149 -149
- package/dist/skills/bettercms/references/bindings.md +27 -0
- package/dist/skills/bettercms/references/dock-input.md +1 -1
- package/dist/skills/bettercms/references/kit-catalog.md +9 -9
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2831,6 +2831,11 @@ function planFieldEdit(model, edit, callerIfMatch) {
|
|
|
2831
2831
|
if (edit[k] === null && CLEARABLE.includes(k)) delete out[k];
|
|
2832
2832
|
else out[k] = edit[k];
|
|
2833
2833
|
}
|
|
2834
|
+
if (edit.ui && typeof edit.ui === "object") {
|
|
2835
|
+
const ui = mergeConfig(f.ui, edit.ui);
|
|
2836
|
+
if (Object.keys(ui).length > 0) out.ui = ui;
|
|
2837
|
+
else delete out.ui;
|
|
2838
|
+
}
|
|
2834
2839
|
if (edit.config && typeof edit.config === "object") out = { ...out, config: mergeConfig(f.config, edit.config) };
|
|
2835
2840
|
if (retype) out.type = edit.type;
|
|
2836
2841
|
if (rename !== void 0) out.key = rename;
|
|
@@ -4632,8 +4637,8 @@ ${d.outline}` : "Proposed Content structure.", d);
|
|
|
4632
4637
|
def(
|
|
4633
4638
|
"update_project",
|
|
4634
4639
|
"Update the connected project",
|
|
4635
|
-
"Update the connected project's settings \u2014 rename it, change its slug/description, SEO defaults, visibility, or `presentation`. Only the provided fields change. `presentation` themes the platform's OWN renderer (the one serving a site built in the CMS with no deployed build, and previewing structural drafts everywhere) with the same closed knobs as bcms-presentation.json \u2014 DTCG { $type, $value } tokens keyed like 'page.maxWidth', 'nav.background'. Without it that renderer is a generic 768px document theme. An invalid manifest is 422 PRESENTATION_INVALID.",
|
|
4636
|
-
z.object({ name: z.string().optional(), slug: z.string().optional(), description: z.string().optional(), visibility: z.string().optional(), seoDefaults: z.record(z.string(), z.unknown()).optional(), presentation: z.record(z.string(), z.unknown()).optional().describe("theme knobs for the platform renderer, keyed like bcms-presentation.json") }).shape,
|
|
4640
|
+
"Update the connected project's settings \u2014 rename it, change its slug/description, SEO defaults, visibility, or `presentation`. Only the provided fields change. `subdomainAlias` renames the staging URL: 'astronapp' serves the site at astronapp.bettercms.site (3\u201355 lowercase letters, numbers, hyphens; 409 when taken; null goes back to the original). The original <handle>.bettercms.site keeps working; a replaced name is released. `presentation` themes the platform's OWN renderer (the one serving a site built in the CMS with no deployed build, and previewing structural drafts everywhere) with the same closed knobs as bcms-presentation.json \u2014 DTCG { $type, $value } tokens keyed like 'page.maxWidth', 'nav.background'. Without it that renderer is a generic 768px document theme. An invalid manifest is 422 PRESENTATION_INVALID.",
|
|
4641
|
+
z.object({ name: z.string().optional(), slug: z.string().optional(), description: z.string().optional(), visibility: z.string().optional(), seoDefaults: z.record(z.string(), z.unknown()).optional(), presentation: z.record(z.string(), z.unknown()).optional().describe("theme knobs for the platform renderer, keyed like bcms-presentation.json"), subdomainAlias: z.string().nullable().optional().describe("the staging name: 'astronapp' \u2192 astronapp.bettercms.site; null = back to the original") }).shape,
|
|
4637
4642
|
async (c, a) => ok("Updated project.", await data(c, "PATCH", `/management/projects/current`, a))
|
|
4638
4643
|
),
|
|
4639
4644
|
def(
|
|
@@ -4975,7 +4980,7 @@ ${d.outline}` : "Proposed Content structure.", d);
|
|
|
4975
4980
|
required: z.boolean().optional(),
|
|
4976
4981
|
config: z.record(z.string(), z.unknown()).optional().describe("per-type validation/config keys, merged into the stored config; null deletes a key"),
|
|
4977
4982
|
showIf: z.record(z.string(), z.unknown()).nullable().optional().describe("same shape as on add_field; null clears it"),
|
|
4978
|
-
ui: z.record(z.string(), z.unknown()).nullable().optional().describe("same vocabulary as on add_field; null clears
|
|
4983
|
+
ui: z.record(z.string(), z.unknown()).nullable().optional().describe("same vocabulary as on add_field; merged per key, a null key or ui:null clears"),
|
|
4979
4984
|
placement: z.enum(["cover", "title", "excerpt", "body", "inline", "panel"]).nullable().optional(),
|
|
4980
4985
|
readOnly: z.union([z.literal(true), z.literal("developer")]).nullable().optional().describe(PARAM_TEXT.lockClears),
|
|
4981
4986
|
lockReason: z.string().max(200).nullable().optional().describe(PARAM_TEXT.lockClears),
|
|
@@ -7861,8 +7866,8 @@ Read \`bettercms://playbook/schema\` \xA712 first \u2014 this is the short form
|
|
|
7861
7866
|
Use Global, Navigation, Actions, Content, Forms, Media, Sections, Page-specific. \`category\`
|
|
7862
7867
|
is the separate picker TAB.
|
|
7863
7868
|
4. **Fields** = \`props\`: text, richtext, image, url, boolean, number, select, group, table, slot.
|
|
7864
|
-
Always a \`defaultValue\`; \`
|
|
7865
|
-
|
|
7869
|
+
Always a \`defaultValue\`; \`helpText\` / \`placeholder\` are editor hints. A placement you SET empty on a
|
|
7870
|
+
\`required\` prop is refused (\`required_value\`). \`select\` for styling-only variants, a separate component when the markup
|
|
7866
7871
|
differs. Nesting goes up to 10 levels; a \`table\` row may hold a data table or a polymorphic list.
|
|
7867
7872
|
5. **Quality.** The componentize lane and \`npx @bettercms-ai/convert --componentize\` move markup
|
|
7868
7873
|
VERBATIM \u2014 classes, responsive utilities, aria attributes, alt text all survive. Never
|