@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,419 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Page-tool WRITE handlers — `page_save`, `page_publish`, `pages_create`,
|
|
3
|
-
* `pages_delete`. All implement the 3-phase progress contract
|
|
4
|
-
* (PHASE_SEND → PHASE_SERVER → PHASE_CONFIRM). PHASE_SERVER is emitted
|
|
5
|
-
* BEFORE the await so the synthetic intermediate fires even when the
|
|
6
|
-
* REST call ultimately errors — the dispatch IS the boundary, not the
|
|
7
|
-
* response.
|
|
8
|
-
*
|
|
9
|
-
* Split out of `src/tools/pages.ts` (Round-2 R2-A2-CRIT1).
|
|
10
|
-
* Extended with pages_create / pages_delete (v1.2 — C2 + C3).
|
|
11
|
-
*
|
|
12
|
-
* @license MIT
|
|
13
|
-
*/
|
|
14
|
-
import { detailResult } from '@getimo/mcp-toolkit';
|
|
15
|
-
import { z } from 'zod';
|
|
16
|
-
import { encodeTemplateId } from '../../client.js';
|
|
17
|
-
import { RestError } from '../../errors.js';
|
|
18
|
-
import { PHASE_CONFIRM, PHASE_SEND, PHASE_SERVER } from '../progress-phases.js';
|
|
19
|
-
import { createProgressReporter, errorResult, jsonResult, structuredResult, } from '../tool-builder.js';
|
|
20
|
-
// ─── page_save ──────────────────────────────────────────────────────
|
|
21
|
-
export async function handlePageSave(client, { template_id, etag, layout, dry_run, quick_check }, extra) {
|
|
22
|
-
const progress = extra ? createProgressReporter(extra) : null;
|
|
23
|
-
await progress?.report(0, 3, PHASE_SEND);
|
|
24
|
-
await progress?.report(1, 3, PHASE_SERVER);
|
|
25
|
-
try {
|
|
26
|
-
// F85: forward `layout` only when supplied so the historical save
|
|
27
|
-
// body (`{}`) is byte-unchanged for the re-run-transforms path.
|
|
28
|
-
// U3/F3: forward `dry_run` only when set (a preflight, no persist).
|
|
29
|
-
// Task 8: forward `quick_check` only when set (opt-in for save).
|
|
30
|
-
const body = {};
|
|
31
|
-
if (layout !== undefined)
|
|
32
|
-
body.layout = layout;
|
|
33
|
-
if (dry_run !== undefined)
|
|
34
|
-
body.dry_run = dry_run;
|
|
35
|
-
if (quick_check !== undefined)
|
|
36
|
-
body.quick_check = quick_check;
|
|
37
|
-
const data = await client.post(`/pages/${encodeTemplateId(template_id)}/save`, Object.keys(body).length > 0 ? { body, etag } : { etag });
|
|
38
|
-
await progress?.report(2, 3, PHASE_CONFIRM);
|
|
39
|
-
// U3/F3+F4: the REST response shape is freeform (no strict
|
|
40
|
-
// outputSchema on page_save), so the new `previous_layout` (F4
|
|
41
|
-
// rollback lever), `validation_report` (F3 dry-run), and the
|
|
42
|
-
// `render_error` carried by a 422 surface VERBATIM through jsonResult
|
|
43
|
-
// with no schema change.
|
|
44
|
-
return jsonResult(data);
|
|
45
|
-
}
|
|
46
|
-
catch (e) {
|
|
47
|
-
return errorResult({
|
|
48
|
-
error: e,
|
|
49
|
-
context: { template_id, etag, dry_run: dry_run ?? false },
|
|
50
|
-
hint: 'On 412 (precondition failed) the CURRENT ETag is already in this ' +
|
|
51
|
-
'error — retry immediately with the `current_etag` field (or the ' +
|
|
52
|
-
'value in the "current resource ETag (…)" message); only call ' +
|
|
53
|
-
'yootheme_builder_get_etag if you also need to re-read the layout. ' +
|
|
54
|
-
'On 422 the supplied `layout` failed validation: ' +
|
|
55
|
-
// U3/F1 — the double-nest reject. The single most common cause:
|
|
56
|
-
// feeding page_get_layout`s `.layout` (the FULL template node)
|
|
57
|
-
// back in verbatim.
|
|
58
|
-
'`layout_not_inner` / `layout_double_nested` mean you passed the ' +
|
|
59
|
-
'full template node (or a doubly-wrapped layout) — resend the INNER ' +
|
|
60
|
-
'{type:"layout",children:[...]} tree (its `.layout` child), NOT the ' +
|
|
61
|
-
'template node page_get_layout returns. ' +
|
|
62
|
-
// U3/F3 — the pre-write render refusal.
|
|
63
|
-
'`render_precheck_failed` means YOOtheme could not render the layout ' +
|
|
64
|
-
'(an invalid binding renders blank + saves silently); the error ' +
|
|
65
|
-
'`render_error` is the otherwise-swallowed YOOtheme message — fix the ' +
|
|
66
|
-
'bound source/field (item-level field-mappings belong in ' +
|
|
67
|
-
'`source_extended.props`, not `source.props`). ' +
|
|
68
|
-
'Other 422s (unknown element type / bad structure) carry `path` + ' +
|
|
69
|
-
'`element_type` pinpointing the node. Nothing is written on any 422. ' +
|
|
70
|
-
// U3/F3 — preflight + F4 rollback.
|
|
71
|
-
'Tip: pass `dry_run:true` to preflight the render without writing. On a ' +
|
|
72
|
-
'bad save, the prior success response`s `previous_layout` is the 1-call ' +
|
|
73
|
-
'rollback (resend it as `layout`).',
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
// ─── page_publish ───────────────────────────────────────────────────
|
|
78
|
-
/**
|
|
79
|
-
* F202 (P1): when the publish/dynamize response carries a `cms_warning` (the
|
|
80
|
-
* YT-layout is published but the backing CMS object — WP post / Joomla article
|
|
81
|
-
* — is NOT publicly visible: draft/future status, future publish_up, or no
|
|
82
|
-
* route), append it as a SALIENT trailing text block. The JSON leg already
|
|
83
|
-
* carries `cms_visibility` + `cms_warning`; the extra block makes the warning
|
|
84
|
-
* survive a long, context-rotted session where the agent skips parsing the
|
|
85
|
-
* payload and declares success on a page that 404s anonymously.
|
|
86
|
-
*
|
|
87
|
-
* No-op (returns the result unchanged) when there is no `cms_warning` — the
|
|
88
|
-
* publicly-visible happy path keeps its single-leg shape.
|
|
89
|
-
*/
|
|
90
|
-
function withCmsWarningText(result, data) {
|
|
91
|
-
if (typeof data !== 'object' || data === null) {
|
|
92
|
-
return result;
|
|
93
|
-
}
|
|
94
|
-
const warning = data.cms_warning;
|
|
95
|
-
if (typeof warning !== 'string' || warning === '') {
|
|
96
|
-
return result;
|
|
97
|
-
}
|
|
98
|
-
return {
|
|
99
|
-
...result,
|
|
100
|
-
content: [...result.content, { type: 'text', text: warning }],
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
export async function handlePagePublish(client, { template_id, etag, quick_check }, extra) {
|
|
104
|
-
const progress = extra ? createProgressReporter(extra) : null;
|
|
105
|
-
await progress?.report(0, 3, PHASE_SEND);
|
|
106
|
-
await progress?.report(1, 3, PHASE_SERVER);
|
|
107
|
-
try {
|
|
108
|
-
// Task 8: the publish QuickCheck is DEFAULT ON server-side. Forward a
|
|
109
|
-
// body ONLY when the caller explicitly set `quick_check` (`false` to
|
|
110
|
-
// opt out) so the historical `{ etag }`-only shape is byte-unchanged
|
|
111
|
-
// for the common default-on path.
|
|
112
|
-
const body = {};
|
|
113
|
-
if (quick_check !== undefined)
|
|
114
|
-
body.quick_check = quick_check;
|
|
115
|
-
const data = await client.post(`/pages/${encodeTemplateId(template_id)}/publish`, Object.keys(body).length > 0 ? { body, etag } : { etag });
|
|
116
|
-
await progress?.report(2, 3, PHASE_CONFIRM);
|
|
117
|
-
return withCmsWarningText(jsonResult(data), data);
|
|
118
|
-
}
|
|
119
|
-
catch (e) {
|
|
120
|
-
return errorResult({
|
|
121
|
-
error: e,
|
|
122
|
-
context: { template_id, etag },
|
|
123
|
-
hint: 'On 412 (precondition failed) the CURRENT ETag is already in this ' +
|
|
124
|
-
'error — retry immediately with the `current_etag` field (or the ' +
|
|
125
|
-
'value in the "current resource ETag (…)" message); only call ' +
|
|
126
|
-
'yootheme_builder_get_etag if you also need to re-read the layout.',
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* F12 (2026-06-09): collapse the friendly `published` boolean into the
|
|
132
|
-
* canonical `status` the PHP host understands.
|
|
133
|
-
*
|
|
134
|
-
* Precedence: an EXPLICIT `status` always wins — `published` is the
|
|
135
|
-
* ergonomic shortcut, not an override. So:
|
|
136
|
-
* - status given → use it verbatim (published ignored).
|
|
137
|
-
* - status absent + true → 'publish' (WP post_status=publish, Joomla state=1).
|
|
138
|
-
* - status absent + false/∅ → undefined (server applies its draft default).
|
|
139
|
-
*
|
|
140
|
-
* Returning `undefined` (rather than an explicit `'draft'`) for the
|
|
141
|
-
* default case preserves the existing wire shape — the server's Q6
|
|
142
|
-
* default-to-draft logic stays authoritative and the body byte-shape is
|
|
143
|
-
* unchanged for legacy callers that never sent `published`.
|
|
144
|
-
*/
|
|
145
|
-
export function resolveCreateStatus(status, published) {
|
|
146
|
-
if (status !== undefined)
|
|
147
|
-
return status;
|
|
148
|
-
if (published === true)
|
|
149
|
-
return 'publish';
|
|
150
|
-
return undefined;
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* `pages_create` — POST `/pages` with the provided body. On
|
|
154
|
-
* `dry_run:true`, the REST handler runs validation Layers 1+2+4
|
|
155
|
-
* without persisting and returns a dry-run report. On non-dry-run
|
|
156
|
-
* success, the REST handler returns 201 with the wire shape of
|
|
157
|
-
* `PAGES_CREATE_OUTPUT_SCHEMA`.
|
|
158
|
-
*/
|
|
159
|
-
export async function handlePagesCreate(client, input, extra) {
|
|
160
|
-
const progress = extra ? createProgressReporter(extra) : null;
|
|
161
|
-
await progress?.report(0, 3, PHASE_SEND);
|
|
162
|
-
await progress?.report(1, 3, PHASE_SERVER);
|
|
163
|
-
// F12: translate the `published` shortcut into the host-native
|
|
164
|
-
// `status` and DROP `published` from the wire body (the REST host has
|
|
165
|
-
// no such field). `status` is omitted entirely when neither an
|
|
166
|
-
// explicit status nor published:true was given, so the server's
|
|
167
|
-
// draft-default stays authoritative and the body shape is unchanged
|
|
168
|
-
// for legacy callers.
|
|
169
|
-
const { published: _published, status: _status, ...rest } = input;
|
|
170
|
-
const resolvedStatus = resolveCreateStatus(input.status, input.published);
|
|
171
|
-
const body = resolvedStatus !== undefined ? { ...rest, status: resolvedStatus } : rest;
|
|
172
|
-
try {
|
|
173
|
-
const data = await client.post('/pages', { body });
|
|
174
|
-
await progress?.report(2, 3, PHASE_CONFIRM);
|
|
175
|
-
return jsonResult(data);
|
|
176
|
-
}
|
|
177
|
-
catch (e) {
|
|
178
|
-
return errorResult({
|
|
179
|
-
error: e,
|
|
180
|
-
context: {
|
|
181
|
-
title: input.title,
|
|
182
|
-
slug: input.slug,
|
|
183
|
-
dry_run: input.dry_run ?? false,
|
|
184
|
-
},
|
|
185
|
-
hint: pagesCreateHint(e),
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* SOURCES_BINDING-20 — status-aware catch hint for `pages_create`.
|
|
191
|
-
*
|
|
192
|
-
* A 403 is a CAPABILITY denial (the resolved CMS user lacks core.create) — the
|
|
193
|
-
* SAME key keeps being denied, so the generic "re-submit without dry_run:true to
|
|
194
|
-
* actually create" advice directly CONTRADICTS the failure (a wet retry is
|
|
195
|
-
* denied identically). On a 403 give capability-specific guidance and NO
|
|
196
|
-
* dry-run/re-submit advice; keep the create/body-parse guidance for the other
|
|
197
|
-
* status classes it actually describes.
|
|
198
|
-
*/
|
|
199
|
-
function pagesCreateHint(e) {
|
|
200
|
-
if (e instanceof RestError && e.status === 403) {
|
|
201
|
-
return ('A 403 is a CAPABILITY denial, not a retryable error — re-submitting the same ' +
|
|
202
|
-
'request (wet or dry-run) is denied identically. The resolved CMS user lacks the ' +
|
|
203
|
-
'create capability (WordPress publish_pages / edit_pages, Joomla core.create on ' +
|
|
204
|
-
'com_content). Resolve/elevate the user behind this Bearer key, or verify the ACL, ' +
|
|
205
|
-
'then retry. Run yootheme_builder_diagnose to check auth + which user this key maps to.');
|
|
206
|
-
}
|
|
207
|
-
return ('Common issues: missing title (400), unknown element type in layout ' +
|
|
208
|
-
'(422), Builder pre-check failed (422 dry-run or wet). For dry-run: re-submit ' +
|
|
209
|
-
'without dry_run:true to actually create. ' +
|
|
210
|
-
// F95 (2026-06-10): a `body_parse_failed` 400 means the AI host TRUNCATED
|
|
211
|
-
// the arguments JSON in transit (a known failure mode for large inline
|
|
212
|
-
// `layout` payloads ~10KB+). Create with a small/empty layout first.
|
|
213
|
-
'On a `body_parse_failed` 400 the tool-call arguments were truncated in ' +
|
|
214
|
-
'transit (large inline `layout`): create the page with an empty/small ' +
|
|
215
|
-
'layout, then add elements one at a time via element_add / ' +
|
|
216
|
-
'element_bind_source instead of one giant inline `layout`.');
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* The recency reminder appended to every successful dynamize (research:
|
|
220
|
-
* checklist echo — keeps the "verify visually" step salient even in a
|
|
221
|
-
* long, context-rotted session). One line, by design (F98 rank-3:
|
|
222
|
-
* attention-dilution on a longer echo).
|
|
223
|
-
*/
|
|
224
|
-
const DYNAMIZE_SUCCESS_REMINDER = 'Verify one row visually against the original at the customer viewport before declaring success.';
|
|
225
|
-
/**
|
|
226
|
-
* `page_dynamize` — POST `/pages/dynamize`. THE one-call canonical path to
|
|
227
|
-
* dynamize an existing designed section: the server copies the reference
|
|
228
|
-
* subtree byte-identically and swaps only the mapped queries + leaf
|
|
229
|
-
* field-names (the recipe of `dynamize-existing-layout.md` as CODE), then
|
|
230
|
-
* creates the page through the same hardened create path. The 201 carries
|
|
231
|
-
* a `summary` self-check ({queries_swapped, leaves_remapped, leaves_kept,
|
|
232
|
-
* leaves_removed, unmatched_map_keys, kept_unresolvable}). A non-empty
|
|
233
|
-
* `unmatched_map_keys` means the agent mapped a field the reference subtree
|
|
234
|
-
* never bound; a non-zero `kept_unresolvable.count` means a sub-query panel
|
|
235
|
-
* had no flow field (its leaves render empty) — extend leaf_map with the
|
|
236
|
-
* qualified "<subquery>.<leaf>" keys and retry.
|
|
237
|
-
*/
|
|
238
|
-
export async function handlePageDynamize(client, input, extra) {
|
|
239
|
-
const progress = extra ? createProgressReporter(extra) : null;
|
|
240
|
-
await progress?.report(0, 3, PHASE_SEND);
|
|
241
|
-
await progress?.report(1, 3, PHASE_SERVER);
|
|
242
|
-
try {
|
|
243
|
-
const data = await client.post('/pages/dynamize', { body: input, etag: input.etag });
|
|
244
|
-
await progress?.report(2, 3, PHASE_CONFIRM);
|
|
245
|
-
// Append the one-line recency reminder as a trailing text block so
|
|
246
|
-
// the JSON leg stays byte-pure (parsers read content[0]) while the
|
|
247
|
-
// human + model see the verify-visually nudge.
|
|
248
|
-
const base = jsonResult(data);
|
|
249
|
-
const withReminder = {
|
|
250
|
-
...base,
|
|
251
|
-
content: [...base.content, { type: 'text', text: DYNAMIZE_SUCCESS_REMINDER }],
|
|
252
|
-
};
|
|
253
|
-
// F202: when a dynamize PUBLISHED to a draft/scheduled/unrouted CMS
|
|
254
|
-
// object, surface the cms_warning as a salient trailing block too.
|
|
255
|
-
return withCmsWarningText(withReminder, data);
|
|
256
|
-
}
|
|
257
|
-
catch (e) {
|
|
258
|
-
return errorResult({
|
|
259
|
-
error: e,
|
|
260
|
-
context: {
|
|
261
|
-
template_id: input.template_id,
|
|
262
|
-
section_name: input.section_name,
|
|
263
|
-
element_path: input.element_path,
|
|
264
|
-
list_source_name: input.list_source_name,
|
|
265
|
-
},
|
|
266
|
-
hint: 'On 404 section_not_found the error data lists `available_named_sections` — ' +
|
|
267
|
-
'pick one and retry. Provide EXACTLY ONE of section_name / element_path. ' +
|
|
268
|
-
'On 422 the dynamized layout failed validation (the `path` + `element_type` ' +
|
|
269
|
-
'pinpoint the node). On 412 refresh via yootheme_builder_get_etag and retry. ' +
|
|
270
|
-
'Check the response `summary.unmatched_map_keys` — a non-empty list means a ' +
|
|
271
|
-
'leaf_map key did not match any leaf in the reference subtree (typo, or wrong ' +
|
|
272
|
-
'reference section). Check `summary.kept_unresolvable` — a non-zero count means a ' +
|
|
273
|
-
'sub-query panel had no flow field; add the qualified "<subquery>.<leaf>" keys to ' +
|
|
274
|
-
'leaf_map and retry.',
|
|
275
|
-
});
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* `pages_delete` — DELETE `/pages/{post_id}` with confirm + force in the
|
|
280
|
-
* body. `force:false` (default) trashes via `wp_delete_post(false)`
|
|
281
|
-
* (recoverable via wp-admin). `force:true` hard-deletes the post
|
|
282
|
-
* (irrecoverable). The REST handler returns 200 with the wire shape of
|
|
283
|
-
* `PAGES_DELETE_OUTPUT_SCHEMA` on success.
|
|
284
|
-
*/
|
|
285
|
-
export async function handlePagesDelete(client, input, extra) {
|
|
286
|
-
const progress = extra ? createProgressReporter(extra) : null;
|
|
287
|
-
await progress?.report(0, 3, PHASE_SEND);
|
|
288
|
-
await progress?.report(1, 3, PHASE_SERVER);
|
|
289
|
-
try {
|
|
290
|
-
const data = await client.delete(`/pages/${encodeURIComponent(String(input.post_id))}`, {
|
|
291
|
-
body: {
|
|
292
|
-
confirm: input.confirm,
|
|
293
|
-
force: input.force ?? false,
|
|
294
|
-
},
|
|
295
|
-
});
|
|
296
|
-
await progress?.report(2, 3, PHASE_CONFIRM);
|
|
297
|
-
// Task #38 (2026-05-29): pages_delete declares
|
|
298
|
-
// `outputSchema: PAGES_DELETE_OUTPUT_SCHEMA` in builders.ts. The
|
|
299
|
-
// host therefore validates `structuredContent` and rejects with
|
|
300
|
-
// `-32602 Output validation error` when it is missing. Use
|
|
301
|
-
// `structuredResult` (mirrors handlePagesList et al.) so the
|
|
302
|
-
// text leg stays LLM-readable AND the structured leg validates.
|
|
303
|
-
const toolkitResult = jsonResult(data);
|
|
304
|
-
return structuredResult({ content: toolkitResult.content }, data);
|
|
305
|
-
}
|
|
306
|
-
catch (e) {
|
|
307
|
-
return errorResult({
|
|
308
|
-
error: e,
|
|
309
|
-
context: {
|
|
310
|
-
post_id: input.post_id,
|
|
311
|
-
force: input.force ?? false,
|
|
312
|
-
},
|
|
313
|
-
hint: 'Common issues: missing confirm:true (400), unknown post id (404), ' +
|
|
314
|
-
'post_type other than "page" (403). For permanent delete pass ' +
|
|
315
|
-
'force:true; default is trash (recoverable via wp-admin).',
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
// ─── template_set_type (N3 — archive/single TYPE assignment) ─────────
|
|
320
|
-
/**
|
|
321
|
-
* N3 (customer HANDOFF-5) — the `template_set_type` STRICT output schema.
|
|
322
|
-
*
|
|
323
|
-
* A default (strip) ZodObject so a strict (`additionalProperties:false`) host
|
|
324
|
-
* accepts the structuredContent and the shape-pin guard's `.strict()` re-parse
|
|
325
|
-
* passes. The success body the PHP `PagesController::set_type` returns is
|
|
326
|
-
* `{template_id, type, previous_type, etag, new_etag}` — EVERY key here must be
|
|
327
|
-
* DECLARED, else a strict MCP host -32602-rejects the success (the G2
|
|
328
|
-
* `changed_paths` lesson). `previous_type` folds the read of the prior assignment
|
|
329
|
-
* INTO the write response (the spec's "read of the current assignment").
|
|
330
|
-
*/
|
|
331
|
-
export const TEMPLATE_SET_TYPE_OUTPUT_SCHEMA = z.object({
|
|
332
|
-
template_id: z.string(),
|
|
333
|
-
// The NEW archive/single TYPE assignment now stored on the template.
|
|
334
|
-
type: z.string(),
|
|
335
|
-
// The PRIOR assignment (the read of the current type, folded in).
|
|
336
|
-
previous_type: z.string(),
|
|
337
|
-
// SOURCES_BINDING-16: the POST-WRITE ETag (== new_etag) — always safe to
|
|
338
|
-
// chain into the next write (was the pre-write input etag, which 412'd).
|
|
339
|
-
// On a dry_run nothing persists, so etag == new_etag == the current ETag.
|
|
340
|
-
etag: z.string(),
|
|
341
|
-
// The bumped ETag after the write — pass as `etag` on the next write.
|
|
342
|
-
new_etag: z.string(),
|
|
343
|
-
// PAGES_LIBRARY_MEDIA-14: present + true ONLY on a dry_run preflight (the
|
|
344
|
-
// re-type was validated + previewed but NOT persisted).
|
|
345
|
-
dry_run: z.boolean().optional(),
|
|
346
|
-
// PAGES_LIBRARY_MEDIA-14: whether the (dry-run) re-type would actually
|
|
347
|
-
// change the stored assignment (`type !== previous_type`).
|
|
348
|
-
would_change: z.boolean().optional(),
|
|
349
|
-
});
|
|
350
|
-
/**
|
|
351
|
-
* N3 — SET a theme template's archive/single TYPE assignment in ONE ETag-locked
|
|
352
|
-
* write. The `type` is forwarded VERBATIM to `POST /pages/<id>/type`; the PHP
|
|
353
|
-
* controller is the single place that validates the assignment + pointer-writes
|
|
354
|
-
* `templates.<id>.type` (the same field pages_list reads), folding the prior
|
|
355
|
-
* assignment into the response as `previous_type`. Theme-template-only — a
|
|
356
|
-
* per-page/article id is refused (422) by the controller.
|
|
357
|
-
*/
|
|
358
|
-
export async function handleTemplateSetType(client, { template_id, type, etag, dry_run }, extra) {
|
|
359
|
-
const progress = extra ? createProgressReporter(extra) : null;
|
|
360
|
-
await progress?.report(0, 3, PHASE_SEND);
|
|
361
|
-
await progress?.report(1, 3, PHASE_SERVER);
|
|
362
|
-
try {
|
|
363
|
-
const data = await client.post(`/pages/${encodeTemplateId(template_id)}/type`,
|
|
364
|
-
// PAGES_LIBRARY_MEDIA-14: forward `dry_run` only when set so an
|
|
365
|
-
// ordinary re-type stays byte-identical; the PHP branch previews
|
|
366
|
-
// without persisting.
|
|
367
|
-
{ body: { type, ...(dry_run ? { dry_run: true } : {}) }, etag });
|
|
368
|
-
await progress?.report(2, 3, PHASE_CONFIRM);
|
|
369
|
-
// Project to exactly the strict output-schema keys so structuredContent
|
|
370
|
-
// never carries an undeclared key (a strict host -32602-rejects extras).
|
|
371
|
-
// Fall back to request/sane values so the shape is always complete.
|
|
372
|
-
// SOURCES_BINDING-16: `etag` = the POST-WRITE etag (chainable), not the input.
|
|
373
|
-
const newEtag = typeof data.new_etag === 'string' ? data.new_etag : '';
|
|
374
|
-
const postWriteEtag = newEtag !== '' ? newEtag : (typeof data.etag === 'string' ? data.etag : etag);
|
|
375
|
-
const structured = {
|
|
376
|
-
template_id: typeof data.template_id === 'string' ? data.template_id : template_id,
|
|
377
|
-
type: typeof data.type === 'string' ? data.type : type,
|
|
378
|
-
previous_type: typeof data.previous_type === 'string' ? data.previous_type : '',
|
|
379
|
-
etag: postWriteEtag,
|
|
380
|
-
new_etag: newEtag,
|
|
381
|
-
// PAGES_LIBRARY_MEDIA-14: surface the dry-run preview flags when the
|
|
382
|
-
// PHP branch returned them (absent on a real persisted write).
|
|
383
|
-
...(typeof data.dry_run === 'boolean' ? { dry_run: data.dry_run } : {}),
|
|
384
|
-
...(typeof data.would_change === 'boolean'
|
|
385
|
-
? { would_change: data.would_change }
|
|
386
|
-
: {}),
|
|
387
|
-
};
|
|
388
|
-
const toolkitResult = detailResult({
|
|
389
|
-
title: 'Template type reassigned',
|
|
390
|
-
includeMeta: false,
|
|
391
|
-
groups: [
|
|
392
|
-
{
|
|
393
|
-
label: 'Archive/single TYPE assignment',
|
|
394
|
-
entries: [
|
|
395
|
-
{ key: 'template_id', label: 'Template', value: structured.template_id, format: 'text' },
|
|
396
|
-
{ key: 'previous_type', label: 'Previous type', value: structured.previous_type, format: 'badge' },
|
|
397
|
-
{ key: 'type', label: 'New type', value: structured.type, format: 'badge' },
|
|
398
|
-
{ key: 'new_etag', label: 'New ETag', value: structured.new_etag, format: 'badge', copyable: true },
|
|
399
|
-
],
|
|
400
|
-
},
|
|
401
|
-
],
|
|
402
|
-
});
|
|
403
|
-
return structuredResult(toolkitResult, structured);
|
|
404
|
-
}
|
|
405
|
-
catch (e) {
|
|
406
|
-
return errorResult({
|
|
407
|
-
error: e,
|
|
408
|
-
context: { template_id, type },
|
|
409
|
-
hint: 'On 412 refresh the ETag via yootheme_builder_get_etag and retry; on 428 ' +
|
|
410
|
-
'an ETag is REQUIRED (call get_etag first). On 422 `type_not_assignable` ' +
|
|
411
|
-
'the id is a per-page/article layout (page:/article: prefix) — those have ' +
|
|
412
|
-
'no archive/single assignment; pick a THEME template id via ' +
|
|
413
|
-
'yootheme_builder_pages_list. On 422 `invalid_type` pass a valid ' +
|
|
414
|
-
'assignment token (e.g. "taxonomy-category_help", "single-example_help", ' +
|
|
415
|
-
'"template"). On 404 verify template_id via yootheme_builder_pages_list.',
|
|
416
|
-
});
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
//# sourceMappingURL=handlers-write.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handlers-write.js","sourceRoot":"","sources":["../../../src/tools/pages/handlers-write.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `pages/target` — the shared SEMANTIC-TARGET wire helper (Task A-6 of the
|
|
3
|
-
* single-page-audit plan, 2026-07-22-02).
|
|
4
|
-
*
|
|
5
|
-
* `pages_audit` and `pages_resolve` both accept the same `target` object —
|
|
6
|
-
* exactly ONE of `template_id` | `post_id` | `url` | `special` | `title` — and
|
|
7
|
-
* both must put it on the wire in the ONE encoding the PHP side parses:
|
|
8
|
-
* BRACKET query params (`target[special]=home`). WordPress
|
|
9
|
-
* (`WP_REST_Request['target']`) and Joomla (`Input::get`) both inflate
|
|
10
|
-
* `target%5Bspecial%5D=home` into a nested array natively, and the native
|
|
11
|
-
* transports receive the structured object as-is — one name, byte-identical
|
|
12
|
-
* parity across all three transports.
|
|
13
|
-
*
|
|
14
|
-
* TWO rules are encoded here rather than in the Zod schema, deliberately:
|
|
15
|
-
*
|
|
16
|
-
* 1. NORMALIZATION mirrors PHP `PageQuery::normalizeTarget()` verbatim —
|
|
17
|
-
* non-scalar and blank members are DROPPED, so `{special: ''}` is "no
|
|
18
|
-
* target", not "an empty special". Without this the two sides disagree
|
|
19
|
-
* about how many targets were supplied.
|
|
20
|
-
* 2. EXACTLY-ONE-OF is validated in the HANDLER, never as a zod `.refine`.
|
|
21
|
-
* This is the F205 lesson (`gateway/advanced-read-tool.ts`): an
|
|
22
|
-
* SDK-level schema rejection surfaces as a raw `-32602` and bypasses
|
|
23
|
-
* every piece of typed steering the tool provides. A typed
|
|
24
|
-
* `too_many_targets` result keeps the agent in the loop.
|
|
25
|
-
*
|
|
26
|
-
* @license MIT
|
|
27
|
-
*/
|
|
28
|
-
import { type ToolResult } from '../tool-builder.js';
|
|
29
|
-
import { TARGET_KEYS } from './schemas.js';
|
|
30
|
-
export type TargetKey = (typeof TARGET_KEYS)[number];
|
|
31
|
-
/**
|
|
32
|
-
* The permissive `target` argument as the Zod input schema hands it over —
|
|
33
|
-
* every member optional (the exactly-one-of contract is a HANDLER rule, see
|
|
34
|
-
* the file docblock).
|
|
35
|
-
*/
|
|
36
|
-
export interface PagesTarget {
|
|
37
|
-
readonly template_id?: string;
|
|
38
|
-
readonly post_id?: number | string;
|
|
39
|
-
readonly url?: string;
|
|
40
|
-
readonly special?: string;
|
|
41
|
-
readonly title?: string;
|
|
42
|
-
}
|
|
43
|
-
/** A target reduced to its non-blank, scalar members (PHP-parity shape). */
|
|
44
|
-
export type NormalizedTarget = Partial<Record<TargetKey, string>>;
|
|
45
|
-
/**
|
|
46
|
-
* Drop non-scalar / blank members and stringify the rest — the TS mirror of
|
|
47
|
-
* PHP `PageQuery::normalizeTarget()`. An absent target and an all-blank target
|
|
48
|
-
* both normalize to `{}`, which every caller reads as "no target ⇒ site sweep".
|
|
49
|
-
*/
|
|
50
|
-
export declare function normalizeTarget(target: PagesTarget | undefined): NormalizedTarget;
|
|
51
|
-
/** The keys actually supplied, in canonical order (0 = no target). */
|
|
52
|
-
export declare function targetKeysOf(target: NormalizedTarget): TargetKey[];
|
|
53
|
-
/**
|
|
54
|
-
* BUG-4 — the typed "you SENT a target, but none of it survived normalisation"
|
|
55
|
-
* failure, or `null` when there is nothing to complain about. The TS half of
|
|
56
|
-
* PHP `PageQuery::malformedTargetError()`, with the SAME predicate, the SAME
|
|
57
|
-
* code and the SAME status, so the rule reads identically wherever it fires.
|
|
58
|
-
*
|
|
59
|
-
* {@see normalizeTarget} deliberately DROPS blank and non-scalar members, so
|
|
60
|
-
* `{special: ''}`, `{title: ' '}` and `{post_id: null}` all normalise to
|
|
61
|
-
* `{}`. Every caller reads `{}` as "no target ⇒ site sweep" — which for
|
|
62
|
-
* `pages_audit` meant answering a plainly single-page request with a 200 over
|
|
63
|
-
* the WHOLE SITE, carrying no scope marker and no error. The version-skew guard
|
|
64
|
-
* could not catch it either: that guard is itself gated on `hasTarget`, which
|
|
65
|
-
* this input makes false. An agent templating `target: { title: pageName }`
|
|
66
|
-
* where `pageName` resolved to `''` got the whole site back and presented it as
|
|
67
|
-
* the audit of the page it meant — the exact wrong-findings-wrong-page class
|
|
68
|
-
* `serverTooOldError` exists to prevent.
|
|
69
|
-
*
|
|
70
|
-
* An EMPTY OBJECT is NOT malformed: `target: {}` means "no target" by
|
|
71
|
-
* documented contract (PHP returns null for `$raw === []`, and a test pins it).
|
|
72
|
-
* Only a bag that HAS members, none of which is a usable address, is flagged.
|
|
73
|
-
*
|
|
74
|
-
* Kept next to `normalizeTarget` — the two belong together, and a per-handler
|
|
75
|
-
* copy is exactly the drift the shared front door exists to prevent.
|
|
76
|
-
*
|
|
77
|
-
* @param raw The caller's target bag, BEFORE normalisation.
|
|
78
|
-
* @param normalized The {@see normalizeTarget} result for that bag.
|
|
79
|
-
*/
|
|
80
|
-
export declare function malformedTargetError(raw: PagesTarget | undefined, normalized: NormalizedTarget, opts: {
|
|
81
|
-
context: Record<string, unknown>;
|
|
82
|
-
hint: string;
|
|
83
|
-
}): ToolResult | null;
|
|
84
|
-
/**
|
|
85
|
-
* Append the normalized target to a querystring as BRACKET params —
|
|
86
|
-
* `target[special]=home`. `URLSearchParams` percent-encodes the brackets
|
|
87
|
-
* (`target%5Bspecial%5D`); PHP url-decodes a parameter NAME before splitting
|
|
88
|
-
* it on `[`, so both CMSes inflate it into the nested array the controllers
|
|
89
|
-
* read.
|
|
90
|
-
*/
|
|
91
|
-
export declare function appendTargetParams(qs: URLSearchParams, target: NormalizedTarget): void;
|
|
92
|
-
/**
|
|
93
|
-
* Is this thrown value a TYPED target failure from the host's pages domain?
|
|
94
|
-
*
|
|
95
|
-
* Distinguishes a request-SHAPE answer (the address matched nothing / several
|
|
96
|
-
* things / an unsupported role) from a transport or capability failure. A WP
|
|
97
|
-
* `rest_no_route` 404 (the route does not exist — the plugin predates the
|
|
98
|
-
* feature) is deliberately NOT one of these: it carries WordPress's own code,
|
|
99
|
-
* not ours, so the "update the plugin" gate keeps firing for it.
|
|
100
|
-
*/
|
|
101
|
-
export declare function isTypedTargetError(e: unknown): boolean;
|
|
102
|
-
/**
|
|
103
|
-
* BUG-3 / MM-5 — the ONE recovery hint for a typed target failure, shared by
|
|
104
|
-
* `pages_resolve` and `pages_audit`.
|
|
105
|
-
*
|
|
106
|
-
* Hoisted here because the two tools answer the SAME error family and used to
|
|
107
|
-
* disagree: `pages_resolve` branched on `hasTarget` and said this, while
|
|
108
|
-
* `pages_audit` sent every typed failure into its generic catch — "Run
|
|
109
|
-
* yootheme_builder_diagnose to verify auth + that the host plugin is
|
|
110
|
-
* reachable". That points an agent at a connectivity problem when the fault is
|
|
111
|
-
* its own request shape (the failure mode `typesConflictsWithTargetError`'s
|
|
112
|
-
* docblock was written to prevent), costs a round-trip on a diagnose that comes
|
|
113
|
-
* back green, and leaves no steer toward the actual fix.
|
|
114
|
-
*/
|
|
115
|
-
export declare const TARGET_FAILURE_HINT: string;
|
|
116
|
-
/**
|
|
117
|
-
* The typed "you addressed more than one page" failure (F205: a handler
|
|
118
|
-
* error, never a schema rejection). Shared so `pages_audit` and
|
|
119
|
-
* `pages_resolve` fail with the SAME code and the same steer.
|
|
120
|
-
*
|
|
121
|
-
* `status: 400` is the status the PHP controllers return for the identical
|
|
122
|
-
* clash, so a caller that keys on status sees one contract whether the check
|
|
123
|
-
* fired locally or upstream.
|
|
124
|
-
*/
|
|
125
|
-
export declare function tooManyTargetsError(opts: {
|
|
126
|
-
supplied: readonly string[];
|
|
127
|
-
context: Record<string, unknown>;
|
|
128
|
-
}): ToolResult;
|
|
129
|
-
/**
|
|
130
|
-
* The typed "a single-target audit cannot also filter by `types`" failure
|
|
131
|
-
* (Key decision 11 — fail-explicit, never a silent winner).
|
|
132
|
-
*
|
|
133
|
-
* PHP `PageAuditService::audit()` refuses the same clash, so without a local
|
|
134
|
-
* pre-check the request went out, came back 400, and landed in the caller's
|
|
135
|
-
* GENERIC catch — whose hint reads "Run yootheme_builder_diagnose to verify
|
|
136
|
-
* auth + that the host plugin is reachable". That points an agent at a
|
|
137
|
-
* connectivity problem when the fault is its own request shape, and burns a
|
|
138
|
-
* round-trip to do it. Code and status mirror the PHP side exactly so a caller
|
|
139
|
-
* sees ONE contract wherever the check fired.
|
|
140
|
-
*/
|
|
141
|
-
export declare function typesConflictsWithTargetError(opts: {
|
|
142
|
-
context: Record<string, unknown>;
|
|
143
|
-
}): ToolResult;
|
|
144
|
-
/**
|
|
145
|
-
* The typed "this host predates single-target addressing" failure.
|
|
146
|
-
*
|
|
147
|
-
* The 404 capability gate does NOT cover this case: a host plugin that
|
|
148
|
-
* predates the feature IGNORES the unknown `target` query params and answers
|
|
149
|
-
* HTTP 200 with a FULL SITE SWEEP. Handing that back would report whole-site
|
|
150
|
-
* findings as "the audit of your homepage" — wrong findings attributed to the
|
|
151
|
-
* wrong page. So the caller REQUIRES positive proof of scoping and routes
|
|
152
|
-
* everything else here.
|
|
153
|
-
*
|
|
154
|
-
* `status: 426` (Upgrade Required) is SYNTHETIC — the transport call itself
|
|
155
|
-
* succeeded; the status names what has to happen, mirroring how the 404 gate
|
|
156
|
-
* turns a route-absent response into an update-the-plugin steer.
|
|
157
|
-
*/
|
|
158
|
-
export declare function serverTooOldError(opts: {
|
|
159
|
-
message: string;
|
|
160
|
-
context: Record<string, unknown>;
|
|
161
|
-
}): ToolResult;
|
|
162
|
-
//# sourceMappingURL=target.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"target.d.ts","sourceRoot":"","sources":["../../../src/tools/pages/target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,4EAA4E;AAC5E,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAElE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,gBAAgB,CAWjF;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,EAAE,CAElE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAChC,GAAG,EAAE,WAAW,GAAG,SAAS,EAC5B,UAAU,EAAE,gBAAgB,EAC5B,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzD,UAAU,GAAG,IAAI,CAoBnB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAKtF;AAkBD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAEtD;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,QAGuC,CAAC;AAExE;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACtC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,UAAU,CAgBb;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAChD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,UAAU,CAeb;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,UAAU,CAcb"}
|