@wootsup/yt-builder-mcp 1.11.0 → 2.0.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 +131 -33
- package/bin/node-floor.d.ts +28 -0
- package/bin/node-floor.js +123 -0
- package/bin/yt-builder-mcp.js +52 -11
- package/dist/auth.d.ts +3 -121
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +40 -170
- 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 +9 -41
- 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 +33 -54
- 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 +45 -54
- 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 +0 -22
- 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 +0 -18
- 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 +0 -33
- 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 +0 -137
- package/dist/clients/codex-cli.js.map +1 -1
- package/dist/clients/continue.d.ts +0 -10
- package/dist/clients/continue.d.ts.map +1 -1
- package/dist/clients/continue.js +0 -26
- 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 +0 -11
- 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 +0 -17
- 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 +0 -150
- package/dist/clients/index.d.ts.map +1 -1
- package/dist/clients/index.js +0 -112
- 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 +0 -22
- 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 +0 -18
- 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 +26 -37
- package/dist/diagnostics/diagnose-network-error.js.map +1 -1
- package/dist/diagnostics/doctor.d.ts +13 -65
- package/dist/diagnostics/doctor.d.ts.map +1 -1
- package/dist/diagnostics/doctor.js +46 -70
- 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 +0 -32
- 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 +18 -16
- 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 +10 -174
- 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 +5 -46
- 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/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 +107 -203
- 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 +119 -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 +70 -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 +161 -173
- 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 +0 -36
- package/dist/setup-wizard-defaults.d.ts.map +1 -1
- package/dist/setup-wizard-defaults.js +0 -75
- 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 +16 -209
- 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.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 +68 -80
- 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 +1 -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 -80
- 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 +84 -0
- package/dist/skill-instructions.js.map +1 -0
- package/dist/skill-loader.d.ts +0 -102
- package/dist/skill-loader.d.ts.map +1 -1
- package/dist/skill-loader.js +4 -142
- 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 +16 -0
- package/dist/tools/budgeted-table.d.ts.map +1 -0
- package/dist/tools/budgeted-table.js +203 -0
- package/dist/tools/budgeted-table.js.map +1 -0
- 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 +171 -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 +42 -43
- package/dist/tools/format/health-format.d.ts.map +1 -1
- package/dist/tools/format/health-format.js +32 -55
- package/dist/tools/format/health-format.js.map +1 -1
- package/dist/tools/format/inspection-format.d.ts +4 -49
- package/dist/tools/format/inspection-format.d.ts.map +1 -1
- package/dist/tools/format/inspection-format.js +46 -114
- 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 +115 -133
- 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 +82 -0
- package/dist/tools/health-output-schemas.d.ts.map +1 -0
- package/dist/tools/health-output-schemas.js +130 -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 +59 -184
- 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 +13 -33
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/inspection.d.ts +21 -17
- package/dist/tools/inspection.d.ts.map +1 -1
- package/dist/tools/inspection.js +431 -268
- package/dist/tools/inspection.js.map +1 -1
- package/dist/tools/library.d.ts +118 -126
- package/dist/tools/library.d.ts.map +1 -1
- package/dist/tools/library.js +723 -456
- 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 +105 -48
- 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 -67
- 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 +3 -0
- package/dist/tools/navigation/builders.d.ts.map +1 -0
- package/dist/tools/navigation/builders.js +25 -0
- package/dist/tools/navigation/builders.js.map +1 -0
- package/dist/tools/navigation/index.d.ts +2 -0
- package/dist/tools/navigation/index.d.ts.map +1 -0
- package/dist/tools/navigation/index.js +2 -0
- package/dist/tools/navigation/index.js.map +1 -0
- package/dist/tools/navigation/schemas.d.ts +16 -0
- package/dist/tools/navigation/schemas.d.ts.map +1 -0
- package/dist/tools/navigation/schemas.js +11 -0
- package/dist/tools/navigation/schemas.js.map +1 -0
- 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 +373 -359
- package/dist/tools/pages/builders.js.map +1 -1
- package/dist/tools/pages/header-transparency.d.ts +34 -0
- package/dist/tools/pages/header-transparency.d.ts.map +1 -0
- package/dist/tools/pages/header-transparency.js +85 -0
- package/dist/tools/pages/header-transparency.js.map +1 -0
- 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 +392 -224
- package/dist/tools/pages/schemas.d.ts.map +1 -1
- package/dist/tools/pages/schemas.js +605 -458
- 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 +29 -104
- 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 +8 -0
- package/dist/tools/response-budget.d.ts.map +1 -0
- package/dist/tools/response-budget.js +7 -0
- package/dist/tools/response-budget.js.map +1 -0
- package/dist/tools/shared-schemas.d.ts +12 -43
- package/dist/tools/shared-schemas.d.ts.map +1 -1
- package/dist/tools/shared-schemas.js +42 -97
- 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 +195 -173
- 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 +19 -194
- package/dist/tools/sparse-fields.d.ts.map +1 -1
- package/dist/tools/sparse-fields.js +212 -196
- 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 -40
- 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 -111
- package/dist/tools/tool-builder/results.d.ts.map +1 -1
- package/dist/tools/tool-builder/results.js +258 -250
- 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 +0 -49
- 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 +4 -5
- package/package.json +5 -5
- package/skills/yt-builder-mcp/SKILL.md +2958 -382
- package/dist/tools/elements/handlers-write.d.ts +0 -70
- package/dist/tools/elements/handlers-write.d.ts.map +0 -1
- package/dist/tools/elements/handlers-write.js +0 -700
- package/dist/tools/elements/handlers-write.js.map +0 -1
- package/dist/tools/elements/handlers.d.ts +0 -125
- package/dist/tools/elements/handlers.d.ts.map +0 -1
- package/dist/tools/elements/handlers.js +0 -571
- 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 -96
- package/dist/tools/elements/schema-validation.d.ts.map +0 -1
- package/dist/tools/elements/schema-validation.js +0 -249
- 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 -324
- 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 -54
- package/dist/tools/local-content/handlers.d.ts.map +0 -1
- package/dist/tools/local-content/handlers.js +0 -316
- 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/pages/handlers-audit.d.ts +0 -129
- package/dist/tools/pages/handlers-audit.d.ts.map +0 -1
- package/dist/tools/pages/handlers-audit.js +0 -704
- package/dist/tools/pages/handlers-audit.js.map +0 -1
- package/dist/tools/pages/handlers-read.d.ts +0 -95
- package/dist/tools/pages/handlers-read.d.ts.map +0 -1
- package/dist/tools/pages/handlers-read.js +0 -929
- 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 -418
- 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 -655
- package/dist/tools/sources/handlers-bind.js.map +0 -1
- package/dist/tools/sources/handlers.d.ts +0 -114
- package/dist/tools/sources/handlers.d.ts.map +0 -1
- package/dist/tools/sources/handlers.js +0 -285
- 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,9 @@
|
|
|
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';
|
|
39
3
|
import { defineTool, mutating, structuredResult, withSiteMeta, } from '../../tools/tool-builder.js';
|
|
40
4
|
import { resolveSiteOrError } from '../../tools/pool-resolve-helper.js';
|
|
5
|
+
import { pluginFloorError, versionSkewNotice } from '../../compat-floor.js';
|
|
6
|
+
import { PACKAGE_VERSION } from '../../package-version.js';
|
|
41
7
|
import { probeSite } from '../probe.js';
|
|
42
8
|
const USE_SITE_OUTPUT_SCHEMA = z.object({
|
|
43
9
|
activated: z.boolean(),
|
|
@@ -56,42 +22,19 @@ const USE_SITE_OUTPUT_SCHEMA = z.object({
|
|
|
56
22
|
.optional(),
|
|
57
23
|
note: z.string().optional(),
|
|
58
24
|
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
25
|
concurrency_warning: z.string().optional(),
|
|
63
26
|
});
|
|
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
27
|
const CONCURRENCY_WARNING = 'This sets a PROCESS-WIDE default: every concurrent client sharing this '
|
|
73
28
|
+ 'MCP server process inherits it on calls that omit `site_id`. For '
|
|
74
29
|
+ 'isolation between parallel agents, pass `site_id` explicitly on each '
|
|
75
30
|
+ '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
31
|
export function buildUseSiteTool(pool) {
|
|
84
32
|
return defineTool({
|
|
85
33
|
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.',
|
|
34
|
+
description: 'Switch the ACTIVE site for this session — subsequent calls that omit `site_id` ' +
|
|
35
|
+
'target it. NOTE: this default is PROCESS-WIDE — concurrent clients sharing this ' +
|
|
36
|
+
'MCP server inherit it; pass `site_id` per call for isolation. Runs a /health + ' +
|
|
37
|
+
'/etag probe by default; `probe:false` switches offline. `site_id` is REQUIRED.',
|
|
95
38
|
inputSchema: {
|
|
96
39
|
site_id: z
|
|
97
40
|
.string()
|
|
@@ -110,20 +53,11 @@ export function buildUseSiteTool(pool) {
|
|
|
110
53
|
outputSchema: USE_SITE_OUTPUT_SCHEMA,
|
|
111
54
|
annotations: mutating('Sites — Switch active'),
|
|
112
55
|
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
56
|
const r = await resolveSiteOrError(pool, site_id);
|
|
118
57
|
if (!r.ok)
|
|
119
58
|
return r.error;
|
|
120
59
|
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
60
|
pool.setActiveSite(site.id);
|
|
126
|
-
// 3. Offline path — skip the probe entirely.
|
|
127
61
|
if (!probe) {
|
|
128
62
|
const payload = {
|
|
129
63
|
activated: true,
|
|
@@ -134,11 +68,9 @@ export function buildUseSiteTool(pool) {
|
|
|
134
68
|
'is now set but its plugin reachability was not verified.',
|
|
135
69
|
concurrency_warning: CONCURRENCY_WARNING,
|
|
136
70
|
};
|
|
137
|
-
const detail = detailResult(buildUseSiteDetail(payload));
|
|
71
|
+
const detail = detailResult({ ...buildUseSiteDetail(payload), includeMeta: false });
|
|
138
72
|
return withSiteMeta(structuredResult(detail, payload), site);
|
|
139
73
|
}
|
|
140
|
-
// 4. Probe the newly-active site. A failing probe is a SOFT
|
|
141
|
-
// warning — the switch already happened in step 2.
|
|
142
74
|
const probeResult = await probeSite(client);
|
|
143
75
|
const warnings = [];
|
|
144
76
|
if (!(probeResult.plugin_reachable && probeResult.bearer_valid)) {
|
|
@@ -146,6 +78,19 @@ export function buildUseSiteTool(pool) {
|
|
|
146
78
|
`green: ${probeResult.summary} The active site still points here — ` +
|
|
147
79
|
'run yootheme_builder_sites_test for a detailed diagnosis.');
|
|
148
80
|
}
|
|
81
|
+
if (probeResult.plugin_version !== undefined) {
|
|
82
|
+
const pairing = { plugin: probeResult.plugin_version, client: PACKAGE_VERSION };
|
|
83
|
+
const blocking = pluginFloorError(pairing);
|
|
84
|
+
if (blocking !== null) {
|
|
85
|
+
warnings.push(`Switched to "${site.id}". ${blocking.message}`);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
const skew = versionSkewNotice(pairing);
|
|
89
|
+
if (skew !== null) {
|
|
90
|
+
warnings.push(`Switched to "${site.id}". ${skew.message}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
149
94
|
const payload = {
|
|
150
95
|
activated: true,
|
|
151
96
|
active_site_id: site.id,
|
|
@@ -166,15 +111,11 @@ export function buildUseSiteTool(pool) {
|
|
|
166
111
|
concurrency_warning: CONCURRENCY_WARNING,
|
|
167
112
|
...(warnings.length > 0 ? { warnings } : {}),
|
|
168
113
|
};
|
|
169
|
-
const detail = detailResult(buildUseSiteDetail(payload));
|
|
114
|
+
const detail = detailResult({ ...buildUseSiteDetail(payload), includeMeta: false });
|
|
170
115
|
return withSiteMeta(structuredResult(detail, payload), site);
|
|
171
116
|
},
|
|
172
117
|
});
|
|
173
118
|
}
|
|
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
119
|
function buildUseSiteDetail(payload) {
|
|
179
120
|
const activeEntries = [
|
|
180
121
|
{ key: 'active_site_id', label: 'Active site', value: payload.active_site_id, format: 'badge' },
|
|
@@ -198,6 +139,16 @@ function buildUseSiteDetail(payload) {
|
|
|
198
139
|
entries: [{ key: 'note', label: 'Note', value: payload.note }],
|
|
199
140
|
});
|
|
200
141
|
}
|
|
142
|
+
if (payload.warnings !== undefined && payload.warnings.length > 0) {
|
|
143
|
+
groups.push({
|
|
144
|
+
label: 'Warnings',
|
|
145
|
+
entries: payload.warnings.map((w, i) => ({
|
|
146
|
+
key: `warning_${i}`,
|
|
147
|
+
label: `Warning ${i + 1}`,
|
|
148
|
+
value: w,
|
|
149
|
+
})),
|
|
150
|
+
});
|
|
151
|
+
}
|
|
201
152
|
return { title: 'YT Builder MCP — Switch Active Site', groups };
|
|
202
153
|
}
|
|
203
154
|
//# 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;AAGtD,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,84 @@
|
|
|
1
|
+
import { appendSitesBlock } from './skill-loader.js';
|
|
2
|
+
import { listTopics } from './skill-topics.js';
|
|
3
|
+
export const INSTRUCTIONS_MAX_BYTES = 6000;
|
|
4
|
+
const HEADER = `# YT Builder MCP for YOOtheme Pro (unofficial)
|
|
5
|
+
|
|
6
|
+
> Independent third-party project. YOOtheme® is a registered trademark of
|
|
7
|
+
> YOOtheme GmbH. YT Builder MCP is built by WootsUp (getimo productions) and is
|
|
8
|
+
> not affiliated with, endorsed by, or sponsored by YOOtheme.
|
|
9
|
+
|
|
10
|
+
Drive the YOOtheme Pro page builder on WordPress or Joomla 5/6: discover pages,
|
|
11
|
+
inspect layouts, add/move/bind elements, publish.
|
|
12
|
+
`;
|
|
13
|
+
const CRITICAL_RULES = `
|
|
14
|
+
## Critical rules (read first)
|
|
15
|
+
|
|
16
|
+
- Most tools are first-class in tools/list; the rest route through the
|
|
17
|
+
gateways: yootheme_builder_advanced({ tool, arguments }) for writes,
|
|
18
|
+
yootheme_builder_advanced_read for pure inspection. The arg key is
|
|
19
|
+
\`arguments\` (NOT \`input\`). Omit \`arguments\` to discover a tool's schema.
|
|
20
|
+
- Call yootheme_builder_sites_list FIRST to discover site_ids; pass
|
|
21
|
+
site_id on every call or the default site is targeted.
|
|
22
|
+
- yootheme_builder_page_publish makes the LAYOUT live — it does NOT make a
|
|
23
|
+
draft page visible to visitors. CMS visibility is a separate switch:
|
|
24
|
+
yootheme_builder_pages_set_status({ post_id, status: "publish" }).
|
|
25
|
+
- Valid \`fields[]\` names differ PER TOOL. Call once without \`fields\` and
|
|
26
|
+
read \`available_fields\` from the response — do not guess.
|
|
27
|
+
- Before element_add, call yootheme_builder_element_type_get_schema: its
|
|
28
|
+
\`minimal_layout\` shows required children (e.g. button needs a button_item
|
|
29
|
+
child carrying content + link).
|
|
30
|
+
- Write calls need the \`etag\` from the latest read/write response; a stale
|
|
31
|
+
etag is refused with the current one in the error.
|
|
32
|
+
`;
|
|
33
|
+
function topicPointer() {
|
|
34
|
+
const topics = listTopics();
|
|
35
|
+
const partSlugs = new Set(topics.flatMap((t) => t.parts ?? []));
|
|
36
|
+
const bullets = topics
|
|
37
|
+
.filter((t) => !partSlugs.has(t.slug))
|
|
38
|
+
.map((t) => {
|
|
39
|
+
const parts = t.parts?.length ?? 0;
|
|
40
|
+
return `- \`${t.slug}\` — ${t.heading}${parts > 0 ? ` (${String(parts)} parts)` : ''}`;
|
|
41
|
+
})
|
|
42
|
+
.join('\n');
|
|
43
|
+
return `
|
|
44
|
+
## Full guide, on demand
|
|
45
|
+
|
|
46
|
+
For any deeper topic call yootheme_builder_get_skill({ topic }) — without
|
|
47
|
+
\`topic\` it lists all topics. Available:
|
|
48
|
+
|
|
49
|
+
${bullets}
|
|
50
|
+
`;
|
|
51
|
+
}
|
|
52
|
+
export function buildInstructions(registry, compatNotice) {
|
|
53
|
+
const core = HEADER + CRITICAL_RULES + versionNote(compatNotice) + topicPointer();
|
|
54
|
+
const withSites = registry === undefined ? core : appendSitesBlock(core, registry);
|
|
55
|
+
const withBlocking = prependBlockingNotice(withSites, compatNotice);
|
|
56
|
+
return prependConfigProblemNotice(withBlocking, registry?.configProblem ?? null, registry?.sitesAreSubstituted ?? false);
|
|
57
|
+
}
|
|
58
|
+
export const VERSION_NOTE_HEADING = '## Version note';
|
|
59
|
+
function versionNote(compatNotice) {
|
|
60
|
+
if (compatNotice === undefined)
|
|
61
|
+
return '';
|
|
62
|
+
if (compatNotice.kind === 'below_floor')
|
|
63
|
+
return '';
|
|
64
|
+
return `\n${VERSION_NOTE_HEADING}\n\n${compatNotice.message}\n`;
|
|
65
|
+
}
|
|
66
|
+
function prependBlockingNotice(instructions, compatNotice) {
|
|
67
|
+
if (compatNotice === undefined || compatNotice.kind !== 'below_floor')
|
|
68
|
+
return instructions;
|
|
69
|
+
return `> **STOP — this site cannot be driven until it is updated.**\n>\n> ${compatNotice.message}\n\n${instructions}`;
|
|
70
|
+
}
|
|
71
|
+
export function prependConfigProblemNotice(instructions, configProblem, sitesAreSubstituted = false) {
|
|
72
|
+
if (configProblem === null || configProblem === '')
|
|
73
|
+
return instructions;
|
|
74
|
+
return (`## Configuration problem\n\n${configProblem}\n\n`
|
|
75
|
+
+ 'This configured connection was rejected at startup — see the reason above. '
|
|
76
|
+
+ 'Fix it and restart this server.\n\n'
|
|
77
|
+
+ (sitesAreSubstituted
|
|
78
|
+
? 'While this stands, the site names below are a SUBSTITUTE and a call '
|
|
79
|
+
+ 'that names one is refused. Call tools WITHOUT `site_id` — they run '
|
|
80
|
+
+ 'against the substitute site, and `sites_list` shows which one.\n\n'
|
|
81
|
+
: '')
|
|
82
|
+
+ `${instructions}`);
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=skill-instructions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-instructions.js","sourceRoot":"","sources":["../src/skill-instructions.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C,MAAM,MAAM,GAAG;;;;;;;;CAQd,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;CAmBtB,CAAC;AAEF,SAAS,YAAY;IACjB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAQ5B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,MAAM;SACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACP,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC3F,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,OAAO;;;;;;EAMT,OAAO;CACR,CAAC;AACF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,QAAuB,EACvB,YAA2B;IAE3B,MAAM,IAAI,GAAG,MAAM,GAAG,cAAc,GAAG,WAAW,CAAC,YAAY,CAAC,GAAG,YAAY,EAAE,CAAC;IAClF,MAAM,SAAS,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnF,MAAM,YAAY,GAAG,qBAAqB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACpE,OAAO,0BAA0B,CAC7B,YAAY,EACZ,QAAQ,EAAE,aAAa,IAAI,IAAI,EAC/B,QAAQ,EAAE,mBAAmB,IAAI,KAAK,CACzC,CAAC;AACN,CAAC;AAOD,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAetD,SAAS,WAAW,CAAC,YAA2B;IAC5C,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1C,IAAI,YAAY,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,EAAE,CAAC;IACnD,OAAO,KAAK,oBAAoB,OAAO,YAAY,CAAC,OAAO,IAAI,CAAC;AACpE,CAAC;AAiBD,SAAS,qBAAqB,CAAC,YAAoB,EAAE,YAA2B;IAC5E,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,YAAY,CAAC;IAC3F,OAAO,sEAAsE,YAAY,CAAC,OAAO,OAAO,YAAY,EAAE,CAAC;AAC3H,CAAC;AA6BD,MAAM,UAAU,0BAA0B,CACtC,YAAoB,EACpB,aAA4B,EAC5B,mBAAmB,GAAG,KAAK;IAE3B,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,EAAE;QAAE,OAAO,YAAY,CAAC;IACxE,OAAO,CACH,+BAA+B,aAAa,MAAM;UAChD,6EAA6E;UAC7E,qCAAqC;UAOrC,CAAC,mBAAmB;YAClB,CAAC,CAAC,sEAAsE;kBACpE,qEAAqE;kBACrE,oEAAoE;YACxE,CAAC,CAAC,EAAE,CAAC;UACP,GAAG,YAAY,EAAE,CACtB,CAAC;AACN,CAAC"}
|
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
|
-
/** Human-readable resource name surfaced in `resources/list`. */
|
|
51
3
|
export declare const SKILL_RESOURCE_NAME = "YT Builder MCP \u2014 Skill Guide";
|
|
52
|
-
/** Short description for `resources/list` consumers. */
|
|
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":"AAmDA,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,qBAAqB,CAAC;AAGlE,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAG3D,eAAO,MAAM,mBAAmB,sCAAiC,CAAC;AAGlE,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,18 @@
|
|
|
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
|
-
/** Stable URI under which the skill resource is exposed via MCP `resources/*`. */
|
|
51
4
|
export const SKILL_RESOURCE_URI = 'skill://yt-builder-mcp';
|
|
52
|
-
/** Human-readable resource name surfaced in `resources/list`. */
|
|
53
5
|
export const SKILL_RESOURCE_NAME = 'YT Builder MCP — Skill Guide';
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
'
|
|
57
|
-
|
|
6
|
+
export const SKILL_RESOURCE_DESCRIPTION = 'Full workflow guide for driving the YOOtheme Pro page builder via this MCP ' +
|
|
7
|
+
'server. Only a short preamble is auto-loaded as `instructions` at initialize ' +
|
|
8
|
+
'(Design E1, 2026-08-10) — fetch this resource, or call ' +
|
|
9
|
+
'yootheme_builder_get_skill({ topic }), for the complete guide.';
|
|
58
10
|
export const SKILL_RESOURCE_MIME_TYPE = 'text/markdown';
|
|
59
11
|
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
12
|
function resolveSkillPath() {
|
|
70
13
|
return resolve(__dirname, '..', 'skills', 'yt-builder-mcp', 'SKILL.md');
|
|
71
14
|
}
|
|
72
15
|
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
16
|
export function loadSkillContent(registry) {
|
|
88
17
|
if (cached === undefined) {
|
|
89
18
|
const path = resolveSkillPath();
|
|
@@ -94,39 +23,6 @@ export function loadSkillContent(registry) {
|
|
|
94
23
|
}
|
|
95
24
|
return appendSitesBlock(cached, registry);
|
|
96
25
|
}
|
|
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
26
|
export function appendSitesBlock(skillContent, registry) {
|
|
131
27
|
const rows = registry.listForDisplay();
|
|
132
28
|
if (rows.length === 0) {
|
|
@@ -142,49 +38,15 @@ export function appendSitesBlock(skillContent, registry) {
|
|
|
142
38
|
'omit it to use the default.\n';
|
|
143
39
|
return skillContent + block;
|
|
144
40
|
}
|
|
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
41
|
function escapeMarkdown(text) {
|
|
162
42
|
return text.replace(/([\\`*_[\]<>])/g, '\\$1');
|
|
163
43
|
}
|
|
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
44
|
function renderBullet(row) {
|
|
178
45
|
const platform = row.platform_resolved ?? row.platform_hint;
|
|
179
46
|
const label = escapeMarkdown(row.label ?? '(no label)');
|
|
180
47
|
const defaultSuffix = row.is_default ? ' · default' : '';
|
|
181
48
|
return `- \`${row.site_id}\` — ${label} · ${platform} · ${row.url}${defaultSuffix}`;
|
|
182
49
|
}
|
|
183
|
-
/**
|
|
184
|
-
* Reset the in-memory cache. Intended for tests only.
|
|
185
|
-
*
|
|
186
|
-
* @internal
|
|
187
|
-
*/
|
|
188
50
|
export function __resetSkillCacheForTests() {
|
|
189
51
|
cached = undefined;
|
|
190
52
|
}
|