@wootsup/yt-builder-mcp 1.1.7 → 1.3.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 (249) hide show
  1. package/README.md +14 -10
  2. package/bin/yt-builder-mcp.js +55 -40
  3. package/dist/auth.d.ts +18 -0
  4. package/dist/auth.d.ts.map +1 -1
  5. package/dist/auth.js +18 -0
  6. package/dist/auth.js.map +1 -1
  7. package/dist/catalog/build-catalog.d.ts +63 -0
  8. package/dist/catalog/build-catalog.d.ts.map +1 -0
  9. package/dist/catalog/build-catalog.js +166 -0
  10. package/dist/catalog/build-catalog.js.map +1 -0
  11. package/dist/cli/invocation-decision.d.ts +57 -0
  12. package/dist/cli/invocation-decision.d.ts.map +1 -0
  13. package/dist/cli/invocation-decision.js +86 -0
  14. package/dist/cli/invocation-decision.js.map +1 -0
  15. package/dist/client.d.ts +28 -0
  16. package/dist/client.d.ts.map +1 -1
  17. package/dist/client.js +40 -1
  18. package/dist/client.js.map +1 -1
  19. package/dist/clients/claude-code.d.ts.map +1 -1
  20. package/dist/clients/claude-code.js +3 -1
  21. package/dist/clients/claude-code.js.map +1 -1
  22. package/dist/clients/claude-desktop.d.ts.map +1 -1
  23. package/dist/clients/claude-desktop.js +3 -1
  24. package/dist/clients/claude-desktop.js.map +1 -1
  25. package/dist/clients/cline.d.ts.map +1 -1
  26. package/dist/clients/cline.js +3 -1
  27. package/dist/clients/cline.js.map +1 -1
  28. package/dist/clients/codex-cli.d.ts +1 -1
  29. package/dist/clients/codex-cli.d.ts.map +1 -1
  30. package/dist/clients/codex-cli.js +98 -0
  31. package/dist/clients/codex-cli.js.map +1 -1
  32. package/dist/clients/continue.d.ts.map +1 -1
  33. package/dist/clients/continue.js +70 -1
  34. package/dist/clients/continue.js.map +1 -1
  35. package/dist/clients/cursor.d.ts.map +1 -1
  36. package/dist/clients/cursor.js +3 -1
  37. package/dist/clients/cursor.js.map +1 -1
  38. package/dist/clients/gemini-cli.d.ts.map +1 -1
  39. package/dist/clients/gemini-cli.js +3 -1
  40. package/dist/clients/gemini-cli.js.map +1 -1
  41. package/dist/clients/index.d.ts +104 -0
  42. package/dist/clients/index.d.ts.map +1 -1
  43. package/dist/clients/index.js +141 -0
  44. package/dist/clients/index.js.map +1 -1
  45. package/dist/clients/roo-code.d.ts.map +1 -1
  46. package/dist/clients/roo-code.js +3 -1
  47. package/dist/clients/roo-code.js.map +1 -1
  48. package/dist/clients/zed.d.ts.map +1 -1
  49. package/dist/clients/zed.js +3 -1
  50. package/dist/clients/zed.js.map +1 -1
  51. package/dist/gateway/advanced-read-tool.d.ts +37 -0
  52. package/dist/gateway/advanced-read-tool.d.ts.map +1 -0
  53. package/dist/gateway/advanced-read-tool.js +156 -0
  54. package/dist/gateway/advanced-read-tool.js.map +1 -0
  55. package/dist/gateway/advanced-tool/domains.d.ts +18 -3
  56. package/dist/gateway/advanced-tool/domains.d.ts.map +1 -1
  57. package/dist/gateway/advanced-tool/domains.js +28 -9
  58. package/dist/gateway/advanced-tool/domains.js.map +1 -1
  59. package/dist/gateway/advanced-tool/register.d.ts.map +1 -1
  60. package/dist/gateway/advanced-tool/register.js +43 -11
  61. package/dist/gateway/advanced-tool/register.js.map +1 -1
  62. package/dist/gateway/essentials.d.ts +14 -4
  63. package/dist/gateway/essentials.d.ts.map +1 -1
  64. package/dist/gateway/essentials.js +55 -5
  65. package/dist/gateway/essentials.js.map +1 -1
  66. package/dist/gateway/test-support.d.ts +3 -3
  67. package/dist/gateway/test-support.js +3 -3
  68. package/dist/index.d.ts +2 -1
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +19 -1
  71. package/dist/index.js.map +1 -1
  72. package/dist/install-skill.js +1 -1
  73. package/dist/proxy/bridge.d.ts +36 -0
  74. package/dist/proxy/bridge.d.ts.map +1 -0
  75. package/dist/proxy/bridge.js +129 -0
  76. package/dist/proxy/bridge.js.map +1 -0
  77. package/dist/proxy/mode.d.ts +10 -0
  78. package/dist/proxy/mode.d.ts.map +1 -0
  79. package/dist/proxy/mode.js +20 -0
  80. package/dist/proxy/mode.js.map +1 -0
  81. package/dist/server.d.ts +6 -4
  82. package/dist/server.d.ts.map +1 -1
  83. package/dist/server.js +14 -4
  84. package/dist/server.js.map +1 -1
  85. package/dist/setup-cli.d.ts +41 -0
  86. package/dist/setup-cli.d.ts.map +1 -1
  87. package/dist/setup-cli.js +163 -1
  88. package/dist/setup-cli.js.map +1 -1
  89. package/dist/setup-prompts.d.ts +23 -0
  90. package/dist/setup-prompts.d.ts.map +1 -1
  91. package/dist/setup-prompts.js +76 -1
  92. package/dist/setup-prompts.js.map +1 -1
  93. package/dist/setup-wizard.d.ts.map +1 -1
  94. package/dist/setup-wizard.js +7 -0
  95. package/dist/setup-wizard.js.map +1 -1
  96. package/dist/sites/bootstrap.d.ts +41 -0
  97. package/dist/sites/bootstrap.d.ts.map +1 -0
  98. package/dist/sites/bootstrap.js +58 -0
  99. package/dist/sites/bootstrap.js.map +1 -0
  100. package/dist/sites/client-pool.d.ts +33 -0
  101. package/dist/sites/client-pool.d.ts.map +1 -1
  102. package/dist/sites/client-pool.js +69 -1
  103. package/dist/sites/client-pool.js.map +1 -1
  104. package/dist/sites/registry.d.ts +30 -0
  105. package/dist/sites/registry.d.ts.map +1 -1
  106. package/dist/sites/registry.js.map +1 -1
  107. package/dist/sites/store.d.ts +8 -1
  108. package/dist/sites/store.d.ts.map +1 -1
  109. package/dist/sites/store.js +17 -2
  110. package/dist/sites/store.js.map +1 -1
  111. package/dist/sites/tools/index.d.ts.map +1 -1
  112. package/dist/sites/tools/index.js +9 -1
  113. package/dist/sites/tools/index.js.map +1 -1
  114. package/dist/sites/tools/use-site.d.ts +47 -0
  115. package/dist/sites/tools/use-site.d.ts.map +1 -0
  116. package/dist/sites/tools/use-site.js +203 -0
  117. package/dist/sites/tools/use-site.js.map +1 -0
  118. package/dist/tools/bind-guidance.d.ts +80 -0
  119. package/dist/tools/bind-guidance.d.ts.map +1 -0
  120. package/dist/tools/bind-guidance.js +95 -0
  121. package/dist/tools/bind-guidance.js.map +1 -0
  122. package/dist/tools/elements/builders.d.ts.map +1 -1
  123. package/dist/tools/elements/builders.js +75 -18
  124. package/dist/tools/elements/builders.js.map +1 -1
  125. package/dist/tools/elements/handlers-write.d.ts +20 -3
  126. package/dist/tools/elements/handlers-write.d.ts.map +1 -1
  127. package/dist/tools/elements/handlers-write.js +372 -10
  128. package/dist/tools/elements/handlers-write.js.map +1 -1
  129. package/dist/tools/elements/handlers.d.ts +6 -1
  130. package/dist/tools/elements/handlers.d.ts.map +1 -1
  131. package/dist/tools/elements/handlers.js +77 -10
  132. package/dist/tools/elements/handlers.js.map +1 -1
  133. package/dist/tools/elements/layout-hierarchy-rules.d.ts +62 -0
  134. package/dist/tools/elements/layout-hierarchy-rules.d.ts.map +1 -0
  135. package/dist/tools/elements/layout-hierarchy-rules.js +154 -0
  136. package/dist/tools/elements/layout-hierarchy-rules.js.map +1 -0
  137. package/dist/tools/format/elements-format.d.ts +35 -0
  138. package/dist/tools/format/elements-format.d.ts.map +1 -1
  139. package/dist/tools/format/elements-format.js +134 -12
  140. package/dist/tools/format/elements-format.js.map +1 -1
  141. package/dist/tools/format/inspection-format.d.ts +29 -0
  142. package/dist/tools/format/inspection-format.d.ts.map +1 -1
  143. package/dist/tools/format/inspection-format.js +99 -22
  144. package/dist/tools/format/inspection-format.js.map +1 -1
  145. package/dist/tools/format/pages-format.d.ts.map +1 -1
  146. package/dist/tools/format/pages-format.js +7 -0
  147. package/dist/tools/format/pages-format.js.map +1 -1
  148. package/dist/tools/format/sources-format.d.ts +8 -0
  149. package/dist/tools/format/sources-format.d.ts.map +1 -1
  150. package/dist/tools/format/sources-format.js +10 -0
  151. package/dist/tools/format/sources-format.js.map +1 -1
  152. package/dist/tools/health.d.ts.map +1 -1
  153. package/dist/tools/health.js +24 -0
  154. package/dist/tools/health.js.map +1 -1
  155. package/dist/tools/index.d.ts.map +1 -1
  156. package/dist/tools/index.js +4 -0
  157. package/dist/tools/index.js.map +1 -1
  158. package/dist/tools/inspection.d.ts +24 -0
  159. package/dist/tools/inspection.d.ts.map +1 -1
  160. package/dist/tools/inspection.js +297 -5
  161. package/dist/tools/inspection.js.map +1 -1
  162. package/dist/tools/layout-flatten.d.ts +11 -8
  163. package/dist/tools/layout-flatten.d.ts.map +1 -1
  164. package/dist/tools/layout-flatten.js +17 -6
  165. package/dist/tools/layout-flatten.js.map +1 -1
  166. package/dist/tools/multi-items/builders.d.ts.map +1 -1
  167. package/dist/tools/multi-items/builders.js +18 -3
  168. package/dist/tools/multi-items/builders.js.map +1 -1
  169. package/dist/tools/multi-items/clean-implode-handler.d.ts.map +1 -1
  170. package/dist/tools/multi-items/clean-implode-handler.js +2 -2
  171. package/dist/tools/multi-items/clean-implode-handler.js.map +1 -1
  172. package/dist/tools/multi-items/format/inspection-format.d.ts +41 -0
  173. package/dist/tools/multi-items/format/inspection-format.d.ts.map +1 -0
  174. package/dist/tools/multi-items/format/inspection-format.js +64 -0
  175. package/dist/tools/multi-items/format/inspection-format.js.map +1 -0
  176. package/dist/tools/multi-items/inspect-handler.d.ts +50 -2
  177. package/dist/tools/multi-items/inspect-handler.d.ts.map +1 -1
  178. package/dist/tools/multi-items/inspect-handler.js +237 -10
  179. package/dist/tools/multi-items/inspect-handler.js.map +1 -1
  180. package/dist/tools/multi-items/inspection-cache.d.ts +85 -0
  181. package/dist/tools/multi-items/inspection-cache.d.ts.map +1 -0
  182. package/dist/tools/multi-items/inspection-cache.js +126 -0
  183. package/dist/tools/multi-items/inspection-cache.js.map +1 -0
  184. package/dist/tools/pages/builders.d.ts +31 -2
  185. package/dist/tools/pages/builders.d.ts.map +1 -1
  186. package/dist/tools/pages/builders.js +173 -17
  187. package/dist/tools/pages/builders.js.map +1 -1
  188. package/dist/tools/pages/handlers-read.d.ts +6 -2
  189. package/dist/tools/pages/handlers-read.d.ts.map +1 -1
  190. package/dist/tools/pages/handlers-read.js +228 -26
  191. package/dist/tools/pages/handlers-read.js.map +1 -1
  192. package/dist/tools/pages/handlers-write.d.ts +143 -7
  193. package/dist/tools/pages/handlers-write.d.ts.map +1 -1
  194. package/dist/tools/pages/handlers-write.js +215 -11
  195. package/dist/tools/pages/handlers-write.js.map +1 -1
  196. package/dist/tools/pages/index.d.ts +1 -1
  197. package/dist/tools/pages/index.d.ts.map +1 -1
  198. package/dist/tools/pages/index.js +1 -1
  199. package/dist/tools/pages/index.js.map +1 -1
  200. package/dist/tools/pages/schemas.d.ts +166 -0
  201. package/dist/tools/pages/schemas.d.ts.map +1 -1
  202. package/dist/tools/pages/schemas.js +347 -0
  203. package/dist/tools/pages/schemas.js.map +1 -1
  204. package/dist/tools/shared-schemas.d.ts.map +1 -1
  205. package/dist/tools/shared-schemas.js +26 -11
  206. package/dist/tools/shared-schemas.js.map +1 -1
  207. package/dist/tools/sources/builders.d.ts.map +1 -1
  208. package/dist/tools/sources/builders.js +64 -6
  209. package/dist/tools/sources/builders.js.map +1 -1
  210. package/dist/tools/sources/handlers-bind.d.ts +13 -1
  211. package/dist/tools/sources/handlers-bind.d.ts.map +1 -1
  212. package/dist/tools/sources/handlers-bind.js +219 -5
  213. package/dist/tools/sources/handlers-bind.js.map +1 -1
  214. package/dist/tools/sources/handlers.d.ts +3 -0
  215. package/dist/tools/sources/handlers.d.ts.map +1 -1
  216. package/dist/tools/sources/handlers.js +45 -8
  217. package/dist/tools/sources/handlers.js.map +1 -1
  218. package/dist/tools/sparse-fields.d.ts +23 -0
  219. package/dist/tools/sparse-fields.d.ts.map +1 -1
  220. package/dist/tools/sparse-fields.js +29 -0
  221. package/dist/tools/sparse-fields.js.map +1 -1
  222. package/dist/tools/sublayout/builders.d.ts +23 -0
  223. package/dist/tools/sublayout/builders.d.ts.map +1 -0
  224. package/dist/tools/sublayout/builders.js +54 -0
  225. package/dist/tools/sublayout/builders.js.map +1 -0
  226. package/dist/tools/sublayout/index.d.ts +13 -0
  227. package/dist/tools/sublayout/index.d.ts.map +1 -0
  228. package/dist/tools/sublayout/index.js +13 -0
  229. package/dist/tools/sublayout/index.js.map +1 -0
  230. package/dist/tools/sublayout/inspect-sublayout-handler.d.ts +95 -0
  231. package/dist/tools/sublayout/inspect-sublayout-handler.d.ts.map +1 -0
  232. package/dist/tools/sublayout/inspect-sublayout-handler.js +181 -0
  233. package/dist/tools/sublayout/inspect-sublayout-handler.js.map +1 -0
  234. package/dist/tools/tool-builder/results.d.ts +31 -0
  235. package/dist/tools/tool-builder/results.d.ts.map +1 -1
  236. package/dist/tools/tool-builder/results.js +95 -4
  237. package/dist/tools/tool-builder/results.js.map +1 -1
  238. package/dist/uninstall-skill.d.ts +52 -0
  239. package/dist/uninstall-skill.d.ts.map +1 -0
  240. package/dist/uninstall-skill.js +146 -0
  241. package/dist/uninstall-skill.js.map +1 -0
  242. package/dist/uninstall.d.ts +73 -0
  243. package/dist/uninstall.d.ts.map +1 -0
  244. package/dist/uninstall.js +82 -0
  245. package/dist/uninstall.js.map +1 -0
  246. package/icon.png +0 -0
  247. package/manifest.json +10 -10
  248. package/package.json +7 -3
  249. package/skills/yt-builder-mcp/SKILL.md +157 -88
@@ -15,10 +15,27 @@ import { type HandlerExtra, type ToolResult } from '../tool-builder.js';
15
15
  import type { ElementsHandlerDeps } from './handlers.js';
16
16
  export declare function handleElementAdd({ client }: ElementsHandlerDeps, input: {
17
17
  template_id: string;
18
- parent_path: string;
19
- element_type: string;
18
+ parent_path?: string;
19
+ element_type?: string;
20
+ type_name?: string;
20
21
  props?: Record<string, unknown>;
21
22
  children?: Record<string, unknown>[];
23
+ index?: number;
24
+ position?: number;
25
+ etag: string;
26
+ }, extra?: HandlerExtra): Promise<ToolResult>;
27
+ /**
28
+ * `scaffold_section` — POST /pages/{template_id}/elements/scaffold-section.
29
+ *
30
+ * Create a VALID `section → row → column` hull (optionally N columns) in ONE
31
+ * atomic call and return the column pointer(s) to drop content into. This is
32
+ * the positive-steering counterpart to the server-side hierarchy guard: it
33
+ * makes the correct structure the cheapest path, so the guard rarely fires.
34
+ * The whole hull lands in a single server-side transaction (one ETag bump).
35
+ */
36
+ export declare function handleScaffoldSection({ client }: ElementsHandlerDeps, input: {
37
+ template_id: string;
38
+ columns?: number;
22
39
  etag: string;
23
40
  }, extra?: HandlerExtra): Promise<ToolResult>;
24
41
  export declare function handleElementUpdateSettings({ client }: ElementsHandlerDeps, input: {
@@ -44,6 +61,6 @@ export declare function handleElementDelete({ client, elicitation }: ElementsHan
44
61
  template_id: string;
45
62
  element_path: string;
46
63
  etag: string;
47
- confirm?: boolean;
64
+ confirm?: boolean | 'true' | 'false' | 0 | 1;
48
65
  }, extra?: HandlerExtra): Promise<ToolResult>;
49
66
  //# sourceMappingURL=handlers-write.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers-write.d.ts","sourceRoot":"","sources":["../../../src/tools/elements/handlers-write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,EAKH,KAAK,YAAY,EACjB,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAIzD,wBAAsB,gBAAgB,CAClC,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAC/B,KAAK,EAAE;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;CAChB,EACD,KAAK,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,CAAC,CAoBrB;AAID,wBAAsB,2BAA2B,CAC7C,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAC/B,KAAK,EAAE;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CAChB,EACD,KAAK,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,CAAC,CA6BrB;AAID,wBAAsB,iBAAiB,CACnC,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAC/B,KAAK,EAAE;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CAChB,EACD,KAAK,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,CAAC,CAqBrB;AAID,wBAAsB,kBAAkB,CACpC,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAC/B,KAAK,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAClE,KAAK,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,CAAC,CAmBrB;AAiCD,wBAAsB,mBAAmB,CACrC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,mBAAmB,EAC5C,KAAK,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EACrF,KAAK,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,CAAC,CAwBrB"}
1
+ {"version":3,"file":"handlers-write.d.ts","sourceRoot":"","sources":["../../../src/tools/elements/handlers-write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,EAKH,KAAK,YAAY,EACjB,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAiRzD,wBAAsB,gBAAgB,CAClC,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAC/B,KAAK,EAAE;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CAChB,EACD,KAAK,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,CAAC,CAkErB;AAID;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACvC,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAC/B,KAAK,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC9D,KAAK,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,CAAC,CAsBrB;AAID,wBAAsB,2BAA2B,CAC7C,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAC/B,KAAK,EAAE;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CAChB,EACD,KAAK,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,CAAC,CAkCrB;AAID,wBAAsB,iBAAiB,CACnC,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAC/B,KAAK,EAAE;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CAChB,EACD,KAAK,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,CAAC,CAqBrB;AAID,wBAAsB,kBAAkB,CACpC,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAC/B,KAAK,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAClE,KAAK,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,CAAC,CAmBrB;AAkED,wBAAsB,mBAAmB,CACrC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,mBAAmB,EAC5C,KAAK,EAAE;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;CAChD,EACD,KAAK,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,CAAC,CA4BrB"}
@@ -12,16 +12,301 @@
12
12
  * @license MIT
13
13
  */
14
14
  import { elicitConfirmation } from '@getimo/mcp-toolkit';
15
- import { encodeElementPath } from '../../client.js';
15
+ import { encodeElementPath, encodeTemplateId } from '../../client.js';
16
+ import { BIND_VIA_GATEWAY_EXAMPLE, BIND_VIA_GATEWAY_HINT } from '../bind-guidance.js';
16
17
  import { PHASE_CONFIRM, PHASE_SEND } from '../progress-phases.js';
17
18
  import { confirmGuard, createProgressReporter, errorResult, jsonResult, } from '../tool-builder.js';
19
+ // ─── Wave-7 (2026-05-29): props validation ──────────────────────────
20
+ //
21
+ // Cold-AI #5 hand-authored `props.source` / `props.source_extended` via
22
+ // element_update_settings({props:{source}}). YT-Pro's render-side then
23
+ // silently ignored the binding because `source` is not a leaf prop — it
24
+ // lives as a SIBLING of `props` on the element node. The agent had no
25
+ // signal that the call was a no-op until visual verification failed.
26
+ //
27
+ // These keys MUST go through yootheme_builder_element_bind_source (which
28
+ // writes them at the correct nesting level). Reject hand-authored attempts
29
+ // up-front so the agent gets a structured error instead of a silent broken
30
+ // render.
31
+ const RESERVED_BINDING_KEYS = new Set([
32
+ 'source',
33
+ 'source_extended',
34
+ // YT-Pro UI-only placeholders that customers paste from
35
+ // Inspect/Copy in the visual builder. They never resolve outside the
36
+ // builder runtime so they're useless inside a stored layout.
37
+ 'source_node',
38
+ ]);
39
+ // Wave-7 (2026-05-29): common cold-AI prop-key typos. The PHP backend
40
+ // silently drops unknown props, so a typo like `title` on a headline (real
41
+ // key is `content`) renders an empty headline. We surface a fix suggestion
42
+ // up-front for the small fixed set of high-frequency mistakes.
43
+ //
44
+ // Format: typo → { element_type → canonical_key }
45
+ // element_type === '*' applies to any element where the typo is known to be
46
+ // a typo on every type that has it.
47
+ const COMMON_PROP_TYPOS = {
48
+ title: {
49
+ headline: 'content',
50
+ subtitle: 'content',
51
+ text: 'content',
52
+ quote: 'content',
53
+ button_item: 'content',
54
+ // Wave-9 F9 (cold-AI #8): `button` accepts `content` at runtime
55
+ // even though the UI-tab fieldset omits it (see
56
+ // Inspector::knownAcceptedButHiddenFields). `title` is the most
57
+ // common cold-AI typo for the button label.
58
+ button: 'content',
59
+ },
60
+ text: {
61
+ headline: 'content',
62
+ text: 'content',
63
+ quote: 'content',
64
+ // Wave-9 F9: same rationale as `title` above — agents reading
65
+ // documentation often type `text` for the button label.
66
+ button: 'content',
67
+ },
68
+ label: {
69
+ button_item: 'content',
70
+ // Wave-9 F9: `label` is a common cold-AI alias for button text.
71
+ button: 'content',
72
+ },
73
+ url: {
74
+ button_item: 'link',
75
+ // Wave-9 F9 (cold-AI #8): `button` accepts `link` at runtime.
76
+ button: 'link',
77
+ },
78
+ href: {
79
+ // Wave-9 F9: HTML-native authors reach for `href` first.
80
+ button_item: 'link',
81
+ button: 'link',
82
+ },
83
+ button_text: {
84
+ button_item: 'content',
85
+ button: 'content',
86
+ },
87
+ button_link: {
88
+ button_item: 'link',
89
+ button: 'link',
90
+ },
91
+ style: {
92
+ button_item: 'button_style',
93
+ },
94
+ size: {
95
+ button_item: 'button_size',
96
+ },
97
+ };
98
+ function detectPropTypos(props, elementType) {
99
+ if (props === undefined || props === null)
100
+ return [];
101
+ const findings = [];
102
+ for (const key of Object.keys(props)) {
103
+ const map = COMMON_PROP_TYPOS[key];
104
+ if (map === undefined)
105
+ continue;
106
+ const suggested = map[elementType];
107
+ if (suggested !== undefined) {
108
+ findings.push({ typo: key, suggested });
109
+ }
110
+ }
111
+ return findings;
112
+ }
113
+ function rejectOnPropTypos(props, elementType) {
114
+ const findings = detectPropTypos(props, elementType);
115
+ if (findings.length === 0)
116
+ return null;
117
+ // F14 (2026-06-09): name the CANONICAL prop explicitly + imperatively
118
+ // (`use \`content\` instead of \`title\``) rather than only posing it
119
+ // as a question. A cold agent that hit `element_add headline {title}`
120
+ // got the element rendered empty because YT-Pro silently drops the
121
+ // unknown alias; the error must state the right key so the agent can
122
+ // self-correct in one step without a schema round-trip.
123
+ const summary = findings
124
+ .map((f) => `use \`${f.suggested}\` instead of \`${f.typo}\``)
125
+ .join('; ');
126
+ // Lead with the single most-likely fix so the canonical key is the
127
+ // first concrete token the agent reads.
128
+ const primary = findings[0];
129
+ const rename = primary !== undefined
130
+ ? `Rename \`${primary.typo}\` → \`${primary.suggested}\`. `
131
+ : '';
132
+ return errorResult({
133
+ error: new Error(`Unknown prop(s) for element type \`${elementType}\`: ${summary}. ` +
134
+ rename +
135
+ 'YT-Pro silently drops unknown props server-side, so the element would render empty. ' +
136
+ 'Call yootheme_builder_element_type_get_schema to see the canonical prop keys.'),
137
+ context: {
138
+ element_type: elementType,
139
+ findings,
140
+ },
141
+ hint: `Re-try with the canonical key (e.g. \`${primary?.suggested ?? 'content'}\`), ` +
142
+ 'or fetch the schema first: ' +
143
+ `yootheme_builder_element_type_get_schema({ element_type: "${elementType}" }).`,
144
+ });
145
+ }
146
+ function validatePropsForReservedKeys(props, elementType) {
147
+ if (props === undefined || props === null)
148
+ return null;
149
+ const offending = [];
150
+ for (const key of Object.keys(props)) {
151
+ if (RESERVED_BINDING_KEYS.has(key)) {
152
+ offending.push(key);
153
+ }
154
+ }
155
+ if (offending.length === 0)
156
+ return null;
157
+ return errorResult({
158
+ error: new Error(`Reserved binding key(s) ${offending
159
+ .map((k) => `\`${k}\``)
160
+ .join(', ')} are NOT valid props for element type \`${elementType}\`. ` +
161
+ `Source binding lives as a SIBLING of \`props\` on the element node, ` +
162
+ `NOT nested inside props. Set the source via the gateway: ` +
163
+ `${BIND_VIA_GATEWAY_EXAMPLE} — it writes the binding at the correct ` +
164
+ `nesting level (the bind tool is advanced, not in tools/list). ` +
165
+ `For per-prop leaf bindings (headline.content, etc.) pass the prop name ` +
166
+ `inside the \`field_mappings\` argument of that same call. ` +
167
+ // F97 (2026-06-10): a FILTERED prop (e.g. a `_condition` that
168
+ // renders a row only when a field is non-empty) is the most
169
+ // common reason an agent reaches for a raw `source` here. The
170
+ // theme-canonical, validated path is the field_mappings OBJECT
171
+ // form on element_bind_source — name it so the agent never has
172
+ // to hand-author a dead `source` blob nor build pre-filtered
173
+ // flows as a workaround.
174
+ `For a FILTERED prop (e.g. a \`_condition\` that shows a row only when a ` +
175
+ `field is set) use the field_mappings OBJECT form: ` +
176
+ `field_mappings: { _condition: { name: "<field>", filters: { condition: "!!" } } } ` +
177
+ `(\`"!!"\` = render only when non-empty, \`"!"\` = only when empty; a bare ` +
178
+ `_condition with no filters operator renders ALWAYS). Date-format leaves use ` +
179
+ `{ name: "<field>", filters: { date: "D, d.m.y" } }.`),
180
+ context: { element_type: elementType, offending_keys: offending },
181
+ hint: 'Run yootheme_builder_element_type_get_schema to see the binding contract ' +
182
+ `(do_not section lists this anti-pattern). Then ${BIND_VIA_GATEWAY_HINT} ` +
183
+ 'For filtered props pass the field_mappings object form ' +
184
+ '({ <prop>: { name, filters } }) on element_bind_source.',
185
+ });
186
+ }
187
+ // ─── children-tree guard (F132, Wave 4a) ─────────────────────────────
188
+ //
189
+ // `element_add` accepts a `children` array of arbitrary element objects.
190
+ // Before Wave 4a only the top-level `props` were validated, so a cold agent
191
+ // building a grid+grid_item tree in ONE element_add could smuggle the exact
192
+ // forbidden shapes through the children:
193
+ //
194
+ // children: [{ type:'grid_item', source:{query:…}, props:{title:…} }]
195
+ //
196
+ // `source` is a SIBLING of `props` on YT-Pro element nodes; hand-authoring it
197
+ // (or `source_extended` / `source_node`) never resolves in a stored layout —
198
+ // the render silently produces 0 rows while element_add returns success. The
199
+ // same applies to per-prop typos (`title` on a headline → empty headline).
200
+ //
201
+ // This walks the whole children subtree and applies the SAME two guards that
202
+ // protect top-level props, plus a sibling-`source` rejection per node.
203
+ function elementTypeOfChild(node) {
204
+ const t = node.type;
205
+ if (typeof t === 'string' && t !== '')
206
+ return t;
207
+ const et = node.element_type;
208
+ if (typeof et === 'string' && et !== '')
209
+ return et;
210
+ return '<child>';
211
+ }
212
+ function rejectSourceSiblingOnChild(node, elementType) {
213
+ const offending = [...RESERVED_BINDING_KEYS].filter((k) => k in node);
214
+ if (offending.length === 0)
215
+ return null;
216
+ return errorResult({
217
+ error: new Error(`Hand-authored binding key(s) ${offending
218
+ .map((k) => `\`${k}\``)
219
+ .join(', ')} found on a \`children\` node (element type \`${elementType}\`). ` +
220
+ `A source binding must NOT be hand-authored inside an element_add tree — ` +
221
+ `the stored layout silently renders 0 rows. Add the bare container/child ` +
222
+ `structure first, then bind with \`yootheme_builder_element_bind_source\`, ` +
223
+ `which writes the binding at the correct nesting level.`),
224
+ context: { element_type: elementType, offending_keys: offending },
225
+ hint: 'Remove `source` / `source_extended` / `source_node` from the children tree. ' +
226
+ 'Build the structure, then call yootheme_builder_element_bind_source. See ' +
227
+ 'yootheme_builder_element_type_get_schema (do_not section).',
228
+ });
229
+ }
230
+ /**
231
+ * Recursively validate a `children` array: each node's own `props` is run
232
+ * through the reserved-key + prop-typo guards, the node itself is checked
233
+ * for a hand-authored `source` sibling, and nested `children` recurse.
234
+ * Returns the FIRST rejection found, or null when the whole tree is clean.
235
+ */
236
+ function validateChildrenTree(children) {
237
+ if (!Array.isArray(children))
238
+ return null;
239
+ for (const raw of children) {
240
+ if (raw === null || typeof raw !== 'object')
241
+ continue;
242
+ const node = raw;
243
+ const elementType = elementTypeOfChild(node);
244
+ const sourceRejection = rejectSourceSiblingOnChild(node, elementType);
245
+ if (sourceRejection !== null)
246
+ return sourceRejection;
247
+ const props = node.props !== null && typeof node.props === 'object'
248
+ ? node.props
249
+ : undefined;
250
+ const propsRejection = validatePropsForReservedKeys(props, elementType);
251
+ if (propsRejection !== null)
252
+ return propsRejection;
253
+ const typoRejection = rejectOnPropTypos(props, elementType);
254
+ if (typoRejection !== null)
255
+ return typoRejection;
256
+ const nested = validateChildrenTree(node.children);
257
+ if (nested !== null)
258
+ return nested;
259
+ }
260
+ return null;
261
+ }
18
262
  // ─── element_add ─────────────────────────────────────────────────────
19
263
  export async function handleElementAdd({ client }, input, extra) {
20
- const { template_id, etag, ...body } = input;
264
+ // Union of F165 (type_name element_type alias) and F70 (position →
265
+ // index alias). Both aliases are folded onto their canonical keys and
266
+ // stripped so they never leak into the REST body. The canonical key
267
+ // wins when both are supplied.
268
+ const { template_id, etag, type_name, index, position, ...rest } = input;
269
+ const elementType = typeof rest.element_type === 'string' && rest.element_type !== ''
270
+ ? rest.element_type
271
+ : typeof type_name === 'string'
272
+ ? type_name
273
+ : '';
274
+ if (elementType === '') {
275
+ return errorResult({
276
+ error: new Error('element_type is required.'),
277
+ context: { template_id },
278
+ hint: 'Provide `element_type` (e.g. "grid"; `type_name` is accepted as an ' +
279
+ 'alias). Use yootheme_builder_element_types_list for the catalogue.',
280
+ });
281
+ }
282
+ // F70: index wins over the position alias; absent → body carries no
283
+ // index (server appends), preserving the historical append request.
284
+ const resolvedIndex = index ?? position;
285
+ const body = {
286
+ parent_path: typeof rest.parent_path === 'string' ? rest.parent_path : '',
287
+ element_type: elementType,
288
+ ...(rest.props !== undefined ? { props: rest.props } : {}),
289
+ ...(rest.children !== undefined ? { children: rest.children } : {}),
290
+ ...(resolvedIndex !== undefined ? { index: resolvedIndex } : {}),
291
+ };
292
+ // Wave-7: guard against hand-authored source/source_extended in props.
293
+ const propsRejection = validatePropsForReservedKeys(input.props, elementType);
294
+ if (propsRejection !== null)
295
+ return propsRejection;
296
+ // Wave-7: guard against common prop-key typos (title→content etc.).
297
+ const typoRejection = rejectOnPropTypos(input.props, elementType);
298
+ if (typoRejection !== null)
299
+ return typoRejection;
300
+ // F132 (Wave 4a): the same guards must reach the `children` subtree —
301
+ // otherwise a single element_add can smuggle a forbidden source/typo
302
+ // through a nested child and silently render 0 rows.
303
+ const childrenRejection = validateChildrenTree(input.children);
304
+ if (childrenRejection !== null)
305
+ return childrenRejection;
21
306
  const progress = extra ? createProgressReporter(extra) : null;
22
307
  await progress?.report(0, 2, PHASE_SEND);
23
308
  try {
24
- const data = await client.post(`/pages/${encodeURIComponent(template_id)}/elements`, { body, etag });
309
+ const data = await client.post(`/pages/${encodeTemplateId(template_id)}/elements`, { body, etag });
25
310
  await progress?.report(2, 2, PHASE_CONFIRM);
26
311
  return jsonResult(data);
27
312
  }
@@ -34,9 +319,45 @@ export async function handleElementAdd({ client }, input, extra) {
34
319
  });
35
320
  }
36
321
  }
322
+ // ─── scaffold_section (WF2 Option C) ─────────────────────────────────
323
+ /**
324
+ * `scaffold_section` — POST /pages/{template_id}/elements/scaffold-section.
325
+ *
326
+ * Create a VALID `section → row → column` hull (optionally N columns) in ONE
327
+ * atomic call and return the column pointer(s) to drop content into. This is
328
+ * the positive-steering counterpart to the server-side hierarchy guard: it
329
+ * makes the correct structure the cheapest path, so the guard rarely fires.
330
+ * The whole hull lands in a single server-side transaction (one ETag bump).
331
+ */
332
+ export async function handleScaffoldSection({ client }, input, extra) {
333
+ const { template_id, columns, etag } = input;
334
+ const progress = extra ? createProgressReporter(extra) : null;
335
+ await progress?.report(0, 2, PHASE_SEND);
336
+ try {
337
+ const body = columns !== undefined ? { columns } : {};
338
+ const data = await client.post(`/pages/${encodeTemplateId(template_id)}/elements/scaffold-section`, { body, etag });
339
+ await progress?.report(2, 2, PHASE_CONFIRM);
340
+ return jsonResult(data);
341
+ }
342
+ catch (e) {
343
+ return errorResult({
344
+ error: e,
345
+ context: { template_id, columns },
346
+ hint: 'On 412 refresh via yootheme_builder_get_etag and retry. The response ' +
347
+ '`column_paths` are valid parents for yootheme_builder_element_add — ' +
348
+ 'drop your content elements into those columns.',
349
+ });
350
+ }
351
+ }
37
352
  // ─── element_update_settings ─────────────────────────────────────────
38
353
  export async function handleElementUpdateSettings({ client }, input, extra) {
39
354
  const { template_id, element_path, props, merge, etag } = input;
355
+ // Wave-7: guard against hand-authored source/source_extended in props.
356
+ // element_path is the only identity we have at this layer; the agent gets
357
+ // a clear message anyway because the offending key is named explicitly.
358
+ const propsRejection = validatePropsForReservedKeys(props, `<at ${element_path}>`);
359
+ if (propsRejection !== null)
360
+ return propsRejection;
40
361
  const encoded = encodeElementPath(element_path);
41
362
  const progress = extra ? createProgressReporter(extra) : null;
42
363
  await progress?.report(0, 2, PHASE_SEND);
@@ -48,7 +369,7 @@ export async function handleElementUpdateSettings({ client }, input, extra) {
48
369
  if (merge === true) {
49
370
  body.merge = true;
50
371
  }
51
- const data = await client.put(`/pages/${encodeURIComponent(template_id)}/elements/${encoded}/settings`, { body, etag });
372
+ const data = await client.put(`/pages/${encodeTemplateId(template_id)}/elements/${encoded}/settings`, { body, etag });
52
373
  await progress?.report(2, 2, PHASE_CONFIRM);
53
374
  return jsonResult(data);
54
375
  }
@@ -69,7 +390,7 @@ export async function handleElementMove({ client }, input, extra) {
69
390
  const progress = extra ? createProgressReporter(extra) : null;
70
391
  await progress?.report(0, 2, PHASE_SEND);
71
392
  try {
72
- const data = await client.post(`/pages/${encodeURIComponent(template_id)}/elements/${encoded}/move`, { body: { to_parent_path, to_index }, etag });
393
+ const data = await client.post(`/pages/${encodeTemplateId(template_id)}/elements/${encoded}/move`, { body: { to_parent_path, to_index }, etag });
73
394
  await progress?.report(2, 2, PHASE_CONFIRM);
74
395
  return jsonResult(data);
75
396
  }
@@ -89,7 +410,7 @@ export async function handleElementClone({ client }, input, extra) {
89
410
  const progress = extra ? createProgressReporter(extra) : null;
90
411
  await progress?.report(0, 2, PHASE_SEND);
91
412
  try {
92
- const data = await client.post(`/pages/${encodeURIComponent(template_id)}/elements/${encoded}/clone`, { etag });
413
+ const data = await client.post(`/pages/${encodeTemplateId(template_id)}/elements/${encoded}/clone`, { etag });
93
414
  await progress?.report(2, 2, PHASE_CONFIRM);
94
415
  return jsonResult(data);
95
416
  }
@@ -105,13 +426,50 @@ export async function handleElementClone({ client }, input, extra) {
105
426
  //
106
427
  // Wave G.4.1 — destructive confirm via MCP elicitation. Progress
107
428
  // reports (Wave G.5) only start AFTER the confirm gate clears.
429
+ // Wave-6 R4 (2026-05-29): Defensive truthiness for the confirm gate.
430
+ // Cold-AI #4 reported the gate kept firing despite `confirm:true`. The Zod
431
+ // schema already coerces only strict booleans (anything non-boolean is
432
+ // rejected upstream as invalid_arguments), but we widen the in-handler
433
+ // check to accept the literal string `"true"` / numeric `1` as a safety net
434
+ // in case a future wrapper round-trips the arg through JSON re-encoding.
435
+ function isConfirmedTrue(v) {
436
+ if (v === true)
437
+ return true;
438
+ if (typeof v === 'string' && v.toLowerCase() === 'true')
439
+ return true;
440
+ if (typeof v === 'number' && v === 1)
441
+ return true;
442
+ return false;
443
+ }
444
+ function isConfirmedFalse(v) {
445
+ if (v === false)
446
+ return true;
447
+ if (typeof v === 'string' && v.toLowerCase() === 'false')
448
+ return true;
449
+ if (typeof v === 'number' && v === 0)
450
+ return true;
451
+ return false;
452
+ }
108
453
  async function resolveDeleteConfirm(elicitation, template_id, element_path, confirm) {
109
- if (confirm === true)
454
+ // Wave-6 R4: explicit truthy check — confirm:true (any form) bypasses
455
+ // the elicitation/preview path immediately.
456
+ if (isConfirmedTrue(confirm))
110
457
  return null;
111
- if (confirm === false || !elicitation) {
458
+ if (isConfirmedFalse(confirm) || !elicitation) {
112
459
  return confirmGuard({
113
460
  operation: 'delete element',
114
- details: { template_id, element_path },
461
+ details: {
462
+ template_id,
463
+ element_path,
464
+ // R4: echo back what was received so the agent can compare.
465
+ // Wave-7 (2026-05-29): force-encode undefined to null so the
466
+ // key survives JSON.stringify in the agent-facing payload.
467
+ // Without this the agent saw NO received_confirm field at all
468
+ // (key dropped by serializer) and could not diff sent vs
469
+ // received — looked like the value was accepted.
470
+ received_confirm: confirm === undefined ? null : confirm,
471
+ expected: 'confirm: true (boolean)',
472
+ },
115
473
  });
116
474
  }
117
475
  const accepted = await elicitConfirmation(elicitation, `Permanently delete element at "${element_path}" in template ` +
@@ -132,7 +490,11 @@ export async function handleElementDelete({ client, elicitation }, input, extra)
132
490
  const progress = extra ? createProgressReporter(extra) : null;
133
491
  await progress?.report(0, 2, PHASE_SEND);
134
492
  try {
135
- const data = await client.delete(`/pages/${encodeURIComponent(template_id)}/elements/${encoded}`, { etag });
493
+ // Wave-12 / Cold-AI #5 F13 (restored Wave-13 post-merge): forward
494
+ // `{confirm:true}` as JSON body so the PHP confirm-guard accepts the
495
+ // delete. Without it the guard returns `requires_confirm:true` and
496
+ // the caller loops forever.
497
+ const data = await client.delete(`/pages/${encodeTemplateId(template_id)}/elements/${encoded}`, { etag, body: { confirm: true } });
136
498
  await progress?.report(2, 2, PHASE_CONFIRM);
137
499
  return jsonResult(data);
138
500
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handlers-write.js","sourceRoot":"","sources":["../../../src/tools/elements/handlers-write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers-write.js","sourceRoot":"","sources":["../../../src/tools/elements/handlers-write.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,8 @@ export declare const ELEMENT_LIST_OUTPUT_SCHEMA: z.ZodObject<{
27
27
  parent_path: z.ZodOptional<z.ZodString>;
28
28
  label: z.ZodOptional<z.ZodString>;
29
29
  has_binding: z.ZodOptional<z.ZodBoolean>;
30
+ source: z.ZodOptional<z.ZodUnknown>;
31
+ binding_summary: z.ZodOptional<z.ZodString>;
30
32
  }, z.core.$loose>>;
31
33
  total: z.ZodNumber;
32
34
  template_id: z.ZodString;
@@ -34,6 +36,7 @@ export declare const ELEMENT_LIST_OUTPUT_SCHEMA: z.ZodObject<{
34
36
  projected_fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
35
37
  available_fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
36
38
  unknown_fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
39
+ projection_warning: z.ZodOptional<z.ZodString>;
37
40
  }, z.core.$strip>;
38
41
  export declare const ELEMENT_GET_OUTPUT_SCHEMA: z.ZodObject<{
39
42
  template_id: z.ZodString;
@@ -42,6 +45,8 @@ export declare const ELEMENT_GET_OUTPUT_SCHEMA: z.ZodObject<{
42
45
  label: z.ZodOptional<z.ZodString>;
43
46
  props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
44
47
  children_count: z.ZodNumber;
48
+ source: z.ZodOptional<z.ZodUnknown>;
49
+ binding_summary: z.ZodOptional<z.ZodString>;
45
50
  }, z.core.$strip>;
46
51
  export interface ElementsHandlerDeps {
47
52
  readonly client: RestClient;
@@ -66,5 +71,5 @@ export declare function handleElementGet({ client }: ElementsHandlerDeps, { temp
66
71
  template_id: string;
67
72
  element_path: string;
68
73
  }): Promise<ToolResult>;
69
- export { handleElementAdd, handleElementClone, handleElementDelete, handleElementMove, handleElementUpdateSettings, } from './handlers-write.js';
74
+ export { handleElementAdd, handleElementClone, handleElementDelete, handleElementMove, handleElementUpdateSettings, handleScaffoldSection, } from './handlers-write.js';
70
75
  //# sourceMappingURL=handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/tools/elements/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAalE,OAAO,EAGH,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAI5B,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;iBA6DrC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;iBAOpC,CAAC;AAIH,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACnD;AAsDD,wBAAsB,iBAAiB,CACnC,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAC/B,EACI,WAAW,EACX,MAAM,EACN,SAAS,EACT,KAAK,EACL,KAAK,EACL,MAAM,GACT,EAAE;IACC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,GACF,OAAO,CAAC,UAAU,CAAC,CAgIrB;AAID,wBAAsB,gBAAgB,CAClC,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAC/B,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC7E,OAAO,CAAC,UAAU,CAAC,CA8CrB;AAGD,OAAO,EACH,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,GAC9B,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/tools/elements/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEvF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAelE,OAAO,EAGH,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAI5B,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;iBAkFrC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;iBAYpC,CAAC;AAIH,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACnD;AAsDD,wBAAsB,iBAAiB,CACnC,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAC/B,EACI,WAAW,EACX,MAAM,EACN,SAAS,EACT,KAAK,EACL,KAAK,EACL,MAAM,GACT,EAAE;IACC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,GACF,OAAO,CAAC,UAAU,CAAC,CA2IrB;AAID,wBAAsB,gBAAgB,CAClC,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAC/B,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC7E,OAAO,CAAC,UAAU,CAAC,CAiFrB;AAGD,OAAO,EACH,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,GACxB,MAAM,qBAAqB,CAAC"}