@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.
Files changed (105) hide show
  1. package/README.md +6 -5
  2. package/dist/gateway/advanced-read-tool.d.ts.map +1 -1
  3. package/dist/gateway/advanced-read-tool.js +14 -2
  4. package/dist/gateway/advanced-read-tool.js.map +1 -1
  5. package/dist/gateway/advanced-tool/domains.d.ts.map +1 -1
  6. package/dist/gateway/advanced-tool/domains.js +5 -0
  7. package/dist/gateway/advanced-tool/domains.js.map +1 -1
  8. package/dist/gateway/advanced-tool/execute.d.ts +7 -1
  9. package/dist/gateway/advanced-tool/execute.d.ts.map +1 -1
  10. package/dist/gateway/advanced-tool/execute.js +58 -4
  11. package/dist/gateway/advanced-tool/execute.js.map +1 -1
  12. package/dist/server.d.ts +3 -3
  13. package/dist/server.js +3 -3
  14. package/dist/sites/tools/sites-list.d.ts.map +1 -1
  15. package/dist/sites/tools/sites-list.js +22 -2
  16. package/dist/sites/tools/sites-list.js.map +1 -1
  17. package/dist/tools/elements/builders.d.ts.map +1 -1
  18. package/dist/tools/elements/builders.js +69 -31
  19. package/dist/tools/elements/builders.js.map +1 -1
  20. package/dist/tools/elements/handlers-write.d.ts +2 -0
  21. package/dist/tools/elements/handlers-write.d.ts.map +1 -1
  22. package/dist/tools/elements/handlers-write.js +132 -9
  23. package/dist/tools/elements/handlers-write.js.map +1 -1
  24. package/dist/tools/elements/handlers.d.ts +7 -4
  25. package/dist/tools/elements/handlers.d.ts.map +1 -1
  26. package/dist/tools/elements/handlers.js +49 -8
  27. package/dist/tools/elements/handlers.js.map +1 -1
  28. package/dist/tools/elements/schema-validation.d.ts +18 -0
  29. package/dist/tools/elements/schema-validation.d.ts.map +1 -1
  30. package/dist/tools/elements/schema-validation.js +49 -5
  31. package/dist/tools/elements/schema-validation.js.map +1 -1
  32. package/dist/tools/format/sources-format.d.ts +12 -5
  33. package/dist/tools/format/sources-format.d.ts.map +1 -1
  34. package/dist/tools/format/sources-format.js +31 -6
  35. package/dist/tools/format/sources-format.js.map +1 -1
  36. package/dist/tools/health.d.ts.map +1 -1
  37. package/dist/tools/health.js +18 -5
  38. package/dist/tools/health.js.map +1 -1
  39. package/dist/tools/inspection.d.ts.map +1 -1
  40. package/dist/tools/inspection.js +81 -12
  41. package/dist/tools/inspection.js.map +1 -1
  42. package/dist/tools/layout-flatten.d.ts +7 -1
  43. package/dist/tools/layout-flatten.d.ts.map +1 -1
  44. package/dist/tools/layout-flatten.js +24 -13
  45. package/dist/tools/layout-flatten.js.map +1 -1
  46. package/dist/tools/library.d.ts +23 -0
  47. package/dist/tools/library.d.ts.map +1 -1
  48. package/dist/tools/library.js +213 -15
  49. package/dist/tools/library.js.map +1 -1
  50. package/dist/tools/local-content/builders.js +11 -11
  51. package/dist/tools/local-content/builders.js.map +1 -1
  52. package/dist/tools/local-content/handlers.d.ts.map +1 -1
  53. package/dist/tools/local-content/handlers.js +34 -5
  54. package/dist/tools/local-content/handlers.js.map +1 -1
  55. package/dist/tools/local-content/schemas.d.ts +9 -4
  56. package/dist/tools/local-content/schemas.d.ts.map +1 -1
  57. package/dist/tools/local-content/schemas.js +14 -6
  58. package/dist/tools/local-content/schemas.js.map +1 -1
  59. package/dist/tools/multi-items/builders.d.ts.map +1 -1
  60. package/dist/tools/multi-items/builders.js +11 -8
  61. package/dist/tools/multi-items/builders.js.map +1 -1
  62. package/dist/tools/pages/builders.d.ts.map +1 -1
  63. package/dist/tools/pages/builders.js +84 -51
  64. package/dist/tools/pages/builders.js.map +1 -1
  65. package/dist/tools/pages/handlers-audit.d.ts +99 -1
  66. package/dist/tools/pages/handlers-audit.d.ts.map +1 -1
  67. package/dist/tools/pages/handlers-audit.js +613 -7
  68. package/dist/tools/pages/handlers-audit.js.map +1 -1
  69. package/dist/tools/pages/handlers-read.d.ts +8 -3
  70. package/dist/tools/pages/handlers-read.d.ts.map +1 -1
  71. package/dist/tools/pages/handlers-read.js +172 -25
  72. package/dist/tools/pages/handlers-read.js.map +1 -1
  73. package/dist/tools/pages/handlers-write.d.ts +5 -1
  74. package/dist/tools/pages/handlers-write.d.ts.map +1 -1
  75. package/dist/tools/pages/handlers-write.js +66 -23
  76. package/dist/tools/pages/handlers-write.js.map +1 -1
  77. package/dist/tools/pages/schemas.d.ts +189 -4
  78. package/dist/tools/pages/schemas.d.ts.map +1 -1
  79. package/dist/tools/pages/schemas.js +235 -9
  80. package/dist/tools/pages/schemas.js.map +1 -1
  81. package/dist/tools/pages/target.d.ts +162 -0
  82. package/dist/tools/pages/target.d.ts.map +1 -0
  83. package/dist/tools/pages/target.js +239 -0
  84. package/dist/tools/pages/target.js.map +1 -0
  85. package/dist/tools/shared-schemas.d.ts +22 -0
  86. package/dist/tools/shared-schemas.d.ts.map +1 -1
  87. package/dist/tools/shared-schemas.js +22 -0
  88. package/dist/tools/shared-schemas.js.map +1 -1
  89. package/dist/tools/sources/builders.d.ts.map +1 -1
  90. package/dist/tools/sources/builders.js +46 -28
  91. package/dist/tools/sources/builders.js.map +1 -1
  92. package/dist/tools/sources/handlers-bind.d.ts +7 -8
  93. package/dist/tools/sources/handlers-bind.d.ts.map +1 -1
  94. package/dist/tools/sources/handlers-bind.js +106 -7
  95. package/dist/tools/sources/handlers-bind.js.map +1 -1
  96. package/dist/tools/sparse-fields.d.ts +12 -0
  97. package/dist/tools/sparse-fields.d.ts.map +1 -1
  98. package/dist/tools/sparse-fields.js +34 -2
  99. package/dist/tools/sparse-fields.js.map +1 -1
  100. package/dist/tools/tool-builder/results.d.ts.map +1 -1
  101. package/dist/tools/tool-builder/results.js +114 -0
  102. package/dist/tools/tool-builder/results.js.map +1 -1
  103. package/manifest.json +1 -1
  104. package/package.json +1 -1
  105. 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;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,EAAE,CA4B5D"}
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` (→ `/layout/children/<key>`) and `rel_path`
55
- // (→ `/children/<key>`, after the `/layout` strip on line below) mirror
56
- // it. Previously the bare anchor produced rel_path `/<key>/...` which
57
- // the element-path input normaliser rejects (it only lifts forms that
58
- // start with `/children/`), contradicting the pointer_hint's promise
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 `/layout` prefix; `has_binding` honours an
80
- // explicit REST boolean else derives via the shared SSoT.
81
- const relPath = path.replace(/^\/layout/, '') || '/';
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":"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"}
1
+ {"version":3,"file":"layout-flatten.js","sourceRoot":"","sources":["../../src/tools/layout-flatten.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
1
+ {"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../src/tools/library.ts"],"names":[],"mappings":"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"}
@@ -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: 'Verify the id via yootheme_builder_library_get first. A 422 target_not_a_column means ' +
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
- .default('ai')
980
- .describe('Where to save: "ai" (default — the isolated "WootsUp AI Layouts" store, ' +
981
- 'reusable by the agent via library_browse/insert with source:"ai", never ' +
982
- 'pollutes YOOtheme\'s native My Layouts) or "native" (the escape hatch: save ' +
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
- annotations: creating('Save to My Layouts'),
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 chosen photo (typically a `full_url` from '
1040
- + 'yootheme_builder_image_search) into the site\'s own Media Library. Returns '
1041
- + '`{imported:true, local_url}`. Bind local_url into an element via '
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.',