@wootsup/yt-builder-mcp 1.12.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 +128 -30
- package/bin/node-floor.d.ts +28 -0
- package/bin/node-floor.js +123 -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 +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 +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 +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 +1 -85
- package/dist/diagnostics/doctor.d.ts.map +1 -1
- package/dist/diagnostics/doctor.js +5 -90
- 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 +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 +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 +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 +0 -55
- 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 +29 -78
- 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 +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 +28 -60
- 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 +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 +46 -232
- 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 +706 -454
- 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 +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 +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 +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 +4 -4
- package/skills/yt-builder-mcp/SKILL.md +1857 -400
- 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
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { RestError } from '../../errors.js';
|
|
3
|
+
import { PHASE_CONFIRM, PHASE_SEND, PHASE_SERVER } from '../progress-phases.js';
|
|
4
|
+
import { SITE_ID_SCHEMA } from '../shared-schemas.js';
|
|
5
|
+
import { asModuleId, MODULE_ID_SCHEMA } from './module-id-schema.js';
|
|
6
|
+
import { FIELD_HINTS, hintFor, UPDATE_PLACEMENT_HINTS } from './placement-hints.js';
|
|
7
|
+
import { createProgressReporter, errorResult, jsonResult, } from '../tool-builder.js';
|
|
8
|
+
export const MODULES_UPDATE_INPUT = {
|
|
9
|
+
site_id: SITE_ID_SCHEMA,
|
|
10
|
+
id: MODULE_ID_SCHEMA.describe('The widget id (WordPress, e.g. "custom_html-2") or module id (Joomla, numeric, e.g. ' +
|
|
11
|
+
'"42"). A bare number is accepted for the Joomla form. Letters, digits, "_" and "-" ' +
|
|
12
|
+
'only (the addressable set the plugin REST route captures). Copy from ' +
|
|
13
|
+
'yootheme_builder_local_content_read(kind:"modules") or a page\'s modules_by_page ' +
|
|
14
|
+
'(page_get_layout / pages_audit with include_modules:true).'),
|
|
15
|
+
title: z
|
|
16
|
+
.string()
|
|
17
|
+
.optional()
|
|
18
|
+
.describe('The widget/module title. Stored byte-identical to what you send — never sanitized. A ' +
|
|
19
|
+
'"dangerous"-looking value is never rewritten; it is either stored verbatim or the ' +
|
|
20
|
+
'call is rejected. REJECTED with a 400 on a WordPress `block` widget: that type has ' +
|
|
21
|
+
'NO title at all (its instance is `{content}` only) and WordPress never renders one, ' +
|
|
22
|
+
'so a stored title would be invisible on the site while the read surface reported it ' +
|
|
23
|
+
'as real. Put the heading in the block markup instead.'),
|
|
24
|
+
content: z
|
|
25
|
+
.string()
|
|
26
|
+
.optional()
|
|
27
|
+
.describe('The widget/module BODY — the markup a visitor sees. Stored byte-identical: no ' +
|
|
28
|
+
'wp_kses, no strip_tags, no entity encoding. Widget content IS markup, so a value is ' +
|
|
29
|
+
'either stored verbatim or the call is rejected, never rewritten. WordPress: written ' +
|
|
30
|
+
'to the instance key this widget TYPE uses (custom_html/block → content, text → ' +
|
|
31
|
+
'text). Joomla: the #__modules.content column. REJECTED with a 400 for a type that ' +
|
|
32
|
+
'has no body (WordPress: an id_base outside the catalogue; Joomla: mod_menu, which ' +
|
|
33
|
+
'renders from its params) — the message names the types that do. To change wording ' +
|
|
34
|
+
'without touching placement, send content alone: every field you omit stays ' +
|
|
35
|
+
'byte-identical.'),
|
|
36
|
+
position: z
|
|
37
|
+
.string()
|
|
38
|
+
.optional()
|
|
39
|
+
.describe('WordPress: the sidebar/widget-area id to move the widget into (implies active:true — ' +
|
|
40
|
+
'combining with active:false is refused, not guessed). Joomla: the module POSITION ' +
|
|
41
|
+
'string (e.g. "sidebar-a"), moved via a plain column update (no active coupling). ' +
|
|
42
|
+
'Sending "" CLEARS the position on Joomla: a module with no position is a native ' +
|
|
43
|
+
'state there, the one placement:"module_element" already produces. WordPress refuses ' +
|
|
44
|
+
'"" instead, because a widget exists only while it sits in a registered area, so ' +
|
|
45
|
+
'there is nothing to move it to; send active:false to park it in wp_inactive_widgets, ' +
|
|
46
|
+
'and name a position again to bring it back. A position of nothing but blank space is ' +
|
|
47
|
+
'refused on both: that is a value, not an intent. ' +
|
|
48
|
+
'When the server cannot vouch for the value — the site list was not readable from ' +
|
|
49
|
+
'here AND the name is not one of builder-1..builder-6 — it is written anyway and the ' +
|
|
50
|
+
'answer carries position_verified:false. That field is ABSENT both when the value was ' +
|
|
51
|
+
'vouched for and when this call wrote no position at all, so read after.position to ' +
|
|
52
|
+
'tell those two apart. A dry_run never carries it, and neither does an update that ' +
|
|
53
|
+
'names no position: the flag reports on a position THIS call wrote, never on the one ' +
|
|
54
|
+
'the module already had. ' +
|
|
55
|
+
'One consequence this call CAN have is reported in notes rather than refused: if a ' +
|
|
56
|
+
'Module/Widget element already embeds this module and you move it to a position that ' +
|
|
57
|
+
'renders it on its own (a real theme position or widget area, not builder-1..builder-6), ' +
|
|
58
|
+
'it will render TWICE from then on — once through each element and once through the ' +
|
|
59
|
+
'position. The note names the elements and how to get back to one appearance. ' +
|
|
60
|
+
'modules_create refuses that same combination up front; this verb has no placement ' +
|
|
61
|
+
'argument to refuse it with, and both platforms allow the move in their own UI.'),
|
|
62
|
+
active: z
|
|
63
|
+
.boolean()
|
|
64
|
+
.optional()
|
|
65
|
+
.describe('WordPress: true/false toggles between a real widget area and the "inactive widgets" ' +
|
|
66
|
+
'bucket. active:true ALONE is only valid when the widget is already placed in a real ' +
|
|
67
|
+
'area — WordPress keeps no "restore to X" memory for an inactive widget, so reactivating ' +
|
|
68
|
+
'one that is currently inactive/unplaced REQUIRES position too (never guessed). Joomla: ' +
|
|
69
|
+
'the `published` column AND the publish_up/publish_down window — the SAME derivation ' +
|
|
70
|
+
'local_content_read uses, so a module scheduled for the future already reads ' +
|
|
71
|
+
'active:false. active:true is REJECTED with a 409 (blocked_by_cms_state) while that ' +
|
|
72
|
+
'window would still leave it "scheduled"/"expired": your request is fine and the CMS ' +
|
|
73
|
+
'is not, which is what separates that code from a 400. This tool never writes the ' +
|
|
74
|
+
'scheduling columns and will not promise an activation it cannot deliver. Independent ' +
|
|
75
|
+
'of position.'),
|
|
76
|
+
showtitle: z
|
|
77
|
+
.boolean()
|
|
78
|
+
.optional()
|
|
79
|
+
.describe('Joomla ONLY — whether the module title renders (its own DB column). WordPress REJECTS ' +
|
|
80
|
+
'this key with a 400: on WordPress showtitle instead lives INSIDE theme_overlay. ' +
|
|
81
|
+
'Read it back as the `showtitle` field of the local_content_read modules row ' +
|
|
82
|
+
'(both platforms).'),
|
|
83
|
+
ordering: z
|
|
84
|
+
.number()
|
|
85
|
+
.int()
|
|
86
|
+
.optional()
|
|
87
|
+
.describe('Joomla ONLY — the module\'s position-relative ordering. WordPress rejects this key.'),
|
|
88
|
+
access: z
|
|
89
|
+
.number()
|
|
90
|
+
.int()
|
|
91
|
+
.positive()
|
|
92
|
+
.optional()
|
|
93
|
+
.describe('Joomla ONLY — the module\'s VIEW LEVEL (a row id in #__viewlevels; 1 = Public on a stock ' +
|
|
94
|
+
'install). Not a flag: Joomla filters modules with ' +
|
|
95
|
+
'`access IN (authorised view levels)`, and 0 is in NOBODY\'s set — not even a Super ' +
|
|
96
|
+
'User\'s — so a module at access:0 renders for no one while looking published. Send ' +
|
|
97
|
+
'access:1 to repair such a module (this is what local_content_read reports as ' +
|
|
98
|
+
'builder_visible:false). Must be a POSITIVE integer: 0 is refused, because 0 is the ' +
|
|
99
|
+
'very state being repaired. WordPress rejects this key.'),
|
|
100
|
+
assignment: z
|
|
101
|
+
.object({
|
|
102
|
+
mode: z
|
|
103
|
+
.enum(['all', 'none', 'selected', 'except'])
|
|
104
|
+
.describe('all: every page. none: nowhere. selected: only menu_ids. except: every page but menu_ids.'),
|
|
105
|
+
menu_ids: z
|
|
106
|
+
.array(z.number().int().positive())
|
|
107
|
+
.optional()
|
|
108
|
+
.describe('Required (non-empty) for mode "selected"/"except"; must be OMITTED for "all"/"none". ' +
|
|
109
|
+
'Always POSITIVE integers — the mode already encodes include vs. exclude, so a ' +
|
|
110
|
+
'negative id here would double-encode the direction.'),
|
|
111
|
+
})
|
|
112
|
+
.optional()
|
|
113
|
+
.describe('Joomla ONLY — page assignment, rewritten TRANSACTIONALLY in `#__modules_menu`. WordPress ' +
|
|
114
|
+
'rejects this key: WordPress has no per-page module-assignment concept.'),
|
|
115
|
+
theme_overlay: z
|
|
116
|
+
.record(z.string(), z.union([z.string(), z.boolean(), z.number()]))
|
|
117
|
+
.optional()
|
|
118
|
+
.describe('The theme display-overlay — WordPress `_theme` (17 keys, incl. showtitle) vs. Joomla ' +
|
|
119
|
+
'`params.yoo_config` (18 keys, incl. language_parent_icon/language_icon INSTEAD of ' +
|
|
120
|
+
'showtitle). The two key lists DIFFER; an unknown key for the target platform (or a ' +
|
|
121
|
+
'wrong value type) is REJECTED with a 400 naming every allowed key — never dropped, ' +
|
|
122
|
+
'never coerced. MERGES onto the stored overlay: a key you OMIT keeps its CURRENT stored ' +
|
|
123
|
+
'value; only the keys you explicitly include are written. To learn the exact keys, first ' +
|
|
124
|
+
'call with an empty theme_overlay:{} and read the 400\'s allowed-keys list, or dry_run ' +
|
|
125
|
+
'and inspect `before.theme_overlay`.'),
|
|
126
|
+
dry_run: z
|
|
127
|
+
.boolean()
|
|
128
|
+
.optional()
|
|
129
|
+
.describe('DEFAULT true — a call without it inspects and writes NOTHING, returning the ' +
|
|
130
|
+
'{before, after, changed, notes, after_read_back} diff of what a real write WOULD do. ' +
|
|
131
|
+
'Pass false to persist. ' +
|
|
132
|
+
'The two answers can differ in ONE way, deliberately, and only on JOOMLA: a real ' +
|
|
133
|
+
'write there RE-READS the stored module after committing and reports `after` (and ' +
|
|
134
|
+
'`changed`) as what it read back, so a field that did not land is reported at its ' +
|
|
135
|
+
'STORED value plus a note naming the divergence — and if that verification read ' +
|
|
136
|
+
'itself fails, the REQUESTED value is kept and a note says it is unverified. On ' +
|
|
137
|
+
'WORDPRESS there is no read-back: `after` is what you requested, and a write that ' +
|
|
138
|
+
'does not persist is raised as an ERROR rather than shown as a diverging `after`. ' +
|
|
139
|
+
'A dry run cannot know any of that in advance. ' +
|
|
140
|
+
'`after_read_back` lists exactly the keys whose `after` was READ OUT OF STORAGE, so ' +
|
|
141
|
+
'a key named in `changed` but ABSENT from `after_read_back` is a transition that was ' +
|
|
142
|
+
'requested and never measured — check it before treating it as landed. It is `[]` ' +
|
|
143
|
+
'for every dry run (nothing was written) and on WordPress (no read-back at all); ' +
|
|
144
|
+
'that is a plain statement, not a failure. Read `notes` whenever it is NON-EMPTY: ' +
|
|
145
|
+
'notes accompany a non-empty `changed` too, not only an empty one.'),
|
|
146
|
+
};
|
|
147
|
+
export async function handleModulesUpdate(client, input, extra) {
|
|
148
|
+
const { id, dry_run, ...rest } = input;
|
|
149
|
+
const progress = extra ? createProgressReporter(extra) : null;
|
|
150
|
+
await progress?.report(0, 3, PHASE_SEND);
|
|
151
|
+
await progress?.report(1, 3, PHASE_SERVER);
|
|
152
|
+
const body = { dry_run: dry_run ?? true };
|
|
153
|
+
for (const [key, value] of Object.entries(rest)) {
|
|
154
|
+
if (value !== undefined) {
|
|
155
|
+
body[key] = value;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
try {
|
|
159
|
+
const data = await client.post(`/modules/${encodeURIComponent(asModuleId(id))}`, { body });
|
|
160
|
+
await progress?.report(3, 3, PHASE_CONFIRM);
|
|
161
|
+
return jsonResult(data);
|
|
162
|
+
}
|
|
163
|
+
catch (e) {
|
|
164
|
+
const code = e instanceof RestError ? (e.code ?? '') : '';
|
|
165
|
+
return errorResult({
|
|
166
|
+
error: e,
|
|
167
|
+
context: { id },
|
|
168
|
+
hint: hintFor(UPDATE_PLACEMENT_HINTS, code) ??
|
|
169
|
+
hintFor(FIELD_HINTS, code) ??
|
|
170
|
+
'On 400 invalid_field: the key is unknown OR wrong for this platform (e.g. showtitle on ' +
|
|
171
|
+
'WordPress, or settings/params/content on either) — the error names every allowed key. ' +
|
|
172
|
+
'On 404: the id does not exist — re-check via yootheme_builder_local_content_read(kind:' +
|
|
173
|
+
'"modules"). A dry_run:true call never writes and is always safe to retry.',
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=modules-update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modules-update.js","sourceRoot":"","sources":["../../../src/tools/modules/modules-update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const PLACEMENT_HINTS: Readonly<Record<string, string>>;
|
|
2
|
+
export declare const UPDATE_PLACEMENT_HINTS: Readonly<Record<string, string>>;
|
|
3
|
+
export declare function hintFor(table: Readonly<Record<string, string>>, code: string): string | undefined;
|
|
4
|
+
export declare const FIELD_HINTS: Readonly<Record<string, string>>;
|
|
5
|
+
//# sourceMappingURL=placement-hints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placement-hints.d.ts","sourceRoot":"","sources":["../../../src/tools/modules/placement-hints.ts"],"names":[],"mappings":"AA2HA,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyC5D,CAAC;AA8EF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAenE,CAAC;AAwBF,wBAAgB,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEjG;AAwDD,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqCxD,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
export const PLACEMENT_HINTS = {
|
|
2
|
+
'yootheme_builder_mcp.modules.placement_not_chosen': '`placement` was missing or not one of position, module_element, or ' +
|
|
3
|
+
'position_element. The error carries BOTH halves of the answer: `ways`, every way this ' +
|
|
4
|
+
'platform can reach a page with its reach and a summary, and `notes`, what modules_create ' +
|
|
5
|
+
'can build and when no module is needed at all. Read the notes, pick a way, and resend the ' +
|
|
6
|
+
'call with its `placement` value set. A dry_run:true call never creates anything and is ' +
|
|
7
|
+
'always safe to retry.',
|
|
8
|
+
'yootheme_builder_mcp.modules.placement_needs_a_position': 'The placement you chose NEEDS a `position` and the call carried none. The ways that do ' +
|
|
9
|
+
'take different values: placement:"position" takes a real template position or widget ' +
|
|
10
|
+
'area, and the error names the ones this site declares; placement:"position_element" ' +
|
|
11
|
+
'takes one of builder-1 to builder-6. (On WORDPRESS placement:"module_element" needs one ' +
|
|
12
|
+
'too, and takes builder-1 to builder-6: a widget exists only inside a registered area, so ' +
|
|
13
|
+
'there is no positionless widget for this tool to create. On JOOMLA that placement needs ' +
|
|
14
|
+
'none, because a module with no position is a native state there.) Resend the SAME ' +
|
|
15
|
+
'placement with `position` set; switching placement to get past this builds something ' +
|
|
16
|
+
'other than what you asked for. A dry_run:true call never creates anything and is always ' +
|
|
17
|
+
'safe to retry.',
|
|
18
|
+
'yootheme_builder_mcp.modules.placement_position_unknown': 'The `position` you named is not one this site can use, so the server refused instead of ' +
|
|
19
|
+
'parking the module where nothing renders it. Neither CMS refuses this on its own, which ' +
|
|
20
|
+
'is why the check is here. Take the next value from the MESSAGE: it is already narrowed ' +
|
|
21
|
+
'to the placement you chose. If it offers none, the message says which of two things ' +
|
|
22
|
+
'that means: either this site declares no template position this placement could use, ' +
|
|
23
|
+
'or its list could not be read from here, which is not the same thing. ' +
|
|
24
|
+
'`placement:"position"` takes a template position or widget ' +
|
|
25
|
+
'area this site declares; `placement:"position_element"` takes `builder-1` to ' +
|
|
26
|
+
'`builder-6` and nothing else; `placement:"module_element"` takes `builder-1` to ' +
|
|
27
|
+
'`builder-6` and no template position at all (those six are REQUIRED on WordPress ' +
|
|
28
|
+
'since 2026-08-08 and optional on Joomla, where a module with no position is a ' +
|
|
29
|
+
'native state). `declared_positions` rides ' +
|
|
30
|
+
'alongside as the raw fact of what the site declares, so it can hold values no call ' +
|
|
31
|
+
'accepts. Where that list could not be read, the value has to ' +
|
|
32
|
+
'come from the template itself. A dry_run:true call never creates anything and is always ' +
|
|
33
|
+
'safe to retry.',
|
|
34
|
+
'yootheme_builder_mcp.modules.placement_position_conflict': '`position` and `placement` describe different outcomes here, so the server refused ' +
|
|
35
|
+
'instead of guessing which one you meant. The error names the combination and the call ' +
|
|
36
|
+
'that does what you asked for. Change one of the two and resend. A dry_run:true call ' +
|
|
37
|
+
'never creates anything and is always safe to retry.',
|
|
38
|
+
};
|
|
39
|
+
export const UPDATE_PLACEMENT_HINTS = {
|
|
40
|
+
'yootheme_builder_mcp.modules.placement_position_unknown': 'The `position` you named is not one this site can use, so the server refused instead of ' +
|
|
41
|
+
'moving the module somewhere nothing renders it. Neither CMS refuses this on its own, ' +
|
|
42
|
+
'which is why the check is here. Nothing was written: the module still sits where it did. ' +
|
|
43
|
+
'Take the next value from the MESSAGE, which names the positions this site declares and ' +
|
|
44
|
+
'then adds `builder-1` to `builder-6`, which are taken by name whether or not the site ' +
|
|
45
|
+
'lists them; a module in one of those renders only where a Position element in a page ' +
|
|
46
|
+
'layout calls it. When the message names none of the site\'s OWN positions it says which ' +
|
|
47
|
+
'of two things that means: either this site declares none a module could be moved to, or ' +
|
|
48
|
+
'its list could not be read from here, and those are not the same thing. The builder ' +
|
|
49
|
+
'names are offered either way. `declared_positions` rides alongside as the raw fact of ' +
|
|
50
|
+
'what the site declares, so it can hold values no call accepts. Leave `position` out ' +
|
|
51
|
+
'entirely to keep the one this module already has. A dry_run:true call never writes and ' +
|
|
52
|
+
'is always safe to retry.',
|
|
53
|
+
};
|
|
54
|
+
export function hintFor(table, code) {
|
|
55
|
+
return Object.hasOwn(table, code) ? table[code] : undefined;
|
|
56
|
+
}
|
|
57
|
+
export const FIELD_HINTS = {
|
|
58
|
+
'yootheme_builder_mcp.modules.field_not_on_this_type': 'The field name is fine and this tool can write it — but not on THIS widget/module type, ' +
|
|
59
|
+
'which has no such field at all. There is nothing to rename, so re-sending the same call ' +
|
|
60
|
+
'with a corrected key cannot work. The message names the types that DO carry it, and where ' +
|
|
61
|
+
'this type keeps the equivalent instead (block markup, `theme_overlay`, or the ' +
|
|
62
|
+
'type-specific params). Pick one of those two answers. A dry_run:true call never writes ' +
|
|
63
|
+
'and is always safe to retry.',
|
|
64
|
+
'yootheme_builder_mcp.modules.field_combination_invalid': 'Every field you sent is valid on its own; TOGETHER they do not describe one outcome — ' +
|
|
65
|
+
'either they contradict each other, or one of them needs a partner the call did not carry. ' +
|
|
66
|
+
'The message names which of the two it is and in which direction. Change the COMBINATION: ' +
|
|
67
|
+
'add the missing field, or drop one of the pair. Correcting a value will not help, because ' +
|
|
68
|
+
'no single value is wrong. A dry_run:true call never writes and is always safe to retry.',
|
|
69
|
+
'yootheme_builder_mcp.modules.field_value_invalid': 'The KEY you sent is right; the VALUE is not. A wrong JSON type (the string "false" is not ' +
|
|
70
|
+
'the boolean false, and a `position` must be a string), a value outside a closed set (an ' +
|
|
71
|
+
'unknown widget/module type, an unrecognised `assignment.mode` on Joomla), or outside a ' +
|
|
72
|
+
'permitted range (Joomla `menu_ids` must be positive). The message names the expected type or the allowed values, so correct the ' +
|
|
73
|
+
'value of the named key and resend — renaming the key will not help, because the key is ' +
|
|
74
|
+
'already correct. Nothing was written. A dry_run:true call never writes and is always ' +
|
|
75
|
+
'safe to retry.',
|
|
76
|
+
'yootheme_builder_mcp.modules.position_not_clearable': 'You asked to take this widget out of every area by sending `position: ""`, and on ' +
|
|
77
|
+
'WordPress a widget exists only while it sits in one — there is no area named "". Nothing ' +
|
|
78
|
+
'was written. Send `active:false` instead: that parks the widget in wp_inactive_widgets, ' +
|
|
79
|
+
'and naming a position again brings it back. The same value is accepted on JOOMLA, where a ' +
|
|
80
|
+
'module with no position is a native state, so this refusal is about the platform rather ' +
|
|
81
|
+
'than about the value being malformed. A dry_run:true call never writes and is always safe ' +
|
|
82
|
+
'to retry.',
|
|
83
|
+
'yootheme_builder_mcp.modules.blocked_by_cms_state': 'Name, value and combination are all correct. The CMS is in a state that would make the ' +
|
|
84
|
+
'outcome you asked for untrue — the module would still not be visible — and this tool ' +
|
|
85
|
+
'deliberately does not write the columns that would change that state. So there is nothing ' +
|
|
86
|
+
'to fix in the call: the message names the exact field and value standing in the way, and ' +
|
|
87
|
+
'the change belongs in the CMS module manager. Repeat the call afterwards. A dry_run:true ' +
|
|
88
|
+
'call never writes and is always safe to retry.',
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=placement-hints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placement-hints.js","sourceRoot":"","sources":["../../../src/tools/modules/placement-hints.ts"],"names":[],"mappings":"AA2HA,MAAM,CAAC,MAAM,eAAe,GAAqC;IAC7D,mDAAmD,EAC/C,qEAAqE;QACrE,wFAAwF;QACxF,2FAA2F;QAC3F,4FAA4F;QAC5F,yFAAyF;QACzF,uBAAuB;IAC3B,yDAAyD,EACrD,yFAAyF;QACzF,uFAAuF;QACvF,sFAAsF;QACtF,0FAA0F;QAC1F,2FAA2F;QAC3F,0FAA0F;QAC1F,oFAAoF;QACpF,uFAAuF;QACvF,0FAA0F;QAC1F,gBAAgB;IACpB,yDAAyD,EACrD,0FAA0F;QAC1F,0FAA0F;QAC1F,yFAAyF;QACzF,sFAAsF;QACtF,uFAAuF;QACvF,wEAAwE;QACxE,6DAA6D;QAC7D,+EAA+E;QAC/E,kFAAkF;QAClF,mFAAmF;QACnF,gFAAgF;QAChF,4CAA4C;QAC5C,qFAAqF;QACrF,+DAA+D;QAC/D,0FAA0F;QAC1F,gBAAgB;IACpB,0DAA0D,EACtD,qFAAqF;QACrF,wFAAwF;QACxF,sFAAsF;QACtF,qDAAqD;CAC5D,CAAC;AA8EF,MAAM,CAAC,MAAM,sBAAsB,GAAqC;IACpE,yDAAyD,EACrD,0FAA0F;QAC1F,uFAAuF;QACvF,2FAA2F;QAC3F,yFAAyF;QACzF,wFAAwF;QACxF,uFAAuF;QACvF,0FAA0F;QAC1F,0FAA0F;QAC1F,sFAAsF;QACtF,wFAAwF;QACxF,sFAAsF;QACtF,yFAAyF;QACzF,0BAA0B;CACjC,CAAC;AAwBF,MAAM,UAAU,OAAO,CAAC,KAAuC,EAAE,IAAY;IACzE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAwDD,MAAM,CAAC,MAAM,WAAW,GAAqC;IACzD,qDAAqD,EACjD,0FAA0F;QAC1F,0FAA0F;QAC1F,4FAA4F;QAC5F,gFAAgF;QAChF,yFAAyF;QACzF,8BAA8B;IAClC,wDAAwD,EACpD,wFAAwF;QACxF,4FAA4F;QAC5F,2FAA2F;QAC3F,4FAA4F;QAC5F,yFAAyF;IAC7F,kDAAkD,EAC9C,4FAA4F;QAC5F,0FAA0F;QAC1F,yFAAyF;QACzF,kIAAkI;QAClI,yFAAyF;QACzF,uFAAuF;QACvF,gBAAgB;IACpB,qDAAqD,EACjD,oFAAoF;QACpF,2FAA2F;QAC3F,0FAA0F;QAC1F,4FAA4F;QAC5F,0FAA0F;QAC1F,4FAA4F;QAC5F,WAAW;IACf,mDAAmD,EAC/C,yFAAyF;QACzF,uFAAuF;QACvF,4FAA4F;QAC5F,2FAA2F;QAC3F,2FAA2F;QAC3F,gDAAgD;CACvD,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type Platform = 'wordpress' | 'joomla';
|
|
2
|
+
export type PlacementWay = {
|
|
3
|
+
readonly platform: Platform;
|
|
4
|
+
readonly placement: 'position' | 'module_element' | 'position_element';
|
|
5
|
+
readonly reach: 'site_wide' | 'single_page';
|
|
6
|
+
readonly canLimitToPages?: boolean;
|
|
7
|
+
readonly summary: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const PLACEMENT_WAYS: readonly PlacementWay[];
|
|
10
|
+
export declare const PLACEMENT_NOTES: Readonly<Record<Platform, readonly string[]>>;
|
|
11
|
+
export declare function waysFor(platform: Platform): readonly PlacementWay[];
|
|
12
|
+
export declare function notesFor(platform: Platform): readonly string[];
|
|
13
|
+
//# sourceMappingURL=placement-ways.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placement-ways.d.ts","sourceRoot":"","sources":["../../../src/tools/modules/placement-ways.ts"],"names":[],"mappings":"AA+DA,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;IAEvE,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa,CAAC;IAM5C,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAsCjD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC,CAezE,CAAC;AAEF,wBAAgB,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,YAAY,EAAE,CAEnE;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,MAAM,EAAE,CAE9D"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export const PLACEMENT_WAYS = [
|
|
2
|
+
{
|
|
3
|
+
platform: 'joomla', placement: 'position', reach: 'site_wide', canLimitToPages: true,
|
|
4
|
+
summary: 'The module sits in a template position such as top and appears on EVERY page. '
|
|
5
|
+
+ 'Pass the position with this call. No layout edit, and one module serves the whole '
|
|
6
|
+
+ 'site. To narrow it to chosen pages, set the menu assignment with modules_update.',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
platform: 'joomla', placement: 'module_element', reach: 'single_page',
|
|
10
|
+
summary: 'A Module element inside a column of ONE page layout embeds this module, and it '
|
|
11
|
+
+ 'appears on that page only. Call scaffold_section first for a valid column path.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
platform: 'joomla', placement: 'position_element', reach: 'single_page',
|
|
15
|
+
summary: 'The module goes into one of the positions builder-1 to builder-6. On its own it '
|
|
16
|
+
+ 'appears NOWHERE. A Position element placed in a page layout is what renders it, and '
|
|
17
|
+
+ 'it then appears on that page only.',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
platform: 'wordpress', placement: 'position', reach: 'site_wide', canLimitToPages: false,
|
|
21
|
+
summary: 'The widget sits in a widget area and appears on EVERY page. Pass the area with '
|
|
22
|
+
+ 'this call. No layout edit, and one widget serves the whole site. WordPress has no '
|
|
23
|
+
+ 'built-in per-page control, so narrowing it to chosen pages needs a plugin.',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
platform: 'wordpress', placement: 'module_element', reach: 'single_page',
|
|
27
|
+
summary: 'A Widget element inside a column of ONE page layout embeds this widget, and it '
|
|
28
|
+
+ 'appears on that page only. Needs a position: builder-1 to builder-6, the areas '
|
|
29
|
+
+ 'that render nothing on their own. Call scaffold_section first for a valid '
|
|
30
|
+
+ 'column path.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
platform: 'wordpress', placement: 'position_element', reach: 'single_page',
|
|
34
|
+
summary: 'The widget goes into one of the areas builder-1 to builder-6. On its own it '
|
|
35
|
+
+ 'appears NOWHERE. An Area element placed in a page layout is what renders it, and it '
|
|
36
|
+
+ 'then appears on that page only.',
|
|
37
|
+
},
|
|
38
|
+
];
|
|
39
|
+
export const PLACEMENT_NOTES = {
|
|
40
|
+
joomla: [
|
|
41
|
+
'modules_create builds two native module types (mod_custom, mod_menu). '
|
|
42
|
+
+ 'A builder module (mod_yootheme_builder) must already exist. Once it does, all three '
|
|
43
|
+
+ 'placements work for it exactly as they do for a native module.',
|
|
44
|
+
'You may not need a module at all: a YOOtheme element such as alert placed straight into a '
|
|
45
|
+
+ 'page layout does the same job, at the cost of a separate copy per page.',
|
|
46
|
+
],
|
|
47
|
+
wordpress: [
|
|
48
|
+
'modules_create builds three native widget types (custom_html, text, block). '
|
|
49
|
+
+ 'A builder widget must already exist. Once it does, all three placements work for it '
|
|
50
|
+
+ 'exactly as they do for a native widget.',
|
|
51
|
+
'You may not need a widget at all: a YOOtheme element such as alert placed straight into a '
|
|
52
|
+
+ 'page layout does the same job, at the cost of a separate copy per page.',
|
|
53
|
+
],
|
|
54
|
+
};
|
|
55
|
+
export function waysFor(platform) {
|
|
56
|
+
return PLACEMENT_WAYS.filter((w) => w.platform === platform);
|
|
57
|
+
}
|
|
58
|
+
export function notesFor(platform) {
|
|
59
|
+
return PLACEMENT_NOTES[platform];
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=placement-ways.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placement-ways.js","sourceRoot":"","sources":["../../../src/tools/modules/placement-ways.ts"],"names":[],"mappings":"AA+EA,MAAM,CAAC,MAAM,cAAc,GAA4B;IACnD;QACI,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI;QACpF,OAAO,EAAE,gFAAgF;cACnF,oFAAoF;cACpF,kFAAkF;KAC3F;IACD;QACI,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa;QACrE,OAAO,EAAE,iFAAiF;cACpF,iFAAiF;KAC1F;IACD;QACI,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,KAAK,EAAE,aAAa;QACvE,OAAO,EAAE,kFAAkF;cACrF,sFAAsF;cACtF,oCAAoC;KAC7C;IAED;QACI,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK;QACxF,OAAO,EAAE,iFAAiF;cACpF,oFAAoF;cACpF,4EAA4E;KACrF;IACD;QACI,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa;QACxE,OAAO,EAAE,iFAAiF;cACpF,iFAAiF;cACjF,4EAA4E;cAC5E,cAAc;KACvB;IACD;QACI,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,KAAK,EAAE,aAAa;QAC1E,OAAO,EAAE,8EAA8E;cACjF,sFAAsF;cACtF,iCAAiC;KAC1C;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAkD;IAC1E,MAAM,EAAE;QACJ,wEAAwE;cAClE,sFAAsF;cACtF,gEAAgE;QACtE,4FAA4F;cACtF,yEAAyE;KAClF;IACD,SAAS,EAAE;QACP,8EAA8E;cACxE,sFAAsF;cACtF,yCAAyC;QAC/C,4FAA4F;cACtF,yEAAyE;KAClF;CACJ,CAAC;AAEF,MAAM,UAAU,OAAO,CAAC,QAAkB;IACtC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,QAAkB;IACvC,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -1,23 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Multi-Items tool builders.
|
|
3
|
-
*
|
|
4
|
-
* Surfaces two tools that operate on the YT-Pro Multi-Items binding
|
|
5
|
-
* pattern (container ↔ `*_item` pairings — see
|
|
6
|
-
* `./item-container-map.ts`):
|
|
7
|
-
*
|
|
8
|
-
* yootheme_builder_inspect_multi_items_binding
|
|
9
|
-
* → Reports the binding level (none/container/item), the matching
|
|
10
|
-
* container/item pair, and whether legacy implode directives are
|
|
11
|
-
* attached. Surfaces a `recommended_fix` when the binding sits on
|
|
12
|
-
* the container level.
|
|
13
|
-
*
|
|
14
|
-
* yootheme_builder_clean_implode_directives
|
|
15
|
-
* → Removes every `props.source.props.*.implode` directive from
|
|
16
|
-
* the addressed element. Returns the audit log + new etag.
|
|
17
|
-
*
|
|
18
|
-
* @license MIT
|
|
19
|
-
*/
|
|
20
|
-
import type { ClientPool } from '../../sites/client-pool.js';
|
|
21
1
|
import { type AnyToolDefinition } from '../tool-builder.js';
|
|
22
|
-
export declare function buildMultiItemsTools(
|
|
2
|
+
export declare function buildMultiItemsTools(): readonly AnyToolDefinition[];
|
|
23
3
|
//# sourceMappingURL=builders.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/builders.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/builders.ts"],"names":[],"mappings":"AAwBA,OAAO,EAIH,KAAK,iBAAiB,EACzB,MAAM,oBAAoB,CAAC;AAM5B,wBAAgB,oBAAoB,IAAI,SAAS,iBAAiB,EAAE,CAsDnE"}
|
|
@@ -1,93 +1,50 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Multi-Items tool builders.
|
|
3
|
-
*
|
|
4
|
-
* Surfaces two tools that operate on the YT-Pro Multi-Items binding
|
|
5
|
-
* pattern (container ↔ `*_item` pairings — see
|
|
6
|
-
* `./item-container-map.ts`):
|
|
7
|
-
*
|
|
8
|
-
* yootheme_builder_inspect_multi_items_binding
|
|
9
|
-
* → Reports the binding level (none/container/item), the matching
|
|
10
|
-
* container/item pair, and whether legacy implode directives are
|
|
11
|
-
* attached. Surfaces a `recommended_fix` when the binding sits on
|
|
12
|
-
* the container level.
|
|
13
|
-
*
|
|
14
|
-
* yootheme_builder_clean_implode_directives
|
|
15
|
-
* → Removes every `props.source.props.*.implode` directive from
|
|
16
|
-
* the addressed element. Returns the audit log + new etag.
|
|
17
|
-
*
|
|
18
|
-
* @license MIT
|
|
19
|
-
*/
|
|
20
1
|
import { z } from 'zod';
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import { defineTool,
|
|
24
|
-
import { CLEAN_IMPLODE_OUTPUT_SCHEMA,
|
|
25
|
-
|
|
26
|
-
import { InspectionCache } from './inspection-cache.js';
|
|
27
|
-
export function buildMultiItemsTools(pool) {
|
|
28
|
-
// 6.2 — one shared inspection cache per tool-build, keyed on
|
|
29
|
-
// (template_id, element_path, global-etag) with a 60s TTL. Survives
|
|
30
|
-
// across calls within a server lifetime; a write bumps the global
|
|
31
|
-
// etag and naturally invalidates the entry.
|
|
32
|
-
const inspectionCache = new InspectionCache();
|
|
33
|
-
// W6.3 — per-handler resolveSiteOrError. The handlers consume a
|
|
34
|
-
// single-field `MultiItemsHandlerDeps`, so we synthesise it inline
|
|
35
|
-
// with the resolved client.
|
|
2
|
+
import { ELEMENT_PATH, ETAG_PREVIEW_OPTIONAL, SITE_ID_SCHEMA, LAYOUT_ID } from '../shared-schemas.js';
|
|
3
|
+
import { HOST_PROMPT_PROMISE } from '../tool-builder/confirm-preview.js';
|
|
4
|
+
import { defineTool, destructiveIdempotent, readOnly, } from '../tool-builder.js';
|
|
5
|
+
import { CLEAN_IMPLODE_OUTPUT_SCHEMA, INSPECT_MULTI_ITEMS_OUTPUT_SCHEMA, } from './output-schemas.js';
|
|
6
|
+
export function buildMultiItemsTools() {
|
|
36
7
|
return [
|
|
37
8
|
defineTool({
|
|
38
9
|
name: 'yootheme_builder_inspect_multi_items_binding',
|
|
39
10
|
description: 'Reports Multi-Items binding state: container/item pair (grid↔grid_item, ' +
|
|
40
|
-
'
|
|
41
|
-
'
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
'
|
|
45
|
-
'flagged as a blocking map_location_warning (renders 0 markers). ' +
|
|
46
|
-
// F189 (2026-06-12): a `…List` on a grid_item with nested children
|
|
47
|
-
// is render-dead (leaf renderer) → blocking iterator_is_leaf_renderer.
|
|
48
|
-
'A List on a grid_item with nested children → blocking ' +
|
|
49
|
-
'iterator_is_leaf_renderer (children never render). ' +
|
|
50
|
-
// SOURCES_BINDING-13: reciprocal pointer to the implode-cleanup tool.
|
|
51
|
-
'If rows render as ONE comma-joined string, see clean_implode_directives.',
|
|
11
|
+
'map↔map_item, …), binding level (none|container|item), recommended_fix. ' +
|
|
12
|
+
'For map/map_item, a bound item without a `location` field is flagged as a ' +
|
|
13
|
+
'blocking map_location_warning (0 markers). ' +
|
|
14
|
+
'If rows render as ONE comma-joined string, see clean_implode_directives ' +
|
|
15
|
+
'(gateway-only).',
|
|
52
16
|
inputSchema: {
|
|
53
17
|
site_id: SITE_ID_SCHEMA,
|
|
54
|
-
|
|
18
|
+
layout_id: LAYOUT_ID,
|
|
55
19
|
element_path: ELEMENT_PATH,
|
|
56
20
|
},
|
|
57
21
|
outputSchema: INSPECT_MULTI_ITEMS_OUTPUT_SCHEMA,
|
|
58
22
|
annotations: readOnly('Inspect Multi-Items Binding'),
|
|
59
|
-
handler: async ({ site_id, ...rest }) => withSiteRetry(pool, site_id, async (client, site) => {
|
|
60
|
-
const deps = { client, cache: inspectionCache };
|
|
61
|
-
return withSiteMeta(await handleInspectMultiItemsBinding(deps, rest), site);
|
|
62
|
-
}),
|
|
63
23
|
}),
|
|
64
24
|
defineTool({
|
|
65
25
|
name: 'yootheme_builder_clean_implode_directives',
|
|
66
26
|
description: 'Use when a Multi-Items element renders rows as ONE comma-joined string instead of ' +
|
|
67
|
-
'N repeated items —
|
|
68
|
-
'
|
|
69
|
-
'
|
|
70
|
-
'
|
|
71
|
-
'
|
|
72
|
-
'
|
|
27
|
+
'N repeated items — stale `implode` directives left by a plugin upgrade (detect via ' +
|
|
28
|
+
'inspect_multi_items_binding). Destructive: the binding can\'t be restored without ' +
|
|
29
|
+
're-mapping. The clean requires confirm:true + ETag; the dry run neither. ' +
|
|
30
|
+
'Without `confirm` the call runs a ' +
|
|
31
|
+
'server-side DRY RUN and reports `would_clean_count` while writing nothing. Live ' +
|
|
32
|
+
'at once.',
|
|
73
33
|
inputSchema: {
|
|
74
34
|
site_id: SITE_ID_SCHEMA,
|
|
75
|
-
|
|
35
|
+
layout_id: LAYOUT_ID,
|
|
76
36
|
element_path: ELEMENT_PATH,
|
|
77
|
-
etag:
|
|
37
|
+
etag: ETAG_PREVIEW_OPTIONAL.optional(),
|
|
78
38
|
confirm: z
|
|
79
39
|
.boolean()
|
|
80
40
|
.optional()
|
|
81
41
|
.describe('Must be true to execute. Without it the call returns a preview ' +
|
|
82
42
|
'and makes NO server-side change; the agent must ask the user ' +
|
|
83
|
-
'to confirm and retry with `confirm: true`.'
|
|
43
|
+
'to confirm and retry with `confirm: true`. ' +
|
|
44
|
+
HOST_PROMPT_PROMISE),
|
|
84
45
|
},
|
|
85
46
|
outputSchema: CLEAN_IMPLODE_OUTPUT_SCHEMA,
|
|
86
|
-
annotations:
|
|
87
|
-
handler: async ({ site_id, ...rest }) => withWriteSiteRetry(pool, site_id, 'yootheme_builder_clean_implode_directives', async (client, site) => {
|
|
88
|
-
const deps = { client };
|
|
89
|
-
return withSiteMeta(await handleCleanImplodeDirectives(deps, rest), site);
|
|
90
|
-
}),
|
|
47
|
+
annotations: destructiveIdempotent('Clean Implode Directives'),
|
|
91
48
|
}),
|
|
92
49
|
];
|
|
93
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/tools/multi-items/builders.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/tools/multi-items/builders.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EACH,UAAU,EACV,qBAAqB,EACrB,QAAQ,GAEX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,2BAA2B,EAC3B,iCAAiC,GACpC,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,oBAAoB;IAChC,OAAO;QACH,UAAU,CAAC;YACP,IAAI,EAAE,8CAA8C;YACpD,WAAW,EACP,0EAA0E;gBAC1E,0EAA0E;gBAG1E,4EAA4E;gBAC5E,6CAA6C;gBAE7C,0EAA0E;gBAC1E,iBAAiB;YACrB,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,SAAS,EAAE,SAAS;gBACpB,YAAY,EAAE,YAAY;aAC7B;YACD,YAAY,EAAE,iCAAiC;YAC/C,WAAW,EAAE,QAAQ,CAAC,6BAA6B,CAAC;SACvD,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,2CAA2C;YACjD,WAAW,EACP,oFAAoF;gBACpF,qFAAqF;gBACrF,oFAAoF;gBACpF,2EAA2E;gBAC3E,oCAAoC;gBACpC,kFAAkF;gBAClF,UAAU;YACd,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,SAAS,EAAE,SAAS;gBACpB,YAAY,EAAE,YAAY;gBAC1B,IAAI,EAAE,qBAAqB,CAAC,QAAQ,EAAE;gBACtC,OAAO,EAAE,CAAC;qBACL,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CACL,iEAAiE;oBAC7D,+DAA+D;oBAC/D,6CAA6C;oBAC7C,mBAAmB,CAC1B;aACR;YACD,YAAY,EAAE,2BAA2B;YAGzC,WAAW,EAAE,qBAAqB,CAAC,0BAA0B,CAAC;SACjE,CAAC;KACL,CAAC;AACN,CAAC"}
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Multi-Items tool barrel — public entry-point for the YT-Pro
|
|
3
|
-
* Multi-Items binding pattern tools.
|
|
4
|
-
*
|
|
5
|
-
* yootheme_builder_inspect_multi_items_binding
|
|
6
|
-
* → Report the Multi-Items binding state for an element.
|
|
7
|
-
*
|
|
8
|
-
* yootheme_builder_clean_implode_directives
|
|
9
|
-
* → Remove legacy implode directives from an element binding.
|
|
10
|
-
*
|
|
11
|
-
* The canonical container ↔ item map lives in `./item-container-map.ts`
|
|
12
|
-
* (mirror of `WootsUp\BuilderMcp\Elements\ItemContainerMap`).
|
|
13
|
-
*
|
|
14
|
-
* @license MIT
|
|
15
|
-
*/
|
|
16
1
|
export { buildMultiItemsTools } from './builders.js';
|
|
17
2
|
export { ITEM_CHILDREN_OF_CONTAINER, containerOf, isContainer, isItem, itemOf, } from './item-container-map.js';
|
|
18
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACH,0BAA0B,EAC1B,WAAW,EACX,WAAW,EACX,MAAM,EACN,MAAM,GACT,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Multi-Items tool barrel — public entry-point for the YT-Pro
|
|
3
|
-
* Multi-Items binding pattern tools.
|
|
4
|
-
*
|
|
5
|
-
* yootheme_builder_inspect_multi_items_binding
|
|
6
|
-
* → Report the Multi-Items binding state for an element.
|
|
7
|
-
*
|
|
8
|
-
* yootheme_builder_clean_implode_directives
|
|
9
|
-
* → Remove legacy implode directives from an element binding.
|
|
10
|
-
*
|
|
11
|
-
* The canonical container ↔ item map lives in `./item-container-map.ts`
|
|
12
|
-
* (mirror of `WootsUp\BuilderMcp\Elements\ItemContainerMap`).
|
|
13
|
-
*
|
|
14
|
-
* @license MIT
|
|
15
|
-
*/
|
|
16
1
|
export { buildMultiItemsTools } from './builders.js';
|
|
17
2
|
export { ITEM_CHILDREN_OF_CONTAINER, containerOf, isContainer, isItem, itemOf, } from './item-container-map.js';
|
|
18
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/multi-items/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/multi-items/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACH,0BAA0B,EAC1B,WAAW,EACX,WAAW,EACX,MAAM,EACN,MAAM,GACT,MAAM,yBAAyB,CAAC"}
|