@wootsup/yt-builder-mcp 1.10.0 → 1.11.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/README.md +6 -5
- package/dist/gateway/advanced-read-tool.d.ts.map +1 -1
- package/dist/gateway/advanced-read-tool.js +14 -2
- package/dist/gateway/advanced-read-tool.js.map +1 -1
- package/dist/gateway/advanced-tool/domains.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/domains.js +5 -0
- package/dist/gateway/advanced-tool/domains.js.map +1 -1
- package/dist/gateway/advanced-tool/execute.d.ts +7 -1
- package/dist/gateway/advanced-tool/execute.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/execute.js +58 -4
- package/dist/gateway/advanced-tool/execute.js.map +1 -1
- package/dist/server.d.ts +3 -3
- package/dist/server.js +3 -3
- package/dist/sites/tools/sites-list.d.ts.map +1 -1
- package/dist/sites/tools/sites-list.js +22 -2
- package/dist/sites/tools/sites-list.js.map +1 -1
- package/dist/tools/elements/builders.d.ts.map +1 -1
- package/dist/tools/elements/builders.js +69 -31
- package/dist/tools/elements/builders.js.map +1 -1
- package/dist/tools/elements/handlers-write.d.ts +2 -0
- package/dist/tools/elements/handlers-write.d.ts.map +1 -1
- package/dist/tools/elements/handlers-write.js +132 -9
- package/dist/tools/elements/handlers-write.js.map +1 -1
- package/dist/tools/elements/handlers.d.ts +7 -4
- package/dist/tools/elements/handlers.d.ts.map +1 -1
- package/dist/tools/elements/handlers.js +49 -8
- package/dist/tools/elements/handlers.js.map +1 -1
- package/dist/tools/elements/schema-validation.d.ts +18 -0
- package/dist/tools/elements/schema-validation.d.ts.map +1 -1
- package/dist/tools/elements/schema-validation.js +49 -5
- package/dist/tools/elements/schema-validation.js.map +1 -1
- package/dist/tools/format/sources-format.d.ts +12 -5
- package/dist/tools/format/sources-format.d.ts.map +1 -1
- package/dist/tools/format/sources-format.js +31 -6
- package/dist/tools/format/sources-format.js.map +1 -1
- package/dist/tools/health.d.ts.map +1 -1
- package/dist/tools/health.js +18 -5
- package/dist/tools/health.js.map +1 -1
- package/dist/tools/inspection.d.ts.map +1 -1
- package/dist/tools/inspection.js +81 -12
- package/dist/tools/inspection.js.map +1 -1
- package/dist/tools/layout-flatten.d.ts +7 -1
- package/dist/tools/layout-flatten.d.ts.map +1 -1
- package/dist/tools/layout-flatten.js +24 -13
- package/dist/tools/layout-flatten.js.map +1 -1
- package/dist/tools/library.d.ts +23 -0
- package/dist/tools/library.d.ts.map +1 -1
- package/dist/tools/library.js +213 -15
- package/dist/tools/library.js.map +1 -1
- package/dist/tools/local-content/builders.js +11 -11
- package/dist/tools/local-content/builders.js.map +1 -1
- package/dist/tools/local-content/handlers.d.ts.map +1 -1
- package/dist/tools/local-content/handlers.js +34 -5
- package/dist/tools/local-content/handlers.js.map +1 -1
- package/dist/tools/local-content/schemas.d.ts +9 -4
- package/dist/tools/local-content/schemas.d.ts.map +1 -1
- package/dist/tools/local-content/schemas.js +14 -6
- package/dist/tools/local-content/schemas.js.map +1 -1
- package/dist/tools/multi-items/builders.d.ts.map +1 -1
- package/dist/tools/multi-items/builders.js +11 -8
- package/dist/tools/multi-items/builders.js.map +1 -1
- package/dist/tools/pages/builders.d.ts.map +1 -1
- package/dist/tools/pages/builders.js +84 -51
- package/dist/tools/pages/builders.js.map +1 -1
- package/dist/tools/pages/handlers-audit.d.ts +99 -1
- package/dist/tools/pages/handlers-audit.d.ts.map +1 -1
- package/dist/tools/pages/handlers-audit.js +613 -7
- package/dist/tools/pages/handlers-audit.js.map +1 -1
- package/dist/tools/pages/handlers-read.d.ts +8 -3
- package/dist/tools/pages/handlers-read.d.ts.map +1 -1
- package/dist/tools/pages/handlers-read.js +172 -25
- package/dist/tools/pages/handlers-read.js.map +1 -1
- package/dist/tools/pages/handlers-write.d.ts +5 -1
- package/dist/tools/pages/handlers-write.d.ts.map +1 -1
- package/dist/tools/pages/handlers-write.js +66 -23
- package/dist/tools/pages/handlers-write.js.map +1 -1
- package/dist/tools/pages/schemas.d.ts +189 -4
- package/dist/tools/pages/schemas.d.ts.map +1 -1
- package/dist/tools/pages/schemas.js +235 -9
- package/dist/tools/pages/schemas.js.map +1 -1
- package/dist/tools/pages/target.d.ts +162 -0
- package/dist/tools/pages/target.d.ts.map +1 -0
- package/dist/tools/pages/target.js +239 -0
- package/dist/tools/pages/target.js.map +1 -0
- package/dist/tools/shared-schemas.d.ts +22 -0
- package/dist/tools/shared-schemas.d.ts.map +1 -1
- package/dist/tools/shared-schemas.js +22 -0
- package/dist/tools/shared-schemas.js.map +1 -1
- package/dist/tools/sources/builders.d.ts.map +1 -1
- package/dist/tools/sources/builders.js +46 -28
- package/dist/tools/sources/builders.js.map +1 -1
- package/dist/tools/sources/handlers-bind.d.ts +7 -8
- package/dist/tools/sources/handlers-bind.d.ts.map +1 -1
- package/dist/tools/sources/handlers-bind.js +106 -7
- package/dist/tools/sources/handlers-bind.js.map +1 -1
- package/dist/tools/sparse-fields.d.ts +12 -0
- package/dist/tools/sparse-fields.d.ts.map +1 -1
- package/dist/tools/sparse-fields.js +34 -2
- package/dist/tools/sparse-fields.js.map +1 -1
- package/dist/tools/tool-builder/results.d.ts.map +1 -1
- package/dist/tools/tool-builder/results.js +114 -0
- package/dist/tools/tool-builder/results.js.map +1 -1
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/skills/yt-builder-mcp/SKILL.md +564 -42
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspection.js","sourceRoot":"","sources":["../../src/tools/inspection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inspection.js","sourceRoot":"","sources":["../../src/tools/inspection.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,6 +73,12 @@ export interface FlatElement {
|
|
|
73
73
|
* @param layout - The top-level layout container. Accepts either an
|
|
74
74
|
* object keyed by stringified indices ("0","1",…) or an actual array.
|
|
75
75
|
* Returns `[]` for empty input or anything that isn't iterable.
|
|
76
|
+
* @param templateId - LAYOUT_READ-7: when supplied, emitted `path`s are
|
|
77
|
+
* FULLY-QUALIFIED (`/templates/<id>/layout/children/0`) so flat-mode
|
|
78
|
+
* `page_get_layout` matches the `path` shape `element_list` emits. `rel_path`
|
|
79
|
+
* stays the short `/children/0` form regardless (stripped of whichever prefix
|
|
80
|
+
* is in force). Omit it (pure-function callers) to keep the legacy
|
|
81
|
+
* `/layout/children/0` anchor + `/layout`-strip behaviour byte-for-byte.
|
|
76
82
|
*/
|
|
77
|
-
export declare function flattenLayout(layout: unknown): FlatElement[];
|
|
83
|
+
export declare function flattenLayout(layout: unknown, templateId?: string): FlatElement[];
|
|
78
84
|
//# sourceMappingURL=layout-flatten.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-flatten.d.ts","sourceRoot":"","sources":["../../src/tools/layout-flatten.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,uDAAuD;AACvD,MAAM,WAAW,WAAW;IACxB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;;OAKG;IACH,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED
|
|
1
|
+
{"version":3,"file":"layout-flatten.d.ts","sourceRoot":"","sources":["../../src/tools/layout-flatten.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,uDAAuD;AACvD,MAAM,WAAW,WAAW;IACxB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;;OAKG;IACH,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAmCjF"}
|
|
@@ -35,12 +35,25 @@ import { hasSourceBinding } from './format/elements-format.js';
|
|
|
35
35
|
* @param layout - The top-level layout container. Accepts either an
|
|
36
36
|
* object keyed by stringified indices ("0","1",…) or an actual array.
|
|
37
37
|
* Returns `[]` for empty input or anything that isn't iterable.
|
|
38
|
+
* @param templateId - LAYOUT_READ-7: when supplied, emitted `path`s are
|
|
39
|
+
* FULLY-QUALIFIED (`/templates/<id>/layout/children/0`) so flat-mode
|
|
40
|
+
* `page_get_layout` matches the `path` shape `element_list` emits. `rel_path`
|
|
41
|
+
* stays the short `/children/0` form regardless (stripped of whichever prefix
|
|
42
|
+
* is in force). Omit it (pure-function callers) to keep the legacy
|
|
43
|
+
* `/layout/children/0` anchor + `/layout`-strip behaviour byte-for-byte.
|
|
38
44
|
*/
|
|
39
|
-
export function flattenLayout(layout) {
|
|
45
|
+
export function flattenLayout(layout, templateId) {
|
|
40
46
|
const out = [];
|
|
41
47
|
if (layout === null || typeof layout !== 'object') {
|
|
42
48
|
return out;
|
|
43
49
|
}
|
|
50
|
+
// LAYOUT_READ-7: the prefix every emitted path is anchored under. With a
|
|
51
|
+
// templateId this is the canonical storage prefix element_list uses; without
|
|
52
|
+
// it, the legacy bare `/layout` anchor. rel_path is derived by stripping
|
|
53
|
+
// EXACTLY this prefix, so both modes yield the same short `/children/…` form.
|
|
54
|
+
const layoutPrefix = typeof templateId === 'string' && templateId !== ''
|
|
55
|
+
? `/templates/${templateId}/layout`
|
|
56
|
+
: '/layout';
|
|
44
57
|
// Iterate top-level entries in insertion order. For arrays this gives
|
|
45
58
|
// numeric indices; for objects keyed by "0","1",… it gives the same
|
|
46
59
|
// ordering YT serialises.
|
|
@@ -51,13 +64,11 @@ export function flattenLayout(layout) {
|
|
|
51
64
|
// M5: anchor top-level nodes under the real `/children/<key>` segment
|
|
52
65
|
// (not a bare `/layout/<key>`). The canonical storage pointer for a
|
|
53
66
|
// top-level element is `/templates/<id>/layout/children/<key>`, so this
|
|
54
|
-
// makes both `path` (→ `/
|
|
55
|
-
//
|
|
56
|
-
//
|
|
57
|
-
//
|
|
58
|
-
|
|
59
|
-
// that the emitted rel_path can be passed straight back.
|
|
60
|
-
walk(node, `/layout/children/${key}`, null, 0, out);
|
|
67
|
+
// makes both `path` and `rel_path` (→ `/children/<key>`, after the
|
|
68
|
+
// prefix strip below) mirror element_list. Previously the bare anchor
|
|
69
|
+
// produced rel_path `/<key>/...` which the element-path input normaliser
|
|
70
|
+
// rejects (it only lifts forms that start with `/children/`).
|
|
71
|
+
walk(node, `${layoutPrefix}/children/${key}`, null, 0, layoutPrefix, out);
|
|
61
72
|
}
|
|
62
73
|
return out;
|
|
63
74
|
}
|
|
@@ -65,7 +76,7 @@ export function flattenLayout(layout) {
|
|
|
65
76
|
* Depth-first walker. Emits the node, then recurses into its children.
|
|
66
77
|
* Skips non-object nodes silently while preserving child-index numbering.
|
|
67
78
|
*/
|
|
68
|
-
function walk(node, path, parentPath, depth, out) {
|
|
79
|
+
function walk(node, path, parentPath, depth, layoutPrefix, out) {
|
|
69
80
|
if (node === null || typeof node !== 'object' || Array.isArray(node)) {
|
|
70
81
|
return;
|
|
71
82
|
}
|
|
@@ -76,9 +87,9 @@ function walk(node, path, parentPath, depth, out) {
|
|
|
76
87
|
: undefined;
|
|
77
88
|
// N-01: derive the projection-relevant fields up-front so a
|
|
78
89
|
// `fields:["rel_path","has_binding",...]` projection finds them.
|
|
79
|
-
// `rel_path` strips the
|
|
80
|
-
// explicit REST boolean else derives via the shared SSoT.
|
|
81
|
-
const relPath = path.
|
|
90
|
+
// `rel_path` strips the ACTIVE layout prefix (LAYOUT_READ-7); `has_binding`
|
|
91
|
+
// honours an explicit REST boolean else derives via the shared SSoT.
|
|
92
|
+
const relPath = (path.startsWith(layoutPrefix) ? path.slice(layoutPrefix.length) : path) || '/';
|
|
82
93
|
const hasBinding = typeof obj.has_binding === 'boolean'
|
|
83
94
|
? obj.has_binding
|
|
84
95
|
: hasSourceBinding(obj);
|
|
@@ -111,7 +122,7 @@ function walk(node, path, parentPath, depth, out) {
|
|
|
111
122
|
// the next sibling's path.
|
|
112
123
|
continue;
|
|
113
124
|
}
|
|
114
|
-
walk(child, `${path}/children/${String(i)}`, path, depth + 1, out);
|
|
125
|
+
walk(child, `${path}/children/${String(i)}`, path, depth + 1, layoutPrefix, out);
|
|
115
126
|
}
|
|
116
127
|
}
|
|
117
128
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-flatten.js","sourceRoot":"","sources":["../../src/tools/layout-flatten.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AA0C/D
|
|
1
|
+
{"version":3,"file":"layout-flatten.js","sourceRoot":"","sources":["../../src/tools/layout-flatten.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/library.d.ts
CHANGED
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
* through the REAL hardened write chain.
|
|
16
16
|
* yootheme_builder_library_save_as
|
|
17
17
|
* → the REVERSE direction: save a page/subtree INTO "My Layouts".
|
|
18
|
+
* yootheme_builder_library_delete
|
|
19
|
+
* → the INVERSE of library_save_as: remove ONE saved entry from the
|
|
20
|
+
* isolated "WootsUp AI Layouts" store (source:"ai" only; the curated
|
|
21
|
+
* catalog is read-only). ADVANCED, like library_save_as.
|
|
18
22
|
* yootheme_builder_image_search
|
|
19
23
|
* → search Unsplash / Pexels (real photography) or YOOtheme Pro Images
|
|
20
24
|
* (curated decorative/background assets) — forwards to the SAME
|
|
@@ -237,6 +241,25 @@ export interface LibrarySaveAsArgs {
|
|
|
237
241
|
destination?: SaveDestination;
|
|
238
242
|
}
|
|
239
243
|
export declare function handleLibrarySaveAs({ client }: LibraryHandlerDeps, { source, name, destination }: LibrarySaveAsArgs): Promise<ToolResult>;
|
|
244
|
+
export declare const LIBRARY_DELETE_OUTPUT_SCHEMA: z.ZodObject<{
|
|
245
|
+
deleted: z.ZodBoolean;
|
|
246
|
+
id: z.ZodString;
|
|
247
|
+
deleted_count: z.ZodNumber;
|
|
248
|
+
source: z.ZodString;
|
|
249
|
+
}, z.core.$strip>;
|
|
250
|
+
export interface LibraryDeleteArgs {
|
|
251
|
+
id: string;
|
|
252
|
+
source?: LibrarySource;
|
|
253
|
+
/**
|
|
254
|
+
* Destructive-tool confirm gate (z.literal(true) at the schema boundary).
|
|
255
|
+
* The delete is IRREVERSIBLE, so the MCP boundary rejects any call without
|
|
256
|
+
* `confirm:true` before it reaches the handler — this field is only ever
|
|
257
|
+
* `true` here. The handler does not forward it (the PHP delete needs only
|
|
258
|
+
* id + source); it exists to satisfy the destructive()+confirm contract.
|
|
259
|
+
*/
|
|
260
|
+
confirm?: true;
|
|
261
|
+
}
|
|
262
|
+
export declare function handleLibraryDelete({ client }: LibraryHandlerDeps, { id, source }: LibraryDeleteArgs): Promise<ToolResult>;
|
|
240
263
|
declare const IMAGE_SOURCE_VALUES: readonly ["unsplash", "pexels", "proimages"];
|
|
241
264
|
type ImageSource = (typeof IMAGE_SOURCE_VALUES)[number];
|
|
242
265
|
export declare const IMAGE_SEARCH_OUTPUT_SCHEMA: z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../src/tools/library.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../src/tools/library.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/library.js
CHANGED
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
* through the REAL hardened write chain.
|
|
16
16
|
* yootheme_builder_library_save_as
|
|
17
17
|
* → the REVERSE direction: save a page/subtree INTO "My Layouts".
|
|
18
|
+
* yootheme_builder_library_delete
|
|
19
|
+
* → the INVERSE of library_save_as: remove ONE saved entry from the
|
|
20
|
+
* isolated "WootsUp AI Layouts" store (source:"ai" only; the curated
|
|
21
|
+
* catalog is read-only). ADVANCED, like library_save_as.
|
|
18
22
|
* yootheme_builder_image_search
|
|
19
23
|
* → search Unsplash / Pexels (real photography) or YOOtheme Pro Images
|
|
20
24
|
* (curated decorative/background assets) — forwards to the SAME
|
|
@@ -61,9 +65,10 @@
|
|
|
61
65
|
*/
|
|
62
66
|
import { tableResult } from '@getimo/mcp-toolkit';
|
|
63
67
|
import { z } from 'zod';
|
|
68
|
+
import { RestError } from '../errors.js';
|
|
64
69
|
import { withSiteRetry, withWriteSiteRetry } from './pool-resolve-helper.js';
|
|
65
70
|
import { SITE_ID_SCHEMA } from './shared-schemas.js';
|
|
66
|
-
import { creating, defineTool, errorResult, jsonResult, mutating, readOnly, structuredResult, withSiteMeta, } from './tool-builder.js';
|
|
71
|
+
import { creating, defineTool, destructive, errorResult, jsonResult, mutating, readOnly, structuredResult, withSiteMeta, } from './tool-builder.js';
|
|
67
72
|
// ─── outputSchema (Wave G.2 §4) ────────────────────────────────────
|
|
68
73
|
/**
|
|
69
74
|
* Fixed section-purpose enum (Task 8, Section Corpus Phase 1) — mirrors the
|
|
@@ -330,7 +335,31 @@ function mapLibraryItem(raw, requestedKind) {
|
|
|
330
335
|
element_count: typeof r.element_count === 'number' ? r.element_count : undefined,
|
|
331
336
|
};
|
|
332
337
|
}
|
|
338
|
+
/**
|
|
339
|
+
* PAGES_LIBRARY_MEDIA-10 — the Layout Library + Image Sourcing domain is
|
|
340
|
+
* WordPress-only (the `src/modules/library` host module bootstraps on WP only;
|
|
341
|
+
* plugin 1.10.0). On a Joomla site the REST endpoints do not exist, so a
|
|
342
|
+
* library/image call used to return an empty `{items:[],total:0}` (or a bare
|
|
343
|
+
* 404) with no hint about WHY. This returns an explicit
|
|
344
|
+
* `not_supported_on_platform` (501) instead, so the agent stops retrying and
|
|
345
|
+
* knows the capability simply is not there on this platform. Returns `null` on
|
|
346
|
+
* WordPress so the real forward runs.
|
|
347
|
+
*/
|
|
348
|
+
function joomlaNotSupportedGuard(client, toolName, context) {
|
|
349
|
+
if (client.getPlatform().kind !== 'joomla')
|
|
350
|
+
return null;
|
|
351
|
+
return errorResult({
|
|
352
|
+
error: new Error(`${toolName} is not supported on Joomla — the Library + image domain is ` +
|
|
353
|
+
'WordPress-only in plugin 1.10.0.'),
|
|
354
|
+
context: { ...context, platform: 'joomla', error_code: 'not_supported_on_platform', status: 501 },
|
|
355
|
+
hint: 'This capability exists only on WordPress sites. On Joomla, build layouts with ' +
|
|
356
|
+
'the element/page tools; there is no Library catalog or image proxy to browse.',
|
|
357
|
+
});
|
|
358
|
+
}
|
|
333
359
|
export async function handleLibraryBrowse({ client }, { kind, source, topic, type, role, website, element_type, purpose, has_effects, query, limit, cursor }) {
|
|
360
|
+
const guard = joomlaNotSupportedGuard(client, 'yootheme_builder_library_browse', { kind: kind ?? 'layout' });
|
|
361
|
+
if (guard !== null)
|
|
362
|
+
return guard;
|
|
334
363
|
try {
|
|
335
364
|
const qs = new URLSearchParams();
|
|
336
365
|
if (kind !== undefined)
|
|
@@ -425,6 +454,9 @@ function mapThumbnail(raw) {
|
|
|
425
454
|
return { mime_type: r.mime_type, data_base64: r.data_base64 };
|
|
426
455
|
}
|
|
427
456
|
export async function handleLibraryGet({ client }, { id, kind, source, include_thumbnail }) {
|
|
457
|
+
const guard = joomlaNotSupportedGuard(client, 'yootheme_builder_library_get', { id });
|
|
458
|
+
if (guard !== null)
|
|
459
|
+
return guard;
|
|
428
460
|
try {
|
|
429
461
|
const qs = new URLSearchParams({ id });
|
|
430
462
|
if (kind !== undefined)
|
|
@@ -526,6 +558,9 @@ function mapLibraryInsertResult(raw) {
|
|
|
526
558
|
};
|
|
527
559
|
}
|
|
528
560
|
export async function handleLibraryInsert({ client }, { id, kind, source, target, section_index, images, etag }) {
|
|
561
|
+
const guard = joomlaNotSupportedGuard(client, 'yootheme_builder_library_insert', { id });
|
|
562
|
+
if (guard !== null)
|
|
563
|
+
return guard;
|
|
529
564
|
const resolvedImages = images ?? 'placeholder';
|
|
530
565
|
try {
|
|
531
566
|
const body = { id, target, images: resolvedImages };
|
|
@@ -550,13 +585,45 @@ export async function handleLibraryInsert({ client }, { id, kind, source, target
|
|
|
550
585
|
return errorResult({
|
|
551
586
|
error: e,
|
|
552
587
|
context: { id, kind: kind ?? 'layout', source: source ?? DEFAULT_LIBRARY_SOURCE, images: resolvedImages },
|
|
553
|
-
hint:
|
|
554
|
-
'a preset (kind:"element") was pointed at a non-Column — scaffold a section→row→column ' +
|
|
555
|
-
'hull first with yootheme_builder_scaffold_section, then point element_path at the new ' +
|
|
556
|
-
'Column. A 412 means the etag is stale — re-read (get_etag/pages_list) and retry.',
|
|
588
|
+
hint: libraryInsertHint(e),
|
|
557
589
|
});
|
|
558
590
|
}
|
|
559
591
|
}
|
|
592
|
+
/**
|
|
593
|
+
* PAGES_LIBRARY_MEDIA-4 — status/code-aware catch hint for `library_insert`.
|
|
594
|
+
*
|
|
595
|
+
* The former static hint always said "Verify the id via library_get first" —
|
|
596
|
+
* but a 404 `not_found`/`unavailable` means the catalog item cannot be FETCHED
|
|
597
|
+
* (no Library API key configured, or the id is genuinely absent), so library_get
|
|
598
|
+
* returns an empty success and confirms nothing → a loop. On that class steer
|
|
599
|
+
* to the real fixes (configure the apikey, or use the keyless source:"ai")
|
|
600
|
+
* instead. Keep the target-column / stale-etag guidance for the 422/412 classes
|
|
601
|
+
* they actually describe.
|
|
602
|
+
*/
|
|
603
|
+
function libraryInsertHint(e) {
|
|
604
|
+
if (e instanceof RestError) {
|
|
605
|
+
const code = e.code ?? '';
|
|
606
|
+
if (e.status === 404 || code.includes('not_found') || code.includes('unavailable')) {
|
|
607
|
+
return ('The Library item could not be fetched (missing key or absent id). Do NOT ' +
|
|
608
|
+
'loop on yootheme_builder_library_get — it returns an empty success for an ' +
|
|
609
|
+
'unfetchable id. Either configure the YOOtheme Pro Library API key ' +
|
|
610
|
+
'(Customizer → Theme Settings → apikey), or use source:"ai" (your keyless ' +
|
|
611
|
+
'"WootsUp AI Layouts" store).');
|
|
612
|
+
}
|
|
613
|
+
if (e.status === 422) {
|
|
614
|
+
return ('A 422 target_not_a_column means a preset (kind:"element") was pointed at a ' +
|
|
615
|
+
'non-Column — scaffold a section→row→column hull first with ' +
|
|
616
|
+
'yootheme_builder_scaffold_section, then point element_path at the new Column.');
|
|
617
|
+
}
|
|
618
|
+
if (e.status === 412) {
|
|
619
|
+
return 'A 412 means the etag is stale — re-read (get_etag/pages_list) and retry.';
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
return ('Verify the id via yootheme_builder_library_get first. A 422 target_not_a_column means ' +
|
|
623
|
+
'a preset (kind:"element") was pointed at a non-Column — scaffold a section→row→column ' +
|
|
624
|
+
'hull first with yootheme_builder_scaffold_section. A 412 means the etag is stale — ' +
|
|
625
|
+
're-read (get_etag/pages_list) and retry.');
|
|
626
|
+
}
|
|
560
627
|
// ─── library_save_as (Task 7) ────────────────────────────────────────────
|
|
561
628
|
const LIBRARY_SAVE_SOURCE_SCHEMA = z.object({
|
|
562
629
|
template_id: z
|
|
@@ -589,6 +656,11 @@ function mapLibrarySaveAsResult(raw) {
|
|
|
589
656
|
};
|
|
590
657
|
}
|
|
591
658
|
export async function handleLibrarySaveAs({ client }, { source, name, destination }) {
|
|
659
|
+
const guard = joomlaNotSupportedGuard(client, 'yootheme_builder_library_save_as', {
|
|
660
|
+
template_id: source.template_id,
|
|
661
|
+
});
|
|
662
|
+
if (guard !== null)
|
|
663
|
+
return guard;
|
|
592
664
|
try {
|
|
593
665
|
const body = { source, name };
|
|
594
666
|
// Only forward a NON-default destination (the PHP MyLayoutsStore reads
|
|
@@ -614,6 +686,71 @@ export async function handleLibrarySaveAs({ client }, { source, name, destinatio
|
|
|
614
686
|
});
|
|
615
687
|
}
|
|
616
688
|
}
|
|
689
|
+
// ─── library_delete (PAGES_LIBRARY_MEDIA-16) ─────────────────────────────
|
|
690
|
+
export const LIBRARY_DELETE_OUTPUT_SCHEMA = z.object({
|
|
691
|
+
deleted: z.boolean(),
|
|
692
|
+
id: z.string(),
|
|
693
|
+
deleted_count: z.number(),
|
|
694
|
+
source: z.string(),
|
|
695
|
+
});
|
|
696
|
+
function mapLibraryDeleteResult(raw) {
|
|
697
|
+
if (raw === null || typeof raw !== 'object')
|
|
698
|
+
return undefined;
|
|
699
|
+
const r = raw;
|
|
700
|
+
if (typeof r.deleted !== 'boolean' || typeof r.id !== 'string')
|
|
701
|
+
return undefined;
|
|
702
|
+
return {
|
|
703
|
+
deleted: r.deleted,
|
|
704
|
+
id: r.id,
|
|
705
|
+
deleted_count: typeof r.deleted_count === 'number' ? r.deleted_count : r.deleted ? 1 : 0,
|
|
706
|
+
source: typeof r.source === 'string' ? r.source : 'ai',
|
|
707
|
+
};
|
|
708
|
+
}
|
|
709
|
+
export async function handleLibraryDelete({ client }, { id, source }) {
|
|
710
|
+
const guard = joomlaNotSupportedGuard(client, 'yootheme_builder_library_delete', { id });
|
|
711
|
+
if (guard !== null)
|
|
712
|
+
return guard;
|
|
713
|
+
try {
|
|
714
|
+
const body = { id };
|
|
715
|
+
// Only forward a NON-default source. The PHP controller reads the same
|
|
716
|
+
// absent-param "ai" default; the curated catalog (source:"catalog") is
|
|
717
|
+
// read-only, so forwarding it is what makes the controller answer 403.
|
|
718
|
+
if (source !== undefined && source !== 'ai')
|
|
719
|
+
body.source = source;
|
|
720
|
+
const data = await client.post('/library/delete', { body });
|
|
721
|
+
const mapped = mapLibraryDeleteResult(data);
|
|
722
|
+
if (mapped === undefined) {
|
|
723
|
+
throw new Error('Malformed /library/delete response — missing deleted/id.');
|
|
724
|
+
}
|
|
725
|
+
return structuredResult(jsonResult(mapped), mapped);
|
|
726
|
+
}
|
|
727
|
+
catch (e) {
|
|
728
|
+
return errorResult({
|
|
729
|
+
error: e,
|
|
730
|
+
context: { id, source: source ?? 'ai' },
|
|
731
|
+
hint: libraryDeleteHint(e),
|
|
732
|
+
});
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
/**
|
|
736
|
+
* Status/code-aware catch hint for library_delete. A 404 means the id was
|
|
737
|
+
* already gone (not a failure to act on — the end state is what you wanted); a
|
|
738
|
+
* 403 means a read-only source (only source:"ai" is deletable).
|
|
739
|
+
*/
|
|
740
|
+
function libraryDeleteHint(e) {
|
|
741
|
+
if (e instanceof RestError) {
|
|
742
|
+
if (e.status === 404) {
|
|
743
|
+
return ('No saved AI Layouts entry with that id exists — it may already be gone. List your ' +
|
|
744
|
+
'own saved entries with yootheme_builder_library_browse({source:"ai"}) to get a valid id.');
|
|
745
|
+
}
|
|
746
|
+
if (e.status === 403) {
|
|
747
|
+
return ('Only your own saved "WootsUp AI Layouts" entries (source:"ai") are deletable; the ' +
|
|
748
|
+
'curated YOOtheme Pro Library is read-only. Omit `source` (defaults to "ai").');
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
return ('Pass the `id` of an entry from yootheme_builder_library_browse({source:"ai"}). Only ' +
|
|
752
|
+
'source:"ai" entries are deletable — the curated library is read-only.');
|
|
753
|
+
}
|
|
617
754
|
// ─── image_search / image_import (Task D1, Image Sourcing) ────────────────
|
|
618
755
|
//
|
|
619
756
|
// Thin GET/POST forwards to `/library/image-search` (Task C1) mirroring
|
|
@@ -696,6 +833,9 @@ const IMAGE_TABLE_COLUMNS = [
|
|
|
696
833
|
{ key: 'full_url', label: 'FULL_URL', width: 50, llmOnly: true },
|
|
697
834
|
];
|
|
698
835
|
export async function handleImageSearch({ client }, { source, query, per_page, orientation, color }) {
|
|
836
|
+
const guard = joomlaNotSupportedGuard(client, 'yootheme_builder_image_search', { query });
|
|
837
|
+
if (guard !== null)
|
|
838
|
+
return guard;
|
|
699
839
|
const resolvedSource = source ?? 'unsplash';
|
|
700
840
|
try {
|
|
701
841
|
const qs = new URLSearchParams();
|
|
@@ -738,7 +878,8 @@ export async function handleImageSearch({ client }, { source, query, per_page, o
|
|
|
738
878
|
error: e,
|
|
739
879
|
context: { source: resolvedSource, query, per_page, orientation, color },
|
|
740
880
|
hint: 'total:0 usually means no YOOtheme Pro Library API key is configured (the same '
|
|
741
|
-
+ 'theme apikey library_browse/insert use). Run yootheme_builder_diagnose to verify auth.'
|
|
881
|
+
+ 'theme apikey library_browse/insert use). Run yootheme_builder_diagnose to verify auth. '
|
|
882
|
+
+ 'yootheme_builder_image_import still works with a direct image URL (no key needed).',
|
|
742
883
|
});
|
|
743
884
|
}
|
|
744
885
|
}
|
|
@@ -759,6 +900,9 @@ function mapImageImportResult(raw) {
|
|
|
759
900
|
};
|
|
760
901
|
}
|
|
761
902
|
export async function handleImageImport({ client }, { url }) {
|
|
903
|
+
const guard = joomlaNotSupportedGuard(client, 'yootheme_builder_image_import', { url });
|
|
904
|
+
if (guard !== null)
|
|
905
|
+
return guard;
|
|
762
906
|
try {
|
|
763
907
|
const data = await client.post('/library/image-import', { body: { url } });
|
|
764
908
|
const mapped = mapImageImportResult(data);
|
|
@@ -974,18 +1118,70 @@ export function buildLibraryTools(pool) {
|
|
|
974
1118
|
.string()
|
|
975
1119
|
.min(1)
|
|
976
1120
|
.describe('Display name for the new library entry (e.g. "Hero Section").'),
|
|
1121
|
+
// PAGES_LIBRARY_MEDIA-15: `.optional()` (not `.default('ai')`) so
|
|
1122
|
+
// the generated schema does NOT advertise a REQUIRED field that
|
|
1123
|
+
// also carries a default. The handler applies the `ai` default
|
|
1124
|
+
// when omitted (it only forwards a NON-default `native`).
|
|
977
1125
|
destination: z
|
|
978
1126
|
.enum(SAVE_DESTINATION_VALUES)
|
|
979
|
-
.
|
|
980
|
-
.describe('Where to save: "ai" (default — the isolated "WootsUp AI
|
|
981
|
-
'reusable by the agent via library_browse/insert with
|
|
982
|
-
'pollutes YOOtheme\'s native My Layouts) or "native"
|
|
983
|
-
'into YOOtheme\'s built-in "My Layouts").'),
|
|
1127
|
+
.optional()
|
|
1128
|
+
.describe('Where to save: "ai" (default when omitted — the isolated "WootsUp AI ' +
|
|
1129
|
+
'Layouts" store, reusable by the agent via library_browse/insert with ' +
|
|
1130
|
+
'source:"ai", never pollutes YOOtheme\'s native My Layouts) or "native" ' +
|
|
1131
|
+
'(the escape hatch: save into YOOtheme\'s built-in "My Layouts").'),
|
|
984
1132
|
},
|
|
985
1133
|
outputSchema: LIBRARY_SAVE_AS_OUTPUT_SCHEMA,
|
|
986
|
-
|
|
1134
|
+
// PAGES_LIBRARY_MEDIA-15: title names the DEFAULT destination (the AI
|
|
1135
|
+
// Layouts store), not "My Layouts" (which is the non-default `native`).
|
|
1136
|
+
annotations: creating('Save to AI Layouts library'),
|
|
987
1137
|
handler: async ({ site_id, ...rest }) => withWriteSiteRetry(pool, site_id, 'yootheme_builder_library_save_as', async (client, site) => withSiteMeta(await handleLibrarySaveAs({ client }, rest), site)),
|
|
988
1138
|
}),
|
|
1139
|
+
// PAGES_LIBRARY_MEDIA-16 — ADVANCED tool (deliberately NOT added to
|
|
1140
|
+
// essentials.ts/ESSENTIAL_TOOLS): reachable ONLY via
|
|
1141
|
+
// yootheme_builder_advanced({tool, arguments}). The INVERSE of
|
|
1142
|
+
// library_save_as. Annotated destructive() — it IRREVERSIBLY removes a
|
|
1143
|
+
// saved AI-Layouts entry (a layout the user deliberately saved via
|
|
1144
|
+
// library_save_as; there is no undo). This matches the codebase's own
|
|
1145
|
+
// "irreversible → destructive → host confirm-gate" precedent:
|
|
1146
|
+
// element_delete + pages_delete are destructive (audit F9), and
|
|
1147
|
+
// clean_implode_directives was re-classified mutating→destructive in
|
|
1148
|
+
// Wave H5 for the same reason (cannot be restored). Deleting saved user
|
|
1149
|
+
// data should fire the host's destructive-approval gate, not slip
|
|
1150
|
+
// through as an ordinary mutating write.
|
|
1151
|
+
defineTool({
|
|
1152
|
+
name: 'yootheme_builder_library_delete',
|
|
1153
|
+
description: 'Delete ONE saved entry from your "WootsUp AI Layouts" store (the isolated library ' +
|
|
1154
|
+
'yootheme_builder_library_save_as writes into) — clean up experimental sections/layouts ' +
|
|
1155
|
+
'the agent saved. Pass the `id` from a library_browse(source:"ai") row. `source` defaults ' +
|
|
1156
|
+
'to "ai", the ONLY deletable store; the curated library is read-only, so source:"catalog" ' +
|
|
1157
|
+
'returns a 403. IRREVERSIBLE — requires confirm:true. Returns `{deleted, id, deleted_count, ' +
|
|
1158
|
+
'source}`; an unknown id returns a 404. Advanced/gateway-only. Operates on the default site ' +
|
|
1159
|
+
'unless site_id is provided.',
|
|
1160
|
+
inputSchema: {
|
|
1161
|
+
site_id: SITE_ID_SCHEMA,
|
|
1162
|
+
id: z
|
|
1163
|
+
.string()
|
|
1164
|
+
.min(1)
|
|
1165
|
+
.describe('The saved AI-Layouts entry id to delete (e.g. "955bd3dc") — copy from a ' +
|
|
1166
|
+
'yootheme_builder_library_browse({source:"ai"}) row\'s `items[].id`.'),
|
|
1167
|
+
source: z
|
|
1168
|
+
.enum(LIBRARY_SOURCE_VALUES)
|
|
1169
|
+
.default('ai')
|
|
1170
|
+
.describe('Which library to delete from. Only "ai" (your OWN "WootsUp AI Layouts") is ' +
|
|
1171
|
+
'deletable; "catalog" (the curated remote YOOtheme Pro Library) is read-only ' +
|
|
1172
|
+
'and returns a 403. Omit to default to "ai".'),
|
|
1173
|
+
// Destructive-tool confirm gate (matches element_delete / pages_delete):
|
|
1174
|
+
// z.literal(true) makes the MCP boundary REJECT any call without
|
|
1175
|
+
// confirm:true, so an irreversible delete can never fire by accident.
|
|
1176
|
+
confirm: z
|
|
1177
|
+
.literal(true)
|
|
1178
|
+
.describe('Required — must be `true`. Deleting a saved AI-Layouts entry is IRREVERSIBLE ' +
|
|
1179
|
+
'(no undo); the MCP boundary rejects the call unless you explicitly confirm.'),
|
|
1180
|
+
},
|
|
1181
|
+
outputSchema: LIBRARY_DELETE_OUTPUT_SCHEMA,
|
|
1182
|
+
annotations: destructive('Delete AI Layouts entry'),
|
|
1183
|
+
handler: async ({ site_id, ...rest }) => withWriteSiteRetry(pool, site_id, 'yootheme_builder_library_delete', async (client, site) => withSiteMeta(await handleLibraryDelete({ client }, rest), site)),
|
|
1184
|
+
}),
|
|
989
1185
|
// Task D1 (Image Sourcing) — read-only forward, mirrors library_browse.
|
|
990
1186
|
defineTool({
|
|
991
1187
|
name: 'yootheme_builder_image_search',
|
|
@@ -1036,9 +1232,11 @@ export function buildLibraryTools(pool) {
|
|
|
1036
1232
|
// only creates, never deletes (Global Constraints, plan doc).
|
|
1037
1233
|
defineTool({
|
|
1038
1234
|
name: 'yootheme_builder_image_import',
|
|
1039
|
-
description: 'Sideload a
|
|
1040
|
-
+ '
|
|
1041
|
-
+ '
|
|
1235
|
+
description: 'Sideload a photo into the site\'s own Media Library. Accepts ANY public image '
|
|
1236
|
+
+ 'URL — it does NOT require a Library API key, so it still works when '
|
|
1237
|
+
+ 'image_search is unavailable (typically pass a `full_url` from '
|
|
1238
|
+
+ 'yootheme_builder_image_search). Returns `{imported:true, local_url}` where '
|
|
1239
|
+
+ 'local_url is a SITE-RELATIVE path (e.g. /wp-content/uploads/...). Bind it via '
|
|
1042
1240
|
+ 'element_update_settings({props:{image: local_url}, merge:true}). A caught '
|
|
1043
1241
|
+ 'import failure returns `{imported:false, reason}`, never a 500. Operates on '
|
|
1044
1242
|
+ 'the default site unless site_id is provided.',
|