@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
|
@@ -1,581 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Element-tool read handlers + shared types/schemas.
|
|
3
|
-
*
|
|
4
|
-
* Split out of the original `src/tools/elements.ts` (Wave G.4.0). Write
|
|
5
|
-
* handlers (add/update/move/clone/delete) live in `./handlers-write.ts`
|
|
6
|
-
* to keep each file under the 200-LoC budget.
|
|
7
|
-
*
|
|
8
|
-
* Handler responsibilities:
|
|
9
|
-
* - call the REST endpoint via `deps.client`,
|
|
10
|
-
* - map REST data to the toolkit output builders (`tableResult`,
|
|
11
|
-
* `detailResult`),
|
|
12
|
-
* - wrap in `structuredResult` to carry the typed
|
|
13
|
-
* `structuredContent` payload,
|
|
14
|
-
* - on error, return `errorResult` with `context` + `hint`.
|
|
15
|
-
*
|
|
16
|
-
* @license MIT
|
|
17
|
-
*/
|
|
18
|
-
import { detailResult, tableResult } from '@getimo/mcp-toolkit';
|
|
19
|
-
import { z } from 'zod';
|
|
20
|
-
import { encodeElementPath, encodeTemplateId } from '../../client.js';
|
|
21
|
-
import { RestError } from '../../errors.js';
|
|
22
|
-
import { ELEMENTS_COMPACT_COLUMNS, ELEMENTS_TABLE_COLUMNS, buildElementDetail, extractBinding, mapElementRow, } from '../format/elements-format.js';
|
|
23
|
-
import { DEFAULT_FIELDS_ELEMENT_LIST, applyMaxChars, columnsFromFields, projectFields, projectFieldsSingle, projectionCollisionWarning, projectionFeedback, projectionWarning, projectedFieldsEcho, } from '../sparse-fields.js';
|
|
24
|
-
import { errorResult, structuredResult, } from '../tool-builder.js';
|
|
25
|
-
// ─── outputSchemas (Wave G.2 §4) ─────────────────────────────────────
|
|
26
|
-
export const ELEMENT_LIST_OUTPUT_SCHEMA = z.object({
|
|
27
|
-
// 1.0.1 Wave-1.5 — Cold agents need to see the row shape so they know
|
|
28
|
-
// they can copy `rel_path`/`path`/`element_type`/`parent_path` straight
|
|
29
|
-
// back into the next call. All fields are optional + the row is
|
|
30
|
-
// `passthrough()` so projected/narrow `fields[]` calls still validate.
|
|
31
|
-
items: z.array(z
|
|
32
|
-
.object({
|
|
33
|
-
path: z
|
|
34
|
-
.string()
|
|
35
|
-
.optional()
|
|
36
|
-
.describe('Fully-qualified JSON-Pointer ' +
|
|
37
|
-
'(`/templates/<id>/layout/children/...`).'),
|
|
38
|
-
rel_path: z
|
|
39
|
-
.string()
|
|
40
|
-
.optional()
|
|
41
|
-
.describe('Path relative to layout root (`/children/0/...`). ' +
|
|
42
|
-
'Pass either form back as `element_path`.'),
|
|
43
|
-
element_type: z
|
|
44
|
-
.string()
|
|
45
|
-
.optional()
|
|
46
|
-
.describe("Element type (e.g. `headline`, `section`, `grid`). " +
|
|
47
|
-
"Feeds `element_add.element_type` directly."),
|
|
48
|
-
parent_path: z
|
|
49
|
-
.string()
|
|
50
|
-
.optional()
|
|
51
|
-
.describe("Path of this element's parent. Feeds `element_add.parent_path` / " +
|
|
52
|
-
"`element_move.to_parent_path` directly (rel_path form preferred)."),
|
|
53
|
-
label: z
|
|
54
|
-
.string()
|
|
55
|
-
.optional()
|
|
56
|
-
.describe('Human-readable name of the element (alias of `name`).'),
|
|
57
|
-
has_binding: z
|
|
58
|
-
.boolean()
|
|
59
|
-
.optional()
|
|
60
|
-
.describe('True when this element is dynamically bound to a data ' +
|
|
61
|
-
'source. Use `element_get_binding` for the full mapping.'),
|
|
62
|
-
// F88: surface the binding so leaf field-mappings are readable
|
|
63
|
-
// back without dumping the props tree. Present only on bound rows.
|
|
64
|
-
source: z
|
|
65
|
-
.unknown()
|
|
66
|
-
.optional()
|
|
67
|
-
.describe('Raw binding object when bound (e.g. `{query:{name:"#parent"},' +
|
|
68
|
-
'props:{content:{name:"field.x"}}}`). Copy back into ' +
|
|
69
|
-
'`element_bind_source`. Present only when `has_binding` is true.'),
|
|
70
|
-
// N7 (2026-06-27): the native ITEM-level binding (YT-Pro
|
|
71
|
-
// Multi-Items pattern) carries its per-item field-mappings in
|
|
72
|
-
// TOP-LEVEL `source_extended.props`. Declared so it is
|
|
73
|
-
// PROJECTABLE (`fields:["source_extended"]`) and surfaces on the
|
|
74
|
-
// row. The row is `.passthrough()` so this isn't strictly
|
|
75
|
-
// required for validation, but declaring it makes it a
|
|
76
|
-
// first-class, discoverable projection field. Present only on
|
|
77
|
-
// bound item rows.
|
|
78
|
-
source_extended: z
|
|
79
|
-
.unknown()
|
|
80
|
-
.optional()
|
|
81
|
-
.describe('Native item-level field-mappings (e.g. `{props:{title:{query:' +
|
|
82
|
-
'{name:"#node"},name:"title"}}}`) for a bound `*_item` ' +
|
|
83
|
-
'element. Present only when the item carries this carrier.'),
|
|
84
|
-
binding_summary: z
|
|
85
|
-
.string()
|
|
86
|
-
.optional()
|
|
87
|
-
.describe('Compact one-line binding: `<query> ← <el>:<field>, …`. ' +
|
|
88
|
-
'Present only when bound.'),
|
|
89
|
-
})
|
|
90
|
-
.passthrough()),
|
|
91
|
-
total: z.number(),
|
|
92
|
-
template_id: z.string(),
|
|
93
|
-
// N-01: present only when the call was paginated and more rows remain.
|
|
94
|
-
next_cursor: z.string().optional(),
|
|
95
|
-
projected_fields: z.array(z.string()).optional(),
|
|
96
|
-
// F-005 fix (2026-05-25 exhaustive audit): projection-feedback so
|
|
97
|
-
// callers passing the wrong field name (e.g. `type` instead of
|
|
98
|
-
// `element_type`) get an explicit hint instead of silently-empty
|
|
99
|
-
// table columns. See sparse-fields.ts::projectionFeedback.
|
|
100
|
-
available_fields: z.array(z.string()).optional(),
|
|
101
|
-
unknown_fields: z.array(z.string()).optional(),
|
|
102
|
-
// F23 (2026-06-10): the LOUD unknown-projection warning also rides in
|
|
103
|
-
// structuredContent — hosts that surface structuredContent (not the
|
|
104
|
-
// text leg) to the model would otherwise never see it.
|
|
105
|
-
projection_warning: z.string().optional(),
|
|
106
|
-
});
|
|
107
|
-
export const ELEMENT_GET_OUTPUT_SCHEMA = z.object({
|
|
108
|
-
// WAVE-1 follow-up (b): element_get now accepts `fields[]`, which DROPS the
|
|
109
|
-
// unrequested keys — so template_id/element_path/element_type/children_count
|
|
110
|
-
// are `.optional()` here (mirroring SCHEMA_OUTPUT_SCHEMA / ELEMENT_LIST rows)
|
|
111
|
-
// so a projected response still validates under additionalProperties:false. A
|
|
112
|
-
// full (no-fields) read still carries all of them.
|
|
113
|
-
template_id: z.string().optional(),
|
|
114
|
-
element_path: z.string().optional(),
|
|
115
|
-
// PG2 (addressing-coherence): the canonical rel_path form (`/children/0/…`,
|
|
116
|
-
// the shape element_list emits) forwarded from the PHP body alongside
|
|
117
|
-
// `element_path`, ADDITIVE. DECLARED here because the outputSchema is emitted
|
|
118
|
-
// with `additionalProperties:false`, so a strict host (Claude Desktop) would
|
|
119
|
-
// -32602-reject the SUCCESS if structuredContent carried an undeclared key
|
|
120
|
-
// (the G2 `changed_paths` lesson). `.optional()` keeps back-compat with
|
|
121
|
-
// pre-PG2 plugins whose body omits it.
|
|
122
|
-
rel_path: z.string().optional(),
|
|
123
|
-
// G6 (Path→Breadcrumb humanizer): the full human breadcrumb of
|
|
124
|
-
// `element_path` (`Hero ▸ Column 1 ▸ Headline`), forwarded from the PHP
|
|
125
|
-
// body. MUST be DECLARED here — the outputSchema is emitted with
|
|
126
|
-
// `additionalProperties:false`, so a strict host (Claude Desktop) would
|
|
127
|
-
// reject the SUCCESS with -32602 if structuredContent carried an
|
|
128
|
-
// undeclared key (the G2 `changed_paths` lesson). `.optional()` keeps
|
|
129
|
-
// back-compat with pre-G6 plugins whose body omits it.
|
|
130
|
-
path_label: z.string().optional(),
|
|
131
|
-
element_type: z.string(),
|
|
132
|
-
// ELEMENT_WRITE-20: the TOP-LEVEL node `name` field (the builder label /
|
|
133
|
-
// node metadata that lives OUTSIDE props — page_get_layout exposes it as a
|
|
134
|
-
// real node field). Distinct from the DERIVED `label`; forwarded so a
|
|
135
|
-
// read-then-write-back preserves the name faithfully. DECLARED here because
|
|
136
|
-
// the outputSchema is emitted with `additionalProperties:false` (the -32602
|
|
137
|
-
// lesson); `.optional()` because a node may carry no `name` and a pre-fix
|
|
138
|
-
// host may not emit it top-level.
|
|
139
|
-
name: z.string().optional(),
|
|
140
|
-
label: z.string().optional(),
|
|
141
|
-
props: z.record(z.string(), z.unknown()).optional(),
|
|
142
|
-
children_count: z.number().optional(),
|
|
143
|
-
// F88 (2026-06-10): when the element is bound, surface the raw binding
|
|
144
|
-
// object + a compact summary so a leaf's field-mappings are readable back
|
|
145
|
-
// (the props tree no longer has to be eyeballed). Present only when bound.
|
|
146
|
-
source: z.unknown().optional(),
|
|
147
|
-
// N6 (2026-06-27): the native ITEM-level binding (YT-Pro Multi-Items
|
|
148
|
-
// pattern) carries its per-item field-mappings in TOP-LEVEL
|
|
149
|
-
// `source_extended.props`, NOT in `props.source`. Once the PHP read emits
|
|
150
|
-
// it, structuredContent carries `source_extended` too — so it MUST be
|
|
151
|
-
// DECLARED here. The outputSchema is emitted with `additionalProperties:
|
|
152
|
-
// false`, so a strict host (Claude Desktop) -32602-rejects the SUCCESS the
|
|
153
|
-
// moment an undeclared key rides in structuredContent (the G2/G6 lesson).
|
|
154
|
-
// `.optional()` keeps unbound + leaf-bound reads byte-identical.
|
|
155
|
-
source_extended: z.unknown().optional(),
|
|
156
|
-
binding_summary: z.string().optional(),
|
|
157
|
-
});
|
|
158
|
-
// ─── element_list ────────────────────────────────────────────────────
|
|
159
|
-
/**
|
|
160
|
-
* F-205 (Audit 2026-05-26): shape-validate a cursor token up-front.
|
|
161
|
-
*
|
|
162
|
-
* The server-side cursor format (see `ElementOps::encodeCursor`) is
|
|
163
|
-
* base64url-encoded `o:<digits>`. Accept ALSO the raw `o:<digits>`
|
|
164
|
-
* form so hand-crafted iteration scripts + tests don't break. Anything
|
|
165
|
-
* else is a typo / corrupted token and must be rejected with a
|
|
166
|
-
* structured 400 — silently returning page 1 (the pre-fix behaviour)
|
|
167
|
-
* makes cold-agents loop on invalid cursors.
|
|
168
|
-
*
|
|
169
|
-
* We deliberately do NOT validate the cursor against the actual page
|
|
170
|
-
* state (no decode + range-check) — only shape.
|
|
171
|
-
*/
|
|
172
|
-
function isValidCursorShape(cursor) {
|
|
173
|
-
if (cursor.length === 0)
|
|
174
|
-
return false;
|
|
175
|
-
// Form A: raw `o:<digits>`.
|
|
176
|
-
if (/^o:\d+$/.test(cursor))
|
|
177
|
-
return true;
|
|
178
|
-
// Form B: base64url (charset only). Must decode to `o:<digits>`.
|
|
179
|
-
if (!/^[A-Za-z0-9_-]+$/.test(cursor))
|
|
180
|
-
return false;
|
|
181
|
-
try {
|
|
182
|
-
const padded = cursor.replace(/-/g, '+').replace(/_/g, '/');
|
|
183
|
-
const padLen = (4 - (padded.length % 4)) % 4;
|
|
184
|
-
const decoded = Buffer.from(padded + '='.repeat(padLen), 'base64').toString('utf8');
|
|
185
|
-
return /^o:\d+$/.test(decoded);
|
|
186
|
-
}
|
|
187
|
-
catch {
|
|
188
|
-
return false;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
export async function handleElementList({ client }, { template_id, fields, root_path, depth, limit, cursor, max_chars, include_meta, }) {
|
|
192
|
-
// F-205 (Audit 2026-05-26): validate cursor shape BEFORE the REST
|
|
193
|
-
// call so an invalid token surfaces a structured 400 instead of
|
|
194
|
-
// silently returning page 1.
|
|
195
|
-
if (typeof cursor === 'string' && cursor !== '' && !isValidCursorShape(cursor)) {
|
|
196
|
-
return errorResult({
|
|
197
|
-
error: new RestError({
|
|
198
|
-
status: 400,
|
|
199
|
-
code: 'yootheme_builder_mcp.elements.invalid_cursor',
|
|
200
|
-
message: `Invalid cursor "${cursor}" — expected an opaque token from a prior call's next_cursor.`,
|
|
201
|
-
body: null,
|
|
202
|
-
}),
|
|
203
|
-
context: { cursor, template_id },
|
|
204
|
-
hint: 'Omit `cursor` for page 1, or copy the `next_cursor` field ' +
|
|
205
|
-
"from a prior `element_list` call's response.",
|
|
206
|
-
});
|
|
207
|
-
}
|
|
208
|
-
try {
|
|
209
|
-
// N-01 (Audit-v3): forward the transport-safe scoping params as
|
|
210
|
-
// query string. The REST layer returns the pagination envelope
|
|
211
|
-
// `{items, next_cursor, total}` when `limit` is set, else the flat
|
|
212
|
-
// `{elements, total}` shape — handle both.
|
|
213
|
-
const qs = new URLSearchParams();
|
|
214
|
-
if (typeof root_path === 'string' && root_path !== '') {
|
|
215
|
-
qs.set('root_path', root_path);
|
|
216
|
-
}
|
|
217
|
-
if (typeof depth === 'number')
|
|
218
|
-
qs.set('depth', String(depth));
|
|
219
|
-
if (typeof limit === 'number')
|
|
220
|
-
qs.set('limit', String(limit));
|
|
221
|
-
if (typeof cursor === 'string' && cursor !== '')
|
|
222
|
-
qs.set('cursor', cursor);
|
|
223
|
-
// F13 (2026-06-09): when the caller projects a nested `props.*`
|
|
224
|
-
// field, ask the REST plugin to attach the full props map per row
|
|
225
|
-
// (ElementOps::listOnTemplate honours `include=props`). The default
|
|
226
|
-
// row carries only `props_summary` (key names), which the row
|
|
227
|
-
// mapper drops — so without this opt-in the nested path would have
|
|
228
|
-
// nothing to project against. Mirrors page_get_layout flat-mode,
|
|
229
|
-
// which always carries props.
|
|
230
|
-
const wantsNestedProps = Array.isArray(fields) &&
|
|
231
|
-
fields.some((f) => f === 'props' || f.startsWith('props.'));
|
|
232
|
-
if (wantsNestedProps)
|
|
233
|
-
qs.set('include', 'props');
|
|
234
|
-
const query = qs.toString();
|
|
235
|
-
const data = await client.get(`/pages/${encodeTemplateId(template_id)}/elements${query !== '' ? `?${query}` : ''}`);
|
|
236
|
-
// Paginated envelope uses `items`; flat shape uses `elements`.
|
|
237
|
-
const rawSource = Array.isArray(data.items)
|
|
238
|
-
? data.items
|
|
239
|
-
: Array.isArray(data.elements)
|
|
240
|
-
? data.elements
|
|
241
|
-
: [];
|
|
242
|
-
// F-206 (Audit 2026-05-26): distinguish "explicit root_path
|
|
243
|
-
// pointer not found" from "template is truly empty". Without
|
|
244
|
-
// this branch, `element_list({root_path: '/does/not/exist'})`
|
|
245
|
-
// returned `0 elements` silently — cold agents had no signal
|
|
246
|
-
// whether the pointer was a typo or the subtree empty. Only
|
|
247
|
-
// raise when (a) the caller PASSED a non-empty root_path AND
|
|
248
|
-
// (b) the REST returned 0 rows. Omitted root_path on a truly
|
|
249
|
-
// empty template stays a success.
|
|
250
|
-
if (typeof root_path === 'string' &&
|
|
251
|
-
root_path !== '' &&
|
|
252
|
-
rawSource.length === 0) {
|
|
253
|
-
return errorResult({
|
|
254
|
-
error: new RestError({
|
|
255
|
-
status: 404,
|
|
256
|
-
code: 'yootheme_builder_mcp.elements.unknown_root_path',
|
|
257
|
-
message: `root_path "${root_path}" not found in template "${template_id}".`,
|
|
258
|
-
body: null,
|
|
259
|
-
}),
|
|
260
|
-
context: { root_path, template_id },
|
|
261
|
-
hint: 'Verify via yootheme_builder_element_list (omit root_path) ' +
|
|
262
|
-
'to discover existing JSON-Pointers in the template.',
|
|
263
|
-
});
|
|
264
|
-
}
|
|
265
|
-
const mapped = rawSource
|
|
266
|
-
.filter((x) => x !== null && typeof x === 'object')
|
|
267
|
-
.map(mapElementRow);
|
|
268
|
-
const items = projectFields(mapped, fields, DEFAULT_FIELDS_ELEMENT_LIST);
|
|
269
|
-
const echo = projectedFieldsEcho(fields, DEFAULT_FIELDS_ELEMENT_LIST);
|
|
270
|
-
const feedback = projectionFeedback(mapped, fields);
|
|
271
|
-
// F23 (2026-06-09): the loud text-leg warning is built by the
|
|
272
|
-
// shared helper so every read tool surfaces the identical signal.
|
|
273
|
-
// ELEMENT_WRITE-5: also flag a props-prefix flatten collision (e.g.
|
|
274
|
-
// requesting both `name` and `props.name`, which collapse to one key).
|
|
275
|
-
const unknownNote = projectionWarning(feedback) + projectionCollisionWarning(fields);
|
|
276
|
-
// N-01 (Audit v4): when the caller passes an explicit narrow
|
|
277
|
-
// `fields[]`, render the text table from the projected (slim)
|
|
278
|
-
// rows with `full` detail (8000 chars) so the WHOLE node list
|
|
279
|
-
// survives — the default compact table caps at 2000 chars and
|
|
280
|
-
// hides ~70 of a 96-node template. Without `fields[]` keep the
|
|
281
|
-
// auto-scaling behaviour (full columns, count-driven level).
|
|
282
|
-
const hasNarrowProjection = Array.isArray(fields) && fields.length > 0;
|
|
283
|
-
const toolkitResult = hasNarrowProjection
|
|
284
|
-
? tableResult(items, {
|
|
285
|
-
columns: columnsFromFields(fields),
|
|
286
|
-
header: (count) => `${String(count)} elements in template "${template_id}"${unknownNote}`,
|
|
287
|
-
footer: 'Use yootheme_builder_element_get <path> for full data.',
|
|
288
|
-
includeMeta: include_meta,
|
|
289
|
-
}, 'full')
|
|
290
|
-
: tableResult(mapped, {
|
|
291
|
-
columns: [...ELEMENTS_TABLE_COLUMNS],
|
|
292
|
-
compactColumns: [...ELEMENTS_COMPACT_COLUMNS],
|
|
293
|
-
header: (count) => `${String(count)} elements in template "${template_id}"${unknownNote}`,
|
|
294
|
-
footer: 'Use yootheme_builder_element_get <path> for full data.',
|
|
295
|
-
includeMeta: include_meta,
|
|
296
|
-
});
|
|
297
|
-
return structuredResult(applyMaxChars(toolkitResult, max_chars), {
|
|
298
|
-
items,
|
|
299
|
-
total: typeof data.total === 'number' ? data.total : items.length,
|
|
300
|
-
template_id,
|
|
301
|
-
...(typeof data.next_cursor === 'string' && data.next_cursor !== ''
|
|
302
|
-
? { next_cursor: data.next_cursor }
|
|
303
|
-
: {}),
|
|
304
|
-
...(echo !== undefined ? { projected_fields: [...echo] } : {}),
|
|
305
|
-
...(feedback !== undefined ? {
|
|
306
|
-
available_fields: [...feedback.available_fields],
|
|
307
|
-
unknown_fields: [...feedback.unknown_fields],
|
|
308
|
-
...(unknownNote.trim() !== '' ? { projection_warning: unknownNote.trim() } : {}),
|
|
309
|
-
} : {}),
|
|
310
|
-
});
|
|
311
|
-
}
|
|
312
|
-
catch (e) {
|
|
313
|
-
return errorResult({
|
|
314
|
-
error: e,
|
|
315
|
-
context: { template_id },
|
|
316
|
-
hint: 'Verify the template_id via yootheme_builder_pages_list.',
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
// ─── element_get ─────────────────────────────────────────────────────
|
|
321
|
-
export async function handleElementGet({ client }, { template_id, element_path, fields, max_chars }) {
|
|
322
|
-
const encoded = encodeElementPath(element_path);
|
|
323
|
-
try {
|
|
324
|
-
const data = await client.get(`/pages/${encodeTemplateId(template_id)}/elements/${encoded}`);
|
|
325
|
-
const elementType = typeof data.element_type === 'string'
|
|
326
|
-
? data.element_type
|
|
327
|
-
: typeof data.type === 'string'
|
|
328
|
-
? data.type
|
|
329
|
-
: '';
|
|
330
|
-
const label = typeof data.label === 'string' ? data.label : undefined;
|
|
331
|
-
// ELEMENT_WRITE-20: the top-level node `name` (builder metadata that
|
|
332
|
-
// lives OUTSIDE props). Prefer the flattened top-level key; fall back to
|
|
333
|
-
// the raw node's own `name`. Forwarded DISTINCT from the derived `label`
|
|
334
|
-
// so a read-then-write-back can restore the name faithfully. Read as
|
|
335
|
-
// `rawElement` is computed further down — recompute the node name here
|
|
336
|
-
// from data.name only (the flattened key), with the raw-node fallback
|
|
337
|
-
// applied once `rawElement` exists (below).
|
|
338
|
-
const nodeNameTop = typeof data.name === 'string' && data.name !== '' ? data.name : undefined;
|
|
339
|
-
// G6 (Path→Breadcrumb humanizer): the PHP body now carries a human
|
|
340
|
-
// breadcrumb of the path. Forward it verbatim (present only on G6+
|
|
341
|
-
// plugins). DECLARED in ELEMENT_GET_OUTPUT_SCHEMA so a strict host
|
|
342
|
-
// accepts it (the -32602 lesson).
|
|
343
|
-
const pathLabel = typeof data.path_label === 'string' ? data.path_label : undefined;
|
|
344
|
-
// PG2 (addressing-coherence): the canonical rel_path form the PHP body
|
|
345
|
-
// now carries (`/children/0/…`). Forward it verbatim (present only on
|
|
346
|
-
// PG2+ plugins). DECLARED in ELEMENT_GET_OUTPUT_SCHEMA so a strict host
|
|
347
|
-
// accepts it (the -32602 lesson).
|
|
348
|
-
const relPath = typeof data.rel_path === 'string' ? data.rel_path : undefined;
|
|
349
|
-
// Cluster C3 (back-compat defense-in-depth): older deployed plugins
|
|
350
|
-
// serialize an EMPTY props map as a JSON array `[]` (PHP
|
|
351
|
-
// `json_encode([])`). The fixed producer emits `{}`, but a client
|
|
352
|
-
// talking to an un-upgraded host still receives `[]`. The
|
|
353
|
-
// `element_get` outputSchema declares `props` as a `z.record(...)`
|
|
354
|
-
// (object), so emitting the raw `[]` into structuredContent makes
|
|
355
|
-
// the host reject the response with -32602 ("expected record,
|
|
356
|
-
// received array"). Normalize a ZERO-LENGTH array into an empty
|
|
357
|
-
// object. A NON-empty array is genuinely invalid (no plugin emits
|
|
358
|
-
// a populated array for props) — leave it untouched so schema
|
|
359
|
-
// validation surfaces the real error instead of masking it.
|
|
360
|
-
const propsRaw = Array.isArray(data.props) && data.props.length === 0
|
|
361
|
-
? {}
|
|
362
|
-
: data.props;
|
|
363
|
-
const props = propsRaw !== null && typeof propsRaw === 'object'
|
|
364
|
-
? propsRaw
|
|
365
|
-
: undefined;
|
|
366
|
-
const children = Array.isArray(data.children) ? data.children : [];
|
|
367
|
-
// F88: read the top-level binding carriers too. element_get returns
|
|
368
|
-
// the raw node under `element` plus the flattened top-level keys; the
|
|
369
|
-
// leaf #parent binding lives in `props.source`, but a container's
|
|
370
|
-
// binding may live in the top-level `source` / `source_extended`. Pass
|
|
371
|
-
// them through so the binding is surfaced + readable back.
|
|
372
|
-
const rawElement = data.element !== null && typeof data.element === 'object' && !Array.isArray(data.element)
|
|
373
|
-
? data.element
|
|
374
|
-
: {};
|
|
375
|
-
const topSource = data.source ?? rawElement.source;
|
|
376
|
-
const topSourceExtended = data.source_extended ?? rawElement.source_extended;
|
|
377
|
-
// ELEMENT_WRITE-20: resolve the node `name` — flattened top-level key
|
|
378
|
-
// first, else the raw node's own `name`. Present only when the node
|
|
379
|
-
// actually carries one.
|
|
380
|
-
const nodeName = nodeNameTop ?? (typeof rawElement.name === 'string' && rawElement.name !== '' ? rawElement.name : undefined);
|
|
381
|
-
const binding = extractBinding({
|
|
382
|
-
...(props !== undefined ? { props } : {}),
|
|
383
|
-
...(topSource !== undefined ? { source: topSource } : {}),
|
|
384
|
-
...(topSourceExtended !== undefined ? { source_extended: topSourceExtended } : {}),
|
|
385
|
-
});
|
|
386
|
-
const toolkitResult = detailResult({
|
|
387
|
-
...buildElementDetail({
|
|
388
|
-
path: element_path,
|
|
389
|
-
element_type: elementType,
|
|
390
|
-
label,
|
|
391
|
-
props,
|
|
392
|
-
children: children,
|
|
393
|
-
...(topSource !== undefined ? { source: topSource } : {}),
|
|
394
|
-
...(topSourceExtended !== undefined ? { source_extended: topSourceExtended } : {}),
|
|
395
|
-
}),
|
|
396
|
-
includeMeta: false,
|
|
397
|
-
});
|
|
398
|
-
const structured = {
|
|
399
|
-
template_id,
|
|
400
|
-
element_path,
|
|
401
|
-
...(relPath !== undefined ? { rel_path: relPath } : {}),
|
|
402
|
-
...(pathLabel !== undefined ? { path_label: pathLabel } : {}),
|
|
403
|
-
element_type: elementType,
|
|
404
|
-
...(nodeName !== undefined ? { name: nodeName } : {}),
|
|
405
|
-
...(label !== undefined ? { label } : {}),
|
|
406
|
-
...(props !== undefined ? { props } : {}),
|
|
407
|
-
children_count: children.length,
|
|
408
|
-
...(binding !== null
|
|
409
|
-
? { source: binding.source, binding_summary: binding.binding_summary }
|
|
410
|
-
: {}),
|
|
411
|
-
// N6 (2026-06-27): surface the native item-level `source_extended`
|
|
412
|
-
// carrier (the per-item field-mappings) so a bound grid_item /
|
|
413
|
-
// accordion_item is fully readable back without a layout dump. The
|
|
414
|
-
// key is DECLARED in ELEMENT_GET_OUTPUT_SCHEMA so a strict host
|
|
415
|
-
// accepts it. Present only when the PHP body actually carried it
|
|
416
|
-
// (an unbound / leaf-bound read stays byte-identical).
|
|
417
|
-
...(topSourceExtended !== undefined ? { source_extended: topSourceExtended } : {}),
|
|
418
|
-
};
|
|
419
|
-
// WAVE-1 follow-up (b): project the single-object structuredContent to
|
|
420
|
-
// `fields[]` (default-all when omitted) and cap the text leg at max_chars.
|
|
421
|
-
const projected = projectFieldsSingle(structured, fields, undefined);
|
|
422
|
-
return structuredResult(applyMaxChars(toolkitResult, max_chars), projected);
|
|
423
|
-
}
|
|
424
|
-
catch (e) {
|
|
425
|
-
// N4 (TEMPLATE-ID-CONSISTENCY, customer 2026-06-28): a bare-numeric
|
|
426
|
-
// template_id (the value page_get_layout returns for a post_id-addressed
|
|
427
|
-
// read) now resolves 1:1 when the node exists — the server's
|
|
428
|
-
// LayoutReader::readByPointer per-page/per-article fallback. The richer
|
|
429
|
-
// `expected_id_form` / nearest-path envelope from the 404 body is
|
|
430
|
-
// forwarded automatically by errorResult; the hint additionally names
|
|
431
|
-
// the canonical `page:<id>` / `article:<id>` form when the template_id
|
|
432
|
-
// is bare-numeric, so the agent self-corrects without a guess round.
|
|
433
|
-
const isBareNumericId = typeof template_id === 'string' && /^\d+$/.test(template_id);
|
|
434
|
-
const hint = isBareNumericId
|
|
435
|
-
? `Paths are JSON-Pointer style ("/0/children/1"). The template_id "${template_id}" ` +
|
|
436
|
-
'is a bare numeric post/article id — per-page layouts resolve when the node exists; ' +
|
|
437
|
-
'address them canonically as `page:' +
|
|
438
|
-
`${template_id}\` (WordPress) or \`article:${template_id}\` (Joomla). Use ` +
|
|
439
|
-
'yootheme_builder_element_list to enumerate valid paths.'
|
|
440
|
-
: 'Paths are JSON-Pointer style ("/0/children/1"). Use ' +
|
|
441
|
-
'yootheme_builder_element_list to enumerate valid paths.';
|
|
442
|
-
return errorResult({
|
|
443
|
-
error: e,
|
|
444
|
-
context: { template_id, element_path },
|
|
445
|
-
hint,
|
|
446
|
-
});
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
// ─── layout_query (G5 — L2 advanced) ─────────────────────────────────
|
|
450
|
-
/**
|
|
451
|
-
* G5 — `layout_query` output schema. STRICT discipline (the G2 -32602 lesson):
|
|
452
|
-
* every key that rides in `structuredContent` is DECLARED here. Rows are the
|
|
453
|
-
* lean `{path, rel_path, element_type, label, has_binding}` navigation subset
|
|
454
|
-
* (a `.passthrough()` row keeps projected/narrow `fields[]` calls valid).
|
|
455
|
-
*/
|
|
456
|
-
export const LAYOUT_QUERY_OUTPUT_SCHEMA = z.object({
|
|
457
|
-
items: z.array(z
|
|
458
|
-
.object({
|
|
459
|
-
path: z
|
|
460
|
-
.string()
|
|
461
|
-
.optional()
|
|
462
|
-
.describe('Fully-qualified JSON-Pointer (`/templates/<id>/layout/children/...`).'),
|
|
463
|
-
rel_path: z
|
|
464
|
-
.string()
|
|
465
|
-
.optional()
|
|
466
|
-
.describe('Path relative to layout root (`/children/0/...`). Pass back as `element_path`.'),
|
|
467
|
-
element_type: z
|
|
468
|
-
.string()
|
|
469
|
-
.optional()
|
|
470
|
-
.describe('Element type (e.g. `headline`, `section`, `grid`).'),
|
|
471
|
-
label: z.string().optional().describe('Human-readable name of the element.'),
|
|
472
|
-
has_binding: z
|
|
473
|
-
.boolean()
|
|
474
|
-
.optional()
|
|
475
|
-
.describe('True when this element is dynamically bound to a data source.'),
|
|
476
|
-
})
|
|
477
|
-
.passthrough()),
|
|
478
|
-
total: z.number().describe('Total matching elements (before pagination).'),
|
|
479
|
-
template_id: z.string(),
|
|
480
|
-
next_cursor: z.string().optional().describe('Present only when paginated and more rows remain.'),
|
|
481
|
-
projected_fields: z.array(z.string()).optional(),
|
|
482
|
-
available_fields: z.array(z.string()).optional(),
|
|
483
|
-
unknown_fields: z.array(z.string()).optional(),
|
|
484
|
-
projection_warning: z.string().optional(),
|
|
485
|
-
});
|
|
486
|
-
/**
|
|
487
|
-
* G5 — `layout_query` handler. Forwards the AND-combined structured predicate
|
|
488
|
-
* (`type` / `name_matches` / `content_contains` / `has_binding` / `max_depth` /
|
|
489
|
-
* `under_section`) + pagination (`limit` / `cursor`) as query params to the
|
|
490
|
-
* server-side `GET /pages/{id}/query` endpoint — the filter runs in
|
|
491
|
-
* `ElementOps::queryTemplate` (no client-side re-filter). The matched node
|
|
492
|
-
* rows render as the element table + the typed `structuredContent`.
|
|
493
|
-
*/
|
|
494
|
-
export async function handleLayoutQuery({ client }, { template_id, type, name_matches, content_contains, has_binding, max_depth, under_section, limit, cursor, fields, max_chars, include_meta, }) {
|
|
495
|
-
try {
|
|
496
|
-
const qs = new URLSearchParams();
|
|
497
|
-
if (Array.isArray(type)) {
|
|
498
|
-
const joined = type.filter((t) => typeof t === 'string' && t !== '').join(',');
|
|
499
|
-
if (joined !== '')
|
|
500
|
-
qs.set('type', joined);
|
|
501
|
-
}
|
|
502
|
-
else if (typeof type === 'string' && type !== '') {
|
|
503
|
-
qs.set('type', type);
|
|
504
|
-
}
|
|
505
|
-
if (typeof name_matches === 'string' && name_matches !== '')
|
|
506
|
-
qs.set('name_matches', name_matches);
|
|
507
|
-
if (typeof content_contains === 'string' && content_contains !== '') {
|
|
508
|
-
qs.set('content_contains', content_contains);
|
|
509
|
-
}
|
|
510
|
-
if (typeof has_binding === 'boolean')
|
|
511
|
-
qs.set('has_binding', has_binding ? 'true' : 'false');
|
|
512
|
-
if (typeof max_depth === 'number')
|
|
513
|
-
qs.set('max_depth', String(max_depth));
|
|
514
|
-
if (typeof under_section === 'string' && under_section !== '')
|
|
515
|
-
qs.set('under_section', under_section);
|
|
516
|
-
if (typeof limit === 'number')
|
|
517
|
-
qs.set('limit', String(limit));
|
|
518
|
-
if (typeof cursor === 'string' && cursor !== '')
|
|
519
|
-
qs.set('cursor', cursor);
|
|
520
|
-
// LAYOUT_READ-8/9: when the caller projects a nested `props.*` field, ask
|
|
521
|
-
// the REST plugin to attach the full props map per matched node (same
|
|
522
|
-
// `include=props` opt-in element_list uses). Without it the default row
|
|
523
|
-
// carries no props and `props.*` lands in unknown_fields — so a single
|
|
524
|
-
// "every headline WITH its text + title_element" call was impossible.
|
|
525
|
-
const wantsNestedProps = Array.isArray(fields) &&
|
|
526
|
-
fields.some((f) => f === 'props' || f.startsWith('props.'));
|
|
527
|
-
if (wantsNestedProps)
|
|
528
|
-
qs.set('include', 'props');
|
|
529
|
-
const query = qs.toString();
|
|
530
|
-
const data = await client.get(`/pages/${encodeTemplateId(template_id)}/query${query !== '' ? `?${query}` : ''}`);
|
|
531
|
-
const rawSource = Array.isArray(data.elements) ? data.elements : [];
|
|
532
|
-
const mapped = rawSource
|
|
533
|
-
.filter((x) => x !== null && typeof x === 'object')
|
|
534
|
-
.map(mapElementRow);
|
|
535
|
-
const items = projectFields(mapped, fields, DEFAULT_FIELDS_ELEMENT_LIST);
|
|
536
|
-
const echo = projectedFieldsEcho(fields, DEFAULT_FIELDS_ELEMENT_LIST);
|
|
537
|
-
const feedback = projectionFeedback(mapped, fields);
|
|
538
|
-
const unknownNote = projectionWarning(feedback);
|
|
539
|
-
const hasNarrowProjection = Array.isArray(fields) && fields.length > 0;
|
|
540
|
-
const toolkitResult = hasNarrowProjection
|
|
541
|
-
? tableResult(items, {
|
|
542
|
-
columns: columnsFromFields(fields),
|
|
543
|
-
header: (count) => `${String(count)} elements match in template "${template_id}"${unknownNote}`,
|
|
544
|
-
footer: 'Use yootheme_builder_element_get <path> for full data.',
|
|
545
|
-
includeMeta: include_meta,
|
|
546
|
-
}, 'full')
|
|
547
|
-
: tableResult(mapped, {
|
|
548
|
-
columns: [...ELEMENTS_TABLE_COLUMNS],
|
|
549
|
-
compactColumns: [...ELEMENTS_COMPACT_COLUMNS],
|
|
550
|
-
header: (count) => `${String(count)} elements match in template "${template_id}"${unknownNote}`,
|
|
551
|
-
footer: 'Use yootheme_builder_element_get <path> for full data.',
|
|
552
|
-
includeMeta: include_meta,
|
|
553
|
-
});
|
|
554
|
-
return structuredResult(applyMaxChars(toolkitResult, max_chars), {
|
|
555
|
-
items,
|
|
556
|
-
total: typeof data.total === 'number' ? data.total : items.length,
|
|
557
|
-
template_id,
|
|
558
|
-
...(typeof data.next_cursor === 'string' && data.next_cursor !== ''
|
|
559
|
-
? { next_cursor: data.next_cursor }
|
|
560
|
-
: {}),
|
|
561
|
-
...(echo !== undefined ? { projected_fields: [...echo] } : {}),
|
|
562
|
-
...(feedback !== undefined
|
|
563
|
-
? {
|
|
564
|
-
available_fields: [...feedback.available_fields],
|
|
565
|
-
unknown_fields: [...feedback.unknown_fields],
|
|
566
|
-
...(unknownNote.trim() !== '' ? { projection_warning: unknownNote.trim() } : {}),
|
|
567
|
-
}
|
|
568
|
-
: {}),
|
|
569
|
-
});
|
|
570
|
-
}
|
|
571
|
-
catch (e) {
|
|
572
|
-
return errorResult({
|
|
573
|
-
error: e,
|
|
574
|
-
context: { template_id },
|
|
575
|
-
hint: 'Verify the template_id via yootheme_builder_pages_list.',
|
|
576
|
-
});
|
|
577
|
-
}
|
|
578
|
-
}
|
|
579
|
-
// Re-export write handlers so callers can import from this barrel.
|
|
580
|
-
export { handleElementAdd, handleElementClone, handleElementDelete, handleElementMove, handleElementSetStatus, handleElementUpdateSettings, handleScaffoldSection, } from './handlers-write.js';
|
|
581
|
-
//# sourceMappingURL=handlers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/tools/elements/handlers.ts"],"names":[],"mappings":"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"}
|