@wootsup/yt-builder-mcp 1.12.0 → 2.1.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 +139 -40
- package/bin/node-floor.d.ts +28 -0
- package/bin/node-floor.js +150 -0
- package/bin/yt-builder-mcp.js +51 -10
- package/dist/auth.d.ts +3 -121
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +44 -174
- package/dist/auth.js.map +1 -1
- package/dist/catalog/build-catalog.d.ts +4 -49
- package/dist/catalog/build-catalog.d.ts.map +1 -1
- package/dist/catalog/build-catalog.js +15 -126
- package/dist/catalog/build-catalog.js.map +1 -1
- package/dist/catalog/json-schema.d.ts +3 -0
- package/dist/catalog/json-schema.d.ts.map +1 -0
- package/dist/catalog/json-schema.js +68 -0
- package/dist/catalog/json-schema.js.map +1 -0
- package/dist/catalog/output-shapes.d.ts +6 -0
- package/dist/catalog/output-shapes.d.ts.map +1 -0
- package/dist/catalog/output-shapes.js +89 -0
- package/dist/catalog/output-shapes.js.map +1 -0
- package/dist/catalog/tool-catalog-markdown.d.ts +1 -37
- package/dist/catalog/tool-catalog-markdown.d.ts.map +1 -1
- package/dist/catalog/tool-catalog-markdown.js +8 -52
- package/dist/catalog/tool-catalog-markdown.js.map +1 -1
- package/dist/cli/doctor-command.d.ts +2 -7
- package/dist/cli/doctor-command.d.ts.map +1 -1
- package/dist/cli/doctor-command.js +21 -62
- package/dist/cli/doctor-command.js.map +1 -1
- package/dist/cli/invocation-decision.d.ts +4 -52
- package/dist/cli/invocation-decision.d.ts.map +1 -1
- package/dist/cli/invocation-decision.js +46 -55
- package/dist/cli/invocation-decision.js.map +1 -1
- package/dist/client.d.ts +3 -107
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +34 -115
- package/dist/client.js.map +1 -1
- package/dist/clients/claude-code.d.ts +0 -15
- package/dist/clients/claude-code.d.ts.map +1 -1
- package/dist/clients/claude-code.js +1 -23
- package/dist/clients/claude-code.js.map +1 -1
- package/dist/clients/claude-desktop.d.ts +0 -16
- package/dist/clients/claude-desktop.d.ts.map +1 -1
- package/dist/clients/claude-desktop.js +1 -19
- package/dist/clients/claude-desktop.js.map +1 -1
- package/dist/clients/cline.d.ts +0 -23
- package/dist/clients/cline.d.ts.map +1 -1
- package/dist/clients/cline.js +1 -34
- package/dist/clients/cline.js.map +1 -1
- package/dist/clients/codex-cli.d.ts +0 -39
- package/dist/clients/codex-cli.d.ts.map +1 -1
- package/dist/clients/codex-cli.js +12 -147
- package/dist/clients/codex-cli.js.map +1 -1
- package/dist/clients/config-file.d.ts +15 -0
- package/dist/clients/config-file.d.ts.map +1 -0
- package/dist/clients/config-file.js +86 -0
- package/dist/clients/config-file.js.map +1 -0
- package/dist/clients/continue.d.ts +0 -10
- package/dist/clients/continue.d.ts.map +1 -1
- package/dist/clients/continue.js +3 -30
- package/dist/clients/continue.js.map +1 -1
- package/dist/clients/cursor.d.ts +0 -9
- package/dist/clients/cursor.d.ts.map +1 -1
- package/dist/clients/cursor.js +1 -12
- package/dist/clients/cursor.js.map +1 -1
- package/dist/clients/gemini-cli.d.ts +0 -15
- package/dist/clients/gemini-cli.d.ts.map +1 -1
- package/dist/clients/gemini-cli.js +1 -18
- package/dist/clients/gemini-cli.js.map +1 -1
- package/dist/clients/home.d.ts +0 -12
- package/dist/clients/home.d.ts.map +1 -1
- package/dist/clients/home.js +0 -12
- package/dist/clients/home.js.map +1 -1
- package/dist/clients/index.d.ts +2 -153
- package/dist/clients/index.d.ts.map +1 -1
- package/dist/clients/index.js +3 -153
- package/dist/clients/index.js.map +1 -1
- package/dist/clients/roo-code.d.ts +0 -20
- package/dist/clients/roo-code.d.ts.map +1 -1
- package/dist/clients/roo-code.js +1 -23
- package/dist/clients/roo-code.js.map +1 -1
- package/dist/clients/zed.d.ts +0 -9
- package/dist/clients/zed.d.ts.map +1 -1
- package/dist/clients/zed.js +1 -19
- package/dist/clients/zed.js.map +1 -1
- package/dist/compat-floor.d.ts +35 -0
- package/dist/compat-floor.d.ts.map +1 -0
- package/dist/compat-floor.js +84 -0
- package/dist/compat-floor.js.map +1 -0
- package/dist/compat-probe.d.ts +6 -0
- package/dist/compat-probe.d.ts.map +1 -0
- package/dist/compat-probe.js +20 -0
- package/dist/compat-probe.js.map +1 -0
- package/dist/diagnostics/ca-reexec.d.ts +0 -30
- package/dist/diagnostics/ca-reexec.d.ts.map +1 -1
- package/dist/diagnostics/ca-reexec.js +0 -62
- package/dist/diagnostics/ca-reexec.js.map +1 -1
- package/dist/diagnostics/ca-trust.d.ts +0 -22
- package/dist/diagnostics/ca-trust.d.ts.map +1 -1
- package/dist/diagnostics/ca-trust.js +3 -42
- package/dist/diagnostics/ca-trust.js.map +1 -1
- package/dist/diagnostics/diagnose-network-error.d.ts +1 -38
- package/dist/diagnostics/diagnose-network-error.d.ts.map +1 -1
- package/dist/diagnostics/diagnose-network-error.js +27 -38
- package/dist/diagnostics/diagnose-network-error.js.map +1 -1
- package/dist/diagnostics/doctor.d.ts +1 -85
- package/dist/diagnostics/doctor.d.ts.map +1 -1
- package/dist/diagnostics/doctor.js +7 -92
- package/dist/diagnostics/doctor.js.map +1 -1
- package/dist/diagnostics/startup-self-probe.d.ts +3 -25
- package/dist/diagnostics/startup-self-probe.d.ts.map +1 -1
- package/dist/diagnostics/startup-self-probe.js +11 -48
- package/dist/diagnostics/startup-self-probe.js.map +1 -1
- package/dist/errors/hints.d.ts +0 -44
- package/dist/errors/hints.d.ts.map +1 -1
- package/dist/errors/hints.js +1 -33
- package/dist/errors/hints.js.map +1 -1
- package/dist/errors/mask.d.ts +0 -31
- package/dist/errors/mask.d.ts.map +1 -1
- package/dist/errors/mask.js +0 -32
- package/dist/errors/mask.js.map +1 -1
- package/dist/errors/redact-credentials.d.ts +2 -0
- package/dist/errors/redact-credentials.d.ts.map +1 -0
- package/dist/errors/redact-credentials.js +13 -0
- package/dist/errors/redact-credentials.js.map +1 -0
- package/dist/errors/sanitize.d.ts +0 -29
- package/dist/errors/sanitize.d.ts.map +1 -1
- package/dist/errors/sanitize.js +0 -40
- package/dist/errors/sanitize.js.map +1 -1
- package/dist/errors.d.ts +6 -17
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +16 -21
- package/dist/errors.js.map +1 -1
- package/dist/gateway/advanced-read-tool.d.ts +0 -32
- package/dist/gateway/advanced-read-tool.d.ts.map +1 -1
- package/dist/gateway/advanced-read-tool.js +43 -111
- package/dist/gateway/advanced-read-tool.js.map +1 -1
- package/dist/gateway/advanced-tool/discovery.d.ts +1 -12
- package/dist/gateway/advanced-tool/discovery.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/discovery.js +15 -24
- package/dist/gateway/advanced-tool/discovery.js.map +1 -1
- package/dist/gateway/advanced-tool/domains.d.ts +7 -66
- package/dist/gateway/advanced-tool/domains.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/domains.js +36 -80
- package/dist/gateway/advanced-tool/domains.js.map +1 -1
- package/dist/gateway/advanced-tool/execute.d.ts +0 -25
- package/dist/gateway/advanced-tool/execute.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/execute.js +13 -49
- package/dist/gateway/advanced-tool/execute.js.map +1 -1
- package/dist/gateway/advanced-tool/index.d.ts +1 -32
- package/dist/gateway/advanced-tool/index.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/index.js +1 -35
- package/dist/gateway/advanced-tool/index.js.map +1 -1
- package/dist/gateway/advanced-tool/register.d.ts +0 -14
- package/dist/gateway/advanced-tool/register.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/register.js +22 -58
- package/dist/gateway/advanced-tool/register.js.map +1 -1
- package/dist/gateway/advanced-tool.d.ts +0 -11
- package/dist/gateway/advanced-tool.d.ts.map +1 -1
- package/dist/gateway/advanced-tool.js +0 -11
- package/dist/gateway/advanced-tool.js.map +1 -1
- package/dist/gateway/capturing-server.d.ts +3 -88
- package/dist/gateway/capturing-server.d.ts.map +1 -1
- package/dist/gateway/capturing-server.js +0 -77
- package/dist/gateway/capturing-server.js.map +1 -1
- package/dist/gateway/essentials.d.ts +1 -63
- package/dist/gateway/essentials.d.ts.map +1 -1
- package/dist/gateway/essentials.js +9 -178
- package/dist/gateway/essentials.js.map +1 -1
- package/dist/gateway/test-support.d.ts +0 -28
- package/dist/gateway/test-support.d.ts.map +1 -1
- package/dist/gateway/test-support.js +0 -29
- package/dist/gateway/test-support.js.map +1 -1
- package/dist/health-response.d.ts +2 -0
- package/dist/health-response.d.ts.map +1 -0
- package/dist/health-response.js +7 -0
- package/dist/health-response.js.map +1 -0
- package/dist/icon-data.js +0 -3
- package/dist/icon-data.js.map +1 -1
- package/dist/index.d.ts +7 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -130
- package/dist/index.js.map +1 -1
- package/dist/install-skill.d.ts +0 -44
- package/dist/install-skill.d.ts.map +1 -1
- package/dist/install-skill.js +8 -48
- package/dist/install-skill.js.map +1 -1
- package/dist/net/extra-headers.d.ts +0 -58
- package/dist/net/extra-headers.d.ts.map +1 -1
- package/dist/net/extra-headers.js +0 -67
- package/dist/net/extra-headers.js.map +1 -1
- package/dist/net/internal-host.d.ts +0 -31
- package/dist/net/internal-host.d.ts.map +1 -1
- package/dist/net/internal-host.js +7 -65
- package/dist/net/internal-host.js.map +1 -1
- package/dist/net/proxy-dispatcher.d.ts +0 -37
- package/dist/net/proxy-dispatcher.d.ts.map +1 -1
- package/dist/net/proxy-dispatcher.js +0 -40
- package/dist/net/proxy-dispatcher.js.map +1 -1
- package/dist/net/public-fetch.d.ts +53 -0
- package/dist/net/public-fetch.d.ts.map +1 -0
- package/dist/net/public-fetch.js +143 -0
- package/dist/net/public-fetch.js.map +1 -0
- package/dist/net/public-page-report.d.ts +26 -0
- package/dist/net/public-page-report.d.ts.map +1 -0
- package/dist/net/public-page-report.js +145 -0
- package/dist/net/public-page-report.js.map +1 -0
- package/dist/net/redirect-safe-fetch.d.ts +14 -0
- package/dist/net/redirect-safe-fetch.d.ts.map +1 -0
- package/dist/net/redirect-safe-fetch.js +61 -0
- package/dist/net/redirect-safe-fetch.js.map +1 -0
- package/dist/net/session-recovery-fetch.d.ts +7 -0
- package/dist/net/session-recovery-fetch.d.ts.map +1 -0
- package/dist/net/session-recovery-fetch.js +139 -0
- package/dist/net/session-recovery-fetch.js.map +1 -0
- package/dist/net/site-basic-auth.d.ts +1 -59
- package/dist/net/site-basic-auth.d.ts.map +1 -1
- package/dist/net/site-basic-auth.js +5 -94
- package/dist/net/site-basic-auth.js.map +1 -1
- package/dist/package-version.d.ts +2 -0
- package/dist/package-version.d.ts.map +1 -0
- package/dist/package-version.js +15 -0
- package/dist/package-version.js.map +1 -0
- package/dist/platform/detect.d.ts +0 -54
- package/dist/platform/detect.d.ts.map +1 -1
- package/dist/platform/detect.js +0 -53
- package/dist/platform/detect.js.map +1 -1
- package/dist/platform/index.d.ts +0 -100
- package/dist/platform/index.d.ts.map +1 -1
- package/dist/platform/index.js +0 -106
- package/dist/platform/index.js.map +1 -1
- package/dist/platform/joomla.d.ts +0 -35
- package/dist/platform/joomla.d.ts.map +1 -1
- package/dist/platform/joomla.js +0 -35
- package/dist/platform/joomla.js.map +1 -1
- package/dist/product-name.d.ts +2 -0
- package/dist/product-name.d.ts.map +1 -0
- package/dist/product-name.js +2 -0
- package/dist/product-name.js.map +1 -0
- package/dist/proxy/bridge.d.ts +36 -76
- package/dist/proxy/bridge.d.ts.map +1 -1
- package/dist/proxy/bridge.js +443 -136
- package/dist/proxy/bridge.js.map +1 -1
- package/dist/proxy/confirm-elicitation.d.ts +22 -0
- package/dist/proxy/confirm-elicitation.d.ts.map +1 -0
- package/dist/proxy/confirm-elicitation.js +170 -0
- package/dist/proxy/confirm-elicitation.js.map +1 -0
- package/dist/proxy/confirm-question-contract.d.ts +6 -0
- package/dist/proxy/confirm-question-contract.d.ts.map +1 -0
- package/dist/proxy/confirm-question-contract.js +9 -0
- package/dist/proxy/confirm-question-contract.js.map +1 -0
- package/dist/proxy/confirm-question.d.ts +2 -0
- package/dist/proxy/confirm-question.d.ts.map +1 -0
- package/dist/proxy/confirm-question.js +125 -0
- package/dist/proxy/confirm-question.js.map +1 -0
- package/dist/proxy/instructions.d.ts +4 -0
- package/dist/proxy/instructions.d.ts.map +1 -0
- package/dist/proxy/instructions.js +12 -0
- package/dist/proxy/instructions.js.map +1 -0
- package/dist/proxy/mode.d.ts +14 -9
- package/dist/proxy/mode.d.ts.map +1 -1
- package/dist/proxy/mode.js +58 -34
- package/dist/proxy/mode.js.map +1 -1
- package/dist/proxy/multi-site.d.ts +42 -0
- package/dist/proxy/multi-site.d.ts.map +1 -0
- package/dist/proxy/multi-site.js +134 -0
- package/dist/proxy/multi-site.js.map +1 -0
- package/dist/proxy/request-headers.d.ts +9 -0
- package/dist/proxy/request-headers.d.ts.map +1 -0
- package/dist/proxy/request-headers.js +17 -0
- package/dist/proxy/request-headers.js.map +1 -0
- package/dist/proxy/shadow-tools.d.ts +9 -0
- package/dist/proxy/shadow-tools.d.ts.map +1 -0
- package/dist/proxy/shadow-tools.js +42 -0
- package/dist/proxy/shadow-tools.js.map +1 -0
- package/dist/proxy/tools-list-cap.d.ts +7 -0
- package/dist/proxy/tools-list-cap.d.ts.map +1 -0
- package/dist/proxy/tools-list-cap.js +14 -0
- package/dist/proxy/tools-list-cap.js.map +1 -0
- package/dist/proxy/transport-uncertainty.d.ts +2 -0
- package/dist/proxy/transport-uncertainty.d.ts.map +1 -0
- package/dist/proxy/transport-uncertainty.js +8 -0
- package/dist/proxy/transport-uncertainty.js.map +1 -0
- package/dist/proxy/upstream-error.d.ts +7 -0
- package/dist/proxy/upstream-error.d.ts.map +1 -0
- package/dist/proxy/upstream-error.js +35 -0
- package/dist/proxy/upstream-error.js.map +1 -0
- package/dist/proxy/wire-dialect.d.ts +5 -0
- package/dist/proxy/wire-dialect.d.ts.map +1 -0
- package/dist/proxy/wire-dialect.js +33 -0
- package/dist/proxy/wire-dialect.js.map +1 -0
- package/dist/server.d.ts +14 -82
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +109 -204
- package/dist/server.js.map +1 -1
- package/dist/setup/banner-color.d.ts +13 -0
- package/dist/setup/banner-color.d.ts.map +1 -0
- package/dist/setup/banner-color.js +93 -0
- package/dist/setup/banner-color.js.map +1 -0
- package/dist/setup/banner.d.ts +22 -0
- package/dist/setup/banner.d.ts.map +1 -0
- package/dist/setup/banner.js +120 -0
- package/dist/setup/banner.js.map +1 -0
- package/dist/setup/ca-recovery.d.ts +20 -0
- package/dist/setup/ca-recovery.d.ts.map +1 -0
- package/dist/setup/ca-recovery.js +92 -0
- package/dist/setup/ca-recovery.js.map +1 -0
- package/dist/setup/closing.d.ts +15 -0
- package/dist/setup/closing.d.ts.map +1 -0
- package/dist/setup/closing.js +43 -0
- package/dist/setup/closing.js.map +1 -0
- package/dist/setup/corporate-ca.d.ts +16 -0
- package/dist/setup/corporate-ca.d.ts.map +1 -0
- package/dist/setup/corporate-ca.js +32 -0
- package/dist/setup/corporate-ca.js.map +1 -0
- package/dist/setup/host-platform.d.ts +8 -0
- package/dist/setup/host-platform.d.ts.map +1 -0
- package/dist/setup/host-platform.js +21 -0
- package/dist/setup/host-platform.js.map +1 -0
- package/dist/setup/install-configs.d.ts +18 -0
- package/dist/setup/install-configs.d.ts.map +1 -0
- package/dist/setup/install-configs.js +95 -0
- package/dist/setup/install-configs.js.map +1 -0
- package/dist/setup/multi-site-loop.d.ts +14 -0
- package/dist/setup/multi-site-loop.d.ts.map +1 -0
- package/dist/setup/multi-site-loop.js +20 -0
- package/dist/setup/multi-site-loop.js.map +1 -0
- package/dist/setup/phases.d.ts +18 -0
- package/dist/setup/phases.d.ts.map +1 -0
- package/dist/setup/phases.js +55 -0
- package/dist/setup/phases.js.map +1 -0
- package/dist/setup/registry-remedy.d.ts +12 -0
- package/dist/setup/registry-remedy.d.ts.map +1 -0
- package/dist/setup/registry-remedy.js +37 -0
- package/dist/setup/registry-remedy.js.map +1 -0
- package/dist/setup/resume.d.ts +28 -0
- package/dist/setup/resume.d.ts.map +1 -0
- package/dist/setup/resume.js +99 -0
- package/dist/setup/resume.js.map +1 -0
- package/dist/setup-ca-env.d.ts +0 -30
- package/dist/setup-ca-env.d.ts.map +1 -1
- package/dist/setup-ca-env.js +0 -28
- package/dist/setup-ca-env.js.map +1 -1
- package/dist/setup-ca-reprobe.d.ts +0 -25
- package/dist/setup-ca-reprobe.d.ts.map +1 -1
- package/dist/setup-ca-reprobe.js +0 -34
- package/dist/setup-ca-reprobe.js.map +1 -1
- package/dist/setup-cli-confirm.d.ts +0 -34
- package/dist/setup-cli-confirm.d.ts.map +1 -1
- package/dist/setup-cli-confirm.js +0 -36
- package/dist/setup-cli-confirm.js.map +1 -1
- package/dist/setup-cli.d.ts +6 -167
- package/dist/setup-cli.d.ts.map +1 -1
- package/dist/setup-cli.js +165 -177
- package/dist/setup-cli.js.map +1 -1
- package/dist/setup-npx-spec.d.ts +0 -36
- package/dist/setup-npx-spec.d.ts.map +1 -1
- package/dist/setup-npx-spec.js +0 -38
- package/dist/setup-npx-spec.js.map +1 -1
- package/dist/setup-prompts.d.ts +5 -70
- package/dist/setup-prompts.d.ts.map +1 -1
- package/dist/setup-prompts.js +67 -107
- package/dist/setup-prompts.js.map +1 -1
- package/dist/setup-token.d.ts +0 -34
- package/dist/setup-token.d.ts.map +1 -1
- package/dist/setup-token.js +0 -40
- package/dist/setup-token.js.map +1 -1
- package/dist/setup-wizard-defaults.d.ts +2 -37
- package/dist/setup-wizard-defaults.d.ts.map +1 -1
- package/dist/setup-wizard-defaults.js +28 -93
- package/dist/setup-wizard-defaults.js.map +1 -1
- package/dist/setup-wizard-handshake.d.ts +1 -19
- package/dist/setup-wizard-handshake.d.ts.map +1 -1
- package/dist/setup-wizard-handshake.js +8 -45
- package/dist/setup-wizard-handshake.js.map +1 -1
- package/dist/setup-wizard-types.d.ts +18 -217
- package/dist/setup-wizard-types.d.ts.map +1 -1
- package/dist/setup-wizard-types.js +0 -9
- package/dist/setup-wizard-types.js.map +1 -1
- package/dist/setup-wizard-write-types.d.ts +19 -0
- package/dist/setup-wizard-write-types.d.ts.map +1 -0
- package/dist/setup-wizard-write-types.js +2 -0
- package/dist/setup-wizard-write-types.js.map +1 -0
- package/dist/setup-wizard.d.ts +0 -28
- package/dist/setup-wizard.d.ts.map +1 -1
- package/dist/setup-wizard.js +167 -412
- package/dist/setup-wizard.js.map +1 -1
- package/dist/setup.d.ts +0 -15
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +0 -15
- package/dist/setup.js.map +1 -1
- package/dist/sites/bootstrap.d.ts +0 -38
- package/dist/sites/bootstrap.d.ts.map +1 -1
- package/dist/sites/bootstrap.js +0 -44
- package/dist/sites/bootstrap.js.map +1 -1
- package/dist/sites/cli/add-site.d.ts +0 -76
- package/dist/sites/cli/add-site.d.ts.map +1 -1
- package/dist/sites/cli/add-site.js +0 -71
- package/dist/sites/cli/add-site.js.map +1 -1
- package/dist/sites/cli/list-sites.d.ts +0 -31
- package/dist/sites/cli/list-sites.d.ts.map +1 -1
- package/dist/sites/cli/list-sites.js +0 -45
- package/dist/sites/cli/list-sites.js.map +1 -1
- package/dist/sites/cli/remove-site.d.ts +0 -37
- package/dist/sites/cli/remove-site.d.ts.map +1 -1
- package/dist/sites/cli/remove-site.js +0 -37
- package/dist/sites/cli/remove-site.js.map +1 -1
- package/dist/sites/cli/set-default.d.ts +0 -25
- package/dist/sites/cli/set-default.d.ts.map +1 -1
- package/dist/sites/cli/set-default.js +0 -22
- package/dist/sites/cli/set-default.js.map +1 -1
- package/dist/sites/cli/test-site.d.ts +0 -44
- package/dist/sites/cli/test-site.d.ts.map +1 -1
- package/dist/sites/cli/test-site.js +0 -39
- package/dist/sites/cli/test-site.js.map +1 -1
- package/dist/sites/client-pool.d.ts +11 -164
- package/dist/sites/client-pool.d.ts.map +1 -1
- package/dist/sites/client-pool.js +73 -194
- package/dist/sites/client-pool.js.map +1 -1
- package/dist/sites/config-problem.d.ts +2 -0
- package/dist/sites/config-problem.d.ts.map +1 -0
- package/dist/sites/config-problem.js +13 -0
- package/dist/sites/config-problem.js.map +1 -0
- package/dist/sites/env-bridge.d.ts +0 -69
- package/dist/sites/env-bridge.d.ts.map +1 -1
- package/dist/sites/env-bridge.js +2 -71
- package/dist/sites/env-bridge.js.map +1 -1
- package/dist/sites/op-inject.d.ts +23 -0
- package/dist/sites/op-inject.d.ts.map +1 -0
- package/dist/sites/op-inject.js +131 -0
- package/dist/sites/op-inject.js.map +1 -0
- package/dist/sites/paths.d.ts +0 -19
- package/dist/sites/paths.d.ts.map +1 -1
- package/dist/sites/paths.js +0 -19
- package/dist/sites/paths.js.map +1 -1
- package/dist/sites/probe.d.ts +1 -47
- package/dist/sites/probe.d.ts.map +1 -1
- package/dist/sites/probe.js +4 -46
- package/dist/sites/probe.js.map +1 -1
- package/dist/sites/registry.d.ts +4 -135
- package/dist/sites/registry.d.ts.map +1 -1
- package/dist/sites/registry.js +4 -98
- package/dist/sites/registry.js.map +1 -1
- package/dist/sites/schema.d.ts +3 -51
- package/dist/sites/schema.d.ts.map +1 -1
- package/dist/sites/schema.js +6 -52
- package/dist/sites/schema.js.map +1 -1
- package/dist/sites/secret-resolver.d.ts +6 -76
- package/dist/sites/secret-resolver.d.ts.map +1 -1
- package/dist/sites/secret-resolver.js +39 -104
- package/dist/sites/secret-resolver.js.map +1 -1
- package/dist/sites/store.d.ts +12 -69
- package/dist/sites/store.d.ts.map +1 -1
- package/dist/sites/store.js +37 -86
- package/dist/sites/store.js.map +1 -1
- package/dist/sites/substituted-registry.d.ts +11 -0
- package/dist/sites/substituted-registry.d.ts.map +1 -0
- package/dist/sites/substituted-registry.js +13 -0
- package/dist/sites/substituted-registry.js.map +1 -0
- package/dist/sites/tools/fetch-public-url.d.ts +4 -0
- package/dist/sites/tools/fetch-public-url.d.ts.map +1 -0
- package/dist/sites/tools/fetch-public-url.js +231 -0
- package/dist/sites/tools/fetch-public-url.js.map +1 -0
- package/dist/sites/tools/index.d.ts +2 -26
- package/dist/sites/tools/index.d.ts.map +1 -1
- package/dist/sites/tools/index.js +5 -28
- package/dist/sites/tools/index.js.map +1 -1
- package/dist/sites/tools/sites-list.d.ts +3 -47
- package/dist/sites/tools/sites-list.d.ts.map +1 -1
- package/dist/sites/tools/sites-list.js +65 -79
- package/dist/sites/tools/sites-list.js.map +1 -1
- package/dist/sites/tools/sites-overview.d.ts +4 -0
- package/dist/sites/tools/sites-overview.d.ts.map +1 -0
- package/dist/sites/tools/sites-overview.js +209 -0
- package/dist/sites/tools/sites-overview.js.map +1 -0
- package/dist/sites/tools/sites-test.d.ts +2 -45
- package/dist/sites/tools/sites-test.d.ts.map +1 -1
- package/dist/sites/tools/sites-test.js +2 -56
- package/dist/sites/tools/sites-test.js.map +1 -1
- package/dist/sites/tools/use-site.d.ts +2 -45
- package/dist/sites/tools/use-site.d.ts.map +1 -1
- package/dist/sites/tools/use-site.js +31 -79
- package/dist/sites/tools/use-site.js.map +1 -1
- package/dist/sites/unknown-name-result.d.ts +10 -0
- package/dist/sites/unknown-name-result.d.ts.map +1 -0
- package/dist/sites/unknown-name-result.js +13 -0
- package/dist/sites/unknown-name-result.js.map +1 -0
- package/dist/skill-instructions.d.ts +7 -0
- package/dist/skill-instructions.d.ts.map +1 -0
- package/dist/skill-instructions.js +85 -0
- package/dist/skill-instructions.js.map +1 -0
- package/dist/skill-loader.d.ts +1 -103
- package/dist/skill-loader.d.ts.map +1 -1
- package/dist/skill-loader.js +6 -143
- package/dist/skill-loader.js.map +1 -1
- package/dist/skill-manifest.d.ts +0 -20
- package/dist/skill-manifest.d.ts.map +1 -1
- package/dist/skill-manifest.js +1 -21
- package/dist/skill-manifest.js.map +1 -1
- package/dist/skill-topics.d.ts +19 -0
- package/dist/skill-topics.d.ts.map +1 -0
- package/dist/skill-topics.js +181 -0
- package/dist/skill-topics.js.map +1 -0
- package/dist/tools/active-site.d.ts +16 -0
- package/dist/tools/active-site.d.ts.map +1 -0
- package/dist/tools/active-site.js +55 -0
- package/dist/tools/active-site.js.map +1 -0
- package/dist/tools/bind-guidance.d.ts +2 -72
- package/dist/tools/bind-guidance.d.ts.map +1 -1
- package/dist/tools/bind-guidance.js +2 -72
- package/dist/tools/bind-guidance.js.map +1 -1
- package/dist/tools/budgeted-table.d.ts +14 -19
- package/dist/tools/budgeted-table.d.ts.map +1 -1
- package/dist/tools/budgeted-table.js +171 -105
- package/dist/tools/budgeted-table.js.map +1 -1
- package/dist/tools/elements/bind-output-schema.d.ts +69 -0
- package/dist/tools/elements/bind-output-schema.d.ts.map +1 -0
- package/dist/tools/elements/bind-output-schema.js +64 -0
- package/dist/tools/elements/bind-output-schema.js.map +1 -0
- package/dist/tools/elements/builders.d.ts +1 -22
- package/dist/tools/elements/builders.d.ts.map +1 -1
- package/dist/tools/elements/builders.js +147 -133
- package/dist/tools/elements/builders.js.map +1 -1
- package/dist/tools/elements/index.d.ts +0 -26
- package/dist/tools/elements/index.d.ts.map +1 -1
- package/dist/tools/elements/index.js +0 -25
- package/dist/tools/elements/index.js.map +1 -1
- package/dist/tools/elements/read-output-schemas.d.ts +121 -0
- package/dist/tools/elements/read-output-schemas.d.ts.map +1 -0
- package/dist/tools/elements/read-output-schemas.js +225 -0
- package/dist/tools/elements/read-output-schemas.js.map +1 -0
- package/dist/tools/elements/write-output-schemas.d.ts +185 -0
- package/dist/tools/elements/write-output-schemas.d.ts.map +1 -0
- package/dist/tools/elements/write-output-schemas.js +98 -0
- package/dist/tools/elements/write-output-schemas.js.map +1 -0
- package/dist/tools/elements.d.ts +0 -11
- package/dist/tools/elements.d.ts.map +1 -1
- package/dist/tools/elements.js +0 -11
- package/dist/tools/elements.js.map +1 -1
- package/dist/tools/format/health-format.d.ts +26 -43
- package/dist/tools/format/health-format.d.ts.map +1 -1
- package/dist/tools/format/health-format.js +32 -63
- package/dist/tools/format/health-format.js.map +1 -1
- package/dist/tools/format/inspection-format.d.ts +2 -54
- package/dist/tools/format/inspection-format.d.ts.map +1 -1
- package/dist/tools/format/inspection-format.js +33 -119
- package/dist/tools/format/inspection-format.js.map +1 -1
- package/dist/tools/format/pages-format.d.ts +32 -69
- package/dist/tools/format/pages-format.d.ts.map +1 -1
- package/dist/tools/format/pages-format.js +114 -139
- package/dist/tools/format/pages-format.js.map +1 -1
- package/dist/tools/format/sources-format.d.ts +5 -39
- package/dist/tools/format/sources-format.d.ts.map +1 -1
- package/dist/tools/format/sources-format.js +57 -87
- package/dist/tools/format/sources-format.js.map +1 -1
- package/dist/tools/health-output-schemas.d.ts +84 -0
- package/dist/tools/health-output-schemas.d.ts.map +1 -0
- package/dist/tools/health-output-schemas.js +132 -0
- package/dist/tools/health-output-schemas.js.map +1 -0
- package/dist/tools/health.d.ts +2 -20
- package/dist/tools/health.d.ts.map +1 -1
- package/dist/tools/health.js +47 -233
- package/dist/tools/health.js.map +1 -1
- package/dist/tools/index.d.ts +1 -26
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +12 -39
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/inspection.d.ts +4 -34
- package/dist/tools/inspection.d.ts.map +1 -1
- package/dist/tools/inspection.js +164 -536
- package/dist/tools/inspection.js.map +1 -1
- package/dist/tools/library.d.ts +115 -127
- package/dist/tools/library.d.ts.map +1 -1
- package/dist/tools/library.js +707 -455
- package/dist/tools/library.js.map +1 -1
- package/dist/tools/local-content/builders.d.ts +1 -17
- package/dist/tools/local-content/builders.d.ts.map +1 -1
- package/dist/tools/local-content/builders.js +103 -46
- package/dist/tools/local-content/builders.js.map +1 -1
- package/dist/tools/local-content/index.d.ts +0 -15
- package/dist/tools/local-content/index.d.ts.map +1 -1
- package/dist/tools/local-content/index.js +0 -14
- package/dist/tools/local-content/index.js.map +1 -1
- package/dist/tools/local-content/schemas.d.ts +31 -47
- package/dist/tools/local-content/schemas.d.ts.map +1 -1
- package/dist/tools/local-content/schemas.js +33 -62
- package/dist/tools/local-content/schemas.js.map +1 -1
- package/dist/tools/modules/builders.d.ts +4 -0
- package/dist/tools/modules/builders.d.ts.map +1 -0
- package/dist/tools/modules/builders.js +58 -0
- package/dist/tools/modules/builders.js.map +1 -0
- package/dist/tools/modules/index.d.ts +2 -0
- package/dist/tools/modules/index.d.ts.map +1 -0
- package/dist/tools/modules/index.js +2 -0
- package/dist/tools/modules/index.js.map +1 -0
- package/dist/tools/modules/module-id-schema.d.ts +4 -0
- package/dist/tools/modules/module-id-schema.d.ts.map +1 -0
- package/dist/tools/modules/module-id-schema.js +14 -0
- package/dist/tools/modules/module-id-schema.js.map +1 -0
- package/dist/tools/modules/module-type-fields.d.ts +10 -0
- package/dist/tools/modules/module-type-fields.d.ts.map +1 -0
- package/dist/tools/modules/module-type-fields.js +34 -0
- package/dist/tools/modules/module-type-fields.js.map +1 -0
- package/dist/tools/modules/modules-create.d.ts +59 -0
- package/dist/tools/modules/modules-create.d.ts.map +1 -0
- package/dist/tools/modules/modules-create.js +154 -0
- package/dist/tools/modules/modules-create.js.map +1 -0
- package/dist/tools/modules/modules-delete.d.ts +51 -0
- package/dist/tools/modules/modules-delete.d.ts.map +1 -0
- package/dist/tools/modules/modules-delete.js +180 -0
- package/dist/tools/modules/modules-delete.js.map +1 -0
- package/dist/tools/modules/modules-update.d.ts +43 -0
- package/dist/tools/modules/modules-update.d.ts.map +1 -0
- package/dist/tools/modules/modules-update.js +177 -0
- package/dist/tools/modules/modules-update.js.map +1 -0
- package/dist/tools/modules/placement-hints.d.ts +5 -0
- package/dist/tools/modules/placement-hints.d.ts.map +1 -0
- package/dist/tools/modules/placement-hints.js +90 -0
- package/dist/tools/modules/placement-hints.js.map +1 -0
- package/dist/tools/modules/placement-ways.d.ts +13 -0
- package/dist/tools/modules/placement-ways.d.ts.map +1 -0
- package/dist/tools/modules/placement-ways.js +61 -0
- package/dist/tools/modules/placement-ways.js.map +1 -0
- package/dist/tools/multi-items/builders.d.ts +1 -21
- package/dist/tools/multi-items/builders.d.ts.map +1 -1
- package/dist/tools/multi-items/builders.js +22 -65
- package/dist/tools/multi-items/builders.js.map +1 -1
- package/dist/tools/multi-items/index.d.ts +0 -15
- package/dist/tools/multi-items/index.d.ts.map +1 -1
- package/dist/tools/multi-items/index.js +0 -15
- package/dist/tools/multi-items/index.js.map +1 -1
- package/dist/tools/multi-items/item-container-map.d.ts +0 -35
- package/dist/tools/multi-items/item-container-map.d.ts.map +1 -1
- package/dist/tools/multi-items/item-container-map.js +0 -35
- package/dist/tools/multi-items/item-container-map.js.map +1 -1
- package/dist/tools/multi-items/output-schemas.d.ts +101 -0
- package/dist/tools/multi-items/output-schemas.d.ts.map +1 -0
- package/dist/tools/multi-items/output-schemas.js +74 -0
- package/dist/tools/multi-items/output-schemas.js.map +1 -0
- package/dist/tools/navigation/builders.d.ts +1 -16
- package/dist/tools/navigation/builders.d.ts.map +1 -1
- package/dist/tools/navigation/builders.js +5 -27
- package/dist/tools/navigation/builders.js.map +1 -1
- package/dist/tools/navigation/index.d.ts +0 -13
- package/dist/tools/navigation/index.d.ts.map +1 -1
- package/dist/tools/navigation/index.js +0 -12
- package/dist/tools/navigation/index.js.map +1 -1
- package/dist/tools/navigation/schemas.d.ts +0 -30
- package/dist/tools/navigation/schemas.d.ts.map +1 -1
- package/dist/tools/navigation/schemas.js +0 -30
- package/dist/tools/navigation/schemas.js.map +1 -1
- package/dist/tools/output-schema-metadata.d.ts +5 -0
- package/dist/tools/output-schema-metadata.d.ts.map +1 -0
- package/dist/tools/output-schema-metadata.js +83 -0
- package/dist/tools/output-schema-metadata.js.map +1 -0
- package/dist/tools/pages/builders.d.ts +1 -41
- package/dist/tools/pages/builders.d.ts.map +1 -1
- package/dist/tools/pages/builders.js +320 -405
- package/dist/tools/pages/builders.js.map +1 -1
- package/dist/tools/pages/header-transparency.d.ts +2 -32
- package/dist/tools/pages/header-transparency.d.ts.map +1 -1
- package/dist/tools/pages/header-transparency.js +9 -43
- package/dist/tools/pages/header-transparency.js.map +1 -1
- package/dist/tools/pages/index.d.ts +1 -19
- package/dist/tools/pages/index.d.ts.map +1 -1
- package/dist/tools/pages/index.js +1 -19
- package/dist/tools/pages/index.js.map +1 -1
- package/dist/tools/pages/schemas.d.ts +323 -241
- package/dist/tools/pages/schemas.d.ts.map +1 -1
- package/dist/tools/pages/schemas.js +514 -549
- package/dist/tools/pages/schemas.js.map +1 -1
- package/dist/tools/pages/write-output-schemas.d.ts +139 -0
- package/dist/tools/pages/write-output-schemas.d.ts.map +1 -0
- package/dist/tools/pages/write-output-schemas.js +138 -0
- package/dist/tools/pages/write-output-schemas.js.map +1 -0
- package/dist/tools/pages.d.ts +0 -11
- package/dist/tools/pages.d.ts.map +1 -1
- package/dist/tools/pages.js +0 -11
- package/dist/tools/pages.js.map +1 -1
- package/dist/tools/pool-resolve-helper.d.ts +0 -52
- package/dist/tools/pool-resolve-helper.d.ts.map +1 -1
- package/dist/tools/pool-resolve-helper.js +31 -106
- package/dist/tools/pool-resolve-helper.js.map +1 -1
- package/dist/tools/progress-phases.d.ts +0 -42
- package/dist/tools/progress-phases.d.ts.map +1 -1
- package/dist/tools/progress-phases.js +0 -44
- package/dist/tools/progress-phases.js.map +1 -1
- package/dist/tools/response-budget.d.ts +0 -69
- package/dist/tools/response-budget.d.ts.map +1 -1
- package/dist/tools/response-budget.js +0 -127
- package/dist/tools/response-budget.js.map +1 -1
- package/dist/tools/shared-schemas.d.ts +11 -65
- package/dist/tools/shared-schemas.d.ts.map +1 -1
- package/dist/tools/shared-schemas.js +40 -123
- package/dist/tools/shared-schemas.js.map +1 -1
- package/dist/tools/skill/builders.d.ts +3 -0
- package/dist/tools/skill/builders.d.ts.map +1 -0
- package/dist/tools/skill/builders.js +81 -0
- package/dist/tools/skill/builders.js.map +1 -0
- package/dist/tools/sources/builders.d.ts +1 -11
- package/dist/tools/sources/builders.d.ts.map +1 -1
- package/dist/tools/sources/builders.js +194 -170
- package/dist/tools/sources/builders.js.map +1 -1
- package/dist/tools/sources/index.d.ts +0 -17
- package/dist/tools/sources/index.d.ts.map +1 -1
- package/dist/tools/sources/index.js +0 -16
- package/dist/tools/sources/index.js.map +1 -1
- package/dist/tools/sources/read-output-schemas.d.ts +101 -0
- package/dist/tools/sources/read-output-schemas.d.ts.map +1 -0
- package/dist/tools/sources/read-output-schemas.js +105 -0
- package/dist/tools/sources/read-output-schemas.js.map +1 -0
- package/dist/tools/sources/source-name-argument.d.ts +17 -0
- package/dist/tools/sources/source-name-argument.d.ts.map +1 -0
- package/dist/tools/sources/source-name-argument.js +64 -0
- package/dist/tools/sources/source-name-argument.js.map +1 -0
- package/dist/tools/sources/write-output-schemas.d.ts +100 -0
- package/dist/tools/sources/write-output-schemas.d.ts.map +1 -0
- package/dist/tools/sources/write-output-schemas.js +61 -0
- package/dist/tools/sources/write-output-schemas.js.map +1 -0
- package/dist/tools/sources.d.ts +0 -12
- package/dist/tools/sources.d.ts.map +1 -1
- package/dist/tools/sources.js +0 -12
- package/dist/tools/sources.js.map +1 -1
- package/dist/tools/sparse-fields.d.ts +16 -232
- package/dist/tools/sparse-fields.d.ts.map +1 -1
- package/dist/tools/sparse-fields.js +178 -242
- package/dist/tools/sparse-fields.js.map +1 -1
- package/dist/tools/strict-input.d.ts +5 -0
- package/dist/tools/strict-input.d.ts.map +1 -0
- package/dist/tools/strict-input.js +55 -0
- package/dist/tools/strict-input.js.map +1 -0
- package/dist/tools/sublayout/builders.d.ts +1 -21
- package/dist/tools/sublayout/builders.d.ts.map +1 -1
- package/dist/tools/sublayout/builders.js +10 -39
- package/dist/tools/sublayout/builders.js.map +1 -1
- package/dist/tools/sublayout/index.d.ts +1 -11
- package/dist/tools/sublayout/index.d.ts.map +1 -1
- package/dist/tools/sublayout/index.js +1 -11
- package/dist/tools/sublayout/index.js.map +1 -1
- package/dist/tools/sublayout/output-schemas.d.ts +57 -0
- package/dist/tools/sublayout/output-schemas.d.ts.map +1 -0
- package/dist/tools/sublayout/output-schemas.js +51 -0
- package/dist/tools/sublayout/output-schemas.js.map +1 -0
- package/dist/tools/tool-builder/annotations.d.ts +1 -49
- package/dist/tools/tool-builder/annotations.d.ts.map +1 -1
- package/dist/tools/tool-builder/annotations.js +9 -49
- package/dist/tools/tool-builder/annotations.js.map +1 -1
- package/dist/tools/tool-builder/confirm-preview.d.ts +24 -0
- package/dist/tools/tool-builder/confirm-preview.d.ts.map +1 -0
- package/dist/tools/tool-builder/confirm-preview.js +37 -0
- package/dist/tools/tool-builder/confirm-preview.js.map +1 -0
- package/dist/tools/tool-builder/define.d.ts +6 -26
- package/dist/tools/tool-builder/define.d.ts.map +1 -1
- package/dist/tools/tool-builder/define.js +0 -25
- package/dist/tools/tool-builder/define.js.map +1 -1
- package/dist/tools/tool-builder/index.d.ts +3 -26
- package/dist/tools/tool-builder/index.d.ts.map +1 -1
- package/dist/tools/tool-builder/index.js +2 -25
- package/dist/tools/tool-builder/index.js.map +1 -1
- package/dist/tools/tool-builder/results.d.ts +4 -124
- package/dist/tools/tool-builder/results.d.ts.map +1 -1
- package/dist/tools/tool-builder/results.js +258 -263
- package/dist/tools/tool-builder/results.js.map +1 -1
- package/dist/tools/tool-builder/types.d.ts +5 -59
- package/dist/tools/tool-builder/types.d.ts.map +1 -1
- package/dist/tools/tool-builder/types.js +0 -7
- package/dist/tools/tool-builder/types.js.map +1 -1
- package/dist/tools/tool-builder.d.ts +0 -14
- package/dist/tools/tool-builder.d.ts.map +1 -1
- package/dist/tools/tool-builder.js +0 -14
- package/dist/tools/tool-builder.js.map +1 -1
- package/dist/uninstall-skill.d.ts +0 -41
- package/dist/uninstall-skill.d.ts.map +1 -1
- package/dist/uninstall-skill.js +3 -50
- package/dist/uninstall-skill.js.map +1 -1
- package/dist/uninstall.d.ts +0 -41
- package/dist/uninstall.d.ts.map +1 -1
- package/dist/uninstall.js +1 -29
- package/dist/uninstall.js.map +1 -1
- package/dist/update/update-check.d.ts +0 -26
- package/dist/update/update-check.d.ts.map +1 -1
- package/dist/update/update-check.js +0 -25
- package/dist/update/update-check.js.map +1 -1
- package/manifest.json +7 -12
- package/package.json +6 -11
- package/skills/yt-builder-mcp/SKILL.md +1871 -414
- package/dist/tools/elements/handlers-write.d.ts +0 -89
- package/dist/tools/elements/handlers-write.d.ts.map +0 -1
- package/dist/tools/elements/handlers-write.js +0 -797
- package/dist/tools/elements/handlers-write.js.map +0 -1
- package/dist/tools/elements/handlers.d.ts +0 -130
- package/dist/tools/elements/handlers.d.ts.map +0 -1
- package/dist/tools/elements/handlers.js +0 -581
- package/dist/tools/elements/handlers.js.map +0 -1
- package/dist/tools/elements/layout-hierarchy-rules.d.ts +0 -62
- package/dist/tools/elements/layout-hierarchy-rules.d.ts.map +0 -1
- package/dist/tools/elements/layout-hierarchy-rules.js +0 -154
- package/dist/tools/elements/layout-hierarchy-rules.js.map +0 -1
- package/dist/tools/elements/schema-validation.d.ts +0 -218
- package/dist/tools/elements/schema-validation.d.ts.map +0 -1
- package/dist/tools/elements/schema-validation.js +0 -685
- package/dist/tools/elements/schema-validation.js.map +0 -1
- package/dist/tools/elicitation.d.ts +0 -87
- package/dist/tools/elicitation.d.ts.map +0 -1
- package/dist/tools/elicitation.js +0 -100
- package/dist/tools/elicitation.js.map +0 -1
- package/dist/tools/format/elements-format.d.ts +0 -75
- package/dist/tools/format/elements-format.d.ts.map +0 -1
- package/dist/tools/format/elements-format.js +0 -368
- package/dist/tools/format/elements-format.js.map +0 -1
- package/dist/tools/format/source-schema-format.d.ts +0 -74
- package/dist/tools/format/source-schema-format.d.ts.map +0 -1
- package/dist/tools/format/source-schema-format.js +0 -208
- package/dist/tools/format/source-schema-format.js.map +0 -1
- package/dist/tools/layout-flatten.d.ts +0 -84
- package/dist/tools/layout-flatten.d.ts.map +0 -1
- package/dist/tools/layout-flatten.js +0 -129
- package/dist/tools/layout-flatten.js.map +0 -1
- package/dist/tools/local-content/handlers.d.ts +0 -56
- package/dist/tools/local-content/handlers.d.ts.map +0 -1
- package/dist/tools/local-content/handlers.js +0 -320
- package/dist/tools/local-content/handlers.js.map +0 -1
- package/dist/tools/multi-items/clean-implode-handler.d.ts +0 -37
- package/dist/tools/multi-items/clean-implode-handler.d.ts.map +0 -1
- package/dist/tools/multi-items/clean-implode-handler.js +0 -65
- package/dist/tools/multi-items/clean-implode-handler.js.map +0 -1
- package/dist/tools/multi-items/format/inspection-format.d.ts +0 -41
- package/dist/tools/multi-items/format/inspection-format.d.ts.map +0 -1
- package/dist/tools/multi-items/format/inspection-format.js +0 -64
- package/dist/tools/multi-items/format/inspection-format.js.map +0 -1
- package/dist/tools/multi-items/inspect-handler.d.ts +0 -97
- package/dist/tools/multi-items/inspect-handler.d.ts.map +0 -1
- package/dist/tools/multi-items/inspect-handler.js +0 -323
- package/dist/tools/multi-items/inspect-handler.js.map +0 -1
- package/dist/tools/multi-items/inspection-cache.d.ts +0 -85
- package/dist/tools/multi-items/inspection-cache.d.ts.map +0 -1
- package/dist/tools/multi-items/inspection-cache.js +0 -126
- package/dist/tools/multi-items/inspection-cache.js.map +0 -1
- package/dist/tools/navigation/handlers.d.ts +0 -30
- package/dist/tools/navigation/handlers.d.ts.map +0 -1
- package/dist/tools/navigation/handlers.js +0 -41
- package/dist/tools/navigation/handlers.js.map +0 -1
- package/dist/tools/pages/handlers-audit.d.ts +0 -140
- package/dist/tools/pages/handlers-audit.d.ts.map +0 -1
- package/dist/tools/pages/handlers-audit.js +0 -714
- package/dist/tools/pages/handlers-audit.js.map +0 -1
- package/dist/tools/pages/handlers-read.d.ts +0 -133
- package/dist/tools/pages/handlers-read.d.ts.map +0 -1
- package/dist/tools/pages/handlers-read.js +0 -1061
- package/dist/tools/pages/handlers-read.js.map +0 -1
- package/dist/tools/pages/handlers-write.d.ts +0 -212
- package/dist/tools/pages/handlers-write.d.ts.map +0 -1
- package/dist/tools/pages/handlers-write.js +0 -419
- package/dist/tools/pages/handlers-write.js.map +0 -1
- package/dist/tools/pages/target.d.ts +0 -162
- package/dist/tools/pages/target.d.ts.map +0 -1
- package/dist/tools/pages/target.js +0 -239
- package/dist/tools/pages/target.js.map +0 -1
- package/dist/tools/sources/handlers-bind.d.ts +0 -148
- package/dist/tools/sources/handlers-bind.d.ts.map +0 -1
- package/dist/tools/sources/handlers-bind.js +0 -657
- package/dist/tools/sources/handlers-bind.js.map +0 -1
- package/dist/tools/sources/handlers.d.ts +0 -116
- package/dist/tools/sources/handlers.d.ts.map +0 -1
- package/dist/tools/sources/handlers.js +0 -289
- package/dist/tools/sources/handlers.js.map +0 -1
- package/dist/tools/sublayout/inspect-sublayout-handler.d.ts +0 -95
- package/dist/tools/sublayout/inspect-sublayout-handler.d.ts.map +0 -1
- package/dist/tools/sublayout/inspect-sublayout-handler.js +0 -181
- package/dist/tools/sublayout/inspect-sublayout-handler.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# @wootsup/yt-builder-mcp.
|
|
1
|
+
# @wootsup/yt-builder-mcp. MCP for YOOtheme Pro
|
|
2
2
|
|
|
3
3
|
> Drive your page builder via MCP. Built for YOOtheme Pro 4.0+ on **WordPress** and **Joomla 5/6**. Connect **Claude Desktop**, **Claude Code**, **Cursor**, **Zed**, **Continue**, **Cline**, **Roo Code**, **Codex CLI**, or **Gemini CLI** in one command.
|
|
4
4
|
|
|
5
5
|
> Independent third-party project. YOOtheme® is a registered trademark of YOOtheme GmbH
|
|
6
|
-
> ([yootheme.com](https://yootheme.com)).
|
|
6
|
+
> ([yootheme.com](https://yootheme.com)). MCP for YOOtheme Pro is built by WootsUp (getimo
|
|
7
7
|
> productions) and is not affiliated with, endorsed by, or sponsored by YOOtheme.
|
|
8
8
|
> The integration uses YOOtheme Pro's public extension points.
|
|
9
9
|
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
# 1. Install the host plugin for your CMS.
|
|
18
18
|
# WordPress: yt-builder-mcp-*.zip plugin.
|
|
19
19
|
# Joomla 5/6: pkg_ytbmcp-*.zip package (three sub-extensions in one go).
|
|
20
|
-
# See https://
|
|
20
|
+
# See https://wootsup.com/products/yt-builder/
|
|
21
21
|
|
|
22
22
|
# 2. Generate a Bearer key.
|
|
23
|
-
# WordPress: wp-admin → Tools → "
|
|
24
|
-
# Joomla: Administrator → Components → "
|
|
23
|
+
# WordPress: wp-admin → Tools → "MCP for YOOtheme Pro" → Bearer Keys.
|
|
24
|
+
# Joomla: Administrator → Components → "MCP for YOOtheme Pro" → Bearer Keys.
|
|
25
25
|
# Key format: ytb_(live|test)_<payloadB64Url>.<sigB64Url>
|
|
26
26
|
# The key is shown ONCE. Copy it now; it cannot be recovered later.
|
|
27
27
|
|
|
@@ -63,29 +63,36 @@ The wizard auto-detects and configures the following clients:
|
|
|
63
63
|
|
|
64
64
|
## Tool surface (gateway model)
|
|
65
65
|
|
|
66
|
-
The server catalogues **
|
|
67
|
-
of which **
|
|
68
|
-
|
|
69
|
-
catalogued tool stays
|
|
66
|
+
The server catalogues **60 tools + 2 gateways = 62 reachable** end-to-end,
|
|
67
|
+
of which **49 are advertised in `tools/list`** — fewer than are callable.
|
|
68
|
+
That is what the 3-lane split buys: a shorter advertised list for clients
|
|
69
|
+
that handle long tool lists poorly, while every catalogued tool stays
|
|
70
|
+
reachable through a gateway:
|
|
70
71
|
|
|
71
72
|
- **2 direct top-level tools** (always in `tools/list`):
|
|
72
73
|
`yootheme_builder_health`, `yootheme_builder_diagnose`. The
|
|
73
74
|
"the gateway itself might be broken" escape hatch.
|
|
74
|
-
- **
|
|
75
|
+
- **45 essential forwarded tools** (always in `tools/list`): the most-used
|
|
75
76
|
reads and writes (`pages_list`, `pages_create`, `pages_delete`,
|
|
76
|
-
`
|
|
77
|
+
`pages_set_status`, `pages_restore` (the one correct way back from the
|
|
78
|
+
trash — a gateway-only placement would leave it discoverable only to a
|
|
79
|
+
caller who already knows it exists),
|
|
80
|
+
`page_generate_dynamic`, `get_etag`, `element_list`, `element_add`,
|
|
77
81
|
`element_update_settings`, `sources_list`, `element_types_list`,
|
|
78
82
|
`inspect_multi_items_binding`, the multi-site `sites_list` / `sites_test` /
|
|
79
|
-
`use_site`,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
`use_site`, `get_skill` (the full-guide retrieval tool), `modules_delete`
|
|
84
|
+
(the one gateway-only destructive tool that removes data outside the
|
|
85
|
+
layout tree, promoted so a host can gate it individually), and the
|
|
86
|
+
bind→save→publish→unbind chain `element_bind_source` / `page_save` /
|
|
87
|
+
`page_publish` / `element_unbind_source`, among others).
|
|
88
|
+
- **2 gateway tools** exposing the remaining **13 advanced tools**:
|
|
89
|
+
- `yootheme_builder_advanced` (write-capable) routes **all 13**
|
|
90
|
+
(`clean_implode_directives`, `inspect_sublayout`, `layout_query`,
|
|
85
91
|
`library_save_as`, `library_delete`, `local_content_types`,
|
|
86
|
-
`local_content_read`, `pages_audit`, `heading_outline`, `navigation
|
|
92
|
+
`local_content_read`, `pages_audit`, `heading_outline`, `navigation`,
|
|
93
|
+
`header_transparency_set`, `modules_update`, `modules_create`).
|
|
87
94
|
- `yootheme_builder_advanced_read` (read-only-annotated) routes only the
|
|
88
|
-
**
|
|
95
|
+
**7 read-only** advanced tools (`inspect_sublayout`,
|
|
89
96
|
`layout_query`, `local_content_types`, `local_content_read`,
|
|
90
97
|
`pages_audit`, `heading_outline`, `navigation`), so MCP hosts can
|
|
91
98
|
auto-allow pure inspection without a per-call write-approval prompt.
|
|
@@ -93,20 +100,13 @@ catalogued tool stays callable):
|
|
|
93
100
|
(returns the schema) or `({ tool, arguments })` to execute.
|
|
94
101
|
|
|
95
102
|
See `skills/yt-builder-mcp/SKILL.md` for the full catalog and canonical
|
|
96
|
-
workflows, and `docs/TOOL-CATALOG.md` for an auto-generated
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
| Sites | 2 | `sites_list`, `sites_test` |
|
|
104
|
-
| Pages | 7 | `pages_list`, `page_get_layout`, `page_get_schema`, `template_summary`, `get_etag`, `page_save`, `page_publish` |
|
|
105
|
-
| Elements | 7 | `element_list`, `element_get`, `element_add`, `element_update_settings`, `element_move`, `element_clone`, `element_delete` |
|
|
106
|
-
| Sources | 5 | `sources_list`, `element_get_binding`, `element_bind_source`, `element_unbind_source`, `inspect_multi_items_binding` |
|
|
107
|
-
| Inspection | 3 | `element_types_list`, `element_type_get_schema`, `clean_implode_directives` |
|
|
108
|
-
| Sublayout | 1 | `inspect_sublayout` (F154 — fragment subtree + render-time inner-grid gate; advanced/gateway-routed) |
|
|
109
|
-
| Gateway | 2 | `advanced` (write, routes all 10 advanced tools), `advanced_read` (read-only, routes the 6 read-only advanced tools) |
|
|
103
|
+
workflows, and `docs/TOOL-CATALOG.md` for an auto-generated, per-tool
|
|
104
|
+
reference (regenerated from the live registry by
|
|
105
|
+
`node scripts/extract-tools.mjs` — never hand-copied here, which is
|
|
106
|
+
exactly why the numbers above stay accurate release over release; an
|
|
107
|
+
earlier, hand-maintained domain-count table on this exact spot had
|
|
108
|
+
drifted to less than half the real tool count and a stale gateway
|
|
109
|
+
count before it was replaced with this pointer).
|
|
110
110
|
|
|
111
111
|
All tool names are prefixed with `yootheme_builder_` at the MCP server boundary.
|
|
112
112
|
|
|
@@ -114,7 +114,18 @@ All tool names are prefixed with `yootheme_builder_` at the MCP server boundary.
|
|
|
114
114
|
|
|
115
115
|
```
|
|
116
116
|
yt-builder-mcp setup Interactive first-run wizard (default).
|
|
117
|
+
yt-builder-mcp doctor Diagnose connectivity (Node version, corporate
|
|
118
|
+
proxy/TLS, site reachability, bearer validity,
|
|
119
|
+
update status). Run this first when setup "hangs".
|
|
117
120
|
yt-builder-mcp install-skill Install the bundled agent skill.
|
|
121
|
+
yt-builder-mcp uninstall Remove yt-builder-mcp from configured AI clients
|
|
122
|
+
(alias: remove) (and, optionally, the installed skill).
|
|
123
|
+
yt-builder-mcp add-site Add a site to the multi-site registry (see
|
|
124
|
+
"Multi-site setup" below).
|
|
125
|
+
yt-builder-mcp list-sites List configured sites (no network calls).
|
|
126
|
+
yt-builder-mcp remove-site <id> Remove a site; auto-promotes the next as default.
|
|
127
|
+
yt-builder-mcp set-default <id> Flip which configured site is the default.
|
|
128
|
+
yt-builder-mcp test-site <id> Probe /health + /etag for one configured site.
|
|
118
129
|
yt-builder-mcp --version, -v Print package version.
|
|
119
130
|
yt-builder-mcp --help, -h Show usage.
|
|
120
131
|
```
|
|
@@ -131,9 +142,9 @@ AI clients that follow the `~/AGENTS.md` discovery protocol. The
|
|
|
131
142
|
single location keeps the skill discoverable across every supported
|
|
132
143
|
client without per-client write logic.
|
|
133
144
|
|
|
134
|
-
The skill ships with the
|
|
135
|
-
source, clone section, diagnose 401, add custom element
|
|
136
|
-
|
|
145
|
+
The skill ships with the 6 canonical workflows (build hero, bind
|
|
146
|
+
source, clone section, diagnose 401, add custom element, SEO audit)
|
|
147
|
+
plus a 60-tool auto-generated catalog appendix.
|
|
137
148
|
|
|
138
149
|
## MCPB bundle (Claude Desktop one-click install)
|
|
139
150
|
|
|
@@ -160,10 +171,15 @@ When launched by an AI client (or directly):
|
|
|
160
171
|
|----------|-----------|---------|
|
|
161
172
|
| `YTB_MCP_SITE_URL` | Yes | Host CMS base URL (e.g. `https://example.com`). Works for BOTH WordPress and Joomla. Trailing slash is stripped. |
|
|
162
173
|
| `YTB_MCP_WP_URL` | No (deprecated) | Legacy alias for `YTB_MCP_SITE_URL`. Still honoured for older WordPress-only configurations. A non-fatal deprecation notice is written to stderr when this is used without `YTB_MCP_SITE_URL`. |
|
|
163
|
-
| `YTB_MCP_BEARER_TOKEN` | Yes | Bearer key from wp-admin (WordPress: Tools → "
|
|
174
|
+
| `YTB_MCP_BEARER_TOKEN` | Yes | Bearer key from wp-admin (WordPress: Tools → "MCP for YOOtheme Pro") or Administrator → Components → "MCP for YOOtheme Pro" (Joomla). Format-checked client-side: must match `ytb_(live\|test)_<payload>.<sig>`. Do **not** prepend `Bearer `. The MCP server adds it. |
|
|
164
175
|
| `YTB_MCP_PLATFORM` | No | Explicit platform hint: `wordpress` or `joomla`. Set to `joomla` when `YTB_MCP_SITE_URL` is an origin-only Joomla URL (no `/api/index.php/` in the path). Defaults to URL-shape auto-detection. |
|
|
165
176
|
| `YTB_MCP_TIMEOUT_MS` | No | REST timeout (default 15000). |
|
|
166
177
|
| `YTB_MCP_TEST_MODE` | No | `1` skips the stdio loop (smoke tests). |
|
|
178
|
+
| `YTB_MCP_SITES_FILE` | No | Path to the multi-site registry (see "Multi-site setup" above). Defaults to `~/.config/yt-builder-mcp/sites.json`. |
|
|
179
|
+
| `YTB_MCP_PROFILE` | No | Boots the server pinned to one `site_id` from the registry, for a one-MCP-entry-per-site setup. |
|
|
180
|
+
| `YTB_MCP_EXTRA_HEADERS` | No | Extra HTTP headers merged into every outbound request (a WAF cookie, a corporate gateway secret, HTTP Basic-Auth, …). Either a JSON object (`{"X-WAF-Token":"abc"}`) or `Name: value` lines. An `Authorization` entry here is always dropped — the Bearer owns that header. |
|
|
181
|
+
| `YTB_MCP_SITE_BASIC_AUTH` | No | `user:pass` for a site fronted by an HTTP Basic-Auth realm. Sent as the `Authorization: Basic …` header; the plugin Bearer then travels on `X-Authorization`. |
|
|
182
|
+
| `YTB_MCP_VERSION` | No | Version-pin fallback used when `--pin` isn't passed at setup time (see "Corporate TLS interception / air-gapped installs"). |
|
|
167
183
|
|
|
168
184
|
## Manual MCP config (no wizard)
|
|
169
185
|
|
|
@@ -195,6 +211,58 @@ For a Joomla install at an origin-only URL, also set the platform hint:
|
|
|
195
211
|
}
|
|
196
212
|
```
|
|
197
213
|
|
|
214
|
+
## Multi-site setup (more than one WordPress/Joomla site)
|
|
215
|
+
|
|
216
|
+
Instead of one `env` block per AI client, add every site once to a
|
|
217
|
+
shared on-disk registry and address each by `site_id`:
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
npx -y @wootsup/yt-builder-mcp add-site \
|
|
221
|
+
--url https://shop.example.com --token "$YTB_TOKEN" \
|
|
222
|
+
--label "Shop" --site-id shop --default
|
|
223
|
+
|
|
224
|
+
npx -y @wootsup/yt-builder-mcp add-site \
|
|
225
|
+
--url https://blog.example.com --token-ref "op://Vault/blog/token" \
|
|
226
|
+
--label "Blog" --site-id blog
|
|
227
|
+
|
|
228
|
+
npx -y @wootsup/yt-builder-mcp list-sites
|
|
229
|
+
npx -y @wootsup/yt-builder-mcp test-site shop
|
|
230
|
+
npx -y @wootsup/yt-builder-mcp set-default blog
|
|
231
|
+
npx -y @wootsup/yt-builder-mcp remove-site blog
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
`add-site` flags:
|
|
235
|
+
|
|
236
|
+
| Flag | Required? | Description |
|
|
237
|
+
|------|-----------|-------------|
|
|
238
|
+
| `--url <site-url>` | Yes | Site base URL (WordPress or Joomla). |
|
|
239
|
+
| `--token <bearer>` | One of these two | Plain Bearer key. Mutually exclusive with `--token-ref`. |
|
|
240
|
+
| `--token-ref <op://…>` | One of these two | 1Password Secret Reference (`op://<vault>/<item>/<field>`) instead of a plain-text key. |
|
|
241
|
+
| `--platform auto\|wordpress\|joomla` | No (default `auto`) | Explicit platform hint; `auto` is runtime-detected on first use. |
|
|
242
|
+
| `--label "<text>"` | No | Human-readable label shown by `list-sites`. |
|
|
243
|
+
| `--site-id <slug>` | No (default `default`) | Registry key used by every other multi-site command and by a tool call's optional `site_id` argument. |
|
|
244
|
+
| `--default` | No | Mark this site as the default (the first added site becomes default automatically). |
|
|
245
|
+
| `--yes` | No | Overwrite an existing `site_id` instead of failing. |
|
|
246
|
+
| `--sites-file <path>` | No | Registry file to write, overriding `YTB_MCP_SITES_FILE` / the default path for this one call. |
|
|
247
|
+
|
|
248
|
+
The registry lives at `~/.config/yt-builder-mcp/sites.json`
|
|
249
|
+
(`$XDG_CONFIG_HOME/yt-builder-mcp/sites.json` when that variable is
|
|
250
|
+
set). `YTB_MCP_SITES_FILE` is the switch that makes the server READ a
|
|
251
|
+
registry at all: without it the server ignores `sites.json` entirely and
|
|
252
|
+
runs off the single-site `YTB_MCP_SITE_URL` / `YTB_MCP_BEARER_TOKEN`
|
|
253
|
+
pair. `setup` writes it for you, pointing at the registry it filled; set
|
|
254
|
+
it by hand only to name a different path. When the file it names is
|
|
255
|
+
missing or holds no sites, the server falls back to the single-site pair,
|
|
256
|
+
so an unpopulated registry never costs you a working config.
|
|
257
|
+
`YTB_MCP_PROFILE=<site_id>` boots the server
|
|
258
|
+
pinned to one site from the registry — useful when you'd rather run
|
|
259
|
+
one MCP entry per site than one shared multi-site entry.
|
|
260
|
+
|
|
261
|
+
`uninstall` (alias `remove`) accepts `--all` (every detected client +
|
|
262
|
+
the skill, no prompts), `--yes`/`-y` (skip the final confirmation),
|
|
263
|
+
`--keep-skill` (remove client entries but leave the installed skill in
|
|
264
|
+
place), and `--force`.
|
|
265
|
+
|
|
198
266
|
## Non-interactive CI usage
|
|
199
267
|
|
|
200
268
|
For scripted / CI installs, pass the answers as flags and add
|
|
@@ -222,6 +290,36 @@ The wizard still runs its plugin-health + auth probes and uses the
|
|
|
222
290
|
exit codes documented in the table below, so CI can branch on the
|
|
223
291
|
exit code to detect whether the install actually succeeded.
|
|
224
292
|
|
|
293
|
+
### Corporate TLS interception / air-gapped installs
|
|
294
|
+
|
|
295
|
+
| Flag | Description |
|
|
296
|
+
|------|-------------|
|
|
297
|
+
| `--ca <path>` | Trust a corporate root CA `.pem` (writes `NODE_EXTRA_CA_CERTS=<path>` into the generated client config). |
|
|
298
|
+
| `--use-system-ca` (or `--ca=system`) | Trust the OS certificate store instead of an exported file — zero-export, needs Node ≥ 22.15 (writes `NODE_OPTIONS=--use-system-ca`). |
|
|
299
|
+
| `--pin <version>` | Pin the generated client config to an exact version (`npx -y @wootsup/yt-builder-mcp@<version>`) instead of the floating `@latest`. Falls back to the `YTB_MCP_VERSION` env var when omitted. |
|
|
300
|
+
|
|
301
|
+
The interactive wizard auto-offers `--ca` / `--use-system-ca` the
|
|
302
|
+
moment a probe fails with a TLS-inspection certificate error, so these
|
|
303
|
+
flags are mainly for the non-interactive/CI path.
|
|
304
|
+
|
|
305
|
+
### One-click setup (pickup mode)
|
|
306
|
+
|
|
307
|
+
The host plugin's admin UI can hand the wizard a freshly-minted Bearer
|
|
308
|
+
key directly, skipping the URL/token prompts entirely:
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
npx -y @wootsup/yt-builder-mcp setup \
|
|
312
|
+
--pickup https://example.com/wp-json/yt-builder-mcp/v1/setup/pickup \
|
|
313
|
+
--nonce "$NONCE" \
|
|
314
|
+
--client claude-desktop
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
The pickup URL and nonce are revealed together in wp-admin → Tools →
|
|
318
|
+
"MCP for YOOtheme Pro" (WordPress) or Administrator → Components →
|
|
319
|
+
"MCP for YOOtheme Pro" (Joomla). The pickup is IP-bound, single-use, and
|
|
320
|
+
expires after 5 minutes; any `--url`/`--token` passed alongside
|
|
321
|
+
`--pickup` are ignored (with a stderr warning).
|
|
322
|
+
|
|
225
323
|
## Exit codes (CLI)
|
|
226
324
|
|
|
227
325
|
The CLI returns POSIX-style exit codes for scripting / CI:
|
|
@@ -234,15 +332,16 @@ The CLI returns POSIX-style exit codes for scripting / CI:
|
|
|
234
332
|
| 3 | Auth probe failed and user declined to continue |
|
|
235
333
|
| 4 | Write failed; configs rolled back |
|
|
236
334
|
| 5 | Handshake failed; configs rolled back |
|
|
335
|
+
| 6 | AI clients configured, but the site could not be recorded in `sites.json`; nothing rolled back |
|
|
237
336
|
| 99 | Unhandled fatal in dispatcher |
|
|
238
337
|
| 130 | User cancelled (SIGINT) |
|
|
239
338
|
|
|
240
339
|
## Documentation
|
|
241
340
|
|
|
242
|
-
- [SKILL.md (bundled agent skill)](./skills/yt-builder-mcp/SKILL.md):
|
|
341
|
+
- [SKILL.md (bundled agent skill)](./skills/yt-builder-mcp/SKILL.md): 6 canonical workflows, gateway model, tool catalog
|
|
243
342
|
- [REST API Reference](https://wootsup.com/docs/mcp/yootheme-wordpress/)
|
|
244
343
|
- [MCP Tool Reference](https://wootsup.com/docs/mcp/yootheme-wordpress/tools)
|
|
245
344
|
|
|
246
|
-
##
|
|
345
|
+
## Product page
|
|
247
346
|
|
|
248
|
-
https://
|
|
347
|
+
https://wootsup.com/products/yt-builder/
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type declaration for `node-floor.js`.
|
|
3
|
+
*
|
|
4
|
+
* That file is deliberately plain JavaScript outside the `src/` tree — its
|
|
5
|
+
* own docblock explains why: it guards the import that would otherwise throw
|
|
6
|
+
* while the module graph is being instantiated. `tsconfig.tests.json` still
|
|
7
|
+
* type-checks the tests that import it, and a `.js` module with no sibling
|
|
8
|
+
* declaration types as `any` there (TS7016) — this file is that declaration,
|
|
9
|
+
* kept in sync with the implementation by hand since the source itself
|
|
10
|
+
* cannot carry types without becoming the thing it guards against.
|
|
11
|
+
*
|
|
12
|
+
* @license MIT
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
export declare const NODE_PREFLIGHT_FLOOR: readonly [number, number, number];
|
|
16
|
+
export declare const UNSUPPORTED_NODE_MAJOR: number;
|
|
17
|
+
export declare const NODE_TOO_OLD_EXIT: number;
|
|
18
|
+
export declare const NODE_UNSUPPORTED_LINE_EXIT: number;
|
|
19
|
+
|
|
20
|
+
export interface NodeRuntimeRefusal {
|
|
21
|
+
readonly exitCode: number;
|
|
22
|
+
readonly message: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export declare function nodeRuntimeRefusal(
|
|
26
|
+
versionString: string,
|
|
27
|
+
floor?: readonly [number, number, number],
|
|
28
|
+
): NodeRuntimeRefusal | null;
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Refuse to run on a Node this package cannot work on, and say so in words the
|
|
3
|
+
* reader can act on.
|
|
4
|
+
*
|
|
5
|
+
* Why this cannot live in `dist/`: a dependency of the setup wizard uses a
|
|
6
|
+
* terminal-formatting helper from a Node builtin. Where the helper is missing
|
|
7
|
+
* entirely, importing it throws while the module graph is being INSTANTIATED,
|
|
8
|
+
* not when the code runs — so every subcommand dies, `--version` included,
|
|
9
|
+
* before a single line of ours executes. Anything that diagnoses that
|
|
10
|
+
* situation must therefore sit OUTSIDE the graph it diagnoses: this file is
|
|
11
|
+
* plain JavaScript, imports nothing, and is loaded before the first `dist/`
|
|
12
|
+
* module.
|
|
13
|
+
*
|
|
14
|
+
* The consequence for the floor number: it is duplicated here, because the
|
|
15
|
+
* authoritative `NODE_FLOOR` lives behind exactly the import this guard runs
|
|
16
|
+
* ahead of. `tests/setup/engines-floor.test.ts` holds the two together — the
|
|
17
|
+
* duplication is deliberate and watched, not an oversight.
|
|
18
|
+
*
|
|
19
|
+
* ## Where the number comes from, and where it does NOT
|
|
20
|
+
*
|
|
21
|
+
* The floor is a product decision, not the lowest version that happens to
|
|
22
|
+
* work — those are two different numbers and this file has held both.
|
|
23
|
+
*
|
|
24
|
+
* What it is TODAY: 22.15.0, the release that first reads the OS trust store
|
|
25
|
+
* via `--use-system-ca`. `SYSTEM_CA_NODE_FLOOR` in
|
|
26
|
+
* `src/diagnostics/ca-trust.ts` carries the same triple. Beneath it the
|
|
27
|
+
* wizard's automatic recovery for a corporate TLS-inspection proxy is a
|
|
28
|
+
* silent no-op, so a customer would be told a fix was applied that cannot
|
|
29
|
+
* work. The minor matters; 22.0 would reopen exactly that gap.
|
|
30
|
+
*
|
|
31
|
+
* What it WAS, and why the measurement still matters: the lowest version this
|
|
32
|
+
* package was ever observed to run on is 20.13.0, one minor ABOVE what the
|
|
33
|
+
* wizard's prompt library declares for itself. That library says `>= 20.12.0`
|
|
34
|
+
* and is wrong — it calls a terminal-formatting helper with an ARRAY of
|
|
35
|
+
* styles, an overload that arrived later than the helper. Measured 2026-08-31
|
|
36
|
+
* by bisection over nine installed releases, each confirmed against the real
|
|
37
|
+
* wizard and not only against the helper:
|
|
38
|
+
*
|
|
39
|
+
* 20.12.0 helper present, array form REJECTED → wizard dies at the first prompt
|
|
40
|
+
* 20.13.0 array form accepted → wizard runs
|
|
41
|
+
* 21.0.0 helper ABSENT → module fails to load
|
|
42
|
+
* 21.7.3 helper present, array form REJECTED → wizard dies at the first prompt
|
|
43
|
+
* 22.0.0 array form accepted → wizard runs
|
|
44
|
+
*
|
|
45
|
+
* That table is why the 21 line is refused on its own terms below. The
|
|
46
|
+
* supported set was never one interval: the overload was backported into the
|
|
47
|
+
* 20 line from 20.13.0 and never into the 21 line at all, and 21.7.3 was that
|
|
48
|
+
* line's last release. Today's floor already excludes 21 arithmetically, so
|
|
49
|
+
* the separate refusal survives for its WORDING, not for its reach.
|
|
50
|
+
*
|
|
51
|
+
* @license MIT
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Minimum supported Node. Kept equal to `NODE_FLOOR` in
|
|
56
|
+
* `src/diagnostics/doctor.ts` by `tests/setup/engines-floor.test.ts`.
|
|
57
|
+
*/
|
|
58
|
+
export const NODE_PREFLIGHT_FLOOR = [22, 15, 0];
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Major version of the line that never received the backport (see above).
|
|
62
|
+
*
|
|
63
|
+
* It sits BELOW the floor, so `engines.node` now excludes it too and npm does
|
|
64
|
+
* warn before installing — which it did not while the floor was in the 20
|
|
65
|
+
* line, and that older situation is the one this constant was built for. What
|
|
66
|
+
* survives the change is the WORDING: a customer who ignores the npm warning
|
|
67
|
+
* and starts anyway is told that this whole line is unusable and that no
|
|
68
|
+
* release of it will do, rather than being told to install something newer —
|
|
69
|
+
* advice that reads as "try 21.7.3" to anyone on 21.0.0.
|
|
70
|
+
*
|
|
71
|
+
* Removing it would therefore lose an explanation, not a refusal. The refusal
|
|
72
|
+
* is covered twice; the reason is not.
|
|
73
|
+
*/
|
|
74
|
+
export const UNSUPPORTED_NODE_MAJOR = 21;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Exit codes. Both mean "this interpreter cannot run the package", and they
|
|
78
|
+
* are distinct so a caller can tell WHICH refusal it hit without parsing
|
|
79
|
+
* prose. Neither collides with the CLI's generic fatal (99) or with any code
|
|
80
|
+
* `runCli` returns (0, 1, 2, 130). The values are the conventional
|
|
81
|
+
* `EX_CONFIG` and `EX_UNAVAILABLE` from sysexits.
|
|
82
|
+
*/
|
|
83
|
+
export const NODE_TOO_OLD_EXIT = 78;
|
|
84
|
+
export const NODE_UNSUPPORTED_LINE_EXIT = 69;
|
|
85
|
+
|
|
86
|
+
const RESTART_HINT = 'then run the command again. If an AI client starts this server for you,\n'
|
|
87
|
+
+ 'restart that client afterwards so it picks up the newer Node.\n';
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* The refusal for `versionString`, or `null` when this Node can run the
|
|
91
|
+
* package.
|
|
92
|
+
*
|
|
93
|
+
* Returns the exit code alongside the message so the caller never has to
|
|
94
|
+
* decide which refusal it is holding.
|
|
95
|
+
*
|
|
96
|
+
* Takes the version as an argument rather than reading `process.version` so
|
|
97
|
+
* the decision is testable on any machine, against any version.
|
|
98
|
+
*
|
|
99
|
+
* **An unparseable version is allowed through, deliberately.** Blocking would
|
|
100
|
+
* turn an unrecognised-but-working runtime into a refusal to start, which is
|
|
101
|
+
* worse than the confusing loader error the caller would otherwise get: that
|
|
102
|
+
* error is the behaviour this guard replaces, not one it introduces.
|
|
103
|
+
*/
|
|
104
|
+
export function nodeRuntimeRefusal(versionString, floor = NODE_PREFLIGHT_FLOOR) {
|
|
105
|
+
const m = /^v?(\d+)\.(\d+)\.(\d+)/.exec(String(versionString ?? ''));
|
|
106
|
+
if (m === null) return null;
|
|
107
|
+
|
|
108
|
+
const found = [Number(m[1]), Number(m[2]), Number(m[3])];
|
|
109
|
+
const shown = found.join('.');
|
|
110
|
+
|
|
111
|
+
// Checked before the floor so this line gets its own explanation rather
|
|
112
|
+
// than the generic too-old refusal. The order was once load-bearing —
|
|
113
|
+
// every release of the line sat numerically ABOVE the floor, so nothing
|
|
114
|
+
// else would have caught it. It no longer is, and the check is kept for
|
|
115
|
+
// what it SAYS.
|
|
116
|
+
if (found[0] === UNSUPPORTED_NODE_MAJOR) {
|
|
117
|
+
// What to install is the HIGHER of "the line after the refused one"
|
|
118
|
+
// and the floor — never the former alone. With a floor of 22.15.0,
|
|
119
|
+
// advising "Node.js 22" would send the reader to a release this same
|
|
120
|
+
// function refuses one branch below, and they would meet a second
|
|
121
|
+
// refusal for a version they installed on our advice.
|
|
122
|
+
const advice = floor[0] > UNSUPPORTED_NODE_MAJOR
|
|
123
|
+
? `${floor[0]}.${floor[1]}`
|
|
124
|
+
: String(UNSUPPORTED_NODE_MAJOR + 1);
|
|
125
|
+
|
|
126
|
+
return {
|
|
127
|
+
exitCode: NODE_UNSUPPORTED_LINE_EXIT,
|
|
128
|
+
message: `yt-builder-mcp cannot run on the Node.js ${UNSUPPORTED_NODE_MAJOR} line, `
|
|
129
|
+
+ `and this is Node.js ${shown}.\n`
|
|
130
|
+
+ `\n`
|
|
131
|
+
+ `No Node.js ${UNSUPPORTED_NODE_MAJOR} release carries the terminal formatting this package\n`
|
|
132
|
+
+ `needs. Install Node.js ${advice} or newer (an LTS release is recommended),\n`
|
|
133
|
+
+ RESTART_HINT,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
for (let i = 0; i < 3; i++) {
|
|
138
|
+
if (found[i] > floor[i]) return null;
|
|
139
|
+
if (found[i] < floor[i]) {
|
|
140
|
+
return {
|
|
141
|
+
exitCode: NODE_TOO_OLD_EXIT,
|
|
142
|
+
message: `yt-builder-mcp needs Node.js ${floor.join('.')} or newer, but this is Node.js ${shown}.\n`
|
|
143
|
+
+ `\n`
|
|
144
|
+
+ `Install Node.js ${floor[0]}.${floor[1]} or newer (an LTS release is recommended),\n`
|
|
145
|
+
+ RESTART_HINT,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return null;
|
|
150
|
+
}
|
package/bin/yt-builder-mcp.js
CHANGED
|
@@ -9,11 +9,14 @@
|
|
|
9
9
|
* `remove-site` / `set-default` / `test-site` / `help` /
|
|
10
10
|
* `--help` / `-h` / `--version` / `-v`): forward argv to
|
|
11
11
|
* `runCli()` in `dist/setup-cli.js` (Wave G.7).
|
|
12
|
-
* - '
|
|
12
|
+
* - 'unknown'→ a word was given and it is not one of ours: name it back,
|
|
13
|
+
* suggest the likely command, exit 2. Both at a terminal and
|
|
14
|
+
* off one — no MCP client passes a word we do not know.
|
|
15
|
+
* - 'hint' → NO subcommand AND stdin is an interactive TTY
|
|
13
16
|
* (a human ran the bin directly): print a discoverability
|
|
14
17
|
* hint to stderr and exit 0, instead of silently blocking
|
|
15
18
|
* on the stdio read loop ("hang").
|
|
16
|
-
* - 'server' →
|
|
19
|
+
* - 'server' → NO subcommand AND stdin is NOT a TTY (a real
|
|
17
20
|
* AI client piping JSON-RPC over stdin): import
|
|
18
21
|
* `dist/index.js`, which starts the MCP stdio server (or,
|
|
19
22
|
* under YTB_MCP_TEST_MODE=1, prints the tool list to stderr
|
|
@@ -44,20 +47,23 @@
|
|
|
44
47
|
*
|
|
45
48
|
* @license MIT
|
|
46
49
|
*/
|
|
47
|
-
import { argv, stdin, stderr, exit } from 'node:process';
|
|
50
|
+
import { argv, stdin, stderr, exit, version } from 'node:process';
|
|
48
51
|
import { spawnSync } from 'node:child_process';
|
|
49
52
|
import { fileURLToPath } from 'node:url';
|
|
50
53
|
|
|
51
|
-
import {
|
|
54
|
+
import { nodeRuntimeRefusal } from './node-floor.js';
|
|
55
|
+
|
|
56
|
+
// Dynamic, not static: a static import is hoisted above everything in this
|
|
57
|
+
// file, so nothing written here could run ahead of it. This is the ONLY
|
|
58
|
+
// `dist/` module loaded before the runtime check below, and it is loaded
|
|
59
|
+
// because the check needs to know the route first.
|
|
60
|
+
const {
|
|
52
61
|
decideInvocation,
|
|
53
62
|
isKnownSubcommand,
|
|
54
63
|
BARE_INVOCATION_HINT,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
CA_REEXEC_SENTINEL,
|
|
59
|
-
USE_SYSTEM_CA_FLAG,
|
|
60
|
-
} from '../dist/diagnostics/ca-reexec.js';
|
|
64
|
+
unknownSubcommandMessage,
|
|
65
|
+
UNKNOWN_SUBCOMMAND_EXIT_CODE,
|
|
66
|
+
} = await import('../dist/cli/invocation-decision.js');
|
|
61
67
|
|
|
62
68
|
const args = argv.slice(2);
|
|
63
69
|
const subcommand = args[0];
|
|
@@ -75,6 +81,31 @@ if (isKnownSubcommand(subcommand)) {
|
|
|
75
81
|
action = decideInvocation(subcommand, stdin.isTTY);
|
|
76
82
|
}
|
|
77
83
|
|
|
84
|
+
// The runtime check applies to the routes a PERSON drives, never to the
|
|
85
|
+
// server. Measured: `dist/index.js` loads on every version from the oldest
|
|
86
|
+
// supported upwards, so the server never needed this floor — only the setup
|
|
87
|
+
// wizard's terminal-formatting dependency does. Refusing the server route
|
|
88
|
+
// would take a working MCP server away from a customer whose only real
|
|
89
|
+
// problem is that `setup` cannot run.
|
|
90
|
+
//
|
|
91
|
+
// The cost of standing here rather than at the top of the file, stated so
|
|
92
|
+
// nobody has to rediscover it: the check is no longer ahead of every `dist/`
|
|
93
|
+
// import. Two are outside it — `invocation-decision.js` above, which must
|
|
94
|
+
// load to decide the route at all, and `index.js` on the server branch,
|
|
95
|
+
// which is deliberately unguarded. Should either ever pull in the wizard's
|
|
96
|
+
// dependency, directly or through one of its own, that import throws while
|
|
97
|
+
// the module graph is instantiated and this check never gets to speak: the
|
|
98
|
+
// customer is back to a message about a missing module export. Both are
|
|
99
|
+
// small and neither imports the wizard today, which is a measurement, not a
|
|
100
|
+
// guarantee.
|
|
101
|
+
if (action !== 'server') {
|
|
102
|
+
const refusal = nodeRuntimeRefusal(version);
|
|
103
|
+
if (refusal !== null) {
|
|
104
|
+
stderr.write(refusal.message);
|
|
105
|
+
exit(refusal.exitCode);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
78
109
|
if (action === 'cli') {
|
|
79
110
|
try {
|
|
80
111
|
const { runCli } = await import('../dist/setup-cli.js');
|
|
@@ -85,6 +116,11 @@ if (action === 'cli') {
|
|
|
85
116
|
stderr.write(`yt-builder-mcp: fatal: ${msg}\n`);
|
|
86
117
|
exit(99);
|
|
87
118
|
}
|
|
119
|
+
} else if (action === 'unknown') {
|
|
120
|
+
// A word that is not ours. Said out loud, with a non-zero code — the two
|
|
121
|
+
// things a customer who mistyped needs and used to get neither of.
|
|
122
|
+
stderr.write(`${unknownSubcommandMessage(subcommand)}\n`);
|
|
123
|
+
exit(UNKNOWN_SUBCOMMAND_EXIT_CODE);
|
|
88
124
|
} else if (action === 'hint') {
|
|
89
125
|
stderr.write(`${BARE_INVOCATION_HINT}\n`);
|
|
90
126
|
exit(0);
|
|
@@ -99,6 +135,11 @@ if (action === 'cli') {
|
|
|
99
135
|
// normal in-process start — a re-exec failure must never break startup.
|
|
100
136
|
if (process.env.YTB_MCP_TEST_MODE !== '1') {
|
|
101
137
|
try {
|
|
138
|
+
const {
|
|
139
|
+
decideCaReexec,
|
|
140
|
+
CA_REEXEC_SENTINEL,
|
|
141
|
+
USE_SYSTEM_CA_FLAG,
|
|
142
|
+
} = await import('../dist/diagnostics/ca-reexec.js');
|
|
102
143
|
const shouldReexec = decideCaReexec({
|
|
103
144
|
nodeVersion: process.version,
|
|
104
145
|
execArgv: process.execArgv,
|