@wootsup/yt-builder-mcp 1.11.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (853) hide show
  1. package/README.md +131 -33
  2. package/bin/node-floor.d.ts +28 -0
  3. package/bin/node-floor.js +123 -0
  4. package/bin/yt-builder-mcp.js +52 -11
  5. package/dist/auth.d.ts +3 -121
  6. package/dist/auth.d.ts.map +1 -1
  7. package/dist/auth.js +40 -170
  8. package/dist/auth.js.map +1 -1
  9. package/dist/catalog/build-catalog.d.ts +4 -49
  10. package/dist/catalog/build-catalog.d.ts.map +1 -1
  11. package/dist/catalog/build-catalog.js +15 -126
  12. package/dist/catalog/build-catalog.js.map +1 -1
  13. package/dist/catalog/json-schema.d.ts +3 -0
  14. package/dist/catalog/json-schema.d.ts.map +1 -0
  15. package/dist/catalog/json-schema.js +68 -0
  16. package/dist/catalog/json-schema.js.map +1 -0
  17. package/dist/catalog/output-shapes.d.ts +6 -0
  18. package/dist/catalog/output-shapes.d.ts.map +1 -0
  19. package/dist/catalog/output-shapes.js +89 -0
  20. package/dist/catalog/output-shapes.js.map +1 -0
  21. package/dist/catalog/tool-catalog-markdown.d.ts +1 -37
  22. package/dist/catalog/tool-catalog-markdown.d.ts.map +1 -1
  23. package/dist/catalog/tool-catalog-markdown.js +9 -41
  24. package/dist/catalog/tool-catalog-markdown.js.map +1 -1
  25. package/dist/cli/doctor-command.d.ts +2 -7
  26. package/dist/cli/doctor-command.d.ts.map +1 -1
  27. package/dist/cli/doctor-command.js +33 -54
  28. package/dist/cli/doctor-command.js.map +1 -1
  29. package/dist/cli/invocation-decision.d.ts +4 -52
  30. package/dist/cli/invocation-decision.d.ts.map +1 -1
  31. package/dist/cli/invocation-decision.js +45 -54
  32. package/dist/cli/invocation-decision.js.map +1 -1
  33. package/dist/client.d.ts +3 -107
  34. package/dist/client.d.ts.map +1 -1
  35. package/dist/client.js +34 -115
  36. package/dist/client.js.map +1 -1
  37. package/dist/clients/claude-code.d.ts +0 -15
  38. package/dist/clients/claude-code.d.ts.map +1 -1
  39. package/dist/clients/claude-code.js +0 -22
  40. package/dist/clients/claude-code.js.map +1 -1
  41. package/dist/clients/claude-desktop.d.ts +0 -16
  42. package/dist/clients/claude-desktop.d.ts.map +1 -1
  43. package/dist/clients/claude-desktop.js +0 -18
  44. package/dist/clients/claude-desktop.js.map +1 -1
  45. package/dist/clients/cline.d.ts +0 -23
  46. package/dist/clients/cline.d.ts.map +1 -1
  47. package/dist/clients/cline.js +0 -33
  48. package/dist/clients/cline.js.map +1 -1
  49. package/dist/clients/codex-cli.d.ts +0 -39
  50. package/dist/clients/codex-cli.d.ts.map +1 -1
  51. package/dist/clients/codex-cli.js +0 -137
  52. package/dist/clients/codex-cli.js.map +1 -1
  53. package/dist/clients/continue.d.ts +0 -10
  54. package/dist/clients/continue.d.ts.map +1 -1
  55. package/dist/clients/continue.js +0 -26
  56. package/dist/clients/continue.js.map +1 -1
  57. package/dist/clients/cursor.d.ts +0 -9
  58. package/dist/clients/cursor.d.ts.map +1 -1
  59. package/dist/clients/cursor.js +0 -11
  60. package/dist/clients/cursor.js.map +1 -1
  61. package/dist/clients/gemini-cli.d.ts +0 -15
  62. package/dist/clients/gemini-cli.d.ts.map +1 -1
  63. package/dist/clients/gemini-cli.js +0 -17
  64. package/dist/clients/gemini-cli.js.map +1 -1
  65. package/dist/clients/home.d.ts +0 -12
  66. package/dist/clients/home.d.ts.map +1 -1
  67. package/dist/clients/home.js +0 -12
  68. package/dist/clients/home.js.map +1 -1
  69. package/dist/clients/index.d.ts +0 -150
  70. package/dist/clients/index.d.ts.map +1 -1
  71. package/dist/clients/index.js +0 -112
  72. package/dist/clients/index.js.map +1 -1
  73. package/dist/clients/roo-code.d.ts +0 -20
  74. package/dist/clients/roo-code.d.ts.map +1 -1
  75. package/dist/clients/roo-code.js +0 -22
  76. package/dist/clients/roo-code.js.map +1 -1
  77. package/dist/clients/zed.d.ts +0 -9
  78. package/dist/clients/zed.d.ts.map +1 -1
  79. package/dist/clients/zed.js +0 -18
  80. package/dist/clients/zed.js.map +1 -1
  81. package/dist/compat-floor.d.ts +35 -0
  82. package/dist/compat-floor.d.ts.map +1 -0
  83. package/dist/compat-floor.js +84 -0
  84. package/dist/compat-floor.js.map +1 -0
  85. package/dist/compat-probe.d.ts +6 -0
  86. package/dist/compat-probe.d.ts.map +1 -0
  87. package/dist/compat-probe.js +20 -0
  88. package/dist/compat-probe.js.map +1 -0
  89. package/dist/diagnostics/ca-reexec.d.ts +0 -30
  90. package/dist/diagnostics/ca-reexec.d.ts.map +1 -1
  91. package/dist/diagnostics/ca-reexec.js +0 -62
  92. package/dist/diagnostics/ca-reexec.js.map +1 -1
  93. package/dist/diagnostics/ca-trust.d.ts +0 -22
  94. package/dist/diagnostics/ca-trust.d.ts.map +1 -1
  95. package/dist/diagnostics/ca-trust.js +3 -42
  96. package/dist/diagnostics/ca-trust.js.map +1 -1
  97. package/dist/diagnostics/diagnose-network-error.d.ts +1 -38
  98. package/dist/diagnostics/diagnose-network-error.d.ts.map +1 -1
  99. package/dist/diagnostics/diagnose-network-error.js +26 -37
  100. package/dist/diagnostics/diagnose-network-error.js.map +1 -1
  101. package/dist/diagnostics/doctor.d.ts +13 -65
  102. package/dist/diagnostics/doctor.d.ts.map +1 -1
  103. package/dist/diagnostics/doctor.js +46 -70
  104. package/dist/diagnostics/doctor.js.map +1 -1
  105. package/dist/diagnostics/startup-self-probe.d.ts +3 -25
  106. package/dist/diagnostics/startup-self-probe.d.ts.map +1 -1
  107. package/dist/diagnostics/startup-self-probe.js +11 -48
  108. package/dist/diagnostics/startup-self-probe.js.map +1 -1
  109. package/dist/errors/hints.d.ts +0 -44
  110. package/dist/errors/hints.d.ts.map +1 -1
  111. package/dist/errors/hints.js +0 -32
  112. package/dist/errors/hints.js.map +1 -1
  113. package/dist/errors/mask.d.ts +0 -31
  114. package/dist/errors/mask.d.ts.map +1 -1
  115. package/dist/errors/mask.js +0 -32
  116. package/dist/errors/mask.js.map +1 -1
  117. package/dist/errors/redact-credentials.d.ts +2 -0
  118. package/dist/errors/redact-credentials.d.ts.map +1 -0
  119. package/dist/errors/redact-credentials.js +13 -0
  120. package/dist/errors/redact-credentials.js.map +1 -0
  121. package/dist/errors/sanitize.d.ts +0 -29
  122. package/dist/errors/sanitize.d.ts.map +1 -1
  123. package/dist/errors/sanitize.js +0 -40
  124. package/dist/errors/sanitize.js.map +1 -1
  125. package/dist/errors.d.ts +6 -17
  126. package/dist/errors.d.ts.map +1 -1
  127. package/dist/errors.js +16 -21
  128. package/dist/errors.js.map +1 -1
  129. package/dist/gateway/advanced-read-tool.d.ts +0 -32
  130. package/dist/gateway/advanced-read-tool.d.ts.map +1 -1
  131. package/dist/gateway/advanced-read-tool.js +43 -111
  132. package/dist/gateway/advanced-read-tool.js.map +1 -1
  133. package/dist/gateway/advanced-tool/discovery.d.ts +1 -12
  134. package/dist/gateway/advanced-tool/discovery.d.ts.map +1 -1
  135. package/dist/gateway/advanced-tool/discovery.js +18 -16
  136. package/dist/gateway/advanced-tool/discovery.js.map +1 -1
  137. package/dist/gateway/advanced-tool/domains.d.ts +7 -66
  138. package/dist/gateway/advanced-tool/domains.d.ts.map +1 -1
  139. package/dist/gateway/advanced-tool/domains.js +36 -80
  140. package/dist/gateway/advanced-tool/domains.js.map +1 -1
  141. package/dist/gateway/advanced-tool/execute.d.ts +0 -25
  142. package/dist/gateway/advanced-tool/execute.d.ts.map +1 -1
  143. package/dist/gateway/advanced-tool/execute.js +13 -49
  144. package/dist/gateway/advanced-tool/execute.js.map +1 -1
  145. package/dist/gateway/advanced-tool/index.d.ts +1 -32
  146. package/dist/gateway/advanced-tool/index.d.ts.map +1 -1
  147. package/dist/gateway/advanced-tool/index.js +1 -35
  148. package/dist/gateway/advanced-tool/index.js.map +1 -1
  149. package/dist/gateway/advanced-tool/register.d.ts +0 -14
  150. package/dist/gateway/advanced-tool/register.d.ts.map +1 -1
  151. package/dist/gateway/advanced-tool/register.js +22 -58
  152. package/dist/gateway/advanced-tool/register.js.map +1 -1
  153. package/dist/gateway/advanced-tool.d.ts +0 -11
  154. package/dist/gateway/advanced-tool.d.ts.map +1 -1
  155. package/dist/gateway/advanced-tool.js +0 -11
  156. package/dist/gateway/advanced-tool.js.map +1 -1
  157. package/dist/gateway/capturing-server.d.ts +3 -88
  158. package/dist/gateway/capturing-server.d.ts.map +1 -1
  159. package/dist/gateway/capturing-server.js +0 -77
  160. package/dist/gateway/capturing-server.js.map +1 -1
  161. package/dist/gateway/essentials.d.ts +1 -63
  162. package/dist/gateway/essentials.d.ts.map +1 -1
  163. package/dist/gateway/essentials.js +10 -174
  164. package/dist/gateway/essentials.js.map +1 -1
  165. package/dist/gateway/test-support.d.ts +0 -28
  166. package/dist/gateway/test-support.d.ts.map +1 -1
  167. package/dist/gateway/test-support.js +0 -29
  168. package/dist/gateway/test-support.js.map +1 -1
  169. package/dist/health-response.d.ts +2 -0
  170. package/dist/health-response.d.ts.map +1 -0
  171. package/dist/health-response.js +7 -0
  172. package/dist/health-response.js.map +1 -0
  173. package/dist/icon-data.js +0 -3
  174. package/dist/icon-data.js.map +1 -1
  175. package/dist/index.d.ts +7 -23
  176. package/dist/index.d.ts.map +1 -1
  177. package/dist/index.js +46 -130
  178. package/dist/index.js.map +1 -1
  179. package/dist/install-skill.d.ts +0 -44
  180. package/dist/install-skill.d.ts.map +1 -1
  181. package/dist/install-skill.js +5 -46
  182. package/dist/install-skill.js.map +1 -1
  183. package/dist/net/extra-headers.d.ts +0 -58
  184. package/dist/net/extra-headers.d.ts.map +1 -1
  185. package/dist/net/extra-headers.js +0 -67
  186. package/dist/net/extra-headers.js.map +1 -1
  187. package/dist/net/internal-host.d.ts +0 -31
  188. package/dist/net/internal-host.d.ts.map +1 -1
  189. package/dist/net/internal-host.js +7 -65
  190. package/dist/net/internal-host.js.map +1 -1
  191. package/dist/net/proxy-dispatcher.d.ts +0 -37
  192. package/dist/net/proxy-dispatcher.d.ts.map +1 -1
  193. package/dist/net/proxy-dispatcher.js +0 -40
  194. package/dist/net/proxy-dispatcher.js.map +1 -1
  195. package/dist/net/public-fetch.d.ts +53 -0
  196. package/dist/net/public-fetch.d.ts.map +1 -0
  197. package/dist/net/public-fetch.js +143 -0
  198. package/dist/net/public-fetch.js.map +1 -0
  199. package/dist/net/public-page-report.d.ts +26 -0
  200. package/dist/net/public-page-report.d.ts.map +1 -0
  201. package/dist/net/public-page-report.js +145 -0
  202. package/dist/net/public-page-report.js.map +1 -0
  203. package/dist/net/redirect-safe-fetch.d.ts +14 -0
  204. package/dist/net/redirect-safe-fetch.d.ts.map +1 -0
  205. package/dist/net/redirect-safe-fetch.js +61 -0
  206. package/dist/net/redirect-safe-fetch.js.map +1 -0
  207. package/dist/net/session-recovery-fetch.d.ts +7 -0
  208. package/dist/net/session-recovery-fetch.d.ts.map +1 -0
  209. package/dist/net/session-recovery-fetch.js +139 -0
  210. package/dist/net/session-recovery-fetch.js.map +1 -0
  211. package/dist/net/site-basic-auth.d.ts +1 -59
  212. package/dist/net/site-basic-auth.d.ts.map +1 -1
  213. package/dist/net/site-basic-auth.js +5 -94
  214. package/dist/net/site-basic-auth.js.map +1 -1
  215. package/dist/package-version.d.ts +2 -0
  216. package/dist/package-version.d.ts.map +1 -0
  217. package/dist/package-version.js +15 -0
  218. package/dist/package-version.js.map +1 -0
  219. package/dist/platform/detect.d.ts +0 -54
  220. package/dist/platform/detect.d.ts.map +1 -1
  221. package/dist/platform/detect.js +0 -53
  222. package/dist/platform/detect.js.map +1 -1
  223. package/dist/platform/index.d.ts +0 -100
  224. package/dist/platform/index.d.ts.map +1 -1
  225. package/dist/platform/index.js +0 -106
  226. package/dist/platform/index.js.map +1 -1
  227. package/dist/platform/joomla.d.ts +0 -35
  228. package/dist/platform/joomla.d.ts.map +1 -1
  229. package/dist/platform/joomla.js +0 -35
  230. package/dist/platform/joomla.js.map +1 -1
  231. package/dist/proxy/bridge.d.ts +36 -76
  232. package/dist/proxy/bridge.d.ts.map +1 -1
  233. package/dist/proxy/bridge.js +443 -136
  234. package/dist/proxy/bridge.js.map +1 -1
  235. package/dist/proxy/confirm-elicitation.d.ts +22 -0
  236. package/dist/proxy/confirm-elicitation.d.ts.map +1 -0
  237. package/dist/proxy/confirm-elicitation.js +170 -0
  238. package/dist/proxy/confirm-elicitation.js.map +1 -0
  239. package/dist/proxy/confirm-question-contract.d.ts +6 -0
  240. package/dist/proxy/confirm-question-contract.d.ts.map +1 -0
  241. package/dist/proxy/confirm-question-contract.js +9 -0
  242. package/dist/proxy/confirm-question-contract.js.map +1 -0
  243. package/dist/proxy/confirm-question.d.ts +2 -0
  244. package/dist/proxy/confirm-question.d.ts.map +1 -0
  245. package/dist/proxy/confirm-question.js +125 -0
  246. package/dist/proxy/confirm-question.js.map +1 -0
  247. package/dist/proxy/instructions.d.ts +4 -0
  248. package/dist/proxy/instructions.d.ts.map +1 -0
  249. package/dist/proxy/instructions.js +12 -0
  250. package/dist/proxy/instructions.js.map +1 -0
  251. package/dist/proxy/mode.d.ts +14 -9
  252. package/dist/proxy/mode.d.ts.map +1 -1
  253. package/dist/proxy/mode.js +58 -34
  254. package/dist/proxy/mode.js.map +1 -1
  255. package/dist/proxy/multi-site.d.ts +42 -0
  256. package/dist/proxy/multi-site.d.ts.map +1 -0
  257. package/dist/proxy/multi-site.js +134 -0
  258. package/dist/proxy/multi-site.js.map +1 -0
  259. package/dist/proxy/request-headers.d.ts +9 -0
  260. package/dist/proxy/request-headers.d.ts.map +1 -0
  261. package/dist/proxy/request-headers.js +17 -0
  262. package/dist/proxy/request-headers.js.map +1 -0
  263. package/dist/proxy/shadow-tools.d.ts +9 -0
  264. package/dist/proxy/shadow-tools.d.ts.map +1 -0
  265. package/dist/proxy/shadow-tools.js +42 -0
  266. package/dist/proxy/shadow-tools.js.map +1 -0
  267. package/dist/proxy/tools-list-cap.d.ts +7 -0
  268. package/dist/proxy/tools-list-cap.d.ts.map +1 -0
  269. package/dist/proxy/tools-list-cap.js +14 -0
  270. package/dist/proxy/tools-list-cap.js.map +1 -0
  271. package/dist/proxy/transport-uncertainty.d.ts +2 -0
  272. package/dist/proxy/transport-uncertainty.d.ts.map +1 -0
  273. package/dist/proxy/transport-uncertainty.js +8 -0
  274. package/dist/proxy/transport-uncertainty.js.map +1 -0
  275. package/dist/proxy/upstream-error.d.ts +7 -0
  276. package/dist/proxy/upstream-error.d.ts.map +1 -0
  277. package/dist/proxy/upstream-error.js +35 -0
  278. package/dist/proxy/upstream-error.js.map +1 -0
  279. package/dist/proxy/wire-dialect.d.ts +5 -0
  280. package/dist/proxy/wire-dialect.d.ts.map +1 -0
  281. package/dist/proxy/wire-dialect.js +33 -0
  282. package/dist/proxy/wire-dialect.js.map +1 -0
  283. package/dist/server.d.ts +14 -82
  284. package/dist/server.d.ts.map +1 -1
  285. package/dist/server.js +107 -203
  286. package/dist/server.js.map +1 -1
  287. package/dist/setup/banner-color.d.ts +13 -0
  288. package/dist/setup/banner-color.d.ts.map +1 -0
  289. package/dist/setup/banner-color.js +93 -0
  290. package/dist/setup/banner-color.js.map +1 -0
  291. package/dist/setup/banner.d.ts +22 -0
  292. package/dist/setup/banner.d.ts.map +1 -0
  293. package/dist/setup/banner.js +119 -0
  294. package/dist/setup/banner.js.map +1 -0
  295. package/dist/setup/ca-recovery.d.ts +20 -0
  296. package/dist/setup/ca-recovery.d.ts.map +1 -0
  297. package/dist/setup/ca-recovery.js +92 -0
  298. package/dist/setup/ca-recovery.js.map +1 -0
  299. package/dist/setup/closing.d.ts +15 -0
  300. package/dist/setup/closing.d.ts.map +1 -0
  301. package/dist/setup/closing.js +43 -0
  302. package/dist/setup/closing.js.map +1 -0
  303. package/dist/setup/corporate-ca.d.ts +16 -0
  304. package/dist/setup/corporate-ca.d.ts.map +1 -0
  305. package/dist/setup/corporate-ca.js +32 -0
  306. package/dist/setup/corporate-ca.js.map +1 -0
  307. package/dist/setup/host-platform.d.ts +8 -0
  308. package/dist/setup/host-platform.d.ts.map +1 -0
  309. package/dist/setup/host-platform.js +21 -0
  310. package/dist/setup/host-platform.js.map +1 -0
  311. package/dist/setup/install-configs.d.ts +18 -0
  312. package/dist/setup/install-configs.d.ts.map +1 -0
  313. package/dist/setup/install-configs.js +70 -0
  314. package/dist/setup/install-configs.js.map +1 -0
  315. package/dist/setup/multi-site-loop.d.ts +14 -0
  316. package/dist/setup/multi-site-loop.d.ts.map +1 -0
  317. package/dist/setup/multi-site-loop.js +20 -0
  318. package/dist/setup/multi-site-loop.js.map +1 -0
  319. package/dist/setup/phases.d.ts +18 -0
  320. package/dist/setup/phases.d.ts.map +1 -0
  321. package/dist/setup/phases.js +55 -0
  322. package/dist/setup/phases.js.map +1 -0
  323. package/dist/setup/registry-remedy.d.ts +12 -0
  324. package/dist/setup/registry-remedy.d.ts.map +1 -0
  325. package/dist/setup/registry-remedy.js +37 -0
  326. package/dist/setup/registry-remedy.js.map +1 -0
  327. package/dist/setup/resume.d.ts +28 -0
  328. package/dist/setup/resume.d.ts.map +1 -0
  329. package/dist/setup/resume.js +99 -0
  330. package/dist/setup/resume.js.map +1 -0
  331. package/dist/setup-ca-env.d.ts +0 -30
  332. package/dist/setup-ca-env.d.ts.map +1 -1
  333. package/dist/setup-ca-env.js +0 -28
  334. package/dist/setup-ca-env.js.map +1 -1
  335. package/dist/setup-ca-reprobe.d.ts +0 -25
  336. package/dist/setup-ca-reprobe.d.ts.map +1 -1
  337. package/dist/setup-ca-reprobe.js +0 -34
  338. package/dist/setup-ca-reprobe.js.map +1 -1
  339. package/dist/setup-cli-confirm.d.ts +0 -34
  340. package/dist/setup-cli-confirm.d.ts.map +1 -1
  341. package/dist/setup-cli-confirm.js +0 -36
  342. package/dist/setup-cli-confirm.js.map +1 -1
  343. package/dist/setup-cli.d.ts +6 -167
  344. package/dist/setup-cli.d.ts.map +1 -1
  345. package/dist/setup-cli.js +161 -173
  346. package/dist/setup-cli.js.map +1 -1
  347. package/dist/setup-npx-spec.d.ts +0 -36
  348. package/dist/setup-npx-spec.d.ts.map +1 -1
  349. package/dist/setup-npx-spec.js +0 -38
  350. package/dist/setup-npx-spec.js.map +1 -1
  351. package/dist/setup-prompts.d.ts +5 -70
  352. package/dist/setup-prompts.d.ts.map +1 -1
  353. package/dist/setup-prompts.js +67 -107
  354. package/dist/setup-prompts.js.map +1 -1
  355. package/dist/setup-token.d.ts +0 -34
  356. package/dist/setup-token.d.ts.map +1 -1
  357. package/dist/setup-token.js +0 -40
  358. package/dist/setup-token.js.map +1 -1
  359. package/dist/setup-wizard-defaults.d.ts +0 -36
  360. package/dist/setup-wizard-defaults.d.ts.map +1 -1
  361. package/dist/setup-wizard-defaults.js +0 -75
  362. package/dist/setup-wizard-defaults.js.map +1 -1
  363. package/dist/setup-wizard-handshake.d.ts +1 -19
  364. package/dist/setup-wizard-handshake.d.ts.map +1 -1
  365. package/dist/setup-wizard-handshake.js +8 -45
  366. package/dist/setup-wizard-handshake.js.map +1 -1
  367. package/dist/setup-wizard-types.d.ts +16 -209
  368. package/dist/setup-wizard-types.d.ts.map +1 -1
  369. package/dist/setup-wizard-types.js +0 -9
  370. package/dist/setup-wizard-types.js.map +1 -1
  371. package/dist/setup-wizard.d.ts +0 -28
  372. package/dist/setup-wizard.d.ts.map +1 -1
  373. package/dist/setup-wizard.js +167 -412
  374. package/dist/setup-wizard.js.map +1 -1
  375. package/dist/setup.d.ts +0 -15
  376. package/dist/setup.d.ts.map +1 -1
  377. package/dist/setup.js +0 -15
  378. package/dist/setup.js.map +1 -1
  379. package/dist/sites/bootstrap.d.ts +0 -38
  380. package/dist/sites/bootstrap.d.ts.map +1 -1
  381. package/dist/sites/bootstrap.js +0 -44
  382. package/dist/sites/bootstrap.js.map +1 -1
  383. package/dist/sites/cli/add-site.d.ts +0 -76
  384. package/dist/sites/cli/add-site.d.ts.map +1 -1
  385. package/dist/sites/cli/add-site.js +0 -71
  386. package/dist/sites/cli/add-site.js.map +1 -1
  387. package/dist/sites/cli/list-sites.d.ts +0 -31
  388. package/dist/sites/cli/list-sites.d.ts.map +1 -1
  389. package/dist/sites/cli/list-sites.js +0 -45
  390. package/dist/sites/cli/list-sites.js.map +1 -1
  391. package/dist/sites/cli/remove-site.d.ts +0 -37
  392. package/dist/sites/cli/remove-site.d.ts.map +1 -1
  393. package/dist/sites/cli/remove-site.js +0 -37
  394. package/dist/sites/cli/remove-site.js.map +1 -1
  395. package/dist/sites/cli/set-default.d.ts +0 -25
  396. package/dist/sites/cli/set-default.d.ts.map +1 -1
  397. package/dist/sites/cli/set-default.js +0 -22
  398. package/dist/sites/cli/set-default.js.map +1 -1
  399. package/dist/sites/cli/test-site.d.ts +0 -44
  400. package/dist/sites/cli/test-site.d.ts.map +1 -1
  401. package/dist/sites/cli/test-site.js +0 -39
  402. package/dist/sites/cli/test-site.js.map +1 -1
  403. package/dist/sites/client-pool.d.ts +11 -164
  404. package/dist/sites/client-pool.d.ts.map +1 -1
  405. package/dist/sites/client-pool.js +73 -194
  406. package/dist/sites/client-pool.js.map +1 -1
  407. package/dist/sites/config-problem.d.ts +2 -0
  408. package/dist/sites/config-problem.d.ts.map +1 -0
  409. package/dist/sites/config-problem.js +13 -0
  410. package/dist/sites/config-problem.js.map +1 -0
  411. package/dist/sites/env-bridge.d.ts +0 -69
  412. package/dist/sites/env-bridge.d.ts.map +1 -1
  413. package/dist/sites/env-bridge.js +2 -71
  414. package/dist/sites/env-bridge.js.map +1 -1
  415. package/dist/sites/op-inject.d.ts +23 -0
  416. package/dist/sites/op-inject.d.ts.map +1 -0
  417. package/dist/sites/op-inject.js +131 -0
  418. package/dist/sites/op-inject.js.map +1 -0
  419. package/dist/sites/paths.d.ts +0 -19
  420. package/dist/sites/paths.d.ts.map +1 -1
  421. package/dist/sites/paths.js +0 -19
  422. package/dist/sites/paths.js.map +1 -1
  423. package/dist/sites/probe.d.ts +1 -47
  424. package/dist/sites/probe.d.ts.map +1 -1
  425. package/dist/sites/probe.js +4 -46
  426. package/dist/sites/probe.js.map +1 -1
  427. package/dist/sites/registry.d.ts +4 -135
  428. package/dist/sites/registry.d.ts.map +1 -1
  429. package/dist/sites/registry.js +4 -98
  430. package/dist/sites/registry.js.map +1 -1
  431. package/dist/sites/schema.d.ts +3 -51
  432. package/dist/sites/schema.d.ts.map +1 -1
  433. package/dist/sites/schema.js +6 -52
  434. package/dist/sites/schema.js.map +1 -1
  435. package/dist/sites/secret-resolver.d.ts +6 -76
  436. package/dist/sites/secret-resolver.d.ts.map +1 -1
  437. package/dist/sites/secret-resolver.js +39 -104
  438. package/dist/sites/secret-resolver.js.map +1 -1
  439. package/dist/sites/store.d.ts +12 -69
  440. package/dist/sites/store.d.ts.map +1 -1
  441. package/dist/sites/store.js +37 -86
  442. package/dist/sites/store.js.map +1 -1
  443. package/dist/sites/substituted-registry.d.ts +11 -0
  444. package/dist/sites/substituted-registry.d.ts.map +1 -0
  445. package/dist/sites/substituted-registry.js +13 -0
  446. package/dist/sites/substituted-registry.js.map +1 -0
  447. package/dist/sites/tools/fetch-public-url.d.ts +4 -0
  448. package/dist/sites/tools/fetch-public-url.d.ts.map +1 -0
  449. package/dist/sites/tools/fetch-public-url.js +231 -0
  450. package/dist/sites/tools/fetch-public-url.js.map +1 -0
  451. package/dist/sites/tools/index.d.ts +2 -26
  452. package/dist/sites/tools/index.d.ts.map +1 -1
  453. package/dist/sites/tools/index.js +5 -28
  454. package/dist/sites/tools/index.js.map +1 -1
  455. package/dist/sites/tools/sites-list.d.ts +3 -47
  456. package/dist/sites/tools/sites-list.d.ts.map +1 -1
  457. package/dist/sites/tools/sites-list.js +68 -80
  458. package/dist/sites/tools/sites-list.js.map +1 -1
  459. package/dist/sites/tools/sites-overview.d.ts +4 -0
  460. package/dist/sites/tools/sites-overview.d.ts.map +1 -0
  461. package/dist/sites/tools/sites-overview.js +209 -0
  462. package/dist/sites/tools/sites-overview.js.map +1 -0
  463. package/dist/sites/tools/sites-test.d.ts +2 -45
  464. package/dist/sites/tools/sites-test.d.ts.map +1 -1
  465. package/dist/sites/tools/sites-test.js +1 -56
  466. package/dist/sites/tools/sites-test.js.map +1 -1
  467. package/dist/sites/tools/use-site.d.ts +2 -45
  468. package/dist/sites/tools/use-site.d.ts.map +1 -1
  469. package/dist/sites/tools/use-site.js +31 -80
  470. package/dist/sites/tools/use-site.js.map +1 -1
  471. package/dist/sites/unknown-name-result.d.ts +10 -0
  472. package/dist/sites/unknown-name-result.d.ts.map +1 -0
  473. package/dist/sites/unknown-name-result.js +13 -0
  474. package/dist/sites/unknown-name-result.js.map +1 -0
  475. package/dist/skill-instructions.d.ts +7 -0
  476. package/dist/skill-instructions.d.ts.map +1 -0
  477. package/dist/skill-instructions.js +84 -0
  478. package/dist/skill-instructions.js.map +1 -0
  479. package/dist/skill-loader.d.ts +0 -102
  480. package/dist/skill-loader.d.ts.map +1 -1
  481. package/dist/skill-loader.js +4 -142
  482. package/dist/skill-loader.js.map +1 -1
  483. package/dist/skill-manifest.d.ts +0 -20
  484. package/dist/skill-manifest.d.ts.map +1 -1
  485. package/dist/skill-manifest.js +1 -21
  486. package/dist/skill-manifest.js.map +1 -1
  487. package/dist/skill-topics.d.ts +19 -0
  488. package/dist/skill-topics.d.ts.map +1 -0
  489. package/dist/skill-topics.js +181 -0
  490. package/dist/skill-topics.js.map +1 -0
  491. package/dist/tools/active-site.d.ts +16 -0
  492. package/dist/tools/active-site.d.ts.map +1 -0
  493. package/dist/tools/active-site.js +55 -0
  494. package/dist/tools/active-site.js.map +1 -0
  495. package/dist/tools/bind-guidance.d.ts +2 -72
  496. package/dist/tools/bind-guidance.d.ts.map +1 -1
  497. package/dist/tools/bind-guidance.js +2 -72
  498. package/dist/tools/bind-guidance.js.map +1 -1
  499. package/dist/tools/budgeted-table.d.ts +16 -0
  500. package/dist/tools/budgeted-table.d.ts.map +1 -0
  501. package/dist/tools/budgeted-table.js +203 -0
  502. package/dist/tools/budgeted-table.js.map +1 -0
  503. package/dist/tools/elements/bind-output-schema.d.ts +69 -0
  504. package/dist/tools/elements/bind-output-schema.d.ts.map +1 -0
  505. package/dist/tools/elements/bind-output-schema.js +64 -0
  506. package/dist/tools/elements/bind-output-schema.js.map +1 -0
  507. package/dist/tools/elements/builders.d.ts +1 -22
  508. package/dist/tools/elements/builders.d.ts.map +1 -1
  509. package/dist/tools/elements/builders.js +171 -133
  510. package/dist/tools/elements/builders.js.map +1 -1
  511. package/dist/tools/elements/index.d.ts +0 -26
  512. package/dist/tools/elements/index.d.ts.map +1 -1
  513. package/dist/tools/elements/index.js +0 -25
  514. package/dist/tools/elements/index.js.map +1 -1
  515. package/dist/tools/elements/read-output-schemas.d.ts +121 -0
  516. package/dist/tools/elements/read-output-schemas.d.ts.map +1 -0
  517. package/dist/tools/elements/read-output-schemas.js +225 -0
  518. package/dist/tools/elements/read-output-schemas.js.map +1 -0
  519. package/dist/tools/elements/write-output-schemas.d.ts +185 -0
  520. package/dist/tools/elements/write-output-schemas.d.ts.map +1 -0
  521. package/dist/tools/elements/write-output-schemas.js +98 -0
  522. package/dist/tools/elements/write-output-schemas.js.map +1 -0
  523. package/dist/tools/elements.d.ts +0 -11
  524. package/dist/tools/elements.d.ts.map +1 -1
  525. package/dist/tools/elements.js +0 -11
  526. package/dist/tools/elements.js.map +1 -1
  527. package/dist/tools/format/health-format.d.ts +42 -43
  528. package/dist/tools/format/health-format.d.ts.map +1 -1
  529. package/dist/tools/format/health-format.js +32 -55
  530. package/dist/tools/format/health-format.js.map +1 -1
  531. package/dist/tools/format/inspection-format.d.ts +4 -49
  532. package/dist/tools/format/inspection-format.d.ts.map +1 -1
  533. package/dist/tools/format/inspection-format.js +46 -114
  534. package/dist/tools/format/inspection-format.js.map +1 -1
  535. package/dist/tools/format/pages-format.d.ts +32 -69
  536. package/dist/tools/format/pages-format.d.ts.map +1 -1
  537. package/dist/tools/format/pages-format.js +115 -133
  538. package/dist/tools/format/pages-format.js.map +1 -1
  539. package/dist/tools/format/sources-format.d.ts +5 -39
  540. package/dist/tools/format/sources-format.d.ts.map +1 -1
  541. package/dist/tools/format/sources-format.js +57 -87
  542. package/dist/tools/format/sources-format.js.map +1 -1
  543. package/dist/tools/health-output-schemas.d.ts +82 -0
  544. package/dist/tools/health-output-schemas.d.ts.map +1 -0
  545. package/dist/tools/health-output-schemas.js +130 -0
  546. package/dist/tools/health-output-schemas.js.map +1 -0
  547. package/dist/tools/health.d.ts +2 -20
  548. package/dist/tools/health.d.ts.map +1 -1
  549. package/dist/tools/health.js +59 -184
  550. package/dist/tools/health.js.map +1 -1
  551. package/dist/tools/index.d.ts +1 -26
  552. package/dist/tools/index.d.ts.map +1 -1
  553. package/dist/tools/index.js +13 -33
  554. package/dist/tools/index.js.map +1 -1
  555. package/dist/tools/inspection.d.ts +21 -17
  556. package/dist/tools/inspection.d.ts.map +1 -1
  557. package/dist/tools/inspection.js +431 -268
  558. package/dist/tools/inspection.js.map +1 -1
  559. package/dist/tools/library.d.ts +118 -126
  560. package/dist/tools/library.d.ts.map +1 -1
  561. package/dist/tools/library.js +723 -456
  562. package/dist/tools/library.js.map +1 -1
  563. package/dist/tools/local-content/builders.d.ts +1 -17
  564. package/dist/tools/local-content/builders.d.ts.map +1 -1
  565. package/dist/tools/local-content/builders.js +105 -48
  566. package/dist/tools/local-content/builders.js.map +1 -1
  567. package/dist/tools/local-content/index.d.ts +0 -15
  568. package/dist/tools/local-content/index.d.ts.map +1 -1
  569. package/dist/tools/local-content/index.js +0 -14
  570. package/dist/tools/local-content/index.js.map +1 -1
  571. package/dist/tools/local-content/schemas.d.ts +31 -47
  572. package/dist/tools/local-content/schemas.d.ts.map +1 -1
  573. package/dist/tools/local-content/schemas.js +33 -62
  574. package/dist/tools/local-content/schemas.js.map +1 -1
  575. package/dist/tools/modules/builders.d.ts +4 -0
  576. package/dist/tools/modules/builders.d.ts.map +1 -0
  577. package/dist/tools/modules/builders.js +58 -0
  578. package/dist/tools/modules/builders.js.map +1 -0
  579. package/dist/tools/modules/index.d.ts +2 -0
  580. package/dist/tools/modules/index.d.ts.map +1 -0
  581. package/dist/tools/modules/index.js +2 -0
  582. package/dist/tools/modules/index.js.map +1 -0
  583. package/dist/tools/modules/module-id-schema.d.ts +4 -0
  584. package/dist/tools/modules/module-id-schema.d.ts.map +1 -0
  585. package/dist/tools/modules/module-id-schema.js +14 -0
  586. package/dist/tools/modules/module-id-schema.js.map +1 -0
  587. package/dist/tools/modules/module-type-fields.d.ts +10 -0
  588. package/dist/tools/modules/module-type-fields.d.ts.map +1 -0
  589. package/dist/tools/modules/module-type-fields.js +34 -0
  590. package/dist/tools/modules/module-type-fields.js.map +1 -0
  591. package/dist/tools/modules/modules-create.d.ts +59 -0
  592. package/dist/tools/modules/modules-create.d.ts.map +1 -0
  593. package/dist/tools/modules/modules-create.js +154 -0
  594. package/dist/tools/modules/modules-create.js.map +1 -0
  595. package/dist/tools/modules/modules-delete.d.ts +51 -0
  596. package/dist/tools/modules/modules-delete.d.ts.map +1 -0
  597. package/dist/tools/modules/modules-delete.js +180 -0
  598. package/dist/tools/modules/modules-delete.js.map +1 -0
  599. package/dist/tools/modules/modules-update.d.ts +43 -0
  600. package/dist/tools/modules/modules-update.d.ts.map +1 -0
  601. package/dist/tools/modules/modules-update.js +177 -0
  602. package/dist/tools/modules/modules-update.js.map +1 -0
  603. package/dist/tools/modules/placement-hints.d.ts +5 -0
  604. package/dist/tools/modules/placement-hints.d.ts.map +1 -0
  605. package/dist/tools/modules/placement-hints.js +90 -0
  606. package/dist/tools/modules/placement-hints.js.map +1 -0
  607. package/dist/tools/modules/placement-ways.d.ts +13 -0
  608. package/dist/tools/modules/placement-ways.d.ts.map +1 -0
  609. package/dist/tools/modules/placement-ways.js +61 -0
  610. package/dist/tools/modules/placement-ways.js.map +1 -0
  611. package/dist/tools/multi-items/builders.d.ts +1 -21
  612. package/dist/tools/multi-items/builders.d.ts.map +1 -1
  613. package/dist/tools/multi-items/builders.js +22 -67
  614. package/dist/tools/multi-items/builders.js.map +1 -1
  615. package/dist/tools/multi-items/index.d.ts +0 -15
  616. package/dist/tools/multi-items/index.d.ts.map +1 -1
  617. package/dist/tools/multi-items/index.js +0 -15
  618. package/dist/tools/multi-items/index.js.map +1 -1
  619. package/dist/tools/multi-items/item-container-map.d.ts +0 -35
  620. package/dist/tools/multi-items/item-container-map.d.ts.map +1 -1
  621. package/dist/tools/multi-items/item-container-map.js +0 -35
  622. package/dist/tools/multi-items/item-container-map.js.map +1 -1
  623. package/dist/tools/multi-items/output-schemas.d.ts +101 -0
  624. package/dist/tools/multi-items/output-schemas.d.ts.map +1 -0
  625. package/dist/tools/multi-items/output-schemas.js +74 -0
  626. package/dist/tools/multi-items/output-schemas.js.map +1 -0
  627. package/dist/tools/navigation/builders.d.ts +3 -0
  628. package/dist/tools/navigation/builders.d.ts.map +1 -0
  629. package/dist/tools/navigation/builders.js +25 -0
  630. package/dist/tools/navigation/builders.js.map +1 -0
  631. package/dist/tools/navigation/index.d.ts +2 -0
  632. package/dist/tools/navigation/index.d.ts.map +1 -0
  633. package/dist/tools/navigation/index.js +2 -0
  634. package/dist/tools/navigation/index.js.map +1 -0
  635. package/dist/tools/navigation/schemas.d.ts +16 -0
  636. package/dist/tools/navigation/schemas.d.ts.map +1 -0
  637. package/dist/tools/navigation/schemas.js +11 -0
  638. package/dist/tools/navigation/schemas.js.map +1 -0
  639. package/dist/tools/output-schema-metadata.d.ts +5 -0
  640. package/dist/tools/output-schema-metadata.d.ts.map +1 -0
  641. package/dist/tools/output-schema-metadata.js +83 -0
  642. package/dist/tools/output-schema-metadata.js.map +1 -0
  643. package/dist/tools/pages/builders.d.ts +1 -41
  644. package/dist/tools/pages/builders.d.ts.map +1 -1
  645. package/dist/tools/pages/builders.js +373 -359
  646. package/dist/tools/pages/builders.js.map +1 -1
  647. package/dist/tools/pages/header-transparency.d.ts +34 -0
  648. package/dist/tools/pages/header-transparency.d.ts.map +1 -0
  649. package/dist/tools/pages/header-transparency.js +85 -0
  650. package/dist/tools/pages/header-transparency.js.map +1 -0
  651. package/dist/tools/pages/index.d.ts +1 -19
  652. package/dist/tools/pages/index.d.ts.map +1 -1
  653. package/dist/tools/pages/index.js +1 -19
  654. package/dist/tools/pages/index.js.map +1 -1
  655. package/dist/tools/pages/schemas.d.ts +392 -224
  656. package/dist/tools/pages/schemas.d.ts.map +1 -1
  657. package/dist/tools/pages/schemas.js +605 -458
  658. package/dist/tools/pages/schemas.js.map +1 -1
  659. package/dist/tools/pages/write-output-schemas.d.ts +139 -0
  660. package/dist/tools/pages/write-output-schemas.d.ts.map +1 -0
  661. package/dist/tools/pages/write-output-schemas.js +138 -0
  662. package/dist/tools/pages/write-output-schemas.js.map +1 -0
  663. package/dist/tools/pages.d.ts +0 -11
  664. package/dist/tools/pages.d.ts.map +1 -1
  665. package/dist/tools/pages.js +0 -11
  666. package/dist/tools/pages.js.map +1 -1
  667. package/dist/tools/pool-resolve-helper.d.ts +0 -52
  668. package/dist/tools/pool-resolve-helper.d.ts.map +1 -1
  669. package/dist/tools/pool-resolve-helper.js +29 -104
  670. package/dist/tools/pool-resolve-helper.js.map +1 -1
  671. package/dist/tools/progress-phases.d.ts +0 -42
  672. package/dist/tools/progress-phases.d.ts.map +1 -1
  673. package/dist/tools/progress-phases.js +0 -44
  674. package/dist/tools/progress-phases.js.map +1 -1
  675. package/dist/tools/response-budget.d.ts +8 -0
  676. package/dist/tools/response-budget.d.ts.map +1 -0
  677. package/dist/tools/response-budget.js +7 -0
  678. package/dist/tools/response-budget.js.map +1 -0
  679. package/dist/tools/shared-schemas.d.ts +12 -43
  680. package/dist/tools/shared-schemas.d.ts.map +1 -1
  681. package/dist/tools/shared-schemas.js +42 -97
  682. package/dist/tools/shared-schemas.js.map +1 -1
  683. package/dist/tools/skill/builders.d.ts +3 -0
  684. package/dist/tools/skill/builders.d.ts.map +1 -0
  685. package/dist/tools/skill/builders.js +81 -0
  686. package/dist/tools/skill/builders.js.map +1 -0
  687. package/dist/tools/sources/builders.d.ts +1 -11
  688. package/dist/tools/sources/builders.d.ts.map +1 -1
  689. package/dist/tools/sources/builders.js +195 -173
  690. package/dist/tools/sources/builders.js.map +1 -1
  691. package/dist/tools/sources/index.d.ts +0 -17
  692. package/dist/tools/sources/index.d.ts.map +1 -1
  693. package/dist/tools/sources/index.js +0 -16
  694. package/dist/tools/sources/index.js.map +1 -1
  695. package/dist/tools/sources/read-output-schemas.d.ts +101 -0
  696. package/dist/tools/sources/read-output-schemas.d.ts.map +1 -0
  697. package/dist/tools/sources/read-output-schemas.js +105 -0
  698. package/dist/tools/sources/read-output-schemas.js.map +1 -0
  699. package/dist/tools/sources/source-name-argument.d.ts +17 -0
  700. package/dist/tools/sources/source-name-argument.d.ts.map +1 -0
  701. package/dist/tools/sources/source-name-argument.js +64 -0
  702. package/dist/tools/sources/source-name-argument.js.map +1 -0
  703. package/dist/tools/sources/write-output-schemas.d.ts +100 -0
  704. package/dist/tools/sources/write-output-schemas.d.ts.map +1 -0
  705. package/dist/tools/sources/write-output-schemas.js +61 -0
  706. package/dist/tools/sources/write-output-schemas.js.map +1 -0
  707. package/dist/tools/sources.d.ts +0 -12
  708. package/dist/tools/sources.d.ts.map +1 -1
  709. package/dist/tools/sources.js +0 -12
  710. package/dist/tools/sources.js.map +1 -1
  711. package/dist/tools/sparse-fields.d.ts +19 -194
  712. package/dist/tools/sparse-fields.d.ts.map +1 -1
  713. package/dist/tools/sparse-fields.js +212 -196
  714. package/dist/tools/sparse-fields.js.map +1 -1
  715. package/dist/tools/strict-input.d.ts +5 -0
  716. package/dist/tools/strict-input.d.ts.map +1 -0
  717. package/dist/tools/strict-input.js +55 -0
  718. package/dist/tools/strict-input.js.map +1 -0
  719. package/dist/tools/sublayout/builders.d.ts +1 -21
  720. package/dist/tools/sublayout/builders.d.ts.map +1 -1
  721. package/dist/tools/sublayout/builders.js +10 -40
  722. package/dist/tools/sublayout/builders.js.map +1 -1
  723. package/dist/tools/sublayout/index.d.ts +1 -11
  724. package/dist/tools/sublayout/index.d.ts.map +1 -1
  725. package/dist/tools/sublayout/index.js +1 -11
  726. package/dist/tools/sublayout/index.js.map +1 -1
  727. package/dist/tools/sublayout/output-schemas.d.ts +57 -0
  728. package/dist/tools/sublayout/output-schemas.d.ts.map +1 -0
  729. package/dist/tools/sublayout/output-schemas.js +51 -0
  730. package/dist/tools/sublayout/output-schemas.js.map +1 -0
  731. package/dist/tools/tool-builder/annotations.d.ts +1 -49
  732. package/dist/tools/tool-builder/annotations.d.ts.map +1 -1
  733. package/dist/tools/tool-builder/annotations.js +9 -49
  734. package/dist/tools/tool-builder/annotations.js.map +1 -1
  735. package/dist/tools/tool-builder/confirm-preview.d.ts +24 -0
  736. package/dist/tools/tool-builder/confirm-preview.d.ts.map +1 -0
  737. package/dist/tools/tool-builder/confirm-preview.js +37 -0
  738. package/dist/tools/tool-builder/confirm-preview.js.map +1 -0
  739. package/dist/tools/tool-builder/define.d.ts +6 -26
  740. package/dist/tools/tool-builder/define.d.ts.map +1 -1
  741. package/dist/tools/tool-builder/define.js +0 -25
  742. package/dist/tools/tool-builder/define.js.map +1 -1
  743. package/dist/tools/tool-builder/index.d.ts +3 -26
  744. package/dist/tools/tool-builder/index.d.ts.map +1 -1
  745. package/dist/tools/tool-builder/index.js +2 -25
  746. package/dist/tools/tool-builder/index.js.map +1 -1
  747. package/dist/tools/tool-builder/results.d.ts +4 -111
  748. package/dist/tools/tool-builder/results.d.ts.map +1 -1
  749. package/dist/tools/tool-builder/results.js +258 -250
  750. package/dist/tools/tool-builder/results.js.map +1 -1
  751. package/dist/tools/tool-builder/types.d.ts +5 -59
  752. package/dist/tools/tool-builder/types.d.ts.map +1 -1
  753. package/dist/tools/tool-builder/types.js +0 -7
  754. package/dist/tools/tool-builder/types.js.map +1 -1
  755. package/dist/tools/tool-builder.d.ts +0 -14
  756. package/dist/tools/tool-builder.d.ts.map +1 -1
  757. package/dist/tools/tool-builder.js +0 -14
  758. package/dist/tools/tool-builder.js.map +1 -1
  759. package/dist/uninstall-skill.d.ts +0 -41
  760. package/dist/uninstall-skill.d.ts.map +1 -1
  761. package/dist/uninstall-skill.js +0 -49
  762. package/dist/uninstall-skill.js.map +1 -1
  763. package/dist/uninstall.d.ts +0 -41
  764. package/dist/uninstall.d.ts.map +1 -1
  765. package/dist/uninstall.js +1 -29
  766. package/dist/uninstall.js.map +1 -1
  767. package/dist/update/update-check.d.ts +0 -26
  768. package/dist/update/update-check.d.ts.map +1 -1
  769. package/dist/update/update-check.js +0 -25
  770. package/dist/update/update-check.js.map +1 -1
  771. package/manifest.json +4 -5
  772. package/package.json +5 -5
  773. package/skills/yt-builder-mcp/SKILL.md +2958 -382
  774. package/dist/tools/elements/handlers-write.d.ts +0 -70
  775. package/dist/tools/elements/handlers-write.d.ts.map +0 -1
  776. package/dist/tools/elements/handlers-write.js +0 -700
  777. package/dist/tools/elements/handlers-write.js.map +0 -1
  778. package/dist/tools/elements/handlers.d.ts +0 -125
  779. package/dist/tools/elements/handlers.d.ts.map +0 -1
  780. package/dist/tools/elements/handlers.js +0 -571
  781. package/dist/tools/elements/handlers.js.map +0 -1
  782. package/dist/tools/elements/layout-hierarchy-rules.d.ts +0 -62
  783. package/dist/tools/elements/layout-hierarchy-rules.d.ts.map +0 -1
  784. package/dist/tools/elements/layout-hierarchy-rules.js +0 -154
  785. package/dist/tools/elements/layout-hierarchy-rules.js.map +0 -1
  786. package/dist/tools/elements/schema-validation.d.ts +0 -96
  787. package/dist/tools/elements/schema-validation.d.ts.map +0 -1
  788. package/dist/tools/elements/schema-validation.js +0 -249
  789. package/dist/tools/elements/schema-validation.js.map +0 -1
  790. package/dist/tools/elicitation.d.ts +0 -87
  791. package/dist/tools/elicitation.d.ts.map +0 -1
  792. package/dist/tools/elicitation.js +0 -100
  793. package/dist/tools/elicitation.js.map +0 -1
  794. package/dist/tools/format/elements-format.d.ts +0 -75
  795. package/dist/tools/format/elements-format.d.ts.map +0 -1
  796. package/dist/tools/format/elements-format.js +0 -324
  797. package/dist/tools/format/elements-format.js.map +0 -1
  798. package/dist/tools/format/source-schema-format.d.ts +0 -74
  799. package/dist/tools/format/source-schema-format.d.ts.map +0 -1
  800. package/dist/tools/format/source-schema-format.js +0 -208
  801. package/dist/tools/format/source-schema-format.js.map +0 -1
  802. package/dist/tools/layout-flatten.d.ts +0 -84
  803. package/dist/tools/layout-flatten.d.ts.map +0 -1
  804. package/dist/tools/layout-flatten.js +0 -129
  805. package/dist/tools/layout-flatten.js.map +0 -1
  806. package/dist/tools/local-content/handlers.d.ts +0 -54
  807. package/dist/tools/local-content/handlers.d.ts.map +0 -1
  808. package/dist/tools/local-content/handlers.js +0 -316
  809. package/dist/tools/local-content/handlers.js.map +0 -1
  810. package/dist/tools/multi-items/clean-implode-handler.d.ts +0 -37
  811. package/dist/tools/multi-items/clean-implode-handler.d.ts.map +0 -1
  812. package/dist/tools/multi-items/clean-implode-handler.js +0 -65
  813. package/dist/tools/multi-items/clean-implode-handler.js.map +0 -1
  814. package/dist/tools/multi-items/format/inspection-format.d.ts +0 -41
  815. package/dist/tools/multi-items/format/inspection-format.d.ts.map +0 -1
  816. package/dist/tools/multi-items/format/inspection-format.js +0 -64
  817. package/dist/tools/multi-items/format/inspection-format.js.map +0 -1
  818. package/dist/tools/multi-items/inspect-handler.d.ts +0 -97
  819. package/dist/tools/multi-items/inspect-handler.d.ts.map +0 -1
  820. package/dist/tools/multi-items/inspect-handler.js +0 -323
  821. package/dist/tools/multi-items/inspect-handler.js.map +0 -1
  822. package/dist/tools/multi-items/inspection-cache.d.ts +0 -85
  823. package/dist/tools/multi-items/inspection-cache.d.ts.map +0 -1
  824. package/dist/tools/multi-items/inspection-cache.js +0 -126
  825. package/dist/tools/multi-items/inspection-cache.js.map +0 -1
  826. package/dist/tools/pages/handlers-audit.d.ts +0 -129
  827. package/dist/tools/pages/handlers-audit.d.ts.map +0 -1
  828. package/dist/tools/pages/handlers-audit.js +0 -704
  829. package/dist/tools/pages/handlers-audit.js.map +0 -1
  830. package/dist/tools/pages/handlers-read.d.ts +0 -95
  831. package/dist/tools/pages/handlers-read.d.ts.map +0 -1
  832. package/dist/tools/pages/handlers-read.js +0 -929
  833. package/dist/tools/pages/handlers-read.js.map +0 -1
  834. package/dist/tools/pages/handlers-write.d.ts +0 -212
  835. package/dist/tools/pages/handlers-write.d.ts.map +0 -1
  836. package/dist/tools/pages/handlers-write.js +0 -418
  837. package/dist/tools/pages/handlers-write.js.map +0 -1
  838. package/dist/tools/pages/target.d.ts +0 -162
  839. package/dist/tools/pages/target.d.ts.map +0 -1
  840. package/dist/tools/pages/target.js +0 -239
  841. package/dist/tools/pages/target.js.map +0 -1
  842. package/dist/tools/sources/handlers-bind.d.ts +0 -148
  843. package/dist/tools/sources/handlers-bind.d.ts.map +0 -1
  844. package/dist/tools/sources/handlers-bind.js +0 -655
  845. package/dist/tools/sources/handlers-bind.js.map +0 -1
  846. package/dist/tools/sources/handlers.d.ts +0 -114
  847. package/dist/tools/sources/handlers.d.ts.map +0 -1
  848. package/dist/tools/sources/handlers.js +0 -285
  849. package/dist/tools/sources/handlers.js.map +0 -1
  850. package/dist/tools/sublayout/inspect-sublayout-handler.d.ts +0 -95
  851. package/dist/tools/sublayout/inspect-sublayout-handler.d.ts.map +0 -1
  852. package/dist/tools/sublayout/inspect-sublayout-handler.js +0 -181
  853. package/dist/tools/sublayout/inspect-sublayout-handler.js.map +0 -1
@@ -1,18 +1,8 @@
1
- /**
2
- * `tool-builder/results` — envelope builders (`jsonResult`,
3
- * `errorResult`, `structuredResult`, `confirmGuard`) + the shared
4
- * `sanitizeContentItem` helper. Every payload accepted here runs
5
- * through the `sanitizeSecrets` / `sanitizeForLogs` boundary so an
6
- * upstream regression can never land in the LLM context. The mask
7
- * is concentrated here — `define.ts` and call-sites do not re-mask.
8
- *
9
- * Split from `tool-builder.ts` in Round-1.5.
10
- *
11
- * @license MIT
12
- */
13
1
  import { NetworkError, RestError } from '../../errors.js';
14
2
  import { sanitizeForLogs } from '../../errors/mask.js';
15
3
  import { sanitizeSecrets } from '../../errors/sanitize.js';
4
+ import { redactCredentials } from '../../errors/redact-credentials.js';
5
+ import { activeSiteFromResolution, withActiveSiteKey } from '../active-site.js';
16
6
  function stringify(value) {
17
7
  try {
18
8
  return JSON.stringify(value, null, 2);
@@ -21,37 +11,7 @@ function stringify(value) {
21
11
  return String(value);
22
12
  }
23
13
  }
24
- /**
25
- * F80 (2026-06-10): the size at/above which a JSON-document text body is
26
- * split off into its own content block instead of carrying the in-band
27
- * `[label @ host] ` site-prefix.
28
- *
29
- * Why a threshold rather than "all JSON": a tool host (Claude Code, …)
30
- * spills only OVERSIZED tool results to a temp file. That file is read
31
- * back with `jq`, so the bytes must be pure JSON — an in-band prefix
32
- * corrupts the first line and breaks the parse (the observed F80
33
- * friction on `page_get_layout`, a multi-kB layout dump). Small JSON
34
- * envelopes (error results, single-element confirms, short lists) are
35
- * NEVER dumped, so they keep the in-band prefix — which preserves the
36
- * long-standing contract that `content[0].text` is the directly-parseable
37
- * JSON for those results (141 error-matrix / handler tests depend on it).
38
- *
39
- * 8 kB is comfortably below any host's spill threshold yet above every
40
- * small structured envelope this surface emits.
41
- */
42
14
  export const SITE_PREFIX_JSON_SPLIT_THRESHOLD = 8 * 1024;
43
- /**
44
- * Detect whether a text body is a PURE JSON DOCUMENT (object or array)
45
- * LARGE enough that a host might spill it to a `jq`-read temp file.
46
- * Tools like `page_get_layout` emit `jsonResult(data)` whose
47
- * `content[0].text` IS the JSON payload; for a large layout that text
48
- * lands in the dump verbatim, so an in-band `[label @ host] ` prefix
49
- * would corrupt the first bytes.
50
- *
51
- * Only OBJECT / ARRAY documents qualify (a bare scalar like `"hello"`
52
- * stays in-band). The cheap length + first-glyph pre-checks avoid a
53
- * JSON.parse on every human-readable table on the hot path.
54
- */
55
15
  function isLargeJsonDocumentText(text) {
56
16
  if (text.length < SITE_PREFIX_JSON_SPLIT_THRESHOLD)
57
17
  return false;
@@ -67,13 +27,6 @@ function isLargeJsonDocumentText(text) {
67
27
  return false;
68
28
  }
69
29
  }
70
- /**
71
- * Convert any JSON-serializable value into the MCP content envelope
72
- * (2-space JSON). Wave G.6.4b: every payload is deep-walked through
73
- * `sanitizeSecrets` before stringification so an upstream regression
74
- * (REST handler surfacing `oauth_refresh_token`, `auth_data`, etc.)
75
- * can never land in the LLM context.
76
- */
77
30
  export function jsonResult(payload, options = {}) {
78
31
  const safe = sanitizeSecrets(payload);
79
32
  return {
@@ -81,8 +34,27 @@ export function jsonResult(payload, options = {}) {
81
34
  ...(options.isError === true ? { isError: true } : {}),
82
35
  };
83
36
  }
84
- /** Extract `(message, status?, code?)` from any thrown value, honouring
85
- * `RestError` / `NetworkError` shape distinctions. */
37
+ export function rejectionOnBothLegs(payload) {
38
+ const safe = sanitizeSecrets(redactStrings(payload));
39
+ const r = jsonResult(safe, { isError: true });
40
+ if (safe === null || typeof safe !== 'object' || Array.isArray(safe))
41
+ return r;
42
+ return { ...r, structuredContent: safe };
43
+ }
44
+ function redactStrings(value) {
45
+ if (typeof value === 'string')
46
+ return redactCredentials(value);
47
+ if (Array.isArray(value))
48
+ return value.map(redactStrings);
49
+ if (value !== null && typeof value === 'object') {
50
+ const out = {};
51
+ for (const [k, v] of Object.entries(value)) {
52
+ out[k] = redactStrings(v);
53
+ }
54
+ return out;
55
+ }
56
+ return value;
57
+ }
86
58
  function describeError(e) {
87
59
  if (e instanceof RestError)
88
60
  return { message: e.message, status: e.status, code: e.code };
@@ -92,15 +64,6 @@ function describeError(e) {
92
64
  return { message: e.message };
93
65
  return { message: stringify(e) };
94
66
  }
95
- /**
96
- * G7 — pull the whitelisted nearest-path self-correction keys out of a thrown
97
- * value's `RestError.body`, if present. GENERIC: the moment any plugin version
98
- * emits the envelope on a 404, the Node HTTP path forwards it — mirroring the
99
- * already-self-correcting in-process path. Only `RestError` carries a parsed
100
- * upstream body; every other thrown value yields an empty envelope. The four
101
- * keys are individually type-guarded (a `null` `nearest_path` is preserved as a
102
- * legitimate "no candidate" signal); unknown keys never leak through.
103
- */
104
67
  function nearestPathFromError(e) {
105
68
  if (!(e instanceof RestError))
106
69
  return {};
@@ -119,27 +82,10 @@ function nearestPathFromError(e) {
119
82
  if (Array.isArray(b.available_paths) && b.available_paths.every((p) => typeof p === 'string')) {
120
83
  out.available_paths = b.available_paths;
121
84
  }
122
- // N4: the canonical id-form a bare-numeric not-found should re-address with.
123
85
  if (typeof b.expected_id_form === 'string')
124
86
  out.expected_id_form = b.expected_id_form;
125
87
  return out;
126
88
  }
127
- /**
128
- * ELEMENT_WRITE-2 — pull the CURRENT resource ETag out of a 412 RestError so a
129
- * stale-ETag write can be retried MECHANICALLY (copy `current_etag` from the
130
- * error, retry) instead of forcing an extra `get_etag` round-trip.
131
- *
132
- * A 412 (precondition-failed) write carries the live ETag in TWO possible
133
- * shapes: a structured `body.data.current_etag` (the canonical field a PHP host
134
- * emits) OR, on a host that only put it in prose, the message
135
- * `…does not match current resource ETag (…-r346)`. Both are checked; the
136
- * structured field wins. Returns the empty string sentinel `undefined` when the
137
- * error is not a 412 or carries no recoverable ETag, so the caller spreads
138
- * nothing on the happy path.
139
- *
140
- * Only `RestError` at status 412 is considered — a non-412 message that happens
141
- * to contain the phrase is never mined (it would surface a misleading value).
142
- */
143
89
  function currentEtagFromError(e) {
144
90
  if (!(e instanceof RestError) || e.status !== 412)
145
91
  return {};
@@ -163,20 +109,7 @@ function currentEtagFromError(e) {
163
109
  }
164
110
  return {};
165
111
  }
166
- /**
167
- * MM-2 / BUG-2 — the transport-side bound on a forwarded candidate list.
168
- *
169
- * Mirrors PHP's `AMBIGUITY_CANDIDATE_CAP = 10`, which BOTH producers already
170
- * apply before the list ever leaves the host, so in practice this is never
171
- * reached. It exists so a newer (or hostile) host cannot blow the error
172
- * envelope — and when it IS reached, `candidates_truncated` says so, because a
173
- * silently-shortened chooser would let an agent conclude it had seen every
174
- * option after trying the tenth.
175
- */
176
112
  const CANDIDATE_FORWARD_CAP = 10;
177
- /** Type-guard ONE candidate row. All three members are load-bearing: `id` is
178
- * what the retry addresses, `label` is what the user is shown, `type` is how
179
- * the two are told apart in a mixed page/template/category list. */
180
113
  function isAmbiguityCandidate(value) {
181
114
  if (value === null || typeof value !== 'object' || Array.isArray(value))
182
115
  return false;
@@ -186,28 +119,6 @@ function isAmbiguityCandidate(value) {
186
119
  && typeof row.label === 'string'
187
120
  && typeof row.type === 'string');
188
121
  }
189
- /**
190
- * MM-2 / BUG-2 — pull the AMBIGUITY CANDIDATE LIST out of a thrown value's
191
- * `RestError.body`.
192
- *
193
- * `title_ambiguous` (both platforms) and `blog_ambiguous` (Joomla) answer 409
194
- * with a list of distinct, addressable pages, and the MESSAGE they carry tells
195
- * the agent to pick one of them. Both in-process handlers already forward it
196
- * (`McpPagesResolveHandler` / `McpPagesAuditHandler`); without this the Node
197
- * transport handed the agent prose promising a list it never received — the
198
- * same tool answering the same site differently per transport.
199
- *
200
- * `data.candidates` is checked FIRST because it is where both CMSes actually
201
- * put it: WordPress via `WP_Error`'s data bag
202
- * (`PagesController::targetErrorResponse()`) and Joomla via
203
- * `JoomlaJsonResponse::error()`, which merges its `$data` into the SAME
204
- * WP-compatible `data:{…}` envelope. The top-level fallback costs one lookup
205
- * and covers any flatter envelope a future host emits.
206
- *
207
- * ALL-OR-NOTHING on shape: a list the agent renders as a chooser has to be
208
- * trustworthy, so one unusable row drops the whole list rather than presenting
209
- * a chooser with a dead option in it (the prose message still names the count).
210
- */
211
122
  function candidatesFromError(e) {
212
123
  if (!(e instanceof RestError))
213
124
  return {};
@@ -227,74 +138,254 @@ function candidatesFromError(e) {
227
138
  ? { candidates: raw.slice(0, CANDIDATE_FORWARD_CAP), candidates_truncated: true }
228
139
  : { candidates: [...raw] };
229
140
  }
230
- /**
231
- * Render a structured error result with `context` (echoed input) and a
232
- * recovery `hint`. Wave G.6.3 defense-in-depth: message is
233
- * mask-and-truncate'd; context is deep-walked so an input param that
234
- * accidentally echoed a secret-bearing value cannot leak.
235
- */
141
+ function isPlacementWay(value) {
142
+ if (value === null || typeof value !== 'object')
143
+ return false;
144
+ const v = value;
145
+ return (typeof v.placement === 'string'
146
+ && typeof v.reach === 'string'
147
+ && typeof v.summary === 'string'
148
+ && (v.can_limit_to_pages === undefined || typeof v.can_limit_to_pages === 'boolean'));
149
+ }
150
+ function waysFromError(e) {
151
+ if (!(e instanceof RestError))
152
+ return {};
153
+ const body = e.body;
154
+ if (body === null || typeof body !== 'object' || Array.isArray(body))
155
+ return {};
156
+ const b = body;
157
+ const nested = b.data;
158
+ const raw = nested !== null && typeof nested === 'object' && !Array.isArray(nested)
159
+ ? (nested.ways ?? b.ways)
160
+ : b.ways;
161
+ if (!Array.isArray(raw) || raw.length === 0)
162
+ return {};
163
+ if (!raw.every(isPlacementWay))
164
+ return {};
165
+ return { ways: raw };
166
+ }
167
+ function notesFromError(e) {
168
+ if (!(e instanceof RestError))
169
+ return {};
170
+ const body = e.body;
171
+ if (body === null || typeof body !== 'object' || Array.isArray(body))
172
+ return {};
173
+ const b = body;
174
+ const nested = b.data;
175
+ const raw = nested !== null && typeof nested === 'object' && !Array.isArray(nested)
176
+ ? (nested.notes ?? b.notes)
177
+ : b.notes;
178
+ if (!isStringArray(raw) || raw.length === 0)
179
+ return {};
180
+ return { notes: [...raw] };
181
+ }
182
+ function isRemovalIntent(value) {
183
+ if (value === null || typeof value !== 'object')
184
+ return false;
185
+ const v = value;
186
+ return (typeof v.intent === 'string'
187
+ && typeof v.effect === 'string'
188
+ && typeof v.reversible === 'boolean'
189
+ && typeof v.native_name === 'string'
190
+ && (v.restore_call === undefined
191
+ || v.restore_call === null
192
+ || typeof v.restore_call === 'string'));
193
+ }
194
+ function intentsFromError(e) {
195
+ if (!(e instanceof RestError))
196
+ return {};
197
+ const body = e.body;
198
+ if (body === null || typeof body !== 'object' || Array.isArray(body))
199
+ return {};
200
+ const b = body;
201
+ const nested = b.data;
202
+ const raw = nested !== null && typeof nested === 'object' && !Array.isArray(nested)
203
+ ? (nested.intents ?? b.intents)
204
+ : b.intents;
205
+ if (!Array.isArray(raw) || raw.length === 0)
206
+ return {};
207
+ if (!raw.every(isRemovalIntent))
208
+ return {};
209
+ return { intents: [...raw] };
210
+ }
211
+ function currentStateFromError(e) {
212
+ if (!(e instanceof RestError))
213
+ return {};
214
+ const body = e.body;
215
+ if (body === null || typeof body !== 'object' || Array.isArray(body))
216
+ return {};
217
+ const b = body;
218
+ const nested = b.data;
219
+ const raw = nested !== null && typeof nested === 'object' && !Array.isArray(nested)
220
+ ? (nested.current_state ?? b.current_state)
221
+ : b.current_state;
222
+ return typeof raw === 'string' && raw !== '' ? { current_state: raw } : {};
223
+ }
224
+ function declaredPositionsFromError(e) {
225
+ if (!(e instanceof RestError))
226
+ return {};
227
+ const body = e.body;
228
+ if (body === null || typeof body !== 'object' || Array.isArray(body))
229
+ return {};
230
+ const b = body;
231
+ const nested = b.data;
232
+ const raw = nested !== null && typeof nested === 'object' && !Array.isArray(nested)
233
+ ? (nested.declared_positions ?? b.declared_positions)
234
+ : b.declared_positions;
235
+ if (!isStringArray(raw) || raw.length === 0)
236
+ return {};
237
+ return { declared_positions: [...raw] };
238
+ }
239
+ const UNKNOWN_SOURCE_LIST_CAP = CANDIDATE_FORWARD_CAP;
240
+ function isStringArray(value) {
241
+ return Array.isArray(value) && value.every((v) => typeof v === 'string');
242
+ }
243
+ function unknownSourceFromError(e) {
244
+ if (!(e instanceof RestError))
245
+ return {};
246
+ const body = e.body;
247
+ if (body === null || typeof body !== 'object' || Array.isArray(body))
248
+ return {};
249
+ const b = body;
250
+ const nested = b.data;
251
+ const data = nested !== null && typeof nested === 'object' && !Array.isArray(nested)
252
+ ? nested
253
+ : b;
254
+ const given = data.given;
255
+ const didYouMean = data.did_you_mean;
256
+ const allPublished = data.all_published_sources;
257
+ if (typeof given !== 'string')
258
+ return {};
259
+ if (!isStringArray(didYouMean) || !isStringArray(allPublished))
260
+ return {};
261
+ const truncated = allPublished.length > UNKNOWN_SOURCE_LIST_CAP;
262
+ return {
263
+ given,
264
+ did_you_mean: didYouMean.slice(0, UNKNOWN_SOURCE_LIST_CAP),
265
+ all_published_sources: allPublished.slice(0, UNKNOWN_SOURCE_LIST_CAP),
266
+ ...(truncated ? { all_published_sources_truncated: true } : {}),
267
+ };
268
+ }
269
+ function serverHintFromError(error) {
270
+ const body = error?.body;
271
+ if (body === null || typeof body !== 'object')
272
+ return {};
273
+ const b = body;
274
+ const nested = b.data;
275
+ const raw = typeof b.hint === 'string'
276
+ ? b.hint
277
+ : nested !== null && typeof nested === 'object' && !Array.isArray(nested)
278
+ ? nested.hint
279
+ : undefined;
280
+ return typeof raw === 'string' && raw.trim() !== '' ? { server_hint: raw } : {};
281
+ }
282
+ export const PASSTHROUGH_ERROR_KEYS = [
283
+ 'element_path',
284
+ 'expected_etag',
285
+ 'error_code',
286
+ 'retry_after',
287
+ 'retry_after_ms',
288
+ 'retry_after_seconds',
289
+ 'limit',
290
+ 'window_seconds',
291
+ 'required_scope',
292
+ 'token_scope',
293
+ 'remediation',
294
+ 'min_client',
295
+ 'current_client',
296
+ ];
297
+ const RESERVED_RESULT_KEYS = new Set(['error', 'status', 'code', 'context', 'hint']);
298
+ for (const key of PASSTHROUGH_ERROR_KEYS) {
299
+ if (RESERVED_RESULT_KEYS.has(key)) {
300
+ throw new Error(`PASSTHROUGH_ERROR_KEYS must never shadow the fixed errorResult() key "${key}"`);
301
+ }
302
+ }
303
+ const PASSTHROUGH_VALUE_MAX_JSON_LENGTH = 2000;
304
+ function isForwardableScalar(value) {
305
+ if (typeof value === 'boolean')
306
+ return true;
307
+ if (typeof value === 'number')
308
+ return Number.isFinite(value);
309
+ return typeof value === 'string';
310
+ }
311
+ function passthroughFieldsFromError(e) {
312
+ if (!(e instanceof RestError))
313
+ return {};
314
+ const body = e.body;
315
+ if (body === null || typeof body !== 'object' || Array.isArray(body))
316
+ return {};
317
+ const b = body;
318
+ const nested = b.data;
319
+ const data = nested !== null && typeof nested === 'object' && !Array.isArray(nested)
320
+ ? nested
321
+ : undefined;
322
+ const out = {};
323
+ for (const key of PASSTHROUGH_ERROR_KEYS) {
324
+ const raw = data?.[key] ?? b[key];
325
+ if (!isForwardableScalar(raw))
326
+ continue;
327
+ if (stringify(raw).length > PASSTHROUGH_VALUE_MAX_JSON_LENGTH)
328
+ continue;
329
+ out[key] = raw;
330
+ }
331
+ return out;
332
+ }
236
333
  export function errorResult(opts) {
237
334
  const { message, status, code } = describeError(opts.error);
238
- // G7 (self-correcting errors): forward the shared nearest-path envelope when
239
- // the upstream 404 body carried it, so the agent retries IN-LOOP — the SAME
240
- // contract the in-process MCP surfaces emit. Spread LAST so it rides
241
- // alongside (never clobbers) error/status/code/context/hint; absent on every
242
- // non-enriched failure (empty envelope → no extra keys).
335
+ const passthrough = passthroughFieldsFromError(opts.error);
243
336
  const nearest = nearestPathFromError(opts.error);
244
- // MM-2: the ambiguity candidate list rides the SAME way — spread last,
245
- // alongside (never over) error/status/code/context/hint, and absent
246
- // entirely on every non-ambiguous failure.
337
+ const unknownSource = unknownSourceFromError(opts.error);
247
338
  const candidates = candidatesFromError(opts.error);
248
- // ELEMENT_WRITE-2 / PAGES_LIBRARY_MEDIA-7: a 412 write carries the live
249
- // ETag; surface it as `current_etag` so a retry is mechanical (no extra
250
- // get_etag round-trip). Spread last, alongside (never over) the other keys;
251
- // absent on every non-412 failure.
252
339
  const currentEtag = currentEtagFromError(opts.error);
340
+ const serverHintRaw = serverHintFromError(opts.error);
341
+ const serverHint = serverHintRaw.server_hint !== undefined && serverHintRaw.server_hint !== opts.hint
342
+ ? serverHintRaw
343
+ : {};
344
+ const ways = waysFromError(opts.error);
345
+ const notes = notesFromError(opts.error);
346
+ const declaredPositions = declaredPositionsFromError(opts.error);
347
+ const intents = intentsFromError(opts.error);
348
+ const currentState = currentStateFromError(opts.error);
253
349
  return jsonResult({
254
350
  error: sanitizeForLogs(message),
255
351
  ...(status !== undefined ? { status } : {}),
256
352
  ...(code !== undefined ? { code } : {}),
257
353
  context: sanitizeSecrets(opts.context),
258
354
  hint: opts.hint,
355
+ ...passthrough,
356
+ ...unknownSource,
259
357
  ...nearest,
260
358
  ...candidates,
261
359
  ...currentEtag,
360
+ ...ways,
361
+ ...notes,
362
+ ...declaredPositions,
363
+ ...intents,
364
+ ...currentState,
365
+ ...serverHint,
262
366
  }, { isError: true });
263
367
  }
264
- /**
265
- * Confirm-guard preview helper for destructive tools. Returns the
266
- * preview `ToolResult` when `confirm` is false; callers `return` it
267
- * before executing the destructive REST call.
268
- *
269
- * F131 (Wave 4a): the blocked-state result is now STRUCTURALLY distinct
270
- * from a successful mutation. Previously the preview was a plain
271
- * `jsonResult` with no `isError` — envelope-identical to a success — so a
272
- * model that did not parse `preview:true` read "delete succeeded" and
273
- * silently left the element in place (the dry-run / silent-no-op footgun
274
- * class). Three redundant signals now make the block unmistakable:
275
- * 1. result-level `isError: true` (hosts that only read the error flag),
276
- * 2. body `applied: false` + `requires_confirmation: true` (structured
277
- * consumers),
278
- * 3. a leading "NOT EXECUTED" line in the human-readable warning text
279
- * (models that skim prose).
280
- */
281
368
  export function confirmGuard(opts) {
282
- return jsonResult({
369
+ const warning = `NOT EXECUTED — DESTRUCTIVE operation requires confirmation. ` +
370
+ `The "${opts.operation}" call was BLOCKED and nothing was changed.`;
371
+ const instruction = 'Ask the user to confirm, then call again with `confirm: true`.';
372
+ return structuredResult(jsonResult({
283
373
  preview: true,
284
374
  applied: false,
285
375
  requires_confirmation: true,
286
- warning: `NOT EXECUTED — DESTRUCTIVE operation requires confirmation. The "${opts.operation}" call was BLOCKED and nothing was changed.`,
376
+ warning,
287
377
  operation: opts.operation,
288
378
  details: opts.details,
289
- instruction: 'Ask the user to confirm, then call again with `confirm: true`.',
290
- }, { isError: true });
379
+ instruction,
380
+ }), {
381
+ ...opts.structured,
382
+ ...opts.structuredExtra,
383
+ applied: false,
384
+ requires_confirmation: true,
385
+ warning,
386
+ instruction,
387
+ });
291
388
  }
292
- /**
293
- * Sanitise a single content item from a toolkit builder. Text items
294
- * frequently embed a JSON-stringified payload — if it parses, deep-walk
295
- * and re-stringify; otherwise leave as-is (toolkit-rendered tables /
296
- * details are already domain-mapped at the call site).
297
- */
298
389
  function sanitizeContentItem(item) {
299
390
  if (item.type !== 'text' || typeof item.text !== 'string')
300
391
  return item;
@@ -305,63 +396,9 @@ function sanitizeContentItem(item) {
305
396
  return { ...item, text: stringify(safe) };
306
397
  }
307
398
  catch {
308
- // Not JSON — toolkit-rendered text. No structural redaction
309
- // possible without false-positives; the caller has already
310
- // mapped raw secrets out via field-projection helpers.
311
399
  return item;
312
400
  }
313
401
  }
314
- /**
315
- * Merge a toolkit `StructuredCallToolResult` (carries `content[0].text`
316
- * + `_meta.ui`) with a domain-typed `structuredContent` payload. The
317
- * result satisfies both Rich-Card hosts (read `_meta.ui`) AND
318
- * structured-output hosts (read `structuredContent`, may validate
319
- * against `outputSchema`). Single envelope-merger from every migrated
320
- * tool's handler — toolkit builders are wrapped, not modified.
321
- */
322
- /**
323
- * W6.2 — site-awareness envelope wrapper.
324
- *
325
- * Stamps a resolved-site descriptor onto a tool result so the human +
326
- * agent both know which connected site the call ran against. Two
327
- * channels:
328
- *
329
- * 1. **text-prefix PRIMARY surface** — `[<label or site_id> @
330
- * <hostname>] ` is injected at the start of `content[0].text`
331
- * when that block is a text item. Per the W6 web-research
332
- * addendum (HCFV §B, Claude-Desktop UI gap doc'd in plan
333
- * Z.1329-1332), `_meta` is read by the agent but NOT rendered as
334
- * a UI widget today — so the prefix is the only thing Maria the
335
- * Claude-Desktop-user reliably SEES. LOAD-BEARING.
336
- *
337
- * 2. **result-level `_meta` SECONDARY surface** — `_meta:
338
- * {site_id, site_url, platform}` is merged into the RESULT-level
339
- * `_meta` (alongside the toolkit's `_meta.ui`). This is the
340
- * MCP-spec metadata channel: free-form and NOT validated against
341
- * the tool's `outputSchema`.
342
- *
343
- * W12-R2 fix: site meta was previously merged into
344
- * `structuredContent._meta`. That broke real hosts. Every tool's
345
- * `outputSchema` is generated with `additionalProperties:false`,
346
- * so an undeclared `_meta` key inside `structuredContent` fails
347
- * client-side schema validation (`-32602`) and surfaces as a
348
- * "Failed to call tool" toast in Claude Desktop EVEN ON A
349
- * SUCCESSFUL CALL. `live-verify.mjs` never caught it because raw
350
- * JSON-RPC calls skip the host's structuredContent↔outputSchema
351
- * validation. `structuredContent` must stay schema-pure.
352
- *
353
- * Pure function: never mutates the input result. Non-text blocks
354
- * (resource / image / etc.) pass through verbatim. `structuredContent`
355
- * is passed through UNTOUCHED so it always validates against
356
- * `outputSchema`. Empty `content[]` is tolerated and produces a
357
- * prefix-free result (the meta still lands in result-level `_meta`).
358
- *
359
- * Label-fallback: `site.label` wins; falls back to `site.id`.
360
- *
361
- * Hostname extraction defaults to `new URL(site.url).host`. A
362
- * malformed URL falls back to the raw site.url string so the prefix
363
- * remains user-readable even when the registry was hand-edited.
364
- */
365
402
  export function withSiteMeta(result, site) {
366
403
  const displayLabel = site.label ?? site.id;
367
404
  let host;
@@ -371,20 +408,11 @@ export function withSiteMeta(result, site) {
371
408
  catch {
372
409
  host = site.url;
373
410
  }
374
- // F178 (2026-06-12): when a call was routed via the PROCESS-WIDE
375
- // default/override (i.e. the caller omitted `site_id`), append a
376
- // ` · default` marker INSIDE the visible prefix so the human SEES the
377
- // call was not isolated from concurrent `use_site` switches. An
378
- // explicit `site_id` (or a legacy fixture without `resolvedVia`) gets
379
- // the plain prefix.
380
- const routedViaSharedDefault = site.resolvedVia === 'registry_default'
381
- || site.resolvedVia === 'active_override';
382
- const marker = routedViaSharedDefault ? ' · default' : '';
411
+ const marker = site.resolvedVia === 'active_override' ? ' · active override, not the configured default'
412
+ : site.resolvedVia === 'registry_default' ? ' · default'
413
+ : '';
383
414
  const prefix = `[${displayLabel} @ ${host}${marker}] `;
384
- // `resolved_site_id` is stamped LÜCKENLOS on every site-bound result
385
- // (it mirrors `site_id` but names the concept the agent reasons about
386
- // — "which site did this call actually land on"). `resolved_via` is
387
- // only stamped when known, so legacy fixtures add no noise.
415
+ const active = activeSiteFromResolution(site.id, site.resolvedVia);
388
416
  const meta = {
389
417
  site_id: site.id,
390
418
  site_url: site.url,
@@ -393,24 +421,12 @@ export function withSiteMeta(result, site) {
393
421
  ...(site.resolvedVia !== undefined
394
422
  ? { resolved_via: site.resolvedVia }
395
423
  : {}),
424
+ ...(active !== undefined ? { active_site: active } : {}),
396
425
  };
397
- // W12-R1.2 (A4-F2): site-awareness is the LOAD-BEARING surface for
398
- // Claude-Desktop users. When the wrapped result has no text content
399
- // (e.g. an image-only / resource-only / empty-list response), the
400
- // prefix would otherwise be lost and the agent would have no visible
401
- // signal of which site the call ran against. Prepend a synthetic
402
- // text block so the prefix is ALWAYS the first visible glyph.
403
- // Trim the trailing space — a standalone prefix block reads better
404
- // without it.
405
- //
406
- // F80 (2026-06-10): the SAME synthetic-block path is taken when the
407
- // first text body is a PURE JSON DOCUMENT (page_get_layout etc.).
408
- // Concatenating the prefix in-band there yields `[label @ host] {...}`
409
- // — not valid JSON — which corrupts the harness's file-dump of an
410
- // oversized result and breaks `jq`. Routing JSON documents through the
411
- // synthetic block keeps the JSON byte-pure while the human still sees
412
- // the marker first. Human-readable text (tables / details / prose)
413
- // keeps the in-band prefix unchanged.
426
+ const structured = result.structuredContent;
427
+ const enrichedStructured = active !== undefined && structured !== undefined && structured !== null && !Array.isArray(structured)
428
+ ? withActiveSiteKey(structured, active)
429
+ : structured;
414
430
  const firstItem = result.content[0];
415
431
  const firstIsLargeJsonDoc = firstItem !== undefined
416
432
  && firstItem.type === 'text'
@@ -433,12 +449,6 @@ export function withSiteMeta(result, site) {
433
449
  const existingText = typeof item.text === 'string' ? item.text : '';
434
450
  return { ...item, text: prefix + existingText };
435
451
  });
436
- // Site meta merges into the RESULT-level `_meta` (next to the
437
- // toolkit's `_meta.ui`), NEVER into `structuredContent`. The latter
438
- // is validated by the host against the tool's `outputSchema`
439
- // (additionalProperties:false); an undeclared key there triggers a
440
- // `-32602` "Failed to call tool" reject even on success. The result
441
- // envelope `_meta` is the spec's free-form metadata channel.
442
452
  const baseTopMeta = result._meta;
443
453
  const mergedTopMeta = baseTopMeta !== undefined && baseTopMeta !== null && typeof baseTopMeta === 'object'
444
454
  ? { ...baseTopMeta, ...meta }
@@ -446,13 +456,11 @@ export function withSiteMeta(result, site) {
446
456
  return {
447
457
  ...result,
448
458
  content: newContent,
459
+ ...(enrichedStructured !== undefined ? { structuredContent: enrichedStructured } : {}),
449
460
  _meta: mergedTopMeta,
450
461
  };
451
462
  }
452
463
  export function structuredResult(toolkitResult, structuredContent) {
453
- // Wave G.6.4b — deep-walk-sanitise all three legs (text content,
454
- // _meta.ui, structuredContent) so regressing sources never bypass
455
- // the LLM-boundary mask.
456
464
  const safeContent = toolkitResult.content.map(sanitizeContentItem);
457
465
  const safeStructured = sanitizeSecrets(structuredContent);
458
466
  const safeMeta = toolkitResult._meta !== undefined