@wootsup/yt-builder-mcp 1.1.0 → 1.1.6

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 (400) hide show
  1. package/README.md +56 -55
  2. package/manifest.json +15 -15
  3. package/package.json +2 -2
  4. package/skills/yt-builder-mcp/SKILL.md +130 -121
  5. package/dist/auth.d.ts +0 -119
  6. package/dist/auth.d.ts.map +0 -1
  7. package/dist/auth.js +0 -226
  8. package/dist/auth.js.map +0 -1
  9. package/dist/client.d.ts +0 -84
  10. package/dist/client.d.ts.map +0 -1
  11. package/dist/client.js +0 -151
  12. package/dist/client.js.map +0 -1
  13. package/dist/clients/claude-code.d.ts +0 -18
  14. package/dist/clients/claude-code.d.ts.map +0 -1
  15. package/dist/clients/claude-code.js +0 -53
  16. package/dist/clients/claude-code.js.map +0 -1
  17. package/dist/clients/claude-desktop.d.ts +0 -19
  18. package/dist/clients/claude-desktop.d.ts.map +0 -1
  19. package/dist/clients/claude-desktop.js +0 -56
  20. package/dist/clients/claude-desktop.js.map +0 -1
  21. package/dist/clients/cline.d.ts +0 -26
  22. package/dist/clients/cline.d.ts.map +0 -1
  23. package/dist/clients/cline.js +0 -80
  24. package/dist/clients/cline.js.map +0 -1
  25. package/dist/clients/codex-cli.d.ts +0 -42
  26. package/dist/clients/codex-cli.d.ts.map +0 -1
  27. package/dist/clients/codex-cli.js +0 -194
  28. package/dist/clients/codex-cli.js.map +0 -1
  29. package/dist/clients/continue.d.ts +0 -13
  30. package/dist/clients/continue.d.ts.map +0 -1
  31. package/dist/clients/continue.js +0 -52
  32. package/dist/clients/continue.js.map +0 -1
  33. package/dist/clients/cursor.d.ts +0 -12
  34. package/dist/clients/cursor.d.ts.map +0 -1
  35. package/dist/clients/cursor.js +0 -38
  36. package/dist/clients/cursor.js.map +0 -1
  37. package/dist/clients/gemini-cli.d.ts +0 -18
  38. package/dist/clients/gemini-cli.d.ts.map +0 -1
  39. package/dist/clients/gemini-cli.js +0 -44
  40. package/dist/clients/gemini-cli.js.map +0 -1
  41. package/dist/clients/home.d.ts +0 -14
  42. package/dist/clients/home.d.ts.map +0 -1
  43. package/dist/clients/home.js +0 -20
  44. package/dist/clients/home.js.map +0 -1
  45. package/dist/clients/index.d.ts +0 -52
  46. package/dist/clients/index.d.ts.map +0 -1
  47. package/dist/clients/index.js +0 -72
  48. package/dist/clients/index.js.map +0 -1
  49. package/dist/clients/roo-code.d.ts +0 -23
  50. package/dist/clients/roo-code.d.ts.map +0 -1
  51. package/dist/clients/roo-code.js +0 -69
  52. package/dist/clients/roo-code.js.map +0 -1
  53. package/dist/clients/zed.d.ts +0 -12
  54. package/dist/clients/zed.d.ts.map +0 -1
  55. package/dist/clients/zed.js +0 -41
  56. package/dist/clients/zed.js.map +0 -1
  57. package/dist/errors/hints.d.ts +0 -51
  58. package/dist/errors/hints.d.ts.map +0 -1
  59. package/dist/errors/hints.js +0 -95
  60. package/dist/errors/hints.js.map +0 -1
  61. package/dist/errors/mask.d.ts +0 -35
  62. package/dist/errors/mask.d.ts.map +0 -1
  63. package/dist/errors/mask.js +0 -49
  64. package/dist/errors/mask.js.map +0 -1
  65. package/dist/errors/sanitize.d.ts +0 -31
  66. package/dist/errors/sanitize.d.ts.map +0 -1
  67. package/dist/errors/sanitize.js +0 -100
  68. package/dist/errors/sanitize.js.map +0 -1
  69. package/dist/errors.d.ts +0 -42
  70. package/dist/errors.d.ts.map +0 -1
  71. package/dist/errors.js +0 -61
  72. package/dist/errors.js.map +0 -1
  73. package/dist/gateway/advanced-tool/discovery.d.ts +0 -19
  74. package/dist/gateway/advanced-tool/discovery.d.ts.map +0 -1
  75. package/dist/gateway/advanced-tool/discovery.js +0 -53
  76. package/dist/gateway/advanced-tool/discovery.js.map +0 -1
  77. package/dist/gateway/advanced-tool/domains.d.ts +0 -47
  78. package/dist/gateway/advanced-tool/domains.d.ts.map +0 -1
  79. package/dist/gateway/advanced-tool/domains.js +0 -94
  80. package/dist/gateway/advanced-tool/domains.js.map +0 -1
  81. package/dist/gateway/advanced-tool/execute.d.ts +0 -29
  82. package/dist/gateway/advanced-tool/execute.d.ts.map +0 -1
  83. package/dist/gateway/advanced-tool/execute.js +0 -54
  84. package/dist/gateway/advanced-tool/execute.js.map +0 -1
  85. package/dist/gateway/advanced-tool/index.d.ts +0 -36
  86. package/dist/gateway/advanced-tool/index.d.ts.map +0 -1
  87. package/dist/gateway/advanced-tool/index.js +0 -39
  88. package/dist/gateway/advanced-tool/index.js.map +0 -1
  89. package/dist/gateway/advanced-tool/register.d.ts +0 -18
  90. package/dist/gateway/advanced-tool/register.d.ts.map +0 -1
  91. package/dist/gateway/advanced-tool/register.js +0 -69
  92. package/dist/gateway/advanced-tool/register.js.map +0 -1
  93. package/dist/gateway/advanced-tool.d.ts +0 -13
  94. package/dist/gateway/advanced-tool.d.ts.map +0 -1
  95. package/dist/gateway/advanced-tool.js +0 -13
  96. package/dist/gateway/advanced-tool.js.map +0 -1
  97. package/dist/gateway/capturing-server.d.ts +0 -117
  98. package/dist/gateway/capturing-server.d.ts.map +0 -1
  99. package/dist/gateway/capturing-server.js +0 -103
  100. package/dist/gateway/capturing-server.js.map +0 -1
  101. package/dist/gateway/essentials.d.ts +0 -49
  102. package/dist/gateway/essentials.d.ts.map +0 -1
  103. package/dist/gateway/essentials.js +0 -92
  104. package/dist/gateway/essentials.js.map +0 -1
  105. package/dist/gateway/test-support.d.ts +0 -41
  106. package/dist/gateway/test-support.d.ts.map +0 -1
  107. package/dist/gateway/test-support.js +0 -60
  108. package/dist/gateway/test-support.js.map +0 -1
  109. package/dist/index.d.ts +0 -29
  110. package/dist/index.d.ts.map +0 -1
  111. package/dist/index.js +0 -113
  112. package/dist/index.js.map +0 -1
  113. package/dist/install-skill.d.ts +0 -43
  114. package/dist/install-skill.d.ts.map +0 -1
  115. package/dist/install-skill.js +0 -118
  116. package/dist/install-skill.js.map +0 -1
  117. package/dist/platform/detect.d.ts +0 -64
  118. package/dist/platform/detect.d.ts.map +0 -1
  119. package/dist/platform/detect.js +0 -98
  120. package/dist/platform/detect.js.map +0 -1
  121. package/dist/platform/index.d.ts +0 -121
  122. package/dist/platform/index.d.ts.map +0 -1
  123. package/dist/platform/index.js +0 -176
  124. package/dist/platform/index.js.map +0 -1
  125. package/dist/platform/joomla.d.ts +0 -44
  126. package/dist/platform/joomla.d.ts.map +0 -1
  127. package/dist/platform/joomla.js +0 -46
  128. package/dist/platform/joomla.js.map +0 -1
  129. package/dist/server.d.ts +0 -109
  130. package/dist/server.d.ts.map +0 -1
  131. package/dist/server.js +0 -237
  132. package/dist/server.js.map +0 -1
  133. package/dist/setup-cli-confirm.d.ts +0 -36
  134. package/dist/setup-cli-confirm.d.ts.map +0 -1
  135. package/dist/setup-cli-confirm.js +0 -59
  136. package/dist/setup-cli-confirm.js.map +0 -1
  137. package/dist/setup-cli.d.ts +0 -152
  138. package/dist/setup-cli.d.ts.map +0 -1
  139. package/dist/setup-cli.js +0 -870
  140. package/dist/setup-cli.js.map +0 -1
  141. package/dist/setup-prompts.d.ts +0 -41
  142. package/dist/setup-prompts.d.ts.map +0 -1
  143. package/dist/setup-prompts.js +0 -146
  144. package/dist/setup-prompts.js.map +0 -1
  145. package/dist/setup-token.d.ts +0 -38
  146. package/dist/setup-token.d.ts.map +0 -1
  147. package/dist/setup-token.js +0 -106
  148. package/dist/setup-token.js.map +0 -1
  149. package/dist/setup-wizard-defaults.d.ts +0 -43
  150. package/dist/setup-wizard-defaults.d.ts.map +0 -1
  151. package/dist/setup-wizard-defaults.js +0 -160
  152. package/dist/setup-wizard-defaults.js.map +0 -1
  153. package/dist/setup-wizard-handshake.d.ts +0 -25
  154. package/dist/setup-wizard-handshake.d.ts.map +0 -1
  155. package/dist/setup-wizard-handshake.js +0 -103
  156. package/dist/setup-wizard-handshake.js.map +0 -1
  157. package/dist/setup-wizard-types.d.ts +0 -164
  158. package/dist/setup-wizard-types.d.ts.map +0 -1
  159. package/dist/setup-wizard-types.js +0 -11
  160. package/dist/setup-wizard-types.js.map +0 -1
  161. package/dist/setup-wizard.d.ts +0 -33
  162. package/dist/setup-wizard.d.ts.map +0 -1
  163. package/dist/setup-wizard.js +0 -199
  164. package/dist/setup-wizard.js.map +0 -1
  165. package/dist/setup.d.ts +0 -17
  166. package/dist/setup.d.ts.map +0 -1
  167. package/dist/setup.js +0 -33
  168. package/dist/setup.js.map +0 -1
  169. package/dist/sites/cli/add-site.d.ts +0 -106
  170. package/dist/sites/cli/add-site.d.ts.map +0 -1
  171. package/dist/sites/cli/add-site.js +0 -185
  172. package/dist/sites/cli/add-site.js.map +0 -1
  173. package/dist/sites/cli/list-sites.d.ts +0 -40
  174. package/dist/sites/cli/list-sites.d.ts.map +0 -1
  175. package/dist/sites/cli/list-sites.js +0 -117
  176. package/dist/sites/cli/list-sites.js.map +0 -1
  177. package/dist/sites/cli/remove-site.d.ts +0 -60
  178. package/dist/sites/cli/remove-site.d.ts.map +0 -1
  179. package/dist/sites/cli/remove-site.js +0 -120
  180. package/dist/sites/cli/remove-site.js.map +0 -1
  181. package/dist/sites/cli/set-default.d.ts +0 -47
  182. package/dist/sites/cli/set-default.d.ts.map +0 -1
  183. package/dist/sites/cli/set-default.js +0 -69
  184. package/dist/sites/cli/set-default.js.map +0 -1
  185. package/dist/sites/cli/test-site.d.ts +0 -77
  186. package/dist/sites/cli/test-site.d.ts.map +0 -1
  187. package/dist/sites/cli/test-site.js +0 -146
  188. package/dist/sites/cli/test-site.js.map +0 -1
  189. package/dist/sites/client-pool.d.ts +0 -124
  190. package/dist/sites/client-pool.d.ts.map +0 -1
  191. package/dist/sites/client-pool.js +0 -172
  192. package/dist/sites/client-pool.js.map +0 -1
  193. package/dist/sites/env-bridge.d.ts +0 -55
  194. package/dist/sites/env-bridge.d.ts.map +0 -1
  195. package/dist/sites/env-bridge.js +0 -94
  196. package/dist/sites/env-bridge.js.map +0 -1
  197. package/dist/sites/paths.d.ts +0 -21
  198. package/dist/sites/paths.d.ts.map +0 -1
  199. package/dist/sites/paths.js +0 -37
  200. package/dist/sites/paths.js.map +0 -1
  201. package/dist/sites/probe.d.ts +0 -60
  202. package/dist/sites/probe.d.ts.map +0 -1
  203. package/dist/sites/probe.js +0 -112
  204. package/dist/sites/probe.js.map +0 -1
  205. package/dist/sites/registry.d.ts +0 -142
  206. package/dist/sites/registry.d.ts.map +0 -1
  207. package/dist/sites/registry.js +0 -163
  208. package/dist/sites/registry.js.map +0 -1
  209. package/dist/sites/schema.d.ts +0 -90
  210. package/dist/sites/schema.d.ts.map +0 -1
  211. package/dist/sites/schema.js +0 -71
  212. package/dist/sites/schema.js.map +0 -1
  213. package/dist/sites/secret-resolver.d.ts +0 -109
  214. package/dist/sites/secret-resolver.d.ts.map +0 -1
  215. package/dist/sites/secret-resolver.js +0 -189
  216. package/dist/sites/secret-resolver.js.map +0 -1
  217. package/dist/sites/store.d.ts +0 -82
  218. package/dist/sites/store.d.ts.map +0 -1
  219. package/dist/sites/store.js +0 -198
  220. package/dist/sites/store.js.map +0 -1
  221. package/dist/sites/tools/index.d.ts +0 -28
  222. package/dist/sites/tools/index.d.ts.map +0 -1
  223. package/dist/sites/tools/index.js +0 -30
  224. package/dist/sites/tools/index.js.map +0 -1
  225. package/dist/sites/tools/sites-list.d.ts +0 -48
  226. package/dist/sites/tools/sites-list.d.ts.map +0 -1
  227. package/dist/sites/tools/sites-list.js +0 -135
  228. package/dist/sites/tools/sites-list.js.map +0 -1
  229. package/dist/sites/tools/sites-test.d.ts +0 -47
  230. package/dist/sites/tools/sites-test.d.ts.map +0 -1
  231. package/dist/sites/tools/sites-test.js +0 -148
  232. package/dist/sites/tools/sites-test.js.map +0 -1
  233. package/dist/skill-loader.d.ts +0 -111
  234. package/dist/skill-loader.d.ts.map +0 -1
  235. package/dist/skill-loader.js +0 -191
  236. package/dist/skill-loader.js.map +0 -1
  237. package/dist/tools/elements/builders.d.ts +0 -24
  238. package/dist/tools/elements/builders.d.ts.map +0 -1
  239. package/dist/tools/elements/builders.js +0 -199
  240. package/dist/tools/elements/builders.js.map +0 -1
  241. package/dist/tools/elements/handlers-write.d.ts +0 -49
  242. package/dist/tools/elements/handlers-write.d.ts.map +0 -1
  243. package/dist/tools/elements/handlers-write.js +0 -148
  244. package/dist/tools/elements/handlers-write.js.map +0 -1
  245. package/dist/tools/elements/handlers.d.ts +0 -68
  246. package/dist/tools/elements/handlers.d.ts.map +0 -1
  247. package/dist/tools/elements/handlers.js +0 -206
  248. package/dist/tools/elements/handlers.js.map +0 -1
  249. package/dist/tools/elements/index.d.ts +0 -28
  250. package/dist/tools/elements/index.d.ts.map +0 -1
  251. package/dist/tools/elements/index.js +0 -27
  252. package/dist/tools/elements/index.js.map +0 -1
  253. package/dist/tools/elements.d.ts +0 -13
  254. package/dist/tools/elements.d.ts.map +0 -1
  255. package/dist/tools/elements.js +0 -13
  256. package/dist/tools/elements.js.map +0 -1
  257. package/dist/tools/elicitation.d.ts +0 -87
  258. package/dist/tools/elicitation.d.ts.map +0 -1
  259. package/dist/tools/elicitation.js +0 -100
  260. package/dist/tools/elicitation.js.map +0 -1
  261. package/dist/tools/format/elements-format.d.ts +0 -40
  262. package/dist/tools/format/elements-format.d.ts.map +0 -1
  263. package/dist/tools/format/elements-format.js +0 -194
  264. package/dist/tools/format/elements-format.js.map +0 -1
  265. package/dist/tools/format/health-format.d.ts +0 -79
  266. package/dist/tools/format/health-format.d.ts.map +0 -1
  267. package/dist/tools/format/health-format.js +0 -181
  268. package/dist/tools/format/health-format.js.map +0 -1
  269. package/dist/tools/format/inspection-format.d.ts +0 -58
  270. package/dist/tools/format/inspection-format.d.ts.map +0 -1
  271. package/dist/tools/format/inspection-format.js +0 -164
  272. package/dist/tools/format/inspection-format.js.map +0 -1
  273. package/dist/tools/format/pages-format.d.ts +0 -48
  274. package/dist/tools/format/pages-format.d.ts.map +0 -1
  275. package/dist/tools/format/pages-format.js +0 -137
  276. package/dist/tools/format/pages-format.js.map +0 -1
  277. package/dist/tools/format/sources-format.d.ts +0 -25
  278. package/dist/tools/format/sources-format.d.ts.map +0 -1
  279. package/dist/tools/format/sources-format.js +0 -208
  280. package/dist/tools/format/sources-format.js.map +0 -1
  281. package/dist/tools/health.d.ts +0 -22
  282. package/dist/tools/health.d.ts.map +0 -1
  283. package/dist/tools/health.js +0 -220
  284. package/dist/tools/health.js.map +0 -1
  285. package/dist/tools/index.d.ts +0 -30
  286. package/dist/tools/index.d.ts.map +0 -1
  287. package/dist/tools/index.js +0 -39
  288. package/dist/tools/index.js.map +0 -1
  289. package/dist/tools/inspection.d.ts +0 -14
  290. package/dist/tools/inspection.d.ts.map +0 -1
  291. package/dist/tools/inspection.js +0 -170
  292. package/dist/tools/inspection.js.map +0 -1
  293. package/dist/tools/layout-flatten.d.ts +0 -75
  294. package/dist/tools/layout-flatten.d.ts.map +0 -1
  295. package/dist/tools/layout-flatten.js +0 -107
  296. package/dist/tools/layout-flatten.js.map +0 -1
  297. package/dist/tools/multi-items/builders.d.ts +0 -23
  298. package/dist/tools/multi-items/builders.d.ts.map +0 -1
  299. package/dist/tools/multi-items/builders.js +0 -69
  300. package/dist/tools/multi-items/builders.js.map +0 -1
  301. package/dist/tools/multi-items/clean-implode-handler.d.ts +0 -28
  302. package/dist/tools/multi-items/clean-implode-handler.d.ts.map +0 -1
  303. package/dist/tools/multi-items/clean-implode-handler.js +0 -40
  304. package/dist/tools/multi-items/clean-implode-handler.js.map +0 -1
  305. package/dist/tools/multi-items/index.d.ts +0 -18
  306. package/dist/tools/multi-items/index.d.ts.map +0 -1
  307. package/dist/tools/multi-items/index.js +0 -18
  308. package/dist/tools/multi-items/index.js.map +0 -1
  309. package/dist/tools/multi-items/inspect-handler.d.ts +0 -41
  310. package/dist/tools/multi-items/inspect-handler.d.ts.map +0 -1
  311. package/dist/tools/multi-items/inspect-handler.js +0 -50
  312. package/dist/tools/multi-items/inspect-handler.js.map +0 -1
  313. package/dist/tools/multi-items/item-container-map.d.ts +0 -41
  314. package/dist/tools/multi-items/item-container-map.d.ts.map +0 -1
  315. package/dist/tools/multi-items/item-container-map.js +0 -73
  316. package/dist/tools/multi-items/item-container-map.js.map +0 -1
  317. package/dist/tools/pages/builders.d.ts +0 -14
  318. package/dist/tools/pages/builders.d.ts.map +0 -1
  319. package/dist/tools/pages/builders.js +0 -127
  320. package/dist/tools/pages/builders.js.map +0 -1
  321. package/dist/tools/pages/handlers-read.d.ts +0 -33
  322. package/dist/tools/pages/handlers-read.d.ts.map +0 -1
  323. package/dist/tools/pages/handlers-read.js +0 -171
  324. package/dist/tools/pages/handlers-read.js.map +0 -1
  325. package/dist/tools/pages/handlers-write.d.ts +0 -21
  326. package/dist/tools/pages/handlers-write.d.ts.map +0 -1
  327. package/dist/tools/pages/handlers-write.js +0 -52
  328. package/dist/tools/pages/handlers-write.js.map +0 -1
  329. package/dist/tools/pages/index.d.ts +0 -17
  330. package/dist/tools/pages/index.d.ts.map +0 -1
  331. package/dist/tools/pages/index.js +0 -17
  332. package/dist/tools/pages/index.js.map +0 -1
  333. package/dist/tools/pages/schemas.d.ts +0 -30
  334. package/dist/tools/pages/schemas.d.ts.map +0 -1
  335. package/dist/tools/pages/schemas.js +0 -48
  336. package/dist/tools/pages/schemas.js.map +0 -1
  337. package/dist/tools/pages.d.ts +0 -13
  338. package/dist/tools/pages.d.ts.map +0 -1
  339. package/dist/tools/pages.js +0 -13
  340. package/dist/tools/pages.js.map +0 -1
  341. package/dist/tools/pool-resolve-helper.d.ts +0 -83
  342. package/dist/tools/pool-resolve-helper.d.ts.map +0 -1
  343. package/dist/tools/pool-resolve-helper.js +0 -148
  344. package/dist/tools/pool-resolve-helper.js.map +0 -1
  345. package/dist/tools/progress-phases.d.ts +0 -46
  346. package/dist/tools/progress-phases.d.ts.map +0 -1
  347. package/dist/tools/progress-phases.js +0 -48
  348. package/dist/tools/progress-phases.js.map +0 -1
  349. package/dist/tools/shared-schemas.d.ts +0 -25
  350. package/dist/tools/shared-schemas.d.ts.map +0 -1
  351. package/dist/tools/shared-schemas.js +0 -48
  352. package/dist/tools/shared-schemas.js.map +0 -1
  353. package/dist/tools/sources/builders.d.ts +0 -13
  354. package/dist/tools/sources/builders.d.ts.map +0 -1
  355. package/dist/tools/sources/builders.js +0 -115
  356. package/dist/tools/sources/builders.js.map +0 -1
  357. package/dist/tools/sources/handlers-bind.d.ts +0 -28
  358. package/dist/tools/sources/handlers-bind.d.ts.map +0 -1
  359. package/dist/tools/sources/handlers-bind.js +0 -129
  360. package/dist/tools/sources/handlers-bind.js.map +0 -1
  361. package/dist/tools/sources/handlers.d.ts +0 -45
  362. package/dist/tools/sources/handlers.d.ts.map +0 -1
  363. package/dist/tools/sources/handlers.js +0 -91
  364. package/dist/tools/sources/handlers.js.map +0 -1
  365. package/dist/tools/sources/index.d.ts +0 -19
  366. package/dist/tools/sources/index.d.ts.map +0 -1
  367. package/dist/tools/sources/index.js +0 -18
  368. package/dist/tools/sources/index.js.map +0 -1
  369. package/dist/tools/sources.d.ts +0 -14
  370. package/dist/tools/sources.d.ts.map +0 -1
  371. package/dist/tools/sources.js +0 -14
  372. package/dist/tools/sources.js.map +0 -1
  373. package/dist/tools/sparse-fields.d.ts +0 -80
  374. package/dist/tools/sparse-fields.d.ts.map +0 -1
  375. package/dist/tools/sparse-fields.js +0 -144
  376. package/dist/tools/sparse-fields.js.map +0 -1
  377. package/dist/tools/tool-builder/annotations.d.ts +0 -55
  378. package/dist/tools/tool-builder/annotations.d.ts.map +0 -1
  379. package/dist/tools/tool-builder/annotations.js +0 -86
  380. package/dist/tools/tool-builder/annotations.js.map +0 -1
  381. package/dist/tools/tool-builder/define.d.ts +0 -31
  382. package/dist/tools/tool-builder/define.d.ts.map +0 -1
  383. package/dist/tools/tool-builder/define.js +0 -31
  384. package/dist/tools/tool-builder/define.js.map +0 -1
  385. package/dist/tools/tool-builder/index.d.ts +0 -28
  386. package/dist/tools/tool-builder/index.d.ts.map +0 -1
  387. package/dist/tools/tool-builder/index.js +0 -27
  388. package/dist/tools/tool-builder/index.js.map +0 -1
  389. package/dist/tools/tool-builder/results.d.ts +0 -93
  390. package/dist/tools/tool-builder/results.d.ts.map +0 -1
  391. package/dist/tools/tool-builder/results.js +0 -211
  392. package/dist/tools/tool-builder/results.js.map +0 -1
  393. package/dist/tools/tool-builder/types.d.ts +0 -82
  394. package/dist/tools/tool-builder/types.d.ts.map +0 -1
  395. package/dist/tools/tool-builder/types.js +0 -9
  396. package/dist/tools/tool-builder/types.js.map +0 -1
  397. package/dist/tools/tool-builder.d.ts +0 -16
  398. package/dist/tools/tool-builder.d.ts.map +0 -1
  399. package/dist/tools/tool-builder.js +0 -16
  400. package/dist/tools/tool-builder.js.map +0 -1
package/dist/server.js DELETED
@@ -1,237 +0,0 @@
1
- /**
2
- * MCP server factory — Wave G.1 / Gateway-Hub edition.
3
- *
4
- * `createServer({client})` builds a configured `McpServer` with a 3-lane
5
- * tool registration:
6
- *
7
- * L3 — direct top-level (yootheme_builder_health + yootheme_builder_diagnose)
8
- * Registered FIRST, BEFORE the CapturingServer wraps the real server.
9
- * These tools must reach the LLM even when the gateway itself
10
- * misbehaves (chicken-and-egg: the LLM diagnoses gateway breakage
11
- * via these two).
12
- *
13
- * L1 — essential forwarded (7 tools)
14
- * Routed through the CapturingServer to the real server. Appear in
15
- * `tools/list` as first-class entries (Cursor-cap-safe).
16
- *
17
- * L2 — advanced captured (12 tools)
18
- * Routed through the CapturingServer into its in-process advanced
19
- * registry; reachable via the single `yootheme_builder_advanced`
20
- * gateway tool. Hidden from `tools/list`.
21
- *
22
- * Gateway — `yootheme_builder_advanced`
23
- * Registered LAST on the real server, after every L1/L2 tool is
24
- * placed and the advanced registry is final.
25
- *
26
- * Result: `tools/list.length === 10` (7 L1 + 2 L3 + 1 gateway), and the
27
- * full tool surface is 22 (collectAllRegisteredTools).
28
- *
29
- * @license MIT
30
- */
31
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
32
- import { registerAdvancedTool } from './gateway/advanced-tool.js';
33
- import { CapturingServer } from './gateway/capturing-server.js';
34
- import { isDirectTopLevel } from './gateway/essentials.js';
35
- import { loadSkillContent, SKILL_RESOURCE_DESCRIPTION, SKILL_RESOURCE_MIME_TYPE, SKILL_RESOURCE_NAME, SKILL_RESOURCE_URI, } from './skill-loader.js';
36
- import { toElicitationCapability } from './tools/elicitation.js';
37
- import { buildAllTools } from './tools/index.js';
38
- export const SERVER_NAME = '@wootsup/yt-builder-mcp';
39
- export const SERVER_VERSION = '0.2.0-alpha.2';
40
- /**
41
- * W8 — stable URI under which the live sites snapshot is exposed via
42
- * MCP `resources/*`. Single fixed resource (no list-changed needed) —
43
- * MCP hosts can fetch the current registry roster on demand without
44
- * having to invoke a tool.
45
- */
46
- export const SITES_RESOURCE_URI = 'sites://current';
47
- /** Human-readable resource name surfaced in `resources/list`. */
48
- export const SITES_RESOURCE_NAME = 'Currently configured sites';
49
- /** Short description for `resources/list` consumers. */
50
- export const SITES_RESOURCE_DESCRIPTION = 'Live snapshot of sites wired into this MCP server (site_id, URL, ' +
51
- 'platform, default flag, label). Bearer fields are redacted. ' +
52
- 'Mirrors what `yootheme_builder_sites_list` would print.';
53
- /** MIME type for the `sites://current` payload. */
54
- export const SITES_RESOURCE_MIME_TYPE = 'application/json';
55
- /**
56
- * Build the JSON payload served by the `sites://current` resource.
57
- *
58
- * Field projection (per plan §W8 Z.925-933):
59
- * - `default_site_id` from {@link SiteRegistry.defaultSiteId}.
60
- * - `sites[].site_id` / `url` / `is_default` / `label` verbatim.
61
- * - `sites[].platform` prefers the resolved kind from the W3 memo
62
- * cache (peek-only, no probe) and falls back to the configured
63
- * hint when no probe has run.
64
- *
65
- * Bearer fields are NEVER referenced. The `bearer_source` hint that
66
- * the W7 `sites_list` tool exposes is intentionally omitted from this
67
- * resource: even the "plain" vs "op" hint hints at storage layout,
68
- * and the resource is positioned as a host-facing public roster.
69
- */
70
- export function buildSitesResourcePayload(registry) {
71
- const rows = registry.listForDisplay();
72
- return {
73
- default_site_id: registry.defaultSiteId(),
74
- sites: rows.map((row) => {
75
- const platform = row.platform_resolved ?? row.platform_hint;
76
- const out = {
77
- site_id: row.site_id,
78
- url: row.url,
79
- platform,
80
- is_default: row.is_default,
81
- };
82
- if (row.label !== undefined) {
83
- out.label = row.label;
84
- }
85
- return out;
86
- }),
87
- };
88
- }
89
- export function createServer(options) {
90
- // Stream B1 — Skill-Distribution via MCP-Protocol.
91
- //
92
- // The bundled SKILL.md is published through two MCP-native channels:
93
- //
94
- // (a) `instructions` field on the `initialize` response. MCP-spec
95
- // hosts (Claude Desktop, Cursor, …) surface this string as
96
- // auto-context so Maria-the-Claude-Desktop-user receives the
97
- // skill narrative without ever calling a tool.
98
- //
99
- // (b) `skill://yt-builder-mcp` resource exposed via
100
- // `resources/list` + `resources/read`. Backup for hosts that
101
- // ignore `instructions` but honor the resources API.
102
- //
103
- // Reading SKILL.md is synchronous (small file, ~17 KB) and cached
104
- // after first call by `loadSkillContent` — no async cost.
105
- //
106
- // W8 — pass the pool's registry so loadSkillContent can append the
107
- // live "Currently configured sites" block. When the registry is
108
- // empty (fresh install, no sites yet) the appendix is silently
109
- // omitted and the host receives the unchanged skill content.
110
- // Bearer fields are never touched by the appendix (see
111
- // {@link appendSitesBlock} in skill-loader.ts).
112
- const instructions = loadSkillContent(options.pool.registry);
113
- const mcp = new McpServer({
114
- name: SERVER_NAME,
115
- version: SERVER_VERSION,
116
- }, {
117
- instructions,
118
- });
119
- // Register the SKILL.md as a static MCP resource. The capability
120
- // (`resources: { listChanged: true }` etc.) is auto-advertised by
121
- // McpServer the moment the first resource is registered, so MCP
122
- // hosts see `resources` in `initialize.capabilities`.
123
- mcp.registerResource(SKILL_RESOURCE_NAME, SKILL_RESOURCE_URI, {
124
- title: SKILL_RESOURCE_NAME,
125
- description: SKILL_RESOURCE_DESCRIPTION,
126
- mimeType: SKILL_RESOURCE_MIME_TYPE,
127
- }, async (uri) => ({
128
- contents: [
129
- {
130
- uri: uri.toString(),
131
- mimeType: SKILL_RESOURCE_MIME_TYPE,
132
- text: instructions,
133
- },
134
- ],
135
- }));
136
- // W8 — `sites://current` resource: live registry snapshot as JSON.
137
- //
138
- // The payload is computed on every read (cheap — listForDisplay()
139
- // is in-memory) so hosts that re-fetch after a sites file edit see
140
- // up-to-date data. We do NOT emit `notifications/resources/updated`
141
- // since the only mutation path is the W9 CLI which itself requires
142
- // an AI-client restart (per plan §W8 line 919) — the resource is
143
- // structurally static for the lifetime of the MCP session.
144
- //
145
- // Bearer / bearer_ref are NEVER referenced (see
146
- // {@link buildSitesResourcePayload}). The resource intentionally
147
- // omits the `bearer_source` hint that the `sites_list` tool
148
- // surfaces; a host-facing roster should not even hint at storage
149
- // layout.
150
- const registry = options.pool.registry;
151
- mcp.registerResource(SITES_RESOURCE_NAME, SITES_RESOURCE_URI, {
152
- title: SITES_RESOURCE_NAME,
153
- description: SITES_RESOURCE_DESCRIPTION,
154
- mimeType: SITES_RESOURCE_MIME_TYPE,
155
- }, async (uri) => ({
156
- contents: [
157
- {
158
- uri: uri.toString(),
159
- mimeType: SITES_RESOURCE_MIME_TYPE,
160
- text: JSON.stringify(buildSitesResourcePayload(registry), null, 2),
161
- },
162
- ],
163
- }));
164
- // Wave G.4.5 — MCP elicitation capability wiring.
165
- //
166
- // `toElicitationCapability(mcp)` bridges the SDK's stricter
167
- // discriminated `ElicitRequestFormParams` to the toolkit's looser
168
- // `ElicitInputParams`. The 3 elicitation-aware tools
169
- // (`element_delete`, `element_unbind_source`, `element_bind_source`)
170
- // consume this capability through their `*HandlerDeps`; the other 19
171
- // tools never see it. When the host the SDK connects to does not
172
- // advertise the elicitation capability, the toolkit's `elicitChoice` /
173
- // `elicitConfirmation` return `null` / `false` and the tool falls
174
- // back to the structured-error / preview path (no hang, no guess).
175
- const elicitation = toElicitationCapability(mcp);
176
- const tools = options.tools ?? buildAllTools(options.pool, { elicitation });
177
- // L3 — direct top-level: registered FIRST on the real McpServer, before
178
- // the CapturingServer wraps it. These names get a no-op route inside
179
- // the CapturingServer (see capturing-server.ts), so the SDK never sees
180
- // a duplicate registration when the builder list is later replayed.
181
- for (const tool of tools) {
182
- if (isDirectTopLevel(tool.name)) {
183
- registerToolOn(mcp, tool);
184
- }
185
- }
186
- // L1 / L2 — every other tool is routed through the CapturingServer,
187
- // which forwards essentials to the real server and captures the rest
188
- // into its advanced registry.
189
- const capturing = new CapturingServer(mcp);
190
- for (const tool of tools) {
191
- if (isDirectTopLevel(tool.name))
192
- continue;
193
- registerToolOn(capturing, tool);
194
- }
195
- // Gateway — registered LAST so the advanced registry is final.
196
- registerAdvancedTool(mcp, capturing.getAdvancedRegistry());
197
- return { mcp, tools, capturing };
198
- }
199
- /**
200
- * Registers a `ToolDefinition` on a `ToolRegistrar`. A real `McpServer`
201
- * satisfies `ToolRegistrar` structurally (its `registerTool` returns
202
- * `RegisteredTool`, which is assignable to the `ToolRegistrar` declared
203
- * `void` return type), so call-sites pass either a real server (for L3
204
- * + the gateway, which need not be captured) or a `CapturingServer`
205
- * (for L1 + L2 routing).
206
- */
207
- function registerToolOn(registrar, tool) {
208
- // The SDK's `registerTool` accepts a raw Zod shape as inputSchema. We
209
- // cast through `ZodRawShapeCompat` to keep our `ToolDefinition` generic
210
- // (any ZodRawShape) compatible with the SDK's v3/v4 dual-zod surface.
211
- const inputSchema = tool.inputSchema;
212
- // outputSchema is optional — tools migrated to structured-content (Wave
213
- // G.2) declare a Zod schema describing the `structuredContent` payload.
214
- // The SDK accepts a `ZodTypeAny` (v3/v4) via `AnySchema`; we forward our
215
- // schema verbatim. Hosts that support MCP structured output validate
216
- // responses against this schema.
217
- const outputSchema = tool.outputSchema !== undefined
218
- ? tool.outputSchema
219
- : undefined;
220
- registrar.registerTool(tool.name, {
221
- description: tool.description,
222
- inputSchema,
223
- ...(outputSchema !== undefined ? { outputSchema } : {}),
224
- annotations: tool.annotations,
225
- },
226
- // Wave G.5 — forward the SDK-supplied `extra` (RequestHandlerExtra)
227
- // as the 2nd argument to every handler. Write-handlers consume
228
- // `extra._meta.progressToken` + `extra.sendNotification` via the
229
- // local `createProgressReporter` helper; read-handlers ignore it
230
- // (their handler signature still binds `extra` to `HandlerExtra |
231
- // undefined`, so no runtime coupling for non-progress tools).
232
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- SDK generic narrows to inferred shape; safe because zod validates upstream
233
- (async (args, extra) => {
234
- return tool.handler(args, extra);
235
- }));
236
- }
237
- //# sourceMappingURL=server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- /**
2
- * W12-R2A — TTY confirm prompt for destructive CLI subcommands.
3
- *
4
- * Hosts `confirmTTY(prompt)`, the y/N readline callback the W9
5
- * dispatcher wires into the `removeSiteCommand` / `setDefaultCommand`
6
- * deps bag. Lives in its own file so the dispatcher stays a thin
7
- * routing layer and so tests can mock the prompt without touching the
8
- * subcommand factories.
9
- *
10
- * Contract:
11
- *
12
- * - Returns `true` ONLY when stdin is a TTY AND the operator types
13
- * "y", "Y", or "yes" (case-insensitive). Anything else (incl. EOF,
14
- * empty line, Ctrl-D) returns `false` → caller treats this as a
15
- * cancel and skips the write.
16
- *
17
- * - When stdin is NOT a TTY (CI, piped input, MCP-server stdio), the
18
- * function does NOT block — it returns `false` immediately and
19
- * writes a one-line hint to stderr telling the operator to pass
20
- * `--yes` for non-interactive use. The dispatcher then surfaces a
21
- * typed `CONFIRM_REQUIRED` / `SET_DEFAULT_CONFIRM_REQUIRED` error
22
- * via the subcommand factory (which fails closed when no confirm
23
- * hook AND no --yes is in play).
24
- *
25
- * - No external deps; uses Node's built-in `node:readline` so the
26
- * package keeps the same dep-graph as Round-1.
27
- *
28
- * @license MIT
29
- */
30
- /**
31
- * Read one line via readline and resolve `true` on y/Y/yes,
32
- * `false` otherwise. Stdin-not-a-TTY short-circuits to `false` with a
33
- * stderr hint so a piped invocation can't silently hang.
34
- */
35
- export declare function confirmTTY(prompt: string): Promise<boolean>;
36
- //# sourceMappingURL=setup-cli-confirm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-cli-confirm.d.ts","sourceRoot":"","sources":["../src/setup-cli-confirm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBjE"}
@@ -1,59 +0,0 @@
1
- /**
2
- * W12-R2A — TTY confirm prompt for destructive CLI subcommands.
3
- *
4
- * Hosts `confirmTTY(prompt)`, the y/N readline callback the W9
5
- * dispatcher wires into the `removeSiteCommand` / `setDefaultCommand`
6
- * deps bag. Lives in its own file so the dispatcher stays a thin
7
- * routing layer and so tests can mock the prompt without touching the
8
- * subcommand factories.
9
- *
10
- * Contract:
11
- *
12
- * - Returns `true` ONLY when stdin is a TTY AND the operator types
13
- * "y", "Y", or "yes" (case-insensitive). Anything else (incl. EOF,
14
- * empty line, Ctrl-D) returns `false` → caller treats this as a
15
- * cancel and skips the write.
16
- *
17
- * - When stdin is NOT a TTY (CI, piped input, MCP-server stdio), the
18
- * function does NOT block — it returns `false` immediately and
19
- * writes a one-line hint to stderr telling the operator to pass
20
- * `--yes` for non-interactive use. The dispatcher then surfaces a
21
- * typed `CONFIRM_REQUIRED` / `SET_DEFAULT_CONFIRM_REQUIRED` error
22
- * via the subcommand factory (which fails closed when no confirm
23
- * hook AND no --yes is in play).
24
- *
25
- * - No external deps; uses Node's built-in `node:readline` so the
26
- * package keeps the same dep-graph as Round-1.
27
- *
28
- * @license MIT
29
- */
30
- import { createInterface } from 'node:readline';
31
- /**
32
- * Read one line via readline and resolve `true` on y/Y/yes,
33
- * `false` otherwise. Stdin-not-a-TTY short-circuits to `false` with a
34
- * stderr hint so a piped invocation can't silently hang.
35
- */
36
- export async function confirmTTY(prompt) {
37
- // process.stdin.isTTY is `true | undefined` per Node's typings —
38
- // explicit !== true guards against both undefined and false.
39
- if (process.stdin.isTTY !== true) {
40
- process.stderr.write('yt-builder-mcp: no TTY available for confirmation. '
41
- + 'Pass --yes to run this subcommand non-interactively.\n');
42
- return false;
43
- }
44
- const rl = createInterface({
45
- input: process.stdin,
46
- output: process.stderr,
47
- });
48
- try {
49
- const answer = await new Promise((resolve) => {
50
- rl.question(`${prompt} [y/N] `, (line) => resolve(line));
51
- });
52
- const normalised = answer.trim().toLowerCase();
53
- return normalised === 'y' || normalised === 'yes';
54
- }
55
- finally {
56
- rl.close();
57
- }
58
- }
59
- //# sourceMappingURL=setup-cli-confirm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-cli-confirm.js","sourceRoot":"","sources":["../src/setup-cli-confirm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAc;IAC3C,iEAAiE;IACjE,6DAA6D;IAC7D,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,qDAAqD;cAC/C,wDAAwD,CACjE,CAAC;QACF,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,EAAE,GAAG,eAAe,CAAC;QACvB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACzB,CAAC,CAAC;IACH,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YACjD,EAAE,CAAC,QAAQ,CAAC,GAAG,MAAM,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/C,OAAO,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,KAAK,CAAC;IACtD,CAAC;YAAS,CAAC;QACP,EAAE,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;AACL,CAAC"}
@@ -1,152 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Top-level CLI dispatcher for `@wootsup/yt-builder-mcp`.
4
- *
5
- * Round-1 audit I5 fix (2026-05-22): the wizard implementation lives in
6
- * `setup-wizard.ts`; this file is the thin dispatcher (`runCli`) plus
7
- * the ESM main-guard. Both have their own deps-bag (`WizardDeps` /
8
- * `RunCliDeps`) so unit tests can drive them independently.
9
- *
10
- * Subcommands:
11
- *
12
- * setup (default) — runWizard (see `setup-wizard.ts`)
13
- * install-skill — copy the bundled skill into ~/.claude/skills/
14
- * and append a marker block to ~/AGENTS.md.
15
- * --help / help — print usage.
16
- * --version / -v — print the package version.
17
- *
18
- * Re-exports `runWizard`, `majorMinor` and the wizard public types so
19
- * existing callers (and tests that already import from `./setup-cli`)
20
- * keep working with a one-line import.
21
- *
22
- * @license MIT
23
- */
24
- import { installSkill as defaultInstallSkill } from './install-skill.js';
25
- import type { WizardDeps } from './setup-wizard-types.js';
26
- import { type AddSiteArgs, type AddSiteDeps, type AddSiteResult } from './sites/cli/add-site.js';
27
- import { type ListSitesDeps } from './sites/cli/list-sites.js';
28
- import { type RemoveSiteDeps } from './sites/cli/remove-site.js';
29
- import { type SetDefaultDeps } from './sites/cli/set-default.js';
30
- import { type TestSiteDeps } from './sites/cli/test-site.js';
31
- export { DEFAULT_WIZARD_DEPS, majorMinor, runWizard, type AuthProbeResult, type HandshakeResult, type HealthProbeResult, type WizardAnswers, type WizardDeps, type WriteResult, } from './setup-wizard.js';
32
- export interface ParsedSetupArgs {
33
- /** True when `--non-interactive` was passed. Always boolean. */
34
- readonly nonInteractive: boolean;
35
- /** Site base URL from `--url` (WordPress or Joomla), trailing slash stripped, trimmed. */
36
- readonly url: string;
37
- /** Bearer token from `--token`, trimmed. */
38
- readonly token: string;
39
- /** Client ids from repeated `--client`. */
40
- readonly clients: readonly string[];
41
- /**
42
- * Pickup URL from `--pickup`, trimmed. When set together with
43
- * `nonce`, the wizard fetches the Bearer + canonical URL from the
44
- * plugin in a single POST instead of prompting.
45
- */
46
- readonly pickup?: string;
47
- /** One-shot nonce from `--nonce`, trimmed. Pairs 1:1 with `pickup`. */
48
- readonly nonce?: string;
49
- /**
50
- * Human-readable validation errors. Empty array means the parsed
51
- * args are usable. The dispatcher prints these to stderr and exits
52
- * non-zero when non-empty AND `--non-interactive` was requested.
53
- */
54
- readonly errors: readonly string[];
55
- /**
56
- * Non-fatal warnings to surface on stderr (e.g. "--url ignored in
57
- * pickup mode"). These do NOT block the wizard from running.
58
- */
59
- readonly warnings: readonly string[];
60
- }
61
- /**
62
- * Parse the `setup` subcommand argv tail. Pure function; does no I/O.
63
- *
64
- * Accepts both `--key value` and `--key=value` styles. Unknown flags
65
- * are reported as errors so typos don't silently disable validation.
66
- */
67
- export declare function parseSetupArgs(argv: readonly string[]): ParsedSetupArgs;
68
- /**
69
- * Build a `WizardDeps` bag that answers prompts from CLI flags instead
70
- * of asking a human. Reuses every other dependency (probes, writes,
71
- * handshake) from `DEFAULT_WIZARD_DEPS` so the wizard's exit-code
72
- * contract (0/2/3/4/5) stays identical.
73
- *
74
- * `confirmContinue` always returns `false` — there is no human to ask,
75
- * so a probe failure cleanly aborts with the documented exit code.
76
- */
77
- export declare function buildNonInteractiveDeps(parsed: ParsedSetupArgs, base?: WizardDeps): WizardDeps;
78
- /**
79
- * Build a `WizardDeps` bag for the Wave-C pickup flow. The wizard's
80
- * `prompt` step calls `base.fetchPickup(url, nonce)` once, then
81
- * synthesises the `WizardAnswers` from the response — the actual answers
82
- * (token + canonical WordPress URL) come straight from the plugin via
83
- * a 256-bit one-shot nonce, never through chat history / provider logs.
84
- *
85
- * On `fetchPickup` failure the prompt resolves to `null` so the wizard
86
- * exits cleanly with code 130 (user-cancel equivalent — we treat
87
- * an unrecoverable pickup as "the conversation ends here"). The
88
- * thrown error is logged via the `log` dep so the operator sees why.
89
- *
90
- * `confirmContinue` returns `false` (same rationale as non-interactive).
91
- */
92
- export declare function buildPickupDeps(parsed: ParsedSetupArgs, base?: WizardDeps): WizardDeps;
93
- /**
94
- * Parsed shape for the `add-site` subcommand. Pure-data; tests
95
- * exercise this without filesystem deps.
96
- */
97
- export interface ParsedAddSiteArgs {
98
- readonly url: string;
99
- readonly token: string;
100
- readonly tokenRef: string;
101
- readonly platform?: 'auto' | 'wordpress' | 'joomla';
102
- readonly label: string;
103
- readonly siteId: string;
104
- readonly default: boolean;
105
- readonly yes: boolean;
106
- readonly sitesFile?: string;
107
- readonly errors: readonly string[];
108
- }
109
- /**
110
- * Parse `add-site` flags from the tail of argv. Accepts both
111
- * `--key value` and `--key=value` styles. Unknown flags are reported
112
- * as errors so typos never silently disable validation.
113
- */
114
- export declare function parseAddSiteArgs(argv: readonly string[]): ParsedAddSiteArgs;
115
- export interface RunCliDeps {
116
- /**
117
- * Wizard runner. The optional deps bag lets the non-interactive
118
- * dispatcher inject prebuilt answers; interactive callers pass
119
- * nothing and the wizard uses `DEFAULT_WIZARD_DEPS`.
120
- */
121
- runWizard: (deps?: WizardDeps) => Promise<number>;
122
- installSkill: typeof defaultInstallSkill;
123
- log?: (line: string) => void;
124
- error?: (line: string) => void;
125
- /** Test injection — override the resolved sites.json path. */
126
- resolveSitesPath?: () => string;
127
- addSiteDeps?: AddSiteDeps;
128
- listSitesDeps?: ListSitesDeps;
129
- removeSiteDeps?: RemoveSiteDeps;
130
- setDefaultDeps?: SetDefaultDeps;
131
- testSiteDeps?: TestSiteDeps;
132
- /**
133
- * W12-R2A — y/N prompt for destructive subcommands (remove-site,
134
- * set-default). Defaults to {@link defaultConfirmTTY} which reads
135
- * from process.stdin via readline. Tests inject a stub.
136
- *
137
- * Note: when the operator passes `--yes`, this hook is NEVER
138
- * invoked — the subcommand factory short-circuits before reaching
139
- * the confirm step. When `--yes` is absent AND no confirm hook is
140
- * injectable (CI / piped stdin), the factory throws a typed
141
- * CONFIRM_REQUIRED / SET_DEFAULT_CONFIRM_REQUIRED error.
142
- */
143
- confirm?: (message: string) => Promise<boolean>;
144
- /**
145
- * Optional override for the post-wizard `addSiteCommand` call.
146
- * Tests stub this to assert the wizard wires through addSiteCommand
147
- * without writing to disk.
148
- */
149
- addSiteFromWizard?: (args: AddSiteArgs, path: string) => Promise<AddSiteResult>;
150
- }
151
- export declare function runCli(argv: readonly string[], deps?: Partial<RunCliDeps>): Promise<number>;
152
- //# sourceMappingURL=setup-cli.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-cli.d.ts","sourceRoot":"","sources":["../src/setup-cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAIzE,OAAO,KAAK,EAAiB,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAIH,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,aAAa,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGH,KAAK,aAAa,EACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAIH,KAAK,cAAc,EACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAIH,KAAK,cAAc,EACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAKH,KAAK,YAAY,EACpB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EACH,mBAAmB,EACnB,UAAU,EACV,SAAS,EACT,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,WAAW,GACnB,MAAM,mBAAmB,CAAC;AAyF3B,MAAM,WAAW,eAAe;IAC5B,gEAAgE;IAChE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,0FAA0F;IAC1F,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe,CAyGvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,eAAe,EACvB,IAAI,GAAE,UAAgC,GACvC,UAAU,CAWZ;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC3B,MAAM,EAAE,eAAe,EACvB,IAAI,GAAE,UAAgC,GACvC,UAAU,CA+BZ;AAID;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,iBAAiB,CAuH3E;AAoID,MAAM,WAAW,UAAU;IACvB;;;;OAIG;IACH,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,YAAY,EAAE,OAAO,mBAAmB,CAAC;IACzC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAChB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,MAAM,KACX,OAAO,CAAC,aAAa,CAAC,CAAC;CAC/B;AAED,wBAAsB,MAAM,CACxB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,CAmVjB"}