@wootsup/yt-builder-mcp 1.11.0 → 2.0.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 (853) hide show
  1. package/README.md +131 -33
  2. package/bin/node-floor.d.ts +28 -0
  3. package/bin/node-floor.js +123 -0
  4. package/bin/yt-builder-mcp.js +52 -11
  5. package/dist/auth.d.ts +3 -121
  6. package/dist/auth.d.ts.map +1 -1
  7. package/dist/auth.js +40 -170
  8. package/dist/auth.js.map +1 -1
  9. package/dist/catalog/build-catalog.d.ts +4 -49
  10. package/dist/catalog/build-catalog.d.ts.map +1 -1
  11. package/dist/catalog/build-catalog.js +15 -126
  12. package/dist/catalog/build-catalog.js.map +1 -1
  13. package/dist/catalog/json-schema.d.ts +3 -0
  14. package/dist/catalog/json-schema.d.ts.map +1 -0
  15. package/dist/catalog/json-schema.js +68 -0
  16. package/dist/catalog/json-schema.js.map +1 -0
  17. package/dist/catalog/output-shapes.d.ts +6 -0
  18. package/dist/catalog/output-shapes.d.ts.map +1 -0
  19. package/dist/catalog/output-shapes.js +89 -0
  20. package/dist/catalog/output-shapes.js.map +1 -0
  21. package/dist/catalog/tool-catalog-markdown.d.ts +1 -37
  22. package/dist/catalog/tool-catalog-markdown.d.ts.map +1 -1
  23. package/dist/catalog/tool-catalog-markdown.js +9 -41
  24. package/dist/catalog/tool-catalog-markdown.js.map +1 -1
  25. package/dist/cli/doctor-command.d.ts +2 -7
  26. package/dist/cli/doctor-command.d.ts.map +1 -1
  27. package/dist/cli/doctor-command.js +33 -54
  28. package/dist/cli/doctor-command.js.map +1 -1
  29. package/dist/cli/invocation-decision.d.ts +4 -52
  30. package/dist/cli/invocation-decision.d.ts.map +1 -1
  31. package/dist/cli/invocation-decision.js +45 -54
  32. package/dist/cli/invocation-decision.js.map +1 -1
  33. package/dist/client.d.ts +3 -107
  34. package/dist/client.d.ts.map +1 -1
  35. package/dist/client.js +34 -115
  36. package/dist/client.js.map +1 -1
  37. package/dist/clients/claude-code.d.ts +0 -15
  38. package/dist/clients/claude-code.d.ts.map +1 -1
  39. package/dist/clients/claude-code.js +0 -22
  40. package/dist/clients/claude-code.js.map +1 -1
  41. package/dist/clients/claude-desktop.d.ts +0 -16
  42. package/dist/clients/claude-desktop.d.ts.map +1 -1
  43. package/dist/clients/claude-desktop.js +0 -18
  44. package/dist/clients/claude-desktop.js.map +1 -1
  45. package/dist/clients/cline.d.ts +0 -23
  46. package/dist/clients/cline.d.ts.map +1 -1
  47. package/dist/clients/cline.js +0 -33
  48. package/dist/clients/cline.js.map +1 -1
  49. package/dist/clients/codex-cli.d.ts +0 -39
  50. package/dist/clients/codex-cli.d.ts.map +1 -1
  51. package/dist/clients/codex-cli.js +0 -137
  52. package/dist/clients/codex-cli.js.map +1 -1
  53. package/dist/clients/continue.d.ts +0 -10
  54. package/dist/clients/continue.d.ts.map +1 -1
  55. package/dist/clients/continue.js +0 -26
  56. package/dist/clients/continue.js.map +1 -1
  57. package/dist/clients/cursor.d.ts +0 -9
  58. package/dist/clients/cursor.d.ts.map +1 -1
  59. package/dist/clients/cursor.js +0 -11
  60. package/dist/clients/cursor.js.map +1 -1
  61. package/dist/clients/gemini-cli.d.ts +0 -15
  62. package/dist/clients/gemini-cli.d.ts.map +1 -1
  63. package/dist/clients/gemini-cli.js +0 -17
  64. package/dist/clients/gemini-cli.js.map +1 -1
  65. package/dist/clients/home.d.ts +0 -12
  66. package/dist/clients/home.d.ts.map +1 -1
  67. package/dist/clients/home.js +0 -12
  68. package/dist/clients/home.js.map +1 -1
  69. package/dist/clients/index.d.ts +0 -150
  70. package/dist/clients/index.d.ts.map +1 -1
  71. package/dist/clients/index.js +0 -112
  72. package/dist/clients/index.js.map +1 -1
  73. package/dist/clients/roo-code.d.ts +0 -20
  74. package/dist/clients/roo-code.d.ts.map +1 -1
  75. package/dist/clients/roo-code.js +0 -22
  76. package/dist/clients/roo-code.js.map +1 -1
  77. package/dist/clients/zed.d.ts +0 -9
  78. package/dist/clients/zed.d.ts.map +1 -1
  79. package/dist/clients/zed.js +0 -18
  80. package/dist/clients/zed.js.map +1 -1
  81. package/dist/compat-floor.d.ts +35 -0
  82. package/dist/compat-floor.d.ts.map +1 -0
  83. package/dist/compat-floor.js +84 -0
  84. package/dist/compat-floor.js.map +1 -0
  85. package/dist/compat-probe.d.ts +6 -0
  86. package/dist/compat-probe.d.ts.map +1 -0
  87. package/dist/compat-probe.js +20 -0
  88. package/dist/compat-probe.js.map +1 -0
  89. package/dist/diagnostics/ca-reexec.d.ts +0 -30
  90. package/dist/diagnostics/ca-reexec.d.ts.map +1 -1
  91. package/dist/diagnostics/ca-reexec.js +0 -62
  92. package/dist/diagnostics/ca-reexec.js.map +1 -1
  93. package/dist/diagnostics/ca-trust.d.ts +0 -22
  94. package/dist/diagnostics/ca-trust.d.ts.map +1 -1
  95. package/dist/diagnostics/ca-trust.js +3 -42
  96. package/dist/diagnostics/ca-trust.js.map +1 -1
  97. package/dist/diagnostics/diagnose-network-error.d.ts +1 -38
  98. package/dist/diagnostics/diagnose-network-error.d.ts.map +1 -1
  99. package/dist/diagnostics/diagnose-network-error.js +26 -37
  100. package/dist/diagnostics/diagnose-network-error.js.map +1 -1
  101. package/dist/diagnostics/doctor.d.ts +13 -65
  102. package/dist/diagnostics/doctor.d.ts.map +1 -1
  103. package/dist/diagnostics/doctor.js +46 -70
  104. package/dist/diagnostics/doctor.js.map +1 -1
  105. package/dist/diagnostics/startup-self-probe.d.ts +3 -25
  106. package/dist/diagnostics/startup-self-probe.d.ts.map +1 -1
  107. package/dist/diagnostics/startup-self-probe.js +11 -48
  108. package/dist/diagnostics/startup-self-probe.js.map +1 -1
  109. package/dist/errors/hints.d.ts +0 -44
  110. package/dist/errors/hints.d.ts.map +1 -1
  111. package/dist/errors/hints.js +0 -32
  112. package/dist/errors/hints.js.map +1 -1
  113. package/dist/errors/mask.d.ts +0 -31
  114. package/dist/errors/mask.d.ts.map +1 -1
  115. package/dist/errors/mask.js +0 -32
  116. package/dist/errors/mask.js.map +1 -1
  117. package/dist/errors/redact-credentials.d.ts +2 -0
  118. package/dist/errors/redact-credentials.d.ts.map +1 -0
  119. package/dist/errors/redact-credentials.js +13 -0
  120. package/dist/errors/redact-credentials.js.map +1 -0
  121. package/dist/errors/sanitize.d.ts +0 -29
  122. package/dist/errors/sanitize.d.ts.map +1 -1
  123. package/dist/errors/sanitize.js +0 -40
  124. package/dist/errors/sanitize.js.map +1 -1
  125. package/dist/errors.d.ts +6 -17
  126. package/dist/errors.d.ts.map +1 -1
  127. package/dist/errors.js +16 -21
  128. package/dist/errors.js.map +1 -1
  129. package/dist/gateway/advanced-read-tool.d.ts +0 -32
  130. package/dist/gateway/advanced-read-tool.d.ts.map +1 -1
  131. package/dist/gateway/advanced-read-tool.js +43 -111
  132. package/dist/gateway/advanced-read-tool.js.map +1 -1
  133. package/dist/gateway/advanced-tool/discovery.d.ts +1 -12
  134. package/dist/gateway/advanced-tool/discovery.d.ts.map +1 -1
  135. package/dist/gateway/advanced-tool/discovery.js +18 -16
  136. package/dist/gateway/advanced-tool/discovery.js.map +1 -1
  137. package/dist/gateway/advanced-tool/domains.d.ts +7 -66
  138. package/dist/gateway/advanced-tool/domains.d.ts.map +1 -1
  139. package/dist/gateway/advanced-tool/domains.js +36 -80
  140. package/dist/gateway/advanced-tool/domains.js.map +1 -1
  141. package/dist/gateway/advanced-tool/execute.d.ts +0 -25
  142. package/dist/gateway/advanced-tool/execute.d.ts.map +1 -1
  143. package/dist/gateway/advanced-tool/execute.js +13 -49
  144. package/dist/gateway/advanced-tool/execute.js.map +1 -1
  145. package/dist/gateway/advanced-tool/index.d.ts +1 -32
  146. package/dist/gateway/advanced-tool/index.d.ts.map +1 -1
  147. package/dist/gateway/advanced-tool/index.js +1 -35
  148. package/dist/gateway/advanced-tool/index.js.map +1 -1
  149. package/dist/gateway/advanced-tool/register.d.ts +0 -14
  150. package/dist/gateway/advanced-tool/register.d.ts.map +1 -1
  151. package/dist/gateway/advanced-tool/register.js +22 -58
  152. package/dist/gateway/advanced-tool/register.js.map +1 -1
  153. package/dist/gateway/advanced-tool.d.ts +0 -11
  154. package/dist/gateway/advanced-tool.d.ts.map +1 -1
  155. package/dist/gateway/advanced-tool.js +0 -11
  156. package/dist/gateway/advanced-tool.js.map +1 -1
  157. package/dist/gateway/capturing-server.d.ts +3 -88
  158. package/dist/gateway/capturing-server.d.ts.map +1 -1
  159. package/dist/gateway/capturing-server.js +0 -77
  160. package/dist/gateway/capturing-server.js.map +1 -1
  161. package/dist/gateway/essentials.d.ts +1 -63
  162. package/dist/gateway/essentials.d.ts.map +1 -1
  163. package/dist/gateway/essentials.js +10 -174
  164. package/dist/gateway/essentials.js.map +1 -1
  165. package/dist/gateway/test-support.d.ts +0 -28
  166. package/dist/gateway/test-support.d.ts.map +1 -1
  167. package/dist/gateway/test-support.js +0 -29
  168. package/dist/gateway/test-support.js.map +1 -1
  169. package/dist/health-response.d.ts +2 -0
  170. package/dist/health-response.d.ts.map +1 -0
  171. package/dist/health-response.js +7 -0
  172. package/dist/health-response.js.map +1 -0
  173. package/dist/icon-data.js +0 -3
  174. package/dist/icon-data.js.map +1 -1
  175. package/dist/index.d.ts +7 -23
  176. package/dist/index.d.ts.map +1 -1
  177. package/dist/index.js +46 -130
  178. package/dist/index.js.map +1 -1
  179. package/dist/install-skill.d.ts +0 -44
  180. package/dist/install-skill.d.ts.map +1 -1
  181. package/dist/install-skill.js +5 -46
  182. package/dist/install-skill.js.map +1 -1
  183. package/dist/net/extra-headers.d.ts +0 -58
  184. package/dist/net/extra-headers.d.ts.map +1 -1
  185. package/dist/net/extra-headers.js +0 -67
  186. package/dist/net/extra-headers.js.map +1 -1
  187. package/dist/net/internal-host.d.ts +0 -31
  188. package/dist/net/internal-host.d.ts.map +1 -1
  189. package/dist/net/internal-host.js +7 -65
  190. package/dist/net/internal-host.js.map +1 -1
  191. package/dist/net/proxy-dispatcher.d.ts +0 -37
  192. package/dist/net/proxy-dispatcher.d.ts.map +1 -1
  193. package/dist/net/proxy-dispatcher.js +0 -40
  194. package/dist/net/proxy-dispatcher.js.map +1 -1
  195. package/dist/net/public-fetch.d.ts +53 -0
  196. package/dist/net/public-fetch.d.ts.map +1 -0
  197. package/dist/net/public-fetch.js +143 -0
  198. package/dist/net/public-fetch.js.map +1 -0
  199. package/dist/net/public-page-report.d.ts +26 -0
  200. package/dist/net/public-page-report.d.ts.map +1 -0
  201. package/dist/net/public-page-report.js +145 -0
  202. package/dist/net/public-page-report.js.map +1 -0
  203. package/dist/net/redirect-safe-fetch.d.ts +14 -0
  204. package/dist/net/redirect-safe-fetch.d.ts.map +1 -0
  205. package/dist/net/redirect-safe-fetch.js +61 -0
  206. package/dist/net/redirect-safe-fetch.js.map +1 -0
  207. package/dist/net/session-recovery-fetch.d.ts +7 -0
  208. package/dist/net/session-recovery-fetch.d.ts.map +1 -0
  209. package/dist/net/session-recovery-fetch.js +139 -0
  210. package/dist/net/session-recovery-fetch.js.map +1 -0
  211. package/dist/net/site-basic-auth.d.ts +1 -59
  212. package/dist/net/site-basic-auth.d.ts.map +1 -1
  213. package/dist/net/site-basic-auth.js +5 -94
  214. package/dist/net/site-basic-auth.js.map +1 -1
  215. package/dist/package-version.d.ts +2 -0
  216. package/dist/package-version.d.ts.map +1 -0
  217. package/dist/package-version.js +15 -0
  218. package/dist/package-version.js.map +1 -0
  219. package/dist/platform/detect.d.ts +0 -54
  220. package/dist/platform/detect.d.ts.map +1 -1
  221. package/dist/platform/detect.js +0 -53
  222. package/dist/platform/detect.js.map +1 -1
  223. package/dist/platform/index.d.ts +0 -100
  224. package/dist/platform/index.d.ts.map +1 -1
  225. package/dist/platform/index.js +0 -106
  226. package/dist/platform/index.js.map +1 -1
  227. package/dist/platform/joomla.d.ts +0 -35
  228. package/dist/platform/joomla.d.ts.map +1 -1
  229. package/dist/platform/joomla.js +0 -35
  230. package/dist/platform/joomla.js.map +1 -1
  231. package/dist/proxy/bridge.d.ts +36 -76
  232. package/dist/proxy/bridge.d.ts.map +1 -1
  233. package/dist/proxy/bridge.js +443 -136
  234. package/dist/proxy/bridge.js.map +1 -1
  235. package/dist/proxy/confirm-elicitation.d.ts +22 -0
  236. package/dist/proxy/confirm-elicitation.d.ts.map +1 -0
  237. package/dist/proxy/confirm-elicitation.js +170 -0
  238. package/dist/proxy/confirm-elicitation.js.map +1 -0
  239. package/dist/proxy/confirm-question-contract.d.ts +6 -0
  240. package/dist/proxy/confirm-question-contract.d.ts.map +1 -0
  241. package/dist/proxy/confirm-question-contract.js +9 -0
  242. package/dist/proxy/confirm-question-contract.js.map +1 -0
  243. package/dist/proxy/confirm-question.d.ts +2 -0
  244. package/dist/proxy/confirm-question.d.ts.map +1 -0
  245. package/dist/proxy/confirm-question.js +125 -0
  246. package/dist/proxy/confirm-question.js.map +1 -0
  247. package/dist/proxy/instructions.d.ts +4 -0
  248. package/dist/proxy/instructions.d.ts.map +1 -0
  249. package/dist/proxy/instructions.js +12 -0
  250. package/dist/proxy/instructions.js.map +1 -0
  251. package/dist/proxy/mode.d.ts +14 -9
  252. package/dist/proxy/mode.d.ts.map +1 -1
  253. package/dist/proxy/mode.js +58 -34
  254. package/dist/proxy/mode.js.map +1 -1
  255. package/dist/proxy/multi-site.d.ts +42 -0
  256. package/dist/proxy/multi-site.d.ts.map +1 -0
  257. package/dist/proxy/multi-site.js +134 -0
  258. package/dist/proxy/multi-site.js.map +1 -0
  259. package/dist/proxy/request-headers.d.ts +9 -0
  260. package/dist/proxy/request-headers.d.ts.map +1 -0
  261. package/dist/proxy/request-headers.js +17 -0
  262. package/dist/proxy/request-headers.js.map +1 -0
  263. package/dist/proxy/shadow-tools.d.ts +9 -0
  264. package/dist/proxy/shadow-tools.d.ts.map +1 -0
  265. package/dist/proxy/shadow-tools.js +42 -0
  266. package/dist/proxy/shadow-tools.js.map +1 -0
  267. package/dist/proxy/tools-list-cap.d.ts +7 -0
  268. package/dist/proxy/tools-list-cap.d.ts.map +1 -0
  269. package/dist/proxy/tools-list-cap.js +14 -0
  270. package/dist/proxy/tools-list-cap.js.map +1 -0
  271. package/dist/proxy/transport-uncertainty.d.ts +2 -0
  272. package/dist/proxy/transport-uncertainty.d.ts.map +1 -0
  273. package/dist/proxy/transport-uncertainty.js +8 -0
  274. package/dist/proxy/transport-uncertainty.js.map +1 -0
  275. package/dist/proxy/upstream-error.d.ts +7 -0
  276. package/dist/proxy/upstream-error.d.ts.map +1 -0
  277. package/dist/proxy/upstream-error.js +35 -0
  278. package/dist/proxy/upstream-error.js.map +1 -0
  279. package/dist/proxy/wire-dialect.d.ts +5 -0
  280. package/dist/proxy/wire-dialect.d.ts.map +1 -0
  281. package/dist/proxy/wire-dialect.js +33 -0
  282. package/dist/proxy/wire-dialect.js.map +1 -0
  283. package/dist/server.d.ts +14 -82
  284. package/dist/server.d.ts.map +1 -1
  285. package/dist/server.js +107 -203
  286. package/dist/server.js.map +1 -1
  287. package/dist/setup/banner-color.d.ts +13 -0
  288. package/dist/setup/banner-color.d.ts.map +1 -0
  289. package/dist/setup/banner-color.js +93 -0
  290. package/dist/setup/banner-color.js.map +1 -0
  291. package/dist/setup/banner.d.ts +22 -0
  292. package/dist/setup/banner.d.ts.map +1 -0
  293. package/dist/setup/banner.js +119 -0
  294. package/dist/setup/banner.js.map +1 -0
  295. package/dist/setup/ca-recovery.d.ts +20 -0
  296. package/dist/setup/ca-recovery.d.ts.map +1 -0
  297. package/dist/setup/ca-recovery.js +92 -0
  298. package/dist/setup/ca-recovery.js.map +1 -0
  299. package/dist/setup/closing.d.ts +15 -0
  300. package/dist/setup/closing.d.ts.map +1 -0
  301. package/dist/setup/closing.js +43 -0
  302. package/dist/setup/closing.js.map +1 -0
  303. package/dist/setup/corporate-ca.d.ts +16 -0
  304. package/dist/setup/corporate-ca.d.ts.map +1 -0
  305. package/dist/setup/corporate-ca.js +32 -0
  306. package/dist/setup/corporate-ca.js.map +1 -0
  307. package/dist/setup/host-platform.d.ts +8 -0
  308. package/dist/setup/host-platform.d.ts.map +1 -0
  309. package/dist/setup/host-platform.js +21 -0
  310. package/dist/setup/host-platform.js.map +1 -0
  311. package/dist/setup/install-configs.d.ts +18 -0
  312. package/dist/setup/install-configs.d.ts.map +1 -0
  313. package/dist/setup/install-configs.js +70 -0
  314. package/dist/setup/install-configs.js.map +1 -0
  315. package/dist/setup/multi-site-loop.d.ts +14 -0
  316. package/dist/setup/multi-site-loop.d.ts.map +1 -0
  317. package/dist/setup/multi-site-loop.js +20 -0
  318. package/dist/setup/multi-site-loop.js.map +1 -0
  319. package/dist/setup/phases.d.ts +18 -0
  320. package/dist/setup/phases.d.ts.map +1 -0
  321. package/dist/setup/phases.js +55 -0
  322. package/dist/setup/phases.js.map +1 -0
  323. package/dist/setup/registry-remedy.d.ts +12 -0
  324. package/dist/setup/registry-remedy.d.ts.map +1 -0
  325. package/dist/setup/registry-remedy.js +37 -0
  326. package/dist/setup/registry-remedy.js.map +1 -0
  327. package/dist/setup/resume.d.ts +28 -0
  328. package/dist/setup/resume.d.ts.map +1 -0
  329. package/dist/setup/resume.js +99 -0
  330. package/dist/setup/resume.js.map +1 -0
  331. package/dist/setup-ca-env.d.ts +0 -30
  332. package/dist/setup-ca-env.d.ts.map +1 -1
  333. package/dist/setup-ca-env.js +0 -28
  334. package/dist/setup-ca-env.js.map +1 -1
  335. package/dist/setup-ca-reprobe.d.ts +0 -25
  336. package/dist/setup-ca-reprobe.d.ts.map +1 -1
  337. package/dist/setup-ca-reprobe.js +0 -34
  338. package/dist/setup-ca-reprobe.js.map +1 -1
  339. package/dist/setup-cli-confirm.d.ts +0 -34
  340. package/dist/setup-cli-confirm.d.ts.map +1 -1
  341. package/dist/setup-cli-confirm.js +0 -36
  342. package/dist/setup-cli-confirm.js.map +1 -1
  343. package/dist/setup-cli.d.ts +6 -167
  344. package/dist/setup-cli.d.ts.map +1 -1
  345. package/dist/setup-cli.js +161 -173
  346. package/dist/setup-cli.js.map +1 -1
  347. package/dist/setup-npx-spec.d.ts +0 -36
  348. package/dist/setup-npx-spec.d.ts.map +1 -1
  349. package/dist/setup-npx-spec.js +0 -38
  350. package/dist/setup-npx-spec.js.map +1 -1
  351. package/dist/setup-prompts.d.ts +5 -70
  352. package/dist/setup-prompts.d.ts.map +1 -1
  353. package/dist/setup-prompts.js +67 -107
  354. package/dist/setup-prompts.js.map +1 -1
  355. package/dist/setup-token.d.ts +0 -34
  356. package/dist/setup-token.d.ts.map +1 -1
  357. package/dist/setup-token.js +0 -40
  358. package/dist/setup-token.js.map +1 -1
  359. package/dist/setup-wizard-defaults.d.ts +0 -36
  360. package/dist/setup-wizard-defaults.d.ts.map +1 -1
  361. package/dist/setup-wizard-defaults.js +0 -75
  362. package/dist/setup-wizard-defaults.js.map +1 -1
  363. package/dist/setup-wizard-handshake.d.ts +1 -19
  364. package/dist/setup-wizard-handshake.d.ts.map +1 -1
  365. package/dist/setup-wizard-handshake.js +8 -45
  366. package/dist/setup-wizard-handshake.js.map +1 -1
  367. package/dist/setup-wizard-types.d.ts +16 -209
  368. package/dist/setup-wizard-types.d.ts.map +1 -1
  369. package/dist/setup-wizard-types.js +0 -9
  370. package/dist/setup-wizard-types.js.map +1 -1
  371. package/dist/setup-wizard.d.ts +0 -28
  372. package/dist/setup-wizard.d.ts.map +1 -1
  373. package/dist/setup-wizard.js +167 -412
  374. package/dist/setup-wizard.js.map +1 -1
  375. package/dist/setup.d.ts +0 -15
  376. package/dist/setup.d.ts.map +1 -1
  377. package/dist/setup.js +0 -15
  378. package/dist/setup.js.map +1 -1
  379. package/dist/sites/bootstrap.d.ts +0 -38
  380. package/dist/sites/bootstrap.d.ts.map +1 -1
  381. package/dist/sites/bootstrap.js +0 -44
  382. package/dist/sites/bootstrap.js.map +1 -1
  383. package/dist/sites/cli/add-site.d.ts +0 -76
  384. package/dist/sites/cli/add-site.d.ts.map +1 -1
  385. package/dist/sites/cli/add-site.js +0 -71
  386. package/dist/sites/cli/add-site.js.map +1 -1
  387. package/dist/sites/cli/list-sites.d.ts +0 -31
  388. package/dist/sites/cli/list-sites.d.ts.map +1 -1
  389. package/dist/sites/cli/list-sites.js +0 -45
  390. package/dist/sites/cli/list-sites.js.map +1 -1
  391. package/dist/sites/cli/remove-site.d.ts +0 -37
  392. package/dist/sites/cli/remove-site.d.ts.map +1 -1
  393. package/dist/sites/cli/remove-site.js +0 -37
  394. package/dist/sites/cli/remove-site.js.map +1 -1
  395. package/dist/sites/cli/set-default.d.ts +0 -25
  396. package/dist/sites/cli/set-default.d.ts.map +1 -1
  397. package/dist/sites/cli/set-default.js +0 -22
  398. package/dist/sites/cli/set-default.js.map +1 -1
  399. package/dist/sites/cli/test-site.d.ts +0 -44
  400. package/dist/sites/cli/test-site.d.ts.map +1 -1
  401. package/dist/sites/cli/test-site.js +0 -39
  402. package/dist/sites/cli/test-site.js.map +1 -1
  403. package/dist/sites/client-pool.d.ts +11 -164
  404. package/dist/sites/client-pool.d.ts.map +1 -1
  405. package/dist/sites/client-pool.js +73 -194
  406. package/dist/sites/client-pool.js.map +1 -1
  407. package/dist/sites/config-problem.d.ts +2 -0
  408. package/dist/sites/config-problem.d.ts.map +1 -0
  409. package/dist/sites/config-problem.js +13 -0
  410. package/dist/sites/config-problem.js.map +1 -0
  411. package/dist/sites/env-bridge.d.ts +0 -69
  412. package/dist/sites/env-bridge.d.ts.map +1 -1
  413. package/dist/sites/env-bridge.js +2 -71
  414. package/dist/sites/env-bridge.js.map +1 -1
  415. package/dist/sites/op-inject.d.ts +23 -0
  416. package/dist/sites/op-inject.d.ts.map +1 -0
  417. package/dist/sites/op-inject.js +131 -0
  418. package/dist/sites/op-inject.js.map +1 -0
  419. package/dist/sites/paths.d.ts +0 -19
  420. package/dist/sites/paths.d.ts.map +1 -1
  421. package/dist/sites/paths.js +0 -19
  422. package/dist/sites/paths.js.map +1 -1
  423. package/dist/sites/probe.d.ts +1 -47
  424. package/dist/sites/probe.d.ts.map +1 -1
  425. package/dist/sites/probe.js +4 -46
  426. package/dist/sites/probe.js.map +1 -1
  427. package/dist/sites/registry.d.ts +4 -135
  428. package/dist/sites/registry.d.ts.map +1 -1
  429. package/dist/sites/registry.js +4 -98
  430. package/dist/sites/registry.js.map +1 -1
  431. package/dist/sites/schema.d.ts +3 -51
  432. package/dist/sites/schema.d.ts.map +1 -1
  433. package/dist/sites/schema.js +6 -52
  434. package/dist/sites/schema.js.map +1 -1
  435. package/dist/sites/secret-resolver.d.ts +6 -76
  436. package/dist/sites/secret-resolver.d.ts.map +1 -1
  437. package/dist/sites/secret-resolver.js +39 -104
  438. package/dist/sites/secret-resolver.js.map +1 -1
  439. package/dist/sites/store.d.ts +12 -69
  440. package/dist/sites/store.d.ts.map +1 -1
  441. package/dist/sites/store.js +37 -86
  442. package/dist/sites/store.js.map +1 -1
  443. package/dist/sites/substituted-registry.d.ts +11 -0
  444. package/dist/sites/substituted-registry.d.ts.map +1 -0
  445. package/dist/sites/substituted-registry.js +13 -0
  446. package/dist/sites/substituted-registry.js.map +1 -0
  447. package/dist/sites/tools/fetch-public-url.d.ts +4 -0
  448. package/dist/sites/tools/fetch-public-url.d.ts.map +1 -0
  449. package/dist/sites/tools/fetch-public-url.js +231 -0
  450. package/dist/sites/tools/fetch-public-url.js.map +1 -0
  451. package/dist/sites/tools/index.d.ts +2 -26
  452. package/dist/sites/tools/index.d.ts.map +1 -1
  453. package/dist/sites/tools/index.js +5 -28
  454. package/dist/sites/tools/index.js.map +1 -1
  455. package/dist/sites/tools/sites-list.d.ts +3 -47
  456. package/dist/sites/tools/sites-list.d.ts.map +1 -1
  457. package/dist/sites/tools/sites-list.js +68 -80
  458. package/dist/sites/tools/sites-list.js.map +1 -1
  459. package/dist/sites/tools/sites-overview.d.ts +4 -0
  460. package/dist/sites/tools/sites-overview.d.ts.map +1 -0
  461. package/dist/sites/tools/sites-overview.js +209 -0
  462. package/dist/sites/tools/sites-overview.js.map +1 -0
  463. package/dist/sites/tools/sites-test.d.ts +2 -45
  464. package/dist/sites/tools/sites-test.d.ts.map +1 -1
  465. package/dist/sites/tools/sites-test.js +1 -56
  466. package/dist/sites/tools/sites-test.js.map +1 -1
  467. package/dist/sites/tools/use-site.d.ts +2 -45
  468. package/dist/sites/tools/use-site.d.ts.map +1 -1
  469. package/dist/sites/tools/use-site.js +31 -80
  470. package/dist/sites/tools/use-site.js.map +1 -1
  471. package/dist/sites/unknown-name-result.d.ts +10 -0
  472. package/dist/sites/unknown-name-result.d.ts.map +1 -0
  473. package/dist/sites/unknown-name-result.js +13 -0
  474. package/dist/sites/unknown-name-result.js.map +1 -0
  475. package/dist/skill-instructions.d.ts +7 -0
  476. package/dist/skill-instructions.d.ts.map +1 -0
  477. package/dist/skill-instructions.js +84 -0
  478. package/dist/skill-instructions.js.map +1 -0
  479. package/dist/skill-loader.d.ts +0 -102
  480. package/dist/skill-loader.d.ts.map +1 -1
  481. package/dist/skill-loader.js +4 -142
  482. package/dist/skill-loader.js.map +1 -1
  483. package/dist/skill-manifest.d.ts +0 -20
  484. package/dist/skill-manifest.d.ts.map +1 -1
  485. package/dist/skill-manifest.js +1 -21
  486. package/dist/skill-manifest.js.map +1 -1
  487. package/dist/skill-topics.d.ts +19 -0
  488. package/dist/skill-topics.d.ts.map +1 -0
  489. package/dist/skill-topics.js +181 -0
  490. package/dist/skill-topics.js.map +1 -0
  491. package/dist/tools/active-site.d.ts +16 -0
  492. package/dist/tools/active-site.d.ts.map +1 -0
  493. package/dist/tools/active-site.js +55 -0
  494. package/dist/tools/active-site.js.map +1 -0
  495. package/dist/tools/bind-guidance.d.ts +2 -72
  496. package/dist/tools/bind-guidance.d.ts.map +1 -1
  497. package/dist/tools/bind-guidance.js +2 -72
  498. package/dist/tools/bind-guidance.js.map +1 -1
  499. package/dist/tools/budgeted-table.d.ts +16 -0
  500. package/dist/tools/budgeted-table.d.ts.map +1 -0
  501. package/dist/tools/budgeted-table.js +203 -0
  502. package/dist/tools/budgeted-table.js.map +1 -0
  503. package/dist/tools/elements/bind-output-schema.d.ts +69 -0
  504. package/dist/tools/elements/bind-output-schema.d.ts.map +1 -0
  505. package/dist/tools/elements/bind-output-schema.js +64 -0
  506. package/dist/tools/elements/bind-output-schema.js.map +1 -0
  507. package/dist/tools/elements/builders.d.ts +1 -22
  508. package/dist/tools/elements/builders.d.ts.map +1 -1
  509. package/dist/tools/elements/builders.js +171 -133
  510. package/dist/tools/elements/builders.js.map +1 -1
  511. package/dist/tools/elements/index.d.ts +0 -26
  512. package/dist/tools/elements/index.d.ts.map +1 -1
  513. package/dist/tools/elements/index.js +0 -25
  514. package/dist/tools/elements/index.js.map +1 -1
  515. package/dist/tools/elements/read-output-schemas.d.ts +121 -0
  516. package/dist/tools/elements/read-output-schemas.d.ts.map +1 -0
  517. package/dist/tools/elements/read-output-schemas.js +225 -0
  518. package/dist/tools/elements/read-output-schemas.js.map +1 -0
  519. package/dist/tools/elements/write-output-schemas.d.ts +185 -0
  520. package/dist/tools/elements/write-output-schemas.d.ts.map +1 -0
  521. package/dist/tools/elements/write-output-schemas.js +98 -0
  522. package/dist/tools/elements/write-output-schemas.js.map +1 -0
  523. package/dist/tools/elements.d.ts +0 -11
  524. package/dist/tools/elements.d.ts.map +1 -1
  525. package/dist/tools/elements.js +0 -11
  526. package/dist/tools/elements.js.map +1 -1
  527. package/dist/tools/format/health-format.d.ts +42 -43
  528. package/dist/tools/format/health-format.d.ts.map +1 -1
  529. package/dist/tools/format/health-format.js +32 -55
  530. package/dist/tools/format/health-format.js.map +1 -1
  531. package/dist/tools/format/inspection-format.d.ts +4 -49
  532. package/dist/tools/format/inspection-format.d.ts.map +1 -1
  533. package/dist/tools/format/inspection-format.js +46 -114
  534. package/dist/tools/format/inspection-format.js.map +1 -1
  535. package/dist/tools/format/pages-format.d.ts +32 -69
  536. package/dist/tools/format/pages-format.d.ts.map +1 -1
  537. package/dist/tools/format/pages-format.js +115 -133
  538. package/dist/tools/format/pages-format.js.map +1 -1
  539. package/dist/tools/format/sources-format.d.ts +5 -39
  540. package/dist/tools/format/sources-format.d.ts.map +1 -1
  541. package/dist/tools/format/sources-format.js +57 -87
  542. package/dist/tools/format/sources-format.js.map +1 -1
  543. package/dist/tools/health-output-schemas.d.ts +82 -0
  544. package/dist/tools/health-output-schemas.d.ts.map +1 -0
  545. package/dist/tools/health-output-schemas.js +130 -0
  546. package/dist/tools/health-output-schemas.js.map +1 -0
  547. package/dist/tools/health.d.ts +2 -20
  548. package/dist/tools/health.d.ts.map +1 -1
  549. package/dist/tools/health.js +59 -184
  550. package/dist/tools/health.js.map +1 -1
  551. package/dist/tools/index.d.ts +1 -26
  552. package/dist/tools/index.d.ts.map +1 -1
  553. package/dist/tools/index.js +13 -33
  554. package/dist/tools/index.js.map +1 -1
  555. package/dist/tools/inspection.d.ts +21 -17
  556. package/dist/tools/inspection.d.ts.map +1 -1
  557. package/dist/tools/inspection.js +431 -268
  558. package/dist/tools/inspection.js.map +1 -1
  559. package/dist/tools/library.d.ts +118 -126
  560. package/dist/tools/library.d.ts.map +1 -1
  561. package/dist/tools/library.js +723 -456
  562. package/dist/tools/library.js.map +1 -1
  563. package/dist/tools/local-content/builders.d.ts +1 -17
  564. package/dist/tools/local-content/builders.d.ts.map +1 -1
  565. package/dist/tools/local-content/builders.js +105 -48
  566. package/dist/tools/local-content/builders.js.map +1 -1
  567. package/dist/tools/local-content/index.d.ts +0 -15
  568. package/dist/tools/local-content/index.d.ts.map +1 -1
  569. package/dist/tools/local-content/index.js +0 -14
  570. package/dist/tools/local-content/index.js.map +1 -1
  571. package/dist/tools/local-content/schemas.d.ts +31 -47
  572. package/dist/tools/local-content/schemas.d.ts.map +1 -1
  573. package/dist/tools/local-content/schemas.js +33 -62
  574. package/dist/tools/local-content/schemas.js.map +1 -1
  575. package/dist/tools/modules/builders.d.ts +4 -0
  576. package/dist/tools/modules/builders.d.ts.map +1 -0
  577. package/dist/tools/modules/builders.js +58 -0
  578. package/dist/tools/modules/builders.js.map +1 -0
  579. package/dist/tools/modules/index.d.ts +2 -0
  580. package/dist/tools/modules/index.d.ts.map +1 -0
  581. package/dist/tools/modules/index.js +2 -0
  582. package/dist/tools/modules/index.js.map +1 -0
  583. package/dist/tools/modules/module-id-schema.d.ts +4 -0
  584. package/dist/tools/modules/module-id-schema.d.ts.map +1 -0
  585. package/dist/tools/modules/module-id-schema.js +14 -0
  586. package/dist/tools/modules/module-id-schema.js.map +1 -0
  587. package/dist/tools/modules/module-type-fields.d.ts +10 -0
  588. package/dist/tools/modules/module-type-fields.d.ts.map +1 -0
  589. package/dist/tools/modules/module-type-fields.js +34 -0
  590. package/dist/tools/modules/module-type-fields.js.map +1 -0
  591. package/dist/tools/modules/modules-create.d.ts +59 -0
  592. package/dist/tools/modules/modules-create.d.ts.map +1 -0
  593. package/dist/tools/modules/modules-create.js +154 -0
  594. package/dist/tools/modules/modules-create.js.map +1 -0
  595. package/dist/tools/modules/modules-delete.d.ts +51 -0
  596. package/dist/tools/modules/modules-delete.d.ts.map +1 -0
  597. package/dist/tools/modules/modules-delete.js +180 -0
  598. package/dist/tools/modules/modules-delete.js.map +1 -0
  599. package/dist/tools/modules/modules-update.d.ts +43 -0
  600. package/dist/tools/modules/modules-update.d.ts.map +1 -0
  601. package/dist/tools/modules/modules-update.js +177 -0
  602. package/dist/tools/modules/modules-update.js.map +1 -0
  603. package/dist/tools/modules/placement-hints.d.ts +5 -0
  604. package/dist/tools/modules/placement-hints.d.ts.map +1 -0
  605. package/dist/tools/modules/placement-hints.js +90 -0
  606. package/dist/tools/modules/placement-hints.js.map +1 -0
  607. package/dist/tools/modules/placement-ways.d.ts +13 -0
  608. package/dist/tools/modules/placement-ways.d.ts.map +1 -0
  609. package/dist/tools/modules/placement-ways.js +61 -0
  610. package/dist/tools/modules/placement-ways.js.map +1 -0
  611. package/dist/tools/multi-items/builders.d.ts +1 -21
  612. package/dist/tools/multi-items/builders.d.ts.map +1 -1
  613. package/dist/tools/multi-items/builders.js +22 -67
  614. package/dist/tools/multi-items/builders.js.map +1 -1
  615. package/dist/tools/multi-items/index.d.ts +0 -15
  616. package/dist/tools/multi-items/index.d.ts.map +1 -1
  617. package/dist/tools/multi-items/index.js +0 -15
  618. package/dist/tools/multi-items/index.js.map +1 -1
  619. package/dist/tools/multi-items/item-container-map.d.ts +0 -35
  620. package/dist/tools/multi-items/item-container-map.d.ts.map +1 -1
  621. package/dist/tools/multi-items/item-container-map.js +0 -35
  622. package/dist/tools/multi-items/item-container-map.js.map +1 -1
  623. package/dist/tools/multi-items/output-schemas.d.ts +101 -0
  624. package/dist/tools/multi-items/output-schemas.d.ts.map +1 -0
  625. package/dist/tools/multi-items/output-schemas.js +74 -0
  626. package/dist/tools/multi-items/output-schemas.js.map +1 -0
  627. package/dist/tools/navigation/builders.d.ts +3 -0
  628. package/dist/tools/navigation/builders.d.ts.map +1 -0
  629. package/dist/tools/navigation/builders.js +25 -0
  630. package/dist/tools/navigation/builders.js.map +1 -0
  631. package/dist/tools/navigation/index.d.ts +2 -0
  632. package/dist/tools/navigation/index.d.ts.map +1 -0
  633. package/dist/tools/navigation/index.js +2 -0
  634. package/dist/tools/navigation/index.js.map +1 -0
  635. package/dist/tools/navigation/schemas.d.ts +16 -0
  636. package/dist/tools/navigation/schemas.d.ts.map +1 -0
  637. package/dist/tools/navigation/schemas.js +11 -0
  638. package/dist/tools/navigation/schemas.js.map +1 -0
  639. package/dist/tools/output-schema-metadata.d.ts +5 -0
  640. package/dist/tools/output-schema-metadata.d.ts.map +1 -0
  641. package/dist/tools/output-schema-metadata.js +83 -0
  642. package/dist/tools/output-schema-metadata.js.map +1 -0
  643. package/dist/tools/pages/builders.d.ts +1 -41
  644. package/dist/tools/pages/builders.d.ts.map +1 -1
  645. package/dist/tools/pages/builders.js +373 -359
  646. package/dist/tools/pages/builders.js.map +1 -1
  647. package/dist/tools/pages/header-transparency.d.ts +34 -0
  648. package/dist/tools/pages/header-transparency.d.ts.map +1 -0
  649. package/dist/tools/pages/header-transparency.js +85 -0
  650. package/dist/tools/pages/header-transparency.js.map +1 -0
  651. package/dist/tools/pages/index.d.ts +1 -19
  652. package/dist/tools/pages/index.d.ts.map +1 -1
  653. package/dist/tools/pages/index.js +1 -19
  654. package/dist/tools/pages/index.js.map +1 -1
  655. package/dist/tools/pages/schemas.d.ts +392 -224
  656. package/dist/tools/pages/schemas.d.ts.map +1 -1
  657. package/dist/tools/pages/schemas.js +605 -458
  658. package/dist/tools/pages/schemas.js.map +1 -1
  659. package/dist/tools/pages/write-output-schemas.d.ts +139 -0
  660. package/dist/tools/pages/write-output-schemas.d.ts.map +1 -0
  661. package/dist/tools/pages/write-output-schemas.js +138 -0
  662. package/dist/tools/pages/write-output-schemas.js.map +1 -0
  663. package/dist/tools/pages.d.ts +0 -11
  664. package/dist/tools/pages.d.ts.map +1 -1
  665. package/dist/tools/pages.js +0 -11
  666. package/dist/tools/pages.js.map +1 -1
  667. package/dist/tools/pool-resolve-helper.d.ts +0 -52
  668. package/dist/tools/pool-resolve-helper.d.ts.map +1 -1
  669. package/dist/tools/pool-resolve-helper.js +29 -104
  670. package/dist/tools/pool-resolve-helper.js.map +1 -1
  671. package/dist/tools/progress-phases.d.ts +0 -42
  672. package/dist/tools/progress-phases.d.ts.map +1 -1
  673. package/dist/tools/progress-phases.js +0 -44
  674. package/dist/tools/progress-phases.js.map +1 -1
  675. package/dist/tools/response-budget.d.ts +8 -0
  676. package/dist/tools/response-budget.d.ts.map +1 -0
  677. package/dist/tools/response-budget.js +7 -0
  678. package/dist/tools/response-budget.js.map +1 -0
  679. package/dist/tools/shared-schemas.d.ts +12 -43
  680. package/dist/tools/shared-schemas.d.ts.map +1 -1
  681. package/dist/tools/shared-schemas.js +42 -97
  682. package/dist/tools/shared-schemas.js.map +1 -1
  683. package/dist/tools/skill/builders.d.ts +3 -0
  684. package/dist/tools/skill/builders.d.ts.map +1 -0
  685. package/dist/tools/skill/builders.js +81 -0
  686. package/dist/tools/skill/builders.js.map +1 -0
  687. package/dist/tools/sources/builders.d.ts +1 -11
  688. package/dist/tools/sources/builders.d.ts.map +1 -1
  689. package/dist/tools/sources/builders.js +195 -173
  690. package/dist/tools/sources/builders.js.map +1 -1
  691. package/dist/tools/sources/index.d.ts +0 -17
  692. package/dist/tools/sources/index.d.ts.map +1 -1
  693. package/dist/tools/sources/index.js +0 -16
  694. package/dist/tools/sources/index.js.map +1 -1
  695. package/dist/tools/sources/read-output-schemas.d.ts +101 -0
  696. package/dist/tools/sources/read-output-schemas.d.ts.map +1 -0
  697. package/dist/tools/sources/read-output-schemas.js +105 -0
  698. package/dist/tools/sources/read-output-schemas.js.map +1 -0
  699. package/dist/tools/sources/source-name-argument.d.ts +17 -0
  700. package/dist/tools/sources/source-name-argument.d.ts.map +1 -0
  701. package/dist/tools/sources/source-name-argument.js +64 -0
  702. package/dist/tools/sources/source-name-argument.js.map +1 -0
  703. package/dist/tools/sources/write-output-schemas.d.ts +100 -0
  704. package/dist/tools/sources/write-output-schemas.d.ts.map +1 -0
  705. package/dist/tools/sources/write-output-schemas.js +61 -0
  706. package/dist/tools/sources/write-output-schemas.js.map +1 -0
  707. package/dist/tools/sources.d.ts +0 -12
  708. package/dist/tools/sources.d.ts.map +1 -1
  709. package/dist/tools/sources.js +0 -12
  710. package/dist/tools/sources.js.map +1 -1
  711. package/dist/tools/sparse-fields.d.ts +19 -194
  712. package/dist/tools/sparse-fields.d.ts.map +1 -1
  713. package/dist/tools/sparse-fields.js +212 -196
  714. package/dist/tools/sparse-fields.js.map +1 -1
  715. package/dist/tools/strict-input.d.ts +5 -0
  716. package/dist/tools/strict-input.d.ts.map +1 -0
  717. package/dist/tools/strict-input.js +55 -0
  718. package/dist/tools/strict-input.js.map +1 -0
  719. package/dist/tools/sublayout/builders.d.ts +1 -21
  720. package/dist/tools/sublayout/builders.d.ts.map +1 -1
  721. package/dist/tools/sublayout/builders.js +10 -40
  722. package/dist/tools/sublayout/builders.js.map +1 -1
  723. package/dist/tools/sublayout/index.d.ts +1 -11
  724. package/dist/tools/sublayout/index.d.ts.map +1 -1
  725. package/dist/tools/sublayout/index.js +1 -11
  726. package/dist/tools/sublayout/index.js.map +1 -1
  727. package/dist/tools/sublayout/output-schemas.d.ts +57 -0
  728. package/dist/tools/sublayout/output-schemas.d.ts.map +1 -0
  729. package/dist/tools/sublayout/output-schemas.js +51 -0
  730. package/dist/tools/sublayout/output-schemas.js.map +1 -0
  731. package/dist/tools/tool-builder/annotations.d.ts +1 -49
  732. package/dist/tools/tool-builder/annotations.d.ts.map +1 -1
  733. package/dist/tools/tool-builder/annotations.js +9 -49
  734. package/dist/tools/tool-builder/annotations.js.map +1 -1
  735. package/dist/tools/tool-builder/confirm-preview.d.ts +24 -0
  736. package/dist/tools/tool-builder/confirm-preview.d.ts.map +1 -0
  737. package/dist/tools/tool-builder/confirm-preview.js +37 -0
  738. package/dist/tools/tool-builder/confirm-preview.js.map +1 -0
  739. package/dist/tools/tool-builder/define.d.ts +6 -26
  740. package/dist/tools/tool-builder/define.d.ts.map +1 -1
  741. package/dist/tools/tool-builder/define.js +0 -25
  742. package/dist/tools/tool-builder/define.js.map +1 -1
  743. package/dist/tools/tool-builder/index.d.ts +3 -26
  744. package/dist/tools/tool-builder/index.d.ts.map +1 -1
  745. package/dist/tools/tool-builder/index.js +2 -25
  746. package/dist/tools/tool-builder/index.js.map +1 -1
  747. package/dist/tools/tool-builder/results.d.ts +4 -111
  748. package/dist/tools/tool-builder/results.d.ts.map +1 -1
  749. package/dist/tools/tool-builder/results.js +258 -250
  750. package/dist/tools/tool-builder/results.js.map +1 -1
  751. package/dist/tools/tool-builder/types.d.ts +5 -59
  752. package/dist/tools/tool-builder/types.d.ts.map +1 -1
  753. package/dist/tools/tool-builder/types.js +0 -7
  754. package/dist/tools/tool-builder/types.js.map +1 -1
  755. package/dist/tools/tool-builder.d.ts +0 -14
  756. package/dist/tools/tool-builder.d.ts.map +1 -1
  757. package/dist/tools/tool-builder.js +0 -14
  758. package/dist/tools/tool-builder.js.map +1 -1
  759. package/dist/uninstall-skill.d.ts +0 -41
  760. package/dist/uninstall-skill.d.ts.map +1 -1
  761. package/dist/uninstall-skill.js +0 -49
  762. package/dist/uninstall-skill.js.map +1 -1
  763. package/dist/uninstall.d.ts +0 -41
  764. package/dist/uninstall.d.ts.map +1 -1
  765. package/dist/uninstall.js +1 -29
  766. package/dist/uninstall.js.map +1 -1
  767. package/dist/update/update-check.d.ts +0 -26
  768. package/dist/update/update-check.d.ts.map +1 -1
  769. package/dist/update/update-check.js +0 -25
  770. package/dist/update/update-check.js.map +1 -1
  771. package/manifest.json +4 -5
  772. package/package.json +5 -5
  773. package/skills/yt-builder-mcp/SKILL.md +2958 -382
  774. package/dist/tools/elements/handlers-write.d.ts +0 -70
  775. package/dist/tools/elements/handlers-write.d.ts.map +0 -1
  776. package/dist/tools/elements/handlers-write.js +0 -700
  777. package/dist/tools/elements/handlers-write.js.map +0 -1
  778. package/dist/tools/elements/handlers.d.ts +0 -125
  779. package/dist/tools/elements/handlers.d.ts.map +0 -1
  780. package/dist/tools/elements/handlers.js +0 -571
  781. package/dist/tools/elements/handlers.js.map +0 -1
  782. package/dist/tools/elements/layout-hierarchy-rules.d.ts +0 -62
  783. package/dist/tools/elements/layout-hierarchy-rules.d.ts.map +0 -1
  784. package/dist/tools/elements/layout-hierarchy-rules.js +0 -154
  785. package/dist/tools/elements/layout-hierarchy-rules.js.map +0 -1
  786. package/dist/tools/elements/schema-validation.d.ts +0 -96
  787. package/dist/tools/elements/schema-validation.d.ts.map +0 -1
  788. package/dist/tools/elements/schema-validation.js +0 -249
  789. package/dist/tools/elements/schema-validation.js.map +0 -1
  790. package/dist/tools/elicitation.d.ts +0 -87
  791. package/dist/tools/elicitation.d.ts.map +0 -1
  792. package/dist/tools/elicitation.js +0 -100
  793. package/dist/tools/elicitation.js.map +0 -1
  794. package/dist/tools/format/elements-format.d.ts +0 -75
  795. package/dist/tools/format/elements-format.d.ts.map +0 -1
  796. package/dist/tools/format/elements-format.js +0 -324
  797. package/dist/tools/format/elements-format.js.map +0 -1
  798. package/dist/tools/format/source-schema-format.d.ts +0 -74
  799. package/dist/tools/format/source-schema-format.d.ts.map +0 -1
  800. package/dist/tools/format/source-schema-format.js +0 -208
  801. package/dist/tools/format/source-schema-format.js.map +0 -1
  802. package/dist/tools/layout-flatten.d.ts +0 -84
  803. package/dist/tools/layout-flatten.d.ts.map +0 -1
  804. package/dist/tools/layout-flatten.js +0 -129
  805. package/dist/tools/layout-flatten.js.map +0 -1
  806. package/dist/tools/local-content/handlers.d.ts +0 -54
  807. package/dist/tools/local-content/handlers.d.ts.map +0 -1
  808. package/dist/tools/local-content/handlers.js +0 -316
  809. package/dist/tools/local-content/handlers.js.map +0 -1
  810. package/dist/tools/multi-items/clean-implode-handler.d.ts +0 -37
  811. package/dist/tools/multi-items/clean-implode-handler.d.ts.map +0 -1
  812. package/dist/tools/multi-items/clean-implode-handler.js +0 -65
  813. package/dist/tools/multi-items/clean-implode-handler.js.map +0 -1
  814. package/dist/tools/multi-items/format/inspection-format.d.ts +0 -41
  815. package/dist/tools/multi-items/format/inspection-format.d.ts.map +0 -1
  816. package/dist/tools/multi-items/format/inspection-format.js +0 -64
  817. package/dist/tools/multi-items/format/inspection-format.js.map +0 -1
  818. package/dist/tools/multi-items/inspect-handler.d.ts +0 -97
  819. package/dist/tools/multi-items/inspect-handler.d.ts.map +0 -1
  820. package/dist/tools/multi-items/inspect-handler.js +0 -323
  821. package/dist/tools/multi-items/inspect-handler.js.map +0 -1
  822. package/dist/tools/multi-items/inspection-cache.d.ts +0 -85
  823. package/dist/tools/multi-items/inspection-cache.d.ts.map +0 -1
  824. package/dist/tools/multi-items/inspection-cache.js +0 -126
  825. package/dist/tools/multi-items/inspection-cache.js.map +0 -1
  826. package/dist/tools/pages/handlers-audit.d.ts +0 -129
  827. package/dist/tools/pages/handlers-audit.d.ts.map +0 -1
  828. package/dist/tools/pages/handlers-audit.js +0 -704
  829. package/dist/tools/pages/handlers-audit.js.map +0 -1
  830. package/dist/tools/pages/handlers-read.d.ts +0 -95
  831. package/dist/tools/pages/handlers-read.d.ts.map +0 -1
  832. package/dist/tools/pages/handlers-read.js +0 -929
  833. package/dist/tools/pages/handlers-read.js.map +0 -1
  834. package/dist/tools/pages/handlers-write.d.ts +0 -212
  835. package/dist/tools/pages/handlers-write.d.ts.map +0 -1
  836. package/dist/tools/pages/handlers-write.js +0 -418
  837. package/dist/tools/pages/handlers-write.js.map +0 -1
  838. package/dist/tools/pages/target.d.ts +0 -162
  839. package/dist/tools/pages/target.d.ts.map +0 -1
  840. package/dist/tools/pages/target.js +0 -239
  841. package/dist/tools/pages/target.js.map +0 -1
  842. package/dist/tools/sources/handlers-bind.d.ts +0 -148
  843. package/dist/tools/sources/handlers-bind.d.ts.map +0 -1
  844. package/dist/tools/sources/handlers-bind.js +0 -655
  845. package/dist/tools/sources/handlers-bind.js.map +0 -1
  846. package/dist/tools/sources/handlers.d.ts +0 -114
  847. package/dist/tools/sources/handlers.d.ts.map +0 -1
  848. package/dist/tools/sources/handlers.js +0 -285
  849. package/dist/tools/sources/handlers.js.map +0 -1
  850. package/dist/tools/sublayout/inspect-sublayout-handler.d.ts +0 -95
  851. package/dist/tools/sublayout/inspect-sublayout-handler.d.ts.map +0 -1
  852. package/dist/tools/sublayout/inspect-sublayout-handler.js +0 -181
  853. package/dist/tools/sublayout/inspect-sublayout-handler.js.map +0 -1
@@ -1,571 +0,0 @@
1
- /**
2
- * Element-tool read handlers + shared types/schemas.
3
- *
4
- * Split out of the original `src/tools/elements.ts` (Wave G.4.0). Write
5
- * handlers (add/update/move/clone/delete) live in `./handlers-write.ts`
6
- * to keep each file under the 200-LoC budget.
7
- *
8
- * Handler responsibilities:
9
- * - call the REST endpoint via `deps.client`,
10
- * - map REST data to the toolkit output builders (`tableResult`,
11
- * `detailResult`),
12
- * - wrap in `structuredResult` to carry the typed
13
- * `structuredContent` payload,
14
- * - on error, return `errorResult` with `context` + `hint`.
15
- *
16
- * @license MIT
17
- */
18
- import { detailResult, tableResult } from '@getimo/mcp-toolkit';
19
- import { z } from 'zod';
20
- import { encodeElementPath, encodeTemplateId } from '../../client.js';
21
- import { RestError } from '../../errors.js';
22
- import { ELEMENTS_COMPACT_COLUMNS, ELEMENTS_TABLE_COLUMNS, buildElementDetail, extractBinding, mapElementRow, } from '../format/elements-format.js';
23
- import { DEFAULT_FIELDS_ELEMENT_LIST, applyMaxChars, columnsFromFields, projectFields, projectFieldsSingle, projectionCollisionWarning, projectionFeedback, projectionWarning, projectedFieldsEcho, } from '../sparse-fields.js';
24
- import { errorResult, structuredResult, } from '../tool-builder.js';
25
- // ─── outputSchemas (Wave G.2 §4) ─────────────────────────────────────
26
- export const ELEMENT_LIST_OUTPUT_SCHEMA = z.object({
27
- // 1.0.1 Wave-1.5 — Cold agents need to see the row shape so they know
28
- // they can copy `rel_path`/`path`/`element_type`/`parent_path` straight
29
- // back into the next call. All fields are optional + the row is
30
- // `passthrough()` so projected/narrow `fields[]` calls still validate.
31
- items: z.array(z
32
- .object({
33
- path: z
34
- .string()
35
- .optional()
36
- .describe('Fully-qualified JSON-Pointer ' +
37
- '(`/templates/<id>/layout/children/...`).'),
38
- rel_path: z
39
- .string()
40
- .optional()
41
- .describe('Path relative to layout root (`/children/0/...`). ' +
42
- 'Pass either form back as `element_path`.'),
43
- element_type: z
44
- .string()
45
- .optional()
46
- .describe("Element type (e.g. `headline`, `section`, `grid`). " +
47
- "Feeds `element_add.element_type` directly."),
48
- parent_path: z
49
- .string()
50
- .optional()
51
- .describe("Path of this element's parent. Feeds `element_add.parent_path` / " +
52
- "`element_move.to_parent_path` directly (rel_path form preferred)."),
53
- label: z
54
- .string()
55
- .optional()
56
- .describe('Human-readable name of the element (alias of `name`).'),
57
- has_binding: z
58
- .boolean()
59
- .optional()
60
- .describe('True when this element is dynamically bound to a data ' +
61
- 'source. Use `element_get_binding` for the full mapping.'),
62
- // F88: surface the binding so leaf field-mappings are readable
63
- // back without dumping the props tree. Present only on bound rows.
64
- source: z
65
- .unknown()
66
- .optional()
67
- .describe('Raw binding object when bound (e.g. `{query:{name:"#parent"},' +
68
- 'props:{content:{name:"field.x"}}}`). Copy back into ' +
69
- '`element_bind_source`. Present only when `has_binding` is true.'),
70
- // N7 (2026-06-27): the native ITEM-level binding (YT-Pro
71
- // Multi-Items pattern) carries its per-item field-mappings in
72
- // TOP-LEVEL `source_extended.props`. Declared so it is
73
- // PROJECTABLE (`fields:["source_extended"]`) and surfaces on the
74
- // row. The row is `.passthrough()` so this isn't strictly
75
- // required for validation, but declaring it makes it a
76
- // first-class, discoverable projection field. Present only on
77
- // bound item rows.
78
- source_extended: z
79
- .unknown()
80
- .optional()
81
- .describe('Native item-level field-mappings (e.g. `{props:{title:{query:' +
82
- '{name:"#node"},name:"title"}}}`) for a bound `*_item` ' +
83
- 'element. Present only when the item carries this carrier.'),
84
- binding_summary: z
85
- .string()
86
- .optional()
87
- .describe('Compact one-line binding: `<query> ← <el>:<field>, …`. ' +
88
- 'Present only when bound.'),
89
- })
90
- .passthrough()),
91
- total: z.number(),
92
- template_id: z.string(),
93
- // N-01: present only when the call was paginated and more rows remain.
94
- next_cursor: z.string().optional(),
95
- projected_fields: z.array(z.string()).optional(),
96
- // F-005 fix (2026-05-25 exhaustive audit): projection-feedback so
97
- // callers passing the wrong field name (e.g. `type` instead of
98
- // `element_type`) get an explicit hint instead of silently-empty
99
- // table columns. See sparse-fields.ts::projectionFeedback.
100
- available_fields: z.array(z.string()).optional(),
101
- unknown_fields: z.array(z.string()).optional(),
102
- // F23 (2026-06-10): the LOUD unknown-projection warning also rides in
103
- // structuredContent — hosts that surface structuredContent (not the
104
- // text leg) to the model would otherwise never see it.
105
- projection_warning: z.string().optional(),
106
- });
107
- export const ELEMENT_GET_OUTPUT_SCHEMA = z.object({
108
- // WAVE-1 follow-up (b): element_get now accepts `fields[]`, which DROPS the
109
- // unrequested keys — so template_id/element_path/element_type/children_count
110
- // are `.optional()` here (mirroring SCHEMA_OUTPUT_SCHEMA / ELEMENT_LIST rows)
111
- // so a projected response still validates under additionalProperties:false. A
112
- // full (no-fields) read still carries all of them.
113
- template_id: z.string().optional(),
114
- element_path: z.string().optional(),
115
- // PG2 (addressing-coherence): the canonical rel_path form (`/children/0/…`,
116
- // the shape element_list emits) forwarded from the PHP body alongside
117
- // `element_path`, ADDITIVE. DECLARED here because the outputSchema is emitted
118
- // with `additionalProperties:false`, so a strict host (Claude Desktop) would
119
- // -32602-reject the SUCCESS if structuredContent carried an undeclared key
120
- // (the G2 `changed_paths` lesson). `.optional()` keeps back-compat with
121
- // pre-PG2 plugins whose body omits it.
122
- rel_path: z.string().optional(),
123
- // G6 (Path→Breadcrumb humanizer): the full human breadcrumb of
124
- // `element_path` (`Hero ▸ Column 1 ▸ Headline`), forwarded from the PHP
125
- // body. MUST be DECLARED here — the outputSchema is emitted with
126
- // `additionalProperties:false`, so a strict host (Claude Desktop) would
127
- // reject the SUCCESS with -32602 if structuredContent carried an
128
- // undeclared key (the G2 `changed_paths` lesson). `.optional()` keeps
129
- // back-compat with pre-G6 plugins whose body omits it.
130
- path_label: z.string().optional(),
131
- element_type: z.string(),
132
- // ELEMENT_WRITE-20: the TOP-LEVEL node `name` field (the builder label /
133
- // node metadata that lives OUTSIDE props — page_get_layout exposes it as a
134
- // real node field). Distinct from the DERIVED `label`; forwarded so a
135
- // read-then-write-back preserves the name faithfully. DECLARED here because
136
- // the outputSchema is emitted with `additionalProperties:false` (the -32602
137
- // lesson); `.optional()` because a node may carry no `name` and a pre-fix
138
- // host may not emit it top-level.
139
- name: z.string().optional(),
140
- label: z.string().optional(),
141
- props: z.record(z.string(), z.unknown()).optional(),
142
- children_count: z.number().optional(),
143
- // F88 (2026-06-10): when the element is bound, surface the raw binding
144
- // object + a compact summary so a leaf's field-mappings are readable back
145
- // (the props tree no longer has to be eyeballed). Present only when bound.
146
- source: z.unknown().optional(),
147
- // N6 (2026-06-27): the native ITEM-level binding (YT-Pro Multi-Items
148
- // pattern) carries its per-item field-mappings in TOP-LEVEL
149
- // `source_extended.props`, NOT in `props.source`. Once the PHP read emits
150
- // it, structuredContent carries `source_extended` too — so it MUST be
151
- // DECLARED here. The outputSchema is emitted with `additionalProperties:
152
- // false`, so a strict host (Claude Desktop) -32602-rejects the SUCCESS the
153
- // moment an undeclared key rides in structuredContent (the G2/G6 lesson).
154
- // `.optional()` keeps unbound + leaf-bound reads byte-identical.
155
- source_extended: z.unknown().optional(),
156
- binding_summary: z.string().optional(),
157
- });
158
- // ─── element_list ────────────────────────────────────────────────────
159
- /**
160
- * F-205 (Audit 2026-05-26): shape-validate a cursor token up-front.
161
- *
162
- * The server-side cursor format (see `ElementOps::encodeCursor`) is
163
- * base64url-encoded `o:<digits>`. Accept ALSO the raw `o:<digits>`
164
- * form so hand-crafted iteration scripts + tests don't break. Anything
165
- * else is a typo / corrupted token and must be rejected with a
166
- * structured 400 — silently returning page 1 (the pre-fix behaviour)
167
- * makes cold-agents loop on invalid cursors.
168
- *
169
- * We deliberately do NOT validate the cursor against the actual page
170
- * state (no decode + range-check) — only shape.
171
- */
172
- function isValidCursorShape(cursor) {
173
- if (cursor.length === 0)
174
- return false;
175
- // Form A: raw `o:<digits>`.
176
- if (/^o:\d+$/.test(cursor))
177
- return true;
178
- // Form B: base64url (charset only). Must decode to `o:<digits>`.
179
- if (!/^[A-Za-z0-9_-]+$/.test(cursor))
180
- return false;
181
- try {
182
- const padded = cursor.replace(/-/g, '+').replace(/_/g, '/');
183
- const padLen = (4 - (padded.length % 4)) % 4;
184
- const decoded = Buffer.from(padded + '='.repeat(padLen), 'base64').toString('utf8');
185
- return /^o:\d+$/.test(decoded);
186
- }
187
- catch {
188
- return false;
189
- }
190
- }
191
- export async function handleElementList({ client }, { template_id, fields, root_path, depth, limit, cursor, max_chars, }) {
192
- // F-205 (Audit 2026-05-26): validate cursor shape BEFORE the REST
193
- // call so an invalid token surfaces a structured 400 instead of
194
- // silently returning page 1.
195
- if (typeof cursor === 'string' && cursor !== '' && !isValidCursorShape(cursor)) {
196
- return errorResult({
197
- error: new RestError({
198
- status: 400,
199
- code: 'yootheme_builder_mcp.elements.invalid_cursor',
200
- message: `Invalid cursor "${cursor}" — expected an opaque token from a prior call's next_cursor.`,
201
- body: null,
202
- }),
203
- context: { cursor, template_id },
204
- hint: 'Omit `cursor` for page 1, or copy the `next_cursor` field ' +
205
- "from a prior `element_list` call's response.",
206
- });
207
- }
208
- try {
209
- // N-01 (Audit-v3): forward the transport-safe scoping params as
210
- // query string. The REST layer returns the pagination envelope
211
- // `{items, next_cursor, total}` when `limit` is set, else the flat
212
- // `{elements, total}` shape — handle both.
213
- const qs = new URLSearchParams();
214
- if (typeof root_path === 'string' && root_path !== '') {
215
- qs.set('root_path', root_path);
216
- }
217
- if (typeof depth === 'number')
218
- qs.set('depth', String(depth));
219
- if (typeof limit === 'number')
220
- qs.set('limit', String(limit));
221
- if (typeof cursor === 'string' && cursor !== '')
222
- qs.set('cursor', cursor);
223
- // F13 (2026-06-09): when the caller projects a nested `props.*`
224
- // field, ask the REST plugin to attach the full props map per row
225
- // (ElementOps::listOnTemplate honours `include=props`). The default
226
- // row carries only `props_summary` (key names), which the row
227
- // mapper drops — so without this opt-in the nested path would have
228
- // nothing to project against. Mirrors page_get_layout flat-mode,
229
- // which always carries props.
230
- const wantsNestedProps = Array.isArray(fields) &&
231
- fields.some((f) => f === 'props' || f.startsWith('props.'));
232
- if (wantsNestedProps)
233
- qs.set('include', 'props');
234
- const query = qs.toString();
235
- const data = await client.get(`/pages/${encodeTemplateId(template_id)}/elements${query !== '' ? `?${query}` : ''}`);
236
- // Paginated envelope uses `items`; flat shape uses `elements`.
237
- const rawSource = Array.isArray(data.items)
238
- ? data.items
239
- : Array.isArray(data.elements)
240
- ? data.elements
241
- : [];
242
- // F-206 (Audit 2026-05-26): distinguish "explicit root_path
243
- // pointer not found" from "template is truly empty". Without
244
- // this branch, `element_list({root_path: '/does/not/exist'})`
245
- // returned `0 elements` silently — cold agents had no signal
246
- // whether the pointer was a typo or the subtree empty. Only
247
- // raise when (a) the caller PASSED a non-empty root_path AND
248
- // (b) the REST returned 0 rows. Omitted root_path on a truly
249
- // empty template stays a success.
250
- if (typeof root_path === 'string' &&
251
- root_path !== '' &&
252
- rawSource.length === 0) {
253
- return errorResult({
254
- error: new RestError({
255
- status: 404,
256
- code: 'yootheme_builder_mcp.elements.unknown_root_path',
257
- message: `root_path "${root_path}" not found in template "${template_id}".`,
258
- body: null,
259
- }),
260
- context: { root_path, template_id },
261
- hint: 'Verify via yootheme_builder_element_list (omit root_path) ' +
262
- 'to discover existing JSON-Pointers in the template.',
263
- });
264
- }
265
- const mapped = rawSource
266
- .filter((x) => x !== null && typeof x === 'object')
267
- .map(mapElementRow);
268
- const items = projectFields(mapped, fields, DEFAULT_FIELDS_ELEMENT_LIST);
269
- const echo = projectedFieldsEcho(fields, DEFAULT_FIELDS_ELEMENT_LIST);
270
- const feedback = projectionFeedback(mapped, fields);
271
- // F23 (2026-06-09): the loud text-leg warning is built by the
272
- // shared helper so every read tool surfaces the identical signal.
273
- // ELEMENT_WRITE-5: also flag a props-prefix flatten collision (e.g.
274
- // requesting both `name` and `props.name`, which collapse to one key).
275
- const unknownNote = projectionWarning(feedback) + projectionCollisionWarning(fields);
276
- // N-01 (Audit v4): when the caller passes an explicit narrow
277
- // `fields[]`, render the text table from the projected (slim)
278
- // rows with `full` detail (8000 chars) so the WHOLE node list
279
- // survives — the default compact table caps at 2000 chars and
280
- // hides ~70 of a 96-node template. Without `fields[]` keep the
281
- // auto-scaling behaviour (full columns, count-driven level).
282
- const hasNarrowProjection = Array.isArray(fields) && fields.length > 0;
283
- const toolkitResult = hasNarrowProjection
284
- ? tableResult(items, {
285
- columns: columnsFromFields(fields),
286
- header: (count) => `${String(count)} elements in template "${template_id}"${unknownNote}`,
287
- footer: 'Use yootheme_builder_element_get <path> for full data.',
288
- }, 'full')
289
- : tableResult(mapped, {
290
- columns: [...ELEMENTS_TABLE_COLUMNS],
291
- compactColumns: [...ELEMENTS_COMPACT_COLUMNS],
292
- header: (count) => `${String(count)} elements in template "${template_id}"${unknownNote}`,
293
- footer: 'Use yootheme_builder_element_get <path> for full data.',
294
- });
295
- return structuredResult(applyMaxChars(toolkitResult, max_chars), {
296
- items,
297
- total: typeof data.total === 'number' ? data.total : items.length,
298
- template_id,
299
- ...(typeof data.next_cursor === 'string' && data.next_cursor !== ''
300
- ? { next_cursor: data.next_cursor }
301
- : {}),
302
- ...(echo !== undefined ? { projected_fields: [...echo] } : {}),
303
- ...(feedback !== undefined ? {
304
- available_fields: [...feedback.available_fields],
305
- unknown_fields: [...feedback.unknown_fields],
306
- ...(unknownNote.trim() !== '' ? { projection_warning: unknownNote.trim() } : {}),
307
- } : {}),
308
- });
309
- }
310
- catch (e) {
311
- return errorResult({
312
- error: e,
313
- context: { template_id },
314
- hint: 'Verify the template_id via yootheme_builder_pages_list.',
315
- });
316
- }
317
- }
318
- // ─── element_get ─────────────────────────────────────────────────────
319
- export async function handleElementGet({ client }, { template_id, element_path, fields, max_chars }) {
320
- const encoded = encodeElementPath(element_path);
321
- try {
322
- const data = await client.get(`/pages/${encodeTemplateId(template_id)}/elements/${encoded}`);
323
- const elementType = typeof data.element_type === 'string'
324
- ? data.element_type
325
- : typeof data.type === 'string'
326
- ? data.type
327
- : '';
328
- const label = typeof data.label === 'string' ? data.label : undefined;
329
- // ELEMENT_WRITE-20: the top-level node `name` (builder metadata that
330
- // lives OUTSIDE props). Prefer the flattened top-level key; fall back to
331
- // the raw node's own `name`. Forwarded DISTINCT from the derived `label`
332
- // so a read-then-write-back can restore the name faithfully. Read as
333
- // `rawElement` is computed further down — recompute the node name here
334
- // from data.name only (the flattened key), with the raw-node fallback
335
- // applied once `rawElement` exists (below).
336
- const nodeNameTop = typeof data.name === 'string' && data.name !== '' ? data.name : undefined;
337
- // G6 (Path→Breadcrumb humanizer): the PHP body now carries a human
338
- // breadcrumb of the path. Forward it verbatim (present only on G6+
339
- // plugins). DECLARED in ELEMENT_GET_OUTPUT_SCHEMA so a strict host
340
- // accepts it (the -32602 lesson).
341
- const pathLabel = typeof data.path_label === 'string' ? data.path_label : undefined;
342
- // PG2 (addressing-coherence): the canonical rel_path form the PHP body
343
- // now carries (`/children/0/…`). Forward it verbatim (present only on
344
- // PG2+ plugins). DECLARED in ELEMENT_GET_OUTPUT_SCHEMA so a strict host
345
- // accepts it (the -32602 lesson).
346
- const relPath = typeof data.rel_path === 'string' ? data.rel_path : undefined;
347
- // Cluster C3 (back-compat defense-in-depth): older deployed plugins
348
- // serialize an EMPTY props map as a JSON array `[]` (PHP
349
- // `json_encode([])`). The fixed producer emits `{}`, but a client
350
- // talking to an un-upgraded host still receives `[]`. The
351
- // `element_get` outputSchema declares `props` as a `z.record(...)`
352
- // (object), so emitting the raw `[]` into structuredContent makes
353
- // the host reject the response with -32602 ("expected record,
354
- // received array"). Normalize a ZERO-LENGTH array into an empty
355
- // object. A NON-empty array is genuinely invalid (no plugin emits
356
- // a populated array for props) — leave it untouched so schema
357
- // validation surfaces the real error instead of masking it.
358
- const propsRaw = Array.isArray(data.props) && data.props.length === 0
359
- ? {}
360
- : data.props;
361
- const props = propsRaw !== null && typeof propsRaw === 'object'
362
- ? propsRaw
363
- : undefined;
364
- const children = Array.isArray(data.children) ? data.children : [];
365
- // F88: read the top-level binding carriers too. element_get returns
366
- // the raw node under `element` plus the flattened top-level keys; the
367
- // leaf #parent binding lives in `props.source`, but a container's
368
- // binding may live in the top-level `source` / `source_extended`. Pass
369
- // them through so the binding is surfaced + readable back.
370
- const rawElement = data.element !== null && typeof data.element === 'object' && !Array.isArray(data.element)
371
- ? data.element
372
- : {};
373
- const topSource = data.source ?? rawElement.source;
374
- const topSourceExtended = data.source_extended ?? rawElement.source_extended;
375
- // ELEMENT_WRITE-20: resolve the node `name` — flattened top-level key
376
- // first, else the raw node's own `name`. Present only when the node
377
- // actually carries one.
378
- const nodeName = nodeNameTop ?? (typeof rawElement.name === 'string' && rawElement.name !== '' ? rawElement.name : undefined);
379
- const binding = extractBinding({
380
- ...(props !== undefined ? { props } : {}),
381
- ...(topSource !== undefined ? { source: topSource } : {}),
382
- ...(topSourceExtended !== undefined ? { source_extended: topSourceExtended } : {}),
383
- });
384
- const toolkitResult = detailResult(buildElementDetail({
385
- path: element_path,
386
- element_type: elementType,
387
- label,
388
- props,
389
- children: children,
390
- ...(topSource !== undefined ? { source: topSource } : {}),
391
- ...(topSourceExtended !== undefined ? { source_extended: topSourceExtended } : {}),
392
- }));
393
- const structured = {
394
- template_id,
395
- element_path,
396
- ...(relPath !== undefined ? { rel_path: relPath } : {}),
397
- ...(pathLabel !== undefined ? { path_label: pathLabel } : {}),
398
- element_type: elementType,
399
- ...(nodeName !== undefined ? { name: nodeName } : {}),
400
- ...(label !== undefined ? { label } : {}),
401
- ...(props !== undefined ? { props } : {}),
402
- children_count: children.length,
403
- ...(binding !== null
404
- ? { source: binding.source, binding_summary: binding.binding_summary }
405
- : {}),
406
- // N6 (2026-06-27): surface the native item-level `source_extended`
407
- // carrier (the per-item field-mappings) so a bound grid_item /
408
- // accordion_item is fully readable back without a layout dump. The
409
- // key is DECLARED in ELEMENT_GET_OUTPUT_SCHEMA so a strict host
410
- // accepts it. Present only when the PHP body actually carried it
411
- // (an unbound / leaf-bound read stays byte-identical).
412
- ...(topSourceExtended !== undefined ? { source_extended: topSourceExtended } : {}),
413
- };
414
- // WAVE-1 follow-up (b): project the single-object structuredContent to
415
- // `fields[]` (default-all when omitted) and cap the text leg at max_chars.
416
- const projected = projectFieldsSingle(structured, fields, undefined);
417
- return structuredResult(applyMaxChars(toolkitResult, max_chars), projected);
418
- }
419
- catch (e) {
420
- // N4 (TEMPLATE-ID-CONSISTENCY, Glöckle 2026-06-28): a bare-numeric
421
- // template_id (the value page_get_layout returns for a post_id-addressed
422
- // read) now resolves 1:1 when the node exists — the server's
423
- // LayoutReader::readByPointer per-page/per-article fallback. The richer
424
- // `expected_id_form` / nearest-path envelope from the 404 body is
425
- // forwarded automatically by errorResult; the hint additionally names
426
- // the canonical `page:<id>` / `article:<id>` form when the template_id
427
- // is bare-numeric, so the agent self-corrects without a guess round.
428
- const isBareNumericId = typeof template_id === 'string' && /^\d+$/.test(template_id);
429
- const hint = isBareNumericId
430
- ? `Paths are JSON-Pointer style ("/0/children/1"). The template_id "${template_id}" ` +
431
- 'is a bare numeric post/article id — per-page layouts resolve when the node exists; ' +
432
- 'address them canonically as `page:' +
433
- `${template_id}\` (WordPress) or \`article:${template_id}\` (Joomla). Use ` +
434
- 'yootheme_builder_element_list to enumerate valid paths.'
435
- : 'Paths are JSON-Pointer style ("/0/children/1"). Use ' +
436
- 'yootheme_builder_element_list to enumerate valid paths.';
437
- return errorResult({
438
- error: e,
439
- context: { template_id, element_path },
440
- hint,
441
- });
442
- }
443
- }
444
- // ─── layout_query (G5 — L2 advanced) ─────────────────────────────────
445
- /**
446
- * G5 — `layout_query` output schema. STRICT discipline (the G2 -32602 lesson):
447
- * every key that rides in `structuredContent` is DECLARED here. Rows are the
448
- * lean `{path, rel_path, element_type, label, has_binding}` navigation subset
449
- * (a `.passthrough()` row keeps projected/narrow `fields[]` calls valid).
450
- */
451
- export const LAYOUT_QUERY_OUTPUT_SCHEMA = z.object({
452
- items: z.array(z
453
- .object({
454
- path: z
455
- .string()
456
- .optional()
457
- .describe('Fully-qualified JSON-Pointer (`/templates/<id>/layout/children/...`).'),
458
- rel_path: z
459
- .string()
460
- .optional()
461
- .describe('Path relative to layout root (`/children/0/...`). Pass back as `element_path`.'),
462
- element_type: z
463
- .string()
464
- .optional()
465
- .describe('Element type (e.g. `headline`, `section`, `grid`).'),
466
- label: z.string().optional().describe('Human-readable name of the element.'),
467
- has_binding: z
468
- .boolean()
469
- .optional()
470
- .describe('True when this element is dynamically bound to a data source.'),
471
- })
472
- .passthrough()),
473
- total: z.number().describe('Total matching elements (before pagination).'),
474
- template_id: z.string(),
475
- next_cursor: z.string().optional().describe('Present only when paginated and more rows remain.'),
476
- projected_fields: z.array(z.string()).optional(),
477
- available_fields: z.array(z.string()).optional(),
478
- unknown_fields: z.array(z.string()).optional(),
479
- projection_warning: z.string().optional(),
480
- });
481
- /**
482
- * G5 — `layout_query` handler. Forwards the AND-combined structured predicate
483
- * (`type` / `name_matches` / `has_binding` / `max_depth` / `under_section`) +
484
- * pagination (`limit` / `cursor`) as query params to the server-side
485
- * `GET /pages/{id}/query` endpoint — the filter runs in `ElementOps::queryTemplate`
486
- * (no client-side re-filter). The matched node rows render as the element table
487
- * + the typed `structuredContent`.
488
- */
489
- export async function handleLayoutQuery({ client }, { template_id, type, name_matches, has_binding, max_depth, under_section, limit, cursor, fields, max_chars, }) {
490
- try {
491
- const qs = new URLSearchParams();
492
- if (Array.isArray(type)) {
493
- const joined = type.filter((t) => typeof t === 'string' && t !== '').join(',');
494
- if (joined !== '')
495
- qs.set('type', joined);
496
- }
497
- else if (typeof type === 'string' && type !== '') {
498
- qs.set('type', type);
499
- }
500
- if (typeof name_matches === 'string' && name_matches !== '')
501
- qs.set('name_matches', name_matches);
502
- if (typeof has_binding === 'boolean')
503
- qs.set('has_binding', has_binding ? 'true' : 'false');
504
- if (typeof max_depth === 'number')
505
- qs.set('max_depth', String(max_depth));
506
- if (typeof under_section === 'string' && under_section !== '')
507
- qs.set('under_section', under_section);
508
- if (typeof limit === 'number')
509
- qs.set('limit', String(limit));
510
- if (typeof cursor === 'string' && cursor !== '')
511
- qs.set('cursor', cursor);
512
- // LAYOUT_READ-8/9: when the caller projects a nested `props.*` field, ask
513
- // the REST plugin to attach the full props map per matched node (same
514
- // `include=props` opt-in element_list uses). Without it the default row
515
- // carries no props and `props.*` lands in unknown_fields — so a single
516
- // "every headline WITH its text + title_element" call was impossible.
517
- const wantsNestedProps = Array.isArray(fields) &&
518
- fields.some((f) => f === 'props' || f.startsWith('props.'));
519
- if (wantsNestedProps)
520
- qs.set('include', 'props');
521
- const query = qs.toString();
522
- const data = await client.get(`/pages/${encodeTemplateId(template_id)}/query${query !== '' ? `?${query}` : ''}`);
523
- const rawSource = Array.isArray(data.elements) ? data.elements : [];
524
- const mapped = rawSource
525
- .filter((x) => x !== null && typeof x === 'object')
526
- .map(mapElementRow);
527
- const items = projectFields(mapped, fields, DEFAULT_FIELDS_ELEMENT_LIST);
528
- const echo = projectedFieldsEcho(fields, DEFAULT_FIELDS_ELEMENT_LIST);
529
- const feedback = projectionFeedback(mapped, fields);
530
- const unknownNote = projectionWarning(feedback);
531
- const hasNarrowProjection = Array.isArray(fields) && fields.length > 0;
532
- const toolkitResult = hasNarrowProjection
533
- ? tableResult(items, {
534
- columns: columnsFromFields(fields),
535
- header: (count) => `${String(count)} elements match in template "${template_id}"${unknownNote}`,
536
- footer: 'Use yootheme_builder_element_get <path> for full data.',
537
- }, 'full')
538
- : tableResult(mapped, {
539
- columns: [...ELEMENTS_TABLE_COLUMNS],
540
- compactColumns: [...ELEMENTS_COMPACT_COLUMNS],
541
- header: (count) => `${String(count)} elements match in template "${template_id}"${unknownNote}`,
542
- footer: 'Use yootheme_builder_element_get <path> for full data.',
543
- });
544
- return structuredResult(applyMaxChars(toolkitResult, max_chars), {
545
- items,
546
- total: typeof data.total === 'number' ? data.total : items.length,
547
- template_id,
548
- ...(typeof data.next_cursor === 'string' && data.next_cursor !== ''
549
- ? { next_cursor: data.next_cursor }
550
- : {}),
551
- ...(echo !== undefined ? { projected_fields: [...echo] } : {}),
552
- ...(feedback !== undefined
553
- ? {
554
- available_fields: [...feedback.available_fields],
555
- unknown_fields: [...feedback.unknown_fields],
556
- ...(unknownNote.trim() !== '' ? { projection_warning: unknownNote.trim() } : {}),
557
- }
558
- : {}),
559
- });
560
- }
561
- catch (e) {
562
- return errorResult({
563
- error: e,
564
- context: { template_id },
565
- hint: 'Verify the template_id via yootheme_builder_pages_list.',
566
- });
567
- }
568
- }
569
- // Re-export write handlers so callers can import from this barrel.
570
- export { handleElementAdd, handleElementClone, handleElementDelete, handleElementMove, handleElementUpdateSettings, handleScaffoldSection, } from './handlers-write.js';
571
- //# sourceMappingURL=handlers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/tools/elements/handlers.ts"],"names":[],"mappings":"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"}