@wootsup/yt-builder-mcp 1.12.0 → 2.1.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 (869) hide show
  1. package/README.md +139 -40
  2. package/bin/node-floor.d.ts +28 -0
  3. package/bin/node-floor.js +150 -0
  4. package/bin/yt-builder-mcp.js +51 -10
  5. package/dist/auth.d.ts +3 -121
  6. package/dist/auth.d.ts.map +1 -1
  7. package/dist/auth.js +44 -174
  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 +8 -52
  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 +21 -62
  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 +46 -55
  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 +1 -23
  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 +1 -19
  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 +1 -34
  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 +12 -147
  52. package/dist/clients/codex-cli.js.map +1 -1
  53. package/dist/clients/config-file.d.ts +15 -0
  54. package/dist/clients/config-file.d.ts.map +1 -0
  55. package/dist/clients/config-file.js +86 -0
  56. package/dist/clients/config-file.js.map +1 -0
  57. package/dist/clients/continue.d.ts +0 -10
  58. package/dist/clients/continue.d.ts.map +1 -1
  59. package/dist/clients/continue.js +3 -30
  60. package/dist/clients/continue.js.map +1 -1
  61. package/dist/clients/cursor.d.ts +0 -9
  62. package/dist/clients/cursor.d.ts.map +1 -1
  63. package/dist/clients/cursor.js +1 -12
  64. package/dist/clients/cursor.js.map +1 -1
  65. package/dist/clients/gemini-cli.d.ts +0 -15
  66. package/dist/clients/gemini-cli.d.ts.map +1 -1
  67. package/dist/clients/gemini-cli.js +1 -18
  68. package/dist/clients/gemini-cli.js.map +1 -1
  69. package/dist/clients/home.d.ts +0 -12
  70. package/dist/clients/home.d.ts.map +1 -1
  71. package/dist/clients/home.js +0 -12
  72. package/dist/clients/home.js.map +1 -1
  73. package/dist/clients/index.d.ts +2 -153
  74. package/dist/clients/index.d.ts.map +1 -1
  75. package/dist/clients/index.js +3 -153
  76. package/dist/clients/index.js.map +1 -1
  77. package/dist/clients/roo-code.d.ts +0 -20
  78. package/dist/clients/roo-code.d.ts.map +1 -1
  79. package/dist/clients/roo-code.js +1 -23
  80. package/dist/clients/roo-code.js.map +1 -1
  81. package/dist/clients/zed.d.ts +0 -9
  82. package/dist/clients/zed.d.ts.map +1 -1
  83. package/dist/clients/zed.js +1 -19
  84. package/dist/clients/zed.js.map +1 -1
  85. package/dist/compat-floor.d.ts +35 -0
  86. package/dist/compat-floor.d.ts.map +1 -0
  87. package/dist/compat-floor.js +84 -0
  88. package/dist/compat-floor.js.map +1 -0
  89. package/dist/compat-probe.d.ts +6 -0
  90. package/dist/compat-probe.d.ts.map +1 -0
  91. package/dist/compat-probe.js +20 -0
  92. package/dist/compat-probe.js.map +1 -0
  93. package/dist/diagnostics/ca-reexec.d.ts +0 -30
  94. package/dist/diagnostics/ca-reexec.d.ts.map +1 -1
  95. package/dist/diagnostics/ca-reexec.js +0 -62
  96. package/dist/diagnostics/ca-reexec.js.map +1 -1
  97. package/dist/diagnostics/ca-trust.d.ts +0 -22
  98. package/dist/diagnostics/ca-trust.d.ts.map +1 -1
  99. package/dist/diagnostics/ca-trust.js +3 -42
  100. package/dist/diagnostics/ca-trust.js.map +1 -1
  101. package/dist/diagnostics/diagnose-network-error.d.ts +1 -38
  102. package/dist/diagnostics/diagnose-network-error.d.ts.map +1 -1
  103. package/dist/diagnostics/diagnose-network-error.js +27 -38
  104. package/dist/diagnostics/diagnose-network-error.js.map +1 -1
  105. package/dist/diagnostics/doctor.d.ts +1 -85
  106. package/dist/diagnostics/doctor.d.ts.map +1 -1
  107. package/dist/diagnostics/doctor.js +7 -92
  108. package/dist/diagnostics/doctor.js.map +1 -1
  109. package/dist/diagnostics/startup-self-probe.d.ts +3 -25
  110. package/dist/diagnostics/startup-self-probe.d.ts.map +1 -1
  111. package/dist/diagnostics/startup-self-probe.js +11 -48
  112. package/dist/diagnostics/startup-self-probe.js.map +1 -1
  113. package/dist/errors/hints.d.ts +0 -44
  114. package/dist/errors/hints.d.ts.map +1 -1
  115. package/dist/errors/hints.js +1 -33
  116. package/dist/errors/hints.js.map +1 -1
  117. package/dist/errors/mask.d.ts +0 -31
  118. package/dist/errors/mask.d.ts.map +1 -1
  119. package/dist/errors/mask.js +0 -32
  120. package/dist/errors/mask.js.map +1 -1
  121. package/dist/errors/redact-credentials.d.ts +2 -0
  122. package/dist/errors/redact-credentials.d.ts.map +1 -0
  123. package/dist/errors/redact-credentials.js +13 -0
  124. package/dist/errors/redact-credentials.js.map +1 -0
  125. package/dist/errors/sanitize.d.ts +0 -29
  126. package/dist/errors/sanitize.d.ts.map +1 -1
  127. package/dist/errors/sanitize.js +0 -40
  128. package/dist/errors/sanitize.js.map +1 -1
  129. package/dist/errors.d.ts +6 -17
  130. package/dist/errors.d.ts.map +1 -1
  131. package/dist/errors.js +16 -21
  132. package/dist/errors.js.map +1 -1
  133. package/dist/gateway/advanced-read-tool.d.ts +0 -32
  134. package/dist/gateway/advanced-read-tool.d.ts.map +1 -1
  135. package/dist/gateway/advanced-read-tool.js +43 -111
  136. package/dist/gateway/advanced-read-tool.js.map +1 -1
  137. package/dist/gateway/advanced-tool/discovery.d.ts +1 -12
  138. package/dist/gateway/advanced-tool/discovery.d.ts.map +1 -1
  139. package/dist/gateway/advanced-tool/discovery.js +15 -24
  140. package/dist/gateway/advanced-tool/discovery.js.map +1 -1
  141. package/dist/gateway/advanced-tool/domains.d.ts +7 -66
  142. package/dist/gateway/advanced-tool/domains.d.ts.map +1 -1
  143. package/dist/gateway/advanced-tool/domains.js +36 -80
  144. package/dist/gateway/advanced-tool/domains.js.map +1 -1
  145. package/dist/gateway/advanced-tool/execute.d.ts +0 -25
  146. package/dist/gateway/advanced-tool/execute.d.ts.map +1 -1
  147. package/dist/gateway/advanced-tool/execute.js +13 -49
  148. package/dist/gateway/advanced-tool/execute.js.map +1 -1
  149. package/dist/gateway/advanced-tool/index.d.ts +1 -32
  150. package/dist/gateway/advanced-tool/index.d.ts.map +1 -1
  151. package/dist/gateway/advanced-tool/index.js +1 -35
  152. package/dist/gateway/advanced-tool/index.js.map +1 -1
  153. package/dist/gateway/advanced-tool/register.d.ts +0 -14
  154. package/dist/gateway/advanced-tool/register.d.ts.map +1 -1
  155. package/dist/gateway/advanced-tool/register.js +22 -58
  156. package/dist/gateway/advanced-tool/register.js.map +1 -1
  157. package/dist/gateway/advanced-tool.d.ts +0 -11
  158. package/dist/gateway/advanced-tool.d.ts.map +1 -1
  159. package/dist/gateway/advanced-tool.js +0 -11
  160. package/dist/gateway/advanced-tool.js.map +1 -1
  161. package/dist/gateway/capturing-server.d.ts +3 -88
  162. package/dist/gateway/capturing-server.d.ts.map +1 -1
  163. package/dist/gateway/capturing-server.js +0 -77
  164. package/dist/gateway/capturing-server.js.map +1 -1
  165. package/dist/gateway/essentials.d.ts +1 -63
  166. package/dist/gateway/essentials.d.ts.map +1 -1
  167. package/dist/gateway/essentials.js +9 -178
  168. package/dist/gateway/essentials.js.map +1 -1
  169. package/dist/gateway/test-support.d.ts +0 -28
  170. package/dist/gateway/test-support.d.ts.map +1 -1
  171. package/dist/gateway/test-support.js +0 -29
  172. package/dist/gateway/test-support.js.map +1 -1
  173. package/dist/health-response.d.ts +2 -0
  174. package/dist/health-response.d.ts.map +1 -0
  175. package/dist/health-response.js +7 -0
  176. package/dist/health-response.js.map +1 -0
  177. package/dist/icon-data.js +0 -3
  178. package/dist/icon-data.js.map +1 -1
  179. package/dist/index.d.ts +7 -23
  180. package/dist/index.d.ts.map +1 -1
  181. package/dist/index.js +46 -130
  182. package/dist/index.js.map +1 -1
  183. package/dist/install-skill.d.ts +0 -44
  184. package/dist/install-skill.d.ts.map +1 -1
  185. package/dist/install-skill.js +8 -48
  186. package/dist/install-skill.js.map +1 -1
  187. package/dist/net/extra-headers.d.ts +0 -58
  188. package/dist/net/extra-headers.d.ts.map +1 -1
  189. package/dist/net/extra-headers.js +0 -67
  190. package/dist/net/extra-headers.js.map +1 -1
  191. package/dist/net/internal-host.d.ts +0 -31
  192. package/dist/net/internal-host.d.ts.map +1 -1
  193. package/dist/net/internal-host.js +7 -65
  194. package/dist/net/internal-host.js.map +1 -1
  195. package/dist/net/proxy-dispatcher.d.ts +0 -37
  196. package/dist/net/proxy-dispatcher.d.ts.map +1 -1
  197. package/dist/net/proxy-dispatcher.js +0 -40
  198. package/dist/net/proxy-dispatcher.js.map +1 -1
  199. package/dist/net/public-fetch.d.ts +53 -0
  200. package/dist/net/public-fetch.d.ts.map +1 -0
  201. package/dist/net/public-fetch.js +143 -0
  202. package/dist/net/public-fetch.js.map +1 -0
  203. package/dist/net/public-page-report.d.ts +26 -0
  204. package/dist/net/public-page-report.d.ts.map +1 -0
  205. package/dist/net/public-page-report.js +145 -0
  206. package/dist/net/public-page-report.js.map +1 -0
  207. package/dist/net/redirect-safe-fetch.d.ts +14 -0
  208. package/dist/net/redirect-safe-fetch.d.ts.map +1 -0
  209. package/dist/net/redirect-safe-fetch.js +61 -0
  210. package/dist/net/redirect-safe-fetch.js.map +1 -0
  211. package/dist/net/session-recovery-fetch.d.ts +7 -0
  212. package/dist/net/session-recovery-fetch.d.ts.map +1 -0
  213. package/dist/net/session-recovery-fetch.js +139 -0
  214. package/dist/net/session-recovery-fetch.js.map +1 -0
  215. package/dist/net/site-basic-auth.d.ts +1 -59
  216. package/dist/net/site-basic-auth.d.ts.map +1 -1
  217. package/dist/net/site-basic-auth.js +5 -94
  218. package/dist/net/site-basic-auth.js.map +1 -1
  219. package/dist/package-version.d.ts +2 -0
  220. package/dist/package-version.d.ts.map +1 -0
  221. package/dist/package-version.js +15 -0
  222. package/dist/package-version.js.map +1 -0
  223. package/dist/platform/detect.d.ts +0 -54
  224. package/dist/platform/detect.d.ts.map +1 -1
  225. package/dist/platform/detect.js +0 -53
  226. package/dist/platform/detect.js.map +1 -1
  227. package/dist/platform/index.d.ts +0 -100
  228. package/dist/platform/index.d.ts.map +1 -1
  229. package/dist/platform/index.js +0 -106
  230. package/dist/platform/index.js.map +1 -1
  231. package/dist/platform/joomla.d.ts +0 -35
  232. package/dist/platform/joomla.d.ts.map +1 -1
  233. package/dist/platform/joomla.js +0 -35
  234. package/dist/platform/joomla.js.map +1 -1
  235. package/dist/product-name.d.ts +2 -0
  236. package/dist/product-name.d.ts.map +1 -0
  237. package/dist/product-name.js +2 -0
  238. package/dist/product-name.js.map +1 -0
  239. package/dist/proxy/bridge.d.ts +36 -76
  240. package/dist/proxy/bridge.d.ts.map +1 -1
  241. package/dist/proxy/bridge.js +443 -136
  242. package/dist/proxy/bridge.js.map +1 -1
  243. package/dist/proxy/confirm-elicitation.d.ts +22 -0
  244. package/dist/proxy/confirm-elicitation.d.ts.map +1 -0
  245. package/dist/proxy/confirm-elicitation.js +170 -0
  246. package/dist/proxy/confirm-elicitation.js.map +1 -0
  247. package/dist/proxy/confirm-question-contract.d.ts +6 -0
  248. package/dist/proxy/confirm-question-contract.d.ts.map +1 -0
  249. package/dist/proxy/confirm-question-contract.js +9 -0
  250. package/dist/proxy/confirm-question-contract.js.map +1 -0
  251. package/dist/proxy/confirm-question.d.ts +2 -0
  252. package/dist/proxy/confirm-question.d.ts.map +1 -0
  253. package/dist/proxy/confirm-question.js +125 -0
  254. package/dist/proxy/confirm-question.js.map +1 -0
  255. package/dist/proxy/instructions.d.ts +4 -0
  256. package/dist/proxy/instructions.d.ts.map +1 -0
  257. package/dist/proxy/instructions.js +12 -0
  258. package/dist/proxy/instructions.js.map +1 -0
  259. package/dist/proxy/mode.d.ts +14 -9
  260. package/dist/proxy/mode.d.ts.map +1 -1
  261. package/dist/proxy/mode.js +58 -34
  262. package/dist/proxy/mode.js.map +1 -1
  263. package/dist/proxy/multi-site.d.ts +42 -0
  264. package/dist/proxy/multi-site.d.ts.map +1 -0
  265. package/dist/proxy/multi-site.js +134 -0
  266. package/dist/proxy/multi-site.js.map +1 -0
  267. package/dist/proxy/request-headers.d.ts +9 -0
  268. package/dist/proxy/request-headers.d.ts.map +1 -0
  269. package/dist/proxy/request-headers.js +17 -0
  270. package/dist/proxy/request-headers.js.map +1 -0
  271. package/dist/proxy/shadow-tools.d.ts +9 -0
  272. package/dist/proxy/shadow-tools.d.ts.map +1 -0
  273. package/dist/proxy/shadow-tools.js +42 -0
  274. package/dist/proxy/shadow-tools.js.map +1 -0
  275. package/dist/proxy/tools-list-cap.d.ts +7 -0
  276. package/dist/proxy/tools-list-cap.d.ts.map +1 -0
  277. package/dist/proxy/tools-list-cap.js +14 -0
  278. package/dist/proxy/tools-list-cap.js.map +1 -0
  279. package/dist/proxy/transport-uncertainty.d.ts +2 -0
  280. package/dist/proxy/transport-uncertainty.d.ts.map +1 -0
  281. package/dist/proxy/transport-uncertainty.js +8 -0
  282. package/dist/proxy/transport-uncertainty.js.map +1 -0
  283. package/dist/proxy/upstream-error.d.ts +7 -0
  284. package/dist/proxy/upstream-error.d.ts.map +1 -0
  285. package/dist/proxy/upstream-error.js +35 -0
  286. package/dist/proxy/upstream-error.js.map +1 -0
  287. package/dist/proxy/wire-dialect.d.ts +5 -0
  288. package/dist/proxy/wire-dialect.d.ts.map +1 -0
  289. package/dist/proxy/wire-dialect.js +33 -0
  290. package/dist/proxy/wire-dialect.js.map +1 -0
  291. package/dist/server.d.ts +14 -82
  292. package/dist/server.d.ts.map +1 -1
  293. package/dist/server.js +109 -204
  294. package/dist/server.js.map +1 -1
  295. package/dist/setup/banner-color.d.ts +13 -0
  296. package/dist/setup/banner-color.d.ts.map +1 -0
  297. package/dist/setup/banner-color.js +93 -0
  298. package/dist/setup/banner-color.js.map +1 -0
  299. package/dist/setup/banner.d.ts +22 -0
  300. package/dist/setup/banner.d.ts.map +1 -0
  301. package/dist/setup/banner.js +120 -0
  302. package/dist/setup/banner.js.map +1 -0
  303. package/dist/setup/ca-recovery.d.ts +20 -0
  304. package/dist/setup/ca-recovery.d.ts.map +1 -0
  305. package/dist/setup/ca-recovery.js +92 -0
  306. package/dist/setup/ca-recovery.js.map +1 -0
  307. package/dist/setup/closing.d.ts +15 -0
  308. package/dist/setup/closing.d.ts.map +1 -0
  309. package/dist/setup/closing.js +43 -0
  310. package/dist/setup/closing.js.map +1 -0
  311. package/dist/setup/corporate-ca.d.ts +16 -0
  312. package/dist/setup/corporate-ca.d.ts.map +1 -0
  313. package/dist/setup/corporate-ca.js +32 -0
  314. package/dist/setup/corporate-ca.js.map +1 -0
  315. package/dist/setup/host-platform.d.ts +8 -0
  316. package/dist/setup/host-platform.d.ts.map +1 -0
  317. package/dist/setup/host-platform.js +21 -0
  318. package/dist/setup/host-platform.js.map +1 -0
  319. package/dist/setup/install-configs.d.ts +18 -0
  320. package/dist/setup/install-configs.d.ts.map +1 -0
  321. package/dist/setup/install-configs.js +95 -0
  322. package/dist/setup/install-configs.js.map +1 -0
  323. package/dist/setup/multi-site-loop.d.ts +14 -0
  324. package/dist/setup/multi-site-loop.d.ts.map +1 -0
  325. package/dist/setup/multi-site-loop.js +20 -0
  326. package/dist/setup/multi-site-loop.js.map +1 -0
  327. package/dist/setup/phases.d.ts +18 -0
  328. package/dist/setup/phases.d.ts.map +1 -0
  329. package/dist/setup/phases.js +55 -0
  330. package/dist/setup/phases.js.map +1 -0
  331. package/dist/setup/registry-remedy.d.ts +12 -0
  332. package/dist/setup/registry-remedy.d.ts.map +1 -0
  333. package/dist/setup/registry-remedy.js +37 -0
  334. package/dist/setup/registry-remedy.js.map +1 -0
  335. package/dist/setup/resume.d.ts +28 -0
  336. package/dist/setup/resume.d.ts.map +1 -0
  337. package/dist/setup/resume.js +99 -0
  338. package/dist/setup/resume.js.map +1 -0
  339. package/dist/setup-ca-env.d.ts +0 -30
  340. package/dist/setup-ca-env.d.ts.map +1 -1
  341. package/dist/setup-ca-env.js +0 -28
  342. package/dist/setup-ca-env.js.map +1 -1
  343. package/dist/setup-ca-reprobe.d.ts +0 -25
  344. package/dist/setup-ca-reprobe.d.ts.map +1 -1
  345. package/dist/setup-ca-reprobe.js +0 -34
  346. package/dist/setup-ca-reprobe.js.map +1 -1
  347. package/dist/setup-cli-confirm.d.ts +0 -34
  348. package/dist/setup-cli-confirm.d.ts.map +1 -1
  349. package/dist/setup-cli-confirm.js +0 -36
  350. package/dist/setup-cli-confirm.js.map +1 -1
  351. package/dist/setup-cli.d.ts +6 -167
  352. package/dist/setup-cli.d.ts.map +1 -1
  353. package/dist/setup-cli.js +165 -177
  354. package/dist/setup-cli.js.map +1 -1
  355. package/dist/setup-npx-spec.d.ts +0 -36
  356. package/dist/setup-npx-spec.d.ts.map +1 -1
  357. package/dist/setup-npx-spec.js +0 -38
  358. package/dist/setup-npx-spec.js.map +1 -1
  359. package/dist/setup-prompts.d.ts +5 -70
  360. package/dist/setup-prompts.d.ts.map +1 -1
  361. package/dist/setup-prompts.js +67 -107
  362. package/dist/setup-prompts.js.map +1 -1
  363. package/dist/setup-token.d.ts +0 -34
  364. package/dist/setup-token.d.ts.map +1 -1
  365. package/dist/setup-token.js +0 -40
  366. package/dist/setup-token.js.map +1 -1
  367. package/dist/setup-wizard-defaults.d.ts +2 -37
  368. package/dist/setup-wizard-defaults.d.ts.map +1 -1
  369. package/dist/setup-wizard-defaults.js +28 -93
  370. package/dist/setup-wizard-defaults.js.map +1 -1
  371. package/dist/setup-wizard-handshake.d.ts +1 -19
  372. package/dist/setup-wizard-handshake.d.ts.map +1 -1
  373. package/dist/setup-wizard-handshake.js +8 -45
  374. package/dist/setup-wizard-handshake.js.map +1 -1
  375. package/dist/setup-wizard-types.d.ts +18 -217
  376. package/dist/setup-wizard-types.d.ts.map +1 -1
  377. package/dist/setup-wizard-types.js +0 -9
  378. package/dist/setup-wizard-types.js.map +1 -1
  379. package/dist/setup-wizard-write-types.d.ts +19 -0
  380. package/dist/setup-wizard-write-types.d.ts.map +1 -0
  381. package/dist/setup-wizard-write-types.js +2 -0
  382. package/dist/setup-wizard-write-types.js.map +1 -0
  383. package/dist/setup-wizard.d.ts +0 -28
  384. package/dist/setup-wizard.d.ts.map +1 -1
  385. package/dist/setup-wizard.js +167 -412
  386. package/dist/setup-wizard.js.map +1 -1
  387. package/dist/setup.d.ts +0 -15
  388. package/dist/setup.d.ts.map +1 -1
  389. package/dist/setup.js +0 -15
  390. package/dist/setup.js.map +1 -1
  391. package/dist/sites/bootstrap.d.ts +0 -38
  392. package/dist/sites/bootstrap.d.ts.map +1 -1
  393. package/dist/sites/bootstrap.js +0 -44
  394. package/dist/sites/bootstrap.js.map +1 -1
  395. package/dist/sites/cli/add-site.d.ts +0 -76
  396. package/dist/sites/cli/add-site.d.ts.map +1 -1
  397. package/dist/sites/cli/add-site.js +0 -71
  398. package/dist/sites/cli/add-site.js.map +1 -1
  399. package/dist/sites/cli/list-sites.d.ts +0 -31
  400. package/dist/sites/cli/list-sites.d.ts.map +1 -1
  401. package/dist/sites/cli/list-sites.js +0 -45
  402. package/dist/sites/cli/list-sites.js.map +1 -1
  403. package/dist/sites/cli/remove-site.d.ts +0 -37
  404. package/dist/sites/cli/remove-site.d.ts.map +1 -1
  405. package/dist/sites/cli/remove-site.js +0 -37
  406. package/dist/sites/cli/remove-site.js.map +1 -1
  407. package/dist/sites/cli/set-default.d.ts +0 -25
  408. package/dist/sites/cli/set-default.d.ts.map +1 -1
  409. package/dist/sites/cli/set-default.js +0 -22
  410. package/dist/sites/cli/set-default.js.map +1 -1
  411. package/dist/sites/cli/test-site.d.ts +0 -44
  412. package/dist/sites/cli/test-site.d.ts.map +1 -1
  413. package/dist/sites/cli/test-site.js +0 -39
  414. package/dist/sites/cli/test-site.js.map +1 -1
  415. package/dist/sites/client-pool.d.ts +11 -164
  416. package/dist/sites/client-pool.d.ts.map +1 -1
  417. package/dist/sites/client-pool.js +73 -194
  418. package/dist/sites/client-pool.js.map +1 -1
  419. package/dist/sites/config-problem.d.ts +2 -0
  420. package/dist/sites/config-problem.d.ts.map +1 -0
  421. package/dist/sites/config-problem.js +13 -0
  422. package/dist/sites/config-problem.js.map +1 -0
  423. package/dist/sites/env-bridge.d.ts +0 -69
  424. package/dist/sites/env-bridge.d.ts.map +1 -1
  425. package/dist/sites/env-bridge.js +2 -71
  426. package/dist/sites/env-bridge.js.map +1 -1
  427. package/dist/sites/op-inject.d.ts +23 -0
  428. package/dist/sites/op-inject.d.ts.map +1 -0
  429. package/dist/sites/op-inject.js +131 -0
  430. package/dist/sites/op-inject.js.map +1 -0
  431. package/dist/sites/paths.d.ts +0 -19
  432. package/dist/sites/paths.d.ts.map +1 -1
  433. package/dist/sites/paths.js +0 -19
  434. package/dist/sites/paths.js.map +1 -1
  435. package/dist/sites/probe.d.ts +1 -47
  436. package/dist/sites/probe.d.ts.map +1 -1
  437. package/dist/sites/probe.js +4 -46
  438. package/dist/sites/probe.js.map +1 -1
  439. package/dist/sites/registry.d.ts +4 -135
  440. package/dist/sites/registry.d.ts.map +1 -1
  441. package/dist/sites/registry.js +4 -98
  442. package/dist/sites/registry.js.map +1 -1
  443. package/dist/sites/schema.d.ts +3 -51
  444. package/dist/sites/schema.d.ts.map +1 -1
  445. package/dist/sites/schema.js +6 -52
  446. package/dist/sites/schema.js.map +1 -1
  447. package/dist/sites/secret-resolver.d.ts +6 -76
  448. package/dist/sites/secret-resolver.d.ts.map +1 -1
  449. package/dist/sites/secret-resolver.js +39 -104
  450. package/dist/sites/secret-resolver.js.map +1 -1
  451. package/dist/sites/store.d.ts +12 -69
  452. package/dist/sites/store.d.ts.map +1 -1
  453. package/dist/sites/store.js +37 -86
  454. package/dist/sites/store.js.map +1 -1
  455. package/dist/sites/substituted-registry.d.ts +11 -0
  456. package/dist/sites/substituted-registry.d.ts.map +1 -0
  457. package/dist/sites/substituted-registry.js +13 -0
  458. package/dist/sites/substituted-registry.js.map +1 -0
  459. package/dist/sites/tools/fetch-public-url.d.ts +4 -0
  460. package/dist/sites/tools/fetch-public-url.d.ts.map +1 -0
  461. package/dist/sites/tools/fetch-public-url.js +231 -0
  462. package/dist/sites/tools/fetch-public-url.js.map +1 -0
  463. package/dist/sites/tools/index.d.ts +2 -26
  464. package/dist/sites/tools/index.d.ts.map +1 -1
  465. package/dist/sites/tools/index.js +5 -28
  466. package/dist/sites/tools/index.js.map +1 -1
  467. package/dist/sites/tools/sites-list.d.ts +3 -47
  468. package/dist/sites/tools/sites-list.d.ts.map +1 -1
  469. package/dist/sites/tools/sites-list.js +65 -79
  470. package/dist/sites/tools/sites-list.js.map +1 -1
  471. package/dist/sites/tools/sites-overview.d.ts +4 -0
  472. package/dist/sites/tools/sites-overview.d.ts.map +1 -0
  473. package/dist/sites/tools/sites-overview.js +209 -0
  474. package/dist/sites/tools/sites-overview.js.map +1 -0
  475. package/dist/sites/tools/sites-test.d.ts +2 -45
  476. package/dist/sites/tools/sites-test.d.ts.map +1 -1
  477. package/dist/sites/tools/sites-test.js +2 -56
  478. package/dist/sites/tools/sites-test.js.map +1 -1
  479. package/dist/sites/tools/use-site.d.ts +2 -45
  480. package/dist/sites/tools/use-site.d.ts.map +1 -1
  481. package/dist/sites/tools/use-site.js +31 -79
  482. package/dist/sites/tools/use-site.js.map +1 -1
  483. package/dist/sites/unknown-name-result.d.ts +10 -0
  484. package/dist/sites/unknown-name-result.d.ts.map +1 -0
  485. package/dist/sites/unknown-name-result.js +13 -0
  486. package/dist/sites/unknown-name-result.js.map +1 -0
  487. package/dist/skill-instructions.d.ts +7 -0
  488. package/dist/skill-instructions.d.ts.map +1 -0
  489. package/dist/skill-instructions.js +85 -0
  490. package/dist/skill-instructions.js.map +1 -0
  491. package/dist/skill-loader.d.ts +1 -103
  492. package/dist/skill-loader.d.ts.map +1 -1
  493. package/dist/skill-loader.js +6 -143
  494. package/dist/skill-loader.js.map +1 -1
  495. package/dist/skill-manifest.d.ts +0 -20
  496. package/dist/skill-manifest.d.ts.map +1 -1
  497. package/dist/skill-manifest.js +1 -21
  498. package/dist/skill-manifest.js.map +1 -1
  499. package/dist/skill-topics.d.ts +19 -0
  500. package/dist/skill-topics.d.ts.map +1 -0
  501. package/dist/skill-topics.js +181 -0
  502. package/dist/skill-topics.js.map +1 -0
  503. package/dist/tools/active-site.d.ts +16 -0
  504. package/dist/tools/active-site.d.ts.map +1 -0
  505. package/dist/tools/active-site.js +55 -0
  506. package/dist/tools/active-site.js.map +1 -0
  507. package/dist/tools/bind-guidance.d.ts +2 -72
  508. package/dist/tools/bind-guidance.d.ts.map +1 -1
  509. package/dist/tools/bind-guidance.js +2 -72
  510. package/dist/tools/bind-guidance.js.map +1 -1
  511. package/dist/tools/budgeted-table.d.ts +14 -19
  512. package/dist/tools/budgeted-table.d.ts.map +1 -1
  513. package/dist/tools/budgeted-table.js +171 -105
  514. package/dist/tools/budgeted-table.js.map +1 -1
  515. package/dist/tools/elements/bind-output-schema.d.ts +69 -0
  516. package/dist/tools/elements/bind-output-schema.d.ts.map +1 -0
  517. package/dist/tools/elements/bind-output-schema.js +64 -0
  518. package/dist/tools/elements/bind-output-schema.js.map +1 -0
  519. package/dist/tools/elements/builders.d.ts +1 -22
  520. package/dist/tools/elements/builders.d.ts.map +1 -1
  521. package/dist/tools/elements/builders.js +147 -133
  522. package/dist/tools/elements/builders.js.map +1 -1
  523. package/dist/tools/elements/index.d.ts +0 -26
  524. package/dist/tools/elements/index.d.ts.map +1 -1
  525. package/dist/tools/elements/index.js +0 -25
  526. package/dist/tools/elements/index.js.map +1 -1
  527. package/dist/tools/elements/read-output-schemas.d.ts +121 -0
  528. package/dist/tools/elements/read-output-schemas.d.ts.map +1 -0
  529. package/dist/tools/elements/read-output-schemas.js +225 -0
  530. package/dist/tools/elements/read-output-schemas.js.map +1 -0
  531. package/dist/tools/elements/write-output-schemas.d.ts +185 -0
  532. package/dist/tools/elements/write-output-schemas.d.ts.map +1 -0
  533. package/dist/tools/elements/write-output-schemas.js +98 -0
  534. package/dist/tools/elements/write-output-schemas.js.map +1 -0
  535. package/dist/tools/elements.d.ts +0 -11
  536. package/dist/tools/elements.d.ts.map +1 -1
  537. package/dist/tools/elements.js +0 -11
  538. package/dist/tools/elements.js.map +1 -1
  539. package/dist/tools/format/health-format.d.ts +26 -43
  540. package/dist/tools/format/health-format.d.ts.map +1 -1
  541. package/dist/tools/format/health-format.js +32 -63
  542. package/dist/tools/format/health-format.js.map +1 -1
  543. package/dist/tools/format/inspection-format.d.ts +2 -54
  544. package/dist/tools/format/inspection-format.d.ts.map +1 -1
  545. package/dist/tools/format/inspection-format.js +33 -119
  546. package/dist/tools/format/inspection-format.js.map +1 -1
  547. package/dist/tools/format/pages-format.d.ts +32 -69
  548. package/dist/tools/format/pages-format.d.ts.map +1 -1
  549. package/dist/tools/format/pages-format.js +114 -139
  550. package/dist/tools/format/pages-format.js.map +1 -1
  551. package/dist/tools/format/sources-format.d.ts +5 -39
  552. package/dist/tools/format/sources-format.d.ts.map +1 -1
  553. package/dist/tools/format/sources-format.js +57 -87
  554. package/dist/tools/format/sources-format.js.map +1 -1
  555. package/dist/tools/health-output-schemas.d.ts +84 -0
  556. package/dist/tools/health-output-schemas.d.ts.map +1 -0
  557. package/dist/tools/health-output-schemas.js +132 -0
  558. package/dist/tools/health-output-schemas.js.map +1 -0
  559. package/dist/tools/health.d.ts +2 -20
  560. package/dist/tools/health.d.ts.map +1 -1
  561. package/dist/tools/health.js +47 -233
  562. package/dist/tools/health.js.map +1 -1
  563. package/dist/tools/index.d.ts +1 -26
  564. package/dist/tools/index.d.ts.map +1 -1
  565. package/dist/tools/index.js +12 -39
  566. package/dist/tools/index.js.map +1 -1
  567. package/dist/tools/inspection.d.ts +4 -34
  568. package/dist/tools/inspection.d.ts.map +1 -1
  569. package/dist/tools/inspection.js +164 -536
  570. package/dist/tools/inspection.js.map +1 -1
  571. package/dist/tools/library.d.ts +115 -127
  572. package/dist/tools/library.d.ts.map +1 -1
  573. package/dist/tools/library.js +707 -455
  574. package/dist/tools/library.js.map +1 -1
  575. package/dist/tools/local-content/builders.d.ts +1 -17
  576. package/dist/tools/local-content/builders.d.ts.map +1 -1
  577. package/dist/tools/local-content/builders.js +103 -46
  578. package/dist/tools/local-content/builders.js.map +1 -1
  579. package/dist/tools/local-content/index.d.ts +0 -15
  580. package/dist/tools/local-content/index.d.ts.map +1 -1
  581. package/dist/tools/local-content/index.js +0 -14
  582. package/dist/tools/local-content/index.js.map +1 -1
  583. package/dist/tools/local-content/schemas.d.ts +31 -47
  584. package/dist/tools/local-content/schemas.d.ts.map +1 -1
  585. package/dist/tools/local-content/schemas.js +33 -62
  586. package/dist/tools/local-content/schemas.js.map +1 -1
  587. package/dist/tools/modules/builders.d.ts +4 -0
  588. package/dist/tools/modules/builders.d.ts.map +1 -0
  589. package/dist/tools/modules/builders.js +58 -0
  590. package/dist/tools/modules/builders.js.map +1 -0
  591. package/dist/tools/modules/index.d.ts +2 -0
  592. package/dist/tools/modules/index.d.ts.map +1 -0
  593. package/dist/tools/modules/index.js +2 -0
  594. package/dist/tools/modules/index.js.map +1 -0
  595. package/dist/tools/modules/module-id-schema.d.ts +4 -0
  596. package/dist/tools/modules/module-id-schema.d.ts.map +1 -0
  597. package/dist/tools/modules/module-id-schema.js +14 -0
  598. package/dist/tools/modules/module-id-schema.js.map +1 -0
  599. package/dist/tools/modules/module-type-fields.d.ts +10 -0
  600. package/dist/tools/modules/module-type-fields.d.ts.map +1 -0
  601. package/dist/tools/modules/module-type-fields.js +34 -0
  602. package/dist/tools/modules/module-type-fields.js.map +1 -0
  603. package/dist/tools/modules/modules-create.d.ts +59 -0
  604. package/dist/tools/modules/modules-create.d.ts.map +1 -0
  605. package/dist/tools/modules/modules-create.js +154 -0
  606. package/dist/tools/modules/modules-create.js.map +1 -0
  607. package/dist/tools/modules/modules-delete.d.ts +51 -0
  608. package/dist/tools/modules/modules-delete.d.ts.map +1 -0
  609. package/dist/tools/modules/modules-delete.js +180 -0
  610. package/dist/tools/modules/modules-delete.js.map +1 -0
  611. package/dist/tools/modules/modules-update.d.ts +43 -0
  612. package/dist/tools/modules/modules-update.d.ts.map +1 -0
  613. package/dist/tools/modules/modules-update.js +177 -0
  614. package/dist/tools/modules/modules-update.js.map +1 -0
  615. package/dist/tools/modules/placement-hints.d.ts +5 -0
  616. package/dist/tools/modules/placement-hints.d.ts.map +1 -0
  617. package/dist/tools/modules/placement-hints.js +90 -0
  618. package/dist/tools/modules/placement-hints.js.map +1 -0
  619. package/dist/tools/modules/placement-ways.d.ts +13 -0
  620. package/dist/tools/modules/placement-ways.d.ts.map +1 -0
  621. package/dist/tools/modules/placement-ways.js +61 -0
  622. package/dist/tools/modules/placement-ways.js.map +1 -0
  623. package/dist/tools/multi-items/builders.d.ts +1 -21
  624. package/dist/tools/multi-items/builders.d.ts.map +1 -1
  625. package/dist/tools/multi-items/builders.js +22 -65
  626. package/dist/tools/multi-items/builders.js.map +1 -1
  627. package/dist/tools/multi-items/index.d.ts +0 -15
  628. package/dist/tools/multi-items/index.d.ts.map +1 -1
  629. package/dist/tools/multi-items/index.js +0 -15
  630. package/dist/tools/multi-items/index.js.map +1 -1
  631. package/dist/tools/multi-items/item-container-map.d.ts +0 -35
  632. package/dist/tools/multi-items/item-container-map.d.ts.map +1 -1
  633. package/dist/tools/multi-items/item-container-map.js +0 -35
  634. package/dist/tools/multi-items/item-container-map.js.map +1 -1
  635. package/dist/tools/multi-items/output-schemas.d.ts +101 -0
  636. package/dist/tools/multi-items/output-schemas.d.ts.map +1 -0
  637. package/dist/tools/multi-items/output-schemas.js +74 -0
  638. package/dist/tools/multi-items/output-schemas.js.map +1 -0
  639. package/dist/tools/navigation/builders.d.ts +1 -16
  640. package/dist/tools/navigation/builders.d.ts.map +1 -1
  641. package/dist/tools/navigation/builders.js +5 -27
  642. package/dist/tools/navigation/builders.js.map +1 -1
  643. package/dist/tools/navigation/index.d.ts +0 -13
  644. package/dist/tools/navigation/index.d.ts.map +1 -1
  645. package/dist/tools/navigation/index.js +0 -12
  646. package/dist/tools/navigation/index.js.map +1 -1
  647. package/dist/tools/navigation/schemas.d.ts +0 -30
  648. package/dist/tools/navigation/schemas.d.ts.map +1 -1
  649. package/dist/tools/navigation/schemas.js +0 -30
  650. package/dist/tools/navigation/schemas.js.map +1 -1
  651. package/dist/tools/output-schema-metadata.d.ts +5 -0
  652. package/dist/tools/output-schema-metadata.d.ts.map +1 -0
  653. package/dist/tools/output-schema-metadata.js +83 -0
  654. package/dist/tools/output-schema-metadata.js.map +1 -0
  655. package/dist/tools/pages/builders.d.ts +1 -41
  656. package/dist/tools/pages/builders.d.ts.map +1 -1
  657. package/dist/tools/pages/builders.js +320 -405
  658. package/dist/tools/pages/builders.js.map +1 -1
  659. package/dist/tools/pages/header-transparency.d.ts +2 -32
  660. package/dist/tools/pages/header-transparency.d.ts.map +1 -1
  661. package/dist/tools/pages/header-transparency.js +9 -43
  662. package/dist/tools/pages/header-transparency.js.map +1 -1
  663. package/dist/tools/pages/index.d.ts +1 -19
  664. package/dist/tools/pages/index.d.ts.map +1 -1
  665. package/dist/tools/pages/index.js +1 -19
  666. package/dist/tools/pages/index.js.map +1 -1
  667. package/dist/tools/pages/schemas.d.ts +323 -241
  668. package/dist/tools/pages/schemas.d.ts.map +1 -1
  669. package/dist/tools/pages/schemas.js +514 -549
  670. package/dist/tools/pages/schemas.js.map +1 -1
  671. package/dist/tools/pages/write-output-schemas.d.ts +139 -0
  672. package/dist/tools/pages/write-output-schemas.d.ts.map +1 -0
  673. package/dist/tools/pages/write-output-schemas.js +138 -0
  674. package/dist/tools/pages/write-output-schemas.js.map +1 -0
  675. package/dist/tools/pages.d.ts +0 -11
  676. package/dist/tools/pages.d.ts.map +1 -1
  677. package/dist/tools/pages.js +0 -11
  678. package/dist/tools/pages.js.map +1 -1
  679. package/dist/tools/pool-resolve-helper.d.ts +0 -52
  680. package/dist/tools/pool-resolve-helper.d.ts.map +1 -1
  681. package/dist/tools/pool-resolve-helper.js +31 -106
  682. package/dist/tools/pool-resolve-helper.js.map +1 -1
  683. package/dist/tools/progress-phases.d.ts +0 -42
  684. package/dist/tools/progress-phases.d.ts.map +1 -1
  685. package/dist/tools/progress-phases.js +0 -44
  686. package/dist/tools/progress-phases.js.map +1 -1
  687. package/dist/tools/response-budget.d.ts +0 -69
  688. package/dist/tools/response-budget.d.ts.map +1 -1
  689. package/dist/tools/response-budget.js +0 -127
  690. package/dist/tools/response-budget.js.map +1 -1
  691. package/dist/tools/shared-schemas.d.ts +11 -65
  692. package/dist/tools/shared-schemas.d.ts.map +1 -1
  693. package/dist/tools/shared-schemas.js +40 -123
  694. package/dist/tools/shared-schemas.js.map +1 -1
  695. package/dist/tools/skill/builders.d.ts +3 -0
  696. package/dist/tools/skill/builders.d.ts.map +1 -0
  697. package/dist/tools/skill/builders.js +81 -0
  698. package/dist/tools/skill/builders.js.map +1 -0
  699. package/dist/tools/sources/builders.d.ts +1 -11
  700. package/dist/tools/sources/builders.d.ts.map +1 -1
  701. package/dist/tools/sources/builders.js +194 -170
  702. package/dist/tools/sources/builders.js.map +1 -1
  703. package/dist/tools/sources/index.d.ts +0 -17
  704. package/dist/tools/sources/index.d.ts.map +1 -1
  705. package/dist/tools/sources/index.js +0 -16
  706. package/dist/tools/sources/index.js.map +1 -1
  707. package/dist/tools/sources/read-output-schemas.d.ts +101 -0
  708. package/dist/tools/sources/read-output-schemas.d.ts.map +1 -0
  709. package/dist/tools/sources/read-output-schemas.js +105 -0
  710. package/dist/tools/sources/read-output-schemas.js.map +1 -0
  711. package/dist/tools/sources/source-name-argument.d.ts +17 -0
  712. package/dist/tools/sources/source-name-argument.d.ts.map +1 -0
  713. package/dist/tools/sources/source-name-argument.js +64 -0
  714. package/dist/tools/sources/source-name-argument.js.map +1 -0
  715. package/dist/tools/sources/write-output-schemas.d.ts +100 -0
  716. package/dist/tools/sources/write-output-schemas.d.ts.map +1 -0
  717. package/dist/tools/sources/write-output-schemas.js +61 -0
  718. package/dist/tools/sources/write-output-schemas.js.map +1 -0
  719. package/dist/tools/sources.d.ts +0 -12
  720. package/dist/tools/sources.d.ts.map +1 -1
  721. package/dist/tools/sources.js +0 -12
  722. package/dist/tools/sources.js.map +1 -1
  723. package/dist/tools/sparse-fields.d.ts +16 -232
  724. package/dist/tools/sparse-fields.d.ts.map +1 -1
  725. package/dist/tools/sparse-fields.js +178 -242
  726. package/dist/tools/sparse-fields.js.map +1 -1
  727. package/dist/tools/strict-input.d.ts +5 -0
  728. package/dist/tools/strict-input.d.ts.map +1 -0
  729. package/dist/tools/strict-input.js +55 -0
  730. package/dist/tools/strict-input.js.map +1 -0
  731. package/dist/tools/sublayout/builders.d.ts +1 -21
  732. package/dist/tools/sublayout/builders.d.ts.map +1 -1
  733. package/dist/tools/sublayout/builders.js +10 -39
  734. package/dist/tools/sublayout/builders.js.map +1 -1
  735. package/dist/tools/sublayout/index.d.ts +1 -11
  736. package/dist/tools/sublayout/index.d.ts.map +1 -1
  737. package/dist/tools/sublayout/index.js +1 -11
  738. package/dist/tools/sublayout/index.js.map +1 -1
  739. package/dist/tools/sublayout/output-schemas.d.ts +57 -0
  740. package/dist/tools/sublayout/output-schemas.d.ts.map +1 -0
  741. package/dist/tools/sublayout/output-schemas.js +51 -0
  742. package/dist/tools/sublayout/output-schemas.js.map +1 -0
  743. package/dist/tools/tool-builder/annotations.d.ts +1 -49
  744. package/dist/tools/tool-builder/annotations.d.ts.map +1 -1
  745. package/dist/tools/tool-builder/annotations.js +9 -49
  746. package/dist/tools/tool-builder/annotations.js.map +1 -1
  747. package/dist/tools/tool-builder/confirm-preview.d.ts +24 -0
  748. package/dist/tools/tool-builder/confirm-preview.d.ts.map +1 -0
  749. package/dist/tools/tool-builder/confirm-preview.js +37 -0
  750. package/dist/tools/tool-builder/confirm-preview.js.map +1 -0
  751. package/dist/tools/tool-builder/define.d.ts +6 -26
  752. package/dist/tools/tool-builder/define.d.ts.map +1 -1
  753. package/dist/tools/tool-builder/define.js +0 -25
  754. package/dist/tools/tool-builder/define.js.map +1 -1
  755. package/dist/tools/tool-builder/index.d.ts +3 -26
  756. package/dist/tools/tool-builder/index.d.ts.map +1 -1
  757. package/dist/tools/tool-builder/index.js +2 -25
  758. package/dist/tools/tool-builder/index.js.map +1 -1
  759. package/dist/tools/tool-builder/results.d.ts +4 -124
  760. package/dist/tools/tool-builder/results.d.ts.map +1 -1
  761. package/dist/tools/tool-builder/results.js +258 -263
  762. package/dist/tools/tool-builder/results.js.map +1 -1
  763. package/dist/tools/tool-builder/types.d.ts +5 -59
  764. package/dist/tools/tool-builder/types.d.ts.map +1 -1
  765. package/dist/tools/tool-builder/types.js +0 -7
  766. package/dist/tools/tool-builder/types.js.map +1 -1
  767. package/dist/tools/tool-builder.d.ts +0 -14
  768. package/dist/tools/tool-builder.d.ts.map +1 -1
  769. package/dist/tools/tool-builder.js +0 -14
  770. package/dist/tools/tool-builder.js.map +1 -1
  771. package/dist/uninstall-skill.d.ts +0 -41
  772. package/dist/uninstall-skill.d.ts.map +1 -1
  773. package/dist/uninstall-skill.js +3 -50
  774. package/dist/uninstall-skill.js.map +1 -1
  775. package/dist/uninstall.d.ts +0 -41
  776. package/dist/uninstall.d.ts.map +1 -1
  777. package/dist/uninstall.js +1 -29
  778. package/dist/uninstall.js.map +1 -1
  779. package/dist/update/update-check.d.ts +0 -26
  780. package/dist/update/update-check.d.ts.map +1 -1
  781. package/dist/update/update-check.js +0 -25
  782. package/dist/update/update-check.js.map +1 -1
  783. package/manifest.json +7 -12
  784. package/package.json +6 -11
  785. package/skills/yt-builder-mcp/SKILL.md +1871 -414
  786. package/dist/tools/elements/handlers-write.d.ts +0 -89
  787. package/dist/tools/elements/handlers-write.d.ts.map +0 -1
  788. package/dist/tools/elements/handlers-write.js +0 -797
  789. package/dist/tools/elements/handlers-write.js.map +0 -1
  790. package/dist/tools/elements/handlers.d.ts +0 -130
  791. package/dist/tools/elements/handlers.d.ts.map +0 -1
  792. package/dist/tools/elements/handlers.js +0 -581
  793. package/dist/tools/elements/handlers.js.map +0 -1
  794. package/dist/tools/elements/layout-hierarchy-rules.d.ts +0 -62
  795. package/dist/tools/elements/layout-hierarchy-rules.d.ts.map +0 -1
  796. package/dist/tools/elements/layout-hierarchy-rules.js +0 -154
  797. package/dist/tools/elements/layout-hierarchy-rules.js.map +0 -1
  798. package/dist/tools/elements/schema-validation.d.ts +0 -218
  799. package/dist/tools/elements/schema-validation.d.ts.map +0 -1
  800. package/dist/tools/elements/schema-validation.js +0 -685
  801. package/dist/tools/elements/schema-validation.js.map +0 -1
  802. package/dist/tools/elicitation.d.ts +0 -87
  803. package/dist/tools/elicitation.d.ts.map +0 -1
  804. package/dist/tools/elicitation.js +0 -100
  805. package/dist/tools/elicitation.js.map +0 -1
  806. package/dist/tools/format/elements-format.d.ts +0 -75
  807. package/dist/tools/format/elements-format.d.ts.map +0 -1
  808. package/dist/tools/format/elements-format.js +0 -368
  809. package/dist/tools/format/elements-format.js.map +0 -1
  810. package/dist/tools/format/source-schema-format.d.ts +0 -74
  811. package/dist/tools/format/source-schema-format.d.ts.map +0 -1
  812. package/dist/tools/format/source-schema-format.js +0 -208
  813. package/dist/tools/format/source-schema-format.js.map +0 -1
  814. package/dist/tools/layout-flatten.d.ts +0 -84
  815. package/dist/tools/layout-flatten.d.ts.map +0 -1
  816. package/dist/tools/layout-flatten.js +0 -129
  817. package/dist/tools/layout-flatten.js.map +0 -1
  818. package/dist/tools/local-content/handlers.d.ts +0 -56
  819. package/dist/tools/local-content/handlers.d.ts.map +0 -1
  820. package/dist/tools/local-content/handlers.js +0 -320
  821. package/dist/tools/local-content/handlers.js.map +0 -1
  822. package/dist/tools/multi-items/clean-implode-handler.d.ts +0 -37
  823. package/dist/tools/multi-items/clean-implode-handler.d.ts.map +0 -1
  824. package/dist/tools/multi-items/clean-implode-handler.js +0 -65
  825. package/dist/tools/multi-items/clean-implode-handler.js.map +0 -1
  826. package/dist/tools/multi-items/format/inspection-format.d.ts +0 -41
  827. package/dist/tools/multi-items/format/inspection-format.d.ts.map +0 -1
  828. package/dist/tools/multi-items/format/inspection-format.js +0 -64
  829. package/dist/tools/multi-items/format/inspection-format.js.map +0 -1
  830. package/dist/tools/multi-items/inspect-handler.d.ts +0 -97
  831. package/dist/tools/multi-items/inspect-handler.d.ts.map +0 -1
  832. package/dist/tools/multi-items/inspect-handler.js +0 -323
  833. package/dist/tools/multi-items/inspect-handler.js.map +0 -1
  834. package/dist/tools/multi-items/inspection-cache.d.ts +0 -85
  835. package/dist/tools/multi-items/inspection-cache.d.ts.map +0 -1
  836. package/dist/tools/multi-items/inspection-cache.js +0 -126
  837. package/dist/tools/multi-items/inspection-cache.js.map +0 -1
  838. package/dist/tools/navigation/handlers.d.ts +0 -30
  839. package/dist/tools/navigation/handlers.d.ts.map +0 -1
  840. package/dist/tools/navigation/handlers.js +0 -41
  841. package/dist/tools/navigation/handlers.js.map +0 -1
  842. package/dist/tools/pages/handlers-audit.d.ts +0 -140
  843. package/dist/tools/pages/handlers-audit.d.ts.map +0 -1
  844. package/dist/tools/pages/handlers-audit.js +0 -714
  845. package/dist/tools/pages/handlers-audit.js.map +0 -1
  846. package/dist/tools/pages/handlers-read.d.ts +0 -133
  847. package/dist/tools/pages/handlers-read.d.ts.map +0 -1
  848. package/dist/tools/pages/handlers-read.js +0 -1061
  849. package/dist/tools/pages/handlers-read.js.map +0 -1
  850. package/dist/tools/pages/handlers-write.d.ts +0 -212
  851. package/dist/tools/pages/handlers-write.d.ts.map +0 -1
  852. package/dist/tools/pages/handlers-write.js +0 -419
  853. package/dist/tools/pages/handlers-write.js.map +0 -1
  854. package/dist/tools/pages/target.d.ts +0 -162
  855. package/dist/tools/pages/target.d.ts.map +0 -1
  856. package/dist/tools/pages/target.js +0 -239
  857. package/dist/tools/pages/target.js.map +0 -1
  858. package/dist/tools/sources/handlers-bind.d.ts +0 -148
  859. package/dist/tools/sources/handlers-bind.d.ts.map +0 -1
  860. package/dist/tools/sources/handlers-bind.js +0 -657
  861. package/dist/tools/sources/handlers-bind.js.map +0 -1
  862. package/dist/tools/sources/handlers.d.ts +0 -116
  863. package/dist/tools/sources/handlers.d.ts.map +0 -1
  864. package/dist/tools/sources/handlers.js +0 -289
  865. package/dist/tools/sources/handlers.js.map +0 -1
  866. package/dist/tools/sublayout/inspect-sublayout-handler.d.ts +0 -95
  867. package/dist/tools/sublayout/inspect-sublayout-handler.d.ts.map +0 -1
  868. package/dist/tools/sublayout/inspect-sublayout-handler.js +0 -181
  869. package/dist/tools/sublayout/inspect-sublayout-handler.js.map +0 -1
package/README.md CHANGED
@@ -1,9 +1,9 @@
1
- # @wootsup/yt-builder-mcp. YT Builder MCP for YOOtheme Pro (unofficial)
1
+ # @wootsup/yt-builder-mcp. MCP for YOOtheme Pro
2
2
 
3
3
  > Drive your page builder via MCP. Built for YOOtheme Pro 4.0+ on **WordPress** and **Joomla 5/6**. Connect **Claude Desktop**, **Claude Code**, **Cursor**, **Zed**, **Continue**, **Cline**, **Roo Code**, **Codex CLI**, or **Gemini CLI** in one command.
4
4
 
5
5
  > Independent third-party project. YOOtheme® is a registered trademark of YOOtheme GmbH
6
- > ([yootheme.com](https://yootheme.com)). YT Builder MCP is built by WootsUp (getimo
6
+ > ([yootheme.com](https://yootheme.com)). MCP for YOOtheme Pro is built by WootsUp (getimo
7
7
  > productions) and is not affiliated with, endorsed by, or sponsored by YOOtheme.
8
8
  > The integration uses YOOtheme Pro's public extension points.
9
9
 
@@ -17,11 +17,11 @@
17
17
  # 1. Install the host plugin for your CMS.
18
18
  # WordPress: yt-builder-mcp-*.zip plugin.
19
19
  # Joomla 5/6: pkg_ytbmcp-*.zip package (three sub-extensions in one go).
20
- # See https://github.com/wootsup/yt-builder-mcp/releases
20
+ # See https://wootsup.com/products/yt-builder/
21
21
 
22
22
  # 2. Generate a Bearer key.
23
- # WordPress: wp-admin → Tools → "YT Builder MCP" → Bearer Keys.
24
- # Joomla: Administrator → Components → "YT Builder MCP" → Bearer Keys.
23
+ # WordPress: wp-admin → Tools → "MCP for YOOtheme Pro" → Bearer Keys.
24
+ # Joomla: Administrator → Components → "MCP for YOOtheme Pro" → Bearer Keys.
25
25
  # Key format: ytb_(live|test)_<payloadB64Url>.<sigB64Url>
26
26
  # The key is shown ONCE. Copy it now; it cannot be recovered later.
27
27
 
@@ -63,29 +63,36 @@ The wizard auto-detects and configures the following clients:
63
63
 
64
64
  ## Tool surface (gateway model)
65
65
 
66
- The server catalogues **52 tools + 2 gateways = 54 reachable** end-to-end,
67
- of which **42 are advertised in `tools/list`** (well under Cursor's ~40-tool
68
- cap the 3-lane split keeps the advertised surface small while every
69
- catalogued tool stays callable):
66
+ The server catalogues **60 tools + 2 gateways = 62 reachable** end-to-end,
67
+ of which **49 are advertised in `tools/list`** fewer than are callable.
68
+ That is what the 3-lane split buys: a shorter advertised list for clients
69
+ that handle long tool lists poorly, while every catalogued tool stays
70
+ reachable through a gateway:
70
71
 
71
72
  - **2 direct top-level tools** (always in `tools/list`):
72
73
  `yootheme_builder_health`, `yootheme_builder_diagnose`. The
73
74
  "the gateway itself might be broken" escape hatch.
74
- - **38 essential forwarded tools** (always in `tools/list`): the most-used
75
+ - **45 essential forwarded tools** (always in `tools/list`): the most-used
75
76
  reads and writes (`pages_list`, `pages_create`, `pages_delete`,
76
- `page_dynamize`, `get_etag`, `element_list`, `element_add`,
77
+ `pages_set_status`, `pages_restore` (the one correct way back from the
78
+ trash — a gateway-only placement would leave it discoverable only to a
79
+ caller who already knows it exists),
80
+ `page_generate_dynamic`, `get_etag`, `element_list`, `element_add`,
77
81
  `element_update_settings`, `sources_list`, `element_types_list`,
78
82
  `inspect_multi_items_binding`, the multi-site `sites_list` / `sites_test` /
79
- `use_site`, and the bind→save→publish chain `element_bind_source` /
80
- `page_save` / `page_publish`, among others).
81
- - **2 gateway tools** exposing the remaining **12 advanced tools**:
82
- - `yootheme_builder_advanced` (write-capable) routes **all 12**
83
- (`page_get_schema`, `element_unbind_source`,
84
- `clean_implode_directives`, `inspect_sublayout`, `layout_query`,
83
+ `use_site`, `get_skill` (the full-guide retrieval tool), `modules_delete`
84
+ (the one gateway-only destructive tool that removes data outside the
85
+ layout tree, promoted so a host can gate it individually), and the
86
+ bind→save→publish→unbind chain `element_bind_source` / `page_save` /
87
+ `page_publish` / `element_unbind_source`, among others).
88
+ - **2 gateway tools** exposing the remaining **13 advanced tools**:
89
+ - `yootheme_builder_advanced` (write-capable) routes **all 13**
90
+ (`clean_implode_directives`, `inspect_sublayout`, `layout_query`,
85
91
  `library_save_as`, `library_delete`, `local_content_types`,
86
- `local_content_read`, `pages_audit`, `heading_outline`, `navigation`).
92
+ `local_content_read`, `pages_audit`, `heading_outline`, `navigation`,
93
+ `header_transparency_set`, `modules_update`, `modules_create`).
87
94
  - `yootheme_builder_advanced_read` (read-only-annotated) routes only the
88
- **8 read-only** advanced tools (`page_get_schema`, `inspect_sublayout`,
95
+ **7 read-only** advanced tools (`inspect_sublayout`,
89
96
  `layout_query`, `local_content_types`, `local_content_read`,
90
97
  `pages_audit`, `heading_outline`, `navigation`), so MCP hosts can
91
98
  auto-allow pure inspection without a per-call write-approval prompt.
@@ -93,20 +100,13 @@ catalogued tool stays callable):
93
100
  (returns the schema) or `({ tool, arguments })` to execute.
94
101
 
95
102
  See `skills/yt-builder-mcp/SKILL.md` for the full catalog and canonical
96
- workflows, and `docs/TOOL-CATALOG.md` for an auto-generated reference.
97
-
98
- ## Tool catalogue
99
-
100
- | Domain | Count | Tools |
101
- |-------------|------:|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
102
- | Health | 2 | `health`, `diagnose` |
103
- | Sites | 2 | `sites_list`, `sites_test` |
104
- | Pages | 7 | `pages_list`, `page_get_layout`, `page_get_schema`, `template_summary`, `get_etag`, `page_save`, `page_publish` |
105
- | Elements | 7 | `element_list`, `element_get`, `element_add`, `element_update_settings`, `element_move`, `element_clone`, `element_delete` |
106
- | Sources | 5 | `sources_list`, `element_get_binding`, `element_bind_source`, `element_unbind_source`, `inspect_multi_items_binding` |
107
- | Inspection | 3 | `element_types_list`, `element_type_get_schema`, `clean_implode_directives` |
108
- | Sublayout | 1 | `inspect_sublayout` (F154 — fragment subtree + render-time inner-grid gate; advanced/gateway-routed) |
109
- | Gateway | 2 | `advanced` (write, routes all 10 advanced tools), `advanced_read` (read-only, routes the 6 read-only advanced tools) |
103
+ workflows, and `docs/TOOL-CATALOG.md` for an auto-generated, per-tool
104
+ reference (regenerated from the live registry by
105
+ `node scripts/extract-tools.mjs` — never hand-copied here, which is
106
+ exactly why the numbers above stay accurate release over release; an
107
+ earlier, hand-maintained domain-count table on this exact spot had
108
+ drifted to less than half the real tool count and a stale gateway
109
+ count before it was replaced with this pointer).
110
110
 
111
111
  All tool names are prefixed with `yootheme_builder_` at the MCP server boundary.
112
112
 
@@ -114,7 +114,18 @@ All tool names are prefixed with `yootheme_builder_` at the MCP server boundary.
114
114
 
115
115
  ```
116
116
  yt-builder-mcp setup Interactive first-run wizard (default).
117
+ yt-builder-mcp doctor Diagnose connectivity (Node version, corporate
118
+ proxy/TLS, site reachability, bearer validity,
119
+ update status). Run this first when setup "hangs".
117
120
  yt-builder-mcp install-skill Install the bundled agent skill.
121
+ yt-builder-mcp uninstall Remove yt-builder-mcp from configured AI clients
122
+ (alias: remove) (and, optionally, the installed skill).
123
+ yt-builder-mcp add-site Add a site to the multi-site registry (see
124
+ "Multi-site setup" below).
125
+ yt-builder-mcp list-sites List configured sites (no network calls).
126
+ yt-builder-mcp remove-site <id> Remove a site; auto-promotes the next as default.
127
+ yt-builder-mcp set-default <id> Flip which configured site is the default.
128
+ yt-builder-mcp test-site <id> Probe /health + /etag for one configured site.
118
129
  yt-builder-mcp --version, -v Print package version.
119
130
  yt-builder-mcp --help, -h Show usage.
120
131
  ```
@@ -131,9 +142,9 @@ AI clients that follow the `~/AGENTS.md` discovery protocol. The
131
142
  single location keeps the skill discoverable across every supported
132
143
  client without per-client write logic.
133
144
 
134
- The skill ships with the 5 canonical workflows (build hero, bind
135
- source, clone section, diagnose 401, add custom element) plus a
136
- 26-tool auto-generated catalog appendix.
145
+ The skill ships with the 6 canonical workflows (build hero, bind
146
+ source, clone section, diagnose 401, add custom element, SEO audit)
147
+ plus a 60-tool auto-generated catalog appendix.
137
148
 
138
149
  ## MCPB bundle (Claude Desktop one-click install)
139
150
 
@@ -160,10 +171,15 @@ When launched by an AI client (or directly):
160
171
  |----------|-----------|---------|
161
172
  | `YTB_MCP_SITE_URL` | Yes | Host CMS base URL (e.g. `https://example.com`). Works for BOTH WordPress and Joomla. Trailing slash is stripped. |
162
173
  | `YTB_MCP_WP_URL` | No (deprecated) | Legacy alias for `YTB_MCP_SITE_URL`. Still honoured for older WordPress-only configurations. A non-fatal deprecation notice is written to stderr when this is used without `YTB_MCP_SITE_URL`. |
163
- | `YTB_MCP_BEARER_TOKEN` | Yes | Bearer key from wp-admin (WordPress: Tools → "YT Builder MCP") or Administrator → Components → "YT Builder MCP" (Joomla). Format-checked client-side: must match `ytb_(live\|test)_<payload>.<sig>`. Do **not** prepend `Bearer `. The MCP server adds it. |
174
+ | `YTB_MCP_BEARER_TOKEN` | Yes | Bearer key from wp-admin (WordPress: Tools → "MCP for YOOtheme Pro") or Administrator → Components → "MCP for YOOtheme Pro" (Joomla). Format-checked client-side: must match `ytb_(live\|test)_<payload>.<sig>`. Do **not** prepend `Bearer `. The MCP server adds it. |
164
175
  | `YTB_MCP_PLATFORM` | No | Explicit platform hint: `wordpress` or `joomla`. Set to `joomla` when `YTB_MCP_SITE_URL` is an origin-only Joomla URL (no `/api/index.php/` in the path). Defaults to URL-shape auto-detection. |
165
176
  | `YTB_MCP_TIMEOUT_MS` | No | REST timeout (default 15000). |
166
177
  | `YTB_MCP_TEST_MODE` | No | `1` skips the stdio loop (smoke tests). |
178
+ | `YTB_MCP_SITES_FILE` | No | Path to the multi-site registry (see "Multi-site setup" above). Defaults to `~/.config/yt-builder-mcp/sites.json`. |
179
+ | `YTB_MCP_PROFILE` | No | Boots the server pinned to one `site_id` from the registry, for a one-MCP-entry-per-site setup. |
180
+ | `YTB_MCP_EXTRA_HEADERS` | No | Extra HTTP headers merged into every outbound request (a WAF cookie, a corporate gateway secret, HTTP Basic-Auth, …). Either a JSON object (`{"X-WAF-Token":"abc"}`) or `Name: value` lines. An `Authorization` entry here is always dropped — the Bearer owns that header. |
181
+ | `YTB_MCP_SITE_BASIC_AUTH` | No | `user:pass` for a site fronted by an HTTP Basic-Auth realm. Sent as the `Authorization: Basic …` header; the plugin Bearer then travels on `X-Authorization`. |
182
+ | `YTB_MCP_VERSION` | No | Version-pin fallback used when `--pin` isn't passed at setup time (see "Corporate TLS interception / air-gapped installs"). |
167
183
 
168
184
  ## Manual MCP config (no wizard)
169
185
 
@@ -195,6 +211,58 @@ For a Joomla install at an origin-only URL, also set the platform hint:
195
211
  }
196
212
  ```
197
213
 
214
+ ## Multi-site setup (more than one WordPress/Joomla site)
215
+
216
+ Instead of one `env` block per AI client, add every site once to a
217
+ shared on-disk registry and address each by `site_id`:
218
+
219
+ ```bash
220
+ npx -y @wootsup/yt-builder-mcp add-site \
221
+ --url https://shop.example.com --token "$YTB_TOKEN" \
222
+ --label "Shop" --site-id shop --default
223
+
224
+ npx -y @wootsup/yt-builder-mcp add-site \
225
+ --url https://blog.example.com --token-ref "op://Vault/blog/token" \
226
+ --label "Blog" --site-id blog
227
+
228
+ npx -y @wootsup/yt-builder-mcp list-sites
229
+ npx -y @wootsup/yt-builder-mcp test-site shop
230
+ npx -y @wootsup/yt-builder-mcp set-default blog
231
+ npx -y @wootsup/yt-builder-mcp remove-site blog
232
+ ```
233
+
234
+ `add-site` flags:
235
+
236
+ | Flag | Required? | Description |
237
+ |------|-----------|-------------|
238
+ | `--url <site-url>` | Yes | Site base URL (WordPress or Joomla). |
239
+ | `--token <bearer>` | One of these two | Plain Bearer key. Mutually exclusive with `--token-ref`. |
240
+ | `--token-ref <op://…>` | One of these two | 1Password Secret Reference (`op://<vault>/<item>/<field>`) instead of a plain-text key. |
241
+ | `--platform auto\|wordpress\|joomla` | No (default `auto`) | Explicit platform hint; `auto` is runtime-detected on first use. |
242
+ | `--label "<text>"` | No | Human-readable label shown by `list-sites`. |
243
+ | `--site-id <slug>` | No (default `default`) | Registry key used by every other multi-site command and by a tool call's optional `site_id` argument. |
244
+ | `--default` | No | Mark this site as the default (the first added site becomes default automatically). |
245
+ | `--yes` | No | Overwrite an existing `site_id` instead of failing. |
246
+ | `--sites-file <path>` | No | Registry file to write, overriding `YTB_MCP_SITES_FILE` / the default path for this one call. |
247
+
248
+ The registry lives at `~/.config/yt-builder-mcp/sites.json`
249
+ (`$XDG_CONFIG_HOME/yt-builder-mcp/sites.json` when that variable is
250
+ set). `YTB_MCP_SITES_FILE` is the switch that makes the server READ a
251
+ registry at all: without it the server ignores `sites.json` entirely and
252
+ runs off the single-site `YTB_MCP_SITE_URL` / `YTB_MCP_BEARER_TOKEN`
253
+ pair. `setup` writes it for you, pointing at the registry it filled; set
254
+ it by hand only to name a different path. When the file it names is
255
+ missing or holds no sites, the server falls back to the single-site pair,
256
+ so an unpopulated registry never costs you a working config.
257
+ `YTB_MCP_PROFILE=<site_id>` boots the server
258
+ pinned to one site from the registry — useful when you'd rather run
259
+ one MCP entry per site than one shared multi-site entry.
260
+
261
+ `uninstall` (alias `remove`) accepts `--all` (every detected client +
262
+ the skill, no prompts), `--yes`/`-y` (skip the final confirmation),
263
+ `--keep-skill` (remove client entries but leave the installed skill in
264
+ place), and `--force`.
265
+
198
266
  ## Non-interactive CI usage
199
267
 
200
268
  For scripted / CI installs, pass the answers as flags and add
@@ -222,6 +290,36 @@ The wizard still runs its plugin-health + auth probes and uses the
222
290
  exit codes documented in the table below, so CI can branch on the
223
291
  exit code to detect whether the install actually succeeded.
224
292
 
293
+ ### Corporate TLS interception / air-gapped installs
294
+
295
+ | Flag | Description |
296
+ |------|-------------|
297
+ | `--ca <path>` | Trust a corporate root CA `.pem` (writes `NODE_EXTRA_CA_CERTS=<path>` into the generated client config). |
298
+ | `--use-system-ca` (or `--ca=system`) | Trust the OS certificate store instead of an exported file — zero-export, needs Node ≥ 22.15 (writes `NODE_OPTIONS=--use-system-ca`). |
299
+ | `--pin <version>` | Pin the generated client config to an exact version (`npx -y @wootsup/yt-builder-mcp@<version>`) instead of the floating `@latest`. Falls back to the `YTB_MCP_VERSION` env var when omitted. |
300
+
301
+ The interactive wizard auto-offers `--ca` / `--use-system-ca` the
302
+ moment a probe fails with a TLS-inspection certificate error, so these
303
+ flags are mainly for the non-interactive/CI path.
304
+
305
+ ### One-click setup (pickup mode)
306
+
307
+ The host plugin's admin UI can hand the wizard a freshly-minted Bearer
308
+ key directly, skipping the URL/token prompts entirely:
309
+
310
+ ```bash
311
+ npx -y @wootsup/yt-builder-mcp setup \
312
+ --pickup https://example.com/wp-json/yt-builder-mcp/v1/setup/pickup \
313
+ --nonce "$NONCE" \
314
+ --client claude-desktop
315
+ ```
316
+
317
+ The pickup URL and nonce are revealed together in wp-admin → Tools →
318
+ "MCP for YOOtheme Pro" (WordPress) or Administrator → Components →
319
+ "MCP for YOOtheme Pro" (Joomla). The pickup is IP-bound, single-use, and
320
+ expires after 5 minutes; any `--url`/`--token` passed alongside
321
+ `--pickup` are ignored (with a stderr warning).
322
+
225
323
  ## Exit codes (CLI)
226
324
 
227
325
  The CLI returns POSIX-style exit codes for scripting / CI:
@@ -234,15 +332,16 @@ The CLI returns POSIX-style exit codes for scripting / CI:
234
332
  | 3 | Auth probe failed and user declined to continue |
235
333
  | 4 | Write failed; configs rolled back |
236
334
  | 5 | Handshake failed; configs rolled back |
335
+ | 6 | AI clients configured, but the site could not be recorded in `sites.json`; nothing rolled back |
237
336
  | 99 | Unhandled fatal in dispatcher |
238
337
  | 130 | User cancelled (SIGINT) |
239
338
 
240
339
  ## Documentation
241
340
 
242
- - [SKILL.md (bundled agent skill)](./skills/yt-builder-mcp/SKILL.md): 5 canonical workflows, gateway model, tool catalog
341
+ - [SKILL.md (bundled agent skill)](./skills/yt-builder-mcp/SKILL.md): 6 canonical workflows, gateway model, tool catalog
243
342
  - [REST API Reference](https://wootsup.com/docs/mcp/yootheme-wordpress/)
244
343
  - [MCP Tool Reference](https://wootsup.com/docs/mcp/yootheme-wordpress/tools)
245
344
 
246
- ## Repository
345
+ ## Product page
247
346
 
248
- https://github.com/wootsup/yt-builder-mcp
347
+ https://wootsup.com/products/yt-builder/
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Type declaration for `node-floor.js`.
3
+ *
4
+ * That file is deliberately plain JavaScript outside the `src/` tree — its
5
+ * own docblock explains why: it guards the import that would otherwise throw
6
+ * while the module graph is being instantiated. `tsconfig.tests.json` still
7
+ * type-checks the tests that import it, and a `.js` module with no sibling
8
+ * declaration types as `any` there (TS7016) — this file is that declaration,
9
+ * kept in sync with the implementation by hand since the source itself
10
+ * cannot carry types without becoming the thing it guards against.
11
+ *
12
+ * @license MIT
13
+ */
14
+
15
+ export declare const NODE_PREFLIGHT_FLOOR: readonly [number, number, number];
16
+ export declare const UNSUPPORTED_NODE_MAJOR: number;
17
+ export declare const NODE_TOO_OLD_EXIT: number;
18
+ export declare const NODE_UNSUPPORTED_LINE_EXIT: number;
19
+
20
+ export interface NodeRuntimeRefusal {
21
+ readonly exitCode: number;
22
+ readonly message: string;
23
+ }
24
+
25
+ export declare function nodeRuntimeRefusal(
26
+ versionString: string,
27
+ floor?: readonly [number, number, number],
28
+ ): NodeRuntimeRefusal | null;
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Refuse to run on a Node this package cannot work on, and say so in words the
3
+ * reader can act on.
4
+ *
5
+ * Why this cannot live in `dist/`: a dependency of the setup wizard uses a
6
+ * terminal-formatting helper from a Node builtin. Where the helper is missing
7
+ * entirely, importing it throws while the module graph is being INSTANTIATED,
8
+ * not when the code runs — so every subcommand dies, `--version` included,
9
+ * before a single line of ours executes. Anything that diagnoses that
10
+ * situation must therefore sit OUTSIDE the graph it diagnoses: this file is
11
+ * plain JavaScript, imports nothing, and is loaded before the first `dist/`
12
+ * module.
13
+ *
14
+ * The consequence for the floor number: it is duplicated here, because the
15
+ * authoritative `NODE_FLOOR` lives behind exactly the import this guard runs
16
+ * ahead of. `tests/setup/engines-floor.test.ts` holds the two together — the
17
+ * duplication is deliberate and watched, not an oversight.
18
+ *
19
+ * ## Where the number comes from, and where it does NOT
20
+ *
21
+ * The floor is a product decision, not the lowest version that happens to
22
+ * work — those are two different numbers and this file has held both.
23
+ *
24
+ * What it is TODAY: 22.15.0, the release that first reads the OS trust store
25
+ * via `--use-system-ca`. `SYSTEM_CA_NODE_FLOOR` in
26
+ * `src/diagnostics/ca-trust.ts` carries the same triple. Beneath it the
27
+ * wizard's automatic recovery for a corporate TLS-inspection proxy is a
28
+ * silent no-op, so a customer would be told a fix was applied that cannot
29
+ * work. The minor matters; 22.0 would reopen exactly that gap.
30
+ *
31
+ * What it WAS, and why the measurement still matters: the lowest version this
32
+ * package was ever observed to run on is 20.13.0, one minor ABOVE what the
33
+ * wizard's prompt library declares for itself. That library says `>= 20.12.0`
34
+ * and is wrong — it calls a terminal-formatting helper with an ARRAY of
35
+ * styles, an overload that arrived later than the helper. Measured 2026-08-31
36
+ * by bisection over nine installed releases, each confirmed against the real
37
+ * wizard and not only against the helper:
38
+ *
39
+ * 20.12.0 helper present, array form REJECTED → wizard dies at the first prompt
40
+ * 20.13.0 array form accepted → wizard runs
41
+ * 21.0.0 helper ABSENT → module fails to load
42
+ * 21.7.3 helper present, array form REJECTED → wizard dies at the first prompt
43
+ * 22.0.0 array form accepted → wizard runs
44
+ *
45
+ * That table is why the 21 line is refused on its own terms below. The
46
+ * supported set was never one interval: the overload was backported into the
47
+ * 20 line from 20.13.0 and never into the 21 line at all, and 21.7.3 was that
48
+ * line's last release. Today's floor already excludes 21 arithmetically, so
49
+ * the separate refusal survives for its WORDING, not for its reach.
50
+ *
51
+ * @license MIT
52
+ */
53
+
54
+ /**
55
+ * Minimum supported Node. Kept equal to `NODE_FLOOR` in
56
+ * `src/diagnostics/doctor.ts` by `tests/setup/engines-floor.test.ts`.
57
+ */
58
+ export const NODE_PREFLIGHT_FLOOR = [22, 15, 0];
59
+
60
+ /**
61
+ * Major version of the line that never received the backport (see above).
62
+ *
63
+ * It sits BELOW the floor, so `engines.node` now excludes it too and npm does
64
+ * warn before installing — which it did not while the floor was in the 20
65
+ * line, and that older situation is the one this constant was built for. What
66
+ * survives the change is the WORDING: a customer who ignores the npm warning
67
+ * and starts anyway is told that this whole line is unusable and that no
68
+ * release of it will do, rather than being told to install something newer —
69
+ * advice that reads as "try 21.7.3" to anyone on 21.0.0.
70
+ *
71
+ * Removing it would therefore lose an explanation, not a refusal. The refusal
72
+ * is covered twice; the reason is not.
73
+ */
74
+ export const UNSUPPORTED_NODE_MAJOR = 21;
75
+
76
+ /**
77
+ * Exit codes. Both mean "this interpreter cannot run the package", and they
78
+ * are distinct so a caller can tell WHICH refusal it hit without parsing
79
+ * prose. Neither collides with the CLI's generic fatal (99) or with any code
80
+ * `runCli` returns (0, 1, 2, 130). The values are the conventional
81
+ * `EX_CONFIG` and `EX_UNAVAILABLE` from sysexits.
82
+ */
83
+ export const NODE_TOO_OLD_EXIT = 78;
84
+ export const NODE_UNSUPPORTED_LINE_EXIT = 69;
85
+
86
+ const RESTART_HINT = 'then run the command again. If an AI client starts this server for you,\n'
87
+ + 'restart that client afterwards so it picks up the newer Node.\n';
88
+
89
+ /**
90
+ * The refusal for `versionString`, or `null` when this Node can run the
91
+ * package.
92
+ *
93
+ * Returns the exit code alongside the message so the caller never has to
94
+ * decide which refusal it is holding.
95
+ *
96
+ * Takes the version as an argument rather than reading `process.version` so
97
+ * the decision is testable on any machine, against any version.
98
+ *
99
+ * **An unparseable version is allowed through, deliberately.** Blocking would
100
+ * turn an unrecognised-but-working runtime into a refusal to start, which is
101
+ * worse than the confusing loader error the caller would otherwise get: that
102
+ * error is the behaviour this guard replaces, not one it introduces.
103
+ */
104
+ export function nodeRuntimeRefusal(versionString, floor = NODE_PREFLIGHT_FLOOR) {
105
+ const m = /^v?(\d+)\.(\d+)\.(\d+)/.exec(String(versionString ?? ''));
106
+ if (m === null) return null;
107
+
108
+ const found = [Number(m[1]), Number(m[2]), Number(m[3])];
109
+ const shown = found.join('.');
110
+
111
+ // Checked before the floor so this line gets its own explanation rather
112
+ // than the generic too-old refusal. The order was once load-bearing —
113
+ // every release of the line sat numerically ABOVE the floor, so nothing
114
+ // else would have caught it. It no longer is, and the check is kept for
115
+ // what it SAYS.
116
+ if (found[0] === UNSUPPORTED_NODE_MAJOR) {
117
+ // What to install is the HIGHER of "the line after the refused one"
118
+ // and the floor — never the former alone. With a floor of 22.15.0,
119
+ // advising "Node.js 22" would send the reader to a release this same
120
+ // function refuses one branch below, and they would meet a second
121
+ // refusal for a version they installed on our advice.
122
+ const advice = floor[0] > UNSUPPORTED_NODE_MAJOR
123
+ ? `${floor[0]}.${floor[1]}`
124
+ : String(UNSUPPORTED_NODE_MAJOR + 1);
125
+
126
+ return {
127
+ exitCode: NODE_UNSUPPORTED_LINE_EXIT,
128
+ message: `yt-builder-mcp cannot run on the Node.js ${UNSUPPORTED_NODE_MAJOR} line, `
129
+ + `and this is Node.js ${shown}.\n`
130
+ + `\n`
131
+ + `No Node.js ${UNSUPPORTED_NODE_MAJOR} release carries the terminal formatting this package\n`
132
+ + `needs. Install Node.js ${advice} or newer (an LTS release is recommended),\n`
133
+ + RESTART_HINT,
134
+ };
135
+ }
136
+
137
+ for (let i = 0; i < 3; i++) {
138
+ if (found[i] > floor[i]) return null;
139
+ if (found[i] < floor[i]) {
140
+ return {
141
+ exitCode: NODE_TOO_OLD_EXIT,
142
+ message: `yt-builder-mcp needs Node.js ${floor.join('.')} or newer, but this is Node.js ${shown}.\n`
143
+ + `\n`
144
+ + `Install Node.js ${floor[0]}.${floor[1]} or newer (an LTS release is recommended),\n`
145
+ + RESTART_HINT,
146
+ };
147
+ }
148
+ }
149
+ return null;
150
+ }
@@ -9,11 +9,14 @@
9
9
  * `remove-site` / `set-default` / `test-site` / `help` /
10
10
  * `--help` / `-h` / `--version` / `-v`): forward argv to
11
11
  * `runCli()` in `dist/setup-cli.js` (Wave G.7).
12
- * - 'hint' no OR unknown subcommand AND stdin is an interactive TTY
12
+ * - 'unknown'→ a word was given and it is not one of ours: name it back,
13
+ * suggest the likely command, exit 2. Both at a terminal and
14
+ * off one — no MCP client passes a word we do not know.
15
+ * - 'hint' → NO subcommand AND stdin is an interactive TTY
13
16
  * (a human ran the bin directly): print a discoverability
14
17
  * hint to stderr and exit 0, instead of silently blocking
15
18
  * on the stdio read loop ("hang").
16
- * - 'server' → no OR unknown subcommand AND stdin is NOT a TTY (a real
19
+ * - 'server' → NO subcommand AND stdin is NOT a TTY (a real
17
20
  * AI client piping JSON-RPC over stdin): import
18
21
  * `dist/index.js`, which starts the MCP stdio server (or,
19
22
  * under YTB_MCP_TEST_MODE=1, prints the tool list to stderr
@@ -44,20 +47,23 @@
44
47
  *
45
48
  * @license MIT
46
49
  */
47
- import { argv, stdin, stderr, exit } from 'node:process';
50
+ import { argv, stdin, stderr, exit, version } from 'node:process';
48
51
  import { spawnSync } from 'node:child_process';
49
52
  import { fileURLToPath } from 'node:url';
50
53
 
51
- import {
54
+ import { nodeRuntimeRefusal } from './node-floor.js';
55
+
56
+ // Dynamic, not static: a static import is hoisted above everything in this
57
+ // file, so nothing written here could run ahead of it. This is the ONLY
58
+ // `dist/` module loaded before the runtime check below, and it is loaded
59
+ // because the check needs to know the route first.
60
+ const {
52
61
  decideInvocation,
53
62
  isKnownSubcommand,
54
63
  BARE_INVOCATION_HINT,
55
- } from '../dist/cli/invocation-decision.js';
56
- import {
57
- decideCaReexec,
58
- CA_REEXEC_SENTINEL,
59
- USE_SYSTEM_CA_FLAG,
60
- } from '../dist/diagnostics/ca-reexec.js';
64
+ unknownSubcommandMessage,
65
+ UNKNOWN_SUBCOMMAND_EXIT_CODE,
66
+ } = await import('../dist/cli/invocation-decision.js');
61
67
 
62
68
  const args = argv.slice(2);
63
69
  const subcommand = args[0];
@@ -75,6 +81,31 @@ if (isKnownSubcommand(subcommand)) {
75
81
  action = decideInvocation(subcommand, stdin.isTTY);
76
82
  }
77
83
 
84
+ // The runtime check applies to the routes a PERSON drives, never to the
85
+ // server. Measured: `dist/index.js` loads on every version from the oldest
86
+ // supported upwards, so the server never needed this floor — only the setup
87
+ // wizard's terminal-formatting dependency does. Refusing the server route
88
+ // would take a working MCP server away from a customer whose only real
89
+ // problem is that `setup` cannot run.
90
+ //
91
+ // The cost of standing here rather than at the top of the file, stated so
92
+ // nobody has to rediscover it: the check is no longer ahead of every `dist/`
93
+ // import. Two are outside it — `invocation-decision.js` above, which must
94
+ // load to decide the route at all, and `index.js` on the server branch,
95
+ // which is deliberately unguarded. Should either ever pull in the wizard's
96
+ // dependency, directly or through one of its own, that import throws while
97
+ // the module graph is instantiated and this check never gets to speak: the
98
+ // customer is back to a message about a missing module export. Both are
99
+ // small and neither imports the wizard today, which is a measurement, not a
100
+ // guarantee.
101
+ if (action !== 'server') {
102
+ const refusal = nodeRuntimeRefusal(version);
103
+ if (refusal !== null) {
104
+ stderr.write(refusal.message);
105
+ exit(refusal.exitCode);
106
+ }
107
+ }
108
+
78
109
  if (action === 'cli') {
79
110
  try {
80
111
  const { runCli } = await import('../dist/setup-cli.js');
@@ -85,6 +116,11 @@ if (action === 'cli') {
85
116
  stderr.write(`yt-builder-mcp: fatal: ${msg}\n`);
86
117
  exit(99);
87
118
  }
119
+ } else if (action === 'unknown') {
120
+ // A word that is not ours. Said out loud, with a non-zero code — the two
121
+ // things a customer who mistyped needs and used to get neither of.
122
+ stderr.write(`${unknownSubcommandMessage(subcommand)}\n`);
123
+ exit(UNKNOWN_SUBCOMMAND_EXIT_CODE);
88
124
  } else if (action === 'hint') {
89
125
  stderr.write(`${BARE_INVOCATION_HINT}\n`);
90
126
  exit(0);
@@ -99,6 +135,11 @@ if (action === 'cli') {
99
135
  // normal in-process start — a re-exec failure must never break startup.
100
136
  if (process.env.YTB_MCP_TEST_MODE !== '1') {
101
137
  try {
138
+ const {
139
+ decideCaReexec,
140
+ CA_REEXEC_SENTINEL,
141
+ USE_SYSTEM_CA_FLAG,
142
+ } = await import('../dist/diagnostics/ca-reexec.js');
102
143
  const shouldReexec = decideCaReexec({
103
144
  nodeVersion: process.version,
104
145
  execArgv: process.execArgv,