@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/dist/auth.d.ts
CHANGED
|
@@ -1,148 +1,30 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auth / configuration loading for the MCP server.
|
|
3
|
-
*
|
|
4
|
-
* The MCP server reads two environment variables on startup:
|
|
5
|
-
*
|
|
6
|
-
* YTB_MCP_SITE_URL — base URL of the host CMS install (WordPress
|
|
7
|
-
* OR Joomla), e.g. `https://example.com`.
|
|
8
|
-
* The per-platform REST namespace
|
|
9
|
-
* (`/wp-json/yt-builder-mcp/v1` for WP,
|
|
10
|
-
* `/api/index.php/v1/yt-builder-mcp` for
|
|
11
|
-
* Joomla) is appended internally based on
|
|
12
|
-
* runtime platform detection.
|
|
13
|
-
* YTB_MCP_WP_URL — DEPRECATED alias for YTB_MCP_SITE_URL,
|
|
14
|
-
* kept for back-compat with pre-Wave 7
|
|
15
|
-
* configurations. A non-fatal deprecation
|
|
16
|
-
* notice is written to stderr when the
|
|
17
|
-
* legacy var is used in non-test mode.
|
|
18
|
-
* YTB_MCP_BEARER_TOKEN — the Bearer key generated by the plugin
|
|
19
|
-
* Settings page (`wp-admin → YT Builder MCP`
|
|
20
|
-
* on WordPress, `Components → YT Builder MCP`
|
|
21
|
-
* on Joomla).
|
|
22
|
-
*
|
|
23
|
-
* `loadConfig()` throws `ConfigError` if either is missing, so the
|
|
24
|
-
* server fails fast with a useful message rather than emitting cryptic
|
|
25
|
-
* 401/Network errors deep in the request stack.
|
|
26
|
-
*
|
|
27
|
-
* @license MIT
|
|
28
|
-
*/
|
|
29
1
|
import { SiteRegistry } from './sites/registry.js';
|
|
30
2
|
export interface ServerConfig {
|
|
31
|
-
/** Base URL of the host-CMS install (no trailing slash). */
|
|
32
3
|
readonly baseUrl: string;
|
|
33
|
-
/** Bearer key. */
|
|
34
4
|
readonly bearerToken: string;
|
|
35
|
-
/** Network timeout (ms) for REST calls. */
|
|
36
5
|
readonly timeoutMs: number;
|
|
37
|
-
/**
|
|
38
|
-
* Optional explicit platform hint from {@link ENV_PLATFORM}.
|
|
39
|
-
* `undefined` lets the consumer rely on URL-shape detection.
|
|
40
|
-
*/
|
|
41
6
|
readonly platformHint?: 'wordpress' | 'joomla';
|
|
42
7
|
}
|
|
43
8
|
export interface LoadConfigOptions {
|
|
44
|
-
/** Allow the bearer-token to be empty (for health-only smoke tests). */
|
|
45
9
|
readonly allowMissingToken?: boolean;
|
|
46
|
-
/** Source of env vars (defaults to process.env). */
|
|
47
10
|
readonly env?: NodeJS.ProcessEnv;
|
|
48
11
|
}
|
|
49
|
-
/**
|
|
50
|
-
* Canonical env-var name for the host-CMS base URL (Wave 7+: covers
|
|
51
|
-
* both WordPress and Joomla). Prefer this for all new configurations.
|
|
52
|
-
*/
|
|
53
12
|
export declare const ENV_SITE_URL = "YTB_MCP_SITE_URL";
|
|
54
|
-
/**
|
|
55
|
-
* Legacy env-var name kept for back-compat. Pre-Wave-7 configurations
|
|
56
|
-
* (every release through v1.0.x) used `YTB_MCP_WP_URL`. New code should
|
|
57
|
-
* use {@link ENV_SITE_URL}; this constant is retained so the wizard,
|
|
58
|
-
* tests, and error hints can still reference the legacy name.
|
|
59
|
-
*/
|
|
60
13
|
export declare const ENV_WP_URL = "YTB_MCP_WP_URL";
|
|
61
14
|
export declare const ENV_BEARER = "YTB_MCP_BEARER_TOKEN";
|
|
62
15
|
export declare const ENV_TIMEOUT = "YTB_MCP_TIMEOUT_MS";
|
|
63
16
|
export declare const ENV_TEST_MODE = "YTB_MCP_TEST_MODE";
|
|
64
|
-
/**
|
|
65
|
-
* U3 — env-var name for a site-level HTTP **Basic-Auth** realm (`user:pass`),
|
|
66
|
-
* distinct from the plugin Bearer. A site fronted by a pure HTTP Basic realm
|
|
67
|
-
* (e.g. `qa.customer.de`) needs `Authorization: Basic …`, which collides with
|
|
68
|
-
* the Bearer on the one `Authorization` header — and `YTB_MCP_EXTRA_HEADERS`
|
|
69
|
-
* forbids an `Authorization` key. This routes the Basic credentials on URL
|
|
70
|
-
* userinfo (`https://user:pass@host`) instead, so the realm gets Basic while
|
|
71
|
-
* the plugin still gets the Bearer. Canonical definition + parser live in
|
|
72
|
-
* `net/site-basic-auth.ts`; re-exported here next to the other `ENV_*` names.
|
|
73
|
-
*/
|
|
74
17
|
export { ENV_SITE_BASIC_AUTH } from './net/site-basic-auth.js';
|
|
75
|
-
/**
|
|
76
|
-
* Optional platform hint env var — `'wordpress'` or `'joomla'`. When
|
|
77
|
-
* unset, the server auto-detects from the URL shape (cookbook §3.7.1):
|
|
78
|
-
* - URL contains `/wp-json/` → wordpress
|
|
79
|
-
* - URL contains `/api/index.php/` → joomla
|
|
80
|
-
* - origin-only URL → defaults to wordpress (back-compat)
|
|
81
|
-
*
|
|
82
|
-
* Set this to `'joomla'` when your YTB_MCP_SITE_URL is an origin-only
|
|
83
|
-
* Joomla URL like `https://example.com/joomla`.
|
|
84
|
-
*/
|
|
85
18
|
export declare const ENV_PLATFORM = "YTB_MCP_PLATFORM";
|
|
86
|
-
/**
|
|
87
|
-
* W10 — canonical env-var name for the multi-site registry file. When
|
|
88
|
-
* set, {@link loadRegistry} loads + validates the JSON at this path and
|
|
89
|
-
* the legacy {@link ENV_SITE_URL} / {@link ENV_BEARER} pair is ignored.
|
|
90
|
-
* When unset, the env-bridge falls back to building a one-site registry
|
|
91
|
-
* from the legacy single-site pair.
|
|
92
|
-
*/
|
|
93
19
|
export declare const ENV_SITES_FILE = "YTB_MCP_SITES_FILE";
|
|
94
|
-
/**
|
|
95
|
-
* Optional boot-time active-site selector. Names a registry `site_id`
|
|
96
|
-
* that becomes the active (default-target) site the moment the server
|
|
97
|
-
* boots — the YT Builder analogue of api-mapper's `APIMAPPER_PROFILE`.
|
|
98
|
-
*
|
|
99
|
-
* Resolution (see {@link bootstrapActiveSite} in `sites/bootstrap.ts`):
|
|
100
|
-
* - unset / whitespace / `"default"` → no override; the registry's
|
|
101
|
-
* own default site applies.
|
|
102
|
-
* - `"<known site_id>"` → that site becomes active.
|
|
103
|
-
* - `"<unknown site_id>"` → silently ignored (no phantom
|
|
104
|
-
* switch on a fresh host that inherited the var from elsewhere).
|
|
105
|
-
*
|
|
106
|
-
* The runtime `yootheme_builder_use_site` tool switches it later within
|
|
107
|
-
* a session; this env var only seeds the INITIAL active site so a
|
|
108
|
-
* multi-client config (one MCP entry per client site, each with its own
|
|
109
|
-
* `YTB_MCP_PROFILE`) lands on the right site without a first tool call.
|
|
110
|
-
*/
|
|
111
20
|
export declare const ENV_PROFILE = "YTB_MCP_PROFILE";
|
|
21
|
+
export declare function readHostEnv(env: NodeJS.ProcessEnv, key: string): string | undefined;
|
|
22
|
+
export declare const DEFAULT_TIMEOUT_MS = 15000;
|
|
23
|
+
export declare function resolveTimeoutMs(env?: NodeJS.ProcessEnv): number;
|
|
112
24
|
export declare function loadConfig(options?: LoadConfigOptions): ServerConfig;
|
|
113
25
|
export declare function isTestMode(env?: NodeJS.ProcessEnv): boolean;
|
|
114
|
-
/**
|
|
115
|
-
* Options accepted by {@link loadRegistry}.
|
|
116
|
-
*/
|
|
117
26
|
export interface LoadRegistryOptions {
|
|
118
|
-
/** Source of env vars (defaults to process.env). */
|
|
119
27
|
readonly env?: NodeJS.ProcessEnv;
|
|
120
28
|
}
|
|
121
|
-
/**
|
|
122
|
-
* W10 — canonical boot-time registry loader.
|
|
123
|
-
*
|
|
124
|
-
* Resolution order:
|
|
125
|
-
* 1. **Sites file** — if {@link ENV_SITES_FILE} is set to a non-empty
|
|
126
|
-
* string, parse + validate the JSON at that path and wrap it in a
|
|
127
|
-
* {@link SiteRegistry}. Schema failures bubble up as
|
|
128
|
-
* `SitesFileError` (the store does not swallow them); the caller
|
|
129
|
-
* decides whether to fail-fast or fall back. Wave 10 chooses
|
|
130
|
-
* fail-fast — explicit file = explicit intent.
|
|
131
|
-
*
|
|
132
|
-
* 2. **Legacy env-bridge** — synthesise a one-site registry from the
|
|
133
|
-
* pre-W10 single-site env-vars ({@link ENV_SITE_URL} +
|
|
134
|
-
* {@link ENV_BEARER}, with {@link ENV_PLATFORM} as optional hint).
|
|
135
|
-
* Preserves the single-site UX for every customer who has not
|
|
136
|
-
* migrated to a sites.json yet.
|
|
137
|
-
*
|
|
138
|
-
* 3. **Hard fail** — neither configured. Surface a {@link ConfigError}
|
|
139
|
-
* with the three setup options so the operator knows exactly which
|
|
140
|
-
* knob to turn.
|
|
141
|
-
*
|
|
142
|
-
* This function replaces {@link loadConfig} on the main boot path.
|
|
143
|
-
* `loadConfig` is intentionally retained for the test-mode fallback in
|
|
144
|
-
* `index.ts` (`--test-mode` smoke probes) and for any embedded consumer
|
|
145
|
-
* that still wants a flat `ServerConfig`.
|
|
146
|
-
*/
|
|
147
29
|
export declare function loadRegistry(opts?: LoadRegistryOptions): Promise<SiteRegistry>;
|
|
148
30
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,MAAM,WAAW,YAAY;IAEzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAK3B,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;CAClD;AAED,MAAM,WAAW,iBAAiB;IAE9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAErC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACpC;AAMD,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAO/C,eAAO,MAAM,UAAU,mBAAmB,CAAC;AAC3C,eAAO,MAAM,UAAU,yBAAyB,CAAC;AACjD,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAChD,eAAO,MAAM,aAAa,sBAAsB,CAAC;AAWjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAW/D,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAQ/C,eAAO,MAAM,cAAc,uBAAuB,CAAC;AAkBnD,eAAO,MAAM,WAAW,oBAAoB,CAAC;AAoB7C,wBAAgB,WAAW,CACvB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,EAAE,MAAM,GACZ,MAAM,GAAG,SAAS,CAIpB;AAED,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAmBzC,wBAAgB,gBAAgB,CAC5B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACrC,MAAM,CAQR;AAgCD,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,YAAY,CA4ExE;AAED,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAExE;AASD,MAAM,WAAW,mBAAmB;IAEhC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACpC;AA4BD,wBAAsB,YAAY,CAC9B,IAAI,GAAE,mBAAwB,GAC/B,OAAO,CAAC,YAAY,CAAC,CA6GvB"}
|
package/dist/auth.js
CHANGED
|
@@ -1,136 +1,44 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auth / configuration loading for the MCP server.
|
|
3
|
-
*
|
|
4
|
-
* The MCP server reads two environment variables on startup:
|
|
5
|
-
*
|
|
6
|
-
* YTB_MCP_SITE_URL — base URL of the host CMS install (WordPress
|
|
7
|
-
* OR Joomla), e.g. `https://example.com`.
|
|
8
|
-
* The per-platform REST namespace
|
|
9
|
-
* (`/wp-json/yt-builder-mcp/v1` for WP,
|
|
10
|
-
* `/api/index.php/v1/yt-builder-mcp` for
|
|
11
|
-
* Joomla) is appended internally based on
|
|
12
|
-
* runtime platform detection.
|
|
13
|
-
* YTB_MCP_WP_URL — DEPRECATED alias for YTB_MCP_SITE_URL,
|
|
14
|
-
* kept for back-compat with pre-Wave 7
|
|
15
|
-
* configurations. A non-fatal deprecation
|
|
16
|
-
* notice is written to stderr when the
|
|
17
|
-
* legacy var is used in non-test mode.
|
|
18
|
-
* YTB_MCP_BEARER_TOKEN — the Bearer key generated by the plugin
|
|
19
|
-
* Settings page (`wp-admin → YT Builder MCP`
|
|
20
|
-
* on WordPress, `Components → YT Builder MCP`
|
|
21
|
-
* on Joomla).
|
|
22
|
-
*
|
|
23
|
-
* `loadConfig()` throws `ConfigError` if either is missing, so the
|
|
24
|
-
* server fails fast with a useful message rather than emitting cryptic
|
|
25
|
-
* 401/Network errors deep in the request stack.
|
|
26
|
-
*
|
|
27
|
-
* @license MIT
|
|
28
|
-
*/
|
|
29
1
|
import { z } from 'zod';
|
|
30
|
-
import { ConfigError } from './errors.js';
|
|
2
|
+
import { ConfigError, RejectedConfigError } from './errors.js';
|
|
31
3
|
import { synthesiseFromEnv } from './sites/env-bridge.js';
|
|
32
4
|
import { SiteRegistry } from './sites/registry.js';
|
|
33
5
|
import { SitesFile } from './sites/schema.js';
|
|
34
|
-
import { loadSitesFile } from './sites/store.js';
|
|
35
|
-
/**
|
|
36
|
-
* Canonical env-var name for the host-CMS base URL (Wave 7+: covers
|
|
37
|
-
* both WordPress and Joomla). Prefer this for all new configurations.
|
|
38
|
-
*/
|
|
6
|
+
import { loadSitesFile, SitesFileError } from './sites/store.js';
|
|
39
7
|
export const ENV_SITE_URL = 'YTB_MCP_SITE_URL';
|
|
40
|
-
/**
|
|
41
|
-
* Legacy env-var name kept for back-compat. Pre-Wave-7 configurations
|
|
42
|
-
* (every release through v1.0.x) used `YTB_MCP_WP_URL`. New code should
|
|
43
|
-
* use {@link ENV_SITE_URL}; this constant is retained so the wizard,
|
|
44
|
-
* tests, and error hints can still reference the legacy name.
|
|
45
|
-
*/
|
|
46
8
|
export const ENV_WP_URL = 'YTB_MCP_WP_URL';
|
|
47
9
|
export const ENV_BEARER = 'YTB_MCP_BEARER_TOKEN';
|
|
48
10
|
export const ENV_TIMEOUT = 'YTB_MCP_TIMEOUT_MS';
|
|
49
11
|
export const ENV_TEST_MODE = 'YTB_MCP_TEST_MODE';
|
|
50
|
-
/**
|
|
51
|
-
* U3 — env-var name for a site-level HTTP **Basic-Auth** realm (`user:pass`),
|
|
52
|
-
* distinct from the plugin Bearer. A site fronted by a pure HTTP Basic realm
|
|
53
|
-
* (e.g. `qa.customer.de`) needs `Authorization: Basic …`, which collides with
|
|
54
|
-
* the Bearer on the one `Authorization` header — and `YTB_MCP_EXTRA_HEADERS`
|
|
55
|
-
* forbids an `Authorization` key. This routes the Basic credentials on URL
|
|
56
|
-
* userinfo (`https://user:pass@host`) instead, so the realm gets Basic while
|
|
57
|
-
* the plugin still gets the Bearer. Canonical definition + parser live in
|
|
58
|
-
* `net/site-basic-auth.ts`; re-exported here next to the other `ENV_*` names.
|
|
59
|
-
*/
|
|
60
12
|
export { ENV_SITE_BASIC_AUTH } from './net/site-basic-auth.js';
|
|
61
|
-
/**
|
|
62
|
-
* Optional platform hint env var — `'wordpress'` or `'joomla'`. When
|
|
63
|
-
* unset, the server auto-detects from the URL shape (cookbook §3.7.1):
|
|
64
|
-
* - URL contains `/wp-json/` → wordpress
|
|
65
|
-
* - URL contains `/api/index.php/` → joomla
|
|
66
|
-
* - origin-only URL → defaults to wordpress (back-compat)
|
|
67
|
-
*
|
|
68
|
-
* Set this to `'joomla'` when your YTB_MCP_SITE_URL is an origin-only
|
|
69
|
-
* Joomla URL like `https://example.com/joomla`.
|
|
70
|
-
*/
|
|
71
13
|
export const ENV_PLATFORM = 'YTB_MCP_PLATFORM';
|
|
72
|
-
/**
|
|
73
|
-
* W10 — canonical env-var name for the multi-site registry file. When
|
|
74
|
-
* set, {@link loadRegistry} loads + validates the JSON at this path and
|
|
75
|
-
* the legacy {@link ENV_SITE_URL} / {@link ENV_BEARER} pair is ignored.
|
|
76
|
-
* When unset, the env-bridge falls back to building a one-site registry
|
|
77
|
-
* from the legacy single-site pair.
|
|
78
|
-
*/
|
|
79
14
|
export const ENV_SITES_FILE = 'YTB_MCP_SITES_FILE';
|
|
80
|
-
/**
|
|
81
|
-
* Optional boot-time active-site selector. Names a registry `site_id`
|
|
82
|
-
* that becomes the active (default-target) site the moment the server
|
|
83
|
-
* boots — the YT Builder analogue of api-mapper's `APIMAPPER_PROFILE`.
|
|
84
|
-
*
|
|
85
|
-
* Resolution (see {@link bootstrapActiveSite} in `sites/bootstrap.ts`):
|
|
86
|
-
* - unset / whitespace / `"default"` → no override; the registry's
|
|
87
|
-
* own default site applies.
|
|
88
|
-
* - `"<known site_id>"` → that site becomes active.
|
|
89
|
-
* - `"<unknown site_id>"` → silently ignored (no phantom
|
|
90
|
-
* switch on a fresh host that inherited the var from elsewhere).
|
|
91
|
-
*
|
|
92
|
-
* The runtime `yootheme_builder_use_site` tool switches it later within
|
|
93
|
-
* a session; this env var only seeds the INITIAL active site so a
|
|
94
|
-
* multi-client config (one MCP entry per client site, each with its own
|
|
95
|
-
* `YTB_MCP_PROFILE`) lands on the right site without a first tool call.
|
|
96
|
-
*/
|
|
97
15
|
export const ENV_PROFILE = 'YTB_MCP_PROFILE';
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
16
|
+
const UNRESOLVED_HOST_PLACEHOLDER = /^\$\{[^}]*\}$/;
|
|
17
|
+
export function readHostEnv(env, key) {
|
|
18
|
+
const raw = env[key]?.trim();
|
|
19
|
+
if (raw === undefined || raw === '')
|
|
20
|
+
return undefined;
|
|
21
|
+
return UNRESOLVED_HOST_PLACEHOLDER.test(raw) ? undefined : raw;
|
|
22
|
+
}
|
|
23
|
+
export const DEFAULT_TIMEOUT_MS = 15_000;
|
|
24
|
+
export function resolveTimeoutMs(env = process.env) {
|
|
25
|
+
const raw = (env[ENV_TIMEOUT] ?? '').trim();
|
|
26
|
+
if (raw === '') {
|
|
27
|
+
return DEFAULT_TIMEOUT_MS;
|
|
28
|
+
}
|
|
29
|
+
const parsed = Number.parseInt(raw, 10);
|
|
30
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : DEFAULT_TIMEOUT_MS;
|
|
31
|
+
}
|
|
104
32
|
const BEARER_MAX_LEN = 512;
|
|
105
|
-
/**
|
|
106
|
-
* Bearer-token format check — matches the plugin's `KeyService.php`
|
|
107
|
-
* `PREFIX = ytb_live_` (and the planned `ytb_test_` future variant).
|
|
108
|
-
* Token shape: `ytb_(live|test)_<payloadB64Url>.<sigB64Url>` where
|
|
109
|
-
* base64url uses `[A-Za-z0-9_-]` (no dots inside the payload or sig).
|
|
110
|
-
*
|
|
111
|
-
* Round-1 audit I7 fix (2026-05-22): the earlier `.trim()` + empty-check
|
|
112
|
-
* was not enough to catch the most common config mistakes — the leading
|
|
113
|
-
* `Bearer ` prefix accidentally pasted into the env var, copy-paste
|
|
114
|
-
* truncation (no `.` separator), or a totally wrong token style. We
|
|
115
|
-
* fail-fast here so the client never sends a known-bad value upstream.
|
|
116
|
-
*/
|
|
117
33
|
const BEARER_FORMAT_SCHEMA = z
|
|
118
34
|
.string()
|
|
119
|
-
.max(BEARER_MAX_LEN, `Bearer too long (max ${String(BEARER_MAX_LEN)} chars). The env var YTB_MCP_BEARER_TOKEN seems to contain something other than a plain key — strip leading "Bearer " or paste only the key copied from wp-admin → "
|
|
120
|
-
.regex(/^ytb_(live|test)_[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/, 'Bearer must match ytb_(live|test)_<payloadB64Url>.<sigB64Url> format (copy the key as shown in wp-admin → "
|
|
35
|
+
.max(BEARER_MAX_LEN, `Bearer too long (max ${String(BEARER_MAX_LEN)} chars). The env var YTB_MCP_BEARER_TOKEN seems to contain something other than a plain key — strip leading "Bearer " or paste only the key copied from wp-admin → "MCP for YOOtheme Pro" → Bearer Keys.`)
|
|
36
|
+
.regex(/^ytb_(live|test)_[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/, 'Bearer must match ytb_(live|test)_<payloadB64Url>.<sigB64Url> format (copy the key as shown in wp-admin → "MCP for YOOtheme Pro" → Bearer Keys; do NOT prepend "Bearer ").');
|
|
121
37
|
export function loadConfig(options = {}) {
|
|
122
38
|
const env = options.env ?? process.env;
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
// Resolution order: SITE_URL wins; legacy WP_URL fallback emits a
|
|
126
|
-
// soft deprecation note in non-test mode.
|
|
127
|
-
const rawSiteUrl = (env[ENV_SITE_URL] ?? '').trim();
|
|
128
|
-
const rawLegacyUrl = (env[ENV_WP_URL] ?? '').trim();
|
|
39
|
+
const rawSiteUrl = readHostEnv(env, ENV_SITE_URL) ?? '';
|
|
40
|
+
const rawLegacyUrl = readHostEnv(env, ENV_WP_URL) ?? '';
|
|
129
41
|
const rawUrl = rawSiteUrl !== '' ? rawSiteUrl : rawLegacyUrl;
|
|
130
|
-
// Soft deprecation notice — only when the loader is being used in
|
|
131
|
-
// its real-server role (env defaulted to process.env). Programmatic
|
|
132
|
-
// callers (tests, embedded uses) pass `options.env` explicitly and
|
|
133
|
-
// are silently treated as opt-in to the legacy var.
|
|
134
42
|
if (rawSiteUrl === ''
|
|
135
43
|
&& rawLegacyUrl !== ''
|
|
136
44
|
&& options.env === undefined
|
|
@@ -138,21 +46,17 @@ export function loadConfig(options = {}) {
|
|
|
138
46
|
process.stderr.write(`[yt-builder-mcp] notice: ${ENV_WP_URL} is deprecated — ` +
|
|
139
47
|
`set ${ENV_SITE_URL} instead (same value; covers WordPress + Joomla).\n`);
|
|
140
48
|
}
|
|
141
|
-
const rawToken = (env
|
|
142
|
-
const rawTimeout = (env
|
|
49
|
+
const rawToken = readHostEnv(env, ENV_BEARER) ?? '';
|
|
50
|
+
const rawTimeout = readHostEnv(env, ENV_TIMEOUT) ?? '';
|
|
143
51
|
if (rawUrl === '') {
|
|
144
52
|
throw new ConfigError(`Missing ${ENV_SITE_URL}. Set it to your CMS base URL ` +
|
|
145
53
|
'(e.g. https://example.com — WordPress or Joomla). ' +
|
|
146
54
|
'Run `yt-builder-mcp setup` to configure.');
|
|
147
55
|
}
|
|
148
56
|
if (!options.allowMissingToken && rawToken === '') {
|
|
149
|
-
throw new ConfigError(`Missing ${ENV_BEARER}. Generate a Bearer key in wp-admin → "
|
|
150
|
-
'
|
|
57
|
+
throw new ConfigError(`Missing ${ENV_BEARER}. Generate a Bearer key in wp-admin → "MCP for YOOtheme Pro" → ` +
|
|
58
|
+
'Bearer Keys, then run `yt-builder-mcp setup`.');
|
|
151
59
|
}
|
|
152
|
-
// I7-fix: enforce the Bearer-format contract before the client
|
|
153
|
-
// makes any request. Empty token is allowed only via
|
|
154
|
-
// `allowMissingToken` (the health-only smoke path); any other
|
|
155
|
-
// non-empty value MUST match the plugin's KeyService format.
|
|
156
60
|
if (rawToken !== '') {
|
|
157
61
|
const parsed = BEARER_FORMAT_SCHEMA.safeParse(rawToken);
|
|
158
62
|
if (!parsed.success) {
|
|
@@ -162,13 +66,7 @@ export function loadConfig(options = {}) {
|
|
|
162
66
|
throw new ConfigError(`Invalid ${ENV_BEARER}: ${issueMsg}`);
|
|
163
67
|
}
|
|
164
68
|
}
|
|
165
|
-
|
|
166
|
-
if (rawTimeout !== '') {
|
|
167
|
-
const parsed = Number.parseInt(rawTimeout, 10);
|
|
168
|
-
if (Number.isFinite(parsed) && parsed > 0) {
|
|
169
|
-
timeoutMs = parsed;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
69
|
+
const timeoutMs = resolveTimeoutMs(rawTimeout === '' ? {} : { [ENV_TIMEOUT]: rawTimeout });
|
|
172
70
|
const rawPlatform = (env[ENV_PLATFORM] ?? '').trim().toLowerCase();
|
|
173
71
|
const platformHint = rawPlatform === 'wordpress' || rawPlatform === 'joomla'
|
|
174
72
|
? rawPlatform
|
|
@@ -186,54 +84,23 @@ export function isTestMode(env = process.env) {
|
|
|
186
84
|
function stripTrailingSlash(url) {
|
|
187
85
|
return url.replace(/\/+$/, '');
|
|
188
86
|
}
|
|
189
|
-
/**
|
|
190
|
-
* W10 — canonical boot-time registry loader.
|
|
191
|
-
*
|
|
192
|
-
* Resolution order:
|
|
193
|
-
* 1. **Sites file** — if {@link ENV_SITES_FILE} is set to a non-empty
|
|
194
|
-
* string, parse + validate the JSON at that path and wrap it in a
|
|
195
|
-
* {@link SiteRegistry}. Schema failures bubble up as
|
|
196
|
-
* `SitesFileError` (the store does not swallow them); the caller
|
|
197
|
-
* decides whether to fail-fast or fall back. Wave 10 chooses
|
|
198
|
-
* fail-fast — explicit file = explicit intent.
|
|
199
|
-
*
|
|
200
|
-
* 2. **Legacy env-bridge** — synthesise a one-site registry from the
|
|
201
|
-
* pre-W10 single-site env-vars ({@link ENV_SITE_URL} +
|
|
202
|
-
* {@link ENV_BEARER}, with {@link ENV_PLATFORM} as optional hint).
|
|
203
|
-
* Preserves the single-site UX for every customer who has not
|
|
204
|
-
* migrated to a sites.json yet.
|
|
205
|
-
*
|
|
206
|
-
* 3. **Hard fail** — neither configured. Surface a {@link ConfigError}
|
|
207
|
-
* with the three setup options so the operator knows exactly which
|
|
208
|
-
* knob to turn.
|
|
209
|
-
*
|
|
210
|
-
* This function replaces {@link loadConfig} on the main boot path.
|
|
211
|
-
* `loadConfig` is intentionally retained for the test-mode fallback in
|
|
212
|
-
* `index.ts` (`--test-mode` smoke probes) and for any embedded consumer
|
|
213
|
-
* that still wants a flat `ServerConfig`.
|
|
214
|
-
*/
|
|
215
87
|
export async function loadRegistry(opts = {}) {
|
|
216
88
|
const env = opts.env ?? process.env;
|
|
217
|
-
// (1) sites file (preferred).
|
|
218
89
|
const sitesFilePath = (env[ENV_SITES_FILE] ?? '').trim();
|
|
90
|
+
let sitesFileFailure;
|
|
219
91
|
if (sitesFilePath !== '') {
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
92
|
+
try {
|
|
93
|
+
const file = await loadSitesFile(sitesFilePath);
|
|
94
|
+
if (file.sites.length > 0) {
|
|
95
|
+
return new SiteRegistry(file);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch (e) {
|
|
99
|
+
if (!(e instanceof SitesFileError))
|
|
100
|
+
throw e;
|
|
101
|
+
sitesFileFailure = e;
|
|
229
102
|
}
|
|
230
103
|
}
|
|
231
|
-
// (2) legacy env-bridge. The bridge already enforces URL/bearer
|
|
232
|
-
// non-emptiness and platform-hint validity, but we re-validate the
|
|
233
|
-
// full file shape through the W1 Zod schema before handing it to
|
|
234
|
-
// the registry. Defense-in-depth: a future env-bridge change cannot
|
|
235
|
-
// introduce a SitesFileT-shape regression that lands on the
|
|
236
|
-
// registry path without first failing this gate.
|
|
237
104
|
const synth = synthesiseFromEnv(env);
|
|
238
105
|
if (synth !== null) {
|
|
239
106
|
const parsed = SitesFile.safeParse(synth);
|
|
@@ -241,11 +108,14 @@ export async function loadRegistry(opts = {}) {
|
|
|
241
108
|
const issues = parsed.error.issues
|
|
242
109
|
.map((i) => `${i.path.join('.')}: ${i.message}`)
|
|
243
110
|
.join('; ');
|
|
244
|
-
throw new
|
|
111
|
+
throw new RejectedConfigError(`Env-bridge synthesised an invalid sites file: ${issues}`);
|
|
245
112
|
}
|
|
246
|
-
return new SiteRegistry(parsed.data
|
|
113
|
+
return new SiteRegistry(parsed.data, sitesFileFailure !== undefined
|
|
114
|
+
? { configProblem: sitesFileFailure.message, sitesAreSubstituted: true }
|
|
115
|
+
: {});
|
|
247
116
|
}
|
|
248
|
-
|
|
117
|
+
if (sitesFileFailure !== undefined)
|
|
118
|
+
throw sitesFileFailure;
|
|
249
119
|
throw new ConfigError('No sites configured. Either: '
|
|
250
120
|
+ '(a) set YTB_MCP_SITES_FILE to your sites.json path, or '
|
|
251
121
|
+ '(b) set YTB_MCP_SITE_URL + YTB_MCP_BEARER_TOKEN for '
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,56 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
* packages/mcp/src/catalog/build-catalog.ts — net-new (Slice 0b Task 12).
|
|
3
|
-
*
|
|
4
|
-
* Builds the machine-readable tool catalogue (SSOT for the PHP-served MCP
|
|
5
|
-
* surface). Modelled on API Mapper's
|
|
6
|
-
* `packages/apimapper-mcp/src/catalog/build-catalog.ts`, adapted to yt-builder's
|
|
7
|
-
* `buildAllTools(pool)` entrypoint:
|
|
8
|
-
*
|
|
9
|
-
* - yt-builder's tools carry `inputSchema` as a RAW Zod shape (ZodRawShape,
|
|
10
|
-
* no `_zod` marker), so `toJsonSchema` always takes the raw-shape branch
|
|
11
|
-
* (`z.object(inputSchema)`).
|
|
12
|
-
* - `tier` is derived per-name from the gateway essentials lists
|
|
13
|
-
* (`isEssential || isDirectTopLevel` ⇒ essential, else advanced). There is
|
|
14
|
-
* NO separate advanced registry to query.
|
|
15
|
-
* - The 32 catalogued tools are exactly what `buildAllTools` returns; the two
|
|
16
|
-
* top-level gateways are registered at server level (server.ts), not here.
|
|
17
|
-
*
|
|
18
|
-
* @license MIT
|
|
19
|
-
*/
|
|
20
|
-
/**
|
|
21
|
-
* Convert a tool inputSchema to JSON Schema. yt-builder tools yield a RAW Zod
|
|
22
|
-
* shape (ZodRawShape) — the `_zod` guard keeps this a faithful port of the
|
|
23
|
-
* API Mapper utility, but for this server the raw-shape branch
|
|
24
|
-
* (`z.object(inputSchema)`) is the one that always fires. Native
|
|
25
|
-
* `z.toJSONSchema` (zod 4).
|
|
26
|
-
*/
|
|
27
|
-
export declare function toJsonSchema(inputSchema: unknown): object;
|
|
28
|
-
/**
|
|
29
|
-
* Post-process a generated JSON Schema for MCP-client compatibility + semantic
|
|
30
|
-
* correctness, recursively at EVERY schema node. Two structural fixes:
|
|
31
|
-
*
|
|
32
|
-
* A1 (#4): drop from a node's `required` array any property that carries a
|
|
33
|
-
* `default`. Zod `.default()` lands the key in `required` (a zod4 toJSONSchema
|
|
34
|
-
* quirk), but a field WITH a default is semantically OPTIONAL — advertising it
|
|
35
|
-
* as required makes a strict client (and the PHP gateway validator) reject a
|
|
36
|
-
* call that legitimately omits it.
|
|
37
|
-
*
|
|
38
|
-
* A2 (#1): replace an EMPTY-object `additionalProperties: {}` (what
|
|
39
|
-
* z.record(z.string(), z.unknown()) emits) with `true`. The Anthropic client
|
|
40
|
-
* rejects an empty `{}` schema for additionalProperties; `true` is the
|
|
41
|
-
* faithful "any value" equivalent. A boolean `false`
|
|
42
|
-
* (z.object().strict()) is left untouched.
|
|
43
|
-
*
|
|
44
|
-
* Recurses through every schema-bearing position zod4 emits: `properties`
|
|
45
|
-
* values, `items` (object or tuple array), an object-valued
|
|
46
|
-
* `additionalProperties`, and the `oneOf`/`anyOf`/`allOf`/`prefixItems` branch
|
|
47
|
-
* arrays.
|
|
48
|
-
*/
|
|
49
|
-
export declare function normalizeJsonSchema(node: unknown): void;
|
|
1
|
+
import { ClientPool } from '../sites/client-pool.js';
|
|
50
2
|
export interface CatalogTool {
|
|
51
3
|
name: string;
|
|
52
4
|
description: string;
|
|
53
5
|
jsonSchema: object;
|
|
6
|
+
outputJsonSchema?: object;
|
|
54
7
|
annotations: Record<string, unknown>;
|
|
55
8
|
tier: 'essential' | 'advanced';
|
|
56
9
|
}
|
|
@@ -59,5 +12,7 @@ export interface Catalog {
|
|
|
59
12
|
generatedFrom: 'zod';
|
|
60
13
|
tools: CatalogTool[];
|
|
61
14
|
}
|
|
15
|
+
export declare function stubPool(): ClientPool;
|
|
16
|
+
export declare function withErrorBranch(schema: object): object;
|
|
62
17
|
export declare function buildCatalog(): Promise<Catalog>;
|
|
63
18
|
//# sourceMappingURL=build-catalog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-catalog.d.ts","sourceRoot":"","sources":["../../src/catalog/build-catalog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build-catalog.d.ts","sourceRoot":"","sources":["../../src/catalog/build-catalog.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IAiCnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC;CAClC;AACD,MAAM,WAAW,OAAO;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,KAAK,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;CACxB;AAcD,wBAAgB,QAAQ,IAAI,UAAU,CAiBrC;AAiCD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAatD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CA2BrD"}
|