@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,43 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Phase 3 — `yootheme_builder_use_site` L1 tool.
|
|
3
|
-
*
|
|
4
|
-
* Runtime active-site SWITCH. The multi-site analogue of api-mapper's
|
|
5
|
-
* `apimapper_use_profile`: it changes which configured site subsequent
|
|
6
|
-
* tool calls target by default, then (unless `probe: false`) verifies
|
|
7
|
-
* the new site is reachable.
|
|
8
|
-
*
|
|
9
|
-
* Why a tool (and not just the `site_id` param on every call):
|
|
10
|
-
* - Maria-the-Claude-Desktop-user works in long conversations against
|
|
11
|
-
* ONE client site at a time. Re-passing `site_id` on every call is
|
|
12
|
-
* error-prone. `sites_list` + `use_site` mirror the
|
|
13
|
-
* `list_profiles` + `use_profile` flow she already knows from
|
|
14
|
-
* api-mapper: discover, switch once, then work.
|
|
15
|
-
*
|
|
16
|
-
* How it reuses the existing engine (NO new multi-site machinery):
|
|
17
|
-
* - The {@link SiteRegistry} stays immutable; the switch moves the
|
|
18
|
-
* {@link ClientPool}'s in-memory active-site override
|
|
19
|
-
* (`setActiveSite`). `resolve(undefined)` consults that override
|
|
20
|
-
* before the registry default. Unknown id → `UnknownSiteError`,
|
|
21
|
-
* surfaced as a structured `code: 'unknown_site'` error via the
|
|
22
|
-
* shared `resolveSiteOrError` helper (so the wording matches every
|
|
23
|
-
* other site-bound tool). The pointer never moves on a bad switch.
|
|
24
|
-
* - The reachability check reuses {@link probeSite} (/health + /etag),
|
|
25
|
-
* the SAME probe `sites_test` and the CLI run.
|
|
26
|
-
*
|
|
27
|
-
* Soft-vs-hard contract (mirrors `apimapper_use_profile`):
|
|
28
|
-
* - An UNKNOWN site is a HARD error (pointer unchanged).
|
|
29
|
-
* - A reachable-but-degraded site (probe red) is a SOFT warning: the
|
|
30
|
-
* activation still succeeds and the pointer moves, because the user
|
|
31
|
-
* explicitly asked to switch — the probe is diagnostic, not a gate.
|
|
32
|
-
* `probe: false` skips the network round-trip entirely (offline
|
|
33
|
-
* activation).
|
|
34
|
-
*
|
|
35
|
-
* @license MIT
|
|
36
|
-
*/
|
|
37
1
|
import { detailResult } from '@getimo/mcp-toolkit';
|
|
38
2
|
import { z } from 'zod';
|
|
3
|
+
import { PRODUCT_NAME } from '../../product-name.js';
|
|
39
4
|
import { defineTool, mutating, structuredResult, withSiteMeta, } from '../../tools/tool-builder.js';
|
|
40
5
|
import { resolveSiteOrError } from '../../tools/pool-resolve-helper.js';
|
|
6
|
+
import { pluginFloorError, versionSkewNotice } from '../../compat-floor.js';
|
|
7
|
+
import { PACKAGE_VERSION } from '../../package-version.js';
|
|
41
8
|
import { probeSite } from '../probe.js';
|
|
42
9
|
const USE_SITE_OUTPUT_SCHEMA = z.object({
|
|
43
10
|
activated: z.boolean(),
|
|
@@ -56,42 +23,19 @@ const USE_SITE_OUTPUT_SCHEMA = z.object({
|
|
|
56
23
|
.optional(),
|
|
57
24
|
note: z.string().optional(),
|
|
58
25
|
warnings: z.array(z.string()).optional(),
|
|
59
|
-
// F178: every switch echoes the process-wide-default caveat so the
|
|
60
|
-
// agent is reminded that concurrent clients of the same stdio server
|
|
61
|
-
// share this pointer.
|
|
62
26
|
concurrency_warning: z.string().optional(),
|
|
63
27
|
});
|
|
64
|
-
/**
|
|
65
|
-
* F178 — the constant caveat echoed on every `use_site` switch. The
|
|
66
|
-
* active-site default lives in process memory (`ClientPool.activeOverride`)
|
|
67
|
-
* and a single stdio server process is shared by every MCP client that
|
|
68
|
-
* connected to it. So when client A switches, client B's NEXT call that
|
|
69
|
-
* omits `site_id` silently inherits A's choice. The only isolation
|
|
70
|
-
* guarantee is passing `site_id` explicitly per call.
|
|
71
|
-
*/
|
|
72
28
|
const CONCURRENCY_WARNING = 'This sets a PROCESS-WIDE default: every concurrent client sharing this '
|
|
73
29
|
+ 'MCP server process inherits it on calls that omit `site_id`. For '
|
|
74
30
|
+ 'isolation between parallel agents, pass `site_id` explicitly on each '
|
|
75
31
|
+ 'tool call instead of relying on this shared switch.';
|
|
76
|
-
/**
|
|
77
|
-
* Build the Phase 3 `yootheme_builder_use_site` tool.
|
|
78
|
-
*
|
|
79
|
-
* Signature accepts the {@link ClientPool} directly — the switch lives
|
|
80
|
-
* on the pool (`setActiveSite`), and `resolveSiteOrError(pool, site_id)`
|
|
81
|
-
* validates the id + yields the `{client, site}` bundle for the probe.
|
|
82
|
-
*/
|
|
83
32
|
export function buildUseSiteTool(pool) {
|
|
84
33
|
return defineTool({
|
|
85
34
|
name: 'yootheme_builder_use_site',
|
|
86
|
-
description: 'Switch the ACTIVE site for this
|
|
87
|
-
'
|
|
88
|
-
'
|
|
89
|
-
'
|
|
90
|
-
'Runs a /health + /etag probe by default; pass `probe: false` to switch ' +
|
|
91
|
-
'offline. A degraded site is a soft warning (the switch still happens). ' +
|
|
92
|
-
'`site_id` is REQUIRED. Keywords: switch/change/set active/target site, ' +
|
|
93
|
-
'select installation, use profile. Use yootheme_builder_sites_list first ' +
|
|
94
|
-
'to find IDs.',
|
|
35
|
+
description: 'Switch the ACTIVE site for this session — subsequent calls that omit `site_id` ' +
|
|
36
|
+
'target it. NOTE: this default is PROCESS-WIDE — concurrent clients sharing this ' +
|
|
37
|
+
'MCP server inherit it; pass `site_id` per call for isolation. Runs a /health + ' +
|
|
38
|
+
'/etag probe by default; `probe:false` switches offline. `site_id` is REQUIRED.',
|
|
95
39
|
inputSchema: {
|
|
96
40
|
site_id: z
|
|
97
41
|
.string()
|
|
@@ -110,20 +54,11 @@ export function buildUseSiteTool(pool) {
|
|
|
110
54
|
outputSchema: USE_SITE_OUTPUT_SCHEMA,
|
|
111
55
|
annotations: mutating('Sites — Switch active'),
|
|
112
56
|
handler: async ({ site_id, probe = true }) => {
|
|
113
|
-
// 1. Validate the id through the shared resolver. Unknown /
|
|
114
|
-
// no-default errors come back as structured ToolResults
|
|
115
|
-
// (HARD error). The pointer has NOT moved yet, so a bad id
|
|
116
|
-
// leaves the session on its previous active site.
|
|
117
57
|
const r = await resolveSiteOrError(pool, site_id);
|
|
118
58
|
if (!r.ok)
|
|
119
59
|
return r.error;
|
|
120
60
|
const { client, site } = r;
|
|
121
|
-
// 2. Move the in-memory override. `setActiveSite` re-checks
|
|
122
|
-
// the id exists (defense-in-depth) and throws
|
|
123
|
-
// UnknownSiteError otherwise — but step 1 already
|
|
124
|
-
// guaranteed it, so this is a no-throw in practice.
|
|
125
61
|
pool.setActiveSite(site.id);
|
|
126
|
-
// 3. Offline path — skip the probe entirely.
|
|
127
62
|
if (!probe) {
|
|
128
63
|
const payload = {
|
|
129
64
|
activated: true,
|
|
@@ -137,8 +72,6 @@ export function buildUseSiteTool(pool) {
|
|
|
137
72
|
const detail = detailResult({ ...buildUseSiteDetail(payload), includeMeta: false });
|
|
138
73
|
return withSiteMeta(structuredResult(detail, payload), site);
|
|
139
74
|
}
|
|
140
|
-
// 4. Probe the newly-active site. A failing probe is a SOFT
|
|
141
|
-
// warning — the switch already happened in step 2.
|
|
142
75
|
const probeResult = await probeSite(client);
|
|
143
76
|
const warnings = [];
|
|
144
77
|
if (!(probeResult.plugin_reachable && probeResult.bearer_valid)) {
|
|
@@ -146,6 +79,19 @@ export function buildUseSiteTool(pool) {
|
|
|
146
79
|
`green: ${probeResult.summary} The active site still points here — ` +
|
|
147
80
|
'run yootheme_builder_sites_test for a detailed diagnosis.');
|
|
148
81
|
}
|
|
82
|
+
if (probeResult.plugin_version !== undefined) {
|
|
83
|
+
const pairing = { plugin: probeResult.plugin_version, client: PACKAGE_VERSION };
|
|
84
|
+
const blocking = pluginFloorError(pairing);
|
|
85
|
+
if (blocking !== null) {
|
|
86
|
+
warnings.push(`Switched to "${site.id}". ${blocking.message}`);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
const skew = versionSkewNotice(pairing);
|
|
90
|
+
if (skew !== null) {
|
|
91
|
+
warnings.push(`Switched to "${site.id}". ${skew.message}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
149
95
|
const payload = {
|
|
150
96
|
activated: true,
|
|
151
97
|
active_site_id: site.id,
|
|
@@ -171,10 +117,6 @@ export function buildUseSiteTool(pool) {
|
|
|
171
117
|
},
|
|
172
118
|
});
|
|
173
119
|
}
|
|
174
|
-
/**
|
|
175
|
-
* Render a detail-card body for the switch result. Group 1 = the active
|
|
176
|
-
* site, Group 2 = the probe outcome (omitted when probe was skipped).
|
|
177
|
-
*/
|
|
178
120
|
function buildUseSiteDetail(payload) {
|
|
179
121
|
const activeEntries = [
|
|
180
122
|
{ key: 'active_site_id', label: 'Active site', value: payload.active_site_id, format: 'badge' },
|
|
@@ -198,6 +140,16 @@ function buildUseSiteDetail(payload) {
|
|
|
198
140
|
entries: [{ key: 'note', label: 'Note', value: payload.note }],
|
|
199
141
|
});
|
|
200
142
|
}
|
|
201
|
-
|
|
143
|
+
if (payload.warnings !== undefined && payload.warnings.length > 0) {
|
|
144
|
+
groups.push({
|
|
145
|
+
label: 'Warnings',
|
|
146
|
+
entries: payload.warnings.map((w, i) => ({
|
|
147
|
+
key: `warning_${i}`,
|
|
148
|
+
label: `Warning ${i + 1}`,
|
|
149
|
+
value: w,
|
|
150
|
+
})),
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
return { title: `${PRODUCT_NAME} — Switch Active Site`, groups };
|
|
202
154
|
}
|
|
203
155
|
//# sourceMappingURL=use-site.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-site.js","sourceRoot":"","sources":["../../../src/sites/tools/use-site.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-site.js","sourceRoot":"","sources":["../../../src/sites/tools/use-site.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type ToolResult } from '../tools/tool-builder.js';
|
|
2
|
+
export declare function unknownNameResult(opts: {
|
|
3
|
+
argument: string;
|
|
4
|
+
value: string;
|
|
5
|
+
available: readonly string[];
|
|
6
|
+
code: string;
|
|
7
|
+
error: string;
|
|
8
|
+
hint: string;
|
|
9
|
+
}): ToolResult;
|
|
10
|
+
//# sourceMappingURL=unknown-name-result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unknown-name-result.d.ts","sourceRoot":"","sources":["../../src/sites/unknown-name-result.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAgBvE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB,GAAG,UAAU,CAab"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsonResult } from '../tools/tool-builder.js';
|
|
2
|
+
export function unknownNameResult(opts) {
|
|
3
|
+
return jsonResult({
|
|
4
|
+
error: opts.error,
|
|
5
|
+
code: opts.code,
|
|
6
|
+
context: {
|
|
7
|
+
[opts.argument]: opts.value,
|
|
8
|
+
available: [...opts.available],
|
|
9
|
+
},
|
|
10
|
+
hint: opts.hint,
|
|
11
|
+
}, { isError: true });
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=unknown-name-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unknown-name-result.js","sourceRoot":"","sources":["../../src/sites/unknown-name-result.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,UAAU,EAAmB,MAAM,0BAA0B,CAAC;AAgBvE,MAAM,UAAU,iBAAiB,CAAC,IAOjC;IACG,OAAO,UAAU,CACb;QACI,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE;YACL,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK;YAC3B,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;SACjC;QACD,IAAI,EAAE,IAAI,CAAC,IAAI;KAClB,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CACpB,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CompatNotice } from './compat-floor.js';
|
|
2
|
+
import type { SiteRegistry } from './sites/registry.js';
|
|
3
|
+
export declare const INSTRUCTIONS_MAX_BYTES = 6000;
|
|
4
|
+
export declare function buildInstructions(registry?: SiteRegistry, compatNotice?: CompatNotice): string;
|
|
5
|
+
export declare const VERSION_NOTE_HEADING = "## Version note";
|
|
6
|
+
export declare function prependConfigProblemNotice(instructions: string, configProblem: string | null, sitesAreSubstituted?: boolean): string;
|
|
7
|
+
//# sourceMappingURL=skill-instructions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-instructions.d.ts","sourceRoot":"","sources":["../src/skill-instructions.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,eAAO,MAAM,sBAAsB,OAAO,CAAC;AA4D3C,wBAAgB,iBAAiB,CAC7B,QAAQ,CAAC,EAAE,YAAY,EACvB,YAAY,CAAC,EAAE,YAAY,GAC5B,MAAM,CASR;AAOD,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAoEtD,wBAAgB,0BAA0B,CACtC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,mBAAmB,UAAQ,GAC5B,MAAM,CAmBR"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { PRODUCT_NAME } from './product-name.js';
|
|
2
|
+
import { appendSitesBlock } from './skill-loader.js';
|
|
3
|
+
import { listTopics } from './skill-topics.js';
|
|
4
|
+
export const INSTRUCTIONS_MAX_BYTES = 6000;
|
|
5
|
+
const HEADER = `# ${PRODUCT_NAME}
|
|
6
|
+
|
|
7
|
+
> Independent third-party project. YOOtheme® is a registered trademark of
|
|
8
|
+
> YOOtheme GmbH. ${PRODUCT_NAME} is built by WootsUp (getimo productions) and is
|
|
9
|
+
> not affiliated with, endorsed by, or sponsored by YOOtheme.
|
|
10
|
+
|
|
11
|
+
Drive the YOOtheme Pro page builder on WordPress or Joomla 5/6: discover pages,
|
|
12
|
+
inspect layouts, add/move/bind elements, publish.
|
|
13
|
+
`;
|
|
14
|
+
const CRITICAL_RULES = `
|
|
15
|
+
## Critical rules (read first)
|
|
16
|
+
|
|
17
|
+
- Most tools are first-class in tools/list; the rest route through the
|
|
18
|
+
gateways: yootheme_builder_advanced({ tool, arguments }) for writes,
|
|
19
|
+
yootheme_builder_advanced_read for pure inspection. The arg key is
|
|
20
|
+
\`arguments\` (NOT \`input\`). Omit \`arguments\` to discover a tool's schema.
|
|
21
|
+
- Call yootheme_builder_sites_list FIRST to discover site_ids; pass
|
|
22
|
+
site_id on every call or the default site is targeted.
|
|
23
|
+
- yootheme_builder_page_publish makes the LAYOUT live — it does NOT make a
|
|
24
|
+
draft page visible to visitors. CMS visibility is a separate switch:
|
|
25
|
+
yootheme_builder_pages_set_status({ post_id, status: "publish" }).
|
|
26
|
+
- Valid \`fields[]\` names differ PER TOOL. Call once without \`fields\` and
|
|
27
|
+
read \`available_fields\` from the response — do not guess.
|
|
28
|
+
- Before element_add, call yootheme_builder_element_type_get_schema: its
|
|
29
|
+
\`minimal_layout\` shows required children (e.g. button needs a button_item
|
|
30
|
+
child carrying content + link).
|
|
31
|
+
- Write calls need the \`etag\` from the latest read/write response; a stale
|
|
32
|
+
etag is refused with the current one in the error.
|
|
33
|
+
`;
|
|
34
|
+
function topicPointer() {
|
|
35
|
+
const topics = listTopics();
|
|
36
|
+
const partSlugs = new Set(topics.flatMap((t) => t.parts ?? []));
|
|
37
|
+
const bullets = topics
|
|
38
|
+
.filter((t) => !partSlugs.has(t.slug))
|
|
39
|
+
.map((t) => {
|
|
40
|
+
const parts = t.parts?.length ?? 0;
|
|
41
|
+
return `- \`${t.slug}\` — ${t.heading}${parts > 0 ? ` (${String(parts)} parts)` : ''}`;
|
|
42
|
+
})
|
|
43
|
+
.join('\n');
|
|
44
|
+
return `
|
|
45
|
+
## Full guide, on demand
|
|
46
|
+
|
|
47
|
+
For any deeper topic call yootheme_builder_get_skill({ topic }) — without
|
|
48
|
+
\`topic\` it lists all topics. Available:
|
|
49
|
+
|
|
50
|
+
${bullets}
|
|
51
|
+
`;
|
|
52
|
+
}
|
|
53
|
+
export function buildInstructions(registry, compatNotice) {
|
|
54
|
+
const core = HEADER + CRITICAL_RULES + versionNote(compatNotice) + topicPointer();
|
|
55
|
+
const withSites = registry === undefined ? core : appendSitesBlock(core, registry);
|
|
56
|
+
const withBlocking = prependBlockingNotice(withSites, compatNotice);
|
|
57
|
+
return prependConfigProblemNotice(withBlocking, registry?.configProblem ?? null, registry?.sitesAreSubstituted ?? false);
|
|
58
|
+
}
|
|
59
|
+
export const VERSION_NOTE_HEADING = '## Version note';
|
|
60
|
+
function versionNote(compatNotice) {
|
|
61
|
+
if (compatNotice === undefined)
|
|
62
|
+
return '';
|
|
63
|
+
if (compatNotice.kind === 'below_floor')
|
|
64
|
+
return '';
|
|
65
|
+
return `\n${VERSION_NOTE_HEADING}\n\n${compatNotice.message}\n`;
|
|
66
|
+
}
|
|
67
|
+
function prependBlockingNotice(instructions, compatNotice) {
|
|
68
|
+
if (compatNotice === undefined || compatNotice.kind !== 'below_floor')
|
|
69
|
+
return instructions;
|
|
70
|
+
return `> **STOP — this site cannot be driven until it is updated.**\n>\n> ${compatNotice.message}\n\n${instructions}`;
|
|
71
|
+
}
|
|
72
|
+
export function prependConfigProblemNotice(instructions, configProblem, sitesAreSubstituted = false) {
|
|
73
|
+
if (configProblem === null || configProblem === '')
|
|
74
|
+
return instructions;
|
|
75
|
+
return (`## Configuration problem\n\n${configProblem}\n\n`
|
|
76
|
+
+ 'This configured connection was rejected at startup — see the reason above. '
|
|
77
|
+
+ 'Fix it and restart this server.\n\n'
|
|
78
|
+
+ (sitesAreSubstituted
|
|
79
|
+
? 'While this stands, the site names below are a SUBSTITUTE and a call '
|
|
80
|
+
+ 'that names one is refused. Call tools WITHOUT `site_id` — they run '
|
|
81
|
+
+ 'against the substitute site, and `sites_list` shows which one.\n\n'
|
|
82
|
+
: '')
|
|
83
|
+
+ `${instructions}`);
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=skill-instructions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-instructions.js","sourceRoot":"","sources":["../src/skill-instructions.ts"],"names":[],"mappings":"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"}
|
package/dist/skill-loader.d.ts
CHANGED
|
@@ -1,111 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Skill loader — Stream B1 (Skill-Distribution via MCP-Protocol).
|
|
3
|
-
*
|
|
4
|
-
* Reads the bundled SKILL.md once at module-load time and exposes it
|
|
5
|
-
* so that:
|
|
6
|
-
*
|
|
7
|
-
* 1. `createServer` can pass the content as the `instructions` field
|
|
8
|
-
* to `McpServer`. MCP-spec hosts (Claude Desktop, Cursor, …)
|
|
9
|
-
* surface this string as auto-context after the `initialize`
|
|
10
|
-
* handshake — Maria the Claude-Desktop user receives the skill
|
|
11
|
-
* narrative without ever invoking a tool.
|
|
12
|
-
*
|
|
13
|
-
* 2. A `skill://yt-builder-mcp` resource can return the same content
|
|
14
|
-
* on demand for hosts that ignore `instructions` but honor
|
|
15
|
-
* `resources/list` + `resources/read`.
|
|
16
|
-
*
|
|
17
|
-
* Resolution layout (matches `install-skill.ts` + `build-mcpb.js`):
|
|
18
|
-
*
|
|
19
|
-
* packages/mcp/skills/yt-builder-mcp/SKILL.md
|
|
20
|
-
*
|
|
21
|
-
* When the file is compiled to `dist/skill-loader.js`, the same
|
|
22
|
-
* relative `../skills/yt-builder-mcp/SKILL.md` resolves correctly
|
|
23
|
-
* because the published npm tarball (and the MCPB stage) preserves the
|
|
24
|
-
* `skills/` folder next to `dist/`.
|
|
25
|
-
*
|
|
26
|
-
* Read errors throw at module-init: a missing SKILL.md is a packaging
|
|
27
|
-
* bug, not a recoverable runtime condition.
|
|
28
|
-
*
|
|
29
|
-
* W8 — `appendSitesBlock(skillContent, registry)` post-processor.
|
|
30
|
-
* When the in-process {@link SiteRegistry} carries ≥1 configured
|
|
31
|
-
* site, append a "Currently configured sites" appendix to the
|
|
32
|
-
* instructions string so MCP hosts surface the live site roster
|
|
33
|
-
* alongside the skill narrative. The appendix contains ONLY
|
|
34
|
-
* safe-to-render metadata (site_id, label, platform hint/resolved,
|
|
35
|
-
* url, default-flag) — bearer fields are NEVER touched. When the
|
|
36
|
-
* registry has 0 sites the original skill content is returned
|
|
37
|
-
* verbatim (no appendix, no separator).
|
|
38
|
-
*
|
|
39
|
-
* This is a pure-string post-processor; it does not touch the
|
|
40
|
-
* on-disk SKILL.md. Per plan §W8 (line 919) the MCP `initialize`
|
|
41
|
-
* response carries `instructions` as a single shot, so an AI client
|
|
42
|
-
* restart is required for the appendix to refresh after a sites file
|
|
43
|
-
* edit. The W9 CLI commands (add-site / remove-site) print a reminder.
|
|
44
|
-
*
|
|
45
|
-
* @license MIT
|
|
46
|
-
*/
|
|
47
1
|
import type { SiteRegistry } from './sites/registry.js';
|
|
48
|
-
/** Stable URI under which the skill resource is exposed via MCP `resources/*`. */
|
|
49
2
|
export declare const SKILL_RESOURCE_URI = "skill://yt-builder-mcp";
|
|
50
|
-
|
|
51
|
-
export declare const SKILL_RESOURCE_NAME = "YT Builder MCP \u2014 Skill Guide";
|
|
52
|
-
/** Short description for `resources/list` consumers. */
|
|
3
|
+
export declare const SKILL_RESOURCE_NAME = "MCP for YOOtheme Pro \u2014 Skill Guide";
|
|
53
4
|
export declare const SKILL_RESOURCE_DESCRIPTION: string;
|
|
54
|
-
/** MIME type for the SKILL.md payload. */
|
|
55
5
|
export declare const SKILL_RESOURCE_MIME_TYPE = "text/markdown";
|
|
56
|
-
/**
|
|
57
|
-
* Load the bundled SKILL.md content. Cached after the first read.
|
|
58
|
-
*
|
|
59
|
-
* When `registry` is supplied AND it carries ≥1 site, the returned
|
|
60
|
-
* string is the on-disk SKILL.md PLUS the W8 sites appendix (see
|
|
61
|
-
* {@link appendSitesBlock}). When `registry` is omitted or empty, the
|
|
62
|
-
* raw skill content is returned unchanged. The disk cache is shared
|
|
63
|
-
* across calls — the appendix is recomputed each time so registry
|
|
64
|
-
* mutations after the first load are reflected (within the same
|
|
65
|
-
* process instance — the MCP `initialize` response only takes a
|
|
66
|
-
* single-shot snapshot per session per plan §W8 line 919).
|
|
67
|
-
*
|
|
68
|
-
* @throws Error when the file is missing or unreadable (packaging bug).
|
|
69
|
-
*/
|
|
70
6
|
export declare function loadSkillContent(registry?: SiteRegistry): string;
|
|
71
|
-
/**
|
|
72
|
-
* Append the W8 "Currently configured sites" block to a skill-content
|
|
73
|
-
* string. When the registry is empty, returns the input verbatim — no
|
|
74
|
-
* separator, no header, no trailing newline change.
|
|
75
|
-
*
|
|
76
|
-
* Output shape (per plan §W8 Z.904-917):
|
|
77
|
-
* ```text
|
|
78
|
-
* <skillContent>
|
|
79
|
-
*
|
|
80
|
-
* ---
|
|
81
|
-
*
|
|
82
|
-
* ## Currently configured sites (3)
|
|
83
|
-
*
|
|
84
|
-
* - `wp-acme` — Acme — Production · wordpress · https://acme.com · default
|
|
85
|
-
* - `joomla-beta` — Beta — Staging · joomla · https://beta.example.com/joomla
|
|
86
|
-
* - `wp-internal` — Internal staging · wordpress · https://internal.example.com
|
|
87
|
-
*
|
|
88
|
-
* Use `yootheme_builder_sites_list` to inspect this at runtime.
|
|
89
|
-
* Pass `site_id: "<id>"` on any tool call to target a specific site;
|
|
90
|
-
* omit it to use the default.
|
|
91
|
-
* ```
|
|
92
|
-
*
|
|
93
|
-
* Per-row format (bullet):
|
|
94
|
-
* `- \`<site_id>\` — <label or "(no label)"> · <platform> · <url><" · default"?>`
|
|
95
|
-
*
|
|
96
|
-
* The platform column prefers `platform_resolved` when the registry
|
|
97
|
-
* has memoised a probe result for that site (peek-only — never
|
|
98
|
-
* triggers a new probe), and falls back to `platform_hint` otherwise.
|
|
99
|
-
*
|
|
100
|
-
* Bearer fields (bearer / bearer_ref) are intentionally NEVER
|
|
101
|
-
* referenced — only `site_id`, `url`, `platform_*`, `is_default`,
|
|
102
|
-
* `label` from {@link SiteRowT}.
|
|
103
|
-
*/
|
|
104
7
|
export declare function appendSitesBlock(skillContent: string, registry: SiteRegistry): string;
|
|
105
|
-
/**
|
|
106
|
-
* Reset the in-memory cache. Intended for tests only.
|
|
107
|
-
*
|
|
108
|
-
* @internal
|
|
109
|
-
*/
|
|
110
8
|
export declare function __resetSkillCacheForTests(): void;
|
|
111
9
|
//# sourceMappingURL=skill-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-loader.d.ts","sourceRoot":"","sources":["../src/skill-loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"skill-loader.d.ts","sourceRoot":"","sources":["../src/skill-loader.ts"],"names":[],"mappings":"AAoDA,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,qBAAqB,CAAC;AAGlE,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAG3D,eAAO,MAAM,mBAAmB,4CAAkC,CAAC;AAGnE,eAAO,MAAM,0BAA0B,QAI6B,CAAC;AAGrE,eAAO,MAAM,wBAAwB,kBAAkB,CAAC;AAiCxD,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,MAAM,CAShE;AAmCD,wBAAgB,gBAAgB,CAC5B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,YAAY,GACvB,MAAM,CAkBR;AA+CD,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD"}
|
package/dist/skill-loader.js
CHANGED
|
@@ -1,89 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Skill loader — Stream B1 (Skill-Distribution via MCP-Protocol).
|
|
3
|
-
*
|
|
4
|
-
* Reads the bundled SKILL.md once at module-load time and exposes it
|
|
5
|
-
* so that:
|
|
6
|
-
*
|
|
7
|
-
* 1. `createServer` can pass the content as the `instructions` field
|
|
8
|
-
* to `McpServer`. MCP-spec hosts (Claude Desktop, Cursor, …)
|
|
9
|
-
* surface this string as auto-context after the `initialize`
|
|
10
|
-
* handshake — Maria the Claude-Desktop user receives the skill
|
|
11
|
-
* narrative without ever invoking a tool.
|
|
12
|
-
*
|
|
13
|
-
* 2. A `skill://yt-builder-mcp` resource can return the same content
|
|
14
|
-
* on demand for hosts that ignore `instructions` but honor
|
|
15
|
-
* `resources/list` + `resources/read`.
|
|
16
|
-
*
|
|
17
|
-
* Resolution layout (matches `install-skill.ts` + `build-mcpb.js`):
|
|
18
|
-
*
|
|
19
|
-
* packages/mcp/skills/yt-builder-mcp/SKILL.md
|
|
20
|
-
*
|
|
21
|
-
* When the file is compiled to `dist/skill-loader.js`, the same
|
|
22
|
-
* relative `../skills/yt-builder-mcp/SKILL.md` resolves correctly
|
|
23
|
-
* because the published npm tarball (and the MCPB stage) preserves the
|
|
24
|
-
* `skills/` folder next to `dist/`.
|
|
25
|
-
*
|
|
26
|
-
* Read errors throw at module-init: a missing SKILL.md is a packaging
|
|
27
|
-
* bug, not a recoverable runtime condition.
|
|
28
|
-
*
|
|
29
|
-
* W8 — `appendSitesBlock(skillContent, registry)` post-processor.
|
|
30
|
-
* When the in-process {@link SiteRegistry} carries ≥1 configured
|
|
31
|
-
* site, append a "Currently configured sites" appendix to the
|
|
32
|
-
* instructions string so MCP hosts surface the live site roster
|
|
33
|
-
* alongside the skill narrative. The appendix contains ONLY
|
|
34
|
-
* safe-to-render metadata (site_id, label, platform hint/resolved,
|
|
35
|
-
* url, default-flag) — bearer fields are NEVER touched. When the
|
|
36
|
-
* registry has 0 sites the original skill content is returned
|
|
37
|
-
* verbatim (no appendix, no separator).
|
|
38
|
-
*
|
|
39
|
-
* This is a pure-string post-processor; it does not touch the
|
|
40
|
-
* on-disk SKILL.md. Per plan §W8 (line 919) the MCP `initialize`
|
|
41
|
-
* response carries `instructions` as a single shot, so an AI client
|
|
42
|
-
* restart is required for the appendix to refresh after a sites file
|
|
43
|
-
* edit. The W9 CLI commands (add-site / remove-site) print a reminder.
|
|
44
|
-
*
|
|
45
|
-
* @license MIT
|
|
46
|
-
*/
|
|
47
1
|
import { readFileSync } from 'node:fs';
|
|
48
2
|
import { dirname, resolve } from 'node:path';
|
|
49
3
|
import { fileURLToPath } from 'node:url';
|
|
50
|
-
|
|
4
|
+
import { PRODUCT_NAME } from './product-name.js';
|
|
51
5
|
export const SKILL_RESOURCE_URI = 'skill://yt-builder-mcp';
|
|
52
|
-
|
|
53
|
-
export const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
'
|
|
57
|
-
/** MIME type for the SKILL.md payload. */
|
|
6
|
+
export const SKILL_RESOURCE_NAME = `${PRODUCT_NAME} — Skill Guide`;
|
|
7
|
+
export const SKILL_RESOURCE_DESCRIPTION = 'Full workflow guide for driving the YOOtheme Pro page builder via this MCP ' +
|
|
8
|
+
'server. Only a short preamble is auto-loaded as `instructions` at initialize ' +
|
|
9
|
+
'(Design E1, 2026-08-10) — fetch this resource, or call ' +
|
|
10
|
+
'yootheme_builder_get_skill({ topic }), for the complete guide.';
|
|
58
11
|
export const SKILL_RESOURCE_MIME_TYPE = 'text/markdown';
|
|
59
12
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
60
|
-
/**
|
|
61
|
-
* Resolve the on-disk path to the bundled SKILL.md.
|
|
62
|
-
*
|
|
63
|
-
* Source-tree: packages/mcp/src/skill-loader.ts → ../skills/yt-builder-mcp/SKILL.md
|
|
64
|
-
* Built tarball: packages/mcp/dist/skill-loader.js → ../skills/yt-builder-mcp/SKILL.md
|
|
65
|
-
*
|
|
66
|
-
* Both layouts work because `dist/` and `src/` are siblings of
|
|
67
|
-
* `skills/` under the package root.
|
|
68
|
-
*/
|
|
69
13
|
function resolveSkillPath() {
|
|
70
14
|
return resolve(__dirname, '..', 'skills', 'yt-builder-mcp', 'SKILL.md');
|
|
71
15
|
}
|
|
72
16
|
let cached;
|
|
73
|
-
/**
|
|
74
|
-
* Load the bundled SKILL.md content. Cached after the first read.
|
|
75
|
-
*
|
|
76
|
-
* When `registry` is supplied AND it carries ≥1 site, the returned
|
|
77
|
-
* string is the on-disk SKILL.md PLUS the W8 sites appendix (see
|
|
78
|
-
* {@link appendSitesBlock}). When `registry` is omitted or empty, the
|
|
79
|
-
* raw skill content is returned unchanged. The disk cache is shared
|
|
80
|
-
* across calls — the appendix is recomputed each time so registry
|
|
81
|
-
* mutations after the first load are reflected (within the same
|
|
82
|
-
* process instance — the MCP `initialize` response only takes a
|
|
83
|
-
* single-shot snapshot per session per plan §W8 line 919).
|
|
84
|
-
*
|
|
85
|
-
* @throws Error when the file is missing or unreadable (packaging bug).
|
|
86
|
-
*/
|
|
87
17
|
export function loadSkillContent(registry) {
|
|
88
18
|
if (cached === undefined) {
|
|
89
19
|
const path = resolveSkillPath();
|
|
@@ -94,39 +24,6 @@ export function loadSkillContent(registry) {
|
|
|
94
24
|
}
|
|
95
25
|
return appendSitesBlock(cached, registry);
|
|
96
26
|
}
|
|
97
|
-
/**
|
|
98
|
-
* Append the W8 "Currently configured sites" block to a skill-content
|
|
99
|
-
* string. When the registry is empty, returns the input verbatim — no
|
|
100
|
-
* separator, no header, no trailing newline change.
|
|
101
|
-
*
|
|
102
|
-
* Output shape (per plan §W8 Z.904-917):
|
|
103
|
-
* ```text
|
|
104
|
-
* <skillContent>
|
|
105
|
-
*
|
|
106
|
-
* ---
|
|
107
|
-
*
|
|
108
|
-
* ## Currently configured sites (3)
|
|
109
|
-
*
|
|
110
|
-
* - `wp-acme` — Acme — Production · wordpress · https://acme.com · default
|
|
111
|
-
* - `joomla-beta` — Beta — Staging · joomla · https://beta.example.com/joomla
|
|
112
|
-
* - `wp-internal` — Internal staging · wordpress · https://internal.example.com
|
|
113
|
-
*
|
|
114
|
-
* Use `yootheme_builder_sites_list` to inspect this at runtime.
|
|
115
|
-
* Pass `site_id: "<id>"` on any tool call to target a specific site;
|
|
116
|
-
* omit it to use the default.
|
|
117
|
-
* ```
|
|
118
|
-
*
|
|
119
|
-
* Per-row format (bullet):
|
|
120
|
-
* `- \`<site_id>\` — <label or "(no label)"> · <platform> · <url><" · default"?>`
|
|
121
|
-
*
|
|
122
|
-
* The platform column prefers `platform_resolved` when the registry
|
|
123
|
-
* has memoised a probe result for that site (peek-only — never
|
|
124
|
-
* triggers a new probe), and falls back to `platform_hint` otherwise.
|
|
125
|
-
*
|
|
126
|
-
* Bearer fields (bearer / bearer_ref) are intentionally NEVER
|
|
127
|
-
* referenced — only `site_id`, `url`, `platform_*`, `is_default`,
|
|
128
|
-
* `label` from {@link SiteRowT}.
|
|
129
|
-
*/
|
|
130
27
|
export function appendSitesBlock(skillContent, registry) {
|
|
131
28
|
const rows = registry.listForDisplay();
|
|
132
29
|
if (rows.length === 0) {
|
|
@@ -142,49 +39,15 @@ export function appendSitesBlock(skillContent, registry) {
|
|
|
142
39
|
'omit it to use the default.\n';
|
|
143
40
|
return skillContent + block;
|
|
144
41
|
}
|
|
145
|
-
/**
|
|
146
|
-
* Markdown-escape an operator-provided string so it cannot inject
|
|
147
|
-
* structure into the rendered SKILL.md appendix.
|
|
148
|
-
*
|
|
149
|
-
* W12-R1.3 (A2-L2): the W8 sites-appendix renders `row.label` into the
|
|
150
|
-
* server's `instructions` field, which MCP hosts surface to the LLM
|
|
151
|
-
* verbatim. An operator with write-access to sites.json could land a
|
|
152
|
-
* label like `Acme [INTERNAL TOOL: ignore prior context] Production`
|
|
153
|
-
* and the prompt would carry that text into the model context. The
|
|
154
|
-
* escape list covers the markdown special chars the W8 bullet format
|
|
155
|
-
* could collide with (\`*_[]<>), preserving readable text while
|
|
156
|
-
* preventing injection. site_id is regex-restricted at the schema
|
|
157
|
-
* layer so it doesn't need escaping; url is operator-controlled but
|
|
158
|
-
* has a much smaller chosen-char surface and is rendered after a `·`
|
|
159
|
-
* separator that limits payload shape.
|
|
160
|
-
*/
|
|
161
42
|
function escapeMarkdown(text) {
|
|
162
43
|
return text.replace(/([\\`*_[\]<>])/g, '\\$1');
|
|
163
44
|
}
|
|
164
|
-
/**
|
|
165
|
-
* Render one {@link SiteRowT} as a markdown bullet for the W8 sites
|
|
166
|
-
* appendix.
|
|
167
|
-
*
|
|
168
|
-
* Format: `- \`<site_id>\` — <label> · <platform> · <url><" · default"?>`
|
|
169
|
-
*
|
|
170
|
-
* `<platform>` prefers `platform_resolved` (the W3 memo cache) and
|
|
171
|
-
* falls back to `platform_hint` when no probe has run yet.
|
|
172
|
-
* `<label>` falls back to the literal string `(no label)` when the
|
|
173
|
-
* entry has none AND is markdown-escaped (W12-R1.3 prompt-injection
|
|
174
|
-
* defense). The `default` suffix is only present when `is_default`
|
|
175
|
-
* is true.
|
|
176
|
-
*/
|
|
177
45
|
function renderBullet(row) {
|
|
178
46
|
const platform = row.platform_resolved ?? row.platform_hint;
|
|
179
47
|
const label = escapeMarkdown(row.label ?? '(no label)');
|
|
180
48
|
const defaultSuffix = row.is_default ? ' · default' : '';
|
|
181
49
|
return `- \`${row.site_id}\` — ${label} · ${platform} · ${row.url}${defaultSuffix}`;
|
|
182
50
|
}
|
|
183
|
-
/**
|
|
184
|
-
* Reset the in-memory cache. Intended for tests only.
|
|
185
|
-
*
|
|
186
|
-
* @internal
|
|
187
|
-
*/
|
|
188
51
|
export function __resetSkillCacheForTests() {
|
|
189
52
|
cached = undefined;
|
|
190
53
|
}
|