@bettercms-ai/mcp 0.55.0 → 0.56.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 +31 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2073,6 +2073,9 @@ ever changes.
|
|
|
2073
2073
|
make a structure fit. The structure fits the site, not the other way round.
|
|
2074
2074
|
11. **Page-bound models are not collections.** A page with fields has a content model bound to
|
|
2075
2075
|
it; it is never filed (400 \`NAV_PAGE_BOUND_MODEL\`). Organise the PAGE.
|
|
2076
|
+
12. **Access:** changing the structure needs Admin or Developer, the same as editing the schema;
|
|
2077
|
+
reading needs only content access. A 403 \`SCHEMA_ACCESS_REQUIRED\` means this connection is
|
|
2078
|
+
neither: stop and tell the user, do not retry.
|
|
2076
2079
|
|
|
2077
2080
|
## The workflow
|
|
2078
2081
|
|
|
@@ -2579,6 +2582,7 @@ var LISTING_TAIL = /* @__PURE__ */ new Set([
|
|
|
2579
2582
|
// claims with. Ten more tools than the tail was written for, and a connector that truncates
|
|
2580
2583
|
// would otherwise lose `get_deploy_status` and the GitHub lane to make room for them.
|
|
2581
2584
|
"research_account",
|
|
2585
|
+
"build_abm_page",
|
|
2582
2586
|
"claim_abm_task",
|
|
2583
2587
|
"complete_abm_task",
|
|
2584
2588
|
"fail_abm_task",
|
|
@@ -3887,6 +3891,33 @@ ${res.warnings.join("\n")}` : summary, res.data);
|
|
|
3887
3891
|
}).shape,
|
|
3888
3892
|
async (c, a) => ok("Account brief.", await data(c, "POST", `/management/campaigns/research`, { campaignId: a.campaignId, domain: a.domain, name: a.name, mode: a.mode, force: a.force }))
|
|
3889
3893
|
),
|
|
3894
|
+
def(
|
|
3895
|
+
"build_abm_page",
|
|
3896
|
+
"Build one ABM page for one account",
|
|
3897
|
+
"Build ONE personalized page for ONE account, guided: give the sales motion and a paragraph of context about the target ('Lumina \u2014 300-rep sales team moving off spreadsheets\u2026') and this mints the campaign, the page, the collection and the run. `brandUrl` learns the seller's brand first, once per project, and needs Settings access because it rewrites the project's brand. Research defaults to `lite` and is forced off when no domain is known. It PARKS for the user's approval like every agent generation here \u2014 release it with approve_ai_job \u2014 and `requestId` makes a retry return the first answer instead of a second page.",
|
|
3898
|
+
z.object({
|
|
3899
|
+
motion: z.enum(["new_account", "expand_customer", "accelerate_opportunity", "reengage_closed_lost"]),
|
|
3900
|
+
context: z.string().min(20),
|
|
3901
|
+
website: z.string().optional(),
|
|
3902
|
+
name: z.string().optional(),
|
|
3903
|
+
research: z.enum(["lite", "deep", "off"]).optional(),
|
|
3904
|
+
ctaHref: z.string().optional(),
|
|
3905
|
+
formId: z.string().optional(),
|
|
3906
|
+
brandUrl: z.string().optional(),
|
|
3907
|
+
requestId: z.string().optional()
|
|
3908
|
+
}).shape,
|
|
3909
|
+
async (c, a) => ok("Page queued for approval.", await data(c, "POST", `/management/campaigns/build`, {
|
|
3910
|
+
motion: a.motion,
|
|
3911
|
+
context: a.context,
|
|
3912
|
+
website: a.website,
|
|
3913
|
+
name: a.name,
|
|
3914
|
+
research: a.research,
|
|
3915
|
+
ctaHref: a.ctaHref,
|
|
3916
|
+
formId: a.formId,
|
|
3917
|
+
brandUrl: a.brandUrl,
|
|
3918
|
+
requestId: a.requestId
|
|
3919
|
+
}))
|
|
3920
|
+
),
|
|
3890
3921
|
def(
|
|
3891
3922
|
"claim_abm_task",
|
|
3892
3923
|
"Claim an account to research",
|