@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.
- package/README.md +7 -7
- package/bin/yt-builder-mcp.js +55 -40
- package/dist/auth.d.ts +137 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +244 -0
- package/dist/auth.js.map +1 -0
- package/dist/cli/invocation-decision.d.ts +57 -0
- package/dist/cli/invocation-decision.d.ts.map +1 -0
- package/dist/cli/invocation-decision.js +86 -0
- package/dist/cli/invocation-decision.js.map +1 -0
- package/dist/client.d.ts +112 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +190 -0
- package/dist/client.js.map +1 -0
- package/dist/clients/claude-code.d.ts +18 -0
- package/dist/clients/claude-code.d.ts.map +1 -0
- package/dist/clients/claude-code.js +55 -0
- package/dist/clients/claude-code.js.map +1 -0
- package/dist/clients/claude-desktop.d.ts +19 -0
- package/dist/clients/claude-desktop.d.ts.map +1 -0
- package/dist/clients/claude-desktop.js +58 -0
- package/dist/clients/claude-desktop.js.map +1 -0
- package/dist/clients/cline.d.ts +26 -0
- package/dist/clients/cline.d.ts.map +1 -0
- package/dist/clients/cline.js +82 -0
- package/dist/clients/cline.js.map +1 -0
- package/dist/clients/codex-cli.d.ts +42 -0
- package/dist/clients/codex-cli.d.ts.map +1 -0
- package/dist/clients/codex-cli.js +292 -0
- package/dist/clients/codex-cli.js.map +1 -0
- package/dist/clients/continue.d.ts +13 -0
- package/dist/clients/continue.d.ts.map +1 -0
- package/dist/clients/continue.js +121 -0
- package/dist/clients/continue.js.map +1 -0
- package/dist/clients/cursor.d.ts +12 -0
- package/dist/clients/cursor.d.ts.map +1 -0
- package/dist/clients/cursor.js +40 -0
- package/dist/clients/cursor.js.map +1 -0
- package/dist/clients/gemini-cli.d.ts +18 -0
- package/dist/clients/gemini-cli.d.ts.map +1 -0
- package/dist/clients/gemini-cli.js +46 -0
- package/dist/clients/gemini-cli.js.map +1 -0
- package/dist/clients/home.d.ts +14 -0
- package/dist/clients/home.d.ts.map +1 -0
- package/dist/clients/home.js +20 -0
- package/dist/clients/home.js.map +1 -0
- package/dist/clients/index.d.ts +156 -0
- package/dist/clients/index.d.ts.map +1 -0
- package/dist/clients/index.js +213 -0
- package/dist/clients/index.js.map +1 -0
- package/dist/clients/roo-code.d.ts +23 -0
- package/dist/clients/roo-code.d.ts.map +1 -0
- package/dist/clients/roo-code.js +71 -0
- package/dist/clients/roo-code.js.map +1 -0
- package/dist/clients/zed.d.ts +12 -0
- package/dist/clients/zed.d.ts.map +1 -0
- package/dist/clients/zed.js +43 -0
- package/dist/clients/zed.js.map +1 -0
- package/dist/errors/hints.d.ts +51 -0
- package/dist/errors/hints.d.ts.map +1 -0
- package/dist/errors/hints.js +95 -0
- package/dist/errors/hints.js.map +1 -0
- package/dist/errors/mask.d.ts +35 -0
- package/dist/errors/mask.d.ts.map +1 -0
- package/dist/errors/mask.js +49 -0
- package/dist/errors/mask.js.map +1 -0
- package/dist/errors/sanitize.d.ts +31 -0
- package/dist/errors/sanitize.d.ts.map +1 -0
- package/dist/errors/sanitize.js +100 -0
- package/dist/errors/sanitize.js.map +1 -0
- package/dist/errors.d.ts +42 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +61 -0
- package/dist/errors.js.map +1 -0
- package/dist/gateway/advanced-tool/discovery.d.ts +19 -0
- package/dist/gateway/advanced-tool/discovery.d.ts.map +1 -0
- package/dist/gateway/advanced-tool/discovery.js +53 -0
- package/dist/gateway/advanced-tool/discovery.js.map +1 -0
- package/dist/gateway/advanced-tool/domains.d.ts +47 -0
- package/dist/gateway/advanced-tool/domains.d.ts.map +1 -0
- package/dist/gateway/advanced-tool/domains.js +94 -0
- package/dist/gateway/advanced-tool/domains.js.map +1 -0
- package/dist/gateway/advanced-tool/execute.d.ts +29 -0
- package/dist/gateway/advanced-tool/execute.d.ts.map +1 -0
- package/dist/gateway/advanced-tool/execute.js +54 -0
- package/dist/gateway/advanced-tool/execute.js.map +1 -0
- package/dist/gateway/advanced-tool/index.d.ts +36 -0
- package/dist/gateway/advanced-tool/index.d.ts.map +1 -0
- package/dist/gateway/advanced-tool/index.js +39 -0
- package/dist/gateway/advanced-tool/index.js.map +1 -0
- package/dist/gateway/advanced-tool/register.d.ts +18 -0
- package/dist/gateway/advanced-tool/register.d.ts.map +1 -0
- package/dist/gateway/advanced-tool/register.js +69 -0
- package/dist/gateway/advanced-tool/register.js.map +1 -0
- package/dist/gateway/advanced-tool.d.ts +13 -0
- package/dist/gateway/advanced-tool.d.ts.map +1 -0
- package/dist/gateway/advanced-tool.js +13 -0
- package/dist/gateway/advanced-tool.js.map +1 -0
- package/dist/gateway/capturing-server.d.ts +117 -0
- package/dist/gateway/capturing-server.d.ts.map +1 -0
- package/dist/gateway/capturing-server.js +103 -0
- package/dist/gateway/capturing-server.js.map +1 -0
- package/dist/gateway/essentials.d.ts +50 -0
- package/dist/gateway/essentials.d.ts.map +1 -0
- package/dist/gateway/essentials.js +108 -0
- package/dist/gateway/essentials.js.map +1 -0
- package/dist/gateway/test-support.d.ts +41 -0
- package/dist/gateway/test-support.d.ts.map +1 -0
- package/dist/gateway/test-support.js +60 -0
- package/dist/gateway/test-support.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +119 -0
- package/dist/index.js.map +1 -0
- package/dist/install-skill.d.ts +43 -0
- package/dist/install-skill.d.ts.map +1 -0
- package/dist/install-skill.js +118 -0
- package/dist/install-skill.js.map +1 -0
- package/dist/platform/detect.d.ts +64 -0
- package/dist/platform/detect.d.ts.map +1 -0
- package/dist/platform/detect.js +98 -0
- package/dist/platform/detect.js.map +1 -0
- package/dist/platform/index.d.ts +121 -0
- package/dist/platform/index.d.ts.map +1 -0
- package/dist/platform/index.js +176 -0
- package/dist/platform/index.js.map +1 -0
- package/dist/platform/joomla.d.ts +44 -0
- package/dist/platform/joomla.d.ts.map +1 -0
- package/dist/platform/joomla.js +46 -0
- package/dist/platform/joomla.js.map +1 -0
- package/dist/server.d.ts +110 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +274 -0
- package/dist/server.js.map +1 -0
- package/dist/setup-cli-confirm.d.ts +36 -0
- package/dist/setup-cli-confirm.d.ts.map +1 -0
- package/dist/setup-cli-confirm.js +59 -0
- package/dist/setup-cli-confirm.js.map +1 -0
- package/dist/setup-cli.d.ts +193 -0
- package/dist/setup-cli.d.ts.map +1 -0
- package/dist/setup-cli.js +1032 -0
- package/dist/setup-cli.js.map +1 -0
- package/dist/setup-prompts.d.ts +64 -0
- package/dist/setup-prompts.d.ts.map +1 -0
- package/dist/setup-prompts.js +221 -0
- package/dist/setup-prompts.js.map +1 -0
- package/dist/setup-token.d.ts +38 -0
- package/dist/setup-token.d.ts.map +1 -0
- package/dist/setup-token.js +106 -0
- package/dist/setup-token.js.map +1 -0
- package/dist/setup-wizard-defaults.d.ts +43 -0
- package/dist/setup-wizard-defaults.d.ts.map +1 -0
- package/dist/setup-wizard-defaults.js +160 -0
- package/dist/setup-wizard-defaults.js.map +1 -0
- package/dist/setup-wizard-handshake.d.ts +25 -0
- package/dist/setup-wizard-handshake.d.ts.map +1 -0
- package/dist/setup-wizard-handshake.js +103 -0
- package/dist/setup-wizard-handshake.js.map +1 -0
- package/dist/setup-wizard-types.d.ts +164 -0
- package/dist/setup-wizard-types.d.ts.map +1 -0
- package/dist/setup-wizard-types.js +11 -0
- package/dist/setup-wizard-types.js.map +1 -0
- package/dist/setup-wizard.d.ts +33 -0
- package/dist/setup-wizard.d.ts.map +1 -0
- package/dist/setup-wizard.js +199 -0
- package/dist/setup-wizard.js.map +1 -0
- package/dist/setup.d.ts +17 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +33 -0
- package/dist/setup.js.map +1 -0
- package/dist/sites/bootstrap.d.ts +41 -0
- package/dist/sites/bootstrap.d.ts.map +1 -0
- package/dist/sites/bootstrap.js +58 -0
- package/dist/sites/bootstrap.js.map +1 -0
- package/dist/sites/cli/add-site.d.ts +106 -0
- package/dist/sites/cli/add-site.d.ts.map +1 -0
- package/dist/sites/cli/add-site.js +185 -0
- package/dist/sites/cli/add-site.js.map +1 -0
- package/dist/sites/cli/list-sites.d.ts +40 -0
- package/dist/sites/cli/list-sites.d.ts.map +1 -0
- package/dist/sites/cli/list-sites.js +116 -0
- package/dist/sites/cli/list-sites.js.map +1 -0
- package/dist/sites/cli/remove-site.d.ts +60 -0
- package/dist/sites/cli/remove-site.d.ts.map +1 -0
- package/dist/sites/cli/remove-site.js +120 -0
- package/dist/sites/cli/remove-site.js.map +1 -0
- package/dist/sites/cli/set-default.d.ts +47 -0
- package/dist/sites/cli/set-default.d.ts.map +1 -0
- package/dist/sites/cli/set-default.js +69 -0
- package/dist/sites/cli/set-default.js.map +1 -0
- package/dist/sites/cli/test-site.d.ts +77 -0
- package/dist/sites/cli/test-site.d.ts.map +1 -0
- package/dist/sites/cli/test-site.js +146 -0
- package/dist/sites/cli/test-site.js.map +1 -0
- package/dist/sites/client-pool.d.ts +157 -0
- package/dist/sites/client-pool.d.ts.map +1 -0
- package/dist/sites/client-pool.js +222 -0
- package/dist/sites/client-pool.js.map +1 -0
- package/dist/sites/env-bridge.d.ts +55 -0
- package/dist/sites/env-bridge.d.ts.map +1 -0
- package/dist/sites/env-bridge.js +94 -0
- package/dist/sites/env-bridge.js.map +1 -0
- package/dist/sites/paths.d.ts +21 -0
- package/dist/sites/paths.d.ts.map +1 -0
- package/dist/sites/paths.js +37 -0
- package/dist/sites/paths.js.map +1 -0
- package/dist/sites/probe.d.ts +60 -0
- package/dist/sites/probe.d.ts.map +1 -0
- package/dist/sites/probe.js +112 -0
- package/dist/sites/probe.js.map +1 -0
- package/dist/sites/registry.d.ts +142 -0
- package/dist/sites/registry.d.ts.map +1 -0
- package/dist/sites/registry.js +163 -0
- package/dist/sites/registry.js.map +1 -0
- package/dist/sites/schema.d.ts +90 -0
- package/dist/sites/schema.d.ts.map +1 -0
- package/dist/sites/schema.js +71 -0
- package/dist/sites/schema.js.map +1 -0
- package/dist/sites/secret-resolver.d.ts +115 -0
- package/dist/sites/secret-resolver.d.ts.map +1 -0
- package/dist/sites/secret-resolver.js +225 -0
- package/dist/sites/secret-resolver.js.map +1 -0
- package/dist/sites/store.d.ts +82 -0
- package/dist/sites/store.d.ts.map +1 -0
- package/dist/sites/store.js +198 -0
- package/dist/sites/store.js.map +1 -0
- package/dist/sites/tools/index.d.ts +28 -0
- package/dist/sites/tools/index.d.ts.map +1 -0
- package/dist/sites/tools/index.js +38 -0
- package/dist/sites/tools/index.js.map +1 -0
- package/dist/sites/tools/sites-list.d.ts +48 -0
- package/dist/sites/tools/sites-list.d.ts.map +1 -0
- package/dist/sites/tools/sites-list.js +137 -0
- package/dist/sites/tools/sites-list.js.map +1 -0
- package/dist/sites/tools/sites-test.d.ts +47 -0
- package/dist/sites/tools/sites-test.d.ts.map +1 -0
- package/dist/sites/tools/sites-test.js +148 -0
- package/dist/sites/tools/sites-test.js.map +1 -0
- package/dist/sites/tools/use-site.d.ts +47 -0
- package/dist/sites/tools/use-site.d.ts.map +1 -0
- package/dist/sites/tools/use-site.js +183 -0
- package/dist/sites/tools/use-site.js.map +1 -0
- package/dist/skill-loader.d.ts +111 -0
- package/dist/skill-loader.d.ts.map +1 -0
- package/dist/skill-loader.js +191 -0
- package/dist/skill-loader.js.map +1 -0
- package/dist/tools/elements/builders.d.ts +24 -0
- package/dist/tools/elements/builders.d.ts.map +1 -0
- package/dist/tools/elements/builders.js +208 -0
- package/dist/tools/elements/builders.js.map +1 -0
- package/dist/tools/elements/handlers-write.d.ts +49 -0
- package/dist/tools/elements/handlers-write.d.ts.map +1 -0
- package/dist/tools/elements/handlers-write.js +341 -0
- package/dist/tools/elements/handlers-write.js.map +1 -0
- package/dist/tools/elements/handlers.d.ts +70 -0
- package/dist/tools/elements/handlers.d.ts.map +1 -0
- package/dist/tools/elements/handlers.js +292 -0
- package/dist/tools/elements/handlers.js.map +1 -0
- package/dist/tools/elements/index.d.ts +28 -0
- package/dist/tools/elements/index.d.ts.map +1 -0
- package/dist/tools/elements/index.js +27 -0
- package/dist/tools/elements/index.js.map +1 -0
- package/dist/tools/elements.d.ts +13 -0
- package/dist/tools/elements.d.ts.map +1 -0
- package/dist/tools/elements.js +13 -0
- package/dist/tools/elements.js.map +1 -0
- package/dist/tools/elicitation.d.ts +87 -0
- package/dist/tools/elicitation.d.ts.map +1 -0
- package/dist/tools/elicitation.js +100 -0
- package/dist/tools/elicitation.js.map +1 -0
- package/dist/tools/format/elements-format.d.ts +40 -0
- package/dist/tools/format/elements-format.d.ts.map +1 -0
- package/dist/tools/format/elements-format.js +193 -0
- package/dist/tools/format/elements-format.js.map +1 -0
- package/dist/tools/format/health-format.d.ts +79 -0
- package/dist/tools/format/health-format.d.ts.map +1 -0
- package/dist/tools/format/health-format.js +181 -0
- package/dist/tools/format/health-format.js.map +1 -0
- package/dist/tools/format/inspection-format.d.ts +70 -0
- package/dist/tools/format/inspection-format.d.ts.map +1 -0
- package/dist/tools/format/inspection-format.js +359 -0
- package/dist/tools/format/inspection-format.js.map +1 -0
- package/dist/tools/format/pages-format.d.ts +57 -0
- package/dist/tools/format/pages-format.d.ts.map +1 -0
- package/dist/tools/format/pages-format.js +157 -0
- package/dist/tools/format/pages-format.js.map +1 -0
- package/dist/tools/format/sources-format.d.ts +44 -0
- package/dist/tools/format/sources-format.d.ts.map +1 -0
- package/dist/tools/format/sources-format.js +242 -0
- package/dist/tools/format/sources-format.js.map +1 -0
- package/dist/tools/health.d.ts +22 -0
- package/dist/tools/health.d.ts.map +1 -0
- package/dist/tools/health.js +220 -0
- package/dist/tools/health.js.map +1 -0
- package/dist/tools/index.d.ts +30 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +39 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/inspection.d.ts +14 -0
- package/dist/tools/inspection.d.ts.map +1 -0
- package/dist/tools/inspection.js +401 -0
- package/dist/tools/inspection.js.map +1 -0
- package/dist/tools/layout-flatten.d.ts +75 -0
- package/dist/tools/layout-flatten.d.ts.map +1 -0
- package/dist/tools/layout-flatten.js +107 -0
- package/dist/tools/layout-flatten.js.map +1 -0
- package/dist/tools/multi-items/builders.d.ts +23 -0
- package/dist/tools/multi-items/builders.d.ts.map +1 -0
- package/dist/tools/multi-items/builders.js +84 -0
- package/dist/tools/multi-items/builders.js.map +1 -0
- package/dist/tools/multi-items/clean-implode-handler.d.ts +36 -0
- package/dist/tools/multi-items/clean-implode-handler.d.ts.map +1 -0
- package/dist/tools/multi-items/clean-implode-handler.js +57 -0
- package/dist/tools/multi-items/clean-implode-handler.js.map +1 -0
- package/dist/tools/multi-items/format/inspection-format.d.ts +41 -0
- package/dist/tools/multi-items/format/inspection-format.d.ts.map +1 -0
- package/dist/tools/multi-items/format/inspection-format.js +64 -0
- package/dist/tools/multi-items/format/inspection-format.js.map +1 -0
- package/dist/tools/multi-items/index.d.ts +18 -0
- package/dist/tools/multi-items/index.d.ts.map +1 -0
- package/dist/tools/multi-items/index.js +18 -0
- package/dist/tools/multi-items/index.js.map +1 -0
- package/dist/tools/multi-items/inspect-handler.d.ts +76 -0
- package/dist/tools/multi-items/inspect-handler.d.ts.map +1 -0
- package/dist/tools/multi-items/inspect-handler.js +133 -0
- package/dist/tools/multi-items/inspect-handler.js.map +1 -0
- package/dist/tools/multi-items/inspection-cache.d.ts +85 -0
- package/dist/tools/multi-items/inspection-cache.d.ts.map +1 -0
- package/dist/tools/multi-items/inspection-cache.js +126 -0
- package/dist/tools/multi-items/inspection-cache.js.map +1 -0
- package/dist/tools/multi-items/item-container-map.d.ts +41 -0
- package/dist/tools/multi-items/item-container-map.d.ts.map +1 -0
- package/dist/tools/multi-items/item-container-map.js +73 -0
- package/dist/tools/multi-items/item-container-map.js.map +1 -0
- package/dist/tools/pages/builders.d.ts +43 -0
- package/dist/tools/pages/builders.d.ts.map +1 -0
- package/dist/tools/pages/builders.js +229 -0
- package/dist/tools/pages/builders.js.map +1 -0
- package/dist/tools/pages/handlers-read.d.ts +33 -0
- package/dist/tools/pages/handlers-read.d.ts.map +1 -0
- package/dist/tools/pages/handlers-read.js +260 -0
- package/dist/tools/pages/handlers-read.js.map +1 -0
- package/dist/tools/pages/handlers-write.d.ts +63 -0
- package/dist/tools/pages/handlers-write.d.ts.map +1 -0
- package/dist/tools/pages/handlers-write.js +127 -0
- package/dist/tools/pages/handlers-write.js.map +1 -0
- package/dist/tools/pages/index.d.ts +17 -0
- package/dist/tools/pages/index.d.ts.map +1 -0
- package/dist/tools/pages/index.js +17 -0
- package/dist/tools/pages/index.js.map +1 -0
- package/dist/tools/pages/schemas.d.ts +157 -0
- package/dist/tools/pages/schemas.d.ts.map +1 -0
- package/dist/tools/pages/schemas.js +232 -0
- package/dist/tools/pages/schemas.js.map +1 -0
- package/dist/tools/pages.d.ts +13 -0
- package/dist/tools/pages.d.ts.map +1 -0
- package/dist/tools/pages.js +13 -0
- package/dist/tools/pages.js.map +1 -0
- package/dist/tools/pool-resolve-helper.d.ts +83 -0
- package/dist/tools/pool-resolve-helper.d.ts.map +1 -0
- package/dist/tools/pool-resolve-helper.js +148 -0
- package/dist/tools/pool-resolve-helper.js.map +1 -0
- package/dist/tools/progress-phases.d.ts +46 -0
- package/dist/tools/progress-phases.d.ts.map +1 -0
- package/dist/tools/progress-phases.js +48 -0
- package/dist/tools/progress-phases.js.map +1 -0
- package/dist/tools/shared-schemas.d.ts +25 -0
- package/dist/tools/shared-schemas.d.ts.map +1 -0
- package/dist/tools/shared-schemas.js +72 -0
- package/dist/tools/shared-schemas.js.map +1 -0
- package/dist/tools/sources/builders.d.ts +13 -0
- package/dist/tools/sources/builders.d.ts.map +1 -0
- package/dist/tools/sources/builders.js +118 -0
- package/dist/tools/sources/builders.js.map +1 -0
- package/dist/tools/sources/handlers-bind.d.ts +28 -0
- package/dist/tools/sources/handlers-bind.d.ts.map +1 -0
- package/dist/tools/sources/handlers-bind.js +181 -0
- package/dist/tools/sources/handlers-bind.js.map +1 -0
- package/dist/tools/sources/handlers.d.ts +47 -0
- package/dist/tools/sources/handlers.d.ts.map +1 -0
- package/dist/tools/sources/handlers.js +108 -0
- package/dist/tools/sources/handlers.js.map +1 -0
- package/dist/tools/sources/index.d.ts +19 -0
- package/dist/tools/sources/index.d.ts.map +1 -0
- package/dist/tools/sources/index.js +18 -0
- package/dist/tools/sources/index.js.map +1 -0
- package/dist/tools/sources.d.ts +14 -0
- package/dist/tools/sources.d.ts.map +1 -0
- package/dist/tools/sources.js +14 -0
- package/dist/tools/sources.js.map +1 -0
- package/dist/tools/sparse-fields.d.ts +106 -0
- package/dist/tools/sparse-fields.d.ts.map +1 -0
- package/dist/tools/sparse-fields.js +165 -0
- package/dist/tools/sparse-fields.js.map +1 -0
- package/dist/tools/tool-builder/annotations.d.ts +55 -0
- package/dist/tools/tool-builder/annotations.d.ts.map +1 -0
- package/dist/tools/tool-builder/annotations.js +86 -0
- package/dist/tools/tool-builder/annotations.js.map +1 -0
- package/dist/tools/tool-builder/define.d.ts +31 -0
- package/dist/tools/tool-builder/define.d.ts.map +1 -0
- package/dist/tools/tool-builder/define.js +31 -0
- package/dist/tools/tool-builder/define.js.map +1 -0
- package/dist/tools/tool-builder/index.d.ts +28 -0
- package/dist/tools/tool-builder/index.d.ts.map +1 -0
- package/dist/tools/tool-builder/index.js +27 -0
- package/dist/tools/tool-builder/index.js.map +1 -0
- package/dist/tools/tool-builder/results.d.ts +104 -0
- package/dist/tools/tool-builder/results.d.ts.map +1 -0
- package/dist/tools/tool-builder/results.js +224 -0
- package/dist/tools/tool-builder/results.js.map +1 -0
- package/dist/tools/tool-builder/types.d.ts +97 -0
- package/dist/tools/tool-builder/types.d.ts.map +1 -0
- package/dist/tools/tool-builder/types.js +9 -0
- package/dist/tools/tool-builder/types.js.map +1 -0
- package/dist/tools/tool-builder.d.ts +16 -0
- package/dist/tools/tool-builder.d.ts.map +1 -0
- package/dist/tools/tool-builder.js +16 -0
- package/dist/tools/tool-builder.js.map +1 -0
- package/dist/uninstall-skill.d.ts +52 -0
- package/dist/uninstall-skill.d.ts.map +1 -0
- package/dist/uninstall-skill.js +146 -0
- package/dist/uninstall-skill.js.map +1 -0
- package/dist/uninstall.d.ts +73 -0
- package/dist/uninstall.d.ts.map +1 -0
- package/dist/uninstall.js +82 -0
- package/dist/uninstall.js.map +1 -0
- package/icon.png +0 -0
- package/manifest.json +10 -10
- package/package.json +4 -1
- package/skills/yt-builder-mcp/SKILL.md +30 -26
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Elements format-sidecar — pure transforms for `element_list` (table) and
|
|
3
|
+
* `element_get` (detail). Wave G.2.5 (Design §3.2 rows 9 / 10).
|
|
4
|
+
*
|
|
5
|
+
* @license MIT
|
|
6
|
+
*/
|
|
7
|
+
// ─── Element-list columns (Design §3.2 row 9) ────────────────────────
|
|
8
|
+
// F-06: PATH column widened to 64 chars + 'rel_path' shows just the
|
|
9
|
+
// template-layout suffix so every row stays uniquely identifiable in
|
|
10
|
+
// the text table. Full path remains available in structuredContent.
|
|
11
|
+
export const ELEMENTS_TABLE_COLUMNS = [
|
|
12
|
+
{ key: 'rel_path', label: 'PATH', width: 48, llmOnly: true },
|
|
13
|
+
{ key: 'element_type', label: 'TYPE', width: 16 },
|
|
14
|
+
{ key: 'label', label: 'LABEL', width: 28 },
|
|
15
|
+
{ key: 'has_binding', label: 'BIND', width: 8 },
|
|
16
|
+
];
|
|
17
|
+
/** Compact columns kick in at 21+ rows — keep path + type only. */
|
|
18
|
+
export const ELEMENTS_COMPACT_COLUMNS = [
|
|
19
|
+
{ key: 'rel_path', label: 'PATH', width: 48, llmOnly: true },
|
|
20
|
+
{ key: 'element_type', label: 'TYPE', width: 16 },
|
|
21
|
+
];
|
|
22
|
+
// ─── Row mapper ──────────────────────────────────────────────────────
|
|
23
|
+
function asString(v) {
|
|
24
|
+
return typeof v === 'string' ? v : '';
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Defensive `has_binding` derivation used when the REST plugin does not
|
|
28
|
+
* surface an explicit boolean. Mirrors `BindingSerializer::hasBinding()`
|
|
29
|
+
* on the PHP side so all readers agree on the same node.
|
|
30
|
+
*
|
|
31
|
+
* Task #43 (2026-05-29) — Bug A: precedence flipped to match PHP.
|
|
32
|
+
* 1. top-level node.source — YT-Pro canonical, writer-1.1.13+
|
|
33
|
+
* 2. props.source — pre-1.1.13 writer slot (back-compat)
|
|
34
|
+
* 3. node.source_extended — YT4 internal cached/expanded form
|
|
35
|
+
* 4. legacy plain-string source — pre-F-13 user data
|
|
36
|
+
*
|
|
37
|
+
* A node is "bound" if any carrier yields either a non-empty `query.name`
|
|
38
|
+
* OR at least one `props.<el>.name` field-mapping (inherit-from-parent
|
|
39
|
+
* pattern — the field-bindings reference the parent iteration source via
|
|
40
|
+
* the `${builder.source}` token without a local query name).
|
|
41
|
+
*/
|
|
42
|
+
function isStructuredBinding(src) {
|
|
43
|
+
if (src === null || typeof src !== 'object')
|
|
44
|
+
return false;
|
|
45
|
+
const obj = src;
|
|
46
|
+
const query = obj.query;
|
|
47
|
+
if (query !== null && typeof query === 'object') {
|
|
48
|
+
const name = query.name;
|
|
49
|
+
if (typeof name === 'string' && name.length > 0)
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
// No query name — bound only if at least one props.<el>.name field-
|
|
53
|
+
// mapping is present (inherit-from-parent pattern).
|
|
54
|
+
const props = obj.props;
|
|
55
|
+
if (props !== null && typeof props === 'object') {
|
|
56
|
+
for (const k of Object.keys(props)) {
|
|
57
|
+
const v = props[k];
|
|
58
|
+
if (v !== null && typeof v === 'object') {
|
|
59
|
+
const name = v.name;
|
|
60
|
+
if (typeof name === 'string' && name.length > 0)
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* True iff the node carries a source-binding. Exported so the
|
|
69
|
+
* layout-flatten helper (page_get_layout flat-mode) derives
|
|
70
|
+
* `has_binding` from the SAME logic element_list uses — one SSoT.
|
|
71
|
+
*/
|
|
72
|
+
export function hasSourceBinding(node) {
|
|
73
|
+
if (node === null || typeof node !== 'object')
|
|
74
|
+
return false;
|
|
75
|
+
const obj = node;
|
|
76
|
+
// (1) top-level node.source — YT-Pro canonical (Task #43 — Bug A).
|
|
77
|
+
if ('source' in obj) {
|
|
78
|
+
const src = obj.source;
|
|
79
|
+
if (typeof src === 'string') {
|
|
80
|
+
if (src.length > 0)
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
else if (isStructuredBinding(src)) {
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// (2) props.source — pre-1.1.13 writer slot (back-compat).
|
|
88
|
+
const props = obj.props;
|
|
89
|
+
if (props !== null && typeof props === 'object' && 'source' in props) {
|
|
90
|
+
const src = props.source;
|
|
91
|
+
if (typeof src === 'string') {
|
|
92
|
+
if (src.length > 0)
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
else if (isStructuredBinding(src)) {
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// (3) node.source_extended — YT4 cached/expanded.
|
|
100
|
+
if ('source_extended' in obj && isStructuredBinding(obj.source_extended)) {
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Maps an `/elements` row to the table shape.
|
|
107
|
+
*
|
|
108
|
+
* - `label` falls back to `title` (REST surface varies — newer builds emit
|
|
109
|
+
* `label`, older emit `title` as the human-readable name).
|
|
110
|
+
* - `has_binding` honours an explicit boolean from the REST plugin, else
|
|
111
|
+
* derives from `props.source` presence.
|
|
112
|
+
*/
|
|
113
|
+
export function mapElementRow(input) {
|
|
114
|
+
const label = asString(input.label) !== ''
|
|
115
|
+
? asString(input.label)
|
|
116
|
+
: asString(input.title);
|
|
117
|
+
const explicitBinding = typeof input.has_binding === 'boolean' ? input.has_binding : undefined;
|
|
118
|
+
const path = asString(input.path);
|
|
119
|
+
// F-06: derive relative path by stripping `/templates/<id>/layout` prefix
|
|
120
|
+
// so the LLM table column shows uniquely-identifying suffix.
|
|
121
|
+
const relPath = path.replace(/^\/templates\/[^/]+\/layout/, '') || '/';
|
|
122
|
+
return {
|
|
123
|
+
path,
|
|
124
|
+
rel_path: relPath,
|
|
125
|
+
element_type: asString(input.element_type),
|
|
126
|
+
label,
|
|
127
|
+
has_binding: explicitBinding ?? hasSourceBinding(input),
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
function summarizeProps(props) {
|
|
131
|
+
if (props === null || typeof props !== 'object')
|
|
132
|
+
return '—';
|
|
133
|
+
const keys = Object.keys(props);
|
|
134
|
+
if (keys.length === 0)
|
|
135
|
+
return '—';
|
|
136
|
+
if (keys.length <= 6)
|
|
137
|
+
return keys.join(', ');
|
|
138
|
+
return `${keys.slice(0, 6).join(', ')}, …(+${String(keys.length - 6)} more)`;
|
|
139
|
+
}
|
|
140
|
+
function listChildTypes(children) {
|
|
141
|
+
if (children.length === 0)
|
|
142
|
+
return '—';
|
|
143
|
+
const seen = new Map();
|
|
144
|
+
for (const c of children) {
|
|
145
|
+
const t = typeof c.type === 'string' ? c.type : '?';
|
|
146
|
+
seen.set(t, (seen.get(t) ?? 0) + 1);
|
|
147
|
+
}
|
|
148
|
+
return [...seen.entries()].map(([t, n]) => (n > 1 ? `${t}×${String(n)}` : t)).join(', ');
|
|
149
|
+
}
|
|
150
|
+
export function buildElementDetail(payload) {
|
|
151
|
+
const children = Array.isArray(payload.children) ? payload.children : [];
|
|
152
|
+
return {
|
|
153
|
+
title: `Element ${payload.path}`,
|
|
154
|
+
groups: [
|
|
155
|
+
{
|
|
156
|
+
label: 'Identity',
|
|
157
|
+
entries: [
|
|
158
|
+
{ key: 'path', label: 'Path', value: payload.path, format: 'code', copyable: true },
|
|
159
|
+
{ key: 'element_type', label: 'Type', value: payload.element_type, format: 'badge' },
|
|
160
|
+
...(typeof payload.label === 'string' && payload.label.length > 0
|
|
161
|
+
? [{ key: 'label', label: 'Label', value: payload.label }]
|
|
162
|
+
: []),
|
|
163
|
+
],
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
label: 'Props (summary)',
|
|
167
|
+
entries: [
|
|
168
|
+
{ key: 'keys', label: 'Keys', value: summarizeProps(payload.props) },
|
|
169
|
+
],
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
label: 'Children',
|
|
173
|
+
entries: [
|
|
174
|
+
{ key: 'count', label: 'Count', value: children.length, format: 'text' },
|
|
175
|
+
{ key: 'types', label: 'Types', value: listChildTypes(children) },
|
|
176
|
+
],
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
label: 'Next steps',
|
|
180
|
+
entries: [
|
|
181
|
+
{
|
|
182
|
+
key: 'next',
|
|
183
|
+
label: 'Suggestions',
|
|
184
|
+
value: 'Use yootheme_builder_element_update_settings to change props, ' +
|
|
185
|
+
'yootheme_builder_element_clone to duplicate, or ' +
|
|
186
|
+
'yootheme_builder_element_delete to remove (requires confirm).',
|
|
187
|
+
},
|
|
188
|
+
],
|
|
189
|
+
},
|
|
190
|
+
],
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=elements-format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elements-format.js","sourceRoot":"","sources":["../../../src/tools/format/elements-format.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Health format-sidecar — pure transforms for `yootheme_builder_health` and
|
|
3
|
+
* `yootheme_builder_diagnose`. Wave G.2.11 (Design §3.2 rows 1 / 2).
|
|
4
|
+
*
|
|
5
|
+
* Stateless helpers; the handlers themselves are tested separately in
|
|
6
|
+
* `tests/tools/health.test.ts` (probe orchestration + error paths).
|
|
7
|
+
*
|
|
8
|
+
* @license MIT
|
|
9
|
+
*/
|
|
10
|
+
import type { DetailGroup, StatsResultOptions } from '@getimo/mcp-toolkit';
|
|
11
|
+
export interface HealthPayload {
|
|
12
|
+
plugin_version: string;
|
|
13
|
+
yootheme_loaded: boolean;
|
|
14
|
+
yootheme_version?: string | null;
|
|
15
|
+
wp_version?: string | null;
|
|
16
|
+
cms?: string;
|
|
17
|
+
cms_version?: string;
|
|
18
|
+
php_version?: string;
|
|
19
|
+
storage_type?: string;
|
|
20
|
+
storage_target?: string;
|
|
21
|
+
available_endpoints?: string[];
|
|
22
|
+
site_url?: string | null;
|
|
23
|
+
home_url?: string | null;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Build the detail body for `yootheme_builder_health`.
|
|
27
|
+
*
|
|
28
|
+
* Three groups:
|
|
29
|
+
* 1. **Plugin** — plugin_version + yootheme_loaded + yootheme_version
|
|
30
|
+
* 2. **Host** — wp_version + php_version + storage info
|
|
31
|
+
* 3. **Endpoints** — count + a comma-separated sample (no full enumeration)
|
|
32
|
+
*
|
|
33
|
+
* Endpoint count rather than a long list keeps the detail card compact
|
|
34
|
+
* (real installs expose 16+ endpoints across pages/elements/sources/etc.).
|
|
35
|
+
*/
|
|
36
|
+
export declare function buildHealthDetail(payload: HealthPayload): {
|
|
37
|
+
groups: DetailGroup[];
|
|
38
|
+
title?: string;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Build the flat stats payload for `yootheme_builder_health` per
|
|
42
|
+
* Design-Doc §3.2 row 1 (Round-1 audit I1 fix). Returns the shape
|
|
43
|
+
* required by `@getimo/mcp-toolkit`'s `statsResult({ stats: [...] })`:
|
|
44
|
+
* a flat metric array (no nested groups) suitable for the stats-display
|
|
45
|
+
* Rich-Card variant.
|
|
46
|
+
*
|
|
47
|
+
* Metrics shipped (per Design-Doc §3.2 row 1 spec):
|
|
48
|
+
* plugin_version, yootheme_version, wp_version, php_version,
|
|
49
|
+
* storage_type, yootheme_loaded, endpoint_count
|
|
50
|
+
*
|
|
51
|
+
* `available_endpoints` is condensed to `endpoint_count` here — the
|
|
52
|
+
* full enumeration lives in the structuredContent payload for hosts
|
|
53
|
+
* that want it.
|
|
54
|
+
*/
|
|
55
|
+
export declare function buildHealthStats(payload: HealthPayload): StatsResultOptions;
|
|
56
|
+
export interface DiagnoseChecks {
|
|
57
|
+
plugin_reachable: boolean;
|
|
58
|
+
plugin_version?: string;
|
|
59
|
+
yootheme_loaded?: boolean;
|
|
60
|
+
yootheme_version?: string | null;
|
|
61
|
+
endpoint_count?: number;
|
|
62
|
+
plugin_error?: string;
|
|
63
|
+
bearer_valid?: boolean;
|
|
64
|
+
bearer_error?: string;
|
|
65
|
+
site_url?: string | null;
|
|
66
|
+
home_url?: string | null;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Build the detail body for `yootheme_builder_diagnose`.
|
|
70
|
+
*
|
|
71
|
+
* Always 2 groups: Plugin probe + Bearer probe. The Bearer group is still
|
|
72
|
+
* present when the plugin is unreachable — its entries collapse to N/A so
|
|
73
|
+
* the structure stays stable across success / partial-fail / full-fail.
|
|
74
|
+
*/
|
|
75
|
+
export declare function buildDiagnoseDetail(checks: DiagnoseChecks): {
|
|
76
|
+
groups: DetailGroup[];
|
|
77
|
+
title?: string;
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=health-format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health-format.d.ts","sourceRoot":"","sources":["../../../src/tools/format/health-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAI3E,MAAM,WAAW,aAAa;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IAMzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAG/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG;IACvD,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CA6DA;AAQD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,kBAAkB,CA0C3E;AAID,MAAM,WAAW,cAAc;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG;IACzD,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CA6BA"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Health format-sidecar — pure transforms for `yootheme_builder_health` and
|
|
3
|
+
* `yootheme_builder_diagnose`. Wave G.2.11 (Design §3.2 rows 1 / 2).
|
|
4
|
+
*
|
|
5
|
+
* Stateless helpers; the handlers themselves are tested separately in
|
|
6
|
+
* `tests/tools/health.test.ts` (probe orchestration + error paths).
|
|
7
|
+
*
|
|
8
|
+
* @license MIT
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Build the detail body for `yootheme_builder_health`.
|
|
12
|
+
*
|
|
13
|
+
* Three groups:
|
|
14
|
+
* 1. **Plugin** — plugin_version + yootheme_loaded + yootheme_version
|
|
15
|
+
* 2. **Host** — wp_version + php_version + storage info
|
|
16
|
+
* 3. **Endpoints** — count + a comma-separated sample (no full enumeration)
|
|
17
|
+
*
|
|
18
|
+
* Endpoint count rather than a long list keeps the detail card compact
|
|
19
|
+
* (real installs expose 16+ endpoints across pages/elements/sources/etc.).
|
|
20
|
+
*/
|
|
21
|
+
export function buildHealthDetail(payload) {
|
|
22
|
+
const endpoints = payload.available_endpoints ?? [];
|
|
23
|
+
const endpointPreview = summarizeEndpoints(endpoints);
|
|
24
|
+
// Cross-platform CMS label: WP emits wp_version, Joomla emits cms/cms_version.
|
|
25
|
+
const cmsLabel = payload.cms === 'joomla' ? 'Joomla version' : 'CMS / WP version';
|
|
26
|
+
const cmsVersion = payload.wp_version ?? payload.cms_version ?? null;
|
|
27
|
+
return {
|
|
28
|
+
title: 'YT Builder MCP — Health',
|
|
29
|
+
groups: [
|
|
30
|
+
{
|
|
31
|
+
label: 'Plugin',
|
|
32
|
+
entries: [
|
|
33
|
+
{
|
|
34
|
+
key: 'plugin_version',
|
|
35
|
+
label: 'Plugin version',
|
|
36
|
+
value: payload.plugin_version,
|
|
37
|
+
format: 'badge',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
key: 'yootheme_loaded',
|
|
41
|
+
label: 'YOOtheme loaded',
|
|
42
|
+
value: payload.yootheme_loaded,
|
|
43
|
+
format: 'boolean',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
key: 'yootheme_version',
|
|
47
|
+
label: 'YOOtheme version',
|
|
48
|
+
value: payload.yootheme_version ?? null,
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
label: 'Host',
|
|
54
|
+
entries: [
|
|
55
|
+
{ key: 'cms_version', label: cmsLabel, value: cmsVersion },
|
|
56
|
+
{ key: 'php_version', label: 'PHP version', value: payload.php_version ?? null },
|
|
57
|
+
{
|
|
58
|
+
key: 'storage_type',
|
|
59
|
+
label: 'Storage type',
|
|
60
|
+
value: payload.storage_type ?? null,
|
|
61
|
+
format: 'badge',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
key: 'storage_target',
|
|
65
|
+
label: 'Storage target',
|
|
66
|
+
value: payload.storage_target ?? null,
|
|
67
|
+
format: 'code',
|
|
68
|
+
copyable: true,
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
label: 'Endpoints',
|
|
74
|
+
entries: [
|
|
75
|
+
{ key: 'count', label: 'Count', value: endpoints.length, format: 'text' },
|
|
76
|
+
{ key: 'sample', label: 'Sample', value: endpointPreview },
|
|
77
|
+
],
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function summarizeEndpoints(endpoints) {
|
|
83
|
+
if (endpoints.length === 0)
|
|
84
|
+
return '—';
|
|
85
|
+
if (endpoints.length <= 6)
|
|
86
|
+
return endpoints.join(', ');
|
|
87
|
+
return `${endpoints.slice(0, 6).join(', ')}, …(+${String(endpoints.length - 6)} more)`;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Build the flat stats payload for `yootheme_builder_health` per
|
|
91
|
+
* Design-Doc §3.2 row 1 (Round-1 audit I1 fix). Returns the shape
|
|
92
|
+
* required by `@getimo/mcp-toolkit`'s `statsResult({ stats: [...] })`:
|
|
93
|
+
* a flat metric array (no nested groups) suitable for the stats-display
|
|
94
|
+
* Rich-Card variant.
|
|
95
|
+
*
|
|
96
|
+
* Metrics shipped (per Design-Doc §3.2 row 1 spec):
|
|
97
|
+
* plugin_version, yootheme_version, wp_version, php_version,
|
|
98
|
+
* storage_type, yootheme_loaded, endpoint_count
|
|
99
|
+
*
|
|
100
|
+
* `available_endpoints` is condensed to `endpoint_count` here — the
|
|
101
|
+
* full enumeration lives in the structuredContent payload for hosts
|
|
102
|
+
* that want it.
|
|
103
|
+
*/
|
|
104
|
+
export function buildHealthStats(payload) {
|
|
105
|
+
return {
|
|
106
|
+
title: 'YT Builder MCP — Health',
|
|
107
|
+
stats: [
|
|
108
|
+
{
|
|
109
|
+
key: 'plugin_version',
|
|
110
|
+
label: 'Plugin version',
|
|
111
|
+
value: payload.plugin_version,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
key: 'yootheme_version',
|
|
115
|
+
label: 'YOOtheme version',
|
|
116
|
+
value: payload.yootheme_version ?? '—',
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
key: 'wp_version',
|
|
120
|
+
label: payload.cms === 'joomla' ? 'Joomla version' : 'WordPress version',
|
|
121
|
+
value: payload.wp_version ?? payload.cms_version ?? '—',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
key: 'php_version',
|
|
125
|
+
label: 'PHP version',
|
|
126
|
+
value: payload.php_version ?? '—',
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
key: 'storage_type',
|
|
130
|
+
label: 'Storage type',
|
|
131
|
+
value: payload.storage_type ?? '—',
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
key: 'yootheme_loaded',
|
|
135
|
+
label: 'YOOtheme loaded',
|
|
136
|
+
value: payload.yootheme_loaded,
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
key: 'endpoint_count',
|
|
140
|
+
label: 'Endpoint count',
|
|
141
|
+
value: (payload.available_endpoints ?? []).length,
|
|
142
|
+
format: 'number',
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Build the detail body for `yootheme_builder_diagnose`.
|
|
149
|
+
*
|
|
150
|
+
* Always 2 groups: Plugin probe + Bearer probe. The Bearer group is still
|
|
151
|
+
* present when the plugin is unreachable — its entries collapse to N/A so
|
|
152
|
+
* the structure stays stable across success / partial-fail / full-fail.
|
|
153
|
+
*/
|
|
154
|
+
export function buildDiagnoseDetail(checks) {
|
|
155
|
+
const pluginEntries = [
|
|
156
|
+
{ key: 'plugin_reachable', label: 'Reachable', value: checks.plugin_reachable, format: 'boolean' },
|
|
157
|
+
];
|
|
158
|
+
if (typeof checks.plugin_version === 'string')
|
|
159
|
+
pluginEntries.push({ key: 'plugin_version', label: 'Plugin version', value: checks.plugin_version, format: 'badge' });
|
|
160
|
+
if (typeof checks.yootheme_loaded === 'boolean')
|
|
161
|
+
pluginEntries.push({ key: 'yootheme_loaded', label: 'YOOtheme loaded', value: checks.yootheme_loaded, format: 'boolean' });
|
|
162
|
+
if (typeof checks.yootheme_version === 'string')
|
|
163
|
+
pluginEntries.push({ key: 'yootheme_version', label: 'YOOtheme version', value: checks.yootheme_version });
|
|
164
|
+
if (typeof checks.endpoint_count === 'number')
|
|
165
|
+
pluginEntries.push({ key: 'endpoint_count', label: 'Endpoint count', value: checks.endpoint_count, format: 'text' });
|
|
166
|
+
if (typeof checks.plugin_error === 'string')
|
|
167
|
+
pluginEntries.push({ key: 'plugin_error', label: 'Plugin error', value: checks.plugin_error, format: 'code' });
|
|
168
|
+
const bearerEntries = typeof checks.bearer_valid === 'boolean'
|
|
169
|
+
? [{ key: 'bearer_valid', label: 'Bearer valid', value: checks.bearer_valid, format: 'boolean' }]
|
|
170
|
+
: [{ key: 'bearer_valid', label: 'Bearer valid', value: null }];
|
|
171
|
+
if (typeof checks.bearer_error === 'string')
|
|
172
|
+
bearerEntries.push({ key: 'bearer_error', label: 'Bearer error', value: checks.bearer_error, format: 'code' });
|
|
173
|
+
return {
|
|
174
|
+
title: 'YT Builder MCP — Diagnose',
|
|
175
|
+
groups: [
|
|
176
|
+
{ label: 'Plugin probe', entries: pluginEntries },
|
|
177
|
+
{ label: 'Bearer probe', entries: bearerEntries },
|
|
178
|
+
],
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=health-format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health-format.js","sourceRoot":"","sources":["../../../src/tools/format/health-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA4BH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAsB;IAIpD,MAAM,SAAS,GAAG,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC;IACpD,MAAM,eAAe,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACtD,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAClF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;IAErE,OAAO;QACH,KAAK,EAAE,yBAAyB;QAChC,MAAM,EAAE;YACJ;gBACI,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE;oBACL;wBACI,GAAG,EAAE,gBAAgB;wBACrB,KAAK,EAAE,gBAAgB;wBACvB,KAAK,EAAE,OAAO,CAAC,cAAc;wBAC7B,MAAM,EAAE,OAAO;qBAClB;oBACD;wBACI,GAAG,EAAE,iBAAiB;wBACtB,KAAK,EAAE,iBAAiB;wBACxB,KAAK,EAAE,OAAO,CAAC,eAAe;wBAC9B,MAAM,EAAE,SAAS;qBACpB;oBACD;wBACI,GAAG,EAAE,kBAAkB;wBACvB,KAAK,EAAE,kBAAkB;wBACzB,KAAK,EAAE,OAAO,CAAC,gBAAgB,IAAI,IAAI;qBAC1C;iBACJ;aACJ;YACD;gBACI,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE;oBACL,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;oBAC1D,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE;oBAChF;wBACI,GAAG,EAAE,cAAc;wBACnB,KAAK,EAAE,cAAc;wBACrB,KAAK,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;wBACnC,MAAM,EAAE,OAAO;qBAClB;oBACD;wBACI,GAAG,EAAE,gBAAgB;wBACrB,KAAK,EAAE,gBAAgB;wBACvB,KAAK,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;wBACrC,MAAM,EAAE,MAAM;wBACd,QAAQ,EAAE,IAAI;qBACjB;iBACJ;aACJ;YACD;gBACI,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE;oBACL,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;oBACzE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE;iBAC7D;aACJ;SACJ;KACJ,CAAC;AACN,CAAC;AAED,SAAS,kBAAkB,CAAC,SAA4B;IACpD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACvC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC;AAC3F,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAsB;IACnD,OAAO;QACH,KAAK,EAAE,yBAAyB;QAChC,KAAK,EAAE;YACH;gBACI,GAAG,EAAE,gBAAgB;gBACrB,KAAK,EAAE,gBAAgB;gBACvB,KAAK,EAAE,OAAO,CAAC,cAAc;aAChC;YACD;gBACI,GAAG,EAAE,kBAAkB;gBACvB,KAAK,EAAE,kBAAkB;gBACzB,KAAK,EAAE,OAAO,CAAC,gBAAgB,IAAI,GAAG;aACzC;YACD;gBACI,GAAG,EAAE,YAAY;gBACjB,KAAK,EAAE,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB;gBACxE,KAAK,EAAE,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,WAAW,IAAI,GAAG;aAC1D;YACD;gBACI,GAAG,EAAE,aAAa;gBAClB,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;aACpC;YACD;gBACI,GAAG,EAAE,cAAc;gBACnB,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,OAAO,CAAC,YAAY,IAAI,GAAG;aACrC;YACD;gBACI,GAAG,EAAE,iBAAiB;gBACtB,KAAK,EAAE,iBAAiB;gBACxB,KAAK,EAAE,OAAO,CAAC,eAAe;aACjC;YACD;gBACI,GAAG,EAAE,gBAAgB;gBACrB,KAAK,EAAE,gBAAgB;gBACvB,KAAK,EAAE,CAAC,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,MAAM;gBACjD,MAAM,EAAE,QAAQ;aACnB;SACJ;KACJ,CAAC;AACN,CAAC;AAkBD;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAsB;IAItD,MAAM,aAAa,GAA2B;QAC1C,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE;KACrG,CAAC;IACF,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ;QACzC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1H,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,SAAS;QAC3C,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/H,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ;QAC3C,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC/G,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ;QACzC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACzH,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ;QACvC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnH,MAAM,aAAa,GACf,OAAO,MAAM,CAAC,YAAY,KAAK,SAAS;QACpC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACjG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ;QACvC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnH,OAAO;QACH,KAAK,EAAE,2BAA2B;QAClC,MAAM,EAAE;YACJ,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE;YACjD,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE;SACpD;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inspection format-sidecar — pure transforms for `element_types_list` (table)
|
|
3
|
+
* and `element_type_get_schema` (detail). Wave G.2.9 (Design §3.2 rows 11 / 12).
|
|
4
|
+
*
|
|
5
|
+
* These functions are stateless. The handlers themselves are tested separately
|
|
6
|
+
* in `tests/tools/inspection.test.ts` (shape pins on the REST URL).
|
|
7
|
+
*
|
|
8
|
+
* @license MIT
|
|
9
|
+
*/
|
|
10
|
+
import type { DetailGroup, TableColumn } from '@getimo/mcp-toolkit';
|
|
11
|
+
/** Full columns for `yootheme_builder_element_types_list`. */
|
|
12
|
+
export declare const TYPES_TABLE_COLUMNS: readonly TableColumn[];
|
|
13
|
+
/** Compact columns kick in at 21+ rows — drop the boolean. */
|
|
14
|
+
export declare const TYPES_COMPACT_COLUMNS: readonly TableColumn[];
|
|
15
|
+
export interface TypeRow {
|
|
16
|
+
name: string;
|
|
17
|
+
label: string;
|
|
18
|
+
origin: string;
|
|
19
|
+
has_children_support: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Maps an `/element-types` row to the table shape.
|
|
23
|
+
*
|
|
24
|
+
* - `has_children_support` honours an explicit boolean (the canonical
|
|
25
|
+
* column key on the MCP-TS side). The PHP REST envelope surfaces both
|
|
26
|
+
* `has_children` (its canonical key) AND `has_children_support` (this
|
|
27
|
+
* alias) for every row — accept either to ride out a deploy skew where
|
|
28
|
+
* the wp-plugin and npm-package versions are temporarily out of step.
|
|
29
|
+
* Maria-Audit Stream C2 F-03 v2 (2026-05-22).
|
|
30
|
+
* - Falls back to presence of a `children` field on the type definition.
|
|
31
|
+
* - Missing fields default to empty.
|
|
32
|
+
*/
|
|
33
|
+
export declare function mapTypeRow(input: Record<string, unknown>): TypeRow;
|
|
34
|
+
/**
|
|
35
|
+
* The REST plugin exposes element types in one of three shapes:
|
|
36
|
+
*
|
|
37
|
+
* 1. F-03 v2 (current — Maria-Audit Stream C2 2026-05-22): wrapper object
|
|
38
|
+
* `{items: [{name, label, origin, has_children, has_children_support,
|
|
39
|
+
* …}], total, element_types: [<string>, …]}`. This is the richest
|
|
40
|
+
* shape and the only one carrying label/origin/has_children — prefer
|
|
41
|
+
* it always.
|
|
42
|
+
* 2. Legacy F-03 v1: wrapper object `{element_types: [<string>, …]}`
|
|
43
|
+
* with name-only entries (older WP-plugin versions). Used as the
|
|
44
|
+
* back-compat fallback when `items` is absent.
|
|
45
|
+
* 3. Flat array of `{name, …}` objects — never seen on the live
|
|
46
|
+
* yt-builder-mcp REST but kept for paranoia.
|
|
47
|
+
*/
|
|
48
|
+
export declare function flattenTypesPayload(payload: unknown): Record<string, unknown>[];
|
|
49
|
+
export interface BindingContractDetail {
|
|
50
|
+
kind: 'container' | 'item' | 'leaf' | 'none';
|
|
51
|
+
pattern: string;
|
|
52
|
+
child_type?: string;
|
|
53
|
+
binding_target_props?: readonly string[];
|
|
54
|
+
set_via_tool?: string;
|
|
55
|
+
discover_source_tool?: string;
|
|
56
|
+
do_not?: readonly string[];
|
|
57
|
+
minimal_layout?: Record<string, unknown>;
|
|
58
|
+
}
|
|
59
|
+
export declare function buildTypeSchemaDetail(payload: {
|
|
60
|
+
name: string;
|
|
61
|
+
label?: string;
|
|
62
|
+
origin?: string;
|
|
63
|
+
fields?: unknown;
|
|
64
|
+
bindingContract?: BindingContractDetail;
|
|
65
|
+
}): {
|
|
66
|
+
groups: DetailGroup[];
|
|
67
|
+
title?: string;
|
|
68
|
+
appendText?: string;
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=inspection-format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspection-format.d.ts","sourceRoot":"","sources":["../../../src/tools/format/inspection-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIpE,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB,EAAE,SAAS,WAAW,EAKrD,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,EAAE,SAAS,WAAW,EAIvD,CAAC;AAYF,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAkBlE;AAUD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAkB/E;AA+LD,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,qBAAqB,CAAC;CAC3C,GAAG;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAoFjE"}
|