@wootsup/yt-builder-mcp 1.0.0 → 1.0.1

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 (319) hide show
  1. package/manifest.json +1 -1
  2. package/package.json +1 -1
  3. package/skills/{yootheme-builder → yt-builder-mcp}/SKILL.md +1 -1
  4. package/dist/auth.d.ts +0 -39
  5. package/dist/auth.d.ts.map +0 -1
  6. package/dist/auth.js +0 -93
  7. package/dist/auth.js.map +0 -1
  8. package/dist/client.d.ts +0 -84
  9. package/dist/client.d.ts.map +0 -1
  10. package/dist/client.js +0 -151
  11. package/dist/client.js.map +0 -1
  12. package/dist/clients/claude-code.d.ts +0 -18
  13. package/dist/clients/claude-code.d.ts.map +0 -1
  14. package/dist/clients/claude-code.js +0 -53
  15. package/dist/clients/claude-code.js.map +0 -1
  16. package/dist/clients/claude-desktop.d.ts +0 -19
  17. package/dist/clients/claude-desktop.d.ts.map +0 -1
  18. package/dist/clients/claude-desktop.js +0 -56
  19. package/dist/clients/claude-desktop.js.map +0 -1
  20. package/dist/clients/cline.d.ts +0 -26
  21. package/dist/clients/cline.d.ts.map +0 -1
  22. package/dist/clients/cline.js +0 -80
  23. package/dist/clients/cline.js.map +0 -1
  24. package/dist/clients/codex-cli.d.ts +0 -42
  25. package/dist/clients/codex-cli.d.ts.map +0 -1
  26. package/dist/clients/codex-cli.js +0 -194
  27. package/dist/clients/codex-cli.js.map +0 -1
  28. package/dist/clients/continue.d.ts +0 -13
  29. package/dist/clients/continue.d.ts.map +0 -1
  30. package/dist/clients/continue.js +0 -52
  31. package/dist/clients/continue.js.map +0 -1
  32. package/dist/clients/cursor.d.ts +0 -12
  33. package/dist/clients/cursor.d.ts.map +0 -1
  34. package/dist/clients/cursor.js +0 -38
  35. package/dist/clients/cursor.js.map +0 -1
  36. package/dist/clients/gemini-cli.d.ts +0 -18
  37. package/dist/clients/gemini-cli.d.ts.map +0 -1
  38. package/dist/clients/gemini-cli.js +0 -44
  39. package/dist/clients/gemini-cli.js.map +0 -1
  40. package/dist/clients/home.d.ts +0 -14
  41. package/dist/clients/home.d.ts.map +0 -1
  42. package/dist/clients/home.js +0 -20
  43. package/dist/clients/home.js.map +0 -1
  44. package/dist/clients/index.d.ts +0 -52
  45. package/dist/clients/index.d.ts.map +0 -1
  46. package/dist/clients/index.js +0 -72
  47. package/dist/clients/index.js.map +0 -1
  48. package/dist/clients/roo-code.d.ts +0 -23
  49. package/dist/clients/roo-code.d.ts.map +0 -1
  50. package/dist/clients/roo-code.js +0 -69
  51. package/dist/clients/roo-code.js.map +0 -1
  52. package/dist/clients/zed.d.ts +0 -12
  53. package/dist/clients/zed.d.ts.map +0 -1
  54. package/dist/clients/zed.js +0 -41
  55. package/dist/clients/zed.js.map +0 -1
  56. package/dist/errors/hints.d.ts +0 -51
  57. package/dist/errors/hints.d.ts.map +0 -1
  58. package/dist/errors/hints.js +0 -95
  59. package/dist/errors/hints.js.map +0 -1
  60. package/dist/errors/mask.d.ts +0 -35
  61. package/dist/errors/mask.d.ts.map +0 -1
  62. package/dist/errors/mask.js +0 -49
  63. package/dist/errors/mask.js.map +0 -1
  64. package/dist/errors/sanitize.d.ts +0 -31
  65. package/dist/errors/sanitize.d.ts.map +0 -1
  66. package/dist/errors/sanitize.js +0 -90
  67. package/dist/errors/sanitize.js.map +0 -1
  68. package/dist/errors.d.ts +0 -42
  69. package/dist/errors.d.ts.map +0 -1
  70. package/dist/errors.js +0 -61
  71. package/dist/errors.js.map +0 -1
  72. package/dist/gateway/advanced-tool/discovery.d.ts +0 -19
  73. package/dist/gateway/advanced-tool/discovery.d.ts.map +0 -1
  74. package/dist/gateway/advanced-tool/discovery.js +0 -53
  75. package/dist/gateway/advanced-tool/discovery.js.map +0 -1
  76. package/dist/gateway/advanced-tool/domains.d.ts +0 -47
  77. package/dist/gateway/advanced-tool/domains.d.ts.map +0 -1
  78. package/dist/gateway/advanced-tool/domains.js +0 -94
  79. package/dist/gateway/advanced-tool/domains.js.map +0 -1
  80. package/dist/gateway/advanced-tool/execute.d.ts +0 -29
  81. package/dist/gateway/advanced-tool/execute.d.ts.map +0 -1
  82. package/dist/gateway/advanced-tool/execute.js +0 -54
  83. package/dist/gateway/advanced-tool/execute.js.map +0 -1
  84. package/dist/gateway/advanced-tool/index.d.ts +0 -36
  85. package/dist/gateway/advanced-tool/index.d.ts.map +0 -1
  86. package/dist/gateway/advanced-tool/index.js +0 -39
  87. package/dist/gateway/advanced-tool/index.js.map +0 -1
  88. package/dist/gateway/advanced-tool/register.d.ts +0 -18
  89. package/dist/gateway/advanced-tool/register.d.ts.map +0 -1
  90. package/dist/gateway/advanced-tool/register.js +0 -69
  91. package/dist/gateway/advanced-tool/register.js.map +0 -1
  92. package/dist/gateway/advanced-tool.d.ts +0 -13
  93. package/dist/gateway/advanced-tool.d.ts.map +0 -1
  94. package/dist/gateway/advanced-tool.js +0 -13
  95. package/dist/gateway/advanced-tool.js.map +0 -1
  96. package/dist/gateway/capturing-server.d.ts +0 -117
  97. package/dist/gateway/capturing-server.d.ts.map +0 -1
  98. package/dist/gateway/capturing-server.js +0 -103
  99. package/dist/gateway/capturing-server.js.map +0 -1
  100. package/dist/gateway/essentials.d.ts +0 -49
  101. package/dist/gateway/essentials.d.ts.map +0 -1
  102. package/dist/gateway/essentials.js +0 -79
  103. package/dist/gateway/essentials.js.map +0 -1
  104. package/dist/gateway/test-support.d.ts +0 -41
  105. package/dist/gateway/test-support.d.ts.map +0 -1
  106. package/dist/gateway/test-support.js +0 -60
  107. package/dist/gateway/test-support.js.map +0 -1
  108. package/dist/index.d.ts +0 -25
  109. package/dist/index.d.ts.map +0 -1
  110. package/dist/index.js +0 -77
  111. package/dist/index.js.map +0 -1
  112. package/dist/install-skill.d.ts +0 -35
  113. package/dist/install-skill.d.ts.map +0 -1
  114. package/dist/install-skill.js +0 -107
  115. package/dist/install-skill.js.map +0 -1
  116. package/dist/platform/index.d.ts +0 -49
  117. package/dist/platform/index.d.ts.map +0 -1
  118. package/dist/platform/index.js +0 -38
  119. package/dist/platform/index.js.map +0 -1
  120. package/dist/server.d.ts +0 -50
  121. package/dist/server.d.ts.map +0 -1
  122. package/dist/server.js +0 -153
  123. package/dist/server.js.map +0 -1
  124. package/dist/setup-cli.d.ts +0 -100
  125. package/dist/setup-cli.d.ts.map +0 -1
  126. package/dist/setup-cli.js +0 -355
  127. package/dist/setup-cli.js.map +0 -1
  128. package/dist/setup-prompts.d.ts +0 -41
  129. package/dist/setup-prompts.d.ts.map +0 -1
  130. package/dist/setup-prompts.js +0 -142
  131. package/dist/setup-prompts.js.map +0 -1
  132. package/dist/setup-token.d.ts +0 -38
  133. package/dist/setup-token.d.ts.map +0 -1
  134. package/dist/setup-token.js +0 -106
  135. package/dist/setup-token.js.map +0 -1
  136. package/dist/setup-wizard-defaults.d.ts +0 -43
  137. package/dist/setup-wizard-defaults.d.ts.map +0 -1
  138. package/dist/setup-wizard-defaults.js +0 -160
  139. package/dist/setup-wizard-defaults.js.map +0 -1
  140. package/dist/setup-wizard-handshake.d.ts +0 -25
  141. package/dist/setup-wizard-handshake.d.ts.map +0 -1
  142. package/dist/setup-wizard-handshake.js +0 -103
  143. package/dist/setup-wizard-handshake.js.map +0 -1
  144. package/dist/setup-wizard-types.d.ts +0 -148
  145. package/dist/setup-wizard-types.d.ts.map +0 -1
  146. package/dist/setup-wizard-types.js +0 -11
  147. package/dist/setup-wizard-types.js.map +0 -1
  148. package/dist/setup-wizard.d.ts +0 -33
  149. package/dist/setup-wizard.d.ts.map +0 -1
  150. package/dist/setup-wizard.js +0 -166
  151. package/dist/setup-wizard.js.map +0 -1
  152. package/dist/setup.d.ts +0 -17
  153. package/dist/setup.d.ts.map +0 -1
  154. package/dist/setup.js +0 -33
  155. package/dist/setup.js.map +0 -1
  156. package/dist/skill-loader.d.ts +0 -51
  157. package/dist/skill-loader.d.ts.map +0 -1
  158. package/dist/skill-loader.js +0 -78
  159. package/dist/skill-loader.js.map +0 -1
  160. package/dist/tools/elements/builders.d.ts +0 -24
  161. package/dist/tools/elements/builders.d.ts.map +0 -1
  162. package/dist/tools/elements/builders.js +0 -177
  163. package/dist/tools/elements/builders.js.map +0 -1
  164. package/dist/tools/elements/handlers-write.d.ts +0 -49
  165. package/dist/tools/elements/handlers-write.d.ts.map +0 -1
  166. package/dist/tools/elements/handlers-write.js +0 -148
  167. package/dist/tools/elements/handlers-write.js.map +0 -1
  168. package/dist/tools/elements/handlers.d.ts +0 -61
  169. package/dist/tools/elements/handlers.d.ts.map +0 -1
  170. package/dist/tools/elements/handlers.js +0 -170
  171. package/dist/tools/elements/handlers.js.map +0 -1
  172. package/dist/tools/elements/index.d.ts +0 -28
  173. package/dist/tools/elements/index.d.ts.map +0 -1
  174. package/dist/tools/elements/index.js +0 -27
  175. package/dist/tools/elements/index.js.map +0 -1
  176. package/dist/tools/elements.d.ts +0 -13
  177. package/dist/tools/elements.d.ts.map +0 -1
  178. package/dist/tools/elements.js +0 -13
  179. package/dist/tools/elements.js.map +0 -1
  180. package/dist/tools/elicitation.d.ts +0 -87
  181. package/dist/tools/elicitation.d.ts.map +0 -1
  182. package/dist/tools/elicitation.js +0 -100
  183. package/dist/tools/elicitation.js.map +0 -1
  184. package/dist/tools/format/elements-format.d.ts +0 -40
  185. package/dist/tools/format/elements-format.d.ts.map +0 -1
  186. package/dist/tools/format/elements-format.js +0 -194
  187. package/dist/tools/format/elements-format.js.map +0 -1
  188. package/dist/tools/format/health-format.d.ts +0 -73
  189. package/dist/tools/format/health-format.d.ts.map +0 -1
  190. package/dist/tools/format/health-format.js +0 -178
  191. package/dist/tools/format/health-format.js.map +0 -1
  192. package/dist/tools/format/inspection-format.d.ts +0 -58
  193. package/dist/tools/format/inspection-format.d.ts.map +0 -1
  194. package/dist/tools/format/inspection-format.js +0 -164
  195. package/dist/tools/format/inspection-format.js.map +0 -1
  196. package/dist/tools/format/pages-format.d.ts +0 -42
  197. package/dist/tools/format/pages-format.d.ts.map +0 -1
  198. package/dist/tools/format/pages-format.js +0 -113
  199. package/dist/tools/format/pages-format.js.map +0 -1
  200. package/dist/tools/format/sources-format.d.ts +0 -25
  201. package/dist/tools/format/sources-format.d.ts.map +0 -1
  202. package/dist/tools/format/sources-format.js +0 -208
  203. package/dist/tools/format/sources-format.js.map +0 -1
  204. package/dist/tools/health.d.ts +0 -22
  205. package/dist/tools/health.d.ts.map +0 -1
  206. package/dist/tools/health.js +0 -147
  207. package/dist/tools/health.js.map +0 -1
  208. package/dist/tools/index.d.ts +0 -23
  209. package/dist/tools/index.d.ts.map +0 -1
  210. package/dist/tools/index.js +0 -25
  211. package/dist/tools/index.js.map +0 -1
  212. package/dist/tools/inspection.d.ts +0 -14
  213. package/dist/tools/inspection.d.ts.map +0 -1
  214. package/dist/tools/inspection.js +0 -125
  215. package/dist/tools/inspection.js.map +0 -1
  216. package/dist/tools/layout-flatten.d.ts +0 -75
  217. package/dist/tools/layout-flatten.d.ts.map +0 -1
  218. package/dist/tools/layout-flatten.js +0 -107
  219. package/dist/tools/layout-flatten.js.map +0 -1
  220. package/dist/tools/multi-items/builders.d.ts +0 -23
  221. package/dist/tools/multi-items/builders.d.ts.map +0 -1
  222. package/dist/tools/multi-items/builders.js +0 -56
  223. package/dist/tools/multi-items/builders.js.map +0 -1
  224. package/dist/tools/multi-items/clean-implode-handler.d.ts +0 -28
  225. package/dist/tools/multi-items/clean-implode-handler.d.ts.map +0 -1
  226. package/dist/tools/multi-items/clean-implode-handler.js +0 -40
  227. package/dist/tools/multi-items/clean-implode-handler.js.map +0 -1
  228. package/dist/tools/multi-items/index.d.ts +0 -18
  229. package/dist/tools/multi-items/index.d.ts.map +0 -1
  230. package/dist/tools/multi-items/index.js +0 -18
  231. package/dist/tools/multi-items/index.js.map +0 -1
  232. package/dist/tools/multi-items/inspect-handler.d.ts +0 -41
  233. package/dist/tools/multi-items/inspect-handler.d.ts.map +0 -1
  234. package/dist/tools/multi-items/inspect-handler.js +0 -50
  235. package/dist/tools/multi-items/inspect-handler.js.map +0 -1
  236. package/dist/tools/multi-items/item-container-map.d.ts +0 -41
  237. package/dist/tools/multi-items/item-container-map.d.ts.map +0 -1
  238. package/dist/tools/multi-items/item-container-map.js +0 -73
  239. package/dist/tools/multi-items/item-container-map.js.map +0 -1
  240. package/dist/tools/pages/builders.d.ts +0 -14
  241. package/dist/tools/pages/builders.d.ts.map +0 -1
  242. package/dist/tools/pages/builders.js +0 -115
  243. package/dist/tools/pages/builders.js.map +0 -1
  244. package/dist/tools/pages/handlers-read.d.ts +0 -33
  245. package/dist/tools/pages/handlers-read.d.ts.map +0 -1
  246. package/dist/tools/pages/handlers-read.js +0 -161
  247. package/dist/tools/pages/handlers-read.js.map +0 -1
  248. package/dist/tools/pages/handlers-write.d.ts +0 -21
  249. package/dist/tools/pages/handlers-write.d.ts.map +0 -1
  250. package/dist/tools/pages/handlers-write.js +0 -52
  251. package/dist/tools/pages/handlers-write.js.map +0 -1
  252. package/dist/tools/pages/index.d.ts +0 -17
  253. package/dist/tools/pages/index.d.ts.map +0 -1
  254. package/dist/tools/pages/index.js +0 -17
  255. package/dist/tools/pages/index.js.map +0 -1
  256. package/dist/tools/pages/schemas.d.ts +0 -30
  257. package/dist/tools/pages/schemas.d.ts.map +0 -1
  258. package/dist/tools/pages/schemas.js +0 -30
  259. package/dist/tools/pages/schemas.js.map +0 -1
  260. package/dist/tools/pages.d.ts +0 -13
  261. package/dist/tools/pages.d.ts.map +0 -1
  262. package/dist/tools/pages.js +0 -13
  263. package/dist/tools/pages.js.map +0 -1
  264. package/dist/tools/progress-phases.d.ts +0 -46
  265. package/dist/tools/progress-phases.d.ts.map +0 -1
  266. package/dist/tools/progress-phases.js +0 -48
  267. package/dist/tools/progress-phases.js.map +0 -1
  268. package/dist/tools/shared-schemas.d.ts +0 -15
  269. package/dist/tools/shared-schemas.d.ts.map +0 -1
  270. package/dist/tools/shared-schemas.js +0 -30
  271. package/dist/tools/shared-schemas.js.map +0 -1
  272. package/dist/tools/sources/builders.d.ts +0 -13
  273. package/dist/tools/sources/builders.d.ts.map +0 -1
  274. package/dist/tools/sources/builders.js +0 -103
  275. package/dist/tools/sources/builders.js.map +0 -1
  276. package/dist/tools/sources/handlers-bind.d.ts +0 -28
  277. package/dist/tools/sources/handlers-bind.d.ts.map +0 -1
  278. package/dist/tools/sources/handlers-bind.js +0 -129
  279. package/dist/tools/sources/handlers-bind.js.map +0 -1
  280. package/dist/tools/sources/handlers.d.ts +0 -45
  281. package/dist/tools/sources/handlers.d.ts.map +0 -1
  282. package/dist/tools/sources/handlers.js +0 -91
  283. package/dist/tools/sources/handlers.js.map +0 -1
  284. package/dist/tools/sources/index.d.ts +0 -19
  285. package/dist/tools/sources/index.d.ts.map +0 -1
  286. package/dist/tools/sources/index.js +0 -18
  287. package/dist/tools/sources/index.js.map +0 -1
  288. package/dist/tools/sources.d.ts +0 -14
  289. package/dist/tools/sources.d.ts.map +0 -1
  290. package/dist/tools/sources.js +0 -14
  291. package/dist/tools/sources.js.map +0 -1
  292. package/dist/tools/sparse-fields.d.ts +0 -80
  293. package/dist/tools/sparse-fields.d.ts.map +0 -1
  294. package/dist/tools/sparse-fields.js +0 -144
  295. package/dist/tools/sparse-fields.js.map +0 -1
  296. package/dist/tools/tool-builder/annotations.d.ts +0 -55
  297. package/dist/tools/tool-builder/annotations.d.ts.map +0 -1
  298. package/dist/tools/tool-builder/annotations.js +0 -86
  299. package/dist/tools/tool-builder/annotations.js.map +0 -1
  300. package/dist/tools/tool-builder/define.d.ts +0 -31
  301. package/dist/tools/tool-builder/define.d.ts.map +0 -1
  302. package/dist/tools/tool-builder/define.js +0 -31
  303. package/dist/tools/tool-builder/define.js.map +0 -1
  304. package/dist/tools/tool-builder/index.d.ts +0 -28
  305. package/dist/tools/tool-builder/index.d.ts.map +0 -1
  306. package/dist/tools/tool-builder/index.js +0 -27
  307. package/dist/tools/tool-builder/index.js.map +0 -1
  308. package/dist/tools/tool-builder/results.d.ts +0 -59
  309. package/dist/tools/tool-builder/results.d.ts.map +0 -1
  310. package/dist/tools/tool-builder/results.js +0 -125
  311. package/dist/tools/tool-builder/results.js.map +0 -1
  312. package/dist/tools/tool-builder/types.d.ts +0 -82
  313. package/dist/tools/tool-builder/types.d.ts.map +0 -1
  314. package/dist/tools/tool-builder/types.js +0 -9
  315. package/dist/tools/tool-builder/types.js.map +0 -1
  316. package/dist/tools/tool-builder.d.ts +0 -16
  317. package/dist/tools/tool-builder.d.ts.map +0 -1
  318. package/dist/tools/tool-builder.js +0 -16
  319. package/dist/tools/tool-builder.js.map +0 -1
@@ -1,56 +0,0 @@
1
- /**
2
- * Multi-Items tool builders.
3
- *
4
- * Surfaces two tools that operate on the YT-Pro Multi-Items binding
5
- * pattern (container ↔ `*_item` pairings — see
6
- * `./item-container-map.ts`):
7
- *
8
- * yootheme_builder_inspect_multi_items_binding
9
- * → Reports the binding level (none/container/item), the matching
10
- * container/item pair, and whether legacy implode directives are
11
- * attached. Surfaces a `recommended_fix` when the binding sits on
12
- * the container level.
13
- *
14
- * yootheme_builder_clean_implode_directives
15
- * → Removes every `props.source.props.*.implode` directive from
16
- * the addressed element. Returns the audit log + new etag.
17
- *
18
- * @license MIT
19
- */
20
- import { ELEMENT_PATH, ETAG, TEMPLATE_ID } from '../shared-schemas.js';
21
- import { defineTool, mutating, readOnly, } from '../tool-builder.js';
22
- import { CLEAN_IMPLODE_OUTPUT_SCHEMA, handleCleanImplodeDirectives, } from './clean-implode-handler.js';
23
- import { INSPECT_MULTI_ITEMS_OUTPUT_SCHEMA, handleInspectMultiItemsBinding, } from './inspect-handler.js';
24
- export function buildMultiItemsTools(client) {
25
- const deps = { client };
26
- return [
27
- defineTool({
28
- name: 'yootheme_builder_inspect_multi_items_binding',
29
- description: 'Reports Multi-Items binding state: container/item pair (grid↔grid_item, ' +
30
- 'slideshow↔slideshow_item, …), current binding level (none|container|item), ' +
31
- 'and a recommended_fix when the binding sits on the container instead of the child.',
32
- inputSchema: {
33
- template_id: TEMPLATE_ID,
34
- element_path: ELEMENT_PATH,
35
- },
36
- outputSchema: INSPECT_MULTI_ITEMS_OUTPUT_SCHEMA,
37
- annotations: readOnly('Inspect Multi-Items Binding'),
38
- handler: (input) => handleInspectMultiItemsBinding(deps, input),
39
- }),
40
- defineTool({
41
- name: 'yootheme_builder_clean_implode_directives',
42
- description: 'Strips `props.source.props.*.implode` directives from an element binding. ' +
43
- 'Returns audit log + new ETag. Idempotent (cleaned_count: 0 when nothing to ' +
44
- 'remove). Requires ETag.',
45
- inputSchema: {
46
- template_id: TEMPLATE_ID,
47
- element_path: ELEMENT_PATH,
48
- etag: ETAG,
49
- },
50
- outputSchema: CLEAN_IMPLODE_OUTPUT_SCHEMA,
51
- annotations: mutating('Clean Implode Directives'),
52
- handler: (input) => handleCleanImplodeDirectives(deps, input),
53
- }),
54
- ];
55
- }
56
- //# sourceMappingURL=builders.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/tools/multi-items/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACH,UAAU,EACV,QAAQ,EACR,QAAQ,GAEX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,iCAAiC,EACjC,8BAA8B,GAEjC,MAAM,sBAAsB,CAAC;AAE9B,MAAM,UAAU,oBAAoB,CAAC,MAAkB;IACnD,MAAM,IAAI,GAA0B,EAAE,MAAM,EAAE,CAAC;IAE/C,OAAO;QACH,UAAU,CAAC;YACP,IAAI,EAAE,8CAA8C;YACpD,WAAW,EACP,0EAA0E;gBAC1E,6EAA6E;gBAC7E,oFAAoF;YACxF,WAAW,EAAE;gBACT,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,YAAY;aAC7B;YACD,YAAY,EAAE,iCAAiC;YAC/C,WAAW,EAAE,QAAQ,CAAC,6BAA6B,CAAC;YACpD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,8BAA8B,CAAC,IAAI,EAAE,KAAK,CAAC;SAClE,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,2CAA2C;YACjD,WAAW,EACP,4EAA4E;gBAC5E,6EAA6E;gBAC7E,yBAAyB;YAC7B,WAAW,EAAE;gBACT,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,YAAY;gBAC1B,IAAI,EAAE,IAAI;aACb;YACD,YAAY,EAAE,2BAA2B;YACzC,WAAW,EAAE,QAAQ,CAAC,0BAA0B,CAAC;YACjD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,4BAA4B,CAAC,IAAI,EAAE,KAAK,CAAC;SAChE,CAAC;KACL,CAAC;AACN,CAAC"}
@@ -1,28 +0,0 @@
1
- /**
2
- * `clean_implode_directives` handler — strip `props.source.props.*.implode`
3
- * directives from an element binding via REST round-trip.
4
- *
5
- * @license MIT
6
- */
7
- import { z } from 'zod';
8
- import { type RestClient } from '../../client.js';
9
- import { type ToolResult } from '../tool-builder.js';
10
- export declare const CLEAN_IMPLODE_OUTPUT_SCHEMA: z.ZodObject<{
11
- template_id: z.ZodString;
12
- element_path: z.ZodString;
13
- cleaned_count: z.ZodNumber;
14
- removed_directives: z.ZodArray<z.ZodObject<{
15
- prop_name: z.ZodString;
16
- directive: z.ZodRecord<z.ZodString, z.ZodUnknown>;
17
- }, z.core.$strip>>;
18
- new_etag: z.ZodString;
19
- }, z.core.$strip>;
20
- export interface CleanImplodeHandlerDeps {
21
- readonly client: RestClient;
22
- }
23
- export declare function handleCleanImplodeDirectives({ client }: CleanImplodeHandlerDeps, { template_id, element_path, etag, }: {
24
- template_id: string;
25
- element_path: string;
26
- etag: string;
27
- }): Promise<ToolResult>;
28
- //# sourceMappingURL=clean-implode-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clean-implode-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/clean-implode-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAA6C,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhG,eAAO,MAAM,2BAA2B;;;;;;;;;iBAWtC,CAAC;AAEH,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC/B;AAED,wBAAsB,4BAA4B,CAC9C,EAAE,MAAM,EAAE,EAAE,uBAAuB,EACnC,EACI,WAAW,EACX,YAAY,EACZ,IAAI,GACP,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/D,OAAO,CAAC,UAAU,CAAC,CAsBrB"}
@@ -1,40 +0,0 @@
1
- /**
2
- * `clean_implode_directives` handler — strip `props.source.props.*.implode`
3
- * directives from an element binding via REST round-trip.
4
- *
5
- * @license MIT
6
- */
7
- import { z } from 'zod';
8
- import { encodeElementPath } from '../../client.js';
9
- import { errorResult, jsonResult, structuredResult } from '../tool-builder.js';
10
- export const CLEAN_IMPLODE_OUTPUT_SCHEMA = z.object({
11
- template_id: z.string(),
12
- element_path: z.string(),
13
- cleaned_count: z.number(),
14
- removed_directives: z.array(z.object({
15
- prop_name: z.string(),
16
- directive: z.record(z.string(), z.unknown()),
17
- })),
18
- new_etag: z.string(),
19
- });
20
- export async function handleCleanImplodeDirectives({ client }, { template_id, element_path, etag, }) {
21
- const encoded = encodeElementPath(element_path);
22
- try {
23
- const data = await client.post(`/pages/${encodeURIComponent(template_id)}/elements/${encoded}/multi-items/clean-implode`, { body: {}, etag });
24
- // The REST endpoint returns the canonical CLEAN_IMPLODE_OUTPUT_SCHEMA
25
- // shape ({template_id, element_path, cleaned_count, removed_directives,
26
- // new_etag}) — pass it through as structuredContent so the declared
27
- // outputSchema is satisfied (a tool with an outputSchema MUST emit
28
- // structuredContent, else the MCP SDK rejects with -32602).
29
- return structuredResult(jsonResult(data), data);
30
- }
31
- catch (e) {
32
- return errorResult({
33
- error: e,
34
- context: { template_id, element_path },
35
- hint: 'On 412 refresh via yootheme_builder_get_etag and retry. On 404 verify the ' +
36
- 'element_path via yootheme_builder_element_list.',
37
- });
38
- }
39
- }
40
- //# sourceMappingURL=clean-implode-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clean-implode-handler.js","sourceRoot":"","sources":["../../../src/tools/multi-items/clean-implode-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAmB,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAmB,MAAM,oBAAoB,CAAC;AAEhG,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,kBAAkB,EAAE,CAAC,CAAC,KAAK,CACvB,CAAC,CAAC,MAAM,CAAC;QACL,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;KAC/C,CAAC,CACL;IACD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAMH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAC9C,EAAE,MAAM,EAA2B,EACnC,EACI,WAAW,EACX,YAAY,EACZ,IAAI,GACsD;IAE9D,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAChD,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAC1B,UAAU,kBAAkB,CAAC,WAAW,CAAC,aAAa,OAAO,4BAA4B,EACzF,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CACrB,CAAC;QACF,sEAAsE;QACtE,wEAAwE;QACxE,oEAAoE;QACpE,mEAAmE;QACnE,4DAA4D;QAC5D,OAAO,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,WAAW,CAAC;YACf,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;YACtC,IAAI,EACA,4EAA4E;gBAC5E,iDAAiD;SACxD,CAAC,CAAC;IACP,CAAC;AACL,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Multi-Items tool barrel — public entry-point for the YT-Pro
3
- * Multi-Items binding pattern tools.
4
- *
5
- * yootheme_builder_inspect_multi_items_binding
6
- * → Report the Multi-Items binding state for an element.
7
- *
8
- * yootheme_builder_clean_implode_directives
9
- * → Remove legacy implode directives from an element binding.
10
- *
11
- * The canonical container ↔ item map lives in `./item-container-map.ts`
12
- * (mirror of `WootsUp\BuilderMcp\Elements\ItemContainerMap`).
13
- *
14
- * @license MIT
15
- */
16
- export { buildMultiItemsTools } from './builders.js';
17
- export { ITEM_CHILDREN_OF_CONTAINER, containerOf, isContainer, isItem, itemOf, } from './item-container-map.js';
18
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACH,0BAA0B,EAC1B,WAAW,EACX,WAAW,EACX,MAAM,EACN,MAAM,GACT,MAAM,yBAAyB,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Multi-Items tool barrel — public entry-point for the YT-Pro
3
- * Multi-Items binding pattern tools.
4
- *
5
- * yootheme_builder_inspect_multi_items_binding
6
- * → Report the Multi-Items binding state for an element.
7
- *
8
- * yootheme_builder_clean_implode_directives
9
- * → Remove legacy implode directives from an element binding.
10
- *
11
- * The canonical container ↔ item map lives in `./item-container-map.ts`
12
- * (mirror of `WootsUp\BuilderMcp\Elements\ItemContainerMap`).
13
- *
14
- * @license MIT
15
- */
16
- export { buildMultiItemsTools } from './builders.js';
17
- export { ITEM_CHILDREN_OF_CONTAINER, containerOf, isContainer, isItem, itemOf, } from './item-container-map.js';
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/multi-items/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACH,0BAA0B,EAC1B,WAAW,EACX,WAAW,EACX,MAAM,EACN,MAAM,GACT,MAAM,yBAAyB,CAAC"}
@@ -1,41 +0,0 @@
1
- /**
2
- * `inspect_multi_items_binding` handler — surfaces Multi-Items binding
3
- * state on an element via REST round-trip.
4
- *
5
- * Companion of the PHP `MultiItemsInspector` — see
6
- * src/modules/builder-source-binding/src/MultiItemsInspector.php
7
- * for the report shape.
8
- *
9
- * @license MIT
10
- */
11
- import { z } from 'zod';
12
- import { type RestClient } from '../../client.js';
13
- import { type ToolResult } from '../tool-builder.js';
14
- export declare const INSPECT_MULTI_ITEMS_OUTPUT_SCHEMA: z.ZodObject<{
15
- template_id: z.ZodString;
16
- report: z.ZodObject<{
17
- element_path: z.ZodString;
18
- element_type: z.ZodString;
19
- is_container: z.ZodBoolean;
20
- is_item: z.ZodBoolean;
21
- container_type: z.ZodNullable<z.ZodString>;
22
- item_type: z.ZodNullable<z.ZodString>;
23
- current_binding_level: z.ZodEnum<{
24
- none: "none";
25
- container: "container";
26
- item: "item";
27
- }>;
28
- has_implode_directives: z.ZodBoolean;
29
- warning: z.ZodOptional<z.ZodString>;
30
- recommended_fix: z.ZodOptional<z.ZodString>;
31
- }, z.core.$strip>;
32
- etag: z.ZodString;
33
- }, z.core.$strip>;
34
- export interface MultiItemsHandlerDeps {
35
- readonly client: RestClient;
36
- }
37
- export declare function handleInspectMultiItemsBinding({ client }: MultiItemsHandlerDeps, { template_id, element_path }: {
38
- template_id: string;
39
- element_path: string;
40
- }): Promise<ToolResult>;
41
- //# sourceMappingURL=inspect-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inspect-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/inspect-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAA6C,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhG,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;iBAe5C,CAAC;AAEH,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC/B;AAED,wBAAsB,8BAA8B,CAChD,EAAE,MAAM,EAAE,EAAE,qBAAqB,EACjC,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC7E,OAAO,CAAC,UAAU,CAAC,CAqBrB"}
@@ -1,50 +0,0 @@
1
- /**
2
- * `inspect_multi_items_binding` handler — surfaces Multi-Items binding
3
- * state on an element via REST round-trip.
4
- *
5
- * Companion of the PHP `MultiItemsInspector` — see
6
- * src/modules/builder-source-binding/src/MultiItemsInspector.php
7
- * for the report shape.
8
- *
9
- * @license MIT
10
- */
11
- import { z } from 'zod';
12
- import { encodeElementPath } from '../../client.js';
13
- import { errorResult, jsonResult, structuredResult } from '../tool-builder.js';
14
- export const INSPECT_MULTI_ITEMS_OUTPUT_SCHEMA = z.object({
15
- template_id: z.string(),
16
- report: z.object({
17
- element_path: z.string(),
18
- element_type: z.string(),
19
- is_container: z.boolean(),
20
- is_item: z.boolean(),
21
- container_type: z.string().nullable(),
22
- item_type: z.string().nullable(),
23
- current_binding_level: z.enum(['none', 'container', 'item']),
24
- has_implode_directives: z.boolean(),
25
- warning: z.string().optional(),
26
- recommended_fix: z.string().optional(),
27
- }),
28
- etag: z.string(),
29
- });
30
- export async function handleInspectMultiItemsBinding({ client }, { template_id, element_path }) {
31
- const encoded = encodeElementPath(element_path);
32
- try {
33
- const data = await client.get(`/pages/${encodeURIComponent(template_id)}/elements/${encoded}/multi-items/inspect`);
34
- // The REST endpoint already returns the canonical
35
- // {template_id, report, etag} shape — pass it through as
36
- // structuredContent so the declared outputSchema is satisfied
37
- // (a tool with an outputSchema MUST emit structuredContent, else
38
- // the MCP SDK rejects the call with -32602).
39
- return structuredResult(jsonResult(data), data);
40
- }
41
- catch (e) {
42
- return errorResult({
43
- error: e,
44
- context: { template_id, element_path },
45
- hint: 'Verify element_path via yootheme_builder_element_list. Paths are JSON-Pointer ' +
46
- 'style ("/templates/<id>/layout/children/0").',
47
- });
48
- }
49
- }
50
- //# sourceMappingURL=inspect-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inspect-handler.js","sourceRoot":"","sources":["../../../src/tools/multi-items/inspect-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAmB,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAmB,MAAM,oBAAoB,CAAC;AAEhG,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;QACzB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACpB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5D,sBAAsB,EAAE,CAAC,CAAC,OAAO,EAAE;QACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACzC,CAAC;IACF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAMH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAChD,EAAE,MAAM,EAAyB,EACjC,EAAE,WAAW,EAAE,YAAY,EAAiD;IAE5E,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAChD,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CACzB,UAAU,kBAAkB,CAAC,WAAW,CAAC,aAAa,OAAO,sBAAsB,CACtF,CAAC;QACF,kDAAkD;QAClD,yDAAyD;QACzD,8DAA8D;QAC9D,iEAAiE;QACjE,6CAA6C;QAC7C,OAAO,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,WAAW,CAAC;YACf,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;YACtC,IAAI,EACA,gFAAgF;gBAChF,8CAA8C;SACrD,CAAC,CAAC;IACP,CAAC;AACL,CAAC"}
@@ -1,41 +0,0 @@
1
- /**
2
- * Multi-Items pattern — TypeScript mirror of the PHP
3
- * `WootsUp\BuilderMcp\Elements\ItemContainerMap` constant.
4
- *
5
- * YT-Pro 4.5.33+ implements `SourceTransform::repeatSource` which
6
- * clones the *source-bearing element* N-times as siblings inside its
7
- * parent. For "1 container with N children" the binding MUST live on
8
- * the `*_item` child element, NEVER on the container.
9
- *
10
- * The PHP and TS maps MUST stay in lock-step — both files carry a
11
- * pin-test that fails if the canonical pairings drift.
12
- *
13
- * @license MIT
14
- */
15
- /**
16
- * Live-verified against `themes/yootheme/packages/builder/elements/
17
- * *_item/` on YT-Pro 4.5.33 (dev server, 2026-05-22). 16 pairs total.
18
- *
19
- * NB: There is NO `slider` / `slider_item` pair on YT-Pro 4.5.33 — the
20
- * YT slider/carousel widgets render via `slideshow`, `overlay-slider`,
21
- * and `panel-slider`.
22
- */
23
- export declare const ITEM_CHILDREN_OF_CONTAINER: Readonly<Record<string, string>>;
24
- /**
25
- * Surface the `*_item` child type for a known container, or null when
26
- * the input is not a known multi-item container.
27
- */
28
- export declare function itemOf(containerType: string): string | null;
29
- /**
30
- * Surface the container type for a known `*_item`, or null otherwise.
31
- */
32
- export declare function containerOf(itemType: string): string | null;
33
- /**
34
- * `true` when $type is one of the multi-item-capable containers.
35
- */
36
- export declare function isContainer(type: string): boolean;
37
- /**
38
- * `true` when $type is a `*_item` child of a multi-item container.
39
- */
40
- export declare function isItem(type: string): boolean;
41
- //# sourceMappingURL=item-container-map.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"item-container-map.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/item-container-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiBtE,CAAC;AAEH;;;GAGG;AACH,wBAAgB,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI3D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO3D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5C"}
@@ -1,73 +0,0 @@
1
- /**
2
- * Multi-Items pattern — TypeScript mirror of the PHP
3
- * `WootsUp\BuilderMcp\Elements\ItemContainerMap` constant.
4
- *
5
- * YT-Pro 4.5.33+ implements `SourceTransform::repeatSource` which
6
- * clones the *source-bearing element* N-times as siblings inside its
7
- * parent. For "1 container with N children" the binding MUST live on
8
- * the `*_item` child element, NEVER on the container.
9
- *
10
- * The PHP and TS maps MUST stay in lock-step — both files carry a
11
- * pin-test that fails if the canonical pairings drift.
12
- *
13
- * @license MIT
14
- */
15
- /**
16
- * Live-verified against `themes/yootheme/packages/builder/elements/
17
- * *_item/` on YT-Pro 4.5.33 (dev server, 2026-05-22). 16 pairs total.
18
- *
19
- * NB: There is NO `slider` / `slider_item` pair on YT-Pro 4.5.33 — the
20
- * YT slider/carousel widgets render via `slideshow`, `overlay-slider`,
21
- * and `panel-slider`.
22
- */
23
- export const ITEM_CHILDREN_OF_CONTAINER = Object.freeze({
24
- accordion: 'accordion_item',
25
- button: 'button_item',
26
- description_list: 'description_list_item',
27
- gallery: 'gallery_item',
28
- grid: 'grid_item',
29
- list: 'list_item',
30
- map: 'map_item',
31
- nav: 'nav_item',
32
- 'overlay-slider': 'overlay-slider_item',
33
- 'panel-slider': 'panel-slider_item',
34
- popover: 'popover_item',
35
- slideshow: 'slideshow_item',
36
- social: 'social_item',
37
- subnav: 'subnav_item',
38
- switcher: 'switcher_item',
39
- table: 'table_item',
40
- });
41
- /**
42
- * Surface the `*_item` child type for a known container, or null when
43
- * the input is not a known multi-item container.
44
- */
45
- export function itemOf(containerType) {
46
- return Object.prototype.hasOwnProperty.call(ITEM_CHILDREN_OF_CONTAINER, containerType)
47
- ? ITEM_CHILDREN_OF_CONTAINER[containerType]
48
- : null;
49
- }
50
- /**
51
- * Surface the container type for a known `*_item`, or null otherwise.
52
- */
53
- export function containerOf(itemType) {
54
- for (const [container, item] of Object.entries(ITEM_CHILDREN_OF_CONTAINER)) {
55
- if (item === itemType) {
56
- return container;
57
- }
58
- }
59
- return null;
60
- }
61
- /**
62
- * `true` when $type is one of the multi-item-capable containers.
63
- */
64
- export function isContainer(type) {
65
- return Object.prototype.hasOwnProperty.call(ITEM_CHILDREN_OF_CONTAINER, type);
66
- }
67
- /**
68
- * `true` when $type is a `*_item` child of a multi-item container.
69
- */
70
- export function isItem(type) {
71
- return Object.values(ITEM_CHILDREN_OF_CONTAINER).includes(type);
72
- }
73
- //# sourceMappingURL=item-container-map.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"item-container-map.js","sourceRoot":"","sources":["../../../src/tools/multi-items/item-container-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,MAAM,CAAC,MAAM,CAAC;IACtF,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,aAAa;IACrB,gBAAgB,EAAE,uBAAuB;IACzC,OAAO,EAAE,cAAc;IACvB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,WAAW;IACjB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,UAAU;IACf,gBAAgB,EAAE,qBAAqB;IACvC,cAAc,EAAE,mBAAmB;IACnC,OAAO,EAAE,cAAc;IACvB,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,aAAa;IACrB,QAAQ,EAAE,eAAe;IACzB,KAAK,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,aAAqB;IACxC,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,0BAA0B,EAAE,aAAa,CAAC;QAClF,CAAC,CAAE,0BAA0B,CAAC,aAAa,CAAY;QACvD,CAAC,CAAC,IAAI,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB;IACxC,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC;QACzE,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACpC,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;AAClF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY;IAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Page-tool builders — pure `defineTool` factory list.
3
- *
4
- * Split out of `src/tools/pages.ts` (Round-2 R2-A2-CRIT1). Handler
5
- * bodies live in `./handlers-read.ts` (pages_list, page_get_layout,
6
- * page_get_schema, get_etag) and `./handlers-write.ts` (page_save,
7
- * page_publish — 3-phase progress contract).
8
- *
9
- * @license MIT
10
- */
11
- import type { RestClient } from '../../client.js';
12
- import { type AnyToolDefinition } from '../tool-builder.js';
13
- export declare function buildPagesTools(client: RestClient): readonly AnyToolDefinition[];
14
- //# sourceMappingURL=builders.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/tools/pages/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EAIH,KAAK,iBAAiB,EACzB,MAAM,oBAAoB,CAAC;AA6B5B,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,iBAAiB,EAAE,CAkGhF"}
@@ -1,115 +0,0 @@
1
- /**
2
- * Page-tool builders — pure `defineTool` factory list.
3
- *
4
- * Split out of `src/tools/pages.ts` (Round-2 R2-A2-CRIT1). Handler
5
- * bodies live in `./handlers-read.ts` (pages_list, page_get_layout,
6
- * page_get_schema, get_etag) and `./handlers-write.ts` (page_save,
7
- * page_publish — 3-phase progress contract).
8
- *
9
- * @license MIT
10
- */
11
- import { z } from 'zod';
12
- import { TEMPLATE_ID } from '../shared-schemas.js';
13
- import { FIELDS, FLAT } from '../sparse-fields.js';
14
- import { defineTool, mutating, readOnly, } from '../tool-builder.js';
15
- import { handleGetEtag, handlePageGetLayout, handlePageGetSchema, handlePagesList, handleTemplateSummary, } from './handlers-read.js';
16
- import { handlePagePublish, handlePageSave } from './handlers-write.js';
17
- import { ETAG_OUTPUT_SCHEMA, PAGES_LIST_OUTPUT_SCHEMA, SCHEMA_OUTPUT_SCHEMA, } from './schemas.js';
18
- // F-14: page-level save/publish accept OPTIONAL ETag (no precondition lock
19
- // at template level — element/binding mutations REQUIRE one via the strict
20
- // ETAG in shared-schemas.ts). Schema and description now agree: optional
21
- // here, recommended for safety. When provided, 412 Precondition Failed is
22
- // raised on stale snapshots; when omitted, the save proceeds unconditionally.
23
- const ETAG = z
24
- .string()
25
- .optional()
26
- .describe('Optimistic-lock ETag (from yootheme_builder_get_etag). ' +
27
- 'Optional; when provided, optimistic-lock is enforced (412 on conflict). ' +
28
- 'When omitted, last-write-wins applies. Recommended for collaborative edits.');
29
- export function buildPagesTools(client) {
30
- return [
31
- defineTool({
32
- name: 'yootheme_builder_pages_list',
33
- description: 'List all YOOtheme templates ("pages") on the site. Returns id, label and ' +
34
- 'usage metadata for each. Use this first to discover template IDs. ' +
35
- 'Pass `fields:["id","label"]` to project per-item to a smaller shape.',
36
- inputSchema: { fields: FIELDS },
37
- outputSchema: PAGES_LIST_OUTPUT_SCHEMA,
38
- annotations: readOnly('List Pages'),
39
- handler: (input) => handlePagesList(client, input),
40
- }),
41
- defineTool({
42
- name: 'yootheme_builder_page_get_layout',
43
- description: 'Get full layout tree for one template. Default nested `{layout, ' +
44
- 'etag}`. Set `flat:true` for depth-first array `{elements:[...], ' +
45
- 'etag}`; combine with `fields[]` to project per-element.',
46
- inputSchema: {
47
- template_id: TEMPLATE_ID,
48
- flat: FLAT,
49
- fields: FIELDS,
50
- },
51
- // No outputSchema: the response shape is a union (nested OR flat with
52
- // optional projection) and the JSON-Pointer-keyed nested shape is
53
- // structurally open-ended — modelling it precisely buys nothing here.
54
- annotations: readOnly('Get Page Layout'),
55
- handler: (input) => handlePageGetLayout(client, input),
56
- }),
57
- defineTool({
58
- name: 'yootheme_builder_page_get_schema',
59
- description: 'Get the flat schema for a template — a list of nodes with their JSON-Pointer ' +
60
- 'paths and element types. Best entry-point for navigation: lighter than ' +
61
- 'page_get_layout, sufficient to locate elements before editing.',
62
- inputSchema: { template_id: TEMPLATE_ID },
63
- outputSchema: SCHEMA_OUTPUT_SCHEMA,
64
- annotations: readOnly('Get Page Schema'),
65
- handler: (input) => handlePageGetSchema(client, input),
66
- }),
67
- defineTool({
68
- name: 'yootheme_builder_get_etag',
69
- description: 'Get the current top-level state ETag. Pass this back via the `etag` parameter ' +
70
- 'on any write tool to prevent overwriting concurrent edits.',
71
- inputSchema: {},
72
- outputSchema: ETAG_OUTPUT_SCHEMA,
73
- annotations: readOnly('Get ETag'),
74
- handler: () => handleGetEtag(client),
75
- }),
76
- defineTool({
77
- name: 'yootheme_builder_template_summary',
78
- description: 'Token-efficient template overview: element counts by type, binding ' +
79
- 'count, max nesting depth, and named landmark sections — computed ' +
80
- 'server-side in one call. Use this to grasp a large template before ' +
81
- 'pulling element_list or page_get_layout.',
82
- inputSchema: { template_id: TEMPLATE_ID },
83
- annotations: readOnly('Template Summary'),
84
- handler: (input) => handleTemplateSummary(client, input),
85
- }),
86
- defineTool({
87
- name: 'yootheme_builder_page_save',
88
- description: 'Re-run save-transforms and persist. ETag optional — when provided, 412 on ' +
89
- 'conflict; when omitted, last-write-wins. Recommended for collaborative edits. ' +
90
- 'No-op when state is byte-identical (returns `no_changes:true`, ETag unchanged).',
91
- inputSchema: {
92
- template_id: TEMPLATE_ID,
93
- etag: ETAG,
94
- },
95
- annotations: mutating('Save Page'),
96
- handler: (input, extra) => handlePageSave(client, input, extra),
97
- }),
98
- defineTool({
99
- name: 'yootheme_builder_page_publish',
100
- description: 'Publish a template — persist state, flush YT + WP caches, snapshot the ' +
101
- 'published-state ETag. ETag optional — when provided, 412 on conflict; when ' +
102
- 'omitted, last-write-wins. Recommended for collaborative edits.',
103
- inputSchema: {
104
- template_id: TEMPLATE_ID,
105
- etag: ETAG,
106
- },
107
- // Stream D3 T3: publish is idempotent — re-running on an
108
- // unchanged template snapshots the same ETag and flushes
109
- // the same caches. Matrix marks `idempotentHint:true`.
110
- annotations: mutating('Publish Page'),
111
- handler: (input, extra) => handlePagePublish(client, input, extra),
112
- }),
113
- ];
114
- }
115
- //# sourceMappingURL=builders.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/tools/pages/builders.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- /**
2
- * Page-tool READ handlers + shared output-schemas.
3
- *
4
- * Split out of `src/tools/pages.ts` (Round-2 R2-A2-CRIT1) to keep
5
- * each file ≤ 200 LoC per Architecture §11. Write handlers (page_save,
6
- * page_publish — 3-phase progress contract) live in `./handlers-write.ts`.
7
- *
8
- * @license MIT
9
- */
10
- import type { RestClient } from '../../client.js';
11
- import { type ToolResult } from '../tool-builder.js';
12
- export declare function handlePagesList(client: RestClient, { fields }: {
13
- fields?: readonly string[];
14
- }): Promise<ToolResult>;
15
- export declare function handlePageGetLayout(client: RestClient, { template_id, flat, fields }: {
16
- template_id: string;
17
- flat?: boolean;
18
- fields?: readonly string[];
19
- }): Promise<ToolResult>;
20
- export declare function handlePageGetSchema(client: RestClient, { template_id }: {
21
- template_id: string;
22
- }): Promise<ToolResult>;
23
- export declare function handleGetEtag(client: RestClient): Promise<ToolResult>;
24
- /**
25
- * T9: a one-call structured overview of a template — element counts by
26
- * type, binding count, max nesting depth, and named landmarks. Lets the
27
- * agent grasp a 96-node template for ~1 kB instead of pulling the full
28
- * element_list dump (20 kB+).
29
- */
30
- export declare function handleTemplateSummary(client: RestClient, { template_id }: {
31
- template_id: string;
32
- }): Promise<ToolResult>;
33
- //# sourceMappingURL=handlers-read.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handlers-read.d.ts","sourceRoot":"","sources":["../../../src/tools/pages/handlers-read.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAgBlD,OAAO,EAIH,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAI5B,wBAAsB,eAAe,CACjC,MAAM,EAAE,UAAU,EAClB,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC3C,OAAO,CAAC,UAAU,CAAC,CAgCrB;AAID,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,UAAU,EAClB,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,GACF,OAAO,CAAC,UAAU,CAAC,CAmCrB;AAID,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,UAAU,EAClB,EAAE,WAAW,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GACzC,OAAO,CAAC,UAAU,CAAC,CA4CrB;AAID,wBAAsB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAoB3E;AAID;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,UAAU,EAClB,EAAE,WAAW,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GACzC,OAAO,CAAC,UAAU,CAAC,CAmBrB"}