@wootsup/yt-builder-mcp 1.1.6 → 1.2.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 (430) hide show
  1. package/README.md +7 -7
  2. package/bin/yt-builder-mcp.js +55 -40
  3. package/dist/auth.d.ts +137 -0
  4. package/dist/auth.d.ts.map +1 -0
  5. package/dist/auth.js +244 -0
  6. package/dist/auth.js.map +1 -0
  7. package/dist/cli/invocation-decision.d.ts +57 -0
  8. package/dist/cli/invocation-decision.d.ts.map +1 -0
  9. package/dist/cli/invocation-decision.js +86 -0
  10. package/dist/cli/invocation-decision.js.map +1 -0
  11. package/dist/client.d.ts +112 -0
  12. package/dist/client.d.ts.map +1 -0
  13. package/dist/client.js +190 -0
  14. package/dist/client.js.map +1 -0
  15. package/dist/clients/claude-code.d.ts +18 -0
  16. package/dist/clients/claude-code.d.ts.map +1 -0
  17. package/dist/clients/claude-code.js +55 -0
  18. package/dist/clients/claude-code.js.map +1 -0
  19. package/dist/clients/claude-desktop.d.ts +19 -0
  20. package/dist/clients/claude-desktop.d.ts.map +1 -0
  21. package/dist/clients/claude-desktop.js +58 -0
  22. package/dist/clients/claude-desktop.js.map +1 -0
  23. package/dist/clients/cline.d.ts +26 -0
  24. package/dist/clients/cline.d.ts.map +1 -0
  25. package/dist/clients/cline.js +82 -0
  26. package/dist/clients/cline.js.map +1 -0
  27. package/dist/clients/codex-cli.d.ts +42 -0
  28. package/dist/clients/codex-cli.d.ts.map +1 -0
  29. package/dist/clients/codex-cli.js +292 -0
  30. package/dist/clients/codex-cli.js.map +1 -0
  31. package/dist/clients/continue.d.ts +13 -0
  32. package/dist/clients/continue.d.ts.map +1 -0
  33. package/dist/clients/continue.js +121 -0
  34. package/dist/clients/continue.js.map +1 -0
  35. package/dist/clients/cursor.d.ts +12 -0
  36. package/dist/clients/cursor.d.ts.map +1 -0
  37. package/dist/clients/cursor.js +40 -0
  38. package/dist/clients/cursor.js.map +1 -0
  39. package/dist/clients/gemini-cli.d.ts +18 -0
  40. package/dist/clients/gemini-cli.d.ts.map +1 -0
  41. package/dist/clients/gemini-cli.js +46 -0
  42. package/dist/clients/gemini-cli.js.map +1 -0
  43. package/dist/clients/home.d.ts +14 -0
  44. package/dist/clients/home.d.ts.map +1 -0
  45. package/dist/clients/home.js +20 -0
  46. package/dist/clients/home.js.map +1 -0
  47. package/dist/clients/index.d.ts +156 -0
  48. package/dist/clients/index.d.ts.map +1 -0
  49. package/dist/clients/index.js +213 -0
  50. package/dist/clients/index.js.map +1 -0
  51. package/dist/clients/roo-code.d.ts +23 -0
  52. package/dist/clients/roo-code.d.ts.map +1 -0
  53. package/dist/clients/roo-code.js +71 -0
  54. package/dist/clients/roo-code.js.map +1 -0
  55. package/dist/clients/zed.d.ts +12 -0
  56. package/dist/clients/zed.d.ts.map +1 -0
  57. package/dist/clients/zed.js +43 -0
  58. package/dist/clients/zed.js.map +1 -0
  59. package/dist/errors/hints.d.ts +51 -0
  60. package/dist/errors/hints.d.ts.map +1 -0
  61. package/dist/errors/hints.js +95 -0
  62. package/dist/errors/hints.js.map +1 -0
  63. package/dist/errors/mask.d.ts +35 -0
  64. package/dist/errors/mask.d.ts.map +1 -0
  65. package/dist/errors/mask.js +49 -0
  66. package/dist/errors/mask.js.map +1 -0
  67. package/dist/errors/sanitize.d.ts +31 -0
  68. package/dist/errors/sanitize.d.ts.map +1 -0
  69. package/dist/errors/sanitize.js +100 -0
  70. package/dist/errors/sanitize.js.map +1 -0
  71. package/dist/errors.d.ts +42 -0
  72. package/dist/errors.d.ts.map +1 -0
  73. package/dist/errors.js +61 -0
  74. package/dist/errors.js.map +1 -0
  75. package/dist/gateway/advanced-tool/discovery.d.ts +19 -0
  76. package/dist/gateway/advanced-tool/discovery.d.ts.map +1 -0
  77. package/dist/gateway/advanced-tool/discovery.js +53 -0
  78. package/dist/gateway/advanced-tool/discovery.js.map +1 -0
  79. package/dist/gateway/advanced-tool/domains.d.ts +47 -0
  80. package/dist/gateway/advanced-tool/domains.d.ts.map +1 -0
  81. package/dist/gateway/advanced-tool/domains.js +94 -0
  82. package/dist/gateway/advanced-tool/domains.js.map +1 -0
  83. package/dist/gateway/advanced-tool/execute.d.ts +29 -0
  84. package/dist/gateway/advanced-tool/execute.d.ts.map +1 -0
  85. package/dist/gateway/advanced-tool/execute.js +54 -0
  86. package/dist/gateway/advanced-tool/execute.js.map +1 -0
  87. package/dist/gateway/advanced-tool/index.d.ts +36 -0
  88. package/dist/gateway/advanced-tool/index.d.ts.map +1 -0
  89. package/dist/gateway/advanced-tool/index.js +39 -0
  90. package/dist/gateway/advanced-tool/index.js.map +1 -0
  91. package/dist/gateway/advanced-tool/register.d.ts +18 -0
  92. package/dist/gateway/advanced-tool/register.d.ts.map +1 -0
  93. package/dist/gateway/advanced-tool/register.js +69 -0
  94. package/dist/gateway/advanced-tool/register.js.map +1 -0
  95. package/dist/gateway/advanced-tool.d.ts +13 -0
  96. package/dist/gateway/advanced-tool.d.ts.map +1 -0
  97. package/dist/gateway/advanced-tool.js +13 -0
  98. package/dist/gateway/advanced-tool.js.map +1 -0
  99. package/dist/gateway/capturing-server.d.ts +117 -0
  100. package/dist/gateway/capturing-server.d.ts.map +1 -0
  101. package/dist/gateway/capturing-server.js +103 -0
  102. package/dist/gateway/capturing-server.js.map +1 -0
  103. package/dist/gateway/essentials.d.ts +50 -0
  104. package/dist/gateway/essentials.d.ts.map +1 -0
  105. package/dist/gateway/essentials.js +108 -0
  106. package/dist/gateway/essentials.js.map +1 -0
  107. package/dist/gateway/test-support.d.ts +41 -0
  108. package/dist/gateway/test-support.d.ts.map +1 -0
  109. package/dist/gateway/test-support.js +60 -0
  110. package/dist/gateway/test-support.js.map +1 -0
  111. package/dist/index.d.ts +30 -0
  112. package/dist/index.d.ts.map +1 -0
  113. package/dist/index.js +119 -0
  114. package/dist/index.js.map +1 -0
  115. package/dist/install-skill.d.ts +43 -0
  116. package/dist/install-skill.d.ts.map +1 -0
  117. package/dist/install-skill.js +118 -0
  118. package/dist/install-skill.js.map +1 -0
  119. package/dist/platform/detect.d.ts +64 -0
  120. package/dist/platform/detect.d.ts.map +1 -0
  121. package/dist/platform/detect.js +98 -0
  122. package/dist/platform/detect.js.map +1 -0
  123. package/dist/platform/index.d.ts +121 -0
  124. package/dist/platform/index.d.ts.map +1 -0
  125. package/dist/platform/index.js +176 -0
  126. package/dist/platform/index.js.map +1 -0
  127. package/dist/platform/joomla.d.ts +44 -0
  128. package/dist/platform/joomla.d.ts.map +1 -0
  129. package/dist/platform/joomla.js +46 -0
  130. package/dist/platform/joomla.js.map +1 -0
  131. package/dist/server.d.ts +110 -0
  132. package/dist/server.d.ts.map +1 -0
  133. package/dist/server.js +274 -0
  134. package/dist/server.js.map +1 -0
  135. package/dist/setup-cli-confirm.d.ts +36 -0
  136. package/dist/setup-cli-confirm.d.ts.map +1 -0
  137. package/dist/setup-cli-confirm.js +59 -0
  138. package/dist/setup-cli-confirm.js.map +1 -0
  139. package/dist/setup-cli.d.ts +193 -0
  140. package/dist/setup-cli.d.ts.map +1 -0
  141. package/dist/setup-cli.js +1032 -0
  142. package/dist/setup-cli.js.map +1 -0
  143. package/dist/setup-prompts.d.ts +64 -0
  144. package/dist/setup-prompts.d.ts.map +1 -0
  145. package/dist/setup-prompts.js +221 -0
  146. package/dist/setup-prompts.js.map +1 -0
  147. package/dist/setup-token.d.ts +38 -0
  148. package/dist/setup-token.d.ts.map +1 -0
  149. package/dist/setup-token.js +106 -0
  150. package/dist/setup-token.js.map +1 -0
  151. package/dist/setup-wizard-defaults.d.ts +43 -0
  152. package/dist/setup-wizard-defaults.d.ts.map +1 -0
  153. package/dist/setup-wizard-defaults.js +160 -0
  154. package/dist/setup-wizard-defaults.js.map +1 -0
  155. package/dist/setup-wizard-handshake.d.ts +25 -0
  156. package/dist/setup-wizard-handshake.d.ts.map +1 -0
  157. package/dist/setup-wizard-handshake.js +103 -0
  158. package/dist/setup-wizard-handshake.js.map +1 -0
  159. package/dist/setup-wizard-types.d.ts +164 -0
  160. package/dist/setup-wizard-types.d.ts.map +1 -0
  161. package/dist/setup-wizard-types.js +11 -0
  162. package/dist/setup-wizard-types.js.map +1 -0
  163. package/dist/setup-wizard.d.ts +33 -0
  164. package/dist/setup-wizard.d.ts.map +1 -0
  165. package/dist/setup-wizard.js +199 -0
  166. package/dist/setup-wizard.js.map +1 -0
  167. package/dist/setup.d.ts +17 -0
  168. package/dist/setup.d.ts.map +1 -0
  169. package/dist/setup.js +33 -0
  170. package/dist/setup.js.map +1 -0
  171. package/dist/sites/bootstrap.d.ts +41 -0
  172. package/dist/sites/bootstrap.d.ts.map +1 -0
  173. package/dist/sites/bootstrap.js +58 -0
  174. package/dist/sites/bootstrap.js.map +1 -0
  175. package/dist/sites/cli/add-site.d.ts +106 -0
  176. package/dist/sites/cli/add-site.d.ts.map +1 -0
  177. package/dist/sites/cli/add-site.js +185 -0
  178. package/dist/sites/cli/add-site.js.map +1 -0
  179. package/dist/sites/cli/list-sites.d.ts +40 -0
  180. package/dist/sites/cli/list-sites.d.ts.map +1 -0
  181. package/dist/sites/cli/list-sites.js +116 -0
  182. package/dist/sites/cli/list-sites.js.map +1 -0
  183. package/dist/sites/cli/remove-site.d.ts +60 -0
  184. package/dist/sites/cli/remove-site.d.ts.map +1 -0
  185. package/dist/sites/cli/remove-site.js +120 -0
  186. package/dist/sites/cli/remove-site.js.map +1 -0
  187. package/dist/sites/cli/set-default.d.ts +47 -0
  188. package/dist/sites/cli/set-default.d.ts.map +1 -0
  189. package/dist/sites/cli/set-default.js +69 -0
  190. package/dist/sites/cli/set-default.js.map +1 -0
  191. package/dist/sites/cli/test-site.d.ts +77 -0
  192. package/dist/sites/cli/test-site.d.ts.map +1 -0
  193. package/dist/sites/cli/test-site.js +146 -0
  194. package/dist/sites/cli/test-site.js.map +1 -0
  195. package/dist/sites/client-pool.d.ts +157 -0
  196. package/dist/sites/client-pool.d.ts.map +1 -0
  197. package/dist/sites/client-pool.js +222 -0
  198. package/dist/sites/client-pool.js.map +1 -0
  199. package/dist/sites/env-bridge.d.ts +55 -0
  200. package/dist/sites/env-bridge.d.ts.map +1 -0
  201. package/dist/sites/env-bridge.js +94 -0
  202. package/dist/sites/env-bridge.js.map +1 -0
  203. package/dist/sites/paths.d.ts +21 -0
  204. package/dist/sites/paths.d.ts.map +1 -0
  205. package/dist/sites/paths.js +37 -0
  206. package/dist/sites/paths.js.map +1 -0
  207. package/dist/sites/probe.d.ts +60 -0
  208. package/dist/sites/probe.d.ts.map +1 -0
  209. package/dist/sites/probe.js +112 -0
  210. package/dist/sites/probe.js.map +1 -0
  211. package/dist/sites/registry.d.ts +142 -0
  212. package/dist/sites/registry.d.ts.map +1 -0
  213. package/dist/sites/registry.js +163 -0
  214. package/dist/sites/registry.js.map +1 -0
  215. package/dist/sites/schema.d.ts +90 -0
  216. package/dist/sites/schema.d.ts.map +1 -0
  217. package/dist/sites/schema.js +71 -0
  218. package/dist/sites/schema.js.map +1 -0
  219. package/dist/sites/secret-resolver.d.ts +115 -0
  220. package/dist/sites/secret-resolver.d.ts.map +1 -0
  221. package/dist/sites/secret-resolver.js +225 -0
  222. package/dist/sites/secret-resolver.js.map +1 -0
  223. package/dist/sites/store.d.ts +82 -0
  224. package/dist/sites/store.d.ts.map +1 -0
  225. package/dist/sites/store.js +198 -0
  226. package/dist/sites/store.js.map +1 -0
  227. package/dist/sites/tools/index.d.ts +28 -0
  228. package/dist/sites/tools/index.d.ts.map +1 -0
  229. package/dist/sites/tools/index.js +38 -0
  230. package/dist/sites/tools/index.js.map +1 -0
  231. package/dist/sites/tools/sites-list.d.ts +48 -0
  232. package/dist/sites/tools/sites-list.d.ts.map +1 -0
  233. package/dist/sites/tools/sites-list.js +137 -0
  234. package/dist/sites/tools/sites-list.js.map +1 -0
  235. package/dist/sites/tools/sites-test.d.ts +47 -0
  236. package/dist/sites/tools/sites-test.d.ts.map +1 -0
  237. package/dist/sites/tools/sites-test.js +148 -0
  238. package/dist/sites/tools/sites-test.js.map +1 -0
  239. package/dist/sites/tools/use-site.d.ts +47 -0
  240. package/dist/sites/tools/use-site.d.ts.map +1 -0
  241. package/dist/sites/tools/use-site.js +183 -0
  242. package/dist/sites/tools/use-site.js.map +1 -0
  243. package/dist/skill-loader.d.ts +111 -0
  244. package/dist/skill-loader.d.ts.map +1 -0
  245. package/dist/skill-loader.js +191 -0
  246. package/dist/skill-loader.js.map +1 -0
  247. package/dist/tools/elements/builders.d.ts +24 -0
  248. package/dist/tools/elements/builders.d.ts.map +1 -0
  249. package/dist/tools/elements/builders.js +208 -0
  250. package/dist/tools/elements/builders.js.map +1 -0
  251. package/dist/tools/elements/handlers-write.d.ts +49 -0
  252. package/dist/tools/elements/handlers-write.d.ts.map +1 -0
  253. package/dist/tools/elements/handlers-write.js +341 -0
  254. package/dist/tools/elements/handlers-write.js.map +1 -0
  255. package/dist/tools/elements/handlers.d.ts +70 -0
  256. package/dist/tools/elements/handlers.d.ts.map +1 -0
  257. package/dist/tools/elements/handlers.js +292 -0
  258. package/dist/tools/elements/handlers.js.map +1 -0
  259. package/dist/tools/elements/index.d.ts +28 -0
  260. package/dist/tools/elements/index.d.ts.map +1 -0
  261. package/dist/tools/elements/index.js +27 -0
  262. package/dist/tools/elements/index.js.map +1 -0
  263. package/dist/tools/elements.d.ts +13 -0
  264. package/dist/tools/elements.d.ts.map +1 -0
  265. package/dist/tools/elements.js +13 -0
  266. package/dist/tools/elements.js.map +1 -0
  267. package/dist/tools/elicitation.d.ts +87 -0
  268. package/dist/tools/elicitation.d.ts.map +1 -0
  269. package/dist/tools/elicitation.js +100 -0
  270. package/dist/tools/elicitation.js.map +1 -0
  271. package/dist/tools/format/elements-format.d.ts +40 -0
  272. package/dist/tools/format/elements-format.d.ts.map +1 -0
  273. package/dist/tools/format/elements-format.js +193 -0
  274. package/dist/tools/format/elements-format.js.map +1 -0
  275. package/dist/tools/format/health-format.d.ts +79 -0
  276. package/dist/tools/format/health-format.d.ts.map +1 -0
  277. package/dist/tools/format/health-format.js +181 -0
  278. package/dist/tools/format/health-format.js.map +1 -0
  279. package/dist/tools/format/inspection-format.d.ts +70 -0
  280. package/dist/tools/format/inspection-format.d.ts.map +1 -0
  281. package/dist/tools/format/inspection-format.js +359 -0
  282. package/dist/tools/format/inspection-format.js.map +1 -0
  283. package/dist/tools/format/pages-format.d.ts +57 -0
  284. package/dist/tools/format/pages-format.d.ts.map +1 -0
  285. package/dist/tools/format/pages-format.js +157 -0
  286. package/dist/tools/format/pages-format.js.map +1 -0
  287. package/dist/tools/format/sources-format.d.ts +44 -0
  288. package/dist/tools/format/sources-format.d.ts.map +1 -0
  289. package/dist/tools/format/sources-format.js +242 -0
  290. package/dist/tools/format/sources-format.js.map +1 -0
  291. package/dist/tools/health.d.ts +22 -0
  292. package/dist/tools/health.d.ts.map +1 -0
  293. package/dist/tools/health.js +220 -0
  294. package/dist/tools/health.js.map +1 -0
  295. package/dist/tools/index.d.ts +30 -0
  296. package/dist/tools/index.d.ts.map +1 -0
  297. package/dist/tools/index.js +39 -0
  298. package/dist/tools/index.js.map +1 -0
  299. package/dist/tools/inspection.d.ts +14 -0
  300. package/dist/tools/inspection.d.ts.map +1 -0
  301. package/dist/tools/inspection.js +401 -0
  302. package/dist/tools/inspection.js.map +1 -0
  303. package/dist/tools/layout-flatten.d.ts +75 -0
  304. package/dist/tools/layout-flatten.d.ts.map +1 -0
  305. package/dist/tools/layout-flatten.js +107 -0
  306. package/dist/tools/layout-flatten.js.map +1 -0
  307. package/dist/tools/multi-items/builders.d.ts +23 -0
  308. package/dist/tools/multi-items/builders.d.ts.map +1 -0
  309. package/dist/tools/multi-items/builders.js +84 -0
  310. package/dist/tools/multi-items/builders.js.map +1 -0
  311. package/dist/tools/multi-items/clean-implode-handler.d.ts +36 -0
  312. package/dist/tools/multi-items/clean-implode-handler.d.ts.map +1 -0
  313. package/dist/tools/multi-items/clean-implode-handler.js +57 -0
  314. package/dist/tools/multi-items/clean-implode-handler.js.map +1 -0
  315. package/dist/tools/multi-items/format/inspection-format.d.ts +41 -0
  316. package/dist/tools/multi-items/format/inspection-format.d.ts.map +1 -0
  317. package/dist/tools/multi-items/format/inspection-format.js +64 -0
  318. package/dist/tools/multi-items/format/inspection-format.js.map +1 -0
  319. package/dist/tools/multi-items/index.d.ts +18 -0
  320. package/dist/tools/multi-items/index.d.ts.map +1 -0
  321. package/dist/tools/multi-items/index.js +18 -0
  322. package/dist/tools/multi-items/index.js.map +1 -0
  323. package/dist/tools/multi-items/inspect-handler.d.ts +76 -0
  324. package/dist/tools/multi-items/inspect-handler.d.ts.map +1 -0
  325. package/dist/tools/multi-items/inspect-handler.js +133 -0
  326. package/dist/tools/multi-items/inspect-handler.js.map +1 -0
  327. package/dist/tools/multi-items/inspection-cache.d.ts +85 -0
  328. package/dist/tools/multi-items/inspection-cache.d.ts.map +1 -0
  329. package/dist/tools/multi-items/inspection-cache.js +126 -0
  330. package/dist/tools/multi-items/inspection-cache.js.map +1 -0
  331. package/dist/tools/multi-items/item-container-map.d.ts +41 -0
  332. package/dist/tools/multi-items/item-container-map.d.ts.map +1 -0
  333. package/dist/tools/multi-items/item-container-map.js +73 -0
  334. package/dist/tools/multi-items/item-container-map.js.map +1 -0
  335. package/dist/tools/pages/builders.d.ts +43 -0
  336. package/dist/tools/pages/builders.d.ts.map +1 -0
  337. package/dist/tools/pages/builders.js +229 -0
  338. package/dist/tools/pages/builders.js.map +1 -0
  339. package/dist/tools/pages/handlers-read.d.ts +33 -0
  340. package/dist/tools/pages/handlers-read.d.ts.map +1 -0
  341. package/dist/tools/pages/handlers-read.js +260 -0
  342. package/dist/tools/pages/handlers-read.js.map +1 -0
  343. package/dist/tools/pages/handlers-write.d.ts +63 -0
  344. package/dist/tools/pages/handlers-write.d.ts.map +1 -0
  345. package/dist/tools/pages/handlers-write.js +127 -0
  346. package/dist/tools/pages/handlers-write.js.map +1 -0
  347. package/dist/tools/pages/index.d.ts +17 -0
  348. package/dist/tools/pages/index.d.ts.map +1 -0
  349. package/dist/tools/pages/index.js +17 -0
  350. package/dist/tools/pages/index.js.map +1 -0
  351. package/dist/tools/pages/schemas.d.ts +157 -0
  352. package/dist/tools/pages/schemas.d.ts.map +1 -0
  353. package/dist/tools/pages/schemas.js +232 -0
  354. package/dist/tools/pages/schemas.js.map +1 -0
  355. package/dist/tools/pages.d.ts +13 -0
  356. package/dist/tools/pages.d.ts.map +1 -0
  357. package/dist/tools/pages.js +13 -0
  358. package/dist/tools/pages.js.map +1 -0
  359. package/dist/tools/pool-resolve-helper.d.ts +83 -0
  360. package/dist/tools/pool-resolve-helper.d.ts.map +1 -0
  361. package/dist/tools/pool-resolve-helper.js +148 -0
  362. package/dist/tools/pool-resolve-helper.js.map +1 -0
  363. package/dist/tools/progress-phases.d.ts +46 -0
  364. package/dist/tools/progress-phases.d.ts.map +1 -0
  365. package/dist/tools/progress-phases.js +48 -0
  366. package/dist/tools/progress-phases.js.map +1 -0
  367. package/dist/tools/shared-schemas.d.ts +25 -0
  368. package/dist/tools/shared-schemas.d.ts.map +1 -0
  369. package/dist/tools/shared-schemas.js +72 -0
  370. package/dist/tools/shared-schemas.js.map +1 -0
  371. package/dist/tools/sources/builders.d.ts +13 -0
  372. package/dist/tools/sources/builders.d.ts.map +1 -0
  373. package/dist/tools/sources/builders.js +118 -0
  374. package/dist/tools/sources/builders.js.map +1 -0
  375. package/dist/tools/sources/handlers-bind.d.ts +28 -0
  376. package/dist/tools/sources/handlers-bind.d.ts.map +1 -0
  377. package/dist/tools/sources/handlers-bind.js +181 -0
  378. package/dist/tools/sources/handlers-bind.js.map +1 -0
  379. package/dist/tools/sources/handlers.d.ts +47 -0
  380. package/dist/tools/sources/handlers.d.ts.map +1 -0
  381. package/dist/tools/sources/handlers.js +108 -0
  382. package/dist/tools/sources/handlers.js.map +1 -0
  383. package/dist/tools/sources/index.d.ts +19 -0
  384. package/dist/tools/sources/index.d.ts.map +1 -0
  385. package/dist/tools/sources/index.js +18 -0
  386. package/dist/tools/sources/index.js.map +1 -0
  387. package/dist/tools/sources.d.ts +14 -0
  388. package/dist/tools/sources.d.ts.map +1 -0
  389. package/dist/tools/sources.js +14 -0
  390. package/dist/tools/sources.js.map +1 -0
  391. package/dist/tools/sparse-fields.d.ts +106 -0
  392. package/dist/tools/sparse-fields.d.ts.map +1 -0
  393. package/dist/tools/sparse-fields.js +165 -0
  394. package/dist/tools/sparse-fields.js.map +1 -0
  395. package/dist/tools/tool-builder/annotations.d.ts +55 -0
  396. package/dist/tools/tool-builder/annotations.d.ts.map +1 -0
  397. package/dist/tools/tool-builder/annotations.js +86 -0
  398. package/dist/tools/tool-builder/annotations.js.map +1 -0
  399. package/dist/tools/tool-builder/define.d.ts +31 -0
  400. package/dist/tools/tool-builder/define.d.ts.map +1 -0
  401. package/dist/tools/tool-builder/define.js +31 -0
  402. package/dist/tools/tool-builder/define.js.map +1 -0
  403. package/dist/tools/tool-builder/index.d.ts +28 -0
  404. package/dist/tools/tool-builder/index.d.ts.map +1 -0
  405. package/dist/tools/tool-builder/index.js +27 -0
  406. package/dist/tools/tool-builder/index.js.map +1 -0
  407. package/dist/tools/tool-builder/results.d.ts +104 -0
  408. package/dist/tools/tool-builder/results.d.ts.map +1 -0
  409. package/dist/tools/tool-builder/results.js +224 -0
  410. package/dist/tools/tool-builder/results.js.map +1 -0
  411. package/dist/tools/tool-builder/types.d.ts +97 -0
  412. package/dist/tools/tool-builder/types.d.ts.map +1 -0
  413. package/dist/tools/tool-builder/types.js +9 -0
  414. package/dist/tools/tool-builder/types.js.map +1 -0
  415. package/dist/tools/tool-builder.d.ts +16 -0
  416. package/dist/tools/tool-builder.d.ts.map +1 -0
  417. package/dist/tools/tool-builder.js +16 -0
  418. package/dist/tools/tool-builder.js.map +1 -0
  419. package/dist/uninstall-skill.d.ts +52 -0
  420. package/dist/uninstall-skill.d.ts.map +1 -0
  421. package/dist/uninstall-skill.js +146 -0
  422. package/dist/uninstall-skill.js.map +1 -0
  423. package/dist/uninstall.d.ts +73 -0
  424. package/dist/uninstall.d.ts.map +1 -0
  425. package/dist/uninstall.js +82 -0
  426. package/dist/uninstall.js.map +1 -0
  427. package/icon.png +0 -0
  428. package/manifest.json +10 -10
  429. package/package.json +4 -1
  430. package/skills/yt-builder-mcp/SKILL.md +30 -26
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Page-tool output-schemas (Wave G.2 §4 structuredContent contracts).
3
+ *
4
+ * Split out of `src/tools/pages.ts` (Round-2 R2-A2-CRIT1) so the
5
+ * handler files stay focused on logic.
6
+ *
7
+ * @license MIT
8
+ */
9
+ import { z } from 'zod';
10
+ export declare const PAGES_LIST_OUTPUT_SCHEMA: z.ZodObject<{
11
+ items: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
12
+ total: z.ZodNumber;
13
+ etag: z.ZodOptional<z.ZodString>;
14
+ projected_fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
15
+ available_fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
16
+ unknown_fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
+ }, z.core.$strip>;
18
+ export declare const SCHEMA_OUTPUT_SCHEMA: z.ZodObject<{
19
+ items: z.ZodArray<z.ZodObject<{
20
+ rel_path: z.ZodString;
21
+ path: z.ZodOptional<z.ZodString>;
22
+ element_type: z.ZodString;
23
+ label: z.ZodString;
24
+ has_binding: z.ZodBoolean;
25
+ }, z.core.$strip>>;
26
+ total: z.ZodNumber;
27
+ template_id: z.ZodString;
28
+ }, z.core.$strip>;
29
+ export declare const ETAG_OUTPUT_SCHEMA: z.ZodObject<{
30
+ etag: z.ZodString;
31
+ generated_at: z.ZodOptional<z.ZodString>;
32
+ }, z.core.$strip>;
33
+ export declare const TEMPLATE_SUMMARY_OUTPUT_SCHEMA: z.ZodObject<{
34
+ template_id: z.ZodString;
35
+ counts_by_type: z.ZodRecord<z.ZodString, z.ZodNumber>;
36
+ bound_count: z.ZodNumber;
37
+ max_depth: z.ZodNumber;
38
+ total: z.ZodNumber;
39
+ named_sections: z.ZodArray<z.ZodObject<{
40
+ path: z.ZodString;
41
+ name: z.ZodString;
42
+ }, z.core.$strip>>;
43
+ etag: z.ZodString;
44
+ }, z.core.$strip>;
45
+ /**
46
+ * Input shape for `yootheme_builder_pages_create`.
47
+ *
48
+ * Mirrors the args of `POST /pages` (Phase B).
49
+ *
50
+ * Design pins:
51
+ * - `post_type` is intentionally NOT exposed. Layer 9 defensive guard
52
+ * on the REST side rejects it server-side; surfacing it at the MCP
53
+ * boundary would invite a footgun where an agent tries to set it
54
+ * and fails confusingly.
55
+ * - `status` defaults to `draft` on the server (Q6 design — no public
56
+ * empty page).
57
+ * - `dry_run` triggers validation Layers 1+2+4 without persisting.
58
+ */
59
+ export declare const PAGES_CREATE_INPUT: {
60
+ title: z.ZodString;
61
+ slug: z.ZodOptional<z.ZodString>;
62
+ status: z.ZodOptional<z.ZodEnum<{
63
+ publish: "publish";
64
+ draft: "draft";
65
+ pending: "pending";
66
+ private: "private";
67
+ future: "future";
68
+ }>>;
69
+ layout: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
70
+ dry_run: z.ZodOptional<z.ZodBoolean>;
71
+ };
72
+ /**
73
+ * Wire shape for `yootheme_builder_pages_create` on success (non-dry-run).
74
+ *
75
+ * Mirrors the REST 201 response shape.
76
+ *
77
+ * Design pins:
78
+ * - `frontend_url` is nullable: REST returns null for fresh drafts
79
+ * before publish.
80
+ * - `template_id` is a plain string. The "page:{post_id}" prefix is
81
+ * enforced server-side; adding a `.startsWith()` here would buy no
82
+ * MCP-client value while adding Zod complexity.
83
+ * - `warnings` is a lean string array (e.g. "slug_collision_resolved"
84
+ * when WP auto-appends `-2`). The REST surface may expand this to
85
+ * richer objects in v1.3; strings keep the v1.2 surface minimal.
86
+ */
87
+ export declare const PAGES_CREATE_OUTPUT_SCHEMA: z.ZodObject<{
88
+ page_id: z.ZodOptional<z.ZodNumber>;
89
+ article_id: z.ZodOptional<z.ZodNumber>;
90
+ title: z.ZodString;
91
+ slug: z.ZodString;
92
+ status: z.ZodString;
93
+ frontend_url: z.ZodNullable<z.ZodString>;
94
+ template_id: z.ZodString;
95
+ etag: z.ZodString;
96
+ warnings: z.ZodArray<z.ZodString>;
97
+ }, z.core.$strip>;
98
+ /**
99
+ * Wire shape for `yootheme_builder_pages_create` when `dry_run:true`.
100
+ *
101
+ * Design pin: NO `etag` field. The B6 fix-cycle decision was that
102
+ * surfacing a "live" ETag with a dry-run response invites a stale-
103
+ * If-Match footgun (caller pins the ETag, then non-dry-run mutates,
104
+ * stale ETag rejected with 412). Dry-run is validation-only.
105
+ *
106
+ * `template_id_pattern` is a literal — the actual `template_id` cannot
107
+ * be materialised before WP allocates the post_id.
108
+ */
109
+ export declare const PAGES_CREATE_DRY_RUN_OUTPUT_SCHEMA: z.ZodObject<{
110
+ dry_run: z.ZodLiteral<true>;
111
+ would_create: z.ZodObject<{
112
+ title: z.ZodString;
113
+ slug: z.ZodString;
114
+ status: z.ZodString;
115
+ template_id_pattern: z.ZodEnum<{
116
+ "page:{post_id}": "page:{post_id}";
117
+ "article:{article_id}": "article:{article_id}";
118
+ }>;
119
+ }, z.core.$strip>;
120
+ validation_report: z.ZodObject<{
121
+ layer_1_structural: z.ZodLiteral<"passed">;
122
+ layer_2_element_types: z.ZodLiteral<"passed">;
123
+ layer_4_renderer: z.ZodLiteral<"passed">;
124
+ }, z.core.$strip>;
125
+ }, z.core.$strip>;
126
+ /**
127
+ * Input shape for `yootheme_builder_pages_delete`.
128
+ *
129
+ * Mirrors the args of `DELETE /pages/{post_id}` (Phase B).
130
+ *
131
+ * Design pin: `confirm` is `z.literal(true)`. This is the Zod-side
132
+ * enforcement of the confirm gate — the MCP boundary rejects requests
133
+ * without `confirm:true` before they ever hit the REST layer.
134
+ *
135
+ * `force` defaults to false server-side → wp_delete_post(trash). When
136
+ * true → hard delete (irrecoverable).
137
+ */
138
+ export declare const PAGES_DELETE_INPUT: {
139
+ post_id: z.ZodNumber;
140
+ confirm: z.ZodLiteral<true>;
141
+ force: z.ZodOptional<z.ZodBoolean>;
142
+ };
143
+ /**
144
+ * Wire shape for `yootheme_builder_pages_delete` on success.
145
+ *
146
+ * `deleted` is `z.literal(true)` — the success-response invariant. A
147
+ * failed delete surfaces as `isError:true` with a structured-error
148
+ * envelope, not as `deleted:false`.
149
+ */
150
+ export declare const PAGES_DELETE_OUTPUT_SCHEMA: z.ZodObject<{
151
+ deleted: z.ZodLiteral<true>;
152
+ page_id: z.ZodOptional<z.ZodNumber>;
153
+ article_id: z.ZodOptional<z.ZodNumber>;
154
+ force_deleted: z.ZodBoolean;
155
+ etag: z.ZodString;
156
+ }, z.core.$strip>;
157
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/tools/pages/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,wBAAwB;;;;;;;iBA8BnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;iBAiB/B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AAWH,eAAO,MAAM,8BAA8B;;;;;;;;;;;iBAazC,CAAC;AAWH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;CA6B9B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;iBAqBlC,CAAC;AAEN;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;iBAe7C,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB;;;;CAiB9B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;;;;;;iBAYlC,CAAC"}
@@ -0,0 +1,232 @@
1
+ /**
2
+ * Page-tool output-schemas (Wave G.2 §4 structuredContent contracts).
3
+ *
4
+ * Split out of `src/tools/pages.ts` (Round-2 R2-A2-CRIT1) so the
5
+ * handler files stay focused on logic.
6
+ *
7
+ * @license MIT
8
+ */
9
+ import { z } from 'zod';
10
+ export const PAGES_LIST_OUTPUT_SCHEMA = z.object({
11
+ // F-Frontend-URL (2026-05-25): each row carries `frontend_url`,
12
+ // `frontend_url_template`, `frontend_url_description` so an MCP-agent
13
+ // can answer "What is the URL of my <type> template?" without a
14
+ // follow-up REST call or operator input. Server-side resolvers
15
+ // (WordPress: get_permalink/get_term_link/get_author_posts_url; Joomla:
16
+ // RouteHelper::getArticleRoute/getCategoryRoute/getTagRoute) emit one
17
+ // of two shapes per row:
18
+ // - `frontend_url: <permalink>` + `frontend_url_template: null`
19
+ // when a canonical public URL exists (latest post / first category
20
+ // / first author etc.).
21
+ // - `frontend_url: null` + `frontend_url_template: <pattern>` when
22
+ // the URL needs a runtime parameter (search, 404-test) or when no
23
+ // public content of the matching type exists yet.
24
+ // `frontend_url_description` is a short human hint ("Append any non-
25
+ // existent path to test." / "Latest published post — rendered with
26
+ // this template.") so the agent can render an instruction to the
27
+ // end-user. All three keys are kept on the row-record (not an extra
28
+ // schema object) so per-item sparse-field projection works.
29
+ items: z.array(z.record(z.string(), z.unknown())),
30
+ total: z.number(),
31
+ etag: z.string().optional(),
32
+ projected_fields: z.array(z.string()).optional(),
33
+ // F-004 fix (2026-05-25 exhaustive audit): projection-feedback —
34
+ // emitted ONLY when the caller passed `fields[]`. `available_fields`
35
+ // is the discovered top-level field vocabulary; `unknown_fields` is
36
+ // the subset of requested fields that did NOT appear in any item
37
+ // (previously: items came back as `[{}, {}, …]` silently).
38
+ available_fields: z.array(z.string()).optional(),
39
+ unknown_fields: z.array(z.string()).optional(),
40
+ });
41
+ export const SCHEMA_OUTPUT_SCHEMA = z.object({
42
+ // F-006 (2026-05-26): `rel_path` is the agent-preferred path form
43
+ // (matches `element_list` + `page_get_layout` emit). `path` (the
44
+ // fully-qualified `/templates/<id>/layout/...` pointer) stays on the
45
+ // row for back-compat but is optional so callers reading the schema
46
+ // know `rel_path` is the canonical projection column.
47
+ items: z.array(z.object({
48
+ rel_path: z.string(),
49
+ path: z.string().optional(),
50
+ element_type: z.string(),
51
+ label: z.string(),
52
+ has_binding: z.boolean(),
53
+ })),
54
+ total: z.number(),
55
+ template_id: z.string(),
56
+ });
57
+ export const ETAG_OUTPUT_SCHEMA = z.object({
58
+ etag: z.string(),
59
+ generated_at: z.string().optional(),
60
+ });
61
+ // F-AUDIT-2 (2026-05-26): template_summary outputSchema. The handler
62
+ // passes the REST `/pages/{id}/summary` body through verbatim via
63
+ // `jsonResult(data)`. Live shape verified against the WP+Joomla dev
64
+ // hosts: `template_id`, `counts_by_type` (open-ended map element-type
65
+ // → count), `bound_count`, `max_depth`, `total`, `named_sections` (each
66
+ // `{path, name}`), and the `etag` string. NOTE: `_meta` is merged at
67
+ // the RESULT-LEVEL by `withSiteMeta`, NEVER into `structuredContent`
68
+ // (see results.ts W12-R2 commentary) — this schema therefore validates
69
+ // only the inner template-summary shape.
70
+ export const TEMPLATE_SUMMARY_OUTPUT_SCHEMA = z.object({
71
+ template_id: z.string(),
72
+ counts_by_type: z.record(z.string(), z.number().int().nonnegative()),
73
+ bound_count: z.number().int().nonnegative(),
74
+ max_depth: z.number().int().nonnegative(),
75
+ total: z.number().int().nonnegative(),
76
+ named_sections: z.array(z.object({
77
+ path: z.string(),
78
+ name: z.string(),
79
+ })),
80
+ etag: z.string(),
81
+ });
82
+ // ─── C1 — pages_create + pages_delete (v1.2) ──────────────────────────
83
+ //
84
+ // MCP tool schemas wrapping the Phase B REST endpoints:
85
+ // POST /pages → yootheme_builder_pages_create
86
+ // DELETE /pages/{post_id} → yootheme_builder_pages_delete
87
+ //
88
+ // These schemas drive (a) input validation at the MCP boundary and (b)
89
+ // the structured-content outputSchema for client introspection.
90
+ /**
91
+ * Input shape for `yootheme_builder_pages_create`.
92
+ *
93
+ * Mirrors the args of `POST /pages` (Phase B).
94
+ *
95
+ * Design pins:
96
+ * - `post_type` is intentionally NOT exposed. Layer 9 defensive guard
97
+ * on the REST side rejects it server-side; surfacing it at the MCP
98
+ * boundary would invite a footgun where an agent tries to set it
99
+ * and fails confusingly.
100
+ * - `status` defaults to `draft` on the server (Q6 design — no public
101
+ * empty page).
102
+ * - `dry_run` triggers validation Layers 1+2+4 without persisting.
103
+ */
104
+ export const PAGES_CREATE_INPUT = {
105
+ title: z
106
+ .string()
107
+ .min(1)
108
+ .describe('Page title (required, byte-equal stored in post_title).'),
109
+ slug: z
110
+ .string()
111
+ .optional()
112
+ .describe('Optional explicit slug; defaults to sanitize_title($title).'),
113
+ status: z
114
+ .enum(['publish', 'draft', 'pending', 'private', 'future'])
115
+ .optional()
116
+ .describe('Initial post status. Default: draft (Q6 design — no public empty page).'),
117
+ layout: z
118
+ .record(z.string(), z.unknown())
119
+ .optional()
120
+ .describe('Optional initial YT layout. Default: {type:"layout",children:[]}.'),
121
+ dry_run: z
122
+ .boolean()
123
+ .optional()
124
+ .describe('When true, runs validation Layers 1+2+4 without persisting.'),
125
+ // post_type intentionally NOT exposed — Layer 9 defensive guard rejects
126
+ // it server-side. Exposing it would invite footgun attempts.
127
+ };
128
+ /**
129
+ * Wire shape for `yootheme_builder_pages_create` on success (non-dry-run).
130
+ *
131
+ * Mirrors the REST 201 response shape.
132
+ *
133
+ * Design pins:
134
+ * - `frontend_url` is nullable: REST returns null for fresh drafts
135
+ * before publish.
136
+ * - `template_id` is a plain string. The "page:{post_id}" prefix is
137
+ * enforced server-side; adding a `.startsWith()` here would buy no
138
+ * MCP-client value while adding Zod complexity.
139
+ * - `warnings` is a lean string array (e.g. "slug_collision_resolved"
140
+ * when WP auto-appends `-2`). The REST surface may expand this to
141
+ * richer objects in v1.3; strings keep the v1.2 surface minimal.
142
+ */
143
+ export const PAGES_CREATE_OUTPUT_SCHEMA = z
144
+ .object({
145
+ // E1 cross-platform divergence: WP returns `page_id`, Joomla returns
146
+ // `article_id`. Both are positive ints; at least one is always present.
147
+ page_id: z.number().int().positive().optional(),
148
+ article_id: z.number().int().positive().optional(),
149
+ title: z.string(),
150
+ slug: z.string(),
151
+ status: z.string(),
152
+ frontend_url: z.string().nullable(),
153
+ template_id: z
154
+ .string()
155
+ .describe('Synthetic per-page template id, e.g. "page:3275" (WP) or "article:42" (Joomla).'),
156
+ etag: z.string(),
157
+ warnings: z
158
+ .array(z.string())
159
+ .describe('e.g. "slug_collision_resolved" when slug collision was resolved.'),
160
+ })
161
+ .refine((v) => typeof v.page_id === 'number' || typeof v.article_id === 'number', { message: 'response must contain either page_id (WP) or article_id (Joomla)' });
162
+ /**
163
+ * Wire shape for `yootheme_builder_pages_create` when `dry_run:true`.
164
+ *
165
+ * Design pin: NO `etag` field. The B6 fix-cycle decision was that
166
+ * surfacing a "live" ETag with a dry-run response invites a stale-
167
+ * If-Match footgun (caller pins the ETag, then non-dry-run mutates,
168
+ * stale ETag rejected with 412). Dry-run is validation-only.
169
+ *
170
+ * `template_id_pattern` is a literal — the actual `template_id` cannot
171
+ * be materialised before WP allocates the post_id.
172
+ */
173
+ export const PAGES_CREATE_DRY_RUN_OUTPUT_SCHEMA = z.object({
174
+ dry_run: z.literal(true),
175
+ would_create: z.object({
176
+ title: z.string(),
177
+ slug: z.string(),
178
+ status: z.string(),
179
+ // E1 cross-platform divergence: WP returns 'page:{post_id}', Joomla returns 'article:{article_id}'.
180
+ template_id_pattern: z.enum(['page:{post_id}', 'article:{article_id}']),
181
+ }),
182
+ validation_report: z.object({
183
+ layer_1_structural: z.literal('passed'),
184
+ layer_2_element_types: z.literal('passed'),
185
+ layer_4_renderer: z.literal('passed'),
186
+ }),
187
+ // No `etag` field — by design (see B6 fix-cycle: stale-If-Match footgun).
188
+ });
189
+ /**
190
+ * Input shape for `yootheme_builder_pages_delete`.
191
+ *
192
+ * Mirrors the args of `DELETE /pages/{post_id}` (Phase B).
193
+ *
194
+ * Design pin: `confirm` is `z.literal(true)`. This is the Zod-side
195
+ * enforcement of the confirm gate — the MCP boundary rejects requests
196
+ * without `confirm:true` before they ever hit the REST layer.
197
+ *
198
+ * `force` defaults to false server-side → wp_delete_post(trash). When
199
+ * true → hard delete (irrecoverable).
200
+ */
201
+ export const PAGES_DELETE_INPUT = {
202
+ post_id: z
203
+ .number()
204
+ .int()
205
+ .positive()
206
+ .describe('WP page post_id to delete.'),
207
+ confirm: z
208
+ .literal(true)
209
+ .describe('Must be true. Confirm gate prevents accidental deletes.'),
210
+ force: z
211
+ .boolean()
212
+ .optional()
213
+ .describe('If true, hard-deletes (wp_delete_post force=true). Default: trash (recoverable).'),
214
+ };
215
+ /**
216
+ * Wire shape for `yootheme_builder_pages_delete` on success.
217
+ *
218
+ * `deleted` is `z.literal(true)` — the success-response invariant. A
219
+ * failed delete surfaces as `isError:true` with a structured-error
220
+ * envelope, not as `deleted:false`.
221
+ */
222
+ export const PAGES_DELETE_OUTPUT_SCHEMA = z
223
+ .object({
224
+ deleted: z.literal(true),
225
+ // E1 cross-platform divergence: WP returns page_id, Joomla returns article_id.
226
+ page_id: z.number().int().positive().optional(),
227
+ article_id: z.number().int().positive().optional(),
228
+ force_deleted: z.boolean(),
229
+ etag: z.string(),
230
+ })
231
+ .refine((v) => typeof v.page_id === 'number' || typeof v.article_id === 'number', { message: 'response must contain either page_id (WP) or article_id (Joomla)' });
232
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/tools/pages/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Backward-compat shim for `src/tools/pages.ts`.
3
+ *
4
+ * The original 358-LoC module was split into `src/tools/pages/`
5
+ * (5 files, each ≤ 200 LoC) per Architecture §11 cap (Round-2
6
+ * R2-A2-CRIT1 audit fix). This shim preserves the public import path
7
+ * (`from '../../src/tools/pages.js'`) so all existing test imports
8
+ * and `tools/index.ts` keep working unchanged.
9
+ *
10
+ * @license MIT
11
+ */
12
+ export * from './pages/index.js';
13
+ //# sourceMappingURL=pages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/tools/pages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Backward-compat shim for `src/tools/pages.ts`.
3
+ *
4
+ * The original 358-LoC module was split into `src/tools/pages/`
5
+ * (5 files, each ≤ 200 LoC) per Architecture §11 cap (Round-2
6
+ * R2-A2-CRIT1 audit fix). This shim preserves the public import path
7
+ * (`from '../../src/tools/pages.js'`) so all existing test imports
8
+ * and `tools/index.ts` keep working unchanged.
9
+ *
10
+ * @license MIT
11
+ */
12
+ export * from './pages/index.js';
13
+ //# sourceMappingURL=pages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/tools/pages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * W6.3 — shared helper for the per-handler `pool.resolve(site_id)`
3
+ * pattern.
4
+ *
5
+ * Every tool handler does the same dance:
6
+ * 1. Extract `site_id` from args (optional, undefined → default site).
7
+ * 2. Call `pool.resolve(site_id)`.
8
+ * 3. Translate `NoDefaultSiteError` / `UnknownSiteError` into a
9
+ * structured `errorResult` so the agent can self-recover.
10
+ * 4. Hand back `{client, site}` for downstream use.
11
+ *
12
+ * Centralising the dance keeps the 24 handler bodies short and ensures
13
+ * the error wording stays consistent across the tool surface.
14
+ *
15
+ * @license MIT
16
+ */
17
+ import { type ClientPool, type PoolResolution } from '../sites/client-pool.js';
18
+ import type { ResolvedSite } from '../sites/registry.js';
19
+ import type { RestClient } from '../client.js';
20
+ import { type ToolResult } from './tool-builder.js';
21
+ /**
22
+ * Discriminated union returned by {@link resolveSiteOrError}: callers
23
+ * check the `ok` boolean before destructuring. When `ok === false`,
24
+ * the `error` field is a fully-formed `ToolResult` ready to be
25
+ * returned from the handler verbatim (no further wrapping needed).
26
+ *
27
+ * The dual-channel shape lets handlers keep their flat top-level
28
+ * control flow:
29
+ *
30
+ * const r = await resolveSiteOrError(pool, args.site_id);
31
+ * if (!r.ok) return r.error;
32
+ * const { client, site } = r;
33
+ * // ... existing logic ...
34
+ * return withSiteMeta(result, site);
35
+ */
36
+ export type SiteResolution = {
37
+ readonly ok: true;
38
+ readonly client: PoolResolution['client'];
39
+ readonly site: PoolResolution['site'];
40
+ } | {
41
+ readonly ok: false;
42
+ readonly error: ToolResult;
43
+ };
44
+ /**
45
+ * Resolve a site_id through the pool, translating the W4 typed errors
46
+ * into structured `ToolResult` envelopes. Non-typed errors (genuine
47
+ * fetch failures during the platform probe, secret-resolver crashes,
48
+ * etc.) re-throw so the handler's outer try/catch can shape them with
49
+ * domain-specific hints.
50
+ */
51
+ export declare function resolveSiteOrError(pool: ClientPool, siteId: string | undefined): Promise<SiteResolution>;
52
+ /**
53
+ * W12-R2A (A4-F3 / A5-S2) — resolve a site + execute a handler-body with
54
+ * a 1-shot 401 retry.
55
+ *
56
+ * Bearer-rotation use case: a site's bearer is revoked / rotated /
57
+ * expired AFTER the pool cached a {@link RestClient} for it. The next
58
+ * call returns HTTP 401. Without retry the agent has to be told
59
+ * "restart your client". With retry we drop the cached client (so the
60
+ * next `pool.resolve` re-runs `secretResolver.resolve`), then call the
61
+ * handler-body again exactly once. If the second attempt also returns
62
+ * 401, we surface a structured `bearer_invalid` error with an
63
+ * actionable hint pointing at `sites_test` / sites.json.
64
+ *
65
+ * Scope: deliberately ONE retry. A second 401 means the bearer is
66
+ * genuinely revoked at the source — looping forever wastes tokens and
67
+ * masks the real problem.
68
+ *
69
+ * The wrapper handles {@link NoDefaultSiteError} / {@link
70
+ * UnknownSiteError} via the same `resolveSiteOrError` envelope so
71
+ * call-sites don't have to duplicate the structured-error wording.
72
+ * Non-401 thrown errors propagate to the handler's outer try/catch
73
+ * (or the SDK boundary) untouched — only HTTP 401 triggers the retry
74
+ * / structured-error path.
75
+ *
76
+ * Usage (post-migration):
77
+ *
78
+ * handler: async ({ site_id, ...rest }) =>
79
+ * withSiteRetry(pool, site_id, async (client, site) =>
80
+ * withSiteMeta(await handleX(makeDeps(client), rest), site)),
81
+ */
82
+ export declare function withSiteRetry(pool: ClientPool, siteId: string | undefined, fn: (client: RestClient, site: ResolvedSite) => Promise<ToolResult>): Promise<ToolResult>;
83
+ //# sourceMappingURL=pool-resolve-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-resolve-helper.d.ts","sourceRoot":"","sources":["../../src/tools/pool-resolve-helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EACH,KAAK,UAAU,EAEf,KAAK,cAAc,EAEtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEhE;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,cAAc,GACpB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;CAAE,GACvG;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC;AAEzD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACpC,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,cAAc,CAAC,CAqDzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,aAAa,CAC/B,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,UAAU,CAAC,GACpE,OAAO,CAAC,UAAU,CAAC,CA8CrB"}