@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
|
@@ -1,40 +1,20 @@
|
|
|
1
|
-
// packages/mcp/src/cli/doctor-command.ts
|
|
2
1
|
import { installGlobalProxyDispatcher } from '../net/proxy-dispatcher.js';
|
|
3
2
|
import { SERVER_VERSION } from '../server.js';
|
|
4
3
|
import { fetchLatestFromNpm } from '../update/update-check.js';
|
|
5
4
|
import { runDoctor, formatDoctorReport, asHostCompat, asCapabilityReport, } from '../diagnostics/doctor.js';
|
|
6
5
|
const MCP_PACKAGE_NAME = '@wootsup/yt-builder-mcp';
|
|
7
6
|
const PROBE_TIMEOUT_MS = 8_000;
|
|
8
|
-
/** WP + Joomla health endpoints — doctor is platform-agnostic. */
|
|
9
7
|
const HEALTH_PATHS = ['/wp-json/yt-builder-mcp/v1/health', '/api/index.php/v1/yt-builder-mcp/health'];
|
|
10
8
|
const BEARER_PATHS = ['/wp-json/yt-builder-mcp/v1/etag', '/api/index.php/v1/yt-builder-mcp/etag'];
|
|
11
|
-
/** Platform REST roots — for pre-install mode (plugin /health 404 but site up). */
|
|
12
9
|
const REST_ROOT_PATHS = ['/wp-json/', '/api/index.php/'];
|
|
13
10
|
function joinUrl(base, path) {
|
|
14
11
|
return base.replace(/\/+$/, '') + path;
|
|
15
12
|
}
|
|
16
|
-
/**
|
|
17
|
-
* Peel the `host` field off a /health body and validate it as {@link HostCompat}
|
|
18
|
-
* at the **network boundary**. The block only appears on the authed payload; a
|
|
19
|
-
* malformed/partial bag is discarded. The shape validation is delegated to the
|
|
20
|
-
* single source of truth — `asHostCompat` in doctor.ts — so this boundary and
|
|
21
|
-
* the consumption boundary in `runDoctor` can never diverge.
|
|
22
|
-
*/
|
|
23
13
|
function parseHost(body) {
|
|
24
14
|
if (body === null || typeof body !== 'object')
|
|
25
15
|
return undefined;
|
|
26
16
|
return asHostCompat(body.host);
|
|
27
17
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Finding #5 (T-E1) — peel the capability-verdict fields off a /health body at
|
|
30
|
-
* the **network boundary**. Unlike `host`, these are separate TOP-LEVEL keys
|
|
31
|
-
* (`capability_ok` / `capability_warning` / `effective_capabilities` — the
|
|
32
|
-
* same shape `DiagnoseCapabilityReport::augment()` merges into the PHP
|
|
33
|
-
* payload), so they are assembled into one bag here before delegating shape
|
|
34
|
-
* validation to the single source of truth — `asCapabilityReport` in
|
|
35
|
-
* doctor.ts — so this boundary and the consumption boundary in `runDoctor`
|
|
36
|
-
* can never diverge.
|
|
37
|
-
*/
|
|
38
18
|
function parseCapabilityReport(body) {
|
|
39
19
|
if (body === null || typeof body !== 'object')
|
|
40
20
|
return undefined;
|
|
@@ -45,23 +25,12 @@ function parseCapabilityReport(body) {
|
|
|
45
25
|
effective_capabilities: b.effective_capabilities,
|
|
46
26
|
});
|
|
47
27
|
}
|
|
48
|
-
/**
|
|
49
|
-
* P0.5 (U2) — peel the coarse `token_scope` off an authenticated /health body.
|
|
50
|
-
* Only `read` / `write` are accepted (the PHP `McpTokenScope` codomain); any
|
|
51
|
-
* other / absent value (pre-U2 server) yields undefined so the doctor emits no
|
|
52
|
-
* scope row rather than a wrong one.
|
|
53
|
-
*/
|
|
54
28
|
function parseTokenScope(body) {
|
|
55
29
|
if (body === null || typeof body !== 'object')
|
|
56
30
|
return undefined;
|
|
57
31
|
const scope = body.token_scope;
|
|
58
32
|
return scope === 'read' || scope === 'write' ? scope : undefined;
|
|
59
33
|
}
|
|
60
|
-
/**
|
|
61
|
-
* P0.5 (U2) — read the coarse `token_scope` off the authenticated /health
|
|
62
|
-
* payload (WP path then Joomla path). Returns undefined on any failure / pre-U2
|
|
63
|
-
* server so the doctor's scope row is purely additive (never a false signal).
|
|
64
|
-
*/
|
|
65
34
|
async function probeTokenScope(url, token) {
|
|
66
35
|
for (const path of HEALTH_PATHS) {
|
|
67
36
|
try {
|
|
@@ -77,18 +46,19 @@ async function probeTokenScope(url, token) {
|
|
|
77
46
|
}
|
|
78
47
|
}
|
|
79
48
|
catch {
|
|
80
|
-
// Try the next platform path; a total failure → undefined (no row).
|
|
81
49
|
}
|
|
82
50
|
}
|
|
83
51
|
return undefined;
|
|
84
52
|
}
|
|
85
|
-
/** Parse `--url <x> --token <y>` from the doctor argv tail. */
|
|
86
53
|
export function parseDoctorArgs(argv) {
|
|
87
54
|
const parsed = {};
|
|
88
55
|
for (let i = 0; i < argv.length; i++) {
|
|
89
56
|
const flag = argv[i];
|
|
90
57
|
const next = argv[i + 1];
|
|
91
|
-
if (flag === '--
|
|
58
|
+
if (flag === '--help' || flag === '-h' || flag === 'help') {
|
|
59
|
+
parsed.help = true;
|
|
60
|
+
}
|
|
61
|
+
else if (flag === '--url' && next !== undefined) {
|
|
92
62
|
parsed.url = next;
|
|
93
63
|
i++;
|
|
94
64
|
}
|
|
@@ -99,14 +69,18 @@ export function parseDoctorArgs(argv) {
|
|
|
99
69
|
}
|
|
100
70
|
return parsed;
|
|
101
71
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
72
|
+
export const DOCTOR_HELP_TEXT = [
|
|
73
|
+
'Usage: yt-builder-mcp doctor [--url <site-url>] [--token <bearer>]',
|
|
74
|
+
'',
|
|
75
|
+
'Diagnose connectivity: Node version, corporate proxy, TLS chain,',
|
|
76
|
+
'plugin reachability and Bearer key. Reads YTB_MCP_SITE_URL and',
|
|
77
|
+
'YTB_MCP_BEARER_TOKEN when the flags are absent.',
|
|
78
|
+
'',
|
|
79
|
+
'Flags:',
|
|
80
|
+
' --url <site-url> Site to probe (default: YTB_MCP_SITE_URL).',
|
|
81
|
+
' --token <bearer> Bearer key to test (default: YTB_MCP_BEARER_TOKEN).',
|
|
82
|
+
' --help, -h Show this message.',
|
|
83
|
+
].join('\n');
|
|
110
84
|
function defaultDoctorDeps(token) {
|
|
111
85
|
const authHeaders = token !== undefined && token !== '' ? { Authorization: `Bearer ${token}` } : undefined;
|
|
112
86
|
return {
|
|
@@ -133,14 +107,11 @@ function defaultDoctorDeps(token) {
|
|
|
133
107
|
}
|
|
134
108
|
return { ok: false, error: lastError };
|
|
135
109
|
},
|
|
136
|
-
// Task 2.3 pre-install mode — REST root reachability, plugin-independent.
|
|
137
110
|
async probeRestRoot(url) {
|
|
138
111
|
let lastError = null;
|
|
139
112
|
for (const path of REST_ROOT_PATHS) {
|
|
140
113
|
try {
|
|
141
114
|
const res = await fetch(joinUrl(url, path), { signal: AbortSignal.timeout(PROBE_TIMEOUT_MS) });
|
|
142
|
-
// The WP REST index returns 200; any HTTP response means the
|
|
143
|
-
// REST surface is up (the host answered), so the site is live.
|
|
144
115
|
if (res.status < 500)
|
|
145
116
|
return { ok: true };
|
|
146
117
|
lastError = { status: res.status };
|
|
@@ -161,15 +132,10 @@ function defaultDoctorDeps(token) {
|
|
|
161
132
|
signal: AbortSignal.timeout(PROBE_TIMEOUT_MS),
|
|
162
133
|
});
|
|
163
134
|
if (res.ok) {
|
|
164
|
-
// P0.5 (U2) — the key is VALID; now learn its coarse SCOPE
|
|
165
|
-
// from the authenticated /health payload so the doctor can
|
|
166
|
-
// report a read-vs-write "Bearer scope" row. Best-effort:
|
|
167
|
-
// a probe failure / pre-U2 server simply omits the row.
|
|
168
135
|
const tokenScope = await probeTokenScope(url, token);
|
|
169
136
|
return tokenScope !== undefined ? { ok: true, tokenScope } : { ok: true };
|
|
170
137
|
}
|
|
171
138
|
lastStatus = res.status;
|
|
172
|
-
// A 404 just means "wrong platform path" — keep trying.
|
|
173
139
|
if (res.status !== 404)
|
|
174
140
|
return { ok: false, status: res.status };
|
|
175
141
|
}
|
|
@@ -179,8 +145,6 @@ function defaultDoctorDeps(token) {
|
|
|
179
145
|
}
|
|
180
146
|
return { ok: false, status: lastStatus, error: lastError };
|
|
181
147
|
},
|
|
182
|
-
// G-D #10 — surface the RAW registry error (not swallowed) so doctor can
|
|
183
|
-
// run the CA classifier on a TLS-inspection failure of the npm registry.
|
|
184
148
|
async probeRegistry() {
|
|
185
149
|
try {
|
|
186
150
|
const res = await fetch('https://registry.npmjs.org/-/ping', {
|
|
@@ -195,22 +159,17 @@ function defaultDoctorDeps(token) {
|
|
|
195
159
|
fetchLatest: (pkg) => fetchLatestFromNpm(pkg),
|
|
196
160
|
};
|
|
197
161
|
}
|
|
198
|
-
/**
|
|
199
|
-
* `yt-builder-mcp doctor [--url <site> --token <key>]` — run the self-diagnostic
|
|
200
|
-
* and print an actionable report. Falls back to YTB_MCP_SITE_URL /
|
|
201
|
-
* YTB_MCP_BEARER_TOKEN when the flags are omitted (so it works against an
|
|
202
|
-
* already-configured server entry). Returns 0 when all critical checks pass.
|
|
203
|
-
*/
|
|
204
162
|
export async function doctorCommand(argv, overrides = {}) {
|
|
205
163
|
const env = overrides.env ?? process.env;
|
|
206
164
|
const log = overrides.log ?? ((line) => process.stdout.write(`${line}\n`));
|
|
207
|
-
// Honor a corporate proxy for doctor's own probes (CA via NODE_EXTRA_CA_CERTS).
|
|
208
|
-
installGlobalProxyDispatcher({ env });
|
|
209
165
|
const parsed = parseDoctorArgs(argv);
|
|
166
|
+
if (parsed.help === true) {
|
|
167
|
+
log(DOCTOR_HELP_TEXT);
|
|
168
|
+
return 0;
|
|
169
|
+
}
|
|
170
|
+
installGlobalProxyDispatcher({ env });
|
|
210
171
|
const url = parsed.url ?? env.YTB_MCP_SITE_URL ?? env.YTB_MCP_WP_URL;
|
|
211
172
|
const token = parsed.token ?? env.YTB_MCP_BEARER_TOKEN;
|
|
212
|
-
// Thread the token into the default probes so `probeHealth` authenticates
|
|
213
|
-
// and the server returns the Bearer-tiered host-compat block (Task 2.3).
|
|
214
173
|
const deps = overrides.deps ?? defaultDoctorDeps(token);
|
|
215
174
|
const report = await runDoctor({ url, token, env, currentVersion: SERVER_VERSION, packageName: MCP_PACKAGE_NAME }, deps);
|
|
216
175
|
log(formatDoctorReport(report));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-command.js","sourceRoot":"","sources":["../../src/cli/doctor-command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor-command.js","sourceRoot":"","sources":["../../src/cli/doctor-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,57 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure decision core for the `bin/yt-builder-mcp.js` dispatcher.
|
|
3
|
-
*
|
|
4
|
-
* The bin is a thin JS shim (not type-checked, not linted) so the
|
|
5
|
-
* branching logic that decides what a given invocation should DO lives
|
|
6
|
-
* here, in a typed + tested + covered module. The shim imports the
|
|
7
|
-
* compiled `dist/cli/invocation-decision.js` and acts on the verdict.
|
|
8
|
-
*
|
|
9
|
-
* Three outcomes:
|
|
10
|
-
* - 'cli' → a known subcommand (setup / uninstall / add-site / …):
|
|
11
|
-
* forward argv to the setup-cli dispatcher.
|
|
12
|
-
* - 'hint' → no or unknown subcommand AND stdin is an interactive
|
|
13
|
-
* TTY (a human ran the bin directly): print the
|
|
14
|
-
* discoverability hint to stderr and exit 0, rather than
|
|
15
|
-
* silently blocking on the stdio read loop ("hang").
|
|
16
|
-
* - 'server' → no or unknown subcommand AND stdin is NOT a TTY (a real
|
|
17
|
-
* MCP client piping JSON-RPC over stdin): boot the stdio
|
|
18
|
-
* server. This path MUST stay byte-for-byte equivalent to
|
|
19
|
-
* the pre-hint behaviour — the guard is strict on isTTY so
|
|
20
|
-
* the client path is never diverted.
|
|
21
|
-
*
|
|
22
|
-
* @license MIT
|
|
23
|
-
*/
|
|
24
|
-
/**
|
|
25
|
-
* Canonical set of subcommands handled by the setup-cli dispatcher.
|
|
26
|
-
*
|
|
27
|
-
* Mirrors `CLI_SUBCOMMANDS` in `bin/yt-builder-mcp.js`. Kept frozen so a
|
|
28
|
-
* consumer cannot mutate the shared decision surface at runtime.
|
|
29
|
-
*/
|
|
30
1
|
export declare const KNOWN_SUBCOMMANDS: ReadonlySet<string>;
|
|
31
|
-
/**
|
|
32
|
-
* Discoverability hint printed to stderr when a human runs the bin
|
|
33
|
-
* directly (no/unknown subcommand at an interactive TTY). stderr, not
|
|
34
|
-
* stdout, so it never contaminates a JSON-RPC frame if redirected.
|
|
35
|
-
*/
|
|
36
2
|
export declare const BARE_INVOCATION_HINT: string;
|
|
37
|
-
|
|
38
|
-
export
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
* `undefined` (no argument) is never a known subcommand.
|
|
42
|
-
*/
|
|
3
|
+
export declare function suggestSubcommand(sub: string): string | undefined;
|
|
4
|
+
export declare function unknownSubcommandMessage(sub: string): string;
|
|
5
|
+
export declare const UNKNOWN_SUBCOMMAND_EXIT_CODE = 1;
|
|
6
|
+
export type InvocationAction = 'cli' | 'unknown' | 'hint' | 'server';
|
|
43
7
|
export declare function isKnownSubcommand(sub: string | undefined): boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Decide the bin action from the first CLI argument and whether stdin is
|
|
46
|
-
* an interactive TTY.
|
|
47
|
-
*
|
|
48
|
-
* @param subcommand argv[2], or undefined when no argument was passed.
|
|
49
|
-
* @param stdinIsTTY `process.stdin.isTTY` — `true` only for an
|
|
50
|
-
* interactive human terminal; `false`/`undefined` for
|
|
51
|
-
* a piped stream (which is how every MCP client runs
|
|
52
|
-
* the server). The guard is STRICT: only `=== true`
|
|
53
|
-
* yields the hint, so the MCP-client path is never
|
|
54
|
-
* diverted.
|
|
55
|
-
*/
|
|
56
8
|
export declare function decideInvocation(subcommand: string | undefined, stdinIsTTY: boolean | undefined): InvocationAction;
|
|
57
9
|
//# sourceMappingURL=invocation-decision.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invocation-decision.d.ts","sourceRoot":"","sources":["../../src/cli/invocation-decision.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"invocation-decision.d.ts","sourceRoot":"","sources":["../../src/cli/invocation-decision.ts"],"names":[],"mappings":"AAwDA,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAsBjD,CAAC;AAOF,eAAO,MAAM,oBAAoB,EAAE,MAKxB,CAAC;AAwDZ,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAqBjE;AASD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM5D;AAgBD,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAG9C,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAMrE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAElE;AAiBD,wBAAgB,gBAAgB,CAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,UAAU,EAAE,OAAO,GAAG,SAAS,GAChC,gBAAgB,CAYlB"}
|
|
@@ -1,42 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure decision core for the `bin/yt-builder-mcp.js` dispatcher.
|
|
3
|
-
*
|
|
4
|
-
* The bin is a thin JS shim (not type-checked, not linted) so the
|
|
5
|
-
* branching logic that decides what a given invocation should DO lives
|
|
6
|
-
* here, in a typed + tested + covered module. The shim imports the
|
|
7
|
-
* compiled `dist/cli/invocation-decision.js` and acts on the verdict.
|
|
8
|
-
*
|
|
9
|
-
* Three outcomes:
|
|
10
|
-
* - 'cli' → a known subcommand (setup / uninstall / add-site / …):
|
|
11
|
-
* forward argv to the setup-cli dispatcher.
|
|
12
|
-
* - 'hint' → no or unknown subcommand AND stdin is an interactive
|
|
13
|
-
* TTY (a human ran the bin directly): print the
|
|
14
|
-
* discoverability hint to stderr and exit 0, rather than
|
|
15
|
-
* silently blocking on the stdio read loop ("hang").
|
|
16
|
-
* - 'server' → no or unknown subcommand AND stdin is NOT a TTY (a real
|
|
17
|
-
* MCP client piping JSON-RPC over stdin): boot the stdio
|
|
18
|
-
* server. This path MUST stay byte-for-byte equivalent to
|
|
19
|
-
* the pre-hint behaviour — the guard is strict on isTTY so
|
|
20
|
-
* the client path is never diverted.
|
|
21
|
-
*
|
|
22
|
-
* @license MIT
|
|
23
|
-
*/
|
|
24
|
-
/**
|
|
25
|
-
* Canonical set of subcommands handled by the setup-cli dispatcher.
|
|
26
|
-
*
|
|
27
|
-
* Mirrors `CLI_SUBCOMMANDS` in `bin/yt-builder-mcp.js`. Kept frozen so a
|
|
28
|
-
* consumer cannot mutate the shared decision surface at runtime.
|
|
29
|
-
*/
|
|
30
1
|
export const KNOWN_SUBCOMMANDS = Object.freeze(new Set([
|
|
31
2
|
'setup',
|
|
32
3
|
'install-skill',
|
|
33
4
|
'install',
|
|
34
|
-
// Self-diagnostic: Node version, TLS chain, proxy, reachability, bearer.
|
|
35
5
|
'doctor',
|
|
36
|
-
// Reverse-of-setup: remove our server entry + optional skill.
|
|
37
6
|
'uninstall',
|
|
38
7
|
'remove',
|
|
39
|
-
// W9 multi-site CLI subcommands.
|
|
40
8
|
'add-site',
|
|
41
9
|
'list-sites',
|
|
42
10
|
'remove-site',
|
|
@@ -48,41 +16,64 @@ export const KNOWN_SUBCOMMANDS = Object.freeze(new Set([
|
|
|
48
16
|
'--version',
|
|
49
17
|
'-v',
|
|
50
18
|
]));
|
|
51
|
-
/**
|
|
52
|
-
* Discoverability hint printed to stderr when a human runs the bin
|
|
53
|
-
* directly (no/unknown subcommand at an interactive TTY). stderr, not
|
|
54
|
-
* stdout, so it never contaminates a JSON-RPC frame if redirected.
|
|
55
|
-
*/
|
|
56
19
|
export const BARE_INVOCATION_HINT = [
|
|
57
|
-
'This is the
|
|
20
|
+
'This is the MCP for YOOtheme Pro server (stdio), normally launched by your',
|
|
58
21
|
"AI client, not run directly — that's why it waits.",
|
|
59
22
|
'Did you mean `npx -y @wootsup/yt-builder-mcp setup`?',
|
|
60
23
|
'See also: uninstall, help.',
|
|
61
24
|
].join(' ');
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
25
|
+
const SUGGESTABLE_SUBCOMMANDS = [...KNOWN_SUBCOMMANDS].filter((name) => !name.startsWith('-'));
|
|
26
|
+
function editDistance(a, b) {
|
|
27
|
+
let previous = Array.from({ length: b.length + 1 }, (_, i) => i);
|
|
28
|
+
for (let i = 1; i <= a.length; i += 1) {
|
|
29
|
+
const current = [i];
|
|
30
|
+
for (let j = 1; j <= b.length; j += 1) {
|
|
31
|
+
const substitution = (previous[j - 1] ?? 0) + (a[i - 1] === b[j - 1] ? 0 : 1);
|
|
32
|
+
const deletion = (previous[j] ?? 0) + 1;
|
|
33
|
+
const insertion = (current[j - 1] ?? 0) + 1;
|
|
34
|
+
current.push(Math.min(substitution, deletion, insertion));
|
|
35
|
+
}
|
|
36
|
+
previous = current;
|
|
37
|
+
}
|
|
38
|
+
return previous[b.length] ?? 0;
|
|
39
|
+
}
|
|
40
|
+
export function suggestSubcommand(sub) {
|
|
41
|
+
const typed = sub.toLowerCase();
|
|
42
|
+
let best;
|
|
43
|
+
let bestDistance = 3;
|
|
44
|
+
for (const candidate of SUGGESTABLE_SUBCOMMANDS) {
|
|
45
|
+
const distance = editDistance(typed, candidate);
|
|
46
|
+
if (distance < bestDistance) {
|
|
47
|
+
best = candidate;
|
|
48
|
+
bestDistance = distance;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (best !== undefined)
|
|
52
|
+
return best;
|
|
53
|
+
if (typed.length < 3)
|
|
54
|
+
return undefined;
|
|
55
|
+
const stems = SUGGESTABLE_SUBCOMMANDS.filter((candidate) => candidate.includes('-') && candidate.startsWith(typed));
|
|
56
|
+
return stems.length === 1 ? stems[0] : undefined;
|
|
57
|
+
}
|
|
58
|
+
export function unknownSubcommandMessage(sub) {
|
|
59
|
+
const suggestion = suggestSubcommand(sub);
|
|
60
|
+
const lines = [`yt-builder-mcp: unknown command: ${sub}`];
|
|
61
|
+
if (suggestion !== undefined)
|
|
62
|
+
lines.push(`Did you mean: ${suggestion}?`);
|
|
63
|
+
lines.push('Run `yt-builder-mcp --help` to see every command.');
|
|
64
|
+
return lines.join('\n');
|
|
65
|
+
}
|
|
66
|
+
export const UNKNOWN_SUBCOMMAND_EXIT_CODE = 1;
|
|
66
67
|
export function isKnownSubcommand(sub) {
|
|
67
68
|
return sub !== undefined && KNOWN_SUBCOMMANDS.has(sub);
|
|
68
69
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Decide the bin action from the first CLI argument and whether stdin is
|
|
71
|
-
* an interactive TTY.
|
|
72
|
-
*
|
|
73
|
-
* @param subcommand argv[2], or undefined when no argument was passed.
|
|
74
|
-
* @param stdinIsTTY `process.stdin.isTTY` — `true` only for an
|
|
75
|
-
* interactive human terminal; `false`/`undefined` for
|
|
76
|
-
* a piped stream (which is how every MCP client runs
|
|
77
|
-
* the server). The guard is STRICT: only `=== true`
|
|
78
|
-
* yields the hint, so the MCP-client path is never
|
|
79
|
-
* diverted.
|
|
80
|
-
*/
|
|
81
70
|
export function decideInvocation(subcommand, stdinIsTTY) {
|
|
82
71
|
if (isKnownSubcommand(subcommand)) {
|
|
83
72
|
return 'cli';
|
|
84
73
|
}
|
|
85
|
-
|
|
74
|
+
if (subcommand !== undefined && subcommand !== '') {
|
|
75
|
+
return 'unknown';
|
|
76
|
+
}
|
|
86
77
|
return stdinIsTTY === true ? 'hint' : 'server';
|
|
87
78
|
}
|
|
88
79
|
//# sourceMappingURL=invocation-decision.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invocation-decision.js","sourceRoot":"","sources":["../../src/cli/invocation-decision.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"invocation-decision.js","sourceRoot":"","sources":["../../src/cli/invocation-decision.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,94 +1,27 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `RestClient` — thin wrapper around `fetch` that targets the
|
|
3
|
-
* `yt-builder-mcp/v1` REST namespace.
|
|
4
|
-
*
|
|
5
|
-
* Responsibilities:
|
|
6
|
-
* - Compose final URLs (`{baseUrl}/wp-json/yt-builder-mcp/v1{path}`)
|
|
7
|
-
* - Attach `Authorization: Bearer …`
|
|
8
|
-
* - Encode JSON bodies + propagate `If-Match` etag headers
|
|
9
|
-
* - Map non-2xx into `RestError` with status / `code` / message
|
|
10
|
-
* - Map network failures into `NetworkError`
|
|
11
|
-
*
|
|
12
|
-
* The client deliberately keeps zero state beyond constructor config
|
|
13
|
-
* so each tool can hold a reference and call `.get/.post/.put/.delete`
|
|
14
|
-
* without coordinating sessions.
|
|
15
|
-
*
|
|
16
|
-
* @license MIT
|
|
17
|
-
*/
|
|
18
1
|
import type { Platform } from './platform/index.js';
|
|
19
|
-
/**
|
|
20
|
-
* Canonical WordPress REST-namespace path. Re-exported for backward
|
|
21
|
-
* compat — new code should reach for `Platform.restNamespacePath`.
|
|
22
|
-
*/
|
|
23
2
|
export declare const REST_NAMESPACE_PATH = "/wp-json/yt-builder-mcp/v1";
|
|
24
|
-
/**
|
|
25
|
-
* Legacy single-platform options shape. Kept so existing call-sites
|
|
26
|
-
* continue working without touching every entry point.
|
|
27
|
-
*/
|
|
28
3
|
export interface LegacyRestClientOptions {
|
|
29
4
|
readonly baseUrl: string;
|
|
30
5
|
readonly bearerToken: string;
|
|
31
6
|
readonly timeoutMs?: number;
|
|
32
|
-
/** Injected for tests. Defaults to `globalThis.fetch`. */
|
|
33
7
|
readonly fetch?: typeof fetch;
|
|
34
|
-
/**
|
|
35
|
-
* Extra headers merged into EVERY outbound request (customer gap #14 —
|
|
36
|
-
* HTTP Basic-Auth / WAF cookie / corporate gateway secret). The Bearer
|
|
37
|
-
* (and any per-request header) always wins on collision; these only fill
|
|
38
|
-
* gaps. Source: `YTB_MCP_EXTRA_HEADERS` (see `net/extra-headers.ts`).
|
|
39
|
-
*/
|
|
40
8
|
readonly extraHeaders?: Record<string, string>;
|
|
41
|
-
|
|
42
|
-
* Percent-encoded `user:pass` userinfo for a site-level HTTP Basic-Auth
|
|
43
|
-
* realm (U3 — customer post-cert QA blocker). Spliced into the request URL
|
|
44
|
-
* (`https://user:pass@host/…`) so the gateway/realm gets `Authorization:
|
|
45
|
-
* Basic …` while the plugin still receives `Authorization: Bearer …`. The
|
|
46
|
-
* Bearer header is NEVER touched. Source: `YTB_MCP_SITE_BASIC_AUTH`
|
|
47
|
-
* (see `net/site-basic-auth.ts`).
|
|
48
|
-
*/
|
|
49
|
-
readonly siteBasicUserinfo?: string;
|
|
9
|
+
readonly siteBasicHeader?: string;
|
|
50
10
|
}
|
|
51
|
-
/**
|
|
52
|
-
* Platform-aware options shape (Wave G.0+).
|
|
53
|
-
* Pass an instance of `WordPressPlatform` (or any future `Platform`)
|
|
54
|
-
* instead of a bare `baseUrl`.
|
|
55
|
-
*/
|
|
56
11
|
export interface PlatformRestClientOptions {
|
|
57
12
|
readonly platform: Platform;
|
|
58
13
|
readonly bearerToken: string;
|
|
59
14
|
readonly timeoutMs?: number;
|
|
60
|
-
/** Injected for tests. Defaults to `globalThis.fetch`. */
|
|
61
15
|
readonly fetch?: typeof fetch;
|
|
62
|
-
/**
|
|
63
|
-
* Extra headers merged into EVERY outbound request (customer gap #14).
|
|
64
|
-
* Bearer + per-request headers always win on collision. Source:
|
|
65
|
-
* `YTB_MCP_EXTRA_HEADERS` (see `net/extra-headers.ts`).
|
|
66
|
-
*/
|
|
67
16
|
readonly extraHeaders?: Record<string, string>;
|
|
68
|
-
|
|
69
|
-
* Percent-encoded `user:pass` userinfo for a site-level HTTP Basic-Auth
|
|
70
|
-
* realm (U3). Spliced into the request URL so the realm gets `Authorization:
|
|
71
|
-
* Basic …` while the plugin still gets the Bearer. Source:
|
|
72
|
-
* `YTB_MCP_SITE_BASIC_AUTH` (see `net/site-basic-auth.ts`).
|
|
73
|
-
*/
|
|
74
|
-
readonly siteBasicUserinfo?: string;
|
|
17
|
+
readonly siteBasicHeader?: string;
|
|
75
18
|
}
|
|
76
|
-
/** Discriminated union: callers pick whichever shape suits them. */
|
|
77
19
|
export type RestClientOptions = LegacyRestClientOptions | PlatformRestClientOptions;
|
|
78
|
-
/**
|
|
79
|
-
* Test-only — reset the once-per-process legacy-ctor warning latch so a
|
|
80
|
-
* test can deterministically assert the warning fires (or does not).
|
|
81
|
-
* Not part of the public runtime surface.
|
|
82
|
-
*/
|
|
83
20
|
export declare function __resetLegacyCtorWarningForTests(): void;
|
|
84
21
|
export interface RequestOptions {
|
|
85
|
-
/** Optional ETag for optimistic-lock (`If-Match` header). */
|
|
86
22
|
readonly etag?: string;
|
|
87
|
-
/** JSON body. */
|
|
88
23
|
readonly body?: unknown;
|
|
89
|
-
/** Extra headers. */
|
|
90
24
|
readonly headers?: Record<string, string>;
|
|
91
|
-
/** Optional AbortSignal. */
|
|
92
25
|
readonly signal?: AbortSignal;
|
|
93
26
|
}
|
|
94
27
|
export declare class RestClient {
|
|
@@ -98,10 +31,8 @@ export declare class RestClient {
|
|
|
98
31
|
private readonly timeoutMs;
|
|
99
32
|
private readonly fetchImpl;
|
|
100
33
|
private readonly extraHeaders;
|
|
101
|
-
|
|
102
|
-
private readonly siteBasicUserinfo;
|
|
34
|
+
private readonly siteBasicHeader;
|
|
103
35
|
constructor(options: RestClientOptions);
|
|
104
|
-
/** Expose the underlying platform (used by tools that need restNamespacePath/kind). */
|
|
105
36
|
getPlatform(): Platform;
|
|
106
37
|
get<T = unknown>(path: string, options?: RequestOptions): Promise<T>;
|
|
107
38
|
post<T = unknown>(path: string, options?: RequestOptions): Promise<T>;
|
|
@@ -110,41 +41,6 @@ export declare class RestClient {
|
|
|
110
41
|
request<T = unknown>(method: string, path: string, options?: RequestOptions): Promise<T>;
|
|
111
42
|
private buildUrl;
|
|
112
43
|
}
|
|
113
|
-
/**
|
|
114
|
-
* URL-encode a JSON-Pointer-style element path for use in the route.
|
|
115
|
-
*
|
|
116
|
-
* The plugin's regex captures everything after `/elements/`, so the
|
|
117
|
-
* raw `/grid/1/columns/0` path can be passed as-is — but each segment
|
|
118
|
-
* must be percent-encoded so reserved chars like `~` (used in
|
|
119
|
-
* JSON-Pointer escapes) don't collide with WordPress' router.
|
|
120
|
-
*/
|
|
121
44
|
export declare function encodeElementPath(pointer: string): string;
|
|
122
|
-
/**
|
|
123
|
-
* URL-encode a `template_id` path segment.
|
|
124
|
-
*
|
|
125
|
-
* Per RFC 3986 §3.3 `pchar = unreserved / pct-encoded / sub-delims / ":" /
|
|
126
|
-
* "@"`, the colon is a valid raw character inside a path segment. The
|
|
127
|
-
* plugin route regex on both platforms accepts it directly
|
|
128
|
-
* ({@see ElementsController::register_routes() char class
|
|
129
|
-
* `[A-Za-z0-9_:-]+`}, and the Joomla `templateId` rule
|
|
130
|
-
* `[A-Za-z0-9_:-]{1,32}`).
|
|
131
|
-
*
|
|
132
|
-
* However, WordPress' rewrite rules pass the rest of the path through to
|
|
133
|
-
* the `rest_route` query var WITHOUT percent-decoding `%3A`, so when the
|
|
134
|
-
* REST router compares the route regex against the raw rest_route value,
|
|
135
|
-
* `%3A` doesn't match `:`. We therefore percent-encode every reserved
|
|
136
|
-
* character EXCEPT `:` so URLs like `/pages/page:3290/elements` round-trip
|
|
137
|
-
* to the server with the literal colon intact.
|
|
138
|
-
*
|
|
139
|
-
* `encodeURIComponent` is normally the right choice here (path-segment
|
|
140
|
-
* safety), but it eagerly encodes `:` to `%3A` since the colon is a
|
|
141
|
-
* gen-delim outside path-segment context. We restore the literal `:`
|
|
142
|
-
* post-encode. This fix unblocks the agent flow:
|
|
143
|
-
*
|
|
144
|
-
* pages_create → returns `template_id: "page:3290"`
|
|
145
|
-
* element_add → route URL `/pages/page:3290/elements` MUST match.
|
|
146
|
-
*
|
|
147
|
-
* Task #35 (2026-05-29): E3 live-verify discovered the gap.
|
|
148
|
-
*/
|
|
149
45
|
export declare function encodeTemplateId(templateId: string): string;
|
|
150
46
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAOpD,eAAO,MAAM,mBAAmB,+BAAgC,CAAC;AAMjE,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAO9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAO/C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACrC;AAOD,MAAM,WAAW,yBAAyB;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAM9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAO/C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACrC;AAGD,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,yBAAyB,CAAC;AAcpF,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD;AA0BD,MAAM,WAAW,cAAc;IAE3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAExB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE1C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CACjC;AAED,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IAEtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAE7B,OAAO,EAAE,iBAAiB;IAmBtC,WAAW,IAAI,QAAQ;IAIvB,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAIxE,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAIzE,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAIxE,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAIrE,OAAO,CAAC,CAAC,GAAG,OAAO,EACrB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC7B,OAAO,CAAC,CAAC,CAAC;IAqFb,OAAO,CAAC,QAAQ;CAInB;AA+ED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAczD;AA6BD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3D"}
|