@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,65 +1,7 @@
1
- /**
2
- * Parse `YTB_MCP_SITE_BASIC_AUTH` ('user:pass') into URL **userinfo** that is
3
- * injected into the upstream request URL (`https://user:pass@host/…`) on BOTH
4
- * transports (fat-mode {@link RestClient} base URL and proxy-mode endpoint URL).
5
- *
6
- * Why this exists (U3 — Glöckle post-cert QA blocker): a site fronted by a pure
7
- * HTTP **Basic-Auth realm** (e.g. `qa.gloeckle.de`) requires
8
- * `Authorization: Basic …`. But the plugin Bearer already owns the single
9
- * `Authorization` header on every outbound request, and `YTB_MCP_EXTRA_HEADERS`
10
- * HARD-FORBIDS an `Authorization` key (see {@link parseExtraHeaders}) — so Basic
11
- * and the Bearer collide on the one header and the site is unreachable.
12
- *
13
- * The fix routes the site-level Basic credentials on a **separate transport**:
14
- * URL userinfo. Userinfo and the `Authorization` header are independent — undici
15
- * / fetch turn `https://user:pass@host` into an `Authorization: Basic …` toward
16
- * the **gateway/realm**, while we keep emitting `Authorization: Bearer …` toward
17
- * the **plugin** behind it. The Bearer is never touched; the realm and the
18
- * plugin each get the credential they expect.
19
- *
20
- * ── Accepted format ─────────────────────────────────────────────────────────
21
- * `user:pass` — split on the FIRST colon (passwords may contain colons).
22
- * - The username MUST be non-empty.
23
- * - The password MAY be empty (some realms use a user-only token).
24
- * Both halves are percent-encoded for userinfo via the WHATWG URL encoder, so
25
- * reserved chars (`@`, `/`, `:`, space, …) survive into a valid URL.
26
- *
27
- * ── Security invariants ─────────────────────────────────────────────────────
28
- * - The credential value is **NEVER** echoed in a warning or logged. Malformed
29
- * input yields a generic "missing colon / empty username" warning only.
30
- * - This channel NEVER touches the `Authorization` header — it rides URL
31
- * userinfo exclusively, so the Bearer always wins (orthogonal transports).
32
- *
33
- * Pure + deterministic. `warnings` collects non-fatal issues; the caller (the
34
- * server boot path) surfaces them once to stderr.
35
- *
36
- * @license MIT
37
- */
38
- /** Canonical env-var name for the site-level HTTP Basic-Auth feature. */
39
1
  export declare const ENV_SITE_BASIC_AUTH = "YTB_MCP_SITE_BASIC_AUTH";
40
2
  export interface ParsedSiteBasicAuth {
41
- /**
42
- * Percent-encoded `user:pass` userinfo ready to splice into a URL, or
43
- * `null` when the env var is unset/blank/malformed. NEVER contains the raw
44
- * (un-encoded) credential beyond what userinfo requires.
45
- */
46
- readonly userinfo: string | null;
47
- /** Non-fatal issues (missing colon, empty username). Never echo the secret. */
3
+ readonly header: string | null;
48
4
  readonly warnings: readonly string[];
49
5
  }
50
- /**
51
- * Parse `YTB_MCP_SITE_BASIC_AUTH` from `env` (default `process.env`). Returns
52
- * `{ userinfo: null, warnings: [] }` when unset/blank, and a generic warning
53
- * (never containing the secret) when the value is malformed.
54
- */
55
6
  export declare function parseSiteBasicAuth(env?: NodeJS.ProcessEnv): ParsedSiteBasicAuth;
56
- /**
57
- * Splice `userinfo` (a percent-encoded `user:pass`) into `url`, returning the
58
- * resulting href. When `userinfo` is `null`, the URL is returned unchanged
59
- * (string form). Any pre-existing userinfo on the URL is overwritten.
60
- *
61
- * This is the ONLY mutation the site-Basic channel performs — it never adds or
62
- * alters a header, so the Bearer in `Authorization` is untouched.
63
- */
64
- export declare function applyUserinfoToUrl(url: string | URL, userinfo: string | null): string;
65
7
  //# sourceMappingURL=site-basic-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"site-basic-auth.d.ts","sourceRoot":"","sources":["../../src/net/site-basic-auth.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,yEAAyE;AACzE,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAChC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAqBD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,mBAAmB,CA8B5F;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAgBrF"}
1
+ {"version":3,"file":"site-basic-auth.d.ts","sourceRoot":"","sources":["../../src/net/site-basic-auth.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAKhC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAOD,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,mBAAmB,CA+B5F"}
@@ -1,76 +1,13 @@
1
- // packages/mcp/src/net/site-basic-auth.ts
2
- /**
3
- * Parse `YTB_MCP_SITE_BASIC_AUTH` ('user:pass') into URL **userinfo** that is
4
- * injected into the upstream request URL (`https://user:pass@host/…`) on BOTH
5
- * transports (fat-mode {@link RestClient} base URL and proxy-mode endpoint URL).
6
- *
7
- * Why this exists (U3 — Glöckle post-cert QA blocker): a site fronted by a pure
8
- * HTTP **Basic-Auth realm** (e.g. `qa.gloeckle.de`) requires
9
- * `Authorization: Basic …`. But the plugin Bearer already owns the single
10
- * `Authorization` header on every outbound request, and `YTB_MCP_EXTRA_HEADERS`
11
- * HARD-FORBIDS an `Authorization` key (see {@link parseExtraHeaders}) — so Basic
12
- * and the Bearer collide on the one header and the site is unreachable.
13
- *
14
- * The fix routes the site-level Basic credentials on a **separate transport**:
15
- * URL userinfo. Userinfo and the `Authorization` header are independent — undici
16
- * / fetch turn `https://user:pass@host` into an `Authorization: Basic …` toward
17
- * the **gateway/realm**, while we keep emitting `Authorization: Bearer …` toward
18
- * the **plugin** behind it. The Bearer is never touched; the realm and the
19
- * plugin each get the credential they expect.
20
- *
21
- * ── Accepted format ─────────────────────────────────────────────────────────
22
- * `user:pass` — split on the FIRST colon (passwords may contain colons).
23
- * - The username MUST be non-empty.
24
- * - The password MAY be empty (some realms use a user-only token).
25
- * Both halves are percent-encoded for userinfo via the WHATWG URL encoder, so
26
- * reserved chars (`@`, `/`, `:`, space, …) survive into a valid URL.
27
- *
28
- * ── Security invariants ─────────────────────────────────────────────────────
29
- * - The credential value is **NEVER** echoed in a warning or logged. Malformed
30
- * input yields a generic "missing colon / empty username" warning only.
31
- * - This channel NEVER touches the `Authorization` header — it rides URL
32
- * userinfo exclusively, so the Bearer always wins (orthogonal transports).
33
- *
34
- * Pure + deterministic. `warnings` collects non-fatal issues; the caller (the
35
- * server boot path) surfaces them once to stderr.
36
- *
37
- * @license MIT
38
- */
39
- /** Canonical env-var name for the site-level HTTP Basic-Auth feature. */
40
1
  export const ENV_SITE_BASIC_AUTH = 'YTB_MCP_SITE_BASIC_AUTH';
41
- /**
42
- * Encode a single userinfo component (username or password) exactly as the
43
- * WHATWG URL serializer would. Using the URL setter (rather than
44
- * `encodeURIComponent`) guarantees the result is byte-for-byte what lands on a
45
- * real request URL, and is idempotent if the value is already encoded.
46
- */
47
- function encodeUserinfoComponent(part, value) {
48
- const u = new URL('https://x.invalid/');
49
- if (part === 'username') {
50
- u.username = value;
51
- return u.username;
52
- }
53
- // A password-only set still needs a (placeholder) username for the URL to be
54
- // valid; read back ONLY the password component.
55
- u.username = 'x';
56
- u.password = value;
57
- return u.password;
58
- }
59
- /**
60
- * Parse `YTB_MCP_SITE_BASIC_AUTH` from `env` (default `process.env`). Returns
61
- * `{ userinfo: null, warnings: [] }` when unset/blank, and a generic warning
62
- * (never containing the secret) when the value is malformed.
63
- */
64
2
  export function parseSiteBasicAuth(env = process.env) {
65
3
  const raw = (env[ENV_SITE_BASIC_AUTH] ?? '').trim();
66
4
  if (raw === '') {
67
- return { userinfo: null, warnings: [] };
5
+ return { header: null, warnings: [] };
68
6
  }
69
7
  const idx = raw.indexOf(':');
70
8
  if (idx < 0) {
71
- // Deliberately do NOT echo `raw` — it IS the credential.
72
9
  return {
73
- userinfo: null,
10
+ header: null,
74
11
  warnings: [
75
12
  `${ENV_SITE_BASIC_AUTH}: ignored — expected "user:pass" (a ":" separating username from password). The credential value is not shown.`,
76
13
  ],
@@ -80,39 +17,13 @@ export function parseSiteBasicAuth(env = process.env) {
80
17
  const password = raw.slice(idx + 1);
81
18
  if (user === '') {
82
19
  return {
83
- userinfo: null,
20
+ header: null,
84
21
  warnings: [
85
22
  `${ENV_SITE_BASIC_AUTH}: ignored — the username (before ":") is empty. Expected "user:pass". The credential value is not shown.`,
86
23
  ],
87
24
  };
88
25
  }
89
- const userinfo = `${encodeUserinfoComponent('username', user)}:${encodeUserinfoComponent('password', password)}`;
90
- return { userinfo, warnings: [] };
91
- }
92
- /**
93
- * Splice `userinfo` (a percent-encoded `user:pass`) into `url`, returning the
94
- * resulting href. When `userinfo` is `null`, the URL is returned unchanged
95
- * (string form). Any pre-existing userinfo on the URL is overwritten.
96
- *
97
- * This is the ONLY mutation the site-Basic channel performs — it never adds or
98
- * alters a header, so the Bearer in `Authorization` is untouched.
99
- */
100
- export function applyUserinfoToUrl(url, userinfo) {
101
- const parsed = url instanceof URL ? new URL(url.href) : new URL(url);
102
- if (userinfo === null) {
103
- return parsed.href;
104
- }
105
- const sep = userinfo.indexOf(':');
106
- if (sep < 0) {
107
- // Defensive — parseSiteBasicAuth always produces a colon; a caller that
108
- // hand-builds a userinfo without one gets username-only behaviour.
109
- parsed.username = userinfo;
110
- parsed.password = '';
111
- }
112
- else {
113
- parsed.username = userinfo.slice(0, sep);
114
- parsed.password = userinfo.slice(sep + 1);
115
- }
116
- return parsed.href;
26
+ const header = `Basic ${Buffer.from(`${user}:${password}`, 'utf-8').toString('base64')}`;
27
+ return { header, warnings: [] };
117
28
  }
118
29
  //# sourceMappingURL=site-basic-auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"site-basic-auth.js","sourceRoot":"","sources":["../../src/net/site-basic-auth.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,yEAAyE;AACzE,MAAM,CAAC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AAa7D;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,IAA6B,EAAE,KAAa;IACzE,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACxC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACtB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;QACnB,OAAO,CAAC,CAAC,QAAQ,CAAC;IACtB,CAAC;IACD,6EAA6E;IAC7E,gDAAgD;IAChD,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC;IACjB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;IACnB,OAAO,CAAC,CAAC,QAAQ,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACnE,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACb,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACV,yDAAyD;QACzD,OAAO;YACH,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE;gBACN,GAAG,mBAAmB,gHAAgH;aACzI;SACJ,CAAC;IACN,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACpC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QACd,OAAO;YACH,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE;gBACN,GAAG,mBAAmB,0GAA0G;aACnI;SACJ,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,uBAAuB,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,uBAAuB,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;IACjH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACtC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAiB,EAAE,QAAuB;IACzE,MAAM,MAAM,GAAG,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACrE,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,IAAI,CAAC;IACvB,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACV,wEAAwE;QACxE,mEAAmE;QACnE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;IACzB,CAAC;SAAM,CAAC;QACJ,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"site-basic-auth.js","sourceRoot":"","sources":["../../src/net/site-basic-auth.ts"],"names":[],"mappings":"AA6BA,MAAM,CAAC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AAiB7D,MAAM,UAAU,kBAAkB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACnE,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QAEV,OAAO;YACH,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE;gBACN,GAAG,mBAAmB,gHAAgH;aACzI;SACJ,CAAC;IACN,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACpC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QACd,OAAO;YACH,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE;gBACN,GAAG,mBAAmB,0GAA0G;aACnI;SACJ,CAAC;IACN,CAAC;IAGD,MAAM,MAAM,GAAG,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACpC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const PACKAGE_VERSION: string;
2
+ //# sourceMappingURL=package-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-version.d.ts","sourceRoot":"","sources":["../src/package-version.ts"],"names":[],"mappings":"AAqCA,eAAO,MAAM,eAAe,QAAuB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { dirname, resolve } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ function readPackageVersion() {
5
+ const here = dirname(fileURLToPath(import.meta.url));
6
+ const pkgPath = resolve(here, '..', 'package.json');
7
+ const raw = readFileSync(pkgPath, 'utf-8');
8
+ const parsed = JSON.parse(raw);
9
+ if (typeof parsed.version !== 'string' || parsed.version.length === 0) {
10
+ throw new Error(`yt-builder-mcp: package.json at ${pkgPath} is missing a string "version" field`);
11
+ }
12
+ return parsed.version;
13
+ }
14
+ export const PACKAGE_VERSION = readPackageVersion();
15
+ //# sourceMappingURL=package-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-version.js","sourceRoot":"","sources":["../src/package-version.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,SAAS,kBAAkB;IACvB,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA0B,CAAC;IACxD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CACX,mCAAmC,OAAO,sCAAsC,CACnF,CAAC;IACN,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC;AAC1B,CAAC;AAGD,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC"}
@@ -1,64 +1,10 @@
1
- /**
2
- * Runtime platform detection — F-Platform-Detect-Probe (P0 customer fix).
3
- *
4
- * The static URL-shape heuristic in `detectPlatformFromUrl()` only works
5
- * when the user-supplied base URL already carries `/wp-json/` or
6
- * `/api/index.php/` in its path. That is RARELY the case in practice —
7
- * the MCPB/manifest tells the user to enter the **site origin** (or a
8
- * subfolder install like `https://dev.example.com/joomla`), neither of
9
- * which contains those markers. The heuristic then silently falls back
10
- * to the WordPress default and the Joomla customer experiences a
11
- * 24/24 FAIL until they manually set `YTB_MCP_PLATFORM=joomla`.
12
- *
13
- * This module adds a *runtime probe*: lightweight unauthenticated GETs
14
- * against both platforms' `/health` endpoints. Whichever returns a
15
- * yt-builder-mcp-shaped response (a JSON body carrying `plugin_version`)
16
- * wins. Joomla is probed first because the negative case (probe fails)
17
- * is the long-tail and the positive case (probe succeeds) returns fast
18
- * — letting the more common WordPress install just fall through to the
19
- * second probe without paying for a wasted full timeout.
20
- *
21
- * The probe is fire-and-forget safe:
22
- * - 3 s `AbortSignal.timeout` per request (so a totally broken host
23
- * blocks ~6 s worst case, not the request's full 15 s default).
24
- * - Non-200 responses are ignored (Joomla on a WP-only install
25
- * answers 404; that's fine).
26
- * - Non-JSON / wrong-shape 200 responses are ignored (a WP frontend
27
- * without the plugin renders the homepage HTML, which `JSON.parse`
28
- * refuses — handled).
29
- * - Any thrown error (DNS, TLS, abort) is swallowed → try next.
30
- *
31
- * The function returns `null` when BOTH probes fail; the caller then
32
- * falls back to the URL-shape heuristic or the wordpress default. We do
33
- * NOT throw, because a missing-plugin or wrong-URL diagnosis belongs to
34
- * the first real authenticated request — not to silent boot-time probing.
35
- *
36
- * @license MIT
37
- */
38
1
  import { type PlatformKind } from './index.js';
39
- /**
40
- * Minimal fetch type so callers (and tests) can inject a stub without
41
- * pulling DOM types. Matches the global `fetch` contract we actually use.
42
- */
43
2
  export type ProbeFetch = (input: string, init?: {
44
3
  signal?: AbortSignal;
45
4
  }) => Promise<Response>;
46
5
  export interface DetectPlatformAtRuntimeOptions {
47
- /** Override the per-probe timeout (ms). Default 3000. */
48
6
  readonly timeoutMs?: number;
49
- /** Injectable fetch (tests). Defaults to the global `fetch`. */
50
7
  readonly fetchImpl?: ProbeFetch;
51
8
  }
52
- /**
53
- * Probe both platforms' health endpoints and return the first kind that
54
- * answers with a yt-builder-mcp-shaped JSON payload. Returns `null`
55
- * when neither responds usefully (so the caller can fall through to the
56
- * URL-shape heuristic / default).
57
- *
58
- * NB: `baseUrl` is taken verbatim except for trimming trailing slashes.
59
- * If `baseUrl` itself carries a path component (e.g. subfolder install
60
- * `https://dev.example.com/joomla`) we preserve it — that path is where
61
- * Joomla's `/api/index.php/...` is rooted.
62
- */
63
9
  export declare function detectPlatformAtRuntime(baseUrl: string, options?: DetectPlatformAtRuntimeOptions): Promise<PlatformKind | null>;
64
10
  //# sourceMappingURL=detect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/platform/detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAGH,KAAK,YAAY,EACpB,MAAM,YAAY,CAAC;AAKpB;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,CACrB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAC9B,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,WAAW,8BAA8B;IAC3C,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,gEAAgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;CACnC;AAaD;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CACzC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,8BAAmC,GAC7C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAgB9B"}
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/platform/detect.ts"],"names":[],"mappings":"AAsCA,OAAO,EAGH,KAAK,YAAY,EACpB,MAAM,YAAY,CAAC;AASpB,MAAM,MAAM,UAAU,GAAG,CACrB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAC9B,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,WAAW,8BAA8B;IAE3C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;CACnC;AAwBD,wBAAsB,uBAAuB,CACzC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,8BAAmC,GAC7C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAgB9B"}
@@ -1,59 +1,9 @@
1
- /**
2
- * Runtime platform detection — F-Platform-Detect-Probe (P0 customer fix).
3
- *
4
- * The static URL-shape heuristic in `detectPlatformFromUrl()` only works
5
- * when the user-supplied base URL already carries `/wp-json/` or
6
- * `/api/index.php/` in its path. That is RARELY the case in practice —
7
- * the MCPB/manifest tells the user to enter the **site origin** (or a
8
- * subfolder install like `https://dev.example.com/joomla`), neither of
9
- * which contains those markers. The heuristic then silently falls back
10
- * to the WordPress default and the Joomla customer experiences a
11
- * 24/24 FAIL until they manually set `YTB_MCP_PLATFORM=joomla`.
12
- *
13
- * This module adds a *runtime probe*: lightweight unauthenticated GETs
14
- * against both platforms' `/health` endpoints. Whichever returns a
15
- * yt-builder-mcp-shaped response (a JSON body carrying `plugin_version`)
16
- * wins. Joomla is probed first because the negative case (probe fails)
17
- * is the long-tail and the positive case (probe succeeds) returns fast
18
- * — letting the more common WordPress install just fall through to the
19
- * second probe without paying for a wasted full timeout.
20
- *
21
- * The probe is fire-and-forget safe:
22
- * - 3 s `AbortSignal.timeout` per request (so a totally broken host
23
- * blocks ~6 s worst case, not the request's full 15 s default).
24
- * - Non-200 responses are ignored (Joomla on a WP-only install
25
- * answers 404; that's fine).
26
- * - Non-JSON / wrong-shape 200 responses are ignored (a WP frontend
27
- * without the plugin renders the homepage HTML, which `JSON.parse`
28
- * refuses — handled).
29
- * - Any thrown error (DNS, TLS, abort) is swallowed → try next.
30
- *
31
- * The function returns `null` when BOTH probes fail; the caller then
32
- * falls back to the URL-shape heuristic or the wordpress default. We do
33
- * NOT throw, because a missing-plugin or wrong-URL diagnosis belongs to
34
- * the first real authenticated request — not to silent boot-time probing.
35
- *
36
- * @license MIT
37
- */
38
1
  import { JOOMLA_REST_NAMESPACE_PATH, WORDPRESS_REST_NAMESPACE_PATH, } from './index.js';
39
- /** Per-probe HTTP timeout. Keep tight — boot-time UX is on the line. */
40
2
  const PROBE_TIMEOUT_MS = 3_000;
41
3
  const PROBE_CANDIDATES = [
42
- // Joomla first — see module header rationale.
43
4
  { kind: 'joomla', path: `${JOOMLA_REST_NAMESPACE_PATH}/health` },
44
5
  { kind: 'wordpress', path: `${WORDPRESS_REST_NAMESPACE_PATH}/health` },
45
6
  ];
46
- /**
47
- * Probe both platforms' health endpoints and return the first kind that
48
- * answers with a yt-builder-mcp-shaped JSON payload. Returns `null`
49
- * when neither responds usefully (so the caller can fall through to the
50
- * URL-shape heuristic / default).
51
- *
52
- * NB: `baseUrl` is taken verbatim except for trimming trailing slashes.
53
- * If `baseUrl` itself carries a path component (e.g. subfolder install
54
- * `https://dev.example.com/joomla`) we preserve it — that path is where
55
- * Joomla's `/api/index.php/...` is rooted.
56
- */
57
7
  export async function detectPlatformAtRuntime(baseUrl, options = {}) {
58
8
  const timeoutMs = options.timeoutMs ?? PROBE_TIMEOUT_MS;
59
9
  const fetchImpl = options.fetchImpl ?? globalThis.fetch;
@@ -73,8 +23,6 @@ async function probeOne(url, timeoutMs, fetchImpl) {
73
23
  const r = await fetchImpl(url, { signal });
74
24
  if (!r.ok)
75
25
  return false;
76
- // Some hosts answer JSON with `text/html` Content-Type; don't
77
- // rely on the header. Parse defensively.
78
26
  const text = await r.text();
79
27
  let body;
80
28
  try {
@@ -89,7 +37,6 @@ async function probeOne(url, timeoutMs, fetchImpl) {
89
37
  return false;
90
38
  }
91
39
  }
92
- /** Recognises a yt-builder-mcp `/health` response. */
93
40
  function isYtbHealthShape(body) {
94
41
  return (typeof body === 'object'
95
42
  && body !== null
@@ -1 +1 @@
1
- {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/platform/detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EACH,0BAA0B,EAC1B,6BAA6B,GAEhC,MAAM,YAAY,CAAC;AAEpB,wEAAwE;AACxE,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAuB/B,MAAM,gBAAgB,GAA8B;IAChD,8CAA8C;IAC9C,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,0BAA0B,SAAS,EAAE;IAChE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,6BAA6B,SAAS,EAAE;CACzE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CACzC,OAAe,EACf,UAA0C,EAAE;IAE5C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,gBAAgB,CAAC;IACxD,MAAM,SAAS,GACX,OAAO,CAAC,SAAS,IAAK,UAAU,CAAC,KAAoB,CAAC;IAC1D,IAAI,OAAO,SAAS,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAEjD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5C,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,gBAAgB,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAC1B,OAAO,GAAG,IAAI,EACd,SAAS,EACT,SAAS,CACZ,CAAC;QACF,IAAI,OAAO;YAAE,OAAO,IAAI,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,QAAQ,CACnB,GAAW,EACX,SAAiB,EACjB,SAAqB;IAErB,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QACxB,8DAA8D;QAC9D,yCAAyC;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,sDAAsD;AACtD,SAAS,gBAAgB,CAAC,IAAa;IACnC,OAAO,CACH,OAAO,IAAI,KAAK,QAAQ;WACrB,IAAI,KAAK,IAAI;WACb,gBAAgB,IAAI,IAAI,CAC9B,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/platform/detect.ts"],"names":[],"mappings":"AAsCA,OAAO,EACH,0BAA0B,EAC1B,6BAA6B,GAEhC,MAAM,YAAY,CAAC;AAGpB,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAuB/B,MAAM,gBAAgB,GAA8B;IAEhD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,0BAA0B,SAAS,EAAE;IAChE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,6BAA6B,SAAS,EAAE;CACzE,CAAC;AAaF,MAAM,CAAC,KAAK,UAAU,uBAAuB,CACzC,OAAe,EACf,UAA0C,EAAE;IAE5C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,gBAAgB,CAAC;IACxD,MAAM,SAAS,GACX,OAAO,CAAC,SAAS,IAAK,UAAU,CAAC,KAAoB,CAAC;IAC1D,IAAI,OAAO,SAAS,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAEjD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5C,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,gBAAgB,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAC1B,OAAO,GAAG,IAAI,EACd,SAAS,EACT,SAAS,CACZ,CAAC;QACF,IAAI,OAAO;YAAE,OAAO,IAAI,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,QAAQ,CACnB,GAAW,EACX,SAAiB,EACjB,SAAqB;IAErB,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAGxB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAGD,SAAS,gBAAgB,CAAC,IAAa;IACnC,OAAO,CACH,OAAO,IAAI,KAAK,QAAQ;WACrB,IAAI,KAAK,IAAI;WACb,gBAAgB,IAAI,IAAI,CAC9B,CAAC;AACN,CAAC"}
@@ -1,45 +1,10 @@
1
- /**
2
- * Platform abstraction — Wave G.0.
3
- *
4
- * A `Platform` is the seam between the MCP server and a host CMS. Today
5
- * the only concrete impl is `WordPressPlatform`; `joomla` is reserved
6
- * as a typed seam-marker so Wave G.4+ can land Joomla without rippling
7
- * through every call site.
8
- *
9
- * Why an interface instead of a tagged union?
10
- * - Each platform owns its REST-namespace path verbatim (WP uses
11
- * `/wp-json/<ns>`, Joomla will use `/index.php?option=com_ajax&…`).
12
- * - Adding a platform = implement the interface + add a `PlatformKind`
13
- * member. No switch statements to update.
14
- *
15
- * The `RestClient` accepts EITHER a `Platform` OR the legacy
16
- * `{baseUrl}` form (which internally builds a `WordPressPlatform`),
17
- * so existing callers keep working unchanged.
18
- *
19
- * @license MIT
20
- */
21
- /** Tagged union of supported host platforms. */
22
1
  export type PlatformKind = 'wordpress' | 'joomla';
23
- /**
24
- * A `Platform` describes WHERE and HOW the MCP server reaches the
25
- * REST surface of the host CMS.
26
- */
27
2
  export interface Platform {
28
- /** Discriminator for runtime checks. */
29
3
  readonly kind: PlatformKind;
30
- /** Origin (scheme + host + optional port). No trailing-slash normalisation here. */
31
4
  readonly baseUrl: string;
32
- /** Path prefix appended to baseUrl to form the REST root (must start with `/`). */
33
5
  readonly restNamespacePath: string;
34
6
  }
35
- /** Canonical WordPress REST-namespace path for this plugin. */
36
7
  export declare const WORDPRESS_REST_NAMESPACE_PATH = "/wp-json/yt-builder-mcp/v1";
37
- /**
38
- * WordPress platform implementation.
39
- *
40
- * `restNamespacePath` is fixed to the plugin's namespace; the caller
41
- * supplies only the site origin.
42
- */
43
8
  export declare class WordPressPlatform implements Platform {
44
9
  readonly kind: "wordpress";
45
10
  readonly baseUrl: string;
@@ -47,73 +12,8 @@ export declare class WordPressPlatform implements Platform {
47
12
  constructor(baseUrl: string);
48
13
  }
49
14
  export { JoomlaPlatform, JOOMLA_REST_NAMESPACE_PATH } from './joomla.js';
50
- /**
51
- * Detect which {@link Platform} a base URL targets based on the URL
52
- * shape alone (no network call).
53
- *
54
- * - pathname starts with `/wp-json/` → `'wordpress'`
55
- * - pathname starts with `/api/index.php/` → `'joomla'`
56
- * - otherwise → `null` (ambiguous — caller may probe `/identity`)
57
- *
58
- * Round-6 A1 polish: detection switched from `String.includes` to a
59
- * proper `URL`-parse + `pathname.startsWith` so query-string payloads
60
- * cannot cause mis-detection (e.g. a Joomla site URL like
61
- * `https://example.com/?redirect=/wp-json/foo` no longer pretends to
62
- * be WordPress). Malformed URLs that the `URL` constructor rejects
63
- * gracefully fall back to the legacy substring scan so callers that
64
- * accidentally pass a host-only string (e.g. `example.com`) keep
65
- * working — they would have already failed the actual network call
66
- * with a clearer error before this function was reached in practice.
67
- *
68
- * Cookbook §3.7.1 — the runtime tie-breaker (when this returns `null`)
69
- * is the `/identity` endpoint, which returns
70
- * `{ product: 'yt-builder-mcp', platform: 'wordpress'|'joomla', ... }`
71
- * on both platforms.
72
- */
73
15
  export declare function detectPlatformFromUrl(url: string): PlatformKind | null;
74
- /**
75
- * Construct the right {@link Platform} for a base URL.
76
- *
77
- * When the URL shape gives an unambiguous hint via
78
- * {@link detectPlatformFromUrl}, that wins. Otherwise the caller can
79
- * pass an explicit `hint` (e.g. from a config flag) or fall back to
80
- * the default (`'wordpress'` for back-compat — Joomla support landed
81
- * in Wave 7, so existing WordPress installs never need to flag).
82
- *
83
- * Synchronous variant — kept for back-compat with callers that cannot
84
- * (or do not need to) probe over the network. Prefer
85
- * {@link platformForUrlAsync} when running in the server boot path:
86
- * it adds a runtime probe that disambiguates origin-only / subfolder
87
- * URLs (e.g. `https://example.com/joomla`) where the URL shape alone
88
- * is silent.
89
- */
90
16
  export declare function platformForUrl(baseUrl: string, hint?: PlatformKind): Platform;
91
- /**
92
- * Async variant of {@link platformForUrl} that adds a runtime probe
93
- * step for URLs the URL-shape heuristic cannot disambiguate.
94
- *
95
- * Resolution order (first match wins):
96
- * 1. Explicit `hint` from `YTB_MCP_PLATFORM` env var → no probe.
97
- * 2. URL-shape via {@link detectPlatformFromUrl} (clear `/wp-json/`
98
- * or `/api/index.php/` marker) → no probe.
99
- * 3. Runtime probe via `detectPlatformAtRuntime` (the F-Platform-
100
- * Detect-Probe fix — handles subfolder installs like
101
- * `https://dev.example.com/joomla` where steps 1+2 return null).
102
- * 4. Final fallback: `'wordpress'` (back-compat).
103
- *
104
- * The probe step is what unblocks origin-only Joomla customers without
105
- * forcing them to manually set `YTB_MCP_PLATFORM=joomla` — the MCPB
106
- * default of `auto` finally lives up to its name.
107
- *
108
- * If both probes fail (server unreachable, plugin not installed, etc.)
109
- * we fall back to the wordpress default and emit a single stderr note
110
- * so the customer at least sees *why* the next authenticated call may
111
- * 404; the real diagnosis still belongs to the first authenticated
112
- * tool invocation.
113
- *
114
- * @param opts.probe Optional probe override (tests / DI).
115
- * @param opts.logger Optional stderr writer (defaults to `process.stderr.write`).
116
- */
117
17
  export declare function platformForUrlAsync(baseUrl: string, hint?: PlatformKind, opts?: {
118
18
  readonly probe?: (url: string) => Promise<PlatformKind | null>;
119
19
  readonly logger?: (msg: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/platform/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,gDAAgD;AAChD,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;AAElD;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACrB,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,oFAAoF;IACpF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACtC;AAED,+DAA+D;AAC/D,eAAO,MAAM,6BAA6B,+BAA+B,CAAC;AAE1E;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;IAC9C,SAAgB,IAAI,EAAG,WAAW,CAAU;IAC5C,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,iBAAiB,EAAE,MAAM,CAAC;gBAE9B,OAAO,EAAE,MAAM;CAI9B;AAOD,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAetE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,YAAY,GACpB,QAAQ,CAMV;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,mBAAmB,CACrC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,YAAY,EACnB,IAAI,GAAE;IACF,QAAQ,CAAC,KAAK,CAAC,EAAE,CACb,GAAG,EAAE,MAAM,KACV,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,GACP,OAAO,CAAC,QAAQ,CAAC,CA0CnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/platform/index.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;AAMlD,MAAM,WAAW,QAAQ;IAErB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAE5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACtC;AAGD,eAAO,MAAM,6BAA6B,+BAA+B,CAAC;AAQ1E,qBAAa,iBAAkB,YAAW,QAAQ;IAC9C,SAAgB,IAAI,EAAG,WAAW,CAAU;IAC5C,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,iBAAiB,EAAE,MAAM,CAAC;gBAE9B,OAAO,EAAE,MAAM;CAI9B;AAOD,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAyBzE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAetE;AAkBD,wBAAgB,cAAc,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,YAAY,GACpB,QAAQ,CAMV;AA4BD,wBAAsB,mBAAmB,CACrC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,YAAY,EACnB,IAAI,GAAE;IACF,QAAQ,CAAC,KAAK,CAAC,EAAE,CACb,GAAG,EAAE,MAAM,KACV,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,GACP,OAAO,CAAC,QAAQ,CAAC,CA0CnB"}